電子搶答器的EDA設(shè)計與實現(xiàn)
通過圖3(a)可以看出,當(dāng)rst=1時,搶答無效,倒計時器初始值設(shè)為60s;當(dāng)rst=O,且sta=O時,d組提前搶答,報警器開始報警,offen-der顯示犯規(guī)組別“0100”,說明提前犯規(guī)組別為d組。此后主持人按下rst鍵,使rst=1,此時報警器停止報警,系統(tǒng)進入初始狀態(tài);而當(dāng)rs-t=O且sta=1,a組搶答成功,計時使能信號en=1。當(dāng)時鐘信號clk_lhz的上升沿來時,倒計時器開始計時,當(dāng)a組在限定時間內(nèi)回答完問題,主持人按下計時使能信號,使en=O,倒計時器停止計時,同時防止報警器報警。
而通過圖3(b)可以看出,當(dāng)rst=O,sta=1時,a組搶答成功,但沒在限定時間內(nèi)回答完問題,60s倒計時時間計為O時,報警器開始報警,offender顯示犯規(guī)組別為“0001”,說明超時犯規(guī)組別為a組;主持人按下復(fù)位鍵,使rst=l,報警器停止報警,offender顯示“0000”,即將犯規(guī)組別的號碼清零,系統(tǒng)重新進入初始狀態(tài)。
2.4 計分模塊的設(shè)計
計分模塊的主要功能是對搶答成功并答對的組別進行加分操作或?qū)尨鸪晒Φ疱e的組別進行減分操作,同時通過譯碼顯示電路顯示出來。根據(jù)以上的功能設(shè)計要求,該模塊需要將加、減分操作add、sub和系統(tǒng)時鐘clk_lhz作為輸入信號,而各組別的分數(shù)顯示作為輸出信號aa0[3..0]、bb0[3..0]、cc0[3..o]、dd0[3..0];為了確定給哪個組別加或減分,需要有一個搶答成功組別的輸入信號,可將其設(shè)為chose。為了使系統(tǒng)能進入下一輪的搶答,應(yīng)設(shè)置系統(tǒng)復(fù)位輸入信號rst。其計分模塊的仿真模型如圖4所示。
通過圖4可以看出,當(dāng)rst=l時,系統(tǒng)進入初始狀態(tài),a、b、c、d組的初始分值都為5,當(dāng)add=1,系統(tǒng)時鐘信號clk_lhz的一個上升沿到來時,就給chose當(dāng)前鑒別的組別“0001”組加1分,當(dāng)sub=1,系統(tǒng)時鐘信號clk_lhz來一個上升沿時,就給chose當(dāng)前鑒別的組別“0010”組減1分。
3 電子搶答器的硬件驗證
本設(shè)計選用杭州康芯電子有限公司生產(chǎn)的GW48EDA系統(tǒng)作為硬件驗證系統(tǒng),同時選用Altera公司的EPlK30TCl44-3作為主控芯片。該主控芯片是一種基于查找表結(jié)構(gòu)的現(xiàn)場可編程邏輯器件,它的基本邏輯單元是可編程的查找表,能夠實現(xiàn)組合邏輯運算,并能用可編程寄存器實現(xiàn)時序邏輯運算。設(shè)計時,只需要對電子搶答器整體設(shè)計中的輸入輸出引腳作引腳鎖定,然后重新編譯、下載,就可以進行電子搶答器的硬件驗證了。實驗表明:本設(shè)計能夠實現(xiàn)電子搶答器的全部功能。
4 結(jié)束語
本文以現(xiàn)場可編程邏輯器件(FPGA)為設(shè)計載體,以硬件描述語言(VHDL)為主要表達方式,以QuartusⅡ開發(fā)軟件和GW48EDA開發(fā)系統(tǒng)為設(shè)計工具設(shè)計了一種具有第一搶答信號鑒別和鎖存、計時和計分,并可對提前搶答和超時搶答進行蜂鳴警示等功能的電子搶答器。闡述了電子搶答器的工作原理和軟硬件實現(xiàn)方法。并對電子搶答器的各部分模塊進行了時序仿真和硬件驗證,結(jié)果表明,該電路能夠?qū)崿F(xiàn)其所要求的功能。另外,由于FPGA芯片體積小,功耗低,價格便宜,安全可靠,稍加修改就可以改變搶答器的搶答組別數(shù),而且搶答時間設(shè)定和成績組成方式以及維護和升級都比較方便,同時也很容易做成ASIC芯片,因而具有較好的應(yīng)用前景。
評論