Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Εισαγωγή στις προγραμματιζόμενες συσκευές (2)

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Βασικά γνωρίσματα των επαναδιαμορφώσιμων αρχιτεκτονικών (reconfigurable architectures)

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

ΨΗΦΙΑΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Σχεδίαση Λογικών Κυκλωμάτων

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Αρχιτεκτονικά χαρακτηριστικά των συσκευών Xilinx Spartan-3.

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

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ορισμοί για τις χρονικές καθυστερήσεις διάδοσης. Συνδυαστική και ακολουθιακή λογική

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Ο πλήρης αθροιστής (full adder) Κυκλωματικός σχεδιασμός του πλήρους αθροιστή.

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

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.

Γλώσσες Περιγραφής Υλικού Ι

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Ανασκόπηση ϑεμάτων παλαιών εξετάσεων του μαθήματος. Περιεχόμενο εξετάσεων

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Διαφορές μεταξύ των περιγραφών συνδυαστικών και ακολουθιακών κυκλωμάτων

Γλώσσες Περιγραφής Υλικού Ι

Αναγνώριση Προτύπων. Σημερινό Μάθημα

{ i f i == 0 and p > 0

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Διάλεξθ 2

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

Σκιαγράφηση της διάλεξης. Μηχανές Πεπερασμένων Καταστάσεων: Εισαγωγή και.

Ψηφιακών Κυκλωμάτων. Σχεδίαση Ψηφιακών Κυκλωμάτων. Σκιαγράφηση της διάλεξης.


Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

Μητροπολιτικά Οπτικά Δίκτυα Εισαγωγή


Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Περισσότερα για τα αρθρώματα Αναθέσεις και τελεστές Συντρέχων κώδικας

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

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

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

2. Δίκτυα Πολυπλεξίας Μήκους Κύματος (WDM Δίκτυα)

«Σχεδίαση Εφαρμογών Ψηφιακδη Συστημάτοη με τη Γλώσσα \ HDL»

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Γλώσσες Περιγραφής Υλικού Ι. Εισαγωγικά. Οργάνωση των παραδόσεων. 1 Εισαγωγή στη Verilog HDL. 28 Φεβρουαρίου 2012

Συγκέντρωση Κίνησης Εισαγωγή Στατική Συγκέντρωση Κίνησης

ΗΛΕΚΤΡΙΚΗ ΕΝΕΡΓΕΙΑ ΣΤΗ ΚΡΗΤΗ

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων.

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

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Γενικά χαρακτηριστικά του επεξεργαστή MU0. Προγραμματιζόμενοι επεξεργαστές

ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ Γ ΛΥΚΕΙΟΥ

17 Μαρτίου 2013, Βόλος

τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές

Αναγνώριση Προτύπων 1

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

Επίλυση δικτύων διανομής

Εργαστηριακή Άσκηση Θερμομόρφωση (Thermoforming)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Μούλου Ευγενία

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Γ ΤΑΞΗ

Μεταγλωττιστές ΙΙ. Καταμερισμός καταχωρητών. Νικόλαος Καββαδίας Μεταγλωττιστές ΙΙ

Σκιαγράφηση της διάλεξης. Η οργάνωση ενός μη-προγραμματιζόμενου επεξεργαστή (1) Μη προγραμματιζόμενοι επεξεργαστές

Σκιαγράφηση της διάλεξης. Σχεδίαση Ψηφιακών Κυκλωμάτων. Απαριθμητοί τύποι δεδομένων (enumerated data types)

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

Συναρτήσεις. Σημερινό μάθημα

Δήμος Σωτήριος Υ.Δ. Εργαστήριο Λογικής & Επιστήμης Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Σ.Η.Μ.Μ.Υ. Ε.Μ.Π.

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

1. Εισαγωγή: Οπτικά Δίκτυα

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι. Διαιρέτης ρολογιού (clock divider) Ειδικά κυκλώματα

Γλώσσες Περιγραφής Υλικού Ι

Γλώσσες Περιγραφής Υλικού Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Σκιαγράφηση της διάλεξης. Γλώσσες Περιγραφής Υλικού Ι (1) Μη προγραμματιζόμενοι επεξεργαστές

CSE.UOI : Μεταπτυχιακό Μάθημα

Φόρμα Σχεδιασμού Διάλεξης (ημ/α: 17/03/08, έκδοση: 1.0)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

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

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΘΕΜΑ: Aποτελεσματικότητα της νομισματικής και δημοσιονομικής πολιτικής σε μια ανοικτή οικονομία

1. Σε περίπτωση κατά την οποία η τιμή ενός αγαθού μειωθεί κατά 2% και η ζητούμενη

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν


Υπολογιστική Νοημοσύνη

Σκιαγράφηση της διάλεξης. Η εντολή ASSERT (2)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

1. Ας υποθέσουμε ότι η εισοδηματική ελαστικότητα ζήτησης για όσπρια είναι ίση με το μηδέν. Αυτό σημαίνει ότι:

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

Συμπεριφοριακή Επιχειρηματικότητα

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

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

Εφαρμογές στην κίνηση Brown

ΑΣΕΠ 2000 ΑΣΕΠ 2000 Εμπορική Τράπεζα 1983 Υπουργείο Κοιν. Υπηρ. 1983

Σχέσεις και ιδιότητές τους

Επίλυση ειδικών μορφών ΣΔΕ

ΑΣΚΗΣΕΙΣ ΔΙΚΤΥΑ ΠΡΟΣΒΑΣΗΣ ΑΣΚΗΣΗ 1

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

Transcript:

Σκιαγράφηση της διάλεξης Σχεδίαση Ψηφιακών Κυκλωμάτων Η αρχιτεκτονική οργάνωση των FPGA Νικόλαος Καββαδίας nkavv@uop.gr Εισαγωγή στις προγραμματιζόμενες συσκευές Η αρχιτεκτονική οργάνωση των PLD και των FPGA Το διαμορφώσιμο λογικό κελί (CLB) της συσκευής Xilinx XC3000 Παρουσίαση μιας συσκευής PAL: GAL22V10 21 Δεκεμβρίου 2010 Εισαγωγή στις προγραμματιζόμενες συσκευές (1) Εισαγωγή στις προγραμματιζόμενες συσκευές (2) Είναι ολοκληρωμένα κυκλώματα τα οποία προγραμματίζονται από το σχεδιαστή στο εργαστήριο του Αποτελούνται από επαναλαμβανόμενες διατάξεις κυττάρων τα οποία διαμορφώνονται και διασυνδέονται για να υλοποιήσουν ένα κύκλωμα Χρησιμοποιούνται ειδικά εργαλεία για περιγραφή του κυκλώματος, εξομοίωση και προγραμματισμό της συσκευής Πλεονεκτήματα Δεν απαιτούνται μάσκες κατασκευής και κόστος NRE Ιδανικές για ραγδαία προτυποποίηση (rapid prototyping) πριν την παραγωγή σε διεργασία standard cell VLSI Ολη η σχεδίαση γίνεται σε ένα PC lab Εύκολος και άμεσος προγραμματισμός τους Σχεδιαστικές αλλαγές χωρίς κόστος και οποιαδήποτε στιγμή μετά την κατασκευή τους (configurable logic: διαμορφώσιμη λογική) Κάθε οικογένεια προγραμματιζόμενων συσκευών έχει τη δική της αρχιτεκτονική (Actel, Altera, Lattice, Xilinx) Εξειδικευμένο λογισμικό εκμεταλλεύεται βέλτιστα τα χαρακτηριστικά της για την υλοποίηση σχεδιαζόμενων συστημάτων (synthesis and mapping tools) Σχεδιάζονται νέες αρχιτεκτονικές διαρκώς με στόχο τη συνεχή βελτίωση των επιδόσεων (Xilinx Spartan 2, 3, 3E, 3AN, 6, Virtex E, II, 4, 5, 6, Altera Stratix 2, 3, 4) Παρέχονται σε μεγάλη ποικιλία ανάλογα με το περίβλημα (packaging, number of user-defined I/Os), την απόδοση (performance) και φυσικά την τιμή (pricing) κάθε οικογένειας (device family)

Γενικά χαρακτηριστικά Είδη FPGAs Είναι διατάξεις από λογικά κύτταρα με δυνατότητες προγραμματισμού και διασύνδεσης Υπάρχουν και προγραμματιζόμενα κύτταρα εισόδου/εξόδου (I/O cells) Για τη διασύνδεση των κυττάρων χρησιμοποιείται ειδικό πλάνο διασύνδεσης, το οποίο είναι διαφορετικό για την κάθε εταιρία και οικογένεια Ο προγραμματισμός των συσκευών μπορεί να είναι μόνιμος ή προσωρινός Γενικά χρησιμοποιούμε τον όρο FPGA (Field-Programmable Gate Array) ή Διάταξη Πυλών Προγραμματιζόμενου πεδίου PROM (Programmable Read-Only Memory) Αλλά και EPROM (erasable PROM), EEPROM (electrically erasable PROM) PLAs (Programmable Logic Arrays) PALs (Programmable Array Logic) CPLD (Complex Programmable Logic Device), σε χρήση για εφαρμογές μικρής πολυπλοκότητας FPGAs για εφαρμογές μεσαίας και υψηλής πολυπλοκότητας Antifuse FPGAs, coarse-grain FPGAs, flash FPGAs Μνήμη PROM (1) Μνήμη PROM (2) Είναι το απλούστερο ολοκληρωμένο που μπορεί να προγραμματιστεί για να υλοποιεί κάποιο κύκλωμα Αποτελεί μνήμη που όταν προγραμματιστεί διατηρεί τα περιεχόμενα της και μετά την πτώση της τροφοδοσίας Κατά τη διάρκεια της λειτουργίας της επιτρέπει μόνο ανάγνωση Οι γραμμές διευθύνσεων αποτελούν τις εισόδους του κυκλώματος και οι γραμμές δεδομένων τις εξόδους Τα περιεχόμενα της PROM είναι ο πίνακας αλήθειας του κυκλώματος Η μέθοδος αυτή δεν είναι οικονομική αφού το κόστος της PROM είναι μεγάλο ενώ μία λογική συνάρτηση απαιτεί μόνο λίγους όρους συνήθως για να υλοποιηθεί (και έχει πολλούς αδιάφορους όρους φ) a b c d f 1 f 2 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 Μειονέκτημα: δεν εκμεταλλεύεται δυνατότητες απλοποίησης

PLA: Programmable Logic Array (1) PLA: Programmable Logic Array (2) Εσωτερική οργάνωση μιας συσκευής PLA Υλοποιεί λογικά κυκλώματα σε διεπίπεδη μορφή AND-OR αθροίσματος γινομένων (SoP: Sum-of-Products) Δύο προγραμματιζόμενα επίπεδα λογικής: AND - OR Εξοδος πρώτου επιπέδου: όρος γινομένου οποιουδήποτε αριθμού εισόδων Εξοδος δευτέρου επιπέδου: άθροισμα όρων γινομένου πρώτου επίπεδου Μειονέκτημα: μικρή ταχύτητα λόγω δύο προγραμματιζόμενων επιπέδων Z Το πρόβλημα μετριάζεται εάν μόνο το πρώτο επίπεδο (όροι γινομένου) είναι προγραμματιζόμενο PAL: Programmable Array Logic (1) PAL: Programmable Array Logic (2) Μόνο το πρώτο επίπεδο (όροι γινομένου) είναι προγραμματιζόμενο (τα λογικά αθροίσματα είναι σταθερά) Εχουν περιορισμένες δυνατότητες υλοποίησης λογικών κυκλωμάτων Ερχονται σε μεγάλη ποικιλία εισόδων, εξόδων και μεγέθους OR πυλών Εχουν flip-flop στην έξοδο της OR για την υλοποίηση ακολουθιακών κυκλωμάτων i SPLDs (Simple Programmable Logic Devices): όλες οι παρεμφερείς με τις PAL και PLA συσκευές με μικρό κόστος και μεγάλη ταχύτητα Εσωτερική οργάνωση μιας συσκευής PAL

CPLD: Complex Programmable Logic Device Εφαρμογές των CPLDs Εχουν μεγαλύτερη χωρητικότητα για περισσότερο απαιτητικές, σε επιφάνεια, εφαρμογές από τις PAL, PLA Το πρόβλημα σε αυτήν την περίπτωση είναι η δυσανάλογα μεγάλη αύξηση της προγραμματιζόμενης λογικής σε σχέση με την αύξηση του αριθμού των εισόδων Είναι αρχιτεκτονικές που βασίζονται στη διασύνδεση πολλαπλών SPLDs σε ένα chip Παρέχουν χωρητικότητα περίπου 50 τυπικών συσκευών SPLDs Για επιπλέον αύξηση πρέπει να ακολουθήσουμε διαφορετική αρχιτεκτονική προσέγγιση Τα CPLDs έχουν την ικανότητα να υλοποιούν με αποδοτικό τρόπο περίπλοκες σχεδιάσεις (όπως ελεγκτές δικτύων, γραφικών κλπ) και γενικότερα μηχανές καταστάσεων όπου απαιτούνται λίγα flip-flop και πολλές πύλες AND-OR Μπορούν να επαναπρογραμματιστούν επιτρέποντας σχεδιαστικές αλλαγές Επιπλέον, μερικές συσκευές μπορούν να επαναπρογραμματιστούν μέσα στο σύστημα όπου έχουν τοποθετηθεί ακόμη και χωρίς να σταματήσει η λειτουργία του συστήματος Η απόδοσή τους (σε επιφάνεια και ταχύτητα) είναι προβλέψιμη εξαιτίας των αρχιτεκτονικών που χρησιμοποιούνται FPGA: Field-Programmable Gate Array (1) FPGA: Field-Programmable Gate Array (2) Βασίζονται στην αρχιτεκτονική των gate arrays: συστάδες προκατασκευασμένων τρανζίστορ τα οποία διασυνδέονται για να υλοποιήσουν το ζητούμενο κύκλωμα Τα FPGAs αποτελούνται από μία συστάδα κυκλωματικών στοιχείων (logic blocks) με αρκετές δυνατότητες διασύνδεσης και διαμορφώνονται με προγραμματισμό που γίνεται στο πεδίο χρήσης τους Τα FPGAs είναι οι προγραμματιζόμενες συσκευές που παρέχουν τη μεγαλύτερη πυκνότητα ολοκλήρωσης Γενικό σχηματικό διάγραμμα της εσωτερικής οργάνωσης ενός FPGA ZΠρογραμματιζόμενες διασυνδέσεις

Λογικά κύτταρα (logic cells) Τύποι λογικών κυττάρων και δομικές μονάδες των FPGA Βασικό στοιχείο αρχιτεκτονικής μίας προγραμματιζόμενης συσκευής Αποτελεί τη διεπαφή ανάμεσα στην αρχιτεκτονική σχεδίαση του μηχανικού και τη φυσική σχεδίαση στο προγραμματισμένο πλέον FPGA Το κάθε κύτταρο λογικής αναλαμβάνει να υλοποιήσει ένα τμήμα της λογικής του ζητούμενου κυκλώματος Οι δυνατότητες που έχει το κύτταρο, καθορίζουν τις ιδιότητες του Παράμετροι (π.χ. αριθμός εισόδων/εξόδων), επιφάνεια, ταχύτητα απόκρισης, αριθμός προγραμματιζόμενων διακοπτών i Οι μοντέρνες αρχιτεκτονικές συσκευών FPGA είναι ετερογενείς (heterogeneous) ενσωματώνοντας κύτταρα διαφορετικών τύπων Λογικά μπλοκ γενικού σκοπού (general-purpose logic blocks) για γενικές εφαρμογές λογικής (fine-grain) Λογικά κύτταρα με πολυπλέκτες (multiplexer-based) Λογικά κύτταρα με πίνακα αναζήτησης (LUT: look-up table) Εξειδικευμένα μπλοκ λογικής για στοχευμένη χρήση (coarse-grain) DSP blocks, embedded multipliers, large multiplexers, sub-risc processors Στοιχεία μνήμης: block RAMs, ενσωματωμένα αρχεία καταχωρητών (embedded register files) Λογικά κελιά εισόδου/εξόδου (I/O blocks) PLL και DLL: βρόχοι κλειδώματος φάσης και καθυστέρησης Διαιρέτες και πολλαπλασιαστές ρολογιού Λογικά κύτταρα με πίνακες αναζήτησης Λογικό κύτταρο Xilinx XC3000 CLB (1) a b c d f 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Πλεονέκτημα: Σταθερή καθυστέρηση υπολογισμού μίας συνάρτησης, ανεξάρτητα της πολυπλοκότητας (μειονέκτημα σε απλές συναρτήσεις)

Λογικό κύτταρο Xilinx XC3000 CLB (2) Λογικό κύτταρο Xilinx XC3000 CLB (3) Ολες οι γραμμές I/O μπορούν να οδηγούν/οδηγούνται από το δίκτυο διασύνδεσης της προγραμματιζόμενης συσκευής Η είσοδος σε κάθε flip-flop μπορεί να προέρχεται είτε από τις εξόδους F, G της συνδυαστικής λογικής, είτε από τη γραμμή άμεσων δεδομένων DI (data input) Κάθε flip-flop μπορεί να αρχικοποιηθεί είτε από τη γραμμή ασύγχρονης αρχικοποίησης, είτε από τη γραμμή γενικής αρχικοποίησης, που ανήκει σε ένα ειδικό δίκτυο διασύνδεσης (κρυμμένο) Η λογική υλοποιείται από έναν πίνακα αναζήτησης των 32 bits Για συνδυαστική λογική, φροντίζουμε με προγραμματισμό των πολυπλεκτών εξόδου, να περάσουμε στις εξόδους X, Y τις εξόδους F, G του πίνακα αναζήτησης Για ακολουθιακή λογική περνάμε στις εξόδους X, Y τις εξόδους των ακολουθιακών στοιχείων Για μεγαλύτερη ευελιξία, ο πίνακας αναζήτησης δέχεται και τις εξόδους των flip-flops ως εισόδους καθορισμού της υλοποιούμενης λογικής συνάρτησης Z Υλοποίηση μηχανών πεπερασμένων καταστάσεων (FSMs) Δυνατότητες διαμόρφωσης LUT Χρήση 5 από των 7 εισόδων, για συναρτήσεις 5 μεταβλητών (F, G πανομοιότυποι) Διαίρεση του πίνακα στη μέση για υλοποίηση δύο συναρτήσεων (F, G) τεσσάρων μεταβλητών Υλοποίηση μερικών συναρτήσεων 6 ή 7 μεταβλητών Ιδιότητες των προγραμματιζόμενων λογικών μπλοκ (CLB) Υλοποίηση αλυσίδας κρατουμένων (carry chain) Τα LUTs μπορούν να χρησιμοποιηθούν και σαν μνήμες SRAM ανάγνωσης/εγγραφής (για κάποιες οικογένειες, δύο ϑυρών - dual port με δυνατότητες μίας ϑύρας εγγραφής και δύο ανάγνωσης) Κάθε CLB έχει ειδικό κύκλωμα υλοποίησης άθροισης με ταχεία παραγωγή κρατουμένων Για τις διασυνδέσεις, η οικογένεια XC4000 χρησιμοποιεί οριζόντια και κάθετα κανάλια. Κάθε κανάλι περιλαμβάνει τριών ειδών γραμμές: 1 Σύντομες γραμμές που διαπερνούν ένα CLB 2 Μακριές γραμμές που διαπερνούν δύο CLBs 3 Πολύ μακριές γραμμές που διαπερνούν ολόκληρο το chip Για τη διασύνδεση των γραμμών χρησιμοποιούνται προγραμματιζόμενοι διακόπτες (με SRAM cell) XC4000 Ειδικό κύκλωμα ταχείας παραγωγής και διάδοσης κρατουμένου για την υλοποίηση αριθμητικών συναρτήσεων (carry chain circuit)

Επέκταση λογικής Κύτταρα εισόδου/εξόδου (I/O cells) Χρησιμοποιείται για την υλοποίηση μεγαλύτερων συναρτήσεων Υλοποιούμε μία συνάρτηση n μεταβλητών χρησιμοποιώντας δύο συναρτήσεις (LUTs) n 1 μεταβλητών Τα LUTs βρίσκονται σε διαφορετικά κύτταρα, αλλά η διασύνδεση τους γίνεται με ειδικές γραμμές (χωρίς προγραμματιζόμενες διασυνδέσεις) Αναλαμβάνουν τη διασύνδεση του ολοκληρωμένου με το περιβάλλον του (τυπωμένο κύκλωμα) Παρέχουν ηλεκτροστατική προστασία (ESD: Electrostatic Discharge) Είδη κυττάρων I/O Είσοδοι και έξοδοι (digital και analog) Εξοδοι Ρολόϊ Τροφοδοσία Στοιχείο εισόδου/εξόδου (Input/Output Block) Είσοδος ρολογιού Ενα στοιχείο I/O περιλαμβάνει έναν απομονωτή δύο κατευθύνσεων και έναν καταχωρητή για είσοδο (όταν απαιτείται γρήγορο setup time) ή για έξοδο (όταν απαιτείται μικρό clock-to-output time) Κάθε IOB pin μπορεί να χρησιμοποιηθεί ως είσοδος/έξοδος ή ακροδέκτης διπλής κατευθυντικότητας Τα σήματα ελέγχου του pin (clock, clear, clock enable, output enable) μπορούν να επιλεχθούν από τον περιφερειακό δίαυλο ελέγχου ο οποίος ελαχιστοποιεί τις ολισθήσεις (skew) των σημάτων Κάποιο IOB μπορεί να χρησιμοποιήσει clock enable και output enable σήματα που οδηγούνται από κάποιο λογικό μπλοκ. Ειδικά το σήμα ρολογιού μπορεί να οδηγηθεί και από ένα από τα δύο pins της συσκευής που χρησιμοποιούνται αποκλειστικά για τροφοδότηση ρολογιού Η σχεδίαση του δικτύου διανομής ρολογιού αποτελεί ένα από τα μεγαλύτερα προβλήματα σχεδίασης Στόχος είναι η ελαχιστοποίηση της καθυστέρησης του ρολογιού καθώς και του clock skew Χρησιμοποιούνται δίκτυα απομονωτών Παραβίαση των χρόνων setup/hold οδηγεί σε δυσλειτουργία Διαταραχές χρόνου ρολογιού οδηγούν σε προβλήματα λειτουργίας

Clock skew Παραδείγματα συσκευών SPLDs Εάν υπάρχει μεγάλη διαφορά στο μήκος των γραμμών που διανέμουν το σήμα στα διάφορα σημεία, τότε αυτό μπορεί να φτάσει με διαφορετική καθυστέρηση 16R8 της AMD : PAL με 16 εισόδους (8 εισόδους και 8 εισόδους/εξόδους), 8 εξόδους, και ένα flip-flop τύπου D σε κάθε έξοδο (registered output) 22V10 της AMD, GAL22V10 της Lattice : έχει μέγιστο αριθμό 22 εισόδων και 10 εξόδων. Κάθε έξοδος μπορεί να είναι συνδυαστική ή οδηγούμενη από flip-flop EP610 της Altera : Ομοια σε πολυπλοκότητα με τις PALs, με μεγαλύτερη ευελιξία στην παραγωγή των εξόδων και μεγαλύτερα AND και OR επίπεδα. Στις εξόδους υπάρχουν flip-flop που μπορούν να διαμορφωθούν ως D, T, JK και SR Χαρακτηριστικά του GAL 22V10 Λειτουργικό διάγραμμα βαθμίδων του GAL 22V10 Κατασκευασμένο σε διεργασία CMOS με τεχνολογία electrically erasable floating gate Τυπική τάση τροφοδοσίας: 3.3-7 V Μέγιστη καθυστέρηση διάδοσης: 4 ns Μέγιστη συχνότητα χρονισμού: F max = 250MHz Μέγιστη καθυστέρηση από είσοδο ρολογιού σε έξοδο δεδομένων: 3.5 ns Τυπικό ρεύμα τροφοδοσίας (low power device): 90 ma Ηλεκτρονική διαγραφή υψηλής ταχύτητας (< 100 ms) Αξιοπιστία δεδομένων για μακρά αποθήκευση: 20 έτη Τυπικές εφαρμογές Ελεγχος DMA (direct memory access), σχεδιασμός FSM, μετασχηματισμοί χρωματικών πεδίων σε εφαρμογές γραφικών

Αρχιτεκτονική του μακροκυττάρου (macrocell) στη συσκευή GAL 22V10 Επιλογές πακέτων για τη συσκευή για το GAL 22V10 Μακροκύτταρο εξόδου: OLMC: Output Logic Macrocell