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