mass-rename of modules to soc.fu.*
[soc.git] / src / soc / fu / cr / pipe_data.py
1 from nmigen import Signal, Const
2 from ieee754.fpcommon.getop import FPPipeContext
3 from soc.fu.alu.pipe_data import IntegerData
4
5
6 class CRInputData(IntegerData):
7 def __init__(self, pspec):
8 super().__init__(pspec)
9 self.a = Signal(64, reset_less=True) # RA
10 self.cr = Signal(64, reset_less=True) # CR in
11
12 def __iter__(self):
13 yield from super().__iter__()
14 yield self.a
15 yield self.cr
16
17 def eq(self, i):
18 lst = super().eq(i)
19 return lst + [self.a.eq(i.a),
20 self.cr.eq(i.cr)]
21
22 class CROutputData(IntegerData):
23 def __init__(self, pspec):
24 super().__init__(pspec)
25 self.o = Signal(64, reset_less=True) # RA
26 self.cr = Signal(64, reset_less=True) # CR in
27
28 def __iter__(self):
29 yield from super().__iter__()
30 yield self.o
31 yield self.cr
32
33 def eq(self, i):
34 lst = super().eq(i)
35 return lst + [self.o.eq(i.o),
36 self.cr.eq(i.cr)]