• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

8人搶答電路設(shè)計Verilog代碼Quartus仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-250103140541J6.doc

共1個文件

名稱:8人搶答電路設(shè)計Verilog代碼Quartus仿真

軟件:Quartus

語言:Verilog

代碼功能:8人搶答電路設(shè)計

內(nèi)容及要求

完成8人搶答電路設(shè)計。

(1)按鍵用作搶答輸入,順序編號1~8;

(2)數(shù)碼管顯示搶答得勝的號碼;

(3)由控制信號決定新一輪搶答的開始;

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計文檔:

1. 功能描述

8人搶答電路設(shè)計

內(nèi)容及要求

完成8人搶答電路設(shè)計。

(1)按鍵用作搶答輸入,順序編號1~8;

(2)數(shù)碼管顯示搶答得勝的號碼;

(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;//空閑狀態(tài)
parameter?s_start=3'd1;//開始
parameter?s_qiangda=3'd2;//搶答狀態(tài)
parameter?s_end=3'd3;//搶答結(jié)束
reg?[2:0]?state=3'd0;
//狀態(tài)機(jī)控制
always@(posedge?clk)
if(reset)
state<=s_idle;//空閑狀態(tài)
else
case(state)
s_idle:
if(key_main_in)//主控,按鍵輸入。控制開始
state<=s_start;//開始狀態(tài)
else
state<=s_idle;//空閑狀態(tài)
s_start:
state<=s_qiangda;//搶答狀態(tài)
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;//結(jié)束
else
state<=s_qiangda;//搶答狀態(tài)
s_end:
if(key_main_in)//主控,控制開始
state<=s_start;//開始狀態(tài)
else
state<=s_end;//結(jié)束
default:state<=s_idle;//空閑狀態(tài)
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)
  • 2-250103140541J6.doc
    下載

相關(guān)推薦