路科验证(Rocker IC)专注于验证系统思想和前沿工程资讯,拥有一支活跃的技术原创团队,著有《芯片验证漫游指南》一书,致力为高校微电子相关专业学生与IC从业人员提供技术食粮。 您可以在手机移动端同步关注微信订阅号“路科验证”或是登录网页www.rockeric.com了解更多资讯。如果您需要联系我们,请发送邮件至 rocker.ic@vip.163.com 。

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

上一篇 / 下一篇  2018-06-12 20:54:55 / 个人分类:验证系统思想

  

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


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




TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

路科验证

路科验证

路科验证(Rocker IC)专注于验证系统思想和前沿工程资讯,拥有一支活跃的技术原创团队,为高校微电子相关专业学生与IC从业人员提供技术食粮。 您可以在手机移动端同步关注微信订阅号“路科验证”。如果您需要联系我们,请发送邮件至 rocker.ic@vip.163.com 。

日历

« 2018-12-10  
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

数据统计

  • 访问量: 196785
  • 日志数: 268
  • 建立时间: 2016-06-25
  • 更新时间: 2018-12-09

RSS订阅

Open Toolbar