DP8051XP IP Core - Digital Core Design

2015
DP8051XP IP Core
Pipelined High Performance 8-bit Microcontroller v. 5.02
COMPANY OVERVIEW
CPU FEATURES
Digital Core Design is a leading IP Core provider and a System-on-Chip design house.
The company was founded in 1999 and since
the very beginning has been focused on IP
Core architecture improvements. Our innovative, silicon proven solutions have been employed by over 300 customers and with more
than 500 hundred licenses sold to companies
like Intel, Siemens, Philips, General Electric,
Sony and Toyota. Based on more than 70 different architectures, starting from serial interfaces to advanced microcontrollers and SoCs,
we’re designing solutions tailored to your
needs.
● 100% software compatible with the 8051 industry
standard
● Pipelined RISC architecture enables to execute
15.55 times faster, than the original 80C51 at the
same frequency
● Up to 14.632 VAX MIPS at 100 MHz
● 24 times faster multiplication
● 12 times faster addition
● 2 Data Pointers (DPTR) for faster memory blocks
copying
IP CORE OVERVIEW
The DP8051XP is an ultra-high performance,
speed optimized soft core of a single-chip 8bit embedded controller, intended to operate
with fast (typically on-chip) and slow (off-chip)
memories. The core has been designed with a
special concern about performance to power
consumption ratio. This ratio is extended by
an advanced power management unit – the
PMU. The DP8051XP soft core is 100% binarycompatible with the industry standard 8051 8bit microcontroller. There are two configurations of the DP8051XP: Harvard, where internal data and program buses are separated and
von Neumann, with common program and
external data bus. The DP8051XP has a Pipelined RISC architecture and executes 120-300
million instructions per second. Dhrystone 2.1
benchmark program runs from 11.46 to 15.55
times faster than the original 80C51 at the
same frequency. The same C compiler was
used for benchmarking of the core vs. 80C51,
with the same settings. This performance can
be also exploited to a great advantage in low
power applications, where the core can be
clocked over ten times more slowly than the
original implementation, without performance
depletion. The DP8051XP is delivered with
fully automated test bench and complete set
of tests, allowing easy package validation, at
each stage of SoC design flow.
○ Advanced INC & DEC modes
○ Auto-switch of current DPTR
● Up to 256 bytes of internal (on-chip) Data
Memory
● Up to 64K bytes of internal (on-chip) or external
(off-chip) Program Memory
● Up to 16M bytes of external (off-chip) Data
Memory
○ Synchronous eXternal Data Memory (SXDM) Interface
● 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
connection to memory
● Dedicated signal for Program Memory writes.
● Interface for additional Special Function Registers
● Fully synthesizable, static synchronous design
with positive edge clocking and no internal tristates
● Scan test ready
DELIVERABLES
♦
Source code:
● VHDL Source Code or/and
● VERILOG Source Code or/and
● Encrypted, or plain text EDIF
♦
VHDL & VERILOG test bench environment
● Active-HDL automatic simulation macros
● ModelSim automatic simulation macros
● Tests with reference responses
♦
Technical documentation
● Installation notes
● HDL core specification
● Datasheet
♦
♦
♦
Synthesis scripts
Example application
Technical support
● IP Core implementation support
● 3 months maintenance
● Delivery of the IP Core and documentation updates, minor and major versions changes
● Phone & email support
1
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
PERIPHERALS
● DoCD™ debug unit
○ Processor execution control
○ Run, Halt
○ Step into instruction
○ Skip instruction
○ Read-write all processor contents
○ Program Counter (PC)
○ Program Memory
○ Internal (direct) Data Memory
○ Special Function Registers (SFRs)
○ External Data Memory
○ Code execution breakpoints
○ up to eight real-time PC breakpoints
○ unlimited number of real-time OPCODE breakpoints
○ Hardware execution watch-points at
○ Internal (direct) Data Memory
○ Special Function Registers (SFRs)
○ External Data Memory
○ Hardware watch-points activated at certain:
○ address by any write into memory
○ address by any read from memory
○ address by write into memory required data
○ address by read from memory required data
○ Instructions Smart Trace Buffer – configurable up
to 8192 levels (optional)
○ Automatic adjustment of debug data transfer
speed rate between HAD and Silicon
○ TTAG or JTAG Communication interface
● Power Management Unit
○ Power management mode
○ Switchback feature
○ Stop mode
● Extended Interrupt Controller
○ 2 priority levels
○ Up to 7 external interrupt sources
○ Up to 8 interrupt sources from peripherals
● Four 8-bit I/O Ports
○ Bit addressable data direction for each line
○ Read/write of single line and 8-bit group
● Three 16-bit timer/counters
○ Timers clocked by internal source
○ Auto reload 8/16-bit timers
○ Externally gated event counters
● Two full-duplex serial ports
○
○
○
○
Synchronous mode, fixed baud rate
8-bit asynchronous mode, fixed baud rate
9-bit asynchronous mode, fixed baud rate
9-bit asynchronous mode, variable baud rate
○
○
○
○
○
FAST+ speed 1000 kB/s
HIGH speed 3400 kB/s
Wide range of system clock frequencies
User defined data setup time on I2C lines
Interrupt generation
● SPI – Master and Slave Serial Peripheral Interface
○ Supports speeds up ¼ of system clock
○ Mode fault error
○ Write collision error
○ Four transfer formats supported
○ System errors detection
○ Allows operation from a wide range of system clock
frequencies (build-in 5-bit timer)
○ Interrupt generation
● Programmable Watchdog Timer
● 16-bit Compare/Capture Unit
○
○
○
○
○
○
○
Events capturing
Pulses generation
Digital signals generation
Gated timers
Sophisticated comparator
Pulse width modulation
Pulse width measuring
● Fixed-Point arithmetic coprocessor
○
○
○
○
Multiplication - 16bit * 16bit
Multiplication - 32bit * 32bit
Division - 32bit / 32bit
Division - 16bit / 16bit
● Floating-Point arithmetic coprocessor IEEE-754
standard single precision
○
○
○
○
○
○
FADD, FSUB - addition, subtraction
FMUL, FDIV- multiplication, division
FSQRT- square root
FUCOM - compare
FCHS - change sign
FABS - absolute value
● Floating-Point math coprocessor - IEEE-754
standard single precision real, word and short
integers
○
○
○
○
○
○
○
○
FADD, FSUB- addition, subtraction
FMUL, FDIV- multiplication, division
FSQRT- square root
FUCOM- compare
FCHS - change sign
FABS - absolute value
FSIN, FCOS- sine, cosine
FTAN, FATAN- tangent, arcs tangent
● And more peripherals
● I2C bus controller - Master
○
○
○
○
○
○
○
7-bit and 10-bit addressing modes
NORMAL, FAST, FAST+, HIGH speeds
Multi-master systems supported
Clock arbitration and synchronization
User defined timings on I2C lines
Wide range of system clock frequencies
Interrupt generation
● I2C bus controller - Slave
○ NORMAL speed 100 kB/s
○ FAST speed 400 kB/s
2
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
CONFIGURATION
The following parameters of the DP8051XP
core can be easily adjusted to requirements of
a dedicated application and technology. Configuration of the core can be effortlessly done,
by changing appropriate constants in the
package file. There is no need to change any
parts of the code.
In all cases the number of IP Core instantiations within a project and the number of
manufactured chips are unlimited. The license
is royalty-per-chip free. There are no restrictions regarding the time of use.
There are two formats of the delivered IP
Core:
VHDL or Verilog RTL synthesizable source code
called HDL Source code
FPGA EDIF/NGO/NGD/QXP/VQM called Netlist
● Internal Program Memory type
- synchronous
- asynchronous
● Internal Program ROM Memory size
0 - 64kB
-
● Internal Program RAM Memory size
0 - 64kB
-
● Internal Program Memory fixed size
- true
- false
● Second Data Pointer (DPTR1)
- used
- unused
● DPTR0 decrement
- used
- unused
● DPTR1 decrement
- used
- unused
● Data Pointers auto-switch
- used
- unused
● Interrupts
-
 Timing access protection
- used
- unused
♦
 Power Management Mode
- used
- unused
 Stop mode
- used
- unused
The DP8051XP can address Internal Data Memory
of up to 256 bytes The Internal Data Memory can
be implemented as Single-Port synchronous RAM.
 DoCD debug unit
- used
- unused
subroutines
location
Besides parameters mentioned above, all
available peripherals and external interrupts
can be excluded from the core, by changing
appropriate constants in the package file.
LICENSING
Comprehensible and clearly defined licensing
methods without royalty-per-chip fees make
use of our IP Cores easy and simple.
Single-Site license option – dedicated to small
and middle sized companies, which run their
business in one place.
Multi-Site license option – dedicated to corporate customers, who operate at several locations. The licensed product can be used in
selected company branches.
DESIGN FEATURES
♦
PROGRAM MEMORY:
The DP8051XP soft core is dedicated for operation
with Internal and External Program Memory. Internal Program Memory can be implemented as:
○ ROM located in address range between 0x0000 
(ROMsize-1)
○ RAM located in address range between (RAMsize-1)
 0xFFFF
External Program Memory can be implemented as
ROM or RAM located in address range between
ROMsize  RAMsize.
♦
INTERNAL DATA MEMORY:
EXTERNAL DATA MEMORY:
The DP8051XP soft core can address up to 16 MB
of External Data Memory. Extra DPX (Data Pointer
eXtended) register is used for segments swapping.
♦
USER SPECIAL FUNCTION REGISTERS:
Up to 60 External (user) Special Function Registers
(ESFRs) may be added to the DP8051XP design.
ESFRs are memory mapped into Direct Memory,
between addresses 0x80 and 0xFF, in the same
manner as core SFRs and may occupy any address,
that is not occupied by a core SFR.
♦
WAIT STATES SUPPORT:
The DP8051XP soft core is dedicated for operation
with wide range of Program and Data memories.
Slow Program and External Data memory may
assert a memory Wait signal, to hold up CPU activity.
3
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
PINS DESCRIPTION
PIN
clk
reset
port0i
port1i
port2i
port3i
iprgramsize
iprgromsize
prgramdata
prgromdata
TYPE
input
input
input
input
input
input
input
input
input
input
sxdmdatai
input
xdatai
ready
ramdatai
sfrdatai
int0
int1
int2
int3
int4
int5
int6
t0
t1
t2
gate0
gate1
t2ex
capture0
capture1
capture2
capture3
rxdi0
rxdi1
scli
sdai
ss
si
mi
scki
tdi
tck
tms
rsto
port0o
port1o
port2o
port3o
prgaddr
prgdatao
prgramwr
sxdmaddr
sxdmdatao
sxdmoe
sxdmwe
xaddr
xdatao
xdataz
xprgrd
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
input
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
DESCRIPTION
Global clock
Global reset
Port 0 input
Port 1 input
Port 2 input
Port 3 input
Size of on-chip RAM CODE
Size of on-chip ROM CODE
Data bus from int. RAM prog. memory
Data bus from int. ROM prog. memory
Data bus from sync external data
memory (SXDM)
Data bus from external memories
External memory data ready
Data bus from internal data memory
Data bus from user SFR’s
External interrupt 0
External interrupt 1
External interrupt 2
External interrupt 3
External interrupt 4
External interrupt 5
External interrupt 6
Timer 0 input
Timer 1 input
Timer 2 input
Timer 0 gate input
Timer 1 gate input
Timer 2 gate input
Timer 2 capture 0 line
Timer 2 capture 1 line
Timer 2 capture 2 line
Timer 2 capture 3 line
Serial receiver input 0
Serial receiver input 1
Master/Slave I2C clock line input
Master/Slave I2C data input
SPI slave select
SPI slave input
SPI master input
SPI clock input
DoCD™ TAP data input
DoCD™ TAP clock input
DoCD™ TAP mode select input
Reset output
Port 0 output
Port 1 output
Port 2 output
Port 3 output
Internal program memory address bus
Data bus for internal program memory
Internal program memory write
Sync XDATA memory address bus (SXDM)
Data bus for Sync XDATA memory (SXDM)
Sync XDATA memory read (SXDM)
Sync XDATA memory write (SXDM)
Address bus for external memories
Data bus for external memories
Turn xdata bus into ‘Z’ state
External program memory read
xprgwr
xdatard
xdatawr
ramaddr
ramdatao
ramoe
ramwe
sfraddr
sfrdatao
sfroe
sfrwe
tdo
rtck
debugacs
coderun
pmm
stop
rxd0o
rxd1o
txd0
txd1
sclo
sclhs
sdao
sso
so
mo
scko
scken
soen
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
output
External program memory write
External data memory read
External data memory write
Internal Data Memory address bus
Data bus for internal data memory
Internal data memory output enable
Internal data memory write enable
Address bus for user SFR’s
Data bus for user SFR’s
User SFR’s read enable
User SFR’s write enable
DoCD™ TAP data output
DoCD™ return clock line
DoCD™ accessing data
CPU is executing an instruction
Power management mode indicator
Stop mode indicator
Serial receiver output 0
Serial receiver output 1
Serial transmitter output 0
Serial transmitter output 1
Master/Slave I2C clock output
High speed Master I2C clock line
Master/Slave I2C data output
SPI slave select lines
SPI slave output
SPI master output
SPI clock output
SPI clock line tri-state buffer control
SPI slave output enable
PROGRAM CODE SPACE
IMPLEMENTATION
The following figure shows an example Program Memory space implementation in systems with the DP8051XP Microcontroller core.
The on-chip Program Memory located in the
address space between 0kB and 1kB, is typically used for a BOOT code with system initialization functions. This part of the code is typically implemented as ROM. The on-chip Program Memory located in the address space
between 60kB and 64kB, is typically used
for timing critical part of the code e.g. interrupt subroutines, arithmetic functions etc.
This part of the code is typically implemented
as RAM and can be loaded by the BOOT code
during initialization phase, from an off-chip
memory or through an RS232 interface from
an external device. The program code is executed from two spaces mentioned above
without wait-states and can achieve a top
performance of up to 200 million instructions
per second (many instructions executed in one
clock cycle). The off-chip Program Memory
located in the address space between 1kB and
4
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
60kB, is typically used for the main code and
constants. This part of the code is usually implemented as ROM, SRAM or a FLASH device.
due to relatively long access time, the program code executed from devices mentioned
above must be fetched with additional WaitStates. The number of required Wait-States
depends on memory access time and the
DP8051XP clock frequency. In most cases, the
proper number of Wait-States cycles is in
range from 2 to 5. The READY pin can be also
dynamically modulated e.g. by SDRAM controller.
0xFFFF
0xF000
prgdatao
iprgramsize
iprgromsize
On-chip Memory
(implemented as ROM)
8
8
On-chip Memory
prgramwr
12
(implemented as RAM)
0 Wait-State access
prgaddr
10
prgromdatai
DP8051XP
xdatai
8
On-chip Memory
(implemented as ROM)
0 Wait-State access
ASIC or FPGA chip
8
xdatao
xaddr
sxdmdatai
int0
int1
int2
int3
int4
int5
int6
t0
gate0
t1
gate1
t2
t2ex
capture0
capture1
capture2
capture3
port0o
port1o
port2o
port3o
prgaddr
prgdatao
prgramwe
xprgrd
(implemented as FLASH,
or SRAM)
e.g. 2-5 Wait-State access
Wait-State
Manager
The implementation described above should
be treated as an example only. All Program
Memory spaces are fully configurable. For
timing-critical applications the whole program
code can be implemented as on-chip ROM and
(or) RAM and executed without Wait-States,
but for some other applications, the whole
xaddress
xdatao
xdataz
xdatard
xdatawr
sxdmaddr
sxdmdatao
sxdmwe
sxdmoe
ramaddr
ramdatao
ramwe
ramoe
sfraddr
sfrdatao
sfroe
sfrwe
stop
pmm
rxd0i
rxd1i
rxd0o
txd0
rxd1o
txd1
scli
sdai
sclhs
sclo
sdao
Off-chip Memory
16
xprgwr
ready
ramdatai
sfrdatai
prgramdatai
prgromdatai
xdatai
ready
The figure below shows typical Program
Memories connections in system with the
DP8051XP Microcontroller core.
prgramdatai
port0i
port1i
port2i
port3i
On chip Memory
(implemented as ROM, SRAM
or FLASH)
0x0000
SYMBOL
(implemented as RAM)
Off chip Memory
0x0400
program code can be implemented as off-chip
ROM or FLASH and executed with required
number Wait-State cycles.
ss
si
mi
scki
reset
clk
sso
so
mo
scko
scken
soen
coderun
debugacs
rsto
5
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
BLOCK DIAGRAM
prgaddr
prgdatao
prgramdatai
prgromdatai
prgramwr
xaddr
xdatao
xdatai
xdataz
ready
xdatard
xdatawr
xprgrd
xprgwr
iprgramsize
iprgromsize
Opcode
Decoder
I/O Port
Registers
port0
port1
port2
port3
Program
Memory
Interface
Timers
t0
t1
gate0
gate1
External
Memory
Interface
Control
Unit
ramaddr
ramdatao
ramdatai
ramwe
ramoe
Internal
Data
Memory
Interface
sfraddr
sfrdatao
sfrdatai
sfrwe
sfroe
User
SFR’s
Interface
Interrupt
Controller
PMM
Unit
Timer 2
capture0
capture1
capture2
capture3
Compare
Capture
rxd1o
rxd1i
txd1
DoCD™
Debug Unit
tdi
tck
tms
tdo
rtck
coderun
debugacs
SXDM
Interface
sxdmaddr
sxdmdatao
sxdmdatai
sxdmoe
sxdmwe
Watchdog
Timer
UART 0
rxd0o
rxd0i
txd0
SPI Unit
so
si
mo
mi
scko
scki
scken
ss
sso
soen
UART 1
MDU32
sclhs
scli
sclo
sdai
sdao
clk
reset
rsto
Master/
Slave I2C
Unit
pmm
stop
Floating
Point Unit
t2
t2ex
int0
int1
int2
int3
int4
int5
int6
ALU
UNITS SUMMARY
ALU – Arithmetic 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.
Opcode Decoder – Performs an opcode decoding instruction and control functions for all
other blocks.
Control Unit – It performs the core synchronization and data flow control. This module is
directly connected to Opcode Decoder and it
manages execution of all microcontroller
tasks.
Program Memory Interface – Program
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.
External Memory Interface - Contains
memory access related registers, such as Data
Page High (DPH), Data Page Low (DPL) and
Data Page Pointer (DPP) registers. It performs
the external Program and Data Memory addressing and data transfers. Program fetch
cycle length can be programmed by the user.
This feature is called Program Memory Wait
States and it allows core, to work with different speed program memories.
Synchronous eXternal Data Memory 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.
Internal Data Memory Interface – Interface
controls access into the internal memory of
size up to 256 bytes. It contains 8-bit Stack
Pointer (SP) register and related logic.
User SFRs Interface – Special Function Registers interface controls access to the special
registers. It contains standard and used de-
6
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
fined registers and related logic. User defined
external devices can be quickly accessed
(read, written, modified), by using all direct
addressing mode instructions.
Interrupt Controller – Interrupt control module is responsible for the interrupt manage
system for the external and internal interrupt
sources. It contains interrupt related registers,
such as Interrupt Enable (IE), Interrupt Priority
(IP), Extended Interrupt Enable (EIE), Extended
Interrupt priority (EIP) and (TCON) registers.
I/O Ports – Block contains 8051’s general purpose I/O ports. Each of port’s pin can be
read/write as a single bit or as an 8-bit bus
called P0, P1, P2, and P3.
Power Management Unit – Power 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
is highly desirable, when microcontroller is
planned to be used in portable and power
critical applications.
DoCD™ Debug Unit – it’s a real-time hardware debugger, which provides debugging
capability of a whole SoC system. Unlike other
on-chip debuggers, DoCDTM ensures nonintrusive 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 TTAG or 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 by the user, 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.
Floating Point Unit – FPMU contains floating
arithmetic point xIEEE-754, compliant instructions (C float, int, long int types supported). It
is used to execute single precision floating
point operations such as: addition, subtraction, multiplication, division, square root,
comparison absolute value of number and
change of sign. Basing on specialized CORDIC
algorithm, full set of trigonometric operations
are also allowed: sine, cosine, tangent, arctangent. It also has built-in integer to floating
point and vice versa conversion instructions.
FPU supports single precision real numbers,
16-bit and 32-bit signed integers. This unit has
included standard software interface, which
enables easy usage and interfacing with user's
C/ASM written programs.
MDU32 Multiply Divide Unit – It is a fixed
point, fast 16-bit and 32-bit multiplication and
division unit. It supports unsigned and 2's
complement signed integer operands. The
MDU32 is controlled by dedicated direct
memory access module (called DMA). All arguments and result registers, are automatically read and written back by internal DMA. This
unit has included standard software interface,
which allows easy usage and interfacing with
user C/ASM written programs. This module is
a modern replacement for older MDU.
Timers – System timers module. Contains two
16 bits configurable timers: Timer 0 (TH0,
TL0), Timer 1 (TH1, TL1) and Timers Mode
(TMOD) registers. In the timer mode, timer
registers are incremented every 12 (or 4) CLK
periods, when appropriate timer is enabled. In
the counter mode, the timer registers are
incremented every falling transition on their
corresponding input pins (T0, T1), if gates are
opened (GATE0, GATE1). T0, T1 input pins are
sampled every CLK period. It can be used as
clock source for UARTs.
7
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
Timer 2 – Timer 2 - Second system timer
module contains one 16-bit configurable timer: Timer 2 (TH2, TL2), capture registers
(RLDH, RLDL) and Timer 2 Mode (T2MOD)
register. It can work as a 16-bit timer / counter, 16-bit auto-reload timer / counter. It also
supports compare capture unit (if present in
the system). It can be used as clock source for
UART0.
Compare Capture Unit – it is one of the most
powerful peripheral units of the core. It can be
used for all kinds of digital signal generation
and event capturing, such as pulse generation,
pulse width modulation, measurements etc.
Watchdog Timer – The watchdog timer is a
27-bit counter, which is incremented in every
system clock period (CLK pin). It performs
system protection against software upsets.
UART0 – Universal Asynchronous Receiver
and Transmitter module is full duplex, which
means, it can transmit and receive concurrently. Includes Serial Configuration register
(SCON), serial receiver and transmitter buffer
(SBUF) registers. Its receiver is doublebuffered, meaning, it can commence reception of a second byte, before the previously
received byte has been read from the receive
register. Writing to SBUF0 loads the transmit
register and reading SBUF0, reads a physically
separate receive register. Works in 3 asynchronous and 1 synchronous mode. UART0
can be synchronized by Timer 1 or Timer 2 (if
present in the system).
UART1 – Universal Asynchronous Receiver
and Transmitter module is full duplex - it can
transmit and receive concurrently. It includes
Serial Configuration register (SCON1), serial
receiver and transmitter buffer (SBUF1) registers. Its receiver is double-buffered, which
means, it can commence reception of a second byte before the previously received byte
has been read from the receive register. Writing to SBUF1, loads the transmit register and
reading SBUF1, reads a physically separate
receive register. Works in 3 asynchronous and
1 synchronous modes. UART1 is synchronized
by Timer 1.
Master I2C Unit – I2C bus controller is a Master module. The core incorporates all features
required by I2C specification. It supports both
7-bit and 10-bit addressing modes on the I2C
bus and works as a master transmitter and
receiver. It can be programmed to operate
with arbitration and clock synchronization, to
allow it to operate in multi-master systems.
Built-in timer enables operation within wide
range of the input frequencies. The timer allows achieving any non-standard clock frequency. The I2C controller supports all transmission modes: Standard, Fast, Fast+ and High
Speed up to 3400 kB/s.
Slave I2C Unit – I2C bus controller is a Slave
module. The core incorporates all features
required by I2C specification. It works as a
slave transmitter/receiver, depending on
working mode, determined by a master device. The I2C controller supports all transmission modes: Standard, Fast, Fast+ and High
Speed up to 3400 kB/s.
SPI Unit – It is a fully configurable master/slave Serial Peripheral Interface, which
allows user to configure polarity and phase of
serial clock signal SCK. It allows the microcontroller to communicate with serial peripheral
devices. It is also capable of interprocessor
communication in a multi-master system. A
serial clock line (SCK) synchronizes shifting and
sampling of the information on the two independent serial data lines. SPI data are simultaneously transmitted and received. SPI system is flexible enough, to interface directly
with numerous standard product peripherals,
from several manufacturers. Data transfer
rate up to CLK/4. Clock control logic allows to
select the clock polarity and to choose the two
fundamentally different clocking protocols, to
accommodate most available synchronous
serial peripheral devices. When the SPI is configured as a master, software selects one of
four different bit rates for the serial clock.
Error-detection logic is included, to support
interprocessor communications. A writecollision detector indicates, when an attempt
is made, to write data to the serial shift register, while the transfer is in progress. A multiple-master mode-fault detector automatically
disables SPI output drivers, if more than one
SPI device simultaneously attempts to become
bus master.
8
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
DP8051 FAMIILY OVERVIEW
Floating Point Coprocessor
4
4
Fixed Point Coprocessor
1
2
SPI
I\O Ports
2
3
Slave I2C Bus Controller
UART
1
1
2
Master I2C Bus Controller
Timer/Counters
2
2
2
Watchdog
Data Pointers
2
5
15
Compare/Capture
Interrupt levels
DP8051CPU 15.6 64k 64k 64k 256 256 16M
DP8051
15.6 64k 64k 64k 256 256 16M
DP8051XP 15.6 64k 64k 64k 256 256 16M
Interrupt sources
Interface for additional SFRs
Power Management Unit
External Data Memory
space
External Data / Program
Memory Wait States
Internal Data Memory space
Stack space size
off-chip
Program
Memory space
on-chip
RAM
on-chip
ROM
Design
Architecture speed grade
The main features of each DP8051 family member have been summarized in the table below. 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 below and others) and requests the core
modifications.
-
-
-
-
-
-
-
DP8051 family of Pipelined High Performance Microcontroller Cores
DP80390 FAMIILY OVERVIEW
-
Floating Point Coprocessor
-
Fixed Point Coprocessor
4
4
SPI
1
2
Slave I2C Bus Controller
I\O Ports
2
3
Master I C Bus Controller
UART
1
1
2
-
-
-
-
-
2
Timer/Counters
2
2
2
Watchdog
Data Pointers
2
5
15
Compare/Capture
Interrupt levels
Interface for additional SFRs
Interrupt sources
DP80390CPU 15.6 64k 64k 8M 256 256 16M
DP80390
15.6 64k 64k 8M 256 256 16M
DP80390XP 15.6 64k 64k 8M 256 256 16M
Power Management Unit
External Data Memory
space
External Data / Program
Memory Wait States
Internal Data Memory space
Stack space size
off-chip
Program
Memory space
on-chip
RAM
on-chip
ROM
Design
Architecture speed grade
The main features of each DP80390 family member have been summarized in the table below. 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 below and others) and requests the
core modifications.
DP80390 family of Pipelined High Performance Microcontroller Cores
PERFORMANCE
The following table gives a survey about the
Core area and performance in Programmable
Logic Devices after Place & Route (CPU features and peripherals have been included):
Device
Speed grade
Fmax
CYCLONE
-6
85 MHz
CYCLONE-II
-6
91 MHz
CYCLONE-III
-6
104 MHz
STRATIX
-5
92 MHz
STRATIX-II
-3
154 MHz
STRATIX-III
-2
171 MHz
STRATIX-IV
-2
180 MHz
Core performance in ALTERA® devices– results given for working system with connected IDATA, CODE and XDATA memories
For the user, the most important factor is an
application speed improvement. The most
commonly used arithmetic functions and their
improvement are shown in table below. The
improvement was computed as {80C51 clock
periods} divided by {DP8051XP clock periods}
required to execute an identical function.
More details are available in the core documentation.
Function
8-bit addition (immediate data)
8-bit addition (direct addressing)
8-bit addition (indirect addressing)
8-bit addition (register addressing)
8-bit subtraction (immediate data)
Improvement
9,00
9,00
9,00
12,00
9,00
9
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.
8-bit subtraction (direct addressing)
8-bit subtraction (indirect addressing)
8-bit subtraction (register addressing)
8-bit multiplication
8-bit division
16-bit addition
16-bit subtraction
16-bit multiplication
32-bit addition
32-bit subtraction
32-bit multiplication
Average speed improvement:
9,00
9,00
12,00
16,00
9,60
12,00
12,00
13,60
12,00
12,00
12,60
11,12
UART1
210
Master I2C Unit
260
Slave I2C Unit
160
SPI Unit
110
Compare Capture Unit
150
Watchdog Timer
100
Multiply Divide Unit 32
800
Total area
4190
*CPU – consisted of ALU, Opcode Decoder, Control Unit,
Program & Internal & External Memory Interfaces, User SFRs
Interface
Core components area utilization in all technologies except
STRATIX-II/ -III/-IV
Dhrystone Benchmark Version 2.1 was used to
measure the core performance. The following
table shows the DP8051XP performance in
terms of VAX MIPS per 1 MHz rating.
Device
DMIPS/MHz
80C51
0,00941
DP8051
0,10787
DP8051+DPTRs
0,13722
DP8051+DPTRs+SXDM
0,14457
DP8051+DPTRs+SXDM+MDU32
0,14632
Core performance in terms of DMIPS per MHz
Ratio
1,00
11,46
14,58
15,36
15,55
VAX MIPS ratio
14,58
15,36 15,55
15
11,46
10
5
1
0
80C51
DP8051
DP8051+DPTRs
DP8051+DPTRs+SXDM
DP8051+DPTRs+SXDM+MDU32
CONTACT
Area utilized by each unit of the DP8051XP
core in vendor specific technologies is summarized in the table below.
Component
CPU*
DPTR1 register
DPTR0 decrement
DPTR1 decrement
DPTR0 & DPTR1 auto-switch
Timed Access protection
Interrupt Controller
INT2-INT6
Power Management Unit
I/O ports
Timers
Timer 2
UART0
Area
[LUT4s]
CPU*
1265
DPTR1 register
40
DPTR0 decrement
30
DPTR1 decrement
30
DPTR0 & DPTR1 auto-switch
25
Timed Access protection
15
Interrupt Controller
120
INT2-INT6
50
Power Management Unit
5
I/O ports
95
Timers
86
Timer 2
90
UART0
135
UART1
135
Master I2C Unit
180
Slave I2C Unit
105
SPI Unit
85
Compare Capture Unit
50
Watchdog Timer
60
Multiply Divide Unit 32
570
Total area
3171
*CPU – consisted of ALU, Opcode Decoder, Control Unit,
Program & Internal & External Memory Interfaces, User SFRs
Interface
Core components area utilization in STRATIX-II/ -III/ -IV
Component
Area
[LUT4s]
1620
50
40
40
30
20
150
100
10
100
160
170
210
For any modifications or special requests,
please contact Digital Core Design or local
distributors.
DCD’s headquarters:
Wroclawska 94
41-902 Bytom, POLAND
e-mail: : [email protected]
tel. : +48 32 282 82 66
fax : +48 32 282 74 37
Distributors:
Please check: http://dcd.pl/sales
10
Copyright © 1999-2015 DCD – Digital Core Design. All Rights Reserved.
All trademarks mentioned in this document are the property
of their respective owners.