Re: Quilted Dies of CPU & RAM
Dave Long <[email protected]>
| Newsgroups | gmane.culture.people.kragen.discuss |
|---|---|
| Message-ID | <[email protected]> |
> 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