ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

篇2-uvc间可用的通信方法比较(以monitor和sb为例)

2021-11-16 19:00:15  阅读:126  来源: 互联网

标签:monitor 为例 object scoreboard sb 全局变量 config 变量


1.全局变量

(1) 在monitor中对此全局变量进行赋值,在scoreboard中检测此全局变量值的改变;

(2)这种方法简单、直接,不过要避免使用全局变量;

2.public变量

(1) 在scoreboard中有一个变量,这个变量设置为外部可以直接访问的,即public类型的;

(2) 在monitor中对此变量赋值;

(3) monitor中要有一个指向scoreboard的指针, 否则虽然scoreboard把这个变量设置为非local类型的, monitor依然无法改变.

(4)这种方法的问题在于, 整个scoreboard的所有非local类型的变量对monitor都是可见的,可能会误改动scoreboard中的一些变量.

3.config机制

(1) 从uvm_object派生出一个参数类config_object, 在此类中有monitor要传给scoreboard的变量.

(2) 在base_test中,实例化这个config_object,并将其指针通过config_db#(config_object) :: set传递给scoreboard和monitor;

(3) 当monitor和scoreboard通信时, 只要把此config_object中相应变量的值改变即可.

(4) scoreboard中检测变量值的改变,检测到之后做相应动作.

4.TLM机制

(1)阻塞操作:比如monitor向scoreboard传递数据时,一直等在那里,等到scoreboard处理完事情,接收新的数据;

(2)非阻塞操作:比如monitor向scoreboard传递数据时,不等待,直接返回;

标签:monitor,为例,object,scoreboard,sb,全局变量,config,变量
来源: https://www.cnblogs.com/csjt/p/15562883.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有