《Xilinx学习资料.doc》由会员分享,可在线阅读,更多相关《Xilinx学习资料.doc(39页珍藏版)》请在金锄头文库上搜索。
1、第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-o C:Modeltech_6.2bxilinx_libs。 注意:需要根据你安装的modelsim目录更改C:Modeltech_6.2b 然后就Ok了,就可以的ISE中启动Modelsim进行所有的仿真了。
2、2、如何在Xilinx ISE中使用Modelsim ISE,Synplify进行综合和仿真: A、打开Xilinx ISE,新建一个Project;、在菜单File中选择“New Project”,弹出如下的对话框:、输入Project名称,并选择好Project保存的路径,然后下一步: 字串3按照上边的参数进行设置(针对于Spatan 3E的开发板),然后单击下一步,进入到后面的界面:、单击“New Source”按钮,并按照下面的设置来操作:、参照下面的参数,进行设置,然后一直选择默认选项,一直到完成。最后生成的项目界面如下图所示:B、输入代码,然后用Synplify综合:、参考代码:e
3、ntity Count iS Port(CLK :in STD_LOGIC; RESET :in STD_LOGIC; LOAD :in STD_LOGIC; DATA IN:in STD_LOGIC_VECTOR(3 downto 0); 字串9 Qout :out STD_LOGIC_VECTOR(3 downto 0);end Count;architecture Behavioral of Count issignal tmpCount:STD_LOGIC_VECTOR(3 downto 0);begin process(CLK,RESET,LOAD) begin if RESET=1
4、 then tmpCount=0000; else if LOAD=1 then tmpCount=DATA_IN; elsif CLKevent and CLK=1 then tmpCount=tmpCount+1; end if; end if; end process; 字串6 QoutOpen Example来打开。 ISE为我们提供了一个很有特色的工具,那就是语言辅助模板(Language Templates)。点击Edit-Language Templates,可以调用语言辅助模板,其界面如图4.31所示。图4.31 ISE语言辅助模板示意图 在语言模板中存放了很多HDL语言的通用
5、语法结构和使用范例,特别是许多根据Xilinx器件IP核与硬件原语编写的实例化程序。使用语言模板,可以方便地把这些语法结构和范例插入到设计者自己的代码文件中,大大方便了程序的编写,提高了工作效率。语言模板按照ABEL、COREGEN、UCF、 Verilog和VHDL的顺序存放在模板视窗中。其中COREGEN的UCF是ISE 5.x新增辅助模板。COREGEN模板由两个目录组成,分别存放当前工程中生成的IP核的Verilog和VHDL实例化文件,基内容与IP核生成器生成IP核时自动生成的实例化文件(.veo,.vho)相同。UCF模板也分成两个目录,依次存放CPLD和FPGA的用户约束文件(.
6、ucf)的约束范例。这个模板使手工编辑UCF文件更加容易。 字串6 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)语
7、法模板(Language Templates):该模板给出了基本语法规则和应用范例。(3)综合模板(Synthesis Templates):该模板给出了可综合实现的一些基本单元模块的范例,如乘法器、计数器和触发器等。(4)用户模板(User Templates):该模板存放用户自己创建的特定结构,是语言模板的功能扩展。 字串2 4 ISE综合使用实例 在NBA篮球比赛中有一个24秒进攻规则,即从获取球权到投篮击中篮板、篮框、命中或投篮被侵犯,其有效时间合计不能超过24秒,否则被判违例,将失去球权。在此过程中,设置24秒、启动倒计时、暂停倒计时或者中途终止24秒(即球权归对方)均由裁判控制。本
8、实例就是设计一个用于篮球比赛的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
9、 Source选项(如图4.33所示),添加文件count_t.vhd,led_2.vhd,sec_1.vhd(如图4.34所示)。并在文件中输入相应的VHDL程序。 字串7 图4.33 添加文件对话框图4.34 新建VHDL文件对话框本设计中将要用到的VHDL源程序如下: 第二篇Xilinx ISE 使用入门35)建立和编辑顶层原理图文件 对于顶层文件,即可使用VHDL文本输入方式,也可使用原理图输入方式。这里我们将使用原理图的输入方式来建立顶层文件。(1)原理图形符号的生成(Symbol) 为了在原理图的设计中利用前面已使用VHDL进行有关设计的成果,我们先要将经过编译后的VHDL程序生成
10、可供原理图设计中直接调用的原理图形符号。 选择 count_t.vhd,执行Create Schematic Symbol操作(如图4.47所示),即可生成可供原理图设计中直接调用的原理图形符号count_t。同理,对其他两个文件执行相同的操作。图4.47 原理图形符号的创建操作(2)顶层原理图文件的创建选中工程,鼠标右点,在弹出的窗口中选择New Source(如图4.48所示) ,再在弹出的窗口中选择文件的类型为Schematic,并输入文件名pic_top后,执行”下一步”,即完成了原理图文件的创建,进入原理图的编辑状态。 字串5 图4.48 原理图的创建操作(3)原理图的编辑 放置元件
11、(Symbols):在Symbols 的e:/xilinx/bin/24sec中选中所需元件的原理图符号,并在右边的图中期望的位置点左键进行放置,如图4.49所示。若位置不合适,可进行移动调整。图4.49 在原理图中放置元件的操作 元件间的连线:点 ,进行连线操作。 放置I/O端口并编辑端口名:点 ,放置/端口。选中端口,点右键,在弹出的对话框中选择“Rename Port”后,再在弹出的对话框中输入系统设定的端口名。或者双击端口,在弹出的对话框中输入系统设定的端口名。 原理图的保存:原理图编辑好后(如图4.50所示),应执行存盘操作,将原理图进行保存。图4.50 编辑好的顶层原理图 原理图错
12、误的检查:为了检查原理图是否有错,可执行原理图的检错操作。若有错,则改正,直到完全正确为止。 字串9 原理图的逻辑综合:若原理图经过检查没有错误,可进行逻辑综合。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所示。 字串5图4.53 运行设计实现操作图 在FloorPlanner中查看设计布局:展开Place & Route,运行View/Edit Placed Design (FloorPlanner),即可查看设计布