WO2000034853A1 - A serial-parallel binary multiplier - Google Patents

A serial-parallel binary multiplier Download PDF

Info

Publication number
WO2000034853A1
WO2000034853A1 PCT/GB1999/003897 GB9903897W WO0034853A1 WO 2000034853 A1 WO2000034853 A1 WO 2000034853A1 GB 9903897 W GB9903897 W GB 9903897W WO 0034853 A1 WO0034853 A1 WO 0034853A1
Authority
WO
WIPO (PCT)
Prior art keywords
operand
product
register
serial
partial product
Prior art date
Application number
PCT/GB1999/003897
Other languages
French (fr)
Inventor
Andrew Dewhurst
Original Assignee
Systolix Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Systolix Limited filed Critical Systolix Limited
Priority to AU12833/00A priority Critical patent/AU1283300A/en
Publication of WO2000034853A1 publication Critical patent/WO2000034853A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/527Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
    • G06F7/5272Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel with row wise addition of partial products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/48Indexing scheme relating to groups G06F7/48 - G06F7/575
    • G06F2207/4802Special implementations
    • G06F2207/4812Multiplexers

Definitions

  • the present invention relates to a serial binary multiplier for performing fixed point multiplication in data processing apparatus.
  • Central processing units of data processing apparatus generally incorporate a multiplier unit for performing multiplication operations.
  • multiplier units are based on well known array multiplier designs or a shift-and-add algorithm.
  • Multiplier units of this kind are generally optimised for performance (i.e. processing power and speed) or for compact implementation.
  • the performance of a serial multiplier is dependent on the total transmission delay in performing a sequence of operations as the serial data is received.
  • the total transmission delay is a combination of several delays in the sequential operation of the multiplication process, namely: a delay as the data is routed to the input of the multiplier; a delay as the data passes through the interconnect; and the multiplier operation delay.
  • a serial binary multiplier for multiplying two binary operands to provide a final product
  • the multiplier comprising means for storing at least one first operand, a register for storing a partial product of the multiplication operation, means for receiving elements of a second operand serially, a calculation unit for calculating all possible results being the sum of the partial product and the product of the first operand with all possible values of the element of the second operand, said possible results being calculated during transmission of the second operand, means for selecting either one of the possible results or the currently stored partial product on the basis of the value of the received element of the second operand, means for shifting the partial product in the register to provide a new partial product, and means to output the contents of the register as the final product when all bits of the second operand have been received.
  • the second operand comprises a plurality of elements each comprising an m-bit word.
  • the calculation unit is an adder. The calculation unit calculates all possible results on the basis of the value of the first operand and the value of previously received elements of the second operand.
  • the means to output the contents of the register preferably provides the final result in serial form.
  • the first and second operands and the final product are in two's complement form and the possible results are calculated from the first operand, the partial product and the previously received bit of the second operand.
  • the calculation unit is an adder and subtractor and may take the form of a single circuit capable of addition and subtraction, the operation being determined by the value of the previously received bit.
  • a method of operating a serial binary multiplier for multiplying two binary operands to provide a product comprising the steps of storing a first operand, storing a partial product in a register, transmitting elements of a second operand serially whilst simultaneously calculating all possible results being the sum of the partial product and the product of the first operand with all possible values of the element of the second operand, selecting either one of the possible results or the currently stored partial product on the basis of the value of the received element of the second operand, shifting the partial product in the register to provide a new partial product, and outputting the contents of the register as the final product when all bits of the second operand have been received.
  • Figure 1 is a block diagram of an embodiment of an m-bit binary serial multiplier according to a first embodiment of the present invention
  • Figure 2 is a block diagram of an embodiment of a 1-bit binary multiplier according to a second embodiment of the present invention.
  • Figure 3 is a block diagram of the multiplier of figure 2 adapted for two's complement operation according to a third embodiment of the present invention
  • Figure 4 is a table showing the calculation process of the multiplier shown in figure 3;
  • Figure 5 is a timing diagram for a single cycle of the multiplier operation.
  • figure 1 shows the structure of an m-bit serial multiplier which performs the multiplication operation on a locally stored first operand B and a second operand A that is transmitted to multiplier in the form of a serial stream of m-bit wide data elements, the m bits of each data element being received in parallel and multiple serial data elements forming the complete operand data word.
  • the multiplication process is performed by a calculation unit that comprises a bank of 2 m registers 1 and a bank of 2 m adders 2.
  • the registers 1 store all possible 2 m results of multiplying the first operand B with all possible (2 m ) values of the second operand A.
  • Each register 1 within the bank stores one result of multiplying the first operand B with an assumed value of the second operand A.
  • Each of these 2 m multiplication results is passed to one of the adders 2 in the bank of 2 m adders where it is summed with a partial product of the overall multiplication process that is stored in a shift register 3.
  • the results of the addition process are then passed to a multiplexer 4.
  • a decoder (not shown) receives the m-bit serial input data element of the second operand A and on the basis of this, selects the appropriate correct result via the multiplexer 4. Thus the input data is used to select a pre-calculated result late in the calculation process.
  • the selected (partial) result is then stored in the shift register 3 which reformats the partial result by shifting the stored data by m-bits to the right.
  • the partial result is then recirculated to the input of the bank of adders 2.
  • the multiplication process described above is then repeated for the next received data element of the second operand A until the whole of the input data word of the second operand A has been received and processed.
  • the recirculated output of the shift register can simply added to the register 3 rather than selecting the appropriate adder output.
  • the final result in the shift register 3 is transmitted to a parallel to m-bit serial converter (not shown) which outputs the final result (product) in the original m-bit serial format.
  • the above described multiplier allows the parallel operation of both the multiplier operation (including addition of the products to the partial result in the shift register 3) and the input data transmission.
  • a locally stored first operand B a number of possible multiplier results is pre-calculated independently of the second operand A and added to the partial result from the previous cycle. In this way the multiplication process delay and the data transmission delay occur simultaneously, or in parallel.
  • the second operand A is only needed to complete the multiplication process by selecting one of the pre-calculated results.
  • a decoder that selects the appropriate partial result the delay generally associated with the multiplication process is reduced, whilst avoiding the need for a large look-up table of possible results.
  • Figure 2 shows an embodiment of the present invention that is used to multiply 1-bit serial input data.
  • a 1-bit serial multiplier is highly suited to realisation within a programmable device, since implementing programmable interconnects between functional units that only require a single point-to-point connection is both practical and well known.
  • the operation of the 1 -bit multiplier is similar to that of the generic m-bit multiplier example described earlier, however, using a 1-bit wide input format allows a novel optimisation of the circuit.
  • the structure of the 1-bit multiplier varies from the m-bit multiplier in that the calculation unit only comprises a single register to store the first operand B and a single adder. Parts corresponding to those of figure 1 are indicated by the same reference numerals increased by 100 and are not further described except insofar as they differ from their counterparts in figure 1.
  • the calculation unit 1, 2 shown in Figure 1 can be constructed in the 1-bit multiplier embodiment of figure 2 by using a register store for operand B and a single adder 102. The implementation of such a circuit is well known.
  • the previous serial input bit is taken to be a zero.
  • the adder the sum of the received bit of the second operand A and the partial product in the register 103 or the previous partial result (i.e. no operation is performed).
  • the final result is output via a parallel to serial converter 105.
  • Figure 3 shows a multiplier design for multiplication of 1-bit operands in two's complement format.
  • the serially transmitted second operand A is decoded by a decoder 207 and the output provides instructions to an adder/subtractor 208 to choose the dynamic calculation operation i.e. either to add or to subtract the local operand B to or from the partial result that is fed back from the shift register 203.
  • These add and subtract instructions are decoded from the previous signal data input bit and allow the dynamic calculation to be performed in parallel with the current signal data bit being transmitted.
  • the previous serial input bit is taken to be a zero. Once the current signal data bit has been received and decoded it is used to determine whether the selected result is to be the result dynamically calculated by the multiplier or the previous partial result (i.e. no operation is performed) according to the table shown in figure 4.
  • the timing diagram for a single cycle of the 1-bit two's complement multiplier operation is shown in Figure 5.
  • the opening part of the clock cycle is available for the independent dynamic calculation of partial result(s) on the basis of the previously received data bit, and for the transmission of the current data bit. This is shown as “Tmult” in Figure 4.
  • the remaining part of the clock cycle is then dedicated to the late select process that requires simple decoding of the current serial input data bit, which may be easily constructed with simple logic gates to give very high performance.
  • the delay attributed to this process is shown as "Tselect” in Figure 4.
  • overlapping the data transmission delay and the multiplier operation delay in this late select multiplier design offers greatly improved performance over traditional serial multipliers.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

A serial binary multiplier multiplies two operands to provide a product. A first operand is stored locally and a second operand is transmitted serially whilst simultaneously multiplying said first operand with all possible values of said second operand taking into account any received bits of the second operand. All possible results are added to the contents of a partial result register and stored and when a complete element of the full second operand has been received and decoded, the correct result is selected by the decoder. The new partial product is shifted in the register and when all the bits of the second operand have been received the final product is output to a serial to parallel converter. The method and circuit permit part of the multiplication process to be performed whilst the input data is still being transmitted thereby reducing the operation delay. In a 1-bit two's complement embodiment a decoder is used to decide whether to add or substract the received bit of the serially transmitted operand to or from the contents of the partial result register. The decoder uses knowledge of the previously transmitted bit of the operand to make this decision.

Description

A SERIAL BINARY MULTIPLIER
The present invention relates to a serial binary multiplier for performing fixed point multiplication in data processing apparatus.
Central processing units of data processing apparatus generally incorporate a multiplier unit for performing multiplication operations. Typically such multiplier units are based on well known array multiplier designs or a shift-and-add algorithm. Multiplier units of this kind are generally optimised for performance (i.e. processing power and speed) or for compact implementation.
One example of a multiplier unit having compact size is described in our co- pending international patent application No. GB97/01520.
However, the performance of a serial multiplier, unlike an array multiplier design, is dependent on the total transmission delay in performing a sequence of operations as the serial data is received. The total transmission delay is a combination of several delays in the sequential operation of the multiplication process, namely: a delay as the data is routed to the input of the multiplier; a delay as the data passes through the interconnect; and the multiplier operation delay.
In monolithic design circuit performance has improved many fold as semiconductor processing techniques have lead to smaller and smaller component geometries. Contemporary integrated circuit process technology enables the manufacture of deep sub-micron circuit elements with physical dimensions of less than one micron. The performance of these circuits is often no longer determined by the operation of the active circuit components but is dominated by the interconnect delay between them.
The difference between the performance of active components, for example transistors, and the interconnect, or routing, is greatly exaggerated in the implementation of programmable circuits such as Field Programmable Gate Arrays (FPGAs), where greater flexibility in the interconnect structures adds further to the delay imposed on signals passing through them.
An alternative known approach to constructing a high performance multiplier is to base the design around a look-up-table. This is demonstrated in Altera' s FLEX 10K device. Using this technique all the possible results of the multiplication process are stored in a table and the input operands are used to choose one result from the table. The size of such multipliers becomes very large when, say, operands of 8 bits or more are used. The multiplication of n-bit wide operands requires a table with 22n entries. An improvement to this design is to use multiple smaller look-up tables followed by a calculation step. This technique is also shown in Altera' s FLEX 10K device. The latter technique reduces the size of the multiplier but degrades the performance since a further calculation step is required after a preliminary result has been selected from the look-up table.
It is an object of the present invention to obviate or mitigate the aforesaid disadvantages and to improve the performance of the data processing function of multiplication.
According to a first aspect of the present invention there is provided a serial binary multiplier for multiplying two binary operands to provide a final product, the multiplier comprising means for storing at least one first operand, a register for storing a partial product of the multiplication operation, means for receiving elements of a second operand serially, a calculation unit for calculating all possible results being the sum of the partial product and the product of the first operand with all possible values of the element of the second operand, said possible results being calculated during transmission of the second operand, means for selecting either one of the possible results or the currently stored partial product on the basis of the value of the received element of the second operand, means for shifting the partial product in the register to provide a new partial product, and means to output the contents of the register as the final product when all bits of the second operand have been received.
By using the calculation unit to calculate partial products whilst the second operand is transmitted the delay in transmitting the data is less significant in the overall time required to conduct the multiplication process.
Preferably the second operand comprises a plurality of elements each comprising an m-bit word. In an embodiment where m=l the calculation unit is an adder. The calculation unit calculates all possible results on the basis of the value of the first operand and the value of previously received elements of the second operand.
The means to output the contents of the register preferably provides the final result in serial form.
In one preferred embodiment the first and second operands and the final product are in two's complement form and the possible results are calculated from the first operand, the partial product and the previously received bit of the second operand. In such an embodiment the calculation unit is an adder and subtractor and may take the form of a single circuit capable of addition and subtraction, the operation being determined by the value of the previously received bit.
According to a second aspect of the present invention there is provided a method of operating a serial binary multiplier for multiplying two binary operands to provide a product comprising the steps of storing a first operand, storing a partial product in a register, transmitting elements of a second operand serially whilst simultaneously calculating all possible results being the sum of the partial product and the product of the first operand with all possible values of the element of the second operand, selecting either one of the possible results or the currently stored partial product on the basis of the value of the received element of the second operand, shifting the partial product in the register to provide a new partial product, and outputting the contents of the register as the final product when all bits of the second operand have been received.
Specific embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Figure 1 is a block diagram of an embodiment of an m-bit binary serial multiplier according to a first embodiment of the present invention;
Figure 2 is a block diagram of an embodiment of a 1-bit binary multiplier according to a second embodiment of the present invention;
Figure 3 is a block diagram of the multiplier of figure 2 adapted for two's complement operation according to a third embodiment of the present invention; Figure 4 is a table showing the calculation process of the multiplier shown in figure 3; and
Figure 5 is a timing diagram for a single cycle of the multiplier operation.
Referring now to the drawings, figure 1 shows the structure of an m-bit serial multiplier which performs the multiplication operation on a locally stored first operand B and a second operand A that is transmitted to multiplier in the form of a serial stream of m-bit wide data elements, the m bits of each data element being received in parallel and multiple serial data elements forming the complete operand data word.
The multiplication process is performed by a calculation unit that comprises a bank of 2m registers 1 and a bank of 2m adders 2. The registers 1 store all possible 2m results of multiplying the first operand B with all possible (2m) values of the second operand A. Each register 1 within the bank stores one result of multiplying the first operand B with an assumed value of the second operand A. Each of these 2m multiplication results is passed to one of the adders 2 in the bank of 2m adders where it is summed with a partial product of the overall multiplication process that is stored in a shift register 3. The results of the addition process are then passed to a multiplexer 4.
A decoder (not shown) receives the m-bit serial input data element of the second operand A and on the basis of this, selects the appropriate correct result via the multiplexer 4. Thus the input data is used to select a pre-calculated result late in the calculation process. The selected (partial) result is then stored in the shift register 3 which reformats the partial result by shifting the stored data by m-bits to the right. The partial result is then recirculated to the input of the bank of adders 2. The multiplication process described above is then repeated for the next received data element of the second operand A until the whole of the input data word of the second operand A has been received and processed. If the input data represents the value zero then the recirculated output of the shift register can simply added to the register 3 rather than selecting the appropriate adder output. The final result in the shift register 3 is transmitted to a parallel to m-bit serial converter (not shown) which outputs the final result (product) in the original m-bit serial format. The above described multiplier allows the parallel operation of both the multiplier operation (including addition of the products to the partial result in the shift register 3) and the input data transmission. Using a locally stored first operand B a number of possible multiplier results is pre-calculated independently of the second operand A and added to the partial result from the previous cycle. In this way the multiplication process delay and the data transmission delay occur simultaneously, or in parallel. The second operand A is only needed to complete the multiplication process by selecting one of the pre-calculated results. By employing a decoder that selects the appropriate partial result the delay generally associated with the multiplication process is reduced, whilst avoiding the need for a large look-up table of possible results.
It will be appreciated that by using the locally stored first operand B in the preliminary multiplication process, the number of possible pre-calculated results is greatly reduced in comparison to conventional multipliers based on look-up table designs.
Figure 2 shows an embodiment of the present invention that is used to multiply 1-bit serial input data. A 1-bit serial multiplier is highly suited to realisation within a programmable device, since implementing programmable interconnects between functional units that only require a single point-to-point connection is both practical and well known.
The operation of the 1 -bit multiplier is similar to that of the generic m-bit multiplier example described earlier, however, using a 1-bit wide input format allows a novel optimisation of the circuit.
Since the input data of the second operand must be either a 1 or a 0 then only one dynamic calculation is required as there are only 2 possible results, one of which is a null operation (i.e. multiplication by zero). The structure of the 1-bit multiplier varies from the m-bit multiplier in that the calculation unit only comprises a single register to store the first operand B and a single adder. Parts corresponding to those of figure 1 are indicated by the same reference numerals increased by 100 and are not further described except insofar as they differ from their counterparts in figure 1. The calculation unit 1, 2 shown in Figure 1 can be constructed in the 1-bit multiplier embodiment of figure 2 by using a register store for operand B and a single adder 102. The implementation of such a circuit is well known. When the multiplication operation is initiated the previous serial input bit is taken to be a zero. Once the current signal data input bit of the second operand A has been received it is used to determine whether the selected result is to be the result dynamically calculated by the adder (the sum of the received bit of the second operand A and the partial product in the register 103) or the previous partial result (i.e. no operation is performed). The final result is output via a parallel to serial converter 105.
Figure 3 shows a multiplier design for multiplication of 1-bit operands in two's complement format. The serially transmitted second operand A is decoded by a decoder 207 and the output provides instructions to an adder/subtractor 208 to choose the dynamic calculation operation i.e. either to add or to subtract the local operand B to or from the partial result that is fed back from the shift register 203. These add and subtract instructions are decoded from the previous signal data input bit and allow the dynamic calculation to be performed in parallel with the current signal data bit being transmitted. When the multiplication operation is initiated the previous serial input bit is taken to be a zero. Once the current signal data bit has been received and decoded it is used to determine whether the selected result is to be the result dynamically calculated by the multiplier or the previous partial result (i.e. no operation is performed) according to the table shown in figure 4.
The timing diagram for a single cycle of the 1-bit two's complement multiplier operation is shown in Figure 5. The opening part of the clock cycle is available for the independent dynamic calculation of partial result(s) on the basis of the previously received data bit, and for the transmission of the current data bit. This is shown as "Tmult" in Figure 4. The remaining part of the clock cycle is then dedicated to the late select process that requires simple decoding of the current serial input data bit, which may be easily constructed with simple logic gates to give very high performance. The delay attributed to this process is shown as "Tselect" in Figure 4. Clearly, overlapping the data transmission delay and the multiplier operation delay in this late select multiplier design offers greatly improved performance over traditional serial multipliers.
It will be appreciated that numerous modifications to the above described design may be made without departing from the scope of the invention as defined in the appended claims. For example, the shifting of the partial product stored in the shift register 3, 103, 203 may be performed by any equivalent operation such as modifying the connections to the register. The term "shifting" is used in the claims with the intention of incorporating such equivalent operations.

Claims

1. A serial binary multiplier for multiplying two binary operands to provide a final product, the multiplier comprising means for storing at least one first operand, a register for storing a partial product of the multiplication operation, means for receiving elements of a second operand serially, a calculation unit for calculating all possible results being the sum of the partial product and the product of the first operand with all possible values of the element of the second operand, said possible results being calculated during transmission of the second operand, means for selecting either one of the possible results or the currently stored partial product on the basis of the value of the received element of the second operand, means for shifting the partial product in the register to provide a new partial product, and means to output the contents of the register as the final product when all bits of the second operand have been received.
2. A serial binary multiplier according to claim 1, wherein the elements of the second operand are m-bit words.
3. A serial binary multiplier according to claim 2, wherein m=l and the calculation unit is an adder.
4. A serial binary multiplier according to claim 1, 2 or 3, wherein the calculation unit calculates all possible results on the basis of the value of the first operand and the value of previously received elements of the second operand.
5. A serial binary multiplier according to any preceding claim, wherein the means to output the contents of the register provides the final result in serial form.
6. A serial binary multiplier according to any preceding claim, wherein the first and second operands and the final product are in two's complement form and the possible results are calculated from the first operand, the partial product and the previously received bit of the second operand.
7. A serial binary multiplier according to claim 6, wherein the calculation unit is an adder and subtractor.
8. A serial binary multiplier according to claim 7, wherein the calculation unit is a single circuit capable of addition and subtraction, the operation being determined by the value of the previously received bit.
9. A method of operating a serial binary multiplier for multiplying two binary operands to provide a product comprising the steps of storing a first operand, storing a partial product in a register, transmitting elements of a second operand serially whilst simultaneously calculating all possible results being the sum of the partial product and the product of the first operand with all possible values of the element of the second operand, selecting either one of the possible results or the currently stored partial product on the basis of the value of the received element of the second operand, shifting the partial product in the register to provide a new partial product, and outputting the contents of the register as the final product when all bits of the second operand have been received.
10. A serial binary multiplier substantially as hereinbefore described with reference to the accompanying drawings.
11. A method of operating a serial binary multiplier substantially as hereinbefore described with reference to the accompanying drawings.
PCT/GB1999/003897 1998-12-04 1999-11-24 A serial-parallel binary multiplier WO2000034853A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU12833/00A AU1283300A (en) 1998-12-04 1999-11-24 A serial-parallel binary multiplier

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9826592.9A GB9826592D0 (en) 1998-12-04 1998-12-04 A serial binary multiplier
GB9826592.9 1998-12-04

Publications (1)

Publication Number Publication Date
WO2000034853A1 true WO2000034853A1 (en) 2000-06-15

Family

ID=10843579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1999/003897 WO2000034853A1 (en) 1998-12-04 1999-11-24 A serial-parallel binary multiplier

Country Status (3)

Country Link
AU (1) AU1283300A (en)
GB (1) GB9826592D0 (en)
WO (1) WO2000034853A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2908905A1 (en) * 2006-11-20 2008-05-23 R L Daniel Torno Sa METHOD AND MULTIPLE CIRCUIT OF BINARY NUMBERS
US8866662B1 (en) 2012-10-21 2014-10-21 Steve Naumov Sequential analog/digital conversion and multiplication

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849921A (en) * 1985-06-19 1989-07-18 Nec Corporation Arithmetic circuit for calculating the absolute value of the difference between a pair of input signals
JPH03116327A (en) * 1989-09-29 1991-05-17 Toshiba Corp Multiplication system
US5539685A (en) * 1992-08-18 1996-07-23 Kabushiki Kaisha Toshiba Multiplier device with overflow detection function

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849921A (en) * 1985-06-19 1989-07-18 Nec Corporation Arithmetic circuit for calculating the absolute value of the difference between a pair of input signals
JPH03116327A (en) * 1989-09-29 1991-05-17 Toshiba Corp Multiplication system
US5539685A (en) * 1992-08-18 1996-07-23 Kabushiki Kaisha Toshiba Multiplier device with overflow detection function

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 015, no. 322 (P - 1239) 16 August 1991 (1991-08-16) *
S. SKLAR: "2's complement Arithmetic Operations", COMPUTER DESIGN., vol. 11, no. 5, May 1972 (1972-05-01), PENNWELL PUBL. LITTLETON, MASSACHUSETTS., US, pages 115 - 121, XP002130443, ISSN: 0010-4566 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2908905A1 (en) * 2006-11-20 2008-05-23 R L Daniel Torno Sa METHOD AND MULTIPLE CIRCUIT OF BINARY NUMBERS
WO2008062106A1 (en) * 2006-11-20 2008-05-29 S.A.R.L. Daniel Torno Method and device for multiplying binary numbers
US8468193B2 (en) 2006-11-20 2013-06-18 S.A.R.L. Daniel Torno Binary number multiplying method and circuit
US8866662B1 (en) 2012-10-21 2014-10-21 Steve Naumov Sequential analog/digital conversion and multiplication

Also Published As

Publication number Publication date
GB9826592D0 (en) 1999-01-27
AU1283300A (en) 2000-06-26

Similar Documents

Publication Publication Date Title
US6609143B1 (en) Method and apparatus for arithmetic operation
US20040117424A1 (en) High-speed/low power finite impulse response filter
EP0101318B1 (en) Digital filters
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
KR100302093B1 (en) How to multiply the binary input signal with the tap coefficient in the crossover digital finite impulse response filter and design the circuit arrangement and crossover digital filter
US5164724A (en) Data format converters for use with digit-serial signals
US5675527A (en) Multiplication device and sum of products calculation device
US5764550A (en) Arithmetic logic unit with improved critical path performance
JPH05197741A (en) Interlieved multiplier accumulator
US4677583A (en) Apparatus for decimal multiplication
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
EP0670061B1 (en) Enhanced fast multiplier
US7313586B2 (en) Adder-subtracter circuit
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
WO2000034853A1 (en) A serial-parallel binary multiplier
WO1999012093A1 (en) Multiplier sign extension
US7047271B2 (en) DSP execution unit for efficient alternate modes for processing multiple data sizes
US5623434A (en) Structure and method of using an arithmetic and logic unit for carry propagation stage of a multiplier
US5684731A (en) Booth multiplier using data path width adder for efficient carry save addition
US6904442B1 (en) Method of implementing logic functions using a look-up-table
KR0162320B1 (en) Fir filter for vlsi
KR970005175A (en) Multiplication / Division Sharing Handler Structure Based on Pipeline Structure
JP2864598B2 (en) Digital arithmetic circuit
EP0845740B1 (en) A multiplier unit

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: AU

Ref document number: 2000 12833

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 09857503

Country of ref document: US

122 Ep: pct application non-entry in european phase