From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple exe, same FPGA

I've noticed that you can have multiple VIs accessing the same FPGA each using their own FPGA reference (But to the same FPGA VI or bitfile) as noted in:

 

Using Multiple FPGA VI References for the Same Target (FPGA Interface)

 

I've also noticed that even though this article notes:

 

Note  You can have multiple host VIs access the same FPGA VI. However, you must use caution to avoid writing to or reading from the same FPGA VI at the same time.

 

That it doesn't really matter if you access the same FPGA VI at the same time as long as you don't access the same controls of the same FPGA VI at the same time (I would love to see an explanation of the inner-workings of why this is the case).

 

So, my question then is:

 

Can multiple compiled EXE's do the same thing?  That is, can two EXEs built by application builder access the same FPGA VI or bitfile using their own independent references?

 

Why do I ask?  I have an FPGA which is split into multiple functions.  One function is a serial interface which is essentially completely independent of the rest of the FPGA.  I would like to have a server EXE that could be run independently of any other EXE which might be using the same FPGA (For its other functions).

 

Thanks,

 

Robert

0 Kudos
Message 1 of 5
(2,896 Views)

Hello Robert,

 

I am in the process of testing this out but are you interested in calling the bitfile dynamically? Or upon deployment to the device?

 

Thanks!

Collin D.
Software Product Manager
0 Kudos
Message 2 of 5
(2,851 Views)

Currently, I do call the bitfile dynamically in one VI and I use the older open VI reference in another.  Is there a difference in the resulting reference from each method?

 

There are a few issues with the open dynamic reference:

 

The Open Dynamic bitfile Reference function is not documented in the LV2014 help files that get installed with LV2014.  It's on-line, but thie installer needs to be fixed.

 

Needing both a static type and a bitfile path (Though I understand why) seems to defeat the utility of the function itself.  Is there no way to prevent the need to supply a type, so that changes to the bitfile don't result in havving to replace the type constants all the time?

 

The bitfile path needs to be capable of using relative paths (EX: "..\bitfiles\mybitfile").  It's extremely difficult to deal with absolute paths all the time (Especially when working with LabView RT).

 

0 Kudos
Message 3 of 5
(2,804 Views)

Hello xl600, 

 

I believe I misunderstood your initial question. After going back over it, there should be no reason why accessing the same bitfile with two EXE's and using separate controls would work fine. Some of your comments about LabVIEW 2014 are greatly appreciated but will have more impact at the LabVIEW Idea Exchange which is monitored by our Research and Development Department. As for the difference in dynamically loading and opening a normal FPGA reference, dynamic loading is done at run-time opposed to the FPGA reference which is linked upon deployment. Let me know if you have any more questions but, as with most things LabVIEW, feel free to try it out!

 

Happy LabVIEW coding!

 

Thanks,

Collin D.
Software Product Manager
0 Kudos
Message 4 of 5
(2,769 Views)

I'm going to assume you meant to say "Accessing the same bitfile with two EXE's while using separate controls should work fine.".

 

Thanks 🙂

 

Robert

0 Kudos
Message 5 of 5
(2,763 Views)