def test_match_bitwidth_with_all_fields(self):
        r = pyrtl.Register(6, 'r')
        r.next <<= r + 3
        # 000000 -> 000011 -> 000110 -> 001001 -> 001100 -> 001111 -> 010010 -> 010101
        m, (a, b, c, d, e, f) = pyrtl.match_bitpattern(r, 'abcdef')
        pyrtl.probe(a, 'a')
        pyrtl.probe(b, 'b')
        pyrtl.probe(c, 'c')
        pyrtl.probe(d, 'd')
        pyrtl.probe(e, 'e')
        pyrtl.probe(f, 'f')
        o = pyrtl.Output(name='o')
        o <<= m
        self.check_trace(
            'a 00000000\n'
            'b 00000011\n'
            'c 00011100\n'
            'd 00101101\n'
            'e 01100110\n'
            'f 01010101\n'
            'o 11111111\n'
            'r 036912151821\n'
        )