Re: [RFC PATCH] fpga: Introduce new fpga subsystem

Pavel Machek
2013-09-25T12:00:55Z

Hi!

> >> The firmware approach is interesting. It might be less flexible
> >> compared with my original code (see link to git below) that this is
> >
> > On the other hand... that's the interface world wants, right? To most
> > users, fpga bitstream is just a firmware.
> >
>
> No, not really.
>
> The typical assumption with the firmware interface is that there is
> exactly one possible firmware for each device (possibly modulated by
> driver version, but still.)

Actually, I have seen counterexample there, too. Wifi card had
different firmware for host and access points mode, probably because
internal RAM could not fit both at same time.

It is not really different; there's internal logic and you are
programming it to do something. You can program FPGA, CPLD, or
firmware for some embedded CPU.

> This is blatantly not true for an FPGA in
> the most extreme way possible -- there are an almost infinite number of
> ways one can load an FPGA.

Well, usually the FPGA has some function on the board (unless you are
using it for compute acceleration), and it also wants just one
version. If you have FPGA-based GSM board, you'll want GSM
firmware. If you have FPGA-based WIFI, you'll want WIFI firmware. If
you load GSM firmware there, it will very likely not work because it
needs different amplifiers etc.

Heck, you probably _could_ use your WIFI card for cryptographics
operations just by loading different firmware. People just don't do
that. I don't expect that to be too different in the FPGA case...

> However, I have to question the whole idea of an "FPGA subsystem" --
> there is an almost infinite number of ways to program an FPGA or FPGA
> programming device (which may even be a commodity flash with a
> microcontroller or CPLD, and may be shared with other devices), and it
> really doesn't make any inherent sense to lump them together.

Firmware loading methods are also different, yet it makes sense to
have uniform way of loading firmware. This is very similar situation.

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html