名称:4人抢答器设计Verilog代码Quartus? DE10开发板
软件:Quartus
语言:Verilog
代码功能:
4人抢答器
设计要求
1.此抢答器可供4组选手参加比赛使用。每组选手控制一个按钮,用以发出抢答信号。
2.开始抢答后,最先发出抡抢答信号组所对应的LED灯点亮,并发出声音表示抢答成功,此时其他三组的按钮不再起作用。
3.主持人可通过另一按钮将其进行复位。
4.增加计分模块,每个选手的计分用两位数码管显示。自定义其它功能。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE10开发板验证,DE10开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
部分代码展示:
module?display ( input?clk, input?[3:0]?time_down,//倒计时10_0 input?[3:0]?responder_num,//抢答指示1~4 input?[7:0]?score_1,//1号分数 input?[7:0]?score_2,//2号分数 input?[7:0]?score_3,//3号分数 input?[7:0]?score_4,?//4号分数 output??reg?[7:0]?HEX0,//数码管-低亮 output??reg?[7:0]?HEX1,//数码管-低亮 output??reg?[7:0]?HEX2,//数码管-低亮 output??reg?[7:0]?HEX3,//数码管-低亮 output??reg?[7:0]?HEX4,//数码管-低亮 output??reg?[7:0]?HEX5?//数码管-低亮 ); //段选输出 always?@(posedge?clk) begin case?(time_down%10)??//显示码 8'd0:?HEX0<=?8'b1100_0000; 8'd1:?HEX0<=?8'b1111_1001; 8'd2:?HEX0<=?8'b1010_0100; 8'd3:?HEX0<=?8'b1011_0000; 8'd4:?HEX0<=?8'b1001_1001; 8'd5:?HEX0<=?8'b1001_0010; 8'd6:?HEX0<=?8'b1000_0010; 8'd7:?HEX0<=?8'b1111_1000; 8'd8:?HEX0<=?8'b1000_0000; 8'd9:?HEX0<=?8'b1001_0000; default:; endcase end always?@(posedge?clk) begin case?(responder_num)??//显示码 8'd0:?HEX1<=?8'b1100_0000; 8'd1:?HEX1<=?8'b1111_1001; 8'd2:?HEX1<=?8'b1010_0100; 8'd3:?HEX1<=?8'b1011_0000; 8'd4:?HEX1<=?8'b1001_1001; 8'd5:?HEX1<=?8'b1001_0010; 8'd6:?HEX1<=?8'b1000_0010; 8'd7:?HEX1<=?8'b1111_1000; 8'd8:?HEX1<=?8'b1000_0000; 8'd9:?HEX1<=?8'b1001_0000; default:; endcase end always?@(posedge?clk) begin case?(score_1[3:0])??//显示码 8'd0:?HEX2<=?8'b1100_0000; 8'd1:?HEX2<=?8'b1111_1001; 8'd2:?HEX2<=?8'b1010_0100; 8'd3:?HEX2<=?8'b1011_0000; 8'd4:?HEX2<=?8'b1001_1001; 8'd5:?HEX2<=?8'b1001_0010; 8'd6:?HEX2<=?8'b1000_0010; 8'd7:?HEX2<=?8'b1111_1000; 8'd8:?HEX2<=?8'b1000_0000; 8'd9:?HEX2<=?8'b1001_0000; default:;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1358
阅读全文