View the site in Français View the site in English (USA) Site displayed in English (GB)
You are here: ac6 > ac6-formation > Freescale Power CPUs > eTPU programming
Download Catalog
Download Catalog
Download as PDF
Download as PDF
Write us
Write us
Printable version
Printable version
 

FM3 eTPU programming

This course covers eTPU code generation and simulation


formateur
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.

Outline
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.