rdmask = get_rdflags(self.i.e, fu)
comb += fu.rdmaskn.eq(~rdmask)
- # if instruction is busy, set busy output for core. also
- # continue to hold each fu rdmask
- for funame, fu in fus.items():
- with m.If(fu.busy_o):
- comb += busy_o.eq(fu.busy_o)
+ # if instruction is busy, set busy output for core.
+ busys = map(lambda fu: fu.busy_o, fus.values())
+ comb += busy_o.eq(Cat(*busys).bool())
# set ready/valid signalling. if busy, means refuse incoming issue
# XXX note: for an in-order core this is far too simple. busy must