Vic*_*sky 4 system-verilog uvm
通常情况下,我们的UVM模拟会因签名而失败,我们最终会调试到未连接的分析端口.
有没有办法检查前面的分析端口是否连接run_phase?
分析端口连接不是UVM要求.但是,当分析端口未连接时,某些UVM组件将无法正常工作.
对于这些情况,我建议在以下期间检查分析导入连接end_of_elaboration_phase:
`CHECK_PORT_CONNECTION(my_analysis_imp)
Run Code Online (Sandbox Code Playgroud)
上面的宏定义如下:
`define CHECK_PORT_CONNECTION(PORT) \
begin \
uvm_port_list list; \
PORT.get_provided_to(list); \
if (!list.size()) begin \
`uvm_fatal("AP_CONNECT", \
$sformatf("Analysis port %s not connected.", PORT.get_full_name())); \
end \
end
Run Code Online (Sandbox Code Playgroud)
完整的工作示例,其中一个连接端口和一个未连接的端口:http://www.edaplayground.com/x/2YG
| 归档时间: |
|
| 查看次数: |
3254 次 |
| 最近记录: |