Showing results for 
Search instead for 
Did you mean: 

FIFO propagation delay measurement

Hi there, I'm newish to labview but have read a ton of introductory topics. I'm currently trying to read/write to a FIFO chip (UPD485506) using a pxi 6509 and verious hardware measurement tools (Agilent MSO6032A). I realize I'm using old hardware but I'm having some issues getting it all together. 


I'm wanting to fill the buffer and mesaure some timings noted on the datasheet. Any help would greatly be appreciated. I'm not looking for a full solution but perhaps a nudge in the general direction.


What I have currently is attached.


I'm currently just trying to fill the buffer and use outside tools to measure for now. 

0 Kudos
Message 1 of 4

Hello tonyc_fla,


So that I can assist you better, I have some questions that will allow me to better understand what problems you are experiencing:


What problems are you experiencing while trying to set up your system? Are you not sure how to set the hardware up, or are you wondering how to configure your code to be able to accomplish your goal?


What specific problem are you running into? Are you getting some sort of error? Is your system not working as you expect it to? Are you not sure how to move forward with a certain aspect of your system?


When you say that you are trying to “fill the buffer”, what exactly do you mean? Are you trying to fill the buffer to capacity so that it cannot hold any more data points, or are you simply trying to write to the FIFO so that you may later read from it?

National Instruments Applications Engineer
0 Kudos
Message 2 of 4

Hi Gabby, 


I'm having some issues with the code itself. I currently have it rigged up so my my DAQ has a port for writing and a port for reading. I'm currently writing to the buffer and seeing a output (via outside logic anyalzer) and would like to see this output in labview. 


One of my questions would be, should I have both Write/Read DAQ code in the same vi? Also is there is a labview function to fill a buffer with random data?



0 Kudos
Message 3 of 4

Hello tonyc_fla,


It is possible to have both a read and write in the same VI. You can definitely set your task up this way as long as you are reading and writing at a rate that will not allow for your buffer to either fill up completely, or will not cause it to empty completely. I do not know if I can speak to what you “should” do within your code, but generally it is perfectly routine to write and read within the same VI. What exactly are you trying to write to and what are you trying to read from?


You mentioned that you are trying to “fill” your buffer; when you say this, does it mean that you would like your buffer to contain the maximum amount of data possible, or does it mean that you would simply like to put data into your buffer?


To fill your buffer with random data, I would suggest generating random numbers using a LabVIEW program similar to the one included in the resource below:


How to Generate an Array of Random Numbers in LabVIEW


After generating the number of random data points that you need and building an array of these data points as shown in the example, you can wire the array into a DAQmx Write function to write these values to your FIFO.


I have included another resource that shows how to generate random numbers within a given range.


Generating Random Numbers Outside the 0-1 Range

National Instruments Applications Engineer
0 Kudos
Message 4 of 4