FPGA

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

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

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

Οι κατασκευαστές FPGA παρέχουν λογισμικό μηχανικής για Windows και μερικές φορές για Linux, για την ανάπτυξη σχεδίων για FPGA. Ο σχεδιασμός γράφεται συνήθως σε αναγνώσιμα από τον άνθρωπο αρχεία υπολογιστή που ονομάζονται Γλώσσα Περιγραφής Υλικού (HDL). Οι πιο δημοφιλείς είναι η VHDL και η Verilog. Οι γλώσσες περιγραφής υλικού είναι σε μεγάλο βαθμό συγκρίσιμες με τις γλώσσες προγραμματισμού. Αλλά η πρόθεση των HDLs είναι να σχεδιάζουν ψηφιακά λογικά κυκλώματα ενώ οι γλώσσες προγραμματισμού σχεδιάζουν λογισμικό.

Το λογισμικό σχεδιασμού FPGA πρέπει να μεταφράσει τον αφηρημένο κώδικα HDL στα λογικά στοιχεία που είναι διαθέσιμα στην επιλεγμένη FPGA. Αυτό ονομάζεται λογική σύνθεση. Στη συνέχεια, γίνεται μια διαδικασία τοποθέτησης και δρομολόγησης για την τοποθέτηση των λογικών στοιχείων στην FPGA. Το αποτέλεσμα είναι ένα αρχείο bit που μπορεί να προγραμματιστεί στην FPGA ή στη μνήμη διαμόρφωσης. Αυτό γίνεται συνήθως με έναν προγραμματιστή USB συνδεδεμένο στη θύρα JTAG της FPGA.

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

Zoom


Εσωτερική δομή

Οι FPGA βασίζονται γενικά σε προγραμματιζόμενα λογικά στοιχεία και προγραμματιζόμενες διασυνδέσεις. Ένα δομικό στοιχείο των λογικών στοιχείων είναι ένας προγραμματιζόμενος πίνακας αναζήτησης (LUT). Ένας LUT μπορεί να προγραμματιστεί για την έξοδο οποιασδήποτε τιμής δεδομένων τιμών εισόδου. Με αυτόν τον τρόπο, ένας LUT μπορεί να προγραμματιστεί να είναι οποιοσδήποτε τύπος λογικής με τον ίδιο αριθμό εισόδων και εξόδων. Για παράδειγμα, ένας LUT 2 εισόδων, 1 εξόδου μπορεί να προγραμματιστεί για να μιμηθεί τη λογική ενός AND, OR, NAND, NOR, XOR, κ.λπ. 2 εισόδων. Η έξοδος αυτού του LUT μπορεί είτε να αποθηκευτεί χρησιμοποιώντας έναν καταχωρητή είτε να συνδεθεί στην είσοδο άλλων LUT. Χρησιμοποιώντας έναν προγραμματιζόμενο mux, το FPGA μπορεί να προγραμματιστεί ώστε να επιλέγει την καταχωρημένη ή μη καταχωρημένη έξοδο. Αυτός ο συνδυασμός ενός LUT, ενός καταχωρητή και ενός mux είναι η γενική δομή ενός λογικού στοιχείου.

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

Ερωτήσεις και απαντήσεις

Ερ: Τι είναι η διάταξη προγραμματιζόμενων πυλών πεδίου (FPGA);


A: Μια συστοιχία προγραμματιζόμενων πυλών πεδίου (FPGA) είναι ένα ηλεκτρονικό στοιχείο που χρησιμοποιείται για την κατασκευή αναδιαμορφώσιμων ψηφιακών κυκλωμάτων. Έχει απροσδιόριστη λειτουργία κατά τη στιγμή της κατασκευής και πρέπει να προγραμματιστεί, ή να αναδιαμορφωθεί, πριν χρησιμοποιηθεί σε ένα κύκλωμα.

Ερ: Σε τι διαφέρει ένα FPGA από μια λογική πύλη;


Α: Ένα FPGA διαφέρει από μια λογική πύλη επειδή μια λογική πύλη έχει μια σταθερή λειτουργία, ενώ ένα FPGA έχει μια απροσδιόριστη λειτουργία κατά τη στιγμή της κατασκευής.

Ε: Τι είδους ολοκληρωμένο κύκλωμα είναι ένα FPGA;


Α: Ένα FPGA είναι ένα ολοκληρωμένο κύκλωμα της κατηγορίας των προγραμματιζόμενων λογικών διατάξεων ή PLD.

Ερ: Ποια είναι ορισμένα μειονεκτήματα της χρήσης FPGA σε σύγκριση με άλλα PLD;


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

Ερ: Πώς προγραμματίζεται μια FPGA;


Α: Για να προγραμματίσουν ένα FPGA, οι μηχανικοί χρησιμοποιούν λογισμικό μηχανικής για Windows ή Linux για να αναπτύξουν σχέδια γραμμένα σε γλώσσες περιγραφής υλικού, όπως VHDL και Verilog. Στη συνέχεια, το λογισμικό μεταφράζει αυτόν τον κώδικα στα λογικά στοιχεία που είναι διαθέσιμα στα επιλεγμένα FGPA και τα τοποθετεί με διαδικασίες place and route, οι οποίες δημιουργούν ένα αρχείο bit που μπορεί να προγραμματιστεί είτε στη μνήμη διαμόρφωσης είτε απευθείας στο ίδιο το FGPA με έναν προγραμματιστή USB συνδεδεμένο στη θύρα JTAG.

Ε: Οι μικροεπεξεργαστές και οι μικροελεγκτές είναι παρόμοιοι με τους FGPA;


Α: Όχι, οι μικροεπεξεργαστές και οι μικροελεγκτές διαφέρουν από τους FGPA επειδή στη βασική τους μορφή δεν μπορούν να εκτελέσουν λογισμικό- μόνο όταν τους δοθεί μια διαμόρφωση που περιέχει αρχιτεκτονική επεξεργαστή έχουν αυτή τη δυνατότητα.

AlegsaOnline.com - 2020 / 2023 - License CC3