1.
logic[7:0] ipv4_pld[];
int pld_size_int;
pld_size_int=ipv4_pld.size();
ipv4_pld
=pld_size_int[15:8]; //calcchecksum ,set length
ipv4_pld
=pld_size_int[7:0];
// ipv4_pld
=ipv4_pld.size()[15:8]; //calcchecksum ,set length
// ipv4_pld
=ipv4_pld.size()[7:0];
如上所示,在ius里,必须将size先赋值int,才能放到数组里,而在qsim,直接赋值既可
2.
若在某uvm component中使用
$exit(); 在qsim可行,在ius会报错。
但是都可以使用$finish();
3.
若定义
interface rio_i_if(input bit rio_clk);
logic start ;
logic done;
logic [7:0] payload_array [];
clocking mck @(posedgerio_clk);
input done;
output start;
outputpayload_array;
endclocking: mck
modport master(input rio_clk,clocking mck);
endinterface
然后再driver或者monitor中调用
rio_i_vif sigs;
@(this.sigs.mck);
则对于ius,是在clk的上升沿触发,对于qsim10.1d,在上升下降都触发,估计这是bug
@ (posedgethis.sigs.mck);
则对于ius,会编译错误,对于qsim会通过编译正常运行
4.
在某package中
import uvm_pkg::*;
`include 'uvm_macros.svh'
如果已经在仿真选项指定uvm home则qsim可以省略 `include 'uvm_macros.svh' 这句
在ius中,省略会编译错误
5.
对virtual class 示例化,在qsim中可以通过,ius会报错
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。