- Main

## Accurate Booleanization of Continuous Dynamics for Analog/Mixed-Signal Design

- Author(s): Aadithya, Karthik Venkatraman
- Advisor(s): Roychowdhury, Jaijeet S
- et al.

## Abstract

Analog/Mixed-signal (AMS) systems (e.g., ADCs and DACs, charge pumps,

comparators, SERDES systems and PLLs, etc.) are playing an increasingly

important role in modern chip design: they have not only become key

performance-limiting components in larger sub-systems, but they also now

account for a disproportionately high share of design bugs (and associated

designer-time and debugging costs). CAD tools for the accurate modelling,

analysis, high-speed simulation, formal verification, and debugging of AMS

systems have not been able to keep pace with the rapid growth in complexity of

these designs. Therefore, effective, bug-free AMS design remains a largely

unsolved problem today.

At the heart of this problem lies the fact that the analog components in AMS

systems are modelled in a very different way from the digital components. While

analog components are typically modelled as continuous dynamical systems using

differential-algebraic equations (DAEs), the digital components are usually

modelled using clean Boolean abstractions such as truth tables and finite state

machines (FSMs). The formal analysis and verification of AMS systems,

therefore, typically involves having to simultaneously reason about both

continuous quantities and discrete quantities, which is inherently a very

difficult mathematical problem.

A variety of "hybrid system" methods and frameworks have been developed to

formally verify AMS designs. However, these methods tend to scale very poorly in

the number of continuous (analog) variables involved, often being able to handle

no more than 5 to 10 continuous variables. The enormous computational cost of

adding extra continuous variables in turn forces the adoption of highly

simplified behavioural macromodels for AMS components; these over-simplified

models do not capture the behaviour of the underlying AMS components accurately.

In this dissertation, we propose a new approach to the problem of effective,

bug-free AMS design. We call this approach "Booleanization", which involves

approximating the continuous-domain behaviour of AMS components using

purely Boolean models (such as FSMs). Booleanization works by first

discretizing the voltages and currents in the given AMS design, and then

encoding the analog dynamics of the given design in purely Boolean form using

FSM state transitions. The finer the discretization of the circuit's voltages

and currents, the greater the accuracy with which the resulting Boolean model

captures the circuit's continuous dynamics.

We propose three automated techniques for Booleanizing a wide variety of AMS

systems and components: (1) DAE2FSM, which is based on an adaptation of

Angluin's algorithm from computational learning theory, which works well for

Booleanizing "digitalish" designs (i.e., circuits whose intended functionality

is purely digital, but which nevertheless exhibit significant

performance-limiting analog traits and characteristics), (2) ABCD-L, a technique

based on eigen-analysis that works well for Booleanizing Linear Time Invariant

(LTI) continuous systems, and (3) ABCD-NL, a technique based on separating the

underlying circuit's dynamics into DC and transient components, which works well

for Booleanizing a large class of genuinely analog, genuinely non-linear AMS

designs. These three approaches together form the ABCD (Accurate Booleanization

of Continuous Dynamics) suite of Booleanization techniques.

Starting from SPICE-level netlists, we apply the techniques above to Booleanize

a variety of AMS circuits including latches and flip-flops, digital logic blocks

such as counters, charge pumps, delay lines, equalizers, filters, I/O links,

ADCs and DACs, comparators, power grid networks, etc. In each of these cases,

we show that the Boolean models generated by ABCD are indeed able to capture

the underlying analog dynamics of these systems with high accuracy.

We believe that Booleanization offers several compelling features. Firstly,

since the generated models are all purely Boolean, they can be used in

conjunction with existing state-of-the-art Boolean verification and

model-checking engines (such as ABC) to formally verify AMS designs in a

scalable way. Secondly, the Boolean models produced by ABCD can be simulated

much more efficiently (in discrete-time, in the logical domain) than

SPICE-level models; so, in many situations, ABCD-generated models may be usable

as much faster, almost-as-accurate, drop-in replacements for SPICE. Thirdly, by

virtue of being all-Boolean, ABCD-generated models enable one to accurately

represent analog dynamics without incurring the severe penalty of adding

continuous variables; so ABCD models may be usable in conjunction with existing

hybrid system methodologies, frameworks, and verification flows -- thereby

helping these approaches scale to much larger problem sizes than they can do so

at present. Finally, ABCD models can also be used in a variety of niche

algorithms and "custom" analysis procedures aimed at solving targeted AMS

design problems for specific systems and applications; for example, we have

developed an efficient Boolean/LTI co-analysis procedure (called the Berkeley

Eye Estimator, or BEE) for carrying out highly accurate worst case and

stochastic eye diagram analysis of modern high-speed communication sub-systems

that use correlated bitstreams and coding strategies to minimize bit error

rates.