It has a complete software development environment including toolchain for C and C++, a complete adapted IDE based on on
FPS6 Embedded Floating Point Microcontroller CPU Core R0 = 0 optional
ALU
Co Processor
RTT
Designed for computationally demanding applications, it is well suited to motor control, power management and floating point signal processing. As a member of the Cortus APS family of processors the FPS6 shares the key architectural features of the other processors, with a common toolchain and IDE, bus interface and peripheral set.
Floating Point
Performance: l CoreMark 1:1·93 l DMIPS 1·75 DMIPS/MHz l Linpack 30·45 Mflops @ 333MHz
Implementation Results: Area
Dyn. Cons.
65nm (TSMC) 500 MHz
0·073 mm2
4·37 µW/MHz
90nm (UMC) 425 MHz
0·153 mm2 34·52 µW/MHz
130nm (UMC) 260 MHz
0·258 mm2 48·17 µW/MHz
Fmax
Status
UART
I-Cache D-Cache
RAM
The FPS6 is fully upwards compatible with the other APS processors. Its instruction set includes all APS3 instructions plus additional ones to support floating point operations, Flash increase integer performance and improve code density. The modern RISC architecture and tightly coupled floating point unit ensures that the FPS6 can achieve a high maximum clock frequency. Floating point operations use the main register set to eliminate any overhead and ensure that there are no additional instructions to be executed nor any penalties associated with floating point arithmetic.
R15
Multiply Divide
optional
advanced processing solutions
The FPS6 from Cortus is a high throughput 32 bit microcontroller core featuring a single precision floating point arithmetic unit combined with a high performance integer core.
Interrupt Controller X-Bar Timer
GPIO
DMA On-Chip Debug
Watchdog
Features l IEEE Single Precision Arithmetic l High Throughput RISC Core l Optional Data Cache l Optional Instruction Cache l Optional Co-Processors l 5-7 Stage Pipelined Integer Unit l Integer Multiplication and Division l Full Toolchain at no extra charge The FPS6 has been designed to ensure high throughput, most integer instructions execute in a single cycle due to the 5-7 pipeline with out-of-order completion. The simple, vectored, interrupt structure ensures low latency, real time, response to external events with a minimum of overhead. Up to 251 external user interrupts are supported. The FPS6 is also ideal in multi-processor configurations, dual, quad and more core FPS6 systems can be realised.
www.cortus.com
FPS6 CPU Core
FPS6 CPU Core
R0 = 0
R0 = 0
R15
Multiply Divide
Co Processor
Multiply Divide
RTT Floating Point
RTT Floating Point
Data
Instruction
Status
Data
On-Chip Debug & DMA
R15
Status
Instruction
Co Processor
ALU optional
optional
ALU
X-Bar
Interleaved Program Memory
even
odd
Peripherals
Data Memory
Going Further If the computation performance or throughput of the FPS6 is stretched by your application there are a number of possible solutions. A simple dual core system with interleaved program memory and shared data memory can achieve a CoreMark of 1:3.51. More sophisticated topologies with instruction caches and multiple coherent data caches are also possible to further increase performance.
Equally it is easy to realise heterogeneous multiprocessor systems, for example pairing an FPS6 for sophisticated time critical sensor calculations with an APS3 to handle I/O and a Bluetooth network stack. Your application could have algorithms that can be helped by implementing them partially or totally in hardware. The FPS6 features an easy to use, high performance, co-processor interface. Use one of Cortus’ co-processors, or develop your own and accelerate your application.
Ecosystem The FPS6 benefits from the shared ecosystem surrounding the APS family. It has a complete software development environment including toolchain for C and C++, a complete adapted IDE based on one of the most widely used IDEs - Eclipse. Debugging is fully supported with an integrated instruction set simulator, the Cortus on-chipdebuging hardware and an Ethernet connected JTAG interface - the EtherTag. Ports of various RTOSs are available such as FreeRTOS, Micrium µC/OS, µCLinux... It shares the APS bus with other members of the family and has a wide range of peripherals available, from simple UARTs and Counter/Timers to Ethernet MACs and USB2.0 all designed to work specifically with the APS family, and all supplied with example code and driver code.
Applications The FPS6 is suited to a wide variety of applications, such as:
l Power Control l Energy Management l Advanced Sensing Applications l Smart Grid Applications l Industrial Automation l Heterogeneous Systems
[email protected] +44 1264 369483 www.cortus.com/fps6.html