Sync in FPGA module between several FIFO

Hi all

I did a project in which I pass data with DMA FIFO for the FPGA and then return these values without treatment again to the host. I need to do in order, I mean, when the first FIFO is pass data to return DMA data, the others must wait all is to send to the host, then the second... so on. I did the path is in the picture, but does not work. With only a FIFO (first step in the project) worked right.
Is this the way to synchronize the FIFOs? Should be in a flat sequence all the loops instead of in separate dishes and no occurrences sequences?

Thanks in advance.

Kind regards
Miguel.

You actually create a dependence on the data with occurrences.  A sequence structure must be completed before the next can even begin to run.

If you want that all FIFOs to browse together, why not just put them all inside the same loop?  Then they will all play at the same time.

And what equipment do you use?  A lot of material have only 3 DMA FIFOs.  A lot of the newere who have 16 (which is what you use).  Just worried about the problems of compilation here.

Tags: NI Software

Similar Questions

  • Internal software error of LabVIEW FPGA Module - 61499

    I get the error next (in a pop-up window) in the phase of sompilation for the FPGA target with a vhdl IP. This error continues to occur even after restart LabVIEW and the PC. Someone at - it solved is this kind of problem before without having to re - install the software?

    Here is the error information:

    Error-61499 occurred at niFpgaXml_GetValue_String.vi<><><><>

    Possible reasons:

    LabVIEW FPGA: An internal software error in the LabVIEW FPGA Module has occurred. Please contact National Instruments technical support on ni.com/support.

    Additional information: lack the tag required XML (/ CompileServerList)

    As a first step, I can compile the vhdl IP node successfully. However, once when I'm running a VI with the FPGA, the bureau stop working. After that I restarted by force, it cannot perform the build of a vhdl IP node. Even without connecing to the jury of LabView, he pointed out errors before the end of the sompilation.

    Interestingly, the screw which also includes nodes IP vhdl that I properly compiled before, I can still run the VI to the Commission and it works correctly.

    Thank you

    Looks like your ActiveJobsList somehow has been corrupted. I saw occur when computers are hard stop or blue screen during compilation. I don't have that LabVIEW 2014 installed on my machine, so your path will be a little different, and the file extension will be a .txt or .xml instead of .json, but try this:

    Move the file "C:\Program Files (x 86) \National Instruments\LabVIEW 2014\vi.lib\rvi\CDR\niFpgaActiveJobList.json" (or your equivalent) out of the above directory (back it upward and delete essentially) and restart LabVIEW. Must regenerate the file and resolve the problem.

  • Can damage the FPGA module if I connect accidentally two pins writing together.

    My current configuration has a PXI chassis with two FPGA modules.  Each FPGA module has an adaptation Module 6581 on that.  I would like to test the signal through my system path by having the user to move some cables that would be a reason for a return to the other looping FPGA.

    I fear, however, the risk of the user is not correctly as shown and somehow a channel available in writing that connects to another channel write-enabled.  This damage to the FPGA or adaptation modules?

    Hi Brian,.

    Your concerns are correct. We never want to connect two pins that are output voltage. If two pins are outputs digital mistakenly connecting them together may damage one or both nodes in output since there is nowhere to flow the potential.

    It is well to connect to two pins that read a voltage. If both pins running entry digital (reading of the pins), as there is no risk, nor pin would be likely to be damaged.

  • No option to simulate the peripheral cRIO after installing Labview and RT/FPGA Modules of downloads (lack of driver support?)

    Hi guys -.

    Basically, I need to simulate a cRIO device without yet having equipment on-site, like this:

    How to simulate the FPGA hardware target using with LabVIEW Project Explorer

    Instead, I only get the options presented in the attachment "Add Target Options.jpg.  I guess it's because of missing drivers, which I assume is due to an error that I made during a recent new LV installation installation went like this: I downloaded (not diskettes) and installed the following (in this order, the latest versions all around):

    (1) LabView development system

    (2) real-time module

    (3) FPGA module

    (4) NEITHER-RIO (previous installation-by-installation)

    (5) DAQmx

    At the end of (1) and (2), I got the screen shown in the second attachment ("Drivers Installer Message.jpg"), but could not able to recognize the folder "device drivers OR" (I also downloaded), or one of its subfolders.

    According to me, I'm missing an obvious option to load the necessary drivers after installation, but can't seem to find reference to it in the forums.  Could someone give me a little help in the right direction?

    Thanks a lot and have a nice day.


  • LabVIEW FPGA: An internal software error in the LabVIEW FPGA Module has Unknown

    Sir/Madam,

    Note Labview 2012 SP1 installed about 2 weeks ago.,.

    Accident occurred during the compilation of an fpga vi who worked satisfactorally in the past.

    When I restarted and went to the message recomplile "LabVIEW FPGA: an internal software error in the LabVIEW FPGA Module" see attached picture of popup.

    I reinstalled Labview in its entirety and backed out the changes I made to the vi but still get the same message.

    Thanks in advance

    Daryl

    It turns out that the question was in the VI and not of LabView FPGA module as the message may indicate. I created a vacuum vi, cut and pasted items in this from the vi error and recompiled and it ran very well.

    Somehow the vi has been corrupted internally.

    Thank you it's fixed.

  • Download NI LabVIEW FPGA Module Xilinx Tools 10.1 2013 problems

    I'm trying to download the Xilinx tools 10.1 to use with a chassis 9113 in LV2011.  Based on this white paper, that the compiler below should work perfectly.  The problem is that I can't seem to download all the way.

    I can't seem to cross ~ 336MB using the standard or the downloader OR.  Any ideas?  Does anyone else have this problem?

    http://www.NI.com/download/LabVIEW-FPGA-Module-2013/4249/en/

    Thank you

    -PBD

    Well well... on the good side of things, you don't want 10.1 anyway!

    Virtex-5 LX50 FPGA<- requires xilinx="">

    10.1 is only for devices FPGA Virtex-II! (.. .after LabVIEW 2009 it was, just for all of you who read this know).

    so... try this link: http://www.ni.com/download/labview-fpga-module-2013/4248/en/

  • The FPGA Module compatibility

    Hello

    I'm upgrading LabView version from 2011 to 2015. The MODULE NI LABVIEW FPGA 2011 will be compatible with LabView 2015?

    Thank you for the help

    Michele

    No, you will need to install the FPGA Module of 2015.

  • 8.6 LabVIEW fpga module. Where to download this version

    I have Labview 8.5.1 and you have upgraded to labview 8.6 where can I download 8.6 Fpga Module?

    I have a license for module fpga 8.5.1

    Isutiger,

    All downloads evaluation directly from our Web site are always the latest version, currently of 2009. This ensures that users evaluate our software always software up-to-date.

    If you have a software maintenance (shared services provider, you get free one year every time you buy a software), you can login to the resource center of services (www.ni.com/src) and download of all supported versions, modules and toolkits for LabVIEW, including 8.6 and 8.6.1 the corrective update. You also have access to videos and tutorials.

    If you do not have a service contract (cannot log in to CBC), you want to communicate with your sales representative to discuss an assessment for older versions.

  • Annotator gradient between several objects - strangeness

    I have six rectangles in a row. I apply a radial gradient to them as a whole, by dragging the gradient tool. According to the documentation for CS4, it's what you do if you want only one Annotator gradient between several objects. Problem is, I can see the Annotator, but not the color stops. If I deselect everything, then select a single rectangle, I can see and move the stops, but it effects only the shape selected. In addition, if I group the objects, the Annotator does not at all appear, and when I have the separate, I have six Annotators.

    None of these examples will behave as I think they should. Yes, I have "Show gradient Annotator" on in the view menu. I worked with the Annotator fairly, but it always seemed buggy.

    What I want to do is to apply the gradient between several objects, as in example 1, then change it between several objects. Is it so difficult?

    But the object > make a compound path works with only one problem: after the compound path is done, you can select no longer forms individually.

    With the selection tool, the black arrow double click anywhere with any object in the compound path that will bring, you mode of insulation with the direct Selection tool select the object in the compound path and modify to your hearts desire. Double-click anywhere outside the compound path and you will return to the normal mode and you have a compound path that you probably stick in any case.

    However even if there are four paths of rectangle stand alone separated, you should be able to simply drag the four objects of the Annotator and still be able to see degraded markers if you position the cursor on one of the four annotators which should appear and see the markers.

  • What is the difference between abandonment and reset in Laview FPGA module

    Hello

    I used Abort in Labview FPGA e-mail trying to stop the running program in FlexRIO while I got an unexpected behavior.

    After replacing the demolition of the reset all goes well.

    What is the difference between these two functions?

    Thank you

    Fang

    Hello Fang,

    If this answers your questions, then please indicate that answers your question by clicking on "accept as a Solution.

    If that doesn't answer your questions, so please let me know.

  • FPGA target host DMA FIFO multi-channel

    Hi people,

    I have a little trouble to collect my FPGA application data. The control of my FPGA application loop is running and read data from set point between a host and target FIFO to a period of 50 uSec. I run a separate loop to write data collected form two channels in a target of FIFO host over a period of 1000 uSec. I'm taking the data from both channels and its reading on the host in bundles of 500 data samples. The first problem I have is that my method of reading times unless I put my data acquisition loop to run at a much slower pace. My FIFO depth host side is 60000, almost as large as the total number of data samples that I expect to collect in total.

    I have another problem when trying to write the data to a table. Even if my method of reading does not expire, I don't think that will record the first beam of data that are read. I've initialized an empty table outside my acquistion of the side loop host and used the table VI build to take the current data set and add it at the end of this table. I then store in a shift register and pass it in the next iteration where I try to join the new data set to the old and so on. I expected to get a table with all the data, but as I said I'm only collecting the first set of 500. I wonder if my program structure is correct. Any help anyone could offer would be greatly appreciated. I have attached a few pictures of my reference request. Thank you.

    Hi Daniel,.

    Thank you for your response. I think I found a solution to the problems that I had. Looks like it was a combination of a couple things. First, the data acquisition loop was running not until the movement was already over since I plugged the condition to stop the loop of writing deposit directly on the data read loop. This problem has been fixed by creating a shared variable for the stop condition and it wiring to two loops independently. This explains why I got only the first set of data, as it was stored in the FIFO until the end of the movement. However, the FIFO of feedback was still time. Before attaching the stop condition error, I placed a probe on the "items remaining" wire of the read method and concluded that there was only 1023 elements (the depth of the FIFO on the side FPGA) even if I set the FIFO depth host side to 60000. "» I realized it was originally due to the Read method not called for the first time until the end of the movement. Although the problem of break for most fixed condition this problem given that the Read method was now called during the movement, I decided to take a preventive measure and calling the 'Start' before the movement FIFO method is started just to make sure that the memory of PEP on the side host is available immediately.

    So yes, it turns badly I put sync settings have been well after all. Good call on the reversal of the order on the Array function to build. Oh, and I also had to move the waveform diagram to until the table is built so that it is not Replot the old data on top of all the new data it receives. On the same note, I moved to the indicator in table at the end outside of the loop of reading. Thanks again for your help.

    Kind regards

    John has

  • global variables shared between several targets of RT

    Hello

    I'm looking for some information about variables shared between RT communication network.

    Scenario: a PXI 'master' and several 'slave' PXIs running that screw RT. data is available in the form of a cluster of definied type on each slave PXIs (inside a non deterministic while loop). I guess I create global variables of network shared for each PXI slaves. A variable for each slave. I only write data in these variables in one place (above mentioned, while loops), on the PXIs slave. I need to read that data in a way with loss (I just need that value the most recent, as tags) from the master PXI.

    Question: can I simply use "network shared variable" settings by default? I mean, I do not enable the option RT FIFO (single element), because I think that for a cluster that is a no go in the case of RT (variable length)?

    What do you think? Or would you have better idea how to share data between slaves and masters RT targets (I do not have deterministic/losless transmissions, only these last values)?

    I think that the way to proceed is to use the shared Variable Aliasing/binding - they allow you to 'link' shared variables in any of the multiple targets. https://forums.ni.com/t5/LabVIEW/Bind-Alias-shared-variable-to-scan-engine-variable/td-p/3290043.

    You can also use shared variables of programming access to access running on another target: http://zone.ni.com/reference/en-XX/help/371361G-01/lvconcepts/usingdynvarapi/

    With regard to the other methods - you could always disseminate data via UDP multicast (or with a TCP/IP connection manager).

  • FPGA - DMA with several cMoudules

    Hello!

    I have a Setup with a cRIO (cRIO-9114 chassis, controller cRIO-9025) and four cModules, NI 9225, NI 9227, NI 9232 and NI 9239. The 9232 NOR has a max of 102,400 kS/s sampling rate, while the other three have 50 kech. / s.

    I use DMA FIFO to transfer the data from the FPGA and there are only three DMA channels. Since the 9232 NOR has a sample rate most high, I used a DMA FIFO transfer data for this add-on. But for the rest cModules, I want to transfer data from each of them in some cases while in others, I am only interested in the data of one of them. It is advisable to transfer all of them in a FIFO DMA? Is it possible to use a FIFO DMA to transfer data for all four cModules?

    Thank you!

    If you transfer a lot of data for the code in real time, you must make sure, you can manage the treatment of it, which will be a lot of data to receive, process, store/transmission etc.

    But in any case, it is certainly a good idea to use a DMA for data 9232. For the three other modules, if you are only interested in a number of modules whenever you read from them, then you must implement a policy for the reception of data through a second DMA channel.

    A solution might be to precede the data with a unique value, also sent through secondary DMA, which defines the incoming data. For example, you can use a condensed binary byte (upconvertis to any type of data do you cross the DMA), in which the first three bits declare what modules are actively playing. So for 00000111 you read from all of the modules, with 00000101 you read modules 1 and 3. The amount of data after this condensed binary byte will depend entirely on the modules that you are reading from, clearly the maximum number allowed will be for the three modules, but in all cases, you can go out and prepare to receive the end of RealTime data properly.

    It's just a suggestion. There are better options, include leaders from Pack and terminators, in which case precede you the binary byte condensed with a known value to provide guarantees that the DMA buffer is always synchronized, but these concepts are difficult to describe in a single thread post...

  • Favorites sync is no longer between devices

    Hello

    My Favorites no longer stay in sync between my Imac, Macbook, Iphone and iPad. They used to. How to sync again?

    Thank you

    Ted

    Try the settings/iCloud and remove the synchronization. Wait a few minutes and then resynchronize.

    Try to go into System Preferences/iCloud and stop synchronization. Wait a few minutes, then recheck the timing.

    Have you tried the signature to iCloud and then reconnect?

  • ios9.2 - cannot sync/update of contacts between iphone/2 ipads

    The only way I can sync/update contacts between my "iDevices" is by going to SETTINGS > (tap) iCloud. This allows to move the data. But this must be done manually on each device for each synchronization to occur.

    (Date/time/time zone times are all the same)

    (iCloud is enabled on each device)

    (Does the "Sign Out/Sign-In)

    (Reset network settings)

    (ios 9.2)

    I had no recall of engineers looking into that.

    Have you tried to do a test account to see if the problem persists?

    If it isn't, then it might be that some basic settings with your iCloud account problem or a problem with the account itself.

    I hope this helps!

Maybe you are looking for