Εντοπισμός σφαλμάτων μικροημι-ενσωματωμένου FPGA
Πληροφορίες προϊόντος
Προδιαγραφές
- Τύπος συσκευής: Microsemi SmartFusion2 SoC FPGA
- Ημερομηνία κυκλοφορίας: Μάιος 2014
- Δυνατότητες εντοπισμού σφαλμάτων: Εντοπισμός σφαλμάτων FPGA εντός κυκλώματος, Ενσωματωμένος αναλυτής λογικής
- Μέγιστη συχνότητα λήψης δεδομένων: Έως 100MHz
Περίληψη
Τα FPGA είναι ισχυρά στοιχεία σχεδιασμού σε ενσωματωμένα συστήματα με πολλές σχεδιαστικές προηγμένες δυνατότητες.tages, αλλά αυτές οι συσκευές μπορούν να έχουν πολύπλοκα σχέδια με πολύπλοκα ζητήματα σχεδιασμού που πρέπει να διορθωθούν. Η ανίχνευση ζητημάτων σχεδιασμού, όπως σφάλματα ορισμού, προβλήματα αλληλεπίδρασης συστήματος και σφάλματα χρονισμού συστήματος, μπορεί να αποτελέσει πρόκληση. Η συμπερίληψη δυνατοτήτων εντοπισμού σφαλμάτων εντός κυκλώματος σε ένα FPGA μπορεί να βελτιώσει δραματικά τον εντοπισμό σφαλμάτων υλικού και να αποφύγει αμέτρητες ώρες απογοήτευσης. Αυτή η εργασία περιγράφει διάφορες προσεγγίσεις για τον εντοπισμό σφαλμάτων εντός κυκλώματος για FPGA, προσδιορίζει βασικούς συμβιβασμούς και, μέσω μιας πρώην...ampΟ σχεδιασμός, που στοχεύει σε μια συσκευή Microsemi SmartFusion®2 SoC FPGA, θα δείξει πώς μπορούν να χρησιμοποιηθούν νέες δυνατότητες για την επιτάχυνση της ανίχνευσης σφαλμάτων και των δοκιμών.
Εισαγωγή
Τα FPGA είναι διάχυτα και ισχυρά στοιχεία σχεδιασμού και πλέον βρίσκονται σχεδόν σε κάθε ενσωματωμένο σύστημα. Με την αυξανόμενη χωρητικότητα, την συμπερίληψη σύνθετων λειτουργικών μπλοκ στο τσιπ και τις προηγμένες σειριακές διεπαφές, αυτές οι συσκευές μπορούν επίσης να έχουν σύνθετα προβλήματα σχεδιασμού που πρέπει να διορθωθούν. Η ανίχνευση ζητημάτων όπως σφάλματα λειτουργικού ορισμού (σε επίπεδο FPGA ή συστήματος), προβλήματα αλληλεπίδρασης λειτουργικού συστήματος, προβλήματα χρονισμού συστήματος και προβλήματα πιστότητας σήματος μεταξύ ολοκληρωμένων κυκλωμάτων (όπως θόρυβος, διασταυρούμενη ομιλία ή αντανακλάσεις) καθίστανται πολύ πιο περίπλοκα κατά τη χρήση προηγμένων FPGA. Η προσομοίωση είναι σίγουρα μια μεγάλη βοήθεια στον εντοπισμό πολλών προβλημάτων σχεδιασμού, αλλά πολλές αλληλεπιδράσεις στον πραγματικό κόσμο δεν θα εμφανιστούν μέχρι να εφαρμοστεί ο σχεδιασμός στο υλικό. Έχουν αναπτυχθεί αρκετές διαφορετικές τεχνικές για τον εντοπισμό σφαλμάτων σε σύνθετα ζητήματα σχεδιασμού για την απλοποίηση της διαδικασίας. Μια προσεκτική κατανόηση καθεμίας από αυτές τις βασικές τεχνικές, συμπεριλαμβανομένων των διαφόρων προηγμένων...tages και disadvantages, είναι χρήσιμο όταν εξετάζεται ποια τεχνική ή συνδυασμός τεχνικών είναι κατάλληλος για ένα συγκεκριμένο σχέδιο.
Ένας πρώηνampΟ σχεδιασμός FPGA, που στοχεύει σε μια συσκευή FPGA Microsemi SmartFusion2 SoC, μπορεί να χρησιμοποιηθεί για να δείξει ορισμένα από τα πλεονεκτήματα.tages και disadvantagες αυτών των τυπικών τεχνικών καθώς και οι νεότερες δυνατότητες εντοπισμού σφαλμάτων εντός κυκλώματος. Αυτό το ενδεικτικό παράδειγμαampΘα δείξουμε πώς αυτές οι διάφορες τεχνικές μπορούν να χρησιμοποιηθούν για να επιταχύνουν τον εντοπισμό και την εξάλειψη προβλημάτων υλικού κατά την αποσφαλμάτωση υλικού.
Γιατί η ανίχνευση σφαλμάτων FPGA αποτελεί κρίσιμη πτυχή του σχεδιασμού και της ανάπτυξης συστημάτων;
Τα FPGA έχουν δύο κύρια μοντέλα χρήσης που τα διαφοροποιούν από άλλα στοιχεία σχεδιασμού. Τα FPGA μπορούν να χρησιμοποιηθούν στο προϊόν παραγωγής ή ως όχημα ανάπτυξης για την απόδειξη ή την πρωτότυπη δημιουργία μιας ιδέας σχεδιασμού παραγωγής. Όταν χρησιμοποιούνται ως όχημα παραγωγής, τα FPGA μπορούν να αποτελέσουν έναν πολύ πιο ευέλικτο στόχο από τα οχήματα παραγωγής που βασίζονται σε ASIC ή CPU. Αυτό είναι ιδιαίτερα σημαντικό για ένα νέο σχεδιασμό, ένα που δεν έχει ακόμη υλοποιηθεί σε υλικό. Σχέδια με διαφορετικές αρχιτεκτονικές επιλογές μπορούν εύκολα να δημιουργηθούν και να δοκιμαστούν, ώστε να εντοπιστεί ο βέλτιστος σχεδιασμός. Τα FPGA με επεξεργαστές ενσωματωμένα στο τσιπ (SoC FPGAs) καθιστούν επίσης δυνατή την ανταλλαγή της επεξεργασίας που βασίζεται σε CPU με λειτουργίες επιτάχυνσης που βασίζονται σε FPGA με υποβοήθηση υλικού. Αυτά τα πλεονεκτήματα...tagΤα ES μπορούν να μειώσουν δραματικά τον χρόνο που απαιτείται για το σχεδιασμό, την επικύρωση, τις δοκιμές και την ανάλυση αστοχιών για την ανάπτυξη νέων προϊόντων.
Όταν χρησιμοποιείται για την πρωτοτυποποίηση ενός σχεδίου, ίσως για ένα ASIC παραγωγής, η ευελιξία του FPGA είναι ένα βασικό πλεονέκτημα. Μια πραγματική πλατφόρμα υλικού, ακόμη και μια που δεν λειτουργεί σε πλήρη ταχύτητα, διευκολύνει πολύ την απόκτηση λεπτομερών μετρήσεων απόδοσης συστήματος, δεδομένων ανάλυσης απόδοσης και αποτελεσμάτων απόδειξης ιδέας αρχιτεκτονικής. Η υποστήριξη FPGA για ενισχυμένες υλοποιήσεις βιομηχανικών προτύπων διαύλων (όπως PCIe®, Gigabit Ethernet, XAUI, USB, CAN και άλλα) απλοποιεί τις δοκιμές που σχετίζονται με αυτές τις διεπαφές. Οι νεότερες οικογένειες FPGA με ενσωματωμένους επεξεργαστές ARM (SoC FPGAs), διευκολύνουν την πρωτότυπη δημιουργία υλοποιήσεων με ενσωματωμένους επεξεργαστές. Ο προηγουμένως αναπτυγμένος κώδικας επεξεργαστή μπορεί να μεταφερθεί στο πρωτότυπο και ο νέος κώδικας να δημιουργηθεί παράλληλα με την προσπάθεια σχεδιασμού υλικού.
Αυτός ο συνδυασμός ενός τυπικού επεξεργαστή με τυπικούς διαύλους διεπαφής καθιστά δυνατή την αξιοποίηση του μεγάλου οικοσυστήματος διαθέσιμων βιβλιοθηκών κώδικα, προγραμμάτων οδήγησης, λειτουργικών API, λειτουργικών συστημάτων πραγματικού χρόνου, ακόμη και πλήρων λειτουργικών συστημάτων, για την πολύ πιο γρήγορη δημιουργία ενός λειτουργικού πρωτοτύπου. Επιπλέον, μόλις εδραιωθεί ο σχεδιασμός, το πρωτότυπο FPGA μπορεί να χρησιμοποιηθεί για την καταγραφή εκτεταμένων συνόλων δοκιμών προσομοίωσης (τόσο για ερέθισμα όσο και για απόκριση) που αντικατοπτρίζουν τα πραγματικά δεδομένα του συστήματος. Αυτά τα σύνολα δεδομένων μπορούν να είναι ανεκτίμητα στη δημιουργία των τελικών προσομοιώσεων για ένα ASIC ή άλλη υλοποίηση παραγωγής. Το πλεονέκτημαtagΗ χρήση ενός FPGA ως πρωτότυπου σχεδιασμού μπορεί να μειώσει δραματικά τον χρόνο για σχεδιασμό, επικύρωση, δοκιμές και ανάλυση αστοχιών για την τελική υλοποίηση του προϊόντος.
Και στα δύο αυτά κοινά μοντέλα χρήσης FPGA, η ευελιξία του FPGA ως στόχος σχεδιασμού είναι ένα βασικό πλεονέκτημα.tagε. Αυτό σημαίνει ότι πολλές αλλαγές και επαναλήψεις σχεδιασμού θα ήταν ο κανόνας και, ως εκ τούτου, η δυνατότητα ταχείας εντοπισμού σφαλμάτων σχεδιασμού θα ήταν κρίσιμη για την ενεργοποίηση όσο το δυνατόν περισσότερων επιλογών σχεδιασμού. Χωρίς μια αποτελεσματική δυνατότητα εντοπισμού σφαλμάτων, πολλά από τα πλεονεκτήματαtagΗ ευελιξία του σχεδιασμού FPGA θα μειωθεί από τον πρόσθετο χρόνο που απαιτείται για την αποσφαλμάτωση. Ευτυχώς, τα FPGA μπορούν επίσης να παρέχουν πρόσθετα χαρακτηριστικά υλικού που απλοποιούν δραματικά την αποσφαλμάτωση σε πραγματικό χρόνο. Πριν εξετάσουμε αυτές τις δυνατότητες, ας δούμε πρώτα τους πιο συνηθισμένους τύπους προβλημάτων που μπορεί να αντιμετωπίσει ένας σχεδιασμός FPGA, ώστε να έχουμε το κατάλληλο υπόβαθρο για να αξιολογήσουμε την αποτελεσματικότητα και τους σχετικούς συμβιβασμούς διαφόρων εργαλείων αποσφαλμάτωσης.
Συνήθη προβλήματα κατά την ανίχνευση σφαλμάτων σε σχέδια FPGA
Μαζί με τις διευρυμένες δυνατότητες που προσφέρουν τα σύγχρονα FPGA, η αυξημένη πολυπλοκότητα που σχετίζεται με αυτό καθιστά πιο δύσκολη τη δημιουργία σχεδίων χωρίς σφάλματα. Στην πραγματικότητα, έχει εκτιμηθεί ότι η αποσφαλμάτωση μπορεί να διαρκέσει πάνω από το 50% του κύκλου σχεδιασμού του ενσωματωμένου συστήματος. Με τις πιέσεις χρόνου διάθεσης στην αγορά να συνεχίζουν να πιέζουν τον κύκλο ανάπτυξης, η αποσφαλμάτωση υλικού του αρχικού συστήματος υποβιβάζεται σε δεύτερη μοίρα — πολύ συχνά υποθέτοντας ότι η επαλήθευση (η ίδια αποτελεί μεγάλο ποσοστό)tagε του χρονοδιαγράμματος ανάπτυξης), θα εντοπίσει όλα τα σφάλματα πριν από την αρχική εκκίνηση του συστήματος. Ας δούμε μερικούς μόνο συνηθισμένους τύπους προβλημάτων συστήματος για να κατανοήσουμε καλύτερα τις προκλήσεις που θα αντιμετωπίσει ένα τυπικό σχέδιο κατά την αρχική εκκίνηση του συστήματος.
Τα σφάλματα ορισμού λειτουργιών μπορεί να είναι διπλά δύσκολο να εντοπιστούν, καθώς ο σχεδιαστής έχει παρερμηνεύσει μια συγκεκριμένη απαίτηση, επομένως το σφάλμα μπορεί να παραβλεφθεί ακόμη και όταν εξετάζονται προσεκτικά οι λεπτομέρειες του σχεδιασμού. Ένας πρώηνampΈνα συνηθισμένο σφάλμα ορισμού συνάρτησης θα ήταν όταν μια μετάβαση σε μια μηχανή κατάστασης δεν καταλήγει στη σωστή κατάσταση. Τα σφάλματα μπορούν επίσης να εμφανιστούν στις διεπαφές του συστήματος ως πρόβλημα αλληλεπίδρασης. Η καθυστέρηση της διεπαφής, για παράδειγμαample, ενδέχεται να έχει καθοριστεί εσφαλμένα, με αποτέλεσμα μια μη αναμενόμενη υπερχείλιση ή υποχείλιση buffer.
Τα προβλήματα χρονισμού σε επίπεδο συστήματος αποτελούν μια άλλη πολύ συνηθισμένη πηγή σφαλμάτων σχεδιασμού. Τα ασύγχρονα συμβάντα, ειδικότερα, αποτελούν μια κοινή πηγή σφαλμάτων όταν οι επιδράσεις του συγχρονισμού ή της διέλευσης τομέων χρονισμού δεν λαμβάνονται προσεκτικά υπόψη. Κατά την εργασία με ταχύτητα, αυτοί οι τύποι σφαλμάτων μπορεί να είναι πολύ προβληματικοί και μπορεί να εμφανίζονται πολύ σπάνια, ίσως μόνο όταν εκδηλώνονται συγκεκριμένα μοτίβα δεδομένων. Πολλές συνηθισμένες παραβιάσεις χρονισμού εμπίπτουν σε αυτήν την κατηγορία και είναι συνήθως πολύ δύσκολο, αν όχι αδύνατο, να προσομοιωθούν.
Οι παραβιάσεις χρονισμού μπορούν επίσης να οφείλονται σε χαμηλή πιστότητα σήματος μεταξύ ολοκληρωμένων κυκλωμάτων, ιδίως σε συστήματα με πολλαπλές γραμμές ισχύος για κάθε κύκλωμα. Η χαμηλή πιστότητα σήματος μπορεί να οδηγήσει σε θόρυβο σήματος, παρεμβολές, ανακλάσεις, υπερβολικό φορτίο και προβλήματα ηλεκτρομαγνητικών παρεμβολών (EMI) που συχνά εμφανίζονται ως παραβιάσεις χρονισμού. Τα προβλήματα τροφοδοσίας, όπως οι μεταβατικές φαινόμενες (ιδιαίτερα κατά την εκκίνηση ή τον τερματισμό του συστήματος), οι διακυμάνσεις φορτίου και οι υψηλές τάσεις απαγωγής ισχύος, μπορούν επίσης να οδηγήσουν σε μυστηριώδη σφάλματα, τα οποία συχνά δεν εντοπίζονται εύκολα σε μια πηγή τροφοδοσίας. Ακόμα και όταν ο σχεδιασμός είναι απολύτως σωστός, τα προβλήματα κατασκευής της πλακέτας μπορούν να οδηγήσουν σε σφάλματα. Ελαττωματικές συνδέσεις συγκόλλησης και ακατάλληλα συνδεδεμένες υποδοχές, για παράδειγμαampμπορεί να είναι η πηγή σφαλμάτων και μπορεί ακόμη και να εξαρτάται από τη θερμοκρασία ή την τοποθεσία της πλακέτας. Η χρήση προηγμένων τεχνικών συσκευασίας FPGA μπορεί να δυσκολέψει την ανίχνευση σημάτων στην πλακέτα τυπωμένου κυκλώματος, επομένως η πρόσβαση σε ένα επιθυμητό σήμα μπορεί συχνά να είναι προβληματική. Συχνά, πολλά προβλήματα σχεδιασμού δεν δημιουργούν άμεσο σφάλμα και πρέπει να διαπερνούν το σχεδιασμό μέχρι να εκδηλωθεί πραγματικά το σφάλμα. Η ανίχνευση του αρχικού σφάλματος μέχρι την αιτία μπορεί συχνά να είναι μια απογοητευτική, δύσκολη και χρονοβόρα εργασία.
Για π.χampΔηλαδή, ένα μόνο bit λάθος σε έναν πίνακα μετάφρασης μπορεί να μην οδηγήσει σε σφάλμα παρά μόνο πολλούς κύκλους αργότερα. Μερικά από τα εργαλεία που θα συζητήσουμε αργότερα σε αυτήν την εργασία, τα οποία χρησιμοποιούν ειδικό υλικό εντοπισμού σφαλμάτων εντός κυκλώματος, στοχεύουν ειδικά στο να κάνουν αυτά τα «κυνήγια σφαλμάτων» ταχύτερα και ευκολότερα. Πριν εμβαθύνουμε στις λεπτομέρειες αυτών των εργαλείων, ας δούμε πρώτα μια δημοφιλή προσομοίωση τεχνικής εντοπισμού σφαλμάτων που βασίζεται σε λογισμικό, προκειμένου να κατανοήσουμε καλύτερα τα πλεονεκτήματα.tages και disadvantagΟδηγίες χρήσης προσομοίωσης για εντοπισμό σφαλμάτων.
Χρήση Προσομοίωσης για Αποσφαλμάτωση
Συνήθως σε μια προσομοίωση σχεδιασμού, όλα τα πραγματικά στοιχεία εντός και εκτός του σχεδιασμού μοντελοποιούνται μαθηματικά ως διαδικασίες λογισμικού που εκτελούνται διαδοχικά σε μια τυπική CPU. Η εφαρμογή ενός ευρέος φάσματος ερεθισμάτων στο σχεδιασμό και ο έλεγχος της αναμενόμενης εξόδου σε σχέση με την έξοδο του προσομοιωμένου σχεδιασμού, είναι ένας εύκολος τρόπος για να εντοπίσετε τα πιο προφανή σφάλματα σχεδιασμού. Ένα παράθυρο που δείχνει μια τυπική εκτέλεση προσομοίωσης δίνεται στο Σχήμα 1 παρακάτω. Η σαφής πρόοδοςtagΗ διαφορά μεταξύ προσομοίωσης και εντοπισμού σφαλμάτων που βασίζονται σε υλικό είναι ότι η προσομοίωση μπορεί να γίνει στο λογισμικό—δεν απαιτείται πραγματικός σχεδιασμός και δοκιμαστικός πάγκος που βασίζονται σε υλικό. Η προσομοίωση μπορεί να εντοπίσει γρήγορα πολλά σφάλματα σχεδιασμού, ιδίως εκείνα που σχετίζονται με λανθασμένες προδιαγραφές, παρεξήγηση των απαιτήσεων διεπαφής, σφάλματα λειτουργίας και πολλούς άλλους «χονδρικούς» τύπους σφαλμάτων που ανιχνεύονται εύκολα μέσω απλών διανυσμάτων ερεθισμάτων.
Η προσομοίωση είναι ιδιαίτερα αποτελεσματική όταν ο σχεδιαστής διαθέτει εκτεταμένους συνδυασμούς ερεθισμάτων και τα αποτελέσματα που προκύπτουν είναι γνωστά. Σε αυτές τις περιπτώσεις, η προσομοίωση μπορεί να κάνει μια σχεδόν εξαντλητική δοκιμή ενός σχεδιασμού. Δυστυχώς, τα περισσότερα σχέδια δεν έχουν εύκολη πρόσβαση σε εκτεταμένες σουίτες δοκιμών και η διαδικασία δημιουργίας τους μπορεί να είναι πολύ χρονοβόρα. Η δημιουργία μιας σουίτας δοκιμών που καλύπτει το 100% του σχεδιασμού είναι σχεδόν αδύνατη για μεγάλα σχέδια που βασίζονται σε FPGA και πρέπει να χρησιμοποιηθούν συντομεύσεις για να καλυφθούν τα βασικά στοιχεία του σχεδιασμού. Μια άλλη δυσκολία με την προσομοίωση είναι ότι δεν είναι μια υλοποίηση «πραγματικού κόσμου» και δεν μπορεί να εντοπίσει ασύγχρονα συμβάντα, αλληλεπιδράσεις συστήματος σε υψηλή ταχύτητα ή παραβιάσεις χρονισμού. Τέλος, η διαδικασία προσομοίωσης μπορεί να είναι πολύ αργή και εάν απαιτούνται πολλές επαναλήψεις, η προσομοίωση γίνεται γρήγορα το πιο χρονοβόρο και συχνά το πιο δαπανηρό μέρος της διαδικασίας ανάπτυξης.
Ως εναλλακτική λύση (ή ίσως καλύτερα ειπωμένο, ως προσθήκη στην προσομοίωση), οι σχεδιαστές FPGA διαπίστωσαν ότι μπορούσαν να προσθέσουν υλικό εντοπισμού σφαλμάτων στο σχεδιασμό FPGA, προκειμένου να παρατηρούν και να ελέγχουν τα βασικά σήματα εντός της συσκευής. Αυτές οι τεχνικές αναπτύχθηκαν αρχικά ως ad-hoc προσεγγίσεις, αλλά σταδιακά εξελίχθηκαν σε μια τυπική στρατηγική εντοπισμού σφαλμάτων υλικού. Αυτή η χρήση δυνατοτήτων εντοπισμού σφαλμάτων εντός κυκλώματος προσφέρει σημαντικό πλεονέκτημα.tagγια σχέδια που βασίζονται σε FPGA και η επόμενη ενότητα θα εξερευνήσει τις τρεις πιο κοινές στρατηγικές και τα διάφορα πλεονεκτήματά τους.tages και disadvantages.
Κοινές προσεγγίσεις εντοπισμού σφαλμάτων εντός κυκλώματος για FPGA
Οι πιο συνηθισμένες τεχνικές για την υλοποίηση δυνατοτήτων εντοπισμού σφαλμάτων εντός κυκλώματος σε FPGA χρησιμοποιούν είτε έναν ενσωματωμένο λογικό αναλυτή, εξωτερικό εξοπλισμό δοκιμών είτε ειδικό υλικό αισθητήρα σήματος ενσωματωμένο στο ύφασμα FPGA. Ο ενσωματωμένος λογικός αναλυτής συνήθως υλοποιείται χρησιμοποιώντας ύφασμα FPGA και εισάγεται στο σχέδιο. Το JTAG Η θύρα χρησιμοποιείται για την πρόσβαση στον αναλυτή και τα δεδομένα που έχουν ληφθεί μπορούν να εμφανιστούν σε έναν υπολογιστή. Όταν χρησιμοποιείται εξωτερικός εξοπλισμός δοκιμών, ο σχεδιασμός FPGA που δοκιμάζεται τροποποιείται έτσι ώστε επιλεγμένα εσωτερικά σήματα FPGA να δρομολογούνται στις ακίδες εξόδου. Αυτές οι ακίδες μπορούν στη συνέχεια να παρατηρηθούν μέσω του εξωτερικού εξοπλισμού δοκιμών. Όταν χρησιμοποιείται ειδικό υλικό αισθητήρα σήματος, μια μεγάλη ποικιλία εσωτερικών σημάτων μπορεί να διαβαστεί σε πραγματικό χρόνο. Ορισμένες υλοποιήσεις ανιχνευτών μπορούν ακόμη και να χρησιμοποιηθούν για εγγραφή σε θέσεις καταχώρισης ή μνήμης, ενισχύοντας περαιτέρω τις δυνατότητες εντοπισμού σφαλμάτων. Ας δούμε με περισσότερες λεπτομέρειες τα προηγμέναtages και disadvantagες από καθεμία από αυτές τις τεχνικές και στη συνέχεια εξετάστε μια εξήγησηample design για να δούμε πώς αυτές οι διαφορετικές προσεγγίσεις μπορούν να επηρεάσουν τον συνολικό χρόνο εντοπισμού σφαλμάτων.
Ενσωματωμένος Λογικός Αναλυτής Ενσωματωμένης Αποσφαλμάτωσης FPGA εντός κυκλώματος
Η ιδέα του ενσωματωμένου λογικού αναλυτή ήταν άμεσο αποτέλεσμα των ad-hoc δυνατοτήτων εντοπισμού σφαλμάτων εντός κυκλώματος που εφάρμοσαν οι σχεδιαστές όταν χρησιμοποιήθηκαν για πρώτη φορά τα FPGA. Οι ενσωματωμένοι λογικοί αναλυτές πρόσθεσαν νέες δυνατότητες και εξάλειψαν την απαίτηση ο σχεδιαστής να αναπτύξει τον δικό του αναλυτή. Τα περισσότερα FPGA προσφέρουν αυτές τις δυνατότητες και τρίτα μέρη προσφέρουν τυπικούς αναλυτές (το Identify®, από την Synopsys, είναι ένα δημοφιλές παράδειγμα).ample) που μπορεί εύκολα να διασυνδεθεί με εργαλεία υψηλότερου επιπέδου για περαιτέρω βελτίωση της παραγωγικότητας.
Η λειτουργικότητα του λογικού αναλυτή εισάγεται στο σχεδιασμό, χρησιμοποιώντας FPGA fabric και ενσωματωμένα μπλοκ μνήμης ως buffer ιχνών, όπως φαίνεται στο Σχήμα 2. Δημιουργούνται επίσης πόροι ενεργοποίησης, έτσι ώστε οι σύνθετες αλληλεπιδράσεις σήματος να μπορούν εύκολα να επιλεγούν και να καταγραφούν. Η πρόσβαση στον αναλυτή για έλεγχο και μεταφορά δεδομένων γίνεται συνήθως μέσω του τυπικού J.TAG θύρα για την απλοποίηση των απαιτήσεων διεπαφής. Τα δεδομένα που έχουν καταγραφεί μπορούν να εμφανιστούν σε έναν υπολογιστή χρησιμοποιώντας κοινές viewλογισμικό ing και συνήθως αντικατοπτρίζει μια έξοδο κυματομορφής προσομοιωτή λογικής viewστυλ ινγκ.
Το advantagΤα πλεονεκτήματα αυτής της προσέγγισης είναι ότι δεν χρησιμοποιούνται επιπλέον ακροδέκτες εισόδου/εξόδου FPGA, μόνο οι τυπικές J.TAG σήματα. Οι ενσωματωμένοι πυρήνες IP του αναλυτή λογικής είναι συνήθως σχετικά φθηνοί και σε ορισμένες περιπτώσεις μπορούν να αποτελέσουν μια επιλογή για τα υπάρχοντα εργαλεία σύνθεσης FPGA ή προσομοίωσης. Σε ορισμένες περιπτώσεις, ο ενσωματωμένος αναλυτής λογικής μπορεί επίσης να παρέχει πρόσθετες εξόδους σε αχρησιμοποίητες εισόδους/εξόδους, εάν είναι πιο βολικό. Ένα από τα μειονεκτήματαtagΤο μειονέκτημα αυτής της προσέγγισης είναι ότι απαιτείται μεγάλη ποσότητα πόρων FPGA. Συγκεκριμένα, εάν χρησιμοποιηθούν buffer ιχνηλασιμότητας, αυτό θα μειώσει τον αριθμό των διαθέσιμων μνημών μπλοκ. Εάν απαιτείται ένα ευρύ buffer, αυτό θα αποτελέσει επίσης μια αντιστάθμιση έναντι του βάθους μνήμης (καθώς η χρήση μιας ευρύτερης μνήμης έχει ως αποτέλεσμα μικρότερο βάθος μνήμης) - ένα μεγάλο μειονέκτημα.tagε όταν χρησιμοποιούνται μικρότερες συσκευές. Ίσως το μεγαλύτερο μειονέκτημα αυτής της τεχνικής είναι ότι κάθε φορά που γίνεται μια προσαρμογή στην τοποθέτηση των αισθητήρων, είναι απαραίτητο να επαναμεταγλωττιστεί και να επαναπρογραμματιστεί ο σχεδιασμός. Όταν χρησιμοποιείται μια μεγάλη συσκευή, αυτή η διαδικασία μπορεί να διαρκέσει σημαντικό χρονικό διάστημα. Λόγω του τρόπου με τον οποίο τοποθετούνται οι αισθητήρες σήματος στο σχεδιασμό, μπορεί να είναι δύσκολο να συσχετιστούν οι σχέσεις χρονισμού σήματος. Επιπλέον, οι καθυστερήσεις μεταξύ των αισθητήρων σήματος δεν είναι συνεπείς και επομένως οι σχέσεις χρονισμού είναι δύσκολο να συγκριθούν. Αυτή είναι μια ιδιαίτερη δυσκολία κατά τη σύγκριση ασύγχρονων σημάτων ή σημάτων από διαφορετικά χρονικά πεδία.
Ενσωματωμένος εντοπισμός σφαλμάτων FPGA εντός κυκλώματος – Εξωτερικός εξοπλισμός δοκιμών
Η χρήση κώδικα εντοπισμού σφαλμάτων εντός κυκλώματος σε συνδυασμό με εξωτερικό εξοπλισμό δοκιμών ήταν μια φυσική εξέλιξη όταν ένας εξωτερικός λογικός αναλυτής ήταν ήδη διαθέσιμος για τον έλεγχο του συστήματος. Δημιουργώντας έναν απλό κώδικα εντοπισμού σφαλμάτων για τον εντοπισμό και την επιλογή εσωτερικών σημάτων δοκιμών και την εφαρμογή τους σε εισόδους/εξόδους FPGA, όπως φαίνεται στο Σχήμα 3, ήταν δυνατό να αξιοποιηθούν οι προηγμένες δυνατότητες των αναλυτών (όπως μεγάλα buffer ιχνών, σύνθετες ακολουθίες ενεργοποίησης και πολλαπλές viewεπιλογές ing) για τη δημιουργία απλών αλλά ισχυρών περιβαλλόντων εντοπισμού σφαλμάτων. Πιο σύνθετες δυνατότητες εντός κυκλώματος για προηγμένες επιλογές ενεργοποίησης μπορούν να ελαχιστοποιήσουν τον αριθμό των απαιτούμενων εξόδων. Για παράδειγμαampΔηλαδή, η επιλογή συγκεκριμένων διευθύνσεων σε έναν ευρύ δίαυλο μπορεί να είναι απαγορευτική εάν απαιτούνται εξωτερικοί ακροδέκτες.
Η χρήση εσωτερικής λογικής FPGA μειώνει δραματικά τις απαιτήσεις εισόδου/εξόδου και μπορεί ακόμη και να αναζητήσει συγκεκριμένα μοτίβα διευθύνσεων (ίσως μια ακολουθία κλήσης και επιστροφής) για την αντιμετώπιση πιο σύνθετων προβλημάτων. Εάν υπάρχει διαθέσιμο ένα κοινό περιβάλλον εργασίας χρήστη, αυτό μπορεί να απλοποιήσει την καμπύλη εκμάθησης και να βελτιώσει την παραγωγικότητα.
Το advantagΤο πλεονέκτημα αυτής της προσέγγισης είναι ότι αξιοποιεί το κόστος του εξωτερικού εξοπλισμού δοκιμών και επομένως δεν υπάρχει πρόσθετο κόστος εργαλείου. Ορισμένοι πυρήνες IP κυκλώματος εντοπισμού σφαλμάτων διατίθενται από κατασκευαστές εξοπλισμού ή κατασκευαστές FPGA και μπορεί να είναι πολύ χαμηλού κόστους ή ακόμα και δωρεάν. Η ποσότητα των πόρων FPGA που απαιτούνται για την υλοποίηση της λογικής επιλογής σήματος είναι πολύ μικρή και, επειδή η λειτουργία ιχνηλάτησης γίνεται χρησιμοποιώντας τον εξωτερικό λογικό αναλυτή, δεν απαιτούνται μνήμες μπλοκ. Δεδομένου ότι η λογική επιλογής είναι φθηνή, μπορεί επίσης να υποστηριχθεί ένας μεγάλος αριθμός καναλιών με ευρεία ενεργοποίηση. Ο λογικός αναλυτής μπορεί να λειτουργήσει τόσο σε λειτουργία χρονισμού όσο και σε λειτουργία κατάστασης, γεγονός που βοηθά στην απομόνωση ορισμένων ζητημάτων χρονισμού.
Το ατύχημαtagΤα μειονεκτήματα αυτής της προσέγγισης μπορεί να περιλαμβάνουν την ανάγκη αγοράς ενός λογικού αναλυτή, εάν δεν έχει ήδη διατεθεί στο έργο. Αυτό το μειονέκτημαtagΑυτό μπορεί να είναι αρκετό για να αποθαρρύνει αυτήν την προσέγγιση σε πολλές περιπτώσεις. Σημειώστε, ωστόσο, ότι ορισμένες επιλογές λογικού αναλυτή χαμηλού κόστους γίνονται διαθέσιμες που χρησιμοποιούν τον υπολογιστή ή ένα tablet για προβολή, καθιστώντας αυτήν την επιλογή πολύ πιο οικονομική για απλές απαιτήσεις εντοπισμού σφαλμάτων.
Ο αριθμός των ακίδων FPGA που καταναλώνονται μπορεί να είναι ένα άλλο μειονέκτημα.tagκαι εάν πρέπει να τηρούνται ευρείς δίαυλοι, απαιτείται σημαντικός σχεδιασμός για τη διάταξη της πλακέτας και την προσθήκη συνδέσμων εντοπισμού σφαλμάτων. Αυτή η απαίτηση είναι τις περισσότερες φορές δύσκολο να προβλεφθεί νωρίς στη φάση σχεδιασμού και προκαλεί μια άλλη ανεπιθύμητη πολυπλοκότητα. Όπως και με την προσέγγιση του ενσωματωμένου λογικού αναλυτή, η εξωτερική στρατηγική δοκιμής απαιτεί επαναμεταγλώττιση και επαναπρογραμματισμό ενός σχεδιασμού, όταν χρειάζεται κάθε νέο πείραμα.
Το κοινό μειονέκτημαtagΟι δύο αυτές τεχνικές - η χρήση πόρων εντός τσιπ (η οποία μπορεί επίσης να επηρεάσει την απόδοση χρονισμού του σχεδιασμού και να δημιουργήσει πρόσθετες απαιτήσεις εντοπισμού σφαλμάτων), η ανάγκη επαναμεταγλώττισης και επαναπρογραμματισμού του σχεδιασμού (η οποία μπορεί να προσθέσει ώρες ή και ημέρες στο πρόγραμμα εντοπισμού σφαλμάτων), ο αρχικός σχεδιασμός που απαιτείται για τον εντοπισμό πιθανών σεναρίων δοκιμών και η χρήση πρόσθετων πόρων εισόδου/εξόδου τσιπ δημιούργησαν την ανάγκη για μια προσέγγιση χωρίς αυτά τα μειονεκτήματα. Μια απάντηση ήταν η προσθήκη αποκλειστικής λογικής εντοπισμού σφαλμάτων στο ύφασμα FPGA σε ορισμένες συσκευές. Το αποτέλεσμα ήταν η εντοπισμός σφαλμάτων εντός κυκλώματος χρησιμοποιώντας ανιχνευτές υλικού.
Εντοπισμός σφαλμάτων FPGA εντός κυκλώματος – Αισθητήρες υλικού
Η χρήση αισθητήρων υλικού απλοποιεί δραματικά τις τεχνικές εντοπισμού σφαλμάτων εντός κυκλώματος για τα FPGA. Αυτή η τεχνική, που εφαρμόζεται ως λειτουργία Live Probe σε συσκευές SmartFusion2®SoC FPGA και IGLOO®2 FPGA, προσθέτει αποκλειστικές γραμμές αισθητήρων στο πλέγμα FPGA για την παρατήρηση της εξόδου οποιουδήποτε bit καταχωρητή λογικού στοιχείου. Όπως φαίνεται στο διάγραμμα μπλοκ στο Σχήμα 4, οι αισθητήρες υλικού είναι διαθέσιμοι σε δύο κανάλια αισθητήρων A και B.
Οι επιλεγμένες έξοδοι καταχωρητών (σημεία ανιχνευτή), όπως αυτή που εμφανίζεται στο κάτω μέρος του σχήματος, δρομολογούνται πάνω από τα δύο κανάλια ανιχνευτή και, εάν επιλεγούν, μπορούν να εφαρμοστούν είτε στο κανάλι Α είτε στο κανάλι Β. Αυτά τα σήματα καναλιού πραγματικού χρόνου μπορούν στη συνέχεια να αποσταλούν στις αποκλειστικές ακίδες Probe A και Probe B στη συσκευή. Τα σήματα Probe A και Probe B μπορούν επίσης να δρομολογηθούν εσωτερικά σε έναν ενσωματωμένο λογικό αναλυτή.
Σημειώστε ότι τα χαρακτηριστικά χρονισμού των ακροδεκτών του αισθητήρα είναι κανονικά και έχουν αμελητέα απόκλιση από το ένα σημείο του αισθητήρα στο άλλο, καθιστώντας πολύ πιο εύκολη τη σύγκριση των χαρακτηριστικών χρονισμού των σημάτων πραγματικού χρόνου. Τα δεδομένα μπορούν να ληφθούν έως και 100MHz, καθιστώντας τα κατάλληλα για την πλειονότητα των σχεδίων στόχων.
Ίσως το πιο σημαντικό είναι ότι οι θέσεις των σημείων ανίχνευσης, δεδομένου ότι δεν επιλέγονται ως μέρος του υλοποιημένου σχεδιασμού (επιλέγονται μέσω ειδικού υλικού ενώ ο σχεδιασμός εκτελείται στο FPGA), μπορούν να αλλάξουν γρήγορα απλώς στέλνοντας τα δεδομένα επιλογής στη συσκευή. Δεν απαιτείται επαναμεταγλώττιση και επαναπρογραμματισμός του σχεδιασμού.
Για να απλοποιηθεί ακόμη περισσότερο η χρήση της δυνατότητας Live Probe, το σχετικό εργαλείο λογισμικού εντοπισμού σφαλμάτων έχει πρόσβαση σε όλες τις θέσεις σήματος του αισθητήρα μέσω ενός αυτόματα δημιουργούμενου εργαλείου εντοπισμού σφαλμάτων. fileΌπως φαίνεται στο Σχήμα 5, το όνομα του σήματος μπορεί να επιλεγεί από τη λίστα σημάτων και να εφαρμοστεί στο επιθυμητό κανάλι. Αυτό μπορεί να γίνει ακόμη και κατά την εκτέλεση του σχεδιασμού, έτσι ώστε η δραστηριότητα ανίχνευσης εντός του σχεδιασμού να είναι απρόσκοπτη και πολύ αποτελεσματική.
Σε πολλές περιπτώσεις, η δυνατότητα ανιχνευτή υλικού, όπως το Live Probe, μπορεί να χρησιμοποιηθεί σε συνδυασμό με τον προηγουμένως περιγραφόμενο ενσωματωμένο λογικό αναλυτή και τις εξωτερικές τεχνικές δοκιμών.
Όπως φαίνεται στο Σχήμα 6, η δυνατότητα του Live Probe να επιλέγει σήματα «εν κινήσει» καθιστά δυνατή την γρήγορη και εύκολη αλλαγή των σημάτων υπό παρατήρηση χωρίς να χρειάζεται να επαναμεταγλωττιστεί ο σχεδιασμός. Ένας εξωτερικός λογικός αναλυτής ή παλμογράφος μπορεί εύκολα να παρατηρήσει τα σήματα που έχουν ανιχνευθεί, όπως φαίνεται στο επάνω δεξιό μέρος του σχήματος στις ειδικές ακίδες εξόδου του αισθητήρα. Εναλλακτικά (ή ίσως ακόμη και επιπλέον) ο εσωτερικός λογικός αναλυτής (το μπλοκ ILA Identification, που φαίνεται στο σχήμα) μπορεί να χρησιμοποιηθεί για την παρατήρηση των ακίδων του αισθητήρα. Τα σήματα του αισθητήρα μπορούν να καταγραφούν από το ILA και να παρατηρηθούν στο παράθυρο κυματομορφής. Οι θέσεις των αισθητήρων μπορούν να αλλάξουν χωρίς να χρειάζεται να επαναμεταγλωττιστεί ο σχεδιασμός-στόχος.
Σημειώστε ότι οι πρόσθετες δυνατότητες για ενεργοποίηση και ιχνηλάτηση μπορούν να χρησιμοποιηθούν για την ενίσχυση της λειτουργικότητας του ανιχνευτή, διευκολύνοντας τον εντοπισμό ακόμη και πολύπλοκων προβλημάτων σχεδιασμού.
Πρόσθετες δυνατότητες εντοπισμού σφαλμάτων υλικού είναι επίσης διαθέσιμες στις συσκευές SmartFusion2 SoC FPGA και IGLOO2 FPGA. Μία από αυτές τις δυνατότητες, που ονομάζεται Active Probe, μπορεί δυναμικά και ασύγχρονα να διαβάζει ή να γράφει σε οποιοδήποτε bit καταχωρητή λογικού στοιχείου. Μια εγγεγραμμένη τιμή παραμένει για έναν μόνο κύκλο ρολογιού, ώστε να μπορεί να συνεχιστεί η κανονική λειτουργία, καθιστώντας την ένα πολύτιμο εργαλείο εντοπισμού σφαλμάτων. Το Active Probe παρουσιάζει ιδιαίτερο ενδιαφέρον εάν επιθυμείται μια γρήγορη παρατήρηση ενός εσωτερικού σήματος (ίσως απλώς για να ελέγξετε ότι είναι ενεργό ή στην επιθυμητή κατάσταση, όπως ένα σήμα επαναφοράς) ή εάν υπάρχει ανάγκη να δοκιμάσετε γρήγορα μια λογική συνάρτηση γράφοντας σε ένα σημείο ανιχνευτή.
(ίσως για να ξεκινήσει μια μετάβαση μηχανής κατάστασης ορίζοντας γρήγορα μια τιμή εισόδου για να απομονωθεί ένα πρόβλημα ροής ελέγχου).
Μια άλλη δυνατότητα εντοπισμού σφαλμάτων που παρέχεται από το Microsemi είναι το Memory Debug. Αυτή η λειτουργία επιτρέπει στον σχεδιαστή να διαβάζει ή να γράφει δυναμικά και ασύγχρονα σε ένα επιλεγμένο μπλοκ SRAM υφάσματος FPGA. Όπως φαίνεται στο στιγμιότυπο οθόνης του Εργαλείου εντοπισμού σφαλμάτων (Σχήμα 7), όταν επιλεγεί η καρτέλα Μπλοκ μνήμης, ο χρήστης μπορεί να επιλέξει την επιθυμητή μνήμη για ανάγνωση, να εκτελέσει μια καταγραφή στιγμιότυπου της μνήμης, να τροποποιήσει τις τιμές μνήμης και στη συνέχεια να γράψει τις τιμές πίσω στη συσκευή. Αυτό μπορεί να είναι ιδιαίτερα χρήσιμο για τον έλεγχο ή τη ρύθμιση buffer δεδομένων που χρησιμοποιούνται σε θύρες επικοινωνιών για scratch-pad προσανατολισμένο σε υπολογισμούς ή ακόμα και για κώδικα που εκτελείται από ενσωματωμένη CPU. Η εντοπισμός σφαλμάτων σε σύνθετα σφάλματα που εξαρτώνται από δεδομένα είναι σημαντικά ταχύτερη και ευκολότερη όταν οι μνήμες μπορούν να παρατηρηθούν και να ελεγχθούν τόσο γρήγορα.
Μόλις ολοκληρωθεί η διόρθωση σφαλμάτων σε ένα σχέδιο, μπορεί να είναι επιθυμητό να απενεργοποιήσετε τις δυνατότητες διόρθωσης σφαλμάτων υλικού για την προστασία ευαίσθητων πληροφοριών. Ένας εισβολέας θα μπορούσε να χρησιμοποιήσει αυτές τις ίδιες εγκαταστάσεις για να διαβάσει κρίσιμες πληροφορίες ή να αλλάξει τις ρυθμίσεις του συστήματος που θα μπορούσαν να επιτρέψουν εύκολη πρόσβαση σε ευαίσθητα τμήματα του συστήματος. Η Microsemi έχει προσθέσει λειτουργίες που επιτρέπουν στον σχεδιαστή να ασφαλίσει τη συσκευή μετά την ολοκλήρωση της διόρθωσης σφαλμάτων. Για παράδειγμα,ampΔηλαδή, η πρόσβαση στο Live Probe και στο Active Probe μπορεί να κλειδωθεί για να απενεργοποιηθεί πλήρως η λειτουργία ως πιθανό μέσο επίθεσης (εξαλείφει ακόμη και την πιθανότητα η δραστηριότητα του αισθητήρα να δημιουργεί τυχόν μοτίβα στο ρεύμα τροφοδοσίας, τα οποία θα μπορούσαν να χρησιμοποιηθούν για την έμμεση παρατήρηση δεδομένων αισθητήρα). Εναλλακτικά, η πρόσβαση σε επιλεγμένα τμήματα του σχεδιασμού μπορεί να κλειδωθεί για να αποτραπεί η πρόσβαση μόνο σε αυτά τα τμήματα. Αυτό μπορεί να είναι βολικό εάν μόνο ένα τμήμα του σχεδιασμού πρέπει να είναι ασφαλές, καθιστώντας το υπόλοιπο του σχεδιασμού ακόμα προσβάσιμο για δοκιμές στο πεδίο ή ανάλυση σφαλμάτων.
Πίνακας σύγκρισης εντοπισμού σφαλμάτων εντός κυκλώματος
Τώρα που μια λεπτομερής επανεξέτασηview Έχουν περιγραφεί από τις τρεις κύριες τεχνικές εντοπισμού σφαλμάτων υλικού εντός κυκλώματος, έχει δημιουργηθεί ένα συνοπτικό διάγραμμα, όπως φαίνεται στο Σχήμα 8, που περιγράφει λεπτομερώς τις διάφορες προηγμένες τεχνικές.tages και disadvantagκάθε μεθόδου. Λάβετε υπόψη ότι ορισμένες τεχνικές μπορούν να χρησιμοποιηθούν σε συνδυασμό (Live Probe και Internal Logic Analyzer (ILA), όπως το Synopsys Identify, για παράδειγμαample), μπορούμε να δούμε τα βασικά δυνατά και αδύνατα σημεία κάθε τεχνικής. Το σύνολο των δυνατοτήτων εντοπισμού σφαλμάτων υλικού εντός κυκλώματος (Live Probe, Active Probe και Memory Debug—συλλογικά ονομάζονται SmartDebug), είναι πιο αδύναμο σε σύγκριση με τις άλλες τεχνικές όσον αφορά τον αριθμό των συνολικών διαθέσιμων ανιχνευτών (κόκκινος κύκλος) και είναι πιο αδύναμο από το καλύτερο (κίτρινος κύκλος) όταν λαμβάνεται υπόψη η ταχύτητα λήψης (ο εξωτερικός εξοπλισμός δοκιμών μπορεί να είναι ταχύτερος).
Οι τεχνικές που βασίζονται σε ILA, όπως το Synopsys Identify, είναι οι πιο αδύναμες σε σύγκριση με τις άλλες τεχνικές και όταν λαμβάνονται υπόψη οι απαιτήσεις πόρων του FPGA. Οι τεχνικές που βασίζονται σε εξωτερικό εξοπλισμό δοκιμών είναι οι πιο αδύναμες σε μια σειρά από παραμέτρους, με το κόστος, τον αντίκτυπο στο χρονοδιάγραμμα σχεδιασμού και την επιβάρυνση της κίνησης του αισθητήρα (λόγω της ανάγκης επαναμεταγλώττισης του σχεδιασμού) να είναι οι πιο επαχθείς. Ίσως η βέλτιστη λύση είναι ένας συνδυασμός του SmartDebug και μιας από τις άλλες τεχνικές, έτσι ώστε να μετριαστεί η αδυναμία του SmartDebug στον αριθμό των καναλιών και να μειωθεί η κίνηση του σημείου αισθητήρα.tagΟι δυνατότητες των άλλων τεχνικών μειώθηκαν επίσης.
Ταξινομήσεις σημάτων
Μπορεί να γίνει μια χρήσιμη διάκριση μεταξύ ορισμένων από τους πιο συνηθισμένους τύπους σημάτων και αυτό μπορεί να βοηθήσει κατά τον σχεδιασμό μιας προσέγγισης εντοπισμού σφαλμάτων. Για παράδειγμαampΔηλαδή, τα σήματα που δεν αλλάζουν παρά μόνο κατά την εκκίνηση του συστήματος, όπως η επαναφορά συστήματος, η επαναφορά μπλοκ ή οι καταχωρητές αρχικοποίησης, μπορούν να ταξινομηθούν ως στατικά σήματα. Αυτοί οι τύποι σημάτων είναι πιο αποτελεσματικά προσβάσιμοι μέσω μιας εγκατάστασης που μπορεί εύκολα να παρατηρήσει καθώς και να ελέγξει το σήμα, χωρίς να χρειάζεται ένας μακρύς κύκλος επαναμεταγλώττισης. Το Active Probe είναι μια εξαιρετική εγκατάσταση για την αποσφαλμάτωση στατικών σημάτων. Ομοίως, τα σήματα που αλλάζουν πιο συχνά αλλά εξακολουθούν να είναι στατικά για τη συντριπτική πλειοψηφία του χρόνου, μπορούν να ταξινομηθούν ως ψευδοστατικά και επίσης αποσφαλματώνονται πιο αποτελεσματικά χρησιμοποιώντας το Active Probe. Τα σήματα που αλλάζουν συχνά, όπως τα σήματα ρολογιού, μπορούν να ταξινομηθούν ως δυναμικά και δεν είναι τόσο εύκολα προσβάσιμα μέσω του Active Probe. Το Live Probe είναι μια καλύτερη επιλογή για την παρατήρηση αυτών των σημάτων.
Απλή περίπτωση χρήσης εντοπισμού σφαλμάτων
Τώρα που έχουμε κατανοήσει καλύτερα τις διάφορες επιλογές εντοπισμού σφαλμάτων εντός κυκλώματος, ας δούμε ένα απλό παράδειγμα σχεδίασης.ampΓια να δούμε πώς αποδίδουν αυτές οι τεχνικές. Το Σχήμα 9 δείχνει έναν απλό σχεδιασμό FPGA σε μια συσκευή SmartFusion2 SoC FPGA. Το Υποσύστημα Μικροελεγκτή (MSS) επαναφέρεται από το μπλοκ Soft IP του CoreSF2Reset. Οι είσοδοι σε αυτό το μπλοκ είναι η Επαναφορά Ενεργοποίησης, η Επαναφορά του User Fabric και η Εξωτερική Επαναφορά. Οι έξοδοι είναι η επαναφορά στο User Fabric, η επαναφορά του MSS και η επαναφορά του M3. Τα συμπτώματα σφάλματος είναι ότι δεν υπάρχει δραστηριότητα στις εισόδους/εξόδους, παρόλο που η συσκευή εξέρχεται με επιτυχία από την κατάσταση POR. Οι τρεις διαφορετικές επιλογές για την αποσφαλμάτωση αυτού του σφάλματος απεικονίζονται επίσης στο σχήμα: Το μπλε πλαίσιο (με την ένδειξη ETE) αφορά τη μέθοδο External Test Equipment, το πράσινο πλαίσιο (με την ένδειξη ILA) αφορά τη μέθοδο Internal Logic Analyzer και το πορτοκαλί πλαίσιο (με την ένδειξη AP) αφορά τη μέθοδο Active Probe. Θα υποθέσουμε ότι οι πιθανές βασικές αιτίες του σφάλματος είναι οι εσφαλμένα δηλωμένες είσοδοι επαναφοράς στο μπλοκ Soft IP του CoreSF2Reset.
Ας δούμε τώρα τη διαδικασία εντοπισμού σφαλμάτων για τρεις από τις προηγουμένως περιγραφείσες μεθόδους εντός κυκλώματος.
Εξωτερικός εξοπλισμός δοκιμών
Χρησιμοποιώντας αυτήν τη μέθοδο, θεωρείται δεδομένο ότι ο εξοπλισμός δοκιμής είναι διαθέσιμος και δεν χρησιμοποιείται από έργο υψηλότερης προτεραιότητας. Επιπλέον, είναι σημαντικό να έχετε προγραμματίσει εκ των προτέρων, ώστε να είναι διαθέσιμες ορισμένες είσοδοι/έξοδοι FPGA και να μπορούν να συνδεθούν εύκολα στον εξοπλισμό δοκιμής. Η ύπαρξη μιας κεφαλίδας στην πλακέτα τυπωμένου κυκλώματος (PCB), για παράδειγμα,ampδηλ., θα ήταν πολύ χρήσιμο και θα ελαχιστοποιούσε τον χρόνο που αφιερώνεται στην προσπάθεια αναγνώρισης και σύνδεσης με έναν «πιθανό ύποπτο» ή την πιθανή βραχυκύκλωση των ακίδων κατά τη διάρκεια της ανίχνευσης. Ο σχεδιασμός θα πρέπει να επαναμεταγλωττιστεί για να επιλεγούν τα σήματα που θέλουμε να διερευνήσουμε. Ας ελπίσουμε ότι δεν θα «ξεφλουδίσουμε το κρεμμύδι» και δεν θα χρειαστεί να επιλέξουμε επιπλέον σήματα για περαιτέρω διερεύνηση, καθώς συχνά η αρχική μας έρευνα απλώς οδηγεί σε περισσότερα ερωτήματα. Σε κάθε περίπτωση, η διαδικασία επαναμεταγλώττισης και επαναπρογραμματισμού μπορεί να διαρκέσει σημαντικό χρονικό διάστημα και, εάν οδηγήσει σε παραβιάσεις χρονισμού, απαιτείται επανασχεδιασμός (όλοι γνωρίζουμε πόσο απογοητευτική μπορεί να είναι η προσπάθεια επίλυσης προβλημάτων κλεισίματος χρονισμού, ιδίως όταν κάνετε αλλαγές στο σχεδιασμό για να βρείτε ένα σφάλμα σχεδιασμού - ολόκληρη η διαδικασία μπορεί να διαρκέσει από λεπτά έως ώρες)! Είναι επίσης σημαντικό να θυμόμαστε ότι εάν ο σχεδιασμός δεν έχει ελεύθερες εισόδους/εξόδους χρήστη, αυτή η μέθοδος δεν μπορεί να εφαρμοστεί. Επιπλέον, αυτή η μέθοδος είναι δομικά παρεμβατική στο σχεδιασμό - και τα σφάλματα που σχετίζονται με τον χρονισμό ενδέχεται να εξαφανιστούν ή να επανεμφανιστούν μεταξύ των επαναλήψεων.
Εσωτερικός Λογικός Αναλυτής
Χρησιμοποιώντας αυτήν τη μέθοδο, το ILA πρέπει να εισαχθεί στο σχέδιο χρησιμοποιώντας πόρους fabric και στη συνέχεια πρέπει να μεταγλωττιστεί ξανά. Σημειώστε ότι εάν το ILA έχει ήδη δημιουργηθεί, τα σήματα που θέλουμε να διερευνήσουμε ενδέχεται να μην έχουν ενοργανωθεί, κάτι που θα απαιτούσε επίσης επαναμεταγλώττιση. Αυτή η διαδικασία ενέχει τον κίνδυνο να αλλάξει το αρχικό σχέδιο και να παραβιάσει τους χρονικούς περιορισμούς. Εάν ο χρονισμός ικανοποιείται, το σχέδιο πρέπει να επαναπρογραμματιστεί και να αρχικοποιηθεί ξανά. Όλη αυτή η διαδικασία μπορεί να διαρκέσει αρκετά λεπτά ή και ώρες εάν οι χρόνοι επαναμεταγλώττισης είναι μεγάλοι και απαιτούνται πολλαπλά περάσματα. Αυτή η προσέγγιση είναι δομικά παρεμβατική και μπορεί να οδηγήσει σε παρόμοια προβλήματα με αυτά που περιγράφονται κατά τη χρήση της παραπάνω μεθόδου.
Ενεργός έλεγχος
Χρησιμοποιώντας αυτήν τη μέθοδο, ο Ενεργός Αισθητήρας μπορεί να υποδειχθεί στην πηγή των διαφόρων σημάτων επαναφοράς, τα οποία προέρχονται όλα από εξόδους καταχωρητών (όπως είναι σύνηθες σε κάθε καλή πρακτική ψηφιακού σχεδιασμού). Τα σήματα επιλέγονται ένα κάθε φορά, από ένα μενού Ενεργού Αισθητήρα που φαίνεται στο Σχήμα 10 παρακάτω. Οι επιλεγμένες τιμές σήματος μπορούν να διαβαστούν και εμφανίζονται στο παράθυρο δεδομένων Ενεργού Αισθητήρα. Οποιεσδήποτε λανθασμένες δηλώσεις εντοπίζονται εύκολα. Αυτή η δοκιμή μπορεί να γίνει αμέσως χωρίς την ανάγκη επαναμεταγλώττισης και επαναπρογραμματισμού της συσκευής και δεν είναι δομικά ή διαδικαστικά παρεμβατική. Η όλη διαδικασία διαρκεί μόνο λίγα δευτερόλεπτα. Αυτή η μέθοδος μπορεί επίσης να δημιουργήσει δυνατότητα ελέγχου (αλλαγή τιμών ασύγχρονα) την οποία οι άλλες δύο μέθοδοι δεν θα επιτρέψουν. Σε αυτή τη συγκεκριμένη περίπτωσηampΔηλαδή, το σήμα επαναφοράς που προέρχεται από έναν καταχωρητή μπορεί εύκολα να ανιχνευθεί και να ανακαλυφθεί ότι διατηρείται σε ενεργή κατάσταση.
Η στιγμιαία εναλλαγή του σήματος επαναφοράς μπορεί να επιτευχθεί με ασύγχρονο χειρισμό του καταχωρητή που παράγει τα σήματα ηρεμίας.
Πιο σύνθετη περίπτωση χρήσης εντοπισμού σφαλμάτων
Ο παραπάνω σχεδιασμός ήταν πολύ απλός και είναι χρήσιμος ως εισαγωγή στη χρήση των περιγραφόμενων τεχνικών σχεδιασμού, αλλά μια πιο σύνθετη εξίσωσηampΑυτό μπορεί να είναι ακόμη πιο ενδεικτικό. Πολλές φορές το σήμα ενδιαφέροντος δεν είναι ένα στατικό σήμα όπως ήταν στην απλή μας εξίσωση.ampαλλά είναι δυναμικό. Ένα συνηθισμένο δυναμικό σήμα είναι ένα ενδιάμεσο ρολόι, που ίσως χρησιμοποιείται για τον χρονισμό μιας χειραψίας για μια σειριακή διεπαφή. Το Σχήμα 11 δείχνει ένα τέτοιο σχέδιο με τον πυρήνα Soft IP του χρήστη, σε αυτήν την περίπτωση, μια προσαρμοσμένη σειριακή διεπαφή συνδεδεμένη στο δίαυλο APB του συστήματος. Τα συμπτώματα σφάλματος είναι ότι δεν υπάρχει δραστηριότητα στην προσαρμοσμένη σειριακή διεπαφή του χρήστη και ότι όταν ένας κύριος δίαυλος APB εκτελεί μια συναλλαγή για πρόσβαση στη σειριακή διεπαφή, μεταβαίνει σε μια κατάσταση εξαίρεσης που υποδεικνύει μια λανθασμένη χειραψία. Αυτές οι συνθήκες φαίνεται να αποκλείουν μια στατική αιτία, όπως ένα λανθασμένο σήμα επαναφοράς, καθώς η μηχανή κατάστασης συναλλαγής φαίνεται να μην λειτουργεί με τον αναμενόμενο ρυθμό και έτσι προκαλεί την εξαίρεση. Η βασική αιτία θεωρείται ότι είναι η γεννήτρια συχνότητας ρολογιού μέσα στον πυρήνα IP του χρήστη.
Εάν δεν εκτελείται στη σωστή συχνότητα, θα προκύψουν τα περιγραφόμενα σφάλματα.
Σε αυτήν την περίπτωση, είναι πιθανώς καλύτερη στρατηγική να αντικαταστήσετε την προσέγγιση Active Probe με την Live Probe. Αυτό απεικονίζεται στο παραπάνω σχήμα από το πορτοκαλί κουτί LP, χρησιμοποιώντας το J.TAG σήμα για την επιλογή πηγής αισθητήρα.
Εξωτερικός εξοπλισμός δοκιμών
Για αυτήν την περίπτωση, η μεθοδολογία είναι πολύ παρόμοια με την απλή εξίσωση που περιγράφηκε προηγουμένως.ampδηλ. Το σήμα ρολογιού χρήστη μεταφέρεται στο σημείο δοκιμής (ελπίζουμε σε μια κεφαλίδα) και απαιτείται μια χρονοβόρα επαναμεταγλώττιση. Μπορεί επίσης να είναι χρήσιμο να ανακτήσετε ένα σήμα αναφοράς, ίσως ένα ρολόι συστήματος που χρησιμοποιείται για την χρονομέτρηση της IP διεύθυνσης του χρήστη ως σήμα σύγκρισης. Θα χρειαστεί και πάλι να επαναμεταγλωττίσουμε και να επαναπρογραμματίσουμε, επομένως ολόκληρη η διαδικασία θα μπορούσε να διαρκέσει σημαντικό χρονικό διάστημα.
Εσωτερικός Λογικός Αναλυτής
Αυτή η περίπτωση είναι πολύ παρόμοια με την απλή εξίσωσηampδηλ. Πρέπει να εισαχθεί το ILA ή να οριστεί το επιθυμητό σήμα και να εκτελεστεί ένας κύκλος επαναμεταγλώττισης και επαναπρογραμματισμού. Όλα τα προβλήματα που περιγράφηκαν προηγουμένως εξακολουθούν να οδηγούν σε σημαντικό χρόνο κύκλου εντοπισμού σφαλμάτων. Υπάρχει, ωστόσο, μια πρόσθετη πολυπλοκότητα. Το ρολόι που οδηγεί το ILA πρέπει να είναι σύγχρονο και, ιδανικά, πολύ πιο γρήγορο σε σχέση με το ρολόι που θα παρατηρείται από τον πυρήνα Soft IP του χρήστη. Εάν αυτά τα ρολόγια είναι ασύγχρονα ή δεν έχουν τις σωστές σχέσεις χρονισμού, η συλλογή δεδομένων θα είναι απρόβλεπτη και θα αποτελέσει πιθανή πηγή σύγχυσης για τη διαδικασία εντοπισμού σφαλμάτων.
Σημειώστε ότι εάν το ρολόι Soft IP του χρήστη δεν δημιουργείται στο τσιπ (ίσως ανακτάται από τη σειριακή διεπαφή), ο σχεδιαστής ενδέχεται να χρειαστεί να προσθέσει μια ενότητα ρολογιού για να δημιουργήσει ένα ταχύτερο ρολόι ILA χρησιμοποιώντας πρόσθετους πόρους και πιθανώς δημιουργώντας μια παραβίαση χρονισμού.
Ζωντανός ανιχνευτής
Χρησιμοποιώντας αυτήν τη μέθοδο, ο Live Probe μπορεί να κατευθυνθεί γρήγορα στην πηγή του ρολογιού χρήστη και σε οποιαδήποτε άλλη πηγή ρολογιού από έναν καταχωρητή για να εντοπιστεί η βασική αιτία του σφάλματος. Ο Live Probe θα εμφανίσει τις επιλεγμένες εξόδους σήματος σε πραγματικό χρόνο και έτσι οποιαδήποτε χρονική σχέση μεταξύ των σημάτων είναι πολύ πιο εύκολο να προσδιοριστεί. Η όλη διαδικασία διαρκεί μόνο λίγα δευτερόλεπτα.
Άλλες λειτουργίες εντοπισμού σφαλμάτων για σειριακές διεπαφές
Είναι επίσης σημαντικό να επισημανθεί ότι υπάρχουν πολλές πρόσθετες δυνατότητες εντοπισμού σφαλμάτων στις συσκευές SmartFusion2 SoC FPGA και IGLOO2 FPGA που μπορούν να χρησιμοποιηθούν σε σειριακές διεπαφές, όπως αυτή στο προηγούμενο παράδειγμα.ampο σχεδιασμός όπου τα σφάλματα είναι ακόμη πιο περίπλοκα. SERDES Debug, για παράδειγμαample, παρέχει συγκεκριμένες δυνατότητες εντοπισμού σφαλμάτων για τις αποκλειστικές σειριακές διεπαφές υψηλής ταχύτητας. Ορισμένες από τις λειτουργίες εντοπισμού σφαλμάτων SERDES περιλαμβάνουν υποστήριξη δοκιμών PMA (όπως δημιουργία μοτίβων PRBS και δοκιμές loopback), υποστήριξη για πολλαπλές διαμορφώσεις δοκιμών SERDES με αναδιαμόρφωση σε επίπεδο καταχωρητή για να αποφευχθεί η χρήση ολόκληρης της ροής σχεδιασμού για την πραγματοποίηση αλλαγών στη διαμόρφωση, καθώς και αναφορές κειμένου που εμφανίζουν διαμορφωμένα πρωτόκολλα, καταχωρητές διαμόρφωσης SERDES και καταχωρητές διαμόρφωσης Lane. Αυτές οι λειτουργίες καθιστούν την εντοπισμό σφαλμάτων SERDES πολύ πιο εύκολη και μπορούν να χρησιμοποιηθούν σε συνδυασμό με το Live Probe και το Active Probe για περαιτέρω επιτάχυνση της εντοπισμού σφαλμάτων σύνθετων κυκλωμάτων.
Το προηγουμένως περιγραφόμενο εργαλείο Memory Debug μπορεί επίσης να χρησιμοποιηθεί σε συνδυασμό με το SERDES Debug για την επιτάχυνση των δοκιμών. Δεδομένου ότι τα buffer μνήμης μπορούν να ελεγχθούν και να τροποποιηθούν γρήγορα και εύκολα με το Memory Debug, είναι δυνατή η γρήγορη δημιουργία «δοκιμαστικών πακέτων» και η παρατήρηση αποτελεσμάτων loopback ή επικοινωνίας μεταξύ συστημάτων. Ο σχεδιαστής μπορεί να αξιοποιήσει αυτές τις δυνατότητες και έτσι να ελαχιστοποιήσει την ανάγκη για εξειδικευμένες «καλωδιώσεις δοκιμών» που καταναλώνουν επιπλέον ύφασμα FPGA και που ενδέχεται να επηρεάσουν τον χρονισμό του τσιπ.
Σύναψη
Αυτή η εργασία έχει περιγράψει λεπτομερώς αρκετές διαφορετικές προσεγγίσεις για την εφαρμογή εντοπισμού σφαλμάτων εντός κυκλώματος για FPGA και SoC FPGA - τη χρήση ενός Ολοκληρωμένου Λογικού Αναλυτή, τη χρήση εξωτερικού εξοπλισμού δοκιμών και τη χρήση αποκλειστικών κυκλωμάτων ανιχνευτών ενσωματωμένων στο ύφασμα FPGA. Η προσθήκη εξειδικευμένων και αποκλειστικών κυκλωμάτων ανιχνευτών, όπως το Active Probe και το Live Probe που προσφέρονται από την Microsemi σε συσκευές SmartFusion2 SoC FPGA και IGLOO2 FPGA, αποδείχθηκε ότι επιταχύνει και απλοποιεί σημαντικά τη διαδικασία εντοπισμού σφαλμάτων. Η δυνατότητα γρήγορης τροποποίησης της επιλογής εσωτερικών σημάτων (χωρίς την ανάγκη εκτέλεσης ενός πολύ χρονοβόρου κύκλου επαναμεταγλώττισης και επαναπρογραμματισμού) και η δυνατότητα ανίχνευσης εσωτερικών σημάτων (χωρίς την ανάγκη χρήσης υφάσματος FPGA και πιθανώς εισαγωγής παραβιάσεων χρονισμού) αποδείχθηκαν σημαντικά πλεονεκτήματα.tagκατά την αποσφαλμάτωση σχεδίων FPGA. Επιπλέον, περιγράφηκε η χρήση πολλαπλών μεθοδολογιών, οι οποίες μπορούν να συνεργαστούν για να παρέχουν μια ακόμη πιο ολοκληρωμένη δυνατότητα αποσφαλμάτωσης. Τέλος, δύο πρώηνampΔόθηκαν περιπτώσεις χρήσης εντοπισμού σφαλμάτων για να απεικονιστούν οι ανταλλαγές μεταξύ των περιγραφόμενων μεθόδων.
Για να μάθετε περισσότερα
- IGLOO2 FPGAs
- SmartFusion2 SoC FPGAs
Η Microsemi Corporation (Nasdaq: MSCC) προσφέρει ένα ολοκληρωμένο χαρτοφυλάκιο λύσεων ημιαγωγών και συστημάτων για επικοινωνίες, άμυνα και ασφάλεια, αεροδιαστημική και βιομηχανική αγορά. Τα προϊόντα περιλαμβάνουν υψηλής απόδοσης και σκληρυμένα με ακτινοβολία αναλογικά ολοκληρωμένα κυκλώματα μικτού σήματος, FPGA, SoC και ASIC. προϊόντα διαχείρισης ενέργειας? συσκευές χρονισμού και συγχρονισμού και ακριβείς λύσεις χρόνου, που θέτουν τα παγκόσμια πρότυπα για το χρόνο. συσκευές επεξεργασίας φωνής? Λύσεις RF; διακριτά εξαρτήματα? τεχνολογίες ασφαλείας και επεκτάσιμο anti-tampπροϊόντα er· ολοκληρωμένα κυκλώματα Power-over-Ethernet και midspan· καθώς και δυνατότητες και υπηρεσίες σχεδιασμού κατά παραγγελία. Η Microsemi έχει την έδρα της στο Aliso Viejo της Καλιφόρνια και απασχολεί περίπου 3,400 υπαλλήλους παγκοσμίως. Μάθετε περισσότερα στο www.microsemi.com.
© 2014 Microsemi Corporation. Ολα τα δικαιώματα διατηρούνται. Η ονομασία Microsemi και το λογότυπο Microsemi είναι εμπορικά σήματα της Microsemi Corporation. Όλα τα άλλα εμπορικά σήματα και σήματα υπηρεσιών είναι ιδιοκτησία των αντίστοιχων κατόχων τους.
Τα κεντρικά γραφεία της Microsemi
- Ενας Enterprise, Aliso Viejo CA 92656 ΗΠΑ
- Εντός ΗΠΑ: +1 800-713-4113
- Εκτός ΗΠΑ: +1 949-380-6100
- Εμπορικός: +1 949-380-6136
- Φαξ: +1 949-215-4996
- E-mail: sales.support@microsemi.com
FAQ
- Ε: Ποια είναι η μέγιστη συχνότητα λήψης δεδομένων της συσκευής;
Α: Η συσκευή υποστηρίζει τη συλλογή δεδομένων έως και 100MHz, κατάλληλη για τα περισσότερα σχέδια στόχων. - Ε: Χρειάζεται να επαναμεταγλωττίσω το σχέδιο όταν χρησιμοποιώ κυκλώματα ανιχνευτή για εντοπισμό σφαλμάτων;
Α: Όχι, οι θέσεις των σημείων ανίχνευσης μπορούν να αλλάξουν γρήγορα χωρίς να απαιτείται επαναμεταγλώττιση ή επαναπρογραμματισμός σχεδιασμού.
Έγγραφα / Πόροι
![]() |
Εντοπισμός σφαλμάτων μικροημι-ενσωματωμένου FPGA [pdf] Οδηγίες Ενσωματωμένη ανίχνευση σφαλμάτων FPGA εντός κυκλώματος, ανίχνευση σφαλμάτων FPGA, ανίχνευση σφαλμάτων |