加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSSRSS-巴斯仪表网
您当前的位置:首页 > 电子发烧 > EDA技术

Xilinx ISE 使用入门

时间:2013-08-27  来源:123485.com  作者:9stone

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-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)点击“下一步”,如图4.27所示,可以选择器件种类。
 
图4.27 器件种类选择对话框
    通过以上步骤后,可根据具体情况来选择,继续“下一步”即可完成安装。
    安装完成后,环境变量应作如下描述:
若操作系统是Windows NT/2000/XP,选择开始->控制面板->系统->选项->系统->高级->环境变量,在环境变量中加入:
变量名:Xilinx
变量值:C:Xilinx(即安装路径)
具体设置如图4.28所示。
 
图4.28 环境变量设置操作图
3)安装第三方软件
    在PC上安装完ISE之后,还需要安装第三方仿真软件,如ModelSim等。

2 ISE工程设计流程
    下面主要概述ISE的基本开发流程以及在开发过程中的各个阶段需要用到的工具软件。
    图4.29 说明了利用Xilinx公司的ISE开发设计软件的工程设计流程,具体分为五个步骤:即输入(Design Entry)、综合(Synthesis)、实现(Implementation)、验证(Verification)、下载(Download)。
 
图4.29 ISE的工程设计流程
1)图形或文本输入(Design Entry)
    图形或文本输入包括原理图、状态机、波形图、硬件描述语言(HDL),是工程设计的第一步,ISE集成的设计工具主要包括HDL编辑器(HDL Editor)、状态机编辑器(StateCAD)、原理图编辑器(ECS)、IP核生成器(CoreGenerator)和测试激励生成器(HDL Bencher)等。
    常用的设计输入方法是硬件描述语言(HDL)和原理图设计输入方法。原理图输入是一种常用的基本的输入方法,其是利用元件库的图形符号和连接线在ISE软件的图形编辑器中作出设计原理图,ISE中设置了具有各种电路元件的元件库,包括各种门电路、触发器、锁存器、计数器、各种中规模电路、各种功能较强的宏功能块等用户只要点击这些器件就能调入图形编辑器中。这种方法的优点是直观、便于理解、元件库资源丰富。但是在大型设计中,这种方法的可维护性差,不利于模块建设与重用。更主要的缺点是:当所选用芯片升级换代后,所有的原理图都要作相应的改动。故在ISE软件中一般不利用此种方法。
    为了克服原理图输入方法的缺点,目前在大型工程设计中,在ISE软件中常用的设计方法是HDL设计输入法,其中影响最为广泛的HDL语言是VHDL和Verilog HDL。它们的共同优点是利于由顶向下设计,利于模块的划分与复用,可移植性好,通用性强,设计不因芯片的工艺和结构的变化而变化,更利于向ASIC的移植,故在ISE软件中推荐使用HDL设计输入法。
    波形输入及状态机输入方法是两种最常用的辅助设计输入方法,使用波形输入法时,只要绘制出激励波形的输出波形,ISE软件就能自动地根据响应关系进行设计;而使用状态机输入时,只需设计者画出状态转移图,ISE软件就能生成相应的HDL代码或者原理图,使用十分方便。其中ISE工具包中的StateCAD就能完成状态机输入的功能。但是需要指出的是,后两种设计方法只能在某些特殊情况下缓解设计者的工作量,并不适合所有的设计。

2)综合(Synthesis)
    综合是将行为和功能层次表达的电子系统转化为低层次模块的组合。一般来说,综合是针对VHDL来说的,即将VHDL描述的模型、算法、行为和功能描述转换为FPGA/CPLD基本结构相对应的网表文件,即构成对应的映射关系。
    在Xilinx ISE中,综合工具主要有Synplicity公司的Synplify/Synplify Pro,Synopsys公司的FPGA Compiler II/ Express, Exemplar Logic公司的 LeonardoSpectrum和Xilinx ISE 中的XST等,它们是指将HDL语言、原理图等设计输入翻译成由与、或、非门,RAM,寄存器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求优化所形成的逻辑连接,输出edf和edn等文件,供CPLD/FPGA厂家的布局布线器进行实现。

3)实现(Implementation)
    实现是根据所选的芯片的型号将综合输出的逻辑网表适配到具体器件上。Xilinx ISE的实现过程分为:翻译(Translate)、映射(Map)、布局布线(Place & Route)等3个步骤。
    ISE集成的实现工具主要有约束编辑器(Constraints Editor)、引脚与区域约束编辑器(PACE)、时序分析器(Timing Analyzer)、FPGA底层编辑器(FGPA Editor)、芯片观察窗(Chip Viewer)和布局规划器(Floorplanner)等。

4)验证(Verification)
    验证(Verification)包含综合后仿真和功能仿真(Simulation)等。功能仿真就是对设计电路的逻辑功能进行模拟测试,看其是否满足设计要求,通常是通过波形图直观地显示输入信号与输出信号之间的关系。
    综合后仿真在针对目标器件进行适配之后进行,综合后仿真接近真实器件的特性进行,能精确给出输入与输出之间的信号延时数据。
ISE可结合第三方软件进行仿真,常用的工具如Model Tech公司的仿真工具ModelSim和测试激励生成器HDL Bencher ,Synopsys公司的VCS等。通过仿真能及时发现设计中的错误,加快设计中的错误,加快设计进度,提高设计的可靠性。
每个仿真步骤如果出现问题,就需要根据错误的定位返回到相应的步骤更改或者重新设计。

5)下载(Download)
    下载(Download)即编程(Program)设计开发的最后步骤就是将已经仿真实现的程序下载到开发板上,进行在线调试或者说将生成的配置文件写入芯片中进行测试。在ISE中对应的工具是iMPACT。

3 VHDL设计操作指南
    首先进入ISE工程管理器(Project Navigator)界面,如图4.30所示。 Project Navigator是ISE所用集成工具的连接纽带,通过使用Project Navigator,设计者可以创建、组织和管理自己的设计。
 
图4.30 ISE工程管理器界面
    ISE提供了许多示例工程,这些工程都存放在ISE文件当中,可以通过File->Open Example来打开。
     ISE为我们提供了一个很有特色的工具,那就是语言辅助模板(Language Templates)。点击Edit->Language Templates,可以调用语言辅助模板,其界面如图4.31所示。
 
图4.31 ISE语言辅助模板示意图
    在语言模板中存放了很多HDL语言的通用语法结构和使用范例,特别是许多根据Xilinx器件IP核与硬件原语编写的实例化程序。使用语言模板,可以方便地把这些语法结构和范例插入到设计者自己的代码文件中,大大方便了程序的编写,提高了工作效率。语言模板按照ABEL、COREGEN、UCF、Verilog和VHDL的顺序存放在模板视窗中。其中COREGEN的UCF是ISE 5.x新增辅助模板。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)、数字时钟延迟锁相环(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):该模板存放用户自己创建的特定结构,是语言模板的功能扩展。

4 ISE综合使用实例
    在NBA篮球比赛中有一个24秒进攻规则,即从获取球权到投篮击中篮板、篮框、命中或投篮被侵犯,其有效时间合计不能超过24秒,否则被判违例,将失去球权。在此过程中,设置24秒、启动倒计时、暂停倒计时或者中途终止24秒(即球权归对方)均由裁判控制。本实例就是设计一个用于篮球比赛的24秒倒计时器,并且为了模拟现场比赛情况,系统中设置了24秒预设键K1、倒计时启动键K2和倒计时暂停键K3,并将计时精度设置为0.1秒。各按键具体功能如下:K1键按下,LED灯显示24秒;K2键按下,倒计时;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 添加文件对话框
 
图4.34 新建VHDL文件对话框
本设计中将要用到的VHDL源程序如下:

count_t.zip

3)逻辑综合(Synthesize)
    选中Synthesize选项,点 进行参数设置,可以对任何操作进行参数设置。设置完成后,双击Synthesize选项,或右键选择Run选项。对其他两个VHDL程序进行同样的操作。
 
图4.35 综合参数设置示意图
 
图4.36 综合完成后界面

4)设计中的有关仿真
(1) 创建Testbench波形源文件
     在工程项窗口Project Window的源文件中选中count_t.vhd ,用鼠标右点,在弹出的窗口中选择New Source(如图4.37所示),出现New对话框,再选择Test Bench Waveform文件类型,并输入文件名wave_1,点击下一步,再点击下一步,完成创建并进行初始化时间设置(如图4.38所示)。
 
图4.37 选中源文件并创建Testbench波形文件
 
图4.38 创建Testbench波形文件的初始化时间设置
(2) 设置输入信号初始值
     根据被仿真模块的设计要求,对各个输入信号进行初始化设置(如图4.39所示)。初始化设置完毕后将testbench文件存盘,这时HDL Bencher会提示我们设置希望仿真的时钟周期数(默认值为1),设置完毕后点击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 生成预期的输出响应
 
图4.42 测试激励的覆盖率示意图
(4)使用ModelSim进行仿真
     根据HDL Bencher中产生的预期结果,接着就可以使用Modelsim进行仿真(Simulate)Modelsim进行仿真可分为行为仿真(亦即功能仿真)和布局布线后仿真(时序仿真)。
    我们先进行行为仿真。选择wave_3.tbw,执行Simulate Behavioral VHDL Model(行为仿真)操作(如图4.43所示),可得到如图4.44所示的行为仿真结果,从仿真波形可以看出,仿真结果是正确的。仿真完后关闭Modelsim主窗口退出Modelsim。
 
图4.43 行为仿真操作示意图
 
图4.44 行为仿真波形图
    再进行时序仿真:选择wave_3.tbw,执行Simulate Post-Place & Route VHDL Model(布局布线后仿真,即时序仿真)操作(如图4.45所示),可得到如图4.46所示的时序仿真结果,从仿真波形可以看出,仿真结果是正确的,并且从输入到产生输出,有一定的时间延迟。仿真完后关闭Modelsim主窗口退出Modelsim。
 
图4.45 时序仿真操作示意图
 
图4.46 时序仿真波形图
依照上述的操作步骤,分别对其他程序进行有关的仿真及分析。


5)建立和编辑顶层原理图文件
    对于顶层文件,即可使用VHDL文本输入方式,也可使用原理图输入方式。这里我们将使用原理图的输入方式来建立顶层文件。
(1)原理图形符号的生成(Symbol)
    为了在原理图的设计中利用前面已使用VHDL进行有关设计的成果,我们先要将经过编译后的VHDL程序生成可供原理图设计中直接调用的原理图形符号。
    选择 count_t.vhd,执行Create Schematic Symbol操作(如图4.47所示),即可生成可供原理图设计中直接调用的原理图形符号count_t。同理,对其他两个文件执行相同的操作。
 
图4.47 原理图形符号的创建操作
(2)顶层原理图文件的创建
选中工程,鼠标右点,在弹出的窗口中选择New Source(如图4.48所示) ,再在弹出的窗口中选择文件的类型为Schematic,并输入文件名pic_top后,执行”下一步”,即完成了原理图文件的创建,进入原理图的编辑状态。
 
图4.48 原理图的创建操作
(3)原理图的编辑
① 放置元件(Symbols):在Symbols 的e:/xilinx/bin/24sec中选中所需元件的原理图符号,并在右边的图中期望的位置点左键进行放置,如图4.49所示。若位置不合适,可进行移动调整。
 
图4.49 在原理图中放置元件的操作
② 元件间的连线:点 ,进行连线操作。
③ 放置I/O端口并编辑端口名:点 ,放置I/O端口。选中端口,点右键,在弹出的对话框中选择“Rename Port”后,再在弹出的对话框中输入系统设定的端口名。或者双击端口,在弹出的对话框中输入系统设定的端口名。
④ 原理图的保存:原理图编辑好后(如图4.50所示),应执行存盘操作,将原理图进行保存。
 
图4.50 编辑好的顶层原理图
⑤ 原理图错误的检查:为了检查原理图是否有错,可执行原理图的检错操作。若有错,则改正,直到完全正确为止。
⑥ 原理图的逻辑综合:若原理图经过检查没有错误,可进行逻辑综合。

6)设计ucf文件
    首先选中pic_top ,按右键在弹出的窗口中选择New Source,再在弹出的新建文件窗口中选择Implementation Constraints File,并输入文件名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,运行View/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(如图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 下载成功示意图


分享到:
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
栏目导航->EDA技术
  • 电子应用基础
  • 电源技术
  • 无线传输技术
  • 信号处理
  • PCB设计
  • EDA技术
  • 单片机学习
  • 电子工具设备
  • 技术文章
  • 精彩拆解欣赏
  • 推荐资讯
    使用普通运放的仪表放大器
    使用普通运放的仪表放
    3V与5V混合系统中逻辑器接口问题
    3V与5V混合系统中逻辑
    数字PID控制及其改进算法的应用
    数字PID控制及其改进
    恶劣环境下的高性价比AD信号处理数据采集系统
    恶劣环境下的高性价比
    栏目更新
    栏目热门