基于VHDL的搶答器的設(shè)計(jì)
一、 實(shí)驗(yàn)?zāi)康?/strong>1、熟悉四人搶答器的工作原理。
2、 加深對(duì)VHDL語(yǔ)言的理解。
3、 掌握EDA開(kāi)發(fā)的基本流程。
二、 實(shí)驗(yàn)原理
搶答器在各類競(jìng)賽性質(zhì)的場(chǎng)合得到了廣泛的應(yīng)用,它的出現(xiàn),消除了原來(lái)由于人眼的誤差而未能正確判斷最先搶答的人的情況。
搶答器的原理比較簡(jiǎn)單,首先必須設(shè)置一個(gè)搶答允許標(biāo)志位,目的就是為了允許或者禁止搶答者按按鈕;如果搶答允許位有效,那么第一個(gè)搶答者按下的按鈕就將其清楚,同時(shí)記錄按鈕的序號(hào),也就是對(duì)應(yīng)的按按鈕的人,這樣做的目的是為了禁止后面再有人按下按鈕的情況。總的說(shuō)來(lái),搶答器的實(shí)現(xiàn)就是在搶答允許位有效后,第一個(gè)按下按鈕的人將其清除以禁止再有按鈕按下,同時(shí)記錄清楚搶答允許位的按鈕的序號(hào)并顯示出來(lái),這就是搶答器的實(shí)現(xiàn)原理。
三、 實(shí)驗(yàn)內(nèi)容
本實(shí)驗(yàn)的任務(wù)是設(shè)計(jì)一個(gè)四人搶答器,用按鍵模塊的K8來(lái)作搶答允許按鈕,用BT1~BT4來(lái)表示1號(hào)搶答者~4號(hào)搶答者,同時(shí)用LED模塊的D1~D4分別表示于搶答者對(duì)應(yīng)的位置。具體要求為:按下BT8一次,允許一次搶答,這時(shí)BT1~BT4中第一個(gè)按下的按鍵將搶答允許位清除,同時(shí)將對(duì)應(yīng)的LED點(diǎn)亮,用來(lái)表示對(duì)應(yīng)的按鍵搶答成功。數(shù)碼管顯示對(duì)應(yīng)搶答成功者的號(hào)碼。
四、 實(shí)驗(yàn)步驟
1、 打開(kāi)QUARTUSII軟件,新建一個(gè)工程。
2、 建完工程之后,再新建一個(gè)VHDL File,打開(kāi)VHDL編輯器對(duì)話框。
3、 按照實(shí)驗(yàn)原理和自己的想法,在VHDL編輯窗口編寫(xiě)VHDL程序,用戶可參照光盤(pán)中提供的示例程序。
4、 編寫(xiě)完VHDL程序后,保存起來(lái)。方法同實(shí)驗(yàn)一。
5、 對(duì)自己編寫(xiě)的VHDL程序進(jìn)行編譯并仿真,對(duì)程序的錯(cuò)誤進(jìn)行修改。
6、 編譯仿真無(wú)誤后,根據(jù)用戶自己的要求進(jìn)行管腳分配。分配完成后,再 進(jìn) 行全編譯一次,以使管腳分配生效。
7、 根據(jù)實(shí)驗(yàn)內(nèi)容用實(shí)驗(yàn)導(dǎo)線將上面管腳分配的FPGA管腳與對(duì)應(yīng)的模塊連接起來(lái)。
如果是調(diào)用的本書(shū)提供的VHDL代碼,則實(shí)驗(yàn)連線如下:
START:允許搶答信號(hào),接一個(gè)按鍵開(kāi)關(guān)BT8。
K1、K2、K3、K4:搶答者輸入信號(hào),接四個(gè)按鍵開(kāi)關(guān)BT1、BT2、BT3、BT4。
LEDAG[6..0]:數(shù)碼管顯示信號(hào),接數(shù)碼管的G、F、E、D、C、B、A。
DOUT[3..0]: 搶答成功者顯示信號(hào),接四個(gè)LED燈D4、D3、D2、D1。
8、 用下載電纜通過(guò)JTAG口將對(duì)應(yīng)的sof文件加載到FPGA中。觀察實(shí)驗(yàn)結(jié)果是否與自己的編程思想一致。
五、 實(shí)驗(yàn)結(jié)果與現(xiàn)象
以設(shè)計(jì)的參考示例為例,當(dāng)設(shè)計(jì)文件加載到目標(biāo)器件后,確認(rèn)信號(hào)連接線已正確連接,按下按鍵開(kāi)關(guān)的BT8按鍵,表示開(kāi)始搶答。然后,同時(shí)按下BT1-BT4,首先按下的鍵的鍵值被數(shù)碼管顯示出來(lái),對(duì)應(yīng)的LED燈被點(diǎn)亮。與此同時(shí),其它按鍵失去搶答作用。
六、 實(shí)驗(yàn)報(bào)告
1、 繪出仿真波形,并作說(shuō)明。
2、 將實(shí)驗(yàn)原理、設(shè)計(jì)過(guò)程、編譯仿真波形和分析結(jié)果、硬件測(cè)試結(jié)果記錄下來(lái)。