Safety Critical WatchDog timer and Brownn-Out detector To design an external watchdog timer enabled with Brown out detection and implement it in a FPGA. A Watchdog timer (WDT) is a hardware subsystem that monitors the operations of the system and generates a system reset in the event of detecting a fault.A Brown-Oout of a system is a partial and temporary reduction in the power supply voltage below the level required for reliable operation.
A watchdog timer (WDT) is a hardware subsystem that monitors the operations of the system. It generates a system reset in the event of detecting a fault. It consists of a timer circuit and the processor is required to periodically reset the timer.The brown out of a system is a partial and temporary reduction in the power supply voltage below the level required for reliable operation.By comparing the VCC to a fixed trigger level it can determine if the device needs to be put into reset mode to prevent erratic operation. We used Verilog hardware description language for implimenting this project.
We are using a 96 Mhz crystal oscillator for the clock. We took a 16 bit data bus and a 20 bit ADCin as the input for BOD_comparator.
Xilinx Vivado - We used this software for Coding as well as for synthesis and simulation of the verilog code.
Xilinx Virtex-6 FPGA Board - It is basically simpler than Xilinx Zynq-7000 board
- Configuration_register.v configuration register for assigning various registers.
- downcounter.v - down counter module.
- frame_window.v - frame window module.
- pattern_comparator.v - pattern comparator module to check data bus.
- service_window.v - service window module.
- watchdog_top.v - top module which connects all watchdog timer modules together.
- wd_fail_detector.v - this module detects watchdog fail.
- BOD_Comparator.v - comparator to check for brownout condition.
- Rate_Calculator.v - To calculate the rate of supply voltage drop.
- Brownout_top.v - top module which coonects all brownout modules.
- testbenches - all the files in this folder are testbenches for checking their corresponding functionality.