  We address the challenge of implementing reliable computation of Boolean
functions in future nanocircuit fabrics. Such fabrics are projected to have
very high defect rates. We overcome this limitation by using a combination of
cheap but unreliable nanodevices and reliable but expensive CMOS devices. In
our approach, defect tolerance is achieved through a novel coding of Boolean
functions; specifically, we exploit the dont cares of Boolean functions
encountered in multi-level Boolean logic networks for constructing better
codes. We show that compared to direct application of existing coding
techniques, the coding overhead in terms of extra bits can be reduced, on
average by 23%, and savings can go up to 34%. We demonstrate that by
incorporating efficient coding techniques more than a 40% average yield
improvement is possible in case of 1% and 0.1% defect rates. With 0.1% defect
density, the savings can be up to 90%.
