Transcript
Page 1: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 1/19

ABCD: Booleanizing Continuous Systems for Analog/Mixed-Signal

Design, Simulation, and Verification

Aadithya V. Karthik,Sayak Ray, Pierluigi Nuzzo, Alan Mishchenko,

Robert Brayton, and Jaijeet Roychowdhury

EECS Dept., The University of California, Berkeley

TAU 2014, Santa Cruz

Page 2: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 2/19

Surrounded by Digital Logic

Example: SERDES

Analogparts

PLL

CDR I/O

The Problem: AMS Verification

• Want to verify complete system– e.g., eye opening height > 1V?

• Proof or counter-example needed

>1V

Page 3: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 3/19

Our approach: “Booleanize” the analog parts

Best verification tools = all Boolean, no continuous

Digital componentsVerification tools accept

Analog components

Challenge: Analog models Digital models+Continuous Boolean

(don't mix)(don't mix)

SAR-ADC Boolean T/Happroximation Boolean

comparatorapproximation

Boolean DACapproximation

ALLBOOLEAN

Formal verification, high-speed simulation, test pattern generation, ...

ABCD: Booleanapproximation

… for the full combined system!

Fast

Page 4: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 4/19

ABCD: Boolean, but Accurate• What is “accurate Booleanization”?

discretizedckt. signals

disc.i/p

Boolean Logic

disc.time

disc. o/p

Boolean state

More bits, better accuracy

010

110

Page 5: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 5/19

Prior work: ABCD-L (DAC 2013)

LinearLinear Analog Circuit

Purely Boolean Model

ABCD-L

Linearize

Bit Sequence

Example: Channel + Equalizer

Works only for linear systems!

Page 6: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 6/19

Introducing ABCD-NL

Non-LinearAnalog Circuit

Purely Boolean Model

ABCD-NL

How ABCD-NL works1

Results: Charge pump, ADC, DAC, etc.2

End user applications3

High-speed simulation, formal verification, test pattern generation, etc. for non-linear AMS ckts.

Rest of this talk

Page 7: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 7/19

ABCD-NL Models are FSMs

Non-LinearAnalog Circuit

Purely Boolean Model

ABCD-NLFSM

• Finite number of states

• Arcs denoting state transitions– Each arc: ip/op pair

• Purely Boolean form

1100 0010

Page 8: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 8/19

1

Key idea: DC, TRAN FSM states

(DC input → DC output)

Non-Linear Analog Circuit

DC Eventually settles and never changes

• DC FSM states w/ loops

• Multiple such DC states – Capture different DCOPs

• DCOPs don't change instantly

• TRAN FSM states– Between each pair of DC states

• Purely Boolean Model

TRAN01

Starts at DC0 and eventually settles at DC1

Page 9: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 9/19

Booleanizing a Charge Pump (1/3)

Do SPICE simulations1Discretize Vup, Vdown using 1 bit each, Vout using 5 bits

Exactly 1 high at any time

UP highDOWN low

UP lowDOWN high

Both high Both low

Active

Dormant

Page 10: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 10/19

Booleanizing a Charge Pump (2/3)

Analyze SPICE waveforms2

Build “Analog Transition Table”

TRAN path DC3 to DC2: up (down) goes 1→0 (0→1)

Total time 20.63ns, o/p starts @ 31, becomes 30 @ 213.6ps, ….

Page 11: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 11/19

Booleanizing a Charge Pump (3/3)

Analog Transition Table → Boolean Model3

<ipbv> <cstbv> <opbv> <nstbv>

• i/p: 2-bit encoding

• o/p: 5-bit encoding– 32 levels in [0, Vdd]

• FSM state: 19 bits– Lots of don't cares (75%)

Registers

disc.i/p

Combinational Logic

disc.time

disc. o/p

Boolean state

Page 12: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 12/19

ABCD-NL: The 3-Step Algorithm

Do SPICE simulations1

Analyze SPICE waveforms2

Build “Analog Transition Table”

Analog Transition Table → Boolean Model3

Page 13: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 13/19

Simulating the Boolean Model

Map back to analog

Simulate FSM(Fast, Table-lookup)

Discretize into FSM symbols

i/p waveform

Page 14: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 14/19

Charge Pump: Long PRBS

Non-linear analog dynamics accurately captured over long time-frame

~10x Speedup, even in Python

Page 15: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 15/19

Circuits Successfully Booleanized

Charge pump

Delay line

EqualizerPower grid

SAR-ADC

I/O signaling system

Page 16: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 16/19

“Booleanize”(manually)

Safety vs Liveness

AMS Verification: The Flow

Boolean Modelvia ABCD-NL

AMS System to be verified

Property to be verified

“Booleanize”(manually)

Input Constraints

ABC

Proof or Counterexample

Page 17: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 17/19

Example: Verifying a Signaling System

What is the max bitrate that can be sustained?

Ans: 2.56Gbps

ABC

Specification

ABCD model

verification engine(Bob Brayton's group)

Page 18: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 18/19

Summary

• AMS modelling, verification a challenge: 20% bugs

• Our approach: Booleanize AMS Components– ABCD-L: for linear AMS systems– ABCD-NL: for non-linear systems

• Applied to A/D and D/A converters, delay lines, charge pumps, equalizers, filters, on-chip power grids, etc.

• Accurate and Scalable

• Applications– High-speed simulation– Formal verification (in conjunction with ABC)

Page 19: ABCD: Booleanizing Continuous Systems for Analog/Mixed ...tauworkshop.com/2014/Slides/aadithya-2014-Mar-TAU...Aadithya V. Karthik (aadithya@berkeley.edu) Mar 2014, TAU, Santa Cruz

Aadithya V. Karthik ([email protected]) Mar 2014, TAU, Santa Cruz 19/19

Questions


Recommended