Fixed-Point Trigonometric Functions on FPGAs
|
|
- Kenneth McKinney
- 5 years ago
- Views:
Transcription
1 Fixed-Point Trigonometric Functions on FPGAs Florent de Dinechin Matei Iştoan Guillaume Sergent LIP, Université de Lyon (CNRS/ENS-Lyon/INRIA/UCBL) 46, allée d Italie, Lyon Cedex 07 June 14th, 2013 de Dinechin, Iştoan, Sergent (ENS Lyon) Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
2 Outline Outline 1 Introduction 2 Methods for Computing Sine and Cosine 2.1 CORDIC Method 2.2 Table- and DSP-based method 2.3 Polynomial Evaluator-based method 3 Results and Conclusions de Dinechin, Iştoan, Sergent (ENS Lyon) Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
3 Introduction Outline 1 Introduction 2 Methods for Computing Sine and Cosine 2.1 CORDIC Method 2.2 Table- and DSP-based method 2.3 Polynomial Evaluator-based method 3 Results and Conclusions de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
4 Introduction Introduction Why compute the trigonometric functions sine and cosine? fundamental in signal processing and signal processing applications like FFT, modulation/demodulation, frequency synthesizers,... How to compute them? In this work: 1 the classical CORDIC algorithm, based on additions and shifts 2 a method based on tables and multipliers, suited for modern FPGAs 3 a generic polynomial approximation Which is best on FPGAs? What is the cost of w bits of sine and cosine? de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
5 Introduction Which method is best on FPGAs? A fair comparison of methods computing sine and cosine: same specification (the best possible one) Fixed-point inputs and outputs compute sin(πx) and cos(πx) for x [ 1, 1) Faithful rounding: all the produced bits are useful, no wasted resources same effort (the best possible one) open-source implementations in FloPoCo state-of-the-art? Computing just one, or both? some applications need both sine and cosine (e.g. rotation) some methods compute both de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
6 Introduction Textbook Stuff Decomposition of the exponential in two exponentials e i(a+b) = e ia e ib From complex to real e iϕ = cos(ϕ) + i sin(ϕ) Decompose a rotation in smaller sub-rotations { sin(a + b) = sin(a) cos(b) + cos(a) sin(b) cos(a + b) = cos(a) cos(b) sin(a) sin(b) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
7 Introduction Argument Reduction based on the 3 MSBs of the input angle x s - sign q - quadrant o - octant remaining argument y [0, 1/4) { 1 y = 4 y if o = 1 y otherwise. compute cos(πy ) and sin(πy ) reconstruction: sqo { Reconstruction sin(πx) = sin(πy ) cos(πx) = cos(πy ) { sin(πx) = cos(πy ) cos(πx) = sin(πy ) { sin(πx) = cos(πy ) cos(πx) = sin(πy ) { sin(πx) = sin(πy ) cos(πx) = cos(πy ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
8 Outline 1 Introduction 2 Methods for Computing Sine and Cosine 2.1 CORDIC Method 2.2 Table- and DSP-based method 2.3 Polynomial Evaluator-based method 3 Results and Conclusions de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
9 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) s i s Pseudo-rotation d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 s' i+1 s i+1 α i i+1 α c i Rotation c i+1 c' i+1 c de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
10 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
11 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
12 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
13 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
14 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
15 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
16 CORDIC Method CORDIC Method Description compute sine and cosine using a decomposition of the input angle use only additions and shifts as operations The classical CORDIC iteration 1 c 0 = Π n i=1 1+2 i s 0 = 0 α 0 = y (the reduced argument) s i s Pseudo-rotation d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 s' i+1 s i+1 α i i+1 α c i Rotation c i+1 c' i+1 c de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
17 CORDIC Method CORDIC Architecture c 0 s 0 >>0 >>0 d 0 c 0 = 1 s 0 = Π n 1+2 i=1 0 α 0 = y (the reduced argument) d i = +1 if α i > 0, otherwise 1 c i+1 = c i 2 i d i s i s i+1 = s i + 2 i d i c i α i+1 = α i d i arctan(2 i ) c n inf = cos(y) s n inf = sin(y) α n inf = 0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 c n 1 s n 1 >>n 1 >>n 1 d 1 d 2 d n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
18 CORDIC Method CORDIC Improvements c 0 s 0 z 0 d 0 >>0 >>0 α 0 Reduced α-datapath α i < 2 i decrement the α-datapath by 1 bit per iteration benefits saves space saves latency c 1 s 1 z 1 d 1 >>1 >>1 α 1 c 2 s 2 z 2 d 2 >>2 >>2 α 2 c n 1 s n 1 z n 1 >>n 1 >>n 1 d n 1 α n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
19 CORDIC Method CORDIC Improvements Reduced Iterations stop iterations when they can be replaced by a single rotation, with enough accuracy { sin(α) α cos(α) 1 half the iterations replaced by { xi+1 = x i + α y i y i+1 = y i α x i c 0 s 0 >>0 >>0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 d 1 d 2 d 0 only 2 multiplications are needed 2 DSPs for input up to 32 bits truncated multiplications for larger sizes c n 1 >>n 1 >>n 1 s n 1 d n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
20 CORDIC Method CORDIC Improvements Reduced Iterations stop iterations when they can be replaced by a single rotation, with enough accuracy { sin(α) α cos(α) 1 half the iterations replaced by { xi+1 = x i + α y i y i+1 = y i α x i c 0 s 0 >>0 >>0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 d 0 d 1 d 2 only 2 multiplications are needed 2 DSPs for input up to 32 bits truncated multiplications for larger sizes c n/2+1 s n/2+1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
21 CORDIC Method Error Analysis Goal: last-bit accuracy of the result the result is within 1ulp of the mathematical result ulp = weight of least significant bit Intermediate precision approximations and roundings computations on w+g bits internally guard bits g Error budget: total of 1ulp ulp for the final rounding error ulp for the method error 1 4ulp for the rounding errors c 0 s 0 c n 1 >>0 >>0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 >>n 1 >>n 1 s n 1 d 0 d 1 d 2 d n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
22 CORDIC Method CORDIC Error Analysis (1) c 0 s 0 >>0 >>0 d 0 Analysis: method error (ε method ) ε method of the order of the value of α final α final can be bounded numerically number of iterations: smallest number for which ε method < 2 w 2 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 d 1 d 2 c n 1 >>n 1 >>n 1 s n 1 d n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
23 CORDIC Method CORDIC Error Analysis (2) Analysis: rounding errors (ε round ) on the α datapath correct rounding of arctan(2 i ) error bounded by 2 w g 1 total error on the α-datapath: nb iter 2 w g 1 on the sin() and cos() datapath for each shift operation, error bounded by 2 w g total error larger than on the α-datapath must be smaller than 2 w 2 : ε 2 w g < 2 w 2 this gives g ε method + ε round < 2 w 1 Final rounding of sin and cos has error of the order 2 w 1 c 0 s 0 c n 1 >>0 >>0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 >>n 1 >>n 1 s n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22 d 1 d 2 d 0 d n 1
24 CORDIC Method CORDIC Error Analysis (2) Analysis: rounding errors (ε round ) on the α datapath correct rounding of arctan(2 i ) error bounded by 2 w g 1 total error on the α-datapath: nb iter 2 w g 1 on the sin() and cos() datapath for each shift operation, error bounded by 2 w g total error larger than on the α-datapath must be smaller than 2 w 2 : ε 2 w g < 2 w 2 this gives g ε method + ε round < 2 w 1 Final rounding of sin and cos has error of the order 2 w 1 c 0 s 0 c n 1 >>0 >>0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 >>n 1 >>n 1 s n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22 d 1 d 2 d 0 d n 1
25 CORDIC Method CORDIC Error Analysis (2) Analysis: rounding errors (ε round ) on the α datapath correct rounding of arctan(2 i ) error bounded by 2 w g 1 total error on the α-datapath: nb iter 2 w g 1 on the sin() and cos() datapath for each shift operation, error bounded by 2 w g total error larger than on the α-datapath must be smaller than 2 w 2 : ε 2 w g < 2 w 2 this gives g ε method + ε round < 2 w 1 Final rounding of sin and cos has error of the order 2 w 1 c 0 s 0 c n 1 >>0 >>0 c 1 s 1 >>1 >>1 c 2 s 2 >>2 >>2 >>n 1 >>n 1 s n 1 x n y n z n de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22 d 1 d 2 d 0 d n 1
26 Table- and DSP-based method Table- and DSP-based method Algorithm angle split: y (the reduced angle) = t + y red t on a bits y red such that y red < 2 (a+2) store sin(πt) and cos(πt) in tables evaluate sin(πy red ) and cos(πy red ) using a Taylor polynomial approximation need to compute first z = y red π sin(z) z z 3 /6 cos(z) 1 z 2 /2 reconstruct the values of sin(πy) and cos(πy) using { sin(π(t + yred )) = sin(πt) cos(πy red ) + cos(πt) sin(πy red ) cos(π(t + y red )) = cos(πt) cos(πy red ) sin(πt) sin(πy red ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
27 Table- and DSP-based method Table- and DSP-based method Algorithm angle split: y (the reduced angle) = t + y red t on a bits y red such that y red < 2 (a+2) store sin(πt) and cos(πt) in tables evaluate sin(πy red ) and cos(πy red ) using a Taylor polynomial approximation need to compute first z = y red π sin(z) z z 3 /6 cos(z) 1 z 2 /2 reconstruct the values of sin(πy) and cos(πy) using { sin(π(t + yred )) = sin(πt) cos(πy red ) + cos(πt) sin(πy red ) cos(π(t + y red )) = cos(πt) cos(πy red ) sin(πt) sin(πy red ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
28 Table- and DSP-based method Table- and DSP-based method Algorithm angle split: y (the reduced angle) = t + y red t on a bits y red such that y red < 2 (a+2) store sin(πt) and cos(πt) in tables evaluate sin(πy red ) and cos(πy red ) using a Taylor polynomial approximation need to compute first z = y red π sin(z) z z 3 /6 cos(z) 1 z 2 /2 reconstruct the values of sin(πy) and cos(πy) using { sin(π(t + yred )) = sin(πt) cos(πy red ) + cos(πt) sin(πy red ) cos(π(t + y red )) = cos(πt) cos(πy red ) sin(πt) sin(πy red ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
29 Table- and DSP-based method Table- and DSP-based method Algorithm angle split: y (the reduced angle) = t + y red t on a bits y red such that y red < 2 (a+2) store sin(πt) and cos(πt) in tables evaluate sin(πy red ) and cos(πy red ) using a Taylor polynomial approximation need to compute first z = y red π sin(z) z z 3 /6 cos(z) 1 z 2 /2 reconstruct the values of sin(πy) and cos(πy) using { sin(π(t + yred )) = sin(πt) cos(πy red ) + cos(πt) sin(πy red ) cos(π(t + y red )) = cos(πt) cos(πy red ) sin(πt) sin(πy red ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
30 Table- and DSP-based method Table- and DSP-based method Algorithm angle split: y (the reduced angle) = t + y red t on a bits y red such that y red < 2 (a+2) store sin(πt) and cos(πt) in tables evaluate sin(πy red ) and cos(πy red ) using a Taylor polynomial approximation need to compute first z = y red π sin(z) z z 3 /6 cos(z) 1 z 2 /2 reconstruct the values of sin(πy) and cos(πy) using { sin(π(t + yred )) = sin(πt) cos(πy red ) + cos(πt) sin(πy red ) cos(π(t + y red )) = cos(πt) cos(πy red ) sin(πt) sin(πy red ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
31 Table- and DSP-based method Table- and DSP-based method Algorithm angle split: y (the reduced angle) = t + y red t on a bits y red such that y red < 2 (a+2) store sin(πt) and cos(πt) in tables evaluate sin(πy red ) and cos(πy red ) using a Taylor polynomial approximation need to compute first z = y red π sin(z) z z 3 /6 cos(z) 1 z 2 /2 reconstruct the values of sin(πy) and cos(πy) using { sin(π(t + yred )) = sin(πt) cos(πy red ) + cos(πt) sin(πy red ) cos(π(t + y red )) = cos(πt) cos(πy red ) sin(πt) sin(πy red ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
32 Table- and DSP-based method Table- and DSP-based method: Details approximating y = 1 4 y red as y red choose a such that z w g so that a degree-3 Taylor polynomial may be used means that 4(a + 2) 2 w + g truncated multiplications T Z T constant multiplication by π z 2 /2 computed using a squarer z 3 /6 read from a table for small precisions computed with a dedicated architecture for larger precisions (based on a bit heap and divider by 3, see paper) T T T T T T de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
33 Table- and DSP-based method Table- and DSP-based method: Error Analysis Error Analysis 1 2ulp lost per table 1ulp per truncation and truncated multiplier/squarer T Z T 1ulp for computing 1 4 y red (as y red ) T T T T T T total of 15ulp, independent of the input width gives g=4 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
34 Polynomial Evaluator-based method Polynomial-based method using existing software (more details in the reference) based on polynomial approximation computes only one of the functions, depending on an input i A D Coef. ROM a n a n 1 a 0 y trunc. mult. + trunc. mult. + round de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22 R ỹ 1 ỹ 2 T T y
35 Results and Conclusions Outline 1 Introduction 2 Methods for Computing Sine and Cosine 2.1 CORDIC Method 2.2 Table- and DSP-based method 2.3 Polynomial Evaluator-based method 3 Results and Conclusions de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
36 Results and Conclusions Results 16 bit Precision Approach latency frequency Reg. + LUTs BRAM DSP CORDIC CORDIC CORDIC CORDIC Red. CORDIC Red. CORDIC Red. CORDIC Red. CORDIC SinAndCos SinAndCos SinOrCos (d=2) SinOrCos (d=2) Synthesis Results on Virtex5 FPGA, Using ISE 12.1 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
37 Results and Conclusions Results 16 bit Precision Approach latency frequency Reg. + LUTs BRAM DSP CORDIC CORDIC CORDIC CORDIC Red. CORDIC Red. CORDIC Red. CORDIC Red. CORDIC SinAndCos SinAndCos SinOrCos (d=2) SinOrCos (d=2) Synthesis Results on Virtex5 FPGA, Using ISE 12.1 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
38 Results and Conclusions Results 16 bit Precision Approach latency frequency Reg. + LUTs BRAM DSP CORDIC CORDIC CORDIC CORDIC Red. CORDIC Red. CORDIC Red. CORDIC Red. CORDIC SinAndCos SinAndCos SinOrCos (d=2) SinOrCos (d=2) Synthesis Results on Virtex5 FPGA, Using ISE 12.1 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
39 Results and Conclusions Results 16 bit Precision Approach latency frequency Reg. + LUTs BRAM DSP CORDIC CORDIC CORDIC CORDIC Red. CORDIC Red. CORDIC Red. CORDIC Red. CORDIC SinAndCos SinAndCos SinOrCos (d=2) SinOrCos (d=2) Synthesis Results on Virtex5 FPGA, Using ISE 12.1 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
40 Results and Conclusions Results 16 bit Precision Approach latency frequency Reg. + LUTs BRAM DSP CORDIC CORDIC CORDIC CORDIC Red. CORDIC Red. CORDIC Red. CORDIC Red. CORDIC SinAndCos SinAndCos SinOrCos (d=2) SinOrCos (d=2) Synthesis Results on Virtex5 FPGA, Using ISE 12.1 de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
41 Results and Conclusions Results Highest Frequency Approach latency frequency Reg. + LUTs BRAM DSP precision = 16 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=2) precision = 24 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=2) precision = 32 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=3) precision = 40 bits CORDIC Red. CORDIC SinAndCos (bit heap) SinAndCos (table z 3 /6) SinOrCos (d=3) precision = 48 bits SinAndCos (bit heap) SinOrCos de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
42 Results and Conclusions Results Highest Frequency Approach latency frequency Reg. + LUTs BRAM DSP precision = 16 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=2) precision = 24 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=2) precision = 32 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=3) precision = 40 bits CORDIC Red. CORDIC SinAndCos (bit heap) SinAndCos (table z 3 /6) SinOrCos (d=3) precision = 48 bits SinAndCos (bit heap) SinOrCos de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
43 Results and Conclusions Results Highest Frequency Approach latency frequency Reg. + LUTs BRAM DSP precision = 16 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=2) precision = 24 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=2) precision = 32 bits CORDIC Red. CORDIC SinAndCos SinOrCos (d=3) precision = 40 bits CORDIC Red. CORDIC SinAndCos (bit heap) SinAndCos (table z 3 /6) SinOrCos (d=3) precision = 48 bits SinAndCos (bit heap) SinOrCos de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
44 Results and Conclusions Results Options for Z 3 6 Approach latency frequency Reg. + LUTs BRAM DSP precision = 40 bits CORDIC CORDIC Red. CORDIC Red. CORDIC SinAndCos (bit heap) SinAndCos (table z 3 /6) SinAndCos (bit heap) SinAndCos (table z 3 /6) SinOrCos (d=3) SinOrCos (d=3) precision = 48 bits SinAndCos (bit heap) SinAndCos (bit heap) SinOrCos SinOrCos de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
45 Results and Conclusions Results Options for Z 3 6 Approach latency frequency Reg. + LUTs BRAM DSP precision = 40 bits CORDIC CORDIC Red. CORDIC Red. CORDIC SinAndCos (bit heap) SinAndCos (table z 3 /6) SinAndCos (bit heap) SinAndCos (table z 3 /6) SinOrCos (d=3) SinOrCos (d=3) precision = 48 bits SinAndCos (bit heap) SinAndCos (bit heap) SinOrCos SinOrCos de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
46 Results and Conclusions Results Options for Z 3 6 Approach latency frequency Reg. + LUTs BRAM DSP precision = 40 bits CORDIC CORDIC Red. CORDIC Red. CORDIC SinAndCos (bit heap) SinAndCos (table z 3 /6) SinAndCos (bit heap) SinAndCos (table z 3 /6) SinOrCos (d=3) SinOrCos (d=3) precision = 48 bits SinAndCos (bit heap) SinAndCos (bit heap) SinOrCos SinOrCos de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
47 Results and Conclusions Conclusions A wide range of open-source accurate implementations In terms of performance, CORDIC implementation on par with vendor-provided solutions some tuning still needed in FloPoCo to get better performance on DSP-based methods SinAndCos method slightly better than polynomial evaluator-based method Little point in using CORDIC for FPGAs? Approach latency area CORDIC 16 bits 30.3 ns 1034 LUTs SinAndCos 16 bits 15.0 ns 1211 LUTs CORDIC 24 bits 44.6 ns 2079 LUTs SinAndCos 24 bits 17.0 ns 2183 LUTs CORDIC 32 bits 62.1 ns 3513 LUTs SinAndCos 32 bits 19.4 ns 3539 LUTs Synthesis results for logic-only implementations What is the cost of computing w bits of sine/cosine? de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
48 Results and Conclusions Questions? FloPoCo Thank you for your attention! Questions? de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, / 22
49 Results and Conclusions Hidden Frame Hidden Frame de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
50 Results and Conclusions Format Input Fixed-Point modulo 2π periodicity of the trigonometric functions periodicity of the fixed point representation Input in x [ 1, 1) compute sin(πx) and cos(πx) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
51 Results and Conclusions Format Output Fixed-Point Scaled output fixed-point range not symmetric: -1 representable but not 1 largest value representable 1 2 w, smallest value 1 scale factor 1 2 w compute sin(πx) (1 2 w ) and cos(πx) (1 2 w ) no penalty paid for the (1 2 w ) scaling factor Faithful rounding the returned result produces an error that is less than 1ulp all the produced bits are useful, no wasted resources de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
52 Results and Conclusions Method Description analyzing the terms: Z 3 Z 3 = w 1 2 3i zi 3 + i=0 sin(z) Z Z 3 /6 0 i<j w 1 taking advantage of Boolean properties zi k = z i 2 2 w a = 2 w+1 a after division by i+2j z i z 2 j + 0 i<j<k w i+j+k z i z j z k Z Z 3 /6 = w 1 i=0 2i z i 1/3 i max i=i min 2 3i 1 z i i min i<j i max 2 i+2j 1 z i z j i min i<j<k i max 2 i+j+k z i z j z k w=16 bits de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
53 Results and Conclusions Format Input Fixed-Point Input, Fixed-Point Output modulo 2π periodicity of the trigonometric functions periodicity of the fixed point representation Input in x [ 1, 1) compute sin(πx) and cos(πx) Scaled output fixed-point range not symmetric: -1 representable but not 1 compute sin(πx) (1 2 w ) and cos(πx) (1 2 w ) de Dinechin, Iştoan, Sergent Fixed-Point Trigonometric Functions on FPGAs June 14th, 2013
Table-Based Polynomials for Fast Hardware Function Evaluation
ASAP 05 Table-Based Polynomials for Fast Hardware Function Evaluation Jérémie Detrey Florent de Dinechin Projet Arénaire LIP UMR CNRS ENS Lyon UCB Lyon INRIA 5668 http://www.ens-lyon.fr/lip/arenaire/ CENTRE
More informationSecond Order Function Approximation Using a Single Multiplication on FPGAs
FPL 04 Second Order Function Approximation Using a Single Multiplication on FPGAs Jérémie Detrey Florent de Dinechin Projet Arénaire LIP UMR CNRS ENS Lyon UCB Lyon INRIA 5668 http://www.ens-lyon.fr/lip/arenaire/
More informationHardware Operator for Simultaneous Sine and Cosine Evaluation
Hardware Operator for Simultaneous Sine and Cosine Evaluation Arnaud Tisserand To cite this version: Arnaud Tisserand. Hardware Operator for Simultaneous Sine and Cosine Evaluation. ICASSP 6: International
More informationAutomatic generation of polynomial-based hardware architectures for function evaluation
Automatic generation of polynomial-based hardware architectures for function evaluation Florent De Dinechin, Mioara Joldes, Bogdan Pasca To cite this version: Florent De Dinechin, Mioara Joldes, Bogdan
More informationHardware implementations of fixed-point Atan2
Hardware implementations of fixed-point Atan2 Florent De Dinechin, Matei Istoan To cite this version: Florent De Dinechin, Matei Istoan. Hardware implementations of fixed-point Atan2. 22nd IEEE Symposium
More informationTable-based polynomials for fast hardware function evaluation
Table-based polynomials for fast hardware function evaluation Jérémie Detrey, Florent de Dinechin LIP, École Normale Supérieure de Lyon 46 allée d Italie 69364 Lyon cedex 07, France E-mail: {Jeremie.Detrey,
More informationUsing the CORDIC Algorithm for Fast Trigonometric Operations in Hardware
Using the CORDIC Algorithm for Fast Trigonometric Operations in Hardware GIRD Systems Internal Seminar November 25, 2009 What is the CORDIC algorithm? COordinate Rotation DIgital Computer Fast way to compute:
More informationKaratsuba with Rectangular Multipliers for FPGAs
Karatsuba with Rectangular Multipliers for FPGAs Martin Kumm, Oscar Gustafsson, Florent De Dinechin, Johannes Kappauf, Peter Zipf To cite this version: Martin Kumm, Oscar Gustafsson, Florent De Dinechin,
More informationSpherical trigonometry
Spherical trigonometry 1 The spherical Pythagorean theorem Proposition 1.1 On a sphere of radius, any right triangle AC with C being the right angle satisfies cos(c/) = cos(a/) cos(b/). (1) Proof: Let
More informationCORDIC, Divider, Square Root
4// EE6B: VLSI Signal Processing CORDIC, Divider, Square Root Prof. Dejan Marković ee6b@gmail.com Iterative algorithms CORDIC Division Square root Lecture Overview Topics covered include Algorithms and
More informationMAT137 - Term 2, Week 5
MAT137 - Term 2, Week 5 Test 3 is tomorrow, February 3, at 4pm. See the course website for details. Today we will: Talk more about integration by parts. Talk about integrating certain combinations of trig
More informationOptimized Linear, Quadratic and Cubic Interpolators for Elementary Function Hardware Implementations
electronics Article Optimized Linear, Quadratic and Cubic Interpolators for Elementary Function Hardware Implementations Masoud Sadeghian 1,, James E. Stine 1, *, and E. George Walters III 2, 1 Oklahoma
More informationRational Trigonometry. Rational Trigonometry
There are an infinite number of points on the unit circle whose coordinates are each rational numbers. Indeed every Pythagorean triple gives one! 3 65 64 65 7 5 4 5 03 445 396 445 3 4 5 5 75 373 5 373
More informationTopic 4 Notes Jeremy Orloff
Topic 4 Notes Jeremy Orloff 4 Complex numbers and exponentials 4.1 Goals 1. Do arithmetic with complex numbers.. Define and compute: magnitude, argument and complex conjugate of a complex number. 3. Euler
More informationA HIGH-SPEED PROCESSOR FOR RECTANGULAR-TO-POLAR CONVERSION WITH APPLICATIONS IN DIGITAL COMMUNICATIONS *
Copyright IEEE 999: Published in the Proceedings of Globecom 999, Rio de Janeiro, Dec 5-9, 999 A HIGH-SPEED PROCESSOR FOR RECTAGULAR-TO-POLAR COVERSIO WITH APPLICATIOS I DIGITAL COMMUICATIOS * Dengwei
More informationComplex Logarithmic Number System Arithmetic Using High-Radix Redundant CORDIC Algorithms
Complex Logarithmic Number System Arithmetic Using High-Radix Redundant CORDIC Algorithms David Lewis Department of Electrical and Computer Engineering, University of Toronto Toronto, Ontario, Canada M5S
More informationTrig Identities, Solving Trig Equations Answer Section
Trig Identities, Solving Trig Equations Answer Section MULTIPLE CHOICE. ANS: B PTS: REF: Knowledge and Understanding OBJ: 7. - Compound Angle Formulas. ANS: A PTS: REF: Knowledge and Understanding OBJ:
More informationTable-based polynomials for fast hardware function evaluation
Laboratoire de l Informatique du Parallélisme École Normale Supérieure de Lyon Unité Mixte de Recherche CNRS-INRIA-ENS LYON-UCBL n o 5668 Table-based polynomials for fast hardware function evaluation Jérémie
More informationOn-Line Hardware Implementation for Complex Exponential and Logarithm
On-Line Hardware Implementation for Complex Exponential and Logarithm Ali SKAF, Jean-Michel MULLER * and Alain GUYOT Laboratoire TIMA / INPG - 46, Av. Félix Viallet, 3831 Grenoble Cedex * Laboratoire LIP
More informationLecture 3f Polar Form (pages )
Lecture 3f Polar Form (pages 399-402) In the previous lecture, we saw that we can visualize a complex number as a point in the complex plane. This turns out to be remarkable useful, but we need to think
More informationA 32-bit Decimal Floating-Point Logarithmic Converter
A 3-bit Decimal Floating-Point Logarithmic Converter Dongdong Chen 1, Yu Zhang 1, Younhee Choi 1, Moon Ho Lee, Seok-Bum Ko 1, Department of Electrical and Computer Engineering, University of Saskatchewan
More informationDesign and FPGA Implementation of Radix-10 Algorithm for Division with Limited Precision Primitives
Design and FPGA Implementation of Radix-10 Algorithm for Division with Limited Precision Primitives Miloš D. Ercegovac Computer Science Department Univ. of California at Los Angeles California Robert McIlhenny
More informationMathematical Methods: Fourier Series. Fourier Series: The Basics
1 Mathematical Methods: Fourier Series Fourier Series: The Basics Fourier series are a method of representing periodic functions. It is a very useful and powerful tool in many situations. It is sufficiently
More information8.3 The Complex Plane; De Moivre s Theorem
Objectives. Plot Points in the complex Plane. Convert a Complex Number Between Rectangular and Polar Form. Find Products and Quotients of Complex Numbers in Polar Form 4. Use De Moivre s Theorem 5. Find
More informationEfficient Polynomial Evaluation Algorithm and Implementation on FPGA
Efficient Polynomial Evaluation Algorithm and Implementation on FPGA by Simin Xu School of Computer Engineering A thesis submitted to Nanyang Technological University in partial fullfillment of the requirements
More informationABHELSINKI UNIVERSITY OF TECHNOLOGY
On Repeated Squarings in Binary Fields Kimmo Järvinen Helsinki University of Technology August 14, 2009 K. Järvinen On Repeated Squarings in Binary Fields 1/1 Introduction Repeated squaring Repeated squaring:
More informationMath 1060 Midterm 2 Review Dugopolski Trigonometry Edition 3, Chapter 3 and 4
Math 1060 Midterm Review Dugopolski Trigonometry Edition, Chapter and.1 Use identities to find the exact value of the function for the given value. 1) sin α = and α is in quadrant II; Find tan α. Simplify
More informationEfficient random number generation on FPGA-s
Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 1. pp. 313 320 doi: 10.14794/ICAI.9.2014.1.313 Efficient random number generation
More informationNumeration and Computer Arithmetic Some Examples
Numeration and Computer Arithmetic 1/31 Numeration and Computer Arithmetic Some Examples JC Bajard LIRMM, CNRS UM2 161 rue Ada, 34392 Montpellier cedex 5, France April 27 Numeration and Computer Arithmetic
More informationCOMPLEX NUMBERS AND DIFFERENTIAL EQUATIONS
COMPLEX NUMBERS AND DIFFERENTIAL EQUATIONS BORIS HASSELBLATT CONTENTS. Introduction. Why complex numbers were first introduced (digression) 3. Complex numbers, Euler s formula 3 4. Homogeneous differential
More informationChapter 7: Techniques of Integration
Chapter 7: Techniques of Integration MATH 206-01: Calculus II Department of Mathematics University of Louisville last corrected September 14, 2013 1 / 43 Chapter 7: Techniques of Integration 7.1. Integration
More informationC3 Exam Workshop 2. Workbook. 1. (a) Express 7 cos x 24 sin x in the form R cos (x + α) where R > 0 and 0 < α < 2
C3 Exam Workshop 2 Workbook 1. (a) Express 7 cos x 24 sin x in the form R cos (x + α) where R > 0 and 0 < α < 2 π. Give the value of α to 3 decimal places. (b) Hence write down the minimum value of 7 cos
More informationAccelerated Shift-and-Add algorithms
c,, 1 12 () Kluwer Academic Publishers, Boston. Manufactured in The Netherlands. Accelerated Shift-and-Add algorithms N. REVOL AND J.-C. YAKOUBSOHN nathalie.revol@univ-lille1.fr, yak@cict.fr Lab. ANO,
More informationFast FPGA Placement Based on Quantum Model
Fast FPGA Placement Based on Quantum Model Lingli Wang School of Microelectronics Fudan University, Shanghai, China Email: llwang@fudan.edu.cn 1 Outline Background & Motivation VPR placement Quantum Model
More informationPRE-CALCULUS TRIG APPLICATIONS UNIT Simplifying Trigonometric Expressions
What is an Identity? PRE-CALCULUS TRIG APPLICATIONS UNIT Simplifying Trigonometric Expressions What is it used for? The Reciprocal Identities: sin θ = cos θ = tan θ = csc θ = sec θ = ctn θ = The Quotient
More informationIntroduction to Complex Mathematics
EEL335: Discrete-Time Signals and Systems. Introduction In our analysis of discrete-time signals and systems, complex numbers will play an incredibly important role; virtually everything we do from here
More information1 The six trigonometric functions
Spring 017 Nikos Apostolakis 1 The six trigonometric functions Given a right triangle, once we select one of its acute angles, we can describe the sides as O (opposite of ), A (adjacent to ), and H ().
More informationUnit 6 Trigonometric Identities Prove trigonometric identities Solve trigonometric equations
Unit 6 Trigonometric Identities Prove trigonometric identities Solve trigonometric equations Prove trigonometric identities, using: Reciprocal identities Quotient identities Pythagorean identities Sum
More informationImplementation Of Digital Fir Filter Using Improved Table Look Up Scheme For Residue Number System
Implementation Of Digital Fir Filter Using Improved Table Look Up Scheme For Residue Number System G.Suresh, G.Indira Devi, P.Pavankumar Abstract The use of the improved table look up Residue Number System
More informationComplex Numbers. Integers, Rationals, and Reals. The natural numbers: The integers:
Complex Numbers Integers, Rationals, and Reals The natural numbers: N {... 3, 2,, 0,, 2, 3...} The integers: Z {... 3, 2,, 0,, 2, 3...} Note that any two integers added, subtracted, or multiplied together
More informationMath 104 Midterm 3 review November 12, 2018
Math 04 Midterm review November, 08 If you want to review in the textbook, here are the relevant sections: 4., 4., 4., 4.4, 4..,.,. 6., 6., 6., 6.4 7., 7., 7., 7.4. Consider a right triangle with base
More informationA Deep Convolutional Neural Network Based on Nested Residue Number System
A Deep Convolutional Neural Network Based on Nested Residue Number System Hiroki Nakahara Tsutomu Sasao Ehime University, Japan Meiji University, Japan Outline Background Deep convolutional neural network
More informationAutomated design of floating-point logarithm functions on integer processors
23rd IEEE Symposium on Computer Arithmetic Santa Clara, CA, USA, 10-13 July 2016 Automated design of floating-point logarithm functions on integer processors Guillaume Revy (presented by Florent de Dinechin)
More informationWaves, the Wave Equation, and Phase Velocity. We ll start with optics. The one-dimensional wave equation. What is a wave? Optional optics texts: f(x)
We ll start with optics Optional optics texts: Waves, the Wave Equation, and Phase Velocity What is a wave? f(x) f(x-) f(x-) f(x-3) Eugene Hecht, Optics, 4th ed. J.F. James, A Student's Guide to Fourier
More informationLow-Cost and Area-Efficient FPGA Implementations of Lattice-Based Cryptography
Low-Cost and Area-Efficient FPGA Implementations of Lattice-Based Cryptography Aydin Aysu, Cameron Patterson and Patrick Schaumont Electrical and Computer Engineering Department Virginia Tech Blacksburg,
More informationSine * * This file is from the 3D-XplorMath project. Please see:
Sine * The demo in 3D-XplorMath illustrates: If a unit circle in the plane is traversed with constant velocity then it is parametrized with the so-called trigonometric or circular functions, c(t) = (cos
More informationExercise Set 6.2: Double-Angle and Half-Angle Formulas
Exercise Set : Double-Angle and Half-Angle Formulas Answer the following π 1 (a Evaluate sin π (b Evaluate π π (c Is sin = (d Graph f ( x = sin ( x and g ( x = sin ( x on the same set of axes (e Is sin
More informationA Parallel Method for the Computation of Matrix Exponential based on Truncated Neumann Series
A Parallel Method for the Computation of Matrix Exponential based on Truncated Neumann Series V. S. Dimitrov 12, V. Ariyarathna 3, D. F. G. Coelho 1, L. Rakai 1, A. Madanayake 3, R. J. Cintra 4 1 ECE Department,
More informationChapter 1 Error Analysis
Chapter 1 Error Analysis Several sources of errors are important for numerical data processing: Experimental uncertainty: Input data from an experiment have a limited precision. Instead of the vector of
More informationElements of Floating-point Arithmetic
Elements of Floating-point Arithmetic Sanzheng Qiao Department of Computing and Software McMaster University July, 2012 Outline 1 Floating-point Numbers Representations IEEE Floating-point Standards Underflow
More informationPractice 14. imathesis.com By Carlos Sotuyo
Practice 4 imathesis.com By Carlos Sotuyo Suggested solutions for Miscellaneous exercises 0, problems 5-0, pages 53 to 55 from Pure Mathematics, by Hugh Neil and Douglas Quailing, Cambridge University
More informationSuggested Time Frame (Block) Review 1.1 Functions 1. Text Section. Section Name
Date Taught Objective Subsets of real numbers, evaluate functions and state Finding y-intercepts, zeros, & symmetry GADSDEN CITY CURRICULUM GUIDE ESSENTIAL CONTENT AND SKILLS ANALYTICAL MATHEMATICS Text
More informationTrigonometric Functions () 1 / 28
Trigonometric Functions () 1 / 28 Trigonometric Moel On a certain ay, ig tie at Pacific Beac was at minigt. Te water level at ig tie was 9.9 feet an later at te following low tie, te tie eigt was 0.1 ft.
More informationMathematics: Complex functions
Mathematics: Complex functions Marcel Leutenegger École Polytechnique Fédérale de Lausanne Laboratoire d Optique Biomédicale 1015 Lausanne, Switzerland January, 005 The efficient computation of transcendental
More information9. Datapath Design. Jacob Abraham. Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017
9. Datapath Design Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 2, 2017 ECE Department, University of Texas at Austin
More informationy 2 Well it is a cos graph with amplitude of 3 and only half a waveform between 0 and 2π because the cos argument is x /2: y =3cos π 2
Complete Solutions Eamination Questions Complete Solutions to Eamination Questions 4. (a) How do we sketch the graph of y 3? Well it is a graph with amplitude of 3 and only half a waveform between 0 and
More informationFormulas to remember
Complex numbers Let z = x + iy be a complex number The conjugate z = x iy Formulas to remember The real part Re(z) = x = z+z The imaginary part Im(z) = y = z z i The norm z = zz = x + y The reciprocal
More informationI.e., the range of f(x) = arctan(x) is all real numbers y such that π 2 < y < π 2
Inverse Trigonometric Functions: The inverse sine function, denoted by fx = arcsinx or fx = sin 1 x is defined by: y = sin 1 x if and only if siny = x and π y π I.e., the range of fx = arcsinx is all real
More informationIndiana Academic Standards for Precalculus
PRECALCULUS correlated to the Indiana Academic Standards for Precalculus CC2 6/2003 2004 Introduction to Precalculus 2004 by Roland E. Larson and Robert P. Hostetler Precalculus thoroughly explores topics
More informationWord-length Optimization and Error Analysis of a Multivariate Gaussian Random Number Generator
Word-length Optimization and Error Analysis of a Multivariate Gaussian Random Number Generator Chalermpol Saiprasert, Christos-Savvas Bouganis and George A. Constantinides Department of Electrical & Electronic
More informationsin cos 1 1 tan sec 1 cot csc Pre-Calculus Mathematics Trigonometric Identities and Equations
Pre-Calculus Mathematics 12 6.1 Trigonometric Identities and Equations Goal: 1. Identify the Fundamental Trigonometric Identities 2. Simplify a Trigonometric Expression 3. Determine the restrictions on
More informationMultivariate Gaussian Random Number Generator Targeting Specific Resource Utilization in an FPGA
Multivariate Gaussian Random Number Generator Targeting Specific Resource Utilization in an FPGA Chalermpol Saiprasert, Christos-Savvas Bouganis and George A. Constantinides Department of Electrical &
More informationElliptic Curve Group Core Specification. Author: Homer Hsing
Elliptic Curve Group Core Specification Author: Homer Hsing homer.hsing@gmail.com Rev. 0.1 March 4, 2012 This page has been intentionally left blank. www.opencores.org Rev 0.1 ii Revision History Rev.
More informationThe GigaFitter for Fast Track Fitting based on FPGA DSP Arrays
The GigaFitter for Fast Track Fitting based on FPGA DSP Arrays Pierluigi Catastini (Universita di Siena - INFN Pisa) For the SVT Collaboration SVT: A Success for CDF 35µm 33µm resol beam σ = 48µm SVT provides
More informationTopic 1 Notes Jeremy Orloff
Topic 1 Notes Jeremy Orloff 1 Complex algebra and the complex plane We will start with a review of the basic algebra and geometry of complex numbers. Most likely you have encountered this previously in
More informationOn the number of segments needed in a piecewise linear approximation
On the number of segments needed in a piecewise linear approximation Christopher L. Frenzen a, Tsutomu Sasao b and Jon T. Butler c. a Department of Applied Mathematics, Naval Postgraduate School, Monterey,
More informationEfficient Function Approximation Using Truncated Multipliers and Squarers
Efficient Function Approximation Using Truncated Multipliers and Squarers E. George Walters III Lehigh University Bethlehem, PA, USA waltersg@ieee.org Michael J. Schulte University of Wisconsin Madison
More informationLecture 11. Advanced Dividers
Lecture 11 Advanced Dividers Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 15 Variation in Dividers 15.3, Combinational and Array Dividers Chapter 16, Division
More informationOptimizing Scientific Libraries for the Itanium
0 Optimizing Scientific Libraries for the Itanium John Harrison Intel Corporation Gelato Federation Meeting, HP Cupertino May 25, 2005 1 Quick summary Intel supplies drop-in replacement versions of common
More informationcorrelated to the Indiana Academic Standards for Precalculus CC2
correlated to the Indiana Academic Standards for Precalculus CC2 6/2003 2003 Introduction to Advanced Mathematics 2003 by Richard G. Brown Advanced Mathematics offers comprehensive coverage of precalculus
More informationDomain decomposition for the Jacobi-Davidson method: practical strategies
Chapter 4 Domain decomposition for the Jacobi-Davidson method: practical strategies Abstract The Jacobi-Davidson method is an iterative method for the computation of solutions of large eigenvalue problems.
More informationA Learning Progression for Complex Numbers
A Learning Progression for Complex Numbers In mathematics curriculum development around the world, the opportunity for students to study complex numbers in secondary schools is decreasing. Given that the
More information1.3 Basic Trigonometric Functions
www.ck1.org Chapter 1. Right Triangles and an Introduction to Trigonometry 1. Basic Trigonometric Functions Learning Objectives Find the values of the six trigonometric functions for angles in right triangles.
More informationSolutions to the Homework Replaces Section 3.7, 3.8
Solutions to the Homework Replaces Section 3.7, 3.8 1. Our text (p. 198) states that µ ω 0 = ( 1 γ2 4km ) 1/2 1 1 2 γ 2 4km How was this approximation made? (Hint: Linearize 1 x) SOLUTION: We linearize
More informationMATHS S4 Credit Course CHECKLIST
St Ninian s High School MATHS S Credit Course CHECKLIST I understand this part of the course = I am unsure of this part of the course = I do not understand this part of the course = Name Class Teacher
More information(2) = 137 /13 (45 / dt)log(2) = log(137 /13) dt = 13.24
Correct answer: A 4 WYSE Academic Challenge Sectional Mathematics 008 Solution Set ( sin α + sinα cosα + cos α ) ( + sin( )) ( + ) (sinα + cosα ) α Correct answer: D If Xthe number of girls, then we want
More informationReduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs
Article Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs E. George Walters III Department of Electrical and Computer Engineering, Penn State Erie,
More informationMathematics of Imaging: Lecture 3
Mathematics of Imaging: Lecture 3 Linear Operators in Infinite Dimensions Consider the linear operator on the space of continuous functions defined on IR. J (f)(x) = x 0 f(s) ds Every function in the range
More informationt 2 + 2t dt = (t + 1) dt + 1 = arctan t x + 6 x(x 3)(x + 2) = A x +
MATH 06 0 Practice Exam #. (0 points) Evaluate the following integrals: (a) (0 points). t +t+7 This is an irreducible quadratic; its denominator can thus be rephrased via completion of the square as a
More informationTrigonometry - Part 1 (12 pages; 4/9/16) fmng.uk
Trigonometry - Part 1 (12 pages; 4/9/16) (1) Sin, cos & tan of 30, 60 & 45 sin30 = 1 2 ; sin60 = 3 2 cos30 = 3 2 ; cos60 = 1 2 cos45 = sin45 = 1 2 = 2 2 tan45 = 1 tan30 = 1 ; tan60 = 3 3 Graphs of y =
More informationThese items need to be included in the notebook. Follow the order listed.
* Use the provided sheets. * This notebook should be your best written work. Quality counts in this project. Proper notation and terminology is important. We will follow the order used in class. Anyone
More informationExercises involving elementary functions
017:11:0:16:4:09 c M. K. Warby MA3614 Complex variable methods and applications 1 Exercises involving elementary functions 1. This question was in the class test in 016/7 and was worth 5 marks. a) Let
More informationCOMPLEX NUMBERS AND SERIES
COMPLEX NUMBERS AND SERIES MIKE BOYLE Contents 1. Complex Numbers 1 2. The Complex Plane 2 3. Addition and Multiplication of Complex Numbers 2 4. Why Complex Numbers Were Invented 3 5. The Fundamental
More informationMATH 127 SAMPLE FINAL EXAM I II III TOTAL
MATH 17 SAMPLE FINAL EXAM Name: Section: Do not write on this page below this line Part I II III TOTAL Score Part I. Multiple choice answer exercises with exactly one correct answer. Each correct answer
More informationMATH 1040 Objectives List
MATH 1040 Objectives List Textbook: Calculus, Early Transcendentals, 7th edition, James Stewart Students should expect test questions that require synthesis of these objectives. Unit 1 WebAssign problems
More informationPart VI Function Evaluation
Part VI Function Evaluation Parts Chapters I. Number Representation 1. 2. 3. 4. Numbers and Arithmetic Representing Signed Numbers Redundant Number Systems Residue Number Systems Elementary Operations
More informationSome Trigonometric Limits
Some Trigonometric Limits Mathematics 11: Lecture 7 Dan Sloughter Furman University September 20, 2007 Dan Sloughter (Furman University) Some Trigonometric Limits September 20, 2007 1 / 14 The squeeze
More informationSOLVED PROBLEMS ON TAYLOR AND MACLAURIN SERIES
SOLVED PROBLEMS ON TAYLOR AND MACLAURIN SERIES TAYLOR AND MACLAURIN SERIES Taylor Series of a function f at x = a is ( f k )( a) ( x a) k k! It is a Power Series centered at a. Maclaurin Series of a function
More informationMethods of Integration
Methods of Integration Essential Formulas k d = k +C sind = cos +C n d = n+ n + +C cosd = sin +C e d = e +C tand = ln sec +C d = ln +C cotd = ln sin +C + d = tan +C lnd = ln +C secd = ln sec + tan +C cscd
More informationMARK SCHEME for the November 2004 question paper 9709 MATHEMATICS 8719 HIGHER MATHEMATICS
UNIVERSITY OF CAMBRIDGE INTERNATIONAL EXAMINATIONS GCE Advanced Subsidiary and Advanced Level MARK SCHEME for the November 004 question paper 9709 MATHEMATICS 879 HIGHER MATHEMATICS 9709/03, 879/03 Paper
More informationFor a semi-circle with radius r, its circumfrence is πr, so the radian measure of a semi-circle (a straight line) is
Radian Measure Given any circle with radius r, if θ is a central angle of the circle and s is the length of the arc sustained by θ, we define the radian measure of θ by: θ = s r For a semi-circle with
More information2 Trigonometric functions
Theodore Voronov. Mathematics 1G1. Autumn 014 Trigonometric functions Trigonometry provides methods to relate angles and lengths but the functions we define have many other applications in mathematics..1
More informationElements of Floating-point Arithmetic
Elements of Floating-point Arithmetic Sanzheng Qiao Department of Computing and Software McMaster University July, 2012 Outline 1 Floating-point Numbers Representations IEEE Floating-point Standards Underflow
More informationThe American School of Marrakesh. AP Calculus AB Summer Preparation Packet
The American School of Marrakesh AP Calculus AB Summer Preparation Packet Summer 2016 SKILLS NEEDED FOR CALCULUS I. Algebra: *A. Exponents (operations with integer, fractional, and negative exponents)
More informationCore Mathematics 3 Trigonometry
Edexcel past paper questions Core Mathematics 3 Trigonometry Edited by: K V Kumaran Email: kvkumaran@gmail.com Core Maths 3 Trigonometry Page 1 C3 Trigonometry In C you were introduced to radian measure
More informationSoftware Engineering 2DA4. Slides 8: Multiplexors and More
Software Engineering 2DA4 Slides 8: Multiplexors and More Dr. Ryan Leduc Department of Computing and Software McMaster University Material based on S. Brown and Z. Vranesic, Fundamentals of Digital Logic
More informationDesigning a Correct Numerical Algorithm
Intro Implem Errors Sollya Gappa Norm Conc Christoph Lauter Guillaume Melquiond March 27, 2013 Intro Implem Errors Sollya Gappa Norm Conc Outline 1 Introduction 2 Implementation theory 3 Error analysis
More informationInternational Journal of Advanced Computer Technology (IJACT)
AN EFFICIENT DESIGN OF LOW POWER,FAST EL- LIPTIC CURVE SCALAR MULTIPLIER IN ECC USING S Jayalakshmi K R, M.Tech student, Mangalam college of engineering,kottayam,india; Ms.Hima Sara Jacob, Assistant professor,
More informationDesign Method for Numerical Function Generators Based on Polynomial Approximation for FPGA Implementation
Design Method for Numerical Function Generators Based on Polynomial Approximation for FPGA Implementation Shinobu Nagayama Tsutomu Sasao Jon T. Butler Dept. of Computer Engineering, Dept. of Computer Science
More informationCore 3 (A2) Practice Examination Questions
Core 3 (A) Practice Examination Questions Trigonometry Mr A Slack Trigonometric Identities and Equations I know what secant; cosecant and cotangent graphs look like and can identify appropriate restricted
More information