Fixed-Point Trigonometric Functions on FPGAs

Size: px
Start display at page:

Download "Fixed-Point Trigonometric Functions on FPGAs"

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

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 information

Second Order Function Approximation Using a Single Multiplication on FPGAs

Second 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 information

Hardware Operator for Simultaneous Sine and Cosine Evaluation

Hardware 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 information

Automatic generation of polynomial-based hardware architectures for function evaluation

Automatic 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 information

Hardware implementations of fixed-point Atan2

Hardware 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 information

Table-based polynomials for fast hardware function evaluation

Table-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 information

Using the CORDIC Algorithm for Fast Trigonometric Operations in Hardware

Using 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 information

Karatsuba with Rectangular Multipliers for FPGAs

Karatsuba 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 information

Spherical trigonometry

Spherical 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 information

CORDIC, Divider, Square Root

CORDIC, 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 information

MAT137 - Term 2, Week 5

MAT137 - 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 information

Optimized Linear, Quadratic and Cubic Interpolators for Elementary Function Hardware Implementations

Optimized 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 information

Rational Trigonometry. Rational Trigonometry

Rational 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 information

Topic 4 Notes Jeremy Orloff

Topic 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 information

A HIGH-SPEED PROCESSOR FOR RECTANGULAR-TO-POLAR CONVERSION WITH APPLICATIONS IN DIGITAL COMMUNICATIONS *

A 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 information

Complex Logarithmic Number System Arithmetic Using High-Radix Redundant CORDIC Algorithms

Complex 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 information

Trig Identities, Solving Trig Equations Answer Section

Trig 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 information

Table-based polynomials for fast hardware function evaluation

Table-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 information

On-Line Hardware Implementation for Complex Exponential and Logarithm

On-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 information

Lecture 3f Polar Form (pages )

Lecture 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 information

A 32-bit Decimal Floating-Point Logarithmic Converter

A 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 information

Design 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 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 information

Mathematical Methods: Fourier Series. Fourier Series: The Basics

Mathematical 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 information

8.3 The Complex Plane; De Moivre s Theorem

8.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 information

Efficient Polynomial Evaluation Algorithm and Implementation on FPGA

Efficient 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 information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI 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 information

Math 1060 Midterm 2 Review Dugopolski Trigonometry Edition 3, Chapter 3 and 4

Math 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 information

Efficient random number generation on FPGA-s

Efficient 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 information

Numeration and Computer Arithmetic Some Examples

Numeration 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 information

COMPLEX NUMBERS AND DIFFERENTIAL EQUATIONS

COMPLEX 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 information

Chapter 7: Techniques of Integration

Chapter 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 information

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

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

Accelerated Shift-and-Add algorithms

Accelerated 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 information

Fast FPGA Placement Based on Quantum Model

Fast 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 information

PRE-CALCULUS TRIG APPLICATIONS UNIT Simplifying Trigonometric Expressions

PRE-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 information

Introduction to Complex Mathematics

Introduction 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 information

1 The six trigonometric functions

1 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 information

Unit 6 Trigonometric Identities Prove trigonometric identities Solve trigonometric equations

Unit 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 information

Implementation 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 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 information

Complex Numbers. Integers, Rationals, and Reals. The natural numbers: The integers:

Complex 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 information

Math 104 Midterm 3 review November 12, 2018

Math 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 information

A Deep Convolutional Neural Network Based on Nested Residue Number System

A 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 information

Automated design of floating-point logarithm functions on integer processors

Automated 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 information

Waves, 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)

Waves, 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 information

Low-Cost and Area-Efficient FPGA Implementations of Lattice-Based Cryptography

Low-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 information

Sine * * This file is from the 3D-XplorMath project. Please see:

Sine * * 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 information

Exercise Set 6.2: Double-Angle and Half-Angle Formulas

Exercise 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 information

A 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 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 information

Chapter 1 Error Analysis

Chapter 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 information

Elements of Floating-point Arithmetic

Elements 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 information

Practice 14. imathesis.com By Carlos Sotuyo

Practice 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 information

Suggested Time Frame (Block) Review 1.1 Functions 1. Text Section. Section Name

Suggested 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 information

Trigonometric Functions () 1 / 28

Trigonometric 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 information

Mathematics: Complex functions

Mathematics: 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 information

9. 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 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 information

y 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

y 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 information

Formulas to remember

Formulas 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 information

I.e., the range of f(x) = arctan(x) is all real numbers y such that π 2 < y < π 2

I.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 information

Indiana Academic Standards for Precalculus

Indiana 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 information

Word-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 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 information

sin cos 1 1 tan sec 1 cot csc Pre-Calculus Mathematics Trigonometric Identities and Equations

sin 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 information

Multivariate Gaussian Random Number Generator Targeting Specific Resource Utilization in an FPGA

Multivariate 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 information

Elliptic Curve Group Core Specification. Author: Homer Hsing

Elliptic 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 information

The GigaFitter for Fast Track Fitting based on FPGA DSP Arrays

The 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 information

Topic 1 Notes Jeremy Orloff

Topic 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 information

On the number of segments needed in a piecewise linear approximation

On 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 information

Efficient Function Approximation Using Truncated Multipliers and Squarers

Efficient 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 information

Lecture 11. Advanced Dividers

Lecture 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 information

Optimizing Scientific Libraries for the Itanium

Optimizing 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 information

correlated to the Indiana Academic Standards for Precalculus CC2

correlated 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 information

Domain decomposition for the Jacobi-Davidson method: practical strategies

Domain 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 information

A Learning Progression for Complex Numbers

A 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 information

1.3 Basic Trigonometric Functions

1.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 information

Solutions to the Homework Replaces Section 3.7, 3.8

Solutions 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 information

MATHS S4 Credit Course CHECKLIST

MATHS 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

(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 information

Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs

Reduced-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 information

Mathematics of Imaging: Lecture 3

Mathematics 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 information

t 2 + 2t dt = (t + 1) dt + 1 = arctan t x + 6 x(x 3)(x + 2) = A x +

t 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 information

Trigonometry - Part 1 (12 pages; 4/9/16) fmng.uk

Trigonometry - 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 information

These items need to be included in the notebook. Follow the order listed.

These 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 information

Exercises involving elementary functions

Exercises 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 information

COMPLEX NUMBERS AND SERIES

COMPLEX 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 information

MATH 127 SAMPLE FINAL EXAM I II III TOTAL

MATH 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 information

MATH 1040 Objectives List

MATH 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 information

Part VI Function Evaluation

Part 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 information

Some Trigonometric Limits

Some 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 information

SOLVED PROBLEMS ON TAYLOR AND MACLAURIN SERIES

SOLVED 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 information

Methods of Integration

Methods 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 information

MARK SCHEME for the November 2004 question paper 9709 MATHEMATICS 8719 HIGHER MATHEMATICS

MARK 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 information

For a semi-circle with radius r, its circumfrence is πr, so the radian measure of a semi-circle (a straight line) is

For 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 information

2 Trigonometric functions

2 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 information

Elements of Floating-point Arithmetic

Elements 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 information

The American School of Marrakesh. AP Calculus AB Summer Preparation Packet

The 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 information

Core Mathematics 3 Trigonometry

Core 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 information

Software Engineering 2DA4. Slides 8: Multiplexors and More

Software 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 information

Designing a Correct Numerical Algorithm

Designing 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 information

International Journal of Advanced Computer Technology (IJACT)

International 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 information

Design 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 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 information

Core 3 (A2) Practice Examination Questions

Core 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