Watchdog Timer
Introduction
In this lab you will design a hardware watch dog timer. A distinguishing characteristic of embedded systems is that they will automatically start "executing" on power up. Such systems are designed to start executing a single software application (firmware) whenever power is applied to the unit. As we all know, software systems can be buggy and often enter unwanted infinite loops, therefore freezing the system. A watch dog timer is used to reset (automatically) an embedded system when it freezes.
A watch dog timer (WDT) is a count down timer. The simplest WDT will have a programmable register (say memory mapped) that contains the count down start value. The WDT will start counting down from this start value until it reaches some lower point (say zero). At this point, it generate a pulse to reset the attached micro-processor. A write operation to the count down start value will reset the timer, i.e., the timer will start counting down all over again from the start value. For this lab you are to design a WDT to be implemented on FPGA. Here are the specs for your WDT.
Demo Output
You should be able to demonstrate to your TA how your embedded system is reset after it has enters an infinite loop.