MCDF UVM实验lab1

phase机制

实验3.1

控制台输出信息如下
在这里插入图片描述

程序执行顺序:
① phase_order_test的build phase (build phase执行顺序为自顶向下)
② comp1的build phase
③ comp2的build phase
④ comp3的build phase

⑤ comp2、comp3的connect phase
⑥ comp1的connect phase
⑦ phase_order_test的connect phase

⑧ phase_order_test的run phase 开始 (存在1us的延迟)
⑨ comp1、comp3、comp2 的run phase
⑩ phase_order_test的run phase 结束

最后是comp2、comp3、comp1、phase_order_test的report phase

总结:build为自顶向下的执行顺序,connect和report都是自底向上,run应该也是自底向上

实验3.2

在这里插入图片描述
在这里插入图片描述
运行时间为2us

reset和run是同时开始执行的
main是在reset之后的1us才执行,说明reset和main之间存在先后的执行顺序

区别实验3.1的地方:执行了reset和main phase
但是run phase和其余的task phase尽量不一起适用,此处只是为了展示执行顺序

config机制

实验4.1传递的是接口
实验4.2传递的是对象
实验4.3传递的是变量

传递接口区别于其余两者,需要做以及注意的事项:
① 需要先顶层例化接口,再config_db传递接口
② 顶层的config_db第一个参数为uvm_root::get() (写成null也可以,uvm会自动转换为uvm_root::get())
③ 第二个参数表示路径,uvm_test_top.*
④ 接口的get一般会加if作为判断,如果获取不到应该uvm_error报错
⑤ 传递接口应该发生在run_test之前

传递对象的注意事项:
① 在buildphase中实现
② 先声明以及例化对象,并赋值对象
③ 最后才是传递
在这里插入图片描述
传递变量的注意事项:
① 在build phase 中实现
② 在变量对应的component例化前传递
③ 传递后再例化component
(尝试过先例化component,再传递变量,一样可行)
在这里插入图片描述

消息管理

实验开始前,打印的信息如下
在这里插入图片描述
实验5.1
不允许有任何uvm_message_test及其以下组件的消息在仿真中打印
在这里插入图片描述
实验5.2打印内容与实验5.1一致

实验5.3
在这里插入图片描述
要去掉CREATE,应该是要在顶层加上才能消去。即想要消除打印消息,必须在打印语句前添加set_report_id_verbosity_hier之类的函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值