[USRP-users] Here is my RFNoC procedure when integrating in a new HLS noc block. Are my two usrp3/lib/hls Makefiles.inc correct?

Jonathon Pendlum jonathon.pendlum at ettus.com
Fri Oct 16 16:51:03 EDT 2015


Hi Craig,

Yep, you have all the correct steps.



Jonathon

On Fri, Oct 16, 2015 at 1:46 PM, Swanson, Craig <
Craig.Swanson at gtri.gatech.edu> wrote:

> Jonathon,
>
> I have written and created a new noc block called agc2 which will
> hopefully soon replace the agc2.h file using in the gnuradio flowgraph.
>
> I wrote the code in C, run it through the HLS tool taylored towards the
> axi standard and there are no errors.  Now I want to add it to the makefile
> structure that is already there for the addsub block, even though I am not
> planning on using the addsub in my flowgraph.
>
> To be clear, I do the following procedure:
>
>    1. In the usrp3/lib/hls directory, create a new
>    directory called agc2_hls
>    2. In this directory, add the agc2_hls.cpp file that was tested and
>    synthesized in the HLS tool.  Also add an agc2_hls.tcl file which contains
>    the "create_clock -period 5 -name default" constraint.
>    3.  In the /usrp3/lib/hls/agc2_hls directory, modify the Makefile.inc
>    file to reflect the following addsub and agc2 :#
>    # Copyright 2015 Ettus Research
>    #
>
>    include $(TOOLS_DIR)/make/viv_hls_ip_builder.mak
>
>    # Add C/C++/tcl files
>    HLS_IP_AGC2_HLS_SRCS = $(addprefix $(HLS_IP_BUILD_DIR)/agc2_hls/, \
>    agc2_hls.cpp \
>    agc2_hls.tcl \
>    )
>
>    # Add output files
>    HLS_IP_AGC2_HLS_OUTS = $(addprefix
>    $(HLS_IP_BUILD_DIR)/agc2_hls/solution/impl/verilog/, \
>    agc2_hls.v \
>    )
>
>    $(HLS_IP_AGC2_HLS_SRCS) $(HLS_IP_AGC2_HLS_OUTS) :
>    $(HLS_IP_DIR)/AGC2_hls/agc2_hls.cpp $(HLS_IP_DIR)/agc2_hls/agc2_hls.tcl
>        $(call
>    BUILD_VIVADO_HLS_IP,agc2_hls,$(PART_ID),$(HLS_IP_AGC2_HLS_SRCS),$(HLS_IP_DIR),$(HLS_IP_BUILD_DIR))
>    4. In the /usrp3/lib/hls directory, modify the Makefile.inc file
>    to contain both the addsub and the agc2:#
>    # Copyright 2015 Ettus Research
>    #
>
>    #include $(HLS_IP_DIR)/addsub_hls/Makefile.inc
>    include $(HLS_IP_DIR)/agc2_hls/Makefile.inc
>
>    HLS_IP_OUTPUT_SRCS = \
>    $(HLS_IP_ADDSUB_HLS_OUTS) \
>    $(HLS_IP_AGC2_HLS_OUTS)
>
>    HLS_IP_SRCS = \
>    $(HLS_IP_ADDSUB_HLS_SRCS) \
>    $(HLS_IP_AGC2_HLS_SRCS)
>
>    HLS_IP_SYNTH_OUTPUTS = \
>    $(HLS_IP_ADDSUB_HLS_OUTS) \
>    $(HLS_IP_AGC2_HLS_OUTS)
>
>    hls_ip: $(HLS_IP_SYNTH_OUTPUTS)
>
>    .PHONY: hls_ip
>    5. Create my own noc_block_agc2.v
>    6. Modify rfnoc_ce_auto_inst_e310.v to instantiate the agc2 block
>    7. From /usrp3/top/e300 run "make E310_RFNOC_HLS"
>    8. If I want to simulate in Modelsim, add the noc_block_agc2.v block
>    to the /usrp3/lib/rfnoc/Makefile.srcs and create an agc2 testbench.
>
> Is there anything else I am missing?
>
>
> Craig
>
>
> *Craig F. Swanson*
>
> *Research Engineer II *
> *Information and Communications Laboratory*
> *Communications, Systems, and Spectrum Division*
> *Georgia Tech Research Institute*
>
>
> *Room 560 250 14th St NW *
> *Atlanta, GA 30318*
> *Cell: 770.298.9156 <770.298.9156>*
> http://www.gtri.gatech.edu
> <https://mail.gtri.gatech.edu/owa/redir.aspx?C=c20925f2f0af4dd29329ddf0701ecfff&URL=http%3a%2f%2fwww.gtri.gatech.edu%2f>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/attachments/20151016/3fd56892/attachment-0002.html>


More information about the USRP-users mailing list