System Verilog学习笔记(九)——验证环境结构

System Verilog学习笔记(九)——验证环境结构

测试平台testbench)是整个验证系统的总称。它包含验证结构中的各个组件、组件之间的连接关系、测试平台的配置和控制。而且也包含编译仿真的流程、结果分析报告和覆盖率检查等。

验证环境框图

验证组件框图

  • 各个验证组件之间是独立的
  • 验证组件与设计之间需要连接
  • 验证组件之间需要通信
  • 验证环境也需要时钟和复位信号的驱动

验证环境组件

1.激励发生器(stimulator)
验证环境的重要组件,在一些场合也被称为driver(驱动器)BFM(bus function model,总线功能模型)behavioral(行为模型)或者generator(发生器)

  • stimulator的主要职责是模拟与DUT相邻设计的接口协议,只需要关注如何模拟接口信号,使其能够以真实的接口协议来发生激励给DUT。
  • stimulator应该给出更多比真实硬件行为更丰富的激励,会使在模块级的验证更加充分。
  • 他的接口主要是同DUT之间的连接,此外也应该有时钟和复位的输入,确保生成的数据同DUT接口一侧是同步关系。
  • Stimulator可以存储生成过的数据用于后期数据比较调试
  • 有其他的配置接口来控制接口的数据生成
  • stimulator可以进一步分为发起器(initiator)和响应器(responder)

2. 监测器(Monitor)

  • Monitor的主要功能是用来观察DUT的边界或者内部信号,并且经过打包整理传送给其他验证平台的组件,例如checker(比较器)。
  • 从监测信号的层次来划分monitor的功能,可以分为观察DUT边界信号和观察DUT内部信号。边界信号,对于系统信号如时钟,可以监测其频率变化;对于总线信号,可以监测总线得到传输类型和数据内容,以及检查总线时序是否符合协议。对于内部信号,可以用来指导stimulator的激励发送,或者完成覆盖率收集,完成内部功能的检查。

3. 比较器(checker)

  • checker的主要任务是模拟设计行为和功能检查的任务
  • 缓存从各个monitor收集到的数据
  • 将DUT输入接口侧的数据汇集到内置的 reference model(参考模型)。reference model扮演模拟硬件功能的角色
  • 通过数据比较的方法,检查实际收集到的DUT输出端接口数据是否和reference model产生的期望数据一致
  • 对于设计内部的关键功能模块,也有相对应的线程进行独立的检查
  • 可以将检查成功的信息统一纳入到检查报告中,便于仿真后追溯,若检查失败也可以暂停仿真同时报告错误信息的方式进行在线调试
  • 线上比较(online check):在仿真时收集数据和在线比较,并实时报告
    线下比较(offline check):将仿真时收集到的数据记录在文件中,在仿真结束后,通过脚本或者其他手段进行数据比较。
  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值