Memory debugger for system-on-a-chip designs
First Claim
1. A method for debugging a system-on-chip (SOC) integrated circuit design including a processor core and a memory array for storing data generated by the processor core, the SOC integrated circuit design being represented by a simulation model, the method comprising:
- loading initial data values into the memory array associated with the simulation model and simulating the execution of a predefined test program using the initial data values;
during the simulated execution, generating a plurality of transaction records identifying write operations during which updated data values are written into the memory array, wherein each transaction record includes an associated timestamp, associated address information, and the updated data values written during the associated write operation; and
upon completing the simulated execution, determining instantaneous data values stored in the memory array at a selected point in time during the simulated execution by combining the initial data values and updated data values from one or more transaction records.
2 Assignments
0 Petitions
Accused Products
Abstract
A simulation/debugging method for SOC designs that utilizes initial memory values loaded into a simulation model. A test program is then executed, and incremetal transaction records are generated for each incremental memory access (e.g., data write operations). Each transaction record includes a timestamp, address and data values. The transaction record information is stored/captured on a high level-based (i.e., system address-based) domain that takes into account all the tiling, interleaving, scrambling, and unaligned accessing used in the simulated SOC design, rather than on a low level-based (i.e., physical memory address-based) domain. Upon completing the simulation, the instantaneous memory contents at any selected point in time during the simulated execution are calculated by combining the initial data and intermediate transaction record information. Automatic memory dump and sanity check tests verify the integrity of the final data value and incremental transactions. Cache memory information is collected and displayed using a system-level format.
40 Citations
28 Claims
-
1. A method for debugging a system-on-chip (SOC) integrated circuit design including a processor core and a memory array for storing data generated by the processor core, the SOC integrated circuit design being represented by a simulation model, the method comprising:
-
loading initial data values into the memory array associated with the simulation model and simulating the execution of a predefined test program using the initial data values; during the simulated execution, generating a plurality of transaction records identifying write operations during which updated data values are written into the memory array, wherein each transaction record includes an associated timestamp, associated address information, and the updated data values written during the associated write operation; and upon completing the simulated execution, determining instantaneous data values stored in the memory array at a selected point in time during the simulated execution by combining the initial data values and updated data values from one or more transaction records. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer-usable medium storing computer-executable instructions which when executed perform a process of simulating and analyzing a system-on-chip (SOC) integrated circuit design, the SOC integrated circuit design including a processor core and a memory array for storing data generated by the processor core, the SOC integrated circuit design being represented by a simulation model, the process comprising:
-
loading initial data values into the memory array associated with the simulation model and simulating the execution of a predefined test program using the initial data values; during the simulated execution, generating a plurality of transaction records identifying write operations during which updated data values are written into the memory array, wherein each transaction record includes an associated timestamp, associated address information, and the updated data values written during the associated write operation; and determining instantaneous data values stored in the memory array at a selected time during the simulation process by combining the initial data values and updated data values from one or more transaction records. - View Dependent Claims (23, 24, 25)
-
-
26. A system for debugging a system-on-chip (SOC) integrated circuit design including a processor core and a memory array configured to store data generated by the processor core, the system including storage configured to store a simulation model representative of the SOC integrated circuit design, the simulation model including a processor core and a memory array configured to store data generated by the processor core, the system also including and unit configured to perform a debugging process comprising:
-
loading initial data values into the memory array associated with the simulation model and simulating the execution of a predefined test program using the initial data values; during the simulated execution, generating a plurality of transaction records identifying write operations during which updated data values are written into the memory array, wherein each transaction record includes an associated timestamp, associated address information, and the updated data values written during the associated write operation; and determining instantaneous data values stored in the memory array at a selected time during the simulation process by combining the initial data values and updated data values from one or more transaction records. - View Dependent Claims (27, 28)
-
Specification