1
0

coreplex: leverage improved := composition

This commit is contained in:
Wesley W. Terpstra
2017-10-25 02:27:01 -07:00
parent e894d64bca
commit 8c5e8dd071
6 changed files with 16 additions and 56 deletions

View File

@ -79,18 +79,9 @@ object TLBuffer
}
}
object TLNodeChain {
def apply(nodes: Seq[TLNode])(implicit p: Parameters): Option[TLNode] = if(nodes.size > 0) {
(nodes.init zip nodes.tail) foreach { case (prev, next) => next :=? prev }
Some(NodeHandle(nodes.head, nodes.last))
} else {
None
}
}
class TLBufferChain(depth: Int)(implicit p: Parameters) extends SimpleLazyModule {
val buf_chain = List.fill(depth)(LazyModule(new TLBuffer(BufferParams.default)))
val node = TLNodeChain(buf_chain.map(_.node)).getOrElse(TLIdentityNode())
val node = buf_chain.map(_.node:TLNode).reduceOption(_ :=? _).getOrElse(TLIdentityNode())
}
object TLBufferChain