Nearly every new electronic system needs some sort of microprocessor or microcontroller. Modern microprocessor hardware is just too useful and too inexpensive not to include some amount of software programmability in any new product. In fact, my design recommendation for the past two decades, even immersed as I was in FPGAs, has been: If you can possibly use a processor to solve your problem, you absolutely should because it’s the simplest solution and the path of least resistance. Today’s processors are pretty darn fast, and they can sip tiny amounts of power if you put them to sleep when you don’t need them. All that said, sometimes a software-programmable processor just isn’t fast enough to execute tougher real-time tasks. That’s when you need an FPGA, to do the heavy lifting. If you do need an FPGA, then you should consider an SoC FPGA, which melds one or more processors with a chunk of FPGA fabric, and perhaps a bunch more bells and whistles depending on the SoC FPGA you choose.
Both Xilinx and Altera had disastrous results with their first attempts at creating SoC FPGAs in the early 2000s. The Xilinx Virtex-II Pro dropped one or more PowerPC processor cores into the FPGA fabric, and the Altera Excalibur dropped an ARM922T processor core into the FPGA fabric. Neither product provided system-like support for a processor subsystem, and designers needed to spend more than a few logic elements in the FPGA fabric to make the connections and add the required support functions. Ten years later, Xilinx introduced the Zynq SoC product line, and Altera introduced the Cyclone V and Arria V SoC FPGAs. These SoC FPGAs fared much better because they did a much better job of melding the processor with the FPGA fabric.
These days, it seems that the tail wags the dog. Nearly every new FPGA introduced incorporates multiple processor cores, either as an option or as a standard feature. If you look at the block diagrams for these devices, you’ll see many blocks devoted to the processor subsystem and one small block marked “FPGA” or something similar.
AMD (formerly Xilinx) and Altera (formerly Intel) seem to prefer Arm cores, but these vendors are not the only game in town when it comes to SoC FPGAs. I recently had the chance to get a close look at Microchip’s PolarFire SoC FPGA, which incorporates five 32-bit RISC-V processor cores along with a generous chunk of FPGA fabric. This SoC FPGA family offers many distinct features that separate it from the AMD and Altera offerings, and it represents a distinctly different path for designers who are looking at available SoC FPGA architectures.
The PolarFire SoC FPGA block diagram below illustrates my point about the rise to dominance of the processor subsystem in SoC FPGAs. All the blocks shown in orange are part of the PolarFire SoC FPGA’s processor subsystem, which includes five 64-bit RISC-V processor cores and associated support blocks. The PolarFire SoC FPGA’s programmable logic fabric is represented by one large blue block shown in the center of the diagram, just below the blocks in the processor subsystem. The rest of the blue blocks in the diagram are I/O ports and high-speed serial transceivers associated with the FPGA fabric.
Microchip PolarFire SoC FPGA Block Diagram. Image credit: Microchip
One of the PolarFire SoC’s five 64-bit RISC-V cores is an RV64IMAC. This core, supposedly a monitor core and referred to as the “minion” processor in some of Microchip’s documentation, is an RV64IMAC RISC-V core with a 16Kbyte instruction cache and a tightly integrated 8Kbyte data RAM. It’s designed to run bare-metal code called “Hart Software Services” that functions as a zero-stage boot loader for the rest of the chip. This processor also sets the SOC FPGA’s configuration and manages inter-task communications with the other four processor cores, which are RISC-V RV64IMAFDC application cores with separate 32Kbyte instruction and data caches. Each of the PolarFire SoC FPGA’s RISC-V application cores can run Linux, some other RTOS, or bare-metal code. Maximum clock speed for all five processor cores is 625 MHz (667 MHz for -1 parts).
The 5-core subsystem presents a formidable embedded-processing engine all by itself, but the PolarFire SoC is an SoC FPGA, so there’s an FPGA fabric to augment processing horsepower of the RISC-V processors. PolarFire SoC FPGAs are available with 23K to 461K logic elements. (Each logic element is the equivalent of a 4-input LUT and a D flip-flop). The PolarFire SoC FPGA’s programmable logic fabric also includes 68 to 1420 18×18-bit MAC blocks, for heavy-duty DSP or AI applications.
Microchip entered the FPGA business when it acquired Microsemi, which had previously acquired FPGA maker Actel. I wrote about Actel’s origins last month in connection with an interview I conducted with one of Actel’s founders, Dr. Esmat Hamdy. (See “How the FPGA Came To Be, Part 6: Actel’s FPGA Story.”) Actel, Altera, and Xilinx were all founded in the early 1980s. Altera initially focused on using EPROM and EEPROM for configuration. Xilinx focused on using SRAM to store configuration data, which was downloaded from an external memory at boot time. Actel developed antifuse technology, which became popular with the military/aerospace community because of its relative immunity to single event upsets (SEUs). There are a lot of Actel/Microsemi/Microchip FPGAs flying around out there in space these days as a result.
The PolarFire SoC FPGA is a descendant of those early Actel parts, but it does not store configuration data in antifuses, which turned out to have a problem with semiconductor process scalability. Instead, it uses a unique form of EEPROM based on SONOS (silicon-oxide-nitride-oxide-silicon) FETs. The SONOS EEPROM cells store trapped charge in a silicon-nitride layer and retain the SEU immunity of earlier Actel FPGAs. The SONOS EEPROM cells also confer two additional and desirable characteristics: low operating power and instant-on configuration.
Microchip’s PolarFire FPGA technology isn’t new. Microsemi published a White Paper titled “PolarFire Non-Volatile FPGA Family Delivers Ground Breaking Value: Cost Optimized, Lowest Power, SEU Immunity, and High-Security” that dates back to 2017. That was before Microchip acquired Microsemi. Microchip started talking about the PolarFire SoC FPGA based on RISC-V processor cores in 2019 and gave a preview of the device with more detail last year. (See “Does 2+2=4? Microchip announces PolarFire 2; You Do the Math.”) Read that earlier article for more details.
What is new is the PolarFire SoC Discovery Kit, a low-cost development board that is certainly worth a look if you’re shopping for an SoC FPGA. One of the most important reasons for looking at the Microchip PolarFire SoC Discovery Kit is its price. Microchip sells the kit for $132. Microchip has 147 of these kits in stock and Mouser Electronics has 89 of these kits in stock as I write this article.
Microchip’s PolarFire SoC Discovery Kit. Image credit: Microchip
The kit incorporates an MPFS095T-1FCSG325E PolarFire SoC FPGA, the second smallest version of the PolarFire SoC FPGA with 93K programmable logic elements, 292 18×18-bit MAC blocks (which Microchip calls Math blocks), 308 20Kbit RAM blocks, and four 12.7 Gbps SerDes transceivers. The Discovery Kit board incorporates a Raspberry PI interface header and a mikroBUS connector that accepts hundreds of Click boards for easy peripheral expansion. The kit comes pre-programmed with a DSP demo that implements an FIR filter and an FFT for spectrum analysis. I think it’s strange that this is a batch demo because an FPGA with nearly 300 18×18-bit MACs has amazing real-time DSP capabilities. They are creatures of speed.
There’s very little included in the kit’s box: a board, a USB cable, and a small Quickstart card with a link and a QR code that you use to download the demo and free development software for the PolarFire SoC FPGA. There are no instructions included in the box. You’re on your own here. I recommend that Microchip get more serious about the included documentation and the out-of-the-box experience for kits like this. A nicely designed board like the PolarFire SoC Discovery Kit deserves better. Simply designing a board isn’t sufficient if you’re serious about expanding your customer base.
However, if you compare the Microchip PolarFire SoC Discovery Kit’s hardware with the hardware provided in similar board-level offerings from AMD, Altera, or their partners, you’ll see that you get a lot of bang for the buck with the PolarFire SoC Discovery Kit in terms of microprocessor horsepower and FPGA resources. You might want to check this one out. It’s a low-cost way to try out an SoC FPGA.
“There’s very little included in the kit’s box: a board, a USB cable, and a small Quickstart card with a link and a QR code that you use to download the demo and free development software for the PolarFire SoC FPGA. There are no instructions included in the box. You’re on your own here. I recommend that Microchip get more serious about the included documentation and the out-of-the-box experience for kits like this. A nicely designed board like the PolarFire SoC Discovery Kit deserves better. Simply designing a board isn’t sufficient if you’re serious about expanding your customer base.”
They probably do not have he skill. (and hope there are enough gullible customers to buy their “vapor ware”.)
Sorry Karl Stevens, but I think that remark is grossly unfair. Microchip spent two decades providing intense support, nurturing engineers and students for the company’s PIC microcontroller families. As a result, Microchip wrested control of the low-end microcontroller market away from Motorola’s Semiconductor Product Sector. I think Microchip has plenty of skill and talent in its ranks, which was simply underapplied in the case of the PolarFire SoC Discovery kit. The company could, and should, recover from this error.
Hi Steven,
Thanks for an interesting article. Mouser now have one less board in stock! Mine arrived earlier and I have yet to power it up. As you state, the kit is spartan. However, I have used Libero in the past so hopefully, I can remember how to drive it. The two points you made that encouraged me to buy one is the RISC-V choice and the “bang-for-buck”. I have had a Zedboard for a number of years now and a “Arty” board and agree with your comment about Microchip needing to improve the initial user experience. The Zedboard came with Linux on an SD card and everything worked right out of the box. I could actually start being productive from the “get-go”. I have been interested in PolarFire for a little while so your article pushed me just a little bit further into actually. I shall be interested in measuring how quickly I can actually get something working on this board. The Zedboard is more expensive but it does make me wonder what my time cost with the Microchip board will be.
Good luck with the board, RedBarnDesigner! Please let me know how things go.
…buying one!!! oops! Brain ahead of fingers again!