2016 DF6805 IP Core 8-bit Fast Microcontroller v. 1.06 COMPANY OVERVIEW 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 are designing solutions tailored to your needs. ● ● ● ● ● ● ● ● ● ● ● DESIGN FEATURES IP CORE OVERVIEW The following document contains a brief description of the DF6805 core functionality. The DF6805 is an advanced 8-bit MCU IP Core, with highly sophisticated, on-chip peripheral capabilities. The DF6805 soft core is binary-compatible with the industry standard 68HC05 8-bit microcontroller and can achieve a performance of 45-100 million instructions per second. The DF6805 has a FAST architecture which is 4.1 times faster, compared to the original implementation. In the standard configuration, the core has integrated on-chip major peripheral functions. The DF6805 Microcontroller Core contains full-duplex UART (Asynchronous serial communications interface (SCI) and can also be equipped with the Synchronous Serial Peripheral Interface SPI. The main 16-bit, freerunning timer system has implemented two input capture lines and two output-compare lines. Selfmonitoring circuitry is included on-chip, to protect against system errors. A computer operating properly (COP) watchdog system protects against software failures. An illegal opcode detection circuit provides a non-maskable interrupt, if illegal opcode is detected. Two software-controlled power-saving modes - WAIT and STOP are available, to conserve additional power. These modes make the DF6805 IP Core especially attractive for automotive and battery-driven applications. The DF6805 is fully customizable - it is delivered in the exact configuration to meet user’s requirements. It includes fully automated test bench with complete set of tests, allowing easy package validation at each stage of SoC design flow. CPU FEATURES ● ● ● FAST architecture, 4.1 times faster than the original implementation Software compatible with the 68HC05 industry standard 64 bytes of System Function Registers space (SFRs) Up to 64k bytes of Program Memory Up to 64k bytes of Data Memory De-multiplexed Address/Data Bus to allow easy connection to memory Two power saving modes: STOP, WAIT Ready pin allows Core to operate with slow program and data memories Fully synthesizable, static synchronous design with no internal tri-states No internal reset generator or gated clock Scan test ready Technology independent HDL source code Core can be fully customized 1 GHz virtual clock frequency compared to original implementation ♦ ♦ ♦ One global system clock Synchronous reset All asynchronous input signals are synchronized before internal use PERIPHERALS The peripherals listed below are implemented in standard configuration of DF6805. ● ● ● ● ● ● TM DoCD On-Chip Debugger ○ Processor execution control ○ Read, write all processor contents ○ Hardware execution breakpoints ○ Three wire communication interface Four 8-bit I/O Ports Interrupt Controller ○ 7 interrupt sources ○ 7 priority levels ○ Dedicated Interrupt vector for each interrupt source Main16-bit timer/counter system ○ 16 bit free running counter ○ Timer clocked by internal source 16-bit Compare/Capture Unit ○ Two independent input-capture functions ○ Two output-compare channels ○ Events capturing ○ Pulses generation ○ Digital signals generation ○ Gated timers ○ Sophisticated comparator ○ Pulse width modulation ○ Pulse width measuring Full-duplex UART - SCI ○ Standard Non-return to Zero format (NRZ) ○ 8 or 9 bit data transfer ○ Integrated baud rate generator ○ Noise, Overrun and Framing error detection ○ IDLE and BREAK characters generation ○ Wake-up block to recognize UART wake-up from IDLE condition ○ Three SCI related interrupts 1 Copyright © 1999-2016 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. 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 VHDL or Verilog RTL synthesizable source code called HDL Source code FPGA EDIF/NGO/NGD/QXP/VQM called Netlist Technical documentation ● ● ● ♦ ♦ ♦ 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: Installation notes HDL core specification Datasheet PINS DESCRIPTION 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 IMPROVEMENT From the user’s point of view, the most important is application speed improvement. The most commonly used arithmetic functions and theirs improvement are shown in table on the right. Improvement was computed as {M68HC05 clock periods}, divided by {DF6805 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 subtraction (immediate data) 8-bit subtraction (direct addressing) 8-bit subtraction (indirect addressing) 16-bit addition (immediate data) 16-bit addition (direct addressing) 16-bit addition (indirect addressing 16-bit subtraction (immediate data) 16-bit subtraction (direct addressing) 16-bit subtraction (indirect addressing Multiplication Division Improvement 4 4 3,6 4 4 3,6 4 4 3,6 4 4 3,6 5 5 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. PIN TYPE DESCRIPTION clk input Global system clock rst input Global system reset prgdata[7:0] input Program memory bus input datai[7:0] input Memory bus input ufrdatai[7:0] input UFRs data bus input ready input Code and Data memory Ready irq input Interrupt input portxi[7:0] input Port A, B, C, D input cap1,2 input Capture inputs rxd input SCI receiver data input clkdocd input DoCDTM clock input docddatai input DoCDTM serial Data input prgaddr[15:0] output Program memory address bus prgoe output Program memory output enable datao[7:0] output Data memory & UFR bus output addr[15:0] output Data memory address bus ramwe output Data memory write enable ramoe output Data memory output enable ufraddr[5:0] output UFR’s address bus ufrwe output UFRs write enable ufroe output UFRs output enable halt output Halt clock system (STOP inst.) portxo[7:0] output Port A, B, C, D output ddrx[7:0] output Port X data direction control cmp1,2 output Compare outputs txd output SCI transmitter data output docddatao output DoCDTM Serial Data Output docdclk output DoCDTM Serial Clock Output * The kind of activity is configurable OPTIONAL PERIPHERALS Optional peripherals (not included in the presented DF6805 Core) are also available. The optional peripherals can be implemented upon customer’s request. ● ● ● ● ● ● ADC - support I2C bus controller - Master I2C bus controller - Slave PWM – Pulse Width Modulation Timer Fixed-Point arithmetic coprocessor Floating-Point arithmetic coprocessor IEEE-754 standard single precision 2 Copyright © 1999-2016 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. MICROCONTROLLERS OVERVIEW Real Time Interrupt Data Pointers READY for Prg. and Data memories Compare\Capture Main Timer System 2 2 2 2 - - - - - DF6805 4.1 64k 64k - 7 7 - - * 2/2* 1* D68HC05 1.0 64k 64k - 7 7 - - * 2/2* 1* DF6808 3.2 64k 64k - 7 7 - - * 2/2* 1* D68HC08 1.0 64k 64k - 7 7 - - * 2/2* D68HC11E 1.0 64k 64k - 20 17 1* * D68HC11F 1.0 64K 64K - 20 17 1* D68HC11KW1 1.0 1M 1M 25 22 1* D68HC11K 1.0 1M 1M 20 17 DF6811E 4.4 64k 64k - 20 17 DF6811F 4.4 64k 64k - 20 DF6811K 4.4 1M 1M 20 - - - - - - * 4 + * 4 + * 4 1* * 4 5/3* 1* * 4 12 000 * 5/3* 1* * 7 13 500 * 13/6* 3* * 10 21 000 1* * 5/3* 2* * 7 16 000 1* * 5/3* 1* * 4 * * * 12 000 17 1* * 5/3* 1* * 4 * * * 13 000 17 1* * 5/3* 2* 7 * D68HCXX family of High Performance Microcontroller Cores DoCD Debugger Size – ASIC gates Interface for additional SFRs Interrupt levels - Pulse accumulator Interrupt sources 64k 64k 64k Watchdog Timer Motorola Memory Expansion Logic 64k 64k 64k SPI M/S Interface Paged Data Memory space 1 1 1 I\O Ports Physical Linear memory space D6802 D6803 D6809 Design SCI (UART) Speed acceleration The main features of each D68HCXX and DF68XX 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 above and the others) and request the core modifications. 3 900 6 000 9 000 * - 6 700 * - 6 700 * - 8 900 * - 8 900 16 000 + optional * configurable UNITS SUMMARY Control Unit - Performs the core synchronization and data flow control. This module manages execution of all instructions. The Control Unit also manages execution of STOP instruction and wakesup the processor from the STOP mode. Opcode Decoder - Performs an instruction opcode decoding and the control functions for all other blocks. ALU - Arithmetic Logic Unit performs the arithmetic and logic operations, during execution of an instruction. It contains accumulator (A), Condition Code Register (CCREG), Index registers (X) and related logic like arithmetic unit, logic unit and multiplier. Bus Controller – Program Memory, Data Memory & SFR’s (Special Function Register) interface - controls access into the program and data memories and special registers. It contains Program Counter (PC), Stack Pointer (SP) register and related logic. Interrupt Controller - DF6805 extended IC has implemented 7-level interrupt priority control. The interrupt requests may come from external pin (IRQ), as well as from particular peripherals. The DF6805 peripheral systems generate maskable interrupts, which are recognized only if the global interrupt mask bit (I) in the CCR is cleared. Maskable interrupts are prioritized, according to default arrangement established during reset. When interrupt condition occurs, an interrupt status flag is set, to indicate the condition. I/O Ports - All ports are 8-bit general-purpose bidirectional I/O system. The PORTA, PORTB, PORTC, PORTD data registers have their corresponding data direction registers DDRA, DDRB, DDRC, DDRD, to control ports data flow. It assures that all DF6805’s ports have full I/O selectable registers. Writes to any ports pins cause data to be stored in the data registers. If any port pins are configured as output, then data registers are driven out of those pins. Reads from port pins configured as input, causes that input pin is read. If port pins is configured as output, during read data register is read. Writes to any ports pins, not configured as outputs, do not cause data to be driven out of those pins, but the data is stored in the output registers. Thus, if the pins later become outputs, the last data written to port will be driven out the port pins. 3 Copyright © 1999-2016 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. Timer & Compare - The programmable timer is based on free-running 16-bit counter, with a fixed divide by four prescaler, plus input capture/output compare circuitry. The timer can be used for many purposes, including measuring pulse length of two input signals and generating two output signals. The timer has 16-bit architecture hence each specific functional segment is represented by two 8-bit registers. These registers contain the high and low byte of that functional block. Accessing the low byte of a specific timer function, allows full control of that function, however, an access of the high byte inhibits that specific timer function, until the byte is also accessed. Each of the input-capture channel has its own 16-bit time capture latch (input-capture register) and each of the outputcompare channel, has its own 16-bit compare register. Additional control bits permit software to control the edge(s) that trigger each input-capture function and the automatic actions that result from output-compare functions. Although hardwired logic is included to automate many timer activities, this timer architecture is mainly a softwareoriented system. This structure is easily adaptable to a very wide range of applications, although for some specific timing applications, it is not as efficient, as a dedicated hardware. Watchdog Timer - The Watchdog Timer consist of 13 a free running Timer CLK/2 and control logic. The Watchdog Timer can be enabled by software, by writing ‘1’ to the WDOG bit in MISC register ($000C). Once enabled, the WDT Timer cannot be disabled by software. In addition, the WDOG bit acts as a reset mechanism for the WDT Timer. Writing logic one ‘1’ to the WDOG bit, clears Watchdog counter and inhibits Watchdog timeout SCI - The SCI is a full-duplex UART type, asynchronous system, using standard non return to zero (NRZ) format: 1 start bit, 8 or 9 data bits and a 1 stop bit. The DF6805 resynchronizes the receiver bit clock on all one to zero transitions in the bit stream. Therefore, differences in baud rate, between the sending device and the SCI, are not as likely to cause reception errors. Three logic samples are taken near the middle of data bit time and majority logic decides the sense for the bit. For the start and stop bits, seven logic samples are taken. Even if noise causes one of these samples to be incorrect, the bit will still be received correctly. The receiver also has the ability, to enter a temporary standby mode (called receiver wakeup), to ignore messages intended for a different receiver. Logic automatically wakes the receiver up, in time to see the first character of the next message. This wakeup feature greatly reduces CPU overhead in multi-drop SCI networks. The SCI transmitter can produce queued characters of idle (whole characters of all logic 1) and break (whole characters of all logic 0). In addition to the usual transmit data register empty (TDRE) status flag, this SCI also provides a transmit complete (TC) indication, that can be used in applications with a modem. TM DoCD - Debug Unit – it’s a real-time hardware debugger, which provides debugging capability of a whole SoC system. Unlike 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 controlled on program memory, internal and external data memories, as well as on SFRs. Hardware breakpoint is executed, if any write/read occurs at particular address, with cerTM tain data pattern or without pattern. The DoCD system includes three-wire 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 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. BLOCK DIAGRAM clk rst ready Opcode Decoder halt Control Unit irq Interrupt Controller BUS Controller ufraddr ufrwe ufroe ALU Watchdog Timer rxd txd clkdocd docddatai docddatao docdclk I/O Ports SCI Unit TM DoCD Debugger prgdata prgaddr prgoe datai datao addr ramwe ramoe Timer with Compare / Capture Unit portai portbi portci portdi portao portbo portco portdo ddra ddrb ddrc ddrd cap1 cap2 cmp1 cmp2 4 Copyright © 1999-2016 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners. PERFORMANCE The following table gives a survey about the Core area and performance in ASIC devices (all key features included): Technology 0.25 typical 0.25 typical Optimization Gates area 7 000 speed 8 500 Core performance in ASIC devices Fmax 100 MHz 230 MHz Area utilized by the each unit of DF6805 core in vendor specific technologies is summarized in table below. Area Component [LC] [FFs] CPU* 4 250 153 Main Timer 390 55 COM/CAP 550 60 Watchdog 105 14 UART - SCI 1120 124 I/O Ports 600 64 Total area 7 000 470 *CPU – consisted of ALU, Control Unit and Instruction Decoder, Bus Controller with support for 64KB RAM, External IRQ pin Interrupt Controller Core components area utilization CONTACT Digital Core Design Headquarters: Wroclawska 94, 41-902 Bytom, POLAND e-mail: [email protected] tel.: 0048 32 282 82 66 fax: 0048 32 282 74 37 Distributors: Please check: http://dcd.pl/sales 5 Copyright © 1999-2016 DCD – Digital Core Design. All Rights Reserved. All trademarks mentioned in this document are the property of their respective owners.