self.post_hit = Signal()
self.source = Source(data_layout(dw))
+ self.source_level = Signal(bits_for(depth))
###
If(~fifo.sink.ack | (fifo.fifo.level >= self.length), NextState("IDLE"))
)
+ self.comb += self.source_level.eq(fifo.fifo.level)
class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
def __init__(self, dw, depth):
self._done = CSRStatus()
self._source_stb = CSRStatus()
- self._source_ack = CSR()
+ self._source_level = CSRStatus(bits_for(depth))
self._source_data = CSRStatus(dw)
###
self._done.status.eq(self.done),
self._source_stb.status.eq(self.source.stb),
+ self._source_level.status.eq(self.source_level),
self._source_data.status.eq(self.source.data),
- self.source.ack.eq(self._source_ack.re)
+ self.source.ack.eq(self._source_data.sel),
]
def upload(self):
if self.debug:
print("uploading")
- while self.recorder_source_stb.read():
+ while self.recorder_source_level.read():
self.data.append(self.recorder_source_data.read())
- self.recorder_source_ack.write(1)
if self.with_rle:
if self.rle_enable.read():
self.data = self.data.decode_rle()
cond = {} # trigger on cnt0 = 128
la.configure_term(port=0, cond=cond)
la.configure_sum("term")
-la.configure_subsampler(8)
+la.configure_subsampler(1)
#la.configure_qualifier(1)
la.configure_rle(1)
la.run(offset=128, length=256)