JPH03196712A - Digital arithmetic circuit - Google Patents

Digital arithmetic circuit

Info

Publication number
JPH03196712A
JPH03196712A JP33731889A JP33731889A JPH03196712A JP H03196712 A JPH03196712 A JP H03196712A JP 33731889 A JP33731889 A JP 33731889A JP 33731889 A JP33731889 A JP 33731889A JP H03196712 A JPH03196712 A JP H03196712A
Authority
JP
Japan
Prior art keywords
carry
output
selector
full adder
sum
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.)
Granted
Application number
JP33731889A
Other languages
Japanese (ja)
Other versions
JP2864597B2 (en
Inventor
Seiichiro Iwase
岩瀬 清一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP33731889A priority Critical patent/JP2864597B2/en
Publication of JPH03196712A publication Critical patent/JPH03196712A/en
Application granted granted Critical
Publication of JP2864597B2 publication Critical patent/JP2864597B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To obtain the result of addition of partial product of a number being a half the bit number of a multiplier in time division by using a full adder and a pipe line FF for input and output side of the adder. CONSTITUTION:A selector 13 is controlled by a 3-bit control signal and outputs a signal being 0 time, + or -1 time, + or - twice of an input data selectively in response to a control signal given to each of 2 bits of a coefficient. A low-order carry via a carry connection circuit 14 and an input data (a) in 2 bits are fed to the selector 13 and a double output is generated. In the case of a code of 2' complement, the polarity inversion is realized by inverting '0' and '1' and by adding '1' to the least significant bit. An output of the selector 13 is fed to a full adder 16 via an FF 15. A carry (c) and a sum (s) in two bits of the full adder 16 are outputted via the FF 17 and fed back to the input of the full adder 16 to constitute an accumulator. The addition of the partial product is implemented in the time division processing. The selector 13, the FFs 15, 17 and the full adder 16 are operated by using a clock whose frequency is 4 times the sampling frequency.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ディジタルフィルタ等の積和演算に適用で
きるディジタル演算回路に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a digital arithmetic circuit that can be applied to a product-sum operation such as a digital filter.

〔発明の概要〕[Summary of the invention]

請求項(1)の発明は、2進数の第1の入力とキャリー
である第2の入力とサムである第3の入力とが供給され
る全加算器と、第2の入力に対して設けられ、下位から
のキャリーを全加算器に供給すると共に、上位へキャリ
ーを渡すためのキャリー接続手段と、全加算器から出力
されるキャリー及びサムをクロックに同期してホールド
する手段と、ホールド手段からのキャリーをキャリー接
続手段を介して上位へ供給すると共に、サムの出力を全
加算器に帰還する帰還路とからなり、ゲート数が少ない
構成とできる。
The invention of claim (1) provides a full adder to which a first input of a binary number, a second input that is a carry, and a third input that is a sum are provided, and a full adder that is provided for the second input. carry connection means for supplying the carry from the lower order to the full adder and passing the carry to the upper order, means for holding the carry and sum outputted from the full adder in synchronization with a clock, and holding means. It is comprised of a feedback path that supplies the carry from the input terminal to the upper level via the carry connection means and returns the output of the sum to the full adder, allowing for a configuration with a small number of gates.

請求項(2)の発明は、少なくとも2個の第1及び第2
の乗算器と第1及び第2の乗算器の出力を加算する加算
器とからなるディジタル演算回路であって、第1及び第
2の乗算器は、被乗数と乗数の分割されたデータとの部
分積を形成し、キャリー及びサムに分割した形態で部分
積を累加算する構成とされ、加算器は、第1及び第2の
乗算器の夫々のサム及びキャリーを順次選択するセレク
タを有し、セレクタの出力信号を累加算する構成とされ
たもので、ゲート数が少ない積和演算回路の構成とでき
る。
The invention of claim (2) provides at least two first and second
A digital arithmetic circuit comprising a multiplier and an adder that adds the outputs of the first and second multipliers, wherein the first and second multipliers add the multiplicand and the divided data of the multiplier. The adder has a selector that sequentially selects the sum and carry of each of the first and second multipliers; It is configured to cumulatively add the output signals of the selector, and can be configured as a product-sum calculation circuit with a small number of gates.

〔従来の技術〕[Conventional technology]

nタップのFIRディジタルフィルタは、入力系列をX
、とし、出力系列をy、とし、インパルス応答をh0〜
h7−1 とする時、 なる演算を行うものである。オーディオ信号のディジタ
ルフィルタ処理では、乗算器と累加算器を各1個持ち、
プログラムで上述の演算を制御する構成(所謂DSP)
が用いられている。しかしながら、サンプリング周波数
が高い画像データのリアルタイム処理では、乗算器及び
累加算器に時分割処理をさせる時間的余裕がない、従っ
て、第5図に示すように、上述の演算処理と対応して回
路を配した構成が用いられていた。第5図は、(n=4
)の例である。第5図の構成は、第6図のように表現す
ることができる。即ち、シフトレジスタ部31と乗算部
32と加算トリ一部33とからなる。
An n-tap FIR digital filter converts the input sequence to
, the output series is y, and the impulse response is h0~
When h7-1 is set, the following calculation is performed. Digital filter processing of audio signals uses one multiplier and one accumulator,
A configuration in which the above calculations are controlled by a program (so-called DSP)
is used. However, in real-time processing of image data with a high sampling frequency, there is not enough time to perform time-sharing processing in multipliers and accumulators. Therefore, as shown in FIG. A configuration with . Figure 5 shows (n=4
) is an example. The configuration shown in FIG. 5 can be expressed as shown in FIG. That is, it consists of a shift register section 31, a multiplication section 32, and an addition section 33.

上述のディジタルフィルタに使用される乗算器として、
部分積加算回路を並列に並べた並列乗算器が通常、使用
されている。第7図は、本願出願人の捉案にかかわるブ
ースの乗算アルゴリズムを使用した並列乗算器の一例を
示している(特開昭64−86270号公報参照)。但
し、第7図では、1ビツト分の回路構成を示しており、
IOビットの乗数(係数)を想定して5個の部分積を加
算する構成とされている。
As a multiplier used in the digital filter mentioned above,
A parallel multiplier in which partial product adder circuits are arranged in parallel is usually used. FIG. 7 shows an example of a parallel multiplier using the Booth multiplication algorithm proposed by the applicant (see Japanese Patent Laid-Open No. 86270/1986). However, Figure 7 shows the circuit configuration for 1 bit.
The configuration is such that five partial products are added assuming a multiplier (coefficient) of IO bits.

シフトレジスタ部のタップから取り出された入力データ
の1ビツトがフリップフロップ34を介してセレクタ3
5.36.37.38.39とビット接続回路40.4
1.42.43.44に夫々供給される。セレクタ35
〜39には、係数、即ち、乗数の2ビツト毎に形成され
た3ビツトの制御信号が図示せずブースのデコーダから
供給される。このデコーダには、係数の注目する2ビツ
トとその下位の1ビツトの合計3ビツトが供給される。
One bit of the input data taken out from the tap of the shift register section is sent to the selector 3 via the flip-flop 34.
5.36.37.38.39 and bit connection circuit 40.4
1.42.43.44 respectively. Selector 35
.about.39 are supplied with a 3-bit control signal formed for every 2 bits of the coefficient, that is, the multiplier, from a Booth decoder (not shown). This decoder is supplied with a total of 3 bits, including the 2 bits of the coefficient of interest and the lower 1 bit.

セレクタ35〜39は、2次のブースのアルゴリズムに
基づいて、入力の1ビツトの±2倍と±1倍と0倍とを
選択する。人力の±2倍のデータは、ビット接続回路4
0〜44により下位のビットを選択することで実現され
る。即ち、1ビツトシフトで2倍の値が形成される。
The selectors 35 to 39 select ±2 times, ±1 times, and 0 times the input 1 bit based on the second-order Booth algorithm. Data that is ±2 times human power is bit connection circuit 4
This is achieved by selecting the lower bits from 0 to 44. That is, a one-bit shift forms a double value.

45.46.47.48は、1ビツトの全加算器(フル
アダー)で、3人力が供給され、キャリーcとサムSの
2ビツトを出力する。全加算器46.47及び48のキ
ャリー人力としてビット接続回路49.50.51を夫
々介して下位からのキャリーが供給される。キャリー接
続回路49.50.51は、桁上げのためのキャリーを
上のビットプレーンの回路に接続することと、下のビッ
トプレーンの回路からの桁上げキャリーを受は入れるこ
とを行うことを示している。
45, 46, 47, and 48 are 1-bit full adders, which are supplied with three inputs and output two bits: carry c and sum S. Carries from the lower order are supplied to full adders 46, 47 and 48 via bit connection circuits 49, 50 and 51, respectively. Carry connection circuit 49.50.51 connects a carry for a carry to the circuit of the upper bit plane and accepts a carry from the circuit of the lower bit plane. ing.

通常の並列乗算器では、最後にキャリーも加算してしま
うのであるが第7図の構成では、加算トリーの後でキャ
リーの加算を行う前提で、キャリー及びサムの2ビツト
の冗長2進数の形態の出力をフリップフロップ52及び
53から出力している。この場合、加算トリ一部として
、第8図に示すように、入力側のフリップフロップ54
を介された6本の入力を4段の全加算器55.56.5
7.58で順次加算し、出力側のフリップフロップ59
及び60を介して出力する構成を使用できる。第8図も
、1ビツト分のみの構成を示している。第8図から明ら
かなように、1ビツトのデータを全てキャリーCとサム
Sの2本で扱っている点が通常の構成と異なっている。
In a normal parallel multiplier, the carry is also added at the end, but in the configuration shown in Figure 7, the carry is added after the addition tree, and the carry and sum are in the form of 2-bit redundant binary numbers. The outputs are outputted from flip-flops 52 and 53. In this case, as part of the addition circuit, as shown in FIG.
A 4-stage full adder 55.56.5
7. Sequential addition at 58, output side flip-flop 59
and 60 can be used. FIG. 8 also shows the configuration for only one bit. As is clear from FIG. 8, the configuration differs from the normal configuration in that all 1-bit data is handled by two wires, carry C and sum S.

この第8図は、FIRディジタルフィルタの3タップ分
の部分積の加算の例である。
FIG. 8 is an example of addition of partial products of three taps of an FIR digital filter.

通常の構成とは、1ビツトフルアダーの場合、第9図へ
に示すように、A及びBの入力と下位からのキャリー人
力ciとが供給され、加算出力Sと上位へのキャリー出
力coとが発生することを意味する。これに対して、上
述の第8図の構成は、演算出力では、冗長2進数として
扱い、全ての演算が済んだ後で、冗長2進数を普通の2
進数にする考え方に基づいている。つまり、第9図Bに
示すように、A、B、Cの同じビット桁の3本の入力を
加算して2本の同じビット桁の出力S1及びS2を出力
している。この考え方では、多数の同じビット桁の人力
は、最後に1ビツトにつき2本の出力まで減らせるが、
1本にすることができない。従って、第9図Cに示すよ
うに、多数の全加算器を直列に接続して、ビット毎に1
本の通常の2進数の出力を形成することが必要である。
In the case of a 1-bit full adder, as shown in FIG. 9, the normal configuration is that inputs A and B and carry input ci from the lower order are supplied, and the addition output S and the carry output co to the upper order are supplied. This means that this occurs. On the other hand, the configuration shown in FIG.
It is based on the idea of converting it into a base number. That is, as shown in FIG. 9B, three inputs of the same bit digits A, B, and C are added and two outputs S1 and S2 of the same bit digit are output. In this way of thinking, the human effort required for a large number of the same bit digits can be reduced to two outputs per bit in the end, but
I can't make it into one. Therefore, as shown in FIG. 9C, a large number of full adders are connected in series, and one
It is necessary to form the normal binary output of the book.

しかしながら、この第9図Cに示す構成は、キャリーが
多段に伝播して低速な演算回路である。
However, the configuration shown in FIG. 9C is a slow arithmetic circuit in which carries propagate through multiple stages.

かかる加算回路を高速とする方法として、キャリー先見
(キャリールックアヘッド)とかキャリーセレクトとか
が知られている。しかしながら、これらの方法は、ゲー
ト数が増大する欠点がある。
Carry lookahead and carry select are known as methods for increasing the speed of such adder circuits. However, these methods have the disadvantage of increasing the number of gates.

従って、第5図におけるディジタルフィルタを構成する
各乗算器や各加算トリー毎にこのような加算回路を設け
ることは、高速化の障害となる。そこで、先の出願では
、各乗算器や各加算器では、1ビット当り2本の演算途
中で止めて、次の演算に入り、全ての演算の後で第7図
の高速化したもので、冗長2進数から普通の2進数に変
換している。
Therefore, providing such an adder circuit for each multiplier or each adder tree constituting the digital filter in FIG. 5 becomes an obstacle to speeding up. Therefore, in the previous application, in each multiplier and each adder, two operations per bit are stopped in the middle, the next operation is started, and after all operations are completed, the speed is increased as shown in FIG. Converts redundant binary numbers to normal binary numbers.

第8図は、乗算部の1ビツトブレーン分を示したもので
、nビットの乗算器とするには、第10図のように、重
ねてnブレーンにする必要がある。
FIG. 8 shows one bit brane of the multiplication section, and in order to make an n-bit multiplier, it is necessary to overlap the n-branes as shown in FIG. 10.

第10図では、簡単のために、乗算により語長が延びる
ことは、加味されていない。第9図も、加算トリ一部の
1ビツトプレーンを示すもので、nビット分とするには
、第10図のように、重ねてnブレーンとする必要があ
る。第10図において、MPYが第7図の構成に対応し
ており、ATが第8図の構成に対応している。また、第
10図において、接続線は、簡単のため最上位ビットの
ブレーンについてのみ示しであるが、他のビットブレー
ンについて同様に接続される。
In FIG. 10, for the sake of simplicity, the fact that the word length increases due to multiplication is not taken into consideration. FIG. 9 also shows a 1-bit plane of a part of the addition tree, and in order to have n bits, it is necessary to overlap them to form n planes as shown in FIG. In FIG. 10, MPY corresponds to the configuration in FIG. 7, and AT corresponds to the configuration in FIG. 8. Further, in FIG. 10, connection lines are shown only for the most significant bit brain for simplicity, but the other bit brains are connected in the same way.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

先に提案されている構成では、第7図及び第8図のよう
に、フリップフロップとフリップフロップとの間に全加
算器等のゲート回路が多数挟まれていた。つまり、パイ
プラインレジスタの間にゲート回路が多数段直列になっ
たものが挟まっている構成である。かかる構成は、各ゲ
ート回路が働いている時間が僅かで、クロックサイクル
の大半で休んでいるために、効率が悪い回路と言える。
In the previously proposed configuration, as shown in FIGS. 7 and 8, a large number of gate circuits such as full adders are sandwiched between flip-flops. In other words, it has a configuration in which multiple stages of gate circuits connected in series are sandwiched between pipeline registers. Such a configuration can be said to be an inefficient circuit because each gate circuit works only for a short time and rests for most of the clock cycle.

かかる効率の悪さを改善しないと、画像信号処理用の高
速な演算回路が大規模となり、消費電力の増大、コスト
の増大が生じる。
If such inefficiency is not improved, a high-speed arithmetic circuit for image signal processing will become large-scale, resulting in increased power consumption and cost.

かかる効率の悪さを解決するためには、ゲート回路をな
るべく小規模の形でパイプラインレジスタ間に挟めば良
いので、第11図に示すように、全加算器61の入力側
及び出力側に夫々フリップフロップ62及び63が設け
られる。しかしながら、第11図のように、全加算器単
位或いはブースのセレクタ単位でパイプライン化するこ
とは、クロックを3倍の周波数に上げることができるが
、フリップフロップが増えてゲート数が増大する問題を
生じる。
In order to solve this problem of inefficiency, the gate circuit should be sandwiched between the pipeline registers in a form as small as possible, so as shown in FIG. Flip-flops 62 and 63 are provided. However, as shown in Figure 11, pipelining in full adder units or Booth selector units can triple the clock frequency, but there is a problem in that the number of flip-flops increases and the number of gates increases. occurs.

従って、この発明の目的は、ゲート数が少なく、また、
ゲートが無駄に遊ぶことがないように、改良されたディ
ジタル演算回路を提供することにある。
Therefore, an object of the present invention is to reduce the number of gates, and
An object of the present invention is to provide an improved digital arithmetic circuit so that gates do not play unnecessarily.

〔課題を解決するための手段〕[Means to solve the problem]

請求項(1)の発明は、2進数の第1の入力とキャリー
である第2の入力とサムである第3の入力とが供給され
る全加算器(16)と、 第2の入力に対して設けられ、下位からのキャリーを全
加算器(16)に供給すると共に、上位へキャリーを渡
すためのキャリー接続手段(18)と、 全加算器(16)から出力されるキャリー及びサムをク
ロックに同期してホールドする手段(17)と、 ホールド手段(17)からのキャリーをキャリー接続手
段(18)を介して上位へ供給すると共に、サムの出力
を全加算器(16)に帰還する帰還路と からなるディジタル演算回路である。
The invention of claim (1) provides a full adder (16) to which a first input of a binary number, a second input that is a carry, and a third input that is a sum are supplied; carry connection means (18) for supplying carry from the lower order to the full adder (16) and passing the carry to the upper order; Means for holding in synchronization with the clock (17), supplying the carry from the hold means (17) to the upper side via the carry connection means (18), and feeding back the output of the sum to the full adder (16) This is a digital arithmetic circuit consisting of a feedback path.

請求項(2)の発明は、少なくとも2個の第1及び第2
の乗算器(8A、8B)と第1及び第2の乗7算器(8
A、8B)の出力を加算する加算器(9)とからなるデ
ィジタル演算回路であって、第1及び第2の乗算器(8
A、8B)は、被乗数と乗数の分割されたデータとの部
分積を形成し、キャリー及びサムに分割した形態で部分
積を累加算する構成とされ、 加算器(9)は、第1及び第2の乗算器(8A、8B)
の夫々のサム及びキャリーを順次選択するセレクタ(2
0)を有し、セレクタ(20)の出力信号を累加算する
構成とされたディジタル演算回路である。
The invention of claim (2) provides at least two first and second
multipliers (8A, 8B) and first and second multipliers (8
A, 8B) is a digital arithmetic circuit consisting of an adder (9) that adds the outputs of the first and second multipliers (8B).
A, 8B) is configured to form a partial product of the divided data of the multiplicand and the multiplier, and accumulate the partial products in the form of a carry and a sum. Second multiplier (8A, 8B)
A selector (2) that sequentially selects each sum and carry of
0), and is a digital arithmetic circuit configured to cumulatively add the output signals of the selector (20).

〔作用〕[Effect]

請求項(1)の発明において、1個の全加算器16とそ
の入力及び出力側のパイプライン用のフリップフロップ
15.17とにより、乗数のビット数の2の個数の部分
積の加算結果を時分割動作で得ることができる。
In the invention of claim (1), one full adder 16 and flip-flops 15 and 17 for pipelines on its input and output sides add the result of addition of partial products whose number is 2, which is the number of bits of the multiplier. It can be obtained by time division operation.

請求項(2)の発明では、ディジタルフィルタのような
積和演算を行う時に、乗算部8A及び8Bと加算トリー
9が共に、キャリー及びサムの2本の信号の形態で処理
を行う、加算トリー9は、乗算部8A及び8Bからの4
本の入力をセレクタ20で順に選択して累加算を行う。
In the invention of claim (2), when performing a product-sum operation such as a digital filter, the multipliers 8A and 8B and the addition tree 9 both perform processing in the form of two signals, carry and sum. 9 is 4 from the multipliers 8A and 8B.
The book inputs are sequentially selected by the selector 20 and cumulative addition is performed.

従って、ゲート数を少なくでき、また、全加算器等の回
路が無駄に遊ぶことを防止できる。
Therefore, the number of gates can be reduced, and circuits such as full adders can be prevented from being idle.

〔実施例〕〔Example〕

以下、この発明を4タツプのFIRディジタルフィルタ
に適用した一実施例について図面を参照して説明する。
An embodiment in which the present invention is applied to a four-tap FIR digital filter will be described below with reference to the drawings.

第1図は、この一実施例の全体的な構成を示す、入力デ
ータは、その1サンプルが例えば8ビット並列のもので
、2を補数とするコードである。但し、第1図では、1
ビツトプレーンに関しての構成のみが示されている。
FIG. 1 shows the overall configuration of this embodiment. The input data is a two-complement code in which one sample is, for example, 8 bits in parallel. However, in Figure 1, 1
Only the configuration with respect to the bitplane is shown.

第1図において、■、2.3及び4は、夫々入力データ
のサンプリング周期と等しい遅延時間を有する単位遅延
素子例えばフリップフロップである。フリップフロップ
1(第1タツプ)の出力データaが乗算部8Aに供給さ
れる。フリップフロップ2(第2タツプ)の出力データ
及びフリップフロップ3(第3タツプ)の出力データが
2τ(τ:クロックの周期)の遅延量の遅延回路5及び
6に夫々供給され、遅延回路5及び6の出力データb′
及びC′が乗算部8B及び8Cに夫々供給される。フリ
ップフロップ4(第4タツプ)の出力データdが4τの
遅延回路7に供給され、遅延回路7の出力データd′が
乗算部8Dに供給される。
In FIG. 1, 2, 2.3, and 4 are unit delay elements, such as flip-flops, each having a delay time equal to the sampling period of input data. Output data a of flip-flop 1 (first tap) is supplied to multiplier 8A. The output data of flip-flop 2 (second tap) and the output data of flip-flop 3 (third tap) are supplied to delay circuits 5 and 6 with a delay amount of 2τ (τ: clock period), respectively. 6 output data b'
and C' are supplied to multipliers 8B and 8C, respectively. Output data d of the flip-flop 4 (fourth tap) is supplied to a 4τ delay circuit 7, and output data d' of the delay circuit 7 is supplied to a multiplier 8D.

乗算部8A〜8Dは、2次のブースのアルゴリズムによ
り、係数と各タップのデータとの乗算を行うものである
。即ち、(XxY)(X:被乗数(データ)、Y:乗数
(係数))の乗算を行う時に、乗数の相続く符号のパタ
ーンによって、(0、+X、−X、+2X、又は−2X
)の演算を行うことにより乗算を行うものである。従っ
て、各乗算部8A〜8Dに夫々設けられたブースのセレ
クタには、係数の相続く3ビツトがブースのデコーダに
供給されることで形成された制御信号が供給される。こ
れらのO1士X、±2Xが部分積と称される。
The multipliers 8A to 8D are for multiplying the coefficients by the data of each tap using the second-order Booth algorithm. That is, when performing multiplication of (XxY) (X: multiplicand (data), Y: multiplier (coefficient)), depending on the pattern of successive signs of the multiplier, (0, +X, -X, +2X, or -2X
) is used to perform multiplication. Therefore, the Booth selector provided in each of the multipliers 8A to 8D is supplied with a control signal formed by supplying successive three bits of the coefficient to the Booth decoder. These O1−X, ±2X are called partial products.

また、乗算部8A〜8Dは、フリップフロップl、2.
3及び4からなるシフトレジスタ部からの入力データに
ついて、係数語長のηに相当する数の部分積をクロック
サイクル毎に異積する。この部分積は、2ビツトの桁ず
れを有している必要がある。従って、シフトレジスタ部
の出力は、4クロツクサイクル毎に右シフトするだけで
なく、クロックサイクル毎に2ビツトシフトを行う。こ
のシフトの方法としては、乗算部8八〜8Dの夫々の入
力側にセレクタを設けたり、乗算部8A〜8Dの夫々の
入力を記憶し、ビット桁を上げる方向にシフトできるシ
フトレジスタを設ける等を採用できる。
Furthermore, the multipliers 8A to 8D include flip-flops l, 2.
Regarding the input data from the shift register section consisting of 3 and 4, a number of partial products corresponding to the coefficient word length η are cross-producted every clock cycle. This partial product must have a 2-bit shift. Therefore, the output of the shift register section is not only shifted to the right every four clock cycles, but also shifted two bits every clock cycle. This shifting method includes providing a selector on the input side of each of the multipliers 88 to 8D, or providing a shift register that stores the inputs of each of the multipliers 8A to 8D and can shift the bit digits upward. can be adopted.

乗算部8Aの出力eと乗算部8Bの出力fとが加算トリ
ー9Aに供給される0乗算部8Cの出力gと乗算部8D
の出力りとが加算トリー9Bに供給される。加算トリー
9A及び9Bの夫々の出力i及びjが加算トリー10に
夫々供給される。これらの加算トリー9A、9B及び1
0では、キャリーとサムの2組分の4ビツトを累加算す
る。
The output e of the multiplier 8A and the output f of the multiplier 8B are supplied to the addition tree 9A. The output g of the 0 multiplier 8C and the multiplier 8D
The output of is supplied to the addition tree 9B. The respective outputs i and j of adder trees 9A and 9B are supplied to adder tree 10, respectively. These addition trees 9A, 9B and 1
At 0, two sets of 4 bits, carry and sum, are cumulatively added.

加算トリー10の出力(キャリー及びサム)kがフリッ
プフロップ11及び12に供給され、フリップフロップ
11及び12から出力lが得られる。図示せずも、この
出力lは、冗長2進数であり、累加算器の構成により、
1ビツトが1本の普通の2進数に変換される。
The output (carry and sum) k of the adder tree 10 is supplied to flip-flops 11 and 12, from which an output l is obtained. Although not shown, this output l is a redundant binary number, and due to the configuration of the accumulator,
One bit is converted to one ordinary binary number.

第2図は、第1図に示す回路の動作を示すタイミングチ
ャートである0乗算部8A〜8D、加算トリー9A、9
B、10の動作クロックは、入力データのサンプリング
周波数の4倍の周波数である。つまり、入力データのサ
ンプリング周期をTとし、クロックの周期をτで表すと
、(T−4τ)の関係にある。xLx2、・・・は、並
列化された入力データの同一の桁(MSB、LSB等)
の1ビツトを夫々表している。
FIG. 2 is a timing chart showing the operation of the circuit shown in FIG.
The operating clock of B, 10 has a frequency four times the sampling frequency of input data. That is, if the sampling period of input data is T and the period of the clock is represented by τ, there is a relationship of (T−4τ). xLx2,... are the same digits (MSB, LSB, etc.) of the parallelized input data
Each bit represents one bit of .

フリップフロップ1の出力データaに対して、フリップ
フロップ2の出力データb、フリップフロップ3の出力
データC、フリップフロップ4の出力データdは、T、
2T、3T夫々遅れている。
For output data a of flip-flop 1, output data b of flip-flop 2, output data C of flip-flop 3, and output data d of flip-flop 4 are T,
Both 2T and 3T are delayed.

遅延回!5の出力データb′は、bに対して、2τの遅
れを持ち、遅延回路6の出力データC′は、Cに対して
、2τの遅れを持ち、遅延回路7の出力データd′は、
dに対して4τの遅れを持つ。
Delayed episode! The output data b' of the delay circuit 5 has a delay of 2τ with respect to b, the output data C' of the delay circuit 6 has a delay of 2τ with respect to C, and the output data d' of the delay circuit 7 is as follows.
It has a delay of 4τ with respect to d.

乗算部8への出力e、乗算部8Bの出力f、乗算部8C
の出力g、乗算部8Dの出力りの夫々において、Lnは
、入力データのxnと係数の乗算結果が得られるタイミ
ングを示している。例えば乗算部8Aの出力eにおいて
、t4は、x4と第1タツプの係数との乗算結果が得ら
れるタイミングである。
Output e to multiplication section 8, output f of multiplication section 8B, multiplication section 8C
In each of the output g of , and the output of the multiplier 8D, Ln indicates the timing at which the multiplication result of the input data xn and the coefficient is obtained. For example, in the output e of the multiplier 8A, t4 is the timing at which the multiplication result of x4 and the coefficient of the first tap is obtained.

加算トリー9Aの出力i及び加算トリー9Bの出力jに
おいて、tmnは、係数及びxmの積と係数及びxnの
積の和が得られるタイミングを示している。例えば加算
トリー9Aの出力iにおいて、t54は、x5と第1タ
ツプの係数の積(乗算出力eにおいてt5で示すタイミ
ングで得られる)と、x4と第2タツプの係数の積(乗
算fにおいてt4てで示すタイミングで得られる)との
和が得られるタイミングを示している。
In the output i of the addition tree 9A and the output j of the addition tree 9B, tmn indicates the timing at which the sum of the product of the coefficient and xm and the product of the coefficient and xn is obtained. For example, in the output i of the addition tree 9A, t54 is the product of x5 and the coefficient of the first tap (obtained at the timing indicated by t5 in the multiplication output e) and the product of x4 and the coefficient of the second tap (obtained at t4 in the multiplication f). (obtained at the timing indicated by) is obtained.

更に、加算トリー10の出力kにおいて、t+++no
pは、tmn及びtopで夫々得られた和出力の和が得
られるタイミングを示す0例えばt 4321は、加算
トリー9Aの出力lでt43のタイミングで発生する加
算出力と、加算トリー9Bの出力jでt21のタイミン
グで発生する加算出力との和が得られるタイミングを示
している。フリップフロップ11及び12では、元のサ
ンプリング周波数のクロックで加算トリー10の出力が
サンプリングされ、フィルタ演算出力lがフリップフロ
ップ11及び12から得られる。
Furthermore, at the output k of the addition tree 10, t+++no
p indicates the timing at which the sum of the sum outputs obtained at tmn and top is obtained, respectively.For example, t4321 is the addition output generated at the timing t43 at the output l of the addition tree 9A, and the output j of the addition tree 9B. shows the timing at which the sum with the addition output generated at timing t21 is obtained. In the flip-flops 11 and 12, the output of the addition tree 10 is sampled with a clock having the original sampling frequency, and a filter operation output l is obtained from the flip-flops 11 and 12.

上述の乗算部8Aは、第3図に示す構成を有している。The multiplication section 8A described above has the configuration shown in FIG. 3.

第3図において、13がブースのセレクタを示し、セレ
クタ13は、第1タツプに対する係数をブースのデコー
ダに供給することで得られた3ビツトの制御信号で制御
される。セレクタ13は、係数の2ビツト毎の制御信号
に応じて入力データの0倍、±1倍、±2倍の信号を選
択的に出力する。このセレクタ13には、キャリー接続
回路14を介された下位からのキャリーと入力データa
との2ビツトが供給される。キャリー接続回路14から
の下位のキャリーが選択される時には、2倍の出力が発
生することを意味する。また、2を補数とするコードの
場合には、“0”と“1”とを反転して、最下位ビット
に“l#を足すことで極性の反転が実現される。
In FIG. 3, 13 indicates a Booth selector, and the selector 13 is controlled by a 3-bit control signal obtained by supplying the coefficient for the first tap to the Booth decoder. The selector 13 selectively outputs signals that are 0 times, ±1 times, and ±2 times the input data in accordance with control signals for every two bits of the coefficient. This selector 13 receives carry and input data a from the lower level via the carry connection circuit 14.
Two bits are supplied. This means that when the lower carry from the carry connection circuit 14 is selected, twice the output is generated. Furthermore, in the case of a two-complement code, polarity inversion is achieved by inverting "0" and "1" and adding "l#" to the least significant bit.

セレクタ13の出力がフリップフロップ15を介して全
加算器16に供給される。全加算器16のキャリーC及
びサムSの2ビツトがフリップフロップ17を介して出
力されると共に、全加算器16の入力側に帰還される。
The output of selector 13 is supplied to full adder 16 via flip-flop 15. The carry C and sum S bits of the full adder 16 are outputted via the flip-flop 17 and fed back to the input side of the full adder 16.

この帰還路により累加算器(アキュムレータ)が構成さ
れる。この累加算器の構成で、部分積の加算が時分割処
理でなされる。前述のように、サンプリング周波数の4
倍のクロックでセレクタ13、フリップフロップ15及
び17、全加算器16が動作する。
This feedback path constitutes an accumulator. With this accumulator configuration, partial products are added by time-sharing processing. As mentioned above, the sampling frequency of 4
The selector 13, flip-flops 15 and 17, and full adder 16 operate with the doubled clock.

入力データaの1ビツト例えばx4が供給されると、第
1タツプの係数(8ビツト)の2ビツト毎に部分積がセ
レクタ13から生じる。合計4個の部分積が全加算器1
6により、4クロック周期で累加算され、第2図の乗算
部8Aの出力eにおいて、t4で示すタイミングでX4
と係数の乗算出力が得られる。各累加算に先行してフリ
ップフロップ17がクリアされるか、又は帰還路にAN
Dゲートを挿入して初期化がなされる。この累加算の時
に発生したキャリーがキャリー接続回路18を介して上
位の桁の全加算器に供給され、また、下位の桁のキャリ
ーがキャリー接続回路18を介して全加算器15に供給
される。
When one bit of input data a, for example x4, is supplied, a partial product is generated from the selector 13 for every two bits of the coefficient (8 bits) of the first tap. A total of 4 partial products are added to full adder 1
6, the cumulative addition is performed in four clock cycles, and at the output e of the multiplier 8A in FIG.
The multiplication output of the coefficient is obtained. Flip-flop 17 is cleared prior to each accumulation, or AN
Initialization is performed by inserting a D gate. The carry generated during this cumulative addition is supplied to the full adder of the higher digits via the carry connection circuit 18, and the carry of the lower digit is supplied to the full adder 15 via the carry connection circuit 18. .

上述の乗算部8Aは、1ビツト分の入力をキャリーCと
サムSとの2ビツトで表現する形で累加算を行う。乗算
部8B、8C18Dも第3図に示す乗算部8Aと同一の
構成とされている。
The multiplier 8A described above performs cumulative addition in such a way that one bit of input is represented by two bits, carry C and sum S. The multipliers 8B and 8C18D also have the same configuration as the multiplier 8A shown in FIG.

加算トリー9Aの詳細を第4図に示す0乗算部8A及び
8Bからは、上述のように、キャリーとサムの2ビツト
の出力e及びfが発生するので、この2ビツトの加算を
することができる構成が必要とされる。
The details of the addition tree 9A are shown in FIG. 4. Since the 0 multipliers 8A and 8B generate 2-bit outputs e and f, carry and sum, as described above, it is possible to perform addition of these 2 bits. A configuration that can do this is required.

第4図において、20は、乗算部8A及び8Bからの入
力e及びr(合計4個の入力)を切り替えるためのセレ
クタである。遅延回路5が挿入されているので、加算す
べき入力e及びfの間には、2クロック周期の遅延があ
る。これらの入力のキャリーに関しては、キャリー接続
回路21及び22が挿入されている。また、サムの入力
に関してのみフリップフロップ23及び24が挿入され
、夫々の入力e及びrにおいて、キャリーに対してサム
が1クロック周期遅れてセレクタ20に供給される。従
って、セレクタ20に対しては、入力eのキャリー、入
力eのサム、入力fのキャリー人力fのサムが4クロッ
ク周期で順番に供給され、セレクタ20は、これらの1
ビツトを順番に選択して出力する。
In FIG. 4, 20 is a selector for switching inputs e and r (four inputs in total) from multipliers 8A and 8B. Since the delay circuit 5 is inserted, there is a delay of two clock periods between the inputs e and f to be added. Regarding the carry of these inputs, carry connection circuits 21 and 22 are inserted. Further, flip-flops 23 and 24 are inserted only for the sum input, and the sum is supplied to the selector 20 with a delay of one clock period relative to the carry at the respective inputs e and r. Therefore, the carry of input e, the sum of input e, and the sum of carry human power f of input f are sequentially supplied to the selector 20 in four clock cycles, and the selector 20 receives these one
Select and output bits in order.

セレクタ20で選択された一つの入力がフリップフロッ
プ25に供給される。フリップフロップ25、全加算器
26、フリップフロップ27は、乗算部8A〜8Dと同
様の累加算器を構成している。この累加算器でフリップ
フロップ25を介された4個の入力が累加算される。従
って、入力Cが供給されたタイミングから(4+1+1
=6)クロック周期後に、フリップフロップ27から加
算トリー9Aの出力iが得られる。例えば第2図におけ
る入力eのタイミングL4から6クロツク周期後のタイ
ミングt43が加算トリー9Aの出力iが得られるタイ
ミングである。
One input selected by the selector 20 is supplied to the flip-flop 25. Flip-flop 25, full adder 26, and flip-flop 27 constitute an accumulative adder similar to multipliers 8A to 8D. This accumulator accumulates the four inputs passed through the flip-flop 25. Therefore, from the timing when input C is supplied, (4+1+1
=6) After a clock period, the output i of the adder tree 9A is obtained from the flip-flop 27. For example, the timing t43, which is six clock cycles after the timing L4 of the input e in FIG. 2, is the timing at which the output i of the addition tree 9A is obtained.

加算トリー9B及びIOも第4図と同一の構成を有して
いる。加算トリー9A及び9Bを設けずに、1個の加算
トリー10のみで、加算処理を行うことができる。但し
、その場合には、セレクタが8人力の一つを順次選択し
、繰り返し加算の回数が8回に増えるので、回路の演算
速度が第4図の構成の2倍の必要がある。
Addition tree 9B and IO also have the same configuration as in FIG. 4. Addition processing can be performed using only one addition tree 10 without providing addition trees 9A and 9B. However, in that case, the selector sequentially selects one of the eight inputs, and the number of repeated additions increases to eight, so the calculation speed of the circuit needs to be twice that of the configuration shown in FIG.

また、フィルタのタップ数、語長、累加算器の語長等は
、上述の実施例に限定されるものではない。特に、累加
算器の語長は、1ビツトのものが最も高速であるが、n
ビットの語長に拡張しても良い。更に、この発明は、デ
ィジタルフィルタに限らず、FFT、コサイン変換等の
積和演算に対しても適用できる。
Further, the number of taps of the filter, the word length, the word length of the accumulator, etc. are not limited to the above-mentioned embodiments. In particular, the word length of the accumulator is 1 bit, which is the fastest, but n
It may be expanded to a word length of bits. Furthermore, the present invention is applicable not only to digital filters but also to product-sum operations such as FFT and cosine transform.

〔発明の効果〕〔Effect of the invention〕

この発明は、全加算器及び帰還路からなる累加算器がパ
イプライン構成とされており、少ないゲート数で加算或
いは乗算器を行うことができると共に、ゲートが無駄に
遊ぶことを防止できる。また、フィルタ演算のような積
和演算を行う場合、乗算部及び加算トリーでの処理が冗
長2進数で行うことができ、乗算部及び加算トリーの夫
々でキャリーの桁上げの加算を行う必要がなくなり、演
算速度が低下することを防止できる。更に、この発明で
は、累加算器のように同じ回路構成のものが多いので、
IC化に適している。
In this invention, an accumulator consisting of a full adder and a feedback path has a pipeline configuration, so that addition or multiplier operation can be performed with a small number of gates, and it is possible to prevent the gates from being idle. In addition, when performing a product-sum operation such as a filter operation, processing in the multiplication section and addition tree can be performed using redundant binary numbers, and it is not necessary to perform carry carry addition in each of the multiplication section and addition tree. This prevents the calculation speed from decreasing. Furthermore, in this invention, many of the circuit configurations are the same, such as the accumulator, so
Suitable for IC implementation.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はこの発明の一実施例の全体のブロック図、第2
図はこの一実施例の動作を示すタイミングチャート、第
3図は乗算部の一例の構成を示すブロック図、第4図は
加算トリーの一例の構成を示すブロック図、第5図及び
第6図はFIRディジタルフィルタの説明に用いるブロ
ック図、第7図及び第8図は先に提案されている乗算器
及び加算トリーを夫々示すブロック図、第9図は加算処
理の説明のための路線図、第1O図はビットブレーン間
の接続関係を示す路線図、第11図は全加算器毎にパイ
プライン化する構成を示すブロック図である。 図面における主要な符号の説明 8A〜8D:乗算部、 9A、9B、10:加算トリー 13:ブースのセレクタ、 16.26:全加算器、 20:セレクタ。
FIG. 1 is an overall block diagram of one embodiment of the present invention, and FIG.
FIG. 3 is a timing chart showing the operation of this embodiment, FIG. 3 is a block diagram showing an example of the configuration of a multiplication section, FIG. 4 is a block diagram showing an example of the configuration of an addition tree, and FIGS. 5 and 6. is a block diagram used to explain the FIR digital filter, FIGS. 7 and 8 are block diagrams showing the previously proposed multiplier and addition tree, respectively, and FIG. 9 is a route diagram used to explain the addition process. FIG. 1O is a route diagram showing the connection relationship between bit brains, and FIG. 11 is a block diagram showing a configuration in which each full adder is pipelined. Explanation of main symbols in the drawings 8A to 8D: Multiplier, 9A, 9B, 10: Addition tree 13: Booth's selector, 16.26: Full adder, 20: Selector.

Claims (2)

【特許請求の範囲】[Claims] (1)2進数の第1の入力とキャリーである第2の入力
とサムである第3の入力とが供給される全加算器と、 上記第2の入力に対して設けられ、下位からのキャリー
を上記全加算器に供給すると共に、上位へキャリーを渡
すためのキャリー接続手段と、上記全加算器から出力さ
れるキャリー及びサムをクロックに同期してホールドす
る手段と、上記ホールド手段からのキャリーを上記キャ
リー接続手段を介して上位へ供給すると共に、上記サム
の出力を上記全加算器に帰還する帰還路とからなるディ
ジタル演算回路。
(1) A full adder to which a first input of a binary number, a second input which is a carry, and a third input which is a sum are supplied; carry connection means for supplying the carry to the full adder and passing the carry to the upper level; means for holding the carry and sum outputted from the full adder in synchronization with a clock; A digital arithmetic circuit comprising a return path for supplying a carry to an upper level via the carry connection means and for feeding back the output of the sum to the full adder.
(2)少なくとも2個の第1及び第2の乗算器と上記第
1及び第2の乗算器の出力を加算する加算器とからなる
ディジタル演算回路であって、 上記第1及び第2の乗算器は、被乗数と乗数の分割され
たデータとの部分積を形成し、キャリー及びサムに分割
した形態で上記部分積を累加算する構成とされ、 上記加算器は、上記第1及び第2の乗算器の夫々のサム
及びキャリーを順次選択するセレクタを有し、上記セレ
クタの出力信号を累加算する構成とされたことを特徴と
するディジタル演算回路。
(2) A digital arithmetic circuit comprising at least two first and second multipliers and an adder that adds the outputs of the first and second multipliers, the first and second multipliers The adder is configured to form a partial product of the divided data of the multiplicand and the multiplier, and accumulate the partial products in the form of a carry and a sum. 1. A digital arithmetic circuit comprising a selector that sequentially selects the sum and carry of each multiplier, and is configured to cumulatively add the output signals of the selector.
JP33731889A 1989-12-26 1989-12-26 Digital arithmetic circuit Expired - Fee Related JP2864597B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33731889A JP2864597B2 (en) 1989-12-26 1989-12-26 Digital arithmetic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33731889A JP2864597B2 (en) 1989-12-26 1989-12-26 Digital arithmetic circuit

Publications (2)

Publication Number Publication Date
JPH03196712A true JPH03196712A (en) 1991-08-28
JP2864597B2 JP2864597B2 (en) 1999-03-03

Family

ID=18307502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33731889A Expired - Fee Related JP2864597B2 (en) 1989-12-26 1989-12-26 Digital arithmetic circuit

Country Status (1)

Country Link
JP (1) JP2864597B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993001541A1 (en) * 1991-07-01 1993-01-21 Fujitsu Limited Apparatus for sum-of-product operation
US5790439A (en) * 1996-05-14 1998-08-04 Mitsubishi Denki Kabushiki Kaisha Reduced test time finite impulse response digital filter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993001541A1 (en) * 1991-07-01 1993-01-21 Fujitsu Limited Apparatus for sum-of-product operation
US5790439A (en) * 1996-05-14 1998-08-04 Mitsubishi Denki Kabushiki Kaisha Reduced test time finite impulse response digital filter

Also Published As

Publication number Publication date
JP2864597B2 (en) 1999-03-03

Similar Documents

Publication Publication Date Title
US4862402A (en) Fast multiplierless architecture for general purpose VLSI FIR digital filters with minimized hardware
TWI263402B (en) Reconfigurable fir filter
JPH039471A (en) Moving average processor
US4947363A (en) Pipelined processor for implementing the least-mean-squares algorithm
JPH11266140A (en) Programmable circuit for providing digital filter
JPH08221256A (en) Multiplier and product-sum arithmetic unit
JPH03196712A (en) Digital arithmetic circuit
JP2885121B2 (en) Digital filter
JPH10509011A (en) Improved digital filter
JPH0458608A (en) Input summation type transversal filter
JPH0365813A (en) Signal processing integrated circuit
JPS6015769A (en) Processing circuit of digital signal
JPH0773022A (en) Method and device for digital signal processing
JP3123060B2 (en) Digital arithmetic circuit
JP2864598B2 (en) Digital arithmetic circuit
JP3120435B2 (en) Digital arithmetic circuit
JPH0541632A (en) Fir digital filter device
JPH05108693A (en) Iir digital filter device
KR0154792B1 (en) Differentiater using the bit serial method
JPH01293007A (en) Noncyclic down-sampling filter
KR100386979B1 (en) Method of paralleling bit serial multiplier for Galois field and a bit serial-parallel multipiler using thereof
JP3412368B2 (en) Bit serial squaring circuit
KR940007569B1 (en) Array multiplication circuit
KR19990067409A (en) Circuit apparatus and method for multiple use of digital transversal filter
JPH0795671B2 (en) Digital Filter

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees