+ print (pspec)
+ self.id_wid = pspec['id_wid']
+ self.op_wid = pspec.get('op_wid', 0)
+ self.mid = Signal(self.id_wid, reset_less=True) # RS multiplex ID
+ self.op = Signal(self.op_wid, reset_less=True)
+
+ def eq(self, i):
+ ret = [self.mid.eq(i.mid)]
+ if self.op_wid:
+ ret.append(self.op.eq(i.op))
+ return ret
+
+ def __iter__(self):
+ yield self.mid
+ if self.op_wid:
+ yield self.op
+
+ def ports(self):
+ return list(self)
+
+
+class FPADDBaseData:
+
+ def __init__(self, width, pspec, n_ops=2):
+ self.width = width
+ self.ctx = FPBaseData(width, pspec)