QCAPro - an Error-Power Estimation Tool for QCA ... - IEEE Xplore

13 downloads 41822 Views 325KB Size Report
Electrical Engineering, †Computer Science and Engineering. University of South Florida, Tampa, Florida. Email: ∗ ... I. INTRODUCTION. Quantum-dot cellular automata (QCA) is an emerging tech- nology that ... QCA technology uses device to.
QCAPro - An Error-Power Estimation Tool for QCA Circuit Design Saket Srivastava and Arjun Asthana Indraprastha Institute of Information Technology New Delhi, India Email: (saket, arjun08011)@iiitd.ac.in

Sanjukta Bhanja∗ and Sudeep Sarkar†

∗ Electrical

Engineering, † Computer Science and Engineering University of South Florida, Tampa, Florida. Email: ∗ [email protected], † [email protected]

Abstract—In this work we present a novel probabilistic modeling tool (QCAPro) to estimate polarization error and nonadiabatic switching power loss in Quantum-dot Cellular Automata (QCA) circuits. The tool uses a fast approximation based technique to estimate highly erroneous cells in QCA circuit design. QCAPro also provides an estimate of power loss in a QCA circuit for clocks with sharp transitions, which result in non-adiabatic operations and provides an upper bound of power expended. QCAPro can be used to estimate average power loss, maximum and minimum power loss in a QCA circuit during an input switching operation. This work will provide a good platform for researchers who wish to study polarization error and power dissipation related issues in QCA circuits.

I. I NTRODUCTION Quantum-dot cellular automata (QCA) is an emerging technology that offers revolutionary approach to computing at nano-level [1]. Both individual QCA cell (semi-conductor and metallic) and multiple QCA arrangement, such as wire and majority logic, have been fabricated and tested [2]. Significant progress is also being made in using magnets and molecules to implement QCAs [3], [4], which will make it possible to operate at room temperature. QCA technology uses device to device coulombic interaction to perform computation. Since the QCA concept does not involve transfer of electrons, it has a potential for extremely low-power computing, even below the traditional kT [5]. However, given that only few electrons are involved in computation, it is susceptible to both thermal and fabrication issues. Hence, it is important to be able to characterize and predict errors due to polarization loss as well as power dissipated in QCA circuits. While there are tools available to model polarization in QCA circuits, there are no tools currently available to estimate power loss in QCA circuits. There are models available that can estimate quasiadiabatic power dissipation in a single QCA cell [6] and non-adiabatic power dissipation for larger QCA circuits [7]. However, absence of tools that can be used to estimate both error and power dissipation in QCA circuits is a limitation for researchers to design and optimize QCA circuits. This work intends to build upon the modeling scheme presented in [8] to present a GUI based tool for error-power estimation in QCA circuit design. Our tool, QCAPro uses a probabilistic modeling scheme to estimate polarization error in small and large QCA circuits. Furthermore, QCAPro also estimates switching power losses in QCA circuits under non-

978-1-4244-9474-3/11/$26.00 ©2011 IEEE

Fig. 1. A single QCA cell in two most probable (stable) configurations based on the location of electrons in the quantum dots

adiabatic clocking. There are several parameters that users can change to optimize and analyze QCA circuits. QCAPro allows users to set the values of temperature, estimate the upper bound of power dissipated in QCA circuits as a function of cell polarization, clock energy, kink energy and quantum relaxation time. The novelty of this work is (1) To the best of our knowledge QCAPro is the only tool that can estimate non adiabatic power dissipation in QCA circuits. (2) Since QCAPro uses a fast approximation based technique, computation is performed in a fraction of time as compared to other available tools. (3) Apart from average power dissipation, QCAPro can also be used to estimate maximum and minimum power dissipation and the corresponding input vectors. In the next section we begin with a basic introduction to QCA technology. II. QCA BASICS The most basic configuration of a QCA cell used in QCA circuit design is two electrons and four possible dot location at each corner of a QCA cell as shown in Fig. I. There are two polarized states for each QCA cell, P=-1 or P=1. Current QCA designs rely on a set of 4 clocks, phase shifted with respect to each other, and used to “push” information from inputs to the output by modifying the cell tunneling energy. The complete circuit is divided into zones, each associated with one of the 4 clocks in sequence as shown in Fig. 2. The clocks are used to change the state of a cell from a depolarized state to a latching state, to a hold state, and then back to a depolarized state. The two main characteristics of an individual QCA cell in a circuit that are modeled by QCAPro are steady state polarization probability (which determines error) and power dissipation under non adiabatic clock switching: A. Estimation of Error A QCA system can be erroneous if it fails to settle down to ground state. In order to estimate error in QCA circuit,

2377

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C C C

C

C

C C

C

C

C

C

C C

C

C

C

C

C

C

C C

S

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C C C C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C C

C C

C

C

C

C

C

C

C

C

C

C

C

C C C

A

B

Carry In

(a)

C

C

C

C

C

C

C

C

C

(b)

Fig. 3. A single bit adder design in QCA (a) Cell Layout and (b) Equivalent Bayesian model Fig. 2.

Flow of information in QCA line controlled by clock propagation

we use the probabilistic error model presented in [9]. This model arrives at the probability of error in a QCA system using ground state polarization probabilities and using it to estimate error in the output of a QCA circuit represented by graphical probabilistic network. A brief description of this model is provided below. The steady state polarization of a QCA cell can be derived from the Hamiltonian of the cell using Hartree approximation. Expression of Hamiltonian is shown in Eq. 1 [10]. [ H=

− 12 ∑i Ek Pi fi −γ

−γ 1 2 ∑i Ek Pi f i

]

[ =

− 12 Ek P¯ −γ

−γ 1 Ek P¯

]

2

(1) where the sums are over the cells in the local neighborhood. Ek is the “kink energy” or the energy cost of two neighboring cells having opposite polarizations. fi is the geometric factor capturing electrostatic fall off with distance between cells. Pi is the polarization of the i-th cell. And, γ is the tunneling energy between two cell states, which is controlled by the clocking mechanism. The notation can be further simplified by using P¯ to denote the weighted sum of the neighborhood polarizations ∑i Pi fi . Using this Hamiltonian the steady state polarization is given by √ Ek2 P¯ 2 /4 + γ2 ¯ P E k ss ss √ ) = ρ − ρ = tanh( Pss = −λss 11 00 3 kT Ek2 P¯ 2 + 4γ2 (2) Eq. 2 can be written as E tanh(Δ) (3) Ω where E = 0.5 ∑i Ek Pi fi , the total kink energy, Ω = √ Ω Ek2 P¯ 2 /4 + γ2 , the Rabi frequency, and Δ = kT is the thermal ratio. We use the above equation to arrive at the probabilities of observing (upon making a measurement) the system in each ss of the two states. Specifically, P(X = 1) = ρss 11 = 0.5(1 + P ) ss ss and P(X = 0) = ρ00 = 0.5(1 − P ), where we made use of ss ss ss the fact that ρss 00 + ρ11 = 1. Here ρ11 (ρ00 ) is the probability of observing the system (here a QCA cell) in state 1 (state 0). Pss =

The value of steady state polarization probability is used to estimate error in a QCA circuit as described in [8]. B. Power Dissipation Power dissipation in QCA is of great interest to the researchers since it promises very low-power computation, even below the traditional kT. QCAPro makes use of non-adiabatic power dissipation model presented in [7], to estimate switching power losses in a QCA circuit. This model was derived from the quasi-adiabatic model presented by Timler et.al. [6]. According to this model, the equation for instantaneous power is given by: ( ) ( ) h¯ d ⃗ ⃗ h¯ ⃗ d d⃗ Γ ⋅λ+ Γ⋅ λ (4) Ptotal = E = dt 2 dt 2 dt where⃗λ us the coherence vector and ⃗Γ is the three dimensional energy vector. The first term captures the power in and out of the clock and cell to cell power flow. We are concerned with the second term (Pdiss ) which represents the instantaneous power dissipated. Power dissipated during switching can thus be calculated by integrating Pdiss over time. ( ) h¯ ⃗ d⃗ Pdiss (t) = Γ(t). λ(t) (5) 2 dt Please see [6] for more details about these terms. III. M ODELING S CHEME Since clocked QCA architecture emulates input-output causal behavior, it is best to represent the underlying dependencies in a graphical probabilistic framework that is faithful to the quantum-mechanical interactions of the neighboring cells. QCAPro first converts a QCA circuit into a Bayesian network where each QCA cell is a node and the edges represent the flow of information from the input nodes to the output nodes. The conditional probability of individual nodes is given by the steady state polarization probability (Eq. 2) and is dependent on the polarization of neighboring cells, tunneling energy, temperature, size and spacing of QCA cells. QCAPro uses this approach to study the most probable circuit output states, to model the error-proneness of the QCA cells based on polarization probability of a given cell. Fig. 3 shows a design of a single bit QCA adder circuit and its equivalent Bayesian network.

2378

QCA Circuit Layout Behavioral Description

Specify Switching Vector Set

Specify the Bayesian Algorithm

Specify Input Vector

Perform Design Check

Specify Design Parameters

Specify Kink Energy Perform Design Check

Generate Power Dissipation Data

Design Check Generate Polarization Probability graph

Fig. 4.

Generate a thermal hotspots map for the QCA circuit

Fig. 5. Snapshot of QCAPro tool while performing Design Check of single bit adder circuit.

Design flow for QCAPro tool

IV. S IMULATION S ETUP QCAPro tool has been designed using C/C++ under Linux. The GUI interface of this tool was developed using QT Creator. Windows users can also use the tool by installing the QT runtime libraries. The tool uses SMILE library [11] to generate the graphical model and to infer the polarization probabilities in a QCA circuit using the Bayesian inference algorithm proposed in [12]. QCAPro tool currently utilizes the layout file generated from QCADesigner [13]. Using this layout file, QCAPro can perform a quick design check to test the value of outputs for all possible combinations of inputs. In order to check the QCA circuit design, users have to provide a behavioral model of the circuit. During this step QCAPro tool converts the given QCA circuit description to an equivalent Bayesian network. Then using the behavioral description of the circuit, QCAPro checks the output polarization of this network for all possible input polarizations. If there is an error detected, QCAPro generates an error message and also the the input vector set for which the expected output did not match the output obtained. QCAPro also generates layout files for all the erroneous states for which the circuit failed to achieve the expected outputs. As can be seen in Fig. 4, design checking is a necessary condition for generating the polarization map of the circuit as well as to estimate switching power losses. QCAPro can generate a polarization map of QCA circuit for any particular input vector. This step can be repeated several times to generate a map for different input vectors. In order to generate a power dissipation map for QCA circuit, the user has to first provide the set of input vectors to be switched and the ratio of kink energy to tunneling energy. QCAPro then evaluates average power dissipation over all specified input vectors and also generates a power dissipation map that displays the thermal hotspots (high power dissipating cells) in the design. The tool allows the users to scroll over a particular cell in the QCA circuit to view its polarization probability or power dissipation values. The user can also save the polarization probability and power dissipation map

as a JPEG image. QCAPro also generates a the displayed data in text format to enable usability and compatibility with other tools. The text file also lists the maximum and minimum power dissipating vectors and the corresponding values of power. V. E XPERIMENTAL R ESULTS QCAPro derives polarization probability of individual QCA cell in a design using an approximation based method. Hence the results obtained from QCAPro for polarization and power dissipation are a pessimistic estimate. This approach is also beneficial to designers as it provides them with the worst case (upper bound) estimate of polarization drop and power dissipation. Moreover, it has been shown in [8] that that graphical modeling scheme is several orders of magnitude faster than the coherence vector based simulation engine used in QCADesigner [13]. However, QCADesigner does not provide an estimate of power dissipation in QCA circuit. Fig. 5 shows a snapshot of the tool while performing design check of single bit QCA adder circuit. As can be seen, the tool verifies the outputs for all possible input combinations by updating the graphical network and inferring the output. Once this step is over, user can either (i) estimate the probability of error in the circuit for a particular input vector or (ii) estimate the power dissipation in the circuit. In order to estimate the probability of error in a QCA design user has to first provide the values of all inputs to the circuit as shown in Fig. 6. QCAPro then generates a map of polarization error for the design as shown in Fig. 7. As can be seen in the figure, a user can scroll over a QCA cell to visualize the polarization error. To estimate non-adiabatic switching power loss, user has to specify the set of input vectors as a file to the GUI interface. QCAPro then generates a map of average power dissipation over the entire set of switching vectors. Fig. 8 shows the thermal hotspots in the average power dissipation map of a single bit ALU design. To visualize the power dissipation in individual cells, users can just scroll over the layout. QCAPro also generates a text file for thermal layout and also for the

2379

Fig. 6. Snapshot of QCAPro tool - Users can specify the input vector for which a polarization map needs to be created.

Fig. 8. Average power dissipation and thermal hotspots in a single bit ALU circuit.

cell for a particular input vector. QCAPro also estimates the average, maximum and minimum power dissipation in a QCA circuit under non-adiabatic switching. The tool provides the output in both textual as well as graphical formats. This is the first version of this tool and the authors will work continuously to enhance the usability and functionality of this tool. The tool can be downloaded from www.iiitd.edu.in/∼saket/ and will also be available on open forums such as nanohub.org. R EFERENCES

Fig. 7. Polarization probability of all QCA cells in a single bit QCA adder circuit.

maximum and minimum power dissipating cells. Using this information designers can provide selective redundancy to cells that are most prone to thermal breakdown. VI. F UTURE W ORK QCAPro currently uses the QCA circuit layout file from QCADesigner tool. In future we wish to incorporate advanced GUI interface where user can not only design QCA layout, but also provides flexibility in terms of dimensions and spacing of QCA cells in a layout without having to redo the design. This feature will allow users to optimize circuit performance based on size and spacing of QCA which is currently missing. VII. C ONCLUSION QCAPro is a probabilistic modeling tool designed to estimate error and power dissipation in QCA circuit design. This tool uses the layout file generated from QCADesigner as an input. Users can specify the other design parameters such as temperature and kink energy as per the design criteria. The tool not only helps in quickly checking a QCA circuit design, it can be also used to estimate polarization error at each of the QCA

[1] C. Lent and P. Tougaw, “A device architecture for computing with quantum dots,” in Proceeding of the IEEE, vol. 85-4, pp. 541–557, April 1997. [2] A. Orlov, R. Kummamuru, R. Ramasubramaniam, C. Lent, G. Bernstein, and G. Snider, “Clocked quantum-dot cellular automata shift register,” Surface Science, vol. 532, pp. 1193–1198, 2003. [3] C. Lent, B. Isaksen, and M. Lieberman, “Molecular quantum-dot cellular automata,” Journal of American Chemical Society, vol. 125, pp. 1056– 1063, 2003. [4] G. Snider, A. Orlov, V. Joshi, R. Joyce, H. Qi, K. Yadavalli, G. Bernstein, T. Fehlner, and C. Lent, “Electronic quantum-dot cellular automata,” in Solid-State and Integrated-Circuit Technology, 2008. ICSICT 2008. 9th International Conference on, pp. 549 –552, 2008. [5] J. Timler and C. Lent, “Maxwell’s demon and quantum-dot cellular automata,” Journal of Applied Physics, vol. 94, pp. 1050–1060, July 2003. [6] J. Timler and C. Lent, “Power gain and dissipation in quantum-dot cellular automata,” Journal of Applied Physics, vol. 91, pp. 823–831, January 2002. [7] S. Srivastava, S. Sarkar, and S. Bhanja, “Estimation of upper bound of power dissipation in qca circuits,” Nanotechnology, IEEE Transactions on, vol. 8, no. 1, pp. 116 –127, 2009. [8] S. Bhanja and S. Srivastava, “A bayesian computing model for qcas,” NSTI Nanotechnology Conference, 2005. [9] S. Bhanja and S. Sarkar, “Probabilistic modeling of qca circuits using bayesian networks,” Nanotechnology, IEEE Transactions on, vol. 5, no. 6, pp. 657 –670, 2006. [10] P. Douglas Tougaw and C. S. Lent, “Dynamic behavior of quantum cellular automata,” Journal of Applied Physics, vol. 80, pp. 4722–4736, Oct 1996. [11] SMILE library, “http://www.genie.sis.pitt.edu.” [12] C. Huang and A. Darwiche, “Inference in belief networks: A procedural guide,” International Journal of Approximate Reasoning, vol. 15, pp. 225–263, 1996. [13] K. Walus, T. Dysart, G. Jullien, and R. Budiman, “QCADesigner: A rapid design and simulation tool for quantum-dot cellular automata,” IEEE Trans. on Nanotechnology, vol. 3, pp. 26–29, March 2004.

2380

Suggest Documents