(57)【要約】【課題】  乗算、除算、及び、平方根算出は個別に設けられた演算回路を用いて、実行されるため、乗算、除算、及び、平方根算出に必要な全加算器（ＦＡ）アレイは個別に設けられるのが普通であり、このため、回路構成が複雑化してしまう。【解決手段】ＦＡアレイを乗算及び除算において共通に使用できるようにし、各ＦＡの入力信号を各演算に応じて切り替えるように構成する。これによって、単一の回路をプログラマブルに使用できる。【選択図】    図４
2005092372.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の数の演算データおよび命令を受け、前記命令に応じて前記演算データを演算処理する演算処理回路であって、前記演算データを前記命令に応じて選択する選択回路と、前記選択された結果を演算する基本演算ユニットとを具備し、前記基本演算ユニットは、乗算、除算、及び、開平演算を含む算術演算機能のうち、前記命令で指定された１つの演算処理を前記選択回路で選択された演算データに対して行う構成を備え、前記基本演算ユニットから演算結果を出力することを特徴とする演算処理回路。
【請求項２】
請求項１において、前記基本演算ユニットは、全加算器を具備していることを特徴とする演算処理回路。
【請求項３】
複数個の加算器を具備したアレイと、外部から与えられる命令に応じて、前記アレイにおいて、乗算、除算、及び、開平演算のうち、１つの演算を行わせるように、前記加算器への入力信号を生成する入力信号生成機構とを有することを特徴とする演算処理回路。
【請求項４】
請求項３において、前記アレイが開平演算の演算処理を行う構成となるとき、回路における冗長性を省いた構成を備え、開平演算に必要な前記アレイの面積を
【請求項５】
請求項３又は４において、ある一定の時間を経過した後，乗算、除算および開平演算のうちのいずれか１つの演算を行う演算ブロックであって、
該演算ブロックは、１個以上の前記演算ユニットと、
前記演算ユニットの演算結果を格納するメモリと、
前記メモリの出力あるいは前記演算ブロックの外部から入力される数のデータのいずれかを前記演算ユニットへ出力するスイッチ機構と、
１あるいはそれ以上の演算時間単位にわたって前記演算ユニットの構成を決定する復号機構を具備し、 
前記演算ブロックの内部で乗算および除算および開平演算を組み合わせた演算処理を行うことを特徴とする演算処理回路。
【請求項６】
請求項１〜５のいずれかにおいて、前記演算処理回路は半導体チップ内に形成されていることを特徴とする演算処理回路。
【請求項７】
乗算、除算、及び、平方根算出のうち、少なくとも乗算及び除算に共通に使用される基本演算ユニットであって、前記乗算及び除算に必要なデータ信号を選択する選択回路と、前記選択されたデータ信号とキャリー信号とを受け、全加算を行い出力信号を出力する全加算器とを有することを特徴とする基本演算ユニット。
【請求項８】
請求項７において、前記基本演算ユニットは行及び列方向に複数個配列され、アレイを構成していることを特徴とする演算処理回路。
【請求項９】
請求項８において、前記各基本演算ユニットの選択回路は、前記データ信号を排他的に演算する排他演算部と、他の行／列に配置された全加算器からの出力信号を選択するマルチプレクサとを備え、更に、各全加算器には、同一行の全加算器のキャリー信号が与えられていることを特徴とする演算処理回路。
【請求項１０】
請求項９において、前記排他演算部は、ａｎｄ／ｘｏｒ，ｎａｎｄ／ｘｏｒ，ａｎｄ／ｘｎｏｒ，及び、ｎａｎｄ／ｘｎｏｒのいずれかを実行する回路を含んでいることを特徴とする演算処理回路。
【請求項１１】
加算器を行列状に配列し、第１の加算器の演算結果を該第１の加算器が属する行に属しかつ前記第１の加算器に隣接する第２の加算器に送るとともに前記行に隣接する行であって前記第１の加算器の属する列に隣接する列に属する第３の加算器へ送るようにした演算処理回路において、前記第３の加算器として存在する４つの加算器のうちの特定の１つを前記演算処理回路のなすべき演算に応じて選択できるようにし、該選択によって乗算、除算及び開平演算のうちの１つの演算を行わせるようにしたことを特徴とする演算処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話等において使用される高度の信号処理アルゴリズムを実行できる演算処理回路に関するものである。
【背景技術】
【０００２】
従来、ＣＤＭＡ方式等の携帯電話では、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）等、高度の信号処理アルゴリズムにしたがって演算処理が行われている。このようなＦＦＴを含む高度な信号処理アルゴリズムとして、位相限定相関アルゴリズム及び位相インパルス応答アルゴリズムがある。このうち、例えば、位相限定相関アルゴリズムでは、通常、フーリエ変換、合成、位相限定、逆フーリエ変換を順次行った後、相関値の算出を行なうことにより、画像データ等の処理が行われている。これらのアルゴリズムは基本的に２の補数によってあらわされた複素数及び実数の四則演算機能、平方根算出機能（開平演算機能）、及び、積和演算によって実現されている。具体的に云えば、位相限定相関アルゴリズムでは、ＦＦＴバタフライ演算、積和演算、開平演算、除算、相関演算、逆ＦＦＴバタフライ演算が順次行われている。位相限定相関アルゴリズムに限らず、四則演算機能、平方根算出機能、及び、積和演算機能により、他の算術演算系アルゴリズムも実現できる。
【０００３】
通常、この種の演算処理回路は半導体回路によって構成されており、四則演算機能、平方根算出機能、及び、積和演算機能は個別に半導体チップ化されているのが普通である。
【０００４】
上記した演算機能のうち、開平演算機能を有する数学関数演算装置が特開平７−１６０４８１号公報（特許文献１）で開示されており、特許文献１は除算装置にも適用できる。特許文献１に示された数学関数演算装置は、２ビット単位に正規化された入力オペランドの平方根を求めるために、平方根の近似逆数を格納するテーブルを備えている。このテーブルは、入力オペランドの先頭２ビットが１０又は１１のとき、入力オペランドの先頭からＮビット（Ｎは３以上の正整数）ビットをアドレスとしてアクセスされるエントリと、入力オペランドが０１のとき、入力オペランドの先頭から（Ｎ＋１）ビットをアドレスとしてアクセスされるエントリとを備え、この構成によって、テーブルの記憶容量を低減することができる。
【０００５】
一方、特開平７−４９７７２号公報（特許文献２）は被除数を除数で割って概算商を求める除算演算と、ある値の概算平方根を求める開平算演算の少なくとも一方を実行する浮動小数点演算装置を開示している。
【０００６】
また、非特許文献１には、改良された引き放し平方根算出アルゴリズム及びその回路が記載されている。
【特許文献１】特開平７−１６０４８１号公報
【特許文献２】特開平７−４９７７２号公報
【非特許文献１】ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＩＲＣＵＩＴＳ  ＡＮＤ  ＳＹＳＴＥＭＳ−II：ＡＮＡＬＯＧ  ＡＮＤ  ＤＩＧＩＴＡＬ  ＳＩＧＮＡＬ  ＰＲＯＣＥＳＳＩＮＧ，ＶＯＬ．４８，ＮＯ．１，ＪＡＮＵＡＲＹ  ２００１，ｐａｇｅ  １７７〜１７９
【非特許文献２】ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＩＲＣＵＩＴＳ  ＡＮＤ  ＳＹＳＴＥＭＳ，ＶＯＬ．３８，ＮＯ．４，ＡＰＲＩＬ  １９９１，ｐａｇｅ  ３５８〜３７５
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された演算装置はテーブルからの平方根の近似逆数と剰余保持回路の出力との乗算を行う乗算回路を含むと共に、加算部をも有している。
【０００８】
一方、特許文献２に記載された浮動小数点演算装置は、除数の逆値と、ある値の平方根の逆値を初期近似値として供給する手段と、除算及び開平算マイクロコードを用いて、除算及び開平算を実行している。
【０００９】
しかしながら、特許文献１及び２は四則演算、積和演算、及び、開平演算に共通に用いられる演算ユニットの構成自体については何等言及していないし、共通の演算ユニットを複数の演算に共用することについても示唆されていない。
【００１０】
更に、非特許文献１は平方根算出だけを目的とした回路を開示しているだけで、平方根算出以外の演算については何等言及していない。
【００１１】
本発明の目的は、複数の演算に共通に使用できる基本演算ユニットを提供することである。
【００１２】
本発明の他の目的は、共通に使用できる基本演算ユニットによって構成された演算処理回路を提供することである。
【００１３】
本発明の具体的な目的は、高度な信号処理アルゴリズムを高速且つ小電力で実行できる半導体回路を提供することである。
【課題を解決するための手段】
【００１４】
四則演算、積和演算、及び、開平演算に共通に不可避的に必要な演算ユニットが加算機能であることを考慮して、本発明は上記演算に共通に使用できるように構成された加算機能を有する基本演算ユニットを構成する。
【００１５】
更に、本発明の態様によれば、基本演算ユニットを含むことによって、乗算、除算、及び、開平演算を選択的に行うことができる演算処理回路が得られる。
【００１６】
本発明の別の態様によれば、乗算、除算、及び、開平演算を選択的に行える演算処理回路を含む半導体回路が得られる。
【発明の効果】
【００１７】
本発明では、複数の演算に共通に使用できる複数の基本演算ユニットを含み、これら基本演算ユニットをプログラマブルに制御することにより、高度な信号処理アルゴリズムを高パフォーマンス、短期間、且つ、低コストで実現できる演算処理回路が得られる。このような演算処理回路は、特に、開発期間が限られ、モデルチェンジ等が頻繁に行われるような携帯電話のようなシステムＬＳＩにおいて、同一のシステムＬＳＩをプログラマブルに変更することにより、他の演算にも再利用することができるため、モデルチェンジに柔軟に対処できると云う利点がある。
【発明を実施するための最良の形態】
【００１８】
発明の原理：
ここでは、まず、本発明の原理について説明する。
【００１９】
図１を参照すると、８ビットの被乗数（a7〜a0）と、８ビットの乗数（b7〜b0）とを乗算して、１６ビット（m15〜m0）の積を得る完全並列アレイ乗算器が示されている。図示されているように、当該乗算器は８行８列の論理積回路と、７行８列の加算器とを含んでいる。図１の加算器には、全加算器（Ｆｕｌｌ  Ａｄｄｅｒ）ＦＡと、半加算器ＨＡ、ＨＡ’が含まれており、これらＦＡ、ＨＡ、ＨＡ’の真理値表が表１に示されている。
【表１】
2005092372.tif 000003
表1からも明らかな通り、ＨＡはＦＡの入力Ｃが論理”０”を取る場合に相当し、他方、ＨＡ’はＦＡの入力Ｃが論理”１”を取る場合に相当している。
【００２０】
図１では、ＦＡの出力信号Ｘを塗りつぶした矢印によってあらわし、出力信号（キャリー信号）Ｙを塗りつぶしのない矢印によってあらわしている。このことは他の図面においても同様である。図１に示されているように、各ＦＡのキャリー信号Ｙは同一行に属する左隣のＦＡ，ＨＡ’に遅延無く直接入力されており、出力信号Ｘは右下に位置するＦＡに出力されている。
【００２１】
図２を参照すると、８ビットの被除数（b7〜b0）を８ビットの除数（a7〜a0）によって除算し、８ビットの商(q7〜ｑ0）を得る完全並列引き放し除算回路が示されている。図からも明らかな通り、当該除算回路は７行８列の排他的論理和回路と、７行８列の全加算器ＦＡによって構成されている。
【００２２】
また、各ＦＡのキャリー信号が各ＦＡの同一行で且つ左に位置するＦＡに出力されている点で、図２のＦＡは図１の場合と同様であり、各ＦＡにおける出力信号Ｘが出力されるＦＡは図１と相違している。また、図２に示された各ＦＡには、キャリー信号のほか、排他的論理和回路の出力信号が入力されている点でも、図１に示された各ＦＡと相違している。
【００２３】
図３を参照すると、１６ビットの入力数（被開数）（a7〜a0およびb7〜b0）の８ビット（r7〜r0）の平方根（開数）を求める完全並列引き放し平方根算出回路（開平回路）の改善例が示されている。
【００２４】
ここで、引き放し平方根算出（ｎｏｎｒｅｓｔｏｒｉｎｇ  ｓｑｕａｒｅ  ｒｏｏｔ）アルゴリズムについては、前述したように、非特許文献１に記載されている。
【００２５】
当該非特許文献１には、引き放し平方根算出アルゴリズム及びそのアルゴリズムに基づく回路構成が記載されていると共に、修正された引き放し平方根算出アルゴリズム及びその回路構成が示されている。修正された引き放し平方根算出アルゴリズムによれば、回路構成を修正しないアルゴリズムに基づく回路構成に比較して簡略化できる。ここで、当該非特許文献１に書かれたＣＡＳセル（ＣＡＳ）は、非特許文献２を参照すると、図７(a)中１３０１として示す４入力４出力の回路であり、図７(b)に示す真理値表を持つ。したがって、ＣＡＳ回路１３０１は、図７(c)に示すように、１個の全加算器１３０２および１個のＸＯＲ回路１３０３を含む回路構成を取ることがわかる。したがって、当該非特許文献１に記載された複数のＣＡＳを具備する引き放し平方根算出アルゴリズムに基づく回路は、複数の全加算器と複数のＸＯＲ回路によって構成されていることがわかる。
【００２６】
しかしながら、修正されたアルゴリズムに基づく回路構成にも冗長性があり、この冗長性を省けば、更に、図３に示すように、回路構成を簡略化できることが判明した。具体的には、ｎビットの被開数の最下位２ビット（b1b0）と各行のＬｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔに関連する全加算器およびＸＯＲ回路をなくすることができ、この結果、回路面積及び演算遅延を減少させることが可能である。
【００２７】
このように、図３に示された改善例は非特許文献1における冗長性を省いた成を有しており、被開数の最下位２ビットは論理和回路を介して、半加算器ＨＡに入力される構成を有している。この結果、当該平方根算出回路は最右列から最左列まで直列的に接続された最大８行の加算器を含んでいる。これら加算器は全加算器ＦＡ、半加算器ＨＡ、ＨＡ’を含むと共に、各ＨＡ、ＨＡ’には、直接又はインバータを介して入力数の各ビット（a7〜a0，b7〜b0）が与えられている。更に、全加算器には、排他的論理和回路に接続された全加算器ＦＡと、ＨＡ、ＨＡ’、又は、ＦＡに接続された全加算器ＦＡとが含まれている。図３からも明らかな通り、ＦＡ，ＨＡ，ＨＡ’の出力信号Ｙは同一行の左隣のＦＡに与えられている点で、図１及び２と同様である。
【００２８】
ここで、表１の真理値表からも明らかな通り、全加算器ＦＡの入力信号を制御することにより、ＦＡをＨＡ又はＨＡ’として使用することができる。また、図１〜図３を比較すると、ＦＡの入力信号及び出力信号を選択することにより、ＦＡの物理的な配列位置を変更することなく、図１の乗算器、図２の除算器、及び、図３の平方根算出回路を構成することができることが判る。
【００２９】
したがって、図１〜２に示された７行８列のＦＡ、ＨＡ、及び、ＨＡ’を乗算、除算、及び、平方根算出の際に共通に使用するものとし、この関係で、図１及び図２に示された最上行最左列のＦＡ（ＨＡ’）、あるいは図３に示された最上行の１行下の最左端のＦＡを原点（１，１）とすると、各ＦＡ（ＨＡ，ＨＡ’）は行方向（ｘ方向）及び列方向（ｙ方向）の位置によって、特徴付けることができる。例えば、図１及び図２の最上行に示された８個のＨＡ’，ＦＡ，ＨＡは（１，１）〜（１，８）によってあらわすことができ、最左列のＨＡ’又はＦＡは（１，１）〜（８，１）によってあらわすことができる。
【００３０】
図４（ａ）を参照すると、本発明に係る基本演算ユニットの回路構成が示されている。図示された基本演算ユニットは、除算（ｄｉｖｉｓｉｏｎ）、平方根算出（ｓｑｕａｒｅ−ｒｏｏｔ）、乗算（ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）の３つ演算を行うために使用される基本演算ユニット（ＤＳＭ）である。
【００３１】
図示された基本演算ユニットは、全加算（ＦＡ）部１０と、ＦＡ部１０の前段に設けられた入力選択回路２０とによって構成されている。ＦＡ部１０は入力信号Ａ、Ｂ、Ｃを受けて、出力信号Ｘ、Ｙを出力する回路であり、入力信号Ａ、Ｂ、Ｃ（又はポートＡ、Ｂ、Ｃ）と、出力信号Ｘ、Ｙとの関係は表１及び図４（ｂ）の真理値表からも明らかである。尚、入力信号Ｃ及び出力信号Ｙはキャリィ信号である。ＦＡ部１０は、図からも明らかな通り、排他的論理和回路（ＸＯＲ）１０１、１０２とマルチプレクサ回路（ＭＵＸ）１０３とによって構成され、ＸＯＲ１０１は入力信号ＡとＢの排他的論理和を取り、その結果をＸＯＲ１０２及びＭＵＸ１０３に出力する。ＸＯＲ１０２はＸＯＲ１０１の結果と入力信号Ｃとの排他的論理和を取り、出力信号Ｘを送出する。
【００３２】
他方、ＭＵＸ１０３は入力信号Ｂ、ＣをＸＯＲ１０１の結果に応じて選択し、出力信号Ｙを送出する。図示された例では、ＸＯＲ１０１の結果が論理”０”の時、入力信号Ｂを選択して、出力信号Ｙとして出力する一方、ＸＯＲ１０１の結果が論理”１”の時、入力信号Ｃを選択して、出力信号Ｙとして出力する。
【００３３】
ここで、図示された基本演算ユニット（ＤＳＭ）のＦＡ部１０が図１〜３のＦＡ（４，４）として使用される場合について説明する。この場合、図１からも明らかな通り、入力選択回路２０に、ａ４、ｂ４及びＦＡ（４，５）からのキャリー信号ｃｉｎを与え、出力信号ＸをＦＡ（５，５）に出力することによって、乗算器を構成できる。
【００３４】
また、図２からも明らかな通り、ＦＡ（４，４）には、a４とｘ３１の反転値のＸＯＲ出力、ＦＡ（４，５）のキャリー信号ｃｉｎ及びＦＡ（３，５）の出力信号Ｘが与えられると共に、出力信号ＸをＦＡ（５，３）に出力し、且つ、キャリー信号ｃｉｎをＦＡ（３，４）に出力する構成により、図２に示された除算器を構成できる。
【００３５】
更に、図３からも明らかな通り、ＦＡ（４，４）に、ｒ５，ｒ４のＸＯＲ出力，ＨＡ’（３，５）の出力信号Ｘを与え、ＦＡ（４，４）のキャリー信号ｃｉｎをＦＡ（４，３）に出力し、ＦＡ（４，４）の出力信号ＸをＦＡ（５，３）に出力することによって、図３と同様な平方根算出回路を構成できる。
【００３６】
これらのことを考慮して、図４（ａ）に示された入力選択回路２０はキャリー信号ｃｉｎを直接ＦＡ部１０に出力する一方、排他的論理演算（ＥＸ）部３０及びマルチプレクサ３２とを含んでいる。このうち、マルチプレクサ３２には、ＦＡ（３，３）及びＦＡ（３，５）の出力信号Ｘがそれぞれｙ１及びｙ２として与えられており、乗算の際、選択信号Ｓ１によってｙ１が選択され、除算及び平方根算出の際、ｙ２がマルチプレクサ３２からＦＡ１０の入力信号Ｂとして出力される。
【００３７】
一方、図示されたＥＸ部３０はＡＮＤ３０２、ＸＯＲ３０４、及び、マルチプレクサ３０６とを含み、マルチプレクサ３０６はＡＮＤ３０２及びＸＯＲ３０４の出力を選択し、ＦＡ部１０の入力信号Ａとして出力している。ここで、マルチプレクサ３０６はマルチプレクサ３２と同様に選択信号Ｓ１によって制御されており、このことからも明らかな通り、マルチプレクサ３０６は乗算の際に、ＡＮＤ３０２出力をＦＡ部１０の入力信号Ａとして選択し、他方、除算及び平方根算出の際、ＸＯＲ３０４の出力を入力信号Ａとして選択する。
【００３８】
次に、図４に示された基本演算ユニット（ＤＳＭ）のＦＡ部１０が図１〜３のＦＡ（４，４）として共有化されて使用される場合について説明する。その時のＤＳＭおよび周辺回路を図８に示す。この構成では、乗算の際、マルチプレクサ７６によってａ４が選択されて、ＤＳＭのｉｎ２ポートを通じてＥＸ部６０のＡＮＤ６０２に出力され、ＡＮＤ６０２はａ４とｂ４との論理積演算を行い、その結果をマルチプレクサ６０６を介して、ＦＡ４０に入力信号Ａとして出力する。
【００３９】
除算の際、マルチプレクサ７６によってａ４が選択されて、ＤＳＭのｉｎ２ポートを通じてＥＸ部６０のＡＮＤ６０４に出力され、また、マルチプレクサ７８によってｘ３１が選択されて、その反転値はＤＳＭのｉｎ３ポートを通じてＥＸ部６０のＸＯＲ６０４に出力され、ＸＯＲ６０４はａ４とｘ３１の反転値との論理積演算を行い、その結果をマルチプレクサ６０６を介して、ＦＡ４０に入力信号Ａとして出力する。
【００４０】
他方、平方根算出の際には、選択信号Ｓ２によりインバータ付きマルチプレクサ７７およびマルチプレクサ７８はｒ５を選択し、ＥＸ部６０のＸＯＲ６０４に出力する。さらに、マルチプレクサ７８によってｒ５が選択されて、ＤＳＭのｉｎ３ポートを通じてＥＸ部６０のＸＯＲ６０４に出力され、ＸＯＲ６０４はｒ４とｒ５との排他的論理和演算を行う。その結果は、選択信号Ｓ１として論理”０”が入力されたマルチプレクサ６０６を介して、ＦＡ４０に入力信号Ａとして出力する。ここで、７７および７８に示すインバータ付きマルチプレクサの回路の真理値表を図８(b)に示す。図８（ｂ）から明らかなように、マルチプレクサの選択信号Ｓ２が０のときは、ｘの反転値が出力ポートであるoutから出力され、Ｓ２が１のときは、ｒの値がそのまま出力ポートであるoutから出力される。
【００４１】
Ｓ１が論理”０”であり、かつＳ２が論理”０”である場合、図１からも明らかな通り、入力選択回路５０に、ａ４、ｂ４及びＦＡ（４，５）からのキャリー信号ｃｉｎを与え、出力信号ＸをＦＡ（５，５）に出力することによって、乗算器を構成できる。
【００４２】
また、Ｓ１が論理”１”であり、かつＳ２が論理”０”である場合、図２からも明らかな通り、ＦＡ（４，４）には、a４とｘ３１の反転値のＸＯＲ出力、ＦＡ（４，５）のキャリー信号ｃｉｎ及びＦＡ（３，５）の出力信号Ｘが与えられると共に、出力信号ＸをＦＡ（５，３）に出力し、且つ、キャリー信号ｃｉｎをＦＡ（３，４）に出力する構成により、図２に示された除算器を構成できる。
【００４３】
更に、Ｓ１が論理”１”であり、かつＳ２が論理”１”である場合、図３からも明らかな通り、ＦＡ（４，４）に、ｒ５，ｒ４のＸＯＲ出力，ＦＡ（３，５）の出力信号Ｘを与え、ＦＡ（４，４）のキャリー信号ｃｉｎをＦＡ（４，３）に出力し、ＦＡ（４，４）の出力信号ＸをＦＡ（５，３）に出力することによって、図３と同様な平方根算出回路を構成できる。このとき、図６に示すＦＡ（３，５）のＡポートには、図６に示すＯＲ回路１２００が出力する論理”１”が入力され、それにより図６に示すＦＡ（４，４）は図３に示すＦＡ（４，４）と等価な論理演算をおこなう回路構成となる。
【００４４】
したがって、図４（ａ）の基本演算ユニットは図１〜３に示されたＦＡ（４，４）と、当該ＦＡ（４，４）に接続された論理積、排他的論理和回路の組み合わせと等価であることが判る。図４（ａ）の基本演算ユニットは等価的に図４（ｃ）に示すａｎｄ／ｘｏｒによってあらわすことができる。
【００４５】
次に、図４に示された基本演算ユニット（ＤＳＭ）のＦＡ部１０が図１〜２のＦＡ（４，４）として共有化されて使用される場合について説明する。その時のＤＳＭおよび周辺回路を図９に示す。この構成では、乗算の際、ａ４がＤＳＭのｉｎ２ポートを通じてＥＸ部１００のＡＮＤ１００２に出力され、ＡＮＤ１００２はａ４とｂ４との論理積演算を行い、その結果をマルチプレクサ１００６を介して、ＦＡ８０に入力信号Ａとして出力する。
【００４６】
除算の際、ａ４がＤＳＭのｉｎ２ポートを通じてＥＸ部１００のＸＯＲ１００４に出力され、また、インバータ１１８によって値が反転したｘ３１が、ＤＳＭのｉｎ３ポートを通じてＥＸ部１００のＸＯＲ１００４に出力され、ＸＯＲ１００４はａ４とｘ３１の反転値との論理積演算を行い、その結果をマルチプレクサ１００６を介して、ＦＡ８０に入力信号Ａとして出力する。
【００４７】
Ｓ１が論理”０”である場合、図１からも明らかな通り、入力選択回路９０に、ａ４、ｂ４及びＦＡ（４，５）からのキャリー信号ｃｉｎを与え、出力信号ＸをＦＡ（５，５）に出力することによって、乗算器を構成できる。
【００４８】
また、Ｓ１が論理”１”である場合、図２からも明らかな通り、ＦＡ（４，４）には、a４とｘ３１の反転値のＸＯＲ出力、ＦＡ（４，５）のキャリー信号ｃｉｎ及びＦＡ（３，５）の出力信号Ｘが与えられると共に、出力信号ＸをＦＡ（５，３）に出力し、且つ、キャリー信号ｃｉｎをＦＡ（３，４）に出力する構成により、図２に示された除算器を構成できる。
【００４９】
したがって、図４（ａ）の基本演算ユニットは図１〜２に示されたＦＡ（４，４）と、当該ＦＡ（４，４）に接続された論理積、排他的論理和回路の組み合わせと等価であることが判る。
【００５０】
更に、本発明のように、乗算、除算、及び、平方根算出に共通の入力選択回路２０を構成する場合、ＥＸ部３０として、ａｎｄ／ｘｏｒのほかに、ｎａｎｄ／ｘｏｒ、ａｎｄ／ｘｎｏｒ、及び、ｎａｎｄ／ｘｎｏｒの４種類の論理回路を用意すれば良い。このうち、ｎａｎｄ／ｘｏｒを構成する場合、ＥＸ部３０のＡＮＤ３０２をＮＡＮＤに置き換えれば良く、また、ａｎｄ／ｘｎｏｒの場合、ＥＸ部３０のＸＯＲ３０４をＸＮＯＲに置換すれば良い。更に、ｎａｎｄ／ｘｎｏｒの場合には、ＥＸ部３０のＡＮＤ３０２及びＸＯＲ３０４をそれぞれＮＡＮＤ及びＸＯＲに置換すれば良い。
【００５１】
いずれにしても、図４（ａ）に示された基本演算ユニットを図１〜３に示されたＦＡ及び各ＦＡに付随する論理回路の代わりに用いることにより、ＦＡを共通に使用して、乗算、除算、及び、平方根算出のうち、少なくとも乗算、除算を行う演算処理回路を構成することができる。
【実施例１】
【００５２】
図５を参照すると、本発明の第１の実施例に係る演算処理回路は乗算及び除算を共通のＦＡアレイを使用して実行できる回路であり、図示された演算処理回路は８ビットの被乗数ａ（７：０）と８ビットの乗数ｂ（７：０）を乗算することにより、１６ビットの積ｍ（１５：０）を得ることができると共に、８ビットの被除数ｂ（７：０）を８ビットの除数ａ（７：０）によって割り算して、８ビットの商ｑ（７：０）を得ることができる。
【００５３】
図５に示されているように、原点（１，１）から（８，７）の位置に配置されたＦＡは図４（ａ）に示されたＦＡ部１０と同様な回路構成を有しており、各ＦＡには図４（ａ）と同様に、入力選択回路３０が接続されている。図５に示された入力選択回路はマルチプレクサ３２とそれ以外のＥＸ部３０とによって構成されていおり、ＥＸ部３０は図４に関連して説明したように、ａｎｄ／ｘｏｒ、ｎａｎｄ／ｘｏｒ、ａｎｄ／ｘｎｏｒ、及び、ｎａｎｄ／ｘｎｏｒの４種類の回路を含んでいる。
【００５４】
図５には、図９に示されたインバータ１１８に対応するインバータ１２０５が接続されている。
【００５５】
また、各ＦＡに接続されたマルチプレクサには、塗りつぶした矢印からも明らかな通り、ＦＡの各位置に応じた他の行及び列位置のＦＡから入力信号Ａが与えられている。更に、塗りつぶしのない矢印からも明らかな通り、図５に示された各行のＦＡ，ＨＡのキャリー信号ｃｉｎは前列に位置するＦＡに直接与えられており、キャリー信号ｃｉｎの転送による時間遅延が実質上生じない構成であることが判る。
【００５６】
尚、乗算に使用される被乗数、乗数、被除数、除数はそれぞれレジスタ、即ち、記憶装置に格納されると共に、演算結果である積、及び、商も、レジスタに格納される。更に、各マルチプレクサに与えられる選択信号は図示しない制御回路から与えられる。
【実施例２】
【００５７】
図６を参照すると、本発明の第２の実施例に係る演算処理回路は乗算、除算、及び、平方根算出の３つの演算を共通のＦＡアレイを用いて演算する回路である。図６には、図８（ａ）に示されたマルチプレクサ７７，７８に対応するマルチプレクサ１２０１，１２０２が示されており、更に、図８（ａ）に示されたマルチプレクサ７６に対応するマルチプレクサ１２０３が示されており、更に、図４（ａ）のＦＡ部１０に対応する各ＦＡには、ＥＸ部（ａｎｄ／ｘｏｒ等）が接続されていると共に、マルチプレクサ３２に対応するマルチプレクサ１２０４が接続されている。
【００５８】
図示された演算処理回路は、図５に示された乗算及び除算のほかに、１６ビットの被開数（ａ（７：０），ｂ（７：０））から８ビットの開数、即ち、開平結果ｒ（７：０）を得ることができる。
【００５９】
図６に示したように、図４（ａ）に示した前段マルチプレクサ３２を設けることにより、図６中のマルチプレクサ７６に対応するマルチプレクサ１２０３を各行で共通に使用できるため、図６に示された演算処理回路は構成を簡略化できると言う利点がある。
【００６０】
図６に示された演算処理回路は、３つの演算を共通のＦＡアレイを用いて実行できるため、乗算、除算、及び、平方根算出を個別に行う場合に比較して、ゲート数を少なくすることができ、更に、消費電力を少なくすることができる。
【００６１】
実際に、８ビットの乗算、８ビットの除算、及び、１６ビットの平方根算出を個別に行う回路では、約１２００以上のゲートが必要であり、且つ、消費電力も２１．５ｍＷと高かったが、本発明に係る演算処理回路では、ゲート数を１０６０程度に少なくすることができ、また、消費電力も１０．６ｍＷまで半減させることができた。このことは、本発明に係る演算処理回路を半導体チップによって構成した場合、小さい面積で形成できることを意味している。
【００６２】
先に述べた位相限定相関アルゴリズムでは、２の補数によってあらわされた複素数及び実数を用いてＦＦＴバタフライ演算、積和演算、開平演算、除算、相関演算、逆ＦＦＴバタフライ演算が順次行われている。この場合、ＦＦＴバタフライ演算では４個の乗算器が必要で、４入力の場合は計１６個の乗算器を備えなければならない。次の積和演算では各２個合計８個の乗算器を必要とするが、これはすでに備えられている１６個の乗算器を用いればよい。次の開平演算では各１個、合計４個の開平演算器を備えなければならない。その次の除算では、各２個合計８個の除算器を必要とする。次の相関演算および逆ＦＦＴバタフライ演算では、それぞれの演算に各４個、計１６個の乗算器をそれぞれ必要とするが、これもすでに備えられている１６個の乗算器を用いればよい。従って、従来位相限定相関アルゴリズムを実行する回路は、乗算器１６個、除算器８個、開平演算器４個を必要とする。これに対して本発明を用いれば、乗算・除算・開平演算が選択実施可能な回路４個、乗算・除算が選択実施できる回路４個、および従来の乗算器８個を備えればよい。従って、従来技術での演算器２０個（乗算器８個＋除算器８個＋開平演算器４個）を、本発明の演算器８個で置き換えることができ、その効果は絶大である。
【産業上の利用可能性】
【００６３】
本発明は高度な信号処理アルゴリズムを実行する携帯電話等のＬＳＩ製品に適用して、プログラマブルな製品設計を可能する。また、本発明では、共通のＦＡアレイを使用して、種々の演算をプログラマブルに実行できるため製品の小型化が実現できる。したがって、本発明は小型化が要求される様々な電子機器に応用できる。
【図面の簡単な説明】
【００６４】
【図１】本発明の原理を説明するために使用される完全並列アレイ乗算器を示すブロック図である。
【図２】本発明の原理を説明するために使用される完全引き放し除算回路を示すブロック図である。
【図３】本発明の原理を説明するために使用される完全引き放し平方根算出回路を示すブロック図である。
【図４】（ａ）、（ｂ）、及び（ｃ）は本発明に係る基本演算ユニットの回路構成、論理構成、及び、真理値を示す図である。
【図５】本発明の実施例１に係る演算処理回路を説明する回路図である。
【図６】本発明の実施例２に係る演算処理回路を説明する回路図である。
【図７】（ａ），（ｂ），及び（ｃ）は従来提案されている引き放し平方根算出アルゴリズムを説明する回路構成、真理値、及び、等価回路を示す図である。
【図８】（ａ）及び（ｂ）は図６に示された演算処理回路に使用される基本演算ユニット及び周辺回路の構成及び真理値を示す図である。
【図９】図５に示された演算処理回路に使用される基本演算ユニットの構成を説明する回路図である。
【符号の説明】
【００６５】
１０          全加算器
１０１        ＸＯＲ
１０２        ＸＯＲ
１０３        マルチプレクサ
２０          入力選択回路
３０          ＥＸ部
３２          マルチプレクサ
３０２        ＡＮＤ
７７          インバータ付きマルチプレクサ
１１８        インバータ
１２００      ＯＲ
１３０１      ＣＡＳセル
【図１】
2005092372.tif 000004
【図２】
2005092372.tif 000005
【図３】
2005092372.tif 000006
【図４】
2005092372.tif 000007
【図５】
2005092372.tif 000008
【図６】
2005092372.tif 000009
【図７】
2005092372.tif 000010
【図８】
2005092372.tif 000011
【図９】
2005092372.tif 000012
【手続補正書】
【提出日】平成15年9月12日(2003.9.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上の数の演算データおよび命令を受け、前記命令に応じて前記演算データを演算処理する演算処理回路であって、前記演算データを前記命令に応じて選択する選択回路と、前記選択された結果を演算する基本演算ユニットとを具備し、前記基本演算ユニットは、乗算、除算、及び、開平演算を含む算術演算機能のうち、前記命令で指定された１つの演算処理を前記選択回路で選択された演算データに対して行う構成を備え、前記基本演算ユニットから演算結果を出力することを特徴とする演算処理回路。
【請求項２】
請求項１において、前記基本演算ユニットは、全加算器を具備していることを特徴とする演算処理回路。
【請求項３】
複数個の加算器を具備したアレイと、外部から与えられる命令に応じて、前記アレイにおいて、乗算、除算、及び、開平演算のうち、１つの演算を行わせるように、前記加算器への入力信号を生成する入力信号生成機構とを有することを特徴とする演算処理回路。
【請求項４】
請求項３において、前記アレイが開平演算の演算処理を行う構成となるとき、回路における冗長性を省いた構成を備え、開平演算に必要な前記アレイの面積を縮小できることを特徴とする演算処理回路。
【請求項５】
請求項３又は４において、ある一定の時間を経過した後，乗算、除算および開平演算のうちのいずれか１つの演算を行う演算ブロックであって、
該演算ブロックは、１個以上の前記演算ユニットと、
前記演算ユニットの演算結果を格納するメモリと、
前記メモリの出力あるいは前記演算ブロックの外部から入力される数のデータのいずれかを前記演算ユニットへ出力するスイッチ機構と、
１あるいはそれ以上の演算時間単位にわたって前記演算ユニットの構成を決定する復号機構を具備し、
前記演算ブロックの内部で乗算および除算および開平演算を組み合わせた演算処理を行うことを特徴とする演算処理回路。
【請求項６】
請求項１〜５のいずれかにおいて、前記演算処理回路は半導体チップ内に形成されていることを特徴とする演算処理回路。
【請求項７】
乗算、除算、及び、平方根算出のうち、少なくとも乗算及び除算に共通に使用される基本演算ユニットであって、前記乗算及び除算に必要なデータ信号を選択する選択回路と、前記選択されたデータ信号とキャリー信号とを受け、全加算を行い出力信号を出力する全加算器とを有することを特徴とする基本演算ユニット。
【請求項８】
請求項７において、前記基本演算ユニットは行及び列方向に複数個配列され、アレイを構成していることを特徴とする演算処理回路。
【請求項９】
請求項８において、前記各基本演算ユニットの選択回路は、前記データ信号を排他的に演算する排他演算部と、他の行／列に配置された全加算器からの出力信号を選択するマルチプレクサとを備え、更に、各全加算器には、同一行の全加算器のキャリー信号が与えられていることを特徴とする演算処理回路。
【請求項１０】
請求項９において、前記排他演算部は、ａｎｄ／ｘｏｒ，ｎａｎｄ／ｘｏｒ，ａｎｄ／ｘｎｏｒ，及び、ｎａｎｄ／ｘｎｏｒのいずれかを実行する回路を含んでいることを特徴とする演算処理回路。
【請求項１１】
加算器を行列状に配列し、第１の加算器の演算結果を該第１の加算器が属する行に属しかつ前記第１の加算器に隣接する第２の加算器に送るとともに前記行に隣接する行であって前記第１の加算器の属する列に隣接する列に属する第３の加算器へ送るようにした演算処理回路において、前記第３の加算器として存在する４つの加算器のうちの特定の１つを前記演算処理回路のなすべき演算に応じて選択できるようにし、該選択によって乗算、除算及び開平演算のうちの１つの演算を行わせるようにしたことを特徴とする演算処理回路。