93
Mani Srivastava UCLA - EE Department [email protected] VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Mani Srivastava UCLA - EE Department [email protected] VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Embed Size (px)

Citation preview

Page 1: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Mani SrivastavaUCLA - EE [email protected]

VLSI Design Methodologies

EE116B (Winter 2001): Lecture # 4

Page 2: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava2

Reading for this Lecture

Chapter 11 of Rabaey’s book

Page 3: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava3

Four Phases in Creating a Chip

ThisLecture

Previous Lecture

FutureLecture

Page 4: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava4

The Design Problem

Source: sematech97

A growing gap between design complexity and design productivity[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 5: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava5

Profound Impact on the way VLSI is Designed

The old way: manual transistor twiddling expert “layout designers” entire chip hand-crafted okay for small chips… but cannot design billion

transistor chips in this fashion The new way: using CAD tools at high level

tools do the grunge work… high levels of abstractions

– synthesis from a description of the behavior libraries of reusable cores, modules, and cells

Chip design increasingly like object-oriented software design![Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 6: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava6

Designing a VLSI

Economic viability affected by design time Design time affected by the efficiency of

concept requirements architecture logic/memory circuit layout

Continuous trade-off between performance (speed, area, power) size of die (hence cost of die and packaging) time of design (hence cost of engineering & schedule) ease of test generation and testability

Page 7: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava7

VLSI-design Tools & Methodologies

Goal is to reduce complexity, increase productivity, and increase chances of a working chip

Key is the use of Constraints and Abstractions Constraints

– help automate the procedure by simplifying the problem Abstractions

– collapse detail and arrive at a simpler problem to deal with

Different design methodologies different types of constraints and trade-offs choice driven by economics!

Page 8: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava8

Design Domains

Behavioral what a system does

Structural how entities are connected together to perform the

behavior

Physical (geometrical) how to build a structure that has the required

connectivity to implement the prescribed behavior

Page 9: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava9

Levels of Design Abstractions for Each Design Domain

Architectural Algorithmic Module or functional block Logical Switch Circuit Device

etc.

Page 10: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava10

Design Abstraction Levels

n+n+S

GD

+

DEVICE

CIRCUIT

GATE

MODULE

SYSTEM

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 11: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava11

Design Methodology

Design process traverses iteratively between behavior, structure, and geometry abstractions

CAD tools providing more and more automation

Page 12: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava12

A More Simplified Flow

Page 13: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava13

Principles of Structured Design Techniques

Hierarchy

Regularity

Modularity

Locality

Page 14: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava14

Hierarchy

Divide and conquer compose system from simpler widgets

Analogy with software break large programs into threads and subroutines

Hierarchy can be there in all domains behavior, structural, physical

The hierarchy in different domains may not correspond

e.g. a structural hierarchy may not map well to physical

Page 15: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava15

Example of Structural Hierarchy

Page 16: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava16

Example of Physical Hierarchy

Page 17: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava17

Example of Structural Hierarchy

Page 18: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava18

Example of Physical Hierarchy

Page 19: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava19

Repartitioning Structural Hierarchy to Fit Physical Hierarchy

Page 20: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava20

Regularity

Hierarchy breaks a system into submodules but this may not solve the complexity problem there may not be any regularity in the subdivision

– we just end up with a large # of different submodules

Regularity as a guide subdivide into a set of similar building blocks

– e.g. RAM composed of identical cells

Regularity means that the hierarchical decomposition of a large system should result in not only simple, but also similar blocks, as much as possible

Page 21: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava21

Regularity (contd.)

Regularity can be at all levels circuit: use identically sized transistors gate: similar gate structures higher level: architectures with identical processors

Regularity helps in many ways correct by construction reuse of design simplify verification of correctness

Page 22: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava22

Circuit-level Regularity Example

A 2-1 Mux D-type edge triggered

flipflop One-bit full add

All designed using inverter and tristate buffer

Page 23: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava23

Modularity

Condition that submodules have “well-defined” functions and interfaces

in addition to regularity and hierarchy ‘Well-formed” modules allow their interaction with others

to be “well-characterized” Depends on the situation

e.g. in s/w a subroutine has a well-defined interface– argument list with typed variables

e.g. in IC a well-defined physical, structural, and behavioral interface

– pin position, layer, size, signal type, electrical characteristics, logic function

Page 24: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava24

Why Modularity?

Allows the design of system to be broken up with confidence that the system will work as specified when the parts are combined

Allows team design by a number of designers Examples:

bad use: use of transmission gates as inputs– internal signals now depend on source impedance

bad use: use dynamic CMOS logic but fail to latch or register the inputs

– timing of each module will have to be checked

Page 25: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava25

Example of Poor Modularity

Page 26: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava26

Locality Modularity provided “well-characterized” interfaces

internals of modules unimportant to exterior interface• internal details remain at the local level

a form of “information hiding”• reduces apparent complexity of the module

Locality ensures that connections are between neighboring modules, avoiding long-distance connections

Example: timing locality so that time critical operations are local• clock generation and distribution network

• entire clock cycle for global signals to traverse chip

• placement so that global wiring is minimized Analogy with software

• global variables are to be avoided

Page 27: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava27

Parallels between H/W & S/W Design

Strong parallels in the way VLSIs are designed and the way complex software is

HDLs used to describe hardware systems in essence merge these two disciplines

software methods used to define hardware Hardware-software Co-design But, can’t ignore hardware aspects entirely

important since a physical chip is the end product

Page 28: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava28

Typi

cal V

LSI D

esig

n Fl

ow

Page 29: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava29

Types of Tools

Analysis and verification

Implementation and synthesis

Testability techniques

Page 30: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava30

Design Analysis and Verification

Accounts for largest fraction of design time More efficient when done at higher levels of

abstraction select of correct analysis level can reduce

verification time by orders of magnitude Two approaches:

simulation: depends on choice of excitation verification: extracts desired results directly from

circuit description[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 31: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava31

Simulation Approaches

Key distinction is how are data & time represented? Circuit-level simulation (e.g. Spice) Switch-level simulation (e.g. IRSIM)

– transistors as switches with resistance

Gate-level (logic) simulation– now obsolete due to logic synthesis

Functional simulation (e.g. VHDL, Verilog)– primitives of arbitrary complexity

Behavioral simulation (e.g. VHDL)– only mimic I/O functionality– hardware delay loses its meaning

Page 32: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava32

Digital Data as Analog Signals

Vo

ut (

V)

5.0

3.0

1.0

–1.0

t (nsec)

21.510.50

Vin Vout

tpHL

Gn,p

In Out

VDD

Bp

Bn

Dn,p

Sn

Sp

Circuit Simulation

Both Time and Data treated as Analog QuantitiesAlso complicated by presence of non-linear elements

(relaxed in timing simulation). Impractical for large circuits

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 33: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava33

Representing Data as Discrete Entity

V

t

VM

t1 t2

0 1 0 VD D

Rn

Rp

CL

Discretizing the data usingswitching threshold

{0,1,X} representation of data

The linear switch modelof the inverter

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 34: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava34

Discretizing Time

Evaluate circuits only at “interesting” times Event-driven simulation

evaluate gates only at a future time of interest– current time + gate delay– for more accuracy

gate delay = function of load still, events can happen at any time

Further simplification: unit-delay model events only at multiples of a unit time

Even further simplification: zero-delay model events at clock a.k.a. clock or cycle based simulation

Page 35: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava35

Circuit vs. Switch Level Simulation

0 5 10 15 20time (nsec)

–1.0

1.0

3.0

5.0

CIN

OUT[3]

OUT[2]

Circ

uit

Sw

itch

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 36: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava36

Structural Description of Accumulator

entity accumulator isport ( -- definition of input and output terminals

DI: in bit_vector(15 downto 0) -- a vector of 16 bit wideDO: inout bit_vector(15 downto 0);CLK: in bit

);end accumulator;

architecture structure of accumulator iscomponent reg -- definition of register ports

port (DI : in bit_vector(15 downto 0);DO : out bit_vector(15 downto 0);CLK : in bit

);end component;component add -- definition of adder ports

port (IN0 : in bit_vector(15 downto 0);IN1 : in bit_vector(15 downto 0);OUT0 : out bit_vector(15 downto 0)

);end component;

-- definition of accumulator structuresignal X : bit_vector(15 downto 0);begin

add1 : addport map (DI, DO, X); -- defines port connectivity

reg1 : regport map (X, DO, CLK);

end structure;

Design defined as composition ofregister and full-adder cells (“netlist”)

Data represented as {0,1,Z}

Time discretized and progresses withunit steps

Description language: VHDLOther options: schematics, Verilog

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 37: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava37

Behavioral Description of Accumulator

entity accumulator isport (

DI : in integer;DO : inout integer := 0;CLK : in bit

);end accumulator;

architecture behavior of accumulator isbegin

process(CLK)variable X : integer := 0; -- intermediate variablebegin

if CLK = '1' thenX <= DO + D1;DO <= X;

end if;end process;

end behavior;

Design described as set of input-outputrelations, regardless of chosen implementation

Data described at higher abstractionlevel (“integer”)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 38: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava38

Behavioral Simulation of Accumulator

Integer data

Discrete time

(Synopsys Waves display tool)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 39: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava39

Timing Verification

(Synopsys-Epic Pathmill)

Critical path

Enumerates and rankorders critical timing paths

No simulation needed!

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 40: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava40

Issues in Timing Verification

b yp a ss

4-b it a d d e r

MU

X

O u t

In

False Timing Paths

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 41: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava41

Design Verification

Simulation only tells how circuit reacted to input excitation that was specified

Verification tools analyze design and find problems Example:

electrical verification– transistor sizing for rise/fall time constraints

timing verification– find critical path

functional (formal) verification– compare circuit behavior against designer’s specification– proof that the two are “equivalent”, i.e. proof that the circuit

will work– e.g. prove that two state machines are equivalent

Page 42: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava42

Implementation MethodologiesDigital Circuit Implementation Approaches

Custom Semi-custom

Cell-Based Array-Based

Standard Cells Macro Cells Pre-diffused Pre-wired(FPGA)Compiled Cells (Gate Arrays)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 43: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava43

Economics of Implementation

Decision depends on Non-recurring engineering cost

– engineering design cost (personnel, support etc.)– prototype manufacturing cost

Production cost (Recurring cost)– wafer cost, processing cost– die per wafer– die yield per wafer, packaging yield, final test yield

Fixed costs– data sheets, cost of sales

Important to estimate design time and design cost guide to select the design method

Page 44: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava44

Choosing a Design Style

Custom Cell-based Prediffused PrewiredDensity Very High High High Medium-LowPerformance Very High High High Medium-LowFlexibility Very High High Medium LowDesign Time Very long Short Short Very ShortManufacturing Time Medium Medium Short Very ShortCost – low volume Very High High High LowCost – high volume Low Low Low High

Page 45: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava45

Custom Circuit Design

When performance & design density important High cost and long time-to-market

justified only if– high volumes– design will be reused (e.g. library cell)– cost no concern

due to CAD tools, custom design is minimal

Page 46: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava46

Tools for Custom Design

Layout editor (e.g. Virtuoso) Symbolic layout

relative positioning followed by compactor Design rule checking

technology file, hierarchical DRC Circuit extraction

schematic from layout transistors, caps, resistances, inductances

Netlist comparison and netlist isomorphism Back annotation from layout to schematic

Page 47: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava47

Custom Design - Layout Editor

Magic Layout Editor(UC Berkeley)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 48: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava48

Symbolic Layout

1

3

In O ut

VDD

GND

Stick diagram of inverter

• Dimensionless layout entities• Only topology is important• Final layout generated by “compaction” program

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 49: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava49

Cell-based Design Methodology

Why? Shorter design time! but, larger penalty

Array-based design (later) cuts process steps and reduces time even further…

Standard cell library of logic gate (nand, and, or etc.) design as a schematic or netlist of cells from library layout is generated automatically in rows design and composition of library is the main issue

– what fanout to design for?– Alternative versions of cells with different drive

Page 50: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava50

Standard Cell Libraries Typically contain a few hundred cells

inverters, NAND gates, NOR gates, complex AOI, OAI gates, D-latches, and flip-flops

Each gate type can have multiple implementations to provide adequate driving capability for different fanouts

e.g the inverter gate can have standard size transistors, double size transistors, and quadruple size transistors

the chip designer can choose the proper size to achieve high circuit speed and layout density

Cells characterized for various metrics, such as delay time vs. load capacitance Circuit, timing, and fault simulation models cell data for place-and-route mask data

Cells designed such that they can be abutted to form rows

Page 51: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava51

Standard Cell Based Design

FunctionalModule(RAM,multiplier, )

Row

s of

Cel

ls

Logic Cell

RoutingChannel

Feedthrough Cell

Routing channel requirements arereduced by presenceof more interconnectlayers

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 52: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava52

Standard Cell - Example

[Brodersen92]

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 53: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava53

Standard Cell - Example

3-input NAND cell(from Mississippi State Library)characterized for fanout of 4 andfor three different technologies

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 54: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava54

Automatic Cell Generation (Compiled Cells)

Random-logic layoutgenerated by CLEOcell compiler (Digital)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 55: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava55

Module Generators

Logic gate okay for random logic But, inefficient for regular structures

e.g. carry chain capacitance in N-bit adder Standard cells do not exploit regularity Structured custom design

macrocell generators, e.g. memories, multipliers– interconnects by abutment in both dimensions

datapath compilers– abutment in one dimension, routing in the other

usually “parameterizable”

Page 56: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava56

Datapath Compilers: Linear Placement

add

er

bu

ffer

reg0

reg1

mu

x

bus0

bus2

bus1

bit-slicerouting area feed-through

Advantages: One-dimensional placement/routing problem

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 57: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava57

Datapath Layout

Page 58: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava58

Macrocell Design Methodology

Macrocell

Interconnect Bus

Routing Channel

Floorplan:Defines overalltopology of design,relative placement ofmodules, and global routes of busses,supplies, and clocks

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 59: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava59

Channel Routing

Page 60: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava60

Macrocell-based Design Example

Video-encoder chip[Brodersen92]

SRAM

SRAM

Rou

ting

Cha

nnel

Data paths

Standard cells

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 61: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava61

Array-based Design

Cuts process steps and reduces time even further…

Several types: Mask programmable arrays

– pre-diffused so that several masks are eliminated– typically, only top metalization needs to be done– standard packages to keep packaging cost low– e.g. gate array, sea of gates

Pre-wired arrays– avoid detailed manufacturing totally– analogy with memory

Page 62: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava62

Processing Steps in Gate Array Implementations

Page 63: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava63

Gate Array - Sea-of-gates

rows of

cells

routing channel

uncommitted

VD D

GND

polysilicon

metal

possiblecontact

In1 In2 In3 In4

Out

UncommitedCell

CommittedCell(4-input NOR)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 64: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava64

Sea-of-gate Primitive Cells

NMOS

PMOS

Oxide-isolation

PMOS

NMOS

NMOS

Using oxide-isolation Using gate-isolation

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 65: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava65

Sea-of-gates

Random Logic

MemorySubsystem

LSI Logic LEA300K(0.6 m CMOS)

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 66: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava66

Pre-wired Arrays

Categories of pre-wired arrays (or, field programmable gate arrays)

fuse based (program once) non-volatile EPROM or EEROM based RAM based

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 67: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava67

Programmable Logic Devices

PLA PROM PAL

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 68: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava68

EPLD Block Diagram

Macrocell

Courtesy Altera Corp.

Primary inputs

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 69: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava69

Antifuse

Normally high resistance (> 100 M)

on application of appropriate voltage, the antifuse is changed permanently to a low resistance structure (200-500)

Page 70: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava70

Antifuse-based Actel FPGAsI/O Buffers

P rogram/Test/Diag nostics

I/O Buffers

I/O B

uffe

rs

I/O B

uffe

rs

Vertical ro utes

Rows o f logic m odule s

Routing channels

Standard-cell likefloorplan

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 71: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava71

Detailed Interconnect

Cell

Horizontaltracks

Vertical tracks

Input/output pin

Antifuse

Programmed interconnection

Programming interconnect using anti-fuses

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 72: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava72

Basic Block in Actel FPGA

Page 73: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava73

RAM-based FPGAs

CLB CLB

CLBCLB

switching matrixHorizontalroutingchannel

Vertical routing channel

Interconnect point

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 74: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava74

Basic Block (CLB) in RAM-based FPGAs

R

Q1D

CE

R

Q2D

CE

F

G

F

G

F

G

R

D in

Clock

CE

F

G

A

B/Q1/Q2

C/Q1/Q2

D

A

B/Q1/Q2

C/Q1/Q2

D

E

Combinationa l logic Sto ra ge eleme nts

Any function of up to 4 variables

Any function of up to 4 variables

Courtesy of Xilinx

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 75: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava75

RAM-based FPGA

Xilinx XC4025

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 76: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava76

General Architecture of Xilinx FPGAs

Page 77: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava77

Switch Matrices & Interconnection between CLBs

Page 78: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava78

XC2000 CLB of the Xilinx FPGA

Page 79: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava79

Overview of VLSI Design Styles

Page 80: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava80

Design synthesis

Behavior Structure

Page 81: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava81

Taxonomy of Synthesis TasksA rc hite ctural Le ve l Logic Le ve l C irc uit Lev el

Be

ha

vio

ral

Vie

wS

tru

ctu

ral

Vie

w

Archi tec tu reSynthe sis

LogicSy nthe sis

C irc uitSy nthes is

0

1

3

2

state(i: 1 ..1 6) ::sum = su m*z–1 +coe ff[i]* In*z–1

ab

c x

a

bc1

2

2

4

tp

ab

cx

D

me m

*

fsm

[Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]

Page 82: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava82

Circuit Synthesis

Logic equations transistor schematics selection of circuit style

– complementary static, pass-transistor, dynamic etc. construction of logic network

– e.g. Euler path techniques

Transistor sizing to meet performance constraints

– major impact on area, power, timing subtle process… sensitive to parasitics

– usually circuit modeled by equivalent RC circuit– detailed knowledge of subsequent layout process needed

for estimation of parasitic capacitances

Page 83: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava83

RTL or Logic Synthesis

Generate structural view of a logic level network Many ways of specifying:

FSMs, schematics, boolean equations, HDL etc. Two step process:

technology independent phase– logic optimized using boolean & algebraic manipulation

technology mapping phase

Page 84: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava84

Evolution of RTL Synthesis

2-Level logic minimization Espresso from Berkeley Suited for PLAs & PALs which were used a lot in 80s

Sequential and state-machine synthesis state minimization, state encoding

Multilevel logic synthesis Mis-II from Berkeley standard-cell and FPGA

Full blown RTL synthesis from HDL e.g. Synopsys’s VHDL compiler, Berkeley’s SIS

Page 85: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava85

Example: Multi-level Logic Synthesis

Adder:S = (A B) Ci Co = A.B + A.Ci + B.Ci

Page 86: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava86

Architecture Synthesis

Also called behavior or high-level synthesis Generate architecture from task description

under constraints on area, speed, power etc. Three phases

allocation: figures out busses, execution units etc. assignment: binds behavior operations to hardware

resources scheduling: order of operations

Also, transformations that manipulate input behavior to obtain superior solution

pipelining, parallelization etc.

Page 87: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava87

Example of Architecture Synthesis

;

Page 88: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava88

Alternative Solution

Page 89: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava89

Design-Evaluation Space

Page 90: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava90

Design-Evaluation Space for a Logic Function

Page 91: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava91

Area, Latency, Cycle-time Design Evaluation Space

Page 92: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava92

Another Example of Architecture Synthesis

Page 93: Mani Srivastava UCLA - EE Department mbs@ee.ucla.edu VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4

Copyright 2001 Mani Srivastava93

Alternative Implementations