Accessing state information in a hardware/software co-simulation
OwnerBrian Bailey, Michael C. Brouhard +2inventors
InventorsBrian Bailey, Michael C. Brouhard, Jeffry A. Jones, Devon J. Kehoe
Life of this patent
Estimating the term…
Abstract
A hardware/software co-simulation permits access to a server state from any process in the hardware/software co-simulation. In one embodiment, a co-simulation interface receives a request from a client system for configuration data for the server state in of the hardware/software co-simulation. The configuration data defines memory locations in the co-simulation from which the server state can be assembled. The interface inserts the request in the co-simulation. The co-simulation responds with the configuration information. Based on the configuration information, memory operations can be performed on the server state.
Claims27
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type;
- registering the client with a co-simulation interface, wherein registering the client comprises assigning the client a client identifier;
- and
- associating the client with at least one state server in the hardware/software co-simulation.
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type;
- registering the client with a co-simulation interface;
- and
- associating the client with at least one state server in the hardware/software co-simulation, wherein associating the client with at least one state server comprises providing the client with a list of available state servers and one or more address spaces associated with each of the available state server.
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type;
- and
- requesting the state configuration information, said state configuration information to define at least one memory location comprising the server state, wherein requesting the state configuration information comprises:
- receiving a client identifier for the client at a co-simulation interface;
- receiving an identifier for an address space at the co-simulation interface, said server state being within the address space;
- and
- issuing a request from the co-simulation interface, said request including the client identifier and the identifier for the address space.
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- and
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type, wherein providing the client access comprises performing a memory operation on at least one memory location based on the state configuration information, wherein performing the memory operation comprises at least one of:
- reading the server state;
- modifying the server state;
- receiving the server state at a predetermined future time;
- and
- receiving notification upon a predetermined action on the server state.
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- and
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type, wherein providing the client access comprises performing a memory operation on at least one memory location based on the state configuration information, wherein performing the memory operation comprises:
- generating a request for the memory operation, said request including a memory allocation from the state configuration information;
- accessing a memory map;
- and
- issuing the memory operation to a unified memory for the hardware/software co-simulation based on the memory allocation and the memory map.
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type;
- receiving a stimulus based on the server state;
- and
- applying the stimulus to the hardware/software co-simulation, wherein the stimulus comprises data to be injected into the hardware/software co-simulation in response to a predetermined condition associated with the server state.
A method comprising:
- retrieving state configuration information from a state server of a hardware/software co-simulation, the hardware/software co-simulation comprising:
- simulation of at least one memory device by a logic simulator, the logic simulator comprising a memory interface model and a memory store;
- simulation of a microprocessor at least in part by a first bus interface model, the simulation of the microprocessor executing software stored in the simulation of the at least one memory device;
- a first kernel managing access to the memory store;
- and
- a second kernel comprising a co-simulation manager and a memory manager;
- and
- providing a client of the hardware/software co-simulation access to a server state of the state server based on the state configuration information, wherein the state configuration information comprises memory mapping, symbol allocation, and symbol type, wherein the memory mapping comprises a plurality of memory addresses corresponding to the server state, and wherein providing comprises:
- accessing a plurality of memory locations based on the plurality of memory addresses corresponding to the server state;
- assembling a plurality of data bits occupying the plurality of memory locations;
- and
- interpreting the assembly of the plurality of data bits based at least in part upon the symbol type.
Dependencies are inferred from the claim text.