1. A method for outputting the operations of an integrated circuit, comprising the operations of: reaching a trigger event occurring at a trigger time; waiting a number of clock cycles after the occurrence of the trigger event; reading a state of a last flip-flop of a set of flip-flops in a chain; and determining if an additional read of the state of the last flip-flop is to be performed; in response to determining no additional read of the state of the last-flip flop is to be performed, storing as data every state of the last flip-flop since a first read of the state of the last flip-flop; linking each state of the last flip-flop stored as data to a unique one of the set of flip-flops in the chain; and wherein the data is stored by a computer system in a waveform database that is computer-readable.