Close

Max Hamming

A project log for miniMAC - Not an Ethernet Transceiver

custom(izable) circuit for sending some megabytes over differential pairs.

yann-guidon-ygdesYann Guidon / YGDES 12/21/2025 at 02:200 Comments

The new goal now is to utterly maximise the Hamming distance, that is: amplify the avalanche of an error.

A typical crypto hash requires that one flipped bit at the input will avalanche to half of the output bits, and I hope to reach at least 18/2 = H9. But ideally it should be "most bits", which is theoretically difficult though (pigeonhole principle, etc.)

The other difference with a hash is that it must be trivially reversible.

We already have one suitable structure with the "Gray Parity" (GrayPar) circuits but this is not enough.

Playing with the transition minimisation (TMDS) circuit (see 26. Bidir PEAC+ParPop) provides another"high avalanche" structure, which is its own inverse:

However the properties are different (the mixing is controlled by only one input) and this must be mixed with the GrayPar structure for better avalanche of all the bits.

I have chosen to keep the 5+5+5+3 configuration as a compromise between fanout and avalanche, at least 3 layers are then required. Ideally the "flip bit" input would be controlled by the "tip of the V" of a preceding GrayPar...

So I'm working on that circuit now.

The "trick" is to start from the end, at the decoder, maximising avalanche and then mirroring the circuits for the encoder.

Discussions