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.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Selecting the right FPGA board

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

-------------------------------------------
PXIe-1071
PXIe-8115 Embedded Controller
PXIe-6363 X Series Multifunction DAQ
PXI-7854R FPGA
0 Kudos
Message 1 of 6
(4,195 Views)

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.

0 Kudos
Message 2 of 6
(4,181 Views)

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?

-------------------------------------------
PXIe-1071
PXIe-8115 Embedded Controller
PXIe-6363 X Series Multifunction DAQ
PXI-7854R FPGA
0 Kudos
Message 3 of 6
(4,156 Views)

@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.

0 Kudos
Message 4 of 6
(4,149 Views)

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!

-------------------------------------------
PXIe-1071
PXIe-8115 Embedded Controller
PXIe-6363 X Series Multifunction DAQ
PXI-7854R FPGA
0 Kudos
Message 5 of 6
(4,119 Views)

@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.

0 Kudos
Message 6 of 6
(4,111 Views)