09-10-2014 12:14 AM
My lab has been renting a NI PXI-7854R fpga board for the past two years, but we are planning to purchase one in the near future. The same board is not within our budget, so we are looking at the 7851, 7852, and 7853. As the main difference between these boards is the onboard memory, I was wondering if there was any way to check how much of the memory is being used by the programs we have loaded into it already.
I appreciate any incite
09-10-2014 09:36 AM
What version of LabVIEW and the FPGA toolkit are you using? After a compilation is done the dialog should show you how much of each resource is being used. There is also a log of the compile which is generally found in C:\NIFPGA\compilation\Your Project\XilinxLog.txt. Search the file for the % symbol. There are all kinds of different types of memory, and logic units in an FPGA and it is hard to know which ones you are using, and which ones you are using up.
The good news is you can actually change your target to your new card, then perform the compile, and see what the resources look like so you can know if your code will fit before buying the card. Create a new project, right click My Computer, choose New >> Target or Device. Then pick New Target, then pick the R series card to compile for. Now you can add your VIs to the target and build just like you would for your normal card. Just in the build specifications it won't have an actual device to upload to.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
09-12-2014 12:58 AM
Thanks for the help! We are using Labview 2013 and the Labview real-time 13.0.0, NI-DAQmx 9.7.5, and NI-RIO 13.0. I compiled to the fake board as you instructed, but I don't really understand which of the parameters I should be concerned with. I attached a screen shot of the Device Utilization Summaries for the 4 VIs I would be using mostly. Does it look like I'd be able to run all 4 without having to recompile each time?
09-12-2014 07:27 AM
@Tokodaisei wrote:
Does it look like I'd be able to run all 4 without having to recompile each time?
What do you mean by this? You want to switch between 4 compiled setups? Or do you want a single compile that all 4 fit into?
After you compile you create a bit file. You can switch between bit files without needing to recompile. All it does is download the already made bit file.
I would be conserned that your Local IOBs are at 100%. Not sure how the external ones can be used, but if you need more you'll hit a limit and need to code differently to make it all fit.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
09-15-2014 11:49 PM
I just need to be able to switch between the four. I wasn't entirely sure how the compiling process worked, but if the program just downloads a bit file before running, then I guess it'll be fine. The local IOBs were at 100% on the 7854R card we're using now, so it doesn't seem like that will be an issue. Thanks for all your help!
09-16-2014 09:09 AM
@Tokodaisei wrote:
I just need to be able to switch between the four.
Yeah that is how it works. On the FPGA open function on the host, you can provide the path to the bit file already generated for that card which gets downloaded. I think starting in 2013 the path could be provided, in 2012 and older you couldn't define the path a run-time but you could choose from different predefined open functions, which had the path as a constant in it. So either way you could switch between bit files.
Just know that the bit file generated for a card, cannot be used on another card of a different model. You must recompile to make a new bit file for that card.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
16 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord