def METHOD_NAME(self):
    tb = _TB()
    def gen():
        yield tb.dut.rtlink.o.address.eq(2)
        yield tb.dut.rtlink.o.data.eq(0b11)
        yield tb.dut.rtlink.o.stb.eq(1)  # set sensitivity to rising + falling
        yield
        yield tb.dut.rtlink.o.stb.eq(0)
        yield
        self.assertEqual((yield tb.serdes.oe), 0)
        self.assertEqual((yield tb.dut.rtlink.i.stb), 0)
        yield tb.serdes.i.eq(0b11111110)  # rising edge at fine_ts = 1
        yield
        yield tb.serdes.i.eq(0b11111111)
        yield
        self.assertEqual((yield tb.dut.rtlink.i.stb), 1)
        self.assertEqual((yield tb.dut.rtlink.i.fine_ts), 1)
        yield tb.serdes.i.eq(0b01111111)  # falling edge at fine_ts = 7
        yield
        yield tb.serdes.i.eq(0b00000000)
        yield
        self.assertEqual((yield tb.dut.rtlink.i.stb), 1)
        self.assertEqual((yield tb.dut.rtlink.i.fine_ts), 7)
        yield tb.serdes.i.eq(0b11000000)  # rising edge at fine_ts = 6
        yield
        yield tb.serdes.i.eq(0b11111111)
        yield
        self.assertEqual((yield tb.dut.rtlink.i.stb), 1)
        self.assertEqual((yield tb.dut.rtlink.i.fine_ts), 6)
        yield tb.dut.rtlink.o.address.eq(2)
        yield tb.dut.rtlink.o.data.eq(0b01)
        yield tb.dut.rtlink.o.stb.eq(1)  # set sensitivity to rising only
        yield
        yield tb.dut.rtlink.o.stb.eq(0)
        yield
        yield tb.serdes.i.eq(0b00001111)  # falling edge at fine_ts = 4
        yield
        yield tb.serdes.i.eq(0b00000000)
        yield
        # no strobe, sensitivity is rising edge
        self.assertEqual((yield tb.dut.rtlink.i.stb), 0)
        yield tb.serdes.i.eq(0b11110000)  # rising edge at fine_ts = 4
        yield
        yield tb.serdes.i.eq(0b11111111)
        yield
        self.assertEqual((yield tb.dut.rtlink.i.stb), 1)
        self.assertEqual((yield tb.dut.rtlink.i.fine_ts), 4)
    run_simulation(tb, gen())