
UVM
文章平均质量分 67
分享UVM知识的专栏
谷公子的藏经阁
分享CPU, 各种AMBA协议, 芯片验证, 方法学, 脚本, EDA。Wechat(专芯致志er)
展开
-
uvm_sequence_library 中添加sequence类型的两种方式
本文介绍了uvm_sequence_library中添加sequence类型的两种方式。原创 2023-08-27 11:32:10 · 427 阅读 · 0 评论 -
UVM Heartbeat机制
本文介绍了uvm_heartbeat工作机制,以及如何在UVM环境中使用它。原创 2023-08-24 21:48:20 · 679 阅读 · 0 评论 -
UVM环境debug的正确开启方式
本文主要讲述了UVM提供了哪些调试代码的内置方法,可以让用户事半功倍,提升效率。原创 2023-07-01 17:01:24 · 3487 阅读 · 2 评论 -
有趣的UVM_LOG用法
本文讲述了如何使用UVM_LOG功能将自己感兴趣的信息提取到单独的log,并结合Command Line命令,可以实现一种不需要重复编译就可以定向提取各种ID信息的方法。原创 2023-06-25 08:15:00 · 1275 阅读 · 0 评论 -
UVM1.2究竟在UVM1.1上做了哪些升级
本文总结了UVM1.2在UVM1.1上做的主要改动,这些改动对我们会有什么影响,以及如何适配这些改动。原创 2023-06-22 20:01:30 · 3363 阅读 · 0 评论 -
UVM中uvm_config_db机制背后的大功臣
本文主要讲述UVM中uvm_config_db机制背后扮演重要角色的uvm_glob_to_re()和uvm_re_match(),并给出1个例子便于大家理解。原创 2023-06-17 21:59:09 · 1331 阅读 · 1 评论 -
uvm_sequence_library启动的sequence的一个注意点
本文分析了放在uvm_sequence_library里启动的子sequence不能将执行代码放大pre_body()/post_body()当中,否则会造成没有被执行到。原创 2023-04-08 08:04:37 · 970 阅读 · 0 评论 -
UVM response_handler和get_response机制
本文详解了UVM中response_handler和get_response的背后运行机制原创 2023-04-05 11:03:31 · 4414 阅读 · 0 评论 -
UVM中使用put_response的一个注意点
本文讲解了在uvm_driver中使用put_response的一个注意事项,要确保对应sequence的body仍然没有结束,否则对方就无法收到了,造成意想不到的情况。原创 2023-04-05 09:28:44 · 2015 阅读 · 0 评论 -
UVM uvm_sequence_library的add_typewide_sequence和add_sequence的区别
本文详细阐述了UVM uvm_sequence_library的add_typewide_sequence和add_sequence的区别原创 2023-03-30 22:52:17 · 388 阅读 · 0 评论 -
UVM中seq.start()和default_sequence执行顺序
解析UVM中seq.start()和default_sequence如果在同一个phase中,它们的执行顺序原创 2023-03-30 21:19:15 · 2071 阅读 · 0 评论 -
谈谈UVM中的uvm_info打印
本文主要讲述了UVM中uvm_info的原理原创 2023-03-05 22:33:44 · 5980 阅读 · 0 评论 -
UVM中的正则匹配
UVM正则表达式原创 2022-02-07 21:15:37 · 4464 阅读 · 0 评论 -
UVM平台启动和结束
UVM中通过objection机制来控制验证平台的关闭。在每个phase中,UVM会检查是否有objection被提起(raise_objection),如果有,那么等待这个objection被撤销(drop_objection)后停止仿真;如果没有,则马上结束当前phase。raise_objection语句必须在第一个消耗仿真时间的语句之前,如$display语句是不消耗仿真时...原创 2019-09-15 21:45:07 · 6424 阅读 · 0 评论 -
UVM中启动sequence的方法
UVM中启动sequence的方式有两种方式,分别为手工启动和自动启动。原创 2019-09-16 21:51:47 · 7737 阅读 · 0 评论 -
UVM中的PHASE类别及PHASE同步
UVM中的phase,按照其是否消耗仿真时间($time打印出的时间)的特性,可以分成两大类:一类是function phase,这些phase是通过函数实现;另外一类是task phase,这些phase是通过任务实现的。原创 2019-09-16 22:01:51 · 2490 阅读 · 0 评论 -
UVM中run phase和main phase区别
run_phase和main phase都是task phase,且是并行运行的,后者称为动态运行(run-time)的phase。原创 2019-09-18 20:25:35 · 13704 阅读 · 0 评论 -
UVM中drain_time使用
DUT的输出相对于输入总会有一定的延时?如何保证DUT的输出完毕后再停止UVM平台? uvm_objection可以设置一个特性drain_time,用来定义在phase结束后延时大小。当UVM在某个task phase中检测到所有的objection被撤销后,接下来会检查有没有设置drain_time。如果没有设置,则马上进入下一个phase,否则延迟drain_time后再进...原创 2019-09-18 20:33:02 · 2675 阅读 · 0 评论 -
UVM中Virtual sequence的作用
virtual sequence是用来实现sequence之间的同步。原创 2019-09-18 20:53:13 · 6824 阅读 · 0 评论 -
UVM如何debug objection
与phase的调试一样,UVM同样提供了命令行参数来进行objection的调试:原创 2019-09-18 20:57:34 · 3549 阅读 · 0 评论 -
UVM中uvm_component之间的transaction传输
有5个uvm component class:A, B, C, D, E,需要把一个transaction从A通过B, C, D传到E,怎么传输?原创 2019-09-18 22:03:11 · 2101 阅读 · 0 评论 -
UVM平台结构及每个组件的作用
对于验证方法学来说,分层的测试平台是一个关键的概念。原创 2019-09-15 21:23:32 · 12202 阅读 · 0 评论 -
UVM中Objection的作用
objection机制用来控制验证平台的关闭。原创 2019-09-18 20:28:29 · 2300 阅读 · 0 评论