Software Validation Questions - FPGA (Field Programmable Gate Array)

T

tomnmiami

We have an electronic device which contains an FPGA (Field Programmable Gate Array). This is a semiconductor that is configured, to our specification, to perform a specific function. Our opinion is that the FPGA is hardware, even though it performs a function defined by us. We think of it the same way one would think of a transistor (which is also a semiconductor, usually used to amplify or switch and electronic signal). As such, we do not intend to perform software validation on the device.

Do any of you have experience with FPGA's and can confirm our position?

Thanks,
T
 

Marc

Fully vaccinated are you?
Leader
Does anyone here have any background in FPGA's (Field Programmable Gate Array) or similar who can help with this?
 
D

ddunn

First some questions.
1. When is the FPGA programmed?
2. How is the FPGA programmed?
3. It there an initialization or boot program loaded?
4. Who developed the FPGA program?

If the FPGA is preprogrammed it is an assembly consisting of the blank part and the program. The loaded software is validated during functional test of the assembly.

If the FPGA is programmed during product use through the system software then the FPGA program is validated with the system software.
 
T

tomnmiami

The binary code that tells the FPGA what to do is loaded onto the FPGA, from internal memory, when the system initialization starts (at power up). We created the code using a standard hardware description language, and it's loaded into the internal memory by the vendor who makes our circuit boards.

Does this change anything?

Thanks,
Tom
 
I

icare2much

I think it is important to understand the underlying needs when talking about software validation, and whether it applies. If the software is very complex and cannot be fully verified - i.e. all the possible branches and error conditions are not feasible to test, then software validation considers the process of development as well to reduce the risk of bugs.

Apply this thought process to FPGAs - if your FPGA is relatively simple and can be 100% tested to verify its functionality - I agree it could fall into the hardware domain. However - if it is not feasible to test it fully (we have FPGAs that are extremely complex) then treat it as software.

Sorry, to summarize, I guess I'm saying "it depends"!! :notme:
 
F

fpgawiz

Google for "NASA Assurance of Complex Electronics" and it will lead you to a NASA website with a very elaborated process for FPGA validation as compared to software IV&V..

but the previous answer is a very good point that summarizes it well.
 
J

John Mann

In my opinion a FPGA is hardware. What do you use to "program" it with? - Hardware description language!

The FPGA should be verified in the same way as an electronic circuit using discrete components.

That said, my present employer does not permit me to be involved with FPGA design because "FPGAs are software - you program them":mad:
 
J

JSambrook

I'm wondering if the thinking on this post has changed at all since it was last updated.

I believe FPGA development, unless it's almost trivial, is software development. Yes, it's a specialized kind of software, the programming model is a bit different, but (in the case of one of our clients) they have tens of thousands of lines of VHDL code, it's iterated almost constantly during development, testing finds defects, etc.

I'd appreciate it if anyone could relate what they are seeing in practice. Are your companies or clients developing FPGA code for a medical device and not striving to comply with standards such as IEC 62304?

Thanks in advance for any replies.
 
Top Bottom