xilinx 新手快速入门的好资料
- 格式:doc
- 大小:1.46 MB
- 文档页数:26
ISE10.1快速入门(实例)ISE快速入门(Lab0)——秒表修改记录审核记录目录目录修改记录 (2)审核记录 (2)目录 (3)实验详细步骤 (4)实验详细步骤(一)启动ISE要启动ISE,双击桌面ISE图标或者从开始菜单中启动,依次选择开始?> 所有程序?> Xilinx ISE Design Suit 10.1 ?> ISE ?> Project Navigator,打开ISE工具;(二)创建工程项目(1) 在ISE窗口,依次选择File > New Project... ,然后看到New ProjectWizard窗口弹出(2) 在Project Name中输入clock(3) 在Project Location中浏览选择一个文件夹或者在输入栏中手工输入一个项目存放的路径(不能用中文路径),一个子目录clock会自动生成;(4) 在Top-Level Source Type下拉菜单栏目中图1:新建项目向导(5) 然后点击Next,切换到device properties页面对话框;(6) 在相应栏目中填入属性,具体如下所示:Product Category: All● Family: Spartan3E● Device: XC3S100E● Package:QT144● Speed Grade: -5● Top-Level Module Type: HDL● Synthesis Tool: XST (VHDL/Verilog)● Simulator: ISE Simula tor (VHDL/Verilog)● 确认Enable Enhanced Design Summary 已经被选中其他选项保留默认值完成之后项目设备属性对话框如下图所示:图2:项目设备属性(7) 点击Next,到创建新项目源文件对话框;图3:创建新的源文件(三)创建Verilog 模块源文件(1)在创建新的源文件对话框中点击New Source ,打开New Source Wizard 对话框;(2)在对话框的 Source type 中选择Verilog Module (3)输入模块文件名clock ;(4)确认Add to Project 按钮被选中;图4:选择新建文件类型(5)点击Next,弹出模块端口声明对话框,定义clock模块的端口声明如下:● Clk input● Reset input●Start input● Anodes output MSB:3 LSB:0●Cathodes output MSB:6 LSB:0MSB和LSB代表变量的最高位和最低位,这里Anodes的位宽为4,所以最高位为3,最低位都是0;Cathodes的位宽为7,所以最高位为6,最低位都是0;(6)点击next,检验新source模块文件设置如下图所示:(7)然后点击Finish完成创建新源文件向导;在创建新的源文件的窗口中点击Next(8)点击next,然后点击完成,就会在Workspace中看到包含clock模块的源代码文件,如图所示:(9)继续完成代码模块修改,在endmodule声明之前,添加下行代码到模块中;reg [21:0] Count;reg [3:0] Msec; //0.1sreg [3:0] Sec1; //秒个位reg [3:0] Sec2; //秒十位reg Flag; //0.1s进位标志//0.1s的计数器always @ (posedge Clk) beginif(Reset | (!Start) )Count <= 0;else if(Count == 24000_00) beginFlag <= 1'b1;Count <= 'd0;endelse beginFlag <= 1'b0;Count <= Count + 1'b1;endend//Msec从0计数到9时归零always @ ( posedge Clk ) beginif(Reset | (!Start) )Msec <= 4'h0;else if( Flag && (Msec==9) )Msec <= 4'h0;else if( Flag )Msec <= Msec + 1'b1;end//秒个位从0计数到9时归零always @ ( posedge Clk ) beginif(Reset | (!Start) )Sec1 <= 4'h0;else if( (Sec1==9) && (Msec==9) && Flag ) Sec1 <= 4'h0;else if( (Msec==9) && Flag )Sec1 <= Sec1 + 1'b1;end//秒十位从0计数到9时归零always @ ( posedge Clk ) beginif(Reset | (!Start) )Sec2 <= 4'h0;else if( (Sec2==5) && (Sec1==9) && (Msec==9) && Flag ) Sec2 <= 4'h0;else if( (Sec1==9) && (Msec==9) && Flag )Sec2 <= Sec2 + 1'b1;end//数码管显示控制reg [3:0] Anodes_r;reg [6:0] Cathodes_r;reg [15:0] Count2;//动态显示数码管位选always @ (posedge Clk) beginif(Reset | (!Start) ) beginAnodes_r <= 4'b1110;Count2 <= 0;endelse if(Count2==24000) beginAnodes_r <= {Anodes_r[2:0],Anodes_r[3]};Count2 <= 0;endelse Count2 <= Count2 + 1'b1;end//动态显示数码管段选always @ (posedge Clk) beginif(Reset | (!Start) )Cathodes_r <= 7'b1111111;else case(Anodes_r)4'b1110: begincase(Msec)0: Cathodes_r <= 7'b1000000;1: Cathodes_r <= 7'b1111001;2: Cathodes_r <= 7'b0100100;3: Cathodes_r <= 7'b0110000;4: Cathodes_r <= 7'b0011001;5: Cathodes_r <= 7'b0010010;6: Cathodes_r <= 7'b0000010;7: Cathodes_r <= 7'b1111000;8: Cathodes_r <= 7'b0000000;9: Cathodes_r <= 7'b0010000; default Cathodes_r <= 7'b1111111; endcaseend4'b1101: Cathodes_r <= 7'b0111111; 4'b1011: begincase(Sec1)0: Cathodes_r <= 7'b1000000;1: Cathodes_r <= 7'b1111001;2: Cathodes_r <= 7'b0100100;3: Cathodes_r <= 7'b0110000;4: Cathodes_r <= 7'b0011001;5: Cathodes_r <= 7'b0010010;6: Cathodes_r <= 7'b0000010;7: Cathodes_r <= 7'b1111000;8: Cathodes_r <= 7'b0000000;9: Cathodes_r <= 7'b0010000; default Cathodes_r <= 7'b1111111; endcaseend4'b0111: begincase(Sec2)0: Cathodes_r <= 7'b1000000;1: Cathodes_r <= 7'b1111001;2: Cathodes_r <= 7'b0100100;3: Cathodes_r <= 7'b0110000;4: Cathodes_r <= 7'b0011001;5: Cathodes_r <= 7'b0010010;6: Cathodes_r <= 7'b0000010;7: Cathodes_r <= 7'b1111000;8: Cathodes_r <= 7'b0000000;9: Cathodes_r <= 7'b0010000;default Cathodes_r <= 7'b1111111;endcaseenddefault Cathodes_r <= 7'b1111111;endcaseendassign Anodes = Anodes_r;assign Cathodes = Cathodes_r;(10)选择File > Save保存所有修改;现在你已经完成了创建clock模块的工作。
第0篇Xilinx FPGA开发环境的配置一、配置Modelsim ISE的Xilinx的仿真库1、编译仿真库:A、先将Modelsim安装目录C=Modeltech_6.2b下面的modelsim.ini改成存档格式(取消只读模式);B、在DOS环境中,进入Xilinx的根目录,然后依次进入bin,nt目录;C、运行compxlib -s mti_se -f all -l all -oC:Modeltech_6.2bxilinx_libs。
注意:需要根据你安装的modelsim目录更改C:Modeltech_6.2b 然后就Ok了,就可以的ISE中启动Modelsim进行所有的仿真了。
2、如何在Xilinx ISE中使用Modelsim ISE,Synplify进行综合和仿真:A、打开Xilinx ISE,新建一个Project;①、在菜单File中选择“New Project”,弹出如下的对话框:②、输入Project名称,并选择好Project保存的路径,然后下一步:字串3按照上边的参数进行设置(针对于Spatan 3E的开发板),然后单击下一步,进入到后面的界面:③、单击“New Source”按钮,并按照下面的设置来操作:④、参照下面的参数,进行设置,然后一直选择默认选项,一直到完成。
最后生成的项目界面如下图所示:B、输入代码,然后用Synplify综合:①、参考代码:entity Count iSPort(CLK :in STD_LOGIC;RESET :in STD_LOGIC;LOAD :in STD_LOGIC;DATA IN:in STD_LOGIC_VECTOR(3 downto 0);字串9Qout :out STD_LOGIC_VECTOR(3 downto 0));end Count;architecture Behavioral of Count issignal tmpCount:STD_LOGIC_VECTOR(3 downto 0);beginprocess(CLK,RESET,LOAD)beginif RESET='1' thentmpCount<="0000";elseif LOAD='1' thentmpCount<=DATA_IN;elsif CLK'event and CLK='1' thentmpCount<=tmpCount+1;end if;end if;end process; 字串6Qout<=tmpCount:end Behavioral;②、双击Processes窗口里面的“Synthesize-Synplify”进行综合③、在“Transcript”窗口中的可以看到综合的信息。
第一章开发软件ISE与开发流程LUT主要适合SRAM工艺生产,因此FPGA都是基于SRAM工艺的,掉电就会丢失。
1.1 设计输入除了常见的文本输入,还可以采用图形输入方式:单击Design Utilities->Creat Schematic Symbol,则会在工程文件夹下生成一个MY_AND2.sym文件,同时这个生成的符号被加入到符号库中。
这样可以添加元件。
⏹用户约束文件UCF的编写:管脚约束:如NET “<Signal Name>” LOC = <Pin Name>; --将信号锁定到fpga的管脚。
时钟约束:如NET “<Net Name>” PERIOD = period {HIGH/LOW}[high or low time]。
⏹采用图形化方法输入约束文件:创建ucf文件,选择ucf文件,然后点击Processes->User Constrains->Create Timing Constraints添加时序约束;点击Processes->User Constrains->I/O Pin Planning添加管脚约束。
1.2 设计综合(Synthesize)综合将概念性硬件描述语言HDL的设计定义转换成针对目标器件的逻辑或者物理表示。
XST(Xilinx Synthesis Tools)就是综合工具,其输出为Xilinx特有的NGC网表文件,NGC包含转化后的逻辑数据和约束信息。
综合是设计流程中的基本步骤,它将概念性硬件描述语言的设计定义转换为针对器件的逻辑或物理表示。
在综合过程中,状态机是单独处理、独立分析的,根据综合的选项,综合器选择状态机在综合过程中选用的实现算法。
综合完成后,综合器会根据综合选项和XCF(XST Constraint File, 综合约束文件),对综合结果做一些基础的优化。
1.3 功能仿真(Simulation->behavioral)功能仿真可以对工程设计文件进行初步的功能验证。
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-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所示。
3 VHDL设计操作指南首先进入ISE工程管理器(Project Navigator)界面,如图4.30所示。
Xilinx_FPGA中文教程Spartan-3E Starter Kit Board User GuideChapter 1: Introduction and Overview Chapter 2: Switches, Buttons, and Knob Chapter 3: Clock SourcesChapter 4: FPGA Configuration Options Chapter 5: Character LCD ScreenChapter 6: VGA Display PortChapter 7: RS-232 Serial PortsChapter 8: PS/2 Mouse/Keyboard Port Chapter 9: Digital to Analog Converter (DAC) Chapter 10: Analog Capture CircuitChapter 11: Intel StrataFlash Parallel NOR Flash PROM Chapter 12: SPI Serial FlashChapter 13: DDR SDRAMChapter 14: 10/100 Ethernet Physical Layer Interface Chapter 15: Expansion ConnectorsChapter 16: XC2C64A CoolRunner-II CPLDChapter 17: DS2432 1-Wire SHA-1 EEPROMChapter 1:Introduction and OverviewSpartan-3E 入门实验板使设计人员能够即时利用Spartan-3E 系列的完整平台性能。
设备支持设备支持::Spartan-3E 、CoolRunner-II关键特性关键特性::Xilinx 器件: Spartan-3E (50万门,XC3S500E-4FG320C), CoolRunner?-II (XC2C64A-5VQ44C)与Platform Flash(XCF04S-VO20C)时钟时钟::50 MHz 晶体时钟振荡器存储器: 128 Mbit 并行Flash, 16 Mbit SPI Flash, 64 MByte DDR SDRAM连接器与接口: 以太网10/100 Phy, JTAG USB 下载,两个9管脚RS-232串行端口, PS/2类型鼠标/键盘端口, 带按钮的旋转编码器, 四个滑动开关,八个单独的LED 输出, 四个瞬时接触按钮, 100管脚hirose 扩展连接端口与三个6管脚扩展连接器显示器: VGA 显示端口,16 字符- 2 线式 LCD电源电源::Linear Technologies 电源供电,TPS75003三路电源管理IC 市场: 消费类, 电信/数据通信, 服务器, 存储器应用: 可支持32位的RISC 处理器,可以采用Xilinx 的MicroBlaze 以及PicoBlaze 嵌入式开发系统;支持DDR 接口的应用;支持基于Ethernet 网络的应用;支持大容量I/O 扩展的应用。
⊙当前位置:搜电>> 资料>> Xilinx ISE 使用入门手册1Xilinx ISE 使用入门手册1发布日期:2009-3-6 13:06:10文章来源:搜电浏览次数:106771、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所示对话框中输入工程名和工程目录,并设置器件参数。