US 7,555,424 B2
Method and apparatus for rewinding emulated memory circuits
Alon Kfir, San Jose, Calif. (US); and Platon Beletsky, San Jose, Calif. (US)
Assigned to Quickturn Design Systems, Inc., San Jose, Calif. (US)
Filed on Mar. 16, 2006, as Appl. No. 11/377,762.
Prior Publication US 2007/0219772 A1, Sep. 20, 2007
Int. Cl. G06F 9/455 (2006.01); G06F 11/16 (2006.01)
U.S. Cl. 703—24  [703/27; 710/8; 711/6] 15 Claims
OG exemplary drawing
 
1. A method comprising:
emulating a circuit design in a logic emulation system, the emulated circuit design comprising logic gates and an emulated memory having a plurality of memory locations, the logic emulation system having at least one log memory associated with the emulated memory, the log memory having a plurality of log memory locations, each of the plurality of log memory locations corresponding to a location of the associated emulated memory and being marked invalid at a predetermined time;
receiving one or more memory write requests at the logic emulation system subsequent to the predetermined time, each memory write request of the one or more memory write requests specifying new data to be written to a specified memory location of the plurality of memory locations in the emulated memory;
if a log memory location corresponding to the specified memory location is marked invalid, copying a pre-write content of the specified memory location to the corresponding log memory location and marking the corresponding log memory location as valid, prior to writing the new data at the specified memory location of the emulated memory in response to the memory write request;
receiving a request to rewind the emulation of the circuit design at the logic emulation system; and
restoring the emulated memory to the predetermined time in response to the rewind request.