|
|
|
浅谈表决器的设计实验 发布时间:2024-05-28 |
一、 实验目的
1、 熟悉VHDL的编程。
2、 熟悉七人表决器的工作原理。
3、 进一步了解实验系统的硬件结构。
二、 实验原理
所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。
三、 实验内容
本实验就是利用实验系统中的拨动开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。拨动开关模块中的K1~K7表示七个人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票;LED模块中D1表示七人表决的结果,当D1点亮时,表示此行为通过表决;否则当D1熄灭时,表示此行为未通过表决。数码管显示通过的票数。
四、 实验步骤
1、 打开QUARTUSII软件,新建一个工程。
2、 建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。
3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、 编写完VHDL程序后,保存起来。方法同实验一。
5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再 进 行全编译一次,以使管脚分配生效。
7、 根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
如果是调用的本书提供的VHDL代码,则实验连线如下:
K1-K7:投票者的投票信号,接一个拨动开关K1-K7。
LEDAG[6..0]:数码管显示信号,接数码管的G、F、E、D、C、B、A。
m_Result: 抢答成功者显示信号,接一个LED灯D1。
8、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致
五、 实验结果与现象
以设计的参考示例为例,当设计文件加载到目标器件后,确认信号连接线已正确连接,拨动实验系统中拨动开关模块的K1-K7七位拨动开关,如果拨动开关的值为“1”(即拨动开关的开关置于上端,表示此人通过表决)的个数大于或等于四时LED模块的D1被点亮,否则LED1不被点亮。数码管显示通过的票数。
六、 实验报告
1、 绘出仿真波形,并作说明。
2、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。
3、 试在此实验的基础上增加一个表决的时间,只的在这一时间内的表决结果有效。 |
|
返回顶部 ↑ |
|
|