Boolean equations vs. High Level
I could have specified the boolean equations for each ‘d’ FF input of the point register as:
d(0) <= (sp and dicesum(0) ) or ((not sp) and (q(0)) ; d(1) <= (sp and dicesum(1) ) or ((not sp) and (q(1)) ; d(2) <= (sp and dicesum(2) ) or ((not sp) and (q(2)) ; d(3) <= (sp and dicesum(3) ) or ((not sp) and (q(3)) ;
However, it is much easier (and clearer!) to simply write:
d <= dicesum when (sp = ‘1’) else q;
This statement DOES REPRESENT the above boolean equations; it is simply expressed differently.