数电实验考试verilogHDL语言及参考程序 下载本文

if(j==2'b01) begin

led<=6'b000100; end

if(j==2'b10) begin

led<=6'b000010; end

if(j==2'b11) begin

led<=6'b000001; j<=0; end end

else if(s==2'b11) begin

led<=6'b000000; i<=0; j<=0; k<=k+1; if(k==2'b01) begin

led<=6'b000000; end

if(k==2'b10) begin

led<=6'b111111; k<=0; end end end end assign ledag=led; endmodule

题目四: 数字电子实验设计题目:抢答器电路设计 一、设计任务及原理:抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;如果抢答允许位有效,那么第一个抢答者按下的按钮就将其清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况。总的说来,抢答器的实现就是在

抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清楚抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。 二、具体要求:

本实验的任务是设计一个四人抢答器,用按键模块的S8来作抢答允许按钮,用S1~S4来表示1号抢答者~4号抢答者,同时用LED模块的LED1~LED4分别表示于抢答者对应的位子。具体要求为:按下S8一次,允许一次抢答,这时S1~S4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。数码管显示对应抢答成功者的号码。 在此实验中数码管、LED、按键开关与FPGA的连接电路和管脚连接在以前的实验中都做了详细说明,这里不在赘述。 端口名

S1

按键开关S1

S2

按键开关S2

S3

按键开关S3

S4

按键开关S4

P15 P16 P14 R16

表示1号抢答者 表示2号抢答者 表示3号抢答者 表示4号抢答者

使用模块信号

对应FPGA管脚

说 明

S8 按键开关S12

DOUT0 LED模块D1 DOUT1 LED模块D2 DOUT2 LED模块D3 DOUT3 LED模块D4 LEDAG0 数码管模块A段

LEDAG1 数码管模块B段

LEDAG2 数码管模块C段

参考程序:

module liu1(s1,s2,s3,s4,s8,led,ledag); input s1,s2,s3,s4; input s8;

output [6:0]ledag; output [3:0]led;

M15 开始抢答按键

L14 1号抢答者

M14 2号抢答者

N14 3号抢答者

N13 4号抢答者

N4 抢答成功者

G4 号码显示

H4