软件:Quartus
语言:Verilog
代码功能:
基于FFGA的智能抢答器
设计要求
(1)设计语言为Veri1og,硬件开发平台为 Spartan-3E开发板。数码管显示倒计时5秒;每名选手抢到后由数码管显示其得分增加1,一共进行5轮。
(2)设计基于FPGA的智能抢答器的设计,要求有四名参赛选手,每次抢答由数码管显示倒计时5秒;每名选手抢到后由数码管显示其得分增加1,一共进行5轮。
(3)采用层次化的设计。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真文件
7. 仿真图
部分代码展示:
//抢答控制模块 module qiangda_ctrl( input clk,//1KHz时钟 input rst, input qiangda_1,//抢答者1 input qiangda_2,//抢答者2 input qiangda_3,//抢答者3 input qiangda_4,//抢答者4 input start_key,//开始键 output reg [3:0] led,//抢答指示灯 output reg [3:0] dis_5seconds,//倒计时5秒 output reg [3:0] player_score_1,//1抢答分数 output reg [3:0] player_score_2,//2抢答分数 output reg [3:0] player_score_3,//3抢答分数 output reg [3:0] player_score_4,//4抢答分数 output reg [3:0] numbers//轮数 ); //定义状态 reg [3:0] state=4'd0; parameter s_idle=4'd0; parameter s_start=4'd1; parameter s_timecnt=4'd2; parameter s_qiangda=4'd3; parameter s_qiangda_1=4'd4; parameter s_qiangda_2=4'd5; parameter s_qiangda_3=4'd6; parameter s_qiangda_4=4'd7; parameter s_keep=4'd8; reg [31:0] second_count=32'd0;//计数器 //控制倒计时 always@(posedge clk or posedge rst) if(rst) second_count<=32'd0; else if(state==s_timecnt)//倒计时状态 second_count<=second_count+32'd1;//计数 else second_count<=32'd0;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1301
阅读全文
491