From 3ca9c12c502cc8da291d1c4d78ff28edae03fd4b Mon Sep 17 00:00:00 2001 From: morgan Date: Tue, 14 Jan 2025 11:37:58 +0800 Subject: [PATCH] frameline GW: remove router --- src/gateware/cxp_frame_pipeline.py | 35 ------------------------------ 1 file changed, 35 deletions(-) diff --git a/src/gateware/cxp_frame_pipeline.py b/src/gateware/cxp_frame_pipeline.py index f08469f..53c6392 100644 --- a/src/gateware/cxp_frame_pipeline.py +++ b/src/gateware/cxp_frame_pipeline.py @@ -607,38 +607,3 @@ class ROI_Pipeline(Module): # DEBUG self.source = self.pipeline[-1].source self.comb += self.source.ack.eq(1) # simulated a proper consumer, idk why but without this it will destory timing - -class Frame_Packet_Router(Module): - # packet size expressed in bits - def __init__(self, downconns, framebuffer, packet_size, pmod_pads): - n_downconn = len(downconns) - n_buffer = len(framebuffer) - assert n_downconn > 0 and n_buffer > 0 - - self.n_ext_active = Signal(max=n_downconn) - self.routing_table = [Signal(char_width) for _ in range(1, n_buffer)] - - # # # - - # +---------+ +-------------+ - # rx pipline ----->| | | |------> crc checker ------> raw stream data - # | arbiter |---->| broadcaster | - # rx pipline ----->| | | |------> crc checker ------> raw stream data - # +---------+ +-------------+ - # - - self.submodules.arbiter = arbiter = Stream_Arbiter(n_downconn) - self.sync += arbiter.n_ext_active.eq(self.n_ext_active) - - self.submodules.broadcaster = broadcaster = Stream_Broadcaster(n_buffer) - for i, s in enumerate(self.routing_table): - self.sync += broadcaster.routing_ids[i].eq(s) - - for i, d in enumerate(downconns): - # Assume downconns pipeline already marks the eop - self.comb += d.source.connect(arbiter.sinks[i]) - - self.comb += arbiter.source.connect(broadcaster.sink) - - for i, fb in enumerate(framebuffer): - self.comb += broadcaster.sources[i].connect(fb.sink),