您的位置:首页 > 娱乐 > 八卦 > 安卓代理ip软件_网络营销推广目的_如何在网络上推广产品_2024年阳性最新症状

安卓代理ip软件_网络营销推广目的_如何在网络上推广产品_2024年阳性最新症状

2025/8/18 10:14:45 来源:https://blog.csdn.net/qitiandasheng12345/article/details/142916751  浏览:    关键词:安卓代理ip软件_网络营销推广目的_如何在网络上推广产品_2024年阳性最新症状
安卓代理ip软件_网络营销推广目的_如何在网络上推广产品_2024年阳性最新症状

15、 TLM通信

15.1 实现两个组件之间的通信有哪几种方法?分别什么特点?

最简单的方法就是使用全局变量,在monitor里对此全局变量进行赋值,在scoreboard里监测此全局变量值的改变。这种方法简单、直接,不过要避免使用全局变量,滥用全局变量只会造成灾难性的后果。
稍微复杂一点的方法,在scoreboard中有一个变量,这个变量设置为外部可以直接访问的,即public类型的,在monitor中对此变量赋值。要完成这个任务,那么要在monitor中有一个指向scoreboard的指针,否则虽然scoreboard把这个变量设置为非local类型的,但是monitor依然无法改变。这种方法的问题就在于,整个scoreboard里面的所有非local类型的变量都对monitor是可见的,而假如monitor的开发人员不小心改变了scoreboard中的一些变量,那么后果将可能会是致命的。
由config机制的特性可以想出第三种方法来,即从uvm_object派生出一个参数类config_object,在此类中有monitor要传给scoreboard的变量。在base_test中,实例化这个config_object,并将其指针通过config_db#(config_object)::set传递给scoreboard和monitor。。这种方法比上面的两种方法都要好,但是仍然显得有些笨拙。一是要引入一个专门的config_object类,二是一定要有base_test这个第三方的参与。在大多数情况下,这个第三方是不会惹麻烦的。但是永远不能保证某一个从base_test派生而来的类会不会改变这个config_object类中某些变量的值。也就是说,依然存在一定的风险。

a. TLM通信的优点是是什么?SV中用的是什么通信方式?TLM通信与mailbaox的对比?
  • 通信函数可以定制化,例如你可以定制put()/get()/peek()的内容和参数,这其实比mailbox 的通信更加灵活。

  • 将组件实现了完全的隔离,可以参考红宝书图12.4,因为只有通过层次化的TLM端口连接,我们就可以很好地避免直接将不同层次的数据缓存对象的句柄进行“空中传递”。而TLM 端口按照层次的连接,虽然看起来有点繁复,但也正因为这一点,可以使得组件之间保持很好的独立性。</

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com