forked from M-Labs/artiq
drtio: large data fixes
This commit is contained in:
parent
d381dd5384
commit
0903964488
|
@ -231,7 +231,7 @@ class RTPacketSatellite(Module):
|
||||||
self.sync += \
|
self.sync += \
|
||||||
If(write_data_buffer_load,
|
If(write_data_buffer_load,
|
||||||
Case(write_data_buffer_cnt,
|
Case(write_data_buffer_cnt,
|
||||||
{i: write_data_buffer[i*ws:(i+1)*ws].eq(link_layer.rx_rt_data)
|
{i: write_data_buffer[i*ws:(i+1)*ws].eq(rx_dp.data_r)
|
||||||
for i in range(512//ws)}),
|
for i in range(512//ws)}),
|
||||||
write_data_buffer_cnt.eq(write_data_buffer_cnt + 1)
|
write_data_buffer_cnt.eq(write_data_buffer_cnt + 1)
|
||||||
).Else(
|
).Else(
|
||||||
|
@ -515,11 +515,14 @@ class RTPacketMaster(Module):
|
||||||
write_data.eq(write_data_d))
|
write_data.eq(write_data_d))
|
||||||
|
|
||||||
short_data_len = tx_plm.field_length("write", "short_data")
|
short_data_len = tx_plm.field_length("write", "short_data")
|
||||||
write_extra_data = Signal(512)
|
write_extra_data_d = Signal(512)
|
||||||
self.comb += write_extra_data.eq(write_data[short_data_len:])
|
self.comb += write_extra_data_d.eq(write_data_d[short_data_len:])
|
||||||
for i in range(512//ws):
|
for i in range(512//ws):
|
||||||
self.sync.rtio += If(wfifo.re,
|
self.sync.rtio += If(wfifo.re,
|
||||||
If(write_extra_data[ws*i:ws*(i+1)] != 0, write_extra_data_cnt.eq(i+1)))
|
If(write_extra_data_d[ws*i:ws*(i+1)] != 0, write_extra_data_cnt.eq(i+1)))
|
||||||
|
|
||||||
|
write_extra_data = Signal(512)
|
||||||
|
self.sync.rtio += If(wfifo.re, write_extra_data.eq(write_extra_data_d))
|
||||||
|
|
||||||
extra_data_ce = Signal()
|
extra_data_ce = Signal()
|
||||||
extra_data_last = Signal()
|
extra_data_last = Signal()
|
||||||
|
|
Loading…
Reference in New Issue