• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

可容纳3组竞赛的数字式抢答器设计Verilog代码Quartus仿真

08/08 08:15
262
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240R02051231I.doc

共1个文件

名称:可容纳3组竞赛的数字式抢答器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

综合训练内容要求

1)设计一个可容纳3组竞赛的数字式抢答器,每组设一个按钮,供抢答使用。

2)抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。

3)设置一个主持人“复位”按钮。

4)主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示答组别,扬声器发出1-2秒的音响。

5)设置一个计分电路,每组开始预制100分,由主持人记分,答对一次10分错一次减10分。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

分频模块

抢答控制模块

分数控制模块

显示模块

部分代码展示:

//显示模块
module?display
(
input?clk,
input?[7:0]?score_1,//1号分数
input?[7:0]?score_2,//2号分数
input?[7:0]?score_3,//3号分数
input?[3:0]?responder_num,//抢答指示1~3
output?reg?[3:0]?weixuan,//位选,低亮
output?reg?[7:0]?duanxian//段选,低亮
);
reg[15:0]jishu='d0;
always@(posedge?clk)
begin
jishu<=jishu+16'd1;
end
reg?[7:0]?score;//分数
always@(posedge?clk)
begin
case(responder_num)//抢答者
4'd0:score<=0;//
4'd1:score<=score_1;//分数1
4'd2:score<=score_2;//分数2
4'd3:score<=score_3;//分数3
??????default:;
endcase
end
reg?[3:0]?display_data=4'd0;
always@(posedge?clk)
begin
case(jishu[4:3])//显示
2'd0:display_data<=score%10;//分数个位
2'd1:display_data<=score%100/10;//分数十位
2'd2:display_data<=score/100;//分数百位
2'd3:display_data<=responder_num;//抢答指示1~3
??????default:;
endcase
end
always@(posedge?clk)
begin
case(jishu[4:3])//位选,低亮
2'd0:?weixuan<=4'b1110;
2'd1:?weixuan<=4'b1101;
2'd2:?weixuan<=4'b1011;
2'd3:?weixuan<=4'b0111;
default:weixuan<=4'b1111;
endcase
case(display_data)//段选,低亮
0?:?duanxian=?(8'hc0);?
1?:?duanxian=?(8'hf9);?
2?:?duanxian=?(8'ha4);?
3?:?duanxian=?(8'hb0);?
4?:?duanxian=?(8'h99);?
5?:?duanxian=?(8'h92);
6?:?duanxian=?(8'h82);?
7?:?duanxian=?(8'hf8);?
8?:?duanxian=?(8'h80);?
9?:?duanxian=?(8'h90);?
endcase
end
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=926

  • 2-240R02051231I.doc
    下载

相关推荐