Related FPGAs
Related News
Get Started

Cortex-M3: The ARM Processor for Embedded Applications
The ARM® Cortex™-M3 32-bit processor has been specifically developed to provide a high-performance, low-cost platform for a broad range of applications, including microcontrollers, automotive body systems, industrial control systems and wireless networking. With a balance between size and speed, Actel's free Cortex-M3 processor operates at up to 100 MHz and is included as a hard resource in Actel's SmartFusion FPGA device family. The central core of the Cortex-M3 processor, based on a 3-stage pipeline Harvard bus architecture, incorporates advanced features such as hardware single-cycle multiply and hardware divide. The Cortex-M3 processor implementation of the Thumb®2 instruction set, plus features such as unaligned data storage and atomic bit manipulation, deliver world class 32-bit performance. The configurable Cortex-M3 processor connects to the Advanced High-Performance Bus (AHB), enabling designers to build their subsystem and easily add peripheral functionality. In addition to SmartDesign and SoftConsole from Actel and RealView® tools from ARM, third-party vendors offer a vast range of supporting tools in the well-established ARM ecosystem, from compilers and debuggers to real-time operating system (RTOS) solutions.
- ARMv7-M architecture, optimized for microcontroller and low-cost applications
- Hardware single-cycle multiply and hardware divide instructions
- 32-bit multiplication in a single cycle
- Signed and unsigned divide operations between 2 and 12 cycles
- Thumb-2 instruction set
- Enhanced levels of performance, energy efficiency, and code density
- Mixed mode capability implies no need to interwork between modes
- ARM7 levels of performance with thumb-level code density
- Hierarchical structure with tightly integrated peripherals
- CM3Core
- Based on modified Harvard bus architecture with combined I-code and D-code buses
- Highly efficient 3-stage pipeline with branch speculation
- Nested vectored interrupt controller (NVIC)
- Gate efficient stack-based register model
- Configurable from 1 to 150 physical interrupts; up to 256 levels of priority
- Non-maskable interrupt (NMI) enables critical interrupt capabilities
- Low latency through tail chaining, late arrival service and stack pop pre-emption
- Nesting (stacking) of interrupts
- Dynamic interrupt reprioritization
- Memory protection unit (MPU)
- Optional component for separation of processing tasks and data protection
- Up to 8 regions of protection; each of which can be divided into 8 sub-regions
- Region sizes from 32 bytes to the entire 4 gigabytes of addressable memory
- Data watchpoint and trace unit (DWT)
- Implements hardware breakpoints and provides instruction execution statistics
- DWT configured to include data matching
- Flash patch and breakpoint unit (FPB) that implements 6 program breakpoints and 2 literal data fetch breakpoints
- Debug port (SWJ-DP)
- Serial Wire JTAG debug port (SWJ-DP) enabling either JTAG or SW protocol for debugging
- SWJ-DP defaults to JTAG mode at power-up
- Can be switched to SW by applying a specific sequence to the debug pins
- Trace port interface unit (TPIU)
- Configured to support instrumentation trace macrocell (ITM) debug trace only
- Serial Wire mode is used for the TPIU output data, overlaid on the JTAG TDO port
- SW debugging and ITM can be used concurrently
- ROM table as described in the Cortex-M3 Technical Reference Manual
- I-Code and D-Code buses combined into a single shared code bus within the AHB bus matrix, with the bus access internally arbitrated by Cortex-M3
- 150 interrupts (151 including NMI)
- 32 levels of interrupt priority
- Preconfigured memory map
- Up to 4 gigabytes of addressable memory space
- Predefined addresses for code, memory, external devices, peripherals
- Dedicated space for vendor specific addressability
- Atomic bit manipulation with bit banding
- Direct access to single bits of data
- Two 1 MB bit banding regions for memory and peripherals mapping to 32 MB alias regions
- Atomic operation, cannot be interrupted by other bus activities
- Unaligned data storage and access
- Continuous storage of data requiring different byte lengths
- Data access in a single core access cycle
- Integrated sleep modes
- Sleep Now mode for immediate transfer to low-power state
- Sleep on Exit mode for entry into low-power state after the servicing of an interrupt
- Ability to extend power savings to other system components
- Supported by a full range of development tools

Cortex-M3 is available for use in SmartFusion flash devices as an on-chip processor. SmartFusion devices combine the Cortex-M3 and supporting AHB infrastructure with Actel's proven low-power nonvolatile Flash FPGA fabric, on-chip embedded nonvolatile memory (eNVM), an extensive set of on-chip communication interfaces, and a flexible analog subsystem to deliver the ideal solution for embedded system designers.
SmartFusion Features
- ARM Cortex-M3 32-bit processor running at up to 100 MHz
- Internal memory
- eNVM, 64 Kbytes to 512 Kbytes
- Embedded high-speed SRAM (eSRAM), 16 Kbytes to 64 Kbytes, implemented in 2 physical blocks to enable simultaneous access from 2 different masters
- Multi-layer AHB communications matrix provides up to 16 Gbps of on-chip memory bandwidth (theoretical maximum)
- 10/100 Ethernet MAC with RMII interface in SmartFusion A2F200 and larger devices
- Programmable external memory controller in SmartFusion A2F200 and larger devices, supporting:
- Asynchronous memories
- NOR flash, SRAM, PSRAM
- Synchronous SRAM
- Two I2C peripherals
- Two 16550 compatible UARTs
- Two SPI peripherals
- Two 32-bit timers, combinable into a single 64-bit timer
- 32-bit watchdog timer
- 8-channel DMA controller
- Clock sources
- 1.5 MHz to 20 MHz main oscillator
- Battery-backed 32 KHz low-power oscillator with real-time counter (RTC)
- 100 MHz embedded RC oscillator; 1% accurate
- Embedded PLL with 4 output phases
- Proven low-power, highly-reliable FPGA fabric
- On-chip mixed-signal analog compute engine (ACE)
- Embedded real-time debug and JTAG interface
- Available with no license fees or royalties
For more information, visit the SmartFusion web page.
Availability
| Cortex-M3 Devices |
A2F060 |
A2F200 |
A2F500 |
| SmartFusion |
 |
 |
 |
In addition to the on-chip AHB bus and communications infrastructure supporting the Cortex-M3, Actel offers a broad portfolio of IP cores for use in the FPGA fabric to implement custom design solutions. A wide range of IP cores are available FREE in the Libero® Integrated Design Environment (IDE) Catalog and SmartDesign IP design tool.
To see a complete list of IP cores available in Libero IDE, visit the Actel IP cores web page. Actel provides software drivers that ease the use of the cores for application developers, enabling development to focus on system capability instead of basic infrastructure. Actel's Firmware Catalog includes all of the available drivers and is installed with Libero IDE.
Software developers will find support for SmartDesign and the Cortex-M3 in Actel's Eclipse-based SoftConsole, Keil™, IAR Systems® software development environments.
Libero Integrated Design Environment (IDE)
- Actel comprehensive FPGA design and development software
- Combines the latest design creation, physical implementation, and verification
tools from leading EDA vendors
For more information, visit the Libero
IDE web page.
SmartDesign
- Graphical block system design creation tool
- Create complete FPGA and system-on-chip (SoC) designs, including processors, Actel IP cores, standard library cores, user IP, and custom HDL
- Automatically creates synthesis-ready HDL
- Operates within Libero
IDE
For more information, visit the SmartDesign web page.
SoftConsole
- Eclipse-based Actel processor software development environment
- Includes GNU C/C++ compiler and GDB debugger
For more information, visit the SoftConsole web page.
Actel FlashPro4 Programmer
SmartFusion devices featuring the ARM Cortex-M3 processor are supported with in-system programming (ISP). Configuration data can be supplied through a standard JTAG interface from the on-board Cortex-M3, or from FlashPro4, or Silicon Sculptor 3. FlashPro4 offers extremely high performance through the use of USB 2.0 and is high-speed compliant for full use of the 480 Mbps bandwidth. Powered exclusively via USB, FlashPro4 provides a VPUMP voltage of 3.3 V for programming these devices.
SmartFusion Evaluation Kit
The SmartFusion Evaluation Kit offers a simple, low-cost way to try the world's only FPGA with hard ARM Cortex-M3 and programmable analog. The SmartFusion device contains on-chip flash and on-chip SRAM memory, and the kit adds additional SPI flash memory, an OLED display, and built in Ethernet connectivity. The evaluation kit board also includes LEDs, switches, and various voltage, current and temperature monitoring functions for analog experimentation on the board.
SmartFusion Development Kit
The SmartFusion Development Kit offers a full-featured development board so you can develop a complete system with the world's only FPGA with hard ARM Cortex-M3 and programmable analog. The SmartFusion device contains on-chip flash and SRAM memory, and the development kit board adds additional off-chip flash memory and SRAM/PSRAM in two voltage domains. The board can communicate via Ethernet and HyperTerminal. The development kit board also contains LEDs, switches, an OLED display and extensive analog resources, including voltage rail monitoring, current POT, temperature diodes and voltage sweeping using active bipolar prescalers (ABPS). Networking interfaces include Ethernet PHY, EtherCAT, CAN, UART, and RS485.