Looking for the best (but also simplest) way to send 32bit parallel data down into the ultra96 fabric


I’m looking for a good simple way to send data down into my fabric on an Ultra96V2 board. I’ve already written my own custom register logic for another non MPSoC board that’d I’d send data to manually using a VIO.
But now I’m looking have the zynq send down 32bit words. (By setting a 32bit vector to the fabric)
So looking for the best and simplest(I’m still new to the ultra96 board) way to do this. Would just using like a 32bit GPIO work? Ideally don’t want to have to mess with DMA controllers or anything like that… but I would also like at least a mega-baud of overall through-put.


A simple way to do this is to use block RAM in the PL (FPGA fabric). The Vivado hw platform for the Avnet “base” PetaLinux BSP uses this technique. You can download the BSPs at https://avnet.me/zedsupport. The Vivado project is included in the BSP. Here is a screenshot of the Vivado connections from the PS, AXI interconnect, BRAM controller, and BRAM:


1 Like

Oh well this could work, I’d seen the example flash files but didn’t see they had a BSP for the Petalinux instantiation.
I’ll check it out, and post back if it works.