Datasheets
 ALTERA implementation 
 XILINX implementation 
 LATTICE implementation 
 ASIC implementation 
Application Notes Development Tools Products Summary
DF6811

8-bit FAST Microcontrollers Family



The DF6811 is a advanced 8-bit MCU IP Core with highly sophisticated, on chip peripheral capabilities. DF6811 soft core is binary-compatible with the industry standard 68HC11 8-bit microcontroller, and has improved FAST architecture that is ca. 4 times faster compared to original implementation. Core in standard configuration has integrated on chip major peripheral functions.
There are two serial interfaces: an asynchronous serial communications interface (SCI) and a separate synchronous serial peripheral interface (SPI). The main 16-bit, free-running timer system has three input capture lines, five output-compare lines, and a real-time interrupt function. An 8-bit pulse accumulator subsystem can count external events or measure external periods.
Self-monitoring 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 DF6811 IP Core especially attractive for automotive and battery-driven applications.
The DF6811 has built in real time hardware on chip debugger DoCDTM, allowing easy software debugging and validation.
The DF6811 is fully customizable, which means it is delivered in the exact configuration to meet users’ requirements. There is no need to pay extra for not used features and wasted silicon. It includes fully automated testbench with complete set of tests allowing easy package validation at each stage of SoC design flow.


Each of the DCD's DF68XX Core has built in support for 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 a 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, SFRs including user defined peripherals, data and program memories. More details about DCD on Chip Debugger...




CPU Features

Peripherals

  • FAST architecture, 4 times faster than the original implementation
  • Software compatible with industry standard 68HC11
  • 10 times faster multiplication
  • 16 times faster division
  • 256 bytes of remapped System Function Registers space (SFRs)
  • De-multiplexed Address/Data Bus to allow easy memory connection
  • Two power saving modes: STOP, WAI
  • Ready pin allows Core to operate with slow program and data memories.
  • Fully synthesizable
  • Static synchronous design
  • No internal reset generator or gated clock
  • Positive edge clocking and no internal tri-states
  • Scan test ready
  • 1 GHz of virtual clock frequency compared to original implementation

Design Features

  • One global system clock
  • Synchronous reset
  • All asynchronous input signals are synchronized before internal use
  • Synchronous logic without microcode

Configuration

The following parameters of the DF6811 core can be easy adjusted to requirements of dedicated application and technology. Configuration of the core can be prepared by effortless changing appropriate constants in package file. There is no need to change any parts of the code.

Memories type
  • synchronous
  • asynchronous
  • Internal Data memory size 0-64kB
    Internal Program memory size 0-64kB
    Memories WAIT states
  • used
  • unused
  • Interrupt controller
  • used
  • unused
  • Power saving STOP Mode
  • used
  • unused
  • DoCDTM debug unit
  • used
  • unused

  • Besides mentioned above parameters all available peripherals can be excluded from the core by changing appropriate constants in package file.
    • DoCD™ debug unit
      • Processor execution control
      • Read-write all processor contents
      • Hardware execution breakpoints
      • Three wire communication interface
    • Four 8-bit I/O Ports
    • Extended Interrupt Controller
      • 20 interrupt sources
      • 17 priority levels
    • Main16-bit timer/counter system
      • 16 bit free running counter
      • Four stage programmable prescaller
      • Timer clocked by internal source
      • Real Time Interrupt
    • 16-bit Compare/Capture Unit
      • Three independent input-capture functions
      • Five output-compare channels
      • Events capturing
      • Pulses generation
      • Digital signals generation
      • Gated timers
      • Sophisticated comparator
      • Pulse width modulation
      • Pulse width measuring
    • 8-bit Pulse accumulator
      • Two major modes of operation
        • Simple event counter
        • Gated time accumulation
      • Clocked by internal source or external pin
    • Full-duplex UART - SCI
      • Standard Non-return to Zero format (NRZ)
      • 8 or 9 bit data transfer
      • Integrated BAUD Rate generator
      • Enhanced receiver data sampling technique
      • Noise,Overrun and Framing errors detection
      • IDLE and BREAK characters generation
      • Wake-up block to recognize UART wake-up from IDLE
      • Three SCI Related interrupts
    • SPI – Master and Slave Serial Peripheral Interface
      • Supports speeds up ¼ of system clock
        • Mode fault error
        • Write collision error
      • Software selectable polarity and phase of serial clock SCK
      • System errors detection
      • Allows operation from a wide range of system clock frequencies
      • Interrupt generation

    Optional Peripherals

    • Memory Expansion Unit
    • Floating Point Coprocessor
    • MDU - Multiply Divide Unit
    • I2C - Master/Slave Interface



    Symbol

     clk
     rst
     cmf
     moda
     modb
    lir 
    halt 
     irq
     xirq
     ready
     iramdatai (7:0)
     iromdatai (7:0)
     xramdatai (7:0)
     ufrdatai (7:0)
    datao (7:0) 
    iramaddr (8:0) 
    iramwe 
    iramoe 
    iromaddr (12:0) 
    iromwe 
    iromoe 
    xramaddr (15:0) 
    xramwe 
    xramoe 
    ufraddr (7:0) 
    ufrwe 
    ufroe 
    dataen 
     cap1
     cap2
     cap3
    cmp1 
    cmp2 
    cmp3 
    cmp4 
    cmp5 
    cmp1en 
    cmp2en 
    cmp3en 
    cmp4en 
    cmp5en 
     rxd
    txd 
     si
     mi
     ss
     scki
    so 
    mo 
    scko 
    scken 
    sso (7:0) 
    soen 
     pai
     portai (7:0)
     portbi (7:0)
     portci (7:0)
     portdi (7:0)
    portao (7:0) 
    portbo (7:0) 
    portco (7:0) 
    portdo (7:0) 
    ddra (7:0) 
    ddrb (7:0) 
    ddrc (7:0) 
    ddrd (7:0) 
     docddatai
     clkdocd
    docddatao 
    docdclk 

    Pins description

    PinTypeDescription
    clkinputGlobal clock
    rstinputGlobal reset
    cmfinputClock monitor fail reset
    modainputMode A input
    modbinputMode B input
    irqinputInterrupt input
    xirqinputNon-maskable interrupt input
    readyinputREADY pin allows CPU to operate with slow program and data memories. HIGH state on READY pin drives CPU to the WAIT state.
    iramdatai (7:0)inputInternal RAM memory data
    iromdatai (7:0)inputInternal ROM data bus input
    xramdatai (7:0)inputExternal memory databus input
    ufrdatai (7:0)inputUser Function Register (External SFRs) databus input
    cap1inputCapture input 1
    cap2inputCapture input 2
    cap3inputCapture input 3
    rxdinputSCI receiver data input
    siinputSPI slave input
    miinput SPI master input
    ssinputSPI slave select
    sckiinputSPI clock input
    paiinputPulse accumulator input
    portai (7:0)inputPort A input
    portbi (7:0)inputPort B input
    portci (7:0)inputPort C input
    portdi (7:0)inputPort D input
    docddataiinputDoCDTM serial data input
    clkdocdinputClock signal to DoCDTM On chip Debugger module. This separate clock line allow DoCDTM to operate during the SLEEP mode (major clock CLK is stopped).
    liroutputLoad instruction register
    haltoutputHalt clock system (STOP inst.)
    datao (7:0)outputData memory & UFR bus output
    iramaddr (8:0)outputInternal RAM address bus
    iramweoutputInternal RAM write enable
    iramoeoutputInternal RAM output enable
    iromaddr (12:0)outputInternal ROM address bus
    iromweoutputInternal ROM wroite enable - allows to upload the ROM contents by DoCD Debugger.
    iromoeoutputInternal ROM output enable
    xramaddr (15:0)outputExternal memory address bus
    xramweoutputExternal memory write enable
    xramoeoutputExternal memory output enable
    ufraddr (7:0)outputUser Function Registers (External SFRs) address bus
    ufrweoutputUser Function Registers write enable
    ufroeoutputUser Function Registers output enable
    dataenoutputData bus output enable
    cmp1outputCompare output 1
    cmp2outputCompare output 2
    cmp3outputCompare output 3
    cmp4outputCompare output 4
    cmp5outputCompare output 5
    cmp1enoutputOutput compare 1 output enable
    cmp2enoutputOutput compare 2 output enable
    cmp3enoutputOutput compare 3 output enable
    cmp4enoutputOutput compare 4 output enable
    cmp5enoutputOutput compare 5 output enable
    txdoutputSCI transmitter data output
    sooutputSPI slave output
    mooutputSPI master output
    sckooutputSPI clock output
    sckenoutputSPI clock line tri-state buffer control
    sso (7:0)outputSlave Select outputs
    soenoutputSPI slave output enable
    portao (7:0)outputPort A output
    portbo (7:0)outputPort B output
    portco (7:0)outputPort C output
    portdo (7:0)outputPort D output
    ddra (7:0)outputPort A data direction control
    ddrb (7:0)outputPort B data direction control
    ddrc (7:0)outputPort C data direction control
    ddrd (7:0)outputPort D data direction control
    docddataooutputDoCDTM serial data output
    docdclkoutputDoCDTM serial data clock line

    Block diagram

    Opcode Decoder
    Control Unit
    lir
    halt
    moda
    modb
    ALU
    Interrupt Controller
    irq
    xirq
    Bus Controller
    datao (7:0)
    ready
    iramdatai (7:0)
    iramaddr (8:0)
    iramwe
    iramoe
    iromdatai (7:0)
    iromaddr (12:0)
    iromwe
    iromoe
    xramdatai (7:0)
    xramaddr (15:0)
    xramwe
    xramoe
    ufrdatai (7:0)
    ufraddr (7:0)
    ufrwe
    ufroe
    dataen
    Timer with Compare Capture
    cap1
    cap2
    cap3
    cmp1
    cmp2
    cmp3
    cmp4
    cmp5
    cmp1en
    cmp2en
    cmp3en
    cmp4en
    cmp5en
    Watchdog Timer
    SCI
    rxd
    txd
    SPI Unit
    si
    mi
    ss
    scki
    so
    mo
    scko
    scken
    sso (7:0)
    soen
    Pulse Accumulator
    pai
    I/O Ports
    portai (7:0)
    portbi (7:0)
    portci (7:0)
    portdi (7:0)
    portao (7:0)
    portbo (7:0)
    portco (7:0)
    portdo (7:0)
    ddra (7:0)
    ddrb (7:0)
    ddrc (7:0)
    ddrd (7:0)
    DoCDTM
    docddatai
    docddatao
    docdclk
    clkdocd
    clk
    rst
    cmf

    Units

    Opcode Decoder

    It performs an instruction opcode decoding and the control functions for all other blocks.

    Control Unit

    It performs the core synchronization and data flow control. This module manages execution of all instructions.

    ALU

    Arithmetic Logic Unit performs the arithmetic and logic operations during execution of an instruction. It contains accumulator (A, B), Condition Code Register (CCREG), and related logic such as arithmetic unit, logic unit, multiplier and divider.

    Interrupt Controller

    DF6811 has implemented 17-level interrupt priority control. External interrupt pins are activated at low level(XIRQ,IRQ pins) or falling edge (IRQ pin). External interrupt requests by IRQ, XIRQ are sampled each 1 system clock at the rising edge of CLK. The DF6811 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 (look at the table below) established during reset. However any one source may be elevated to the highest maskable priority position using HPRIO register. When interrupt condition occurs, an interrupt status flag is set to indicate the condition.

    Bus Controller

    Memory & SFR's (Special Function Register) interface controls access into the Internal/External program and data memories and special function registers. It contains Program Counter (PC), Stack Pointer (SP) register, and related logic.

    Timer with Compare Capture

    This timer system is based on a free-running 16-bit counter with a 4-stage programmable prescaler. A timer overflow function allows software to extend the timing capability of the system beyond the 16-bit range of the counter. Three independent input-capture functions are used to automatically record the time when a selected transition is detected at a respective timer input pin. Five output-compare functions are included for generating output signals or for timing software delays. Since the input-capture and output-compare functions may not be familiar to all users, these concepts are explained in greater detail.
    A programmable periodic interrupt circuit called RTI is tapped off of the main 16-bit timer counter. Software can select one of four rates for the RTI, which is most commonly used to pace the execution of software routines. The COP watchdog function is closely related to the main timer in that the clock input to the COP system (clk*2^17) is tapped off the free-running counter chain.
    The timer subsystem involves more registers and control bits than any other subsystem on the MCU. Each of the three input-capture func-tions has its own 16-bit time capture latch (input-capture register) and each of the five output-compare functions has its own 16-bit compare register. All timer functions, including the timer overflow and RTI, have their own interrupt controls and separate interrupt vectors. 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 essentially a software-oriented system. This structure is easily adaptable to a very wide range of applications although it is not as efficient as dedicated hardware for some specific timing applications.

    Watchdog Timer

    A programmable periodic interrupt circuit called RTI is tapped off of the main 16-bit timer counter. Software can select one of four rates for the RTI, which is most commonly used to pace the execution of software routines. The COP watchdog function is closely related to the main timer in that the clock input to the COP system (clk*2^17) is tapped off the free-running counter chain.

    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 Core 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 up the receiver in time to see the first character of the next message. This wakeup feature greatly reduces CPU overhead in multidrop 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.

    SPI Unit

    It’s 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 communications 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 rates as high as CLK/4. Clock control logic allows a selection of clock polarity and a choice of 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 write-collision detector indicates when an attempt is made to write data to the serial shift register while a transfer is in progress. A multiple-master mode-fault detector automatically disables SPI output drivers if more than one SPI devices simultaneously attempts to become bus master.

    Pulse Accumulator

    This system is based on an 8-bit counter and can be configured to operate as a simple event counter or for gated time accumulation. Unlike the main timer, the 8-bit pulse accumulator counter can be read or written at any time (the 16-bit counter in the main timer cannot be written). Control bits allow the user to configure and control the pulse accumulator subsystem. Two maskable interrupts are associated with the system, each having its own controls and interrupt vector. The PAI pin associated with the pulse accumulator can be configured to act as a clock (event counting mode) or as a gate signal to enable a free-running E divided by 64 clock to the 8-bit counter (gated time accumulation mode). The alternate functions of the pulse accumulator input (PAI) pin present some in-teresting application possibilities.

    I/O Ports

    All ports are 8-bit general-purpose bi-directional 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 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.

    DoCDTM

    DoCDTM Debug Unit – it’s 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 controlled on program memory, internal and external data memories, as well as on SFRs. Hardware breakpoint is executed if any write/read occurred at particular address with certain data pattern or without pattern. The DoCDTM 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 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.
    The separate DoCDTM clock line allow debugger to operate while the SLEEP mode (major clock line CLK is stopped).

    Performance

    ImplementationSpeed
    grade
    Utilized Area
    [LC]
    Frequency
    [MHz]
    FLEX10KE-1302333
    ACEX1K-1302333
    APEX20KE-1297239
    APEX20KC-7297243
    APEX II-7309250
    MERCURY-5309567
    STRATIX-5295862
    CYCLONE-6295758

    DF6811 implementation results for ALTERA devices. All features have been included.

    ImplementationSpeed
    grade
    Utilized Area
    [Slices]
    Frequency
    [MHz]
    SPARTAN-II-6202133
    SPARTAN-IIE-7202434
    SPARTAN-III-5201843
    SPARTAN-IIIE-4201833
    VIRTEX-6202933
    VIRTEX-E-8203037
    VIRTEX-II-6202065
    VIRTEX-II pro-7200674
    VIRTEX-IV-12200484

    DF6811 implementation results for XILINX devices. All features have been included.

    ImplementationSpeed
    grade
    Utilized Area
    [LUT/PFU]
    Frequency
    [MHz]
    ORCA4E-33050 / 83030
    XP-53820/88833
    ECP-53820/88838
    EC-53820/88838

    DF6811 implementation results for LATTICE devices. All features have been included.


    Family summary

    DesignArch.
    speed
    Code spaceDATA spaceInterrupt sourcesInterrupt levelsReal time interruptData pointersDoCDTMREADY pinCompare / CaptureTimerUART (SCI)SPI M/SIO PortsWatchdog TimerPulse ACC.External SFRMemory Expansion UnitChip SelectsGatecount
    DF68054.164k/64k 64k77--++2/211-4+-+--7000
    DF68083.264k/64k 64k77--++2/211-4+-+--8300
    DF6811464k/64k64k2017+1++5/41114+1+--12000
    D68HC11E164k64k2017+-+-5/41115+1---13000
    D68HC11KW111M1M2017+-+-13/631110+1-+421000
    D68HC11F1164k64k2017+-+-5/4+++7++--413500
    D68HC11K4164k1M2017+-+-5/41++5++-+418000
    D6802164k64k22--+-----------3900
    D68HC08164K64K66--+-2/11++4-----10000


    The main features of each DF68XX 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.