书接上回:
从零开始搭建UVM平台(一)-只有uvm_driver的验证平台
加入factory机制
前面搭建的平台其实一点都没有用到uvm的特性。
加入factory机制的明显两个优点:(1)不用自己手动例化类;(2)自动调用phase
实现上面两个功能只需要修改两个地方:
1. 把my_driver.sv注册到factory中,只需要添加一行代码:
2. Harness.sv里把手动例化替换成:
结果:
并没有打印出前面出现的10条uvm_info,这是因为uvm里的phase的执行需要objection机制来保证该phase是否需要执行,如果需要执行,则需要在第一个消耗仿真时间语句前raise_objection,最后再drop_objection。具体见下节内容。