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