PositionalMultiQueue: use 1-write n-read Mem instead of Reg(Vec(...))
This commit is contained in:
parent
d9a203b0f0
commit
f9de7173cc
@ -35,8 +35,8 @@ class PositionalMultiQueue[T <: Data](params: PositionalMultiQueueParameters[T],
|
|||||||
val empty = RegInit(Vec.fill(params.ways) { Bool(true) })
|
val empty = RegInit(Vec.fill(params.ways) { Bool(true) })
|
||||||
val head = Reg(Vec(params.ways, UInt(width = log2Up(params.positions))))
|
val head = Reg(Vec(params.ways, UInt(width = log2Up(params.positions))))
|
||||||
val tail = Reg(Vec(params.ways, UInt(width = log2Up(params.positions))))
|
val tail = Reg(Vec(params.ways, UInt(width = log2Up(params.positions))))
|
||||||
val next = Reg(Vec(params.positions, UInt(width = log2Up(params.positions))))
|
val next = Mem(params.positions, UInt(width = log2Up(params.positions)))
|
||||||
val data = Reg(Vec(params.positions, params.gen))
|
val data = Mem(params.positions, params.gen)
|
||||||
// optimized away for synthesis; used to confirm invariant
|
// optimized away for synthesis; used to confirm invariant
|
||||||
val guard = RegInit(Vec.fill(params.positions) { Bool(false) })
|
val guard = RegInit(Vec.fill(params.positions) { Bool(false) })
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user