- The only way to combine multiple SEPs into one is if you mux/demux in software as well as in a block after the SEP. The virtual channel feature was so supposed to address this, but as you know, we never implemented it. - I think if you removed the crossbar, UHD/RFNoC wouldn't balk at first, since it does a dynamic topology discovery, but I'm still not sure everything would work. We had originally thought we would support any number of crossbars (0, 1, 2, ...) but then eventually decided we'll use the routing matrix feature instead, and always assume a crossbar. - This means you cannot use the rfnoc_image_builder workflow to remove the crossbar. You would need to generate your files with rfnoc_image_builder -G, then manually remove the crossbar, then call make directly or do rfnoc_image_builder --reuse. - Like I said, not sure if this works at all. But it will definitely not work if you don't observe these things: - The primary connection to the device (from UHDs perspective) must have access to an SEP with a ctrl interface. We also have a known issue where the first SEP that UHD connects to needs to be the one with the ctrl interface. - I'm not sure about the route-not-found error. Like I said, you're doing something way out of spec.
--M On Wed, Jul 9, 2025 at 6:32 PM Brian Padalino <[email protected]> wrote: > I'm having a bit of a hard time understanding the minimal requirements for > the CHDR Crossbar and connectivity. > > I'm working with an X440, so I have 3 transport adapters (int0, sfp0, > sfp1), 2 blocks (radio0, radio1), 2 TX endpoints each with 4 ports (tx0, > tx1), and 8 RX endpoints each with 1 port (rx[0-7]). > > I have tx0 ctrlport enabled, and none of the other ctrlports are enabled. > I know I want rx[0-3] to only ever stream out of sfp0, and I want rx[4-7] > to only ever stream out of sfp1. I want tx0 and tx1 to both receive CHDR > packets from sfp0 and sfp1. I will always configure the device via int0. > > I also notice that rfnoc_core_kernel has a parameter for > CHDR_XBAR_PRESENT. The comment for the parameter states: "1 if the CHDR > crossbar is present. If 0 then transports are directly connected to SEPs". > > Connecting everything through the crossbar even with a sparse routing > matrix ends up with around 18kLUT utilization. > > Since I know I want this extremely fixed and rigid design, I've got some > questions: > > - How much of the CHDR crossbar can I remove? Can I get rid of it > altogether? Are there any examples of a design with no CHDR crossbar? > > - Can I combine the RX SEPs into a single port per SFP connection using > an AXI-Streaming mux of some type? Or is this accomplished in the same way > in the crossbar with a sparse routing matrix? > > - How would one connect the multiple SEPs directly to the TA without > going through the crossbar as the CHDR_XBAR_PRESENT parameter suggests is > possible? Is it possible to describe this in the yaml file or does it > require hand editing the generated rfnoc_image_core.sv file? > > - Since configuration is happening from int0, and tx0 is the only SEP > with a ctrlport on it, does this suggest I need int0 to only be connected > to tx0 in the connections and it doesn't need to go anywhere else? I will > note that I tried this and I received a message saying a route couldn't be > found for my remote streams. Is this maybe an oversight with remote > streaming and sparse connectivity in the crossbar? > > I appreciate any insights you might be able to give. > > Thanks, > Brian > _______________________________________________ > USRP-users mailing list -- [email protected] > To unsubscribe send an email to [email protected] >
_______________________________________________ USRP-users mailing list -- [email protected] To unsubscribe send an email to [email protected]
