fix rle when used with subsampler
This commit is contained in:
parent
e495e2f537
commit
37e463da9a
|
@ -45,7 +45,7 @@ class LiteScopeRunLengthEncoderUnit(Module):
|
||||||
|
|
||||||
change = Signal()
|
change = Signal()
|
||||||
self.comb += change.eq(
|
self.comb += change.eq(
|
||||||
(sink.stb & buf.q.stb) &
|
sink.stb &
|
||||||
(sink.data != buf.q.data)
|
(sink.data != buf.q.data)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -60,6 +60,7 @@ class LiteScopeRunLengthEncoderUnit(Module):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
fsm.act("COUNT",
|
fsm.act("COUNT",
|
||||||
|
buf.q.ack.eq(1),
|
||||||
counter.ce.eq(sink.stb),
|
counter.ce.eq(sink.stb),
|
||||||
If(~self.enable,
|
If(~self.enable,
|
||||||
NextState("BYPASS")
|
NextState("BYPASS")
|
||||||
|
@ -67,7 +68,10 @@ class LiteScopeRunLengthEncoderUnit(Module):
|
||||||
source.stb.eq(1),
|
source.stb.eq(1),
|
||||||
source.data[:flen(counter.value)].eq(counter.value),
|
source.data[:flen(counter.value)].eq(counter.value),
|
||||||
source.data[-1].eq(1), # Set RLE bit
|
source.data[-1].eq(1), # Set RLE bit
|
||||||
NextState("BYPASS")
|
buf.q.ack.eq(source.ack),
|
||||||
|
If(source.ack,
|
||||||
|
NextState("BYPASS")
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue