Вы находитесь на странице: 1из 12

DP80390XP

Pipelined High Performance


8-bit Microcontroller
ver 3.10
OVERVIEW CPU FEATURES
DP80390XP is an ultra high perform- ● 100% software compatible with industry
ance, speed optimized soft core of a single- standard 80390 & 8051
chip 8-bit embedded controller dedicated for ○ LARGE mode – 8051 instruction set
operation with fast (typically on-chip) and slow
(off-chip) memories. The core has been de- ○ FLAT mode – 80390 instruction set
signed with a special concern about perform- ● Pipelined RISC architecture enables to
ance to power consumption ratio. This ratio execute instructions 10 times faster com-
is extended by an advanced power manage- pared to standard 8051
ment unit PMU.
DP80390XP soft core is 100% binary- ● 24 times faster multiplication
compatible with the industry standard 80390 & ● 12 times faster addition
8051 8-bit microcontroller. There are two con-
figurations of DP80390XP: Harward where ● 2 Data Pointers (DPTR) for faster memory
internal data and program buses are sepa- blocks copying
rated, and von Neumann with common pro- ○ Advanced INC & DEC modes
gram and external data bus. DP80390XP has
○ Auto-switch of current DPTR
Pipelined RISC architecture 10 times faster
compared to standard architecture and exe- ● Up to 256 bytes of internal (on-chip) Data
cutes 85-200 million instructions per second. Memory
This performance can also be exploited to ● Up to 16M bytes of linear Program
great advantage in low power applications Memory
where the core can be clocked over ten times
more slowly than the original implementation ○ 64 kB of internal (on-chip) Program Memory
for no performance penalty. ○ 16 MB external (off-chip) Program Memory
DP80390XP is fully customizable, which
means it is delivered in the exact configuration ● Up to 16M bytes of external (off-chip) Data
to meet users’ requirements. There is no need Memory
to pay extra for not used features and wasted ● User programmable Program Memory Wait
silicon. It includes fully automated testbench States solution for wide range of memories
with complete set of tests allowing easy speed
package validation at each stage of SoC de-
sign flow.
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


● User programmable External Data Memory ○ Stop mode
Wait States solution for wide range of ● Extended Interrupt Controller
memories speed
○ 2 priority levels
● De-multiplexed Address/Data bus to allow
easy connection to memory ○ Up to 7 external interrupt sources
○ Up to 8 interrupt sources from peripherals
● Dedicated signal for Program Memory
writes. ● Four 8-bit I/O Ports
● Interface for additional Special Function ○ Bit addressable data direction for each line
Registers ○ Read/write of single line and 8-bit group
● Fully synthesizable, static synchronous ● Three 16-bit timer/counters
design with positive edge clocking and no
internal tri-states ○ Timers clocked by internal source

● Scan test ready ○ Auto reload 8/16-bit timers


○ Externally gated event counters
● 2.0 GHz virtual clock frequency in a 0.35u
technological process ● Full-duplex serial port
○ Synchronous mode, fixed baud rate
PERIPHERALS
● DoCD™ debug unit ○ 8-bit asynchronous mode, fixed baud rate

○ Processor execution control ○ 9-bit asynchronous mode, fixed baud rate

Run ○ 9-bit asynchronous mode, variable baud rate


Halt ● I2C bus controller - Master
Step into instruction ○ 7-bit and 10-bit addressing modes
Skip instruction ○ NORMAL, FAST, HIGH speeds
○ Read-write all processor contents ○ Multi-master systems supported
Program Counter (PC) ○ Clock arbitration and synchronization
Program Memory ○ User defined timings on I2C lines
Internal (direct) Data Memory
○ Wide range of system clock frequencies
Special Function Registers (SFRs)
○ Interrupt generation
External Data Memory
● I2C bus controller - Slave
○ Hardware execution breakpoints
○ NORMAL speed 100 kbs
Program Memory
○ FAST speed 400 kbs
Internal (direct) Data Memory
○ HIGH speed 3400 kbs
Special Function Registers (SFRs)
External Data Memory ○ Wide range of system clock frequencies

○ Hardware breakpoints activated at a certain ○ User defined data setup time on I2C lines

Program address (PC) ○ Interrupt generation


Address by any write into memory ● SPI – Master and Slave Serial Peripheral
Address by any read from memory
Interface
Address by write into memory a required data ○ Supports speeds up ¼ of system clock
Address by read from memory a required data Mode fault error

○ Three wire communication interface Write collision error


○ Four transfer formats supported
● Power Management Unit
○ System errors detection
○ Power management mode
○ Allows operation from a wide range of system
○ Switchback feature
clock frequencies (build-in 5-bit timer)
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


○ Interrupt generation There is no need to change any parts of the
● Programmable Watchdog Timer code.

● 16-bit Compare/Capture Unit • Internal Program Memory - synchronous


- asynchronous
○ Events capturing
Internal Program ROM -
• 0 - 64kB
○ Pulses generation Memory size -
○ Digital signals generation Internal Program RAM -
• 0 - 64kB
○ Gated timers Memory size -

○ Internal Program Memory - true


Sophisticated comparator •
fixed size - false
○ Pulse width modulation
Second Data Pointer - used
○ Pulse width measuring •
(DPTR1) - unused
● Fixed-Point arithmetic coprocessor - used
• DPTR0 decrement
○ Multiplication - 16bit * 16bit - unused

○ Division - 32bit / 16bit - used


• DPTR1 decrement
- unused
○ Division - 16bit / 16bit
- used
○ Left and right shifting - 1 to 31 bits • Data Pointers auto-switch
- unused
○ Normalization subroutines
• Interrupts -
● Floating-Point arithmetic coprocessor location
IEEE-754 standard single precision - used
• Timing access protection
○ FADD, FSUB - addition, subtraction - unused

○ FMUL, FDIV- multiplication, division - used


• Power Management Mode
- unused
○ FSQRT- square root
- used
○ FUCOM - compare • Stop mode
- unused
○ FCHS - change sign
- used
• DoCD debug unit
○ FABS - absolute value - unused
● Floating-Point math coprocessor - IEEE-
754 standard single precision real, word Besides mentioned above parameters all
and short integers available peripherals and external interrupts
can be excluded from the core by changing
○ FADD, FSUB- addition, subtraction
appropriate constants in package file.
○ FMUL, FDIV- multiplication, division
○ FSQRT- square root
○ FUCOM- compare DELIVERABLES
○ FCHS - change sign ♦ Source code:
◊ VHDL Source Code or/and
○ FABS - absolute value ◊ VERILOG Source Code or/and
○ FSIN, FCOS- sine, cosine ◊ Encrypted, or plain text EDIF netlist
♦ VHDL & VERILOG test bench environment
○ FTAN, FATAN- tangent, arcs tangent
◊ Active-HDL automatic simulation macros
◊ ModelSim automatic simulation macros
◊ Tests with reference responses
CONFIGURATION ♦ Technical documentation
The following parameters of the DP80390XP ◊ Installation notes
core can be easy adjusted to requirements of ◊ HDL core specification
dedicated application and technology. Configu- ◊ Datasheet
ration of the core can be prepared by effortless ♦ Synthesis scripts
changing appropriate constants in package file. ♦ Example application
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


♦ Technical support External Program Memory can be im-
◊ IP Core implementation support plemented as ROM or RAM located in ad-
◊ 3 months maintenance dress range between ROMsize ÷ 16 MB ex-
● Delivery the IP Core updates, minor and cluding area occupied by RAMsize.
major versions changes
● Delivery the documentation updates ♦ INTERNAL DATA MEMORY:
● Phone & email support
The DP80390XP can address Internal
Data Memory of up to 256 bytes The Inter-
LICENSING nal Data Memory can be implemented as
Comprehensible and clearly defined licensing Single-Port synchronous RAM.
methods without royalty fees make using of IP
Core easy and simply. ♦ EXTERNAL DATA MEMORY:
The DP80390XP soft core can address
Single Design license allows use IP Core in up to 16 MB of External Data Memory. Ex-
single FPGA bitstream and ASIC implementa- tra DPX (Data Pointer eXtended) register is
tion. used for segments swapping.
Unlimited Designs, One Year licenses allow
use IP Core in unlimited number of FPGA bit- ♦ USER SPECIAL FUNCTION REGISTERS:
streams and ASIC implementations. Up to 60 External (user) Special Func-
tion Registers (ESFRs) may be added to
In all cases number of IP Core instantiations
the DP80390XP design. ESFRs are mem-
within a design, and number of manufactured
ory mapped into Direct Memory between
chips are unlimited. There is no time restriction
addresses 80 hex and FF hex in the same
except One Year license where time of use is
manner as core SFRs and may occupy any
limited to 12 months.
address that is not occupied by a core
● Single Design license for SFR.
○ VHDL, Verilog source code called HDL
Source ♦ WAIT STATES SUPPORT:
The DP80390XP soft core is dedicated
○ Encrypted, or plain text EDIF called Netlist
for operation with wide range of Program
● One Year license for and Data memories. Slow Program and Ex-
○ Encrypted Netlist only
ternal Data memory may assert a memory
Wait signal to hold up CPU activity.
● Unlimited Designs license for
○ HDL Source
○ Netlist
● Upgrade from
○ HDL Source to Netlist
○ Single Design to Unlimited Designs

DESIGN FEATURES
♦ PROGRAM MEMORY:
The DP80390 soft core is dedicated for
operation with Internal and External Pro-
gram Memory. It maximal linear size is
equal to 16 MB. Internal Program Memory
can be implemented as:
○ ROM located in address range between
0000h ÷ (ROMsize-1)
○ RAM located in address range between
(64kB-RAMsize) ÷ FFFFh

All trademarks mentioned in this document http://www.DigitalCoreDesign.com


are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


SYMBOL BLOCK DIAGRAM

clk clk
reset Opcode
reset Decoder ALU
ramdatai(7:0) ramdatao(7:0)
ramaddr(7:0) prgromdatai(7:0)
ramoe prgramdatai(7:0) Program
ramwe prgdatao(7:0) Memory
sfrdatao(7:0) prgaddr(15:0) Interface iprgromsize(2:0)
sfrdatai(7:0) prgramwr Control Unit iprgramsize(2:0)
sfraddr(7:0)
sfroe xdatai(7:0)
sfrwe xdatao(7:0)
xramaddr(23:0) int0
prgromdatai(7:0) prgdatao(7:0) xramdataz External int1
prgramdatai(7:0) prgaddr(15:0) xdatard Memory int2
xdatawr Interface Interrupt int3
prgramwr
xprgrd Controller int4
xdatai(7:0) xdatao(7:0) xprgwr int5
ready xaddr(23:0) ready int6
xdataz ramdatai(7:0)
iprgromsize(2:0)
iprgramsize(2:0) xdatard ramdatao(7:0) Internal Data port0i(7:0)
xdatawr ramaddr(7:0) Memory port1i(7:0)
xprgrd ramoe Interface port2i(7:0)
xprgwr ramwe port3i(7:0)
I/O Ports port0o(7:0)
int0 sfrdatai(7:0) port1o(7:0)
sfrdatao(7:0) port2o(7:0)
int1 User SFR
sfraddr(7:0) Interface port3o(7:0)
int2 sfroe
int3 sfrwe
int4
int5 Power stop
docddatai Management
int6 DoCD™ pmm
docddatao Debug Unit Unit
docddatai docddatao docdclk
docdclk
stop Multiply
pmm Floating Divide Unit
Point Unit
port0i(7:0) port0o(7:0)
port1i(7:0) port1o(7:0)
port2i(7:0) port2o(7:0) t0
port3i(7:0) port3o(7:0) Timers 0 & 1
gate0
t2 Timer 2 t1
t0 t2ex gate1
gate0
t1
gate1 capture0 Watchdog
capture1 Compare Timer
t2 capture2 Capture Unit
t2ex capture3
capture0
capture1 rxd0o
rxd1o UART 0 rxd0i
capture2 rxd1i UART 1 txd0
capture3 txd1
rxd0i rxd0o so
txd0 msclhs si
mscli mo
rxd1i rxd1o msclo
Master mi
txd1 I2C Unit
msdai SPI Unit scko
msclhs msdao scki
mscli msclo sckz
sscli ss
msdai msdao ssclo Slave sso(7:0)
ssdai I2C Unit
sscli ssclo ssdao
ssdai ssdao
ss sso(7:0)
si so
mi mo
scki scko
sckz

All trademarks mentioned in this document http://www.DigitalCoreDesign.com


are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


prgdatao[7:0] output Data bus for internal program memory
PINS DESCRIPTION
prgramwr output Internal program memory write
PIN TYPE DESCRIPTION xaddr[23:0] output Address bus for external memories
clk input Global clock xdatao[7:0] output Data bus for external memories
reset input Global reset xdataz output Turn xdata bus into ‘Z’ state
port0i[7:0] input Port 0 input xprgrd output External program memory read
port1i[7:0] input Port 1 input xprgwr output External program memory write
port2i[7:0] input Port 2 input xramrd output External data memory read
port3i[7:0] input Port 3 input xramwr output External data memory write
iprgramsize[2:0] input Size of on-chip RAM CODE ramaddr[7:0] output Internal Data Memory address bus
iprgromsize[2:0] input Size of on-chip ROM CODE ramdatao[7:0] output Data bus for internal data memory
prgramdata[7:0] input Data bus from int. RAM prog. memory ramoe output Internal data memory output enable
prgromdata[7:0] input Data bus from int. ROM prog. memory ramwe output Internal data memory write enable
xdatai[7:0] input Data bus from external memories sfraddr[6:0] output Address bus for user SFR’s
ready input External memory data ready sfrdatao[7:0] output Data bus for user SFR’s
ramdatai[7:0] input Data bus from internal data memory sfroe output User SFR’s read enable
sfrdatai[7:0] input Data bus from user SFR’s sfrwe output User SFR’s write enable
int0 input External interrupt 0 docddatao output DoCD™ data output
int1 input External interrupt 1 docdclk output DoCD™ clock line
int2 input External interrupt 2 pmm output Power management mode indicator
int3 input External interrupt 3 stop output Stop mode indicator
int4 input External interrupt 4 rxd0o output Serial receiver output 0
int5 input External interrupt 5 rxd1o output Serial receiver output 1
int6 input External interrupt 6 txd0 output Serial transmitter output 0
t0 input Timer 0 input txd1 output Serial transmitter output 1
t1 input Timer 1 input msclo output Master I2C clock output
t2 input Timer 2 input msclhs output High speed Master I2C clock line
gate0 input Timer 0 gate input msdao output Master I2C data output
gate1 input Timer 1 gate input msclo output Slave I2C clock output
t2ex input Timer 2 gate input msdao output Slave I2C data output
capture0 input Timer 2 capture 0 line sso[7:0] output SPI slave select lines
capture1 input Timer 2 capture 1 line so output SPI slave output
capture2 input Timer 2 capture 2 line mo output SPI master output
capture3 input Timer 2 capture 3 line scko output SPI clock output
rxdi0 input Serial receiver input 0 sckz output SPI clock line tri-state buffer control
rxdi1 input Serial receiver input 1
mscli input Master I2C clock line input
UNITS SUMMARY
msdai input Master I2C data input
sscli input Slave I2C clock line input
ALU – Arithmetic Logic Unit performs the
arithmetic and logic operations during execu-
ssdai input Slave I2C data input
tion of an instruction. It contains accumulator
ss input SPI slave select
(ACC), Program Status Word (PSW), (B) regis-
si input SPI slave input ters and related logic such as arithmetic unit,
mi input SPI master input logic unit, multiplier and divider.
scki input SPI clock input
Opcode Decoder – Performs an instruction
docddatai input DoCD™ data input
opcode decoding and the control functions for
port0o[7:0] output Port 0 output
all other blocks.
port1o[7:0] output Port 1 output
port2o[7:0] output Port 2 output
Control Unit – Performs the core synchroniza-
tion and data flow control. This module is di-
port3o[7:0] output Port 3 output
rectly connected to Opcode Decoder and
prgaddr[15:0] output Internal program memory address bus
manages execution of all microcontroller tasks.
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


Program Memory Interface – Contains Pro- DoCD™ Debug Unit – it’s a real-time hard-
gram Counter (PC) and related logic. It per- ware debugger provides debugging capability
forms the instructions code fetching. Program of a whole SoC system. In contrast to other on-
Memory can be also written. This feature al- chip debuggers DoCD™ provides non-intrusive
lows usage of a small boot loader loading new debugging of running application. It can halt,
program into ROM, RAM, EPROM or FLASH run, step into or skip an instruction, read/write
EEPROM storage via UART, SPI, I2C or any contents of microcontroller including all
DoCD™ module. registers, internal, external, program memo-
ries, all SFRs including user defined peripher-
External Memory Interface - Contains mem-
als. Hardware breakpoints can be set and con-
ory access related registers such as Data
trolled on program memory, internal and exter-
Page High (DPH), Data Page Low (DPL) and
nal data memories, as well as on SFRs. Hard-
Data Pointer eXtended (DPX) registers. It per-
ware breakpoint is executed if any write/read
forms the external Program and Data Memory
occurred at particular address with certain data
addressing and data transfers. Program fetch
pattern or without pattern. The DoCD™ system
cycle length can be programmed by user. This
includes three-wire interface and complete set
feature is called Program Memory Wait States,
of tools to communicate and work with core in
and allows core to work with different speed
real time debugging. It is built as scalable unit
program memories.
and some features can be turned off to save
Internal Data Memory Interface – Internal silicon and reduce power consumption. A spe-
Data Memory interface controls access into the cial care on power consumption has been
internal 256 bytes memory. It contains 8-bit taken, and when debugger is not used it is
Stack Pointer (SP) register and related logic. automatically switched in power save mode.
User SFRs Interface – Special Function Reg- Finally whole debugger is turned off when de-
isters interface controls access to the special bug option is no longer used.
registers. It contains standard and used de- Floating Point Unit – Block contains floating
fined registers and related logic. User defined point arithmetic IEEE-754 compliant instruc-
external devices can be quickly accessed tions (C float, int, long int types supported). It
(read, written, modified) using all direct ad- is used to execute single precision floating
dressing mode instructions. point operations such as: addition, subtraction,
Interrupt Controller – Interrupt control module multiplication, division, square root, compari-
is responsible for the interrupt manage system son absolute value of number and change of
for the external and internal interrupt sources. sign. Basing on specialized CORDIC algorithm
It contains interrupt related registers such as a full set of trigonometric operations are also
Interrupt Enable (IE), Interrupt Priority (IP), allowed: sine, cosine, tangent, arctangent. It
Extended Interrupt Enable (EIE), Extended also has built-in integer to floating point and
Interrupt priority (EIP) and (TCON) registers. vice versa conversion instructions. FPU sup-
ports single precision real numbers, 16-bit and
I/O Ports – Block contains 8051’s general pur- 32-bit signed integers. This unit has included
pose I/O ports. Each of port’s pin can be standard software interface allows easy usage
read/write as a single bit or as an 8-bit bus and interfacing with user C/ASM written pro-
called P0, P1, P2, P3. grams.
Power Management Unit – Block contains Multiply Divide Unit – It’s a fixed point fast
advanced power saving mechanisms with 16-bit and 32-bit multiplication and division
switchback feature, allowing external clock unit. It provides shift and normalize operations,
control logic to stop clocking (Stop mode) or additionally. All operations are performed using
run core in lower clock frequency (Power Man- unsigned integer numbers. The MDU contains
agement Mode) to significantly reduce power MD0 to MD5 operands, the result registers and
consumption. Switchback feature allows one control register called ARCON. This unit
UARTs, and interrupts to be processed in full has included standard software interface al-
speed mode if enabled. It is very desired when lows easy usage and interfacing with user
microcontroller is planned to use in portable C/ASM written programs.
and power critical applications.
Timers – System timers module. Contains two
16 bits configurable timers: Timer 0 (TH0,
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


TL0), Timer 1 (TH1, TL1) and Timers Mode register. Works in 3 asynchronous and 1 syn-
(TMOD) registers. In the timer mode, timer chronous modes. UART1 is synchronized by
registers are incremented every 12 CLK peri- Timer 1.
ods when appropriate timer is enabled. In the
Master I2C Unit – I2C bus controller is a Mas-
counter mode the timer registers are incre-
ter module. The core incorporates all features
mented every falling transition on their corre-
required by I2C specification. Supports both 7-
sponding input pins (T0, T1), if gates are
bit and 10-bit addressing modes on the I2C
opened (GATE0, GATE1). T0, T1 input pins
bus. It works as a master transmitter and re-
are sampled every CLK period. It can be used
ceiver. It can be programmed to operate with
as clock source for UARTs.
arbitration and clock synchronization to allow it
Timer 2 – Second system timer module con- operate in multi-master systems. Built-in timer
tains one 16-bit configurable timer: Timer 2 allows operation from a wide range of the input
(TH2, TL2), capture registers (RLDH, RLDL) frequencies. The timer allows to achieve any
and Timer 2 Mode (T2MOD) register. It can non-standard clock frequency. The I2C control-
work as a 16-bit timer / counter, 16-bit auto- ler supports all transmission modes: Standard,
reload timer / counter. It also supports com- Fast and High Speed up to 3400 kbs.
pare capture unit if it’s presented in system. It
Slave I2C Unit – I2C bus controller is a Slave
can be used as clock source for UART0.
module. The core incorporates all features
Compare Capture Unit – The compare / cap- required by I2C specification. It works as a
ture / reload unit is one of the most powerful slave transmitter/receiver depending on work-
peripheral units of the core. It can be used for ing mode determined by a master device. The
all kinds of digital signal generation and event I2C controller supports all transmission modes:
capturing such as pulse generation, pulse Standard, Fast and High Speed up to 3400
width modulation, measurements etc. kbs.
Watchdog Timer – The watchdog timer is a SPI Unit – it’s a fully configurable master/slave
27-bit counter which is incremented every sys- Serial Peripheral Interface, which allows user
tem clock periods (CLK pin). It performs sys- to configure polarity and phase of serial clock
tem protection against software upsets. signal SCK. It allows the microcontroller to
communicate with serial peripheral devices. It
UART0 – Universal Asynchronous Receiver &
is also capable of interprocessor communica-
Transmitter module is full duplex, meaning it
tions in a multi-master system. A serial clock
can transmit and receive concurrently. Includes
line (SCK) synchronizes shifting and sampling
Serial Configuration register (SCON), serial
of the information on the two independent se-
receiver and transmitter buffer (SBUF) regis-
rial data lines. SPI data are simultaneously
ters. Its receiver is double-buffered, meaning it
transmitted and received. SPI system is flexi-
can commence reception of a second byte
ble enough to interface directly with numerous
before a previously received byte has been
standard product peripherals from several
read from the receive register. Writing to
manufacturers. Data rates as high as CLK/4.
SBUF0 loads the transmit register, and reading
Clock control logic allows a selection of clock
SBUF0 reads a physically separate receive
polarity and a choice of two fundamentally dif-
register. Works in 3 asynchronous and 1 syn-
ferent clocking protocols to accommodate most
chronous modes. UART0 can be synchronized
available synchronous serial peripheral de-
by Timer 1 or Timer 2.
vices. When the SPI is configured as a master,
UART1 – Universal Asynchronous Receiver & software selects one of four different bit rates
Transmitter module is full duplex, meaning it for the serial clock. SPI automatically drives
can transmit and receive concurrently. Includes slave select outputs SSO[7:0], and address
Serial Configuration register (SCON1), serial SPI slave device to exchange serially shifted
receiver and transmitter buffer (SBUF1) regis- data. Error-detection logic is included to sup-
ters. Its receiver is double-buffered, meaning it port interprocessor communications. A write-
can commence reception of a second byte collision detector indicates when an attempt is
before a previously received byte has been made to write data to the serial shift register
read from the receive register. Writing to while a transfer is in progress. A multiple-
SBUF1 loads the transmit register, and reading master mode-fault detector automatically dis-
SBUF1 reads a physically separate receive ables SPI output drivers if more than one SPI
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


devices simultaneously attempts to become
bus master.
The figure below shows a typical Program
PROGRAM CODE SPACE Memories connections in system with
DP80390XP Microcontroller core.
IMPLEMENTATION
8
The figure below shows an example Pro- prgramdatai
8
gram Memory space implementation in sys- prgdatao On-chip Memory
(implemented as RAM)
tems with DP80390XP Microcontroller core. prgramwr
12
0 Wait-State access

The On-chip Program Memory located in ad-


dress space between 0kB and 1kB is typically prgaddr
used for BOOT code with system initialization 10
On-chip Memory
8 (implemented as ROM)
functions. This part of the code is typically im- prgromdata 0 Wait-State access
plemented as ROM. The On-chip Program DP80390XP
i ASIC or FPGA
Memory located in address space between chip

60kB and 64kB is typically used for timing criti- xdatai


8
cal part of the code e.g. interrupt subroutines, xdatao Off-chip Memory
arithmetic functions etc. This part of the code is xaddr 24 (implemented as
FLASH, or SRAM)
typically implemented as RAM and can be xprgrd eg. 2-5 Wait-State
loaded by the BOOT code during initialization xprgwr
access

phase from Off-chip memory or through RS232


interface from external device. From the two Wait-States
mentioned above spaces program code is ready manager

executed without wait-states and can achieve


a top performance up to 200 million instruc- The described above implementation should be
tions per second (many instructions executed treated as an example. All Program Memory
in one clock cycle). The Off-chip Program spaces are fully configurable. For timing-critical
Memory located in address space between applications whole program code can be imple-
1kB and 60kB, and above 64 kB is typically mented as on-chip ROM and (or) RAM and
used for main code and constants. This part of executed without Wait-States, but for some
the code is usually implemented as ROM, other applications whole program code can be
SRAM or FLASH device. Because of relatively implemented as off-chip ROM or FLASH and
long access time the program code executed executed with required number Wait-State cy-
from mentioned above devices must be cles.
fetched with additional Wait-States. Number of
required Wait-States depends on memory ac-
cess time and DP80390XP clock frequency. In
most cases the proper number of Wait-States
cycles is between 2-5. The READY pin can be
also dynamically modulated e.g. by SDRAM
controller.
0xFFFFFF

Off chip Memory


(implemented as ROM,
SRAM or FLASH)

0x00FFFF
On chip Memory
(implemented as RAM)
0x00F000
Off chip Memory
(implemented as ROM,
SRAM or FLASH)
0x000400
On-chip Memory
(implemented as ROM)
0x000000
All trademarks mentioned in this document http://www.DigitalCoreDesign.com
are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


PERFORMANCE 45000
41850
The following tables give a survey about the 40000
Core area and performance in ASICs Devices 35000
(CPU features and peripherals have been in- 30000
cluded): 25000
Device Optimization Fmax 20000
0.25u typical area 100 MHz 15000
0.25u typical speed 200 MHz 10000
Core performance in ASIC devices 268 1550
5000
For a user the most important is application 0
speed improvement. The most commonly used
arithmetic functions and theirs improvement 80C51 (12MHz) 80C310 (33MHz)
are shown in table below. Improvement was DP80390XP (200MHz)
computed as {80C51 clock periods} divided by
{DP80390XP clock periods} required to exe- Area utilized by the each unit of DP80390XP
cute an identical function. More details are core in vendor specific technologies is summa-
available in core documentation. rized in table below.
Function Improvement Area
8-bit addition (immediate data) 9,00 Component
[Gates] [FFs]
8-bit addition (direct addressing) 9,00 CPU* 6500 310
8-bit addition (indirect addressing) 9,00 DPTR1 register 300 32
8-bit addition (register addressing) 12,00 DPTR0 decrement 100 -
8-bit subtraction (immediate data) 9,00 DPTR1 decrement 100 -
8-bit subtraction (direct addressing) 9,00 DPTR0 & DPTR1 auto-switch 50 8
Timed Access protection 100 10
8-bit subtraction (indirect addressing) 9,00
Interrupt Controller 500 40
8-bit subtraction (register addressing) 12,00
INT2-INT6 350 25
8-bit multiplication 16,00
Power Management Unit 50 5
8-bit division 9,60
I/O ports 400 35
16-bit addition 12,00
Timers 600 50
16-bit subtraction 12,00
Timer 2 600 60
16-bit multiplication 13,60
UART0 700 60
32-bit addition 12,00
UART1 700 60
32-bit subtraction 12,00
Master I2C Unit 900 120
32-bit multiplication 12,60
Slave I2C Unit 550 70
Average speed improvement: 11,12 SPI Unit 450 55
Compare Capture Unit 550 60
Watchdog Timer 400 45
Dhrystone Benchmark Version 2.1 was used to Multiply Divide Unit 1700 105
measure Core performance. The following ta- Total area 15600 1155
ble gives a survey about the DP80390XP per- *CPU – consisted of ALU, Opcode Decoder, Control Unit, Program &
formance in terms of Dhrystone/sec and VAX Internal & External Memory Interfaces, User SFRs Interface
Core components area utilization
MIPS rating.
Clock Dhry/sec
Device Target
frequency (VAX MIPS)
80C51 - 12 MHz 268 (0.153)
80C310 - 33 MHz 1550 (0.882)
DP80390XP 0.25u 200 MHz 41850 (23,800)
Core performance in terms of Dhrystones

All trademarks mentioned in this document http://www.DigitalCoreDesign.com


are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


The main features of each DP80390 family member have been summarized in table below. It gives
a briefly member characterization helping user to select the most suitable IP Core for its application.
User can specify its own peripheral set (including listed below and the others) and requests the core
modifications.
Architecture speed grade

Power Management Unit


Program

External Data / Program


External Data Memory
Memory

Internal Data Memory

Memory Wait States


space

Compare/Capture
Interrupt sources
Stack space size

additional SFRs

Timer/Counters
Interrupt levels

Master I2C Bus

Floating Point
Design

Data Pointers

Slave I2C Bus


on-chip ROM
on-chip RAM

Coprocessor

Coprocessor
Interface for

Fixed Point
Watchdog

Controller

Controller
I\O Ports
off-chip

space

space

UART

SPI
DP80390CPU 10 64k 64k 16M 256 256 16M 2 2 1 - - - - - - - - - -
DP80390 10 64k 64k 16M 256 256 16M 5 2 1 2 1 4 - - - - - - -
DP80390XP 10 64k 64k 16M 256 256 16M 15 2 2 3 2 4
DP80390 family of Pipelined High Performance Microcontroller Cores

The main features of each DP8051 family member have been summarized in table below. It gives
a briefly member characterization helping user to select the most suitable IP Core for its application.
User can specify its own peripheral set (including listed below and the others) and requests the core
modifications.
Architecture speed grade

Power Management Unit

Program
External Data / Program
External Data Memory

Memory
Internal Data Memory

Memory Wait States

space
Compare/Capture
Interrupt sources
Stack space size

additional SFRs

Timer/Counters
Interrupt levels

Master I C Bus

Floating Point
Design
Data Pointers

Slave I2C Bus


on-chip ROM
on-chip RAM

Coprocessor

Coprocessor
Interface for

Fixed Point
Watchdog

Controller

Controller
I\O Ports

2
off-chip

space

space

UART

SPI
DP8051CPU 10 64k 64k 64k 256 256 16M 2 2 1 - - - - - - - - - -
DP8051 10 64k 64k 64k 256 256 16M 5 2 1 2 1 4 - - - - - - -
DP8051XP 10 64k 64k 64k 256 256 16M 15 2 2 3 2 4
DP8051 family of Pipelined High Performance Microcontroller Cores

All trademarks mentioned in this document http://www.DigitalCoreDesign.com


are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.


CONTACTS
For any modification or special request con-
tact to DCD.
Headquarters:
Wroclawska 94
41-902 Bytom, POLAND
e-mail: iinnffoo@
@ddccdd..ppll
tel. : +48 32 282 82 66
fax : +48 32 282 74 37
Field Office:
Texas Research Park
14815 Omicron Dr. suite 100
San Antonio, TX 78245, USA
e-mail: iinnffooU
USS@
@ddccdd..ppll
tel. : +1 210 422 8268
fax : +1 210 679 7511

Distributors:
Please check hhtttpp::///w
wwww
w..ddccdd..ppll//aappaarrttnn..pphhpp

All trademarks mentioned in this document http://www.DigitalCoreDesign.com


are trademarks of their respective owners. http://www.dcd.pl

Copyright 1999-2003 DCD – Digital Core Design. All Rights Reserved.

Вам также может понравиться