樊輝娜
FAN Hui-na
(江西機電職業(yè)技術學院 電氣工程系,南昌 330013)
EDA簡介
EDA(即電子設計自動化)技術是以微電子加工技術為基礎,以計算機為工作平臺,以FPGA/CPLD器件為載體,將應用電子技術、計算機技術、智能化技術溶為一體以實現(xiàn)IC設計、電子線路設計及PCB設計??梢韵胂鬀]有EDA技術,要想完成超大規(guī)模的集成電路設計是不可能的。
狀態(tài)機的概念
當前以VHDL語言為工具、邏輯器件為載體的系統(tǒng)設計越來越廣泛。在設計中,狀態(tài)機是最典型、應用最廣泛的電路模塊,其在運行速度的高效、執(zhí)行時間的確定性和高可靠性方面都顯現(xiàn)出強大的優(yōu)勢。狀態(tài)機由狀態(tài)寄存器和組合邏輯電路構成,能夠根據(jù)控制信號按照預先設定的狀態(tài)進行狀態(tài)轉移,是協(xié)調相關信號動作,完成特定操作的控制中心。狀態(tài)機可以分為Moore型和Mealy型兩種基本類型。設計時采用哪種方式的狀態(tài)機要根據(jù)設計的具體情況決定,輸出只由當前狀態(tài)值決定則選用Moore型,輸入信號和狀態(tài)值共同決定輸出則選用Mealy狀態(tài)機。
層次原理圖設計方法
自頂而下(TOPTODOWN)的層次化設計方法在現(xiàn)代EDA設計中有著明顯的優(yōu)勢,越來越受到設計者的歡迎。對于一個復雜的設計系統(tǒng),運用層次化設計方法,使設計課題進一步細化,分塊設計,條理清晰。另外,在調試時可采用逆向調試方式,即從模塊調試向總體調試方向開展調試工作,使設計中出現(xiàn)的問題在模塊級就能發(fā)現(xiàn),及時處理,這樣就會使一個復雜的設計變得容易調試,縮短了設計時間。
在我們的生活中,電子彩燈已成為我們裝點生活常用的電器,電子彩燈控制電路的設計要求也越來越高。要求我們設計的彩燈花樣品種更多,控制更加方便,靈活性高,可靠性高。采用傳統(tǒng)數(shù)字電路設計的彩燈控制器電路復雜、設計周期長、精度不高?;贔PGA的電子彩燈設計,設計靈活,功能完善。
1)設計要求:設計一個8路彩燈,具體要求有:
(1)要求電路能循環(huán)顯示六種不同的花型(可定 為 0000000、0000001、0000010、0000100、0001000、0010000)。
(2)具有對彩燈顯示調速的功能,設計一個按鈕,輸入高電平時變化快,輸入低電平時變化慢。
(3)具有手動輸入功能,通過一個切換按鈕,可以實現(xiàn)手動輸入變化花型。
2)設計思路:
采用層次設計法,頂層采用原理圖設計,底層采用VHDL設計。以下是它的方框圖。底層分為三個子電路模塊,分別是循環(huán)彩燈控制(COLOR8a)子電路模塊、)二選一數(shù)選器(my_ mux21b)、調速(my_clk4)子電路模塊。
圖1 8路彩燈的總體框圖
(1)循環(huán)彩燈控制(COLOR8a)子電路模塊是8路彩燈電路的核心部分。它主控著8路彩燈的花型種類。循環(huán)彩燈控制(COLOR8a)子電路模塊主要采用狀態(tài)機來實現(xiàn),用狀態(tài)機來設計靈活性很強。按設計要求要實現(xiàn)六種花型0000000、0000001、0000010、0000100、0001000、0010000,用S0、S1、S2、S3、S4、S5、S6來表示7種循環(huán)的狀態(tài)。我們可以做狀態(tài)圖如圖2所示。
圖2 彩燈循環(huán)狀態(tài)圖
用狀態(tài)機設計語句type states來實現(xiàn),參考程序如下。循環(huán)彩燈控制模塊程序:
在QUARTERII軟件上進行波形仿真,如圖3所示:
圖3 彩燈循環(huán)模塊仿真圖
(2)調速(my_clk4)子電路模塊。按照設計要求,彩燈循環(huán)速度可調。采用分頻電路來實現(xiàn),我們設定時鐘CLK為1S,采用分頻電路實現(xiàn)4分頻電路,輸出0.25S時鐘,實現(xiàn)兩種花型循環(huán)速度可調。(程序略)在QUARTERII軟件上進行波形仿真,如圖4所示:
圖4 四分頻模塊仿真圖
(3)二選一數(shù)選器(my_mux21b),用于實現(xiàn)對兩種時鐘的選擇,和分頻電路一起實現(xiàn)調速。(程序略)其仿真電路圖如圖5所示。
圖5 二選一電路模塊仿真圖
(4)二選一數(shù)器實現(xiàn)手動輸入花型的控制
(5)對四子模塊VHDL設計電路進行打包分別生成元件(SYMBOL),如下圖6所示。
圖6 電子電路元件符號
(6)用原理圖法實現(xiàn)頂層文件的設計。如圖7所示。
采用模塊化設計方法,每個模塊功能明確,也便于實現(xiàn)對設計要求的更改。比如我們可以通過更改循環(huán)彩燈控制(COLOR8a)模塊來改變8路采燈的花型,我們可以設定循環(huán)狀態(tài)為S0、S1、S2、S3、S4、S5、S6、S7……S20二十種狀態(tài)來實現(xiàn)二十種花型變化。比如我們可以修改分頻電路的程序來改變輸出頻率,以實現(xiàn)不同的花型變化速度等。
圖7 8路彩燈頂層設計電路圖
使用VHDL語言進行8路彩燈電路設計,思路簡單,功能明了,靈活性強。在主控電路中采用狀態(tài)機設計,電路控制靈活,功能便于實現(xiàn),思路簡捷便于修改。采用自頂向下的層次設計法,而且頂采用原理圖法設計設計層次清楚易讀,便于程序的修改。
使用QUARTARⅡ設計電路不僅可以進行邏輯仿真,還可以進行時序仿真,使用FPGA不僅省去了電路制作的麻煩,還可以反復進行硬件的實驗,非常方便地修改設計,且設計的電路的保密性強。總之,采用EDA技術使得復雜的電子系統(tǒng)的設計變的簡單易行,提高了設計的效率。
[1]范秋華,趙艷秋,何香玲.基于VHDL的彩燈控制[J].現(xiàn)代電子技術.2004(2).
[2]胡剛毅,張文彬.基于VHDL多路彩燈控制器的設計.湖南工業(yè)職業(yè)技術學院學報.2008(1).
[3]盧慶林.數(shù)字電子技術基礎實驗與綜合訓練[M].高等教育出版社.2004.
[4]焦素敏.EDA實用技術[M].北京:清華大學出版社.2005:7-15
[5]潘松、黃繼業(yè).EDA技術與VHDL語言[M].北京:清華大學出版社.2005:7-15.
[6]潘松、黃繼業(yè).EDA技術實用教程[M].北京:科學出版社.2005.