return m
class DecodeCRIn(Elaboratable):
- """Decodes input CR from instruction"""
+ """Decodes input CR from instruction
+
+ CR indices - insn fields - (not the data *in* the CR) require only 3
+ bits because they refer to CR0-CR7
+ """
def __init__(self, dec):
self.dec = dec
return m
+
class DecodeCROut(Elaboratable):
- """Decodes input CR from instruction"""
+ """Decodes input CR from instruction
+
+ CR indices - insn fields - (not the data *in* the CR) require only 3
+ bits because they refer to CR0-CR7
+ """
def __init__(self, dec):
self.dec = dec
return m
+
class XerBits:
def __init__(self):
self.ca = Signal(2, reset_less=True)
self.invert_out = Signal(reset_less=True)
self.input_carry = Signal(CryIn, reset_less=True)
self.output_carry = Signal(reset_less=True)
- self.input_cr = Signal(reset_less=True)
- self.output_cr = Signal(reset_less=True)
+ self.input_cr = Signal(reset_less=True) # instr. has a CR as input
+ self.output_cr = Signal(reset_less=True) # instr. has a CR as output
self.is_32bit = Signal(reset_less=True)
self.is_signed = Signal(reset_less=True)
self.insn = Signal(32, reset_less=True)