子module可以直接用父module中实例化的接口interface

在module中定义一个interface,子module中可以直接用这个interface,而不需要传递什么的。 

interface bfm;
    logic[7:0] data;
    logic[7:0] addr;
endinterface;

module parent;
    bfm bif();
    initial begin
        bif.data=0;
        bif.addr=0;
        $display("@ %0t : [parent] begin test",$time);
        for(int i=0;i<5;i++) begin
            #100ns;
            bif.addr = i;
            bif.data = i;
            $display("@ %0t : [parent] addr is %0d",$time,bif.addr);
            $display("@ %0t : [parent] data is %0d",$time,bif.data);
        end
        $display("@ %0t :[parent] end test",$time);
    end
    child m_child();
endmodule

module child;
    begin
        $monitor("@ %0t : [child] bif.addr is %0h\tbif.data is %0h",$time,bif.addr,bif.data"); //监控bif的信号,当信号改变的时候,打印
        //在child中直接使用接口bif
    end
endmodule

module tb;
    parent m_parent;
endmodule

上面代码中,在子module 中直接使用接口bif,不需要传递。

 输出如下所示;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值