Enhanced programmable core model with integrated graphical debugging functionality
First Claim
1. A computer-implemented method of debugging a programmable core in an integrated circuit design, the method comprising:
- (a) performing simulation on a programmable core model that functionally emulates the programmable core, the programmable core model including an event-driven debug monitor embedded therein;
(b) setting a debug parameter for the debug monitor in response to user input received through a graphical user interface;
(c) performing a debug operation with the debug monitor during simulation of the programmable core model; and
(d) reporting a result of the debug operation to a user via the graphical user interface.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, program product and method incorporate into an enhanced programmable core model an embedded debug monitor to provide integrated graphical debugging functionality in the model. The debug monitor supports the performance of one or more debug operations on the programmable core model during simulation thereof. In addition, the debug monitor is configured to receive a debug parameter from a user through a graphical user interface, and report a result of the debug operation to a user via the graphical user interface. Through the use of a graphical user interface, interaction with a user is greatly facilitated. Moreover, by embedding the debug monitor within the programmable core model, a completely integrated simulation and debug environment may be provided to a user, with debugging functionality similar to that available to software developers and hardware-based processor designers. As a result, validation of a model'"'"'s performance can be performed more efficiently and with less effort.
278 Citations
34 Claims
-
1. A computer-implemented method of debugging a programmable core in an integrated circuit design, the method comprising:
-
(a) performing simulation on a programmable core model that functionally emulates the programmable core, the programmable core model including an event-driven debug monitor embedded therein;
(b) setting a debug parameter for the debug monitor in response to user input received through a graphical user interface;
(c) performing a debug operation with the debug monitor during simulation of the programmable core model; and
(d) reporting a result of the debug operation to a user via the graphical user interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
(a) assigning a first instance identifier to the first programmable core model;
(b) performing simulation on a second programmable core model associated with a second instance identifier concurrently with performing simulation on the first programmable core model, the second programmable core model including a second debug monitor;
(c) performing a debug operation on the second programmable core model with the second debug monitor during performance of the simulation on the second programmable core model; and
(d) reporting a result of the second debug operation to the user via the graphical user interface.
-
-
10. The method of claim 1, wherein performing the debug operation includes capturing state information from the programmable core model at a predetermined time during the simulation using the debug monitor.
-
11. The method of claim 10, wherein capturing the state information includes capturing at least one of a register value, a current instruction, a message, and a processor mode.
-
12. An apparatus, comprising:
-
(a) a memory;
(b) a programmable core model resident in the memory, the programmable core model configured to functionally emulate a programmable core in an integrated circuit design; and
(c) a program comprising an event-driven debug monitor embedded in the programmable core model, the program configured to simulate the programmable core model, set a debug parameter for the debug monitor in response to user input received through a graphical user interface, perform a debug operation with the debug monitor during simulation of the programmable core model, and report a result of the debug operation to a user via the graphical user interface. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A program product, comprising:
-
(a) a programmable core model configured to functionally emulate a programmable core in an integrated circuit design, the programable core model including an event-driven debug monitor embedded therein, the debug monitor configured to receive a debug parameter from a user through a graphical user interface, perform a debug operation during simulation of the programmable core model, and report a result of the debug operation to a user via the graphical user interface; and
(b) a signal bearing medium bearing the programmable core model. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
(a) a compiled netlist emulating the functionality of the programmable core in a simulator-generic representation;
(b) a simulator shell encapsulating the compiled netlist and the debug monitor and configured to interface the compiled netlist and the debug monitor with the simulator; and
(c) a timing shell encapsulating the simulator shell and providing timing data for use by the simulator in simulating the programmable core.
-
-
34. The program product of claim 33, wherein the compiled netlist and debug monitor are defined in a c programming language.
Specification