Skip to content

Commit b1ea334

Browse files
committedJul 22, 2015
litepcie/frontend/dma: add loop counter (useful to detect missed interrupts)
1 parent dfc207a commit b1ea334

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed
 

Diff for: ‎misoclib/com/litepcie/frontend/dma/common.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def __init__(self, depth):
3030
self._loop_prog_n = CSRStorage()
3131
self._index = CSRStatus(log2_int(depth))
3232
self._level = CSRStatus(log2_int(depth))
33+
self._loop = CSRStatus(16)
3334
self._flush = CSR()
3435

3536
self.irq = Signal()
@@ -41,6 +42,7 @@ def __init__(self, depth):
4142
we = self._we.r & self._we.re
4243
loop_prog_n = self._loop_prog_n.storage
4344
index = self._index.status
45+
loop = self._loop.status
4446
level = self._level.status
4547
flush = self._flush.r & self._flush.re
4648

@@ -86,10 +88,12 @@ def __init__(self, depth):
8688
# "loop" mode
8789
self.sync += \
8890
If(flush,
89-
index.eq(0)
91+
index.eq(0),
92+
loop.eq(0),
9093
).Elif(source.stb & source.ack,
9194
If(fifo.dout.start,
92-
index.eq(0)
95+
index.eq(0),
96+
loop.eq(loop+1)
9397
).Else(
9498
index.eq(index+1)
9599
)

0 commit comments

Comments
 (0)
Please sign in to comment.