Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability...

13
1 Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, aria Ercsey-Ravasz, Zolt´ an Toroczkai, Xiaobo Sharon Hu, Fellow, IEEE, Abstract—Efficient solutions to NP-complete problems would significantly benefit both science and industry. However, such problems are intractable on digital computers based on the von Neumann architecture, thus creating the need for alternative solutions to tackle such problems. Recently, a deterministic, continuous-time dynamical system (CTDS) was proposed [1] to solve a representative NP-complete problem, Boolean Satisfiabil- ity (SAT). This solver shows polynomial analog time-complexity on even the hardest benchmark k-SAT (k 3) formulas, but at an energy cost through exponentially driven auxiliary variables. This paper presents a novel analog hardware SAT solver, AC-SAT, implementing the CTDS via incorporating novel, analog circuit design ideas. AC-SAT is intended to be used as a co-processor and is programmable for handling different problem specifications. It is especially effective for solving hard k-SAT problem instances that are challenging for algorithms running on digital machines. Furthermore, with its modular design, AC-SAT can readily be extended to solve larger size problems, while the size of the circuit grows linearly with the product of the number of variables and number of clauses. The circuit is designed and simulated based on a 32nm CMOS technology. SPICE simulation results show speedup factors of 10 4 on even the hardest 3-SAT problems, when compared with a state-of-the-art SAT solver on digital computers. As an example, for hard problems with N = 50 variables and M = 212 clauses, solutions are found within from a few ns to a few hundred ns. I. I NTRODUCTION With Moore’s Law coming to end [2], exploring novel computational paradigms (e.g., quantum computing and neu- romorphic computing) is more imperative than ever. While quantum computing is a promising venue, it is far from being brought to practical reality, with many challenges still to be faced, both in physics and engineering. Neuromorphic com- puting systems, e.g., Cellular Neural Networks (CNNs) [3]–[5] and IBM’s TrueNorth [6], have been shown to be promising alternatives for solving a range of problems in, say, sensory processing (vision, pattern recognition) and robotics. Analog mixed-signal information processing systems such as CNNs can offer extremely power/energy efficient solutions to some problems that are costly to solve by digital computers [7]. Such X. Yin and X.S. Hu are with the Department of Computer Science and Engineering, University of Notre Dame, IN 46556, USA (xyin1, [email protected]). B. Sedighi is with Qualcomm, San Diego, CA 92121, USA ([email protected]). M. Varga and Z. Toroczkai are with the Department of Physics and the In- terdisciplinary Center for Network Science and Applications (iCeNSA), Uni- versity of Notre Dame, Notre Dame, IN, 46556 USA (mvarga, [email protected]). M. Ercsey-Ravasz is with the Faculty of Physics, Hungarian Physics Institute, Babes-Bolyai University, Cluj-Napoca, Romania, ([email protected]) Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object identifier 10.1109/TVLSI.2017.2754192 systems have received increasing attention in recent years (e.g., [8]–[10]), including parallel analog implementations, see [11]. In analog computing [12], the algorithm (representing the “software”) is a dynamical system often expressed in the form of differential equations running in continuous time over real numbers, and its physical implementation (the “hardware”) is any physical system, such as an analog circuit, whose behavior is described by the corresponding dynamical system. The equations of the dynamical system are designed such that the solutions to problems appear as attractors for the dynamics and the output of the computation is the set of convergent states to those attractors [13]. Although it has been shown that systems of ordinary differential equations can simulate any Turing machine [3], [14], [15], and hence they are computationally universal, they have not yet gained widespread popularity due to the fact that designing such systems is problem specific and usually difficult. However, if an efficient analog engine can be designed to solve NP-complete problems, then according to the Cook-Levin theorem [16], it would help solve efficiently all problems in the NP class, as well as benefit a very large number of applications, both in science and engineering. In this paper, we consider designing analog circuits for solving a representative NP-complete problem, the Boolean satisfiability (SAT) problem. SAT is quintessential to many electronic design automation problems, and is also at the heart of many decision, scheduling, error-correction and security applications. Here we focus on k-SAT, for which is well known to be NP-complete for k 3 [16]. The currently best known deterministic, sequential discrete algorithm that exploits some properties of the search space has a worst case complexity of O(1.473 N ) [17]. Other algorithms are based on heuristics and while they may perform well on some SAT formula classes, there are always other formulas on which they take exponentially long times or get stuck indefinitely. Some of the better known SAT solvers include Zchaff [18], MiniSat [19], RSat [20], WalkSAT [21], Focused Record-to- Record Travel (FRRT) [22] and Focused Metropolis Search (FMS) [23]. They typically consist of decision, deduction, conflict analysis and other functions [24] that employ the capability of digital computers to assign values to literals, conduct Boolean constraint propagation (BCP) and backtrack conflicts [25], [26]. A number of hardware based SAT solvers have been proposed in the past. FPGAs based solutions have been investigated to accelerate the BCP part found in all “chaff- like” modern SAT solvers [27]–[29]. Speedups of anywhere between 3X and 38X have been reported when comparing these FPGA based solvers over MiniSat [19], a well known, 1063-8210 c 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications standards/publications/rights/index.html for more information. arXiv:1606.07467v3 [cs.ET] 11 Feb 2018

Transcript of Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability...

Page 1: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

1

Efficient Analog Circuits for Boolean SatisfiabilityXunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga,

Maria Ercsey-Ravasz, Zoltan Toroczkai, Xiaobo Sharon Hu, Fellow, IEEE,

Abstract—Efficient solutions to NP-complete problems wouldsignificantly benefit both science and industry. However, suchproblems are intractable on digital computers based on the vonNeumann architecture, thus creating the need for alternativesolutions to tackle such problems. Recently, a deterministic,continuous-time dynamical system (CTDS) was proposed [1] tosolve a representative NP-complete problem, Boolean Satisfiabil-ity (SAT). This solver shows polynomial analog time-complexityon even the hardest benchmark k-SAT (k ≥ 3) formulas, but at anenergy cost through exponentially driven auxiliary variables. Thispaper presents a novel analog hardware SAT solver, AC-SAT,implementing the CTDS via incorporating novel, analog circuitdesign ideas. AC-SAT is intended to be used as a co-processor andis programmable for handling different problem specifications. Itis especially effective for solving hard k-SAT problem instancesthat are challenging for algorithms running on digital machines.Furthermore, with its modular design, AC-SAT can readily beextended to solve larger size problems, while the size of the circuitgrows linearly with the product of the number of variables andnumber of clauses. The circuit is designed and simulated basedon a 32nm CMOS technology. SPICE simulation results showspeedup factors of ∼104 on even the hardest 3-SAT problems,when compared with a state-of-the-art SAT solver on digitalcomputers. As an example, for hard problems with N = 50variables and M = 212 clauses, solutions are found within froma few ns to a few hundred ns.

I. INTRODUCTION

With Moore’s Law coming to end [2], exploring novelcomputational paradigms (e.g., quantum computing and neu-romorphic computing) is more imperative than ever. Whilequantum computing is a promising venue, it is far from beingbrought to practical reality, with many challenges still to befaced, both in physics and engineering. Neuromorphic com-puting systems, e.g., Cellular Neural Networks (CNNs) [3]–[5]and IBM’s TrueNorth [6], have been shown to be promisingalternatives for solving a range of problems in, say, sensoryprocessing (vision, pattern recognition) and robotics. Analogmixed-signal information processing systems such as CNNscan offer extremely power/energy efficient solutions to someproblems that are costly to solve by digital computers [7]. Such

X. Yin and X.S. Hu are with the Department of Computer Science andEngineering, University of Notre Dame, IN 46556, USA (xyin1, [email protected]).

B. Sedighi is with Qualcomm, San Diego, CA 92121, USA([email protected]).

M. Varga and Z. Toroczkai are with the Department of Physics and the In-terdisciplinary Center for Network Science and Applications (iCeNSA), Uni-versity of Notre Dame, Notre Dame, IN, 46556 USA (mvarga, [email protected]).

M. Ercsey-Ravasz is with the Faculty of Physics, HungarianPhysics Institute, Babes-Bolyai University, Cluj-Napoca, Romania,([email protected])

Color versions of one or more of the figures in this paper are availableonline at http://ieeexplore.ieee.org.

Digital Object identifier 10.1109/TVLSI.2017.2754192

systems have received increasing attention in recent years (e.g.,[8]–[10]), including parallel analog implementations, see [11].

In analog computing [12], the algorithm (representing the“software”) is a dynamical system often expressed in the formof differential equations running in continuous time over realnumbers, and its physical implementation (the “hardware”) isany physical system, such as an analog circuit, whose behavioris described by the corresponding dynamical system. Theequations of the dynamical system are designed such that thesolutions to problems appear as attractors for the dynamics andthe output of the computation is the set of convergent states tothose attractors [13]. Although it has been shown that systemsof ordinary differential equations can simulate any Turingmachine [3], [14], [15], and hence they are computationallyuniversal, they have not yet gained widespread popularity dueto the fact that designing such systems is problem specific andusually difficult. However, if an efficient analog engine can bedesigned to solve NP-complete problems, then according tothe Cook-Levin theorem [16], it would help solve efficientlyall problems in the NP class, as well as benefit a very largenumber of applications, both in science and engineering.

In this paper, we consider designing analog circuits forsolving a representative NP-complete problem, the Booleansatisfiability (SAT) problem. SAT is quintessential to manyelectronic design automation problems, and is also at the heartof many decision, scheduling, error-correction and securityapplications. Here we focus on k-SAT, for which is wellknown to be NP-complete for k ≥ 3 [16]. The currentlybest known deterministic, sequential discrete algorithm thatexploits some properties of the search space has a worst casecomplexity of O(1.473N ) [17]. Other algorithms are basedon heuristics and while they may perform well on some SATformula classes, there are always other formulas on whichthey take exponentially long times or get stuck indefinitely.Some of the better known SAT solvers include Zchaff [18],MiniSat [19], RSat [20], WalkSAT [21], Focused Record-to-Record Travel (FRRT) [22] and Focused Metropolis Search(FMS) [23]. They typically consist of decision, deduction,conflict analysis and other functions [24] that employ thecapability of digital computers to assign values to literals,conduct Boolean constraint propagation (BCP) and backtrackconflicts [25], [26].

A number of hardware based SAT solvers have beenproposed in the past. FPGAs based solutions have beeninvestigated to accelerate the BCP part found in all “chaff-like” modern SAT solvers [27]–[29]. Speedups of anywherebetween 3X and 38X have been reported when comparingthese FPGA based solvers over MiniSat [19], a well known,

1063-8210 c© 2017 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.See http://www.ieee.org/publications standards/publications/rights/index.html for more information.

arX

iv:1

606.

0746

7v3

[cs

.ET

] 1

1 Fe

b 20

18

Page 2: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

2

high-performance software solver. A custom digital integratedcircuit (IC) based SAT solver, which implements a variant ofgeneral responsibility assignment software patterns (GRASP)and accelerates traversal of the implication graph and conflictclause generation, has been introduced in [30], [31]. A speedup of ∼103 over MiniSat was reported based on simulationtogether with extrapolation. Performance of these hardwarebased approaches still have a lot of room for improvementsince the algorithms that these hardware accelerators are basedon are designed for digital computers and thus can typicallyexpect to achieve limited speedup.

Recently, an analog SAT solver circuit was introduced in[32] using the theoretical proposal from [33] based on theCNN architecture. However, the theory in [33] has exponentialanalog-time complexity, and thus is much less efficient thanthe SAT solver from [1], which forms the basis for thispaper. Furthermore, the circuit from [32] seems to have beenimplemented only for a 4× 4 problem size, and no hardwaresimulation and comparison results were reported.

Ref. [11] proposes a distributed mixed (analog and digital)algorithm that is implementable on VLSI devices. It is basedon a heuristic method combined with stochastic search, draw-ing on the natural incommensurability of analog oscillators.Assuming P6=NP, in order to have efficient, polynomiallyscaling solution times, one would require exponentially manycomputing elements, that is, exponentially scaling hardwareresources. However, the method in Ref. [1] trades time-costfor energy-cost, which in practical terms is preferable tomassive amounts of hardware resources. It is quite possiblethat from an engineering point of view the ideal approachcombines both types of tradeoffs: time vs energy and time vshardware (distributed). The heuristic stochastic search in [11]is effectively a simulated annealing method, which implieshigh exponential runtimes for worst case formulas. In contrast,the analog approach in [1] is fully deterministic and extractsmaximum information about the solution, embedded implicitlywithin the system of clauses and can solve efficiently thehardest benchmark SAT problems - at an energetic cost [1].

Here we propose a novel analog hardware SAT solver,referred to as AC-SAT1. AC-SAT is based on the deter-ministic, continuous-time dynamical system (CTDS) in theform of coupled ordinary differential equations presented in[1]. As mentioned above, this system finds SAT solutions inanalog polynomial time, however, at the expense of auxiliaryvariables that can grow exponentially, when needed (see Refs[1], [34] for details). Though this CTDS is an incompletesolver, it does minimize the number of unsatisfied clauseswhen there are no solutions, and thus it is also a MaxSATsolver. The overall design of AC-SAT is programmable andmodular, thus it can readily solve any SAT problem ofsize equal or less than what is imposed by the hardwarelimitations, and can also be easily extended to solve largerproblems. Moreover, to avoid resource-costly implementationsof the complex differential equations in CTDS, we introducea number of novel, analog circuit implementation ideas which

1We refer to AC-SAT as an Analog Circuit SAT solver since its mainprocessing engine is analog. However, the entire system is a mixed-signal oneas a digital verification component is also included in the hardware system.

lead to much smaller amount of hardware than straightforwardimplementations, while preserving the critical deterministicbehavioral properties of CTDS equations.

We have validated our design through SPICE simulations.Our simulations show that AC-SAT can significantly out-perform (over tens of thousands times faster than) MiniSat,with the latter running on the latest, high-performance digitalprocessors. For hard SAT problems with 50 variables andover 200 clauses, compared with the projected performanceof a possible custom hardware implementation based a recentFPGA solver [29], AC-SAT offers more than ∼600X speedup.Monte Carlo simulations further demonstrate that AC-SAT isrobust against device variations.

In the rest of the paper, we first review the basic CTDStheory and some of its variants in Section II. Section IIIintroduces the overall AC-SAT design. In Sec. III-D, wepresent two alternative designs for a specific component inAC-SAT. Sec. IV first discusses simulation-based validationof AC-SAT and compares the different component designs,and then summarizes performance results for AC-SAT withrespect to a software implementation of the CTDS SAT solverand MiniSat. Finally, we conclude the paper in Section V.

II. BACKGROUND

Solving a k-SAT problem is to find an assignment to NBoolean variables xi ∈ 0, 1, i = 1, . . . , N , such that theysatisfy a given propositional formula F . F in conjunctivenormal form (CNF) is expressed as the conjunction of Mclauses Cm, m = 1, . . . ,M , i.e., F =

∧Mm=1 Cm, where

each clause is formed by the disjunction of k literals (whichare variables or their complements). An example of a clausefor 3-SAT would be C5 = (x3 ∨ x19 ∨ x53). Following [1],an analog variable si, which can take any real value in therange si ∈ [−1, 1], is associated with the Boolean variable xisuch that si = −1 corresponds to xi being FALSE (xi = 0)and si = 1 to xi being TRUE (xi = 1). The formulaF =

∧Mm=1 Cm can be encoded via the M × N matrix

C = cm,i with cm,i = 1 when xi appears in clause Cm,cm,i = −1 when its complement xi (negation of xi) appearsin Cm and cm,i = 0 when neither appears in Cm. To everyclause Cm, we associate an analog function Km(s) ∈ [0, 1]given by

Km(s) = 2−kN∏i=1

(1− cm,isi) . (1)

It is easy to see that clause Cm is satisfied, iff Km = 0.Defining a “potential energy” function

V (s,a) =

M∑m=1

amK2m , (2)

where am > 0 are auxiliary variables, one can see that allthe clauses are satisfied iff V = 0. Thus the SAT problemcan be reformulated as search in s for the global minimaof V (since the condition V ≥ 0 always applies). If theauxiliary variables am are kept as constants, then for most hardproblems any hill-descending deterministic algorithm (whichevolves the variables si(t)) would eventually become stuck

Page 3: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

3

in local minima of V and not find solutions. To avoid this,the auxiliary variables are endowed with a time-dependencecoupled to the analog clause functions Km. Ref [1] proposed

si =dsidt

= − ∂

∂siV (s,a) , i = 1, . . . , N (3)

am =damdt

= amKm , m = 1, . . . ,M (4)

in which (3) describes a gradient descent on V and (4) is anexponential growth driven by the level of non-satisfiability inKm (which also guarantees that am(t) > 0, at all times). (3)can be rewritten as

dsidt

=

M∑m=1

amDm,i (5)

where

Dm,i = − ∂

∂siK2m = 2Kmcm,i

N∏j=1j 6=i

(1− cm,jsj) .

(6)

For the auxiliary variables am, the formal solution to (4) is

am(t) = am(0)e∫ t0dτKm(s(τ)) , (7)

and thus the expression (2) of V is dominated by those Km

terms which have been unsatisfied for the longest time duringthe dynamics, resulting in an analog version of a focusedsearch-type [23] dynamics. Also note that system (3) - (4)is not unique, however, it is simple from a theoretical point ofview, and incorporates the necessary ingredients for solvingarbitrary SAT problems, due to the exponentially acceleratedauxiliary variables. For details on the performance of thealgorithm see [1].

It is important to observe that while the scaling of theanalog time t to find solutions is polynomial, in hardwareimplementations, the am variables represent voltages or cur-rents and thus the energetic resources needed to find solutionsmay become exponential for hard formulas which is, of coursenecessary, assuming P 6=NP. However, the am variables do notneed to grow exponentially all the time and unlimitedly, asin (4) and for that reason form (4) is not ideal for physicalimplementations. The challenge is then finding other variantsthat still significantly outperform digital algorithms, yet theyare feasible in terms of physical implementations and costs.Note that such systems as ours essentially convert time costsinto energy costs.

Here we introduce another form with the help of time-delays, which, however, still keeps the focused nature of thesearch dynamics but allows the am’s to decrease as well whenthe corresponding clauses are (nearly) satisfied:

damdt

= amKm(s(t))− [1− δm(t)]Km(s(t− δm(t))),∀m(8)

witham(0) > 0, and δm(0) = 0,∀m (9)

where the delay functions δm(t) ∈ [0, t] determine the historywindow of Km(s(t)) trajectory that has impact on the variationof am. The formal solution to (8) is:

am(t) = am(0)e∫ tt−δm(t)

dτKm(s(τ)) . (10)

Clearly, the case δm(t) = t corresponds to (4), while δm(t) =0 recovers the case of constant am’s which corresponds to thenaive energy minimization case. One approach to choosingδm(t) is setting it to a small value initially and doubling itevery time the dynamics is stuck or hits an upper threshold (set, e.g., by a maximum allowed voltage value). This typicallyonly requires a few iterations. Other delay functions are beinginvestigated. It is important to note that the decrease ofsatisfied clause’s associated am due to this time-delayed formrelatively reduces the clause’s weight in (5), thus increasesother clauses’ weights in the focused search space, enhancingthe driving capability of unsatisfied clauses.

III. SYSTEM DESIGN

In this section, we present AC-SAT, our proposed analogSAT solver circuit based on the CTDS theory in Sec. II.Though it is possible to implement the CTDS equationsdigitally, the hardware would be much more costly in termsof area, power and performance. Thus we opt for an analogimplementation, which also bears affinity with the operationsin the CTDS. Our circuit design aims to keep the hardwaresolver configurable and modular while keeping the circuit sim-ple and power efficient. These considerations require carefuldesign of the overall architecture and some modifications tothe algorithm itself, which will be elaborated later in the paper.

Fig. 1 shows the high-level block diagram of AC-SAT. Itconsists of three main components: signal dynamics circuit(SDC) which implements the dynamics of variable signalssi’s in (5), auxiliary variable circuit (AVC) which implementsthe dynamics of auxiliary variables am’s in (4), and digitalverification circuit (DVC) which checks whether all the clauseshave been satisfied and outputs the satisfied assignments ofvariables. The AVC contains M identical elements, each ofwhich receives the relevant si’s signals from the SDC as inputs,and generates am (m ∈ [1,M ]) (where M ≤M ) variables asoutputs. The SDC, containing N identical elements, in turnreceives am’s as feedback from the AVC and evolves the si(i ∈ [1, N ]) signals (with N ≤ N ), accordingly. The SDCoutputs the analog values of si’s to the AVC and the digitalversion of si’s to the DVC. Based on the digital values ofsi’s, the DVC determines whether a solution to the given SATproblem has been found at that time.

The given block diagram can solve any k-SAT problem withN or up to N Boolean variables and M or up to M clauses.However, a naive and direct implementation of the dynamicalequations (4), (5) and (6) would incur large hardware costs.Instead, here we present implementations of the SDC and AVCcircuits that are much more resource-efficient than the directapproach. Below, we elaborate the design of the three circuitcomponents using the 3-SAT problem (i.e., three non-zerocm,j’s for each clause) as an example. AC-SAT for any k-SAT problem can be designed following the same principle.

Page 4: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

4

𝑠𝑖 , 𝑖 ∈[1,N]

𝑠𝑖 , 𝑖 ∈[1, N]

N

elements M

elements

Digital verification

circuit (DVC) Success or Fail

Signal dynamics

circuit (SDC)

𝑎𝑚 variable circuit (AVC)

𝑎𝑚 , 𝑚 ∈[1,M]

Fig. 1. High-level block diagram of AC-SAT. The SDC contains N elementswhile the AVC contains M elements. It can solve k-SAT problem instanceswith up to N variables and M clauses.

Branch 1

Branch 2

Branch m

Branch M

Analog

inverter

𝐼𝑚,𝑖 𝑉𝑖

𝑉𝑖

𝑄𝑠𝑖

𝑄𝑠𝑖

(𝑎)

(𝑏)

𝐶

𝑉𝐷𝐷 𝑄𝑐𝑚,𝑖 𝑅𝑚,𝑖 𝑅𝑚,𝑖2 𝑅𝑚,𝑖3

𝑅𝑎𝑚

𝐼𝑚,𝑖 𝑠𝑤𝑚,𝑖

Fig. 2. (a) Design of one array element in the SDC. (b) Detailed conceptualdesign of the Branch block.

A. Signal Dynamics Circuit

The SDC contains an array of analog elements that realizethe dynamics specified by (5) and (6). Though it is possible toimplement the multiplications and voltage controlled currentsource (VCCS) in (5) and (6) straightforwardly based onoperational amplifiers, such implementations can be rathercostly. We introduce several novel circuit design ideas toimplement the dynamics in (5) and (6). We will show that theaccuracy of the circuit is sufficient for the type of dynamicalsystems being considered here.

Given a 3-SAT problem with N variables, the SDC enablesan array of N analog elements, referred to as si element, forevaluating the si (i = 1, . . . , N ) signals. Fig. 2(a) shows theconceptual design of the si element that realizes (5). The sielement contains a capacitor, C, connected to the M Branchblocks (where M is the total number of clauses in the 3-SAT problem), an analog inverter, an inverted Schmitt triggerand a digital inverter. The voltage across capacitor C, i.e.,Vi, and the output of the analog inverter, Vi, represent theanalog value of signal si and −si, respectively. Signal si ∈[−1, 1] (resp., −si ∈ [1,−1]) is mapped to Vi ∈ [GND,VDD](resp., Vi ∈ [VDD, GND]). The inverted Schmitt trigger andthe digital inverter output the digital versions of −si and si,denoted by Qsi and Qsi , (i.e., taking on values of either GNDor VDD).

To see why the si element in Fig. 2(a) can be used toevaluate (5), let us denote the current from each of the Branch

block as Im,i. Then we have

CdVidt

=

M∑m=1

Im,i (11)

Comparing (5) with (11), we see that the si element inFig. 2(a) precisely realizes (5) if we have

Im,i = CamDm,i (12)

In order to design a Branch block to satisfy (12), we firstmake some observations related to the Dm,i quantities. In a3-SAT problem, there are only three non-zero cm,j’s in eachCm clause. Let us denote them as cm,i, cm,i2 , and cm,i3 . ThenDm,i in (5) can be shown to have the following form:

Dm,i = 2−2×cm,i(1− cm,isi)(1− cm,i2si2)2(1− cm,i3si3)2 =

2−2(+1− si)(1− cm,i2si2)2(1− cm,i3si3)2 if cm,i = 1

0 if cm,i = 0

2−2(−1− si)(1− cm,i2si2)2(1− cm,i3si3)2 if cm,i = −1

(13)

Referring to (13), one can readily see that Dm,i has thefollowing properties:

• If any of si, si2 and si3 is satisfied, i.e., reaches 1 or −1(indicating xi is either TRUE or FALSE), Dm,i becomeszero. According to (5), a zero Dm,i means that clauseCm has no impact on the variation of si. On the otherhand, when none of the three variables is satisfied, butone of them gets closer to being satisfied, the magnitudeof Dm,i reduces, again.

• The sign of Dm,i is the same as that of cm,i since(1− si) cannot be negative. If cm,i = 1 (resp., −1), thecontribution of Dm,i to dsi

dt is positive (resp., negative),i.e., it tries to push si toward +1 (resp., −1).

Based on the above observations, let us examine the concep-tual design of the Branch block in Fig. 2(b). Specifically, theBranch block contains two switches and four tunable resistiveelements. (The resistive elements here are used to simplify thedrawing, and the details about their design will be describedlater.) Here Rm,i represents the resistive element associatedwith si, while Rm,i2 and Rm,i3 represent the resistive elementsassociated with the other two signals si2 and si3 in (13).Ram represents the resistive element associated with auxiliaryvariable am. One switch is controlled by signal swm,i, whichis left open if cm,i = 0 (indicating that xi does not appearin clause Cm), and is closed otherwise. The other switch iscontrolled by Qcm,i , the digital version of cm,i. If cm,i = 1(resp., −1), indicating that xi (resp., xi) is present in theclause, the switch controlled by Qcm,i connects to VDD (resp.,GND). It can be readily seen that

Im,i =

(VDD − Vi)/(Rm,i||Ram +Rm,i2 +Rm,i3) if cm,i = 1

0 if cm,i = 0

(GND − Vi)/(Rm,i||Ram +Rm,i2 +Rm,i3) if cm,i = −1(14)

Page 5: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

5

𝑀𝑛

𝑀𝑝 𝑉𝑖2

𝑉𝑖2

𝑄𝑐𝑚,𝑖2

𝑄𝑐𝑚,𝑖2

𝑄𝑐𝑚,𝑖2

𝑄𝑐𝑚,𝑖2

𝑄𝑐𝑚,𝑖2

𝐶𝑝 = 𝑉𝑎𝑚𝐶𝑖

𝐶𝑛 = 𝑉𝑎𝑚𝐶𝑖

𝑉𝐷𝐷 𝑄𝑐𝑚,𝑖 𝑅𝑚,𝑖 𝑅𝑚,𝑖2 𝑅𝑚,𝑖3

𝑅𝑎𝑚

𝑠𝑤𝑚,𝑖

𝑄𝑐𝑚,𝑖

𝑉𝑎𝑚

𝑉𝐷𝐷

𝐺𝑁𝐷

𝑉𝑐𝑝

𝑉𝑐𝑛

𝐼𝑚,𝑖

𝑄𝑐𝑚,𝑖

𝑄𝑐𝑚,𝑖 𝑀𝑝1

𝑀𝑝2

𝑀𝑛2

𝑀𝑛1 𝑠𝑤𝑚,𝑖

𝑠𝑤𝑚,𝑖

(𝑎)

(𝑏) (𝑐)

Fig. 3. Detailed design of the Branch block in Fig. 2(b). (a) The conceptualdesign of the Branch block. (b) Circuit implementation for Rm,i2 and Rm,i3(elements in the green box in Fig. 3(a)). (c) Circuit implementation for theswitch as well as Ram and Rm,i (elements in the red box in Fig. 3(a)).

𝑄𝑐𝑚,𝑖2= V𝐷𝐷

𝑄𝑐𝑚,𝑖2= 0

𝑄𝑐𝑚,𝑖2= V𝐷𝐷

𝑄𝑐𝑚,𝑖2= 0

(𝑎) (𝑏)

Fig. 4. SPICE simulation results depicting (a) the value of resistor Rm,i2 orRm,i3 in Fig. 3(a) as function of Vi. (b) the value of resistor Rm,i||Ramin Fig. 3(a) as function of Vam .

If the values of Ram , Rm,i, Rm,i2 and Rm,i3 are chosenproperly, the Im,i value derived from the Branch block wouldhave the same properties as identified for Dm,i above.

The actual realization of the four resistive elements inFig. 2(b) is given in Fig. 3. The implementation of Rm,i2 andthat of Rm,i3 are the same and the one for Rm,i2 is shown inFig. 3(b). Consider the Rm,i2 block. The two terminals of thetransmission gate formed by transistor Mp and Mn correspondto the terminals of Rm,i2 . The gate terminals of Mp and Mn

are connected to Vi2 and Vi2 via four additional transmissiongates controlled by Qcm,i2 and Qcm,i2 . It can be derivedthat this realization of Rm,i2 exhibits the desired propertiesoutlined above for Dm,i in (13). The SPICE simulation resultsdepicting the relationship between the resistance value andVi are given in Fig. 4(a). For example, assuming that cm,i2is 1, i.e. Qcm,i2 = VDD (corresponding to the red line inFig. 4(a)), the gates of Mn and Mp are connected to Vi2 andVi2 , respectively. If variable si2 is satisfied, i.e. Vi2 is closeto VDD (where VDD = 1 V in Fig. 4(a)) and Vi2 is closeto GND, then both Mn and Mp are OFF, Rm,i2 has a verylarge value (around 200 kΩ) and Im,i is close to zero. Thismeans that clause Cm has no impact on the variation of siwhich is exactly the desired behavior. On the other hand, ifsi2 is not satisfied, as it gets closer to its target (i.e., +1), themagnitude of Im,i reduces because Rm,i2 increases as can beseen by the increase in the resistance value as Vi gets closeto VDD. The blue line in Fig. 4(a) corresponds to the casewhere cm,i2 = −1 and its behavior can be explained in thesame way as above.

𝑉𝐷𝐷

𝑉𝐷𝐷

𝑀1

𝑀2

𝑀3

𝑀4

𝑀5

𝑀6

𝑉𝑖𝑛 𝑉𝑜𝑢𝑡

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

Vin

(V)

Vo

ut (

V)

(𝑎) (𝑏)

Fig. 5. Schmitt-trigger inverter and its transfer characteristic.

The circuit block for implementing the switch controlled byQcm,i and the two resistive elements Rm,i and Ram is shownin Fig. 3(c). The gates of transistor Mp1 and Mp2 (resp., Mn1

and Mn2) control the connection to VDD (resp., GND). One ofthe gates connects directly to Qcm,i (representing the negatedcm,i signal) while the other is controlled by

Vcp = VamQcm,i resp., Vcn = VamQcm,i (15)

Note that though Vam in (15) (as input to the two NAND gates)seems to be treated as a digital signal, it actually remains asan analog signal while the NAND gates and inverters operatein the linear Vin − Vout region to produce analog outputs asdesired. The SPICE simulation results in Fig. 4(b) indicate thatthe block realizes the switch function due to cm,i as well as(+1−si) and (−1−si) in (13), and incorporates the am termin (5). Consider the case that cm,i = −1, i.e. Qcm,i = 0. ThenVcp = VDD and Vcn = Vam , which means that the block inFig. 3(c) is connected to GND and the current flowing throughthe block is dependent on the voltage representing am, Vam .The blue line in Fig. 4(b) shows the equivalent resistance valueof the block versus Vam . As Vam gets larger, Mn1 exhibitssmaller resistance, resulting in larger impact of am on thecurrent flowing through the block. Note that initially Vam isvery small, thus the right two transistors Mp2 and Mn2 whichare of smaller sizes than Mp1 and Mn1 are employed to ensureproper current flow as well as serve as a current boost. Thered line in Fig. 4(b) corresponds to the case where cm,i = 1,i.e. Qcm,i = VDD.

The SDC also converts the analog signals, Vi’s, to digitalsignals, Qsi ’s, via an inverted Schmitt trigger. The invertedSchmitt trigger circuit is shown in Fig. 5(a). The digital signalsare then sent to the DVC to check if a solution has been found.The inverted Schmitt trigger circuit exhibits hysteresis in itstransfer curve as seen from the simulation result in Fig. 5(b),hence can perform analog-digital conversion with minimalnoise impact. Putting all the above discussions together, onecan conclude that the SDC correctly implements the systemdynamics defined by (3).

B. Auxiliary Variable Circuits

As pointed out in Section II, the auxiliary variables, am’sas defined in (4), are used to help avoid the gradient descent

Page 6: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

6

𝑉𝑎𝑚

𝐸𝑁

𝑅𝑚,𝑖1 𝑅𝑚,𝑖2 𝑅𝑚,𝑖3

𝐶 𝑅𝑚,𝑖1′ 𝑅𝑚,𝑖2′ 𝑅𝑚,𝑖3′

+

𝐶′

𝐸𝑁 = 0 𝐸𝑁 = 1

𝑉𝑎𝑚(𝑡) = 𝑉𝑎𝑚(0)𝑒 𝑑𝑡𝑅𝐶

Satisfied

(𝑎)

(𝑏)

Fig. 6. (a) Conceptual design of one element in the AVC. Actual realization ofthe resistive element is similar to the circuit in Fig. 3(b). (b) SPICE simulationresult depicting the waveform of Vam vs. time. Vam (0) represents the initialvalue of Vam .

search being stuck in non-solution attractors. The am signalfollows an exponential growth driven by the level of non-satisfiability in clause Cm. A direct way to implement anexponential function is through an operational amplifier (op-amp), which we present below. Note that we have realizedthe analog version of equation (4) in a resource-efficientmanner, similar to the implementation in DVC, to avoid costlymultiplications and VCCS implementations.

The AVC contains an array of M am elements where M isthe maximum number of clauses in a given problem that theAVC can handle. Fig. 6 illustrates the conceptual design of theam element, similar to a non-inverting integrator. Here, thevalue of am (for clause Cm) is represented by the voltageat the output of the op-amp, i.e., Vam . Resistive elementsRm,i1 , Rm,i2 and Rm,i3 are associated with the three signalsin am’s clause while R′m,i1 , R′m,i2 and R′m,i3 are identicalto Rm,i1 , Rm,i2 and Rm,i3 , respectively. The two capacitors,C and C ′, have identical values as well. Together with theresistive elements, they control the speed of Vam growth. Theswitch controlled by EN is realized by a transmission gate tocontrol the start of the am element. The first order differentialequation of Vam can be written as:

CdVamdt

= Vam/(Rm,i1 +Rm,i2 +Rm,i3). (16)

The R’s in Fig. 6(a) are tunable resistive elements implementedby transmission gates which have similar circuit topology tothat shown in the green box of Fig. 3. For example, for Rm,i1and R′m,i1 , the transmission gates (Mp and Mn) are controlled,via four other transmission gates, by analog signals Vi1 andV ′i1 , representing xi’s presence in clause Cm. The other twopairs of R’s are designed in the same way. If any of the threevariables in clause Cm is satisfied, the corresponding Vi turnsoff the respective transmission gate and cut off the currentpaths from op-amp’s inverting input to ground and from non-inverting input to Vam .

The circuit in Fig. 6(a) exactly realizes the exponentialgrowth specified in (4) up to an upper bound on Vam , i.e.the op-amp’s supply voltage. Fig. 6(b) plots an example Vamvalue growth with time before and after associated signals si’sget satisfied. After EN is set to 1 (i.e., the switch is closed),Vam starts to grow exponentially, following the differentialequation in (16). According to Fig. 4(b), as Vam increases, theresistant value of Rm,i||Ram drops down, leading to a largercurrent Im,i in the corresponding Branch block in Fig. 2(b),which is consistent with (12). This current, together with othercurrents that are associated with Vi in Fig. 2(a), contributesto the variation of Vi which is specified in (11). There aretwo cases that may stop the evolution of Vam : (i) As statedabove, if any one of the three analog signals in clause Cmis satisfied, the current paths in Fig. 6(a) is cut off, and Vamstops at a certain voltage. This indicates that Vam has finishedits utility as an auxiliary variable to drive the correspondingclause to the satisfied state; (ii) If Vam reaches its upper boundbefore any of the three variables in the corresponding clauseis satisfied, the circuit stops evolving since the Vam valueis unable to drive this yet unsatisfied clause any more. Thisimpacts the effectiveness of avoiding being stuck in a non-solution attractor during the gradient descent search process.The upper bound on Vam imposes a physical limitation on thehardware realization of the CTDS theory2.

Although the AVC design given in Fig. 6 realizes theexponential growth, it requires M op-amps, resulting in alarge amount of area and power consumption. There exist otherways to achieve exponential signal growth, e.g., circuits withpositive feedback often have exponential growth in certainranges. Besides the exponential growth implementation, wewill introduce alternative AVC designs in the next subsection.

C. Digital Verification and Interface Circuits

The goal of the DVC is to determine if a solution (theset of si’s) to the given problem has been found within auser specified time bound. The DVC is implemented readilythrough the use of an array of 3M XOR gates and an arrayof M NAND gates as shown in Fig. 7. The input to theDVC is the digital representation of si’s and −si’s, i.e., Qsiand Qsi , from the SDC. Each NAND gate corresponds to aclause and its inputs correspond to the literals present in theclause. Note that in the DVC, we only include those cm,i’swhose values are +1 (represented by logic signal “1”) and−1 (represented by logic “0”). The outputs of the DVC areanalog values QCm , for clauses Cm, and Indicator, which isset to 1 if the circuit finds a solution, otherwise it remainsat 0. The DVC is an asynchronous circuit, and the output ofthe DVC constantly records whether a solution is found ornot. By setting a time bound T , the DVC regards the problemswhose solutions are found within T as satisfiable problems, the

2As discussed in Sec. II, Eqs. (3)-(4) are not unique, and the effect ofthe maximum voltage limitation depends on the equations themselves. Forexample, Sec. II introduces an alternative, delay-based formulation for am in(8) which allows am to decrease when the corresponding clause is satisfied.This delay-based formulation of am postpones reaching the am upper bound.The implementation of (8) for the op-amp based approach is currently underdevelopment.

Page 7: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

7

𝑐1,1

𝑐1,2

𝑐𝑚,3

AND tree

Indicator

𝑐1,3

𝑄𝑠1 𝑄𝑠2 𝑄𝑠3 𝑄𝑠4 𝑄𝑠𝑖 … XOR1,1

XOR1,2

XOR1,3

XORm,3

XORM,3

𝑐𝑚,2 XORm,2

𝑐𝑚,1 XORm,1

𝑄𝐶1 𝑄𝐶𝑚

M1

Mm

𝑐M , 3

MCQ

MM

NQs

Fig. 7. Schematic of the DVC.

rest are considered either unsatisfiable or unsatisfiable withinthe alloted time. Note that for problem instances where nosolutions are found in the given time bound, our approachdoes not provide a formal proof of unsatisfiability (as ouralgorithm is an incomplete algorithm). However, our solveris a MaxSAT solver, because it does not use any assumptionsabout the solvability of the formula and minimizes the numberof unsatisfied clauses within the allotted resources or time.Theoretical analysis of the performance of the solver as aMaxSAT solver is out of the scope of this paper and willbe presented elsewhere.

It is easy to see that all three components, SDC, AVC,and DVC, are modular and programmable. By modular, wemean that the basic elements in each circuit can be repeatedfor different problem sizes (i.e., number of variables, N , andnumber of clauses, M ). By programmable, we mean that anyk-SAT problem instance can be solved by the same SDC, AVCand DVC implementation as long as the problem size is lessthan or equal to the hardware specification.

Below, we briefly describe the I/O interface between theCPU and AC-SAT. AC-SAT is used as a co-processor,similarly to other reconfigurable co-processors (such as dy-namically reconfigurable FPGAs). To facilitate configuration,AC-SAT can be augmented with an on-chip reconfigurationmemory as well as a simple controller. Based on the problemdescription (given in the CNF), CPU writes to memory theconfiguration information. The controller then uses the mem-ory contents to set the respective switches in the SDC, AVCand DVC components.

The main configuration information sent from CPU to AC-SAT includes the following: EN , Sm,i, swm,i and Qcm,i . ENactivates AC-SAT. Sm,i describes the appearance of variablesignals in the corresponding clauses, e.g., Sm,i =1 (or 0)means that variable si is (or is not) in the mth clause. swm,iis used to deactivate unused Branch blocks in the SDC, e.g.,swm,i = 0 would deactivate the mth Branch block for variablesi. Qcm,i is the digital version of cm,i (see Sec. III-A for itsdefinition). AC-SAT receives the inputs from CPU, deliversswm,i and Qcm,i to the memory associated with the SDCcomponent. Since Sm,i cannot be used directly by the resistiveelements in the DVC and AVC which require the internal

N-to-3 𝑀𝑈𝑋𝑚

𝑉1

𝑉𝑁

𝑉𝑖

𝑉𝑖𝑘

𝑆𝑚,𝑘

(𝑎)

𝑚 ∈[1,M] 𝑖 ∈ [1,N]

CPU

AC-SAT

𝑄𝑐𝑚,𝑖 𝑆𝑚,𝑖

𝑄𝑠𝑖 𝑄𝐶𝑚

Indicator

𝐸𝑁

… N switch

crossbars

(𝑏)

𝑠𝑤𝑚,𝑖

𝑉1

𝑉𝑖

𝑉N

𝑅1,𝑖1 𝑅1,𝑖2

𝑅1,𝑖3 𝑅𝑚,𝑖1

𝑅𝑚,𝑖2 𝑅𝑚,𝑖3

𝑅M, 𝑖1 𝑅M, 𝑖2 𝑅M, 𝑖3

Fig. 8. (a) Inputs and outputs of AC-SAT. (b) The structure of a switchcrossbar.

variable signals Vi’s (see Fig. 3 and Fig. 6(a)), we use Nswitch crossbars (Fig. 8(b)) to accomplish the mapping fromthe variable signals Vi’s to each resistive element in the SDCand AVC based on Sm,i (i.e. Sm,i is used to set the state ofthe corresponding switch). For output, AC-SAT indicates Qsi ,QCm and Indicator from the DVC to CPU. Qsi indicates thevalues of variable signals, and QCm indicates the states of allclauses (satisfied or not). All the inputs and outputs are digitalsignals. Once AC-SAT finds a solution, signal Indicator actsas an interrupt to CPU and CPU reads the AC-SAT outputs,i.e., QCm and Qsi . On the other hand, if the circuit runs outof time and no solution is found, AC-SAT outputs the resultswith minimum unsatisfiable clauses, but with Indicator = 0.

D. Alternative AVC Designs

The op-amp based AVC described in Section III-B realizesan exponentially growing am variable aiming to address hardSAT problems (some SAT instances with constraint densityα=M/N & 4.25) within its physical limitation. However, forapplication type SAT problems, i.e. which are not speciallydesigned to be very hard, exponential growth for am is notalways necessary. Below we describe two alternative circuitdesigns to implement an am function that has a (1− ε2e−qt)-type growth to a saturation value. In the remainder we willrefer to this version of am growth as the “simpler version”.

Fig. 9 depicts the conceptual design of the am element real-izing the simpler am growth, where capacitor C is charged toVDD through three tunable resistors. The first order differentialequation that governs Vam can be written as

CdVamdt

= (VDD − Vam)/(Rm,i1 +Rm,i2 +Rm,i3). (17)

Rm,i1 , Rm,i2 , Rm,i3 are same as the resistors in Fig. 6,realized by transmission gates controlled by Vi1 , Vi2 and Vi3 ,similar to that in Fig. 3. If any of the three variables si in

Page 8: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

8

𝑉𝑎𝑚 𝑉𝐷𝐷

𝑅𝑚,𝑖1 𝑅𝑚,𝑖2 𝑅𝑚,𝑖3 𝐶

Fig. 9. Conceptual design of the AVC element realizing the (1−ε2e−qt)-typegrowth. Implementation of the resistive elements is similar to those in Fig. 3.

clause Cm is satisfied, the corresponding Vi turns off therespective transmission gate and cut off the current path fromVDD to the capacitor. This circuit guarantees the continuousgrowth of am since Vam is charged by VDD till it reaches itsupper bound VDD or any of the three variables in the clauseis satisfied.

It is important to note that as the circuit in Fig. 9 does notrealize the exponential growth specified in (4), it can indeedget captured into non-solution attractors indefinitely for somevery hard formulas. However, we have found that even formany hard problems, it works more efficiently than the op-amp based am element (with the same threshold value) infinding solutions for smaller size problems (as long as theyare solvable), and the dynamics would only rarely get stuck.We will discuss this aspect more in the evaluation section viasimulation results.

Similar to the op-amp based AVC, in the simpler AVC designin Fig. 9, some Vam ’s may reach VDD before the CTDSconverges to a solution. One way to alleviate this physicallimitation is to increase the range of Vam . However, suchan approach has its limitations in practical circuits (e.g., thelimited voltage supply allowed). This, in fact, is a fundamentallimitation due to the NP hardness of 3-SAT. Nonetheless, it ispossible to improve the Vam driving capability in the CTDSand increase the size of the hard problems that can be solvedwith the same physical range of Vam . Below, we discussan alternative implementation of the simpler am elementto demonstrate that it is worthwhile to investigate differentimplementations of the AVC.

Recall that the delay function δm(t) in (8) is to assistam to keep relevant information from a limited range ofthe trajectory’s past history instead of the entire history. Weconsider combining the simpler am element with this time-delayed form, and choose δm(t) = δ (meaning that weare integrating over a fixed time window of length δ). Thecorresponding am element is shown in Fig. 10. Capacitor Cis charged to VDD through three tunable resistive elements anddischarged to GND through the other three resistive elements.The first order differential equation of Vam can be written as

CdVamdt

=VDD − Vam

Rm,i1 +Rm,i2 +Rm,i3+

−VamR′m,i1 +R′m,i2 +R′m,i3

(18)The six resistive elements are implemented by transmissiongates similar to those for Rm,i2 in Fig. 3. Specifically,R′m,i1 , R

′m,i2

, R′m,i3 are controlled by s’s (representing all si’s)earlier values, i.e., s(t − δm). A chain of an odd number ofanalog inverters is used to realize the delay δ as shown at theright of Fig. 10. If signals s(t) reach their targets at time t, thepath from VDD to capacitor C is cut off, while the discharge

path is still conducting current. Vam keeps decreasing until thedischarge path is cut off after δ. Hence the circuit properlyimplements the time-delayed simpler am growth function.

IV. EVALUATION

In this section, we present our evaluation study of AC-SAT.We first describe the basic functional validation and thendiscuss the robustness of AC-SAT against device variations.We finally compare the performance of AC-SAT with a state-of-the-art digital solver.

A. Functional Validation

We have built our proposed analog SAT solver, AC-SAT, atthe transistor level in HSPICE based on the PTM 32nm CMOSmodel [35]. All the circuit components use VDD = 1V . Toachieve sufficient driving capability, the minimum transistorsize is set to W = 1µm, L = 40nm while actual transistorsizes are selected according to their specific roles. For logicgates, the transistor sizes are chosen to ensure equal pull-up and pull-down strength. For the Branch block in Fig. 3,the relative W/L values of transistor Mp1 and Mn1 (i.e., thesize of Ram ) with respect to the W/L values of the othertransistors (i.e., the sizes of Rm,i, Rm,i2 and Rm,i3 ) determinethe contribution of am to Im,i. Thus, tradeoff between the sizeof Ram and the impact of am should be carefully considered.In our implementation, since Rm,i (dependent on the size ofMp2 and Mn2) is mainly used for proper current flow at thebeginning, it should not dominate the current flow as Ramstarts affecting Im,i. Hence we chose the transistor sizes suchthat they result in the ratio of Ram to Rm,i, Rm,i2 and Rm,i3being 64, 4 and 4, respectively. The sizes of the transistorsin other circuits are determined in a similar fashion. Note thatthe transistor sizes shown above are just a lower bound for thetechnology model that we are using. The absolute values ofthe transistor sizes are not critical (the equations of the solverare adimensional), and other transistor sizes should also workas long as their relative sizes are close to the ones that wehave shown.

To demonstrate that AC-SAT indeed behaves as specified bythe CTDS dynamics in (3) and (4), we examine the waveformsof signals si and am. Fig. 11 shows three sets of si andam waveforms from a 3-SAT problem instance having 50variables and 212 clauses: Fig. 11(a) for the op-amp basedam implementation (realizing the (ε1eqt)-type am growth),

𝑉𝑎𝑚

𝑉𝐷𝐷 𝑅𝑚,𝑖1 𝑅𝑚,𝑖2 𝑅𝑚,𝑖3

𝑅′𝑚,𝑖1 𝑅′𝑚,𝑖2 𝑅′𝑚,𝑖3

𝑉𝑖

𝑉𝑖

𝑀𝑝

𝑀𝑛

𝑄𝑐𝑚,𝑖

𝑀′𝑝

𝑀′𝑛

1 2 2𝑘

𝑄𝑐𝑚,𝑖

2𝑘 + 1

Fig. 10. Circuit realization of the time-delayed simpler am growth.

Page 9: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

9

𝒂 𝑾𝒊𝒕𝒉 𝜺𝟏𝒆𝒒𝒕 𝒂𝒎 𝒈𝒓𝒐𝒘𝒕𝒉

si

am

40 ns 80 ns 120 ns

solution found

(a) With ε1eqtam growth.

𝒃 𝑾𝒊𝒕𝒉 𝟏 − 𝜺𝟐𝒆−𝒒𝒕 𝒂𝒎 𝒈𝒓𝒐𝒘𝒕𝒉

am

si

10 ns 20 ns 30 ns

solution found

(b) With 1− ε2e−qtam growth.

𝒄 𝑾𝒊𝒕𝒉 𝒕𝒊𝒎𝒆 𝒅𝒆𝒍𝒂𝒚𝒆𝒅 𝒂𝒎 𝒈𝒓𝒐𝒘𝒕𝒉

si

am

10 ns 30 ns 20 ns

solution found

(c) With time delayed am growth.Fig. 11. Waveforms of signals representing si(t) and am(t) for a 3-SATproblem with 212 clauses and 50 signal variables. The problems/formulas havea constraint density α=M/N=4.25, and are considered to be hard problems.

Fig. 11(b) for the simpler am implementation (realizing the(1 − ε2e

−qt)-type am growth), and Fig. 11(c) for the time-delayed simpler am implementation. For all three designs,AC-SAT successfully finds a solution after a certain timeas indicated by the vertical dashed lines. Note that AC-SATdetermines whether a solution is found via the DVC. As

0

100

200

300

400

500

600

700

800

100 1000 10000

Tiim

e t

o f

ind

so

luti

on

s (

ns)

M: Number of branches per variable array element

N=10

N=20

N=30

0

100

200

300

400

500

600

700

800

100 1000 10000

Tim

e t

o f

ind

so

luti

on

s (

ns)

M

N=10 N=20 N=30

Fig. 12. SPICE simulation run times to find a solution with various AC-SATcircuit sizes. N is the number of variables in a problem instance. The numberof clauses in each problem instance is 4.25 × N (corresponding to hardproblems).

can be seen from the si trajectories, the si signals stabilize(i.e., converge) after a solution is found. Comparing the amtrajectories in the three different designs, one can see thatthe am’s grow most rapidly in the op-amp based design dueto the exponential growth function while some of the am’s(the ones corresponding to the satisfied clauses) in the time-delayed implementation decrease after they reach their peakmagnitude, just as predicted by (8).

B. Scaling Considerations

Besides functionality, the impact of interconnect parasiticson the circuit is another important consideration towardspractical and modular designs of the solver. As the circuitsize increases (i.e., O(MN )), for each variable array elementin the SDC, the total parasitic capacitance from the Branchblocks (Fig. 2) increases linearly with the number of Branchblocks M , namely the maximum number of clauses that thesolver can handle. Given a problem instance, if variable xis involved in y clauses (y < M ), then y Branch blocksassociated with x are active, while all other Branch blocksare turned off. However, all the Branch blocks contributeparasitic capacitance to the dynamical evolution of the variablex. To investigate the impact of parasitic capacitance, wehave conducted a number of simulations of the solver circuitwith various number of Branch blocks (i.e., M ) in the SDC,i.e., 100, 500, 1000, 5000, 10000 Branch blocks for eachvariable array element. We used the circuits to solve variousproblem instances with 10, 20, 30 variables, and evaluatedthe time to find a solution. Simulation results shown in Fig.12 demonstrate that as the solver circuit becomes larger, thesolver still functions correctly, but takes longer time to findsolutions due to larger parasitic capacitance.

Another issue due to interconnect scaling is the capacitancevalue associated with the AVC elements. As the parasiticcapacitance associated with variable signals increases withthe number of Branch blocks, the dynamic evolution of thevariable signals becomes slower due to the RC chargingrule. As a consequence, the AVC element, whose internal

Page 10: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

10

capacitance (i.e., contributed by the two capacitors in theAVC element) is much smaller than the parasitic capacitanceassociated with the variable signals, will charge Vam quickly,and reach the Vam upper bound before the variable signalsfind the solution. This trend could make the AVC element lesseffective and thus lead to the solver not able to find a solution.Therefore, it is critical to increase the values of the capacitorsin the AVC elements as the circuit size increases. A basicapproach is to choose the capacitance value such that the Vam ’sRC constant is comparable or smaller than the variable signalRC constant. As the parasitic capacitance of the SDC increaseslinearly with the number of Branch blocks, the capacitance inthe AVC element should also scale proportionally.

C. Device Variation Study

After validating that AC-SAT indeed can solve SATproblems correctly, we further investigate the robustness ofAC-SAT against device variations. Typical analog circuits canbe rather sensitive to device variations if not designed well.However, AC-SAT has two unique advantages in this aspect.First, the circuit itself does not rely on device matching.Secondly, the CTDS theory has been shown in theory to berobust against noise [36]. To demonstrate the robustness ofour proposed AC-SAT system, we have conducted MonteCarlo simulations with respect to transistor size variationsfor randomly chosen 3-SAT problems. Specifically, we let thetransistor widths follow a Gaussian distribution with standarddeviation (∆W/W ) of 0.05µm/

√W × L for all transistor

widths, which is an acceptable variance distribution for the32nm technology node [37]. In other words, the solver circuitis simulated with the Monte Carlo method considering 5%transistor width variations. For each problem, 100 Monte Carloruns were performed. Fig. 13 shows the waveforms of oneam(t) signal and one si(t) signal plus the output of DVC forone problem instance for 100 Monte Carlo simulations. Ascan be seen from the signal trajectories, the signals evolveconsistently in the Monte Carlo simulations, and the resultsdemonstrate the robustness of the circuit. Moreover, sinceanalog circuits generally use mature technology nodes, (e.g.180nm, 90nm), we in fact validated our design in a relativelyaggressive way. The circuit is expected to perform much betterunder mature technologies, whose variations would be muchsmaller than 5%.

To get a better comparison between the different designs, weperformed Monte Carlo simulations on both the op-amp basedand the simpler am based AC-SAT. The two designs are usedto solve 2000 randomly generated, hard (α = 4.25) 3-SATproblems containing 1000 instances of a small problem size(N=10) and 1000 instances of a larger problem size (N=50).It has been verified that all these 2000 instances are solvable.With the same fixed supply voltage and initial conditions,AC-SAT with the op-amp based am design solves 91.1.%of the N=10 instances and 58.2% of the N=50 instances,respectively, while AC-SAT with the simpler am design solves86.9% of the N=10 instances and 46.5% of the N=50 instances,respectively. (Note that AC-SAT did not solve all the problems

40 ns

solution found

am

si

Indicator

Fig. 13. Waveforms of signals representing a single am(t) and si(t) for a3-SAT problem instance (op-amp based design) with 42 clauses and 10 signalvariables under Monte Carlo simulations. The third row represents the outputof DVC, which turns to VDD once the solution is found.

because of the physical voltage limit we imposed.3) Theseresults indicate that, as expected, within the same physicalconstraints, AC-SAT based on the exponential growth am ismore effective than AC-SAT with the (1 − ε2e−qt)-type amgrowth. Note that an exponential growth am circuit imple-mented with an op-amp does consume larger area and energy,while the simpler am circuit trades off area and energy withsolver capability.

D. Performance Comparisons

To further investigate the effectiveness of AC-SAT, wecompare the simpler am based AC-SAT design with (i) asoftware program that solves the system (3)-(4) using anadaptive Runge-Kutta, fifth-order Cash-Karp method and (ii)the software MiniSat solver [19]. The software programs arerunning on the same digital computer. We randomly generated5000 hard (α = 4.25) 3-SAT problems that contain 1000instances for each problem size of N=10, 20, 30, 40, 50.The same initial conditions are applied whenever appropriate.Table I summarizes the average time needed to find solutionsfor each problem size. The AC-SAT column reports theanalog/physical times taken by AC-SAT. The CTDS andMiniSat columns report the CPU times of the two softwareimplementations, respectively. (To be fair, only the times takenby the solved problems for all three methods are included.)Observe that the times in the CTDS column increase nearlyexponentially as the problem size increases. This is natural,since the numerical integration happens on a digital Turing ma-chine, and in order to ensure the pre-set accuracy of computingthe chaotic trajectory the Runge-Kutta algorithm has to do avery large number of window-refining discretization steps. Asseen from the data in Table I, AC-SAT demonstrates average

3This is not a limitation of the CTDS theory, but rather the supply voltagebound set in our design. In fact, our software implementation of CTDS is ableto solve all the problems. Relaxing the voltage bound will help solve moreproblem instances, which is left for future work.

Page 11: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

11

speedup factors of ∼105 to ∼106 and ∼104 over softwareCTDS and MiniSat, respectively.AC-SAT is also very competitive compared with existing

hardware based approaches. For example, a recent work [29]reported a CPU+FPGA based MiniSat solver achieving ∼4Xperformance improvement over CPU based MiniSat. SinceASIC implementations typically achieves a maximum of 10Xperformance improvement over their FPGA counterparts [38],compared with a projected ASIC version of the FPGA designin [29], AC-SAT would still result in ∼600X or higherspeedup. We do not directly compare with the custom digitalIC in [30] since our simulation-based system cannot solvethe large size problems considered in [30]. (Note that thetotal solving times reported in [30] are extrapolated insteadof directly obtained from simulation.) It is reported in [30]that an average speedup of ∼103X over CPU based MiniSatis obtained. As contrast, AC-SAT achieves ∼104X speedupover CPU based MiniSat. T

Readers may be concerned with the complexity of theanalog hardware design as well as other issues such asnoise. It is important to note that the analog solver coreis modular and consists of arrays with the same topology.Furthermore, the CTDS theory has been shown to be robustagainst noise [36]. AC-SAT is programmable, which meansthat different problem instances can be programmed or mappedto the AC-SAT circuit. AC-SAT is also modular, implyingthat (i) it can be more easily extended to construct a largersolver, and (ii) multiple AC-SAT components can be usedto solve the same problem instance by providing differentinitial conditions, hence allowing larger space to be searchedsimultaneously.

The current implementation of AC-SAT, however, doeshave some limitations. In particular, while the modular struc-ture allows possible expansion to solve problems with largernumbers of variables and clauses, it can only address problemswith clauses that have no more than the given number of kliterals (k = 3 here). One way to solve such problems is to usethe host processor to convert k-SAT problems (where k > 3)to 3-SAT problems (which can be done in polynomial time[16]). How to directly tackle such challenges in hardware isleft for future work.

V. CONCLUSIONS

We presented a proof-of-principle analog system, AC-SAT,based on the CTDS in [1] to solve 3-SAT problems. The designcan be readily extended to general k-SAT problems. AC-SAT

TABLE IPERFORMANCE COMPARISON OF AC-SAT, SOFTWARE CTDS AND

MINISAT

SAT solver AC-SAT CTDS MiniSat

Platform ASIC32nm CMOS

Intel Corei7-4700

@2.4 GHz

Intel Corei7-4700

@ 2.4GHz

Averagetime foreach sizeN (s)

N=10 4×10−9 4.40×10−4 2.3×10−4

N=20 7×10−9 3.91×10−3 2.4×10−4

N=30 10−8 1.62×10−2 2.8×10−4

N=40 1.2×10−8 5.22×10−2 3.1×10−4

N=50 1.4×10−8 1.13×10−1 3.7×10−4

is modular, programmable and can be used as a SAT solverco-processor. In this implementation the circuit size growspolynomially (O(N2)) as the problem size increases. Threedifferent design alternatives were proposed and verified forimplementing the auxiliary variable dynamics required by theCTDS. Detailed SPICE simulation results show that AC-SATcan indeed solve SAT problems efficiently and can toleratewell device variations. Compared with other SAT solvers,AC-SAT can achieve ∼104X speedup over MiniSat runningon a state-of-the-art digital processor, and can offer over600X speedup over projected digital ASIC implementation ofMiniSat.

Regarding the practical use of a hardware solver, we notethat there are instances in the SAT contests that take a verylong time (e.g. days or even months) to solve. The reason forthe long (and exponentially growing) running time is due notonly to the size of the problems, but also to their hardness.It has been demonstrated that when the constraint density(M/N ) of a problem instance is between 4 and 5 (for 3-SAT), the problem can be very hard and take exponentiallygrowing time for current software solvers to find a solution.Our work, together with its theoretical basis, however, providesa means to trade time for energy in order to speed upcomputations. With the circuit-friendly theory and proof-of-principle hardware implementation, we can solve hard SATproblems much faster than with software solvers on digitalmachines, however, at the expense of other resources suchas energy (voltage and or/current values). Such tradeoffs aredesirable for certain time-sensitive problems.

The CTDS equations (especially the dynamics for theauxiliary variables) and their analog implementations are notunique. It is quite possible that better forms and implementa-tions exist. The fact that our proof-of-principle circuit imple-mentations significantly outperform state-of-the-art solvers ondigital computers are an indication that analog hardware SATsolvers have a great potential as application-specific processorsfor discrete optimization. As future work, we will further in-vestigate alternative implementations of the auxiliary variabledynamics as well as methods to handle problem instancesthat do not fit on a given hardware implementation, e.g.,through problem decomposition. Moreover, we will exploreother methods that can, in principle, solve SAT problems evenmore efficiently, e.g., by combining clause learning (handledby a digital processor) with our analog solver.

Acknowledgement: The authors acknowledge useful dis-cussions with S. Datta, A. Raychowdhury, M. Niemier and G.Cauwenberghs. The authors also thank anonymous reviewersfor helpful comments. This project was supported in partby the National Science Foundation under grant numbersCCF-1644368 and 1640081, and the Nanoelectronics ResearchCorporation (NERC), a wholly-owned subsidiary of the Semi-conductor Research Corporation (SRC), through ExtremelyEnergy Efficient Collective Electronics (EXCEL), an SRC-NRI Nanoelectronics Research Initiative under Research TaskID 2698.004 (XSH,ZT). MER was funded by a EuropeanCommission Horizon 2020 Program Grant No. 668863-SyBil-AA and a Romanian CNCS-UEFISCDI Research Grant No.

Page 12: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

12

PN-III-P2-2.1-BG-2016-0252.

REFERENCES

[1] M. Ercsey-Ravasz and Z. Toroczkai, “Optimization hardness as transientchaos in an analog approach to constraint satisfaction,” Nature Physics,vol. 7, no. 12, pp. 966–970, DEC 2011.

[2] M. M. Waldrop, “More than Moore.” Nature, vol. 530, pp. 144–147,February 2016.

[3] L. Chua, T. Roska, and P. Venetianer, “The cnn is universal as the turingmachine,” TCAS I, vol. 40, no. 4, pp. 289–291, APR 1993.

[4] L. Chua and L. Yang, “Cellular neural networks - theory,” TCAS I,vol. 35, no. 10, pp. 1257–1272, OCT 1988.

[5] Q. Lou, I. Palit, A. Horvath, X. S. Hu, M. Niemier, and J. Nahas, “Tfet-based operational transconductance amplifier design for cnn systems,”in Proceedings of the 25th edition on Great Lakes Symposium on VLSI.ACM, 2015, pp. 277–282.

[6] P. A. Merolla, J. V. Arthur, R. Alvarez-Icaza, A. S. Cassidy, J. Sawada,F. Akopyan, B. L. Jackson, N. Imam, C. Guo, Y. Nakamura et al., “Amillion spiking-neuron integrated circuit with a scalable communicationnetwork and interface,” Science, vol. 345, no. 6197, pp. 668–673, 2014.

[7] H. Siegelmann, Neural networks and analog computation: beyond theTuring limit. Springer Science & Business Media, 2012.

[8] R. Daniel, J. R. Rubens, R. Sarpeshkar, and T. K. Lu, “Synthetic analogcomputation in living cells,” Nature, vol. 497, no. 7451, pp. 619–623,2013.

[9] J. Lu, S. Young, I. Arel, and J. Holleman, “A 1 tops/w analog deepmachine-learning engine with floating-gate storage in 0.13 µm cmos,”IEEE Journal of Solid-State Circuits, vol. 50, no. 1, pp. 270–281, 2015.

[10] R. St Amant, A. Yazdanbakhsh, J. Park, B. Thwaites, H. Esmaeilzadeh,A. Hassibi, L. Ceze, and D. Burger, “General-purpose code accelerationwith limited-precision analog computation,” ACM SIGARCH ComputerArchitecture News, vol. 42, no. 3, pp. 505–516, 2014.

[11] H. Mostafa, L. K. Muller, and G. Indiveri, “An event-based architecturefor solving constraint satisfaction problems,” Nature Communications,vol. 6, p. 8941, December 2015.

[12] S.-C. Liu, J. Kramer, G. Indiveri, T. Delbruck, and R. Douglas, AnalogVLSI - Circuits and Principles. MIT Press, November 2002.

[13] A. Ben-Hur, H. Siegelmann, and S. Fishman, “A theory of complexityfor continuous time systems,” Journal of Complexity, vol. 18, pp. 51–86,2002.

[14] M. Branicky, “Analog computation with continuous odes,” Workshop onPhysics and Computation, Dallas TX USA, pp. 265–274, 1994.

[15] H. Siegelmann, “Computation beyond the turing limit,” Science, vol.268, pp. 545–548, 1995.

[16] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guideto the Theory of NP-Completeness (Series of Books in the MathematicalSciences), first edition ed. W. H. Freeman & Co Ltd, Jan. 1979.

[17] T. Brueggemann and W. Kern, “An improved local search algorithm for3-sat,” Theoretical Computer Science, vol. 329, no. 1-3, pp. 303–313,2004.

[18] M. W. Moskewicz, C. F. Madigan, Y. Zhao, L. Zhang, and S. Malik,“Chaff: Engineering an efficient sat solver,” in Proceedings of the 38thannual Design Automation Conference. ACM, 2001, pp. 530–535.

[19] N. Een and N. Sorensson, “An extensible sat-solver,” in Theory andapplications of satisfiability testing. Springer, 2003, pp. 502–518.

[20] K. Pipatsrisawat and A. Darwiche, “Rsat 2.0: Sat solver description,”SAT competition, vol. 7, 2007.

[21] B. Selman, H. A. Kautz, and B. Cohen, “Local search strategies forsatisfiability testing,” in DIMACS Series, 1996, pp. 521–532.

[22] G. Dueck, “New optimization heuristics,” J. Comput. Phys., vol. 104,no. 1, pp. 86–92, 1993.

[23] A. Seitz, M. Alava, and P. Orponen, “Focused local search for random3-satisfiability,” J. of Statistical Mechanics: Theory and Experiment, p.P06006, 2005.

[24] M. Davis, G. Logemann, and D. Loveland, “A machine program fortheorem-proving,” Communications of the ACM, vol. 5, no. 7, pp. 394–397, 1962.

[25] J. P. M. Silva and K. A. Sakallah, “Graspa new search algorithmfor satisfiability,” in Proceedings of the 1996 IEEE/ACM internationalconference on Computer-aided design. IEEE Computer Society, 1997,pp. 220–227.

[26] L. Zhang, C. F. Madigan, M. H. Moskewicz, and S. Malik, “Efficientconflict driven learning in a boolean satisfiability solver,” in Proceedingsof the 2001 IEEE/ACM international conference on Computer-aideddesign. IEEE Press, 2001, pp. 279–285.

[27] J. D. Davis, Z. Tan, F. Yu, and L. Zhang, “Designing an efficient hard-ware implication accelerator for sat solving,” in SAT 2008. Springer,2008, pp. 48–62.

[28] ——, “A practical reconfigurable hardware accelerator for boolean satis-fiability solvers,” in Proceedings of the 45th annual Design AutomationConference. ACM, 2008, pp. 780–785.

[29] J. Thong and N. Nicolici, “Fpga acceleration of enhanced boolean con-straint propagation for sat solvers,” in Proceedings of the InternationalConference on Computer-Aided Design. IEEE Press, 2013, pp. 234–241.

[30] K. Gulati and S. P. Khatri, “Accelerating boolean satisfiability on acustom ic,” in Hardware Acceleration of EDA Algorithms. Springer,2010, pp. 33–61.

[31] K. Gulati, M. Waghmode, S. Khatr, and W. Shi, “Efficient, scalablehardware engine for boolean satisfiability and unsatisfiable core extrac-tion,” Computers & Digital Techniques, IET, vol. 2, no. 3, pp. 214–229,2008.

[32] D. Basford, J. Smith, R. Connor, B. MacLennan, and H. J., “The impactof analog computational error on an analog boolean satisfiability solver,”in ISCAS, 2016.

[33] B. Molnar and M. Ercsey-Ravasz, “Asymmetric continuous-time neuralnetworks without local traps for solving constraint satisfaction prob-lems,” PloS one, vol. 8, no. 9, p. e73400, 2013.

[34] M. Ercsey-Ravasz and Z. Toroczkai, “The chaos within Sudoku,” Sci-entific Reports, vol. 2, p. 725, OCT 11 2012.

[35] “Predictive Technology Model (PTM),” http://ptm.asu.edu/.[36] R. Sumi, B. Molnar, and M. Ercsey-Ravasz, “Robust optimization with

transiently chaotic dynamical systems,” EPL (Europhysics Letters), vol.106, no. 4, p. 40002, 2014.

[37] G. Nikandish, B. Sedighi, and M. S. Bakhtiar, “Performance comparisonof switched-capacitor and switched-current pipeline adcs,” in 2007 IEEEInternational Symposium on Circuits and Systems. IEEE, 2007, pp.2252–2255.

[38] I. Kuon and J. Rose, “Measuring the gap between fpgas and asics,”IEEE Transactions on computer-aided design of integrated circuits andsystems, vol. 26, no. 2, pp. 203–215, 2007.

Xunzhao Yin (S’16) received his B.S. degree fromin electronic engineering from Tsinghua University,China, in 2013. He is currently pursuing the Ph.D.degree in the department of Computer Science andEngineering, University of Notre Dame, Indiana,USA. He has been a research assistant in Universityof Notre Dame since 2013, and he is a mem-ber of Center for Low Energy System Technology(LEAST), where he is exploring the novel circuitsand systems based on beyong-CMOS technologies.His research interests include hardware security,

low-power circuit design and novel computing paradigms with both CMOSand emerging technologies.

Behnam Sedighi received his Ph.D. degree in Elec-trical Engineering from Sharif University of Tech-nology, Tehran, Iran, in 2008. From 2009 to 2011, hewas a Senior Circuit Designer at IHP Microelectron-ics, Frankfurt (O), Germany, where he was workingon analog/mixed-signal integrated circuits for opticalcommunications. He then joined the center of energyefficient telecommunications and NICTA, Universityof Melbourne, Victoria, Australia, and subsequently,the center for low-energy systems technology atUniversity of Notre Dame, IN, USA as a Research

Associate. He is now with Qualcomm Inc. His research interests includebroadband ICs, communication circuits and systems, data converters, andnanoelectronics.

Page 13: Efficient Analog Circuits for Boolean … Efficient Analog Circuits for Boolean Satisfiability Xunzhao Yin, Student, IEEE, Behnam Sedighi, Melinda Varga, Maria Ercsey-Ravasz, Zolt´

13

Melinda Varga Melinda Varga is a graduate studentat Department of Physics at the University of NotreDame, Indiana, where she works with Prof. ZoltanToroczkai. She received her B.S. and M.S. degreesfrom Babes-Bolyai University, Romania. Her re-search interests include nonlinear dynamical systemsand chaos theory, complex networks, neuroscience,statistical physics, evolutionary game theory. Herpublications cover a wide range of topics. Duringher masters studies she received her institution’sResearch Performance Scholarship. She was one of

the finalists for the GSNP Student Speaker Award at the APS March Meetingin 2016.

Maria Ercsey-Ravasz received her B.Sc. and M.Scdegree in Physics from the Babes-Bolyai University,Cluj-Napoca, Romania. In 2008 she obtained a PhDjoint degree in Physics at Babes-Bolyai Universityand in Information Technology (Infobionics) at PeterPazmany Catholic University, Budapest, Hungary.After a three year postdoctoral fellowship at Uni-versity of Notre Dame, iCeNSA, she returned toRomania with a Marie Curie Fellowship. She is cur-rently researcher at the Babes-Bolyai University andthe Romanian Institute of Science and Technology.

Her research interests include network science with applications in differentdomains, such as neuroscience; analog computing; optimization problems andnonlinear dynamics. She has published more than 30 ISI articles. In 2013 shegot the UNESCO-L’Oreal National Fellowship ”For Women in Science”. In2015 she received the Constantin Miculescu Award of the Romanian Academyof Sciences.

Zoltan Toroczkai received his Ph.D. degree (1997)in theoretical physics from Virginia Polytechnic In-stitute and State University, Virginia. He is a Profes-sor in the Department of Physics and a ConcurrentProfessor in the Department of Computer Scienceand Engineering at University of Notre Dame. Hespent his postdoctoral years in the condensed matterphysics group at University of Maryland at Col-lege Park, then as a Director Funded Fellow atLos Alamos National Laboratory (LANL). He thenjoined the complex systems group at LANL as a

regular research staff member. In 2004, he became the Deputy Directorof the Center for Nonlinear Studies at LANL until his joining of thedepartment of physics at University of Notre Dame in 2006. His researchinterests lie in the areas of statistical physics, nonlinear dynamical systemsand mathematical physics with topics including fluid flows, reaction kinetics,interface growth, population dynamics, epidemics, agent-based systems andgame theory, complex networks, foundations of computing, and brain neuronalsystems. He has authored and coauthored over 90 peer-reviewed publicationson these topics. He has been on the editorial board at European Journal ofPhysics B, Scientific Reports, Chaos and as Associate Editor for NetworkScience. He was elected APS Fellow in 2012 upon nomination by GSNP ”Forhis contributions to the understanding of the statistical physics of complexsystems, and in particular for his discoveries pertaining to the structure anddynamics of complex networks”.

Xiaobo Sharon Hu (S’85-M’89-SM’02-F’16) re-ceived her B.S. degree from Tianjin University,China, M.S. from Polytechnic Institute of New York,and Ph.D. from Purdue University, West Lafayette,Indiana. She is Professor in the department ofComputer Science and Engineering at University ofNotre Dame. Her research interests include real-timeembedded systems, low-power system design, andcomputing with emerging technologies. She has pub-lished more than 250 papers in the related areas. Sheserved as Associate Editor for IEEE Transactions on

VLSI, ACM Transactions on Design Automation of Electronic Systems, andACM Transactions on Embedded Computing. She is the Program Chair of2016 Design Automation Conference (DAC) and the TPC co-chair of 2014 and2015 DAC. She received the NSF CAREER Award in 1997, and the Best PaperAward from Design Automation Conference, 2001 and IEEE Symposium onNanoscale Architectures, 2009.