diff --git a/src/gateware/cxp_frame_pipeline.py b/src/gateware/cxp_frame_pipeline.py index 35efeeb..819a44c 100644 --- a/src/gateware/cxp_frame_pipeline.py +++ b/src/gateware/cxp_frame_pipeline.py @@ -654,6 +654,7 @@ class ROI_Pipeline(Module): # NOTE: TapGeo other than 1X-1Y are not supported # TODO: match pixel and see whether the it matches the supported ones (via csr perhaps?) + self.submodules.buffer = buffer = Buffer(word_layout_dchar) # to improve timing from broadcaster self.submodules.crc_checker = crc_checker = CXPCRC32_Checker() self.submodules.header_decoder = header_decoder = Frame_Header_Decoder() self.submodules.deserializer = deserializer = Frame_Deserializer(res_width, pixel_size) @@ -664,7 +665,7 @@ class ROI_Pipeline(Module): deserializer.x_size.eq(header_decoder.metadata.x_size), ] - self.pipeline = [crc_checker, header_decoder, deserializer] + self.pipeline = [buffer, crc_checker, header_decoder, deserializer] for s, d in zip(self.pipeline, self.pipeline[1:]): self.comb += s.source.connect(d.sink) self.sink = self.pipeline[0].sink