正常约束(normal constraints)称为硬约束(hard constraints),因为解算器必须始终满足它们。如果解算器未能找到解,则随机化将失败。
然而,声明为“soft
”的约束为解算器提供了一定的灵活性,如果存在其他矛盾约束-硬约束或具有较高优先级的软约束,则需要满足该约束。
软约束用于指定随机变量的默认值和分布。
Example
下面的示例中显示了一个软约束(soft constraint),它告诉解算器为称为data
的变量生成4到12之间的值。
class ABC;
rand bit [3:0] data