Fault-Tolerant In-Memory Crossbar Computing using Quantified Constraint Solving Alvaro Velasquez EECS Department University of Central Florida, Orlando, FL Email: velasquez@eecs.ucf.edu Sumit Kumar Jha EECS Department University of Central Florida, Orlando, FL Email: http://www.sumitkumarjha.com/contact.html Abstract—There has been a surge of interest in the effective storage and computation of data using nanoscale crossbars. In this paper, we present a new method for automating the design of fault-tolerant crossbars that can effectively compute Boolean formula. Our approach leverages recent advances in Satisfiability Modulo Theories (SMT) solving for quantified bit-vector formula (QBVF). We demonstrate that our method is well-suited for fault- tolerant computation and can perform Boolean computations despite stuck-open and stuck-closed interconnect defects as well as wire faults. We employ our framework to generate various arithmetic and logical circuits that compute correctly despite the presence of stuck-at faults as well as broken wires. I. I NTRODUCTION The continued scaling of the CMOS device has been largely responsible for the increase in computational power and consequent technological progress over the last few decades. However, the end of Dennard scaling has interrupted this era of sustained exponential growth in computing performance. The lithographic processes required to fabricate ever-smaller transistors result in higher process variations and more un- predictable structures when working at the atomic scale [4]. Furthermore, the alignment of these devices poses an even greater challenge as we traverse deeper into the nanoscale [21]. In response to these difficulties, substantial research has been devoted to novel patterning methods that can extend traditional optical lithography. This research effort has pro- duced methods such as extreme ultra-violet (EUV) lithog- raphy, nanoimprint lithography (NIL), maskless lithography (ML2), and bottom-up directed self-assembly (DSA). The last of these methods shows promise as a potential successor to top-down lithography [15]. DSA synthesizes relatively basic primitives with precise shapes that may be used for com- putation. However, it is not suitable for fabricating complex device topologies that frequently occur in modern circuits [4]. The use of these basic primitive structures necessitates a paradigm shift in our circuit model. Motivated by the success of assembling aligned nanowires [10] and the ease of reconfiguration, attention has shifted to the use of crossbars [20], which can be easily assembled using this approach [13]. This material is based upon work supported by the National Science Foundation under Grant No. CCF-1438989 and CCF-1422257. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. Fig. 1: A nanoscale crossbar computing the 4-bit majority function in the presence of known defects. Rhombuses rep- resent stuck-open devices and triangles indicate stuck-closed devices. The crossbar also includes broken nanowires. If a flow of current is injected into the topmost nanowire, it reaches the lowest nanowire if and only if the 4-bit majority function evaluates to true. The use of crossbars has been explored extensively in memory architectures, with the recently revealed Intel 3D XPoint TM [9] memory as a noteworthy example. Such cross- bar architectures open up the possibility of developing a computation-in-memory paradigm using crossbars, which is the main contribution of this paper. The unified in-memory computation architecture presented in this paper eliminates the much maligned memory-processor bottleneck [16] that plagues the von Neumann architecture. However, the fabrication of nanoscale crossbars via bottom- up self-assembly suffers from high defect rates [4]. The faults in nanoscale crossbars can occur in the form of stuck-open and stuck-closed devices as well as broken wires. The high defect rates make it uneconomical to simply reject defective nanoscale crossbars [24]. Hence, there is a pressing need to develop fault-tolerant computing approaches [25], [35], [36] that can ensure the fruitful use of even defective nanoscale crossbars. To this end, we propose a new methodology for mapping logical and arithmetic operations onto a defective crossbar that exploits the occurrence of the faults instead of being hindered by it. In this paper, we present a new framework based on auto-