Adding FPGA reference causes problems

Hi,
I have a programme which runs on the RT engine and calls up an FPGA reference, samples data from this and then carries out some calculations on it.  I'm currently trying to modify this to add more functionality, but have hit a problem.  The picture attached is the original programme which works fine, but when I add another "Open FPGA VI reference" above the one shown, which is targeted to the same PXI 7833R card, but calls a different VI, it causes the original code to stop running properly.  I haven't been able to track down the root of the problem, but it appears to be affecting the sampling of data in the original programme.  I'm thinking it is something to do with timing as I haven't changed a single part of the programme except adding this extra FPGA reference, so all I think it could be affecting is the speed the programme runs at.
Does anyone know of any problems associated with opening two FPGA references at once?
Just in case you need to know, I'm running Labview 7.1, with a PXI 1042 chassis, PXI 8186 controller, PXI 7833R FPGA card and PXI 8461 CAN card.
Thanks,
Nick
Attachments:
working.jpg ‏73 KB

Nick,
As you add more code to the FPGA VI it will take longer to compile. If you get close to filling up the FPGA the compile time may increase significantly as the compiler spends more time to optimize the code that is generated to fit onto the FPGA.
Using large arrays on the front panel of the main VI or anywhere within your VIs will increase the size of the code and increase the compile time.
There are different ways to get around using large arrays but it is difficult to recommend a specific solution without knowing more about your application. All of these solutions will use the block memory available on the FPGA to store the data in one way or another. You should probably look at using FIFOs if you stream the data between the host and FPGA. Using FIFOs you can pass one data value at a time between host and FPGA, reading them from or writing them to the FIFO. You will need some form of handshaking to synchronize the host/FPGA communication.
An alternative is to use the DMA FIFOs which will further simplify the communication between host and FPGA.
If you want to pass blocks of data to the FPGA so that the data can be accessed repeatedly (like a lookup table) then you should use memory blocks on the FPGA to store your data. That provides random access by address to a predefined block of the memory on the FPGA.
Christian Loew, CLA
Principal Systems Engineer, National Instruments
Please tip your answer providers with kudos.
Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

Similar Messages

  • My host name changes every few days, since Xmas adding a macbook its changed 6 times. Do I need to stop this? Does it cause problems with sharing between the iMac and macbook?

    my host name changes every few days, since Xmas adding a macbook its changed 6 times. Do I need to stop this? Does it cause problems with sharing between the iMac and macbook?

    There are several possible causes for this problem.
    1. Two (or more) computers on the local network have the same Bonjour name, such as "X's-MacBook-Pro.local".
    2. You have two simultaneous connections to the same local network: probably Ethernet and Wi-Fi. If applicable, disconnect the Ethernet cable or turn off Wi-Fi.
    3. A Mac wakes from sleep due to network traffic. This is due to a bug in OS X that may only affect some models.
    4. A device that gets its network address from the router wakes from sleep, and the address it was using before has been assigned to another device.
    5. A third-party wireless router has incompatible settings or firmware. In that case, refer to the manufacturer or ISP for support. Restarting the router may help, temporarily.
    6. See also this support article.
    Rename the computer in the Sharing preference pane.

  • Does adding V-Card to signature cause problems for Outlook (Windows) users?

    Hi -
    I want to add a V-Card to my signature in Apple Mail (by drag and drop from address book to signature pane in Mail>Preferences).  I have read that, in the past, this can caused problems for some recipients who use Windows Outlook.
    Is this still the case?  If so, how can I add a V-Card to my signature without causing problems for recipients?
    Thanks -
    Doug

    I take note of your WNLB recommendation but in this case the error start on one of the CAS server first and client connected to the CAS that does not have any errors continue to work as normal.
    I upgraded to SP3 late last year.  This problem first happened in Feb 2014.
    Have you checked the DNS settings on the VM - yes, and both of them are pointing to one of our DC's.
    I would set the client with a Host file to just one CAS to rule out the WNLB - this would be too hard
    to manage as when the issue happens again it could happen on CAS1 but the client could be connected to CAS2 so it wont experience the issue.
     

  • LV2012 crashes when opening LV2010 project containing OOP and dynamic FPGA references

    I have a project that was written under LV2010 and has no problems that I am aware of. This project contains OOP and dynamic FPGA references. I am trying to upgrade this project to LV2012. When opening this project under LV2012 (or any subVI containing OOP) I get an error message, as shown in the attached screenshot. Has anyone else observed this problem? I haven't found any relevant postings on this forum yet.
    My project is quite large, with many accessors.
    Thank you for any assistance you can offer.
    Attachments:
    LV2012_Crash.PNG ‏22 KB

    Thank you for your response, but the Discussion Forums link that you provided refers to a problem that occurs when exiting a running executable. My problem is different. I am simply opening up a LV2010 project using LV2012. No running of my program is involved.
    Anyway, after several days of work, I narrowed down the cause of the LabVIEW crash. My code contained a Disable structure, and within that Disable structure there was a subVI that had an unwired object terminal (set to dynamic dispatch). Deleting the subVI in the Disable structure eliminated the LabVIEW crashing. Weird behavior.

  • Why does opening and closing FPGA references increase Windows XP handles by 3?

    Hello.
    We run a test system here that uses TestStand to communicate
    to a number of Labview VI modules which in turn communicates to a
    PXI-7833R FPGA. Everything has been working fine except after a long time running Labview would get an out of memory error. I discovered
    after a particular VI was run 100,000 times, the number of handles in Windows XP Task
    Manager grew to about 370,000. The number of threads and processes remains stable and normal. Closing Labview removes all the excessive handles.
    I tried an experiment to create a standalone VI (ie: no TestStand) which simply opens the FPGA VI reference then closes the reference. This is repeated 4 times in the same VI. The number of handles in Windows XP Task
    Manager increased by 12 each time the VI was run. No errors. This indicates closing the FPGA reference might not be working.
    Why does this happen? Is there a way to avoid it? The version of Labview is 8.5.1.
    Appreciate any help here. Thanks.
    -Dave

    could be related to this known issue--
    FPGA FIFO reset behavior—When you use an FPGA target
    emulator, FPGA FIFOs reset when the VI is stopped and then started
    again. When you use an FPGA target with Interactive Front Panel
    Communication, FPGA FIFOs do not reset when the FPGA VI is stopped and
    then started again. To reset the FIFO, right-click the FPGA target in
    the Project Explorer window and select Download
    from the shortcut menu. When you control an FPGA VI using Programmatic
    FPGA Interface Communication, use the Close FPGA VI Reference function
    with the Close and Reset shortcut menu option selected or the Invoke Method with the Reset method selected to reset FPGA FIFOs
    see Knowledgebase
    Also remeber to load the FPGA Read/Write VI's dynamically from testStand and dump them after.  Thechange to the data type causes the vi to need to recompile so it can't stay in memory if you need different types of data.
    Message Edited by Jeff Bohrer on 10-27-2009 02:21 PM
    Jeff

  • Error code 63003..while running a FPGA prog on Host PC using FPGA reference VI

    Hi,
    when i run my FPGA program on HOST PC using a FPGA reference vi on windows platform, I get an error code 63003 (FPGA bit file out of date). When I go back, recompile and run the FPGA program on the FPGA target, then shut it and come back to HOST PC and run my application with FRGA Open refence vi, it runs with out any error! Does any one know why I get that error code 63003

    This error means that the VI which is downloaded to the FPGA was changed on the host/development system, but has not been recompiled. By recompiling it you resolve this problem.
    When a LabVIEW FPGA VI is compiled for the FPGA, the bit stream, which will be downloaded to the FPGA, is stored in the VI file. When LabVIEW RT or LabVIEW Windows attempts to download the bit stream to the RIO card, it makes sure the bit stream corresponds to the VI source code in the same file. This is necessary so that the host application can properly communicate with the VI on the FPGA. If the two are not the same, this error is generated from the Open FPGA VI Reference function in the host application.
    Christian L
    NI Consulting Services
    Christian Loew, CLA
    Principal Systems Engineer, National Instruments
    Please tip your answer providers with kudos.
    Any attached Code is provided As Is. It has not been tested or validated as a product, for use in a deployed application or system,
    or for use in hazardous environments. You assume all risks for use of the Code and use of the Code is subject
    to the Sample Code License Terms which can be found at: http://ni.com/samplecodelicense

  • JTree + FK with same value causing problems

    Hi
    I can't figure this out. If I create biz components for 2 tables having a parent-child relationship and a jTree with appropriate rules, things are ok only if the parent's id are of different values than the child. When parent.id and child.id have the same values the jTree seems to recursively fire valueChanged() at strange times.
    Example:
    CREATE TABLE PARENT
    PARENT_ID NUMBER CONSTRAINT PARENT_ID_NN NOT NULL,
    PARENT_NAME VARCHAR2(40 BYTE),
    CONSTRAINT PARENT_C_ID_PK
    PRIMARY KEY
    (PARENT_ID)
    CREATE TABLE CHILD
    CHILD_ID NUMBER CONSTRAINT CHILD_ID_NN NOT NULL,
    CHILD_NAME VARCHAR2(40 BYTE),
    PARENT_ID NUMBER,
    CONSTRAINT CHILD_C_ID_PK
    PRIMARY KEY
    (CHILD_ID)
    ALTER TABLE CHILD ADD (
    CONSTRAINT PARENT_FK
    FOREIGN KEY (PARENT_ID)
    REFERENCES PARENT (PARENT_ID));
    INSERT INTO PARENT VALUES (1, 'Parent 1');
    INSERT INTO PARENT VALUES (2, 'Parent 2');
    INSERT INTO PARENT VALUES (3, 'Parent 3');
    INSERT INTO CHILD VALUES (100, 'Child A', 1);
    INSERT INTO CHILD VALUES (200, 'Child B', 2);
    INSERT INTO CHILD VALUES (300, 'Child C', 3);
    I use the JDev 10.1.2 wizard to create biz components and test the AppMod to make sure the link works. Now I create a blank panel and drag over the ParentView data control. Using the jTree tree binding editor I create two rules:
    1) DataCollectionDef.ParentView - DisplayAttribute.ParentName - BranchRuleAccessor.ChildView
    2) DataCollectionDef.ChildView - DisplayAttribute.ChildName
    Now I add a tree selection listener:
    jTree1.addTreeSelectionListener(new TreeSelectionListener()
    public void valueChanged(TreeSelectionEvent e)
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();
    if (selectedNode != null)
    System.out.println(selectedNode.getUserObject().toString());
    When I run my panel and watch in JDev everything is fine, i.e. nothing is printed to the screen when it first loads and when I click a node, the correct UserObject prints.
    Here's the rub, now I close the panel and update my child table as follows:
    UPDATE pdssuser.child SET child_id = 1 WHERE child_id = 100;
    UPDATE pdssuser.child SET child_id = 2 WHERE child_id = 200;
    UPDATE pdssuser.child SET child_id = 3 WHERE child_id = 300;
    This time, when I run my panel, the console shows that valueChanged() has been fired 3 times on load:
    Parent 1
    Parent 2
    Parent 3
    This behavior is causing problems with my real tree.
    I haven't had any luck finding threads about this. Any ideas?
    Thanks
    John

    ok, last one (i hope)
    The same issue occurs with 10.1.2.1
    ...but changing the location where I add the treeSelectionListener to after setBindingContext() seems to fix the problem.
    The second call to panelBinding.refreshControl() in setBindingContext() (the one after the call to jbinit()) is what fires the valueChanged events. Somewhere in there, DCBindingContainer.java or DCIteratorBinding.java, the treeSelectionListener is hearing that a value changed (maybe due to a query execution?). I guess the jTree1.setModel(...) call in jbinit() simply sets up the tree but the VO queries described in the Branch Rule accessors are executed on the refreshControl.....i'm out of my comfort zone here and may be confusing you with my "troubleshooting" so I'll just tell you my work-around.
    So to fix it I add the treeSelectionListener in my main method (not jbinit()) after the setBindingContext() has been called.
    I still have no idea why the FK triggers this behavior...but at least it's working.
    * the main method
    public static void main(String [] args)
    try
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    catch(Exception exemp)
    exemp.printStackTrace();
    Panel1 panel = new Panel1();
    panel.setBindingContext(JUTestFrame.startTestFrame("DataBindings.cpx", "null", panel, panel.getPanelBinding(), new Dimension(400, 300)));
    panel.revalidate();
    // Now add the treeSelectionListener
    panel.addSelectionListener();
    * the JbInit method
    public void jbInit() throws Exception
    this.setLayout(borderLayout1);
    this.add(jTree1, BorderLayout.CENTER);
    jTree1.setModel((TreeModel)panelBinding.bindUIControl("ParentView1", jTree1));
    // DON'T ADD treeSelectionListener here
    * Add the selection listener to the tree
    public void addSelectionListener()
    jTree1.addTreeSelectionListener(new TreeSelectionListener()
    public void valueChanged(TreeSelectionEvent e)
    DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)jTree1.getLastSelectedPathComponent();
    if (selectedNode != null)
    System.out.println(selectedNode.getUserObject().toString());
    }

  • Correct way to stop and run again a FPGA reference

    Hi guys !
    I have some issues when I try to stop and run again an FPGA vi, I explain.
    I have two DMA FIFO, one to send data to the FPGA from the CPU, and another from the CPU to the FPGA. When it receives data, the FPGA processes them and sends them back to the CPU and according to the result the CPU makes something. For instance it can be switch on LEDs or rotate a DC motor.
    But to do this kind of actions, I have to use an "FPGA Personality", LEDs and I/O Pins seem to be managed by the FPGA core. So I've to close my FPGA vi reference in charge of receive data from the CPU, make my LEDs switching on and then after rerun again my FPGA VI again, If I don't do that LEDs blinking or motor rotation stay without effect... But close and start again the FPGA VI creates problems during the execution, especially for previous waiting of reading on the DMA FIFO... I've tried to catch errors on the FIFO to start again the FPGA VI with a right timing but nothing... I'm lost and I think that I'm missing something, a concept or something else.
    I can't share my code because I'm working for a company but I would like to know if you have VI with this type of structure : an FPGA reference which have to be halted to allow hardware interaction with the default FPGA personality and then run again, everything with a good synchronisation...
    I hope I'm clear, but if it's not the case, I can reword if necessary.
    Thank you for the help !
    Afghow.
    Solved!
    Go to Solution.

    Afghow wrote:
    I think the end user doesn't have to know that when he wants to make LEDs blinking he has to call a FPGA bitfile. I mean running an FPGA VI and want to make LEDs blink from the CPU VI at the same time should be transparent for the user and this without keep in mind horrors like bitfile switching for instance.
    He doesn't have to load a different FPGA bitfile.  Everything you need that FPGA to do should be in the bitfile.  Keep in mind that we are talking about HARDWARE when we talk about FPGA.  Each time you change bitfiles, the hardware has to be reconfigured.  That takes time and is pointless for the situation you are talking about.  Build your FPGA code to do everything you need it to and you will be fine.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • [svn:osmf:] 10711: Adding missing reference to the VAST library.

    Revision: 10711
    Author:   [email protected]
    Date:     2009-09-29 21:38:56 -0700 (Tue, 29 Sep 2009)
    Log Message:
    Adding missing reference to the VAST library.
    Modified Paths:
        osmf/trunk/framework/MediaFrameworkAirTest/.actionScriptProperties

    Hi Marius,
    I think this problem could be linked to the changes in the layout API and the order of the loading of the video elements.
    Please try to add layoutmetadata with index property to parallel videos so they render in the correct order, something like:
                var layout1:LayoutMetadata = new LayoutMetadata();
                layout1.index= 10 ;
                videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout1);
                var layout2:LayoutMetadata = new LayoutMetadata();
                 layout2.index= 20 ;
                 vpaidNonLinear.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout2);
    Tell me if that worked,
    S.

  • The following files weren't attached because adding them would cause the message to exceed the maximum size limit of 35 MB: MALAWI .pptx.

    The following files weren't attached because adding them would cause the message to exceed the maximum size limit of 35 MB.
    I have had my macbook pro since June and have had no problems sending an email until I have tried to send a presentation today. The above message is what I keep receiving even after using 3 email accounts.

    Email providers often set file size limitations to conserve bandwidth and prevent service overload.  Most common seems to be a limit on the order of 21 MB.  If possible, break your presentation into two parts and send as two messages.

  • Did enabling feedburner after submitting my podcast cause problems?

    My podcast was submitted at http://www.audiotim.com/rss.xml, but since then I created a feed on feedburner at http://feeds.feedburner.com/AudioTim
    My two problems so far are that when I created my profile on feedburner for this site I added category, subtitle, etc but that isn't showing up on the itunes page; and secondly, I now have a weird message on top of my second post that reads:
    Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4
    I'm not sure if enabling feedburner after submitting caused either of these problems, but can you explain to me how to correct these two errors? I've read the http://www.apple.com/itunes/podcasts/techspecs.html page, but man is that confusing in regards to submitting metadata such as category, subtitle, etc.

    iTunes is looking for the feed at http://www.audiotim.com/rss.xml , which you have removed. What is displayed in the Store is cached from that feed, and won't be updated again unless you restore it. If you want to use the Feedburner version then you need to restore the original feed, and add the following tag in the top section (between the 'channel' tag and the first 'item' tag:
    <itunes:new-feed-url>http://feeds.feedburner.com/AudioTim</itunes:new-feed-url>
    You should leave the old feed in place for a couple of weeks.
    As to the mysterious message, this was in the original feed and is in the present one. It's something you've put there yourself, though I can't say how. Sometimes people use a word processor to create a feed or its contents and this causes problems with the hidden commands - you should use a plain text editor. If you've created this feed by submitting data to Feedburner and letting it write the feed, rather than simply submitting the original feed to Feedburner, you will need to find the pace where you entered this info, delete it all and write it in again.

  • FPGA reference gets invalid

    Hi,
    i am taking the reference of FPGA VI in RT code.  passing it to sub VI. Sometimes i see link(wire) between FPGA reference and Sub VI is broke. What could be the reason? if i recreate the sub vi input it solves the problem.
    Thank you,
    Ranjith

    If u do any changes in the FPGA code and complile,then ur FPGA reference will updated, but inside the subvis you placed the old reference controls only.so its showing broken arrow in all of your subvis.
    Balaji PK (CLA)
    Ever tried. Ever failed. No matter. Try again. Fail again. Fail better
    Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved.

  • My Mac is 15 months old and all of a sudden it has started resetting the time and date then I get a message saying not all apps will work because of the pre Jan date any help as to why ? Causing problems with wireless router.

    My Mac book pro is 15 months old and now suddenly it has started resetting the date and time, causing problems with applications and my wireless access. Any suggestions as to why this is happening and how to fix it?

    Seems the time isn't being saved to your computer correctly, it may be a corrupt file that isn't saving the time anymore.
    You can move the
    com.apple.systempreferences.plist
    file out of your Users/Library/Preferences folder to the desktop and reboot.
    then go to your System Preferences > Date and Time and set a time server close to your location (or in your time zone)
    (trash the file on the desktop if no ill issues occur later on)
    or you can follow/bookmark these support docs to reset your PRAM and SMC (and for future reference)
    http://support.apple.com/kb/TS2570
    http://support.apple.com/kb/TS1440
    http://support.apple.com/kb/HT1455
    http://support.apple.com/kb/ht3964
    http://support.apple.com/kb/HT1379
    http://support.apple.com/kb/ht1379
    http://support.apple.com/kb/HT1509
    I don't remember exactly where OS X is keeping it time settings now, but I think one of those choices should help resolve your issue and won't hurt anything giving them a shot. Perhaps someone else could refresh my memory.

  • Nomodeset or radeon.modeset=0 causing problems..

    I was having stability issues and font graphical errors occurring on an old T42 laptop running an ATI card.  I was pointed in the direction of adding "nomodeset" or "radeon.modeset=0" to the kernel line.   I've also deleted my xorg.conf per the wiki page.  The stability issues are gone, and the font glitches are too.  However, now it seems as though some programs aren't updating their graphics correctly.
    This is most obvious to me right now in Geany, as I'm using it a lot.  For example, notice the left pane here.
    It hasn't updated correctly after switching tabs over there and/or messing around in another window.
    However after I run my mouse over it, you can see what was supposed to be there:
    This is quite annoying, but better than the crashes..
    Any ideas?

    I'd also like to point out that none of this happened prior to the last update, so there are 2 cases:
    1.  Either KMS wasn't enabled by default in the older kernel, but I wasn't having the problems seen above... So I'd like to fix them.
    2.  KMS was enabled by default before, but it didn't cause problems on my older radeon until a driver update.
    If it helps to clarify at all, my other thread with the textual errors and what-not is here:  http://bbs.archlinux.org/viewtopic.php?id=84711

  • Null values from DB2 cause problems

    Hi,
    I have another problem with database link to DB2 using IBM iSeries Access for Linux on 64 bit OEL5 with Oracle Database gateway and unixODBC 2.2.14.
    DB link works. However, null values from DB2 cause problems. Date columns that are null on db2 return a date '30.11.0002', and character columns that are null return an error ORA-28528: Heterogeneous Services datatype conversion error.
    isql returns correct results.
    How can i fix this? Perhaps set some parameters for data conversion on the gateway?
    Thank you.

    If the driver is not fully ODBC level 3 compliant and misses functions, we're lost. But sometimes the drivers are ODBC level 3 compliant but miss the correct 64bit implementation. In those cases we can tell the gateway to use the 32bit ODBC level 3 standard by setting in the gateway init file:
    HS_FDS_SQLLEN_INTERPRETATION=32

Maybe you are looking for

  • How do I install my Kodak ESP C315 1827 All in one printer no CD drive on my MacBook Air

    Does anybody know how to install Kodak ESP C315+1827 to MacBook Air.  I have no CD drive and have tried sharing option, there is no Kodak APP in the App Store to download.

  • Need help on how forms developer is used

    to everyone: im actually new at forms developer 2000,at really wondering how to use it though i have a background in SQL.If you have any data that you can share to me explaining the whole environment of Developer 200 please send it to me. Any help is

  • Form builder is not opening in oracle linux

    Hi, I have installed Oracle EBS in enterprise linux 5.8 . when i am trying to open form builder with frmbld.sh following error occurs FRM-91113: Internal Error: cannot get default resource file name. FRM-10039: Unable to start up the Form Builder can

  • Blue Ray Recording

    Hi I have an iMac with mountain lion that has the latest updates, plus FCPX installed and also up to date with all updates. I have a BlueRay recorder attached via USB which worked perfectly well with fcpX, until I recently updated to the latest FCPX.

  • HR ABAP Learning.

    Hi Friends,       Iam working as an ABAP Consultant.       I want to enhance it to HR ABAP. <removed - requesting copyrighted material is prohibited > regards, phaneendra p Edited by: Arun Varadarajan on Apr 7, 2009 3:35 PM