Data Injection In Emulation Without Rebooting
An emulator is configured with a circuit design model for a circuit design comprising a processor and is running with an operating system. Data are transferred from a computer to a memory in the emulator through a design-independent interface or a transaction-level interface. A software program is then activated in the emulator to enable the data to be accessed by the operating system without rebooting the emulator.
1 . A method, comprising:
preparing data;
transferring the data from a computer to a memory in an emulator through a design-independent interface or a transaction-level interface, wherein the emulator is configured with a circuit design model for a circuit design comprising a processor and is running with an operating system; and
activating a software program in the emulator to enable the data to be accessed by the operating system without rebooting the emulator.
2 . The method recited in claim 1 , wherein the data comprise an application software program.
3 . The method recited in claim 2 , further comprising:
starting the application software program in the emulator.
4 . The method recited in claim 2 , wherein the preparing comprises cross-compiling the application software program by the computer or a second computer.
5 . The method recited in claim 1 , wherein the preparing is performed by the computer or a second computer.
6 . The method recited in claim 1 , wherein the memory corresponds to a reserved region of a physical memory in the circuit design.
7 . The method recited in claim 1 , wherein the operating system is a Linux or Linux-based operating system and the software program presents itself as a character or block driver to the operating system.
8 . The method recited in claim 1 , wherein the transferring is performed after the emulator suspends emulation.
9 . The method recited in claim 1 , wherein the transferring is performed by making one or more API (application program interface) calls.
10 . A system, comprising:
an emulator configured with a circuit design model for a circuit design comprising a processor and loaded with an operating system; and
a computer connected to the emulator,
wherein the computer is programmable to transfer data from the computer to a memory in the emulator through a design-independent interface or a transaction-level interface, and wherein the emulator has a software program that enables the data to be accessed by the operating system without rebooting the emulator.
11 . The system recited in claim 10 , wherein the data comprise an application software program.
12 . The system recited in claim 11 , wherein the application software program is derived using a cross-compiler in the computer or another computer.
13 . The system recited in claim 10 , wherein the memory corresponds to a reserved region of physical memory in the circuit design.
14 . The system recited in claim 10 , wherein the operating system is a Linux or Linux-based operating system and the software program presents itself as a character or block driver to the operating system.