050d0244e725ff94bb795b67bf2a3c96498d9bd3
[soc.git] / src / soc / fu / cr / pipeline.py
1 from nmutil.singlepipe import ControlBase
2 from nmutil.pipemodbase import PipeModBaseChain
3 from soc.fu.cr.main_stage import CRMainStage
4
5 class CRStages(PipeModBaseChain):
6 def get_chain(self):
7 main = CRMainStage(self.pspec)
8 return [main]
9
10
11 class CRBasePipe(ControlBase):
12 def __init__(self, pspec):
13 ControlBase.__init__(self)
14 self.pipe1 = CRStages(pspec)
15 self._eqs = self.connect([self.pipe1])
16
17 def elaborate(self, platform):
18 m = ControlBase.elaborate(self, platform)
19 m.submodules.pipe = self.pipe1
20 m.d.comb += self._eqs
21 return m