My title page contents

8人抢答电路设计Verilog代码Quartus仿真

名称:8人抢答电路设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

8人抢答电路设计

内容及要求

完成8人抢答电路设计。 

(1)按键用作抢答输入,顺序编号1~8;

(2)数码管显示抢答得胜的号码;

(3)由控制信号决定新一轮抢答的开始;


FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

抢答器设计.doc

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仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员