- def __init__(self, incl_asm=True):
- self.function_unit = Signal(Function, reset_less=True)
- self.internal_op = Signal(MicrOp, reset_less=True)
- self.form = Signal(Form, reset_less=True)
- if incl_asm: # for simulator only
- self.asmcode = Signal(8, reset_less=True)
- self.in1_sel = Signal(In1Sel, reset_less=True)
- self.in2_sel = Signal(In2Sel, reset_less=True)
- self.in3_sel = Signal(In3Sel, reset_less=True)
- self.out_sel = Signal(OutSel, reset_less=True)
- self.cr_in = Signal(CRInSel, reset_less=True)
- self.cr_out = Signal(CROutSel, reset_less=True)
- self.ldst_len = Signal(LdstLen, reset_less=True)
- self.upd = Signal(LDSTMode, reset_less=True)
- self.rc_sel = Signal(RC, reset_less=True)
- self.cry_in = Signal(CryIn, reset_less=True)
+ def __init__(self, incl_asm=True, name=None, subset=None):
+ for field, ptype in power_op_types.items():
+ if subset and field not in subset:
+ continue
+ fname = get_pname(field, name)
+ setattr(self, field, Signal(ptype, reset_less=True, name=fname))