Stream User’s Guide 1
1 Introduction 5
1.1 Typographical conventions 5
1.2 Document revision history 5
2 Installation 6
2.1 Install the toolset 6
2.2 Distribution contents 7
3 Stream Programming 8
3.1 Stream programming model 9
3.2 Stream language extensions 9
4 Component API 12
4.1 Basics 12
4.2 Execution 17
4.3 Runtime reporting 22
4.4 Initialization files 23
5 Pipeline API 28
5.1 Streams 28
5.2 Stream functions 32
6 Kernel API 34
6.1 Kernels 34
6.2 DPU basic types 36
6.3 Scalar and vector variables 37
6.4 Arrays 37
6.5 Operators 38
6.6 Control flow constructs 39
6.7 Stream access functions 40
6.8 Intrinsic operations 42
6.9 __repeat__ 45
6.10 #pragma pipeline 45
6.11 #pragma local_array_size 46
7 Demo Application spm_demo 47
7.1 Testbench main 47
7.2 Data representation 48
7.3 Implementation alternatives 49
7.4 Buffer allocation 49
7.5 Streams 50
7.6 Kernels 52
7.7 File input component 54
7.8 File output component 59
7.9 Green screen removal component 60
7.10 Component main 61
8 Command line tools 65
8.1 Functional mode: Run on host 65
8.2 Simulate with spsim 66
8.3 Run on hardware 67
8.4 Run application on host or on DSP MIPS 71
8.5 Run application on hardware 71
8.6 Logs 72
8.7 Timers 73
8.8 Performance 74
9 Stream Program Development 75
9.1 Invoke spide 76
9.2 Create a project 78
9.3 Functional mode 84
9.4 Profile mode 90
9.5 Release mode 95
9.6 Complete application 96
9.7 Import a project 101
9.8 Use Makefile from command line 101
10 Performance optimization 103
10.1 Pipelines 104
10.2 Visualization 106
10.3 Components 108
10.4 Tables 109
10.5 Stream operations 113
10.6 Kernels 119
11 Glossary 123
12 Index 126