王哲 王凡碩 楊煜欣 黎浣珊 劉天野 朱志剛
摘要:為了實現(xiàn)在籃球比賽中簡單方便無誤差的倒計時功能,通過掌握Verilog語言,在Quartus|| 軟件下的編程、仿真、頂層文件電路圖,初步設(shè)計出30秒可控的籃球計時器。
關(guān)鍵詞:FPGA;Verilog;Quartus‖
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2019)06-0253-02
在緊張激烈的籃球比賽倒計時環(huán)節(jié),如何輕松方便進(jìn)行倒計時,不出差錯,這個時候就需要借助更可靠的機器來計時。籃球30秒可控計時器,可以準(zhǔn)確可靠的計算時間,彌補人類短時計時時易出現(xiàn)的誤差。
1 原理
1.1 FPGA的簡單介紹
FPGA(Field-Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PLA、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。(—— 引用于百度百科詞條)
1.2 實驗的設(shè)計原理
籃球30秒可控計時器是由三部分組成的,有10分頻器、30秒鐘內(nèi)可控的遞減計時器以及報警提示電路。30秒鐘可控的遞減計時器是系統(tǒng)核心部件,該是由外部的開關(guān)鍵控制高低電平實現(xiàn)清零,直接能控制減計時器進(jìn)行復(fù)位和解除報警。當(dāng)開關(guān)鍵預(yù)置為低電平有效,若輸出高低位是30秒時,開始啟動計時。啟動計時由開關(guān)使能來控制啟動、暫停。
2 總體設(shè)計
總體設(shè)計框圖,如圖1所示。
3 詳細(xì)設(shè)計
3.1 主要功能
⑴能具有30秒計時和顯示的功能;
⑵設(shè)計中具有外部開關(guān),能使計時器實現(xiàn)直接清零、裝數(shù)、開始和暫停/連續(xù)的功能;
⑶對于30秒倒計時,其計時間隔為1秒;
⑷當(dāng)計時器隨時間遞減,計時為0時,顯示器不能滅燈,并同時發(fā)出報警提示信號;
⑸可以解除報警信號。
3.2 要求
要在Quartus‖軟件平臺上,建立出計數(shù)器電路頂層電路文件,并做出編譯和仿真。
3.3 輸入/出信號說明
輸入信號:時鐘位CPA、直接清零位CR、預(yù)置(裝數(shù))位LD及減計數(shù)使能(啟動/暫停)位S。
輸出信號:計時輸出信號QH[3..0]、QL[3..0]高位和低位還有報警信號L。
3.4 軟件流程圖
如圖2所示。
3.5 框圖頂層文件
原理圖,如圖3所示:
4 仿真
其仿真圖如圖4 所示
通過仿真波形可以看出,當(dāng)30秒可控計的時器進(jìn)行正常的遞減計數(shù)時,開關(guān)鍵使能使S=0時能實現(xiàn)保持功能。另外,當(dāng)開關(guān)鍵裝數(shù)LD為低電平時有效,使得立即能預(yù)置輸出變量QH、QL為0011和0000,實現(xiàn)裝數(shù)的功能。若當(dāng)計時器遞減計數(shù)到0時,發(fā)出報警提示信號L=1。當(dāng)開關(guān)鍵輸入,使清零位為低電平信號時,直接能使計時器復(fù)位并能解除警報,使實現(xiàn)系統(tǒng)控制功能。
5 驗證
6 總結(jié)
通過對FPGA的初步學(xué)習(xí),基礎(chǔ)的掌握了Quartus‖軟件的使用方法,運用軟件能設(shè)計符合功能的電路,并用Verilog語言進(jìn)行對分頻、倒計時、報警這三部分的編程,通過軟件進(jìn)行仿真對比,對結(jié)果進(jìn)行驗證。經(jīng)過反復(fù)修改與驗證后,最終實現(xiàn)了所需功能,使30秒籃球可控計時器能夠正常使用。
參考文獻(xiàn):
[1] 陳賾,鄒道勝,朱如琪.CPLD/FPGA與ASIC設(shè)計實踐教程[M]. 2版.北京:科學(xué)出版社,2010.
[2] 蔣小燕,俞偉鈞,張立臣.EDA技術(shù)及VHDL[M].南京:東南大學(xué)出版社,2008.
【通聯(lián)編輯:唐一東】