Section 10-VLSI.ppt [Λειτουργία...
Transcript of Section 10-VLSI.ppt [Λειτουργία...
1
ΚΥΚΛΩΜΑΤΑΚΥΚΛΩΜΑΤΑ VLSIVLSIΠανεπιστήμιο ΙωαννίνωνΠανεπιστήμιο Ιωαννίνων
ΣχεδιαστικέςΣχεδιαστικέςΣχεδιαστικέςΣχεδιαστικέςΣχεδιαστικές Σχεδιαστικές ΜεθοδολογίεςΜεθοδολογίες
VLSIVLSI ΚυκλωμάτωνΚυκλωμάτων
Σχεδιαστικές Σχεδιαστικές ΜεθοδολογίεςΜεθοδολογίες
VLSIVLSI ΚυκλωμάτωνΚυκλωμάτων
Γ. ΤσιατούχαςΚεφάλαιο 14ο
Τμήμα Μηχανικών Η/Υ και ΠληροφορικήςΤμήμα Μηχανικών Η/Υ και Πληροφορικής
ΔιάρθρωσηΔιάρθρωση
δ ά ί δ φ ίδ ά ί δ φ ί
ΚΥΚΛΩΜΑΤΑΚΥΚΛΩΜΑΤΑ VLSIVLSI
1.1. Σχεδιαστικά επίπεδα αφαίρεσηςΣχεδιαστικά επίπεδα αφαίρεσης
2.2. Σχεδίαση σε επίπεδο τρανζίστορΣχεδίαση σε επίπεδο τρανζίστορ
3.3. Σχεδίαση με δομικά κύτταραΣχεδίαση με δομικά κύτταρα
4.4. Σχεδίαση με διατάξεις Σχεδίαση με διατάξεις
5.5. Προγραμματιζόμενες διατάξεις Προγραμματιζόμενες διατάξεις
Σχεδιαστικές Μεθοδολογίες 2
ρ γρ μμ ζ μ ς ξ ςρ γρ μμ ζ μ ς ξ ς
6.6. Σχεδίαση με Σχεδίαση με μακροκύτταραμακροκύτταρα
7.7. Συστήματα σε ένα ολοκληρωμένο (Συστήματα σε ένα ολοκληρωμένο (SoCSoC))VLSI Systems
and Computer Architecture Lab
2
υψηλό επίπεδοαφαίρεσης Λειτουργικό
(Functional)Δομικό
(Structural)
χαμηλό επίπεδοαφαίρεσης
Algorithms Programs
Σχεδιαστικά Επίπεδα ΑφαίρεσηςΣχεδιαστικά Επίπεδα Αφαίρεσης
Algorithms, Programs(behavioral level)
Finite State Machines
Boolean Equations
Differential Equations
Processor, MemorySwitch (PMS)
Register‐TransferLevel
Gates
Transistors
Σχεδιαστικές Μεθοδολογίες 3
Γεωμετρικό(Geometric) Gajski & Kahn “Y‐Chart”
Polygons (Masks)
Sticks
Standard Cells
Floor Plan
MPU
connect
Memory
CIO
MPUMPU
Επίπεδα ΣχεδίασηςΕπίπεδα Σχεδίασης
Ολοκληρωμένο ‐ SoC
Πυρήνας
M
Interc
CIO
ALUALU
GPRGPR
PCPC
MARMAR
IRIR
ControlControl
Σχεδιαστικές Μεθοδολογίες 4
Μακροκύτταρο
MARMAR
MDRMDR
Bus DriversBus Drivers
Δομικό Κύτταρο(Πύλη)
3
Προδιαγραφές
Σχεδίαση Συστήματος Επαλήθευση ΣχεδίασηςBehavioural
Περιγραφή Απαιτήσεων
Μοντέλο
Σχεδιαστική ΜεθοδολογίαΣχεδιαστική Μεθοδολογία
Σχεδίαση Λογικής
Σύνθεση
Επαλήθευση Σχεδίασης
Σχεδίαση Κυκλώματος Επαλήθευση Σχεδίασης
Προσομοίωση
(HDL)
RTL(HDL)
Netlist
ΜοντέλοΣυμπεριφοράς
ΔομικόΜοντέλο
Κύκλωμα
Σχεδιαστικές Μεθοδολογίες 5
Χωροθέτηση/Διασύνδεση
Φυσικός Σχεδιασμός
Κατασκευή
Επαλήθευση Σχεδίασης
Κύκλωμα
Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Σχεδιαστικές ΕπιλογέςΣχεδιαστικές Επιλογές
Πλήρως Ελεύθερη Σχεδίαση
Δομικά Κύτταρα Μακροκύτταρα
Χρήση Κυττάρων
Θάλασσα ΠυλώνΔιατάξεις Πυλών
Προγραμματιζό‐μενες Διατάξεις
Χρήση Διατάξεων
Ημιελεύθερη Σχεδίαση
Σχεδιαστικές Μεθοδολογίες 6
Κύτταρα Διατάξεις Πυλών μενες Διατάξεις
Σχεδίαση Ολοκληρωμένων Κυκλωμάτων Ειδικών ΕφαρμογώνApplication Specific Integrated Circuits (ASICs)
4
Σχεδίαση στο Επίπεδο των ΤρανζίστορΣχεδίαση στο Επίπεδο των Τρανζίστορ
Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Πλήρως Ελεύθερη Σχεδίαση
Δομικά
Χρήση Κυττάρων
Θάλασσα Πυλών Προγραμματιζό‐
Χρήση Διατάξεων
Ημιελεύθερη Σχεδίαση
Σχεδιαστικές Μεθοδολογίες 7
μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών
ρ γρ μμ ζμενες Διατάξεις
Σχεδίαση ΚυττάρωνΣχεδίαση Κυττάρων
Δομικά Κύτταρα
poly
contact
metal 1
NOT NAND
Σχεδιαστικές Μεθοδολογίες 8
nWell
n+
p+
5
Σχεδίαση με Δομικά ΚύτταραΣχεδίαση με Δομικά Κύτταρα
Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Πλήρως Ελεύθερη Σχεδίαση
Δομικά
Χρήση Κυττάρων
Θάλασσα Πυλών Προγραμματιζό‐
Χρήση Διατάξεων
Ημιελεύθερη Σχεδίαση
Σχεδιαστικές Μεθοδολογίες 9
μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών
ρ γρ μμ ζμενες Διατάξεις
Δομικά ΚύτταραΔομικά Κύτταρα
Χαρακτηριστικά Λειτουργίας
NAND 3‐εισόδων
Standard CellsStandard Cells
C = χωρητικότητα στην έξοδοΤ = χρόνος ανόδου / καθόδου σήματος εισόδου
Σχεδιαστικές Μεθοδολογίες 10
ST‐Microelectronics
6
Σχεδίαση με Δομικά Κύτταρα (Ι)Σχεδίαση με Δομικά Κύτταρα (Ι)
VDDVDD
poly
contact
metal 1
via 1
metal 2
Σχεδιαστικές Μεθοδολογίες 11
nWell
n+
p+
GndGnd
Σχεδίαση με Δομικά Κύτταρα (ΙΙ)Σχεδίαση με Δομικά Κύτταρα (ΙΙ)
GndGnd
VDDVDD
GndGnd
Σχεδιαστικές Μεθοδολογίες 12
GndGnd
VDDVDD metal 3
via 2
7
Σχεδίαση με Δομικά Κύτταρα (ΙΣχεδίαση με Δομικά Κύτταρα (ΙVV))
VDDVDD GndGnd
VDD VDD VDD
VDD
Gnd Gnd
VDDVDD
VDDVDD
VDD
VDD
Gnd
Gnd
Σχεδιαστικές Μεθοδολογίες 13
GndGnd
VDD
Gnd
Gnd
Πλήρης Εικόνα ΟλοκληρωμένουΠλήρης Εικόνα Ολοκληρωμένου
Σχεδιαστικές Μεθοδολογίες 14
8
Σχεδίαση με Διατάξεις ΠυλώνΣχεδίαση με Διατάξεις Πυλών
Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Πλήρως Ελεύθερη Σχεδίαση
Δομικά
Χρήση Κυττάρων
Θάλασσα Πυλών Προγραμματιζό‐
Χρήση Διατάξεων
Ημιελεύθερη Σχεδίαση
Σχεδιαστικές Μεθοδολογίες 15
μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών
ρ γρ μμ ζμενες Διατάξεις
Διατάξεις Πυλών Διατάξεις Πυλών ‐‐ Θάλασσα ΠυλώνΘάλασσα Πυλών
ΟλοκληρωμένοΔιάταξης Πυλών ‐ Θάλασσας Πυλών
VDDVDD
ΓραμμέςΔιαθέσιμωνΤρανζίστορ
Κανάλια
GndGnd
VDDVDDVDDVDD
Σχεδιαστικές Μεθοδολογίες 16
ΚανάλιαΔιασυνδέσεων
GndGndGndGnd
9
VDDVDD
Κύτταρο Διάταξης με Μονωμένη ΠύληΚύτταρο Διάταξης με Μονωμένη Πύλη
poly
contact
metal 1
via 1
metal 2
Σχεδιαστικές Μεθοδολογίες 17
GndGnd
nWell
n+
p+
VDDVDDVDDVDD
Κύτταρο Διάταξης με Μόνωση ΟξειδίουΚύτταρο Διάταξης με Μόνωση Οξειδίου
Σχεδιαστικές Μεθοδολογίες 18
GndGndGndGnd
10
Διασυνδέσεις ΚυττάρωνΔιασυνδέσεις Κυττάρων
VDDVDDVDDVDD
Σχεδιαστικές Μεθοδολογίες 19
GndGndGndGnd
Λογική
Ολοκληρωμένο Διάταξης ΠυλώνΟλοκληρωμένο Διάταξης Πυλών
Μνήμη
Σχεδιαστικές Μεθοδολογίες 20
LSI Logic (0.6 mm CMOS)
11
Σχεδίαση με Προγραμματιζόμενες ΔιατάξειςΣχεδίαση με Προγραμματιζόμενες Διατάξεις
Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Πλήρως Ελεύθερη Σχεδίαση
Δομικά
Χρήση Κυττάρων
Θάλασσα Πυλών Προγραμματιζό‐
Χρήση Διατάξεων
Ημιελεύθερη Σχεδίαση
Σχεδιαστικές Μεθοδολογίες 21
μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών
ρ γρ μμ ζμενες Διατάξεις
Κατηγοριοποιήσεις Προγραμματιζόμενων Διατάξεων:
• Με βάση την τεχνική προγραμματισμού– Χρήση αντιασφαλειών (antifuses) –Μόνιμος προγραμματισμός
Προγραμματιζόμενες ΔιατάξειςΠρογραμματιζόμενες Διατάξεις
ρή η φ ( ) μ ς ρ γρ μμ μ ς
– Χρήση μνημών EPROM
– Χρήση μνημών RAM (και εξωτερικών EPROM)
• Με βάση τον τύπο της προγραμματιζόμενης λογικής– Χρήση διατάξεων λογικής (logic arrays)
– Χρήση πινάκων αναφοράς (look‐up tables)
• Με βάση τον τύπο των προγραμματιζόμενων
Σχεδιαστικές Μεθοδολογίες 22
Με βάση τον τύπο των προγραμματιζόμενων διασυνδέσεων– Χρήση καναλιών διασύνδεσης (channel‐routing)
– Χρήση πλεγματικών δικτυωμάτων (mesh networks)
12
Προγραμματιζόμενες Λογικές ΔιατάξειςΠρογραμματιζόμενες Λογικές ΔιατάξειςProgrammable Logic Arrays (Programmable Logic Arrays (PLAsPLAs))
Όροι Γινομένου
Κάθε λογική συνάρτηση μπορείνα εκφραστεί ως άθροισμαγινομένων (AND‐OR) δηλ. ωςάθροισμα ελαχιστόρων.
2122101
2100
xxxxxxf
xxxf
AND Δομή
x0x1
x2OR Δομήx
0x1 x2
x1x2
Σχεδιαστικές Μεθοδολογίες 23
Τα PLAs προγραμματίζονται ωςπρος τα γινόμενα (ελαχιστόρους)και/ή ως προς τα αθροίσματαπου θα παράγουν.x
0x1
x2
f0 f1
Είσοδοι
Έξοδοι
I 5 I 4 I 3 I 2 I 1 I 0 ΠρογραμματιζόμενηOR διάταξη I 5 I 4 I 3 I 2 I 1 I 0 Μόνιμη OR διάταξη
Προγραμματιζόμενες Λογικές ΔιατάξειςΠρογραμματιζόμενες Λογικές Διατάξεις
I 3 I 2 I 1 I 0ΠρογραμματιζόμενηOR διάταξη
Σχεδιαστικές Μεθοδολογίες 24
PLA PROM PAL
O 0O 1O 2O 3
ΠρογραμματιζόμενηAND διάταξη
O 0O 1O 2O 3O 0O 1O 2O 3
ΜόνιμηAND διάταξη
ΠρογραμματιζόμενηAND διάταξη
Προσδιορίζει προγραμματιζόμενη σύνδεση Προσδιορίζει μόνιμη σύνδεση
13
Υλοποίηση Συναρτήσεων σε Υλοποίηση Συναρτήσεων σε PLAPLA
1 X 2 X 1 X 0
2122101
2100
xxxxxxf
xxxf
Σχεδιαστικές Μεθοδολογίες 25
: προγραμματισμένος κόμβος f0f1NANA
. . .
Προγραμματιζόμενες Λογικές ΣυσκευέςΠρογραμματιζόμενες Λογικές ΣυσκευέςProgrammable Logic Devices (Programmable Logic Devices (PLDsPLDs))
Παράγοντες Γινομένων
PLA2
Σχεδιαστικές Μεθοδολογίες 26
PLA1
ALTERA MAX7000macrocell
14
Προγραμματιζόμενες Λογικές ΣυσκευέςΠρογραμματιζόμενες Λογικές Συσκευές
LAB = Logic Array Block
Σχεδιαστικές Μεθοδολογίες 27
ALTERA MAX7000Κανάλι Διασύνδεσης
Οργάνωση Οργάνωση LAB LAB ΥποκυκλωμάτωνΥποκυκλωμάτων
Σχεδιαστικές Μεθοδολογίες 28
ALTERA MAX7000Κανάλι Διασύνδεσης
15
Προγραμματιζόμενες Διατάξεις ΛογικήςΠρογραμματιζόμενες Διατάξεις Λογικής
Τυπικό Δομικό ΚύτταροΛογικής σε FPGA
Field Programmable Field Programmable GateGate Arrays (Arrays (FPGAsFPGAs))
LUT1
γ ής
LUT3
Σχεδιαστικές Μεθοδολογίες 29
Xilinx XC400E
Configurable Logic Block (CLB)
LUT2
Λογική με Χρήση Πινάκων ΑναφοράςΛογική με Χρήση Πινάκων Αναφοράς
Look‐Up Table (LUT) Logic Cell
Memory
OutΜνήμη
MUX
In1, In2 Out
00 1
01 1
10 1
Σχεδιαστικές Μεθοδολογίες 30
In1 In2
11 0
NAND
16
LUT1
Οργάνωση Οργάνωση LUTLUT ΥποκυκλωμάτωνΥποκυκλωμάτων
LUT1
LUT2
Σχεδιαστικές Μεθοδολογίες 31
Xilinx XC400E
tPIA
Δικτυώματα ΔιασύνδεσηςΔικτυώματα Διασύνδεσης
Κανάλι Πλέγμα
LAB2
PIA
LAB1
tPIA
LAB
Σχεδιαστικές Μεθοδολογίες 32
LAB6tPIA
Κανάλι Διασύνδεσης(ALTERA MAX 3000‐7000)
Πλεγματικό Δικτύωμα(ALTERA MAX 9000)
17
Πλεγματικό ΔικτύωμαΠλεγματικό Δικτύωμα
ΜήτραΔιακοπτών
Πλέγμα Διασύνδεσης
Σχεδιαστικές Μεθοδολογίες 33
M
Αναδιατάκτες σημάτων στο δικτύωμα διασύνδεσης Διακόπτης
LAB
I/O Buffers
Program/Test/Diagnostics
Γενική Γενική ΧωροθέτησηΧωροθέτηση FPGAsFPGAs
g g
I/O B
uffe
rs
I/O B
uffe
rs
Vertical routes
Σχεδιαστικές Μεθοδολογίες 34
I/O Buffers
Rows of logic modulesRouting channels
Πληροφορίες:http://www.altera.comhttp://www.xilinx.com
18
Ολοκληρωμένο Ολοκληρωμένο FPGAFPGA
Σχεδιαστικές Μεθοδολογίες 35
Xilinx XC400E
FPGA
Ετερογενείς Προγραμματιζόμενες ΠλατφόρμεςΕτερογενείς Προγραμματιζόμενες Πλατφόρμες
Ενσωματωμένος PowerPcΕνσωματωμένη Μνήμη
Αριθμητικά Κυκλώματα
Σχεδιαστικές Μεθοδολογίες 36
Ι/Ο Υψηλής ΤαχύτηταςXilinx Virtex‐II Pro
19
Σχεδίαση με Σχεδίαση με ΜακροκύτταραΜακροκύτταρα
Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων
Πλήρως Ελεύθερη Σχεδίαση
Δομικά
Χρήση Κυττάρων
Θάλασσα Πυλών Προγραμματιζό‐
Χρήση Διατάξεων
Ημιελεύθερη Σχεδίαση
Σχεδιαστικές Μεθοδολογίες 37
μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών
ρ γρ μμ ζμενες Διατάξεις
ΜακροκύτταραΜακροκύτταρα
Άκαμπτο (Hard)Μακροκύτταρο
Μνήμης
Σχεδιαστικές Μεθοδολογίες 38
Εύκαμπτο (Soft)Μακροκύτταρο Πολλαπλασιαστή
HDL περιγραφή
Φυσική ΥλοποίησηΧρήση Δομικών Κυττάρων
20
Γλώσσες Περιγραφής ΚυκλωμάτωνΓλώσσες Περιγραφής ΚυκλωμάτωνHardware Description Hardware Description LangusgesLangusges ((HDLsHDLs))
entity half_adder isport (in0, in1 : in bit;
Οι γλώσσες HDL (VHDL, Verilog)χρησιμοποιούνται για την περιγραφήηλεκτρονικών συστημάτων. Προσφέρουν
sum, cout : out bit);end entity half_adder;
architecture rtl of half_adder isbeginsum <= in0 xor in1;cout <= in0 and in1;
end architecture rtl;
hit t t f h lf dd i
τη δυνατότητα:
• καταγραφής προδιαγραφών
• τεκμηρίωσης
• επαλήθευσης με τη χρήσηπροσομοίωσης
• τυπικής επαλήθευσης
• σύνθεσης
Σ ό
Σχεδιαστικές Μεθοδολογίες 39
architecture str of half_adder isbegin...
end architecture str;
Στόχος:
• αξιόπιστη διαδικασία σχεδίασης,με ταυτόχρονη ελαχιστοποίησητου κόστους και τουαπαιτούμενου χρόνου
• αποφυγή σχεδιαστικών λαθώνΠαράδειγμα περιγραφής σε VHDL
DSPRAM Fl h JTAG
• Χρήση εμφωλευμένωνλ ώ ή ό
ΣυστήματαΣυστήματα––σεσε––έναένα––ΟλοκληρωμένοΟλοκληρωμένοSystemsSystems––onon––aa––Chip (Chip (SoCSoC))
Μακροκύτταρα ή πυρήνες (cores)
RAM
DSPcore
RAM Flash
BBG
JTAG
GSMtiming
RadioInterf.
ClockInterf.
AudioInterf.
RISCcore
RAM RISCInterf.
DataInterf.
κυκλωματικών πυρήνων όπου τοκόστος, η απόδοση, η κατανάλωση και η αξιοπιστίαέχουν τον πρώτο λόγο.
• Ανάγκη DSP κυκλωμάτων.
• Ύπαρξη μεικτών σχεδιασμών.
• Συνδυασμός ζό ώ
Σχεδιαστικές Μεθοδολογίες 40
URTS…
Interr.control
Perif.Interf.
EBI
προγραμματιζόμενων τεχνικών και τεχνικών σχεδίασης κυκλωμάτων ειδικών εφαρμογών.
• Το λογισμικό είναι αδιαχώριστος κρίκος.Base‐Band GSM
Οι πυρήνες είναι συνήθως μονάδες πνευματικής ιδιοκτησίας (intellectual property – IP blocks)
21
• Διαχωρισμός υλικού/λογισμικού.
• Προδιαγραφές μερών.
• Σύγχρονη/ασύγχρονη σχεδίαση.
• Hard/Soft IPsDSPRAM Fl h JTAG
Θέματα Σχεδίασης Θέματα Σχεδίασης SoCSoC
• Hard/Soft IPs.
• Χωροθέτηση (floorplaning).
• Διασύνδεση / αρτηρίες δεδομένων.
• Διαμοιρασμός ρολογιού και τροφοδοσιών.
• Τεχνικές ανάδειξης σχεδιαστικών λ θώ (d b t t i )
RAM
DSPcore
RAM Flash
BBG
JTAG
GSMtiming
RadioInterf.
ClockInterf.
AudioInterf.
RISCcore
RAM RISCInterf.
DataInterf.
Σχεδιαστικές Μεθοδολογίες 41
λαθών (debug strategies).
• Τεχνικές επαλήθευσης σχεδιασμού (verification).
• Τεχνικές ελέγχου ορθής λειτουργίας (design for testability).
URTS…
Interr.control
Perif.Interf.
EBI
Base‐Band GSM
ΧωροθέτησηΧωροθέτηση ‐‐ ΔιασύνδεσηΔιασύνδεση
RAM AG
Fla
shDSP
RISC
Perif Int
JTA
Clock
GSM Tm
Interr.Contr
Radio
Audio
RISCInt.
BUS
BUS
Σχεδιαστικές Μεθοδολογίες 42
RAMEBI
URTS
Perif. Int.
Data Int.
Contr. BUS
22
ΠακετάρισμαΠακετάρισμα !!
SystemSystem‐‐inin‐‐aa‐‐Package (Package (SiPSiP)) ΙΕΕΕ Spectrum 3/11
Single Package SiP Package‐on‐Package (PoP) Package‐in‐Package (PiP)
Σχεδιαστικές Μεθοδολογίες 43
3D Chip Stacking