element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum ZCU208 RFSoC Explorer Toolbox Dual AXI DMA Integration & FIL Workflow Limitations with HDL Coder
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 3 replies
  • Subscribers 547 subscribers
  • Views 220 views
  • Users 0 members are here
Related

ZCU208 RFSoC Explorer Toolbox Dual AXI DMA Integration & FIL Workflow Limitations with HDL Coder

100asut01
100asut01 13 days ago

Hello everyone,

We recently purchased four ZCU208 boards and are in the process of extending an HDL Coder–based design to support eight-channel IQ data capture. While the single-DMA reference design works fine, we’ve run into several roadblocks trying to scale this to a dual-DMA setup. I’d like to outline the issues here and see if anyone in the community has experience or workarounds.


Background

  • Board: ZCU208

  • Flow: MATLAB/Simulink HDL Coder (R2023b / R2024a)

  • Starting point: Avnet RFSoC Explorer Toolbox reference design (single DMA, validated on hardware)

  • Goal: Add a second AXI DMA to stream 8-channel complex data at higher throughput


Challenges Encountered

1. Reference Design Integration

  • The Avnet Explorer Toolbox single-DMA plugin integrates fine.

  • Attempting to extend to dual DMA requires modifying:

    • plugin_rd_dualdma.m

    • system.tcl (to instantiate/connect the second DMA)

  • We confirmed that the older ReferenceDesignPlugin class approach is unsupported in R2023a/b.

  • Factory-based plugin (hdlcoder.ReferenceDesign) works in R2024a, but integration remains unstable.

  • MathWorks support confirmed that dual-DMA examples are not provided in their documentation (e.g., Chapter 35), and that ZCU208 is not officially supported.


2. FIL Workflow Limitations

  • Using FIL snapshot mode:

    • Theoretical capture: ~31k IQ samples for 8 channels (given 1 MB buffer, 32 bytes/sample).

    • Practical result: Only ~2k samples for 4 channels before buffer limits hit.

  • This makes FIL unsuitable for high-throughput testing, meaning dual-DMA streaming is mandatory for our use case.


3. Toolchain & Device Tree

  • Even with a functional dual-DMA block design in Vivado, HDL Coder integration requires manual PetaLinux device tree updates.

  • Without this step, Linux drivers won’t recognize the second DMA.

  • At present, HDL Coder alone does not provide a clean, supported way to integrate this.


Questions for the Community

  1. Has anyone successfully integrated dual AXI DMA with ZCU208 using Avnet’s reference design as a base?

  2. If so, was the workflow MATLAB-centric, or did it require deeper Vivado/Device Tree customization?

  3. Are there any known workarounds or examples (Element14 or otherwise) for extending the Avnet Explorer Toolbox to multi-DMA?

  4. Given the FIL capture bottleneck, is there a better recommended flow for validating 8-channel high-rate IQ streaming on ZCU208?


Closing

We’d greatly value insights from others who may have solved similar integration challenges. Since we’ve already invested in multiple ZCU208 boards, we want to avoid reinventing the wheel if community knowledge exists.

Thanks in advance for any guidance, links, or even partial solutions that can help move this forward.

  • Sign in to reply
  • Cancel
  • mbrown
    0 mbrown 20 hours ago

    Hello.Good to see you're getting some use out of the ZCU208 HDLC Support Package. The functionality your asking for is not limited by our support package, rather it's directly related to what HDL Coder is able to do in the version of MATLAB you're using. Our examples are ported directly from the examples included in MathWorks HDL Coder support for the ZCU216. You may want to try opening a case with MathWorks with your request above to understand what they currently support.

    Thanks, /Matt

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 100asut01
    0 100asut01 19 hours ago in reply to mbrown

    Matt — thanks for the follow-up.

    To put this to rest:

    • My requirement is dual-AXI DMA for 8-channel IQ snapshot on ZCU208 using MATLAB R2023a + Vivado 2020.2 + PetaLinux 2022.2.

    • MathWorks has confirmed ZCU208 is not supported in R2023a for the HDL Coder/Verifier flow I’m using; the first mention of ZCU208 support is in much newer releases and doesn’t address this dual-DMA use case.

    • Avnet RFSoC Explorer Toolbox is not supported by MathWorks, and your ZCU208 content (ported from ZCU216) doesn’t provide a dual-DMA reference design or a documented path to get there under R2023a.

    Given the above, this has become a finger-pointing exercise between toolchains rather than a solution path. We’re closing out ZCU208 under HDL Coder and moving forward with alternatives (ZCU111 under native MathWorks support and industry-standard flows for ZCU208).

    Constructive suggestion: please update the Toolbox documentation to clearly state (1) the exact MATLAB/Vivado/PetaLinux combinations validated for ZCU208, (2) that dual-DMA is not provided, and (3) the lack of MathWorks support for this Toolbox—so others don’t spend weeks rediscovering these limits.

    No further action needed on this thread from my side. Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • mbrown
    0 mbrown 17 hours ago in reply to 100asut01

    Hi there. Sorry for your frustration on this. I was hoping to point you on a vector of help instead of blame. Thanks for your suggestion on improving the docs. Best of luck with your project!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube