劉運凱
【摘 要】基于EDA技術來實現(xiàn)四人搶答器的設計功能。用硬件描述語言VHDL來完成整體電路的設計,從中實現(xiàn)四人搶答器的搶答、報警、倒計時以及顯示的功能。之后通過QuartusⅡ軟件和GW48-SOPC/DSP EP1C6/1C12 Q240實驗開發(fā)系統(tǒng)對課題進行波形仿真和功能實現(xiàn)的驗證。
【關鍵詞】EDA;四人搶答器;硬件描述語言VHDL;仿真
一 、程序設計
(一)程序總體功能
當有選手搶答時,首先鎖存,阻止其他選手搶答,然后編碼,再經(jīng)譯碼器將數(shù)字顯示在顯示器上,同時產(chǎn)生提示音。主持人宣布開始搶答時,倒計時電路啟動由20計到0,如有選手搶答,倒計時停止,如20秒后無人搶答,則顯示超時并報警。
(二)程序的實現(xiàn)
用VHDL表述的本課題完整電路模塊程序分為三個部分
1.設計庫和程序包調用部分
LIBRARY和USE語句分別引導出打開和使用程序包的語句。
2.VHDL實體描述部分(電路模塊端口說明和定義)
ENTITY和PORT語句構建了整個電路對外通信端口的說明模塊。清零開關clr,主持人開關en,四人搶答按鈕a、b、c、d,兩個時鐘信號clk和clk0,組別顯示一個數(shù)碼顯示管dsp(3..0),倒計時顯示兩個數(shù)碼顯示管count(7..0)。
3.VHDL結構體描述部分
這部分由結構語句ARCHITECTURE引導,它包含了PROCESS進程語句,用于描述本課題的邏輯行為及其對應的電路模塊功能。而在這個電路功能的描述分為兩個模塊:
(1)搶答鑒別鎖存及組別顯示的電路模塊程序
本模塊程序的基本工作原理是:清零開關clr,主持人開關en,四人搶答按鈕a、b、c、d,并由一個數(shù)碼顯示管dsp(3..0)顯示選手組別,為了實現(xiàn)當有選手搶答后鎖存電路使其他選手無法搶答的功能,設置兩個鎖存信號tmp1、tmp2。按下清零開關(clr=1),tmp1、tmp2=0,若主持人開關未開啟(en=0),此時有人搶答,則tmp2=1,關閉搶答電路,在數(shù)碼管dsp輸出對應的四位二進制(a,b,c,d對應的四位二進制為,0001、0010、0011、0100。之后可將對應的四位二進制轉譯成十進制在數(shù)碼顯示管輸出搶答組別。)同時speaker報警;若主持人按下開關后(en=1),此時有人搶答,則tmp1=1, 關閉搶答電路,并由數(shù)碼顯示管輸出搶答組別。
(2)數(shù)碼管倒計時、暫停及報警模塊程序
本模塊程序的基本工作原理是:兩個數(shù)碼管count(7..0)顯示20秒搶答倒計時,在程序中,由8位二進制矢量數(shù)count控制,高四位表示十位,低四位表示個位,由給定的時鐘信號clk高電平觸發(fā)。按下清零開關(clr=1),數(shù)碼管顯示20(count=“00100000”),主持人按下開關后(en=1),開始20秒倒計時,當?shù)退奈粸椤?000”時,則賦值為9(“1001”),同時高四位表示的十位數(shù)自減1,當?shù)退奈徊粸?時則自減1,由此實現(xiàn)了20秒倒計時。
為實現(xiàn)有人搶答則暫停計時以及20秒時間到停止計時并報警的功能,設置暫停鎖存信號tmp3,按下清零開關(clr=1),tmp3=0,主持人按下開關后(en=1),開始20秒倒計時,當有人搶答,則tmp3=1,暫停倒計時,若一直無人搶答,當20秒倒計時結束(count=“00000000”)時,則tmp3=1,停止倒計時并由speaker報警。speaker報警由脈沖信號clk0與(tmp3 or a or b or c or d)信號相與輸出,從而實現(xiàn)選擇性輸出報警信號。
(三)設計出的原理圖
二、實驗結果分析
(一)有人搶答的仿真波形
當clr=1,系統(tǒng)進入初始狀態(tài),即count="00100000", dps="0000";en=0時,若有人搶答(b=1),則speaker報警,且數(shù)碼管顯示組別(dps="0010");en=1時,count開始20秒倒計時,在15秒時(count="00010101")有人搶答(a=1),倒計時暫停,數(shù)碼管顯示組別(dps="0001"),且speaker報警。
(二)無人搶答的仿真波形
當en=1,20秒時間到而無人搶答(count="00000000"),則speaker報警,按下清零開關(clr=1),重新開始20秒倒計時。
以上實驗結果分析后,表明各種情況下系統(tǒng)正常,完成了總體功能。
三、 結論
相較于用傳統(tǒng)數(shù)字系統(tǒng)設計方法、設計過程和設計觀念來完成四人搶答器的過程,通過EDA技術是的我們可以用硬件描述語言VHDL完成四人搶答器的整個系統(tǒng)電路,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真。整個系統(tǒng)設計可以在一臺計算機上完成,極大地提升了電路設計的效率。但不管怎樣,都需要有一個清晰的設計思路來引導整個設計的過程。
參考文獻:
[1]潘松著.EDA技術與VHDL(第四版). 北京:清華大學出版社.
[2]胡迎剛著.EDA技術與SOPC基礎.成都:西南交通大學出版社.