(57)【特許請求の範囲】
【請求項１】
第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号に基づき演算処理し、複数ビットからなるＸデータが１周期に複数回時系列に現れる、前記第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号を受けた回のＸデータと、複数ビットからなるＹデータが１周期に複数回時系列に現れる、前記第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号を受けた回のＹデータを共に設定されたビットシフト量を下位側にビットシフトし、かつ、当該ビットシフトした分だけビット幅を減少させた、シフト出力Ｘデータとシフト出力Ｙデータを出力するデータシフタと、当該データシフタから出力されたシフト出力Ｘデータとシフト出力Ｙデータを乗算し、乗算器出力データを出力する第１の乗算器と、１周期内に当該第１の乗算器から出力された乗算器出力データを累積加算し、累積加算データを出力する第１の累積加算部と、当該第１の累積加算部から出力された累積加算データを前記下位側にビットシフトしたビットシフト量だけ上位側にビットシフトし、かつビット幅を当該ビットシフト量増加させ、累積加算シフトデータを出力するデータ逆シフタを有した第１の演算部と、
第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号に基づき演算処理し、前記第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号を受けた回のＸデータと、前記第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号を受けた回のＹデータを乗算し、乗算器出力データを出力する第２の乗算器と、１周期内に当該第２の乗算器から出力された乗算器出力データを累積加算し、累積加算データを出力する第２の累積加算部を有した第２の演算部と、
前記Ｘデータ及び前記Ｙデータが入力される毎に、前記Ｘデータ及び前記Ｙデータが正の特定の値以上または負の特定の値以下である条件か否かを判定する判別部と、
前記判別部の判定結果が前記Ｘデータ及び前記Ｙデータともに正の特定の値以上または負の特定の値以下である条件である場合は、前記第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号を前記第１の演算部及び前記第２の演算部に出力し、前記判別部の判定結果が当該条件以外である場合、前記第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号を前記第２の演算部及び第１の演算部に出力する制御部と、
前記第１の演算部から出力される累積加算シフトデータと前記第２の演算部から出力される累積加算データを加算演算して出力データとする総合演算部と
を備えたデジタル演算処理回路。
【請求項２】
前記データシフタにおける前記設定されたビットシフト量と、前記正の特定の値及び負の特定の値は外部より設定されることを特徴とする請求項１記載のデジタル演算処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列で入力するデータ同士による乗算演算を行い、この乗算演算の結果に対して累積加算による演算を行うデジタル演算処理回路に関する。
【背景技術】
【０００２】
デジタル演算処理回路では、時系列で入力するデータ同士による乗算演算を行い、この乗算演算の結果に対して累積加算することで出力データを得ている。従来、累積加算するための加算部の前後に配置するデータシフトでは、ビットシフトを行うことでデータのビット幅を削減し、動作時の消費電力を低減している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２９６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のデジタル演算処理回路は、乗算後にビットシフトする構成であるため、加算演算での消費電力の低減はできても乗算演算においては消費電力を低減することができず、このような点から更なる消費電力の低減化が求められていた。【０００５】
この発明は、かかる問題を解決するためになされたもので、動作時における消費電力を低減することができるデジタル演算処理回路を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係るデジタル演算処理回路は、第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号に基づき演算処理し、複数ビットからなるＸデータが１周期に複数回時系列に現れる、第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号を受けた回のＸデータと、複数ビットからなるＹデータが１周期に複数回時系列に現れる、第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号を受けた回のＹデータを共に設定されたビットシフト量を下位側にビットシフトし、かつ、当該ビットシフトした分だけビット幅を減少させた、シフト出力Ｘデータとシフト出力Ｙデータを出力するデータシフタと、当該データシフタから出力されたシフト出力Ｘデータとシフト出力Ｙデータを乗算し、乗算器出力データを出力する第１の乗算器と、１周期内に当該第１の乗算器から出力された乗算器出力データを累積加算し、累積加算データを出力する第１の累積加算部と、当該第１の累積加算部から出力された累積加算データを下位側にビットシフトしたビットシフト量だけ上位側にビットシフトし、かつビット幅を当該ビットシフト量増加させ、累積加算シフトデータを出力するデータ逆シフタを有した第１の演算部と、
第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号に基づき演算処理し、第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号を受けた回のＸデータと、第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号を受けた回のＹデータを乗算し、乗算器出力データを出力する第２の乗算器と、１周期内に当該第２の乗算器から出力された乗算器出力データを累積加算し、累積加算データを出力する第２の累積加算部を有した第２の演算部と、Ｘデータ及びＹデータが入力される毎に、Ｘデータ及びＹデータが正の特定の値以上または負の特定の値以下である条件か否かを判定する判別部と、判別部の判定結果がＸデータ及びＹデータともに正の特定の値以上または負の特定の値以下である条件である場合は、第１の演算部を動作させ、第２の演算部の動作を停止させる制御信号を第１の演算部及び第２の演算部に出力し、判別部の判定結果が当該条件以外である場合、第２の演算部を動作させ、第１の演算部の動作を停止させる制御信号を第２の演算部及び第１の演算部に出力する制御部と、第１の演算部から出力される累積加算シフトデータと第２の演算部から出力される累積加算データを加算演算して出力データとする総合演算部とを備えたものである。
【発明の効果】
【０００７】
この発明に係るデジタル演算処理回路は、第１の演算部と第２の演算部を備え、第１の演算部が、演算処理するＸデータとＹデータを共に設定されたビットシフト量を下位側にビットシフトし、かつ、ビットシフトした分だけビット幅を減少させてＸデータとＹデータを乗算するようにしたので、動作時における消費電力を低減させることができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１のデジタル演算処理回路の構成図である。
【図２】この発明の実施の形態１のデジタル演算処理回路における判別閾値の説明図である。
【図３】この発明の実施の形態１のデジタル演算処理回路の動作を示すフローチャートである。
【図４Ａ】この発明の実施の形態１のデジタル演算処理回路における各部のデータの状態を示す説明図である。
【図４Ｂ】この発明の実施の形態１のデジタル演算処理回路における各部のデータの状態を示す説明図である。
【図５】この発明の実施の形態２のデジタル演算処理回路の構成図である。
【図６】この発明の実施の形態２のデジタル演算処理回路の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、本実施の形態によるデジタル演算処理回路の構成図である。図示のデジタル演算処理回路１は、シフト設定レジスタ２、判別部３、制御部４、第１の演算部５、第２の演算部６、総合演算部７、Ｘレジスタ８、Ｙレジスタ９を備える。シフト設定レジスタ２は、第１の演算部５におけるデータシフタ５０１のシフト量を設定するためのレジスタである。判別部３は、第１の演算部５及び第２の演算部６に入力されるデータが正の特定の値以上または負の特定の値以下であるかを判別閾値として判定する処理部である。制御部４は、判別部３の判定結果が判別閾値を満たす場合は第１の演算部５による演算を行い、条件を満たさない場合は第２の演算部６による演算を行うよう制御する制御部である。
【００１０】
第１の演算部５は、時系列で入力するデータ同士を乗算し、この乗算結果を累積加算する演算部であり、データシフタ５０１、第１の乗算器５０２、第１の加算器５０３、第１のアキュムレータ５０４、データ逆シフタ５０６を備える。データシフタ５０１は、シフト設定レジスタ２による設定値に基づいてＸレジスタ８及びＹレジスタ９からのデータに対してデータシフトとデータシフト分のビット幅を減少させる処理部である。第１の乗算器５０２は、データシフタ５０１からの出力を乗算する演算部である。第１の加算器５０３は第１の乗算器５０２の出力と第１のアキュムレータ５０４の出力とを加算して第１のアキュムレータ５０４に出力する演算部である。第１のアキュムレータ５０４は、第１の加算器５０３の累積加算結果を保持する処理部である。また、第１の加算器５０３と第１のアキュムレータ５０４で、第１の乗算器５０２の出力データを累積加算する第１の累積加算部５０５を構成している。データ逆シフタ５０６は、第１のアキュムレータ５０４からの出力に対して、データシフタ５０１におけるシフトとは逆のデータシフトを行うと共に、ビットシフト分のビット幅を増加させる処理部である。
【００１１】
第２の演算部６は、時系列で入力するデータ同士を乗算し、この乗算結果を累積加算する演算部であり、第２の乗算器６０１、第２の加算器６０２、第２のアキュムレータ６０３を備える。第２の乗算器６０１は、Ｘレジスタ８及びＹレジスタ９のデータを乗算する演算部である。第２の加算器６０２は、第２の乗算器６０１からの出力と第２のアキュムレータ６０３の出力を加算し、その加算結果を第２のアキュムレータ６０３に出力する演算部である。第２のアキュムレータ６０３は、第２の加算器６０２の累積加算結果を保持する処理部である。また、第２の加算器６０２と第２のアキュムレータ６０３で、第２の乗算器６０１の出力データを累積加算する第２の累積加算部６０４を構成している。
【００１２】
総合演算部７は、第１の演算部５と第２の演算部６の演算結果を加算演算してデジタル演算処理回路１の出力データを生成する演算部であり、第３の加算器７０１とリミッタ７０２を備える。第３の加算器７０１は、第１の演算部５と第２の演算部６の演算結果を加算する演算器であり、リミッタ７０２は、第３の加算器７０１の出力データから有意データを選択し、総合演算部７の出力データを得るための処理部である。
【００１３】
次に、実施の形態１のデジタル演算処理回路１の動作について説明する。
デジタル演算処理回路１による演算として、時系列で入力する信号のデータと位相情報のデータ同士の乗算演算、または、時系列で入力する二つのデータ同士の乗算演算を行い、次に、時系列で蓄えられた複数の乗算演算結果を加算演算する演算処理を考える。
ここで、デジタル演算処理回路１の動作を行うために定めた条件は次の通りとする。
先ず、デジタル演算処理回路１に取込む入力データ（ＸデータとＹデータ）と出力データのビット幅は共に１６とする。
シフト設定レジスタ２にはビットシフトする量として４（４ビット）が設定されているものとする。
判別部３において、演算部として第１の演算部５を選択するか、第２の演算部６を選択するかについての判別閾値は、ＸデータとＹデータのビット幅が共に１６ビットである場合は、ＸデータまたはＹデータが正の値であれば、Ｘデータ、Ｙデータ共に、ビット幅１５のデータが取る最大値に＋１を加算した値＋３２７６８の半分の値＋１６３８４（正の閾値）とする。これは、Ｘデータ、Ｙデータにおいて最上位ビットの値が０、最上位から２番目のビットの値が１であることである。
【００１４】
また、ＸデータまたはＹデータが負の値であれば、Ｘデータ、Ｙデータ共に、ビット幅１５のデータが取る最小値に−１を加算した値−３２７６８の半分の値−１６３８４（負の閾値）とする。これは、ＸデータとＹデータにおいて最上位ビットの値が１、最上位から２番目のビットの値が１であることである。
判別部３において、演算部として第１の演算部５を選択する条件は、正の値であれば、Ｘデータ、Ｙデータ共に、正の閾値（＋１６３８４）以上とする。負の値であれば、Ｘデータ、Ｙデータ共に、負の閾値（−１６３８４）以下とする。これを示すのが図２である。すなわち、Ｘ≧＋１６３８４またはＸ≦−１６３８４で、Ｙ≧＋１６３８４またはＹ≦−１６３８４であれば、第１の演算部５であり、Ｘ≧＋１６３８４またはＸ≦−１６３８４で、−１６３８３≦Ｙ≦＋１６３８３であれば、第２の演算部６である。また、−１６３８３≦Ｘ≦＋１６３８３である場合、Ｙ≧＋１６３８４またはＹ≦−１６３８４である場合と−１６３８３≦Ｙ≦＋１６３８３である場合は、共に第２の演算部６である。
【００１５】
本実施の形態では、Ｘデータ及びＹデータは、共に、時系列に６４回で値が１周期分の変動をする正弦波のデータとし、第１の演算部５による処理回数を３２とし、第２の演算部６における処理回数を３２とする。第１の演算部５による処理回数と第２の演算部６における処理回数の合計が１周期の値６４となる。
以上の条件で、デジタル演算処理回路１の動作について説明する。
【００１６】
図３は、デジタル演算処理回路１の動作を示すフローチャートである。また、図４は各部のデータの状態を示す説明図である。
図４Ａにおいて、第１の演算部による処理５０では、Ｘデータ及びＹデータの入力データ１０１、Ｘデータ及びＹデータに対するデータシフタ５０１の出力であるシフト出力データ１０２、第１の乗算器５０２の出力である乗算器出力データ１０３、第１の加算器５０３の出力データである加算器出力データ１０４、第１のアキュムレータ５０４の出力データであるアキュムレータ出力データ１０５、データ逆シフタ５０６の出力データである逆シフト出力データ１０６を示している。
【００１７】
また、図４Ｂにおいて第２の演算部による処理６０では、第２の乗算器６０１の出力である乗算器出力データ１０７、第２の加算器６０２の出力である加算器出力データ１０８、第２のアキュムレータ６０３の出力であるアキュムレータ出力データ１０９を示している。更に、総合演算部による処理７０では、第３の加算器７０１の出力である加算器出力データ１１０と、リミッタ７０２の出力でありデジタル演算処理回路１の出力となる回路出力データ１１１を示している。
【００１８】
なお、図４Ａ，図４Ｂにおいて、各データの上側の数値（０，１，２，…）はビット番号を示す。図面において最も左側がＭＳＢ、右側がＬＳＢとなる。
【００１９】
図３のフローチャートにおいて、デジタル演算処理回路１では、先ず、Ｘレジスタ８にＸデータ、Ｙレジスタ９にＹデータを取り込む（ステップＳＴ２０１）。次に、判別部３により、Ｘレジスタ８に取込んだＸデータの値、Ｙレジスタ９に取込んだＹデータの値が共に上述した正の閾値（＋１６３８４）以上であるか、または負の閾値（−１６３８４）以下の値であるかを判別する（ステップＳＴ２０２）。これらのいずれかに該当する場合にはＹＥＳとして、どちらにも該当しない場合にはＮＯとして、判別の結果が制御部４に送られる。
【００２０】
ステップＳＴ２０２において、判別部３によりＹＥＳと判別した場合においては、第１の演算部５による演算処理が制御部４による制御信号の元で行われる（ステップＳＴ２０３〜ステップＳＴ２０７）。これと並行して、制御部４からの制御信号により、第２の演算部６を動作させるクロックを停止させることにより、第２の演算部６による動作が停止される。
【００２１】
第１の演算部５では、先ず、制御部４による制御信号により、シフト設定レジスタ２に制御信号が送信され、シフト設定レジスタ２において設定されているビットシフトする量４（４ビット）がデータシフタ５０１に送信される。これにより、データシフタ５０１は、Ｘデータ及びＹデータの入力データ１０１を共に４ビット下位側にビットシフトすると共に、ビット幅を１６から１２に減らし、Ｘデータ及びＹデータのシフト出力データ１０２とする（ステップＳＴ２０３）。このとき、入力データ１０１はＸデータ、Ｙデータ共に下位側４ビットのデータは切り捨てられる。
【００２２】
次に、第１の乗算器５０２において、シフト出力データ１０２のＸデータとＹデータの乗算演算を行い（ステップＳＴ２０４）、乗算器出力データ１０３を得る。次いで、第１の加算器５０３では、ステップＳＴ２０４における乗算器出力データ１０３とアキュムレータ出力データ１０５との加算演算を行い（ステップＳＴ２０５）、加算器出力データ１０４を得る。但し、アキュムレータ出力データ１０５が初期状態であり、値が０である場合には加算演算はしなくてよい。
【００２３】
次に、第１のアキュムレータ５０４において、ステップＳＴ２０５における加算器出力データ１０４に対して、最下位ビットのデータを切捨てしたデータを蓄積する（ステップＳＴ２０６）と共に、アキュムレータ出力データ１０５を送出する。この最下位ビットの切捨ては、ステップＳＴ２０４における次のタイミングにおける乗算器出力データ１０３と加算演算をする前にこの乗算器出力データ１０３にビット幅を合わせるためである。
ステップＳＴ２０３〜ステップＳＴ２０６における処理は、上述した条件の回数である３２回分行われ、この累積加算結果がデータ逆シフタ５０６に与えられる。
【００２４】
次に、データ逆シフタ５０６において、ステップＳＴ２０６におけるアキュムレータ出力データ１０５に対して、８ビット上位側へのビットシフトを行い、その結果、ビット幅を２４から３２に８ビット分増やし（ステップＳＴ２０７）、逆シフト出力データ１０６として出力する。これは、ステップＳＴ２０３において、ＸデータとＹデータ共に４ビットずつ、計８ビット分データビット幅を減らしたので、減らした分だけのビット幅を増やすことにより、データのビット幅を第２の演算部６の出力データであるアキュムレータ出力データ１０９にビット幅を合わせるためである。なお、データ逆シフタ５０６における逆ビットシフト量及びビット幅の増分の設定はデータシフタ５０１へのビットシフトの設定と共に行われるものとする。これにより、総合演算部７の第３の加算器７０１における加算演算が行うことができる。
【００２５】
また、ステップＳＴ２０７において、ビット幅を増やす際には、アキュムレータ出力データ１０５の値が正である場合には、下位側８ビットに”１０００００００”（左側がＭＳＢ、１０進数では＋１２８）を、負である場合には”０１１１１１１１”（左側がＭＳＢ、１０進数では−１２９）を補完する。正の値である場合には、補完できる値の範囲は”０００００００”（１０進数では０）〜”１１１１１１１”（１０進数では＋２５５）になるが、補完する”１０００００００”（＋１２８）は、この場合の補完できる範囲の中間の値であり、この値とすることにより誤差を最小限に抑えることができる。負の値である場合には、補完できる値の範囲は”０００００００”（１０進数では−１）〜”１１１１１１１”（１０進数では−２５７）になるが、補完する”０１１１１１１１”（−１２９）はこの場合の補完できる範囲の中間の値であり、この値とすることにより誤差の最大値を抑えることができる。本動作においては、誤差の最大は０．００７６％となる。
【００２６】
一方、ステップＳＴ２０２において、判別部３によりＮＯと判別した場合は、第２の演算部６による演算処理が制御部４による制御信号の元で行われる（ステップＳＴ２０８〜ステップＳＴ２１０）。これと並行して、制御部４からの制御信号により第１の演算部５を動作させるクロックを停止させることにより、第１の演算部５による動作が停止される。
【００２７】
第２の演算部６では、先ず、第２の乗算器６０１において、入力データ１０１であるＸデータとＹデータの乗算演算を行い（ステップＳＴ２０８）、乗算器出力データ１０７を出力する。次に、第２の加算器６０２において、ステップＳＴ２０８における乗算器出力データ１０７とアキュムレータ出力データ１０９との加算演算を行い（ステップＳＴ２０９）、加算器出力データ１０８を出力する。但し、第２のアキュムレータ６０３における蓄積データが初期状態であり、値が０である場合には加算演算はしなくてよい。
【００２８】
次に、第２のアキュムレータ６０３において、ステップＳＴ２０９における加算器出力データ１０８に対して、最下位ビットのデータの切捨てしたデータを蓄積する（ステップＳＴ２１０）と共に、アキュムレータ出力データ１０９を送出する。ここでの最下位ビットの切捨ては、ステップＳＴ２０８における次のタイミングにおける乗算器出力データ１０７と加算演算をする前にこの乗算器出力データ１０７にビット幅を合わせるためである。
ステップＳＴ２０８〜ステップＳＴ２１０における処理は、上述した条件の回数である３２回分行われる。この３２回後のアキュムレータ出力データ１０９を、第２の演算部６の出力データとする。
【００２９】
次に、ステップＳＴ２１１〜ステップＳＴ２１２において、総合演算部７による加算演算処理を行う。総合演算部７では、先ず、第１の演算部５からの逆シフト出力データ１０６と、第２の演算部６からのアキュムレータ出力データ１０９を第３の加算器７０１で加算演算し（ステップＳＴ２１１）、加算器出力データ１１０を得る。次に、リミッタ７０２において、ステップＳＴ２１１における加算器出力データ１１０（ビット幅３３）に対して、有意データ（ビット幅１６）を選択し、総合演算部７の出力データ、かつ、デジタル演算処理回路１の出力データである回路出力データ１１１として出力する（ステップＳＴ２１２）。
【００３０】
このように、実施の形態１のデジタル演算処理回路１では、その動作として、一部の演算処理は第２の演算部６による演算ではなく第１の演算部５による演算で実現することができることから、動作時において使用する回路の規模（ゲート数）を削減することができる。デジタル演算処理回路１において、動作時に使用する回路の規模はデジタル演算処理回路１が消費する電力に比例すると仮定した場合には、デジタル演算処理回路１の消費電力に対して、回路規模を削減した割合の分だけ消費電力を削減することができる。
【００３１】
実施の形態１においては、第２の演算部６による演算３２回分が第１の演算部５で実現できる。いま、仮に、第２の演算部６（演算全６４回）によるデジタル演算処理回路１全体（総合演算部７における加算演算１回分を含む）の消費電力を１．００とした場合、第１の演算部５（演算６４回分）によるデジタル演算処理回路１全体が消費する電力の比率は０．７２となるが、第１の演算部５の演算回数の割合０．５（＝３２／６４）から本動作によりデジタル演算処理回路１全体が消費する電力の比率は０．８５となる。
これにより、デジタル演算処理回路１全体が占める消費電力に対して、約１５％の電力を削減することができる。
【００３２】
以上説明したように、実施の形態１のデジタル演算処理回路によれば、時系列で入力するデータ同士を乗算し、乗算結果を累積加算する第１の演算部及び第２の演算部と、第１の演算部及び第２の演算部に入力されるデータが正の特定の値以上または負の特定の値以下であるかを判定する判別部と、判別部の判定結果が正の特定の値以上または負の特定の値以下であった場合は、第１の演算部による演算を行い、そうでない場合は第２の演算部による演算を行うよう制御する制御部と、第１の演算部及び第２の演算部の演算結果を加算演算して出力データとする総合演算部とを備え、第１の演算部は、入力データを設定ビット分下位側にビットシフトし、かつ、ビットシフトした分だけビット幅を減少させるデータシフタと、データシフタからの出力データ同士を乗算する乗算器と、乗算器の出力データを累積加算する累積加算部と、累積加算部の出力データを下位側にビットシフトした分だけ上位側にビットシフトし、かつビット幅をビットシフト分増加させるデータ逆シフタを備えたので、動作時における消費電力を低減させることができる。
【００３３】
実施の形態２．
実施の形態２は、シフト設定レジスタ２のビットシフト量と判別部３の判別閾値を設定する設定部を設けたものである。
図５は実施の形態２のデジタル演算処理回路の構成図である。
図５において、設定部１０は、デジタル演算処理回路１ａの本体の外部に設置され、シフト設定レジスタ２ａにおけるビットシフトの量と判別部３ａにおける判別閾値の値を設定するための処理部である。その他、デジタル演算処理回路１ａ内のシフト設定レジスタ２ａが設定部１０によるビットシフト量の値が設定され、また、判別部３ａが設定部１０によってその判別閾値が設定されるよう構成されている以外は図１に示した実施の形態１の構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
【００３４】
図６は、実施の形態２のデジタル演算処理回路の動作を示すフローチャートである。
先ず、設定部１０から、データシフタ５０１でビットシフトする際のビットシフトの量（シフト設定レジスタ２ａにおいて設定するビットシフトの量）をシフト設定レジスタ２ａに設定し、また、判別部３における判別閾値を設定する（ステップＳＴ２００）。それ以降のステップＳＴ２０１〜ステップＳＴ２１２については、図３で示す処理と同一のため、その説明を省略する。
【００３５】
このように、実施の形態２のデジタル演算処理回路１ａでは、第１の演算部５におけるビットシフトの量と、判別部３ａにおける判別閾値の値を外部から設定するようにしているため、ビットシフトの量と判別閾値の値をユーザが見て判断することにより設定することができる。
【００３６】
以上説明したように、実施の形態２のデジタル演算処理回路によれば、ビットシフトするビット量と、正の特定の値及び負の特定の値は外部より設定されるようにしたので、実施の形態１の効果に加えて、ビットシフトの量と正の特定の値及び負の特定の値とを容易かつ確実に設定することができる。
【００３７】
なお、上記実施の形態１及び実施の形態２におけるビットシフトする量及び判別閾値は、実施の形態１及び実施の形態２で説明した値に限定されるものではなく、適宜選択が可能である。
【００３８】
また、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００３９】
以上のように、この発明に係るデジタル演算処理回路は、時系列で入力するデータ同士による乗算演算を行い、この乗算演算の結果に対して累積加算による演算を行う構成に関するものであり、例えば、時系列で入力する信号のデータと位相情報のデータ同士の乗算演算を行うデジタル演算処理回路に用いるのに適している。
【符号の説明】
【００４０】
１，１ａ  デジタル演算処理回路、２，２ａ  シフト設定レジスタ、３，３ａ  判別部、４  制御部、５  第１の演算部、６  第２の演算部、７  総合演算部、８  Ｘレジスタ、９  Ｙレジスタ、１０  設定部、５０１  データシフタ、５０２  第１の乗算器、５０３  第１の加算器、５０４  第１のアキュムレータ、５０５  データ逆シフタ、６０１  第２の乗算器、６０２  第２の加算器、６０３  第２のアキュムレータ、７０１  第３の加算器、７０２  リミッタ。
【図１】
0006567213.tif 000002
【図２】
0006567213.tif 000003
【図３】
0006567213.tif 000004
【図４Ａ】
0006567213.tif 000005
【図４Ｂ】
0006567213.tif 000006
【図５】
0006567213.tif 000007
【図６】
0006567213.tif 000008