axi4: prototype Fragmenter
This commit is contained in:
@ -42,6 +42,10 @@ case class AXI4SlavePortParameters(
|
||||
// Check that the link can be implemented in AXI4
|
||||
require (maxTransfer <= beatBytes * (1 << AXI4Parameters.lenBits))
|
||||
|
||||
lazy val routingMask = AddressDecoder(slaves.map(_.address))
|
||||
def findSafe(address: UInt) = Vec(slaves.map(_.address.map(_.contains(address)).reduce(_ || _)))
|
||||
def findFast(address: UInt) = Vec(slaves.map(_.address.map(_.widen(~routingMask)).distinct.map(_.contains(address)).reduce(_ || _)))
|
||||
|
||||
// Require disjoint ranges for addresses
|
||||
slaves.combinations(2).foreach { case Seq(x,y) =>
|
||||
x.address.foreach { a => y.address.foreach { b =>
|
||||
|
Reference in New Issue
Block a user