LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Matching FPGA VI Reference typedef to different bitfiles

Hi, everyone!

 

I have several different "Open FPGA VI Reference"'s in a conditional disable structure, dependant on the target it is run under within my project. Each reference open is liked to a different bitfile and bound to the same typedef outside the conditonal disable.


My issue is that whenever the typedef bind breaks whenever the condition changes, and I have to open the typedef and select the right bitfile manually. I'm looking for a programmatic way to accomplish this typedef bitfile change, as I'm not finding any way to accomplish this by property/invoke nodes (maybe I'm just missing it).

I'm working in LabVIEW 2013 with a NI cRIO-9012 and a connected FPGA chassis. Everything works when I manually link the typedef with the correct bitfile. Let me know if I can provide any helpful screenshots - any guidance is appreciated!

0 Kudos
Message 1 of 6
(3,322 Views)

I've played around with this recently and often get myself confused between FPGA references (and how you can create reusable modules which use access the same FPGA but have access to different I/O nodes on the FPGA bitfile - there's a good example for that in NI's LCD library http://sine.ni.com/nips/cds/view/p/lang/en/nid/210210 - you drop the FPGA code in and the RT side just works with feeding in your own FPGA reference) 😄

 

I think the thing you want is here (https://decibel.ni.com/content/docs/DOC-35574) which replaces the dynamic FPGA interface library. I haven't played with the new version but it should allow you to access FPGA bitfile items by name, regardless of the target.

 

I think that might be what you're looking for...although with what you're saying it might just be a problem with your FPGA typedef and open FPGA reference settings (bind to your typedef rather than a specific file?)

 

 


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 2 of 6
(3,306 Views)

In the options for the "open bitfile" primitive there is the option "bind to typedef". Choose the typedef you are currently manually updating and LV should now do it for you automatically.

 

I was using FPGA a while before i found that out.

 

 

0 Kudos
Message 3 of 6
(3,290 Views)

You want to use a Dynamic FPGA Reference. You configure it to contain a list of controls, indicators, and methods that are accessible on the FPGA, and it will accept any dynamic reference wired to it that matches that type. Initially you create the reference from a bitfile or FPGA VI, and after you've done that you can remove any items that aren't shared with the other FPGA VIs that you want to use. Also update the type definition (which will no longer be bound to the Open FGPA VI Reference) so that it contains a dynamic fpga refnum, so that if you do change the FPGA interface, you only need to change that one type definition and it will be propagated to all subVIs that use the type definition to call the FPGA.

Message 4 of 6
(3,286 Views)

Both links are now dead.  I'm currently quite ineterested in this subject as I've been recompiling 3 times a day and am not seeming to get the proper bitfile loaded after recompiling my RT executable.

 

Frustrating.

0 Kudos
Message 5 of 6
(3,007 Views)

You should start a new thread as this one is quite old. When you do - include some information on how you are opening the FPGA reference.


LabVIEW Champion, CLA, CLED, CTD
(blog)
0 Kudos
Message 6 of 6
(2,968 Views)