名称:抢答器设计Verilog代码Quartus DE2-70开发板
软件:Quartus
语言:Verilog
代码功能:
1.设计目的:
(1)了解DE2-70开发极的硬件构成;
(2)熟悉开发极可用资源的硬件电路;
(3)掌握EDA开发疏程;
(4)熟悉 Quartus开发环境;
(5)掌握 Verilog基本语法;
(6)熟练掌握在 Quartus环境下进行软件仿真的方法。
2.设计内容及基本要求
设计一个抢答计分器,实现抢答和计分功能
(1)基本功能
①主持人按键清零,数码管显示0,此时进入抢答环节;
②主持人发出开始命令,5人开始抢答。其中一人先按下抢答键,数码管显示该人号码,且屏蔽其他人的按键。直到主持人按键请零,则开始下一次抢答;
3.完成分值的计算,每个人答对题目的概率为50%答对则加1分,答错则减;
④显示每个人的分值。
(2)扩展功能
可以实现题目分值的设置,分别设置分值为1、2、5分。
3.撰写课程设计报告。
报告内容要求如下:
设计题目、目的,内容设计思路;
系统电路图
各功能模块的功能,实现方法,电路图(源代码)、功能仿真图;开发极硬件资源便用情况
编程模块的源代码请单;设计时碰到的问题及解决方法
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE2-70开发板验证,DE2-70开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真图
控制模块仿真图
显示模块仿真图
部分代码展示:
//显示模块 module display ( input clk, input [3:0] score_1,//分数 input [3:0] score_2, input [3:0] score_3, input [3:0] score_4, input [3:0] score_5, input [3:0] number,//抢答号码 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(number)//抢答号码 4'd0 : HEX0<= 8'hc0; 4'd1 : HEX0<= 8'hf9; 4'd2 : HEX0<= 8'ha4; 4'd3 : HEX0<= 8'hb0; 4'd4 : HEX0<= 8'h99; 4'd5 : HEX0<= 8'h92; 4'd6 : HEX0<= 8'h82; 4'd7 : HEX0<= 8'hf8; 4'd8 : HEX0<= 8'h80; 4'd9 : HEX0<= 8'h90; default:; endcase end always@(posedge clk) begin case(score_1)//分数1 4'd0 : HEX1<= 8'hc0; 4'd1 : HEX1<= 8'hf9; 4'd2 : HEX1<= 8'ha4; 4'd3 : HEX1<= 8'hb0; 4'd4 : HEX1<= 8'h99; 4'd5 : HEX1<= 8'h92; 4'd6 : HEX1<= 8'h82; 4'd7 : HEX1<= 8'hf8; 4'd8 : HEX1<= 8'h80; 4'd9 : HEX1<= 8'h90; default:; endcase end always@(posedge clk) begin case(score_2)//分数2 4'd0 : HEX2<= 8'hc0; 4'd1 : HEX2<= 8'hf9; 4'd2 : HEX2<= 8'ha4; 4'd3 : HEX2<= 8'hb0; 4'd4 : HEX2<= 8'h99; 4'd5 : HEX2<= 8'h92; 4'd6 : HEX2<= 8'h82; 4'd7 : HEX2<= 8'hf8; 4'd8 : HEX2<= 8'h80; 4'd9 : HEX2<= 8'h90; default:; endcase end
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1204
764