X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fopenpower%2Fdecoder%2Fdecode2execute1.py;h=efdf441cebd4dfc59cd9b4e1b68e457b5571e519;hb=dcf4c64a66d5ed33fb10bcfcf65017bef39a4d0f;hp=12f584336c6db95af72b8696e17475855eab907f;hpb=2466e66f8b4445fc77a94b86105c102805e3cc26;p=openpower-isa.git diff --git a/src/openpower/decoder/decode2execute1.py b/src/openpower/decoder/decode2execute1.py index 12f58433..efdf441c 100644 --- a/src/openpower/decoder/decode2execute1.py +++ b/src/openpower/decoder/decode2execute1.py @@ -9,6 +9,10 @@ from openpower.decoder.power_enums import (MicrOp, CryIn, Function, SPRfull, SPRreduced, LDSTMode) from openpower.consts import TT from openpower.exceptions import LDSTException +from openpower.decoder.power_svp64_rm import sv_input_record_layout +from openpower.decoder.power_enums import asmlen + +from openpower.util import log class Data(Record): @@ -37,11 +41,13 @@ class IssuerDecode2ToOperand(RecordObject): def __init__(self, name=None): - RecordObject.__init__(self, name=name) + RecordObject.__init__(self, layout=sv_input_record_layout, + name=name) # current "state" (TODO: this in its own Record) self.msr = Signal(64, reset_less=True) self.cia = Signal(64, reset_less=True) + self.svstate = Signal(64, reset_less=True) # instruction, type and decoded information self.insn = Signal(32, reset_less=True) # original instruction @@ -98,7 +104,7 @@ class Decode2ToExecute1Type(RecordObject): RecordObject.__init__(self, name=name) if asmcode: - self.asmcode = Signal(8, reset_less=True) # only for simulator + self.asmcode = Signal(asmlen, reset_less=True) # only for simulator self.write_reg = Data(7, name="rego") self.write_ea = Data(7, name="ea") # for LD/ST in update mode self.read_reg1 = Data(7, name="reg1") @@ -125,7 +131,7 @@ class Decode2ToExecute1Type(RecordObject): self.write_cr = Data(7, name="cr_out") # decode operand data - print ("decode2execute init", name, opkls, do) + log ("decode2execute init", name, opkls, do) #assert name is not None, str(opkls) if do is not None: self.do = do