Hi Lorenzo, I am not much experienced with RFNoC workflow, but I have added custom logic into RFNoC. While doing that, I analyzed the gain example. In the gain example, there are 3 different options; HDL_IP, IN_TREE_IP and OUT_OF_TREE_IP. For the OUT_OF_TREE_IP option, it uses Xilinx Complex multiplier IP and they only used its ."xci" file. I have also added DDS Xilinx IP by using its ".xci" file. So, if you want to add Xilinx IP, all you need is the ".xci" file of that IP.
Xilinx IPs have an AXI Interface as a standard, but it does not mean you cannot use it in RFNoC. RFNoC has ctrl_ports which you can create registers and control from the host and has payload ports which transfers ADC and DAC datas. Therefore; you have all you need to add any design in Verilog. You can add any IP in verilog by instantiation (i.e., Complex Multiplier IP in gain example) and control that IP with registers and your own algorithms. For the block design approach, I do not know how to add it into RFNoC. As I have seen it, the RFNoC workflow does not work that way. Therefore; that might be easier to use verilog for algorithms and ".xci" file for IPs. Yasir Minutolo, Lorenzo <minut...@caltech.edu>, 17 Ağu 2022 Çar, 02:34 tarihinde şunu yazdı: > Hi All, > I'm trying to make a custom OOT block for rfnoc4. > I already went through the synthesis of the stock rfnoc firmware, as well > as the gain example: all works well on my x300. > I added some custom logic in the gain example's verilog and I am quite > satisfied with the results. > > The next step for me is to integrate a more complex design that includes > CORDICs, FFTs and other IPs from Xilinx. > To do that, I plan to develop a block design in Vivado and pass it to the > rfnoc infrastructure. > > I'd like to know if you attempted this workflow and if there is a guide of > some sort for getting started. > > Right now, I am quite lost. > > 1. The IPs that Vivado generate have an AXI interface, I suspect I > cannot directly reproduce the steps to implement the gain block. > 2. Once I have my top module, how do I integrate it in the rfnoc > workflow? > > A basic example of the gain block (or even an empty pass-through block) > implemented via the Vivado block design technique would be really > appreciated. > > I work for a non-profit research institution (Caltech); all my results > will be available under some open-source license. My plan is also to > release a guide that documents how I developed the firmware. > > Thanks, > Lorenzo > > _______________________________________________ > 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