
- •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

5.3 Preliminaries |
83 |
|
75 |
|
|
|
|
|
|
|
|
70 |
|
|
saturation arithmetic |
|
|
|
|
|
|
|
|
standard arithmetic |
|
|
|
|
|
65 |
|
|
|
|
|
|
|
|
60 |
|
|
|
|
|
|
|
|
55 |
|
|
|
|
|
|
|
/ns |
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prop |
|
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
45 |
|
|
|
|
|
|
|
|
40 |
|
|
|
|
|
|
|
|
35 |
|
|
|
|
|
|
|
|
30 |
|
|
|
|
|
|
|
|
25 |
10 |
15 |
20 |
25 |
30 |
35 |
40 |
|
5 |
|||||||
|
|
|
|
input wordlength |
|
|
|
Fig. 5.3. Propagation delay across standard and saturation arithmetic constant coe cient multipliers implemented in Altera Flex10k70RC240-3
mentation, it is not necessary to use saturation arithmetic for all operators, so care must be taken to select the appropriate places and the appropriate degree of saturation to apply at those points. For systems with long impulse responses it may be possible, through judicious choice of saturator location and degree, to create a smaller implementation of the system using saturation arithmetic.
5.3 Preliminaries
The noise model for saturation arithmetic, presented in the following section, will involve the concepts of saturation nonlinearities, saturation systems and cross-correlations, which are defined below.
Definition 5.2. A saturation nonlinearity is a function of the form shown in (5.1). The parameter c > 0 is referred to as the cut-o of the saturation nonlinearity. (sgn(·) is the signum function, which has value -1 for negative argument, and +1 otherwise).
sc(x) = |
x, |
x ≤ c |
(5.1) |
|
c sgn(x), otherwise| | |
|