The example design output port link_status_out
indicates a PRBS match-based link across all channels. The test bench uses a counter to detect
a level link_status_out
assertion, and deassertions reset the
counter. When the counter saturates, the test bench prints this message to the transcript:
Initial link achieved across all transceiver channels.
The test bench then pulses link_down_latched_reset_in
to reset the example design sticky link down indicator,
and allows the simulation to run for a prescribed period of time to ensure that the link is
maintained. These messages are printed to the transcript:
Resetting latched link down indicator.
Continuing simulation for 50us to check for maintenance of link.
At the end of the prescribed wait period, the test bench checks whether the link has been maintained. If so, the following messages are printed to the transcript and the test is considered to have passed.
The simulation then finishes: PASS: simulation completed with maintained link.
** Test completed successfully.
If the link is lost after it was first achieved, the following messages are printed to the transcript and the test is considered to have failed. The simulation then finishes:
FAIL: simulation completed with subsequent link loss after initial link.
** Error: Test did not complete successfully
Use the “run all” feature of your simulator to allow the simulation to run for an unbounded period of time. The provided test bench includes a timeout process that, should the time limit be reached before a stable link is first achieved, prints the following message to the transcript before exiting the simulation. This behavior is considered a test failure and is not expected:
FAIL: simulation timeout. Link never achieved.
** Error: Test did not complete successfully