JPH0793549B2 - 線形予測符号化法に従って一連の演算を処理するディジタルラティスフィルター - Google Patents
線形予測符号化法に従って一連の演算を処理するディジタルラティスフィルターInfo
- Publication number
- JPH0793549B2 JPH0793549B2 JP60190003A JP19000385A JPH0793549B2 JP H0793549 B2 JPH0793549 B2 JP H0793549B2 JP 60190003 A JP60190003 A JP 60190003A JP 19000385 A JP19000385 A JP 19000385A JP H0793549 B2 JPH0793549 B2 JP H0793549B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- adder
- bit
- multiplexer
- 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 - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0283—Filters characterised by the filter structure
- H03H17/0285—Ladder or lattice filters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 この発明は全般的に演算の処理、更に具体的に云えば、
音声合成に使われるデイジタルラテイスフイルタに於け
る演算の処理に関する。
音声合成に使われるデイジタルラテイスフイルタに於け
る演算の処理に関する。
従来の技術及び問題点 音声の様な複雑な合成音を発生するには、何等かの音声
圧縮が必要である。従来使われていた1つの音声圧縮方
法は線形予測符号化法(LPC)である。LPCはデイジタル
ラテイスフイルタを利用して、読出専用メモリ(ROM)
に入つている予め記憶された一組の入力パラメータから
人間の音声のモデルを作る。典型的には、LPCラテイス
フイルタは10段で構成され、各段が2回の乗算及び2回
の加算を必要とし、その後隣接する段へ結果を前段並び
に後段に送る。10段に於ける動作が逐次的に実行され、
各段に於ける4回の演算もそうである。予め記憶されて
いる各々の入力パラメータをラテイスフイルタで処理す
ると、その結果としてデイジタルの出力値が得られ、こ
れをアナログ信号レベルに変換し、その後スピーカ又は
同様な変換器に出力する為に増幅される。
圧縮が必要である。従来使われていた1つの音声圧縮方
法は線形予測符号化法(LPC)である。LPCはデイジタル
ラテイスフイルタを利用して、読出専用メモリ(ROM)
に入つている予め記憶された一組の入力パラメータから
人間の音声のモデルを作る。典型的には、LPCラテイス
フイルタは10段で構成され、各段が2回の乗算及び2回
の加算を必要とし、その後隣接する段へ結果を前段並び
に後段に送る。10段に於ける動作が逐次的に実行され、
各段に於ける4回の演算もそうである。予め記憶されて
いる各々の入力パラメータをラテイスフイルタで処理す
ると、その結果としてデイジタルの出力値が得られ、こ
れをアナログ信号レベルに変換し、その後スピーカ又は
同様な変換器に出力する為に増幅される。
デイジタルラテイスフイルタを用いて高品質の音声を合
成する為には、約10KHzの繰返し速度で予め記憶された
入力パラメータをラテイスフイルタで処理することが必
要である。ラテイスフイルタをこういう繰返し速度で動
作される為には、各段が10マイクロ秒以内でその中で行
うデイジタル動作を遂行しなければならない。各段に必
要なデイジタル加算並びに/又は減算の各々はどりらか
といえば直通処理方式を用いるが、デイジタル乗算は幾
らか更に複雑である。2つの2進値の乗算は、乗算する
デイジタル値の長さに応じて、積を発生する為に4回ま
での別々の加算を必要とする反復的な処理を必要とす
る。従つて、各段で2回の乗算及び2回の加算の処理を
することは、10個までの別々の和を発生することを必要
とすることがある。
成する為には、約10KHzの繰返し速度で予め記憶された
入力パラメータをラテイスフイルタで処理することが必
要である。ラテイスフイルタをこういう繰返し速度で動
作される為には、各段が10マイクロ秒以内でその中で行
うデイジタル動作を遂行しなければならない。各段に必
要なデイジタル加算並びに/又は減算の各々はどりらか
といえば直通処理方式を用いるが、デイジタル乗算は幾
らか更に複雑である。2つの2進値の乗算は、乗算する
デイジタル値の長さに応じて、積を発生する為に4回ま
での別々の加算を必要とする反復的な処理を必要とす
る。従つて、各段で2回の乗算及び2回の加算の処理を
することは、10個までの別々の和を発生することを必要
とすることがある。
従来、各段の2回の乗算及び2回の加算は並列形式に行
なわれ、5つの和が同時に発生される。こうすると、応
答時間が比較的遅い回路を用いることが出来る。然し、
この並列動作を行なう為には、5個の全加算器が必要で
あり、部品の数が多くなる。この様に部品の数が多いこ
とにより、5個の全加算器と、こういう数の全加算器を
サポートするのに必要な周辺制御回路とを実現する為
に、シリコン表面積のかなりの量を必要とする。コスト
並びに製造の観点からすると、同じ動作を行なうのに、
より少ない回路を利用することが望ましい。従つて、デ
イジタル・フイルタの各段で必要な乗算並びに加減算を
処理する回路として、より少ない回路を使つても、処理
時間を犠牲にせずに信頼性がある様な回路に対する要望
が強い。
なわれ、5つの和が同時に発生される。こうすると、応
答時間が比較的遅い回路を用いることが出来る。然し、
この並列動作を行なう為には、5個の全加算器が必要で
あり、部品の数が多くなる。この様に部品の数が多いこ
とにより、5個の全加算器と、こういう数の全加算器を
サポートするのに必要な周辺制御回路とを実現する為
に、シリコン表面積のかなりの量を必要とする。コスト
並びに製造の観点からすると、同じ動作を行なうのに、
より少ない回路を利用することが望ましい。従つて、デ
イジタル・フイルタの各段で必要な乗算並びに加減算を
処理する回路として、より少ない回路を使つても、処理
時間を犠牲にせずに信頼性がある様な回路に対する要望
が強い。
問題点を解決する為の手段及び作用 この発明は、最小限の回路を用いて高速で一連の演算を
処理して最終的な結果を生成する方法と装置を提供す
る。装置は、演算の処理に使われる演算パラメータを記
憶する記憶媒体を含んでいる。こういう演算パラメータ
にアクセス可能として、これによつて、乗算の為の被乗
数及び乗数として2つのパラメータを選択することが出
来る様にすると共に、加算に対する加数として1つのパ
ラメータを選択することが出来る様にする。被乗数及び
乗数の部分積が所定のアルゴリズムに従つて発生され、
高速加算器を用いてこういう部分積を加算して、累算和
及び桁上げワードを発生する。2つのデイジタル値を受
取る第1及び第2の入力を持つていて、その和を発生す
る全加算器をも設ける。全加算器を多重化して、高速加
算器からの累算和及び桁上げワードを加算して、乗数及
び被乗数の積を発生し、その後逐次的に、発生された積
に加数を加算して、処理中の演算に対する結果を生成す
る。タイミング回路が高速加算器の動作及び全加算器の
多重化動作のタイミングをとつており、全加算器が乗数
及び被乗数の積と、処理中の演算に対する最終的な結果
を発生している間に、高速加算器が次の逐次的な演算に
対する部分積を処理する様にする。
処理して最終的な結果を生成する方法と装置を提供す
る。装置は、演算の処理に使われる演算パラメータを記
憶する記憶媒体を含んでいる。こういう演算パラメータ
にアクセス可能として、これによつて、乗算の為の被乗
数及び乗数として2つのパラメータを選択することが出
来る様にすると共に、加算に対する加数として1つのパ
ラメータを選択することが出来る様にする。被乗数及び
乗数の部分積が所定のアルゴリズムに従つて発生され、
高速加算器を用いてこういう部分積を加算して、累算和
及び桁上げワードを発生する。2つのデイジタル値を受
取る第1及び第2の入力を持つていて、その和を発生す
る全加算器をも設ける。全加算器を多重化して、高速加
算器からの累算和及び桁上げワードを加算して、乗数及
び被乗数の積を発生し、その後逐次的に、発生された積
に加数を加算して、処理中の演算に対する結果を生成す
る。タイミング回路が高速加算器の動作及び全加算器の
多重化動作のタイミングをとつており、全加算器が乗数
及び被乗数の積と、処理中の演算に対する最終的な結果
を発生している間に、高速加算器が次の逐次的な演算に
対する部分積を処理する様にする。
この発明の別の実施例では、乗数がロータリーデータ・
レジスタに記憶され、中間演算の結果が、この後の演算
に対する被乗数及び加数として、遅延レジスタ・スタツ
クに記憶される。遅延レジスタ・スタツクの出力をアク
セスして、後続の演算を処理する為の被乗数及び加数の
両方を選択的に供給する。被乗数又は加数の何れかに対
する遅延量は、演算を遂行するシーケンス並びに実施さ
れる特定の演算によつて決定される。シーケンス内の全
ての演算が処理された後、最終的な結果が別個のデータ
・レジスタに記憶される。
レジスタに記憶され、中間演算の結果が、この後の演算
に対する被乗数及び加数として、遅延レジスタ・スタツ
クに記憶される。遅延レジスタ・スタツクの出力をアク
セスして、後続の演算を処理する為の被乗数及び加数の
両方を選択的に供給する。被乗数又は加数の何れかに対
する遅延量は、演算を遂行するシーケンス並びに実施さ
れる特定の演算によつて決定される。シーケンス内の全
ての演算が処理された後、最終的な結果が別個のデータ
・レジスタに記憶される。
この発明並びにその利点が更に完全に理解される様に、
次に図面について説明する。
次に図面について説明する。
実施例 10段のラテイスフイルタを用いる音声合成は、所定の時
間内にラテイスフイルタの10段全部の中で、予め記憶さ
れている値を処理することを必要とする。ラテイスフイ
ルタの各段が、Y値を発生するものと、反射係数又はb
値を計算するものとの2組の式を持つている。Y値及び
b値の両方は、1つの乗算工程に続く加算又は減算工程
で構成された式を用いて計算される。全てのY値及びb
値を計算するには20個の別個の式が必要であり、各式が
前の式からの結果に依存する。これらの式を表1に示
す。
間内にラテイスフイルタの10段全部の中で、予め記憶さ
れている値を処理することを必要とする。ラテイスフイ
ルタの各段が、Y値を発生するものと、反射係数又はb
値を計算するものとの2組の式を持つている。Y値及び
b値の両方は、1つの乗算工程に続く加算又は減算工程
で構成された式を用いて計算される。全てのY値及びb
値を計算するには20個の別個の式が必要であり、各式が
前の式からの結果に依存する。これらの式を表1に示
す。
表 1 Y10i = EIi − k10b10i-1 (1) Y9i = Y10i − k9b9i-1 (2) Y8i = Y9i − k8b8i-1 (3) Y7i = Y8i − k7b7i-1 (4) Y6i = Y7i − k6b6i-1 (5) Y5i = Y6i − k5b5i-1 (6) Y4i = Y5i − k4b4i-1 (7) Y3i = Y4i − k3b3i-1 (8) Y2i = Y3i − k2b2i-1 (9) Y1i = Y2i − k1b1i-1 (10) b10i = b9i-1 + k9Y9i (11) b9i = b8i-1 + k8Y8i (12) b8i = b7i-1 + k7Y7i (13) b7i = b6i-1 + k6Y6i (14) b6i = b5i-1 + k5Y5i (15) b5i = b4i-1 + k4Y4i (16) b4i = b3i-1 + k3Y3i (17) b3i = b2i-1 + k2Y2i (18) b2i = b1i-1 + k1Y1i (19) b1i = Y1i (20) 入力エネルギ・レベルが“E"で表わされ、これは予め記
憶されているパラメータから内部で発生されるか或いは
外部ソースから発生される。項“Ii"は入力励振値を表
わし、これは話す音声又は周期的な発声音によつて出来
るスー音を発生するのを容易にする為に用いられるラン
ダム雑音を表わす。予め記憶されている多数の定数があ
り、これらがk1乃至k10と記されている。定数k1乃至k10
は、音声に対応する種々の音を発生することが出来る様
にする為に、口の形、舌及び歯の位置に対応する式の特
性を記述する。別の一組のパラメータb1乃至b10が前の
サンプル時間内に発生され、Y1乃至Y10と記した値を逐
次的に計算する為に用いられる。
憶されているパラメータから内部で発生されるか或いは
外部ソースから発生される。項“Ii"は入力励振値を表
わし、これは話す音声又は周期的な発声音によつて出来
るスー音を発生するのを容易にする為に用いられるラン
ダム雑音を表わす。予め記憶されている多数の定数があ
り、これらがk1乃至k10と記されている。定数k1乃至k10
は、音声に対応する種々の音を発生することが出来る様
にする為に、口の形、舌及び歯の位置に対応する式の特
性を記述する。別の一組のパラメータb1乃至b10が前の
サンプル時間内に発生され、Y1乃至Y10と記した値を逐
次的に計算する為に用いられる。
最初に、入力エネルギ・レベルと励振源の積、k10の
値、及びb10の予め計算された値を用いて、式(1)に
従つてY10iの値を計算する。b10の予め計算された値は
添字“i−1"で表わされる。この後、Y9i乃至Y1iの値が
式(2)乃至(10)に従つて計算される。Y1iはi番目
のサンプル時間に対する最終的な結果に等しい。次に、
そのサンプル時間に対して計算されたY1乃至Y10の値と
予め敬されたb1乃至b9の値との両方を用いて、式(11)
乃至(20)に従つてb値が計算される。こういう新しい
b値が、次のサンプル時間の間にY値を計算するのに使
う為に記憶される。
値、及びb10の予め計算された値を用いて、式(1)に
従つてY10iの値を計算する。b10の予め計算された値は
添字“i−1"で表わされる。この後、Y9i乃至Y1iの値が
式(2)乃至(10)に従つて計算される。Y1iはi番目
のサンプル時間に対する最終的な結果に等しい。次に、
そのサンプル時間に対して計算されたY1乃至Y10の値と
予め敬されたb1乃至b9の値との両方を用いて、式(11)
乃至(20)に従つてb値が計算される。こういう新しい
b値が、次のサンプル時間の間にY値を計算するのに使
う為に記憶される。
第1図には、表1の20個の式を計算する為の10段のラテ
イスフイルタの機能的な図が示されている。入力エネル
ギが乗算ブロツク10に入力される。この乗算ブロツクが
励振エネルギEをも受取り、その積を発生する。積EIが
デイジタル・フイルタの第1段12の減算ブロツク14に入
力される。減算ブロツク14が乗算ブロツク16によつて発
生されたEiから積を減算する。乗算ブロツク16は、遅延
ブロツク18で遅延させられたb10の遅延値を受取り、そ
れに定数k10を乗する。減算ブロツク14の出力をY10と記
してある。Y10がデイジタルフイルタの第2段20の減算
ブロツク22に入力される。減算ブロツク22が乗算ブロツ
ク24から積を受取る。この積は、k9と、遅延ブロツク26
で遅延させられたb9の遅延値との積である。減算ブロツ
ク22の出力が値Y9であり、これがデイジタル・フイルタ
の第3段28に入力される。
イスフイルタの機能的な図が示されている。入力エネル
ギが乗算ブロツク10に入力される。この乗算ブロツクが
励振エネルギEをも受取り、その積を発生する。積EIが
デイジタル・フイルタの第1段12の減算ブロツク14に入
力される。減算ブロツク14が乗算ブロツク16によつて発
生されたEiから積を減算する。乗算ブロツク16は、遅延
ブロツク18で遅延させられたb10の遅延値を受取り、そ
れに定数k10を乗する。減算ブロツク14の出力をY10と記
してある。Y10がデイジタルフイルタの第2段20の減算
ブロツク22に入力される。減算ブロツク22が乗算ブロツ
ク24から積を受取る。この積は、k9と、遅延ブロツク26
で遅延させられたb9の遅延値との積である。減算ブロツ
ク22の出力が値Y9であり、これがデイジタル・フイルタ
の第3段28に入力される。
発生されたY9値が、定数k9を乗ずる為に、乗算ブロツク
30にも入力され、その後、加算ブロツク32でb9の遅延値
と加算される。この加算ブロツクがb10の値を出力し、
これが遅延ブロツク18に入力される。遅延ブロツク18は
1サンプル時間の遅延を表わす。
30にも入力され、その後、加算ブロツク32でb9の遅延値
と加算される。この加算ブロツクがb10の値を出力し、
これが遅延ブロツク18に入力される。遅延ブロツク18は
1サンプル時間の遅延を表わす。
第3段28が、定数k8を使う他は、第2段20と同様な計算
を行なう。後続の段が値Y8乃至Y2を計算し、最後の10番
目の段34がY1値を計算する。10番目の段34が減算ブロッ
ク36の入力にY2値を受取り、それを乗算ブロツク38から
出力された積から減算する。乗算ブロツク38によつて発
生された積は、遅延値b1と定数k1との積である。更に、
Y1が定数k1を乗ずる為に乗算ブロツク40に入力され、そ
の積が加算ブロツク42に入力されて、b1の遅延値と加算
される。出力が値b2である。
を行なう。後続の段が値Y8乃至Y2を計算し、最後の10番
目の段34がY1値を計算する。10番目の段34が減算ブロッ
ク36の入力にY2値を受取り、それを乗算ブロツク38から
出力された積から減算する。乗算ブロツク38によつて発
生された積は、遅延値b1と定数k1との積である。更に、
Y1が定数k1を乗ずる為に乗算ブロツク40に入力され、そ
の積が加算ブロツク42に入力されて、b1の遅延値と加算
される。出力が値b2である。
入力エネルギIを10段のラテイスフイルタの中で処理す
る為、式(1)乃至(20)を個別に処理することが必要
である。この各々の式が1回の乗算及び1回の加算又は
減算工程を必要とする。例えばサンプリング速度が10KH
zであるとすると、各々の式の処理速度は200KHzであ
る。従つて、乗算及び加算は200KHzより速い速度で実施
しなければならない。
る為、式(1)乃至(20)を個別に処理することが必要
である。この各々の式が1回の乗算及び1回の加算又は
減算工程を必要とする。例えばサンプリング速度が10KH
zであるとすると、各々の式の処理速度は200KHzであ
る。従つて、乗算及び加算は200KHzより速い速度で実施
しなければならない。
この発明では、乗算が組合せの高速加算器及び全加算器
を用いて行なわれる。高速加算器を用いて、各々の部分
積の個別ビツトを加算して、累算和を発生する。桁上げ
は伝搬させず、各々の累算和ビツトに対して累算する。
1つのビツトからの桁上げを別のビツトに伝搬させない
ことにより、一層高速の加算が達成される。全加算器を
用いて累算和及び桁上げワードを加算し、最終的な結果
又は積を作る。全加算器は高速加算器に於ける加算過程
の終りにしか使われないから、全加算器の動作を多重化
して、高速加算器が部分積を加算している時間の間、処
理中の各々の式に必要なこの他の加算を実行する。高速
加算器による部分積の加算の間に全加算器によつて行な
われる動作は、前に高速加算器によつて発生された累算
和及び桁上げワードの加算と、この結果得られた積と加
数との加算である。従つて、高速加算器が部分積を加算
しているのと同じ時間の間、全加算器が2回の加算を行
なう。多重化により、1つの全加算器と1つの高速加算
器だけを用いる。この場合、全加算器の応答時間は高速
加算器に必要な応答時間より短い。高速加算器でビツト
にわたつて桁上げを伝搬させる必要がないから、高速加
算器を実現するのに用いられる回路はそれ程複雑でな
く、速度がそれ程厳密な要件ではない。
を用いて行なわれる。高速加算器を用いて、各々の部分
積の個別ビツトを加算して、累算和を発生する。桁上げ
は伝搬させず、各々の累算和ビツトに対して累算する。
1つのビツトからの桁上げを別のビツトに伝搬させない
ことにより、一層高速の加算が達成される。全加算器を
用いて累算和及び桁上げワードを加算し、最終的な結果
又は積を作る。全加算器は高速加算器に於ける加算過程
の終りにしか使われないから、全加算器の動作を多重化
して、高速加算器が部分積を加算している時間の間、処
理中の各々の式に必要なこの他の加算を実行する。高速
加算器による部分積の加算の間に全加算器によつて行な
われる動作は、前に高速加算器によつて発生された累算
和及び桁上げワードの加算と、この結果得られた積と加
数との加算である。従つて、高速加算器が部分積を加算
しているのと同じ時間の間、全加算器が2回の加算を行
なう。多重化により、1つの全加算器と1つの高速加算
器だけを用いる。この場合、全加算器の応答時間は高速
加算器に必要な応答時間より短い。高速加算器でビツト
にわたつて桁上げを伝搬させる必要がないから、高速加
算器を実現するのに用いられる回路はそれ程複雑でな
く、速度がそれ程厳密な要件ではない。
第2図には表1の式(1)乃至(20)を処理するシステ
ムが略図で示されている。全加算器44が2つのデイジタ
ル値を受取る2つの入力“A"及び“B"を持ち、その和を
その出力に発生する。更に、全加算器44が桁上げ入力
“C"を有する。全加算器の出力がデータ・バス46に接続
され、このデータ・バスがYレジスタ48に入力され、選
ばれた時刻にその出力値を記憶するが、これは後で説明
する。
ムが略図で示されている。全加算器44が2つのデイジタ
ル値を受取る2つの入力“A"及び“B"を持ち、その和を
その出力に発生する。更に、全加算器44が桁上げ入力
“C"を有する。全加算器の出力がデータ・バス46に接続
され、このデータ・バスがYレジスタ48に入力され、選
ばれた時刻にその出力値を記憶するが、これは後で説明
する。
マルチプレクサ50の一方の入力は、データ・バス52を介
してデータ・バス46に接続されており、他方の入力はデ
ータ・バス56を介してYレジスタの出力に接続されてい
る。マルチプレクサの出力が接続バス60を介して1段デ
ータ・レジスタ58の入力に接続される。1段データ・レ
ジスタ58の出力が接続バス64を介して7段レジスタ・ス
タツク62の入力に接続される。1段データ・レジスタ58
の出力は接続バス68を介して、1段データ・レジスタ66
の入力にも接続される。7段レジスタ・スタツク62の出
力が接続バス72を介して2段レジスタ・スタツク70に入
力される。
してデータ・バス46に接続されており、他方の入力はデ
ータ・バス56を介してYレジスタの出力に接続されてい
る。マルチプレクサの出力が接続バス60を介して1段デ
ータ・レジスタ58の入力に接続される。1段データ・レ
ジスタ58の出力が接続バス64を介して7段レジスタ・ス
タツク62の入力に接続される。1段データ・レジスタ58
の出力は接続バス68を介して、1段データ・レジスタ66
の入力にも接続される。7段レジスタ・スタツク62の出
力が接続バス72を介して2段レジスタ・スタツク70に入
力される。
1段データ・レジスタ58は、全加算器44又はYレジスタ
48の何れかからの出力から選ばれたデータに対し、1段
の遅延を加える。1段データ・レジスタ66は更に1段の
遅延を加え、この結果、その中を通るデータを処理する
為の組合せの2段の遅延レジスタになる。同様に、7段
レジスタ・スタツク62が、1段データ・レジスタ58と組
合せた時に、合計8段の遅延を加え、2段データ・レジ
スタ・スタツク70が、7段レジスタ・スタツク62及び1
段遅延レジスタ58と組合せた時合計10段の遅延を加え
る。後で説明するが、全加算器44からの出力値が、別の
演算に使う為、一時的に記憶される。
48の何れかからの出力から選ばれたデータに対し、1段
の遅延を加える。1段データ・レジスタ66は更に1段の
遅延を加え、この結果、その中を通るデータを処理する
為の組合せの2段の遅延レジスタになる。同様に、7段
レジスタ・スタツク62が、1段データ・レジスタ58と組
合せた時に、合計8段の遅延を加え、2段データ・レジ
スタ・スタツク70が、7段レジスタ・スタツク62及び1
段遅延レジスタ58と組合せた時合計10段の遅延を加え
る。後で説明するが、全加算器44からの出力値が、別の
演算に使う為、一時的に記憶される。
全加算器44のA入力がマルチプレクサ74の出力に接続さ
れ、全加算器44のB入力がマルチプレクサ76の出力に接
続される。マルチプレクサ74の1つの入力が“0"値を持
つビツトで構成されたデータ・ワードに接続され、且つ
1つの入力が接続バス80を介して高速加算器78の加算出
力に接続される。マルチプレクサ74はこの他に2つの入
力を持ち、その1つが接続バス84を介して2段レジスタ
・スタツク70の出力に接続され、他方が接続バス86を介
して1段データ・レジスタ66の出力に接続される。マル
チプレクサ76の1つの入力が接続バス82を介して高速加
算器78の桁上げ出力に接続され、残りの入力が接続バス
88を介して全加算器44の出力側のデータ・バス46に接続
される。マルチプレクサ74,76は、ここには図示しない
が1つの様式では、高速加算器78からその和及び桁上げ
出力に出力されるデータを全加算器44で加算する様に作
用する。別の様式では、高速加算器78から出力されるこ
の和が全加算器44のB入力に入力され、2段レジスタ・
スタツク70又は1段データ・レジスタ66の何れかからの
出力から選ばれた遅延値がA入力に入力されて、その和
を作る。
れ、全加算器44のB入力がマルチプレクサ76の出力に接
続される。マルチプレクサ74の1つの入力が“0"値を持
つビツトで構成されたデータ・ワードに接続され、且つ
1つの入力が接続バス80を介して高速加算器78の加算出
力に接続される。マルチプレクサ74はこの他に2つの入
力を持ち、その1つが接続バス84を介して2段レジスタ
・スタツク70の出力に接続され、他方が接続バス86を介
して1段データ・レジスタ66の出力に接続される。マル
チプレクサ76の1つの入力が接続バス82を介して高速加
算器78の桁上げ出力に接続され、残りの入力が接続バス
88を介して全加算器44の出力側のデータ・バス46に接続
される。マルチプレクサ74,76は、ここには図示しない
が1つの様式では、高速加算器78からその和及び桁上げ
出力に出力されるデータを全加算器44で加算する様に作
用する。別の様式では、高速加算器78から出力されるこ
の和が全加算器44のB入力に入力され、2段レジスタ・
スタツク70又は1段データ・レジスタ66の何れかからの
出力から選ばれた遅延値がA入力に入力されて、その和
を作る。
高速加算器78は、隣接するビツトの間で桁上げを伝搬さ
せずに、その個別のビツトを加算することにより、3つ
のデイジタル値を加算する装置である。然し、桁上げビ
ツトは高速加算器78の別個の出力に発生される。部分積
を高速加算器78で加算する為に、多重化動作を利用し
て、部分積をそれまでに発生された桁上げと逐次的に加
算する。最初、最初の2つの部分積を加算して第1の累
算和及び桁上げワードを発生し、次にこの第1の累算和
及び桁上げワードを3番目の部分積と加算する。最後の
部分積がそれまでの累算和及び桁上げワードと加算され
るまで、この操作が続けられる。最後の累算和及び桁上
げワードがマルチプレクサを介して全加算器に入力さ
れ、加算されて積を作る。この乗算方法は、1984年に開
催されたIEEEインターナシヨナル・ソリツドステート・
サーキツツ・コンフアレンスの記録第90頁乃至第91頁所
載のマサル・ウヤ他の論文「CMOS浮動小数点乗算器」に
更に詳しく記載されている。
せずに、その個別のビツトを加算することにより、3つ
のデイジタル値を加算する装置である。然し、桁上げビ
ツトは高速加算器78の別個の出力に発生される。部分積
を高速加算器78で加算する為に、多重化動作を利用し
て、部分積をそれまでに発生された桁上げと逐次的に加
算する。最初、最初の2つの部分積を加算して第1の累
算和及び桁上げワードを発生し、次にこの第1の累算和
及び桁上げワードを3番目の部分積と加算する。最後の
部分積がそれまでの累算和及び桁上げワードと加算され
るまで、この操作が続けられる。最後の累算和及び桁上
げワードがマルチプレクサを介して全加算器に入力さ
れ、加算されて積を作る。この乗算方法は、1984年に開
催されたIEEEインターナシヨナル・ソリツドステート・
サーキツツ・コンフアレンスの記録第90頁乃至第91頁所
載のマサル・ウヤ他の論文「CMOS浮動小数点乗算器」に
更に詳しく記載されている。
乗数は、以下“k"スタツクと呼ぶ10ビツト幅の11段レジ
スタ・スタツク90に記憶される定数である。kスタツク
90の一番上に入つているデータが10ビツト幅のデータ・
バス92に出力され、その最初の2ビツトが2ビツト幅の
データ・バス96を介してリコード論理回路94に入力さ
れ、残りの8ビツトが8ビツト幅のデータ・バス100を
介してマルチプレクサ98に入力される。
スタ・スタツク90に記憶される定数である。kスタツク
90の一番上に入つているデータが10ビツト幅のデータ・
バス92に出力され、その最初の2ビツトが2ビツト幅の
データ・バス96を介してリコード論理回路94に入力さ
れ、残りの8ビツトが8ビツト幅のデータ・バス100を
介してマルチプレクサ98に入力される。
データ・バス92の出力データは、マルチプレクサ104の
一方の入力に接続された戻りデータ・バス102を介し
て、kスタツク90の入力に循環する。マルチプレクサ10
4の出力がkスタツク90の入力に接続されている。マル
チプレクサ104の他方の入力が直並列変換器106の出力に
接続されており、この変換器の入力が戻りデータ・バス
102に接続されている。マルチプレクサ104は、直並列変
換器106から出力されるデータ又はkスタツク90のデー
タ出力を選択する様に作用し得る。更に、直並列変換器
106が、戻りデータ・バス102からのデータを受取つて、
外部の場所に対する直列データを出力することが出来
る。
一方の入力に接続された戻りデータ・バス102を介し
て、kスタツク90の入力に循環する。マルチプレクサ10
4の出力がkスタツク90の入力に接続されている。マル
チプレクサ104の他方の入力が直並列変換器106の出力に
接続されており、この変換器の入力が戻りデータ・バス
102に接続されている。マルチプレクサ104は、直並列変
換器106から出力されるデータ又はkスタツク90のデー
タ出力を選択する様に作用し得る。更に、直並列変換器
106が、戻りデータ・バス102からのデータを受取つて、
外部の場所に対する直列データを出力することが出来
る。
マルチプレクサ98の出力が2ビツト幅のデータ・バス10
9を介してリコード論理回路108に接続される。後で説明
するか、マルチプレクサ98は、リコード論理回路108に
入力する為に、それに対する8ビツトの入力の対を選択
する。リコード論理回路94,108は、予定のアルゴリズム
に従つて、部分積を発生する為に、被乗数に対して遂行
すべき操作を決定する演算子を発生する様に作用し得
る。好ましい実施例では、変形ブース・アルゴリズムを
用いて乗算が行なわれる。この変形ブース・アルゴリズ
ムでは、隣合うセグメントの間で1ビツトが重なり合う
様な、乗数の3ビツト・セグメントを解析し、被乗数に
対して予め限定された操作を行なう。この修正された被
乗数を「部分積」と呼ぶ。10ビツト乗数に対しては、5
つの部分積が発生され、これらをPP1、PP2、PP3、PP4、
PP5と呼ぶ。
9を介してリコード論理回路108に接続される。後で説明
するか、マルチプレクサ98は、リコード論理回路108に
入力する為に、それに対する8ビツトの入力の対を選択
する。リコード論理回路94,108は、予定のアルゴリズム
に従つて、部分積を発生する為に、被乗数に対して遂行
すべき操作を決定する演算子を発生する様に作用し得
る。好ましい実施例では、変形ブース・アルゴリズムを
用いて乗算が行なわれる。この変形ブース・アルゴリズ
ムでは、隣合うセグメントの間で1ビツトが重なり合う
様な、乗数の3ビツト・セグメントを解析し、被乗数に
対して予め限定された操作を行なう。この修正された被
乗数を「部分積」と呼ぶ。10ビツト乗数に対しては、5
つの部分積が発生され、これらをPP1、PP2、PP3、PP4、
PP5と呼ぶ。
被乗数がマルチプレクサ110によつて選択される。この
マルチプレクサは3つの入力を持ち、その1つが接続バ
ス112を介して1段レジスタ66の出力に接続され、1つ
の入力が接続バス114を介して、レジスタ・スタツク62,
70の間の接続バス72に接続され、残りの入力が外部プロ
セツサ(図に示していない)から供給されるI値に接続
される。マルチプレクサ110の出力が接続バス116を介し
てマルチプレクサ125の入力に接続されると共に、接続
バス118を介してマルチプレクサ127の入力に接続され
る。
マルチプレクサは3つの入力を持ち、その1つが接続バ
ス112を介して1段レジスタ66の出力に接続され、1つ
の入力が接続バス114を介して、レジスタ・スタツク62,
70の間の接続バス72に接続され、残りの入力が外部プロ
セツサ(図に示していない)から供給されるI値に接続
される。マルチプレクサ110の出力が接続バス116を介し
てマルチプレクサ125の入力に接続されると共に、接続
バス118を介してマルチプレクサ127の入力に接続され
る。
マルチプレクサ125の出力が発生された部分積PP1乃至PP
4であり、これらが接続バス126を介して高速加算器78の
A入力に入力される。マルチプレクサ125が発生された
部分積PP1を作り、これが接続バス122を介してマルチプ
レクサ124の1つの入力に接続され、その出力が接続バ
ス126を介して高速加算器78のB入力に入力される。マ
ルチプレクサ124の他方の入力が接続バス80に接続され
ていて、高速加算器78の和出力を受取り、その出力は高
速加算器78のB入力に接続されている。
4であり、これらが接続バス126を介して高速加算器78の
A入力に入力される。マルチプレクサ125が発生された
部分積PP1を作り、これが接続バス122を介してマルチプ
レクサ124の1つの入力に接続され、その出力が接続バ
ス126を介して高速加算器78のB入力に入力される。マ
ルチプレクサ124の他方の入力が接続バス80に接続され
ていて、高速加算器78の和出力を受取り、その出力は高
速加算器78のB入力に接続されている。
高速加算器78は“C"と記した3番目の入力を持ち、これ
がマルチプレクサ128の出力に接続されている。マルチ
プレクサ128の入力は、全てのビツト位置を“0"が占め
るデイジタル・ワードと接続バス82とに接続され、バス
82から高速加算器78の桁上げ出力を受取る。“0"値のデ
イジタル・ワードの最下位ビツト(LSB)が回路129の出
力に接続される。回路129の動作は後で説明する。マル
チプレクサ128は、変更した“0"デイジタル・ワードと
高速加算器78の桁上げ出力との間で選択する様に作用し
得る。乗算を遂行している間の高速加算器78の動作は、
後で更に詳しく説明する。
がマルチプレクサ128の出力に接続されている。マルチ
プレクサ128の入力は、全てのビツト位置を“0"が占め
るデイジタル・ワードと接続バス82とに接続され、バス
82から高速加算器78の桁上げ出力を受取る。“0"値のデ
イジタル・ワードの最下位ビツト(LSB)が回路129の出
力に接続される。回路129の動作は後で説明する。マル
チプレクサ128は、変更した“0"デイジタル・ワードと
高速加算器78の桁上げ出力との間で選択する様に作用し
得る。乗算を遂行している間の高速加算器78の動作は、
後で更に詳しく説明する。
この実施例では、全加算器44及び高速加算器78の両方の
出力が、1様式では、その1つの入力に循環させられ
る。加算の為に組合せ論理回路を利用すると、加算器の
各々の入力に何等かのラツチ回路を設けることが必要で
ある。然し、好ましい実施例では、データを再循環させ
るのに入力ラツチを必要としないダイナミツクNMOS技術
を利用する。ダイナミツクNMOS装着では、4相クロツク
を用い、クロツクの各相が回路内でデータを処理する。
例えば、全加算器では、クロツクの第1相は、データを
その中にロードさせ、結果が4相クロツクの第4相で加
算器から出力される。従つて、1つの入力に再循環させ
るべき加算器の出力に出るデータは、クロツクの第1相
で加算器にロードされるのに十分な時間だけ、そこにあ
りさえすればよい。同様に、遅延レジスタに対するロー
デイングも4相クロツクの第1相で行なわれる。この4
相クロツクが図面には示していないが、ダイナミツクNM
OS回路の必要な部分である内部クロツクである。前に述
べた様に、加算器に従来の組合せ論理回路を使えば、ラ
ツチ式入力及び/又は出力が必要である。
出力が、1様式では、その1つの入力に循環させられ
る。加算の為に組合せ論理回路を利用すると、加算器の
各々の入力に何等かのラツチ回路を設けることが必要で
ある。然し、好ましい実施例では、データを再循環させ
るのに入力ラツチを必要としないダイナミツクNMOS技術
を利用する。ダイナミツクNMOS装着では、4相クロツク
を用い、クロツクの各相が回路内でデータを処理する。
例えば、全加算器では、クロツクの第1相は、データを
その中にロードさせ、結果が4相クロツクの第4相で加
算器から出力される。従つて、1つの入力に再循環させ
るべき加算器の出力に出るデータは、クロツクの第1相
で加算器にロードされるのに十分な時間だけ、そこにあ
りさえすればよい。同様に、遅延レジスタに対するロー
デイングも4相クロツクの第1相で行なわれる。この4
相クロツクが図面には示していないが、ダイナミツクNM
OS回路の必要な部分である内部クロツクである。前に述
べた様に、加算器に従来の組合せ論理回路を使えば、ラ
ツチ式入力及び/又は出力が必要である。
第3図には、kスタツク90と、リコード論理回路のブロ
ツク図が示されている。前の図面と同じ部分には同じ参
照数字を用いている。kスタツク90の出力のデータ・バ
ス92が、データ・バス92′とデータ・バス92″の2つの
データ・バスを表わしている。データ・バス92″が1段
遅延スタツク130により、データ・バス92′から分離し
ている。戻りデータ・バス102が遅延データ・バス92″
と相互接続されている。マルチプレクサ98に接続されて
いる8ビツト幅の入力データ・バス100は、データ・バ
ス92′に接続されたデータ・バス100′と、データ・バ
ス92″に接続されたデータ・バス100″とで構成されて
いる。リコード論理回路94に入力するデータ・バス96
が、データ・バス92′に接続されたデータ・バス96と、
データ・バス92″に接続されたデータ・バス96″とに分
割されている。
ツク図が示されている。前の図面と同じ部分には同じ参
照数字を用いている。kスタツク90の出力のデータ・バ
ス92が、データ・バス92′とデータ・バス92″の2つの
データ・バスを表わしている。データ・バス92″が1段
遅延スタツク130により、データ・バス92′から分離し
ている。戻りデータ・バス102が遅延データ・バス92″
と相互接続されている。マルチプレクサ98に接続されて
いる8ビツト幅の入力データ・バス100は、データ・バ
ス92′に接続されたデータ・バス100′と、データ・バ
ス92″に接続されたデータ・バス100″とで構成されて
いる。リコード論理回路94に入力するデータ・バス96
が、データ・バス92′に接続されたデータ・バス96と、
データ・バス92″に接続されたデータ・バス96″とに分
割されている。
データ・バス100から8ビツト幅の入力を受取るマルチ
プレクサ98は、マルチプレクサ132及びマルチプレクサ1
34で構成される。マルチプレクサ132は、データ・バス1
00′,100″のどちらかを選択するが、クロツク信号TODD
によつて制御される。制御信号TODDの作用は後で詳しく
説明する。マルチプレクサ132の出力が8ビツト幅のデ
イジタル値であり、これらの8ビツトがマルチプレクサ
134に入力される。マルチプレクサ134は、マルチプレク
サ132から出力された8ビツト数の2ビツトずつを受取
る“1"、“2"、“3"及び“4"と記した4つの2ビツト入
力を持つている。マルチプレクサ134はタイミング信号t
1、t2、t3、t4によつて制御される。これらのタイミン
グ信号が、マルチプレクサが“1"、“2"、“3"及び“4"
入力が夫々その出力に接続される時間の長さを決定す
る。タイミング信号t1乃至t4の作用は後で詳しく説明す
る。マルチプレクサ134の出力は2ビツト出力であり、
これが2ビツト幅のデータ・バス136に出力される。
プレクサ98は、マルチプレクサ132及びマルチプレクサ1
34で構成される。マルチプレクサ132は、データ・バス1
00′,100″のどちらかを選択するが、クロツク信号TODD
によつて制御される。制御信号TODDの作用は後で詳しく
説明する。マルチプレクサ132の出力が8ビツト幅のデ
イジタル値であり、これらの8ビツトがマルチプレクサ
134に入力される。マルチプレクサ134は、マルチプレク
サ132から出力された8ビツト数の2ビツトずつを受取
る“1"、“2"、“3"及び“4"と記した4つの2ビツト入
力を持つている。マルチプレクサ134はタイミング信号t
1、t2、t3、t4によつて制御される。これらのタイミン
グ信号が、マルチプレクサが“1"、“2"、“3"及び“4"
入力が夫々その出力に接続される時間の長さを決定す
る。タイミング信号t1乃至t4の作用は後で詳しく説明す
る。マルチプレクサ134の出力は2ビツト出力であり、
これが2ビツト幅のデータ・バス136に出力される。
マルチプレクサ134がリコード論理回路108に2ビツト幅
の信号出力を入力する前に、この2ビツト信号が2ビツ
ト幅のデータ・バス138及び2ビツト幅のデータ・バス1
40に分岐して、マルチプレクサ142に入力される。デー
タ・バス138がマルチプレクサ142の“0"入力に入力さ
れ、データ・バス140のデータがインバータ・バンク144
で処理されて、マルチプレクサ142の“1"入力に入力さ
れる。マルチプレクサ142が信号TODDによつて制御され
て、データ・バス138からその“0"入力に入る直接デー
タ、又はデータ・バス140からその“1"入力に入る反転
データの何れかを選択して、2ビツト幅のデータ・バス
109に出力する。後で説明するが、信号TODDは、遂行す
べき動作に応じて、乗数に対し正又は負の信号の何れか
を選択する。式(1)乃至(20)から判る様に、式
(1)乃至(10)のY値の計算には減算が必要である。
の信号出力を入力する前に、この2ビツト信号が2ビツ
ト幅のデータ・バス138及び2ビツト幅のデータ・バス1
40に分岐して、マルチプレクサ142に入力される。デー
タ・バス138がマルチプレクサ142の“0"入力に入力さ
れ、データ・バス140のデータがインバータ・バンク144
で処理されて、マルチプレクサ142の“1"入力に入力さ
れる。マルチプレクサ142が信号TODDによつて制御され
て、データ・バス138からその“0"入力に入る直接デー
タ、又はデータ・バス140からその“1"入力に入る反転
データの何れかを選択して、2ビツト幅のデータ・バス
109に出力する。後で説明するが、信号TODDは、遂行す
べき動作に応じて、乗数に対し正又は負の信号の何れか
を選択する。式(1)乃至(20)から判る様に、式
(1)乃至(10)のY値の計算には減算が必要である。
2ビツト幅のデータ・バス96′,96″にあるデータは、
データ・バス92′,92″にある10ビツト・データ・ワー
ドの最初の2ビツトで構成されるが、マルチプレサ146
による多重化により、2ビツト幅のデータ・バス148に
出力される。データ・バス148が2つの分岐データ・バ
ス150,152に入力される。データ・バス150がマルチプレ
クサ154の“0"入力に入力され、データ・バス152がイン
バータ・バンク156を介してマルチプレクサ154の“1"入
力に入力される。マルチプレクサ154が信号TODDによつ
て制御されて、マルチプレクサ142の動作と同様に、演
算を選択する。マルチプレクサ154の出力が2ビツト幅
のデータ・バス158を介してリコード論理回路94の入力
に接続される。
データ・バス92′,92″にある10ビツト・データ・ワー
ドの最初の2ビツトで構成されるが、マルチプレサ146
による多重化により、2ビツト幅のデータ・バス148に
出力される。データ・バス148が2つの分岐データ・バ
ス150,152に入力される。データ・バス150がマルチプレ
クサ154の“0"入力に入力され、データ・バス152がイン
バータ・バンク156を介してマルチプレクサ154の“1"入
力に入力される。マルチプレクサ154が信号TODDによつ
て制御されて、マルチプレクサ142の動作と同様に、演
算を選択する。マルチプレクサ154の出力が2ビツト幅
のデータ・バス158を介してリコード論理回路94の入力
に接続される。
好ましい実施例では、乗算を行なう為に用いるアルゴリ
ズムは前に述べた様に変形ブース・アルゴリズムであ
る。変形ブース・アルゴリズムは、夫々の部分積を発生
する為に被乗数に対して遂行すべき操作を決定する変形
ブース演算子を発生することを必要とする。演算子は
“0"、“+1"、“−1"、“+2"及び“−2"である。演算
子“0"は部分積を0にセツトする。演算子“+1"は部分
積を被乗数と等しくするが、演算子“−1"は被乗数の2
の補数を発生させる。演算子“+2"によつて被乗数が複
写され、1ビツト左にシフトする。これに対し、演算子
“−2"によつて被乗数の2の補数が発生され1位置だけ
左へシフトされる。このシフト動作は後で詳しく説明す
る。
ズムは前に述べた様に変形ブース・アルゴリズムであ
る。変形ブース・アルゴリズムは、夫々の部分積を発生
する為に被乗数に対して遂行すべき操作を決定する変形
ブース演算子を発生することを必要とする。演算子は
“0"、“+1"、“−1"、“+2"及び“−2"である。演算
子“0"は部分積を0にセツトする。演算子“+1"は部分
積を被乗数と等しくするが、演算子“−1"は被乗数の2
の補数を発生させる。演算子“+2"によつて被乗数が複
写され、1ビツト左にシフトする。これに対し、演算子
“−2"によつて被乗数の2の補数が発生され1位置だけ
左へシフトされる。このシフト動作は後で詳しく説明す
る。
変形ブース演算子を発生するには、乗数のビツトを調べ
ることが必要である。これらのビツトが3つずつの群に
分けて調べられる。最初の3つの群は、ビツト1及び2
と、ビツト1の右にある暗示ビツトで構成される。この
暗示ビツトは、正の乗数では“0"であり、負の乗数では
“1"である。次に調べられるデイジツト群がビツト3及
び4と、最初の群との重なりビツトであるビツト2であ
る。この後の各々の群は次の2ビツトと前の群の最上位
ビツトとで構成される。変形ブース演算子が表2に示す
様に発生される。
ることが必要である。これらのビツトが3つずつの群に
分けて調べられる。最初の3つの群は、ビツト1及び2
と、ビツト1の右にある暗示ビツトで構成される。この
暗示ビツトは、正の乗数では“0"であり、負の乗数では
“1"である。次に調べられるデイジツト群がビツト3及
び4と、最初の群との重なりビツトであるビツト2であ
る。この後の各々の群は次の2ビツトと前の群の最上位
ビツトとで構成される。変形ブース演算子が表2に示す
様に発生される。
リコード論理回路94を用いてPP1を発生する時、乗数の
最初の2ビツトと暗示ビツトとを検査する。前に述べた
様に、暗示ビツトは正の乗数では“0"であり、負の乗数
では“1"である。リコード論理回路108を利用して、マ
ルチプレクサ134によつて選択された2ビツト・ワード
に応答して、残りの部分積PP3乃至PP5を発生する。乗数
の3ビツト群の間の重なりビツトを決定する為、マルチ
プレクサ160を利用する。マルチプレクサ160は、マルチ
プレクサ154から出力された最上位ビツトと、マルチプ
レクサ142から出力された前の乗数の3ビツト群の最上
位ビツトとの間で選択する。マルチプレクサ160の“1"
入力が接続線162を介してバス158の最上位ビツトに接続
される。マルチプレクサ160の“0"入力が接続線164及び
遅延レジスタ166を介してバス109の最上位ビツトに接続
される。遅延レジスタ166は、マルチプレクサ134の1サ
イクルだけ最上位ビツトの入力を遅延させて、リコード
論理回路108に対するデータ入力が、前の乗数セグメン
トからの重なりビツトになる様にする。
最初の2ビツトと暗示ビツトとを検査する。前に述べた
様に、暗示ビツトは正の乗数では“0"であり、負の乗数
では“1"である。リコード論理回路108を利用して、マ
ルチプレクサ134によつて選択された2ビツト・ワード
に応答して、残りの部分積PP3乃至PP5を発生する。乗数
の3ビツト群の間の重なりビツトを決定する為、マルチ
プレクサ160を利用する。マルチプレクサ160は、マルチ
プレクサ154から出力された最上位ビツトと、マルチプ
レクサ142から出力された前の乗数の3ビツト群の最上
位ビツトとの間で選択する。マルチプレクサ160の“1"
入力が接続線162を介してバス158の最上位ビツトに接続
される。マルチプレクサ160の“0"入力が接続線164及び
遅延レジスタ166を介してバス109の最上位ビツトに接続
される。遅延レジスタ166は、マルチプレクサ134の1サ
イクルだけ最上位ビツトの入力を遅延させて、リコード
論理回路108に対するデータ入力が、前の乗数セグメン
トからの重なりビツトになる様にする。
動作について説明すると、マルチプレクサ132,146が、
出力の為に、バス92′又は92″のいづれかの乗数を選択
する。10ビツトの乗数では、5個の部分積を発生しなけ
ればならない。従つて、4回のパスが必要である、この
各々のパスは、期間t1、t2、t3、t4の間に行なわれる。
t1の間、PP1及びPP2に対する変形ブース演算子が発生さ
れる。PP3に対する変形ブース演算子がt2の間に発生さ
れ、PP4に対する演算子がt3の間に発生され、PP5に対す
る演算子がt5の間に発生される。
出力の為に、バス92′又は92″のいづれかの乗数を選択
する。10ビツトの乗数では、5個の部分積を発生しなけ
ればならない。従つて、4回のパスが必要である、この
各々のパスは、期間t1、t2、t3、t4の間に行なわれる。
t1の間、PP1及びPP2に対する変形ブース演算子が発生さ
れる。PP3に対する変形ブース演算子がt2の間に発生さ
れ、PP4に対する演算子がt3の間に発生され、PP5に対す
る演算子がt5の間に発生される。
PP1及びPP2に対する変形ブース演算子が発生される期間
t1の間、マルチプレクサ134が、リコード論理回路108に
対する入力の為、その第1の入力に対する乗数入力の内
の第3及び第4のビツトを選択する。マルチプレクサ16
0が、リコード論理回路108に対する重なりビツトとして
入力する為、リコード論理回路94に対する入力データの
内の最上位ビツトを選択する。次の3つの期間t2乃至t4
の間、乗数の残りのビツトがマルチプレクサ134によつ
て選択されて、リコード論理回路108に入力される。こ
の各々の群に対し、重なりビツトは前に選ばれた群から
の遅延させた最上位ビツトであつて、PP3、PP4及びPP5
を発生することが出来る様にする。遂行すべき操作が減
算である場合、乗数の符号を変更する。前に述べた様
に、信号TODDを発生すると共に、マルチプレクサ142,15
4が反転乗数ビツトを選択することにより、このことが
容易になる。
t1の間、マルチプレクサ134が、リコード論理回路108に
対する入力の為、その第1の入力に対する乗数入力の内
の第3及び第4のビツトを選択する。マルチプレクサ16
0が、リコード論理回路108に対する重なりビツトとして
入力する為、リコード論理回路94に対する入力データの
内の最上位ビツトを選択する。次の3つの期間t2乃至t4
の間、乗数の残りのビツトがマルチプレクサ134によつ
て選択されて、リコード論理回路108に入力される。こ
の各々の群に対し、重なりビツトは前に選ばれた群から
の遅延させた最上位ビツトであつて、PP3、PP4及びPP5
を発生することが出来る様にする。遂行すべき操作が減
算である場合、乗数の符号を変更する。前に述べた様
に、信号TODDを発生すると共に、マルチプレクサ142,15
4が反転乗数ビツトを選択することにより、このことが
容易になる。
第4図には、高速加算器78とその入力に接続されたマル
チプレクサの簡略ブロツク図が示されており、前と同様
な部分には同じ参照数字を用いている。高速加算器78動
作を説明する前に、和及び桁上げワードを発生する為の
高速加算器と、この累算和及び桁上げワードを加算する
為の全加算器とを用いた乗算を説明することが必要であ
る。“−167"の値を持つ乗数と“6862"の値を持つ被乗
数とを用いた例が表3に示されている。
チプレクサの簡略ブロツク図が示されており、前と同様
な部分には同じ参照数字を用いている。高速加算器78動
作を説明する前に、和及び桁上げワードを発生する為の
高速加算器と、この累算和及び桁上げワードを加算する
為の全加算器とを用いた乗算を説明することが必要であ
る。“−167"の値を持つ乗数と“6862"の値を持つ被乗
数とを用いた例が表3に示されている。
表3では、被乗数が15ビツトのデイジタル・ワードとし
て表わされており、最上位ビツト(MSB)は論理0に等
しい。乗数は10ビツトのデイジタル・ワードであり、MS
Bは論理1に等しい。被乗数及び乗数の加算が2つの方
法によつて例示されている。第1の方法は、変形ブース
・アルゴリズムによつて被乗数及び乗数を乗ずる「ロン
グハンド」方法を例示している。ロングハンド方法は最
初に部分積PP1乃至PP5を発生することを必要とする。乗
数を検査して、各々の部分積に対する変形ブース演算子
を発生する。この例では、PP1に対する変形ブース演算
子が“+1"であり、PP2に対する演算子が“−2"であ
り、PP3に対する演算子が“+2"でありPP4に対する演算
子が“+1"であり、PP5に対する演算子が“−1"であ
る。前に述べた様に、各々の演算子が被乗数に対して遂
行される操作を決定する。被乗数に対して遂行させる操
作の他に、部分積は、その加算の前に、前の部分積に対
して2位置だけ左へシフトさせなければならない。図示
の様に、各々の部分積に対する符号ビツトが左に拡張さ
れPP1に対する符号ビツトが9ビツト拡張され、PP2に対
する符号ビツトが7ビツト拡張され、PP3に対する符号
ビツトが5ビツト拡張され、PP4に対する符号ビツトが
3ビツト拡張され、PP5に対する符号ビツトが1ビツト
拡張される。普通の方法により、その結果は25ビツト数
であり、その内の最上位の15ビツトだけが出力される。
て表わされており、最上位ビツト(MSB)は論理0に等
しい。乗数は10ビツトのデイジタル・ワードであり、MS
Bは論理1に等しい。被乗数及び乗数の加算が2つの方
法によつて例示されている。第1の方法は、変形ブース
・アルゴリズムによつて被乗数及び乗数を乗ずる「ロン
グハンド」方法を例示している。ロングハンド方法は最
初に部分積PP1乃至PP5を発生することを必要とする。乗
数を検査して、各々の部分積に対する変形ブース演算子
を発生する。この例では、PP1に対する変形ブース演算
子が“+1"であり、PP2に対する演算子が“−2"であ
り、PP3に対する演算子が“+2"でありPP4に対する演算
子が“+1"であり、PP5に対する演算子が“−1"であ
る。前に述べた様に、各々の演算子が被乗数に対して遂
行される操作を決定する。被乗数に対して遂行させる操
作の他に、部分積は、その加算の前に、前の部分積に対
して2位置だけ左へシフトさせなければならない。図示
の様に、各々の部分積に対する符号ビツトが左に拡張さ
れPP1に対する符号ビツトが9ビツト拡張され、PP2に対
する符号ビツトが7ビツト拡張され、PP3に対する符号
ビツトが5ビツト拡張され、PP4に対する符号ビツトが
3ビツト拡張され、PP5に対する符号ビツトが1ビツト
拡張される。普通の方法により、その結果は25ビツト数
であり、その内の最上位の15ビツトだけが出力される。
高速加算器を使う時、第1及び第2の部分積が加算され
て和及び桁上げワードを発生し、その後、残りの部分積
が逐次的にこの和及び桁上げワードに加算されて、この
後の部分積と加算する為の中間和及び桁上げワードを発
生する。この後、最終的な累算和及び桁上げワードが全
加算器44で加算されて最終結果になる。第1及び第2の
部分積を加算する為には、高速加算器が15ビツト幅の入
力であるから、15ビツトしか必要としない。従つて、PP
2がPP1に対して2ビツト左にシフトしているので、PP1
から2ビツト又は3ビツト、そしてリコード動作に応じ
て、場合により、PP2から1ビツトを切捨てることが必
要になる。PP1に対するデイジタル値は、変形ブース演
算子が“+1"であるから、被乗数に対するデイジタル値
に等しい。然し、PP2の変形ブース演算子は“−2"に等
しく、この為、2の補数を発生して、1ビツト左へシフ
トすることが必要である。然し、好ましい実施例では、
反転デイジタル・ワードだけを1ビツト左にシフトし、
所要の“1"を後の時点で加算するが、これは後で説明す
る。PP1及びPP2の加算の為、桁上げ入力が“0"値のデイ
ジタル・ワードに接続される。発生される値が、高速加
算器78からの和及び桁上げとなるΣ1及びC1である。こ
の加算がt1の間の1回目のパスの間に行なわれる。
て和及び桁上げワードを発生し、その後、残りの部分積
が逐次的にこの和及び桁上げワードに加算されて、この
後の部分積と加算する為の中間和及び桁上げワードを発
生する。この後、最終的な累算和及び桁上げワードが全
加算器44で加算されて最終結果になる。第1及び第2の
部分積を加算する為には、高速加算器が15ビツト幅の入
力であるから、15ビツトしか必要としない。従つて、PP
2がPP1に対して2ビツト左にシフトしているので、PP1
から2ビツト又は3ビツト、そしてリコード動作に応じ
て、場合により、PP2から1ビツトを切捨てることが必
要になる。PP1に対するデイジタル値は、変形ブース演
算子が“+1"であるから、被乗数に対するデイジタル値
に等しい。然し、PP2の変形ブース演算子は“−2"に等
しく、この為、2の補数を発生して、1ビツト左へシフ
トすることが必要である。然し、好ましい実施例では、
反転デイジタル・ワードだけを1ビツト左にシフトし、
所要の“1"を後の時点で加算するが、これは後で説明す
る。PP1及びPP2の加算の為、桁上げ入力が“0"値のデイ
ジタル・ワードに接続される。発生される値が、高速加
算器78からの和及び桁上げとなるΣ1及びC1である。こ
の加算がt1の間の1回目のパスの間に行なわれる。
次のパスt2の間、Σ1及びC1の値が右に2位置だけシフ
トさせられて、PP3に対する値と共に、高速加算器に入
力される。高速加算器に於けるこれらの値の処理の結
果、夫々和及び桁上げ出力からΣ2及びC2が出力され
る。PP4の加算及びPP5の加算に対してこの動作が続けら
れる。高速加算器78からの最終的な出力が、累算和Σ4
及び累算桁上げC4である。後で説明するが、各々の動作
からの切捨てビツトが加算されて、順方向の桁上げを発
生し、これは論理1に等しければ、これによつて、毎回
のパスの間の各々の加算に於ける桁上げワードの最下位
ビツトは強制的に論理1にされ、こうして切捨てによる
誤差を埋合せる。
トさせられて、PP3に対する値と共に、高速加算器に入
力される。高速加算器に於けるこれらの値の処理の結
果、夫々和及び桁上げ出力からΣ2及びC2が出力され
る。PP4の加算及びPP5の加算に対してこの動作が続けら
れる。高速加算器78からの最終的な出力が、累算和Σ4
及び累算桁上げC4である。後で説明するが、各々の動作
からの切捨てビツトが加算されて、順方向の桁上げを発
生し、これは論理1に等しければ、これによつて、毎回
のパスの間の各々の加算に於ける桁上げワードの最下位
ビツトは強制的に論理1にされ、こうして切捨てによる
誤差を埋合せる。
最終的な結果は、付加的な補正ビツトΣCORと、Σ4及
びC4の値とを高速加算器で加算することによつて得られ
る。補正ビツトΣCORは、高速加算器の最初の4回のパ
スに於ける切捨てビツトの加算から生ずる。この補正ビ
ツトを追加することは、後で更に詳しく説明する。
びC4の値とを高速加算器で加算することによつて得られ
る。補正ビツトΣCORは、高速加算器の最初の4回のパ
スに於ける切捨てビツトの加算から生ずる。この補正ビ
ツトを追加することは、後で更に詳しく説明する。
夫々リコード論理回路94,108からの演算子出力に応答し
て、マルチプレクサ125,127によつて変形ブース操作が
行なわれる。“+1"及び“−1"の操作では、演算子“+
2"又は“−2"に対して、右へ1位置だけの相対シフトが
必要である。このシフトが、データ・バス118と直列に
接続されたシフト・ブロツク170によつて行なわれる。
シフト・ブロツク170はハードワイヤード形式にするこ
とが出来る。シフト・ブロツク170の出力がマルチプレ
クサ127の“+1"入力に入力され、選択された時、デー
タを直接的に通過させる。シフト・ブロツク170の出力
がインバータ・バンク172を介してマルチプレクサ127の
“−1"入力にも入力され、データの反転したものを供給
する。“+2"及び“−2"操作では、シフトを必要としな
い。このことが、バス118をマルチプレクサ127の“+2"
入力に直接供給すること、並びにインバータ・バンク17
6を介してそれに入力することによつて表わされてい
る。マルチプレクサ127の4つの入力の内の任意の1つ
の選択により、入力データの所望の反転及びシフトが行
なわれる。
て、マルチプレクサ125,127によつて変形ブース操作が
行なわれる。“+1"及び“−1"の操作では、演算子“+
2"又は“−2"に対して、右へ1位置だけの相対シフトが
必要である。このシフトが、データ・バス118と直列に
接続されたシフト・ブロツク170によつて行なわれる。
シフト・ブロツク170はハードワイヤード形式にするこ
とが出来る。シフト・ブロツク170の出力がマルチプレ
クサ127の“+1"入力に入力され、選択された時、デー
タを直接的に通過させる。シフト・ブロツク170の出力
がインバータ・バンク172を介してマルチプレクサ127の
“−1"入力にも入力され、データの反転したものを供給
する。“+2"及び“−2"操作では、シフトを必要としな
い。このことが、バス118をマルチプレクサ127の“+2"
入力に直接供給すること、並びにインバータ・バンク17
6を介してそれに入力することによつて表わされてい
る。マルチプレクサ127の4つの入力の内の任意の1つ
の選択により、入力データの所望の反転及びシフトが行
なわれる。
高速加算器78のB入力に入力されるデータがマルチプレ
クサ125によつて制御される。正しいシフトを行なう為
に、データ・バス116が、シフト・ブロツク178(“ASR
3"と記す)に入力されて、算術的に3ビツト右シフトさ
せて符号ビツトを延ばすか(この操作を“ASR3"と呼
ぶ)、或いはシフト・ブロツク180(“ASR2"と記す)に
入力されて、2ビツト右へのシフトを行なう(この操作
を“ASR2"と呼ぶ)。前に述べた様に、このシフトがPP1
を加算する為、時間t1の間の第1のパスの間に用いられ
る。シフト・ブロツク170の出力がマルチプレクサ125の
“+1"入力に直結になると共に、インバータ・バンク18
2を介してその“−1"入力にも接続される。シフト・ブ
ロツク180の出力がマルチプレクサ125の“+2"入力に接
続されると共に、インバータ・バンク184を介してその
“−2"入力に接続される。
クサ125によつて制御される。正しいシフトを行なう為
に、データ・バス116が、シフト・ブロツク178(“ASR
3"と記す)に入力されて、算術的に3ビツト右シフトさ
せて符号ビツトを延ばすか(この操作を“ASR3"と呼
ぶ)、或いはシフト・ブロツク180(“ASR2"と記す)に
入力されて、2ビツト右へのシフトを行なう(この操作
を“ASR2"と呼ぶ)。前に述べた様に、このシフトがPP1
を加算する為、時間t1の間の第1のパスの間に用いられ
る。シフト・ブロツク170の出力がマルチプレクサ125の
“+1"入力に直結になると共に、インバータ・バンク18
2を介してその“−1"入力にも接続される。シフト・ブ
ロツク180の出力がマルチプレクサ125の“+2"入力に接
続されると共に、インバータ・バンク184を介してその
“−2"入力に接続される。
マルチプレクサ124は“1"と記した1つの入力と“2−
4"と記した第2の入力とを持つている。第1の入力は期
間t1の間に選択され、第2の入力は期間t2−t4の間に選
択される。期間t2−t4の間、第2の入力が選択される。
この入力がデータ・バス80を介して高速加算器78の和出
力に接続される。2ビツトの相対シフトを行なう為、
“ASR"と記したシフト・ブロツク186によつて表わす様
に、この和が2ビツト右にシフトさせられる。マルチプ
レクサ124に対する入力バスをデータ・バス80に対し
て、2ビツトだけ右にハードワイヤの接続することによ
り、このシフトが容易に行なわれる。マルチプレクサ12
8もマルチプレクサ124と同様な形であつて、その1つの
入力が“1"と記されていて、変形“0"値デイジタル・ワ
ードを受取り、第2の入力が“2−4"と記されていて、
高速加算器78からの桁上げ出力を受取る。桁上げ出力の
フイードバツク値に対してもシフトが必要であり、これ
が“ASR2"と記したシフト・ブロツク188によつて行なわ
れる。高速加算器78の和出力及び桁上げ出力の両方がシ
フト・ブロツク186,188によつてシフトしているので、
符号ビツトを拡張することが必要である、これを図面に
は示してないが、延ばすべきビツトに応じて、論理0値
及び論理1値を複写する為の論理回路が用いられてい
る。
4"と記した第2の入力とを持つている。第1の入力は期
間t1の間に選択され、第2の入力は期間t2−t4の間に選
択される。期間t2−t4の間、第2の入力が選択される。
この入力がデータ・バス80を介して高速加算器78の和出
力に接続される。2ビツトの相対シフトを行なう為、
“ASR"と記したシフト・ブロツク186によつて表わす様
に、この和が2ビツト右にシフトさせられる。マルチプ
レクサ124に対する入力バスをデータ・バス80に対し
て、2ビツトだけ右にハードワイヤの接続することによ
り、このシフトが容易に行なわれる。マルチプレクサ12
8もマルチプレクサ124と同様な形であつて、その1つの
入力が“1"と記されていて、変形“0"値デイジタル・ワ
ードを受取り、第2の入力が“2−4"と記されていて、
高速加算器78からの桁上げ出力を受取る。桁上げ出力の
フイードバツク値に対してもシフトが必要であり、これ
が“ASR2"と記したシフト・ブロツク188によつて行なわ
れる。高速加算器78の和出力及び桁上げ出力の両方がシ
フト・ブロツク186,188によつてシフトしているので、
符号ビツトを拡張することが必要である、これを図面に
は示してないが、延ばすべきビツトに応じて、論理0値
及び論理1値を複写する為の論理回路が用いられてい
る。
更に第2図について説明すると、ビツト補正回路190が
高速加算器78及び全加算器44とインタフエイス接続さ
れ、高速加算器78の4回のパスでのビツトの切捨てによ
る誤差を埋合せる。ビツト補正回路190は、変形ブース
演算子“−1"及び“−2"に対して2の補数を発生するの
に必要な論理1をも加算する。ビツト補正回路190がΣ
CORビツトを出力し、これが1ビツト線192を介して全加
算器44の桁上げ入力に入力されると共に、高速加算器78
から出力された桁上げワードの最下位ビツトに対する桁
上げビツトをも出力する。この操作が発生された桁上げ
ワードの最下位ビツトをビツト補正回路190の桁上げ出
力に接続することによつて行なわれるが、これは後で更
に説明する。
高速加算器78及び全加算器44とインタフエイス接続さ
れ、高速加算器78の4回のパスでのビツトの切捨てによ
る誤差を埋合せる。ビツト補正回路190は、変形ブース
演算子“−1"及び“−2"に対して2の補数を発生するの
に必要な論理1をも加算する。ビツト補正回路190がΣ
CORビツトを出力し、これが1ビツト線192を介して全加
算器44の桁上げ入力に入力されると共に、高速加算器78
から出力された桁上げワードの最下位ビツトに対する桁
上げビツトをも出力する。この操作が発生された桁上げ
ワードの最下位ビツトをビツト補正回路190の桁上げ出
力に接続することによつて行なわれるが、これは後で更
に説明する。
第5図にはビツト補正回路190と第2図のシステムに対
するインタフエイス回路との簡略ブロツク図が示されて
いる。ビツト補正回路190は、表2に示した部分積の和
の各々からの切捨てビツトを受取る5つのデータ入力を
持つている。前に述べた様に、高速加算器78の各々の加
算に於ける最初の加数の最下位ビツトが切捨てられる。
こういう切捨てビツトの内、最も上位の2つがビツト補
正回路190の「A1」及び「A0」と記す入力に入力され
る。「A0」が2つのビツトの内の最下位である。入力
「A1」及び「A0」が1対のデータ線194を介してマルチ
プレクサ127の出力に接続され、それから2つの切捨て
ビツトを受取る。従つて、マルチプレクサ124が、マル
チプレクサ125の出力からのデータ、即ちPP1又は高速加
算器78の加算出力を選択する。
するインタフエイス回路との簡略ブロツク図が示されて
いる。ビツト補正回路190は、表2に示した部分積の和
の各々からの切捨てビツトを受取る5つのデータ入力を
持つている。前に述べた様に、高速加算器78の各々の加
算に於ける最初の加数の最下位ビツトが切捨てられる。
こういう切捨てビツトの内、最も上位の2つがビツト補
正回路190の「A1」及び「A0」と記す入力に入力され
る。「A0」が2つのビツトの内の最下位である。入力
「A1」及び「A0」が1対のデータ線194を介してマルチ
プレクサ127の出力に接続され、それから2つの切捨て
ビツトを受取る。従つて、マルチプレクサ124が、マル
チプレクサ125の出力からのデータ、即ちPP1又は高速加
算器78の加算出力を選択する。
高速加算器78の4回のパスの各々に於ける2番目の加数
から1ビツトが切捨てられる。このビツトがビツト補正
回路190のB1入力に入力される。この切捨てビツトを発
生する為、被乗数の最下位ビツト(LSB)がマルチプレ
クサ196の“+1"入力に入力されると共に、インバータ1
98を介してその“−1"入力にも入力される。マルチプレ
クサ196は“±2"と記した入力をも持つている。マルチ
プレクサ196に対する制御信号は、リコード論理回路108
から4ビツト・バス200を介して入る。リコード論理回
路108の出力が、マルチプレクサ196のどの入力をビツト
補正回路190のB1入力に接続するかを決定する。リコー
ド論理回路108の出力は2ビツト・データ・バス202を介
してビツト補正回路190にも入力され、それに対して変
形ブース演算子“−1"及び“−2"を入力するが、その動
作は後で説明する。
から1ビツトが切捨てられる。このビツトがビツト補正
回路190のB1入力に入力される。この切捨てビツトを発
生する為、被乗数の最下位ビツト(LSB)がマルチプレ
クサ196の“+1"入力に入力されると共に、インバータ1
98を介してその“−1"入力にも入力される。マルチプレ
クサ196は“±2"と記した入力をも持つている。マルチ
プレクサ196に対する制御信号は、リコード論理回路108
から4ビツト・バス200を介して入る。リコード論理回
路108の出力が、マルチプレクサ196のどの入力をビツト
補正回路190のB1入力に接続するかを決定する。リコー
ド論理回路108の出力は2ビツト・データ・バス202を介
してビツト補正回路190にも入力され、それに対して変
形ブース演算子“−1"及び“−2"を入力するが、その動
作は後で説明する。
被乗数のLSBがインバータ206を介してアンド・ゲート20
4の一方の入力に入力される。アンド・ゲート204の他方
の入力がリコード論理回路94の“−1"出力に接続され
る。アンド・ゲート204の出力がオア・ゲート207の一方
の入力に接続され、このオア・ゲートの他方の入力がリ
コード論理回路94の“−2"出力に接続されている。オア
・ゲート207の出力がマルチプレクサ208の“1"入力に接
続される。マルチプレクサ208の他方の入力“0"がビツ
ト補正回路190の桁上げ出力のLSBに接続される。マルチ
プレクサ208の出力がビツト補正回路190のC0入力に接続
される。ビツト補正回路190のC1入力がマルチプレクサ2
10の出力に接続される。マルチプレクサ210の“1"入力
が論理0に接続され、その“0"入力がビツト補正回路19
0から出力される2番目の桁上げビツトに接続される。
マルチプレクサ208,210がt1信号によつて制御されて、P
P1及びPP2を加算する1回目のパスの間は、その“1"入
力を選択すると共に、高速加算器78の残りのパスの間
は、“0"入力を選択する。
4の一方の入力に入力される。アンド・ゲート204の他方
の入力がリコード論理回路94の“−1"出力に接続され
る。アンド・ゲート204の出力がオア・ゲート207の一方
の入力に接続され、このオア・ゲートの他方の入力がリ
コード論理回路94の“−2"出力に接続されている。オア
・ゲート207の出力がマルチプレクサ208の“1"入力に接
続される。マルチプレクサ208の他方の入力“0"がビツ
ト補正回路190の桁上げ出力のLSBに接続される。マルチ
プレクサ208の出力がビツト補正回路190のC0入力に接続
される。ビツト補正回路190のC1入力がマルチプレクサ2
10の出力に接続される。マルチプレクサ210の“1"入力
が論理0に接続され、その“0"入力がビツト補正回路19
0から出力される2番目の桁上げビツトに接続される。
マルチプレクサ208,210がt1信号によつて制御されて、P
P1及びPP2を加算する1回目のパスの間は、その“1"入
力を選択すると共に、高速加算器78の残りのパスの間
は、“0"入力を選択する。
ビツト補正回路190のC0及びC1入力は高速加算器78のシ
フトした桁上げ信号の内の2つの切捨てビツトに対応す
る。アンド・ゲート204及びオア・ゲート207がインバー
タ206と組合さつて、必要な場合1を加算することによ
り、第1の部分積の正しい2の補数を発生する様に作用
し得る。
フトした桁上げ信号の内の2つの切捨てビツトに対応す
る。アンド・ゲート204及びオア・ゲート207がインバー
タ206と組合さつて、必要な場合1を加算することによ
り、第1の部分積の正しい2の補数を発生する様に作用
し得る。
第2図の回路129が、破線で囲まれたブロツクで表わさ
れており、オア・ゲート207、アンド・ゲート204及びイ
ンバータ206で構成される。回路129は、PP1を発生する
際、被乗数に対する操作の為に、“−1"又は“−2"演算
子が発生された時、ビツト補正回路に供給される最下位
桁上げビツトを強制的に論理1にする様に作用する。
“−2"演算子に対しては、出力は自動的に論理“1"であ
る。最下位ビツトが論理0であつて、“−1"演算子が必
要な場合、出力は再び論理1になる。この特徴は、必要
な時、被乗数の正しい2の補数が発生されることを保証
する。ビツトを反転し、論理1を加算することにより、
2の補数が得られる。
れており、オア・ゲート207、アンド・ゲート204及びイ
ンバータ206で構成される。回路129は、PP1を発生する
際、被乗数に対する操作の為に、“−1"又は“−2"演算
子が発生された時、ビツト補正回路に供給される最下位
桁上げビツトを強制的に論理1にする様に作用する。
“−2"演算子に対しては、出力は自動的に論理“1"であ
る。最下位ビツトが論理0であつて、“−1"演算子が必
要な場合、出力は再び論理1になる。この特徴は、必要
な時、被乗数の正しい2の補数が発生されることを保証
する。ビツトを反転し、論理1を加算することにより、
2の補数が得られる。
第6図にはビツト補正回路190の回路図が示されてお
り、この回路は全加算器212及び半加算器214で構成され
る。全加算器212はA、B及びCと記す3つの入力を持
つている。A入力はビツト補正回路190のA1入力に対応
し、B入力はビツト補正回路190のB1入力に対応し、C
入力はアンド・ゲート215の出力に接続されている。ア
ンド・ゲート215の一方の入力がビツト補正回路190のA0
入力を表わし、他方の入力がC0入力を表わす。全加算器
212がΣ出力と、桁上げ信号を発生する桁上げ出力C0と
を持つている。全加算器212のΣ出力が半加算器214のB
入力に接続される。半加算器214のA入力はビツト補正
回路190のC1入力を表わす。半加算器214が和出力及び桁
上げ出力を発生し、その和出力が節216に接続され、そ
の桁上げ出力が節218に接続される。節216が3入力アン
ド・ゲート220の1つの入力に入力されると共に、アン
ド・ゲート222の1つの入力に入力される。“−1"信号
がアンド・ゲート222の他方の入力に入力されると共
に、アンド・ゲート220の1つの入力に入力される。ア
ンド・ゲート220の出力が3入力オア・ゲート224に入力
され、アンド・ゲート222の出力が4入力オア・ゲート2
26の1つの入力に接続される。
り、この回路は全加算器212及び半加算器214で構成され
る。全加算器212はA、B及びCと記す3つの入力を持
つている。A入力はビツト補正回路190のA1入力に対応
し、B入力はビツト補正回路190のB1入力に対応し、C
入力はアンド・ゲート215の出力に接続されている。ア
ンド・ゲート215の一方の入力がビツト補正回路190のA0
入力を表わし、他方の入力がC0入力を表わす。全加算器
212がΣ出力と、桁上げ信号を発生する桁上げ出力C0と
を持つている。全加算器212のΣ出力が半加算器214のB
入力に接続される。半加算器214のA入力はビツト補正
回路190のC1入力を表わす。半加算器214が和出力及び桁
上げ出力を発生し、その和出力が節216に接続され、そ
の桁上げ出力が節218に接続される。節216が3入力アン
ド・ゲート220の1つの入力に入力されると共に、アン
ド・ゲート222の1つの入力に入力される。“−1"信号
がアンド・ゲート222の他方の入力に入力されると共
に、アンド・ゲート220の1つの入力に入力される。ア
ンド・ゲート220の出力が3入力オア・ゲート224に入力
され、アンド・ゲート222の出力が4入力オア・ゲート2
26の1つの入力に接続される。
アンド・ゲート220の他方の入力がオア・ゲート228の出
力に接続され、オア・ゲート228の一方の入力が半加算
器214の桁上げ出力に接続され、その他方の入力が全加
算器212の桁上げ出力に接続される。半加算器214及び全
加算器212の両方の桁上げ出力がオア・ゲート226の入力
に接続される。オア・ゲート228の出力アンド・ゲート2
30の一方の入力に接続され、その他方の入力は“−2"入
力信号に接続されていて、その出力はオア・ゲート224
の入力に接続されている。アンド・ゲート232の一方の
入力が半加算器214の桁上げ出力に接続され、その他方
の入力が全加算器212の桁上げ出力に接続され、その出
力はオア・ゲート224の入力に接続されている。オア・
ゲート224の出力がΣCOR信号であり、オア・ゲート226
の出力がCOUT信号である。
力に接続され、オア・ゲート228の一方の入力が半加算
器214の桁上げ出力に接続され、その他方の入力が全加
算器212の桁上げ出力に接続される。半加算器214及び全
加算器212の両方の桁上げ出力がオア・ゲート226の入力
に接続される。オア・ゲート228の出力アンド・ゲート2
30の一方の入力に接続され、その他方の入力は“−2"入
力信号に接続されていて、その出力はオア・ゲート224
の入力に接続されている。アンド・ゲート232の一方の
入力が半加算器214の桁上げ出力に接続され、その他方
の入力が全加算器212の桁上げ出力に接続され、その出
力はオア・ゲート224の入力に接続されている。オア・
ゲート224の出力がΣCOR信号であり、オア・ゲート226
の出力がCOUT信号である。
アンド・ゲート215が数A0及びC0を加算して、デイジツ
トA1及びB1の加算に対する桁上げを発生する。C1が半加
算器214で加算される。この加算が表4に示されてい
る。
トA1及びB1の加算に対する桁上げを発生する。C1が半加
算器214で加算される。この加算が表4に示されてい
る。
表4では、入力に全部論理1の値を持つ例を示してあ
る。更に、B1に対応する部分積に対する変形ブース演算
子が“−1"に等しい。5デイジツトを加算した結果、
“10"の桁上げ出力信号が発生される。更に、反転信号
を発生する為、論理1が加算されている。この結果、和
は“10"になり、COUT及びΣCOR信号の両方が論理1に等
しい。この結果、特定のパスでは、加算器78からの桁上
げ出力信号のLSBが強制的に論理1になる。最初の3回
のパスで、ΣCOR信号が論理1であれば、それは切捨て
られる。4回目のパスで、この値が線192を介して全加
算器44の桁上げ入力に加算され、和補正ビツトを発生す
る。従つて、ビツト補正回路は、切捨てビツトの加算か
ら生ずる発生された桁上げを勘定に入れる。更に、高速
加算器78からの累算和及び桁上げワードの最終的な加算
に対し、和補正ビツトが発生される。
る。更に、B1に対応する部分積に対する変形ブース演算
子が“−1"に等しい。5デイジツトを加算した結果、
“10"の桁上げ出力信号が発生される。更に、反転信号
を発生する為、論理1が加算されている。この結果、和
は“10"になり、COUT及びΣCOR信号の両方が論理1に等
しい。この結果、特定のパスでは、加算器78からの桁上
げ出力信号のLSBが強制的に論理1になる。最初の3回
のパスで、ΣCOR信号が論理1であれば、それは切捨て
られる。4回目のパスで、この値が線192を介して全加
算器44の桁上げ入力に加算され、和補正ビツトを発生す
る。従つて、ビツト補正回路は、切捨てビツトの加算か
ら生ずる発生された桁上げを勘定に入れる。更に、高速
加算器78からの累算和及び桁上げワードの最終的な加算
に対し、和補正ビツトが発生される。
第7図には、適当なタイミング・パルスを発生する為の
システム・タイミング回路のブロツク図が示されてい
る。システム・クロツク236が約3.57MHzの安定な出力周
波数を発生し、その出力が除数4の割算回路238の入力
に接続される。除数4の割算回路238の出力は880KHzの
周波数であり、これが高速クロツク“FC"を構成する。
除数4の割算回路242からの出力が論理回路240に入力さ
れて、タイミング・パルスt1乃至t4を発生する。各々の
期間t1乃至t4は880KHzの繰返し速度と、FCのクロツク周
期の1/4に等しい持続時間を持つている。
システム・タイミング回路のブロツク図が示されてい
る。システム・クロツク236が約3.57MHzの安定な出力周
波数を発生し、その出力が除数4の割算回路238の入力
に接続される。除数4の割算回路238の出力は880KHzの
周波数であり、これが高速クロツク“FC"を構成する。
除数4の割算回路242からの出力が論理回路240に入力さ
れて、タイミング・パルスt1乃至t4を発生する。各々の
期間t1乃至t4は880KHzの繰返し速度と、FCのクロツク周
期の1/4に等しい持続時間を持つている。
除数4の割算回路238の出力が除数の割算回路242にも入
力され、220KHzの低速クロツク信号"SC"を発生する。SC
信号がインバータ244に入力されて、反転クロツク信号
を発生する。これは、前縁(立上り)がSCに対して180
゜位相がずれている為、TODDとして利用される。除数4
の割算回路242の出力が除数22の割算回路246に入力さ
れ、10KHzのサンプル・クロツク信号を発生する。この
クロツクが、表1に示す20個の方程式全部を処理して、
結果を表わす値をYレジスタ48に出力するのに要する時
間の長さであるサンプル時間を発生する。除数22の割算
回路246の出力が論理回路248に入力され、T時間T1乃至
T22を発生する。各々のT時間は、10KHzのサンプル・ク
ロツクの1/22を表わす。
力され、220KHzの低速クロツク信号"SC"を発生する。SC
信号がインバータ244に入力されて、反転クロツク信号
を発生する。これは、前縁(立上り)がSCに対して180
゜位相がずれている為、TODDとして利用される。除数4
の割算回路242の出力が除数22の割算回路246に入力さ
れ、10KHzのサンプル・クロツク信号を発生する。この
クロツクが、表1に示す20個の方程式全部を処理して、
結果を表わす値をYレジスタ48に出力するのに要する時
間の長さであるサンプル時間を発生する。除数22の割算
回路246の出力が論理回路248に入力され、T時間T1乃至
T22を発生する。各々のT時間は、10KHzのサンプル・ク
ロツクの1/22を表わす。
第1図並びに下記の表5を参照して、この装置の動作を
データの流れ及びタイミングについて更に詳しく説明す
る。
データの流れ及びタイミングについて更に詳しく説明す
る。
表5には、全てのスタツクの状態、並びにそれに対して
遂行すべき操作が示されている。所定の1つのT時間T1
乃至T22に、1段遅延レジスタ66、7段レジスタ62及び
2段レジスタ70のトツプからのデータ出力の他に、乗数
及び被乗数がある。1段レジスタ66からのデータ出力を
TAP1と呼び、7段レジスタ62の出力データをTAP2と呼
び、2段レジスタ70のデータ出力をTAP3と呼ぶ。前に述
べた様に、所定のT時間の間に行なわれる全般的な動作
は2段の畳込み形式である。第1に、次の連続するT時
間に対する部分積が高速加算器78によつて処理されて、
累算和及び桁上げワードを発生する。第2に、全加算器
44が前のT時間からの累算和及び桁上げワードを受取
り、その和を発生した後、予め記憶されているパラメー
タと加算する。全加算器44は、高速加算器78が部分積を
処理するのと同時に、これらの2つの加算工程を遂行す
る。
遂行すべき操作が示されている。所定の1つのT時間T1
乃至T22に、1段遅延レジスタ66、7段レジスタ62及び
2段レジスタ70のトツプからのデータ出力の他に、乗数
及び被乗数がある。1段レジスタ66からのデータ出力を
TAP1と呼び、7段レジスタ62の出力データをTAP2と呼
び、2段レジスタ70のデータ出力をTAP3と呼ぶ。前に述
べた様に、所定のT時間の間に行なわれる全般的な動作
は2段の畳込み形式である。第1に、次の連続するT時
間に対する部分積が高速加算器78によつて処理されて、
累算和及び桁上げワードを発生する。第2に、全加算器
44が前のT時間からの累算和及び桁上げワードを受取
り、その和を発生した後、予め記憶されているパラメー
タと加算する。全加算器44は、高速加算器78が部分積を
処理するのと同時に、これらの2つの加算工程を遂行す
る。
次に表5について、動作を更に詳しく説明する。T時間
T1に、所定のサンプル時間が開始される。このサンプル
時間の間、kスタツク90から乗数Eが選択され、被乗数
−Iiがマルチプレクサ110によつて選択される。乗数の
符号を強制的に負にするのは、これが後で説明する様に
奇数T時間であるからである。高速加算器78がこれらの
2つの値の部分積を加算し、その結果をその累算和及び
桁上げ出力に出力する。次の逐次的なT時間T2に、kス
タツク90の出力はk1であり、乗数はレジスタ66の出力か
ら出るTAP1が選択される。前に述べた様に、1段レジス
タ66の出力のデータは、T2より2つの低速クロツク・サ
イクル前に発生されている。全加算器44のA及びB入力
には、累算和ワードEI′i及び累算桁上げワードC′が
装入されている。この加算の結果が積EIiである。
T1に、所定のサンプル時間が開始される。このサンプル
時間の間、kスタツク90から乗数Eが選択され、被乗数
−Iiがマルチプレクサ110によつて選択される。乗数の
符号を強制的に負にするのは、これが後で説明する様に
奇数T時間であるからである。高速加算器78がこれらの
2つの値の部分積を加算し、その結果をその累算和及び
桁上げ出力に出力する。次の逐次的なT時間T2に、kス
タツク90の出力はk1であり、乗数はレジスタ66の出力か
ら出るTAP1が選択される。前に述べた様に、1段レジス
タ66の出力のデータは、T2より2つの低速クロツク・サ
イクル前に発生されている。全加算器44のA及びB入力
には、累算和ワードEI′i及び累算桁上げワードC′が
装入されている。この加算の結果が積EIiである。
この加算が、A及びB入力のロードと同時であるとして
示されているが、この加算を遂行するには、或る長さの
時間が必要であることを承知されたい。好ましい実施例
では、第1図のシステムの部品を構成する為に使われて
いる回路は、ダイナミツクNMOS技術を取入れている。こ
の種の技術では、結果を発生する為に順次進めなければ
ならない4相クロツクを発生することを必要とする。従
つて、結果がこの4相クロツクの終りに発生されて、次
の加算動作の初めに出力に現われる。更に、この技術で
は、4相クロツクの第1相の間にデータが入力レジスタ
にロードされ、加算期間全体の間データが存在する必要
はないことに注意されたい。
示されているが、この加算を遂行するには、或る長さの
時間が必要であることを承知されたい。好ましい実施例
では、第1図のシステムの部品を構成する為に使われて
いる回路は、ダイナミツクNMOS技術を取入れている。こ
の種の技術では、結果を発生する為に順次進めなければ
ならない4相クロツクを発生することを必要とする。従
つて、結果がこの4相クロツクの終りに発生されて、次
の加算動作の初めに出力に現われる。更に、この技術で
は、4相クロツクの第1相の間にデータが入力レジスタ
にロードされ、加算期間全体の間データが存在する必要
はないことに注意されたい。
T2の間の全加算器44に於ける加算動作の第2サイクルの
間、加算値EIiがB入力に装入され、“0"の値を持つデ
イジタル・ワードがマルチプレクサ74によつて選択され
てA入力にロードされる。加算結果がEIiであり、1段
レジスタ58にロードされ、その後低速クロツクをインク
レメントして、T時間T3を開始する。T3の間、選択され
る乗数定数はk10であり、選択される乗数はb10i-1であ
る。乗数は7段レジスタ62の出力のTAP2が選択される。
高速加算器78がこの乗数及び被乗数に対し、累算和ワー
ドk10b10′i-1及びC′を発生する。T3の第1の部分の
間、全加算器44が累算桁上げワードk1Y1′i-1及びC′
を加算して、積k1Y1i-1を発生する。T3の第2の分の
間、値bi-2が2段レジスタ70のトツプのTAP3から抽出さ
れ、全加算器44の出力がそのB入力に入力される。その
結果が表1の式19の結果である。b2i-1である。これが
奇数T時間であるから、乗数の符号を負に変えて、減算
が行なわれる様にする。結果b2i-1を発生した後、それ
がマルチプレクサ50により、1段データ・レジスタ58の
入力に入力される。
間、加算値EIiがB入力に装入され、“0"の値を持つデ
イジタル・ワードがマルチプレクサ74によつて選択され
てA入力にロードされる。加算結果がEIiであり、1段
レジスタ58にロードされ、その後低速クロツクをインク
レメントして、T時間T3を開始する。T3の間、選択され
る乗数定数はk10であり、選択される乗数はb10i-1であ
る。乗数は7段レジスタ62の出力のTAP2が選択される。
高速加算器78がこの乗数及び被乗数に対し、累算和ワー
ドk10b10′i-1及びC′を発生する。T3の第1の部分の
間、全加算器44が累算桁上げワードk1Y1′i-1及びC′
を加算して、積k1Y1i-1を発生する。T3の第2の分の
間、値bi-2が2段レジスタ70のトツプのTAP3から抽出さ
れ、全加算器44の出力がそのB入力に入力される。その
結果が表1の式19の結果である。b2i-1である。これが
奇数T時間であるから、乗数の符号を負に変えて、減算
が行なわれる様にする。結果b2i-1を発生した後、それ
がマルチプレクサ50により、1段データ・レジスタ58の
入力に入力される。
次のT時間T4の間、kスタツク90の出力がEであり、マ
ルチプレクサの出力がEIiであつて、これは1段データ
・レジスタ66の出力でTAP1から選択されたものである。
高速加算器78がこの乗数及び被乗数に対する累算和及び
桁上げワードを発生するが、これは利用されず、T時間
T5に、利用されないので切捨てることの出来る値として
示されている。T4の間の全加算器44の加算動作の前半の
間、前以て計算されている値k10b10′i-1及びC′が加
算されて積k10b10i-1となり、これが全加算器44の入力
に入る。加算の後半の間、EIiの値が全加算器44のA入
力に入力されて、式(1)に従つてY10iを発生する。こ
の後、この値が1段データ・レジスタ58に入力される。
ルチプレクサの出力がEIiであつて、これは1段データ
・レジスタ66の出力でTAP1から選択されたものである。
高速加算器78がこの乗数及び被乗数に対する累算和及び
桁上げワードを発生するが、これは利用されず、T時間
T5に、利用されないので切捨てることの出来る値として
示されている。T4の間の全加算器44の加算動作の前半の
間、前以て計算されている値k10b10′i-1及びC′が加
算されて積k10b10i-1となり、これが全加算器44の入力
に入る。加算の後半の間、EIiの値が全加算器44のA入
力に入力されて、式(1)に従つてY10iを発生する。こ
の後、この値が1段データ・レジスタ58に入力される。
表5から判る様に、b1乃至b10の各々の値が、7段レジ
スタ62及び2段レジスタ70と組合せた1段レジスタ58で
遅延させられ、次のサンプル時間までの遅延を作る。こ
れを容易にする為、7段レジスタ62及び2段レジスタ70
を奇数クロツク時間TODDだけでインクレメントすること
が必要である。こういうことがアンド・ゲート250によ
つて容易になされる。このアンド・ゲートの出力が7段
レジスタ62及び2段レジスタ70の両方のクロツク入力に
接続されていて、その入力が奇数T時間T1乃至T21及び
低速クロツク信号SCに接続されている。奇数T時間を選
択する為、これらの信号が11入力オア・ゲート(図に示
していない)に入力され、その出力は奇数T時間だけを
表わす。
スタ62及び2段レジスタ70と組合せた1段レジスタ58で
遅延させられ、次のサンプル時間までの遅延を作る。こ
れを容易にする為、7段レジスタ62及び2段レジスタ70
を奇数クロツク時間TODDだけでインクレメントすること
が必要である。こういうことがアンド・ゲート250によ
つて容易になされる。このアンド・ゲートの出力が7段
レジスタ62及び2段レジスタ70の両方のクロツク入力に
接続されていて、その入力が奇数T時間T1乃至T21及び
低速クロツク信号SCに接続されている。奇数T時間を選
択する為、これらの信号が11入力オア・ゲート(図に示
していない)に入力され、その出力は奇数T時間だけを
表わす。
表5のTAP2及びTAP3の出力から判る様に、その内容は奇
数時間にだけ変化する。従つて、例えばT4に発生された
B値が1段レジスタ58によつて1クロツク・サイクルだ
け遅延させられ且つ7段レジスタ遅延装置62によつて14
クロツク・サイクルだけ遅延させられてから、T19の
間、7段レジスタ62の出力のTAP2に現われる。B値が発
生された後、前に計算されていて、1段レジスタ58及び
1段レジスタ66によつて2クロツク・サイクルだけ遅延
させられて、TAP1出力に現われるY値を利用して、Y値
が発生される。7段レジスタ62は奇数T時間にだけクロ
ツク動作をするので、Y値はその中にロードされない。
数時間にだけ変化する。従つて、例えばT4に発生された
B値が1段レジスタ58によつて1クロツク・サイクルだ
け遅延させられ且つ7段レジスタ遅延装置62によつて14
クロツク・サイクルだけ遅延させられてから、T19の
間、7段レジスタ62の出力のTAP2に現われる。B値が発
生された後、前に計算されていて、1段レジスタ58及び
1段レジスタ66によつて2クロツク・サイクルだけ遅延
させられて、TAP1出力に現われるY値を利用して、Y値
が発生される。7段レジスタ62は奇数T時間にだけクロ
ツク動作をするので、Y値はその中にロードされない。
T21に予め計算されているk1b1′i-1及びC′の値が、そ
のT時間の前半の間、全加算器44に入力されるT22ま
で、このプロセスが続けられる。T22の後半の間、Y2iを
1段レジスタ66の出力のTAP1から受取り、値k1b1i-1と
加算してY1iを発生する。この後、Y1iの値がYレジスタ
48にロードされる。b1がY1iに等しいから、正しい時刻
にb1を1段レジスタ58にロードすることが必要である。
これは、何の結果も出ないT5の間の加算動作の後に行な
われる。これによつて、Y10i値が入力された後に、前に
発生されたY1i値からのb1i-1値を入力することが出来
る。
のT時間の前半の間、全加算器44に入力されるT22ま
で、このプロセスが続けられる。T22の後半の間、Y2iを
1段レジスタ66の出力のTAP1から受取り、値k1b1i-1と
加算してY1iを発生する。この後、Y1iの値がYレジスタ
48にロードされる。b1がY1iに等しいから、正しい時刻
にb1を1段レジスタ58にロードすることが必要である。
これは、何の結果も出ないT5の間の加算動作の後に行な
われる。これによつて、Y10i値が入力された後に、前に
発生されたY1i値からのb1i-1値を入力することが出来
る。
T時間T1乃至T22の間の20個の式の処理の間、高速加算
器78及び全加算器44を効率よく利用して、他方が処理し
ている間、どちらが遊ぶこともない様にする。高速加算
器78は常に乗数及び被乗数を処理して累算和及び桁上げ
出力を発生し、その間全加算器44は、この結果得られた
席を被加数と加算する他に、前のT時間で発生された累
積和及び桁上げワードを常に加算している。表4に示す
様なデータの流れでは、22回の処理動作が必要である。
10KHzのサンプル時間では、各々のT時間の繰返し速度
は220KHzである。各々のT時間の間、高速加算器78に対
して4回のパスをしなければならないので、それに対し
ては880KHzの繰返し速度が必要である。全加算器44は所
定のT時間の間、2回の加算を処理し、この為440KHzの
繰返し速度を必要とする。こういう繰返し速度では、88
0KHzの繰返し速度に見合う応答時間を持つ高速加算器及
び440KHzに見合う応答時間を持つ全加算器を回路で実現
しさえすればよい。全加算器は、隣接ビツトの加算を通
じて桁上げを伝搬させなければならないので、高速加算
器に較べて、一層複雑である。全加算器による乗算を助
ける様な一層高い周波数の高速加算器を利用することに
より、所要の回路の製造が簡単になる。
器78及び全加算器44を効率よく利用して、他方が処理し
ている間、どちらが遊ぶこともない様にする。高速加算
器78は常に乗数及び被乗数を処理して累算和及び桁上げ
出力を発生し、その間全加算器44は、この結果得られた
席を被加数と加算する他に、前のT時間で発生された累
積和及び桁上げワードを常に加算している。表4に示す
様なデータの流れでは、22回の処理動作が必要である。
10KHzのサンプル時間では、各々のT時間の繰返し速度
は220KHzである。各々のT時間の間、高速加算器78に対
して4回のパスをしなければならないので、それに対し
ては880KHzの繰返し速度が必要である。全加算器44は所
定のT時間の間、2回の加算を処理し、この為440KHzの
繰返し速度を必要とする。こういう繰返し速度では、88
0KHzの繰返し速度に見合う応答時間を持つ高速加算器及
び440KHzに見合う応答時間を持つ全加算器を回路で実現
しさえすればよい。全加算器は、隣接ビツトの加算を通
じて桁上げを伝搬させなければならないので、高速加算
器に較べて、一層複雑である。全加算器による乗算を助
ける様な一層高い周波数の高速加算器を利用することに
より、所要の回路の製造が簡単になる。
乗数の値を選択する為、1段遅延装置130の入力又はそ
の出力の何れかから選択することが必要である。データ
が、ことごとくの奇数クロツク・サイクルで、11段レジ
スタ・スタツクであるkスタツク90内でクロツク動作さ
せられる。これを容易にする為、アンド・ゲート254の
入力が低速クロツク信号SC及び奇数T時間TODDに接続さ
れ、その出力がkスタツク90のクロツク入力に接続され
る。クロツク信号が線256を介して1段遅延装置130にも
供給される。1段遅延装置130が11番目の記憶段とな
る。kスタツク90内でのデータの順次進行が表6に示さ
れている。
の出力の何れかから選択することが必要である。データ
が、ことごとくの奇数クロツク・サイクルで、11段レジ
スタ・スタツクであるkスタツク90内でクロツク動作さ
せられる。これを容易にする為、アンド・ゲート254の
入力が低速クロツク信号SC及び奇数T時間TODDに接続さ
れ、その出力がkスタツク90のクロツク入力に接続され
る。クロツク信号が線256を介して1段遅延装置130にも
供給される。1段遅延装置130が11番目の記憶段とな
る。kスタツク90内でのデータの順次進行が表6に示さ
れている。
表6では、TAP1に対する1つとTAP2に対する1つの2つ
の出力がある。TAP1はデータ・バス92′のデータを表わ
し、TAP2はデータ・バス92″のデータを表わす。マルチ
プレクサ132,146が、下線を施した値で示す様に、デー
タを選択する。例えばT時間T22では、下線を施した値
で示す様に、Eの値がマルチプレクサ132,146によつて
選択されるが、T時間T1では、TAP2からk1の値が選択さ
れる。k1乃至k10の値が数値だけで示されている。T22及
びT1の間、kスタツク90はクロツク動作をせず、T1の間
に値が選択された後にクロツク動作をする。
の出力がある。TAP1はデータ・バス92′のデータを表わ
し、TAP2はデータ・バス92″のデータを表わす。マルチ
プレクサ132,146が、下線を施した値で示す様に、デー
タを選択する。例えばT時間T22では、下線を施した値
で示す様に、Eの値がマルチプレクサ132,146によつて
選択されるが、T時間T1では、TAP2からk1の値が選択さ
れる。k1乃至k10の値が数値だけで示されている。T22及
びT1の間、kスタツク90はクロツク動作をせず、T1の間
に値が選択された後にクロツク動作をする。
第8図には、2つの全加算器を用いたこの発明の別の実
施例が示されている。全加算器250が、そのA及びB入
力に2つのデイジタル信号を受取つて、その和を発生す
る為に設けられている。加算器250は、加数に関係する
式の一部分だけを実行するという点で、加算器44と同様
である。全加算器252が部分積を加算する為に設けられ
ている。加算器252のB入力がデータ・バス256を介して
マルチプレクサ254の出力に接続される。マルチプレク
サ254の入力がデータ・バス260を介してマルチプレクサ
258の出力に接続される。マルチプレクサ258は、マルチ
プレクサ254によつて部分積を発生する為に、マルチプ
レクサ254に入力する為の被乗数を選択する。
施例が示されている。全加算器250が、そのA及びB入
力に2つのデイジタル信号を受取つて、その和を発生す
る為に設けられている。加算器250は、加数に関係する
式の一部分だけを実行するという点で、加算器44と同様
である。全加算器252が部分積を加算する為に設けられ
ている。加算器252のB入力がデータ・バス256を介して
マルチプレクサ254の出力に接続される。マルチプレク
サ254の入力がデータ・バス260を介してマルチプレクサ
258の出力に接続される。マルチプレクサ258は、マルチ
プレクサ254によつて部分積を発生する為に、マルチプ
レクサ254に入力する為の被乗数を選択する。
リコード論理回路262の入力が2ビツト幅のデータ・バ
ス266を介してマルチプレクサ264の出力に接続されてい
る。マルチプレクサ264は4つの2ビツト入力を持つて
いて、kスタツク268から乗数を受取る。kスタツク268
は第2図のkスタツク90と同様である。kスタツク268
に入つているデータは、10ビツトの乗数ワードで構成さ
れ、これらがデータ・バス270を介してマルチプレクサ2
64に出力される。出力データ・バス270は、マルチプレ
クサ264の4つの入力及びリコード論理回路312の入力に
入力する為に、5つまでの別々の2ビツト・データ・バ
スに分割されている。マルチプレクサ264がタイミング
信号t1乃至t4によつて制御される。タイミング信号t1乃
至t4は前に述べた高速クロツク信号に対応する。
ス266を介してマルチプレクサ264の出力に接続されてい
る。マルチプレクサ264は4つの2ビツト入力を持つて
いて、kスタツク268から乗数を受取る。kスタツク268
は第2図のkスタツク90と同様である。kスタツク268
に入つているデータは、10ビツトの乗数ワードで構成さ
れ、これらがデータ・バス270を介してマルチプレクサ2
64に出力される。出力データ・バス270は、マルチプレ
クサ264の4つの入力及びリコード論理回路312の入力に
入力する為に、5つまでの別々の2ビツト・データ・バ
スに分割されている。マルチプレクサ264がタイミング
信号t1乃至t4によつて制御される。タイミング信号t1乃
至t4は前に述べた高速クロツク信号に対応する。
リコード論理回路312の出力がマルチプレクサ314を制御
して、部分積を発生する。マルチプレクサ314の入力が
シフト・ブロツク315を介してマルチプレクサ258の出力
に接続されている。
して、部分積を発生する。マルチプレクサ314の入力が
シフト・ブロツク315を介してマルチプレクサ258の出力
に接続されている。
リコード論理回路262,312が、マルチプレクサ254,314に
対する制御信号を出力する為の変形ブース演算子を発生
する。期間t1の間、第1及び第2の部分積が発生され、
期間t2乃至t4の間、残りの3つの部分積が発生される。
これらの各々の部分積が加算器252のB入力に逐次的に
入力される。この値が次にそのA入力に存在する累算和
と加算される。期間t1の間、加算器252のA入力に送ら
れた第1の部分積が、B入力に送られた第2の部分積と
加算される。
対する制御信号を出力する為の変形ブース演算子を発生
する。期間t1の間、第1及び第2の部分積が発生され、
期間t2乃至t4の間、残りの3つの部分積が発生される。
これらの各々の部分積が加算器252のB入力に逐次的に
入力される。この値が次にそのA入力に存在する累算和
と加算される。期間t1の間、加算器252のA入力に送ら
れた第1の部分積が、B入力に送られた第2の部分積と
加算される。
加算器252のA入力がデータ・バス275を介してマルチプ
レクサ274の出力に接続される。ASR2ブロツク316が加算
器252から出力される累算和に対して、2ビツトの算術
右シフトを行なう様に作用する。マルチプレクサ274の
一方の入力がマルチプレクサ314の出力に接続され、そ
の他方の入力がシフト形15ビツト・データ・バス276を
介して加算器252の出力に接続される。
レクサ274の出力に接続される。ASR2ブロツク316が加算
器252から出力される累算和に対して、2ビツトの算術
右シフトを行なう様に作用する。マルチプレクサ274の
一方の入力がマルチプレクサ314の出力に接続され、そ
の他方の入力がシフト形15ビツト・データ・バス276を
介して加算器252の出力に接続される。
乗算を行なう時、加算器252が最初に第1の部分積を第
2の部分積と加算し、次に発生された積を逐次的にマル
チプレクサ274にフイードバツクして、残りの部分積を
それと加算する。第4図の多重化回路について前に説明
した様に、マルチプレクサ254が、遂行すべき変形ブー
ス操作の関数としてデータ・ビツトを選択し、フイード
バツク・データ・バス276が2ビツトシフトした累算和
を供給する。期間t4の終りに、積が加算器252によつて
出力されて、15ビツト・データ・バス278を介して加算
器250のB入力に入る。この時、加算器250がそのB入力
の積をそのA入力の加数と加算する。この加数はマルチ
プレクサ280によつて選択され、それから15ビツト・デ
ータ・バス282を介して加算器250のA入力に出力され
る。
2の部分積と加算し、次に発生された積を逐次的にマル
チプレクサ274にフイードバツクして、残りの部分積を
それと加算する。第4図の多重化回路について前に説明
した様に、マルチプレクサ254が、遂行すべき変形ブー
ス操作の関数としてデータ・ビツトを選択し、フイード
バツク・データ・バス276が2ビツトシフトした累算和
を供給する。期間t4の終りに、積が加算器252によつて
出力されて、15ビツト・データ・バス278を介して加算
器250のB入力に入る。この時、加算器250がそのB入力
の積をそのA入力の加数と加算する。この加数はマルチ
プレクサ280によつて選択され、それから15ビツト・デ
ータ・バス282を介して加算器250のA入力に出力され
る。
加算器250の出力がデータ・バス284に接続され、このバ
スが9段のBスタツク286に入力する。Bスタツク286
は、その中に記憶されるデータを遅延させる為に用いら
れる先入れ先出し形のデータ・レジスタのスタツクであ
る。Bスタツク286の出力が被乗数として、データ・バ
ス288からマルチプレクサ258に入力されると共に、加数
としてデータ・バス290を介してマルチプレクサ280に入
力される。Bスタツク286の出力は、Y1値を記憶する為
に、データ・バス294を介してY1レジスタ292の入力に接
続される。
スが9段のBスタツク286に入力する。Bスタツク286
は、その中に記憶されるデータを遅延させる為に用いら
れる先入れ先出し形のデータ・レジスタのスタツクであ
る。Bスタツク286の出力が被乗数として、データ・バ
ス288からマルチプレクサ258に入力されると共に、加数
としてデータ・バス290を介してマルチプレクサ280に入
力される。Bスタツク286の出力は、Y1値を記憶する為
に、データ・バス294を介してY1レジスタ292の入力に接
続される。
データ・バス284がデータ・バス298を介して7段遅延ス
タツク296に接続される。7段遅延スタツク296の出力が
データ・バス300を介してマルチプレクサ258の一方の入
力に接続され、被乗数として遅延したB値を供給する。
1段遅延装置302の入力が7段遅延スタツク296の出力に
接続されていて、データに対して更に1段の遅延を加え
る。1段遅延装置302の出力がマルチプレクサ258の入力
に接続され、被乗数として遅延したY値を供給する。上
に述べた被乗数の他に、Y1レジスタ292の出力もデータ
・バス306を介してマルチプレクサ258の入力に接続され
て、被乗数としてY1値を供給する。マルチプレクサ280
がデータ・バス308を介してY1レジスタ292の出力に接続
され、被乗数としてY1値を供給すると共に、“0"値のワ
ードにも接続されている。
タツク296に接続される。7段遅延スタツク296の出力が
データ・バス300を介してマルチプレクサ258の一方の入
力に接続され、被乗数として遅延したB値を供給する。
1段遅延装置302の入力が7段遅延スタツク296の出力に
接続されていて、データに対して更に1段の遅延を加え
る。1段遅延装置302の出力がマルチプレクサ258の入力
に接続され、被乗数として遅延したY値を供給する。上
に述べた被乗数の他に、Y1レジスタ292の出力もデータ
・バス306を介してマルチプレクサ258の入力に接続され
て、被乗数としてY1値を供給する。マルチプレクサ280
がデータ・バス308を介してY1レジスタ292の出力に接続
され、被乗数としてY1値を供給すると共に、“0"値のワ
ードにも接続されている。
表1の式(1)乃至(20)のY値及びB値を計算する
際、所定の値に対する乗算が、任意の加算と同時に行な
われる。一旦積が発生されると、それが加算器250の入
力に入力され、その後次の積の計算が開始される。積を
計算する間、前の積が選ばれた加数と加算されて、所望
のY値又はB値を発生する。従つて、加算器250は加算
器252の1/4の速度で動作する。これは、加算器252では
4つの和が発生されるのに対し、所定の計算の間、加算
器250では1つの和しか発生されないからである。
際、所定の値に対する乗算が、任意の加算と同時に行な
われる。一旦積が発生されると、それが加算器250の入
力に入力され、その後次の積の計算が開始される。積を
計算する間、前の積が選ばれた加数と加算されて、所望
のY値又はB値を発生する。従つて、加算器250は加算
器252の1/4の速度で動作する。これは、加算器252では
4つの和が発生されるのに対し、所定の計算の間、加算
器250では1つの和しか発生されないからである。
第8図のシステムに於けるデータの流れを更に明瞭に記
述する為に、種々のT時間の間に存在するデータが表7
に示されている。
述する為に、種々のT時間の間に存在するデータが表7
に示されている。
表7では、表1の式(1)乃至(20)を計算するのに必
要な20個のT時間T1乃至T20がある。T時間T1に、k7の
値がkスタツク268の出力に存在し、遅延スタツクのTAP
2から供給されるY7i-1がマルチプレクサ258によつて選
択される。これが“Mc"と記した列を示されており、被
乗数を表わす。T1の間、積が発生されて、T時間T2及び
t1の間、加算器250のB入力に入力される。発生された
積はk7Y7i-1であり、これがB値の計算に使われる。
要な20個のT時間T1乃至T20がある。T時間T1に、k7の
値がkスタツク268の出力に存在し、遅延スタツクのTAP
2から供給されるY7i-1がマルチプレクサ258によつて選
択される。これが“Mc"と記した列を示されており、被
乗数を表わす。T1の間、積が発生されて、T時間T2及び
t1の間、加算器250のB入力に入力される。発生された
積はk7Y7i-1であり、これがB値の計算に使われる。
T時間T2の間、加算器250のB入力にある積k7Y7i-1がマ
ルチプレクサ282によつて選択された加数と加算され
る。加数はbスタツク286の一番上にあるb7i-2である。
この動作は加算であり、その結果はb8i-1であり、これ
が次に続くT時間T3の間、加算器250の出力に現われ
る。b2i-1までの残りのB値を計算する為、bスタツク
の一番上から加数が選択され、被乗数が1段遅延装置30
2から選択される。然し、T時間T8の間、b1i-2がY1i-1
に等しく、Y1レジスタ292の出力から選択される。
ルチプレクサ282によつて選択された加数と加算され
る。加数はbスタツク286の一番上にあるb7i-2である。
この動作は加算であり、その結果はb8i-1であり、これ
が次に続くT時間T3の間、加算器250の出力に現われ
る。b2i-1までの残りのB値を計算する為、bスタツク
の一番上から加数が選択され、被乗数が1段遅延装置30
2から選択される。然し、T時間T8の間、b1i-2がY1i-1
に等しく、Y1レジスタ292の出力から選択される。
B値を計算した後、T時間T9の間、bスタツク286に記
憶されているEIiの値を用いて、Y10iの値が計算され
る。その後、Y値が計算される。Y値を計算する間、b
スタツク286はシフトせず、被乗数は7段遅延装置296の
一番上から出て来るTAP1から選択される。これは遅延さ
せたB値で構成される。加数は前に計算したY値であ
り、これがデータ・バス310を介してマルチプレクサ280
に入力される。Y1iの値を計算するT時間T18まで、各々
のY値が計算される。この値がT20の初めにbスタツク2
86にクロツク動作で入り、最終的にT9の時にY1レジスタ
292にロードされる。更に、T時間T19の間にEIi+1の値
が計算され、bスタツク286に記憶される。
憶されているEIiの値を用いて、Y10iの値が計算され
る。その後、Y値が計算される。Y値を計算する間、b
スタツク286はシフトせず、被乗数は7段遅延装置296の
一番上から出て来るTAP1から選択される。これは遅延さ
せたB値で構成される。加数は前に計算したY値であ
り、これがデータ・バス310を介してマルチプレクサ280
に入力される。Y1iの値を計算するT時間T18まで、各々
のY値が計算される。この値がT20の初めにbスタツク2
86にクロツク動作で入り、最終的にT9の時にY1レジスタ
292にロードされる。更に、T時間T19の間にEIi+1の値
が計算され、bスタツク286に記憶される。
<効果> 要約すれば、10段のラテイスフイルタでデータを処理す
る方法と装置を提供した。速度を高める為、乗算の部分
積を、桁上げビツトを伝搬させずに、桁上げビツトを累
算する高速加算器を用いて加算する。加算される部分積
は、次のT時間の乗算に対するものである。全加算器を
用いて、前のT時間からの高速加算器の結果を用いて積
を発生する。その後、この積が全加算器で加数と加算さ
れ、所定の式に対する追加の加算又は減算を行なう。高
速加算器が全加算器と同時に動作し、どの期間でも、ど
ちらも遊んでいないようにする。この様にして、全加算
器は高速加算器の速度の端数の速度で動作すればよく、
それ程複雑でない回路で済む。
る方法と装置を提供した。速度を高める為、乗算の部分
積を、桁上げビツトを伝搬させずに、桁上げビツトを累
算する高速加算器を用いて加算する。加算される部分積
は、次のT時間の乗算に対するものである。全加算器を
用いて、前のT時間からの高速加算器の結果を用いて積
を発生する。その後、この積が全加算器で加数と加算さ
れ、所定の式に対する追加の加算又は減算を行なう。高
速加算器が全加算器と同時に動作し、どの期間でも、ど
ちらも遊んでいないようにする。この様にして、全加算
器は高速加算器の速度の端数の速度で動作すればよく、
それ程複雑でない回路で済む。
好ましい実施例を詳しく説明したが、特許請求の範囲に
よつて限定されたこの発明の範囲内で、この実施例に種
々の変更を加えることが出来ることは云うまでもない。
よつて限定されたこの発明の範囲内で、この実施例に種
々の変更を加えることが出来ることは云うまでもない。
第1図は10段格子形フイルタの機能的なブロツク図で、
遂行される演算の順序を示す。第2図は高速加算器及び
全加算器を用いて乗算工程及び加算工程を実施するシス
テムの簡略ブロツク図、第3図は変形ブース演算子を発
生する為に用いられるリコード論理回路の簡略ブロツク
図、第4図は高速加算器に付設されるマルチプレクサの
簡略ブロツク図、第5図はビツト補正論理回路の簡略ブ
ロツク図、第6図は第5図のビツト補正論理回路の回路
図、第7図は高速クロツク及び低速クロツクを発生する
為のタイミング回路のブロツク図、第8図は2個の全加
算器を有するシステムのブロツク図である。
遂行される演算の順序を示す。第2図は高速加算器及び
全加算器を用いて乗算工程及び加算工程を実施するシス
テムの簡略ブロツク図、第3図は変形ブース演算子を発
生する為に用いられるリコード論理回路の簡略ブロツク
図、第4図は高速加算器に付設されるマルチプレクサの
簡略ブロツク図、第5図はビツト補正論理回路の簡略ブ
ロツク図、第6図は第5図のビツト補正論理回路の回路
図、第7図は高速クロツク及び低速クロツクを発生する
為のタイミング回路のブロツク図、第8図は2個の全加
算器を有するシステムのブロツク図である。
Claims (9)
- 【請求項1】各々の演算が乗数と被乗数の積を発生する
乗算及びそれに引続いて行なわれる前記積と加数との加
算工程で構成されて累積結果を発生する様な一連のディ
ジタル演算を線形予測符号化法に従って処理する為のデ
ィジタルラティスフィルタに於て、乗数を所定のパター
ンで記憶する乗数記憶手段と、演算パラメータを受取っ
て記憶し、所定の遅延時間の後に前記演算パラメータを
供給する遅延記憶手段とを有し、前記演算パラメータは
前記乗数との乗算の為の被乗数及び加算の為の加数で構
成されており、前記被乗数を前記遅延記憶手段から検索
すると共に前記乗数を前記乗数記憶手段から検索して、
その部分積を所定の乗算アルゴリズムに従い発生する部
分積手段と、前記部分積手段から前記部分積を受取り、
累算和出力上に該部分積のビットの累算和を発生し、並
びに累算桁上げ出力上に前記部分積のビットの累算桁上
げを発生する高速加算器手段と、第1及び第2の入力を
有し、入力した2つのディジタル値を加算して出力する
全加算器手段と、前記高速加算器手段から出力された累
算和ワード及び累算桁上げワードを前記全加算器手段の
前記第1及び第2の入力に多重化して、前記演算のため
に前記被乗数及び乗数の前記積の和を発生するととも
に、前記発生された積との前記和を発生するための加算
の為に前記遅延記憶手段からの前記加数を前記全加算器
手段の入力に多重化して処理中の演算に対する結果を発
生する多重化手段と、前記高速加算器手段、前記部分積
手段及び前記多重化手段の動作を制御して、各サイクル
が当該ディジタル格子形フィルタの1段である様なサイ
クルに分けて、前記一連の演算を処理するタイミング手
段を有し、前記高速加算器手段は、前記全加算器手段が
所定の演算の結果を発生している間に、次に続く演算に
対し複数回繰り返される部分積の加算を行なって累算和
及び桁上げワードを発生し、前記遅延記憶手段が、その
入力が前記全加算器手段の出力に接続され、受取ったデ
ータを第1の所定のサイクル数遅延して出力する第1の
レジスタ・スタックと、その入力が前記全加算器手段の
出力に接続され、受取ったデータを第2の所定のサイク
ル数遅延して出力する第2のレジスタ・スタックとを有
し、前記第1及び第2のレジスタ・スタックの出力が前
記部分積手段及び前記多重化手段に接続され、前記演算
パラメータが線形予測符号化法に従って前記第1及び第
2の遅延スタックから出力されることにより被乗数又は
加数の何れかを供給し、前記多重化手段が、前記全加算
器手段の第1の入力に接続された出力及び前記全加算器
手段の出力に選択的に接続された2つの入力を持ってい
てその一方の入力が前記高速加算器手段の累算和出力に
接続され且つ他方の入力が前記遅延記憶手段の出力に接
続されていて加数を受取る第1のマルチプレクサと、前
記全加算器手段の第2の入力に接続された出力及び前記
全加算器手段の出力に選択的に接続された2つの入力を
持っていて、その一方の入力が前記高速加算器手段の累
算桁上げ出力に接続され且つ他方の入力が前記全加算器
手段の和出力に接続されていて和の結果をフィードバッ
クする第2のマルチプレクサとを有し、前記タイミング
手段は、前記高速加算器手段による部分積の各々の加算
のための時間を決定する為の時間ベースとなる高速クロ
ックと、前記タイミング手段のサイクルに対応し各々の
演算を遂行する為の時間を決定する低速クロックと、該
低速クロックの各サイクルの間に2回の加算を行なう為
に前記加算器手段による加算のための時間を決定する加
算クロックとで構成されているディジタルラティスフィ
ルタであって、前記乗数記憶手段及び前記遅延記憶手段
の動作を制御して、関連した演算に対する乗数、被乗数
及び加数をそれらの出力に発生するとともに、線形予測
符号化法に従って、前記遅延記憶手段に記憶されている
パラメータの内のどれが前記被乗数又は加数となるかを
決定し、更に、演算結果を演算パラメータとして前記遅
延記憶手段に入力する手段と、前記一連の演算で行なわ
れた最後の演算に対して前記全加算器手段から出力され
た最終的な結果を記憶するレジスタ手段とを有するディ
ジタルラティスフィルタ。 - 【請求項2】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、更に、前記加数が前記積に
加算される時に行なわれるべき減算を反映する様に前記
発生された積の符号を変更する手段を有するディジタル
ラティスフィルタ。 - 【請求項3】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、前記乗数記憶手段が、処理
される演算の各々の順序に従って所定の乗数を順次与え
る為の回転式データ・レジスタで構成されているディジ
タルラティスフィルタ。 - 【請求項4】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、前記高速加算器手段が、並
列の一連に1ビット加算器を持つ高速加算器で構成され
ていて、個々のビットを加算すると共に、加算される各
ビットにわたって桁上げ伝搬させずに、加算される部分
積の個々のビットの各々に対して別々の桁上げビットを
発生するディジタルラティスフィルタ。 - 【請求項5】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、前記所定の乗算アルゴリズ
ムは変形ブースアルゴリズムであって、前記部分積手段
が、前記乗数を受取って発生された部分積に関連する変
形ブース演算子を発生するリコード論理回路と、各々の
部分積に関連して発生された変形ブース演算子に従って
前記被乗数を予定のビット数だけシフトする手段と、前
記発生されたブース演算子が2の補数の発生を要求する
とき前記発生された変形ブース演算子に応答して前記被
乗数の2の補数を発生する手段とで構成されているディ
ジタルラティスフィルタ。 - 【請求項6】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、前記全加算器手段がディジ
タル全加算器で構成されるディジタルラティスフィル
タ。 - 【請求項7】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、前記乗数記憶手段に記憶さ
れている乗数の値を変更する手段を有するディジタルラ
ティスフィルタ。 - 【請求項8】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、前記高速加算器手段が3入
力高速加算器及び第1のスイッチを有し、該高速加算器
は3つのディジタル値の個々のビットを加算して各々の
個別ビットの和を表わすビットを持つ和ワードを一方の
出力に発生すると共に各々の個別ビットの桁上げを表わ
す桁上げワードを他方の出力に発生し、前記高速加算器
はその第1の入力が前記部分積手段の出力に接続され、
2番目及び残りの部分積を受取り、前記第1のスイッチ
は前記高速加算器の第2の入力に接続された出力と前記
高速加算器の出力に選択的に接続される3つの入力とを
有しその第1の入力が前記部分積手段の出力に接続され
ていて、該部分積手段によって発生された1番目の部分
積を受取り、且つその第2の入力が前記高速加算器の累
算和出力に接続されており、前記高速加算器の桁上げ出
力がその第3の入力に接続されていて、累算桁上げワー
ドを前記部分積手段によって発生された部分積と加算す
るディジタルラティスフィルタ。 - 【請求項9】特許請求の範囲第1項に記載したディジタ
ルラティスフィルタに於て、累算和ワード及び累算桁上
げワードの両方に対し、前記高速加算器手段から出力さ
れるディジタル・ワードの長さを短縮する為に、前記部
分積手段によって発生される部分積を丸める手段と、丸
め誤差を修正する為に、累算和及び桁上げワードを前記
全加算器手段で加算した結果を補正する手段とを有する
ディジタルラティスフィルタ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/646,381 US4740906A (en) | 1984-08-31 | 1984-08-31 | Digital lattice filter with multiplexed fast adder/full adder for performing sequential multiplication and addition operations |
| US646381 | 1984-08-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61129917A JPS61129917A (ja) | 1986-06-17 |
| JPH0793549B2 true JPH0793549B2 (ja) | 1995-10-09 |
Family
ID=24592820
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60190003A Expired - Lifetime JPH0793549B2 (ja) | 1984-08-31 | 1985-08-30 | 線形予測符号化法に従って一連の演算を処理するディジタルラティスフィルター |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4740906A (ja) |
| JP (1) | JPH0793549B2 (ja) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5251284A (en) * | 1986-03-07 | 1993-10-05 | Adler Research Associates | Optimal parametric signal processor with lattice basic cell |
| US5237642A (en) * | 1986-03-07 | 1993-08-17 | Adler Research Associates | Optimal parametric signal processor |
| US5315687A (en) * | 1986-03-07 | 1994-05-24 | Adler Research Associates | Side fed superlattice for the production of linear predictor and filter coefficients |
| US5265217A (en) * | 1987-03-03 | 1993-11-23 | Adler Research Associates | Optimal parametric signal processor for least square finite impulse response filtering |
| US5155771A (en) * | 1988-03-11 | 1992-10-13 | Adler Research Associates | Sparse superlattice signal processor |
| US5457805A (en) * | 1992-06-30 | 1995-10-10 | Nec Corporation | Microcomputer enabling high speed execution of product-sum operation |
| JP3608970B2 (ja) * | 1999-03-16 | 2005-01-12 | 富士通株式会社 | 論理回路 |
| US7043517B2 (en) * | 2003-03-07 | 2006-05-09 | Faraday Technology Corp. | Multiply accumulator for two N bit multipliers and an M bit addend |
| US20060277243A1 (en) * | 2005-06-02 | 2006-12-07 | International Business Machines Corporation | Alternate representation of integers for efficient implementation of addition of a sequence of multiprecision integers |
| US7319578B2 (en) * | 2005-06-08 | 2008-01-15 | International Business Machines Corporation | Digital power monitor and adaptive self-tuning power management |
| US10305451B1 (en) * | 2017-12-12 | 2019-05-28 | Texas Instruments Incorporated | Multiplier-based programmable filters |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4209844A (en) * | 1977-06-17 | 1980-06-24 | Texas Instruments Incorporated | Lattice filter for waveform or speech synthesis circuits using digital logic |
| US4344148A (en) * | 1977-06-17 | 1982-08-10 | Texas Instruments Incorporated | System using digital filter for waveform or speech synthesis |
| IT1165641B (it) * | 1979-03-15 | 1987-04-22 | Cselt Centro Studi Lab Telecom | Sintetizzatore numerico multicanale della voce |
| JPS55164700U (ja) * | 1979-05-14 | 1980-11-26 | ||
| GB2056821B (en) * | 1979-06-25 | 1983-10-12 | Matsushita Electric Industrial Co Ltd | Digital filter |
| US4392018A (en) * | 1981-05-26 | 1983-07-05 | Motorola Inc. | Speech synthesizer with smooth linear interpolation |
| US4443859A (en) * | 1981-07-06 | 1984-04-17 | Texas Instruments Incorporated | Speech analysis circuits using an inverse lattice network |
| JPS6054680B2 (ja) * | 1981-07-16 | 1985-11-30 | カシオ計算機株式会社 | Lsp音声合成装置 |
| US4398262A (en) * | 1981-12-22 | 1983-08-09 | Motorola, Inc. | Time multiplexed n-ordered digital filter |
| US4554858A (en) * | 1982-08-13 | 1985-11-26 | Nippon Gakki Seizo Kabushiki Kaisha | Digital filter for an electronic musical instrument |
| US4597053A (en) * | 1983-07-01 | 1986-06-24 | Codex Corporation | Two-pass multiplier/accumulator circuit |
-
1984
- 1984-08-31 US US06/646,381 patent/US4740906A/en not_active Expired - Lifetime
-
1985
- 1985-08-30 JP JP60190003A patent/JPH0793549B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US4740906A (en) | 1988-04-26 |
| JPS61129917A (ja) | 1986-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4689762A (en) | Dynamically configurable fast Fourier transform butterfly circuit | |
| JP2511914B2 (ja) | 複素乗算器及び複素乗算方法 | |
| JPH0793549B2 (ja) | 線形予測符号化法に従って一連の演算を処理するディジタルラティスフィルター | |
| JPH1195981A (ja) | 乗算回路 | |
| JP2576647B2 (ja) | 波形発生装置 | |
| JPH08508857A (ja) | 転置ディジタルfirフィルターにおいて、2進入力信号にタップ係数を乗ずるための方法および配列ならびに転置ディジタルフィルターを設計するための方法 | |
| US4695970A (en) | Linear predictive coding technique with interleaved sequence digital lattice filter | |
| EP0197122A1 (en) | CELLULAR SLIDING COMMUNICATION MULTIPLIER WITH SERIAL CONVEYOR OPERATION. | |
| US3816732A (en) | Apparatus and method for serial-parallel binary multiplication | |
| US5164724A (en) | Data format converters for use with digit-serial signals | |
| US5016011A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
| JPH04205026A (ja) | 除算回路 | |
| US4686644A (en) | Linear predictive coding technique with symmetrical calculation of Y-and B-values | |
| JPH08221256A (ja) | 乗算器及び積和演算装置 | |
| US5034908A (en) | Digit-serial transversal filters | |
| US5025257A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
| US5477479A (en) | Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm | |
| US5781462A (en) | Multiplier circuitry with improved storage and transfer of booth control coefficients | |
| US4700323A (en) | Digital lattice filter with multiplexed full adder | |
| US4796216A (en) | Linear predictive coding technique with one multiplication step per stage | |
| JPH0782341B2 (ja) | 電子楽器 | |
| US4942396A (en) | To-digit-serial converters for systems processing data in digit-serial format | |
| JP2864598B2 (ja) | ディジタル演算回路 | |
| JPS60254372A (ja) | 積和演算装置 | |
| JP3041563B2 (ja) | 有限インパルス応答フィルタ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |