Multimode execution of virtual hardware models
AssigneeArm Limited
InventorsBrian Scott Sylvester, William Neifert, Joseph Tatham, Matt Grasse, Ronald Scott Maxwell
Life of this patent
Estimating the term…
Abstract
The disclosure contains descriptions of various methods and systems for accelerating the execution of a virtual prototype simulation. Acceleration may be achieved, for example, by providing two or more redundant virtual communication paths for access made by virtual models of a virtual prototype of a hardware design to provide for both accelerated access transactions and time-accurate access transactions. A model having such redundant virtual communication paths is referred to herein as a “multimode model.”
Claims20
A method comprising:
- accessing a virtual prototype comprising one or more virtual models, wherein
- the virtual prototype is configured, upon execution, to perform a simulation of at least a portion of a hardware design, and
- at least one virtual model of the one or more virtual models comprises two or more virtual communication paths for performance of a particular transaction, wherein
- a first virtual communication path of the two or more virtual communication paths simulates access via one or more functional representations of a particular communication path of the hardware design, and
- a second virtual communication path of the two or more virtual communication paths simulates bypass of all functional representations of the particular communication path of the hardware design;
- identifying, by a processor of a computing device, access criteria defining conditions for selection of each virtual communication path of the two or more virtual communication paths;
- and
- causing, by the processor, execution of the simulation, wherein
- executing the simulation comprises executing, based upon at least a portion of the access criteria,
- one or more transactions via the first virtual communication path, and
- one or more transactions via the second virtual communication path.
A system comprising:
- a processor;
- and
- a memory having instructions stored thereon, wherein the instructions, when executed by the processor, cause the processor to:
- access a first virtual model of a portion of a hardware design, wherein the first virtual model is configured, upon execution, to perform a cycle accurate simulation of the portion of the hardware design;
- and
- generate, based at least in part upon the first virtual model, a multimode virtual model of the portion of the hardware design, wherein the multimode virtual model comprises
- two or more virtual communication paths for access transactions, wherein
- a first virtual communication path of the two or more virtual communication paths simulates access via one or more functional representations of a particular communication path of the hardware design, and
- a second virtual communication path of the two or more virtual communication paths simulates bypass of at least one of the one or more functional representations of the particular communication path, and
- an access router configured to route access transactions via the two or more virtual communication paths.
A non-transitory computer readable medium having instructions stored thereon,
- wherein the instructions, when executed by a processor, cause the processor to:
- access a virtual prototype comprising one or more virtual models, wherein
- the virtual prototype is configured, upon execution, to perform a simulation of at least a portion of a hardware design, and
- at least one virtual model of the one or more virtual models comprises two or more virtual communication paths for access transactions, wherein
- a first virtual communication path of the two or more virtual communication paths simulates access via one or more functional representations of a particular communication path of the hardware design, and
- a second virtual communication path of the two or more virtual communication paths simulates bypass of at least one of the one or more functional representations of the particular communication path;
- and
- cause execution of the simulation, wherein executing the simulation comprises
- executing one or more access transactions via the first virtual communication path, wherein execution of each of the one or more access transactions via the first virtual communication path comprises performing a timed access operation, and
- executing one or more access transactions via the second virtual communication path, wherein execution of the one or more transactions via the second virtual communication path comprises performing an untimed access operation.
Dependencies are inferred from the claim text.