武汉理工大学《能力拓展训练》设计说明书
(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决
定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。
(2) VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查
验设计系统的功能可行性,随时可对设计进行仿真模拟。
(3) VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的
分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。 (4) 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合
和优化,并自动的把VHDL描述设计转变成门级网表。
(5) VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也
不必管理最终设计实现的目标器件是什么,而进行独立的设计。
2.2 MAX+PLUSⅡ
2.2.1 软件简介
MAX+PLUSⅡ(Multiple Array and Programming Logic User System)开发工具是Altera公司推出的一种EDA工具,具有灵活高效、使用便捷和易学易用等特点。Altera公司在推出各种CPLD的同时,也在不断地升级相应的开发工具软件,已从早起的第一代A+PLUS、第二代MAX+PLUS发展到第三代MAX+PLUSⅡ和第四代Quartus。使用MAX+PLUSⅡ软件,设计者无需精通器件内部的复杂结构,只需用业已熟悉的设计输入工具,如硬件描述语言、原理图等进行输入即可,MAX+PLUSⅡ就会自动将设计转换成目标文件下载到器件中去。MAX+PLUSⅡ开发系统具有以下特点
(1) 多平台。MAX+PLUSⅡ软件可以在基于PC机的操作系统如Windows95、
Windows98、Windows2000、Windows NT下运行,也可以在Sun SPAC station等工作站上运行。
(2) 开放的界面。MAX+PLUSⅡ提供了与其他设计输入、综合和校验工具的接口,
- 5 -
武汉理工大学《能力拓展训练》设计说明书
借口符合EDIF 200/300、LPM、VHDL、Verilog-HDL等标准。目前MAX+PLUSⅡ所支持的主流第三方EDA工具主要有Synopsys、Viewlogic、Mentor、Graphics、Cadence、OrCAD、Xilinx等公司提供的工具。
(3) 模块组合式工具软件。MAX+PLUSⅡ具有一个完整的可编程逻辑设计环境,包
括设计输入、设计处理、设计校验和下载编程4个模块,设计者可以按设计流程选择工作模块。
(4) 与结构无关。MAX+PLUSⅡ开发系统的核心——Compiler(编译器)能够自动完
成逻辑综合和优化,它支持Altera的Classic、MAX7000、FLEX8000和FLEX10K等可编程器件系列,提供一个与结构无关的PLD开发环境。 (5) 支持硬件描述语言。MAX+PLUSⅡ支持各种HDL设计输入语言,包括VHDL、
Verilog-HDL和Altera的硬件描述语言AHDL。
(6) 丰富的设计库。MAX+PLUSⅡ提供丰富的库单元供设计者调用,其中包括一些
基本的逻辑单元,74系列的器件和多种特定功能的宏功能模块以及参数化的兆功能模块。调用库单元进行设计,可以大大减轻设计人员的工作量,缩短设计周期。
2.2.2 软件组成
MAX+PLUSⅡ软件采用模块化结构,包括设计输入、项目处理、项目校验和器件编程4个部分,所有这些部分都集成在一个可视化的操作环境下。 (1) 设计输入
MAX+PLUSⅡ的设计输入方法有多种,主要包括文本设计输入、原理图输入、波形设计输入等多种方式。另外,还可以利用第三方EDA工具生成的网表文件输入,该软件可接受的网表有EDIF格式、VHDL格式及Verilog格式。MAX+PLUSⅡ是一种层次设计工具,可根据实际情况灵活地使用最适合每一层次的设计方法。 (2) 项目处理
设计处理的任务就是对项目进行编译(Compile),编译实际就是将设计者编写的设计改为可以用于生产的“语言”。编译器通过读入设计文件并产生用于编程、仿真和定时分析的输出文件来完成编译工作。MAX+PLUSⅡ提供的编译软件,只需简单的操作,如参数选择、指定功能等,就可进行网表转换、逻辑分割和布
- 6 -
武汉理工大学《能力拓展训练》设计说明书
线布局。 (3) 项目校验
MAX+PLUSⅡ提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设计无误,要再用专用软件进行仿真。如果发现了错误,则应对设计输入进行部分修改直至无误。 (4) 器件编程
MAX+PLUSⅡ通过编程器(Device Programmer)将编译器生成的编程文件编程或配置到Altera CPLD器件中,然后加入实际激励信号进行测试,检查是否达到了设计要求?Altera公司器件的编程方法有许多种,可通过编程器、JTAG在系统编程及Altera在线配置等方式进行。
在设计过程中,如果出现错误,则需要重新回到设计输入阶段,改正错误或调整电路后重复上述过程。
2.2.3 设计流程
使用MAX+PLUSⅡ进行可编程逻辑器件开发主要包括4个阶段:设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程,流程如图2. 1所示:
设计要求 设计输入 设计修改 编译处理 验证 器件编程 器件测试 系统产品 图2.1 设计流程图
- 7 -
武汉理工大学《能力拓展训练》设计说明书
第三章 系统分析
3.1数字频率计的设计任务及要求
设计一个四位十进制的数字频率计,要求具有以下功能: (1) 测量范围:1Hz~10kHz。 (2) 测量误差?1%。 (3) 响应时间?15s。 (4) 显示时间不少于1s。
(5) 具有记忆显示的功能,即在测量的过程中不刷新数据,等数据过程结束后才显示测量结果,给出待测信号的频率值,并保存到下一次测量结束。
3.2 模块的划分
根据系统设计要求,系统设计采用自顶向下的设计方法,系统的组成框图如图3. 1所示,包括时基产生与测频时序控制电路模块,以及待测信号脉冲计数电路模块和锁存与译码显示控制电路模块。
待测信号F_IN z1[0:6] EN 标准时钟 q[0:15] 时基产生与测频时序控制电路 待测信号 脉冲计 数电路 锁存与译码显示电路 z2[0:6] z3[0:6] z4[0:6] LOCK CLR CLK 图3.1 数字频率计的组成框图
(1) 时基产生与测频时序控制电路模块
- 8 -
武汉理工大学《能力拓展训练》设计说明书
时基产生与测频时序控制电路的主要产生计数允许信号EN、清零信号CLR和锁存信号LOCK。
(2) 待测信号脉冲计数电路模块
待测信号脉冲计数电路是对待测脉冲信号的频率进行测量,它可由4个十进制加法计数器组成,其中EN为计数选通控制信号,CLR为计数器清零信号。在计数器清零信号CLR清零后,当计数选通控制信号EN有效时,开始对待测信号进行计数。如果计数选通控制信号EN的宽度为1s,那么计数结果就为待测信号的频率;如果计数选通信号EN的宽度为100ms,那么待测信号的频率等于计数结果?10。
(3) 锁存与译码显示控制电路模块
锁存与译码显示控制电路用于实现记忆显示,在测量过程中不刷新新的数据,直到测量过程结束后,锁存显示测量结果,并且保存到下一次测量结束。
锁存与译码显示电路的功能是对四位BCD码进行锁存,并转换为对应的4组七段码,用于驱动数码管。
3.3设计分析
采用VHDL语言设计一个复杂的电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法进行设计。在顶层对内部各功能块的连接关系和对外的接口关系进行了描述,而功能块的逻辑功能和具体实现形式则由下一层模块来描述。各功能模块采用VHDL语言来描述。
- 9 -