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)
src/IMemoryMappedMaster32.lvt
namespace Livt.Bus
/**
* Non-asserting transaction API for a 32-bit, byte-addressed memory-mapped bus.
*/
interface IMemoryMappedMaster32
{
/**
* Sets the maximum number of context clock ticks to wait for a handshake stage.
*/
fn SetTimeoutTicks(timeoutTicks: uint)
/**
* Returns the currently configured transaction timeout in context clock ticks.
*/
fn GetTimeoutTicks() uint
/**
* Starts a 32-bit write at a byte address using one enable bit per byte lane.
* Returns true when the protocol handshake completes, even if a protocol-specific
* response reports an error. Returns false after a timeout and any required
* protocol-safe recovery completes.
*/
fn TryWrite32(address: uint, value: uint, byteEnable: Logic[4]) bool
/**
* Starts a 32-bit read at a byte address.
* Returns true when the protocol handshake completes. Returns false after a
* timeout and any required protocol-safe recovery completes.
*/
fn TryRead32(address: uint) bool
/**
* Returns the value captured by the most recently completed read.
*/
fn LastReadValue() uint
/**
* Returns the two-bit status of the most recent transaction.
* AXI4-Lite and Avalon return their native response. Wishbone maps an
* acknowledgement to OKAY (0b00) and a local timeout to SLVERR (0b10).
*/
fn LastResponse() Logic[2]
/**
* Returns true when the most recent transaction ended because of its timeout.
*/
fn LastTimedOut() bool
}