色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SoC芯片設(shè)計(jì)驗(yàn)證詳解

穎脈Imgtec ? 2023-07-31 23:45 ? 次閱讀

來(lái)源:汽車(chē)電子與軟件

前言

芯片的功能安全曾是非常小眾的領(lǐng)域,只有少數(shù)汽車(chē)、工業(yè)、航空航天和其他類(lèi)似市場(chǎng)的芯片與系統(tǒng)開(kāi)發(fā)商關(guān)注。然而,隨著汽車(chē)行業(yè)過(guò)去幾年各類(lèi)應(yīng)用的興起,情況已經(jīng)發(fā)生巨大變化。同時(shí),除了汽車(chē)外,還有很多其他行業(yè)也能從電子器件的增加受益,當(dāng)然保障功能安全是大的前提。本文討論SOC芯片設(shè)計(jì)驗(yàn)證、驗(yàn)證計(jì)劃和策略以及驗(yàn)證方法。它定義了功能模擬、功能覆蓋、代碼覆蓋以及設(shè)計(jì)驗(yàn)證中使用的重要術(shù)語(yǔ)。本文還涉及FPGA驗(yàn)證及其在SOC驗(yàn)證中的作用。

01、驗(yàn)證的重要性

由于開(kāi)發(fā)和制造成本過(guò)高,一次成功是SoC設(shè)計(jì)的首要要求。幾十年來(lái),人們一直致力于提高SoC驗(yàn)證的有效性和效率。評(píng)估驗(yàn)證有效性的最有效指標(biāo)是SoC設(shè)計(jì)通過(guò)現(xiàn)場(chǎng)測(cè)試的次數(shù)。除此之外,SoC設(shè)計(jì)越來(lái)越復(fù)雜,需要有效的驗(yàn)證方法來(lái)改善這些統(tǒng)計(jì)數(shù)據(jù)。這種對(duì)ASIC/SoC設(shè)計(jì)的有效驗(yàn)證的需求在2000年出現(xiàn),開(kāi)始設(shè)計(jì)許多創(chuàng)新的方法來(lái)驗(yàn)證SoC設(shè)計(jì),但仍有更多的空間。

SoC驗(yàn)證是用于確認(rèn)SoC設(shè)計(jì)的功能正確性的過(guò)程。典型的SoC設(shè)計(jì)周期(從規(guī)格開(kāi)始到設(shè)計(jì)流片)從六個(gè)月到三年不等,具體取決于技術(shù)、系統(tǒng)的復(fù)雜性以及SoC設(shè)計(jì)構(gòu)建模塊的可用性。制造過(guò)程、封裝、ATE測(cè)試和獲取工程樣品進(jìn)行現(xiàn)場(chǎng)驗(yàn)證(芯片交付給客戶進(jìn)行產(chǎn)品試驗(yàn))通常需要6個(gè)月的時(shí)間。因此,所有的SOC只有在工程樣品在確定的產(chǎn)品用例場(chǎng)景中被驗(yàn)證之后才可用于生產(chǎn)。如果這是成功的,SoC設(shè)計(jì)被考慮用于批量生產(chǎn)。這是設(shè)計(jì)的一次成功。開(kāi)發(fā)周期中任何一個(gè)步驟的失敗都會(huì)成倍地影響設(shè)計(jì)時(shí)間,有時(shí)需要新的金屬流片和設(shè)計(jì)修正。使設(shè)計(jì)一次成功的另一個(gè)驅(qū)動(dòng)因素是納米技術(shù)的制造成本。采用40納米CMOS FinFET技術(shù)的36平方毫米芯片設(shè)計(jì)的典型制造成本約為80萬(wàn)至100萬(wàn)美元。SoC工程樣品開(kāi)發(fā)期間產(chǎn)生的高額非經(jīng)常性工程(NRE)和制造成本將在大量生產(chǎn)中攤銷(xiāo)。因此,如果NRE要求對(duì)工程樣品進(jìn)行多次流片,那么它可能會(huì)對(duì)業(yè)務(wù)產(chǎn)生很大影響,在商業(yè)上根本不可行。因此,在片上系統(tǒng)開(kāi)發(fā)中,一次成功是絕對(duì)必要的。

SoC設(shè)計(jì)驗(yàn)證的可行性取決于在預(yù)硅階段確定系統(tǒng)的一組“最常見(jiàn)的用例場(chǎng)景”。這是一個(gè)非常復(fù)雜和具有挑戰(zhàn)性的現(xiàn)象,因?yàn)榭赡苡袩o(wú)數(shù)的用例場(chǎng)景。例如,人們可以很容易地想象智能手機(jī)移動(dòng)SoC的無(wú)數(shù)用例場(chǎng)景,其主要功能是通話電話。但是智能手機(jī)被用于許多應(yīng)用,例如發(fā)送信息、購(gòu)物、跟蹤人體健康、銀行和信息娛樂(lè)。將會(huì)有大量的應(yīng)用場(chǎng)景來(lái)測(cè)試和驗(yàn)證移動(dòng)SoC對(duì)這些應(yīng)用場(chǎng)景的設(shè)想來(lái)識(shí)別和驗(yàn)證它們。在開(kāi)發(fā)周期中,隨著設(shè)計(jì)從一個(gè)階段進(jìn)入下一個(gè)階段,調(diào)試SoC問(wèn)題的成本會(huì)增加10倍。也就是說(shuō),設(shè)計(jì)階段的驗(yàn)證成本比在晶片階段驗(yàn)證相同功能的成本低10倍,比在芯片階段驗(yàn)證的成本低10倍。這比在客戶現(xiàn)場(chǎng)進(jìn)行驗(yàn)證要便宜十分之一。這是因?yàn)榕c開(kāi)發(fā)的高級(jí)階段相比,設(shè)計(jì)人員在設(shè)計(jì)階段獲得了更高的調(diào)試權(quán)限和工具支持。因此,在預(yù)芯片階段,一組接近實(shí)際應(yīng)用用例的關(guān)鍵場(chǎng)景將被識(shí)別和瞄準(zhǔn),以獲得SoC首次成功的良好信心。SoC設(shè)計(jì)是通過(guò)集成不同類(lèi)型的設(shè)計(jì)模塊或IP核(軟、硬核)來(lái)完成的,這進(jìn)一步挑戰(zhàn)了設(shè)計(jì)驗(yàn)證。SoC設(shè)計(jì)過(guò)程還包括從RTL到網(wǎng)表再到布局結(jié)構(gòu)的一系列設(shè)計(jì)轉(zhuǎn)換,然后轉(zhuǎn)換為掩模數(shù)據(jù)。當(dāng)設(shè)計(jì)經(jīng)歷這些轉(zhuǎn)換時(shí),需要驗(yàn)證設(shè)計(jì)意圖在所有層次上都得到了保留,直到完成為止。

總而言之,驗(yàn)證對(duì)SoC設(shè)計(jì)如此重要的原因如下:

過(guò)高的制造成本要求首次成功,因?yàn)槎啻沃貜?fù)可能使其在商業(yè)上不可行。

隨著開(kāi)發(fā)周期中設(shè)計(jì)的進(jìn)展,驗(yàn)證成本增加10倍。因此,早期驗(yàn)證將增強(qiáng)首次獲得正確SoC設(shè)計(jì)的信心。

  • 由于SoC設(shè)計(jì)涉及到使用EDA工具對(duì)數(shù)據(jù)庫(kù)進(jìn)行一系列轉(zhuǎn)換,因此有必要驗(yàn)證這些轉(zhuǎn)換是否正確實(shí)現(xiàn),這需要通過(guò)驗(yàn)證來(lái)完成。


02、驗(yàn)證計(jì)劃和策略

為了SoC設(shè)計(jì)的一次成功(當(dāng)它第一次被制造時(shí),SoC按預(yù)期工作),在設(shè)計(jì)階段采用許多驗(yàn)證方法是重要的。所使用的不同類(lèi)型的驗(yàn)證技術(shù)是基于仿真的驗(yàn)證、形式驗(yàn)證、時(shí)序驗(yàn)證、FPGA驗(yàn)證以及硬件仿真和驗(yàn)證。仿真驗(yàn)證是過(guò)去唯一采用的技術(shù)。但是隨著系統(tǒng)的日益復(fù)雜,有必要使用一切可能的方法來(lái)驗(yàn)證SoC設(shè)計(jì)。

很難定義完成設(shè)計(jì)驗(yàn)證的條件,因?yàn)閹缀醪豢赡苣MSoC設(shè)計(jì)的所有設(shè)計(jì)場(chǎng)景。考慮具有兩種狀態(tài)的單個(gè)觸發(fā)器的設(shè)計(jì)示例:測(cè)試觸發(fā)器所需的測(cè)試模式的數(shù)量是4,ARM Cortex M4內(nèi)核采用65納米技術(shù),具有65 K個(gè)門(mén),這些門(mén)可以有多個(gè)輸入輸出。為了簡(jiǎn)化討論,假設(shè)所有的門(mén)只有兩種狀態(tài),想象一下測(cè)試ARM cortex M4內(nèi)核所需的模式數(shù)量,將是65 × 1000 × 4 = 0.26萬(wàn)個(gè)圖案。僅僅模擬所有這些(不考慮從主要輸入-輸出訪問(wèn)它們的問(wèn)題,為它們中的每一個(gè)尋找測(cè)試模式,等等)在不同的設(shè)計(jì)階段實(shí)際上是不可能的。

在系統(tǒng)層面,識(shí)別所有場(chǎng)景也是非常具有挑戰(zhàn)性的。這可能是因?yàn)闊o(wú)法預(yù)測(cè)和可視化用例場(chǎng)景本身,或者可能是因?yàn)榄h(huán)境中需要更多的模型或模塊來(lái)實(shí)現(xiàn)它。它可以是完整的軟件堆棧,也可以是移植整個(gè)設(shè)計(jì)數(shù)據(jù)庫(kù)的硬件平臺(tái),或者是用于仿真的計(jì)算系統(tǒng)基礎(chǔ)設(shè)施。因此,需要將可實(shí)現(xiàn)的場(chǎng)景定義為驗(yàn)證測(cè)試環(huán)境和一組測(cè)試用例,作為預(yù)芯片驗(yàn)證的范圍。

這可以通過(guò)多種方式實(shí)現(xiàn):

自上而下的方法

自下而上的方法

平臺(tái)級(jí)驗(yàn)證

  • 系統(tǒng)級(jí)或交易級(jí)驗(yàn)證(TLV)

自上而下的方法在這種方法中,SoC從接口層級(jí)的最高層開(kāi)始驗(yàn)證,然后繼續(xù)到層級(jí)的下一個(gè)較低層,直到最小的葉級(jí)設(shè)計(jì)元素被驗(yàn)證。傳統(tǒng)上,當(dāng)SoC設(shè)計(jì)有一個(gè)或兩個(gè)層次時(shí),這種方法被用作驗(yàn)證計(jì)劃。

自底向上的方法

這是設(shè)計(jì)驗(yàn)證中最常用的方法。它從驗(yàn)證較小的設(shè)計(jì)塊開(kāi)始;驗(yàn)證小塊是簡(jiǎn)單而實(shí)用的。此外,在塊級(jí)模擬中,查找錯(cuò)誤并修復(fù)它們更容易。這是因?yàn)樵谳^小的設(shè)計(jì)中更容易來(lái)回跟蹤信號(hào),以便在發(fā)現(xiàn)問(wèn)題時(shí)進(jìn)行調(diào)試。當(dāng)多個(gè)模塊被驗(yàn)證時(shí),它們被集成以形成芯片的頂層模塊,這由單獨(dú)的頂層測(cè)試設(shè)置來(lái)驗(yàn)證。例如,由UART內(nèi)核、USB內(nèi)核和協(xié)議總線接口內(nèi)核組成的SoC中的內(nèi)核首先逐個(gè)內(nèi)核進(jìn)行驗(yàn)證,然后在芯片頂層進(jìn)行驗(yàn)證。平臺(tái)級(jí)驗(yàn)證如果設(shè)計(jì)是基于標(biāo)準(zhǔn)的,如USB設(shè)備內(nèi)核,最好在安裝了標(biāo)準(zhǔn)對(duì)等設(shè)備(如USB主機(jī)設(shè)備)的標(biāo)準(zhǔn)平臺(tái)上進(jìn)行驗(yàn)證。同樣,SPI從內(nèi)核可以在帶有SPI主器件的平臺(tái)上進(jìn)行驗(yàn)證。這也將確認(rèn)互操作性問(wèn)題。基于系統(tǒng)接口級(jí)驗(yàn)證如果SoC基于協(xié)議,則需要通過(guò)監(jiān)控對(duì)事務(wù)的響應(yīng),使用標(biāo)準(zhǔn)驗(yàn)證IP(知識(shí)產(chǎn)權(quán))內(nèi)核構(gòu)建驗(yàn)證設(shè)置。例如,在具有WLAN接入點(diǎn)的環(huán)境中,通過(guò)觀察兩者之間的事務(wù)來(lái)驗(yàn)證Wi-Fi設(shè)備核心。WLAN接入點(diǎn)核心是經(jīng)過(guò)預(yù)先驗(yàn)證和確認(rèn)的標(biāo)準(zhǔn)參考驗(yàn)證IP。這也證明了制造時(shí)內(nèi)核的互操作性。

03、驗(yàn)證計(jì)劃

驗(yàn)證計(jì)劃是描述SoC設(shè)計(jì)驗(yàn)證計(jì)劃和流片標(biāo)準(zhǔn)的文檔。它解釋了如何計(jì)劃驗(yàn)證SoC設(shè)計(jì)的每個(gè)功能。它列出了模塊級(jí)和層次結(jié)構(gòu)頂層的驗(yàn)證目標(biāo)。它確定了必要的工具,如模擬器、波形查看器和用于驗(yàn)證的腳本。它明確提到了成功完成驗(yàn)證的覆蓋標(biāo)準(zhǔn),作為設(shè)計(jì)流片的完成標(biāo)準(zhǔn)。

與SoC設(shè)計(jì)相關(guān)的不同驗(yàn)證覆蓋有:

  • 功能覆蓋
  • 代碼覆蓋
  • 有限狀態(tài)機(jī)(FSM)覆蓋

功能覆蓋通過(guò)編寫(xiě)測(cè)試用例并設(shè)置模擬要實(shí)現(xiàn)的正確設(shè)計(jì)響應(yīng)來(lái)量化要驗(yàn)證的功能數(shù)量。有一些工具可以通過(guò)測(cè)試用例以及功能(特性)列表來(lái)測(cè)量功能覆蓋率。由于識(shí)別功能并輸入到這些工具中是手動(dòng)完成的,所以為了獲得高覆蓋率,功能的數(shù)量可能會(huì)不足。

還有一個(gè)通常使用的參數(shù)叫做“代碼覆蓋率”,它決定了在RTL級(jí)別的設(shè)計(jì)數(shù)據(jù)庫(kù)上模擬的測(cè)試用例所覆蓋的RTL語(yǔ)句的數(shù)量。這有助于識(shí)別設(shè)計(jì)數(shù)據(jù)庫(kù)中的冗余代碼,并有助于代碼清理。

用于代碼覆蓋的工具也能夠給出測(cè)試用例所覆蓋的有限狀態(tài)機(jī)狀態(tài)。這是一個(gè)非常重要的措施,通過(guò)添加適當(dāng)?shù)臏y(cè)試用例來(lái)覆蓋所有的狀態(tài)轉(zhuǎn)換。設(shè)計(jì)驗(yàn)證范圍不僅用于評(píng)估一些公司的設(shè)計(jì)驗(yàn)證狀態(tài),還用于評(píng)估驗(yàn)證工程師的表現(xiàn)。

驗(yàn)證計(jì)劃文件根據(jù)設(shè)計(jì)范圍列出了設(shè)計(jì)驗(yàn)證完整性的標(biāo)準(zhǔn)。驗(yàn)證覆蓋率的剩余差距由其他驗(yàn)證技術(shù)填補(bǔ),如基于FPGA的驗(yàn)證、仿真技術(shù)以及在開(kāi)發(fā)板上測(cè)試SoC設(shè)計(jì)。例如,如果通過(guò)仿真實(shí)現(xiàn)的功能覆蓋率是98%,那么剩余的2%是通過(guò)將設(shè)計(jì)移植到FPGA上并在FPGA板上測(cè)試相關(guān)功能或任何其他適當(dāng)?shù)臏y(cè)試技術(shù)來(lái)實(shí)現(xiàn)的。這些方法可能需要板上和FPGA上的額外電路,以使其成為適合SoC設(shè)計(jì)功能驗(yàn)證的測(cè)試設(shè)置。它可能還需要在運(yùn)行的軟件或與之接口的系統(tǒng)。

驗(yàn)證計(jì)劃中包含的主要設(shè)計(jì)細(xì)節(jié)如下:

1. SoC設(shè)計(jì)首次成功的定義2. SoC的關(guān)鍵應(yīng)用場(chǎng)景。SoC測(cè)試對(duì)測(cè)試環(huán)境開(kāi)發(fā)的要求3. 功能驗(yàn)證環(huán)境和所需資源的開(kāi)發(fā)計(jì)劃4. 將在模塊級(jí)和設(shè)計(jì)層級(jí)的頂層驗(yàn)證的功能特性列表5. 區(qū)塊和頂層設(shè)計(jì)的主要驗(yàn)證策略6. 設(shè)計(jì)RTL級(jí)別的測(cè)試平臺(tái)模塊:

  • 總線功能模塊(BFM)和總線監(jiān)視器
  • 信號(hào)監(jiān)視器
  • 驗(yàn)證參考模型

7. FPGA級(jí)驗(yàn)證詳情:

SoC驗(yàn)證對(duì)FPGA板的要求

FPGA驗(yàn)證平臺(tái)需要附加模塊

將根據(jù)這一要求開(kāi)發(fā)所需的軟件模塊、軟件開(kāi)發(fā)和調(diào)試平臺(tái)

8. 所需的驗(yàn)證工具和流程9. 對(duì)塊級(jí)仿真環(huán)境的要求10. 回歸測(cè)試環(huán)境和回歸測(cè)試計(jì)劃11. 確定驗(yàn)證完成的明確標(biāo)準(zhǔn),如目標(biāo)覆蓋率、回歸測(cè)試向量的數(shù)量,以及門(mén)級(jí)模擬策略和期望

設(shè)計(jì)資源包括驗(yàn)證工程師及其技能、硬件開(kāi)發(fā)板、FPGA板、軟件要求、EDA工具環(huán)境、(工作站和服務(wù)器)模擬器(許可證數(shù)量)以及用于驗(yàn)證的設(shè)計(jì)基礎(chǔ)設(shè)施。驗(yàn)證VLSI SoC的策略因SoC的設(shè)計(jì)復(fù)雜性和使用場(chǎng)景而異。

理想情況下,其目標(biāo)是使用RTL級(jí)測(cè)試平臺(tái)或FPGA驗(yàn)證計(jì)劃,或使用開(kāi)發(fā)板設(shè)置,或任意或全部組合,來(lái)仿真/模擬用例場(chǎng)景。使用這些資源,驗(yàn)證SoC設(shè)計(jì),以獲得預(yù)測(cè)其成功的高度信心。驗(yàn)證策略包括子模塊級(jí)驗(yàn)證的設(shè)計(jì)劃分和FPGA板上的芯片頂層驗(yàn)證。

04、功能驗(yàn)證

功能驗(yàn)證的目標(biāo)是確認(rèn)SoC設(shè)計(jì)在功能場(chǎng)景及其應(yīng)用場(chǎng)景中的預(yù)期功能。一個(gè)用例場(chǎng)景可以映射到一個(gè)或多個(gè)功能測(cè)試場(chǎng)景。例如,為了驗(yàn)證模塊的加法功能,可能有三種測(cè)試情況:第一種是驗(yàn)證輸入操作數(shù),第二種是驗(yàn)證與輸入相對(duì)應(yīng)的輸出結(jié)果,第三種是檢查加法器的進(jìn)位操作。基本上,SoC設(shè)計(jì)包含不同功能的多個(gè)塊,這些塊彼此互連和/或共享總線,多個(gè)塊在該總線上交互,或者一個(gè)塊按照標(biāo)準(zhǔn)協(xié)議運(yùn)行。在這種情況下,SoC的功能驗(yàn)證包括模擬(a)塊到塊接口驗(yàn)證,(b)總線爭(zhēng)用驗(yàn)證,以及(c)協(xié)議和符合性驗(yàn)證。

05、驗(yàn)證方法

有三種類(lèi)型的設(shè)計(jì)驗(yàn)證。它們是黑盒、白盒和灰盒驗(yàn)證。通過(guò)采用這些方法的不同組合來(lái)驗(yàn)證SoC設(shè)計(jì)。

黑盒驗(yàn)證

這是一種驗(yàn)證方法,其中設(shè)計(jì)實(shí)現(xiàn)的內(nèi)部細(xì)節(jié)不會(huì)暴露給驗(yàn)證。通過(guò)僅訪問(wèn)暴露的接口信號(hào)而不訪問(wèn)內(nèi)部狀態(tài)或信號(hào)來(lái)完成驗(yàn)證,從而使其實(shí)現(xiàn)獨(dú)立。顯然,驗(yàn)證對(duì)于設(shè)計(jì)的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)或系統(tǒng)狀態(tài)是不可見(jiàn)的。這種方法最適合發(fā)現(xiàn)解釋級(jí)別的問(wèn)題,如字節(jié)序檢查、協(xié)議誤解和互操作性測(cè)試。

白盒驗(yàn)證

在這種驗(yàn)證方法中,測(cè)試平臺(tái)模塊可以訪問(wèn)設(shè)計(jì)的內(nèi)部狀態(tài)、信號(hào)和接口。在這種情況下,調(diào)試任何設(shè)計(jì)問(wèn)題都非常容易,因?yàn)闇y(cè)試平臺(tái)可以根據(jù)預(yù)期跟蹤信號(hào)驅(qū)動(dòng)器。這種方法最適合于檢查低層次的特定于實(shí)現(xiàn)的場(chǎng)景和設(shè)計(jì)角落,在那里他們可以針對(duì)具有潛在問(wèn)題的場(chǎng)景進(jìn)行設(shè)計(jì)并調(diào)試它們。這種情況的一個(gè)例子是FIFO指針?lè)D(zhuǎn)、計(jì)數(shù)器溢出等。在這種方法中,斷言最適合檢查內(nèi)部設(shè)計(jì)行為。這種方法完全是對(duì)黑盒驗(yàn)證方法的補(bǔ)充。

灰盒驗(yàn)證

這種方法介于黑盒和白盒驗(yàn)證技術(shù)之間。在這種方法中,測(cè)試環(huán)境在接口層驗(yàn)證系統(tǒng),在頂層驗(yàn)證IOs,并根據(jù)需要基本(如設(shè)計(jì)角)訪問(wèn)測(cè)試和調(diào)試的設(shè)計(jì)內(nèi)部。通常,第一級(jí)測(cè)試使用黑盒方法作為目標(biāo),并評(píng)估功能覆蓋率。為了提高覆蓋率,如果需要,通過(guò)白盒方法,測(cè)試場(chǎng)景被測(cè)試。

06、驗(yàn)證設(shè)計(jì)

隨著SoC設(shè)計(jì)方法向系統(tǒng)級(jí)或架構(gòu)級(jí)發(fā)展,在跨子系統(tǒng)的事務(wù)級(jí)驗(yàn)證系統(tǒng)功能至關(guān)重要。然而,SoC設(shè)計(jì)主要是集成預(yù)先設(shè)計(jì)或預(yù)先驗(yàn)證的IP核,這更像是內(nèi)部IP的黑盒驗(yàn)證。此外,復(fù)雜的SoC設(shè)計(jì)正趨向于驗(yàn)證友好,其中內(nèi)部狀態(tài)和關(guān)鍵信號(hào)被鎖存,并可供軟件通過(guò)主接口讀取,從而預(yù)測(cè)問(wèn)題的根本原因。這在“黑盒”或“灰盒”驗(yàn)證中很有用。功能驗(yàn)證在不同的環(huán)境中以不同的方式進(jìn)行。在RTL級(jí)別,開(kāi)發(fā)了測(cè)試平臺(tái)和一組測(cè)試用例,并使用模擬器進(jìn)行模擬,以查看SoC是否按預(yù)期運(yùn)行。通過(guò)觀察接口或模塊/塊級(jí)輸入和輸出的波形來(lái)檢查功能正確性。

在基于FPGA的硬件驗(yàn)證中,將RTL形式的待測(cè)設(shè)計(jì)移植到板上的FPGA,運(yùn)行有限的軟件,將實(shí)際激勵(lì)饋入SoC輸入,并在開(kāi)發(fā)環(huán)境中觀察輸出。

在開(kāi)發(fā)環(huán)境上,基于子模塊的開(kāi)發(fā)平臺(tái)設(shè)計(jì)開(kāi)發(fā)了與最終SoC接近的接口,并用一些更復(fù)雜的軟件進(jìn)行了驗(yàn)證。

RTL級(jí)別的測(cè)試環(huán)境或測(cè)試臺(tái)代表SoC最有可能使用的環(huán)境。所有的環(huán)境都被開(kāi)發(fā)來(lái)接受盡可能接近真實(shí)世界輸入的刺激。典型的RTL試驗(yàn)環(huán)境(也稱為試驗(yàn)臺(tái))是一個(gè)封閉的系統(tǒng),因?yàn)樗砹艘粋€(gè)完整的環(huán)境,包括通過(guò)行為總線功能模型(BFM)的輸入刺激和輸出控制。

外圍模塊

這些模塊是在應(yīng)用環(huán)境中完成SoC驗(yàn)證所需的支持模塊。它們是外圍功能的驗(yàn)證IP或IP,如外部存儲(chǔ)器、數(shù)據(jù)轉(zhuǎn)換器和實(shí)時(shí)傳感器模型。輸入激勵(lì)和公共功能模型(BFM)輸入激勵(lì)代表在實(shí)際應(yīng)用場(chǎng)景中被驗(yàn)證的SoC從外部世界饋入的輸入信號(hào)。它可以是系統(tǒng)設(shè)計(jì)信號(hào),如來(lái)自參考晶振的時(shí)鐘、復(fù)位信號(hào)、傳感器輸入或來(lái)自SoC外部模塊或驗(yàn)證IP的數(shù)據(jù)輸入。SoC所需的來(lái)自不同源的激勵(lì)的產(chǎn)生是自動(dòng)的(當(dāng)參考時(shí)鐘被饋送到PLL模塊時(shí),它自動(dòng)產(chǎn)生SoC所需頻率的系統(tǒng)時(shí)鐘,如所配置的)或半自動(dòng)的,具有手動(dòng)觸發(fā)或有條件的。它們通過(guò)接口饋入SoC設(shè)計(jì),通過(guò)總線功能模型(BFM)遵循設(shè)計(jì)的時(shí)序要求。

輸出BFM

該輸出BFM通過(guò)其輸出接口捕捉特定激勵(lì)輸入時(shí)SoC的響應(yīng)。將響應(yīng)進(jìn)行比較并寫(xiě)入文件,以便與預(yù)期輸出進(jìn)行比較,或者實(shí)時(shí)檢查預(yù)期。該模塊或者是具有文件比較功能的檢查器,或者是波形數(shù)據(jù)庫(kù)發(fā)生器,而SoC設(shè)計(jì)通過(guò)測(cè)試輸入條件受到特定場(chǎng)景的影響,設(shè)計(jì)人員在圖形查看器上查看這些輸入條件并判斷其正確性。

連續(xù)監(jiān)視器

這些是環(huán)境中的附加檢查點(diǎn),它們是SoC正常運(yùn)行的指示器。例如,在產(chǎn)生1-s時(shí)鐘的定時(shí)器SoC中,很容易連續(xù)監(jiān)控1-ms信號(hào),該信號(hào)預(yù)計(jì)會(huì)連續(xù)滴答以產(chǎn)生1-s時(shí)鐘。在測(cè)試環(huán)境中,測(cè)試塊是非常模塊化的,結(jié)果被自動(dòng)檢查,并作出通過(guò)/失敗的決定,因此它們是自動(dòng)化友好的。測(cè)試環(huán)境能夠分析功能、代碼和FSM覆蓋率的設(shè)計(jì)。


測(cè)試環(huán)境模塊的簡(jiǎn)要描述如下。SoC DUT

SoC DUT是待驗(yàn)證的測(cè)試中的SoC設(shè)計(jì)。


設(shè)計(jì)和驗(yàn)證斷言

測(cè)試中的設(shè)計(jì)和驗(yàn)證測(cè)試環(huán)境可以有斷言來(lái)提高驗(yàn)證的有效性。斷言是用于檢查設(shè)計(jì)中同步信號(hào)的時(shí)間關(guān)系以確保模塊正確運(yùn)行的語(yǔ)句。設(shè)計(jì)斷言,如果被支持,由測(cè)試工作臺(tái)檢查器模塊跟蹤,以查看它是否已經(jīng)被觸發(fā),并且被評(píng)估正確性。例如,考慮邏輯設(shè)計(jì)的一部分,其中功能是檢查接收的分組是否正確,并且接收的分組由packet_valid信號(hào)驗(yàn)證。顯而易見(jiàn),每當(dāng)產(chǎn)生packet_correct或packet_error信號(hào)時(shí),packet_valid信號(hào)應(yīng)被設(shè)置為高電平。在這種情況下,寫(xiě)一個(gè)檢查packet_error和packet_valid或packet_correct和packet valid信號(hào)同時(shí)出現(xiàn)的設(shè)計(jì)斷言是有意義的,如果觸發(fā)了該斷言,則可以驗(yàn)證設(shè)計(jì)意圖。在所示的例子中,設(shè)計(jì)斷言被寫(xiě)入以查看packet_valid和packet_correct或packet_valid和packet_error信號(hào)是否不同時(shí)出現(xiàn)。如果這個(gè)斷言被觸發(fā),那么這個(gè)設(shè)計(jì)就是有缺陷的。

可以在DUT事務(wù)的事務(wù)級(jí)別編寫(xiě)類(lèi)似的斷言,并對(duì)設(shè)計(jì)的正確性進(jìn)行跟蹤。


時(shí)鐘/復(fù)位模塊

時(shí)鐘復(fù)位模塊根據(jù)SoC設(shè)計(jì)的要求產(chǎn)生所需的時(shí)鐘和復(fù)位信號(hào)。


配置該模塊將DUT和測(cè)試臺(tái)設(shè)置為需要測(cè)試DUT的配置。


激勵(lì)發(fā)生器

該模塊在測(cè)試臺(tái)中產(chǎn)生輸入激勵(lì)。通常,該模塊根據(jù)SoC功能以所需的順序和次序產(chǎn)生信號(hào)。這可能是一個(gè)復(fù)雜的IP驗(yàn)證。


總線功能模塊(BFM)

總線功能模塊遵循接口規(guī)范向SoC DUT提供激勵(lì)。總線接口有多少,BFM就有多少。如果SoC設(shè)計(jì)支持UART、USB和PCI Express接口,則應(yīng)該有一個(gè)對(duì)應(yīng)于這些接口的BFMs來(lái)管理符合這些協(xié)議的事務(wù)。


郵筒

這些是系統(tǒng)Verilog測(cè)試平臺(tái)中的通信機(jī)制,允許在進(jìn)程之間交換消息。希望與另一個(gè)進(jìn)程對(duì)話的進(jìn)程將消息發(fā)送到mailbox,mailbox將消息臨時(shí)存儲(chǔ)在系統(tǒng)定義的內(nèi)存對(duì)象中,然后將消息傳遞給所需的進(jìn)程。創(chuàng)建的郵箱具有綁定或未綁定的隊(duì)列大小。當(dāng)綁定郵箱包含的郵件達(dá)到定義的最大數(shù)量時(shí),該郵箱就會(huì)變滿。試圖將郵件放入已滿郵箱的進(jìn)程應(yīng)被掛起,直到郵箱隊(duì)列中有足夠的可用空間。基本上,郵箱是一種同步不同進(jìn)程技術(shù)。該過(guò)程可以是checker,如本例所示。一旦郵箱有了一組預(yù)定義的消息,它們就可以啟動(dòng)一個(gè)檢查器來(lái)檢查內(nèi)容并判斷其正確性。


棋子

Checker檢查所有過(guò)程,如將DUT響應(yīng)與預(yù)期、斷言和監(jiān)視器進(jìn)行比較,以決定測(cè)試場(chǎng)景的通過(guò)/失敗標(biāo)準(zhǔn)。


測(cè)試程序接口(TPI)

這是用戶界面,它接受用戶輸入作為參數(shù),并編譯選項(xiàng)來(lái)觸發(fā)測(cè)試場(chǎng)景和執(zhí)行模擬。TPI支持許多帶有可選參數(shù)的命令,以在測(cè)試場(chǎng)景中逐個(gè)執(zhí)行模擬,并生成合并的結(jié)果。這被稱為回歸測(cè)試。

07、驗(yàn)證示例

在本節(jié)中,我們將介紹一個(gè)簡(jiǎn)單的十進(jìn)制計(jì)數(shù)器設(shè)計(jì)的仿真,以便更好地理解驗(yàn)證過(guò)程。

十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)功能:十進(jìn)制計(jì)數(shù)器在時(shí)鐘的每個(gè)有效邊沿計(jì)數(shù)數(shù)字0、1、2、3、4、5、6、7、8、9、0。設(shè)計(jì)要求每當(dāng)計(jì)數(shù)器計(jì)數(shù)到5時(shí)就產(chǎn)生一個(gè)輸出信號(hào)。

設(shè)計(jì)文件保存為decade-counter.v,測(cè)試臺(tái)文件保存為tb_dcounter.v(。v代表Verilog文件)。為了模擬設(shè)計(jì)文件,使用了模擬器。大多數(shù)使用的模擬器是基于循環(huán)的模擬器。基于周期的仿真器對(duì)信號(hào)進(jìn)行采樣,并在每個(gè)時(shí)鐘周期計(jì)算設(shè)計(jì)響應(yīng)。模擬器首先分析RTL代碼,并在模擬設(shè)計(jì)之前進(jìn)行闡述。

執(zhí)行模擬時(shí),觀察終端上顯示的錯(cuò)誤和警告日志消息。如果有任何錯(cuò)誤/警告,需要在設(shè)計(jì)文件中糾正它們。對(duì)于設(shè)計(jì)示例中的模塊,不應(yīng)該有任何警告或錯(cuò)誤,模擬會(huì)成功終止。如果您在當(dāng)前的工作目錄中觀察,會(huì)發(fā)現(xiàn)模擬運(yùn)行生成了許多輸出文件。它們是命令日志文件、名為decade_counter.vcd的波形轉(zhuǎn)儲(chǔ)文件。decade_counter.vcd文件可以用波形查看器工具打開(kāi)。當(dāng)在波形查看器工具中打開(kāi)該文件時(shí),可以觀察到輸入輸出信號(hào)和內(nèi)部網(wǎng)絡(luò)的邏輯狀態(tài)變化。有關(guān)運(yùn)行仿真和使用波形查看器工具的更多信息,可以參考相應(yīng)的用戶手冊(cè)。通過(guò)觀察設(shè)計(jì)信號(hào)clock,reset_n和out_5,count_out來(lái)驗(yàn)證設(shè)計(jì)行為。

驗(yàn)證流程可以擴(kuò)展到任何復(fù)雜程度的設(shè)計(jì)。本節(jié)中解釋的下一個(gè)設(shè)計(jì)示例演示了這一點(diǎn)。闡述了利用擾碼器設(shè)計(jì)作為驗(yàn)證IP的自同步解擾器在測(cè)試平臺(tái)上的驗(yàn)證。考慮多項(xiàng)式g(x) = 1 + x13 + x33的自同步擾頻器的設(shè)計(jì)。如果輸入數(shù)據(jù)是具有零DC偏移的0或1的長(zhǎng)序列,則在通信中使用自同步加擾器模塊來(lái)加擾輸入數(shù)據(jù)。在發(fā)送器使用相同的多項(xiàng)式對(duì)數(shù)據(jù)進(jìn)行加擾,并在接收器端使用相同的多項(xiàng)式對(duì)數(shù)據(jù)進(jìn)行解擾以恢復(fù)發(fā)送的原始數(shù)據(jù)。自同步解擾器中解擾器的功能屬性,因?yàn)樗恍枰沙跏蓟蛄砍跏蓟瘉?lái)實(shí)現(xiàn)同步。

加擾器-解擾器的同步被定義為加擾器和解擾器的LFSRs保持相同的模式,因此,當(dāng)數(shù)據(jù)被饋送到解擾器時(shí),它可以生成加擾器數(shù)據(jù)的輸入。

被測(cè)模塊是解擾器。為了測(cè)試解擾器是否與加擾器同步,需要將解擾器LFSR重置為任何初始值。隨機(jī)模式通過(guò)加擾器輸入,加擾后的數(shù)據(jù)作為輸入激勵(lì)輸入解擾器。將驗(yàn)證解擾器在某個(gè)時(shí)間點(diǎn)將能夠解碼輸入的數(shù)據(jù)。您可能會(huì)注意到,測(cè)試平臺(tái)沒(méi)有任何端口,因?yàn)檫@將是一個(gè)獨(dú)立的測(cè)試模塊環(huán)境。

試驗(yàn)臺(tái)由以下部分組成:

測(cè)試平臺(tái)的第一部分是激勵(lì)產(chǎn)生,包括時(shí)鐘、復(fù)位、使能和數(shù)據(jù)產(chǎn)生。

第二部分是加擾器模塊,用作標(biāo)準(zhǔn)驗(yàn)證IP。

第三部分是模塊實(shí)例化。

  1. 第四部分是輸出讀取器和波形轉(zhuǎn)儲(chǔ),用于調(diào)試和用戶驗(yàn)證。

一個(gè)典型的SoC測(cè)試平臺(tái)將具有多個(gè)時(shí)鐘(OCC)生成模塊和標(biāo)準(zhǔn)PLL、多個(gè)所需的VIP,以及控制狀態(tài)機(jī),這些狀態(tài)機(jī)將使這些模塊中的每一個(gè)能夠用于多種測(cè)試場(chǎng)景。輸出讀取器和波形轉(zhuǎn)儲(chǔ)部分可以是復(fù)雜的模塊,可以根據(jù)SoC驗(yàn)證要求自動(dòng)驗(yàn)證功能的正確性。

08、驗(yàn)證工具

有許多驗(yàn)證工具可用于SoC設(shè)計(jì)的功能驗(yàn)證。

它們是 : 1. 模擬器

2. 覆蓋工具

在上面列出的工具中,模擬器對(duì)于RTL功能驗(yàn)證是必不可少的。模擬器是一種工具,通過(guò)在測(cè)試平臺(tái)中使用測(cè)試向量來(lái)理解大多數(shù)預(yù)期用例場(chǎng)景中的設(shè)計(jì)行為。它是一個(gè)軟件,能夠在用戶提供刺激的情況下,在要求的持續(xù)時(shí)間內(nèi)研究SoC設(shè)計(jì)狀態(tài)及其輸出,稱為測(cè)試向量。有不同類(lèi)型的模擬器。它們是基于周期的模擬器、基于事件的模擬器和電路模擬器。要模擬的SoC設(shè)計(jì)稱為被測(cè)器件。模擬器使用測(cè)試平臺(tái)中的某些命令,可以在模擬期間監(jiān)控和寫(xiě)出內(nèi)部邏輯電平、設(shè)計(jì)模塊中的信號(hào)狀態(tài)和輸入輸出。然后,在與圖形調(diào)試環(huán)境交互的波形查看器工具中打開(kāi)該波形輸出文件。基于SoC設(shè)計(jì)的類(lèi)型,使用不同的仿真器進(jìn)行驗(yàn)證。基于周期和基于事件的模擬器是數(shù)字模擬器。大多數(shù)用于數(shù)字模擬的模擬器是基于循環(huán)的模擬器。基于周期的仿真器在每個(gè)周期評(píng)估設(shè)計(jì)的邏輯狀態(tài)。模擬器周期為皮秒或納秒量級(jí),以便為用戶虛擬仿真硬件的并發(fā)行為。上述模擬器都是基于循環(huán)的模擬器。它們被稱為周期精確仿真器,因?yàn)樗鼈冊(cè)跁r(shí)鐘信號(hào)的輸入邊沿對(duì)SoC設(shè)計(jì)進(jìn)行采樣。基于周期的模擬器比基于事件的模擬器快10-100倍,用于大多數(shù)SoC設(shè)計(jì)驗(yàn)證。使用基于周期的模擬器的設(shè)計(jì)驗(yàn)證需要STA分析,因?yàn)樵O(shè)計(jì)是以時(shí)鐘間隔驗(yàn)證的。

每當(dāng)電路中的任何網(wǎng)絡(luò)上發(fā)生邏輯變化時(shí),基于事件的仿真器評(píng)估設(shè)計(jì)。這些模擬器也稱為定時(shí)精確模擬器,適用于小電路級(jí)驗(yàn)證。它們提供了良好的調(diào)試環(huán)境,并且也不需要時(shí)序分析,因?yàn)樵谠O(shè)計(jì)中的所有節(jié)點(diǎn)上的所有事件中,設(shè)計(jì)都被功能性地驗(yàn)證。基于事件的模擬器需要運(yùn)行模擬的大型計(jì)算機(jī)器。這是因?yàn)楫?dāng)今SoC設(shè)計(jì)中的網(wǎng)絡(luò)數(shù)量激增,在仿真過(guò)程中會(huì)有大量的邏輯轉(zhuǎn)換。監(jiān)控網(wǎng)絡(luò)上的大量邏輯轉(zhuǎn)換并評(píng)估它們的所有組合實(shí)際上是不可能的。在這樣的設(shè)計(jì)中調(diào)試故障是非常困難的。

當(dāng)今的SoC設(shè)計(jì)包括模擬模塊,也需要對(duì)其進(jìn)行驗(yàn)證。使用模擬仿真器單獨(dú)驗(yàn)證模擬模塊。模擬仿真器使用數(shù)學(xué)模型來(lái)表示設(shè)計(jì)的模擬功能。它們通過(guò)檢測(cè)并產(chǎn)生對(duì)設(shè)計(jì)的適當(dāng)響應(yīng)來(lái)模擬模擬功能。很少有模擬和混合信號(hào)模擬器可用。

模擬器通常非常慢,并且不是自動(dòng)化的。它們要求設(shè)計(jì)師很好地理解設(shè)計(jì),并使用工具作為分析設(shè)計(jì)的輔助。因此,模擬模塊的詳細(xì)驗(yàn)證是單獨(dú)進(jìn)行的,然后進(jìn)行模擬-數(shù)字混合信號(hào)仿真,只是為了在實(shí)踐中驗(yàn)證集成。另一個(gè)用于驗(yàn)證模擬過(guò)程或模塊的重要工具是提取覆蓋率分析器。覆蓋矩陣提供了對(duì)設(shè)計(jì)數(shù)據(jù)庫(kù)驗(yàn)證的質(zhì)量或完整性的洞察。有三種類(lèi)型的覆蓋:功能覆蓋、代碼覆蓋和狀態(tài)機(jī)覆蓋。通過(guò)比較和分析在SoC設(shè)計(jì)數(shù)據(jù)庫(kù)上運(yùn)行的測(cè)試用例以及SoC設(shè)計(jì)的功能特征清單來(lái)獲得功能覆蓋。代碼覆蓋率是在SoC設(shè)計(jì)上運(yùn)行仿真以跟蹤設(shè)計(jì)中被激發(fā)的代碼行時(shí)提取的指標(biāo)。由于模擬運(yùn)行中的測(cè)試情況,狀態(tài)機(jī)覆蓋范圍給出了設(shè)計(jì)FSM中狀態(tài)轉(zhuǎn)換的信息。所有這些矩陣都有助于驗(yàn)證工程師最大化覆蓋度量,從而達(dá)到設(shè)計(jì)驗(yàn)證目標(biāo)。

除了HDL語(yǔ)言的基本語(yǔ)法和語(yǔ)義之外,Lint工具還根據(jù)為不同目標(biāo)設(shè)置的規(guī)則,在RTL級(jí)別檢查SoC設(shè)計(jì)。這是一個(gè)靜態(tài)的RTL代碼檢查器。它通過(guò)編譯設(shè)計(jì)并為仿真、綜合和DFT仿真對(duì)其進(jìn)行預(yù)處理來(lái)進(jìn)行檢查。運(yùn)行l(wèi)int的不同設(shè)計(jì)目標(biāo)是針對(duì)仿真、可綜合性和可測(cè)試性的RTL設(shè)計(jì)的基本編譯。工具為每個(gè)目標(biāo)定義了標(biāo)準(zhǔn)規(guī)則。這些規(guī)則集中的每一個(gè)都可以針對(duì)SoC特定的設(shè)計(jì)目標(biāo)進(jìn)行定制或增強(qiáng)。當(dāng)在設(shè)計(jì)文件上執(zhí)行時(shí),這些工具會(huì)寫(xiě)出日志文件,根據(jù)定義的規(guī)則對(duì)設(shè)計(jì)進(jìn)行詳細(xì)分析,并根據(jù)違規(guī)的嚴(yán)重程度對(duì)違規(guī)發(fā)出警告和錯(cuò)誤警報(bào)。nLint和HAL是設(shè)計(jì)中心使用的少數(shù)幾種已知驗(yàn)證工具中的兩種。

09、驗(yàn)證語(yǔ)言

與設(shè)計(jì)語(yǔ)言相比,用于建模測(cè)試平臺(tái)或測(cè)試用例的語(yǔ)言更加寬松和靈活。這種靈活性的主要原因是需要在測(cè)試用例中創(chuàng)建更多的隨機(jī)性,并且這不需要是可合成的。Verilog是最古老的HDL之一,也是驗(yàn)證語(yǔ)言。由于設(shè)計(jì)描述方法在體系結(jié)構(gòu)級(jí)別上升到更高的抽象級(jí)別,一些驗(yàn)證語(yǔ)言,如SystemVerilog、Vera和System C,正在成為更高抽象層的主要硬件驗(yàn)證語(yǔ)言(hvl)。這些語(yǔ)言支持類(lèi)、面向?qū)ο蟆㈩?lèi)擴(kuò)展和時(shí)態(tài)屬性,這有助于輕松定義系統(tǒng)級(jí)或事務(wù)級(jí)測(cè)試功能。在提到的語(yǔ)言中,SystemVerilog作為一種強(qiáng)大的斷言語(yǔ)言也越來(lái)越受歡迎,這是驗(yàn)證中的一個(gè)主要特性。但它也提供了一些構(gòu)造,旨在確保合成和模擬之間的結(jié)果一致。此外,還有支持這些語(yǔ)言結(jié)構(gòu)的模擬工具,可以解釋結(jié)果,并根據(jù)測(cè)試覆蓋率進(jìn)行分析。它們支持諸如直接編程接口(DPI)之類(lèi)的接口到諸如C++Java之類(lèi)的高級(jí)軟件語(yǔ)言,這使得能夠構(gòu)建圖形用戶界面(GUI ),該圖形用戶界面可以使得驗(yàn)證環(huán)境在更高的抽象級(jí)別上更通用和有效,直到層級(jí)的系統(tǒng)級(jí)別。這些的更多細(xì)節(jié)可以在參考文獻(xiàn)中提到的語(yǔ)言書(shū)籍中找到。模擬器工具現(xiàn)在足夠智能,可以忽略設(shè)計(jì)人員犯下的常見(jiàn)錯(cuò)誤,并可以通過(guò)通知用戶警告來(lái)自行糾正錯(cuò)誤。

10、自動(dòng)化腳本

為SoC創(chuàng)建用例場(chǎng)景是通過(guò)一組具有隨機(jī)刺激的復(fù)雜測(cè)試用例來(lái)實(shí)現(xiàn)的,因?yàn)閷?shí)時(shí)場(chǎng)景是隨機(jī)的。當(dāng)刺激是隨機(jī)的,對(duì)這種刺激的反應(yīng)變得難以預(yù)測(cè)。因此,測(cè)試通常在這種情況下通過(guò)預(yù)測(cè)最終結(jié)果或狀態(tài)或分析系統(tǒng)的統(tǒng)計(jì)數(shù)據(jù)和穩(wěn)定性來(lái)進(jìn)行,并且也在可預(yù)測(cè)的系統(tǒng)中間狀態(tài)進(jìn)行。這需要輸入隨機(jī)性和系統(tǒng)狀態(tài)的某種一致性,它們或多或少都在變化。為了映射出這種對(duì)應(yīng)關(guān)系,測(cè)試用例是自動(dòng)化的。自動(dòng)化意味著測(cè)試期望,比如數(shù)據(jù)完整性、狀態(tài),以及將控制移交給下一個(gè)隨機(jī)場(chǎng)景,被自動(dòng)控制和評(píng)估。這是通過(guò)腳本語(yǔ)言實(shí)現(xiàn)的。最常用的腳本語(yǔ)言有Perl、Tcl、PHP等。因此,腳本語(yǔ)言是為特殊的運(yùn)行時(shí)環(huán)境編寫(xiě)的編程語(yǔ)言,這些運(yùn)行時(shí)環(huán)境自動(dòng)執(zhí)行原本可以由用戶一個(gè)接一個(gè)執(zhí)行的任務(wù)。EDA工具也理解這些結(jié)構(gòu),因此可以集成到測(cè)試設(shè)置中。自動(dòng)化也用于分析大數(shù)據(jù)的完整性檢查、統(tǒng)計(jì)分析,并批量運(yùn)行測(cè)試用例以獲得期望的功能覆蓋。測(cè)試腳本是被解釋的,而不是編譯的。

11、設(shè)計(jì)驗(yàn)證

設(shè)計(jì)驗(yàn)證通過(guò)發(fā)現(xiàn)系統(tǒng)設(shè)計(jì)和架構(gòu)中的潛在錯(cuò)誤來(lái)保證設(shè)計(jì)質(zhì)量。只有盡可能詳盡地模擬系統(tǒng)的所有功能,同時(shí)仔細(xì)研究任何可能的錯(cuò)誤行為,才有可能做到這一點(diǎn)。這值得花費(fèi)最多的時(shí)間、注意力和完整的設(shè)計(jì)用例知識(shí)。在大多數(shù)情況下,如果設(shè)計(jì)很復(fù)雜,這可能會(huì)變得非常具有挑戰(zhàn)性。這要求設(shè)計(jì)是可驗(yàn)證的。設(shè)計(jì)師對(duì)功能的設(shè)計(jì)實(shí)現(xiàn)有完整的理解。如果設(shè)計(jì)者確定了設(shè)計(jì)的關(guān)鍵設(shè)計(jì)角和關(guān)鍵狀態(tài),則驗(yàn)證可以有針對(duì)性地監(jiān)控和檢查它們。有時(shí)在設(shè)計(jì)中,某些場(chǎng)景可能需要長(zhǎng)時(shí)間的模擬運(yùn)行來(lái)達(dá)到設(shè)計(jì)的極限,而驗(yàn)證工程師可能不知道這一點(diǎn)。一個(gè)簡(jiǎn)單的例子是32位計(jì)數(shù)器的溢出生成,它運(yùn)行在一秒鐘的時(shí)鐘上。這需要很長(zhǎng)時(shí)間來(lái)模擬,但在實(shí)際硬件中可能會(huì)很快發(fā)生。在這種情況下,如果設(shè)計(jì)人員提供預(yù)加載計(jì)數(shù)器的功能,32位計(jì)數(shù)器溢出是可行的。這樣的設(shè)計(jì)調(diào)整使得設(shè)計(jì)可以在更多的場(chǎng)景中得到驗(yàn)證。設(shè)計(jì)師必須確定可以驗(yàn)證的關(guān)鍵設(shè)計(jì)角。此外,系統(tǒng)的非功能特性,如可伸縮性、可擴(kuò)展性和靈活性,需要額外的設(shè)計(jì)支持來(lái)驗(yàn)證。這樣的例子是存儲(chǔ)器地址擴(kuò)展、以非默認(rèn)模式通過(guò)軟件寫(xiě)入寄存器或存儲(chǔ)器的訪問(wèn)、作為可能的錯(cuò)誤解釋問(wèn)題(例如小端或大端)的替代提供的額外配置等。

12、驗(yàn)證中的斷言

在設(shè)計(jì)中實(shí)現(xiàn)斷言需要有意識(shí)地決定以不同的方式來(lái)看待設(shè)計(jì)過(guò)程。這是一個(gè)附加的設(shè)計(jì)和驗(yàn)證聲明,用于監(jiān)控這部分設(shè)計(jì)的正確性。斷言肯定會(huì)減少調(diào)試時(shí)間和工作量。斷言本質(zhì)上充當(dāng)模擬期間的早期警告,可以查明可能直接導(dǎo)致測(cè)試失敗或者未被通過(guò)的測(cè)試檢測(cè)到的故障。模塊接口上的斷言可以快速識(shí)別可能由行為模型或設(shè)計(jì)的不當(dāng)使用(無(wú)效寄存器設(shè)置、無(wú)效操作模式等)引起的無(wú)效行為。).這種斷言失敗表明測(cè)試平臺(tái)可能存在問(wèn)題,這有助于驗(yàn)證工程師修復(fù)測(cè)試平臺(tái)中的問(wèn)題。它有助于解決設(shè)計(jì)中的問(wèn)題。設(shè)計(jì)斷言通過(guò)查看失敗所顯示的不正確的功能來(lái)幫助定位失敗的根本原因。例如,約束隨機(jī)模擬檢測(cè)FIFO操作的溢出和下溢處的設(shè)計(jì)角處的設(shè)計(jì)問(wèn)題,這些問(wèn)題通常不是定向測(cè)試的目標(biāo)。FIFO接口信號(hào)上的簡(jiǎn)單斷言檢測(cè)同時(shí)的讀和寫(xiě)操作、讀的數(shù)量超過(guò)寫(xiě)的數(shù)量等。將有助于在測(cè)試場(chǎng)景中找到實(shí)際失敗的根本原因,而無(wú)需冗長(zhǎng)的調(diào)試會(huì)話。斷言更大的優(yōu)勢(shì)在于,它通過(guò)保留設(shè)計(jì)和驗(yàn)證所有者之外的設(shè)計(jì)意圖,使設(shè)計(jì)和驗(yàn)證測(cè)試平臺(tái)可重用。

13、驗(yàn)證重用和驗(yàn)證IP

就像可重復(fù)使用的設(shè)計(jì)模塊一樣,驗(yàn)證模塊也可以在各代SoC設(shè)計(jì)中重復(fù)使用。由于多個(gè)接口協(xié)議模塊是SoC的一部分,如一些具有多個(gè)USB內(nèi)核、多個(gè)SPI內(nèi)核和多個(gè)UART內(nèi)核的SoC,相應(yīng)的測(cè)試模塊可以在測(cè)試臺(tái)中重用。測(cè)試平臺(tái)中的總線接口模塊(BFM)和接口內(nèi)核甚至可以用來(lái)驗(yàn)證具有相同功能的SOC的數(shù)量。這也將解決上市時(shí)間縮短和設(shè)計(jì)生產(chǎn)率差距的問(wèn)題。隨著SoC功能變得越來(lái)越復(fù)雜,許多集成內(nèi)核符合許多標(biāo)準(zhǔn)并需要具有互操作性,在過(guò)去幾十年中,這些模塊被開(kāi)發(fā)為參考模型,以確保符合標(biāo)準(zhǔn)規(guī)范。這些被稱為驗(yàn)證IP。這些都經(jīng)過(guò)預(yù)先驗(yàn)證或認(rèn)證,符合標(biāo)準(zhǔn)或協(xié)議規(guī)范。這些可以被許可,或者從知識(shí)產(chǎn)權(quán)開(kāi)發(fā)者那里購(gòu)買(mǎi)。這些VIP作為標(biāo)準(zhǔn)IP集成到測(cè)試環(huán)境中,SoC根據(jù)驗(yàn)證IP進(jìn)行測(cè)試,以證明合規(guī)性和互操作性。驗(yàn)證IP的重用是SoC驗(yàn)證中的常見(jiàn)做法

14、通用驗(yàn)證方法(UVM)

通用驗(yàn)證方法(UVM)是一種行業(yè)標(biāo)準(zhǔn)驗(yàn)證方法,用于定義、重用和改進(jìn)驗(yàn)證環(huán)境,并降低驗(yàn)證成本。它為驗(yàn)證環(huán)境中的基本類(lèi)庫(kù)(BSL)組件的使用提供了某些應(yīng)用編程接口(API ),使它們可重用且獨(dú)立于工具。基于UVM的驗(yàn)證環(huán)境對(duì)于各種類(lèi)型的測(cè)試創(chuàng)建、覆蓋分析和重用是足夠靈活的。UVM標(biāo)準(zhǔn)化提高了互操作性,降低了重新購(gòu)買(mǎi)的成本,并且采用了為每個(gè)新的SoC設(shè)計(jì)或驗(yàn)證工具重寫(xiě)知識(shí)產(chǎn)權(quán)(IP ),以便更容易地重用驗(yàn)證組件。總體而言,UVM標(biāo)準(zhǔn)化將降低整個(gè)行業(yè)的驗(yàn)證成本并提高設(shè)計(jì)質(zhì)量。更重要的是,它可以使用復(fù)雜SoC設(shè)計(jì)驗(yàn)證中最常用的SystemVerilog來(lái)實(shí)現(xiàn)。

15、缺陷和調(diào)試

bug是系統(tǒng)中的缺陷。SoC設(shè)計(jì)的質(zhì)量直接取決于其中隱藏的缺陷或錯(cuò)誤。如前所述,較高設(shè)計(jì)或開(kāi)發(fā)階段(RTL、物理設(shè)計(jì)、布局、芯片、電路板、系統(tǒng)、現(xiàn)場(chǎng)系統(tǒng))的測(cè)試成本至少比較低設(shè)計(jì)或開(kāi)發(fā)階段的測(cè)試成本高十倍。在早期設(shè)計(jì)/開(kāi)發(fā)階段發(fā)現(xiàn)缺陷或錯(cuò)誤是明智的。Bug是特定場(chǎng)景中不需要的狀態(tài)或條件。它可以是暫時(shí)的,也可以是永久的。這可能是由多種原因造成的。最主要的原因是設(shè)計(jì)者沒(méi)有能力按照預(yù)期來(lái)解釋需求(參考圖中關(guān)于需求解釋問(wèn)題的著名的tree swing例子),以及大量隱含的、未聲明的需求。由于驗(yàn)證人員對(duì)系統(tǒng)需求的解釋以及他為整個(gè)用例場(chǎng)景創(chuàng)建測(cè)試用例的能力,設(shè)計(jì)缺陷也可能滲透進(jìn)來(lái)。也可能是因?yàn)樵谠O(shè)計(jì)階段用于進(jìn)行設(shè)計(jì)轉(zhuǎn)換的人為錯(cuò)誤和工具錯(cuò)誤。在設(shè)計(jì)和開(kāi)發(fā)階段或在現(xiàn)場(chǎng),正式記錄和管理bug是很重要的,這樣bug就可以被修復(fù),不會(huì)反復(fù)出現(xiàn)。

作者:鄭威,TüV北德功能安全總監(jiān)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21759

    瀏覽量

    604291
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4180

    瀏覽量

    218489
  • 芯片設(shè)計(jì)
    +關(guān)注

    關(guān)注

    15

    文章

    1023

    瀏覽量

    54933
  • 驗(yàn)證
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    15217
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    soc芯片與傳統(tǒng)芯片的主要區(qū)別在哪

    隨著科技的飛速發(fā)展,半導(dǎo)體行業(yè)也在不斷地推陳出新。SoC(System on a Chip,系統(tǒng)級(jí)芯片)作為一種新型的集成電路,正在逐漸取代傳統(tǒng)的芯片設(shè)計(jì)。 1. 定義與基本概念 傳統(tǒng)芯片
    的頭像 發(fā)表于 11-10 09:15 ?1344次閱讀

    SOC芯片在汽車(chē)電子中的應(yīng)用

    隨著技術(shù)的飛速發(fā)展,汽車(chē)不再僅僅是簡(jiǎn)單的交通工具,而是變成了一個(gè)高度集成的移動(dòng)計(jì)算平臺(tái)。SOC芯片作為這一變革的核心,正在重塑汽車(chē)電子的面貌。 一、SOC芯片的定義與特點(diǎn)
    的頭像 發(fā)表于 10-31 15:46 ?1253次閱讀

    SOC芯片在人工智能中的應(yīng)用

    人工智能技術(shù)正在改變我們的生活和工作方式。從智能手機(jī)的語(yǔ)音助手到復(fù)雜的自動(dòng)駕駛汽車(chē),AI技術(shù)的應(yīng)用無(wú)處不在。SOC芯片作為實(shí)現(xiàn)這些技術(shù)的關(guān)鍵硬件,集成了處理器、存儲(chǔ)器、輸入/輸出接口等多種功能,為
    的頭像 發(fā)表于 10-31 15:44 ?1186次閱讀

    如何選擇合適的SOC芯片

    在現(xiàn)代電子設(shè)計(jì)中,SOC芯片扮演著核心角色,集成了處理器、內(nèi)存、輸入/輸出接口等多種功能。 1. 確定應(yīng)用需求 在選擇SOC芯片之前,首先需要明確產(chǎn)品的應(yīng)用需求。這包括: 性能要求 :
    的頭像 發(fā)表于 10-31 14:56 ?435次閱讀

    SOC芯片與傳統(tǒng)芯片的區(qū)別

    隨著電子技術(shù)的發(fā)展,芯片技術(shù)也在不斷進(jìn)步。SOC(System on Chip)芯片作為一種高度集成的集成電路,已經(jīng)成為現(xiàn)代電子設(shè)備中不可或缺的核心部件。與傳統(tǒng)芯片相比,
    的頭像 發(fā)表于 10-31 14:51 ?1155次閱讀

    最新SOC芯片技術(shù)發(fā)展

    隨著科技的飛速發(fā)展,系統(tǒng)級(jí)芯片(System on Chip, SOC)技術(shù)也在不斷進(jìn)步。SOC芯片將多個(gè)電子電路集成在一個(gè)單一的集成電路(IC)上,這使得電子設(shè)備更加小型化、高效和節(jié)
    的頭像 發(fā)表于 10-31 14:41 ?454次閱讀

    SOC芯片的定義和應(yīng)用

    隨著電子技術(shù)的飛速發(fā)展,對(duì)于高性能、低功耗、小尺寸的電子設(shè)備需求日益增長(zhǎng)。在這樣的背景下,系統(tǒng)級(jí)芯片SOC)技術(shù)應(yīng)運(yùn)而生,它通過(guò)將傳統(tǒng)計(jì)算機(jī)或其他電子系統(tǒng)的多個(gè)組件集成到一個(gè)單一的芯片上,實(shí)現(xiàn)了
    的頭像 發(fā)表于 10-31 14:39 ?2062次閱讀

    soc是數(shù)字芯片還是模擬芯片

    SoC(System on Chip,系統(tǒng)級(jí)芯片)是 數(shù)字芯片 的一種。SoC芯片是數(shù)字集成電路的一種,它通過(guò)將一個(gè)或多個(gè)數(shù)字電路模塊、內(nèi)存
    的頭像 發(fā)表于 09-23 10:16 ?935次閱讀

    soc芯片和mcu芯片區(qū)別在哪

    (System on Chip) SOC是一種高度集成的芯片,它將一個(gè)完整的系統(tǒng)所需的大部分或所有組件集成到一個(gè)單一的芯片上。這包括處理器核心、內(nèi)存、輸入/輸出接口、以及其他必要的系統(tǒng)功能。
    的頭像 發(fā)表于 09-23 10:10 ?4269次閱讀

    SoC芯片是什么?它有哪些功能和應(yīng)用?

    SoC芯片,全稱為System on Chip(片上系統(tǒng)),是一種高度集成的電子元件,它將多個(gè)功能模塊(如處理器、內(nèi)存、外設(shè)接口等)集成在一個(gè)單一的芯片上。這種集成方式不僅減少了系統(tǒng)的復(fù)雜性和成本
    的頭像 發(fā)表于 08-05 15:54 ?9628次閱讀

    SoC片上系統(tǒng)詳解

    在當(dāng)今這個(gè)科技日新月異的時(shí)代,SoC(System on Chip,系統(tǒng)級(jí)芯片或片上系統(tǒng))作為集成電路技術(shù)的巔峰之作,正逐步滲透到我們生活的方方面面。從智能手機(jī)到智能家居,從工業(yè)控制到物聯(lián)網(wǎng)設(shè)備
    的頭像 發(fā)表于 07-29 10:59 ?482次閱讀

    SoC布局中各種IC簡(jiǎn)介

    SoC中各種IP簡(jiǎn)介IP核(IntellectualPropertyCore),即知識(shí)產(chǎn)權(quán)核,在集成電路設(shè)計(jì)行業(yè)中指已驗(yàn)證、可重復(fù)利用、具有某種確定功能的芯片設(shè)
    的頭像 發(fā)表于 07-17 08:28 ?389次閱讀
    <b class='flag-5'>SoC</b>布局中各種IC簡(jiǎn)介

    大規(guī)模 SoC 原型驗(yàn)證面臨哪些技術(shù)挑戰(zhàn)?

    引言隨著電子設(shè)計(jì)自動(dòng)化(EDA)驗(yàn)證工具的重要性日益增加,開(kāi)發(fā)者們開(kāi)始尋求減少流片成本和縮短開(kāi)發(fā)周期的方法。其中,使用可編程邏輯芯片(FPGA)來(lái)構(gòu)建有效的驗(yàn)證流程成為一種流行的解決方案,這種
    的頭像 發(fā)表于 06-06 08:23 ?1196次閱讀
    大規(guī)模 <b class='flag-5'>SoC</b> 原型<b class='flag-5'>驗(yàn)證</b>面臨哪些技術(shù)挑戰(zhàn)?

    集成芯片原理圖詳解

    集成芯片的原理圖詳解涉及多個(gè)方面,包括芯片的結(jié)構(gòu)、功能模塊、信號(hào)傳輸以及內(nèi)部電路連接等。
    的頭像 發(fā)表于 03-19 16:36 ?1981次閱讀

    fpga芯片soc芯片的區(qū)別

    FPGA芯片SoC芯片在多個(gè)方面存在顯著的區(qū)別。
    的頭像 發(fā)表于 03-14 17:28 ?3165次閱讀
    主站蜘蛛池模板: 国产国语在线播放视频| 都市妖奇谈有声| 特级毛片s级全部免费| 男人吃奶摸下挵进去啪啪| 精品久久久噜噜噜久久7| 国产传媒精品1区2区3区| YELLOW免费观看2019| avv天堂| 799是什么意思网络用语| 在线观看免费精品国产| 一线高清视频在线播放| 亚洲日韩精品AV中文字幕| 亚洲乱码中文字幕久久| 亚洲欧洲日韩国产一区二区三区| 学生精品国产在线视频| 香蕉久久夜色精品国产小说| 无限资源在线观看完整版免费下载| 神马影院在线eecss伦理片| 三级黄网站| 偷尝禁果H1V1幸运的山熊| 乌克兰10一12x video| 小草观看免费高清视频| 亚洲高清视频免费| 亚洲伊人精品综合在合线| 诱受H嗯啊巨肉各种play| 最近2019中文字幕MV免费看| 91嫩草私人成人亚洲影院| av亚洲2017色天堂| 成人影片大全| 国产精品久久婷婷五月色 | 在线精品国精品国产不卡| 在线欧美精品一区二区三区| 2022国产91精品久久久久久| 99综合之综合久久伊人| 第一次破女视频出血视频| 国产麻豆91网在线看| 久久91精品国产91久| 蜜臀亚洲AV永久无码精品老司机| 男人的天堂黄色| 色色激情网| 亚洲黄视频在线观看|