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