forked from M-Labs/artiq
drtio: remove TSC correction (#40)
This commit is contained in:
parent
e38187c760
commit
3fbcf5f303
|
@ -17,7 +17,6 @@ class _CSRs(AutoCSR):
|
||||||
|
|
||||||
self.protocol_error = CSR(3)
|
self.protocol_error = CSR(3)
|
||||||
|
|
||||||
self.tsc_correction = CSRStorage(64)
|
|
||||||
self.set_time = CSR()
|
self.set_time = CSR()
|
||||||
self.underflow_margin = CSRStorage(16, reset=300)
|
self.underflow_margin = CSRStorage(16, reset=300)
|
||||||
|
|
||||||
|
@ -83,13 +82,9 @@ class RTController(Module):
|
||||||
|
|
||||||
# master RTIO counter and counter synchronization
|
# master RTIO counter and counter synchronization
|
||||||
self.submodules.counter = RTIOCounter(64-fine_ts_width)
|
self.submodules.counter = RTIOCounter(64-fine_ts_width)
|
||||||
self.comb += self.cri.counter.eq(self.counter.value_sys << fine_ts_width)
|
|
||||||
tsc_correction = Signal(64)
|
|
||||||
self.csrs.tsc_correction.storage.attr.add("no_retiming")
|
|
||||||
self.specials += MultiReg(self.csrs.tsc_correction.storage, tsc_correction)
|
|
||||||
self.comb += [
|
self.comb += [
|
||||||
rt_packet.tsc_value.eq(
|
self.cri.counter.eq(self.counter.value_sys << fine_ts_width),
|
||||||
self.counter.value_rtio + tsc_correction),
|
rt_packet.tsc_value.eq(self.counter.value_rtio),
|
||||||
self.csrs.set_time.w.eq(rt_packet.set_time_stb)
|
self.csrs.set_time.w.eq(rt_packet.set_time_stb)
|
||||||
]
|
]
|
||||||
self.sync += [
|
self.sync += [
|
||||||
|
|
|
@ -211,7 +211,7 @@ class TestFullStack(unittest.TestCase):
|
||||||
{"sys": test(), "rtio": tb.check_ttls(ttl_changes)}, self.clocks)
|
{"sys": test(), "rtio": tb.check_ttls(ttl_changes)}, self.clocks)
|
||||||
self.assertEqual(ttl_changes, correct_ttl_changes)
|
self.assertEqual(ttl_changes, correct_ttl_changes)
|
||||||
|
|
||||||
def test_tsc_error(self):
|
def test_write_underflow(self):
|
||||||
tb = OutputsTestbench()
|
tb = OutputsTestbench()
|
||||||
|
|
||||||
def test():
|
def test():
|
||||||
|
@ -220,11 +220,8 @@ class TestFullStack(unittest.TestCase):
|
||||||
yield from tb.init()
|
yield from tb.init()
|
||||||
errors = yield from saterr.protocol_error.read()
|
errors = yield from saterr.protocol_error.read()
|
||||||
self.assertEqual(errors, 0)
|
self.assertEqual(errors, 0)
|
||||||
yield from csrs.tsc_correction.write(100000000)
|
yield from csrs.underflow_margin.write(0)
|
||||||
yield from csrs.set_time.write(1)
|
tb.delay(100)
|
||||||
for i in range(15):
|
|
||||||
yield
|
|
||||||
tb.delay(10000)
|
|
||||||
yield from tb.write(0, 1)
|
yield from tb.write(0, 1)
|
||||||
for i in range(12):
|
for i in range(12):
|
||||||
yield
|
yield
|
||||||
|
|
Loading…
Reference in New Issue