IP Library Granted Patent US 7,308,393
Granted Patent B2
US 7,308,393 · App. 10/420,376 · Granted Dec 11, 2007

Hardware and software co-simulation using estimated adjustable timing annotations

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,308,393
App. No.
10/420,376
Granted
Dec 11, 2007
Kind
B2
Abstract

A system and method for co-simulation of hardware and software includes determining hardware executable times, associated with each of a plurality of functions included within an application code. Estimated timing annotations, which correspond to the determined hardware executable times, are then inserted into each of the functions. The application code is compiled for simulation and the compiled application code is then executed on a host computer system. Adjustments may be made to the estimated timing annotations to evaluate potential architecture changes in either target hardware or software algorithms.

Claims (26)

1. A method for co-simulation of hardware and software, comprising the steps of:

determining hardware executable times for each of a plurality of functions included within an application code;

inserting estimated timing annotations into each of the plurality of functions, wherein each of the estimated timing annotations corresponds to the determined hardware executable time for one of each of the plurality of functions, and include a minimum and maximum number of cycles for executing an associated one of the functions;

compiling the application code for simulation;

executing the compiled application code on a host computer system; and

adjusting the estimated timing annotations during simulation.

2. The method of claim 1 , wherein the estimated timing annotations are added immediately preceding a last execution line of each of the functions.

3. The method of claim 1 , further including the step of re-compiling the application code for purposes other than simulation, wherein the estimated timing annotations only affect execution when the application code is compiled for simulation.

4. The method of claim 1 , further comprising the step of cross-compiling the application code for a target processor, wherein the estimated timing annotations are removed when the application code is cross-compiled.

5. The method of claim 1 , wherein the estimated timing annotations are measured using static timing analysis from a cross-compiled version of the application code.

6. A method for co-simulation of hardware and software, comprising the steps of:

determining hardware executable times associated with each of a plurality of functions included within an application code;

inserting estimated timing annotations into each of the plurality of functions, wherein each of the estimated timing annotations corresponds to the determined hardware executable time for one of each of the plurality of functions, and wherein each of the estimated timing annotations includes a minimum and maximum number of cycles for executing an associated one of the functions;

compiling the application code for simulation; and

executing the compiled application code on a host computer system.

7. The method of claim 6 , wherein the estimated timing annotations are added immediately preceding a last execution line of each of the functions.

8. The method of claim 6 , further including the step of re-compiling the application code for purposes other than simulation, wherein the estimated timing annotations only affect execution when the application code is compiled for simulation.

9. The method of claim 6 , further comprising the step of cross-compiling the application code for a target processor, wherein the estimated timing annotations are removed when the application code is cross-compiled.

10. The method of claim 6 , wherein the estimated timing annotations are measured using static timing analysis from a cross-compiled version of the application code.

11. A system for co-simulation of hardware and software, comprising:

a host computer system including a host processor and a host memory subsystem; and

an application code stored within the host memory subsystem, wherein the application code includes a plurality of estimated timing annotations based on determined hardware executable times associated with each of a plurality of functions included within the application code, and wherein the application code is compiled for execution on the host computer system, and wherein the estimated timing annotations are adjustable during simulation, and include a minimum and maximum number of cycles for executing an associated one of the functions.

12. The system of claim 11 , wherein the estimated timing annotations are added immediately preceding a last execution line of each of the functions.

13. The system of claim 11 , wherein the estimated timing annotations only affect execution when the application code is compiled for simulation.

14. The system of claim 11 , wherein when the application code is cross-compiled for a target processor, the estimated timing annotations are removed from the application code.

15. The system of claim 11 , wherein the estimated timing annotations are measured using static timing analysis from a cross-compiled version of the application code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2018
From: DELPHI TECHNOLOGIES, INC.
To: DELPHI TECHNOLOGIES IP LIMITED
Reel/Frame 045115/0001 →