摘要:EDA技術綜合了現代電子技術和計算機技術的最新研究成果,其設計采用自頂向下的設計方法,通常采用硬件描述語言進行電子電路設計;VHDL語言以其強大的建模和邏輯綜合功能成為EDA技術中應用最廣泛的硬件描述語言之一。基于VHDL設計了交通信號燈。
關鍵詞:EDA;自頂向下;VHDL;交通信號燈
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)15-21050-04
Implementation of Traffic Signal Lights Based on VHDL
LUO Hai-tao
(School of Informatics,Guangdong University of Foreign Studies,Guangzhou 510420,China)
Abstract:EDA integrates the latest technologies of modern Electronics and Computer Science,its design adopts top down methodology,and hardware description language is used to design electronic circuit in EDA;VHDL becomes one of the most popular hardware description language because of its strong ability of modeling and syntheses.Designed traffic signal lights based on VHDL.
Key words:EDA(Electronics Design Automation);Top down;VHDL;Traffic Signal Lights
1 引言
硬件描述語言(HDL,Hardware Description Language)至今約有40余年的歷史,現在已成功地應用于ASIC自動設計的模擬驗證和綜合優化等方面。其特點是借鑒高級語言的功能特性對電路的行為與結構進行高度抽象化、規范化的形式描述,并對設計進行不同層次,不同領域的模擬驗證與綜合優化等處理,使設計過程達到高度自由化。
VHDL語言全稱是“超高速集成電路硬件描述語言”(Very High Speed Integrated Circuit Hardware Description Language),1982年被研發出來以。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言,并公布了VHDL的IEEE-1076版(87版)。1993年IEEE對VHDL進行修訂,從更高的抽象層次和系統描述能力上擴展了VHDL的內容,公布了新的VHDL版本,即IEEE標準的1076-1993版本(93版)。VHDL語言描述能力強,覆蓋了邏輯設計的諸多領域和層次,大大簡化了硬件設計任務,提高設計的可靠性。基于VHDL語言的設計方法得到了廣泛的應用,VHDL語言已成為硬件描述語言的工業標準。
2 EDA技術與VHDL語言
EDA 技術是90年代迅速發展起來的,是現代電子設計的最新技術潮流,是綜合現代電子技術和計算機技術的最新研究成果,是從事電子線路設計與分析的一門技術,包括電子線路的設計、計算機模擬仿真和電路分析、印制電路板的自動化設計三個方面的內容。
進入21世紀后,EDA技術得到了更大的發展,突出表現在以下幾個方面:(1)使電子設計成果以自主知識產權的方式得以明確表達和確認成為可能;(2)在仿真和設計兩方面支持標準硬件描述語言的功能強大的EDA軟件不斷推出;(3)電子技術全方位納入EDA領域;(4)EDA使得電子領域各學科的界限更加模糊,更加互為包容。傳統的電子產品的設計必須經過設計方案的提出、電原理圖設計、初步驗證、樣機制作、小批量試制、大批量生產等幾個過程。對于電子產品設計工程師而言,必須保證理論設計、初步驗證兩個過程完全正確,才能按電路原理圖繪制成電路板圖,并進行進一步的生產。
傳統的電子產品的設計通常采用自底向上(Bottom Up)電路設計方法,即首先根據系統對硬件的要求,寫出詳細的技術規格書,畫出系統的控制流程圖;其次,根據技術規格書和控制流程圖,對系統功能進行細化,合理劃分功能模塊,畫出系統的功能框圖;然后,對各個功能模塊進行細化和電路設計;最后,將各個功能模塊的硬件電路連接起來再進行系統地調試,最后完成整個系統的硬件設計。手工設計方法的缺點是:(1)復雜電路的設計、調試十分困難;(2)如果某一過程存在錯誤,查找和修改十分不便;(3)設計過程中產生大量文檔,不易管理;(4)對于集成電路設計而言,設計實現過程與具體生產工藝直接相關,因此可移植性差;(5)只有在設計出樣機或生產出芯片后才能進行實測。
基于EDA技術的設計則采用自頂向下的設計方法。
(1)采用可以完全獨立于目標器件芯片物理結構的硬件描述語言,在系統的基本功能或行為級上對設計的產品進行描述和定義,結合多層次的仿真技術,在確保設計的可行性與正確性的前提下,完成功能確認;
(2)利用EDA工具的邏輯綜合功能,把功能描述轉換成某一具體目標芯片的網表文件,并將它輸出到該器件廠商的布局布線適配器,進行邏輯映射及布局布線;
(3)利用產生的仿真文件進行功能和時序驗證,以確保實際系統的性能。
自頂向下方法的優點是:頂層功能描述完全獨立于目標器件的結構,在設計的最初階段,設計人員可不受芯片結構的約束,集中精力對產品進行最適應市場需求的設計,從而避免了傳統設計方法中的再設計風險,縮短了產品的上市周期;設計成果的再利用得到保證;由于采用的是結構化開發方法,因此確認主系統基本結構后,可以實現多人多任務的并行工作方式,提高系統的設計規模和效率;在選擇目標器件的類型、規模、硬件結構等方面具有更大的自由度。
EDA技術通常采用硬件描述語言進行電子電路設計,EDA技術主要特點是:(1)采用硬件描述語言作為設計輸入;(2)庫(Library)的引入;(3)設計文檔的管理;(4)強大的系統建模、電路仿真功能;(5)具有自主知識產權;(6)開發技術的標準化、規范化以及IP核的可利用性;(7)適用于高效率大規模系統設計的自頂向下設計方案;(8)全方位地利用計算機自動設計、仿真和測試技術;(9)對設計者的硬件知識和硬件經驗要求低;(10)高速性能好;(11)純硬件系統的高可靠性。
目前常用的用于EDA技術的硬件描述語言有:ABEL-HDL;Verilog HDL:IEEE 1364-1995,2001;VHDL(Very High Speed Integrated Circuit Hardware Description Language): IEEE 1076-1993。其中VHDL語言以其強大的行為建模、結構建模、寄存器傳輸級描述以及邏輯綜合功能成為EDA技術中應用最廣泛的硬件描述語言之一。
3 VHDL建模方法
VHDL建模方法一般有行為建模、結構建模、寄存器傳輸級描述等方式。VHDL具有強大的行為描述能力,成為系統設計領域最佳的硬件描述語言。行為描述避開具體的器件結構,從邏輯行為上描述和設計大規模電子系統。VHDL豐富的仿真功能和庫函數可以在系統的設計早期階段查驗系統功能的可行性,并對設計進行仿真模擬。分解大規模設計和已有設計的再利用,這是由VHDL的行為描述能力和程序結構決定的。用VHDL完成設計后,可以用多種EDA工具進行邏輯綜合和優化,VHDL對設計的描述具有相對獨立性。行為建模是一種抽象描述,不是對具體電路結構的描述,是對設計實體整體功能的描述,是高層次的概括。對系統進行行為描述目的:在系統設計的初始階段通過對系統行為描述的仿真發現設計中存在的問題;行為描述階段不考慮用具體硬件去實現實際的操作和算法,主要檢驗系統的結構以及工作過程能否達到系統設計的要求。
行為建模主要使用函數、過程和進程,采用行為建模的方法設計的VHDL語言程序一般不能進行綜合,必須先使用EDA工具在行為級上進行仿真,確認無誤后再將程序改為結構建模或者數據流建模的VHDL語言程序,然后再進行綜合。行為建模意義在于對復雜的、多層次的系統來說,行為建模使設計者在早期發現錯誤,并且確定設計是否合理。
結構建模是指在層次化設計中,高層次(頂層)模塊調用低層次模塊、基本邏輯門或者基本邏輯單元來組成復雜數字電路或系統,例如一位全加器可以由一位半加器和或門構成,在進行結構建模時,可以先建立半加器和或門模塊,包裝入庫,再調用這些模塊建立全加器。這里,全加器是頂層模塊,半加器和或門是底層模塊,所以,結構化描述體現了層次化設計思想。
寄存器傳輸級描述RTL(Register Transfer Level),其設計實體的描述按照從信號到信號的數據流形式,或者叫“數據流描述方式”。根據RTL描述,可以導出系統的邏輯表達式并進行邏輯綜合,是ED設計中經常采用的描述方法。行為方式描述的系統結構程序抽象度高,很難直接映射到具體的硬件,必須先轉換為RTL方式描述的VHDL語言程序。
邏輯綜合是針對給定的電路功能和實現此電路的約束條件,如速度、功耗、成本及電路類型等,通過計算機進行優化處理,獲得滿足要求的電路設計方案。邏輯綜合的依據是邏輯設計的描述和各種約束條件;邏輯綜合的結果是一個硬件電路的實現方案,該方案必須同時滿足預期的功能和約束條件。滿足要求的方案可能有多個,但邏輯綜合器將產生一個最優或接近最優的結果,該結果和邏輯綜合器的工作性能有關。
4 系統設計實現
本系統在Altera公司的Max+ Plus II 10.0 BASELINE軟件下用VHDL語言設計實現,操作系統環境為Windows XP version 5.1.2600。系統采用自頂向下的設計方法,首先把系統按功能分解成4個模塊:controller、display、fenwei以及frequency。分別設計4個模塊,然后再調用它們構成整個系統。系統頂層采用圖形方法設計,如圖1所示。

4個底層模塊則采用VHDL語言設計,其中Controller的接口代碼為:
Entity Controller Is
Port
(Clock:In Std_Logic;
Reset:In Std_Logic;
Hold:In Std_Logic;
Flash:Out Std_Logic;
NumA,NumB:Out Integer Range 0 To 25;
RedA,GreenA,YellowA:Out Std_Logic;
RedB,GreenB,YellowB:Out Std_Logic
);
Frequency模塊的接口代碼為:
Entity Frequency Is
Port
(Clk10Hz: In Std_Logic;
Clk1Hz:Out Std_Logic
);
End;
Display模塊的接口代碼為:
Entity Display Is
Port( Clock:InStd_Logic;
Flash:In Std_Logic;
Qin:In Std_Logic_Vector(3 Downto 0);
Display:Out Std_Logic_Vector(0 to 6));
End;
Fenwei模塊的接口代碼為:
Entity Fenwei Is
Port
(Clock:In Std_Logic;
Numin:In Integer Range 0 To 25;
NumA,NumB:Out Integer Range 0 To 9
);
End;
編譯后運行結果如圖2所示。

5 結束語
VHDL是一種功能非常強大的硬件描述語言,主要用于描述數子系統的結構、行為、功能和接口。VHDL借鑒了高級語言的特點,可以將一項工程設計,或稱設計實體,(可以是一個元件、一個電路模塊或一個系統)分成外部(可視部分即端口)和內部(不可見部分),即設計實體的內部功能和算法完成部分。在對一個設計實體定義了外部界面后,只要其內部開發完成,其他的設計就可以直接調用這個實體。
參考文獻:
[1] 胡振華-VHDL與FPGA設計[M].北京:中國鐵道出版社,2003.
[2] 求是科技.VHDL應用開發與工程實踐[M].北京:人民郵電出版社,2005.
[3] 盧毅,賴杰.VHDL與數字電路設計[M].北京:科學出版社,2001.
[4] 陳耀和.VHDL語言設計技術[M].北京:電子工業出版社,2005.