Recently there have been posts about Multiple Operators in same Constraint .
All the posts I read had operators with Associativity Left to Right , so I decided to try an example with
associativity Right to Left ( via Implication Operator )
Consider an expression with Implication Operator ::
expression1 -> expression2 is Equivalent to ::
( !expression1 || expression2 )
In a class with multiple Implication Operator ::
class Main ;
rand bit [2:0] a , b , c ;
constraint MULTI_IMPLI { ( a == 0 ) -> ( b == 1 ) -> ( c == 2 ) ; }
endclass
[Q1] How is the Constraint Solved ? Is there even a Constraint on a , b and c ?
[Q2] What inline Constraint ( for a , b and c ) would cause randomization to fail ?