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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

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

inding B Binding -Library Cell

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

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

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

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

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

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

Χρ. Καβουσιανός Επίκουρος Καθηγητής

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

Σύνθεση Data Path. ιασύνδεσης. Μονάδες. Αριθµό Μονάδων. Τύπο Μονάδων. Unit Selection Unit Binding. λειτουργιών σε. Μονάδες. Αντιστοίχιση µεταβλητών &

Τεχνικές βελτιστοποίησης µε σκοπό την επίτευξη χαµηλής κατανάλωσης ισχύος

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

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

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

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

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

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

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

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Περιεχόµενα. Πρόλογος Εισαγωγή 21

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

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

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

Σχεδίαση µε CAD tools

Καταστάσεων. Καταστάσεων

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

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

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

Κυκλώµατα µε MSI. υαδικός Αθροιστής & Αφαιρέτης

Ολοκλήρωση Σχεδίασης µε CAD-tools. (Back-End) Χρ. Καβουσιανός

Αλγόριθµοι Εκτίµησης Καθυστέρησης και

.Λιούπης. Ψηφιακά Ηλεκτρονικά Ακεραιότητα Ψηφιακού Σήµατος 1

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

Ψηφιακά Ηλεκτρονικά. Μάθηµα 5ο.. Λιούπης

C D C D C D C D A B

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

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

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

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

2 η Θεµατική Ενότητα : Σύνθετα Συνδυαστικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

Ελίνα Μακρή

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

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

7 η Θεµατική Ενότητα : Καταχωρητές, Μετρητές και Μονάδες Μνήµης

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

ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο Ένα συνδυαστικό κύκλωµα µπορεί να περιγραφεί από: Φεβ-05. n-είσοδοι

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

.Λιούπης. Ψηφιακά Ηλεκτρονικά - Ηµιαγωγικές Μνήµες 1

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

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

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

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

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

3 η Θεµατική Ενότητα : Απλοποίηση Συναρτήσεων Boole. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

ΚΕΦΑΛΑΙΟ Συνδυαστικά Κυκλώµατα. 3.2 Σχεδιασµός Συνδυαστικής Λογικής 3.3 ιαδικασία Ανάλυσης 3.4 ιαδικασία Σχεδιασµού.

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

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

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

Υλοποίηση λογικών πυλών µε τρανζίστορ MOS. Εισαγωγή στην Ηλεκτρονική

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

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

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

Εργαστήριο Ψηφιακής Σχεδίασης

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων. Διδάσκοντες

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

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

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

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

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

ε. Όταν διακόψουμε την τάση τροφοδοσίας μιας μνήμης ROM, τα δεδομένα της χάνονται. Μονάδες 15

Περίληψη. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο Μετρητής Ριπής (Ripple Counter) Μετρητές (Counters) Μετρητής Ριπής (συν.

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

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

Xρονισμός ψηφιακών κυκλωμάτων

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

Σχεδίαση CMOS Ψηφιακών Ολοκληρωμένων Κυκλωμάτων

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

Κυκλώµατα. Εισαγωγή. Συνδυαστικό Κύκλωµα

Transcript:

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

Οι προγραµµατιζόµενες συσκευές: Εισαγωγή Είναι ολοκληρωµένα κυκλώµατα τα οποία προγραµµατίζονται από τον σχεδιαστή στο εργαστήριο του. Αποτελούνται από επαναλαµβανόµενες διατάξεις κυττάρων τα οποία διαµορφώνονται και διασυνδέονται για να υλοποιήσουν ένα κύκλωµα. Χρησιµοποιούνται ειδικά εργαλεία για εισαγωγή σχεδιασµού, εξοµοίωση και προγραµµατισµό της συσκευής. εν απαιτείται καµία µάσκα κατασκευής. Μειωµένο κόστος µονάδος. Είναι ιδανικές για προτυποποίηση. Πλεονεκτήµατα Όλη η σχεδίαση γίνεται στο εργαστήριο. Εύκολος προγραµµατισµός. Γίνονται σχεδιαστικές αλλαγές χωρίς κόστος Σχεδίαση Συστηµάτων σε FPGA 2

Εισαγωγή Μεγάλος αριθµός κοµµατιών Tο κόστος πρωτοτυποποίησης µεγάλο αλλά εξισταθµίζεται από το κόστος κάθε µονάδας. Μικρός αριθµός κοµµατιών Συµφέρουν τα MGAs Κόστος κατασκευής του πρωτότυπου, κόστος σχεδιασµού και χρόνος αναµονής Συµφέρουν τα FPGAs Οι προγραµµατιζόµενες συσκευές διατίθενται στην αγορά σε µεγάλη ποικιλία δυνατοτήτων ολοκλήρωσης και ταχύτητας Σχεδίαση Συστηµάτων σε FPGA 3

Εισαγωγή Κάθε οικογένεια προγραµµατιζόµενων συσκευών έχει την δική της αρχιτεκτονική. Εξειδικευµένο λογισµικό εκµεταλλεύεται βέλτιστα τα χαρακτηριστικά της για την υλοποίηση σχεδιαζόµενων συστηµάτων. Σχεδιάζονται νέες αρχιτεκτονικές διαρκώς για να βελτιώσουν τις επιδόσεις των προγραµµατιζόµενων συσκευών. Για την αξιολόγηση χρησιµοποιούνται γνωστά κυκλώµατα (benchmarks). h k Παρέχονται σε µεγάλη ποικιλία ανάλογα µε το περίβληµα, την απόδοση και φυσικά την τιµή κάθε οικογένειας. Altera Xilinx Actel Σχεδίαση Συστηµάτων σε FPGA 4

Γενικά Χαρακτηριστικά Είναι διατάξεις από λογικά κύτταρα µε δυνατότητες προγραµµατισµού, και διασύνδεσης. Υπάρχουν και προγραµµατιζόµενα κύτταρα εισόδου/εξόδου. Για την διασύνδεση των κυττάρων χρησιµοποιείται ειδικό πλάνο διασύνδεσης, το οποίο είναι διαφορετικό για την κάθε εταιρία και οικογένεια. Ο προγραµµατισµός των συσκευών µπορεί ί να είναι µόνιµος ό ή προσωρινός. PROM Είδη Συσκευών FPGAs PLAs CPLDs PALs SPLDs Σχεδίαση Συστηµάτων σε FPGA 5

Μνήµη PROM Είδη Προγραµµατιζόµενων Συσκευών Είναι το απλούστερο chip που µπορεί να προγραµµατιστεί για να υλοποιεί κάποιο κύκλωµα. Είναι µνήµη που όταν προγραµµατιστεί διατηρεί τα περιεχόµενα της και µετά την πτώση της τροφοδοσίας. Κατά την διάρκεια της λειτουργία της επιτρέπει µόνο ανάγνωση. Oι γραµµές διευθύνσεων αποτελούν τιςεισόδουςτουκυκλώµατος και οι γραµµές δεδοµένων τις εξόδους. Τα περιεχόµενα της PROM είναι ο πίνακας αλήθειας του κυκλώµατος. Η µέθοδος αυτή είναι µη-οικονοµική αφού το κόστος της PROM είναι µεγάλο ενώ µία λογική συνάρτηση απαιτεί µόνο λίγους όρους συνήθως γιαναυλοποιηθεί(και έχει πολλούς αδιάφορους όρους Χ). Σχεδίαση Συστηµάτων σε FPGA 6

a b c d f 1 f 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 PROM a b c d f 1 f 2 Μνήµη PROM εν εκµεταλλεύεται δυνατότητες απλοποίησης Σχεδίαση Συστηµάτων σε FPGA 7

Είδη Προγραµµατιζόµενων Συσκευών PLA (Programmable Logic Array) Υλοποιεί λογικά κυκλώµατα σε διεπίπεδη µορφή AND-OR αθροίσµατος γινοµένων. ύο προγραµµατιζόµενα επίπεδα λογικής: AND - OR. Έξοδος πρώτου επιπέδου: όρος γινοµένου οσονδήποτε εισόδων Έξοδος δευτέρου επιπέδου: άθροισµα όρων γινοµένου πρώτου επίπεδου. Μειονέκτηµα:µικρή ταχύτητα λόγω δύο προγραµµατιζόµενων επιπέδων Το πρόβληµα µετριάζεται εάν µόνο το πρώτο επίπεδο (όροι γινοµένου) είναι προγραµµατιζόµενο. Σχεδίαση Συστηµάτων σε FPGA 8

I 1 I 2 I 3 I n PLA F 1 F n Σχεδίαση Συστηµάτων σε FPGA 9

Είδη Προγραµµατιζόµενων Συσκευών PAL (Programmable Array Logic) : Mόνο το πρώτο επίπεδο (όροι γινοµένου) προγραµµατιζόµενο (τα λογικά αθροίσµατα είναι σταθερά). D D D Προγραµµατιζόµενες Έχουν περιορισµένες δυνατότητες υλοποίησης λογικών κυκλωµάτων Έξοδοι D ιατάξεις D AND D Έρχονται σε µεγάλη ποικιλία εισόδων, εξόδων και µεγέθους OR πυλών. D... Είσοδοι Έχουν flip flop στην έξοδο της OR για ακολουθιακά κυκλώµατα. SPLDs (Simple Programmable Logic Devices): όλες οι παρεµφερείς µε τις PALs και PLAs συσκευές µε µικρό κόστος και µεγάλη ταχύτητα. Σχεδίαση Συστηµάτων σε FPGA 1

CPLDs Complex Programmable Logic Devices: Έχουν µεγαλύτερη χωρητικότητα για περισσότερο απαιτητικές σε επιφάνεια εφαρµογές. Το πρόβληµα σε αυτήν την περίπτωση είναι η δυσανάλογα µεγάλη αύξηση της προγραµµατιζόµενης λογικής σε σχέση µε την αύξηση του αριθµού των εισόδων. Είναι αρχιτεκτονικές που βασίζονται στην διασύνδεση δ πολλαπλών λώ SPLDs σε ένα chip. Παρέχουν χωρητικότητα περίπου 5 τυπικών συσκευών SPLDs (όριο αντοχής τους). Για επιπλέον αύξηση πρέπει να ακολουθήσουµε διαφορετική προσέγγιση αρχιτεκτονικής. Σχεδίαση Συστηµάτων σε FPGA 11

FPGAs Field Programmable Gate Arrays: Bασίζονται στην αρχιτεκτονική των gate arrays (συστάδες προκατασκευασµένων τρανζίστορ τα οποία διασυνδέονται για να υλοποιήσουν το ζητούµενο κύκλωµα). Τα gate arrays έχουν την υψηλότερη πυκνότητα ολοκλήρωσης σε chip αλλά είναι MPGAs (µεγάλο κόστος και χρόνος κατασκευής). Τα FPGAs αποτελούνται από µία συστάδα κυκλωµατικών στοιχείων (logic blocks) µε αρκετές δυνατότητες διασύνδεσης και διαµορφώνονται µεπρογραµµατισµό που γίνεται στο πεδίο εφαρµογής τους. Τα FPGAs είναιοιπρογραµµατιζόµενες συσκευές που παρέχουν την µεγαλύτερη πυκνότητα ολοκλήρωσης. Σχεδίαση Συστηµάτων σε FPGA 12

Γενική οµή FPGAs FPGAs Σχεδίαση Συστηµάτων σε FPGA 13

Προγραµµατιζόµενοι ιακόπτες Όταν προγραµµατιστούν καθορίζουν τον τρόπο λειτουργίας του κυκλώµατος. Αρχικά χρησιµοποιήθηκαν οι ασφάλειες (fuses). Στα CPLDs χρησιµοποιούνται τα τρανζίστορ ρευστής πύλης (floating gate) που χρησιµοποιούνται και στις µνήµες EPROM και EEPROM Στα FPGAs χρησιµοποιούνται κύτταρα SRAM και (antifuses). Συστήµατα Προγραµµατισµού. Χρησιµοποιούνται φθηνά συστήµατα,(εξοπλισµός εργαστηρίου). Έχουν ειδικές υποδοχές (sockets) στις οποίες τοποθετείται το chip. Επικοινωνούν µε σταθµούς εργασίας στους οποίους εκτελείται το κατάλληλο λογισµικό προγραµµατισµού. In System Programming: Προγραµµατισµός µίας συσκευής µετά την τοποθέτηση της στο PCB (για προστασία από πολλαπλές τοποθετήσεις). Σχεδίαση Συστηµάτων σε FPGA 14

Προγραµµατιζόµενοι ιακόπτες Προγραµµατιζόµενοι διακόπτες EPROM, EEPROM. wired-and Ανάλογα µε τον προγραµµατισµό τους βρίσκονται σε δύο καταστάσεις: Γραµµή παράγοντα 1. Ελέγχονται από το δυναµικό της πύλης τους (gate). Είσοδοι 2. Είναι µονίµως αποκοµµένα, ανεξάρτητα από το δυναµικό της πύλης. EPROM Εξαρτάται από τον προγραµµατισµό τους. Σχεδίαση Συστηµάτων σε FPGA 15

Προγραµµατιζόµενοι ιακόπτες UV- Erasable PROM UV Light Πύλη 2 Πύλη 2 Πύλη 2 Πύλη 1 Γείωση Γείωση Γείωση Έχουν την δυνατότητα από-προγραµµατισµού µε υπεριώδη ακτινοβολία. Όταν εφαρµόζουµε τάση µεγαλύτερη από 12V στην υποδοχή του nmos, προγραµµατίζεται το transistor. Σχεδίαση Συστηµάτων σε FPGA 16

Προγραµµατιζόµενοι ιακόπτες UV- Erasable PROM ηµιουργείται υψηλό ηλεκτρικό πεδίο το οποίο ωθεί τα ηλεκτρόνια να υπερπηδήσουν το µονωτικό υλικό και να παγιδευτούν στην κάτω πύλη (floating). Ο προγραµµατισµός προκαλεί αύξηση της τάσης κατωφλίου πάνω από 5V. Το προγραµµατισµένο µ transistor είναι µόνιµα µ αποκοµµένο. Όταν το transistor δεν προγραµµατιστεί λειτουργεί κανονικά. Με την έκθεση του transistor σε υπεριώδη ακτινοβολία τα ηλεκτρόνια επανέρχονται στην θέση τους. Τοποθετείται ένα φωτο-αγώγιµο υλικό στην κορυφή του κεραµικού περιβλήµατος. Σχεδίαση Συστηµάτων σε FPGA 17

Προγραµµατιζόµενοι ιακόπτες Γραµµή παράγοντα B A Είσοδοι C EPROM Αν όλα τα transistor είναι απρογραµµάτιστα τότε υλοποιείται η συνάρτηση F=(A+B+C). Αν τo transistor Α είναι προγραµµατισµένο τότε υλοποιείται η συνάρτηση F=(B+C). Η είσοδος Α αγνοείται. Σχεδίαση Συστηµάτων σε FPGA 18

Προγραµµατιζόµενοι ιακόπτες Κύτταρα SRAM Οι συσκευές FPGAs χρησιµοποιούν κύτταρα SRAM και αντιασφάλειες. επίτρεψη αλλαγής Read/Write Data Q Q προγραµµατιζόµενο σηµείο εδοµένο προγραµµατισµού SRAM Cell Υλοποίηση Λογικής Θέτουν σε αγωγή transistor τα οποία βραχυκυκλώνουν δύο γραµµές. Υλοποίηση ιασύνδεσης Γραµµές επιλογής πολυπλεκτών Μόνιµη διασύνδεση µίας από τις εισόδους του πολυπλέκτη στην έξοδό του. Σχεδίαση Συστηµάτων σε FPGA 19

Προγραµµατιζόµενοι ιακόπτες Πλεονέκτηµα SRAM υνατότητα επαναπρογραµµατισµού Μειονέκτηµα SRAM απώλεια δδ δεδοµένων µε τροφοδοσία Downloading από ROM Μπαταρία Σχεδίαση Συστηµάτων σε FPGA 2

Προγραµµατιζόµενοι ιακόπτες Αντιασφάλειες Οι αντιασφάλειες είναι κυκλώµατα τα οποία απρογραµµάτιστα έχουν πολύ υψηλή αντίσταση (ανοικτά κυκλώµατα) ενώ όταν προγραµµατιστούν αποκτούν πολύ χαµηλή αντίσταση (πχ. αντιασφάλεια PLICE -Programmable Logic Interconnect Circuit Element της Actel) Η αντίσταση που θα έχει η κάθε αντιασφάλεια µετά τον προγραµµατισµό της είναι πολύ σηµαντική για την λειτουργία του κυκλώµατος. Σχεδίαση Συστηµάτων σε FPGA 21

Αντιασφάλειες Για τον προγραµµατισµό, τροφοδοτούµε µε ρεύµα (περίπου 5mA). Το υψηλό αυτό ρεύµα προκαλεί µεγάλη κατανάλωση ισχύος στην µικρή επιφάνεια της αντιασφάλειας, Λιώνει ένα λεπτό µονωτικό υλικό, οπότε δηµιουργείται κανάλι αγωγής Μία προγραµµατιζόµενη συσκευή µπορεί να έχει αρκετές αντιασφάλειες (1. 1..). Συνήθως µόνο το 2% από αυτές χρειάζεται να προγραµµατιστούν για να προκύψει το τελικό κύκλωµα. Οι αντιασφάλειες παρουσιάζουν αρκετά προβλήµατα αξιοπιστίας καθώς οι ιδιότητες τους αλλάζουν µε την πάροδο του χρόνου.. Σχεδίαση Συστηµάτων σε FPGA 22

Λογικά Κύτταρα Βασικό στοιχείο αρχιτεκτονικής µίας προγραµµατιζόµενης συσκευής. Αρχιτεκτονική ιάταξη Λογικών Κυττάρων ιασύνδεση µε προγραµµατισµό Το κάθε κύτταρο λογικής αναλαµβάνει να υλοποιήσει ένα τµήµα της λογικής του ζητούµενου κυκλώµατος. Οι δυνατότητες που έχει το κύτταρο, καθορίζουν πόσο µεγάλο θα είναι το τµήµα λογικής που θα υλοποιήσει. Επιφάνεια Παράµετροι Λογικών Κυττάρων Ταχύτητα Αριθµός Προγραµ/νων διακοπτών Ποσοστό αξιοποίησης Σχεδίαση Συστηµάτων σε FPGA 23

Κατηγορίες Λογικών Κυττάρων Βασικές κατηγορίες λογικών κυττάρων. Βασισµένα σε πολυπλέκτες Βασισµένα σε πίνακες αναζήτησης Προγραµµατιζόµενες διατάξεις λογικής Σχεδίαση Συστηµάτων σε FPGA 24

Λογικά Κύτταρα µε πολυπλέκτες A A 1 SLA B B 1 SLB S S 1 1 1 M 1 S M 2 S O 1 F 1 F 2 1 M 3 S F Λογικό κύτταρο ACTEL, ACT1 Σχεδίαση Συστηµάτων σε FPGA 25

Λογικά Κύτταρα µε πολυπλέκτες Βασική Ιδέα: ιασυνδέουµε τις εισόδους του κυττάρου στα κατάλληλα σήµατα, έτσι ώστε η έξοδος να υλοποιεί την επιθυµητή συνάρτηση. A A 1 SLA B B 1 SLB S S 1 1 1 M 1 M 2 F 1 S S O 1 F 2 1 M 3 S Λογική Συνάρτηση Πολυπλέκτη Μ 1 : F 1 =SLA A +SLA A 1 Θεώρηµα Shannon για συναρτήσεις: F (A, B,C, )=A F(A=, B,C, ) + A F(A=1, B,C, ) F=A F A +A F A Η F υλοποιείται µε έναν πολυπλέκτη εάν συνδέσουµε στην γραµµή επιλογής το Α, και στις δύο εισόδους τα F A και F A. Αναδροµική εφαρµογή έως ότου φθάσουµε σε τετριµµένες συναρτήσεις εισόδου (, 1, A, Α, B, Β, C, Σχεδίαση Συστηµάτων σε FPGA 26

Λογικά Κύτταρα µε πολυπλέκτες Παράδειγµα: Υλοποίηση συνάρτησης F=Α Β+ΑΒ C+ΑΒD µε το κύτταρο. A A 1 SLA 1 M 1 S M 2 F 1 1 M 3 S F=A F A +A F A µε F A =1 Β+ B C+ B D=B B Είσοδος : FA B 1 SLB S S 1 1 S O 1 F 2 Υλοποίηση F µε Μ 3 : Είσοδος 1: F A F A = B+1 Β C+1 Β D=Β C+Β D Είσοδος S: A => S 1 =A, S = Υλοποίηση F A µε Μ 1, Υλοποίηση F A µε Μ 2 Σχεδίαση Συστηµάτων σε FPGA 27

Λογικά Κύτταρα µε πολυπλέκτες A A 1 SLA B 1 M 1 S M 2 F 1 F 2 1 M 3 S F A =B=B +Β 1 Υλοποίηση F A µε M 1 Είσοδος : Είσοδος 1: 1 Είσοδος S: Β B 1 1 Είσοδος : C 1 F SLB S A =Β C+BD B S S Υλοποίηση F A Είσοδος 1: D 1 1 2 Είσοδος S: B S O µε Μ : A 1 B C D 1 M 1 S M 2 F 1 O 1 F 2 1 M 3 S Μπορεί να υλοποιήσει όλες τις συναρτήσεις δύο εισόδων, τις περισσότερες τριών εισόδων και µερικές τεσσάρων εισόδων Σχεδίαση Συστηµάτων σε FPGA 28 F

Λογικά Κύτταρα µε πολυπλέκτες A B C D 1 B C D B A 1 S 1 M 1 M 2 F 2 S O 1 F 1 M 3 F 1 S Σχεδίαση Συστηµάτων σε FPGA 29

Λογικά Κύτταρα µε πολυπλέκτες H διαδικασία που αναλύσαµε είναι αρκετά χρονοβόρα και δύσκολη για έναν άνθρωπο, αλλά τετριµµένη για έναν υπολογιστή. Το λογισµικό συνήθως γνωρίζει πως µπορεί να υλοποιήσει διάφορες συναρτήσεις βάσης, ακολουθώντας πίνακες: Συνάρτηση Είσοδος Είσοδος 1 Επιλογή not(a) 1 A AB B A AB Α Β Α Β Β Α A+B B 1 A A+B 1 Α Β A +B 1 Β Α Σχεδίαση Συστηµάτων σε FPGA 3

Λογικά Κύτταρα µε πολυπλέκτες Στόχος κάθε εργαλείου σχεδίασης µε προγραµµατιζόµενες συσκευές είναι η µεγιστοποίηση της λογικής που υλοποιείται από κάθε κύτταρο. Η αρχιτεκτονική επιλογή του κυττάρου, γίνεται µε βάση την απόδοση του στην υλοποίηση συναρτήσεων. Η απόδοση κάθε κυττάρου στην γενικότερη προγραµµατιζόµενη συσκευή µπορούν να µετρηθούν µε τα benchmarks. ύο συνδυαστικά λογικά κύτταρα µπορούν να διασυνδεθούν για να υλοποιήσουν ένα ακολουθιακό κύτταρο. Επιβάρυνση από την χρήση δικτύου διασύνδεσης για υλοποίηση απλών κυττάρων. Αύξηση πολυπλοκότητας κυττάρου. Συµπεριλαµβάνουµε απλά ακολουθιακά στοιχεία µέσα στα λογικά κύτταρα. Σχεδίαση Συστηµάτων σε FPGA 31

Λογικά Κύτταρα µε πολυπλέκτες A1 B1 A B Τέτοιες αρχιτεκτονικές, ονοµάζονται fine-grain καθώς µοιάζουν πολύ µε το βασικό κύτταρο ενός MGA. Βοηθούν πολύ στην επίτευξη πολύ υψηλής αξιοποίησης των δυνατοτήτων υλοποίησης λογικής (πάνω από 9%) ιευκολύνουν το λογισµικό στην αντιστοίχιση της σχεδιαζόµενης λογική. Σχεδίαση Συστηµάτων σε FPGA 32

Λογικά Κύτταρα µε Πίνακες Αναζήτησης A B A B C D 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 C D LUT F 1 1 11 1 11 Πλεονέκτηµα: Σταθερή καθυστέρηση υπολογισµού µίας συνάρτησης, ανεξάρτητα της πολυπλοκότητας (µειονέκτηµα σε απλές συναρτήσεις). Σχεδίαση Συστηµάτων σε FPGA 33

Λογικό Κύτταρο Xilinx 3 CLB Άµεση είσοδος 5 είσοδοι 2 fip flop Συνδυαστικό τµήµα 2 έξοδοι Ρολόι Αρχικοποίηση Xilinx 3 CLB Σχεδίαση Συστηµάτων σε FPGA 34

Λογικό Κύτταρο Xilinx 3 CLB υνατότητες ιαµόρφωσης Όλες οι γραµµές I/O µπορούν να οδηγούν/οδηγούνται από το δίκτυο διασύνδεσης της προγραµµατιζόµενης συσκευής. Η είσοδος σε κάθε flip flop µπορεί να προέρχεται είτε από τις εξόδους F, G της συνδυαστικής λογικής, είτε από την γραµµή άµεσων δεδοµένων DI. Kάθε flip flop µπορεί ρ να αρχικοποιηθεί είτε από την γραµµή ασύγχρονης αρχικοποίησης, είτε από την γραµµή γενικής αρχικοποίησης, που ανήκει σε ένα ειδικό δίκτυο διασύνδεσης (κρυµµένο). Η λογική υλοποιείται από έναν πίνακα αναζήτησης των 32 bits. Για συνδυαστική λογική, φροντίζουµε µε προγραµµατισµό των πολυπλεκτών εξόδου, να περάσουµε στις εξόδους Χ, Υ τις εξόδους F, G του πίνακα αναζήτησης. Σχεδίαση Συστηµάτων σε FPGA 35

Λογικό Κύτταρο Xilinx 3 CLB υνατότητες ιαµόρφωσης Για ακολουθιακή λογική περνάµε στις εξόδους Χ, Υ τις εξόδους των ακολουθιακών στοιχείων. Για µεγαλύτερη ευελιξία, ο πίνακας δέχεται και τις εξόδους των flip flops ως εισόδους καθορισµού της συνάρτησης. Μηχανές Κατάστασης. Χρήση 5 από τις 7 εισόδους, για συναρτήσεις 5 µεταβλητών. (F, G πανοµοιότυποι) υνατότητες ιαµόρφωσης Πίνακα Αναζήτησης ιαίρεση του πίνακα στην µέση για υλοποίηση δύο συναρτήσεων (F, G) τεσσάρων µεταβλητών Υλοποίηση µερικών συναρτήσεων 6 ή 7 µεταβλητών. Σχεδίαση Συστηµάτων σε FPGA 36

Λογικό Κύτταρο Xilinx 4 CLB υνατότητες Κυττάρου Έχει ακόµη πιο σύνθετη δοµήαπό το 3. Ηαυξηµένη πολυπλοκότητα του λογικού κυττάρου οδηγεί και στην αύξηση της πολυπλοκότητας της διασύνδεσης. Περιλαµβάνει δύο LUTs των τεσσάρων εισόδων τα οποία τροφοδοτούν ένα LUT τριών εισόδων. Τα LUTs µπορούν να χρησιµοποιηθούν και ως µικρές µνήµες αποθήκευσης µε διαµόρφωση 32x1 ή διπλές µνήµες διαµόρφωσης 16x1 η κάθε µία. Ειδικό κύκλωµα ταχείας παραγωγής κρατουµένου για την υλοποίηση αριθµητικών συναρτήσεων Σχεδίαση Συστηµάτων σε FPGA 37

Λογικό Κύτταρο Xilinx 4 CLB Xilinx 4 CLB Σχεδίαση Συστηµάτων σε FPGA 38

1 F Επέκταση Λογικής Χρησιµοποιείται για την υλοποίηση µεγαλύτερων συναρτήσεων. Υλοποιήσουµε µία συνάρτηση n µεταβλητών χρησιµοποιώντας δύο συναρτήσεις (LUTs) n-1 µεταβλητών. Οι LUTs βρίσκονται σε διαφορετικά κύτταρα, αλλά η διασύνδεση τους γίνεται µε ειδικές γραµµές (χωρίς προγραµµατιζόµενες διασυνδέσεις) Σχεδίαση Συστηµάτων σε FPGA 39

Λογικά Κύτταρα µε προγραµ/νες διατάξεις ιεπίπεδη υλοποίηση συναρτήσεων F A B C A B C Οι συναρτήσεις εκφράζονται σαν αθροίσµατα παραγόντων Σχεδίαση Συστηµάτων σε FPGA 4 F

Λογικά Κύτταρα µε προγραµ/νες διατάξεις Υλοποίηση διεπίπεδης λογικής µε transistor (wired-and) X Y F 1 F=(x+y) F Προγραµµατισµένα δεν άγουν ποτέ A+B A+C A B C Σχεδίαση Συστηµάτων σε FPGA 41

Λογικά Κύτταρα µε προγραµ/νες διατάξεις F D SET Q CLR Q A B C CLK Oι προγραµµατιζόµενες διατάξεις συνδυάζονται µε πύλες OR και flip flops ώστε να έχουν µεγαλύτερες δυνατότητες υλοποίησης λογικής. Προγραµµατιζόµενη αντιστροφή εξόδου µίας συνάρτησης µε χρήση µίας πύλης XOR Σχεδίαση Συστηµάτων σε FPGA 42

Λογικά Κύτταρα µε προγραµ/νες διατάξεις F F = ACD + BCD + AB + BC ( A + B ) CD + ( A + C ) B = AB CD + AC B = F CD + F B F = 1 2 F 1 =AB, και F 2 =Α C A B C D F 1 F 2 Υλοποίηση αθροίσµατος 4 παραγόντων µε µία OR δύο εισόδων!! Συµπεριλαµβάνουµε και λογική επέκτασης, έτσι ώστε να επιτρέπεται η παραγοντοποίηση και άρα η ελαχιστοποίηση της χρησιµοποιούµενης λογικής Σχεδίαση Συστηµάτων σε FPGA 43

Λογικά Κύτταρα µε προγραµ/νες διατάξεις Altera MAX 7 Σχεδίαση Συστηµάτων σε FPGA 44

Altera MAX 7 Macrocell Λογική επέκτασης (από άλλα macrocells) Μονάδα επιλογής παραγόντων Κάθε LAB αποτελείται από 16 macrocells Λογική διπλού περάσµατος Ακολουθιακό στοιχείο Σχεδίαση Συστηµάτων σε FPGA 45

Κύτταρα Εισόδου/Εξόδου Αναλαµβάνουν την διασύνδεση µε τον εξωτερικό κόσµο. Παρέχουν ηλεκτροστατική προστασία. Είδη κυττάρων Ι/Ο Είσοδοι Τροφοδοσία DC AC Έξοδοι Ρολόϊ Delay Skew Supply Bounce Ground Bounce Σχεδίαση Συστηµάτων σε FPGA 46

Είσοδος Ρολογιού Ησχεδίαση του δικτύου διανοµής ρολογιού αποτελεί ένα από τα µεγαλύτερα προβλήµατα σχεδίασης. Στόχος είναι η ελαχιστοποίηση της καθυστέρησης του ρολογιού καθώς και του "clock skew. Χρησιµοποιούνται δίκτυα αποµονωτών. D in SET D out D Q Παραβίαση των χρόνων setup/hold οδηγεί σε δυσλειτουργία CLR Q ιαταραχές χρόνου ρολογιού οδηγούν σε προβλήµατα λειτουργίας. D in CLK Setup time Σχεδίαση Συστηµάτων σε FPGA 47

Είσοδος Ρολογιού A D in SET D out D A B Q D in SET D out D Q CLK 1 CLK 2 CLR Q CLR Q B CLK 1 CLK 2 Clock Skew Clock Skew Εάν υπάρχει µεγάλη διαφορά στο µήκος των γραµµών που διανέµουν το σήµα στα διάφορα σηµεία, τότε µπορεί να φτάσει µε διαφορετική καθυστέρηση. Σχεδίαση Συστηµάτων σε FPGA 48

Κύτταρο Ι/Ο Xilinx 3 Άµεσα µονοπάτια εισόδου Μονοπάτια µέσω καταχωρητή Προγραµµατιζόµενο αποµονωτή εξόδου τριών καταστάσεων Αντιστροφή εξόδου Υψηλής εµπέδησης αντίσταση εξόδου. Ηλεκτροστατική προστασία Σχεδίαση Συστηµάτων σε FPGA 49

Προγραµµατιζόµενες ιασυνδέσεις Αρχιτεκτονική ACTEL ACT Kανάλια διασύνδεσης: περιοχές σταθερού µεγέθους. Υπάρχουν οριζόντια και κάθετα κανάλια. Τα κάθετα κανάλια τρέχουν πάνω από τα λογικά κύτταρα. Η χωρητικότητα ενός καναλιού ισούνται µε τον αριθµό των διαδρόµων που περιέχει Σχεδίαση Συστηµάτων σε FPGA 5

Προγραµµατιζόµενες ιασυνδέσεις ACTEL Στήλη Προγραµµατισµένη αντιασφάλεια Logic Module Logic Module 25 διάδροµοι µήκους 4 έως 44 στήλες Κανάλι Logic Module Logic Module Σχεδίαση Συστηµάτων σε FPGA 51

Προγραµµατιζόµενες ιασυνδέσεις ACTEL ACTEL ACT H Actel χωρίζει τις γραµµές διασύνδεσης σε τµήµατα (segmented channel routing). Αντιασφάλειες ενώνουν τα τµήµατα όταν προγραµµατιστούν (µηπρογραµµατισµένες δεν επιτρέπουν την σύνδεση). Η οικογένεια ACT1 χρησιµοποιεί µ 25 οριζόντιους ρζ διαδρόµους: µ 22 για γενικής χρήσης σήµατα, 2 για τροφοδοσία και γείωση και 1 για ρολόι. Υπάρχουν 25 διάδροµοι ανά κανάλι, µε διάφορα µήκη, από 4 έως 44 στήλες (όλη την γραµµή). Για κάθε Logic Module 4 είσοδοι είναι διαθέσιµες στο κανάλι κάτω από το Logic Module, και 4 είσοδοι στο κανάλι πάνω από το Logic Module. Η έξοδος του Logic Module συνδέεται σε κάθετο διάδροµο που φθάνει έως και 2 κανάλια πάνω από το Module και 2 κανάλια κάτω από το Module Σχεδίαση Συστηµάτων σε FPGA 52

Προγραµµατιζόµενες ιασυνδέσεις ACTEL ACTEL ACT Σε κάθε στήλη (πλάτος ενός Logic Module) ο ένας κάθετος διάδροµος είναι µακρύς και διαπερνάει όλο το ύψος του ολοκληρωµένου. Tο σύνολο των διαδρόµων ανά στήλη είναι 13 (8 είσοδοι, 4 έξοδοι και 1 µακριά). Κατά την διαδρόµιση µ των γραµµών γίνεται προσπάθεια µείωσης των αντιασφαλειών που χρησιµοποιούνται για την ελαχιστοποίηση των καθυστερήσεων. Σχεδίαση Συστηµάτων σε FPGA 53

Προγραµµατιζόµενες ιασυνδέσεις Xilinx Xilinx XC4 Oι διασυνδέσεις πραγµατοποιούνται από µεταλλικά τµήµατα µε προγραµµατιζόµενα διακοπτικά στοιχεία (switching points) και µήτρες διακοπτικών στοιχείων (switching matrices). Τα λογικά τµήµατα ονοµάζονται CLBs (Configurable Logic Blocks) τα οποία τοποθετούνται σε διάταξη πίνακα. Η διασύνδεση των CLBs σχετίζεται µε κάθε γραµµή και στήλη του πίνακα των CLBs Η διασύνδεση των blocks εισόδου/εξόδου (ΙΟΒ) διαµορφώνει ένα δακτυλίδι (VersaRing) γύρω από τον πίνακα των CLBs. Υπάρχει γενική διασύνδεση (Global Routing) η οποία αποτελείται από αφοσιωµένα δίκτυα (για ρολόι και σήµατα µε µεγάλο Fanout). Σχεδίαση Συστηµάτων σε FPGA 54

Προγραµµατιζόµενες ιασυνδέσεις Xilinx Πέντε τύποι διασύνδεσης ξεχωρίζουν από το σχετικό µήκος των τµηµάτων τους: γραµµές µονές, διπλές, τετραπλές, οκταπλές και µακριές. Υπάρχουν άµεσες διασυνδέσεις που επιτρέπουν γρήγορη ροή δεδοµένων µεταξύ γειτονικών CLBs και µεταξύ ΙΟΒs και CLBs. Σχεδίαση Συστηµάτων σε FPGA 55

Προγραµµατιζόµενες ιασυνδέσεις Xilinx c M 1 M2 a b M 4 d M 5 M 6 M 3 Με προγραµµατισµό οι γραµµές a, b βραχυκυκλώνονται Οι οριζόντιες και κάθετες µονές και διπλές γραµµές τέµνονται σε ένα σηµείο που ονοµάζεται προγραµµατιζόµενη µήτρα διακοπτών (Programmable Switch Matrix PSM). Κάθε µήτρα διακοπτών αποτελείται από προγραµµατιζόµενα τρανσίστορ περάσµατος που καθορίζουν τις διασυνδέσεις µεταξύ των γραµµών. Σχεδίαση Συστηµάτων σε FPGA 56

Προγραµµατιζόµενες ιασυνδέσεις Xilinx Οι µονές γραµµές περνούν σε κάθε PSM Οι διπλές γραµµές περνούν από κάθε 2 PSM Βελτιστοποίηση διασυνδέσεων Σχεδίαση Συστηµάτων σε FPGA 57

Προγραµµατιζόµενες ιασυνδέσεις Altera Σχεδίαση Συστηµάτων σε FPGA 58

Προγραµµατιζόµενες ιασυνδέσεις Altera Όλα τα σήµατα διασυνδέονται στην ΡΙΑ και είναι διαθέσιµασε οποιοδήποτε σηµείο της συσκευής. Με 1 γίνεται σύνδεση Περνούν το ή το 1 ανάλογα µε τον προγραµµατισµό Προγραµµατιζόµενη διασύνδεση σηµάτων από την ΡΙΑ στο LAB Σχεδίαση Συστηµάτων σε FPGA 59

Καθορισµός Συχνότητας Ρολογιού Το ρολόι σε κάθε σχεδίαση εξαρτάται από το µεγαλύτερο λογικό µονοπάτι το οποίο ονοµάζεται και κρίσιµο µονοπάτι (critical path). Η περίοδος του ρολογιού θα πρέπει να είναι µεγαλύτερη από την καθυστέρηση αυτού του µονοπατιού Από pin σε pin (pin to pin). Μονοπάτια προς εξέταση Από pin σε ακολουθιακό στοιχείο (pin to register) Από ακολουθιακό στοιχείο σε pin (register to pin) Από ακολουθιακό στοιχείο σε ακολουθιακό στοιχείο Στα ακολουθιακά στοιχεία πρέπει να τηρούνται και οι χρόνοι setup-hold. Μας ενδιαφέρει η συχνότητα να τηρεί την χειρότερη περίπτωση λειτουργίας. Σχεδίαση Συστηµάτων σε FPGA 6

Καθορισµός Συχνότητας Ρολογιού I/O c c (α) C (β) S (γ) C (δ) S I/O C I/O I/O Την διαδικασία αυτή αναλαµβάνει η Στατική Χρονική Ανάλυση Σχεδίαση Συστηµάτων σε FPGA 61

Λογισµικό Προγραµµατισµού Η πολυπλοκότητα των FPDs και FPGAs κάνει απαραίτητη την χρήση ειδικού λογισµικού για την σχεδίαση και υλοποίηση συστηµάτων. Κάθε εταιρία παρέχει το δικό της λογισµικό προγραµµατισµού που µπορεί να εκµεταλλευτεί βέλτιστα τις δυνατότητες των συσκευών της. Υποστηρίζει εισαγωγή σχεδιασµού, βελτιστοποίηση λογικής, ταίριασµα λογικής µε την συσκευή, εξοµοίωση και διαµόρφωση συσκευής. Οι βιβλιοθήκες κυττάρων και το λογισµικό σχεδίασης είναι µοναδικές για κάθε κατασκευαστή. Στόχος είναι η βελτιστοποίηση της απόδοσης των αλγορίθµων για την κάθε αρχιτεκτονική χωριστά. Παρέχουν ακόµη και χειροκίνητο έλεγχο της διαδικασίας τοποθέτησης και διασύνδεσης για βελτιστοποίηση από τον σχεδιαστή κατευθείαν. Σχεδίαση Συστηµάτων σε FPGA 62

ιόρθωση Λαθών Λογισµικό Προγραµµατισµού ιαδικασία Σχεδίασης SPLDs Εισαγωγή Σχεδίασης Μετάφραση (1) (2) Βελτιστοποίηση (3) Τοποθέτηση στη συσκευή (4) Εξοµοίωση (5) Αρχείο ιαµόρφωσης Μονάδα Προγραµµατισµού Computer Σχεδίαση Συστηµάτων σε FPGA 63

Λογισµικό Προγραµµατισµού CPLDs: Η διαδικασία σχεδιασµού είναι όµοια. FPGAs: Απαιτούνται επιπλέον εργαλεία λόγω πολυπλοκότητας συσκευών. Κύρια διαφορά είναι στο Device Fitting: Αντιστοίχιση της λογικής στην χρησιµοποιούµενη τεχνολογία για την µετατροπή βασικών λογικών πυλών σε λογικά blocks των FPGAs. ιαδικασία τοποθέτησης ηςµ µε βάση την οποία θα επιλεγούν τα κατάλληλα logic blocks. ιαδικασία διαδρόµισης η οποία θα ενεργοποιήσει διασυνδέσεις λογικών τµηµάτων. Σχεδίαση Συστηµάτων σε FPGA 64

Λογισµικό Προγραµµατισµού Πρόβληµα λογισµικού: ανυπαρξία standards στην ονοµατολογία που χρησιµοποιεί η κάθε εταιρία Μία σχεδίαση σε προγραµµατιζόµενη συσκευή είναι σχεδόν απίθανο να µεταφερθεί σε άλλη αρχιτεκτονική, ακόµη και της ίδιας εταιρίας Με την χρήση HDLs το πρόβληµα λύνεται αφού η λογική σύνθεση αναλαµβάνει την αντιστοίχιση ίδιου σχεδιασµού σε διαφορετικές συσκευές/τεχνολογίες. Επιπλέον η σύνθεση βελτιστοποιεί τον σχεδιασµό. Γενική Βελτιστοποίηση Ειδική Βελτιστοποίηση Σχεδίαση Συστηµάτων σε FPGA 65

Λογισµικό Προγραµµατισµού & Εξοµοίωση Το λογισµικό προγραµµατισµού παρέχει πάντα και δυνατότητες εξοµοίωσης. Λογικός Εξοµοιωτής Χρονικός Αναλυτής Ο σχεδιαστής παρέχει κυµµατοµορφές εισόδου. Εντοπίζονται λάθη συµπεριφοράς λειτουργικά και χρονικά. Μπορεί να γίνει σε διάφορα στάδια σχεδίασης. εν χρειάζεται κυµµατοµορφές. Ψάχνει για κρίσιµα µονοπάτια. Ελέγχει για παραβιάσεις περιορισµών. Ο σχεδιαστής θα πρέπει να ανακαλύψει τις συνθήκες χειρότερης περίπτωσης. Σχεδίαση Συστηµάτων σε FPGA 66

Παράγοντες απόδοσης αρχιτεκτονικών Καθορισµός Αρχιτεκτονικής Επαναπροσδιορισµός Αξιολόγηση Αρχιτεκτονικής µε πειράµατα Αποτελέσµατα Ανάπτυξη εργαλείων σχεδίασης Επαναπροσδιορισµός Ορίζεται µία αρχιτεκτονική και αναπτύσσονται τα κατάλληλα εργαλεία. Επιλέγονται γνωστά κυκλώµατα δοκιµής (benchmarks) τα οποία υλοποιούνται σε FPGAs και καταγράφεται η απόδοσή τους. Με τα πειράµατα που γίνονται ανακαλύπτονται σηµεία των αρχιτεκτονικών που έχουν πρόβληµα και βελτιώνονται διαρκώς. Σχεδίαση Συστηµάτων σε FPGA 67

Πολυπλοκότητα Λογικού Block Αντικείµενο της διερεύνησης είναι η ποσότητα της λογικής που πρέπει να υλοποιεί ένα λογικό block ώστε να είναι αποδοτική η αρχιτεκτονική. Θεώρηση: α) χρήση Lookup Tables και β) ποσότητα λογικής που απαιτεί κάθε block = αριθµός των εισόδων k του Lookup Table. Σχεδίαση Συστηµάτων σε FPGA 68

Πολυπλοκότητα Λογικού Block Ταχύτητα σε σχέση µε το k Συµπέρασµα διαγραµµάτων: ιδανική τιµή k=4 (Flex 8) Σχεδίαση Συστηµάτων σε FPGA 69

Ευελιξία ιασυνδέσεων Θεώρηση: Κάθε γραµµή διαπερνάει ένα µόνο block. Μεγαλύτερες γραµµές δηµιουργούνται µε διασύνδεση µικρότερων Σχεδίαση Συστηµάτων σε FPGA 7

Φυσικά διασυνδεδεµένα Λογικά Blocks Ένας τρόπος για να µειωθεί η καθυστέρηση διασύνδεσης είναι να χρησιµοποιηθούν λογικά blocks τα οποία είναι φυσικά διασυνδεδεµένα στην δοµή του FPGA (hardwired). Στόχος είναι να µειωθούν οι διακόπτες διασύνδεσης που µπαίνουν στα κρίσιµα µονοπάτια µε αποτέλεσµα να µειωθούν οι καθυστερήσεις τους. Σχεδίαση Συστηµάτων σε FPGA 71

Ιεραρχική Αρχιτεκτονική Επίπεδο 1: διασυνδέσεις µεταξύ των λογικών blocks ενός τµήµατος Επίπεδο 2: διασυνδέσεις µεταξύ τµηµάτων µίας στήλης Επίπεδο 3: µεταξύ διαφορετικών στηλών τµηµάτων Σχεδίαση Συστηµάτων σε FPGA 72

ιαµόρφωση Μνηµών υνατότητα διαµόρφωσης FPGAs σαν µνήµες ανάγνωσης / εγγραφής Πρώτο στάδιο διακοπτών: οι γραµµές διευθύνσεων κατευθύνονται στα διάφορα block της µνήµης ανάλογα µε την επιθυµητή διαµόρφωση. εύτερο στάδιο διακοπτών (L1): δέχεται τις γραµµές δεδοµένων των block µνήµης και µε χρήση πολυπλεκτών καθορίζει τα aspect ratios. (πχ µε πολύπλεξη των 4 low µε τα 4 high bits µιας µνήµης 124x8 µπορούµε να δηµιουργήσουµε µνήµη 248x4 Σχεδίαση Συστηµάτων σε FPGA 73

ιαµόρφωση Μνηµών Τρίτο στάδιο διακοπτών (L2): µπορεί να χρησιµοποιηθεί για την διαµόρφωση block µνηµών µε περισσότερα bits ανά θέση µνήµης. (πχ η πολυπλεξία δύο όµοιων µ block µνήµης των 8 bits δίνει ένα block µνήµης όµοιου µεγέθους αλλά των 16 bits ανά θέση µνήµης. Σχεδίαση Συστηµάτων σε FPGA 74