© 2007 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Hardware Design INF3430 MicroBlaze 7.1.

Slides:



Advertisements
Similar presentations
Lecture 9 Lecture 9: The OPB Bus and IPIF Interface Cores ECE 412: Microcomputer Laboratory.
Advertisements

Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
The Bus Architecture of Embedded System ESE 566 Report 1 LeTian Gu.
Computer Architecture
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
August 8 th, 2011 Kevan Thompson Creating a Scalable Coherent L2 Cache.
Datorteknik BusInterfacing bild 1 Bus Interfacing Processor-Memory Bus –High speed memory bus Backplane Bus –Processor-Interface bus –This is what we usually.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Processor support devices Part 1:Interrupts and shared memory dr.ir. A.C. Verschueren.
Microprocessors. Von Neumann architecture Data and instructions in single read/write memory Contents of memory addressable by location, independent of.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Ultrasonic signal processing platform for nondestructive evaluation (NDE) Raymond Smith Advisors: Drs. In Soo Ahn, Yufeng Lu May 6, 2014.
Avalon Switch Fabric. 2 Proprietary interconnect specification used with Nios II Principal design goals – Low resource utilization for bus logic – Simplicity.
Introducción al EDK. Embedded Development Tool Flow Overview Data2MEM Download Combined Image to FPGA Compiled ELF Compiled BIT RTOS, Board Support Package.
© ABB Group Jun-15 Evaluation of Real-Time Operating Systems for Xilinx MicroBlaze CPU Anders Rönnholm.
Configurable System-on-Chip: Xilinx EDK
Workload distribution in satellites Part A Final Presentation Performed by :Grossman Vadim Maslovksy Eugene Instructor:Rivkin Inna Spring 2004.
Introduction to ARM Architecture, Programmer’s Model and Assembler Embedded Systems Programming.
Introduction An interrupt is an event which informs the CPU that its service (action) is needed. Sources of interrupts: internal fault (e.g.. divide by.
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
Workload distribution in satellites Final Presentation Performed by :Grossman Vadim Maslovksy Eugene Instructor:Rivkin Inna Spring 2004.
Performance Analysis of Processor Midterm Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor: Evgeny.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Controllers-system for APS – CubeSat nano-satellite Instructor: Daniel Alkalay Students: Moshe Emmer & Meir Harar Technion – Israel Institute of Technology.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Mid-Term Presentation Performed by: Roni.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Module I Overview of Computer Architecture and Organization.
Lecture 12 Today’s topics –CPU basics Registers ALU Control Unit –The bus –Clocks –Input/output subsystem 1.
Computer Architecture Lecture 08 Fasih ur Rehman.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
This material exempt per Department of Commerce license exception TSU Hardware Design.
Hardware Design This material exempt per Department of Commerce license exception TSU.
© 2004 Xilinx, Inc. All Rights Reserved EDK Overview.
MICROPROCESSOR INPUT/OUTPUT
Samsung ARM S3C4510B Product overview System manager
THE PHILIPS NEXPERIA DIGITAL VIDEO PLATFORM. The Digital Video Revolution  Transition from Analog to Digital Video  Navigate, store, retrieve and share.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.
Introduction of Intel Processors
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
August 1, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 9: I/O Devices and Communication Buses * Jeremy R. Johnson Wednesday,
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
LAB1 Summary Zhaofeng SJTU.SOME. Embedded Software Tools CPU Logic Design Tools I/O FPGA Memory Logic Design Tools FPGA + Memory + IP + High Speed IO.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
2 Systems Architecture, Fifth Edition Chapter Goals Describe the system bus and bus protocol Describe how the CPU and bus interact with peripheral devices.
A Monte Carlo Simulation Accelerator using FPGA Devices Final Year project : LHW0304 Ng Kin Fung && Ng Kwok Tung Supervisor : Professor LEONG, Heng Wai.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Soc 5.1 Chapter 5 Interconnect Computer System Design System-on-Chip by M. Flynn & W. Luk Pub. Wiley 2011 (copyright 2011)
By Fernan Naderzad.  Today we’ll go over: Von Neumann Architecture, Hardware and Software Approaches, Computer Functions, Interrupts, and Buses.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
© 2004 Xilinx, Inc. All Rights Reserved Hardware Design.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
System on a Programmable Chip (System on a Reprogrammable Chip)
System Interconnect Fabric
William Stallings Computer Organization and Architecture
Presentation transcript:

© 2007 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Hardware Design INF3430 MicroBlaze 7.1

© 2007 Xilinx, Inc. All Rights Reserved MicroBlaze Processor Scalable 32-bit Core – 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 – Fast Simplex Link FIFO Channels for Easy, Direct Access to Fabric and Hardware Acceleration – Hardware Debug and Trace Module

© 2007 Xilinx, Inc. All Rights Reserved Multi-processor Capability EDK9.1/MBv6 introduced Processor ID EDK9.2 introduced two fundamental MP cores – Mailbox: allows for message passing between 2 CPUs – Mutex core: allows 2 or more CPUs to synchronize No need for customers to build their own cores

© 2007 Xilinx, Inc. All Rights Reserved Buses 101 A bus is a multiwire path on which related information is delivered – Address, data, and control buses Processor and peripherals communicate through buses Peripherals may be classified as: – Arbiter, master, slave, or master/slave (bridge) Master Master/ Slave Master Arbiter

© 2007 Xilinx, Inc. All Rights Reserved Buses 101 Bus masters have the ability to initiate a bus transaction Bus slaves can only respond to a request Bus arbitration is a three-step process: – A device requesting to become a bus master asserts a bus request signal – The arbiter continuously monitors the request and outputs an individual grant signal to each master according to the master’s priority scheme and the state of the other master requests at that time – The requesting device samples its grant signal until the master is granted access. The master then initiates a data transfer between the master and a slave when the current bus master releases the bus Arbitration mechanisms – Fixed priority, round-robin, hybrid

© 2007 Xilinx, Inc. All Rights Reserved CoreConnect Bus Architecture The IBM CoreConnect bus architecture standard provides three buses for interconnecting cores, library macros, and custom logic: – Processor Local Bus (PLB) – On-Chip Peripheral Bus (OPB) – Device Control Register (DCR) bus IBM offers a no-fee, royalty-free CoreConnect bus architecture license – Licenses receive the PLB arbiter, OPB arbiter, and PLB/OPB bridge designs along with bus-model toolkits and bus-functional compilers for the PLB, OPB, and DCR buses – Required only if you create your own CoreConnect bus architecture peripheral or you are using the Bus Functional Model (BFM)

© 2007 Xilinx, Inc. All Rights Reserved MicroBlaze System MicroBlaze  32-Bit RISC Core UART 10/100 E-Net Memory Controller Off-Chip Memory FLASH/SRAM Fast Simplex Link 0,1….15 Custom Functions Custom Functions BRAM Local Memory Bus D-Cache BRAM I-Cache BRAM Configurable Sizes Arbiter PLB Processor Local Bus CacheLink SDRAM On-Chip Peripheral Bus GPIO Bus Bridge OPB Arbiter On-Chip Peripheral Processor Local Bus (v4.6 PLB)

© 2007 Xilinx, Inc. All Rights Reserved PLB Bus – Connection infrastructure for high-bandwidth master and slave devices – Fully synchronous to one clock – Centralized bus arbitration—PLB arbiter – 32-bit address – 32, 64, or 128-bit data bus – Selectable shared bus or point-to-point interconnect topology Point-to-point optimization available for 1 master, 1 slave configuration Point-to-point topology supports 0 cycle latency via arbitration removal – Selectable address pipelining support (2-level only) – Dynamic master request priority based arbitration – Vectored resets and address/qualifier registers

© 2007 Xilinx, Inc. All Rights Reserved PLB Interconnect / Architecture One to 16 PLB masters, each connect all of their signals to the PLB arbiter The PLB arbiter multiplexes signals from masters onto a shared bus to which all the inputs of the slaves are connected One to n PLB slaves OR together their outputs to drive a shared bus back to the PLB arbiter The PLB arbiter handles bus arbitration and the movement of data and control signals between masters and slaves

© 2007 Xilinx, Inc. All Rights Reserved PLB Bridge The PLB-to-OPB bridge translates PLB transactions into OPB transactions This bridge functions as a slave on the PLB side and a master on the OPB side The bridge contains a DCR slave interface to provide access to its bus error status registers The bridge is necessary in systems where a PLB master device, such as a CPU, requires access to OPB peripherals

© 2007 Xilinx, Inc. All Rights Reserved MicroBlaze System MicroBlaze  32-Bit RISC Core UART 10/100 E-Net Memory Controller Off-Chip Memory FLASH/SRAM Fast Simplex Link 0,1….15 Custom Functions Custom Functions BRAM Local Memory Bus D-Cache BRAM I-Cache BRAM Configurable Sizes Arbiter PLB Processor Local Bus CacheLink SDRAM On-Chip Peripheral Bus GPIO Bus Bridge OPB Arbiter On-Chip Peripheral On-Chip Peripheral Bus (OPB)

© 2007 Xilinx, Inc. All Rights Reserved On-Chip Peripheral Bus (OPB) The On-Chip Processor Bus (OPB) decouples lower bandwidth devices from the PLB It is a less complex protocol than the PLB – No split transaction or address pipelining capability Centralized bus arbitration—OPB arbiter Connection infrastructure for the master and slave peripheral devices The OPB bus is designed to alleviate system performance bottlenecks by reducing capacitive loading on the PLB – Fully synchronous to one clock – Shared 32-bit address bus; shared 32-bit data bus – Supports single-cycle data transfers among the master and the slaves – Supports multiple masters, determined by arbitration implementation – The bridge function can be the master on the PLB or OPB

© 2007 Xilinx, Inc. All Rights Reserved On-Chip Peripheral Bus (OPB) Supports 16 masters and an unlimited number of slaves (only limited by the expected performance) The OPB arbiter receives bus requests from the OPB masters and grants the bus to one of them – Fixed and dynamic (LRU) priorities Bus logic is implemented with AND-OR logic. Inactive devices drive zeros Read and write data buses can be separated to reduce loading on the OPB_DBus signal

© 2007 Xilinx, Inc. All Rights Reserved MicroBlaze System MicroBlaze  32-Bit RISC Core UART 10/100 E-Net Memory Controller Off-Chip Memory FLASH/SRAM Fast Simplex Link 0,1….15 Custom Functions Custom Functions BRAM Local Memory Bus D-Cache BRAM I-Cache BRAM Configurable Sizes Arbiter PLB Processor Local Bus CacheLink SDRAM On-Chip Peripheral Bus GPIO Bus Bridge OPB Arbiter On-Chip Peripheral Local Memory Bus

© 2007 Xilinx, Inc. All Rights Reserved Local Memory Bus (LMB) The Local Memory Bus (LMB) provides single-cycle access to on- chip dual-port block RAM for MicroBlaze™ processors The LMB provides simple synchronous protocol for efficient block RAM transfers DLMB: Data interface, local memory bus (block RAM only) ILMB: Instruction interface, local memory bus (block RAM only)

© 2007 Xilinx, Inc. All Rights Reserved MicroBlaze System MicroBlaze  32-Bit RISC Core UART 10/100 E-Net Memory Controller Off-Chip Memory FLASH/SRAM Fast Simplex Link 0,1….15 Custom Functions Custom Functions BRAM Local Memory Bus D-Cache BRAM I-Cache BRAM Configurable Sizes Arbiter PLB Processor Local Bus CacheLink SDRAM On-Chip Peripheral Bus GPIO Bus Bridge OPB Arbiter On-Chip Peripheral Fast Simplex Links

© 2007 Xilinx, Inc. All Rights Reserved The Software Streaming Data Challenge Suppose you want to move data through a hardware/software processing application with following characteristics – Data may be of a streaming or burst nature – Deterministic latency between hardware and software Possible solutions include – Bus peripheral, maybe PLB Multiple clock-cycle overhead Address decode time Arbitration, loss of hardware/software coherency – Custom microprocessor instruction access to peripheral hardware May require processor to be stalled Complex logic can slow overall processor speed May require assembly language to access special instruction – Fast Simplex Links

© 2007 Xilinx, Inc. All Rights Reserved Another Alternative: Fast Simplex Links ( FSL ) Unidirectional point-to-point FIFO-based communication Dedicated (unshared) and nonarbitrated architecture Dedicated MicroBlaze™ C and ASM instructions for easy access High speed, access in as little as two clocks on processor side, 600 MHz at hardware interface Available in Xilinx Platform Studio (XPS) as a bus interface library core from Hardware → Create or Import Peripheral Wizard FSL_M_Clk FSL_M_Data [0:31] FSL_M_Control FSL_M_Write FSL_M_Full FSL_S_Clk FSL_S_Data [0:31] FSL_S_Control FSL_S_Read FSL_S_Exists FIFO 32-bit data FIFO Depth

© 2007 Xilinx, Inc. All Rights Reserved MicroBlaze System MicroBlaze  32-Bit RISC Core UART 10/100 E-Net Memory Controller Off-Chip Memory FLASH/SRAM Fast Simplex Link 0,1….15 Custom Functions Custom Functions BRAM Local Memory Bus D-Cache BRAM I-Cache BRAM Configurable Sizes Arbiter PLB Processor Local Bus CacheLink SDRAM On-Chip Peripheral Bus GPIO Bus Bridge OPB Arbiter On-Chip Peripheral Xilinx Cache Links

© 2007 Xilinx, Inc. All Rights Reserved Xilinx Cache Link The MicroBlaze CacheLink interface is designed to connect directly to a memory controller with integrated FSL Buffers – i.e. MicroBlaze can connect directly to data ports of EDK supported multi-port memory controllers The CacheLink Interface is only available on MicroBlaze when caches are enabled The CacheLink cache controllers handle 4 or 8-word cache lines All individual CacheLink accesses follow the FSL FIFO based transaction protocol High-performance solution for memory accesses