注册 登录
ET创芯网澳门十大网上博彩公司(EETOP) 返回首页

路科验证的个人空间 http://blog.eetop.cn/?1561828 [收藏] [复制] [分享] [RSS]

日志

SV及UVM接口应用篇之三:SystemC与UVM的TLM通信(续)

已有 387 次阅读2018-6-12 20:54 |个人分类:验证系统思想|系统分类:芯片设计

  

UVM指令API

UVMC除了可以实现SV与SC的TLM通信以外,还为SystemC/C/C++提供了控制UVM特性的API接口。这些API可以分为:

  • 等待UVM到一个特定的仿真阶段(phase)

  • 挂起或者放下objection以此来控制UVM test进程。

  • 通过UVM config_db来设置或者得到配置对象。

  • 通过config_db来覆盖(override)类或者实例的类型。

  • 打印UVM环境组件的拓扑结构(topology)。


为了使能SC一侧的UVMC API,用户需要在SV一侧调用UVM test前调用uvmc_cmd_init()。这个函数便会在后台监听从SystemC传来的UVM command请求并且做出响应。



在SC一侧可以利用UVMC来使用UVM的报告机制,通过传入的参数可以设置报告的等级、文本和冗余度。这些信息在SV一侧也支持过滤等功能,如同UVM的宏一样,UVMC也可以利用宏来发送报告。



UVMC也支持set/get config,而对象不只限于整形、字符串,还可以是对象。这里建议使用通过对象来配置,这种方式可以一次容纳多个变量(整形、字符串等)并且完成配置。在传递配置对象前,用户需要定义一个相应的配置类,并且将其在SC一侧完成转化,转化的方式如下:



而从下面的例码中可以看出,使用单一类型传递(整形、字符串)的出错概率要比使用配置对象传递的概率高,而且后者更容易调试。



UVMC也可以用来等待UVM phase的状态,同时通过objection机制来控制UVM test的进程。



UVM facotry的override机制通过UVMC也可以使用,而且UVMC还提供了调试的方法用来检查工厂中类覆盖的状况。



在使用UVMC来打印UVM的环境结构之前,你需要等待UVM的build phase结束,再调用相应的打印函数。



关于UVMC更多的内容和培训资料,路粉们可以在下面的链接中得到。

https://verificationacademy.com/topics/verification-methodology/uvm-connect


谢谢你对路科验证的关注,也欢迎你分享和转发真正的技术价值,你的支持是我们保持前行的动力。



评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|ET创芯网 ( 京ICP备:10050787号 京公网安备:110105001212 )

GMT+8, 2019-4-22 01:10 , Processed in 0.025966 second(s), 9 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部
博评网