芯片验证学习随记1-随机约束,线程与UVM组件
分享常见写法,以便工作查询使用。
·
分享常见写法,以便工作查询使用
TreeExplorer
声明随机变量的类
权重分布
集合成员和inside
条件约束
打开或关闭约束
选择不同约束组合
内嵌约束
soft : 软约束: 当内外部约束不满足时, 软约束优先级更低
随机数函数
- randomize() -> pre_ 和post
- 简单的随机化
约束数组中的元素
产生唯一元素值的数组
随机化句柄数组
Randstuff没有随机化
随机序列
UVM有更好用的方法
随机控制
fork三种语句块
等待所有衍生线程
停止单个线程
停止等待!
停止多个线程
线程间通信 event
多个event -> callback
semaphore 操作
多个线程申请使用公共资源,比如申请总线资源
get -> put
线程互斥:
等待资源:
mailbox 信箱
线程之间传递信息 类似于queue
简单go
复杂 go:
线程同步的需求
- event同步
- semaphore同步
- mailbox同步
UVM类库地图
Phase机制
层次关系
创建测试平台 !!

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)