<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 設計應用 > 設計的復雜性呼喚系統(tǒng)級設計

          設計的復雜性呼喚系統(tǒng)級設計

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


            在過去4年里,從事市場研究的Dataquest公司已開始發(fā)布關于EDA市場中該公司全球EDA首席分析師Gary Smith所稱的電子系統(tǒng)級分市場的報告。該市場的產品旨在使工程師能夠以比RTL(寄存器傳輸級)更高的抽象級來描述電子產品設計,而RTL是邏輯綜合被采用以來硬件設計的傳統(tǒng)起點。雖然很多EDA公司已經為該市場推出了產品,但收入增長明顯不如預期,并且主要技術潮流一直未得到發(fā)展。設計復雜性的不斷提高和65 納米半導體制造工藝的采用,使解決系統(tǒng)設計問題變得更加勢在必行了。


            傳統(tǒng)方法
            大多數(shù)EDA公司處理復雜性問題的方式都是假設 :只要可以利用熟悉的工具,那么設計工程師就會自然地成為系統(tǒng)設計師。因此,該行業(yè)正在目睹人們從事三項不同的重要工作,目的是通過提供能在更高的抽象級描述概念的結構,把 RTL 級使用的基于語言的設計擴展到系統(tǒng)級。每項工作都使用一種現(xiàn)有語言作為起點——即 Verilog語言、VHDL語言、C語言。
            推廣全球標準的Accellera 機構,利用會員公司的貢獻擴展了 Verilog 語言,以便創(chuàng)建 SystemVerilog語言——它是 Verilog語言的一個合適的超集,增加了很多行為結構。由于 Verilog 是使用最廣泛的 RTL 設計語言,因此該機構斷定,對它進行擴展,可以把重新培訓工程師的需要減少到最低程度,并為行業(yè)節(jié)約相當多的費用。
            IEEE 出于同樣的目的,在計算機協(xié)會設計自動化標準委員會 (Computer Society DASC) 內部開始了一項擴展 VHDL的工作。VHDL 基礎語言已經提供了Verilog 的大多數(shù)附加行為結構,據(jù)該委員會說,這可簡化向該語言新版本的過渡。然而,這項工作進展緩慢,并有失去市場機會的風險。
            另一項基于 C語言(更準確地說是 C++)的重要工作造就了 SystemC,而SystemC由 OSCI (Open SystemC Initiative) 財團推廣,并已被許多公司所采用。這種方法的擁護者認為,由于大多數(shù)工程師都在大學學過使用 C語言來完成課堂作業(yè),所以基于 C語言 的工具就不需要大量的重新培訓。
            雖然這三種方法的技術細節(jié)各不相同(參考文獻 1),但每種方法都有相同的前提:在 RTL 級做設計的工程師也將能在系統(tǒng)級做設計。但是,不論是在EDA行業(yè) 還是在其它行業(yè),即使是對產品開發(fā)歷史的膚淺調查,都會對該假設提出質疑。在電子行業(yè),設計工程師們不參與最初的產品規(guī)范,既不制訂功能要求,也不確定項目指導方針和市場定位因素。這些任務由營銷、財務、系統(tǒng)工程專業(yè)人員來承擔。這些專業(yè)人員一般都不熟悉硬件描述語言。由于沒有別的資料可供使用,他們都利用以自然語言和各種圖片編寫的文件來描述系統(tǒng)。對于他們而言,使用 SystemVerilog 或 VHDL(這兩種帶有大量硬件實現(xiàn)語義)或 C++語言(帶有結構化編程構成),就像使用一種為系統(tǒng)級設計而編寫的新語言一樣困難。
          Cadence公司、Mentor公司和Synopsys公司——三家主要的 EDA 公司——既支持 SystemC ,又支持 SystemVerilog,不過側重點各不相同。Cadence 公司在 SystemC 推廣方面更積極,而 Synopsys 公司更支持 SystemVerilog。Mentor 公司采取中立主義,為這兩種語言提供同等支持。在各種會議和媒體上,支持 SystemC 的公司在捍衛(wèi)自己戰(zhàn)略方面更加直率。作為支持這種系統(tǒng)設計方法的最佳例子的小公司有 Celoxica公司、Summit Design公司、CoWare公司。
            Celoxica 公司把支持的重點放在用FPGA 器件實現(xiàn)各種設計上,并認為,只要擁有適當工具,任何軟件設計師都能編寫正確算法的代碼,并生成實用硬件。Summit Design 公司認為,設計師僅僅使用 C 和 SystemC 就能完成一個完整的系統(tǒng)設計。Summit 公司的 CEO 兼總裁Emil Girczyc解釋說:“算法設計只是 SOC(單片系統(tǒng))設計小組所面臨的設計問題的一部分。使用 Matlab 之后,設計小組必須確定算法的最佳實現(xiàn)方法。采用程序建模語言,而不是Matlab能對性能、功率、體系結構進行最佳的折衷。”另外,他認為,設計小組還必須設計各種應用系統(tǒng)中的控制器占主導地位的部分,并集成 IP(知識產權)模型。他說:“這是 C 和 SystemC 發(fā)揮重要作用的地方,也是它們作為首選語言將代替 Verilog 和 VHDL 的地方?!?BR>



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


            新穎的解決方案
            據(jù)AccelChip 公司營銷及國際銷售副總裁 Tom Feist 說,對更高生產效率的需求已產生一組新的 DSL(域專用語言),這些DSL有可能是一種較好的系統(tǒng)級設計方法。他說:“DSL 是以犧牲普遍性來獲得對某一特定問題領域適用性的編程語言。體系結構良好的DSL所提供的結構,能簡明地代表大型設計對象,配有各種針對特定設計域的可視化工具,并提供與硬件實現(xiàn)工藝和軟件實現(xiàn)工藝的鏈接?!?BR>  在過去兩年里,在 EDA 界引起最濃厚興趣的 DSL 就是 The MathWorks 公司的 MatLab(見附文《Matlab 和 Simulink 的演變》)。但是,Matlab 不是嚴格意義上的 DSL,這是因為工程師和科學家們用它來解決很多應用領域的問題。在 EDA 界,設計師已使用 Matlab 來開發(fā)適合于有線通信和無線通信兩個領域的各種算法。例如,Accelchip 等公司允許設計師用 Matlab 開發(fā)并測試他們算法,并提供在硬件中實現(xiàn)這些算法的工具。
            這些年來,業(yè)界對如何制定出一份可執(zhí)行的規(guī)范爭論不休,并創(chuàng)造了 UML(統(tǒng)一建模語言)等語言來幫助解決這個問題。MathWorks公司 和一些已經在支持 Matlab的EDA公司描述了一種稱為“基于模型的設計” 的方法。這種方法用一個系統(tǒng)模型取代書面規(guī)范,該系統(tǒng)模型由在不暗示特定實現(xiàn)方法的情況下對所需行為進行描述的算法塊組成(圖 2)。利用 Matlab 和Simulink,設計小組就能嘗試各種體系結構,確保每個版本都能被一致地測試,保證 RTL 代碼是根據(jù)設計產生的,從而通過避免人工轉換步驟來保持一致性。這種方法是系統(tǒng)級設計的最佳選擇,這是因為它使設計小組能夠驗證各種現(xiàn)實要求,從而更有可能按時、按預算實現(xiàn)設計。

          Synfora公司的工程副總裁兼首席技術官Vinod Kathail指出:“在提供一種熟悉而又使用方便的環(huán)境來迅速創(chuàng)造和探索各種候選算法方面,Matlab具有一些明顯的好處。”
            除了Mentor公司以外,Synopsys和Cadence兩家公司 都為客戶提供一種在硬件開發(fā)期間使用Matlab的方法。實際上,Synopsys公司自從2000年以來就允許其System Studio產品的客戶使用Matlab。但只是在最近,在 Matlab日漸受歡迎的情況下,該公司才提高了它對該語言的公開承諾。Altera公司和Xilinx公司 都為客戶提供一些在FPGA開發(fā)期間能使用Matlab和Simulink的方法,并在客戶想購買這兩種工具時將他們推薦給MathWorks公司。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();