1、第9章 其它设计工具简介 9.1 Synplicity公司的公司的Synplify Pro9.2 Aldec公司的公司的Active HDL9.3 Mentor Graphics公司的公司的小结小结 9.1 Synplicity公司的公司的Synplify Pro Synplify和Synplify Pro是Synplicity公司提供的专门针对FPGA和CPLD实现的逻辑综合工具。Synplify Pro是Synplify 的完整版,包含了后者的所有功能,但综合原理和机制完全相同,它是目前业界最流行的、功能最强的综合工具。它支持工业标准的Verilog和VHDL硬件描述语言,能高效地将它们的
2、文本文件转换为高性能的面向流行器件的设计网表,支持 Xilinx、Altera、Lattice、Actel 及 QuickLogic等不同的厂家所生产的FPGA与CPLD的综合、时序分析与配置等功能。1Synplify Pro软件窗口软件窗口Synplify Pro软件窗口如图9.1所示,主要包含菜单栏、工具栏、状态显示栏、操作按钮、重要综合优化参数设置、工程管理窗、综合结果窗、消息窗口、综合结果观察窗等几部分。2Synplify Pro软件使用软件使用下面以一个四路选择器的例子来说明Synplify Pro软件的使用方法,这里使用的软件版本是Synplify Pro 9.6.1,其设计步骤如
3、下:(1)建立工程Project。启动 Synplify Pro,弹出Synplify Pro的主界面。选择【File】【New】命令,弹出新建工程【New】对话框,如图9.2所示。在文件类型【File Type】栏中选择新建工程【Project File】选项,工程名称【File Name】栏输入“mux_4_1”,然后设置工程存放路径【File Location】。确认后,工程管理窗口出现建立的工程mux_4_1.prj,如图9.3所示。图9.1 Synplify Pro软件窗口 图9.2 新建工程【New】对话框 图9.3 建立的工程(2)添加源文件。选择【File】【New】命令,弹出
4、【New】对话框。在【File Type】栏中选择Verilog HDL文件类型【Verilog File】,源文件名字【File Name】栏中输入“mux_4_1”,单击按钮,如图9.4所示。然后在弹出的程序编辑窗口添加设计源文件,如图9.5所示。图9.4 建立新的源程序 图9.5 源程序代码(3)代码语法错误检查。选择【Run】【Syntax Check】命令,进行代码语法错误检查,如图9.6所示。如果语法有错误,检查结果会提示错误信息如图9.7所示。按照提示修改代码直至检查结果正确。图9.6 语法错误检查 图9.7 语法错误检查提示 在图9.6中选择【Run】【Synthesis Ch
5、eck】命令,进行综合检查。检查结果正确后才能进行下一步设计。(4)综合选项设置。选择【Project】【Implementation Options】命令,弹出综合选项设置对话框,如图9.8所示。选择器件【Device】标签,进行元器件选项设置,可设置综合目标器件厂家【Technology】、型号【Part】、封装【Package】、速度级别【Speed】等信息,如图9.8所示。图9.8 综合选项设置对话框的器件标签 在综合选项设置对话框中选择选项【Options】标签进行优化选项设置。选中【FSM Compiler】和【Resource Sharing】栏,如图9.9所示。【FSM Com
6、piler】在综合过程中启动有限状态编译机,对设计中的状态机进行优化。【Resource Sharing】栏启动资源共享,在设计能够满足时钟频率的情况下,一般选中此栏以节约资源。图9.9 在综合选项设置对话框的选项标签 在综合选项设置对话框中选择约束【Constraints】标签可进行系统运行频率【Frequency】和约束文件的设置,如在【Frequency】栏输入频率值“100”MHz。选择【Implementation Results】标签进行综合结果输出设置,包括结果放置的目录【Results Directory】、综合结果的文件名称【Results File Name】,一般保持默认
7、设置。注意一定要将【Write Vendor Constraint File】栏选项选中以生成布局布线工具使用的时间约束文件。选择【Timing Report】标签进行时序报告输出的设置,【Number of Critical Paths】栏表示时序报告中会显示的关键路径条数,【Number of Start/End Points】栏表示关键路径上起始点和结束点的数量。以上步骤完成之后,单击按钮,完成设置。(5)单击【Run】命令,开始综合。当状态显示栏变成“Done”时,说明综合运行结束,如图9.10所示。图9.10 状态显示栏(6)检查综合后的电路。选择【HDL Analyst】【RTL】
8、【Hierarchal View】命令,查看四路选择器综合后的网表文件对应的RTL 级电路,如图9.11所示。图9.11 网表文件对应的RTL级电路 选择【HDL Analyst】【Technology】【Hierarchal View】命令,查看RTL级电路向具体器件进行结构映射的结果,如图9.12所示。图9.12 综合结果的Technology View输出 9.2 Aldec公司的公司的Active HDL 1Active HDL软件窗口软件窗口启动Active HDL以后,弹出如图9.13所示主窗口,主窗口分为操作区、工作区和状态区。操作区上端为菜单栏,其下是工具栏,菜单栏包含了大部分
9、的操作选项,其下的按钮栏是一些常用的快捷按钮。图9.13 Active HDL 6.1的软件窗口 2Active HDL软件使用软件使用以一个简单的D触发器的例子来说明Active HDL软件的使用,这里使用的软件版本是Active HDL 7.2,其设计步骤如下:(1)创建新设计。启动Active HDL,进入工作界面。单击菜单栏【File】【New】【Design】命令,弹出【New Design Wizard】窗口,如图9.14所示。在【New Design Wizard】窗口选择创建新设计【Create an Empty Design With Design】选项,单击按钮。图9.14
10、 New选项下拉菜单及新建设计选择窗口(2)在弹出的对话框中选择默认硬件描述语言【Default HDL Language】项为“VERILOG”,其它为默认值,单击按钮。(3)在弹出的对话框中输入设计名称,如“D_Trigger”和文件存放路径。单击按钮后,再单击按钮,此时就生成一个新设计。(4)系统返回到主窗口,此时主窗口的左边出现了设计浏览【Design Browser】窗口,单击工具栏上按钮,在主窗口的工作区显示如图9.15所示的设计流程管理器【Design Flow Manager】窗口,该窗口中的流程图会随着设计流程的改变而改变,它是做设计的向导。图9.15 含设计流程管理器的主窗
11、口(5)新建源代码文件。在【Design Flow Manager】窗口单击菜单栏【File】【New】【Verilog Source】命令,在弹出的硬件描述语言编辑器【HDL Editor】窗口中选择【Verilog】选项,然后单击按钮,弹出新源文件向导【New Source File Wizard】窗口,选中【Add the generated file to the design】,单击按钮,在弹出的窗口中输入源文件名和模块名“D_Trig”,继续单击按钮。(6)在弹出对话框的【Name:】栏和【Array】栏分别输入端口名和端口数组值,在【Port direction】栏中设置端口方向
12、,单击【Tpye】按钮设置端口数据类型,如图9.16所示。单击按钮,软件自动返回到工作区并打开“D_Trig.V”文件,进行D触发器代码编写。图9.16 设置端口名以及端口方向(7)在完成了代码的输入后,单击菜单栏中的【Design Flow Manager】【Compile】选项或者在【Design Browser】窗口中的【Files】视图中选中编译模块“D_Trig”后右击,在弹出对话框中选择【Compile】选项对源代码进行编译。源文件编译通过以后,接下来进行功能仿真来验证设计结果是否正确。(8)选择菜单栏【File】【New】或者单击工具栏上按钮,在弹出页中单击【Waveform】选
13、项或者在工具栏上单击按钮,创建一个新的【wave】窗口。在图9.17所示波形窗口信号列表区右击,在弹出菜单栏中选择【Add Signals】选项,弹出添加信号【Add Signals】对话框,如图9.18所示。图9.17 Waveform编辑窗口 图9.18 【Add Signals】对话框(9)在波形窗口的信号列表区右击,在弹出菜单栏中选择【Stimulators】选项,弹出【Stimulators】对话框,如图9.19所示。在【Stimulators】对话框分别设置CLK、Reset、D信号属性。设置CLK为Clock类型,频率设置为10 MHz;设置Reset为随机信号;D为Clock类
14、型,频率设置为7 MHz。图9.19 【Stimulators】对话框(10)设置完成以后单击菜单栏【Stimulation】【Run】选项或者按快捷键“ALT+F5”,开始仿真,功能仿真结果如图9.20所示。仿真结果实现了时钟上升沿触发、同步复位的D触发器。图9.20 功能仿真结果 Active HDL还可以在进行逻辑综合和物理实现后,对设计进行综合后仿真和物理实现后的时序仿真。Active-HDL能够和业界标准IEEE、ISO、IEC及其它标准相容,为设计提供了极广的覆盖率及支持,同时Active HDL有特色的图形化界面能提高设计速率和效率。本章节通过一个简单的D触发器实例展示了一些Ac
15、tive HDL软件的基础应用,但是Active HDL软件的强大功能远远不止这些,有兴趣的读者可以更深入地了解Active HDL软件,实现更加高效的设计。9.3 Mentor Graphics公司的公司的FPGA Advantage 1.设计输入设计输入由于设计输入支持框图设计、状态机设计、真值表设计、HDL设计等方式,这里以常用的框图设计、状态机设计为例对其进行介绍。1)框图设计(1)启动FPGA Advantage,将出现如图9.21所示【Design Manager】对话框,该对话框包括菜单栏、工具栏、项目栏和项目管理栏等四个部分。图9.21 【Design Manager】对话框(
16、2)在【Designer Manager】窗口中单击按钮,选择下拉菜单中的【Graphical View】【Block Diagram】选项,相应的框图设计编辑窗口被打开,如图9.22所示。图9.22 框图设计编辑窗口(3)单击按钮,添加所需要的模块(BLOCK),在框图中添加两个模块,模块会显示默认的库和模块名,以及唯一的实例名I1 和I0。在一个库中,描述一个BLOCK的视图必须被命名和保存成一个独一无二的设计单元。一个BLOCK 同时可以存在很多种描述方式,可以是状态机、框图和源代码等。(4)一个BLOCK以及其它的一些模块添加完成之后,需要添加端口与连线,其快捷图标包括:按钮为添加信号
17、;按钮为添加总线;按钮为添加端口。(5)单击相应的BLOCK以及端口和信号,对相关的端口和信号按照需要重新命名,完成后保存文件,键入相应的文件名称,如图9.23所示。图9.23 端口与连线的添加 2)状态机设计(1)状态机设计可以直接在【Designer Manager】窗口中单击按钮,选择下拉菜单中的【Graphical View】【State Diagram】命令,进入状态机设计编辑窗口,如图9.24所示。图9.24 状态机设计编辑窗口(2)单击 按钮添加状态,默认的状态按照从小到大的顺序从s0开始。这里第一个状态被假定为初始状态,用绿色表示。单击 按钮,添加状态之间的转移,状态设计界面如
18、图9.25所示。图9.25 状态设计界面(3)双击需要编辑的状态,打开相应状态的对象属性对话框。这里状态类型有简单状态、分层状态、开始状态、等待状态供选择。2.仿真仿真完成了系统的设计后,在框图设计管理器中单击 按钮,调用Modelsim软件进行仿真。Modelsim的相关使用请参考本书的第5章。3.综合综合完成了仿真之后,在框图设计管理器中单击 按钮,弹出【LeonardoSpectrum Synthesis Settings】对话框,如图9.26所示。在该对话框中可以选择指定技术库、器件系列、器件、时钟频率、速度级别和优化,系统缺省状态下是自动设置的。单击 按钮,就开始进行综合。在综合运行过程中,系统生成其定时分析的相关数据。图9.26 【LeonardoSpectrum Synthesis Settings】对话框 小小 结结本章通过几个实例介绍了第三方EDA软件公司提供的几个优秀EDA工具的使用,如Syplicity公司的综合工具Synplify Pro、Aldec公司的仿真工具Active-HDL以及Mentor Graphics公司的高端设计工具FPGA Advantage。通过对第三方EDA软件工具的使用可以充分地利用FPGA的设计资源加速整个设计的进程。