In simulations, testbench may intentionally inject bubbles to a valid-ready interface, to check that the valid-ready interface can still functionally work. Such technique is called valid-ready slice staller, and it improves the coverage of valid-ready interface backpressure scenarios.
One possible staller implementation is shown below:

In the regular case, “stall_en” is low, and the staller is functionally transparent in the datapath; When enabling the staller, testbench will drive “stall_en” high, and the valid-ready interface is stalled. Testbench can randomly drive “stall_en” on a per cycle basis during simulation.

Leave a comment