45
Automated Analog Design Part II A symbolic analysis approach

Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Automated Analog Design

Part II A symbolic analysis approach

Page 2: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Objectives

Some notes about last my presentation AbstractReview related worksIntroduction of Symbolic analysisProposal for automated analog designExamplesDifficulties and future goalsConclusions

Page 3: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationGenetic algorithms

A genetic algorithm transforms a population of individual objects, each with an associated value of fitness into a new generation of the population, using the principles of survival and reproduction of the fitness and analog of natural occurred operation crossover and mutation In order to use this algorithmic approach we map object representation with labeled tree .

Ex.: object is a formula (X+0.98)*(Y-0.5)

Page 4: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationGenetic algorithms

CrossoverTwo randomly chosen nodes exchange the corresponding subtrees

Page 5: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationGenetic algorithms

MutationAt randomly chosen node grows randomly chosen function from the set of all available functions

Page 6: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationGenetic algorithms

Design analog filterThe algorithm starts with embryo structure – two modifiable wires Z0,Z1

The two branches below “list” node is associated with Z0,Z1

The two branches below “list” node is associated with Z0,Z1

Page 7: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationCircuit constructing program tree

Offspring in II generation

Page 8: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationGenetic algorithms

Circuit , synthesizing, by traversing nodes from the top to the bottom

Circuit, corresponding to the offspring

Page 9: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Functions:C,L,R Capacitor, inductance, resistorFlip – reverse voltage polaritySeries – following functions are build series structureEnd – not modifiable nodeCut – modifiable wire will be deletedTwo_groung – divide modifiable wires in 2 parts and connect middle node to groundPair_connect – connect two nodes

Page 10: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Notes about last my presentationthe inaccurate genome representation

-Genome – a collection of genes , representing parameters of the problem to be optimized- Example of genome:

Page 11: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Abstract

Some arguments supporting automated circuit analog designMarket requirement for short design cycleDecreasing products life cycle The supply and demand growth of solutions, rather than a parts.

Page 12: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Abstract

The background of the all difficultiesPossible achievement …

Optimization aspect Automated sizing aspectVHDL aspect

What is not done yetFully automated mixed analog/digital circuit design engine

Page 13: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Abstract

Page 14: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Abstract

What is the real situationDesign by reuse

Based on existing IPUsually reference design is first optimal onePossibly to be not optimal solutionQuick designVirtually no optimization is needed

Page 15: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Design by reuse – example 1Most leadingIT companiesuse referentdesign forsomeproducts

Page 16: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Design by reuse – example 2

-Precision Micropower Low Dropout Voltage Reference LM420 (National)- 9 referent circuits (www.national.com)

-Mono/Stereo 2W (Class-D)Audio Power Amplifier MAX4295- 1 referent circuit

Page 17: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Review related works

NeolinearSeveral tools for creating IP in analog/mixed/Soc designNeoCircuit is used to automatically size, bias and verify analog circuits NeoCircuit-RF is used to automatically size, bias and verify RF circuits including LNAs, mixers, etc. NeoIP is a library of analog cells (VCO, bandgap, opamps, etc.) fully constrained for use in your NeoCircuit and NeoCell design environment.NeoCell, for automatic analog place and route, is distributed and

supported by Cadence Design Systems.

Page 18: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Review related works

Analog design automation LtdCommercial software for analog/digital/mixed designOperate with existing IP database in electronic designProvide fast design/evaluation on custom specificationsEvolutionary algorithms makes partial design and optimization until the goal is reached.Strongly dependent on existing database

Page 19: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Review related works

Design overviewIn any circuit, there are many possible optimal designs, each representing the best tradeoffs in design goals (e.g., area vs. speed; speed vs. power, etc.).

The system engineer has to find the one design from many optimized candidates that best meets the overall design objectives

Page 20: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Review related worksCreative Genius toolsearches for optimized designs using evolutionary algorithms.It considers all design variables and design objectives in its search of the design space.

CG provides a quick analysis, producing several results from simulation.The values of the performance measurements are expressed as design goals (speed, area, power, etc.)Performed tasks: maximize, minimize or match the design goal to a specific value

Page 21: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Review related worksOutput visualization makes easy choosing best design according initial constrains (example Low THD / F)

Even the we design an amplifier, circuit topology is different for different goals

Page 22: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Review related works

BENEFITSDecreasing (up to 10 times) design cycleIf the certain design cannot be evaluated , searching space is bounded by output set of optimized simulation-validated circuits

Existing solutions – an overview

DRAWBACKSDepending on the IP database of initial topologies.Not fully automated.Essentially without guarantee to find a solution.

Page 23: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysisBenefits

explicit circuit representation Analytical qualitative analysisopportunity to look at the circuits as a set of subcircuits.

Difficultieshuge set of equation describing analog processes it is hard to be fully analyzed medium size ICin many cases, circuits with more than 100 elements, the relatively small error in process equation is growing at the output.

GOAL: Finding and canceling all insignificant terms

Page 24: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

AoC1

C2 R1

x

R3

x

R2Vin

Vout

1 3

1 3 1 32 1 2 2 1 2 3 1 3

0 0 0 0 0

1 1 1( (1 ) ( ( )(1 ) ) (1 )

GGGG GGs C C s C G G G GG

A A A A A

−+ + + + + + + + +

Types of analyses (Gain Vout/Vin):

Fully symbolic

Simplified symbolic

Semisimbolic 2 90

0

3( )(0.5.10 )1

AA

ω +=

+

1 3

2 1 2 2 1 2 3 1 3( )GG

s C C sC G G G GG−

+ + + +

Page 25: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

3 2 3

2 3

m ds dsOUT

ds ds

g g gZg g+ +

=

M1M2

M3

I1

I2

Vbias

R1

Vgs

gmVgs

LEVEL-1 LEVEL-2

LEVEL-3

LEVEL-4

x

Gds4

Csb3

Cdb3

Cgs3

Cgd3

GmVbs3

x

Gds2

GmVgs3

Gds1

x

Gds3

GmVgs2GmVbs2GmVbs

GmVgs4GmVbs4

Cgd4

Cgs4

Cdb4

Csb4

1u

C1

D1G1 G2 D3

D3G3

D4G4

S1 S2

S3

S4

B3

B4

MOS Transistor – Small signal modelsThe model choice depends on the desired analysis, objective function, circuit size etc.All the models are linearized

Page 26: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

Computational techniques:

QR

S

P

R

50

R

F1

P

Tree enumeration methods:Handle only small circuitsDoesn’t produce term cancellation

Flow graph (topological) method:Mason signal FG – weighted signal graph of simultaneous

linear equationsEach node is a summer Transfer function between two nodes is

k jk jX W X=∑

1

sum of all lups+(sum of all 2nd lups)-(sum of all 3nd lups)... touching k node

sum of all loops at k node

k kk

k

k

Xj PXi

P

= ∆∆

∆− >∆ − > ∆

− >

Page 27: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

2

1 0 0 0

0

1 [ ]1

m mg sC gV sCsCV g g sC gg

−= + =

++

V11u

Cc

GmV1

Go

1 2

3

Example Mason method

Page 28: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

Computational techniques:

Matrix based methods: fully symbolic equations, obtained directly from the circuit. Modified Nodal Analysis MNA formalize the problem in the form YV=J, Y admittance matrix, V voltage, J current sources

1u

C6 R3

L7

R2

R5J4J1 gV(R3)

NODE1 NODE2

NODE3

Page 29: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

2 3 37 7

3 3 5 6 6

8 8 6 67 7

1 1

1 1( )

G G GsL sL

G G G sG sG V J

g g sG sGsL sL

+ + − − − + − − × = + − + +

Linearized circuit equation

Gain (V3/V2) obtained applying Cramer rule

1 3

8 6 6

48 4 3 1 3 1 6 6 6 4 2 4 3

3 7 7

421 3 1 5 1 6 3 3

7 7

1( )( ) ( )( )

1( 6 )( ) ( )( )

J G

g sC s

Jg J G J G J sC g sC J G J GV sL sL

JV sC J G J G J GsL sL

C J sC

− − − − + + + + +=

− + + + + + ++

Page 30: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysisHierarchical Symbolic analysis

OverviewThe main idea is to partition the circuit into a number of smaller circuits with already compiled parameter.Two types of blocks – inner and outer (leafs, terminal).Time complexity O(n2/p)

Terminal block analysisUse traditional MNA approachReducing MNA to RMNA by reducing all internal variables

Middle block analysisRecursively combining pair of blocks with at least 2 common nodes, to produce leaf nodes.

Page 31: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysisHierarchical Symbolic analysis

Example of middle block analysis

B1 B2

B12

AVr4

x

R8

1u

C3

x

R5 R1

1u

C7

BVr8

R4

1 53

12 12

12 12

1 11

3 4 3

5 51

7 8 7

1 1 13

12 3 4 3 5 5

7 8 7

1 51

3 4 3 512

7 8 7

12

12

0

0

00 0

0

G G AY

sC G sC A

G G BY

sC G sC B

G G A aY sC G sC A G G B MNA

sC G sC B

G A G BGsC G sC A GY RMNAsC G sC B

V JY

I E

Y

− = + −

− = + −

− = + − + − ⇒ + −

− − + − += ⇒ + −

× =

1 2 1

1 2 2

V V JI I J

× =

Page 32: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysisBasic definition:

Topology graph G (N, B, R) N (nodes), B (branches), R (incident relation)Structure S(G, F), F(B->E, each branch is associated circuit element)Circuit C(S,P) P(E->R), each element is takes real numerical assignment Objective function D (determine circuit performance with respect design specifications)Error function Er, Er=|D-Do| )Element cost Cs individual element cost function Cs : E->costCost function Ks, Kc, for structure Ks : S->R or for circuit Kc : C->cost

Page 33: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

Problem formalization1. Minimization of cost function with objective minimal

error function

2. Optimization Objective function with constraints imposed on cost function

3. Global optimization

min ( ) or min ( )s S c CKs S Kc C

∈ ∈

min ( ) min ( )s S c CEs S or Ec C

∈ ∈

min( ( ) ( ))

min( ( ) ( ))s S

c C

Er S Ks S

Er C Ks C

α β

α β∈

× + ×

× + ×

Page 34: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Introduction of Symbolic analysis

Sequential structure generation schemes

P1: Definition of a class possible topologies

P2: Exhaustive generation of all possible topologies

P3: For all structures generation of a symbolic characteristic function of a circuit

Page 35: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

By using symbolic analysis can be build of database with compiled (analyzed) base circuits. Example: differential amplifier, 2 MOS current mirror, etc.On the level circuit can be design correct mapping between topology and real (existing) elements.Additional parameter describing the certain behavior of each topology is assigned. Example (diff. amplifier – AF, IF; common drain amplifier – AF, IF, RF). There is no need to analyze diff. amplifier for RF.Each topology is presented with the full admittance matrix and additional parameters set for terms cancellation. Example Cgb is important in HF analysis. It’s similar to chose the level of transistor simulation.

Page 36: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

Design specification Task( S, Err, Class), where S input-output signal bandwidth, Err – maximal error function, Class – some ID to the type design has to be performed.

Ex. Task((100W, THD<0.03%, AF stereo amplifier)Find set of partitions in all structures corresponding to Class {D1, D2,…, Dn}Find all alternative substitutions for Di {Di1, Di2…Dik}Perform symbolic analysis for each compatible in Diwith constrain min (Er (Di)), min (cost) and |S’-S|<Err

Page 37: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

Example Goal : Task((100W, THD<0.03%, AF stereo amplifier.

100W output power requires at least two amplifier stagesAF requires bias controlTHD<0.03% require low noise pre-amplifier OPAMP

Page 38: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

Example of topologies maintaining problem constrains

OUTIN

Vdd

R4

R3

D2

D1

R2

R1

beta= 198.2Q2

beta= 122

Q1

Tape2

Tape1

Phono

R2

C8

X1

C3

C2

INOUT

C9

R1

R8S3

R9

S2

S1

R10

C5

C1

R13

R2

C8

C7

C4

C5

X1

C3

C2

IN

C1

OUT

C9

R7

R8

R6

R9

C10

C11

R10

R11

R12

R13

Page 39: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

Page 40: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

Page 41: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

The parameter “index of applicability (AP)” can save time for unnecessary computation, by assignment approximate value for quantitative estimation how much the structure will fit solving a particular problem. Example Low noise can be maintain with tube amplifier stages. So AP for tube structures will point somewhere in high level of “low noise requirement”

The overall problem can be defined as a constrain satisfaction problem. Additional constrain will be index of applicability – analyzing the structures with greater AP. In this case only the cost constrain will be validated

Page 42: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Proposal for automated analog design

What are the benefits?Missing GA for optimizationStrong analytical approach finding a solutionPossibly working in fully automated modeIntended to work much faster.

What will be difficult?Probably not so fast in optimization. It will never come up with new solution. Possibly hitches in the symbolic analysis part –cannot find solution due to memory overflow

Page 43: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Difficulties and future goals

Difficulties:How to find more cancel-free terms?I’m not sure that all specification parameters have explicit analytical presentation( example noise has approximate formulas ?)I don’t know yet what will be the time complexity.I’m still looking for acceptable ontologyI don’t know how to compare symbolic expressions

Page 44: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Difficulties and future goals

Future goalsI’ll look for specific algorithms in symbolic analysis . There is an alternative computation using BDD (ZDD)I’ll try make some GA programs, just to estimate their usefulness.I’ll start working on expert system only in a amplifiers domain. (Lisp, CLISP?)

Page 45: Part II A symbolic analysis approach · object representation with labeled tree . Ex.: object is a formula (X+0.98)*(Y-0.5) Notes about last my presentation Genetic algorithms Crossover

Hello (Alex):

Good to hear from you.

There is no current GPPS code at the present time because we swtichedcomputers shortly after the 1999 book. We may get back to GPPS later thisyear.

Best of luck with your work.

John R. Koza

Consulting ProfessorBiomedical InformaticsDepartment of MedicineMedical School Office Building (MC 5479)Stanford UniversityStanford, California 94305-5479