From: Luke Kenneth Casson Leighton Date: Wed, 15 Jul 2020 19:58:10 +0000 (+0100) Subject: use new CompOpSubsetBase in trap X-Git-Tag: div_pipeline~11 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7c81c22caf090b07b9393632e5b7ef7c1cf6fea7;p=soc.git use new CompOpSubsetBase in trap --- diff --git a/src/soc/fu/trap/trap_input_record.py b/src/soc/fu/trap/trap_input_record.py index 84715f82..111368ca 100644 --- a/src/soc/fu/trap/trap_input_record.py +++ b/src/soc/fu/trap/trap_input_record.py @@ -1,9 +1,8 @@ -from nmigen.hdl.rec import Record, Layout - +from soc.fu.base_input_record import CompOpSubsetBase from soc.decoder.power_enums import (MicrOp, Function) -class CompTrapOpSubset(Record): +class CompTrapOpSubset(CompOpSubsetBase): """CompTrapOpSubset a copy of the relevant subset information from Decode2Execute1Type @@ -19,30 +18,5 @@ class CompTrapOpSubset(Record): ('trapaddr', 13), ) - Record.__init__(self, Layout(layout), name=name) - - # grrr. Record does not have kwargs - self.insn_type.reset_less = True - self.insn.reset_less = True - self.fn_unit.reset_less = True - self.is_32bit.reset_less = True - self.traptype.reset_less = True - self.trapaddr.reset_less = True - - def eq_from_execute1(self, other): - """ use this to copy in from Decode2Execute1Type - """ - res = [] - for fname, sig in self.fields.items(): - eqfrom = other.do.fields[fname] - res.append(sig.eq(eqfrom)) - return res + super().__init__(layout, name=name) - def ports(self): - return [self.insn_type, - self.insn, - self.fn_unit, - self.is_32bit, - self.traptype, - self.trapaddr, - ]