應對百萬(wàn)門(mén)級系統級芯片驗證挑戰的可擴展解決方案
功能驗證是電子設計人員目前面臨的主要挑戰,無(wú)論是設計團隊還是驗證團隊,都將超過(guò)50%的時(shí)間用在糾錯上,因此這一領(lǐng)域的技術(shù)進(jìn)展將對縮短產(chǎn)品上市時(shí)間產(chǎn)生重大影響。本文探討基于斷言的技術(shù)和改進(jìn)的糾錯方法,以及為什么它們能夠以及如何應對設計團隊面臨的重大挑戰,其目的是提高設計生產(chǎn)力、改進(jìn)設計質(zhì)量、加快產(chǎn)品上市時(shí)間以及增加投資回報(ROI)。
本文引用地址:http://dyxdggzs.com/article/193865.htm目前的設計和驗證方法面臨的問(wèn)題是驗證工作必須屈從于設計。出于幾項相關(guān)原因,現狀必須加以改變,特別是我們正在面對一個(gè)巨 大和復雜的電子系統。功能性錯誤是造成設計重復修改的首要原因。用于查找這些錯誤的功能驗證流程是設計流中目前面臨的最大瓶頸。一般而言,驗證工作在所有 設計活動(dòng)中一般至少占有50%的份額。然而,驗證技術(shù)的發(fā)展步伐已經(jīng)遠遠落后于設計和制造能力,驗證鴻溝在進(jìn)一步擴大(圖1)。這一驗證鴻溝是限制設計人 員充分發(fā)揮其生產(chǎn)力和設計能力的因素。為了彌合這一驗證鴻溝,驗證必須成為整體設計方法的一個(gè)內在組成部分。
整個(gè)設計和驗證流必須實(shí)現結構化,其基礎不僅是如何有利于設計工程師,而且還要考慮如何有利于驗證工程師,這對設計分工、模塊大小、設計規則以及其它許多我們目前想當然的事情都提出了新的要求。
在成功開(kāi)展系統驗證方面面臨的另一挑戰仍然是測試基準。隨著(zhù)設計規模的擴大,驗證復雜性正以指數級速度提高。盡管仿真能力總 是伴隨設計規模不斷提高的,但測試基準的復雜性則不然。其中部分原因是設計規模對設計的可觀(guān)察性和可控制性所產(chǎn)生的戲劇性效果,它增加了需要運行測試的次 數,而且這些測試的持續時(shí)間可能延長(cháng),如果哪個(gè)地方出了差錯,那么查找和發(fā)現原因的難度就會(huì )大大增加。
為了解決驗證鴻溝和測試基準問(wèn)題,我們需要采用可擴展驗證解決方案,一方面它基于斷言的技術(shù),另一方面,它覆蓋了驗證中的 多種抽象層次以及整個(gè)流程各個(gè)階段的驗證工具,功能驗證策略必須在每個(gè)設計層次以及開(kāi)發(fā)流程的每個(gè)階段將驗證目標對準整個(gè)系統DD其中包括數字邏輯、嵌入 式軟件以及混合信號內容。
功能驗證危機
功能驗證的重要性日益提高,其根本原因就是設計規模和復雜性的不斷增長(cháng),其中包括設計中的軟件和模擬電路比例日益提高。規模 的擴大指的是數量巨大的晶體管以及系統級芯片上的門(mén)數?!秶H半導體技術(shù)線(xiàn)路圖》預測,系統級芯片到2006年將包含10億個(gè)晶體管。一片系統級芯片可能 包含數千萬(wàn)門(mén),那么出錯的可能性以及驗證任務(wù)的復雜程度相應也會(huì )增加。
復雜性提高意味著(zhù)更多性能多樣性,在單個(gè)芯片上實(shí)現更多的性能。元器件的多樣性包括高性能RISC CPU、數千兆位高速I(mǎi)/O、塊RAM、系統時(shí)鐘管理、模擬混合信號、嵌入式軟件、專(zhuān)用數字信號處理器(DSP)等。因此,這些元器件之間的接口對確保整 體功能和性能的重要性就變得日趨重要。
片上軟件和模擬器件的不斷增加不僅使系統復雜性日益加劇,而且也向傳統操作方式發(fā)出了挑戰。數字工程師必須遭遇并不熟悉的 模擬事項。許多硬件設計都需要通過(guò)固件和低層次軟件來(lái)驗證RTL功能性。這要求固件設計人員在硬件設計中發(fā)揮重要作用,并對硬件和軟件之間的相互影響作出詳細解釋。
我們對Collett國際研究公司2001-2003年間的研究數據進(jìn)行了考察,結果顯示:2001年在所有故障和失敗 中,47%的故障與邏輯或功能錯誤相關(guān)。然而,在前10位故障原因中,只有一項屬于接口問(wèn)題:混合信號接口,在整個(gè)芯片故障中只占4%。反觀(guān)2003年數 據,邏輯和功能故障的比例已經(jīng)攀升到67%,并且出現了另外三種故障范疇。模擬故障在芯片故障中占35%的份額,排名第二?;旌闲盘柦涌诠收纤急壤齽t從 4%升至21%,硬件/軟件接口故障比例則占13%。
除了復雜性問(wèn)題,我們必須解決原有系統和知識產(chǎn)權的重用問(wèn)題,因為超過(guò)50%的設計和測試平臺都在重復使用,因此,任何有 意義的解決方案都必須支持所有主要語(yǔ)言DD包括Verilog、VHDL、C++以及SystemCDD這樣它才能在所有抽象層次上工作。開(kāi)放標準確保舊 有設計和測試平臺得到重復使用,可以根據其絕對屬性選擇驗證工具,而并不是因為它們適合某家供應商的工具環(huán)境。此外,由于可觀(guān)察和可控制難度伴隨設計復雜 性提高,糾錯方法必須能夠克服測試基準的復雜性。例如,設計規模擴大一倍,可觀(guān)察性將減半,可控制性也將減半,那么驗證難度大約提高4倍。
如上所述,為了應對日益龐大的設計規模、復雜性和性能問(wèn)題,驗證方法必須在不同工具和設計層級之間實(shí)現可擴展。它必須在不同驗證域之間實(shí)現擴展,能夠在模擬、協(xié)同驗證、仿真以及模數仿真之間實(shí)現通信。它不必局限于動(dòng)態(tài)空間,但必須在靜態(tài)空間中實(shí)現自動(dòng)移動(dòng)。
例如,如果大型設計需要在門(mén)層次上開(kāi)展大量修改工作,那么等效性檢查就是一項必須的要求。最后,只有采用更好的測試基準方法,才能夠創(chuàng )建更為有效的、更為充分的測試。
各工具之間的可擴展性
必備的解決方案應包含一套工具,它們能夠協(xié)同工作形成一個(gè)從HDL模擬到電路內仿真的完整路徑。這意味著(zhù)我們需要更好的模擬 器和仿真器,才能在所有集成層次上加速驗證流程。工具之間的可擴展性也是必需的,因為不同驗證類(lèi)型在不同的性能范圍提供不同的解決方案(圖2)。每套解決 方案都會(huì )在許多不同屬性之間交替使用,比如反復時(shí)間、性能、能力、糾錯可見(jiàn)性以及成本。
甚至連HDL執行引擎也需要一整套解決方案。有些在塊層次上表現良好,有些則在芯片或系統層次上表現更好。例如,設計人員需 要使用高水平驗證工具對系統級DSP算法開(kāi)展驗證,HDL軟件仿真器顯然無(wú)法完成這項工作。反過(guò)來(lái)說(shuō),在線(xiàn)仿真在芯片設計中并非是驗證相對較小子模塊的合 適解決方案,而HDL軟件仿真器則可能迅速輕松地完成同一任務(wù)。認識到哪些工具是處理手邊驗證任務(wù)的最優(yōu)選擇,繼而獲得這些工具,將有助于設計人員實(shí)現最 佳生產(chǎn)力。以下舉例介紹在設計的數字驗證過(guò)程中可以使用的各種技術(shù)。軟件和模擬混合信號驗證也存在類(lèi)似連續體。
評論