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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

芯片驗證需要圍繞DUT做什么?

冬至子 ? 來源:ICer消食片 ? 作者:ICer消食片 ? 2023-06-12 17:38 ? 次閱讀

TestBench即測試平臺,是為了檢驗待測設計(design under test, DUT )而搭建的驗證環(huán)境。有了這個環(huán)境,我們就可以對DUT輸入 定向或隨機的激勵 ,以保證DUT的正確性。故驗證要做的事分為以下幾步:

1、生成各種各樣的輸入激勵

2、將輸入激勵傳遞到DUT上

3、DUT響應輸入激勵并輸出

4、檢查輸出與預期結果差異

5、發(fā)現(xiàn)功能錯誤后修改DUT

6、重復上述步驟收集覆蓋率

做個不太恰當?shù)谋扔?,testbench就像一個書桌,你買來了一個鍵盤(DUT),你想要驗證它是不是正常工作,你就開始敲鍵盤檢查。你的十個手指就是 激勵 ,數(shù)據(jù)線和屏幕相連,數(shù)據(jù)線為 接口 ,屏幕是 記分板 ,鍵盤使用說明書為 參考模型 。

首先你把26個字母都敲了一遍( 定向測試 ),發(fā)現(xiàn)屏幕上也出現(xiàn)了26個字母,每個鍵都能沒毛病,基本功能驗證了;但是還不夠,你又組合著敲了**“** guan zhu dian zan”隨機測試 ),屏幕上突然出現(xiàn)****“**** fen xiang zai kan ”**** ,這時你就發(fā)現(xiàn)bug了,趕緊找設計人員來修改代碼。

細心的同學發(fā)現(xiàn),隨機測試豈不是邊界很大,甚至”永無止境“?因此就有了 受約束的隨機激勵 。使用定向測試和受約束的隨機測試,最終使得功能覆蓋率趨于要求值。最終,鍵盤驗證完沒問題了,再教給后面的人做物理設計,比如鍵程長短、工藝面積、功耗分析等等,一套流程下來沒問題就拿去廠子代工了。

說完了這個有點尬的比喻,我們理解了testbench就是模擬設計所在的環(huán)境,以檢查RTL代碼是否符合設計規(guī)范的玩意,其內(nèi)部是分好幾個組件的。那testbench具體有哪些組件呢?請看下圖(PPT畫的,不是很專業(yè)):

圖片

generator :產(chǎn)生不同的輸入激勵來驅(qū)動DUT

產(chǎn)生有效的數(shù)據(jù),并發(fā)送給driver。

interface :用于連接testbench和DUT

如果一個設計包含成百上千個端口信號,那么連接、維護和重復利用這些信號就會很麻煩。如果將這些輸入輸出端口放到一塊組成一個接口,那么連接變得更加簡潔而不易出錯,后續(xù)添加新的信號更簡便,接口也便于重用。

driver :將激勵驅(qū)動到DUT

monitor檢測DUT的輸出

scoreboard :用于比較輸出與預期值

scoreboard上有與DUT相應的參考模型,反映了DUT的預期行為。如果DUT的輸出和參考模型的輸出不匹配,則設計中存在功能缺陷。

environment :包含以上所有的組件,便于復用

test :可以包含不同配置的環(huán)境

因此,為了驗證DUT這份RTL代碼,驗證要做的事是:

1)了解 spec ,即代碼的規(guī)格說明書,有結構模型、功能描述、信號端口、寄存器定義等,它是設計和驗證對接工作的橋梁。

2)制定 testplan ,一個完整的驗證計劃需要考慮的東西有很多,它為后續(xù)工作的進行提供了方向。

3)構建 testbench ,根據(jù)具體驗證需求選擇相應的組件,搭建出盡量可重用的驗證環(huán)境。

4)編寫 testcase ,根據(jù)之前定制的驗證計劃,coding相應的測試用例, debug fail case ,把全部case調(diào)試至 pass 。

5)收集 coverage ,跑regression回歸,根據(jù)覆蓋率來決定是否加case,直到滿足RTL freeze要求。

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

    關注

    31

    文章

    5254

    瀏覽量

    119283
  • RTL
    RTL
    +關注

    關注

    1

    文章

    384

    瀏覽量

    59534
  • DUT
    DUT
    +關注

    關注

    0

    文章

    188

    瀏覽量

    12208
收藏 人收藏

    評論

    相關推薦

    在TP芯片上開發(fā)的軟件想要運行在同型號的TE芯片上,需要做什么修改嗎?

    嗨,請教個問題,如在TP芯片上開發(fā)的軟件想要運行在同型號的TE芯片上,需要做什么修改嗎?
    發(fā)表于 02-01 08:01

    基于VMM的驗證環(huán)境的驗證MCU指令實現(xiàn)設計

    1 簡介 隨著設計的復雜程度不斷增加,要求把更多的資源放到驗證上,不但要求驗證能夠覆蓋所有的功能,還希望能夠給出大量的異常情況來檢查DUT對應異常的處理狀態(tài),這在傳統(tǒng)測試方法下往往是難以實現(xiàn)的。此外
    發(fā)表于 07-01 08:15

    基于VMM驗證方法學的MCU驗證環(huán)境實現(xiàn)方法介紹

    1 簡介隨著設計的復雜程度不斷增加,要求把更多的資源放到驗證上,不但要求驗證能夠覆蓋所有的功能,還希望能夠給出大量的異常情況來檢查DUT對應異常的處理狀態(tài),這在傳統(tǒng)測試方法下往往是難以實現(xiàn)的。此外
    發(fā)表于 07-03 07:40

    IC驗證"UVM驗證平臺"組成(三)

    (scoreboard,也被稱為 checker,本書統(tǒng)一以scoreboard來稱呼)。既然是判斷,那么牽扯到兩個方面:一是判斷什么,需要把什么拿來判斷,這里很明顯 是DUT的輸出;二是判斷的標準是什么。驗證平臺要收集
    發(fā)表于 12-02 15:21

    驗證DSO上的mdio寫周期信號,需要做什么設置?

    我已經(jīng)配置了 MDI 和 MDIO 引腳,想驗證 DSO 上的 mdio 寫周期信號。那么除了 MDC 和 MDIO 管腳配置之外還需要做什么設置。我需要初始化 MDC 時鐘嗎?MDC時鐘需要
    發(fā)表于 01-09 08:10

    基于基帶處理芯片的應用RVM驗證方法的注意事項與技巧

    測試層用于對DUT的邏輯功能進行驗證。這一層主要是用戶為了驗證DUT的邏輯功能而編寫的不同測試例,在測試例中可以對各個模塊的限制條件進行修改。通過對不同測試例運行結果的統(tǒng)計,可以查看
    的頭像 發(fā)表于 03-22 15:27 ?2184次閱讀
    基于基帶處理<b class='flag-5'>芯片</b>的應用RVM<b class='flag-5'>驗證</b>方法的注意事項與技巧

    什么是汽車芯片 汽車芯片做什么

    什么是汽車芯片?汽車芯片做什么的?芯片是一種半導體元件,汽車芯片是控制汽車安全行駛的電子器件,汽車芯片
    的頭像 發(fā)表于 12-16 11:52 ?1.3w次閱讀

    DUT輸入定向或隨機的激勵

    TestBench即測試平臺,是為了檢驗待測設計(design under test,DUT)而搭建的驗證環(huán)境。
    的頭像 發(fā)表于 02-24 17:19 ?880次閱讀
    對<b class='flag-5'>DUT</b>輸入定向或隨機的激勵

    DUT 和 testbench 連接教程

    我們知道,不論是哪一級的驗證,最終都是通過 pin 連接到 DUT 上向其施加激勵,**對于 UVM 驗證平臺中,使用虛接口來實現(xiàn) DUT驗證
    的頭像 發(fā)表于 03-21 11:20 ?1348次閱讀

    UVM驗證平臺頂層有什么作用

    因為DUT是一個靜態(tài)的內(nèi)容,所以testbench理應也是靜態(tài)的,其作為uvm驗證環(huán)境和DUT的全局根結點。
    的頭像 發(fā)表于 03-21 11:33 ?1205次閱讀

    基于UVM驗證環(huán)境開發(fā)測試流程

    驗證環(huán)境用戶需要創(chuàng)建許多測試用例來驗證一個DUT的功能是否正確,驗證環(huán)境開發(fā)者應該通過以下方式提高測試用例的開發(fā)效率
    的頭像 發(fā)表于 06-09 11:11 ?854次閱讀
    基于UVM<b class='flag-5'>驗證</b>環(huán)境開發(fā)測試流程

    驗證組件配置參數(shù)

    一些典型 的 驗證組件 配 置參數(shù)示例:? 一個agent可以被配置為 active 或者 passive 模式。在active模式下agent驅(qū)動DUT,在passive模式下agent被動地檢查
    的頭像 發(fā)表于 06-14 10:20 ?513次閱讀
    <b class='flag-5'>驗證</b>組件配置參數(shù)

    驗證環(huán)境獲取DUT內(nèi)部信號的方法

    在UVM寄存器模型的操作中,寄存器用于設置DUT狀態(tài)和芯片狀態(tài)信息的上報,有前門和后門讀寫兩種方式。
    的頭像 發(fā)表于 08-19 09:50 ?768次閱讀
    <b class='flag-5'>驗證</b>環(huán)境獲取<b class='flag-5'>DUT</b>內(nèi)部信號的方法

    芯片驗證模塊劃分

    任何芯片需要芯片劃分成更便于管理的小模塊/特性進行驗證。
    的頭像 發(fā)表于 10-07 14:41 ?532次閱讀

    北京清微智能科技有限公司發(fā)布IC驗證新方法,實現(xiàn)雙DUT驗證

    清微智能在本周宣布新型專利“一種IC驗證中實現(xiàn)雙DUT驗證的方法”已于今年3月獲批。該項專利內(nèi)容由該集團獨立研究,申請日期優(yōu)先于2024年3月26日。
    的頭像 發(fā)表于 04-08 10:07 ?431次閱讀
    北京清微智能科技有限公司發(fā)布IC<b class='flag-5'>驗證</b>新方法,實現(xiàn)雙<b class='flag-5'>DUT</b><b class='flag-5'>驗證</b>