Introduction to LabVIEW FPGA
I will start this review off by saying I am not much of an FPGA programmer. I took the NI class over a decade ago and I have an sbRIO dev kit sitting at home that I have played around with, but that is about it. On some previous cRIO projects we had used the FPGA, but someone else wrote the FPGA code. I simply had to interface with it. So my background knowledge is pretty minimal. I know just enough to know that it is not the same as writing code for Windows or even RT.
When I saw earlier this year that Terry Stratoudakis of ALE Consultants was writing a book on LabVIEW FPGA, I immediately added it to my list. There aren’t too many LabVIEW FPGA books out there (I don’t know of any). Terry has a good reputation, so I thought it would be a good book and it might come in handy at some point. Before I could get around to buying it, Terry offered to send me a copy.
It arrived a few weeks ago about the same time I started a new project that actually involved some FPGA programming. I thought I would read this to brush up. It was like drinking from a fire hose. There is a lot of information here. It really made me realize how little I actually know. Terry goes into a lot of detail about various FPGA technologies for data transfer and communication with the host and other cards. A lot of that went over my head. I was able to follow the basics, but I am not sure I got all the details. That isn’t too much of a problem, because the book provides tons of references. I didn’t spend a lot of time diving into them, but I am confident that if I ran into a problem, I would immediately know where to look.
Aside from realizing how little I really know, there were 2 points I took home from the book. One is that writing FPGA code is very different than writing regular LabVIEW code. You have to think like a hardware engineer. The second point is that writing FPGA code requires good software engineering skills. It is possibly even more important than it is for regular LabVIEW Software since builds take much longer and debugging can be a lot harder.
If you are interested in getting into LabVIEW FPGA, particularly RF and high throughput projects, I highly recommend the book. You’ll learn a lot. It also has an extensive bibliography to help point you in the right direction. I would probably take the basic LabVIEW FPGA class first if you haven’t already taken it. I think things would make more sense then.
Since I started writing this post, I got the chance to work with Terry and his colleague Brian. The company I was doing some FPGA work for decided they needed more help, so they brought Terry and Brian in as the FPGA experts. I was very impressed. They definitely have a very well-defined process, which I found quite useful. I learned a lot. If you need help with high-speed FPGA apps, you would be wise to talk to Terry and Brian.