JP3120435B2 - ディジタル演算回路 - Google Patents

ディジタル演算回路

Info

Publication number
JP3120435B2
JP3120435B2 JP02122654A JP12265490A JP3120435B2 JP 3120435 B2 JP3120435 B2 JP 3120435B2 JP 02122654 A JP02122654 A JP 02122654A JP 12265490 A JP12265490 A JP 12265490A JP 3120435 B2 JP3120435 B2 JP 3120435B2
Authority
JP
Japan
Prior art keywords
data
supplied
unit
circuit
cycles
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
Application number
JP02122654A
Other languages
English (en)
Other versions
JPH0418809A (ja
Inventor
清一郎 岩瀬
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 JP02122654A priority Critical patent/JP3120435B2/ja
Publication of JPH0418809A publication Critical patent/JPH0418809A/ja
Application granted granted Critical
Publication of JP3120435B2 publication Critical patent/JP3120435B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ディジタルフィルタ等で必要な積和演算
に対して適用できるディジタル演算回路に関する。
〔従来の技術〕
半導体微細加工技術は、近年着実に進歩を遂げてお
り、例えば並列乗算器においては、その上限の動作周波
数(演算繰り返し周波数)が年々上昇してきた。画像信
号例えば標準テレビジョン信号をディジタル処理する場
合、4fsc(NTSC方式で、14.32MHz)のサンプリング周波
数で動作するディジタル演算回路が容易に入手できるよ
うになってきている。従って、ディジタル画像信号の処
理で、演算回路が時分割多重で使用されることが多くな
るものと推測される。しかしながら、時分割多重動作の
典型であるストアドプログラム方式で使用可能なほど演
算速度が速くないのが現状であり、また、そのような高
速な演算回路が近い将来に実現できることは期待できな
い。
ストアドプログラム方式の場合では、1サンプリング
周期の1/100程度の時間で一つの演算を行なえる必要が
ある。つまり、リアルタイム処理のためには、次のサン
プルデータが来る前に処理を終えていなければならな
い。現状及び近い将来では、演算速度が1サンプル周期
で数サイクルから数十サイクル程度の演算ができる程度
である。
並列乗算器は、複数個の加算器を並べたものであり、
その加算器は、1ビット全加算器を並べたものである。
単位の回路が小さいほど、演算繰り返し周波数を高くす
ることができる。従って、小さな規模の回路を使用して
時分割処理を行い、大きな規模の回路と同様の機能を実
現することは、演算速度を速くする点で有効である。
一度の処理と時分割処理との何れが有利かを検討する
時に、データの語長が8ビット、12ビット、16ビット或
いは20ビットの場合が一般に多いので、データの各ビッ
トを直列処理するビット直列処理がかかる検討に適して
いる。つまり、10ビットの加算を行う例では、10ビット
の加算回路では、演算処理が1サイクルで済むが、フル
アダーが10個必要であり、一方、ビット直列処理では、
演算処理が10サイクル必要であるが、1個のフルアダー
で構成できる。また、部分積が10個ある乗算を行う場
合、並列乗算器では、1サイクルで乗算結果を得ること
ができるが、10ビットの加算回路が10個(1ビットのフ
ルアダーが100個)必要であり、一方、ビット直列処理
では、一つのビットの加算回路を使用する時で10サイク
ル必要であり、一つの1ビット加算回路を使用する時で
100サイクル必要である。
これらの複数の演算回路の構成の中で、データの周期
を演算器の動作時間で除算した比がサイクル数に等しい
関係にある回路構成が効率的である。最近の演算回路
は、テレビジョン信号のディジタル処理を行う時に、1
サンプリング周期で数十サイクルの演算が可能なので、
ビット直列処理或いはそれに準じた方式の演算回路が回
路規模を小さくする上で有利である。
しかし、一つの目的の演算単位を実現するために、用
意した回路単位を複数サイクル繰り返し動作させるビッ
ト直列処理は、サイクル数に余裕が持たせることで、語
長の違いにフレキシブルに対応することができる反面、
冗長なサイクルが生じやすい問題がある。例えば乗算或
いは加算を行う都度、入力或いは出力の語長が変わるシ
ステムを構成する時に、その各部がビット直列処理をし
ている時には、最も長い語長の処理の所で必要なサイク
ル数がデータの速度の上限を規定し、他の所には、多く
の冗長サイクルが存在する結果となる。或いは上述のよ
うに規定されるデータの速度の限界が処理したいデータ
の速度より遅い問題が生じるおそれがある。この場合の
適当な解決方法が望まれる。
より具体的にディジタルフィルタの例に説明する。n
タップ例えば4タップのFIRディジタルフィルタは、例
えば第9図に示すように、入力系列をxiとし、出力系列
をyiとし、インパルス応答(係数)をh0〜hn-1とする
時、 なる演算を行うものである。第9図では、4個の単位遅
延素子からなるシフトレジスタ部のタップから取り出さ
れたデータが乗算器に供給され、乗算器で係数h0,h1,
h2,h3が乗じられる。乗算器の出力が加算トリーで加算
され、出力データyiが得られる。このフィルタ演算をビ
ット直列処理の演算回路で実現することを考える。この
演算回路の概略は、第10図に示すように、シフトレジス
タ11と累加算器12とで構成されたものである。シフトレ
ジスタ11は、被乗数である入力データxiが供給されると
共に、予めその上位ビットにMSBを拡張したものであ
る。シフトレジスタ11は、部分積を生成するため、サイ
クル毎に図のように、左にシフトされる。部分積は、xi
(乗数のビットが“1"(論理値)の時)又は“0"(論理
値)(乗数のビットが“0"の時)である。この部分積が
累加算器12で累算される。乗数(即ち、係数)がBビッ
トの時には、一つの乗算でB個の部分積が生成されの
で、Bサイクルが必要とされる。若し、ブースのアルゴ
リズムを使用すれば、必要なサイクル数が1/2Bとなる。
例えば4タップのディジタルフィルタの場合、第11図
に示すように、連続する4個のデータについてたたみ込
み演算をする操作を入力データ毎にする必要がある。一
つの演算結果(出力データ)を得るためには、第10図に
示す回路にBサイクル毎に次のデータを与え、累加算器
12で全ての部分積を累算するので、nタップのFIRフィ
ルタの場合で、(n×B)サイクルが必要である。被乗
算の語長をB′と表すと、乗算結果が(B+B′−1)
ビット(2′コンプリメンタリコードの場合)であり、
nタップ分の加算でlog2nビットが増えるので、(B+
B′−1+log2n)ビット以上の語長を累加算器12が持
つことが必要である。
入力データの周期をTと表すと、(B×n)サイクル
がTの間に繰り返すことが可能なほど、演算速度が速け
れば問題はない。そうでないときには、第10図の単位演
算回路の並列化が必要となり、並列化された回路を効率
良く動作させねばならない。その方法として、単位演算
回路に周期T内にできうる限りの処理を行わせて、その
周期で一旦累加算を終了させる方法と、周期Tより長く
かかっても良いからひとまとまりの演算操作を終了させ
てしまう方法とが考えられる。前者の方法は、出力の演
算がまた必要となるので、好ましくない。そこで、第10
図に示すような単位演算回路の夫々にひとかたまりの演
算操作、ここでは一つのディジタルフィルタの演算結果
を得る(B×n)(ブースのアルゴリズムでは1/2B×
n、以下、同様である。)サイクルの演算操作を行う場
合で、そのサイクル数に要する時間がデータの周期を超
える場合を前提とする。
一例として、6タップのディジタルフィルタの演算を
行う場合で、第12図に示すように、処理すべき入力デー
タの周期が演算周期(クロックの周期)の10倍の場合を
考える。言い換えると、10クロック毎に新たなデータが
来る。この入力データの内容は、時系列に従って増大す
る番号で表わされている。(B×n)のサイクル数が10
を超えるものとする。若しそうでなければ、一つの単位
演算回路で処理が可能となり、並列化の必要が生じな
い。また、(B×n)が60以下と仮定する。この設定か
ら6個の単位演算回路を用意すれば、処理が必ず可能で
ある。つまり、一つのデータに関して単位演算回路が10
サイクルの演算をできるので、6個の単位回路で合計で
60サイクルの演算をできる。
第13図は、6個の単位演算回路P1〜P6を使用し、入力
データをレジスタR1〜R6の直列接続に供給し、各レジス
タR1〜R6の出力データを単位演算回路P1〜P6に夫々供給
する構成である。第12図に示すように、レジスタR1〜R6
の夫々により入力データが1周期遅延される。従って、
第12図で矢印で示す6周期の時間範囲13では、単位演算
回路P6には、データ1からデータ6迄、単位演算回路P5
には、データ2からデータ7迄、・・・・・、単位演算
回路P1には、データ6からデータ11迄が順次与えられて
フィルタ演算がなされる。この矢印の時間範囲13には、
6個のデータと60個のクロックサイクルが含まれる。こ
の第13図の回路構成により、第11図と同様のフィルタ演
算を行うことができる。
〔発明が解決しようとする課題〕
第13図の構成で、第12図に示すタイミングのように動
作できるのは、B(或いは1/2B)が10以下で、若し、B
サイクルの後にサイクルが余っていても、その余ったサ
イクルでは、何の処理もされない。従って、冗長なサイ
クルが生じやすい。加えて、並列接続される単位演算回
路の個数とフィルタのタップ数とを一致させる必要があ
り、汎用性が乏しい。
より一般的に述べると、単位演算回路の個数をMと
し、データ周期と演算周期の比をr(小数点以下を切り
捨てて整数とする)とすると、データ周期の1/rの演算
周期を持つ単位演算回路をM個並列に接続した構成は、
1データ当りでM・rサイクルのリアルタイム処理が可
能である。上述のように、FIRディジタルフィルタに応
用することを想定し、そのタップ数をnとし、係数の語
長をBとする。この処理に必要なデータ当りのサイクル
数は、n・Bである。従って、(M・r≧n・B)が満
足されるのであれば、処理できるはずであるが、第13図
の構成は、(M=n)で(B≦10)の条件が満たされる
場合にしか処理ができない。
従って、この発明の目的は、演算回路が遊んでいる無
駄なサイクルを減少でき、また、語長、タップ数、及び
並列数がフレキシブルなディジタル演算回路を提供する
ことにある。
〔課題を解決するための手段〕
この発明は、乗数の語長をBとし、タップ数をnと
し、入力データの1周期に対する単位演算回路の演算周
期の比をrとする時に、(r<B×n)または(r<
(1/2)B×n)の関係が存在するために、M個の単位
演算回路によって、並列的に入力データのフィルタ演算
を行うようにしたディジタル演算回路において、 入力データが供給され、時間軸圧縮処理によって、M
個の入力データに対してn個のデータを繰り返して出力
するバッファメモリと、 バッファメモリの出力側に接続されたM段のシフトレ
ジスタと、 シフトレジスタのタップからのデータを被乗数とし、
乗数をビット直列で乗算し、(B×n)または((1/
2)B×n)サイクルでひとかたまりの演算操作を行う
M個の単位演算回路と、 ひとかたまりの演算操作の開始タイミング毎に、シフ
トレジスタのタップから単位演算回路に対してそれぞれ
供給されるデータを以前のタイミングの内容に設定する
ための手段と、 M個の単位演算回路の出力が供給される出力回路とか
らなることを特徴とするディジタル演算回路である。
〔作用〕
バッファメモリBMとレジスタQ1〜Q6とにより、シフト
レジスタR1〜R6の内容をひとかたまりの演算に必要なデ
ータに設定できる。従って、並列化された単位演算回路
を効率良く働かせることができ、また、語長、タップ
数、並列数の制約を少なくできる。
〔実施例〕
以下、この発明について、下記の順序に従って説明す
る。
a.一実施例及び他の実施例 b.出力回路 c.更に他の実施例 d.変形例 a.一実施例及び他の実施例 この発明の一実施例を示す第1図においてBMは、入力
データが供給されるバッファメモリである。バッファメ
モリBMは、入力データ列を繰り返して出力することを可
能とするために設けられており、バッファメモリBMで
は、処理すべき入力データ列を(6:10)のデータレート
の比に変換した出力データを発生する。バッファメモリ
BMとしては、プログラマブルシフトレジスタ或いはRAM
とその制御回路とで構成できる。
バッファメモリBMの出力データがレジスタR1〜R6が直
列接続されたシフトレジスタとレジスタQ1〜Q5の直列接
続とに供給される。レジスタR1〜R6は、夫々上側の入力
及び下側の入力を有する。レジスタR1〜R6の上側の入力
として、レジスタQ1〜Q5の夫々の出力が供給され、その
下側の入力として、バッファメモリBMの出力及び前段の
レジスタR1〜R5の出力が夫々供給される。
これらのレジスタR1〜R6の出力データが単位演算回路
P1〜P6に夫々供給される。単位演算回路P1〜P6は、前述
の第10図に示すように、部分籍を生成するため、サイク
ル毎に左にシフトされるシフトレジスタ11と部分積の累
加算を行う累加算器12とで構成されたものである。単位
演算回路P1〜P6の出力データの処理については、後述す
る。
第2図は、この発明の他の実施例を示すもので、第1
図と同様に、入力データ列が供給されるバッファメモリ
BM及び6個の単位演算回路P1〜P6が設けられている。
レジスタR1の下側の入力として、バッファメモリBMの
出力が供給され、レジスタR1とレジスタR2〜R6とが下側
の入力を使用して直列接続されることでシフトレジスタ
が構成されている。レジスタR1〜R6の出力が単位演算回
路P1〜P6及びレジスタQ1〜Q6に夫々供給される。レジス
タQ1〜Q6の出力がレジスタR1〜R6の上側の入力に夫々供
給されている。
第3図は、第1図に示される一実施例及び第2図に示
される他の実施例の動作を示すタイミングチャートであ
る。後述のように、制御信号SFTで第1図中のレジスタQ
1〜Q5が制御され、制御信号HOLDで第2図のレジスタQ1
〜Q6が制御される。このレジスタの制御以外は、第1図
及び第2図のディジタル演算回路の動作は、共通のタイ
ミングチャートで表される。第3図では、(B=6或い
は1/2B=6)(n=10)で合計サイクル数が60の場合を
想定している。この入力データの内容は、時系列に従っ
て増大する番号で表わされている。バッファメモリBMに
より、入力データの6個の周期の間に10個のデータが挿
入されたデータが形成される。
第3図で矢印1、2、・・・で示す時間範囲は、入力
データのM(この例では、M=6)サンプル分の期間で
あり、この時間範囲1、2、・・・を単位として処理が
繰り返される。この時間範囲1、2、・・・は、データ
処理に関してB・n(この例では、6×10=60)クロッ
クサイクルの時間に相当する。バッファメモリBMは、
(n−M)(この例では、10−4=6)以上のサンプル
が入力されてから、先に入力されたデータから順にR1〜
R6及びQ1〜Q5のシフトレジスタに出力する。これらのシ
フトレジスタレジスタは、Bクロック毎にシフトする。
矢印1で示す時間範囲では、 単位演算回路P6では、データ1からデータ10迄が6サ
イクル毎に供給され、 単位演算回路P5では、データ2からデータ11迄が6サ
イクル毎に供給され、・・・・・ 単位演算回路P1では、データ6からデータ15迄が6サ
イクル毎に供給される。
次の矢印2で示す時間範囲では、 単位演算回路P6では、データ7からデータ16迄が6サ
イクル毎に供給され、 単位演算回路P5では、データ8からデータ17迄が6サ
イクル毎に供給され、・・・・・ 単位演算回路P1では、データ12からデータ21迄が6サ
イクル毎に供給される。
以下、同様にして、部分積の個数(B=6)の乗算の
10タップ分の処理を連続的に行うことができる。
第1図におけるレジスタQ1〜Q5からなるシフトレジス
タは、第3図中の制御信号SFTによりそのシフト動作が
制御される。制御信号SFTが‘H'(ハイレベル)である
6個のデータの期間で、レジスタQ1〜Q5の内容がシフト
し、SFTが‘L'(ローレベル)である4個のデータの期
間で、これがシフトしない。最もふるいサンプルが(B
・M)サイクル後に、レジスタR6に到達した時からは、
Q1〜Q5からなるシフトレジスタのみシフトが停止され
る。そして、レジスタR1に(n+M−1)番目のデータ
が到達したタイミングの次から処理が再び繰り返され
る。
つまり、矢印1、2、・・・で示す時間範囲の夫々の
最初でレジスタR1〜R6が上側の入力を選択し、バッファ
メモリBMの出力とレジスタQ1〜Q5の内容がレジスタR1〜
R6に夫々取り込まれる。例えば矢印1の時間範囲の最初
では、レジスタR1〜R6にデータ1からデータ6迄が取り
込まれる。次の時間範囲2では、データ7からデータ12
迄が取り込まれる。その後は、矢印1、2、・・・で示
す時間範囲内で順次R1〜R6の内容がシフトされる。この
ような制御により、レジスタR1〜R6で構成されたシフト
レジスタの内容が4個のデータだけ戻される。
第2図におけるレジスタQ1〜Q6は、第3図中の制御信
号HOLDによりそのシフト動作が制御される。この制御信
号HOLDが‘H'の時のレジスタR1〜R6の内容がレジスタQ1
〜Q6に移される。そして、このレジスタQ1〜Q6の内容が
第1図の構成と同様に、矢印1、2、・・・で示す時間
範囲の夫々の最初でレジスタR1〜R6に夫々取り込まれ
る。一般的には、レジスタQ1〜Q6には、時間範囲の先頭
からB・Mサイクルの後のタイミングのレジスタR1〜R6
の内容が保持され、次の時間範囲の先頭でQ1〜Q6の内容
がR1〜R6にロードされる。
更に、単位演算回路P1〜P6の夫々に設けられている累
加算器が矢印1、2、・・・で示す時間範囲の夫々の最
初でクリアされる。
バッファメモリBMは、第3図における入力データの時
系列からレジスタR1の出力データ系列のように、繰り返
される時系列を発生するものである。バッファメモリBM
の各時間範囲で入力されるデータがMサンプルである
が、nサンプルを出力することが必要であるので、nサ
ンプル以上が容量を有している。
b.出力回路 第1図及び第2図は、単位演算回路P1〜P6に対するデ
ータの入力に関する構成を示しており、その出力の構成
が省略されている。単位演算回路P1〜P6の出力側に対し
ては、第4図或いは第5図に示す構成を適用できる。
第4図で、S1〜S6は、単位演算回路P1〜P6内の累加算
器に夫々接続された外部のレジスタを示す。レジスタS1
〜S6の夫々の出力は、バスバッファG1〜G6を介してデー
タバス3に供給される。単位演算回路P1〜P6内の夫々の
累加算器には、第3図の矢印1、2、・・・で夫々示す
時間範囲(60サイクル)の最後のサイクルで演算結果が
得られるので、この演算結果がレジスタS1〜S6に夫々移
される。次の時間範囲で、バスバッファG1〜G6が10サイ
クル毎に順にオンし、レジスタS1〜S6の内容が時分割で
データバス3に出力される。
第5図では、レジスタS1〜S6が直列接続されることで
シフトレジスタが構成される。各レジスタは、上側及び
下側の入力を有している。単位演算回路P1〜P6の演算結
果をレジスタS1〜S6に移す時にのみ、レジスタS1〜S6が
上側の入力を選択する。そして、レジスタS1〜S6が次の
60サイクルの期間で順次シフト動作を行う。
c.更に他の実施例 第6図を参照して、この発明の更に他の実施例につい
て説明する。この更に他の実施例における単位演算回路
は、第7図に示すように、2次のブースのアルゴリズム
を使用した構成である。
第7図において、4がnビットの入力データが並列的
に供給されるシフトレジスタである。入力データは、2
を補数とするコードである。シフトレジスタ4は、語長
を上位方向に拡張するために、nビットに対してmビッ
ト分が付加されている。2を補数とするコードの場合で
は、MSB(最上位ビット)をmビット付加することで、
語長を拡大できる。拡張するビット数mは、係数の語長
に対応するものである。シフトレジスタ4は、図面に向
かって左方向(LSBからMSBの方向)へシフトできるもの
である。
シフトレジスタ4は、1ビット分の単位回路が直列接
続されたものである。この単位回路は、フリップフロッ
プの前段に制御信号CSで制御されるセレクタが設けられ
たものである。セレクタは、最初のサイクルで入力デー
タを選択し、フリップフロップに取り込む。これがデー
タロードの状態である。次のサイクルからは、入力デー
タ以外をセレクタが選択する。セレクタが1段前の出力
を選択する時がデータシフトの状態であり、セレクタが
2段前の出力を選択する時が1段スキップでシフトする
状態であり、セレクタが3段前の出力を選択する時が2
段スキップでシフトする状態であり、セレクタが4段前
の出力を選択する時が3段スキップでシフトする状態で
ある。従って、制御信号CSがシフト段数及び並列ロード
のタイミングを決定する。このように、シフトレジスタ
4を構成しているのは、部分積の加算の時に必要なビッ
トずらしを実現するためである。
5は、ブースのセレクタである。(X×Y)の乗算を
2次のブースのアルゴリズムで行う場合、乗数Y(具体
的には係数)の2ビット毎に部分積が形成される。この
場合、乗数Yの連続する3ビットを見て、被乗数Xの0
倍、±1倍、±2倍のいずれかの部分積がブースのセレ
クタ5で形成され、部分積が加算されることで乗算出力
が求められる。
CP、CQ及びCRは、ブースのセレクタ5に供給される制
御信号である。通常、乗数Yの連続する3ビットをブー
スのデコーダに供給することにより制御信号CP、CQ、CR
が形成される。ブースのセレクタ5は、制御信号CPで制
御されるセレクタと、このセレクタの出力信号と制御信
号CQとが供給されるANDゲートと、このANDゲートの出力
と制御信号CRとが供給されるEX−ORゲートからなる単位
回路が直列接続されたものである。セレクタには、シフ
トレジスタ4の出力と共に、下位のビットからの入力と
が供給される。
ブースのセレクタ5は、セレクタがシフトレジスタ4
の入力をそのまま選択する時に、その出力として1倍の
データが得られ、下位からのデータをセレクタが選択し
て1ビットシフトされたデータを出力する時に、2倍の
データが得られる。制御信号CPが‘L'の時に1倍のデー
タがセレクタから得られ、これが‘H'の時に2倍のデー
タがセレクタから得られる。ANDゲートは、制御信号CQ
が‘L'の時に、0を出力するための禁止ゲートである。
EX−ORゲートは、制御信号CRが‘H'の時に“0"と“1"の
反転を行う。
なお、2次のブースのデコーダでは、乗数Yの3ビッ
トに応じて下記の制御信号CP、CQ、CRが生成される。
また、ブースのセレクタ5は、制御信号CP、CQ、CRに
応じて下記のように、部分積を発生する。
ブースのセレクタ5で1サイクル毎に形成された(n
+m)ビットの部分積が累加算器6に供給される。累加
算器6は、シフトレジスタ4と同様に、語長の拡大のた
めに、lビットの累加算器が付加され、この累加算器に
対してMSBが供給される。累加算器により、各タップの
乗算結果を多数加算した時に、オーバーフローの発生が
防止される。図示せずも、累加算器6の下位のキャリー
入力として制御信号CRが供給される。これは、EX−ORゲ
ートで“0"と“1"の反転を行った時に、LSBに“1"の制
御信号CRを加えて極性の反転を実現するためである。
累加算器6は、入力の1ビット毎に全加算器と全加算
器の出力が供給されるレジスタとレジスタの出力を全加
算器に帰還する帰還路とからなる。累加算器6は、サム
とキャリーが別の冗長2進数の形態で累算を行い、従っ
て、1ビットの入力に対してサムとキャリーの2ビット
の出力が発生する。累加算器6の夫々の2(n+m+
l)ビットの出力のサムの出力とそのキャリーの出力が
シフトレジスタ7(図示せずも、サム及びキャリーの夫
々に関してシフトレジスタが設けられている。)に供給
される。
シフトレジスタ7からのサム及びキャリーの直列出力
が下位のビットから順に全加算器及びフリップフロップ
からなり、フリップフロップからのキャリー出力が次の
上位ビットの入力として全加算器に帰還される構成の累
加算器8に供給される。この累加算器8により下位のビ
ットから順に桁上げ加算がされ、直列出力が得られる。
この直列出力がLSBから順にシフトレジスタSRに供給さ
れ、並列出力に変換される。
累加算器6は、累加算器8と同様の構成を各1ビット
の入力に対して設けたものである。即ち、全加算器の第
1の入力としてフリップフロップを介されたセレクタ5
の出力の1ビットが供給され、全加算器のキャリー出力
が上位のビットへ渡されると共に、サムがフリップフロ
ップに供給され、下位のビットからのキャリーがフリッ
プフロップに供給され、これらのフリップフロップから
2本の出力が取り出されると共に、この2本の出力が全
加算器の入力側に帰還される構成である。かかる累加算
器6は、キャリー及びサムの2本の信号の形態で部分積
の加算を行うので、キャリーの伝播による遅延が無く、
高速の加算処理を行うことができる。
第6図に示す更に他の実施例では、前述の第1図に示
す構成と同様に、バッファメモリBM1の出力がレジスタQ
1〜Q6からなるシフトレジスタと、レジスタR1に供給さ
れる。レジスタR1は、第1図のレジスタR1の機能と単位
演算回路P1のシフトレジスタ4(第7図参照)の機能を
兼ねている。レジスタR1に接続されるレジスタR2〜R6
も、同様に単位演算回路P2〜P6の入力側のシフトレジス
タ4を兼ねている。
単位演算回路P1〜P6の夫々の出力がシフトレジスタSR
1〜SR6に夫々供給され、並列データに変換される。シフ
トレジスタSR1〜SR5の夫々の並列出力が次段のシフトレ
ジスタに供給されるように、接続され、演算結果が順次
取り出される。
第8図A及び第8図Bは、第6図の構成の動作を示す
タイミングチャートである。第8図A及び第8図Bは、
一点鎖線の位置で時間的に繋がるものであるが、作図領
域の関係で別々に描かれている。前述の第3図のタイミ
ングチャートと同様に、処理すべき入力データの周期T
が単位演算回路P1〜P6の動作周期(クロックの周期)の
10倍と想定し、6個の単位演算回路P1〜P6の並列構成に
より60サイクルまでの処理が可能とされている。
第8図のタイミングチャートは、14タップ(n=14)
のフィルタ演算の動作を示している。第7図に示す構成
の単位演算回路P1〜P6は、乗数の語長Bに対して、Bよ
り少ないサイクルで一つの乗算を行うことができる。第
8図の例では、各タップの乗算が下記の表のように、サ
イクル数が異なっており、14ラップの合計で56サイクル
となるフィルタを想定している。
第8図には、クロック、入力データ、レジスタQ1の出
力、レジスタR1〜R6の夫々の出力が示されている。第8
図で、矢印で示す時間範囲(60サイクル)内のハッチン
グが施された期間が4サイクルの遊び時間である。
d.変形例 以上の実施例では、単位演算回路の速度とデータレー
トの比rが10倍、タップ数nが10或いは14、並列される
回路の個数Mが6とされている。これらの値は、一例で
あって、種々の値をとりうる。但し、下記の関係が成立
する時に、この発明は、有用である。
また、レジスタQ1〜Q6は、第3図或いは第8図に示す
データ列を単位演算回路P1〜P6に夫々供給するのに設け
ているが、レジスタQ1〜Q6以外の構成を使用しても良
い。
第3図或いは第8図の動作は、SIMD(Single Instruc
tion stream Multi Data stream)であり、制御が簡単
である。時変フィルタのときでは、MIMDにする必要があ
る。
更に、この発明は、ディジタルフィルタの演算に限ら
ず、少なくともフーリエ変換(FFT)、コサイン変換(D
CT)、相関演算等の信号処理演算に対して適用できる。
〔発明の効果〕
この発明は、語長、タップ数、並列数がフレキシブル
な利点があり、また、単位演算回路が遊ぶサイクルが少
ない利点がある。
【図面の簡単な説明】
第1図はこの発明の一実施例のブロック図、第2図はこ
の発明の他の実施例のブロック図、第3図はこの発明の
一実施例及び他の実施例の動作説明に用いるタイミング
チャート、第4図及び第5図は出力回路の一例及び他の
例のブロック図、第6図はこの発明の更に他の実施例の
ブロック図、第7図はこの発明の更に他の実施例の単位
演算回路の一例のブロック図、第8図A及び第8図Bは
この発明の更に他の実施例の動作説明に用いるタイミン
グチャート、第9図はこの発明を適用できるディジタル
フィルタのブロック図、第10図は単位演算回路の構成を
示すブロック図、第11図はフィルタの演算動作の説明に
用いる略線図、第12図及び第13図は並列ディジタル演算
回路の一例のタイミングチャート及びブロック図であ
る。 図面における主要な符号の説明 BM:バッファメモリ、 R1〜R6、Q1〜Q6、S1〜S6:レジスタ、 P1〜P6:単位演算回路。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】乗数の語長をBとし、タップ数をnとし、
    上記入力データの1周期に対する単位演算回路の演算周
    期の比をrとする時に、(r<B×n)または(r<
    (1/2)B×n)の関係が存在するために、M個の単位
    演算回路によって、並列的に入力データのフィルタ演算
    を行うようにしたディジタル演算回路において、 入力データが供給され、時間軸圧縮処理によって、M個
    の上記入力データに対してn個のデータを繰り返して出
    力するバッファメモリと、 上記バッファメモリの出力側に接続されたM段のシフト
    レジスタと、 上記シフトレジスタのタップからのデータを被乗数と
    し、上記乗数をビット直列で乗算し、(B×n)または
    ((1/2)B×n)サイクルでひとかたまりの演算操作
    を行うM個の単位演算回路と、 上記ひとかたまりの演算操作の開始タイミング毎に、上
    記シフトレジスタのタップから上記単位演算回路に対し
    てそれぞれ供給されるデータを以前のタイミングの内容
    に設定するための手段と、 上記M個の単位演算回路の出力が供給される出力回路と
    からなることを特徴とするディジタル演算回路。
JP02122654A 1990-05-11 1990-05-11 ディジタル演算回路 Expired - Fee Related JP3120435B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02122654A JP3120435B2 (ja) 1990-05-11 1990-05-11 ディジタル演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02122654A JP3120435B2 (ja) 1990-05-11 1990-05-11 ディジタル演算回路

Publications (2)

Publication Number Publication Date
JPH0418809A JPH0418809A (ja) 1992-01-23
JP3120435B2 true JP3120435B2 (ja) 2000-12-25

Family

ID=14841329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02122654A Expired - Fee Related JP3120435B2 (ja) 1990-05-11 1990-05-11 ディジタル演算回路

Country Status (1)

Country Link
JP (1) JP3120435B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102583033B1 (ko) * 2021-09-13 2023-09-26 한솔판지 주식회사 분할형 날개를 갖는 포장박스

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102583033B1 (ko) * 2021-09-13 2023-09-26 한솔판지 주식회사 분할형 날개를 갖는 포장박스

Also Published As

Publication number Publication date
JPH0418809A (ja) 1992-01-23

Similar Documents

Publication Publication Date Title
JPS62286307A (ja) 多重ステージデジタル信号乗算加算装置
EP0101318B1 (en) Digital filters
US6304133B1 (en) Moving average filter
US4740906A (en) Digital lattice filter with multiplexed fast adder/full adder for performing sequential multiplication and addition operations
US6108681A (en) System for sharing resources in a digital filter
JP3120435B2 (ja) ディジタル演算回路
KR100202151B1 (ko) 신호처리장치
US5477479A (en) Multiplying system having multi-stages for processing a digital signal based on the Booth's algorithm
EP0464678B1 (en) Input-weighted transversal filter
JP2513218B2 (ja) Firデイジタルフイルタ
JP2864597B2 (ja) ディジタル演算回路
US5650952A (en) Circuit arrangement for forming the sum of products
JP3123060B2 (ja) ディジタル演算回路
JPH0998069A (ja) Fir型ディジタルフィルタ
US6944217B1 (en) Interleaved finite impulse response filter
CN116781041B (zh) 一种具有高资源利用率的多速率变换滤波器
JP2864598B2 (ja) ディジタル演算回路
JP3851024B2 (ja) 乗算器
JP2922451B2 (ja) 信号処理装置
JPH09298451A (ja) デジタルフィルタ回路およびその制御方法
JPH03211910A (ja) ディジタルフィルタ
JPH0652215A (ja) 行列演算プロセッサ
JPH0624310B2 (ja) デイジタルフイルタ
JP3848764B2 (ja) デジタル乗算ユニットおよびデジタル乗算方法
JP2003258646A (ja) 5×3ウェーブレット変換装置

Legal Events

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