Field Programmable Gate Arrays (FPGAs) based on ARM Cortex-M processor cores, also known as Cortex-MO FPGAs, are reconfigurable integrated circuits that combine the flexibility of an FPGA with the processing power and ecosystem of the ARM architecture. Cortex-MO allows developers to integrate custom hardware accelerators while leveraging the efficiency, toolchain and software investments of Cortex-M.
Overview of Cortex-MO FPGAs
The key characteristics of Cortex-MO FPGAs include:
- ARM Cortex-M processor cores – Cortex-MO FPGAs incorporate ARM Cortex-M cores which are optimized for embedded and IoT applications. The cores are 32-bit, RISC architecture with DSP extensions and memory protection unit.
- Programmable logic fabric – In addition to processor cores, Cortex-MO chips contain FPGA fabric that can be programmed to create custom hardware accelerators. Popular options are based on flash or SRAM cells.
- Tight coupling between logic and processor – The programmable fabric is tightly integrated with the processor over high-bandwidth, low-latency interconnects to enable hardware acceleration.
- Development tools – Cortex-MO FPGAs can be programmed using the ARM DesignStartTM FPGA tools or vendor specific SDKs that integrate ARM cores with FPGA design.
- Interface options – A wide variety of peripheral interfaces are offered including Ethernet, USB, CAN, timers, ADCs, high-speed SERDES and support for external memories.
- Small form factors – Cortex-MO FPGAs range from ultra low power miniature packages to modules with multiple high performance cores and abundant programmable logic.
Benefits of Cortex-MO
The major benefits of using Cortex-MO FPGAs include:
- Flexibility – The combination of processor cores and FPGA fabric provides enormous flexibility to optimize systems. Developers can adapt the hardware function and performance.
- Accelerated time-to-market – The ability to create custom hardware accelerators significantly speeds up development compared to software alone.
- Power efficiency – Cortex-MO enables developers to create system architectures that maximize performance within tight power budgets.
- Co-processor approach – Computationally intensive software tasks can be offloaded to custom hardware co-processors.
- Scalability – Cortex-MO offers a scalable range of options from low cost FPGAs to multicore SoC FPGAs for complex applications.
- Ecosystem – Cortex-MO benefits from the mature Cortex-M software ecosystem including RTOS, stacks, models and tools.
Here are some common use cases where Cortex-MO FPGAs excel:
- IoT Endpoint – Cortex-MO enables integration of sensors, radars, security engines, analytics accelerators in a small low power envelope with wireless connectivity.
- Industrial Automation – Real-time control, functional safety, motor drives, advanced HMI, analytics at the edge are facilitated by Cortex-MO.
- 5G Networks – Beamforming, encryption/decryption, network accelerators, smart backhaul radio can be implemented efficiently.
- Aerospace and Defense – Radar processing, sensor fusion, communications and avionics are applications leveraging Cortex-MO capabilities.
- Automotive – ADAS, computer vision, sensor processing for autonomy, functional safety are enabled by Cortex-MO.
- Medical – Low power body worn devices, patient monitors, medical imaging can integrate signal processing and analytics using Cortex-MO.
Here are some key considerations when designing with Cortex-MO FPGAs:
- Partitioning – Determining which functions to implement in hardware vs software is an important early decision.
- Dataflow – The interface and dataflow between software and hardware accelerators needs to be designed for optimal throughput.
- Tools – Hardware design tools like Vitis, Vivado, LabVIEW work with Cortex-MO and enable high productivity.
- Simulation – Extensive simulation and emulation should be performed to verify hardware and software operation before fabrication.
- Debug – Effective debug of hardware and software requires FPGA-adaptive debuggers and logic analyzers.
- Observability – Well defined control and observation capability should be built-in for production testing.
A typical Cortex-MO FPGA design flow involves:
- Creating requirements, partitioning hardware/software functions
- Developing hardware IP blocks in HDL
- Developing software application code
- Performing high level synthesis to convert HDL to bitstream
- Integrating hardware IP blocks with ARM processor subsystem
- Developing complete FPGA image via vendor tools
- Debugging and optimizing the system via simulation, emulation and prototyping
- Validating functionality, performance, power
- Preparing production grade image for volume manufacturing
Vendor and Tools Ecosystem
The major FPGA vendors providing Cortex-MO based offerings include:
- Microchip – Microsemi SmartFusion2, IGLOO2, PolarFire devices
- QuickLogic – EOS S3, Multi-Core devices
- Lattice – LatticeMico and CrossLink FPGAs
- GOWIN – LittleBee and F5 based FPGAs
- SiliconBlue – iCE40 UltraPlus FPGAs
These vendors provide design tools such as:
- Softconsole – Eclipse based IDE for ARM
- Mentor Embedded Multicore Tools – RTOS, stacks, middleware
- ChipVision Pro – Debugger for Cortex-M
- Keil MDK – Compiler toolchain for ARM Cortex-M
- Synopsys ARC optmizing C/C++ compiler
- LabVIEW FPGA – Graphical design tools from National Instruments
Third party embedded software partners also offer thousands of ARM compatible solutions to accelerate Cortex-MO FPGA development.
Emerging trends in Cortex-MO FPGA technology include:
- More integrated heterogeneous SoC FPGAs
- Multi-core Cortex-A class processors on FPGA fabric
- Integrated RF capability with software defined radios
- Embedded machine learning processing blocks
- Tight coupling with specialized I/O like high speed A/D
- Advanced 3D packaging and chiplets
- Higher bandwidth interconnect fabrics (CCIX, CXL, ACE…)
- Abundant hardened DSP blocks, transceivers, memory
With continuing improvements in process nodes, power consumption, and software integration, Cortex-MO FPGAs are becoming a compelling compute platform for the most demanding embedded applications across industries.