Retarget axi_adrv9001 hdl ip

I am having problems retargeting the axi_adrv9001 ip.

I was able to successfully create the axi_adrv9001 ip for the zcu102 board.

I cannot seem to retarget this for the zcu106 board.

If I open this in the ip packager and change to the zcu106 board and try to repackage IP there are critical warnings.
Then when I try to add this to my block design, I cannot use it as the IP is locked and I cannot upgrade.

I have tried to add the ip without using the ip packager to change it and the IP is also locked.

So how do I retarget this IP to the zcu106 board or in the end, some custom board?

Thanks for the help

  • +1
    •  Analog Employees 
    on Mar 16, 2021 10:06 AM

    Hi Dan,

    We do not support customers' applications if the source files we provide have been altered against our recommendations, however we are aware that the current instructions in the User Guide that detail developing a custom application from our SDK is lacking in detail and clarity. We have updated SYSTEM SOFTWARE ARCHITECTURE and SOFTWARE INTEGRATION chapters currently being reviewed which are aimed at providing much more of a usable guide to developing your own application. Keep an eye out in the next releases of the User Guide as this chapter is integrated.

    In the meantime, what I can tell you about developing a custom platform for the ADRV9001 product range condenses to the following.

    1. To port our APIs to any platform that we don't support internally you must develop a custom HAL for that platform. The customer's HAL can be found under: {install directory}\adrv9001-sdk\pkg\production\c_src\platforms\customer\... Here the customer APIs for each device the customer wishes to control can be found. Bear in mind not all functions must be filled, e.g. if you have no intention of using the adm1293 device then it is safe to leave these functions empty.
    2. Instructing our APIs to call the custom HAL is as simple as editing the adi_platform.c file located under:  {install directory}\adrv9001-sdk\pkg\production\c_src\platforms\... By calling #define CUSTOMER_PLATFORM at the beginning of the file the platform code knows to use the customer-written code. Note: If any libraries are invoked by the customer code that we do not invoke by default, they will not be included in the makefile, and as such it must be linked manually. Either edit the makefile or call "make" with extra "-l" parameters to link extra libraries.
    3. Once the customer HAL has been filled and verified to be functional, the customer can deploy Auto-Generated code from TES to their custom platform using the "" script found under: {install directory}\adrv9001-sdk\pkg\production\... It is highly recommended that you read the file found in this directory. For a guide on producing C99 code from TES please read the guide we have at the following link: 

    From there you're more or less on your own. We can, and happily will, provide assistance on the EngineerZone forum for any questions regarding the use of our tools or SDK, however we cannot debug your bespoke code for your own platform. 

    I do hope this helps get your development efforts off the ground! Let me know here if there's more I can help you with.

    Best Regards,

  • Sorry if I was not clear.
    I am not trying to port the software to control the receiver, I am trying to add the adrv9001 ip to a Xilinx block design

    So this is an HDL issue not a software issue.

    Thanks for the quick response

  • 0
    •  Analog Employees 
    on Mar 18, 2021 12:10 PM in reply to OWatkins

    Hi Dan,

    Apologies for the confusion!

    Our next release of the SDK is due to be released very soon, hopefully with the week. As part of this SDK we allow support for the ZCU102, and we make all the HDL and SW needed for this support visible to customers. This should help you with retargeting the axi_adrv9002 ip to the ZCU106.

    Best Regards,