驗(yàn)證復(fù)雜的 SoC 需要付出很多努力。我們的用戶調(diào)查顯示,流片復(fù)雜SoC所涉及的工程資源中約有70%用于驗(yàn)證,其中一半時(shí)間用于調(diào)試。
如果沒有經(jīng)過深思熟慮的驗(yàn)證環(huán)境,驗(yàn)證團(tuán)隊(duì)會(huì)浪費(fèi)大量時(shí)間在 SoC 級別重新創(chuàng)建驗(yàn)證環(huán)境以實(shí)現(xiàn)芯片級驗(yàn)證,因?yàn)樗麄儾豢紤]重用最初開發(fā)的環(huán)境來驗(yàn)證其塊級 IP。即使跨相同的抽象級別,也無法重用相同的驗(yàn)證IP和環(huán)境來支持仿真和仿真,也會(huì)導(dǎo)致延遲,并消耗不必要的工程資源。
能夠在整個(gè) SoC 項(xiàng)目中一致地重用驗(yàn)證環(huán)境,可顯著提高驗(yàn)證效率。但是,要從這些生產(chǎn)力優(yōu)勢中獲益,核查團(tuán)隊(duì)需要仔細(xì)規(guī)劃其驗(yàn)證過程所有階段的方法。
驗(yàn)證范圍
通常,驗(yàn)證團(tuán)隊(duì)會(huì)開發(fā)單獨(dú)的流來支持塊和 SoC 級別的驗(yàn)證。除了支持這些不同抽象級別之間的重用外,驗(yàn)證環(huán)境還應(yīng)可在驗(yàn)證過程的不同階段重用,以最大程度地減少工作量。
圖1:驗(yàn)證光譜的兩個(gè)維度
每個(gè)設(shè)計(jì)的起點(diǎn)通常是系統(tǒng)架構(gòu),因?yàn)樗x了整體性能要求或約束。從設(shè)計(jì)和驗(yàn)證的角度來看,目標(biāo)應(yīng)該是在后續(xù)階段重用這些性能約束,并確保設(shè)計(jì)在集成 RTL 和設(shè)計(jì)發(fā)展時(shí)繼續(xù)滿足這些約束。
例如,當(dāng)系統(tǒng)架構(gòu)師的約束(如總線吞吐量和延遲)已在塊級別進(jìn)行驗(yàn)證時(shí),驗(yàn)證團(tuán)隊(duì)如何確保在 SoC 級別滿足這些約束?
為此,驗(yàn)證團(tuán)隊(duì)?wèi)?yīng)旨在重用組件,通常是在塊和 SoC 級別監(jiān)控這些約束的驗(yàn)證 IP。驗(yàn)證負(fù)責(zé)人必須提出具有通用方法、環(huán)境和驗(yàn)證IP的測試平臺架構(gòu),該架構(gòu)可在塊和SoC級別重用。當(dāng)然,協(xié)議驗(yàn)證 IP 必須能夠利用系統(tǒng)架構(gòu)師提供的性能約束,并突出顯示整個(gè)系統(tǒng)互連中的任何違規(guī)行為。同時(shí),為了最大限度地提高工作效率,團(tuán)隊(duì)?wèi)?yīng)確保為塊級驗(yàn)證編寫的測試也能在 SoC 級別工作,并在模擬和仿真中工作。
一致性是關(guān)鍵
系統(tǒng)架構(gòu)師最有可能使用事務(wù)級建模 (TLM) 技術(shù)。重用的關(guān)鍵是確保 API 在環(huán)境和抽象級別之間保持一致。例如,TLM API 應(yīng)該與用于仿真的 C API 保持一致——無論團(tuán)隊(duì)正在處理驗(yàn)證流程的哪個(gè)階段。
每個(gè) API 下的內(nèi)容(驅(qū)動(dòng)程序)對于每個(gè)環(huán)境都是唯一的,例如,用于模擬的 SystemVerilog 驅(qū)動(dòng)程序和用于仿真的 RTL 驅(qū)動(dòng)程序。無論 API 在驅(qū)動(dòng)程序級別與什么接口,重用驗(yàn)證 IP 的 API 的能力都是支持重用的關(guān)鍵。
支持塊到 SoC 重用
雖然一致的 API 支持在整個(gè)驗(yàn)證范圍內(nèi)重用,但 IP 到 SoC 重用是提高生產(chǎn)力的關(guān)鍵領(lǐng)域之一。它需要一種基于遵守最佳實(shí)踐準(zhǔn)則、一致的驗(yàn)證環(huán)境和一致的 VIP 的方法。
一致的語言和方法
在模塊和SoC級別以及所有驗(yàn)證IP中使用通用語言(如SystemVerilog和UVM),可以更輕松、更快速地在每個(gè)級別集成和測試設(shè)計(jì)。
通用驗(yàn)證計(jì)劃
再利用原則應(yīng)盡可能擴(kuò)大到核查計(jì)劃。在塊級別定義驗(yàn)證計(jì)劃所做的工作應(yīng)轉(zhuǎn)移到 SoC 級別。這應(yīng)包括驗(yàn)證團(tuán)隊(duì)可以重用的功能覆蓋定義和測試。
共享功能覆蓋數(shù)據(jù)庫
在一開始就擁有一致的覆蓋率數(shù)據(jù)庫可以節(jié)省將多個(gè)專有數(shù)據(jù)庫手動(dòng)合并為通用格式的大量時(shí)間。一致的數(shù)據(jù)庫將使驗(yàn)證團(tuán)隊(duì)能夠輕松快速地比較不同抽象級別的結(jié)果。
通用序列庫和調(diào)試
通過使用通用序列庫,能夠在模塊和SoC級別之間輕松重用激勵(lì),這將提高驗(yàn)證效率。
設(shè)計(jì)和驗(yàn)證團(tuán)隊(duì)在調(diào)試上花費(fèi)了大量時(shí)間。在 SoC 級別發(fā)現(xiàn)錯(cuò)誤時(shí),工程師可能必須轉(zhuǎn)回 IP 級別來調(diào)查問題。能夠在單個(gè)通用調(diào)試環(huán)境中執(zhí)行此操作,可以最大限度地減少團(tuán)隊(duì)在學(xué)習(xí)和熟悉不同環(huán)境上花費(fèi)的時(shí)間。
驗(yàn)證團(tuán)隊(duì)還可以從整個(gè)測試臺的可見性中受益。能夠在 IP 和 SoC 級別查看調(diào)試器代碼窗口中的事務(wù),可以節(jié)省在不同調(diào)試環(huán)境之間切換的時(shí)間。
通用語言、方法、規(guī)劃和調(diào)試是在驗(yàn)證環(huán)境的不同階段實(shí)現(xiàn)塊到 SoC 重用的先決條件。
有了正確的基礎(chǔ)設(shè)施,團(tuán)隊(duì)就可以專注于構(gòu)建與模塊接口的測試套件。
測試套件
對針對塊級的測試套件采用錯(cuò)誤的方法,使得在 SoC 級別重用塊級驗(yàn)證環(huán)境和測試變得困難。
圖 2 顯示了如何配置測試套件以支持在塊級別驗(yàn)證 PCI Express IP,這也適合在 SoC 級別重用。
圖 2:PCI Express 設(shè)計(jì)的測試套件
測試套件設(shè)計(jì)為模塊化。圖 2 右上角的模塊顯示了如何將 PCI Express 端點(diǎn) RTL、AXI 接口和相關(guān)驅(qū)動(dòng)程序封裝到一個(gè)環(huán)境中。關(guān)系圖的左上角顯示了封裝在另一個(gè)環(huán)境中的根復(fù)雜 VIP。將整體環(huán)境與“底層”隔離開來是實(shí)現(xiàn)塊級和 SoC 級驗(yàn)證之間平穩(wěn)過渡的關(guān)鍵。
在實(shí)現(xiàn)測試套件時(shí),目標(biāo)應(yīng)該是避免進(jìn)行會(huì)阻礙重用的更改;以避免多次“觸摸”測試。即使是相對較小的任務(wù),如更改屬性的分層路徑,如果必須更改數(shù)百甚至數(shù)千個(gè)測試,也會(huì)產(chǎn)生大量工作。
為了最大程度地減少更改,驗(yàn)證團(tuán)隊(duì)在規(guī)劃和編寫測試時(shí)應(yīng)考慮塊級別和 SoC 級別之間可能更改的內(nèi)容,并確保測試不引用內(nèi)部環(huán)境。最好的方法是創(chuàng)建“配置感知”的測試,即測試應(yīng)該了解整體環(huán)境和配置。測試應(yīng)傳遞配置的名稱,并讓驅(qū)動(dòng)程序決定如何應(yīng)用信息。
驗(yàn)證團(tuán)隊(duì)必須將所有這些原則付諸實(shí)踐,以便實(shí)現(xiàn)從塊到 SoC 級別的重用。弄錯(cuò)它們會(huì)產(chǎn)生額外的工作,以便將IP測試套件過渡到芯片級別。
新思科技VC驗(yàn)證IP
Synopsys 在構(gòu)建其下一代驗(yàn)證 IP 解決方案時(shí)廣泛使用 SystemVerilog,以支持易用性和重用性。例如,Synopsys 為符合 UVM(通用驗(yàn)證方法)的測試套件提供 SystemVerilog 源代碼,這可以節(jié)省大量開發(fā)時(shí)間并減少對內(nèi)部專業(yè)知識的需求。內(nèi)置功能使工程師能夠在整個(gè)驗(yàn)證范圍內(nèi)應(yīng)用一致的方法,以便在模塊和 SoC 級別進(jìn)行高效驗(yàn)證。
Synopsys 驗(yàn)證 IP 和測試套件解決方案支持從架構(gòu)分析到模塊驗(yàn)證、互連設(shè)計(jì)、SoC 集成,最后到仿真中的軟硬件協(xié)同驗(yàn)證的整個(gè)驗(yàn)證過程。廣泛的 Synopsys 驗(yàn)證 IP 產(chǎn)品組合包括驗(yàn)證復(fù)雜 SoC 設(shè)計(jì)所需的最新協(xié)議、接口和存儲(chǔ)器。Synopsys VIP 部署在數(shù)千個(gè)項(xiàng)目中,支持 AMBA、PCI Express、USB、MIPI、DDR、LPDDR、HDMI、以太網(wǎng)、SATA/SAS、光纖通道、OCP 等。
總結(jié)
驗(yàn)證 IP 已成為驗(yàn)證流程的關(guān)鍵部分,支持廣泛的任務(wù),例如性能分析、IP 模塊、互連和 SoC 的 RTL 驗(yàn)證,以及以具有仿真功能的事務(wù)處理器的形式實(shí)現(xiàn)全芯片驗(yàn)證,包括硬件-軟件協(xié)同驗(yàn)證。
驗(yàn)證環(huán)境中的 IP 到 SoC 級重用可以提高整個(gè)驗(yàn)證過程的工作效率。這種方法要求驗(yàn)證團(tuán)隊(duì)使用相同的語言、方法和驗(yàn)證 IP 開發(fā)可重用的塊測試環(huán)境,所有這些都必須專門構(gòu)建以支持重用,并具有一致應(yīng)用的指南。
審核編輯:郭婷
-
soc
+關(guān)注
關(guān)注
38文章
4213瀏覽量
219206 -
IP
+關(guān)注
關(guān)注
5文章
1723瀏覽量
150032 -
仿真
+關(guān)注
關(guān)注
50文章
4130瀏覽量
134075
發(fā)布評論請先 登錄
相關(guān)推薦
[啟芯公開課] SystemVerilog for Verification
混合信號SoC助力模擬IP發(fā)展
基于C的測試和驗(yàn)證套件集成到常規(guī)UVM測試平臺的方法
基于C的測試和驗(yàn)證套件集成到常規(guī)UVM測試平臺的方法
SOC測試訪問機(jī)制
通過IP PAD物理設(shè)計(jì)重用節(jié)省PCB設(shè)計(jì)時(shí)間
CoreSight SoC-400綜合套件解決方案
SmartMesh IP 的軟件開發(fā)套件加速了無線傳感器工業(yè)物聯(lián)網(wǎng)應(yīng)用的開發(fā)
![SmartMesh <b class='flag-5'>IP</b> 的軟件開發(fā)<b class='flag-5'>套件</b><b class='flag-5'>加速</b>了無線傳感器工業(yè)物聯(lián)網(wǎng)應(yīng)用的開發(fā)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
利用Systemverilog+UVM搭建soc驗(yàn)證環(huán)境
MIPI聲線測試套件
![MIPI聲線<b class='flag-5'>測試</b><b class='flag-5'>套件</b>](https://file.elecfans.com/web2/M00/A8/59/pYYBAGRweRSAfjtuAAKWoHAJEE4727.png)
介紹從一組可重用的驗(yàn)證組件中構(gòu)建測試平臺所需的步驟
![介紹從一組可<b class='flag-5'>重用</b>的驗(yàn)證組件中構(gòu)建<b class='flag-5'>測試</b>平臺所需的步驟](https://file1.elecfans.com/web2/M00/89/89/wKgaomSHwoeANEzwAAA9F9tRAYU303.png)
可重用的驗(yàn)證組件中構(gòu)建測試平臺的步驟
![可<b class='flag-5'>重用</b>的驗(yàn)證組件中構(gòu)建<b class='flag-5'>測試</b>平臺的步驟](https://file1.elecfans.com/web2/M00/89/8B/wKgZomSHwvCAMZd1AAA9F9tRAYU977.png)
評論