新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何選擇正確的芯片驗(yàn)證方法

如何選擇正確的芯片驗(yàn)證方法

作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
眾所周知,功能驗(yàn)證在芯片的整個(gè)設(shè)計(jì)周期中占用的時(shí)間最多。盡管目前有許多技術(shù)可用于減少驗(yàn)證時(shí)間,但最終應(yīng)當(dāng)如何選擇?答案并不簡單明了,而且經(jīng)常令人迷惑并要付出高昂的代價(jià)。

一個(gè)項(xiàng)目中需要使用的工具和技術(shù)必須在設(shè)計(jì)周期的初期就確定下來,以便獲得新驗(yàn)證方法費(fèi)用預(yù)算的準(zhǔn)確信息。經(jīng)常有公司因?yàn)殄e(cuò)誤估計(jì)了運(yùn)轉(zhuǎn)這些新型工具和技術(shù)所需的設(shè)計(jì)和技術(shù)的復(fù)雜性而浪費(fèi)大量的資金和資源。

產(chǎn)品的抽象級越高,越容易設(shè)計(jì);同樣的,抽象級越高,越容易犯嚴(yán)重的錯(cuò)誤。一個(gè)架構(gòu)上的缺陷可能會導(dǎo)致整個(gè)芯片的損害,而在門級網(wǎng)表中的連線錯(cuò)誤可以通過重制解決。

例如,Verilog為設(shè)計(jì)者提供了一種相對容易的接口,以便他們在相當(dāng)抽象的層次上進(jìn)行設(shè)計(jì)。當(dāng)設(shè)計(jì)曾經(jīng)作為制約性的瓶頸時(shí),Verilog 為設(shè)計(jì)生產(chǎn)率帶來了指數(shù)增長,并且大大推動了復(fù)雜芯片的發(fā)展。但是如果設(shè)計(jì)者不了解在復(fù)雜的設(shè)計(jì)周期中語言上的細(xì)微差別,就很容易犯錯(cuò)。在驗(yàn)證成為瓶頸的今天,同樣的觀點(diǎn)也適用于許多驗(yàn)證技術(shù)和語言。

本文將對時(shí)下流行的驗(yàn)證技術(shù)(形式驗(yàn)證、隨機(jī)、定向、有約束的隨機(jī)、斷言、屬性檢驗(yàn))與語言(SystemC、C/C++、SystemVerilog、Open-VERA、E等)進(jìn)行全面評述,還將分析在傳統(tǒng)的數(shù)字ASIC設(shè)計(jì)流程中應(yīng)當(dāng)在何時(shí)采用何種驗(yàn)證技術(shù)和語言。

1 驗(yàn)證瓶頸

盡管事實(shí)表明如今設(shè)計(jì)生產(chǎn)率的增長速度仍然低于芯片復(fù)雜度的增長速度,然而現(xiàn)在需要面對的瓶頸已不再是設(shè)計(jì)時(shí)間,而是驗(yàn)證時(shí)間。最近的統(tǒng)計(jì)數(shù)據(jù)表明,對一個(gè)復(fù)雜邏輯芯片而言,整個(gè)產(chǎn)品周期中 60_70% 的時(shí)間都用于驗(yàn)證工作。如何使用新的工具和技術(shù)對設(shè)計(jì)中的復(fù)雜功能進(jìn)行驗(yàn)證已經(jīng)成為縮短總體的產(chǎn)品時(shí)間所需要面對的挑戰(zhàn)。

由于以下原因,可以說驗(yàn)證瓶頸在某種程度上是設(shè)計(jì)抽象級逐步提高造成的結(jié)果:

1) 在較高的抽象水平上進(jìn)行設(shè)計(jì),易于構(gòu)建高度復(fù)雜的產(chǎn)品功能。設(shè)計(jì)復(fù)雜度的提高造成驗(yàn)證工作的成倍增加;

2) 在設(shè)計(jì)、轉(zhuǎn)換以及映射到最終產(chǎn)品的過程中,應(yīng)用更高的抽象級進(jìn)行設(shè)計(jì)會帶來信息損失和解釋錯(cuò)誤的問題。例如,采用HDL級設(shè)計(jì)并將其轉(zhuǎn)換到門級的綜合過程,需要進(jìn)行驗(yàn)證以確保轉(zhuǎn)換的正確性以及使設(shè)計(jì)意圖完全得到體現(xiàn)。提高抽象級還帶來了代碼解釋問題,在仿真時(shí)要通過這些代碼對設(shè)計(jì)進(jìn)行描述,以確保所寫的代碼真實(shí)反映了功能規(guī)范。

其它影響驗(yàn)證問題的因素還包括:

1) 由于設(shè)計(jì)中硬件與軟件、模擬與數(shù)字等共存而造成的功能復(fù)雜度增加;

2) 對系統(tǒng)可靠性的要求增高,使得對驗(yàn)證工作的要求也增加,以確保在系統(tǒng)環(huán)境下,芯片功能可以順利執(zhí)行。

統(tǒng)計(jì)數(shù)據(jù)表明,驗(yàn)證問題現(xiàn)實(shí)存在,而且讓公司付出了高昂的成本:

1)由于設(shè)計(jì)錯(cuò)誤造成的芯片缺陷:在需要進(jìn)行重制的芯片中,有82%是由于邏輯與功能缺陷設(shè)計(jì)錯(cuò)誤。這意味著驗(yàn)證過程沒有覆蓋邊角情況,缺陷一直隱藏在設(shè)計(jì)過程中直到流片。

2)由于規(guī)范錯(cuò)誤造成的芯片缺陷:在需要進(jìn)行重制的芯片中,有47%是由于邏輯與功能規(guī)范不正確或不完整,有32%是由于規(guī)范發(fā)生了改變。

3)重用IP和外來IP的問題:所有失敗的芯片中,有14%是由于在重用或外來的IP中存在錯(cuò)誤。

4)重制的后果:重制費(fèi)會高達(dá)10萬美元,還會延誤產(chǎn)品的推出,由于使用這些有缺陷的芯片而導(dǎo)致的系統(tǒng)失敗也會增加成本。

為了提高驗(yàn)證生產(chǎn)率,EDA行業(yè)提出了一個(gè)與解決設(shè)計(jì)瓶頸類似的解決方案——抽象化的理念。諸如 Verilog 和VHDL等高層次的語言被用于驗(yàn)證芯片,這些語言包括各種指令如任務(wù)指令和線程指令(fork/join 語句),以及控制結(jié)構(gòu)(while語句)。這提供了更強(qiáng)的數(shù)據(jù)控制力,以便對所有邊角設(shè)計(jì)進(jìn)行充分驗(yàn)證。然而,這些指令不能被綜合,因此不會被用作實(shí)際設(shè)計(jì)代碼的一部分。

隨著復(fù)雜度與日俱增,能夠驗(yàn)證具有不同抽象級的復(fù)雜設(shè)計(jì)的新語言被創(chuàng)建出來,支持這些新的驗(yàn)證語言的技術(shù)和工具也隨之誕生。

所有這一切意味著芯片廠商必須對新的工具作出評估,必須針對這些新的工具和技術(shù)對工程師進(jìn)行培訓(xùn),在公司的研發(fā)費(fèi)用成本結(jié)構(gòu)中必須包括新的工具和資源,公司在總體上必須在短時(shí)間內(nèi)克服學(xué)習(xí)曲線問題,另外,還需要對這些工具進(jìn)行風(fēng)險(xiǎn)評估,以及考慮新工具與已有技術(shù)的集成和協(xié)同工作的能力。

2 驗(yàn)證與確認(rèn)(Validation)

除了驗(yàn)證問題之外,芯片公司還要面對確認(rèn)時(shí)間問題。Kropf將“確認(rèn)”定義為“通過檢查實(shí)現(xiàn)行為以獲得對規(guī)范的信心的過程”。在驗(yàn)證和確認(rèn)之間,有一種觀點(diǎn)認(rèn)為,“確認(rèn)能夠確保這是正確的設(shè)計(jì),而驗(yàn)證則是確保這個(gè)設(shè)計(jì)是正確的”;另外一種觀點(diǎn)認(rèn)為,“驗(yàn)證指硅片成為成品之前的測試(Verilog/VHDL 仿真等),確認(rèn)指硅片成為成品之后的測試(在實(shí)驗(yàn)室里測試電路板上的芯片)”。

無論是確認(rèn)還是驗(yàn)證,若要保證硅片滿足規(guī)范要求,要完成以下兩個(gè)步驟:1)通過文件或建模,芯片規(guī)范得到了正確的解釋;2)以上解釋得到了正確的理解與實(shí)現(xiàn)(一般是通過 HDL),綜合入硅片,并封裝成為芯片。

本文認(rèn)為第二步是驗(yàn)證,第一步是確認(rèn)。目前業(yè)界流行的設(shè)計(jì)流程如圖1所示,此流程可保證以上兩個(gè)步驟的要求得以滿足。根據(jù)待實(shí)現(xiàn)功能的復(fù)雜程度不同,可以跳過一些步驟或者增加一些步驟。例如,如果某一項(xiàng)設(shè)計(jì)是純粹面向硬件的,不涉及驅(qū)動或軟件,那么可以從抽象級3直接跳到抽象級1,鎖相環(huán)設(shè)計(jì)即為一例。

本文引用地址:http://m.butianyuan.cn/article/201612/324772.htm
當(dāng)設(shè)計(jì)按照抽象級逐步推進(jìn)時(shí),要注意必須一直保持等效性,以確保最低層的抽象級能滿足系統(tǒng)規(guī)范的要求。例如:

1)當(dāng) C 模型被置于一個(gè)系統(tǒng)環(huán)境并能夠滿足規(guī)范中所描述的所有系統(tǒng)要求時(shí),芯片規(guī)范(一般是一個(gè)文本文件)與其 C 模型之間就達(dá)到了等效。這在實(shí)質(zhì)上是功能等效。

2)通過比較 C 模型與HDL 實(shí)現(xiàn)的輸出,可以在規(guī)范的C 模型與其 HDL 實(shí)現(xiàn)之間建立等效關(guān)系。在沒有 C 模型的情況下,可使用“期望數(shù)據(jù)模型”。這在實(shí)質(zhì)上也是功能等效。

3)HDL實(shí)現(xiàn)與門級(綜合后的)之間通過應(yīng)用“邏輯等效性檢驗(yàn)”可以建立等效關(guān)系。這時(shí),由于設(shè)計(jì)采取的形式是純粹的邏輯門,而且功能能夠被表示為邏輯表達(dá)式,因此,這在實(shí)質(zhì)上是邏輯等效。

上一頁 1 2 3 下一頁

關(guān)鍵詞: SystemC視角芯片驗(yàn)

評論


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

關(guān)閉