电子说
代码的书写顺序会影响代码的实现(代码之间存在依赖关系,如代码B依赖于代码A),所以区分出build_phase、connect_phase等,让被依赖的phase(代码A)先执行,依赖的phase(代码B)后执行,这样可以解决因代码顺序杂乱可能会引发的问题。
上文提到代码会依据不同phase的顺序自上而下执行,且同类phase执行完后, 需要进行等待同步 。而引入objection就是为了更好的控制同类phase中执行代码的同步用的。
体现不同component的独立性。例如,把两个时钟域隔开, 这样两个时钟域内的各个动态运行( run_time) 的phase就可以不必同步了。使用该机制可以搭建多时钟域DUT的UVM仿真平台。
注意:domain 只能隔离run-time的phase , 对于其他phase, 其实还是同步的, 即两个domain的run_phase依然是同步的, 其他的function phase也是同步的。
全部0条评论
快来发表一下你的评论吧 !