An Evolutionary An Evolutionary approach to approach to
Standard Cell Standard Cell Design: a proof of Design: a proof of
conceptconceptAnil Bahuman
Artificial Intelligence CenterUniversity of Georgia
July 2001
July 2001
July 2001
July 2001
July 2001
Research Goal
In Out
0 1
1 0
0 1
Truth Table Layout with “minimum” area
“Schematic and layout are designed in parallel”
Explore possibility of automating the design of simple logic standard cells by exploring
design spaces not considered by human designers
July 2001
Standard Cell Design
Building blocks for chips. Frequently used logics. NAND, full adder, latch etc. Costly (time + money) to redesign. Can we design on-the-fly?
Standard cells are building blocks of frequently used logics employed in VLSI Design. Examples include NAND, Full Adder, Latch and Inverter. These
libraries are typically designed by hand in a very costly and time consuming process. One of the major challenges is the migration of standard cell layouts
every time there is a change in the process. There is a strong need for automation alternatives.
Design Design ExampleExample
July 2001
A Transistor in MAGIC
July 2001
Error tiles indicating DRC Errors
July 2001
An Inverter in MAGICLambda, cell limits, labels, template, inputs, output,
gate, terminals, wires, poly, contacts, 3I - 1O
July 2001
SPICE simulation of the Inverter
Research Research GoalGoal
July 2001
Research Goal – Inverter
In Out
0 1
1 0
0 1
Truth Table Layout with “minimum” area
“Schematic and layout are designed in parallel”
July 2001
Why Is This Worth Our Efforts?
EDA is a multi-billion dollar industry On-the-fly vs. Compaction Traditional methods are schematic-
dependent In our knowledge GAs have not been used
for the design of standard cells
ArchitectureArchitecture
July 2001
architecture
MAGIC SPICE
Modified GADO
(DRC ERRORS , AREA) (CORRECTNESS)
DESIGN ENGINE EVALUATOR
DESIGN RULE CHECKER
CIRCUIT SIMULATOR
Fitness module
(CIRCUIT FILE)
July 2001
Errors in a Design : 1
Shorted Labels Overlapping transistors Transistors should only touch Poly or Diff Poly Contacts should NOT touch diffusion
or diff contact Poly should NOT touch diffusion contact Pdiff Contact should not touch Ndiff
contact
FITNESS FUNCTION PENALIZES MAX_PENALTY FOR…
July 2001
Incomplete designs – broken connections 10+penalty for broken connections + DRC
Complete designs with DRC errors and/or Circuit simulation errors
Penalty for “incorrect simulation” + DRC errors
Errors in a Design : 2
FITNESS FUNCTION PENALIZES…
July 2001
11
Building Blocks
July 2001
Encoding an ObjectPARAMETER VALUE A B
Object Type 1-15 11 11
Orientation 0-3 0 2
Stretch Factor Cell limits 0 5
X Cell limits 0 15
Y Cell limits 0 14
A B
July 2001
An Individual
Object Type Orientation Stretch Factor X Y
July 2001
Connections b/w Transistors
terminal
July 2001
Key
MAGIC SPICE
“If you have some terminal that is not being influenced by any other terminal, we want to know
how close it is to some terminal that can influence it.”
July 2001
An Influence Check
Domain specific rules encouraging connectivity– The labels must not be shorted– Every input must influence at least one output– Every output must be influenced by at least one input– The gate of a transistor must be influenced by at least one input– One terminal of the transistor must be influenced by an input– Other terminal of the transistor must influence an output
July 2001
Sample Cell
Corresponding Graph
ResultsResults
July 2001
Success 1
July 2001
Success 2
July 2001
Success 3
July 2001
Evolving 1
July 2001
Evolving 2
July 2001
Evolving 3
July 2001
Evolving 4-7
4 6
5 7
July 2001
Evolving 8: Aha! Inverter
July 2001
Evolving – Success 1
July 2001
Limitations
Does not always find the best solution – Is this acceptable?
Presently unable to design more complex cells– Alternative representation– Starting from similar designs
Speed – almost linear speedup [Mazumder]
July 2001
References 1
T. Lengauer. Combinatorial Algorithms for Integrated Circuit Layout.
K. Rasheed. GADO: A Genetic Algorithm for Continuous Design Optimization, PhD. Thesis. http://www.cs.uga.edu/~khaled
P. Mazumder and E. M. Rudnick. Genetic Algorithms for VLSI Design, Layout & Test Automation.
D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning.
J. Rabaey. Digital Integrated Circuits: A Design Perspective.
July 2001
References 2
N. H. E. Weste, K. Eshragian. Principles of CMOS VLSI Design.
C. Edwards. EDA Vendors Rethink Standard-Cell Libraries, Electronics Times, June 2000.
D. Pietromonaco. Automating Cost-Effective Library Creation, Integrated System Design, November 2000.
http://www.research.compaq.com/wrl/projects/magic/ http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/ http://ece.www.colorado.edu/~ecen4228/spice/spice.htm
July 2001
Merci
Danke
Sas efharisto
Mahalo
Merci
Dhanyavaad
Arigato
Vandane
Wneeweh
Shukran