element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 PL-based processors and PS-based processors communication
  • 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
  • Replies 6 replies
  • Subscribers 535 subscribers
  • Views 1327 views
  • Users 0 members are here
Related

PL-based processors and PS-based processors communication

manili
manili over 6 years ago

Hello everyone,

 

Would someone help me find the answer to the following questions:

I have a ZCU104 board (Zynq Ultrascale+) and I want to program the PL with multiple tiny processing cores. As far as I know, the 2GB DDR4 SDRAM is connecting to the PS part of the chip, so I cannot connect my tiny processing cores to the memory directly.

1. How can I share the memory among all processing cores inside both PS (4 x ARM Cortex-A53) and PL (for example MicroBlaze or RISC-V)?

2. If it is not possible then how can these processing units talk to each other?

Thanks a lot.

P.S. Please take a look at page 24:

https://www.xilinx.com/support/documentation/boards_and_kits/zcu104/ug1267-zcu104-eval-bd.pdf

  • Sign in to reply
  • Cancel

Top Replies

  • gecoz
    gecoz over 6 years ago in reply to manili +2
    Hi Mohammad, There are many different ways to design memory architectures for multi-cores systems, and ultimately it depends on the goal set for your system. It is quite a vast area of study, but here…
  • michaelkellett
    michaelkellett over 6 years ago +2
    There is almost no point at all in programming the FPGA part of a Zynq with lots of little processors each with access to the system DDRAM - why - because the access to the DDRAM will make a bottleneck…
  • shabaz
    shabaz over 6 years ago +1
    Hi Mohammad, I'm not an expert (complete beginner actually - day #1) so this could be completely wrong: wouldn't DMA via AMBA AXI interfaces be used for this?
  • shabaz
    shabaz over 6 years ago

    Hi Mohammad,

     

    I'm not an expert (complete beginner actually - day #1) so this could be completely wrong:  wouldn't DMA via AMBA AXI interfaces be used for this?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • manili
    manili over 6 years ago in reply to shabaz

    Dear shabaz ,

     

    I think this is the correct answer, but I'm not sure about it just like you. However, the problem shows itself when we are going to design a many-core system. Now how to handle it? Should we create an arbiter which talks to the DMA or is it better/possible to create an L2 cache as a middle-man to talk to the DDR4 RAM?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • shabaz
    shabaz over 6 years ago in reply to manili

    Not sure I'm afraid : (

    It may be a comp-sci type of question though.. maybe authors like Hennessy & Patterson may have written about the ways to implement this, e.g. maybe even using a packet switching capability. I've never implemented it myself. Hopefully others can chime in, it's beyond my knowledge area : (

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • gecoz
    gecoz over 6 years ago in reply to manili

    Hi Mohammad,

     

    There are many different ways to design memory architectures for multi-cores systems, and ultimately it depends on the goal set for your system. It is quite a vast area of study, but here you can find some presentation slides that go over some common architectures used. I'm afraid I'm not an expert either on multi-core memory design, but at least the slide should give you some pointers on where to dig for more in-depth information.

     

    Fabio

     

    P.S: for DDR4 access from PL, there was a similar question posted for the ZCU102 dev board on the Xilinx forum. I know the two boards are quite different, yet I think the information might still be useful.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 6 years ago

    There is almost no point at all in programming the FPGA part of a Zynq with lots of little processors each with access to the system DDRAM - why - because the access to the DDRAM will make a bottleneck rendering the mutiple cores useless.

     

    What you could do is give each core access to its own block RAM in the FPGA fabric. The cores need to be able to talk to each other.

     

    As Fabio has pointed out  there are many lifetimes of published work on this subject.

     

    It would be possible to help you more if you put the question into some kind of context - what are you trying to do (end goal of your project).

     

    Why do you want lots of tiny cores ?

     

    MK

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Cancel
  • manili
    manili over 6 years ago

    Hi all,

     

    Thank you very much for the replies.

    First of all please let me share with you the link I've found for my main question:

    https://youtu.be/cDc9B2zAPz4

    In these 4 series of session 7, Mohammad S. Sadri explains how to connect an IP core (for example graphics accelerator), to the external memory (in my case DDR4 SDRAM) and PS part (in my case 4 x ARM Cortex-A53), using the AXI4-bus standard.

    Please bear with me that I mislead the main topic with my second question. So as a result, I finally found the answer to my main question with your help and the video series. Now should I continue the second question (about implementing the many-core design on the board) here or I must create a new topic?

     

    Manili

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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