1
0

tilelink Bus: toAsyncSlaves now supports BufferChains

This commit is contained in:
Wesley W. Terpstra 2017-09-06 14:42:47 -07:00
parent 040f7e1d49
commit 4911a7d44f

View File

@ -79,10 +79,14 @@ abstract class TLBusWrapper(params: TLBusParams, val busName: String)(implicit p
def bufferToSlaves: TLOutwardNode = outwardBufNode
def toAsyncSlaves(sync: Int = 3, name: Option[String] = None, addBuffers: Int = 0): TLAsyncOutwardNode = {
def toSyncSlaves(name: Option[String] = None, addBuffers: Int = 0): TLOutwardNode = LeftStar { implicit p =>
TLBufferChain(addBuffers)(outwardBufNode)
}
def toAsyncSlaves(sync: Int = 3, name: Option[String] = None, addBuffers: Int = 0): TLAsyncOutwardNode = LeftStar { implicit p =>
val source = LazyModule(new TLAsyncCrossingSource(sync))
name.foreach{ n => source.suggestName(s"${busName}_${n}_TLAsyncCrossingSource")}
source.node :*= outwardNode
source.node :=? TLBufferChain(addBuffers)(outwardNode)
source.node
}