1.4 fpga 设计工具

48
1.4 FPGA 设设设设

Upload: courtney-fischer

Post on 30-Dec-2015

118 views

Category:

Documents


0 download

DESCRIPTION

1.4 FPGA 设计工具. 1.4.1 Altera 的可编程逻辑器件设计工具. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 1.4 FPGA 设计工具

1.4 FPGA 设计工具

Page 2: 1.4 FPGA 设计工具

1.4.1 Altera 的可编程逻辑器件设计工具 Altera 的可编程逻辑器件设计工具随着 Altera 公

司在推出各种可编程逻辑器件的同时也在不断升级。从早期的 A + PLUS 、 MAX + PLUS 发展到 目前的 MAX + PLUSⅡ 、 Quartus 、 QuartusⅡ 。 MAX + PLUS Ⅱ 和 Quartus Ⅱ 具有可视化的设计环境,具有工业标准 EDA 工具接口,可以运行在多种操作平台上。 MAX + PLUSⅡ 和 Quartus Ⅱ 提供了一种与结构无关的设计环境,设计人员不需要精通器件的内部结构,只需要运用自己熟悉的输入工具(如原理图输入或高级行为描述语言)进行设计,利用 MAX + PLUSⅡ 和 QuartusⅡ 可以将这些设计转换为最终结构所需要的格式。有关结构的详细知识已装入开发工具软件,设计人员无须手工优化自己的设计,因此设计速度非常快。

Page 3: 1.4 FPGA 设计工具

使用 MAX + PLUSⅡ 和 QuartusⅡ 软件开发可编程逻辑器件,包括设计输入、项目编译、设计校验及器件编程等过程。 MAX + PLUSⅡ 和 QuartusⅡ提供了全面的逻辑设计能力,设计人员可将文本、图形和波形等设计方法自由组合,建立起层次化的单器件或多器件设计。编译过程完成最小化逻辑综合、适配设计项目于单个器件或多个器件以及形成编程和配置数据等工作。设计校验包括功能仿真、时序仿真、影响速度的关键路径的延时预测以及多种系列器件混合使用的多器件仿真。

Page 4: 1.4 FPGA 设计工具

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 工作站上运行。

Page 5: 1.4 FPGA 设计工具

MAX + PLUSⅡ 提供丰富的逻辑功能库供设计人员调用,其中包括 74 系列全部器件的等效宏功能库和多种特殊的宏功能( Macro Function )模块以及参数化的宏功能( Magefunction )模块。 MAX + PLUSⅡ还具有开放核的特点,允许设计人员添加自己的宏功能模块。充分利用这些逻辑功能模块,可以大大减轻设计的工作量,成倍缩短开发周期。

MAX + PLUSⅡ 软件支持各种 HDL 语言设计输入,包括 VHDL 、 Verilog HDL 和 Altera 自己的硬件描述语言 AHDL 。

Page 6: 1.4 FPGA 设计工具

MAX十 PLUS Ⅱ 编译器可以工作于 PC机及在各种工作站平台上运行,使其成为业界唯一具有与平台和结构无关的可编程逻辑设计环境。 Altera 与业界处于领先地位的 EDA 工具厂商组成 ACCESS联盟,确保了 Altera EDA 具与这些支持Altera 器件的 EDA 工具之间接口。

Page 7: 1.4 FPGA 设计工具

( 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英寸显示器。

Page 8: 1.4 FPGA 设计工具

( 2)版本 MAX + PLUSⅡ 软件按使用平台可分为 PC机版和工作站

版,按使用对象可分为商业版、基本版和学生版。 商业版:支持全部的输入方式,可以对设计电路进行功

能分析、时序分析,并能将设计结果装载到 Altera 公司的各种芯片中。商业版软件运行时需要一个授权码和一个并口硬件狗。

基本版( BASELINE ):免费软件,在商业版上作了一些限制,支持 30 000门以下所有设计,支持原理图、 AHDL 语言,支持波形仿真、时间分析、编程下载,不支持 VHDL 语言,不支持某些器件等,约 40 MB 。基本版不需要并口硬件狗,只需要向 Altera 公司申请一个基本版授权码即可。

学生版( E + MAX )免费软件,功能与 BASELINE 版相同,但只支持 MAX 系列,约 2 0MB 。若要安装学生版,可以向 Altera 公司大学项目部申请一个学生版授权码。

Page 9: 1.4 FPGA 设计工具

2. QuartusⅡ 设计工具

QuartusⅡ 是 Altera 的新一代设计开发软件,支持 APEX20K、 APEXⅡ 、 Excalibur 、 Mercury 以及 Stratix 等新器件系列。为了缩短设计周期和降低设计复杂度, Quartus Ⅱ含有工作组计算、集成逻辑分析功能、 EDA 工具集成、多过程支持、增强重编译和 IP集成等特性。

QuartusⅡ 软件加强了网络功能,它具有最新的 Internet技术,设计人员可以直接通过 Internet获得 Altera 的技术支持。

Page 10: 1.4 FPGA 设计工具

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Ⅱ 也分为商业版和基本版。

Page 11: 1.4 FPGA 设计工具

通过 EDIF网表文件、 SRAM 目标文件( .sof)参数化的模块库( LPM )、 Verilog HDL 、VHDL 及 DesignWare 组件来共享信息, QuartusⅡ 和 MAX + PLUSⅡ 软件可与 Cadence 、Mentor Graphics 、 OrCAD 、 Synopsys 、 Synplicity 、 Exemplar Logic 及 Viewlogic 等许多公司提供的多种 EDA 工具接口。

QuartusⅡ 能够调用其它工具进行综合仿真,其它 EDA 工具也能够直接调用 QuartusⅡ 工具进行设计编辑。

Page 12: 1.4 FPGA 设计工具

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主流器件。

Page 13: 1.4 FPGA 设计工具

1. ISE 5.x 的特点

ISE 的界面采用可视化编程技术,界面根据设计流程而组织,整个设计过程只需按照界面组织结构依次点击相应的按钮或选择相应的选项即可。

ISE 具有丰富的在线帮助信息,结合 Xilinx的技术支持网站,一般设计过程中可能遇到的问题都能得到很好的解决。

Page 14: 1.4 FPGA 设计工具

ISE 具有强大辅助功能,在编写代码时可以使用编写向导生成文件共和模块框架,也可使用语言模板( Language Templates )帮助编写代码。在图形输入时可以使用 ECS 的辅助项帮助设计原理图。另外, ISE 的 Core Generator 和 LogiBLOX 工具可以方便地生成 IP Core ( IP核)与高效模块为用户所用,大大减少了设计者的工作量,提高了设计效率与质量。

ISE 5.x 通过改进综合、实现等关键环节的优化手段与方法,提高了设计的工作速度,减小了设计消耗的面积,使设计结果能更好地调动芯片的内部资源,工作更高效。

Page 15: 1.4 FPGA 设计工具

ISE 5.x采用了增量方式综合与增量方式布局布线设计流程。增量方式综合是在综合过程仅对修改过的模块进行重新编译,保持未改变设计的原有综合结果。增量方式布局布线与之相似,对未变化模块保持原有布局布线结果,仅对更改部分进行重新布局布线。增量设计流程大大减少了综合与布局布线所消耗的时间,保证了未改变部分的实现结果与上次实现一致,提高了整体设计的可靠性。

Page 16: 1.4 FPGA 设计工具

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 )的一个有益补充。

Page 17: 1.4 FPGA 设计工具

ISE 工程管理器( Project Navigator )的信息显示区具有对所有操作步骤的命令显示,使用这些命令可以采用批处理命令方式运行 ISE 内部工具,完成综合、翻译、映射、布局布线直至配置文件生成。

IP核生成器( Core Generator )具有生成用户 IP核功能。在 IP Capture 工具指导下,用户可以生成自己的 IP核。一方面实现了模块复用,另一方面保护了知识产权。

Page 18: 1.4 FPGA 设计工具

Xilinx FPGA / CPLD 配置软件( iMPACT)自动对下载环境进行边界扫描,检测所选器件的类型,根据设置将配置文件烧写入 FPGA/CPLD 或者配套型号的 EEPROM 中。 ISE 5.x 将 iMPACT与配置文件生成器( BitGen )集成起来,使生成配置文件和配置 FGPA / CPLD 的过程更加符合操作习惯。

Page 19: 1.4 FPGA 设计工具

ISE 5.x 的时序提高向导( Timing Improvement Wizard )功能可以帮助用户在时序分析器界面下,对不满足时序约束的关键路径的设计加以改正。

ISE5.x 的约束编辑器( Constraints Editor )支持更多的约束内容。如对第M 全局时钟、输入/输出端口寄存器进行设置等。图形设计输入界面( ECS )功能也有所增强,增加了自动布线和层次化元件库模型等功能。

Page 20: 1.4 FPGA 设计工具

集成的 HDL 测试文件自动生成器( HDL Bencher )可以帮助用户根据设计输入方便地生成测试文件。

集成的图形化状态机输入辅助设计软件( StateCAD )可以根据从图形界面输入状态转移图自动生成相应的代码,完成状态机的设计。

功耗计算软件( XPOWER )支持全面的器件功耗计算。

Page 21: 1.4 FPGA 设计工具

在线逻辑分析仪( ChipScope Pro )的Core Inserter集成到 Project Navigator界面下,用户可以在 Project Navigator中直接调用该工具。

ISE 5.x集成了模块化设计( Modular Design )工具包。 Modular Design 是一种适用于大型复杂设计的并行协同性设计工具。

Page 22: 1.4 FPGA 设计工具

2. ISE 5.x 的集成工具及其基本功能

ISE 的集成工具主要分为设计输入工具、综合工具、仿真工具、实现工具和辅助设计工具等 5 类。

Page 23: 1.4 FPGA 设计工具

( 1 )设计输入工具 设计输入是工程设计的第一步, ISE集成的设

计工具主要包括 HDL 编辑器( HDL Editor )、状态机编辑器( StateCAD )、原理图编辑器( ECS )、 IP 核生成器( Core Generator )和测试激励生成器( HDL Bencher )等。

HDL 编辑器( HDL Editor )可以完成设计电路的 HDL 语言的输入,支持 VHDL 、 ABEL和 Verilog HDL 的输入。

Page 24: 1.4 FPGA 设计工具

状态机编辑器( StateCAD )采用状态转移图设计状态机。设计者只需画出状态转移图,状态机编辑器就能自动生成相应的 VHDL 、 ABEL 或 Verilog HDL 语言模型。

原理图编辑器 ECS ( Schematic Editor )用于完成电路的原理图输入。原理图输入方式在大规模设计中逐渐被 HDL 语言输入方式所取代,所以本书推荐初学者尽量采用 HDL 语言方式设计电路。

Page 25: 1.4 FPGA 设计工具

IP核生成器( Core Generator )提供了大量 Xilinx 和第三方公司设计的成熟、高效 IP核( IP Core )为用户所用。 IP核生成器可生成的 IP核可以分为基本模块,通信与网络模块,数字信号处理模块,数学功能模块,存储器模块,微处理器、控制器与外设模块,标准与协议设计模块,语音处理模块,标准总线模块和视频与图像处理模块等 10大功能模块。

Page 26: 1.4 FPGA 设计工具

测试激励生成器( HDL Bencher )辅助用户设计测试激励文件。将 VHDL源代码、 Verilog源代码和 ECS 原理图等设计输入导入其测试环境,根据激励波形直接生成测试激励文件,然后进行仿真验证,并分析测试激励的覆盖率。

Page 27: 1.4 FPGA 设计工具

( 2)综合工具

ISE集成的综合工具主要有 Synplicity 公司的 Synplify/synplify Pro , Synopsys 公司的 FPGA Compiler II / Express , Exemplar Logic公司的 LeonardoSpectrum 和 Xilinx ISE 中的 XST等。

Synplify/synplify Pro 的综合结果往往面积较小,速度较快。结合 Synplicity 公司的 Amplify物理约束功能,对很多设计能大幅度地减少资源,优化面积达到 30%以上。

Page 28: 1.4 FPGA 设计工具

( 2)综合工具

FPGA Express 的综合结果比较忠实于原设计,其升级版本 FPGA Compiler II 是最好的 ASIC/FPGA 设计工具之一。需要指出的是 ISE 5.x 系列不再直接集成 FPGA Express 综合工具。

Mentor 的子公司 Exemplar Logic 出品的 LeonardoSpectrum 的综合优化能力也非常高,对 Xilinx 器件的支持较好。

Page 29: 1.4 FPGA 设计工具

XST( Xilinx Synthesis Technology )是 Xilinx 自主开发的综合工具。 XST的一些优化策略是其他综合工具无法比拟的。 XST 对某些使用到 Xilinx 内部核心的设计的综合结果要比其他综合工具优越很多。

Page 30: 1.4 FPGA 设计工具

( 3)仿真工具

ISE集成的仿真工具主要有 Model Tech公司的仿真工具 Modelsim 和测试激励生成器 HDL Bencher 等。

Modelsim 是一个优秀的仿真工具,主要特点是仿真速度快,仿真精度高。 Modelsim 支持VHDL 、 Verilog HDL 以及 VHDL 和 Verilog HDL 混合编程的仿真。 Modelsim 的 PC 版的仿真速度也很快,甚至和工作站版不相上下。

Page 31: 1.4 FPGA 设计工具

HDL Bencher 是一种根据电路设计输入,自动生成测试激励的工具,它可以把工程师从书写测试激励文件的繁重工作中部分解脱出来。 HDL Bencher 的 Xilinx版本可以支持 VHDL 语言输入, Verilog HDL 语言输入和 Xilinx 原理图输入等 3种输入方法。将这些设计输入导入到 HDL Bencher 中,就能自动生成相应的测试激励文件。

Page 32: 1.4 FPGA 设计工具

( 4 )实现工具

ISE集成的实现工具主要有约束编辑器( Constraints Editor )、 引脚与区域约束编辑器( PACE )、时序分析器( Timing Analyzer )、 FPGA底层编辑器( FPGA Editor )、芯片观察窗( Chip Viewer )和布局规划器( Floorplanner )等。

Page 33: 1.4 FPGA 设计工具

约束编辑器是帮助工程师设计用户约束文件( ucf)的工具。用户约束文件是指导实现过程的约束文件。它与指导综合过程的约束文件既有区别又有联系。约束文件包含时钟属性、延时特性、管脚位置、寄存器分组、布局布线要求和特殊属性等信息,这些信息指导实现过程,是由用户设计的决定电路实现的目标与标准。设计约束文件有较高的技巧性,如果约束文件设计得当,会帮助 ISE达到用户的设计目标,如果过约束或者约束不当,会影响电路特性。

Page 34: 1.4 FPGA 设计工具

引脚与区域约束编辑器( PACE , Pinout and Area Constraints Editor )可以直接将信号指定到 I/O 管脚,方便地拉出测试信号,对设计进行面积约束,自动生成用户约束文件,是约束编辑器的有益补充。

时序分析器是分析实现结果是否满足约束条件、芯片的工作速率以及关键路径等时延信息的工具。能方便地将实现过程生成的各种时延报告分类显示,并对比约束文件,分析是否满足时序要求。

Page 35: 1.4 FPGA 设计工具

芯片观察窗给用户提供一个图形界面观察适配前( Pre-fitting )和适配后( Post-fitting )的输入输出、管脚锁定、宏单元结构等信息。

FPGA底层编辑器读取 FPGA 的布线信息( .nod )文件,用图形化界面显示 FPGA 内部的 CLB 和 IOB模块结构,根据用户的设置与修改生成 Xilinx物理约束文件( PCF 文件)。

Page 36: 1.4 FPGA 设计工具

布局规划器与 FPGA Editor 相似,也能改变 FPGA 内部的 CLB 和 IOB 的连接配置情况。通过交互图形界面,用户可以观察到 FPGA 内的连接情况,并且手动进行物理位置约束。可以在实现过程的映射( Mapping )前、映射后、布局布线( Place& Route )等不同阶段约束设计;它可以导入 NGD 、 NCD 、 FNF 和 UCF 等格式的文件,生成 UCF 和 MFP 等约束关系。

Page 37: 1.4 FPGA 设计工具

( 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 )。

Page 38: 1.4 FPGA 设计工具

iMPACT配置器可以实现将配置文件下载到 FPGA / CPLD 或相应的存储器等功能。它的主要功能是下载、回读与校验配置数据,调试配置过程中出现的问题,生成 SVF 和 STAPL又件。 ISE 中 iMPACT与 Foundation 系列较低版本的配置器相比有了很大的改进与提高,它的边界扫描、芯片检查、下载功能越来越完善。

Page 39: 1.4 FPGA 设计工具

功耗仿真器( XPower )是估计设计功耗的工具。当整个设计实现过程完成后,调用功耗仿真器。功耗仿真器可以根据设计所使用的门的数量,驱动电压、电流的大小,环境温度等估算芯片的结温、静态功耗、逻辑模块功耗、时钟功耗、输出功耗和总功耗等信息,帮助 PCB系统设计人员设计系统。功耗仿真器可以分析Xilinx 的 FPGA 和其 CoolRunner 系列 CPLD的功耗。

Page 40: 1.4 FPGA 设计工具

在线逻辑分析仪( Chip Scope Pro )是 Xilinx与 Agilent 合作开发的针对 Xilinx Virtex-ⅡPro/ Virtex/ Virtex-Ⅱ/ Virtex-E/ Virtex-EM/ Spartan-ⅡE 系列 FPGA 的在线片内信号分析工具,它的主要功能是通过 JTAG 口,在线、实时地读出 FPGA 的内部信号。 Chipscope Pro 的基本原理根据用户设定的触发条件将信号实时地保存到 FPGA 中未使用到的块 RAM 中,然后通过 JTAG 口将信号传送到计算机,并在计算机屏幕上显示出时序波形。

Page 41: 1.4 FPGA 设计工具

模块化设计( Modular Design )是一种进行并行工作、协同设计的工作方法和设计工具。其最显著优势有两个,一是协同设计,即所有设计小组成员可以在最大程度上互不干扰地设计自己的子模块,从而加速了项目进度;二是在调试、更改某个有缺陷的子模块时,并不会影响到其他模块的实现结果,从而保证了设计的稳定性与可靠性。

Page 42: 1.4 FPGA 设计工具

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 Ⅱ 。

Page 43: 1.4 FPGA 设计工具

3. ISE 5.x 的系统配置 ISE 5.x 推荐的系统配置与设计所选的芯片型号

有关。总的来说因为综合与实现过程运算量巨大,系统配置要求较高。当工作的芯片规模较大,而且设计复杂,时序要求较高时,系统配置低的计算机将无法完成设计流程。系统推荐的配置较高,有的需要配置工作站。为了提高综合、实现过程的速度,除了要提高系统 CPU 、主板和硬盘的工作速度外,最主要的是提高内存的配置。系统推荐的内存配置与所选的芯片型号有关,从 128MB ( XC9500 系列)到 3GB ( Virtex2 PRO系列)。

Page 44: 1.4 FPGA 设计工具

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 等操作系统上安装应用。

Page 45: 1.4 FPGA 设计工具

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联合设计与验证工具包等。

Page 46: 1.4 FPGA 设计工具

6. XPS 集成开发环境

针对嵌入 PowerPC405的 FPGA 设计, Xilinx公司基于 ISE5.x 系列软件推出了专用开发工具EDK。 XPS 是 EDK的集成开发环境,在 XPS集成开发环境中,可以完成:

①创建新工程。 ②在 XPS新建工程中,创建或导入 MHS 文件,该文件描述了包括 PowerPC405内核在内的整个平台 FPGA 的硬件系统。

Page 47: 1.4 FPGA 设计工具

③选择Tools→Generate Netlists ,产生当前FPGA硬件系统的网表文件和约束文件。

④选择Options→Project Options ,设置相应的属性对话框。

⑤选择 Tools→Export to ProjNav,创建一个 ISE5.x 的工程文件。

⑥在 ISE5.x 系列软件中,完成包括 PowerPC405内核在内的整个平台 FPGA 的硬件系统设计。

Page 48: 1.4 FPGA 设计工具

⑦为 PowerPC405内核的外围设备指定驱动程序。

⑧为 PowerPC405内核指定应用程序。 ⑨选择 Tools→Generate Libraries 和 Tools→Compile Program Sources ,编译应用程序和设备驱动程序。

⑩调用 Xygwin并生成目标文件。