32-bit, High-Performance CPU with FPU
eSi-IP’s eSi-32X0fp 32-bit CPU is a member in the eSi-RISC family of processor cores. It is targeted specifically for applications needing to perform floating-point calculations with minimal silicon area and very low-power smart sensors, IoT sensing nodes and always-on applications such as voice command recognition.
32-bit RISC IP: eSi-32X0fp Technical Overview
- 32-bit RISC architecture
- Single or double IEEE 754 floating point unit (FPU)
- Supports up to 90 user-defined instructions
- 16 or 32 general purpose registers
- 104 basic instructions and 10 addressing modes
- Dual SIMD multiply with 64-bit accumulate
- Complex multiply with rounding
- 5-stage pipeline
- Optional memory management unit (MMU)
- Optional Configurable instruction and data caches (1-64kB, direct mapped or 2 or 4 way associative)
- AMBA AXI, AHB interconnect and APB peripheral bus
- User and supervisor modes
- Up to 32 vectored interrupts plus NMI and system call
- Fast interrupt response time of 6-9 cycles
- JTAG or serial debug, with optional trace
- Up to 4.12 CoreMark per MHz
- Intermixed 16 and 32-bit instructions result in exceptional code density without compromising performance
- High quality IP:
- Verilog RTL
- DFT ready
- Silicon proven
- C and C++ software development using license-free toolchain, under industry standard Eclipse IDE
- Always-on sensing nodes for audio
- Smart Sensors
- IoT sensing nodes
- Industrial control
The eSi-32X0fp 32-bit CPU is a high performance member of the eSi-RISC family of processor cores from eSi-IP. It is targeted specifically for applications needing floting point & DSP functionality with minimal silicon area and very low-power. The processor features a fully-pipelined dual-MAC unit with 32 or 64-bit acculumator, making the eSi-32X0fp ideal for audio, high-accuracy sensor hub, motion control and touch screen applications.
Support for 16-bit SIMD (Single Instruction Multiple Data) operations with integrated multiplication and addition performed in a single cycle also targets filtering and complex arithmetic operations. The inclusion of saturation and rounding arithmetic provides excellent FFT acceleration with a 1024 point complex calculation being performed in less than 65µs when implemented in a 28nm process.
The processor features optional instruction and data caches that can be configured in size (from 1- 64kB) and associativity (direct mapped, 2 or 4-way associative) to increase performance when accessing off-chip memory. The optional paged memory management unit (MMU) enables the implementation of virtual memory and the ability to run operating systems such as Linux.
The 5-stage pipeline allows extremely high clock frequencies to be achieved. The eSi-32X0fp′s instruction set includes everything you would expect in a highperformance processor. There are also a number of optional application specific instructions and addressing modes. Bit manipulation instructions such as bitfield extract and insert, count leading zeros, population count, find first set and bit reverse are available. Integer square root, absolute value, min/max, CRC and parity can also be included in a core.
For those applications that require extreme performance or ultra low power operation, user-defined instructions and registers can be implemented. Instructions are encoded in either 16 or 32-bits, with all of the commonly used instructions being encoded in 16-bits, maximizing code density and improving cache performance.
Hardware debug facilities include hardware breakpoints, watchpoints, trace, null pointer detection and single-stepping for fast debugging of ROM, FLASH and RAM based programs.
The toolchain is based upon the industry standard GNU toolchain, which includes an optimising C and C++ compiler, assembler, linker, debugger, simulator and binary utilities. All these tools can be driven by the customisable Eclipse IDE or from the command line.
The debugger can connect to HW targets via a low cost USB-JTAG adapator and RTL simulation via a Verilog PLI library.
Complete C and C++ libraries are supplied. Ports of Micrium’s uC/OS-II RTOS, ThreadX, FreeRTOS and the lwIP TCP/IP stack are available. The toolchain is available for both Windows and Linux hosts and is available to use at no additional cost.
The eSi-32X0fp is delivered as a Verilog RTL IP core. The design is target technology independent and DFT ready, supporting full scan insertion for all flip flops and memory BIST. Example scripts are provided for popular EDA tools.
A selection of AMBA peripherals can be supplied with the core, including: UART, SPI, I2C™, I2S, Timer, PWM, Watchdog, GPIO, PS/2, RTC, Ethernet MAC, USB, FIFO, Scatter-Gather DMA, AES, SHA, ECC and a quad-SPI Flash interface. By using an industry standard bus, a wide range of 3rd party IP cores are compatible with the eSi-3260.
eSi-IP can generate a multilayer AHB matrix and APB bus to connect the eSi-32X0fp CPU, memory and peripherals, according to a customer’s specification.