书接上回:
从零开始搭建UVM平台(一)-只有uvm_driver的验证平台
从零开始搭建UVM平台(二)-加入factory机制
从零开始搭建UVM平台(三)-加入objection机制
从零开始搭建UVM平台(四)-加入interface
从零开始搭建UVM平台(五)-加入transaction机制
从零开始搭建UVM平台(六)-加入env
- 加入monitor
为什么要加入monitor?monitor的作用和driver相反,driver负责驱动数据给dut,monitor负责从dut收集收据并将数据处理后送给环境的scoreboard进行数据比对。
第一步:创建一个monitor文件
需要注意的是,monitor负责收集数据就需要while(1)循环来不断检测数据。代码第45-59行是加了一个看门狗机制,只要vld拉低超过200ns,环境就会自动退出。
第二步:在env里例化monitor
需要注意的是,例化了两个monitor,一个用于检测dut的入口数据,一个用于检测dut的出口数据。
第三步:顶层需要传入interface给monitor
结果:打印了两个monitor收到的两个包的数据