Λειτουργικές Κάλυψη σε Συναλλαγής Κατηγορίας (SV)

D

davyzhu

Guest
Hi all,

Πότε δεδομένα με γνώμονα λειτουργική κάλυψη, μπορούμε να βάλουμε το covergroup στην κατηγορία συναλλαγή άμεσα;Και υπάρχει κάποια μικρή κατευθυντήρια γραμμή πώς να το κάνουμε;

Για παράδειγμα,
Έχω συναλλαγής καθορίζουν τάξη, όπως:
Κωδικός:

//-----------

class video_pkg_c?

bit ραντ [7:0] opcode_1?

bit ραντ [7:0] opcode_2?

bit ραντ [15:0] δεδομένα?

//----

/ / Μπορώ να προσθέσω covergroup εδώ;

//----

endclassvideo_pkg_driver τάξη?

...
...

video_pkg_c video_pkg?

video_pkg = new ()?

rand_result = video_pkg.randomize ()?

...
...

endclass

//-----------

 
Hi Davy,

Θα ήθελα ιδιαίτερα να συστήσω να αποφευχθεί αυτό.Αυτό οφείλεται στο γεγονός ότι, η κάλυψη είναι
περισσότερο ή λιγότερο μια «στατική» άποψη της εξακρίβωσης της προόδου σας και δεν
πραγματικά ως δυναμική και τις συναλλαγές που είναι οι ίδιοι.Συνήθως δημιουργούν
ξεχωριστό στοιχείο της κάλυψης και γάντζο it up.Συμφωνήθηκε υπάρχει κάποια
επανάληψη στην εργασία - ειδικά για τις μεγάλες περιγραφές συναλλαγή, αλλά
μπορεί κανείς να το αυτόματο, να γράψει μερικά script ή χρήση SV struct κλπ. για τη διευκόλυνση
τον πόνο.

VMM συνιστά επίσης ορισμένες κάτι παρόμοιο, προτιμά να συνδέσει
κάλυψη με τη συναλλαγή.Ένας άλλος κανόνας / κατευθυντήρια γραμμή είναι "καλύπτει το
κοντά DUT δυνατόν ".

Αυτό είναι b'cos, έστω και αν έχεις ένα πακέτο που παράγονται σε υψηλό επίπεδο
γεννήτρια, ίσως οφείλεται στο γεγονός ότι η συγκεκριμένη θύρα ήταν σε
κλείδωμα mode (τυχαίο ρύθμιση παραμέτρων), ποτέ δεν τα πήγε πακέτα
στην DUT.Αυτό μπορεί να είναι ή δεν μπορεί να είναι το επιθυμητό πράγμα.Έχοντας την
διεξάγων μας πει "όταν σε δείγμα" είμαστε βέβαιοι ότι είμαστε καλύπτουν
στο σωστό μέρος.Φανταστείτε τη δημιουργία 10K συναλλαγές, δεν
χρειάζεται 10K αντικείμενα κάλυψη καθώς και - χρειάζεται απλώς μια "μέτρηση" για το τι
είδος των πακέτων (τύπος, μήκος, CRC κλπ) πήγαν και σε πόσα από αυτά.
Αυτό είναι αυτό που αναφέρεται ως «ψευδο-στατική" θέση στην επαλήθευση
περιβάλλον.

Το συνδέω κάλυψης της τάξης του διεξάγων είναι μια ενδιαφέρουσα
θέμα.Σε VMM μπορεί κανείς να χρησιμοποιήσει callbacks ή vmm_channel:: Τ.Ε.Ε. ().Σε ένα AVM
μπορούν να χρησιμοποιούν τα λιμάνια ανάλυση για να το κάνετε αυτό.Δεν είστε σίγουροι για το URM, μερικά πράγμα
παρόμοια υπάρχει;Αν είχαμε AOP, τότε αυτό θα βοηθήσει εδώ
καλά.

HTH
Ajeetha, CVC

 

Welcome to EDABoard.com

Sponsor

Back
Top