文档详情

基于Verilog-HDL的表决器的设计.doc

发布:2018-10-27约2.38千字共3页下载文档
文本预览下载声明
学生课程实验报告书 12 级 电通 系 通信工程 专业 03 班 学号 312890 姓名 2014--2015学年 第 2 学期 实验项目: 基于Verilog HDL的表决器的设计 实验时间: 2015.6.07 实验目的: 熟悉Verilog HDL的编程。 熟悉七人表决器的工作原理。 进一步了解实验系统的硬件结构。 实验原理: 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个按键开关来表示七个人,当对应的按键开关输入为‘1’时,表示此人同意;否则若按键开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。 实验内容: 本实验就是利用实验系统中的按键开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。按键开关模块中的键1~键7表示七个人,当按键开关输入为‘1’时,表示对应的人投同意票,否则当按键开关输入为‘0’时,表示对应的人投反对票;LED模块中D1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。 实验步骤:原理图步骤与实验一相同 模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。本次实验的模式选择到“5”(红色数码管上显示)。 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致 端口名 使用模块信号 对应FPGA管脚 说 明 K1 键1 1 七位投票人 的表决器 K2 键2 2 K3 键3 3 K4 键4 4 K5 键5 5 K6 键6 6 K7 键7 7 m_Result LED模块 D1 11 表决结果亮为通过 LEDAG0 数码管模块1 39 表决通过的票数 LEDAG1 数码管模块1 40 LEDAG2 数码管模块1 41 LEDAG3 数码管模块1 42 表 表6-1 端口管脚分配表 实验现象与结果 当设计文件加载到目标器件后,按实验系统中按键开关模块的键1-键7七位按键开关,如果按键开关的值为“1”(即按键开关的开关置于上端,表示此人通过表决)的个数大于或等于四时LED模块的D1被点亮,否则D1不被点亮。同时数码管上显示通过表决的人数。 实验程序: module dee5(K,m_Result,LEDAG); input [7:1] K; output m_Result; output [3:0]LEDAG; integer i; reg m_Result; reg[3:0]LEDAG; reg [2:0] sum; always@(K) begin sum=0; LEDAG=0; for(i=1;i=7;i=i+1) if(K[i]) sum=sum+1; if(sum=4) begin m_Result=1; if(sum==4) LEDAG=4b0100; if(sum==5) LEDAG=4b0101; if(sum==6) LEDAG=4b0110; if(sum==7) LEDAG=4b0111; end else m_Result=0; begin if(!sum) LEDAG=4b0000; if(sum) LEDAG=4b0001; if(sum==2) LEDAG=4b0010; if(sum==3) LEDAG=4b0011; end end
显示全部
相似文档