衡阳派盒市场营销有限公司

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

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

3天內不再提示

為什么不是uvm_transaction構建UVM事務呢?

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 2023-03-08 13:41 ? 次閱讀

什么是 UVM transaction?

UVM 中的事務是一個具有信號屬性(例如地址和數據)以及錯誤、延遲等額外信息的類。總之,這個所謂事務封裝了所有和DUT激勵項相關的信息. 但是,我們無法僅通過單個事務去驗證設計,我們需要一組相關的事務。

注意:這里的“相關”也正體現了驗證工程師的經驗,試想如果全依賴隨機如何能夠沖擊到DUT 的corner case呢?

這里就引入了uvm sequence。

UVM中的一組相關事務稱為uvm sequence,單個事務稱為sequence items。當你開發一個事務項類時,需要擴展自uvm_sequence_item,而不是 uvm_transaction。

45c93af2-badd-11ed-bfe3-dac502259ad0.png

上面是事務項類的層次結構,其中tx_item就是我們施加給DUT的單個事務。

使用uvm_sequence_item而不是uvm_transaction 的優勢

uvm_transaction 類是遺留下來的驗證方案中的一部分,它的缺點是不知道上下文,即不知道自己是否屬于一組事務中的一部分。

而uvm_sequence_item類中除了前面提到的接口屬性之外,還加入了幾個連接到外部世界的屬性

舉個例子,像內存讀寫這樣的事情,一般都會有一個“響應”,它會告訴上游模塊是否已經完成了讀寫操作以及讀取的值。

uvm驗證環境中的driver也可能同時處理多個sequence,所以同樣需要將響應路由到正確的sequence。所以,uvm_sequence_item類帶有一個sequence ID 屬性,因此響應能夠被返回到正確的位置(sequence)。

UVM sequencer就像是一個交通路口紅綠燈,因為多個sequence可能會通過同一個driver激勵DUT,其中sequencer會在sequence之間進行仲裁。

uvm_sequence_item中有一個uvm_sequencer的句柄(通過sequence的start方法傳遞),如下所示:

my_sequence.start(env.agt.sqr);
sequence是可以分層的,一個sequence可以啟動其他sequence,這種情況下每個 uvm_sequence_item 都有一個指向parent sequence的句柄。

結論

當開發UVM 測試平臺時,事務類一定需要從 uvm_sequence_item 擴展,而不是uvm_transaction。




審核編輯:劉清

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

    關注

    0

    文章

    182

    瀏覽量

    19228
  • DUT
    DUT
    +關注

    關注

    0

    文章

    189

    瀏覽量

    12490

原文標題:為什么使用 uvm_sequence_item 而不是uvm_transaction構建 UVM 事務?

文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    uvm的特點以及uvm為用戶提供了哪些資源?什么是uvmuvm是通用驗證方法學的縮寫,是為驗證服務的,
    發表于 01-21 16:00

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

    對象,就是transaction。  驗證工程師需要根據不同的項目對項目中的事務進行建模,事物對象的類需要從uvm sequence item這個基類進行擴展,為了事物在產生的時候可以自動的隨機化,一般
    發表于 01-26 10:05

    什么是uvmuvm的特點有哪些

    直觀的印象,就是uvm驗證平臺,它是分層的結構。圖中的每一個巨型框都代表著平臺的一個構成元素。這些元素,我們稱為平臺組建,下面來簡單的分析一下。從最底層上來看,agent 中包含了driver,monitor和sequencer,其中driver ,monitor中也包
    發表于 02-14 06:46

    如何構建UVM寄存器模型并將寄存器模型集成到驗證環境中

    ),通常也叫寄存器模型,顧名思義就是對寄存器這個部件的建模。本文要介紹的內容,包括對UVM寄存器模型的概述,如何構建寄存器模型,以及如何將寄存器模型集成到驗證環境中。篇幅原因,將在下一篇文章再給出寄存器
    發表于 09-23 14:29

    談談UVM中的uvm_info打印

    ) 《 verbosity)。另外也會看傳過來的severity和id的配置不是UVM_NO_ACTION,(get_report_action(severity,id) == uvm
    發表于 03-17 16:41

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

    和seq2誰會先啟動?  // Method1: using build-in start() method of sequence  task run_phase(uvm_phase phase
    發表于 04-04 17:15

    典型的UVM Testbench架構

    UVM類庫提供了通用的代碼功能,如component hierarchy、transaction level model(TLM),configuration database等等,使用戶能夠創建任何類型的Testbench架構。
    的頭像 發表于 05-22 10:14 ?2217次閱讀
    典型的<b class='flag-5'>UVM</b> Testbench架構

    UVM TLM的基本概念介紹

    UVM中,transaction 是一個類對象,它包含了建模兩個驗證組件之間的通信所需的任何信息。
    的頭像 發表于 05-24 09:17 ?1863次閱讀
    <b class='flag-5'>UVM</b> TLM的基本概念介紹

    UVM學習筆記(一)

    driver應該派生自uvm_driver,而uvm_driver派生自uvm_component。
    的頭像 發表于 05-26 14:38 ?1451次閱讀
    <b class='flag-5'>UVM</b>學習筆記(一)

    UVM Transaction-Level驗證組件

    如下圖所示,UVM中的TLM接口為組件之間Transaction的發送和接收提供了一套統一的通信方法。
    的頭像 發表于 05-29 09:31 ?697次閱讀
    <b class='flag-5'>UVM</b> <b class='flag-5'>Transaction</b>-Level驗證組件

    UVM中的uvm_do宏簡析

    uvm_do宏及其變體提供了創建、隨機化和發送transaction items或者sequence的方法。
    的頭像 發表于 06-09 09:36 ?5169次閱讀
    <b class='flag-5'>UVM</b>中的<b class='flag-5'>uvm</b>_do宏簡析

    UVMuvm_config_db機制背后的大功臣

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

    UVMuvm_config_db機制背后的大功臣

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

    一文詳解UVM設計模式

    本篇是對UVM設計模式 ( 二 ) 參數化類、靜態變量/方法/類、單例模式、UVM_ROOT、工廠模式、UVM_FACTORY[1]中單例模式的補充,分析靜態類的使用,UVM中資源池的
    的頭像 發表于 08-06 10:38 ?2079次閱讀
    一文詳解<b class='flag-5'>UVM</b>設計模式

    UVM設計中的sequence啟動方式有哪幾種

    本篇介紹UVM中的sequence,這是UVM中最基礎的部分。對于前面介紹的uvm_callback, uvm_visitor等,很少被使用到或者也只有搭建平臺的人會使用。
    的頭像 發表于 08-17 10:07 ?4706次閱讀
    <b class='flag-5'>UVM</b>設計中的sequence啟動方式有哪幾種<b class='flag-5'>呢</b>?
    都坊百家乐的玩法技巧和规则 | 百家乐官网sxcbd| 百家乐2号破解下载| 镇远县| 百家乐网站排行| 星空棋牌官方下载| 五星百家乐官网的玩法技巧和规则| 百家乐博百家乐的玩法技巧和规则| 百家乐官网比赛技巧| 太阳城百家乐口诀| 玉屏| 百家乐视频游戏界面| 博士娱乐| 24山天机申山寅向择日| 金赞| 网上百家乐可靠| 和记网上娱乐| YY百家乐官网的玩法技巧和规则| 大发888站群| 加多宝百家乐官网的玩法技巧和规则| 大发888官方 df888gfxzylc8| 百家乐官网的出千手法| 大发888娱乐游戏注册| 骰子百家乐官网的玩法技巧和规则| 鼎尚百家乐官网的玩法技巧和规则| 天朝博彩论坛| 百家乐视频双扣下载| 百家乐官网体育宝贝| 百家乐皇室百家乐的玩法技巧和规则 | 玩机器百家乐官网心得| 丽景湾百家乐的玩法技巧和规则| 玩百家乐官网输澳门百家乐官网现场 | 大发888娱乐场奖金| 金银岛百家乐官网的玩法技巧和规则 | 网上百家乐官网哪家最好| 威尼斯人娱乐城开户地址| YY百家乐官网的玩法技巧和规则 | 百家乐投注助手| 百家乐官网有人赢过吗| 太阳城申博娱乐城| 将军百家乐官网的玩法技巧和规则 |