2025-09-23 12:30 PM
The idea is to use FPGA as the foundation for microcontrollers, where users can upload a core (e.g., Cortex-M0, M3, M4, M7) and their own firmware. The goal is to provide flexibility and reduce manufacturing defects. Below is an outline of how this could work.
A manufacturer STMicroelectronics produces standardized ST_FPGA chips with a consistent design, varying only by process node (e.g., 40 or 28 or 10). Users purchase a board with this FPGA and follow these steps:
Download a bitstream for the desired core (e.g., Cortex-M4) from the manufacturer’s website. Cores can be customized, removing unneeded peripherals (timers, UART, ADC) to optimize resources and power consumption.
Upload the bitstream to the FPGA via JTAG or USB, configuring the FPGA to emulate the chosen core’s architecture (e.g., Cortex-M4).
Compile and upload their firmware for that core using a standard toolchain (e.g., STM32Cube).
If needed, users can upload a different bitstream (e.g., for Cortex-M7) and new firmware, adapting the board to a new microcontroller configuration.
Benefits
Flexibility: One chip supports various cores (from M0 for simple tasks to M7 for complex applications), suitable for a wide range of uses.
Reduced Defects: FPGA’s programmable nature allows bypassing silicon defects through configuration, potentially lowering defect rates (e.g., from 20% to 5–7%), reducing production costs.
Universality: Manufacturers can produce a few FPGA models instead of numerous distinct microcontrollers.
Monetization: The manufacturer can sell boards and core bitstreams via a website (e.g., a "Core Store" with free basic cores and paid optimized versions for specific tasks like automotive or IoT).
You always have the ability to fix architectural bugs in your newly released Cortex-Mx core without changing the silicon. This is very important.
Users download a bitstream for a core (e.g., Cortex-M4 with 2 timers and 1 UART, no FPU) from the ST website.
Use a programmer (e.g., STM32CubeProgrammer) to upload the bitstream to the FPGA.
The FPGA is configured as a microcontroller with the chosen core.
Users compile firmware in an IDE (e.g., STM32CubeIDE) and upload it to the board.
Customization: Cores can be tailored to include only necessary peripherals, minimizing FPGA resource usage and power consumption.
Core Switching: Users can upload a new bitstream (e.g., Cortex-M7) for a different task, reusing the same board.
2025-09-23 12:39 PM
Additional the manufacturer STMicroelectronics could offer a software tool for users to customize cores before uploading them to the FPGA. This tool would allow users to:
Select a base core (e.g., Cortex-M0, M3, M4, M7).
Configure peripherals (e.g., enable/disable timers, UARTs, ADCs) to match specific project requirements.
Generate a tailored bitstream optimized for performance, resource usage, and power consumption.
Export the bitstream for upload to the FPGA via JTAG/USB.
The tool could be sold as a standalone product or offered as a subscription-based service, integrated into the "Core Store" platform.
2025-09-23 2:01 PM
Aren’t there manufacturers who do this already? It’s a long time since I used to overhear people talking about Altera and the like.
I imagine the established vendors have quite a lead that would require significant investment for someone like ST to become competitive.
I suspect that there’s quite a lot of optimisation on a “hard-coded” arm core in fixed silicon over a customisable one on a FPGA. Maybe not peak clock frequency but certainly power-efficiency.
It feels like a very different market than the one I feel ST excels in with their stm32 offerings
2025-09-23 2:24 PM
Here, the term 'core' refers to the microcontroller architecture described in software, which can be modified using special tools. The idea is to describe the architecture of microcontrollers in HDL and implement it on FPGA boards.
2025-09-23 2:35 PM
You can go about this in different ways. It’s true that companies like Altera (now part of Intel) and Xilinx popularized soft cores long ago, and fixed hard-silicon ARM cores do have real advantages in peak performance and power efficiency.
That said, it’s uncommon for mainstream vendors to ship mass-market microcontrollers as FPGA-based boards today — that’s a different niche. ST, however, already has the capabilities (manufacturing scale, test/validation, and production tooling) to cut defect rates and simplify MCU production if it chose to. As I wrote earlier, implementing MCU architectures in HDL and deploying them on FPGA is a fundamentally different approach — especially valuable when you need to correct architecture bugs or iterate quickly, because you can update the design in the field instead of respinning silicon.
So we should consider all options and pick the one that fits the use case best. That’s the only practical way forward right now.
2025-09-23 3:49 PM
Who would pay $40 for an FPGA to emulate a Cortex-M4 poorly when you could just buy a Cortex-M4 for $8? I don't see the market for it.
Look at the STM32H7 with a 550 MHz core. You're not going to get that type performance running it through an FPGA fabric.
> Flexibility: One chip supports various cores (from M0 for simple tasks to M7 for complex applications), suitable for a wide range of uses.
> Reduced Defects: FPGA’s programmable nature allows bypassing silicon defects through configuration, potentially lowering defect rates (e.g., from 20% to 5–7%), reducing production costs.
> Universality: Manufacturers can produce a few FPGA models instead of numerous distinct microcontrollers.
> Monetization: The manufacturer can sell boards and core bitstreams via a website (e.g., a "Core Store" with free basic cores and paid optimized versions for specific tasks like automotive or IoT).
This feels like something written by the marketing department (with business degrees) with no input from engineering (with engineering degrees).