View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > Freescale Power CPUs > MPC854X implementation

FPQB MPC854X implementation

This course covers PowerQUICC III MPC854X devices, including MPC8548E

Objectives
bullet_jaune_1 The course details the internal data path, particularly the Ocean crossbar operation.
bullet_jaune_1 Cache coherency protocol is introduced in increasing depth and the benefit of data stashing is explained.
bullet_jaune_1 The e500 core is viewed in detail, especially the SPU that enables Floating point and vector processing.
bullet_jaune_1 The boot sequence and clocking are explained.
bullet_jaune_1 The course details the hardware implementation of the MPC854X.
bullet_jaune_1 A long introduction to DDR1/2 SDRAM operation is done before studying the DDR SDRAM controller.
bullet_jaune_1 An in-depth description of the RapidIO port and the PCI-X port is done.
bullet_jaune_1 The PCI Express bridge implemented in the MPC8548E is also described.
bullet_jaune_1 The course highlights both hardware and software implementation of gigabit / fast / Ethernet controllers, particularly the TCP/IP hardware assistance engine.

bullet_jaune_1 ACSYS has developed an optimized SPE based FFT coded in assembler language.
bullet_jaune_1 Performance for 1024 complex floating point single precision samples is:
bullet_jaune_2 - 91_386 core clock cycles without reverse ordering, 94_124 with reverse ordering
bullet_jaune_1 Performance for 4096 complex floating point single precision samples is:
bullet_jaune_2 - 470_778 core clock cycles without reverse ordering, 511_227 with reverse ordering
bullet_jaune_2 for any information contact guillaume.peron@ac6.fr

A lot of programming examples have been developed by ACSYS to explain the boot sequence and the operation of complex peripherals, such as GigaEthernet.

  •They have been developed with Diab Data compiler and are executed with Trace32 Lauterbach debugger.
A more detailed course description is available on request at info@ac6-training.com
Prerequisites and related courses
bullet_jaune_2 Experience of a 32 bit processor or DSP is mandatory.
bullet_jaune_2 The knowledge of the following interconnect standards may be required:
bullet_jaune_3 RapidIO see our course reference IC5
bullet_jaune_3 PCI-X, see our course reference IC3
bullet_jaune_3 Gigabit Ethernet, see our course reference N1

Outline
INTRODUCTION TO MPC854X
Overview
bullet_jaune_2 Address map, ATMU, OCEAN configuration
bullet_jaune_2 Local vs external address spaces, inbound and outbound address decoding
bullet_jaune_2 Accessing memory-mapped registers from external master
THE e500 CORE
THE INSTRUCTION PIPELINE
bullet_jaune_2 Dual-issue superscalar control, out-of-order execution, 12-entry instruction queue, 14-entry completion queue
bullet_jaune_2 Execution units: 2 simple Integer Units + 1 Complex Integer Unit
bullet_jaune_2 Dynamic branch prediction using a 128-set 4-way set associative Branch Target Buffer
bullet_jaune_2 Execution timing, rename register operation, instruction serialization, instruction scheduling guidelines
DATA AND INSTRUCTION PATHS
bullet_jaune_2 The Core Complex Bus
bullet_jaune_2 Load store unit
bullet_jaune_2 The LMQ, the store queue, the castout queue
bullet_jaune_2 Store miss merging and store gathering
THE MEMORY MANAGEMENT UNITS
bullet_jaune_2 Thread vs process
bullet_jaune_2 The first level MMU and the second level MMU, consistency between L1 and L2 TLBs
bullet_jaune_2 TLB software reload, page attributes WIMGE
bullet_jaune_2 Process protection, variable number of PID registers and sharing
bullet_jaune_2 MMU implementation in real-time sensitive applications
CACHES
bullet_jaune_2 The L1 caches, PLRU replacement algorithm, 8-way set associativity, cache block and unlock APU
bullet_jaune_2 Cache coherency
bullet_jaune_2 Level 2 cache, partition into L2 cache plus SRAM
bullet_jaune_2 Allocation of data transferred by external masters into the cache : stashing
bullet_jaune_2 e500 coherency module
PROGRAMMING
bullet_jaune_2 Differences between the new Book E architecture and the classic PowerPC architecture
bullet_jaune_2 Floating Point units, Double-Precision FP of MPC8548E
bullet_jaune_2 Signal Processing APU (SPU)
bullet_jaune_2 PowerPC EABI
EXCEPTIONS
bullet_jaune_2 Book E exception handling
bullet_jaune_2 Critical versus non critical
bullet_jaune_2 Handler table
bullet_jaune_2 Syndrome registers, exception nesting, recoverability from interrupt, soft stop
bullet_jaune_2 Core timers
DEBUGGING
bullet_jaune_2 Performance monitoring, counting of events
bullet_jaune_2 JTAG debug
bullet_jaune_2 Watchpoint logic
PLATFORM OPERATION
RESET, CLOCKING AND INITIALIZATION
bullet_jaune_2 Platform clock
bullet_jaune_2 RapidIO transmit clock source selection
bullet_jaune_2 Power-on reset sequence, using the I2C interface to access serial ROM
bullet_jaune_2 Power-on reset configuration
bullet_jaune_2 Boot page translation
DDR SDRAM MEMORY CONTROLLER
bullet_jaune_2 DDR2 operation
bullet_jaune_2 Jedec specification basics
bullet_jaune_2 Hardware interface
bullet_jaune_2 Bank activation, read, write and precharge timing diagrams, page mode
bullet_jaune_2 ECC error correction
bullet_jaune_2 Introduction to the DDR-SDRAM controller
bullet_jaune_2 Initial configuration following Power-on-Reset
bullet_jaune_2 Address decode
bullet_jaune_2 Timing parameters programming
bullet_jaune_2 Initialization routine
LOCAL BUS CONTROLLER
bullet_jaune_2 Multiplexed 32-bit address and data transfers
bullet_jaune_2 Burst support
bullet_jaune_2 Dynamic bus sizing
bullet_jaune_2 GPCM, UPMs and SDR SDRAM states machines
RapidIO INTERFACE
bullet_jaune_2 Message Unit, direct vs chaining mode operation
bullet_jaune_2 RapidIO doorbell and port-write unit
bullet_jaune_2 Accessing configuration registers via RapidIO packets
bullet_jaune_2 Programming inbound and outbound ATMUs
bullet_jaune_2 Error handling
PCI EXPRESS INTERFACE
bullet_jaune_2 MPC8548E 8-lane PCI Express interface
bullet_jaune_2 Modes of operation, Root Complex / Endpoint
bullet_jaune_2 Programming inbound and outbound ATMUs
bullet_jaune_2 Configuration, initialization
PCI/PCI-X FUNCTIONAL UNITS
bullet_jaune_2 Bridge features
bullet_jaune_2 Read prefetch and write posting FIFOs
bullet_jaune_2 Inbound transactions handling, Outbound transactions handling in both modes
bullet_jaune_2 Support of multiple split transactions in PCI-X mode
bullet_jaune_2 PCI-to-memory and memory-to-PCI streaming
INTEGRATED DMA CONTROLLER
bullet_jaune_2 Priority between the 4 channels
bullet_jaune_2 Support for cascading descriptor chains
bullet_jaune_2 Scatter / gathering
bullet_jaune_2 Selectable hardware enforced coherency
PERFORMANCE MONITOR AND DEBUG FEATURES
bullet_jaune_2 Event counting
bullet_jaune_2 Chaining, triggering
bullet_jaune_2 Watchpoint facility
bullet_jaune_2 Trace buffer
INTEGRATED PERIPHERALS
THE ETHERNET CONTROLLERS
bullet_jaune_2 Frame format with and without VLAN option
bullet_jaune_2 Address recognition, pattern matching
bullet_jaune_2 Buffer descriptors management
bullet_jaune_2 The three-speed Ethernet controllers (TSECs)
bullet_jaune_2 Physical interfaces : GMII, MII, TBI or RGMII
bullet_jaune_2 Buffer descriptor management
bullet_jaune_2 Layer 2 acceleration accept or reject on address or pattern match
bullet_jaune_2 256-entry hash table for unicast and multicast
bullet_jaune_2 MPC8548E management of VLAN tags and priority, VLAN insertion and deletion
bullet_jaune_2 MPC8548E quality of service, filer
bullet_jaune_2 MPC8548E FIFO mode
SECURITY ENGINE
bullet_jaune_2 Overview of the encryption mechanism
bullet_jaune_2 Introduction to DES and 3DES algorithms
bullet_jaune_2 Data packet descriptors
bullet_jaune_2 Crypto channels
bullet_jaune_2 Link tables
LOW SPEED PERIPHERALS
bullet_jaune_2 Programmable Interrupt Controller
bullet_jaune_2 Interrupt nesting
bullet_jaune_2 Description of the 4 timers / counters
bullet_jaune_2 Message interrupts
bullet_jaune_2 Description of the NS€50/16550 compliant Uarts
bullet_jaune_2 I2C protocol fundamentals
bullet_jaune_2 Transmit and receive sequence
COMMUNICATION PROCESSOR MODULE (On request)
INTRODUCTION TO CPM
bullet_jaune_2 CP operation : peripheral prioritization
bullet_jaune_2 Command register
bullet_jaune_2 DPRAM organization
bullet_jaune_2 IDMA vs SDMA
THE SERIAL INTERFACE
bullet_jaune_2 NMSI versus TDM
bullet_jaune_2 Supported protocols and max data rate
bullet_jaune_2 Transmit and receive clock selection
bullet_jaune_2 Communication initialization sequence
bullet_jaune_2 Buffer descriptor ring allocation in DPRAM
bullet_jaune_2 Buffer chaining
THE MULTI CHANNEL CONTROLLERS
bullet_jaune_2 DPRAM organization
bullet_jaune_2 Time slot vs logic channel
bullet_jaune_2 HDLC channel parameters
bullet_jaune_2 Interrupt queues
THE SERIAL COMMUNICATION CONTROLLERS
bullet_jaune_2 Data encoding /decoding selection
bullet_jaune_2 UART on SCC
bullet_jaune_2 HDLC on SCC
bullet_jaune_2 Ethernet on SCC
FAST ETHERNET CONTROLLER
bullet_jaune_2 802.3u basics
bullet_jaune_2 MII interface
bullet_jaune_2 Hash tables utility
bullet_jaune_2 Parameter RAM description
ATM BASICS
bullet_jaune_2 UNI and NNI network interfaces
bullet_jaune_2 Cell format
bullet_jaune_2 Virtual connection
bullet_jaune_2 Layer model
bullet_jaune_2 AAL1 layer
bullet_jaune_2 AAL3/4
bullet_jaune_2 AAL5
bullet_jaune_2 Connection establishment
ATM TRAFFIC MANAGEMENT
bullet_jaune_2 The 5 service classes defined by the ATM forum : CBR, VBRrt, VBRnrt, UBR, ABR
bullet_jaune_2 The QoS ATM attributes : PCR/CDVT, CLR, CTD/CDV
bullet_jaune_2 Traffic policy
bullet_jaune_2 Traffic shaping
THE ATM CONTROLLER
bullet_jaune_2 Utopia 2 hardware interface : multi-PHY control
bullet_jaune_2 APC unit
bullet_jaune_2 VCI/VPI of incoming cells lookup
bullet_jaune_2 OAM AAL0 cells management
bullet_jaune_2 ATM/TDM interworking
bullet_jaune_2 ATM controller parameter RAM description
bullet_jaune_2 RxBD and TxBD format according to the adaptation layer