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!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎01-05-2017

What type of storage unit is better to use in continuous data read?





I'm trying to design a readout system and have some questions related to storage units. My purpose is continuously read 10bit digital values coming from an analog digital converter IC and keep some specific parameters in a "RAM" and then transfer all these kept values in some definite time periods (i.e 1 second) to computer. But during the transmission I need to continue to read digits and keep the specific values.


First of all, I want to use a RAM like internal storage area for this design (512 or 1024 x 10 bit is fine) because I didn't use it before and wish to learn how to handle RAM resources. So could you please suggest me what type of RAM (single port, dual port SD, ring buffer etc.) should I use ? 


Second since I want to control storage process depending on definite time periods how can I reset the RAM unit while the write process is ongoing?


Thanks in advance...

Tags (4)
0 Kudos
2 Replies
Registered: ‎07-21-2014

Re: What type of storage unit is better to use in continuous data read?



I believe dual port should be enough for your application. However, I would recommend to check below user guide for more details:



In a simple dual port memory, one port reads from the BRAM while the other port writes to it. In True Dual Port memory, both ports can read from and write to the BRAM.


There is no direct reset signal for BRAMs to reset all values to '0'.





0 Kudos
Visitor iobass
Registered: ‎08-18-2017

Re: What type of storage unit is better to use in continuous data read?

The Vivado Synthesis user's guide (UG-901) has Verilog and VHDL templates for inferring RAM.  That will give you the storage.  Then you just need to control the read and write addresses appropriately.  It sounds like what you want is a FIFO: pushing in sensor data at a constant rate, then pulling out the results in a burst to send them to the PC.  In computer science parlance, I believe the underlying data structure is a ring buffer.  I agree with @anusheel that a simple dual-port RAM should do the trick.


I'm not sure exactly what information you're looking for, though.  I've given a few ideas hoping to get close.

  • Computer science data structure: ring buffer.
  • Hardware model: FIFO.
  • FPGA physical structure: simple dual port block RAM.

Can you provide a better description of what information you're looking for?


- Ryan

0 Kudos