The present invention adds capabilities to a Hardware Verification Language (HVL) which facilitate the generation of random test data. Sources of random numbers are easily produced by simply adding a randomness attribute to a variable declaration of a class definition. Such variables are called random variables. A "randomize" method call may be made to an instance of the class definition to produce random values for each random variable. The values assigned to random variables are controlled using constraint blocks, which are part of the class definition. A constraint block is comprised of constraint expressions, where each constraint expression limits the values that can be assigned to a random variable on the left-hand-side (lhs) of the constraint expression. A constraint_expression can constrain any random variable which has been declared at its level in the class hierarchy, or at any higher level. A constraint_expression cannot constrain a random variable declared at a lower level in the hierarchy. If a constraint block of an instance is active or ON, then all the constraint expressions in the block will act to constrain their lhs random variable. A constraint block which is OFF means that all of its constraint expressions will not act to constrain their random variables. The method "constraint_mode" can be used to turn ON or OFF any constraint blocks of an instance. The effects of a constraint block can be completely eliminated by defining, at a lower level in the hierarchy, another constraint block with the same name.

Η παρούσα εφεύρεση προσθέτει τις ικανότητες σε μια γλώσσα επαλήθευσης υλικού (HVL) που διευκολύνουν την παραγωγή των τυχαίων στοιχείων δοκιμής. Οι πηγές τυχαίων αριθμών παράγονται εύκολα με απλά να προσθέσουν μια ιδιότητα τυχαίου σε μια μεταβλητή δήλωση ενός καθορισμού κατηγορίας. Τέτοιες μεταβλητές καλούνται τυχαίες μεταβλητές. "Τυχαιοποιήστε" την κλήση μεθόδου μπορεί να γίνει σε μια περίπτωση του καθορισμού κατηγορίας για να παραγάγει τις τυχαίες τιμές για κάθε τυχαία μεταβλητή. Οι τιμές που ορίζονται στις τυχαίες μεταβλητές ελέγχονται χρησιμοποιώντας τους φραγμούς περιορισμού, οι οποίοι είναι μέρος του καθορισμού κατηγορίας. Ένας φραγμός περιορισμού αποτελείται από τις εκφράσεις περιορισμού, όπου κάθε έκφραση περιορισμού περιορίζει τις τιμές που μπορούν να οριστούν σε μια τυχαία μεταβλητή στην αριστερός-χέρι-πλευρά (lhs) της έκφρασης περιορισμού. Ένα constraint_expression μπορεί να περιορίσει οποιαδήποτε τυχαία μεταβλητή που έχει δηλωθεί σε επίπεδό της στην ιεραρχία κατηγορίας, ή σε οποιοδήποτε πιό υψηλό επίπεδο. Ένα constraint_expression δεν μπορεί να περιορίσει μια τυχαία μεταβλητή που δηλώνεται σε χαμηλότερο επίπεδο στην ιεραρχία. Εάν ένας φραγμός περιορισμού μιας περίπτωσης είναι ενεργός ή ΕΠΑΝΩ, κατόπιν όλες οι εκφράσεις περιορισμού στο φραγμό θα ενεργήσουν για να περιορίσουν την τυχαία μεταβλητή lhs τους. Ένας φραγμός περιορισμού που είναι ΑΠΟ σημαίνει ότι οι όλες της εκφράσεις περιορισμού δεν θα ενεργήσουν για να περιορίσουν τις τυχαίες μεταβλητές τους. Η μέθοδος "constraint_mode" μπορεί να χρησιμοποιηθεί για να ανοίξει ή ΑΠΟ οποιουσδήποτε φραγμούς περιορισμού μιας περίπτωσης. Τα αποτελέσματα ενός φραγμού περιορισμού μπορούν να εξαλειφτούν πλήρως με τον καθορισμό, σε χαμηλότερο επίπεδο στην ιεραρχία, ενός άλλου φραγμού περιορισμού με το ίδιο όνομα.

 
Web www.patentalert.com

< (none)

< Control of multiple computer processes using a mutual exclusion primitive ordering mechanism

> Usage of redundancy data for displaying failure bit maps for semiconductor devices

> (none)

~ 00055