8人抢答电路设计Verilog代码Quartus仿真
名称:8人抢答电路设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
8人抢答电路设计
内容及要求
完成8人抢答电路设计。
(1)按键用作抢答输入,顺序编号1~8;
(2)数码管显示抢答得胜的号码;
(3)由控制信号决定新一轮抢答的开始;
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 功能描述
8人抢答电路设计
内容及要求
完成8人抢答电路设计。
(1)按键用作抢答输入,顺序编号1~8;
(2)数码管显示抢答得胜的号码;
(3)由控制信号决定新一轮抢答的开始;
2. 工程文件

3. 程序文件


4. 程序编译

5. RTL图

6. 程序仿真
整体仿真图



抢答控制模块



显示模块



部分代码展示:
//抢答器控制模块 module responder_ctrl ( input clk,//100Hz时钟 input reset,//高电平有效 input key_main_in,//主控,控制开始 input key_1_pos,//抢答按键输入1 input key_2_pos,//抢答按键输入2 input key_3_pos,//抢答按键输入3 input key_4_pos,//抢答按键输入4 input key_5_pos,//抢答按键输入5 input key_6_pos,//抢答按键输入6 input key_7_pos,//抢答按键输入7 input key_8_pos,//抢答按键输入8 output reg [3:0] responder_num//抢答指示1~8 ); parameter s_idle=3'd0;//空闲状态 parameter s_start=3'd1;//开始 parameter s_qiangda=3'd2;//抢答状态 parameter s_end=3'd3;//抢答结束 reg [2:0] state=3'd0; //状态机控制 always@(posedge clk) if(reset) state<=s_idle;//空闲状态 else case(state) s_idle: if(key_main_in)//主控,按键输入。控制开始 state<=s_start;//开始状态 else state<=s_idle;//空闲状态 s_start: state<=s_qiangda;//抢答状态 s_qiangda: if(key_1_pos | key_2_pos | key_3_pos | key_4_pos | key_5_pos | key_6_pos | key_7_pos | key_8_pos) state<=s_end;//结束 else state<=s_qiangda;//抢答状态 s_end: if(key_main_in)//主控,控制开始 state<=s_start;//开始状态 else state<=s_end;//结束 default:state<=s_idle;//空闲状态 endcase //输出抢答者编号responder_num always@(posedge clk) if(reset) responder_num<=4'd0; else if(state==s_qiangda) if(key_1_pos) responder_num<=4'd1;//1号抢答 else if(key_2_pos) responder_num<=4'd2;//2号抢答 else if(key_3_pos) responder_num<=4'd3;//3号抢答 else if(key_4_pos)
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 8人抢答电路设计Verilog代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 8人抢答电路设计Verilog代码Quartus仿真
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm