在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

UVM學習筆記(一)

冬至子 ? 來源:多讀點書 ? 作者:夕文x ? 2023-05-26 14:38 ? 次閱讀

第1章與UVM的第一次接觸

基本沒有感興趣的內容,推薦直接從第2章開始,防止勸退。

第2章一個簡單的UVM驗證平臺

2.1 驗證平臺的組成

圖片

圖片

2.2 只有driver的驗證平臺

2.2.1 最簡單的驗證平臺

driver應該派生自uvm_driver,而uvm_driver派生自uvm_component。相關派生關系如下圖所示:

圖片

2.2.2 加入factory機制

factory機制的實現被集成在了一個宏中:uvm_component_utils。它可以將my_driver注冊在UVM內部的一張表中。只要在定義一個新的類時使用這個宏,就相當于把這個類注冊到了這張表中。然后使用run_test時,可以自動創建一個類的實例并調用其中函數main_phase。其中uvm_component_utils的入參是類名my_driver,而run_test入參為在UVM內部表中注冊的字符串名(注意:這里的字符串名必須和類名相同)。

圖片

2.2.3 加入objection機制

objection機制用來控制仿真的開始和結束。在每個phase中,UVM會檢查是否有objection被提起(raise_objection),如果有,那么等待這個objection被撤銷(drop_objection)后停止仿真;如果沒有,則馬上結束當前phase。

圖片

2.2.4 加入virtual interface

目的:杜絕在驗證平臺中使用絕對路徑,從而增強驗證平臺的可移植性。

SV和UVM中端口使用的比對:

  • sv中
    • 使用interface,通過對top_tb.my_driver.xxx的引用實現賦值。
  • UVM中
    • 引入virtual interface:解決UVM類中無法實例化接口的問題。
    • 引入config_db機制:解決top中無法通過實例模塊引用內部接口的問題(UVM通過run_test語句實例化了一個脫離了top_tb層次結構的實例,建立了一個新的層次結構,導致top_tb.my_dut.xxx可以,但top_tb.my_driver.xxx不可以)。具體而言分為set和get兩步操作
    • 引入了build_phase:為config_db機制的實現服務。它也是UVM中內建的一個phase,在new函數之后main_phase之前執行(是一個函數phase,不消耗仿真時間)。通過config_db的set和get操作來傳遞一些數據,以及實例化成員變量等。

config_db機制中set方法的使用

圖片

  • 第一個參數:目標get所在實例的參考路徑索引(舉例:“null”,“this”)。在top_tb中設置virtual interface時,由于top_tb不是一個類,無法使用this指針,所以設置set的第一個參數為null。
  • 第二個參數:目標get所在實例的路徑索引,它是相對于第一個參數的相對路徑(舉例:"uvm_test_top"、"uvm_test_top.drv")
  • 第三個參數:一個名字,建立set與get之間的對應關系
  • 第四個參數:set要傳遞個get的信號,信號為uvm_config_db#(xxx)中xxx的實例。

進一步解釋:

  • 無論傳遞給run_test的參數是什么,創建的實例的名字都為uvm_test_top。
  • 由于set操作的目標是my_driver,所以set函數的第二個參數就是uvm_test_top。
  • set函數與get函數使用雙冒號是因為這兩個函數都是靜態函數,而uvm_config_db#( virtual my_if)則是一個參數化的類,其參數就是要寄信的類型。

uvm_fatal宏的理解

  • 類似于斷言,條件為假時,結束仿真。

路徑索引的概念:

  • UVM采用樹形結構,對于樹中任何一個結點,都有一個與其相應的字符串類型的路徑索引。路徑索引可以通過get_full_name函數來獲取,把下列代碼加入任何UVM樹的結點中就可以得知當前結點的路徑索引:
$display("the full name of current component is: %s", get_full_name());
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    589

    瀏覽量

    21020
  • UVM
    UVM
    +關注

    關注

    0

    文章

    182

    瀏覽量

    19379
  • PHASE
    +關注

    關注

    0

    文章

    14

    瀏覽量

    10942
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    新手學習System Verilog & UVM指南

    新手學習SystemVerilog & UVM指南 從剛接觸System Verilog以及后來的VMM,OVM,UVM已經有很多年了,隨著電子工業的逐步發展,國內對驗證人才的需求也會急劇
    發表于 03-11 16:24

    IC驗證"為什么要學習UVM呢"

    推出了RGM,補上了這短板。只是很遺憾的是,RGM并沒有成為OVM的部分,要想使用RGM,需要額外下載。現在OVM已經停止更新,完全被UVM代替。UVM(Universal
    發表于 12-01 15:09

    IC驗證之UVM常用宏匯總分析(四)

    、Synopsys和Cadence 公司的仿真工具。UVM的源代碼分為兩部分,部分是SystemVerilog代碼,另外部分是C/C++。這兩部分代碼在各自編譯時需 要分別定義各自的宏。通知:本章更新后將不在更新......
    發表于 12-02 15:24

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

    連載....小編考慮到個好的連續劇不能沒有結尾,所以后期會持續更新ic驗證的UVM相關內容.......今天更新個最簡單的驗證平臺,只有driver的驗證平臺.....driver是驗證平臺最基本
    發表于 12-04 15:48

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

    原文鏈接:https://zhuanlan.zhihu.com/p/345775995大家好,我是哥,上章內容主要講述兩個內容,芯片驗證以及驗證計劃。那本章我們主要講述的內容有介紹什么是uvm
    發表于 01-21 16:00

    什么是uvmuvm的特點有哪些呢

    大家好,我是哥,上章內容我們介紹什么是uvmuvm的特點以及uvm為用戶提供了哪些資源?本章內容我們來看
    發表于 02-14 06:46

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

    UVM方法學中,UVMsequences 是壽命有限的對象。UVM sequences從uvm_sequence_item基類擴展得到,uvm_sequence_item進
    發表于 04-11 16:43

    談談UVM中的uvm_info打印

    uvm_report_info(xxx)函數調用當前m_rh的report(xxx)函數來打印message。但在m_rh.report(xxx)內部其實是調用uvm_report_server class來打印消息的。uvm
    發表于 03-17 16:41

    UVM中seq.start()和default_sequence執行順序

      1. 問題  假如用以下兩種方式啟動sequence,方法1用sequence的start()方法啟動seq1,方法2用UVM的default_sequence機制啟動seq2。那么seq1
    發表于 04-04 17:15

    我的第UVM代碼——Hello world

    `uvm_component_utils有關 仿真命令: irun -sv -uvmhome \\\\ /.../ies/tools/methodology/UVM/CDNS-1.2/sv \\\\ hello_world.sv 仿真結果如下: 最后,再用
    發表于 11-03 10:18

    Modelsim uvm庫編譯及執行

    句話是設置uvm環境變量,指定uvm的dpi位置。 第二句話是創建work工作目錄。 第三句話是編譯源文件,并且通過-L指定幾個編譯庫。 第三句是執行仿真,調用uvm
    的頭像 發表于 12-01 11:25 ?4092次閱讀
    Modelsim <b class='flag-5'>uvm</b>庫編譯及執行

    什么是UVM environment?

    UVM environment**包含多個可重用的驗證組件,并根據test case的需求進行相應的配置。例如,UVM environment可能具有多個agent(對應不同的interface)、scoreboard、functional coverage collec
    的頭像 發表于 03-21 11:35 ?1301次閱讀
    什么是<b class='flag-5'>UVM</b> environment?

    UVMuvm_config_db機制背后的大功臣

    本次講UVM中的uvm_config_db,在UVM中提供了個內部數據庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發表于 06-20 17:28 ?1755次閱讀

    UVMuvm_config_db機制背后的大功臣

    本次講UVM中的uvm_config_db,在UVM中提供了個內部數據庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發表于 06-29 16:57 ?1752次閱讀

    文詳解UVM設計模式

    本篇是對UVM設計模式 ( 二 ) 參數化類、靜態變量/方法/類、單例模式、UVM_ROOT、工廠模式、UVM_FACTORY[1]中單例模式的補充,分析靜態類的使用,UVM中資源池的
    的頭像 發表于 08-06 10:38 ?2810次閱讀
    <b class='flag-5'>一</b>文詳解<b class='flag-5'>UVM</b>設計模式
    主站蜘蛛池模板: 伊人一区二区三区 | 午夜噜噜噜私人影院在线播放 | 9984四虎永久免费网站 | 亚洲欧美v视色一区二区 | 久久精品国产免费观看99 | bt天堂新版中文在线地址 | 桃色婷婷 | 一级毛片ab片高清毛片 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠久久丁香 | 日日干狠狠干 | 边做饭边被躁欧美三级小说 | 天天天天天天天操 | 国产乱码免费卡1卡二卡3卡四 | 欧美在线免费 | 黄色片视频网 | 免费国产一区二区三区 | 日本全黄视频 | 高清欧美色欧美综合网站 | 日本免费网站 | 毛片视频网址 | 久久黄色影片 | 在线视频亚洲一区 | 亚洲va久久久久综合 | 女攻各种play男受h | 狠狠色丁香六月色 | 性色aⅴ闺蜜一区二区三区 性色成人网 | 在线看一区二区 | 华人被黑人粗大猛然进 | 亚洲色图欧美激情 | 69成人免费视频 | 午夜国产精品免费观看 | 久久天堂网 | 米奇777四色精品人人爽 | 天天色成人 | 天天射天天射天天射 | 国产成人啪精品午夜在线播放 | 久久午夜宅男免费网站 | 国产视频二区 | 狠狠丁香激情久久综合 | 久久精品免费在线观看 | 黄色网址中文字幕 |