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