A method for developing re-usable software for the efficient verification
of system-on-chip (SOC) integrated circuit designs. The verification
software is used to generate and apply test cases to stimulate components
of a SOC design ("cores") in simulation; the results are observed and used
to de-bug the design. The software is hierarchical, implementing a
partition between upper-level test application code which generates test
cases and verifies results, and low-level device driver code which
interfaces with a core being simulated, to apply the test case generated
by the upper-level code on a hardware level of operations. Test
application and supporting low-level device driver pairs are used and
re-used to test their corresponding component cores throughout the SOC
development process, by creating higher-level test control programs which
control selected combinations of the already-developed test application
and device driver programs to test combinations of SOC components. The
method provides for the efficient verification of SOC designs and,
consequently, a reduced time-to-market for SOC products, because as the
verification software is developed and stored, it becomes possible to test
increasingly complex core combinations by creating relatively few
high-level test programs which re-use already-existing lower-level
software. Ultimately, the task of verifying a complex SOC design may be
simplified to developing a single chip-specific test program which selects
from already-existing test application, device driver and test control
programs to perform a realistic test of a chip-specific combination of
cores.
Une méthode pour développer le logiciel réutilisable pour la vérification efficace du circuit intégré du système-sur-morceau (SOC) conçoit. Le logiciel de vérification est employé pour se produire et appliquer des cas d'essai pour stimuler des composants d'un SOC concevez (des "noyaux") dans la simulation ; les résultats sont observés et employés pour corriger la conception. Le logiciel est hiérarchique, mettant en application une cloison entre le code de niveau supérieur d'application d'essai qui produit des cas d'essai et vérifie des résultats, et le code de bas niveau de module de gestion de périphérique qui se connecte par interface à un noyau étant simulé, pour appliquer le cas d'essai produit par le code de niveau supérieur à un niveau de matériel des opérations. L'application d'essai et les paires de bas niveau de support de module de gestion de périphérique sont employées et réutilisées pour examiner leurs noyaux composants correspondants dans tout le procédé de développement de SOC, en créant les programmes de gestion de plus haut niveau d'essai qui commandent des combinaisons choisies de l'application d'essai et des programmes de module de gestion de périphérique déjà-développés pour examiner des combinaisons des composants de SOC. La méthode prévoit la vérification efficace des conceptions de SOC et, par conséquent, un temps-à-marché réduit pour des produits de SOC, parce que pendant que le logiciel de vérification est développé et stocké, il devient possible d'examiner des combinaisons de plus en plus complexes de noyau en créant relativement peu de programmes à niveau élevé d'essai qui réutilisent le logiciel plus bas déjà-existant. Finalement, le charger de vérifier une conception complexe de SOC peut être simplifié à développer un programme morceau-spécifique simple d'essai qui choisit parmi l'application déjà-existante d'essai, le module de gestion de périphérique et les programmes de gestion d'essai pour réaliser un essai réaliste d'une combinaison morceau-spécifique des noyaux.