CAD/Graphics, Hong Kong, Dec. 7-10, 2005
Carlo H. Séquin
EECS Computer Science Division
University of California, Berkeley
CAD Tools for the
Early and Creative
Phases of Design
Lessons for M-CAD, CAGD
I. The Power of
Parametric Procedural Design
Parametric Procedural Design
Computer-Aided Optimization / Synthesis
CAD Tools for the Early Phases of Design
Evolution (G.A.) versus Intelligent Design
Towards an Integrated CAD Environment
Julia Sets, Mandelbrot Set, Fractals
Defined by just a few numbers ...
Sculptures by Brent Collins (1980-94)
“Sculpture Generator I” – Basic Modules
(monkey saddle) Scherk tower
Closing the Loop
“Sculpture Generator I”, GUI
Brent Collins & Hyperbolic Hexagon II
12-foot Snow Sculpture
Silver medal, Breckenridge, Colorado, 2004
. . . and a Whole Lot of Plastic Models
Done by investment casting from FDM original
“Natural” Forms by Albert Kiefer,
sent by Johan Gielis, developer of supergraphx
made with supergraphx www.genicap.com
The “genome” is the ultimate
parameterization of a design,
given the proper procedure
to interpret that code
Without the proper framework,
the genome is meaningless.
(e.g., human DNA on a planet
in the Alpha-Centauri System)
Parametric design of technical objects
captures only its form
– What about its function ?
What Shape Has the Right Functionality?
How Do We Know What Makes a Good
Design With Proper Functionality ?
e.g. a comfortable razor ?
or a better mouse-trap ?
Trial and Error (T&E)
T&E: OK for Early Flying Machines
T&E: Not OK for Nuclear Power Plants
OK ! – this one seems to work !!
CAD for Design Verification
Do expensive or dangerous experiments
on the computer.
Use: calculations, analysis, simulation...
E.g., SPICE (Simulation Program with
Integrated Circuit Emphasis),
L. W. Nagel and D. O. Pederson (1972)
SPICE – Input: Circuit Diagram
SPICE Output: Voltage & Current Traces
Heuristics + Analysis Programs
Generate new designs based on
Use evaluation CAD tools in an inner loop.
Now: Parameterize the desired function.
First proven in domain of modular circuits
(logic circuits, filters, op-amps ...)
Parameterized Functional Specs
Parameters for a band-pass filter
Parameterized Filter Synthesis
H. De Man, J. Rabaey, P. Six, L. Claegen,
“CATHEDRAL-II : A Silicon compiler
for Digital Signal Processing”, 1986.
dedicated data path
16-tap symmetrical filter
Add: Computer-Aided Optimization
Use evaluation CAD tools
+ a local optimization step
as an inner loop in a search procedure.
A Compiler for CMOS Operational Amplifiers
H.Y. Koh, C.H. Séquin, P.R. Gray, 1990
Synthesizing on-chip operational amplifiers
to given specifications and IC layout areas.
1. Case-based reasoning (heuristic pruning)
selects from 5 proven circuit topologies.
2. Parametric circuit optimization to meet specs.
3. IC layout generation based on macro cells.
MOS Operational Amplifier (1 of 5)
Only five crucial design parameters !
Op-Amp Design (OPASYN, 1990)
output voltage swing (V)
output slew rate (V/nsec)
open loop gain () “Cost” of Design
settling time (nsec) = weighted sum
unity gain bandwidth (MHz)
power dissipation (mW) Optimization:
total layout area (mm2)
OPASYN Search Method
Hard design constraints Cost
5D design-parameter space
Regular sampling followed by gradient ascent
MOS Op-Amp Layout
Followingcircuit synthesis & optimization,
other heuristic optimization procedures
produce layout with desired aspect ratio.
Synthesis in Established Fields
Filter design and MOS Op-Amp synthesis
have well-established engineering practices.
Efficiently parameterized designs as well as
robust and efficient design procedures exist.
Experience is captured in special-purpose
programs and used for automated synthesis.
But what if we need to design something new
in “uncharted engineering territory” ?
Task: Design a robot that climbs trees !
How do you get started ??
An Important New Phase
is Prepended to the Design Process:
Idea Generation, Exploration ...
Three Phases of Design
Exploration: -- Generating concepts
Sanity Check: -- Are they viable ?
Schematic Design The CAD Wave
Fleshing out: -- Considering the constraints
Optimization: -- Find best feasible approach
Design for Implementation: -- Consider realization
Refinement: -- Embellishments
Quality / Maturity of CAD Tools
Gathering ideas, generating concepts
Considering constraints, finding best approach
Refinement, embellishments, realization
Activities in Phase I
How do people come up with new ideas ?
Doodles, sketches, brain-storming, make
wish-lists, bend wires, carve styrofoam, ...
What CAD tools do we need to help ?
Create novel conceptual prototypes ...
Evaluate them, rank order them ...
Show promising ones to user …
How do we automate that search ?
“Holey” Fitness Space
Open-ended engineering problems have complicated,
higher-dimensional solution / fitness spaces.
Pursue several design variations in parallel
(many “phenotypes” in each generation)
Evaluate their “fitness”
(how well they meet the various design objectives
Use best designs to “breed” new off-springs
(by modifying some genes = “mutation”)
(by exchanging genes = “crossover”)
Expectation:Good traits will survive,
bad features will be weeded out ...
How Well Do G.A. Work
for Engineering Tasks ?
Let ME students design a MEMS resonator
Students (initially) had no IC experience
Excited about Genetic Algorithms
Created with an enhanced
used for integrated
Many nifty devices and
systems have been built:
motors, steerable mirrors,
K. Böhringer et al.
The Basics of a MEMS Resonator
Basic MEMS Elements (2.5D)
Beam H-shaped center mass
Anchor to substrate Comb drive
Need an Electro-Mechanical Simulator !
“SPICE for the MEMS World”
(open source just like SPICE)
The SUGAR Abstraction
Digital-to-Analog Converter by R. Yej, K.S.J. Pister
SUGAR in Action ...
Multimode Resonator by R. Brennen
A General Set-Up for Optimization
Poly-line suspensions at 4 corners.
Adjust resonant frequency F
Bring Kx Ky into OK ranges
Minimize layout area
An Intermediate Design/Phenotype
Adjust resonant frequency to 10.0 ± 0.5 kHz
Bring Kx / Ky into acceptable range ( >10 )
Minimize size of bounding box; core is fixed.
MEMS Actually Built and Measured
Genetic Algorithm in Action !
Area = 0.181 mm2; Kx/Ky = 12
Use 4-Fold Symmetry !
1st-order compensation of fabrication variations
Using 4-fold Symmetry
Faster search ! Area = 0.171 mm2; Kx/Ky = 12
X,Y-Symmetry; Axis-Aligned Beams
Area = 0.211 mm2; Kx/Ky = 118
Introduce Serpentine Element
A higher-order composite subsystem
with only five parameters: N , Lh, Wh, Lv, Wv
X,Y-Symmetry; Mixed Springs
Area = 0.149 mm2; Kx/Ky = 13
Proper Use of Serpentine Sub-Design
That is what we had in mind ...
Proper Use of Serpentine Element
Reduce 0.143 mm2;
Area =X-dimension ofxlayout
K /Ky = 11
by introducing more serpentine loops
Trying to Reduce Area
soft Kx flare out
Area = 0.131 mm2; Kx/Ky = 4 BAD !
Increasing Stiffness Kx
Connecting bars suppress horizontal oscillations
But branched suspensions may not be expressible
in genome ( = underlying data structure ).
Using Cross-Linked Serpentines
Area = 0.126 mm2; Kx/Ky = 36
What really happened here ?
Major improvement steps came by
Genetic algorithm found good solutions
for the newly introduced configurations.
With only few parameters & clear objectives,
greedy optimization may be more efficient.
With complex multiple objectives,
G.A. may have advantage of parallel exploration.
Why Did the G.A. Not Find This ?
Lack of expressibility of genome.
Solution space too large, too rugged ...
Sampling is too sparse !
Samples are not driven to local optima.
A Rugged Solution Space
No design lies on the very top of a peak !
Good intermediate solutions may get lost.
Generation – – a random sampling
50. Generation – clustered nearhigher ground
20. 1. Generation drifting to high mountains
What Are Genetic Algorithms Good For?
Exploring unknown territory
Generating a first set of ideas
Showing different subsystem solutions
How can this be harnessed most effectively
in an engineering design environment ?
Building a flexible, extensible CAD framework for
exploration, ideation, design, and optimization.
Test: MEMS Resonators, Filters, Gyroscopes
Prof. A. Agogino (ME)
Dr. Raffi Kamalian
Ying Zhang, PhD student
Corie Cobb , PhD student
Making G.A. Useful for Engineering
G.A. by itself is not a good engineering tool !
Selection of Visualization
G.A. for Engineering Needs (1):
A way to pick promising initial designs,
a case library
classical literature search
personal advice from experts
Our Component / Case Library
Multiple levels of building blocks:
Low-level primitive design element:
anchors, masses, beams, combs ...
High-level design clusters:
“I” masses, polylines, serpentines ...
Successful designs (Case Library):
mechanical resonators ...
G.A. for Engineering Needs (2):
An extensible underlying data structure,
compatible with the available simulator (SUGAR) !
Fixed Structured descriptions:
Sculpture Generator I: fixed set of parameters
OPASYN: a tree of 5 basic designs (5-8 params.)
Lindenmayer Systems (1968): parallel string-rewrite
“Artificial Life” by Karl Sims (1991).
“Frequency-Selective MEMS for Miniaturized
Clark T.-C. Nguyen, Proc. 1998 IEEE Aerospace Conf.
C.T.-C. Nguyen: MEMS Filter
C.T.-C. Nguyen: 3-Resonator Filter
Exchange only modules at the same hierarchical level !
Our Representation of Designs
Object-oriented (C++) hierarchical graph:
modules with connection points;
connectivity via net list.
Parameter set of building blocks act as genes:
real, integer, and binary numbers.
Other fields indicate allowable modifications:
what can mutate, by how much;
which elements can perform genetic crossover
respecting hierarchical levels !
G.A. for Engineering Needs (3):
Efficient ways to predict the functionality
and fitness of phenotypes:
simulator for the appropriate domain (SUGAR)
heuristic evaluations based on past experience
visualization for quick human judgment
keeping common-sense control !
G.A. for Engineering Needs (4):
Ways to improve the evolutionary process:
greedy phenotype optimization
deletion / advancement of special phenotypes
introducing new parameters / constraints
high-lighting of desirable features . . .
Modeling by Example
G.A. for Engineering Needs (5):
Ways to edit individual designs:
sketching a whole new systems topology
(this may be a far-out dream ...)
selective editing of phenotypes:
“story-board” visualization of the
sought-after design environment . . .
Design Example: MEMS Accelerometer
G.A. constrained to Manhattan geometry,
and 4-fold symmetry.
area = 0.145 mm2
• eliminate !
Added serpentine elements
area = 0.138 mm2
Requires some programming
New, more compact serpentine (fewer params)
area = 0.113 mm2
Do we really need G.A.
to find this solution ??
We definitely need
engineering intelligence !
CAD will not become fully automated
Human intelligence will continue
to play a key role:
Itmust be more tightly integrated
into the design process:
faster design completion
better design results
Today’s CAD Environments for Phase I
corresponding state of the art ...
CAD Environments of the Future
Phase_1 CAD tools have a long way to go yet !
Encourage bright young minds to work in this field.
Interactive CAD for Phase I