Optimized CORDIC for APSK applications
10320595 ยท 2019-06-11
Assignee
Inventors
Cpc classification
International classification
Abstract
A reduced COordinate Rotation DIgital Computer (CORDIC) cell in a parallel CORDIC has an xy-path from x and y inputs to x and y outputs, and a z-path from a z-input to a z-output. Bit-shifts in the xy-path are hardwired. The z-path has a shortened adder/subtractor with a built-in or hardwired fixed parameter. Input bits from the z-input are split into most significant and least significant bits. The number of most significant bits equals the shortened adder/subtractor width. The most significant bits are input to the non-inverting inputs of the adder/subtractor for calculating the most significant z-output bits. The least significant bits are connected directly (or via buffers) from the z-input to the z-output.
Claims
1. A COordinate Rotation DIgital Computer (CORDIC) with a first bit-width, the CORDIC comprising: multiple stages of three-dimensional CORDIC cells capable of performing vector rotation, wherein at least one of the CORDIC cells comprises a reduced CORDIC cell with an xy-path and a z-path wherein: bit-shifts in the xy-path are hardwired; a z-path fixed parameter is truncated to a second bit-width that is smaller than the first bit-width; a z-path adder/subtractor is shortened to the second bit-width; the truncated fixed parameter is included in the shortened adder/subtractor; a number of most significant bits of a reduced CORDIC cell z-input word is coupled to non-inverting inputs of the shortened adder/subtractor, wherein the number of most significant bits equals the second bit-width; the shortened adder/subtractor provides a number of most significant bits of a reduced CORDIC cell output word, wherein the number of most significant bits equals the second bit-width; and a number of least significant bits of the reduced CORDIC cell output word is coupled with a number of least significant bits of the reduced CORDIC cell input word, wherein the number of least significant bits equals the first bit-width minus the second bit-width.
2. The CORDIC of claim 1, wherein: the truncated fixed parameter is included in the shortened adder/subtractor by coupling bits of invertible inputs of the shortened adder/subtractor to respective logic levels representing the truncated fixed parameter.
3. The CORDIC of claim 1, wherein: the truncated fixed parameter is rounded before truncation.
4. The CORDIC of claim 3, wherein: the truncated fixed parameter is rounded from a value arctan(2.sup.i) to a value 2.sup.i.
5. The CORDIC of claim 1, wherein: the shortened adder/subtractor is capable of adding only, and the truncated fixed parameter is included in the shortened adder/subtractor by coupling bits of non-inverting inputs of the shortened adder/subtractor to respective bit levels provided by a sign bit value and by an inverted value of the sign bit.
6. The CORDIC of claim 1, wherein: the shortened adder/subtractor includes a ripple-carry adder.
7. The CORDIC of claim 1, wherein: the shortened adder/subtractor includes a carry-lookahead adder.
8. The CORDIC of claim 1, wherein: the shortened adder/subtractor includes a carry-save adder.
9. The CORDIC of claim 1, wherein: the shortened adder/subtractor has been logically optimized, while preserving its truth table, to include fewer gates.
10. The CORDIC of claim 1, wherein: the shortened adder/subtractor has been logically optimized, while preserving its truth table, to decrease latency.
11. The CORDIC of claim 1, wherein: the shortened adder/subtractor has been logically optimized, while preserving its truth table, to decrease power.
12. The CORDIC of claim 1, wherein: a least significant bit of the reduced CORDIC cell output word is coupled with a least significant bit of the reduced CORDIC cell input word via a buffer cell.
13. The CORDIC of claim 1, wherein: two or more of the multiple stages of three-dimensional CORDIC cells are separated by pipeline registers to increase a CORDIC throughput rate.
14. The CORDIC of claim 1, wherein: at least one of the CORDIC cells comprises a full CORDIC cell with an xy-path and a z-path wherein: bit-shifts in the xy-path are hardwired; and a z-path fixed parameter is included in the shortened adder/subtractor.
15. A method to perform a vector micro-rotation in a CORDIC cell, comprising: directly forwarding bits of x-input and y-input signals to a first adder/subtractor and a second adder/subtractor to calculate x-output and y-output bits, respectively, wherein the directly forwarding may comprise forwarding the bits of the x-input and y-input signals via buffers but not via multiplexers; forwarding a first part of bits from a z-input signal to a shortened adder/subtractor, and a second part of the bits from the z-input signal to a second part of bits from a z-output signal, wherein the forwarding the second part of the bits is directly, and wherein the forwarding directly may comprise forwarding the second part of the bits via buffers; and in the shortened adder/subtractor, one of adding bits of a truncated rounded fixed parameter to and subtracting bits of the truncated rounded fixed parameter from the first part of the bits from the z-input signal, to calculate a first part of the bits from the z-output signal.
16. The method of claim 15, wherein: the shortened adder/subtractor includes a ripple-carry adder.
17. The method of claim 15, wherein: the first adder/subtractor includes a carry-lookahead adder.
18. The method of claim 15, wherein: the first adder/subtractor includes a carry-save adder.
19. The method of claim 15, wherein: the shortened adder/subtractor has been logically optimized while preserving its truth table.
20. The method of claim 15, wherein: the first adder/subtractor has been logically optimized while preserving its truth table.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The invention will be described with reference to the drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION
Introduction
(13) A digital radio receiver that receives a single-frequency modulated digital signal, for example an amplitude and phase-shift keying (APSK) signal, must interpret a received symbol's amplitude and phase, wherein the signal may be distorted by noise, echoes, fading, interference, and other undesired influences. A digital radio's receive signal typically enters the digital domain at one (intermediate frequency (IF) or low IF) or a pair (zero-IF/baseband) of analog-to-digital converters (ADCs) that may sample a first signal in phase (I) with, and a second signal in quadrature (Q) to the received signal's radio-frequency (RF) carrier. The radio synchronizes the frame, the frequency, and the timing of the received signal, followed by equalization. The synchronized and equalized digital I and Q signals are then jointly offered to a demapper, that interprets the received signal as encoding one of a limited set of symbols. A circuit capable of performing the required rectangular-to-polar conversion and very suitable for integration into a semiconductor chip is the coordinate rotation digital computer (CORDIC). Like any DSP, a CORDIC's quality metrics are its (1) accuracy, for example expressed as its bit width; (2) throughput, for example expressed as operations per second; (3) latency, for example expressed in seconds or in clock cycles; (4) power, for example expressed in W or W/operation; and (5) die area occupied in a semiconductor chip. In case of a digital radio demapper, all five quality metrics are important. Embodiments of the invention achieve good results for all these metrics simultaneously.
(14)
(15)
(16) An Optimized Parallel CORDIC
(17)
(18) In parallel CORDIC 500, each full CORDIC cell 510 and each reduced CORDIC cell 520 is dedicated to one fixed stage of a CORDIC algorithm, and therefore its bit-shift will not vary. The embodiment uses only wire connections to route the correct bits from x and y data inputs to the applicable adder/subtractors.
(19)
(20) In the z-path, which runs from input z(i) to output z(i+1), the embodiment calculates z(i+1) from z(i) and a fixed parameter 660. The fixed parameter 660 value depends only on the coordinate system m. If the parallel CORDIC is specific for a demapper application, or similar, then m=1 (circular coordinates) and fixed parameter 660 has the value arctan(2.sup.i). An embodiment for another application may use a different coordinate system, and have 2.sup.i or arctan h(2.sup.i) for fixed parameter 660. In any case, fixed parameter 660 depends only on i. The embodiment hardwires fixed parameter 660 at the relevant input of adder/subtractor 650. An embodiment may tie 0-bits directly to a bit-level representing 0, such as ground, and 1-bits directly to a bit-level representing 1, such as VDD. Since there are no gates and memories involved in the (hardwired) bit-shift 620 and bit shift 640 and the (hardwired) fixed parameter 660, full CORDIC cell 600 is smaller than a conventional CORDIC cell and uses less power. Another embodiment, as will be explained with reference to
(21)
(22) An example of rounding and truncated fixed parameters is as follows. In a demapper, a CORDIC rectangular-to-polar conversion. The CORDIC is used with m=1 (circular coordinates) and fixed parameter 660 has the value arctan(2.sup.i). For small values of an angle , the value of arctan() approaches . Therefore, for i>>1, for example, i>5, arctan(2.sup.i)2.sup.i. A CORDIC embodiment for this example may use five instances of full CORDIC cell 600 for the initial five iterations, and twelve instances of reduced CORDIC cell 700 for the remaining iterations needed to achieve 16-bit precision. Each instance i of reduced CORDIC cell 700 may round the fixed parameter arctan(2.sup.i) to the nearest number 2.sup.i with the required precision (also 2.sup.i) to obtain a binary word consisting of a string of 0-bits, followed by a single 1-bit, followed by the least significant bits, another string of 0-bits. The least significant bits are truncated.
(23) A further embodiment of the invention balances the latency of the shortened adder/subtractor in the z-path with the latency of the full-length adder/subtractors in the x and y-paths. Since the shortened adder/subtractor does not need to be faster than the full-length adder/subtractors, it can be implemented to run relatively slower, thereby further reducing the power it dissipates.
(24) Generally, a reduced CORDIC cell 700 is less precise than a full CORDIC cell 600 or a conventional CORDIC cell. The reduced precision may result in an increase in, for example, the bit-error-rate (BER) in a digital radio receiver. A good radio designer will determine a radio system's BER sensitivity to a planned truncation before implementing it.
(25) Hard-Wired Bit-Shift
(26)
(27)
(28)
(29) Whereas
(30) Hardwired and Truncated Rounded Fixed Parameter
(31)
(32)
(33)
(34) Further embodiments may use any combination of the circuits in
(35)
(36) TABLE-US-00001 ci A B co S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1
(37) TABLE-US-00002 ci A B co S 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0
(38) The circuits of
(39) Whereas
(40)
(41) Step 1110directly forwarding bits of x and y input signals to a first adder/subtractor and a second adder/subtractor to calculate x and y output bits, respectively, wherein the directly forwarding may comprise forwarding the bits of the x and y input signals via buffers but not via multiplexers.
(42) Step 1120forwarding a first part of bits from a z input signal to a shortened adder/subtractor, and a second part of the bits from the z input signal to a second part of bits from a z output signal. An embodiment forwards the second part of the bits directly, or via buffers.
(43) Step 1130in the shortened adder/subtractor, either adding or subtracting bits of a truncated rounded fixed parameter to or from the first part of the bits from the z input signal, to calculate a first part of the bits from the z output signal.
(44) The CORDIC cell in method 1100 may include a shortened adder/subtractor with a ripple-carry adder, or any other adder that is known in the art. The first and the second adder/subtractor may include a ripple-carry adder, a carry-lookahead adder, a carry-save adder, or any other adder that is known in the art. Each of the shortened adder/subtractor, the first adder/subtractor and the second adder/subtractor may have been logically optimized while preserving its truth table, for example to optimize for area, power, latency, and/or throughput, or for any other quality metric known in the art.
(45) General
(46) Although the description has been provided with respect to particular embodiments thereof, these particular embodiments are merely illustrative, and not restrictive. For example, all figures illustrate single-ended logic, whereas embodiments of the invention could, without loss of generality, include or be fully built with differential logic.
(47) Any suitable logic technology can be used to implement the circuits of particular embodiments including CMOS, NMOS, PMOS, BiCMOS, bipolar, hetero junction bipolar (BJT), FinFET, nanowire, carbon-nanotube FET, etc. The invention may be implemented in dedicated circuits fabricated in a semiconductor material, or as temporary circuits programmed in a field-programmable gate array (FPGA). Particular embodiments may be implemented by using programmable logic devices, optical, chemical, biological, quantum or nanoengineered systems, etc. Other components and mechanisms may be used. In general, the functions of particular embodiments can be achieved by any means as known in the art.
(48) It will also be appreciated that one or more of the elements depicted in the drawings/figures can also be implemented in a more separated or integrated manner, or even removed or rendered as inoperable in certain cases, as is useful in accordance with a particular application.
(49) As used in the description herein and throughout the claims that follow, a, an, and the includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of in includes in and on unless the context clearly dictates otherwise.
(50) Thus, while particular embodiments have been described herein, latitudes of modification, various changes, and substitutions are intended in the foregoing disclosures, and it will be appreciated that in some instances some features of particular embodiments will be employed without a corresponding use of other features without departing from the scope and spirit as set forth. Therefore, many modifications may be made to adapt a particular situation or material to the essential scope and spirit.