1 from soc
.fu
.base_input_record
import CompOpSubsetBase
2 from nmigen
.hdl
.rec
import Layout
4 from openpower
.decoder
.power_enums
import MicrOp
, Function
, LDSTMode
7 class CompLDSTOpSubset(CompOpSubsetBase
):
10 a copy of the relevant subset information from Decode2Execute1Type
11 needed for LD/ST operations. use with eq_from_execute1 (below) to
14 note: rc / oe is needed (later) for st*cx when it comes to setting OV/SO
16 def __init__(self
, name
=None):
17 layout
= (('insn_type', MicrOp
),
18 ('fn_unit', Function
),
19 ('imm_data', Layout((("data", 64), ("ok", 1)))),
21 ('rc', Layout((("rc", 1), ("ok", 1)))), # for later
22 ('oe', Layout((("oe", 1), ("ok", 1)))), # for later
23 ('msr', 64), # TODO: a lot less bits. only need PR
29 ('ldst_mode', LDSTMode
),
33 super().__init
__(layout
, name
=name
)