Digital Design - yszheda/wiki GitHub Wiki

Logic Simplification: Karnaugh Maps (K-Maps)

"Gray Code": only a single bit (variable) changes from one code word and the next code word

Timing

Combinational Circuit Timing

  • Contamination delay (t_cd): delay until the output starts changing. minimum possible delay

  • Propagation delay (t_pd): delay until the output finishes changing. maximum possible delay

  • Longest (Critical) & Shortest Delay Paths

WXWorkCapture_169779110941

WXWorkCapture_16977911424964

Output Glitches

one input transition causes multiple output transitions

WXWorkCapture_16977914482788

Fixing glitches is undesirable:

  • More chip area
  • More power consumption
  • More design effort

The circuit is eventually guaranteed to converge to the right value regardless of glitchiness

Sequential Circuit Timing

D Flip-Flop Input Timing Constraints

  • Setup time (t_setup): time before the clock edge that data must be stable (i.e. not changing)
  • Hold time (t_hold): time after the clock edge that data must be stable
  • Aperture time (t_a): time around clock edge that datamust be stable (t_a = t_setup + t_hold)

WXWorkCapture_16977915763474

Flip-Flop Output Timing

  • Contamination delay clock-to-q (tccq): earliest time after the clock edge that Q starts to change (i.e., is unstable)
  • Propagation delay clock-to-q (t_pcq): latest time after the clock edge that Q stops changing (i.e., is stable)

WXWorkCapture_16977917567916

Clock Skew

WXWorkCapture_16977935131755

WXWorkCapture_1697793557948