Claims
- 1. A monitor manager that manages the execution of one or more monitors during the simulation of a digital design, comprising:
an instance generator that creates at least one executable instance of each monitor, wherein each said executable instance further comprises a variable class construct that includes a status variable declared in said monitor and a reset function, each said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; an activation manager that assigns each said executable instance to be an active executable instance or an inactive executable instance; and an execution unit that executes each said active executable instance, receives said status variable value returned by each said active executable instance, and maintains a hit count.
- 2. A monitor management system that manages the execution of one or more monitors during the simulation of a digital design, comprising:
an instance generator that creates at least one executable instance of each monitor, wherein each said executable instance further comprises a variable class construct that includes a status variable declared in said monitor and a reset function, each said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; an activation manager that assigns said executable instance to be an active executable instance or an inactive executable instance; and an execution unit that executes each said active executable instance, receives said status variable value returned by each said active executable instance, and maintains a hit count.
- 3. A method that makes a monitor manager that manages the execution of one or more monitors during the simulation of a digital design, comprising:
providing an instance generator that creates at least one executable instance of each monitor, wherein each said executable instance further comprises a variable class construct that includes a status variable declared in said monitor and a reset function, each said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; providing an activation manager that assigns each said executable instance to be an active executable instance or an inactive executable instance; and providing an execution unit that executes each said active executable instance, receives said status variable value returned by each active executable instance, and maintains a hit count.
- 4. A method that uses a monitor manager to manage the execution of one or more monitors during the simulation of a digital design, comprising:
creating at least one executable instance of each monitor, wherein each said executable instance further comprises a variable class construct that includes a status variable declared in said monitor and a reset function, each said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; assigning each said executable instances to be an active executable instance or an inactive executable instance; and executing each said active executable instance, receiving said status variable value returned by each active executable instance, and maintaining a hit count.
- 5. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method that uses a monitor manager to manage the execution of one or more monitors during the simulation of a digital design, comprising:
creating at least one executable instance of each monitor, wherein each said executable instance further comprises a variable class construct that includes a status variable declared in said monitor and a reset function, each said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; assigning each said executable instance to be an active executable instance or an inactive executable instance; and executing each said active executable instance, receiving said status variable value returned by each active executable instance, and maintaining a hit count.
- 6. A dependent claim according to claim 1, 2, 3, 4, or 5 wherein at least one monitor further comprises a time-dependent event monitor, and said executable instance of said time-dependent event monitor further comprises a software state machine having a state variable, one or more time-dependent variables, and at least 2 state-driven code blocks.
- 7. A dependent claim according to claim 6, wherein said time-dependent event monitor further comprises one of the following:
a time-dependent event monitor that detects two or more specific simulation events separated in time by a cycle-dependent condition, and one of said state-driven code blocks further a comprises a cycle-dependent code block that tests for said cycle-dependent condition, increments said time-dependent variable, and increments said state variable when said cycle-dependent condition has been satisfied, or a time-dependent event monitor that detects two or more specific simulation events separated in time by an event-dependent condition, and one said state-driven code blocks further a comprises an event-dependent code block that tests for said event-dependent condition, increments said time-dependent variable, and increments said state variable when said event-dependent condition has been satisfied.
- 8. A dependent claim according to claim 1, 2, 3, 4, or 5, wherein said reset function initializes said status variable within said executable instance to active when said executable instance is reassigned from an inactive executable instance to an active executable instance.
- 9. A dependent claim according to claim 8, wherein said reset function initializes said state variable and said one or more time-dependent variables within said executable instance when said executable instance is reassigned from an inactive executable instance to an active executable instance.
- 10. A monitor manager that manages the execution of one or more monitors during the simulation of a digital design, comprising:
an instance generator that creates at least one executable instance of at least one time-dependent event monitor that detects two or more specific simulation events separated in time by either a cycle-dependent condition or an event-dependent condition, wherein each said executable instance further comprises a software state machine that includes a status variable, a state variable, one or more time-dependent variables, and at least 2 state-driven code blocks, wherein at least one state-driven code block tests for either said cycle-dependent condition or said event-dependent condition, increments said time-dependent variable, and increments said state variable when said cycle-dependent condition or said event-dependent condition has been satisfied, said executable instance further comprises a reset function that initializes said status variable to active and initializes said state variable and said time-dependent variables when said executable instance is reassigned from an inactive executable instance to an active executable instance, said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; an activation manager that assigns each said executable instance to be an active executable instance or an inactive executable instance; and an execution unit that executes each said active executable instance, receives said status variable value returned by each said active executable instance, and maintains a hit count.
- 11. A monitor management system that manages the execution of one or more monitors during the simulation of a digital design, comprising:
an instance generator that creates at least one executable instance of at least one time-dependent event monitor that detects two or more specific simulation events separated in time by either a cycle-dependent condition or an event-dependent condition, wherein each said executable instance further comprises a software state machine that includes a status variable, a state variable, one or more time-dependent variables, and at least 2 state-driven code blocks, wherein at least one state-driven code block tests for either said cycle-dependent condition or said event-dependent condition, increments said time-dependent variable, and increments said state variable when said cycle-dependent condition or said event-dependent condition has been satisfied, said executable instance further comprises a reset function that initializes said status variable to active and initializes said state variable and said time-dependent variables when said executable instance is reassigned from an inactive executable instance to an active executable instance, said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; an activation manager that assigns each said executable instance to be an active executable instance or an inactive executable instance; and an execution unit that executes each said active executable instance, receives said status variable value returned by each said active executable instance, and maintains a hit count.
- 12. A method that makes a monitor manager that manages the execution of one or more monitors during the simulation of a digital design, comprising:
providing an instance generator that creates at least one executable instance of at least one time-dependent event monitor that detects two or more specific simulation events separated in time by either a cycle-dependent condition or an event-dependent condition, wherein each said executable instance further comprises a software state machine that includes a status variable, a state variable, one or more time-dependent variables, and at least 2 state-driven code blocks, wherein at least one state-driven code block tests for either said cycle-dependent condition or said event-dependent condition, increments said time-dependent variable, and increments said state variable when said cycle-dependent condition or said event-dependent condition has been satisfied, said executable instance further comprises a reset function that initializes said status variable to active and initializes said state variable and said time-dependent variables when said executable instance is reassigned from an inactive executable instance to an active executable instance, said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; providing an activation manager that assigns each said executable instance to be an active executable instance or an inactive executable instance; and providing an execution unit that executes each said active executable instance, receives said status variable value returned by each said active executable instance, and maintains a hit count.
- 13. A method that uses a monitor manager to manage the execution of one or more monitors during the simulation of a digital design, comprising:
generating at least one executable instance of at least one time-dependent event monitor that detects two or more specific simulation events separated in time by either a cycle-dependent condition or an event-dependent condition, wherein each said executable instance further comprises a software state machine that includes a status variable, a state variable, one or more time-dependent variables, and at least 2 state-driven code blocks, wherein at least one state-driven code block tests for either said cycle-dependent condition or said event-dependent condition, increments said time-dependent variable, and increments said state variable when said cycle-dependent condition or said event-dependent condition has been satisfied, said executable instance further comprises a reset function that initializes said status variable to active and initializes said state variable and said time-dependent variables when said executable instance is reassigned from an inactive executable instance to an active executable instance, said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; assigning each said executable instance to be an active executable instance or an inactive executable instance; and executing each said active executable instance, receiving said status variable value returned by each said active executable instance, and maintaining a hit count.
- 14. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform a method that uses a monitor manager to manage the execution of one or more monitors during the simulation of a digital design, comprising:
generating at least one executable instance of at least one time-dependent event monitor that detects two or more specific simulation events separated in time by either a cycle-dependent condition or an event-dependent condition, wherein each said executable instance further comprises a software state machine that includes a status variable, a state variable, one or more time-dependent variables, and at least 2 state-driven code blocks, wherein at least one state-driven code block tests for either said cycle-dependent condition or said event-dependent condition, increments said time-dependent variable, and increments said state variable when said cycle-dependent condition or said event-dependent condition has been satisfied, said executable instance further comprises a reset function that initializes said status variable to active and initializes said state variable and said time-dependent variables when said executable instance is reassigned from an inactive executable instance to an active executable instance, said executable instance returns with said status variable set to one of the following values: passed, failed, active, or error; assigning each said executable instance to be an active executable instance or an inactive executable instance; and executing each said active executable instance, receiving said status variable value returned by each said active executable instance, and maintaining a hit count.
Parent Case Info
[0001] This application claims the benefits of the earlier filed U.S. Provisional Application Serial No. 60/302,599, filed Jul. 2, 2001 (Jul. 2, 2001), which is incorporated by reference for all purposes into this specification.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60302599 |
Jul 2001 |
US |