EnSilica

EnSilica


eSi-3250

Targets: Automotive, Communication & Wired, Consumer, General Purpose, Imaging & Video, Mobile & Wireless

EnSilica eSi-3250 Block Diagram

The eSi-3250 32-bit CPU is the top-of-the-range member in the eSi-RISC family of processor cores from EnSilica. It targets applications with high performance and large memory requirements, or that need to run an operating system, such as Linux and uClinux. The processor features separate instruction and data caches that can be configured from 1 to 64-kbytes and associativity (direct mapped, 2 or 4-way associative). The processor supports both user and supervisor operating modes, with privileged instructions and memory areas, to allow an operating system kernel to be fully protected from user applications. The optional paged MMU (memory management unit) enables the implementation of virtual memory and the ability to run operating systems such as Linux.

The core employs a 5-stage pipeline and static branch prediction. The eSi-3250's instruction set includes arithmetic and logical instructions (including barrel-shift, multiply and divide), comparisons, load and stores, branches and calls as well as system level instructions to control interrupts and enter lower power states. There are optional application specific instructions and addressing modes, such as IEEE-754 compliant single-precision floating-point instructions. Developers can add their own user-defined instructions and registers. Instructions are encoded in either 16 or 32-bits, depending upon the size of the operands and the type of instruction. All of the commonly used instructions can be encoded in 16-bits.

On 65nm LP technology the processor typically achieves a maximum clock rate of 425MHz. It has a core die area of 0.032mm2 and consumes 0.015mW/MHz including caches when synthesized for a 350MHz clock rate. The basic configuration starts from 15k gates. Hardware debug facilities include hardware breakpoints, watchpoints, null pointer detection and single-stepping for debugging of ROM, FLASH and RAM based programs.