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