2. Byte Striping Across Lanes


3. Scrambling


4. Encoding (depends on PCIe generation)


5. Serialization


6. Reception Path

When receiving:

  1. Deserializer converts serial bit stream back into parallel form (symbols/bytes).
  2. Elastic buffer absorbs tiny timing differences between transmitter and receiver clocks (clock tolerance compensation).
  3. Depending on generation:
    • Gen1/Gen2:
      • 10-bit symbols → pass elastic buffer → 8b/10b decode → 8-bit characters.
    • Gen3:
      • Bytes directly → pass elastic buffer → skip 8b/10b decode.
  4. De-scrambling recovers the original byte sequence.
  5. Un-striping recombines lanes into the single data stream.
  6. The original packet is now fully reconstructed and passed back up to the Data Link Layer.

✅ In short: