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

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

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

2-250103140541J6.doc

共1個(gè)文件

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

軟件:Quartus

語(yǔ)言:Verilog

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

內(nèi)容及要求

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

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

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

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

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

演示視頻:

設(shè)計(jì)文檔:

1. 功能描述

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

內(nèi)容及要求

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

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

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

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

2. 工程文件

3. 程序文件

4. 程序編譯

5. RTL圖

6. 程序仿真

整體仿真圖

搶答控制模塊

顯示模塊

部分代碼展示:

//搶答器控制模塊
module?responder_ctrl
(
input?clk,//100Hz時(shí)鐘
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
//輸出搶答者編號(hào)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號(hào)搶答
else?if(key_2_pos)
responder_num<=4'd2;//2號(hào)搶答
else?if(key_3_pos)
responder_num<=4'd3;//3號(hào)搶答
else?if(key_4_pos)
  • 2-250103140541J6.doc
    下載

相關(guān)推薦