Claims
- 1. A method for tracking instances of a testcase execution event within a hardware description language (HDL) model using a simulation control program, said method comprising:
generating a design entity list within said HDL model, wherein said design entity list identifies all design entities instantiated within said HDL model; and dynamically loading at least one instrumentation code module into said simulation control program, wherein said at least one instrumentation code module generates and processes testcase execution events associated with at least one of said identified design entities.
- 2. The method of claim 1, wherein said instrumentation code module includes designated program entry points, said dynamically loading at least one instrumentation code module into said simulation control program further comprising:
loading said at least one instrumentation code module into a memory of a simulation client; and linking said at least one instrumentation code module to said simulation control program.
- 3. The method of claim 2, wherein said loading said at least one instrumentation code module into a memory of a simulation client further comprises calling a load modules application program interface (API) entrypoint, wherein said load modules API interface includes an input parameter for the determining a non-volatile data storage location of said at least one instrumentation code module.
- 4. The method of claim 3, further comprising the step of calling an entity name API entry point to identify one or more design entities within said HDL model to which each of said at least one instrumentation code module is associated.
- 5. The method of claim 4, further comprising:
searching said design entity list to determine whether said one or more design entities associated with said at least one instrumentation code module are instantiated within said HDL model; and responsive to determining that said HDL design entity associated with said at least one instrumentation code module is instantiated within said HDL model, calling a create instance program entrypoint within said at least one instrumentation code module, wherein said create event program entry point initiates program instructions for generating hierarchical instance data structures for monitoring corresponding testcase execution events.
- 6. The method of claim 1, wherein said instrumentation code module includes an evaluate program entrypoint that initiates program instructions for detecting occurrences of said testcase execution event, said method further comprising:
at the conclusion of a simulation cycle for said HDL model, calling an execute module API entry point within said simulation control program, wherein said execute module API entry point calls said evaluate program entry point within said instrumentation code module.
- 7. A system for tracking instances of a testcase execution event within a hardware description language (HDL) model using a simulation control program, said system comprising:
processing means for generating a design entity list within said HDL model, wherein said design entity list identifies all design entities instantiated within said HDL model; and processing means for dynamically loading at least one instrumentation code module into said simulation control program, wherein said at least one instrumentation code module generates and processes testcase execution events associated with at least one of said identified design entities.
- 8. The system of claim 7, wherein said instrumentation code module includes designated program entry points, said processing means for dynamically loading at least one instrumentation code module into said simulation control program further comprising:
processing means for loading said at least one instrumentation code module into a memory of a simulation client; and processing means for linking said at least one instrumentation code module to said simulation control program.
- 9. The system of claim 8, wherein said processing means for loading said at least one instrumentation code module into a memory of a simulation client further comprises processing means for calling a load modules application program interface (API) entry point, wherein said load modules API interface includes an input parameter for the determining anon-volatile data storage location of said at least one instrumentation code module.
- 10. The system of claim 9, further comprising processing means for calling an entity name API entry point to identify one or more design entities within said HDL model to which each of said at least one instrumentation code module is associated.
- 11. The system of claim 10, further comprising:
processing means for searching said design entity list to determine whether said one or more design entities associated with said at least one instrumentation code module are instantiated within said HDL model; and processing means responsive to determining that said HDL design entity associated with said at least one instrumentation code module is instantiated within said HDL model, for calling a create instance program entry point within said at least one instrumentation code module, wherein said create event program entry point initiates program instructions for generating hierarchical instance data structures for monitoring corresponding testcase execution events.
- 12. The system of claim 7, wherein said instrumentation code module includes an evaluate program entry point that initiates program instructions for detecting occurrences of said testcase execution event, said system further comprising:
processing means for at the conclusion of a simulation cycle for said HDL model, calling an execute module API entry point within said simulation control program, wherein said execute module API entry point calls said evaluate program entry point within said instrumentation code module.
- 13. A program product for tracking instances of a testcase execution event within a hardware description language (HDL) model using a simulation control program, said program product comprising:
program instruction means for generating a design entity list within said HDL model, wherein said design entity list identifies all design entities instantiated within said HDL model; and program instruction means for dynamically loading at least one instrumentation code module into said simulation control program, wherein said at least one instrumentation code module generates and processes testcase execution events associated with at least one of said identified design entities.
- 14. The program product of claim 13, wherein said instrumentation code module includes designated program entry points, said program instruction means for dynamically loading at least one instrumentation code module into said simulation control program further comprising:
program instruction means for loading said at least one instrumentation code module into a memory of a simulation client; and program instruction means for linking said at least one instrumentation code module to said simulation control program.
- 15. The program product of claim 14, wherein said program instruction means for loading said at least one instrumentation code module into a memory of a simulation client further comprises program instruction means for calling a load modules application program interface (API) entry point, wherein said load modules API interface includes an input parameter for the determining a non-volatile data storage location of said at least one instrumentation code module.
- 16. The program product of claim 15, further comprising program instruction means for calling an entity name API entry point to identify one or more design entities within said HDL model to which each of said at least one instrumentation code module is associated.
- 17. The program product of claim 16, further comprising:
program instruction means for searching said design entity list to determine whether said one or more design entities associated with said at least one instrumentation code module are instantiated within said HDL model; and program instruction means responsive to determining that said HDL design entity associated with said at least one instrumentation code module is instantiated within said HDL model, for calling a create instance program entry point within said at least one instrumentation code module, wherein said create event program entry point initiates program instructions for generating hierarchical instance data structures for monitoring corresponding testcase execution events.
- 18. The program product of claim 13, wherein said instrumentation code module includes an evaluate program entry point that initiates program instructions for detecting occurrences of said testcase execution event, said program product further comprising:
program instruction means for at the conclusion of a simulation cycle for said HDL model, calling an execute module API entry point within said simulation control program, wherein said execute module API entry point calls said evaluate program entry point within said instrumentation code module.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to the following co-pending U.S. patent application: U.S. patent application Ser. No. ______ (Docket No. AUS920000223US1) filed on ______, titled “C-API Instrumentation For HDL Models”. The above-mentioned patent application is assigned to the assignee of the present invention and is incorporated herein by reference.