09-04-2020
08:40 AM
- last edited on
03-06-2025
03:47 PM
by
Content Cleaner
wiebe@CARYA wrote:
https://www.ni.com/en-us/shop/product/labview-fpga-ip-export-utility.html
So the answer to the question "Is possible to program any FPGA with LabView FPGA" seems to be "yes, you can use LabVIEW FPGA to create VHDL to program any FPGA."
That matches exactly what I was told in person. So it IS possible, and it IS legal, but I have no idea how HARD it is to do. But still, a very interesting possibility.
09-04-2020
09:52 AM
- last edited on
03-06-2025
03:47 PM
by
Content Cleaner
@Intaris wrote:
wiebe@CARYA wrote:
https://www.ni.com/en-us/shop/product/labview-fpga-ip-export-utility.html
So the answer to the question "Is possible to program any FPGA with LabView FPGA" seems to be "yes, you can use LabVIEW FPGA to create VHDL to program any FPGA."
That matches exactly what I was told in person. So it IS possible, and it IS legal, but I have no idea how HARD it is to do. But still, a very interesting possibility.
Well you need to be intimately familiar with your target toolchain (Quartus Prime in case of Intel FPGA) and likely be able to do some hand-editing to the VHDL sources that the LabVIEW (Vivado) exporter generates. That's because while VHDL is a pretty high level definition language, it's also compiler tool specific how it is tied into the specific work flow and there are various versions out there, and not all tools support all versions by far. Also there are variants in how certain things can be represented and while tool X prefers variant 1, tool Y will not like that at all.
Which gets you quickly into the position, if someone is intimately familiar with a specific toolchain (e.g. Intel Quartus Prime) they are not very likely to even want to spend half an hour to get to know LabVIEW FPGA (and the Vivado specifics).
So yes it is possible but a rather infrequently exercised workflow. Where it could work is in large teams with developers with certain domain specific knowledge and LabVIEW experience who develop a certain algorithme on NI FPGA hardware and then export the design and throw it over the cubicle wall to their collegue with extensive FPGA VHDL knowledge for integration into a mass production FPGA design. The case where the same person would develop in LabVIEW FPGA and then integrate the resulting design into a low level VHDL design for a custom made FPGA hardware is very seldom, if it even ever happens.
09-04-2020 10:00 AM
@rolfk wrote:
So yes it is possible but a rather infrequently exercised workflow. Where it could work is in large teams with developers with certain domain specific knowledge and LabVIEW experience who develop a certain algorithme on NI FPGA hardware and then export the design and throw it over the cubicle wall to their collegue with extensive FPGA VHDL knowledge for integration into a mass production FPGA design. The case where the same person would develop in LabVIEW FPGA and then integrate the resulting design into a low level VHDL design for a custom made FPGA hardware is very seldom, if it even ever happens.
This, although it's a very niche situation, is still a welcome addition.
We know LabVIEW. Our partner knows VHDL. Together we shall rule the world. Together we may find a solution.
09-04-2020 10:38 AM
@Intaris wrote:
@rolfk wrote:
So yes it is possible but a rather infrequently exercised workflow. Where it could work is in large teams with developers with certain domain specific knowledge and LabVIEW experience who develop a certain algorithme on NI FPGA hardware and then export the design and throw it over the cubicle wall to their collegue with extensive FPGA VHDL knowledge for integration into a mass production FPGA design. The case where the same person would develop in LabVIEW FPGA and then integrate the resulting design into a low level VHDL design for a custom made FPGA hardware is very seldom, if it even ever happens.
This, although it's a very niche situation, is still a welcome addition.
We know LabVIEW. Our partner knows VHDL.
Together we shall rule the world. Together we may find a solution.
I guess there are FPGAs (the ones NI uses) that are more 'compatible' with the NI tools than others?
While not all FPGAs "play nice" with LV, by carefully picking one, would it be feasible minimize the pain to a degree that it becomes practice?
Picking LabVIEW to program any FPGA is one use case (that we can dismiss). Another use case would be that we pick a specific FPGA, so we can scale up while using LabVIEW. That would help in some situations...
09-04-2020 10:52 AM - edited 09-04-2020 10:55 AM
Well, in terms of VHDL compatibility I would expect that use with the Vivado toolchain has likely the least problems, so this would mean if you want to export a LabVIEW FPGA design to VHDL for use in a custom FPGA design it would be probably easiest if that FPGA design uses the according Xilinx FPGAs that ar supported by Vivado.
The other use case you seem to alude too, about using LabVIEW FPGA directly on non-NI hardware, even if it uses the exact same Xilinx chip as the LabVIEW FPGA targets, will be technically very hard to do and legally not possible, since you would need to have also the according LabVIEW RT implementation on that target and while NI somewhere states that you need to contact them for licensing questions about this, I'm not sure there ever was any customer who actually got such an agreement.
And yes NI Linux RT is open source, but that is not the problem. You can recompile and install NI Linux RT itself on any hardware platform you like but that is just the OS. You do not have the legal rights to put the LabVIEW Runtime (lvrt.so and lots of other files) and all the many NI-VISA, NI-this and NI-that on your hardware. Without these files it's simply a Linux target but not something where you can run any LabVIEW VI on. And in the case of NI-RIO, which is the entire driver that interacts with the FPGA, you will be very hard pressured to get that working on your own hardware. This interfaces to NI developed specific VHDL core components that are encrypted and even if you could decrypt them it's legally not allowed to use them.
09-04-2020 12:21 PM
@rolfk wrote:
The other use case you seem to alude too, about using LabVIEW FPGA directly on non-NI hardware, even if it uses the exact same Xilinx chip as the LabVIEW FPGA targets, will be technically very hard to do and legally not possible, since you would need to have also the according LabVIEW RT implementation on that target and while NI somewhere states that you need to contact them for licensing questions about this, I'm not sure there ever was any customer who actually got such an agreement.
Well there are some pretty wild assumptions in there. Who said anything about interfacing via RT Code?
Just having modulators and demodulator code in an end device (accessible via standard I/O, Ethernet, USB whatever) where code updates can be accelerated via LabVIEW code is already a big benefit for us. More this direction than simulating an NI product.
09-04-2020 01:16 PM
My use case for a custom FGPA was to replace 3 FlexRIOs with 500X3 FPGAs.
A RT System would not be involved at all.
But of course no RT OS limits the applicability.