隨著計算機及其相關(guān)技術(shù)的發(fā)展,一門嶄新的技術(shù)正在世界范圍內(nèi)興起,這就是CAD(Computer Aided Design)技術(shù)。CAD技術(shù)是電子信息技術(shù)發(fā)展的杰出成果,它的發(fā)展與應(yīng)用正引發(fā)著一場工業(yè)設(shè)計和制造領(lǐng)域的革命。EDA(Electronic Design Automation,電子設(shè)計自動化)技術(shù),就是采用CAD技術(shù)進行電子系統(tǒng)和專用集成電路設(shè)計的技術(shù)。
EDA技術(shù)可面向三個不同的層次,即系統(tǒng)級、電路級和物理實現(xiàn)級。進入20世紀90年代以來,EDA技術(shù)逐漸以高級語言描述、系統(tǒng)仿真(system simulation)和綜合優(yōu)化(synthesis)為特征。此時的EDA技術(shù)經(jīng)常被稱為ESDA(Electronics System Design Automation)。
傳統(tǒng)的電子系統(tǒng)設(shè)計基本上采用自底向上(bottom-up)的設(shè)計方法,利用SPICE完成模擬驗證。這種方法要求設(shè)計者具有豐富的設(shè)計經(jīng)驗。大部分電子系統(tǒng)的設(shè)計工作需要設(shè)計專家人工完成,同時任何一次設(shè)計方案的修改,都意味著一次詳細設(shè)計過程的重復(fù),再加上模擬驗證速度較慢,因此無論在設(shè)計時間還是在設(shè)計精度上都不十分令人滿意。因此,采用人工的自底向上設(shè)計方法,已很難滿足當(dāng)今電子系統(tǒng)的設(shè)計要求;而現(xiàn)在EDA所采用的自頂向下(top-down)的設(shè)計方法則有效地實現(xiàn)了設(shè)計周期、系統(tǒng)性能和系統(tǒng)成本之間的最佳權(quán)衡。這是一種層次化的設(shè)計方法。設(shè)計在盡可能高的層次上開始進行,從而使設(shè)計者能在更大的空間內(nèi)進行設(shè)計搜索,理解整個系統(tǒng)的工作狀態(tài),完成設(shè)計的權(quán)衡和相關(guān)的設(shè)計決策。自上而下的設(shè)計方法,首先從系統(tǒng)設(shè)計入手,從頂層進行功能方框圖劃分和結(jié)構(gòu)設(shè)計,這時的設(shè)計與工藝無關(guān)。在方框圖一級先進行仿真和糾錯,用VHDL語言對高層次的系統(tǒng)行為級進行描述并在系統(tǒng)級進行驗證。然后,用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的EDIF(Electronic Design Interchange Format,電子設(shè)計轉(zhuǎn)換格式)網(wǎng)表,對應(yīng)的物理實現(xiàn)級可以是PCB板或者是ASIC芯片。設(shè)計的主要仿真和調(diào)試過程是在高層次完成,這一方面有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,避免設(shè)計工作的浪費,同時也減少了邏輯仿真的工作量。目前,一般的硬件平臺已經(jīng)可以支持系統(tǒng)設(shè)計的CAD軟件的運行。自頂向下的設(shè)計方法方便了從系統(tǒng)級劃分和管理整個項目;簡化了設(shè)計隊伍的管理;減少了不必要的重復(fù);提高了設(shè)計的一次成功率。同時,自頂向下的設(shè)計方法還提供整個設(shè)計過程中的各設(shè)計階段的統(tǒng)一規(guī)范管理,包括系統(tǒng)的測試和各層次的模擬驗證。
一般認為衡量一個電子設(shè)計自動化系統(tǒng)的優(yōu)劣主要有以下三個方面的標(biāo)準。① 一般性:用該自動化設(shè)計系統(tǒng)成功實現(xiàn)的電路和性能要求范圍;② 精確性:使用該自動化設(shè)計系統(tǒng)能達到的設(shè)計精度;③ 有效性:把電路設(shè)計編譯成設(shè)計系統(tǒng)的輸入格式所用的時間和綜合優(yōu)化所用的CPU時間。 當(dāng)今流行的電子系統(tǒng)設(shè)計環(huán)境還存在一些弊端:層次單一;庫單元十分有限,而且結(jié)構(gòu)固定,不易修改和擴充;自動化程度低,需要大量的人工設(shè)計;核心的算法在設(shè)計時間和設(shè)計精度上都不能達到理想的要求。針對這些弊端,我們借鑒以前已有設(shè)計環(huán)境的長處,提出了一個新穎的電子系統(tǒng)設(shè)計環(huán)境即ASEDA。
一、 ASEDA設(shè)計環(huán)境及流程
在ASEDA中,用符號模擬技術(shù)建立電路的符號模型。由于符號模擬技術(shù)對電路形式和性能要求沒有特殊的約定,從而解決了一般性的問題。電路議程的自動化生成,使得預(yù)準備的時間大大縮短;層次化的宏模型庫及其自動化建立工具使得綜合優(yōu)化的時間得到大幅度減少,解決了有效性的問題。電路的宏模型用非參數(shù)統(tǒng)計分析方法建立,解決了以前線性回歸模型函數(shù)形式固定帶來的精確性差的問題。
由于最新MATLAB for Windows的4.0版是一種功能強、效率高、便于進行科學(xué)和工程計算的交互式軟件包。它除了傳統(tǒng)的交互式編程之外,還提供了大量的MATLAB配套工具箱,有優(yōu)化工具箱(optimization toolbox)、信號處理工具箱(signal processing toolbox)、神經(jīng)網(wǎng)絡(luò)工具箱(neural network toolbox)、控制系統(tǒng)工具箱(control system toolbox)等。此外,它還提供了與其它語言的接口(C、FORTRAN等),使得其功能日益強大。因此在 ASEDA中,被用來進行系統(tǒng)級仿真。
電子系統(tǒng)自動化設(shè)計的設(shè)計流程可以抽象為圖1所示的模式。首先,設(shè)計師根據(jù)所要求設(shè)計的電子系統(tǒng)的性能描述和設(shè)計限制建立設(shè)計概念,即建立該系統(tǒng)的信號流程框圖。在ASEDA中選出這些模塊后,進入ASEDA的層次化綜合、優(yōu)化設(shè)計框架。然后,以電路圖或者是文本格式的文件輸出,作為版圖設(shè)計級的輸入,最后形成VHDL描述。
圖1 電子系統(tǒng)自動化設(shè)計流程
層次化的綜合設(shè)計是將系統(tǒng)和設(shè)計限制逐級分解為更小的部件和設(shè)計限制進行設(shè)計綜合,而在每一層中電路的分析綜合和優(yōu)化過程是一致的。首先,是讀入性能要求和設(shè)計限制文件,這些性能要求和設(shè)計限制在最高層是由用戶直接提出的,而在低層次上是由上一層自動生成的,這樣用戶在設(shè)計時并不需要了解底層的詳細設(shè)計情況,從而方便了用戶設(shè)計。第二步,是根據(jù)性能要求和設(shè)計限制在相應(yīng)層次的宏模型庫中選取適當(dāng)?shù)暮昴P屯負浣Y(jié)構(gòu),在選取上可采用模糊匹配的原則,為用戶提供一個或若干個拓撲結(jié)構(gòu)以供選擇。
若用戶對系統(tǒng)自動選擇的拓撲結(jié)構(gòu)滿意,可以直接進行下一步的設(shè)計,否則可以自行修改拓撲結(jié)構(gòu)甚至重新構(gòu)造新的拓撲結(jié)構(gòu)。然后,由宏模型自動建立工具對修改后的或新建的拓撲結(jié)構(gòu)進行分析,建立相應(yīng)的宏模型,并補充到相應(yīng)層次的宏模型庫中,進行下一步的設(shè)計。由于電路,尤其是模擬電路的拓撲結(jié)構(gòu)千變?nèi)f化,一個單元庫不可能滿足所有用戶需求,往往需要構(gòu)造新的電路拓撲,因而,電路宏模型的自動建立對提高設(shè)計效率至關(guān)重要。
在確定拓撲結(jié)構(gòu)后就可以進行參數(shù)優(yōu)化和宏模型仿真。優(yōu)化以輸入的設(shè)計要求和設(shè)計限制作為優(yōu)化目標(biāo),可以是性能指標(biāo)的優(yōu)化,也可以是產(chǎn)量的優(yōu)化。優(yōu)化方法包括最速下降法、模擬退火法等。最速下降法求解速度快,往往只能得到局部最優(yōu)解;模擬退火法雖然求解速度很慢,但可以得到全局最優(yōu)解。隨著計算機技術(shù)的不斷發(fā)展,模擬退火法逐步受到重視,并得到了廣泛的應(yīng)用。
宏模型仿真方面既可以使用符號模擬也可以使用數(shù)值模擬來進行模擬驗證工作,用以驗證優(yōu)化結(jié)果。當(dāng)驗證結(jié)果不滿足設(shè)計要求時,需要重新進行拓撲選擇和參數(shù)優(yōu)化。在每一層次中都做這樣的仿真,盡管增加了設(shè)計的工作量,然而,由于這樣做避免了將某一層中的設(shè)計錯誤帶入到下一層中,因而使自頂向下的設(shè)計能夠一次完成,不僅提高了設(shè)計成功率,而且提高了整個設(shè)計系統(tǒng)的效率。
當(dāng)通過宏模型仿真后就該為進行下一層次的設(shè)計做準備工作。首先,將該層的拓撲結(jié)構(gòu)分解成各子模塊;然后,根據(jù)各子模塊分解性能要求和設(shè)計限制,即為各子模塊確定各自的性能指標(biāo)與設(shè)計限制。這部分的工作也十分重要,它直接關(guān)系到下一層的設(shè)計能否順利進行,并得到所需的設(shè)計結(jié)果。OASYS在這方面作了大量的研究工作,取得了一定的進展,并有一些成功應(yīng)用。分解完后可轉(zhuǎn)入對各子模塊的設(shè)計,即進行下一層次的設(shè)計,該過程與以上介紹的設(shè)計過程是一致的。不斷進行該設(shè)計過程,直至完成整個系統(tǒng)的設(shè)計工作。
在實際的設(shè)計過程中,各層次模塊的單元不一定嚴格劃分,并且可能采取混合的模塊選取構(gòu)成電路和系統(tǒng)的拓撲結(jié)構(gòu),因此在庫單元文件的構(gòu)成中把各層次的模塊設(shè)置于同一層,以方便各層次模塊的選取。各層次的模塊下有各種不同類型的模塊定義,針對某一模塊而言,其功能描述是一一對應(yīng)的,而實現(xiàn)其功能的結(jié)構(gòu)形式可以是多樣的。在功能描述和結(jié)構(gòu)描述的目錄下包含各自的屬性描述。功能描述的屬性描述是該模塊實現(xiàn)的功能特征,以便在綜合過程中搜索調(diào)用。每一個結(jié)構(gòu)描述給出了實現(xiàn)功能特征的不同結(jié)構(gòu)形式及各自的性能特征。最后,為了系統(tǒng)的穩(wěn)定和安全,功能和結(jié)構(gòu)描述的屬性都具有當(dāng)前和備份兩個文件。
此外,用戶還可以根據(jù)需要將自己定義的模塊或多級模塊加入功能塊庫中。這些自定義的模塊實際上是用戶編寫的代表特定功能的源程序,一旦將這些模塊所代表的行為通過源程序定義下來,ASEDA就會自動產(chǎn)生所需的庫文件和數(shù)據(jù)庫。這些自定義模塊和多級模塊生成之后,可以像單元庫中的其它模塊一樣來使用。
二、 ASEDA設(shè)計環(huán)境特點
ASEDA提供的工具使設(shè)計者能夠?qū)崿F(xiàn)各種電子系統(tǒng)的設(shè)計,包括設(shè)計輸入、仿真、測試和實現(xiàn)。ASEDA主要有以下特點:
· 電子系統(tǒng)設(shè)計和仿真具有統(tǒng)一的圖形用戶界面;
· 用MATLAB進行系統(tǒng)級仿真,有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計上的錯誤,避免設(shè)計工作的浪費;
· 具有層次化的電路綜合設(shè)計框架,這適應(yīng)了自頂向下的系統(tǒng)設(shè)計需要;
· 支持反饋回路的多級嵌套,以適應(yīng)多級、復(fù)雜的系統(tǒng)設(shè)計要求;
· 建有層次化、可擴充的單元電路宏模型庫,為進行分層次系統(tǒng)設(shè)計提供保障,同時增加了設(shè)計的靈活性,減少了設(shè)計時間;
· 利用高效的綜合優(yōu)化算法,采用靈活的方式,由用戶人工干預(yù)的方式或者由計算機自動生成各層次的宏模型;
· 具有開放的體系結(jié)構(gòu),不僅能提供與其它設(shè)計工具的接口,還允許設(shè)計人員在系統(tǒng)中擴充和自建設(shè)計工具,大大方便各種設(shè)計人員進行電子系統(tǒng)設(shè)計,特別是有利于進行模數(shù)混合電子系統(tǒng)的設(shè)計;
· 提供多種電路模擬與驗證手段,除了使用傳統(tǒng)的SPICE等數(shù)值模擬工具外,還可使用符號模擬工具對電路進行模擬驗證工作,這樣可以有利于設(shè)計人員在設(shè)計精度和設(shè)計時間上做合適的折衷
評論
查看更多