【UVM-26.6】UVM HDL后門訪問支持例程-uvm_hdl_*


26.6 UVM HDL Backdoor Access support routines

這些例程為寄存器使用的DPI/PLI后門訪問提供接口。
如果你不想使用DPI HDL API,那么使用vlog開關編譯SystemVerilog代碼。
vlog ... +define+UVM_HDL_NO_DPI ...
概要
UVM HDL后門訪問支持例程。
這些例程為寄存器使用的DPI/PLI后門訪問提供接口
變量
UVM_HDL_MAX_WIDTH 設置后門訪問的位向量的最大大小。
方法
uvm_hdl_check_path 檢查給定的HDL路徑是否存在。
uvm_hdl_deposit 將給定的HDL路徑設置為指定的值。
uvm_hdl_force 強制給定路徑上的值。
uvm_hdl_force_time 強制給定路徑上的值為指定數量的force_time。
uvm_hdl_release_and_read 釋放先前使用uvm_hdl_force設置的值。
uvm_hdl_release 釋放先前使用uvm_hdl_force設置的值。
uvm_hdl_read() 獲取給定路徑處的值。

UVM_HDL_MAX_WIDTH
parameter int UVM_HDL_MAX_WIDTH = UVM_HDL_MAX_WIDTH`
設置后門訪問的位向量的最大大小。該參數將由DPI-C代碼使用:vpi_handle_by_name( “uvm_pkg::UVM_HDL_MAX_WIDTH”, 0);

方法

1.uvm_hdl_check_path

import "DPI-C" context function int uvm_hdl_check_path(
string path
)

檢查給定的HDL路徑是否存在。如果沒有找到則返回0,否則返回1。

2.uvm_hdl_deposit

import "DPI-C" context function int uvm_hdl_deposit(
string path,
uvm_hdl_data_t value
)

將給定的HDL路徑設置為指定的值。如果調用成功返回1,否則返回0。

3.uvm_hdl_force

import "DPI-C" context function int uvm_hdl_force(
string path,
uvm_hdl_data_t value
)

強制給定路徑上的值。如果調用成功返回1,否則返回0。

4.uvm_hdl_force_time

task uvm_hdl_force_time(
string path,
uvm_hdl_data_t value,
time force_time = 0
)

強制給定路徑上的值為指定數量的force_time。如果force_time為0,則調用uvm_hdl_deposit。如果調用成功返回1,否則返回0。

5.uvm_hdl_release_and_read

import "DPI-C" context function int uvm_hdl_release_and_read(
string path,
inout uvm_hdl_data_t value
)

釋放先前使用uvm_hdl_force設置的值。如果調用成功返回1,否則返回0。值在釋放后被設置為HDL值。對於' reg ',該值將仍然是強制值,直到它被過程地重新分配。對於' wire ',該值將立即更改為它的連續驅動程序的解析值(如果有的話)。如果沒有,它的值將保持強制值,直到下一次直接賦值。

6.uvm_hdl_release

import "DPI-C" context function int uvm_hdl_release(
string path
)

釋放先前使用uvm_hdl_force設置的值。如果調用成功返回1,否則返回0。

7.uvm_hdl_read()

import "DPI-C" context function int uvm_hdl_read(
string path,
output uvm_hdl_data_t value
)

獲取給定路徑處的值。如果調用成功返回1,否則返回0。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM