4_IC验证UVM方法学
文章平均质量分 66
爱吃桃子的ICer
这个作者很懒,什么都没留下…
展开
-
[UVM]6.component driver monitor sequencer agent scoreboard env test
(1)构建寄存器模型 :uvm_reg_predictor;激励器:driver/random_stimulus/sequencer_base/sequencer;监测器:monitor;检查器:in_order_comparator/algorithm_comparator/scoreboard(2)概述。原创 2024-09-06 00:31:55 · 294 阅读 · 0 评论 -
[UVM]5.config机制 report 消息管理
SV中通过set_interface完成接口的传递。uvm_config_db::set()的是子类的对象。uvm_config_db::get()的是父类的对象tmp。这时需要做个类型转换将tmp父类转为cfg子类。这样才能访问子类的成员变量并打印。如果将uvm_config_db#(uvm_object)中的uvm_object改为config1,这时就不需要$cast了。输出结果冗余度:这个消息到底重要不重要filename/line不需要工程师care,系统会自动配置上。原创 2024-09-06 00:28:46 · 347 阅读 · 0 评论 -
[UVM]4.phase机制 run_phase 12支phase UVM编译仿真顺序 raise_objection
12个分支是依次执行,与run_phase之间是并行执行关系。run_test方法继承与uvm_test,处于顶层中的方法。利用run_test()来建立验证环境。this:当前组件在当前run_phase中挂起或放下objection。原创 2024-09-05 00:35:33 · 314 阅读 · 0 评论 -
[UVM]3.核心基类 uvm_object 域的自动化 copy() compare() print() pack unpack
(1)在UVM的数据操作中,需要对copy和clone加以区分。前者默认已经创建好了对象,只需要对数据进行拷贝;后者则会自动创建对象并对source object进行数据拷贝,再返回target object句柄。无论是copy或者clone,都需要对数据进行复制。(2)示例从示例可以看到,在进行copy时,默认进行的是深拷贝(deep copy) ,即会执行copy()和do_copy()。(3)示例中要点(4)示例结果。原创 2024-09-05 00:36:00 · 410 阅读 · 0 评论 -
[UVM]2.注册宏 对象创建 覆盖 工厂方法
(1)概述1(2)概述2。原创 2024-09-03 00:45:46 · 355 阅读 · 1 评论 -
[UVM]1.factory工厂机制 & creat & uvm_coreservice_t
任何组件new函数(构建函数)只能有两个参数;parent 当前实例的上一层就是它的parent。type_id创建示例。factory是独有的。type_id 就是注册到工厂的类型(模具),第一个冒号找到模具,第二个冒号找到函数create会在后台调用它的new。仿真一开始 (run 0)原创 2024-09-03 00:40:03 · 320 阅读 · 0 评论