Πίνακας περιεχομένων:

Σχεδιασμός προγραμματιζόμενου ελεγκτή διακοπών σε VHDL: 4 βήματα
Σχεδιασμός προγραμματιζόμενου ελεγκτή διακοπών σε VHDL: 4 βήματα

Βίντεο: Σχεδιασμός προγραμματιζόμενου ελεγκτή διακοπών σε VHDL: 4 βήματα

Βίντεο: Σχεδιασμός προγραμματιζόμενου ελεγκτή διακοπών σε VHDL: 4 βήματα
Βίντεο: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ PLC ΜΕΡΟΣ Α 2024, Νοέμβριος
Anonim
Σχεδιασμός προγραμματιζόμενου ελεγκτή διακοπών σε VHDL
Σχεδιασμός προγραμματιζόμενου ελεγκτή διακοπών σε VHDL

Είμαι συγκλονισμένος από το είδος των απαντήσεων που λαμβάνω σε αυτό το ιστολόγιο. Ευχαριστώ παιδιά που επισκεφτήκατε το ιστολόγιό μου και μου δώσατε κίνητρο να μοιραστώ τις γνώσεις μου μαζί σας. Αυτή τη φορά, θα παρουσιάσω τον σχεδιασμό μιας άλλης ενδιαφέρουσας μονάδας που βλέπουμε σε όλα τα SOCs - Interrupt Controller.

Θα σχεδιάσουμε έναν απλό αλλά ισχυρό προγραμματιζόμενο ελεγκτή διακοπών. Είναι ένα πλήρως διαμορφώσιμο και παραμετροποιημένο σχέδιο που είναι φορητό σε όλες τις πλατφόρμες. Το σχεδίασα αφού διάβασα πολλά για μερικές δημοφιλείς αρχιτεκτονικές ελεγκτών διακοπών εκεί έξω όπως NVIC, 8259a, RISC-V PLIC, Microblaze's INTC κ.λπ. Ελπίζω ότι θα βρείτε αυτό το ιστολόγιο χρήσιμο και θα σας βοηθήσει να πάρετε μια γεύση σχετικά με τον τρόπο χειρισμού των διακοπών από έναν επεξεργαστή με τη βοήθεια ενός ελεγκτή διακοπών.

Βήμα 1: Προδιαγραφές

Ακολουθούν οι προδιαγραφές της IP:

  • Διεπαφή AHB3-Lite.
  • Στατιστικά διαμορφώσιμες παράμετροι:

    • Αριθμός εξωτερικών πηγών διακοπής. υποστηρίζει έως 63 διακοπές.
    • Αριθμός επιπέδων προτεραιότητας. υποστηρίζει έως 63 επίπεδα.
    • Αριθμός επιπέδων φωλιάσματος. υποστηρίζει έως και 8 επίπεδα φωλιάσματος. 
    • Πλάτος διαύλου 32 ή 64.
  • Παγκόσμιες και τοπικές διακοπές με μάσκα.
  • Δυναμικά διαμορφώσιμο επίπεδο προτεραιότητας για κάθε διακοπή.
  • Δύο τρόποι λειτουργίας - Λειτουργία πλήρους ένθεσης και Λειτουργία ίσης προτεραιότητας.
  • Υποστηρίζει ενεργές-υψηλού επιπέδου ευαίσθητες διακοπές.

Στο σχεδιασμό χρησιμοποιείται μηχανισμός διακοπής χειραψίας που εμπνέεται από τις προδιαγραφές RISC-V PLIC.

Η προειδοποίηση διακοπής είναι εμπνευσμένη από το 8259a

Άλλα στοιχεία: Microblaze INTC, NVIC

Βήμα 2: Επισκόπηση του PIC

Επισκόπηση του PIC
Επισκόπηση του PIC

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

Ο PIC ελέγχεται μέσω μητρώων ελέγχου και κατάστασης. Όλοι οι καταχωρητές PIC χαρτογραφούνται στη μνήμη και έχουν πρόσβαση μέσω της διεπαφής διαύλου AHB3-Lite.

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

Ο καταχωρητής διαμόρφωσης χρησιμοποιείται για τον καθορισμό του τρόπου λειτουργίας του PIC. Μπορεί να λειτουργήσει είτε σε Λειτουργία πλήρους ένθεσης είτε σε Λειτουργία ίσης προτεραιότητας.

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

Η τράπεζα μητρώου αλληλεπιδρά με το Priority Resolver και το BTC (Binary-Tree-Comparator) για να επιλύσει τις προτεραιότητες των διακοπών σε εκκρεμότητα και να επιβεβαιώσει τη διακοπή στον επεξεργαστή ανάλογα. Το μητρώο ταυτότητας περιέχει το αναγνωριστικό της διακοπής με την υψηλότερη προτεραιότητα σε εκκρεμότητα.

Βήμα 3: Σχεδιασμός και εφαρμογή RTL

Σχεδιασμός και υλοποίηση RTL
Σχεδιασμός και υλοποίηση RTL

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

Ο σχεδιασμός υλοποιήθηκε με επιτυχία και ο χρόνος επαληθεύτηκε μέχρι τις ακόλουθες συχνότητες στα Artix-7 FPGA.

  • Έως 15 πηγές: 100 MHz
  • Έως 63 πηγές: 50 MHz

Η διακοπή καθυστέρησης που προστίθεται μόνο από το PIC είναι 3 κύκλοι ρολογιού (χωρίς τον χρόνο αλλαγής περιβάλλοντος του επεξεργαστή και τον πρώτο χρόνο ανάκτησης εντολών ISR).

Βήμα 4: Σημαντικές σημειώσεις και συνημμένα αρχεία

Σημαντικές σημειώσεις:

  • Εάν η διεπαφή AHB3-Lite είναι ανεπιθύμητη, μπορείτε να αλλάξετε την επάνω μονάδα και να χρησιμοποιήσετε το σχέδιο σκελετού του PIC. Ωστόσο, ο πάγκος δοκιμής που παρέχεται είναι για IP με διεπαφή AHB3-Lite.
  • Το PIC IP v1.0 είναι ένα εντελώς φορητό, γυμνό σχέδιο RTL.
  • Λειτουργικά επαληθευμένο για να λειτουργεί και στις δύο λειτουργίες.

Συνημμένα αρχεία:

  • Κωδικοί σχεδιασμού και πάγκος δοκιμών σε VHDL.
  • Πλήρης τεκμηρίωση IP.

Είναι ένα σχέδιο ανοιχτού κώδικα… Μη διστάσετε να χρησιμοποιήσετε…

Για οποιαδήποτε απορία, ανά πάσα στιγμή:

Μίτου Ρατζ

Συνιστάται: