1 from soc
.fu
.base_input_record
import CompOpSubsetBase
2 from openpower
.decoder
.power_enums
import MicrOp
, Function
, CryIn
3 from nmigen
.hdl
.rec
import Layout
5 # needed for SVP64 information at the pipeline
6 from openpower
.decoder
.power_svp64_rm
import sv_input_record_layout
8 class CompALUOpSubset(CompOpSubsetBase
):
11 a copy of the relevant subset information from Decode2Execute1Type
12 needed for ALU operations. use with eq_from_execute1 (below) to
15 def __init__(self
, name
=None):
16 layout
= [('insn_type', MicrOp
),
17 ('fn_unit', Function
),
18 ('imm_data', Layout((("data", 64), ("ok", 1)))),
19 ('rc', Layout((("rc", 1), ("ok", 1)))), # Data
20 ('oe', Layout((("oe", 1), ("ok", 1)))), # Data
25 ('input_carry', CryIn
),
29 ('data_len', 4), # actually used by ALU, in OP_EXTS
31 ] + sv_input_record_layout
32 super().__init
__(layout
, name
=name
)