SynaptiCAD Tutorials

(TBench) 3.12 Examine Report Window Results

(TBench) 3.12 Examine Report Window Results

Previous topic Next topic  

(TBench) 3.12 Examine Report Window Results

Previous topic Next topic  

The Report window simulation.log  tab displays the default log file for the simulator. TestBencher automatically writes a message to the log file each time a transaction starts and stops. The clocked SRAM contains code to display a message each time it performs a read or write. We also added a sample parameter to the Read Cycle, and set it to generate an error message when the data from the SRAM does not match the expected value.

Examine the log file:

In the Report window, open the simulation.log tab and display the following results:

sim> run

SIM: TB> Note: In "sramtest_CLK_generator" at 0.000ns: Executing LOOPING

SIM: TB> Note: In "sramtest_tbinitialize" at 0.000ns: Executing ONCE

SIM: TB> Note: In "sramtest_tbinitialize" at 50.000ns: Execution DONE

SIM: TB> Note: In "sramtest_tbwrite" at 50.000ns: Executing ONCE

SIM: In clksram at 150.000ns: Writing ae to address f0

SIM: TB> Note: In "sramtest_tbwrite" at 350.000ns: Execution DONE

SIM: TB> Note: In "sramtest_tbread" at 350.000ns: Executing ONCE

SIM: In clksram at 450.000ns: Reading ae to address f0

SIM: TB> Note: In "sramtest_tbread" at 650.000ns: Execution DONE

SIM: TB> Note: In "sramtest_tbread" at 650.000ns: Executing ONCE

SIM: In clksram at 750.000ns: Reading ae to address f0

SIM: TB> Error: In "sramtest_tbread" at 850.000ns: Sample SAMPLE0_process sampled signal: DBUS

SIM:       Expected state: ee ; Detected state: ae

SIM: TB> Note: In "sramtest_tbread" at 950.000ns: Execution DONE

SIM: TB> Note: In "sramtest_CLK_generator" at 950.000ns: Execution DONE

SIM: TB> Total Warnings =           0

SIM: TB> Total Errors =           1

Simulation finished due to event queue exhaustion.

Simulation time: 0.2 s (CPU time: 0.2 s)

sim> start_corba_msg_pump

sim> exit

Process exited with code 0.

Notice that the clock generator starts at time zero and continues until the end of the simulation when the abort call is issued.

The initialization diagram also starts executing at time zero and blocks the next transaction until it is complete.

The write diagram starts next and writes a value to the SRAM. The SRAM acknowledges that is writing the value to the specified address.

The first read diagram executes successfully.

The second read diagram throws a warning because the expected value did not match the value from the MUT. We purposely passed in a bad expected data value so we could see how the sample throws the error.

Next the abort call to the clock stops the clock transaction and ends the simulation.