您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 本科PLD与数字系统设计第4章
第4章ISE5.1i开发系统第4章ISE5.1i开发系统4.1设计流程4.2工程管理用户界面4.3VHDL的输入方法4.4基于电路原理图输入的设计方法4.5状态转换图描述状态机4.6硬件描述语言和电路原理图混合输入方式第4章ISE5.1i开发系统4.1设计流程一般采用CPLD或FPGA芯片设计电子系统时,从设计输入到将调试后的程序下载到CPLD或FPGA芯片的工作流程如图4-1所示。第4章ISE5.1i开发系统利用ISE5.1i开发系统,从设计输入(例如,选择VHDL输入)到将调试后的程序下载到CPLD或FPGA芯片的步骤如下:(1)双击ISE5.1i开发系统的项目导航器图标启动开发系统,创建一个新的工程项目,选择“File”→“NewProject”,输入工程项目存放的路径和工程项目文件名。(2)选择器件系列型号、器件型号、封装形式、器件速度和设计流程(例如,选择“XSTVHDL”)。第4章ISE5.1i开发系统图4-1设计流程创建一个新的设计项目选择CPLD或FPGA芯片型号设计输入:可以采用电路原理图、ABEL、Verilog-HDL或VHDL硬件描述语言输入方式综合和功能仿真将设计文件适配到指定的CPLD或FPGA芯片中,并且形成CPLD或FPGA芯片的编程数据文件时序仿真通过下载电缆将熔丝图(*.jed)或bit流(*.bit)文件下载到指定的CPLD或FPGA芯片中,现场验证第4章ISE5.1i开发系统(3)新的工程项目建立后,在工程管理窗口下,选择“Project”→“NewSource”,弹出对话选择框,在对话选择框中选择“VHDLModule”,定义端口输入/输出信号,进入VHDL文本编辑器。(4)完成VHDL程序设计后,进行语法(Syntax)检查和综合(Synthesis)。(5)进行仿真操作时,需要编写输入信号激励文件,可采用VHDL编写仿真测试文件或采用波形编辑测试文件。第4章ISE5.1i开发系统(6)仿真操作。在工程资源管理窗口中选中测试程序,再在当前资源管理窗口中选中“SimulateBehavioralVHDLModel”操作选项,观察仿真波形。(7)确定芯片管脚与信号的对应关系。在工程管理窗口下,选择“Project”→“NewSource”,在对话选择框中选择“ImplementationConstraintsFile”操作选项,并输入用户约束文件名,用户约束文件将出现在工程资源窗口中,用鼠标双击用户约束文件,进入输入芯片管脚窗口。第4章ISE5.1i开发系统(8)在当前资源管理窗口中,用鼠标双击“ImplementDesign”操作选项,完成转换、映射、布局布线等功能。(9)将设计程序下载到CPLD或FPGA芯片中。在当前资源管理窗口中,用鼠标双击“ConfigureDevice(iMPACT)”操作选项,选择下载的方式和下载的文件,最后由CPLD或FPGA芯片实现用户设计的逻辑功能。第4章ISE5.1i开发系统4.2工程管理用户界面工程管理的主界面由标题栏(显示当前工程的路径和程序名称)、菜单栏、工具栏、工程资源管理窗口、当前资源管理窗口、硬件描述语言输入窗口、信息显示窗口和状态栏等部分组成,如图4-2所示。第4章ISE5.1i开发系统图4-2工程管理用户界面当前资源管理窗口工程资源管理窗口硬件描述语言输入窗口信息显示窗口第4章ISE5.1i开发系统4.3VHDL的输入方法用硬件描述语言VHDL描述一个如图4-3所示的具有清零功能的加/减计数器。时钟输入信号为clk(上升沿有效);清零输入信号为reset(低电平清零),使用一个按键控制reset信号;加/减计数控制信号为dir(高电平时计数值递增,低电平时计数值递减),使用一个按键控制dir信号;8位二进制输出信号为q,分别控制8个LED发光二极管。第4章ISE5.1i开发系统图4-38位计数器clkdirresetq7:0第4章ISE5.1i开发系统4.3.1创建一个新的工程项目创建一个新的工程项目,选择“File”→“NewProject”,弹出如图4-4所示的对话框。在“NewProject”对话框中的“Project”一栏中输入工程项目存放的路径,如E:\users\LH\fpgaprg\。在“ProjectName”一栏中输入工程项目文件名,如counter8。开发系统自动创建一个counter8的子目录。第4章ISE5.1i开发系统图4-4新工程项目对话框第4章ISE5.1i开发系统在Value包含的五个选择对话框中,分别选择器件系列型号、器件型号、封装形式、器件速度和设计流程。每个对话框都有下拉列表供选择。例如:器件系列型号为Spartan2,器件型号为xc2s15,封装形式为vq100,设计流程选XSTVHDL(XST是Xilinx公司自主开发的综合工具,由于Xilinx公司最了解自己设计的可编程逻辑芯片,因此使用XST综合工具开发Xilinx公司的产品是比较好的选择),如图4-5所示。第4章ISE5.1i开发系统图4-5选择器件型号和设计流程第4章ISE5.1i开发系统新的工程项目建立后,开始输入硬件描述语言。在工程管理窗口下,选择“Project”→“NewSource”,弹出如图4-6所示的对话选择框。在对话选择框中选择“VHDLModule”,并输入程序名(VHDL文件名的扩展名为*.vhd),单击“下一步”按钮,就进入定义计数器端口的输入/输出信号。由于计数器的输出信号q为8位,因此,要输入最高位数7和最低位数0,如图4-7所示。第4章ISE5.1i开发系统图4-6对话选择框第4章ISE5.1i开发系统图4-7定义端口的输入/输出信号第4章ISE5.1i开发系统完成上述步骤后,开始输入VHDL程序。ISE5.1i自动调用硬件描述语言编辑器,并且VHDL的基本框架已经设计好,用户在空的结构体中输入描述具体逻辑功能语句,如图4-8所示。对VHDL文本编辑器来说,VHDL语句的关键词字体颜色和注释字体颜色都是蓝色。第4章ISE5.1i开发系统图4-8VHDL程序输入第4章ISE5.1i开发系统4.3.2输入VHDL程序用硬件描述语言(VHDL)描述的计数器程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcounter8ISPort(clk:INSTD_LOGIC;dir:INSTD_LOGIC;第4章ISE5.1i开发系统reset:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDcounter8;ARCHITECTUREBehavioralOFcounter8ISSIGNALcount:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(clk,reset)--时钟信号和清零信号变化时,启动该进程BEGINIFreset='0'THEN第4章ISE5.1i开发系统count=''00000000'';ELSIFrising_edge(clk)THENIFdir='1'THENcount=count+1;--当信号dir为1时,计数器加1ELSEcount=count?1;--当信号dir为0时,计数器减1ENDIF;ENDIF;ENDPROCESS;q=count;ENDBehavioral;第4章ISE5.1i开发系统4.3.3利用语言参考模板编写程序ISE5.1i的硬件描述语言编辑器提供了一个对输入VHDL源代码非常有帮助的语言参考模板(LanguageTemplates),它给硬件描述语言设计者提供了一些有用的参考模板。阅读硬件描述语言的参考模板时,选择“Edit”中的“LanguageTemplates...”,如图4-9所示,或者用鼠标单击按钮。第4章ISE5.1i开发系统例如将参考综合模板中的计数器(counter)模板加到用户的程序comptest.vhd中,选择“Edit”→“Useincomptest.vhd”,如图4-10所示。然后填写和修改有关参数,成为符合用户逻辑功能的程序,这样可以提高编写程序的速度和正确性。第4章ISE5.1i开发系统图4-9选择语言模板第4章ISE5.1i开发系统图4-10选择模板程序第4章ISE5.1i开发系统4.3.4语法检查程序设计完成后,先进行语法检查。在当前资源管理窗口中,用鼠标双击“CheckSyntax”,如果程序没有问题,在“CheckSyntax”选项的左边,出现一个绿色的√符号,如图4-11所示,否则,将出现红色的×符号。第4章ISE5.1i开发系统图4-11语法检查第4章ISE5.1i开发系统4.3.5逻辑功能仿真1.用VHDL编写测试文件在工程管理窗口下,选择“Project”→“NewSource”,弹出对话选择框,在对话选择框中选择“VHDLTestBench”,并输入测试文件名(例如counttest,该文件的后縀名仍然是.vhd),按照开发系统提示的步骤完成后,测试文件counttest.vhd出现在工程资源窗口中。第4章ISE5.1i开发系统在测试文件counttest.vhd中输入激励信号,用VHDL描述时钟信号为clk,清零输入信号为reset,加/减计数控制信号为dir的激励信号波形。测试文件如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.NUMERIC_STD.ALL;ENTITYtestbenchISENDtestbench;第4章ISE5.1i开发系统ARCHITECTUREbehaviorOFtestbenchISCOMPONENTcounter8PORT(dir,reset:INSTD_LOGIC;clk:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDCOMPONENT;第4章ISE5.1i开发系统SIGNALdir:STD_LOGIC;SIGNALreset:STD_LOGIC;SIGNALclk:STD_LOGIC;SIGNALq:STD_LOGIC_VECTOR(7DOWNTO0);BEGINuut:counter8PORTMAP(reset=reset,dir=dir,clk=clk,q=q);第4章ISE5.1i开发系统--***测试代码——用户定义部分***tb:PROCESSBEGINclk='0';WAITFOR10ns;clk='1';WAITFOR10ns;ENDPROCESS;PROCESS第4章ISE5.1i开发系统BEGINreset='0';WAITFOR40ns;reset='1';WAITFOR2000ns;ENDPROCESS;PROCESS第4章ISE5.1i开发系统BEGINdir='1';WAITFOR1000ns;dir='0';WAITFOR1000ns;ENDPROCESS;--***测试代码--用户定义部分结束***END;第4章ISE5.1i开发系统完成测试程序的设计后,开始运行测试程序。在工程管理窗口下的工程资源管理窗口中选中测试程序counttest.vhd,当前资源管理窗口中出现仿真功能选项,有逻辑功能仿真、转换后仿真、映射后仿真和布局布线后仿真功能。逻辑功能仿真是在不考虑可编程逻辑器件延时的前提下,对源代码进行逻辑功能仿真,选中“SimulateBehavioralVHDLModel”操作选项,如图4-12所示。第4章ISE5.1i开发系统图4-12仿真操作测试程序逻辑功能仿真第4章ISE5.1i开发系统用鼠标双击“SimulateBehavioralVHDLModel”操作选项后,启动ModelSim仿真软件,得到的仿真波形如图4-13所示。第4章ISE5.1i开发系统
本文标题:本科PLD与数字系统设计第4章
链接地址:https://www.777doc.com/doc-51064 .html