Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

fpga open reference difference calling bitstream file or VI?

Solved!
Go to solution
Is there a difference in behavior of the FPGA Open Reference when you set it to look at the VI versus the bitstream file?

Anything happening different behind the scenes?  Does it link to the bitstream file anyway when you point to the VI?

Thanks for the insight.
Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 1 of 11
(10,392 Views)
Solution
Accepted by topic author RVallieu

I assume you are using LabVIEW 8.x as LabVIEW 7.1 did not have the bitfile reference.

I do not know what the technical details are but when using the VI reference you must be working from the Project explorer where the FPGA code was created.  To use the FPGA code outside of that Project  you MUST use the bitfile reference.  This was a painful lesson to learn as the VI reference would cause a broken VI INIT when used outside of the project but would work fine when I opened the FPGA project to troubleshoot the problem.  I don't remember seeing that caveat in the documentation anywhere .

Visualize the Solution

CLA

LabVIEW, LabVIEW FPGA
Message 2 of 11
(10,391 Views)

 

Message Edited by macgreggor on 09-27-2007 08:25 AM

0 Kudos
Message 3 of 11
(10,386 Views)
As VADave explained if you use the VI instead of the bitstream, the project is used to find the bitstream, but in both cases it does use the bitstream file to download to the FPGA.
authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
0 Kudos
Message 4 of 11
(9,973 Views)

RVallieu,

 

There is no change in functionality whatsoever. The only thing to consider is what works best for you. If you prefer the convenience of calling on an FPGA VI that may still have some tweaking done to it, you can do this easily and orderly within your project. If you have an existing FPGA bit file save somewhere that you don’t need or want to access within the project, you can do that too.

Charlie M. CLD
0 Kudos
Message 5 of 11
(9,790 Views)

 

Would this also mean that

"Download VI to Flash Memory" does the exact same thing as "Download Bitfile to Flash" ?

 

 

 

 

0 Kudos
Message 6 of 11
(7,461 Views)

dbtestcon wrote:

 

Would this also mean that

"Download VI to Flash Memory" does the exact same thing as "Download Bitfile to Flash" ?


Yes. The only that can be downloaded to the FPGA or flash memory is the bitstream, which is generated from the FPGA VI.

authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
0 Kudos
Message 7 of 11
(7,439 Views)

 

Cool. I was thinking it did, but the documentation is less than informative. Smiley Wink

 

I'll be sending in a product suggestion that it be labled the same thing in the menus. If it is the same function, it should be labeled the same.....

0 Kudos
Message 8 of 11
(7,415 Views)

There are two other differences that no one else seems to have discussed here.

 

When you have open VI reference selected and you open the FPGA file and then just so much as move a wire, it requires a recompile before anything works. This is extremely frustrating. Open by bitfile reference only looks at the bitfile generated by the last compile. It doesn't care whether or not you have compiled the latest version of the FPGA file. Also, you can load bitfiles on the fly which allows you to break down an FPGA file that may have been too big for one FPGA file into smaller files and then load them at runtime as needed, which is pretty cool.

 

The downfall to the bitfile reference way is that it will break every reference wire that goes to a subvi. Fixing it is such a huge pain in the butt that I have given up on trying to use subVI's when I need the bitfile method. It makes for a huge block diagram but it is a lot less of a pain then the crazy coding gymnastics you have to go through to fix the wire breaks. The fix actually requires you to use only one specific bitfile reference per subVI, which makes the subVI pretty useless anyways.

---------------------------------
[will work for kudos]
Message 9 of 11
(6,586 Views)

What I have done in the past is to create a Daemon and put the FPGA reference there. This keeps the FPGA Reference out of the main code.  You do have to write one more peice of code but it can be worth it.  Another thought is to create an FPGA Class and have a child for each different FPGA Reference.  I have not tried this so I do NOT know if it will work.

 

 

Visualize the Solution

CLA

LabVIEW, LabVIEW FPGA
0 Kudos
Message 10 of 11
(6,570 Views)