Skip to content

Latest commit

 

History

History
145 lines (70 loc) · 1.14 KB

05_ESDM_FSMPatterns.md

File metadata and controls

145 lines (70 loc) · 1.14 KB

IV. FSM Patterns

FSM Patterns

  • Design patterns: reusable templates which appear often in applications

  • Patterns

    • Operating on signal transitions
    • Debounce (one-sided, two-sided)

Operating on signal transitions

  • For boolean signals/conditions

  • Use when information is in the signals' fronts (edge / transition) rather than in its values

  • Solution: detect signal transitions

    • rising edge
    • falling edge
    • both

Detect rising edge

  • Draw here: detect rising edge

Detect falling edge

  • Draw here: detect falling edge

Detect any edge

  • Draw here: detect any edge

Debouncing

  • For boolean signals/conditions

  • Bouncing: real signals look like this:

Signal change when pushing a button{width=40%}

  • Use debouncing to avoid spurious transitions

Debouncing rising edge

  • Draw here: debounce rising edge

Debouncing falling edge

  • Draw here: debounce falling edge

Debouncing both edges

  • Draw here: debounce both edges