Λογότυπο Zephyrnet

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

Ημερομηνία:

Από την Ann Keffer, τον Arun Gogineni και τον James Kim

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

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

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

Το σχήμα 1 δείχνει μερικές από τις τεχνικές βελτιστοποίησης σε μια ροή ασφαλείας. Προηγμένες μεθοδολογίες, όπως ανάλυση ασφάλειας για βελτιστοποίηση και κλάδεμα σφαλμάτων, ταυτόχρονη προσομοίωση σφαλμάτων, εξομοίωση σφαλμάτων και τυπική ανάλυση μπορούν να αναπτυχθούν για την επικύρωση των απαιτήσεων ασφάλειας για ένα SoC αυτοκινήτου.

ΣΧ. 1: Σφάλμα λίστα βελτιστοποίηση τεχνικές.

Απόδειξη της ιδέας: ένα SoC αυτοκινήτου

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

ΣΧ. 2: Αυτοκίνητο SoC κορυφαίο επίπεδο μπλοκάρουν διάγραμμα.

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

ΣΧ. 3: Λεπτομερής νησί ασφαλείας μπλοκάρουν διάγραμμα.

Η έγχυση σφαλμάτων με χρήση προσομοίωσης ήταν υπερβολικά χρονοβόρα και καταναλώνοντας πόρους για τον πυρήνα της CPU και τα μπλοκ μνήμης προσωρινής μνήμης. Αυτά τα μπλοκ στοχεύονταν για έγχυση σφαλμάτων με έναν κινητήρα εξομοίωσης για απόδοση. Ο πυρήνας της CPU προστατεύεται από μια βιβλιοθήκη δοκιμών λογισμικού (STL) και η μνήμη cache προστατεύεται από ECC. Η διεπαφή διαύλου απαιτεί προστασία από άκρο σε άκρο όπου η έγχυση σφάλματος με προσομοίωση προσδιορίστηκε ότι είναι αποτελεσματική. Η μονάδα διαχείρισης σφαλμάτων δεν ήταν μέρος αυτού του πειράματος. Η έγχυση σφαλμάτων για τη μονάδα διαχείρισης σφαλμάτων θα ολοκληρωθεί χρησιμοποιώντας επίσημη τεχνολογία ως επόμενο βήμα.

Ο Πίνακας 1 δείχνει τον αριθμό καταχωρητών για τα μπλοκ στη νησίδα ασφαλείας.

Πίνακας 1: Αριθμός καταχωρητών μπλοκ.

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

Το SafetyScope, ένα εργαλείο ανάλυσης ασφάλειας, χρησιμοποιήθηκε για τη δημιουργία των λιστών σφαλμάτων για τα FM τόσο για την εφαρμογή βλαβών Veloce (εξομοιωτής σφαλμάτων) όσο και για τον προσομοιωτή σφαλμάτων και έγραψε τις λίστες σφαλμάτων στη βάση δεδομένων λειτουργικής ασφάλειας (FuSa).

Για τα μπλοκ CPU και μνήμης προσωρινής μνήμης, ο εξομοιωτής εισάγει τα συνθετικά μπλοκ και τα δίκτυα έγχυσης/ανίχνευσης σφαλμάτων (FIN/FDN). Στη συνέχεια, εκτέλεσε το ερέθισμα και κατέλαβε τις καταστάσεις όλων των FDN. Οι καταστάσεις αποθηκεύτηκαν και χρησιμοποιήθηκαν ως «χρυσή» αναφορά για σύγκριση έναντι των δοκιμών έγχυσης σφάλματος. Για κάθε σφάλμα που αναφέρεται στη βελτιστοποιημένη λίστα σφαλμάτων, η ελαττωματική συμπεριφορά προσομοιώθηκε και τα FDN συγκρίθηκαν με τις τιμές αναφοράς που δημιουργήθηκαν κατά τη χρυσή εκτέλεση και τα αποτελέσματα ταξινομήθηκαν και ενημερώθηκαν στη βάση δεδομένων σφαλμάτων με χαρακτηριστικά.

Εικ. 4: σύμπλεγμα CPU. (Πηγή από https://developer.arm.com/Processors/Cortex-R52)

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

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

Τραπέζι 2: Εντοπίστηκε σφάλματα by ασφάλεια μηχανισμοί.

Ο Πίνακας 3 δείχνει ότι η συνολική κατανομή σφαλμάτων για τα συνολικά σφάλματα είναι σύμφωνη με την κατανομή σφαλμάτων των τυχαίων σφαλμάτων. Ο πίνακας καταγράφει περαιτέρω τα συνολικά εντοπισμένα σφάλματα 3125 από τα 4782 συνολικά σφάλματα. Μπορέσαμε επίσης να μοντελοποιήσουμε τα ανιχνευμένα σφάλματα ανά υποτμήμα και να παρέχουμε μια συνολική αναλογία ανιχνευμένων σφαλμάτων 65.35%. Με βάση τα σφάλματα στο τυχαίο δείγμα και τον στόχο κάλυψης 90%, υπολογίσαμε ότι το περιθώριο σφάλματος (MOE) είναι ±1.19%.

Τραπέζι 3: Αποτελέσματα εισαγωγής σφαλμάτων σε CPU και cache μνήμη.

Τα συνολικά 3125 σφάλματα που εντοπίστηκαν (παρατηρήθηκαν + μη παρατηρήθηκαν) παρέχουν μια σαφή ταξινόμηση σφαλμάτων. Τα μη ανιχνευμένα που παρατηρήθηκαν παρέχουν επίσης μια σαφή ταξινόμηση για τα υπολειπόμενα σφάλματα. Κάναμε περαιτέρω ανάλυση μη ανιχνευμένων απαρατήρητων και μη εγχυόμενων σφαλμάτων.

Τραπέζι 4: Σφάλμα ταξινόμηση μετά σφάλμα ένεση.

Χρησιμοποιήσαμε πολλές τεχνικές εντοπισμού σφαλμάτων για να αναλύσουμε τα 616 μη ανιχνευμένα μη παρατηρούμενα σφάλματα. Αρχικά, χρησιμοποιήσαμε επίσημη ανάλυση για να ελέγξουμε τον κώνο επιρροής (COI) αυτών των σφαλμάτων UU. Τα σφάλματα που βρίσκονταν εκτός του COI κρίθηκαν ασφαλή και υπήρχαν πέντε σφάλματα που αφαιρέθηκαν περαιτέρω από την ανάλυση. Για τα σφάλματα που βρίσκονταν μέσα στο COI, χρησιμοποιήσαμε μηχανική κρίση με αιτιολόγηση διαφόρων διαμορφώσεων όπως, ECC, χρονοδιακόπτη, flash mem κ.λπ. Τέλος, χρησιμοποιώντας επίσημη και τεχνική κρίση μπορέσαμε να ταξινομήσουμε περαιτέρω 616 σφάλματα UU σε ασφαλή σφάλματα Η UU μετατρέπεται σε συντηρητικά υπολειμματικά σφάλματα. Εξετάσαμε επίσης τα 79 υπολειπόμενα σφάλματα και μπορέσαμε να ταξινομήσουμε 10 σφάλματα σε ασφαλή σφάλματα. Τα μη εγχυθέντα σφάλματα δοκιμάστηκαν επίσης σε σχέση με το μοντέλο προσομοίωσης για να ελεγχθεί εάν οποιοδήποτε άλλο ερέθισμα μπορεί να εγχύσει αυτά τα σφάλματα. Δεδομένου ότι κανένα ερέθισμα δεν μπόρεσε να εισαγάγει αυτά τα σφάλματα, αποφασίσαμε να αφαιρέσουμε αυτά τα σφάλματα από την προσοχή μας και ανάλογα με το περιθώριο λάθους. Με αυτή την αλλαγή το νέο μας MOE είναι ±1.293%.

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

Η ανάλυση ασφαλείας με χρήση του SafetyScope βοήθησε στην παροχή μεγαλύτερης ακρίβειας και στη μείωση της επανάληψης της προσομοίωσης σφαλμάτων. Η CPU και η κρυφή μνήμη μετά από εξομοίωση σε διάφορες δοκιμές οδήγησαν σε συνολικό SPFM πάνω από 90%, όπως φαίνεται στον Πίνακα 5.

Τραπέζι 5: Ολικός αποτελέσματα.

Αυτή τη στιγμή δεν είχαν ολοκληρωθεί όλες οι δοκιμές για το μπλοκ BUS (προστασία από άκρο σε άκρο) που έκανε την προσομοίωση σφάλματος. Ο Πίνακας 6 δείχνει ότι η πρώτη αρχική δοκιμή ήταν σε θέση να επιλύσει τα σφάλματα 9.8% πολύ γρήγορα.

Τραπέζι 6: Ποσοστό ανιχνευόμενων σφαλμάτων για μπλοκ BUS από την E2E SM.

Ενσωματώνουμε περισσότερα τεστ που έχουν υψηλή επισκεψιμότητα στο BUS για να μιμούνται την κατάσταση λειτουργίας χρόνου εκτέλεσης του SoC. Τα αποτελέσματα αυτών των ανεξάρτητων εγχύσεων σφαλμάτων (προσομοίωση και εξομοίωση) συνδυάστηκαν για τον υπολογισμό των τελικών μετρήσεων στα παραπάνω μπλοκ, με τα αποτελέσματα που φαίνονται στον Πίνακα 7.

Τραπέζι 7: Τελική ταξινόμηση σφαλμάτων μετά την ανάλυση.

Συμπέρασμα

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

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

Ο Arun Gogineni είναι υπεύθυνος μηχανικός και αρχιτέκτονας για τη λειτουργική ασφάλεια IC στη Siemens EDA.

Ο James Kim είναι τεχνικός ηγέτης στη Siemens EDA.

spot_img

Τελευταία Νοημοσύνη

spot_img