Microchip Adds RISC-V Cores to PolarFire FPGAs
electronicsweekly.com
electronicsweekly.com
> In addition according to Microchip the processors will have secure boot (128kbyte boot flash), physical memory protection and, on all memories: single-bit error correction and double-bit error detection. THe firm is also claiming Spectre and Meltdown immunity.
With all this buzzword bingo, you'd think the company formerly known as Actel was actively marketing to a defense industry with selective amnesia[1].
edit: I see the article is the one in the wrong - it should have said Microsemi
PolarFire is the operand signal...everything else is in the noise.
They are gobbling up everything now. FWIW - I quite like the Actel/Microsemi/Microchip FPGAs. Their ProASICs and Igloos have been solid for me.
For a couple of small, outdated FPGAs, some of that information has been reverse-engineered and used for open source software, but I don't know how reliable, e.g., their static timing analysis is. I would never, ever use that for a non-hobby project.
I couldn't quite tell if the cache was turned off permanently or it is a configuration option.
I thought it was interesting since it's RISC-V in hardware from a classic/respected/well-established US-based company, which is not so common yet. Also it's "real" CPU cores even though they share a SoC with FPGA circuitry; this is not RISC-V cores being implemented on the FPGA fabric.
It's really "cores" and not "core", too: the SoC features one RV64IMAC core for monitoring (and probably hard real-time tasks) and a quad-core RV64GC for general computing/applications I guess. It uses DDR4 memory so it's quite beefy for an embedded target.
Currently the processors are implemented as soft cores. One can start writing code, real processors will be available later.
[1] https://www.xilinx.com/support/documentation/data_sheets/ds0...
The use for this is simply where you need to couple some hardware bits with some software to control it, and you don't want to have a separate host computer (or your host computer is doing something else!). A simple example might be an experimental music synthesizer: You could generate sound envelopes "in hardware" (in the FPGA) because that requires tight timing and IO wired to the DAC, but control the notes and the song from the processor in software, because writing that in C or Python is way easier. The Zynq product page here has a few example applications: https://www.xilinx.com/products/silicon-devices/soc/zynq-700...
One use case I've actually seen is somewhat ironic: They were prototyping a RISC-V core on the FPGA fabric, and using the ARM core in the FPGA to serve memory and I/O cycles to the RISC-V core. (For this to make sense you have to know that prototyped FPGA cores run really slowly, eg. 50 MHz or less, so even a low-end ARM core can easily keep up)