永发信息网

请问哪位高手会verilog-HDL编程EDA设计:五人竞赛抢答器,急急急!!用max-plus2s!用module模块实现

答案:3  悬赏:40  手机版
解决时间 2021-04-03 13:39
  • 提问者网友:浪荡绅士
  • 2021-04-03 04:37
请问哪位高手会verilog-HDL编程EDA设计:五人竞赛抢答器,急急急!!用max-plus2s!用module模块实现
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-04-03 06:16
module lx0825(a,b,c,d,e,res,clk,clk1,q1,q2,q3,q4,q5,row,ra,Q1,beep);
input a,b,c,d,e;
input res,clk,clk1;
output[7:0]row,ra;
output[3:0]Q1;
output q1,q2,q3,q4,q5,beep;
reg q1,q2,q3,q4,q5,beep;
reg[7:0]row,ra;
reg[3:0]Q1;
reg[2:0]Y;
always @(res or q1 or q2 or q3 or q4 or q5)
begin
if(!res)
begin q1<=0;q2<=0;q3<=0;q4<=0;q5<=0;
end
else
begin
if(q1||q2||q3||q4||q5)
begin q1<=q1;q2<=q2;q3<=q3;q4<=q4;q5<=q5;
end
else
begin
if(a)
begin q1<=1;
end
else if(b)
begin q2<=1;
end
else if(c)
begin q3<=1;
end
else if(d)
begin q4<=1;
end
else if(e)
begin q5<=1;
end
end
end
end

always@( posedge clk)
begin
if(Q1<4'b1000)
Q1<=Q1+1;
else
Q1<=4'b0000;
if(q1)
begin
case(Q1)
0: begin row<=8'b01111111;ra<=8'b00011000;end
1: begin row<=8'b10111111;ra<=8'b00011000;end
2: begin row<=8'b11011111;ra<=8'b00011000;end
3: begin row<=8'b11101111;ra<=8'b00011000;end
4: begin row<=8'b11110111;ra<=8'b00011000;end
5: begin row<=8'b11111011;ra<=8'b00011000;end
6: begin row<=8'b11111101;ra<=8'b00011000;end
7: begin row<=8'b11111110;ra<=8'b00011000;end
endcase
end
else if(q2)
begin
case(Q1)
0: begin row<=8'b01111111;ra<=8'b11111111;end
1: begin row<=8'b10111111;ra<=8'b11111111;end
2: begin row<=8'b11011111;ra<=8'b00000011;end
3: begin row<=8'b11101111;ra<=8'b11111111;end
4: begin row<=8'b11110111;ra<=8'b11111111;end
5: begin row<=8'b11111011;ra<=8'b11000000;end
6: begin row<=8'b11111101;ra<=8'b11111111;end
7: begin row<=8'b11111110;ra<=8'b11111111;end
endcase
end
else if(q3)
begin
case(Q1)
0: begin row<=8'b01111111;ra<=8'b11111111;end
1: begin row<=8'b10111111;ra<=8'b11111111;end
2: begin row<=8'b11011111;ra<=8'b00000011;end
3: begin row<=8'b11101111;ra<=8'b11111111;end
4: begin row<=8'b11110111;ra<=8'b11111111;end
5: begin row<=8'b11111011;ra<=8'b00000011;end
6: begin row<=8'b11111101;ra<=8'b11111111;end
7: begin row<=8'b11111110;ra<=8'b11111111;end
endcase
end
else if(q4)
begin
case(Q1)
0: begin row<=8'b01111111;ra<=8'b11000011;end
1: begin row<=8'b10111111;ra<=8'b11000011;end
2: begin row<=8'b11011111;ra<=8'b11000011;end
3: begin row<=8'b11101111;ra<=8'b11111111;end
4: begin row<=8'b11110111;ra<=8'b11111111;end
5: begin row<=8'b11111011;ra<=8'b00000011;end
6: begin row<=8'b11111101;ra<=8'b00000011;end
7: begin row<=8'b11111110;ra<=8'b00000011;end
endcase
end
else if(q5)
begin
case(Q1)
0: begin row<=8'b01111111;ra<=8'b11111111;end
1: begin row<=8'b10111111;ra<=8'b11111111;end
2: begin row<=8'b11011111;ra<=8'b11000000;end
3: begin row<=8'b11101111;ra<=8'b11111111;end
4: begin row<=8'b11110111;ra<=8'b11111111;end
5: begin row<=8'b11111011;ra<=8'b00000011;end
6: begin row<=8'b11111101;ra<=8'b11111111;end
7: begin row<=8'b11111110;ra<=8'b11111111;end
endcase
end
else
begin
case(Q1)
0: begin row<=8'b01111111;ra<=8'b00000000;end
1: begin row<=8'b10111111;ra<=8'b00000000;end
2: begin row<=8'b11011111;ra<=8'b00000000;end
3: begin row<=8'b11101111;ra<=8'b00000000;end
4: begin row<=8'b11110111;ra<=8'b00000000;end
5: begin row<=8'b11111011;ra<=8'b00000000;end
6: begin row<=8'b11111101;ra<=8'b00000000;end
7: begin row<=8'b11111110;ra<=8'b00000000;end
endcase
end
end

always@(posedge clk1 )

begin
if(res&&(a||b||c||d||e))
begin
if(Y<2) beep='b1;
else beep='b0;
Y=Y+1;end
if(!(res&&(a||b||c||d||e)))beep='b0;
end

endmodule
全部回答
  • 1楼网友:街头电车
  • 2021-04-03 06:56
额 你这个太高端了。真的不会
不好意思~
  • 2楼网友:忘川信使
  • 2021-04-03 06:47
设计参数: 五人参赛,每人一个按钮。
主持人一个按钮,按下开始,具有复位功能。
先抢中者对应的指示灯亮。
显示抢中者序号。
有人抢答时,蜂鸣2s。
设计要求:用拨码开关设定主持人及参赛者按钮。
用红色信号指示灯组L1-L5表示对应参赛者指示灯。
用点阵显示抢中者序号。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯