VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten...

59
MIN-Fakultät Fachbereich Informatik – VLSI- und Systementwurf – Methoden und Werkzeuge https://tams.informatik.uni-hamburg.de Andreas Mäder Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Fachbereich Informatik Technische Aspekte Multimodaler Systeme Oktober 2017 A. Mäder 1

Transcript of VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten...

Page 1: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

MIN-FakultätFachbereich Informatik

– VLSI- und Systementwurf –Methoden und Werkzeuge

https://tams.informatik.uni-hamburg.de

Andreas Mäder

Universität HamburgFakultät für Mathematik, Informatik und NaturwissenschaftenFachbereich InformatikTechnische Aspekte Multimodaler Systeme

Oktober 2017

A. Mäder 1

Page 2: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Die folgenden Folien sind ein überarbeiteter Auszug aus der bis2011 angebotenen Vorlesung 64-613 Rechnerarchitekturen undMikrosystemtechnik

Das komplette Material findet sich unterhttps://tams.informatik.uni-hamburg.de/lectures/2011ws/

vorlesung/ram

A. Mäder 2

Page 3: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

GliederungEntwurfsmethodik VLSI- und Systementwurf

1. EntwurfsmethodikMotivationAbstraktion im VLSI-EntwurfVorgehensweise

2. EDA-Werkzeuge3. Entwurfsstile

A. Mäder 3

Page 4: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s LawEntwurfsmethodik - Motivation VLSI- und Systementwurf

Moore’s Law Gordon Moore, Mitgründer von Intel, 1965

Speicherkapazität von ICs vervierfacht sich alle drei Jahre

Gordon Moore 1965:„Cramming more components onto integrated circuits“

⇒ schnelles exponentielles Wachstum⇒ bei gleicher Funktion kleinere und billigere Chips⇒ bei gleicher Größe leistungsfähigere ChipsA. Mäder 4

Page 5: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

Transistoren pro Speicherchip

[TA14]

I Vorhersage: 60% jährliches Wachstum der Transistoranzahl pro IC

A. Mäder 5

Page 6: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

Evolution der Prozessoren

[TA14]

Modell Typ Jahr #Trans.Xeon Broadwell E5 v4 Intel CPU 2016 7,2Mrd.Sparc M7 Oracle CPU 2015 > 10,0Mrd.GP100 Pascal Nvidia GPU 2016 15,3Mrd.Stratix 10 Intel (Altera) FPGA 2016 > 30,0Mrd.

A. Mäder 6

Page 7: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und KonsequenzenEntwurfsmethodik - Motivation VLSI- und Systementwurf

Technologischer FortschrittI Verkleinerung der Strukturbreite

2007 ITRS Product Technology Trends - Half-Pitch, Gate-Length

1.0

10.0

100.0

1000.0

1995 2000 2005 2010 2015 2020 2025

Year of Production

Pro

du

ct H

alf-

Pit

ch, G

ate-

Len

gth

(n

m)

DRAM M1 1/2 Pitch

MPU M1 1/2 Pitch(2.5-year cycle)

Flash Poly 1/2 Pitch

MPU Gate Length -Printed

MPUGate Length -Physical

MPU M1.71X/2.5YR

Nanotechnology (<100nm) Era Begins -1999

GLpr IS =1.6818 x GLph

MPU & DRAM M1& Flash Poly

.71X/3YR

Flash Poly.71X/2YR

Gate Length.71X/3YR

Before 1998.71X/3YR

After 1998.71X/2YR MPU M1

.71X/2.5YR

Nanotechnology (<100nm) Era Begins -1999

GLpr IS =1.6818 x GLph

GLpr IS =1.6818 x GLph

MPU & DRAM M1& Flash Poly

.71X/3YR

Flash Poly.71X/2YR

Gate Length.71X/3YR

Before 1998.71X/3YR

After 1998.71X/2YR

[ITRS07]

A. Mäder 7

Page 8: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und Konsequenzen (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

I höhere Integrationsdichte

2007 ITRS Product Function Size Trends - Cell Size, Logic Gate(4t) Size

1.E-04

1.E-03

1.E-02

1.E-01

1 E+00

1 E+01

2000 2005 2010 2015 2020 2025

Year of Production

Cel

l, L

og

ic G

ate

Siz

e(u

m2

)

DRAM Cell Size (u2)

Flash Cell Size (u2)SLC

Flash Eqv.bit Size(u2)2bit MLC

Flash Eqv.bit Size(u2)4bit MLC - New

MPU Gate Size(4t)(u2)

MPU SRAM Cell Size(6t)(u2)

[ITRS07]

A. Mäder 8

Page 9: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und Konsequenzen (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

I mehr Funktionen pro IC

Average Industry"Moores Law“ :

2x Functions/chip Per 2 Years

2007 ITRS Product Technology Trends - Functions per Chip

1.E-02

1.E-01

1.E+00

1.E+01

1.E+02

1.E+03

995 2000 2005 2010 2015 2020 2025

Year of Production

Pro

du

ct

Fu

nct

ion

s/C

hip

[ G

iga

(10

^9

) -

bit

s, t

ran

sis

tors

]

Flash Bits/Chip (Gbits)Multi-Level-Cell (4bitMLC)

Flash Bits/Chip (Gbits)Multi-Level-Cell (2bitMLC)

Flash Bits/Chip (Gbits)Single-Level-Cell (SLC )

DRAM Bits/Chip (Gbits)

MPU GTransistors/Chip- high-performance (hp)

MPU GTransistors/Chip- cost-performanc (cp)

Average Industry"Moores Law“ :

2x Functions/chip Per 2 Years

[ITRS07]

A. Mäder 9

Page 10: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und Konsequenzen (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

Neue ApplikationenI von Standardbausteinen zu ASICs und SystemenI digitale Anwendungen

70 80 90 00

Eingebettete Systeme

Signalverarbeitung

Applikationsspezifische ICs

Coprozessoren, Grafik

Glue-Logic

Prozessoren, Speicher

Gatter Standardbausteine

ASICs

A. Mäder 10

Page 11: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und Konsequenzen (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

I Erweiterungen durch Integration neuer TechnologienI SpeicherI analoge SchaltungenI Micromechanik / -Sensorik

A. Mäder 11

Page 12: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und Konsequenzen (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

Übergang zu Systemen: SoC (System on a Chip)More than Moore: Diversification

Combining SoC and SiP: Higher Value SystemsBas

elin

e C

MO

S:

CP

U, M

emo

ry, L

og

ic

Biochips SensorsActuators

HVPowerAnalog/RF Passives

130nm

90nm

65nm

45nm

32nm

22nm...V

Beyond CMOS

Mo

re M

oo

re:

Min

iatu

riza

tio

n

Information Processing

Digital contentSystem-on-chip

(SoC)

Interacting with people and environment

Non-digital contentSystem-in-package

(SiP)

[ITRS07]

A. Mäder 12

Page 13: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Moore’s Law: Antrieb und Konsequenzen (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

Neue AnwendungsfelderI „Computing“I „Consumer Products“I „Automotive“I „Telecommunication“I „mobile Applications“

Neue Methoden und Werkzeuge im ChipentwurfI enges Zusammenwirken mit der technischen Entwicklung und

den Anforderungen durch die Applikationen

A. Mäder 13

Page 14: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Wie wird Entworfen?Entwurfsmethodik - Motivation VLSI- und Systementwurf

Hardwareentwurf

A. Mäder 14

Page 15: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Wie wird Entworfen?Entwurfsmethodik - Motivation VLSI- und Systementwurf

Hardwareentwurf

. . . so nichtmeistens

A. Mäder 14

Page 16: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Wie wird Entworfen?Entwurfsmethodik - Motivation VLSI- und Systementwurf

Hardwareentwurf

A. Mäder 15

Page 17: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Wie wird Entworfen?Entwurfsmethodik - Motivation VLSI- und Systementwurf

Hardwareentwurf

. . . so auch nicht

A. Mäder 15

Page 18: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Wie wird Entworfen?Entwurfsmethodik - Motivation VLSI- und Systementwurf

10Rr/ 100 100

01Rg/

Timer =− 1

Timer:=TFuss

01010

Yr/

Timer:=TAuto

11010

RYr/

10Gr/

Timer =− 1

001

AnfrageTimer>0

AnfrageTimer=0

Anfrage Timer=0

Timer>0Anfrage

Hardwareentwurf

. . . sondern so

A. Mäder 16

Page 19: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Wie wird Entworfen? (cont.)Entwurfsmethodik - Motivation VLSI- und Systementwurf

mainP: process (clk, rst) istype stateTy is (Gr, Yr, Rr, Rg, RYr);variable timer : integer range 0 to maxWalkC;variable state : stateTy;variable request : boolean;

beginif rst = ’0’ then -------------------------- async. reset

liCar <= "001"; liWalk <= "10";state := Gr;timer := 0;request := false;

elsif rising_edge(clk) then -------------------------- clock edgecase state iswhen Gr => ------------------------------------------ Green + red

liCar <= "001"; liWalk <= "10";if (reqWalk = ’1’) then request := true; -- store requestend if;if (timer > 0) then timer := timer - 1; -- no timeoutelsif request then state := Yr; -- timeout and requestend if;

when Yr => ------------------------------------------ Yellow + redliCar <= "010"; liWalk <= "10";timer := maxWalkC -1; -- init. timerstate := Rr;

when Rr => ------------------------------------------ Red + red...

A. Mäder 17

Page 20: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-EntwurfEntwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

Logik

Schaltkreis

Algorithmisch

Architektur

RT-Schematic

elektrisches Schaltbild

Netzliste, Schematic

Blockschaltbild

Netzwerk

Algorithmen

Register-Transfer

Boole'sche Gleichungen

Differenzialgleichungen Transistoren

Polygone

Moduln

Floorplan

Cluster

Systempartitionierung

Geometrie

Systemspezifikation

Struktur

Modul

CPU, Speicher

VerhaltenFunktional

Gatter, FF

ALU, Register

D. Gajski, R. Kuhn 1983:„New VLSI Tools“

Y-Diagramm / Gajski-DiagrammI visualisiert AbstraktionsebenenI Sichtweisen

1. Funktion /Verhalten

2. Struktur3. Geometrie

A. Mäder 18

Page 21: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-Entwurf (cont.)Entwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

Abstraktionsebenen− keine einheitliche Bezeichnung in der LiteraturI

Datenbus

Adressbus

SpeicherCPU I/OControl

ArchitekturebeneI Funktion/Verhalten LeistungsanforderungenI Struktur Netzwerk

aus Prozessoren, Speicher, Busse, Controller . . .I Nachrichten Programme, ProtokolleI Geometrie Systempartitionierung

A. Mäder 19

Page 22: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-Entwurf (cont.)Entwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

I

control

flags

AB

DB

STWOPW CPU

Hauptblockebene (Algorithmenebene, funktionale Ebene)I Funktion/Verhalten Algorithmen, formale FunktionsmodelleI Struktur Blockschaltbild

aus Hardwaremodule, Busse . . .I Nachrichten ProtokolleI Geometrie Cluster

A. Mäder 20

Page 23: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-Entwurf (cont.)Entwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

I

enDBAccu

ResALU aluOp

DB

ldAccu

OPW

Register-Transfer EbeneI Funktion/Verhalten Daten- und Kontrollfluss, Automaten . . .I Struktur RT-Diagramm

aus Register, Multiplexer, ALUs . . .I Nachrichten Zahlencodierungen, Binärworte . . .I Geometrie Floorplan

A. Mäder 21

Page 24: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-Entwurf (cont.)Entwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

I

ALU

Logikebene (Schaltwerkebene)I Funktion/Verhalten Boole’sche GleichungenI Struktur Gatternetzliste, Schematic

aus Gatter, Flipflops, Latches . . .I Nachrichten BitI Geometrie Moduln

A. Mäder 22

Page 25: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-Entwurf (cont.)Entwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

I

vdd

gnd

o

i1

i2

elektrische Ebene (Schaltkreisebene)I Funktion/Verhalten DifferentialgleichungenI Struktur elektrisches Schaltbild

aus Transistoren, Kondensatoren . . .I Nachrichten Ströme, SpannungenI Geometrie Polygone, Layout → physikalische Ebene

A. Mäder 23

Page 26: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Abstraktion im VLSI-Entwurf (cont.)Entwurfsmethodik - Abstraktion im VLSI-Entwurf VLSI- und Systementwurf

I physikalische Ebene (geometrische Ebene)I Funktion/Verhalten partielle DGLI Struktur Dotierungsprofile

A. Mäder 24

Page 27: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

EntwurfsvorgehenEntwurfsmethodik - Vorgehensweise VLSI- und Systementwurf

I Unterscheidung von Struktur und VerhaltenI Auf jeder Abstraktionsebene gibt es elementare Einheiten mit

definiertem VerhaltenI Entwurfsaufgabe

I ein gegebenes Verhalten in eine Strukturbeschreibung (auselementaren Einheiten) der jeweiligen Ebene umzusetzen

I jede dieser Einheiten ist ihrerseits in der nächst niedrigerenAbstraktionsebene entsprechend zu realisieren

⇒ hierarchischer Entwurf, top-down⇒ top-down: typisches Entwurfsvorgehen⇒ bottom-up: Einflüsse auf höhere Abstraktionsebenen

I ZeitverhaltenI SchaltungstechnikenI ArithmetikenI . . .

A. Mäder 25

Page 28: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfsvorgehen (cont.)Entwurfsmethodik - Vorgehensweise VLSI- und Systementwurf

I Zentrale Bedeutung der Simulation, bzw. der VerifikationI Entwurf als iterativer Prozess

I Alternativen: „exploring the design-space“I VersionenI Teamarbeit

A. Mäder 26

Page 29: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

GliederungEDA-Werkzeuge VLSI- und Systementwurf

1. Entwurfsmethodik2. EDA-Werkzeuge

Hierarchischer EntwurfWerkzeugeProbleme

3. Entwurfsstile

A. Mäder 27

Page 30: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Hierarchischer EntwurfEDA-Werkzeuge - Hierarchischer Entwurf VLSI- und Systementwurf

Nur durch neue Methoden und Werkzeuge konnte dieProduktivität beim Chipentwurf während der letzten Jahre mitMoore’s Law mithaltenI Änderungen in der Entwurfsmethodik

Struktur ⇒Verhaltengrafische Eingabe⇒Hardwarebeschreibungssprachen

I Entwurf auf höheren AbstraktionsebenenI Automatische Transformationen bis zum Layout

I Synthese: Register-Transfer, High-LevelI Datenpfad-/MakrozellgenerierungI ZellsyntheseI Platzierung & Verdrahtung

A. Mäder 28

Page 31: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

EntwurfswerkzeugeEDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

Abstraktion

Hierarchie

Verhaltensbeschreibung

Strukturbeschreibung

KonstruktionSynthese

StrukturelementStrukturelement

Verhaltensbeschreibung

Strukturbeschreibung

KonstruktionSynthese

Strukturbeschreibung

Extraktion

Verifikation

Simulation

Regelüberprüfung

Verifikation

Simulation

Regelüberprüfung

A. Mäder 29

Page 32: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfswerkzeuge (cont.)EDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

I Synthese= automatische Generierung von Strukturbeschreibungen

aus VerhaltensmodellenI Trend: IP-Komponenten (Intellectual Property) und

„behavioral Code“I RT-Ebene

Algorithmisch

Architektur

RT-Schematic

elektrisches Schaltbild

Netzliste, Schematic

Blockschaltbild

Netzwerk

Algorithmen

Transistoren

Systemspezifikation

Struktur

Modul

CPU, Speicher

VerhaltenFunktional

Gatter, FF

ALU, Register

Differenzialgleichungen

Register-Transferund Logiksynthese

A. Mäder 30

Page 33: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfswerkzeuge (cont.)EDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

I High-Level Synthese

Algorithmisch

Architektur

RT-Schematic

elektrisches Schaltbild

Netzliste, Schematic

Blockschaltbild

Netzwerk

Transistoren

Systemspezifikation

Struktur

Modul

CPU, Speicher

VerhaltenFunktional

Gatter, FF

ALU, Register

Differenzialgleichungen

High-Level Synthese

I Einschränkung des „Suchraums“I spezielle ZielarchitekturenI spezielle AnwendungsfelderI Datenflussdominiert DSPs

Kontrollflussdominiert Prozessoren

A. Mäder 31

Page 34: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfswerkzeuge (cont.)EDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

I CoDesign → CoSynthese

Algorithmisch

Architektur

RT-Schematic

elektrisches Schaltbild

Netzliste, Schematic

Blockschaltbild

Netzwerk

Transistoren

Struktur

Modul

CPU, Speicher

Verhalten

Gatter, FF

ALU, Register

Differenzialgleichungen

HW/SW CoSynthese ?

I Partitionierung Hardware / Software ?I nur manuell möglich

A. Mäder 32

Page 35: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfswerkzeuge (cont.)EDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

I SimulationI Trend: wachsender Aufwand, SystemsimulationI Problem der Simulationsauswertung ⇒ auch dort Abstraktion

I Programmiersprachen-Schnittstellen (VHPI, Verilog-PLI . . . )Beispiele: Signalverarbeitung Bildverarbeitung

I HardwarebeschleunigungI Emulation von Gatternetzlisten durch FPGA-BoardsI Beispiel: Betriebssystem auf Simulationsmodell vom

Mikroprozessor booten (Sun Microsystems)I gemischte Simulation

I Hardware- und SoftwareI auf verschiedenen AbstraktionsebenenI + IP-ModelleI + analoge Modelle

I AnalysewerkzeugeI LeistungsverbrauchI TimingI jeweils: statisch, geschätzt oder in Verbindung mit Simulation

A. Mäder 33

Page 36: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfswerkzeuge (cont.)EDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

I Verifikation, wenn möglich= Verifikation: Aussagen gelten für alle möglichen Eingaben

Simulation: Beschränkung auf StimuliI formale Methoden, um Eigenschaften zu überprüfenI meist Vergleich verschiedener Modelle

I in Verbindung mit ExtraktionI Referenzmodell, woher?

I Ersatz von SimulationenI Layoutwerkzeuge / Platzierung & Verdrahtung

I NP-vollständige Probleme⇒ Heuristiken⇒ sehr starke Spezialisierung, z.B. Routing bei Standardzell

Entwürfen:1. Verdrahtung der Spannungsversorgung: Power-Routing2. Clock-Tree Synthese / -Routing3. zeitkritische Netze bearbeiten: „constraint driven“ Routing4. normale Verdrahtung5. nachträgliche Optimierung: DRC-Fehler, thermische Modelle . . .

A. Mäder 34

Page 37: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Entwurfswerkzeuge (cont.)EDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

I Test des Entwurfs= Testbarkeit: Fertigungsfehler (physikalisch) feststellen

Simulation: Überprüfung der FunktionI Ziel: defekte ICs aussortieren, vor Verpackung in GehäuseI Problem

I alle internen Leitungen/Gatter ansprechenI nur die Padzellen sind direkt zugänglich

I Fehlermodelle: „stuck-at“, bridging, open . . .I Verfahren um Testbarkeit zu gewährleisten

I Selbsttest, z.B. BIST (Build In Self Test)I Scan-Path: Flipflops als SchieberegisterI . . .

I Dabei wird zusätzliche Logik integriert (bis zu 30%)I (teil-)automatisch bei der Synthese

I Fehlersimulation: überprüft die Fehlerüberdeckung„Wie viele Fehler können erkannt werden?“

I Testmustergenerierung: erzeugt automatisch Testvektoren

A. Mäder 35

Page 38: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Simulation: BeispielSignalverarbeitung – digitales FilterEDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

Simulation

A. Mäder 36

Page 39: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Simulation: BeispielBildverarbeitung – SegmentierungEDA-Werkzeuge - Werkzeuge VLSI- und Systementwurf

Simulation

A. Mäder 37

Page 40: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

ProblemeEDA-Werkzeuge - Probleme VLSI- und Systementwurf

Moore’s Law heißt in der PraxisI Entwurf immer größerer und komplexerer Systeme− Produktivitätssteigerungen

A. Mäder 38

Page 41: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Probleme (cont.)EDA-Werkzeuge - Probleme VLSI- und Systementwurf

− Entwurfskosten

A. Mäder 39

Page 42: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Probleme (cont.)EDA-Werkzeuge - Probleme VLSI- und Systementwurf

I Geänderte SystemanforderungenI PerformanzI GrößeI ökonomische RandbedingungenI Low-Power: Leistungsaufnahme, Abwärme . . .I Umgebung: EMV, Temperatur, mechanische Eigenschaften . . .

− Wie können all diese Anforderungen (formal) spezifiziert werden?

A. Mäder 40

Page 43: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

GliederungEntwurfsstile VLSI- und Systementwurf

1. Entwurfsmethodik2. EDA-Werkzeuge3. Entwurfsstile

Full-CustomMakro- und StandardzellentwurfGate-Array Entwurfprogrammierbare Logik: PLDs, FPGAsVergleich

A. Mäder 41

Page 44: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

EntwurfsstileEntwurfsstile VLSI- und Systementwurf

I mehrere Möglichkeiten Schaltungen zu entwerfenI Unterscheidungsmerkmale

I Zeitaufwand: Entwurfsdauer, FertigungszeitI Kosten: Fertigung, pro Stück, EDA-WerkzeugeI IC-Eigenschaften: Größe, Taktfrequenz, Leistungsaufnahme . . .

I EntwurfsstileI Full-CustomI StandardzellI Gate-ArrayI FPGA / programmierbare Schaltungen

A. Mäder 42

Page 45: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Full-CustomEntwurfsstile - Full-Custom VLSI- und Systementwurf

Vollkundenspezifischer Entwurf / Full-CustomI Layout aller geometrischer StrukturenI viel manuelle Arbeit mit Layout-EditorenI optimal kleine, schnelle EntwürfeI sehr lange Entwurfsdauer (Effizienz)I Ausnutzen von RegularitätI Teamarbeit nötig, SchnittstellenI erfordert erfahrene Entwerfer

A. Mäder 43

Page 46: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Full-Custom (cont.)Entwurfsstile - Full-Custom VLSI- und Systementwurf

A. Mäder 44

Page 47: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

MakrozellentwurfEntwurfsstile - Makro- und Standardzellentwurf VLSI- und Systementwurf

MakrozellentwurfI Zellen wie Speicher, ALUs oder Datenpfade werden über

Generatoren erzeugtI Makrozellen in Full-Custom QualitätI meist in Verbindung mit Standardzellentwurf

Chipgröße variabelZellenanzahl variabelZellengröße variabelAnschlusslage variabelLeiterbahnkanäle variabel

Padzelle

Makrozelle

A. Mäder 45

Page 48: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

StandardzellentwurfEntwurfsstile - Makro- und Standardzellentwurf VLSI- und Systementwurf

StandardzellentwurfI vorgefertigte Zellen aus Bibliotheken benutzenI Layout der Standardzellen in Full-Custom QualitätI schneller flexibler EntwurfI meist in Verbindung mit Makrozellgeneratoren

Chipgröße variabelZellenanzahl variabelZellenhöhe festZellenbreite variabelAnschlusslage variabelLeiterbahnkanäle variabel

Padzelle

Makrozelle

StandardzelleVerdrahtungskanalZellzeile

A. Mäder 46

Page 49: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Standardzellentwurf (cont.)Entwurfsstile - Makro- und Standardzellentwurf VLSI- und Systementwurf

Schematic Zell-Layout

A. Mäder 47

Page 50: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Standardzellentwurf (cont.)Entwurfsstile - Makro- und Standardzellentwurf VLSI- und Systementwurf

Standardzell Layout

A. Mäder 48

Page 51: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Gate-Array EntwurfEntwurfsstile - Gate-Array Entwurf VLSI- und Systementwurf

Gate-Array / Sea-of-Gate Entwurf abgelöst durch FPGAI vorgefertigte TransistorenI Layout durch Verbindungsstruktur (Verdrahtung, Kontakte)I intra-Zell Verdrahtung aus ZellbibliothekenI vorgegebene Master: Komplexität eingeschränkt, VerschnittI schnelle Verfügbarkeit

Chipgröße festZellenanzahl festZellengröße festAnschlusslage festLeiterbahnkanäle fest

Padzelle

Transistorgruppen

A. Mäder 49

Page 52: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Gate-Array Entwurf (cont.)Entwurfsstile - Gate-Array Entwurf VLSI- und Systementwurf

Gate-Array

A. Mäder 50

Page 53: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

programmierbare SchaltungenEntwurfsstile - programmierbare Logik: PLDs, FPGAs VLSI- und Systementwurf

programmierbare Schaltungen: FPGA, PLD, LCA . . .I fertig vorgegebene Schaltung: Logik und VerbindungsstrukturI Entwurf: Programmierung durch Anwender ⇒ sofort verfügbarI Einschränkung durch vorgegebene StrukturI Rekonfiguration möglichI in-Circuit programmierbar

Chipgröße festBlockanzahl festAnschlusslage festVerbindungsnetz festBlockfunktion progr.Verbindungen progr.

LB

Sw

Sw Sw

Sw

LB

LB LB

LB

LB

LB

LB

LB

I/O-Bereich

Logic-Block

Verbindungsstruktur

A. Mäder 51

Page 54: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Vergleich der EntwurfsstileEntwurfsstile - Vergleich VLSI- und Systementwurf

Tabellarische Übersicht

Stil Perfo

rmanz

Fläche

Koste

n(IC

)Ko

sten(D

esign

)tim

e-to-Market

Prozesssc

hritte

Stückzahlen

Full-Custom +++ +++ +++ −−− −−− voll 105

Standard-/Makrozell ++ ++ ++ −− −− voll 104

Gate-Array + ◦ + ◦ ◦ 4-10 103

programmierbare Logik − −− −− ++ +++ 0 < 103

A. Mäder 52

Page 55: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Vergleich der Entwurfsstile (cont.)Entwurfsstile - Vergleich VLSI- und Systementwurf

Wirtschaftlichkeitsüberlegungen – Tendenz !

10 100 1000 10000 100000

Stückzahl

Kosten

100000

1000000

10000

Full-Custom

Standardzell

Gate-Array

FPGA

A. Mäder 53

Page 56: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Vergleich der Entwurfsstile (cont.)Entwurfsstile - Vergleich VLSI- und Systementwurf

Faktoren bei der AuswahlI KostenüberlegungenI Entwurfsdauer: „time-to-Market“I technische Randbedingungen, oft als K.O.-Kriterium

I FlächeI LeistungsaufnahmeI Sicherheitsaspekte

I organisatorische RandbedingungenI vorhandene WerkzeugeI Know-HowI „Faktor: Mensch“ (Erfahrungen, Vorlieben)

⇒ vielfältige Wechselwirkungen

A. Mäder 54

Page 57: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

LiteraturlisteLiteraturliste VLSI- und Systementwurf

[BE95] Abdellatif Bellaouar, Mohamed I. Elmasry:Low-power digital VLSI design: circuits and systems.Kluwer Academic Publishers; Boston, MA, 1995.ISBN 0–7923–9587–5

[ITRS07] International Technology Roadmap for Semiconductors –2007 Edition.Semiconductor Industry Association.

[ITRS13] International Technology Roadmap for Semiconductors –2013 Edition.Semiconductor Industry Association.

[ITRS15] International Technology Roadmap for Semiconductors –ITRS Reports.Semiconductor Industry Association, 2015.URL www.itrs2.net/itrs-reports.html

A. Mäder 55

Page 58: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Literaturliste (cont.)Literaturliste VLSI- und Systementwurf

[MC80] Carver Mead, Lynn Conway:Introduction to VLSI systems.Addison-Wesley; Reading, MA, 1980.ISBN 0–201–04358–0

[She95] Naveed A. Sherwani:Algorithms for VLSI physical design automation.Kluwer Academic Publishers; Boston, MA, 1995.ISBN 0–7923–9592–1

[TA14] Andrew S. Tanenbaum, Todd Austin:Rechnerarchitektur – Von der digitalen Logik zumParallelrechner.Pearson Deutschland GmbH, Hallbermoos, 2014.ISBN 978–3–86894–238–5

A. Mäder 56

Page 59: VLSI- und Systementwurf: Methoden und Werkzeuge · Struktur Modul CPU, Speicher Verhalten Funktional Gatter, FF ALU, Register ... I/O Control Architekturebene I Funktion/Verhalten

Literaturliste (cont.)Literaturliste VLSI- und Systementwurf

[T+90] Donald E. Thomas [u. a.]:Algorithmic and register-transfer level synthesis:the system architect’s workbench.Kluwer Academic Publishers; Boston, MA, 1990.ISBN 0–7923–9053–9

[WE94] Neil H. E. Weste, Kamran Eshraghian:Principles of CMOS VLSI design: a systems perspective.Addison-Wesley; Reading, MA, 1994.ISBN 0–201–53376–6

A. Mäder 57