From a423f97844b398de975877b077a4cfbd92a3d3d7 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Mon, 10 Oct 2016 11:47:40 -0700 Subject: [PATCH] axi4: parameterized AXI master constraint for aligned access --- src/main/scala/uncore/axi4/Parameters.scala | 1 + src/main/scala/uncore/tilelink2/ToAXI4.scala | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/scala/uncore/axi4/Parameters.scala b/src/main/scala/uncore/axi4/Parameters.scala index df430d76..84d1ed65 100644 --- a/src/main/scala/uncore/axi4/Parameters.scala +++ b/src/main/scala/uncore/axi4/Parameters.scala @@ -52,6 +52,7 @@ case class AXI4SlavePortParameters( case class AXI4MasterParameters( id: IdRange = IdRange(0, 1), + aligned: Boolean = false, nodePath: Seq[BaseNode] = Seq()) { val name = nodePath.lastOption.map(_.lazyModule.name).getOrElse("disconnected") diff --git a/src/main/scala/uncore/tilelink2/ToAXI4.scala b/src/main/scala/uncore/tilelink2/ToAXI4.scala index 97cd801e..079f37dd 100644 --- a/src/main/scala/uncore/tilelink2/ToAXI4.scala +++ b/src/main/scala/uncore/tilelink2/ToAXI4.scala @@ -12,7 +12,11 @@ import scala.math.{min, max} case class TLToAXI4Node(idBits: Int) extends MixedNode(TLImp, AXI4Imp)( dFn = { case (1, _) => // We must erase all client information, because we crush their source Ids - Seq(AXI4MasterPortParameters(Seq(AXI4MasterParameters(id = IdRange(0, 1 << idBits))))) + val masters = Seq( + AXI4MasterParameters( + id = IdRange(0, 1 << idBits), + aligned = true)) + Seq(AXI4MasterPortParameters(masters)) }, uFn = { case (1, Seq(AXI4SlavePortParameters(slaves, beatBytes))) => val managers = slaves.zipWithIndex.map { case (s, id) =>