tilelink2: clarify that fifoId only applies to accesses (not hints)
This commit is contained in:
parent
4b99bd3be1
commit
3a441d853f
@ -77,7 +77,7 @@ object TransferSizes {
|
|||||||
// The base address used by the crossbar for routing
|
// The base address used by the crossbar for routing
|
||||||
case class AddressSet(mask: BigInt, base: Option[BigInt] = None)
|
case class AddressSet(mask: BigInt, base: Option[BigInt] = None)
|
||||||
{
|
{
|
||||||
// Forbid empty sets
|
// Forbid misaligned base address (and empty sets)
|
||||||
require (base == None || (base.get & mask) == 0)
|
require (base == None || (base.get & mask) == 0)
|
||||||
|
|
||||||
def contains(x: BigInt) = ((x ^ base.get) & ~mask) == 0
|
def contains(x: BigInt) = ((x ^ base.get) & ~mask) == 0
|
||||||
@ -95,6 +95,9 @@ case class AddressSet(mask: BigInt, base: Option[BigInt] = None)
|
|||||||
// 1 less than the number of bytes to which the manager should be aligned
|
// 1 less than the number of bytes to which the manager should be aligned
|
||||||
def alignment1 = ((mask + 1) & ~mask) - 1
|
def alignment1 = ((mask + 1) & ~mask) - 1
|
||||||
def max = base.get | mask
|
def max = base.get | mask
|
||||||
|
|
||||||
|
// A strided slave has serves discontiguous ranges
|
||||||
|
def strided = alignment1 != mask
|
||||||
}
|
}
|
||||||
|
|
||||||
case class TLManagerParameters(
|
case class TLManagerParameters(
|
||||||
@ -109,7 +112,7 @@ case class TLManagerParameters(
|
|||||||
supportsPutFull: TransferSizes = TransferSizes.none,
|
supportsPutFull: TransferSizes = TransferSizes.none,
|
||||||
supportsPutPartial: TransferSizes = TransferSizes.none,
|
supportsPutPartial: TransferSizes = TransferSizes.none,
|
||||||
supportsHint: Boolean = false,
|
supportsHint: Boolean = false,
|
||||||
// If fifoId=Some, all messages sent to the same fifoId are delivered in FIFO order
|
// If fifoId=Some, all accesses sent to the same fifoId are executed and ACK'd in FIFO order
|
||||||
fifoId: Option[Int] = None)
|
fifoId: Option[Int] = None)
|
||||||
{
|
{
|
||||||
address.combinations(2).foreach({ case Seq(x,y) =>
|
address.combinations(2).foreach({ case Seq(x,y) =>
|
||||||
|
Loading…
Reference in New Issue
Block a user