说明:
1、virtual interface:定义一个interface,且实例化多个后,如果没有定义virtual,则在任何一个实 ...
TommyGG 发表于 2011-9-28 09:20
关于virtual interface,我不是很明白你的解释。
- `timescale 1ns/10ps
- //====interface
- interface inv_if();
- logic in, out;
- endinterface
- //====module
- module inv(inv_if t_if);
- assign t_if.out = !t_if.in;
- endmodule
- //====top
- module top;
- inv_if intfc1(), intfc2();
- inv inv1(intfc1);
- inv inv2(intfc2);
- virtual inv_if t_if;
- initial begin
- intfc1.in = 0;
- #1;
- $display("@%0t : intfc1.in = %d, intfc1.out = %d", $time, intfc1.in, intfc1.out);
- $display("@%0t : intfc2.in = %d, intfc2.out = %d", $time, intfc2.in, intfc2.out);
- #5
- $finish;
- end
- endmodule
复制代码
如果代码如上的话。没有virtual的interface inv_if例化的两个intfc1和intfc2的值的变化都不是相关的。所以我不太明白你说的virtual和非virtual在使用上的区别。 |