ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · physical...

25
1 ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2019-2020 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Βασίλης Παπαευσταθίου

Upload: others

Post on 17-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

1

ΗΥ220Εργαστήριο Ψηφιακών

Κυκλωμάτων

Χειμερινό Εξάμηνο

2019-2020

Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD

ΗΥ220 - Βασίλης Παπαευσταθίου

Page 2: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Transistor: Δομική μονάδα κυκλωμάτων

• Τα ολοκληρωμένα κυκλώματα υλοποιούνται κυρίως σε τεχνολογία CMOS(Complementary MOS)⎻ Βάση της τεχνολογίας τα

transistors τύπου MOSFET

⎻ metal oxide semiconductor field effect transistors

⎻ transistor επίδρασης πεδίου τύπου μέταλλο – οξείδιο – ημιαγωγός)

⎻ συμπεριφέρονται σαν διακόπτες

ΗΥ220 - Βασίλης Παπαευσταθίου 2

Page 3: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Chip = Γράφος Transistors

• Η τεχνολογία (process) που χρησιμοποιούμε για την κατασκευή (fabrication) καθορίζει τις παραμέτρους των transistors και το μέγεθός τους

• Καθώς βελτιώνεται η τεχνολογία:⎻ Μικραίνει το μέγεθος των transistors (περισσότερα transistors στον ίδιο χώρο)

⎻ Αυξάνεται η ταχύτητά τους

⎻ Ελαττώνεται η κατανάλωση ενέργειάς τους

ΗΥ220 - Βασίλης Παπαευσταθίου 3

Page 4: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Ροή Σχεδίασης – Design Flow

ΗΥ220 - Βασίλης Παπαευσταθίου 4

Page 5: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Μέθοδοι Σχεδίασης

ΗΥ220 - Βασίλης Παπαευσταθίου 5

Page 6: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Full Custom

• Η διάταξη (layout) των transistors είναι χειροποίητη χρησιμοποιώντας VLSI editors. Χρήσιμο κυρίως σε μικρά designs λόγω απαιτήσεων σε χρόνο⎻ Μέγιστη ελευθερία

⎻ Μπλοκ υψηλών επιδόσεων

⎻ Αργή διαδικασία

ΗΥ220 - Βασίλης Παπαευσταθίου 6

Page 7: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Semi-Custom: Array-Based (Gate Array)

• Μεγάλοι πίνακες από transistors δίνονται από τους κατασκευαστές των chips.

• Διασυνδέοντας αυτά τα transistor με τον κατάλληλο τρόπο προκύπτει η επιθυμητή λογική

ΗΥ220 - Βασίλης Παπαευσταθίου 7

Page 8: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Semi-custom: Programmable Logic Array (PLA)

• Οι PLAs έχουν προγραμματιζόμενα AND και OR επίπεδα (planes).

• Μπορούν να υλοποιήσουν οποιαδήποτε 2-επίπεδη λογική AND-OR

• Αποδοτική φυσική υλοποίηση σε τεχνολογία CMOS.

ΗΥ220 - Βασίλης Παπαευσταθίου 8

Page 9: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

ΗΥ220 - Βασίλης Παπαευσταθίου 9

Προγραμματιζόμενη Λογική: LUTs (Lookup Tables)

Ένα bit μνήμης

Ένας πολυπλέκτης

επιλέγει ποιο στοιχείο

μνήμης θα βγεί στην

έξοδο

Page 10: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

FPGA: Field Programmable Gate Array

• Τα CLBs συνδέονται στα κοντινά καλώδια

• Τα καλώδια συνδέονται μεταξύ τους μέσω του switch matrix

• Υπάρχουν και μακρινά καλώδια για να διασυνδέουν απομακρυσμένα CLBs

• Οι πληροφορίες για την προγραμματιζόμενη λογική είναι αποθηκευμένες σε bitμνήμης τα οποία φορτώνονται κατά τον αρχικό προγραμματισμό της.

ΗΥ220 - Βασίλης Παπαευσταθίου 10

Page 11: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

ΗΥ220 - Βασίλης Παπαευσταθίου 11

Παράδειγμα ενός CLB (Logic Element)

Page 12: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Η διασύνδεση στην FPGA

ΗΥ220 - Βασίλης Παπαευσταθίου 12

Page 13: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Η ροή σχεδίασης για FPGA

ΗΥ220 - Βασίλης Παπαευσταθίου 13

Page 14: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Η σύνθεση (synthesis)

• Λογική σύνθεση (logic synthesis)⎻ Ένα εργαλείο/πρόγραμμα σχεδιάζει κυκλώματα από «αφηρημένες»

περιγραφές της λογικήςo Δέχεται περιορισμούς (constraints) για το μέγεθος, την ταχύτητα κ.α

o Χρησιμοποιεί βιβλιοθήκες (π.χ. 3-input gates)

• Πως;⎻ Περιγράφουμε σε Verilog «αφηρημένα» τη λογική

⎻ Το εργαλείο μας παράγει εναλλακτικές υλοποιήσεις

ΗΥ220 - Βασίλης Παπαευσταθίου 14

Page 15: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Απλό παράδειγμα σύνθεσης

• Τι συμβαίνει;⎻ Γράφουμε τον κώδικα και η σύνθεση μας βγάζει τις πύλες⎻ Μπορεί να χρησιμοποιεί διαφορετικές βιβλιοθήκες από τον σχεδιαστή (εδώ μόνο

πύλες 2 εισόδων)⎻ Μια περιγραφή είναι αρκετή για να μας παραχθούν αρκετές διαφορετικές

υλοποιήσεις!!!⎻ … αλλά αυτό προϋποθέτει ότι ξέρουμε την υλοποίηση σε πύλες - το οποίο καταλήγει

να μην είναι «αφηρημένη» περιγραφή βέβαια!!!

ΗΥ220 - Βασίλης Παπαευσταθίου 15

Page 16: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Αυτοματοποιημένη Λογική Σύνθεση

• Η σύνθεση πολύ συχνά ερμηνεύει τον κώδικα διαφορετικά από την προσομοίωση !!!

• Η περιττή λογική μπορεί να μην ανιχνεύεται πάντα!⎻ Τα παρακάτω κυκλώματα είναι λειτουργικά ισοδύναμα!

ΗΥ220 - Βασίλης Παπαευσταθίου 16

Page 17: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Mapping – Place & Route

• Mapping: Μεταφορά της λογικής που παράγεται από την σύνθεση στα λογικά στοιχεία (LE-CLBs-Cells) που παρέχει φυσικά η εκάστοτε τεχνολογία (FPGA-ASIC)⎻ Κατά το mapping η λογική μετατρέπεται κατάλληλα σε αυτήν που

υποστηρίζει η τεχνολογία.

• Place & Route: Χωροθέτηση και Διασύνδεση των κυκλωμάτων στην φυσική τοπολογία.⎻ Τοποθετεί την λογική στα CLBs της FPGA και τα διασυνδέει με τέτοιο

τρόπο ώστε να καλύπτονται οι χρονικοί περιορισμοίo Η καθυστέρηση των καλωδίων (wiring delay), για την διασύνδεση μεταξύ των

blocks της λογικής, πρέπει να είναι αποδεκτή

o Τοποθετεί τα κρίσιμα κομμάτια του κυκλώματος κοντά για να μειώσει όσο το δυνατόν την καθυστέρηση από τα καλώδια

o Η καθυστέρηση των σημάτων στο κύκλωμα εξαρτάται σημαντικά από την καθυστέρηση της διασύνδεσης (routing delay)

ΗΥ220 - Βασίλης Παπαευσταθίου 17

Page 18: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Partitioning and FloorplanningΚατάτμηση και Κάτοψη Σχεδίου

ΗΥ220 - Βασίλης Παπαευσταθίου 18

Page 19: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Cell-Based Design

• Semi-custom: λύση βασισμένη σε εργαλεία που χρησιμοποιουν standard cells που παρέχει η τεχνολογία και είναι ομοιόμορφα

ΗΥ220 - Βασίλης Παπαευσταθίου 19

Page 20: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Διάταξη ένος standard cell

• H διάταξη (layout) ενός standard cell από μια βιβλιοθήκη standard cell. Είναι full-custom!

ΗΥ220 - Βασίλης Παπαευσταθίου 20

Page 21: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Cell-based Flow

ΗΥ220 - Βασίλης Παπαευσταθίου 21

Page 22: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

ASIC: Application Specific Integrated Circuit

• Chip για μια συγκεριμένη εφαρμογή. Δεν μπορεί να ξαναπρογραμματιστεί η λογική του για να καλύψει άλλες λύσεις

• Δίνουμε στον κατασκευαστή την διάταξη με full-custom ή semi-custom blocks.

ΗΥ220 - Βασίλης Παπαευσταθίου 22

Page 23: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Κόστη Υλοποίησης

• Κόστη:⎻ Unit cost (κόστος μονάδας): το χρηματικό κόστος για την κατασκευή κάθε

αντιγράφου του συστήματος

⎻ NRE cost (Non-Recurring Engineering cost – Μη επαναλαμβανόμενο κόστος σχεδίασης): Το εφάπαξ κόστος για την σχεδίαση του συστήματος

⎻ Total-Cost = NRE-Cost + Unit-Cost * #Units

⎻ Per-Product-Cost = Total-Cost / # Units = (NRE-Cost / # Units) + Unit-Cost

• Παράδειγμα:⎻ NRE-cost = $2000, Unit-cost = $100

⎻ Για 10 μονάδες:

o Total = 2000 + 10*100 = $3000

o Per-Product-Cost = (2000/ 10) + 100 = $300

o Για να καλυφθεί το NRE κόστος επιβαρύνθηκε το κόστος της κάθε μονάδας με $200!!!

ΗΥ220 - Βασίλης Παπαευσταθίου 23

Page 24: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

FPGA vs. ASIC (Pros and Cons)

• FPGA (gate-array)⎻ Χαμηλό αρχικό κόστος⎻ Χαμηλό χρηματικό ρίσκο⎻ Γρήγορες κατασκευαστικές αλλαγές (reprogram)⎻ Εύκολες αλλαγές στη σχεδίαση⎻ Επαναπρογραμματιζόμενη⎻ Αργό Ρολόι⎻ Μικρή χωρητικότητα σε πύλες

• ASIC (full-custom, semi-custom)⎻ Γρήγορο ρολόι⎻ Μεγάλη χωρητικότητα σε πύλες⎻ «Πυκνό» σχέδιο⎻ Υψηλό κόστος⎻ Αργές κατασκευαστικές αλλαγές⎻ Μεγάλος χρόνος κατασκευής

ΗΥ220 - Βασίλης Παπαευσταθίου 24

Page 25: ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων · 2019. 12. 27. · Physical Design Fabrication System Description Languages (System C) Hardware Description Languages,

Εργαλεία CAD: Computer Aided Design

ΗΥ220 - Βασίλης Παπαευσταθίου 25

Functional Design

Specifications

Logic Design

Circuit Design

Physical Design

Fabrication

System DescriptionLanguages (System C)

Hardware Description Languages,

Schematic Editors(Verilog, VHDL)

Logic SynthesisTools (Synopsys)

Physical Synthesis Tools(Place & Route)

Tape out and Manufacture