Skip to content

GLS · Topic

X-Propagation in Gate-Level Simulation

Where X comes from in gate-level simulation, how it spreads, and the pessimism and optimism that make RTL and gate-level disagree.

X in gate-level simulation is not a bug in itself — it is the simulator being honest that a value is unknown. The difficulty is that RTL simulation is often optimistic where gate level is pessimistic: an RTL `if` with an X condition quietly takes the else branch, while the equivalent gates produce X on the output. So a design that looked clean at RTL can light up at gate level, and the difference is a modelling artefact rather than a new defect.

Lessons in this topic(6)

Start hereWhere X Comes From at the Gate LevelWhere X Comes From at the Gate Level
  1. 2X-Pessimism vs X-Optimism
  2. 3How X Flows Through Muxes, Flops & Latches
  3. 4Why RTL Hides Bugs the Netlist Exposes
  4. 5Controlling X-Propagation (Xprop Modes)
  5. 6Working Example: Root-Causing an X in the FSM