Altera可编程逻辑器件开发软

上传人:人*** 文档编号:591424094 上传时间:2024-09-17 格式:PPT 页数:289 大小:4.55MB
返回 下载 相关 举报
Altera可编程逻辑器件开发软_第1页
第1页 / 共289页
Altera可编程逻辑器件开发软_第2页
第2页 / 共289页
Altera可编程逻辑器件开发软_第3页
第3页 / 共289页
Altera可编程逻辑器件开发软_第4页
第4页 / 共289页
Altera可编程逻辑器件开发软_第5页
第5页 / 共289页
点击查看更多>>
资源描述

《Altera可编程逻辑器件开发软》由会员分享,可在线阅读,更多相关《Altera可编程逻辑器件开发软(289页珍藏版)》请在金锄头文库上搜索。

1、第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 第第3章章 Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.1 概述概述 3.2 MAX+PLUS开发软件开发软件 3.3 Quartus开发软件开发软件 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.1 概概 述述 Altera公司在推出开发工具软件 : 早期的A+PLUS、 MAX+PLUS 目前的MAX+PLUS、 Quartus、 Quartus。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 MA

2、X+PLUS和Quartus具有完全集成化易学易用的可视化设计环境, 还具有工业标准EDA工具接口, 并可运行在多种操作平台上。 MAX+PLUS和Quartus提供了一种与结构无关的设计环境, 设计人员无须精通器件的内部结构, 只需运用自己熟悉的输入工具(如原理图输入或高级行为描述语言)进行设计, 就可通过MAX+PLUS和Quartus把这些设计转换为最终结构所需要的格式。 有关结构的详细知识已装入开发工具软件, 设计人员无须手工优化自己的设计, 因此设计速度非常快。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.1.1 设计软件流程图 使用M

3、AX+PLUS和Quartus软件开发可编程逻辑器件, 包括设计输入、 项目编译、 设计校验及器件编程等过程。 如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.1MAX+PLUS和Quartus的设计流程图第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 MAX+PLUS和Quartus提供了全面的逻辑设计能力, 设计人员可将文本、 图形和波形等设计方法自由组合, 建立起层次化的单器件或多器件设计。 编译过程完成最小化逻辑综合、 适配设计项目于单个器件或多个器件以及形成编程和配置数据等工作。 设计校验

4、包括功能仿真、 时序仿真、 影响速度的关键路径的延时预测以及多种系列器件混合使用的多器件仿真。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.1.2 MAX+PLUS开发软件简介1. 特点 MAX+PLUS是Multiple Array Matrix and Programmable Logic User System的缩写, 它提供了与结构无关的设计环境, 支持FLEX、 MAX及Classic系列器件, 目前已升级至版本。 MAX+PLUS具有开放的界面, 可与其它工业标准的EDA设计输入、 综合及校验工具相连接。提供与结构无关的设计环境, 支持

5、多平台工作, 既可以在Windows下运行, 也可在SunSPAC Stations、 HP9000 Series 700/800和IBM RISC System/6000工作站上运行。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 MAX+PLUS提供丰富的逻辑功能库供设计人员调用, 其中包括74系列全部器件的等效宏功能库和多种特殊的宏功能(Macro Function)模块以及参数化的宏功能(Magefunction)模块。 MAX+PLUS还具有开放核的特点, 允许设计人员添加自己的宏功能模块。 充分利用这些逻辑功能模块, 可以大大减轻设计的工作

6、量, 成倍缩短开发周期。 MAX+PLUS软件支持各种HDL语言设计输入, 包括VHDL、 Verilog HDL和Altera自己的硬件描述语言AHDL。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2. 设计流程 使用MAX+PLUS的设计过程包括以下几步。 如图所示: 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.2MAX+PLUS的设计流程第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 1) 输入设计项目逻辑设计的输入方法: 原理图形输入(.gdf)、 文

7、本输入(.vhd)、 波形输入(.wdf)及 第三方EDA工具生成的设计网表文件输入(.sch、 .edf、 .xnf)等。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2) 编译设计项目 首先, 根据设计项目要求设定编译参数和编译策略, 如选定器件、 锁定引脚、 设置逻辑综合方式等。 然后,对设计项目进行网表提取、 逻辑综合、 器件适配, 并产生报告文件(.rpt), 延时信息文件(.snf)和器件编程文件(.pof , .sof , .jed), 供分析、 仿真和编程使用。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑

8、器件开发软件 3) 校验设计项目 设计项目校验方法包括功能仿真、 模拟仿真和定时分析。 功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法, 称为前仿真。 通过功能仿真可以验证一个项目的逻辑功能是否正确。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 模拟仿真(时序仿真)是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法, 称为后仿真。不仅测试逻辑功能, 还测试目标器件最差情况下的时间关系。 通过时序仿真, 在设计项目编程到器件之前进行全面检测, 以确保在各种可能的条件下都有正确的响应。 定时分析用来分析器件

9、引脚及内部节点之间的传输路径延时、 时序逻辑的性能(如最高工作频率、 最小时钟周期等)以及器件内部各种寄存器的建立保持时间。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4) 编程验证设计项目 用MAX+PLUS编程器通过Altera编程硬件或其它工业标准编程器, 将经过仿真确认后的编程目标文件编入所选定的Altera可编程逻辑器件中, 然后加入实际激励信号, 测试是否达到设计要求。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2 MAX+PLUS开发软件 3.2.3.1 图形设计输入方法(步骤):1:

10、建立新文件 (1)在 File 菜单中选择 New, 将出现New对话框。 (2) 在New对话框中选择Graphic Editor File项, 然后按下OK按钮, 将会出现一个无标题的图形编辑器窗口。(3)执行filesaveas或保存工具,设置文件名。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.10在File菜单中选择New第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.11New对话框第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2:指定设计项目名称

11、 ( 注意: 每个设计必须有一个项目名, 并且要保证项目名与设计文件名一致。)(1) 在 File 菜单中选择Project Name项, 将出现如图所示Project Name对话框。 (2) 在Project Name框内键入你的设计项目名, 如test或带目录的文件名pldtest。 (3) 在Directories栏中选中max2workchiptrip或其它目录作为当前目录。 (4) 选择OK按钮, 则MAX+PLUS标题条会变成新项目的路径及名称。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.9指定项目名对话框第第3 3章章 Alt

12、era Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3. 输入图元和宏功能符号 (Max2workmaxlib 子目录下图元和宏功能符号库:Prim :altera的图元库,包括:逻辑门、缓冲器、触发器、锁存器、输入/输出端口等Mf:宏功能模块库,包括:74系列/总线/体系结构/特殊运用宏功能模块库等Mega_lpm兆功能模块库,包括:参数化模块库 Lmp/宏功能高级模块(如busmux、 csfifo、 cadram、 parallel-add等)和IP功能模块(如UARTs、 FFT、 FIR、 PCI等)。 Edif :edif接口库附常见图元名称:参见PRIM、MF库附常

13、见图元和宏功能符号名称:第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 Lpm-参数化 门单元模块:And与门 or或门 xor异或门 Bustri三态缓冲器 clshift逻辑移位器 constant常数产生器 decode解码器 inv反向器 busmux总线选择器 mux选择器 算术运算模块:abs绝对器运算 add_sub加/减法器 compare比较器 mult乘法器 存储器模块:ff D触发器 latch锁存器 rom ROM shiftreg移位寄存器 Csfifio先进先出队列 csdpram双口RAM ram_dq输入输出分开的参数化R

14、AM ram_io输入输出复用的参数化RAM 其它功能模块: pll锁相环电路 ntsc NTSC图象控制信号产生器 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.12MAX+PLUS图形编辑器窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.13输入Altera图元第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 在图形设计文件中输入图元和宏功能符号的步骤如下: 1) 输入Altera 图元的步骤如下: (1) 选择工具按钮有效时, 在图形编辑器窗口的空白处单

15、击鼠标左键以确定输入位置。 (2) 在Symbol菜单中选择Enter Symbol或单击鼠标右键并选择Enter Symbol, 或双击鼠标左键, 将出现一个Enter Symbol 对话框, 在Symbol Libraries框中双击选“.maxplus2max2libprim”。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3) 所有的Altera 图元以列表方式显示出来, 选择你想输入的图元, 然后双击或选择 OK按钮。 此时所选中的图元就出现在图形编辑器窗口中, 如图3.13 所示。 只要重复上述三步, 就可连续选取图元。 第第3 3章章

16、 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2) 输入74系列的符号步骤如下: 74 系列的符号的输入方法与图元的输入方法相似。 (1) 当Enter Symbol 对话框出现后, 在Symbol Libraries 对话框中双击选择“.maxplus2max2libmf”路径。 (2) 在 Symbol Files 对话框中选择需要的 74 系列符号, 然后双击或选择 OK按钮, 所选中的74 系列符号就出现在图形编辑器窗口中, 如图所示。 图中的74138就是所选中的74 系列符号。 如要连续选取74 系列器件, 则只要重复上述几步就可以了。 第第3 3章章

17、Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.14输入74系列符号第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3) 输入 LPM 符号的步骤如下: LPM(Library Parameterized Megafunction)符号的输入方法与前两种符号的输入方法相似。 (1) 在Enter Symbol对话框出现后, 在Symbol Libraries框中双击选择 “.maxplus2max2libmega-lpm”路径。 (2) 在 Symbol Files 框中选择需要的 lpm 符号, 然后点击 OK按钮, 或双

18、击选择需要的 lpm 符号。 此时lpm 符号就出现在图形编辑器窗口中, 并出现输入参数对话框, 如图3.15 所示。 输入需要的参数后点击OK按钮。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.15lpm符号输入参数对话框第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3) 在图形编辑器窗中双击lpm符号的参数框 (位于符号的右上角), 也出现lpm符号参数对话框, 可输入或改变参数。 在Port Status 框中选择 Unused , 可将不需要的信号去掉。 (4) 也可利用MegaWizard

19、Plug In Manager 输入宏功能符号和LPM库函数。 如输入一个存储器的步骤如下: 在图形编辑器窗口空白处双击鼠标左键, 出现Enter Symbol对话框后点击MegaWizard PlugIn Manager按钮, 或在File菜单中选择MegaWizard Plug In Manager项, 然后选中Create a new custom megafunction variation, 再点击Next按钮。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 在Available Megafunctions 列举中点击“+”按钮, 扩展sto

20、rage文件夹, 然后选择 LPM-ROM, 在右边的对话框中输入你所希望的输出文件名和类型, 如rom和AHDL,如图所示。 在其后的address input bus宽度输入8, q output bus宽度输入4, 输出符号名为rom, 其它为缺省值, 然后点击OK按钮。 在所希望的地方点击左键插入rom符号。 一个新名为rom的符号出现在图形编辑器窗中, 双击rom符号, 还可对具体参数进行编辑。 用户以后就可以直接调用该符号了。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.16MegaWizardPlugInManager窗口第第3

21、3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4. 连线方法一:可将鼠标移到其中一个端口, 这时鼠标自动变为“+”形状, 然后可按以下步骤操作: (1) 一直按住鼠标的左键并将鼠标拖到第二个端口。 (2) 放开左键, 则一条连接线被画好了。 (3) 如果需要删除一根连接线, 单击这根连接线并按 Del 键即可, 如图所示。 方法二:单击工具三画直线第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.17连线图第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 5. 为引脚和节点命名1

22、) 放置输入引脚和输出引脚 ( 注意: 放置输入引脚和输出引脚的方法与图元的输入方法相似) 在图形编辑器窗口的空白处单击鼠标左键以确定输入位置, 然后在Symbol菜单中选择Enter Symbol或双击鼠标左键, 将出现一个Enter Symbol 对话框。 只要在Enter Symbol对话框中键入Input(Output), 然后选择 OK按钮, 符号INPUT(OUTPUT)就出现在图形编辑器窗口中。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (注意:如果要重复放置同一符号或器件, 用复制的方法, 可提高图形输入的效率。 法一:将符号选中利

23、用edit中的copy命令进行复制,然后粘贴。 法二:是将鼠标放在所要复制的符号或器件上, 按下Ctrl键和鼠标左键不放, 拖曳鼠标至所需要的位置, 这样就完成了符号或器件的复制。) 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2) 为引脚命名 在引脚上的PIN-NAME处双击鼠标左键, 然后输入指定的名字。 3) 为连线命名 点击鼠标左键选中需命名的线, 然后输入名字。 对 n 位宽的总线 A 命名时, 可以采用 An 1.0 形式, 其中单个信号用 A0, A1, A2, , An 形式 。 第第3 3章章 Altera Altera可编程逻辑器

24、件开发软件可编程逻辑器件开发软件 图3.194位计数器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 约翰逊六进制计数器约翰逊六进制计数器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.183线8线译码器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 6. 图形编辑选项 在图形编辑窗口中的Options菜单中列出了一些图形编辑时的选项, 如图所示, 包括文本的字型(Font)、 大小控制(Text Size)、 线形(Line Style)、 显示任务、 网络控制等,

25、设计时用户可根据需要进行选择。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.20图形编辑选项第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 7. 保存文件并检查错误 在设计过程中, 如需要保存新文件或将文件重新命名, 选择 File 菜单中的 Save As 项, 将出现Save As对话框, 如图所示 。 在 File Name 对话框内输入设计文件名, 然后点击 OK 按钮即可保存文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.21SaveAs对话框

26、第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 若是为了保证输入逻辑的正确性, 可将此逻辑文件保存起来并进行错误检查。 其具体操作步骤如下: (1) 在File 菜单中选择 Save & Check命令项或工具17, 该文件就被保存起来, 同时MAX+PLUS编译器窗口打开。 编译器网表提取器模块检查该文件的错误, 更新层次结构的显示, 同时给出错误和警告数目的信息等, 如图所示。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.22MAX+PLUS编译器窗口及消息处理器窗口第第3 3章章 Altera Al

27、tera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2) 选择“确定”按钮。 如果Save & Check命令执行成功, 无错误和警告信息, 就选择编译器标题条右侧的关闭按钮或双击编译器标题条左侧的编译器图标, 关闭编译器窗口, 返回到图形编辑器窗口。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3) 如果编译器发出了错误和警告信息, 可在消息处理器窗口中点击Message按钮选择一条消息, 通过选择定位(Locate)或双击该条消息来找到消息的产生地方。 用户还可选择Help on Message功能得到有关的解释, 这样就可以定位设计文件中

28、的错误并加以改正。 接下来再次执行Save & Check命令, 直到无错误和警告信息。 如果消息处理器窗口没有自动显示出来, 可选择菜单命令Message Processor来打开消息处理器窗口。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 8. 创建一个默认的逻辑符号 对于一个经过保存且检查没有错误的设计文件, 可以创建一个代表该文件的符号文件(.sym)。 该符号就像其它符号(如74138)一样, 可被其它图形设计文件(.gdf)调用。 (1) 在 File菜单中选择 Create Default Symbol 项, 即可创建一个默认的逻辑符号

29、。 该符号可被高层设计调用。 (2) 若选择File菜单中的 Create Default Include File项, 则可创建一个默认的逻辑文件(.inc)供其它AHDL文本设计文件调用。 (3) 可以通过选择File菜单中的Symbol命令编辑所选符号。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.23模12同步计数器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 9. 关闭文件 如果要关闭文件, 选择File菜单中的Close命令, 或用鼠标左键单击图形编辑器右上角的关闭按钮来关闭图形编辑器窗口。

30、第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.24同步脉冲分配器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.3.2文本设计输入方法MAX+PLUS支持AHDL、VHDL和VerilogHDL等硬件描述语言。AHDL是AlteraHardwareDescriptionLanguage的缩写,它是一种高级硬件行为描述语言,该语言可以使用布尔方程、算术关系运算表达式、真值表、条件语句等方式进行描述,适合于大型的、复杂的状态机设计。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻

31、辑器件开发软件 VHDL和VerilogHDL是符合IEEE标准的高级硬件行为描述语言,也都适合于大型的、复杂的设计。这些语言都是用文本来进行设计,它们的输入方式既有共同之处,又各有特点,设计人员可根据实际情况选择使用。例如,利用AHDL语言进行文本设计7段数码管的方法如下:第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (1)在File菜单中选择ProjectName项,键入设计项目名称,如led7segm,然后点击OK按钮。(2)在File菜单中选择New,然后选择TextEditorFile,点击OK按钮后打开一个无标题的TextEditor窗口。

32、若有必要,可点击Maximize按钮,使文本编辑器窗口变为最大。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)在File菜单中选择SaveAs,然后在FileName框内键入7segm.tdf,点击OK按钮,这时文本编辑就变成了以7为文件名的编辑窗,在该窗口中就可以输入AHDL语言程序了。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4)AHDL语言的输入格式如图所示。在AHDL文件的开头是一个以Subdesign开头的说明输入和输出的说明区,紧接着是文件名7segm,特别要注意的是必须保证这里的文件名

33、与(3)中的文件名一致,接下来的括号中是输入或输出引脚说明。四个二进制输入是i0,i1,i2,i3;7段码的输出是a,b,c,d,e,f,g,这两行后面的INPUT、OUTPUT表示数据流向,信号和数据流向用冒号隔开,信号间用逗号分开,每行用分号结束。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 接下来的是以Begin开头的功能描述,内容可以是布尔代数、条件语句或真值表等,此例选择真值表输入。用字符串Table为先导,第一行为输入信号对应的七段码的真值表说明,从第二行开始是真值表的值。若7段码为共阳极,则低电平驱动数码管;若为共阴极,则高电平驱动数码管

34、。本例选择共阴极。用“EndTable;”结束真值表输入, 最后用“End;”结束AHDL语言程序。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.257段LED的译码器7segm.tdf第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (5) 保存并检查语法错误, 在File 菜单中选择 Save & Check命令项, 直到无错误和警告信息, 并切换回文本编辑窗口。 (6) 创建一个默认的逻辑符号。 在 File菜单中选择 Create Default Symbol 项, 并点击OK按钮, 就产生了7符号文

35、件, 供将来在顶层图形文件中调用。 (7) 选择File菜单中的Close命令, 关闭7segm.tdf。 一个用AHDL语言编写的设计文件就完成输入了。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.3.3 创建顶层设计文件 MAX+PLUS支持层次化设计输入方法, 其主要思想是: (1) 当前设计项目文件为顶层设计文件。 (2) 顶层设计文件中调用的符号所代表的文件为底层设计文件。 (3) 顶层设计文件可通过打包(即在File菜单中选择 Create Default Symbol 项)的方法降为底层设计文件, 供其它顶层设计文件调用。 第第

36、3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4) 在同一设计项目中, 允许顶层及底层设计单向调用底层设计符号, 不允许顶层文件与符号文件之间及符号文件与符号文件之间的直接相互调用或间接相互调用, 也不允许顶层文件或任一符号文件自身递归调用。 (5) 在同一设计项目中, 顶层设计文件名及各底层设计符号所对应的设计文件名必须是唯一的。 例如, 不允许同时存在7和7两个设计文件。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (6) 在同一设计项目中的各个设计文件都可以重新编辑、 修改、 保存、 打包。 在重新打包之

37、后, 应在调用该符号文件的上一层设计文件中更新该符号并保存。 (7) 硬件描述语言设计文件通过调用包含文件的方法实现层次化设计输入, 此时应通过建立默认符号的方法形成顶层文件。 顶层设计文件就是把一个设计的各个模块放在一起, 形成一个便于阅读的图形形式。 如图所示, 该电路的模块都是采用前面所创造的符号, 每个模块都包含着各自的实现电路。双击各个模块就显示各自的实现电路。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.26顶层设计文件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.3.4 层次显示

38、层次显示方式就是以一个层次树的形式显示整个项目和电路的设计文件。 打开层次显示方法1: 从MAX+PLUS菜单中选择Hierarchy Display项 方法1: 工具10。 一个项目的层次就显示出来了。 ( 注意:层次中的每个文件都可以通过双击文件名打开, 并带到前台来显示。)图为图顶层设计文件的层次显示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.27层次显示第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 上面介绍的几种设计输入方法各有优缺点,适用于不同的场合,设计人员可根据需要灵活使用,使设计达到最

39、佳效果。另外,有些命令除了菜单项外还有快捷键方式,使用快捷键可提高速度,在实际操作中可慢慢熟练掌握。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.3.5 编辑用户库 MAX+PLUS允许设计人员对用户库进行编辑。方法: 在Options菜单中选择User Libraries., 这时就会出现用户库编辑框。 想要加入一个新的用户库, 可以在Directory name输入框中直接键入用户库所在的路径和名称, 然后点击Add按钮, 或者通过Directories和Drives对话框确定所要加入的用户库。 如果想要改变用户库在列表中的先后次序, 可以

40、通过点击Up或Down按钮来完成。 Delete按钮用于删除已选中的库。 点击OK按钮即完成用户库的编辑。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.4 设计项目的编译 使用MAX+PLUS编译器编译设计项目时, 编译器将进行错误检查、 网表提取、 逻辑综合、 器件适配, 并产生仿真文件、 定时分析文件和编程配置文件。 MAX+PLUS编译器既能接受多种输入文件格式, 又可输出多种文件格式。 它能接受的输入设计文件包括MAX+PLUS自己的图形文件(.gdf)、 AHDL文件(.tdf)、 VHDL文件(.vhd)。第第3 3章章 Alte

41、ra Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 第三方EDA工具输入文件包括EDIF文件(.edf)、库映射文件(.lmf)、OrCAD文件(.sch)及Xilinx文件(.xnf),赋值和配置文件(.acf)。MAX+PLUS编译器的输出文件包括设计校验文件、MAX+PLUS的模拟器网表文件(.snf)、第三方EDA工具所使用的网表文件(.vo)和标准格式的SDF文件(.sdo),另外产生的编程配置文件,包括用于编程器的目标文件(.pof)、用于在线配置的SRAM目标文件(.sof)和JEDEC文件(.jed)。下面是使用MAX+PLUS编译器编译的过程。第第3 3章章 Al

42、tera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.4.1 编译前准备1. 打开编译器窗口 (1) 在 MAX+PLUS菜单内选择Compiler 项或工具12, 则出现编译器窗口, 如图所示。 (2) 选择 Start按钮即可开始编译, MAX+PLUS编译器将检查项目是否有错, 并对项目进行逻辑综合, 然后配置到一个 Altera 器件中, 同时将产生报告文件、 编程文件和用于时间仿真用的输出文件。 (3) 但是在开始编译前, 还必须设定一些其它的选项。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.28编译窗口第第3

43、3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2. 选择一个器件 首先, 设计人员需要为项目指定一个器件系列, 然后设计人员可以自己选择某个具体的器件, 也可以让编译器在该器件系列内自动选择最适合设计人员项目的器件。 确定器件系列的步骤如下: (1) 在Assign菜单内选择Device项, 将出现Device对话框, 如图 3.29 所示。 (2) 在Device Family框中选择一个器件系列。 (3) 在Devices框中选择某一器件或选择AUTO, 让MAX+PLUS 为你选择一个器件。 (4) 点击OK按钮。 第第3 3章章 Altera Alte

44、ra可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.29选择器件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3. 打开设计规则检查工具 编译时, 可选的设计规则检查(Design Doctor)工具将检查项目中所有设计文件, 以发现在器件编程时可能存在的可靠性不好的逻辑。 打开Design Doctor并为其指定一系列设计规则的步骤如下: (1) 从Processing菜单中选择Design Doctor项, 在菜单中该选项的边上就出现一个确认标记, 并且Design Doctor的图标将显示在Complier窗口的Logic Synthesiz

45、er模块下方。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2) 从Processing菜单中选择Design Doctor Setting项, 如图所示。 (3) 对于MAX7000系列, 选择EPLD Rules(EPLD规则), 然后点击OK按钮。 (4) 若不再需要设计规则检查, 就再次从Processing菜单中选择Design Doctor项, 即关闭设计规则检查工具。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.30设计规则检查设置第第3 3章章 Altera Altera可编程逻辑器件

46、开发软件可编程逻辑器件开发软件 4. 打开保密位 MAX+PLUS允许设计人员为项目中的所有器件指定默认的保密位设置, 保密位能防止一个器件被探测(being interrogated)或被无意地重新编程。 (1) 在Assign菜单中选择Global Project Device Options菜单, 出现如图所示对话框。 (2) 如有必要, 选中Security Bit(保密位), 然后点击OK按钮。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.31保密位设置第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发

47、软件 5. 管脚分配(适用于:设计人员自己选择的芯片) Altera 推荐让编译器自动为设计人员的项目进行管脚分配, 但如果设计人员需要自己分配管脚时, 请按以下步骤进行: (1) 首先确定设计人员已经选择了一种器件。 (2) 在 Assign Menu菜 单 中 选 择 Pin/Location/Chip项, 出现如图所示对话框。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.32管脚分配第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3) 在 Node Name 框内输入管脚的名字。 (4) 在 Ch

48、ip Resource 对话框内选择管脚并输入管脚的序列数。 (5) 点击Add按钮。 (6) 设计人员分配的管脚将出现在左下方框内。 (7) 点击 OK按钮。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 6. 选择一种全局逻辑综合方式 默认的逻辑综合方式是常规(NORMAL), 该方式的逻辑综合优化目标是让整个设计占用最少的逻辑单元。 选择全局逻辑综合方式的步骤如下: (1) 在 Assign Menu 菜单内选择Global Project Logic Synthesis项, 将出现如图所示的Global Project Logic Synthe

49、sis 对话框。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.33选择全局逻辑综合方式第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2) 在 Global Project Synthesis Style 下拉列表中选择设计人员需要的方式。 缺省(Default)的逻辑综合方式是NORMAL。 综合方式FAST 可以改善项目性能, 但通常使设计人员的项目配置变得比较困难。 综合方式WYSIWYG(所见即所得)的逻辑综合量最小。 (3) 可以在010之间移动Optimize(优化)栏中的滑块, 移到0时,

50、 最优先考虑占用器件的面积; 移到10时, 系统的运行速度得到最优先考虑。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4) 对 MAX 器件进行多级综合。 对于 MAX (乘积项)器件, 设计人员可以选择多级综合, 充分利用所有可使用的逻辑选项。 这种逻辑综合方式用于处理含有特别复杂的逻辑项目, 而且配置时不需要用户干涉。 对于 FLEX 器件, 这个选项自动有效, 如图所示。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.34多级综合方式第第3 3章章 Altera Altera可编程逻辑器件开发

51、软件可编程逻辑器件开发软件 7. FLEX 器件的进位/级联链 进位链提供逻辑单元之间非常快的向前进位功能。 利用级联链可以实现扇入很多的逻辑函数。 ( 注意: 如选择FAST 综合方式, 则进位/级联链选项自动有效。) 按如下步骤可人工选择该选项是否有效: 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.35FLEX器件的进位/级联链第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (1) 在 Global Project Logic Synthesis 对话框内选择 Define Synthesis Sty

52、le 项, 将出现如图所示Define Synthesis Style 窗口。 (2) 如需使用进位链功能, 则从Carry Chain下拉菜单中选择 Auto。 (3) 如需使用级联链功能, 则从Cascade Chain下拉菜单中选择Auto。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 8. 设置定时要求 设计人员可以对整个项目设定全局定时要求, 如传播延时、 时钟到输出的延时、 建立时间和时钟频率。 (注意:对于FLEX10K、 FLEX8000和FLEX6000系列器件, 定时要求的设置将会影响项目的编译。) 用户可以按如下步骤设置定时要求

53、: (1) 在 Assign Menu菜单内选择 Global Project Timing Requirements项, 将出现如图所示Global Project Timing Requirements 对话框。 (2) 在相应的对话框内输入设计人员对项目的定时要求, 然后点击 OK 按钮。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.36设置定时要求第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 9.打开功能仿真器与定时模拟器网表文件提取器MAX+PLUS支持编译器功能仿真(前仿真)和模拟仿真(后仿

54、真)。若要进行功能仿真,则须选择Processing菜单中的FunctionalSNFExtractor命令,打开功能仿真器网表文件提取器;若要进行定时模拟仿真,则须选中Processing菜单中的TimingSNFExtractor命令,打开定时模拟器网表文件提取器,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.37功能仿真器与定时模拟器网表文件提取器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (注意:MAX+PLUS编译器能创建一个仿真/模拟器网表文件(.snf), 该文件包含了许多逻辑信

55、息和时间信息, 并被用作MAX+PLUS的模拟器(Simulator)和定时分析器(Timing Analyzer)的输入。 定时模拟器网表文件是一个二进制文件, 它包含了模拟、 延时预估和定时分析所需要的逻辑与定时信息。) 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 10. 指定在报告文件中需要产生的部分 MAX+PLUS编译器适配(Fitter)模块产生报告文件(.rpt), 它显示出所编译的项目使用器件资源情况。 用户可以为编译器指定报告文件中应当包含的信息, 操作步骤如下: (1) 在Processing菜单中选择Report File Se

56、ttings项, 将出现Report File Settings对话框, 如图所示。 (2) 默认情况下, 报告文件中所有部分都被打开。 如果某些部分还没有打开, 就选中ALL项, 然后点击OK按钮。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.4.2 运行编译器 在 Processing 菜单下, 还有一些会对编译产生一定影响的选项, 如图所示。 运行编译器的过程如下: (1) 在编译器(Compiler)窗口中选择Start开始编译。 在编译器编译设

57、计项目期间, 所有的信息、 错误和警告将在自动打开的信息处理窗口中显示出来。 如果有错误发生, 选中该错误信息, 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.39设置选项对编译的影响第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 然后按下locate按钮, 就可找到该错误在设计文件中所处的位置, 通过点击信息处理器窗口中的Help on Message按钮, 显示该信息产生的原因和解决该问题应做的工作。 当编译器的Partitioner(划分)和Fitter(适配)模块处理项目时, Stop按钮将会变成S

58、top/Show Status按钮。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2) 此时, 若选择编译器窗口中的Stop/Show Status按钮, Partitioner/ Fitter Status对话框就会显示出来。 该对话框中列出设计项目中的所有芯片以及当前对它们进行适配的状态, 如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.40划分和适配状态第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3) 在Partitioner/ Fitter

59、Status对话框中选择Continue Compilation按钮继续进行编译。 编译是在后台进行的, 对于小项目编译时间很短, 但是, 如果对一个比较大或者复杂的项目进行编译, 所需时间就较长, 用户可以在开始编译后转到别的应用程序继续工作。 编译结束后, 那些由编译器产生的代表输出文件的图标将会出现在各模块框的下面, 用户可以通过双击适当的图标来打开这些输出文件。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4) 阅读报告文件。 报告文件一般包含两种类型的信息: 项目信息(如器件列表、 项目编译信息、 文件层次结构信息)和器件信息(如资源使用

60、、 布线资源、 逻辑单元互连等)。 用户可直接从编译器窗口中打开当前编译所产生的报告文件。 打开报告文件的方法是在Compiler窗口中的报告文件图标上双击鼠标左键, 报告文件就显示在文本编辑器窗口中。 阅读完报告文件后, 关闭文本编辑器并回到Compiler窗口中, 然后关闭Compiler窗口。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.4.3 在底层平面图编辑器中观察适配结果(适用于:设计人员自己选择的芯片,且自己分配管脚) 可以在底层平面图编辑器(Floorplan Editor)中观察编译器的划分和适配结果, 并对项目的器件资源进

61、行编辑和修改。 1. 打开底层平面图编辑器窗口 打开底层平面图编辑器窗口的方法是在MAX+PLUS菜单中选择Floorplan Editor项, 底层平面图编辑器被打开并显示出当前设计项目所选定的器件, 如图所示。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.41底层平面图编辑器第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2. 选择视图显示方式 底层平面图编辑器提供两种显示方式, 即器件视图和逻辑阵列块(LAB)视图。 器件视图显示器件封装的所有引脚以及它们的功能。 LAB视图显示器件内部所有的逻辑阵

62、列块结构, 对于某些器件封装LAB视图还显示出引脚的位置。 通过选择菜单命令Layout/View Device来选择器件视图, 通过选择菜单命令Layout/View LAB来选择逻辑阵列块视图。 通过双击视图区的方法在器件视图和逻辑阵列块视图之间切换。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3. 显示最后一次编译所生成的底层平面图 在Layout菜单下选择Last Compilation Floorplan项, 底层平面图编辑器将显示由最后一次编译所生成的不可编辑(只读)视图, 该视图被存储在适配文件中。 任何不合法的分配都将被高亮度显示在

63、未分配的节点和引脚列表中。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4. 编辑适配结果 在底层平面图编辑器中编辑适配结果的方法称为后配置。 该方法是在底层平面图编辑器中选择菜单Assign中的Back Annotate(回注编译结果, 即将上一次产生的器件及资源情况拷贝到原始的设计中), 然后可对回注结果进行编辑、 修改; 再通过选择Layout菜单中的Current Assignments Floorplan项, 即允许设计人员在底层平面图编辑器中编辑修改当前的分配(存放在分配与配置文件(.acf)中)。第第3 3章章 Altera Altera

64、可编程逻辑器件开发软件可编程逻辑器件开发软件 底层平面图编辑器提供项目中未被分配的节点和引脚名字列表, 每个名字边上都带有一个把柄, 将这一把柄用鼠标拖到器件视图或逻辑阵列块视图中的单个引脚、 逻辑单元或I/O单元上, 也可以将一个已分配的节点或引脚拖回到未分配节点和引脚列表中, 或拖到器件的不同位置上。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.4.4 引脚锁定(适用于:设计人员自己选择的芯片,且自己分配管脚,在编辑适配结果以后) 在前面的图形编辑窗口中仅仅对输入/输出引脚作了名称的定义, 但没有对输入/输出引脚规定在器件中的具体引脚号码

65、。 规定引脚号码称为引脚锁定, 其操作方法如下: (1) 在底层平面图编辑器中(两种视图的任何一种)用鼠标的左键选中输入或输出引脚符号, 在Assign下拉菜单中选择Pin/Location/Chip项, 出现Pin/Location/Chip对话框;或者用鼠标的右键选中输入或输出引脚符号, 出现下拉菜单, 在Assign中选择Pin/Location/Chip项,这样也会出现Pin/Location/Chip对话框,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.42引脚锁定第第3 3章章 Altera Altera可编程逻辑器件开发软

66、件可编程逻辑器件开发软件 (2) 在Chip Resource窗口中选中Pin, 键入要定位的引脚号码, 然后在Pin type中选择输入或输出。 如果输入的号码不是I/O引脚, 返回将会出现错误信息。 (3) 如有必要, 可选用Assign Device项重新规定器件, 然后再次执行Save & Compile命令, 完成配置过程。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.5模拟仿真和定时分析设计输入和编译仅仅是整个设计过程的一部分,成功的编译只能保证为项目创建了一个编程文件,并不能保证该项目将完全按照所期望的那样工作。仿真的目的就是为

67、了对所设计项目的正确与否进行验证,在项目编程到器件之前进行全面检测,以确保所设计的功能在各种可能的条件下都是正确的。仿真是整个设计过程中很重要的一环,除非是设计人员特别熟悉的小设计,可以跳过这一过程,对于新的、复杂的大设计都必须进行仿真。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 仿真为设计人员提供最快最容易的项目验证方法,既省时又省力,否则器件编程完后,在实际电路工作中出现问题,然后再对整个设计进行修改,那就比较麻烦了。许多初学者误以为学习仿真是一个很慢很难的过程而不愿意去学,其实,学习用MAX+PLUS进行仿真与学习设计输入和编译一样容易。第第3

68、 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 仿真包括功能仿真和模拟仿真。功能仿真又称前仿真,是在不考虑器件延时的理想情况下仿真设计项目的一种验证方法。通过功能仿真可验证一个项目的逻辑功能是否正确。模拟仿真(时序仿真)又称后仿真,是在考虑设计项目的具体适配器件的各种延时情况下仿真设计项目的一种项目验证方法。时序仿真不仅可测试逻辑功能,还可测试目标器件在最差情况下的时间关系。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 在模拟仿真过程中,需要给MAX+PLUS仿真器提供输入向量,仿真器将产生与这些输入激励信号相对应的输

69、入信号。仿真结果将与实际的可编程逻辑器件在同一条件下的时序关系完全相同。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.5 模拟仿真和定时分析 1. 创建一个仿真器通道文件 (1) 打开波形编辑器窗口, 从File菜单中选择New, 在对话框中选择Waveform Editor File,并从下拉列表中选择.scf扩展名, 然后点击OK按钮, 即可创建一个新的无标题文件, 如图所示。 (2) 从File菜单中选择End Time, 键入仿真的时长值如1 s, 然后点击OK按钮, 则设置了仿真文件的结束时间, 如图所示。 第第3 3章章 Alter

70、a Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.43波形编辑器窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.44设置结束时间第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3) 从Options菜单中选择Grid Size , 键入时间轴网格大小值如20 ns, 然后点击OK按钮, 则设定了时间轴网格大小, 通常用网格大小来表示信号状态的基本维持时间, 如图所示。 如有必要, 从Options菜单中选择Show Grid, 竖直网线就会以20 ns的间隔显示在波形编辑器窗口中。第第

71、3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.45设置时间轴网格第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4) 从Node菜单中选择Enter Nodes from SNF, 或在窗口内的空白区单击鼠标右键, 则出现Enter Nodes from SNF对话框, 如图所示(前提要求是已对设计项目进行了输入和编译)。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.46节点输入对话框第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件

72、开发软件 (5) 如仅选择Type中的Inputs和Outputs项, 点击List按钮, 则在Available Nodes & Groups栏内列出所有的Inputs和Outputs节点。 (6) 按住Ctrl键, 点击Available Nodes & Groups栏中所需要观察的节点, 或者按住鼠标左键, 在节点上拖动可连续选择节点, 然后选择右箭头, 则将已选中的节点拷贝到Selected Nodes & Groups栏。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (7) 点击OK按钮, 所选的节点刷新波形编辑器。 在这里, 所有未编辑的输

73、入节点波形都默认为低逻辑电平, 而所有输出和隐含节点波形都默认为未定义(X)逻辑电平, 如图所示。 (8) 对波形编辑器中的节点可以进行添加和重新排列顺序, 用鼠标点击后, 就可拖到不同的位置, 也可以按Delete键将节点删除。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.47编辑仿真器通道文件节点波形第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (9) 编辑输入节点波形。 通过编辑输入节点的激励波形为仿真器提供输入向量。 在对某一项目进行仿真时, 根据项目设计输入的原理, 仿真器对输入节点的逻辑电平

74、进行计算, 会得出隐含节点和输出节点的逻辑电平。 因此, 根据项目设计的要求, 设计人员可对每一个输入节点的激励波形自己进行编辑。 在图中, 左边的一些工具按钮就是编辑波形的, 首先用鼠标选中要编辑的输入节点名(全选该节点的波形)或节点中的一段波形, 然后根据需要点击左边的高、 低电平或时钟工具按钮, 可得到任意的数字信号, 完成激励波形的输入。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (10) 保存文件。 选择FileSave As, 在File Name框中自动出现默认的当前项目名, 扩展名为.scf, 然后点击OK按钮来保存文件, 如图所示

75、。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.48仿真通道文件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 . 运行仿真器 1) 打开仿真器窗口 在MAX+PLUS菜单中选择Simulator, 即打开仿真器, 并自动装载当前项目的仿真器网表文件和上面刚创建的与当前项目同名的仿真器通道文件(.scf), 如图所示。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.49仿真器窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开

76、发软件 2) 设置仿真时间 在Start Time对话框中输入仿真器起始时间, 在End Time对话框中输入仿真器终止时间, 二者都应处于.scf文件所设置的时间范围内, 如按前面的设置应小于等于1 s, 并且终止时间应大于起始时间。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3) 进行仿真 按下Start按钮, 即开始仿真当前项目。 在仿真过程中进度指示条将朝着100%的方向移动, 仿真过程在后台进行, 仿真输出逻辑电平将记录在.scf文件中。 如果.scf文件所在的波形编辑器窗口是打开的, 则可以看到仿真输出波形的更新过程, 但这会降低仿真速度

77、。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3. 分析仿真结果 在仿真器窗口中选择Open SCF, 即打开当前项目的.scf文件, 使用波形编辑器窗口周围的图形缩、 放、 前景按钮及滚动条可详细观察波形。 如果输出结果不正确, 就要对设计进行修改, 直到满足设计要求为止。 有经验的设计人员都要用多组输入来多次仿真他们的设计, 以得到期望的设计结果。 这就要求重新编辑修改输入激励信号波形并重复仿真该设计项目。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4. 定时分析 1) 启动定时分析工具 编译完成后,设

78、计人员可以利用定时分析器来分析设计项目的性能。 定时分析器提供了三种分析模式, 如表所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 表3.1定时分析器的三种分析模式分析模式说明延迟矩阵分析多个源节点和目标节点之间的传播延迟路径时序逻辑电路性能分析时序电路的性能,包括限制性能的延迟,最小的时钟周期和最高的电路工作频率建立保持矩阵计算从输入引脚到触发器、锁存器和异步RAM的信号输入所需的最少的建立时间和保持时间第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2) 传播延迟分析 如 果 在 打 开 定 时 分 析

79、器 窗 口 时 Delay Matrix分析模式没有自动打开的话, 则在 Analysis菜单中选择Delay Matrix项, 然后点击 Start按钮, 则定时分析器立即开始分析设计人员的当前项目并计算项目中每对连接的源节点(输入引脚)和目标节点(输出引脚)之间的最大和最小传播延迟, 如图所示。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.50传播延迟分析第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3) 时序逻辑电路性能分析 在 Analysis 菜 单 内 选 择 Register Perfor

80、mance项, 然后点击Start按钮, 就开始进行时序逻辑电路性能分析, 如图所示。 4) 建立和保持时间分析 在 Analysis菜单中选择 Set/Hold Matrix项, 然后点击 Start按钮, 开始进行建立/保持时间分析, 如图所示。 第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.51时序逻辑电路性能分析第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.52建立和保持时间分析第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.2.6器件编程Alte

81、ra可编程逻辑器件的编程可通过编程器、JATG在线编程及Altera在线配置等三种方式进行。1.打开编程器窗口首先确认编程器硬件已安装好,在MAX+PLUS菜单中选择Programmer项,则打开编程器窗口,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.53编程器窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.利用Altera编程器对MAX和EPROM系列器件进行编程(1)在Options菜单内选择HardwareSetup项,然后在HardwareType对话框内的下拉菜单选项中内选择适

82、当的Altera编程连接硬件,最后点击OK按钮,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.54Altera编程器硬件设置窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)在编程器窗口中检查设计人员选择的编程文件和器件是否正确。在对MAX和EPROM器件进行编程时,要用扩展名为.pof的文件。如果选择的编程文件不正确,可在File菜单中选择SelectProgrammingFile命令来选择你的编程文件。(3)将编程目标器件插到编程插座中。(4)点击Program按钮,编程器将检查器件并

83、将设计项目编程到器件中,而且还将检查器件中的内容是否正确。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.通过JTAG实现单器件在线编程一个编程目标文件(.pof)可以通过ByteBlaster或其它连接电缆直接编程到器件中,其过程如下:(1)编译一个项目,MAX+PLUS编译器将自动产生用于MAX器件的编程目标文件。(2)将ByteBlaster电缆的一端与微机的并行口相连,另一端10针阴极头与装有可编程逻辑器件的PCB板上的阳极头插座相连。该PCB板还必须为ByteBlaster电缆提供电源。第第3 3章章 Altera Altera可编程逻辑器

84、件开发软件可编程逻辑器件开发软件 图3.55通过JTAG实现在线编程第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)打开MAX+PLUS编程器。(4)在Options菜单中选择HardwareSetup命令,将出现HardwareSetup窗口,如图所示。(5)在HardwareType下拉条中选择ByteBlaster。(6)指定配置时使用的并行口,如LPT1。(7)点击Program按钮,开始对JTAG器件进行编程。若器件、电缆或电源有问题,则产生错误警告信息;若编程成功,则点击OK按钮。第第3 3章章 Altera Altera可编程逻辑器件

85、开发软件可编程逻辑器件开发软件 4.设置在线编程链(1)在JTAG菜单中打开MultiDeviceJTAGChain并选择MultiDeviceJTAGChainSetup项,进行多个器件的JTAG链的设置。该对话框如图所示。(2)选择SelectProgrammingFile,选出所需要的编程文件。在ProgrammingFileName框内显示出你选择的编程文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.56设置在线编程链第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)点击Add按钮。(4)如

86、果使用多个器件,重复(2)、(3)步,并要确保与电路板上的顺序相同。(5)完成设置后,点击OK按钮。(6)按下Program按钮,开始对JTAG器件链进行编程。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 5.利用ByteBlaster在线配置FLEX系列器件设计人员可以在MAX+PLUS中,通过ByteBlaster对多个FLEX器件进行在线配置,过程如下:(1)首先编译一个项目,MAX+PLUS编译器将自动为FLEX器件产生一个SRAM目标文件(.sof)。(2)将ByteBlaster一端与微机的并行口相连,另一端10针阴极头与含有可编程逻辑器件

87、的PCB板上的阳极头插座相连。该PCB板还必须为ByteBlaster电缆提供电源。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)在MAX+PLUS菜单中打开编程器窗口。在Options菜单中选择HardwareSetup命令,在该窗口中选择Byteblaster并设定相应的LPT口。(4)如果只需要配置一个FLEX器件,首先检查在编程器窗口中的编程文件和器件是否正确。如果不正确,在File菜单中选择SelectProgrammingFile命令来改变编程文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件

88、 (5)如果需要配置一个含多个FLEX器件的FLEX链,在FLEX菜单中打开MultiDeviceFLEXChain,然后选择MultiDeviceFLEXChainSetup,接着按设计人员电路板上的顺序添加FLEX编程文件。选定全部文件后,点击OK按钮。(6)在编程器窗口中点击Configure按钮。除此之外,设计人员还可以用MultiDeviceJTAGChain来配置多个FLEX器件,也可以用AlteraEPROM,或者用微处理器来配置FLEX器件,更详细的内容可参看第5章。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3 Quartus开

89、发软件开发软件3.3.1Quartus的安装1.推荐的PC机系统配置(1)奔腾或更好的PC机。(2)256MB以上的有效内存,不低于128MB的物理内存。(3)1.5GB以上的硬盘空间。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4)Windows98、Windows2000或操作系统。(5)17英寸显示器。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.安装Quartus分为商业版和基本版,安装方法基本相同,这里仅介绍基于PC机在Windows98平台上版本的安装过程。(1)插入Quartus安装光盘自

90、动运行后,或在资源管理器中双击Install.exe,出现如图所示界面。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.57Quartus安装界面第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)选择InstallQuartusSoftware,安装向导完成后选择Next,然后按屏幕提示进行操作,如果在任一步选择Cancel将退出安装。安装过程中有进度显示,并对Altera公司的一些器件进行简要介绍。安装完毕后,提示是否查看文件,是否运行Quartus1.0,都选中后点击Finish按钮,就可阅读文件的信

91、息。阅读完后关闭文件就开始运行Quartus1.0,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.58安装完毕后的界面第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.第一次运行Quartus安装好后,第一次运行Quartus时还需做一些工作,才能保证该软件功能的正常使用。(1)在Quartus软件目录中双击Quartus图标,或者在Windows98的开始菜单内运行程序项中的项。(2)设置授权码的过程是:在Quartus管理器界面,选择菜单命令Tools/LicenseSetup,通过“.”按

92、钮选择文件或直接在LicenseFile对话框中输入带全路径名的文件名,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)设置好授权码文件后关闭对话框,就会回到Quartus管理器界面进行设计了。如果不设置授权码,则仿真等功能就不能使用。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.59设置授权码文件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.2设计输入Quartus软件的设计方法在很多方面与MAX+PLUS软件是相同或相似的,对于相同或相似

93、的部分,在本节只作简单介绍(前提是考虑到读者已经具备了一定的MAX+PLUS软件基础)。Quartus的软件设计流程如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.60Quartus的软件设计流程第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 1.Quartus支持多种设计输入方法(1)Quartus本身具有的编辑器,原理图式图形设计输入,文本编辑输入(如AHDL、VHDL、Verilog)和内存编辑输入(如Hex、Mif)。(2)第三方EDA工具编辑的标准格式文件,如EDIF、HDL、VQM。(3

94、)采用一些别的方法优化和提高输入的灵活性,如混合设计格式,它利用LPM和宏功能模块来加速设计输入。(4)对应的设计输入文件如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.61设计输入文件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.62Quartus管理器窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 启动Quartus。在Windows的程序管理器窗口中用鼠标左键双击Quartus图标,或在开始菜单内选择程序项中的Quartus组内的Quartu

95、s项,开始运行Quartus,管理器窗口被打开,如图所示。其中的项目导航窗口、状态窗口和信息窗口可通过点击其上一排中相应的快捷按钮打开或关闭。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.建立新设计项目Quartus编译器的工作对象与MAX+PLUS一样也是项目,所以在进行一个逻辑设计时,首先要指定该设计的项目名称,对于每个新项目应该建立一个单独的子目录。如果该子目录不存在,Quartus将自动创建,以后所有与该项目有关的文件都将存放在这个子目录下。Quartus软件的项目包括所有的设计文件、配置文件、仿真文件、系统设置及该设计的层次信息。下面以一

96、个自上而下的设计项目为例进行说明。指定项目名称的步骤如下:第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (1)在File菜单中选择NewProjectWizard项,第一次可能会出现介绍页,点击Next按钮,将出现NewProjectWizard对话框。在相应的对话框中输入项目的目录、名称及顶层实体名,如Filter,缺省情况下输入的项目名同时出现在顶层实体名对话框中,顶层实体名也可与项目名不同,如图(a)所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)点击Next按钮,出现NewProjectWiz

97、ard第二页。点击AddAll按钮,可增加所有的设计文件到项目。本例中由于Filter为新项目,因此内容列举为空,如果设计人员已经预先输入了设计文件和其它源文件,就可以通过为文件名的浏览(.)按钮选择文件,然后增加到项目,如图(b)所示。(3)点击Next按钮,出现NewProjectWizard概要。点击Finish按钮,则Filter出现在项目导航窗口层次栏中。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.建立一个图表模块文件图表模块编辑器既可以编辑图表模块,又可以编辑原理图。图表模块编辑是顶层设计的主要方法,原理图编辑是传统的设计输入方法。设

98、计人员可以利用Quartus提供的LPMs、宏功能等函数以及用户自己的库函数来设计。Quartus还提供“智能化的模块链接和映射”功能。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图表模块的设计流程一般包括以下几步:(1)产生一个新的模块设计文件。首先画出图表模块或输入设计单元符号,然后输入接口和参数信息并连接各个设计单元(利用单连线、总线等)。(2)保存设计,文件的后缀名为.bdf。(3)底层模块可以是用户产生的HDL文件或图形编辑文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.63NewProj

99、ectWizard对话框(a)项目目录、名称及顶层实体名;(b)增加文件到项目第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.63NewProjectWizard对话框(a)项目目录、名称及顶层实体名;(b)增加文件到项目第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.64产生一个新的文件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4)顶层模块设计可以产生设计单元。1)用模块编辑器产生一个新的文件产生一个新的图表模块/原理图文件的方法是依次选择FileNew

100、BlockDiagram/SchematicFile,如图所示。点击OK按钮,然后点击SaveAs,在文件名对话框中自动出现Filter,如有必要也可自己输入其它名称再保存。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2)用模块编辑器设计模块(1)从工具栏中产生模块的方法如图(a)所示。模块属性对话框如图(b)所示。(2)在模块属性对话框中点击General,输入模块名如taps,缺省名可不变。(3)点击I/Os,可输入端口名并选择相应的端口类型,然后点击Add按钮添加。接下来可依次重复输入其它端口,也可一次输入所有输入端口,中间用逗号隔开。第第3

101、3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.65用模块编辑器设计模块第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.65用模块编辑器设计模块第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (4)点击“确定”按钮,用鼠标右键点击模块,在弹出的对话框中选择AutoFit,模块中的数据都可看见,如图所示。采用同样的操作方法可创建其它模块。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.66完整模块图第第3 3章章 Altera

102、Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3)输入图元Quartus软件提供各种逻辑功能符号,包括图元(Primitive)、LPM(LibraryofParameterizedModules)函数和宏功能(Macrofunction)符号。其.bdf文件既能包含模块符号,又能包含原理图符号,供设计人员在图形模块编辑器文件中直接使用。如输入一个D触发器,其过程如下:第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (1)选择工具按钮有效时,在图形模块编辑器窗口的空白处单击鼠标左键以确定输入位置。(2)然后选择InsertSymbol,或双击

103、鼠标左键,将出现一个Symbol对话框。在符号库Libraries框中点击“+”按钮,扩展d:quartuslibraries文件夹,同样扩展primitivesstorage文件夹。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.67Symbol对话框第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)在storage文件夹中选择dff图元,也可直接在图元名称对话框中输入dff,在Symbol对话框中就出现dff图元的预览。点击OK按钮后,在所希望的地方点击左键,即可插入dff图元。只要重复上述三步,就可

104、连续选取图元,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4)输入宏功能符号利用MegaWizardPlugInManager输入宏功能符号和LPM库函数。如输入一个乘法器的步骤如下:(1)在图所示的Symbol对话框中点击MegaWizardPlugInManager,出现第一页,选中Createanewcustommegafunctionvariation,然后点击Next按钮。(2)在AvailableMegafunctions列举中点击“+”按钮,扩展arithmetic文件夹,然后选择LPM-MULT。第第3 3章章 Altera

105、 Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)在右边的对话框中输入设计人员所希望的输出文件名和类型,如和AHDL,如图所示。然后连续点击Next按钮,在其后的dataainputbus宽度对话框中输入8,databinputbus宽度对话框中输入3,其它为缺省值,再点击Finish按钮,一个新符号出现在Symbol对话框中。(4)点击OK按钮,在所希望的地方点击左键插入mult符号,最后保存文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.68输入宏功能符号第第3 3章章 Altera Altera可编程逻辑器件开发软件可编

106、程逻辑器件开发软件 5)改变图形模块编辑器显示选项选择ToolsOptions,Options对话框被打开,在Category项下选中Block/SymbolEditor,选择General,然后根据设计人员的要求打开或关闭选项。选择Colors和Fonts,分别设置颜色和字体选项,然后点击OK按钮。6)给引脚命名根据3)中输入图元符号的方法,输入“输入”和“输出”引脚。双击所选引脚符号,出现PinProperties,在General条中的Pinname(s)中输入引脚名,然后点击OK按钮,再用同样的方法对所有引脚命名。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻

107、辑器件开发软件 4.智能连接符号和模块在模块编辑器的.bdf文件中能用“智能”选择工具连接符号和模块,包括节点、总线和管道(管道是代表进出模块的一个或多个信号的总线组)。当鼠标位于一个符号的引脚上或者模块的边沿时,“智能”连接工具自动变成十字形的画线指针。例如:当鼠标位于一个符号的引脚上时,它变成直角节点工具指针;当位于一个模块的边沿上时,它变成直角总线工具指针。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 1)连接符号和模块在工具条中点击直角总线工具按钮,如图所示,点击鼠标左键选择总线开始点clk引脚,按住左键拖动鼠标至结束点taps模块边沿放开,映

108、射符号自动地在taps模块边沿的总线端出现。映射符号的作用是映射模块的I/Os端口的信号到该总线。当画一条节点或总线到已经存在的节点或总线时,会自动出现“连接点”。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 连接不同模块时,两边端口的名字相同的话就不用标注出来,一个管道可以连接模块之间所有的普通I/O。Quartus软件能自动将连接在一起的模块进行连接,或者在总线和模块的I/Os端口信号之间进行连接。因此,总线就像大量信号的管道。直角节点工具的使用方法与直角总线工具的使用方法一样。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程

109、逻辑器件开发软件 图3.69智能连接符号和模块第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2)查看管道属性选择总线,然后双击鼠标或点击鼠标右键,在弹出的菜单中选择Properties,出现ConduitProperties对话框。点击Signals条,在Connections列表中显示所选管道的信号连接关系,一般输入与输出以不同的颜色区分。确保信号正确,然后点击OK按钮。3)模块间的信号映射Quartus软件能在模块与符号之间提供不同的映射信号方法,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3

110、.70模块间的信号映射第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (1)“智能”映射。如果一个模块的I/O信号端口名与另一个模块的I/O信号端口名相同的话,模块之间的共同I/O端口就自动地连接在一起。在某些情况下,为了防止自动映射,也可对特别的I/O端口注明为“不映射”。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)给节点或总线命名(包括“由名字连接”)。如果想要连接的模块或符号之间的I/O端口名不同的话,设计者可以给管道分配一个与其中一个模块的I/O端口名匹配的名字,以便在端口和总线或管道之间建立映射

111、。如在图中,连接state-m模块与D触发器输入脚后,双击管道,在ConduitProperties对话框的General项的Conduitname中输入next,然后确定,则State-m模块中的next信号自动加进管道并且next出现在管道线上方,逻辑上就连接到D触发器输入脚。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 如果想要连接一个管道到另一个管道,分配一个名字是特别有用的,即使这些管道在物理上没有连接在一起。为了在这些管道与它们的模块之间建立映射,首先必须保证每个管道的一端连接到模块,而另一端物理上不连接到任何模块或符号,然后给两个管道分配

112、匹配的名字(假定这些名字已经与所连接模块的I/O端口名相匹配),这样就在两个管道与它们的模块之间通过“由名字连接”建立了连接。用户也能用类似的方法通过命名连接两个节点。如给D触发器时钟节点线命名为clk,则逻辑上就连接到clk输入脚。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)用映射符号特别明确地进行映射。如果想要连接的模块的I/O端口名不同,而又物理上连接在一起的话,就用映射符号特别明确地进行映射。设计人员能映射模块的I/O端口名到总线上的一个信号,也能映射该信号到想要连接的模块的I/O端口名。如要连接taps模块到mult符号的dataa7

113、.0输入,双击taps模块边沿上的总线端映射符号,MapperProperties对话框自动出现。在General项的Type列举中选择OUTPUT,点击Mappings项,在I/Oonblock框中选择x7.0,在Signalsinconduit框中输入dataa7.0,然后点击Add按钮,dataa7.0被加进管道并且映射表自动出现。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4)产生设计文件给模块定义并产生模块所代表的HDL或图形设计文件。设计人员能自动创建一个设计文件,该设计文件包含它所代表模块的基本结构,然后设计人员可以在基本结构中填充设计

114、细节,最后完成该模块的设计文件,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.71生成设计文件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 5.支持的第三方EDA工具输入Quartus支持第三方的EDA工具输入(*表示支持内部链接),支持的综合工具有:LeonardoSpectrum*DesignCompilerFPGACompilerStandard*&AlteraEdition*FPGAExpress*SynplicitySynplify*第第3 3章章 Altera Altera可编程逻辑

115、器件开发软件可编程逻辑器件开发软件 支持的仿真工具有:ModelSim*ModelSimOEM*CadenceVerilogXLInnovedaBLASTPrimeTime*SynopsysVCSSynopsysVSS第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (1)Quartus驱动支持内部链接的第三方EDA工具输入文件的流程。在Project菜单中选择EDAToolSettings.,出现如图所示对话框。第三方EDA工具也可以驱动Quartus的设计输入。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3

116、.72Quartus驱动支持内部链接的第三方EDA工具流程第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)Quartus驱动不支持内部链接的第三方EDA工具输入文件的流程。在Project菜单中选择EDAToolSettings.,出现如图所示对话框。如果用一个非内部链接的EDA工具产生VHDL、Verilog、EDIF文件,就需要阐明.lmf文件来给定文件格式。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.73Quartus驱动不支持内部链接的第三方EDA工具流程第第3 3章章 Altera Alt

117、era可编程逻辑器件开发软件可编程逻辑器件开发软件 6.项目菜单的设置项目菜单的设置内容包括:增加/去除文件或库函数,HDL类型界面,第三方EDA工具,设计流程,定时设置,版本控制等。在所有的项目设置中,除了项目名和顶层设计名不一样外,其它的设置都保留上一个项目的设置。项目菜单如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.74项目菜单第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 7.编辑用户库Quartus允许设计人员对用户库进行编辑。在对用户库的编辑之前首先要打开一个已存在的项目,然后在Pro

118、cessing菜单中选择GeneralSetting项,点击UserLibraries栏,这时就会出现用户库编辑框。如果想要加入一个新的用户库,可以在Libraryname输入框中直接键入用户库的名称,然后点击Add按钮,或者点击Browse(.)按钮来选择所要加入的用户库。如果想要改变用户库在列表中的先后次序,可以通过点击Up或Down按钮来完成。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 Remove按钮用于删除已选中的库。点击OK按钮即完成用户库的编辑。用户库的编辑还可以在建立新的设计项目时进行。如在图(b)中,点击UserLibraryPat

119、hnames按钮后,就会出现用户库编辑框,可以完成相同的编辑工作。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.3设计项目的编译Quartus编译器的功能包括设计错误检查、逻辑综合、Altera适配器件以及为仿真、定时分析和器件编程产生输出文件。编译器首先提取项目设计文件之间的层次连接信息并检查基本的设计输入错误,然后结合所有的设计文件生成能被高效处理的数据库。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 设计人员能指示编译器应用许多技术,如定时驱动编译,增加设计速度及优化器件资源的利用率。在编译过程中

120、和编译后,用户都能在编译结果报告窗口看到结果。编译器生成的编程文件可用Quartus编程器或其它工业标准编程器对Altera器件进行编程或配置。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.3.1编译设置Quartus软件允许编译一个完整的设计或者设计的任何组成部分。对一个新建项目软件创建缺省的编译设置,用户可以通过指定编译设置选项来创建用户的编译设置,以后可以直接调用该编译设置。Quartus软件的编译设置指南可以轻松地帮助用户完成编译设置。首先在Processing下拉菜单中选择CompilerSettingsWizard,然后对每一个对话

121、框进行选择,点击Next按钮,出现下一个对话框,第六个对话框是对前面设置的总览,点击Finish按钮即可完成编译设置指南。用户也可以通过Processing下拉菜单中的CompilerSettings直接进行编译设置。以下是编译设置过程。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 1.打开编译设置对话框首先,为了确保在编译模式下,在Processing下拉菜单中选择CompileMode,然后在Processing下拉菜单中选择CompilerSettings,出现CompilerSettings对话框的General项,其内容为Quartus软件产

122、生的缺省设置,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.75编译设置对话框第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.指定目标器件在编译设置对话框中选择Chips&Devices项,在Family列举中选择器件系列(如APEX20K),在ShowinAvailabledeviceslist中选择封装形式PQFP、引脚数208及速度级别1,则Availabledevices列举中选择的器件只有EP20K100QC208CD*21,如图所示。再点击Device&PinOptions子项,出

123、现器件和引脚选项对话框,然后对器件和引脚选项对话框各子项进行设置,包括概要、配置、下载文件、不用的引脚、两种用途的引脚及电压值。点击AssignPins按钮,出现如图所示的对话框,然后点击“应用”按钮。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.76指定目标器件第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.77引脚分配第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.指定编译模式在编译设置对话框选择Mode项进行选择,其中包括以下几项。1)编译类型(1)只

124、是综合并输出网表。编译设计文件,综合产生门级代码;编译器只运行到综合这步就停止;编译器只产生估算的延时数值。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)完全的编译,包括编译,网表输出,综合,配置器件。编译器除了完成以上的步骤,还要将设计配置到Altera的器件中去。编译器根据器件特性产生真正的延时时间和器件的配置文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2)编译速度与磁盘空间(1)一般编译。编译器只从发生了变化的设计文件中重新提取网表文件。编译器只占用很少的磁盘空间,但需要花费更多的时间。第第

125、3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)优化编译。编译器为了提高再一次编译的速度,而保存一些额外的数据。编译器只需要花费较少的时间但占用较多的磁盘空间。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4.综合与适配的设置综合与适配的选项如图所示,选择完后点击OK按钮。5.指定编译器校验设置在编译设置对话框选择Verification项,进行选择。最后选择确定,则编译器的所有设置选项保存为Filter用户编译器。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.7

126、8综合与适配的设置第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.3.2资源分配设计人员可以将自己设计中的部分逻辑分配到器件资源的特定位置,如可将模块设计文件(.bdf)中的某一模块的逻辑分配到器件特定的MegaLAB行中,MegaLAB是APEX器件的大规模结构。操作步骤如下:在.bdf文件中右键点击所选定的模块,在弹出菜单中选择AssignmentOrganizer,出现AssignmentOrganizer对话框,然后进行选择,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.79资源分

127、配第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.80Quartus编译界面第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.3.3编译设计1.编译过程Quartus编译界面如图所示,点击快捷键或在Processing下拉菜单中选择StartCompilation或Startanalysis&Elaboration开始完全或部分编译。在状态栏中将显示编译进度的百分比和每阶段所花费时间,编译的结果在编译报告栏中自动更新,编译完后的结果如图所示。如果编译后有错误和警告信息,就要对设计原文件进行修改,再重新编

128、译直到无错误和警告信息为止。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.81编译完后的界面第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.定位信息源在编译过程中,选择信息栏中Processing项,点击“+”获得更详细的扩展信息项。双击某些信息项,就可定位到原设计文件并高亮度显示,然后就可以进行查看了。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.编译报告编译完后将产生一个编译报告栏,如图所示,它包含了怎样将一个设计放到一个器件中的所有信息,如器件使用统计

129、、编译设置、底层显示、器件资源利用率,状态机的实现、方程式、延时分析结果和CPU使用资源等。这是一个只读窗口,点击“+”可获得更详细的扩展信息项,点击任一项,就会在右边出现相应的详细信息。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.3.4在最后的编译平面图中查看适配结果1.打开最后编译平面图在编译成功后,就可在最后编译平面图中查看结果。平面图显示了编译器是怎样将逻辑设计分配到Altera器件中去的。在Processing菜单中选择OpenLastCompilationFloorplan,或在编译报告栏中选择FloorplanView,显示编译

130、平面图的LAB使用情况,没用的单元为白色,使用过的单元为彩色并互相连接。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.显示路由信息在View菜单中选择RoutingShowNodeFanIn&FanOut,然后在编译平面图中点击逻辑单元,就可查看该逻辑单元的路由连接关系,如图所示。选择ViewRoutingShowRoutingDelays可查看该逻辑单元的路由连接延迟。查看完后选择ViewRoutingHideRouting隐藏路由。直接点击平面图左边的工具钮还可查看其它相关项。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编

131、程逻辑器件开发软件 图3.82编译结果平面图第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.3.5分配逻辑到ESB设计人员可以使用映射选项技术,强制Quartus软件将自己的逻辑设计在特殊的器件资源中实现,如ESB(EmbeddedSystemBlock)。ESB是存在于APEX、Mercury和基于ARM/MIPS的Excalibur系列器件中的一种结构,能实现存储器(RAM,ROM,FIFO或CAM)或组合逻辑。在进行新的资源分配前,设计人员可以回注在上次编译过程中编译器所作的任何分配,以确保后面的编译具有相同的适配。第第3 3章章 Alte

132、ra Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 1.回注分配回注是为了保存最近编译器所作的资源分配。对引脚和器件分配的回注方法如下:在Processing菜单中选择BackAnnotateAssignments,出现BackAnnotateAssignments对话框,在Assignment(s)tobackannotate下选择Pin&deviceassignments,然后点击OK按钮。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.查证回注的分配在Processing菜单中选择OpenCurrentAssignmentsFloo

133、rplan,在当前分配的平面图的顶部Chipname方框中显示与当前编译器名相同的芯片名,如本例中为Filter(EP20K100QC208-1)。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.分配逻辑到ESB例如分配state-m:inst1设计实体到ESB的步骤如下:在项目导航窗口中点击Hierarchies条,然后点击“+”扩展Filter,在Filter的层次中用右键点击state-m:inst1设计实体,在弹出菜单中选择AssignmentOrganizer,出现Assignment Organizer对话框, 选中Edit specif

134、icentity&nodesettingsfor,则在Name方框中显示state-m:inst1设计实体的层次路径名。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 在AssignmentCategories列表中点击“+”扩展OptionsforEntitiesOnly项,然后点击Clickheretoaddanewassignment文本,在Assignment下的Name下拉列表中选择TechnologyMapper-APEX20K/20KE/20KC。在Setting下拉列表中选择ProductTerm,如图所示。然后点击Add,逻辑选项的分配

135、在AssignmentCategories列表中出现。接下来可以重新编译设计并在底层平面图中查看到分配的结果。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.83分配逻辑到ESB第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.4延时分析和仿真3.3.4.1Quartus的延时分析1.特点(1)Quartus支持对单个时钟或多个时钟的延时分析:单个时钟的延时分析包括Fmax(最大时钟频率及最差情况下的寄存器到寄存器的延时)、Tsu(建立时间)、Th(保持时间)、Tco(时钟到输出时间)、TPD(各个引脚

136、之间的延时)及整个系统的Fmax(包括引脚上的输入输出延时)。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)多个时钟的延时分析,可以支持用户分析由不同时钟控制的寄存器之间的延时,可以运用Slack进行分析。(3)组合逻辑电路检测,Quartus会自动检测组合逻辑电路。(4)不同类型的延时信息(请参考编译部分),包括没有布局布线的延时信息,经过布局布线的延时信息及混合的树状层次型设计。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (5)在缺省情况下,在编译之后一般自动调用延时分析,也可以禁止调用。(6)生成

137、的延时信息也可以以VHDL,Verilog或标准延时文件(SDF)的格式输出到第三方的EDA工具中。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.延时分析报告所有的延时分析信息都包含在编译报告中,在编译报告栏中选择TimingAnalyses,则出现延时分析各报告子项:总结。延时分析。内部fmax(不包括引脚上的输入输出延时)或系统fmax(包括引脚上的输入输出延时)。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 寄存器到寄存器的延时报表。tsu(输入建立时间)。th(输入保持时间)。tco(时钟到输出时间

138、)。tpd(引脚到引脚的延时)。分别点击可获得详细信息,例如点击fmax(不包括输入输出引脚的延时)的结果如图所示。用户还可以在延时分析报告的底层平面图编辑器中查看延时路径及时间,适当时候还可以修改延时路径。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.84延时分析报告第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.指定延时要求设计人员可以在Project菜单中选择TimingSettings命令,对整个项目指定延时要求,也可以在Tools菜单中选择AssignmentOrganizer命令,对单独的设

139、计实体、节点及引脚指定延时要求。如果设计人员既指定了整个项目延时要求,又指定了个体的延时要求,在使用延时驱动编译器的情况下,为了满足设计人员的延时要求,适配器在器件中会最优化放置逻辑。利用Project菜单中的TimingWizard命令,可以更容易地对延时进行设置及指定延时要求。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.4.2仿真1.支持多种仿真方法(1)波形方式输入。.vwf(向量波形文件):是Quartus中最主要的波形文件。.vec(向量文件):是MAX+PLUS中的文件,主要是为了向下兼容。.tbl(列表文件):用来将MAX+PL

140、US中的.scf文件输入到Quartus中。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)支持Testbench。Tcl/TK脚本文件。Verilog/VHDLTestbench。(3)第三方的仿真工具,其中Quartus支持的第三方EDA仿真工具有:ModelTechnology(ModelSim)。Cadence(VERILOG-XL)。Synopsys(VCS)。Synopsys(VSS)。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2.编辑仿真波形文件(1)仿真器初始化。点击仿真工具按钮或从Pr

141、ocessing菜单中点击SimulateMode选定仿真模式,然后从Processing菜单选中InitializeSimulation,仿真器装载当前项目的网表文件,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.85仿真器初始化第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (2)新建仿真波形文件.vwf。在File菜单中选择New,在New对话框中点击OtherFiles项,选中VectorWaveformFile,然后点击OK按钮,此时出现空的仿真波形文件。然后在Time菜单中选择EndT

142、ime项,在EndTime对话框中键入最大仿真时间长度,如500ns,如图所示,再另保存文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.86新建仿真波形文件并确定时间长度第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (3)插入节点。首先在打开仿真波形文件.vwf的情况下,从Insert菜单中选择InsertNodeorBus,在出现的对话框中点击NodeFinder选择节点,或选择ViewAuxiliaryWindowsNodeFinder选择节点,如图所示。(4)为节点寻找器定制过滤器以选择节点类型

143、,其过程如图所示。(5)为仿真波形文件选择节点。在节点寻找器对话框中选择节点,其过程如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.87插入节点第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.88选择节点类型第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.89为仿真波形文件选择节点第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 (6)编辑激励波形。先选中准备要编辑的部分,然后进行赋值,其过程与MAX+PLUS

144、中的仿真波形的编辑基本一样,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.90编辑仿真波形第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.仿真器选项设置Quartus软件既可以仿真一个完整的设计,也可以仿真设计的一部分。设计人员可以在Processing菜单中选择SimulatorSettings打开仿真器选项对话框进行设置,也可以利用Processing菜单中的SimulatorSettingsWizard更容易地对仿真进行设置。第第3 3章章 Altera Altera可编程逻辑器件开发软

145、件可编程逻辑器件开发软件 1)仿真器的仿真内容从Processing菜单中点击SimulatorSettings,打开仿真器选项设置对话框,在General子项中,仿真器的仿真内容指向编译器设置的编译内容。仿真器的选项设置决定了被执行的仿真的类型,Quartus可以保存仿真器的选项设置,如图3.91所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.91仿真器选项设置第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2)仿真时间和激励文件的设置确定仿真的开始和结束时间,在仿真器选项设置对话框中选择Time/V

146、ectors子项,进行仿真时间设定,在Vectors栏中确定激励文件,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.92仿真时间和激励文件的设置第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3)仿真模式点击Mode子项,有两种仿真模式可以选择:一种是实用的(Functional)预综合;一种是定时(Timing)模式,完全的编译,输出网表后布局布线。4)仿真器可选项点击Options子项,出现如图所示对话框,用户可在该对话框中进行选择,最后单击“确定”按钮。第第3 3章章 Altera Alte

147、ra可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.93仿真器可选项第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 4.运行仿真器从Processing菜单中选择RunSimulation运行仿真器,仿真状态窗和报告窗自动出现并更新,在信息窗口中显示相关信息。如果有错误或告警,就要修改设计并重新编译仿真,直到无错误或告警为止。1)仿真器报告仿真结束后,在仿真器报告中,选择SimulationWaveform可以显示仿真结果波形,还可建立时间条及利用放大缩小工具详细查看波形,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编

148、程逻辑器件开发软件 图3.94仿真波形第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2)波形对比仿真结果波形打开后,在View菜单下选择ComparetoWaveformsinfile,然后在ComparetoWaveformsinfile对话框中选择文件,与仿真结果波形文件进行对比。5.利用第三方的仿真器进行仿真1)设置仿真器从Project菜单中选择EDAToolSettings工具设置,然后选择仿真工具,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.95设置仿真器第第3 3章章 Alter

149、a Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 2)第三方仿真器(1)VHDL仿真器:利用Quartus产生.vho和.sdo文件;利用在sim-lib目录中的和APEX20K-COMPONENTS.VHD文件。(2)Verilog仿真器:利用Quartus产生.vo和.sdo;利用在sim-lib目录中的文件。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.5器件编程Quartus编程器可以配置Altera公司的APEX、FLEX6000、Mercury及基于ARM/MIPS的Excalibur系列器件,并能校验、测试和在配置前对

150、空器件进行检查。该编程器和编程硬件(ByteBlasterMV与MasterBlaster通信电缆)很容易地在几分钟内就可以编程或配置一个工作芯片。配置模式包括被动串行配置和JTAG等模式。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.5.1打开下载窗口从Processing中选择OpenProgrammer项,或用快捷键打开编程窗口,如图所示。或选择FilenewOtherFilesChainDescriptionFile,也可以打开编程窗口并建立新的.cdf文件,然后另存为。第第3 3章章 Altera Altera可编程逻辑器件开发软件可

151、编程逻辑器件开发软件 图3.96打开编程窗口第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.5.2设置下载电缆在编程窗口中点击Setup按钮,对下载电缆进行选择;在Mode栏中对配置模式进行选择,然后点击AddFile按钮增加.sof配置文件,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.97设置下载电缆第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.5.3开始编程首先要连接好电缆,如果使用MasterBlaster通信电缆编程,将Maste

152、rBlaster的RS-232接口连接到PC机或UNIX工作站的RS-232串行端口,如是USB接口,则连 接 到 相 应 的 PC机 的 USB端 口 。 如 果 使 用ByteBlasterMV下载电缆编程,则将ByteBlasterMV的DB25接口连接到PC机的并行端口。设置完后点击Start开始编程,如图所示。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 图3.98开始编程第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 3.3.6版设计软件的新特点目前,Altera公司最新的Quartus设计软件是版,

153、该版本设计软件包括了许多新的功能,将设计性能改善了15%,编译时间缩短了50%。版设计软件除了支持Altera的APEX20KE、APEX20KC、APEX、ARM的Excalibur嵌入处理器方案、Mercury、Stratix、FLEX10KE和ACEX1K之外,还支持MAX3000A,MAX7000系列乘积项器件。MAX3000A和MAX7000设计者现在可以使用Quartus设计软件中才有的所有强大的功能。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 安装软件为290MB,完全安装为700MB,如果定制安装,不选择Excalibur嵌入处理器,

154、则安装所需空间为460MB,比版本减少一半以上的空间要求,却能支持Altera全部芯片的开发。同时软件的装载、编译和仿真速度比版本大大加快。设计软件通过增强层次LogicLock模块级设计方式,将性能平均改善15%。LogicLock设计流程把整个模块的放置交由设计人员控制,如果必要的话,可以采用辅助平面布置。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 LogicLock设计流程能够运行设计人员优化过的模块并能锁定每个模块的性能,在大型的SOPC设计过程中也能够保持整个系统的性能。版设计软件把新的LogicLock设计流程算法集成到未来的Altera

155、器件中,该算法充分利用了模块级设计的优势。增加了一个新的快速适配编译选项,选择这个选项,将会比缺省设置缩短50%的编译时间。快速适配功能保留了最佳性能的设置,加快了编译过程。这样布局使得适配算法反复的次数更少,编译速度更快,对设计性能的影响最小。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 版设计软件引入了新的功能,加快验证过程,这通常是SOPC设计流程中最漫长的阶段。在最初的编译时间中,新的SignalProbe技术允许用户在保留设计最初布线、时限和设计文件的同时,把内部节点引到未用的管脚进行分析。SignalProbe技术完成了现有SignalTap嵌入逻辑分析的功能,而且设计人员能够使用新版本中提供的HDL测试模板快速地开发HDL仿真矢量。第第3 3章章 Altera Altera可编程逻辑器件开发软件可编程逻辑器件开发软件 版Quartus设计软件也可以自动地从Quartus仿真器波形文件中创建完整的HDL测试平台。Quartus版设计软件支持高速I/O设计,生成专用I/O缓冲信息规范(IBIS)模型导入到常用的EDA信号集成工具中,IBIS模型根据设计中每个管脚的I/O标准设置来定制,简化了第三方工具的分析。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号