Crosstalk: Effects and Mitigation Techniques
A capacitor does not like to change its voltage
instantaneously.
A wire has high capacitance to its neighbor.
When the neighbor switches from 1-> 0 or 0->1,
the wire tends to switch too.
Called capacitive coupling or crosstalk.
Crosstalk effects
Noise on nonswitching wires
Increased delay on switching wires
Mitigation
Increase spacing to adjacent interconnects
Different switching times for neighbouring interconnects
Shield interconnects on one or both sides so as to avoid
direct coupling with the immediate neighbouring
interconnects and thus prevent crosstalk noise
interconnects with staggered repeaters (inverters)
Hazards/Glitches
Hazards/glitches:
Unwanted switching at the outputs
Occur when different paths through circuit have different propagation delays
As in pulse shaping circuits we just analyzed
Dangerous if logic causes an action while output is unstable
May need to guarantee absence of glitches
Usual solutions
1) Wait until signals are stable (by using a clock): preferable (easiest to design when
there is a clock synchronous design)
2) Design hazard-free circuits: sometimes necessary (clock not used asynchronous
design)
Types of Hazards
Static 1-hazard
Input change causes output to go from 1 to 0 to 1
Static 0-hazard
Input change causes output to go from 0 to 1 to 0
Dynamic hazards
Input change causes a double change
from 0 to 1 to 0 to 1 OR from 1 to 0 to 1 to 0
Static Hazards
Due to a literal and its complement momentarily taking on the same value
Thru different paths with different delays and reconverging
May cause an output that should have stayed at the same value to
momentarily take on the wrong value
Example:
Dynamic Hazards
Due to the same versions of a literal taking on opposite values
Thru different paths with different delays and reconverging
May cause an output that was to change value to change 3 times
instead of once.
Example: