Re: Paul was right

From: Zonn <zonn_at_concentric.net>
Date: Thu Jul 24 1997 - 14:39:00 EDT

At 12:48 PM 7/24/97 -0500, you wrote:
>> 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.

Which makes sense in the case of Omega Race since the reading of this port
in software is an asynchronuous act, and the Grey code keeps the software
from reading a transitional state of a normal binary code.

Hey! I had add extra penny in my pocket and wanted to through in my $.01 worth!

-Zonn
Received on Thu Jul 24 11:34:22 1997

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:31:23 EDT