This project demonstrates the implementation of Triple Modular Redundancy (TMR) using Verilog HDL, with two primary components:
- Master Slave communication using the SPI protocol
- Fault tolerant logic design via majority gate based TMR
| Component | Description |
|---|---|
| SPI Communication | Implements synchronous master slave data transfer using the SPI protocol |
| TMR Logic | Introduces fault tolerant logic replication with a majority voter mechanism |
| Modular Verilog | Each subsystem is implemented as an isolated Verilog module |
| Testbench Verified | Includes testbenches to simulate and verify functionality |
Serial Peripheral Interface (SPI) is a full-duplex synchronous protocol often used in embedded systems for short distance communication.
| Signal | Direction | Description |
|---|---|---|
| MISO | Slave → Master | Transfers data from slave to master |
| MOSI | Master → Slave | Transfers data from master to slave |
| SCLK | Master → Slave | Clock generated by master to sync data |
| SS | Master → Slave | Active low signal to select slave devices |
| Role | Responsibility |
|---|---|
| Master | Initiates and controls communication and provides clock and chip select |
| Slave | Responds to master’s commands and transmits or receives data accordingly |
This implementation includes Verilog modules for both master and slave, handling bit-level data exchange over the SPI bus.
TMR is a hardware redundancy strategy where logic is triplicated and a majority voter is used to determine the final output. It is commonly used in critical systems to mitigate faults due to single event upsets (SEU) , hardware errors, or environmental noise.
| Input A | Input B | Input C | Voter Output |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Only one module failure (bit-flip or logic error) will not affect the final output, ensuring continued correct operation.
| Domain | Application |
|---|---|
| Aerospace | Fault tolerant avionics and control systems |
| Medical Devices | Reliable life supporting equipment |
| Industrial Control | Safety critical automation systems |
| Embedded Systems | Secure data processing units |