微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > SV class 操作ref 变量问题

SV class 操作ref 变量问题

时间:10-02 整理:3721RD 点击:
本人初学,请教一下弱智问题:验证模型全局有一个大的内存,定义了一个大的数组模拟
各个类中的某些方法会读写这个大内存。目前用ref在方法内不能操作外边的大内存数据,请问这是什么问题 。这种情况要怎么做?
bit [7:0] mem [bit[31:0]]
class a;
bit [7:0] mem [bit[31:0]];
integer i;
function new(ref bit [7:0] mem [bit[31:0]]);
this.mem=mem;
endfunction

function mem_ini();
for(i=0;i<256;i++)
mem[i]=i;
endfunction
endclass

你用引用(ref)以后,又用this.mem = mem做复制。你在mem_ini里面的操作都是针对复制后的memory,当然不会影响到ref的mem了。应该直接在mem_ini的参数里面用ref mem,不需要internal mem变量。

多谢,明白

建议如果是verification的话,不要使用这么大的reg数组,可以使用联合数组来实现,效率更高!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top