|
|
Pipelined High Performance MicrocontrollerThe DP80390 is an ultra high performance, speed optimized soft core of a single-chip 8-bit embedded controller dedicated for operation with fast (typically on-chip) and slow (off-chip) memories. It supports up to 8 MB of linear code space and 16 MB of linear data space. 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 PMU. The DP80390 soft core is 100% binary-compatible with the industry standard 8051 8-bit microcontroller. There are two configurations of DP80390: Harvard where internal data and program buses are separated, and von Neumann with common program and external data bus. DP80390 has a Pipelined RISC architecture 10 times faster compared to standard architecture and executes 85-200 million instructions per second. This performance can also be exploited to great advantage in low power applications where the core can be clocked over ten times slower than the original implementation, without performance depletion. The DP80390 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 80390 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). In contrast to 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, external, program memories, all SFRs including user defined peripherals. More details about DCD on Chip Debugger...
clk reset iprgramsize (2:0) iprgromsize (2:0) t0 t1 gate0 gate1 rxd0irxd0o
![]() txd0
![]() tdi tck tmstdo
![]() rtck
![]() port0i (7:0) port1i (7:0) port2i (7:0) port3i (7:0)port0o (7:0)
![]() port1o (7:0)
![]() port2o (7:0)
![]() port3o (7:0)
![]() ramdatai (7:0)ramdatao (7:0)
![]() ramaddr (7:0)
![]() ramoe
![]() ramwe
![]() int0 int1 sfrdatai (7:0)sfrdatao (7:0)
![]() sfrwe
![]() sfroe
![]() sfraddr (6:0)
![]() prgramdata (7:0) prgromdata (7:0)prgaddr (15:0)
![]() prgdatao (7:0)
![]() prgramwr
![]() xdatai (7:0) readyxdatao (7:0)
![]() xdataz
![]() xaddr (23:0)
![]() xprgrd
![]() xprgwr
![]() xdatard
![]() xdatawr
![]() stop
![]() pmm
![]() sxdmdatai (7:0)sxdmaddr (15:0)
![]() sxdmdatao (7:0)
![]() sxdmoe
![]() sxdmwe
![]()
iprgramsize (2:0)
![]() iprgromsize (2:0)
![]()
t0 t1 gate0 gate1
rxd0i rxd0o txd0
tdi
![]() tck
![]() tms
![]() tdo
![]() rtck
![]()
port0i (7:0) port1i (7:0) port2i (7:0) port3i (7:0) port0o (7:0) port1o (7:0) port2o (7:0) port3o (7:0)
ramdatao (7:0)
![]() ramaddr (7:0)
![]() ramdatai (7:0)
![]() ramoe
![]() ramwe
![]()
int0
![]() int1
![]()
sfrdatai (7:0) sfrdatao (7:0) sfrwe sfroe sfraddr (6:0)
prgramdata (7:0)
![]() prgromdata (7:0)
![]() prgaddr (15:0)
![]() prgdatao (7:0)
![]() prgramwr
![]()
xdatai (7:0) xdatao (7:0) xdataz xaddr (23:0) ready xprgrd xprgwr xdatard xdatawr
stop
![]() pmm
![]()
sxdmdatai (7:0)
![]() sxdmaddr (15:0)
![]() sxdmdatao (7:0)
![]() sxdmoe
![]() sxdmwe
![]()
clk
![]() reset
![]() Control UnitIt performs the core synchronization and data flow control. This module is directly connected to Opcode Decoder and manages execution of all microcontroller tasks.Opcode DecoderPerforms an instruction opcode decoding and the control functions for all other blocks.TimersSystem 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.UART0Universal Asynchronous Receiver & Transmitter module is full duplex, meaning it can transmit and receive concurrently. Includes Serial Configuration register (SCON), serial receiver and transmitter buffer (SBUF) registers. Its receiver is double-buffered, meaning it can commence reception of a second byte before a 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 modes. UART0 can be synchronized by Timer 1 or Timer 2 (if present in system).DoCDTM JTAGDoCDTM Debug Unit – it is a real-time hardware debugger provides debugging capability of a whole SoC system. In contrast to other on-chip debuggers DoCD™ 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, external, program memories, all SFRs including user defined peripherals. Hardware breakpoints can be set and con-trolled on program memory, internal and external data memories, as well as on SFRs. Hardware breakpoints can be set and controlled on program memory, hardware watchpoints can be set and controlled on internal and external data memories, as well as on SFRs. Hardware watchpoints are executed if any write/read occurred at particular address with certain data pattern or without pattern. Two additional pins CODERUN, DEBUGACS indicate the sate of the debugger and CPU. CODERUN is active when CPU is executing an instruction. DEBUGACS pin is active when any access is performed by DoCD™ debugger. The DoCD™ system includes JTAG interface and complete set of tools to communicate and work with core in real time debugging. It is built as scalable unit and some features can be turned off to save silicon and reduce power consumption. A special care on power consumption has been taken, and when debugger is not used it is automatically switched in power save mode. Finally whole debugger is turned off when debug option is no longer used.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.I/O PortsBlock contains 8051’s general purpose I/O ports. Each of port’s pin can be read/write as a single bit or as a 8-bit bus P0, P1, P2, P3.Internal Data Memory InterfaceInterface controls access into the internal memory of size up to 256 bytes. It contains 8-bit Stack Pointer (SP) register and related logic.Interrupt ControllerInterrupt Controller module is responsible for the interrupt manage system of the external and internal interrupt sources. It contains interrupt related registers such as Interrupt Enable (IE), Interrupt Priority (IP) and (TCON) registers.SFRs InetrfaceSpecial Function Registers interface controls access to externally connected peripherals through SFR bus.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 loading new program into ROM, RAM, EPROM or FLASH EEPROM storage via UART, SPI, I2C or DoCD™ module.External Memory InterfaceExternal 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 user. This feature is called Program Memory Wait States, and allows core to work with different speed program memories.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 is very desired when microcontroller is planned to use in portable and power critical applications.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.Each core has been tested in variety of FPGA and ASIC technologies. Its implementation's results are summarized below.
DP80390 implementation results for ALTERA devices. The CPU features and Peripherals have been included.
DP80390 implementation results for XILINX devices. The CPU features and Peripherals have been included.
The main features of each DCD's DP80390 family member have been summarized in table above. 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 above and the others) and requests the core modifications. The Core Wizard allows the users to generate their own IP Core. |
Home
Site map
Contact Us






clk
iprgramsize (2:0)
t0
port0i (7:0)
