在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4341|回复: 2

[求助] SV中的modport使用的迷惑

[复制链接]
发表于 2019-5-9 00:34:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 jjxgh 于 2019-5-9 01:00 编辑

1、interface的主要目的就是将DUT和tb隔离开来,我是把interface理解成一个插座,这个插座上边连接着dut,和tb,也就是driver,mon等等的组建,所以可以根据需要,定义多个interface,比如driver定义一个interface,mon对应一个interface,dut定义一个interface。也可以只定义一个interface。
那么对于modport这个如何理解,modport可不可以认为,不想定义很多interface,我就用一个interface来取代所有的Interface,每个Interface实际就对应一个modport,所以在例化interface的时候,是例化interface.modport???而不是总的interface??

2、比如下边这个例子是视频中的例子,Modport的使用就不是很理解,例子中的interface定义的modport是TB,也就是说是连接testbench部分的接口,那为什么class driver对接上了呢??(是不是这里的tb的interface就是指的tb里边的driver组建的接口呢??所以这个TB其实就是dirver的接口),那么对于driver来说,例化的虚接口,如我第一点提出的,例化的是router_io.TB,而不是router_io?而在driver中调用的是用的例化后的router.cb???
3、第三个问题,下边例子中的class driver,它的虚接口是通过new的时候传递进来的,我感觉这样很麻烦啊,要把定义的变量都指定一下嘛?不能在tb里边例化了interface之后,直接把Interface给赋值给driver.router嘛??这样的话driver的类不就不用写new函数了嘛,直接用系统自带的new函数不久可以了嘛???
interface router_io(input bit clock);r
xxxxxx
clocking cb@(posedge clock);
    output din,frame_n,valid_n;
    input   dout, frameo_n, valido_n;1
endclocking

modport TB(clocking cb,output reset_n);
endinterface

module router_test_top;
    router_io io_0(systemclock);
    router_io io_1(systemclock);
    test  t(io_0,io_1,reset_n);
    router dut (
         .clock(systemclock),
         .reset_n(reset_n),
         .din0(io_0.din),
         .frame_n0(io_0.valid_n)
         ...
    );
endmodule

class driver;
    string name;
    virtual router_io.TB router;
    function new(string name = "driver", virtual router_io.TB router);
           this.name = name;
           this.router = router;
    endfunction

    virtual task send_addrs();
        router.cb.frame_n[sa] <= 1'b0;
       .......
   endtask
endclass


发表于 2019-5-9 13:39:50 来自手机 | 显示全部楼层
modport就是个鸡肋,从来不用。包括很多大厂的vip也没用这玩意儿。
发表于 2023-11-1 20:57:54 | 显示全部楼层


saipolo 发表于 2019-5-9 13:39
modport就是个鸡肋,从来不用。包括很多大厂的vip也没用这玩意儿。


谢谢大佬~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-23 21:29 , Processed in 0.015273 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表