1
0

bugfix in locking arbiter

This commit is contained in:
Henry Cook 2012-03-11 15:47:27 -07:00
parent 4ebf637642
commit c5dd37ae80

View File

@ -207,7 +207,7 @@ class LockingArbiter[T <: Data](n: Int)(data: => T) extends Component {
for (i <- 1 until n) { for (i <- 1 until n) {
io.in(i).ready := Mux(any_lock_held, io.out.ready && locked(i), io.in(i).ready := Mux(any_lock_held, io.out.ready && locked(i),
!io.in(i-1).valid && io.in(i-1).ready) !io.in(i-1).valid && io.in(i-1).ready)
locked(i) := Mux(any_lock_held, locked(i), io.in(i).ready) locked(i) := Mux(any_lock_held, locked(i), io.in(i).ready && io.lock(i))
} }
var dout = io.in(n-1).bits var dout = io.in(n-1).bits