一、概述
Monitor主要的功能是用来观察DUT的边界或者内部信号,并且经过打包整理传送给其它验证平台的组件。
从监测信号层次来划分monitor功能:
- 观测DUT边界信号:对于系统信号,如时钟,可以监测其频率的变化;对于总线信号,可以监测总线的传输类型和数据内容,以及检查总线时序是否符合协议。
- 观测DUT内部信号:灰盒验证,用来指导Stimulator激励发送,或者完成覆盖率收集,又或者完成内部功能的检查。
二、监测器组件结构
方案一:一个总的Monitor
方案二:分布式,每一个Stimulator对应一个Monitor
两个方案的比较:
- 独立性:方案二较好,不同接口信号的采集交给相应的Monitor。
- 复用性:方案二较好,相对独立的Monitor可以更好的作为验证IP被其它验证环境所复用。
- 可维护性:方案二较好,定向维护Monitor不需要考虑其它的Monitor。
- 封装性:方案二较好,Monitor和Stimulator一一对应,可将其封装成独立的小组件,使其提供激励和监测。
三、内部信号监测建议
- 没有特殊需要,应该采取灰盒验证的策略。
- 观测的内部信号应尽量少,且应当是表示状态的信号。
- 可以通过接口信息计算的,就尽量少去监测内部信号,因为这种方式有悖于假定设计有缺陷的验证思想,观测到的内部信号在被环境采纳之前也有必要确认它们的逻辑正确性,可以通过动态检查或者断言触发的方式实现。