systemverilog中奇怪的语法


1、->运算符

expression_a->expression_b其实等效于(!expression_a || expression_b),systemverilog中利用 || 运算的短路运算功能,即当!expresstion_a=ture(语句expression_a=false)时不执行expression_b。

运用:在constraint中

mode == little -> len <  10;

这个就等效于

if(mode==little){

  len < 10;

}

即只有mode==little的时候才约束len小于10

 

2、soft

约束中使用到,修饰为soft的约束,可以被覆盖

如果最初约束是这样的:a == 10;如果后续又约束a == 11;那么会报错,因为这两个约束没法求解。

但是最初约束是这样的:soft a == 10;后续又约束a == 11;那么就不会报错,随机数据时以后续约束 为准,即约束a==11;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM