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/wishbone/WishboneTimeoutBoundaryTest.lvt

namespace Livt.Bus.Tests.Wishbone

using Livt.Bus.Wishbone
using Livt.Bus.Wishbone.Testing

/**
 * Verifies the exact Wishbone acknowledgement timeout boundary.
 */
@Test
component WishboneTimeoutBoundaryTest
{
	master: WishboneMaster32
	target: WishboneTestSlave32

	/**
	 * Creates a fresh fixture for the successful boundary.
	 */
	new()
	{
		this.master = new WishboneMaster32()
		this.target = new WishboneTestSlave32(this.master)
	}

	/**
	 * Verifies success when acknowledgement arrives on the seventh evaluation.
	 */
	@Test
	fn CountsTheConfiguredDeadlineExactly()
	{
		target.Clear()
		target.ConfigureAckDelay(0 as uint)
		master.SetTimeoutTicks(7 as uint)
		assert master.TryRead32(0x00 as uint) == true
		assert master.LastTimedOut() == false
	}
}