段品凡 郭昭利 王彥博 張哲 曾健 于海霞
摘要:設計一個能自啟動的模8右移扭環形計數器和模4右移環形計數器,以Verilog語言進行程序編寫,并設以FPGA應用設計為基礎,使用Quartus Ⅱ進行仿真。
關鍵詞:FPGA;Verilog;Quartus Ⅱ。
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)09-0217-02
在信息化時代的今天,無論是工廠的生產,還是日常生活,自動化的程度越來越高,在許多場合,人,已不再是必須主角,而代替人類完成諸多工作的是高度自動化的設備,而其中關鍵的一環便是計數器。
1 原理
1.1 FPGA簡介
以硬件描述語言(Verilog或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現代 IC設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在大多數的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發器(Flip-flop)或者其他更加完整的記憶塊。
1.2 計數模塊簡介
此模塊為本次設計的主模塊,由兩個小模塊IC181模塊(模8右移扭環形計數器模塊)和IC182模塊(模4右移環形計數器模塊)組成,完成本設計的計數功能。其中,扭環形計數器又稱約翰遜計數器,它具有電路結構簡單,工作速度快且循環碼等優點,因而應用較廣。
2 總體設計
2.1 總體框圖
2.2 總體流程圖
3 具體設計
(1)分別設計模8右移扭環形計數器和模4右移環形計數器。
(2)將兩個計數器結合起來,形成可控的扭環形計數器和環形計數器。
(3)加入控制開關S,當S合上即高電平時,模8右移扭環形計數器工作,S斷開,即低電平時,模4右移環形計數器工作。
(4)信號說明
輸入信號:時鐘信號CLK,模式轉換信號S。
輸出信號:環形計數器與扭環形計數器輸出信號D1【3..0】
(5)計數器電路設計圖,見圖3
4 仿真
使用Quartus Ⅱ進行仿真,仿真圖見圖4.
5 驗證
將程序下載至開發板,本次檢測使用模8計數驗證,將控制開關置1,紅色流水燈依次點亮,隨后依次熄滅。,代表完成一次有效循環,即計數一次。見圖5.1-5.8
6 總結
本次設計將兩個不同的自啟計數器結合在一起進行使用,提升了使用上的可變性,能夠完成多種不同場合的需求,在電路的設計過程中曾遇到些許難題,諸如連接線選擇錯誤導致電路錯誤等,但最后在指導教師王穎女士的幫助下,皆一一解決,同時,本實驗也是針對可編程邏輯器件FPGA及Verilog語言學習的一次驗收性實驗,經過對本實驗的設計,對FPGA查缺補漏,強化了對FPGA設計的技巧。
參考文獻:
[1] 鄒道勝,朱如琪,陳賾.CPLD/FPGA與ASIC設計實踐教程[M].2版.北京:科學出版社,2010.
【通聯編輯:唐一東】