Disable the extended FIFO FPGA target during execution

Hello

I use a FIFO extended target in my FPGA to constantly calculate the derivative of a measured value (dB/dt). Thus the FIFO stores all values during time dt. This means dt determines the number of items in the FIFO and dB is determined by the actual value less the oldest value in the FIFO. It works well when I initialize with the code in figure InitFIFO.

But the FIFO of compensation is not possible (see figure clearFIFO). In the while loop if "reset dB" is false, as the new value of B is written on the FIFO, then the oldest value is read from, for the number of items in the FIFO remain constant. To change dt during execution, I need to clear the FIFO and initialize it with a new length (number of items). I tried the next loop, but it does not work. The FIFO does not initilized with the elements. The length is zero and the loop counter for (#deltaB Length2) is 0.

What I am doing wrong? Is there a better way to erase a FIFO during execution in the FPGA? I'm now stuck for 2 days with this problem and looking forward to any idea or suggestion.

Thank you very much. Best regards

Andy

Hej,

Thank you for your response. You were correct, that deltab FIFO length was 0 because the defalt value was zero. The problem is that in my host vi on the RT system I put DeltaB FIFO length in a loop of high priority and as you can see when I restart the FPGA, DeltaB FIFO length has a valid value (the code in figure 1 works well with a local variable of DeltaB FIFO length in the FPGA). But the variable to set the variable "reset dB" is under the control of the loop of low priority of the host vi. And there, I had an entry DeltaB FIFO length unwired.

So, I learned that a control FPGA read/write unwired sends a '0' or resets the variable to its default value in the FPGA. I assumed that nothing is transferred and the last variable is retained if you let a control read/write unwired. Now, I learned of this stupid error!

Thanks a lot again!

Andy

Tags: NI Software

Similar Questions

  • Problem with the compilation by using the new compiler (Compilation failed during execution: compilation-abc)

    Hello

    Since the release of the fast compiler, I experienced problems with the compilation of the version release with it.

    As it was still in beta, and since it was still possible to use the legacy compiler, I chose to use the legacy compiler each time (especially since it was more stable).

    With this 64-bit iOS requirement came into play on February 1, the legacy compiler is no longer available because it has been completely removed from AIR 16 (and all future versions).

    Now, I can no longer compile release versions (debug versions are works well) because I have the following error every time:

    Error occurred during the application of packaging:

    Stack dump:

    0 program arguments: C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\lib\aot/bin/compile-abc / compile - abc.exe - mtriple = armv7-apple-ios - filetype = obj - sdk C:\Program Files\Adobe\Adobe Flash Builder 4.7 (Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\lib\aot/lib/avmglue.abc 64-fields C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\lib\aot/lib/air-fields.)) arm-air.txt-O3-ane-symbol = MmgCmApiExtInitializer - ane-symbol = MmgCmApiExtFinalizer - ane-symbol = MmgRbApiExtInitializer - ane-symbol = MmgRbApiExtFinalizer - ane-symbol = MmgStoreKitApiExtInitializer-ane symbol = MmgStoreKitApiExtFinalizer-ane symbol = MmgGoViralApiExtInitializer-ane symbol = MmgGoViralApiExtFinalizer-ane symbol = MmgGaApiExtInitializer - ane-symbol = MmgGaApiExtFinalizer - ane-symbol = MmgGAIDFAAccessApiExtInitializer - ane-symbol = MmgGAIDFAAccessApiExtFinalizer - ane-symbol = AFExtensionInitializer - ane-symbol = PushwooshExtInitializer - ane-symbol = PushwooshExtFinalizer elease-temp\AOT\AOTBuildOutput4982262150932522887.tmp\ABCFilesList.txt-abc-file-list=C:\BingoIslandWeb\Client-branch-1.06.05\BingoIslanMobile\BingoIsland\bin-r

    Compilation failed during execution: compilation-abc


    I tried to pin-point the source of the problem leaving specific things in the code, while removing all the rest,

    But so far, all I could find is that he has a problem with the classes that extend EventDispatcher.

    Anyone encounter this problem and knows how to work around it?

    Thank you!



    I had this problem also with other things. It was difficult to solve. Remove all const and var conversion in the Document class solve my problems

  • HOW TO IDENTIFY THE TYPE OF ACTIONSCRIPT CODE DURING EXECUTION

    Is it possible to get the version of actionscript in flash movie that is to say, if AS1.0 or AS2O or AS30 during execution?

    It is possible to detect the execution if a movie is of the type AVM1 and AVM2.

    AVM1 means all the movie clips targeted before the Flash Player 9. [AS1 or AS2]

    AVM2 means video clips focused on Flash player 9 or higher. [AS3]

    The following code detects the version of the clip.

    var img = _loader.getChildAt (0); _loader is a loader loading an external swf file object.

    If (img is AVM1Movie)

    {

    Alert ("avm1 movie...");

    }

    on the other

    {

    Alert ("avm2 movie...");

    }

    I don't think you can distinguish if the movieclip is AS1.0 or AS2.0. because, at compile time, the AS2.0 code gets converted to AS1.0 code.

  • How to change the frequency of sampling DAQmx during execution?

    Hello guys. I'm using LabVIEW in the measures of the frequency response function. My application requires the sampling rate to change according to the frequency of the signal during execution.

    I tried to do it with a "structure of the event" and it works well when I change the rate manually via the front control but it backs do not work when I set up the sampling frequency to vary automatically (just a frequency sweep). Photos below:

    Why not the structure of the event feels the change in the value of "rate"?

    Thanks in advance for your help.

    Lucas

    Hello

    In "automatic mode" to change the sampling rate, the calculated rate is written in the local variable (as illustrated in the code).  Structure of the event does not change value in the local variable as an event.

    In order to make the structure of the event to recognize the change in value of an indicator such as event: write the new value to the property "Value (Sgnl)" corrosponding node to rate indicator (see figure below).  This will make the structure of the event accept the value change in the indicator as event.

    Note: Use architectures such as producers and consumers for such applications, which makes the application readable and expandable.

    See rear queries if any.

  • How to check the amount of memory used during execution of the program to save data in the table?

    Hi any idea how to read or check use all memory space by accumulating the table with the data?

    My program works like this: -.

    (1) values are acquired and displayed on the table

    (2) the values are acquireduring the next event and appear in the next row in the table.

    (3) and this continues...

    Please notify

    Thanks in advance

    Hi astroboy,.

    You can use 'Flatten channel' to get the size of your data.

    Mike

  • Fill the programmatic view object during execution

    Hi all

    I have a requirement to switch between the three different data source during execution in a single page. The user interface and the field names are the same for these three cases, but data from various sources (queries).

    So, imagine that we have 3 objects in view which has implemented read-only (object request depending on the view) and we want to fill a display object at the main performance as a data source for my page.

    My idea is to use "Prgorammatic view object" for this data source and then fill dynamically the contents of one of the three objects view read-only based on a setting in the user's selection.

    First of all, I want to know if it is thin approach and if yes, then get some points on the implementation or any other sample.

    I found this example:

    http://techiecook.WordPress.com/2011/05/17/programmatically-populate-view-objects-in-Oracle-ADF/

    Thanks in advance,

    Nasser

    Hello

    It is more a case of use for Adaptive connections. See:https://blogs.oracle.com/groundside/entry/towards_ultra_reusability_for_adf

    You can use EL to change the name of the ViewObject that an iterator in ADF queries its data. If the switch is on the link layer and there is no need for programmatic view objects. Unlike in the article of the blog above, VO 3 exist in your case then you don't need to create on the fly. Just change the name of VO in the managed bean referenced

    Frank

  • Masking of Poplist values during execution

    Hi all

    I have a Type of Variable of Poplist with values ' a ',' B', 'C', ' and 'E '.
    I want to hide the values 'A' and 'B' during execution.

    I have two pages of research and creation. All values must be visible on the search page.
    And on create page only 3 values ('C' ' d ',' E' ') must be visible in Poplist.

    How to get there?

    Thank you
    SK

    Create Page application process

    OAViewObject vo = (OAViewObject)am.findViewObject("YourViewName1");
    if(vo != null)
    {
    
    vo.setWhereClauseParams(null); // Always reset
    vo.setWhereClause( "DEPT_NO NOT IN (:1,:2,:3)" ); // Example
    vo.executeQuery();
    }
    

    Thank you
    -Anil
    http://oracleanil.blogspot.com

  • Why get error during execution the FPGA VI?

    Hello world

    I have a lot of sense of wrong during execution of a program that has been correctly executed previously. I don't know what I did wrong.

    Now, whenever I run this FPGA VI, I get an error (in the attachment). And, then runs the FPGA VI, but it does not give the data required those he supposed to give as output.

    Any help or recommendations would be appreciated also.

    Thank you.

    Hi auree123,

    There are a few reasons for this error
    may occur.  Could you tell us more about what's going on?

    You are
    I get this error when you compile and if so, at what stage?

    It looks like
    as you may be running it in Interactive Mode, which means that you are viewing
    the front of the FPGA VI on the development computer that you are running - is
    that correct?  If so, you could try to create a VI on your host
    Open a FPGA reference and communicate with the FPGA programmatically rather than interactively.

    Thank you

    Morgan S

    Technical sales engineer

  • Rinse the target DMA to host FIFO FPGA

    I have a program that runs on FPGA waiting for a ppr pulse 1 a coder, then begins to acquire data based on 4096 pulses of ppr. After that it becomes 4096 pulses, it synchronizes the back upward with the pulse of 1 ppr and recidivism. If the encoder stops spinning in the middle of a revolution, I have a timeout will happen, shouldn't get a pulse of 4096 in some time. This way my code isn't stuck wait pulses if the encoder stops turning. Then, it warns the user and synchronizes backup with the pulse of 1 ppr when spinning resumes.

    Well, the encoder stops at Midway through a revolution of spinning, I get a timeout, but now there are 2048 (4096 ppr * 0.5 revolutions) stale data points in the FIFO. I want to get rid of these points so that once it syncs back upward with the pulse of 1 ppr, I have data in the FIFO, all of the current revolution. I guess I could take the timeout error and trigger a loop on the side of RT that removes the elements until the FIFO is empty, but if it is not in time, before the encoder starts to turn once again, I still stuck with stale data. Maybe I need some sort of handshake with controls? I could also put FIFO for target on the FPGA for storing data and not the tail it to go to the host until it is all there. If I get a timeout, I could please rinse on the FPGA FIFO, because there is a method for flushing to target FIFOs.

    No matter which deals with this problem before, and how to solve?

    Hello

    I think that your first method is the best option. When you save a timeout, have triggered a case on your side of RT first making a FIFO reading which returns the number of items in the FIFO (but reads the items suck) and then immediately do a read FIFO that reads the number of items remaining. This will clear your FIFO and it should run quickly.

  • How to disable the close button during execution

    Hello world.

    Please help me how to disable the close button at the top of the window during execution. I don't want the user to use this button to close. I used the button called out in this form but sometimes users of closing by clicking this button.

    I use the formula of Oracle 10 g R1.

    Thanks in advance,

    Or if you want to stop the closing by button close the main WINDOW. Then create a trigger on called KEY-OUTPUT at the FORM LEVEL and just write the value NULL ex.

    Trigger = KEY-EXIT (FORM-LEVEL)
    NULL;
    

    -Clément

  • Error: Execution of registry is supported only on the FPGA target

    I am trying to write a debugging tool to test the communication between objects FP on my host VI to a RT system and then to a FPGA system.  I thought I would "simulate" the three layers with queues between them in order to ensure that the parameters are received correctly - a comprehensive test of Communications virtually.  I want to be able to run this VI on the host.  There are a lot of bits being shifted and twisted and be able to define probes and braekpoints within a single host VI is an advantage.

    Initially, it worked fine after copying my FPGA code (with object instantiation of the registers and then reading and writing for them), but now then LabVIEW did another thing that disappears (with no goodbye or anything like that).  When I say that it worked, the values read from the FPGA objects that instantiate their own records showed the correct values when sending data.  This means that LV really instantiate records and has been able to address them individually.

    Since then, I get the error appearing in the title, whenever I try to run the VI.

    (1) should I really move my parts FPGA to a VI on the FPGA target and have the VI in parallel with the defined target to run in Dev mode (and sends data over the DMA channel)

    (2) why this work initially and then fail?

    Shane

    False alarm, I had no wired all my objects instantiated (and thus a communication VI received default objects with no valid registry.

    Program actually works very well.

    Still weird, but the error message doesn't really leave everything that was wrong.

    Shane.

  • How to disable the possibility of return on investment, are based on Imaq display, during execution.

    Hi again. I have the necessities to disable the ability to draw the KING imaq exposed. The user can make of the strange symbols on the interface and I don't want that, it must be kept clean. Can I do something?

    Francesco.

    Okay, stupid question. I've just disabled.

  • How to disable the activity of the user during query execution.

    Hello

    I use jdeveloper 11g, I have the choice of a Select on a JSF page that executes a query when the user changes the selection, now I would like to warn the user interaction until the query is complete, I tried to disable the other controls like this:

    someControl.setDisabled (true);
    vo.executeQuery ();
    someControl.setDisabled (false);

    The problem is that the 'someControl' will not get updated until the procedure ends so it does not have disabled.

    Any clue?

    Thank you

    Mike.

    Assuming you are using faces a [glass | http://thepeninsulasedge.com/frank_nimphius/2008/11/20/updated-glasspane-example-in-adf-faces-rc-with-native-functionality-example/] is a way to archive it.

    Timo

  • 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

  • How to choose the maximum number of items for DMA FIFO to the R series FPGA

    Greetings!

    I'm working on a project with card PCIe-7842R-R series FPGA of NOR. I use to achieve the fast data transfer target-to-host DMA FIFO. And to minimize overhead costs, I would make the size of the FIFO as large as possible. According to the manual, 7842R a 1728 KB (216KO) integrated block of RAM, 108 000 I16 FIFOs items available in theory (1 728 000 / 16). However the FPGA had compilation error when I asked this amount of items. I checked the manual and searched online but could not find the reason. Can someone please explain? And in general, what is the maximum size of the FIFO given the size of the block of RAM?

    Thank you!

    Hey iron_curtain,

    You are right that the movement of large blocks of data can lead to a more efficient use of the bus, but it certainly isn't the most important factor here. Assuming of course that the FIFO on the FPGA is large enough to avoid overflowing, I expect the dominant factor to the size of reading on the host. In general, larger and reads as follows on the host drive to improve throughput, up to the speed of the bus. This is because as FIFO. Read is a relatively expensive operation software, so it is advantageous to fewer calls for the same amount of data.

    Note that your call to the FIFO. Read the largest host buffer should be. Depending on your application, you may be several times larger than the size of reading. You can set the size of the buffer with the FIFO. Configure the node.

    http://zone.NI.com/reference/en-XX/help/371599H-01/lvfpgaconcepts/fpga_dma_how_it_works/ explains the different buffers involved. It is important to note that the DMA engine moves data asynchronously read/write on the host nodes and FPGAs.

    Let me know if you have any questions about all of this.

    Sebastian

Maybe you are looking for

  • Found a lot of "No Name" entries in Contacts - How to remove?

    iOS 10.0.1 on an iPhone 6 more. I just discovered that in my contact list on my iPhone, I have 20 + entries 'No Name'.  they appear at the bottom of the list where I do not usually watch. These do not appear on my contact list on my Mac Mini, which i

  • How to remove several photos library icloud?

    I use icloud photos with multiple devices, including an iPhone 4, iPad, Macbook pro and two PC. My icloud library is too large, with many duplicates (same photo taken several times) and many photos, I don't want to keep. Deleting photos in the librar

  • Satellite Pro U400 - micro reception problem after installing xp sp3

    I had Vista, then I recently installed windows XP SP3 from scratch (not downgraded). I downloaded the latest drivers from Toshiba and install. Now, I have a problem with the microphone. Speakers audio playback is fine, but the built-in microphone rec

  • Strange keyboard on my Satellite L40 problem

    I have laptop Satellite L40 - 17u, and I had it again for about 2 months. My keyboard now seems to do its own thing. I'm going to the settings to correct this. It is ok for a while then goes haywire once again, so leave some letters on the key on boa

  • My computor can't find my log file can't download can not write to the log file

    "' my computor cant found my profile so it connects me on different everytime I turn on my computor and can't download and cant wright for the newspaper and ID 439 Source file" ESENT "he says: