新聞中心

EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 設(shè)計(jì)的復(fù)雜性呼喚系統(tǒng)級(jí)設(shè)計(jì)

設(shè)計(jì)的復(fù)雜性呼喚系統(tǒng)級(jí)設(shè)計(jì)

——
作者: 時(shí)間:2006-07-06 來源:EDNchina 收藏
以自然語(yǔ)言編寫的產(chǎn)品規(guī)范的含糊其辭,常常會(huì)帶來設(shè)計(jì)缺陷,而這種缺陷直到較晚階段才會(huì)被發(fā)現(xiàn),從而使解決方案變得更加昂貴。
  要點(diǎn)
  設(shè)計(jì)復(fù)雜性的不斷增加需要更好的系統(tǒng)設(shè)計(jì)工具。
  硬件設(shè)計(jì)師需要重新培訓(xùn),才能成為熟練的系統(tǒng)設(shè)計(jì)師。
  對(duì)于系統(tǒng)設(shè)計(jì)而言,設(shè)計(jì)用于開發(fā)和驗(yàn)證各種算法的語(yǔ)言是再好不過的了。
  工程師們甚至在晶體管發(fā)明之前就從事系統(tǒng)級(jí)設(shè)計(jì),但是,隨著設(shè)計(jì)復(fù)雜性的提高,人們更加重視系統(tǒng)級(jí)設(shè)計(jì)。產(chǎn)品規(guī)范一般由數(shù)百頁(yè)書面文件組成,這些文件通常含糊其辭,難以解釋。The MathWorks公司負(fù)責(zé)營(yíng)銷、信號(hào)處理和通信的總監(jiān)Ken Karnofsky說:“設(shè)計(jì)缺陷是在規(guī)范階段引入的,一般要到驗(yàn)證階段才會(huì)被發(fā)現(xiàn)。”由于開發(fā)者必須在安排得十分緊的進(jìn)度壓力下返工,因此這些缺陷會(huì)使開發(fā)成本比其必需的正常成本高得多(圖1)。


  在過去4年里,從事市場(chǎng)研究的Dataquest公司已開始發(fā)布關(guān)于EDA市場(chǎng)中該公司全球EDA首席分析師Gary Smith所稱的電子系統(tǒng)級(jí)分市場(chǎng)的報(bào)告。該市場(chǎng)的產(chǎn)品旨在使工程師能夠以比RTL(寄存器傳輸級(jí))更高的抽象級(jí)來描述電子產(chǎn)品設(shè)計(jì),而RTL是邏輯綜合被采用以來硬件設(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ì)問題變得更加勢(shì)在必行了。


  傳統(tǒng)方法
  大多數(shù)EDA公司處理復(fù)雜性問題的方式都是假設(shè) :只要可以利用熟悉的工具,那么設(shè)計(jì)工程師就會(huì)自然地成為系統(tǒng)設(shè)計(jì)師。因此,該行業(yè)正在目睹人們從事三項(xiàng)不同的重要工作,目的是通過提供能在更高的抽象級(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)部開始了一項(xiàng)擴(kuò)展 VHDL的工作。VHDL 基礎(chǔ)語(yǔ)言已經(jīng)提供了Verilog 的大多數(shù)附加行為結(jié)構(gòu),據(jù)該委員會(huì)說,這可簡(jiǎn)化向該語(yǔ)言新版本的過渡。然而,這項(xiàng)工作進(jìn)展緩慢,并有失去市場(chǎng)機(jī)會(huì)的風(fēng)險(xiǎn)。
  另一項(xiàng)基于 C語(yǔ)言(更準(zhǔn)確地說是 C++)的重要工作造就了 SystemC,而SystemC由 OSCI (Open SystemC Initiative) 財(cái)團(tuán)推廣,并已被許多公司所采用。這種方法的擁護(hù)者認(rèn)為,由于大多數(shù)工程師都在大學(xué)學(xué)過使用 C語(yǔ)言來完成課堂作業(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)品開發(fā)歷史的膚淺調(diào)查,都會(huì)對(duì)該假設(shè)提出質(zhì)疑。在電子行業(yè),設(shè)計(jì)工程師們不參與最初的產(chǎn)品規(guī)范,既不制訂功能要求,也不確定項(xiàng)目指導(dǎo)方針和市場(chǎng)定位因素。這些任務(wù)由營(yíng)銷、財(cái)務(wù)、系統(tǒng)工程專業(yè)人員來承擔(dān)。這些專業(yè)人員一般都不熟悉硬件描述語(yǔ)言。由于沒有別的資料可供使用,他們都利用以自然語(yǔ)言和各種圖片編寫的文件來描述系統(tǒng)。對(duì)于他們而言,使用 SystemVerilog 或 VHDL(這兩種帶有大量硬件實(shí)現(xiàn)語(yǔ)義)或 C++語(yǔ)言(帶有結(jié)構(gòu)化編程構(gòu)成),就像使用一種為系統(tǒng)級(jí)設(shè)計(jì)而編寫的新語(yǔ)言一樣困難。
Cadence公司、Mentor公司和Synopsys公司——三家主要的 EDA 公司——既支持 SystemC ,又支持 SystemVerilog,不過側(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ì)師都能編寫正確算法的代碼,并生成實(shí)用硬件。Summit Design 公司認(rèn)為,設(shè)計(jì)師僅僅使用 C 和 SystemC 就能完成一個(gè)完整的系統(tǒng)設(shè)計(jì)。Summit 公司的 CEO 兼總裁Emil Girczyc解釋說:“算法設(shè)計(jì)只是 SOC(單片系統(tǒng))設(shè)計(jì)小組所面臨的設(shè)計(jì)問題的一部分。使用 Matlab 之后,設(shè)計(jì)小組必須確定算法的最佳實(shí)現(xiàn)方法。采用程序建模語(yǔ)言,而不是Matlab能對(duì)性能、功率、體系結(jié)構(gòu)進(jìn)行最佳的折衷?!绷硗?,他認(rèn)為,設(shè)計(jì)小組還必須設(shè)計(jì)各種應(yīng)用系統(tǒng)中的控制器占主導(dǎo)地位的部分,并集成 IP(知識(shí)產(chǎn)權(quán))模型。他說:“這是 C 和 SystemC 發(fā)揮重要作用的地方,也是它們作為首選語(yǔ)言將代替 Verilog 和 VHDL 的地方?!?BR>



  大約在15 個(gè)月以前,CoWare 公司獲得了新動(dòng)力,當(dāng)時(shí) Cadence 公司投資于這家公司,并把 SPW 產(chǎn)品的相關(guān)權(quán)利給予了它,這就為通信系統(tǒng)的系統(tǒng)級(jí)開發(fā)提供了環(huán)境。據(jù)SPW 營(yíng)銷總監(jiān)Johannes Stahl 說:“CoWare 公司用Simulink 的一種直接替代品來滿足主流市場(chǎng)的需要,供眾多 MatLab 用戶進(jìn)行基于 C 語(yǔ)言的驗(yàn)證?!比欢?,評(píng)論家認(rèn)為,這種方法過分注重硅芯片。當(dāng)設(shè)計(jì)師必須使用一些制造工藝,而這些工藝采用最優(yōu)方法來產(chǎn)生尺寸小于可見光波長(zhǎng)的功能器件時(shí),在硅芯片上形成獨(dú)特的實(shí)用圖形就變得很昂貴,而且錯(cuò)誤概率明顯增加。有時(shí),修復(fù)這些錯(cuò)誤的成本最終會(huì)使設(shè)計(jì)小組不得不放棄整個(gè)項(xiàng)目。使用功能最強(qiáng)大的已知組件來實(shí)現(xiàn) IC,可以緩解這個(gè)問題。因此,很多公司正在改用作為專用的采集IP內(nèi)核的平臺(tái)。采用這種方法,設(shè)計(jì)的專有部分,不論是硬件還是軟件,就能更好管理,從而不容易出錯(cuò)。


  新穎的解決方案
  據(jù)AccelChip 公司營(yíng)銷及國(guó)際銷售副總裁 Tom Feist 說,對(duì)更高生產(chǎn)效率的需求已產(chǎn)生一組新的 DSL(域?qū)S谜Z(yǔ)言),這些DSL有可能是一種較好的系統(tǒng)級(jí)設(shè)計(jì)方法。他說:“DSL 是以犧牲普遍性來獲得對(duì)某一特定問題領(lǐng)域適用性的編程語(yǔ)言。體系結(jié)構(gòu)良好的DSL所提供的結(jié)構(gòu),能簡(jiǎn)明地代表大型設(shè)計(jì)對(duì)象,配有各種針對(duì)特定設(shè)計(jì)域的可視化工具,并提供與硬件實(shí)現(xiàn)工藝和軟件實(shí)現(xiàn)工藝的鏈接。”
  在過去兩年里,在 EDA 界引起最濃厚興趣的 DSL 就是 The MathWorks 公司的 MatLab(見附文《Matlab 和 Simulink 的演變》)。但是,Matlab 不是嚴(yán)格意義上的 DSL,這是因?yàn)楣こ處熀涂茖W(xué)家們用它來解決很多應(yīng)用領(lǐng)域的問題。在 EDA 界,設(shè)計(jì)師已使用 Matlab 來開發(fā)適合于有線通信和無線通信兩個(gè)領(lǐng)域的各種算法。例如,Accelchip 等公司允許設(shè)計(jì)師用 Matlab 開發(fā)并測(cè)試他們算法,并提供在硬件中實(shí)現(xiàn)這些算法的工具。
  這些年來,業(yè)界對(duì)如何制定出一份可執(zhí)行的規(guī)范爭(zhēng)論不休,并創(chuàng)造了 UML(統(tǒng)一建模語(yǔ)言)等語(yǔ)言來幫助解決這個(gè)問題。MathWorks公司 和一些已經(jīng)在支持 Matlab的EDA公司描述了一種稱為“基于模型的設(shè)計(jì)” 的方法。這種方法用一個(gè)系統(tǒng)模型取代書面規(guī)范,該系統(tǒng)模型由在不暗示特定實(shí)現(xiàn)方法的情況下對(duì)所需行為進(jìn)行描述的算法塊組成(圖 2)。利用 Matlab 和Simulink,設(shè)計(jì)小組就能嘗試各種體系結(jié)構(gòu),確保每個(gè)版本都能被一致地測(cè)試,保證 RTL 代碼是根據(jù)設(shè)計(jì)產(chǎn)生的,從而通過避免人工轉(zhuǎn)換步驟來保持一致性。這種方法是系統(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)境來迅速創(chuàng)造和探索各種候選算法方面,Matlab具有一些明顯的好處?!?BR>  除了Mentor公司以外,Synopsys和Cadence兩家公司 都為客戶提供一種在硬件開發(fā)期間使用Matlab的方法。實(shí)際上,Synopsys公司自從2000年以來就允許其System Studio產(chǎn)品的客戶使用Matlab。但只是在最近,在 Matlab日漸受歡迎的情況下,該公司才提高了它對(duì)該語(yǔ)言的公開承諾。Altera公司和Xilinx公司 都為客戶提供一些在FPGA開發(fā)期間能使用Matlab和Simulink的方法,并在客戶想購(gòu)買這兩種工具時(shí)將他們推薦給MathWorks公司。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉