39
An Evolutionary Evolutionary approach to approach to Standard Cell Standard Cell Design: a Design: a proof of proof of concept concept Anil Bahuman Artificial Intelligence Center University of Georgia July 2001

Example of Automating Transistor-level Design

Embed Size (px)

DESCRIPTION

Layman Description: Computers have been assisting humans in design of artifacts for several years now, such as design of aircraft or design of Integrated Circuits. We demonstrate one such tool that can assist engineers to build standard cells on-the-fly customized to criteria specified by them. We use genetic algorithms to guide the computer. This starts with an engineer providing the desired output signals. The computer program then randomly generates say 10,000 possible design configurations. Good designs are then Selected from this population of designs (priority given to designs that bettter meet the engineers' output requirement). Hybrid designs are developed using genetic operators. Heres where it gets interesting. Unlike most traditional computer programs, the genetic algorithm create a hybrid design by a "Crossover" of two good "Parent" designs (creating, hopefully, a better design) or random "Mutations" of good designs. These genetic operators are used on the initial population of 10,000 designs to create a second population of another (say) 10,000 designs. What happens when you do this 1000s of times? Do you arrive at the "perfect" (optimized) design? Thats what this work is about. ACKNOWLEDGEMENT This work at the AI CENTER & DEPT. OF COMPUTER SCIENCE & UNI OF GEORGIA in 2001 demonstrated designs an Inverter Standard Cell on-the-fly. It was sponsored by a YAMACRAW grant from the STATE OF GEORGIA, UNITED STATES. TECHNICAL DESCRIPTION The problem of designing the transistor-level layout of cells in a standard cell library is a multi-objective design optimization problem. Contemporary methods are optimization or compaction engines that rely on a schematic representation supplied by a design engineer. We have demonstrated the possibility of applying a modified genetic algorithm (GADO) to design a cell given only a behavioral description. A working inverter is designed as a proof of concept along with other inverters with arbitrary label placements. This is an example of design without human intervention, i.e. a computer design as opposed to a computer-aided design.

Citation preview

Page 1: Example of Automating Transistor-level Design

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

Page 2: Example of Automating Transistor-level Design

July 2001

Page 3: Example of Automating Transistor-level Design

July 2001

Page 4: Example of Automating Transistor-level Design

July 2001

Page 5: Example of Automating Transistor-level Design

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

Page 6: Example of Automating Transistor-level Design

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.

Page 7: Example of Automating Transistor-level Design

Design Design ExampleExample

Page 8: Example of Automating Transistor-level Design

July 2001

A Transistor in MAGIC

Page 9: Example of Automating Transistor-level Design

July 2001

Error tiles indicating DRC Errors

Page 10: Example of Automating Transistor-level Design

July 2001

An Inverter in MAGICLambda, cell limits, labels, template, inputs, output,

gate, terminals, wires, poly, contacts, 3I - 1O

Page 11: Example of Automating Transistor-level Design

July 2001

SPICE simulation of the Inverter

Page 12: Example of Automating Transistor-level Design

Research Research GoalGoal

Page 13: Example of Automating Transistor-level Design

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”

Page 14: Example of Automating Transistor-level Design

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

Page 15: Example of Automating Transistor-level Design

ArchitectureArchitecture

Page 16: Example of Automating Transistor-level Design

July 2001

architecture

MAGIC SPICE

Modified GADO

(DRC ERRORS , AREA) (CORRECTNESS)

DESIGN ENGINE EVALUATOR

DESIGN RULE CHECKER

CIRCUIT SIMULATOR

Fitness module

(CIRCUIT FILE)

Page 17: Example of Automating Transistor-level Design

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…

Page 18: Example of Automating Transistor-level Design

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…

Page 19: Example of Automating Transistor-level Design

July 2001

11

Building Blocks

Page 20: Example of Automating Transistor-level Design

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

Page 21: Example of Automating Transistor-level Design

July 2001

An Individual

Object Type Orientation Stretch Factor X Y

Page 22: Example of Automating Transistor-level Design

July 2001

Connections b/w Transistors

terminal

Page 23: Example of Automating Transistor-level Design

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.”

Page 24: Example of Automating Transistor-level Design

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

Page 25: Example of Automating Transistor-level Design

July 2001

Sample Cell

Corresponding Graph

Page 26: Example of Automating Transistor-level Design

ResultsResults

Page 27: Example of Automating Transistor-level Design

July 2001

Success 1

Page 28: Example of Automating Transistor-level Design

July 2001

Success 2

Page 29: Example of Automating Transistor-level Design

July 2001

Success 3

Page 30: Example of Automating Transistor-level Design

July 2001

Evolving 1

Page 31: Example of Automating Transistor-level Design

July 2001

Evolving 2

Page 32: Example of Automating Transistor-level Design

July 2001

Evolving 3

Page 33: Example of Automating Transistor-level Design

July 2001

Evolving 4-7

4 6

5 7

Page 34: Example of Automating Transistor-level Design

July 2001

Evolving 8: Aha! Inverter

Page 35: Example of Automating Transistor-level Design

July 2001

Evolving – Success 1

Page 36: Example of Automating Transistor-level Design

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]

Page 37: Example of Automating Transistor-level Design

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.

Page 38: Example of Automating Transistor-level Design

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

Page 39: Example of Automating Transistor-level Design

July 2001

Merci

Danke

Sas efharisto

Mahalo

Merci

Dhanyavaad

Arigato

Vandane

Wneeweh

Shukran