Methods and apparatuses for time annotated transaction level modeling
First Claim
1. A non-transitory machine-readable storage medium having instructions stored thereon, which when executed by a machine, are configured to cause the machine to generate an apparatus, comprising:
- an initiator module modeled as a first executable behavioral model;
a target module modeled as a second executable behavioral model, where information regarding a burst transaction is communicated between the initiator module and the target module of a System on a Chip through a communications channel, where the burst transaction consists of two or more individual transfers and the communications channel is separate and distinct from both the initiator module and the target module; and
one or more timing function routines configured to obtain timing variables for the burst transaction that uses a communications protocol that includes distinct fields of a command field and a timing field for the burst transaction communicated between the initiator module and the target module, where the timing field includes
1) timing variables, or
2) derived timing information based on the timing variables, where either the initiator module or the target module use the one or more timing function routines to determine the timing information associated with each of the two or more individual transfers within the burst transaction during a simulation, by either
1) making a direct function call to the communications channel that the burst transaction passes through to retrieve information about the burst transaction including its timing information or
2) basing the timing information on the timing variables or the derived timing information contained in the timing field for the burst transaction, and then using the one or more timing function routines to derive timing information associated with each individual transfer within the burst transaction during the simulation, where the derived timing information associated with each individual transfer within the burst transaction is correlatable to give an accurate correlation to a clock cycle operation of the System on a Chip during the simulation.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for transaction level modeling where communications occur between modules in the system that contain time annotations is described. An apparatus includes an initiator module, a target module, and a communications channel with each being modeled as an executable behavioral model. The communications channel transports burst information between the initiator module and the target module. The communications channel has a timing variable function to store timing variables and derive timing information associated with each individual transfer within a burst transaction during a simulation.
155 Citations
20 Claims
-
1. A non-transitory machine-readable storage medium having instructions stored thereon, which when executed by a machine, are configured to cause the machine to generate an apparatus, comprising:
-
an initiator module modeled as a first executable behavioral model; a target module modeled as a second executable behavioral model, where information regarding a burst transaction is communicated between the initiator module and the target module of a System on a Chip through a communications channel, where the burst transaction consists of two or more individual transfers and the communications channel is separate and distinct from both the initiator module and the target module; and one or more timing function routines configured to obtain timing variables for the burst transaction that uses a communications protocol that includes distinct fields of a command field and a timing field for the burst transaction communicated between the initiator module and the target module, where the timing field includes
1) timing variables, or
2) derived timing information based on the timing variables, where either the initiator module or the target module use the one or more timing function routines to determine the timing information associated with each of the two or more individual transfers within the burst transaction during a simulation, by either
1) making a direct function call to the communications channel that the burst transaction passes through to retrieve information about the burst transaction including its timing information or
2) basing the timing information on the timing variables or the derived timing information contained in the timing field for the burst transaction, and then using the one or more timing function routines to derive timing information associated with each individual transfer within the burst transaction during the simulation, where the derived timing information associated with each individual transfer within the burst transaction is correlatable to give an accurate correlation to a clock cycle operation of the System on a Chip during the simulation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for modeling operation of a System on a Chip to provide time annotated transaction level modeling, comprising:
-
simulating transporting of burst transaction information including a plurality of transfers from a first model of an initiator module through a communications channel to a second model of a target module in the System on the Chip, wherein the communications channel is separate and distinct from both the initiator module and the target module; maintaining a first set of timing variables associated with the initiator module; using a communications protocol that includes distinct fields of a command field and a timing field for the burst transaction information communicated between the initiator module and the target module, where the timing field includes
1) timing variables, or
2) derived timing information based on the timing variables;maintaining a second set of timing variables associated with the target module using one or more timing function routines to
1) obtain the first set and the second set of timing variables for the burst transaction information communicated between the initiator module and the target module,
2) derive timing information associated with a first individual transfer within the burst transaction during the simulation, and
3) derive timing information associated with a second individual transfer within the burst transaction during the simulation; andwhere the second model of the target module is configured to make a function call to retrieve information about the burst transaction including its timing information and is configured to use the one or more timing function routines to derive the timing information associated with the first individual transfer and the second individual transfer within the burst transaction during the simulation, where the derived timing information associated with each individual transfer within the burst transaction is correlatable to give an accurate correlation to a clock cycle operation of the System on the Chip during the simulation. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
-
19. A computing system, comprising:
-
a processor component cooperating with a non-transitory machine readable storage medium, where the processor component is configured to execute instructions in a simulation to simulate an initiator module modeled as a first behavioral model that generates a first set of timing variables for a burst transaction; a target module modeled as a second behavioral model that generates a second set of timing variables for each transfer in the burst transaction, where the initiator module and target module are part of a System on a Chip, where the System on the Chip is configured to use a communications protocol that includes distinct fields of a command field and a timing field for communication of the burst transaction information from the initiator module through a communications channel to the target module, where the burst transaction includes three or more transfers within the burst transaction and the communications channel is separate and distinct from both the initiator module and the target module; and one or more timing function routines to derive burst information for the three or more transfers in the burst transaction so that timing information for each transfer is cycle accurate to a clock cycle operation of the System on the Chip during the simulation, where the one or more timing function routines are configured to obtain timing variables from either the first or second set of timing variables for the burst transaction that use the communications protocol including its distinct fields of the command field and the timing field for the burst transaction, where the timing field includes
1) the timing variables from either the first or second set of timing variables for the burst transaction, or
2) derived timing information based on the timing variables, where the timing function routines obtain the timing variables from either the first or second set of timing variables for the burst transaction depending upon whether the target module or the initiator module generated the burst transaction, where either the initiator module or the target module use the one or more timing function routines to determine the timing information associated with each of the two or more individual transfers within the burst transaction during a simulation, by either
1) making a direct function call to the communications channel that the burst transaction passes through to retrieve information about the burst transaction including its timing information or
2) basing the timing information on the timing variables from either the first or second set of timing variables for the burst transaction or the derived timing information contained in the timing field for the burst transaction, and then using the one or more timing function routines to derive timing information associated with each individual transfer within the burst transaction during the simulation. - View Dependent Claims (20)
-
Specification