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

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

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

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

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

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

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

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

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

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

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

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

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

Συστοιχία Επιτόπια Προγραμματιζόμενων Πυλών Field Programmable Gate Arrays (FPGAs)

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Υλοποίηση μικροεπεξεργαστή σε περιβάλλον FPGA

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

Μνήμη και Προγραμματίσιμη Λογική

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

ΤΙΤΛΟΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΑΣΚΗΣΗΣ ΣΥΓΧΡΟΝΟΙ ΜΕΤΡΗΤΕΣ

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος

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

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 ΔΙΑΛΕΞΗ 17: Αναδιατασσόµενη Λογική Προγραµµατιζόµενο Υλικό

Ψηφιακή Σχεδίαση Ενότητα 11:

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

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

Ι ΑΣΚΩΝ ΚΑΘΗΓΗΤΗΣ: ΚΑΘΗΓΗΤΗΣ ΕΦΑΡΜΟΓΩΝ. ΤΕΙ ΥΤΙΚΗΣ ΜΑΚΕ ΟΝΙΑΣ

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

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΑΝΤΩΝΗΣ ΠΑΣΧΑΛΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Πτυχιακή Εργασία Σχεδίαση κυκλωμάτων επικοινωνίας με απλές οθόνες, με τη γλώσσα VHDL και υλοποίηση στις αναπτυξιακές πλακέτες LP-2900 και DE2.

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

15 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

, PAL PA, ΜΝΗΜΕΣ ROM)

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

ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ.3 ΑΣΥΓΧΡΟΝΟΣ ΔYΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.5 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ.7 ΑΣΥΓΧΡΟΝΟΣ ΔΕΚΑΔΙΚΟΣ ΑΠΑΡΙΘΜΗΤΗΣ ΜΕ LATCH.

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

ΑΣΚΗΣΗ 7. ΘΕΜΑ 1ο MINORITY A B C. C out

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

Μελέτη και προσομοίωση του απλού επεξεργαστή xr16

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Προγραμματιζόμενη Λογική Γιατί;

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

Κεφάλαιο 14 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. Σχεδιαστικές Μεθοδολογίες 2

Κ. ΕΥΣΤΑΘΙΟΥ, Γ. ΠΑΠΑΔΟΠΟΥΛΟΣ ΠΑΤΡΑ

Κεφάλαιο 9 ο. Γ. Τσιατούχας. VLSI Systems and Computer Architecture Lab. CMOS Λογικές ομές 2

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

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

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

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

Ελίνα Μακρή

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

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

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

K24 Ψηφιακά Ηλεκτρονικά 9: Flip-Flops

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

7 η διάλεξη Ακολουθιακά Κυκλώματα

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

Προγραµµατιζόµενες Συσκευές. Χρ. Καβουσιανός

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

15 ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

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

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

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

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

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

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

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

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

Ψηφιακά Συστήματα. 8. Καταχωρητές

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

Ενότητα ΑΡΧΕΣ ΑΚΟΛΟΥΘΙΑΚΗΣ ΛΟΓΙΚΗΣ LATCHES & FLIP-FLOPS

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

ΑΣΚΗΣΗ 10 ΣΧΕΔΙΑΣΗ ΑΚΟΛΟΥΘΙΑΚΩΝ ΚΥΚΛΩΜΑΤΩΝ

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

Κεντρική Μονάδα Επεξεργασίας

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 7 ο. Γ. Τσιατούχας. VLSI Technology and Computer Architecture Lab. Ακολουθιακή Λογική 2

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

Transcript:

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

ΠΕΡΙΕΧΟΜΕΝΑ Αρχιτεκτονικές των FPGA FPGA βασισμένα σε μνήμες SRAM Μόνιμα προγραμματισμένα FPGA Είσοδοι / Έξοδοι (Ι/Οs) Τα δομικά κυκλώματα των FPGA Παράμετροι σχεδίασης των FPGA 2

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΗΣ ΚΑΤΑΣΚΕΥΗΣ ΤΩΝ FPGA Τα FPGA για τη κατασκευή τους απαιτούν τρία βασικά στοιχεία: Συνδυαστική λογική (Combinational Logic) Διασυνδέσεις (Interconnect) Τις εισόδους / Εξόδους (I/O pins) IOB IOB IOB LE LE LE interconnect LE LE LE LE LE LE 3

ΟΡΟΛΟΓΙΑ Διαμόρφωση (Configuration): bits που καθορίζουν τη συνδυαστική λογική και τις διασυνδέσεις Συνδυαστικά Λογικά Τμήματα (Combinational logic block CLB): Στοιχειώδη κύκλωμα συνδυαστικής λογικής Λογικά Στοιχεία (Logic Element LE): Στοιχειώδη κύκλωμα συνδυαστικής λογικής. Ταυτόσημη έννοια με το CLB LUT Πίνακας (Lookup table): Πίνακας αναζήτησης SRAM (ROM): Πίνακας αναζήτησης I/O block (IOB): I/O pin 4

ΒΑΣΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΩΝ CLB ΚΑΙ LE Προγραμματιζόμενα: Συνδέσεις εισόδων Των εσωτερικών «συναρτήσεων» Coarser-grained σε σχέση με τις λογικές πύλες Συνήθως τεσσάρων εισόδων Περιέχουν έναν καταχωρητή του 1-bit Μπορεί να περιέχουν εξειδικευμένη «λογική» Αθροιστή 5

ΛΟΓΙΚΗ ΣΥΝΘΕΣΗ Για να γίνει η σύνθεση ενός κυκλώματος σε FPGA πρέπει να απαντηθούν δύο βασικά ερωτήματα: Πως είναι εφικτός ο κατακερματισμός ενός κυκλώματος σε λογικά στοιχεία? Πως είναι εφικτή η υλοποίηση μιας διαδικασίας με τη χρήση λογικών στοιχείων? 6

ΤΟΠΟΘΕΤΗΣΗ (ΧΩΡΟΘΕΤΗΣΗ) Πως πρέπει να γίνει η τοποθέτηση της κάθε στοιχειώδους λογικής (CLBs, LE) σαν ένας «πίνακας»? LE LE LE LE LE LE LE LE LE 7

ΔΙΑΣΥΝΔΕΣΗ (1/2) Έστω ότι γίνεται η τοποθέτηση των στοιχειωδών λογικών Πως διασυνδέονται? Με προγραμματιζόμενες διασυνδέσεις Τα FPGA παρέχουν διάφορους τύπους διασυνδέσεων Ανάλογα με τις αποστάσεις και το είδος των στοιχείων που διασυνδέονται Π.χ. Το σήμα του ρολογιού διανέμεται με ανεξάρτητο δίκτυο διασυνδέσεων 8

ΔΙΑΣΥΝΔΕΣΗ (2/2) Ο κατασκευαστής του FPGA πρέπει να έχει προσχεδιάσει το δίκτυο διασυνδέσεων Αντίθετα ο σχεδιαστής ενός ASIC ολοκληρωμένου πρέπει να σχεδιάσει μόνος του τις διασυνδέσεις Το σύστημα διασυνδέσεων στα FPGA είναι περίπλοκη και σημαντική διαδικασία 9

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΕΣ ΔΙΑΣΥΝΔΕΣΕΙΣ Οργανώνονται σαν κανάλια Πολλά καλώδια ανά κανάλι Οι διασυνδέσεις μεταξύ καλωδίων γίνονται με τα «σημεία προγραμματιζόμενων διασυνδέσεων» (programmable interconnection points) Απαιτείται να γίνει επιλογή: Του καναλιού που συνδέει την «πηγή» και την «προέλευση» Του καλωδίου που βρίσκεται σε αυτό το κανάλι 10

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟ ΣΗΜΕΙΟ ΔΙΑΣΥΝΔΕΣΗΣ D Q Ένα Flip-Flop (FF) είναι διασυνδεμένο με το καλώδιο μέσω μιας «λογικής» Η «λογική» καθορίζει τη σύνδεση ή τη μη σύνδεση των καλωδίων Το FF περιέχει τη πληροφορία σχετικά με τη διασύνδεση 11

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΑ ΜΟΝΟΠΑΤΙΑ ΚΑΛΩΔΙΩΝ (1/2) Τα κανάλια τοποθετούνται οριζόντια και κάθετα μέσα στο FPGA μεταξύ των λογικών στοιχείων 12

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΑ ΜΟΝΟΠΑΤΙΑ ΚΑΛΩΔΙΩΝ (2/2) Οι διασυνδέσεις μπορεί να είναι μεγάλες σε μήκος και περίπλοκες LE LE LE LE LE Wiring channel Wiring channel LE LE LE LE LE LE LE LE LE LE 13

ΕΠΙΛΟΓΗ ΜΟΝΟΠΑΤΙΟΥ (ΔΡΟΜΟΛΟΓΗΣΗ) LE LE 14

ΠΡΟΒΛΗΜΑΤΑ ΔΡΟΜΟΛΟΓΗΣΗΣ Σφαιρική (συνολική) δρομολόγηση: Ποιος συνδυασμός καναλιών θα επιλεγεί? Τοπική δρομολόγηση: Ποιο καλώδιο από το κανάλι θα επιλεγεί? Μετρηκές δρομολόγησης: Μήκος Καθυστέρηση 15

ΚΑΛΩΔΙΩΣΗ Τμηματική Length 1 Length 2 Εξισορροπητική 16

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΔΙΑΣΥΝΔΕΣΕΩΝ Διασύνδεση μεταξύ των καναλιών και των λογικών στοιχείων (LEs) Διασύνδεση μεταξύ των καλωδίων σε διαφορετικά κανάλια Κανάλι καλωδίων LE LE 17

ΔΙΑΚΟΠΤΕΣ Χρησιμοποιούν προγραμματιζόμενα σημεία διασύνδεσης Δίνεται η δυνατότητα να συνδεθεί καλώδιο από οποιοδήποτε κανάλι με καλώδιο άλλου καναλιού channel channel channel channel 18

I/O (PINS) Θεμελιώδης επιλογές: είσοδοι, έξοδοι, three-state? Επιπρόσθετα χαρακτηριστικά: Χαμηλή κατανάλωση (Voltage levels) Υψηλή απόδοση (high speed) 19

ΤΕΧΝΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΤΩΝ FPGA SRAM (στατικές RAM) Μπορούν να προγραμματιστούν πολλές φορές Antifuse (αντι-ασφάλειες) Προγραμματίζονται μόνο μια φορά Flash. Παρόμοια με τις RAM αλλά χρησιμοποιούν μνήμες flash 20

ΔΙΑΜΟΡΦΩΣΗ (CONFIGURATION) Πρέπει να προσδιοριστούν bits για: LE ή CLB Διασυνδέσεις I/O Συνήθως η διαμόρφωση γίνεται off-line «Κάψιμο» των αντι-ασφαλειών (antifuse). Με την εφαρμογή του ρεύματος (SRAM) 21

ΔΙΑΜΟΡΦΩΣΗ vs. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διαμόρφωση FPGA: Τα bits παραμένουν στη συσκευή που προγραμματίζουν Τα bits διαμόρφωσης ελέγχουν έναν «διακόπτη» ή μια «λογική» Προγραμματισμός CPU Οι εντολές διαβάζονται από τη μνήμη Οι εντολές εκτελούν πολύπλοκες λειτουργίες add r1, r2 memory add IR r1, r2 CPU 22

ΕΠΑΝΑ-ΔΙΑΜΟΡΦΩΣΗ ή ΕΠΑΝΑ-ΔΙΕΥΘΕΤΗΣΗ (RECONFIGURATION) Πολλά FPGAs είναι κατασκευασμένα για άμεση διαμόρφωση Μερικοί κύκλοι ρολογιού είναι αρκετοί Επιτρέπουν στο υλικό (hardware) να μεταβάλλεται on-the-fly 23

ΒΑΣΙΚΑ ΕΡΩΤΗΜΑΤΑ ΓΙΑ THN ΚΑΤΑΣΚΕΥΗ FPGA Δεδομένου της απαίτησης για ελαχιστοποίηση των πόρων Πόσα λογικά στοιχεία (LE ή CLB) απαιτούνται? Πόσες διασυνδέσεις απαιτούνται? Πόσα I/Os? 24

ΕΡΩΤΗΜΑΤΑ ΓΙΑ ΤΑ ΛΟΓΙΚΑ ΣΤΟΙΧΕΙΑ Πόσες εισόδους πρέπει να έχουν? Πόσες λογικές συναρτήσεις πρέπει να υλοποιούν? Πόσων εισόδων? Πρέπει να περιέχουν κάποια εξειδικευμένη λογική? Αθροιστές, μνήμες κλπ Ποια τα χαρακτηριστικά των καταχωρητών που θα περιέχουν? 25

ΕΡΩΤΗΜΑΤΑ ΓΙΑ ΤΙΣ ΔΙΑΣΥΝΔΕΣΕΙΣ Πόσα καλώδια πρέπει να περιέχονται σε κάθε κανάλι? Πρέπει να γίνει ομοιόμορφη κατανομή των καλωδίων ανά κανάλι? Πως πρέπει να τμηματοποιηθούν τα καλώδια? Πόσο πρέπει να είναι το μέσο μήκος των καλωδίων? 26

ΕΡΩΤΗΜΑΤΑ ΓΙΑ ΤΑ I/Os Ποιος θα είναι ο μέγιστος αριθμός των pins? Ο μέγιστος αριθμός αποφασίζεται και με βάση τη συσκευασία Τα pins προγραμματίζονται το καθένα ξεχωριστά ή σαν groups? 27

FPGA βασισμένα σε SRAM Xilinx. Altera. 28

FPGA ΒΑΣΙΣΜΕΝΑ ΣΕ SRAM Οι SRAM χρησιμοποιούνται για τον προγραμματισμό λογικών συναρτήσεων Πλεονεκτήματα: Είναι επανα-προγραμματιζόμενα Επανα-προγραμματισμός σε πραγματικό χρόνο Χρησιμοποιεί στάνταρντ διαδικασία κατά τη διεργασία κατασκευής Μειονεκτήμα: Υψηλή κατανάλωση ενέργειας 29

ΛΟΓΙΚΑ ΣΤΟΙΧΕΙΑ Τα λογικά στοιχεία περιέχουν λογικές συναρτήσεις και καταχωρητή(ές) Η SRAM χρησιμοποιείται σαν LookUp Table (LUT) για να κατασκευάσει τη λογική συνάρτηση inputs n Lookup table configuration bits 2 n 1 out Τυπικό παράδειγμα είναι ένα λογικό στοιχείο με τέσσερις εισόδους 30

ΠΑΡΑΔΕΙΓΜΑ 111 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 01 0 1 31

ΑΠΟΤΙΜΗΣΗ ΤΩΝ LUT ΒΑΣΙΣΜΕΝΩΝ ΣΕ SRAM Μια συνάρτηση των 2 n -εισόδων απαιτεί έναν LUT των n εισόδων Όλες οι λογικές συναρτήσεις καταλαμβάνουν τον ίδιο χώρο Όλες οι συναρτήσεις έχουν την ίδια καθυστέρηση Η SRAM είναι μεγαλύτερη από τις στατικές πύλες Οι λογικές συναρτήσεις καταναλώνουν περισσότερο από τις στατικές πύλες 32

ΚΑΤΑΧΩΡΗΤΕΣ ΣΤΑ ΛΟΓΙΚΑ ΣΤΟΙΧΕΙΑ Configuration bit LUT D Q LE out 33

ΕΠΙΠΛΕΟΝ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ Πολλά λογικά στοιχεία περιέχουν πολύπλοκα (επιπλέον) στοιχεία κυκλώματος Λογική πρόσθεσης carry chain Διαμελισμός των LUT 34

ΧΡΗΣΗ ROM ΓΙΑ ΣΥΝΔΥΑΣΤΙΚΗ ΛΟΓΙΚΗ 35

ΑΝΤΙΣΤΟΙΧΗΣΗ ΠΟΛΥΠΛΟΚΗΣ ΛΟΓΙΚΗΣ ΣΕ ROM 36

ROMs ΕΝΑΝΤΙ LUT Μια ROM μπορεί να χρησιμοποιηθεί ως lookup table (LUT) Ένα FPGA περιέχει μεγάλο αριθμό από LUTs Μπορεί να έχει 3LUT με 3 εισόδους και μια έξοδο Μπορεί να έχει 4LUT με 4 εισόδους και 1 έξοδο Μπορεί να έχει 6LUT με 6 εισόδους και 1 έξοδο 37

ΑΝΤΙΣΤΟΙΧΙΣΗ ΛΟΓΙΚΗΣ ΠΥΛΗΣ ΣΕ LUT 38

ΑΝΤΙΣΤΟΙΧΙΣΗ ΛΟΓΙΚΗΣ ΠΥΛΗΣ ΣΕ LUT 39

ΑΝΤΙΣΤΟΙΧΙΣΗ ΛΟΓΙΚΗΣ ΠΥΛΗΣ ΣΕ LUT 40

ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΤΜΗΜΑΤΑ Στην απλοϊκή τους μορφή περιέχουν έναν LUT, ένα Flip-flip και έναν πολυπλέκτη 41

ΣΥΝΔΥΑΣΤΙΚΑ ΛΟΓΙΚΑ ΤΜΗΜΑΤΑ Περιέχει δύο εξόδους Έξοδος συνδυαστικής λογικής Έξοδος από τον καταχωρητή 42

ΜΙΑ ΔΙΑΜΟΡΦΩΣΗ 43

ΆΛΛΗ ΔΙΑΜΟΡΦΩΣΗ 44

ΚΑΙ ΆΛΛΗ ΜΙΑ 45

XILINX SPARTAN-II CLB Κάθε CLB περιέχει δύο ίδια slices Κάθε slice έχει δύο λογικά cells: Με δύο LUTs Με δύο Carry λογικές Και δύο registers 46

47

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΤΟΥ SPARTAN-II CLB Κάθε LUT μπορεί να χρησιμοποιηθεί είτε σαν 16-bit σύγχρονης μνήμης RAM ή σαν 16-bit καταχωρητής ολίσθησης Περιέχει μια XOR λογική πύλη Κάθε slice περιέχει έναν πολυπλέκτη για να συνδυάζει τα αποτελέσματα των δύο cells σε κάθε slice Ο καταχωρητής λειτουργεί είτε σαν DFF ή latch Περιέχει three-state drivers (BUFTs) για τη δημιουργία διαύλων 48

ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ SPARTAN-II CLB Αριθμητικές πράξεις Το carry block περιέχει τη XOR πύλη Υπολογίζει το carry με το LUT και χρησιμοποιεί την XOR για το άθροισμα Κάθε slice χρησιμοποιεί τον F5 πολυπλέκτη για να συνδυάσει τα αποτελέσματα των εσωτερικών πολυπλεκτών O F6 πολυπλέκτης συνδυάζει τις εξόδους των F5 πολυπλεκτών Οι καταχωρητές χρησιμοποιούνται είτε σαν DFF/latch ή σαν σήμα clock enable. 49

I/O BLOCK Decoder ΙΕΕΕ 1149.1 bits Instructor register 50

ALTERA APEX II ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ (1/2) Η λογική οργανώνεται σε Logic Array Blocks (LABs) Κάθε LAB περιέχει δέκα λογικά στοιχεία (Logic Elements-LEs) Τα λογικά στοιχεία διαμοιράζονται λογική μεταξύ τους 51

52

ALTERA APEX II ΛΟΓΙΚΟ ΣΤΟΙΧΕΙΟ (2/2) H «αλυσίδα» της λογικής ξεκινάει με ένα LUT των τεσσάρων εισόδων Η έξοδος του LUT δίνεται στη λογική carry H διαδοχική (cascade) λογική carry χρησιμοποιείται για την υλοποίηση συναρτήσεων πολλών εισόδων Μια λογική πύλη AND Η παραπάνω έξοδος οδηγείται σε έναν καταχωρητή Που μπορεί να λειτουργήσει σαν D, T, JK ή SR FF 53

ΔΙΑΜΟΙΡΑΣΜΟΣ ΛΟΓΙΚΗΣ Τα λογικά στοιχεία σε ένα Logic Array Βlock μοιράζονται λογική Την carry λογική Την δημιουργία σημάτων ελέγχου 54

ΟΙ ΤΡΟΠΟΙ ΛΕΙΤΟΥΡΓΙΑΣ ΤΟΥ APEX II LE Οι τρόποι λειτουργίας του είναι Η κανονική ή συνηθισμένη (normal) Η αριθμητική (arithmetic) H λειτουργία μετρητή (counter) 55

KANONIKH ΛΕΙΤΟΥΡΓΙΑ TOY APEX-II LE 56

ΑΡΙΘΜΗΤΙΚΗ ΛΕΙΤΟΥΡΓΙΑ ΤΟΥ APEX-II LE Εκμεταλλεύεται τη λογική carry 57

Η ΛΕΙΤΟΥΡΓΙΑ ΣΑΝ ΜΕΤΡΗΤΗΣ ΤΟΥ APEX-II LE Επιτρέπει τη λειτουργία γρήγορου μετρητή 58

ΕΛΕΓΧΟΣ ΣΤΟ APEX-II LE Κάθε LAB περιέχει λογική που δημιουργεί σήματα ελέγχου που διαχέονται σε όλα τα LE Η λογική δέχεται σήματα από το υπόλοιπο ολοκληρωμένο και δημιουργεί σήματα ελέγχου για τους καταχωρητές Load, clear, enable, preset κλπ 59

ΔΙΚΤΥΟ ΔΙΑΣΥΝΔΕΣΗΣ Τα λογικά στοιχεία πρέπει να συνδεθούν για να υλοποιήσουν πολύπλοκες «λειτουργίες» Τα FPGA βασισμένα σε SRAM χρησιμοποιούν SRAM μνήμες για να αποθηκεύσουν τις πληροφορίες διασύνδεσης Άρα οι διασυνδέσεις απαιτούν επανα-διευθέτηση με τον ίδιο τρόπο όπως τα λογικά στοιχεία 60

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟ ΣΗΜΕΙΟ ΔΙΑΣΥΝΔΕΣΗΣ Το FF περιέχει τη πληροφορία σχετικά με την διασύνδεση Το CMOS τρανζίστορ χρησιμοποιείται για τη διασύνδεση μεταξύ των καλωδίων Όταν η πύλη του τρανζίστορ είναι σε λογικό «1» άγει και συνδέει τα δύο καλώδια Όταν η πύλη του τρανζίστορ είναι σε λογικό «0» δεν άγει και δεν συνδέει τα δύο καλώδια D Q 61

ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΟ ΣΗΜΕΙΟ ΔΙΑΣΥΝΔΕΣΗΣ Συνδεδεμένο Χωρίς Σύνδεση 62

ΠΡΟΓΡΑΜΜΤΙΖΟΜΕΝΗ vs. ΣΤΑΘΕΡΗ ΔΙΑΣΥΝΔΕΣΗ Οι διακόπτες προσθέτουν καθυστέρηση στα καλώδια Τα CMOS τρανζίστορ δεν είναι τέλειοι διακόπτες Η καλωδίωση στα FPGA είναι αρκετά μεγαλύτερη από τι στα ASIC ολοκληρωμένα Αυτό επιβαρύνει τη γραμμή του καλωδίου με επιπλέον χωρητικότητα και αντίσταση 63

ΣΤΡΑΤΗΓΙΚΕΣ ΔΙΑΣΥΝΔΕΣΗΣ Τύποι καλωδίων Μικρά καλώδια: Χρησιμοποιούνται για την διασύνδεση LE τοπικά π.χ. Η carry αλυσίδα Γενικά καλώδια: Χρησιμοποιούνται για διασυνδέσεις σε μακρινές αποστάσεις. Είναι γρήγορα και περιέχουν λίγες διασυνδέσεις Καλώδια ειδικού σκοπού: Για τη διανομή του σήματος ρολογιού ή άλλων σημάτων ελέγχου 64

ΠΑΡΑΔΕΙΓΜΑ Έστω ότι θέλουμε να παραγάγουμε τα σήματα Ν, Ζ, Ρ 65

ΠΑΡΑΔΕΙΓΜΑ LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 έξοδος Z LUT #8: F3 = D5 έξοδος N LUT #9: F4 = Z N έξοδος P 66

ΠΑΡΑΔΕΙΓΜΑ LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 έξοδος Z LUT #8: F3 = D5 έξοδος N LUT #9: F4 = Z N έξοδος P 67

ΠΑΡΑΔΕΙΓΜΑ LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 έξοδος Z LUT #8: F3 = D5 έξοδος N LUT #9: F4 = Z N έξοδος P 68

ΠΑΡΑΔΕΙΓΜΑ LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 έξοδος Z LUT #8: F3 = D5 έξοδος N LUT #9: F4 = Z N έξοδος P 69

ΠΑΡΑΔΕΙΓΜΑ LUT #1: F1 = D0 D1 D2 D3 LUT #7: F2 = F1 D4 D5 έξοδος Z LUT #8: F3 = D5 έξοδος N LUT #9: F4 = Z N έξοδος P 70

ΠΑΡΑΔΕΙΓΜΑ: ΟΙ ΔΙΑΣΥΝΔΕΣΕΙΣ ΣΤΟ SPARTAN-II FPGA Οι τύποι των διασυνδέσεων του Spartan II (Xilinx) FPGA είναι οι παρακάτω: Τοπικές (local) Γενικού σκοπού (general-purpose) Αποκλειστικές (dedicated), π.χ. buses, ρολόι, λογική carry Είσοδοι / Έξοδοι (I/O pin) 71

SPARTAN-II: ΤΟΠΙΚΕΣ ΔΙΑΣΥΝΔΕΣΕΙΣ Το δίκτυο τοπικών διασυνδέσεων εξασφαλίζει τη διασύνδεση μεταξύ: Των LUTs Των FFs Εσωτερική διασύνδεση στα CLBs Ανατροφοδότηση των CLBs Διασύνδεση υψηλής ταχύτητας μεταξύ των οριζοντίως γειτονικών CLBs Αυτές οι δομές χρησιμοποιούνται κυρίως για αριθμητικά κυκλώματα και καταχωρητές ολίσθησης 72

SPARTAN-II: ΔΙΑΣΥΝΔΕΣΕΙΣ ΓΕΝΙΚΟΥ ΣΚΟΠΟΥ (1/2) Το δίκτυο διασυνδέσεων γενικού σκοπού περιλαμβάνει το κυρίως σώμα των διασυνδέσεων Περιέχει αρκετούς τύπους διασυνδέσεων: Τον Γενικό Πίνακα Διασυνδέσεων (General Routing Matrix -GRM) που είναι ένας πίνακας διακοπτών και χρησιμοποιείται για τη διασύνδεση Οριζόντιων και κάθετων καναλιών καλωδίων CLBs 73

SPARTAN-II: ΔΙΑΣΥΝΔΕΣΕΙΣ ΓΕΝΙΚΟΥ ΣΚΟΠΟΥ (2/2) Διασύνδεση ενός GRM με τα τέσσερα γειτονικά του μέσω γραμμών single length Length 1 Length 2 Hex γραμμές που συνδέουν ένα GRM με άλλα απομακρυσμένα GRMs. Αυτές οι γραμμές περιέχουν buffers και εξασφαλίζουν μακρινή διασύνδεση Συνολικά υπάρχουν 96 hex γραμμές. Οι 32 είναι δικατευθυντήριες και οι υπόλοιπες μονοκατευθυντήριες 12 μεγάλες γραμμές (longlines) οι οποίες διατρέχουν όλο τον χώρο του FPGA 74

ΓΕΝΙΚΟ ΔΙΑΓΡΑΜΜΑ ΔΙΑΣΥΝΔΕΣΕΩΝ ΤΟΥ SPARTAN-II Η τοπογραφία των GRM και των μεταξύ τους διασυνδέσεων Single length γραμμές 75

SPARTAN-II: ΕΙΣΟΔΟΙ / ΕΞΟΔΟΙ Υποστηρίζουν πολλαπλά πρότυπα I/Os όπως LVTTL (Low Voltage Logic Threshold Levels), PCI (Peripheral Component Interface), LVCMOS2 κ.λ.π Έχουν ενσωματωμένους καταχωρητές Προγραμματιζόμενη καθυστέρηση σε σήματα 76

ΓΕΝΙΚΟ ΔΙΑΓΡΑΜΜΑ ΤΩΝ I/Os 77

SPARTAN-II: ΔΙΑΥΛΟΙ ΤΡΙΩΝ ΚΑΤΑΣΤΑΣΕΩΝ (THREE STATE BUS) Οι δίαυλοι αυτοί διατρέχουν το FPGA οριζόντια Σε κάθε CLB αντιστοιχούν 4 κατατετμημένοι δίαυλοι Είναι δικατευθυντήριοι 78

SPARTAN-II: ΔΙΑΝΟΜΗ ΣΗΜΑΤΟΣ ΡΟΛΟΓΙΟΥ Αρχικά χρησιμοποιείται ένας buffer για τη μείωση της καθυστέρησης και της υπερκάλυψης του σήματος Μετά διανέμετε με ένα δίκτυο με 24 γραμμές Οι μισές στο πάνω μέρος του ολοκληρωμένου Οι άλλες μισές στο κάτω μέρος του ολοκληρωμένου 79

ΠΑΡΑΔΕΙΓΜΑ: ΟΙ ΔΙΑΣΥΝΔΕΣΕΙΣ ΣΤΟ APEX II FPGA Το δίκτυο διασυνδέσεων του Apex ΙΙ (Altera) FPGA περιλαμβάνει οριζόντια και κάθετα κανάλια που διασύνδεουν τα LE με τους ακροδέκτες column row 80

ΣΥΝΕΧΕΙΑ Ένα καλώδιο σε οριζόντιο κανάλι μπορεί να «οδηγηθεί» από ένα LE, I/O block ή ένα στοιχείο μνήμης Ένα καλώδιο σε κάθετο κανάλι χρησιμοποιείται για την διασύνδεση καλωδίων μεταξύ οριζοντίων καναλιών Κάποια «αποκλειστικά» καλώδια με buffers χρησιμοποιούνται για την οδήγηση σημάτων υψηλού fanout όπως π.χ. το σήμα ρολογιού 81

ΣΥΝΕΧΕΙΑ Η διασύνδεση των κάθετων καλωδίων με το περιβάλλον γίνεται με ακροδέκτες Κάθε κάθετη γραμμή «διατρέχει» τη λογική διασύνδεσης δύο MegaLAB (Logic Array Block) Κάθε μια «οδηγεί» 4 MegaLABs στις πάνω γραμμές του FPGA και 4 MegaLABs στις κάτω γραμμές του FPGA 82

ΑΠΟΡΙΕΣ???? 83