隨著電子技術的飛速發展,數字系統的設計正朝著高速度、大容量、小體積方向前進,傳統的自底向上的設計方法已經難以適應電子系統的設計要求,因此,電子設計自動化(EDA)技術應運而生。EDA是以計算機為工作平臺,以EDA軟件為開發環境,以硬件描述語言(VHDL/Verilog HDL)為設計語言,以可編程邏輯器件(CPLD)為實驗載體,以ASIC/SOC芯片為設計的目標器件,自動完成用軟件的方式設計電子系統到硬件系統的一門新技術。它是融合了電子技術、計算機技術、信息處理技術、智能化技術等最新成果而開發的高新技術,是一種高級、快速、有效的電子設計自動化工具。
1 EDA技術的發展
隨著計算機技術、集成電路技術、電子系統設計技術的發展,EDA技術的發展經歷了3個階段。
1)20世紀70年代的計算機輔助設計(Computer Assist Design,CAD)階段
隨著MOS工藝以及中、小規模集成電路的出現和應用,傳統的手工制圖制版設計與電路集成的方法已經無法滿足產品設計精度的要求。人們開始利用計算機輔助進行電路原理圖編輯,PCB布局布線,使設計師從傳統高度重復、繁雜的繪圖勞動中解脫出來。這一時期最具代表性的產品就是美國ACCEL公司開發的Tango布線軟件。
2)20世紀80年代的計算機輔助工程(Comouter Assist Engineering,CAE)階段
隨著計算機和集成電路技術的發展,相繼出現了集成上萬只晶體管的微處理器、集成幾十萬甚至上百萬存儲單元的隨機存儲器、只讀存儲器以及可編程邏輯器件(PAL和GAL)。EDA技術進入了計算機輔助工程設計階段。具有自動綜合能力的CAE工具代替了設計工程師的部分設計工作,提高了產品設計的精度和效率。設計工程師可以通過軟件工具來完成審批開發的設計、分析、生產、測試等各項工作,使設計階段對產品性能的分析前進了一大步。
3)20世紀90年代的電子設計自動化(Electronic DesignAutomation,EDA)階段
設計工程師在產品設計過程中,從使用硬件轉向設計硬件,從電路級電子產品開發轉向系統級電子產品開發。硬件描述語言的標準化以及基于計算機技術的大規模ASIC設計技術的應用,使得EDA技術得到全新的發展。這一階段的主要特征是以高級硬件描述語言(VHDL、AHDL或Verilog-HDL)、系統級仿真和綜合技術為特點,采用“自頂向下”的設計理念,將設計前期的許多高層次設計由EDA工具來完成,實現了整個系統設計過程的自動化。
2 EDA技術的基本特征
EDA技術代表了當今電子設計技術的最新發展方向,它的基本特征是:采用自頂向下的設計方法,對整個系統進行方案設計和功能劃分,然后采用硬件描述語言完成系統行為級的設計,最后通過綜合器和適配器生成最終的目標器件。下面介紹EDA基本特征有關的幾個概念。
1)自頂向下的設計方法EDA技術提供了一種自頂向下(Top Down)的設計方法。這種設計方法是從系統的總體要求出發,自頂向下地逐步將設計內容細化,最后完成系統硬件的整體設計。由于設計的主要仿真和調試過程是在高層次上完成的,這一方面有利于早期發現結構設計上的錯誤,避免設計工作的浪費,同時也減少了邏輯功能仿真的工作量,提高了設計的一次成功率。
2)VHDL語言VHDL(Very-high-speed integrated circuithardware description language)是一種全方位的硬件描述語言,1987年被IEEE和美國國防部確認為標準硬件描述語言。它是一種用于設計硬件電子系統的計算機語言,它用軟件編程的方式來描述硬件系統的邏輯功能、電路結構和連接形式,它包括系統行為級、寄存器傳輸級和邏輯門級多個設計層次,支持結構、數據流、行為3種描述形式的混合描述,幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂向下或自底向上的電路設計過程都可以用VHDL來完成。在電子工程領域,它承擔了幾乎全部數字系統的設計任務,更適合大規模數字系統的設計。
3)CPLD可編程邏輯器件PLD(Programmable LogicDevice)是一種由用戶編程以實現某種邏輯功能的新型邏輯器件。從20世紀70年代問世后,可編程邏輯器件經歷了PAL、GAL、CPLD、FPGA幾個發展階段。其中CPLD/FPGA屬于高密度可編程邏輯器件,目前集成度已高達200萬門/片,它將專用集成電路(ASIC)集成度高的優點和可編程邏輯器件設計生產方便的特點結合在一起,以速度快、集成度高、可加密、重新定義編程、上萬次的編程次數等優點得到廣泛應用。CPLD/FPGA器件已成為現代高層次電子設計方法的實現載體。
3 使用EDA技術的數字系統設計
下面以Alter公司提供的Max+Plus II為平臺,設計一個二十四進制計數器及其輸出顯示系統。該系統由計數器模塊和顯示模塊兩部分組成,電路的設計如下。
1)計數器模塊的設計 二十四進制計數器的設計采用VHDL語言編程來實現。其VHDL程序如下:
使用Max+Plus II的文本輸入方式完成程序的輸入,進行源程序的編譯、仿真,得到圖1所示的仿真結果。最后生成默認的計數器模塊電路符號CNT24。
2)顯示模塊的設計 顯示模塊的頂層原理圖如圖2所示。它由3部分組成:八進制計數器CNT8、選擇電路CHOOSE、七段顯示譯碼電路DELED。
①八進制計數器的設計 八進制計數器的輸入為時鐘信號clk,輸出為從000到111按順序循環變化的3位二進制碼,用來控制8位七段數碼管的顯示狀態,其VHDL程序如下:
②選擇電路的設計 選擇電路以八進制計數器的輸出sel作為選擇輸入信號,用來選擇二十四進制計數器模塊的輸出qh和ql,并將其轉換為4位矢量輸出。其VHDL程序如下:
③七段顯示譯碼電路的設計 七段顯示譯碼電路將4位矢量轉換為點亮LED 7段顯示數碼管a~g的信號。其VHDL程序如下:
使用Max+Plus II的文本輸入方式分別完成八進制計數器、選擇電路、七段顯示譯碼電路各部分程序的輸入,進行編譯、仿真,最后生成各部分的默認電路符號。然后在原理圖編輯器中調用各電路符號,按圖2所示完成顯示模塊原理圖的設計。對顯示模塊的原理圖進行編譯,并生成默認的顯示模塊電路符號display。
3)系統電路的設計 二十四進制計數器及顯示系統采用原理圖輸入方式完成,在原理圖編輯器中調用計數器模塊CNT24和顯示模塊displ ay電路符號,完成其頂層原理圖的設計,如圖3所示。對該電路進行編譯、仿真,得到圖4所示仿真結果。最后通過編程器或下載電纜將設計結果下載到目標芯片CPLD中,連接硬件電路驗證設計結果符合功能要求。
4 結束語
EDA技術徹底改變了數字系統的設計方法和實現手段,使電子系統的設計由硬件設計轉變為以VHDL語言為核心的編程設計,借助于國際標準的VHDL語言和強大的EDA工具,使電子系統的設計變得思路簡單,功能明了。使用CPLD可以反復進行硬件實驗,降低了硬件電路的復雜程度,且設計電路的保密性強。通過修改程序可方便地修改設計,提高了設計的靈活性,縮短了設計周期,提高設計的效率。