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