I am having some trouble building a custom RFNoC 4 FPGA design and so I am
looking to reduce the footprint. One easy thing to try is to reduce various
buffer sizes such as the ingress buffer size on the streaming endpoint or
the incoming RFNoC block fifo depths. But, I am wondering if there are
practical lower limits for how small these should be set to. Any comments
on the questions below (or other insights or rules-of-thumb) would be
greatly appreciated. Thanks.
Rob
- *Stream endpoint ingress buffer size*: "buff_size" parameter for
endpoint in core yml
- Is there a practical lower limit? For example, should it be at
least MTU size? Does anything bad happen if I set it as low as 256?
- Are large sizes needed only for SEPs that will accept steaming from
host? For example if a DDC was connected to its own SEP would
there be any
need for a large buff_size on that SEP given that the incoming data would
likely be coming from another FPGA block (i.e., the Radio)?
- Are large sizes needed only for SEPs that require real-time flow
(e.g. paths that terminate at a Radio)? For example, even though a Replay
block accepts data from the host, it may not need real-time flow
if you are
just pre-storing samples that will later be played out in real-time. For
this case, is there a practical lower limit for how small we should set
buff_size?
- Does the buffer size affect both directions? In other words, are 2
buffers created: one for the incoming packets from the crossbar
AND one for
the incoming packets from the static router?
- *RFNoC block payload_fifo_depth*:
- Is there a practical lower limit?
- What is the disadvantage to setting this to one? My thinking is
that I don't generally insert a buffer between two AXIS components within
an RFNoC block so why do I want buffering between two AXIS
components that
span between two RFNoC blocks?
- *RFNoC block <context|info>_fifo_depth*:
- Should this be sized based on the expected packet length and the
specified payload_fifo_depth? For example, if I expect incoming
packets of
1000 samples and set my payload_fifo_depth to 2000 so that I can buffer 2
packets, should I then set the context or info fifo_depth to be 2?
_______________________________________________
USRP-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]