christopher batten - cornell university · • standard-cell •soc/platformgate-arrayprog...

55
ECE 5745 Complex Digital ASIC Design Topic 5: Automated Design Methodologies Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745

Upload: others

Post on 16-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

ECE 5745 Complex Digital ASIC DesignTopic 5: Automated Design Methodologies

Christopher Batten

School of Electrical and Computer EngineeringCornell University

http://www.csl.cornell.edu/courses/ece5745

Page 2: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA Comparison

Part 1: ASIC Design Overview

P P

MM

Topic 1Hardware

DescriptionLanguages

Topic 2CMOS Devices

Topic 3CMOS Circuits

Topic 4Full-Custom

DesignMethodology

Topic 5Automated

DesignMethodologies

Topic 7Clocking, Power Distribution,

Packaging, and I/O

Topic 8Testing and Verification

Topic 6Closing

theGap

Topic 5Automated

DesignMethodologies

ECE 5745 T05: Automated Design Methodologies 2 / 55

Page 3: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA Comparison

Automated Design Methodologies

Automate transformations fromBehavioral to Structural Domain and fromStructural to Physical Domain

Adapted from [Ellervee’04]

ECE 5745 T05: Automated Design Methodologies 3 / 55

Page 4: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA Comparison

Design Principles in Automated Methodologies

I Modularity: Use modularity to enable mixing different custom andautomated methodologies

I Hierarchy: Use hierarchy to more efficiently handle automaticallytransforming large designs

I Encapsulation: Automated methodologies have a significantly higheremphasis on encapsulation in all domains (behavoral, structural,physical) at all levels of abstraction: architecture-, register-transfer-,and gate-level

I Regularity: Use regularity to create automated tools to generatestructures like datapaths and memories

I Extensibility: Automated methodologies enable more highlyparameterized and flexible implementations improving extensibility

ECE 5745 T05: Automated Design Methodologies 4 / 55

Page 5: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA Comparison

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 5 / 55

Page 6: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 6 / 55

Page 7: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell-Based Design

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 7 / 55

Page 8: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Example Standard Cell

Adapted from [SAED’11,Weste’11]

ECE 5745 T05: Automated Design Methodologies 8 / 55

Page 9: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell-Based Flow CAD Algorithms

RTL to LogicSynthesis

TechnologyIndependent

Synthesis

TechnologyDependentSynthesis

x = a'bc + a'bc'y = b'c' + ab' + ac

x = a'by = b'c' + ac

Placement

DetailedRouting

GlobalRouting

Topic 12Synthesis Algorithms

Topic 13Physical Design Automation

ECE 5745 T05: Automated Design Methodologies 9 / 55

Page 10: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell-Based Front-End Flow

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 10 / 55

Page 11: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell-Based Back-End Flow

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 11 / 55

Page 12: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Older Standard-Cell ASICS

Limited metal layers requirededicated routing channels andfeedthrough cells

Adapted from [Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 12 / 55

Page 13: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Modern Standard-Cell ASICS

Increasing number of metal layers allow cells to behidden under interconnect

Adapted from [Weste’11,Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 13 / 55

Page 14: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Libraries

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 14 / 55

Page 15: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Libraries

Cell logic models, containing cell functionality, pins, area, timing, power Used for circuit constructions, timing, power and area optimizations

Cell description coding

Description simulation

Logic Synthesis

Formal Verification (RTL Vs Gates)

Pre-layout STA

Timing OK?

Floorplanning, Placement & Routing

Formal Verification (Layout vs.synthesized Netlist)

Post-layout Simulation

Timing OK?

Finished design

Specification

yes

yes

no

no

Cell Library Cell physical model (Abstract view): cell size, pin locations, pin directions Used by physical synthesis

Cell physical view: Original cell layout Used to build layout of finished design

Cell descriptions: Behavioral (Verilog) and transistor level(SPICE) Used to simulate completed design at the required level

Adapted from [Melikyan]

ECE 5745 T05: Automated Design Methodologies 15 / 55

Page 16: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Library Characterization

Adapted from [Melikyan]

ECE 5745 T05: Automated Design Methodologies 16 / 55

Page 17: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Electrical Characterization

I Characterization computes cell parameter (e.g. delay, output current)depending on input variables: output load, input slew, etc.)

I Characterization is performed for various combinations of operatingconditions: process, voltage, temperature (also called PVT corners)

0 . 7

0 . 5

0 . 2

0 . 1

. 023 . 047 . 065 . 078 . 091 output cap

slew

0 . 7

0 . 5

0 . 2

0 . 1

. 023 . 047 . 065 . 078 . 091 output cap

slew

Iout

Cchar

Input Slew

0 . 7

0 . 5

0 . 2

0 . 1

. 023 . 047 . 065 . 078 . 091 output cap

slew

Process: Typical Temp: 25o Voltage: 1.2v

Process: Slow Temp: -40o Voltage: 1.08v

Process: Fast Temp: 125o Voltage: 1.32v

Adapted from [Melikyan]

ECE 5745 T05: Automated Design Methodologies 17 / 55

Page 18: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

ST Microelectronics – 3-Input NAND Gate

Adapted from [Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 18 / 55

Page 19: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Electrical Characterization (.lib)

/* Characterization for a 3-input NAND gate */cell ( NAND3X0 ) {

/* Overall characterization */cell_footprint : "nand3x0";area : 7.3728;cell_leakage_power : 9.151417e+04;

/* Characterization for input pin IN1 */pin ( IN1 ) {direction : "input";

/* Fixed input capacitance */capacitance : 2.190745;

/* Transient capacitance values */fall_capacitance : 2.212771;rise_capacitance : 2.168719;

ECE 5745 T05: Automated Design Methodologies 19 / 55

Page 20: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Electrical Characterization (.lib)

cell ( NAND3X0 ) {pin ( IN1 ) {

/* Short-circuit and internal switchingpower when IN2 and IN3 are zero */

internal_power () {when : "!IN2&!IN3";

/* 1D lookup tables to calculate power asfunction of input slew */

rise_power ( "power_inputs_1" ) {index_1( " 0.0160000, 0.0320000, 0.0640000" );values( "-1.2575404, -1.2594251, -1.2887053" );

}fall_power ( "power_inputs_1" ) {

index_1( " 0.0160000, 0.0320000, 0.0640000" );values( " 1.9840914, 1.9791286, 2.0696119" );

}}

ECE 5745 T05: Automated Design Methodologies 20 / 55

Page 21: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Electrical Characterization (.lib)

cell ( NAND3X0 ) {pin ( QN ) {direction : "output";

/* Boolean logic eq for QN as function of inputs */function : "(IN3*IN2*IN1)’";

timing () {related_pin : "IN1";cell_rise ( "del_1_7_7" ) {

index_1( "0.016, 0.032, 0.064" ); /* Input slew */index_2( "0.1, 3.75, 7.5" ); /* Load cap */

/* Lookup table to calculate delay as non-linearfunction of input signal slew and load cap */

values( "0.0178632, 0.0275957, 0.0374970", \"0.0215562, 0.0316225, 0.0414275", \"0.0261721, 0.0387623, 0.0496870" )

}

ECE 5745 T05: Automated Design Methodologies 21 / 55

Page 22: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

Standard-Cell Physical Characterization

Metal Pins

A B

Y

NAND_1 GND

VDD

Abstract View Layout View

B

VDD

GND

Y

A

Layout View Abstract Physical View

Adapted from [Melikyan]

ECE 5745 T05: Automated Design Methodologies 22 / 55

Page 23: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

• Standard-Cell • SoC/Platform Gate-Array Prog Logic FPGA Comparison

SAED 90 nm Library – NAND Gate Data Sheet

Adapted from [SAED’11]

ECE 5745 T05: Automated Design Methodologies 23 / 55

Page 24: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell • SoC/Platform • Gate-Array Prog Logic FPGA Comparison

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 24 / 55

Page 25: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell • SoC/Platform • Gate-Array Prog Logic FPGA Comparison

System-on-Chip (SoC)

CS250, UC Berkeley Fall ‘11Lecture 02, Introduction 1 21

Hybrids Chip Implementations Abound‣ Ex: standard practice in microprocessors that data-paths are

full-custom and control (instruction decode, pipeline control) in standard-cells. (Less common recently)

Control (“random”) logic difficult to “regularize”. Relatively small percentage of die area/power. Permits late binding of

design changes.

Extra NAND or NOR gates were often added to control section, and some wafers left without metallization, to permit late

design fixes through metal mask revisions (gate-array idea).

CS250, UC Berkeley Fall ‘11Lecture 02, Introduction 1 22

System-on-chip (SOC)

‣ Pre-verified block designs, standard bus interfaces (or adapters) ease integration - lower NREs, shorten TTM.

• Brings together: standard cell blocks, custom analog blocks, processor cores, memory blocks

• Standardized on-chip buses (or hierarchical interconnect) permit “easy” integration of many blocks.– Ex: AMBA, Sonics, …

• “IP Block” business model: Hard- or soft-cores available from third party designers.

• ARM, inc. is the shining example. Hard- and “synthesizable” RISC processors.

• ARM and other companies provide, Ethernet, USB controllers, analog functions, memory blocks, …

SIP, SOP, MCM interesting alternatives.Adapted from [Asanovic’11]

ECE 5745 T05: Automated Design Methodologies 25 / 55

Page 26: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell • SoC/Platform • Gate-Array Prog Logic FPGA Comparison

SoC Hardware/Software Co-Design

Parallel Development ofHardware IP Blocks

IP BlocksHardwareGeneric

System-on-ChipSpecify

IP ModelsSoftwareGeneric

SoftwareHardware/Partition

Software IP ModulesParallel Development of

Electronic System Level Design

PlatformArchitecture

Select

ModulesSoftware IP

Select

IP BlocksHardwarespecific

Application-

Platforminto Architecture

specific IP BlocksIntegrate Application-

ModulesSoftwarespecific

Application-

systemOperating

IP ModulesSoftwareIntegrate

SimulationSoftwareLow-level

Design FlowSoftware

simulationFunctional

Emulation PlatformSoftware Emulation on FPGA-based

Hardware and Low-level

Design FlowHardware

DesignPhysical

DevelopmentSoftware

Application

IC FabricationPrototype

TestSoftware

or Development BoardApplication Prototype

Verification on Hardware/Software

IC FabricationVolume

Ship ICs and Software to Clients

PlatformArchitecture

Co-simulationHardware/Software

Adapted from [Wikipedia]

ECE 5745 T05: Automated Design Methodologies 26 / 55

Page 27: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell • SoC/Platform • Gate-Array Prog Logic FPGA Comparison

SoC Hardware/Software Co-Design

Parallel Development ofHardware IP Blocks

IP BlocksHardwareGeneric

System-on-ChipSpecify

IP ModelsSoftwareGeneric

SoftwareHardware/Partition

Software IP ModulesParallel Development of

Electronic System Level Design

PlatformArchitecture

Select

ModulesSoftware IP

Select

IP BlocksHardwarespecific

Application-

Platforminto Architecture

specific IP BlocksIntegrate Application-

ModulesSoftwarespecific

Application-

systemOperating

IP ModulesSoftwareIntegrate

SimulationSoftwareLow-level

Design FlowSoftware

simulationFunctional

Emulation PlatformSoftware Emulation on FPGA-based

Hardware and Low-level

Design FlowHardware

DesignPhysical

DevelopmentSoftware

Application

IC FabricationPrototype

TestSoftware

or Development BoardApplication Prototype

Verification on Hardware/Software

IC FabricationVolume

Ship ICs and Software to Clients

PlatformArchitecture

Co-simulationHardware/Software

Adapted from [Wikipedia]

ECE 5745 T05: Automated Design Methodologies 27 / 55

Page 28: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell • SoC/Platform • Gate-Array Prog Logic FPGA Comparison

SoC Platform-Based Design

“Only the consumer gets freedom of choice;designers need freedom from choice.” – Orfali

I A platform is a restriction on thespace of possible implementationchoices, providing well-definedabstraction of the underlyingtechnology for the app developer

I New platforms defined atarchitecture/ microarchitectureboundary

I Key to such approaches is therepresentation of communication inthe platform model

Adapted from [ASV’01,Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 28 / 55

Page 29: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform • Gate-Array • Prog Logic FPGA Comparison

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 29 / 55

Page 30: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform • Gate-Array • Prog Logic FPGA Comparison

Gate-Array-Based Design

L08 – Logical Effort and ASIC Design Styles 286.371 – Fall 2002 9/27/02

Gate Arrays

� Can cut mask costs by prefabricating arrays of

transistors on wafers

� Only customize metal layer for each design

[ OCEAN Sea-of-Gates Base Pattern ]

VDD

GND

PMOS

NMOS

� Fixed-size unit transistors

� Metal connections personalize design

Two kinds:

� Channeled Gate Arrays

– Leave space between rows of transistors for routing

� Sea-of-Gates

– Route over the top of unused transistors

PMOS

NMOS

GND

Adapted from [Terman’02]

ECE 5745 T05: Automated Design Methodologies 30 / 55

Page 31: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform • Gate-Array • Prog Logic FPGA Comparison

Gate-Array Fabrication Process

CS250, UC Berkeley Fall ‘11Lecture 02, Introduction 1 15

Gate Array‣ Store prefabricated wafers of “active” & gate layers & local

interconnect, comprising, primarily, rows of transistors. Customize as needed with “back-end” metal processing (contact cuts, vias, metal wires). Could use a different factory.

CS250, UC Berkeley Fall ‘11Lecture 02, Introduction 1 16

Gate Array• Shifts large portion of design and mask NRE to vendor.• Shorter design and processing times, reduced time to market.• Highly structured layout with fixed size transistors leads to large

sub-circuits (ex: Flip-flops) and higher per die costs.• Memory arrays are particularly inefficient, so often prefabricated,

also:

Sea-of-gates, structured ASIC,

master-slice.

Adapted from [Asanovic’11]

ECE 5745 T05: Automated Design Methodologies 31 / 55

Page 32: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform • Gate-Array • Prog Logic FPGA Comparison

Gate-Array Personalization

L08 – Logical Effort and ASIC Design Styles 296.371 – Fall 2002 9/27/02

Gate Array PersonalizationIsolating transistors

by shared GND contact

Isolating transistors with “off” gate

GND

Adapted from [Terman’02]

ECE 5745 T05: Automated Design Methodologies 32 / 55

Page 33: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform • Gate-Array • Prog Logic FPGA Comparison

Gate-Array Example – 3-input NAND Gate

A B C Y

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 33 / 55

Page 34: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 34 / 55

Page 35: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

Array-Based Programmable Logic

Adapted from [Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 35 / 55

Page 36: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

Programming a PROM

Adapted from [Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 36 / 55

Page 37: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

Various Programmability Optionsfor PLA/PROM NOR Structure

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 37 / 55

Page 38: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

PLA Implemented with Dynamic Logic

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 38 / 55

Page 39: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

Modern Complex Programmable Logic Devices

CoolRunner-II CPLD Family

4 www.xilinx.com DS090 (v3.1) September 11, 2008Product Specification

R

path. The BSC and ISP block has the JTAG controller andIn-System Programming Circuits.

Function BlockThe CoolRunner-II CPLD FBs contain 16 macrocells, with40 entry sites for signals to arrive for logic creation and con-nection. The internal logic engine is a 56 product term PLA.All FBs, regardless of the number contained in the device,are identical. For a high-level view of the FB, see Figure 2.

At the high level, the product terms (p-terms) reside in aprogrammable logic array (PLA). This structure is extremely

flexible, and very robust when compared to fixed or cas-caded product term FBs.

Classic CPLDs typically have a few product terms availablefor a high-speed path to a given macrocell. They rely oncapturing unused p-terms from neighboring macrocells toexpand their product term tally, when needed. The result ofthis architecture is a variable timing model and the possibil-ity of stranding unusable logic within the FB.

The PLA is different — and better. First, any product termcan be attached to any OR gate inside the FB macrocell(s).Second, any logic function can have as many p-terms asneeded attached to it within the FB, to an upper limit of 56.Third, product terms can be re-used at multiple macrocellOR functions so that within a FB, a particular logical productneed only be created once, but can be re-used up to 16times within the FB. Naturally, this plays well with the fittingsoftware, which identifies product terms that can be shared.

The software places as many of those functions as it caninto FBs, so it happens for free. There is no need to forcemacrocell functions to be adjacent or any other restrictionsave residing in the same FB, which is handled by the soft-ware. Functions need not share a common clock, commonset/reset, or common output enable to take full advantage ofthe PLA. Also, every product term arrives with the sametime delay incurred. There are no cascade time adders forputting more product terms in the FB. When the FB productterm budget is reached, there is a small interconnect timingpenalty to route signals to another FB to continue creatinglogic. Xilinx design software handles all this automatically.

Figure 1: CoolRunner-II CPLD Architecture

FunctionBlock 1

FunctionBlock n

PLA PLA

I/O B

lock

s

I/O B

lock

s

16 16

40 40

16 FB 16 FB

16 16

I/O Pin MC1MC2

MC16

MC1MC2

MC16

DS090_01_121201

AIM

I/O Pin

I/O Pin

Direct Inputs

BSC and ISP

Clock and Control Signals

BSC Path

Direct Inputs

I/O PinI/O Pin

I/O Pin

JTAG

Figure 2: CoolRunner-II CPLD Function Block

PLA 1640

3

MC1

Out

To AIM

GlobalClocks

GlobalSet/Reset

MC2

MC16

DS090_02_101001

Xilinx CoolRunner-II CPLD: 2–32 PLAs integrated on a single chipPLAs support 40 inputs, 56 product terms, and 16 output terms

PLAs chained together through a programmable “Advanced Interconnect Matrix”Adapted from [Xilinx’08]

ECE 5745 T05: Automated Design Methodologies 39 / 55

Page 40: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array • Prog Logic • FPGA Comparison

CPLD Macro Cell

CoolRunner-II CPLD Family

DS090 (v3.1) September 11, 2008 www.xilinx.com 5Product Specification

R

MacrocellThe CoolRunner-II CPLD macrocell is extremely efficientand streamlined for logic creation. Users can develop sumof product (SOP) logic expressions that comprise up to 40inputs and span 56 product terms within a single functionblock. The macrocell can further combine the SOP expres-sion into an XOR gate with another single p-term expres-sion. The resulting logic expression’s polarity is alsoselectable. As well, the logic function can be pure combina-torial or registered, with the storage element operatingselectably as a D or T flip-flop, or transparent latch. Avail-able at each macrocell are independent selections of global,function block level or local p-term derived clocks, sets,

resets, and output enables. Each macrocell flip-flop is con-figurable for either single edge or DualEDGE clocking, pro-viding either double data rate capability or the ability todistribute a slower clock (thereby saving power). For singleedge clocking or latching, either clock polarity can beselected per macrocell. CoolRunner-II CPLD macrocelldetails are shown in Figure 3. Note that in Figure 4, stan-dard logic symbols are used except the trapezoidal multi-plexers have input selection from statically programmedconfiguration select lines (not shown). Xilinx applicationnote XAPP376 gives a detailed explanation of how logic iscreated in the CoolRunner-II CPLD family.

When configured as a D-type flip-flop, each macrocell hasan optional clock enable signal permitting state hold while aclock runs freely. Note that Control Terms (CT) are availableto be shared for key functions within the FB, and are gener-ally used whenever the exact same logic function would berepeatedly created at multiple macrocells. The CT productterms are available for FB clocking (CTC), FB asynchro-nous set (CTS), FB asynchronous reset (CTR), and FB out-put enable (CTE).

Any macrocell flip-flop can be configured as an input regis-ter or latch, which takes in the signal from the macrocell’sI/O pin, and directly drives the AIM. The macrocell combina-

tional functionality is retained for use as a buried logic nodeif needed. FToggle is the maximum clock frequency to whicha T flip-flop can reliably toggle.

Advanced Interconnect Matrix (AIM)The Advanced Interconnect Matrix is a highly connectedlow power rapid switch. The AIM is directed by the softwareto deliver up to a set of 40 signals to each FB for the cre-ation of logic. Results from all FB macrocells, as well as, allpin inputs circulate back through the AIM for additional con-nection available to all other FBs as dictated by the design

Figure 3: CoolRunner-II CPLD Macrocell

GCK0GCK1GCK2CTC

PTC

PTC

DS090_03_121201

49 P-termsTo PTA, PTB, PTC of other macrocells

CTC, CTR,CTS, CTE

From AIM

4 P-terms

PTA

Direct Inputfrom

I/O BlockFeedback

to AIM

PTB

PTC

PLA OR Term

PTACTSGSRGND

GND

VCC

R

D/T

CE

CK

FIFLatchDualEDGE

QS

40

To I/O Block

PTACTRGSRGND

Adapted from [Xilinx’08]

ECE 5745 T05: Automated Design Methodologies 40 / 55

Page 41: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic • FPGA • Comparison

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 41 / 55

Page 42: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic • FPGA • Comparison

Field-Programmable Gate-Arrays

CS250, UC Berkeley Fall ‘11Lecture 02, Introduction 1 17

Field Programmable Gate Arrays

‣ Fuses, EPROM, or Static RAM cells are used to store the “configuration”.

‣ Here, it determines function implemented by LUT, selection of Flip-flop, and interconnection points.

‣ Many FPGAs include special circuits to accelerate adder carry-chain and many special cores: RAMs, MAC, Enet, PCI, SERDES, ...

Two-dimensional array of simple logic- and interconnection-blocks.

Typical architecture: LUTs implement any function of n-inputs (n=3 in this case).

Optional Flip-flop with each LUT.

CS250, UC Berkeley Fall ‘11Lecture 02, Introduction 1 18

Traditional FPGA versus ASIC argument (circa 2000)

• ASIC: High NRE costs ($2M for 0.35um chip). Relatively Low cost per die.

• FPGAs: Very low NRE costs. Relatively low silicon efficiency ⇒ high cost per part.

• Cross-over volume from cost effective FPGA design to ASIC in the 10K range.

volume

totalcost

FPGAs cost effective

ASICs costeffective

FPGA

ASIC

Adapted from [Asanovic’11]

ECE 5745 T05: Automated Design Methodologies 42 / 55

Page 43: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic • FPGA • Comparison

Simplified FPGA Floorplan

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 43 / 55

Page 44: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic • FPGA • Comparison

Simplified FPGA Combinational Logic Block

Adapted from [Weste’11]

ECE 5745 T05: Automated Design Methodologies 44 / 55

Page 45: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Agenda

Standard-Cell-Based Design

System-on-Chip Platform-Based Design

Gate-Array-Based Design

Programmable Logic-Based Design

Reprogrammable Logic-Based Design

Comparison and Hybrids

ECE 5745 T05: Automated Design Methodologies 45 / 55

Page 46: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Operation Binding Time

FullCustom

FirstMask

GateArray

MetalMasks

StandardCell

FirstMask

SoCPlatform

FirstMask

Prog.Logic

FuseProgram

Reprog.Logic

LoadConfig

μprocDSP

LoadProgram

"Hardware" "Software"

Later Binding Time

I Earlier the operation is bound, the less area, delay, and energyrequired for the implementation

I Later the operation is bound, the more flexible the device

Adapted from [Asanovic’11]

ECE 5745 T05: Automated Design Methodologies 46 / 55

Page 47: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Comparison of Specific Design Methodologies

Design Unit Power Impl Time toMethod NRE Cost Disp Compl Market Perf Flex

Full Custom VHigh Low Low High High VHigh Low

Standard Cell High Low Low High High High Low

SoC Platform High Low Low Med High High Med

Gate Array Med Med Low Med Med Med Med

Prog Logic Low High Med Low Low Med Med

Reprog Logic Low High Med Med Low High High

µProc/DSP Low High High Low Low Low VHigh

ECE 5745 T05: Automated Design Methodologies 47 / 55

Page 48: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

ASIC vs. FPGA

I Traditional Argument. ASIC: High NRE ($2M for 0.35 µm chip),

low marginal cost, best effeciency

. FPGA: Low NRE, high marginal cost,lower effeciency

. Cross-over point: around 10,000

I Current Trends. ASIC: Increasing NRE ($40M for 90 nm

chip) due to design costs, verificationcosts, mask costs, etc

. FPGA: Better able to track Moore’s law,integrating fixed function blocks

. Cross-over point: around 100,000

Volume

Tota

l Cost

FPGA

ASIC

Volume

Tota

l Cost

FPGA

ASIC

Adapted from [Asanovic’11]

ECE 5745 T05: Automated Design Methodologies 48 / 55

Page 49: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Scale – ASIC with Pre-Placement & SRAMs

ECE 5745 T05: Automated Design Methodologies 49 / 55

Page 50: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

T0 – Full Custom w/ Standard Cells

L19 – Case Study T0 156.371 – Fall 2002 11/8/02

T0 Die Breakdown

VP0

VP1VMP

Vector Registers

MIPS DP I$Control Logic Switched to HP CMOS 26G

process late in design• used 1.0µm rules in 0.8µm process• only used 2 out of 3 metal layers

16.75x16.75mm2

730,701 transistors4W typical @ 5V, 40MHz12W maximum

Performance:320MMAC/s640MB/s

Adapted from [Terman’02]

ECE 5745 T05: Automated Design Methodologies 50 / 55

Page 51: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Application-Specific IC – Full Custom w/ Standard Cell

L01 – VLSI Overview 166.371 – Fall 2002 09/04/02

Implementation strategies

Standard cell: predefined gates,

automatically placed and routed.

In .5u o 10K fets/mm2

Full custom: custom “cells” meant to be

stacked in columns to create N-bit wide

datapath. Signals between columns routed

across cells. In .5u o 25K/mm2

RAM Generator: one cell iterated many times

perhaps surrounded by driver/sensing logic.

Basic structure stays the same, only dimensions

change. In .5u o 45K/mm2 for multiport regfile

One could just start drawing transistors, but this quickly becomes hopeless

with a chip of any size. Instead we’ll use one of the following strategies:

Adapted from [Terman’02]

ECE 5745 T05: Automated Design Methodologies 51 / 55

Page 52: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Xilinx Vertex-II Pro – FPGA w/ Hard Processor

Adapted from [Rabaey’02]

ECE 5745 T05: Automated Design Methodologies 52 / 55

Page 53: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Altera HardCopy – FPGA to Gate-Array-Like Tapeout

© 2008 Altera Corporation—Public

Altera, Stratix, Arria, Cyclone, MAX, HardCopy, Nios, Quartus, and MegaCore are trademarks of Altera Corporation

7

HardCopy/Stratix Design Flow

Astro

Stratix

placement

and routing

HardCopy placement and

global routing

Synthesis

RTL code

Timing constraints

Stratix database

HardCopy database

Formal verification

HardCopy Design Center

PrimeTime SI

Conformal

TetraMax

HardCopy fab,

assembly, and test

System bring-up

Software/ hardware co-design

Design handoff

Tape- out

Bitstream Prototyping System

available

Synopsys

Cadence

Synopsys

Synopsys

Adapted from [Mansur’08]

ECE 5745 T05: Automated Design Methodologies 53 / 55

Page 54: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Acknowledgments

I [Asanovic’11] K. Asanovic, J. Wawrzynek, and J. Lazzaro, UCBerkeley CS 250 VLSI Systems Design, Lecture Slides, 2011.

I [ASV’01] A.L. Sangiovanni-Vincentelli, “Platform-Based Design”, UCBerkeley White Paper, 2001.

I [Mansur’08] D. Mansur, “Stratix IV FPGA and HardCopy IV ASIC @40 nm,” Hot Chips, Aug. 2008.

I [Melikyan] V. Melikeyan, “IC Design Introduction”, Lecture Slides,Synopsys Curriculum Materials.

I [Rabaey’02] J. Rabaey et al., Companion Slides for “Digital IntegratedCircuits: Design Perspective,” 2nd ed, Prentice Hall, 2002.

ECE 5745 T05: Automated Design Methodologies 54 / 55

Page 55: Christopher Batten - Cornell University · • Standard-Cell •SoC/PlatformGate-ArrayProg LogicFPGAComparison Standard-Cell Electrical Characterization I Characterization computes

Standard-Cell SoC/Platform Gate-Array Prog Logic FPGA • Comparison •

Acknowledgments

I [SAED’11] “Standard Cell Lib SAED EDK90 CORE Databook”,Synopsys, 2011.

I [Terman’02] C. Terman and K. Asanovic, MIT 6.371 Introduction toVLSI Systems, Lecture Slides, 2002.

I [Weste’11] N. Weste and D. Harris, “CMOS VLSI Design: A Circuitsand Systems Perspective,” 4th ed, Addison Wesley, 2011.

I [Xilinx’08] CoolRunner-II CPLD Family,” Xilinx DataSheet, 2008.http://www.xilinx.com/support/documentation/data_

sheets/ds090.pdf

ECE 5745 T05: Automated Design Methodologies 55 / 55