Interface、Clocking Block、BA、NBA

1、interface中可以使用:initial、always、function、task;

2、interface中定义的接口类型为logic(4态),不用bit是因为其只有2态,不足以表示dut signal的状态;wire也是4态的,使用logic而不使用wire的一个好处是logic不能双驱动,如果验证平台中有双驱动,编译会报错;

3、module、interface不同点:

  • module:可以例化module、interface;
  • interface:可以例化interface,但不能例化module;

4、flip flop:触发器;

5、系统函数:

  • $finish():结束仿真;
  • $stop():特点是stop后,还是继续执行(continue on)
  • $exit():用于退出program,program中不能实例化program;

6、interface中特殊用法(覆盖默认的采样方式):

7、CB中input、output的延时模拟了dut的建立时间、保持时间(如上图):

  • input:采集的是上升沿之前10ns的信号值;
  • output:驱动是在上升沿之后的2ns对dut信号进行驱动;

8、driver、monitor的一般使用说明:

  • driver:一般需要使用cb块对信号进行驱动,并使用NBA,是为了避免让dut产生竞争-冒险;
  • monitor:一般需要使用cb块对信号进行采样,并使用BA,是因为只是采样,并不是驱动dut,不会让dut产生竞争-冒险;
  • 详细规则:输入输出是针对cb块中的视角
    • rule_1:必须使用@cb,不能是@(posedge clk);
    • rule_2:对输出信号赋值,必须是cb.output,不能是output;
    • rule_3:对输入信号采样,必须是cb.input,不能是input;
    • rule_4:对输出信号采样,必须是output,不能是cb.output;
    • rule_5:赋值必须是NBA,不能是BA;
    • rule_6:采样必须是BA,不能是NBA;

9、硬件代码中时序逻辑使用NBA组合逻辑使用B。BA、NBA的不同如下:

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值