有什么方法可以将apb主vip连接到内部有apb信号的dut内部模块。我想在这个深层的dut模块中编写一些寄存器。
我试图连接一个接口并将其绑定到模块内部的深处,这是可行的,但我必须将接口上的所有信号声明为I / O,而我的模拟器不喜欢它,并抛出很多关于多次驱动的警告。
是否还有其他干净的访问方式?
答案 0 :(得分:0)
如果要绑定的内部模块的名称是固定的,则不需要绑定模块中的端口进行通信。相反,您可以对内部模块中的信号使用向上名称引用(请参见LRM中的23.8节)。
例如,假设内部模块名称为im
,而您要绑定的接口为bi
。
module im(whatever port list);
// internal signals
logic [15:0] data;
wire [15:0] add;
logic [15:0] memory[16];
...
endmodule
interface bi();//no ports needed
function void reset_memory;
foreach (im.memory[e]) im.memory[e] = 0;
endfunction
endinterface