The WDT is used to generate a variety of output signals after a user programmable count. Three outputs are made available to provide a system reset, an interrupt pulse and an external signal pulse. The WDT is programmed over an AMBA APB interface enabling the user to select a variable time out period as well as select which outputs are active. The WDT is suitable for use in the prevention of system lock-up, such as when software becomes trapped in a deadlock. In these type of applications, the timer will count to zero and the selected outputs will be driven. In normal operation, the user will restart the WDT at regular intervals before the timer counts to zero and the outputs are driven active only on the occurrence of non-standard events.