X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fsoc%2Fdecoder%2Fpower_fields.py;h=58df625b94e4faa5eaafc4eef78ae3a287a09d5c;hb=34ec75959ba7ff187045b17468d803b795d77dd8;hp=0518279875faa9924fe41c5d92acd276be57721c;hpb=7656046aba8cf8a3896a765ad60e1478754e28bb;p=soc.git diff --git a/src/soc/decoder/power_fields.py b/src/soc/decoder/power_fields.py index 05182798..58df625b 100644 --- a/src/soc/decoder/power_fields.py +++ b/src/soc/decoder/power_fields.py @@ -109,7 +109,7 @@ def decode_form(form): class DecodeFields: def __init__(self, bitkls=BitRange, bitargs=(), fname=None, - name_on_wiki=None): + name_on_wiki=None): self.bitkls = bitkls self.bitargs = bitargs if fname is None: @@ -118,9 +118,13 @@ class DecodeFields: name_on_wiki = "fields.text" self.fname = find_wiki_file(name_on_wiki) + @property + def form_names(self): + return self.instrs.keys() + def create_specs(self): self.forms, self.instrs = self.decode_fields() - self.form_names = forms = self.instrs.keys() + forms = self.form_names #print ("specs", self.forms, forms) for form in forms: fields = self.instrs[form] @@ -147,7 +151,7 @@ class DecodeFields: "LK": self.FormI.LK, "AA": self.FormB.AA, "Rc": self.FormX.Rc, - "OE": self.FormXO.Rc, + "OE": self.FormXO.OE, "BD": self.FormB.BD, "BF": self.FormX.BF, "CR": self.FormXL.XO, @@ -217,7 +221,8 @@ class DecodeFields: txt = "%s (%s)" % (f0, s0) individualfields.append(txt) if len(fs) > 1: - res.update(self.decode_instruction_fields(individualfields)) + res.update(self.decode_instruction_fields( + individualfields)) d = self.bitkls(*self.bitargs) idx = 0 for s in ss: @@ -244,6 +249,6 @@ if __name__ == '__main__': dec.create_specs() forms, instrs = dec.forms, dec.instrs for form, fields in instrs.items(): - print ("Form", form) + print("Form", form) for field, bits in fields.items(): - print ("\tfield", field, bits) + print("\tfield", field, bits)