ISE8.1全部实验指导书2014-9_第1页
ISE8.1全部实验指导书2014-9_第2页
ISE8.1全部实验指导书2014-9_第3页
ISE8.1全部实验指导书2014-9_第4页
ISE8.1全部实验指导书2014-9_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一、ISE8.1软件的基本操作介绍 一、 实验内容1、 初步了解XILINX公司设计软件ISE8.1界面的基本功能。2、 通过建立一个新设计项目2_4译码器的设计,学习用原理图(Schematic)输入的设计方法。3、 通过已完成的2_4译码器原理图设计,了解使用Test Bench Waveform、ISE Simulator 、ModelSim Simulator进行功能仿真的方法。4、 自己根据原理图名YMQ1的仿真例子,对原理图名YMQ2进行仿真操作练习。二、 软件ISE8.1界面的基本功能双击桌面图标进入ISE8.1软件界面如图11所示。图11界面称为Project Naviga

2、tor界面。如果先前有工程项目则如图1-2。41223 图1132422212 图1-2如果双击图标出现的界面与图11不同,则再点击下拉菜单View进行选项。也可以从电脑的Start(开始)Programs(所有程序)Xilinx ISE8.1Project Navigator进入图11界面。图11中除了下拉菜单和命令图标外,还包含4个子窗口。Source 子窗口(左上部分)该窗口可显示Sources For下拉菜单选项和三大类用户设计信息。1) Sources: 当选中Sources时,该子窗口显示项目名、用户文件、所选器件类型、设计流程、综合工具和设计源文件。通过图标表示文件类型(例如:H

3、DL、原理图、核、状态图、文本文件等)。图标前有+说明有下级文件。2) Snapshot View :当选中Snapshot View时,该子窗口显示对项目导航器中当前打开的项目进行复制。操作方法:选中Module View中项目或子项目,点击菜单命令Projectake Snapshot,弹出对话框,确认后就将Module View显示的所有项目和子项目以复制方式在Snapshot View子窗口中显示。Snapshot View作用使设计者可以保存几个不同内容的同一项目名的设计。当要从Snapshot View将某一项目内容替代当前Module View中的项目内容,先将要替代的项目内容S

4、napshot,然后在Snapshot View窗口中选中要替换的文件夹,点击鼠标右键弹出菜单选Make Snapshot Current,或从菜单上选ProjectMake Snapshot Current。3) Library View: 该子窗口显示项目中所有的库文件。4) Sources For下拉菜单选项根据设计任务进行可选择。图1-3 图1-4Processes 子窗口(位于左中部分)在界面下面有Processes和Options两个选项项。当选Processes 子窗口中的Processes,在Source 子窗口中选工程名或项目名,该界面分别如图1-3,图14。图14中Proc

5、esses由以下几部分内容: Design Entry Utilities(设计输入工具):提供选用元件符号生成、示例模板、HDL转换器、命令行日志文件、运行MTI和仿真程序编译等功能。User Constraints(用户设计约束设置):提供用户芯片内部设置编辑和时间约束设计功能。Synthesis(综合):提供语法检测、综合、RTL原理图和综合报告。Implement Design(设计实现):提供设计实现工具、设计流程报告和其他相关工具。Generate Programming File(生成编译文件):提供配置工具和位流生成功能。MDI (multi-document interfac

6、e)子窗口(右面) 1)当创建 *. vhd (语言描述)模式输入或打开 *.vhd,在该子窗口能进行ISE文本编辑、ISE语言模板和HDL 测试文本显示。Text Editor(文本编辑器) :在此窗口可对源文件和其他文本文件进行编辑设计 。HDL Bencher (HDL测试文本文件) :HDL测试文本文件是将特定的软件(ModelSim)集成在Project Navigator构架中的测试平台。2)当创建*.SCH(原理图)模式输入或打开*.SCH,在该子窗口能进行电路原理图设计。5) 当选中Design Summary,弹出如图1-2界面。此处有相关的设计文档信息。控制子窗口(下方):

7、该窗口用于显示程序运行中的错误、警告。例如编写的VHDL程序、由原理图生成VHDL程序。有错误时error前有红色方块显示,出现警告时warning前有黄色方块显示。通过该窗口显示的信息(例如指出的HDL的错误发生在第几行、错误内容。原理图不能生成VHDL的错误等。)供设计者进行HDL或原理图设计修改。以上四个子窗口的应用在以后的实验中会进一步说明,现在有一个大概了解就可以了。同学可以通过界面上的 help下拉菜单详细了解界面的功能和用途。三、 用原理图输入方法设计新项目2_4译码器完成如图1-5的原理图输入设计。图1-5方法简介:1) 在图11或图1-2界面窗口点击菜单File New Pr

8、oject弹出图16对话框。图16图17在Project Name中输入工程项目名TEXT_1(或自己取),在Top-Level Module Type中通过下拉菜单选Schematic。点击下一步弹出图17对话框。对话框中的Value下面的8个内容除Top-Level Module Type为Schematic不能改变,其余七项都有下拉菜单。根据图17对话框选项。点击下一步,弹出图18对话框。图18 图19 图110 在该对话框中点击New Source, 弹出图19对话框。在对话框中左面选中Schematic,在 File栏中输入原理图名YMQ1(项目名),点击下一步,弹出19图框,点击完

9、成。出现图110对话框, Source File栏中已加入了YMQ1.sch文件名。点击下一步弹出图111对话框,在此对话框中可以将已有的源文件加入,也可以通过菜单ProjectAdd Source或选菜单ProjectAdd Copy of Source。点击下一步弹出图112图框。在该图框中包含了新建原理图的基本信息。点击完成弹出如图113。图111图1-12 1)根据图15将器件放入图板。双击图标 或在Sources窗口如图1-13点击图标,此时Sources窗口如图1-14,选中,在Symbol Name Filter空白栏中输入图15的门电路名,在Symbols栏中选择所需的器件,拖

10、至图板,不行的话再双击图标为选中状态并移动则选中器件可放如图1-13中间的绘图板中,以后只要图标为选中状态,在Symbols栏中选择所需的器件,选中就可将所选器件放入图板,也可一通过下拉菜单AddSymbols将所选器件放入图板。图113图1-13中部分图标功能说明:图标功能:逐级放大显示。图标功能:逐级缩小显示。图标功能:整图板显示。图标功能:根据所选窗口放大。图标功能:根据所选单体(元件、网线、总线等)放大。2)根据图15连线点击图标 或选择菜单AddWire进入连线状态,此时的Processes子窗口为Add Wire Options,如图1-15,点击所要连线的两端,就会自动连线,对已

11、连线的中间要连线(终端)要双击结束。点击鼠标右键退出连线,返回到Select Options状态如图1-15。或点击图标返回到选择状态。在Select Options图1-14 状态选中Select the line segment,再选中图中一段连 图1-14 图1-15线,点击鼠标右键可对该线段进行删除、剪切、拷贝等操作。3) 根据图15加输入输出端口 点击图标 或选择菜单AddI/O Marker,此时的Processes窗口为Add I/O Marker Optiongs。根据图13选择Add an Atomatic marker (或者Add an input marker 或 Ad

12、d an output Marker)再点击图标移动端口到所需连接的网线。4)根据图15给连线或端口赋名点击图标或选择菜单AddNet Name,左面弹出对话框如图116。在When you click on a branch项中选Name the branch。在name 项输入en,然后选中en,再点击图标将鼠标十字拖动到网线与端口连接处,则就成了端口命名。也可以选中要命名的网线或总线点击鼠标右键后弹出下拉菜单,选Rename port 后弹出的对话框对线或总线命名。或者在选择状态双击该网线或端口,弹出对话框,在对话框中value下输入网线、端口名。 在给A1-A2,Q0-Q3端口命名时,

13、由于命名连续,当在Name栏中输入q0,然后在After naming the branch or net中选中Increment the name,将鼠标十字拖动到输出端口(按端口标号由低到高顺序)点击就会自动将q0q1q2q3。 同样可以用自动命名对A1、A2端口赋名。再点击图标或通过Tools下拉菜单Check Schematic 来检查原理图输入是否有错误。完成后SAVE。这样就完成了2_4译码器的原理图设计输入。5)设计一个用总线表示输入、输出端口的2_4译码器的原理图 在Sources子窗口点击Sources在Sources子窗口中选中项目名TEST_1,点击菜单ProjectNe

14、w Source,在对话框中,在File空栏中输入YMQ2,左栏选Schmatic,点击完成,进入ymq2双击Sources in Project子窗口中的ymq2的ECS界面,此界面可以进入YMQ1、YMQ2两个图板界面。进入YMQ1图板,将YMQ1原理图复制到YMQ2(选中原理图成红色点击鼠标右键选copy,在YMQ2图板中点击鼠标右键选paste)。 i)在YMQ2原理图中删除A1、A2、Q0-Q3端口,点击图标 或选择菜 AddWire进入画线状态,画线位置如图 114。ii)点击图标 或选择菜单AddI/O Marker在左弹出Add I/O Marker Options对话框中根据

15、输入、输出端口选端口,将端口和所画线相连。如图117。 图116iii)给总线端口命名 点击图标或选择菜单AddNet Name,在左面弹出对话框中name 项输入A(1:0),然后选中A(1:0),再将鼠标十字头拖动到网线与端口连接处,则就完成了输入总线端口命名,此时的连线由细线(网线)变成了粗线(总线)。同样对输出总线Q(3:0)端口命名。iv)完成总线与网线的连接。点击图标或选菜单AddgBus Tap或按Ctul+B键,在Processes窗口弹出如图118对话框,根据总线引脚的方向选择,将引脚先与总线相连,如图119所示,再将总线引脚与对应网线连接。根据前面学过的方法给网线命名,注意

16、网线命名序号要加括号(例如:Q(0)、Q(1)。完成图后,保存一下。再点击图板或通过Tools下拉菜单Check Schematic 来检查 图1-17原理图输入是否有错误。V) 如果要查看或删除A(1)整个网线可先点击 在Processes窗口中选再选点击A(1)网线根据需要操作。 如果A(1) 整个网线中有某一段连接错了,要删除,则选中栏中的再选中要删除的某段线,就能将该线段删除。图1-18四、 学习如何通过选项由原理图自动VHDL,使用Test Bench Waveform 、ModelSim Simulator对已完成的2_4译码器进行功能仿真的方法。 以及VHDL Test Benc

17、h的使用。 1、 由原理图自动VHDL程序返回Project Navigator界面,选中Source in Project子窗口选中ymq1,再将Process for Source “ymq1”子窗口中的Design Entry Utilities项展开,选中双击View HDL Functional Model,点击鼠标右键,弹出图1-20对话框,选所需的描述语言,再双击View HDL Functional Model在右面文字编辑子窗口显示由2_4译码器原理图自动生成描写2_4译码器语言程序。仔细阅读并请问该语言描述程序是采用结构体的哪一种描述方式? 图1-19 图1-20五、 Te

18、st Bench Waveform 、ISE Simulator、ModelSim Simulator的使用1)Test Bench Waveform仿真输入信号界面设置操作a、将图1-20中的Value中的选项恢复为默认的Verilog。b、在Source in Project子窗口选中ymq1,然后点击菜单Projectnew Source,在左栏中选Test Bench Waveform , 文件名输入YMQ1_twb,点击完成,此时弹出一个测试输入波形设置对话框,如图121。点击OK,在右面弹出测试波形图如图122。如果测试时间长度不合适或时钟标尺不合适,可以在图板上点击鼠标右键,选菜

19、单中的Set End of test Bench或Rsecale Timing重新设置。注意图1-21中Clock Information的选项,默认的是“Single Clock”。在输入没有时钟信号要选“Combinatorial (or interal clock)。在图1-22界面,单击输入信号A1、A2、EN波形可设置0、1电平,根据表格1-1设置。图1-21 图1-22en01A101010101A200110011表1-1如果希望连续设置可双击输入信号波形处会弹出set value对话框,点击Pattern Wizard,弹出对话框Pattern Wizard如图123。Patt

20、ern Wizard中有:i) 模式选择(Choose Pattern): 当选随机模式(Random),则根据重复次数设置随机设置电平。当选触发模式(Toggle), 除根据重复次数设置外还要根据规定模式设置电平。图1-23图1-24ii)码设置(Radix):有16、10、2进制三种,信号量只能2进制。 iii)重复次数设置(Repeat Pattern):根据仿真需要设置次数。iv)规定格式设置(Customize pettern):当初始值(initial value)设置为1时,其他值(other Value)设置为0,或者相反,两者不能一样(可以是0、1、Z、X 、U)。v)触发转

21、换周期(Toggle Every):设置电平由高到低或低到高的周期数。数值在1999范围内。手动对A1、A2、EN输入信号的电平设置完后, 保存一下。在Sources子窗口中的Sources for中选Behavioral Simulation,再按图1-25选中propertise弹出图1-26窗口,展开simulator项可以现在仿真工具。 设置完Test Bench Waveform,保存一下。在Sources for 选项中behaviorial simulation如图1-25。在图1-26中展开图1-25 图1-261) ISE仿真软件的操作可以选择ISE自带的仿真工具“ISE S

22、imulator(VHDL/Verilog)项,选中后缀为.tbw仿真文件。在Sources界面中根据图1-27选择操作,双击Properties弹出图1-28界面。图1-27图1-28根据图1-28选项,在Porcessses子窗口中点击左下的Porcessses选项中双击“Simulate Bhevioral Model” ,见图1-29。观察simulation界面上的输入及Q0、Q1、Q2、Q3输出响应波形。 图1-29可以在图1-30的仿真波形图上点击鼠标右键,弹出如图1-31中的菜单,图1-30图1-31当选“Add Marker”项会出现测量杆,测量杆可以左右移动,其测量杆位置所

23、对应的输入输出值在左侧显示。也可以根据实际需要增加测量杆或删除测量标杆。 图1-322)可以图1-28中选择第三方仿真工具ModelSim。假如选择“Modelsim-SE Mixed在ModelSim Simulator中选第一项,运行如图1-33 ,观察HDLBencher上的Q0、Q1、Q2、Q3输出响应。 图1-34ModelSim Simulator仿真的操作i)在完成Test Bench Waveform波形窗口输入值设置后,就可以进行ModelSim Simulator仿真操作,运行Porcessses子窗口中,放大wave-default窗口,通过调节显示波形,了解下列功能图标

24、作用:。wave-default窗口波形如图1-35。点击会弹出竖向标尺(标尺可以移动),该标杆所在波形位置其对应的数值在左面显示。如果要改变输入信号再观察ModelSim的输出波形有两种方法:方法1:在窗口上重新设置输入波形并保存,关闭ModelSim SE PLUS, 再运行Porcessses子窗口中的,就可以观察重新输入的信号设置和输出响应波形。方法2:在窗口上重新设置输入波形并保存,在ModeSim主界面选中compile下拉菜单的compile,弹出图1-36对话框,选中后缀为.twf 图1-35 图1-36或.vhw文件名,点击Compile,wave-default窗口,点击图

25、标(运行Restart),再点击图标(运行Run All),就可以观察重新输入输入信号后的输出相应波形。根据表1-2重新设置输入信号,观察输出波形,并填入表1-2中。en01A110101010A211001100Q0Q1Q2Q3 表1-2 3、VHDL Test Bench的使用ISE8.1设计软件还提供了一个根据通过Test Bench Waveform窗口设置的输入信号自动生成Test Bench VHDL的功能。设置好窗口的输入信号,在Sources子窗口和Processes子窗口选项如图1-37, 运行View Generated Test Bench As HDL,在右面窗口就自动

26、生成TEXT_1_TWB的VHDL 的测试程序。该程序的测试输入信号是否是根据Test Bench Waveform窗口设置编写的?请检查一下。 图1-37六、 现在要求在已完成YMQ2原理图进行VHDL语言生成及Test Bench Waveform、ISE Simulator 、ModelSim Simulator 仿真测试及VHDL Test Bench 的自动生成练习。并根据表1-3在Test Bench Waveform界面设置仿真输入波形,通过ISE及ModelSim仿真工具,观察输出结果并填入表1-3中。en01A(2:1)0001101100011011Q(3:0)表1-3实验

27、二、原理图输入与仿真及由原理图生成元器件模块实验一、 实验内容1、 完成所给原理图的设计输入。2、 对已完成的原理图进行VHDL转换和Test Bench Waveform、ISE Simulator、ModelSim Simulator 仿真测试。3、 学习观察器件下级原理图及由原理图生成模块的方法。二、 一位全加法器的原理图设计输入及Test Bench Waveform、ISE Simulator、ModelSim Simulator 仿真测试及VHDL转换。图图21 表21ABCinSumCout0000010100111001011101111)新建一个项目名为TEST_2项目,完成

28、如图21原理图的设计输入。2)用Test Bench Waveform、ModelSim Simulator 进行仿真测试,将仿真结果填入一位全加法器真值表表21中。3)利用生成器将原理图转换为VHDL描述的语言。三、 二位比较器的原理图设计输入及Test Bench Waveform、ModelSim Simulator 仿真测试及VHDL转换。1)在已建的项目名TEST_2下,完成如图22原理图的设计输入。2)用Test Bench Waveform、ModelSim Simulator 进行仿真测试,将仿真结果填入一位全加法器真值表表22中。3) 生成器将原理图转换为VHDL描述的语言。

29、表22 A与B的关系Q值ABABA=B四、 复习查看调用器件模块的下级原理图的方法1)在ECS界面,打开已完成的原理图(比较器或加法器),加入器件模块CB16CE,选中CB16CE器件模块点击鼠标右键选Symbol Push Into Symbol,此时图板显示的为CB16CE器件模块的下级原理图,以同样的方法查看CB16CE原理图中FTCE模块的下级原理图。2) 模块的下级原理图级,在空白处点击鼠标右键选Pop to Calling Schematic,就返回到上一级。3) 可以a)通过选中模块点击图标 来观看下一级原理图,和点击下级原理图的空白处和图标来返回到上级模块。4)通过选中模块点击

30、菜单Viewg Push Into Symbol来观看下一级原理图,和点击菜单ViewgPop to Calling Schematic来返回到上级模块。请自己操作一下。五、由建立的原理图生成模块器件的方法 1)建立模块:当完成原理图输入并保存后,在Source in Project子窗口选中要生成模块的原理图名,在Process for Source “原理图文件名”子窗口中,双击Design Entry Utilities 下级Create Schematic Symbol,成功后在Create Schematic Symbol前会打上一个绿色的勾,表示模块生成成功。2)调用新建模块:在E

31、CS窗口,新建一张原理图,点击图标在左栏中选中项目文件名的路径,在Symbols栏中将已建立的模块放入新建原理图中,可以用前面学过的方法观察模块的下级原理图。3)完成另一个已有原理图的模块生成。六、根据教课书第18页题2.2进行原理图输入设计并仿真,根据仿真说明该电路功能。图22实验三 VHDL设计输入及时钟频率仿真和测试 一、 实验内容1、 VHDL设计输入的方法学习。2、 利用语言模板进行VHDL设计输入。3、 如何运用控制子窗口的提示更改语法错误。4、 综合技术的应用学习。5、 时序仿真时周期的测量方法。二、 用VHDL设计一个六分频器1、新建一个(Project Name)名为TEST

32、_3项目,在图31对话框中,左栏选VHDL Module,File栏中输入FPQ3,点击下一步。图31图322、在图32对话框中第一栏输入端口名。第二栏中通过下拉菜单输入端口方向。第三栏和第四栏为需输入的端口总线最高位(MSB)和最低位(LSB),通过点击空格,弹出的上下箭头输入需要值,信号量(std_logic、bit)不用输入。3、完成后在右面的MDI子窗口自动生成VHDL语言描述的库、实体以及结构体框架(如图33),在结构体中输入设计内容,就完成了该电路的VHDL设计。图33 4、在VHDL编译窗口中关键字为蓝色(如 end ; port 等),数据类型为粉红色,注释为绿色。库名、实体名

33、、端口名、结构体名、均为黑色。这样有助于发现输入错误。完整的6分频器VHDL程序如下(也可以自己设计):library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity FPQ3 is Port ( CLK : in std_logic; CP : out std_logic);end FPQ3;architecture Behavioral of FPQ3 is signal a:integer range 0 to 5; begin pro

34、cess(CLK) begin if (CLKevent and CLK=1) then if a=5 then a=0; else aCPCPCP=Z; end case;end if; end process;end Behavioral;5、生成VHDL模块结构体内输入完毕后进行保存。在Processes子窗口中,双击(Design Entry Utilities 下级)Create Schematic Symbol,运行后在控制子窗口(左下方)弹出Create Schematic Symbol completed successfully,表示VHDL模块生成。但不能保证设计语法没有错

35、误。要通过双击Processes子窗口中的Synthesiz-XST子项Check Syntax进行语法检测,必须查看控制子窗口是否有报错、警告,根据指出的错误进行修改,直到控制子窗口没有报错和警告。 6、 View VHDL Intantiation Template的作用双击(Design Entry Utilities 下级)View VHDL Intantiation Template,生成后在控制子窗口(左下方)会弹出Process View HDL Instantiation Template completed successfully,同样不能保证设计语法没有错误,必须查看控制

36、子窗口是否有报错、警告,如果有要根据指出的错误进行修改,直到控制子窗口没有报错和警告。用鼠标选中View VHDL Intantiation Template,点击鼠标右键选Open Without Updating,在右面的MDI子窗口自动显示生成的fpq3.vhi文本,当fpq3作为元件被上层VHDL程序被调用时,可以将fpq3.vhi文本中的调用元件说明、端口映射框架复制过去,加入上层VHDL程序的对应端口就可以完成上层VHDL程序中fpq3元件调用语句和端口映射语句。7、综合技术的应用 在Processes子窗口中,展开Synthesize-XST。XST是Xilinx Synthes

37、is Technology的缩写。直接双击Synthesize-XST,如果有错误,会在Synthesize-XST前打红色r,在View Synthesis Report前打绿色的,可以阅读综合报告来发现错误,也可以从控制子窗口找错。如果都正确,在Synthesize-XST前打绿色的,在View Synthesis Report前打绿色的,Check Syntax打绿色的。点击View RTL Schematic,在ESC窗口,可以看到由VHDL程序自动生成的RTL Schematic模块(上层),通过层次进入下级可以一层一层到达最底层原理图。点击View Synthesis Report

38、阅读综合报告(FPQ3.SYS)和点击图标打开的报告。三、 ModelSim Simulator中的时序仿真及周期测量方法1、 在Sources子窗口选中fpq3-behavioral,点击菜单ProjectgNew Source弹出图34对话框,左栏选Test Bench Waveform,输入文件名fpq3_twb,完成后弹出图35对话框。图34 图35 根据图35输入数值。点击OK,在右面显示测试波形,保存一下。如图3-6在Sources 子窗口选Behavioral Simultion 和fpq3_tw,在Processes 在窗口选Processes ,运行 Generate Exp

39、ected Simulation Results,观察测试窗口的输出波形。如果设置不合适,可以点击图面的空白处弹出如图3-7的下拉菜单,选中下拉菜单中的jk项,重新设置仿真参数的时钟和长度。运行Simulate Behavioral Model,链接ModelSim SE。 通过wave-default窗口观察输出波形cp。方法:点击菜单ViewgZoomgZoom full和Zoom in观察输出波形。由于是6分频器比较容易判别结果是否正确。如果是100分频器,通过数数就很不合理。此软件有测试标尺,可以通过测试标尺值来计算设计结果是否正确。方法介绍如下:在ModelSim SE波形 图3-6

40、12 图3-7 界面先用鼠标点击要测量波形周期的上升沿或下降沿(粗选定),再点击图标(鼠标点击的是下降沿)或图标(鼠标点击的是上升沿),来准确选取,再点击图标和图标或及图标使纵向标尺在所选波形的一个周期两端,此时在界面下方,两根纵向标尺分别显示周期两端时间坐标值,两根纵向标尺之间为所测波形周期值。点击图标再点击纵向标尺,纵向标尺将被删除。请测一下CLK及CP的周期值,用CP的周期值除以CLK的周期值值为多少?,此值就是分频数。如图3-8。图3-8四、 1、根据教课书第18页习题2.2图,用VHDL描述该电路,并进行仿真验证。 2、用VHDL设计一个20分频器,并进行仿真验证。 3、如果现有的硬

41、件上提供的时钟信号为50Hz,而电路需要0.5秒的时钟信号,请用VHDL设计能实现该功能的分频器电路,并进行仿真验证。实验四.运用Language Templates设计VHDL 及符号编辑工具的运用一、实验内容:1、 运用语句模板设计VHDL。2、 仿真时总线数据类型设置及总线数据显示格式的不同设置。3、 符号编辑工具的运用。4、 用VHDL设计一个16进制减法计数器及仿真验证。二、用语句模板设计VHDL 新建一个项目名为TEST_4,在项目名下设计一个六进制计数器的VHDL程序,步骤与实验三中第二中部分中的1、2相同。在MDI子窗口自动生成六进制计数器VHDL语言描述的库、实体以及结构体框

42、架后,点击菜单EditLanguage Templates,在右面的MDI子窗口弹出Templates,选VHDLSynthesis Constructscoding Examplescountersup counterssimple counter如图41。将语言模板中的程序复制到六进制计数器的结构体中,根据设计具体要求作修改。图42是未作修改的加入模板后的六进制计数器VHDL程序。修改后的六进制计数器的VHDL程序见程序一。建成后保存。要求完成以下实验内容:1) 语法检测。 2) VHDL模块的生成。3) RTLRTL Schematic模块的生成及下级原理图的阅读。4) 阅读综合报告。5

43、) 仿真验证。图41图42参考程序1library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity JSQ6 isPort ( EN,CLK : in STD_LOGIC;Q : inout STD_LOGIC_VECTOR(2 DOWNTO 0);end JSQ6;architecture Behavioral of JSQ6 isbeginPROCESS(CLK,EN)BEGINIF EN=0THENQ=000;ELSIF CLKEVEN

44、T AND CLK=1 THENIF Q=101 THENQ=000 ;ELSE Q=Q+1;END IF;END IF;END PROCESS; end Behavioral; 图44在wave-default窗口观察六进制输出波形Q时,Q前有号表示,为总线双击 号,此时窗口同时显示总线波形和总线展开的网线波形。双击Q前的 号,展开的总线合并。1)选中总线点击鼠标右键,选Radix弹出如图44,总线可以用8种数据类型显示,请分别用这8种数据类型显示输出Q。2)选中总线点击鼠标右键,选Format,总线可以用三种格式显示。如果选CLK也可以用三种格式显示。请分别选总线、时钟信号用三种显示格式操

45、作一下。三、符号编辑工具的运用 当由原理图、VHDL、状态图设计输入生成模块后,有时候希望模块的输入、输出引脚位置作一些上下、左右调整,使各模块连线减少交叉,可通过符号编辑(Edit Symbol)实现。 现在在项目名为TEST_4下新建一个名为TEST_41的原理图,将由VHDL 图45描述的6进制计数模块放入TEST_41的原理图中,如图45,现在将图45的模块进行符号编辑,使其的模块引脚位置及形状如图46所示。图461)选中图45模块,点击鼠标右键选菜单如图47。此时进入原理图名为 图47JSQ6的JSQ6符号编辑窗口,选中模块边框移动鼠标可以改变形状,或删除原有形状重新画,再根据图48

46、选中引脚及引脚名移动鼠标将引脚放到图46所示的位置。完成编辑后保存,再打开TEST_41原理图,会弹出对话框如图49,选择更新(Update)和OK,这样就完成了JSQ6模块的符号编辑。 图48图49四、练习1、在TEST_4项目名下用语句模板设计10进制减法计数器。要求:1) 设计电路仿真验证。2) 分别用8种数据类型显示输出。3) 分别用三种格式显示输出。 2、设计一个有控制端控制可以进行12进制加或8进制加的(有进位指示)的VHDL 电路。要求设对计电路仿真验证。实验五、顶层为原理图的能显示16进制减法计数器设计一、 实验内容:用VHDL设计一个二选一电路,并用ModelSim Simu

47、lator 仿真验证。 要求该二选一电路能实现16进制数的两位数据串行输出(或称动态输出)。(在图51中为KZ模块,其中Q(3:0)为数据输出信号,D(2:0)为输出位选通信号)。2、用VHDL设计一个16进制减法器,并用ModelSim Simulator 仿真验证。 3、用VHDL设计一个共阴极7段译码电路,并用ModelSim Simulator 仿真验证。4、设计一个能显示15到0减法计数器顶层为原理图电路。用ModelSim Simulator 仿真验证。5、设计一个能将一个输入总线数值为0000到1111的分成输出为个、十位的二个总线信号(个位为0000到1001,十位为0000到

48、0001)。6、学习根据硬件实验装置外围电路与可编程器件引脚连接关系的附录表1(或所选硬件实验装置的芯片与外围电路连接附录表)定义芯片的I/O管脚,并将所设计16进制减法计数器下载到可编程器件芯片中去,通过硬件实验装置验证设计结果。7、掌握数据并行输入并行输出,串行输入并行输出及并行输入串行输出的设计电路。本设计中控制电路为数据并行输入串行输出。二、 实验步骤新建一个项目名TEST_5,顶层为原理图,原理图名为XSQ,可编程芯片选SPARTAN3系列中XC3S50-TQ144(或根据所选硬件装置上的芯片系列型号)。1)画出能两位动态显示(串行)十进制的16进制减法计数器的框图。 2)分别用VH

49、DL设计下层各模块:(1)二选一扫描电路(KZ)、(2)共阴极7段译码电路(decode)、(3)16进制减法计数器(jsq 16)、(4)将十六进制分成十进制的高低位(个、十位)(gdf),(5)根据所给时钟频率设计记数分频器和扫描分频器(硬件验证实验装置的输入时钟频率为10MHZ,也可查附录表1获得)。其中16进制减法计数器(jsq16)可通过Project Navigator界面中菜单ProjectgAdd Source从实验四中将练习时已生成的16进制减法计数器VHDL加入(调入)。3)在右面界面的XSQ原理图图板中完成模块的各设计模块的连接。如图51。保存后各设计模块由原来的与XSQ

50、原理图同级文件成为XSQ原理图下级文件。见Sources子窗口。4)给输入输出端口定义引脚序号如果不给芯片的定义I/O引脚序号,则软件编译时会自动生成设计的I/O引脚表,设计者根据I/O引脚表通过连接线将芯片端口与外围器件连接。在给定的硬件验证实验装置LP2900上芯片与外围器件的接口引脚已固定,只能自己收到定义I/O引脚。手动定义引脚操作方法:在Project Navigator界面中选菜单ProjectgNew Source,在file栏中输入文件名,左栏选Implementation Constraints File,然后点击“下一步”,在Source File中选设计顶层文件名,点击“

51、下一步”此时在sources in Project中生成后缀名为.ucf文件,选中.ucf文件,在Processes for Source中双击,如果设计无误,则会弹出.ucf文件窗口如图5-5,在图5-6窗口中通过Design Object List I/O pin 表和Package Pin for xc3s50-TQ144或Deveic Architecture for xc3s50-TQ144进行人工定义引脚,为了与硬件外围设备相匹配,要根据硬件设备(例如按键、数码管、LED发光二极管等)与芯片引脚连接表(见附录表 1 )进行定义可编程器件引脚。如要使在LP2900实验装置中en使能端通过按键SW1控制,由附录表查得按键SW1与芯片引脚P20相连,则应定义en引脚为P20。全部定义结束后,保存一下。对于引脚定义不要选用专用引脚(例VCC、GND等),时钟信号引脚要选用I/O/GCK (Global Clock)全局时钟信号。在Package Pin Legend窗口说明了Package Pin for xc3s50-TQ144芯片引脚中引脚符号所代表的含义,请仔细阅读。5)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论