Site affiché en Français Voir le site en English (USA) Voir le site en English (GB)
Vous êtes ici: ac6 > ac6-formation > Freescale Power CPUs > eTPU programming

FM3 eTPU programming

This course covers eTPU code generation and simulation

Objectives
bullet_jaune_1 The course explains the CPU-like TPU architecture.
bullet_jaune_1 CPU-to-TPU interface is detailed.
bullet_jaune_1 The course highligths all channel operation modes.
bullet_jaune_1 The course focuses on various fields of the instructions enabling concurrency.
bullet_jaune_1 The scheduler priority algorithm is detailed in order to estimate the worst case latency for channel service.
bullet_jaune_1 Micro-coding and debugging an application composed of several states is explained through practical examples.

bullet_jaune_1 This course has been delivered several times to companies developing automotive systems.
A lot of programming examples have been developed by ACSYS to explain the eTPU operation.

  •They have been developed with Ashware tools.
A more detailed course description is available on request at info@ac6-training.com
Prerequisites
bullet_jaune_2 Basic knowledge about microprocessor architecture, hardware timer and assembler instructions and directives.

Plan
INTRODUCTION TO TPU
bullet_jaune_2 Locating the TPU in different components proposed by Freescale
bullet_jaune_2 Objectives of a such approach
bullet_jaune_2 Quick presentation of standard functions
TPU ARCHITECTURE
bullet_jaune_2 The various modules and interactions between them
bullet_jaune_2 Micro-engine
bullet_jaune_2 Ram
bullet_jaune_2 Host interface
bullet_jaune_2 Rom
bullet_jaune_2 Channel
bullet_jaune_2 Scheduler
CHANNEL DESCRIPTION
bullet_jaune_2 Features
bullet_jaune_2 Block diagram
bullet_jaune_2 State at Reset
bullet_jaune_2 Configuring a channel
bullet_jaune_2 Transition event
bullet_jaune_2 Match event
bullet_jaune_2 Full default modes study
bullet_jaune_2 Channel link
RAM PARAMETER
bullet_jaune_2 Mapping
bullet_jaune_2 The addressing modes
bullet_jaune_2 Timing
bullet_jaune_2 Coherency
SCHEDULER ARCHITECTURE
bullet_jaune_2 Sources of service requests
bullet_jaune_2 Requests hierarchy
bullet_jaune_2 Preemptivity
bullet_jaune_2 State selection
TPU MICROCODE OVERVIEW
bullet_jaune_2 VLIW machine
bullet_jaune_2 Instruction format
MICRO-ENGINE PROGRAMMING MODEL
bullet_jaune_2 Registers list
bullet_jaune_2 Execution unit hardware
bullet_jaune_2 Code condition latch
bullet_jaune_2 Channel selection
bullet_jaune_2 Loop
bullet_jaune_2 Arithmetic instructions
bullet_jaune_2 Multiply and Mac instructions
FLOW CONTROL INSTRUCTIONS
bullet_jaune_2 Pipeline
bullet_jaune_2 Branch chart
bullet_jaune_2 Conditional branches
bullet_jaune_2 Flush pipe or not
bullet_jaune_2 Repeat capabilities
bullet_jaune_2 Call and return instructions
THE ENTRY POINTS
bullet_jaune_2 Entry table chart
bullet_jaune_2 Scheduler behavior, inner channel priority management
bullet_jaune_2 Entry directive
bullet_jaune_2 Entry points general format
THE SCHEDULER OPERATION
bullet_jaune_2 Sources of service request
bullet_jaune_2 Service requests priority
bullet_jaune_2 Selected state address generation
bullet_jaune_2 Priority scheme
CHANNEL SERVICE WORST CASE LATENCY
bullet_jaune_2 Threads switch timing
bullet_jaune_2 Taking into consideration other requests
bullet_jaune_2 Access concurrency delay
IMPLEMENTATION
bullet_jaune_2 This part may be tailored to customers needs during on-site trainings.
bullet_jaune_2 For instance developing a UART function with parity generation / checking can be used to understand all the previous topics.