- •Contents
- •1 Introduction
- •1.1 Objectives
- •1.2 Overview
- •2 Background
- •2.1 Digital Design for DSP Engineers
- •2.1.2 The Field-Programmable Gate Array
- •2.1.3 Arithmetic on FPGAs
- •2.2 DSP for Digital Designers
- •2.3 Computation Graphs
- •2.4 The Multiple Word-Length Paradigm
- •2.5 Summary
- •3 Peak Value Estimation
- •3.1 Analytic Peak Estimation
- •3.1.1 Linear Time-Invariant Systems
- •3.1.2 Data-range Propagation
- •3.2 Simulation-based Peak Estimation
- •3.3 Hybrid Techniques
- •3.4 Summary
- •4 Word-Length Optimization
- •4.1 Error Estimation
- •4.1.1 Word-Length Propagation and Conditioning
- •4.1.2 Linear Time-Invariant Systems
- •4.1.3 Extending to Nonlinear Systems
- •4.2 Area Models
- •4.3.1 Convexity and Monotonicity
- •4.4 Optimization Strategy 1: Heuristic Search
- •4.5 Optimization Strategy 2: Optimum Solutions
- •4.5.1 Word-Length Bounds
- •4.5.2 Adders
- •4.5.3 Forks
- •4.5.4 Gains and Delays
- •4.5.5 MILP Summary
- •4.6 Some Results
- •4.6.1 Linear Time-Invariant Systems
- •4.6.2 Nonlinear Systems
- •4.6.3 Limit-cycles in Multiple Word-Length Implementations
- •4.7 Summary
- •5 Saturation Arithmetic
- •5.1 Overview
- •5.2 Saturation Arithmetic Overheads
- •5.3 Preliminaries
- •5.4 Noise Model
- •5.4.1 Conditioning an Annotated Computation Graph
- •5.4.2 The Saturated Gaussian Distribution
- •5.4.3 Addition of Saturated Gaussians
- •5.4.4 Error Propagation
- •5.4.5 Reducing Bound Slackness
- •5.4.6 Error estimation results
- •5.5 Combined Optimization
- •5.6 Results and Discussion
- •5.6.1 Area Results
- •5.6.2 Clock frequency results
- •5.7 Summary
- •6 Scheduling and Resource Binding
- •6.1 Overview
- •6.2 Motivation and Problem Formulation
- •6.3 Optimum Solutions
- •6.3.1 Resources, Instances and Control Steps
- •6.3.2 ILP Formulation
- •6.4 A Heuristic Approach
- •6.4.1 Overview
- •6.4.2 Word-Length Compatibility Graph
- •6.4.3 Resource Bounds
- •6.4.4 Latency Bounds
- •6.4.5 Scheduling with Incomplete Word-Length Information
- •6.4.6 Combined Binding and Word-Length Selection
- •6.5 Some Results
- •6.6 Summary
- •7 Conclusion
- •7.1 Summary
- •7.2 Future Work
- •A.1 Sets and functions
- •A.2 Vectors and Matrices
- •A.3 Graphs
- •A.4 Miscellaneous
- •A.5 Pseudo-Code
- •References
- •Index
Index
L2-norm, 361-norm, 211-scaling, 21 z transform, 8
Algorithm ALAP, 118 Algorithm ArchSynth, 121 Algorithm ASAP, 118 Algorithm ChvatalHeur, 133 Algorithm IncompSched, 129 Algorithm LatencyBounds, 125 Algorithm Levy–Low, 19 Algorithm ResBindWLSel, 135
Algorithm Scale Non-Recurse, 16 Algorithm ScaleCondition, 85 Algorithm SSet, 132
Algorithm WLCondition, 32 Algorithm WLRefine, 138 Algorithm Word-LengthFalling, 52 AlgorithmCombinedOptHeur, 102 AlgorithmSlackReduce, 97 analytic peak estimation, 15 annotated computation graph, 13 architectural synthesis, 111
area models, 42
as-late-as-possible (ALAP) scheduling, 118
as-soon-as-possible (ASAP) scheduling, 118
bound critical path, 137
Cauchy-Schwartz inequality, 94 Chvatal’s heuristic, 133
computable computation graphs, 12 computation graph, 9, 10 conditioning, 29
conditioning: saturating systems, 85 convexity of constraint space, 45 convolution, 9
critical path, 137 cross-correlation function, 84
data range propagation, 22 di erentiable nonlinear systems, 38
error estimation, 27
feasible clique, 133 Field-Programmable Gate Array, 6 FPGA, 6
heuristic for word-length optimization, 51
high-level synthesis, 111
inclusion monotonic interval extension, 23
interval extension, 23
Levy-Low algorithm, 19 limit cycles, 75 linearization, 39
maximal clique, 132 maximum clique, 132
MILP-based word-length optimization, 53
monotonicity of constraint space, 45
164 Index
multiple word-length, 12
multiple word-length architectural synthesis, problem definition, 114
noise model: linear time-invariant systems, 32
nonlinear systems, 38
optimum word-length, 53
peak value estimation, 15 perturbation analysis, 38 propagation of wordlengths, 29
resource binding, 111
saturated Gaussian distribution, 85 saturation arithmetic, 79 saturation computation graph, 84 saturation nonlinearity, 83
saturation system, 84 saturator, 81 scheduling, 111
scheduling with incomplete information, 127
second-order section, 20 sequencing graph, 113
set covering, problem definition, 133 signum function, 21
slackness, of saturation error bound, 94 spectral bounds on noise, 36
transfer function calculation, 16
well-conditioned computation graph, 32 well-connected computation graph, 12 word-length compatibility graph, 122 word-length optimization, 27 word-length optimization, definition of,
45