Microtrend Systems Inc. Fixed Point Two s Complement CORDIC Arithmetic on MSP430
|
|
- Carmel Webb
- 6 years ago
- Views:
Transcription
1 Fixed Point Two s Complement CORDIC Arithmetic on MSP430 Titi Trandafir, MSEE, PhD (abd),mba Slide 1
2 Agenda Part 1 General considerations Part 2 Lab Demo using Microtrend Sys development platforms and IAR IDE Slide 2
3 Summary A Cordic primer A little bit of history Iterative function generation Fractional two s complement fix point arithmetic Numbers and angle representation used in calculations Cordic modes (circular functions: sin(x), cos(x), atan(x), arcsin(x), arccos(x) in the first quadrant) 16(12) bit error tradeoffs, machine cycles, msp430 coding examples FPGA Cordic based approach to calculate functions Series expansion and other ways to calculate circular functions Vector mode, hyperbolic functions, exp(x), sqrt(x), ln(x) discussion Other functions calculations using a Cordic engine, multiplication and division coding example for multiplication on MSP430 16x16 fractional arithmetic Slide 3
4 Generalized Binary Cordic x k+1 = x k mδ k y k 2 -k y k+1 = y k + δ k x k 2 -k k=0,1, n z k+1 = z k δ k ε k δ K = ±1 for m = 0 ε K = 2 -K m = 1 ε K = arctg 2 -k 1/k = Π cos ε k m = -1 ε k = arcth 2 -k k 1 = Π cosh ε k Rotation mode (z k 0) 1, if z k 0 δ k = -1, if z k < 0 x 0 given, y 0 = 0, force z 0 = 0 = > y n+1 = x 0 z 0 x 0 = 1/k= ; y 0 = 0, z 0 = θ x n+1 = cos θ y n+1 = sin θ x 0 = 1/k 1 = ; y 0 =0, z 0 = θ x n+1 = cosh θ y n+1 = sinh θ θ Vector Mode (y k 0) 1, if y k < 0 δ k = -1, if y k 0 x 0 given, y 0 given, z 0 = 0 z n+1 = y 0 /x 0 x 0 given, y 0 given, z 0 = 0 z n+1 = arctg y 0 /x 0 x n+1 = k x y 0 2 x 0 given, y 0 given, z 0 = 0 z n+1 =tanh -1 y 0 /x 0 x n+1 = k 1 x 0 2-y 0 2 x 0 = w+1 ; y 0 = w-1 lnw= 2z n+1 x 0 =w+ 025; y 0 = w- 025 w= x n+1 /k 1 Inverse circular functions Arcsin(x), Arccos(x) x i+1 = x i δ i 2-1 y i y i+1 = y i + δ i 2-1 x i z+1 = z i + δ i atan2-1 δ i = +1 if x t -1 if x < t x i+1 = x i - δ i 2 -i y i y i+1 = y i + δ i 2-1 x i z i+1 = z i +δ i atan2-1 δ 1 = -1 if y t +1 if y < t k= (1+2-2i ) -1/2 i=0 y zn+1 = arccos(t) z n+1 = 1-t 2 x n+1 = t z n+1 = arcsin(t) y n+1 = t x n+1 = 1-t 2 Initial condition 1 x 0 =, y 0 = 0, z 0 = 0 k Slide 4
5 x 1 = α + β/2, y 1 = α β/2 X n+1 = 2αβ Other functions x 1 = α + β, y 1 = β - α x n+1 = 2 αβ α + β +1 α β -1 x 1 =, y 1 = x n+1 = α (1+ β) x 1 = α +1, y 1 = 2 α x n+1 = 1+ α 2 Slide 5
6 Table 1 defines the codes used in most signal processing applications Because many applications involve conversion of analog signals, the analog signal is given as a reference The table also helps users understand the basis for each of these formats The following definitions are offered as the basis for each code format Offset Binary: A binary code in which the code represents analog values between Full Scale and Full scale All zero corresponds to Full scale This code can be balanced by appending a 1 below the LSB 2 s Complement: A binary code in which positive and negative codes of the same magnitude sum to all zero s plus a carry The 2 s complement can be generated from the Offset Binary code by inverting the MSB A negative number is generated by inverting each bit of the positive number, then adding one Example: 011(+3) = 101 (-3) Fractional 2 s complement example: 5A80h= = 1/2+1/8+1/16+1/64+1/256= h= =05 1 s Complement: Bipolar binary code in which positive and negative codes of the same magnitude sum to all one s A negative number is generated by investing each bit of the positive number Example: 011 (+3) 100 (-3) Sign Magnitude: A binary code in which the MSB represents positive (1) and negative (0) polarities The code in the tables uses a offset binary code to represent the magnitude portion of the number Slide 6
7 Slide 7
8 Fractional Arithmetic Two s Complement 16 bit number representation - Maximum positive number = 1 1/ 2 15 = 7FFFh - Minimum positive number = 1/ 2 15 = 0001h - Minimum negative number = -1 = 8000h - Maximum negative number = - 1/ 2 15 = FFFFh Angle representation 2 16 *G N= where G is the angle in degrees 180 N= decimal representation of the number Example: G = 45 ; N = 2 14 = 4000h G = 30 ; N = 2 16 /6 = 2AAAh Slide 8
9 Two quadrants angle coding N= 2 16 *a/180 where a is the angle in degrees N= decimal representation of the number 16 Bits atan table ε k = atan 2 -k ε0 = atan 2 0 = 45 N= 4000 ε1 = atan 2-1 = N= 25C8 ε2 = atan 2-2 = N= 13F6 ε3 = atan 2-3 = N= 0A22 ε4 = atan 2-4 = N= 0516 ε5 = atan 2-5 = N= 028b ε6 = atan 2-6 = N= 0145 ε7 = atan 2-7 = N= 00A2 ε8 = atan 2-8 = N= 0051 ε9 = atan 2-9 = N= 0029 ε10 = atan 2-10 = N= 0014 ε11 = atan 2-11 = N= 000A ε12 = atan 2-12 = N= 0005 ε13 = atan 2-13 = N= 0003 ε14 = atan 2-14 = N= 0002 ε15 = atan 2-15 = N= 0001 Slide 9
10 CORDIC Rotation Mode Y ) a X 0 =1/k= = i=15 (1+2-2i ) -1/2 X(i+1) = x(i) m δ(i) y(i) 2 -i Y(i+1) = Y(i) + δ(i) X(i) 2 -i S(i+1) = S(i) + δ(i) ε(i) Z(i) = α S(i) i=0,1,15 δ(i)=sgn Z(i) =1 if Z(i) 0, δ(i)= -1 otherwise, m=1 X Slide 10
11 CORDIC Rotation Mode (x7, y 7, z7) (x5, y 5, z 5) (x3, y3, z 3 ) (x 9, y 9, z 9 ) X(i+1) = x(i) m δ(i) y(i 2 -i Y(i+1) = Y(i) + δ(i) X(i) 2 -i (x11, y 11, z 11 ) (x1, y1, z1) (x 12, y 12, z 12 ) (x 10, y 10, z 10 ) (x8, y8, z8) (x6, y 6, z6) S(i+1) = S(i) + δ(i) ε(i) (x4, y4, z 4 ) Z(i) = α S(i) i=0,1 15 δ(i)=sgn Z(i) =1 if Z(i) 0, δ(i)= -1 otherwise,m=1 (x2, y2,z2) )a x 0 = y 0 = 0 Slide 11
12 Example In Cordic rotation mode,calculate sin15 and cos15 δ 0 =1,s 0 =0 y 0 =0, x 0 = z 0 = α s 0 = 15-0 > 0 δ 0 = 1 s 1 = s o + ε 0 = 0+45 i= 0 x 1 = x 0 - δ 0 y = y 1 = y 0 + δ 0 x = z1 = α s 1 = < 0 δ 1 = -1 s 2 = s 1 + δ 1 ε 1 = = i= 1 x 2 = x 1 δ 1 y = = y 2 = y 1 + δ 1 x = = i= 2 z 2 = α s 2 = 15 18, = -3, < 0 δ 2 = -1 s 3 = s 2 + δ 2 ε 2 = = x 3 = x 2 δ 2 y = = y 3 = y 2 + δ 2 x = = i= 12 z 12 α s >0 x 13 = x 12 y = ~ cos 15 y13= y 12 + x = ~ sin 15 s 12 = Slide 12
13 Examples, sin(x) ***************************************************************************** ; This program is a Microtrend Sys Cordic implementation on MSP430F437 ; 12(16) steps to calculate sinx for a 16(12) bit alfa angle Copyright 2004 ; ( a=alfa angle in R12->R4) ; X(i+1) = x(i) d(i)* y(i)*2(^-i) d(i)=+/- 1 ; Y(i+1) = Y(i) + d(i)* X(i)* 2(^-i) e(i)= atan(2^-i) ; S(i+1) = S(i) + d(i)* e(i) a=angle ; z(i) = a - S(i) s(0)=0,d(0)=1 x0= , y=0 ;****************************************************************************** ;****************************************************************************** #include "msp430x43xh" NAME fixed_point_sine_as_function PUBLIC fixed_point_sine_as_function RSEG CODE fixed_point_sine_as_function; ;Program starts here mov R12, R4 mov #1h,R15 ;initial number of (K) shifts=1 mov R15,R10 ;save it in R10 also mov #000eh,R5 ;R5 steps (15) ; mov #000bh,R5 ;R5 steps (11)for 12 steps mov #0,R7 ;R7 is a pointer to atan(2^-k) values mov atan_table(r7), R6 ; atan(2^-k) table mov #4db9h,R8 ; =x1 the magic number mov #4db9h,R9 ; =y1 the magic number mov #4000h,R11 ;R11 holds 45deg angle initially Slide 13
14 ; for first comparison et2 cmp R11,R4 ;alfa-45 deg jn et1 mov R9,R14 ;y1-->r14 here1 rra R14 ;y1/2^k dec R15 jnz here1 ; do it k times for y1 mov R10,R15 mov R8,R12 ;x1-->r12 sub R14,R8 ;x1-y1/2^k-->r8 cos(x) here2 rra R12 ;x1/2^k dec R15 ;do it k times for x1 jnz here2 add R12,R9 ;y1+x1/2^k-->r9 sin(x) incd R7 ;R7<--R7+2 pointer to next value add atan_table(r7),r11 ;s(k+1)=s(k)+atan(2^-k) inc R10 ;increment number of shifts(k) in next iteration mov R10,R15 ;and move it in R15 dec R5 jnz et2 ;have we done 16(12) iterations? jmp et3 et1 mov R9,R14 ;y1-->r14 here3 rra R14 ;y1/2^k dec R15 ;do y1/2 k times for y1 jnz here3 mov R10,R15 mov R8,R12 ;x1-->r12 add R14,R8 ;x1+y1/2^k-->r8 cos(x) here4 rra R12 ;x1/2^k dec R15 ;do x1/2 k times for x1 jnz here4 sub R12,R9 ;y1-x1/2^k-->r9 sin(x) incd R7 sub atan_table(r7),r11 ;s(k+1)=s(k)-atan(2^-2) inc R10 ;increment number of shifts(k) in next iteration mov R10,R15 ;and reload it in R15 dec R5 ;have we done 11 or 15 iterations? jnz et2 Slide 14
15 et3 nop mov R9, R12 ret atan_table ;R9 holds sin(x) ;R8 holds cos(x) ; yes, it all ends here dw 0x4000 ; 45 deg dw 0x25c8 ; deg dw 0x13f6 ; deg dw 0x0a22 ; deg dw 0x0516 ; dw 0x028b ; dw 0x0145 dw 0x00a2 dw 0x0051 dw 0x0029 dw 0x0014 dw 0x000a dw 0x0005 dw 0x0003 dw 0x0002 dw 0x0001 end Slide 15
16 Some Issues Using step predictors to minimize machine cycle count Rescaling steps for hyperbolic functions Overflow in fixed point arithmetic 2 -i rotations (no instruction yet to accomplish this in one cycle) Guard bits, granularity Slide 16
17 CORDIC Vector Mode Y X(i+1) = x(i) m δ(i) y(i) 2 -i Y(i+1) = Y(i) + δ(i) X(i) 2 -i Y= t S(i+1) = S(i) + δ(i) ε(i) Z(i) = α S(i) i=0,1,,15 δ(i)=sgn y(i) =-1 if y(i) 0, δ(i)= +1 otherwise, m=-1 X Slide 17
18 Other ways to approximate trigonometric functions Series expansion : cos(x)=1+a 2 *x 2 +a 4 *x 4 sin(x)/x=1+a 2 *x 2 +a 4 x 4 a 2 = , a 4 = a 2 = , a 4 = Chebysheff recursive equation : y(i)=2cosβ*y(i-1)-y(i-2), with i=0, y(-1)= - sin β, y(-2)= - sin( 2*β) For n iterations the equation generates sin(n* β) Fractional aproximation : tg(θ)=[x(1-x+a)]/(1-x)(x+a) x=θ/90 and A= Slide 18
19 MSP430 machine cycles for 16 bits and 12 bits 2 s complement fixed point arithmetic operation Function No: of bits No: of machine cycles Sin16(x) Sin12(x) Arcsin16(x) Arcsin12(x) Mul16(axb) Mul12(axb) Note: For each of the above functions the machine cycle count includes the direction of rotation encoding and initialization overhead Slide 19
20 X i+1 Y i+1 X i+1 = x i δ i y i 2 -i Y i+1 = Y i + δ i X i 2-1 S i+1 = S i + δ i ε i z i = α -S i (X 1,Y 1 ) (X 3,Y 3 ) (X n, Y n ) (X 2,Y 2 ) (X 0,Y 0 ) Stage i >> i >> i Z i+1 +/- +/- Sign i Z Stage i Atan(2 -i ) X Y +/- Sign i Slide 20
21 References [1] HM Ahmed, M Morf, DT Lee and PH Ang "A VLSI Speech Analysis Chip Set Based on Square-Root Normalized Ladder Forms" Proc Int Conf Acoustics, Speech and Signal Processing ICASSP-81 pp (1981) [2] E Antelo, JD Bruguera and EL Zapata "Unnormalized Fixed-Point Cordic Arithmetic for SVD Processors" Proc Int Conf Signal Processing, Applications and Technology ICSPAT-94 (1994) [3] H Dawid and H Myer "High Speed Bit-Level Pipelined Architectures for Redundant Cordic Implementations" Proc Int Conf Appliaction Specific Array Processors ASAP-92 pp (1992) [4] J Duprat and JM Muller "The Cordic Algorithm: New Results for Fast VLSI Implementation" IEEE Transactions on Computers Vol 42 No2 pp (1993) [5] MD Ercegovac and T Lang "Redundant and On-Line Cordic: Application to Matrix Triangularization and SVD" IEEE Transactions on Computers Vol 39 No6 pp (1990) [6] ND Hemkumar and JR Cavallaro "Redundant and On-Line Cordic for Unitary Transformations" IEEE Transactions on Computers Vol 43 No8 pp (1994) [7] YH Hu "Cordic-Based VLSI Architectures for Digital Signal Processing" IEEE Signal Processing Magazine No7 pp (1992) [8] YH Hu "The Quantization Effects of the Cordic Algorithm" IEEE Transactions on Signal Processing Vol 40 No4 pp (1992) [9] X Hu and SC Bass "A Neglected Error Source in the Cordic Algorithm" Proc Int Conf on Circuits and Systems ISCAS-93 pp (1993) [10] K Kota and JR Cavallaro "Numerical Accuracy and Hardware Tradeoffs for Cordic Arithmetic for Special-Purpose Processors" IEEE Transactions on Computers Vol 42 No7 pp (1993) [11] JA Lee and T Lang "Constant-Factor Redundant Cordic for Angle Calculation and Rotation" IEEE Transactions on Computers Vol 41 No8 pp (1992) [12] P Strobach "2-Fold Normalized Square-Root Schur RLS Adaptive Filter" IEEE Transactions on Signal Processing Vol 42 No5 pp (1994) [13] N Takagi, T Asada and S Yajima "Redundant Cordic Methods with a Constant Scale Factor for Sine and Cosine Computation" IEEE Transactions on Computers Vol 40 No9 pp (1991) [14] D Timmermann, H Hahn and BJ Hosticka "Low Latency Time Cordic Algorithms" IEEETransactions on Computers Vol 41 No8 pp (1992) [15] JE VoIder "The Cordic Trigonometric Computing Technique" IRE Transactions Electronic Computers Vol 8 pp (1959) [16] JS Walther "A Unified Algorithm for Elementary Functions" Proc Spring Joint Computer Conf pp (1971) [17] T Lang, Elisardo Antelo, Cordic vectoring with arbitrary target value, IEEE Transactions on Computers,vol47,no7,pp , July 1998 [18] T Lang, Elisardo Antelo, Cordic based computation of ArcCos and (1-t2), Internal Report Dept Electrical and Computer Eng University of California at Irvine, March 1997 [19] T C Mazenc,X Merrheim and JMMuller, Computing functions Cos-1 and Sin-1 using CORDIC, IEEE Transactions on Computers, vol 42,no1,pp ,1993 [20] C Krieger and BJ Hosticka, Inverse kinematics computations with modified CORDIC iterations, IEE Proc ComputDigitTech vol143,no1,pp87-92, January 1996 Slide 21
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 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 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 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 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 informationOn-line Algorithms for Computing Exponentials and Logarithms. Asger Munk Nielsen. Dept. of Mathematics and Computer Science
On-line Algorithms for Computing Exponentials and Logarithms Asger Munk Nielsen Dept. of Mathematics and Computer Science Odense University, Denmark asger@imada.ou.dk Jean-Michel Muller Laboratoire LIP
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 informationNumbers and Arithmetic
Numbers and Arithmetic See: P&H Chapter 2.4 2.6, 3.2, C.5 C.6 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register file alu
More informationcomo trabajan las calculadoras?
Revista de Matemática: Teoría y Aplicaciones 2005 12(1 & 2) : 45 50 cimpa ucr ccss issn: 1409-2433 como trabajan las calculadoras? Bruce H. Edwards Received/Recibido: 24 Feb 2004 Abstract What happens
More informationCost/Performance Tradeoff of n-select Square Root Implementations
Australian Computer Science Communications, Vol.22, No.4, 2, pp.9 6, IEEE Comp. Society Press Cost/Performance Tradeoff of n-select Square Root Implementations Wanming Chu and Yamin Li Computer Architecture
More informationNumbers and Arithmetic
Numbers and Arithmetic See: P&H Chapter 2.4 2.6, 3.2, C.5 C.6 Hakim Weatherspoon CS 3410, Spring 2013 Computer Science Cornell University Big Picture: Building a Processor memory inst register file alu
More informationHakim Weatherspoon CS 3410 Computer Science Cornell University
Hakim Weatherspoon CS 3410 Computer Science Cornell University The slides are the product of many rounds of teaching CS 3410 by Professors Weatherspoon, Bala, Bracy, and Sirer. memory inst 32 register
More informationHow Do Calculators Calculate? Helmut Knaust Department of Mathematical Sciences University of Texas at El Paso
How Do Calculators Calculate? Helmut Knaust Department of Mathematical Sciences University of Texas at El Paso Helmut Knaust How Do Calculators Calculate? April 25, 1997 1 / 18 History We give an introduction
More informationTHE CORDIC adaptive lattice filter (CALF) [11] is an
IEEE TRANSACTIONS ON SIGNAL PROCESSING, VOL. 46, NO. 7, JULY 1998 1861 On the Convergence of the CORDIC Adaptive Lattice Filtering (CALF) Algorithm Yu Hen Hu, Senior Member, IEEE Abstract In this paper,
More informationData Converter Fundamentals
Data Converter Fundamentals David Johns and Ken Martin (johns@eecg.toronto.edu) (martin@eecg.toronto.edu) slide 1 of 33 Introduction Two main types of converters Nyquist-Rate Converters Generate output
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 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 Trigonometric and Hyperbolic Functions (7A)
Complex Trigonometric and Hyperbolic Functions (7A) 07/08/015 Copyright (c) 011-015 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation
More informationECE260: Fundamentals of Computer Engineering
Data Representation & 2 s Complement James Moscola Dept. of Engineering & Computer Science York College of Pennsylvania Based on Computer Organization and Design, 5th Edition by Patterson & Hennessy Data
More informationA Low-Error Statistical Fixed-Width Multiplier and Its Applications
A Low-Error Statistical Fixed-Width Multiplier and Its Applications Yuan-Ho Chen 1, Chih-Wen Lu 1, Hsin-Chen Chiang, Tsin-Yuan Chang, and Chin Hsia 3 1 Department of Engineering and System Science, National
More informationInternational Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Emerging Technologies in Computational
More informationHardware Design I Chap. 4 Representative combinational logic
Hardware Design I Chap. 4 Representative combinational logic E-mail: shimada@is.naist.jp Already optimized circuits There are many optimized circuits which are well used You can reduce your design workload
More informationLow-Power Twiddle Factor Unit for FFT Computation
Low-Power Twiddle Factor Unit for FFT Computation Teemu Pitkänen, Tero Partanen, and Jarmo Takala Tampere University of Technology, P.O. Box, FIN- Tampere, Finland {teemu.pitkanen, tero.partanen, jarmo.takala}@tut.fi
More informationTHE discrete sine transform (DST) and the discrete cosine
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS-II: EXPRESS BIREFS 1 New Systolic Algorithm and Array Architecture for Prime-Length Discrete Sine Transform Pramod K. Meher Senior Member, IEEE and M. N. S. Swamy
More informationVLSI Arithmetic. Lecture 9: Carry-Save and Multi-Operand Addition. Prof. Vojin G. Oklobdzija University of California
VLSI Arithmetic Lecture 9: Carry-Save and Multi-Operand Addition Prof. Vojin G. Oklobdzija University of California http://www.ece.ucdavis.edu/acsel Carry-Save Addition* *from Parhami 2 June 18, 2003 Carry-Save
More informationSvoboda-Tung Division With No Compensation
Svoboda-Tung Division With No Compensation Luis MONTALVO (IEEE Student Member), Alain GUYOT Integrated Systems Design Group, TIMA/INPG 46, Av. Félix Viallet, 38031 Grenoble Cedex, France. E-mail: montalvo@archi.imag.fr
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 informationLogic and Computer Design Fundamentals. Chapter 5 Arithmetic Functions and Circuits
Logic and Computer Design Fundamentals Chapter 5 Arithmetic Functions and Circuits Arithmetic functions Operate on binary vectors Use the same subfunction in each bit position Can design functional block
More informationTable-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 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 informationA COMBINED 16-BIT BINARY AND DUAL GALOIS FIELD MULTIPLIER. Jesus Garcia and Michael J. Schulte
A COMBINED 16-BIT BINARY AND DUAL GALOIS FIELD MULTIPLIER Jesus Garcia and Michael J. Schulte Lehigh University Department of Computer Science and Engineering Bethlehem, PA 15 ABSTRACT Galois field arithmetic
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 informationThe equivalence of twos-complement addition and the conversion of redundant-binary to twos-complement numbers
The equivalence of twos-complement addition and the conversion of redundant-binary to twos-complement numbers Gerard MBlair The Department of Electrical Engineering The University of Edinburgh The King
More informationPipelined Viterbi Decoder Using FPGA
Research Journal of Applied Sciences, Engineering and Technology 5(4): 1362-1372, 2013 ISSN: 2040-7459; e-issn: 2040-7467 Maxwell Scientific Organization, 2013 Submitted: July 05, 2012 Accepted: August
More informationCase Studies of Logical Computation on Stochastic Bit Streams
Case Studies of Logical Computation on Stochastic Bit Streams Peng Li 1, Weikang Qian 2, David J. Lilja 1, Kia Bazargan 1, and Marc D. Riedel 1 1 Electrical and Computer Engineering, University of Minnesota,
More informationAn Area Efficient Enhanced Carry Select Adder
International Journal of Engineering Science Invention ISSN (Online): 2319 6734, ISSN (Print): 2319 6726 PP.06-12 An Area Efficient Enhanced Carry Select Adder 1, Gaandla.Anusha, 2, B.ShivaKumar 1, PG
More informationMark Redekopp, All rights reserved. Lecture 1 Slides. Intro Number Systems Logic Functions
Lecture Slides Intro Number Systems Logic Functions EE 0 in Context EE 0 EE 20L Logic Design Fundamentals Logic Design, CAD Tools, Lab tools, Project EE 357 EE 457 Computer Architecture Using the logic
More informationProposal to Improve Data Format Conversions for a Hybrid Number System Processor
Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 6-8, 007 653 Proposal to Improve Data Format Conversions for a Hybrid Number System Processor
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 informationChapter 3: Transcendental Functions
Chapter 3: Transcendental Functions Spring 2018 Department of Mathematics Hong Kong Baptist University 1 / 32 Except for the power functions, the other basic elementary functions are also called the transcendental
More informationSummary: Primer on Integral Calculus:
Physics 2460 Electricity and Magnetism I, Fall 2006, Primer on Integration: Part I 1 Summary: Primer on Integral Calculus: Part I 1. Integrating over a single variable: Area under a curve Properties of
More informationAn Effective New CRT Based Reverse Converter for a Novel Moduli Set { 2 2n+1 1, 2 2n+1, 2 2n 1 }
An Effective New CRT Based Reverse Converter for a Novel Moduli Set +1 1, +1, 1 } Edem Kwedzo Bankas, Kazeem Alagbe Gbolagade Department of Computer Science, Faculty of Mathematical Sciences, University
More informationProposal to Improve Data Format Conversions for a Hybrid Number System Processor
Proposal to Improve Data Format Conversions for a Hybrid Number System Processor LUCIAN JURCA, DANIEL-IOAN CURIAC, AUREL GONTEAN, FLORIN ALEXA Department of Applied Electronics, Department of Automation
More informationI. INTRODUCTION. CMOS Technology: An Introduction to QCA Technology As an. T. Srinivasa Padmaja, C. M. Sri Priya
International Journal of Scientific Research in Computer Science, Engineering and Information Technology 2018 IJSRCSEIT Volume 3 Issue 5 ISSN : 2456-3307 Design and Implementation of Carry Look Ahead Adder
More informationRadix-4 Vectoring CORDIC Algorithm and Architectures. July 1998 Technical Report No: UMA-DAC-98/20
Radix-4 Vectoring CORDIC Algorithm and Architectures J. Villalba E. Antelo J.D. Bruguera E.L. Zapata July 1998 Technical Report No: UMA-DAC-98/20 Published in: J. of VLSI Signal Processing Systems for
More informationLABORATORY MANUAL MICROPROCESSOR AND MICROCONTROLLER
LABORATORY MANUAL S u b j e c t : MICROPROCESSOR AND MICROCONTROLLER TE (E lectr onics) ( S e m V ) 1 I n d e x Serial No T i tl e P a g e N o M i c r o p r o c e s s o r 8 0 8 5 1 8 Bit Addition by Direct
More information2 Recollection of elementary functions. II
Recollection of elementary functions. II Last updated: October 5, 08. In this section we continue recollection of elementary functions. In particular, we consider exponential, trigonometric and hyperbolic
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 informationInverse Trig Functions
6.6i Inverse Trigonometric Functions Inverse Sine Function Does g(x) = sin(x) have an inverse? What restriction would we need to make so that at least a piece of this function has an inverse? Given f (x)
More informationMTH 112: Elementary Functions
1/19 MTH 11: Elementary Functions Section 6.6 6.6:Inverse Trigonometric functions /19 Inverse Trig functions 1 1 functions satisfy the horizontal line test: Any horizontal line crosses the graph of a 1
More informationUNSIGNED BINARY NUMBERS DIGITAL ELECTRONICS SYSTEM DESIGN WHAT ABOUT NEGATIVE NUMBERS? BINARY ADDITION 11/9/2018
DIGITAL ELECTRONICS SYSTEM DESIGN LL 2018 PROFS. IRIS BAHAR & ROD BERESFORD NOVEMBER 9, 2018 LECTURE 19: BINARY ADDITION, UNSIGNED BINARY NUMBERS For the binary number b n-1 b n-2 b 1 b 0. b -1 b -2 b
More informationLow-Complexity Multiplierless Constant Rotators Based on Combined Coefficient Selection and Shift-and-Add Implementation (CCSSI)
Low-Complexity Multiplierless Constant Rotators Based on Combined Coefficient Selection and Shift-and-Add Implementation (CCSSI) Mario Garrido Gálvez, Fahad Qureshi and Oscar Gustafsson Linköping University
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 informationChapter 6: Solutions to Exercises
1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier Science, c 00 Updated: September 3, 003 With contributions by Elisardo Antelo and Fabrizio Lamberti
More informationNumbering Systems. Contents: Binary & Decimal. Converting From: B D, D B. Arithmetic operation on Binary.
Numbering Systems Contents: Binary & Decimal. Converting From: B D, D B. Arithmetic operation on Binary. Addition & Subtraction using Octal & Hexadecimal 2 s Complement, Subtraction Using 2 s Complement.
More informationSystem Data Bus (8-bit) Data Buffer. Internal Data Bus (8-bit) 8-bit register (R) 3-bit address 16-bit register pair (P) 2-bit address
Intel 8080 CPU block diagram 8 System Data Bus (8-bit) Data Buffer Registry Array B 8 C Internal Data Bus (8-bit) F D E H L ALU SP A PC Address Buffer 16 System Address Bus (16-bit) Internal register addressing:
More informationLow-Complexity FPGA Implementation of Compressive Sensing Reconstruction
2013 International Conference on Computing, Networking and Communications, Multimedia Computing and Communications Symposium Low-Complexity FPGA Implementation of Compressive Sensing Reconstruction Jerome
More informationDerivatives of Trig and Inverse Trig Functions
Derivatives of Trig and Inverse Trig Functions Math 102 Section 102 Mingfeng Qiu Nov. 28, 2018 Office hours I m planning to have additional office hours next week. Next Monday (Dec 3), which time works
More informationNUMERICAL FUNCTION GENERATORS USING BILINEAR INTERPOLATION
NUMERICAL FUNCTION GENERATORS USING BILINEAR INTERPOLATION Shinobu Nagayama 1, Tsutomu Sasao 2, Jon T Butler 3 1 Department of Computer Engineering, Hiroshima City University, Japan 2 Department of Computer
More informationDIVIDER IMPLEMENTATION
c n = cn-= DAIL LLAOCCA CLab@OU DIVID IPLTATIO The division of two unsigned integer numbers A (where A is the dividend and the divisor), results in a quotient and a residue. These quantities are related
More informationENG2410 Digital Design Introduction to Digital Systems. Fall 2017 S. Areibi School of Engineering University of Guelph
ENG2410 Digital Design Introduction to Digital Systems Fall 2017 S. Areibi School of Engineering University of Guelph Resources Chapter #1, Mano Sections 1.1 Digital Computers 1.2 Number Systems 1.3 Arithmetic
More informationUNIT V FINITE WORD LENGTH EFFECTS IN DIGITAL FILTERS PART A 1. Define 1 s complement form? In 1,s complement form the positive number is represented as in the sign magnitude form. To obtain the negative
More informationA Hardware-Oriented Method for Evaluating Complex Polynomials
A Hardware-Oriented Method for Evaluating Complex Polynomials Miloš D Ercegovac Computer Science Department University of California at Los Angeles Los Angeles, CA 90095, USA milos@csuclaedu Jean-Michel
More informationTree and Array Multipliers Ivor Page 1
Tree and Array Multipliers 1 Tree and Array Multipliers Ivor Page 1 11.1 Tree Multipliers In Figure 1 seven input operands are combined by a tree of CSAs. The final level of the tree is a carry-completion
More informationRadix-4 Factorizations for the FFT with Ordered Input and Output
Radix-4 Factorizations for the FFT with Ordered Input and Output Vikrant 1, Ritesh Vyas 2, Sandeep Goyat 3, Jitender Kumar 4, Sandeep Kaushal 5 YMCA University of Science & Technology, Faridabad (Haryana),
More informationLecture 8: Sequential Multipliers
Lecture 8: Sequential Multipliers ECE 645 Computer Arithmetic 3/25/08 ECE 645 Computer Arithmetic Lecture Roadmap Sequential Multipliers Unsigned Signed Radix-2 Booth Recoding High-Radix Multiplication
More informationA Gray Code Based Time-to-Digital Converter Architecture and its FPGA Implementation
A Gray Code Based Time-to-Digital Converter Architecture and its FPGA Implementation Congbing Li Haruo Kobayashi Gunma University Gunma University Kobayashi Lab Outline Research Objective & Background
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 informationLaboratoire de l Informatique du Parallélisme. École Normale Supérieure de Lyon Unité Mixte de Recherche CNRS-INRIA-ENS LYON n o 8512
Laboratoire de l Informatique du Parallélisme École Normale Supérieure de Lyon Unité Mixte de Recherche CNRS-INRIA-ENS LYON n o 8512 SPI A few results on table-based methods Jean-Michel Muller October
More informationWhat s the Deal? MULTIPLICATION. Time to multiply
What s the Deal? MULTIPLICATION Time to multiply Multiplying two numbers requires a multiply Luckily, in binary that s just an AND gate! 0*0=0, 0*1=0, 1*0=0, 1*1=1 Generate a bunch of partial products
More informationAddition of QSD intermediat e carry and sum. Carry/Sum Generation. Fig:1 Block Diagram of QSD Addition
1216 DESIGN AND ANALYSIS OF FAST ADDITION MECHANISM FOR INTEGERS USING QUATERNARY SIGNED DIGIT NUMBER SYSTEM G.MANASA 1, M.DAMODHAR RAO 2, K.MIRANJI 3 1 PG Student, ECE Department, Gudlavalleru Engineering
More informationCombinational Logic. By : Ali Mustafa
Combinational Logic By : Ali Mustafa Contents Adder Subtractor Multiplier Comparator Decoder Encoder Multiplexer How to Analyze any combinational circuit like this? Analysis Procedure To obtain the output
More informationIMPLEMENTATION OF SIGNAL POWER ESTIMATION METHODS
IMPLEMENTATION OF SIGNAL POWER ESTIMATION METHODS Sei-Yeu Cheng and Joseph B. Evans Telecommunications & Information Sciences Laboratory Department of Electrical Engineering & Computer Science University
More informationNumbers & Arithmetic. Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University. See: P&H Chapter , 3.2, C.5 C.
Numbers & Arithmetic Hakim Weatherspoon CS 3410, Spring 2012 Computer Science Cornell University See: P&H Chapter 2.4-2.6, 3.2, C.5 C.6 Example: Big Picture Computer System Organization and Programming
More informationTest one Review Cal 2
Name: Class: Date: ID: A Test one Review Cal 2 Short Answer. Write the following expression as a logarithm of a single quantity. lnx 2ln x 2 ˆ 6 2. Write the following expression as a logarithm of a single
More informationChapter 5: Solutions to Exercises
1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier Science, c 2004 Updated: September 9, 2003 Chapter 5: Solutions to Selected Exercises With contributions
More informationAN IMPROVED LOW LATENCY SYSTOLIC STRUCTURED GALOIS FIELD MULTIPLIER
Indian Journal of Electronics and Electrical Engineering (IJEEE) Vol.2.No.1 2014pp1-6 available at: www.goniv.com Paper Received :05-03-2014 Paper Published:28-03-2014 Paper Reviewed by: 1. John Arhter
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 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 informationDesign and Implementation of Efficient Modulo 2 n +1 Adder
www..org 18 Design and Implementation of Efficient Modulo 2 n +1 Adder V. Jagadheesh 1, Y. Swetha 2 1,2 Research Scholar(INDIA) Abstract In this brief, we proposed an efficient weighted modulo (2 n +1)
More informationSUFFIX PROPERTY OF INVERSE MOD
IEEE TRANSACTIONS ON COMPUTERS, 2018 1 Algorithms for Inversion mod p k Çetin Kaya Koç, Fellow, IEEE, Abstract This paper describes and analyzes all existing algorithms for computing x = a 1 (mod p k )
More informationTransformation Techniques for Real Time High Speed Implementation of Nonlinear Algorithms
International Journal of Electronics and Communication Engineering. ISSN 0974-66 Volume 4, Number (0), pp.83-94 International Research Publication House http://www.irphouse.com Transformation Techniques
More informationFixed-Point Trigonometric Functions on FPGAs
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, 69364 Lyon Cedex 07 June 14th, 2013
More informationPseudorandom Coding Techniques for Position Measurement
Pseudorandom Coding Techniques for Position Measurement Emil M. Petriu, Dr. Eng., FIEEE School of Electrical Engineering and Computer Science University of Ottawa, Canada http://www.site.uottawa.ca/~petriu
More informationMath 1 Lecture 22. Dartmouth College. Monday
Math 1 Lecture 22 Dartmouth College Monday 10-31-16 Contents Reminders/Announcements Last Time Implicit Differentiation Derivatives of Inverse Functions Derivatives of Inverse Trigonometric Functions Examish
More informationThe goal differs from prime factorization. Prime factorization would initialize all divisors to be prime numbers instead of integers*
Quantum Algorithm Processor For Finding Exact Divisors Professor J R Burger Summary Wiring diagrams are given for a quantum algorithm processor in CMOS to compute, in parallel, all divisors of an n-bit
More informationSET 1. (1) Solve for x: (a) e 2x = 5 3x
() Solve for x: (a) e x = 5 3x SET We take natural log on both sides: ln(e x ) = ln(5 3x ) x = 3 x ln(5) Now we take log base on both sides: log ( x ) = log (3 x ln 5) x = log (3 x ) + log (ln(5)) x x
More informationMTH 112: Elementary Functions
MTH 11: Elementary Functions F. Patricia Medina Department of Mathematics. Oregon State University Section 6.6 Inverse Trig functions 1 1 functions satisfy the horizontal line test: Any horizontal line
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 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 informationISSN (PRINT): , (ONLINE): , VOLUME-4, ISSUE-10,
A NOVEL DOMINO LOGIC DESIGN FOR EMBEDDED APPLICATION Dr.K.Sujatha Associate Professor, Department of Computer science and Engineering, Sri Krishna College of Engineering and Technology, Coimbatore, Tamilnadu,
More informationCh 5 and 6 Exam Review
Ch 5 and 6 Exam Review Note: These are only a sample of the type of exerices that may appear on the exam. Anything covered in class or in homework may appear on the exam. Use the fundamental identities
More informationSistemas de Aquisição de Dados. Mestrado Integrado em Eng. Física Tecnológica 2016/17 Aula 4, 10th October
Sistemas de Aquisição de Dados Mestrado Integrado em Eng. Física Tecnológica 216/17 Aula 4, 1th October ADC Amplitude Quantization: ADC Digital Output Formats V REF +FS RANGE (SPAN) OR FS ANALOG INPUT
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 informationAREA EFFICIENT MODULAR ADDER/SUBTRACTOR FOR RESIDUE MODULI
AREA EFFICIENT MODULAR ADDER/SUBTRACTOR FOR RESIDUE MODULI G.CHANDANA 1 (M.TECH),chandana.g89@gmail.com P.RAJINI 2 (M.TECH),paddam.rajani@gmail.com Abstract Efficient modular adders and subtractors for
More informationNumbering Systems. Computational Platforms. Scaling and Round-off Noise. Special Purpose. here that is dedicated architecture
Computational Platforms Numbering Systems Basic Building Blocks Scaling and Round-off Noise Computational Platforms Viktor Öwall viktor.owall@eit.lth.seowall@eit lth Standard Processors or Special Purpose
More informationHyperbolic Functions (1A)
Hyperbolic Functions (A) 08/3/04 Copyright (c) 0-04 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version. or
More informationMATH 32 FALL 2013 FINAL EXAM SOLUTIONS. 1 cos( 2. is in the first quadrant, so its sine is positive. Finally, csc( π 8 ) = 2 2.
MATH FALL 01 FINAL EXAM SOLUTIONS (1) (1 points) Evalute the following (a) tan(0) Solution: tan(0) = 0. (b) csc( π 8 ) Solution: csc( π 8 ) = 1 sin( π 8 ) To find sin( π 8 ), we ll use the half angle formula:
More informationTHE frequent use of transcendental functions in
1959 PROCEEDINGS OF THE WESTERN JOINT COMPUTER CONFERENCE 103 Automatic Design of Logical Networks* T. C.BARTEEt THE frequent use of transcendental functions in digital computer programs has presented
More informationResearch Article Implementation of Special Function Unit for Vertex Shader Processor Using Hybrid Number System
Computer Networks and Communications, Article ID 890354, 7 pages http://dx.doi.org/10.1155/2014/890354 Research Article Implementation of Special Function Unit for Vertex Shader Processor Using Hybrid
More information