<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 在設計過(guò)程早期發(fā)現并解決問(wèn)題

在設計過(guò)程早期發(fā)現并解決問(wèn)題

——
作者:Gabe Moretti 時(shí)間:2005-09-21 來(lái)源:EDN電子設計技術(shù) 收藏

在設計過(guò)程早期發(fā)現并解決問(wèn)題

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



關(guān)鍵詞: Synopsys 公司

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>