In this paper, we will describe an integrated system for synthesizing
self-recovering microarchitectures called SYNCERE. In the SYNCERE mode
l for self-recovery, transient faults are detected using duplication a
nd comparison, while recovery from transient faults is accomplished vi
a checkpointing and rollback. SYNCERE initially inserts checkpoints su
bject to designer specified recovery time constraints. Subsequently, S
YNCERE incorporates detection constraints by ensuring that two copies
of the computation are executed on disjoint hardware. Towards ameliora
ting the dedicated hardware required for the original and duplicate co
mputations, SYNCERE imposes intercopy hardware disjointness at a sub-c
omputation level instead of at the overall computation level. The over
head is further moderated by restructuring the pliable input represent
ation of the computation. SYNCERE has successfully derived numerous se
lf-recovering microarchitectures. Towards validating the methodology f
or designing fault-tolerant VLSI ICs, we carried out a physical design
of a self-recovering 16-point FIR filter.