Chapter 1 VLSI Design Methods

49 downloads 998 Views 815KB Size Report
Chapter 1. VLSI Design Methods. Jin-Fu Li. Advanced Reliable Systems (ARES) Laboratory. Department of Electrical Engineering. National Central University.
Chapter 1 VLSI Design Methods

Jin-Fu Li Advanced Reliable Systems (ARES) Laboratory Department of Electrical Engineering National Central University Jhongli, Taiwan

Outline  Introduction  VLSI Design Flows & Design Verification  VLSI Design Styles  System-on-Chip Design Methodology

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

2

Complexity & Productivity Growth of ICs  Complexity grows 58%/yr (doubles every 18 mos)  Productivity grows 21%/yr (doubles every 31/2 yrs) unless

methodology is updated Complexity and Productivity Growth 10,000,000

100,000,000

1,000,000

10,000,000

Productivity

100,000

1,000,000

10,000

100,000

1,000

10,000

100

1,000

10 1980 Advanced Reliable Systems (ARES) Lab.

Produc tiv ity Tra ns is tors /Sta ff M onth

C om ple xity Tra ns istors per C hip (K )

Com plexity

100 1985

1990

1995

2000

2005

Jin-Fu Li, EE, NCU

2010

[Source: MITRE] 3

VLSI Design Methodologies  Design methodology Process for creating a design  Methodology goals Design cycle Complexity Performance Reuse Reliability

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

4

IC Community Design rules

Silicon

Simulation models and parameters

IC

foundry

Mask layouts

design

Integrated circuits

CAD Process information

tool

Software tools

provider [M. M. Vai, VLSI design]

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

5

System to Silicon Design System Requirements

Algorithm

Hardware Architecture

Synthesis

X[k] = Σ x[n]e-j2 πk/N

System Integration

x[n] = Σ X[k]e+j2 πk/N

Σ

Fabricate and Test

Physical

Design For Test Observe

Co nt ro l

[Source: MITRE] Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

6

Y-Chart Structural Domain

Behavioral Domain Processor

Algorithm

Register ALU

FSM Module Description

Leaf Cell Transistor

Boolean Equ.

Mask Cell Placement

Module Placement Chip Floorplan

Physical Domain Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

7

VLSI Design Flow Concept

Design Validation

RTL Verification

Logic Verification

Designer

Final Product

Behavior Specification

Manufacturing

Behavior Synthesis

Layout (Masks)

RTL Design

Layout Synthesis

Logic Synthesis

Netlist (Logic Gates)

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

Product Verification

Layout Verification

8

Behavioral Synthesis & RTL Synthesis 4 cycles=16 ns

Behavioral Synthesis 3 cycles=15 ns

Vary clock period

HDL

Vary # clock cycles

z = a(i) × b(i) − c × d (k ) + f

2 cycles=20 ns

Multiple Architectures

RTL Synthesis 1 cycle=50 ns

Vary clock period 1 clock cycle

Single Architecture Source: Synopsys Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

9

Behavioral Synthesis (Resource Allocation)  Source code defines the functionality y_real := a_real * b_real - a_imag * b_imag y_imag := a_real * b_imag + a_imag * b_real

 Constraints allow designer to explore different architectures,

trading off speed vs. area  Two possible implementations for a complex multiplier:

Fast, but large

Small, but slow

(4 mult, 1 add, 1 sub)

(1 mult, 1 add/sub)

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

[Source: MITRE] 10

Behavioral Synthesis (Retiming)  Allows designer to trade off latency for throughput by adding and moving registers in order to meet timing constraints  Specification needs to include registers at functional boundaries, without regard to register-to-register timing: software takes care of optimizing register placement Compiled Functional Description

Circuit After Behavioral Retiming > create_clock clk -period 10 > pipeline_design -stages 3

register tp = 0.5

> optimize_registers

tp=5

tp=23.0

tp=8.7

tp=9.5

Max. Speed= 1/23.0 nSec = 43 MHz

Max. Speed= 1/10 nSec = 100 MHz

Latency

Latency

= 1 clock cycle

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

= 3 clock cycles

[Source: MITRE] 11

Verification The four representations of the design  Behavioral, RTL, gate level, and layout

In mapping the design from one phase to another, it is likely that some errors are produced  Caused by the CAD tools or human mishandling of the tools

Usually, simulation is used for verification, although more recently, formal verification has been gaining in importance Two types of simulations are used to verify the design  Functional simulation & timing simulation

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

12

DFT Flow Behavioral Description Behavioral DFT Synthesis RTL Description

Technology Mapping Layout

Logic DFT Synthesis Gate Description

Parameter Extraction Manufacturing

Test Pattern Generation Low

Gate

Fault Coverage ?

Product Test Application

High Good Product

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

13

Design Styles – Full Custom A B Z

Vss

Vdd z

B

A

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

14

Design Styles – Programmable Logic Array AND array

OR array

Buffering

Buffering Outputs

Inputs Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

15

Design Styles – Gate Array Cell 1

Cell 2

Cell 3

Cell 4

Cell 5

Cell 6

Cell 7

Cell 8

Cell 9

Cell 10

Cell 11

Cell 12

Cell 13

Cell 14

Cell 15

Cell 16

Cell 17

Cell 18

Cell 19

Cell 20

Cell 21

Cell 22

Cell 23

Cell 24

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

16

Design Styles – Field Programmable Gate Array (FPGA) Xilinx SRAM-based FPGA Configurable Logic Block (CLB) I/O Block Routing channel

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

17

Design Styles – Field Programmable Gate Array (FPGA) Xilinx XC4000 Configurable logic block

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

18

Design Styles – Field Programmable Gate Array (FPGA) SRAM-based programmable switch

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

19

Design Styles – Field Programmable Gate Array (FPGA)  Architecture of Altera FLEX 10K FPGA FastTrack Interconnect I/O

I/O

I/O

I/O

EAB

Logic Array Block (LAB)

I/O

I/O

I/O

I/O

Embedded Array Block I/O

EAB I/O

I/O

Advanced Reliable Systems (ARES) Lab.

I/O

Jin-Fu Li, EE, NCU

20

Design Styles – Field Programmable Gate Array (FPGA) Logic array block

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

21

Standard-Cell Design Styles Cell 1

Cell 6

Cell 2

Cell 7

Cell 8

Cell 13 Advanced Reliable Systems (ARES) Lab.

Cell 3

Cell 4

Cell 9

Cell 14

Cell 5

Cell 10

Cell 11

Cell 12

Cell 15

Cell 16

Cell 17

Jin-Fu Li, EE, NCU

22

Standard-Cell Design Styles Design entry  Enter the design into an ASIC design system, either using a hardware description language (HDL) or schematic entry

An example of Verilog HDL module fadder(sum,cout,a,b,ci); output sum, cout; input a, b, ci; reg sum, cout;

ci

always @(a or b or ci) begin sum = a^b^ci; cout = (a&b)|(b&ci)|(ci&a); end endmodule Advanced Reliable Systems (ARES) Lab.

b

a

fadder

cout

sum

Jin-Fu Li, EE, NCU

23

Design Styles – Comparison Design Styles

Advantages

Disadvantages

Full-custom

- Compact designs; - Improved electrical characteristics;

- Very time consuming; - More error prone;

Semi-custom

-Well-tested standard cells which can be shared between users; -Good for bottom-up design;

-Can be time consuming to built-up standard cells; -Expensive in the short term but cheaper in long-term costs;

-Fast implementation; -Easy updates;

-Can be wasteful of space and pin connections; -Relatively expensive in large volumes;

FPGA

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

24

Emergence of SOC Idea Motivation:  Transistor density  Moor's law

Integration with analog parts  AMS specification, synthesis, simulation

SoC Design Methodology and Tools  Filling the Gap through

Source: Synopsys

Reuse Design Automation System Specification Methodology

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

25

What’s a System?

System

[Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

26

What’s a System? Customer’s view: System = User/Customer-specified functionality + requirements in terms of: Cost, Speed, Power, Dimensions, Weight, …

Designer’s view: System = HW components +SW modules

[Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

27

Hierarchical Design Flow for an System Chip

Specification Hardware Architecture Detail Design

Requirements and specification Architecture Hardware Design

Software Design

Specification Software Architecture Module Design

Integration

Integration

Integration

Test

System test

Test

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

28

HDL’s & SDL’s: Requirements  HDL’s  HardwareC  Verilog  AHDL  VHDL

SDL’s C Pascal ADA

[Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

29

HDL’s & SDL’s: Realization Hardware Program

Software Program Compilation

Synthesis

Operating System

[Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

30

HDL’s & SDL’s: Features Any SW-realizable algorithm is HW-realizable as well.

Hardware Realization

Software Realization

 Speed  Energy Efficiency  Cost Efficiency (in high volumes)

 Flexibility  Ease of Development  Ease of Test and Debug  Cost = SW + Processor

[Source: M. Gudarzi]

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

31

HW-SW Co-design  How much SW + how much HW?  Objectives: Power Speed Area Memory space Time-to-market

 Implementation platform: Collection of chips on a board (MCM) …

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

32

HW/SW Co-Design Methodology Must architect hardware and software together: provide sufficient resources; avoid software bottlenecks.

Can build pieces somewhat independently, but integration is major step. Also requires bottom-up feedback

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

33

HW/SW Co-design Main Topics Synthesis System

H

System

S

OS Specification

Verification

[Source: M. Gudarzi] Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

34

[Source: M. Gudarzi]

System Specification

Verification

Co-Synthesis Partitioning HW Parameter

SW Parameter

Estimation

Estimation

HW Synthesis

Verification

SW Synthesis Verification

ASIC

OS EXE Code

Advanced Reliable Systems (ARES) Lab.

System Integration Jin-Fu Li, EE, NCU

Verification

Final Verification 35

SOC Design Essentials Realization strategy:  Automated HW-SW Co-design + Reusable Cores  Intellectual Property: IP Cores

IP Core Examples:  Processors: PowerPC, 680x0, ARM, …  Controllers: PCI, …  DSP Processors: TI  ...

IP Core Categories:  Soft Cores: HDL, SW/HW Cores  Firm Cores: Synthesized HDL  Hard Cores: Layout for a specific fabrication process

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

36

Trends and Challenges of SOC Designs Technology trends  3D technology + System-in-package

Architecture trends  Regular architectures, e.g., multi-core architecture  Network-on-chip communication

Challenges  Power  Reliability  Yield  Design-for-manufacturability …

Advanced Reliable Systems (ARES) Lab.

Jin-Fu Li, EE, NCU

37