Livt packages
Livt.Bus
Version 2.0.1
Configurable Avalon, AXI4-Lite, and Wishbone memory-mapped masters, interfaces, bridges, and test components.
Published files (67)
tests/avalon/AvalonTimeoutBeforeBoundaryTest.lvt
namespace Livt.Bus.Tests.Avalon
using Livt.Bus.Avalon
using Livt.Bus.Avalon.Testing
/**
* Verifies Avalon-MM timeout immediately before the acceptance boundary.
*/
@Test
component AvalonTimeoutBeforeBoundaryTest
{
master: AvalonMaster32
target: AvalonTestSlave32
/**
* Creates a fresh fixture for the failing boundary.
*/
new()
{
this.master = new AvalonMaster32()
this.target = new AvalonTestSlave32(this.master)
}
/**
* Verifies timeout after five stalls, one evaluation before acceptance.
* The native edge scoreboard separately checks the protocol-level deadline.
*/
@Test
fn TimesOutImmediatelyBeforeAcceptance()
{
target.Clear()
target.Configure(0 as uint, 0b00)
master.SetTimeoutTicks(5 as uint)
assert master.TryRead32(0x00 as uint) == false
assert master.LastTimedOut() == true
}
}