五人表决器实验指导书

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

G16
I/O12
F15
I/O13
F14
I/O14
F13
I/O15
L18
I/O16
L17
I/O17
K22
I/O18
K21
I/O19
K18
I/O20
K17
I/O21
J22
I/O22
J21
I/O23
J20
I/O24
Hale Waihona Puke Baidu
J19
I/O25
J18
I/O26
E11
I/O27
E9
I/O28
E8
I/O29
E7
I/O30
D11
HEX
实验电路结构图
键1
NO.4
- 14 -
制作人:程鸿亮
人数;
num_opp:BCD 码输出显示表决结果中反对的人数;
v_out:对应显示每个表决信号的状态;
led_agr:判决结果为赞成时有效;
led_opp:判决结果为反对时有效;
首先在 QuartusII 上进行功能和时序仿真,之后通过器件及其端口配置下载 程序到 SOPC 开发平台中。在硬件实现中,要求: 1. 用实验平台的拨动开关实现 5 人表决的输入信号(v_in):
长安大学 电子与控制工程学院 电子科学与技术系
实验二 五人表决器
一、实验目的: 设计一个五人表决器,掌握异步清零以及锁存器的工作机制,掌握 QuartusII
软件的使用方法以及 GW48 型 SOPC 开发平台中的输入输出模式配置方法。
二、实验条件: 1. 安装 WindowsXP 系统的 PC 机; 2. 安装 QuartusII6.0 EDA 软件; 3. GW48 型 SOPC 开发平台;
长安大学 电子与控制工程学院 电子科学与技术系
通过对话框中的 Hardware Setup 按钮,选择下载设备:USB-Blaster。参照上图所 示的选项,点击 Start 完成下载。 五、实验结果
以下是对参考代码的编译下载后的部分图例:
说明:初始状态中,分别显示同意和反对票数的数码管 6 和数码管 5 输出“FF”, 表示可以进行新的一次表决操作。此时拨动开关有两个处于高电平(同意), LED14、LED13 对应被点亮。
四、实验步骤: 1. 打开 QuartusII 软件,建立一个新的工程: 1) 单击菜单 File\New Project Wizard…
-2-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
2) 输入工程的路径、工程名以及顶层实体名。 3) 单击 Next>按钮,出现以下窗口
由于我们建立的是一个空的项目,所以没有包含已有文件,单击 Next>继续。 4) 设置我们的器件信息:
5) 单击 Next>,指定第三方工具:
-3-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
这里我们不指定第三方 EDA 工具,单击 Next>后结束工程建立。
2. 建立 VHDL 文件: 1) 单击 File\New 菜单项,选择弹出窗口中的 VHDL File 项,单击 OK 按钮以建 立打开空的 VHDL 文件,注意此文件并没有在硬盘中保存。
I/O31
D9
I/O32
D8
I/O33
D7
I/O34
C9
I/O35
H7
I/O36
Y7
I/O37
Y13
I/O38
U20
I/O39
K20
引脚名称 I/O40 I/O41 I/O42 I/O43 I/O44 I/O45 I/O46 I/O47 I/O48 I/O49 PIO60 PIO61 PIO62 PIO63 PIO64 PIO65 PIO66 PIO67 PIO68 PIO69 PIO70 PIO71 PIO72 PIO73 PIO74 PIO75 PIO76 PIO77 PIO78 PIO79
Y16 L1 M1 M22 B12
- 13 -
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
3. I/O 模式 4 示意图:
8
7
6
5
4
3
2
译码器 译码器 译码器 译码器
时钟计数器
D8 D7 D6 D5 D4 D3 D2 D1
LOAD
串行 输出显示
CLOCK CLEAR
D16 D15 D14
- 11 -
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
2. 开发系统 I/O 管脚映射表:
引脚名称
引脚号
I/O0
AB15
I/O1
AB14
I/O2
AB13
I/O3
AB12
I/O4
AA20
I/O5
AA19
I/O6
AA18
I/O7
L19
I/O8
J14
I/O9
H15
I/O10
H14
I/O11
6. 器件的下载 1) 指定器件引脚:
单击 Assignments\Assignment Editor,打开引脚分配编辑框:
如图所示,为每一个端口指定器件的引脚,在引脚指定过程中需要参照开发 系统所给的 I/O 端口映射表,通过开发平台上每个 I/O 器件附近的 I/O 编号,在 映射表中找到相应的引脚名,填入上图所示的对话框即可。 2) 连接下载线
如图所示,Simulation mode 设置为 Functional,即功能仿真。指定仿真波形文件 后单击 OK 完成设置。 2) 单击 Processing\Generate Functional Simulation Netlist 以获得功能仿真网络表。 3) 单击 Processing\Start Simulation 进入仿真页面:
单脉冲 单脉冲
HEX HEX
键8 键7 键6 键5 键4 键3 键2
1
CLOCK0
CLOCK2
CLOCK5
CLOCK9
PIO35-PIO32 PIO39-PIO36 PIO43-PIO40 PIO47-PIO44
串行输出 PIO10
FPGA/CPLD 目标芯片
PIO8 PIO9 PIO11 PIO15-PIO12 PIO7-PIO4 PIO3-PIO0
v _out[4..0] led_agr led_opp
平为反对; lock:判决锁存信号,上升沿表决结束,锁存 表决输入信号,并计算输出表决信息; clr:清零信号,高电平有效,进入新的一次表 决过程; v_over:表决结束信号,高电平有效,清零信 号有效后,此信号为低电平。
inst
num_agr:BCD 码输出显示表决结果中赞成的
-9-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
说明:锁存按键被按下后,分别显示同意和反对票数的数码管 6 和数码管 5 输出 “23”,表示有 2 人同意,3 人反对,LED8 被点亮表示表决结果为“反对”。并 且此时在对拨动开关进行控制也不会改变表决状态。同时 LED4~LED6 同时点 亮表示此次表决结束。
如图所示,Simulation mode 设置为 Timing,即时序仿真。指定仿真波形文件后 单击 OK 完成设置。 2) 单击 Processing\Start Simulation 进入仿真页面:
-7-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
如果在时序上也没有问题,就可以进入下载工作了。
-5-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
4) 回到波形编辑窗口,对所有输入端口设置输入波形,具体可以通过左边的工 具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文 件。
4. 进行功能仿真 1) 单击 Assignments\Settings…,在弹出对话框中做以下设置:
3. 建立矢量波形文件 1) 单击 File\New 命令,在弹出的对话框中选择 Other Files 页面中的 Vector Waveform File 项,打开矢量波形文件编辑窗口:
2) 双击窗口左边空白区域,打开 Insert Node or Bus 对话框:
3) 单击 Node Finder…按钮,打开以下对话框,选择 Filter 下拉列表中的 Pins: all,并点击 List 按酒以列出所有的端口,通过>>按钮把这些端口加入到右面的 窗口中,单击 OK 完成端口的添加。
SPEAKER CLOCK0 CLOCK2 CLOCK5 CLOCK9
引脚号 C13 C7 H3 U3 P3 F4 C10 C16 G20 R20 AB16 AB17 AB18 AB19 AB20 AB7 AB8 AB11 A10 A9 A8 A7 A6 A5 A4 A3 AB9 AB10 B5 Y10
-6-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
注:此仿真中不包含延迟信息。根据仿真结果可以修改程序以期达到实验要求。 5. 进行时序仿真
如果功能仿真无误,可进入时序仿真,时序仿真是增加了相关延迟的仿真, 是最接近实际情况的仿真。 1) 单击 Assignments\Settings…,在弹出对话框中做以下设置:
2) 在编辑窗口中输入 VHDL 源文件并保存,注意实体名、文件名必须和建立工
-4-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
程时所设定的顶层实体名相同。(参考程序附后) 3) 编译工程
单击 Processing\Start Compilation 开始编译,编译过程中可能会显示若干出 错消息,参考提示原因对程序进行修改直到编译完全成功为止。
通过 USB-blaster 下载电缆连接 PC 机和开发平台,如果首次使用下载电缆, 此时操作系统会提示安装驱动程序,此 USB 设备的驱动处于 QuartusII 安装目录 中的\drivers\usb-blaster 中。
3) 单击 Tool\Programmer 打开下载窗口:
-8-
制作人:程鸿亮
说明:清零按键被按下后,回到初始状态,此时控制拨动开关使得三个处于高电 平(同意),LED11、LED13、LED14 对应被点亮。
- 10 -
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
说明:锁存按键再次被按下后,分别显示同意和反对票数的数码管 6 和数码管 5 输出“32”,表示有 3 人同意,2 人反对,LED1 被点亮表示表决结果为“同意”。 并且此时在对拨动开关进行控制也不会改变表决状态。同时 LED4~LED6 同时 点亮表示此次表决结束。
三、实验要求: 通过 VHDL 编程,实现一个五人表决器,要求有 5 个表决输入端、1 个清零
端、1 个锁存端、表决结果显示端,具体接口说明如下图所示。
v ote5
v_in:表决信号输入端,高电平为赞成,低电
v _in[4..0] lock clr
v _ov er[2..0] num_agr[3..0] num_opp[3..0]
v_in(3)
v_in(1)
v_in(4)
v_in(2)
v_in(0)
注:要求使用最右面 5 个开关。 2. 用实验平台的按键实现清零(clr)和锁存(lock)信号: 注:采用模式 4 的输入方式,要求使用键 7 实现清零(clr)、键 6 实现锁存(lock)。 (模式 4 的 I/O 设置见附录) 3. 用实验平台的数码管实现赞成和反对人数的显示: 注:要求使用数码管 6 显示赞成票数、数码管 5 显示反对票数。
功能具体要求: 当系统启动后,数码管 5、6 分别显示“FF”字样,所有用到的数码管熄灭,
表决开始,用户此时可以通过拨动开关输入 5 人的表决意见,并通过 LED10~ LED14 分别显示出来,当用户按下 lock 按键(按键 6)后,LED10~LED14 的状态 被锁存,LED3、LED4、LED5 同时点亮,此时无论如何输入表决意见 LED10~ LED14 的状态都不会改变,同时系统会计算出来赞成的人数和反对的人数,并 分别用数码管 5、6 显示出来,而且系统会计算出来赞成的人数和反对的人数的 大小关系,并通过 LED1 和 LED8 显示出来最终判决的表决结果(判决赞成:LED1 亮;判决反对:LED8 亮)。此时用户按下清除键 clr(按键 7)后,系统又恢复成为 刚启动状态。
-1-
制作人:程鸿亮
长安大学 电子与控制工程学院 电子科学与技术系
赞成 票数
反对 票数
清零 锁存
4. 用实验平台的 LED 发光阵列实现表决结果和每人的表决信号:
⒈⒉⒊⒋⒌⒍⒎⒏ ⒐⒑⒒⒓⒔⒕⒖⒗
注:要求 LED1 显示判决赞成(led_agr)信号,LED8 显示判决反对(led_opp)信号。 LED3、LED4、LED5 同时显示判决结束信号。LED10、LED11、LED12、LED13、 LED14 显示 5 人的表决信号。
相关文档
最新文档