Top Banner
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
20

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

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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)