Physics Letters A 373 (2009) 1346–1351 Contents lists available at ScienceDirect Physics Letters A www.elsevier.com/locate/pla Logic from nonlinear dynamical evolution K. Murali a,b,* , Abraham Miliotis a , William L. Ditto a , Sudeshna Sinha c a J. Crayton Pruitt Family Department of Biomedical Engineering, University of Florida, Gainesville, FL 32611-6131, USA b Department of Physics, Anna University, Chennai 600 025, India c Institute of Mathematical Sciences, C.I.T. Campus, Chennai 600 113, India article info abstract Article history: Received 12 November 2008 Received in revised form 3 February 2009 Accepted 8 February 2009 Available online 14 February 2009 Communicated by C.R. Doering PACS: 05.45.-a 89.70.+c Keywords: Chaotic systems Digital logic Computing with chaos We propose a direct and flexible implementation of logic operations using the dynamical evolution of a nonlinear system. The concept involves the observation of the state of the system at different times to obtain different logic outputs. We explicitly implement the basic NAND, AND, NOR, OR and XOR logic gates, as well as multiple-input XOR and XNOR logic gates. Further we demonstrate how the single dynamical system can do more complex operations such as bit-by-bit addition in just a few iterations. 2009 Elsevier B.V. All rights reserved. 1. Introduction Recently there has been a new theoretical direction in harness- ing the richness of nonlinear dynamics, namely the exploitation of chaos to do flexible computations. This so-called chaos computing paradigm [1–8] is driven by the motivation to use new concepts of physics to build better computing devices. The general strategy underlying this research activity exploits the determinism of dy- namics on one hand, and its richness on the other. The determin- ism allows one to reverse engineer, so to speak and the richness of dynamical patterns allows flexibility and versatility in accom- plishing wide-ranging operations. This novel paradigm forms part of the over-arching attempt to find new ways to exploit physical phenomena that are well understood in the context of physics, to do computations, and in particular to bridge dynamical phenom- ena and computations [9–13]. The fundamental components of computer architecture today are the logical AND, OR, NOT, and XOR operations, from which we can directly obtain basic operations like bit-by-bit addition and memory [14]. A typical 2-input operation act on two inputs I 1 and I 2 and outputs a signal O . The type of logic is defined by patterns of input-to-output mapping represented by the truth table in Ta- * Corresponding author at: Department of Physics, Anna University, Chennai 600 025, India. Tel.: +1 352 3928934; fax: +1 352 392 9791. E-mail addresses: kmurali@annauniv.edu, muralikin@ufl.edu (K. Murali). Table 1 The truth table of the basic logic operations. Input NAND AND NOR XOR OR (0, 0) 1 0 1 0 0 (0, 1) 1 0 0 1 1 (1, 0) 1 0 0 1 1 (1, 1) 0 1 0 0 1 ble 1. Now all the above mentioned gates can be constructed by combining the NOR or NAND operations [14]. Clearly though, this conversion process is inefficient in comparison with direct imple- mentation, considering perhaps that such fundamental operations may be performed a large number of times. So the direct and flex- ible implementation of gates is useful and could prove very cost effective. Our problem then is to design a method that yields the appropriate outputs, for the different fundamental gates, for all possible sets of inputs. Towards this aim, in this work we first show the direct and flexible implementation of all these logical operations utilizing low dimensional chaos. Importantly the motivation is to use a single nonlinear element to emulate different logic gates and perform dif- ferent arithmetic tasks, and further have the ability to switch easily between the different operational roles. Such a reconfigurable logic unit may then serve as an ingredient for the construction of gen- eral purpose reprogrammable hardware. Arrays of such morphing logic gates can conceivably be pro- grammed on the run (for instance, by an external program) to be 0375-9601/$ – see front matter 2009 Elsevier B.V. All rights reserved. doi:10.1016/j.physleta.2009.02.026