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

Analog/Mixed-signal (AMS) systems (e.g., ADCs and DACs, charge pumps,/ncomparators, SERDES systems and PLLs, etc.) are playing an increasingly/nimportant role in modern chip design: they have not only become key/nperformance-limiting components in larger sub-systems, but they also now/naccount for a disproportionately high share of design bugs (and associated/ndesigner-time and debugging costs). CAD tools for the accurate modelling,/nanalysis, high-speed simulation, formal verification, and debugging of AMS/nsystems have not been able to keep pace with the rapid growth in complexity of/nthese designs. Therefore, effective, bug-free AMS design remains a largely/nunsolved problem today./n/nAt the heart of this problem lies the fact that the analog components in AMS/nsystems are modelled in a very different way from the digital components. While/nanalog components are typically modelled as continuous dynamical systems using/ndifferential-algebraic equations (DAEs), the digital components are usually/nmodelled using clean Boolean abstractions such as truth tables and finite state/nmachines (FSMs). The formal analysis and verification of AMS systems,/ntherefore, typically involves having to simultaneously reason about both/ncontinuous quantities and discrete quantities, which is inherently a very/ndifficult mathematical problem./n/nA variety of "hybrid system" methods and frameworks have been developed to/nformally verify AMS designs. However, these methods tend to scale very poorly in/nthe number of continuous (analog) variables involved, often being able to handle/nno more than 5 to 10 continuous variables. The enormous computational cost of/nadding extra continuous variables in turn forces the adoption of highly/nsimplified behavioural macromodels for AMS components; these over-simplified/nmodels do not capture the behaviour of the underlying AMS components accurately./n/nIn this dissertation, we propose a new approach to the problem of effective,/nbug-free AMS design. We call this approach "Booleanization", which involves/napproximating the continuous-domain behaviour of AMS components using/npurely Boolean models (such as FSMs). Booleanization works by first/ndiscretizing the voltages and currents in the given AMS design, and then/nencoding the analog dynamics of the given design in purely Boolean form using/nFSM state transitions. The finer the discretization of the circuit's voltages/nand currents, the greater the accuracy with which the resulting Boolean model/ncaptures the circuit's continuous dynamics./n/nWe propose three automated techniques for Booleanizing a wide variety of AMS/nsystems and components: (1) DAE2FSM, which is based on an adaptation of/nAngluin's algorithm from computational learning theory, which works well for/nBooleanizing "digitalish" designs (i.e., circuits whose intended functionality/nis purely digital, but which nevertheless exhibit significant/nperformance-limiting analog traits and characteristics), (2) ABCD-L, a technique/nbased on eigen-analysis that works well for Booleanizing Linear Time Invariant/n(LTI) continuous systems, and (3) ABCD-NL, a technique based on separating the/nunderlying circuit's dynamics into DC and transient components, which works well/nfor Booleanizing a large class of genuinely analog, genuinely non-linear AMS/ndesigns. These three approaches together form the ABCD (Accurate Booleanization/nof Continuous Dynamics) suite of Booleanization techniques./n/nStarting from SPICE-level netlists, we apply the techniques above to Booleanize/na variety of AMS circuits including latches and flip-flops, digital logic blocks/nsuch as counters, charge pumps, delay lines, equalizers, filters, I/O links,/nADCs and DACs, comparators, power grid networks, etc. In each of these cases,/nwe show that the Boolean models generated by ABCD are indeed able to capture/nthe underlying analog dynamics of these systems with high accuracy./n/nWe believe that Booleanization offers several compelling features. Firstly,/nsince the generated models are all purely Boolean, they can be used in/nconjunction with existing state-of-the-art Boolean verification and/nmodel-checking engines (such as ABC) to formally verify AMS designs in a/nscalable way. Secondly, the Boolean models produced by ABCD can be simulated/nmuch more efficiently (in discrete-time, in the logical domain) than/nSPICE-level models; so, in many situations, ABCD-generated models may be usable/nas much faster, almost-as-accurate, drop-in replacements for SPICE. Thirdly, by/nvirtue of being all-Boolean, ABCD-generated models enable one to accurately/nrepresent analog dynamics without incurring the severe penalty of adding/ncontinuous variables; so ABCD models may be usable in conjunction with existing/nhybrid system methodologies, frameworks, and verification flows -- thereby/nhelping these approaches scale to much larger problem sizes than they can do so/nat present. Finally, ABCD models can also be used in a variety of niche/nalgorithms and "custom" analysis procedures aimed at solving targeted AMS/ndesign problems for specific systems and applications; for example, we have/ndeveloped an efficient Boolean/LTI co-analysis procedure (called the Berkeley/nEye Estimator, or BEE) for carrying out highly accurate worst case and/nstochastic eye diagram analysis of modern high-speed communication sub-systems/nthat use correlated bitstreams and coding strategies to minimize bit error/nrates.

Advisor: Roychowdhury, Jaijeet S