«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Σχετικά έγγραφα
«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο Διάλεξη 8 η : Μηχανές Πεπερασμένων Κaταστάσεων σε FPGAs

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

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

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Ψηφιακά Κυκλώματα (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Μηχανές Πεπερασμένων Καταστάσεων

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΕΙΡΙΑΚΗ ΠΡΟΣΘΕΣΗ

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Συντρέχων Κώδικας

Περιεχόμενα. Πρόλογος... XI. Κεφάλαιο 1. Συστήματα Βασισμένα σε FPGA Κεφάλαιο 2. Τεχνολογία VLSI Εισαγωγή Βασικές Αρχές...

ς Ποιότητα ξιολόγηση Α

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Κυκλωμάτων» Χειμερινό εξάμηνο

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

Ψηφιακή Λογική και Σχεδίαση

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

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

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

Αθροιστές. Ημιαθροιστής

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

100 ΕΡΩΤΗΣΕΙΣ ΜΕ ΤΙΣ ΑΝΤΙΣΤΟΙΧΕΣ ΑΠΑΝΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

Η κανονική μορφή της συνάρτησης που υλοποιείται με τον προηγούμενο πίνακα αληθείας σε μορφή ελαχιστόρων είναι η Q = [A].

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Επίπεδο Ψηφιακής Λογικής (The Digital Logic Level)

Κυκλωμάτων» Χειμερινό εξάμηνο

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων VLSI II

Ψηφιακή Σχεδίαση Εργαστηριο 1. Τμήμα: Μηχανικών Πληροφορικής κ Τηλεπικοινωνιών Διδάσκων: Δρ. Σωτήριος Κοντογιαννης Μάθημα 2 ου εξαμήνου

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

Παράδειγμα αντιστοίχισης κυκλώματος σε FPGA

Πράξεις με δυαδικούς αριθμούς

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

4.1 Θεωρητική εισαγωγή

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Θέμα 1ο (3 μονάδες) Υλοποιήστε το ακoλουθιακό κύκλωμα που περιγράφεται από το κατωτέρω διάγραμμα

Behavioral & Mixed VHDL Architectures Finite State Machines in VHDL

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ : Κ. ΠΕΚΜΕΣΤΖΗ

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 15: Καταχωρητές (Registers)

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστημάτων

Πράξεις με δυαδικούς αριθμούς

w x y Υλοποίηση της F(w,x,y,z) με πολυπλέκτη 8-σε-1

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

a -j a 5 a 4 a 3 a 2 a 1 a 0, a -1 a -2 a -3

ξργ Μονάδα επεξεργασίας ξργ δδ δεδομένων Μονάδα ελέγχου

Άσκηση 3 Ένα νέο είδος flip flop έχει τον ακόλουθο πίνακα αληθείας : I 1 I 0 Q (t+1) Q (t) 1 0 ~Q (t) Κατασκευάστε τον πίνακα

K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΚΑΤΑΧΩΡΗΤΕΣ ΟΛΙΣΘΗΤΕΣ

K24 Ψηφιακά Ηλεκτρονικά 4: Σχεδίαση Συνδυαστικών Κυκλωμάτων

Εισαγωγή στα κυκλώµατα CMOS 2

Παράρτηµα Γ. Τα Βασικά της Λογικής Σχεδίασης. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

Chapter 3 Αριθμητική Υπολογιστών

Εισαγωγή στην πληροφορική

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Παράδειγµα: Καταχωρητής 2-bit. Καταχωρητής 4-bit. Μνήµη Καταχωρητών

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

26-Nov-09. ΗΜΥ 210: Λογικός Σχεδιασμός, Χειμερινό Εξάμηνο Καταχωρητές 1. Διδάσκουσα: Μαρία Κ. Μιχαήλ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Σχεδίαση Ψηφιακών Συστημάτων. Ενότητα: ΚΑΤΑΧΩΡΗΤΕΣ - ΑΠΑΡΙΘΜΗΤΕΣ

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ψηφιακή Σχεδίαση

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική και Εφαρμογές»

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

Βασικές Σχεδίασης Υπολογιστών Αριθμητική Μονάδα Επεξεργασίας Κεφάλαιο 10

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης 2017

Ψηφιακή Λογική Σχεδίαση

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Άλλες Αριθμητικές Συναρτήσεις/Κυκλώματα

Ελίνα Μακρή

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

Ενότητα 6 ΑΝΑΛΥΣΗ & ΣΥΝΘΕΣΗ ΣΥΝΔΥΑΣΤΙΚΗΣ ΛΟΓΙΚΗΣ ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΠΟΛΛΩΝ ΕΠΙΠΕΔΩΝ

PLD. Εισαγωγή. 5 η Θεµατική Ενότητα : Συνδυαστικά. PLAs. PLDs FPGAs

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

Ολοκληρωμένα Κυκλώματα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΚΑΙ Η ΥΛΟΠΟΙΗΣΗ ΤΟΥΣ ΜΕ FLIP-FLOP ΚΑΙ ΠΥΛΕΣ

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Πακέτα και Συστατικά Στοιχεία (Υποκυκλώματα)

Transcript:

ΤΕΙ Δυτικής Ελλάδας Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστήριο Σχεδίασης Ψηφιακών Ολοκληρωμένων Κυκλωμάτων και Συστημάτων «Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο 2016-2017 Διάλεξη 6 η : Συνδυαστικά Κυκλώματα σε FPGA (Μέρος 2 ο ) Δρ. Παρασκευάς Κίτσος Επίκουρος Καθηγητής diceslab.cied.teiwest.gr E-mail: pkitsos@teimes.gr Αντίρριο 2017 1

ΠΕΡΙΕΧΟΜΕΝΑ Διαδικασία σχεδιασμού κυκλωμάτων Γλώσσες περιγραφής υλικού Η καθυστέρηση στα συνδυαστικά κυκλώματα Κατανάλωση ισχύος Αριθμητικά κυκλώματα Αθροιστές Πολλαπλασιαστές ALU Χωροθέτηση και διασύνδεση 2

Αριθμητικά κυκλώματα 3

ΣΥΝΔΥΑΣΤΙΚΟΙ ΟΛΙΣΘΗΤΕΣ Είναι πολύ χρήσιμοι στις αριθμητικές πράξεις Οι ολισθητές που σχεδιάζονται με Latch FFs ολισθαίνουν ένα bit ανά κύκλο ρολογιού Οι ολισθητές με δυνατότητα ολίσθησης πολλών θέσεων απαιτούν επιπλέον λογική 4

ΒΑΡΕΛΟΕΙΔΗΣ (BARREL) ΟΛΙΣΘΗΤΗΣ Εκτελεί ολίσθηση των n-bit σε έναν παλμό ρολογιού Έχει είσοδο δεδομένων 2n-bit, σήμα ελέγχου των n-bit και παράγει μια έξοδο των n-bit n bits data 1 output n bits n bits data 2 5

ΑΘΡΟΙΣΤΕΣ Υπολογίζει το άθροισμα και το κρατούμενο σύμφωνα με τις εξισώσεις s i = a i XOR b i XOR c i c i+1 = a i b i + a i c i + b i c i Ο ημιαθροιστής δε λαμβάνει υπόψη του το κρατούμενο εισόδου Αθροιστής μετάδοσης κρατουμένου (Ripplecarry adder): Ο n-bit αθροιστής που κατασκευάζεται από n πλήρης αθροιστές Η καθυστέρηση του ορίζεται από το μονοπάτι υπολογισμού και μετάδοσης κρατουμένου 6

ΣΕΙΡΙΑΚΟΣ ΑΘΡΟΙΣΤΗΣ (1/2) Χρησιμοποιείται σε εφαρμογές ψηφιακής σχεδίασης όπου απαιτούνται μεγάλες συχνότητες λειτουργίας Ο συνολικός χρόνος εκτέλεσης της πρόσθεσης είναι μεγάλος Format δεδομένων (LSB first): 0 1 1 0 LSB 7

ΣΕΙΡΙΑΚΟΣ ΑΘΡΟΙΣΤΗΣ (2/2) Το σήμα LSB μηδενίζει το κρατούμενο εισόδου 8

ALUs Η Arithmetic Logic Unit εκτελεί συνδυασμό αριθμητικών και λογικών πράξεων σύμφωνα με το σήμα ελέγχου opcode. Εκτελεί ένα σύνολο «εντολών» του ενός bit ή πολύ μεγαλύτερου μήκους Οι ALUs χρησιμοποιούν αθροιστές Άρα το μονοπάτι υπολογισμού του κρατουμένου καθορίζει τη συνολική καθυστέρηση 9

ALU ΜΕ ΠΟΛΥΠΛΕΚΤΗ Υπολογίζει τις συναρτήσεις και ο πολυπλέκτης επιλέγει την επιθυμητή σύμφωνα με το σήμα ελέγχου opcode AND OR NOT SUM opcode 10

ΠΟΛΛΑΠΛΑΣΙΑΣΤΕΣ 0 1 1 0 πολλαπλασιαστέος x 1 0 0 1 πολλαπλασιαστής 0 1 1 0 + 0 0 0 0 0 0 1 1 0 + 0 0 0 0 0 0 0 1 1 0 + 0 1 1 0 0 1 1 0 1 1 0 partial product 11

ΣΕΙΡΙΑΚΟΣ ΠΑΡΑΛΛΗΛΟΣ ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ (1/2) Χρησιμοποιείται σε σειριακές αριθμητικές πράξεις Ο πολλαπλασιαστέος πρέπει να είναι αποθηκευμένος σε έναν καταχωρητή Ο πολλαπλασιαστής ολισθαίνεται bit-bybit με πρώτο το LSB 12

ΣΕΙΡΙΑΚΟΣ ΠΑΡΑΛΛΗΛΟΣ ΠΟΛΛΑΠΛΑΣΙΑΣΤΗΣ (2/2) 13

Λογική Σύνθεση 14

ΛΟΓΙΚΗ ΣΥΝΘΕΣΗ Η λογική σύνθεση χρησιμοποιεί αλγορίθμους βελτιστοποίησης και μετασχηματίζει τις λογικές εκφράσεις σε μια ιδιαίτερη μορφή για την υλοποίηση Η βελτιστοποίηση μπορεί να είναι είτε ως προς την επιφάνεια κάλυψης (εμβαδόν) του κυκλώματος, είτε ως προς τη απόδοση λειτουργίας ή ως προς τη κατανάλωση ενέργειας 15

ΑΠΕΥΘΕΙΑΣ ΜΕΤΑΦΡΑΣΗ ΤΗΣ HDL (SΥΝΤΑΧ-DIRECTED TRANSLATION) Μεταφράζει τη γλώσσα περιγραφής υλικού σε λογικές εκφράσεις ab + ac If ( ) then else Σε γενικές γραμμές απαιτείται βελτιστοποίηση 16

MACROS Προκαθορισμένη λογική Εξαρτάται από τα χαρακτηριστικά της γλώσσας + operator xxx() 17

ΦΑΣΕΙΣ ΛΟΓΙΚΗΣ ΣΥΝΘΕΣΗΣ Η λογική σύνθεση (ή λογική βελτιστοποίηση) δημιουργεί ένα δίκτυο πυλών που πραγματοποιεί τις πράξεις μέσω των Boolean πυλών Είναι ενδιαφέρον διαδικασία γιατί ενώ υπάρχουν πολλές συνδεσμολογίες που ικανοποιούν μια πράξη, ελάχιστες από αυτές είναι «μικρές» και «γρήγορες» Ανεξάρτητη από τη τεχνολογία (Technology-independent) βελτιστοποίηση που αναπαριστά (περιγράφει) τη λογική Εξαρτώμενη από τη τεχνολογία (Technology-dependent) βελτιστοποίηση που χρησιμοποιεί τις διαθέσιμες πύλες για την υλοποίηση της λογικής Η μεταφορά από την ανεξάρτητη από τη τεχνολογία φάση στην εξαρτώμενη από τη τεχνολογία φάση ονομάζεται library binding 18

ΑΝΕΞΑΡΤΗΤΗ ΑΠΟ ΤΗ ΤΕΧΝΟΛΟΓΙΑ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Εργάζεται με ισοδύναμα μοντέλα των Boolean εκφράσεων Υπολογίζει το μέγεθος του κυκλώματος με βάση τις εισόδους Κάνει χρήση διαμελισμού, επαναδιασύνδεσης, ελαχιστοποίησης κλπ για τη βελτιστοποίηση του κώδικα Χρησιμοποιεί απλά μοντέλα καθυστέρησης 19

ΕΞΑΡΤΩΜΕΝΗ ΑΠΟ ΤΗ ΤΕΧΝΟΛΟΓΙΑ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Κάνει αντιστοίχηση των Boolean εκφράσεων στα στοιχεία μιας βιβλιοθήκης Η αντιστοίχηση μπορεί να γίνεται με σκοπό το βέλτιστο εμβαδόν ή τη βέλτιστη απόδοση του κυκλώματος Χρησιμοποιεί πιο ρεαλιστικά μοντέλα καθυστέρησης 20

BOOLEAN ΔΙΚΤΥΟ Το Boolean δίκτυο είναι ο κυριότερος τρόπος απεικόνισης των λογικών συναρτήσεων στη ανεξάρτητη από τη τεχνολογία βελτιστοποίηση Κάθε κόμβος αναπαριστά ένα άθροισμα γινομένων (ή ένα γινόμενο αθροισμάτων) Προβάλει πολύ-επίπεδη λογική σχεδίασης αλλά οι συναρτήσεις σε αυτό το δίκτυο δεν αντιστοιχούν σε λογικές πύλες 21

BOOLEAN ΔΙΚΤΥΟ: ΠΑΡΑΔΕΙΓΜΑ primary outputs out1 = k2 + x2 out2 = k3 + x1 k2 = x1 x2 x4 + k1 k3 = k1 x4 primary inputs k1 = x2 + x3 x1 x2 x3 x4 22

ΑΝΕΞΑΡΤΗΤΗ ΑΠΟ ΤΗ ΤΕΧΝΟΛΟΓΙΑ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Υλοποιεί τη συνάρτηση 23

ΣΥΝΘΕΣΗ ΣΕ ΕΝΑ FPGA 24

FPGAs vs. ΕΞΑΤΟΜΙΚΕΥΜΕΝΟΣ ΣΧΕΔΙΑΣΜΟΣ Η μετρική του κόστους κυκλώματος στις στατικές πύλες είναι ο αριθμός των στοιχείων Η εξίσωση ax + bx έχει τέσσερα στοιχεία και απαιτεί οκτώ transistors Η μετρική του κόστους κυκλώματος σε ένα FPGAs είναι τα λογικά στοιχεία (logic elements) Όλες οι συναρτήσεις που υλοποιούνται σε ένα LE έχουν το ίδιο κόστος 25

ΛΟΓΙΚΗ ΣΥΝΘΕΣΗ ΜΕ LUT Βρίσκει τη μεγαλύτερη λογική που «χωράει» σε ένα LUT r = q + s q = g + h s = d d = a + b 26

Χωροθέτηση και Δρομολόγηση 27

ΦΥΣΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ Δύο είναι τα στάδια για το φυσικό σχεδιασμό Χωροθέτηση (placement) των δομών (υποκυκλωμάτων) στο ολοκληρωμένο Δρομολόγηση (routing) των καλωδίων μεταξύ των δομών Η χωροθέτηση και η δρομολόγηση αλληλεπιδρούν. Αλλά ο διαχωρισμός τους, σε δύο φάσεις του φυσικού σχεδιασμού βοηθάει στη κατανόηση και την επίλυση προβλημάτων 28

ΜΕΤΡΙΚΕΣ ΧΩΡΟΘΕΤΗΣΗΣ Μετρικές ποιότητας φυσικού σχεδιασμού Μέγεθος κυκλώματος (εμβαδόν) Καθυστέρηση Το μέγεθος και η καθυστέρηση καθορίζονται μερικώς από τη καλωδίωση Πως είναι δυνατόν να αποφασιστεί μια χωροθέτηση χωρίς να γίνει καλωδίωση? Με υπολογισμό του μήκους του καλωδίου εξαρχής 29

ΜΗΚΟΣ ΚΑΛΩΔΙΟΥ ΣΑΝ ΜΕΤΡΙΚΗ ΠΟΙΟΤΗΤΑΣ bad placement good placement 30

ΜΕΤΡΗΣΗ ΤΟΥ ΜΗΚΟΥΣ ΚΑΛΩΔΙΟΥ Γίνεται εκτίμηση του μήκους από την απόσταση μεταξύ των στοιχείων που συνδέει. Πιθανοί τρόποι Ευκλείδεια απόσταση (sqrt(x 2 + y 2 )); Απόσταση (x + y) Οι κόμβοι πρέπει να διασπαστούν για καλύτερη εκτίμηση Manhattan Euclidean 31

ΔΟΜΕΣ ΔΕΝΤΡΩΝ Steiner point 32

ΧΩΡΟΘΕΤΗΣΗ ΜΕ ΔΙΑΜΕΛΙΣΜΟ Εφαρμόζεται με επιτυχία σε σχέδια με στοιχεία (υποκυκλώματα) με παρόμοιο μέγεθος Χρησιμοποιεί το κριτήριο min-cut 33

ΕΠΑΝΑΛΑΜΒΑΝΟΜΕΝΟΣ ΔΙΑΜΕΛΙΣΜΟΣ 34

ΔΙΑΜΕΛΙΣΜΟΣ ΜΕ ΤΟ ΚΡΙΤΗΡΙΟ MIN- CUT (1/2) A 1 net B 3 nets C D partition 1 partition 2 35

ΔΙΑΜΕΛΙΣΜΟΣ ΜΕ ΤΟ ΚΡΙΤΗΡΙΟ MIN- CUT (2/2) Ανταλλαγή των κόμβων A και B Ο B δέχεται ένα καλώδιο Ο A δέχεται τρία καλώδια Αύξηση των καλωδίων μεταξύ των δύο μερών κατά τρία καλώδια Εν κατακλείδι, ίσως να μην είναι η καλύτερη επιλογή (η εναλλαγή των Α και Β) αλλά πρέπει να συγκριθεί με άλλα ζευγάρια 36

KERNIGHAN-LIN ΑΛΓΟΡΙΘΜΟΣ ΔΙΑΜΕΛΙΣΜΟΥ (1/2) Είναι επαναλαμβανόμενος και προσπαθεί να αφαιρέσει από τα τμήματα κόμβους Έστω ένας κόμβος e στο τμήμα 1 που είναι πιθανόν να μεταφερθεί στο τμήμα 2 Μπορούμε να μετρήσουμε κάποια στοιχεία για να πάρουμε αποφάσεις Έστω Ie είναι ο αριθμός των καλωδίων που ενώνονται στον e και ανήκουν στο τμήμα 1 Έστω Ee είναι ο αριθμός των καλωδίων που ενώνονται στον e και ανήκουν στο τμήμα 2 Εάν ο κόμβος e μετακινηθεί από το τμήμα 1 στο τμήμα 2 Τα καλώδια Ee δεν θα διασταυρώνονται μεταξύ των δύο τμημάτων, ενώ τα καλώδια Ie διασταυρώνονται 37

KERNIGHAN-LIN ΑΛΓΟΡΙΘΜΟΣ ΔΙΑΜΕΛΙΣΜΟΥ (2/2) Έστω De=Ee-Ie και f είναι ένας κόμβος παρόμοιος με τον e To κέρδος από την ανταλλαγή των e και f είναι ίσο με g=de+df-cef O cef είναι ένας παράγοντας συσχέτισης για την αποφυγή διπλομέτρησης των καλωδίων Άρα ο αλγόριθμος ανταλλάσει κόμβους (όχι ζευγάρια) μεταξύ των τμημάτων με σκοπό να μειώσει τα καλώδια που διασταυρώνονται 38

ΔΡΟΜΟΛΟΓΗΣΗ Στη δρομολόγηση επιλέγονται τα καλώδια μεταξύ των λογικών στοιχείων και των I/Os H δρομολόγηση γίνεται σε δύο φάσεις (στάδια) Καθολική ή σφαιρική (global) δρομολόγηση κατά την οποία επιλέγονται μόνο τα κανάλια που θα χρησιμοποιηθούν και όχι τα καλώδια ανά κανάλι Διεξοδική (detailed) δρομολόγηση κατά την οποία επιλέγονται αναλυτικά τα καλώδια που θα χρησιμοποιηθούν 39

ΜΕΤΡΙΚΕΣ ΔΡΟΜΟΛΟΓΗΣΗΣ Μετρικές κόστους δρομολόγησης Μήκος καλωδίων Καθυστέρηση Το μήκος των καλωδίων καθορίζει το ποσοστό κάλυψης (χρήσης) των πόρων δρομολόγησης Δεν επιθυμείται η χρήση περισσότερων καλωδίων από τα αναμενόμενα γιατί μπορεί να χρειαστούν για μελλοντική χρήση Η καθυστέρηση μετριέται από το κρίσιμο μονοπάτι 40

ΚΑΘΟΛΙΚΗ ΔΡΟΜΟΛΟΓΗΣΗ Επιλογή μιας σειράς καναλιών Ο γράφος ενός καναλιού βοηθάει στη καθολική δρομολόγηση 41

ΓΡΑΦΟΣ ΚΑΝΑΛΙΟΥ switch box channel switch box channel switch box channel LE channel LE channel switch box channel switch box channel switch box channel LE channel LE channel switch box channel switch box channel switch box 42

MAZE ΔΡΟΜΟΛΟΓΗΣΗ Βρίσκει μικρότερα μονοπάτια για ένα μοναδικό καλώδιο (εάν υπάρχει ένα τέτοιο μονοπάτι) Δύο φάσεις Ονοματίζει τους κόμβους με βάση την απόσταση και τη διασπορά από την «πηγή» Βρίσκει ένα μονοπάτι το οποίο μειώνει συνεχώς την απόσταση του από τη πηγή 43

LEE ΔΡΟΜΟΛΟΓΗΤΗΣ 44

ΔΡΟΜΟΛΟΓΗΣΗ FPGA Πρέπει να βρεθεί ένα μονοπάτι μεταξύ ενός δικτύου διασυνδέσεων Η σφαιρική δρομολόγηση επιλέγει τα κανάλια Η τοπική δρομολόγηση επιλέγει τα προγραμματιζόμενα σημεία διασύνδεσης 45

Απορίες???? 46