文章目录
- 前言
- 一、SystemVerilog约束随机
- 1.1 集合操作set membership
- 1.2 权重约束weighted constraints
- 1.3 队列约束array constranint
- 1.4 条件约束order constraints
- 1.5 等价约束equivalence constraints
- 1.6 顺序约束solver order
- 总结
前言
这里主要记录一下systemverilog中的一些约束,包括:
- 集合操作set membership
- 权重约束weighted constraints
- 队列约束array constranint
- 条件约束order constraints
- 等价约束equivalence constraints
- 顺序约束solver order
一、SystemVerilog约束随机
1.1 集合操作set membership
利用关键字inside可以做集合约束,利用!符号可以对集合约束取补集。
1.2 权重约束weighted constraints
:= 符号是范围内的所有值取相等的权重;
:/ 符号是范围内的所有值共用权重,每个值的权重等于权重值除以范围内值的个数。
1.3 队列约束array constranint
可以利用队列自带的size或者sum等方法,对队列进行约束。
1.4 条件约束order constraints
可以利用蕴含操作符->或者if-else,来做条件约束。
1.5 等价约束equivalence constraints
利用<->符号可以控制等价约束。
1.6 顺序约束solver order
利用solver-before可以控制变量约束解析的顺序。
总结
主要记录一些sv中的约束方法,方便查阅。