LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

can i use fpga to replace embedded code%3F

hi

I used labview from verion 3 to version 7 and have not had the opportunity to use the FPGA features and wonder if anyone could assist.

 

the project uses an embedded processor to control a micro PCI board or minipci;  it runs openwrt linux and has to implement drivers directly for the pci board.  the problem is crashing of the software.  and the software that was built was done by a single person contractor, it never worked right.  the contractor did not want to have any support role. 

 

the hope is to implement some functionality into an FPGA and make functions modular so they can be tested for reliability.  there would still be some embedded board but interfacing that side to a working FPGA would be easy.  Im wanting to know what i could do in labview in pc/windows on a bench to make the controller side of things, then cast this into FPGA code?

 

thanks

0 Kudos
Message 1 of 6
(2,974 Views)

First, LabVIEW FPGA can target only NI boards. That may prevent you from using it the way you hope.

 

I'm confused about your question, though. Which part do you want to replace with an FPGA? I would not recommend attempting to replace a linux system with an NI FPGA board, unless you are using only a very small portion of linux's functionality. An FPGA is generally an addition to an embedded system, not a replacement for one (with the exception of FPGAs that implement general-purpose processors, not applicable to the NI boards as far as I know).

0 Kudos
Message 2 of 6
(2,964 Views)

it ONLY targets the boards made by NI ??

 

wow, dont know how i missed this.  The idea i heard from all of the NI material was that sure, the ni hardware is the first choice, this (fpga add on package) would be a tool to replace other fpga design software, and, you could get a compatible programmer board and assuming only a certain variety of supported fpga chips and program them externally for any use.

 

and sorry i wasnt clear.  what i would plan to do with this is take a specific processor-software task that would normally be done by the embedded cpu and c code running under some os like linux and offload this in an fpga that would do that processing.  then, my linux platform would then just have to have code written to talk to the fpga interface.

 

no, i wasnt implying that it would take the place of an os.  trying to do that and one comes in a circle back to needing some kind of precanned os.  

 

for example, in my one project there is an embedded board with intel processor and its compatible with openwrt, a lightweight linux that has great sw support, for being free anyway.  the embedded board has an add in board that has registers etc.  the cpu has to manage talking to those registers.  then, the cpu is also trying to do other processing of the data its getting from a network connection.  it cant keep up.  the software runs or freezes on a whim.

 

to be able to fix it? would require an emulator with breakpoints.  there is none.  printf's out the com port? would still take months to debug

 

so to take care of cpu heavy asychronous events, and to make the sw more modular, take these impossible tasks and put them into an fpga, then the cpu only talks to the fpga.   and if it misses a nanosecond here or there it wont crash (as easily)

 

designing in some fpga chip to add onto the board would be a relatively simple task, it seems

 

but if NI's software doesnt support external fpga chips?   well....  the only other possible thing would be if the NI software was able to compile into c code that could be cross assembled onto that processor, but then its a race and timing and interrupt question again

 

 

0 Kudos
Message 3 of 6
(2,959 Views)

Hi RogersB,

 

Yes, LabVIEW FPGA only supports NI hardware. 

 

Your desired architecture of a real time OS that is communicating with the FPGA is the standard architecture we have for our RIO (single-board RIO, CompactRIO) products. These include a LabVIEW FPGA-programmable Xilinx FPGA target and a real-time OS such as Pharlap, VxWorks, or Linux RT that communicates deterministically to the FPGA through the FPGA front panel or DMA FIFOs. If you are interested in this kind of solution, I would recommend checking out our newest cRIO which also is the first to feature the Linux RT OS - the CompactRIO 9068.

 

FPGA is a huge benefit because we can take advantage of its 40 MHz onboard clock (25 ns minimum loop time) to do extremely fast hardware-based processing while communicating through the RT target which also has network and file I/O capabilities.

 

I hope this clarifies your questions!

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 4 of 6
(2,928 Views)

Hi Joey

 

thanks for clarifying.  My next question is if using the RIO setup and linux RT i was able to create a system that worked, could this design then be migrated onto a custom low cost board?    or would this strictly be limited only to the NI development hardware itself?  woudl any part of the finished design be able to migrate to some design for production?

 

in this case its a product where low cost is important, and the hope here was that the concept is proven on the bench and then a finished design be created. its sounding like this is not the case.

 

if not, would you (or would anyone) be able to comment on the concept of creating and testing the design on the bench using the NI hardware and tools, then outputting it into a small low cost embedded board?

0 Kudos
Message 5 of 6
(2,914 Views)

Hi RogersB,

 

Our solution for that deployment question you were asking is the Single-Board RIO (sbRIO), which is only the RT controller and the FPGA on a board with basic DIO and possibly some Analog I/O as well. Some of these have extremely small form factors, making them ideal for embedded OEM applications. For example, the sbRIO 9606: https://www.ni.com/en-us/support/model.sbrio-9606.html

 

The pricing for these is dependent on the quantity - for a quote you can call 800-433-3488 and an account representative will be glad to help you!

Joey S.
Senior Product Manager, Software
National Instruments
0 Kudos
Message 6 of 6
(2,903 Views)