A HIGH-SPEED PROCESSOR FOR RECTANGULAR-TO-POLAR CONVERSION WITH APPLICATIONS IN DIGITAL COMMUNICATIONS *
|
|
- Randolf Dean
- 5 years ago
- Views:
Transcription
1 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 Fu and Alan Willson, Jr Electrical Engineering Department, UCLA dwf@icsluclaedu, willson@icsluclaedu Abstract - In many communication system implementations, such as M-ary PSK and FSK modems, DMT for ADSL, as well as carrier and clock synchronization, the efficient conversion from rectangular to polar coordinates is essential In this paper, we present a novel architecture for a circuit that computes the angle, as well as the magnitude, of a polar-form representation of a complex number, given the real and imaginary components of that number Introduction Conversions between rectangular and polar coordinates are quite common requirements in communication applications We have presented a novel approach in [] for fast and low-cost polar-to-rectangular conversion For a class of communication problems, such as constant-amplitude FSK and PSK modem implementations [], as well as carrier and clock synchronization [3], the computation of phase and magnitude from the rectangular coordinates is essential There are several well-known implementations for a rectangular to polar coordinate conversion, ie obtaining the magnitude and phase of a complex number One method uses a ROM lookup table with both the real and imaginary components as input This is practical only for low bit-accuracy requirements, as the ROM size grows exponentially with an increasing number of input bits To reduce the ROM size, we can first divide the imaginary by the real component, then use the quotient to index the lookup table But the hardware for a full-speed divider is very complicated and power consuming An iterative divider implemented using shifting and subtraction requires less hardware, but it is usually quite slow Recently, CORDIC has been applied in this coordinate conversion [] However, due to the sequential nature of CORDIC, it is difficult to pipeline, thus limiting the throughput rate In burst-mode communication systems, rapid carrier and clock synchronization is crucial [3] Therefore, a fast rectangular-to-polar conversion is desired In this paper, we present an algorithm that implements the angle computation for rectangular-to-polar conversion with low latency and low hardware cost * This research was supported by SF Grant MIP and by California Micro Grant 99-4 Y 0 Background and motivation 0 Fig displays a point in the Cartesian X-Y plane having coordinates ( X 0, Y 0 ) The angle ϕ can be computed as ϕ = tan ( Y 0 () In deriving the core of our algorithm, we assume the dividend and divisor satisfy X 0 Y 0 0 () We will discuss how to extend the result to arbitrary values in Section 5 To achieve the highest precision for given hardware, the inputs X 0 should be scaled such that X 0 < (3) A straightforward method for fast implementation of () can be devised as follows: ) Obtain the reciprocal of X 0 from a lookup table ) Compute Y 0 ( with a fast multiplier 3) Use this product to index an arctangent table for ϕ However, the size of the two tables grows exponentially with increased precision requirements on ϕ, and rather large tables would be required to achieve accurate results Therefore, for high-precision applications, such an implementation seems impractical If we approximate X 0 by the reciprocal of the most significant bits (MSBs) of X 0, denoted by [ X 0 ], then the required reciprocal table is much smaller We can then multiply the table output by Y 0 to yield Y 0 [ X 0 ], which is an approximation of Y 0 X 0 This quotient can then be used to index an arctangent table Similar to the reciprocal table, a much smaller arctangent table is needed if we use only the MSBs of Y 0 [ X 0 ], denoted by [ Y 0 [ X 0 ]], to address the table, which returns ϕ = tan ([ Y [ X ]]) Obviously, this 0 0 result is just an approximation to ϕ We will subsequently refer to the computation of ϕ as the coarse computation stage Let ϕ be the difference between ϕ and ϕ Using the trigonometric identity ϕ X 0 ( X 0, Y 0 ) Fig Cartesian to Polar conversion
2 tanϕ = tan( ϕ ϕ ) = ( tanϕ tanϕ ) ( tanϕ tanϕ )(4) and the definitions tanϕ = Y 0 X 0 and tanϕ = [ Y 0 [ X 0 ]], we have Y tanϕ 0 X 0 [ Y 0 [ X 0 ]] Y X 0 [ Y 0 [ X 0 ]] = = ( Y 0 [ Y 0 [ X 0 ]] X 0 Y 0 [ Y 0 [ X 0 ]] (5) Using this relationship, ϕ can be determined from [ Y 0 [ X 0 ]], the coarse computation results Therefore, the desired result ϕ can be obtained by adding the fine correction angle ϕ to the coarse approximation ϕ This procedure of finding ϕ will subsequently be referred to as the fine computation stage By partitioning the computation of () into two stages, the table size in the coarse stage can be reduced significantly at the expense of additional computations, which are handled by the fine stage Let us now examine the complexity of the fine stage To find ϕ using (5), we can first compute X = X 0 Y 0 [ Y 0 [ X 0 ]] (6) Y = Y 0 X 0 [ Y 0 [ X 0 ]] and then find ϕ as ϕ = tan ( Y X ) (7) The computation in (6) involves only adders and multipliers, while (7) requires lookup tables Moreover, it seems we can t use the same coarse-stage tables because they have low resolution and thus can t satisfy the high precision requirements for the fine angle ϕ ow let us analyze ϕ to see if there is any property that can help in this situation If ϕ is a good approximation of ϕ, then ϕ = ϕ ϕ is close to zero In view of (7), Y X should be very small too This property helps us in two respects: ) The difference between Y X and Y [ X ] is much smaller than that between X and [ X ] This suggests that if we use the same low resolution reciprocal table as in the coarse stage, the error contributed to the final result will be very small We will demonstrate this in the next section ) If Y X is sufficiently small to satisfy Y X = tanϕ < 3 (8) where denotes the desired number of bits in ϕ, then ϕ = tan ( Y X ) Y X (9) and we can compute ϕ without using an arctangent table This is explained as follows: From the Taylor expansion of tan ( Y X ) near Y X = 0, we obtain tan ( Y X ) = Y X ( Y X ) 3 3 O( ( Y X ) 5 ) (0) Since O( ( Y X ) 5 ) is negligible in comparison to ( Y X ) 3 3, it can be omitted Therefore, if Y X is used to approximate tan ( Y X ), an error tan = tan ( Y X ) Y X = ( Y X ) 3 3 () will occur However, according to (8), tan is bounded by tan < 3 () which is very small This indicates that the approximation (9) is quite accurate if (8) is satisfied From the above analysis, no additional tables are needed for the fine stage if ϕ is sufficiently close to ϕ On the other hand, the better that ϕ approximates ϕ, the larger the tables required for its computation become As mentioned previously, table size grows exponentially as the precision increases In view of these conflicting requirements, a good trade-off is obtained when the result ϕ of the coarse stage is just close enough to ϕ that (8) is satisfied, thereby eliminating the additional tables in the fine stage ext, a detailed analysis and description of the algorithm are provided 3 The Algorithm In this section we first analyze how the coarse approximation error ϕ = ϕ ϕ depends upon the precision of the tables, in order to determine the amount of hardware that must be allocated to the coarse stage ext we explore ways to simplify the computations in the fine stage A Simplification in the coarse computation stage The main concern in the coarse stage design is how the lookup table values are generated to produce as precise results as possible for a given table size As mentioned previously, there are two lookup tables: ) The reciprocal table: The input to this table, X 0 <, can be expressed as X 0 = x x x i x (3) where only bits x through x i are used to index the table To generate the table value, if we merely truncate X 0 as [ X 0 ] = x x x i (4) then the quantization error X0 = X 0 [ X 0 ] is bounded by 0 < X0 < i (5) Thus, the difference between the table value and X 0, X 0 [ X 0 ] = ([ X 0 ] X 0 ) ([ X 0 ]X 0 ) X0 X 0 (6) is bounded by i < X 0 [ X 0 ] 0 (7) But if we generate the table value corresponding to [ X 0 ] = x x x i (8) with a bit appended as the LSB, then the quantization error in (5) is centered around zero: i < X0 < i (9) hence, the error in the reciprocal is also centered around zero: i < X 0 [ X 0 ] i (0)
3 Comparing (0) to (7), the maximum absolute error is reduced, without having to increase the table size This is the technique introduced in [4] Since the output of the table will be multiplied by Y 0, the fewer the bits in the table value, the smaller the required multiplier hardware Let the table value Z 0 be generated by rounding [ X 0 ] to j bits: Z 0 = 0z z 3 z j () The quantization error Z0 = [ X 0 ] Z 0 is then bounded by j < Z0 < j () We can then multiply Z 0 by Y 0 to approximate Y 0 X 0 This result is used to address the arctangent table for ϕ ) The arctangent table: In order to use a very small table, Y 0 Z 0 is rounded to k bits to the right of the radix point to become [ Y 0 Z 0 ], with the rounding error bounded by k < Y 0 Z = Y 0 0 Z 0 [ Y 0 Z 0 ] < k (3) Then, [ Y 0 Z 0 ] is used to index the arctangent table, which returns the coarse angle ϕ = tan ([ Y 0 Z 0 ]) ow we must determine the minimum i, j and k values such that (8) is satisfied First, let us examine X and Y which are computed using [ Y 0 Z 0 ] as X = X 0 Y 0 [ Y 0 Z 0 ] (4) Y = Y 0 X 0 [ Y 0 Z 0 ] (5) Dividing (5) by (4), and then dividing both the numerator and denominator by X 0, we have Y X = ( Y 0 X 0 [ Y 0 Z 0 ]) ( ( Y 0 [ Y 0 Z 0 ]) (6) Y 0 X 0 [ Y 0 Z 0 ] The inequality is true because X 0 Y 0 0 and [ Y 0 Z 0 ] 0 Taking into account all the quantization errors in (0), () and (3), we can express Y 0 X 0 in terms of [ Y 0 Z 0 ] as Y 0 ( Y 0 ( [ X 0 ] X0 = Y 0 (( Z 0 Z0 ) X0 (7) = Y 0 Z 0 Y 0 Z0 = [ Y 0 Z 0 ] Y 0 Z Y 0 0 Z0 Substituting this result into (6), we have Y X Y 0 Z Y 0 0 Z0 (8) Since Y 0 ( X0 = ( Y 0 ( X0, from () and (9), i < Y 0 ( X0 < i (9) Also, according to () and (), we have j < Y 0 Z0 < j (30) Applying (3), (9) and (30) to (8), we obtain Y X < i j k If we choose i 3, j 3 and k 3, then Y X < (3) Therefore, since the inputs X and Y to the fine stage satisfy (8), no additional tables are needed for the fine stage Henceforth we choose i = 3, j = 3 and k = 3 B Hardware reduction in the fine computation stage Since (8) is satisfied, we can obtain the fine angle ϕ by computing the quotient Y X From (4), we have X 0 X X 0 Y 0, hence X < 4 In order to use the same reciprocal table as in the coarse stage, X should be scaled such that X < (3) This can be satisfied by shifting X to the right if X Of course Y should also be shifted accordingly so that Y X remains unchanged As in the coarse stage, the reciprocal table accepts 3 MSBs of X and returns Z We define the reciprocal error δ = X Z Since the same reciprocal table is used as in the coarse stage, δ and δ 0 must have the same bound Since δ = δ 0 = X 0 Z 0 = X 0 [ X 0 ] Z0 (33) we can use (0) and () to obtain < δ < (34) The bound on Y can be found using (3) and (3): Y < (35) ow we can obtain the final error bound in approximating Y X by Y Z, according to (34) and (35), as Y X Y Z = Y δ < ( 075) 3 (36) Clearly, this approximation error is too large To reduce the maximum error below, the bound on δ should be approximately 3, which would require the reciprocal table to accept 3 bits as input That is, the table needed for such a high-resolution input would be significantly larger than the one already employed by the coarse stage To overcome this difficulty, we can apply the ewton- Raphson iteration method [5] to reduce the initial approximation error δ Using Z as the initial guess, the updated X value after one iteration is Z = Z ( X Z ) (37) Substituting Z = X δ into (37), we have Z = ( X δ )( X ( X δ )) = X X δ (38) According to (3), (34) and (35), after one ewton-raphson iteration, the error in Y Z is reduced to
4 Z Y Y X Y Z = Y X δ < ( 075) (39) A rather accurate result is obtained with just one iteration Finally, the fine angle can be computed by multiplying by : ϕ Y Z = Y Z ( X Z ) (40) Although there are three multipliers involved in (40), the size of these multipliers can be reduced with just a slight accuracy loss by truncating the data before feeding them to the multipliers The computational procedure of (40) is as follows: ) The inputs to the fine stage, X and Y, are truncated to 3 and 3 bits to the right of their radix points, respectively Since the 3 MSBs in Y are just sign bits, as indicated by (35), they do not influence the complexity of the multiplier that produces Y Z The corresponding quantization errors are bounded by 0 X < 3 (4) 0 Y < (4) ) Both quantized X and Y are multiplied by Z 3) To form X Z, instead of generating the two s complement of X Z, we can use the ones complement with only an insignificant error Since this error is much smaller, in comparison to the truncation error in the next step, we can neglect it 4) The product Y Z is truncated to 3 bits We would also truncate the ones complement of X Z But since the inverted LSBs of X Z will be discarded, we can truncate X Z to 3 bits and then take its ones complement The corresponding quantization errors, as discussed above, are: 0 X Z < 3 (43) 0 Y Z < (44) After including all the error sources due to simplification, we now analyze the effects of these errors on the final result ϕ Taking the errors into account, we can rewrite (40) as: ϕ (( Y Y )( X δ ) Y Z ) ( ( X X )( X δ ) X Z ) (45) Expanding this product and neglecting terms whose magnitudes are insignificant, we have ϕ Y X Y X δ ( Y X ) X ( X ) Y ( Y X )( X Z ) Y Z (46) As mentioned in Section, Y X is an approximation of tan ( Y X ) Its approximation error, defined in (8), is bounded by tan = ( Y X ) 3 3 < ( 075) 3 (47) Replacing Y X by tan ( Y X ) ( Y X ) 3 3 in (46), we have ϕ tan ( Y X ) ( Y X ) 3 3 Y X δ ( Y X ) X ( X ) Y ( Y X ) X Z Y Z (48) The total error, ε = ϕ tan ( Y X ), is ε = ( Y X ) ( Y X ) 3 ( X δ ) X X X Z ( X ) Y Y Z (49) The subtotal ( Y X ) 3 ( X δ ) X X X Z has all non-negative terms Thus, a lower bound on this subtotal is the minimum value of ( X δ ), which is = 056 3, according to (34) Correspondingly, an upper bound is the sum of the maximum values of the other three terms: ( ) 3 = Finally, we can obtain the total error bound as: [ X 0 ] [ X ] Input Mux Z 3 -wd Output [ Y 0 Z 0 ] 3 -wd ϕ Reciprocal Demux Z Arctan ROM 0 ROM X 0 X Scaling Shifter ones complement X Z ϕ ϕ ϕ Y Y Y Z Fig Proposed architecture
5 ε < (50) = 076 The proposed architecture is shown in Fig, with the sizes of the various multipliers displayed in parentheses 4 Magnitude calculation Once the angle of the vector ( X 0, Y 0 ) is known, its magnitude can be obtained by multiplying X 0 by cosϕ, whose values can be pre-calculated and stored in a ROM, thereby requiring only a single multiplication However, if we use all the available bits to index the ROM table, it is likely that a very large ROM will be needed As we know from the preceding discussion, the coarse angle ϕ is an approximation of ϕ Similarly cosϕ approximates cosϕ Therefore, we can expand the coarse-stage ROM to include also the cosϕ values That is, for each input [ Y 0 Z 0 ], the coarse-stage ROM would output both ϕ = tan ([ Y 0 Z 0 ]) and cosϕ Since X 0 satisfy () and (3), the cosϕ value is within [, ] For many applications, the magnitude value is used only to adjust the scaling of some signal level, and high precision is not necessary For applications where a higher precision is desired, we propose the following approach: First, instead of using the above-mentioned table of cosϕ values, we pre-calculate and store in ROM the cosϕ M values, where ϕ M contains only the m MSBs of ϕ Obviously a small table, one of comparable size to the cosϕ table, is needed Then, we can look up the table entries for the two nearest values to ϕ, namely ϕ M and ϕ M = ϕ M m Then a better approximation of cosϕ can be obtained by interpolating between the table values cosϕ M and cosϕ M as cosϕ M cosϕ M cosϕ cosϕ M ( (5) ϕ M ϕ ϕ ϕ ) M M Let ϕ L = ϕ ϕ M Obviously, ϕ L simply contains the LSBs of ϕ We can now rewrite (5) as cosϕ cosϕ M ( cosϕ M cosϕ M ) ϕ L m (5) which involves only a multiplication and a shift operation, in addition to two adders 5 Converting arbitrary inputs In previous sections we have restricted the input values to lie within the bounds of () and (3) However, if the coordinates of ( X 0, Y 0 ) do not satisfy that condition, we must map the given point so they do Of course, the resulting angle must be modified accordingly To do that, we replace X 0 by their absolute values This maps ( X 0, Y 0 ) into the first quadrant ext, the larger of X 0 is used as the denominator in () and the other as the numerator This places the corresponding angle in the interval [ 0, π 4] We can now use the procedure discussed previously to obtain ϕ Once we get ϕ, we can find the angle φ that corresponds to the original coordinates from ϕ First, if originally X 0 < Y 0, we should map ϕ to [ π 4, π ] using φ = π ϕ Otherwise φ = ϕ We then map this result to the original quadrant according to Table I ext, let us examine the affect of the above-mentioned mapping on the magnitude calculation Since the negation and exchange of the original X 0 values do not change the magnitude, whose value is ( X 0 Y 0 ), the result obtained using the X 0 values after the mapping needs no correction However, if the input values were scaled to satisfy (3), we then need to scale the computed magnitude to the original scale of X 0 TABLE I 6 Test results We have verified our error bound estimation by a bit-level simulation of the structure of Fig To test the algorithm, we generated the pair of inputs X 0 randomly within the range described by () and (3) This test was run repeatedly over many different values of X 0, and the maximum error value was recorded Choosing = 9 for this simulation, the error bound estimate according to (50) is 0005 Our test results yielded the error bounds [ 00004, 00005], well within the calculated bound References Original coordinates Modification to the angle X 0 < 0, Y 0 > 0 φ = π φ X 0 < 0, Y 0 < 0 φ = π φ X 0 > 0, Y 0 < 0 φ = π φ [] D Fu and A Willson, Jr, A high-speed processor for digital sine/cosine generation and angle rotation, in Conf Record 3nd Annual Asilomar Conference on Signals, Systems and Computers, vol, pp 77-8, ov 998 [] A Chen and S Yang, Reduced complexity CORDIC demodulator implementation for D-AMPS and digital IF-sampled receiver, in Proc Globecom 98, vol 3, pp , ov 998 [3] M Andronico, et al, A new algorithm for fast synchronization in a burst mode PSK demodulator, in Proc 995 IEEE International Conference on Communications, vol 3, pp , June 995 [4] D L Fowler and J E Smith, An accurate high speed implementation of division by reciprocal approximation, in Proc 9th Symp on Computer Arithmetic, pp 60-67, Sep 989 [5] I Koren, Computer Arithmetic Algorithms Prentice Hall, Englewood Cliffs, J, 993
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 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 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 informationCORDIC, Divider, Square Root
4// EE6B: VLSI Signal Processing CORDIC, Divider, Square Root Prof. Dejan Marković ee6b@gmail.com Iterative algorithms CORDIC Division Square root Lecture Overview Topics covered include Algorithms and
More 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 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 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 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 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 information14:332:231 DIGITAL LOGIC DESIGN. 2 s-complement Representation
4:332:23 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 203 Lecture #3: Addition, Subtraction, Multiplication, and Division 2 s-complement Representation RECALL
More informationCHAPTER 2 NUMBER SYSTEMS
CHAPTER 2 NUMBER SYSTEMS The Decimal Number System : We begin our study of the number systems with the familiar decimal number system. The decimal system contains ten unique symbol 0, 1, 2, 3, 4, 5, 6,
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 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 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 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 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 informationGraduate Institute of Electronics Engineering, NTU Basic Division Scheme
Basic Division Scheme 台灣大學電子所吳安宇博士 2002 ACCESS IC LAB Outline Shift/subtract division algorithm. Programmed division. Restoring hardware dividers. Nonstoring and signed division. Radix-2 SRT divisioin.
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 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 informationGF(2 m ) arithmetic: summary
GF(2 m ) arithmetic: summary EE 387, Notes 18, Handout #32 Addition/subtraction: bitwise XOR (m gates/ops) Multiplication: bit serial (shift and add) bit parallel (combinational) subfield representation
More informationBinary Multipliers. Reading: Study Chapter 3. The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding
Binary Multipliers The key trick of multiplication is memorizing a digit-to-digit table Everything else was just adding 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 2 4 6 8 2 4 6 8 3 3 6 9 2 5 8 2 24 27 4 4 8 2 6
More informationReduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs
Article Reduced-Area Constant-Coefficient and Multiple-Constant Multipliers for Xilinx FPGAs with 6-Input LUTs E. George Walters III Department of Electrical and Computer Engineering, Penn State Erie,
More 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 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 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 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 informationDSP Design Lecture 2. Fredrik Edman.
DSP Design Lecture Number representation, scaling, quantization and round-off Noise Fredrik Edman fredrik.edman@eit.lth.se Representation of Numbers Numbers is a way to use symbols to describe and model
More information14:332:231 DIGITAL LOGIC DESIGN. Why Binary Number System?
:33:3 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 3 Lecture #: Binary Number System Complement Number Representation X Y Why Binary Number System? Because
More informationComplement Arithmetic
Complement Arithmetic Objectives In this lesson, you will learn: How additions and subtractions are performed using the complement representation, What is the Overflow condition, and How to perform arithmetic
More information6.111 Lecture # 12. Binary arithmetic: most operations are familiar Each place in a binary number has value 2 n
6.111 Lecture # 12 Binary arithmetic: most operations are familiar Each place in a binary number has value 2 n Representation of negative numbers: there are a number of ways we might do this: 5 = 00000101
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 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 informationOptimized Linear, Quadratic and Cubic Interpolators for Elementary Function Hardware Implementations
electronics Article Optimized Linear, Quadratic and Cubic Interpolators for Elementary Function Hardware Implementations Masoud Sadeghian 1,, James E. Stine 1, *, and E. George Walters III 2, 1 Oklahoma
More 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 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 informationDesign of Sequential Circuits
Design of Sequential Circuits Seven Steps: Construct a state diagram (showing contents of flip flop and inputs with next state) Assign letter variables to each flip flop and each input and output variable
More informationA 32-bit Decimal Floating-Point Logarithmic Converter
A 3-bit Decimal Floating-Point Logarithmic Converter Dongdong Chen 1, Yu Zhang 1, Younhee Choi 1, Moon Ho Lee, Seok-Bum Ko 1, Department of Electrical and Computer Engineering, University of Saskatchewan
More informationDESIGN OF QUANTIZED FIR FILTER USING COMPENSATING ZEROS
DESIGN OF QUANTIZED FIR FILTER USING COMPENSATING ZEROS Nivedita Yadav, O.P. Singh, Ashish Dixit Department of Electronics and Communication Engineering, Amity University, Lucknow Campus, Lucknow, (India)
More informationBinary addition example worked out
Binary addition example worked out Some terms are given here Exercise: what are these numbers equivalent to in decimal? The initial carry in is implicitly 0 1 1 1 0 (Carries) 1 0 1 1 (Augend) + 1 1 1 0
More informationTunable Floating-Point for Energy Efficient Accelerators
Tunable Floating-Point for Energy Efficient Accelerators Alberto Nannarelli DTU Compute, Technical University of Denmark 25 th IEEE Symposium on Computer Arithmetic A. Nannarelli (DTU Compute) Tunable
More informationALU (3) - Division Algorithms
HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Lecture 12 ALU (3) - Division Algorithms Sommersemester 2002 Leitung: Prof. Dr. Miroslaw Malek www.informatik.hu-berlin.de/rok/ca CA - XII - ALU(3)
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 informationECE380 Digital Logic. Positional representation
ECE380 Digital Logic Number Representation and Arithmetic Circuits: Number Representation and Unsigned Addition Dr. D. J. Jackson Lecture 16-1 Positional representation First consider integers Begin with
More informationCombinational Logic Design Arithmetic Functions and Circuits
Combinational Logic Design Arithmetic Functions and Circuits Overview Binary Addition Half Adder Full Adder Ripple Carry Adder Carry Look-ahead Adder Binary Subtraction Binary Subtractor Binary Adder-Subtractor
More informationChapter 8: Solutions to Exercises
1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier Science, c 2004 with contributions by Fabrizio Lamberti Exercise 8.1 Fixed-point representation
More informationA VLSI Algorithm for Modular Multiplication/Division
A VLSI Algorithm for Modular Multiplication/Division Marcelo E. Kaihara and Naofumi Takagi Department of Information Engineering Nagoya University Nagoya, 464-8603, Japan mkaihara@takagi.nuie.nagoya-u.ac.jp
More informationResidue Number Systems Ivor Page 1
Residue Number Systems 1 Residue Number Systems Ivor Page 1 7.1 Arithmetic in a modulus system The great speed of arithmetic in Residue Number Systems (RNS) comes from a simple theorem from number theory:
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 informationChapter 2 Basic Arithmetic Circuits
Chapter 2 Basic Arithmetic Circuits This chapter is devoted to the description of simple circuits for the implementation of some of the arithmetic operations presented in Chap. 1. Specifically, the design
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 informationELEN Electronique numérique
ELEN0040 - Electronique numérique Patricia ROUSSEAUX Année académique 2014-2015 CHAPITRE 3 Combinational Logic Circuits ELEN0040 3-4 1 Combinational Functional Blocks 1.1 Rudimentary Functions 1.2 Functions
More informationDSP Design Lecture 7. Unfolding cont. & Folding. Dr. Fredrik Edman.
SP esign Lecture 7 Unfolding cont. & Folding r. Fredrik Edman fredrik.edman@eit.lth.se Unfolding Unfolding creates a program with more than one iteration, J=unfolding factor Unfolding is a structured way
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 informationMedian architecture by accumulative parallel counters
Median architecture by accumulative parallel counters Article Accepted Version Cadenas Medina, J., Megson, G. M. and Sherratt, S. (2015) Median architecture by accumulative parallel counters. IEEE Transactions
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 informationDIVISION BY DIGIT RECURRENCE
DIVISION BY DIGIT RECURRENCE 1 SEVERAL DIVISION METHODS: DIGIT-RECURRENCE METHOD studied in this chapter MULTIPLICATIVE METHOD (Chapter 7) VARIOUS APPROXIMATION METHODS (power series expansion), SPECIAL
More informationOn Equivalences and Fair Comparisons Among Residue Number Systems with Special Moduli
On Equivalences and Fair Comparisons Among Residue Number Systems with Special Moduli Behrooz Parhami Department of Electrical and Computer Engineering University of California Santa Barbara, CA 93106-9560,
More informationEECS150 - Digital Design Lecture 27 - misc2
EECS150 - Digital Design Lecture 27 - misc2 May 1, 2002 John Wawrzynek Spring 2002 EECS150 - Lec27-misc2 Page 1 Outline Linear Feedback Shift Registers Theory and practice Simple hardware division algorithms
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 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 informationNumber Representations
Computer Arithmetic Algorithms Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University Number Representations Information Textbook Israel Koren, Computer Arithmetic
More informationE&CE 223 Digital Circuits & Systems. Winter Lecture Transparencies (Introduction) M. Sachdev
E&CE 223 Digital Circuits & Systems Winter 2004 Lecture Transparencies (Introduction) M. Sachdev 1 of 38 Course Information: People Instructor M. Sachdev, CEIT 4015, ext. 3370, msachdev@uwaterloo.ca Lab
More informationAn Fir-Filter Example: Hanning Filter
An Fir-Filter Example: Hanning Filter Josef Goette Bern University of Applied Sciences, Biel Institute of Human Centered Engineering - microlab Josef.Goette@bfh.ch February 7, 2018 Contents 1 Mathematical
More information7x 5 x 2 x + 2. = 7x 5. (x + 1)(x 2). 4 x
Advanced Integration Techniques: Partial Fractions The method of partial fractions can occasionally make it possible to find the integral of a quotient of rational functions. Partial fractions gives us
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 informationDetermining Appropriate Precisions for Signals in Fixed-Point IIR Filters
38.3 Determining Appropriate Precisions for Signals in Fixed-Point IIR Filters Joan Carletta Akron, OH 4435-3904 + 330 97-5993 Robert Veillette Akron, OH 4435-3904 + 330 97-5403 Frederick Krach Akron,
More informationChapter 1: Solutions to Exercises
1 DIGITAL ARITHMETIC Miloš D. Ercegovac and Tomás Lang Morgan Kaufmann Publishers, an imprint of Elsevier, c 2004 Exercise 1.1 (a) 1. 9 bits since 2 8 297 2 9 2. 3 radix-8 digits since 8 2 297 8 3 3. 3
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 informationDIGITAL TECHNICS. Dr. Bálint Pődör. Óbuda University, Microelectronics and Technology Institute
DIGITAL TECHNICS Dr. Bálint Pődör Óbuda University, Microelectronics and Technology Institute 4. LECTURE: COMBINATIONAL LOGIC DESIGN: ARITHMETICS (THROUGH EXAMPLES) 2016/2017 COMBINATIONAL LOGIC DESIGN:
More informationSample. An Incremental Development. John H. Saxon, Jr. Third Edition. Used by Permission SAXON PUBLISHERS, INC.
An Incremental Development Third Edition John H. Saxon, Jr. SAXON PUBLISHERS, INC. Algebra 1: An Incremental Development Third Edition Copyright 2003 by Saxon Publishers, Inc. All rights reserved. No part
More informationNotes on arithmetic. 1. Representation in base B
Notes on arithmetic The Babylonians that is to say, the people that inhabited what is now southern Iraq for reasons not entirely clear to us, ued base 60 in scientific calculation. This offers us an excuse
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 informationLow-complexity generation of scalable complete complementary sets of sequences
University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2006 Low-complexity generation of scalable complete complementary sets
More informationAnalysis and Synthesis of Weighted-Sum Functions
Analysis and Synthesis of Weighted-Sum Functions Tsutomu Sasao Department of Computer Science and Electronics, Kyushu Institute of Technology, Iizuka 820-8502, Japan April 28, 2005 Abstract A weighted-sum
More informationLecture 8. Sequential Multipliers
Lecture 8 Sequential Multipliers Required Reading Behrooz Parhami, Computer Arithmetic: Algorithms and Hardware Design Chapter 9, Basic Multiplication Scheme Chapter 10, High-Radix Multipliers Chapter
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 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 informationAppendix: Synthetic Division
Appendix: Synthetic Division AP Learning Objectives In this section, we will learn how to: 1. Divide polynomials using synthetic division. Synthetic division is a short form of long division with polynomials.
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 informationA group of figures, representing a number, is called a numeral. Numbers are divided into the following types.
1. Number System Quantitative Aptitude deals mainly with the different topics in Arithmetic, which is the science which deals with the relations of numbers to one another. It includes all the methods that
More informationFault Tolerance Technique in Huffman Coding applies to Baseline JPEG
Fault Tolerance Technique in Huffman Coding applies to Baseline JPEG Cung Nguyen and Robert G. Redinbo Department of Electrical and Computer Engineering University of California, Davis, CA email: cunguyen,
More informationAnalysis of Finite Wordlength Effects
Analysis of Finite Wordlength Effects Ideally, the system parameters along with the signal variables have infinite precision taing any value between and In practice, they can tae only discrete values within
More informationHigh rate soft output Viterbi decoder
High rate soft output Viterbi decoder Eric Lüthi, Emmanuel Casseau Integrated Circuits for Telecommunications Laboratory Ecole Nationale Supérieure des Télécomunications de Bretagne BP 83-985 Brest Cedex
More informationAlgebra 2 Khan Academy Video Correlations By SpringBoard Activity
SB Activity Activity 1 Creating Equations 1-1 Learning Targets: Create an equation in one variable from a real-world context. Solve an equation in one variable. 1-2 Learning Targets: Create equations in
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 informationAlgebra 2 Khan Academy Video Correlations By SpringBoard Activity
SB Activity Activity 1 Creating Equations 1-1 Learning Targets: Create an equation in one variable from a real-world context. Solve an equation in one variable. 1-2 Learning Targets: Create equations in
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 information3 + 4i 2 + 3i. 3 4i Fig 1b
The introduction of complex numbers in the 16th century was a natural step in a sequence of extensions of the positive integers, starting with the introduction of negative numbers (to solve equations of
More informationLow Power, High Speed Parallel Architecture For Cyclic Convolution Based On Fermat Number Transform (FNT)
RESEARCH ARTICLE OPEN ACCESS Low Power, High Speed Parallel Architecture For Cyclic Convolution Based On Fermat Number Transform (FNT) T.Jyothsna 1 M.Tech, M.Pradeep 2 M.Tech 1 E.C.E department, shri Vishnu
More informationSerial Parallel Multiplier Design in Quantum-dot Cellular Automata
Serial Parallel Multiplier Design in Quantum-dot Cellular Automata Heumpil Cho and Earl E. Swartzlander, Jr. Application Specific Processor Group Department of Electrical and Computer Engineering The University
More informationEECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters
EECS150 - Digital Design Lecture 24 - Arithmetic Blocks, Part 2 + Shifters April 15, 2010 John Wawrzynek 1 Multiplication a 3 a 2 a 1 a 0 Multiplicand b 3 b 2 b 1 b 0 Multiplier X a 3 b 0 a 2 b 0 a 1 b
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 informationCHEBYSHEV polynomials have been an essential mathematical
IEEE TRANSACTIONS ON COMPUTERS, VOL X, NO X, MONTH YYYY 1 A Karatsuba-based Algorithm for Polynomial Multiplication in Chebyshev Form Juliano B Lima, Student Member, IEEE, Daniel Panario, Member, IEEE,
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 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 informationPolynomials. Exponents. End Behavior. Writing. Solving Factoring. Graphing. End Behavior. Polynomial Notes. Synthetic Division.
Polynomials Polynomials 1. P 1: Exponents 2. P 2: Factoring Polynomials 3. P 3: End Behavior 4. P 4: Fundamental Theorem of Algebra Writing real root x= 10 or (x+10) local maximum Exponents real root x=10
More informationAdvanced Boolean Logic and Applications to Control Systems
Advanced Boolean Logic and Applications to Control Systems Course No: E0-0 Credit: PDH Jeffrey Cwalinski, P.E. Continuing Education and Development, Inc. 9 Greyridge Farm Court Stony Point, NY 0980 P:
More informationChapter 3: Root Finding. September 26, 2005
Chapter 3: Root Finding September 26, 2005 Outline 1 Root Finding 2 3.1 The Bisection Method 3 3.2 Newton s Method: Derivation and Examples 4 3.3 How To Stop Newton s Method 5 3.4 Application: Division
More informationPipelined multi step A/D converters
Department of Electrical Engineering Indian Institute of Technology, Madras Chennai, 600036, India 04 Nov 2006 Motivation for multi step A/D conversion Flash converters: Area and power consumption increase
More informationDual-Field Arithmetic Unit for GF(p) and GF(2 m ) *
Institute for Applied Information Processing and Communications Graz University of Technology Dual-Field Arithmetic Unit for GF(p) and GF(2 m ) * CHES 2002 Workshop on Cryptographic Hardware and Embedded
More information