WO1988008567A1 - Truncated product partial canonical signed digit multiplier - Google Patents
Truncated product partial canonical signed digit multiplier Download PDFInfo
- Publication number
- WO1988008567A1 WO1988008567A1 PCT/US1988/001294 US8801294W WO8808567A1 WO 1988008567 A1 WO1988008567 A1 WO 1988008567A1 US 8801294 W US8801294 W US 8801294W WO 8808567 A1 WO8808567 A1 WO 8808567A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signal
- multiplier
- bit
- complement
- output
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0238—Measures concerning the arithmetic used
- H03H17/0239—Signed digit arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/4824—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices using signed-digit representation
Definitions
- This invention relates to binary multiplier systems and, in particular to such multiplier systems which are adapted for use in a Finite Impulse Response (FIR) digital filter arrangement.
- FIR Finite Impulse Response
- Christopher and Sprague FIR filter arrangement a plurality of specifically delayed signal samples are multiplied by predetermined coefficients and the resulting products are summed to provide the desired filter characteristic.
- the multiplication and summing functions are performed in that FIR filter making use of shift matrix and adder circuits designed to function with two's complement arithmetic.
- Christopher and Sprague recognized that simplification of the arithmetic operations is particularly desirable in an FIR filter in order to minimize circuit complexity and to. maximize computational speed.
- Christopher and Sprague employed arrangements for truncating the partial product outputs of their multiplier circuits to eleven bits where eight bit multiplicand and canonical signed digit (CSD) multiplier quantities were employed.
- Christopher and Sprague only simulated or approximated the steps required to convert the truncated partial products to two's complement form.
- Christopher et al supplied sign information of the multiplier quantity as a carry input for the least significant bit of the adder of each multiplier stage.
- the operations of truncation and two's complementing are non-commutative and therefore special steps must be ta en depending on the order of performing operations in order to insure an accurate result.
- Christopher et al proposed arrangements for sensing and utilizing "carry" signals occurring at the outputs of the various stages of the multiplier (adders) to control system signal gain and thereby prevent data "overflow". Specifically, the carry bits from a plurality of multiplier stages were summed by Christopher and Sprague in a common circuit and the resulting sum was taken to be indicative of "overflow” of the capacity of the arithmetic circuits. It was proposed by Christopher and Sprague that the gain of analog signal amplifier(s) preceding the FIR filter input be adjusted in response to the carry information to reduce the occurrence of such "overflow” conditions. The presence of that gain control capability has not been found to be required in an FIR filter in the general case. THE INVENTION
- the novel multiplier embodying the invention is a Truncated Product Partial Canonical Signed Digit Multiplier (hereafter also sometimes referred to as PCSD) .
- PCSD Truncated Product Partial Canonical Signed Digit Multiplier
- CSD Canonical signed digit
- the product is truncated from 16 to 11 bits while maintaining consistent two's complement arithmetic.
- the PCSD embodying, the invention when compared to a full multiplier, may be fabricated in one third the area and is typically faster by a factor of fifty percent.
- the two's complement of -128 10 would require a nine bit two's complement representation, but it's one's complement requires only eight bits.
- one's complements of numerical values are formed and thereafter, two's complement representations are formed by adding one (when needed) at the time that two partial products are summed, thus avoiding the need for an overflow (ninth) bit while still allowing internal partial' products to be formed with a multiplier of -lio (that is - 128 10 scaled by dividing by 128 20 ) • Product truncation has been accomplished in this design in an efficient and unique manner.
- CSD MULTIPLIERS one's complements of numerical values are formed and thereafter, two's complement representations are formed by adding one (when needed) at the time that two partial products are summed, thus avoiding the need for an overflow (ninth) bit while still allowing internal partial' products to be formed with a multiplier of -lio (that is - 128 10 scaled by dividing by
- Binary multiplication usually involves shifting and adding in one form or another and this holds for the CSD approach.
- the coding of the multiplier required by CSD is similar to Booth recoding: that is, signed digits, sometimes referred to hereafter as trits, are used instead of bits, where trits are defined to be digits which may assume the value of zero (0) , one (1) , or minus one (-1) .
- trits are defined to be digits which may assume the value of zero (0) , one (1) , or minus one (-1) .
- the 8-bit two's complement number 00111111 could be recoded as 0100000T, where T is used to represent a (-1) trit in the written notation.
- PCSD canonical signed digit ⁇
- the PCSD multiplier quantity is coded as two non-zero signed digits (or Booth recoded bits) .
- decimal number 15 is represented in binary as 0001111 and it is
- an 8-bit multiplier control word is divided into two nibbles, where each "nibble" includes 4 bits and each nibble implements a non-zero signed digit.
- One bit (e.g. , the most significant bit) ( sb) of each nibble specifies whether or not to form the two's complement of an incoming multiplicand (i.e., that bit indicates the "sign" of the nibble) ;
- the second most significant bit is an instruction to shift right by one (i.e., multiply by 1/2);
- the third msb is a shift right by two instruction (i.e., multiply by 1/4) ;
- the lsb of the nibble is a shift right by four
- the maximum shift right instruction was limited to a shift right by six.
- the multiplier nibble having one's in each of the three least significant bit positions was, coded to represent a zero value multiplier by Christoper et al.
- a shift right by seven has been implemented as well
- an eight bit recoded multiplier 0001000 would be coded as 01101111.
- the four least significant bit (right end) the first one signifies a negative sign while th three additional one's indicate a shiftright by seven (one plu two plus four) or a multiply by 1/128.
- a multiplier circuit in order to simplify and further improve the performanc of FIR digital filters as compared to the prior arrangements o this type, in accordance, with the present invention in digital filter for producing filtered output signals b combining weighted time sequential samples of a digital inpu data signal, a multiplier circuit comprises a first shif matrix having a data signal input for receiving an N-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a first signed multiplier signal, and a partial product output for providing a one's complement form of the multiplicand signal shifted by a first predetermined number of bit positions determined by the value of the multiplier, the partial product being truncated to a number of bits less than 2N-1.
- the multiplier further comprises a second shift matrix having a data signal input for receiving an N-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a second signed multiplier signal, and a partial product output for providing a one's complement form of the multiplicand signal shifted by a second predetermined number of . bit positions determined by the value of the second multiplier signal, the partial product output being truncated to a number of bits which is less than 2N-1.
- the multiplier further comprises logic means associated with each of the shift matrices for evaluating the bits truncated from each of the partial product outputs as a function of the magnitude and sign of associated multiplier bits to provide first and second carry signal outputs suited for forming two's complement forms of the partial products.
- a first adder is provided having a first addend input coupled to the truncated one's complement partial product output of the first shift matrix, a second addend input coupled to the truncated one's complement partial product output of the second shift matrix, a carry input coupled to the first carry signal output and an output at which a weighted product signal is provided which, when combined with the second carry signal output comprises a two's complement product signal.
- FIGURE 1 is a block diagram of a partial canonical signed digit (PCSD) multiplier constructed in accordance with the present invention
- FIGURE 2 is a block diagram of a portion of a Finite Impulse Response (FIR) digital filter employing a PCSD multiplier of the type shown in FIGURE 1;
- FIR Finite Impulse Response
- FIGURE 3 is a more detailed block diagram of a PCSD multiplier embodying the invention and suitable for use in the system of FIGURE 2;
- FIGURE 4 is a detailed schematic diagram of the details of logic circuits for generating carry signals
- FIGURE 5 is detailed schematic diagram of a shift matrix circuit constructed in accordance with the present invention.
- FIGURE 6 is a truth table for the carry control logic circuit of FIGURE 4.
- FIG. 1 is a block diagram of a PCSD multiplier circuit 10 embodying the invention.
- An 8-bit two's complement multiplicand is applied to input 11.
- the multiplicand is coupled via a buffer 13 to the multiplicand input 14a of a first shift matrix 15 and to the multiplicand input 14b of a second shift matrix 17.
- the 8- bit multiplicand is applied to the inputs of each one of the two shift matrices 15, 17.
- An 8-bit multiplier control word is shown applied to a terminal 19.
- terminal 19 represents 8 input lines, each line carrying a different one of the 8-bits forming the " control word (as will be explained more fully in connection with Figures 2-4) .
- the control word is divided .into two groups of four, each group of four being defined as a "nibble".
- One nibble is applied to the multiplier input 16a of the first shift matrix 15 and the other nibble is applied to the multiplier input 16b of the second shift matrix 17.
- An 11-bit partial product is generated in each shift matrix.
- the 11-bit partial product (A) of the first shift matrix 15 and a carry input (CCl) produced in the first shift matrix are applied to a binary full adder 21.
- the partial product (B) produced in the second shift matrix 17 is also applied to adder 21 whereby adder 21 produces at its output 23 an 11-bit binary output.
- a binary full adder typically accepts two addend inputs and a carry input and produces sum and carry outputs.
- the output 23 of adder 21 is the sum of its 3 inputs (the 3 inputs being the partial products A and B of the first and second shift matrices 15, 17 and of the carry control output CCl of the first shift matrix 15) .
- a carry control signal CC2 generated in the second shift matrix 17 is available to control the carry input of the next adder stage in the system (see Figure 2) .
- FIG. 2 shows the PCSD multiplier 10 used in an FIR filter.
- the carry control output (CC2) of the PCSD multiplier 10 is used to control the carry inputs (CIN) of "filter adders” such as 31a, 31b, 31c shown in Figure 2, thus completing the multiply function.
- each such filter adder 31a, 31b, 31c, etc. is a conventional "full adder” and therefore has the conventional two addend inputs plus one carry input. That fact is taken advantage of in a special manner as will be explained below.
- Addition of the second one is accomplished by outputting a control line 27 to be used as a carry input control in the next adder stage in the system - this is always possible in FIR filter structures.
- Figure 2 shows how the carry control output CCD of the PCSD multiplier 10 is used to control the carry input of the filter adders 31 in an FIR structure.
- Figures 4 and 5 show the logic used to generate the carry control signals (CCl and/or CC2) produced at the output of each shift matrix 15, 17.
- One complete shift matrix (e.g 15) is shown in Figure 5 and includes three banks of controllable paired switches 28a-h, 29a-j and 30a-j, four inverting multiplier input stages 32, 33, 34 and 35 to which the multiplier bits of one nibble are applied, an eleven bit one's complementer output arrangement 25 and a three gate carry logic, arrangement 26.
- each of the bits of the four bit multiplier nibble provided at terminal 19 is applied to the appropriate one of the multiplier input stages 32-35 in a conventional manner by means of clocking or enabling signals (not shown) .
- the multiplier sign bit (designated “I") is applied at the input of inverter stage 32
- the "shiftright by one” bit (designated “1") is applied at the input of inverter stage 33
- the "shiftright by two” bit designated “2”
- the "shift right by four” bit designated "4) is applied at the input of inverter stage 35.
- the output of the multiplier 15 is not a full sixteen bit output but rather is truncated at eleven bits, only three additional lower order bit lines labelled M(-l) , M(-2) and M(-3) are provided in shift matrix 15. The inputs of each of the three last-named lines are grounded (zero) .
- the outputs of the switch bank 30 are applied to exclusive NOR gates 25 in the associated one's complementer along with multiplier "sign" information, the three zeroes will be converted to one's if the multiplier sign is negative and will remain zeroes otherwise.
- inverter 34 in association with switch bank 29a-j (ten switch pairs are required in bank 29 to take into account the lower order bits such as M(-2) and M(-3)) operates to switch input multiplicand bits two places to the right wherever the upper halves of switches 29a-j are closed.
- the incoming multiplicand digits M0-M7 will be shifted right (downward in Figure 5) by three bit places.
- inverter 35 in association with the "shift by four" switch bank 30a-j serves to selectively multiply the incoming multiplicand bits by an additional factor of 1/16 (shift by four bit places to the right) .
- the eleven bit output from switch bank 30a-j is supplied to one's complementer stage 25 which comprises eleven exclusive OR gates 25a-k, with one gate for each of the eleven output bit lines.
- One of the inputs to each of the NOR gates 25a-k is supplied from the output of the multiplier sign inverter stage
- a second input to each of the NOR gates 25a-k is provided by the eleven bit partial product.
- the complementer stage 25 simply provides a one's complement, as required, under control of the sign bit of the applied multiplier nibble.
- the sign information (M7) associated with the multiplier is appropriately loaded into one, two or four additional more significant bit stages (see connections to M7 line via upper halves of switches 28a, 29a and 29b, and 30a-d) depending upon the states of inverters
- an appropriate signal must be generated to effectively add "one" into the least significant bit position of the non-trucated one's complement form of the generated partial product by appropriately adding (or not adding) "one" to the least significant bit of the truncated partial product output.
- the carry control outputs of the shift matrix 15 (or 17) control a "carry" input of the adder stage 21 (or 31) and are generated using only three gates.
- the " three gates are illustrated as a four input NOR gate 26a, a two input NOR gate 26b, and a two input NOR gate 26c.
- This logic is needed to maintain consistent two's complement arithmetic with truncation.
- This control logic is small and fast and much more efficient than a two's complementer stage because it uses functions already generated within the shift matrix 15 (or 17) as inputs. This control logic is a significant feature of the multiplier design.
- the adder carry input control logic eliminates the need for a two's complementer while maintaining correct truncated two's complement arithmetic. By using certain logic functions automatically generated in the shift matrix as inputs to the carry input control logic block the amount of logic is held to a minimum.
- the truth table for the CIN function produced at the output of NOR gate 26c is given by Figure 6.
- the logic mean associated with each- of the shift matrices 15, 17 is arrange to evaluate the bits truncated from each of the partial produc outputs as a function of the magnitude and sign of th associated multiplier bits to provide first and second carr signal outputs suited for forming two's complement forms of th respective truncated one's complement partial products.
- the foregoing logic evaluates the values of the bit truncated from the partial product output effectively t determine whether a one added to the least significant bit o the non-truncted product would cause a carry into the leas significant bit of the truncated partial product. Based upo that information and the value of the multiplier (and it sign), the logic circuit 26 provides the necessary "carry signal output to convert the truncated one's complement form o the partial product output to the correct two's complemen value.
- the system utilizes signals available in the switc banks 28, 29, 30.
- the system is arranged to recognize that, when the multiplier inputs to the one's complementer gates 25h k are zero and the sign of the multiplier nibble is negativ (signifying a orie's complement, operation should occur) and shift by four or more is required by the magnitude of th applied multiplier nibble, all of the truncated bits in th one's complement output would be one's, thereby signifying tha a CIN output should be generated.
- the multiplier has been extensively modeled by both circuit and logic simulator techniques using ' a Mentorgraphics workstation. Behavioral modeling of the multiplier coupled with exhaustive comparison of the model to the "transistor level description" ensures that the intended function has been implemented at the transistor level.
- the high level behavioral model is the formal implementation of the software specification describing the functionality of the multiplier; it implements the entire truth table.
- the simulation compared the transistor level description of one actual implementation to a software model written in_ a straightforward fashion; it performs two's complementation, carries extra bits on MSD side and truncates as its last operation.
- the model property with the value of mult on the symbol tells the simulator that a Pascal program of like name describes the behavior of the symbol.
- the code for the Pascal program which models the functional multiplier behavior is appended to the end of this document (Appendix A) .
- This model was compared exhaustively to a "transistor" description of the circuit by running the logic simulator. The comparison was conducted by driving both the behavioral model description and the primitive description with the same counter and then instructing the simulator to test the circuit outputs for any differences and to break if a difference is found. This comparison insures correct products for all possible multipliers and multiplicands - it takes one day to run the simulation.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
A truncated product partial canonical signed digit (PCSD) multiplier (10) is disclosed for use in a finite impulse response (FIR) digital filter. Each multiplier quantity (19) is coded as two non-zero signed digits in an 8-bit word. Each non-zero signed digit is recoded into a four bit nibble (16a and 16b) for application to the multiplier. Each partial product output of the multiplier (A and B) is truncated from 16 to 11 bits. The multiplier operations are performed in the sequence shift right, truncate, one's complement, add partial products and, according to the output of a logic control circuit, add one into an appropriate order.
Description
TRUNCATED PRODUCT PARTIAL CANONICAL SIGNED DIGIT MULTIPLIER
BACKGROUND OF THE INVENTION
This invention relates to binary multiplier systems and, in particular to such multiplier systems which are adapted for use in a Finite Impulse Response (FIR) digital filter arrangement.
In U. S . Patent No. 4 , 486 , 851, entitled "Incrementing/Decrementing Circuit for a FIR Filter* and in U.S. Patent No. 4,507,725, entitled "Digital Filter Overflow Sensor", each of which patents were granted to L.A. Christopher and D.L. Sprague, a finite impulse response filter is described. Additional details of such an arrangement are also provided in the 1982 Master's Thesis submitted by Christopher to MIT (Massachusetts Institute of Technology) entitled "A Versatile FIR Filter for Use in the Video Processing Section of a Digital Television Receiver". In the Christopher and Sprague FIR filter arrangement, a plurality of specifically delayed signal samples are multiplied by predetermined coefficients and the resulting products are summed to provide the desired filter characteristic. The multiplication and summing functions are performed in that FIR filter making use of shift matrix and adder circuits designed to function with two's complement arithmetic. Christopher and Sprague recognized that simplification of the arithmetic operations is particularly desirable in an FIR filter in order to minimize circuit complexity and to. maximize computational speed. To that end, Christopher and Sprague employed arrangements for truncating the partial product outputs of their multiplier circuits to eleven bits where eight bit multiplicand and canonical signed digit (CSD) multiplier quantities were employed. Furthermore in performing two's complement multiplication, Christopher and Sprague only simulated or approximated the steps required to convert the truncated partial products to two's complement form. Christopher et al supplied sign information of the multiplier quantity as a carry input for the least significant bit of the adder of each multiplier stage. In practice, it has been found to be necessary to produce a two's complement
partial product in a more accurate manner in the course of digital computation of signal values while, at the same time, avoiding the introduction of unduly complex signal processing circuits. It has been found that the operations of truncation and two's complementing are non-commutative and therefore special steps must be ta en depending on the order of performing operations in order to insure an accurate result. It should also be noted that Christopher et al proposed arrangements for sensing and utilizing "carry" signals occurring at the outputs of the various stages of the multiplier (adders) to control system signal gain and thereby prevent data "overflow". Specifically, the carry bits from a plurality of multiplier stages were summed by Christopher and Sprague in a common circuit and the resulting sum was taken to be indicative of "overflow" of the capacity of the arithmetic circuits. It was proposed by Christopher and Sprague that the gain of analog signal amplifier(s) preceding the FIR filter input be adjusted in response to the carry information to reduce the occurrence of such "overflow" conditions. The presence of that gain control capability has not been found to be required in an FIR filter in the general case. THE INVENTION
Specifically in connection with the design of such a Finite Impulse Response (FIR) Filter chip, the need for a novel multiplier arose which has significant advantages in terms of reduced area and increased speed over previous designs. The novel multiplier embodying the invention is a Truncated Product Partial Canonical Signed Digit Multiplier (hereafter also sometimes referred to as PCSD) . Canonical signed digit (CSD) multipliers are known in the art (see, for example, L. Schmidt, "Designing Programmable Digital Filters for LSI Implementation" Hewlett-Packard Journal; September, 1978, PP 15-23). As noted above, Christopher et al described an approximation to a PCSD multiplier. Applicants and Christopher et al each recognized that a partial CSD multiplier, in which only two partial products are generated internally, is sufficient for the 8-bit multipliers used in a wide range of applications of video rate FIR filters. By limiting the partial products to two, and by implementing the carry function in accordance with the invention, saves hardware and allows higher order filters to be
implemented as a single chip than would otherwise be possible. In most video applications only a limited number of produc bits are needed from a systems design standpoint. For example, for an 8-bit input and output filter system, an internal precision of 11-bits insures that the 8-bit output i sufficiently accurate for many practical applications. Consequently, in the CSD multiplier design the product is truncated from 16 to 11 bits while maintaining consistent two's complement arithmetic. The PCSD embodying, the invention, when compared to a full multiplier, may be fabricated in one third the area and is typically faster by a factor of fifty percent. Arranging the operations needed in a CSD multiplier according to this invention, as will appear below, i.e., shiftright and truncate, one's complement, add partial products, and add one, when appropriate, into the order listed, one achieves the additional benefit that the most negative two's complement number to be handled is handled correctly without the need for the added circuitry to handle an extra overflow bit: - that is, multiplier values of - 12810 to +12710 may be represented as 8-bit two's complement numbers. In the arrangement described below, numerical values are scaled by dividing by 12810 to create binary fractions appropriate to prevent overflow in the associated FIR filter. The two's complement of -12810 would require a nine bit two's complement representation, but it's one's complement requires only eight bits. In accordance with the present invention, one's complements of numerical values are formed and thereafter, two's complement representations are formed by adding one (when needed) at the time that two partial products are summed, thus avoiding the need for an overflow (ninth) bit while still allowing internal partial' products to be formed with a multiplier of -lio (that is - 12810 scaled by dividing by 12820) • Product truncation has been accomplished in this design in an efficient and unique manner. CSD MULTIPLIERS
Binary multiplication usually involves shifting and adding in one form or another and this holds for the CSD approach. The coding of the multiplier required by CSD is similar to Booth recoding: that is, signed digits, sometimes referred to hereafter as trits, are used instead of bits, where trits are defined to be digits which may assume the value of zero (0) ,
one (1) , or minus one (-1) . Thus the 8-bit two's complement number 00111111 could be recoded as 0100000T, where T is used to represent a (-1) trit in the written notation.
The coding technique related to Booth's algorithm (canonical signed digit) is used to simplify the multiplication process - this technique yields very compact and very fast multiplier circuits. The term partial canonical signed digit ■ (PCSD) herein refers to CSD multipliers with only two internal truncated partial products.
The PCSD multiplier quantity is coded as two non-zero signed digits (or Booth recoded bits) . For example the decimal number 15 is represented in binary as 0001111 and it is
* represented in CSD as OόlOOOT. Notice that the straight binary representation requires four non-zero binary bits while the CSD coefficient requires only two non-zero signed digits. In PCSD all multipliers are represented using two non-zero signed digits. In this way, only two partial product computations need be performed (one for each non-zero signed digit) and thereafter the partial products may be summed in a straightforward full adder along with one "carry" signal produced in accordance with this invention to produce a partial product which, after summing with a second "carry" signal, results in the desired product. As was the case in the
Christopher configuration, in a partial canonical signed digit multiplier embodying this invention, an 8-bit multiplier control word is divided into two nibbles, where each "nibble" includes 4 bits and each nibble implements a non-zero signed digit. One bit (e.g. , the most significant bit) ( sb) of each nibble specifies whether or not to form the two's complement of an incoming multiplicand (i.e., that bit indicates the "sign" of the nibble) ; the second most significant bit is an instruction to shift right by one (i.e., multiply by 1/2); the third msb is a shift right by two instruction (i.e., multiply by 1/4) ; and the lsb of the nibble is a shift right by four
(i.e., multiply by 1/16) instruction.
In the Christoper et al configuration, the maximum shift right instruction was limited to a shift right by six. The multiplier nibble having one's in each of the three least significant bit positions was, coded to represent a zero value multiplier by Christoper et al. In the case of the present
invention, a shift right by seven has been implemented as well Thus, for example, an eight bit recoded multiplier 0001000 would be coded as 01101111. In the four least significant bit (right end) , the first one signifies a negative sign while th three additional one's indicate a shiftright by seven (one plu two plus four) or a multiply by 1/128.
In order to simplify and further improve the performanc of FIR digital filters as compared to the prior arrangements o this type, in accordance, with the present invention in digital filter for producing filtered output signals b combining weighted time sequential samples of a digital inpu data signal, a multiplier circuit comprises a first shif matrix having a data signal input for receiving an N-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a first signed multiplier signal, and a partial product output for providing a one's complement form of the multiplicand signal shifted by a first predetermined number of bit positions determined by the value of the multiplier, the partial product being truncated to a number of bits less than 2N-1. The multiplier further comprises a second shift matrix having a data signal input for receiving an N-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a second signed multiplier signal, and a partial product output for providing a one's complement form of the multiplicand signal shifted by a second predetermined number of . bit positions determined by the value of the second multiplier signal, the partial product output being truncated to a number of bits which is less than 2N-1. The multiplier further comprises logic means associated with each of the shift matrices for evaluating the bits truncated from each of the partial product outputs as a function of the magnitude and sign of associated multiplier bits to provide first and second carry signal outputs suited for forming two's complement forms of the partial products. A first adder is provided having a first addend input coupled to the truncated one's complement partial product output of the first shift matrix, a second addend input coupled to the truncated one's complement partial product output of the second shift matrix, a carry input coupled to the first carry signal output and an output at which a weighted
product signal is provided which, when combined with the second carry signal output comprises a two's complement product signal.
THE DRAWINGS
FIGURE 1 is a block diagram of a partial canonical signed digit (PCSD) multiplier constructed in accordance with the present invention;
FIGURE 2 is a block diagram of a portion of a Finite Impulse Response (FIR) digital filter employing a PCSD multiplier of the type shown in FIGURE 1;
FIGURE 3 is a more detailed block diagram of a PCSD multiplier embodying the invention and suitable for use in the system of FIGURE 2;
FIGURE 4 is a detailed schematic diagram of the details of logic circuits for generating carry signals;
FIGURE 5 is detailed schematic diagram of a shift matrix circuit constructed in accordance with the present invention; and
FIGURE 6 is a truth table for the carry control logic circuit of FIGURE 4. DETAILED DESCRIPTION
Figure 1 is a block diagram of a PCSD multiplier circuit 10 embodying the invention. An 8-bit two's complement multiplicand is applied to input 11. The multiplicand is coupled via a buffer 13 to the multiplicand input 14a of a first shift matrix 15 and to the multiplicand input 14b of a second shift matrix 17. Thus in the circuit of Figure 1 the 8- bit multiplicand is applied to the inputs of each one of the two shift matrices 15, 17. An 8-bit multiplier control word is shown applied to a terminal 19. In fact, terminal 19 represents 8 input lines, each line carrying a different one of the 8-bits forming the"control word (as will be explained more fully in connection with Figures 2-4) . The control word is divided .into two groups of four, each group of four being defined as a "nibble". One nibble is applied to the multiplier input 16a of the first shift matrix 15 and the other nibble is applied to the multiplier input 16b of the second shift matrix 17. An 11-bit partial product is generated in each shift matrix. The 11-bit partial product (A) of the first shift matrix 15 and a carry input (CCl) produced in the first shift
matrix are applied to a binary full adder 21. The partial product (B) produced in the second shift matrix 17 is also applied to adder 21 whereby adder 21 produces at its output 23 an 11-bit binary output. As is well known, a binary full adder typically accepts two addend inputs and a carry input and produces sum and carry outputs. Thus the output 23 of adder 21 is the sum of its 3 inputs (the 3 inputs being the partial products A and B of the first and second shift matrices 15, 17 and of the carry control output CCl of the first shift matrix 15) . In addition, a carry control signal CC2 generated in the second shift matrix 17 is available to control the carry input of the next adder stage in the system (see Figure 2) .
Figure 2 shows the PCSD multiplier 10 used in an FIR filter. The carry control output (CC2) of the PCSD multiplier 10 is used to control the carry inputs (CIN) of "filter adders" such as 31a, 31b, 31c shown in Figure 2, thus completing the multiply function. Similarly to the adder 21 mentioned above, each such filter adder 31a, 31b, 31c, etc., is a conventional "full adder" and therefore has the conventional two addend inputs plus one carry input. That fact is taken advantage of in a special manner as will be explained below.
The structure of the shift matrix (15 or 17) is presented in more detail in Figure 3. A unique feature of the multipliers is the way product truncation is accomplished. The design does not use a two's complementer circuit to handle negative multipliers because they are very slow and consume too much area. Instead, a simple one's complementer 25 is used internal to each shift matrix block 15, 17 and one is added by selectively controlling the carry input of a subsequent adder such as 21 or 31. Efficient control of the carry, input is a unique feature which is provided by means of carry logic circuits 26 contained within each of shift matrices 15 and 17. Each of the two multiplier nibbles could have negative values- this would require adding two or equivalently adding one twice. Addition of the second one is accomplished by outputting a control line 27 to be used as a carry input control in the next adder stage in the system - this is always possible in FIR filter structures. As noted above, Figure 2 shows how the carry control output CCD of the PCSD multiplier 10 is used to control the carry input of the filter adders 31
in an FIR structure.
Figures 4 and 5 show the logic used to generate the carry control signals (CCl and/or CC2) produced at the output of each shift matrix 15, 17. One complete shift matrix (e.g 15) is shown in Figure 5 and includes three banks of controllable paired switches 28a-h, 29a-j and 30a-j, four inverting multiplier input stages 32, 33, 34 and 35 to which the multiplier bits of one nibble are applied, an eleven bit one's complementer output arrangement 25 and a three gate carry logic, arrangement 26.
In the shift matrix 15, each of the bits of the four bit multiplier nibble provided at terminal 19 is applied to the appropriate one of the multiplier input stages 32-35 in a conventional manner by means of clocking or enabling signals (not shown) . Thus the multiplier sign bit (designated "I") is applied at the input of inverter stage 32, the "shiftright by one" bit (designated "1") is applied at the input of inverter stage 33, the "shiftright by two" bit (designated "2") is applied at the input of inverter stage 34 and the "shift right by four" bit (designated "4) is applied at the input of inverter stage 35.
In the case where any of the "1", "2" or "4" inputs is in the "zero" state, the respective inverter 33, 34, 35 will provide a"one". at its output. Conversely, if the inputs "1", "2" or "4" are in a "one" state, a zero output is provided. In the corresponding bank of switches (switches 28a-h correspond to inverter 33, switches 29a-j correspond to inverter' 34, etc.), a plurality of pairs of switches is provided. The paired switches operate in complementary manner (i.e. one is open when the other is closed and vice versa) in response to the state of associated control lines (33i from the input or 33o from the output of the associated inverter such as 33) . As shown in Figure 5, a lower switch in each pair is open when the associated multiplier bit input is one and is closed when the associated multiplier bit input is zero. The latter condition would signify that no shifting of the input multiplier bits should take place. Inspection of Figure 5 will show that, in that case, all of the multiplier bits M0-M6 will pass through switch bank 28 without experiencing any shift (multiplication) . The most significant (sign) bit M7 passes directly along a line
to one's complementer 25. Shift connection lines 36 are provided between adjacent bit lines (e.g, M7 and M6, M6 and M5, etc.) via the upper halves of the paired switches 28a-h when such upper halves are closed and the lower halves are opened. Thus, if the control input (multiplier bit) applied to the input of inverter 33 is a "one", signifying that a "multiply by one-half" or "shiftright by one" is to take place, all of the upper halves of the paired switches 28a-h will be closed and the lower halves of the paired switches 28a-h will be open. In that case, the multiplicand bit M7 also will be shifted via a shift connector line 36 and the upper switch of pair 28a to the next lower bit line. The same shifting (one bit right) will take place for all bits in the incoming multiplicand. Furthermore, in view of the fact, as noted above, that the output of the multiplier 15 is not a full sixteen bit output but rather is truncated at eleven bits, only three additional lower order bit lines labelled M(-l) , M(-2) and M(-3) are provided in shift matrix 15. The inputs of each of the three last-named lines are grounded (zero) . As will be seen below, since the outputs of the switch bank 30 are applied to exclusive NOR gates 25 in the associated one's complementer along with multiplier "sign" information, the three zeroes will be converted to one's if the multiplier sign is negative and will remain zeroes otherwise.
In a similar manner, it can be seen that inverter 34 in association with switch bank 29a-j (ten switch pairs are required in bank 29 to take into account the lower order bits such as M(-2) and M(-3)) operates to switch input multiplicand bits two places to the right wherever the upper halves of switches 29a-j are closed. Thus, if both inverter 33 and inverter 34 are provided with a "one" at their inputs, the incoming multiplicand digits M0-M7 will be shifted right (downward in Figure 5) by three bit places.
Finally, inverter 35 in association with the "shift by four" switch bank 30a-j serves to selectively multiply the incoming multiplicand bits by an additional factor of 1/16 (shift by four bit places to the right) .
The eleven bit output from switch bank 30a-j is supplied to one's complementer stage 25 which comprises eleven exclusive OR gates 25a-k, with one gate for each of the eleven output
bit lines. One of the inputs to each of the NOR gates 25a-k is supplied from the output of the multiplier sign inverter stage
32. A second input to each of the NOR gates 25a-k is provided by the eleven bit partial product. The complementer stage 25 simply provides a one's complement, as required, under control of the sign bit of the applied multiplier nibble.
In addition, it should be noted that the sign information (M7) associated with the multiplier is appropriately loaded into one, two or four additional more significant bit stages (see connections to M7 line via upper halves of switches 28a, 29a and 29b, and 30a-d) depending upon the states of inverters
33, 34 and 35.
In order to provide a consistent two's complement product at the output of shift matrix 15, an appropriate signal must be generated to effectively add "one" into the least significant bit position of the non-trucated one's complement form of the generated partial product by appropriately adding (or not adding) "one" to the least significant bit of the truncated partial product output.
In Figure 5, the carry control outputs of the shift matrix 15 (or 17) control a "carry" input of the adder stage 21 (or 31) and are generated using only three gates. In Figure 6, the" three gates are illustrated as a four input NOR gate 26a, a two input NOR gate 26b, and a two input NOR gate 26c. This logic is needed to maintain consistent two's complement arithmetic with truncation. This control logic is small and fast and much more efficient than a two's complementer stage because it uses functions already generated within the shift matrix 15 (or 17) as inputs. This control logic is a significant feature of the multiplier design.
The adder carry input control logic eliminates the need for a two's complementer while maintaining correct truncated two's complement arithmetic. By using certain logic functions automatically generated in the shift matrix as inputs to the carry input control logic block the amount of logic is held to a minimum. The truth table for the CIN function produced at the output of NOR gate 26c is given by Figure 6.
In Figure 6 the table headings refer to Figure 4 (or 5) . MOB is the complement of the zeroth bit of the multiplicand. Similarly, MIB is the complement ("bar") of the first bit of
the multiplicand, and so on. The following Boolean expressio is derived from the truth table where A, B, C, and D ar labeled in Figures 4 and 5. The symbol ^ is intended t represent the unary complement operator. CIN
I- (A-'B C-r5) -4+I- = I-C(A+B+C+EM+4) = ~*( 'ϊ+ ( (A+B+C+D)+-4') ) .
The result of the foregoing is that the logic mean associated with each- of the shift matrices 15, 17 is arrange to evaluate the bits truncated from each of the partial produc outputs as a function of the magnitude and sign of th associated multiplier bits to provide first and second carr signal outputs suited for forming two's complement forms of th respective truncated one's complement partial products. Tha
* is, the foregoing logic evaluates the values of the bit truncated from the partial product output effectively t determine whether a one added to the least significant bit o the non-truncted product would cause a carry into the leas significant bit of the truncated partial product. Based upo that information and the value of the multiplier (and it sign), the logic circuit 26 provides the necessary "carry signal output to convert the truncated one's complement form o the partial product output to the correct two's complemen value. The system utilizes signals available in the switc banks 28, 29, 30.
Specifically, the system is arranged to recognize that, when the multiplier inputs to the one's complementer gates 25h k are zero and the sign of the multiplier nibble is negativ (signifying a orie's complement, operation should occur) and shift by four or more is required by the magnitude of th applied multiplier nibble, all of the truncated bits in th one's complement output would be one's, thereby signifying tha a CIN output should be generated.
The realization of the CIN (carry input) function is bes shown in Figure 4. It will readily be recognized by persons familiar with logic circuit design that NAND logic may b utilized as well as the NOR logic shown.
The multiplier has been extensively modeled by both circuit and logic simulator techniques using 'a Mentorgraphics workstation. Behavioral modeling of the multiplier coupled with exhaustive comparison of the model to the "transistor level description" ensures that the intended function has been
implemented at the transistor level. The high level behavioral model is the formal implementation of the software specification describing the functionality of the multiplier; it implements the entire truth table. The simulation compared the transistor level description of one actual implementation to a software model written in_ a straightforward fashion; it performs two's complementation, carries extra bits on MSD side and truncates as its last operation.
The model property with the value of mult on the symbol tells the simulator that a Pascal program of like name describes the behavior of the symbol. The code for the Pascal program which models the functional multiplier behavior is appended to the end of this document (Appendix A) .
This model was compared exhaustively to a "transistor" description of the circuit by running the logic simulator. The comparison was conducted by driving both the behavioral model description and the primitive description with the same counter and then instructing the simulator to test the circuit outputs for any differences and to break if a difference is found. This comparison insures correct products for all possible multipliers and multiplicands - it takes one day to run the simulation.
Claims
1. In a digital filter for producing filtered output signals by combining weighted time sequential samples of a digital input data signal, a multiplier circuit comprising: a first shift matrix having a data signal input for receiving an N-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a first signed multiplier signal, and a first partial product output for providing a one's complement form of said first multiplicand signal shifted by a first predetermined number of bit positions determined by the value of said first multiplier, said partial product being truncated to a number of bits less than 2N-1; a second shift matrix • having a data signal input for receiving an N-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a second signed multiplier signal, and a second partial product output for providing a one's complement form of said multiplicand signal shifted by a second predetermined number of bit positions determined by the value of said second multiplier signal, said second partial product output being truncated to-a number of bits which is less than 2N-1; logic means associated with each of said shift matrices for evaluating the bits truncated from each of said partial product outputs as a function of the magnitude and sign of associated multiplier bits to provide first and second carry signal outputs suited for forming two's complement forms of said truncated partial products; and a first adder having a first addend input coupled to said truncated one's complement partial product output of said first shift matrix, a second addend input coupled to said truncated one's complement partial product output of said second shift matrix, a carry input coupled to said first carry signal output so as to produce the two's complement of said first partial product and an output at which a weighted product signal is provided which, when combined with said second carry signal output comprises a two's complement product signal.
2. A multiplier circuit according to claim- 1 wherein each said shift matrix is supplied with additional least significant bit fixed inputs and said logic means' is supplied with said least significant bit fixed inputs, with least significant bits of said two's complement multiplicand and with said first signed multiplier signal for evaluating the values of bits truncated from said first partial product output so as to produce a first carry signal output suitable for converting said one's complement form of said truncated first partial product to two's complement form.
3. A multiplier circuit according to claim 2 wherein said logic means" is supplied with said least significant bit fixed inputs and with said second multiplier signal for evaluating the values of bits truncated from said second partial product output so as to produce a second carry signal output suitable for converting said one's complement form of said second partial product to two's complement form.
4. A multiplier circuit according to claim 3 wherein each said partial product is truncated to (2N-5) bits,, each said signed multiplier signal is dimensioned to produce a maximum shift of (N-1) bit positions and the number of said least significant bits supplied to said logic means is 4.
5. A multiplier . circuit according to claim 4 wherein each said shift matrix further comprises (2N-5) controlled inverter stages each having a first input responsive to the sign bit of an associated multiplier and a second input responsive to a single bit of said .two's complement multiplicand signal shifted by a predetermined number of bit positions corresponding to the value of said associated multiplier.
6. A multiplier according to claim 4 wherein each said multiplier signal comprises a four, bit nibble consisting of a sign bit, a multiply by one-half bit, a multiply by one-quarter bit and a multiply by one-sixteenth bit, said first and second multiplier signals comprising in combination a coded weighting coefficient.
7. A multiplier according to claim 6 wherein N = 8 and each said four bit nibble has a maximum value of seven.
8. A multiplier according to claim 1 wherein said digital filter comprises a plurality of orders and a full adder associated with each order of said filter, each said last-named adder having first and second addend inputs for receiving, respectively, a weighted product signal from one of said first adders and a two's complement form of a weighted time sequential sample and further having a carry input for receiving a second carry signal output associated with said weighted product signal and an output for providing, in two's complement form, the sum of addends supplied at said first and second inputs.
9. In a method of producing filtered output signals by combining weighted time sequential samples of a digital input data signal, a method of weighting signal samples comprising: providing an N-bit, two's complement multiplicand signal which is to be weighted, providing an N-bit multiplier signal for weighting said multiplicand signal, encoding said N-bit multiplier signal into two N/2 bit signed multiplier nibbles in which each nibble represents one nonzero signed digit, the two nibbles being selected to approximate said multiplier signal, shifting and truncating bits of said multiplicand signal in. response to each of said nibbles to orders determined by the values of the bits of said nibbles to form first and second truncated partial products, forming one's complements of each of said first and second truncated partial products according to the signs associated with respective nibbles, forming first and second carry signals by evaluating the truncated bits and the multiplier signs and values, adding the first of said carry signals to the one's complement of said first truncated partial product to form a two's complement of the first truncated partial product, summing the two's complement of the first truncated partial product and the one's complement of the second truncated partial product, and • supplying the resulting sum and said second carry signal to a full adder for forming a two's complement sum.
10. In a digital filter for producing filtered output signals by combining weighted time sequential samples of a digital input data signal, a multiplier circuit comprising: a first shift matrix having a data, signal input for receiving an eight-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a first signed multiplier signal, and a first partial product output for providing an eleven bit one's complement form of said first multiplicand signal shifted by a first predetermined number of bit positions determined by the value of said first multiplier signal, said first partial product output being truncated to eleven bits; a second shift matrix having a data signal input for receiving an eight-bit two's complement multiplicand signal which is to be weighted, a control signal input for receiving a second signed multiplier signal, and a second partial product output for providing an eleven bit one's complement form of said multiplicand signal shifted by a second predetermined number of bit positions determined by the value of said second multiplier signal, said second partial product output being truncated to eleven bits; said first and second multiplier signals comprising respective four bit nibbles,- each nibble consisting of a sign bit, a multiply by one-half bit, a multiply by one-quarter bit and a multiply by one-sixteenth bit, said first and second multiplier signals comprising, in combination, a coded version of an eight-bit weighting coefficient having a maximum of two non-zero signed digits, each said nibble corresponding to one of said signed digits and being dimensioned to produce a maximum shift of seven bit positions of an applied multiplicand through its respective shift matrix; each said shift matrix comprising three banks of ten controllable paired switches responsive to associated multiply by one-half, one-quarter and one-sixteenth bits, for shifting the applied multiplicand signal by corresponding"orders of two, the three lowest ordered ones of said paired switches in a first one of said banks in each shift matrix,being supplied with logic "zero" input signals; each said shift matrix further comprising eleven one's complement stages each responsive to one bit of the partial product output of the associated shift matrix and to the sign bit of the associated multiplier nibble to provide a one's complement partial product output from the associated shift matrix;
"logic means associated with each of said shift matrices for evaluating four bits truncated from each of said partial _ π product outputs as a function of the magnitude and sign of associated multiplier bits so as to provide first and second carry signal outputs suited for converting each said one's complement partial product to two's complement form; a first adder having a first addend input coupled to said truncated one's complement partial product output of said first shift matrix, a second addend input coupled to said truncated one's complement partial product output of said second shift matrix, a carry input coupled to said first carry signal output so as to produce the two's complement of said first partial product and an output at which a weighted product signal is provided which, when combined with said second carry signal output comprises a two's complement full product signal; and a second adder associated with one order of said filter, and having first and second addend inputs for receiving, respectively, a weighted product signal from said first adder and a two's complement form of a weighted time sequential sample and further having a carry input for receiving said second carry signal output associated with said weighted product signal and an output for providing, in two's complement form, the sum of addends supplied at said first and second inputs.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB8710357 | 1987-05-01 | ||
GB878710357A GB8710357D0 (en) | 1987-05-01 | 1987-05-01 | Digital multiplier |
US07/178,982 US4967388A (en) | 1988-04-21 | 1988-04-21 | Truncated product partial canonical signed digit multiplier |
US178,982 | 1988-04-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1988008567A1 true WO1988008567A1 (en) | 1988-11-03 |
Family
ID=26292196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1988/001294 WO1988008567A1 (en) | 1987-05-01 | 1988-04-27 | Truncated product partial canonical signed digit multiplier |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO1988008567A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2355560A (en) * | 1999-06-25 | 2001-04-25 | Nec Corp | Decibel adjustment device with shift amount control circuit |
GB2391084A (en) * | 2002-04-12 | 2004-01-28 | Visteon Global Tech Inc | A method for reducing computational steps in a digital processor |
CN100435088C (en) * | 2005-01-11 | 2008-11-19 | 开曼群岛威睿电通股份有限公司 | Canonical signed digit (CSD) coefficient multiplier with optimization |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3691359A (en) * | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
US3919535A (en) * | 1974-08-21 | 1975-11-11 | Singer Co | Multiple addend adder and multiplier |
US4122527A (en) * | 1975-11-04 | 1978-10-24 | Motorola, Inc. | Emitter coupled multiplier array |
US4597053A (en) * | 1983-07-01 | 1986-06-24 | Codex Corporation | Two-pass multiplier/accumulator circuit |
-
1988
- 1988-04-27 WO PCT/US1988/001294 patent/WO1988008567A1/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3691359A (en) * | 1970-07-28 | 1972-09-12 | Singer General Precision | Asynchronous binary multiplier employing carry-save addition |
US3919535A (en) * | 1974-08-21 | 1975-11-11 | Singer Co | Multiple addend adder and multiplier |
US4122527A (en) * | 1975-11-04 | 1978-10-24 | Motorola, Inc. | Emitter coupled multiplier array |
US4597053A (en) * | 1983-07-01 | 1986-06-24 | Codex Corporation | Two-pass multiplier/accumulator circuit |
Non-Patent Citations (1)
Title |
---|
N, IBM TECHNICAL DISCLOSURE BULLETIN, Volume 4, No. 11, issued April 1962, BLAAUW et al., "Binary Multiplication", pages 32-34. * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2355560A (en) * | 1999-06-25 | 2001-04-25 | Nec Corp | Decibel adjustment device with shift amount control circuit |
US6675186B1 (en) | 1999-06-25 | 2004-01-06 | Nec Corporation | Decibel adjustment device with shift amount control circuit |
GB2355560B (en) * | 1999-06-25 | 2004-04-14 | Nec Corp | Decibel adjustment device with shift amount control circuit |
GB2391084A (en) * | 2002-04-12 | 2004-01-28 | Visteon Global Tech Inc | A method for reducing computational steps in a digital processor |
GB2391084B (en) * | 2002-04-12 | 2004-06-16 | Visteon Global Tech Inc | Sparse-coefficient functions for reducing computational requirements |
US6993551B2 (en) | 2002-04-12 | 2006-01-31 | Visteon Global Technologies, Inc. | Sparse-coefficient functions for reducing computational requirements |
CN100435088C (en) * | 2005-01-11 | 2008-11-19 | 开曼群岛威睿电通股份有限公司 | Canonical signed digit (CSD) coefficient multiplier with optimization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4967388A (en) | Truncated product partial canonical signed digit multiplier | |
JP2662000B2 (en) | Neural network and circuit used for the network | |
US5255216A (en) | Reduced hardware look up table multiplier | |
US7308471B2 (en) | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding | |
US5103416A (en) | Programmable digital filter | |
US5161119A (en) | Weighted-delay column adder and method of organizing same | |
US5122982A (en) | Carry generation method and apparatus | |
US4713786A (en) | Digital hardware selection filter | |
US5038315A (en) | Multiplier circuit | |
US5497343A (en) | Reducing the number of carry-look-ahead adder stages in high-speed arithmetic units, structure and method | |
WO1988008567A1 (en) | Truncated product partial canonical signed digit multiplier | |
JPH0312738B2 (en) | ||
JPH08152994A (en) | Multiplier and digital filter | |
US5227678A (en) | Fast digital comparison circuit for fuzzy logic operations | |
Mou et al. | A high-speed low-cost DCT architecture for HDTV applications | |
EP0626638A1 (en) | A one's complement adder and method of operation | |
JPH02115929A (en) | Multiplier | |
Sakai et al. | Simulation of neural network digital adder and multiplier | |
Smith et al. | Advanced serial-data computation | |
Lee et al. | Ultra-high speed parallel multiplier with new first partial product addition algorithm | |
Feiste et al. | High-speed VLSI implementation of FIR lattice filters | |
JPS62221071A (en) | Butterfly arithmetic circuit and fast fourier transform device using same | |
JPH0637592A (en) | Method for designing digital filter | |
Kamp et al. | A Fast 16× 16 Bit Asynchronous CMOS Multiplier | |
Sakunkonchak | A high-speed multiplier-free realization of IIR filter based on ROM', s and signal partitioning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE FR GB IT LU NL SE |