Embedded Design with The PPC 440 Processor Core Xilinx Training.

Slides:



Advertisements
Similar presentations
How to Use The 3 AXI Configurations
Advertisements

How to Create Area Constraints with PlanAhead
How to Convert a PLB-based Embedded System to an AXI-based System
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.
Architecture Wizard and I/O Planning Xilinx Training.
What are FPGA Power Management Software Options?
Power Estimation Xilinx Training.
How Do I Resolve Routing Congestion?
7 Series Memory Resources Part 1. Objectives After completing this module, you will be able to: Describe the dedicated block memory resources in the 7.
7 Series DSP Resources Part 1.
StreamBlade SOE TM Initial StreamBlade TM Stream Offload Engine (SOE) Single Board Computer SOE-4-PCI Rev 1.2.
7 Series CLB Architecture
Core Generator Software System. Describe the differences between LogiCORE™ and AllianceCORE solutions Identify two benefits of using cores in your designs.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
What Design Techniques Help Avoid Routing Congestion?
7 Series Memory Controllers
How to Use the Three AXI Configurations
Xilinx Analog Mixed Signal XADC Evaluation Note: Agile Mixed Signal is Now Analog Mixed Signal Xilinx Training.
Architecture Wizard and I/O Planning. Architecture Wizard and the I/O Planner 2 © Copyright 2011 Xilinx Objectives After completing this module, you will.
ChipScope Pro Software
What are FPGA Power Management Design Techniques?
7 Series Memory Controllers
How Do I Plan to Power My FPGA?
Xilinx Confidential – Internal © 2009 Xilinx, Inc. All Rights Reserved Core Generator Software System.
Configurable System-on-Chip: Xilinx EDK
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved Embedded Design with the Xilinx Embedded Developer Kit.
What are the Benefits of Area Constraints?
Embedded Design with The Xilinx Embedded Developer Kit Xilinx Training.
Xilinx Training Xilinx Analog Mixed Signal EDK Design Flow Note: Agile Mixed Signal is Now Analog Mixed Signal.
Xilinx Analog Mixed Signal Solution HDL Design Flow Note: Agile Mixed Signal is Now Analog Mixed Signal Hello, and welcome to this recorded e-learning.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
XST Synthesis Options. Welcome If you are new to FPGA design, this module will help you use XST to synthesize your design optimally These synthesis techniques.
Global Timing Constraints. Objectives After completing this module you will be able to… Apply global timing constraints to a simple synchronous design.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved Basic FPGA Configuration Part 1.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved Power Estimation.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved How Do I Plan to Power My FPGA?
Xilinx at Work in Hot New Technologies ® Spartan-II 64- and 32-bit PCI Solutions Below ASSP Prices January
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved Global Timing Constraints.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved How do I Get Started with PlanAhead?
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved How to Convert a PLB-based Embedded System to an AXI-based System.
Xilinx Confidential – Internal © 2009 Xilinx, Inc. All Rights Reserved ChipScope Pro Software +Labs.
What Design Techniques Help Avoid Routing Congestion?
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.
A Reconfigurable Advanced Tamper Resistant Embedded Processing Platform Jason Fritz, Michael Bonato, David French and Larry Scally
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved What are FPGA Power Management Software Options?
Chapter 2 The CPU and the Main Board  2.1 Components of the CPU 2.1 Components of the CPU 2.1 Components of the CPU  2.2Performance and Instruction Sets.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved XST Synthesis Options.
© 2007 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Hardware Design INF3430 MicroBlaze 7.1.
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.
1 EDK 7.1 Tutorial -- SystemACE and EthernetMAC on Avnet Virtex II pro Development Boards Chia-Tien Dan Lo Department of Computer Science University of.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
By Fernan Naderzad.  Today we’ll go over: Von Neumann Architecture, Hardware and Software Approaches, Computer Functions, Interrupts, and Buses.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Manage Supplier Returns.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Manage and Disposition Inventory Returns.
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Inspect Material.
بسم الله الرحمن الرحيم MEMORY AND I/O.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
System on a Programmable Chip (System on a Reprogrammable Chip)
Embedded Design with The PPC 440 Processor Core
Embedded Design with the Xilinx Embedded Developer Kit
Many-core Software Development Platforms
Power Estimation.
ADSP 21065L.
Presentation transcript:

Embedded Design with The PPC 440 Processor Core Xilinx Training

Welcome If you are new to Embedded design with Xilinx FPGA’s, this module will explain why you may want to use the PPC 440 processor in the Virtex-5 FX FPGA family Understanding the basics of the PPC 440 processor is essential if you are going to select an appropriate FPGA device family The Embedded Developers Kit software (EDK) is designed to make building a fast embedded design easy

Objectives After completing this module, you will be able to: Explain some of the benefits of the PPC 440 processor Explain how the utilities included with the Embedded Developers Kit (EDK) are optimized for the PPC 440 processor Explain how the Base System Builder makes it easy to make your embedded system

Hardware Overview PPC 440 Base System Builder Summary Lessons

Xilinx Embedded Processor Innovation PerformanceIntegrationFlexibilityFeatures 32-bit RISC Processor Soft Core 32-bit RISC Processor Soft Core PLB46 Embedded Development Kit IP PowerPC 440 Embedded Block with Integrated Interconnect PowerPC 440 Embedded Block with Integrated Interconnect PowerPC® 405 Hard Core Hard Core in Virtex®-II PRO FPGA PowerPC® 405 Hard Core Hard Core in Virtex®-II PRO FPGA PowerPC 405 Hard Core Hard Core in Virtex-4 FX FPGA PowerPC 405 Hard Core Hard Core in Virtex-4 FX FPGA

Supported FPGAs FPGA families –Spartan-3/3A/3AN/3A DSP/3E FPGA (MicroBlaze processor) –Spartan-6 (MicroBlaze Processor) –Virtex-4 FX (MicroBlaze and PowerPC 405 processors) and LX/SX FPGA (MicroBlaze processor) –Virtex-5 FXT (MicroBlaze and PowerPC 440 processor) LX/LXT FPGA (MicroBlaze) –Virtex-6 (MicroBlaze processor)

Embedded Design in an FPGA Embedded design in an FPGA can consist of the following –FPGA hardware design Processor system  MicroBlaze processor (soft core)  PowerPC processor (PPC440 hard core)  PLB or PLB v46 bus  PLB bus components Other FPGA hardware  Peripherals can either be custom made by the user with a Xilinx bus interface or a library of pre-optimized peripherals are available

PowerPC Processor-Based Embedded Design Full system customization to meet performance, functionality, and cost goals UART GPIO Bus Master Hi-Speed Peripheral GB E-Net e.g. Memory Controller PLB v46 Off-Chip Memory ZBT SSRAMDDR SDRAM SDRAM PLB v46 DDR SPLBMPLB TEMAC PowerPC 440 Core Dedicated Hard IP MCI DMA PPC DDR2 Memory Controller

IP Peripherals All are included FREE! Bus infrastructure and bridge cores Memory and memory controller cores Debug Peripherals Arithmetic Timers Inter-processor communication External peripheral controller DMA controller PCI User core template …and Other cores

Hardware Overview PPC 440 Base System Builder Summary Lessons

PowerPC 440 Processor Core  High performance –1,100+ DMIPS –29% faster per MHz than PPC 405 processor  Licensed IBM PPC 440 processor core –Industry standard –Superscalar Multiple instructions per cycle  Uses PLB v46 CoreConnect bus architecture  Third-generation embedded processor core in the FPGA

Next Generation of Performance PowerPC 440 processor core Highest performance FPGA embedded processor Hardened processor interconnect Simpler implementations Simultaneous non-blocking access Dedicated memory interface reduces bottlenecks Enhanced APU Supports double-precision FPU w/ key OSs Custom hardware acceleration eliminates software bottlenecks Full EDK support More than just a better processor! Processor Block CrossbarCrossbar DMADMA DMADMA SPLB1SPLB1 DMADMA DMADMA MCIMCI MPLBMPLB DCRDCR APUControlAPUControl CPMCPM PowerPC PowerPC SPLB

PowerPC Processor – Basic Architecture A 32-bit implementation of the PowerPC processor –64-bit operations are not supported –Processor does not implement floating point operations, although an FPU can be attached through the APU Support for embedded system applications –Flexible memory management –Multiply and accumulate instructions for computationally intensive applications –Enhanced debug capabilities –64-bit time base –Fixed Interval Timer (FIT) and watchdog timer Performance-enhancing features –Seven-stage highly pipelined –Single cycle multiply and multiply accumulate –Enhanced string and multiple word handling –Reduced branch latency using Branch Target Address Cache (BTAC)

Auxiliary Processing Unit (APU) Interface Virtex-5 FXT devices Coprocessor interface –Connects the PowerPC processor to fabric –Offload computations to fabric; hardware FPU, for example Extends native PPC440 processor instruction set Decodes but does not execute instructions Tighter integration between processor and fabric

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 master samples its grant line until granted access. When the current bus master releases the bus, the master then drives the address and control lines to initiate a data transaction to a slave bus agent. Arbitration mechanisms –Fixed priority, round-robin, or hybrid

PPC 440 Processor Bus Example PPC440 DMA MCI SPLB MPLB INTC TEMAC DDR2 Memory Controller MicroBlaze GPIO UART IIC Hi-Speed Mem Ctl INTC DMA Data: 32 bits PLBv46 Bus Data: 128 bits Address: 32 bits MCI Data: 128 bits APU Ethernet SDRAM DDR2 Memory (off-chip) PLBv46 ARB PLBv46 ARB To MPLB

PPC 440 Crossbar DMA –Four channels – Up to four 32-bit channels (each direction) –Scatter/gather functionality MCI – Memory Controller Interface –FIFO-like interface; no PLB required –Simplified interface: address, data, control PLB master –Allows the PPC 440 processor to be a bus master PLB slave – Up to two channels –Allows PLB slave access to main memory APU – Coprocessor interface

Crossbar DMA Controller Multiple-channels – Up to four 32-bit channels (each direction) Interface into PLB crossbar at 128-bit width Peripheral interface –32-bit LocalLink –Independent transmit and receive –Asynchronous with the interconnect clock Byte realignment on Tx and Rx Efficient flow control management –Command translation Scatter/gather functionality Programmable by the processor or FPGA fabric

Memory Controller Interface Enables direct connect of memory controller to processor Increased performance –FIFO-like interface; no PLB required –Simplified interface: address, data, control Performs row/bank detection –Reducing soft controller logic Provides transaction pipelining –Up to eight read transactions from the crossbar Data transaction support –32-, 64-, and 128-bit data transfer per cycle –Variable burst sizes –Each burst has its own address Connect to Xilinx or a custom soft controller

Crossbar in Action Processor Block CrossbarCrossbar DMADMA DMADMA SPLB1 DMA MCIMCI MPLBMPLB DCR APU Control APU Control CPM PowerPC PowerPC SPLB0 Separate memory and I/O buses greatly improve system performance Performance PLB V46 CAN USB 2.0 System Monitor GPIO External DDR2 Memory PPC440MC DDR2 Memory Controller Interface

EDK Memory Controllers External DDR2 Memory PPC440MC DDR2 Memory Controller Interface PLB V46 XPS_ BRAM BRAM XPS_MCH _EMC SRAM MPMC SDRAM XPS_ System Ace System ACE System ACE MPMC DDR XPS_MCH _EMC Flash Processor Block CrossbarCrossbar DMADMA DMADMA SPLB1 DMA MCIMCI MPLBMPLB DCR APU Control APU Control CPM PowerPC PowerPC SPLB0

Crossbar in Action – TEMACs as Masters Processor Block CrossbarCrossbar DMADMA DMADMA SPLB1 DMA MCIMCI MPLBMPLB DCR APU Control APU Control CPM PowerPC PowerPC SPLB0 TEMACTEMAC TEMACTEMAC WrapperWrapper WrapperWrapper Integration Performance Four built-in DMA channels provide high-speed access to memory or I/O PLB V46 CAN USB 2.0 System Monitor GPIO External DDR2 Memory PPC440MC DDR2 Memory Controller Interface

PowerPC 440 Processor Crossbar in Action Processor Block CrossbarCrossbar DMADMA DMADMA SPLB1 DMA MCIMCI MPLBMPLB DCR APU Control APU Control CPM PowerPC PowerPC SPLB0 TEMACTEMAC TEMACTEMAC WrapperWrapper WrapperWrapper External DDR2 Memory PPC440MC DDR2 Memory Controller Interface PLB V46 CAN USB 2.0 System Monitor GPIO Flexibility External masters can access memory or I/O through crossbar’s SPLB IntegrationPerformance I2C GPIO Timer Memory Controller RS232 Custom IP PLB V46

Hardware Overview PPC 440 Base System Builder Summary Lessons

Many vendors support evaluation and demo boards with Xilinx FPGAs –Xilinx –Avnet –Digilent Base System Builder (BSB) is a wizard to facilitate a fast processor-based system design by high abstraction, level- specification entry Starting out with a Processor Design Virtex®-5 FPGA ML507 Spartan-3E FPGA 1600E Spartan®-6 SP605 FPGA

Create a New Project Using the BSB BSB enables fast design construction –Creates a completed platform and test application that is ready to download –Creates this system faster than you could by editing the MHS directly –Automatically matches the pinout of the design to the board The Set Project Peripheral Repository option is used for storing custom peripherals and drivers in a reserved location

Selecting a Board Xilinx and its distribution partners sell demo boards with a wide range of added components –This dialog box allows you to quickly learn more about all available demo boards –It also allows you to install the necessary BSB files if you want to target a demo from another vendor –Note that you can also create your own BSB file for a custom board

Selecting a Processor  Base System Builder supports a single- or dual-processor system

Configuring the Processor Processor clock frequency is the clock rate connected directly to the processor Bus clock frequency is the clock rate of all bus peripherals in the system These selections will automatically customize the clock generator module The appropriate debug interface is added automatically

Configuring the I/O Interfaces Choose the peripherals you need from those available for your demo board Peripherals can be added or removed Most peripherals are customizable via drop- down lists when selected Most peripherals support the use of interrupts Internal peripherals exist for all board hardware configurations

A Good Start on a Processor Design Basic PowerPC processor system Basic MicroBlaze processor system

Hardware Overview PPC 440 Base System Builder Summary Lessons

Summary The PPC 440 processor crossbar switch speeds system performance utilizing an alternative architecture (to bus) that is 128-bit wide –The crossbar clock is usually the fastest in the embedded system –All other embedded clocks are relative to the crossbar clock (bus, memory, DMA) The PPC 440 processor supports the attachment of one master PLB bus (for connection to slave peripherals) and two slave PLB buses (for connection to other system master components) The PPC 440 processor has a Memory Controller Interface (MCI) –Allows the fastest memory access possible by connecting to a Xilinx memory controller The PPC 440 processor has four DMA controller ports The PPC 440 APU supports co-processors built in FPGA fabric

Where Can I Learn More? Xilinx Embedded Processing page – –Learn more about Embedded Design Kits for all of our device families Xilinx online documents – Getting Started with the Embedded Development Kit Processor IP Reference Guide  Right-click any peripheral from the IP Catalog to learn more about it Embedded Systems Tools Guide Xilinx Drivers Processor reference guides  PowerPC 405/440 Processor Block Reference Guide  MicroBlaze Processor Reference Guide For all docs, select Help  EDK Online Documentation from the EDK tools

Where Can I Learn More? Xilinx Training Courses – Embedded Systems Development course  Rapidly architect an embedded system  Introduction to most of the EDK tools Embedded Systems Software Development course  Rapidly architect an embedded software system  Introduction to the SDK (Software Development Kit) Advanced Embedded Systems Development course  Take advantage of advanced features of the PPC440  Apply advanced debugging techniques including ChipScope  Design a Flash memory-based system and boot load from off-chip Flash memory Customers spend 50% of their time in lab

What’s Next? Related Video Courses –Embedded Design with the MicorBlaze Soft Processor Core –Embedded Design with the Xilinx Embedded Developers Kit

Xilinx is disclosing this Document and Intellectual Property (hereinafter “the Design”) to you for use in the development of designs to operate on, or interface with Xilinx FPGAs. Except as stated herein, none of the Design may be copied, reproduced, distributed, republished, downloaded, displayed, posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Any unauthorized use of the Design may violate copyright laws, trademark laws, the laws of privacy and publicity, and communications regulations and statutes. Xilinx does not assume any liability arising out of the application or use of the Design; nor does Xilinx convey any license under its patents, copyrights, or any rights of others. You are responsible for obtaining any rights you may require for your use or implementation of the Design. Xilinx reserves the right to make changes, at any time, to the Design as deemed desirable in the sole discretion of Xilinx. Xilinx assumes no obligation to correct any errors contained herein or to advise you of any correction if such be made. Xilinx will not assume any liability for the accuracy or correctness of any engineering or technical support or assistance provided to you in connection with the Design. THE DESIGN IS PROVIDED “AS IS" WITH ALL FAULTS, AND THE ENTIRE RISK AS TO ITS FUNCTION AND IMPLEMENTATION IS WITH YOU. YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NOT RELIED ON ANY ORAL OR WRITTEN INFORMATION OR ADVICE, WHETHER GIVEN BY XILINX, OR ITS AGENTS OR EMPLOYEES. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DESIGN, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE DESIGN, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION WITH YOUR USE OF THE DESIGN, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL IN NO EVENT EXCEED THE AMOUNT OF FEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE DESIGN. YOU ACKNOWLEDGE THAT THE FEES, IF ANY, REFLECT THE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE THE DESIGN TO YOU WITHOUT THESE LIMITATIONS OF LIABILITY. The Design is not designed or intended for use in the development of on-line control equipment in hazardous environments requiring fail-safe controls, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or weapons systems (“High-Risk Applications”). Xilinx specifically disclaims any express or implied warranties of fitness for such High-Risk Applications. You represent that use of the Design in such High-Risk Applications is fully at your risk. © 2012 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. All other trademarks are the property of their respective owners. Trademark Information