20
1 ECE 667 - Synthesis & Verification - I mplementation ECE 667 ECE 667 Spring 2007 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation Design Implementation

ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

1

ECE 667 - Synthesis & Verification - Implementation

ECE 667ECE 667Spring 2007Spring 2007

Synthesis and Verificationof Digital Circuits

Design ImplementationDesign Implementation

Page 2: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 2

Implementation ChoicesImplementation Choices

Custom

Standard CellsCompiled Cells Macro Cells

Cell-based

Pre-diffused(Gate Arrays)

Pre-wired(FPGA's)

Array-based

Semicustom

Digital Circuit Implementation Approaches

Page 3: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 3

The Custom Approach The Custom Approach

Intel 4004

Courtesy Intel

Page 4: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 4

Transition to Automation and Regular StructuresTransition to Automation and Regular Structures

Intel 4004 (‘71)Intel 4004 (‘71)Intel 8080Intel 8080 Intel 8085Intel 8085

Intel 8286Intel 8286 Intel 8486Intel 8486Courtesy Intel

Page 5: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 5

Intel Pentium (IV) microprocessorIntel Pentium (IV) microprocessor

Page 6: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 6

Cell-based Design (or standard cells)Cell-based Design (or standard cells)

Routing channel requirements arereduced by presenceof more interconnectlayers

Functionalmodule(RAM,multiplier,…)

Routingchannel

Logic cellFeedthrough cellR

ow

s o

f ce

lls

Page 7: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 7

Standard Cell Layout Methodology – 1980sStandard Cell Layout Methodology – 1980s

signals

Routingchannel

VDD

GND

Page 8: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 8

Standard Cell – The New GenerationStandard Cell – The New Generation

Cell-structurehidden underinterconnect layers

Page 9: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 9

Standard Cell - ExampleStandard Cell - Example

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

Page 10: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 10

Automatic Cell GenerationAutomatic Cell Generation

Courtesy Acadabra

Initial transistorgeometries

Placedtransistors

Routedcell

Compactedcell

Finishedcell

Page 11: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 11

Pre-diffused(Gate Arrays)

Pre-wired(FPGA's)

Array-based

Array based designArray based design

Page 12: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 12

Gate Array — Sea-of-gatesGate Array — Sea-of-gates

rows of

cells

routing channel

uncommitted

VDD

GND

polysilicon

metal

possiblecontact

In1 In2 In3 In4

Out

UncommitedCell

CommittedCell(4-input NOR)

Page 13: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 13

Sea-of-gate Primitive CellsSea-of-gate Primitive Cells

NMOS

PMOS

Oxide-isolation

PMOS

NMOS

NMOS

Using oxide-isolation Using gate-isolation

Page 14: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 14

A Historical Perspective: the PLAA Historical Perspective: the PLA

x0 x1 x2

ANDplane

x0x1

x2

Product terms

ORplane

f0 f1

Page 15: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 15

Two-Level LogicTwo-Level Logic

Inverting format (NOR-NOR) more effective

Every logic function can beexpressed in sum-of-productsformat (AND-OR)

minterm

Page 16: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 16

Programmable Logic ArrayProgrammable Logic Array

GND GND GND GND

GND

GND

GND

VDD

VDD

X0X0 X1 f0 f1X1 X2X2

AND-plane OR-plane

Pseudo-NMOS PLA

Page 17: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 17

““Soft” MacroModulesSoft” MacroModules

Synopsys DesignCompiler

Page 18: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 18

““Intellectual Property”Intellectual Property”

A Protocol Processor for Wireless

Page 19: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 19

Semicustom Design FlowSemicustom Design Flow

HDLHDL

Logic SynthesisLogic Synthesis

FloorplanningFloorplanning

PlacementPlacement

RoutingRouting

Tape-out

Circuit ExtractionCircuit Extraction

Pre-Layout Simulation

Pre-Layout Simulation

Post-Layout Simulation

Post-Layout Simulation

StructuralStructural

PhysicalPhysical

BehavioralBehavioralDesign Capture

Des

ign

Iter

atio

nD

esig

n It

erat

ion

Page 20: ECE 667 - Synthesis & Verification - Implementation 1 ECE 667 Spring 2007 ECE 667 Spring 2007 Synthesis and Verification of Digital Circuits Design Implementation

ECE 667 - Synthesis & Verification - Implementation 20

The “Design Closure” ProblemThe “Design Closure” Problem

Courtesy Synopsys

Iterative Removal of Timing Violations (white lines)