1、Xilinx ISE 使用入门1、ISE 的安装现以 ISE 5.2i 为例介绍 Xilinx ISE Series 的安装过程。1)系统配置要求ISE 5.2i 推荐的系统配置与设计时选用的芯片有关。因为在综合与实现过程中运算量非常大,所以对系统配置要求很高。为了提高综合、仿真、实现过程的速度,对于计算机的 CPU 的主频、主板和硬盘的工作速度,尤其是内存大小配置都有非常高的要求。在 ISE 5.2i 支持的所有 Xilinx 的 FPGA/CPLD 中,要求最低的 Spartan II 和 XC9500/XL/XV 等系列需要的内存和虚拟内存推荐值均达到 128MB,而对于 Virtex-
2、II XC2V8000 来说,需要的内存和虚拟内存推荐值均高达 3GB。2)ISE 5.2i 的安装以中文版 Windows XP 操作系统为例加以说明。(1)启动 Windows XP,插入 ISE5.2i 安装光盘,自动或选择执行Install.exe,安装界面如图 4.25 所示。图 4.25 ISE5.2i 安装界面(2)单击此时安装界面上的操作选择“下一步”直到出现图示对话框,输入有效的 Registration ID。之后单击“下一步”选择安装路径;再之后点击“下一步” ,会弹出图 4.26 的对话框,可以选择器件模型。图 4.26 器件模型选择对话框(3)点击“下一步” ,如图
3、4.27 所示,可以选择器件种类。图 4.27 器件种类选择对话框通过以上步骤后,可根据具体情况来选择,继续“下一步”即可完成安装。安装完成后,环境变量应作如下描述:若操作系统是 Windows NT/2000/XP,选择开始控制面板系统选项系统高级环境变量,在环境变量中加入:变量名:Xilinx变量值:C:Xilinx(即安装路径)具体设置如图 4.28 所示。图 4.28 环境变量设置操作图3)安装第三方软件在 PC 上安装完 ISE 之后,还需要安装第三方仿真软件,如 ModelSim 等。2 ISE 工程设计流程下面主要概述 ISE 的基本开发流程以及在开发过程中的各个阶段需要用到的工
4、具软件。图 4.29 说明了利用 Xilinx 公司的 ISE 开发设计软件的工程设计流程,具体分为五个步骤:即输入(Design Entry) 、综合(Synthesis) 、实现(Implementation)、验证(Verification) 、下载(Download) 。图 4.29 ISE 的工程设计流程1)图形或文本输入(Design Entry)图形或文本输入包括原理图、状态机、波形图、硬件描述语言(HDL) ,是工程设计的第一步,ISE 集成的设计工具主要包括 HDL 编辑器(HDL Editor) 、状态机编辑器(StateCAD) 、原理图编辑器(ECS) 、IP 核生成器
5、(CoreGenerator)和测试激励生成器(HDL Bencher)等。常用的设计输入方法是硬件描述语言(HDL)和原理图设计输入方法。原理图输入是一种常用的基本的输入方法,其是利用元件库的图形符号和连接线在 ISE 软件的图形编辑器中作出设计原理图,ISE 中设置了具有各种电路元件的元件库,包括各种门电路、触发器、锁存器、计数器、各种中规模电路、各种功能较强的宏功能块等用户只要点击这些器件就能调入图形编辑器中。这种方法的优点是直观、便于理解、元件库资源丰富。但是在大型设计中,这种方法的可维护性差,不利于模块建设与重用。更主要的缺点是:当所选用芯片升级换代后,所有的原理图都要作相应的改动。
6、故在 ISE 软件中一般不利用此种方法。为了克服原理图输入方法的缺点,目前在大型工程设计中,在 ISE 软件中常用的设计方法是 HDL 设计输入法,其中影响最为广泛的 HDL 语言是 VHDL和 Verilog HDL。它们的共同优点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性强,设计不因芯片的工艺和结构的变化而变化,更利于向 ASIC 的移植,故在 ISE 软件中推荐使用 HDL 设计输入法。波形输入及状态机输入方法是两种最常用的辅助设计输入方法,使用波形输入法时,只要绘制出激励波形的输出波形,ISE 软件就能自动地根据响应关系进行设计;而使用状态机输入时,只需设计者画出状态
7、转移图,ISE 软件就能生成相应的 HDL 代码或者原理图,使用十分方便。其中 ISE 工具包中的StateCAD 就能完成状态机输入的功能。但是需要指出的是,后两种设计方法只能在某些特殊情况下缓解设计者的工作量,并不适合所有的设计。2)综合(Synthesis)综合是将行为和功能层次表达的电子系统转化为低层次模块的组合。一般来说,综合是针对 VHDL 来说的,即将 VHDL 描述的模型、算法、行为和功能描述转换为 FPGA/CPLD 基本结构相对应的网表文件,即构成对应的映射关系。在 Xilinx ISE 中,综合工具主要有 Synplicity 公司的Synplify/Synplify P
8、ro,Synopsys 公司的 FPGA Compiler II/ Express, Exemplar Logic 公司的 LeonardoSpectrum 和 Xilinx ISE 中的 XST 等,它们是指将 HDL 语言、原理图等设计输入翻译成由与、或、非门,RAM,寄存器等基本逻辑单元组成的逻辑连接(网表) ,并根据目标与要求优化所形成的逻辑连接,输出 edf 和 edn 等文件,供 CPLD/FPGA 厂家的布局布线器进行实现。3)实现(Implementation)实现是根据所选的芯片的型号将综合输出的逻辑网表适配到具体器件上。Xilinx ISE 的实现过程分为:翻译(Trans
9、late ) 、映射(Map) 、布局布线(Place & Route)等 3 个步骤。ISE 集成的实现工具主要有约束编辑器(Constraints Editor) 、引脚与区域约束编辑器(PACE) 、时序分析器(Timing Analyzer) 、FPGA 底层编辑器(FGPA Editor) 、芯片观察窗(Chip Viewer)和布局规划器(Floorplanner)等。4)验证(Verification)验证(Verification)包含综合后仿真和功能仿真(Simulation)等。功能仿真就是对设计电路的逻辑功能进行模拟测试,看其是否满足设计要求,通常是通过波形图直观地显示输
10、入信号与输出信号之间的关系。综合后仿真在针对目标器件进行适配之后进行,综合后仿真接近真实器件的特性进行,能精确给出输入与输出之间的信号延时数据。ISE 可结合第三方软件进行仿真,常用的工具如 Model Tech 公司的仿真工具 ModelSim 和测试激励生成器 HDL Bencher , Synopsys 公司的 VCS 等。通过仿真能及时发现设计中的错误,加快设计中的错误,加快设计进度,提高设计的可靠性。每个仿真步骤如果出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。5)下载(Download)下载(Download)即编程(Program)设计开发的最后步骤就是将已经仿
11、真实现的程序下载到开发板上,进行在线调试或者说将生成的配置文件写入芯片中进行测试。在 ISE 中对应的工具是 iMPACT。3 VHDL 设计操作指南首先进入 ISE 工程管理器(Project Navigator)界面,如图 4.30 所示。 Project Navigator 是 ISE 所用集成工具的连接纽带,通过使用 Project Navigator,设计者可以创建、组织和管理自己的设计。图 4.30 ISE 工程管理器界面ISE 提供了许多示例工程,这些工程都存放在 ISE 文件当中,可以通过 File-Open Example 来打开。ISE 为我们提供了一个很有特色的工具,那就
12、是语言辅助模板(Language Templates) 。点击 Edit-Language Templates,可以调用语言辅助模板,其界面如图 4.31 所示。图 4.31 ISE 语言辅助模板示意图在语言模板中存放了很多 HDL 语言的通用语法结构和使用范例,特别是许多根据 Xilinx 器件 IP 核与硬件原语编写的实例化程序。使用语言模板,可以方便地把这些语法结构和范例插入到设计者自己的代码文件中,大大方便了程序的编写,提高了工作效率。语言模板按照ABEL、COREGEN、UCF、Verilog 和 VHDL 的顺序存放在模板视窗中。其中COREGEN 的 UCF 是 ISE 5.x
13、新增辅助模板。COREGEN 模板由两个目录组成,分别存放当前工程中生成的 IP 核的 Verilog 和 VHDL 实例化文件,基内容与 IP 核生成器生成 IP 核时自动生成的实例化文件(.veo,.vho)相同。UCF 模板也分成两个目录,依次存放 CPLD 和 FPGA 的用户约束文件(.ucf)的约束范例。这个模板使手工编辑 UCF 文件更加容易。ABEL、Verilog 和 VHDL 三大语言模板大致可以分为下列 4 个项目:(1)器件例化(Component Instantiation):该模板仅存在于 Verilog和 VHDL 中,给出了块 RAM(Block RAM) 、数
14、字时钟延迟锁相环(Clock DLL) 、数字时钟管理单元(DCM) 、分布式 RAM/ROM(Distributed RAM/ROM) 、全局时钟缓冲(Global Clock Buffer) 、查找表(LUT ) 、基于查找表的移位寄存组(SRLUT) 、I/O 器件、乘法器和选择器(MUX)等器件模块的实例化范例。(2)语法模板(Language Templates):该模板给出了基本语法规则和应用范例。(3)综合模板(Synthesis Templates):该模板给出了可综合实现的一些基本单元模块的范例,如乘法器、计数器和触发器等。(4)用户模板(User Templates):该模
15、板存放用户自己创建的特定结构,是语言模板的功能扩展。4 ISE 综合使用实例在 NBA 篮球比赛中有一个 24 秒进攻规则,即从获取球权到投篮击中篮板、篮框、命中或投篮被侵犯,其有效时间合计不能超过 24 秒,否则被判违例,将失去球权。在此过程中,设置 24 秒、启动倒计时、暂停倒计时或者中途终止24 秒(即球权归对方)均由裁判控制。本实例就是设计一个用于篮球比赛的 24秒倒计时器,并且为了模拟现场比赛情况,系统中设置了 24 秒预设键 K1、倒计时启动键 K2 和倒计时暂停键 K3,并将计时精度设置为 0.1 秒。各按键具体功能如下:K1 键按下,LED 灯显示 24 秒;K2 键按下,倒计
16、时;K3 键按下,计时停止。1)新建一个工程(Project)选择 File / New Project 命令,在图 4.32 所示对话框中输入工程名和工程目录,并设置器件参数。本设计使用的器件为Spartan2,xc2s100,tq144,-5。使用 VHDL 硬件描述语言编程。点击 OK 按钮确认。图 4.32 新建工程对话框2)建立和编辑 VHDL 源文件选中工程,点右键选 New Source 选项(如图 4.33 所示) ,添加文件count_t.vhd,led_2.vhd,sec_1.vhd(如图 4.34 所示) 。并在文件中输入相应的 VHDL 程序。图 4.33 添加文件对话
17、框图 4.34 新建 VHDL 文件对话框本设计中将要用到的 VHDL 源程序如下: count_t.zip3)逻辑综合(Synthesize)选中 Synthesize 选项,点 进行参数设置, 可以对任何操作进行参数设置。设置完成后,双击 Synthesize 选项,或右键选择 Run 选项。对其他两个 VHDL 程序进行同样的操作。图 4.35 综合参数设置示意图图 4.36 综合完成后界面4)设计中的有关仿真(1) 创建 Testbench 波形源文件在工程项窗口 Project Window 的源文件中选中 count_t.vhd ,用鼠标右点,在弹出的窗口中选择 New Sourc
18、e(如图 4.37 所示) ,出现 New 对话框,再选择 Test Bench Waveform 文件类型,并输入文件名 wave_1,点击下一步,再点击下一步,完成创建并进行初始化时间设置(如图 4.38 所示) 。图 4.37 选中源文件并创建 Testbench 波形文件图 4.38 创建 Testbench 波形文件的初始化时间设置(2) 设置输入信号初始值根据被仿真模块的设计要求,对各个输入信号进行初始化设置(如图4.39 所示) 。初始化设置完毕后将 testbench 文件存盘,这时 HDL Bencher 会提示我们设置希望仿真的时钟周期数(默认值为 1) ,设置完毕后点击
19、OK 退出HDL Bencher。图 4.39 输入信号的初始设置(3) 生成预期的输出响应由于系统时钟为 50MHz,要分频实现 1Hz 时钟波形过长,因此,下面以 sec_1.vhd 为例介绍仿真。选择对应 sec_1.vhd 的仿真波形文件 wave_3.tbw,执行 Generate Expected Simulation Results 操作(如图 4.40 所示 ),即可得到预期的输出响应波形(如图 4.41 所示),从图中可以看出,输出响应的波形满足设计要求。点击 ,可查看测试激励的覆盖率(如图 4.42 所示)。图 4.40 生成预期的输出响应操作示意图图 4.41 生成预期的
20、输出响应图 4.42 测试激励的覆盖率示意图(4)使用 ModelSim 进行仿真根据 HDL Bencher 中产生的预期结果,接着就可以使用 Modelsim 进行仿真(Simulate)Modelsim 进行仿真可分为行为仿真(亦即功能仿真)和布局布线后仿真(时序仿真) 。我们先进行行为仿真。选择 wave_3.tbw,执行 Simulate Behavioral VHDL Model(行为仿真)操作(如图 4.43 所示) ,可得到如图 4.44 所示的行为仿真结果,从仿真波形可以看出,仿真结果是正确的。仿真完后关闭 Modelsim主窗口退出 Modelsim。图 4.43 行为仿真
21、操作示意图图 4.44 行为仿真波形图再进行时序仿真:选择 wave_3.tbw,执行 Simulate Post-Place & Route VHDL Model(布局布线后仿真,即时序仿真)操作(如图 4.45 所示) ,可得到如图 4.46 所示的时序仿真结果,从仿真波形可以看出,仿真结果是正确的,并且从输入到产生输出,有一定的时间延迟。仿真完后关闭 Modelsim 主窗口退出 Modelsim。图 4.45 时序仿真操作示意图图 4.46 时序仿真波形图依照上述的操作步骤,分别对其他程序进行有关的仿真及分析。5)建立和编辑顶层原理图文件对于顶层文件,即可使用 VHDL 文本输入方式,
22、也可使用原理图输入方式。这里我们将使用原理图的输入方式来建立顶层文件。(1)原理图形符号的生成(Symbol)为了在原理图的设计中利用前面已使用 VHDL 进行有关设计的成果,我们先要将经过编译后的 VHDL 程序生成可供原理图设计中直接调用的原理图形符号。选择 count_t.vhd,执行 Create Schematic Symbol 操作(如图 4.47所示) ,即可生成可供原理图设计中直接调用的原理图形符号 count_t。同理,对其他两个文件执行相同的操作。图 4.47 原理图形符号的创建操作(2)顶层原理图文件的创建选中工程,鼠标右点,在弹出的窗口中选择 New Source(如图
23、 4.48 所示),再在弹出的窗口中选择文件的类型为 Schematic,并输入文件名 pic_top 后,执行”下一步” ,即完成了原理图文件的创建,进入原理图的编辑状态。图 4.48 原理图的创建操作(3)原理图的编辑 放置元件(Symbols):在 Symbols 的 e:/xilinx/bin/24sec 中选中所需元件的原理图符号,并在右边的图中期望的位置点左键进行放置,如图 4.49所示。若位置不合适,可进行移动调整。图 4.49 在原理图中放置元件的操作 元件间的连线:点 ,进行连线操作。 放置 I/O 端口并编辑端口名:点 ,放置/端口。选中端口,点右键,在弹出的对话框中选择“
24、Rename Port”后,再在弹出的对话框中输入系统设定的端口名。或者双击端口,在弹出的对话框中输入系统设定的端口名。 原理图的保存:原理图编辑好后(如图 4.50 所示),应执行存盘操作,将原理图进行保存。图 4.50 编辑好的顶层原理图 原理图错误的检查:为了检查原理图是否有错,可执行原理图的检错操作。若有错,则改正,直到完全正确为止。 原理图的逻辑综合:若原理图经过检查没有错误,可进行逻辑综合。6)设计 ucf 文件首先选中 pic_top ,按右键在弹出的窗口中选择 New Source,再在弹出的新建文件窗口中选择 Implementation Constraints File,并
25、输入文件名top.ucf(如图 4.51 所示) 。接着执行“下一步” ,即进入 ucf 文件的编辑操作,这时我们可根据系统的输入输出要求并参照下载板的用户手册,对系统的端口进行管脚锁定(如图 4.52 所示) 。管脚全部锁定并检查无误后应进行存盘操作。图 4.51 ucf 文件的建立操作示意图图 4.52 本设计的 ucf 文件7)设计实现运行设计实现(Implement Design):选中 pic_top,运行 Implement Design,如图 4.53 所示。图 4.53 运行设计实现操作图在 FloorPlanner 中查看设计布局:展开 Place & Route,运行Vie
26、w/Edit Placed Design (FloorPlanner),即可查看设计布局,如图 4.54 所示。图 4.54 在 FloorPlanner 中查看设计布局操作图8)系统的时序仿真在完成任务上述步骤后,我们可以按照前面已经介绍的方法,对系统(顶层文件)进行时序仿真。9)系统的配置和硬件验证首先选中 pic_top,执行 Generate Programme File ,生成配置文件,如图 4.55 所示。图 4.55 配置文件生成示意图接着双击 Configure Device(iMPACT) ,启动 iMPACT 进行配置。设置配置方式选为 Slave Serial Mode(
27、如图 4.56 所示) ,对应的下载板上拨码开关也设置成 Slave Serial Mode 模式,即 M0,M1 ,M2,PROG,JTAG,SV_SrI 对应的状态为 OFF,OFF,X,ON,OFF,ON。单击完成,运行后弹出 Add Device 对话框,选中 pic_top.bit (如图 4.57 所示) ,点击打开按钮,这时窗口中会出现芯片图样(如图 4.58 所示) ,点右键,选 Program,即执行编程下载功能。执行完毕后出现 Programming Succeeded(如图 4.59 所示) ,则表示下载成功。下载成功后,即可根据系统的设计要求在 EDA 实验开发系统上进行硬件验证。图 4.56 配置方式选择示意图图 4.57 下载文件选择示意图图 4.58 下载操作示意图图 4.59 下载成功示意图