The PCIe and CXL questions that come up most in semiconductor interviews cover ten areas: how PCIe evolved to PAM4 and FLIT mode, the three CXL protocols, how CXL shares the PCIe physical layer, coherency, error handling, power states, signal integrity at 64 GT/s and above, the protocol stack, use cases, and link bring-up debug. Interviewers are rarely after a recited specification. They want to see that you can explain why each feature exists, what it costs, and how you would find the fault when a link does not come up.
Below are the ten questions, each with the points a strong answer should cover, followed by how interviewers probe them and a short FAQ.
Key takeaways
- PCIe 6.0 doubled the rate to 64 GT/s by moving from NRZ to PAM4 signalling, which forced FLIT mode, forward error correction (FEC) and a new low-power state, L0p.
- CXL runs three protocols over the PCIe physical layer: CXL.io (PCIe-like), CXL.cache (device caches host memory) and CXL.mem (host loads and stores to device memory).
- A CXL port negotiates CXL or PCIe during link training, so the same slot can host either kind of device.
- Coherency in CXL is asymmetric: the host owns coherency, which keeps device logic simple.
- Most bring-up failures show up as a link stuck in a particular LTSSM state. Knowing what each state checks is the fastest route to the root cause.
Quick reference: PCIe and CXL generations
| Specification | Year | Rate per lane | Signalling and encoding | Main additions |
|---|---|---|---|---|
| PCIe 4.0 | 2017 | 16 GT/s | NRZ, 128b/130b | Rate doubling, improved equalisation |
| PCIe 5.0 | 2019 | 32 GT/s | NRZ, 128b/130b | Rate doubling, alternate protocol negotiation used by CXL |
| PCIe 6.0 | 2022 | 64 GT/s | PAM4, 256-byte FLIT, FEC | FLIT mode, L0p |
| PCIe 7.0 | 2025 | 128 GT/s | PAM4, FLIT | Rate doubling, aimed at AI and data-centre links |
| CXL 1.0 / 1.1 | 2019 | 32 GT/s | PCIe 5.0 PHY, 68-byte flit | CXL.io, CXL.cache, CXL.mem; device Types 1, 2 and 3 |
| CXL 2.0 | 2020 | 32 GT/s | PCIe 5.0 PHY | Single-level switching, memory pooling, persistent memory, link encryption (IDE) |
| CXL 3.0 / 3.1 / 3.2 | 2022 to 2024 | 64 GT/s | PCIe 6.0 PHY, 256-byte flit | Multi-level switching, fabrics, memory sharing, back-invalidate coherency |
| CXL 4.0 | 2025 | 128 GT/s | PCIe 7.0 PHY | Rate doubling, bundled ports, RAS improvements |
A useful bandwidth figure to remember: a PCIe 5.0 x16 link carries about 63 GB/s in each direction after 128b/130b encoding. A PCIe 6.0 x16 link carries 128 GB/s raw in each direction, or about 256 GB/s counting both directions, before FLIT overhead.
The ten focus areas
- PCIe architecture and evolution
- CXL fundamentals
- Coexistence of PCIe and CXL
- Coherency and memory semantics
- Error handling and reliability
- Power management
- High-speed design challenges
- Protocol layers and stack
- Use cases and industry adoption
- Debugging and future trends
1. PCIe architecture and evolution
Q: Explain the key improvements in PCIe 6.0 over PCIe 5.0, including encoding, bandwidth and use cases. How does PAM4 signalling affect signal integrity?
A strong answer covers four points:
- Rate: 64 GT/s against 32 GT/s, so twice the bandwidth per lane.
- Signalling: PAM4 carries two bits per unit interval on four voltage levels. The Nyquist frequency stays at 16 GHz, the same as PCIe 5.0, so channel loss at Nyquist does not get worse. The price is that each of the three stacked eyes is roughly a third of the height of an NRZ eye, which is about a 9.5 dB loss in signal-to-noise ratio.
- Encoding: 128b/130b is replaced by FLIT mode with fixed 256-byte flits. Each flit holds 236 bytes of TLP data, 6 bytes of data-link payload, 8 bytes of CRC and 6 bytes of FEC.
- Use cases: accelerators, 800G networking, NVMe storage and CXL 3.x, all of which need more bandwidth per pin.
A good follow-up point: the raw bit error rate with PAM4 is far higher than the 1e-12 that NRZ generations targeted, so error correction is no longer optional.
2. CXL fundamentals
Q: CXL builds on PCIe but adds CXL.cache and CXL.mem. Describe how these protocols enable memory pooling and coherency in heterogeneous systems (CPUs, GPUs, accelerators).
| Device type | Protocols | Typical example |
|---|---|---|
| Type 1 | CXL.io + CXL.cache | SmartNIC or accelerator with a cache but no local memory exposed to the host |
| Type 2 | CXL.io + CXL.cache + CXL.mem | GPU or FPGA accelerator with its own attached memory |
| Type 3 | CXL.io + CXL.mem | Memory expander or pooled memory device |
CXL.cache lets a device cache host memory coherently, so an accelerator can work on shared data without software copies. CXL.mem lets the host treat device memory as ordinary load/store memory, so a Type 3 expander appears as extra system memory, often as a separate NUMA node. Pooling, added in CXL 2.0, lets a switch assign regions of a memory device to different hosts. Sharing, added in CXL 3.0, lets several hosts access the same region coherently.
3. Coexistence of PCIe and CXL
Q: How does CXL use the PCIe physical layer, and what changes are needed to run CXL.mem or CXL.cache on PCIe 5.0 or 6.0 infrastructure?
CXL uses the PCIe electrical layer and the PCIe link training state machine. During training, the two ends use alternate protocol negotiation, carried in modified training ordered sets, to agree whether to run CXL. If either side does not support CXL, the link falls back to plain PCIe. The CXL specification calls this flexible port arrangement Flex Bus.
What changes is above the electrical layer. A CXL port needs the ARB/MUX block, which multiplexes CXL.io and CXL.cache/CXL.mem traffic, a separate link and transaction layer for CXL.cache and CXL.mem, CXL-specific registers (DVSEC capabilities), and on the host side, a coherent home agent and memory controller path. Board channels, connectors and retimers have to meet the PCIe electrical budget for the chosen rate, and retimers must be CXL-aware.
4. Coherency and memory semantics
Q: Compare cache coherency in CXL with snooping or directory-based approaches. Why does CXL suit disaggregated memory?
- Snooping broadcasts every request to all caches. It is simple but scales poorly as agents grow.
- Directory-based coherency tracks which agents hold each line and sends targeted snoops. It scales better but costs storage and lookup latency.
- CXL is asymmetric. The host CPU's home agent, usually with a snoop filter or directory, is responsible for coherency. A device only runs a simple cache protocol and answers snoops. Device vendors do not have to implement the host's full coherency protocol, which is a large part of why CXL was adopted quickly.
For Type 2 devices, CXL 1.1 and 2.0 use a bias model (host bias or device bias) to decide who must be asked before a line of device memory is used. CXL 3.0 adds back-invalidate, which lets a device ask the host to invalidate lines, so a device can manage coherency for its own memory more directly. For disaggregated memory, the point is that capacity sits behind a standard, coherent load/store interface instead of a network stack, which keeps access latency within a small multiple of local DRAM.
5. Error handling and reliability
Q: PCIe uses LCRC and retry for error recovery. How does CXL improve error handling for memory-semantic traffic, especially in large data centres?
In non-FLIT PCIe, each TLP carries an LCRC, and the data link layer replays it after a NAK or timeout. ECRC can add end-to-end protection, and Advanced Error Reporting (AER) and Downstream Port Containment (DPC) report and contain errors. In FLIT mode, the CRC and retry move to the flit level and FEC corrects most errors before retry is needed.
Memory traffic needs more, because a bad load can corrupt a running program rather than just a transfer. CXL adds data poisoning, so corrupt data is marked rather than silently consumed; viral mode, which contains a fatal error so that no further bad data leaves the device; and memory RAS event records for media errors, which later revisions extend with features such as scrubbing, sparing and repair. A good answer also mentions link encryption and integrity (IDE), introduced in CXL 2.0, which matters when memory is shared across hosts.
6. Power management
Q: Discuss PCIe L0s and L1 power states, and how CXL devices manage power while keeping low-latency coherent links. What challenges come with dynamic power scaling?
| State | What it does | Exit latency (order of magnitude) |
|---|---|---|
| L0 | Fully active | None |
| L0s | One direction idles its transmitter; not supported in FLIT mode | Sub-microsecond |
| L0p | PCIe 6.0: link stays up but runs on fewer lanes | No link-down; width changes without retraining |
| L1, L1.1, L1.2 | Both directions idle; substates turn off more of the PHY and reference clock | Microseconds to tens of microseconds |
| L2 / L3 | Auxiliary power only, or power off | Milliseconds, full retraining |
For CXL, the ARB/MUX keeps a virtual link state for each protocol and only lets the physical link enter L1 when all of them agree. The challenge is that coherent traffic is latency-sensitive: a snoop that arrives while the link is in L1 can stall a CPU core for microseconds. Platforms usually limit deep link states on CXL memory links and rely on device-level power states instead. Interviewers like candidates who can describe this trade-off between idle power and tail latency in their own words.
7. High-speed design challenges
Q: PCIe 6.0 uses PAM4 and FLIT encoding. What signal integrity issues arise at 64 GT/s, and how do FEC and equalisation deal with them?
- Smaller eyes: three eyes share the voltage swing, so noise, crosstalk and reflections matter more.
- Linearity: transmitter and receiver non-linearity squeezes the outer or inner eyes unevenly.
- Jitter and timing: the unit interval is about 31 ps at 32 GBd, so clock jitter budgets are tight.
- Channel loss and reflections: packages, vias, connectors and long traces need careful design or retimers.
Equalisation (transmitter FIR presets, receiver CTLE and DFE) opens the eye. FEC in PCIe 6.0 is deliberately light, three interleaved codes that each correct a single symbol, so that it adds only a few nanoseconds of latency. Residual errors are caught by the flit CRC and fixed by retry. A strong candidate explains why a light FEC plus retry was chosen over a heavy FEC: heavy FEC, as used in Ethernet, would add tens of nanoseconds, which is too much for load/store traffic.
8. Protocol layers and stack
Q: Map the PCIe transaction, data link and physical layers to the CXL protocol stack. How does CXL.io differ from native PCIe transactions?
The original version of this question said "CXL.cio"; the protocol is CXL.io.
| Layer | PCIe | CXL.io | CXL.cache and CXL.mem |
|---|---|---|---|
| Transaction | TLPs: memory, I/O, configuration, messages | Same as PCIe | Own transaction layer with request, response and data channels |
| Link | DLLPs, ACK/NAK, flow control credits | Same as PCIe | Own link layer with its own credits and retry (68-byte flits in CXL 1.x/2.0) |
| Multiplexing | Not present | ARB/MUX combines the two protocol stacks onto one link | |
| Physical | PCIe logical and electrical PHY | Flex Bus: the PCIe PHY with CXL negotiation | |
CXL.io is essentially PCIe: it handles discovery, configuration, interrupts and DMA, and is always present. It is not a different transaction format. What differs is that CXL.cache and CXL.mem bypass the PCIe transaction and link layers to keep latency low.
9. Use cases and industry adoption
Q: Why are CXL memory expanders gaining ground in AI and ML workloads? Compare CXL's role in composable infrastructure with NVLink or CCIX.
Core counts have grown faster than memory channels, so memory bandwidth and capacity per core have fallen. CXL Type 3 expanders add capacity and bandwidth without more DDR channels, and pooling lets a rack share memory instead of over-provisioning every server. In AI systems they are used for large model data, key-value caches and tiering between DRAM and SSD.
- NVLink is NVIDIA's proprietary interconnect for GPU-to-GPU and GPU-to-CPU links, with much higher bandwidth per GPU than PCIe. It serves scale-up within a GPU cluster, not general memory expansion.
- CCIX was an earlier open cache-coherent interconnect that also ran over PCIe. It saw limited adoption, and the industry has largely moved to CXL, which also absorbed the Gen-Z and OpenCAPI efforts.
- For accelerator scale-up, a good answer may also mention newer open efforts such as UALink, which sit alongside CXL rather than replacing it.
10. Debugging and future trends
Q: How would you troubleshoot a PCIe or CXL link training failure? What tools are critical for validating CXL 3.0 fabric-attached memory?
Start by reading the LTSSM state where the link stops. Most controllers expose the current state and a history in debug registers.
| Link stuck in | Likely causes | First checks |
|---|---|---|
| Detect | Receiver termination not seen | Power, PERST# timing, reference clock, lane connectivity, AC coupling capacitors |
| Polling | No bit or symbol lock | Reference clock quality, spread-spectrum mismatch, polarity, signal amplitude |
| Configuration | Lane and width disagreement | Lane reversal, missing lanes, width settings |
| Recovery loop or speed drop | Equalisation fails at higher rates | Equalisation phase results, presets, channel loss, retimer settings |
| L0 but no CXL | Alternate protocol negotiation failed | CXL capability registers, firmware settings, retimer CXL support |
Useful tools: a protocol analyser or interposer to see training sequences and traffic, a real-time oscilloscope for eye diagrams, a BERT for receiver jitter tolerance and stressed-eye testing, PCI-SIG and CXL compliance test suites, and the controller's own LTSSM trace. For CXL 3.0 fabric-attached memory, add switch and fabric manager logs, port-based routing checks and coherency checkers in pre-silicon verification IP.
Bonus: emerging standards
Q: How might PCIe 7.0 and CXL 3.x/4.0 address thermal management, latency and scalability for zettascale computing?
PCIe 7.0 doubles the rate again to 128 GT/s with PAM4, so the channel gets harder and retimers, better materials and shorter reaches matter more. PCI-SIG is also studying optical links for longer reach. CXL 4.0 moves to the PCIe 7.0 PHY and adds bundled ports to combine several links into one logical connection. On the system side, thermal limits push designers towards power states that do not cost latency, such as L0p, and towards placing memory closer to compute. A good answer stays grounded: it says what has been published, and labels the rest as a reasoned prediction.
How interviewers probe these topics
- "Why?" after every fact. If you say PAM4, expect "why not NRZ at 64 GT/s?" The answer: NRZ would double the Nyquist frequency to 32 GHz, where channel loss is far too high.
- Numbers. Expect to compute bandwidth for a given width and rate, or explain why 128b/130b costs about 1.5 percent.
- Trade-offs. FEC against latency, L1 against tail latency, pooling against sharing.
- Your own work. Interviewers for interface IP, validation or architecture roles will ask what you personally debugged: a SerDes, an equalisation problem or a coherency bug.
Common mistakes in answers
- Saying PAM4 doubles the frequency. It doubles bits per symbol at the same symbol rate.
- Treating CXL as a replacement for PCIe. It runs over the PCIe PHY, and CXL.io is PCIe.
- Assuming CXL memory has the same latency as local DRAM. It adds latency, comparable to a remote NUMA hop or more.
- Forgetting that FLIT mode removes L0s and moves CRC and retry to the flit level.
FAQ
Is CXL a separate physical interface from PCIe?
No. CXL uses the PCIe electrical layer, connectors and link training, and negotiates CXL during training. A CXL slot can accept a PCIe card.
What is the difference between memory pooling and memory sharing in CXL?
Pooling (CXL 2.0) assigns separate regions of a memory device to different hosts. Sharing (CXL 3.0) lets more than one host access the same region with hardware coherency.
Why does PCIe 6.0 need FEC?
PAM4 eyes are much smaller than NRZ eyes, so the raw error rate is too high for retry alone. A light FEC corrects most errors and the flit CRC with retry catches the rest.
Which roles ask these questions?
Interface IP design and verification, SoC integration, post-silicon validation, signal integrity, and system architecture roles at CPU, GPU, memory and data-centre companies.
Candidates should back their answers with hands-on experience: high-speed SerDes bring-up, coherency protocols, and a working view of trends such as AI-driven memory expansion. These questions test both foundations (protocol layers, coherency) and newer topics (PAM4, composability) that matter for interface IP design, validation and system architecture roles.



Your comments will be moderated before it appears here.