E N D
1.4.1 Altera的可编程逻辑器件设计工具 • Altera的可编程逻辑器件设计工具随着Altera公司在推出各种可编程逻辑器件的同时也在不断升级。从早期的A+PLUS、MAX+PLUS发展到 目前的 MAX+PLUSⅡ、Quartus、QuartusⅡ。MAX+PLUS Ⅱ和 Quartus Ⅱ具有可视化的设计环境,具有工业标准 EDA工具接口,可以运行在多种操作平台上。MAX + PLUSⅡ和Quartus Ⅱ提供了一种与结构无关的设计环境,设计人员不需要精通器件的内部结构,只需要运用自己熟悉的输入工具(如原理图输入或高级行为描述语言)进行设计,利用 MAX +PLUSⅡ和 QuartusⅡ可以将这些设计转换为最终结构所需要的格式。有关结构的详细知识已装入开发工具软件,设计人员无须手工优化自己的设计,因此设计速度非常快。
使用MAX+PLUSⅡ和QuartusⅡ软件开发可编程逻辑器件,包括设计输入、项目编译、设计校验及器件编程等过程。MAX+PLUSⅡ和 QuartusⅡ提供了全面的逻辑设计能力,设计人员可将文本、图形和波形等设计方法自由组合,建立起层次化的单器件或多器件设计。编译过程完成最小化逻辑综合、适配设计项目于单个器件或多个器件以及形成编程和配置数据等工作。设计校验包括功能仿真、时序仿真、影响速度的关键路径的延时预测以及多种系列器件混合使用的多器件仿真。
1. MAX+PLUSⅡ设计工具 • MAX+PLUSⅡ是Multiple Array Matrix and Programmable Logic User System的缩写,它提供了与结构无关的设计环境,支持FLEX、MAX及Classic系列器件,目前已升级至10.1版本。 • MAX+PLUSⅡ具有开放的界面,可与其它工业标准的EDA设计输入、综合及校验工具相连接。提供与结构无关的设计环境,支持多平台工作,既可以在Windows下运行,也可在Sun SPAC Stations、HP9000 Series 700/800和 IBM RISC System/6000工作站上运行。
MAX+PLUSⅡ提供丰富的逻辑功能库供设计人员调用,其中包括74系列全部器件的等效宏功能库和多种特殊的宏功能(Macro Function)模块以及参数化的宏功能(Magefunction)模块。MAX+PLUSⅡ还具有开放核的特点,允许设计人员添加自己的宏功能模块。充分利用这些逻辑功能模块,可以大大减轻设计的工作量,成倍缩短开发周期。 • MAX+PLUSⅡ软件支持各种HDL语言设计输入,包括VHDL、Verilog HDL和 Altera自己的硬件描述语言 AHDL。
MAX十PLUS Ⅱ编译器可以工作于PC机及在各种工作站平台上运行,使其成为业界唯一具有与平台和结构无关的可编程逻辑设计环境。Altera与业界处于领先地位的EDA工具厂商组成 ACCESS联盟,确保了 Altera EDA具与这些支持Altera器件的 EDA工具之间接口。
(1)MAX+PLUSⅡ的安装 • 推荐的PC系统配置:奔腾Ⅱ或更好的PC机,256 MB以上的有效内存,不低于 128 MB的物理内存,500 MB以上的硬盘空间,Windows 95、Windows 98、Windows 2000或 Windows NT 3.51、Windows NT 4.0操作系统,17英寸显示器。
(2)版本 • MAX+PLUSⅡ软件按使用平台可分为PC机版和工作站版,按使用对象可分为商业版、基本版和学生版。 • 商业版:支持全部的输入方式,可以对设计电路进行功能分析、时序分析,并能将设计结果装载到Altera公司的各种芯片中。商业版软件运行时需要一个授权码和一个并口硬件狗。 • 基本版(BASELINE):免费软件,在商业版上作了一些限制,支持30 000门以下所有设计,支持原理图、AHDL语言,支持波形仿真、时间分析、编程下载,不支持VHDL语言,不支持某些器件等,约 40 MB。基本版不需要并口硬件狗,只需要向 Altera公司申请一个基本版授权码即可。 • 学生版(E+MAX)免费软件,功能与BASELINE版相同,但只支持MAX系列,约2 0MB。若要安装学生版,可以向Altera公司大学项目部申请一个学生版授权码。
2. QuartusⅡ设计工具 • QuartusⅡ是Altera的新一代设计开发软件,支持APEX20K、APEXⅡ、Excalibur、Mercury以及Stratix等新器件系列。为了缩短设计周期和降低设计复杂度,Quartus Ⅱ含有工作组计算、集成逻辑分析功能、EDA工具集成、多过程支持、增强重编译和IP集成等特性。 • QuartusⅡ软件加强了网络功能,它具有最新的Internet技术,设计人员可以直接通过Internet获得 Altera的技术支持。
QuartusⅡ的安装需要的PC机系统配置:奔腾Ⅱ或更好的PC机,256 MB以上的有效内存,不低于 128 MB的物理内存,1.5 GB以上的硬盘空间,Windows 98、Windows 2000或Windows NT 3.51、Windows NT 4.0操作系统,17英寸显示器。 • 与MAX+PLUSⅡ一样,QuartusⅡ也分为商业版和基本版。
通过EDIF网表文件、SRAM目标文件(.sof)参数化的模块库(LPM)、 Verilog HDL、VHDL及DesignWare组件来共享信息, QuartusⅡ和MAX+PLUSⅡ软件可与 Cadence、Mentor Graphics、OrCAD、Synopsys、Synplicity、Exemplar Logic及 Viewlogic等许多公司提供的多种 EDA工具接口。 • QuartusⅡ能够调用其它工具进行综合仿真,其它EDA工具也能够直接调用 QuartusⅡ工具进行设计编辑。
1.4.2 Xilinx的可编程逻辑器件设计工具 • 1. ISE 5.x的特点 • Xilinx 是最大的FPGA/CPLD 生产商之一,其设计开发的软件也不断升级换代,已从Foundation系列发展到目前的ISE 5.x系列。ISE(Integrated System Configuration)是集成综合环境的简称,是Xilinx提供的一套工具集,其集成的设计工具可以完成整个FPGA/CPLD的开发过程。ISE 5.x支持几乎所有的 Xilinx FPGA/CPLD主流器件。
1. ISE 5.x的特点 • ISE的界面采用可视化编程技术,界面根据设计流程而组织,整个设计过程只需按照界面组织结构依次点击相应的按钮或选择相应的选项即可。 • ISE具有丰富的在线帮助信息,结合Xilinx的技术支持网站,一般设计过程中可能遇到的问题都能得到很好的解决。
ISE具有强大辅助功能,在编写代码时可以使用编写向导生成文件共和模块框架,也可使用语言模板(Language Templates)帮助编写代码。在图形输入时可以使用ECS的辅助项帮助设计原理图。另外,ISE的 Core Generator和 LogiBLOX工具可以方便地生成 IP Core (IP核)与高效模块为用户所用,大大减少了设计者的工作量,提高了设计效率与质量。 • ISE 5.x通过改进综合、实现等关键环节的优化手段与方法,提高了设计的工作速度,减小了设计消耗的面积,使设计结果能更好地调动芯片的内部资源,工作更高效。
ISE 5.x采用了增量方式综合与增量方式布局布线设计流程。增量方式综合是在综合过程仅对修改过的模块进行重新编译,保持未改变设计的原有综合结果。增量方式布局布线与之相似,对未变化模块保持原有布局布线结果,仅对更改部分进行重新布局布线。增量设计流程大大减少了综合与布局布线所消耗的时间,保证了未改变部分的实现结果与上次实现一致,提高了整体设计的可靠性。
ISE 5.x的结构设计向导(Architecture Wizard)能方便地定制数字时钟管理器(DCM,Digital Clock Manager)和高速 I/O(Rocket I/OTM),生成可综合的HDL源代码。 • ISE 5.x的引脚与区域约束编辑器(PACE,Pinout and Area Constraints Editor)能方便地指定I/O管脚约束,直接引出测试脚,并能对设计进行面积约束,自动生成用户约束文件,是约束编辑器Constraints Editor)的一个有益补充。
ISE工程管理器(Project Navigator)的信息显示区具有对所有操作步骤的命令显示,使用这些命令可以采用批处理命令方式运行ISE 内部工具,完成综合、翻译、映射、布局布线直至配置文件生成。 • IP核生成器(Core Generator)具有生成用户IP核功能。在IP Capture工具指导下,用户可以生成自己的IP核。一方面实现了模块复用,另一方面保护了知识产权。
Xilinx FPGA/CPLD配置软件(iMPACT)自动对下载环境进行边界扫描,检测所选器件的类型,根据设置将配置文件烧写入FPGA/CPLD或者配套型号的EEPROM中。ISE 5.x将iMPACT与配置文件生成器(BitGen)集成起来,使生成配置文件和配置FGPA/CPLD的过程更加符合操作习惯。
ISE 5.x的时序提高向导(Timing Improvement Wizard)功能可以帮助用户在时序分析器界面下,对不满足时序约束的关键路径的设计加以改正。 • ISE5.x的约束编辑器(Constraints Editor)支持更多的约束内容。如对第M全局时钟、输入/输出端口寄存器进行设置等。图形设计输入界面(ECS)功能也有所增强,增加了自动布线和层次化元件库模型等功能。
集成的 HDL测试文件自动生成器(HDL Bencher)可以帮助用户根据设计输入方便地生成测试文件。 • 集成的图形化状态机输入辅助设计软件(StateCAD)可以根据从图形界面输入状态转移图自动生成相应的代码,完成状态机的设计。 • 功耗计算软件(XPOWER)支持全面的器件功耗计算。
在线逻辑分析仪(ChipScope Pro)的Core Inserter集成到Project Navigator界面下,用户可以在 Project Navigator中直接调用该工具。 • ISE 5.x集成了模块化设计(Modular Design)工具包。Modular Design是一种适用于大型复杂设计的并行协同性设计工具。
2. ISE 5.x的集成工具及其基本功能 • ISE的集成工具主要分为设计输入工具、综合工具、仿真工具、实现工具和辅助设计工具等5类。
(1)设计输入工具 • 设计输入是工程设计的第一步,ISE集成的设计工具主要包括HDL编辑器(HDL Editor)、状态机编辑器(StateCAD)、原理图编辑器(ECS)、IP 核生成器(Core Generator)和测试激励生成器(HDL Bencher)等。 • HDL编辑器(HDL Editor)可以完成设计电路的HDL语言的输入,支持 VHDL、ABEL和 Verilog HDL的输入。
状态机编辑器(StateCAD)采用状态转移图设计状态机。设计者只需画出状态转移图,状态机编辑器就能自动生成相应的VHDL、ABEL或Verilog HDL语言模型。 • 原理图编辑器 ECS(Schematic Editor)用于完成电路的原理图输入。原理图输入方式在大规模设计中逐渐被HDL语言输入方式所取代,所以本书推荐初学者尽量采用HDL语言方式设计电路。
IP核生成器(Core Generator)提供了大量Xilinx和第三方公司设计的成熟、高效IP核(IP Core)为用户所用。IP核生成器可生成的IP核可以分为基本模块,通信与网络模块,数字信号处理模块,数学功能模块,存储器模块,微处理器、控制器与外设模块,标准与协议设计模块,语音处理模块,标准总线模块和视频与图像处理模块等10大功能模块。
测试激励生成器(HDL Bencher)辅助用户设计测试激励文件。将 VHDL源代码、Verilog源代码和ECS原理图等设计输入导入其测试环境,根据激励波形直接生成测试激励文件,然后进行仿真验证,并分析测试激励的覆盖率。
(2)综合工具 • ISE集成的综合工具主要有 Synplicity公司的 Synplify/synplify Pro,Synopsys公司的FPGA Compiler II/Express,Exemplar Logic公司的 LeonardoSpectrum和 Xilinx ISE中的 XST等。 • Synplify/synplify Pro的综合结果往往面积较小,速度较快。结合Synplicity公司的 Amplify物理约束功能,对很多设计能大幅度地减少资源,优化面积达到30%以上。
(2)综合工具 • FPGA Express的综合结果比较忠实于原设计,其升级版本FPGA Compiler II是最好的ASIC/FPGA设计工具之一。需要指出的是ISE 5.x系列不再直接集成FPGA Express综合工具。 • Mentor的子公司 Exemplar Logic出品的LeonardoSpectrum的综合优化能力也非常高,对Xilinx器件的支持较好。
XST(Xilinx Synthesis Technology)是 Xilinx 自主开发的综合工具。XST的一些优化策略是其他综合工具无法比拟的。XST对某些使用到Xilinx 内部核心的设计的综合结果要比其他综合工具优越很多。
(3)仿真工具 • ISE集成的仿真工具主要有 Model Tech公司的仿真工具 Modelsim和测试激励生成器HDL Bencher等。 • Modelsim是一个优秀的仿真工具,主要特点是仿真速度快,仿真精度高。Modelsim支持VHDL、Verilog HDL以及VHDL和Verilog HDL混合编程的仿真。Modelsim的PC版的仿真速度也很快,甚至和工作站版不相上下。
HDL Bencher是一种根据电路设计输入,自动生成测试激励的工具,它可以把工程师从书写测试激励文件的繁重工作中部分解脱出来。HDL Bencher的Xilinx版本可以支持VHDL语言输入,Verilog HDL语言输入和Xilinx原理图输入等 3种输入方法。将这些设计输入导入到 HDL Bencher中,就能自动生成相应的测试激励文件。
(4)实现工具 • ISE集成的实现工具主要有约束编辑器(Constraints Editor)、 引脚与区域约束编辑器(PACE)、时序分析器(Timing Analyzer)、 FPGA底层编辑器(FPGA Editor)、芯片观察窗(Chip Viewer)和布局规划器(Floorplanner)等。
引脚与区域约束编辑器(PACE,Pinout and Area Constraints Editor)可以直接将信号指定到I/O管脚,方便地拉出测试信号,对设计进行面积约束,自动生成用户约束文件,是约束编辑器的有益补充。 • 时序分析器是分析实现结果是否满足约束条件、芯片的工作速率以及关键路径等时延信息的工具。能方便地将实现过程生成的各种时延报告分类显示,并对比约束文件,分析是否满足时序要求。
芯片观察窗给用户提供一个图形界面观察适配前(Pre-fitting)和适配后(Post-fitting)的输入输出、管脚锁定、宏单元结构等信息。芯片观察窗给用户提供一个图形界面观察适配前(Pre-fitting)和适配后(Post-fitting)的输入输出、管脚锁定、宏单元结构等信息。 • FPGA底层编辑器读取FPGA的布线信息(.nod)文件,用图形化界面显示FPGA内部的CLB和IOB模块结构,根据用户的设置与修改生成Xilinx物理约束文件(PCF文件)。
布局规划器与FPGA Editor相似,也能改变FPGA内部的CLB和IOB的连接配置情况。通过交互图形界面,用户可以观察到FPGA 内的连接情况,并且手动进行物理位置约束。可以在实现过程的映射(Mapping)前、映射后、布局布线(Place&Route)等不同阶段约束设计;它可以导入NGD、NCD、FNF和UCF等格式的文件,生成UCF和MFP等约束关系。
(5)辅助设计工具 • ISE集成的主要辅助设计工具: • PROM配置文件分割器(PROM File Formatter)可以完成配置文件的分割,主要功能有3个:一是将Xilinx的配置文件(.bit文件)转换成外置存储器能识别的格式;二是当FPGA/CPLD菊花链连接时,将每个芯片的配置文件组合起来并重新分割;三是在Xilinx FPGA多重配置时,将不同应用的配置文件合为一个配置文件。PROM配置文件分割器支持的输入文件格式有 4种:Intel MCS-86文件格式(扩展名为.mcs)、Tektronix TEKHEX文件格式(扩展名为.tek)、Motorola EXORmacs文件格式(扩展名为.exo)和 HEX文件格式(扩展名为.hex)。
iMPACT配置器可以实现将配置文件下载到FPGA/CPLD或相应的存储器等功能。它的主要功能是下载、回读与校验配置数据,调试配置过程中出现的问题,生成 SVF和 STAPL又件。ISE中 iMPACT与 Foundation系列较低版本的配置器相比有了很大的改进与提高,它的边界扫描、芯片检查、下载功能越来越完善。
功耗仿真器(XPower)是估计设计功耗的工具。当整个设计实现过程完成后,调用功耗仿真器。功耗仿真器可以根据设计所使用的门的数量,驱动电压、电流的大小,环境温度等估算芯片的结温、静态功耗、逻辑模块功耗、时钟功耗、输出功耗和总功耗等信息,帮助PCB系统设计人员设计系统。功耗仿真器可以分析Xilinx的FPGA和其CoolRunner系列CPLD的功耗。功耗仿真器(XPower)是估计设计功耗的工具。当整个设计实现过程完成后,调用功耗仿真器。功耗仿真器可以根据设计所使用的门的数量,驱动电压、电流的大小,环境温度等估算芯片的结温、静态功耗、逻辑模块功耗、时钟功耗、输出功耗和总功耗等信息,帮助PCB系统设计人员设计系统。功耗仿真器可以分析Xilinx的FPGA和其CoolRunner系列CPLD的功耗。
在线逻辑分析仪(Chip Scope Pro)是Xilinx与 Agilent合作开发的针对Xilinx Virtex-ⅡPro/ Virtex/ Virtex-Ⅱ/ Virtex-E/ Virtex-EM/ Spartan-ⅡE系列FPGA的在线片内信号分析工具,它的主要功能是通过JTAG口,在线、实时地读出 FPGA的内部信号。Chipscope Pro的基本原理根据用户设定的触发条件将信号实时地保存到FPGA中未使用到的块RAM中,然后通过JTAG口将信号传送到计算机,并在计算机屏幕上显示出时序波形。
模块化设计(Modular Design)是一种进行并行工作、协同设计的工作方法和设计工具。其最显著优势有两个,一是协同设计,即所有设计小组成员可以在最大程度上互不干扰地设计自己的子模块,从而加速了项目进度;二是在调试、更改某个有缺陷的子模块时,并不会影响到其他模块的实现结果,从而保证了设计的稳定性与可靠性。
2. ISE 5.x支持的器件 • ISE 5.x支持所有 Xilinx的 FPGA/CPLD主流产品,而对于逐步淘汰的 Spartan、SpartanXL和XC4000E/EX/L/XL/XLA系列FPGA将不再支持。ISE 5.x支持如下系列的 FPGA/CPLD:Virtex、VirtexE、Virtex2和 Virtex2 PRO;SpartanⅡ、SpartanⅡE;CPLD(9500、9500XL、9500XV),CoolRunner XPLA3和 CoolRunner Ⅱ。
3. ISE 5.x的系统配置 • ISE 5.x推荐的系统配置与设计所选的芯片型号有关。总的来说因为综合与实现过程运算量巨大,系统配置要求较高。当工作的芯片规模较大,而且设计复杂,时序要求较高时,系统配置低的计算机将无法完成设计流程。系统推荐的配置较高,有的需要配置工作站。为了提高综合、实现过程的速度,除了要提高系统CPU、主板和硬盘的工作速度外,最主要的是提高内存的配置。系统推荐的内存配置与所选的芯片型号有关,从128MB(XC9500系列)到3GB(Virtex2 PRO系列)。
4. ISE 5.x支持的操作系统 • ISE 5.x可以在Solaris 2.6/2.7/2.8/5.8、Wndows NT/98 se/Me/2000 Professional/XP、Linux/Wine等操作系统上安装应用。
5. 可与ISE 5.x配合使用的 EDA工具 • 可与ISE5.x配合使用的 EDA工具有 LEDA寄存器传输级分析工具,Synplicity公司的Synplify、Synplify Pro和 Amplify Physical Optimidzer等综合工具,Mentor公司的LeonardoSpecmim 综合工具和Seamless-CVE联合验证工具,Synopsys公司的Formality验证工具和Prime Time 时序分析工具,VVerplex公司的Conformal逻辑验证工具,CoWare公司的软硬件联合设计工具,Celoxica公司的DK1.1联合设计与验证工具包等。
6. XPS集成开发环境 • 针对嵌入PowerPC405的FPGA设计,Xilinx公司基于ISE5.x系列软件推出了专用开发工具EDK。XPS是EDK的集成开发环境,在XPS集成开发环境中,可以完成: • ①创建新工程。 • ②在XPS新建工程中,创建或导入MHS文件,该文件描述了包括PowerPC405内核在内的整个平台FPGA的硬件系统。
③选择Tools→Generate Netlists,产生当前FPGA硬件系统的网表文件和约束文件。 • ④选择Options→Project Options,设置相应的属性对话框。 • ⑤选择 Tools→Export to ProjNav,创建一个 ISE5.x的工程文件。 • ⑥在ISE5.x系列软件中,完成包括PowerPC405内核在内的整个平台FPGA的硬件系统设计。
⑦为PowerPC405内核的外围设备指定驱动程序。 • ⑧为PowerPC405内核指定应用程序。 • ⑨选择 Tools→Generate Libraries和 Tools→Compile Program Sources,编译应用程序和设备驱动程序。 • ⑩调用Xygwin并生成目标文件。