Κατηγορίες: Κύκλωμα μικροελεγκτή
Αριθμός προβολών: 21445
Σχόλια σχετικά με το άρθρο: 0

Τι είναι το FPGA μια απλή γλώσσα για αρχάριους

 

Τι είναι η ψηφιακή ηλεκτρονική που σχετίζεται με; Πρώτα απ 'όλα, με λογικά στοιχεία AND, OR, NOT. Επιπλέον, οι καταχωρητές μετατόπισης, οι αποκωδικοποιητές, οι πολυπλέκτες κλπ., Έρχονται σε μνήμη. Ωστόσο, καθώς η πολυπλοκότητα των ηλεκτρονικών συσκευών και η τάση προς τη μεγέθυνση αυξάνονται, η δημιουργία συσκευών που βασίζονται σε ολοκληρωμένα κυκλώματα (ICs) από τα παραπάνω εξαρτήματα έγινε πιο δύσκολη, τα προσαρμοσμένα ολοκληρωμένα κυκλώματα της απαιτούμενης τοπολογίας και κυκλώματος αποδείχθηκαν χρήσιμα μόνο όταν η συσκευή επαναλήφθηκε σε μεγάλους αριθμούς.

Η έξοδος από αυτή την κατάσταση ήταν η ανάπτυξη προγραμματιζόμενων ολοκληρωμένων λογικών κυκλωμάτων (συντομογραφία FPGA, ξένη συντομογραφία ως προγραμματιζόμενη λογική συσκευή, PLD). Τι είναι και πού χρησιμοποιείται; θα το πούμε σε αυτό το άρθρο.

Τι είναι το FPGA μια απλή γλώσσα για αρχάριους

Διαφορές από τους μικροελεγκτές

Με τη λέξη "προγραμματιζόμενη", οι περισσότεροι αρχάριοι συνεργάζονται με μικροελεγκτές. Παρά το γεγονός ότι είναι επίσης προγραμματισμένα, τα FPGA είναι μια εντελώς διαφορετική συσκευή.

Για προγραμματιστές σε μικροελεγκτές, είναι διαθέσιμο ένα σταθερό σύνολο λύσεων και εργαλείων που είναι εγγενείς σε ένα συγκεκριμένο τσιπ, δεν θα λειτουργήσει με κανένα τρόπο να υποχωρήσουμε από την αρχιτεκτονική. Σας δίνεται ένα σύνολο εντολών με τις οποίες εκτελείτε λειτουργίες αλληλεπίδρασης με το περιβάλλον, διαβάζοντας δεδομένα από ψηφιακές και αναλογικές εισόδους και στέλνοντας σήματα σε ενεργοποιητές χρησιμοποιώντας εξόδους.

Επιπλέον, μπορείτε να εκτελέσετε υπολογισμούς, να αποθηκεύσετε δεδομένα σε καταχωρητές ή ROM, καθώς και να λειτουργήσετε με δεδομένα που αναβοσβήνουν στη μνήμη του μικροελεγκτή. Σε αυτό, ουσιαστικά, είναι ο σκοπός και τα χαρακτηριστικά της εργασίας με μικροελεγκτές.

Προγραμματιζόμενα 769, log 769, ακέραιο 769, λινάρι 769, ma (FPGA, Αγγλικά προγραμματιζόμενη λογική συσκευή, PLD)

Τα προγραμματιζόμενα λογικά ολοκληρωμένα κυκλώματα (FPGAs) είναι διαφορετικά στο ότι κατά τον προγραμματισμό μιας συσκευής εσείς ο ίδιος δημιουργείτε μια αρχιτεκτονική από τα βασικά λογικά στοιχεία. Έτσι, έχετε μεγάλη ταχύτητα και ευελιξία του τσιπ. Αυτό καθιστά δυνατή, χωρίς να αλλάζει ένα τσιπ, να γίνουν πολλά έργα.

Γενικά, η εσωτερική συσκευή FPGA μπορεί να χωριστεί σε τρεις κύριες ομάδες:

1. Μια σειρά από λογικά στοιχεία (macrocells, λογικά μπλοκ).

2. Μπλοκ εισόδου / εξόδου (IO).

3. Γραμμές επικοινωνίας μεταξύ τους και της συσκευής που ελέγχει αυτές τις συνδέσεις.

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

Με τον προγραμματισμό, συνδέετε τα στοιχεία με τον ίδιο τρόπο που θα συναρμολογούσατε μια συσκευή από μεμονωμένα στοιχεία και συνδέοντας τις εισόδους και τις εξόδους τους με τους αγωγούς.

Σημείωση:

Η κύρια διαφορά μεταξύ των FPGAs και των μικροελεγκτών είναι ότι στον μικροελεγκτή δεν μπορείτε να αλλάξετε τις εσωτερικές συνδέσεις μεταξύ των απλούστερων στοιχείων και ο προγραμματισμός και η συνεργασία με αυτούς βασίζεται στην καταγραφή των συνδέσεων σε FPGAs.

Η επιλογή των μικροελεγκτών βασίζεται σε πολλά κριτήρια, όπως:

  • Ταχύτητα και ταχύτητα ρολογιού.

  • Το ποσό της ROM και της μνήμης RAM.

  • Ο αριθμός των εισόδων και εξόδων.

Άλλα λειτουργικά χαρακτηριστικά και περιφερειακά, όπως υποστήριξη γραμμών επικοινωνίας και πρωτοκόλλων (I2C, ένα σύρμα, σήμα PWM κλπ.).

Κατά την επιλογή ενός FPGA, το κύριο κριτήριο είναι ο αριθμός των προγραμματιζόμενων μπλοκ - θα πρέπει να αρκούν για την εκτέλεση του έργου.

Ανάλογα με το συγκεκριμένο FPGA, ο αριθμός των μπλοκ μπορεί να ποικίλει ευρέως και το κόστος επίσης αλλάζει.

Ο μικροελεγκτής εκτελεί διαδοχικά όλες τις λειτουργίες που προβλέπονται στο πρόγραμμά του, ενώ τα μπλοκ FPGA εκτελούν την εργασία παράλληλα και ανεξάρτητα το ένα από το άλλο, συνεπώς, η σύγκριση αυτών των συσκευών με συχνότητα ρολογιού είναι πρακτικά ανέφικτη. Η αρχή της λειτουργίας τους είναι πολύ διαφορετική.

Τύποι FPGA

Είδη

Επί του παρόντος, υπάρχουν δύο βασικοί τύποι FPGA:


1. CPLD (Σύνθετη προγραμματιζόμενη λογική συσκευή - προγραμματιζόμενη ολοκληρωμένη λογική ολοκληρωμένο κύκλωμα, στην πραγματικότητα, αυτό είναι FPGA στην κλασική του έννοια). Έχει συνήθως μια ενσωματωμένη μη πτητική μνήμη στην οποία φορτώνεται το υλικολογισμικό.

Η εσωτερική δομή είναι χτισμένη πάνω σε μια μήτρα μακροκυψελών ή λογικών μπλοκ και ο αριθμός των στοιχείων σε αυτά βρίσκεται στην περιοχή εκατοντάδων και χιλιάδων τεμαχίων. Λόγω της σχετικής απλότητας τους, είναι φθηνότερα από τον επόμενο τύπο προγραμματιζόμενης λογικής. Όλα αυτά οδηγούν στο γεγονός ότι το CPLD χρησιμοποιείται κυρίως σε κυκλώματα όπου απαιτείται υψηλή ταχύτητα και μεγάλος αριθμός εξόδων, ενώ εκτελούνται απλές εργασίες.


2. FPGA (Field-Programmable Gate Array - Field Programmable Gate Array, ωστόσο αναφέρεται συχνά ως FPGA) - πιο ανεπτυγμένες και πολύπλοκες συσκευές σε σύγκριση με το CPLD, είναι χτισμένες σε λογικά μπλοκ με ευέλικτη μεταγωγή και περιέχουν μεγαλύτερο αριθμό στοιχείων (δεκάδες ή εκατοντάδες χιλιάδες τεμάχια).

Το υλικολογισμικό συνήθως αποθηκεύεται σε εξωτερική μη πτητική μνήμη. Εκτός από τα απλούστερα λογικά στοιχεία, οι FPGAs μπορούν να περιέχουν έτοιμα μπλοκ για την εκτέλεση οποιωνδήποτε λειτουργιών, για παράδειγμα μπλοκ επεξεργασίας σήματος DSP. Όλα αυτά σας επιτρέπουν να εφαρμόσετε έναν επεξεργαστή, συσκευές επεξεργασίας σήματος και άλλες πολύπλοκες συσκευές.


Ενδιαφέρουσες:

Αν και στην πραγματικότητα η παρουσία μη πτητικής μνήμης δεν κάνει προγραμματιζόμενη λογική CPLD. Αυτό είναι εν μέρει παραπλανητικό. Η κύρια διαφορά μεταξύ CPLD και FPGA είναι η εσωτερική δομή.

Η διαφορά μεταξύ CPLD και FPGA είναι η εσωτερική δομή

Η εσωτερική συσκευή CPLD παρουσιάζεται λεπτομερέστερα στο παρακάτω σχήμα.

Εσωτερική συσκευή CPLD

Και το κατά προσέγγιση σχήμα του μακροκυττάρου του μοιάζει με αυτό:

Δείγμα μακροεντολής CPLD

Το μακροκυψέλη αποτελείται από προγραμματιζόμενους πολυπλέκτες, ενεργοποιεί (ένα ή περισσότερα) και σχηματίζει μια ομάδα σημάτων FB εξόδου σε διάφορες εκδόσεις.

Ακολουθεί ένα άλλο παράδειγμα - ένα μπλοκ διάγραμμα ενός τσιπ CPLD από την οικογένεια των μάρκες Altera MAX II.

Πρόγραμμα ροής Altera MAX II CPLD

Και το δομικό σχέδιο των τσιπ της ίδιας οικογένειας.

Το διάγραμμα κυκλωμάτων Altera MAX II CPLD

Τα ενδιάμεσα ελαστικά εκχωρούνται σε μακροκυψέλες χρησιμοποιώντας έναν κόμβο όπως έναν διανομέα στα αγγλικά. ακούγεται σαν Logic Allocator, το οποίο εμφανίζεται στο παρακάτω διάγραμμα, δείχνει επίσης τη μήτρα της εναλλαγής (Global Routing Pool), και στα macrocells εξόδου (macrocells) έχουν δύο ανατροφοδοτήσεις.

Διανομέας και πίνακας μεταγωγής

Οι εξωτερικές εξόδους του μικροκυκλώματος συνδέονται με τις εξόδους των μακροκυττάρων μέσω ενός άλλου μπλοκ (μήτρας) - ORP (Output Routing Pool), σημειώνοντας ότι μέσα από αυτό η λογική INPUT συνδέεται με το GRP, όπως φαίνεται στην παρακάτω εικόνα.

Σημείωση:

Ορισμένα CPLDs έχουν το λεγόμενο άμεσες είσοδοι (Direct Input) - συνδέονται άμεσα με τις εισόδους των κυψελών, γεγονός που μειώνει τις καθυστερήσεις.

Η δομή FPGA έχει τη μορφή:

Δομή FPGA
  • L - λογικά διαμορφώσιμο μπλοκ.

  • S (μπλοκ υποκατάστασης) - ένα μπλοκ υποκατάστασης, λαμβάνει ένα συγκεκριμένο αριθμό bit ανά κίνηση, μετατρέπει, σύμφωνα με έναν συγκεκριμένο αλγόριθμο, και εξάγει διαφορετικό αριθμό bits στην έξοδο. Με άλλα λόγια, ένας αποκωδικοποιητής, ένας κρυπτογραφητής και ένας διακόπτης.

  • C (μπλοκ σύνδεσης) - μπλοκ σύνδεσης.

Διάγραμμα S-μπλοκ:

 

Διάγραμμα S-μπλοκ



Προγραμματισμός


HDL (γλώσσα περιγραφής υλικού) - αυτή είναι η γλώσσα με την οποία προγραμματίζονται οι FPGAs. Δημοφιλή και ευέλικτα είναι τα Verilog HDL και VHDL. Υπάρχουν άλλες γλώσσες, όπως αυτές που ισχύουν ειδικά για τους κατασκευαστές, όπως το AHDL για τα προϊόντα ALTERA.

Ο προγραμματισμός γραφικών είναι διαθέσιμος για προγραμματιστές που εργάζονται με FPGAs. Δηλαδή, μπορείτε να σχεδιάσετε απλά λογικά κυκλώματα ή να συνδυάσετε κώδικα με γραφικά. Ο τελευταίος ονομάζεται μέθοδος αρθρωτής ανάπτυξης, όταν προδιαγράφονται συγκεκριμένες μονάδες, και η κορυφαία μονάδα, στην οποία όλα συνδυάζονται, προγραμματίζεται γραφικά.


Παραδείγματα δημοφιλών κατασκευαστών και σειρών

Τη στιγμή της γραφής, τα πιο γνωστά είναι τα προϊόντα δύο κατασκευαστών.

  • Altera (ιδρύθηκε το 1983)?

  • Xilinx (Ιδρύθηκε το 1984).

Η Altera

Η Altera έχει αρκετές μεγάλες σειρές προγραμματιζόμενης λογικής:

  • MAX, MAX II, MAX IIZ.

  • 7000S;

  • 3000Α;

  • MAX V;

  • Κυκλώνα

  • Arria;

  • Stratix

Ας εξετάσουμε κάθε ένα από αυτά με περισσότερες λεπτομέρειες. Στους παρακάτω πίνακες βλέπετε γενικές πληροφορίες για τα μικροκυκλώματα της οικογένειας.

Χαρακτηριστικά της κύριας σειράς προγραμματιζόμενης λογικής
Χαρακτηριστικά της κύριας σειράς προγραμματιζόμενης λογικής

Altera 3 CPLD CPLD:

  • Το MAX είναι ένα CPLD για χρήση σε κινητές συσκευές, τα χαρακτηριστικά γνωρίσματα είναι σχετικά χαμηλή κατανάλωση ενέργειας και απώλεια θερμότητας. Ανάλογα με την πολυπλοκότητα και τα έτη απελευθέρωσης, διακρίνονται οι ακόλουθες τροποποιήσεις:

  • Το 7000S είναι ξεπερασμένο μέχρι σήμερα, κυκλοφόρησε το 1995.

  • 3000A - κυκλοφόρησε το 2002, κατασκευάζεται με τεχνολογία 300nm. Αποτελείται από ένα μικρό αριθμό μακροκυττάρων (32-512)

  • MAX II που κυκλοφόρησε το 2004, κατασκευάζεται με τεχνολογία 100nm και αποτελείται από μεγαλύτερο αριθμό μονάδων (240-2210) που λειτουργούν σε συχνότητες μέχρι 304 MHz. Το προϊόν κατασκευάζεται σε περιπτώσεις τύπων TQFP 0,5 mill με 100 ή περισσότερα πόδια.

  • MAX IIZ - 2007, το κύριο χαρακτηριστικό είναι η μειωμένη κατανάλωση ενέργειας - αυτό είναι ένα θετικό σημείο, ωστόσο, οι συχνότητες μειώνονται στα 152 MHz. Αυτά τα μικροκυκλώματα τροφοδοτούνται από 1,8 V.

  • MAX V - 2010 έτος. Παράγεται σύμφωνα με την τεχνολογία 180nm, μπορεί να περιέχει από 40 έως 2210 μπλοκ και να λειτουργεί σε συχνότητες μέχρι 152MHz ή σε 304MHz - εξαρτάται από τον αριθμό των μπλοκ.

Altera 3 CPLD CPLD

FPGA:

  • Ο κυκλώνας είναι ένα τσιπ τύπου FPGA. Υπάρχουν πέντε γενιές που σημειώνονται με ελληνικούς αριθμούς (από το Ι έως το Β, αντίστοιχα). Η πρώτη γενιά ξεκίνησε το 2002, παράγεται με τεχνολογία 180nm, ενώ η πέμπτη γενιά κυκλοφόρησε το 2011 και κατασκευάστηκε με τεχνολογία 28nm. Αξίζει να σημειωθεί ότι όλες οι γενιές παραμένουν σχετικές.

  • Arria - ανατρέξτε επίσης στο FPGA μεσαίας εμβέλειας.

  • Stratix - Ισχυρά FPGAs.

Παρακάτω είναι οι προγραμματισμένοι πίνακες περιστροφής λογικής προγραμματισμού Altera FPGA.

Χαρακτηριστικά FPGA
Χαρακτηριστικά FPGA
Χαρακτηριστικά FPGA

Και το πλήρες τραπέζι στο σύνδεσμο:https://elv.electricianexp.com/tablitsa.docx

Ο κατασκευαστής Xilinx CPLD παρουσίασε σε σειρά:

  • XC9500XL 36-288 μακροκυττάρων. Λειτουργούν σε συχνότητες μέχρι 178 MHz και διαμορφώνουν 288 μακροκυψέλες στα 208 MHz. Εκτελείται όπως σε μικρές περιπτώσεις με 44 ακίδες σε απόσταση 0,8 mm η μία από την άλλη - οι περιπτώσεις αυτές θεωρούνται ότι είναι εύκολα συγκολλημένες. Διατίθεται επίσης με 64 και 100 πόδια σε διαβαθμίσεις των 0,5 mm, καθώς και μοντέλα σε περιβλήματα τύπου PLCC.

  • Η σειρά CoolRunner-II είναι ένα ενεργειακά αποδοτικό αλλά παραγωγικό CPLD. Μια λειτουργία τροφοδοτείται από τάση 1,8V, οι είσοδοι και οι έξοδοι είναι σχεδιασμένες να λειτουργούν στην περιοχή των 1,5-3,3V. Αποτελούνται από 32-512 macrocells και παράγονται χρησιμοποιώντας τεχνολογία 180nm. Ανάλογα με τον αριθμό των κυψελών, λειτουργούν στην περιοχή συχνοτήτων 179-323 MHz, και όσο μικρότερα είναι τα κύτταρα, τόσο μεγαλύτερη συχνότητα μπορούν να λειτουργήσουν σε αυτή την περίπτωση. Βρίσκονται σε διάφορες περιπτώσεις, περιλαμβανομένης της εύκολης συγκόλλησης, όπως και στα μικροκυκλώματα της σειράς που εξετάστηκε παραπάνω.

Η εταιρεία Xilinx δεν πέρασε από και FPGA:

  • Spartan-6 - αποτελούνται από λογικά μπλοκ 6 εισόδων, ο αριθμός τους βρίσκεται στην περιοχή των 3840-147443 τεμαχίων. Ενδιαφέρον για το ότι μπορεί να περιέχουν ελεγκτές για την ανταλλαγή δεδομένων όπως DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA κλπ ...

  • Η σειρά Vitrex-7 είναι πολύπλοκη, τα μικροκυκλώματα μπορούν να περιέχουν μέχρι 2.000.000 λογικά μπλοκ και 1.200 επαφές.

Παρακάτω μπορείτε να βρείτε τους συνοπτικούς πίνακες με τις προδιαγραφές CPLD και FPGA από τις σειρές Xilinx 6 και 7, καθώς και το Zynq-7000.

Xilinx 6 και 7 Σειρά FPGA Χαρακτηριστικά
Χαρακτηριστικά των FPGA Virtex-6
Χαρακτηριστικά της οικογένειας FPGA Spartan-6
Χαρακτηριστικά της οικογένειας FPGA Spartan-6
Χαρακτηριστικά FPGA
Χαρακτηριστικά FPGA

Συμπέρασμα

Οι FPGA και οι PPVM παράγονται επίσης από άλλες εταιρείες όπως η Lattice Semiconductor (το 2002 άρχισαν να παράγουν FPGAs), η Actel και οι γνωστοί αναγνώστες της μικροελεγκτές ATMEL και πολλοί άλλοι. Από την προγραμματιζόμενη λογική, είναι δυνατή η εφαρμογή πολλών συσκευών, για την πραγματοποίηση παράλληλων υπολογισμών ανεξάρτητα μεταξύ τους σε μία συσκευή, ωστόσο, για τα οικιακά έργα, η αγορά τους είναι συχνά οικονομικά αδικαιολόγητη, αλλά αρκετά λογική σε παραγωγική κλίμακα, ως εναλλακτική λύση στα προσαρμοσμένα ολοκληρωμένα κυκλώματα.

P.S.Παρακολουθήστε το βίντεο, σε αυτό θα δείτε ένα παράδειγμα της εφαρμογής της κονσόλας παιχνιδιών της Nintendo σε FPGA:

Δείτε επίσης στο bgv.electricianexp.com:

  • Γλώσσα διαγράμματος λειτουργικών ομάδων (FBD) και η εφαρμογή της
  • Τύποι σύγχρονων ολοκληρωμένων κυκλωμάτων - τύποι λογικής, περιπτώσεις
  • Λογικές μάρκες. Μέρος 1
  • Μικροελεγκτές PIC για αρχάριους
  • Προγραμματιζόμενοι λογικοί ελεγκτές για οικιακό αυτοματισμό

  •