JP3237122B2 - 乗算回路 - Google Patents
乗算回路Info
- Publication number
- JP3237122B2 JP3237122B2 JP01661891A JP1661891A JP3237122B2 JP 3237122 B2 JP3237122 B2 JP 3237122B2 JP 01661891 A JP01661891 A JP 01661891A JP 1661891 A JP1661891 A JP 1661891A JP 3237122 B2 JP3237122 B2 JP 3237122B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- input
- bits
- bit
- 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.)
- Expired - Fee Related
Links
Description
【0001】
【産業上の利用分野】本発明は、例えばシリアルに入力
されるデータに所定の係数を乗算して得られた結果をシ
リアルに出力する乗算回路に関する。
されるデータに所定の係数を乗算して得られた結果をシ
リアルに出力する乗算回路に関する。
【0002】
【従来の技術】例えば第1の語長の入力数(‥‥,Ii+
1 ,Ii ,‥‥)と第2の語長の係数との積を求める乗
算回路として、従来は図15に示すように夫々キャリセ
イブアダー構造の加算器1A,1B,‥‥をその入力数
の語長の個数だけ重ねた構造の乗算回路が知られてい
る。例えば、加算器1Aの最小桁の和出力Si0はそのま
まその積の一部となり、その最小桁より上の和出力Si1
〜Sin及び全ての桁上げ出力CAi0〜CAinは夫々上段
の加算器1Bに供給され、この加算器1Bでは加算器1
Aから供給されたデータに入力数のビットIi+1 と係数
との部分積を加算することにより、その積の1桁上の値
が求められる。しかしながら、図15の乗算回路では入
力語長が長ければ長い程に加算器1A,1B,‥‥の段
数が増加して、動作速度が遅くなる。
1 ,Ii ,‥‥)と第2の語長の係数との積を求める乗
算回路として、従来は図15に示すように夫々キャリセ
イブアダー構造の加算器1A,1B,‥‥をその入力数
の語長の個数だけ重ねた構造の乗算回路が知られてい
る。例えば、加算器1Aの最小桁の和出力Si0はそのま
まその積の一部となり、その最小桁より上の和出力Si1
〜Sin及び全ての桁上げ出力CAi0〜CAinは夫々上段
の加算器1Bに供給され、この加算器1Bでは加算器1
Aから供給されたデータに入力数のビットIi+1 と係数
との部分積を加算することにより、その積の1桁上の値
が求められる。しかしながら、図15の乗算回路では入
力語長が長ければ長い程に加算器1A,1B,‥‥の段
数が増加して、動作速度が遅くなる。
【0003】これに対して、図16は動作速度を向上す
るため図15例をパイプライン化した乗算回路を示し、
この図16において、例えば加算器1A,1B,‥‥の
入出力部には夫々パイプライン用のレジスタ群3,4,
5,‥‥が接続されている。この構造により1回の乗算
時間は全加算器1個分程度の処理時間となり、動作速度
は極めて高速化される。ただし、パイプライン化したこ
とにより入力データの上位ビットほど入力を遅らせて前
段の加算器出力との同期をとる必要がある。
るため図15例をパイプライン化した乗算回路を示し、
この図16において、例えば加算器1A,1B,‥‥の
入出力部には夫々パイプライン用のレジスタ群3,4,
5,‥‥が接続されている。この構造により1回の乗算
時間は全加算器1個分程度の処理時間となり、動作速度
は極めて高速化される。ただし、パイプライン化したこ
とにより入力データの上位ビットほど入力を遅らせて前
段の加算器出力との同期をとる必要がある。
【0004】
【発明が解決しようとする課題】また、システムによっ
ては入力データが1個又は複数の信号ラインを介して時
分割的に伝送され、そのデータレートが全加算器の数個
分程度の処理時間と同等の場合がある。しかしながら、
図16の乗算回路において、入力データレートが例えば
全加算器3個分程度の処理時間と同等とすると、この乗
算回路では演算速度が必要な仕様の3倍になるため、処
理能力が充分に活かされないと共に回路構成に無駄があ
る不都合がある。即ち、演算速度をその入力データレー
トに応じて低くすれば、回路規模をより小型化できる見
込みがある。
ては入力データが1個又は複数の信号ラインを介して時
分割的に伝送され、そのデータレートが全加算器の数個
分程度の処理時間と同等の場合がある。しかしながら、
図16の乗算回路において、入力データレートが例えば
全加算器3個分程度の処理時間と同等とすると、この乗
算回路では演算速度が必要な仕様の3倍になるため、処
理能力が充分に活かされないと共に回路構成に無駄があ
る不都合がある。即ち、演算速度をその入力データレー
トに応じて低くすれば、回路規模をより小型化できる見
込みがある。
【0005】入力データを時分割的に伝送するシステム
の一例につき図17を参照して説明する。先ず図17A
の例は、1本の信号線で語長が3ビットのデータ列A,
B,C,‥‥を順次伝送するものである。即ち、3ビッ
トのデータを夫々A=(A2,A1,A0),B=(B
2,B1,B0),C=(C2,C1,C0),‥‥と
すると、その1本の信号線を1サイクルに1ビットずつ
の伝送速度でA0,A1,A2,B0,B1,B2,C
0,‥‥の順序でデータが伝送される。
の一例につき図17を参照して説明する。先ず図17A
の例は、1本の信号線で語長が3ビットのデータ列A,
B,C,‥‥を順次伝送するものである。即ち、3ビッ
トのデータを夫々A=(A2,A1,A0),B=(B
2,B1,B0),C=(C2,C1,C0),‥‥と
すると、その1本の信号線を1サイクルに1ビットずつ
の伝送速度でA0,A1,A2,B0,B1,B2,C
0,‥‥の順序でデータが伝送される。
【0006】また、図17Bの例は、語長6ビットのデ
ータ列A,B,C,‥‥を上位3ビットと下位3ビット
とに分けて2本の信号線で伝送するものである。即ち、
6ビットのデータを夫々A=(A5,A4,A3,A
2,A1,A0),B=(B5,B4,B3,B2,B
1,B0),C=(C5,C4,C3,C2,C1,C
0),‥‥とすると、その2本の内の第1の信号線を1
サイクルに1ビットずつの伝送速度でA0,A1,A
2,B0,B1,B2,C0,‥‥の順序でデータが伝
送され、第2の信号線をその第1の信号線に対して3サ
イクル遅れてA3,A4,A5,B3,B4,B5,C
3,‥‥の順序でデータが伝送される。
ータ列A,B,C,‥‥を上位3ビットと下位3ビット
とに分けて2本の信号線で伝送するものである。即ち、
6ビットのデータを夫々A=(A5,A4,A3,A
2,A1,A0),B=(B5,B4,B3,B2,B
1,B0),C=(C5,C4,C3,C2,C1,C
0),‥‥とすると、その2本の内の第1の信号線を1
サイクルに1ビットずつの伝送速度でA0,A1,A
2,B0,B1,B2,C0,‥‥の順序でデータが伝
送され、第2の信号線をその第1の信号線に対して3サ
イクル遅れてA3,A4,A5,B3,B4,B5,C
3,‥‥の順序でデータが伝送される。
【0007】同様に、図17Cの例は夫々が語長9ビッ
トのデータ列A,B,C,‥‥を上位3ビット、中位3
ビット及び下位3ビットに分けて3本の信号線で伝送す
るものである。例えば、データAを(A8,‥‥,A
1,A0)とすると、下位3ビット(A0,A1,A
2)が第1の信号線で伝送され、それから3サイクル遅
れて中位3ビット(A3,A4,A5)が第2の信号線
で伝送され、それから更に3サイクル遅れて上位3ビッ
ト(A6,A7,A8)が第3の信号線で伝送される。
また、データBを(B8,‥‥,B1,B0)とする
と、データ(Aj,Aj+1,Aj+2)に続いて各信
号線でデータ(Bj,Bj+1,Bj+2)が伝送さ
れ、それに続いてデータCの各ビットが伝送される。
トのデータ列A,B,C,‥‥を上位3ビット、中位3
ビット及び下位3ビットに分けて3本の信号線で伝送す
るものである。例えば、データAを(A8,‥‥,A
1,A0)とすると、下位3ビット(A0,A1,A
2)が第1の信号線で伝送され、それから3サイクル遅
れて中位3ビット(A3,A4,A5)が第2の信号線
で伝送され、それから更に3サイクル遅れて上位3ビッ
ト(A6,A7,A8)が第3の信号線で伝送される。
また、データBを(B8,‥‥,B1,B0)とする
と、データ(Aj,Aj+1,Aj+2)に続いて各信
号線でデータ(Bj,Bj+1,Bj+2)が伝送さ
れ、それに続いてデータCの各ビットが伝送される。
【0008】図17の伝送方式を一般化すると、nを3
の整数倍として、語長nのデータ列A,B,C,‥‥を
n/3本の信号線で時分割的に伝送することができる。
この場合のデータ列のデータ構造は次の数1のようにな
っている。ただし、An−1,Bn−1等が最大桁(M
SB)であり、A0,B0等が最小桁(LSB)であ
る。
の整数倍として、語長nのデータ列A,B,C,‥‥を
n/3本の信号線で時分割的に伝送することができる。
この場合のデータ列のデータ構造は次の数1のようにな
っている。ただし、An−1,Bn−1等が最大桁(M
SB)であり、A0,B0等が最小桁(LSB)であ
る。
【0009】
【数1】 A=(An−1,An−2,‥‥,A1,A0) B=(Bn−1,Bn−2,‥‥,B1,B0) C=(Cn−1,Cn−2,‥‥,C1,C0) ‥‥‥‥‥‥
【0010】また、数1のデータ列を図18に示すよう
に、2×n/6本の信号線を用いて時分割的に伝送する
こともできる。図18Aは、語長6ビットのデータ列
A,B,C,‥‥を2本の信号線を用いて伝送する場合
を示し、図18Bは、語長12ビットのデータ列A,
B,C,‥‥を4本の信号線で伝送する場合を示し、図
18Cは、語長18ビットのデータ列A,B,C,‥‥
を6本の信号線で伝送する場合を示す。この外にも例え
ばnを4の整数倍として、語長nビットのデータ列をn
/4本の信号線で伝送するような方式等も考えることが
できる。
に、2×n/6本の信号線を用いて時分割的に伝送する
こともできる。図18Aは、語長6ビットのデータ列
A,B,C,‥‥を2本の信号線を用いて伝送する場合
を示し、図18Bは、語長12ビットのデータ列A,
B,C,‥‥を4本の信号線で伝送する場合を示し、図
18Cは、語長18ビットのデータ列A,B,C,‥‥
を6本の信号線で伝送する場合を示す。この外にも例え
ばnを4の整数倍として、語長nビットのデータ列をn
/4本の信号線で伝送するような方式等も考えることが
できる。
【0011】本発明は斯かる点に鑑み、図17及び図1
8に示すように入力データが1本又は複数の信号線を用
いて時分割的に供給されるようなシステムにおいて、こ
のシステムのデータレートに応じた演算速度を有する回
路規模の小さな乗算回路を提供することを目的とする。
8に示すように入力データが1本又は複数の信号線を用
いて時分割的に供給されるようなシステムにおいて、こ
のシステムのデータレートに応じた演算速度を有する回
路規模の小さな乗算回路を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明による乗算回路
は、シリアルに入力される一方の数の各ビットのデータ
と予め設定されている他方の数との乗算結果を、順次桁
上げ出力をフィードバックしながら、累加算して最小桁
のデータをシリアルに出力することにより、一方の数と
他方の数との積の下位ビット側をシリアルに出力する、
1段又は並列に接続された複数段の演算ユニットと、そ
の1段又は複数段の演算ユニットの最小桁を除く累加算
結果をシリアル変換するパラレル/シリアル変換回路
と、そのパラレル/シリアル変換回路よりシリアルに出
力されるデータを、順次桁上げ出力をフィードバックし
ながら、累加算して最小桁のデータをシリアルに出力す
ることにより、一方の数と他方の数との積の上位ビット
側をシリアルに出力する、加算回路とを有するものであ
る。
は、シリアルに入力される一方の数の各ビットのデータ
と予め設定されている他方の数との乗算結果を、順次桁
上げ出力をフィードバックしながら、累加算して最小桁
のデータをシリアルに出力することにより、一方の数と
他方の数との積の下位ビット側をシリアルに出力する、
1段又は並列に接続された複数段の演算ユニットと、そ
の1段又は複数段の演算ユニットの最小桁を除く累加算
結果をシリアル変換するパラレル/シリアル変換回路
と、そのパラレル/シリアル変換回路よりシリアルに出
力されるデータを、順次桁上げ出力をフィードバックし
ながら、累加算して最小桁のデータをシリアルに出力す
ることにより、一方の数と他方の数との積の上位ビット
側をシリアルに出力する、加算回路とを有するものであ
る。
【0013】
【作用】かかる本発明によれば、1段又は並列に接続さ
れた複数段の演算ユニットによって、シリアルに入力さ
れる一方の数の各ビットのデータと予め設定されている
他方の数との乗算結果を、順次桁上げ出力をフィードバ
ックしながら、累加算して最小桁のデータをシリアルに
出力することにより、一方の数と他方の数との積の下位
ビット側をシリアルに出力する。パラレル/シリアル変
換回路によって、その1段又は複数段の演算ユニットの
最小桁を除く累加算結果をシリアル変換する。加算回路
によって、そのパラレル/シリアル変換回路よりシリア
ルに出力されるデータを、順次桁上げ出力をフィードバ
ックしながら、累加算して最小桁のデータをシリアルに
出力することにより、一方の数と他方の数との積の上位
ビット側をシリアルに出力する。
れた複数段の演算ユニットによって、シリアルに入力さ
れる一方の数の各ビットのデータと予め設定されている
他方の数との乗算結果を、順次桁上げ出力をフィードバ
ックしながら、累加算して最小桁のデータをシリアルに
出力することにより、一方の数と他方の数との積の下位
ビット側をシリアルに出力する。パラレル/シリアル変
換回路によって、その1段又は複数段の演算ユニットの
最小桁を除く累加算結果をシリアル変換する。加算回路
によって、そのパラレル/シリアル変換回路よりシリア
ルに出力されるデータを、順次桁上げ出力をフィードバ
ックしながら、累加算して最小桁のデータをシリアルに
出力することにより、一方の数と他方の数との積の上位
ビット側をシリアルに出力する。
【0014】
【0015】
【実施例】以下、本発明の第1実施例につき図1〜図6
を参照して説明しよう。この第1実施例は、順次シリア
ルに供給される語長3ビットの入力データと語長3ビッ
トの係数データとを乗算して語長6ビットの積を得て、
この積をその入力データに同期して順次シリアルに出力
するものであり、その入力データは図17Aに示す形式
で時分割されて供給されるものとする。
を参照して説明しよう。この第1実施例は、順次シリア
ルに供給される語長3ビットの入力データと語長3ビッ
トの係数データとを乗算して語長6ビットの積を得て、
この積をその入力データに同期して順次シリアルに出力
するものであり、その入力データは図17Aに示す形式
で時分割されて供給されるものとする。
【0016】図1は本例の乗算回路を示し、この図1に
おいて、6は基本ユニットであり、この基本ユニット6
の入力端子INに各3ビットの入力データa0をシリア
ルに順次供給し、この基本ユニット6の入力端子Q0,
R0,Q1及びR1に値が“0”のデータを供給する。
この基本ユニット6の出力端子OUよりその6ビットの
積の下位3ビットのデータq0がシリアルに出力される
と共に、出力端子U1,T1,U2及びT2より夫々中
間データd0,d1,d2及びd3が出力される。これ
ら中間データの内、データd0及びd2を3入力の第1
のパラレル/シリアル(P/S)変換器7の上位側の2
ビットの入力部に供給し、データd1及びd3を第2の
パラレル/シリアル(P/S)変換器8の上位側の2ビ
ットの入力部に供給し、それらP/S変換器7及び8の
最小桁の入力部に夫々“0”のデータを供給する。これ
らP/S変換器7及び8は、夫々入力部に供給されたデ
ータを上位ビット側からシリアルにデータb0及びb1
として出力する。
おいて、6は基本ユニットであり、この基本ユニット6
の入力端子INに各3ビットの入力データa0をシリア
ルに順次供給し、この基本ユニット6の入力端子Q0,
R0,Q1及びR1に値が“0”のデータを供給する。
この基本ユニット6の出力端子OUよりその6ビットの
積の下位3ビットのデータq0がシリアルに出力される
と共に、出力端子U1,T1,U2及びT2より夫々中
間データd0,d1,d2及びd3が出力される。これ
ら中間データの内、データd0及びd2を3入力の第1
のパラレル/シリアル(P/S)変換器7の上位側の2
ビットの入力部に供給し、データd1及びd3を第2の
パラレル/シリアル(P/S)変換器8の上位側の2ビ
ットの入力部に供給し、それらP/S変換器7及び8の
最小桁の入力部に夫々“0”のデータを供給する。これ
らP/S変換器7及び8は、夫々入力部に供給されたデ
ータを上位ビット側からシリアルにデータb0及びb1
として出力する。
【0017】9は全加算器(Full Adder)を示し、この
全加算器9の2個の入力端子にそれら2個のデータb0
及びb1を供給し、この全加算器9の桁上げ出力b2を
1クロック遅延用のレジスタ10を介してこの全加算器
9の残りの1個の入力端子にデータb3として帰還す
る。この全加算器9の和出力端子Sよりその積の上位3
ビットのデータq1がシリアルに出力される。
全加算器9の2個の入力端子にそれら2個のデータb0
及びb1を供給し、この全加算器9の桁上げ出力b2を
1クロック遅延用のレジスタ10を介してこの全加算器
9の残りの1個の入力端子にデータb3として帰還す
る。この全加算器9の和出力端子Sよりその積の上位3
ビットのデータq1がシリアルに出力される。
【0018】図2は図1で使用されている基本ユニット
6の構成例を示し、この図6において、Cj,Cj+1
及びCj+2は夫々本例の3ビットの係数データCの1
桁目,2桁目及び3桁目のビットに対応する。これら各
ビットデータは予め設定されているものであり、これら
各ビットデータCj,Cj+1及びCj+2を夫々アン
ドゲート11,12及び13の一方の入力端子に供給
し、これらアンドゲート11〜13の他方の入力端子に
入力端子INを共通に接続する。これらアンドゲート1
1〜13より夫々入力データa0と係数データCの各ビ
ットとの積であるa0・Cj〜a0・Cj+2が出力さ
れる。
6の構成例を示し、この図6において、Cj,Cj+1
及びCj+2は夫々本例の3ビットの係数データCの1
桁目,2桁目及び3桁目のビットに対応する。これら各
ビットデータは予め設定されているものであり、これら
各ビットデータCj,Cj+1及びCj+2を夫々アン
ドゲート11,12及び13の一方の入力端子に供給
し、これらアンドゲート11〜13の他方の入力端子に
入力端子INを共通に接続する。これらアンドゲート1
1〜13より夫々入力データa0と係数データCの各ビ
ットとの積であるa0・Cj〜a0・Cj+2が出力さ
れる。
【0019】14〜17は夫々2入力のデータセレクタ
を示し、アンドゲート11及びデータセレクタ14,1
5の出力端子を夫々一方の全加算器18の3個の入力端
子に接続し、データセレクタ14及び15の一方の入力
端子に夫々入力端子Q0及びR0を接続し、アンドゲー
ト12及びデータセレクタ16,17の出力端子を夫々
他方の全加算器19の3個の入力端子に接続し、データ
セレクタ16及び17の一方の入力端子に入力端子Q1
及びR1を接続する。また、一方の全加算器18の桁上
げ出力c0をレジスタ20Aを介して中間データd0と
して出力端子U1及びデータセレクタ14の他方の入力
端子に供給し、この全加算器18の和出力を出力端子O
Uに供給し、他方の全加算器19の和出力c1をレジス
タ20Bを介して中間データd1として出力端子T1及
びデータセレクタ15の他方の入力端子に供給する。そ
して、この全加算器19の桁上げ出力c2をレジスタ2
0Cを介して中間データd2として出力端子U2及びデ
ータセレクタ16の他方の入力端子に供給し、アンドゲ
ート13の出力データc3をレジスタ20Dを介して中
間データd3として出力端子T2及びデータセレクタ1
7の他方の入力端子に供給する。
を示し、アンドゲート11及びデータセレクタ14,1
5の出力端子を夫々一方の全加算器18の3個の入力端
子に接続し、データセレクタ14及び15の一方の入力
端子に夫々入力端子Q0及びR0を接続し、アンドゲー
ト12及びデータセレクタ16,17の出力端子を夫々
他方の全加算器19の3個の入力端子に接続し、データ
セレクタ16及び17の一方の入力端子に入力端子Q1
及びR1を接続する。また、一方の全加算器18の桁上
げ出力c0をレジスタ20Aを介して中間データd0と
して出力端子U1及びデータセレクタ14の他方の入力
端子に供給し、この全加算器18の和出力を出力端子O
Uに供給し、他方の全加算器19の和出力c1をレジス
タ20Bを介して中間データd1として出力端子T1及
びデータセレクタ15の他方の入力端子に供給する。そ
して、この全加算器19の桁上げ出力c2をレジスタ2
0Cを介して中間データd2として出力端子U2及びデ
ータセレクタ16の他方の入力端子に供給し、アンドゲ
ート13の出力データc3をレジスタ20Dを介して中
間データd3として出力端子T2及びデータセレクタ1
7の他方の入力端子に供給する。
【0020】入力データa0として3ビットの入力デー
タI(=(I2,I1,I0))を供給し、3ビットの
係数Cとして係数(C2,C1,C0)を設定した場合
の本例の乗算回路における計算過程につき説明するに、
その乗算で得られる積Oは次のような6ビットの数とな
る。
タI(=(I2,I1,I0))を供給し、3ビットの
係数Cとして係数(C2,C1,C0)を設定した場合
の本例の乗算回路における計算過程につき説明するに、
その乗算で得られる積Oは次のような6ビットの数とな
る。
【0021】
【数2】 O=C×I=(O5,O4,O3,O2,O1,O0) その入力データIと係数Cとの乗算は図3のように3個
の部分積の和で表すことができる。また、本例では、図
4Aに示すように入力データa0として3ビットの入力
データIがシリアルに供給され、図4Bに示すように下
位3ビットの出力データq0として積Oの下位3ビット
がシリアルに出力され、それに続いて図4Cに示すよう
に上位3ビットの出力データq1として積Oの上位3ビ
ットがシリアルに出力される。本例では図3の計算を図
5A〜Fに示す計算に分解して実行するが、先ず、図3
の計算が図5A〜Fに示す計算と等価であることを示
す。
の部分積の和で表すことができる。また、本例では、図
4Aに示すように入力データa0として3ビットの入力
データIがシリアルに供給され、図4Bに示すように下
位3ビットの出力データq0として積Oの下位3ビット
がシリアルに出力され、それに続いて図4Cに示すよう
に上位3ビットの出力データq1として積Oの上位3ビ
ットがシリアルに出力される。本例では図3の計算を図
5A〜Fに示す計算に分解して実行するが、先ず、図3
の計算が図5A〜Fに示す計算と等価であることを示
す。
【0022】即ち、図5Aの計算は図3の最初の部分積
(C2・I0,C1・I0,C0・I0)に単に(0,
0)と(0,0)とを加算したものである。この場合に
は値は変化しないが、形式的に3ビット目及び2ビット
目への桁上げの対を(Z2,X1)とする。また、桁上
げを除いた和の最小桁が積Oの最小桁(LSB)である
O0であるため、その和を(C2・I0,Y1,O0)
と置くことができる。このように加算結果を桁上げと和
とに分離して表現することを冗長な表現という。そし
て、その冗長な表現の上位2ビットを、図5Bに示すよ
うに図3の中間の部分積(C2・I1,C1・I1,C
0・I1)に加算して、この加算結果も桁上げ(Z3,
X2)と和(C2・I1,Y2,O1)とで冗長に表現
する。この和のLSBは積Oの2ビット目のデータに等
しい。
(C2・I0,C1・I0,C0・I0)に単に(0,
0)と(0,0)とを加算したものである。この場合に
は値は変化しないが、形式的に3ビット目及び2ビット
目への桁上げの対を(Z2,X1)とする。また、桁上
げを除いた和の最小桁が積Oの最小桁(LSB)である
O0であるため、その和を(C2・I0,Y1,O0)
と置くことができる。このように加算結果を桁上げと和
とに分離して表現することを冗長な表現という。そし
て、その冗長な表現の上位2ビットを、図5Bに示すよ
うに図3の中間の部分積(C2・I1,C1・I1,C
0・I1)に加算して、この加算結果も桁上げ(Z3,
X2)と和(C2・I1,Y2,O1)とで冗長に表現
する。この和のLSBは積Oの2ビット目のデータに等
しい。
【0023】また、この冗長な表現の上位2ビットを、
図5Cに示すように図3の最後の部分積(C2・I2,
C1・I2,C0・I2)に加算して、この加算結果も
桁上げ(Z4,X3)と和(C2・I2,Y3,O2)
とで冗長に表現する。この和のLSBが積Oの3ビット
目であるが、積Oの上位3ビットが冗長に表現されてい
るため、この冗長な表現を通常の表現に戻す必要があ
る。そこで、図5Cの桁上げのLSBであるX3と和の
2ビット目であるY3とを抜きだして、図5Dに示すよ
うに“0”に加算して、2ビットの和(W4,O3)を
得る。更に、この2ビットの和の2ビット目であるW4
と図5CのデータC2・I2及びZ4とを、図5Eに示
すように加算して2ビットの和(W5,O4)を得た後
に、この和の2ビット目であるW5に形式的に図5Fに
示すように2個の“0”を加算することにより和(0,
O5)を得る。最後の和の2ビット目の“0”はダミー
ビットである。図5D〜Fで得られた和のLSBが夫々
積Oの4ビット目〜6ビット目である。
図5Cに示すように図3の最後の部分積(C2・I2,
C1・I2,C0・I2)に加算して、この加算結果も
桁上げ(Z4,X3)と和(C2・I2,Y3,O2)
とで冗長に表現する。この和のLSBが積Oの3ビット
目であるが、積Oの上位3ビットが冗長に表現されてい
るため、この冗長な表現を通常の表現に戻す必要があ
る。そこで、図5Cの桁上げのLSBであるX3と和の
2ビット目であるY3とを抜きだして、図5Dに示すよ
うに“0”に加算して、2ビットの和(W4,O3)を
得る。更に、この2ビットの和の2ビット目であるW4
と図5CのデータC2・I2及びZ4とを、図5Eに示
すように加算して2ビットの和(W5,O4)を得た後
に、この和の2ビット目であるW5に形式的に図5Fに
示すように2個の“0”を加算することにより和(0,
O5)を得る。最後の和の2ビット目の“0”はダミー
ビットである。図5D〜Fで得られた和のLSBが夫々
積Oの4ビット目〜6ビット目である。
【0024】図6を参照して図1及び図2の乗算回路が
図5に示す計算を実行する動作について説明するに、図
2の係数Cj,Cj+1,Cj+2として夫々C0,C
1,C2を設定する。先ず1サイクル目に入力データa
0(図6A)としてデータI0が基本ユニット6に供給
され、アンドゲート11,12,13より夫々C0・I
0,C1・I0,C2・I0が出力される。2入力のデ
ータセレクタ14〜17には夫々外部からコントロール
信号を与えて入力端子Q0〜R1側を選択するようにす
る。入力端子Q0〜R1には夫々“0”が供給されてい
るので、全加算器18及び19では図5Aの加算が実行
され、図6B〜Fに示すように基本ユニット6の出力デ
ータq0,全加算器18の桁上げ出力c0,全加算器1
9の和出力c1,全加算器19の桁上げ出力c2及びア
ンドゲート13の出力c3は夫々O0,X1,Y1,Z
2,C2・I0になる。
図5に示す計算を実行する動作について説明するに、図
2の係数Cj,Cj+1,Cj+2として夫々C0,C
1,C2を設定する。先ず1サイクル目に入力データa
0(図6A)としてデータI0が基本ユニット6に供給
され、アンドゲート11,12,13より夫々C0・I
0,C1・I0,C2・I0が出力される。2入力のデ
ータセレクタ14〜17には夫々外部からコントロール
信号を与えて入力端子Q0〜R1側を選択するようにす
る。入力端子Q0〜R1には夫々“0”が供給されてい
るので、全加算器18及び19では図5Aの加算が実行
され、図6B〜Fに示すように基本ユニット6の出力デ
ータq0,全加算器18の桁上げ出力c0,全加算器1
9の和出力c1,全加算器19の桁上げ出力c2及びア
ンドゲート13の出力c3は夫々O0,X1,Y1,Z
2,C2・I0になる。
【0025】2サイクル目には、出力c0〜c3が夫々
レジスタ20A〜20Dに保持されて出力d0〜d3と
なり、入力データa0としてデータI1が基本ユニット
6に供給され、アンドゲート11,12,13より夫々
C0・I1,C1・I1,C2・I1が出力される。こ
れ以後のサイクルでは2入力のデータセレクタ14〜1
7には夫々外部からコントロール信号を与えてレジスタ
20A〜20Dの出力を選択するようにする。これによ
り全加算器18及び19では図5Bの加算が実行され、
出力データq0として積Oの2ビット目であるO1が出
力され、出力c0〜c3は夫々X2,Y2,Z3,C2
・I1になる。同様に3サイクル目には、出力データq
0として積Oの3ビット目であるO2が出力され、出力
c0〜c3は夫々X3,Y3,Z4,C2・I2にな
る。
レジスタ20A〜20Dに保持されて出力d0〜d3と
なり、入力データa0としてデータI1が基本ユニット
6に供給され、アンドゲート11,12,13より夫々
C0・I1,C1・I1,C2・I1が出力される。こ
れ以後のサイクルでは2入力のデータセレクタ14〜1
7には夫々外部からコントロール信号を与えてレジスタ
20A〜20Dの出力を選択するようにする。これによ
り全加算器18及び19では図5Bの加算が実行され、
出力データq0として積Oの2ビット目であるO1が出
力され、出力c0〜c3は夫々X2,Y2,Z3,C2
・I1になる。同様に3サイクル目には、出力データq
0として積Oの3ビット目であるO2が出力され、出力
c0〜c3は夫々X3,Y3,Z4,C2・I2にな
る。
【0026】4サイクル目には、P/S変換器7及び8
の入力部の上位2ビットにレジスタ20A〜20Dを介
してX3,Y3,Z4,C2・I2が供給され、P/S
変換器7及び8の入力部のLSBに“0”が供給される
(図6G〜I及び図6K〜M参照)。従って、P/S変
換器7からの出力データb0は図6Jに示すように、4
サイクル目,5サイクル目及び6サイクル目に夫々X
3,Z4及び“0”となり、P/S変換器8からの出力
データb1は図6Nに示すように、4サイクル目,5サ
イクル目及び6サイクル目に夫々Y3,C2・I2及び
“0”となる。そして、その4サイクル目には出力デー
タb0及びb1が夫々X3及びY3になると共に、レジ
スタ10の保持値は“0”であるため、全加算器9では
図5Dの計算が実行され、全加算器9の和出力q1とし
て積Oの4ビット目のデータO3が得られる。
の入力部の上位2ビットにレジスタ20A〜20Dを介
してX3,Y3,Z4,C2・I2が供給され、P/S
変換器7及び8の入力部のLSBに“0”が供給される
(図6G〜I及び図6K〜M参照)。従って、P/S変
換器7からの出力データb0は図6Jに示すように、4
サイクル目,5サイクル目及び6サイクル目に夫々X
3,Z4及び“0”となり、P/S変換器8からの出力
データb1は図6Nに示すように、4サイクル目,5サ
イクル目及び6サイクル目に夫々Y3,C2・I2及び
“0”となる。そして、その4サイクル目には出力デー
タb0及びb1が夫々X3及びY3になると共に、レジ
スタ10の保持値は“0”であるため、全加算器9では
図5Dの計算が実行され、全加算器9の和出力q1とし
て積Oの4ビット目のデータO3が得られる。
【0027】同様に、全加算器9においては5サイクル
目及び6サイクル目に夫々図5E及びFに示す計算が実
行され、出力b1,b3,q1,b2は図6N〜Qに示
すように変化する。なお、6サイクル目には全加算器9
において、(W5+0+0)が実行されるが、この計算
では桁上げは発生しないので、桁上げ出力b2は乗算が
終了した時点で常に“0”にリセットされている。従っ
て、次の乗算の4サイクル目ではレジスタ10に常に
“0”が保持されることになる。
目及び6サイクル目に夫々図5E及びFに示す計算が実
行され、出力b1,b3,q1,b2は図6N〜Qに示
すように変化する。なお、6サイクル目には全加算器9
において、(W5+0+0)が実行されるが、この計算
では桁上げは発生しないので、桁上げ出力b2は乗算が
終了した時点で常に“0”にリセットされている。従っ
て、次の乗算の4サイクル目ではレジスタ10に常に
“0”が保持されることになる。
【0028】本例の乗算回路の動作で注目すべき点は、
基本ユニット6は1〜3サクル目でのみ使用され、全加
算器9は4〜6サイクル目でのみ使用されていることで
ある。これにより、図17Aに示すように連続的に入力
されて来る語長3ビットの入力データに次々と語長3ビ
ットの係数Cを乗算し、この乗算結果である6ビットの
積Oを2本の信号ラインを介して連続的に出力すること
ができる。
基本ユニット6は1〜3サクル目でのみ使用され、全加
算器9は4〜6サイクル目でのみ使用されていることで
ある。これにより、図17Aに示すように連続的に入力
されて来る語長3ビットの入力データに次々と語長3ビ
ットの係数Cを乗算し、この乗算結果である6ビットの
積Oを2本の信号ラインを介して連続的に出力すること
ができる。
【0029】次に、本発明の第2実施例につき図7〜図
10を参照して説明する。この第2実施例は、順次2本
の入力ラインを介してシリアルに供給される語長6ビッ
トの入力データI(I5,I4,‥‥,I0)と語長3
ビットの係数データC(C2,C1,C0)とを乗算し
て語長9ビットの積O(O8,O7,‥‥,O0)を得
て、この積をその入力データに同期して3本の出力ライ
ンを介して順次シリアルに出力するものであり、その入
力データは図17Bに示す形式で2本の信号ラインを介
して時分割されて供給されるものとする。また、図7に
おいて図1と対応する部分には同一符号を付してその詳
細説明を省略する。
10を参照して説明する。この第2実施例は、順次2本
の入力ラインを介してシリアルに供給される語長6ビッ
トの入力データI(I5,I4,‥‥,I0)と語長3
ビットの係数データC(C2,C1,C0)とを乗算し
て語長9ビットの積O(O8,O7,‥‥,O0)を得
て、この積をその入力データに同期して3本の出力ライ
ンを介して順次シリアルに出力するものであり、その入
力データは図17Bに示す形式で2本の信号ラインを介
して時分割されて供給されるものとする。また、図7に
おいて図1と対応する部分には同一符号を付してその詳
細説明を省略する。
【0030】図7は本例の乗算回路を示し、この図7に
おいて、6A及び6Bは夫々図1の基本ユニット6と同
一構成の基本ユニットである。そして、基本ユニット6
A及び6Bの入力端子INに夫々入力データa0及びa
1を供給し、第1の基本ユニット6Aの入力端子Q0,
R0,Q1,R1に“0”のデータを供給し、この基本
ユニット6Aの出力端子U1,T1,U2,T2を夫々
第2の基本ユニット6Bの入力端子Q0,R0,Q1,
R1に接続し、この基本ユニット6Bの出力端子U1及
びU2を第1のP/S変換器7の上位2ビットの入力端
子に接続し、この基本ユニット6Bの出力端子T1及び
T2を第2のP/S変換器8の上位2ビットの入力端子
に接続する。他の構成は図1と同じである。
おいて、6A及び6Bは夫々図1の基本ユニット6と同
一構成の基本ユニットである。そして、基本ユニット6
A及び6Bの入力端子INに夫々入力データa0及びa
1を供給し、第1の基本ユニット6Aの入力端子Q0,
R0,Q1,R1に“0”のデータを供給し、この基本
ユニット6Aの出力端子U1,T1,U2,T2を夫々
第2の基本ユニット6Bの入力端子Q0,R0,Q1,
R1に接続し、この基本ユニット6Bの出力端子U1及
びU2を第1のP/S変換器7の上位2ビットの入力端
子に接続し、この基本ユニット6Bの出力端子T1及び
T2を第2のP/S変換器8の上位2ビットの入力端子
に接続する。他の構成は図1と同じである。
【0031】図8A〜Eに示すように、本例では最初の
3サイクルにデータa0として入力データIの下位3ビ
ット(I0,I1,I2)が供給され、それに続く3サ
イクルにデータa1として入力データIの上位3ビット
(I3,I4,I5)が供給され、最初の3サイクルに
基本ユニット6Aの出力端子OUよりデータq0として
積Oの下位3ビット(O0,O1,O2)が出力され、
それに続く3サイクルに基本ユニット6Bの出力端子O
Uよりデータq1として積Oの中位3ビット(O3,O
4,O5)が出力され、それに続く3サイクルに全加算
器9の和出力端子Sよりデータq2として積Oの上位3
ビット(O6,O7,O8)が出力される。この積O
は、図9に示すように、入力データIと係数Cとを乗算
することにより求められるものである。
3サイクルにデータa0として入力データIの下位3ビ
ット(I0,I1,I2)が供給され、それに続く3サ
イクルにデータa1として入力データIの上位3ビット
(I3,I4,I5)が供給され、最初の3サイクルに
基本ユニット6Aの出力端子OUよりデータq0として
積Oの下位3ビット(O0,O1,O2)が出力され、
それに続く3サイクルに基本ユニット6Bの出力端子O
Uよりデータq1として積Oの中位3ビット(O3,O
4,O5)が出力され、それに続く3サイクルに全加算
器9の和出力端子Sよりデータq2として積Oの上位3
ビット(O6,O7,O8)が出力される。この積O
は、図9に示すように、入力データIと係数Cとを乗算
することにより求められるものである。
【0032】本例でも、図9の演算が図10A〜Iに示
す部分積の加算に分解されて実行される。この場合、図
10A〜Fまでの加算結果は和と桁上げとにより冗長に
表現され、その和のLSBが夫々その積OのビットO0
〜O5になり、図10G〜Iに示す演算により積Oのビ
ットO6〜O8が求められる。具体的に、1サイクル目
〜3サイクル目までは第1の基本ユニット6Aにおいて
図10A等に示す加算が実行され、4サイクル目には基
本ユニット6Aの出力端子U1,T1,U2,T2を介
して基本ユニット6Bに中間データX3,Y3,Z4,
C2・I2が供給される。この中間データを初期値とし
て4サイクル目〜6サイクル目までは基本ユニット6B
において図10F等に示す加算が実行される。そして、
6サイクル目の終わりには基本ユニット6Bの出力端子
U1,T1,U2,T2より夫々図10Fの計算結果で
あるX6,Y6,Z7,C2・I5が出力されるので、
それに続く7サイクル目〜9サイクル目において、全加
算器9は図10G〜Iの加算を実行する。
す部分積の加算に分解されて実行される。この場合、図
10A〜Fまでの加算結果は和と桁上げとにより冗長に
表現され、その和のLSBが夫々その積OのビットO0
〜O5になり、図10G〜Iに示す演算により積Oのビ
ットO6〜O8が求められる。具体的に、1サイクル目
〜3サイクル目までは第1の基本ユニット6Aにおいて
図10A等に示す加算が実行され、4サイクル目には基
本ユニット6Aの出力端子U1,T1,U2,T2を介
して基本ユニット6Bに中間データX3,Y3,Z4,
C2・I2が供給される。この中間データを初期値とし
て4サイクル目〜6サイクル目までは基本ユニット6B
において図10F等に示す加算が実行される。そして、
6サイクル目の終わりには基本ユニット6Bの出力端子
U1,T1,U2,T2より夫々図10Fの計算結果で
あるX6,Y6,Z7,C2・I5が出力されるので、
それに続く7サイクル目〜9サイクル目において、全加
算器9は図10G〜Iの加算を実行する。
【0033】次に、本発明の第3実施例につき図11〜
図13を参照して説明する。この第3実施例は、図12
Aに示すようにシリアルにデータa0として供給される
語長3ビットの入力データI(I2,I1,I0)と語
長6ビットの係数データC(C5,C4,‥‥,C0)
とを乗算して語長9ビットの積O(O8,O7,‥‥,
O0)を得て、図12B〜Dに示すように、この積をそ
の入力データに同期して3本の出力ラインを介してデー
タq0〜q2として順次シリアルに出力するものであ
る。また、図11において図7と対応する部分には同一
符号を付してその詳細説明を省略する。
図13を参照して説明する。この第3実施例は、図12
Aに示すようにシリアルにデータa0として供給される
語長3ビットの入力データI(I2,I1,I0)と語
長6ビットの係数データC(C5,C4,‥‥,C0)
とを乗算して語長9ビットの積O(O8,O7,‥‥,
O0)を得て、図12B〜Dに示すように、この積をそ
の入力データに同期して3本の出力ラインを介してデー
タq0〜q2として順次シリアルに出力するものであ
る。また、図11において図7と対応する部分には同一
符号を付してその詳細説明を省略する。
【0034】図11は本例の乗算回路を示し、この図1
1において、22は2入力のデータセレクタであり、第
1の基本ユニット6Aの入力端子INとそのデータセレ
クタ22の一方の入力端子とを3個のレジスタ21A〜
21Cを介して接続し、そのデータセレクタ22の出力
端子を第2の基本ユニット6Bの入力端子に接続する。
1において、22は2入力のデータセレクタであり、第
1の基本ユニット6Aの入力端子INとそのデータセレ
クタ22の一方の入力端子とを3個のレジスタ21A〜
21Cを介して接続し、そのデータセレクタ22の出力
端子を第2の基本ユニット6Bの入力端子に接続する。
【0035】そして、その第1の基本ユニット6Aの入
力端子IN及び先頭のレジスタ21Aに共通に入力デー
タa0を供給し、データセレクタ22の他方の入力端子
に入力データa1を供給する。他の構成は図7と同様で
ある。この場合、データセレクタ22で入力データa1
を選択すると、図11の乗算回路は図7の乗算回路と同
じ動作を実行する。以下ではデータセレクタ22でレジ
スタ21Cの出力を選択する場合の動作につき説明す
る。
力端子IN及び先頭のレジスタ21Aに共通に入力デー
タa0を供給し、データセレクタ22の他方の入力端子
に入力データa1を供給する。他の構成は図7と同様で
ある。この場合、データセレクタ22で入力データa1
を選択すると、図11の乗算回路は図7の乗算回路と同
じ動作を実行する。以下ではデータセレクタ22でレジ
スタ21Cの出力を選択する場合の動作につき説明す
る。
【0036】3ビットの入力データIと6ビットの係数
Cとの乗算は、図13に示すように3個の部分積N1〜
N3の加算で表すことができるが、本例ではその3個の
部分積の加算を更に6個の部分積の加算で表す。即ち、
図13に示すように、最初の6ビットの部分積N1を3
ビットの小部分積N5とN6とに分け、同様に他の6ビ
ットの部分積N2及びN3も夫々2個の3ビットの小部
分積に分け、(0,0)と(0,0)とよりなるデータ
N4を初期値としてこれら6個の小部分積を桁の小さい
順序で加算する。この図13の下段の演算は図9の演算
と同じであるため、この図13の演算は実質的に図7の
乗算回路で実行することができる。
Cとの乗算は、図13に示すように3個の部分積N1〜
N3の加算で表すことができるが、本例ではその3個の
部分積の加算を更に6個の部分積の加算で表す。即ち、
図13に示すように、最初の6ビットの部分積N1を3
ビットの小部分積N5とN6とに分け、同様に他の6ビ
ットの部分積N2及びN3も夫々2個の3ビットの小部
分積に分け、(0,0)と(0,0)とよりなるデータ
N4を初期値としてこれら6個の小部分積を桁の小さい
順序で加算する。この図13の下段の演算は図9の演算
と同じであるため、この図13の演算は実質的に図7の
乗算回路で実行することができる。
【0037】ただし、図13の演算では入力データIi
は3サイクル遅れて繰り返して使用されているので、図
11の乗算回路では入力データa0をレジスタ21A〜
21Cを介して3サイクル遅らせてなるデータを第2の
基本ユニット6Bに供給するようにしている。また、図
11の乗算回路では、第1の基本ユニット6Aの内部の
係数Cj,Cj+1,Cj+2として夫々C0,C1,
C2が設定され、第2の基本ユニット6Bの内部の係数
Cj,Cj+1,Cj+2として夫々C3,C4,C5
が設定される。
は3サイクル遅れて繰り返して使用されているので、図
11の乗算回路では入力データa0をレジスタ21A〜
21Cを介して3サイクル遅らせてなるデータを第2の
基本ユニット6Bに供給するようにしている。また、図
11の乗算回路では、第1の基本ユニット6Aの内部の
係数Cj,Cj+1,Cj+2として夫々C0,C1,
C2が設定され、第2の基本ユニット6Bの内部の係数
Cj,Cj+1,Cj+2として夫々C3,C4,C5
が設定される。
【0038】また、入力データIの語長が6ビットで係
数データCの語長が6ビットである場合には、その係数
データを上位3ビットと下位3ビットとに分けて、6ビ
ット×6ビットの演算を6ビット×上位3ビットの小演
算と6ビット×下位3ビットの小演算とに分解する。そ
して、これら2個の小演算を夫々図7の乗算回路で実行
して、夫々の演算結果を加算するようにすればよい。
数データCの語長が6ビットである場合には、その係数
データを上位3ビットと下位3ビットとに分けて、6ビ
ット×6ビットの演算を6ビット×上位3ビットの小演
算と6ビット×下位3ビットの小演算とに分解する。そ
して、これら2個の小演算を夫々図7の乗算回路で実行
して、夫々の演算結果を加算するようにすればよい。
【0039】上述の実施例は入力データが図17の形式
で伝送されるシステムに本発明を適用したものである
が、入力データが図18の形式で伝送されるシステムに
本発明を適用した場合には、図14に示す基本ユニット
を使用する。この図14において、入力端子IN1及び
IN2には夫々入力データの偶数ビット及び奇数ビット
のデータをシリアルに供給し、第1の入端子IN1をア
ンドゲート23〜26の一方の入力端子に共通に接続
し、これらアンドゲート23〜26の他方の入力端子に
夫々係数データCj〜Cj+3を供給する。また、2入
力のデータセレクタ27〜32の一方の入力端子に夫々
入力端子Q0,R0,Q1,R1,Q2,R2を接続
し、データセレクタ27,28及びアンドゲート23の
出力を全加算器33の入力部に供給し、データセレクタ
29,30及びアンドゲート24の出力を全加算器34
の入力部に供給し、データセレクタ31,32及びアン
ドゲート25の出力を全加算器35の入力部に供給す
る。
で伝送されるシステムに本発明を適用したものである
が、入力データが図18の形式で伝送されるシステムに
本発明を適用した場合には、図14に示す基本ユニット
を使用する。この図14において、入力端子IN1及び
IN2には夫々入力データの偶数ビット及び奇数ビット
のデータをシリアルに供給し、第1の入端子IN1をア
ンドゲート23〜26の一方の入力端子に共通に接続
し、これらアンドゲート23〜26の他方の入力端子に
夫々係数データCj〜Cj+3を供給する。また、2入
力のデータセレクタ27〜32の一方の入力端子に夫々
入力端子Q0,R0,Q1,R1,Q2,R2を接続
し、データセレクタ27,28及びアンドゲート23の
出力を全加算器33の入力部に供給し、データセレクタ
29,30及びアンドゲート24の出力を全加算器34
の入力部に供給し、データセレクタ31,32及びアン
ドゲート25の出力を全加算器35の入力部に供給す
る。
【0040】また、第2の入力端子IN2をアンドゲー
ト36〜39の一方の入力端子に共通に接続し、これら
アンドゲート36〜39の他方の入力端子に夫々係数デ
ータCj〜Cj+3を供給する。そして、全加算器33
の桁上げ出力,全加算器34の和出力及びアンドゲート
36の出力を全加算器40の入力部に供給し、全加算器
34の桁上げ出力,全加算器35の和出力及びアンドゲ
ート37の出力を全加算器41の入力部に供給し、全加
算器35の桁上げ出力,アンドゲート26の出力及びア
ンドゲート38の出力を全加算器42の入力部に供給
し、全加算器33及び40の和出力を夫々第1の出力端
子OU1及び第2の出力端子OU2に供給する。また、
全加算器40の桁上げ出力,全加算器41の和出力及び
桁上げ出力,全加算器42の和出力及び桁上げ出力並び
にアンドゲート39の出力を夫々レジスタ43A〜43
Fを介して出力端子U2,T2,U3,T3,U4及び
T4に供給し、これら出力端子U2〜T4を夫々データ
セレクタ27〜32の他方の入力端子にも接続する。
ト36〜39の一方の入力端子に共通に接続し、これら
アンドゲート36〜39の他方の入力端子に夫々係数デ
ータCj〜Cj+3を供給する。そして、全加算器33
の桁上げ出力,全加算器34の和出力及びアンドゲート
36の出力を全加算器40の入力部に供給し、全加算器
34の桁上げ出力,全加算器35の和出力及びアンドゲ
ート37の出力を全加算器41の入力部に供給し、全加
算器35の桁上げ出力,アンドゲート26の出力及びア
ンドゲート38の出力を全加算器42の入力部に供給
し、全加算器33及び40の和出力を夫々第1の出力端
子OU1及び第2の出力端子OU2に供給する。また、
全加算器40の桁上げ出力,全加算器41の和出力及び
桁上げ出力,全加算器42の和出力及び桁上げ出力並び
にアンドゲート39の出力を夫々レジスタ43A〜43
Fを介して出力端子U2,T2,U3,T3,U4及び
T4に供給し、これら出力端子U2〜T4を夫々データ
セレクタ27〜32の他方の入力端子にも接続する。
【0041】この図14の基本ユニットも初段では入力
端子Q0〜R2に夫々“0”のデータを供給し、2段目
以降では入力端子Q0〜R2に夫々前段の基本ユニット
の出力端子U2〜T4を接続するようにする。この図1
4の基本ユニットは、加算器2段毎にパイプライン化し
た乗算回路を時分割多重したものである。また、図14
の乗算回路を一般化すると、k段の加算器毎にパイプラ
イン化した乗算回路を時分割多重した回路を使用するこ
とにより、ln/k本の信号線を使用して語長nビット
のデータが伝送されて来るシステム用の乗算回路も容易
に構成することができる。
端子Q0〜R2に夫々“0”のデータを供給し、2段目
以降では入力端子Q0〜R2に夫々前段の基本ユニット
の出力端子U2〜T4を接続するようにする。この図1
4の基本ユニットは、加算器2段毎にパイプライン化し
た乗算回路を時分割多重したものである。また、図14
の乗算回路を一般化すると、k段の加算器毎にパイプラ
イン化した乗算回路を時分割多重した回路を使用するこ
とにより、ln/k本の信号線を使用して語長nビット
のデータが伝送されて来るシステム用の乗算回路も容易
に構成することができる。
【0042】このように、本発明は上述実施例に限定さ
れず本発明の要旨を逸脱しない範囲で種々の構成を取り
得ることは勿論である。
れず本発明の要旨を逸脱しない範囲で種々の構成を取り
得ることは勿論である。
【0043】
【発明の効果】本発明によれば、予め演算ユニット内に
設定されている他方の数のビット数を調整することによ
り、演算速度をそのシステムに合う最適な速度に設定で
きると共に、演算ユニットを繰り返し使用するようにし
ているので、回路規模を小さくすることができ、しか
も、計算結果の上位ビット側が加算回路から出力され、
下位ビット側が演算ユニットから出力されることから、
加算回路から前の計算結果の上位ビット側を出力してい
る間に、演算ユニットから次の計算結果の下位ビット側
を出力することができ、複数の乗算を高速且つ効率的に
実行することのできる乗算回路を得ることができる。
設定されている他方の数のビット数を調整することによ
り、演算速度をそのシステムに合う最適な速度に設定で
きると共に、演算ユニットを繰り返し使用するようにし
ているので、回路規模を小さくすることができ、しか
も、計算結果の上位ビット側が加算回路から出力され、
下位ビット側が演算ユニットから出力されることから、
加算回路から前の計算結果の上位ビット側を出力してい
る間に、演算ユニットから次の計算結果の下位ビット側
を出力することができ、複数の乗算を高速且つ効率的に
実行することのできる乗算回路を得ることができる。
【図1】本発明による乗算回路の第1実施例を示す構成
図である。
図である。
【図2】第1実施例中の基本ユニットを示す構成図であ
る。
る。
【図3】第1実施例の3ビット×3ビットの乗算の一例
を示す線図である。
を示す線図である。
【図4】第1実施例の入出力データの一例を示すタイミ
ングチャート図である。
ングチャート図である。
【図5】図3の計算を分解した計算の流れを示す線図で
ある。
ある。
【図6】図5の計算を実行するときの第1実施例の動作
の説明に供するタイミングチャート図である。
の説明に供するタイミングチャート図である。
【図7】本発明による乗算回路の第2実施例を示す構成
図である。
図である。
【図8】第2実施例の入出力データの一例を示すタイミ
ングチャート図である。
ングチャート図である。
【図9】第2実施例の6ビット×3ビットの乗算の一例
を示す線図である。
を示す線図である。
【図10】図9の乗算を分解した計算の流れを示す線図
である。
である。
【図11】本発明による乗算回路の第3実施例を示す構
成図である。
成図である。
【図12】第3実施例の入出力データの一例を示す線図
である。
である。
【図13】第3実施例の3ビット×6ビットの乗算の一
例を示す線図である。
例を示す線図である。
【図14】基本ユニットの他の例を示す構成図である。
【図15】従来の乗算回路の一例の要部を示す構成図で
ある。
ある。
【図16】従来の乗算回路の他の例の要部を示す構成図
である。
である。
【図17】信号を時分割的に伝送するシステムの一例を
示すタイミングチャート図である。
示すタイミングチャート図である。
【図18】信号を時分割的に伝送するシステムの他の例
を示すタイミングチャート図である。
を示すタイミングチャート図である。
6 基本ユニット 7,8 パラレル/シリアル変換器 9 全加算器 10 レジスタ 11〜13 アンドゲート 18,19 全加算器 20A〜20D レジスタ a0 入力データ q0,q1 出力データ
Claims (1)
- 【請求項1】 シリアルに入力される一方の数の各ビッ
トのデータと予め設定されている他方の数との乗算結果
を、順次桁上げ出力をフィードバックしながら、累加算
して最小桁のデータをシリアルに出力することにより、
上記一方の数と上記他方の数との積の下位ビット側をシ
リアルに出力する、1段又は並列に接続された複数段の
演算ユニットと、 該1段又は複数段の演算ユニットの最小桁を除く累加算
結果をシリアル変換するパラレル/シリアル変換回路
と、 該パラレル/シリアル変換回路よりシリアルに出力され
るデータを、順次桁上げ出力をフィードバックしなが
ら、累加算して最小桁のデータをシリアルに出力するこ
とにより、上記一方の数と上記他方の数との積の上位ビ
ット側をシリアルに出力する、加算回路とを有すること
を特徴とする乗算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01661891A JP3237122B2 (ja) | 1991-02-07 | 1991-02-07 | 乗算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01661891A JP3237122B2 (ja) | 1991-02-07 | 1991-02-07 | 乗算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04256017A JPH04256017A (ja) | 1992-09-10 |
JP3237122B2 true JP3237122B2 (ja) | 2001-12-10 |
Family
ID=11921326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01661891A Expired - Fee Related JP3237122B2 (ja) | 1991-02-07 | 1991-02-07 | 乗算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3237122B2 (ja) |
-
1991
- 1991-02-07 JP JP01661891A patent/JP3237122B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04256017A (ja) | 1992-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4994997A (en) | Pipeline-type serial multiplier circuit | |
US4593393A (en) | Quasi parallel cyclic redundancy checker | |
EP0152702B1 (en) | Arithmetic circuit of finite field | |
CN111753993A (zh) | 用于可编程器件的机器学习训练架构 | |
EP0281132B1 (en) | Vector calculation circuit capable of rapidly carrying out vector calculation of three input vectors | |
JPH11266140A (ja) | ディジタルフィルタを実現するプログラム可能な回路 | |
JPH06216706A (ja) | トランスバーサルフィルタ | |
US9928035B2 (en) | Multiply-and-accumulate unit in carry-save adder format and application in a feedback loop equalizer | |
JP3237122B2 (ja) | 乗算回路 | |
US6341297B1 (en) | Parallel processing syndrome calculating circuit and Reed-Solomon decoding circuit | |
US5031137A (en) | Two input bit-serial multiplier | |
US5150321A (en) | Apparatus for performing serial binary multiplication | |
US5262975A (en) | Serial input multiplier apparatus | |
JPH04245533A (ja) | 加算回路及びアキュムレータ | |
US5457646A (en) | Partial carry-save pipeline multiplier | |
US4291387A (en) | Analog to digital conversion weighting apparatus | |
JPS63163927A (ja) | 乗算回路 | |
JPH1196030A (ja) | 有限体上の乗算方法及び乗算回路 | |
JP3123060B2 (ja) | ディジタル演算回路 | |
JP2864597B2 (ja) | ディジタル演算回路 | |
RU2148270C1 (ru) | Устройство умножения | |
KR970006028B1 (ko) | 파이프라인 캐리저장형 분할 분산연산 처리장치 | |
JPH03228119A (ja) | データ転送装置 | |
EP0845740B1 (en) | A multiplier unit | |
JPH11110241A (ja) | ガロア体上の乗算方法及び乗算回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |