a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 在設計過程早期發現并解決問題

在設計過程早期發現并解決問題

——
作者:Gabe Moretti 時間:2005-09-21 來源:EDN電子設計技術 收藏

在設計過程早期發現并解決問題

在電路和系統設計中,需要昂貴的驗證周期這一點證明電子設計師和 EDA 供應商也都是不免要犯錯的,所以最好使用能避免大多數錯誤的工具和方法。
  要 點
  ●  制造能力與工程生產率之間的差距繼續在加大。
  ●  現在不存在標準的驗證方法。
  ●  形式證明可減小設計師對功能驗證的依賴性。
  ●  由于深亞微米加工存在許多電子物理學問題,電路驗證的重要性正在增加。
  設計驗證需要每個設計小組花費大量的時間和資源。設計驗證費用與設計的規模和設計所涉及學科的多樣性成正比。要求軟硬件協同設計或對于使用數字和模擬兩種技術的設計,驗證起來最為復雜。工藝技術的發展使工程師可以在外形尺寸遞減的情況下使用更多的門電路。如今,一項普通的設計就要使用幾百萬個門,許多設計則使用幾千萬個門;最先進的工藝不久將在一塊集成電路上制作 1 億個門。
  驗證技術的發展落后于半導體制造能力,這是產生設計差距的重大因素。但這種困難并非剛剛出現。在將產品交付生產,并提供一套足夠而又高效的測試程序之前驗證一項設計的正確無誤,會遇到種種問題,這些問題至少已經存在35 年了。制造能力與設計驗證之間的差距逐步在擴大,因而,驗證費用也隨著設計復雜度的提高而逐步上升。設計驗證的目的是保證設計正確無誤,但按照設計所處的不同開發階段,這一目的也具有不同的意義。正確無誤就是指符合規范、設計規則、工業標準以及企業設計慣例。正確無誤也意味著兩種實現方法在不同抽象等級如 RTL(寄存器傳送級)和門級上的等效性。
  設計小組還必須保證軟硬件接口協議的正確設計與實現。盡管上述所列問題給人印象深刻,但只是部分地描述了你必須測試與驗證的可能的設計與實現問題。在 2003 年 9 月 8 日舉行的 用戶大會上, 主席兼首席執行官 Aart de Geus 在主題演說中說,在所有新的 IC 和 ASIC 中,有 61% 需要至少一次反復。在這些器件中,由于功能邏輯錯誤引發的問題而出差錯的占43%;只有 3% 的故障原因用現在的驗證技術無法確認。但是,工程師們沒有時間與資源去發現并改正所有的設計問題。設計驗證對產品開發成本、開發周期以及開發難度的影響是很大的。
  殘缺的風景
  顯然,避免問題的發生比解決問題更有效,但很少有設計團隊贊同這種觀點。例如,VHDL 比 Verilog 更加健全而又定義更嚴格。使用 VHDL 的設計師可以自動地避免某些類型的錯誤,而 Verilog 的用戶則必須通過驗證才能發現這些錯誤,但是,大多數工程師卻選擇 Verilog,因為它更易于學習,仿真速度也快于 VHDL。誠然,較為簡單的語言不支持設計師開發復雜的設計時所需要的更嚴格方法。這一局限性就是開發 SystemVerilog 和 Verilog 2005 軟件的主要原因。
  驗證工程師不能依賴于一種廣為接受的行業標準驗證方法。驗證工具的范圍很寬,從軟件開發語言,如C語言,到硬件描述語言,如VHDL語言,再到專用測試語言,如 的 OpenVera 和 Verisity 公司的“e”語言,不一而足。這一領域處于不斷變化之中,工具的不穩定性直接影響著可反復使用的模塊和操作規程的開發。這一問題在做體系結構級的抽取時最為嚴重,而進行這一抽取級時,避免錯誤或者至少發現并消除錯誤,對提高利潤率大有裨益。
  NEC 電子公司技術基礎開發部總經理Kazu Yamada認為,驗證包括系統驗證、邏輯驗證和時序驗證三個主要階段。他堅持認為,在大多數單片系統設計驗證中,最關鍵的領域是系統驗證。由于 NEC 沒能找到一個滿意的商業化方案來解決這一問題,因此它開發了自己的高級設計環境,以便為其設計師和客戶改進系統驗證。雖然有些方法,如 NEC 公司的方法,可以縮短設計時間,降低開發成本,但它們遠不是最佳的。他們使用的工具仍然存在問題。許多年來,EDA 供應商的銷售部門業已指出,一個客戶在開發期內較早地發現并解決問題就可節省一大筆錢。遺憾的是,這些闡述并沒有說明避免錯誤的種種好處。實現這一策略的一種方法就是在最高級抽取時進行設計驗證。這一方法很有效,因為隨著設計的不斷進展,將引入越來越多的細節,從而使驗證問題更大,因此也更難發現和更難解決。
  在過去兩年里,驗證工具供應商之所以把注意力轉向工作在規范方面的設計師銷售專業人員,有兩個原因:一是產品設計和開發的初始階段是一個未開發的市場,二是進入這一領域的技術障礙與財務障礙比開發和推出一個后端工具(如一個集成電路布局產品)的要低。為了減小使用上的障礙,許多 EDA 供應商正在將軟件編程語言C或它的派生語言如C++或 SystemC,用作電子產品規范與體系結構設計的描述語言。這些供應商作出這一決定是基于以下事實:C語言和與之相關的 Unix 操作系統都可以廉價買到,維護費用低,大多數大學都使用它進行編程教學。他們指望大多數電子工程師都在一定程度上熟悉 C 語言。
  遺憾的是,C語言不具備精確描述一個電子產品的結構和健全性,C 語言的派生語言C++ 更適用于軟件開發,但很難掌握和使用。如果輕率地使用C++的功能強大結構,可能會導致開發人員難以發現而且要花很高代價才能糾正的錯誤。SystemC 嘗試把某些硬件結構引入C++,如時鐘周期和并行性,但仍然無法抓住硬件設計的本質。因此,C++不能幫助設計師,例如,在某一設計部分硬件實現方法和軟件實現方法之間做出明確的抉擇。使用 SystemC 成功地按時完成設計驗證的工程師小組都由高水平的和有經驗的工程師組成。如何讓普通水平的工程師也能用這一方法還是一個未知數。迄今為止的實驗僅僅表明:不管使用什么工具,經驗都是無法替代的。
  現在已有更多適用的語言,如 Esterel 技術公司使用的 Esterel。EDAptive 計算公司正在開發基于 Rosetta 語言的工具,而 KeesDA 正在開發基于 B 方法的工具。Esterel、B 和 Rosetta 都提供定義和規范設計要求與制約因素的健全方法。使用這些工具的工程師發現,設計中出現錯誤較少,而且很容易獲得設計正確性的形式證明。據 Real Intent 公司總裁兼首席執行官 Prakash Narain說,“抽取與分割處理的范例尚未開發用于功能驗證。”他指出:“斷言和基于特性的規范就是實現抽取與分割處理的最實際的范例,”但是抽取的設計表述則更進一步。Narain 認為,芯片設計工作是一門精確的藝術,將來會出現什么樣的抽取和精確的方法尚不清楚。因此,業界仍在努力發現錯誤——而不是避免錯誤。



關鍵詞: Synopsys 公司

評論


相關推薦

技術專區

關閉