C
Clyde R. Shappee
Guest
Hello, all,
I am having a dialog with a co-worker regarding state machine encoding.
We need to implement a synthesizer imdependant method of coding a state
machine so that if an illegal state has been entered, the machine will
always recover.
My associate insists that One-hot will always do it, and that the coding
style should be like that presented in the Ashenden text. This person
also claims that the "when others" clause in a case statement makes no
guarantees that fail safe logic will be generated.
Remember our requirement that it be synthesis tool independent.
I believe that one-hot is likely to be inherently faster, and less prone
to timing problems, but not a cure all.
I futher believe that with no fail safe logic, a one-hot machine will
fail if two bits are set.
I maintain that the only way to accomplish this goal is to specify every
single illegal state in the case statement, branching to the reset
state, or use a chain of if-then-elsif..... end if with the last block
specifying a branch to the reset state.
Your thoughts?
Clyde
I am having a dialog with a co-worker regarding state machine encoding.
We need to implement a synthesizer imdependant method of coding a state
machine so that if an illegal state has been entered, the machine will
always recover.
My associate insists that One-hot will always do it, and that the coding
style should be like that presented in the Ashenden text. This person
also claims that the "when others" clause in a case statement makes no
guarantees that fail safe logic will be generated.
Remember our requirement that it be synthesis tool independent.
I believe that one-hot is likely to be inherently faster, and less prone
to timing problems, but not a cure all.
I futher believe that with no fail safe logic, a one-hot machine will
fail if two bits are set.
I maintain that the only way to accomplish this goal is to specify every
single illegal state in the case statement, branching to the reset
state, or use a chain of if-then-elsif..... end if with the last block
specifying a branch to the reset state.
Your thoughts?
Clyde