1 from nmigen
import Elaboratable
, Module
, Signal
4 class Mem_Rsv(Elaboratable
):
5 """ these are allocated per-Register (vertically),
6 and are each of length fu_count
8 def __init__(self
, fu_count
):
9 self
.fu_count
= fu_count
10 self
.ld_rsel_i
= Signal(fu_count
, reset_less
=True)
11 self
.st_rsel_i
= Signal(fu_count
, reset_less
=True)
12 self
.ld_rsel_o
= Signal(reset_less
=True)
13 self
.st_rsel_o
= Signal(reset_less
=True)
15 def elaborate(self
, platform
):
17 m
.d
.comb
+= self
.ld_rsel_o
.eq(self
.ld_rsel_i
.bool())
18 m
.d
.comb
+= self
.st_rsel_o
.eq(self
.st_rsel_i
.bool())