# US 2014/0157289 A1 · Hybrid platform-dependent simulation interface

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157289 A1
- Document ID: US20140157289A1
- Status: Published application
- Kind: A1
- Application number: 13/775,201
- Filed: 2013-02-24
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Thomas W. Aarts; Stephan O. Broyles; William G. Hoffa
- Web page: https://patentgrep.com/patent/US20140157289A1

## CPC

- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to one aspect of the present disclosure, a method and technique for a hybrid platform-dependent simulation interface is disclosed. The method includes: encoding an application with a library having a platform-independent application programming interface (API) for interacting with a simulation engine, the simulation engine providing a simulated environment for hosting the application; and encoding the library with a platform-dependent API providing an interface to the simulation engine using a platform-dependent hardware element, the platform-dependent hardware element unaffecting a non-simulation environment when the application is running in the non-simulation environment.

## Claims

### Claim 1

A method, comprising:
encoding an application with a library having a platform-independent application programming interface (API) for interacting with a simulation engine, the simulation engine providing a simulated environment for hosting the application; and
encoding the library with a platform-dependent API providing an interface to the simulation engine using a platform-dependent hardware element, the platform-dependent hardware element unaffecting a non-simulation environment when the application is running in the non-simulation environment.

### Claim 2 (depends on 1)

The method of claim 1, further comprising encoding the platform-dependent library to utilize an unused input/output (I/O) interface of the non-simulation environment to interface with the simulation engine.

### Claim 3 (depends on 1)

The method of claim 1, further comprising encoding the platform-dependent library to utilize an unused memory region of the non-simulation environment to interface with the simulation engine.

### Claim 4 (depends on 1)

The method of claim 1, further comprising encoding the platform-dependent library to utilize an unused signal bus of the non-simulation environment to interface with the simulation engine.

### Claim 5 (depends on 1)

The method of claim 1, further comprising encoding the platform-dependent library to utilize an address range on a bus that is nonexistent in the non-simulation environment to interface with the simulation engine.

### Claim 6 (depends on 1)

The method of claim 1, further comprising encoding the platform-dependent library to communicate over an I/O bus of the non-simulation environment to a peripheral device that is nonexistent in the non-simulation environment.

### Claim 7

A method, comprising:
configuring a simulation library having a platform-independent application programming interface (API) for interacting with a simulation engine, the simulation engine providing a simulated environment for hosting an application;
configuring the simulation library with a platform-dependent API providing an interface to the simulation engine using a platform-dependent hardware element, the platform-dependent hardware element re-purposed from a function in a non-simulation environment to a different function when the application is running in the simulation environment; and
incorporating the simulation library in the application.

### Claim 8 (depends on 7)

The method of claim 7, further comprising configuring the platform-dependent library to utilize an unused input/output (I/O) interface of the non-simulation environment to interface with the simulation engine.

### Claim 9 (depends on 7)

The method of claim 7, further comprising configuring the platform-dependent library to utilize an unused memory region of the non-simulation environment to interface with the simulation engine.

### Claim 10 (depends on 7)

The method of claim 7, further comprising configuring the platform-dependent library to utilize an unused signal bus of the non-simulation environment to interface with the simulation engine.

### Claim 11 (depends on 7)

The method of claim 7, further comprising configuring the platform-dependent library to utilize an address range on a bus that is nonexistent in the non-simulation environment to interface with the simulation engine.

### Claim 12 (depends on 7)

The method of claim 7, further comprising configuring the platform-dependent library to communicate over an I/O bus of the non-simulation environment to a peripheral device that is nonexistent in the non-simulation environment.
