本科PLD与数字系统设计第4章.pdf
《本科PLD与数字系统设计第4章.pdf》由会员分享,可在线阅读,更多相关《本科PLD与数字系统设计第4章.pdf(169页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统第第4章章 ISE 5.1i开发系统开发系统4.1 设计流程设计流程4.2 工程管理用户界面工程管理用户界面4.3 VHDL的输入方法的输入方法4.4 基于电路原理图输入的设计方法基于电路原理图输入的设计方法4.5 状态转换图描述状态机状态转换图描述状态机4.6 硬件描述语言和电路原理图混合输入方式硬件描述语言和电路原理图混合输入方式第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统4.1 设 计 流 程设 计 流 程一般采用CPLD或FPGA芯片设计电子系统时,从设计输入到将调试后的程序下载到CPLD或FPGA芯片的工作流
2、程如图4-1所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统利用ISE 5.1i开发系统,从设计输入(例如,选择VHDL输入)到将调试后的程序下载到CPLD或FPGA芯片的步骤如下:(1)双击ISE 5.1i开发系统的项目导航器图标启动开发系统,创建一个新的工程项目,选择“File”“New Project”,输入工程项目存放的路径和工程项目文件名。(2)选择器件系列型号、器件型号、封装形式、器件速度和设计流程(例如,选择“XST VHDL”)。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-1 设计流程创建一个新的设计项目选择CPLD或FPGA芯片型号设计
3、输入:可以采用电路原理图、ABEL、Verilog-HDL或VHDL硬件描述语言输入方式综合和功能仿真将设计文件适配到指定的CPLD或FPGA芯片中,并且形成CPLD或FPGA芯片的编程数据文件时序仿真通过下载电缆将熔丝图(*.jed)或bit流(*.bit)文件下载到指定的CPLD或FPGA芯片中,现场验证第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统(3)新的工程项目建立后,在工程管理窗口下,选择“Project”“New Source”,弹出对话选择框,在对话选择框中选择“VHDL Module”,定义端口输入/输出信号,进入VHDL文本编辑器。(4)完成VHDL程序设计后
4、,进行语法(Syntax)检查和综合(Synthesis)。(5)进行仿真操作时,需要编写输入信号激励文件,可采用VHDL编写仿真测试文件或采用波形编辑测试文件。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统(6)仿真操作。在工程资源管理窗口中选中测试程序,再 在 当 前 资 源 管 理 窗 口 中 选 中“Simulate Behavioral VHDL Model”操作选项,观察仿真波形。(7)确定芯片管脚与信号的对应关系。在工程管理窗口下,选择“Project”“New Source”,在对话选择框中选择“Implementation Constraints File”操作
5、选项,并输入用户约束文件名,用户约束文件将出现在工程资源窗口中,用鼠标双击用户约束文件,进入输入芯片管脚窗口。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统(8)在当前资源管理窗口中,用鼠标双击“Implement Design”操作选项,完成转换、映射、布局布线等功能。(9)将设计程序下载到CPLD或FPGA芯片中。在当前资源管理窗口中,用鼠标双击“Configure Device(iMPACT)”操作选项,选择下载的方式和下载的文件,最后由CPLD或FPGA芯片实现用户设计的逻辑功能。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统4.2 工程管理用户界面工程管理
6、用户界面工程管理的主界面由标题栏(显示当前工程的路径和程序名称)、菜单栏、工具栏、工程资源管理窗口、当前资源管理窗口、硬件描述语言输入窗口、信息显示窗口和状态栏等部分组成,如图4-2所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-2 工程管理用户界面当前资源管理窗口工程资源管理窗口硬件描述语言输入窗口信息显示窗口第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统4.3 VHDL的输入方法的输入方法用硬件描述语言VHDL描述一个如图4-3所示的具有清零功能的加/减计数器。时钟输入信号为clk(上升沿有效);清零输入信号为reset(低电平清零),使用一个按键控制
7、reset信号;加/减计数控制信号为dir(高电平时计数值递增,低电平时计数值递减),使用一个按键控制dir信号;8位二进制输出信号为q,分别控制8个LED发光二极管。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-3 8位计数器clkdirresetq第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统4.3.1 创建一个新的工程项目创建一个新的工程项目,选择“File”“New Project”,弹出如图4-4所示的对话框。在“New Project”对话框中的“Project”一栏中输入工程项目存放的路径,如E:usersLHfpgaprg。在“Project
8、Name”一栏中输入工程项目文件名,如counter8。开发系统自动创建一个counter8的子目录。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-4 新工程项目对话框第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统在Value包含的五个选择对话框中,分别选择器件系列型号、器件型号、封装形式、器件速度和设计流程。每个对话框都有下拉列表供选择。例如:器件系列型号为Spartan2,器件型号为xc2s15,封装形式为vq100,设计流程选XST VHDL(XST是Xilinx公司自主开发的综合工具,由于Xilinx公司最了解自己设计的可编程逻辑芯片,因此使用XST综
9、合工具开发Xilinx公司的产品是比较好的选择),如图4-5所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-5 选择器件型号和设计流程第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统新的工程项目建立后,开始输入硬件描述语言。在工程管理窗口下,选择“Project”“New Source”,弹出如图4-6所示的对话选择框。在对话选择框中选择“VHDL Module”,并输入程序名(VHDL文件名的扩展名为*.vhd),单击“下一步”按钮,就进入定义计数器端口的输入/输出信号。由于计数器的输出信号q为8位,因此,要输入最高位数7和最低位数0,如图4-7所示。第4
10、章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-6 对话选择框第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-7 定义端口的输入/输出信号第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统完成上述步骤后,开始输入VHDL程序。ISE 5.1i自动调用硬件描述语言编辑器,并且VHDL的基本框架已经设计好,用户在空的结构体中输入描述具体逻辑功能语句,如图4-8所示。对VHDL文本编辑器来说,VHDL语句的关键词字体颜色和注释字体颜色都是蓝色。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-8 VHDL程序输入第4章ISE 5.1i开发系统
11、第4章ISE 5.1i开发系统4.3.2 输入VHDL程序用硬件描述语言(VHDL)描述的计数器程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY counter8 ISPort(clk:IN STD_LOGIC;dir:IN STD_LOGIC;第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统reset:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END
12、counter8;ARCHITECTURE Behavioral OF counter8 ISSIGNAL count:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(clk,reset)-时钟信号和清零信号变化时,启动该进程BEGINIF reset=0 THEN第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统count=00000000;ELSIF rising_edge(clk)THENIF dir=1 THENcount=count+1;-当信号dir为1时,计数器加1ELSEcount=count?1;-当信号dir为0时,计数器减1E
13、ND IF;END IF;END PROCESS;q reset,dir=dir,clk=clk,q=q);第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统-*测试代码用户定义部分*tb:PROCESSBEGINclk=0;WAIT FOR 10 ns;clk=1;WAIT FOR 10 ns;END PROCESS;PROCESS第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统BEGINreset=0;WAIT FOR 40 ns;reset=1;WAIT FOR 2000 ns;END PROCESS;PROCESS第4章ISE 5.1i开发系统第4章ISE 5.1
14、i开发系统BEGINdir=1;WAIT FOR 1000 ns;dir=0;WAIT FOR 1000 ns;END PROCESS;-*测试代码-用户定义部分结束*END;第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统完成测试程序的设计后,开始运行测试程序。在工程管理窗口下的工程资源管理窗口中选中测试程序counttest.vhd,当前资源管理窗口中出现仿真功能选项,有逻辑功能仿真、转换后仿真、映射后仿真和布局布线后仿真功能。逻辑功能仿真是在不考虑可编程逻辑器件延时的前提下,对源代码进行逻辑功能仿真,选中“Simulate Behavioral VHDL Model”操作选项
15、,如图4-12所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-12 仿真操作测试程序逻辑功能仿真第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统用鼠标双击“Simulate Behavioral VHDL Model”操作选项后,启动ModelSim仿真软件,得到的仿真波形如图4-13所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统时钟信号加/减计数控制信号仿真波形清零信号输出信号图4-13 仿真波形第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统2采用波形编辑器确定激励波形在工程管理窗口下,选择“Project”“New So
16、urce”,弹出对话选择框。在对话选择框中选择“Test Bench Waveform”,并输入测试文件名(例如countwave,该文件的后缀名是.tbw),按照开发系统提示的步骤完成后,进入编辑激励波形(HDL Bench)窗口。例如,编辑清零控制信号reset的波形,要求第一个时钟期间为0,其他时间都为1。用鼠标单击输入信号的波形可以改变输入信号波形的高、低电平。也可以用鼠标双击信号reset的第一个时钟波形,弹出“Pattern”按钮,如图4-14所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-14 仿真波形第4章ISE 5.1i开发系统第4章ISE 5.1i开
17、发系统单击“Pattern”按钮,出现如图4-15所示的编辑输入波形窗口。其中设置初始值为0,设置其他值为1,重复模板次数为1,选用十六进制。设置完成后,单击“OK”按钮,输入信号的激励波形如图4-16所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-15 编辑输入波形十六进制重复模板为1其他值为1初始值为0第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-16 输入信号的激励波形第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统完成输入信号激励波形的编辑后,保存波形文件,测试文件countwave.tbw出现在工程资源窗口中。在工程管理窗口下的
18、工程资源管理窗口中选中波形文件countwave.tbw,在当前资源管理窗口中,用鼠标双击“Simulate Behavioral VHDL Model”操作选项后,启动ModelSim仿真软件,得到的仿真波形如图4-17所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-17 仿真波形第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统在ModelSim仿真软件的环境下,显示仿真波形时,对于总线数据信号,有十六进制、二进制和十进制等多种显示方式。例如,要从二进制的显示方式改为十进制等多种显示方式时,在ModelSim仿真软件的主窗口中,选中“Simulate”的“
19、Simulation Options.”选项,如图4-18所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-18 仿真设置选择第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统选中“Simulation Options.”选项后,会弹出如图4-19所示的选择窗口,选择十进制(Decimal)显示方式。十进制显示方式的仿真波形如图4-20所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-19 设置十进制显示方式第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-20 仿真波形第4章ISE 5.1i开发系统第4章ISE 5.1i开
20、发系统4.3.6 综合综合(Synthesis)定义为“设计描述的一种形式向另一种描述形式的转换”。综合器可以把硬件的高层次描述转换成低层次描述,也可以把同层次的行为描述转换为同层次的结构描述,是帮助设计者进行这种转换的软件工具。当VHDL源代码通过了语法和逻辑功能检测后,在当前资源管理窗口中,用鼠标双击“Synthesize”操作选项,则在“Synthesize”选项的左边将出现一个绿色的符号,如图4-21所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-21 综合结果第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统用鼠标双击“View Synthesis
21、Report”选项,可以发现计数器占用可编程逻辑器件资源的情况,例如计数器counter8占用了1个全局时钟和8个寄存器等。用鼠标双击“View RTL Schematic”选项,观察寄存器传输级的电路原理图。ISE自动调用原理图编辑器ECS来打开综合产生的寄存器传输级的模块符号,如图4-22所示。用鼠标双击模块符号,观察模块的内部逻辑结构,如图4-23所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-22 寄存器传输级的模块符号双击符号模块,观察模块内部逻辑结构第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-23 模块的内部逻辑结构第4章ISE 5.1
22、i开发系统第4章ISE 5.1i开发系统4.3.7 添加芯片管脚约束文件1建立约束文件在工程管理窗口下,选择“Project”“New Source”,弹出对话选择框。在对话选择框中选择“Implementation Constraints File”操作选项,并输入用户约束文件名(例如count8),文件名的扩展名是.ucf,如图4-24所示。建立用户约束文件后,用户约束文件出现在工程资源管理窗口中,如图4-25所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-24 建立用户约束文件第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-25 用户约束文件第4
23、章ISE 5.1i开发系统第4章ISE 5.1i开发系统2输入信号的对应管脚在工程资源管理窗口中,用鼠标双击“count8.ucf”文件,弹出Xilinx Constraints Editor窗口,用鼠标选择“Ports”选项,出现输入锁定信号对应管脚的表格,如图4-26所示。在Location对应的表格中,输入计数器信号所对应的管脚号。例如,计数器的时钟输入信号clk对应xc2s15的第91号管脚。注意在输入对应的管脚号时,在管脚号码前加上字母P,如图4-27所示。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-26 选择Ports选项Ports选项第4章ISE 5.1i开
24、发系统第4章ISE 5.1i开发系统图4-27 输入对应的管脚号输入信号所对应的管脚号第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统计数器的所有输入/输出信号所对应的管脚输入完毕之后,查看相应的count8.ucf文件时,会出现如下的锁定管脚内容:#PACE:Start of Constraints extracted by PACE from the DesignNET clk LOC=P91;NET q LOC=P40;NET q LOC=P41;NET q LOC=P42;第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统NET q LOC=P44;NET q L
25、OC=P40;NET q LOC=P41;NET q LOC=P44;NET q LOC=P44;NET dir LOC=P22;NET reset LOC=P66;第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统3用PACE编辑器输入信号的对应管脚先建立了用户约束文件(例如pin.ucf)后,用鼠标双击设置封装管脚“Assign Package Pins”选项,如图4-28所示,弹出PACE编辑器窗口。第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统图4-28 选择PACE编辑器第4章ISE 5.1i开发系统第4章ISE 5.1i开发系统在PACE编辑器的“Desig
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 PLD 数字 系统 设计
限制150内