TestBencher Pro and Reactive Test Bench Help

2.1 TestBencher Transactor Waveform Initilalization

2.1 TestBencher Transactor Waveform Initilalization

Previous topic Next topic  

2.1 TestBencher Transactor Waveform Initilalization

Previous topic Next topic  

In TestBencher Pro, it is important to remember that transactions do not automatically include an event at time zero and that code for signal stimulus is only generated at edge transitions. This is a feature that allows transactions to be reused any time during simulation without implying any initialization information. Below is a timing diagram that we drew, and a simulation results diagram that shows what happens when the timing diagram is applied twice. In the simulation results diagram, note that both signals are tri-stated until they are driven the first time (examine the red circles).

waveformtest_initialization

Specifying an Initialization State:

When signals require a specific initial state, there are two ways to do it: an initialization event and an initialization timing diagram.

An event can be drawn at the beginning of the timing diagram to force the state initialization. A potential disadvantage is that this event will be driven each time the transaction is called.

To overcome this disadvantage, an initialization diagram can be developed and called once at the start of the test bench execution. An initialization diagram is just a simple timing diagram with waveforms that drive the required signals to an initial state. The TestBencher Pro Basic Tutorial provides an example of an initialization diagram that initializes the signals CSB and WRB to a high state.

completed_initialize_diagram