We offer a broad family of microcontroller and microporcessor related cores, from the best-available set of proven 8051s through capable and competitive 32-bit BA22s.

BA22 32-bit Processors
Family Guide
Deeply Embedded
Embedded
Application Processor
Platform
Dev Systems

Other 32-bit Processors
68000 for AHB
80251

Part of our image and video cores family, these compression cores support more codecs than you'll find from any other single provider, all designed to yield the highest quality results.

JPEG 2000
Encoder
J2K Platform

Lossless Compression
LJPEG Encoder
LJPEG Decoder
JPEG-LS Encoder

These functions complement the compression codecs in our image and video cores family, helping you rapidly build efficient SoCs for image or video applications.

Image Scalers
Polynomial
Frequency Domain
• Anisotropic
 

Video Deinterlacers
Basic
Motion Adaptive

Graphics Processors
2D Accelerator

Functions & Converters
Color Space Converter
DCT forward
DCT inverse
DCT forward/inverse

These memory controller cores work alone or with our processors and codecs to complete your demanding SoC.

SDRAM Controllers
Mobile SDRAM
DDR1 & DDR2

Our broad family of interface and interconnect cores includes high-speed PCI Express, common IOs like USB, and cntrollers popular for specific applications such as the CAN bus for automotive systems.

Parallel
ECP slave
ATA/IDE interface

PCI — Target
32-bit
32-bit multi
64-bit
PCI — Master
32-bit
32-bit multi
64-bit
PCI — Host Bridge
32/66

TCP/IP Stacks
UDP/IP stack

Ethernet MAC
Device Controllers

10/100
10/100 lite
Gigabit
Gigabit lite
Gigabit PCS

MAC Platforms
MAC/PCI
Embedded Platform

Customers find these cores to be an excellent solution for preserving existing product board designs when critical chips are no longer available for purchase.

8- and 16-bit Processors
Z80 CPU
6502 replacement
65C02 replacement
68000
80186XL
80186EC
80188EC
80251
387L math

DSPs
32025 16-bit
32025TX 16-bit

 

 

 

 

 

Peripherals
DMA Controllers
8237, 82380
UARTs
16450S
16550S
16750S
Timer/Counter
8254

Cores for integrating security, controlling devices and displays, and more.

Device Controllers
smart card reader

Displays
TV
high-res displays
ultra-res displays

IR Remote Controls
RC5
NEC

Audio Interfaces
I2S-SC
I2S-MC
SPDIF

Standard Parts
synthesis
simulation

PDF Datasheets:

ASIC
Altera bullet Xilinx

Options for this Core

Several versions of this 8051 core are available; see below.

The native EASE debugging package is an extra option for all versions.

Related Products:

  • R8051XC-EP 8051-Compatible, Economical, 8-bit Microcontroller
  • T8051 Tiny, 8051-Compatible, 8-Bit Microcontroller

Related Information:

Using 8-bit 8051s in a 32-bit World
Article by Bill FInch, in Extension Media's Engineers' Guide to 8/16-bit Technologies

News Releases

CAST’s Talos Evaluation Kits Help Designers Choose the Best Microcontroller/Processor IP Cores, 04/26/12
Kawasaki Microelectronics Licenses CAST 8051 IP Core for New Design Platform, 01/11/12
CAST Releases Fastest 8051 IP Core, 01/21/09

Development Environments

Keil supports CAST's R8051XC2 microcontroller core
Develop software for this 8051 core with the ARM® Keil™ µVision4 Integrated Development Environment
"The µVision®4 IDE builds on the success of what is widely acknowledged as the most popular development environment for microcontrollers," said Mark Onions, Director of Marketing, System Design Division at ARM. "Now, with support for the R8051XC2 processor, developers using the 8051 architectures can benefit from faster hardware and software development and verification." 8/10/09

Customer applications:

CAST is the leading supplier of 8051-compatible IP cores, with over 150 customer sales. Following is one customer story.

Tezzaron logo
Tezzaron Semiconductor, Inc. uses a CAST 8051 core in their fast, innovative, FaStack© 3D RISC "Super-8051" Microcontroller.

FaStack 3D layoutFaStack3D Board
Tezzaron board

8051 IP Core R8051XC2 High-Performance, Configurable, 8051-Compatible, 8-bit Microcontroller Core

This 8051 IP core implements a range of fast, 8-bit, 8051-compatible microcontrollers that execute the MCS®51 instruction set.

The R8051XC2 IP core runs with a single clock per machine cycle, and requires an average of 2.12 machine cycles per instruction. Dhrystone 2.1 tests show it to run from 9.4 to 12.1 times faster than the original 8051 at the same frequency. Representative 90 nm ASIC results have reached 430 MHz, for an effective speed-up of 400 times over 80C51 chips.

The configurable core has a rich set of optional features and peripherals. Designers can choose from several versions, including the easy-to-configure full version with all options included; a custom, non-configurable version with options specified at purchase; and pre-packaged versions with different sets of options and degrees of configurability.

All versions of this 8051 core benefit from power-saving architectural efficiency—the R8051XC2 is 10% better in milliwats/DMIP than our previous generation—and various power-management options are available. System development is facilitated through the EASE native on-chip debugging option and support by Keil’s C51 integrated development environment.

This new product builds on CAST’s experience with hundreds of 8051 IP customers going back to 1997. Designed for easy reuse in ASICs, structured ASICs, or FPGAs, the core is strictly synchronous, with positive-edge clocking (except in the optional debug & SPI modules), synchronous reset, and no internal tri-states. Representative 90nm ASIC results show the core to be conservative in its use of space, requiring just 8,000 to 71,000 gates.

See representative implementation results (in a new pop-up window):

ASIC numbers Altera numbers Xilinx numbers

Features

Options and Peripherals

Full user-configurable version includes all of these; other versions include a subset (see Versions).

External Memory Interface:

Direct Memory Access (DMA) Controller:

Multiplication-Division Unit:

Special Function Registers Interface:

Interrupt Controller:

Input/Output Interfaces

Timers and Counters

Power Management Unit with power-down modes (IDLE/STOP)

Verification:

Applications

The 8051 continues to be a rigorous and cost-effective solution for many applications, and the fast, flexible R8051XC2 is an especially good choice for many systems. Popular uses include data management control for complex systems, and interface control for analog and sensing chips.

Block Diagrams for Standard Versions

Available Versions:

Six versions of this 8051 core are available, offering a range of capabilities and prices. (See block diagrams below.)

R8051XC2-F includes the full set of options, and is user-configurable (i.e., options may be included or excluded prior to synthesis).

R8051XC2-A includes options that match the original Intel 8051 peripheral set: 64kB memory interface, two timers, one serial port, four parallel I/O Ports, two-level interrupt controller, and two DPTR registers. These options are user-configurable (i.e., may be deleted prior to synthesis).

R8051XC2-AF includes the same 8051-like set of options, but is fixed and not user-configurable.

R8051XC2-B includes options that match the Infineon 80515/80517 peripheral set: 64kB memory interface, three timers, two serial ports, four parallel I/O ports, watchdog timer, multiplication-division unit, and two DPTR registers. These options are user-configurable (i.e., may be deleted prior to synthesis).

R8051XC2-BF includes the same 80515/80517-like set of options, but is fixed and not user-configurable.

R8051XC2-C includes a custom set of options specified by the customer, and is not user-configurable.

ASIC (RTL) and FPGA (netlist) deliverables are available; FPGA packages are not user-configurable.

R8051XC2-F Block Diagram

r8015xc2 block diagram

R8051XC2-A Block Diagram

r8015xc2 block diagram

R8051XC2-AF Block Diagram

r8015xc2 block diagram

R8051XC2-B Block Diagram

r8015xc2 block diagram

R8051XC2-BF Block Diagram

r8015xc2 block diagram

Functional Description

The core is partitioned into modules as shown in the block diagram and described below.

CPU: Central Processing Unit

Fetches instructions from program memory and uses RAM or SFRs as operands. Provides the ALU for 8-bit arithmetic, logic, multiplication and division operations, and Boolean manipulations. The RAM and SFR interface can address up to 256 bytes of Read/Write Data Memory Space and built-in and off-core Special Function Registers. The memory interface can address from 64KB to 8MB of Program Memory, and from 64KB up to 8MB of External Data Memory. It uses a HOLD interface to support any external DMA controller, and it eases the connection to memories using a de-multiplexed address/data bus. The variable-length code fetch and MOVC to access fast or slow program memory—and similarly a variable-length MOVX to access fast or slow RAM or peripherals—are provided.

DMA: Direct Memory Access Controller

Contains up to eight individual channels, each capable of transferring data from or to any addressable location (program memory, internal or external data memory, or SFR). Each channel can work in synchronous mode (when just one byte is transferred at each trigger) or asynchronous mode (when all the data is transferred at each trigger). Transfers can be triggered by software or by specified interrupt source.

MDU: Multiplication Division Unit

This on-chip arithmetic unit performs these unsigned integer operations: 16 x 16 bit multiplication; 32/16 and 16/16 bit division; and 32 bit normalization and L/R shifting
The MDU allows operations to occur concurrently to and independent of the engine activity.

Parallel Ports

Controller serves up to four parallel 8-bit I/O ports to be used with off-core buffers. It is compatible with the classic 80C51, but lacks the multiplexed memory bus feature and alternate functions. (These could be combined off-core if required).

Serial Ports 0 and 1

Two fully independent serial ports for simultaneous communication over two channels. They can operate in identical or different modes and at different communication speeds. Serial Port 0 is capable of both synchronous and asynchronous transmission, while Serial 1 provides asynchronous mode only.
In synchronous mode, the microcontroller generates a clock and operates in half-duplex mode. In asynchronous mode it can operate in full-duplex mode. Received data is buffered in a holding register, which allows the serial ports to receive an incoming word before the software has read the previous value.
Serial Port 0 offers three communication protocols: Synchronous mode, with fixed baud rate; 8-bit UART mode, with variable baud rate; and 9-bit UART mode, with variable or fixed baud rate. Serial Port 1 has two operating modes: 8-and 9-bit UART mode, with variable baud rate. Both Serial Ports include an additional Baud Rate Generator.

I2C™ Interfaces: Primary and Secondary

The primary (I2C) and secondary (SEC_I2C) I2C Bus Controllers each provide a serial interface that meets the Philips I2C bus specification v1.0 and support all master/slave receiver/transmitter modes. Each is a true multi-master bus controller, including collision detection and arbitration to prevent data corruption if two or more masters simultaneously initiate data transfer. They perform 8-bit oriented, bi-directional data transfers up to 100 Kbit/s in the standard mode, or up to 400 Kbit/s in the fast mode

Serial Peripheral Interface (SPI) Interface

Provides full-duplex, synchronous communication between the core and other peripheral devices, including other MCUs. It can operate either as Master or Slave, with programmable clock rate, phase, and polarity. The maximum data rate is ¼ of the system clock for a Slave, and ½ of the system clock for a Master. Write collision and overrun detection protect data, and Master mode fault detection for multi-master systems prevents bus conflict.

Timers 0 and 1

Each have these three modes: 13-bit timer/counter, 16-bit timer/counter, and 8-bit timer/counter with auto reload. Timer 0 has an additional mode: two 8-bit timers. Each timer can also count external pulses (1 to 0 transition) on the corresponding t0 or t1 pin. Another option is to gate the timer/counter using an external control signal, which allows it to measure the pulse width of external signals.

Timer 2

Operates as a timer, event counter, or gated timer.
In timer mode, it can be incremented every 12 or 24 clock cycles, depending on the prescaler setting. In event counter mode, it is incremented when an external signal changes from 1 to 0 (sampled every machine cycle). Timer 2 is incremented in the cycle following the one in which that transition was detected. In gated timer mode, its incrementing is gated by an external signal.
A Timer 2 reload can be executed in two modes. In Mode 0, the reload signal is generated by a Timer 2 overflow (auto reload), while in Mode 1 it is generated by a negative transition at the corresponding input pin t2ex.

Compare-Capture Unit

The CCU within Timer2 performs Compare and Capture functions. For the Compare function, values stored in four 16-bit compare/capture registers are compared with the contents of the Timer 2 register. The results are signaled on the “ccubus” outputs and interrupts are generated.
For the Capture function actual timer/counter contents can be saved into one of four 16-bit registers upon an external event (Mode 0) or software write operation (Mode 1).

Watchdog Timer

A 15-bit counter that is incremented every 24 or 384 clock cycles. After an external reset, it is disabled and all registers are set to zeros. It can be started by applying an active input during reset (hardware automatic start) or by setting the enable bit by software. Once started, it cannot be stopped unless the external reset signal becomes active.
When the Watchdog enters the state of 7CFFh, it activates a dedicated flag and forces internal reset. It can be avoided by refreshing the Watchdog with software before it reaches 7CFFh.

Power Management, Reset Control, and Wake-Up Control Units

Generates clock enable signals for the main CPU and for peripherals; serves Power Down Modes IDLE and STOP; and generates an internal synchronous reset signal (upon external reset, watchdog timer overflow or software reset condition).
The IDLE mode leaves the clock of the internal peripherals running. Power consumption drops because the CPU is not active. Any interrupt or reset will wake the CPU.
The STOP mode turns off all internal clocks. The CPU will exit this state with an external interrupt or reset. Internally generated interrupts (timer, serial port, watchdog, ...) are disabled since they require clock activity.
The Wake-up From Power-Down Mode Control Unit services two external interrupts during power-down modes. They can combinationally force the clock enable outputs back to active state so the clock generation can be resumed.

RTC: Real Time Clock

Provides a real-time count with a resolution of 1/256th second and range of 179 years. It can set and read seconds, minutes, hours, day of the week, and the date, represented by a 16-bit number interpreted by software. An alarm function can generate interrupts periodically or at a specific time, and these may be used to wake up from IDLE/STOP mode.

SFRMUX: Special Function Register Multiplexer

Provides a common bus multiplexer for all the internal and external Special Function Registers.

ISR: Interrupt Service Routine Unit

The R8051XC2 provides two types of interrupt controllers: an 8051-compatible with up to six interrupt sources and two priority levels, or an 80515-compatible with up to eighteen interrupt sources and four priority levels. Each source has its own request flag(s) located in a dedicated SFR. Each interrupt requested by the corresponding flag can be individually enabled or disabled by dedicated enable bits in the SFRs.

OCDS

Internal block and JTAG port interface for the optional EASE debugging system. It provides the following functions: Run, Stop, Single-step; Software breakpoint; Debugger program execution; Hardware breakpoints; Read/Write Access to Program Memory, External/Internal Data Memory and SFRs; and Program Trace and Data Trace (optional).

Performance

The core’s architecture eliminates redundant bus states and implements parallel processing of fetch and execution phases. Since a cycle is aligned with memory fetch when possible, most of the 1-byte instructions are performed in a single cycle.

The core uses one clock per cycle. This, together with other extensions (mutli-DPTR, MDU), leads to significant performance improvements with respect to the original Intel device operating with the same clock frequency.

The Dhrystone 2.1 benchmark score varies from 0.088 to 0.114 DMIPS/MHz, which translates to speed improvements from 9.4 to 12.1 times over the standard 80C51, or 400 times the maximum performance at 430 MHz in 90nm technology.


Sample Dhrystone 2.1 benchmark results are as follows.

Configuration
DMIPS/MHz
80C51 Speed Ratio
Basic
0.0883
9.4
Multiple DPTR
0.1020
10.9
Multiple DPTR+auto-inc
0.1111
11.8
MDU+Multiple DPTR+auto-inc
0.1136
12.1

Support

The core as delivered is warranted against defects for ninety days from purchase. Thirty days of phone and email technical support are included, starting with the first interaction. Additional maintenance and support options are available; contact CAST Sales.

Verification

The core has been verified through extensive simulation and rigorous code coverage measurements. All subcomponents were functionally verified with an HDL testbench using their individual test suites. The CPU and ALU have been verified against a proprietary hardware modeler and behavioral models. The peripherals have also been verified in their own testbenches, based on either hardware or behavioral models. An extensive constrained random verification was performed to verify the CPU, DMA and OCDS.

Deliverables

The core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:

A reference design board is available; contact CAST Sales for information.

 

 

Share this page:

Twitter LinkedIn Add This: more sharing options
Top of Page

Follow CAST:

go to our SlideShare page