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

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

3天內不再提示

探討一下在UVM中典型的驗證平臺

冬至子 ? 來源:不二魚 ? 作者:不二魚 ? 2023-06-15 18:12 ? 次閱讀

驗證平臺顧名思義就是為了驗證而存在的。普通意義上來說,如果是IP驗證,當驗證人員拿到設計的某模塊的RTL代碼(DUT,Design Under Test),設計文檔之后,就會根據文檔,基于自己的理解去著手寫驗證計劃,提取功能點,準備搭建驗證平臺(其實大多數情況下,是迭代上一代的驗證平臺),開始寫驗證的case(成熟的公司也很可能是繼承上一代的驗證case,進行改動或者增加)。所以,驗證平臺可以看做是一個“測試機器”,專門是為了測試RTL代碼以及功能的正確性,找出其中“躲藏”的bug,千里之堤潰于蟻穴,芯片的流片失敗,可能只是其中的一個小小bug。

形象一點來說,RTL代碼你可以想象成一根彎彎繞繞的水管,現在的情況是,你不知道這根水管通不通,能不能順利的把水從這頭送到那頭。那怎么辦,找另一根有水的管子,和這根管子接上,再觀察這根管子的出口有沒有水出來即可。同樣的道理,驗證平臺就相當于一根有水的管子,把它和DUT的輸入端口(input)連起來就可以了,這個“水”就相當于激勵。

為了找出bug,我們就需要這樣一個測試平臺,能夠發(fā)送激勵,也就是數據(data),對代碼進行檢驗,為什么要叫做激勵,我想,可能是想激勵DUT努力工作吧。這里就涉及到激勵發(fā)生器。比如說,我們要驗證一個加法器。加法器都知道,它的功能就是實現a+b=c,這樣的運算。激勵發(fā)生器負責產生a和b的值,DUT負責運算出c的值,驗證平臺通過對照c的值來判定DUT的代碼是否正確。

上面這段描述,就涉及UVM里面幾個重要的知識點:

· Driver,負責產生,發(fā)送激勵(后面會將產生和發(fā)送分開);

· Scoreboard就像是一個質檢員,負責把樣品和合格品進行對比;

· monitor負責進行數據收集、以及發(fā)送給scoreboard;

· 正確與否我們需要一個參照,這個就是所謂的reference model。

這四個部分就可以組成UVM中簡單的驗證平臺,如圖所示:

圖片

但是有一天,driver說我不干了,我干的事情太多了。所以,就要把driver的功能進行拆分,俗話說,術業(yè)有專攻嘛,driver就負責發(fā)送激勵,而不再產生激勵。把功能拆分之后,另一個好處就是,復用程度更高。針對不同的case,往往只是激勵的不同,拆分之后,我們不再需要每次都改變driver。如此一來,這么一拆分,就有了UVM中,經典的驗證平臺,如下圖所示。

圖片

有的同學可能會說,怎么沒有sequence?請記住,sequence不屬于驗證平臺的任何一個部分。在這個經典的驗證平臺中,其實是沒有產生激勵的部分了。這就相當于,你給DUT這根管子接了一根沒水的新管子,你需要在這根新管子上再接一根有水的管子。這樣的好處是什么呢,還是復用。這樣,你的驗證平臺就不需要怎么改動了,只要每次去切換那根有水的管子,也就是sequence。在實際的工作當中,針對一個項目,會有很多很多的sequence,但是驗證平臺的組件,基本上對于一個項目來說,是不動的。

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

    關注

    1

    文章

    385

    瀏覽量

    59630
  • UVM
    UVM
    +關注

    關注

    0

    文章

    181

    瀏覽量

    19114
  • DUT
    DUT
    +關注

    關注

    0

    文章

    189

    瀏覽量

    12275
  • sequence
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2826
收藏 人收藏

    評論

    相關推薦

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

    model)。個簡單的驗證平臺框圖:UVM,引入了agent和sequence的概念,因
    發(fā)表于 12-02 15:21

    IC驗證"個簡單的UVM驗證平臺"是如何搭建的(六)

    main_phase的聲明,有uvm_phase類型的參數phase,真正的驗證平臺
    發(fā)表于 12-04 15:48

    IC驗證"UVM驗證平臺加入factory機制"(六)

      加入factory機制 上節(jié)《IC驗證"個簡單的UVM驗證平臺"是如何搭建的(五)》給出
    發(fā)表于 12-08 12:07

    IC驗證UVM驗證平臺加入objection機制和virtual interface機制“(七)

    在上節(jié),**《IC驗證"UVM驗證平臺加入factory機制"(六)》**雖然輸出了“mai
    發(fā)表于 12-09 18:28

    基于C的測試和驗證套件集成到常規(guī)UVM測試平臺的方法

    Systemverilog [1]和 UVM [2]為驗證團隊提供結構和規(guī)則。它使得許多測試能獲得致的結果,并可以
    發(fā)表于 12-15 07:38

    數字IC驗證之“什么是UVM”“UVM的特點”“UVM提供哪些資源”(2)連載...

    搭建平臺結構上省去了不少時間,而且使用其他工程師提供的uvm平臺時顯得得心應手。uvm為用戶
    發(fā)表于 01-21 16:00

    數字IC驗證之“典型UVM平臺結構”(3)連載...

    ?! ∥覀?b class='flag-5'>一個直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每個巨型框都代表著平臺
    發(fā)表于 01-22 15:32

    數字IC驗證之“構成uvm測試平臺的主要組件”(4)連載...

      大家好,我是哥,上章典型uvm驗證平臺應該是什么樣子的?從本章開始就正式進入
    發(fā)表于 01-22 15:33

    數字IC驗證之“搭建個可以運行的uvm測試平臺”(5)連載...

    的transaction,以及創(chuàng)建用于產生事物的事物發(fā)生器sequence?! ?b class='flag-5'>在uvm驗證平臺中穿梭各個組件之間的基本信息單元是個被稱為
    發(fā)表于 01-26 10:05

    什么是uvm?uvm的特點有哪些呢

    直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每個巨型框都代表著平臺個構成元素。這
    發(fā)表于 02-14 06:46

    請問一下在UVM的UVMsequences是什么意思啊

    。往往我們書寫測試用例或者sequences的時候會有查詢驗證平臺組件uvm_component的需求,比如env/driver/monitor。由于sequences不是測試
    發(fā)表于 04-11 16:43

    基于UVM的CPU卡芯片驗證平臺

    基于UVM的CPU卡芯片驗證平臺_錢
    發(fā)表于 01-07 19:00 ?4次下載

    基于UVM驗證平臺設計研究

    基于UVM驗證平臺設計研究_王國軍
    發(fā)表于 01-07 19:00 ?4次下載

    數字IC驗證之“典型UVM平臺結構”(3)連載...

    直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每個巨型框都代表著平臺個構成元素。這
    發(fā)表于 12-09 13:36 ?7次下載
    數字IC<b class='flag-5'>驗證</b>之“<b class='flag-5'>典型</b>的<b class='flag-5'>UVM</b><b class='flag-5'>平臺</b>結構”(3)連載<b class='flag-5'>中</b>...

    如何優(yōu)雅地結束UVM Test

    分享一下在UVM驗證環(huán)境,結束仿真的幾種方式,不同結束仿真的方式適合不同的應用場景。
    的頭像 發(fā)表于 12-17 11:23 ?2455次閱讀
    如何優(yōu)雅地結束<b class='flag-5'>UVM</b> Test