self.a = PartitionedSignal(partpoints, width, name="a")
self.b = PartitionedSignal(partpoints, width, name="b")
self.ls_output = Signal(width) # left shift
- self.dummy_output = Signal(width) # left shift
+ self.dummy_output = Signal(width)
+ self.dummy_mask = Signal(self.partpoints.shape())
def elaborate(self, platform):
m = Module()
self.a.set_module(m)
self.b.set_module(m)
# left shift
+ wid = len(self.partpoints)
+ sync += self.dummy_mask.eq(self.partpoints)
sync += self.dummy_output.eq(self.b.sig) # stops sigs being ignored
sync += self.ls_output.eq(self.a << self.b)
ppts = self.partpoints
def ports(self):
return [self.a.sig, self.b.sig,
self.ls_output,
- self.dummy_output]
+ self.dummy_output,
+ self.dummy_mask]
# XXX this is for coriolis2 experimentation