LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Getting up to speed on FPGA

I have a PXI-7833R in a PXI-1042 chassis.  I am new to FPGA, and I want to get up to speed.  Can you help me with the following?

 

1. Are there any relating FPGA material that I can use?

2. I would like to play with my FPGA, but there is a production bit file in my FPGA.  I don't want to mess it up.  I want to

    2a. make sure that the bit file that I have is identical to the production bit file of the fpga

    2b. know if 2a is true, I can revert the FPGA back after I am done playing with it.

3. Any simple FPGA code out there that I can play with?

4. Any best practices for FPGA coding in LabVIEW?

5. Any exercise that I can follow with my equipment?  I want to program something simple and play with my equipment. 

6. Any classess out there that are geared toward a FPGA in PXI? 

 

Thanks!

------------------------------------------------------------------

Kudos and Accepted as Solution are welcome!
0 Kudos
Message 1 of 4
(2,639 Views)

I have an answer to some of your questions, and I'll try to reply as best I can.

 

1 and 6) Search NI knowledge base. It's always a good place to start. Also, NI offers an FPGA class which I have taken and can say is definitely worht while. Whether you are using an FPGA card on PXI or using FPGA on cRIO, all the best practices generally remain the same. If you can code on one, you can code on the other. These best practices however do not generally line up with best LabVIEW practices, so make sure you have a fundamental understanding of LabVIEW first. You don't want to begin thinking that how you code FPGA is necessarily how you should code a PC app. You will see lots of flat sequence structures, miminal subVI use etc all to improve efficiency among other things.

 

2) I'm not sure what you mean by production bit file. If you have whatever bit file is on there, though, you can always revert back based on what bitfile you set the open FPGA reference function to use. 

 

3) There is example FPGA code in the LabVIEW examples

 

4) Read some knowledgebase articles to get a general idea then come back with specific questions. In general the things I try to remember are any subVIs should be reentrant, and arrays are generally not used. Also, if you need to buffer data, use FIFOs not read/write controls. I see Read/write controls on this forum being used far too often for the collection of data. But if you do this, you have no buffering and you might as well use scan engine because your data acquisition rates are no limited by your RT processor and not the FPGA.

 

5) again, LabVIEW examples

 

Anyways, there you go.

Message 2 of 4
(2,633 Views)

When I said production bit file, I meant the bit file in the FPGA is used for production (very critical).  Is there a way to back up the bit file in the fpga and compare that back up copy with a file that I think is identical?  I am going to try different things and upload different bit file into the fpga, so I want to make sure that I can go back to the origainl state without fail. 

 

 

------------------------------------------------------------------

Kudos and Accepted as Solution are welcome!
0 Kudos
Message 3 of 4
(2,624 Views)

Oh, I think I understand what you're saying. This is a bitfile you built already, but now you want to try other things on the same FPGA without doing a compile that will overwrite this bitfile? Let me know if I'm incorrect. Anyways, there are a few things you can do. Using your SOURCE CODE CONTROL (which you should be using Smiley Wink) You can find the bitfile on disk and check it in. Then you can always back up to this. Or, you can create a new build spec under your FPGA target and use that build spec for testing, which will create a bitfile with a different name so it won't overwrite your existing one. There are a couple other options with keeping the build spec and changing the startup VI and bitfile name, but I don't think those are the most reasonable.

 

Your bitfiles are usually located on disk at <wherever your project is saved>/FPGA bitfiles unless you change where it is saved to in the build properties.

Message 4 of 4
(2,619 Views)