Personal tools

Watchdog Timer for PULP

From iis-projects

Revision as of 15:45, 3 January 2022 by Michaero (talk | contribs) (Created page with "<!--Watchdog Timer for PULP (1-2S/B) --> Category:Digital Category:HW/SW Safety and Security Category:Fault Tolerance Category:Computer Architecture Categor...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Status: Available


In many computer systems, both in embedded as well as full server systems, Watchdog Timers (WDT) are an essential safety feature, used to detect and correct malfunctions. Typically, a WDT resets an entire system once a counter expires, and to avoid this a properly running system will interfere and set the counter back to its original value (service the WDT). Should a fault in the system occur, either due to a hardware or software malfunction, the WDT will not be properly serviced, resulting in the system returning to its original state.


Goal of this project is to implement a Watchdog Timer (WDT) for a PULP processor core. While a preliminary specification from RISC-V is available, a few additional features should be implemented, such as triggering an interrupt prior to expiration (2-stage WDT), as well as properly disabling the WDT while debugging.

Project structure:

  • Familiarization with the PULP ecosystem, research on other WDT implementations & features
  • Work out an internal guiding specification for the WDT (together with supervisors)
  • Implement a WDT in hardware, integrate it into a PULPissimo SoC
  • Properly verify the WDT, both with regular testbenches as well as software tests in the PULPissimo SoC


  • 10% Literature Review
  • 70% Hardware Design
  • 10% Software Design
  • 10% Evaluation & Documentation


  • Strong interest in computer architecture
  • Experience with digital design in SystemVerilog as taught in VLSI I