SV接口的驱动和采样_2023.12.27】

cb

使用cloking block进行信号的同步
在cloking block,所有信号的采样和驱动,都是和时钟同步的

clocking cb @(posedge clk);
input grant;
output request;
endclocking

接口同步

用@和wait来同步测试平台中的信号
@bus.cb;

接口信号采样与驱动

采样沿之前的值,驱动沿之后的值
cb中input可读不可写,dut的信号影响cb的相应信号
output可写不可读,cb的信号影响dut的相应信号,读dut的信号
cb中output信号赋值驱动必须要用非阻塞赋值

在cb中,采样(input)和驱动(output):
同步后的采样信号,都是前一状态的值
同步后的驱动信号,都是当前状态的值

默认输入偏差为1step,输出偏差为#0
改变默认的方法:cb中加default input #2 output #2;

接口中的双向信号

logic不能被inout驱动

SV中没有明确定义如何驱动接口中的异步双向信号,故使用的方式:
连续赋值语句assign
虚接口

program中不支持always块

cb的使用

在这里插入图片描述
引用信号写为arbif_DUT.grant

最近更新

  1. TCP协议是安全的吗?

    2023-12-30 10:34:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-30 10:34:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-30 10:34:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-30 10:34:03       18 阅读

热门阅读

  1. 结构体--高考数组

    2023-12-30 10:34:03       39 阅读
  2. STM32传输FPGA业务

    2023-12-30 10:34:03       35 阅读
  3. Windows下Qt使用MSVC编译出现需要转为unicode的提示

    2023-12-30 10:34:03       33 阅读
  4. Vue - 事件处理详解

    2023-12-30 10:34:03       36 阅读
  5. Docker搭建kafka集群

    2023-12-30 10:34:03       28 阅读
  6. 如何在Vue.js中使用$emit进行组件通信

    2023-12-30 10:34:03       35 阅读
  7. leetcode贪心(最大子序列和、分发饼干、摆动序列)

    2023-12-30 10:34:03       31 阅读