remove upload optimization (we will use wishbone later for performance)

This commit is contained in:
Florent Kermarrec 2015-02-24 17:58:54 +01:00
parent b6ebcece95
commit a559fc77c8
2 changed files with 5 additions and 10 deletions

View File

@ -97,7 +97,6 @@ class LiteScopeRecorderUnit(Module):
self.post_hit = Signal() self.post_hit = Signal()
self.source = Source(data_layout(dw)) self.source = Source(data_layout(dw))
self.source_level = Signal(bits_for(depth))
### ###
@ -138,7 +137,6 @@ class LiteScopeRecorderUnit(Module):
If(~fifo.sink.ack | (fifo.fifo.level >= self.length), NextState("IDLE")) If(~fifo.sink.ack | (fifo.fifo.level >= self.length), NextState("IDLE"))
) )
self.comb += self.source_level.eq(fifo.fifo.level)
class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR): class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
def __init__(self, dw, depth): def __init__(self, dw, depth):
@ -151,7 +149,7 @@ class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
self._done = CSRStatus() self._done = CSRStatus()
self._source_stb = CSRStatus() self._source_stb = CSRStatus()
self._source_level = CSRStatus(bits_for(depth)) self._source_ack = CSR()
self._source_data = CSRStatus(dw) self._source_data = CSRStatus(dw)
### ###
@ -164,7 +162,6 @@ class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
self._done.status.eq(self.done), self._done.status.eq(self.done),
self._source_stb.status.eq(self.source.stb), 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_data.status.eq(self.source.data),
self.source.ack.eq(self._source_data.sel), self.source.ack.eq(self._source_ack.re)
] ]

View File

@ -111,11 +111,9 @@ class LiteScopeLADriver():
def upload(self): def upload(self):
if self.debug: if self.debug:
print("uploading") print("uploading")
level = self.recorder_source_level.read() while self.recorder_source_stb.read():
while level: self.data.append(self.recorder_source_data.read())
length = self.recorder_source_data.length self.recorder_source_ack.write(1)
self.data += self.recorder_source_data.read(repeats=min(128//length, level))
level = self.recorder_source_level.read()
if self.with_rle: if self.with_rle:
if self.rle_enable.read(): if self.rle_enable.read():
self.data = self.data.decode_rle() self.data = self.data.decode_rle()