sv/uvm的一些tips

本文总结了SystemVerilog和UVM的一些实用技巧,包括bind的使用、格式化字符串的方法、UVM常用API、`define用法、$cast操作、randomize约束、命令行参数传递、transaction API、SystemVerilog的位宽转换以及UVM sequence的使用注意事项等,旨在帮助读者更好地理解和应用这些工具。
摘要由CSDN通过智能技术生成

1.bind的用法

bind module_name1 module_name2 inst_name();

module_name1:被bind的module

module_name2:发起bind的module

应用场景:module_name2中做assertion,去bind rtl内部module;module_name2是interface

 

2.格式化字符串

$psprintf("se%0d",idx); 

$sformatf("se%0d",idx);

$sformat(str_name,"se%0d",idx); //格式化字符串到str_name

void'($sscanf(str,"xx%3sxx",str_extract)); //例如str是"xxabcxx",则可以提取出字符串"abc"到str_extract

UVM_FILE/$fopen/$fdisplay

 

3.uvm常用api

get_name() //调用改函数的component的实例化时索引名字

get_full_name() //调用改函数的component在uvm tree中的全路径索引

uvm_is_match("*str*", cmp_name);//例如cmp_name是"xxstrxx"则可以匹配

uvm_hdl_read("top.dut.reg",value); //后门读取rtl信号

uvm_hdl_deposit("top.dut.reg",value); //

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值