X-propagation
Beginner
How an “unknown” value inside a simulation spreads to other parts of the design, sometimes hiding a bug.
Novice
Simulators use a value X for “unknown,” for example a storage bit that was never reset. X-propagation is how that unknown spreads to other signals. Standard simulation sometimes quietly turns an unknown into a definite choice, which can hide a real bug.
Expert
RTL semantics can be X-optimistic: an if-statement treats an X condition as false and takes one branch, where real hardware might go either way. X-propagation modes make RTL simulation pessimistic so these show up; two-state simulators such as Verilator replace X with constants or random values.