Quilted Dies of CPU & RAM

Dave Long dave.long at bluewin.ch
Wed Nov 15 06:17:09 EST 2006


> Do you know how to implement a local-bitflip (linear, or slightly
> staggered registers) Gray code with the shallowest number of gates?

No.  Two places I'd look:

1/ change ringing: since change ringers work in wetware, they seem to 
be interested in easily-remembered algorithms and mostly-local changes. 
  Mapping permutation swaps to bitflips left as an exercise for the 
interested reader...

2/ does it have to be a Gray code?  One trick (used in a limited form 
on the abacus to avoid carry prop) is to keep tallies in a larger space 
than you're actually counting in.  Counting with a one-to-one 
correspondence means that the next representation is forced; counting 
with a many-to-one means that there are several choices for the next 
representation, yielding the opportunity to use one that is a small 
number of changes away from the current value.  (at the expense of some 
extra gates on the decode side.  There Ain't No Such Thing As A Free 
Logic)

(Carlo Séquin, in making 3D Hilbert Curve models, has noted that 
physical considerations of torque outweigh mathematical considerations 
of symmetry.  The mechanisms he uses to come up with a hilbert curve 
that is well-"tied together" in three dimensions may be suitable for 
preserving locality in higher dimensions -- or at least their 
opposites, as he's trying to maximize the number of axes of interaction 
for various volumes of the curve?)

> This is very old (1994-1996), but you might like
> http://leitl.org/oldcontent/ui22204/.html/txt/8uliw.txt

Interesting -- do you have any idea what you would do differently today?

-Dave



More information about the Kragen-discuss mailing list