Highlights from the element14 Webinar
On July 22nd, 2021, three engineers from three prominent FPGA (Field Programmable Gate Array) manufacturers appeared on a panel for the element14 community to discuss FPGAs. The panelists covered a lot of ground, including the strengths of FPGAs, ways to learn how to develop with them, and when you might want to use an FPGA over other options, such as an ASIC or MPU.
The panel was moderated by Tariq Ahmad from element14. The panelists were:
- Jayson Bethurem, Product Line Manager at Xilinx, Inc. (left)
- Eleena Ong, Sr. Director of Worldwide Applications and Customer Engineering at Lattice Semiconductor Corporation (middle)
- Martin Kellermann, Business Development Manager for FPGA at Microchip Technology, Inc. (right)
The discussion started off with the question of how new users can get started developing with FPGAs, and how that differs from FPGA development in the past.
Eleena Ong suggested visiting FPGA manufacturer websites to browse the resources there, as most manufacturers have rich documentation and instructional videos for their tools. Many also have instructor-led workshops, such as LEC2 (Lattice Education Competence Center).
Martin Kellermann also discussed the large amount of resources available online, such as on Github or YouTube, in addition to a variety of forums, like Stack Overflow or vendor-specific forums. Formal training is also available from various training companies, as well as Microchip University.
Ong also suggested obtaining a development kit, a board prepopulated with an FPGA and various add-ons, such as sensors and LEDs. A good place to start is reference designs from the manufacturer; as Ong mentioned, “a lot of FPGA vendors today have a very rich portfolio of IP that are readily available for you to use. It can be a hard IP that's already implemented on the silicon itself, such as PCI Express, Ethernet, DDR memory controllers, or it can be soft IP.”
All three panelists talked about an FPGA’s primary advantage: flexibility.
Microchip Polarfire FPGA
Kellermann described how FPGAs can be reprogrammed as products change. According to Kellermann, “Product specifications have a tendency to change or to evolve. One feature or functionality that you have may be irrelevant tomorrow or also vice versa; something that you don't have will become essential. Also, think about security; if you have built a machine that is connected to a network, everything is deemed okay and everything is running, and all of a sudden you discover a security vulnerability. If you're on an ASIC, tough cookies.”
The biggest barrier to entry for designing with FPGAs has typically been a steep learning curve; programming was done using HDL/RTL and other low level programming languages. The panelists discussed how their companies have addressed this and what the current tools look like, especially as FPGAs are evolving to become more complex and powerful.
Jayson Bethurem talked about how FPGA development was limited in the past to RTL code. These days, tools have evolved to use higher level languages. According to Bethurem, “You don't have to learn RTL code. We can take direct C code and program these devices. You can now use Python to program our devices.”
Xilinx Kria SOM
Bethurem then discussed the increasing complexity of Xilinx FPGAs, with the addition of processors like GPUs and AI Engines, and talked about the importance of frameworks. “What it really comes down to is the availability of libraries. Frameworks are available to you, and tools to convert those high-level abstract languages down into the program of logic.” He elaborated: “When we look at our programming now, how most users are using our devices, most of them aren't even writing RTL anymore. They're simply using these higher level languages and frameworks with libraries to program our devices.”
Ong brought up ease of use as one of the most important qualities for FPGA development tools. She went through the process of what the tools do, that is, programming a bitstream into the device, and then talked about making them easier for the end user to use. According to Ong, “Instead of HDL, you can use C, you can use Python, and then the tools will essentially map that into hardware. If you are familiar with using MATLAB, there are also tools that are available, third party as well as vendor specific, that allow you to map those algorithmic factors into the FPGA.”
The panelists next discussed what the best way to design using FPGAs might be.
Kellermann suggested starting with a blank piece of paper and drawing out the design, first gathering all requirements, working out the necessary hardware, and then looking at software tools. In many cases, the easiest way to start is to leverage existing frameworks provided by the manufacturer. According to Kellermann, “That's something where you really want an IP, something generated for the tool. If you look at the Libero tool, there are a lot of interfaces that you can get.”
Bethurem agreed with Kellermann, and expounded with, “I just did a webinar with Tariq at element14 where we built an entire ARM Cortex processing system with a whole set of peripherals, and connected to external sensors and collected data. We basically built our own custom microcontroller and I wrote zero lines of RTL code or HDL.”
The panelists agreed that, although the development tools enable engineers to program without using low-level code, working completely in HDL/RTL is a valid development method, and their software tools fully support it.
The discussion moved towards FPGA applications; when to use an FPGA and when something else, such as an ASIC, would be more appropriate.
Ong emphasized the flexibility of FPGAs, saying, “With FPGAs, you can create literally any ASIC that you want, obviously within the boundaries and capabilities of the FPGA.” She added, “I would say that the second key point is time to value. Or time to innovation. If you want to get something off the ground really fast, FPGAs are a really good choice. You don't need the long lead time, which could be years, developing your ASICs.”
Lattice CrossLink Development Board
Ong then turned to the strengths of ASICs: “If you don't need the flexibility, you don't necessarily have to use FPGAs. If you need super ultra-high frequencies to realize your design, then FPGAs may not be the best fit for you.” She added that FPGAs, however, have a parallel architecture, which may let you achieve similar throughput without needing ultra-high frequencies.
Bethurem pointed to the flexibility of FPGA architecture, giving it an advantage over an SoC. “(SoCs) have to share the memory that's in the processor…everybody with cache architectures. Sometimes that memory isn't large enough to hold the batch size that the software applicaction is trying to use, and so your cache is already crippled, and if you have multiple core processors in your system, they're all accessing this cache. They're suffocated and starved because of this.” He added that FPGAs have a custom memory architecture, enabling the engineer to “associate customized, localized memory right next to those peripherals. That is where you get the performance. That's where you get the determinism and your design and the low latency.”
Streaming was brought up as an application that FPGAs handle particularly well.
Kellermann pointed out that with the custom memory architecture, streaming can be optimized, adding, “The big benefit of FPGAs is also, not just having the local memory, but also the possibility to do streaming. You don't have to do this ping ponging back to external memory; you just have the memory that you need to process that data. You process the next bit, do the next bit. And you're saving so much power and time on that approach. It's incredible.”
The panelists then talked briefly about the future of FPGAs.
Ong stated that she is very optimistic about FPGAs, pointing to “an ecosystem of users and partners that are aggressively innovating directly on and around FPGAs.” She added: “A lot of the fancy stuff that's happening, they're not necessarily just done by the FPGA vendors, but a lot of third party innovators.”
Bethurem relayed a story about mining cryptocurrency: “People were doing cryptocurrency mining on their computers until they realized that power wasn't efficient anymore. What did people do? A company up in the Pacific Northwest, they took a little Artyx-7 board, PCI accelerator, plugged it into their car and started doing, crypto mining currency on that, and accelerated it and got all their CPU cycles back and made some money.”
A question was brought up about low power consumption and why it’s important.
Kellermann answered that low power isn’t just about saving energy, but also reducing heat. According to him: “The more power you put into a device, the more it heats up, and that is really something that you have to consider in your system design. If you look at heat sinks, fans…if you can save them, obviously this is a saving on the bill of materials, and then when it's out in the field, there is less that needs to be repaired.” Additionally, lower heat means less heat spread to surrounding components, such as cameras or infrared sensors.
As the panel came to a close, the panelists were each given an opportunity to talk about their companies and what their products focus on.
Ong talked about Lattice’s new Nexus platform, built on FDSOI (Fully Depleted Silicon On Insulator) technology, which gives Lattice FPGAs a greater performance per watt and smaller footprint. She then discussed the solution stacks offered by Lattice, saying, “Lattice has also really shifted gears in terms of developing the solution stack that goes on top of these silicon platforms. If you go to our website, you'll see that we have an AI solution stack, a security solution stack around PFR, or what we call platform firmware resiliency, very popular in server security architectures. We also have a solution stack on image sensor processing. For all these reasons, it puts us in the place to tap into new applications that were previously inaccessible to FPGAs.”
Kellermann agreed with low power and small footprint being important factors, also adding that Microchip is a wide portfolio vendor, selling more components than just FPGAs, such as power supplies. This enables them to give “recommendations of what you can do to use the FPGA, optimized for the device system. He also noted that Microchip can provide “the additional analog components that are optimized for your application, then the communication components for it, be it wireless or cable, be it optical. Really, the very wide portfolio.”
Bethurem pointed to the constantly changing nature of the technology world. Components that were once exclusive to aerospace and defense have made their way into almost every network and domain. The strength of Xilinx is “constantly putting our finger on the pulse of the market to see what the market needs and requires. You've seen this evolution, this innovation from Xilinx, whether it's our SoC devices with our ZYNQ 7000 and ZYNQ Ultrascale+ , our RFSoC devices with the high-speed gigabit data converters, and now our AI capable devices.”
He summed up his thoughts on FPGAs as an industry with, “It's a very exciting time. FPGAs are always an exciting market, because regardless of what the markets have done and changed, whichever way we're going, they've always been around. They've always been deployed and they're always finding their way into places, because people just need the flexibility, the differentiation and the performance.”