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