Investigation of computing devices with dynamic architecture which makes devices
have reconfigurable ability is an interesting research direction for designing the next
generation of computer chip. In this paper, we present a window threshold method to
construct such dynamic logic architecture. Here, dynamic multiple-input multiple-output (MIMO) logic gates are proposed, analyzed, and implemented. By using a
curve-intersections-based graphic method, we illustrate the relationships among the
threshold, the control parameter, and the functions of logic gates. A noise analysis
on all the parameters is also given. The chips based on the proposed schemes can
be transformed into different arrangements of logic gates within a single clock cycle.
With these schemes in hand, it is conceivable to build more flexible, robust, cost
effective, yet general-purpose computing devices.
1. Introduction
In today's processor designs, transistors are locked down for specific functions. Can we overcome the limitation of fixed structures of static architecture in the next generation of computer? This is an important issue to the practical applications. A reconfigurable technique with dynamic architecture has made it possible to break through the fixed limitations of the current computer systems [1, 2]. In dynamic architecture, systems can flexibly change their hardware configurations during the course of computation according to the demands of various functions.
Using reconfigurable techniques, one can envision future processor architecture to morph into distinct functions, each is suitable for an application at hand [3]. The dynamic architecture currently used in the field programmable gate array (FPGA) technique which constructs dynamic architecture by “rewiring” tiles or computer elements may be termed as dynamic rewiring architecture [4–8]. Recently, another technique based on theories of chaos computing which is different from FPGA was proposed to construct dynamic reconfigurable architecture by harnessing dynamical systems [8–10]. In chaos computing, the programmable gate can be modified by adjusting the system parameters of chaos dynamics [11]. By changing the system parameters, chaotic elements of computing can act as different logic elements and perform various computing tasks [12, 13]. Recently, piecewise-linear systems are also suggested for constructing such dynamic logic architecture [14, 15]. In 2008, a prototype VLSI chip (TSMC CMOS, 0.18 μ, 30 Mhz clock) has been designed and developed incorporating proof of concept on chaos computing which establishes the technical feasibility of the chaos-based dynamic logic architecture [16].
In our previous works [14, 15], 2-input 1-output logic gates were considered to construct such dynamical architecture. However, the dynamic MIMO logic gate has received little attention. In this paper, we propose schemes to construct such dynamic MIMO logic gates based on a window threshold mechanism, which can emulate different logic gates, perform different arithmetic tasks, and further have the ability to switch among different operational roles by changing the control instruction. By using a curve-intersections-based method, we analyze the different logic distribution on parameters. Noise plays an important role in designing logic architecture. Here, a detailed noise analysis on all the parameters of dynamic MIMO logic gate is also given. The proposed schemes in this paper are efficient in computation and available in engineering implementations.
2. Schemes for Dynamic MIMO Logic Gates
Our basic scheme is represented by the following M-input N-output logic cell: y=∑i=0M-1CiIi-k,Ioutj=0,if-βj<y<βjIoutj=1,else,
where Ii is the input signals, Ci is the weights of Ii, Ioutj is the output signals, βj is the window thresholds (0≤i≤M-1,0≤j≤N-1), and k is the control instruction which acts as a controller for dynamic MIMO logic gate.
Now we show how to obtain different logic gates by simply changing the values of parameter k. We firstly consider an example of 3-input 1-output logic gate whose parameters are selected as C0=C1=C2=1, β0=1.75, and k=1. If we input (000) for (I2I1I0), then we have y=-1,|y|=1. Since 1<1.75, the output is 0. Inputting (001/010/100) for (I2I1I0) results in |y|=0. Since 0<1.75, the output is 0. Similarly if we input (011/101/110) or (111) for (I2I1I0), the output is identified to 0 and 1, respectively. Thus, the logic cell performs a 3-input AND gate. It is easy to justify that we can change from AND gate to NOR gate by simply changing parameter k from 1 to 2 (for more details, please see Figure 1). Seen from Figure 1, we can know that, if we choose different values of β0, the logical performance will change accordingly.
By changing the parameter k from k1 to k2, logic function of the cell can transform from logic AND to logic NOR.
In order to analyze different gate distribution of logic cell (2.1), we propose an analysis method, called CIA method (curve-intersection-based analysis method), from which we can obtain the relationships among parameters Ii, Ci, Ioutj, βj, and k, and then obtain different regions for different logical functions. There are four steps in the proposed analysis method. First, we determine the domain of k, calculate, and draw curves of |y| for different inputs (IM-1⋯I0), where the x-coordinate is k and the y-coordinate is |y|. Second, different values of βj are used to divide the region of |y| into two parts: for the upper part, Ioutj=1 where |y|≥βj, and, for the lower part, Ioutj=0 where |y|<βj. In the second step, we can determine different βj regions according to the intersections of curves |y| and boundaries of k. Third, the positions of intersections for curves of βj and |y| are used to discriminate different regions of parameter k which represent different logic functions. Finally, with different values of parameter k, our proposed logic cell can transform among different logic functions.
Now we use CIA method to analyze the 3-input 1-output logic gate. The relationships among parameters |y|,k, and β0 are shown in Figure 2 with the domain -1≤k≤4, where parameter values C0=C1=C2=1. Figure 2(a) shows the curves of |y| with different combinations of (I2I1I0). Figure 2(b) shows different gate distribution of β0. In Figure 2(c), the black points mark intersections of the line β0=0.75 with various curves of |y| against k for different combinations of (I2I1I0). Thus, different regions of logic functions are produced with different values of k. Here, the intersection points are termed as the critical points. If parameter k is selected at or near these critical points, a small variation of k may make the logic function transform from one gate to another. This brings disadvantages for designing robust logic gates against noise. Figure 2(d) shows that logic gates can change its function from one to the other. Seen from Figure 2, we know that the logic cell can change flexibly among different kinds of logic functions by changing parameters k and β0.
Different k regions for different logics: (a) curves of |y| for different combinations (000),(001/010/100),(110/101/011), and (111), respectively. (b) Different β0 regions according to the intersections of the curves. In each region, β0 has similar character. (c) β=0.75. According to the intersections (black points), we achieve 9 regions of k. (d) For different k, the logic cell can perform different logic gates.
In our scheme, Ci is important to distinguish different inputs [17]. For 3-input 1-output logic gate, the curves of |y| with different combinations of (C2C1C0) are shown in Figure 3, from which we can see that different combinations of Ci can lead to different logic outputs. In order to further illustrate the proposed method, a 3-input 2-output logic gate is considered in Figure 4 which shows different k regions for different logic functions. Seen from Figure 2 to Figure 4, we know that the proposed curve-intersection-based analysis method is a general and legible tool to analyze different logic gates.
Curves of |y| for different combination of (C2C1C0) and (I2I1I0) in (2.1). (a) y=I2+I1+I0-k,(C2=C1=C0=1). The inputs (001/010/100) can be shown by a curve, and the inputs (101/011/110),(000), and (111) can be shown by other different curves, respectively. (b) y=2I2+I1+I0-k,(C2=2,C1=C0=1). The inputs (001/010) can be shown by one curve, and the inputs (100/011),(110/101),(000), and (111) can be shown by other different curves, respectively. (c) y=I2+2I1+I0-k,(C2=C0=1,C1=2). The inputs (001/100) can be shown by one curve, and for the inputs (010/101),(110/011),(000), and (111) can be shown by other different curves, respectively. (d) y=I2+I1+2I0-k,(C2=C1=1,C0=2). The inputs (100/010) can be shown by one curve, and the inputs (001/110),(101/011),(000), and (111) can be shown by other different curves, respectively. Different logic functions can be obtained from Figures 3(a), 3(b), 3(c) and 3(d) with the same β0 and k.
Different k regions for different three-input and two-output logic gates where y=I2+I1+I0-k, with the rules -β0<y<β0,Iout0=0;elseIout0=1 and -β1<y<β1,Iout1=0;elseIout1=1. We can obtain different kinds of multiple-input multiple-output logic gates by changing k.
For logic gate with 2-input 1-output, a special case of multiple-input multiple-output logic gate, there are 16 possible boolean algebraic functions which are shown in Tables 1 and 2. The details of different logic functions when β and k belong to different regions are shown in Table 3, where C1=1,C0=0.5, and y=0.5I0+I1-k, if -β<y<β, Iout=1, else Iout=0. From Table 3, we can see that the gate can change within logic functions NOR, XOR, AND, 0, X5, X6, X7, and X8 by changing values of parameter k. If we use opposite output of the gate, we have contrary gate which means that the gate can change within OR, XNOR, NAND, 1, X2, X1, X8 and X7. Moreover, if we exchange inputs I1 and I0, we obtain its symmetric gate, that is, the gate can change within NOR, XOR, AND, 0, X6, X5, X3, and X4. The above analysis demonstrates that we can use the same cell to produce all the basic logics by adjusting parameter k (for more detailed definitions about contrary-gate and symmetric-gate, please see [15]).
Truth table of basic logical NOR, NAND, XOR, OR, AND, 0, and 1.
I0
I1
NOR
NAND
XOR
OR
AND
0
1
I0
I1
I0+I1¯
I0I1¯
I0⊕I1
I0+I1
I0I1
0
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
1
0
0
0
1
1
0
1
Truth table of logical XNOR, X1, X2, X3, X4, X5, X6, X7, and X8.
I0
I1
XNOR
X1
X2
X3
X4
X5
X6
X7
X8
I0
I1
I0⊕I1¯
I0+I1¯
I0¯+I1
I0¯
I0
I0I1¯
I0¯I1
I1¯
I1
0
0
1
1
1
1
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
1
0
0
0
1
Logical gates for different values of parameters β, k.
Region
β
k
Gate
(0,1/4]
(-1/2,-β)
0
(-β,β)
NOR
(β,1/2-β)
0
(1/2-β,1/2+β)
X5
(I)
(1/2+β,1-β)
0
(1-β,1+β)
X6
(1+β,3/2-β)
0
(3/2-β,3/2+β)
AND
(3/2+β,2)
0
(1/4,1/2]
(-1/2,-β)
0
(-β,1/2-β)
NOR
(1/2-β,β)
X7
(β,1-β)
X5
(II)
(1-β,1/2+β)
XOR
(1/2+β,3/2-β)
X6
(3/2-β,1+β)
X8
(1+β,3/2+β)
AND
(3/2+β,2)
0
(1/2,3/4]
(-1/2,1/2-β)
NOR
(1/2-β,1-β)
X7
(1-β,β)
NAND
(III)
(β,3/2-β)
XOR
(3/2-β,1/2+β)
OR
(1/2+β,1+β)
X8
(1+β,2)
AND
(3/4,1]
(-1/2,1/2-β)
NOR
(1/2-β,1-β)
X7
(1-β,3/2-β)
NAND
(IV)
(3/2-β,β)
1
(β,1/2+β)
OR
(1/2+β,1+β)
X8
(1+β,2)
AND
(1,3/2]
(-1/2,1-β)
X7
(1-β,3/2-β)
NAND
(V)
(3/2-β,β)
1
(β,1/2+β)
OR
(1/2+β,2)
X8
(3/2,2]
(-1/2,3/2-β)
NAND
(VI)
(3/2-β,β)
1
(β,2)
OR
Since noise cannot be avoided in designing robust logic cells for implementing gate functions successfully, we must discuss the optimal selections of parameter k in presence of noise. Now we begin to discuss a thorough noise analysis on all the parameters k, βj, and the inputs. When k is influenced by noise, we have y=∑i=0M-1CiIi+Dη(t)-k, where η(t) is an additive zero mean noise and D is the noise strength. The additive noise will cause some confusions. Based on CIA method, we know that some confusion domains come into being around curves of |y| in presence of noise. Figure 5 shows confusion domains of 3-input 1-output logic gate where C0=C1=C2=1 and the band of the domain is 2D. When the combination of (k,β0) is selected in the grey belts (e.g., the red point), the discrimination of logic gate is confused. In order to avoid the influence of noise, the combination of (k,β0) should be selected near or at the centers of white belts (e.g., the green point). Since w=2/2 (please see Figure 5), we can see that when D increases to D=2/4, the white belts will disappear, that is to say, to perform a robust gate, D should be less than 2/4 in this case. Suppose that the mth input is influenced by noise, we have y=∑i=0m-1CiIi+Cm(Im+Dη(t))+∑i=m+1M-1CiIi-k=∑i=0M-1CiIi+CmDη(t)-k, then the influence of noise on Im is similar to that on k. In this condition, we can know that the band of confusion domain is 2CmD and D should be less than 2/(4Cm). Figure 6 shows the confusion domains when β0 is influenced, from which we know that k should be selected so that intersections of curves k and |y| should not fall into the confusion domains.
Confusing processing domains (grey belts) caused by additive noise. When combination (k,β0) is selected in the grey belts (e.g., the red point), the discrimination of logic gate is confused. In order to avoid the influence of such noise, the combination (k,β0) should be selected at the centers of the white belts (e.g., the green point).
Confusing processing domains (grey belt) caused by additive noise. When the intersections of curves k and |y| fall into the grey belts (e.g., the red point), the discrimination of logic gate is confused. In order to avoid the influence of such noise, the intersections of k and |y| should be far away from the grey belt.
Physical implementation of the proposed scheme is an important work for successful engineering applications. Figure 7 shows the simulation circuit of a 3-input 1-output logic gate, where UA741 and OP37CZ are operational amplifiers and ZDX1F and ZPD5.1 are diodes. In the circuit, the operational amplifier of OP37CZ is used to calculate the value of y, and the other operational amplifiers and diodes are used to determine the output. Figure 8 shows simulation results of inputs, k, output, and y, respectively. In practical applications, chips based on our schemes can be designed based on the existing semiconductor technology with no retooling requirement.
Circuit diagram of 3-input 1-output logic gate where y=I0+I1+I2-2k and β0=8.75.
Simulation results of time sequences from top to bottom: panel 1, panel 2, and panel 3 show a stream of input signals I0, I1, and I2, determining input set (I0I1I2). Panel 4 shows the control signal of k for different logics. Panel 5 shows the output signal Iout. Both these logical functions are consistent with the corresponding k values indicated in Panel 4. Panel 6 shows the signals of y, β0, and -β0, respectively.
Note that there are two types of multiple-input multiple-output (MIMO) logic gates. The first type with one-control instruction which is given in (2.1). The second type with multicontrol instructions is described as follows: yj=∑i=0M-1CijIi-kj,Ioutj=0,if-βj<yj<βjIoutj=1,else.
For the M-input N-output logic gate with multicontrol instructions, we can also use the proposed CIA method to analyze the gate distribution. The structure of dynamic MIMO logic gate with multicontrol instructions is more complex than that with only one control instruction. However, the logic functions of dynamic MIMO logic gate with multicontrol instructions are richer than that with only one control instruction.
3. Discussion and Conclusion
Arrays of such morphing logic gates can be conceivably programmed on the run (e.g., by an external program) with satisfactory optimization for tasks at hand. For instance, they may serve flexibly as arithmetic processing units or memory units and can be swapped from one to another as demands.
The computing scheme proposed here is a kind of technique for dynamic logic architecture, and it has an important and practical advantage of flexibility over all the previous computing paradigms of static architecture. Moreover, the architecture of dynamic logic is essentially different from that of FPGA [7, 12]. FPGA contains programmable interconnects that can be rewired to perform different functions [17–19]. The chips based on dynamic logic architecture can be transformed into different arrangements of logic gates in single clock cycles. FPGA is relatively slow to reconfigure, typically taking milliseconds for each rewiring, or about one million times slower than chips of dynamic logic architecture. ChaoLogix, a semiconductor company, has gotten to the stage where it can create any kind of gate from a small circuit of about 30 transistors, and this circuit is then repeated across the chip. The use of a single circuit has huge advantages over FPGA [11]. The way FPGA designed takes up more silicon real estate and consumes more resources than chips of dynamic logic architecture [11]. In schemes of dynamic logic architecture, there is no special difference between a memory element and a processing element. Hence, the duties of damaged cells may be efficiently distributed among other elements [17–20]. The reconfigurable computing systems based on dynamic logic architecture may be more robust than those based on FPGA.
In this paper, we use a threshold mechanism to obtain dynamic MIMO logic cell. Such simple computing units may then support a dynamic computer architecture and serve as ingredients of general-purpose device more flexibly than statically wired hardware as well as dynamic hardware based on dynamical systems. Possible applications of such reconfigurable hardware include digital signal processing, software-defined radio, aerospace and defense systems, ASIC prototyping, cryptography, computer vision, speech recognition, computer hardware emulation, and a growing range of other related areas [21, 22]. Further advantages of reconfigurable hardware include the ability to reprogram in the field, to fix bugs, lower nonrecurring engineering costs, and implement coarse-grained architecture approaches [4].
Acknowledgments
The authors would like to thank the Editor and all the anonymous reviewers for their helpful advices. This paper is supported by the National Natural Science Foundation of China (Grant nos. 61070209 and 61100204), the Specialized Research Fund for the Doctoral Program of Higher Education (Grant no. 200800131028), the Chinese Universities Scientific Fund (Grant no. BUPT2011RC0211), the Fok Ying-Tong Education Foundation for Young Teachers in the Higher Education Institutions of China (Grant no. 121062), the Program for New Century Excellent Talents in University of the Ministry of Education of China (Grant no. NCET-10-0239).
BarteeT. C.1991New York, NY, USAMcGraw-HillManoM. M.19933rdEnglewood Cliffs, NJ, USAPrentice-HallTabakD.Dynamic architecture and LSI modular computer systems1984424866TaubesG.Computer design meets Darwin199727753341931193210.1126/science.277.5334.1931HeathJ. R.KuekesP. J.SniderG. S.WilliamsR. S.A defect-tolerant computer architecture: opportunities for nanotechnology199828053701716172110.1126/science.280.5370.1716CollierC. P.WongE. W.BelohradskýM.RaymoF. M.StoddartJ. F.KuekesP. J.WilliamsR. S.HeathJ. R.Electronically configurable molecular-based logic gates1999285542639139410.1126/science.285.5426.391LangeS.MiddendorfM.Multi-level reconfigurable architectures in the switch model2010562-310311510.1016/j.sysarc.2009.11.008SinhaS.DittoW. L.Dynamics based computation1998811021562159ChlouverakisK.AdamsM. J.Optoelectronic realization of NOR logic gate using chaotic two-section lasers200541635936010.1049/el:20058026KuoD.Chaos and its computing paradigm2005242131510.1109/MP.2005.1491313Graham-RoweD.Logic from chaos: new chips use chaos to produce potentially faster, more robust computing2006Cambridge, Mass, USAMassachusetts Institute of Technologyhttp://www.technologyreview.com/business/16989/MunakataT.SinhaS.DittoW. L.Chaos computing: implementation of fundamental logical gates by chaotic elements200249111629163310.1109/TCSI.2002.8045511945893MuraliK.SinhaS.DittoW. L.BulsaraA. R.Reliable logic circuit elements that exploit nonlinearity in the presence of a noise floor200910210104101PengH.YangY.LiL.LuoH.Harnessing piecewise-linear systems to construct dynamic logic architecture2008183, article 03310710.1063/1.2953494PengH.LiuF.LiL.YangY.WangX.Dynamic logic architecture based on piecewise-linear systems201037413-141450145610.1016/j.physleta.2010.01.031DittoW. L.MuraliK.SinhaS.Exploiting the controlled responses of chaotic elements to design configurable hardware200636418462483249410.1098/rsta.2006.1836NormileD.Artificial life gets real as scientists meet in Japan199627252701872187310.1126/science.272.5270.1872Jahed-MotlaghM. R.KiaB.DittoW. L.SinhaS.Fault tolerance and detection in chaotic computers20071761955196810.1142/S02181274070181422346821ZBL1141.68013EdwardsM.GreenP.Run-time support for dynamically reconfigurable computing systems2003494–626728110.1016/S1383-7621(03)00068-7FrankP. M.Analytical and qualitative model-based fault diagnosis—a survey and some new results199621628MuraliK.SinhaS.Using synchronization to obtain dynamic logic gates200775210.1103/PhysRevE.75.025201025201(R)MuraliK.MiliotisA.DittoW. L.SinhaS.Logic from nonlinear dynamical evolution2009373151346135110.1016/j.physleta.2009.02.0262497608