Microelectronic System Design

Download Report

Transcript Microelectronic System Design

3. ASIC and SOC Design Methods: Structured VLSI Design

Spring 2009 Rajesh K. Gupta

 Circuit Styles  The evolving ASIC Design Methodology

Outline

 References:  Basic Logic Families, Kerry Bernstein, Ch. 7, of A. Chandrakasan

et. al.

book  Chapter 11 of Rabaey book

Basic Logic Families

 Circuit Styles  Different possible circuit

topologies

for a given logic function (from the same set of basic transistor devices)  even within CMOS:

compatible

CMOS styles  Choice determined by design criteria: performance, power consumption, testability, ease of design (analysis)  Available styles  Nonclocked logic (clocked logic discussed after clocking)  example: static combinatorial CMOS, differential cascode voltage-switch logic, pass-transistor logic  generally: low power, ease of automated synthesis, easy timing analysis, reliability and noise immunity, defect tolerance, migration across process.

 Reliability because nodes maintain values (never left to float), direct control of nodal values (noise immunity), switch points can be varied.

Nonclocked: Static Combinatorial CMOS

 Operate under “push-pull” action  Transfer function  similar to the inverter transfer function  unity gain point (UGP)  point on the transfer function where slope is -1  a circuit will attenuate inputs less than the lower UGP and amplify inputs higher than the lower UGP  switch point (SWP)  where Vin = Vout  can be skewed by the effective device sizing by hastening transition in a given direction  noise margin  is the difference between the least positive up level of the preceding stage and the upper UGP of the given stage  or the most positive down level of the previous stage and the lower UGP of the given stage.

Static CMOS

 Delay variations  by the input pattern, by switching history  by the active fanout load  depending upon the channel state, gate-substrate capacitance changes (towards inversion gate-substrate capacitance drops)  signal coupling in interconnect changes fanout load  false switching (consumes about 15% of the total power)  Design rules  Alpha ratio:  ratio of the total output capacitance on a given stage divided by its total input capacitance; (2.7 produces minimum PDP)  Beta ratio:  ratio of a given stage’s PFET W/L to its NFET W/L  NAND n-stack design:  body effect on the top device decreases its drive  device tapering and signal positioning.

Domino CMOS

 Domino logic is evaluated through single-sided transitions  no need for complimentary logic implementations  generally N-FET evaluation trees (smaller area)  To ensure single transitions, all outputs are inverted so that the inputs only make a transition from low to high  several issues related to capacitive coupling, noise immunity and false discharges

Pass-Gate Logic

 Logic evaluation by signal coupling  rather than by signal evaluation and redriving  Generally lower capacitive loads  However, many liabilities  limited fan-in capability  current discharge to ground through a pass-gate must be limited to achieve acceptable low levels at the receiver  excessive fan-out  the driver to pass gates (for example, output inverter driving subsequent pass gates) must be sized for all the paths its serves  noise vulnerability  interconnect coupling can be propagated through a pass gate  Body bias effects reduce available drive  Path protection need for decoders: when used as mux, gate inputs are needed to ensure paths are maintained.

Improved by complementary pass-gate logic (CPL)

Structured VLSI Design

Four Phases in Creating a Chip

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]

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!

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

Levels of Design Abstractions for Each Design Domain

 Architectural  Algorithmic  Module or functional block  Logical  Switch  Circuit  Device  etc.

Design Abstraction Levels

SYSTEM

+

MODULE GATE

V in V out S n+ G

DEVICE

D n+ Adapted from Irwin & Nayaranan’s Slides from PSU. Copyright 2002 J. Rabaey et al."

Design Methodology

  Design process traverses iteratively between behavior, structure, and geometry abstractions CAD tools providing more and more automation

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

A Simplified Flow

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Implementation Choices

Digital Circuit Implementation Approaches Custom Cell-based Semicustom Array-based Standard Cells Compiled Cells Macro Cells Pre-diffused (Gate Arrays) Pre-wired (FPGA's)

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Transition to Automation and Regular Structures Intel 4004 (‘71) Intel 8080 Intel 8085 Intel 8286 Intel 8486

Adapted from Digital Integrated Circuits (2 nd Courtesy Intel Edition). Copyright 2002 J. Rabaey et al."

Cell-based Design (or standard cells)

Routing channel requirements are reduced by presence of more interconnect layers

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Standard Cell - Example

3-input NAND cell (from ST Microelectronics): C = Load capacitance T = input rise/fall time

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Automatic Cell Generation

Initial transistor geometries Placed transistors Routed cell Compacted cell

Adapted from Digital Integrated Circuits (2 nd

Courtesy Acadabra

Edition). Copyright 2002 J. Rabaey et al."

Finished cell

MacroModules

256  32 (or 8192 bit) SRAM Generated by hard-macro module generator

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

“Soft” MacroModules

Synopsys DesignCompiler Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

“Intellectual Property”

A Protocol Processor for Wireless Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Semicustom Design Flow

Pre-Layout Simulation Design Capture HDL Logic Synthesis Behavioral Structural Post-Layout Simulation Circuit Extraction Floorplanning Placement Routing Tape-out

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Physical

The “Design Closure” Problem

Iterative Removal of Timing Violations (white lines)

Courtesy Synopsys

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Macromodules Fixed netlists

Integrating Synthesis with Physical Design

RTL (Timing) Constraints Physical Synthesis Netlist with Place-and-Route Info Place-and-Route Optimization Artwork

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Late-Binding Implementation

Digital Circuit Implementation Approaches Custom Cell-based Standard Cells Compiled Cells Semicustom Macro Cells Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's)

Array-based Pre-diffused (Gate Arrays) Pre-wired (FPGA's)

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Gate Array — Sea-of-gates

V D D

rows of uncommitted cells

GND

polysilicon metal Uncommited Cell routing channel

In

1

In

2

In

3

In

4

Out

Committed Cell (4-input NOR)

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

PMOS Oxide-isolation

Sea-of-gate Primitive Cells

PMOS NMOS NMOS NMOS Using oxide-isolation Using gate-isolation

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Prewired Arrays

Classification of prewired arrays (or field-programmable devices):

 Based on Programming Technique  Fuse-based (program-once)  Non-volatile EPROM based  RAM based  Programmable Logic Style  Array-Based  Look-up Table  Programmable Interconnect Style  Channel-routing  Mesh networks

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

 Normally high resistance (> 100 M  )  on application of appropriate voltage, the antifuse is changed permanently to a low resistance structure (200 500  )

Antifuse

Array-Based Programmable Logic

I

5

I

4

I

3

I

2

I

1

I

0

Programmable OR array

I

3

I

2

I

1

I

0

Programmable OR array

I

5

I

4

I

3

I

2

I

1

I

0

Fixed OR array Programmable AND array

PLA

O

3

O

2

O

1

O

0

Fixed AND array

O

3

O

2

O

1

O

0 PROM Indicates programmable connection Indicates fixed connection

Programmable AND array

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

PAL

O

3

O

2

O

1

O

0

1

X

2

X

1

X

0

Programming a PROM

: programmed node

NA NA f

1

f

0

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

A B

0 1

S F

2-input mux as programmable logic block

Configuration

A

0 0 0 0

X Y Y

1 1 1

B

0

X Y Y

0 0 1 0 0 1

S

0 1 1

X Y X X X Y

1

F=

0

X Y XY XY XY X

1

X Y Y

1

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Logic Cell of Actel Fuse-Based FPGA

A B SA C D SB S

0

S

1 1 1 1

Y Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Look-up Table Based Logic Cell

Out In 00 01 10 11 Out 00 1 1 0 ln1 ln2

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

LUT-Based Logic Cell

4 C 1 ....C

4 D 4 D 3 D 2 D 1 Logic function of xxx F 4 F 3 F 2 F 1 x xxxxx Logic function of xxx

Xilinx 4000 Series

xx Logic function of xxx x xx xx xx xx xxxx xxxx xxxx Bits control x xx x xxxx xx x x xx xx xx xx xx xx x Bits control x xx x x xxxx xx H P xx xx x Multiplexer Controlled by Configuration Program x

Adapted from Digital Integrated Circuits (2 nd

Courtesy Xilinx

Edition). Copyright 2002 J. Rabaey et al."

M

Array-Based Programmable Wiring

Interconnect Point Programmed interconnection

Cell

Input/output pin Horizontal tracks Vertical tracks

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Mesh-based Interconnect Network

Switch Box Connect Box Interconnect Point Courtesy Dehon and Wawrzyniek

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Transistor Implementation of Mesh

Courtesy Dehon and Wawrzyniek

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Hierarchical Mesh Network

Use overlayed mesh to support longer connections Reduced fanout and reduced resistance

Courtesy Dehon and Wawrzyniek

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Primary inputs

EPLD Block Diagram

Macrocell

Adapted from Digital Integrated Circuits (2 nd

Courtesy Altera

Edition). Copyright 2002 J. Rabaey et al."

Altera MAX

Adapted from Digital Integrated Circuits (2 nd

From Smith97

Edition). Copyright 2002 J. Rabaey et al."

LAB1

Altera MAX Interconnect Architecture

column channel row channel t PIA LAB2 LAB PIA t PIA LAB6

Array-based (MAX 3000-7000) Mesh-based (MAX 9000)

Adapted from Digital Integrated Circuits (2 nd

Courtesy Altera

Edition). Copyright 2002 J. Rabaey et al."

Field-Programmable Gate Arrays Fuse-based

I/O Buffers Program/Test/Diagnostics Vertical routes Standard-cell like floorplan Rows of logic modules Routing channels I/O Buffers

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Xilinx 4000 Interconnect Architecture

CLB 2 12 Quad 4 4 8 4 8 4 2 Long Global Clock Long Double Single Global Clock Carry Chain Direct Connect 3 12 8 4 3 Quad Single Double Long Direct Connect Long

Adapted from Digital Integrated Circuits (2 nd

Courtesy Xilinx

Edition). Copyright 2002 J. Rabaey et al."

RAM-based FPGA

Adapted from Digital Integrated Circuits (2 nd

Courtesy Xilinx

Edition). Copyright 2002 J. Rabaey et al."

Xilinx XC4000ex

Architecture ReUse

 Silicon System Platform  Flexible architecture for hardware and software  Specific (programmable) components  Network architecture  Software modules   Rules and guidelines for design of HW and SW Has been successful in PC’s  Dominance of a few players who specify and control architecture  Application-domain specific (difference in constraints)  Speed (compute power)  Dissipation  Costs  Real / non-real time data

Adapted from Digital Integrated Circuits (2 nd Edition). Copyright 2002 J. Rabaey et al."

Platform-Based Design

 A platform is a restriction on the space of possible implementation choices, providing a well-defined abstraction of the underlying technology for the application developer  New platforms will be defined at the architecture micro-architecture boundary  They will be component-based, and will provide a range of choices from structured-custom to fully programmable implementations  Key to such approaches is the representation of communication in the platform model

Adapted from Digital Integrated Circuits (2 nd

Source:R.Newton

Edition). Copyright 2002 J. Rabaey et al."

Heterogeneous Programmable Platforms

FPGA Fabric Embedded memories Embedded PowerPc Hardwired multipliers

Xilinx Vertex-II Pro

High-speed I/O

Adapted from Digital Integrated Circuits (2 nd

Courtesy Xilinx

Edition). Copyright 2002 J. Rabaey et al."

 Hierarchy

Principles of Structured Design Techniques

 Regularity  Modularity  Locality

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA

Example of Structural Hierarchy

Source: Mani Srivastava, UCLA

Example of Physical Hierarchy

Source: Mani Srivastava, UCLA

Example of Structural Hierarchy

Source: Mani Srivastava, UCLA

Example of Physical Hierarchy

Source: Mani Srivastava, UCLA

Repartitioning Structural Hierarchy to Fit Physical Hierarchy

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA

Circuit-level Regularity Example

   A 2-1 Mux D-type edge triggered flipflop One-bit full add All designed using inverter and tristate buffer

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA

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

Source: Mani Srivastava, UCLA