Xilinx LogiCORE MicroBlaze Product Manual

Summary of LogiCORE MicroBlaze

  • Page 1

    Logicore ip microblaze micro controller system v1.3 product guide pg048 december 18, 2012.

  • Page 2

    Microblaze micro controller system v1.3 www.Xilinx.Com 1 pg048 december 18, 2012 table of contents section i: summary ip facts chapter 1: overview feature summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 lice...

  • Page 3

    Microblaze micro controller system v1.3 www.Xilinx.Com 2 pg048 december 18, 2012 device, package, and speed grade selections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 clock frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ....

  • Page 4

    Microblaze micro controller system v1.3 www.Xilinx.Com 3 pg048 december 18, 2012 section i: summary ip facts overview product specification designing with the core.

  • Page 5: Introduction

    Microblaze micro controller system v1.3 www.Xilinx.Com 4 pg048 december 18, 2012 product specification introduction the logicore™ microblaze™ micro controller system (mcs) is a complete standalone processor system intended for controller applications. It is highly integrated and includes the microbl...

  • Page 6: Feature Summary

    Microblaze micro controller system v1.3 www.Xilinx.Com 5 pg048 december 18, 2012 chapter 1 overview the microblaze™ micro controller system (mcs) is highly integrated standalone processor system intended for controller applications. Data and program is stored in a local memory, debug is facilitated ...

  • Page 7: Local Memory

    Microblaze micro controller system v1.3 www.Xilinx.Com 6 pg048 december 18, 2012 chapter 1: overview local memory local memory is used for data and program storage and is implemented using block ram. The size of the local memory is parameterized and can be between 4kb and 64kb. The local memory is c...

  • Page 8: Standards Compliance

    Microblaze micro controller system v1.3 www.Xilinx.Com 7 pg048 december 18, 2012 chapter 2 product specification standards compliance the i/o bus interface provided by the i/o module is fully compatible with the xilinx® dynamic reconfiguration port (drp). For a detailed description of the drp, see t...

  • Page 9: Throughput

    Microblaze micro controller system v1.3 www.Xilinx.Com 8 pg048 december 18, 2012 chapter 2: product specification data write to i/o module registers is performed the clock cycle after the microblaze store instruction is executed. Data accesses to peripherals connected on the i/o bus take three clock...

  • Page 10: Port Descriptions

    Microblaze micro controller system v1.3 www.Xilinx.Com 9 pg048 december 18, 2012 chapter 2: product specification port descriptions the i/o ports and signals for microblaze mcs are listed and described in table 2-3 . Table 2-3: microblaze mcs signals port name msb:lsb i/o description system signals ...

  • Page 11: Register Space

    Microblaze micro controller system v1.3 www.Xilinx.Com 10 pg048 december 18, 2012 chapter 2: product specification register space uart signals uart_rx_io i receive data uart_tx_io o transmit data uart_interrupt o uart interrupt fit signals fitx_interrupt (1) o fitx timer lapsed fitx_toggle (1) o inv...

  • Page 12: General Design Guidelines

    Microblaze micro controller system v1.3 www.Xilinx.Com 11 pg048 december 18, 2012 chapter 3 designing with the core this chapter includes guidelines and additional information to make designing with the core easier. General design guidelines i/o module interfaces see the i/o module product guide [re...

  • Page 13: Resets

    Microblaze micro controller system v1.3 www.Xilinx.Com 12 pg048 december 18, 2012 chapter 3: designing with the core resets the reset input is the master reset input signal for the entire microblaze mcs. In addition, the entire microblaze mcs or just the microblaze processor can be reset from the xi...

  • Page 14

    Microblaze micro controller system v1.3 www.Xilinx.Com 13 pg048 december 18, 2012 section ii: vivado design suite customizing and generating the core constraining the core.

  • Page 15: Gui

    Microblaze micro controller system v1.3 www.Xilinx.Com 14 pg048 december 18, 2012 chapter 4 customizing and generating the core this chapter includes information on using xilinx tools to customize and generate the core using the vivado™ design suite. Gui microblaze™ mcs parameters are divided in sev...

  • Page 16

    Microblaze micro controller system v1.3 www.Xilinx.Com 15 pg048 december 18, 2012 chapter 4: customizing and generating the core • input clock frequency (mhz) - this parameter should be set to the frequency of the core input clock in mhz. The value is used to calculate the correct uart baud rate. • ...

  • Page 17

    Microblaze micro controller system v1.3 www.Xilinx.Com 16 pg048 december 18, 2012 chapter 4: customizing and generating the core • enable receiver - enables uart receiver for character input. This is automatically connected to standard input (stdin) in the software program. • enable transmitter - en...

  • Page 18

    Microblaze micro controller system v1.3 www.Xilinx.Com 17 pg048 december 18, 2012 chapter 4: customizing and generating the core the fit parameter tab showing the parameters for one of the four timers is shown in figure 4-3 . • use fit - enable the fixed interval timer. • number of clocks between st...

  • Page 19

    Microblaze micro controller system v1.3 www.Xilinx.Com 18 pg048 december 18, 2012 chapter 4: customizing and generating the core the pit parameter tab showing the parameters for one of the four timers is shown in figure 4-4 . • use pit - enable the programmable interval timer. • number of bits for t...

  • Page 20

    Microblaze micro controller system v1.3 www.Xilinx.Com 19 pg048 december 18, 2012 chapter 4: customizing and generating the core the gpo parameter tab showing the parameters for one of the four general purpose output ports is shown in figure 4-5 . • use gpo - enable the general purpose output port. ...

  • Page 21

    Microblaze micro controller system v1.3 www.Xilinx.Com 20 pg048 december 18, 2012 chapter 4: customizing and generating the core the gpi parameter tab showing the parameters for one of the four general purpose input ports is shown in figure 4-6 . • use gpi - enable the general purpose input port. • ...

  • Page 22

    Microblaze micro controller system v1.3 www.Xilinx.Com 21 pg048 december 18, 2012 chapter 4: customizing and generating the core the interrupts parameter tab is shown in figure 4-7 . • use external interrupts - enable the use of external interrupt inputs. • number of external inputs - select the num...

  • Page 23: Parameter Values

    Microblaze micro controller system v1.3 www.Xilinx.Com 22 pg048 december 18, 2012 chapter 4: customizing and generating the core parameter values to create a microblaze mcs that is uniquely tailored for a specific system, certain features can be parameterized. This makes it possible for the user to ...

  • Page 24

    Microblaze micro controller system v1.3 www.Xilinx.Com 23 pg048 december 18, 2012 chapter 4: customizing and generating the core i/o bus parameter c_use_io_bus use i/o bus 0 = not used 1 = used 0 integer uart parameters c_use_uart_rx use uart receive 0 = not used 1 = used 0 integer c_use_uart_tx use...

  • Page 25

    Microblaze micro controller system v1.3 www.Xilinx.Com 24 pg048 december 18, 2012 chapter 4: customizing and generating the core c_pitx_prescaler (2)(3) select pitx prescaler 0 = no prescaler 1 = fit1 2 = fit2 3 = fit3 4 = fit4 5 = pit1 6 = pit2 7 = pit3 8 = pit4 9 = external 0 integer c_pitx_interr...

  • Page 26

    Microblaze micro controller system v1.3 www.Xilinx.Com 25 pg048 december 18, 2012 chapter 4: customizing and generating the core table 4-2: internal microblaze parameters settings parameter name feature/description value c_family target family value of microblaze mcs parameter c_family c_area_optimi...

  • Page 27

    Microblaze micro controller system v1.3 www.Xilinx.Com 26 pg048 december 18, 2012 chapter 4: customizing and generating the core c_*exception* (1) c_opcode_0x0_illegal c_use_stack_protection no exceptions are used 0 c_debug_enabled mdm debug interface value of microblaze mcs parameter c_debug_enable...

  • Page 28

    Microblaze micro controller system v1.3 www.Xilinx.Com 27 pg048 december 18, 2012 chapter 4: customizing and generating the core . C_io_lowaddr lmb i/o module i/o bus address 0xffffffff c_io_mask lmb i/o module i/o bus address space decode mask 0xc0000000 c_lmb_awidth lmb address bus width 32 c_lmb_...

  • Page 29

    Microblaze micro controller system v1.3 www.Xilinx.Com 28 pg048 december 18, 2012 chapter 4: customizing and generating the core parameter - port dependencies the width of many of the microblaze mcs signals depends on design parameters. The dependencies between the design parameters and i/o signals ...

  • Page 30: Tool Flow

    Microblaze micro controller system v1.3 www.Xilinx.Com 29 pg048 december 18, 2012 chapter 4: customizing and generating the core tool flow the microblaze mcs uses the generic tool flow of all vivado ip. The sdk software development flow is briefly described here. Generic vivado tool flow the generic...

  • Page 31: Sdk

    Microblaze micro controller system v1.3 www.Xilinx.Com 30 pg048 december 18, 2012 chapter 4: customizing and generating the core this flow shows the specific steps required to implement a project with the microblaze mcs in vivado, and the relationship between the hardware and software tools. • assoc...

  • Page 32

    Microblaze micro controller system v1.3 www.Xilinx.Com 31 pg048 december 18, 2012 chapter 4: customizing and generating the core - in vivado or planahead this file is typically called project-name.Runs/ impl_1/toplevel.Bit . - in project navigator this file is typically called toplevel.Bit. ° click ...

  • Page 33: Required Constraints

    Microblaze micro controller system v1.3 www.Xilinx.Com 32 pg048 december 18, 2012 chapter 5 constraining the core required constraints there are no required constraints for this core. Device, package, and speed grade selections there are no device, package or speed grade requirements for this core. ...

  • Page 34: Transceiver Placement

    Microblaze micro controller system v1.3 www.Xilinx.Com 33 pg048 december 18, 2012 chapter 5: constraining the core transceiver placement there are no transceiver placement requirements for this core. I/o standard and placement there are no specific i/o standards and placement requirements for this c...

  • Page 35

    Microblaze micro controller system v1.3 www.Xilinx.Com 34 pg048 december 18, 2012 section iii: ise design suite customizing and generating the core constraining the core.

  • Page 36: Gui

    Microblaze micro controller system v1.3 www.Xilinx.Com 35 pg048 december 18, 2012 chapter 6 customizing and generating the core this chapter includes information on using xilinx tools to customize and generate the core using the ise® design suite. Gui the i/o module parameters are divided in seven t...

  • Page 37

    Microblaze micro controller system v1.3 www.Xilinx.Com 36 pg048 december 18, 2012 chapter 6: customizing and generating the core • input clock frequency (mhz) - this parameter should be set to the frequency of the core input clock in mhz. The value is used to calculate the correct uart baud rate. • ...

  • Page 38

    Microblaze micro controller system v1.3 www.Xilinx.Com 37 pg048 december 18, 2012 chapter 6: customizing and generating the core • enable transmitter - enables uart transmitter for character output. This is automatically connected to standard output (stdout) in the software program. • define baud ra...

  • Page 39

    Microblaze micro controller system v1.3 www.Xilinx.Com 38 pg048 december 18, 2012 chapter 6: customizing and generating the core the fit parameter tab showing the parameters for one of the four timers is shown in figure 6-3 . • use fit - enable the fixed interval timer. • number of clocks between st...

  • Page 40

    Microblaze micro controller system v1.3 www.Xilinx.Com 39 pg048 december 18, 2012 chapter 6: customizing and generating the core the pit parameter tab showing the parameters for one of the four timers is shown in figure 6-4 . • use pit - enable the programmable interval timer. • number of bits for t...

  • Page 41

    Microblaze micro controller system v1.3 www.Xilinx.Com 40 pg048 december 18, 2012 chapter 6: customizing and generating the core the gpo parameter tab showing the parameters with one of the four general purpose output ports enabled is shown in figure 6-5 . • use gpo - enable the general purpose outp...

  • Page 42

    Microblaze micro controller system v1.3 www.Xilinx.Com 41 pg048 december 18, 2012 chapter 6: customizing and generating the core the gpi parameter tab showing the parameters with one of the four general purpose input ports enabled is shown in figure 6-6 . • use gpi - enable the general purpose input...

  • Page 43

    Microblaze micro controller system v1.3 www.Xilinx.Com 42 pg048 december 18, 2012 chapter 6: customizing and generating the core the interrupts parameter tab is shown in figure 6-7 . • use external interrupts - enable the use of external interrupt inputs. • number of external inputs - select the num...

  • Page 44: Parameter Values

    Microblaze micro controller system v1.3 www.Xilinx.Com 43 pg048 december 18, 2012 chapter 6: customizing and generating the core parameter values to create a microblaze™ mcs that is uniquely tailored for a specific system, certain features can be parameterized. This makes it possible to configure a ...

  • Page 45

    Microblaze micro controller system v1.3 www.Xilinx.Com 44 pg048 december 18, 2012 chapter 6: customizing and generating the core this flow shows the specific steps required to implement a project with the microblaze mcs in planahead or project navigator, and the relationship between the hardware and...

  • Page 46

    Microblaze micro controller system v1.3 www.Xilinx.Com 45 pg048 december 18, 2012 chapter 6: customizing and generating the core ° component-name_sdk.Xml - hardware description of the specific component, imported into sdk. ° component-name.Bmm - the bmm file of the specific component, which defines ...

  • Page 47

    Microblaze micro controller system v1.3 www.Xilinx.Com 46 pg048 december 18, 2012 chapter 6: customizing and generating the core indicating the corresponding software executable elf file. Project properties are updated to use the appropriate files, by adding a command line option to the bitgen comma...

  • Page 48: Planahead

    Microblaze micro controller system v1.3 www.Xilinx.Com 47 pg048 december 18, 2012 chapter 6: customizing and generating the core • import hardware description: this step is performed in sdk, using the hardware description file component-name_sdk.Xml created when the microblaze mcs component was gene...

  • Page 49

    Microblaze micro controller system v1.3 www.Xilinx.Com 48 pg048 december 18, 2012 chapter 6: customizing and generating the core • update tool to use software: with one microblaze mcs component, type the following command in the tcl console, using the appropriate absolute directory path: config_run ...

  • Page 50: Project Navigator

    Microblaze micro controller system v1.3 www.Xilinx.Com 49 pg048 december 18, 2012 chapter 6: customizing and generating the core if the output directory indicated by the -bx option does not exist, it has to be created manually. For additional information, see the xilinx planahead manuals [ref 8] . P...

  • Page 51

    Microblaze micro controller system v1.3 www.Xilinx.Com 50 pg048 december 18, 2012 chapter 6: customizing and generating the core with more than one microblaze mcs component, the -bd option must be repeated for each component. • update bitstream with software: to perform this step with one microblaze...

  • Page 52: Clock Management

    Microblaze micro controller system v1.3 www.Xilinx.Com 51 pg048 december 18, 2012 chapter 7 constraining the core clock management microblaze mcs is fully synchronous with all clocked elements clocked by the clk input..

  • Page 53

    Microblaze micro controller system v1.3 www.Xilinx.Com 52 pg048 december 18, 2012 section iv: appendices application software development debugging additional resources.

  • Page 54: Device Drivers

    Microblaze micro controller system v1.3 www.Xilinx.Com 53 pg048 december 18, 2012 appendix a application software development xilinx software development kit microblaze mcs can be used with the xilinx software development kit (sdk), in the same way as any embedded system. The specific steps needed w...

  • Page 55: Finding Help On Xilinx.Com

    Microblaze micro controller system v1.3 www.Xilinx.Com 54 pg048 december 18, 2012 appendix b debugging this appendix includes details about resources available on the xilinx support website and debugging tools. In addition, this appendix provides a step-by-step debugging process to guide you through...

  • Page 56: Release Notes

    Microblaze micro controller system v1.3 www.Xilinx.Com 55 pg048 december 18, 2012 appendix b: debugging release notes known issues for all cores, including the microblaze mcs are described in the ip release notes guide (xtp025) . Known issues answer records include information about commonly encount...

  • Page 57: Debug Tools

    Microblaze micro controller system v1.3 www.Xilinx.Com 56 pg048 december 18, 2012 appendix b: debugging xilinx provides technical support at www.Xilinx.Com/support for this logicore™ ip product when used as described in the product documentation. Xilinx cannot guarantee timing, functionality, or sup...

  • Page 58

    Microblaze micro controller system v1.3 www.Xilinx.Com 57 pg048 december 18, 2012 appendix b: debugging step create merged bmm, update tool to use bmm tcl command: microblaze_mcs_setup error message: error: could not find a bmm file for instances. Please regenerate the microblaze mcs instances. Poss...

  • Page 59

    Microblaze micro controller system v1.3 www.Xilinx.Com 58 pg048 december 18, 2012 appendix b: debugging possible causes: the instantiation does not match the microblaze mcs component, with one or more different input pins. Corrective action: change the instantiation to match the template in componen...

  • Page 60

    Microblaze micro controller system v1.3 www.Xilinx.Com 59 pg048 december 18, 2012 appendix b: debugging step: update bitstream with software tool: data2mem error messages: error:data2mem:31 - out of bounds code segment for ram space in 'bmm-filename'. Memory space 'component-name.Lmb_bram' occupies ...

  • Page 61: Simulation Debug

    Microblaze micro controller system v1.3 www.Xilinx.Com 60 pg048 december 18, 2012 appendix b: debugging simulation debug the simulation debug flow for modelsim is described below. A similar approach can be used with other simulators. • check for the latest supported versions of modelsim in the xilin...

  • Page 62: Hardware Debug

    Microblaze micro controller system v1.3 www.Xilinx.Com 61 pg048 december 18, 2012 appendix b: debugging hardware debug this section provides debug steps for common issues. The chipscope debugging tool is a valuable resource to use in hardware debug. General checks ensure that all the timing constrai...

  • Page 63: Xilinx Resources

    Microblaze micro controller system v1.3 www.Xilinx.Com 62 pg048 december 18, 2012 appendix c additional resources xilinx resources for support resources such as answers, documentation, downloads, and forums, see the xilinx support website at: www.Xilinx.Com/support . For a glossary of technical term...

  • Page 64: Revision History

    Microblaze micro controller system v1.3 www.Xilinx.Com 63 pg048 december 18, 2012 appendix c: additional resources revision history the following table shows the revision history for this document. Notice of disclaimer the information disclosed to you hereunder (the “materials”) is provided solely f...