网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

UVM中phase的执行顺序

时间:2023-05-26 15:00

人气:

作者:admin

标签: 顺序  phase  执行    UVM   

导读:代码的书写顺序会影响代码的实现(代码之间存在依赖关系,如代码B依赖于代码A),所以区分出build_phase、connect_phase等...

1 UVM中引入phase的原因

代码的书写顺序会影响代码的实现(代码之间存在依赖关系,如代码B依赖于代码A),所以区分出build_phase、connect_phase等,让被依赖的phase(代码A)先执行,依赖的phase(代码B)后执行,这样可以解决因代码顺序杂乱可能会引发的问题。

2 UVM中phase的执行顺序

图片

  1. 按上图所示顺序自上而下执行不同phase,且同类phase执行完后, 需要进行等待同步 ,然后才能执行下一类phase。而同类phase中不同component在UVM树种执行顺序如下:
    1. build_phase:在UVM树中依据自上而下的顺序启动,顺序运行
    2. 除了build_phase之外的function phase:在UVM树中依据自下而上的顺序启动,顺序运行
    3. task_phase:在UVM树中依据 自下而上的顺序启动,同时运行 (通过fork...join_none多线程方式)
    4. 直系关系的component
    5. 兄弟关系的component:在UVM树中依据字典序
    6. 叔侄关系的component:在UVM树中依据深度优先(即优先侄component执行)

3 UVM中引入objection的原因

上文提到代码会依据不同phase的顺序自上而下执行,且同类phase执行完后, 需要进行等待同步 。而引入objection就是为了更好的控制同类phase中执行代码的同步用的。

4 UVM中引入domain的原因

体现不同component的独立性。例如,把两个时钟域隔开, 这样两个时钟域内的各个动态运行( run_time) 的phase就可以不必同步了。使用该机制可以搭建多时钟域DUT的UVM仿真平台。

注意:domain 只能隔离run-time的phase , 对于其他phase, 其实还是同步的, 即两个domain的run_phase依然是同步的, 其他的function phase也是同步的。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信