JP2000222172A - Method and device for reducing delay in generation of saturation flag of alu - Google Patents
Method and device for reducing delay in generation of saturation flag of aluInfo
- Publication number
- JP2000222172A JP2000222172A JP2000019883A JP2000019883A JP2000222172A JP 2000222172 A JP2000222172 A JP 2000222172A JP 2000019883 A JP2000019883 A JP 2000019883A JP 2000019883 A JP2000019883 A JP 2000019883A JP 2000222172 A JP2000222172 A JP 2000222172A
- Authority
- JP
- Japan
- Prior art keywords
- array
- carry
- products
- saturation flag
- reduced
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
- G06F7/5312—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、デジタルシグナル
プロセッサや他のマイクロプロセッサのデータ演算装置
(DAU)に関し、特に、マイクロプロセッサのデータ
演算装置(DAU)において前処理されるサチュレーシ
ョンフラグの発生時の遅延を軽減する方法および装置に
関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data arithmetic unit (DAU) of a digital signal processor or another microprocessor, and more particularly to a digital arithmetic processor (DAU) for generating a saturation flag which is preprocessed in a data arithmetic unit (DAU) of a microprocessor. Method and apparatus for reducing delay.
【0002】[0002]
【従来の技術及び発明が解決しようとする課題】データ
演算装置(DAU)は、デジタルシグナルプロセッサ
(DSP)の主要な計算実行装置である。DAUで支援
される作業の1つは、乗算である。乗算器は、被乗数と
乗数の積を得るために使用されるマイクロプロセッサま
たはデジタルシグナルプロセッサ内の専用回路である。
典型的な乗算器では、部分積が、部分的な積の2次元配
列を形成するために、被乗数のバイナリ表現、たとえば
バイナリの数字、2の補数または1の補数形態に乗数の
バイナリ表現を掛けることにより形成される。この部分
積は、積のバイナリ表現を得るために換算される。2. Description of the Related Art A data operation unit (DAU) is a main calculation execution unit of a digital signal processor (DSP). One of the tasks supported by the DAU is multiplication. A multiplier is a dedicated circuit in a microprocessor or digital signal processor used to obtain the product of a multiplicand and a multiplier.
In a typical multiplier, the partial product multiplies the binary representation of the multiplicand, eg, the binary number, two's complement or one's complement form, by a binary representation of the multiplier to form a two-dimensional array of partial products. It is formed by this. This partial product is reduced to obtain a binary representation of the product.
【0003】部分積は、いくつかの知られている手法の
うちのどれかで換算することができる。右側にある被乗
数と乗数の最下位ビット(LSB)に対して、積のLS
Bは同様に右側にある。部分積を換算する従来方法は、
右側からスタートして左側に進む(ライトツーレフト、
またはLSBファーストと呼ばれる)ことであり、キャ
リーは左側にシフトまたは伝達される。部分積を換算す
る作業とキャリー伝達は繰り返される。[0003] Partial products can be reduced in any of several known ways. For the least significant bit (LSB) of the multiplicand and multiplier on the right, the product LS
B is also on the right. The traditional method of converting partial products is
Start from the right and proceed to the left (right to left,
Or LSB first), and the carry is shifted or transmitted to the left. The operation of converting the partial product and the carry transmission are repeated.
【0004】典型的なライトツーレフト キャリーセー
ブ乗算器では、部分積は、部分積の配列の上部からスタ
ートし、配列の底部の方へ進んで換算される。最後の部
分積項の最下位部分は、バイナリ形態で発生するのに対
して、最上位部分は、キャリーセーブ形態で発生する。
最上位部分のビットは同時に到達する。キャリー伝達加
算器は、最後の部分積項の最上位部分をバイナリ形態に
変換して乗算作業を終了するために使用される。In a typical right-to-left carry-save multiplier, the partial products are scaled starting from the top of the array of partial products and proceeding toward the bottom of the array. The least significant part of the last partial product term occurs in binary form, while the most significant part occurs in carry-save form.
The most significant bits arrive at the same time. The carry transfer adder is used to convert the most significant part of the last partial product term to a binary form and terminate the multiplication operation.
【0005】乗算サイクル後、積は、典型的には、結果
として生じた積が演算装置(ALU)すなわち加算器に
供給される前にレジスタにロードされ、前処理される。
結果として生じた積に基づいて実行される正味の前処理
は、業者仕様になっているが、一般的には、前処理作業
は、積をkビットだけ右または左にサチュレートまたは
シフトすることを含む。前処理段階の間、結果として生
じた積の最上位ビットのいくつかは、前処理制御信号を
発生させるために用いられる。たとえば、32ビットの
結果として生じた積にある3つの最上位ビットが全て論
理1であれば、サチュレート前処理作業は、知られてい
るやり方で、29の下位ビットの値を0にセットする。
前処理作業は、乗算結果を選択して得てロードレジスタ
にロードした後に、開始したり終了したりするので、3
または4段階の遅延が持ち込まれる。前処理フラグを計
算する際に持ち込まれる遅延は、DAUのクリティカル
パスにあると言われる。After the multiplication cycle, the products are typically loaded into registers and pre-processed before the resulting products are provided to an arithmetic unit (ALU) or adder.
The net pre-processing performed on the resulting product is vendor specific, but in general, the pre-processing work involves saturating or shifting the product by k bits to the right or left. Including. During the preprocessing stage, some of the most significant bits of the resulting product are used to generate a preprocessing control signal. For example, if the three most significant bits in the resulting product of 32 bits are all logical ones, the saturating preprocessing operation sets the value of the 29 least significant bits to zero in a known manner.
The pre-processing operation starts and ends after the multiplication result is selected and obtained and loaded into the load register.
Alternatively, a four-stage delay is introduced. The delay introduced in calculating the pre-processing flag is said to be on the DAU's critical path.
【0006】参照によりここに含まれるR.K. Kolagotla
et al.,“VLSI Implementation ofa 2000-MHz 16x16 L
eft-to-Right Carry-Free Multiplier in 0.35 μm CMO
S Technology for Next-Generation DSP,"IEEE 1997 Cu
stom Integrated CircuitsConf.,469-72(May 1997)に
は、上位ビットが知られている乗算器より早く入手で
き、それにより乗算を終了するのに必要な時間を減らす
やり方で、部分積を提供する乗算器が開示されている。
前処理フラグを得るための従来手法での上述の不具合か
ら明らかなように、上位ビットが入手できるやいなや、
前処理フラグを評価する必要性がある。[0006] RK Kolagotla, incorporated herein by reference.
et al., “VLSI Implementation ofa 2000-MHz 16x16 L
eft-to-Right Carry-Free Multiplier in 0.35 μm CMO
S Technology for Next-Generation DSP, "IEEE 1997 Cu
stom Integrated Circuits Conf., 469-72 (May 1997) provides partial products in a way that the upper bits are available earlier than known multipliers, thereby reducing the time required to complete the multiplication A multiplier is disclosed.
As is evident from the above-mentioned disadvantages of the conventional method for obtaining the preprocessing flag, as soon as the upper bits are available,
The preprocessing flag needs to be evaluated.
【0007】[0007]
【課題を解決するための手段】概して、乗算器において
前処理されたサチュレーションフラグを発生する方法お
よび装置が開示される。本発明の一態様によれば、前処
理されたサチュレーションフラグは、部分積の配列の上
位サイドの換算された積が選択されるのと実質的に同時
に発生する。SUMMARY OF THE INVENTION Generally, a method and apparatus for generating a preprocessed saturation flag in a multiplier is disclosed. According to one aspect of the invention, the pre-processed saturation flag occurs substantially simultaneously with the selection of a reduced product of the upper side of the array of partial products.
【0008】従来の乗算器は、部分積の配列を発生す
る。部分積は、換算された積の第1のセットを発生する
ために第1の状態を取るように、配列の下位サイドから
のキャリーアウトを仮定する配列の上位サイドで換算さ
れる。また、部分積は、換算された積の第2のセットを
発生するために第2の状態を取るように、配列の下位サ
イドからのキャリーアウトを仮定する配列の上位サイド
で換算される。換算された部分積の両セットは、最下位
サイドからのキャリーアウトとパラレルに発生する。換
算された積の第1のセットは、配列の下位サイドからの
キャリーアウトが第1の状態をとる場合の配列の上位サ
イドの換算された積として選択される。換算された積の
第2のセットは、配列の下位サイドからのキャリーアウ
トが第2の状態をとる場合の配列の上位サイドの換算さ
れた積として選択される。[0008] Conventional multipliers generate arrays of partial products. The partial products are scaled on the upper side of the array assuming carry-out from the lower side of the array to take a first state to generate a first set of scaled products. Also, the partial products are scaled on the upper side of the array assuming carry-out from the lower side of the array to take a second state to generate a second set of scaled products. Both sets of reduced partial products occur in parallel with carry-out from the bottom side. The first set of reduced products is selected as the reduced product of the upper side of the array when the carry out from the lower side of the array assumes the first state. The second set of scaled products is selected as the scaled product of the upper side of the array when the carry out from the lower side of the array assumes a second state.
【0009】前処理されたサチュレーションフラグを発
生するために、換算された積の第1のセットの最上位ビ
ットのいくつかが結合されて、第1のサチュレーション
フラグが発生し、換算された積の第2のセットの最上位
ビットのいくつかが結合されて、第2のサチュレーショ
ンフラグが発生する。特定のサチュレーションフラグ
は、配列の下位サイドから受け取ったキャリーに基づい
て選択される。サチュレーションフラグは、実質的に、
換算された積の選択と同時に選択され、各々、配列の下
位サイドから受け取ったキャリーに基づいている。To generate a preprocessed saturation flag, some of the most significant bits of the first set of scaled products are combined to generate a first saturation flag and generate the scaled product. Some of the most significant bits of the second set are combined to generate a second saturation flag. The particular saturation flag is selected based on the carry received from the lower side of the array. The saturation flag is effectively
Selected at the same time as the reduced product selection, each based on the carry received from the lower side of the array.
【0010】本発明は、フラグが乗算サイクルにおいて
早く前処理されるのを許し、それにより、増大するエリ
アの代償としてフラグを発生することについて遅延を改
善する。開示される、サチュレーションフラグを前計算
するためのアルゴリズムは、乗算器積がロードレジスタ
によるALU前処理のために選択される時、フラグ発生
論理の3乃至4遅延段階を減ずる。The present invention allows the flags to be preprocessed early in the multiplication cycle, thereby improving the delay in generating the flags at the expense of increasing area. The disclosed algorithm for precomputing the saturation flag reduces the three to four delay stages of the flag generation logic when the multiplier product is selected for ALU preprocessing by the load register.
【0011】本発明の他の特徴および利点ばかりでな
く、本発明のより完全な理解は、以下の詳細な説明と図
面の参照により得られるだろう。A more complete understanding of the present invention, as well as other features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.
【0012】[0012]
【発明の実施の形態】図1は、集積回路(IC)の一部
とすることができる従来の乗算器10の一実施例の略図
である。乗算器10は、たとえば、デジタルシグナルプ
ロセッサ(DSP)、マイクロコントローラ、マイクロ
プロセッサ、アプリケーション指定集積回路(ASI
C)または他の集積回路におけるデータ演算装置の一部
とすることができる。乗算器10は、キャリー伝達加算
器12と、マルチプレクサ14と、コンバータ16と、
加算器18および19からなる。図2に示されるよう
に、加算器18は、入力20および出力22を有し、配
列24において相互接続されている。ここでは、ある加
算器18からの出力は、他の加算器18の入力となって
いる。乗算器10は、図1において、部分積項を発生、
加算するように、したがって、nビット乗数とnビット
被乗数の積を計算するように示されている。技術上知ら
れているように、nビット乗数とnビット被乗数の積
は、2nビットを有する積になる。FIG. 1 is a schematic diagram of one embodiment of a conventional multiplier 10 that can be part of an integrated circuit (IC). The multiplier 10 includes, for example, a digital signal processor (DSP), a microcontroller, a microprocessor, an application-specified integrated circuit (ASI).
C) or may be part of a data processing unit in another integrated circuit. The multiplier 10 includes a carry transfer adder 12, a multiplexer 14, a converter 16,
It comprises adders 18 and 19. As shown in FIG. 2, adder 18 has inputs 20 and outputs 22 and is interconnected in an array 24. Here, an output from one adder 18 is an input to another adder 18. The multiplier 10 generates a partial product term in FIG.
It is shown to add, thus calculating the product of the n-bit multiplier and the n-bit multiplicand. As is known in the art, the product of an n-bit multiplier and an n-bit multiplicand is a product having 2n bits.
【0013】加算器18は、技術上知られているよう
に、行列に配列され、全加算器とすることができる。図
2に示されるように、加算器18は、技術上知られてい
るように、次の出力20、すなわち、(i)同一行の上
にある加算器18(存在する場合)からの和出力と、
(ii)次の下位行のキャリー出力と、(iii)内在
する部分積ビットを受け取る。各加算器18は、破線3
0および32間の加算器19を除き、到来する和および
キャリーアウト信号に部分積を加算する。加算器18
は、和出力、キャリー出力および部分積ビットを加算し
て、以下の出力、すなわち、図1に示されるように、加
算器18,19の配列24を介して伝達される和ビット
およびキャリーアウトビットを発生する。加算器18,
19の配列24の上位ビットサイド28は、図1の左側
にあるのに対して、加算器18,19の配列24の下位
ビットサイド26は、図1の右側にある。換算配列の全
体は、図示されていない。The adders 18 are arranged in a matrix and can be full adders, as is known in the art. As shown in FIG. 2, adder 18 may, as is known in the art, provide the next output 20, namely, (i) the sum output from adder 18 (if present) on the same row. When,
(Ii) receive the carry output of the next lower row and (iii) the underlying partial product bit. Each adder 18 has a dashed line 3
Except for adder 19 between 0 and 32, it adds the partial product to the incoming sum and carry-out signal. Adder 18
Adds the sum output, the carry output, and the partial product bit to form the following output: the sum bit and the carry out bit transmitted through the array 24 of adders 18, 19, as shown in FIG. Occurs. Adder 18,
The upper bit side 28 of the array 24 of 19 is on the left side of FIG. 1, while the lower bit side 26 of the array 24 of adders 18 and 19 is on the right side of FIG. The entire conversion array is not shown.
【0014】キャリー伝達加算器12は、配列24の下
位サイド26にある加算器18の底部列から部分和とキ
ャリーアウト信号を受け取る。キャリー伝達加算器12
は、マルチビット出力40と1つ以上のキャりーアウト
ビット42を発生する。この実施例では、マルチビット
40は、(n+1)ビットを含み、キャリーアウトビッ
ト42は1ビットである。キャリーアウト42は、以下
にさらに説明されるように、マルチプレクサ14に選択
信号を供給して、マルチプレクサ14出力の選択を制御
する。Carry transfer adder 12 receives the partial sum and carry out signals from the bottom row of adder 18 on lower side 26 of array 24. Carry transmission adder 12
Produces a multi-bit output 40 and one or more carry-out bits 42. In this embodiment, the multi-bit 40 includes (n + 1) bits, and the carry-out bit 42 is one bit. Carry-out 42 provides a selection signal to multiplexer 14 to control the selection of the multiplexer 14 output, as described further below.
【0015】破線30および32間の加算器19は、コ
ンバータ16と配列24における加算器18をインター
フェースする。加算器19は、部分積ビットを加算しな
い。加算器19は、配列24からの3つのビットを互い
に加算し、コンバータ16への2つの出力を発生する。The adder 19 between the dashed lines 30 and 32 interfaces the converter 16 with the adder 18 in the array 24. The adder 19 does not add the partial product bits. Adder 19 adds the three bits from array 24 together and generates two outputs to converter 16.
【0016】コンバータ16は、AおよびBで指定され
る2タイプのセルからなる。図3は、Aセルの略図であ
り、入力S(和)およびC(キャリー)と、入力の論理
組み合わせとしての出力A,G,ZOおよびOOを示
す。どのように入力が論理的に組み合わせられて出力を
形成するかを示す表現は、図3の右側に示される。The converter 16 is composed of two types of cells designated by A and B. FIG. 3 is a schematic diagram of an A cell, showing inputs S (sum) and C (carry), and outputs A, G, ZO, and OO as a logical combination of inputs. An expression showing how the inputs are logically combined to form the output is shown on the right side of FIG.
【0017】図1に示されるように、各々のAセルは、
同一列の破線30および32間の加算器19からキャリ
ー入力を受け取る。各々のAセルは、同一行の破線30
および32間の加算器18から和を受け取る。上位ビッ
トの換算は、マルチプレクサ14への入力が、キャリー
伝達加算器12のキャリーアウト42に先だってまたは
それと同時のどちらかで入手できるように、AおよびB
において成し遂げられる。このように、和44は、キャ
リー伝達加算器12からのキャリーアウト42が入手で
きる1マルチプレクサ遅延後、マルチプレクサ14から
の出力として入手できる。As shown in FIG. 1, each A cell has:
The carry input is received from the adder 19 between the broken lines 30 and 32 in the same column. Each A cell has a dashed line 30 in the same row.
And 32 from the adder 18. The conversion of the upper bits is such that A and B are such that the input to multiplexer 14 is available either prior to or simultaneously with carry out 42 of carry transfer adder 12.
Is achieved in Thus, sum 44 is available as an output from multiplexer 14 after one multiplexer delay when carry-out 42 from carry transfer adder 12 is available.
【0018】図4は、図1のBセルの略図であり、(同
一行におけるAセルの出力ZOおよびOOから受け取ら
れる)入力Z1およびO1と、同一列におけるAセルか
ら受け取ったAおよびGを示す。どのように入力が論理
的に組み合わせられて各Bセルにおける出力を形成する
かを示す表現は、図4の側に示される。FIG. 4 is a schematic diagram of the B cell of FIG. 1 showing inputs Z1 and O1 (received from the outputs ZO and OO of the A cell in the same row) and A and G received from the A cell in the same column. Show. A representation showing how the inputs are logically combined to form the output at each B cell is shown on the side of FIG.
【0019】AおよびBセルは、入力および出力間の論
理関係と相互接続アーキテクチャに基づき、積の最上位
ビットの和すなわち換算された積の2つの形態を計算
し、維持する。コンバータ16は、キャリー伝達加算器
12からキャリーアウト42が第1の論理状態、たとえ
ば0になると仮定する最上位ビットの和すなわち換算さ
れた積を計算する。また、コンバータ16は、キャリー
伝達加算器12からキャリーアウト42が第2の論理状
態、たとえば1になると仮定する最上位ビットの和すな
わち換算された積も計算する。AおよびBセルの底部列
の出力は、マルチプレクサ14への入力として2つの和
を供給する。和の1つは、ZO出力で表され、第2の和
は、OO出力で表される。The A and B cells calculate and maintain two forms of the sum of the most significant bits of the product, ie, the reduced product, based on the logical relationship between the inputs and outputs and the interconnect architecture. Converter 16 calculates the sum or reduced product of the most significant bits assuming that carry out 42 from carry transfer adder 12 is in a first logic state, eg, zero. Converter 16 also calculates the sum or reduced product of the most significant bits assuming that carry out 42 from carry transfer adder 12 is at a second logic state, eg, one. The outputs of the bottom columns of A and B cells provide the two sums as inputs to multiplexer 14. One of the sums is represented by the ZO output, and the second sum is represented by the OO output.
【0020】キャリー伝達加算器12が計算を終了し、
キャリーアウト42が入手できた時、コンバータ16で
計算された2つの和すなわち換算された席のうちの正し
い方が、マルチプレクサ14で選択される。キャリー伝
達加算器12からのキャリーアウト42が、第1の状態
をとる場合は、コンバータ16で計算された第1の和
が、マルチプレクサ14の出力として選択される。キャ
リー伝達加算器12からのキャリーアウト42が、第2
の状態をとる場合は、コンバータ16で計算された第2
の和が、マルチプレクサ14の出力として選択される。
第1の和は、たとえば、マルチプレクサ14へのOO入
力で表される。Carry transfer adder 12 finishes the calculation,
When the carry-out 42 is available, the correct one of the two sums calculated by converter 16, or the converted seat, is selected by multiplexer 14. If the carry out 42 from carry transfer adder 12 assumes the first state, the first sum calculated by converter 16 is selected as the output of multiplexer 14. Carry out 42 from carry transfer adder 12
In the case of the state of
Is selected as the output of the multiplexer 14.
The first sum is represented, for example, by the OO input to multiplexer 14.
【0021】この実施例では、マルチプレクサ14は、
(n−1)出力44を供給し、キャリー伝達加算器12
は、ひとまとめにして積の2nビットとなる(n+1)
出力40を供給する。マルチプレクサ14からの出力4
4は、積の最上位ビットであり、キャリー伝達加算器1
2からの出力42は、積の最下位ビットである。1が、
図1における破線30および32の間で換算される。こ
のため、キャリー伝達加算器12からのビット出力の数
は、マルチプレクサ14からのビット出力の数より1大
きくなる。A数字は、基数のlog2 となる。In this embodiment, the multiplexer 14 is
(N-1) The output 44 is supplied and the carry transfer adder 12
Become 2n bits of the product together (n + 1)
An output 40 is provided. Output 4 from multiplexer 14
4 is the most significant bit of the product, carry transfer adder 1
The output 42 from 2 is the least significant bit of the product. 1 is
It is converted between the broken lines 30 and 32 in FIG. Thus, the number of bit outputs from carry transfer adder 12 is one greater than the number of bit outputs from multiplexer 14. The number A is the log 2 of the radix.
【0022】配列26の下位サイドと配列26の上位サ
イド間の正確な境界線は、乗数と被乗数のビット数に依
存して変わることがある。The exact boundary between the lower side of array 26 and the upper side of array 26 may vary depending on the number of bits in the multiplier and the multiplicand.
【0023】図5は、基数4乗算器のためのコンバータ
乗算器10'の略図を示す。図1の基数2の実施例にお
ける構成要素と同じ機能を提供する図の5構成要素は、
同じ参照数字とプライム符号で示されている。基数4コ
ンバータにおいて、図1の基数2乗算器のためのAセル
で発生する1ビットと比較した場合、各Dセルで2ビッ
トが発生する。キャリー伝達加算器12'からの出力4
0'としてのビット出力の数は、破線30'および32'
間で換算される2ビットに起因して、マルチプレクサ1
4'からのビット数より2つ大きくなっている。Dセル
で実行される論理は、図6に示される。図1のタイプA
セルは、演算数が基数4であることに起因して、図5の
タイプDセルと置換される。本発明は、図1において基
数2実施例で、かつ図5において基数4実施例で示され
ているが、本発明は、当業者に明らかなように、これに
限らない。FIG. 5 shows a schematic diagram of a converter multiplier 10 'for a radix-4 multiplier. The five components in the figure that provide the same functions as the components in the radix-2 embodiment of FIG.
The same reference numerals and primes are used. In a radix-4 converter, two bits occur in each D cell when compared to one bit that occurs in the A cell for the radix-2 multiplier of FIG. Output 4 from carry transfer adder 12 '
The number of bit outputs as 0's is indicated by dashed lines 30 'and 32'
Multiplexer 1 due to the two bits being converted between
It is two larger than the number of bits from 4 '. The logic performed on the D cells is shown in FIG. Type A of FIG.
The cell is replaced by the type D cell of FIG. 5 due to the radix-4 radix. Although the present invention is illustrated in FIG. 1 with a radix-2 embodiment and in FIG. 5 with a radix-4 embodiment, the invention is not so limited, as will be apparent to those skilled in the art.
【0024】図1および図5の乗算器10,10'は、
1つ以上の集積回路における周知のVLSI処理を使用
して製作することができる。本発明は、この技術を含む
集積回路を使用した通信システムおよび機器において特
に有益である。このような通信システムおよび機器は、
信号処理を遂行する速度が増大するという利点を有す
る。乗算器10,10'は、上位ビットが知られている
乗算器より早く入手でき、それにより、乗算を終了する
のに必要な時間が減るように、部分積を提供する。本発
明は、多くの減少方式、乗算器のタイプ、および基数と
共に有益である。ボー=ウーリイ=ブランケンシップ
(Baugh-Wooley-Blankenship)符号化された2の補数乗
算器等の基数2乗算器のいずれか、またはブース=マッ
クソーリィ(Booth-MacSorley )乗算器、またはより高
い基数の乗算器のいずれかと共に使用することができ
る。The multipliers 10, 10 'in FIGS. 1 and 5
It can be manufactured using well-known VLSI processing on one or more integrated circuits. The present invention is particularly useful in communication systems and equipment using integrated circuits that include this technology. Such communication systems and equipment include:
This has the advantage that the speed of performing signal processing is increased. Multipliers 10, 10 'provide partial products so that the high order bits are available earlier than known multipliers, thereby reducing the time required to complete the multiplication. The present invention is useful with many reduction schemes, multiplier types, and radixes. Any radix-2 multiplier, such as a Baugh-Wooley-Blankenship coded two's complement multiplier, or a Booth-MacSorley multiplier, or higher radix multiplication Can be used with any of the vessels.
【0025】前処理フラグ検出 図7において、図1および図5の乗算器10,10'
は、乗算器配列24、コンバータ16、最終マルチプレ
クサ段14およびキャリー伝達加算器12に分解されて
いる。図1の基数2実施例または図5の基数4実施例に
おける構成要素と同じ機能を与える図7の構成要素は、
同じ参照数字で示されている。図7に示されるように、
乗算器10で発生した結果としての積は、ロードレジス
タ70に入力される。次いで、前処理制御ブロック72
は、レジスタ70から、結果としての積からの予め定め
られた数の最上位ビットを受け取り、kビットだけのサ
チュレートまたはシフト左/右のような異なる前処理作
業を実行するためのクロックされた選択信号を発生す
る。本発明は、サチュレート前処理作業に関係してい
る。Detection of preprocessing flag In FIG. 7, the multipliers 10 and 10 'of FIGS. 1 and 5 are used.
Is decomposed into a multiplier array 24, a converter 16, a final multiplexer stage 14, and a carry transfer adder 12. The components in FIG. 7 that provide the same functions as the components in the radix-2 embodiment of FIG. 1 or the radix-4 embodiment of FIG.
Indicated by the same reference numerals. As shown in FIG.
The resulting product generated by multiplier 10 is input to load register 70. Next, the pre-processing control block 72
Receives a predetermined number of the most significant bits from the resulting product from the register 70 and performs clocked selection to perform different preprocessing operations such as saturating or shifting left / right by k bits only. Generate a signal. The present invention relates to a saturating pretreatment operation.
【0026】前に示されたように、サチュレート前処理
は、結果としての積の最上位ビットのいくつかを評価
し、サチュレート状態が存在する場合は、結果としての
積をサチュレートさせる。たとえば、サチュレート状態
は、論理1の値を持つために最上位ビットを必要とする
ことがある。サチュレート状態が存在する場合は、サチ
ュレート前処理は、たとえば、残りの下位ビットを論理
0にセットすることにより、結果としての積をサチュレ
ートさせる。図7における乗算サイクルの重要な遅延パ
スは次の通りである。すなわち、キャリー伝達加算器1
2で発生した選択信号、最終マルチプレクサ段14、乗
算器最終積をロードレジスタ70にロードすること、お
よび前処理制御ブロック72のためのMSBの評価であ
る。したがって、重要な遅延パスは、乗算器積がロード
レジスタ70を介してALU前処理のために選択されて
いる場合、フラグ発生ロジックの3乃至4遅延段とな
る。As previously indicated, saturating preprocessing evaluates some of the most significant bits of the resulting product and, if a saturating condition exists, causes the resulting product to saturate. For example, a saturating state may require the most significant bit to have a logic one value. If a saturating condition exists, saturating pre-processing saturates the resulting product, for example, by setting the remaining lower bits to logic zero. The important delay paths of the multiplication cycle in FIG. 7 are as follows. That is, carry transfer adder 1
Loading the select signal generated at 2, the final multiplexer stage 14, the multiplier final product into the load register 70, and evaluating the MSB for the pre-processing control block 72. Thus, the important delay path is the three to four delay stages of the flag generation logic when the multiplier product is selected for ALU preprocessing via the load register 70.
【0027】本発明の特徴によれば、前処理サチュレー
ト作業は、上位ビットが入手できるやいなや実行され
る。前に示されたように、上位ビットの換算は、マルチ
プレクサ14の入力がキャリー伝達加算器12のキャリ
ーアウト42に先だってまたはそれと同時のどちらかで
入手できるように、AおよびBセルにおいてコンバータ
16,16'で成し遂げられる。このように、和44
は、キャリー伝達加算器12からのキャリーアウト42
が入手できた1マルチプレクサ遅延後、マルチプレクサ
14からの出力として入手できる。According to a feature of the present invention, the preprocessing saturating operation is performed as soon as the upper bits are available. As indicated earlier, the conversion of the upper bits is performed by the converters 16 and 17 in the A and B cells such that the input of the multiplexer 14 is available either prior to or simultaneously with the carry out 42 of the carry transfer adder 12. Achieved at 16 '. Thus, sum 44
Is the carry out 42 from carry transfer adder 12
Are available as an output from multiplexer 14 after one available multiplexer delay.
【0028】図8は、本発明による前処理段100を伴
う乗算器10を示す。前処理段100は、乗算器積のM
SBビットを前処理するための一対のブロック80,8
2を含む。本質的に、ブロック80,82は、予め定め
られた数の上位ビットが全て1に等しいか否かを判定す
る。第1のブロック80は、コンバータ16で計算され
た第1の和(Z(i))と関連するMSBを前処理し、
第2のブロック82は、コンバータ16で計算された第
2の和(O(i))と関連するMSBを前処理する。実
行時、各ブロック80,82は、予め定められた数のM
SBのアンドをとり、MSBが全て論理1の値を有する
か否かを判定する。マルチプレクサ14"は、図1のマ
ルチプレクサ14および図5のマルチプレクサ14'と
同じように働き、同じ選択信号42がキャリー伝達加算
器12より発生し、ブロック80,82で発生する前処
理済みMSBビットの各々に対して2つの論理状態のう
ちの1つを選択する。FIG. 8 shows a multiplier 10 with a pre-processing stage 100 according to the invention. The preprocessing stage 100 calculates the multiplier product M
A pair of blocks 80 and 8 for preprocessing the SB bit
2 inclusive. In essence, blocks 80 and 82 determine whether a predetermined number of upper bits are all equal to one. A first block 80 pre-processes the MSB associated with the first sum (Z (i)) calculated by converter 16;
The second block 82 pre-processes the MSB associated with the second sum (O (i)) calculated by the converter 16. At run time, each block 80, 82 has a predetermined number of M
An AND of SB is determined to determine whether all MSBs have a logical 1 value. Multiplexer 14 "operates in the same manner as multiplexer 14 of FIG. 1 and multiplexer 14 'of FIG. 5, with the same select signal 42 being generated by carry transfer adder 12 and of the pre-processed MSB bits generated at blocks 80 and 82. Select one of two logic states for each.
【0029】キャりー伝達加算器12が計算を終了し
て、キャリーアウト値42が入手できた時、コンバータ
16で計算された2つの和すなわち換算された積のうち
の正しいものが、マルチプレクサ14で選択される。さ
らに、ブロック80,82で発生する前処理された値の
うちの正しいものが選択される。キャリー伝達加算器1
2からのキャリーアウトが第1の状態をとる場合、コン
バータ16で計算された第1の和が、マルチプレクサ1
4の出力として選択され、第1の前処理されたサチュレ
ート値が選択される。キャリー伝達加算器12からのキ
ャリーアウトが第2の状態をとる場合、コンバータ16
で計算された第2の和が、マルチプレクサ14の出力と
して選択され、第2の前処理されたサチュレート値が選
択される。第1の和は、たとえばマルチプレクサ14へ
の入力ZOで表し、大2の和は、たとえばマルチプレク
サ14への入力OOで表すことができる。When the carry-out adder 12 has finished the calculation and the carry-out value 42 is available, the correct one of the two sums, ie, the reduced product, calculated by the converter 16 is passed to the multiplexer 14. Selected. In addition, the correct one of the preprocessed values occurring in blocks 80 and 82 is selected. Carry transmission adder 1
2 takes the first state, the first sum calculated by converter 16 is applied to multiplexer 1
4 and the first preprocessed saturate value is selected. If the carry out from carry transfer adder 12 assumes the second state, converter 16
Is selected as the output of the multiplexer 14, and a second preprocessed saturating value is selected. The first sum can be represented, for example, by the input ZO to the multiplexer 14, and the sum of the large two can be represented, for example, by the input OO to the multiplexer 14.
【0030】したがって、本発明は、マルチプレクサ1
4を使用して、乗算器積のMSBビットの出力の計算と
並列に、乗算器積の前処理されたMSBビットを計算す
る。サチュレートフラグが前処理段100で発生した
後、このフラグは、前処理制御ブロック72に供給され
る。前処理制御ブロック72は、サチュレートフラグが
0にセットされていれば、呪術のように乗算器積をサチ
ュレートさせる。しかし、サチュレートフラグは、従来
手法よりも3または4遅延段階早く発生する。Therefore, the present invention provides a multiplexer 1
4 is used to calculate the preprocessed MSB bits of the multiplier product in parallel with the calculation of the output of the MSB bits of the multiplier product. After the saturating flag is generated in the preprocessing stage 100, the flag is provided to the preprocessing control block 72. If the saturating flag is set to 0, the pre-processing control block 72 saturates the multiplier product like magic. However, the saturating flag occurs three or four delay stages earlier than in the prior art.
【0031】ここに示され、説明された実施例および変
形は、本発明の単なる例示であり、種々の修正は、本発
明の範囲および精神から逸脱することなく当業者により
実行され得ることが理解されるべきである。It is understood that the embodiments and variations shown and described herein are merely illustrative of the present invention, and that various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention. It should be.
【図1】部分積項を発生、加算し、乗数と被乗数の積を
計算するための従来の基数2の乗算器を示す略図であ
る。FIG. 1 is a schematic diagram illustrating a conventional radix-2 multiplier for generating and adding partial product terms and calculating a product of a multiplier and a multiplicand.
【図2】図1の加算器を示す略図である。FIG. 2 is a schematic diagram illustrating the adder of FIG. 1;
【図3】図1のAセルを示す略図である。FIG. 3 is a schematic diagram showing an A cell of FIG. 1;
【図4】図1のBセルを示す略図である。FIG. 4 is a schematic diagram showing a B cell of FIG. 1;
【図5】部分積項を発生、加算し、乗数と被乗数の積を
計算するための従来の基数4の乗算器を示す略図であ
る。FIG. 5 is a schematic diagram illustrating a conventional radix-4 multiplier for generating and adding partial product terms and calculating a product of a multiplier and a multiplicand.
【図6】図1のDセルを示す略図である。FIG. 6 is a schematic diagram showing the D cell of FIG. 1;
【図7】図1または図5の従来の乗算器と、異なる前処
理作業を発生する従来の前処理制御ブロックを示す略図
である。FIG. 7 is a schematic diagram showing the conventional multiplier of FIG. 1 or 5 and a conventional preprocessing control block that generates different preprocessing operations.
【図8】図1または図5の従来の乗算器と、本発明にし
たがって前処理サチュレーション作業を実行する前処理
制御ブロックを示す略図である。FIG. 8 is a schematic diagram showing the conventional multiplier of FIG. 1 or 5 and a pre-processing control block for performing pre-processing saturation work in accordance with the present invention.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アレキサンダー ゴールドブスキー アメリカ合衆国 19115 ペンシルヴァニ ア,フィラデルフィア,ジャミソン アヴ ェニュー 9346 エー ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Alexander Goldbusky United States 19115 Pennsylvania, Philadelphia, Jamison Avenue 9346 A
Claims (28)
ションフラグを発生する方法であって、 部分積の配列を発生するステップと、 換算された積の第1のセットを発生するために、第1の
状態をとるものとして上記配列の最下位サイドからのキ
ャリーアウトを仮定する上記配列の上位サイドにおい
て、上記部分積を換算するステップと、 換算された積の第2のセットを発生するために、第2の
状態をとるものとして上記配列の最下位サイドからのキ
ャリーアウトを仮定する上記配列の上位サイドにおい
て、上記部分積を換算するステップと、 上記配列の上位サイドの換算された積として、上記配列
の最下位サイドからのキャリーアウトが第1の状態をと
る場合は上記換算された積の第1のセットを選択し、上
記配列の最下位サイドからのキャリーアウトが第2の状
態をとる場合は上記換算された積の第2のセットを選択
するステップと、 上記換算された積の第1のセットのいくつかの最上位ビ
ットを結合して、第1のサチュレーションフラグを発生
すると共に、上記換算された積の第2のセットのいくつ
かの最上位ビットを結合して、第2のサチュレーション
フラグを発生するステップと、 上記配列の最下位サイドからのキャリーアウトが第1の
状態をとる場合は、上記第1のサチュレーションフラグ
を選択し、上記配列の最下位サイドからのキャリーアウ
トが第2の状態をとる場合は、上記第2のサチュレーシ
ョンフラグを選択するステップとからなる方法。1. A method for generating a pre-processed saturation flag in a multiplier, the method comprising: generating an array of partial products; and generating a first set of reduced products. Converting the partial product on the upper side of the array assuming a carry-out from the bottom side of the array as taking a state; and generating a second set of converted products by: Converting the partial product on the upper side of the array assuming a carry-out from the bottom side of the array as taking the state of 2; If the carry-out from the least significant side of the array takes the first state, select the first set of converted products and Selecting the second set of reduced products if the carry-out assumes a second state; and combining some most significant bits of the first set of reduced products to a first Generating a second saturation flag and combining the most significant bits of the second set of reduced products to generate a second saturation flag; and carrying from the least significant side of the array. When the out takes the first state, the first saturation flag is selected, and when the carry out from the least significant side of the array takes the second state, the second saturation flag is selected. A method consisting of steps.
ーションフラグを選択するステップは、前記換算された
積を選択するステップと実質的に同時に実行される方
法。2. The method of claim 1, wherein the step of selecting a saturation flag is performed substantially simultaneously with the step of selecting the reduced product.
するステップは、前記換算された積の第1または第2の
セットの前記最上位ビットが全て1か否かを示すサチュ
レーションフラグを発生する方法。3. The method of claim 1, wherein the combining step generates a saturation flag indicating whether the most significant bits of the first or second set of reduced products are all ones. Method.
するステップは、さらに、前記換算された積の第1また
は第2のセットの前記最上位ビットのアンドをとって、
前記最上位ビットが全て1か否かを判定するステップを
含む方法。4. The method of claim 3, wherein the step of combining further comprises: ANDing the most significant bit of the first or second set of reduced products;
Determining whether the most significant bits are all ones.
前記配列の下位サイドにおいて部分積を換算してキャリ
ーアウトを発生するステップを含む方法。5. The method of claim 1, further comprising:
Converting a partial product on the lower side of the array to produce a carry-out.
の上位サイドから換算された部分積は、前記配列の下位
サイドから換算された積に先立って入手できる方法。6. The method of claim 1, wherein the reduced partial product from the upper side of the array is available prior to the reduced product from the lower side of the array.
の上位サイドから換算された部分積は、前記配列の下位
サイドから換算された部分積と実質的に同時に入手でき
る方法。7. The method of claim 1, wherein the reduced partial product from the upper side of the array is obtained substantially simultaneously with the reduced partial product from the lower side of the array.
ションフラグを発生する方法であって、 部分積の配列を発生するステップと、 階層型キャリー選択加算器において上記配列の上位サイ
ドの部分積を換算して、換算された積の第1および第2
のセットを発生するステップと、 前記配列の最下位サイドから受け取ったキャリーに基づ
いて換算された部分積の和を選択するステップと、 上記換算された積の第1のセットのいくつかの最上位ビ
ットを結合して、第1のサチュレーションフラグを発生
すると共に、上記換算された積の第2のセットのいくつ
かの最上位ビットを結合して、第2のサチュレーション
フラグを発生するステップと、 前記配列の最下位サイドから受け取ったキャリーに基づ
いてサチュレーションフラグを選択するステップとから
なる方法。8. A method for generating a preprocessed saturation flag in a multiplier, comprising: generating an array of partial products; and converting a partial product on the upper side of the array in a hierarchical carry select adder. And the first and second
Generating a set of reduced products; selecting a sum of reduced partial products based on the carry received from the least significant side of the array; and selecting some of the tops of the first set of reduced products. Combining the bits to generate a first saturation flag and combining some of the most significant bits of the second set of reduced products to generate a second saturation flag; Selecting a saturation flag based on the carry received from the bottom side of the array.
ュレーションフラグを選択するステップは、前記換算さ
れた積を選択するステップと実質的に同時に実行される
方法。9. The method of claim 8, wherein the step of selecting the saturation flag is performed substantially simultaneously with the step of selecting the converted product.
合するステップは、前記換算された積の第1または第2
のセットの前記最上位ビットがすべて1か否かを示すサ
チュレーションフラグを発生する方法。10. The method of claim 8, wherein the step of combining comprises the first or second of the reduced products.
Generating a saturation flag indicating whether the most significant bits of the set are all ones.
結合するステップは、さらに、前記換算された積の第1
または第2のセットの前記最上位ビットのアンドをとっ
て、前記最上位ビットが全て1かどうかを判定するステ
ップを含む方法。11. The method according to claim 10, wherein said combining step further comprises the step of:
Or, ANDing the most significant bits of a second set to determine if the most significant bits are all ones.
に、前記配列の下位サイドにおける部分積を換算して、
キャリーアウトを発生するステップを含む方法。12. The method of claim 8, further comprising: converting a partial product on a lower side of the array to:
A method comprising the step of generating a carry-out.
列の上位サイドから換算された部分積は、前記配列の下
位サイドから換算された部分積に先立って入手できる方
法。13. The method of claim 8, wherein the reduced partial product from the upper side of the array is obtained prior to the reduced partial product from the lower side of the array.
列の上位サイドから換算された部分積は、前記配列の下
位サイドから換算された部分積と実質的に同時に入手で
きる方法。14. The method of claim 8, wherein the reduced partial product from the upper side of the array is obtained substantially simultaneously with the reduced partial product from the lower side of the array.
積を換算して、第1のキャリー状態と関連する、換算さ
れた積の第1のセットを発生する第1の回路と、 部分積配列の上位サイドにおける部分積を換算して、第
2のキャリー状態と関連する、換算された積の第2のセ
ットを発生する第2の回路と、 上記配列の上位サイドの換算された積として、上記配列
の最下位サイドからのキャリーアウトが上記第1のキャ
リー状態をとる場合は上記換算された第1のセットを選
択し、上記配列の最下位サイドからのキャリーアウトが
上記第2のキャリー状態をとる場合は上記換算された第
2のセットを選択する第1の選択部と、 上記換算された積の第1のセットのいくつかの最上位ビ
ットを結合して第1のサチュレーションフラグを発生
し、上記換算された積の第2のセットのいくつかの最上
位ビットを結合して第2のサチュレーションフラグを発
生する前処理部と、 上記配列の最下位サイドからのキャリーアウトが第1の
状態をとる場合は上記第1のサチュレーションフラグを
選択し、上記配列の最下位サイドからのキャリーアウト
が第2の状態をとる場合は上記第2のサチュレーション
フラグを選択する第2の選択部とからなる乗算器。15. A first circuit for converting a partial product on an upper side of the partial product array to generate a first set of reduced products associated with a first carry state; A second circuit for converting the partial product on the upper side to generate a second set of converted products associated with a second carry state; and as a converted product on the upper side of the array, When the carry-out from the bottom side of the array takes the first carry state, the converted first set is selected, and the carry-out from the bottom side of the array takes the second carry state. If so, a first selector for selecting the converted second set, and some most significant bits of the first set of the converted product are combined to generate a first saturation flag. , A preprocessor for combining some of the most significant bits of the second set of computed products to generate a second saturation flag; and a carry-out from the least significant side of the array taking a first state. And a second selector for selecting the first saturation flag if the carry-out from the least significant side of the array takes the second state. .
記第2の選択部は、前記第1の選択部が前記換算された
席を選択するのと実質的に同時に、サチュレーションフ
ラグを選択する乗算器。16. The multiplier according to claim 15, wherein said second selector selects a saturation flag at substantially the same time as said first selector selects said converted seat. vessel.
記前処理部は、前記換算された積の第1または第2のセ
ットの前記最上位ビットが全て1か否かを示すサチュレ
ーションフラグを発生する乗算器。17. The multiplier according to claim 15, wherein the preprocessing unit generates a saturation flag indicating whether all the most significant bits of the first or second set of the converted products are all 1s. Multiplier.
記前処理部は、前記換算された積の第1または第2のセ
ットの前記最上位ビットを結合して、前記最上位ビット
が全て1かどうかを判定する1つ以上のアンドゲートを
含む乗算器。18. The multiplier of claim 17, wherein the pre-processing unit combines the most significant bits of a first or second set of the converted products so that the most significant bits are all ones. A multiplier including one or more AND gates for determining whether
分積配列の上位サイドの部分積を換算して、換算された
積の第1および第2のセットを発生する少なくとも1つ
の回路と、 上記配列の最下位サイドから受け取ったキャリーに基づ
いて、換算された積の和を選択する選択部と、 上記換算された積の第1のセットのいくつかの最上位ビ
ットを結合して、第1のサチュレーションフラグを発生
し、上記換算された積の第2のセットのいくつかの最上
位ビットを結合して、第2のサチュレーションフラグを
発生する前処理部と、 上記配列の最下位サイドから受け取ったキャリーに基づ
いてサチュレーションフラグを選択する選択部とからな
る乗算器。19. At least one circuit for converting a partial product on the upper side of the partial product array in the hierarchical carry select adder to generate first and second sets of the converted products; Combining a number of the most significant bits of the first set of converted products based on the carry received from the least significant side and selecting a sum of the converted products; A pre-processor for generating a flag, combining some of the most significant bits of the second set of reduced products to generate a second saturation flag, and a carry received from the least significant side of the array. And a selector for selecting a saturation flag based on the multiplier.
記第2の選択部は、前記第1の選択部が換算された積を
選択するのと実質的に同時に、サチュレーションフラグ
を選択する乗算器。20. The multiplier according to claim 19, wherein said second selector selects a saturation flag substantially simultaneously with said first selector selecting a converted product. .
記前処理部は、前記換算された積の第1または第2のセ
ットが全て1か否かを示すサチュレーションフラグを発
生する乗算器。21. The multiplier according to claim 19, wherein said preprocessing unit generates a saturation flag indicating whether all of said first or second set of converted products are all ones.
記前処理部は、前み換算された積の第1または第2のセ
ットの前記最上位ビットを結合して、前記最上位ビット
が全て1か否かを判定する1つ以上のアンドゲートを含
む乗算器。22. The multiplier of claim 21, wherein the pre-processing unit combines the most significant bits of a first or second set of prescaled products so that the most significant bits are all A multiplier that includes one or more AND gates that determine whether they are 1 or not.
1のキャリー状態と関連する換算された積の第1のセッ
トを発生する第1の回路と、 部分積配列の上位サイドにおける部分積を換算して、第
2のキャリー状態と関連する換算された積の第2のセッ
トを発生する第2の回路と、 上記配列の上位サイドの換算された積として、上記配列
の最下位サイドからのキャリーアウトが前記第1のキャ
リー状態をとる場合は、前記換算された積の第1のセッ
トを選択し、前記配列の最下位サイドからのキャリーア
ウトが前記第2のキャリー状態をとる場合は、前記換算
された積の第2のセットを選択する第1の選択部と、 上記換算された積の第1のセットのいくつかの最上位ビ
ットを結合して、第1のサチュレーションフラグを発生
し、上記換算された積の第2のセットのいくつかの最上
位ビットを結合して、第2のサチュレーションフラグを
発生する前処理部と、 上記配列の最下位サイドからのキャリーアウトが第1の
状態をとる場合は、上記第1のサチュレーションフラグ
を選択し、上記配列の最下位サイドからのキャリーアウ
トが第2の状態をとる場合は、上記第2のサチュレーシ
ョンフラグを選択する第2の選択部とからなる集積回
路。23. An integrated circuit including a multiplier, the multiplier further converting a partial product on an upper side of a partial product array to generate a reduced product of a reduced product associated with a first carry state. A first circuit for generating a set of ones, and a second circuit for converting a partial product on an upper side of the partial product array to generate a second set of reduced products associated with a second carry state. And if the carry-out from the bottom side of the array takes the first carry state, as the converted product of the upper side of the array, select a first set of the converted products; A first selector for selecting a second set of the converted products, wherein the carry-out from the least significant side of the array assumes the second carry state; Some of the top of the set A pre-processor for combining the bits to generate a first saturation flag and for combining some most significant bits of the second set of the reduced products to generate a second saturation flag; When the carry-out from the bottom side of the array takes the first state, the first saturation flag is selected. When the carry-out from the bottom side of the array takes the second state, An integrated circuit comprising: a second selection unit that selects the second saturation flag.
前記選択されたサチュレーションフラグは演算前処理部
に供給され、上記演算前処理部は、前記選択されたサチ
ュレーションフラグが予め定められた値を有する場合に
前記乗算器の出力をサチュレートさせる集積回路。24. The integrated circuit according to claim 23,
An integrated circuit, wherein the selected saturation flag is supplied to a pre-operation processing unit, and the pre-operation processing unit saturates an output of the multiplier when the selected saturation flag has a predetermined value.
デジタルシグナルプロセッサ(DSP)である集積回
路。25. The integrated circuit according to claim 23,
An integrated circuit that is a digital signal processor (DSP).
マイクロプロセッサである集積回路。26. The integrated circuit according to claim 23, wherein
An integrated circuit that is a microprocessor.
マイクロコントローラである集積回路。27. The integrated circuit according to claim 23,
An integrated circuit that is a microcontroller.
アプリケーション指定集積回路である集積回路。28. The integrated circuit according to claim 23, wherein
An integrated circuit that is an application specified integrated circuit.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24095399A | 1999-01-29 | 1999-01-29 | |
US09/240953 | 1999-01-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000222172A true JP2000222172A (en) | 2000-08-11 |
Family
ID=22908608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000019883A Pending JP2000222172A (en) | 1999-01-29 | 2000-01-28 | Method and device for reducing delay in generation of saturation flag of alu |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2000222172A (en) |
TW (1) | TW454144B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1652063A1 (en) * | 2003-07-23 | 2006-05-03 | Sandbridge Technologies, Inc. | Arithmetic unit for addition or subtraction with preliminary saturation detection |
-
2000
- 2000-01-24 TW TW89101082A patent/TW454144B/en not_active IP Right Cessation
- 2000-01-28 JP JP2000019883A patent/JP2000222172A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1652063A1 (en) * | 2003-07-23 | 2006-05-03 | Sandbridge Technologies, Inc. | Arithmetic unit for addition or subtraction with preliminary saturation detection |
EP1652063A4 (en) * | 2003-07-23 | 2007-07-11 | Sandbridge Technologies Inc | Arithmetic unit for addition or subtraction with preliminary saturation detection |
Also Published As
Publication number | Publication date |
---|---|
TW454144B (en) | 2001-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4901270A (en) | Four-to-two adder cell for parallel multiplication | |
US6021424A (en) | Booth multiplier with low power, high performance input circuitry | |
US5790446A (en) | Floating point multiplier with reduced critical paths using delay matching techniques | |
US6366943B1 (en) | Adder circuit with the ability to detect zero when rounding | |
US7921149B2 (en) | Division and square root arithmetic unit | |
US5751619A (en) | Recurrent adrithmetical computation using carry-save arithmetic | |
JP2511914B2 (en) | Complex multiplier and complex multiplication method | |
US5343417A (en) | Fast multiplier | |
US20060143260A1 (en) | Low-power booth array multiplier with bypass circuits | |
Stelling et al. | Implementing multiply-accumulate operation in multiplication time | |
KR100308726B1 (en) | Apparatus and method for reducing the number of round-up predictor stages in a high speed arithmetic apparatus | |
US5957999A (en) | Booth multiplier with squaring operation accelerator | |
US5113363A (en) | Method and apparatus for computing arithmetic expressions using on-line operands and bit-serial processing | |
GB2263002A (en) | Parallel binary adder. | |
US5677863A (en) | Method of performing operand increment in a booth recoded multiply array | |
US5875125A (en) | X+2X adder with multi-bit generate/propagate circuit | |
AU630617B2 (en) | Improved floating point unit computation techniques | |
US5142490A (en) | Multiplication circuit with storing means | |
US5724280A (en) | Accelerated booth multiplier using interleaved operand loading | |
JP2000222172A (en) | Method and device for reducing delay in generation of saturation flag of alu | |
US6182105B1 (en) | Multiple-operand addition with intermediate saturation | |
US5119325A (en) | Multiplier having a reduced number of partial product calculations | |
CN115857873B (en) | Multiplier, multiplication calculation method, processing system, and storage medium | |
JP2734438B2 (en) | Multiplier | |
KR19980084342A (en) | Method and apparatus for multiplying floating point data in a two cycle pipeline |