remove upload optimization (we will use wishbone later for performance)
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 24 Feb 2015 16:58:54 +0000 (17:58 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 24 Feb 2015 17:01:04 +0000 (18:01 +0100)
litescope/core/storage.py
litescope/host/driver/la.py

index 930ea31d9b847abcb29ee9bda3bc726a2d8b7156..30aab1615cb859f4f4b3f59bcb4cb8a503928af0 100644 (file)
@@ -97,7 +97,6 @@ class LiteScopeRecorderUnit(Module):
                self.post_hit = Signal()
 
                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"))
                )
-               self.comb += self.source_level.eq(fifo.fifo.level)
 
 class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
        def __init__(self, dw, depth):
@@ -151,7 +149,7 @@ class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
                self._done = CSRStatus()
 
                self._source_stb = CSRStatus()
-               self._source_level = CSRStatus(bits_for(depth))
+               self._source_ack = CSR()
                self._source_data = CSRStatus(dw)
 
                ###
@@ -164,7 +162,6 @@ class LiteScopeRecorder(LiteScopeRecorderUnit, AutoCSR):
                        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_data.sel),
+                       self.source.ack.eq(self._source_ack.re)
                ]
index 4a9677349a43a24aaa1d8ab73afc9db2feb90893..a60d5d726aec855f25725a7e69c1aad17a2edd13 100644 (file)
@@ -111,11 +111,9 @@ class LiteScopeLADriver():
        def upload(self):
                if self.debug:
                        print("uploading")
-               level = self.recorder_source_level.read()
-               while level:
-                       length = self.recorder_source_data.length
-                       self.data += self.recorder_source_data.read(repeats=min(128//length, level))
-                       level = self.recorder_source_level.read()
+               while self.recorder_source_stb.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()