1
0

tilelink: add BasicBusBlocker device

This commit is contained in:
Henry Cook
2017-10-11 13:16:50 -07:00
parent 9f8e3d8879
commit 2dbe882e58
2 changed files with 59 additions and 17 deletions

View File

@ -49,6 +49,7 @@ class TLBusBypassBar(implicit p: Parameters) extends LazyModule
lazy val module = new LazyModuleImp(this) {
val io = IO(new Bundle {
val bypass = Bool(INPUT)
val pending = Bool(OUTPUT)
})
val (in, edge) = node.in(0)
@ -60,6 +61,8 @@ class TLBusBypassBar(implicit p: Parameters) extends LazyModule
val flight = RegInit(UInt(0, width = log2Ceil(3*edge.client.endSourceId+1)))
val bypass = RegInit(io.bypass) // synchronous reset required
io.pending := (flight > 0.U)
val (a_first, a_last, _) = edge.firstlast(in.a)
val (b_first, b_last, _) = edge.firstlast(in.b)
val (c_first, c_last, _) = edge.firstlast(in.c)