数电实验考试verilogHDL语言及参考程序Word格式文档下载.docx
- 文档编号:19376066
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:24
- 大小:19.26KB
数电实验考试verilogHDL语言及参考程序Word格式文档下载.docx
《数电实验考试verilogHDL语言及参考程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数电实验考试verilogHDL语言及参考程序Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
S2
P14
表示2号抢
S3
P16
表示3号抢
S4
P15
表示4号抢
S5
M15
表示5号抢
S6
N16
表示6号抢
S7
N15
表示7号抢
DOUT0
LED模块D1
L14
表决结果
亮为通过
LEDAG0
数码管模
N4
抢答成功
块A段
者
LEDAG1
G4
号码显示
块B段
LEDAG2数码管模H4
块C段
参考答案:
moduleliu(s,dout0,ledag);
input[6:
0]s;
outputdout0;
output[6:
0]ledag;
reg[6:
0]led;
reg[2:
0]k;
regclk_en;
regdout;
always@(s)
begin
k<
=s[1]+s[2]+s[3]+s[4]+s[5]+s[6]+s[0];
if(k>
=4)
dout<
=1;
end
else
=0;
always@(k)
case(k)
3'
d0:
led<
=7'
b0111111;
d1:
b0000110;
d2:
b1011011;
d3:
b1001111;
d4:
b1100110;
d5:
b1101101;
d6:
b1111101;
d7:
b0000111;
default:
b0000000;
endcase
assign
ledag=led;
dout0=dout;
endmodule
题目二:
数字电子实验设计题目:
彩灯循环电路设计
所谓彩灯循环就是对于一组彩灯(16盏),通过不同的工作模式可按照一定的规律来点亮或者熄灭。
我们所要求的彩灯循环电路共分4个节拍,四个节拍按照一定的顺序依次循环执行。
系统设有一个复位键,当按下复位键后,系统从第一节拍开始执行直到第四节拍结束,然后从第一节拍重新开始新的循环。
第一节拍:
16盏灯(Q1~Q16)从Q1开始依次点亮,直到Q16为止。
每盏灯点亮的时间间隔为一秒,即Q1点亮后,间隔一秒后Q2点亮,然后依次点亮。
(下面类似间隔时间都为1秒)
第二节拍:
在第一节拍的基础上,16盏灯(Q1~Q16)从Q16开始依次熄灭,直到Q1为止。
每盏灯熄灭的时间间隔为一秒,即Q16熄灭后,间
隔一秒后Q15熄灭,然后依次熄灭直到全部熄灭为止。
(下面类似间隔时间都为1秒)
第三节拍:
16盏灯(Q1~Q16)从两端开始依次点亮,即(Q1、Q16先点亮,然后Q2、Q15再点亮,直到全部16盏等点亮为止)。
每盏灯点亮的时间间隔为一秒。
第四节拍:
在第三节拍的基础上,16盏灯(Q1~Q16)从中间开始依次熄灭,即(Q8、Q9先熄灭,然后Q7、Q10再熄灭,直到全部16盏灯熄灭为止)。
每盏灯熄灭的时间间隔为一秒。
在此实验中数码管、LED、拨动开关与FPGA使用模对应说明
的连接电路和管脚连接在以前的实验中
块信号
FPGA管
都做了详细说明,这里不在赘述。
端口
脚
名
按键开
表示复
关S1
位按键
Q1
Q2
M14
Q3
N14
Q4
N13
Q5
P12
moduleliu2(clk,ret,led);
inputclk,ret;
output[16:
1]led;
wireret_en;
reg[16:
1]led1;
reg[5:
0]i,j,k,l,m;
reg[31:
0]cout;
ret_en=ret;
always@(posedgeclkornegedgeret_en)
if(~ret_en)
led1<
=16'
b0000000000000000;
i<
cout<
=(cout==32'
d)?
32'
(cout+32'
d1);
clk_en<
1'
(1'
d0);
if(clk_en)
j<
=i+1;
if(i<
=16)
//dex<
=i;
//l<
//m<
led1[i]<
//led1[i-j]<
elseif(i>
16&
&
=32)
=k*2+1;
=k+1;
led1[i-j]<
=dex-1;
32&
=40)
=dex+1;
=2*m+17;
led1[i-32]<
led1[49-i]<
40&
=48)
led=led1;
题目三:
汽车尾灯控制电路设计
假设汽车尾部左右两侧各有3个指示灯,
(1)汽车正常运行时,指示灯全灭。
(2)左转弯时,左侧3个指示灯按照左循环顺序点亮(1HZ)。
(3)右转弯时,右侧3个指示灯按照右循环顺序点亮(1HZ)。
(4)临时刹车时,所有指示灯同时闪烁(1HZ)。
尾灯与汽车运行状态运行状态左尾灯右尾灯
表开关控制
S1S0
D1D2D3
D4D5D6
00
正常运行
灯灭
01
左转弯
按
照灯灭
D3,D2,D1
顺
序循环点亮
10
右转弯
照
D4,D5,D6
11
临时停车
1HZ频率同时
闪烁
在此实验中数码管、LED、拨动开关与FPGA的连接电路和管脚连接
在以前的实验中都做了详细说明,这里不在赘述。
使用模块信
对应FPGA管
号
按键开关S1
按键开关S2
D1
D2
LED模块
D3LED模块N14
D3
D4LED模块N13
D4
D5LED模块P12
D5
D6LED模块N12
D6
脉冲源50MHZCPJ3
参考程序:
modulelwf(clk,ledag,s);
inputclk;
input[1:
output[5:
reg[5:
reg[1:
0]i,j,k;
reg[31:
always@(posedgeclk)
if(s==2'
b00)
=6'
b000000;
elseif(s==2'
b01)
if(i==2'
b001000;
b10)
b010000;
b11)
b100000;
=j+1;
if(j==2'
b000100;
b000010;
b000001;
if(k==2'
b111111;
题目四:
数字电子实验设计题目:
抢答器电路设计
抢答器在各类竞赛性质的场合得到了广泛的应用,它的出现,消除了原来由于人眼的误差而未能正确判断最先抢答的人的情况。
抢答器的原理比较简单,首先必须设置一个抢答允许标志位,目的就是为了允许或者禁止抢答者按按钮;
如果抢答允许位有效,那么第一个抢答者按下的按钮就将其清除,同时记录按钮的序号,也就是对应的按按钮的人,这样做的目的是为了禁止后面再有人按下按钮的情况。
总的说来,抢答器的实现就是在抢答允许位有效后,第一个按下按钮的人将其清除以禁止再有按钮按下,同时记录清楚抢答允许位的按钮的序号并显示出来,这就是抢答器的实现原理。
本实验的任务是设计一个四人抢答器,用按键模块的S8来作抢答允许按钮,用S1~S4来表示1号抢答者~4号抢答者,同时用LED模块的LED1~LED4分别表示于抢答者对应的位子。
具体要求为:
下S8一次,允许一次抢答,这时S1~S4中第一个按下的按键将抢答允许位清除,同时将对应的LED点亮,用来表示对应的按键抢答成功。
数码管显示对应抢答成功者的号码。
在此实验中数码管、LED、按键开使用模块对应FPGA说明
S8
开始抢答
S12
按键
1号抢答者
灯
DOUT1
LED模块D2
2号抢答者
DOUT2
LED模块D3
3号抢答者
DOUT3
LED模块D4
4号抢答者
块A段者
LEDAG1数码管模G4号码显示
moduleliu1(s1,s2,s3,s4,s8,led,ledag);
inputs1,s2,s3,s4;
inputs8;
output[3:
reg[3:
regk;
0]ledag1;
//initial
//k<
always@(s8)begin
if(s8==0)begin
=4'
b0000;
ledag1<
endelse
if(k==1)
if(~s1)
b1000;
elseif(~s2)
b0100;
elseif(~s3)
b0010;
elseif(~s4)
b0001;
ledag=ledag1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 考试 verilogHDL 语言 参考 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)