Watch Dog Timer

Can you let me know the the following details of watchdog timer

What is the use of watchdog timer?

How it is configured?

How it is used in Software?

How to design the HW/RTL