DQ8051CPU
Revolutionary Quad-Pipelined Ultra High Performance Microcontroller
Documentation
Success Stories
- Success Story: ASIX: The key to new network solutions.
- Success Story: Syntronix: Long-term cooperation based on professionalism and trust.
- Success Story: TAOS: Support – the key to success.
- Success Story: Avisonic Chooses DCD’s DP8051 for Image Processors
- Success Story: Yitran amazed by our SoC solutions
DQ8051CPU is an ultra high performance, speed optimized soft core of a single-chip 8-bit embedded controller, designed to operate with fast (typically on-chip) and slow (off-chip) memories. The core has been designed with a special concern about perfor-mance to power consumption ratio. This ratio is extended by an advanced power management unit PMU. DQ8051CPU soft core is 100% binary-compatible with the industry standard 8051 8-bit microcontroller. DQ8051CPU has built-in configurable DoCD-JTAG on chip debugger, supporting Keil µVision development platform and standalone DoCD debug software. Dhrystone 2.1 benchmark program runs from 19.69 to 26.62 times faster than the original 80C51 at the same frequency. This performance can also be exploited to great advantage in low power applications, where the core can be clocked over ten times more slowly than the original implementation for no performance penalty. DQ8051CPU is fully customizable, which means, it is delivered in the exact configuration to meet your requirements. There is no need to pay extra for not used features and wasted silicon.
The DQ8051CPU is delivered with fully automated testbench and complete set of tests, allowing easy package validation at each stage of SoC design flow.
Each of the DCD's 8051 Core has built in support for the DCD Hardware Debug System, called DoCDTM. It is a real-time hardware debugger, which provides debugging capability of a whole System on Chip (SoC).
Unlike other on-chip debuggers, the DoCDTM provides non-intrusive debugging of running application. It can halt, run, step into or skip an instruction, read/write any contents of microcontroller, including all registers, internal and external program memories, all SFRs, including user defined peripherals. More details about DCD on Chip Debugger
Family summary
| Design |
Dhry speed |
on-chip CODE RAM/ROM |
off-chip CODE |
CODE write |
IDATA space |
XDATA space |
XDATA, CODE wait states |
DoCDTM | PMU |
Interrupt sources |
DPTR | Timers | UART | IO Ports |
Compare/ Capture |
Watchdog |
MDU MDU32 |
DI2CM | DI2CS | DSPI | DFPMU | DMAC | DCAN |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DQ80251 | 56.8 | 8M | 8M | + | 1k-32k | 8M | + | + | + | 5 | 1 | 2 | 1 | 4 | - | - | - | - | - | - | - | - | - |
| DQ8051CPU | 25.13 | 64k/64k | 64k/8M | + | 256 | 16M | + | + | + | 2 | 1 | - | - | - | - | - | - | - | - | - | - | - | - |
| DQ8051 | 25.13 | 64k/64k | 64k/8M | + | 256 | 16M | + | + | + | 5 | 1 | 2 | 1 | 4 | - | - | - | - | - | - | - | - | - |
| DQ8051XP | 26.62 | 64k/64k | 64k/8M | + | 256 | 16M | + | + | + | 15 | 2 | 3 | 2 | 4 | + | + | + | + | + | + | + | + | + |
| DP8051CPU | 15.55 | 64k/64k | 64k/8M | + | 256 | 16M | + | + | + | 2 | 1 | - | - | - | - | - | - | - | - | - | - | - | - |
| DP8051 | 15.55 | 64k/64k | 64k/8M | + | 256 | 16M | + | + | + | 5 | 1 | 2 | 1 | 4 | - | - | - | - | - | - | - | - | - |
| DP8051XP | 15.55 | 64k/64k | 64k/8M | + | 256 | 16M | + | + | + | 15 | 2 | 3 | 2 | 4 | + | + | + | + | + | + | + | + | + |
| DP80C51 | 11.4 | 64k/64k | 64k | + | 256 | 64k | + | + | + | 5 | 1 | 2 | 1 | 4 | - | - | - | - | - | - | - | - | - |
| DT8051 | 8.1 | 64k/64k | 64k | + | 256 | 64k | - | + | + | 11 | 1 | 2 | 1 | 1 | - | - | - | - | - | - | - | - | - |
The main features of each DCD's DQ8051, DQ80251, DP8051, DP80C51, DT8051 family member have been summarized in the table above. It gives a brief member characteristic, helping you to select the most suitable IP Core for your application. You can specify your own peripheral set (including listed above and the others) and request the core modifications.
Performance
Each core has been tested in variety of FPGA and ASIC technologies. Its implementation's results are summarized below.
|
Implementation device |
Speed grade |
Minimum area |
Top frequency |
|---|---|---|---|
| 0,35 um | typical | 9500 gates | 70 MHz |
| 0,25 um | typical | 9000 gates | 130 MHz |
| 0,18 um | typical | 8600 gates | 180 MHz |
| 0,13 um | typical | 8700 gates | 270 MHz |
| 0,09 um | typical | 8200 gates | 430 MHz |
DQ8051CPU core area and performance in ASIC devices - results given for working system with two DPTRs and connected 256B IDM, 8kB CODE and 2kB SXDM memories. All CPU features and Peripherals have been included. DoCD JTAG debugger increases core size by approximately 2 100 gates.
|
Implementation device |
Speed grade |
Minimum area |
Top frequency |
|---|---|---|---|
| SPARTAN-6 | -3 | 1600 LUT | 60 MHz |
| VIRTEX-4 | -12 | 1800 Slices | 60 MHz |
| VIRTEX-5 | -3 | 1500 LUT | 110 MHz |
| VIRTEX-6 | -3 | 1500 LUT | 125 MHz |
DQ8051CPU core area and performance in XILINX devices - results given for working system with two DPTRs and connected 256B IDM, 8kB CODE and 2kB SXDM memories. All CPU features and Peripherals have been included.
|
Implementation device |
Speed grade |
Minimum area |
Top frequency |
|---|---|---|---|
| CYCLONE-II | -6 | 2550 LC | 45 MHz |
| CYCLONE-III | -6 | 2550 LC | 60 MHz |
| CYCLONE-IV GX | -6 | 2550 LC | 60 MHz |
| STRATIX-II | -3 | 1700 LUT | 70 MHz |
| STRATIX-III | -2 | 1700 LUT | 100 MHz |
| STRATIX-IV | -1 | 1700 LUT | 100 MHz |
| STRATIX-V | -2 | 1700 LUT | 90 MHz |
DQ8051CPU core area and performance in ALTERA devices - results given for working system with two DPTRs and connected 256B IDM, 8kB CODE and 2kB SXDM memories. All CPU features and Peripherals have been included.
CPU Features
- software is 100% compatible with 8051 industry standard
- Quad-Pipelined architecture enables to run 26.62 times faster, than the original 80C51 at the same frequency
- Up to 25.053 VAX MIPS at 100 MHz
- 24 times faster multiplication
- 12 times faster division
- 2 Data Pointers (DPTR) - for faster memory blocks copying
- Advanced INC & DEC modes
- Auto-switch of current DPTR
- Up to 256 bytes of internal (on-chip) Data Memory - IDM
- Up to 64k bytes of Program Memory
- Up to 16 MB of external (off-chip) Data Memory - XDM
- Synchronous interface - for up to 64K bytes of (on-chip) fast external Data Memory - (SXDM)
- User programmable Program Memory Wait States solution - for wide range of memories' speed
- User programmable External Data Memory Wait States solution - for wide range of memories' speed
- De-multiplexed Address/Data bus - to allow easy memory connection
- Interface for additional Special Function Registers
- Fully synthesizable
- Static synchronous design
- No internal tri-states
- Scan test ready
Symbol
xdatai
xdatardy




sxdmdatai



prgdatai
prgrdy






int0
int1
idmdatai



sfrdatai



tdi
tck
tms

Pins description
| Pin | Type | Description |
|---|---|---|
| xdatai | input | External Data Memory input bus |
| xdatardy | input | External Data memory ready |
| sxdmdatai | input | Synchronous External Data Memory input bus |
| prgdatai | input | Program memory data input bus |
| prgrdy | input | Program memory ready |
| int0 | input | External interrupt 0 |
| int1 | input | External interrupt 1 |
| idmdatai | input | Internal Data Memory input bus |
| sfrdatai | input | Data bus from user SFRs |
| tdi | input | DoCDTM TAP data input |
| tck | input | DoCDTM TAP clock line |
| tms | input | DoCDTM TAP mode select |
| xaddress | output | External Data Memory address bus |
| xdatao | output | External Data Memory output bus |
| xdataz | output | Turns xdata bus into "Z" state |
| xdatawr | output | External Data memory write |
| xdatard | output | External Data memory read |
| sxdmaddr | output | Synchronous External Data Memory address bus |
| sxdmdatao | output | Synchronous External Data Memory output bus |
| sxdmwe | output | Synchronous External Data Memory write enable |
| sxdmoe | output | Synchronous External Data Memory output enable |
| prgaddr | output | Program memory address bus |
| prgdatao | output | Program memory data output bus |
| prgdataz | output | Turns prgdatao bus into "Z" state |
| prgrd | output | Program memory read |
| prgwr | output | Program memory write |
| stop | output | Stop mode indicator |
| pmm | output | Power management mode indicator |
| idmaddr | output | Internal Data Memory address bus |
| idmdatao | output | Internal Data Memory output bus |
| idmwe | output | Internal Data Memory write enable |
| idmoe | output | Internal Data Memory output enable |
| sfraddr | output | User SFRs address bus |
| sfrdatao | output | Data bus for user SFRs |
| sfrwe | output | User SFRs write enable |
| sfroe | output | User SFRs output enable |
| tdo | output | DoCDTM TAP data output |
| rtck | output | DoCDTM return clock |
Block Diagram
| Opcode decoderPerforms an opcode decoding instruction and control functions for all other blocks. |
| Control UnitIt performs the core synchronization and data flow control. This module is directly connected to Opcode Decoder and it manages the execution of all microcontroller tasks. |
| External Data Memory InterfaceIt contains memory access related registers, such as Data Pointer High (DPH), Data Pointer Low (DPL), Data Page Pointer (DPP), MOVX @Ri address register (MXAX) and STRETCH registers. It performs the memory addressing and data transfers. It also allows applications software to access up to 16 MB of external data memory. The DPP register is used for segments swapping. STRETCH register allows flexible timing management, while accessing different speed system devices, by programming XDATAWR and XDATARD pulse width between 1 and 8 clock periods. |
xdatai
xaddress
xdatao
xdataz
xdatardy
xdatawr
xdatard
| SXDM InterfaceSynchronous eXternal Data Memory (SXDM) Interface contains XDATA memory access related logic, allowing fast access to synchronous memory devices. It performs the external Data Memory addressing and data transfers. This memory can be used to store large variables, frequently accessed by CPU, improving overall performance of application. |
sxdmdatai
sxdmaddr
sxdmdatao
sxdmwe
sxdmoe
| ALUArithmetic Logic Unit performs the arithmetic and logic operations, during execution of an instruction. It contains accumulator (ACC), Program Status Word (PSW), (B) registers and related logic, like arithmetic unit, logic unit, multiplier and divider. |
| Program Memory InterfaceProgram Memory Interface contains Program Counter (PC) and related logic. It performs the instructions code fetching. Program Memory can be also written. This feature allows usage of a small boot loader, to load new program into ROM, RAM, EPROM or FLASH EEPROM storage via UART, SPI, I2C or DoCD module. |







| Power Management UnitPower Management Unit contains advanced power saving mechanisms with switchback feature, allowing external clock control logic to stop clocking (Stop mode) or run core in lower clock frequency (Power Management Mode), to significantly reduce power consumption. Switchback feature allows UARTs and interrupts to be processed in full speed mode, if enabled. It's highly desirable, when microcontroller is planned to be used in portable and power critical applications. |
stop
pmm
| Interrupt ControllerInterrupt Controller module is responsible for the interrupt manage system of external and internal interrupt sources. It contains interrupt related registers, such as Interrupt Enable (IE), Interrupt Priority (IP) and (TCON) registers. |
int0
int1
| Internal Data Memory InterfaceInterface controls access to the internal memory of size up to 256 bytes. It contains 8-bit Stack Pointer (SP) register and related logic. |





| SFR InterfaceSpecial Function Registers interface - controls access to externally connected peripherals through SFR bus. |
sfrdatai
sfraddr
sfrdatao
sfrwe
sfroe
| DoCDTM JTAG DoCDTM Debug Unit is a real-time hardware debugger, which provides debugging capability of a whole SoC system. Unlike other on-chip debuggers, DoCDTM ensures non-intrusive debugging of running application. It can halt, run, step into or skip an instruction, read/write any contents of microcontroller, including all registers, internal and external program memories and all SFRs, including user defined peripherals. Hardware breakpoints can be set and controlled on program memory, internal and external data memories, as well as on SFRs. Hardware watchpoints can be set and controlled on internal and external data memories and also on SFRs. Hardware watchpoints are executed, if any write/read occurs at particular address, with certain data pattern or without pattern. Two additional pins: CODERUN and DEBUGACS, indicate the state of the debugger and CPU. CODERUN is active, when CPU is executing an instruction. DEBUGACS pin is active, when any access is performed by DoCDTM debugger. The DoCDTM system includes JTAG interface and complete set of tools, to communicate and work with core in real time debugging. It is built, as a scalable unit and some features can be turned off, to save silicon and reduce power consumption. When debugger is not used, it is automatically switched to power save mode. Finally, when debug option is no longer used, whole debugger is turned off. |





| Internal data bus 8-bit internal data bus |
| SFR data bus 8-bit Special Function Registers bus is used to inter-communication of all processors" peripherals. It allows easy management of system architecture. |