add ALUFirstInputData
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 8 May 2020 23:01:12 +0000 (00:01 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 8 May 2020 23:01:12 +0000 (00:01 +0100)
src/soc/alu/pipe_data.py

index 083ca105364119ccab23ee6968566de11d9ef19e..fe76aeb7e825b1167f55eff0976844d1495141dd 100644 (file)
@@ -17,6 +17,25 @@ class IntegerData:
         return [self.ctx.eq(i.ctx)]
 
 
+class ALUFirstInputData(IntegerData):
+    def __init__(self, pspec):
+        super().__init__(pspec)
+        self.a = Signal(64, reset_less=True)
+        self.b = Signal(64, reset_less=True)
+        self.so = Signal(reset_less=True)
+
+    def __iter__(self):
+        yield from super().__iter__()
+        yield self.a
+        yield self.b
+        yield self.so
+
+    def eq(self, i):
+        lst = super().eq(i)
+        return lst + [self.a.eq(i.a), self.b.eq(i.b),
+                      self.so.eq(i.so)]
+
+
 class ALUInputData(IntegerData):
     def __init__(self, pspec):
         super().__init__(pspec)