Section 10-VLSI.ppt [Λειτουργία...

of 22/22
1 ΚΥΚΛΩΜΑΤΑ ΚΥΚΛΩΜΑΤΑ VLSI VLSI Πανεπιστήμιο Ιωαννίνων Πανεπιστήμιο Ιωαννίνων Σχεδιαστικές Σχεδιαστικές Σχεδιαστικές Σχεδιαστικές Σχεδιαστικές Σχεδιαστικές Μεθοδολογίες Μεθοδολογίες VLSI VLSI Κυκλωμάτων Κυκλωμάτων Σχεδιαστικές Σχεδιαστικές Μεθοδολογίες Μεθοδολογίες VLSI VLSI Κυκλωμάτων Κυκλωμάτων Γ. Τσιατούχας Κεφάλαιο 14 ο Τμήμα Μηχανικών Η/Υ και Πληροφορικής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διάρθρωση Διάρθρωση δ ά ί δ φί δ ά ί δ φί ΚΥΚΛΩΜΑΤΑ ΚΥΚΛΩΜΑΤΑ VLSI VLSI 1. 1. Σχεδιαστικά επίπεδααφαίρεσης Σχεδιαστικά επίπεδααφαίρεσης 2. 2. Σχεδίαση σε επίπεδο τρανζίστορ Σχεδίαση σε επίπεδο τρανζίστορ 3. 3. Σχεδίαση με δομικά κύτταρα Σχεδίαση με δομικά κύτταρα 4. 4. Σχεδίαση με διατάξεις Σχεδίαση με διατάξεις 5. 5. Προγραμματιζόμενες διατάξεις Προγραμματιζόμενες διατάξεις Σχεδιαστικές Μεθοδολογίες 2 6. 6. Σχεδίαση με Σχεδίαση με μακροκύτταρα μακροκύτταρα 7. 7. Συστήματα σε ένα ολοκληρωμένο ( Συστήματα σε ένα ολοκληρωμένο (SoC SoC) VLSI Systems and Computer Architecture Lab
  • date post

    12-Jul-2020
  • Category

    Documents

  • view

    3
  • download

    0

Embed Size (px)

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 conn

    ect

    Memory

    CIO

    MPUMPU

    Επίπεδα ΣχεδίασηςΕπίπεδα Σχεδίασης

    Ολοκληρωμένο ‐ SoCΠυρήνας

    MInterc

    CIOALUALU

    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

    μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών

    ρ γρ μμ ζμενες Διατάξεις

    Σχεδίαση ΚυττάρωνΣχεδίαση ΚυττάρωνΔομικά Κύτταρα

    polycontact

    metal 1

    NOT NAND

    Σχεδιαστικές Μεθοδολογίες 8

    nWell

    n+

    p+

  • 5

    Σχεδίαση με Δομικά ΚύτταραΣχεδίαση με Δομικά Κύτταρα

    Υλοποίηση Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

    Πλήρως Ελεύθερη Σχεδίαση

    Δομικά 

    Χρήση Κυττάρων

    Θάλασσα Πυλών Προγραμματιζό‐

    Χρήση Διατάξεων

    Ημιελεύθερη Σχεδίαση

    Σχεδιαστικές Μεθοδολογίες 9

    μΚύτταρα Μακροκύτταρα Διατάξεις Πυλών

    ρ γρ μμ ζμενες Διατάξεις

    Δομικά ΚύτταραΔομικά Κύτταρα

    Χαρακτηριστικά ΛειτουργίαςNAND 3‐εισόδων

    Standard CellsStandard Cells

    C = χωρητικότητα στην έξοδοΤ = χρόνος ανόδου / καθόδου σήματος εισόδου

    Σχεδιαστικές Μεθοδολογίες 10

    ST‐Microelectronics

  • 6

    Σχεδίαση με Δομικά Κύτταρα (Ι)Σχεδίαση με Δομικά Κύτταρα (Ι)

    VDDVDD

    polycontact

    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

    Κύτταρο Διάταξης με Μονωμένη ΠύληΚύτταρο Διάταξης με Μονωμένη Πύλη

    polycontact

    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 Δομή

    x0x1x2 OR Δομήx0x1 x2

    x1x2

    Σχεδιαστικές Μεθοδολογίες 23

    Τα PLAs προγραμματίζονται ωςπρος τα γινόμενα (ελαχιστόρους)και/ή ως προς τα αθροίσματαπου θα παράγουν.x0 x1 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

    PLA1ALTERA MAX7000

    macrocell

  • 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

  • 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

    Flas

    hDSP

    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