設(shè)計(jì)的復(fù)雜性呼喚系統(tǒng)級(jí)設(shè)計(jì)
要點(diǎn)
設(shè)計(jì)復(fù)雜性的不斷增加需要更好的系統(tǒng)設(shè)計(jì)工具。
硬件設(shè)計(jì)師需要重新培訓(xùn),才能成為熟練的系統(tǒng)設(shè)計(jì)師。
對(duì)于系統(tǒng)設(shè)計(jì)而言,設(shè)計(jì)用于開(kāi)發(fā)和驗(yàn)證各種算法的語(yǔ)言是再好不過(guò)的了。
工程師們甚至在晶體管發(fā)明之前就從事系統(tǒng)級(jí)設(shè)計(jì),但是,隨著設(shè)計(jì)復(fù)雜性的提高,人們更加重視系統(tǒng)級(jí)設(shè)計(jì)。產(chǎn)品規(guī)范一般由數(shù)百頁(yè)書(shū)面文件組成,這些文件通常含糊其辭,難以解釋。The MathWorks公司負(fù)責(zé)營(yíng)銷(xiāo)、信號(hào)處理和通信的總監(jiān)Ken Karnofsky說(shuō):“設(shè)計(jì)缺陷是在規(guī)范階段引入的,一般要到驗(yàn)證階段才會(huì)被發(fā)現(xiàn)?!庇捎陂_(kāi)發(fā)者必須在安排得十分緊的進(jìn)度壓力下返工,因此這些缺陷會(huì)使開(kāi)發(fā)成本比其必需的正常成本高得多(圖1)。
在過(guò)去4年里,從事市場(chǎng)研究的Dataquest公司已開(kāi)始發(fā)布關(guān)于EDA市場(chǎng)中該公司全球EDA首席分析師Gary Smith所稱(chēng)的電子系統(tǒng)級(jí)分市場(chǎng)的報(bào)告。該市場(chǎng)的產(chǎn)品旨在使工程師能夠以比RTL(寄存器傳輸級(jí))更高的抽象級(jí)來(lái)描述電子產(chǎn)品設(shè)計(jì),而RTL是邏輯綜合被采用以來(lái)硬件設(shè)計(jì)的傳統(tǒng)起點(diǎn)。雖然很多EDA公司已經(jīng)為該市場(chǎng)推出了產(chǎn)品,但收入增長(zhǎng)明顯不如預(yù)期,并且主要技術(shù)潮流一直未得到發(fā)展。設(shè)計(jì)復(fù)雜性的不斷提高和65 納米半導(dǎo)體制造工藝的采用,使解決系統(tǒng)設(shè)計(jì)問(wèn)題變得更加勢(shì)在必行了。
傳統(tǒng)方法
大多數(shù)EDA公司處理復(fù)雜性問(wèn)題的方式都是假設(shè) :只要可以利用熟悉的工具,那么設(shè)計(jì)工程師就會(huì)自然地成為系統(tǒng)設(shè)計(jì)師。因此,該行業(yè)正在目睹人們從事三項(xiàng)不同的重要工作,目的是通過(guò)提供能在更高的抽象級(jí)描述概念的結(jié)構(gòu),把 RTL 級(jí)使用的基于語(yǔ)言的設(shè)計(jì)擴(kuò)展到系統(tǒng)級(jí)。每項(xiàng)工作都使用一種現(xiàn)有語(yǔ)言作為起點(diǎn)——即 Verilog語(yǔ)言、VHDL語(yǔ)言、C語(yǔ)言。
推廣全球標(biāo)準(zhǔn)的Accellera 機(jī)構(gòu),利用會(huì)員公司的貢獻(xiàn)擴(kuò)展了 Verilog 語(yǔ)言,以便創(chuàng)建 SystemVerilog語(yǔ)言——它是 Verilog語(yǔ)言的一個(gè)合適的超集,增加了很多行為結(jié)構(gòu)。由于 Verilog 是使用最廣泛的 RTL 設(shè)計(jì)語(yǔ)言,因此該機(jī)構(gòu)斷定,對(duì)它進(jìn)行擴(kuò)展,可以把重新培訓(xùn)工程師的需要減少到最低程度,并為行業(yè)節(jié)約相當(dāng)多的費(fèi)用。
IEEE 出于同樣的目的,在計(jì)算機(jī)協(xié)會(huì)設(shè)計(jì)自動(dòng)化標(biāo)準(zhǔn)委員會(huì) (Computer Society DASC) 內(nèi)部開(kāi)始了一項(xiàng)擴(kuò)展 VHDL的工作。VHDL 基礎(chǔ)語(yǔ)言已經(jīng)提供了Verilog 的大多數(shù)附加行為結(jié)構(gòu),據(jù)該委員會(huì)說(shuō),這可簡(jiǎn)化向該語(yǔ)言新版本的過(guò)渡。然而,這項(xiàng)工作進(jìn)展緩慢,并有失去市場(chǎng)機(jī)會(huì)的風(fēng)險(xiǎn)。
另一項(xiàng)基于 C語(yǔ)言(更準(zhǔn)確地說(shuō)是 C++)的重要工作造就了 SystemC,而SystemC由 OSCI (Open SystemC Initiative) 財(cái)團(tuán)推廣,并已被許多公司所采用。這種方法的擁護(hù)者認(rèn)為,由于大多數(shù)工程師都在大學(xué)學(xué)過(guò)使用 C語(yǔ)言來(lái)完成課堂作業(yè),所以基于 C語(yǔ)言 的工具就不需要大量的重新培訓(xùn)。
雖然這三種方法的技術(shù)細(xì)節(jié)各不相同(參考文獻(xiàn) 1),但每種方法都有相同的前提:在 RTL 級(jí)做設(shè)計(jì)的工程師也將能在系統(tǒng)級(jí)做設(shè)計(jì)。但是,不論是在EDA行業(yè) 還是在其它行業(yè),即使是對(duì)產(chǎn)品開(kāi)發(fā)歷史的膚淺調(diào)查,都會(huì)對(duì)該假設(shè)提出質(zhì)疑。在電子行業(yè),設(shè)計(jì)工程師們不參與最初的產(chǎn)品規(guī)范,既不制訂功能要求,也不確定項(xiàng)目指導(dǎo)方針和市場(chǎng)定位因素。這些任務(wù)由營(yíng)銷(xiāo)、財(cái)務(wù)、系統(tǒng)工程專(zhuān)業(yè)人員來(lái)承擔(dān)。這些專(zhuān)業(yè)人員一般都不熟悉硬件描述語(yǔ)言。由于沒(méi)有別的資料可供使用,他們都利用以自然語(yǔ)言和各種圖片編寫(xiě)的文件來(lái)描述系統(tǒng)。對(duì)于他們而言,使用 SystemVerilog 或 VHDL(這兩種帶有大量硬件實(shí)現(xiàn)語(yǔ)義)或 C++語(yǔ)言(帶有結(jié)構(gòu)化編程構(gòu)成),就像使用一種為系統(tǒng)級(jí)設(shè)計(jì)而編寫(xiě)的新語(yǔ)言一樣困難。
Cadence公司、Mentor公司和Synopsys公司——三家主要的 EDA 公司——既支持 SystemC ,又支持 SystemVerilog,不過(guò)側(cè)重點(diǎn)各不相同。Cadence 公司在 SystemC 推廣方面更積極,而 Synopsys 公司更支持 SystemVerilog。Mentor 公司采取中立主義,為這兩種語(yǔ)言提供同等支持。在各種會(huì)議和媒體上,支持 SystemC 的公司在捍衛(wèi)自己戰(zhàn)略方面更加直率。作為支持這種系統(tǒng)設(shè)計(jì)方法的最佳例子的小公司有 Celoxica公司、Summit Design公司、CoWare公司。
Celoxica 公司把支持的重點(diǎn)放在用FPGA 器件實(shí)現(xiàn)各種設(shè)計(jì)上,并認(rèn)為,只要擁有適當(dāng)工具,任何軟件設(shè)計(jì)師都能編寫(xiě)正確算法的代碼,并生成實(shí)用硬件。Summit Design 公司認(rèn)為,設(shè)計(jì)師僅僅使用 C 和 SystemC 就能完成一個(gè)完整的系統(tǒng)設(shè)計(jì)。Summit 公司的 CEO 兼總裁Emil Girczyc解釋說(shuō):“算法設(shè)計(jì)只是 SOC(單片系統(tǒng))設(shè)計(jì)小組所面臨的設(shè)計(jì)問(wèn)題的一部分。使用 Matlab 之后,設(shè)計(jì)小組必須確定算法的最佳實(shí)現(xiàn)方法。采用程序建模語(yǔ)言,而不是Matlab能對(duì)性能、功率、體系結(jié)構(gòu)進(jìn)行最佳的折衷?!绷硗猓J(rèn)為,設(shè)計(jì)小組還必須設(shè)計(jì)各種應(yīng)用系統(tǒng)中的控制器占主導(dǎo)地位的部分,并集成 IP(知識(shí)產(chǎn)權(quán))模型。他說(shuō):“這是 C 和 SystemC 發(fā)揮重要作用的地方,也是它們作為首選語(yǔ)言將代替 Verilog 和 VHDL 的地方。”
大約在15 個(gè)月以前,CoWare 公司獲得了新動(dòng)力,當(dāng)時(shí) Cadence 公司投資于這家公司,并把 SPW 產(chǎn)品的相關(guān)權(quán)利給予了它,這就為通信系統(tǒng)的系統(tǒng)級(jí)開(kāi)發(fā)提供了環(huán)境。據(jù)SPW 營(yíng)銷(xiāo)總監(jiān)Johannes Stahl 說(shuō):“CoWare 公司用Simulink 的一種直接替代品來(lái)滿(mǎn)足主流市場(chǎng)的需要,供眾多 MatLab 用戶(hù)進(jìn)行基于 C 語(yǔ)言的驗(yàn)證。”然而,評(píng)論家認(rèn)為,這種方法過(guò)分注重硅芯片。當(dāng)設(shè)計(jì)師必須使用一些制造工藝,而這些工藝采用最優(yōu)方法來(lái)產(chǎn)生尺寸小于可見(jiàn)光波長(zhǎng)的功能器件時(shí),在硅芯片上形成獨(dú)特的實(shí)用圖形就變得很昂貴,而且錯(cuò)誤概率明顯增加。有時(shí),修復(fù)這些錯(cuò)誤的成本最終會(huì)使設(shè)計(jì)小組不得不放棄整個(gè)項(xiàng)目。使用功能最強(qiáng)大的已知組件來(lái)實(shí)現(xiàn) IC,可以緩解這個(gè)問(wèn)題。因此,很多公司正在改用作為專(zhuān)用的采集IP內(nèi)核的平臺(tái)。采用這種方法,設(shè)計(jì)的專(zhuān)有部分,不論是硬件還是軟件,就能更好管理,從而不容易出錯(cuò)。
新穎的解決方案
據(jù)AccelChip 公司營(yíng)銷(xiāo)及國(guó)際銷(xiāo)售副總裁 Tom Feist 說(shuō),對(duì)更高生產(chǎn)效率的需求已產(chǎn)生一組新的 DSL(域?qū)S谜Z(yǔ)言),這些DSL有可能是一種較好的系統(tǒng)級(jí)設(shè)計(jì)方法。他說(shuō):“DSL 是以犧牲普遍性來(lái)獲得對(duì)某一特定問(wèn)題領(lǐng)域適用性的編程語(yǔ)言。體系結(jié)構(gòu)良好的DSL所提供的結(jié)構(gòu),能簡(jiǎn)明地代表大型設(shè)計(jì)對(duì)象,配有各種針對(duì)特定設(shè)計(jì)域的可視化工具,并提供與硬件實(shí)現(xiàn)工藝和軟件實(shí)現(xiàn)工藝的鏈接。”
在過(guò)去兩年里,在 EDA 界引起最濃厚興趣的 DSL 就是 The MathWorks 公司的 MatLab(見(jiàn)附文《Matlab 和 Simulink 的演變》)。但是,Matlab 不是嚴(yán)格意義上的 DSL,這是因?yàn)楣こ處熀涂茖W(xué)家們用它來(lái)解決很多應(yīng)用領(lǐng)域的問(wèn)題。在 EDA 界,設(shè)計(jì)師已使用 Matlab 來(lái)開(kāi)發(fā)適合于有線(xiàn)通信和無(wú)線(xiàn)通信兩個(gè)領(lǐng)域的各種算法。例如,Accelchip 等公司允許設(shè)計(jì)師用 Matlab 開(kāi)發(fā)并測(cè)試他們算法,并提供在硬件中實(shí)現(xiàn)這些算法的工具。
這些年來(lái),業(yè)界對(duì)如何制定出一份可執(zhí)行的規(guī)范爭(zhēng)論不休,并創(chuàng)造了 UML(統(tǒng)一建模語(yǔ)言)等語(yǔ)言來(lái)幫助解決這個(gè)問(wèn)題。MathWorks公司 和一些已經(jīng)在支持 Matlab的EDA公司描述了一種稱(chēng)為“基于模型的設(shè)計(jì)” 的方法。這種方法用一個(gè)系統(tǒng)模型取代書(shū)面規(guī)范,該系統(tǒng)模型由在不暗示特定實(shí)現(xiàn)方法的情況下對(duì)所需行為進(jìn)行描述的算法塊組成(圖 2)。利用 Matlab 和Simulink,設(shè)計(jì)小組就能?chē)L試各種體系結(jié)構(gòu),確保每個(gè)版本都能被一致地測(cè)試,保證 RTL 代碼是根據(jù)設(shè)計(jì)產(chǎn)生的,從而通過(guò)避免人工轉(zhuǎn)換步驟來(lái)保持一致性。這種方法是系統(tǒng)級(jí)設(shè)計(jì)的最佳選擇,這是因?yàn)樗乖O(shè)計(jì)小組能夠驗(yàn)證各種現(xiàn)實(shí)要求,從而更有可能按時(shí)、按預(yù)算實(shí)現(xiàn)設(shè)計(jì)。
Synfora公司的工程副總裁兼首席技術(shù)官Vinod Kathail指出:“在提供一種熟悉而又使用方便的環(huán)境來(lái)迅速創(chuàng)造和探索各種候選算法方面,Matlab具有一些明顯的好處?!?BR> 除了Mentor公司以外,Synopsys和Cadence兩家公司 都為客戶(hù)提供一種在硬件開(kāi)發(fā)期間使用Matlab的方法。實(shí)際上,Synopsys公司自從2000年以來(lái)就允許其System Studio產(chǎn)品的客戶(hù)使用Matlab。但只是在最近,在 Matlab日漸受歡迎的情況下,該公司才提高了它對(duì)該語(yǔ)言的公開(kāi)承諾。Altera公司和Xilinx公司 都為客戶(hù)提供一些在FPGA開(kāi)發(fā)期間能使用Matlab和Simulink的方法,并在客戶(hù)想購(gòu)買(mǎi)這兩種工具時(shí)將他們推薦給MathWorks公司。
評(píng)論