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

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

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

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
    下载

相关推荐