Skip to content

Commit c9289f5

Browse files
authored
Merge pull request #3731 from tymcauley/axi4-buffer-chain
AXI4 buffer chain
2 parents 0fb0574 + 5fa8f87 commit c9289f5

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Diff for: src/main/scala/amba/axi4/Buffer.scala

+12
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,16 @@ object AXI4Buffer
6868
val axi4buf = LazyModule(new AXI4Buffer(aw, w, b, ar, r))
6969
axi4buf.node
7070
}
71+
72+
def chain(depth: Int, name: Option[String] = None)(implicit p: Parameters): Seq[AXI4Node] = {
73+
val buffers = Seq.fill(depth) { LazyModule(new AXI4Buffer()) }
74+
name.foreach { n => buffers.zipWithIndex.foreach { case (b, i) => b.suggestName(s"${n}_${i}") } }
75+
buffers.map(_.node)
76+
}
77+
78+
def chainNode(depth: Int, name: Option[String] = None)(implicit p: Parameters): AXI4Node = {
79+
chain(depth, name)
80+
.reduceLeftOption(_ :*=* _)
81+
.getOrElse(AXI4NameNode("no_buffer"))
82+
}
7183
}

0 commit comments

Comments
 (0)