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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

{ i f i == 0 and p > 0

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 2.4: Τα βασικά στοιχεία ενός Επιχειρηματικού Σχεδίου (Business Plan) Μέσα από αυτό το κεφάλαιο φαίνεται ότι αφενός η σωστή δημιουργία και

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

Transcript:

Σχεδίαση Ψηφιακών Κυκλωμάτων Η αρχιτεκτονική οργάνωση των FPGA Νικόλαος Καββαδίας nkavv@uop.gr 21 Δεκεμβρίου 2010

Σκιαγράφηση της διάλεξης Εισαγωγή στις προγραμματιζόμενες συσκευές Η αρχιτεκτονική οργάνωση των PLD και των FPGA Το διαμορφώσιμο λογικό κελί (CLB) της συσκευής Xilinx XC3000 Παρουσίαση μιας συσκευής PAL: GAL22V10

Εισαγωγή στις προγραμματιζόμενες συσκευές (1) Είναι ολοκληρωμένα κυκλώματα τα οποία προγραμματίζονται από το σχεδιαστή στο εργαστήριο του Αποτελούνται από επαναλαμβανόμενες διατάξεις κυττάρων τα οποία διαμορφώνονται και διασυνδέονται για να υλοποιήσουν ένα κύκλωμα Χρησιμοποιούνται ειδικά εργαλεία για περιγραφή του κυκλώματος, εξομοίωση και προγραμματισμό της συσκευής Πλεονεκτήματα Δεν απαιτούνται μάσκες κατασκευής και κόστος NRE Ιδανικές για ραγδαία προτυποποίηση (rapid prototyping) πριν την παραγωγή σε διεργασία standard cell VLSI Ολη η σχεδίαση γίνεται σε ένα PC lab Εύκολος και άμεσος προγραμματισμός τους Σχεδιαστικές αλλαγές χωρίς κόστος και οποιαδήποτε στιγμή μετά την κατασκευή τους (configurable logic: διαμορφώσιμη λογική)

Εισαγωγή στις προγραμματιζόμενες συσκευές (2) Κάθε οικογένεια προγραμματιζόμενων συσκευών έχει τη δική της αρχιτεκτονική (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)

Γενικά χαρακτηριστικά Είναι διατάξεις από λογικά κύτταρα με δυνατότητες προγραμματισμού και διασύνδεσης Υπάρχουν και προγραμματιζόμενα κύτταρα εισόδου/εξόδου (I/O cells) Για τη διασύνδεση των κυττάρων χρησιμοποιείται ειδικό πλάνο διασύνδεσης, το οποίο είναι διαφορετικό για την κάθε εταιρία και οικογένεια Ο προγραμματισμός των συσκευών μπορεί να είναι μόνιμος ή προσωρινός Γενικά χρησιμοποιούμε τον όρο FPGA (Field-Programmable Gate Array) ή Διάταξη Πυλών Προγραμματιζόμενου πεδίου

Είδη FPGAs 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 είναι ο πίνακας αλήθειας του κυκλώματος Η μέθοδος αυτή δεν είναι οικονομική αφού το κόστος της PROM είναι μεγάλο ενώ μία λογική συνάρτηση απαιτεί μόνο λίγους όρους συνήθως για να υλοποιηθεί (και έχει πολλούς αδιάφορους όρους φ)

Μνήμη PROM (2) 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) Υλοποιεί λογικά κυκλώματα σε διεπίπεδη μορφή AND-OR αθροίσματος γινομένων (SoP: Sum-of-Products) Δύο προγραμματιζόμενα επίπεδα λογικής: AND - OR Εξοδος πρώτου επιπέδου: όρος γινομένου οποιουδήποτε αριθμού εισόδων Εξοδος δευτέρου επιπέδου: άθροισμα όρων γινομένου πρώτου επίπεδου Μειονέκτημα: μικρή ταχύτητα λόγω δύο προγραμματιζόμενων επιπέδων Z Το πρόβλημα μετριάζεται εάν μόνο το πρώτο επίπεδο (όροι γινομένου) είναι προγραμματιζόμενο

PLA: Programmable Logic Array (2) Εσωτερική οργάνωση μιας συσκευής PLA

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

PAL: Programmable Array Logic (2) Εσωτερική οργάνωση μιας συσκευής PAL

CPLD: Complex Programmable Logic Device Εχουν μεγαλύτερη χωρητικότητα για περισσότερο απαιτητικές, σε επιφάνεια, εφαρμογές από τις PAL, PLA Το πρόβλημα σε αυτήν την περίπτωση είναι η δυσανάλογα μεγάλη αύξηση της προγραμματιζόμενης λογικής σε σχέση με την αύξηση του αριθμού των εισόδων Είναι αρχιτεκτονικές που βασίζονται στη διασύνδεση πολλαπλών SPLDs σε ένα chip Παρέχουν χωρητικότητα περίπου 50 τυπικών συσκευών SPLDs Για επιπλέον αύξηση πρέπει να ακολουθήσουμε διαφορετική αρχιτεκτονική προσέγγιση

Εφαρμογές των CPLDs Τα CPLDs έχουν την ικανότητα να υλοποιούν με αποδοτικό τρόπο περίπλοκες σχεδιάσεις (όπως ελεγκτές δικτύων, γραφικών κλπ) και γενικότερα μηχανές καταστάσεων όπου απαιτούνται λίγα flip-flop και πολλές πύλες AND-OR Μπορούν να επαναπρογραμματιστούν επιτρέποντας σχεδιαστικές αλλαγές Επιπλέον, μερικές συσκευές μπορούν να επαναπρογραμματιστούν μέσα στο σύστημα όπου έχουν τοποθετηθεί ακόμη και χωρίς να σταματήσει η λειτουργία του συστήματος Η απόδοσή τους (σε επιφάνεια και ταχύτητα) είναι προβλέψιμη εξαιτίας των αρχιτεκτονικών που χρησιμοποιούνται

FPGA: Field-Programmable Gate Array (1) Βασίζονται στην αρχιτεκτονική των gate arrays: συστάδες προκατασκευασμένων τρανζίστορ τα οποία διασυνδέονται για να υλοποιήσουν το ζητούμενο κύκλωμα Τα FPGAs αποτελούνται από μία συστάδα κυκλωματικών στοιχείων (logic blocks) με αρκετές δυνατότητες διασύνδεσης και διαμορφώνονται με προγραμματισμό που γίνεται στο πεδίο χρήσης τους Τα FPGAs είναι οι προγραμματιζόμενες συσκευές που παρέχουν τη μεγαλύτερη πυκνότητα ολοκλήρωσης

FPGA: Field-Programmable Gate Array (2) Γενικό σχηματικό διάγραμμα της εσωτερικής οργάνωσης ενός FPGA ZΠρογραμματιζόμενες διασυνδέσεις

Λογικά κύτταρα (logic cells) Βασικό στοιχείο αρχιτεκτονικής μίας προγραμματιζόμενης συσκευής Αποτελεί τη διεπαφή ανάμεσα στην αρχιτεκτονική σχεδίαση του μηχανικού και τη φυσική σχεδίαση στο προγραμματισμένο πλέον FPGA Το κάθε κύτταρο λογικής αναλαμβάνει να υλοποιήσει ένα τμήμα της λογικής του ζητούμενου κυκλώματος Οι δυνατότητες που έχει το κύτταρο, καθορίζουν τις ιδιότητες του Παράμετροι (π.χ. αριθμός εισόδων/εξόδων), επιφάνεια, ταχύτητα απόκρισης, αριθμός προγραμματιζόμενων διακοπτών i Οι μοντέρνες αρχιτεκτονικές συσκευών FPGA είναι ετερογενείς (heterogeneous) ενσωματώνοντας κύτταρα διαφορετικών τύπων

Τύποι λογικών κυττάρων και δομικές μονάδες των FPGA Λογικά μπλοκ γενικού σκοπού (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: βρόχοι κλειδώματος φάσης και καθυστέρησης Διαιρέτες και πολλαπλασιαστές ρολογιού

Λογικά κύτταρα με πίνακες αναζήτησης 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 (1)

Λογικό κύτταρο Xilinx XC3000 CLB (2) Ολες οι γραμμές I/O μπορούν να οδηγούν/οδηγούνται από το δίκτυο διασύνδεσης της προγραμματιζόμενης συσκευής Η είσοδος σε κάθε flip-flop μπορεί να προέρχεται είτε από τις εξόδους F, G της συνδυαστικής λογικής, είτε από τη γραμμή άμεσων δεδομένων DI (data input) Κάθε flip-flop μπορεί να αρχικοποιηθεί είτε από τη γραμμή ασύγχρονης αρχικοποίησης, είτε από τη γραμμή γενικής αρχικοποίησης, που ανήκει σε ένα ειδικό δίκτυο διασύνδεσης (κρυμμένο) Η λογική υλοποιείται από έναν πίνακα αναζήτησης των 32 bits Για συνδυαστική λογική, φροντίζουμε με προγραμματισμό των πολυπλεκτών εξόδου, να περάσουμε στις εξόδους X, Y τις εξόδους F, G του πίνακα αναζήτησης

Λογικό κύτταρο Xilinx XC3000 CLB (3) Για ακολουθιακή λογική περνάμε στις εξόδους X, Y τις εξόδους των ακολουθιακών στοιχείων Για μεγαλύτερη ευελιξία, ο πίνακας αναζήτησης δέχεται και τις εξόδους των flip-flops ως εισόδους καθορισμού της υλοποιούμενης λογικής συνάρτησης Z Υλοποίηση μηχανών πεπερασμένων καταστάσεων (FSMs) Δυνατότητες διαμόρφωσης LUT Χρήση 5 από των 7 εισόδων, για συναρτήσεις 5 μεταβλητών (F, G πανομοιότυποι) Διαίρεση του πίνακα στη μέση για υλοποίηση δύο συναρτήσεων (F, G) τεσσάρων μεταβλητών Υλοποίηση μερικών συναρτήσεων 6 ή 7 μεταβλητών

Ιδιότητες των προγραμματιζόμενων λογικών μπλοκ (CLB) Τα LUTs μπορούν να χρησιμοποιηθούν και σαν μνήμες SRAM ανάγνωσης/εγγραφής (για κάποιες οικογένειες, δύο ϑυρών - dual port με δυνατότητες μίας ϑύρας εγγραφής και δύο ανάγνωσης) Κάθε CLB έχει ειδικό κύκλωμα υλοποίησης άθροισης με ταχεία παραγωγή κρατουμένων Για τις διασυνδέσεις, η οικογένεια XC4000 χρησιμοποιεί οριζόντια και κάθετα κανάλια. Κάθε κανάλι περιλαμβάνει τριών ειδών γραμμές: 1 Σύντομες γραμμές που διαπερνούν ένα CLB 2 Μακριές γραμμές που διαπερνούν δύο CLBs 3 Πολύ μακριές γραμμές που διαπερνούν ολόκληρο το chip Για τη διασύνδεση των γραμμών χρησιμοποιούνται προγραμματιζόμενοι διακόπτες (με SRAM cell)

Υλοποίηση αλυσίδας κρατουμένων (carry chain) XC4000 Ειδικό κύκλωμα ταχείας παραγωγής και διάδοσης κρατουμένου για την υλοποίηση αριθμητικών συναρτήσεων (carry chain circuit)

Επέκταση λογικής Χρησιμοποιείται για την υλοποίηση μεγαλύτερων συναρτήσεων Υλοποιούμε μία συνάρτηση n μεταβλητών χρησιμοποιώντας δύο συναρτήσεις (LUTs) n 1 μεταβλητών Τα LUTs βρίσκονται σε διαφορετικά κύτταρα, αλλά η διασύνδεση τους γίνεται με ειδικές γραμμές (χωρίς προγραμματιζόμενες διασυνδέσεις)

Κύτταρα εισόδου/εξόδου (I/O cells) Αναλαμβάνουν τη διασύνδεση του ολοκληρωμένου με το περιβάλλον του (τυπωμένο κύκλωμα) Παρέχουν ηλεκτροστατική προστασία (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 Κατασκευασμένο σε διεργασία 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, μετασχηματισμοί χρωματικών πεδίων σε εφαρμογές γραφικών

Λειτουργικό διάγραμμα βαθμίδων του GAL 22V10

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

Επιλογές πακέτων για τη συσκευή για το GAL 22V10