[USRP-users] Passing arguments to an RFNOC block

Paul Boven p.boven at xs4all.nl
Wed Feb 27 11:13:11 EST 2019

Hi everyone,

As part of the VLBI[1] backend that I'm making in RFNOC, my first step 
is to make a rational resampler. It takes the 100MS/s signal from a 
TwinRX, and reduces it to 80MS/s. This can be done with a 5:4 resampler. 
In order to make this work, I'm using the axi_rate_change block.

Although the block works in simulation, I keep running into problems 
with the GRC integration, in particular SWIG throwing run-time errors.

The problem seems to be in the way that the arguments (N, M, config) are 
passed around, but studying other blocks like the DDC block hasn't 
provided the clues for me to get past this hurdle.

The resampler itself does work, which I tested by having it emit zeroes 
instead of the 'deleted' samples, and using a 'keen 1 in N' in GRC itself.

At the moment, the block exits in VLBI_swig.py in set_arg:
return _VLBI_swig_resamplerd5x4_sptr_set_arg(self, *args)
RuntimeError: SyntaxError: Parsing Stopped at: $N, 5)

If you're familiar with RFNOC, can you please have a look at:


It contains the source, and also a compiled bitfile for the X310 for 
your convenience (but use at your own risk, of course).

Regards, Paul Boven.

[1] Very Long Baseline Interferometry

More information about the USRP-users mailing list