Improve transfer tracking

This commit is contained in:
Alex Forencich
2021-01-03 22:55:09 -08:00
parent 1d5688778a
commit cfbc80c0cb
6 changed files with 67 additions and 20 deletions

View File

@@ -142,6 +142,7 @@ class RgmiiSource(Reset):
frame = self.queue.popleft()
self.queue_occupancy_bytes -= len(frame)
self.queue_occupancy_frames -= 1
frame.sim_time_start = get_sim_time()
self.log.info("TX frame: %s", frame)
frame.normalize()
@@ -168,6 +169,8 @@ class RgmiiSource(Reset):
if not frame.data:
ifg_cnt = max(self.ifg, 1)
frame.sim_time_end = get_sim_time()
frame.handle_tx_complete()
frame = None
else:
d = 0
@@ -295,7 +298,7 @@ class RgmiiSink(Reset):
if dv_val:
# start of frame
frame = GmiiFrame(bytearray(), [])
frame.rx_sim_time = get_sim_time()
frame.sim_time_start = get_sim_time()
else:
if not dv_val:
# end of frame
@@ -325,6 +328,7 @@ class RgmiiSink(Reset):
frame.error = error
frame.compact()
frame.sim_time_end = get_sim_time()
self.log.info("RX frame: %s", frame)
self.queue_occupancy_bytes += len(frame)