X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fsoc%2Ffu%2Fshift_rot%2Fpipeline.py;h=80e46038166e89194147b5c6d3a45f818fa417e8;hb=264cc7fd7d7547e1e19424b8f8fd0fbfea29cec5;hp=67dc034c61d07a7f37c7ef5a6ec222743abc0221;hpb=87d6b84e96fb62cda16cc9f335e34fe15ad6cd97;p=soc.git diff --git a/src/soc/fu/shift_rot/pipeline.py b/src/soc/fu/shift_rot/pipeline.py index 67dc034c..80e46038 100644 --- a/src/soc/fu/shift_rot/pipeline.py +++ b/src/soc/fu/shift_rot/pipeline.py @@ -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