牟晨淏 黃鐵文 賀哲明 袁申 馮洪威 王穎
摘要:為了實(shí)現(xiàn)可逆計(jì)數(shù)器的功能,以FPGA為基礎(chǔ),包含主控模塊,數(shù)碼管顯示模塊,來實(shí)現(xiàn)這個(gè)設(shè)計(jì),通過設(shè)計(jì)頂層電路,程序編程,模塊搭建,仿真運(yùn)行,性能良好,故實(shí)現(xiàn)此功能以供展示。
關(guān)鍵詞:FPGA;Verilog;計(jì)數(shù)器;數(shù)碼管
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)07-0242-02
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
既可加1計(jì)數(shù)又可減1計(jì)數(shù)的計(jì)數(shù)器叫作可逆計(jì)數(shù)器,也叫作雙向計(jì)數(shù)器??赡嬗?jì)數(shù)器是可以進(jìn)行正向和反向計(jì)數(shù)的這種計(jì)數(shù)器就是把加法計(jì)數(shù)器和減法計(jì)數(shù)器的作用合在一起,在邏輯線路上,對(duì)計(jì)數(shù)器的進(jìn)位和借位脈沖進(jìn)行適當(dāng)?shù)目刂?。即用一個(gè)與或門把進(jìn)位和借位脈沖加以控制,便構(gòu)成可逆計(jì)數(shù)器。
1 原理
FPGA是一種運(yùn)用了邏輯單元陣列LCA的概念,其中包含了邏輯模塊輸入與輸出并且還有IOB與內(nèi)部連線這幾個(gè)部分,其中門陣列是可以直接進(jìn)行編程的器件,他與傳統(tǒng)的門陣列進(jìn)行比較時(shí),會(huì)具有相對(duì)更小的查找表來實(shí)現(xiàn)組合邏輯,在每一個(gè)D觸發(fā)器的輸入端都會(huì)與一個(gè)查找表相互連接,其他的I/O口或者是邏輯電路都由觸發(fā)器來驅(qū)動(dòng),這樣就形成了一種既可以實(shí)現(xiàn)時(shí)序邏輯又可以實(shí)現(xiàn)組合邏輯功能的一個(gè)最基礎(chǔ)的邏輯模塊,這些模塊之間通過金屬線進(jìn)行互相連接或者直接連接到I/O口。在FPGA中邏輯是由靜態(tài)單元運(yùn)行編程數(shù)據(jù)后來實(shí)現(xiàn)的。各模塊或模塊與I/O口間的相互連接方式是由存儲(chǔ)器單元中的值來決定了邏輯功能,最后呈現(xiàn)出所需要的功能。分別含有的兩個(gè)模塊一個(gè)是數(shù)碼管模塊,一個(gè)是主要程序模塊。
2 總設(shè)計(jì)圖
設(shè)計(jì)要求及原理:計(jì)數(shù)器是一種在實(shí)踐課程中運(yùn)用較多的一個(gè)時(shí)序邏輯器件,它的基本功能是統(tǒng)計(jì)時(shí)間脈沖在一定時(shí)間內(nèi)的個(gè)數(shù),從而實(shí)現(xiàn)對(duì)脈沖實(shí)現(xiàn)技術(shù)的功能,它的工作原理可以大概論為:在上升或者下降沿到來時(shí),二進(jìn)制數(shù)據(jù)在低一位進(jìn)行自加或自減。
當(dāng)在沒有其他約束條件的時(shí)候,計(jì)數(shù)器可以和所對(duì)應(yīng)的數(shù)值進(jìn)行相互對(duì)應(yīng)的循環(huán)計(jì)數(shù)。我們可以通過需要來改變計(jì)數(shù)器的位數(shù),并且通過給他施加外部條件來進(jìn)行人為的設(shè)定計(jì)數(shù)模數(shù),在一個(gè)計(jì)數(shù)過程之后,經(jīng)歷N個(gè)時(shí)鐘脈沖信號(hào)之后,二進(jìn)制數(shù)據(jù)又到了最初始的狀態(tài)。
3 程序代碼
4 仿真圖
仿真圖結(jié)果如圖所示,時(shí)鐘脈沖始終保持一致,通過不同的輸入,來顯示不同結(jié)果,所得數(shù)字不同,詳細(xì)見仿真圖。
5 流程圖
CLR為異步清零端,S為同步置數(shù)端,EN用于控制計(jì)數(shù)器的工作,CLK為時(shí)鐘脈沖輸入端,UPDN為計(jì)數(shù)器方向控制端。同步可逆計(jì)數(shù)器的狀態(tài)表。
6 總結(jié)
通過Verilog硬件描述語言,設(shè)計(jì)了4位二進(jìn)制加/減計(jì)數(shù)器,計(jì)數(shù)器有加計(jì)數(shù)、減計(jì)數(shù)、清零和置數(shù)的功能,且所有的這些設(shè)計(jì)功能都通過了仿真分析,符合設(shè)計(jì)要求。通過本次實(shí)驗(yàn),學(xué)會(huì)了Quartus設(shè)計(jì)數(shù)字電路的一般方法和仿真方法,并且在實(shí)驗(yàn)中加深了對(duì)理論知識(shí)的理解??偟膩碚f,這次設(shè)計(jì)的數(shù)字鐘還是比較成功的,有點(diǎn)小小的成就感,終于覺得平時(shí)所學(xué)的知識(shí)有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)踐相結(jié)合的目的,不僅學(xué)到了不少知識(shí),而且鍛煉了自己的能力,使自己對(duì)以后的路有了更加清楚的認(rèn)識(shí)。
參考文獻(xiàn):
[1] 鄒道勝,朱如琪.CPLD/FPGA與ASIC設(shè)計(jì)實(shí)踐教程[M].北京:科學(xué)出版社,2010.
【通聯(lián)編輯:唐一東】