Hi and welcome to another in the Arm “What Is” program series. In each episode, we dive into a
tech topic to give you insight and perspective into some of today’s hottest design trends.
I’m Brian Fuller, editor-in-chief at Arm and today we’re going to find out what is an FPGA?
And to help us with that, I want to introduce Rob Aitken,
Fellow and Director of Research with Arm. When he’s not helping us understand what is an FPGA,
Rob is leaving the house and tentatively trying restaurants and travel again!
Let’s dive right in!
Rob, what is an FPGA and what does FPGA stand for?
Thanks, Brian. FPGA stands for field-programmable gate array.
So a gate array is an array of look up tables, which are able to implement any logic function.
And field-programmable means that they are able to be programmed by a user in the field.
So why would a design team choose an FPGA versus say an ASIC or a standard off-the-shelf chip?
Another good question. So FPGAs initially were just that logic fabric, but they have expanded
over time to include processors, SerDes like PCI, memories and so forth. And they
are an easy path from a software concept to a piece of hardware. You're able to take your
algorithm and convert it relatively quickly into a piece of hardware that actually does something.
So the speed component is clearly important – how quickly can you get an idea implemented.
There is also the flexibility, if you are not quite sure what your design is trying
to do or you're building a prototype, an FPGA is often a good place to go because
you can change your mind and redo it in a few hours versus a few months for an ASIC.
More broadly, there's a cost trade off as well. So with ASICs, there's a high startup cost and a low
unit volume cost. For FPGAs, there's a low startup cost and then a higher unit volume.
So for certain lower volume levels, an FPGA is more cost efficient than an ASIC.
So what are some of the other design tradeoffs
normally associated with FPGAs versus other approaches?
There are a couple of tradeoffs that are important. So there's a cost, performance, power
tradeoff inherent in choosing precisely which FPGA you want. And there's an entire range of them from
very small and older generations to things that are built in the absolute latest generation
of CMOS. And at some level, it's a question of which one will fit your design. So your design
is going to take a certain amount of space and figuring out which FPGA has the capacity
to hold it, is that's part of the choice. In addition to that, there's sometimes a reliability
qualification part that's important as well where a particular FPGA may have been qualified for a
particular use. This is often true in aerospace for example and reusing that one is an easier
option than choosing a new one and having to go through the qualification process all over again.
So Rob, you mentioned aerospace,
are there other applications that are considered FPGAs' sweet spots? And why?
Yeah, there definitely are. The sweet spot applications tend to
have some commonalities, they typically have lowish volume where we mean thousands to maybe
tens of thousands, versus the millions or billions you might see with an ASIC.
They also tend to be high complexity problems where you’re not entirely sure how to implement
it in software or you might want to change it in order to get the performance you need, etc.
And there’s some sort of flexibility associated with that. So some typical places where those
occur are places like telecom where you have software-defined networking or you have radio
standards that you want to be able to augment or update over time. Another interesting one
is emulation where as part of ASIC design, you actually might prototype your ASIC on a FPGA or
multiple FPGAs and then run through some potential designs until you settle on one that you like. And
finally there’s a data center which encompasses several of those, where you might actually want to
have a fabric of FPGAs available for use by data center customers or alternately you may have some
specific machine learning algorithm or similar that want to be able to accelerate at your data
center. And you may want to change that again next week so having a FPGA is a better answer
in that circumstance than ASIC. So those are places where we typically see FPGAs being used.
Well thank you Rob! I think we know a lot more about FPGAs now than we did just a few minutes
ago. Now check out all our other “What Is” episodes here and be sure to subscribe to
this channel because we’ll be adding more as the year progresses. Thanks for listening!