[ieee 2011 ieee international symposium on circuits and systems (iscas) - rio de janeiro, brazil...

4
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 mod- eling tool (QCAPro) to estimate polarization error and non- adiabatic switching power loss in Quantum-dot Cellular Au- tomata (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 tech- nology 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 quasi- adiabatic 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- 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, 978-1-4244-9474-3/11/$26.00 ©2011 IEEE 2377

Upload: sudeep

Post on 23-Dec-2016

217 views

Category:

Documents


2 download

TRANSCRIPT

QCAPro - An Error-Power Estimation Tool forQCA Circuit Design

Saket Srivastava and Arjun AsthanaIndraprastha Institute of Information Technology

New Delhi, IndiaEmail: (saket, arjun08011)@iiitd.ac.in

Sanjukta Bhanja∗ and Sudeep Sarkar†

∗Electrical Engineering, †Computer Science and EngineeringUniversity of South Florida, Tampa, Florida.

Email: ∗[email protected], †[email protected]

Abstract—In this work we present a novel probabilistic mod-eling tool (QCAPro) to estimate polarization error and non-adiabatic switching power loss in Quantum-dot Cellular Au-tomata (QCA) circuits. The tool uses a fast approximation basedtechnique to estimate highly erroneous cells in QCA circuitdesign. QCAPro also provides an estimate of power loss in aQCA circuit for clocks with sharp transitions, which result innon-adiabatic operations and provides an upper bound of powerexpended. QCAPro can be used to estimate average power loss,maximum and minimum power loss in a QCA circuit duringan input switching operation. This work will provide a goodplatform for researchers who wish to study polarization errorand power dissipation related issues in QCA circuits.

I. INTRODUCTION

Quantum-dot cellular automata (QCA) is an emerging tech-nology that offers revolutionary approach to computing atnano-level [1]. Both individual QCA cell (semi-conductor andmetallic) and multiple QCA arrangement, such as wire andmajority logic, have been fabricated and tested [2]. Significantprogress is also being made in using magnets and moleculesto implement QCAs [3], [4], which will make it possible tooperate at room temperature. QCA technology uses device todevice coulombic interaction to perform computation. Sincethe QCA concept does not involve transfer of electrons, it hasa potential for extremely low-power computing, even belowthe traditional kT [5]. However, given that only few electronsare involved in computation, it is susceptible to both thermaland fabrication issues. Hence, it is important to be able tocharacterize and predict errors due to polarization loss as wellas power dissipated in QCA circuits. While there are toolsavailable to model polarization in QCA circuits, there areno tools currently available to estimate power loss in QCAcircuits. There are models available that can estimate quasi-adiabatic power dissipation in a single QCA cell [6] andnon-adiabatic power dissipation for larger QCA circuits [7].However, absence of tools that can be used to estimate botherror and power dissipation in QCA circuits is a limitation forresearchers to design and optimize QCA circuits.

This work intends to build upon the modeling schemepresented in [8] to present a GUI based tool for error-powerestimation in QCA circuit design. Our tool, QCAPro uses aprobabilistic modeling scheme to estimate polarization errorin small and large QCA circuits. Furthermore, QCAPro alsoestimates switching power losses in QCA circuits under non-

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

adiabatic clocking. There are several parameters that users canchange to optimize and analyze QCA circuits. QCAPro allowsusers to set the values of temperature, estimate the upper boundof power dissipated in QCA circuits as a function of cellpolarization, clock energy, kink energy and quantum relaxationtime.

The novelty of this work is (1) To the best of our knowledgeQCAPro is the only tool that can estimate non adiabatic powerdissipation in QCA circuits. (2) Since QCAPro uses a fastapproximation based technique, computation is performed ina fraction of time as compared to other available tools. (3)Apart from average power dissipation, QCAPro can also beused to estimate maximum and minimum power dissipationand the corresponding input vectors. In the next section webegin with a basic introduction to QCA technology.

II. QCA BASICS

The most basic configuration of a QCA cell used in QCAcircuit design is two electrons and four possible dot locationat each corner of a QCA cell as shown in Fig. I. There are twopolarized states for each QCA cell, P=-1 or P=1. Current QCAdesigns rely on a set of 4 clocks, phase shifted with respect toeach other, and used to “push” information from inputs to theoutput by modifying the cell tunneling energy. The completecircuit is divided into zones, each associated with one of the4 clocks in sequence as shown in Fig. 2. The clocks are usedto change the state of a cell from a depolarized state to alatching state, to a hold state, and then back to a depolarizedstate. The two main characteristics of an individual QCA cellin a circuit that are modeled by QCAPro are steady statepolarization probability (which determines error) and powerdissipation under non adiabatic clock switching:

A. Estimation of Error

A QCA system can be erroneous if it fails to settle downto ground state. In order to estimate error in QCA circuit,

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

Fig. 2. Flow of information in QCA line controlled by clock propagation

we use the probabilistic error model presented in [9]. Thismodel arrives at the probability of error in a QCA systemusing ground state polarization probabilities and using it toestimate error in the output of a QCA circuit represented bygraphical probabilistic network. A brief description of thismodel is provided below.

The steady state polarization of a QCA cell can be derivedfrom the Hamiltonian of the cell using Hartree approximation.Expression of Hamiltonian is shown in Eq. 1 [10].

H =

[ − 12 ∑i EkPi fi −γ

−γ 12 ∑i EkPi fi

]=

[ − 12 EkP̄ −γ−γ 1

2 EkP̄

]

(1)where the sums are over the cells in the local neighborhood.Ek is the “kink energy” or the energy cost of two neighboringcells having opposite polarizations. fi is the geometric factorcapturing electrostatic fall off with distance between cells. Pi isthe polarization of the i-th cell. And, γ is the tunneling energybetween two cell states, which is controlled by the clockingmechanism. 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 isgiven by

Pss =−λss3 = ρss

11 −ρss00 =

EkP̄√E2

k P̄2 +4γ2tanh(

√E2

k P̄2/4+ γ2

kT)

(2)Eq. 2 can be written as

Pss =EΩ

tanh(Δ) (3)

where E = 0.5∑i EkPi fi, the total kink energy, Ω =√E2

k P̄2/4+ γ2, the Rabi frequency, and Δ = ΩkT is the thermal

ratio. We use the above equation to arrive at the probabilitiesof observing (upon making a measurement) the system in eachof the two states. Specifically, P(X = 1) = ρss

11 = 0.5(1+Pss)and P(X = 0) = ρss

00 = 0.5(1−Pss), where we made use ofthe fact that ρss

00 +ρss11 = 1. Here ρss

11(ρss00) is the probability of

observing the system (here a QCA cell) in state 1 (state 0).

A B Carry In

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

CC

C

C

C

C

C

C

C

C

CC

CC

C

C

C

C

C C C

C C

C

C

C

C

C

C

C

C

C

C C

CCCC

C

CC

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

CC C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

C

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

The value of steady state polarization probability is used toestimate error in a QCA circuit as described in [8].

B. Power Dissipation

Power dissipation in QCA is of great interest to the re-searchers since it promises very low-power computation, evenbelow the traditional kT. QCAPro makes use of non-adiabaticpower dissipation model presented in [7], to estimate switch-ing power losses in a QCA circuit. This model was derivedfrom the quasi-adiabatic model presented by Timler et.al. [6].According to this model, the equation for instantaneous poweris given by:

Ptotal =ddt

E =h̄2

(ddt

Γ⃗)⋅⃗λ+ h̄

2Γ⃗ ⋅

(ddt

λ⃗)

(4)

where λ⃗ us the coherence vector and Γ⃗ is the three dimensionalenergy vector. The first term captures the power in and outof the clock and cell to cell power flow. We are concernedwith the second term (Pdiss) which represents the instantaneouspower dissipated. Power dissipated during switching can thusbe calculated by integrating Pdiss over time.

Pdiss(t) =h̄2

Γ⃗(t).(

ddt

λ⃗(t))

(5)

Please see [6] for more details about these terms.

III. MODELING SCHEME

Since clocked QCA architecture emulates input-outputcausal behavior, it is best to represent the underlying depen-dencies in a graphical probabilistic framework that is faithfulto the quantum-mechanical interactions of the neighboringcells. QCAPro first converts a QCA circuit into a Bayesiannetwork where each QCA cell is a node and the edgesrepresent the flow of information from the input nodes to theoutput nodes. The conditional probability of individual nodesis given by the steady state polarization probability (Eq. 2) andis dependent on the polarization of neighboring cells, tunnelingenergy, temperature, size and spacing of QCA cells. QCAProuses this approach to study the most probable circuit outputstates, to model the error-proneness of the QCA cells based onpolarization probability of a given cell. Fig. 3 shows a designof a single bit QCA adder circuit and its equivalent Bayesiannetwork.

2378

QCA Circuit Layout

Behavioral Description

Specify the Bayesian Algorithm

Specify DesignParameters

Design Check

Generate PolarizationProbability graph

Specify Input Vector

Perform Design Check

Specify Switching Vector Set

Specify Kink Energy

Generate Power Dissipation Data

Perform Design Check

Generate a thermal hotspots map for the QCA circuit

Fig. 4. Design flow for QCAPro tool

IV. SIMULATION SETUP

QCAPro tool has been designed using C/C++ under Linux.The GUI interface of this tool was developed using QTCreator. Windows users can also use the tool by installingthe QT runtime libraries. The tool uses SMILE library [11]to generate the graphical model and to infer the polarizationprobabilities in a QCA circuit using the Bayesian inferencealgorithm proposed in [12].

QCAPro tool currently utilizes the layout file generatedfrom QCADesigner [13]. Using this layout file, QCAPro canperform a quick design check to test the value of outputs forall possible combinations of inputs. In order to check the QCAcircuit design, users have to provide a behavioral model of thecircuit. During this step QCAPro tool converts the given QCAcircuit description to an equivalent Bayesian network. Thenusing the behavioral description of the circuit, QCAPro checksthe output polarization of this network for all possible inputpolarizations. If there is an error detected, QCAPro generatesan error message and also the the input vector set for which theexpected output did not match the output obtained. QCAProalso generates layout files for all the erroneous states for whichthe circuit failed to achieve the expected outputs. As can beseen in Fig. 4, design checking is a necessary condition forgenerating the polarization map of the circuit as well as toestimate switching power losses.

QCAPro can generate a polarization map of QCA circuitfor any particular input vector. This step can be repeatedseveral 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 beswitched and the ratio of kink energy to tunneling energy.QCAPro then evaluates average power dissipation over allspecified input vectors and also generates a power dissipationmap that displays the thermal hotspots (high power dissipatingcells) in the design. The tool allows the users to scroll overa particular cell in the QCA circuit to view its polarizationprobability or power dissipation values. The user can alsosave the polarization probability and power dissipation map

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

as a JPEG image. QCAPro also generates a the displayed datain text format to enable usability and compatibility with othertools. The text file also lists the maximum and minimum powerdissipating vectors and the corresponding values of power.

V. EXPERIMENTAL RESULTS

QCAPro derives polarization probability of individual QCAcell in a design using an approximation based method. Hencethe results obtained from QCAPro for polarization and powerdissipation are a pessimistic estimate. This approach is alsobeneficial to designers as it provides them with the worstcase (upper bound) estimate of polarization drop and powerdissipation. Moreover, it has been shown in [8] that thatgraphical modeling scheme is several orders of magnitudefaster than the coherence vector based simulation engineused in QCADesigner [13]. However, QCADesigner does notprovide an estimate of power dissipation in QCA circuit.

Fig. 5 shows a snapshot of the tool while performing designcheck of single bit QCA adder circuit. As can be seen, thetool verifies the outputs for all possible input combinations byupdating the graphical network and inferring the output. Oncethis step is over, user can either (i) estimate the probability oferror in the circuit for a particular input vector or (ii) estimatethe power dissipation in the circuit.

In order to estimate the probability of error in a QCA designuser has to first provide the values of all inputs to the circuit asshown in Fig. 6. QCAPro then generates a map of polarizationerror for the design as shown in Fig. 7. As can be seen inthe figure, a user can scroll over a QCA cell to visualize thepolarization error.

To estimate non-adiabatic switching power loss, user has tospecify the set of input vectors as a file to the GUI interface.QCAPro then generates a map of average power dissipationover the entire set of switching vectors. Fig. 8 shows thethermal hotspots in the average power dissipation map of asingle bit ALU design. To visualize the power dissipation inindividual cells, users can just scroll over the layout. QCAProalso generates a text file for thermal layout and also for the

2379

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

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

maximum and minimum power dissipating cells. Using thisinformation designers can provide selective redundancy tocells that are most prone to thermal breakdown.

VI. FUTURE WORK

QCAPro currently uses the QCA circuit layout file fromQCADesigner tool. In future we wish to incorporate advancedGUI interface where user can not only design QCA layout, butalso provides flexibility in terms of dimensions and spacing ofQCA cells in a layout without having to redo the design. Thisfeature will allow users to optimize circuit performance basedon size and spacing of QCA which is currently missing.

VII. CONCLUSION

QCAPro is a probabilistic modeling tool designed to esti-mate error and power dissipation in QCA circuit design. Thistool uses the layout file generated from QCADesigner as aninput. Users can specify the other design parameters such astemperature and kink energy as per the design criteria. The toolnot only helps in quickly checking a QCA circuit design, it canbe also used to estimate polarization error at each of the QCA

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

cell for a particular input vector. QCAPro also estimates theaverage, maximum and minimum power dissipation in a QCAcircuit under non-adiabatic switching. The tool provides theoutput in both textual as well as graphical formats. This is thefirst version of this tool and the authors will work continuouslyto enhance the usability and functionality of this tool. The toolcan be downloaded from www.iiitd.edu.in/∼saket/ and willalso be available on open forums such as nanohub.org.

REFERENCES

[1] C. Lent and P. Tougaw, “A device architecture for computing withquantum dots,” in Proceeding of the IEEE, vol. 85-4, pp. 541–557, April1997.

[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 cellularautomata,” 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,” inSolid-State and Integrated-Circuit Technology, 2008. ICSICT 2008. 9thInternational Conference on, pp. 549 –552, 2008.

[5] J. Timler and C. Lent, “Maxwell’s demon and quantum-dot cellularautomata,” Journal of Applied Physics, vol. 94, pp. 1050–1060, July2003.

[6] J. Timler and C. Lent, “Power gain and dissipation in quantum-dotcellular automata,” Journal of Applied Physics, vol. 91, pp. 823–831,January 2002.

[7] S. Srivastava, S. Sarkar, and S. Bhanja, “Estimation of upper bound ofpower dissipation in qca circuits,” Nanotechnology, IEEE Transactionson, 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 usingbayesian networks,” Nanotechnology, IEEE Transactions on, vol. 5,no. 6, pp. 657 –670, 2006.

[10] P. Douglas Tougaw and C. S. Lent, “Dynamic behavior of quantumcellular 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 proce-

dural guide,” International Journal of Approximate Reasoning, vol. 15,pp. 225–263, 1996.

[13] K. Walus, T. Dysart, G. Jullien, and R. Budiman, “QCADesigner: Arapid design and simulation tool for quantum-dot cellular automata,”IEEE Trans. on Nanotechnology, vol. 3, pp. 26–29, March 2004.

2380