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

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

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

UVM中的field automation機制有哪些用途

電子工程師 ? 來源:芯片驗證工程師 ? 作者:驗證哥布林 ? 2022-07-19 09:45 ? 次閱讀

不知道UVM中的field automation機制怎么翻譯,不管了,反正就是**機制,理解它能干啥就行了。

UVM中的field automation機制提供了2類宏,也可以理解為有2個用途。

第一類

uvm_object_utils_begin(TYPE) 和uvm_object_utils_end 宏用來聲明幾個uvm object基本的pure virtual 方法。
1.1 get_type_name() ,返回對象的類型,是一個字符串類型

1.2 create() 實例化一個對象,利用了工廠機制。對象類型能被override。

1.3 get_type()返回對象類型,用于工廠機制

第二類

`uvm_field_* 宏指定特定的屬性域段所支持的方法(print(), copy(), clone(),
pack(), unpack(), compare()等等).

`uvm_field_*(field_name, flags)
1 class packet_header extends uvm_object; 
2 rand bit [5:0] length; 
3 rand bit [1:0] addr; 
4 `uvm_object_utils_begin(packet_header) 
5 `uvm_field_int(length, UVM_DEFAULT) 
6 `uvm_field_int(addr, UVM_DEFAULT) 
7 `uvm_object_utils_end 
8 endclass : packet_header

上面的代碼示例展示了這2類宏的配合使用方式。

不管你贊不贊同,這種用戶類的聲明繼承方式已經(jīng)是深入人心的UVM代碼風格了。

你需要知道,每一次繼承UVM基類去聲明一個新的類,都需要有這些模版式的代碼。

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

    關(guān)注

    0

    文章

    181

    瀏覽量

    19085

原文標題:UVM中的Field Automation

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

收藏 人收藏

    評論

    相關(guān)推薦

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

    model加入scoreboard加入field_automation機制................如果有任何疑問請在下方評論.......
    發(fā)表于 12-02 15:21

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

    main_phase的聲明,一個uvm_phase類型的參數(shù)phase,在真正的驗證平臺 ,這個參數(shù)是不需要用戶理會的。本節(jié)的驗證平臺還算不上一個完整的
    發(fā)表于 12-04 15:48

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

      加入factory機制 上一節(jié)《IC驗證"一個簡單的UVM驗證平臺"是如何搭建的(五)》給出了一個只有driver、使用UVM搭建的驗證平臺。嚴格來說這根本就不算是UVM驗證
    發(fā)表于 12-08 12:07

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

    在上一節(jié),**《IC驗證"UVM驗證平臺加入factory機制"(六)》**雖然輸出了“main_phase is called”,但是“data is drived”并沒有
    發(fā)表于 12-09 18:28

    什么是uvm_reg_field

    uvm_reg_field是什么
    發(fā)表于 12-17 06:10

    什么是UVM Report機制?

    UVM Report機制概述
    發(fā)表于 12-21 06:55

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

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

    什么是uvmuvm的特點哪些呢

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

    如何構(gòu)建UVM寄存器模型并將寄存器模型集成到驗證環(huán)境

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

    談談UVMuvm_info打印

    uvm_report_enabled(xxx),會分析傳過來的severity和id的配置verbosity要大于傳過來的verbosity,(get_report_verbosity_level(severity, id
    發(fā)表于 03-17 16:41

    UVM實戰(zhàn)卷1 PDF電子書免費下載

    讀者思考UVM為什么要引入這些機制,從而使讀者知其然,更知其所以然。本書以一個完整的示例開篇,使得讀者一開始就對如何使用UVM搭建驗證平臺總體的概念。針對沒有面向?qū)ο缶幊袒A的用戶,
    發(fā)表于 11-29 08:00 ?32次下載
    <b class='flag-5'>UVM</b>實戰(zhàn)卷1 PDF電子書免費下載

    UVM sequence機制response的簡單使用

    sequence作為UVM幾個核心機制之一,它有效地將transaction的產(chǎn)生從driver剝離出來,并且通過和sequencer相互配合,成功地將driver的負擔降低至僅聚焦于根據(jù)協(xié)議將
    的頭像 發(fā)表于 09-22 09:26 ?2168次閱讀

    淺析UVM不同機制的調(diào)試功能

    作為UVM的用戶,我們需要相信在絕大部分情況下這些機制本身是沒有問題的。因此,從頂層獲得有效的調(diào)試信息就非常關(guān)鍵,比起潛入到內(nèi)部要高效得多。 這也是本文的目的,盤點UVM針對不同機制
    的頭像 發(fā)表于 02-14 16:23 ?1171次閱讀
    淺析<b class='flag-5'>UVM</b>不同<b class='flag-5'>機制</b>的調(diào)試功能

    UVMuvm_config_db機制背后的大功臣

    本次講一下UVMuvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-20 17:28 ?1151次閱讀

    UVMuvm_config_db機制背后的大功臣

    本次講一下UVMuvm_config_db,在UVM中提供了一個內(nèi)部數(shù)據(jù)庫,可以在其中存儲給定名稱下的值,之后可以由其它TB組件去檢索。
    的頭像 發(fā)表于 06-29 16:57 ?1007次閱讀