[USRP-users] Routing 10Gbe SFP+ via a switch to 25Gbe host

2023-07-04 Thread Leon Wabeke
Hi All

Given the amount of small form factor hosts that now support 2.5Gbe I was 
wondering if anyone has tried/had success to connect an X310’s 10Gbe SFP+ via a 
switch to convert it to 2.5Gbe. It has been mentioned on this mailing list that 
the network stack is very minimal on the X310, but I assume a switch should be 
able to handle translation of the speed and the X310 should actually not really 
be aware of this node sitting inbetween.

Related, I am looking for small form factor hosts that can work with an X310. 
The biggest issue seems to be SFP+ support. The Supermicro Sys-E300 series 
looks promising, but I am struggling to find pricing locally in South Africa. 
Anyone use one of them with an X310 or have other similar suggestions?

Your thoughts?
Leon Wabeke




___
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com


[USRP-users] RFNoC Image Builder: two problems with Vitis HLS

2023-07-04 Thread Bachmaier, Luca
Hello everyone,

I'm currently stuck with creating a custom RFNoC bitfile with 
rfnoc_image_builder. I'm building the image for a USRP N310 and the software 
I'm using is the following:
 - Debian 12
 - Python 3.11.2
 - UHD 4.3.0.0
 - Vivado 2021.1 (installed with the additional patch)

The command I use to build the image is (I created the file 
n310_rfnoc_fosphor.yml myself):
 rfnoc_image_builder -F ~/uhd/fpga -y ~/core_yml/n310_rfnoc_fosphor.yml -t 
N310_XG


After an unsuccessful build, the image builder gets stuck with HLS:
 
 BUILDER: Building HLS IP addsub_hls
 
 BUILDER: Staging HLS IP in build directory...
 Waiting for concurrent IP build to finish... (1800s [Ctrl-C to proceed])

I was wondering if there was a way to skip the concurrent IP build, using 
Ctrl-C only causes the entire rfnoc_image_builder to exit unsuccessfully with:
 make: *** [Makefile:90: N3X0_IP] Interrupt


Waiting for the timeout after 1800 seconds throws the following error that I do 
not understand at all:
 source /tools/Xilinx/Vitis_HLS/2021.1/scripts/vitis_hls/hls.tcl -notrace
 can't read "zny": no such variable
  while executing
 "0Nyy-&ur-r$$!$-9-)n$ v t-n q- !$zny-%vz'yn&v! -v s!$zn&v! -zr%%ntr%-n$r-v 
-&uv%-svyr-"
  (file 
"/tools/Xilinx/Vitis_HLS/2021.1/common/scripts/error_message.tcl" line 2)
   invoked from within


Additional info: before that, I had to upgrade two IP cores provided by UHD in 
Vivado manually because rfnoc_image_builder threw the error:
 CRITICAL WARNING: [filemgmt 20-1366] Unable to reset target(s) for the 
following file is locked:
 
/home/fobp/sdr/uhd/fpga/usrp3/top/n3xx/build-ip/xc7z100ffg900-2/hb47_1to2/hb47_1to2.xci


I would be happy to hear any help or pointers to how I could solve this problem.


Thank you and regards
Luca Bachmaier

___
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com


[USRP-users] Re: Problems streaming with X310 using Rust

2023-07-04 Thread Marcus Müller

Hi Mark,


first time I see samcrow's uhd-rust! Interesting, and it does quite a few 
things.


Now, I'll guess that the uhd-rust streamer objects are working subtly differently than the 
underlying C++ objects, and you notice that here. It does seem to make a few assumption on 
internals of UHD, which I can't from the top of my head confirm. Generally, it uses the 
UHD C API, as far as I can glimpse, and that of course means the whole chain of ownership is



uhd_rust -> UHD C API offering opaque handles -> UHD C API function taking these handles 
-> calling C++ methods through shared pointers internally -> UHD (which is C++, not C)



I do see the chance for unpleasant surprises there, so that's where I'd start 
looking.


Best,

Marcus


On 29.06.23 15:40, Mark Koenig wrote:

Hello,

I am attempting to use Rust to task a continuous stream with the B200mini, N210 and 
X310.  I have it working quite well for the B200mini and N210, but having trouble with 
the X310.


With the X310 I am unable to have the stream be continuous and task more than 1 channel 
for the streamer.  I am using the Github https://github.com/samcrow/uhd-rust for the UHD 
bindings and have verified all of the required C++ libraries have been imported correctly.


Does anyone have any examples, experience or suggestions on how to get the X310 working 
correctly?


Thank you very much

Mark


___
USRP-users mailing list --usrp-users@lists.ettus.com
To unsubscribe send an email tousrp-users-le...@lists.ettus.com___
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com


[USRP-users] Re: RFNoC Image Builder: two problems with Vitis HLS

2023-07-04 Thread Wade Fife
Hi Luca,

Can you try going into the uhd/fpga/usrp3/top/n3xx/ and running `make
cleanall` and running the build again? You should not have had to manually
upgrade IP unless there was some kind of mismatch somewhere. Perhaps you
tried building first without the patch but didn't clean out the old IP that
was generated? A version mismatch might explain the HLS error you're
getting. If the HLS IP continues to give you problems, you could try
commenting out this line.

https://github.com/EttusResearch/uhddev/blob/UHD-4.3/fpga/usrp3/lib/hls/Makefile.inc#L7

Wade

On Tue, Jul 4, 2023 at 5:50 AM Bachmaier, Luca <
luca.bachma...@iis.fraunhofer.de> wrote:

> Hello everyone,
>
>
>
> I'm currently stuck with creating a custom RFNoC bitfile with
> rfnoc_image_builder. I'm building the image for a USRP N310 and the
> software I'm using is the following:
>
>  - Debian 12
>
>  - Python 3.11.2
>
>  - UHD 4.3.0.0
>
>  - Vivado 2021.1 (installed with the additional patch)
>
>
>
> The command I use to build the image is (I created the file
> n310_rfnoc_fosphor.yml myself):
>
>  rfnoc_image_builder -F ~/uhd/fpga -y
> ~/core_yml/n310_rfnoc_fosphor.yml -t N310_XG
>
>
>
>
>
> After an unsuccessful build, the image builder gets stuck with HLS:
>
>  
>
>  BUILDER: Building HLS IP addsub_hls
>
>  
>
>  BUILDER: Staging HLS IP in build directory...
>
>  Waiting for concurrent IP build to finish... (1800s [Ctrl-C to
> proceed])
>
>
>
> I was wondering if there was a way to skip the concurrent IP build, using
> Ctrl-C only causes the entire rfnoc_image_builder to exit unsuccessfully
> with:
>
>  make: *** [Makefile:90: N3X0_IP] Interrupt
>
>
>
>
>
> Waiting for the timeout after 1800 seconds throws the following error that
> I do not understand at all:
>
>  source /tools/Xilinx/Vitis_HLS/2021.1/scripts/vitis_hls/hls.tcl
> -notrace
>
>  can't read "zny": no such variable
>
>   while executing
>
>  "0Nyy-&ur-r$$!$-9-)n$ v t-n q- !$zny-%vz'yn&v! -v s!$zn&v!
> -zr%%ntr%-n$r-v -&uv%-svyr-"
>
>   (file
> "/tools/Xilinx/Vitis_HLS/2021.1/common/scripts/error_message.tcl" line 2)
>
>invoked from within
>
>
>
>
>
> Additional info: before that, I had to upgrade two IP cores provided by
> UHD in Vivado manually because rfnoc_image_builder threw the error:
>
>  CRITICAL WARNING: [filemgmt 20-1366] Unable to reset target(s) for
> the following file is locked:
>
>
> /home/fobp/sdr/uhd/fpga/usrp3/top/n3xx/build-ip/xc7z100ffg900-2/hb47_1to2/hb47_1to2.xci
>
>
>
>
>
> I would be happy to hear any help or pointers to how I could solve this
> problem.
>
>
>
>
>
> Thank you and regards
>
> Luca Bachmaier
>
>
> ___
> USRP-users mailing list -- usrp-users@lists.ettus.com
> To unsubscribe send an email to usrp-users-le...@lists.ettus.com
>
___
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com


[USRP-users] Custom RFNoC block: data throughput bottleneck

2023-07-04 Thread Philipp Niedermayer

Dear all,

we are working on a custom OOT RFNoC Block implementation [1] on a USRP 
X310 and are facing data throughput bottlenecks.


The DSP is controlled via GNU Radio / UHD like this:
Signal Source -> RFNoC TX Streamer -> custom OOT block -> RFNoC RX 
Streamer -> QT GUI Time Sink


When running the flow graph we get a lot of "" printed to the 
console, i.e. package drop due to buffer overflow. Adding a GNU Radio 
"Probe rate" block shows that the sampling rate before the TX Streamer 
is 200kSps as desired. However, behind the RX Streamer, the sampling 
rate is only 64 Sps (!).


When bypassing our custom VHDL implementation in the OOT Block (i.e. 
assigning all s_out_axis_t* to respective m_in_axis_t*) the flow graph 
works as expected, so the RFNoC part alone works just fine.


The VHDL implementation requires some 100 clock cycles for a sample to 
propagate. But since we use the 200MHz clock, achieving sampling rates 
of 200kSps should not be an issue. The custom OOT block also has an 
option for interpolation (i.e. increasing sampling rate), but the 
behaviour is the same even for interpolation=1.


Do you have some hints on how to improve performance? We have already 
tried to

- Increase the payload FIFO depth from 32 to 128
- Try both, the context-payload and the data AXI-Stream interface
- Assert tlast on every sample to reduce packages size

Some things we have considered but are not sure about:
- MTU size
- Package size

Thanks for taking the time to share your ideas
Philipp, Jernej, Blaž


[1] 
https://git.gsi.de/p.niedermayer/exciter/-/blob/f02ee94ad3358fff313fc14a1a8d8494ad68d8ab/rfnoc-beam_exciter/fpga/rfnoc_block_feedback_controller/rfnoc_block_feedback_controller.v#L419




smime.p7s
Description: S/MIME Cryptographic Signature
___
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com