软件: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
阅读全文