Next:
Contents
Contents
27 2006-10-25 2011-12-02 1000 complete
TTA-based Co-design Environment v1.5
Contents
1
INTRODUCTION
1
Document Overview
2
Acronyms, Abbreviations and Definitions
3
Typographic Conventions Used in the Document
2
TCE DESIGN FLOW
1
Overview
2
Main File Formats
1
Architecture Definition File (ADF)
2
Hardware Database (HDB)
3
Implementation Definition File (IDF)
4
Binary Encoding Map
5
TTA Program Exchange Format (TPEF)
6
Operation Set Abstraction Layer (OSAL) Files
1
Operation Properties
2
Operation Input Properties
3
Operation Output Properties
4
Operation DAG
5
Operation Behavior
6
Behavior Description language
7
Simulation Trace Database
8
Exploration Result Database
3
Notes About the Processor Template of TCE
1
Immediates/Constants
2
Operations, Function Units, and Operand Bindings
3
Datapath Connectivity Levels
3
TUTORIALS AND HOW-TOS
1
TCE Tour
1
The Sample Application
2
Starting Point Processor Architecture
3
Evaluating the Starting Point Architecture
4
Accelerating the Algorithm
1
Evaluating Custom Operation Candidates
2
Finding the Bottlenecks
5
Analyzing the Custom Operation
6
Creating the Custom Operation
7
Use the custom operation in C code.
8
Adding an implementation of the FU to the hardware database (HDB).
9
Generating the Final Products
10
Increasing performance by adding resources
11
Final Words
2
From C to VHDL as Quickly as Possible
3
Hello TTA World!
4
Streaming I/O
1
Streaming I/O function units
5
Implementing Programs in Parallel Assembly Code
1
Preparations
2
Introduction to DCT
3
Introduction to TCE assembly
4
Implementing DCT on TCE assembly
1
Verifying the assembly program
6
Running TTA on FPGA
1
Simplest example: No data memory
1
Introduction
2
Application
3
Create TTA processor core and instruction image
4
Final steps to FPGA
2
Second example: Adding data memory
1
Create TTA processor core and binary images
2
Towards FPGA
3
More to test
7
Designing Floating-point Processors with TCE
1
Restrictions
2
Function Units
3
Benchmark results
4
Alternative bit widths
5
Processor Simulator and Floating Point Operations
8
Multi-TTA Designs
9
OpenCL Support
4
PROCESSOR DESIGN TOOLS
1
TTA Processor Designer (ProDe)
1
Starting ProDe
2
Function Unit Operation Dialog
2
Operation Set Abstraction Layer (OSAL) Tools
1
Operation Set Editor (OSEd)
1
Capabilities of the OSEd
2
Usage
2
Operation Behavior Module Builder (buildopset)
3
OSAL Tester (testosal)
3
OSAL search paths
4
Processor Generator (ProGe)
1
IC/Decoder Generators
2
Platform Integrator
3
Supported Platforms
1
Stratix2DSP
2
AvalonIntegrator
3
KoskiIntegrator
5
Hardware Database Editor (HDB Editor)
1
Usage
1
Creating a new HDB file
2
Adding new components
3
Adding FU/RF HDL source files
6
Hardware Database Tester
1
Usage
2
Test conditions
7
Processor unit tester
1
Usage
8
Function Unit Interface
1
Operation code order
2
Summary of interface ports
1
Input/Output operand ports
2
Input load ports
3
Operation code port
4
Control signals
3
Reserved keywords in generics
5
CODE GENERATION TOOLS
1
TCE Compiler
1
Usage of TCE compiler
1
Examples of usage
2
Custom operations
3
Unsupported C Language Features
4
Known issues
2
Binary Encoding Map Generator (BEMGenerator)
1
Usage
3
Parallel Assembler and Disassembler
1
Usage of Disassembler
1
An example of the usage
2
Usage of Assembler
1
An example of the usage
3
Memory Areas
4
General Line Format
5
Allowed characters
6
Literals
7
Labels
8
Data Line
9
Code Line
10
Long Immediate Chunk
11
Data Transport
12
Register Port Specifier
13
Assembler Command Directives
14
Assembly Format Style
15
Error Conditions
16
Warning Conditions
17
Disambiguation Rules
4
Program Image Generator (PIG)
1
Usage
1
An example of the usage
2
Dictionary Compressor
1
Instruction Dictionary compressor
2
Move Slot Dictionary compressor
3
Defining New Code Compressors
4
Creating the Code Compressor Module
5
Building the Shared Object
5
TPEF Dumper (dumptpef)
1
Usage
6
CO-DESIGN TOOLS
1
Architecture Simulation and Debugging
1
Processor Simulator CLI (ttasim)
1
Usage
2
Fast Compiled Simulation Engine
1
Usage
2
ccache
3
distcc
3
Simulator Control Language
1
Initialization
2
Simulation Settings
3
Control of How the Simulation Runs
4
Examining Program Code and Data
5
Control Where and When to Stop Program Simulation
6
Specifying Files and Directories
7
Examining State of Target Processor and Simulation
8
Miscellaneous Support Commands and Features
9
Command and Value History Logs
4
Traces
1
Profile Data
5
Processor Simulator GUI (Proxim)
1
Usage
2
Profiling with Proxim
2
System Level Simulation with SystemC
1
Instantiating TTACores
2
Describing Detailed Operation Pipeline Simulation Models
3
Processor Cost/Performance Estimator (estimate)
1
Command Line Options
4
Automatic Design Space Explorer (explore)
1
Explorer Application format
2
Command Line Options
3
Explorer Plugin: ConnectionSweeper
4
Explorer Plugin: SimpleICOptimizer
5
Explorer Plugin: RemoveUnconnectedComponents
6
Explorer Plugin: GrowMachine
7
Explorer Plugin: ImmediateGenerator
8
Explorer Plugin: ImplementationSelector
9
Explorer Plugin: MinimizeMachine
7
FREQUENTLY ASKED QUESTIONS
1
Memory Related
1
What is the endianness of the TTA processors designed with TCE?
2
What is the alignment of words when reading/writing memory?
3
Load Store Unit
4
Instruction Memory
5
Stack and Heap
2
Processor Generator
1
Warning: Processor Generator failed to generate a test bench
2
Warning: Opcode defined in HDB for operation ...
3
tcecc
1
Disappearing code
4
Hardware characteristics
1
Interrupt support
8
PRODUCING EFFICIENT TTA DESIGNS WITH TCE
1
Registers and Register Files
2
Interconnection Network
1
Negative short immediates
3
Operation Set
9
TROUBLESHOOTING
1
Simulation
1
Failing to Load Operation Behavior Definitions
2
Limitations of the Current Toolset Version
1
Integer Width
2
Instruction Addressing During Simulation
3
Data Memory Addressing
4
Ideal Memory Model in Simulation
5
Guards
6
Operation Pipeline Description Limitations
7
Encoding of XML Files
8
Floating Point Support
A. SystemC Simulation Example
B. Copyright notices
1
Xerces
2
wxWidgets
3
L-GPL
4
TCL
5
SQLite
6
Editline
Bibliography
About this document ...
Pekka Jääskeläinen 2011-12-08