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

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

description

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων. Χειμερινό Εξάμηνο 200 7 -200 8 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD. Transistor: Δομική μονάδα κυκλωμάτων. Τα ολοκληρωμένα κυκλώματα υλοποιούνται κυρίως σε τεχνολογία CMOS ( Complementary MOS) - PowerPoint PPT Presentation

Transcript of ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

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

1

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

Κυκλωμάτων

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

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

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

2

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

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

MOSFET (metal oxide semiconductor field effect transistors – transistor επίδρασης πεδίου τύπου μέταλλο – οξείδιο – ημιαγωγός)– Συμπεριφέρονται σαν διακόπτες

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

3

Chip = Γράφος Transistors

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

• Καθώς βελτίωνεται η τεχνολογία:– Μικραίνει το μέγεθος των transistors

(περισσότερα transistors στον ίδιο χώρο)– Αυξάνεται η ταχυτητά τους– Ελλατώνεται η κατανάλωση ενέργειάς τους

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

4

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

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

5

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

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

6

Full Custom

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

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

7

Semi-Custom:Array-Based (Gate Array)

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

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

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

8

Semi-custom:Programmable Logic Array

(PLA)

• Οι PLAs έχουν προγραμματιζόμενα AND και OR επίπεδα (planes).• Μπορούν να υλοποιήσουν οποιαδήποτε 2-επίπεδη λογική AND-OR• Αποδοτική φυσική υλοποίηση σε τεχνολογία CMOS.

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

9

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

Ένα bit μνήμης

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

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

στηνέξοδο

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

10

FPGA: Field Programmable Gate Array

• Τα CLBs συνδέονται στα κοντινά καλώδια• Τα καλώδια συνδέονται μεταξύ τους μέσω του switch matrix• Υπάρχουν και μακρινά καλώδια για να διασυνδέουν απομακρυσμένα CLBs• Οι πληροφορίες για την προγραμματιζόμενη λογική είναι αποθηκευμένες

σε bit μνήμης τα οποία φορτώνονται κατά τον αρχικό προγραμματισμό της.

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

11

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

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

12

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

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

13

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

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

14

Η σύνθεση (synthesis)• Λογική σύνθεση (logic synthesis)

– Ένα εργαλείο/πρόγραμμα σχεδιάζει κύκλωματα από «αφηρημένες» περιγραφές της λογικής

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

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

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

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

15

Απλό παράδειγμα σύνθεσης• Τι συμβαίνει ;

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

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

διαφορετικές υλοποιήσεις!!!– … αλλά αυτό προυποθέτει ότι ξέρουμε την υλοποίηση σε πύλες –

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

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

16

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

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

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

ισοδύναμα!

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

17

Mapping – Place & Route• Mapping – Μεταφορά της λογικής που παράγεται από

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

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

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

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

μεταξύ των blocks της λογικής, πρέπει να είναι αποδεκτή• Τοποθετεί τα κρίσιμα κομμάτια του κυκλώματος κοντά για να

μειώσει όσο το δυνατόν την καθυστέρηση από τα καλώδια• Η καθυστέρηση των σημάτων στο κύκλωμα εξαρτάται σημαντικά

από την καθυστέρηση της διασύνδεσης (routing delay)

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

18

Partitioning and FloorplanningΚατάτμηση και Κάτοψη

Σχεδίου

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

19

Cell-Based Design• Semi-custom: λύση βασισμένη σε εργαλεία

που χρησιμοποιουν standard cells που παρέχει η τεχνολογία και είναι ομοιόμορφα

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

20

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

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

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

21

Cell-based Flow

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

22

ASIC : Application Specific Integrated Circuit

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

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

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

23

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

– 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 μονάδες:

• Total = 2000 + 10*100 = $3000• Per-Product-Cost = (2000/ 10) + 100 = $300• Για να καλυφθεί το NRE κόστος επιβαρύνθηκε το κόστος

της κάθε μονάδας με $200!!!

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

24

ASIC vs. FPGA (Pos and Cons)

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

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

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

25

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

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 SynthesisTools

(Place & Route)

Tape out and Manufacture

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

26

Μαθήματα HWHY225 Οργάνωση

ΥπολογιστώνHY425 Αρχιτεκτονική

ΥπολογιστώνHY534 Αρχιτ. Μεταγωγέων

Πακέτων

HY220 Εργαστήριο Ψηφ. Κυκλωμ.

HY120 Ψηφιακή Σχεδίαση HY590.24 Αλγόριθμοι CAD

εργαλείων

HY422 Εισαγωγή στο VLSI

Functional Design

Specifications

Logic Design

Circuit Design

Physical Design

Fabrication

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

27

Επαλήθευση - Verification

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

28

Verification - Simulation

Συνέπεια : το ίδιο testbench για κάθε επίπεδο αφαίρεσηςSlo

wer S

imu

latio

n - C

loser to

reality

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

29

Testbench(verilog)

Design under test(verilog)

Test Vectors Generator(C, perl)

Golden Model(C, perl)

Test Vectors

Result Vectors Result VectorsSame?

Yes then test passed, run new No then test failed, check why…

Automated Verification - Golden Model

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

30

Verification – Mixed Mode

Testbench(verilog)

RTL blocks(verilog)

Design under test

gate-level blocks(verilog)

Accurate simulation/verification just for some specific blocks. No need for the whole design.

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

31

Electronic Design Automation (EDA) tools

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

32

EDA tools