Methods and apparatus, including computer program products, for emulating
a memory circuit in a logic emulation system. The system includes at
least one log memory associated with the emulated memory. Each log memory
location is marked invalid at a predetermined time. The system receives
one or more memory write requests after the predetermined time, each
memory write request specifying new data to be written to a specified
memory location. If a log memory location corresponding to the specified
memory location is marked invalid, a pre-write content of the specified
memory location is copied to the corresponding log memory location and
the corresponding log memory location is marked as valid, prior to
writing the new data at the specified memory location in the emulated
memory. The emulated memory is restored to the predetermined time by
copying a content of each log memory location marked valid to the
emulated memory.