[USRP-users] [Discuss-gnuradio] Building custom RFNoC block

Martin Braun martin.braun at ettus.com
Thu Mar 31 17:35:11 EDT 2016


William,

this looks like an error in your module.
Looks like the FIR discussion was taken to another thread (for archive
reference).

Cheers,
Martin

On 03/29/2016 05:53 AM, William Healey wrote:
> replaceing axi_fir with axi_test resulted in the following error
> 
> ERROR: [Synth 8-439] module 'axi_test' not found
> [/home/william/uhd/fpga-src/usrp3/lib/rfnoc/noc_block_test.v:172]
> 
> 
> On Tue, Mar 29, 2016 at 8:47 AM, William Healey
> <williamfredhealey at gmail.com <mailto:williamfredhealey at gmail.com>> wrote:
> 
>     ok, thanks
> 
>     I looked at the test block code (verilog) and the only reference to
>     an FIR I found was the following block:
> 
>       axi_fir inst_axi_fir (
>         .aresetn(~ce_rst), .aclk(ce_clk),
>         .s_axis_data_tdata(m_axis_data_tdata),
>         .s_axis_data_tlast(m_axis_data_tlast),
>         .s_axis_data_tvalid(m_axis_data_tvalid),
>         .s_axis_data_tready(m_axis_data_tready),
>         .m_axis_data_tdata(s_axis_fir_tdata),
>         .m_axis_data_tlast(s_axis_fir_tlast),
>         .m_axis_data_tvalid(s_axis_fir_tvalid),
>         .m_axis_data_tready(s_axis_fir_tready),
>         .s_axis_config_tdata(m_axis_fir_config_tdata),
>         .s_axis_config_tvalid(m_axis_fir_config_tvalid),
>         .s_axis_config_tready(m_axis_fir_config_tready),
>         .s_axis_reload_tdata(m_axis_fir_reload_tdata),
>         .s_axis_reload_tvalid(m_axis_fir_reload_tvalid),
>         .s_axis_reload_tready(m_axis_fir_reload_tready),
>         .s_axis_reload_tlast(m_axis_fir_reload_tlast));
> 
>     I originally left this in because I wasn't sure what it could be
>     replaced with. I will try to run it with axi_fir replaced with
>     axi_test. Also, to increase the number of taps for my test block, do
>     you know if it is as simple as increasing the value of localparam
>     NUM_TAPS ?
> 
>     Thank you,
> 
>     -William Healey
> 
>     On Thu, Mar 24, 2016 at 8:57 PM, Martin Braun
>     <martin.braun at ettus.com <mailto:martin.braun at ettus.com>> wrote:
> 
>         On 03/24/2016 06:34 AM, William Healey wrote:
>         > -- ========== Full list of RFNoC blocks: ============
>         > -- * 0/Radio_0
>         > -- * 0/Radio_1
>         > -- * 0/AddSub_0
>         > -- * 0/FIR_0
>         > -- * 0/FFT_0
>         > -- * 0/Window_0
>         > -- * 0/NullSrcSink_0
>         > -- * 0/LogPwr_0
>         > -- * 0/MovingAverage_0
>         > -- * 0/VectorIIR_0
>         > -- * 0/KeepOneInN_0
>         > -- * 0/Test_0
>         > -- * 0/FIFO_0
> 
>         This is good -- UHD is picking up your new block and all. The
>         GNU Radio
>         part should be easy in comparison.
> 
>         > To try to get the block to appear in GRC I  made copies of the cpp
>         > (uhd/host/lib/rfnoc/test_ctrl_impl.cpp), hpp
>         > (uhd/host/include/uhd/rfnoc/test_ctrl.hpp) and xml
>         > (uhd/host/include/uhd/rfnoc/blocks/test.xml) files used by the default
>         > FIR filter and again slightly customized them for my test block. After
>         > editing the files I also had to make changes to
>         > uhd/host/include/uhd/rfnoc/CMakeLists.txt and
>         > uhd/host/lib/rfnoc/CMakeLists.txt so that the new cpp and hpp files
>         > would be included when I rebuilt UHD. After rebuilding UHD the blocks
>         > still did not appear in GRC though.
> 
>         Yes, they're unrelated. Note you don't need the .cpp and .hpp
>         files for
>         simple blocks.
> 
>         > To get the test block to appear in GRC I had to add files to my gr-ettus
>         > directory (gr-ettus/include/ettus/rfnoc_test_cci.h
>         > gr-ettus/lib/rfnoc_test_cci_impl.cc
>         > gr-ettus/lib/rfnoc_test_cci_impl.h   gr-ettus/grc/uhd_rfnoc_test.xml)
>         > and update some makefiles (gr-ettus/include/ettus/CMakeLists.txt
>         > gr-ettus/lib/CMakeLists.txt   gedit
>         > gr-ettus/build/grc/cmake_install.cmake). With the updated files, I
>         > rebuilt gr-ettus and the test block now appeared in GNU Radio Companion.
> 
>         This is also good; looks on you're on the right path.
>         > Now, even though I could add the test block to a flow graph when I tried
>         > to run the design I received an error about there being no module
>         > ettus.test. To fix this problem I had to edit gr-ettus/swig/ettus_swig.i
>         > and add lines for the test block. After rebuilding gr-ettus again the
>         > error went away, but was replaced with a new one: RuntimeError: Block
>         > control is not of requested type. I believe this error is caused by a
>         > lack of certain xml files. Looking in the directory
> 
>         I don't think so; given your uhd_usrp_probe output. I suspect some
>         reference to the fir block in your test code.
> 
>         Your list of files is correct. I think you're nearly there.
>         Check for
>         any FIR references in your test block.
> 
>         Cheers,
>         Martin
> 
> 
>         _______________________________________________
>         Discuss-gnuradio mailing list
>         Discuss-gnuradio at gnu.org <mailto:Discuss-gnuradio at gnu.org>
>         https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 
> 





More information about the USRP-users mailing list