Professional Documents
Culture Documents
MicroBlaze Overview PDF
MicroBlaze Overview PDF
Theresa Chou
MB OverView
MB Bus & IP
SW Flow
MB OS & 3’th party tool
ADD/SUB
PROGRAM
SHIFT/LOGICAL
COUNTER
MULTIPLY
BUS BUS
IF IF
INSTRUCTION
DECODE
REGISTER FILE
INSTRUCTION 32b X 32b
BUFFER
MICROBLAZE CORE
Master/
Master Slave
LCD
DLMB Bus DOPB Bus
BRAM
All buses are 32 bits
INTC
OPB
ARB
JTAG JTAG
UART Header
OPB
Interface GPIO DIP
Input Switches
Data
50MHz
Memory
Clock
Dual Port
Memory Reset
Controller Memory
Switch
(8K Bytes)
Instruction
Memory
opb_ipif_ssp0 dk_logic
IPIC
OPB IPIF Interface Interface LED[0:3]
HW Block SW Flow
Diagram Chart
HW EDK Create SW
Description source
Synthesize
Compile
P&R Simulate
ISE
Specify Processor,
Bus & Peripherals,
Hardware Configuration
Automatic Hardware
Platform Generation
Xilinx Implementation
Flow
Bitstream PLB
EMC
OPB
JTAG GPIO
CNTL
PLB2OPB
PLB / Bridge OPB /
PPC405
Arbiter OPB2PLB Arbiter
Bridge
Download to FPGA
Download to FPGA
# Global ports
PORT OPB_Clk = "", DIR=IN, BUS=SOPB, SIGIS=CLK
PORT OPB_Rst = OPB_Rst, DIR=IN, BUS=SOPB
PORT Interrupt = "", DIR=OUT, EDGE=RISING, SIGIS=INTERRUPT
# OPB slave signals
PORT OPB_ABus
PORT OPB_BE
=
=
OPB_ABus,
OPB_BE,
DIR=IN,
DIR=IN,
BUS=SOPB,
BUS=SOPB,
VEC=[0:C_OPB_AWIDTH-1]
VEC=[0:C_OPB_DWIDTH/8-1]
OPB Port Declarations.
PORT OPB_RNW = OPB_RNW, DIR=IN, BUS=SOPB These get automatically
PORT OPB_select = OPB_select, DIR=IN, BUS=SOPB connected since they are
PORT OPB_seqAddr =
PORT OPB_DBus =
OPB_seqAddr,
OPB_DBus,
DIR=IN,
DIR=IN,
BUS=SOPB
BUS=SOPB, VEC=[0:C_OPB_DWIDTH-1]
specified to be part of the OPB
PORT UART_DBus = Sl_DBus, DIR=OUT, BUS=SOPB, VEC=[0:C_OPB_DWIDTH-1] Slave Bus Interface
PORT UART_errAck = Sl_errAck, DIR=OUT, BUS=SOPB
PORT UART_retry = Sl_retry, DIR=OUT, BUS=SOPB
PORT UART_toutSup = Sl_toutSup, DIR=OUT, BUS=SOPB
PORT UART_xferAck = Sl_xferAck, DIR=OUT, BUS=SOPB
# uart signals
PORT RX = "", DIR=IN User Ports.
PORT TX = "", DIR=OUT
END
Xilinx Implementation
Flow
Bitstream
Download to FPGA
Xilinx Implementation
Flow
Xflow /
ProjNav
Bitstream
Download to FPGA
Automatic Software
BSP/Library Generation
Software Compilation
Software Compilation
Specify Software
Library Generator (LibGen)
Configures libraries and device
Architecture MSS
drivers
• Creates xparameters.h include
Automatic Software file for driver definitions
BSP/Library Generation
• Creates libc.a, libm.a, libxil.a
libraries that contain functions
Software Compilation
that the processor can access
Executable
Specify Software
Architecture MSS
Automatic Software
BSP/Library Generation
Software Compilation .c
Executable
Target Device
Allows you to retarget the
design to another device
Peripheral Repository
Directory
Allows you to specify the
location of your
peripherals
Design Hierarchy
Allows you to place the
design as a sub-module
within another design
Netlist Generation
Targets the synthesis tool
and allows for flat netlist
creation
Implementation Tool Flow
Targets Xflow or ISE Project
Navigator
Select Project>Add/Edit
Cores…(dialog)
Generate Netlist
Hardware Directories
Generate Bitstream
Generate Libraries
MicroBlaze BSP
MHS MSS
Library Structure
Library LibGen Libraries
MDD
MDD
MDD
Driver
Xmdstub.elf *.h *.a
Drivers for IP
Downloading Bitstreams
Tools>Download
Runs iMPACT in batch
mode
Uses download.cmd batch
file from the etc directory
to properly describe
JTAG chain
User must create
download.cmd for their
system