> To generate Grey Code by hand, do the following:
>
> 1) Start with all 0's
> 2) Toggle bit of least significance that results in a bit pattern
> you have not seen yet.
> 3) Repeat step 2 until all combinations are generated
>
> The advantage here is that only 1 bit changes from one "number" to the
> next. If they used Binary on the encoder, it's possible that when
> going from say 000111 to 001000 not all of the 4 bits would change at
> the same time. If you check the position just as that happens, you don't
> read 7 or 8, but something completely out of sequence. I don't recall
> if they covered this in any of my courses at OU.
>
> Just thought you might be interested in a little more info.
This is getting slightly off-topic, but I'll add my $.02 about Grey code anyway. I am a VLSI design engineer, and Grey coding of state machines is used extensively. I do this stuff literally daily.
Some things Paul forgot: For an arbitrary state machine, it may be, and often is, impossible to generate a grey coding. Email me if this confuses you, and I'll show you a simple example.
The problem with the bits changing at different times only causes problems when the OUTPUTS of a MOORE-type state machine (i.e. outputs are generated from teh state variable only) are used asynchronously. By grey coding a MOORE-type state machine, you eliminate the possibility of glitches in the outputs. This doesn't matter if you are using those outputs synchronously.
Joe
Received on Thu Jul 24 11:19:03 1997
This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:31:23 EDT