misoclib/video/dvisampler: add fifo_depth parameter
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Mon, 13 Jul 2015 09:03:33 +0000 (11:03 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Mon, 13 Jul 2015 09:03:33 +0000 (11:03 +0200)
misoclib/video/dvisampler/__init__.py
misoclib/video/dvisampler/analysis.py

index c376fb0194364419059c8abd0c0b257ec020fe9b..1f56af0f252585474922973be603b23c92982740 100644 (file)
@@ -13,7 +13,7 @@ from misoclib.video.dvisampler.dma import DMA
 
 
 class DVISampler(Module, AutoCSR):
-    def __init__(self, pads, lasmim, n_dma_slots=2):
+    def __init__(self, pads, lasmim, n_dma_slots=2, fifo_depth=512):
         self.submodules.edid = EDID(pads)
         self.submodules.clocking = Clocking(pads)
 
@@ -63,7 +63,7 @@ class DVISampler(Module, AutoCSR):
             self.resdetection.vsync.eq(self.syncpol.vsync)
         ]
 
-        self.submodules.frame = FrameExtraction(24*lasmim.dw//32)
+        self.submodules.frame = FrameExtraction(24*lasmim.dw//32, fifo_depth)
         self.comb += [
             self.frame.valid_i.eq(self.syncpol.valid_o),
             self.frame.de.eq(self.syncpol.de),
index e3bfc39df9039253bc67bb93e93f19b2d0699bbc..ccc7667d0b92f0ebf25ebf66354fec674662a37a 100644 (file)
@@ -109,7 +109,7 @@ class ResolutionDetection(Module, AutoCSR):
 
 
 class FrameExtraction(Module, AutoCSR):
-    def __init__(self, word_width):
+    def __init__(self, word_width, fifo_depth):
         # in pix clock domain
         self.valid_i = Signal()
         self.vsync = Signal()
@@ -155,7 +155,7 @@ class FrameExtraction(Module, AutoCSR):
         ]
 
         # FIFO
-        fifo = RenameClockDomains(AsyncFIFO(word_layout, 512),
+        fifo = RenameClockDomains(AsyncFIFO(word_layout, fifo_depth),
             {"write": "pix", "read": "sys"})
         self.submodules += fifo
         self.comb += [