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/avalon/IAvalonMaster.lvt

namespace Livt.Bus.Avalon

/**
 * Avalon memory-mapped signal contract with configurable byte addresses and data.
 * Directions are relative to the bus master.
 */
interface IAvalonMaster<Address, Data, ByteEnable>
{
	/**
	 * Byte address for the current read or write request.
	 */
	address: out Address

	/**
	 * Enables the corresponding byte lanes during a write.
	 */
	byteenable: out ByteEnable

	/**
	 * Requests a write while asserted.
	 */
	write: out logic

	/**
	 * Data presented for a write request.
	 */
	writedata: out Data

	/**
	 * Requests a read while asserted.
	 */
	read: out logic

	/**
	 * Data returned for an accepted read request.
	 */
	readdata: in Data

	/**
	 * Stalls the current request while asserted.
	 */
	waitrequest: in logic

	/**
	 * Response code returned for the accepted request.
	 */
	response: in Logic[2]
}