Schaltkreis- und Systementwurf - TU Dresden · • Praktikum: Implementierung eines Prozessors •...
Transcript of Schaltkreis- und Systementwurf - TU Dresden · • Praktikum: Implementierung eines Prozessors •...
Elektrotechnik und Informationstechnik, Stiftungsprofessur hochparallele VLSI Systeme und Neuromikroelektronik
Schaltkreis- und Systementwurf
Folie Nr. 2
• Dr.-Ing. Sebastian Höppner
• Raum TOE216
• https://tu-dresden.de/ing/elektrotechnik/iee/hpsn
• Vorlesungsfolien unter:
• https://tu-dresden.de/ing/elektrotechnik/iee/hpsn/studium/materialien
19.10.2017
Folie Nr. 3
Schaltkreis- und Systementwurf
• Entwurf von integrierten Schaltkreisen („Chips“) als Kernbestandteil moderner Elektronikprodukte
• Realisierung komplexer Schaltungen auf einem Chip ermöglicht:
• Hohe Funktionalität
• Hohe Integrationsdichte
• Geringe Verlustleistung
• Hohe Zuverlässigkeit
• Die Verkleinerung der Fertigungstechnologien ermöglicht die Integration immer komplexerer Systeme
• Herausforderung bei Entwurf und Verifikation
19.10.2017
Folie Nr. 4
Komplexes Multiprozessor-System-on-Chip
• „Tomahawk2“ Software-Defined-Radio Basisbandprozessor
• 36 mm² Chipfläche in 65nm CMOS Technologie
• 465 Pads
• 10,2 Millionen Gatter
• 750kByte SRAM
• 20 Prozessorkerne
• Adaptives und dynamisches Power-Management
• 17 Taktgeneratoren
• Network-on-Chip mit seriellen on-chip links mit bis zu 72GBit/s Datenrate
• DDR2 Speicherinterface
• FPGA Interface mit 10GBit/s
19.10.2017
„Tommy“
DDR2 RAM IF
DDR2 RAM IF
FP
GA
In
terfa
ce
FEC
SP
HD
EC
AP
P c
ore
CM
core
Duo PE Duo PE
Duo PEDuo PE
Duo PE Duo PE
Duo PEDuo PE
R3
R0
R2
R1
M
serial on-chip link (72GBit/s) local ADPLL clock generator
JTAG, AVFS controller
Entwickelt durch die Professuren HPSN, und Vodafone Chair (Prof. Fettweis) im CoolBaseStations Projekt
Folie Nr. 5
Inhalt der Lehrveranstaltung
• Entwurfsablauf integrierter digitaler Schaltungen
• Realisierung von Algorithmen in Hardware
• Hardwarebeschreibungssprache Verilog
• Schaltungssimulation und Verifikation
• Digitale Schaltungen in CMOS Technologie
19.10.2017
Folie Nr. 6
1
2
3
4
REGA REGB
MUL1
×
REGC REGD
MUL2
×
ADD1
+
ADD2
+
NEG
A B CDD
E F
H
REGD1
REGD2
REGE
I
G
BRANCH?J
TU Dresden, 18.10.2011
Abstr
aktion
Specification
RTL
Netlist
Layout
ASIC
Design Entry
Synthesis
Place&Route
Manufacturing
Functional Verification
Timing/SignOff Verification
Test
Tape-Out
S_IDLE (00)
S_CALC (01)
S_COMP (10)
S_UNUSED (11)
Z1=0Z2=0
A1=0
A1=1
A2=0A2=1Z1=XZ2=X
Z1=0Z2=1
„don‘t care“
27.01.2016
a3 b3
p3g3 p2g2 p1g1 p0g0
CLA Logic
Adder Logic
g0,ing1,0
g1,ing2,in
g3,in
g3,0
g3,2g2,1
p3,0
p3,2 p2,1 p1,0
a2 b2 a1 b1 a0 b0 c0
s3s2 s1 s0
PG
GG
//Addierermodule adder (sum_o, c_o, c_i, a_i, b_i) ;
parameter C_DWIDTH=4;
input [C_DWIDTH-1:0] a_i, b_i;input c_i;output [C_DWIDTH-1:0] sum_o;output c_o;
assign {c_o, sum_o} = a_i + b_i + c_i;endmodule
VSS
D
VDD
VSS
VDD
Q
QIN_MS
VDD
VSS
VSS
VDD
CNC
CN
CN
C C
VSS
VDD
QIN_SL
VDD
VSS
VSS
VDD
C
C
CN CN
QI_MS QI_SL
Master Slave
Inhalt der Lehrveranstaltung
Folie Nr. 7
Ablauf
• Wintersemester: 2/1/0, Sommersemester: 0/0/2
• Wintersemester:
• Vorlesung: Do. 2.DS, Ort: BAR/205/H
• Übung: Mi. 4.DS, Ort: GER/038/H
Konsultation zur Belegarbeit
• Praktikum: Fr. 4.DS, Ort: TOE/201
Infos und Termine siehe Webseite
Einführungspraktikum und betreutes Praktikum zur individuellen Arbeit am Beleg
• Sommersemester:
• Praktikum: Zeit: ???, Ort: TOE/201
Betreutes Praktikum zur individuellen Arbeit am Beleg
19.10.2017
Einführung ins Praktikum und Belegarbeit:
Mittwoch: 18.10.2017, 4.DS, Ort: GER/038/H
Folie Nr. 8
Belegarbeit
19.10.2017
• Realisierung eines selbst gewählten Algorithmus in Hardware
• Referenzimplementierung in Software
• Architekturentwicklung (Scheduling, Datenpfad, Ablaufsteuerung)
• Implementierung der Schaltung mittels Datenpfadbaublöcken
• Verifikation durch Schaltungssimulation
• Synthese und Place&Route der Schaltung
• Schriftlicher Beleg (Details in der Übung!)
• Elektronische Abgabe (.pdf)
• Abgabe:
• Prüfungseinschreibung in dem Semester in dem Abgabe erfolgt!
• Abgabe bis 15.09. (SS) bzw. 15.03. (WS)
Folie Nr. 9
Lernziele
• Diese Lehrveranstaltung wird
• den Design Flow für digitale integrierte Schaltungen vorstellen
• Methoden zur Implementierung von Algorithmen in Hardware vorstellen
• Grundlagen und Konzepte der Verilog HDL vorstellen
• Verifikationsstrategien vermitteln
• Vertiefende Grundlagen zur Realisierung digitaler Schaltungen in CMOS Technologien vermitteln
• Praktische Erfahrung in der Implementierung einer digitalen Schaltung vermitteln
• Anregung zum Selbststudium geben
19.10.2017
Folie Nr. 10
Weitere Lehrveranstaltungen der Professur
• VLSI Prozessorentwurf
• RTL Entwurf eines Prozessors
• Simulation und Verifikation
• Top-Down Design RTL2GDS Flow (Synthese, Timing Analyse, Place&Route, Power Analyse, Sign-off Analyse)
• Praktikum: Implementierung eines Prozessors
• VHDL-Entwurf (Oberseminar Informationstechnik)
• Einführung in Entwurf, Modellierung, Verifikation mittels VHDL
• Vorstellung von Aufgaben und Lösungsansätzen aus aktuellen Forschungsarbeiten des Lehrstuhls
• Referate der Teilnehmer zu ihren Beleg-Projekten
• Neuromorphe VLSI-Systeme
• Entwurfsmethoden für integrierte analoge CMOS-Schaltungen und deren Schaltungsdimensionierung
• Neuromorphe VLSI-Systeme und deren neurobiologische Grundlagen, Anwendungen z.B. in Brain-Machine-Interfaces
• Praktikum zur Erstellung und Analyse von analogen und neuromorphen CMOS-Schaltungen mit der Entwurfssoftware Cadence DF2
19.10.2017
Folie Nr. 1119.10.2017
Anwendungsspezifische Integrierte Schaltungen (ASICs)
Folie Nr. 12
ASICs
19.10.2017
Quelle: Tobias G. Noll, Thorsten von Sydow, Bernd Neumann, Jochen Schleifer, Thomas Coenen, and Gotz Kappen “Reconfigurable Components for Application-Specific Processor Architecture” in Dynamically ReconfigurableSystems, Springer, 2010
Folie Nr. 13
Beispiel System-on-Chip: TI OMAP5430
19.10.2017
Quelle: anandtech.com
GP Prozessor
DSP
ASIC
Folie Nr. 14
Entwurfsstile
19.10.2017
• Full-Custom Design
• Manuelle Eingabe von Schaltplan (schematic) und Layout
• Vorteile:
Detaillierte Optimierungen möglich
• Nachteile:
Geringe Produktivität
• Anwendungen:
Analoge und Mixed-Signal Schaltungen
Grundelemente digitaler Schaltungen (Standardzellen, I/O Zellen, Speicher)
Speziell optimierte digitale Schaltungen (z.B. High-speed, Ultra-Low-Power)
• Semi-Custom Design
• Manuelle Eingabe einer Hardwarebeschreibung (HDL)
• (Teil-) automatisierte Erzeugung der Entwurfsdaten (Netzliste, Layout)
• Vorteile:
Sehr hohe Produktivität
• Nachteile:
Eingeschränkte Optimierung von Schaltungseigenschaften
• Anwendungen:
Komplexe Digitale Schaltungen
Systems-on-Chip
Folie Nr. 15
Beispiel: Entwurfsstile (System-on-Chip Blizzard)
19.10.2017
• 28nm SoC Blizzard
• Entwickelt bei TUD-HPSN im CoolPower Projekt (mit ZMDI)
• Prozessor mit adaptivem Power Management (AVFS)
• On-Chip DC/DC Wandler
• Hierarchisches Design
• Entwurfsstile:
• Full-Custom
• Semi-Custom
Capacitor and Decoder Array(140µm x 100µm)
Com
para
tor
Digital Control(75µm x 14µm)
SampleSwitch
Row
-Latc
hes
Column-Latches
4bitsub-DAC
coupling capacitor
SAR ADC
FlipFlop
Folie Nr. 16
Kommerzielle Aspekte des ASIC und SoC Designs
19.10.2017
• Anforderungen (Spezifikation)• Kunden• Preis des Chips• Entwicklungszeit (Time-to-Market)
• Architekturentscheidung
• Technologieentscheidung
• Package
• Entwurfsmethodik
Markt
Mehrwert
• Neue Funktionalität (z.B. neuer Funkstandard)
• Bessere Funktionalität (z.B. längere Akkulaufzeit)
• Kleinerer Form-Faktor (Gehäuse Größe)
• Reduzierte Anzahl der Chips im System
• Zuverlässigkeit
• Entwicklung (Design, Implementierung, Verifikation)
• Einkauf von IP
• Produktion (Masken, Waferherstellung, Packaging)
• Test der produzierten Chips
Kosten
Folie Nr. 1719.10.2017
Entwurfsablauf integrierter Digitalschaltungen
Folie Nr. 18TU Dresden, 18.10.2011
Specification
RTL
Netlist
Layout
ASIC
Design Entry
Synthesis
Place&Route
Manufacturing
Functional Verification
Timing/SignOff Verification
Test
Flow Step
Design view
Tape-Out
Design Flow: Semi-Custom Digital Design
Abstr
aktion
Folie Nr. 19
Spezifikation und Design Entry
• Entwurf von Schaltungsmodulen basierend auf Systemspezifikation als Register-Transfer-Level (RTL) Beschreibung
• Verwendung von Hardwarebeschreibungssprachen (HDL) wie z.B. Verilog, VHDL
• Synthesegerechte Beschreibung
• Check von RTL Coding Guidelines
19.10.2017
Spezifikation
module fsm (
endmodule
module decoder (
endmodule
module adder_reg (clk_i, a_i, b_i, c_o);input clk_i;input [7:0] a_i, b_i;output [8:0] c_o;reg [8:0] c_r;always @(posedge clk_i) begin
c_r<=a_i+b_i;endassign c_o=c_r;
endmodule
Folie Nr. 20
Testbench Implementierung
• Testbench: Simulationsumgebung für ein Systemmodul
• Stimulus Generator erzeugt Eingangssignale
• Response Checker prüft Ausgangssignale gemäß Spezifikation
• Optional: Vergleich mit Referenzmodell möglich
• Testbench üblicherweise mit HDL als Verhaltensbeschreibung implementiert
19.10.2017
Sim
ula
tio
n
Reference Model
Device Under Test (DUT)
Stim
ulu
s G
ener
ato
r
Res
po
nse
C
hec
kers
Testcase
Testbench
optional
Folie Nr. 21
RTL Simulation
• Simulation der Testbench mit eventbasiertem Digitalsimulator• Tools, u.a.
• Cadence NCSIM• Mentor Questa
19.10.2017
Interaktive Analyse/Debugging Self-checking TestbenchTest PASS/FAIL
… #### ### #### #### ##### #### # # # # # # # # ##### ##### ### ### ### # ## # # # # # # ## # # #### #### ##### ####
TUD_TESTBENCH:NOTE:SIMPASS: Test PASSed
… #### ### #### #### ##### #### # # # # # # # # ##### ##### ### ### ### # ## # # # # # # ## # # #### #### ##### ####
TUD_TESTBENCH:NOTE:SIMPASS: Test PASSed
… #### ### #### #### ##### #### # # # # # # # # ##### ##### ### ### ### # ## # # # # # # ## # # #### #### ##### ####
TUD_TESTBENCH:NOTE:SIMPASS: Test PASSed
Folie Nr. 22
Logiksynthese
• Abbildung einer synthesegerechten RTL Beschreibung in eine Gatternetzliste basierend auf Standardzell Bibliotheken
• Library File (.lib) beinhaltet Informationen zu Funktionalität, Timing, Power
• Vorgabe von Constraints, z.B. Taktfrequenz, Eingangs- und Ausgangsdelay
• Tools, u.a.
• Synopsys DesignCompiler
• Cadence RTLCompiler
19.10.2017
always @(posedge clk)
begin
data0 <= data_in;
end
always @(posedge clk)
begin
data_out <= data0;
end
Verilog RTL Äquivalente Gatter-Netzliste
D Q D Qdata_in data0 data_out
clk
RTL Synthese
Folie Nr. 236. Juli 2010
Verilog source code
Generic Structure
Netlist
Target Library
GEN1
GFF
Optimized Structure
OA21
DF8
D Q
AND22
analyze / elaborate
compileoptimization
mapping
Timing Constraints(clocks,IO-Delays)
Logiksynthese -Ablauf
Folie Nr. 24
Place & Route
• Automatisiertes Platzieren und Verdrahten der Standardzellen
• Synthese von Clock Trees
• Extraktion von parasitären Layout Elementen
19.10.2017
Standardzellen
SchaltungsblockChip
Folie Nr. 25
Statische Timing Analyse (STA)
• Check von Timing Constraints
19.10.2017
Data Path
Kombinatorische Logik
(ΔTLogic)
clk
clk
data_in
Hold Time
Hold Violation
Setup Time
Setup Violation
Setup Check:
Tclk + Tskew ≥ ΔTLogic + Tsetup
Hold Check:
Tskew + Thold ≤ ΔTLogic
Tskew
Clock tree
data
Folie Nr. 26
Netzlisten Simulation
• Annotation von Verzögerungszeiten an die Gatternetzliste
• Individuelle Delays und Constraint Checks (Setup, Hold) für jedes Gatter
• zeitaufwändig
19.10.2017
Extrahiertes Timing
Sim
ula
tio
n
Reference Model
Device Under Test (DUT)
Stim
ulu
s G
ener
ato
r
Res
po
nse
C
hec
kers
Testcase
Testbench
optional
P&R Netzliste
Folie Nr. 27
Design Views
19.10.2017
• Ein Schaltungsmodul kann verschieden repräsentiert sein:
• Verhaltensmodel (behavioral)
Verhaltensmodel für Digitalsimulator
„Executable System Specification“
• RTL
Synthesefähige RTL Beschreibung
• Gatter Netzliste
Gatternetzliste als Ergebnis von Synthese/P&R
• Transistor-Netzliste (schematic netlist)
Netzliste auf Transistorlevel
• Transistor-Netzliste (extracted netlist)
Netzliste mit Transistoren und parasitären Layout Elementen
• Layout
Physische Darstellung der zu fertigenden SchaltungsgeometrienA
bstr
aktion
Folie Nr. 28
Hierarchisches Design
19.10.2017
• Hierarchische Gliederung von komplexen Systemen
Beispiel: Multiprozessor System „Tommy“
Folie Nr. 29
Hierarchisches Design – Sub-Module
19.10.2017
• Beispiel: Volldigitaler Phasenregelkreis (ADPLL) Taktgenerator
Oszillator Frequenzteiler
Phasendetektor
Steuerwerk
DCOOL CLKGEN
Controller
DIV,PFD
Folie Nr. 30
Bottom-Up Design Flow
19.10.2017
Zeit
Spezifikation
Sub-ModuleSub-Module
Sub-Module
ModuleModule
Module
System
Tape-out
Abstr
aktion
Folie Nr. 31
Bottom-Up Design
• Entwurf von Sub-Modulen basierend auf Systemspezifikation
• Zusammenfügen der Module zum Gesamtsystem
• Vorteile ☺
• Strukturierte Herangehensweise für kleinere Baublöcke in kleinen Entwurfsteams
• Geeignet für Sub-Blöcke mit erhöhtem Entwurfsaufwand (z.B. Analog, Mixed-Signal)
• Geringer zusätzlicher Modellierungsaufwand
• Benötigt keine vollständige Spezifikation bei Entwurfsbeginn
• Nachteile
• Ggf. aufwändige Re-Design Zyklen nötig
• Implementierungsarbeit im Team erfordert sehr genaue Spezifikation
• Nur sequentielle Entwurfsabläufe möglich
19.10.2017
Folie Nr. 32
Top-Down Design
19.10.2017
Zeit
Spezifikation
Sub-ModuleSub-Module
Sub-Module
ModuleModule
Module
System
Tape-out
Abstr
aktion
Folie Nr. 33
Top-Down Design
• Entwurf des Systems basierend auf Systemspezifikation
• Modellierung von Modulen- und Sub-Modulen
• Implementierung von Modulen- und Sub-Modulen
• Vorteile ☺
• Strukturierte Herangehensweise für komplexe Systeme in größeren Entwurfsteams
• Parallele Entwurfsarbeiten möglich
RTL Implementierung
Synthese
Place&Route
Verifikation
• Schnelle Verfügbarkeit eines simulierbaren Gesamtsystems (virtueller Prototyp) für
Performance Abschätzungen
Applikationsentwurf (PCB, Firmware)
• Nachteile
• Detaillierte Spezifikation bei Entwurfsbeginn benötigt
• Modellierungsaufwand für Module und Sub-Module
19.10.2017
Folie Nr. 34
Mixed-Signal und Mixed-Level Repräsentation
• Möglichkeit der Simulation von Systemkomponenten in unterschiedlichen Abstraktionsebenen (Views)
• Grundlage des Top-Down Designs
• Beispiel: Implementierung eines ADPLL Taktgenerators:
19.10.2017
Oszillator Frequenzteiler
Phasendetektor
Steuerwerk
RTL
gate
transistor
behavioral
Full-Custom Analog
Full-Custom Digital
Semi-Custom Digital (Synthese,
P&R)
Folie Nr. 35
Mixed-Signal und Mixed-Level Simulation
• Mixed-Level Repräsentationen in unterschiedlichen Entwurfsphasen
19.10.2017
Oszillator Frequenzteiler
Phasendetektor
Steuerwerk
RTL
gate
transistor
behavioral
Oszillator Frequenzteiler
Phasendetektor
Steuerwerk
Oszillator Frequenzteiler
Phasendetektor
Steuerwerk
Oszillator Frequenzteiler
Phasendetektor
Steuerwerk
Systementwurf RTL Verifikation
Oszillator Verifikation Post-Layout Simulation
Folie Nr. 36
Design Flow im Praktikum Schaltkreis- und Systementwurf
19.10.2017
Abstr
aktion
Entwicklung des Algorithmus Gesamtschaltung
Steuerlogik RTL
FSM RTLDatenpfad aus Sub-Modulen (Addierer,
Multiplizierer, Register)
Gate-Level Netzliste
Synthese
Layout
Folie Nr. 37
Design Flow im Praktikum Schaltkreis- und Systementwurf
• Design Struktur
19.10.2017
Place&Route Netzliste
RTL
FSM
Steuerlogik
• Mehr Infos: siehe Praktikumsanleitung
Gate Netlist