determining the existence of dc operating points in circuits

51
Determining the Existence of DC Operating Points in Circuits Mohamed Zaki Department of Computer Science, University of British Columbia Joint work with Ian Mitchell and Mark Greenstreet Nov 23 nd , 2009

Upload: others

Post on 25-Apr-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Determining the Existence of DC Operating Points in Circuits

Determining the Existence of DC

Operating Points in Circuits

Mohamed ZakiDepartment of Computer Science,

University of British Columbia

Joint work with Ian Mitchell and Mark Greenstreet

Nov 23nd, 2009

Page 2: Determining the Existence of DC Operating Points in Circuits

Talk Outline

DC Analysis:

Basic Concepts

A Formal Approach

Formal Verification of Circuits: An Overview

Case Studies

Enhancing the Verification with invariants

Discussion

Introduction

Page 3: Determining the Existence of DC Operating Points in Circuits

http://www.cs.unc.edu/~templar/

http://www.eecs.berkeley.edu/~apinto/esd

http://nortonkit.net/

Hybrid Systems

Transportation Systems

Vehicle: Mechanical + Computer System

Computer SystemDigital and AMS designs

Digital Design

3

Page 4: Determining the Existence of DC Operating Points in Circuits

CMOS Design: An introduction

CMOS: Complementary metal–oxide–semiconductorBuilding blocks of integrated circuits and microprocessors

PMOS

NMOS

G

S

D

S

G D

http://wikipedia.org/

Example

4

Page 5: Determining the Existence of DC Operating Points in Circuits

5

Circuits Verification

• Transistor level models• Circuit simulator (Spice)

– Steady State simulation – AC simulation – Transient simulation– Parameter sweeping– Statistical variation (Monte Carlo)

Slide based on Kevin Jones talk at FMCAD’09, Portland, USA

Page 6: Determining the Existence of DC Operating Points in Circuits

DC operating point

To which voltages will the nodes of the circuit settle if the inputs to the circuit remain indefinitely at their fixed values?

Identify qualitative characteristics of a circuit (e.g., existence of stable behavior)

Determine initial conditions prior to transient analysis Determine linearization point prior to ac small signal analysis

Some Applications

6

Page 7: Determining the Existence of DC Operating Points in Circuits

Ring oscillators are a common component used in a variety ofanalog applications

Uses an odd number of inverter stages to produce oscillating“0” and “1” signals

Can we generate quadrature signals using ring oscillators?

Ring Oscillators: A Motivating Example

7

Page 8: Determining the Existence of DC Operating Points in Circuits

x1 x2 x3 x4

Rambus Oscillators

L H L H

8

Page 9: Determining the Existence of DC Operating Points in Circuits

x1 x2 x3 x4

Rambus Oscillators

L H L H

9

Page 10: Determining the Existence of DC Operating Points in Circuits

x1 x2 x3 x4

10

Rambus Oscillators

Circuits Parameters are guessed

Page 11: Determining the Existence of DC Operating Points in Circuits

11

For some ratios, there are some initial conditions that lead to oscillation, while others lead to stable behavior. GLSVLSI’08

Rambus Oscillators

Width Ratio = Wr/Wb >>1 Width Ratio = Wr/Wb <<1

Digital abstraction doesn’t hold

Functionality is sensitive to the exact sizing

Sensitivities to initial conditions for some sizes

r: ring inverter b: bridge inverter

Page 12: Determining the Existence of DC Operating Points in Circuits

12

An Example from the “Real world”

• The example is extracted from an actual design failure

– Some issues were only found in measurement of fabricated test chips

– The design was validated as well as any analog designs are in practice today

Challenges for Verification

For a given choice of transistor sizes, show that the circuit operates properly for all initial conditions

Slide based on Kevin Jones talk at FMCAD’09, Portland, USA

almost

ѵ

Page 13: Determining the Existence of DC Operating Points in Circuits

Talk Outline

DC Analysis:

Basic Concepts

A Formal Approach

Formal Verification of Circuits: An Overview

Case Studies

Enhancing the Verification with invariants

Discussion

Introduction

Page 14: Determining the Existence of DC Operating Points in Circuits

14

Circuits Modelling Views

Digital world viewAnalog world view

Real world view

Slide based on Kevin Jones talk at FMCAD’09, Portland, USA

Page 15: Determining the Existence of DC Operating Points in Circuits

15

Infinite continuous state space

Cannot do exhaustive simulation of individual traces/ trajectories

Strong continuous nonlinear behavior

No closed form solution for differential equations

Numerical methods have inaccuracies

Properties are hard to specify

Challenges in Analog Verification

Page 16: Determining the Existence of DC Operating Points in Circuits

Use mathematical reasoning to prove correctness

Exploration of all the possible behaviors

Assures implementation matches specification

If correct, all behaviors are verified

If incorrect a counter-example (proof) is presented

Verification is undecidable

• Indeterminate results

Formal Verification

16

Page 17: Determining the Existence of DC Operating Points in Circuits

Research Framework

Circuit Model Extraction

Formal Verification

Specification

17

Circuit Netlist

Systems of Equations

True/FalseIndeterminate

? ?

Page 18: Determining the Existence of DC Operating Points in Circuits

Kurshan ’91, Hartong’02,

Greenstreet ’98, 07, Gupta’04, Dang’04, Frehse’06, Little’04’ 06

Freibothe’06, Walter’07, Tiwari’09, Denman’09

State space decomposition, use numerical methods to build transitions

Forward Reachability: Geometrical enclosure of the behavior

Constraints based Verification: Decision procedured (e.g., SMT) Linearization of the behavior

Formal Verification of Analog Circuits

18

(Kurshan’92)

(Gupta’04)

Page 19: Determining the Existence of DC Operating Points in Circuits

Talk Outline

DC Analysis:

Basic Concepts

A Formal Approach

Formal Verification of Circuits: An Overview

Case Studies

Enhancing the Verification with invariants

Discussion

Introduction

Page 20: Determining the Existence of DC Operating Points in Circuits

DC Analysis

DC operating point: To which voltages will the nodes of the circuit settle to if the inputs to the circuit remain indefinitely at

their fixed values?

Is it a requirement to have a DC operating point?

How many DC operating points does the circuit have?

Latch

2 DC OP

Schmitt Trigger

1 or 2 DC OP

Oscillator

0 DC OP

20

Page 21: Determining the Existence of DC Operating Points in Circuits

Given an ODE system

Necessary condition for existence of DC operating point

DC Equilibrium

Stable Equilibrium: DC Operating point

Unstable Equilibrium

What is the nature of the DC equilibrium points?

Metastable Equilibrium

Chosen input

21

Page 22: Determining the Existence of DC Operating Points in Circuits

Chosen input

22

Classifying DC equilibrium

J is Jacobian Matrix

If all eigenvalues have real parts that are less than zero, then xis a stable equilibrium point DC operating point

If any eigenvalue has a positive real part, then we will call x an unstable equilibrium no DC operating point

Behavior of trajectories in the neighborhood of an equilibrium point is governed by the eigenvalues of the Jacobian matrix

Page 23: Determining the Existence of DC Operating Points in Circuits

Finding a solution to the equations of a circuit involves finding the root of a system of non-linear equations

Symbolic and numerical methods might fail to locate all possible solutions and be guaranteed to find a solution.

If DC equilibriums are approximately identified, how to analyze their stability?

Issues in locating DC Operating points

23

Page 24: Determining the Existence of DC Operating Points in Circuits

24

Proposed Approach

Procedure that uses symbolic models generated from a netlist to rigorously locate and classify all of the equilibrium points Determines the existence, location and number of DC OP Implemented with a collection of public tools within MATLABenvironment

s

Page 25: Determining the Existence of DC Operating Points in Circuits

25

Proposed Approach

OOMSPICE: Object Oriented Matlab Spice

Circuit modeling and analysis for formal verification

Accommodates the creation of hierarchical designs

Possible addition of new electrical components and alternative abstractions descriptions of existing components.

s

Page 26: Determining the Existence of DC Operating Points in Circuits

26

Proposed Approach

Coordinates the verification tasks and uses OOmspice to generate the circuit equations as desired by the verification tools:

DC equations for Hysat

ODE system for INTLAB

s

Page 27: Determining the Existence of DC Operating Points in Circuits

27

HySAT identifies regions Q that might contain DC equilibria

Iterative calls until HySAT establishes that the remaining space does not contain any equilibria

Candidate regions Q forwarded to INTLAB for further analysis

Proposed Approach

Unsatisfiability Solver

s

Page 28: Determining the Existence of DC Operating Points in Circuits

28

Refutes regions with no DC equilibriums

Provides tighter bounds for regions which includes equilibrium points

Provides Jacobian Interval matrices for all points in a given region

Proposed Approach

Matlab toolbox for interval arithmetic

s

Page 29: Determining the Existence of DC Operating Points in Circuits

29

We seek to categorize the stability of any equilibrium as definitely stable, definitely unstable, and unknown.

Region does not contain a DC operating point if all matrices in provided Interval Matrix have at least one eigenvalue with positive real component

Region contains a DC operating point if all matrices in provided Interval Matrix have all eigenvalues with negative real component

Proposed Approach

Pseudo-spectrum analysis Matlab

Toolbox

s

Page 30: Determining the Existence of DC Operating Points in Circuits

30

Verification Outcome

Hysat DC equilibrium

Candidate Region

Validated by Intlab

Refuted by Intlab : No DC OP

Intlab fails to provide conclusive results

DC OP by Eigtool

Unstable by Eigtool: No DC OP

Indeterminate Unstable by Eigtool:No DC

OP

Indeterminate

Page 31: Determining the Existence of DC Operating Points in Circuits

Talk Outline

DC Analysis:

Basic Concepts

A Formal Approach

Formal Verification of Circuits: An Overview

Case Studies

Enhancing the Verification with invariants

Discussion

Introduction

Page 32: Determining the Existence of DC Operating Points in Circuits

32

Schmitt Trigger

Parameters

Components Instantiations

Pins Connections

Page 33: Determining the Existence of DC Operating Points in Circuits

Schmitt Trigger Cicruit Equations

State Space

Equations

KCL

ODEs 33

Page 34: Determining the Existence of DC Operating Points in Circuits

DC transfer Function

Hysteresis

34

Schmitt Trigger

Narrow inconclusive bounds width of 0.007and 0.006 in [0, 1.8]

Schematic

Page 35: Determining the Existence of DC Operating Points in Circuits

35

Vin = 1.8 V

Bounds on eigenvalue

Schmitt Trigger

DC Operating Points

Jacobian Interval Matrix = Central Matrix +/- Offset Matrix

Eigenvalue of central matrix

Norm of Offset Matrix (log scale)

Page 36: Determining the Existence of DC Operating Points in Circuits

36

Vin = 0 V

Unstable Equilibria: Not DC OP

Indeterminate case

Vin = 1.124 V

Vin = 1 V

Schmitt Trigger

DC Operating Points

Page 37: Determining the Existence of DC Operating Points in Circuits

Other Experimental Results:

Proved that Ring Oscillators with odd number of stages (up to 25 stages) do not posses DC operating points

Effect of load capacitance on the oscillation. Sufficient large capacitance load can break the oscillation

Proved that Even number of Ring oscillators (up to 24 stages) always have stable state 37

Page 38: Determining the Existence of DC Operating Points in Circuits

Ring Oscillator: 3 and 25 stages

38

Page 39: Determining the Existence of DC Operating Points in Circuits

x1 x2 x3 x4

Rambus Oscillators

For a given choice of transistor sizes, show that the circuit operates properly for “almost all”

initial conditions 39

Page 40: Determining the Existence of DC Operating Points in Circuits

40

Wr/Wb = 0.5 Wr/Wb = 0.6

Wr/Wb = 0.9

Rambus Oscillators

DC Operating Points Indeterminate

Unstable Equilibria : Not DC OP

Wr/Wb = 3.5

DC Operating Points

Page 41: Determining the Existence of DC Operating Points in Circuits

Talk Outline

DC Analysis:

Basic Concepts

A Formal Approach

Formal Verification of Circuits: An Overview

Case Studies

Enhancing the Verification with invariants

Discussion

Introduction

Page 42: Determining the Existence of DC Operating Points in Circuits

Find upper and lower bounds on the operating state space.

Given a constraint, is it a bound on the state space?

For each state variable x:

Invariant Checking

find b1 and b2 such that:x = b2 implies x =<0

and x = b1 implies x >=0

.

.

42

Page 43: Determining the Existence of DC Operating Points in Circuits

Invariant Checking: Schmitt Trigger

y1 Bounds

y1

y2

43

Page 44: Determining the Existence of DC Operating Points in Circuits

Invariant Checking: Schmitt Trigger

y2 Bounds

y1

y2

44

Page 45: Determining the Existence of DC Operating Points in Circuits

•First order model does not consider subthreshold current (no leakage)

•Failure to prove bounds on voltage nodes for some input voltages

M3: Vgs < vth and M3 is off

M1 and M2 are off

Invariant Checking: Schmitt Trigger

Problems with First Order Model

y1

y2

Vin is Low

M1

M2M3

Suppose Initial V_y2 > b2

45

Page 46: Determining the Existence of DC Operating Points in Circuits

MOS model that provides a similar behavioral representation compared to spice models

EKV Model is accurate even when the MOSFET is operating in the subthreshold region

Closed form expressions that are continuous across the transistor operating regions.

Hysat friendly

EKV Mosfet Model

46

Page 47: Determining the Existence of DC Operating Points in Circuits

•EKV mode considers subthreshold current (no leakage)

•Bounds were proved automaticallyM2: Vgs < vth and M2 is off

M1 and M2 are off

Invariant Checking: Schmitt Trigger

EKV Model

y1

y2

Vin is Low

M1

M2M3

Suppose Initial V_y2 > b2

47

Page 48: Determining the Existence of DC Operating Points in Circuits

Talk Outline

DC Analysis:

Basic Concepts

A Formal Approach

Formal Verification of Circuits: An Overview

Case Studies

Enhancing the Verification with invariants

Discussion

Introduction

Page 49: Determining the Existence of DC Operating Points in Circuits

49

Challenges Outlined in FMACD’08 Talk on Open Analog Problems

• Avoiding transient simulation

• Establishing that operating point assumptions are valid

• Establishing that all initial conditions result in correct behavior

• Dealing with non-linearity

Page 50: Determining the Existence of DC Operating Points in Circuits

Conclusion

Tackling DC analysis in a more formalized way

Identifying and classifying DC operating points of circuits using a collection of tools in the open domain

Demonstrating the presented methodology on a variety of circuits

50

Formal methods is possible. But is it effective??

Primary Results say YES

Is formal verification possible for Analog Designs?

Page 51: Determining the Existence of DC Operating Points in Circuits

I've got this pain in all the diodes down my

left side*.

* From the Hitchhiker’s Guide to the Galaxy, by Douglas Adams51