1. A method for verifying that a circuit design functions as desired, the circuit design comprising a random access memory (RAM), the RAM comprising at least one write port, a plurality of memory locations for storing data, each of the plurality of memory locations comprising an address, the method comprising: emulating the circuit design in a hardware logic emulation system; immediately prior to writing data to a selected one of the plurality of memory locations in the RAM, reading said data stored at the selected one of the plurality of memory locations in the RAM; storing data read from said selected one of the plurality of memory locations in the RAM in a selected memory location within a buffer, where each of said selected memory location within said buffer are arranged so that data stored in said buffer is output in a last in, first out; and after a checkpoint, transferring the data stored at said selected memory location within said buffer to the selected one of the plurality of memory locations in the RAM.