袁申 黃鐵文 牟淏晨 賀哲明 孟瑤 王穎
摘要:隨著數(shù)字化時代的到來,編程語言廣泛應(yīng)用越來越多的硬件系統(tǒng)可以用軟件語言進行構(gòu)架實現(xiàn),可以方便人們進行設(shè)計與開發(fā)。例為實現(xiàn)體育比賽中的計時功能,以Verilog語言為基礎(chǔ),設(shè)計了包含分頻、計時顯示三大主要模塊用以實現(xiàn)計時功能。實現(xiàn)設(shè)計功能通過Quartus II軟件,以Verilog語言為基礎(chǔ),在FPGA芯片裝置上實現(xiàn)功能的驗證以及功能的良好。
關(guān)鍵詞: Verilog;Quartus II;數(shù)字跑表
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2019)09-0221-02
通過FPGA實現(xiàn)電路設(shè)計制作用于比賽的數(shù)字跑表,實驗設(shè)計的主要功能是通過兩個按鍵來控制跑表的開始以及結(jié)束,還包含清零、復(fù)位按鍵用來設(shè)置跑表的初始零狀態(tài),最后就是暫停/開始按鍵,再清零控制按鍵無效的時候,按一下暫停/開始計時器開始計時,再按一次則計時器停止,再按一下則繼續(xù)開始計時。
1 原理
FPGA具有靜態(tài)可重復(fù)編程或在線動態(tài)重構(gòu)的特性,使硬件的功能可向軟件一樣通過變編程來修改不僅設(shè)計修改和產(chǎn)品升級方便,而且極大地提高了電子系統(tǒng)的靈活性和通用性。本實驗設(shè)計正是運用了這一特點十分便利的實現(xiàn)所需功能。實驗包含三大部分:第一是分頻器,分頻器是為計時器模塊提供可用時鐘的模塊,它可以將固定的時鐘頻率分成實驗所需要的任意時鐘頻率。第二是計數(shù)器,計時器模塊是本實驗設(shè)計的核心,通過Verilog語言編寫可以輕松實現(xiàn)計數(shù)器功能。最后是顯示模塊,顯示模塊是通過七段顯示數(shù)碼管顯示時間。
2 總體設(shè)計
3 詳細設(shè)計
3.1 功能設(shè)計
1)跑表的計時范圍為0.01s—59min59.99s,計時精度為10ms;
2)具有異步清0,啟動,計時和暫停功能;
3)輸入時鐘頻率為100Hz;
4)數(shù)字跑表的輸出能夠直接驅(qū)動共陽極7段數(shù)碼管顯示。
3.2 流程圖
3.3 實驗原理
通過EDA軟件使用Verilog語言完成編程各模塊的程序設(shè)計,制作分頻、計時、顯示模塊。首先是分頻器是為計時器模塊提供可用時鐘的模塊,它可以將固定的時鐘頻率分成實驗所需要的任意時鐘頻率。計時器模塊是本實驗設(shè)計的核心,通過Verilog語言編寫可以輕松實現(xiàn)計數(shù)器功能。最后是顯示模塊,顯示模塊是通過七段顯示數(shù)碼管顯示時間。
3.4 硬件圖
4 仿真
計時器模塊仿真圖,此模塊實現(xiàn)每10ms計時一次,最大計時時間為59min59.99s,計時精度為10ms。此仿真圖就是其計時過程的顯示。
5 驗證
6 總結(jié)
本實驗通過運用EDA軟件,熟練地掌握了Verilog語言的編程設(shè)計的方式及特點,熟練地應(yīng)用及掌握EDA軟件特定功能及編寫環(huán)境。此次實驗的《基于Verilog語言的數(shù)字跑表》是學(xué)習(xí)和鍛煉自己編程能力非常好的實驗題目,它可以從根本提高個人的綜合能力水平。
參考文獻:
[1] 鄒道勝,朱如琪,陳賾.CPLD/FPGA與ASIC設(shè)計實踐教程[M].2版.北京:科學(xué)出版社,2010.
【通聯(lián)編輯:唐一東】