weird exception, oe not found in the shiftrot input record
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 20 Feb 2022 22:17:18 +0000 (22:17 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 20 Feb 2022 22:17:18 +0000 (22:17 +0000)
Revert "separate out shiftrot stages due to size of main stage being so large"

This reverts commit 87d6b84e96fb62cda16cc9f335e34fe15ad6cd97.

src/soc/fu/shift_rot/pipeline.py

index 67dc034c61d07a7f37c7ef5a6ec222743abc0221..80e46038166e89194147b5c6d3a45f818fa417e8 100644 (file)
@@ -4,15 +4,11 @@ from soc.fu.shift_rot.input_stage import ShiftRotInputStage
 from soc.fu.shift_rot.main_stage import ShiftRotMainStage
 from soc.fu.shift_rot.output_stage import ShiftRotOutputStage
 
-class ShiftRotStart(PipeModBaseChain):
+class ShiftRotStages(PipeModBaseChain):
     def get_chain(self):
         inp = ShiftRotInputStage(self.pspec)
-        return [inp]
-
-class ShiftRotStage(PipeModBaseChain):
-    def get_chain(self):
         main = ShiftRotMainStage(self.pspec)
-        return [main]
+        return [inp, main]
 
 
 class ShiftRotStageEnd(PipeModBaseChain):
@@ -25,15 +21,13 @@ class ShiftRotBasePipe(ControlBase):
     def __init__(self, pspec):
         ControlBase.__init__(self)
         self.pspec = pspec
-        self.pipe1 = ShiftRotStart(pspec)
-        self.pipe2 = ShiftRotStage(pspec)
-        self.pipe3 = ShiftRotStageEnd(pspec)
-        self._eqs = self.connect([self.pipe1, self.pipe2, self.pipe3])
+        self.pipe1 = ShiftRotStages(pspec)
+        self.pipe2 = ShiftRotStageEnd(pspec)
+        self._eqs = self.connect([self.pipe1, self.pipe2])
 
     def elaborate(self, platform):
         m = ControlBase.elaborate(self, platform)
         m.submodules.pipe1 = self.pipe1
         m.submodules.pipe2 = self.pipe2
-        m.submodules.pipe3 = self.pipe3
         m.d.comb += self._eqs
         return m