AnsweredAssumed Answered

HDL WA BSP: Two AD-FMCOMMS3's on ZC702-ADV7511

Question asked by JJ@opt on Aug 21, 2017
Latest reply on Mar 7, 2018 by JJ@opt

Good day all,

 

We have two AD-FMCOMMS3 FMC’s to be used on a ZC702-ADV7511 (alternatively a ZCU102). We have access to the latest software: MathWorks tools R2017a and Vivado 2017.2. The proposed MBD workflow for SDR applications shown in this 4-part article (i.e. using an IIO system object in Simulink to first stream data so as to prototype an algorithm, and thereafter using the Analog Devices BSP for MathWorks HDL Workflow Advisor to do HW/SW partitioning etc.) seems very promising to us as there is no out-of-the-box solution in the MathWorks toolchain. I do have a few concerns that might cause some problems down the line.

 

Here’s a few questions that I have:

  1. I’ve noticed that the ZC702-FMCOMMS2/3 reference design is missing from the 2017a branch of the hdl_wa_bsp repository. Do we usually have to build our own reference design from the libraries provided or is there potential that this reference design will be added to the repository?
  2. I see Vivado 2016.2 is used in the hdl_wa_bsp 2017a branch, will there be any problems upgrading this to Vivado 2017.2? Otherwise Vivado 2016.2 will do fine.
  3. As part of a validation step prior to production it is useful to test the algorithm by streaming live data into your Simulink model – I’m specifically trying to run the qpsktxrx model in your Git repository (2017a branch). When running the default model (i.e. only changing the target’s IP) it connects to the target and streams data for a few second until Simulink/MATLAB freezes (similar to this thread, although the solution didn’t work for me). I cannot interrupt it once it is in this state – I stop the process using the Task Manager.
    1. Here’s the diagnostic viewer output during run-time (containing libiio versions):
      libiio_if: Connected to IP 192.168.1.76 libiio_if: Remote libiio version: 0.10, (git-dfeae09) libiio_if: Local libiio version: 0.10, (git-11b871b) libiio_if: Found 5 devices in the system libiio_if: cf-ad9361-dds-core-lpc was found in the system libiio_if: Found 4 output channels for the device cf-ad9361-dds-core-lpc libiio_if: cf-ad9361-dds-core-lpc output data channels successfully initialized libiio_if: Connected to IP 192.168.1.76 libiio_if: Remote libiio version: 0.10, (git-dfeae09) libiio_if: Local libiio version: 0.10, (git-11b871b) libiio_if: Found 5 devices in the system libiio_if: cf-ad9361-lpc was found in the system libiio_if: Found 4 input channels for the device cf-ad9361-lpc libiio_if: cf-ad9361-lpc input data channels successfully initialized libiio_if: Connected to IP 192.168.1.76 libiio_if: Remote libiio version: 0.10, (git-dfeae09) libiio_if: Local libiio version: 0.10, (git-11b871b) libiio_if: Found 5 devices in the system libiio_if: ad9361-phy was found in the system
    2. I noticed that the iio_sys_obj used in the model points to: C:\ProgramData\MATLAB\SupportPackages\R2017a\3P.instrset\analogdevices9361filterwizard.instrset\ad936x-filter-wizard-2016_R1\libiio. Although there’s a newer version available. Is that fine?
  4. Will there be any issues applying the same workflow (both streaming and hw/sw co-design) for the case where we want to interact with two FMC’s simultaneously?
  5. In general, are there any other potential issues that we can run into for the specific hardware/software under consideration?

 

Thank you in advance,

Jason

Outcomes