【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