System and method for synchronized control of system simulators with multiple processor cores
First Claim
1. A system for maintaining synchronization while debugging a multi-processor system, said system comprising:
- a. a scheduler;
b. a plurality of processors which communicate with said scheduler;
c. a plurality of debug adapters, wherein each of said processors communicates with at least one of said debug adapters, and wherein each of said debug adapters communicates with said scheduler; and
d. a plurality of debuggers, wherein each of said debug adapters communicates with at least one of said debuggers;
wherein said scheduler, said plurality of processors, said plurality of debug adapters, and said plurality of debuggers are implemented in software.
3 Assignments
0 Petitions
Accused Products
Abstract
A debugging environment for a multi-processor simulator or emulator is disclosed. The simulator or emulator is ideally suited for the development of embedded software. The simulator can contain multiple processor models, with each processor model representing a processor. The simulator or emulator also includes a scheduler which controls the execution of the processor models. Each processor also communicates with a debugger via a debug adapter. The debug adapter acts as a pass-through filter for non-control commands which are communicated between a processor and its attached debugger. However, the debug adapter routes control commands to the scheduler. The scheduler ensures that all of the processors and debuggers maintain synchronization. Other modules can also be included in the multi-processor simulation environment, for example, clock gate modules.
-
Citations
17 Claims
-
1. A system for maintaining synchronization while debugging a multi-processor system, said system comprising:
-
a. a scheduler;
b. a plurality of processors which communicate with said scheduler;
c. a plurality of debug adapters, wherein each of said processors communicates with at least one of said debug adapters, and wherein each of said debug adapters communicates with said scheduler; and
d. a plurality of debuggers, wherein each of said debug adapters communicates with at least one of said debuggers;
wherein said scheduler, said plurality of processors, said plurality of debug adapters, and said plurality of debuggers are implemented in software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for maintaining synchronization while debugging a multi-processor system, comprising:
-
a. running at least one software application on at least one processor;
b. running the at least one software application in a debug mode using a debugger, wherein the at least one processor and the debugger communicate via a debug adapter; and
c. transmitting at least one control command from the debug adapter to a scheduler;
wherein said at least one processor, said debugger, said debug adapter, and said scheduler are implemented in software. - View Dependent Claims (10, 11, 12, 13, 14, 15)
a. an update function; and
b. a recalc function.
-
-
14. The method of claim 11, wherein the at least one software application executes in a run mode by continuously executing a plurality of the step functions.
-
15. The method of claim 9, further comprising selectively halting processors using at least one clock gate module.
-
16. In a computer simulation system having a scheduler, a plurality of processor models, a plurality of debuggers and a plurality of debug adapters, a computer-readable medium holding computer executable instructions for performing a method comprising the steps of:
-
a. running at least one software application on at least one processor;
b. running the at least one software application in a debug mode using at least one debugger;
c. transmitting a plurality of non-control commands between the at least one processor and the at least one debugger via at least one debug adapter; and
d. transmitting a plurality of control commands from the at least one debug adapter to a schedulers;
wherein said at least one processor, said at least one debugger, said at least one debug adapter, and said scheduler are implemented in software. - View Dependent Claims (17)
-
Specification