- 博客(6)
- 收藏
- 关注
原创 UVM的运行(三)——domain
UVM中用于组织不同组件的概念。默认情况下,验证平台的所有组件component都位于同一个域common_domain中。假设DUT中有两个相对独立,可以分别复位reset、配置configure、运行的部分,没有domain的概念则两个部分默认情况就必须同时在reset_phase复位、同时在configure_phase配置、同时在main_phase运行。如下图为两个driver都位于common_domain的情况。
2024-09-29 20:59:21
955
原创 UVM的运行(二)——objection机制
例如只在main_phase中设置drain_time,而configure_phase中没有设置drain_time,在configure_phase中所有component的objection被撤销后,会立即进入post_configure_phase。当UVM在main_phase检测到所有的objection被撤销后,接下来会检查有没有设置drain_time。如果没有设置,则马上进入post_main_phase,否则延迟drain_time后再进入post_main_phase。
2024-09-29 18:57:22
1076
原创 UVM的运行(一)——phase机制
测试用例出现挂起hang up的现象,仿真时间一直往前走,但driver和monitor并没有处理事务,且没有UVM_ERROR出现,则仿真就不会停止。由于在my_driver中调用jump之前没有撤销my_case0中提起的objection,因此会报UVM_WARNING。uvm_root中有set_timeout函数,用于设置仿真超时退出时间,当超过改时间会退出仿真且报错UVM_FATAL。在main_phase中,一旦检测到rst_n为低电平,则马上跳转到reset_phase。
2024-09-28 23:15:50
1464
原创 数字芯片验证——约束
个值遍历取完,就已经重复取值WED的情况。rand类型的choice在从枚举类型choices中取数据时,choices中。randc类型的choice在从枚举类型choices中取数据时,不存在没有把。引导sv求解器的求解顺序,取值组合的个数不会变,但会影响各个组合的概率分布。在仿真时,可以选择性打开或关闭某几个约束块。的值为0或1或2或3,因此在2000次仿真中,会有大约500次。的值为0或1,因此在1000次仿真中,会有大约500次。个值会被取一次且仅一次,然后再开始下一周期的取值。
2024-09-27 19:23:10
1046
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人