08-22-2013 01:19 PM
In Labview FPGA, to transfer data among parallel loops, there are three ways or maybe more, local variable, global variable and block memory. The problem with local variable is that it needs an indicator along with, not like global variable. I was thinking why Labview doesn't make a kind of local variable not need indicator? I guess local variable itself doesn't cost resource much compared to global variable, however when it comes into indicator, it will cost more. Just an idea, though. I guess there is a reason NI doesn't do that.
08-22-2013 11:37 PM
You can do this sort of in LV 2012. create a "register" and read/write it
08-23-2013 03:49 AM
On FPGA, isn't a local variable without a control/indicator not simply a global variable? I would intuitively say that you're actually looking for using global variables.
08-23-2013 07:46 AM
Globals arre arbitrated on entirely though. So if you have 15 things in the global it becomes hard to meet timing. Or you could make 15 globals. Or use registers instead
08-23-2013 08:33 AM
As in Labview document, global variable can be used for transfer data among VIs, which local variable isn't capable of.
Global variable is not always a better solution. From my experience, it is still unclear among different compilations using local vs global in terms of resources. A thread here http://forums.ni.com/t5/LabVIEW/FPGA-global-variables-vs-front-panel-items/td-p/1407282 talks about that too.
Stephen, is there any documents say that global makes timing worse? I didn't see this noticeable.