Modeling language and method for address translation design mechanisms in test generation
First Claim
Patent Images
1. A method for testing an address translation mechanism of a design-under-test comprising the steps of:
- modeling said address translation mechanism as a directed acyclic graph having nodes and edges that connect said nodes, wherein said nodes represent stages of said mechanism, and said edges represent state transitions between said stages, wherein in said address translation mechanism a virtual address is translated into a physical address, wherein modeling said address translation mechanism comprises establishing tables that are linked to said nodes by table edges, and entering match conditions in entries of said tables, wherein satisfaction of one of said match conditions causes one of said state transitions to occur via a designated one of said table edges, and generating testing knowledge relevant to test programs for a second design-under-test by entering in at least a portion of said tables close match events comprising additional conditions that differ from said match conditions wherein satisfaction of said additional conditions do not satisfy said match conditions;
formulating a constraint satisfaction problem from said directed acyclic graph by creating a Boolean variable for each of said nodes and said edges, wherein said Boolean variable indicates if a respective one of said nodes or said edges is used in one of said state transitions;
solving said constraint satisfaction problem so as to generate a test case for said design-under-test; and
executing said test case in said design-under-test.
6 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are disclosed that enhance the ability of a test generator to automatically deal with address translation in a processor design, and without need for creating specific code. A model of the address translation mechanism of a design-under-test is represented as a directed acyclic graph and then converted into a constraint satisfaction problem. The problem is solved by a CSP engine, and the solution used to generate test cases for execution. Using the model, testing knowledge can be propagated to models applicable to many different designs to produce extensive coverage of address translation mechanisms.
-
Citations
25 Claims
-
1. A method for testing an address translation mechanism of a design-under-test comprising the steps of:
-
modeling said address translation mechanism as a directed acyclic graph having nodes and edges that connect said nodes, wherein said nodes represent stages of said mechanism, and said edges represent state transitions between said stages, wherein in said address translation mechanism a virtual address is translated into a physical address, wherein modeling said address translation mechanism comprises establishing tables that are linked to said nodes by table edges, and entering match conditions in entries of said tables, wherein satisfaction of one of said match conditions causes one of said state transitions to occur via a designated one of said table edges, and generating testing knowledge relevant to test programs for a second design-under-test by entering in at least a portion of said tables close match events comprising additional conditions that differ from said match conditions wherein satisfaction of said additional conditions do not satisfy said match conditions; formulating a constraint satisfaction problem from said directed acyclic graph by creating a Boolean variable for each of said nodes and said edges, wherein said Boolean variable indicates if a respective one of said nodes or said edges is used in one of said state transitions; solving said constraint satisfaction problem so as to generate a test case for said design-under-test; and executing said test case in said design-under-test. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer software product, including a computer-readable medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for testing an address translation mechanism of a design-under-test comprising the steps of:
-
modeling said address translation mechanism as a directed acyclic graph having nodes and edges that connect said nodes, wherein said nodes represent stages of said mechanism, and said edges represent state transitions between said stages, wherein in said address translation mechanism a virtual address is translated into a physical address, wherein modeling said address translation mechanism comprises establishing tables that are linked to said nodes by table edges, and entering match conditions in said tables, wherein satisfaction of one of said match conditions causes one of said state transitions to occur via a designated one of said table edges, and generating testing knowledge relevant to test programs for a second design-under-test by entering in at least a portion of said tables close match events comprising additional conditions that differ from said match conditions wherein satisfaction of said additional conditions do not satisfy said match conditions; formulating a constraint satisfaction problem from said directed acyclic graph by creating a Boolean variable for each of said nodes and said edges, wherein said Boolean variable indicates if a respective one of said nodes or said edges is used in one of said state transitions; solving said constraint satisfaction problem so as to generate a test case for said design-under-test; and executing said test case in said design-under-test. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A verification system for an address translation mechanism of a design-under-test comprising:
-
a processor operative to access a declarative model of said address translation mechanism, wherein a virtual address is translated into a physical address, said address translation mechanism being represented as a directed acyclic graph having nodes and edges that connect said nodes, wherein said nodes represent stages of said mechanism, and said edges represent state transitions between said stages corresponding to respective ones of said nodes being connected by said edges, wherein said processor is operative to apply multi-access architectural rules for traversal of said directed acyclic graph with said nodes, and said multi-access architectural rules specify a plurality of access methods to a memory location, wherein said model of said address translation mechanism by comprises tables that are linked to said nodes by table edges, match conditions being entered in said tables, wherein satisfaction of one of said match conditions causes one of said state transitions to occur via a designated one of said table edges, and a memory holding testing knowledge relevant to test programs for a second design-under-test, said testing knowledge being automatically generated by said verification system using said declarative model by including in at least a portion of said tables close match events comprising additional conditions that differ from said match conditions wherein satisfaction of said additional conditions do not satisfy said match conditions; said processor being operative to formulate a constraint satisfaction problem from said directed acyclic graph by creating a Boolean variable for each of said nodes and said edges, wherein said Boolean variable indicates if a respective one of said nodes or said edges is used in one of said state transitions; and said processor being operative for solving said constraint satisfaction problem to generate a test case for said design-under-test and to output said test case for execution in said design-under-test. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification