It's a digital alu_xor having two copies of ALUs, namely: alu1 and alu2. The outputs generated by both the ALUs are XORed to yield any discrepancies between the designs. Any difference in the result turns out to be conditions relating to faults.
This design helps to study the characteristics of various faults injected in any integrated circuits. ALU1 acts as the golden reference circuit, and ALU2 acts as the Device Under Test (DUT), functionally similar to ALU1. Finally, the results are XORed to find any discrepancies between the results from two ALUs. The injected fault propagating through the final output classifies as user-visible faults, otherwise classified as silent data corruption or benign soft errors.
As latch-up conditions are one of the most vital phenomena considered for space applications, this project also focuses on testing the over-current or over-voltage that the design can withstand under extreme stress and temperature conditions.
BLOCK DIAGRAM
References
Refer to README for a quick start of how to use caravel_user_project
Refer to README for this sample project documentation.