隨著電子技術的發(fā)展,數字系統(tǒng)的設計正朝高速度、大容量、小體積的方向發(fā)展,傳統(tǒng)的自 底而上的設計方法已難以適應形勢。EDA(Electronic Design Automation)技術 的應運而生,使傳統(tǒng)的電子系統(tǒng)設計發(fā)生了根本的變革。EDA技術就是依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言VHDL(Very High Speed Integrated Circui t Hardware Description Language)為系統(tǒng)邏輯描述手段自頂而下地逐層完成相應的描述 、綜合、優(yōu)化、仿真與驗證,直至生成器件。VHDL語言是目前應用于數字系統(tǒng)仿真最為實 用的語言之一。
1VHDL特點
VHDL語言最早由美國國防部提出。用VHDL語言進行數字邏輯電路和數字系統(tǒng)的設計,是電子電路設計方法上的一次革命性變革。與傳統(tǒng)設計方法相比,VHDL描述電路行為的算法有很多優(yōu)點:
(1) 設計層次較高、用于較復雜的計算時,能盡早發(fā)現(xiàn)存在的問題,縮短設計周期。
(2) 獨立實現(xiàn),修改方便,系統(tǒng)硬件描述能力強。
(3) 可讀性好,有利于交流,適合于文檔保存。
(4) VHDL語言標準、規(guī)范、移植性強。
(5) VHDL類型眾多而且支持用戶自定義類型,支持自頂而下的設計方法和多種電路的設計。
2 數字系統(tǒng)的設計流程
VHDL按要求對系統(tǒng)進行描述,然后綜合、仿真、適配,當確認設計符合要求時,再將設計映 射至實際的邏輯器件中,設計流程如圖1所示。
VHDL語言已日益成為一種通用的硬件設計交換媒介,計算機輔助工程軟件的供應商已把VHDL作為其CAD或EDA軟件輸入與輸出的標準。其中ALTERA公司提供了一套十分有特色的綜合工具MAX+PLUSⅡ,他提供了全面的邏輯設計能力,從編輯、綜合、布線到仿真、下載一氣呵成,十分方便。
3 設計實例及仿真結果
3.1 設計實例
以交通信號燈主控制電路的設計為例,應用MAX+PLUSⅡ軟件平臺,來說明VHDL語言在EDA仿真中的應用。設有一個主干道與支干道的交叉路口,每邊都設有紅、黃、綠信號燈,設計一 個控制器優(yōu)先保證主干道的暢通。該設計實例的基本功能描述為:
(1)平時處于“主干道綠燈,支道紅燈”狀態(tài),只有在支道有車輛要穿行主干道時,才將交通燈切向“主干道紅燈,支道綠燈”。
(2)一旦支道無車輛通過路口,交通燈又回到“主干道綠燈,支道紅燈”的狀態(tài)。
(3)主干道和支干道每次通行的時間不得短于30 s,在兩個狀態(tài)交換過程出現(xiàn) “主黃,支紅”和“主紅,支黃”狀態(tài),持續(xù)時間都是4 s。該功能描述的狀態(tài)圖如圖2所示。
因為主干道和支干道各有3種燈(紅、黃、綠),他們在正常工作時,發(fā)亮的燈只有4種可能:
(1)主綠燈和支紅燈亮——主干道通行。
(2)主黃燈和支紅燈亮——主干道停車。
(3)主紅燈和支綠燈亮——支干道通行。
(4)主紅燈和支黃燈亮——支干道停車。
根據交通燈信號控制的要求,可把他分解為定時器和控制器兩部分。CLK:時鐘脈沖;SM :主干道來車信號;SB:支干道來車信號;MR:主干道紅燈;MY:主干道黃燈;MG:主干道 綠燈;BR:支干道紅燈;BY:支干道黃燈;BG:支干道綠燈。主控制電路設計程序如下:
3.2 仿真結果分析
利用MAX+PLUSⅡ對由VHDL編寫的主控制電路程序進行編譯和仿真,由分析知,主干道和支干道的控制燈正常工作時只有4種狀態(tài),而這4種狀態(tài)完全取決于按鍵SM(主干道來車信號)和SB(支干道來車信號),故本設計主控制電路的仿真結果共有4個,由于當SM和SB都是 低電平(為0)時,所有的指示燈都為低電平,即都不被點亮,故可分3種情況討論仿真結果,由于篇幅所限,本文只給出主干道有車、支干道有車時的仿真結果。
當主、支干道都有車時,這種情況相對復雜,他體現(xiàn)了控制器的精華部分,為了把此時的仿真波形更加具體化,特分3張圖來詳細說明其工作過程,如圖3所示。
由圖3(a)知,控制器剛開始工作時,主干道綠燈、支干道紅燈被點亮,控制器處于狀態(tài)S1(本設計輸出延遲0.5 s,符合要求)。由圖3(b)分析知,當主、支干道都有車時,狀態(tài)S1保持到第30 s后,開始轉向狀態(tài)S2,即主干道由黃燈轉為綠燈亮并保持4 s,支干道紅 燈持續(xù)亮并也保持4 s,4 s后,控制器開始向狀態(tài)S3轉變,主干道由黃燈亮轉為紅燈亮,支干道由 紅燈亮轉化為綠燈亮。由圖3(a)和(b)知當主支干道都有車時前半階段支干道的紅燈被點 亮的時間等于主干道黃燈和綠燈的時間被點亮的時間(34 s),符合前述的設計情況。
狀態(tài)S3一直保持了30 s,即在第64 s時發(fā)生了變化,開始向狀態(tài)S4轉變,支干道由綠燈亮轉 化為黃燈亮,主干道繼續(xù)保持紅燈亮4 s,4 s過后,也就是在第68 s時,控制器又由狀態(tài)S4 轉變?yōu)闋顟B(tài)S1,主干道由紅燈亮轉化為綠燈亮,支干道由黃燈亮轉變?yōu)榧t燈亮,完成了一個 周期的控制工作,由圖3(c)知在一個周期的下半段主干道紅燈亮的時間等于支干道黃燈和綠 燈被點亮的時間之和(34 s),經分析知此程序完全實現(xiàn)了前述的控制要求。
4 結語
EDA技術徹底改變了數字系統(tǒng)的設計方法和實現(xiàn)手段,借助于硬件描述語言的國際標準VHDL 和強大的EDA工具,可減少設計風險并縮短周期,隨著VHDL語言使用范圍的日益擴大,必將 給硬件設計領域帶來巨大的改革。