实验指导书全版(陈捷)ISE8.1实验指导书(全)

更新时间:2023-04-19 14:34:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

可编程器件实验指导书

(Xilinx ISE 8.1i)

陈捷

同济大学电信学院中心实验室

1

实验一、ISE8.1软件的基本操作介绍 (1)

实验二、原理图输入与仿真及由原理图生成元器件模块实验 (18)

实验三、VHDL设计输入及时钟频率仿真和测试 (21)

实验四、运用LanguageTemplates设计VHDL 及符号编辑工具的运用..27 实验五、状态图设计输入及STATE BENCH 的应用 (32)

实验六、顶层为原理图的能显示16进制减法计数器设计 (41)

实验七、VHDL中的生成语句及结构体的结构化描述语句的应用 (49)

实验八、顶层为VHDL的秒表设计 (51)

实验九、程序包及元件例化设计 (66)

实验十、时钟芯片设计 (69)

实验十一、彩灯控制器 (70)

实验十二、数字式频率计 (71)

实验十三、地铁售票机 (72)

实验十四、电子音乐发生器的VHDL设计 (73)

实验十五、交通灯控制器........................................................ .. (75)

实验十六、电梯控制器的设计 (77)

实验十七键盘输入及显示的电路设计 (78)

实验十八8X8点阵显示器设计 (79)

实验十九test bench测试代码的编写与应用 (76)

附录1................................................................ . (84)

附录2................................................................ .. (93)

附录3...................................................................... . (101)

2

3 实验一、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软件界面如图1-1所示。 图1-1界面称为Project Navigator 界面。如果先前有工程项目则如图1-2。 图1-1

1 2 4

3

1

3

2

4

图1-2

如果双击图标出现的界面与图1-1不同,则再点击下拉菜

单View进行选项。也可以从电脑的Start(开始)→Programs(所有程序)→Xilinx ISE8.1→Project Navigator进入图1-1界面。图1-1中除了下拉菜单和命令图标外,还包含4个子窗口。

①Source 子窗口(左上部分)

该窗口可显示Sources For下拉菜单选项和三大类用户设计信息。

1)Sources: 当选中Sources时,该子窗口显示项目名、用户文件、

所选器件类型、设计流程、综合工具和设计源文件。通过图标表示文件类型(例如:HDL、原理图、核、状态图、文本文件等)。图标前有+说明有下级文件。

2)Snapshot View :当选中Snapshot View时,该子窗口显示对项目导航器中当

前打开的项目进行复制。操作方法:选中Module View中项目或子项目,点击菜单命令Projec→take Snapshot,弹出对话框,确认后就将Module View显示的所有项目和子项目以复制方式在Snapshot View子窗口中显示。

Snapshot View作用使设计者可以保存几个不同内容的同一项目名的设计。当

要从Snapshot View将某一项目内容替代当前Module View中的项目内容,先将要替代的项目内容Snapshot,然后在Snapshot View窗口中选中要替换的文件夹,点击鼠标右键弹出菜单选Make Snapshot Current,或从菜单上选ProjectMake Snapshot Current。

3)Library View: 该子窗口显示项目中所有的库文件。

4)Sources For下拉菜单选项根据设计任务进行可选择。

4

5

图1-3 图1-4

②Processes 子窗口(位于左中部分)

在界面下面有Processes 和Options 两个选项项。

当选Processes 子窗口中的Processes ,在Source 子窗口中选工程名或项目名,该界面分别如图1-3,图1-4。

图1-4中Processes 由以下几部分内容:

→ Design Entry Utilities(设计输入工具):提供选用元件符号生成、示例模板、HDL 转换器、命令行日志文件、运行MTI 和仿真程序编译等功能。

→User Constraints(用户设计约束设置):提供用户芯片内部设置编辑和时间约束设计功能。

→Synthesis(综合):提供语法检测、综合、RTL 原理图和综合报告。

→Implement Design(设计实现):提供设计实现工具、设计流程报告和其他相关工具。 →Generate Programming File (生成编译文件):提供配置工具和位流生成功能。

③MDI (multi-document interface )子窗口(右面)

1)当创建 *. vhd (语言描述)模式输入或打开 *.vhd ,在该子窗口能进行ISE 文本编辑、

ISE语言模板和HDL 测试文本显示。

→Text Editor(文本编辑器) :在此窗口可对源文件和其他文本文件进行编辑设计。

→HDL Bencher (HDL测试文本文件) :HDL测试文本文件是将特定的软件(ModelSim)集成在Project Navigator构架中的测试平台。

2)当创建*.SCH(原理图)模式输入或打开*.SCH,在该子窗口能进行电路原理图设计。5)当选中Design Summary,弹出如图1-2界面。此处有相关的设计文档信息。

控制子窗口(下方):

该窗口用于显示程序运行中的错误、警告。例如编写的VHDL程序、由原

理图生成VHDL程序。有错误时error前有红色方块显示,出现警告时warning前有黄色方块显示。通过该窗口显示的信息(例如指出的HDL的错误发生在第几行、错误内容。原理图不能生成VHDL的错误等。)供设计者进行HDL或原理图设计修改。

以上四个子窗口的应用在以后的实验中会进一步说明,现在有一个大概

了解就可以了。

同学可以通过界面上的 help下拉菜单详细了解界面的功能和用途。

三、用原理图输入方法设计新项目2_4译码器

完成如图1-5的原理图输入设计。

方法简介:

6

7 1) 在图1-1或图1-2界面窗口点击菜单File → New Project 弹出图1-6对话框。

图1-

6

图1-7

在Project Name 中输入工程项目名TEXT_1(或自己取),在Top-Level Module Type 中通过下拉菜单选Schematic 。点击下一步弹出图1-7对话框。对话框中的Value

下面的8个内容除Top-Level Module Type 为Schematic 不能改变,其余七项都有下拉菜

8 单。根据图1-7对话框选项。点击下一步,弹出图1-8对话框。

图1-8

图1-9

图1-10

在该对话框中点击New Source, 弹出图1-9对话框。在对话框中左面选中Schematic

9 在 File 栏中输入原理图名YMQ1(项目名),点击下一步,弹出1-9图框,点击完成。出现图1-10对话框, Source File 栏中已加入了YMQ1.sch 文件名。点击下一步弹出图1-11对话框,在此对话框中可以将已有的源文件加入,也可以通过菜单Project →Add Source 或选菜单Project →Add Copy of Source 。

点击下一步弹出图1-12图框。在该图框中包含了新建原理图的基本信息。点击完成弹出如图1-13。

图1-11

图1-12

1)根据图1-5将器件放入图板。

或在Sources 窗口如图1-13点击图标,此时

双击图标 Sources 窗口如图1-14,选中< --All Symbols-- >,在Symbol Name Filter 空白栏中输入图1-5的门电路名,在Symbols 栏中选择所需的器件,拖至图板,不行的话再双击图标为选中状态并移动则选中器件可放如图1-13中间的绘图板中,以后只要图标为选中

状态,在Symbols 栏中选择所需的器件,选中就可将所选器件放入图

板,也可一通过下拉菜单Add →Symbols 将所选器件放入图板。

10

图1-13

图1-13中部分图标功能说明: 图标

功能:逐级放大显示。 图标

功能:逐级缩小显示。 图标

功能:整图板显示。 图标

功能:根据所选窗口放大。 图标功能:根据所选单体(元件、网线、总线等)

放大。

2)根据图1-5连线

点击图标 或选择菜单Add →Wire 进入连线状态,

此时的Processes 子窗口为Add Wire Options ,如图1-15,点

击所要连线的两端,就会自动连线,对已连线的中间要连线

(终端)要双击结束。点击鼠标右键退出连线,返回到Select

Options 状态如图1-15。或点击图标返回到选择状态。在

Select Options

图1-14 状态选中Select the line segment ,再选中图中一段连

11

图1-14 图1-15

线,点击鼠标右键可对该线段进行删除、剪切、拷贝等操作。

3) 根据图1-5加输入输出端口

点击图标 或选择菜单Add →I/O Marker ,此时的Processes 窗口为Add

I/O Marker Optiongs 。根据图1-3选择Add an Atomatic marker (或者Add an input marker 或 Add an output Marker )再点击图标移动端口到所需连接的网线。

4)根据图1-5给连线或端口赋名 点击图标或选择菜单Add →Net Name ,左面弹出对话框如图1-16。在

When you click on a branch 项中选Name the branch 。在name 项输入en ,然后选中en ,

再点击图标将鼠标十字拖动到网线与端口连接处,则就成了端口命名。也可以选

中要命名的网线或总线点击鼠标右键后弹出下拉菜单,选Rename port 后弹出的对话

框对线或总线命名。或者在选择状态双击该网线或端口,弹出对话框,在对话框中value

下输入网线、端口名。 在给A1-A2,Q0-Q3端口命名时,由于命名连续,当在Name 栏中输入q0,然

后在After naming the branch or net 中选中Increment the name ,将鼠标十字拖动到输出

端口(按端口标号由低到高顺序)点击就会自动将q0→q1→q2→q3。

12

同样可以用自动命名对A1、A2端口赋名。再点

击图

标或通过Tools 下拉菜单Check

Schematic 来检查原理图输入是否有错误。完成后

SA VE 。这样就完成了2_4译码器的原理图设计输

入。

5)设计一个用总线表示输入、输出端口的2_4译

码器的原理图

在Sources 子窗口点击Sources 在Sources 子

窗口中选中项目名TEST_1,点击菜单

Project →New Source ,在对话框中,在File 空栏中

输入YMQ2,左栏选Schmatic ,点击完成,进入

ymq2双击Sources in Project 子窗口中的ymq2的

ECS 界面,此界面可以进入YMQ1、YMQ2两个

图板界面。 进入YMQ1图板,将YMQ1原理图

复制到YMQ2(选中原理图成红色点击鼠标右键

选copy ,在YMQ2图板中点击鼠标右键选paste )。

i)在YMQ2原理图中删除A1、A2、Q0-Q3端口,

点击图标 或选择菜

Add →Wire 进入画线状态,画线位置如图 1-14。

ii)点击图标 或选择菜单

Marker 在左弹出Add I/O

Add →I/O Marker Options 对话框中根据输入、输出端口

选端口,将端口和所画线相连。如图1-17。

图1-16

iii)给总线端口命名 点击图标或选择菜单Add →Net Name ,在左面弹出对话框中name 项输入A(1:0),然后选中A(1:0),再将鼠标十字头拖动到网线与端口连接处,则就完成了输入总线端口命名,此时的连线由细线(网线)变成了粗线(总线)。同样对输出总线Q(3:0)端口命名。

iv)完成总线与网线的连接。点击图标或选菜单Add Bus Tap 或按Ctul+B 键,在Processes 窗口弹出如图1-18对话框,根据总线引脚的方向选择,将引脚先与总线相连,如图1-19所示,再将总线引脚与对应网线连接。根据前面学过的方法给网线命名,注意网线命名序号要加括号(例如:Q (0)、Q (1))

。完成图后,保存一下。再点击图板

或通过Tools 下拉菜单Check Schematic 来检查

13 图1-17

原理图输入是否有错误。

V) 如果要查看或删除A(1)

整个网线可先点击

在Processes

窗口中选再选

点击A(1)网线根据需要操作。

如果A(1) 整个网线中有某一段连接错了,要删除,则选中栏中的

再选中要删除的某段线,就能将该线段删除。 图1-18

四、 学习如何通过选项由原理图自动VHDL,使用

Test Bench Waveform 、

ModelSim Simulator 对已完成的2_4译码器进行功能

仿真的方法。 以及VHDL Test Bench 的使用。

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译码器语言程序。仔细阅读并请问该语言描述程序是采用结构体的哪一种描述方式?

14

1-19

图1-20

五、 Test Bench Waveform 、ISE Simulator 、ModelSim Simulator 的使用

1)Test Bench Waveform 仿真输入信号界面设置操作

a 、将图1-20中的Value 中的选项恢复为默认的Verilog 。

b 、在Source in Project 子窗口选中ymq1,然后点击菜单Project →new Source ,在左栏中选Test Bench Waveform , 文件名输入YMQ1_twb ,点击完成,此时弹出一个测试输入波形设置对话框,如图1-21。点击OK ,在右面弹出测试波形图如图1-22。如果测试时间长度不合适或时钟标尺不合适,可以在图板上点击鼠标右键,选菜单中的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设置。

15

1-21

如果希望连续设置可双击输入信号波形处会弹出set value 对话框,点击 Pattern Wizard ,弹出对话框Pattern Wizard 如图1-23。

Pattern Wizard中有:

i)模式选择(Choose Pattern): 当选随机模式(Random),则根据重复次数

设置随机设置电平。当选触发模式(Toggle), 除根据重复次数设置外还要根据规定模式设置电平。

1-23

图1-24

ii)码设置(Radix):有16、10、2进制三种,信号量只能2进制。

iii)重复次数设置(Repeat Pattern):根据仿真需要设置次数。

16

17 iv)规定格式设置(Customize pettern ):当初始值(initial value )设置为1时,其他值(other Value )设置为0,或者相反,两者不能一样(可以是‘0’、‘1’、‘Z ’、’X ’ 、‘U ’)。 v)触发转换周期(Toggle Every ):设置电平由高到低或低到高的周期数。数值在1-999范围内。

手动对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-26

1) ISE 仿真软件的操作

可以选择ISE 自带的仿真工具“ISE Simulator(VHDL/Verilog)项,选中后缀为.tbw 仿真文件。在Sources 界面中根据图1-27选择操作,双击Properties 弹出图1-28界面。

1-27

18 图1-28

根据图1-28选项,在Porcessses 子窗口中点击左下的Porcessses 选项中双击“Simulate Bhevioral Model ” ,见图1-29。观察simulation 界面上的输入及Q0、Q1、Q2、Q3输出响应波形。

图1-29

可以在图1-30的仿真波形图上点击鼠标右键,弹出如图1-31中的菜单,

19

1-30

图1-31

当选“Add Marker ”项会出现测量杆,测量杆可以左右移动,其测量杆位置所对应的输入输出值在左侧显示。也可以根据实际需要增加测量杆或删除测量标杆。

图1-32

2)可以图1-28中选择第三方仿真工具ModelSim 。假如选择“Modelsim-SE Mixed 在ModelSim Simulator 中选第一项,运行如图1-33 ,观察HDLBencher 上的Q0、Q1、Q2、Q3输出响应。

20

图1-34

ModelSim Simulator 仿真的操作

i)在完成Test Bench Waveform 波形窗口输入值设置后,就可以进行ModelSim Simulator 仿真操作,运行Porcessses 子窗口中

, 放大wave-default 窗

口,通过调节显示波形,了解下列功能图

标作用:

。wave-default 窗口波形如图

1-35。

点击会弹出竖向标尺(标尺可以移动),该标杆所在波形位置其对应的数值在左面显示。

如果要改变输入信号再观察ModelSim 的输出波形有两种方法:

方法1:在窗口上重新设置输入波形并保存,关闭ModelSim SE PLUS,

再运行Porcessses 子窗口中的

,就可以观察重新输入的信号设置和输出响应波形。

方法2:在窗口上重新设置输入波形并保存,在ModeSim 主界面选中compile 下拉菜单的compile ,弹出图1-36对话框,选中后缀为.twf

21

1-35

图1-36

或.vhw 文件名,点击Compile ,wave-default 窗口,点击图标

(运行Restart),再点击图标(运行Run All ),就可以观察重新输入输入信号后的输出相应波形。根据表1-2重新设置输入信号,观察输出波形,并填入表1-2中。

本文来源:https://www.bwwdw.com/article/5x1q.html

Top