class ConstCondition(Unit): def _declr(self): self.clk = Clk() self.a = VectSignal(2) self.b = VectSignal(2) self.c = Signal()._m() def _impl(self): one = self._sig('one', Bits(1)) intermed = self._reg('intermed', Bits(1)) one(1) self.c(intermed) If( one._eq(1), If( self.a._eq(1), intermed(1), ), If( self.b._eq(1), intermed(0), ), If( self.b._eq(2), intermed(1), ), )
class BoolToBitTest(Unit): def _declr(self): self.a = VectSignal(4) self.b = VectSignal(4) self.c = Signal()._m() def _impl(self): self.c(self.a._eq(self.b))