UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer dkartis2
Observer
7,083 Views
Registered: ‎11-07-2013

Fast BRAM read

I have a Microblaze design that uses a DMA controller to store ADC data in BRAM, I only have a limited amount of BRAM on my Artix-7 chip, so I need to constantly read from BRAM to get a continuous stream of data. I have the DMA controller firing an interrupt each time the start or end of a transfer occurs. Half of the BRAM is written to per transfer

 

Currently, I'm reading each memory address individually in a for loop using Xil_In32. I need to read a fixed chunk at a time. I put a counter that increments everytime I get an end of transfer interrupt and another to show I acted on the flag and cleared it. When I don't read the data, my code interrupt count and and my acted upon count matches, but when I do read from BRAM, I see another 6 interrupts, or 3 full BRAM data writes, happening after I start reading the data.

 

Is there a faster way to read memory? I have a memory constraint so expanding isn't an option as of now.

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
7,077 Views
Registered: ‎02-01-2008

Re: Fast BRAM read

How is the bram connected to the microblaze? LMB would provide the fastest path.

 

 

0 Kudos