Several-button Reset

Several-button Reset

Timing Functions Application

Pressing and holding several buttons to initiate a hard reset is a common interface in many devices. Implementing this application in a separate IC ensures the reset will be acknowledged and acted upon, even if the rest of the system is experiencing one or more software, firmware, or hardware issues.

 

Ingredients

  • Any GreenPAK
  • No other components are needed

GreenPAK Diagram

 

Design Steps

  1. Configure an I/O as an input for each button.
  2. Add LUT logic to create a HI signal when both buttons are active. The logic is dependent on whether each signal is active-hi or active-low.
  3. Configure a CNT/DLY block to Delay mode, with Edge select configured to Rising. Set the Counter data to create the desired length of button hold time. For an active-low pulse change the Output polarity to Non-inverted (OUT).
  4. Configure a second CNT/DLY block to One shot mode, with Edge select configured to Rising. Set the Counter data to create the desired length of pulse. For an active-low pulse change the Output polarity to Inverted (nOUT).
  5. Connect the CNT/DLY block’s output to an output pin.

Resources

GreenPAK Designer files