之前在文章中已经介绍过UVM的优势以及学习方法,UVM已经成了学习数字验证的入门课程,想必大家都知道它的重要性。对于想要往验证发展的同学,一定要了解UVM。下面IC修真院继续带大家来了解一下UVM的一些知识点。
UVM基础
UVM的全程为,Universal Verification Methodology,意为通用验证方法学,前身是OVM,貌似是mentor弄的一套东西,本质上,验证方法学只是对systemverilog进行一些常用类的封装,按照一套统一的流程,进行验证活动,经过多次对比之后,发现方法学只是各个验证公司间博弈的产物,eetop上有人说过真正牛逼的验证应该是自己有一套合适的验证方法,鉴于他的名字已经叫“通用”了,所以应该对各个验证结构来说是比较通用的。

一、factory机制
在uvm平台中,一个利用`uvm_component_utils注册的类,只要被实例化了,就会自动调用它的main_phase。run_test(“class name”)会根据类名创建一个实例,如果这个类利用工厂机制注册了,则它的main_phase会被自动调用。
拓展知识点:
+UVM_TESTNAME=test_base这个测试用例是如何传入验证平台进去的? UVM中的executionmanager组件(uvm_root)会去根据UVM_TESTNAME关键词读入test_base,读入的方法是test.sv里面的run_test(),而且会同时利用UVMfactory的机制去创建一个uvm_test_top的顶层。
哪一句代码会引起+UVM_TESTNAME=test_base传入进来?
run_test();run_test( ) 还会去创建uvm_test_top的树形结构,做为做顶层的树根存在,是整个UVM环境的中

本文介绍了UVM的基础概念,包括factory机制、objection机制、interface的使用、build_phase的作用及transaction的概念。UVM作为数字验证的重要工具,对于从事验证工作的工程师来说至关重要。
&spm=1001.2101.3001.5002&articleId=127317925&d=1&t=3&u=3a3950916c93479c8cc04378f89fcc0a)
729

被折叠的 条评论
为什么被折叠?



