Phân tích về SERDES

SERDES (SERializer/DESerializer) là khối mạch chuyển đổi giữa dữ liệu song song (parallel) bên trong chip và dữ liệu nối tiếp (serial) truyền trên đường dây tốc độ cao. Đây là nền tảng của hầu hết các giao tiếp tốc độ cao mà bạn làm việc hàng ngày: PCIe, SATA, Ethernet (25G NIC), USB, SAS…

Tại sao cần SERDES?

Bên trong chip, dữ liệu di chuyển theo bus song song (8, 16, 32 bit) với tốc độ xung nhịp tương đối thấp. Nhưng nếu truyền song song ra ngoài qua nhiều dây, sẽ gặp vấn đề:

  • Skew giữa các đường dây (mỗi bit đến đích lệch thời điểm nhau).
  • Số chân (pin) và dây quá nhiều, tốn diện tích board và chân BGA.
  • Nhiễu xuyên âm (crosstalk) giữa các đường.

Giải pháp: gom dữ liệu song song lại, truyền nối tiếp trên một cặp dây vi sai (differential pair) ở tần số rất cao. Đó chính là một “lane” trong PCIe hay một cặp TX/RX trong SATA.

SERDES không phải một khối đơn lẻ mà là một cặp khối ở hai đầu link: phía phát (TX) serialize dữ liệu, phía thu (RX) deserialize lại. Sơ đồ đường dữ liệu:

(Sơ đồ luồng dữ liệu của một link SERDES)

Phía phát — Serializer (TX)

Dữ liệu song song từ logic bên trong chip (8/16/32 bit) đi vào và được “gom” thành luồng nối tiếp.

  • PLL/clock: tạo xung nhịp tốc độ cao (bit clock). Ví dụ PCIe Gen3 chạy 8 GT/s nghĩa là PLL phải tạo nhịp ở mức GHz.
  • TX equalizer (FFE / pre-emphasis, de-emphasis): đường truyền (PCB trace, connector) làm suy hao tín hiệu tần số cao nhiều hơn tần số thấp. TX “bù trước” bằng cách nhấn mạnh các transition để khi tới đích tín hiệu cân bằng lại. Đây là tham số bạn hay thấy trong PCIe gọi là TX preset.

Kênh truyền (Channel)

Cặp dây vi sai truyền nối tiếp — chính là một lane. Đây là phần “xấu”: suy hao theo tần số (insertion loss), phản xạ (return loss), nhiễu xuyên âm (crosstalk), jitter. Chất lượng channel quyết định link có train được lên tốc độ cao hay không — ví dụ lỗi khi lane chỉ train được 4x1 thay vì 4x2.

Phía thu — Deserializer (RX)

  • RX equalizer (CTLE + DFE): CTLE (Continuous-Time Linear Equalizer) khôi phục các tần số cao bị suy hao; DFE (Decision Feedback Equalizer) khử phần đuôi tín hiệu (ISI – inter-symbol interference) từ các bit trước đó.
  • CDR (Clock and Data Recovery): điểm mấu chốt của SERDES. Tín hiệu nối tiếp truyền đi không kèm clock riêng (embedded clock), nên RX phải tự khôi phục xung nhịp từ chính các transition của dữ liệu. Đây là lý do cần mã hóa dòng (line coding) như 8b/10b (PCIe Gen1/2, SATA) hoặc 128b/130b (PCIe Gen3+) — để đảm bảo đủ transition cho CDR bám.
  • Serial → parallel: tách luồng nối tiếp trở lại bus song song cho logic phía sau.

Một số khái niệm SERDES bạn sẽ gặp khi debug:

  • Eye diagram: cách trực quan đánh giá chất lượng SERDES — “mắt” càng mở (cao và rộng) thì biên độ và biên thời gian (timing margin) càng tốt.
  • Link training: lúc PCIe/Ethernet thương lượng tốc độ và tinh chỉnh TX preset / RX EQ. Lỗi training thường do channel kém, contact hở (như case bus 86 bạn từng phân tích), hoặc EQ chưa tối ưu.
  • PRBS / loopback test: ở môi trường manufacturing, đo BER bằng pattern giả ngẫu nhiên (PRBS) qua loopback là cách kiểm tra chất lượng SERDES của một lane.

Leave a Reply