Reconstruction engine for a hardware circuit emulator
First Claim
1. A method for providing visibility into state nets of a design under emulation, comprising:
- running said emulation for said design in an emulator and, during emulation, (a) providing at predetermined intervals snapshots of said emulation, each snapshot including output values of state elements of said design; and
(b) providing at each transition of a clock signal within said design, a set of sample signals, each set of sample signals including primary input signals of said design and output values of memory circuits of said design;
at a subsequent time, re-running said emulation by loading into an emulator the values of said state elements using a selected one of said snapshots and, at each clock transition subsequent to said snapshot, (a) applying said sample signals corresponding to said clock transition to said design, and (b) providing as output a state vector corresponding to said clock signal transition, said state vector including values of said state elements at said clock signal transition; and
receiving said state vectors and said sample signals into a reconstruction engine, and evaluating waveforms of said nets of said design using said state vectors and said sample signals.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and a method provide full visibility to each net of a design under modeling by saving states of the design during modeling and reconstructing waveforms at each net by logic evaluation using the saved states. In one embodiment, primary data input signals and memory output signals ("sample signals") are saved by a logic analyzer, and used in an emulator to generate state vectors from a state snapshot previously recorded. Data compression techniques can be applied to minimize storage requirements, and parallel evaluation of segments of waveforms can be achieved, since saved states for the entire period of interest are available for waveform reconstruction at the time of the logic evaluation.
-
Citations
41 Claims
-
1. A method for providing visibility into state nets of a design under emulation, comprising:
-
running said emulation for said design in an emulator and, during emulation, (a) providing at predetermined intervals snapshots of said emulation, each snapshot including output values of state elements of said design; and
(b) providing at each transition of a clock signal within said design, a set of sample signals, each set of sample signals including primary input signals of said design and output values of memory circuits of said design;at a subsequent time, re-running said emulation by loading into an emulator the values of said state elements using a selected one of said snapshots and, at each clock transition subsequent to said snapshot, (a) applying said sample signals corresponding to said clock transition to said design, and (b) providing as output a state vector corresponding to said clock signal transition, said state vector including values of said state elements at said clock signal transition; and receiving said state vectors and said sample signals into a reconstruction engine, and evaluating waveforms of said nets of said design using said state vectors and said sample signals. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for reconstructing waveforms of state nets of a design under emulation in an emulator, comprising:
-
a model compiler compiling said design into a logic circuit configurable in said emulator, said model compiler providing, for selected state elements, a memory circuit for saving a value of each of said state elements, and a loading circuit for loading a value into each of said state elements; an emulation controller receiving from said model compiler said logic circuit, said emulation controller causing (a) a first emulation of said logic circuit, (b) snapshots of said selected state elements in said logic circuit to be saved into said memory circuit at predetermined intervals, each snapshot including values of state elements in said logic circuit, and (c) at a later time, a second emulation of said logic circuit starting from one of said snapshots of said selected state elements and providing from said second emulation state vectors at selected times, each said state vectors including values of said selected state elements at the corresponding one of said selected times; and an interface to a reconstruction engine, said interface providing to said reconstruction engine a representation of said design and said state vectors for use in an evaluation of said logic circuit to obtain said waveforms. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A method for reconstructing a waveform of an internal terminal of a circuit over a given time period, said circuit having one or more clock domains, said method comprising:
-
synchronizing each of said clock domains to a virtual clock domain of higher frequency than the frequency of each of said clock domains; using a counter, maintaining an index of the clock periods of said virtual clock domain; receiving logic values of state elements of said circuit at successive clock transitions of said clock domains over said time period, and keeping track of successive clock transitions by storing the values of said index when said successive clock transitions occur; receiving input values to said circuit at said successive clock transitions of said clock domains; and evaluating said waveform using a model of said circuit, and applying said logic values of said state elements, and said input values to said circuit, using said stored values of said index to maintain relative times of occurrence of said successive clock transitions. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification