Hardware Design
Hardware Design
Hardware Design
This material exempt per Department of Commerce license exception TSU © 2011 Xilinx, Inc. All Rights Reserved
Objectives
After completing this module, you will be able to:
• List the MicroBlaze 8.10 / 8.20 Features
• List the functionality that defines an arbiter, a master, and a
slave
• List the various buses available in the MicroBlaze processor
• List the various high performance links in the MicroBlaze
processor
PLB based
system
Enhanced FSL
13- 5 Hardware Design for CPU to hw/sw
© 2011 Xilinx, Inc. All Rights Reservedaccelerator
For Academic Use Only
MicroBlaze Processor
• Scalable 32-bit soft processor Core
– Harvard architecture
– RISC instruction set (app. 85 instruction + sub classes)
– Big Endian (BE) bit/byte reversed format (optionally Little Endian LE)
– Single-Issue pipeline
• Supports either 3-stage (resource focused) or 5-stage pipeline (performance focused)
– Configurable Instruction and Data Caches
• Direct mapped (1-way associative)
– Optional Memory Mgt or Memory Protection Unit
• Required for Linux OS (Linux 2.6 is currently supported)
– Floating-point unit (FPU)
• Based upon IEEE 754 format
– Barrel Shifter
– Hardware multiplier
• 32x32 multiplication to generate a 64-bit result
– Hardware Divider
– (FSL) Fast Simplex Link FIFO Channels for Easy, Direct Access to Fabric and
Hardware Acceleration
– Hardware Debug and Trace Module
13- 6 Hardware Design
© 2011 Xilinx, Inc. All Rights Reserved
For Academic Use Only
New MicroBlaze Processor
v8 Features
• New features and improvements
– NEW*: High-performance AXI4 interface and AMBA - AXI4
peripherals
– Memory Management Unit (MMU) implements virtual memory
management
• PPC405 processor MMU compatible
• Virtual memory management provides greater control over memory protection,
which is especially useful with applications that can use an RTOS
– Processing improvements
• New float-integer conversion and float-square root instructions
• Speeds up
– FP Int conversion
– Int FP conversion
– FP square root
– Enhanced XMD (Debug) support
– AXI4 streaming interface (uni-directional)
13- 7 Hardware Design
© 2011 Xilinx, Inc. All Rights Reserved
For Academic Use Only
New MicroBlaze Processor
v8 Features
AXI Streaming Interface
CacheLinks GPIO
DXCL IXCL
DPLB Ethernet
DLMB
Local MicroBlaze™
Memory BRAM
ILMB IPLB
FSL Interrupt
Controller
Separate busses for
LMB Buses data and instruction Timer/PWM
Co-Processor
PLB
ARB
Arbiter
Link Bus
Processor Local Bus Processor Local Bus
0,1….15 Bridge
Custom Custom
Functions Functions
10/100/1000 Memory On-Chip
UART GPIO
EtherNet Controller Peripheral
CacheLink
Arbiter
Link Bus
Processor Local Bus Processor Local Bus
0,1….15 Bridge
Custom Custom
Functions Functions
Memory On-Chip
10/100 UART GPIO
Controller Peripheral
CacheLink E-Net
AMBA 3.0
(2003)
Same Spec
AMBA 4.0
(Just Announced)
AXI AXI
AXI AXI
Peripherals
AXI
AXIInterconnect
InterconnectIP
IP
PLB
Implementationisisnot
Implementation not
described
describedininthethespec
spec
AXI AXI AXI AXI
PLB Severalcompanies
Several companiesbuildbuildand
and
sell
sell“AXI
“AXIinterconnect
interconnectIP” IP” AXI AXI
Xilinxisisbuilding
Xilinx buildingits
itsown
own
PLB
AXI4-Streaming Transfer
Arbiter
Link Bus
Processor Local Bus Processor Local Bus
0,1….15 Bridge
Custom Custom
Functions Functions
Memory On-Chip
10/100 UART GPIO
Controller Peripheral
CacheLink E-Net
Arbiter
Link Bus
Processor Local Bus Processor Local Bus
0,1….15 Bridge
Custom Custom
Functions Functions
Memory On-Chip
10/100 UART GPIO
Controller Peripheral
CacheLink E-Net
FSL_M_Clk FSL_S_Clk
FSL_M_Data [0:31] FSL_S_Data [0:31]
32-bit data
FSL_M_Control FIFO FSL_S_Control
FSL_M_Write FSL_S_Read
FSL_M_Full FSL_S_Exists
FIFO Depth
13- 36 Hardware Design
© 2011 Xilinx, Inc. All Rights Reserved
For Academic Use Only
FSL Features
• 32-bit wide interface
• Configurable FIFO depths – 1 to 8192 using SRL16 (shift regs) logic or
dedicated block RAM
• Synchronous or asynchronous FIFO clocking with respect to the MicroBlaze™
system clock
• Selectable use of control bit
• Simple software interface using predefined C instructions; Automatically generated
C drivers
• Blocking and non-blocking software instructions for data and control (get and put)
– Blocking FSL instruction made interruptable
• Return from interrupt will resume the FSL instruction
• Exception (event) from FSL can be generated
• Disable interrupt while FSL executing
• Addition of dynamic assignment of FSL channel (getd and putd)
– Channel number from register rather than immediate
Arbiter
Link Bus
Processor Local Bus Processor Local Bus
0,1….15 Bridge
Custom Custom
Functions Functions
Memory On-Chip
10/100 UART GPIO
Controller Peripheral
CacheLink E-Net