(57)【要約】【課題】回路構成の簡素化と演算の高速化を両立させる。【解決手段】光論理回路は、Ｎビット（Ｎは２以上の整数）の複数の入力信号Ｘ1，・・・，Ｘnの論理演算を行う際に、複数の入力信号Ｘ1，・・・，Ｘnに対する同一のビット同士の所定の論理関数の結果をビット毎に出力する論理回路２〜４と、この論理回路２〜４の出力を制御入力として、ビット毎の論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する論理回路５とを備える。論理回路５は、論理回路２〜４の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０と、値１のうちいずれか１つを出力する。【選択図】  図７
2018036455.tif 000002
【特許請求の範囲】
【請求項１】
Ｎビット（Ｎは２以上の整数）の複数の入力信号の論理演算を行う際に、前記複数の入力信号に対する同一のビット同士の所定の論理関数の結果をビット毎に出力する第１の論理回路と、
この第１の論理回路の出力を制御入力として、ビット毎の前記論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する第２の論理回路とを備え、
前記第２の論理回路は、前記第１の論理回路の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０と、値１のうちいずれか１つを出力することを特徴とする光論理回路。
【請求項２】
請求項１記載の光論理回路において、
前記第１の論理回路が電気回路または光回路からなり、
前記第２の演算回路が光回路からなることを特徴とする光論理回路。
【請求項３】
請求項１または２記載の光論理回路において、
前記第１の論理回路と前記第２の論理回路はカスケード接続されており、   
前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、
前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０と、値１と、前段の光ゲートの出力のうち少なくとも１つを信号入力とする複数の光ゲートを、複数段のツリー状に接続した構造を含むことを特徴とする光論理回路。
【請求項４】
請求項１または２記載の光論理回路において、
前記第１の論理回路と前記第２の論理回路はカスケード接続されており、
前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、
前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号のうち少なくとも１つを信号入力とする１つの光ゲートを含むことを特徴とする光論理回路。
【請求項５】
請求項１記載の光論理回路において、
前記第１の論理回路が電気回路または光回路からなり、
前記第２の論理回路が光回路からなる場合に、光信号の異なる位相に０，１の値を割り当てることを特徴とする光論理回路。
【請求項６】
請求項５記載の光論理回路において、
前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、
前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０を表す位相の信号と、値１を表す位相の信号のうちいずれか１つを信号入力とし、この信号入力の位相の変調／無変調を前記論理関数の出力に応じて切り替える１乃至複数の位相変調器と、
前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０を表す位相の信号と、値１を表す位相の信号と、前段の１乃至複数の位相変調器の出力のうち２つを信号入力とする光ゲートとを含むことを特徴とする光論理回路。
【請求項７】
請求項５記載の光論理回路において、
前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、
前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号を信号入力とし、この信号入力の位相の変調／無変調を前記論理関数の出力に応じて切り替える１つの位相変調器を含むことを特徴とする光論理回路。
【請求項８】
請求項５記載の光論理回路において、
前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、
前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０を表す位相の信号と、値１を表す位相の信号のうち少なくとも１つを信号入力とする１つの光ゲートを含むことを特徴とする光論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理演算を光回路、または光回路と電気回路の混合回路で行う光論理回路に関するものである。
【背景技術】
【０００２】
現在の電子演算回路は、その処理速度を向上させるため、そのチップサイズや素子サイズを極限まで小さくする工夫がなされている。その理由は、回路内の抵抗（Ｒ）とキャパシタンス（Ｃ）とが信号の伝搬を大きく律速しているため、演算速度を上げるにはチップサイズや素子サイズを小さくするしかないためである。そのため、狭面積の論理ブロックやコアに素子を詰め込み、マルチコア（multi-core）・メニーコア（many core）化などの工夫がなされているが、それらのコアを繋ぐための配線が新たな「遅延」を生み、演算の高速化に限界が見えつつある。
【０００３】
一方、光通信などで用いられる光配線や光パスゲートは、その配線経路内のＣやＲに無依存で光信号を伝播させることができる。また、ナノフォトニクスの進展により、光ゲートの消費エネルギーは飛躍的に改善され、そのエネルギーコスト［Ｊ／ｂｉｔ］は、ＣＭＯＳゲートと光で同程度のレベルになりつつある。そのため、チップ内やチップ間の通信を光化する様々な研究がなされている。
【０００４】
しかしながら、従来の研究では、回路の演算時間を律速する演算経路(クリティカルパス)への配慮がなく、演算で生じる遅延を解決できていないという問題点があった。したがって、演算レベルで生じる遅延の問題を根本から解決するためには、チップ内やチップ間の光配線や光ゲートだけでなく、さらに粒度を細かくトランジスタレベルまで光化を進める必要がある。
【０００５】
ここで、光ゲートの電気制御ポート側から信号を入力する接続形態をカスケード接続、スイッチの光伝搬経路が連続的に接続されている形態をシリアル接続と定義する。例えばシリアル接続とカスケード接続が混在した光電融合型の回路を想定した場合、カスケード接続の部分が光と電気の境界となり、その境界において回路中を伝搬する光信号は一度電気に変換（ＯＥ（Optical-Electrical）変換）される必要がある。この変換は電気回路に律速されるため、ＯＥ変換が多用される回路は光を使うことのメリットが小さい。そのため、光と電気の境界、つまりカスケード接続の配置場所と数が回路構成の重要なポイントとなる。このような観点でこれまでに報告されている光回路を分類すると、以下の２つとなり、それぞれに一長一短がある。
【０００６】
従来の光回路のひとつの構成は図４６（Ａ）に示される、ｐｒｏｄｕｃｔ−ｔｅｒｍ型の回路である（非特許文献１参照）。ｐｒｏｄｕｃｔ−ｔｅｒｍ型の回路は、演算を２つのステージに分割し、それぞれを、ｐａｓｓ／ｂｌｏｃｋ型の光１×１スイッチで構成し、光を伝搬させることで演算を行う。つまりステージのそれぞれはシリアル接続で構成され、その間に１段のカスケード接続を導入することで、ＡＮＤ／ＯＲ論理に基づく演算を実現している。
【０００７】
第１ステージのＡＮＤゲート１００は複数の光１×１スイッチ１０１，１０２で構成される。図４６（Ａ）の例では、３つの光１×１スイッチ１０１または１０２がシリアル接続された構成がｎ段設けられている。
【０００８】
光１×１スイッチ１０１は、電気制御入力が“１”であるときにオン状態となって入力経路からの光信号を通過させ（ｐａｓｓ）、電気制御入力が“０”であるときにオフ状態となって光信号を遮断する（ｂｌｏｃｋ）。光１×１スイッチ１０２は、電気制御入力が“１”であるときにオフ状態となって入力経路からの光信号を遮断し、電気制御入力が“０”であるときに光信号を通過させる。ＡＮＤゲート１００の入力経路には光源１０３を配置して光を入力する。
【０００９】
一方、第２ステージのＯＲゲート１０４は、ｎ個の光１×１スイッチ１０２がシリアル接続された構成からなる。ＯＲゲート１０４の入力経路には光源１０５を配置して光を入力する。そして、ＡＮＤゲート１００とＯＲゲート１０４との間には、ＡＮＤゲート１００のｎ個の光出力を、ＯＲゲート１０４の各光１×１スイッチ１０２の電気制御入力として与えるカスケード接続のためのＯＥ変換器１０６が配置される。
【００１０】
図４６（Ａ）に示した構成により全ての演算が再現可能となる。また、第１ステージに振り分けられた演算（光１×１スイッチ１０１または１０２で構成される１本のライン）のそれぞれは並列処理が可能な状態となるため、演算時間が短縮される。つまり、ｐｒｏｄｕｃｔ−ｔｅｒｍ型の回路の演算時間は、第１ステージにおける最長の演算時間と、第１ステージと第２ステージとの間に配置されるカスケード接続部のＯＥ変換器１０６のスイッチング時間と、第２ステージの演算時間との和となる。
【００１１】
ただし、ｐｒｏｄｕｃｔ−ｔｅｒｍ型の回路の各ステージで用いられる演算は、基本的にはそれぞれＡＮＤとＯＲである。非特許文献１では、第１ステージをＸＯＲの利用まで拡張してはいるが、第２ステージはＯＲに限定されている。そのため、各ステージのシリアル接続段数は多くなりがちで、光の伝搬時間が長くなるため、このようなケースにおいては演算が遅くなる。また、カスケード接続部において光信号を電気信号に変換し、その電気信号により第２ステージの光ゲートを制御するため、光を伝搬させるだけでは演算は完了しない。
【００１２】
従来の光回路の他の構成は図４６（Ｂ）に示されるＢＤＤ（binary decision diagram）型の回路である（非特許文献２参照）。全ての演算は２分岐スイッチのツリー構造（ＬＵＴ：Look up table）で表現することが可能で、このツリー構造のスイッチ数を少なく再構成したものがＢＤＤである。ＬＵＴは２×１または２×２の光スイッチで再現が可能であり、ＢＤＤは複数分岐のスイッチを必要とする。
【００１３】
図４６（Ｂ）の例では、ＢＤＤ型の回路１０７は、ｐａｓｓ／ｃｒｏｓｓ型２×２光スイッチ１０８をｎ段のツリー状に接続したものである。２×２光スイッチ１０８は、ｐａｓｓ／ｃｒｏｓｓ型２×２光スイッチを２×１光スイッチとして使用し、電気制御入力が“１”であるときに、出力ポートとして使用する側の入力ポートからの光信号を選択し（ｐａｓｓ）、電気制御入力が“０”であるときに、出力ポートとして使用する反対側の入力ポートからの光信号を選択する（ｃｒｏｓｓ）。ＢＤＤ型の回路１０７の入力経路には光源１０９を配置して光を入力する。
【００１４】
ＢＤＤ型の回路１０７の内部は全てシリアル接続で構成されるため、カスケード接続を前提とするＰｒｏｄｕｃｔ−ｔｅｒｍ型とは形態が異なり、事前に電気的に制御された経路に光を伝搬させるだけで演算を完了することができる。つまり、回路１０７内の光の伝搬時間が演算時間となる。ただし、ＢＤＤ型の回路１０７は光経路の交差や分岐を多数含むため、実現が困難な回路構成となってしまう。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Qianfan Xu et al.，“Reconfigurable optical directed-logic circuits using microresonator-based optical switches”，OPTICS EXPRESS，Vol.19，No.6，pp.5244-5259，2011
【非特許文献２】浅井哲也，雨宮好仁，小柴正則，“二分決定グラフにもとづくフォトニック結晶集積デバイス”，信学会総合大会，SC-1-4，2000
【発明の概要】
【発明が解決しようとする課題】
【００１６】
以上のように、従来のｐｒｏｄｕｃｔ−ｔｅｒｍ型の回路では、演算速度が遅いという問題点があった。
また、従来のＢＤＤ型の回路では、回路構成が複雑になり、実現が困難な回路構成になってしまうという問題点があった。
【００１７】
本発明は、上記課題を解決するためになされたもので、回路構成の簡素化と演算の高速化を両立させることができる光論理回路を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の光論理回路は、Ｎビット（Ｎは２以上の整数）の複数の入力信号の論理演算を行う際に、前記複数の入力信号に対する同一のビット同士の所定の論理関数の結果をビット毎に出力する第１の論理回路と、この第１の論理回路の出力を制御入力として、ビット毎の前記論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する第２の論理回路とを備え、前記第２の論理回路は、前記第１の論理回路の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０と、値１のうちいずれか１つを出力することを特徴とするものである。
【００１９】
また、本発明の光論理回路の１構成例は、前記第１の論理回路が電気回路または光回路からなり、前記第２の演算回路が光回路からなることを特徴とするものである。
また、本発明の光論理回路の１構成例において、前記第１の論理回路と前記第２の論理回路はカスケード接続されており、  前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０と、値１と、前段の光ゲートの出力のうち少なくとも１つを信号入力とする複数の光ゲートを、複数段のツリー状に接続した構造を含むことを特徴とするものである。
また、本発明の光論理回路の１構成例において、前記第１の論理回路と前記第２の論理回路はカスケード接続されており、前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号のうち少なくとも１つを信号入力とする１つの光ゲートを含むことを特徴とするものである。
【００２０】
また、本発明の光論理回路の１構成例は、前記第１の論理回路が電気回路または光回路からなり、前記第２の論理回路が光回路からなる場合に、光信号の異なる位相に０，１の値を割り当てることを特徴とするものである。
また、本発明の光論理回路の１構成例において、前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０を表す位相の信号と、値１を表す位相の信号のうちいずれか１つを信号入力とし、この信号入力の位相の変調／無変調を前記論理関数の出力に応じて切り替える１乃至複数の位相変調器と、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０を表す位相の信号と、値１を表す位相の信号と、前段の１乃至複数の位相変調器の出力のうち２つを信号入力とする光ゲートとを含むことを特徴とするものである。
また、本発明の光論理回路の１構成例において、前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号を信号入力とし、この信号入力の位相の変調／無変調を前記論理関数の出力に応じて切り替える１つの位相変調器を含むことを特徴とするものである。
また、本発明の光論理回路の１構成例において、前記第１の論理回路は、１乃至複数の前記論理関数の結果を出力するものであり、前記第２の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０を表す位相の信号と、値１を表す位相の信号のうち少なくとも１つを信号入力とする１つの光ゲートを含むことを特徴とするものである。
【発明の効果】
【００２１】
本発明では、複数の入力信号に対する同一のビット同士の所定の論理関数の結果をビット毎に出力する第１の論理回路と、この第１の論理回路の出力を制御入力として、ビット毎の論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する第２の論理回路とから光論理回路を構成し、第２の論理回路が、第１の論理回路の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値０と、値１のうちいずれか１つを出力する。本発明では、光論理回路を第１の論理回路と第２の論理回路の２つのステージに分割し、ステージ間をカスケード接続することにより、回路構成の簡素化を実現することができる。この分割は第１の論理回路に振り分けられた複数の論理関数をそれぞれ並列処理が可能な状態とし、第１の論理回路からの信号で第２の論理回路に含まれるゲートを一度に開閉させることができるため、第２の論理回路における光信号の伝搬経路が確定するまでの時間を大幅に短縮することができる。さらに、第２の論理回路内のシリアル接続段数を大幅に削減することができるため、演算時間を大幅に短縮することができる。本発明が提供する光論理回路は、トランジスタレベルまで光化を進めた構成となっており、電気回路と光回路の融合を容易にし、電気回路の得意分野（膨大な素子の超高集積と並列処理による、超高スループット演算）と、光回路の得意分野（情報を光の速度で伝搬させながら光の伝搬速度で演算を完了させる、超低レイテンシ演算）の両立が可能となり、動作周波数が頭打ち状態になりつつある電気回路の問題を解決することを可能とする。
【００２２】
また、本発明では、光信号の異なる位相に０，１の値を割り当てる。これにより、本発明では、下位ビットからの伝搬信号の否定信号を作る回路が不要となり、回路を簡素化し、素子数を大幅に削減することが可能となる。また、本発明の光論理回路によれば、その出力が位相変調光信号となるため、デジタルコヒーレントなどで用いられている位相検出技術を用いれば、受信時の０／１判定のエラーを小さくすることが可能となる。
【図面の簡単な説明】
【００２３】
【図１】本発明の光論理回路の構成を示すブロック図である。
【図２】ＢＤＤに基づく光回路を説明する図である。
【図３】ｃａｓｃａｄｅｄ−ＢＤＤを説明する図である。
【図４】加算回路、パタンマッチ回路の特徴を説明する図である。
【図５】本発明の第１の実施の形態に係る光論理回路を模式化した図である。
【図６】図５の光論理回路の論理ブロックの従来の構成を示すブロック図である。
【図７】本発明の第１の実施の形態に係る光論理回路の論理ブロックの構成を示すブロック図である。
【図８】ルックアップテーブルから、本発明の第１の実施の形態に係る第２ステージの論理回路を設計する手順を説明する図である。
【図９】本発明の第１の実施の形態に係る第２ステージの論理回路の構成例を示す図である。
【図１０】本発明の第１の実施の形態に係る第１ステージの論理回路を設計する手順を説明する図である。
【図１１】本発明の第１の実施の形態に係る第１ステージの論理回路の真理値表を示す図である。
【図１２】本発明の第２の実施の形態に係る全加算器を設計する手順を説明する図である。
【図１３】本発明の第２の実施の形態に係る全加算器を構成する論理回路の真理値表を示す図である。
【図１４】従来の全加算器の構成を示すブロック図である。
【図１５】本発明の第２の実施の形態に係る全加算器の構成を示すブロック図である。
【図１６】本発明の第２の実施の形態に係る全加算器の具体的な構成例を示すブロック図である。
【図１７】本発明の第３の実施の形態に係る光論理回路の構成を示すブロック図である。
【図１８】本発明の第１の実施の形態に係る論理回路を用いた場合の桁上げ部の構成を示すブロック図である。
【図１９】本発明の第３の実施の形態に係る論理回路を用いた場合の桁上げ部の構成を示すブロック図である。
【図２０】本発明の第４の実施の形態に係る全加算器の構成を示すブロック図である。
【図２１】本発明の第４の実施の形態に係る全加算器の具体的な構成例を示すブロック図である。
【図２２】パタンマッチ回路の真理値表を示す図である。
【図２３】本発明の第５の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図２４】本発明の第６の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図２５】本発明の第６の実施の形態に係るパタンマッチ回路の第１ステージの論理回路の真理値表を示す図である。
【図２６】本発明の第６の実施の形態に係るパタンマッチ回路の真理値表を示す図である。
【図２７】本発明の第７の実施の形態に係る全加算器の構成を示すブロック図である。
【図２８】本発明の第７の実施の形態に係る全加算器の第１ステージの論理回路の真理値表を示す図である。
【図２９】本発明の第７の実施の形態に係る全加算器の真理値表を示す図である。
【図３０】本発明の第７の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図３１】図３０の全加算器の第１ステージの論理回路の真理値表を示す図である。
【図３２】本発明の第７の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図３３】図３２の全加算器の第１ステージの論理回路の真理値表を示す図である。
【図３４】本発明の第８の実施の形態に係る乗算器の構成を示すブロック図である。
【図３５】本発明の第８の実施の形態に係る乗算器の第１ステージの論理回路の真理値表を示す図である。
【図３６】本発明の第８の実施の形態に係る乗算器の真理値表を示す図である。
【図３７】典型的なｐａｓｓ／ｃｒｏｓｓ型光ゲートを説明する図である。
【図３８】典型的なｐａｓｓ／ｃｒｏｓｓ型光ゲートを説明する図である。
【図３９】従来の全加算器の他の構成を示すブロック図である。
【図４０】本発明の第９の実施の形態に係る全加算器の構成を示すブロック図である。
【図４１】本発明の第９の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図４２】本発明の第１０の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図４３】本発明の第１１の実施の形態に係る全加算器の構成を示すブロック図である。
【図４４】本発明の第１１の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図４５】本発明の第１２の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図４６】従来の光論理回路の構成を示すブロック図である。
【発明を実施するための形態】
【００２４】
［発明の原理］
本発明では、図１（Ａ）〜図１（Ｃ）に示されるｃａｓｃａｄｅｄ−ＢＤＤの構成を適用する。Ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路は、Ｐｒｏｄｕｃｔ−ｔｅｒｍ型の光回路とＢＤＤ型の光回路の複合形態となっており、ｐｒｏｄｕｃｔ−ｔｅｒｍ型の光回路の第１ステージと第２ステージのどちらの演算もＢＤＤ型で構成されるものとする。また第１ステージと第２ステージの間はカスケード接続とする。それぞれのステージが光回路か電気回路のどちらかであるため、図１（Ａ）〜図１（Ｃ）の３通りの組み合わせを考えることができる。
【００２５】
なお、本発明では、電気制御系を１つしか有さない方向性結合器型のようなｐａｓｓ／ｃｒｏｓｓ型光ゲートにも、複数の独立した電気制御素子を内在するマッハツェンダ干渉型のようなｐａｓｓ／ｃｒｏｓｓ型光ゲートにも対応可能である。
【００２６】
図１（Ａ）の構成は、図４６（Ｂ）に示される従来のＢＤＤ型の光回路に類似する形態となっている。この図１（Ａ）の光論理回路は、第１ステージのＢＤＤ型の電気回路２００と、第２ステージのＢＤＤ型の光回路２０１とから構成される。電気回路２００の内部では、ｎ本の並列のラインのそれぞれがＢＤＤ型の電気回路２０２で構成されている。光回路２０１の内部では、図４６（Ｂ）と同様に、光ゲートがｎ段のツリー状に接続されている。そして、電気回路２００のｎ個の電気信号出力を、光回路２０１の電気制御入力として与えるカスケード接続が採用されている。
【００２７】
ただし、同じ論理構成であれば全く同じ回路構成となるＢＤＤの特徴を鑑みると、図４６（Ｂ）に示した従来のＢＤＤ型の回路と本発明のｃａｓｃａｄｅｄ−ＢＤＤ型の回路型の回路は根本的に異なる論理構成ということができる。また、回路の持つ特徴も異なる。ｃａｓｃａｄｅｄ−ＢＤＤ型の回路は従来のＢＤＤ型の回路を第１ステージ、第２ステージに分割することで、処理の一部を第１ステージ側に移すことで第２ステージの処理数を削減し、従来のＢＤＤ型の回路の複雑さを緩和し、従来のＢＤＤ型の回路よりも少ないシリアル接続段数を実現することができる。さらに、ｐｒｏｄｕｃｔ−ｔｅｒｍ型の回路と同様に、ステージの分割により第１ステージの演算を全て並列実行できるメリットも合わさり、演算時間の大幅な短縮が可能となる。
【００２８】
図１（Ｂ）の構成は、図４６（Ａ）に示されるｐｒｏｄｕｃｔ−ｔｅｒｍ型を含む形態となっている。この図１（Ｂ）の光論理回路は、第１ステージのＢＤＤ型の光回路２０３と、第２ステージのＢＤＤ型の光回路２０１と、第１ステージと第２ステージとの間に配置されるカスケード接続部となるｎ個のＯＥ変換器２０４とから構成される。光回路２０３の内部では、ｎ本の並列のラインのそれぞれがＢＤＤ型の光回路２０５で構成されている。
【００２９】
図１（Ｂ）の構成は、ステージを２つに分割する点はｐｒｏｄｕｃｔ−ｔｅｒｍ型と同じであるが、各ステージにＢＤＤ型の回路を採用するため、より少ない素子数と段数で同じ関数を実現することが可能となり、各ステージにおける光ゲートのシリアル接続段数をｐｒｏｄｕｃｔ−ｔｅｒｍ型よりも削減することができ、演算を高速化することができる。また、第１ステージの演算に必ずしも光を用いなくても演算の高速化が可能となるケースにおいては、図１（Ａ）の構成とすることで第１ステージと第２ステージの間の光・電気変換が不要となり、第２ステージのＢＤＤ型の光回路２０１に光を伝搬させるだけで演算を完了させることができる。
【００３０】
図１（Ｃ）の光論理回路は、第１ステージのＢＤＤ型の光回路２０３と、第２ステージのＢＤＤ型の電気回路２０６と、第１ステージと第２ステージとの間に配置されるカスケード接続部となるｎ個のＯＥ変換器２０４とから構成され、図４６（Ａ）に示されるｐｒｏｄｕｃｔ−ｔｅｒｍ型の第２ステージを電気素子で構成した回路を含む形態となっている。ただし、ｃａｓｃａｄｅｄ−ＢＤＤ型の回路では各ステージにＢＤＤ型の回路を採用するため、より少ない素子数と段数で同じ関数を実現することが可能となり、第１ステージにおける光ゲートのシリアル接続段数をｐｒｏｄｕｃｔ−ｔｅｒｍ型よりも削減し、演算を高速化することができる。
【００３１】
以上のように、本発明では、ｃａｓｃａｄｅｄ−ＢＤＤ型の回路の採用により、シリアル段数と光経路の交差と光経路の分岐とＯＥ変換とが少ない光回路を実現することができ、このような回路を演算経路(クリティカルパス)に適用することで、演算速度を飛躍的に改善することができる。
【００３２】
ここで、Ｃａｓｃａｄｅｄ−ＢＤＤについて補足説明する。図２（Ａ）、図２（Ｂ）にＢＤＤに基づく光回路の構成を示す。図２（Ａ）は典型的なＢＤＤ型の光回路を示しており、“０”、“１”の情報を有する光源がソース入力に接続されており、外部制御入力によって、“０”か“１”の光信号がｆ1として出力される。図２（Ａ）の７００は光ゲートである。この図２（Ａ）の回路は後述の図８（Ａ）の回路に該当する。
【００３３】
図２（Ｂ）は変則的なＢＤＤ型の光回路を示しており、外部制御入力の一部（Ｃi，バーＣiの両方かどちらか一方）がソース入力に接続され、外部制御入力によって、“０”、“１”、Ｃi、バーＣiのいずれかの光信号がｆ1として出力される。この図２（Ｂ）の回路は後述の図８（Ｂ）の回路に該当する。ＢＤＤ型の回路は、内包される光ゲート７００の光伝搬経路が、ソース入力から出力まで連続的に連なる全シリアル接続となっている。
【００３４】
図３（Ａ）、図３（Ｂ）に、ｃａｓｃａｄｅｄ−ＢＤＤ型の回路の構成を示す。８００〜８０２の各々はＢＤＤ型の回路である。図３（Ａ）の８０３は１段のカスケード接続部を示し、８０４は２段のカスケード接続部を示している。演算のステージが複数に分割されており、各ステージ間は、前ステージの演算結果が次ステージの電気制御入力として利用されるカスケード接続となっている。ＢＤＤ型の回路の出力が光信号の場合、ステージの境界においてＯＥ変換が必要となるため、カスケード接続が累積する図３（Ｂ）の回路構成においては、演算遅延が大きくなる。そのため、本発明においては、図３（Ａ）の２ステージ演算を採用し、カスケード段数を１段以下に限定することとする。
【００３５】
図４は本発明の加算回路とパタンマッチ回路の特徴を説明する図である。本発明では、ステージを２つに分け、第１ステージと第２ステージの回路構成をＢＤＤ（２分岐決定図）に基づく回路とし、ＢＤＤ型の回路の２分岐決定木（ツリー）を伝搬する信号を光信号とし、下位ビットＢＤＤ型の回路の光出力と、上位ビットＢＤＤ型の回路のソースが、光伝搬信号を通して第２ステージ上でつながり、大きな２分岐決定木（ツリー）を構成している。
【００３６】
その結果、本発明では、図４に示すように、１段のカスケード接続（８０３）を除いて、光源から出力まで全てシリアル接続となり、これにより第２ステージの演算は光を伝搬させるだけで演算が可能となり、光の伝搬時間で演算が完了する。また、カスケード接続を入れることにより、第２ステージのシリアル段数が削減され、光の伝搬時間を短くし、演算時間を短縮することが可能となる。さらに、カスケード接続が累積しないため、演算速度の低下を防ぐことができる。
【００３７】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して説明する。本実施の形態では図１（Ａ）の形態を想定し、図５の入力Ｃiの経路を図１（Ａ）の第２ステージのＢＤＤ型の光回路２０１に振り分け、その他の演算を第１ステージのＢＤＤ型の電気回路２００に振り分ける。
【００３８】
図５は、加算器などの演算回路を模式化した図であり、前段の論理ブロック１（部分関数）で演算された出力が、次段の論理ブロック１の入力として利用されている。例えば加算器であれば、Ｘ1，・・・，Ｘnは加算される値であり、Ｃiは前段のｉ−１桁からの桁上げの値である。ここでは、信号Ｃi，Ｃi+1，・・・が通る経路が、演算を律速するクリティカルパスとなる。
【００３９】
図５の回路に含まれる論理ブロック１（部分関数）は、一般的に、図６に示される回路で実現することができる。図６の回路は、論理回路３００，３０１と、セレクタ３０２とから構成される。論理回路３００は、Ｃi，Ｘ1，・・・，Ｘnに応じて“１”または“０”を出力する。論理回路３０１は、Ｘ1，・・・，Ｘnに応じて“１”または“０”を出力する。セレクタ３０２は、論理回路３０１の出力が“１”であるときに論理回路３００の出力を選択して出力し、論理回路３０１の出力が“１”であるときにＣiを選択して出力する。
【００４０】
本実施の形態では、図６の回路のセレクタ３０２の部分を、図７に示すようにｐａｓｓ／ｂｌｏｃｋおよびｐａｓｓ／ｃｒｏｓｓ型の光ゲートに置き換える。この図７の回路は、ＢＤＤ型の論理回路２〜５から構成される。図７は、１ｂｉｔ分の構成を示している。また、信号の“０”／“１”を０／１の光強度信号に対応させる。
【００４１】
第１ステージの論理回路２，３，４は、それぞれ電気信号Ｘ1，・・・，Ｘnを入力とし、所定の論理関数ｆ1，ｆ2，ｆ3に則った動作を行って“１”または“０”の電気信号を出力する。論理関数ｆ1，ｆ2，ｆ3および論理回路２，３，４の具体例については後述する。
【００４２】
第２ステージの論理回路５は、強度情報が“１”の光信号を出力する光源５０と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート５１と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５２，５３とから構成される。光ゲート５１は、論理回路３の出力が“１”であるときに光源５０からの光信号を通過させ、論理回路３の出力が“０”であるときに光源５０からの光信号を遮断する。光ゲート５２は、論理回路４の出力が“１”であるときに光信号Ｃiを選択して出力し、論理回路４の出力が“０”であるときに信号Ｃiに対する否定の光信号バーＣiを選択して出力する。光ゲート５３は、論理回路２の出力が“１”であるときに光ゲート５１の出力を選択して出力し、論理回路２の出力が“０”であるときに光ゲート５２の出力を選択して出力する。
【００４３】
このように、ＢＤＤ型の論理回路２〜４を第１ステージに配置し、ＢＤＤ型の論理回路５を第２ステージに配置する。図７の回路の構成により、クリティカルパスは第２ステージ上に配置され、光ゲート５１〜５３が連続的に連なった光伝搬経路となり、第１ステージからの電気制御入力により構築された経路に光を伝搬させるだけで、演算が完了する。クリティカルパス上の一部の演算（ｆ1，ｆ2，ｆ3）は第１ステージに配置されるため、第２ステージに配置されるクリティカルパス上のパスゲートの数が極小化され、伝搬による演算遅延を最小化することが可能となる。
【００４４】
ＬＵＴからＢＤＤ型の論理回路５を設計する手順は、図８（Ａ）〜図８（Ｃ）の３つの段階に整理することができる。図８（Ａ）は、図５の論理ブロック１（部分関数）を一般的なＬＵＴで表現した図である。Ａ1〜Ａ8，Ｂ1〜Ｂ8は実現したい論理回路に応じて“１”または“０”の値をとる。
【００４５】
左から１段目の８個の光ゲート４００は、Ｃiが“１”であるときに一方の光経路（図８（Ａ）の例では上側の光経路）を選択し、Ｃiが“０”であるときに他方の光経路（図８（Ａ）の例では下側の光経路）を選択する。左から２段目の４個の光ゲート４０１は、Ｘiが“１”であるときに一方の光経路（上側の光経路）を選択し、Ｘiが“０”であるときに他方の光経路（下側の光経路）を選択する。左から３段目の２個の光ゲート４０２は、Ｙiが“１”であるときに一方の光経路（上側の光経路）を選択し、Ｙiが“０”であるときに他方の光経路（下側の光経路）を選択する。左から４段目の光ゲート４０３は、Ｚiが“１”であるときに一方の光経路（上側の光経路）を選択し、Ｚiが“０”であるときに他方の光経路（下側の光経路）を選択する。
【００４６】
図８（Ｂ）は、図８（Ａ）におけるＣiのカスケード接続部をシリアル接続化した図である。つまり、図８（Ｂ）は、ＣiをＬＵＴのソース側に移行させたツリー構造を示している。このような操作は一般的にシャノン展開を用いることで可能となり、ＣiをＤに含まれる変数とすることができる。ここで、Ａ，Ｂは“０”または“１”の値を持つことから、ＤはＣi，バーＣi，“０”，“１”のいずれかで表現される。
【００４７】
図８（Ｂ）を２つのステージに分解することにより、図７、図８（Ｃ）に示すような論理回路５を実現することができる。つまり、元々の入力信号Ｘ，Ｙ，Ｚを用いた論理関数ｆ1〜ｆ3を電気制御端子側の第１ステージに移行し、第１ステージからの信号を入力として用いることで、第２ステージの任意の関数を２段のツリー構造で実現することが可能となる。このとき、信号Ｃi（またはバーＣi）が通過する第２ステージの１ｂｉｔ（一桁）あたりの光ゲートの合計の段数が１段乃至２段になるように第１ステージの論理関数を設計すればよい。以降の実施の形態においても論理関数を同様に設計すればよい。もちろん、第１ステージの演算を変更することで第２ステージの段数を増やすことは可能であり、これによりトータルの演算時間が短縮できるケースにおいては、第１ステージの演算を調整すればよい。
【００４８】
図９（Ａ）〜図９（Ｃ）に本実施の形態のＢＤＤ型の論理回路５の構成例を示す。図８（Ｂ）に示したツリー構造は、入力Ｘ，Ｙ，Ｚの値により、Ｃi，バーＣi，“０”，“１”のいずれかを出力する回路を表している。このような回路は、Ｃi，バーＣi，“０”，“１”をソースとする図９（Ａ）〜図９（Ｃ）の２段ツリー構造で実現することができる。
【００４９】
図９（Ａ）の例の論理回路５は、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５４〜５６からなる。光ゲート５４は、論理関数ｆ2の出力が“１”であるときにＣiを選択して出力し、論理関数ｆ2の出力が“０”であるときに“０”を選択して出力する。光ゲート５５は、論理関数ｆ3の出力が“１”であるときにバーＣiを選択して出力し、論理関数ｆ3の出力が“０”であるときに“１”を選択して出力する。光ゲート５６は、論理関数ｆ1の出力が“１”であるときに光ゲート５４の出力を選択し、論理関数ｆ1の出力が“０”であるときに光ゲート５５の出力を選択する。
【００５０】
図９（Ｂ）の例の論理回路５は、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５７〜５９からなる。光ゲート５７は、論理関数ｆ2の出力が“１”であるときにＣiを選択して出力し、論理関数ｆ2の出力が“０”であるときに“１”を選択して出力する。光ゲート５８は、論理関数ｆ3の出力が“１”であるときにバーＣiを選択して出力し、論理関数ｆ3の出力が“０”であるときに“０”を選択して出力する。光ゲート５９は、論理関数ｆ1の出力が“１”であるときに光ゲート５７の出力を選択し、論理関数ｆ1の出力が“０”であるときに光ゲート５８の出力を選択する。図９（Ｃ）の構成は図７と同様である。
【００５１】
上記のとおり、ツリー構造のソースはＣi，バーＣi，“０”，“１”の任意の組み合わせとなる。特に“１”と“０”とが対となり、ＣiとバーＣiとが対となる図７、図９（Ｃ）のような組み合わせにおいては、より簡略な構成とすることができる。また、これらの２段ツリー構造は、制御端子で用いられる論理関数次第で、１段のツリー構造とすることもできる。
【００５２】
図１０（Ａ）、図１０（Ｂ）は、論理回路５の制御信号を生成するための論理関数ｆ1〜ｆ3 （第１ステージの論理回路２〜４）を設計する手順を説明する図である。図１０（Ａ）に示されるように、ツリー構造のソース部には前段からの出力Ｃi，バーＣiが接続される。このとき、ＣiおよびバーＣiに対する分岐数は、最大２n-1（ｎは第２ステージへの制御信号の数）となる。この分岐は回路を複雑にし、光の分岐損の原因となるため、以下の方法で分岐を削減する。
【００５３】
まず、図１０（Ｂ）に示すように、ＣiとバーＣiの対と、“０”と“１”の対に分割するための論理関数ｆ1を規定する。論理関数ｆ1は、図１０（Ａ）においてＣiまたはバーＣiが次の段（ビット）への出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、“０”または“１”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。
【００５４】
次に、図１０（Ｂ）に示すように、ＣiとバーＣiの対を分割するための論理関数ｆ3を規定する。論理関数ｆ3は、図１０（Ａ）においてＣiが次の段への出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、バーＣiが出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。なお、図１０（Ａ）のソースにＣiまたはバーＣiが存在しなければ、論理関数ｆ3は不要となり、ＣiまたはバーＣiが伝搬するクリティカルパスは、ゲート数が１段の最短経路となる。
【００５５】
最後に、“０”と“１”の対を分割するための論理関数ｆ2を規定する。論理関数ｆ2は、図１０（Ａ）において“１”が次の段への出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、“０”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。つまり、論理関数ｆ2により光源をＯＮ／ＯＦＦする、あるいは論理関数ｆ2を光源として使うことが可能となる。
【００５６】
以上のような論理関数ｆ1〜ｆ3を真理値表で表現すると図１１のようになる。このような論理関数ｆ1〜ｆ3を実現する第１ステージの論理回路２〜４を、電気回路で容易に実現できることは言うまでもない。なお、図１１における「−」は“０”または“１”のどちらでもよいことを表している。
【００５７】
本実施の形態の２ステージ論理の採用による論理回路の設計は、第１ステージに振り分けられた複数のＢＤＤ型の回路のそれぞれを並列処理が可能な状態とし、処理の一部を第２ステージ側に移すことで第２ステージの処理数を削減する。このことは、ＢＤＤ型の回路の複雑さを緩和するだけでなく、ＢＤＤ型の回路内のシリアル接続段数を削減する。つまり、第２ステージの短尺化されたシリアル接続ゲートを、第１ステージからの並列処理された演算出力により一度に操作し、第２ステージに構築された伝搬経路に光信号を通すだけで演算を完了させることができるため、通常のＢＤＤ型の回路よりも演算を高速化することができる。
【００５８】
なお、図１０（Ａ）、図１０（Ｂ）、図１１で説明した論理関数ｆ1〜ｆ3は、図７、図９（Ｃ）に示した論理回路５のための関数である。
図９（Ａ）に示した論理回路５のためには、Ｃiと“０”の対と、バーＣiと“１”の対に分割するための論理関数ｆ1を規定し、Ｃiと“０”の対を分割するための論理関数ｆ2を規定し、バーＣiと“１”の対を分割するための論理関数ｆ3を規定すればよい。
【００５９】
図９（Ａ）の場合、論理関数ｆ1は、Ｃiまたは“０”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、バーＣiまたは“１”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。論理関数ｆ2は、Ｃiが出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、“０”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。論理関数ｆ3は、バーＣiが出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、“１”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。
【００６０】
図９（Ｂ）に示した論理回路５のためには、Ｃiと“１”の対と、バーＣiと“０”の対に分割するための論理関数ｆ1を規定し、Ｃiと“１”の対を分割するための論理関数ｆ2を規定し、バーＣiと“０”の対を分割するための論理関数ｆ3を規定すればよい。
【００６１】
図９（Ｂ）の場合、論理関数ｆ1は、Ｃiまたは“１”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、バーＣiまたは“０”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。論理関数ｆ2は、Ｃiが出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、“１”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。論理関数ｆ3は、バーＣiが出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“１”を出力し、“０”が出力Ｃi+1となるＸi，Ｙi，Ｚiの組み合わせのときに“０”を出力する関数である。
【００６２】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。本実施の形態では、光論理回路の具体例として全加算器について説明する。図１２（Ａ）〜図１２（Ｃ）は全加算器を設計する手順を説明する図である。図１２（Ａ）の６００は全加算器の桁上げ部をツリー構造で表現した回路、６０１は加算部をツリー構造で表現した回路である。Ｘi，Ｙiは加算されるｉ桁目の値、Ｃiはｉ−１桁からの桁上げの値である。また、信号の“０”／“１”を０／１の光強度信号に対応させる。
【００６３】
回路６００，６０１の左から１段目の４個の光ゲート６０２は、Ｃiが“１”であるときに一方の光経路（図１２（Ａ）の例では上側の光経路）を選択し、Ｃiが“０”であるときに他方の光経路（図１２（Ａ）の例では下側の光経路）を選択する。左から２段目の２個の光ゲート６０３は、Ｘiが“１”であるときに一方の光経路（上側の光経路）を選択し、Ｘiが“０”であるときに他方の光経路（下側の光経路）を選択する。左から３段目の光ゲート６０４は、Ｙiが“１”であるときに一方の光経路（上側の光経路）を選択し、Ｙiが“０”であるときに他方の光経路（下側の光経路）を選択する。
【００６４】
図１２（Ｂ）は、図１２（Ａ）のツリー構造で表現した回路におけるＣiのカスケード接続部をシリアル接続化した回路を示している。６０５は桁上げ信号Ｃi+1を出力する論理回路、６０６はＸiとＹiの加算結果を示す信号Ｓiを出力する論理回路、６０７は桁上げ信号Ｃi+1に対する否定の信号バーＣi+1を出力する論理回路である。
【００６５】
図１２（Ｃ）は、図１２（Ｂ）のシリアル接続化した回路を２ステージに分解した実際の論理回路を示している。６ａ〜６ｃは第２ステージの論理回路であり、論理回路６ａは桁上げ信号Ｃi+1を出力する回路、論理回路６ｂはＸiとＹiの加算結果を示す信号Ｓiを出力する回路、論理回路６ｃは信号バーＣi+1を出力する回路である。図１２（Ｃ）は１ｂｉｔ分の構成を示している。
【００６６】
論理回路６ａは、強度情報が“１”の光信号を出力する光源５０と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート６１と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート６２とから構成される。光ゲート６１は、論理関数ｆ2（論理回路３）の出力が“１”であるときに光源５０からの光信号を通過させ、論理関数ｆ2の出力が“０”であるときに光源５０からの光信号を遮断する。光ゲート６２は、論理関数ｆ1（論理回路２）の出力が“１”であるときに光信号Ｃiを選択して出力し、論理関数ｆ1の出力が“０”であるときに光ゲート６１の出力を選択して出力する。
【００６７】
論理回路６ｂは、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート６３からなる。光ゲート６３は、論理関数ｆ1（論理回路２）の出力が“１”であるときに光信号バーＣiを選択して出力し、論理関数ｆ1の出力が“０”であるときに光信号Ｃiを選択して出力する。
【００６８】
論理回路６ｃは、強度情報が“１”の光信号を出力する光源６４と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート６５と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート６６とから構成される。光ゲート６５は、論理関数ｆ2の否定バーｆ2の出力が“１”であるときに光源６４からの光信号を通過させ、バーｆ2の出力が“０”であるときに光源６４からの光信号を遮断する。光ゲート６５は、論理関数ｆ1（論理回路２）の出力が“１”であるときに光信号バーＣiを選択して出力し、論理関数ｆ1の出力が“０”であるときに光ゲート６５の出力を選択して出力する。なお、論理関数バーｆ2を実現する論理回路についても、論理関数ｆ1〜ｆ3と同様に、電気回路で容易に実現できることは言うまでもない。
【００６９】
図１２（Ａ）、図１２（Ｂ）、図１２（Ｃ）はそれぞれ、図８（Ａ）、図８（Ｂ）、図８（Ｃ）に対応する。ここで、図１２（Ｂ）に示した回路は、Ｃi，バーＣi，“０”，“１”のいずれかを出力する回路である。したがって、論理回路６ａは、論理関数ｆ2の出力に応じて“０”または“１”を光ゲート６１において選択し、論理関数ｆ1の出力に応じて信号Ｃiか光ゲート６１の出力を光ゲート６２において選択する回路となる。論理回路６ｂは、論理関数ｆ1の出力に応じて信号ＣiかバーＣiを光ゲート６３において選択する回路となる。論理回路６ｃは、論理関数バーｆ2の出力に応じて“０”または“１”を光ゲート６５において選択し、論理関数ｆ1の出力に応じて信号バーＣiか光ゲート６５の出力を光ゲート６６において選択する回路となる。
【００７０】
以上のような論理回路６ａ〜６ｃの動作を真理値表で表現すると図１３のようになる。図１１と同様に、図１３における「−」は“０”または“１”のどちらでもよいことを表している。
【００７１】
なお、本発明において、第２ステージの論理回路６ａ〜６ｃは、第１ステージの論理回路（論理関数）の出力に応じてＣi，バーＣi，“０”，“１”のいずれかを出力する回路であるが、第２ステージの各論理回路においてＣi，バーＣi，“０”，“１”の全てを用意しておく必要はない。つまり、論理回路６ａにおいてはＣiと“１”があればよく、論理回路６ｂにおいてはＣiとバーＣiがあればよく、論理回路６ｃにおいてはバーＣiと“１”があればよい。
【００７２】
図１４に、図１２（Ｂ）に示される論理回路６０５〜６０７を用いた従来の４ｂｉｔの全加算器の構成を示す。この図１４に示す回路は、ＢＤＤにより求められた光加算器（非特許文献２参照）と等価である。この図１４の回路は信号Ｃiに対して、論理回路６０５（６０５i〜６０５i+3）が２つのソースを要求し、論理回路６０６（６０６i〜６０６i+3）も２つのソースを要求する。したがって、信号Ｃiを一桁の演算あたり４分岐する必要がある。
【００７３】
同様に、信号バーＣiに対して、論理回路６０６（６０６i〜６０６i+3）が２つのソースを要求し、論理回路６０７（６０７i〜６０７i+3）が２つのソースを要求するため、信号バーＣiに関しても一桁の演算あたり４分岐を必要とする。また、クリティカルパスの経路（Ｃi，バーＣiの経路）は、一桁あたり２つの光ゲートを連続して通過する。
【００７４】
図１５に、図１２（Ｃ）に示される論理回路６ａ〜６ｃを用いて図１４の回路を簡素化した本実施の形態のＮｂｉｔ（Ｎは２以上の整数であり、ここではＮ＝４）の全加算器の構成を示す。この図１５の回路は信号Ｃiに対して、論理回路６ａ（６ａi〜６ａi+3）が１つのソースを要求し、論理回路６ｂ（６ｂi〜６ｂi+3）も１つのソースを要求する。したがって、信号Ｃiを一桁の演算あたり２分岐する必要がある。
【００７５】
同様に、信号バーＣiに対して、論理回路６ｂ（６ｂi〜６ｂi+3）が１つのソースを要求し、論理回路６ｃ（６ｃi〜６ｃi+3）も１つのソースを要求するため、信号バーＣiに関しても一桁の演算あたり２分岐を必要とする。また、クリティカルパスの経路（Ｃi，バーＣiの経路）は、一桁あたり１つの光ゲートを通過する。
【００７６】
つまり、本実施の形態によれば、全加算器の回路を２ステージに分割することにより、第２ステージのＢＤＤ型の論理回路６ａ〜６ｃに含まれるクリティカルパス上の光ゲートの数を極小化することができ、クリティカルパス上の信号の伝搬による演算遅延を最小化することが可能となる。更に、ＢＤＤ型の論理回路６ａ〜６ｃ内の分岐の数を削減することができ、回路の構成を単純化することが可能となる。
【００７７】
図１６に、図１５で用いられた全加算器の具体例を示す。ここでは、１ｂｉｔ分の構成を示す。図１２（Ｃ）と同一の構成要素には同一の符号を付してある。論理回路１３，１４，１５は、それぞれ論理関数ｆ1，ｆ2，バーｆ2に則った動作を行う電気回路である。論理関数ｆ1，ｆ2，バーｆ2の真理値表は図１３に示したとおりである。上記のとおり、図１３における「−」は“０”または“１”のどちらでもよいことを表しているから、論理関数ｆ2を実現する論理回路１４としてＸiをそのまま用いても良いし、Ｙiをそのまま用いても良い。またＸiとＹiのＡＮＤ（論理積）ゲートを用いてもよいし、ＯＲ（論理和）ゲートを用いてもよい。同様に論理回路１５は、Ｘiの否定をそのまま用いても良いし、Ｙiの否定をそのまま用いても良い。またＸiの否定とＹiの否定のＡＮＤゲートを用いてもよいし、ＯＲゲートを用いてもよい。
【００７８】
また、文献「石原他，“光パスゲート論理に基づく並列加算回路の提案と光電混載回路シミュレータによる動作検証”，信学技報，１１６，ＶＬＤ２０１６−２６，１０９，２０１６年」に開示されているように、論理関数ｆ2の出力の代わりに、ＸiまたはＹiをそのまま用いてもよい。
【００７９】
［第３の実施の形態］
次に、本発明の第３の実施の形態について説明する。本実施の形態では、第１の実施の形態における“０”，“１”の強度情報を、光の位相情報に転化することを考える。電気回路では、信号の“０”，“１”の情報を電気強度の違いで表現するが、光では光強度だけでなく位相を利用することができる。本実施の形態では、この光の特徴を演算に利用する。つまり、信号の“０”／“１”をπ／０°、または０°／πの位相情報に対応させる。これにより例えば、Ｃiの位相をπ（１８０°）だけずらすことで、バーＣiを作り出すことが可能となる。
【００８０】
図１７は、図７に示した第２ステージの論理回路５に相当する本実施の形態の論理回路７の構成を示す図である。図１７は、１ｂｉｔ分の構成を示している。論理回路７は、位相の情報が“１”の光信号を出力する光源６０と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器６７，６８と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５３とから構成される。この論理回路７は、論理回路５における光ゲート５１，５２を位相変調器に置き換えたものである。
【００８１】
光の位相を利用する本実施の形態においても、信号Ｃiが通過する第２ステージの１ｂｉｔ（一桁）あたりの位相変調器と光ゲートの合計の段数が１段乃至２段になるように第１ステージの論理関数を設計すればよい。以降の実施の形態においても論理関数を同様に設計すればよい。
【００８２】
光ゲート５３については第１の実施の形態で説明したとおりである。位相変調器６７は、論理回路３からの電気信号が“１”であるときに光源６０からの光信号をそのまま通過させ、論理回路３からの電気信号が“０”であるときに光源６０からの光信号の位相をπだけずらして出力する。位相変調器６８は、論理回路４からの電気信号が“１”であるときに光信号Ｃiをそのまま通過させ、論理回路４からの電気信号が“０”であるときに光信号Ｃiの位相をπだけずらして出力する。
【００８３】
本実施の形態では、信号バーＣiを作る回路が不要となり、光論理回路を簡素化することが可能となる。例えば図７に示した論理回路５を用いて、全加算器の桁上げ部を構成すると、図１８で示されるＢＤＤ型の構造となる。図１８では、信号Ｃiの桁上げ部に用いる論理回路を５ａ（５ａi〜５ａi+2）と表記し、信号バーＣiの桁上げ部に用いる論理回路を５ｃ（５ｃi〜５ｃi+2）と表記している。
【００８４】
これに対して、本実施の形態の論理回路７を用いると、桁上げ部の構成を図１９に示すように簡素な構成とすることができる。図１９では、信号の“０”／“１”をπ／０°、または０°／πの位相情報に対応させている。また、本実施の形態の回路によれば、その出力が位相変調光信号となる。したがって、デジタルコヒーレントなどで用いられている位相検出技術を用いれば、受信時の“０”，“１”判定のエラーを小さくすることが可能となる。
【００８５】
［第４の実施の形態］
次に、本発明の第４の実施の形態について説明する。本実施の形態では、第３の実施の形態の構成を全加算器に適用する。つまり、信号の“０”／“１”をπ／０°、または０°／πの位相情報に対応させることにより、Ｃiの位相をπ（１８０°）だけずらすことで、バーＣiを作り出し、図１２（Ｃ）の論理回路６ｃを不要にする。
【００８６】
図２０に、本実施の形態のＮｂｉｔ（ここではＮ＝４）の全加算器の構成を示す。８ａ（８ａi〜８ａi+3），８ｂ（８ｂi〜８ｂi+3）は第２ステージの論理回路である。論理回路８ａ（８ａi〜８ａi+3）は、位相の情報が“１”の光信号を出力する光源６０と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート６２と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器６９とから構成される。この論理回路８ａは、図１２（Ｃ）に示した論理回路６ａにおける光ゲート６１を位相変調器６９に置き換えたものである。
【００８７】
光ゲート６２については第２の実施の形態で説明したとおりである。位相変調器６９は、論理関数ｆ2の出力（電気信号）が“１”であるときに光源６０からの光信号をそのまま通過させ、論理関数ｆ2の出力が“０”であるときに光源６０からの光信号の位相をπだけずらして出力する。
【００８８】
論理回路８ｂ（８ｂi〜８ｂi+3）は、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器７０からなる。この論理回路８ｂは、図１２（Ｃ）に示した論理回路６ｂにおける光ゲート６３を位相変調器７０に置き換えたものである。位相変調器７０は、論理関数ｆ1の出力（電気信号）が“１”であるときに光信号Ｃiの位相をπだけずらして出力し、論理関数ｆ1の出力が“０”であるときに光信号Ｃiをそのまま通過させる。なお、位相変調器６９を位相変調器７０の機能とそろえたい場合、つまり、ｆ2の出力が““１”であるときに光源６０からの光信号をそのまま通し、ｆ2の出力が“０”のときに光源６０からの光信号の位相をπだけずらして出力させたい場合は、位相の情報が“０”の光信号を出力する光源を光源６０として用いればよい。
【００８９】
このように、本実施の形態では、信号Ｃiの位相をπだけずらすことにより、信号バーＣiを作り出すことができるため、図１５の論理回路６ｃ（６ｃi〜６ｃi+3）を無くすことができる。つまり、本実施の形態により、光論理回路の構成を更に単純化することが可能となる。
【００９０】
図２１に、図２０で用いられた全加算器の具体例を示す。ここでは、１ｂｉｔ分の構成を示す。図１６、図２０と同一の構成要素には同一の符号を付してある。論理関数ｆ1，ｆ2の真理値表は図１３に示したとおりである。図１３におけるＣi+1の“０”／“１”はそれぞれπ／０°または０°／πの位相情報として読み替えるようにすればよい。
【００９１】
上記のとおり、図１３における「−」は“０”または“１”のどちらでもよいことを表しているから、論理関数ｆ2の出力の代わりにＸiをそのまま用いてもよいし、Ｙiをそのまま用いてもよい。
【００９２】
［第５の実施の形態］
次に、本発明の第５の実施の形態について説明する。本実施の形態では、第１、第３の実施の形態の構成をパタンマッチ回路に適用する。また、信号の“０”／“１”を０／１の光強度信号、または、π／０°、０°／πの位相情報に対応させる。パタンマッチ回路の真理値表を図２２に示す。
【００９３】
第１、第３の実施の形態の手順に従うことにより、図２２の真理値表の動作を図２３の回路で再現することができる。図２３は、１ｂｉｔ分の構成を示している。パタンマッチ回路は、所定の論理関数ｆ1に則った動作を行って“１”または“０”の電気信号を出力する第１ステージの論理回路９と、第２ステージの論理回路１０とから構成される。
【００９４】
論理関数ｆ1はＸＮＯＲ（否定排他的論理和）演算を行う関数である。このような演算を実現する論理回路９を、電気回路で容易に実現できることは言うまでもない。
論理回路１０は、強度または位相の情報が“０” の光信号を出力する光源７１と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート７２とから構成される。ただし、後述のように、光源７１を設ける場合と設けない場合の２とおりの構成がある。
【００９５】
光ゲート７２は、論理関数ｆ1の出力が“１”であるときに一方の光経路（図２３の例では下側の光経路）を選択して光信号Ｃiを出力し、論理関数ｆ1の出力が“０”であるときに他方の光経路（上側の光経路）を選択する。
ここで、論理関数ｆ1はＸＮＯＲ演算を行う関数であるから、強度の情報が“０” の光信号を出力する光源７１を配置、つまり光源７１を配置しない場合には、図２３のパタンマッチ回路は第１の実施の形態と同様に強度変調信号を出力する回路となる。
【００９６】
また、信号の“０”／“１”をπ／０°、または０°／πの位相情報に対応させ、位相の情報が“０”の光信号を出力する光源７１を配置すれば、図２３のパタンマッチ回路は第３の実施の形態と同様に位相変調信号を出力する回路となる。
【００９７】
１ｂｉｔ分のパタンマッチ回路は、図２２に示すように、ＸiとＹiが一致する場合に、ｉ−１桁からの信号ＣiをＣi+1として出力する回路である。したがって、パタンマッチ回路の出力７４と次段のパタンマッチ回路の入力７３とが繋がるようにＮビット分のパタンマッチ回路を縦続接続すれば、全ビットにおいてＸとＹが一致したときに、Ｃi=0＝“１”が出力される回路を実現することができる。
【００９８】
［第６の実施の形態］
次に、本発明の第６の実施の形態について説明する。本実施の形態では、図１（Ｂ）の形態を想定し、第５の実施の形態における第１ステージの演算を全て光で処理するケースについて説明する。つまり、第５の実施の形態では、第１ステージへの入力信号Ｘ，Ｙが電気信号であったのに対し、本実施の形態では、第１ステージへの入力信号も光信号となる。
【００９９】
第２の実施の形態、第４の実施の形態、第５の実施の形態のように、論理関数ｆ1〜ｆ3がＸＯＲ演算、ＸＮＯＲ演算、入力信号（Ｘ，Ｙ，Ｚ）のいずれかと同じになるケースにおいては、第１ステージの演算を光の干渉で実行することができる。ここでは、信号の“０”／“１”をπ／０°、または０°／πの位相情報に対応させる。
【０１００】
図２４は本実施の形態に係るパタンマッチ回路の構成を示すブロック図であり、図２３と同一の構成には同一の符号を付してある。本実施の形態のパタンマッチ回路は、第２ステージの論理回路１０と、第１ステージの論理回路１１と、論理回路１１と論理回路１０との間に配置されるカスケード接続部となるＯＥ変換器１２とから構成される。
【０１０１】
信号の“０”／“１”をπ／０°に対応させた場合、論理回路１１の動作を真理値表で表現すると図２５のようになり、本実施の形態のパタンマッチ回路の動作を真理値表で表現すると図２６のようになる。論理回路１１の演算（論理関数ｇ1（位相）、ｇ1’（強度））は、第５の実施の形態の論理関数ｆ1に相当する。ここで、図２５における「−」は、出力強度がゼロであるため位相が不定であることを表している。第５の実施の形態では論理回路９を電気回路で構成していたのに対し、本実施の形態では、第１ステージの演算を全て光で行うため、入力Ｘi，Ｙiおよび論理回路１１の出力は、０°またはπの位相情報を有する光信号である。
【０１０２】
論理回路１１は、同強度の光信号ＸiとＹiを干渉させることにより、図２５の真理値表で示すような論理関数ｇ1’の演算（ＸＮＯＲ）を実現する。この論理回路１１の演算結果は光出力であるため、ＯＥ変換器１２により光信号を電気信号に変換して、第２ステージにカスケード接続する。
論理回路１０については第５の実施の形態で説明したとおりである。
【０１０３】
［第７の実施の形態］
次に、本発明の第７の実施の形態について説明する。本実施の形態では、図１（Ｂ）の形態を想定し、第４の実施の形態における第１ステージの演算を全て光で処理するケースについて説明する。つまり、第４の実施の形態では、第１ステージへの入力信号Ｘ，Ｙが電気信号であったのに対し、本実施の形態では、第１ステージへの入力信号も光信号となる。ここでは、信号の“０”／“１”をπ／０°、または０°／πの位相情報に対応させる。
【０１０４】
図２７に、本実施の形態の全加算器の構成を示す。ここでは、１ｂｉｔ分の構成を示す。全加算器は、第１ステージの論理回路１６と、第２ステージの論理回路１７と、論理回路１６と論理回路１７との間に配置されるカスケード接続部となるＯＥ変換器１８とから構成される。
【０１０５】
論理回路１６は、光信号Ｙiの位相をπだけずらして出力する位相シフタ７５と、光信号Ｘiと位相シフタ７５の出力とを干渉させる論理回路７６とから構成される。
論理回路１７は、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート６２と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器７０とから構成される。光ゲート６２は、ＯＥ変換器１８の出力が“１”であるときに光信号Ｃiを選択して出力し、ＯＥ変換器１８の出力が“０”であるときに光信号Ｘiを選択して出力する。位相変調器７０については第４の実施の形態で説明したとおりである。
【０１０６】
信号の“０”／“１”をπ／０°に対応させた場合、論理回路１６の動作を真理値表で表現すると図２８のようになり、本実施の形態の全加算器の動作を真理値表で表現すると図２９のようになる。図２８の７７（位相）、７７’（強度）は図２７の７７の部分における論理を表しており、第４の実施の形態の論理関数ｆ2の演算結果に相当する。論理回路７６の演算（論理関数ｈ1（位相）、ｈ1’（強度））は、同強度のＸiとＹiの否定とを干渉させるものであり、第４の実施の形態の論理関数ｆ1の演算（ＸＯＲ）に相当する。ここで、図２８における「−」は、出力強度がゼロであるため位相が不定であることを表している。
【０１０７】
論理回路１６の演算結果は光出力であるため、ＯＥ変換器１８により光信号を電気信号に変換し、論理回路１７の光ゲート６２への電気制御入力とする。
【０１０８】
ただし、図２７の構成では、光信号Ｘiを２分岐させて利用するため、光信号Ｘiは光信号Ｙiの２倍の強度を必要とし、パワーのアンバランスが生じる。このような動作条件が認められない場合は、図３０の構成を利用する。図３０の全加算器は、第１ステージの論理回路１９と、第２ステージの論理回路１７と、論理回路１９と論理回路１７との間に配置されるカスケード接続部となるＯＥ変換器１８とから構成される。
【０１０９】
論理回路１９は、位相シフタ７５と、論理回路７６と、光信号ＸiとＹiを干渉させる論理回路７８とから構成される。信号の“０”／“１”をπ／０°に対応させた場合、この論理回路１９の動作を真理値表で表現すると、図３１のようになる。上記のように、論理回路７６の演算（論理関数ｈ1（位相）、ｈ1’（強度））は第４の実施の形態の論理関数ｆ1の演算（ＸＯＲ）に相当し、論理回路７８の演算（論理関数ｈ2（位相）、ｈ2’（強度））は第５の実施の形態の論理関数ｆ1の演算（ＸＮＯＲ）に相当する。ここで、図３１における「−」は、出力強度がゼロであるため位相が不定であることを表している。ＸiとＹiは同強度の光信号である。
【０１１０】
論理回路１７の光ゲート６２は、ＯＥ変換器１８の出力が“１”であるときに光信号Ｃiを選択して出力し、ＯＥ変換器１８の出力が“０”であるときに論理回路７８の出力を選択して出力する。
【０１１１】
信号の“０”／“１”をπ／０°に対応させた場合、図３０の全加算器の真理値表は図２９で示したとおりである。図３０の構成は、図２７に示した構成の問題点である、光信号ＸiとＹiのパワーアンバランスを解消するために、論理回路７８において光信号ＸiとＹiを合波する。ただし、互いに逆相となる光信号の合波は出力信号強度をゼロとするため、出力信号の位相が不確定となる。このような位相の不確定さは、光の位相情報を演算に使うときの不可避な問題である。
【０１１２】
図３０の全加算器の構成では、位相が不定となる論理回路７８の演算を、論理回路７６の演算結果を用いることにより排除する。つまり、論理回路１９と論理回路１７との間に配置されるＯＥ変換器１８と、それにつながる論理回路１７の光ゲート６２の組み合わせにより、論理回路７６の出力強度が“１”となる条件において、論理回路７８から位相が不確定となる信号を回路から排除し、光信号Ｃiを次段への出力Ｃi+1として出力する。また、論理回路７６の出力強度が“０”となる条件において、論理回路７８からの光信号を次段への出力Ｃi+1として出力する。これにより、図２９の真理値表に示されるＣi+1の出力を実現することができる。
【０１１３】
図３２に示す全加算器は、図３０の論理回路７６と論理回路７８を１つにまとめるために、Ｃi+1の出力ポートと位相シフタ７５と位相変調器７０の動作を逆に設定した構成である。図３２の全加算器は、第１ステージの論理回路２０と、第２ステージの論理回路１７と、論理回路２０と論理回路１７との間に配置されるカスケード接続部となるＯＥ変換器１８とから構成される。
【０１１４】
論理回路２０は、光信号ＸiとＹiを干渉させる論理回路７８からなる。信号の“０”／“１”をπ／０°に対応させた場合、この論理回路２０の動作を真理値表で表現すると、図３３のようになる。上記のように、論理回路７８の演算（論理関数ｈ2（位相）、ｈ2’（強度））は第５の実施の形態の論理関数ｆ1の演算（ＸＮＯＲ）に相当する。ここで、図３３における「−」は、出力強度がゼロであるため位相が不定であることを表している。ＸiとＹiは同強度の光信号である。
【０１１５】
ＯＥ変換器１８は、論理回路２０の光信号出力を電気信号に変換する。論理回路１７の光ゲート６２は、ＯＥ変換器１８の出力が“０”であるときに光信号Ｃiを選択して出力し、ＯＥ変換器１８の出力が“１”であるときに論理回路２０の出力を選択して出力する。位相変調器ｑ７０は、ＯＥ変換器１８の出力が“１”であるときに光信号Ｃiをそのまま通過させ、ＯＥ変換器１８の出力が“０”であるときに光信号Ｃiの位相をπだけずらして出力する。信号の“０”／“１”をπ／０°に対応させた場合、図３２の全加算器の真理値表は図２９で示したとおりである。こうして、図３２の構成を採用することにより、回路を簡略化することができる。
【０１１６】
［第８の実施の形態］
第２、第４、第６の実施の形態に示した全加算器を用いると、減算器、乗算器なども構成することができる。例えば、図１４、図１５、図２０において最小桁のＣi，バーＣiを、Ｃi＝“０”、バーＣi＝“１”とすれば、加算器となり、Ｃi＝“１”、バーＣi＝“０”とし、入力Ｙ（Ｙi〜Ｙi+3）の全ての信号をＹ（Ｙi〜Ｙi+3）の論理否定とすれば減算器となる。
【０１１７】
また、図２１、図２７、図３０、図３２などに示される全加算器において、Ｘi，ＹiをそれぞれＳi-1，Ｚi＝ＡＮＤ（Ｘi，Ｙi）とするか、またはＸi，ＹiをＺi，Ｓi-1とすれば、乗算器を実現することができる。なお、乗算器については図３４に示すように、Ｘi，ＹiをＳi-1，Ｃiとし、ＣiをＺi＝ＡＮＤ（Ｘi，Ｙi）とすることで、図２１、図２７、図３０、図３２におけるＣiの分岐損の問題を解決することができる。
【０１１８】
図３４の乗算器は、第１ステージの論理回路２１と、第２ステージの論理回路２２と、論理回路２１と論理回路２２との間に配置されるカスケード接続部となるＯＥ変換器２３とから構成される。
【０１１９】
論理回路２１は、光信号Ｃiと前段の出力Ｓi-1を干渉させる論理回路７９と、電気信号ＸiとＹiのＡＮＤ演算を行う論理回路８０とから構成される。信号の“０”／“１”をπ／０°に対応させた場合、論理回路２１の動作を真理値表で表現すると、図３５のようになる。ＣiとＳi-1は同強度の光信号である。
【０１２０】
ＯＥ変換器２３は、論理回路７９の光信号出力を電気信号に変換する。論理回路２２は、位相情報が“１”の光信号を出力する光源８１と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート８２と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート８３と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器８４とから構成される。
【０１２１】
光ゲート８２は、論理回路８０の出力Ｚiが“１”であるときに光源８１からの光信号を通過させ、論理回路８０の出力Ｚiが“０”であるときに光源８１からの光信号の位相をπだけずらして出力する。光ゲート８３は、ＯＥ変換器２３の出力が“０”であるときに光ゲート８２の出力を選択して出力し、ＯＥ変換器２３の出力が“１”であるときに論理回路７９の出力を選択して出力する。位相変調器８４は、ＯＥ変換器２３の出力が“１”であるときに光ゲート８２の出力をそのまま通過させ、ＯＥ変換器２３の出力が“０”であるときに光ゲート８２の出力の位相をπだけずらして出力する。信号の“０”／“１”をπ／０°に対応させた場合、乗算器の動作を真理値表で表現すると図３６のようになる。
【０１２２】
以上の実施の形態で用いられたｐａｓｓ／ｃｒｏｓｓ型光ゲートは、ｐａｓｓ／ｃｒｏｓｓ動作のそれぞれにおいて位相シフトが発生し、それぞれのシフト量が異なる。
マッハツェンダ干渉計を用いた典型的なｐａｓｓ／ｃｒｏｓｓ型の光ゲートの場合、入出力ポートと位相（θ、φ）の関係は図３７のようになる。ここでｐａｓｓ／ｃｒｏｓｓ型光ゲートは、２つの位相変調器ｂ１０２，ｂ１０３と２つのＸカップラーｂ１００，ｂ１０１の組み合わせで構成されている。位相変調器ｂ１０２，ｂ１０３は、それぞれ電気信号Ｘi，Ｙiが“１”であるときにＸカップラーｂ１００からの光信号の位相をπだけずらして出力し、信号Ｘi，Ｙiが“０”であるときにＸカップラーｂ１００からの光信号をそのまま通過させる。Ｘカップラーｂ１００，ｂ１０１は、一方のポートから入力された光信号のパワーを１：１の割合で２つのポートに出力し、入力ポートと対角の出力ポートからの光信号の位相を、他方の出力ポートからの光信号の位相より−π／２だけシフトさせる。なお図３７では簡単のため、信号伝搬による位相シフトが２πの整数倍になる場合を図示している。
【０１２３】
例えばｃｒｏｓｓ動作（図３７（Ｂ））とｐａｓｓ動作（図３７（Ｃ））を組み合わせ、右下のポートからの信号を出力信号として用いる場合、２つの入力信号（位相θ、φ）においてπ／２の位相ずれが生じる。この問題は、図３８に示されるように出力ポートと対角の入力ポート（左上のポート）に、＋π／２の位相シフタｂ１０４を設けることで解消される。
【０１２４】
［第９の実施の形態］
次に、本発明の第９の実施の形態について説明する。本実施の形態では、第２、第５の実施の形態における電気入力に対する論理関数ｆ1，ｆ2の演算をｐａｓｓ／ｃｒｏｓｓ型の光ゲートに組み込む構成を示す。図３７に示されるとおり、マッハツェンダ干渉計などで構成されるｐａｓｓ／ｃｒｏｓｓ型の光ゲートは、２つの電気制御ポートを有しており、この２つの電気制御入力を利用することで２入力信号に対する簡単な演算を光ゲート側で実行することが可能である。このような２制御入力のｐａｓｓ／ｃｒｏｓｓ型の光ゲートを利用した従来の全加算器の構成を図３９に示す。
【０１２５】
図３９の全加算器は、強度情報が“１”の光信号を出力する光源５００，５０１と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器５０２〜５０７と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５０８と、ＯＥ変換器５０９とから構成される。
【０１２６】
位相変調器５０２は、電気信号Ｘiが“１”であるときに光源５００からの光信号の位相をπだけずらして出力し、信号Ｘiが“０”であるときに光源５００からの光信号をそのまま通過させる。位相変調器５０３は、電気信号Ｙiが“１”であるときに光源５００からの光信号の位相をπだけずらして出力し、信号Ｙiが“０”であるときに光源５００からの光信号をそのまま通過させる。
【０１２７】
位相変調器５０４は、電気信号Ｘiが“１”であるときに光源５０１からの光信号の位相をπだけずらして出力し、信号Ｘiが“０”であるときに光源５０１からの光信号をそのまま通過させる。位相変調器５０５は、光信号Ｃiを電気信号に変換するＯＥ変換器５０９の出力が“１”であるときに光源５０１からの光信号の位相をπだけずらして出力し、ＯＥ変換器５０９の出力が“０”であるときに光源５０１からの光信号をそのまま通過させる。
【０１２８】
位相変調器５０６は、電気信号Ｙiが“１”であるときに位相変調器５０４の出力の位相をπだけずらして出力し、信号Ｙiが“０”であるときに位相変調器５０４の出力をそのまま通過させる。位相変調器５０７の制御入力には“１”の信号が固定的に与えられている。これにより、位相変調器５０７は、位相変調器５０５の出力の位相をπだけずらして出力する。
【０１２９】
光ゲート５０８は、電気信号Ｘi，Ｙiが共に“１”または共に“０”であるときに光ゲート５０２と５０３の出力を合波した結果を選択して出力し、電気信号Ｘiが“１”で電気信号Ｙiが“０”、または電気信号Ｘiが“０”で電気信号Ｙiが“１”であるときに、光信号Ｃiを選択して出力する。
【０１３０】
以上のような２制御入力のｐａｓｓ／ｃｒｏｓｓ型の光ゲートを利用すると、図１６に示した全加算器は図４０に示すような構成に置き換えることができる。図４０の全加算器は、強度情報が“１”の光信号を出力する光源５１０，５１１と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート５１２，５１３と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５１４〜５１６とから構成される。
【０１３１】
光ゲート５１２は、電気信号Ｘiが“１”であるときに光源５１０からの光信号を通過させ、電気信号Ｘiが“０”であるときに光源５１０からの光信号を遮断する。光ゲート５１３は、電気信号Ｘiが“１”であるときに光源５１１からの光信号を遮断し、電気信号Ｘiが“０”であるときに光源５１１からの光信号を通過させる。なお、Ｘiの代わりに電気信号Ｙiを光ゲート５１２，５１３の電気制御入力としてもよい。
【０１３２】
光ゲート５１４は、電気信号Ｘi，Ｙiが共に“１”または共に“０”であるときに光ゲート５１２の出力を選択して出力し、電気信号Ｘiが“１”で電気信号Ｙiが“０”、または電気信号Ｘiが“０”で電気信号Ｙiが“１”であるときに、光信号Ｃiを選択して出力する。光ゲート５１５は、電気信号Ｘi，Ｙiが共に“１”または共に“０”であるときに光信号Ｃiを選択して出力し、電気信号Ｘiが“１”で電気信号Ｙiが“０”、または電気信号Ｘiが“０”で電気信号Ｙiが“１”であるときに、光信号バーＣiを選択して出力する。光ゲート５１６は、電気信号Ｘi，Ｙiが共に“１”または共に“０”であるときに光ゲート５１３の出力を選択して出力し、電気信号Ｘiが“１”で電気信号Ｙiが“０”、または電気信号Ｘiが“０”で電気信号Ｙiが“１”であるときに、光信号バーＣiを選択して出力する。
【０１３３】
また、２制御入力のｐａｓｓ／ｃｒｏｓｓ型の光ゲートを利用すると、図２１に示した全加算器は図４１に示すような構成に置き換えることができる。図４１の全加算器は、位相情報が“１”の光信号を出力する光源５１７と、位相シフタ５１８と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５１９と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器５２０，５２１とから構成される。
【０１３４】
位相シフタ５１８は、光源５１７からの光信号の位相を−π／２だけずらして出力する。
【０１３５】
光ゲート５１９は、電気信号Ｘi，Ｙiが共に“１”または共に“０”であるときに位相シフタ５１８の出力を選択して出力し、電気信号Ｘiが“１”で電気信号Ｙiが“０”、または電気信号Ｘiが“０”で電気信号Ｙiが“１”であるときに、位相変調器５２０の出力を選択して出力する。位相変調器５２０は、電気信号Ｙiが“１”であるときに光信号Ｃiの位相をπだけずらして出力し、信号Ｙiが“０”であるときに光信号Ｃiをそのまま通過させる。位相変調器５２１は、電気信号Ｘiが“１”であるときに位相変調器５２０の出力の位相をπだけずらして出力し、信号Ｘiが“０”であるときに位相変調器５２０の出力をそのまま通過させる。図４０、図４１の構成によれば、図３９とは異なり、ＯＥ変換器なしで光出力Ｓiを得ることができる。
【０１３６】
［第１０の実施の形態］
２制御入力のｐａｓｓ／ｃｒｏｓｓ型の光ゲートを利用すると、図２３に示したパタンマッチ回路は図４２に示すような構成に置き換えることができる。図４２のパタンマッチ回路は、位相情報が“１”の光信号を出力する光源５２２と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５２３と、位相シフタｑ６０１と、位相変調器ｑ６００，ｑ６０２とから構成される。
【０１３７】
光ゲート５２３は、電気信号Ｘi，Ｙiが共に“１”または共に“０”であるときに位相シフタｑ６０２の出力を選択して出力し、電気信号Ｘiが“１”で電気信号Ｙiが“０”、または電気信号Ｘiが“０”で電気信号Ｙiが“１”であるときに、位相シフタｑ６００の出力を選択して出力する。位相変調器ｑ６００は、電気信号Ｙiが“１”であるときに光源５２２からの光信号の位相をπだけずらして出力し、信号Ｙiが“０”であるときに光源５２２からの光信号をそのまま通過させる。位相変調器ｑ６０２は、電気信号Ｘiが“１”であるときに位相変調器ｑ６０１の出力の位相をπだけずらして出力し、信号Ｘiが“０”であるときに位相変調器ｑ６０１の出力をそのまま通過させる。第９の実施の形態と同様に、図４２の構成によれば、ＯＥ変換器なしで出力Ｃi+1を得ることができる。
【０１３８】
また、第９、第１０の実施の形態は、２つの電気制御入力を利用することで２入力信号に対する簡単な演算を光ゲート側で実行することを可能とする。ただし、ｐａｓｓ（ｃｒｏｓｓ）動作において、出力ゲートにつながる電気制御ポートのみが制御された場合は位相がπ（＋π／２）だけシフトし、反対側の電気制御ポートのみが制御された場合は位相が０（−π／２）だけシフトするため、（Ｘi，Ｙi）＝（１，０）、（０，１）の２入力パタンにおいて光ゲートの動作が異なってしまう。そのため図４１、図４２の位相を用いた演算においては、この位相シフト量の食い違いを補償するために、図２１、図２３におけるＣiからＣi+1の経路に位相変調器５２０，ｑ６０２が追加され、このことが演算の遅延を増加させる原因となる。
【０１３９】
［第１１の実施の形態］
２制御入力のｐａｓｓ／ｃｒｏｓｓ型の光ゲートは光入力に対する演算にも適用が可能であり、この場合、図４０に示した全加算器は図４３に示すような構成に置き換えることができる。図４３の全加算器は、強度情報が“１”の光信号を出力する光源５１０，５１１と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート５１２，５１３と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５１４〜５１６と、ＯＥ変換器５２４〜５２６とから構成される。
【０１４０】
ＯＥ変換器５２４，５２５は、光信号Ｘiを電気信号に変換する。ＯＥ変換器５２６は、光信号Ｙiを電気信号に変換する。なお、Ｘiの代わりに光信号ＹiをＯＥ変換器５２４に入力してもよい。光源５１０，５１１と光ゲート５１２，５１３と光ゲート５１４〜５１６の動作は第９の実施の形態で説明したとおりである。
【０１４１】
また、図４１に示した全加算器は図４４に示すような構成に置き換えることが可能である。図４４の全加算器は、位相情報が“１”の光信号を出力する光源５１７と、位相シフタ５１８と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５１９と、ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器５２０，５２１と、ＯＥ変換器５２８，５２９とから構成される。
【０１４２】
ＯＥ変換器５２８は、光信号Ｘiを電気信号に変換する。ＯＥ変換器５２９は、光信号Ｙiを電気信号に変換する。光源５１７と位相シフタ５１８と位相変調器５２０，５２１と光ゲート５１９の動作は第９の実施の形態で説明したとおりである。
【０１４３】
［第１２の実施の形態］
２制御入力のｐａｓｓ／ｃｒｏｓｓ型の光ゲートを光入力に対する演算に適用すると、図４２に示したパタンマッチ回路は図４５に示すような構成に置き換えることができる。図４５のパタンマッチ回路は、位相情報が“１”の光信号を出力する光源５２２と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５２３と、ＯＥ変換器５３０，５３１とから構成される。
【０１４４】
ＯＥ変換器５３０，５３１は、それぞれ光信号Ｘi，Ｙiを電気信号に変換する。光源５２２と光ゲート５２３と位相シフタｑ６０１と位相変調器ｑ６００，ｑ６０２の動作は第１０の実施の形態で説明したとおりである。
【産業上の利用可能性】
【０１４５】
本発明は、光回路、または光回路と電気回路の混合回路で行う論理演算に適用することができる。
【符号の説明】
【０１４６】
１…論理ブロック、２〜５，６ａ〜６ｃ，７，８ａ，８ｂ，９〜１１，１３〜２２，７６，７８〜８０…論理回路、１２，１８，２３，２０４，５０９，５２４〜５２６，５２８，５２９，５３０，５３１…ＯＥ変換器、５０，６０，６４，７１，８１，５００，５０１，５１０，５１１，５１７，５２２…光源、５１〜５９，６１〜６３，６５，６６，７２，８２，８３，５０８，５１２〜５１６，５１９，５２３…光ゲート、６７〜７０，ｑ７０，８４，５０２〜５０７，５２０，５２１，ｑ６００，ｑ６０２…位相変調器、７５，５１８，ｑ６０１…位相シフタ、２００，２０６…電気回路、２０１，２０３…光回路。
【図１】
2018036455.tif 000003
【図２】
2018036455.tif 000004
【図３】
2018036455.tif 000005
【図４】
2018036455.tif 000006
【図５】
2018036455.tif 000007
【図６】
2018036455.tif 000008
【図７】
2018036455.tif 000009
【図８】
2018036455.tif 000010
【図９】
2018036455.tif 000011
【図１０】
2018036455.tif 000012
【図１１】
2018036455.tif 000013
【図１２】
2018036455.tif 000014
【図１３】
2018036455.tif 000015
【図１４】
2018036455.tif 000016
【図１５】
2018036455.tif 000017
【図１６】
2018036455.tif 000018
【図１７】
2018036455.tif 000019
【図１８】
2018036455.tif 000020
【図１９】
2018036455.tif 000021
【図２０】
2018036455.tif 000022
【図２１】
2018036455.tif 000023
【図２２】
2018036455.tif 000024
【図２３】
2018036455.tif 000025
【図２４】
2018036455.tif 000026
【図２５】
2018036455.tif 000027
【図２６】
2018036455.tif 000028
【図２７】
2018036455.tif 000029
【図２８】
2018036455.tif 000030
【図２９】
2018036455.tif 000031
【図３０】
2018036455.tif 000032
【図３１】
2018036455.tif 000033
【図３２】
2018036455.tif 000034
【図３３】
2018036455.tif 000035
【図３４】
2018036455.tif 000036
【図３５】
2018036455.tif 000037
【図３６】
2018036455.tif 000038
【図３７】
2018036455.tif 000039
【図３８】
2018036455.tif 000040
【図３９】
2018036455.tif 000041
【図４０】
2018036455.tif 000042
【図４１】
2018036455.tif 000043
【図４２】
2018036455.tif 000044
【図４３】
2018036455.tif 000045
【図４４】
2018036455.tif 000046
【図４５】
2018036455.tif 000047
【図４６】
2018036455.tif 000048