Close

Scrambler (clearer)

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/03/2025 at 04:010 Comments

The new diagram is here:

It's not changed but more precise, since the bus widths were not clear enough.

Another "trick" is that the carry bit from X does not need to be ANDed with the phase since it MUST be 0 at the end of phase 0. It can only be 1 at phase 1. (That change is not yet applied to the Y path)

_____________________________________________________________

Yeah, forget that, I messed up again. The ANDN must be restored...

There is something else to consider : the carry !

The adder is 18-bit wide, and unlike the C code, it truncates the input such that the 2nd cycle does not propagate or keep the carry out of phase 0. Actually, the carry should be "sticky" (ORed) during the phase 1.

This is not represented here, and although putting everything in the X / Y registers simplified the overall algorithm, it confuses the schematic and RTL code. The next revision should address this.

Discussions