Close

Add, Sub and errors

A project log for miniMAC - Not an Ethernet Transceiver

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

yann-guidon-ygdesYann Guidon / YGDES 05/06/2025 at 21:250 Comments

Looking back at the whole Add/Sub duo's mysteries.

I reconstructed the whole circuit and realised a first thing : Add3 is not Sub3, as a Generate turns into Propagate : G(0) => P(0).

I annotated the concerned gates:

Turning Add3 into Sub3 is not just a copy-paste-addInverters operation.

Another important detail: B(2) is more resilient simply because it is one XOR away (only) from the error flag. Which means there is no point in trying to make the others more resilient, though S(1) is more susceptible than S(0) which is "further away". Go figure.

-------------------

Adding more control inputs, I can explore the circuit deeper:

In the case of "single errors", there is a behaviour I hadn't seen yet, since I had only looked at alterations of S0/S1/S2:

(condition of test : all inputs A and B cleared...)

This is good because single-bit alterations of the main data block will trigger an error, meaning it's paradoxically more "protected" than the markers. WAT.

Discussions