数字频率计设计-毕业设计 联系客服

发布时间 : 星期六 文章数字频率计设计-毕业设计更新完毕开始阅读a38033b1c1c708a1294a4449

附录2: 软件的安装

MAX+PLUSⅡ软件按使用平台可以分为PC机版和工作站版;按使用的对象可以分为商业版、基本版和学生版。

商业版:支持全部输入方式和版本发行时间的除APEX系列外的所有Altera CPLD器件。商业版运行时需要一个授权码和一个附加的并口硬件狗。

基本版:在商业版的基础上作了一些限制,如不支持VHDL,不能进行功能仿真和时序仿真,不支持某些器件等。基本版不需要并口硬件狗,只需向Altera申请一个基本授权码即可使用。

学生版:支持商业版的全部功能,但可使用的逻辑功能模块受到限制,且只支持几个器件。若要安装学生版,应向Altera公司大学项目部申请学生版授权码。 MAX+PLUSⅡ几种版本的安装方法基本相同,基本安装步骤如下: 将光盘插入光驱(假定光驱号为F:)。

★ 选择[开始]/[运行],然后再打开对话框输入:F:\\PC\\maxplus2\\install,

运行后出现安装对话框,按Next按钮继续。

★ 阅读完授权窗口信息后,选择YES接受协议,再选择适当的安装方式,商

业版选择Full\\Custom\\FLEXlm,基本版或学生版选择BASELINE\\E+MAX。

★ 选择安装目录,假设选择的目录为C:\\Maxplus2,若要改变目录,则按

Browse按钮,选好目录后,即可开始安装。

★ 安装成功后,readme文件将自动出现,它包含一些重要信息。

★ 第一次运行MAX+PLUSⅡ,将会出现MAX+PLUS Ⅱ Manager(管理器)界面,

同时会在管理器窗口上出现License Agreement信息,选择其中的Yes选项。

★ 接着会出现Copy Protection窗口。选择“是(Y)”选项,将显示如何申

请免费版本的授权文件;如果有硬件狗或授权文件,选择“否(N)”选项,并将硬件狗插在计算机并口上。

★ 执行MAX+PLUSⅡ管理器中的菜单命令Option/License Setup,在对话框

中输入带路径名的授权文件名,然后单击OK按钮。

12

附录3: 软件组成

MAX+PLUSⅡ软件采用模块化结构,包括设计输入、项目处理、项目校验和器件编程4个部分,所有这些部分都集成在一个可视化的操作环境下。

★ 设计输入

MAX+PLUSⅡ的设计输入方法有多种,主要包括文本设计输入、原理图输入、波形设计输入等多种方式。另外,还可以利用第三方EDA工具生成的网表文件输入,该软件可接受的网表有EDIF格式、VHDL格式及Verilog格式。MAX+PLUSⅡ是一种层次设计工具,可根据实际情况灵活地使用最适合每一层次的设计方法。

★ 项目处理

设计处理的任务就是对项目进行编译(Compile),编译实际就是将设计者编写的设计改为可以用于生产的“语言”。编译器通过读入设计文件并产生用于编程、仿真和定时分析的输出文件来完成编译工作。MAX+PLUSⅡ提供的编译软件,只需简单的操作,如参数选择、指定功能等,就可进行网表转换、逻辑分割和布线布局。

★ 项目校验

MAX+PLUSⅡ提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设计无误,要再用专用软件进行仿真。如果发现了错误,则应对设计输入进行部分修改直至无误。

★ 器件编程

MAX+PLUSⅡ通过编程器(Device Programmer)将编译器生成的编程文件编程或配置到Altera CPLD器件中,然后加入实际激励信号进行测试,检查是否达到了设计要求?Altera公司器件的编程方法有许多种,可通过编程器、JTAG在系统编程及Altera在线配置等方式进行。

13

附录4: 设计流程

使用MAX+PLUSⅡ进行可编程逻辑器件开发主要包括4个阶段:设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程,流程如图所示:

设计要求 设计输入 编译处理 验证 器件编程 器件测试 系统产品 设计修改

14

附录5: 计数器模块代码

library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity frequency is

port(treset:in std_logic;--异步复位端口

tclk:in std_logic;--时钟输入 tsig:in std_logic;--信号输入

tkeep1:out std_logic_vector(3 downto 0);--计数值个位 tkeep2:out std_logic_vector(3 downto 0);--计数值十位

tkeep3:out std_logic_vector(3 downto 0));--计数值百位 end entity frequency;

architecture one of frequency is

signal tcou1:std_logic_vector(3 downto 0);--内部计数值个位 signal tcou2:std_logic_vector(3 downto 0);--内部计数值十位 signal tcou3:std_logic_vector(3 downto 0);--内部计数值百位 begin

ctrcou:process(treset,tclk)--控制计数功能的进程 begin

if treset='1' then

tcou1<=\

else

if tclk'event and tclk='1' then

if tsig='1' then--时基信号高电平为判断条件有效的时候遇到时 --钟上升沿触发 if tcou3=\

tcou3<=\如果百位为10,百位数值不变 else

if tcou1=\

15