Abstract

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 [48]. 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 [810]. 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: where is the input signals, is the weights of , is the output signals, is the window thresholds (), and 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 . We firstly consider an example of 3-input 1-output logic gate whose parameters are selected as , , and . If we input for , then we have . Since , the output is 0. Inputting for results in . Since , the output is 0. Similarly if we input or for , 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 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 , the logical performance will change accordingly.

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 , , , , and , and then obtain different regions for different logical functions. There are four steps in the proposed analysis method. First, we determine the domain of , calculate, and draw curves of for different inputs , where the x-coordinate is and the y-coordinate is . Second, different values of are used to divide the region of into two parts: for the upper part, where , and, for the lower part, where . In the second step, we can determine different regions according to the intersections of curves and boundaries of . Third, the positions of intersections for curves of and are used to discriminate different regions of parameter which represent different logic functions. Finally, with different values of parameter , 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 , and are shown in Figure 2 with the domain , where parameter values . Figure 2(a) shows the curves of with different combinations of . Figure 2(b) shows different gate distribution of . In Figure 2(c), the black points mark intersections of the line with various curves of against for different combinations of . Thus, different regions of logic functions are produced with different values of . Here, the intersection points are termed as the critical points. If parameter is selected at or near these critical points, a small variation of 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 and .

In our scheme, is important to distinguish different inputs [17]. For 3-input 1-output logic gate, the curves of with different combinations of are shown in Figure 3, from which we can see that different combinations of 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 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.

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 belong to different regions are shown in Table 3, where , and , if , , else . From Table 3, we can see that the gate can change within logic functions NOR, XOR, AND, 0, , , , and by changing values of parameter . If we use opposite output of the gate, we have contrary gate which means that the gate can change within OR, XNOR, NAND, 1, , , and . Moreover, if we exchange inputs and , we obtain its symmetric gate, that is, the gate can change within NOR, XOR, AND, 0, , , , and . The above analysis demonstrates that we can use the same cell to produce all the basic logics by adjusting parameter (for more detailed definitions about contrary-gate and symmetric-gate, please see [15]).

Since noise cannot be avoided in designing robust logic cells for implementing gate functions successfully, we must discuss the optimal selections of parameter in presence of noise. Now we begin to discuss a thorough noise analysis on all the parameters , , and the inputs. When is influenced by noise, we have , where is an additive zero mean noise and 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 in presence of noise. Figure 5 shows confusion domains of 3-input 1-output logic gate where and the band of the domain is . When the combination of 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 should be selected near or at the centers of white belts (e.g., the green point). Since (please see Figure 5), we can see that when increases to , the white belts will disappear, that is to say, to perform a robust gate, should be less than in this case. Suppose that the th input is influenced by noise, we have , then the influence of noise on is similar to that on . In this condition, we can know that the band of confusion domain is and should be less than /. Figure 6 shows the confusion domains when is influenced, from which we know that should be selected so that intersections of curves and should not fall into the confusion domains.

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 , and the other operational amplifiers and diodes are used to determine the output. Figure 8 shows simulation results of inputs, , output, and , respectively. In practical applications, chips based on our schemes can be designed based on the existing semiconductor technology with no retooling requirement.

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:

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 [1719]. 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 [1720]. 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).