(57)【要約】【課題】回路構成の簡素化と演算の高速化を両立させる。【解決手段】光論理回路は、それぞれＮビットの入力信号Ｘi，Ｙi（ｉ＝０，１，２）の論理演算を行う際に、対応するビットの入力信号に応じて、論理演算に必要な、上位ビットへの桁上げ信号Ｃi+1及びその否定信号バーＣi+1を出力するビット毎の第１の論理回路（２０１ａｉ，２０２ａｉ）と、対応するビットの入力信号と下位ビットからの桁上げ信号Ｃi及びその否定信号バーＣiとに応じて、ビット毎の論理演算の結果を出力するビット毎の第２の論理回路（２０３ｂｉ）とを備える。第１、第２の論理回路は、少なくとも一部が光回路からなり、この光回路を通る光信号の異なる波長に０，１の値を割り当て、桁上げ信号と論理演算の結果とを光信号で出力する。【選択図】  図３
2018141892.tif 000002
【特許請求の範囲】
【請求項１】
それぞれＮビット（Ｎは２以上の整数）の複数の入力信号の論理演算を行う際に、対応するビットの前記複数の入力信号に応じて、前記論理演算に必要な、上位ビットへの伝搬信号を出力するビット毎の第１の論理回路と、
対応するビットの前記複数の入力信号と下位ビットからの前記伝搬信号とに応じて、ビット毎の前記論理演算の結果を出力するビット毎の第２の論理回路とを備え、
前記第１、第２の論理回路は、少なくとも一部が光回路からなり、この光回路を通る光信号の異なる波長に０，１の値を割り当て、前記伝搬信号と前記論理演算の結果とを光信号で出力することを特徴とする光論理回路。
【請求項２】
請求項１記載の光論理回路において、
前記第１の論理回路は、
異なる波長の光を出力する第１、第２の光源と、
対応するビットの前記複数の入力信号のうち１種類の入力信号に応じて、前記第１、第２の光源からの光の通過／遮断をそれぞれ制御する第１、第２の光ゲートと、
この第１、第２の光ゲートから出力される波長の異なる光を合波する波長合波器と、
前記複数の入力信号に対する同一のビット同士の所定の論理関数の結果を出力する論理関数回路と、
この論理関数回路の出力に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号と、前記波長合波器の出力とのうちいずれか一方を、上位ビットへの前記伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第３の光ゲートとを含み、
前記第２の論理回路は、
下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号を分波する波長分波器と、
前記論理関数回路の出力に応じて、前記波長分波器によって分波された前記伝搬信号及びこの伝搬信号の否定信号のうちいずれか一方を、ビット毎の前記論理演算の結果として選択的に出力する第４の光ゲートとを含むことを特徴とする光論理回路。
【請求項３】
請求項２記載の光論理回路において、
異なるビットごとに用いる前記光源の波長が異なることを特徴とする光論理回路。
【請求項４】
請求項３記載の光論理回路において、
最下位ビットと最上位ビットとを除くビットにおいて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号の内、自身のビットに対応する波長の光信号を、自身のビットへの前記伝搬信号及びこの伝搬信号の否定信号として取り出して前記波長分波器に入力し、その他の波長の信号を前記第３の光ゲートに入力するＷＤＭフィルタをさらに備え、
最上位ビットを除くビットの前記第１、第２の光源は、それぞれ自身のビットよりも上位のビットの個数の異なる波長が多重された光を出力することを特徴とする光論理回路。
【請求項５】
請求項１記載の光論理回路において、
前記第１の論理回路は、
異なる波長の光を出力する第１、第２の光源と、
対応するビットの前記複数の入力信号のうち１種類の入力信号に応じて、前記第１の光源からの光及び前記第２の光源からの光のうちいずれか一方を選択的に出力する第１の光ゲートと、
対応するビットの前記複数の入力信号に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号と、前記第１の光ゲートの出力とのうちいずれか一方を、上位ビットへの前記伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第２の光ゲートとを含み、
前記第２の論理回路は、
対応するビットの前記複数の入力信号に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号を２つの出力ポートのうちいずれか一方に選択的に出力する第３の光ゲートとを含むことを特徴とする光論理回路。
【請求項６】
請求項１記載の光論理回路において、
前記第１の論理回路は、
異なる波長の光を出力する第１、第２の光源と、
対応するビットの前記複数の入力信号のうち１種類の入力信号に応じて、前記第１の光源からの光及び前記第２の光源からの光のうちいずれか一方を選択的に出力する第１の光ゲートと、
対応するビットの前記複数の入力信号に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号と、前記第１の光ゲートの出力とのうちいずれか一方を、上位ビットへの前記伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第２の光ゲートとを含み、
前記第２の論理回路は、
下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号を分波する波長分波器と、
対応するビットの前記複数の入力信号に応じて、前記波長分波器から第１の入力ポートに入力される前記伝搬信号を２つの出力ポートの一方に選択的に出力し、前記波長分波器から第２の入力ポートに入力される前記伝搬信号の否定信号を前記２つの出力ポートの他方に選択的に出力する第３の光ゲートとを含むことを特徴とする光論理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理演算を光回路、または光回路と電気回路の混合回路で行う光論理回路に関するものである。
【背景技術】
【０００２】
現在の電子演算回路は、その処理速度を向上させるため、そのチップサイズや素子サイズを極限まで小さくする工夫がなされている。その理由は、回路内の抵抗（Ｒ）とキャパシタンス（Ｃ）とが信号の伝搬を大きく律速しているため、演算速度を上げるにはチップサイズや素子サイズを小さくするしかないためである。そのため、狭面積の論理ブロックやコアに素子を詰め込み、マルチコア（multi-core）・メニーコア（many core）化などの工夫がなされているが、それらのコアを繋ぐための配線が新たな「遅延」を生み、演算の高速化に限界が見えつつある。
【０００３】
一方、光通信などで用いられる光配線や光パスゲートは、その配線経路内のＣやＲに無依存で光信号を伝播させることができる。また、ナノフォトニクスの進展により、光ゲートの消費エネルギーは飛躍的に改善され、そのエネルギーコスト［Ｊ／ｂｉｔ］は、ＣＭＯＳゲートと光で同程度のレベルになりつつある。そのため、チップ内やチップ間の通信を光化する様々な研究がなされている。
【０００４】
しかしながら、従来の研究では、回路の演算時間を律速する演算経路(クリティカルパス)への配慮がなく、演算で生じる遅延を解決できていないという問題点があった。したがって、演算レベルで生じる遅延の問題を根本から解決するためには、チップ内やチップ間の光配線や光ゲートだけでなく、さらに粒度を細かくトランジスタレベルまで光化を進める必要がある。
【０００５】
ここで、光ゲートの電気制御ポート側から信号を入力する接続形態をカスケード接続、スイッチの光伝搬経路が連続的に接続されている形態をシリアル接続と定義する。例えばシリアル接続とカスケード接続が混在した光電融合型の回路を想定した場合、カスケード接続の部分が光と電気の境界となり、その境界において回路中を伝搬する光信号は一度電気に変換（ＯＥ（Optical-Electrical）変換）される必要がある。この変換は電気回路に律速されるため、ＯＥ変換が多用される回路は光を使うことのメリットが小さい。そのため、光と電気の境界、つまりカスケード接続の配置場所と数が回路構成の重要なポイントとなる。光伝搬経路中にＯＥ変換を配置しない回路として、ＢＤＤ（binary decision diagram）をベースとする光回路が提案されている。
【０００６】
例えば非特許文献１においては、加算の桁上げ信号経路にＯＥ変換器を配置しない加算器（Ｘ＋Ｙの演算回路）の構成が開示されている。全加算器を２×２光スイッチで構成したものを図１９に示す。ここでＸi，Ｙiは、ｉ桁目の入力信号Ｘ，Ｙを構成するバイナリ信号、ＳiはＸiとＹiの加算結果を示す信号、Ｃiはｉ−１桁からの桁上げ信号、バーＣiは信号Ｃiに対する否定の信号である。また、図１９の１００ａ（１００ａ０〜１００ａ２），１００ｃ（１００ｃ０〜１００ｃ２）は分波器、１０１ａ（１０１ａ０〜１０１ａ２），１０１ｂ（１０１ｂ０〜１０１ｂ２），１０１ｃ（１０１ｃ０〜１０１ｃ２）は２×２光スイッチである。
【０００７】
図１９に示した回路では、ＢＤＤに基づく大きな木構造（ＢＤＤ回路）の各ノードに配置される光スイッチ１０１を信号Ｘi，Ｙiで電気的に制御する。これにより、光信号で各ノードの制御をする必要がなくなり、電気的に制御された経路に光信号を伝搬させるだけで、演算を実行することが可能となる。
【０００８】
ＢＤＤに基づく回路は、上段（２×２光スイッチ１０１ａ）、中段（２×２光スイッチ１０１ｂ）、下段（２×２光スイッチ１０１ｃ）の３段構成となっており、上段において桁上げ演算（ｃａｒｒｙ）を実行し、下段において桁上げ演算の否定の演算（ｃａｒｒｙバー）を実行し、中段において各桁の加算（ｓｕｍ）を実行している。各段の演算は互いに関連している。このため、ＢＤＤに基づく回路は、上段、中段、下段の回路を接続するための光経路の交差が多数存在し、構成が複雑なものとなり、実現が困難な回路構成となってしまうという課題があった。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】浅井哲也，雨宮好仁，小柴正則，“二分決定グラフにもとづくフォトニック結晶集積デバイス”，信学会総合大会，SC-1-4，2000
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上記課題を解決するためになされたもので、回路構成の簡素化と演算の高速化を両立させることができる光論理回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の光論理回路は、それぞれＮビット（Ｎは２以上の整数）の複数の入力信号の論理演算を行う際に、対応するビットの前記複数の入力信号に応じて、前記論理演算に必要な、上位ビットへの伝搬信号を出力するビット毎の第１の論理回路と、対応するビットの前記複数の入力信号と下位ビットからの前記伝搬信号とに応じて、ビット毎の前記論理演算の結果を出力するビット毎の第２の論理回路とを備え、前記第１、第２の論理回路は、少なくとも一部が光回路からなり、この光回路を通る光信号の異なる波長に０，１の値を割り当て、前記伝搬信号と前記論理演算の結果とを光信号で出力することを特徴とするものである。
【００１２】
また、本発明の光論理回路の１構成例において、前記第１の論理回路は、異なる波長の光を出力する第１、第２の光源と、対応するビットの前記複数の入力信号のうち１種類の入力信号に応じて、前記第１、第２の光源からの光の通過／遮断をそれぞれ制御する第１、第２の光ゲートと、この第１、第２の光ゲートから出力される波長の異なる光を合波する波長合波器と、前記複数の入力信号に対する同一のビット同士の所定の論理関数の結果を出力する論理関数回路と、この論理関数回路の出力に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号と、前記波長合波器の出力とのうちいずれか一方を、上位ビットへの前記伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第３の光ゲートとを含み、前記第２の論理回路は、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号を分波する波長分波器と、前記論理関数回路の出力に応じて、前記波長分波器によって分波された前記伝搬信号及びこの伝搬信号の否定信号のうちいずれか一方を、ビット毎の前記論理演算の結果として選択的に出力する第４の光ゲートとを含むことを特徴とするものである。
また、本発明の光論理回路の１構成例は、異なるビットごとに用いる前記光源の波長が異なることを特徴とするものである。
また、本発明の光論理回路の１構成例は、最下位ビットと最上位ビットとを除くビットにおいて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号の内、自身のビットに対応する波長の光信号を、自身のビットへの前記伝搬信号及びこの伝搬信号の否定信号として取り出して前記波長分波器に入力し、その他の波長の信号を前記第３の光ゲートに入力するＷＤＭフィルタをさらに備え、最上位ビットを除くビットの前記第１、第２の光源は、それぞれ自身のビットよりも上位のビットの個数の異なる波長が多重された光を出力することを特徴とするものである。
【００１３】
また、本発明の光論理回路の１構成例において、前記第１の論理回路は、異なる波長の光を出力する第１、第２の光源と、対応するビットの前記複数の入力信号のうち１種類の入力信号に応じて、前記第１の光源からの光及び前記第２の光源からの光のうちいずれか一方を選択的に出力する第１の光ゲートと、対応するビットの前記複数の入力信号に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号と、前記第１の光ゲートの出力とのうちいずれか一方を、上位ビットへの前記伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第２の光ゲートとを含み、前記第２の論理回路は、対応するビットの前記複数の入力信号に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号を２つの出力ポートのうちいずれか一方に選択的に出力する第３の光ゲートとを含むことを特徴とするものである。
【００１４】
また、本発明の光論理回路の１構成例において、前記第１の論理回路は、異なる波長の光を出力する第１、第２の光源と、対応するビットの前記複数の入力信号のうち１種類の入力信号に応じて、前記第１の光源からの光及び前記第２の光源からの光のうちいずれか一方を選択的に出力する第１の光ゲートと、対応するビットの前記複数の入力信号に応じて、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号と、前記第１の光ゲートの出力とのうちいずれか一方を、上位ビットへの前記伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第２の光ゲートとを含み、前記第２の論理回路は、下位ビットからの前記伝搬信号及びこの伝搬信号の否定信号を分波する波長分波器と、対応するビットの前記複数の入力信号に応じて、前記波長分波器から第１の入力ポートに入力される前記伝搬信号を２つの出力ポートの一方に選択的に出力し、前記波長分波器から第２の入力ポートに入力される前記伝搬信号の否定信号を前記２つの出力ポートの他方に選択的に出力する第３の光ゲートとを含むことを特徴とするものである。
【発明の効果】
【００１５】
本発明では、対応するビットの複数の入力信号に応じて、論理演算に必要な、上位ビットへの伝搬信号を出力するビット毎の第１の論理回路と、対応するビットの複数の入力信号と下位ビットからの伝搬信号とに応じて、ビット毎の論理演算の結果を出力するビット毎の第２の論理回路とから光論理回路を構成する。本発明では、回路構成の簡素化を実現することができる。また、本発明では、入力信号により、第１、第２の論理回路に含まれる光ゲートを一度に開閉させることができるため、第１、第２の論理回路における光信号の伝搬経路が確定するまでの時間を大幅に短縮することができる。さらに、第１、第２の論理回路内のシリアル接続段数を大幅に削減することができるため、演算時間を大幅に短縮することができる。本発明が提供する光論理回路は、トランジスタレベルまで光化を進めた構成となっており、電気回路と光回路の融合を容易にし、電気回路の得意分野（膨大な素子の超高集積と並列処理による、超高スループット演算）と、光回路の得意分野（情報を光の速度で伝搬させながら光の伝搬速度で演算を完了させる、超低レイテンシ演算）の両立が可能となり、動作周波数が頭打ち状態になりつつある電気回路の問題を解決することを可能とする。さらに、本発明では、光信号の異なる波長に０，１の値を割り当てることにより、上位ビットへの伝搬信号とその否定信号とを独立に演算することができ、その演算過程において光信号の位相を厳密に制御する必要が無い。また、本発明では、上位ビットへの伝搬信号とその否定信号の演算に共通の回路を使用することが可能となり、回路を簡素化し、スイッチ（光ゲート）数を削減することができる。
【００１６】
また、本発明では、第１の論理回路を、異なる波長の光を出力する第１、第２の光源と、対応するビットの複数の入力信号のうち１種類の入力信号に応じて、第１の光源からの光及び第２の光源からの光のうちいずれか一方を選択的に出力する第１の光ゲートと、対応するビットの複数の入力信号に応じて、下位ビットからの伝搬信号及びこの伝搬信号の否定信号と、第１の光ゲートの出力とのうちいずれか一方を、上位ビットへの伝搬信号及びこの伝搬信号の否定信号として選択的に出力する第２の光ゲートとから構成することにより、第１の論理回路から論理関数回路を削除することができ、回路を簡素化することができる。
【図面の簡単な説明】
【００１７】
【図１】ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路の構成を示すブロック図である。
【図２】ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路に位相変調方式を採用した構成を示すブロック図である。
【図３】本発明の光論理回路の構成を示すブロック図である。
【図４】ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路の１ビット分の構成を示すブロック図である。
【図５】ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路の１ビット分の構成の真理値表を示す図である。
【図６】ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路の１ビット分の構成を示すブロック図である。
【図７】ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路に位相変調方式を採用した光論理回路の１ビット分の構成を示すブロック図である。
【図８】本発明の第１の実施例に係る光論理回路の１ビット分の構成を示すブロック図である。
【図９】本発明の第１の実施例に係る光論理回路において光源から出力される光信号の波長を示す図である。
【図１０】本発明の第１の実施例における最終桁の桁上げ信号の処理を説明する図である。
【図１１】本発明の第２の実施例に係る光論理回路の１ビット分の構成を示すブロック図である。
【図１２】本発明の第２の実施例における加算結果を示す信号について説明する図である。
【図１３】本発明の第３の実施例に係る光論理回路の１ビット分の構成を示すブロック図である。
【図１４】本発明の第３の実施例における最終桁の桁上げ信号の処理を説明する図である。
【図１５】本発明の第３の実施例における加算結果を示す信号について説明する図である。
【図１６】本発明の第３の実施例に係る光論理回路を４ビット分縦続接続した全加算器のシミュレーション結果の１例を示す図である。
【図１７】本発明の第３の実施例に係る光論理回路を４ビット分縦続接続した全加算器のシミュレーション結果の他の例を示す図である。
【図１８】本発明の第４の実施例に係る光論理回路の３ビット分の構成を示すブロック図である。
【図１９】従来のＢＤＤ型の全加算器の構成を示すブロック図である。
【発明を実施するための形態】
【００１８】
［発明の原理］
従来のＢＤＤをベースとする回路を簡素化する方法として、Ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路を採用する方法が考えられる。Ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路は、ＢＤＤ回路のノードに配置されるスイッチを制御する信号として、別のＢＤＤ回路からの出力信号を使用する回路である。Ｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路の例として、全加算器の構成を図１に示す。図１９と同様に、１００ａ（１００ａ０〜１００ａ２），１００ｃ（１００ｃ０〜１００ｃ２）は分波器、１０１ａ（１０１ａ０〜１０１ａ２），１０１ｂ（１０１ｂ０〜１０１ｂ２），１０１ｃ（１０１ｃ０〜１０１ｃ２）は２×２光スイッチ、１０２ａ（１０２ａ０〜１０２ａ２），１０２ｂ（１０２ｂ０〜１０２ｂ２），１０２ｃ（１０２ｃ０〜１０２ｃ２）はＸＯＲ（排他的論理和）回路である。図１の構成では、別のＢＤＤ回路としてＸＯＲ回路１０２ａ〜１０２ｃを採用することにより、桁上げ演算経路（Ｃi〜Ｃi+1）に含まれるスイッチの数を半減させている。
【００１９】
また、従来のＢＤＤをベースとする回路をさらに簡素化する方法として、位相変調方式が考えられる。位相変調方式は、図２に示すように、桁上げ信号の否定信号バーＣiを桁上げ信号Ｃiの位相反転で生成することを可能とし、図１の下段（ＸＯＲ回路１０２ｃと２×２光スイッチ１０１ｃ）における、桁上げ演算の否定の演算を省略している。
【００２０】
図２の位相変調器１０３ａｉ（１０３ａ０〜１０３ａ２）は、光信号Ｘi（Ｘ0〜Ｘ2）が“１”であるときに光源（不図示）からの光信号をそのまま通過させ、Ｘiが“０”であるときに光源からの光信号の位相をπだけずらして出力する。位相変調器１０３ｂｉ（１０３ｂ０〜１０３ｂ２）は、ＸＯＲ回路１０２ｂｉ（１０２ｂ０〜１０２ｂ２）の出力が“１”であるときに光信号Ｃi（Ｃ0〜Ｃ2）の位相をπだけずらして出力し、ＸＯＲ回路１０２ｂｉの出力が“０”であるときに光信号Ｃiをそのまま通過させる。
【００２１】
図２に示すように、Ｃａｓｃａｄｅｄ−ＢＤＤと位相変調方式とを組み合わせることにより、回路構成を簡素化し、かつ、演算速度を２倍に改善することが可能となる。ただし、位相変調方式では、スイッチに組み込まれる位相変調部以外での位相回転を補償するために、厳密な導波路長の設定や位相シフタを別途組み込む必要がある。
【００２２】
そこで、本発明では、位相の厳密な制御を不要とする簡素化された回路構成を提案する。図３に本発明の光論理回路（全加算器）の構成を示す。図３の全加算器は、分波器２００ａ（２００ａ０〜２００ａＳＲ２）と、２×２光スイッチ２０１ａ（２０１ａ０〜２０１ａ２），２０２ａ（２０２ａ０〜２０２ａ２），２０３ｂ（２０３ｂ０〜２０３ｂ２）と、波長合波器２０４ｂ（２０４ｂ０〜２０４ｂ２）とから構成される。２×２光スイッチ２０１ａと２０２ａとは、第１の論理回路を構成し、２×２光スイッチ２０３ｂは、第２の論理回路を構成している。
【００２３】
分波器２００ａｉ（ｉ＝０，１，２）は、前段からの桁上げ信号Ｃi（伝搬信号）とその否定信号バーＣiを２分岐させる。２×２光スイッチ２０１ａｉは、信号Ｘiが“１”であるときに、信号“１”に対応する波長λaの光を選択して出力し、信号Ｘiが“０”であるときに、信号“０”に対応する波長λbの光を選択して出力する。
【００２４】
２×２光スイッチ２０２ａｉは、信号Ｘiと信号Ｙiとが共に“１”または共に“０”であるときに２×２光スイッチ２０１ａｉの出力を選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力し、信号Ｘiと信号Ｙiのうち一方が“１”で他方が“０”であるときに分波器２００ａｉからの光信号Ｃi，バーＣiを選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力する。
【００２５】
２×２光スイッチ２０３ｂｉは、信号Ｘiと信号Ｙiとが共に“１”または共に“０”であるときに、第１の入力ポート（図３の上側の入力ポート）に入力される分波器２００ａｉからの光信号Ｃi，バーＣiを第２の出力ポート（図３の下側の出力ポート）に出力する。このとき、光スイッチ２０３ｂｉは、第２の入力ポート（図３の下側の入力ポート）と第１の出力ポート（図３の上側の出力ポート）とを接続する。ただし、第２の入力ポートは無入力である。
【００２６】
また、光スイッチ２０３ｂｉは、信号Ｘiと信号Ｙiのうち一方が“１”で他方が“０”であるときに、第１の入力ポートに入力される分波器２００ａｉからの光信号Ｃi，バーＣiを第１の出力ポートに出力する。このとき、光スイッチ２０３ｂｉは、第２の入力ポートと第２の出力ポートとを接続する。上記のとおり、第２の入力ポートは無入力である。
【００２７】
図３の例では、各ビットの信号ＸiとＹiの加算結果を示す光信号Ｓiを取り出すために、波長合波器２０４ｂｉをビット毎に設ける。波長合波器２０４ｂｉは、光スイッチ２０３ｂｉから出力される波長の異なる光信号を合波する。
【００２８】
本発明では、桁上げ信号Ｃi+1とその否定信号バーＣi+1の演算を波長多重で行い、共通の回路で２種類の演算を実行する。これにより、図３に示した回路で、図２と同等の機能を位相補償なしで実現することができる。
【００２９】
［第１の実施例］
次に、本発明の第１の実施例について説明する。ここでは、まず、図１、図２の各光論理回路の１ビット分の構成について説明した上で、本実施例の光論理回路の１ビット分の構成について説明する。
【００３０】
図４は図１に示したｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路（全加算器）の１ビット分の構成を示すブロック図、図５は図４の回路の真理値表を示す図である。なお、図５における「−」は“０”または“１”のどちらでもよいことを表している。
論理回路３０１，３０３，３０７は、それぞれ論理関数ｆ1，ｆ2，バーｆ2に則った動作を行う回路である。論理関数ｆ1，ｆ2，バーｆ2の真理値表は図５に示したとおりである。
【００３１】
ｐａｓｓ／ｂｌｏｃｋ型の光ゲート３０２は、論理関数ｆ2（論理回路３０３）の出力が“１”であるときに光源３００からの光信号を通過させ、論理関数ｆ2の出力が“０”であるときに光源３００からの光信号を遮断する。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３０４は、論理関数ｆ1（論理回路３０１）の出力が“１”であるときに光信号Ｃiを選択して出力し、論理関数ｆ1の出力が“０”であるときに光ゲート３０２の出力を選択して出力する。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３０５は、論理関数ｆ1の出力が“１”であるときに光信号バーＣiを選択して出力し、論理関数ｆ1の出力が“０”であるときに光信号Ｃiを選択して出力する。
【００３２】
ｐａｓｓ／ｂｌｏｃｋ型の光ゲート３０８は、論理関数ｆ2の否定バーｆ2（論理回路３０７）の出力が“１”であるときに光源３０６からの光信号を通過させ、バーｆ2の出力が“０”であるときに光源３０６からの光信号を遮断する。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３０９は、論理関数ｆ1の出力が“１”であるときに光信号バーＣiを選択して出力し、論理関数ｆ1の出力が“０”であるときに光ゲート３０８の出力を選択して出力する。
【００３３】
図６は図１に示したｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路（全加算器）の１ビット分の構成を示すブロック図である。図６の回路は、図４に示した回路において、論理関数ｆ1（論理回路３０１）の演算をＸＯＲ演算とし、論理関数ｆ2，バーｆ2の出力の代わりに、Ｘi，バーＸiをそのまま用いたものである。
【００３４】
図７は図２に示した光論理回路（全加算器）の１ビット分の構成を示すブロック図である。ｐａｓｓ／π−ｓｈｉｆｔ型の位相変調器４０１は、信号Ｘiが“１”であるときに光源４００からの光信号をそのまま通過させ、信号Ｘiが“０”であるときに光源４００からの光信号の位相をπだけずらして出力する。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート４０３は、信号Ｘi，Ｙiを入力とするＸＯＲ回路４０２の出力が“１”であるときに光信号Ｃiを選択して出力し、ＸＯＲ回路４０２の出力が“０”であるときに光ゲート４０１の出力を選択して出力する。
【００３５】
位相変調器４０４は、ＸＯＲ回路４０２の出力が“１”であるときに光信号Ｃiの位相をπだけずらして出力し、ＸＯＲ回路４０２の出力が“０”であるときに光信号Ｃiをそのまま通過させる。
つまり、図７の回路では、図６に示した回路における“０”／“１”の信号にそれぞれゼロ／πの位相を割り当てることで、図６における下段の回路（３０６，３０８，３０９）を省略している。ただし、前述のように、光源４００の“１”の位相と、Ｃｉ（＝“０”または“１”）の位相関係を厳密に合わせる必要がある。
【００３６】
図８は本実施例に係る光論理回路（全加算器）の１ビット分の構成を示すブロック図である。本実施例及び以下の実施例では、論理演算の例として入力信号の加算を例に挙げて説明する。本実施例の１ビット分の光論理回路１は、光源１０，１１と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート１２，１３と、波長合波器１４と、分波器１５と、ＸＯＲ回路１６（論理関数回路）と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１７と、波長分波器１８と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１９とから構成される。光源１０，１１と光ゲート１２，１３と波長合波器１４とＸＯＲ回路１６と光ゲート１７とは、第１の論理回路を構成し、波長分波器１８と光ゲート１９とは、第２の論理回路を構成している。
【００３７】
光源１０は、信号“１”に対応する波長λaの光信号を出力する。光源１１は、信号“０”に対応する波長λbの光信号を出力する。図９は波長合波器１４と波長分波器１８の透過特性を示す図である。図９（Ａ）は上側のポートの波長特性を示す図、図９（Ｂ）は下側のポートの波長特性を示す図である。
【００３８】
ｐａｓｓ／ｂｌｏｃｋ型の光ゲート１２は、信号Ｘi（電気信号）が“１”であるときに光源１０からの光信号を通過させ、信号Ｘiが“０”であるときに光源１０からの光信号を遮断する。ｐａｓｓ／ｂｌｏｃｋ型の光ゲート１３は、信号Ｘiの否定信号バーＸi（電気信号）が“１”であるときに光源１１からの光信号を通過させ、信号バーＸiが“０”であるときに光源１１からの光信号を遮断する。波長合波器１４は、光ゲート１２，１３から出力される波長の異なる光信号を合波する。
【００３９】
分波器１５は、前段からの桁上げ信号Ｃi，バーＣiを２分岐させる。ＸＯＲ回路１６は、信号Ｘi（電気信号）と信号Ｙi（電気信号）とのＸＯＲ演算を行なう電気回路である。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１７は、ＸＯＲ回路１６の出力（電気信号）が“１”であるときに分波器１５からの光信号Ｃi，バーＣiを選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力し、ＸＯＲ回路１６の出力が“０”であるときに波長合波器１４の出力を選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力する。
【００４０】
分波器１５の分岐比率は１：１でなくとも良い。光信号Ｓｉ側は、加算結果を示すものであるため光受信器で受光できる程度の光があればよい。一方で、桁上げ信号であるＣi側の経路は桁数分の光パスが連続しており、各桁において光分波器１５で分岐されるため大きな光強度が必要となる。したがって、桁上げ信号側の分岐比を大きくすることが望ましい。また、各桁ごとに分岐比を変えても良い。例えば、後段の桁ほど桁上げ信号が弱くなるため分岐比を徐々に１：１に近づけるようにしてもよい。
【００４１】
一方、波長分波器１８は、分波器１５からの光信号Ｃi，バーＣiを波長λaの光信号Ｃiと波長λbの光信号バーＣiとに分波し、光信号Ｃiをｐａｓｓ／ｃｒｏｓｓ型の光ゲート１９の第１の入力ポート（図８の上側の入力ポート）に入力し、光信号バーＣiを光ゲート１９の第２の入力ポート（図８の下側の入力ポート）に入力する。光ゲート１９は、ＸＯＲ回路１６の出力が“１”であるときに光信号バーＣiを選択して、ＸiとＹiの加算結果を示す光信号Ｓiとして出力し、ＸＯＲ回路１６の出力が“０”であるときに光信号Ｃiを選択して、光信号Ｓiとして出力する。
【００４２】
全加算器を構成する場合には、図３と同様に、図８の光論理回路１の桁上げ信号Ｃi+1，バーＣi+1が次段の光論理回路１に入力されるようにＮビット（Ｎは２以上の整数）分の光論理回路１を縦続接続すれば、Ｎビットの全加算器を実現することができる。
【００４３】
なお、最終桁の桁上げ信号については、図１０に示すように波長フィルタ２０を設け、光信号Ｃi+1，バーＣi+1のうち波長λbの光信号バーＣi+1側を波長フィルタ２０で除去することにより、最終桁の桁上げ信号を生成する必要がある。
【００４４】
本実施例では、位相変調方式と同様に、図６のｃａｓｃａｄｅｄ−ＢＤＤ型の光論理回路における下段の回路（３０６，３０８，３０９）を省略することができる。さらに、本実施例では、位相変調方式と異なり、図７に示した光信号の位相に“０”／“１”を割り当てていないため、図７に示した位相変調方式のような厳密な位相制御が不要となる。
【００４５】
［第２の実施例］
次に、本発明の第２の実施例について説明する。図１１は本実施例に係る光論理回路（全加算器）の１ビット分の構成を示すブロック図である。本実施例の１ビット分の光論理回路２は、光源２１，２２と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート２３と、分波器２４と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート２５，２６とから構成される。光源２１，２２と光ゲート２３，２５とは、第１の論理回路を構成し、光ゲート２６は、第２の論理回路を構成している。
【００４６】
光源２１は、信号“１”に対応する波長λaの光信号を出力する。光源２２は、信号“０”に対応する波長λbの光信号を出力する。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート２３は、信号Ｘi（電気信号）が“１”であるときに光源２１からの光信号を選択して出力し、信号Ｘiが“０”であるときに光源２２からの光信号を選択して出力する。
【００４７】
分波器２４は、前段からの桁上げ信号Ｃi，バーＣiを２分岐させる。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート２５は、信号Ｘi（電気信号）と信号Ｙi（電気信号）とが共に“１”または共に“０”であるときに光ゲート２３の出力を選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力し、信号Ｘiと信号Ｙiのうち一方が“１”で他方が“０”であるときに分波器２４からの光信号Ｃi，バーＣiを選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力する。
【００４８】
ｐａｓｓ／ｃｒｏｓｓ型の光ゲート２６は、信号Ｘiと信号Ｙiとが共に“１”または共に“０”であるときに、第１の入力ポート（図１１の上側の入力ポート）に入力される分波器２４からの光信号Ｃi，バーＣiを第２の出力ポート（図１１の下側の出力ポート）に出力する。このとき、光ゲート２６は、第２の入力ポート（図１１の下側の入力ポート）と第１の出力ポート（図１１の上側の出力ポート）とを接続する。ただし、本実施例では、第２の入力ポートは無入力である。
【００４９】
また、光ゲート２６は、信号Ｘiと信号Ｙiのうち一方が“１”で他方が“０”であるときに、第１の入力ポートに入力される分波器２４からの光信号Ｃi，バーＣiを第１の出力ポートに出力する。このとき、光ゲート２６は、第２の入力ポートと第２の出力ポートとを接続する。上記のとおり、第２の入力ポートは無入力である。
【００５０】
全加算器を構成する場合には、図３と同様に、図１１の光論理回路２の桁上げ信号Ｃi+1，バーＣi+1が次段の光論理回路２に入力されるようにＮビット分の光論理回路２を縦続接続すれば、Ｎビットの全加算器を実現することができる。
【００５１】
最終桁の桁上げ信号については、図１０と同様に波長フィルタを設け、光信号Ｃi+1，バーＣi+1のうち波長λbの光信号バーＣi+1側を波長フィルタで除去することにより、最終桁の桁上げ信号を生成する必要がある。
【００５２】
また、本実施例では、各ビットの信号ＸiとＹiの加算結果を示す光信号Ｓiを取り出すために、波長合波器２７（波長フィルタ）をビット毎に設ける必要がある。波長合波器２７は、光ゲート２６から出力される波長の異なる光信号を合波する。
【００５３】
具体的には、波長合波器２７は、光ゲート２６の第１の出力ポート（図１１の上側の出力ポート）から出力される光信号のうち波長λaの光信号を通さずに、波長λbの光信号を通す。また、波長合波器２７は、光ゲート２６の第２の出力ポート（図１１の下側の出力ポート）から出力される光信号のうち波長λbの光信号を通さずに、波長λaの光信号を通す。こうして、光信号Ｓiが生成される。本実施例の光信号Ｓiは、図１２に示すように光強度で“０”／“１”を表す信号となり、信号ＸiとＹiの加算結果が“０”の場合は光強度がゼロレベルとなる。
【００５４】
本実施例の構成は、第１の実施例の回路を以下の３つの手法（I）〜（III）で簡略化したものである。
【００５５】
（I）図８において信号Ｘi，バーＸiで光ゲート１２，１３を制御している箇所を、信号Ｘiに応じて動作するｐａｓｓ／ｃｒｏｓｓ型の光ゲート２３にスイッチを変更する。これにより、波長合波器１４を省略することができ、信号Ｃi，バーＣiの経路長を短縮し、演算速度を向上させることが可能となる。
【００５６】
（II）図８におけるｐａｓｓ／ｃｒｏｓｓ型の光ゲート１９への入力を、波長分波器１８で信号を上下ポートに分けて入力する方式から、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート２６の出力側で波長選択合波する方式に変更する。加算用の光ゲートを他のスイッチと同一のチップ内に集積する必要性を勘案すると、図８の構成では、波長分波器１８をチップ内に集積する必要がある。これに対して、図１１の構成では、チップ外部に配置される波長合波器２７（波長フィルタ）を用いて演算を実行することが可能となり、チップの作製をより単純化することが可能となる。
【００５７】
（III）図６、図７、図８で用いられていたｐａｓｓ／ｃｒｏｓｓ型の光ゲート３０４，４０３，１７を１制御入力から２制御入力の光ゲート２５に変更することで、ｃａｓｃａｄｅｄ−ＢＤＤ用のＸＯＲ回路３０１，４０２，１６を省略する。この手法の図７への適用は、信号Ｃi，バーＣiの経路内に位相シフタを増設する結果となり、演算速度の観点から不適であると考えられる。一方、光信号の位相に“０”／“１”を割り当てしない本実施例の構成においては、位相シフタの増設が不要であるため、ｃａｓｃａｄｅｄ−ＢＤＤの高速性を保持しつつ、ＸＯＲ回路の省略が可能となる。
【００５８】
［第３の実施例］
次に、本発明の第３の実施例について説明する。図１３は本実施例に係る光論理回路（全加算器）の１ビット分の構成を示すブロック図である。上記のとおり、第２の実施例は、図８に示した第１の実施例の回路に（I）〜（III）の手法を適用したものであり、本実施例は、第１の実施例の回路に（I）、（III）の手法を適用したものである。本実施例では、出力Ｓiの“０”を表す信号として、光強度がゼロではない信号を利用できる。
【００５９】
本実施例の１ビット分の光論理回路３は、光源３０，３１と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３２と、分波器３３と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３４と、波長分波器３５と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３６とから構成される。光源３０，３１と光ゲート３２，３４とは、第１の論理回路を構成し、波長分波器３５と光ゲート３６とは、第２の論理回路を構成している。
【００６０】
光源３０は、信号“１”に対応する波長λaの光信号を出力する。光源３１は、信号“０”に対応する波長λbの光信号を出力する。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３２は、信号Ｘi（電気信号）が“１”であるときに光源３０からの光信号を選択して出力し、信号Ｘiが“０”であるときに光源３１からの光信号を選択して出力する。
【００６１】
分波器３３は、前段からの桁上げ信号Ｃi，バーＣiを２分岐させる。ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３４は、信号Ｘi（電気信号）と信号Ｙi（電気信号）とが共に“１”または共に“０”であるときに光ゲート３２の出力を選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力し、信号Ｘiと信号Ｙiのうち一方が“１”で他方が“０”であるときに分波器３３からの光信号Ｃi，バーＣiを選択して、次段への桁上げ信号Ｃi+1，バーＣi+1として出力する。
【００６２】
波長分波器３５は、分波器３３からの光信号Ｃi，バーＣiを波長λaの光信号Ｃiと波長λbの光信号バーＣiとに分波し、光信号Ｃiをｐａｓｓ／ｃｒｏｓｓ型の光ゲート３６の第１の入力ポート（図１３の上側の入力ポート）に入力し、光信号バーＣiを光ゲート３６の第２の入力ポート（図１３の下側の入力ポート）に入力する。
【００６３】
ｐａｓｓ／ｃｒｏｓｓ型の光ゲート３６は、信号Ｘiと信号Ｙiとが共に“１”または共に“０”であるときに、第１の入力ポートに入力される光信号Ｃiを第２の出力ポート（図１３の下側の出力ポート）に出力し、第２の入力ポートに入力される光信号バーＣiを第１の出力ポート（図１３の上側の出力ポート）に出力する。また、光ゲート３６は、信号Ｘiと信号Ｙiのうち一方が“１”で他方が“０”であるときに、第１の入力ポートに入力される光信号Ｃiを第１の出力ポートに出力し、第２の入力ポートに入力される光信号バーＣiを第２の出力ポートに出力する。
【００６４】
全加算器を構成する場合には、図３と同様に、図１３の光論理回路３の桁上げ信号Ｃi+1，バーＣi+1が次段の光論理回路３に入力されるようにＮビット分の光論理回路３を縦続接続すれば、Ｎビットの全加算器を実現することができる。
【００６５】
なお、最終桁の桁上げ信号については、図１４に示すように波長分波器４０（波長フィルタ）と、フォトダイオード４１，４２と、加減算器４３とを設ける必要がある。
波長分波器４０は、桁上げ信号Ｃi+1，バーＣi+1を波長λbの光信号バーＣi+1と波長λaの光信号Ｃi+1とに分波する。
【００６６】
フォトダイオード４１は、光信号バーＣi+1を電気信号に変換する。フォトダイオード４２は、光信号Ｃi+1を電気信号に変換する。加減算器４３は、フォトダイオード４１の出力信号の極性を反転させた信号とフォトダイオード４２の出力信号とを加算する。こうして、最終桁の桁上げ信号を差動受信した電気信号を生成することができる。
【００６７】
また、本実施例では、各ビットの信号ＸiとＹiの加算結果を示す光信号Ｓiを電気信号に変換して取り出すために、フォトダイオード３７，３８と加減算器３９とからなる差動検出型の受信機をビット毎に設ける必要がある。
【００６８】
フォトダイオード３７は、光ゲート３６の第１の出力ポート（図１３の上側の出力ポート）から出力される光信号を電気信号に変換する。フォトダイオード３８は、光ゲート３６の第２の出力ポート（図１３の下側の出力ポート）から出力される光信号を電気信号に変換する。加減算器３９は、フォトダイオード３７の出力信号の極性を反転させた信号とフォトダイオード３８の出力信号とを加算する。
【００６９】
こうして、差動検出型の受信機をビット毎に設置することにより、“０”／“１”信号の強度レベルの差を２倍に設定できるため、信号検出精度を向上させることが可能となる。つまり、本実施例の光信号Ｓiを電気信号に変換した信号は、図１５に示すように、“１”を表す信号が正極性、“０”を表す信号が負極性となる。
【００７０】
なお、上記の（I）のｐａｓｓ／ｂｌｏｃｋ型、ｐａｓｓ／ｃｒｏｓｓ型、（III）の１制御入力型、２制御入力型などの選択は、スイッチの性能やサイズなどによって使い分ければよい。
【００７１】
図１６は、図１３に示した光論理回路３を４ビット分縦続接続した４ビット全加算器のシミュレーション結果を示す図であり、４ビットの信号Ｘiと４ビットのＹiを加算した結果を示す図である。ここで、入力信号（Ｘi，Ｙi）は１０ＧＨｚの間隔で全スイッチにパラレルに入力されるものとし、スイッチのＯＮ／ＯＦＦ切り替え時間を５ｐｓに設定する。図１６のｏｕｔ０は１つの光論理回路３あたりの回路内光伝播時間がゼロである理想状態を想定したときの出力信号Ｓiを示し、ｏｕｔ１はこの回路内光伝播時間を２．５ｐｓ（１つの光論理回路３あたりの素子長２５０μｍ相当）としたときの出力信号Ｓiを示している。
【００７２】
いずれの光伝播時間の場合も、入力（Ｘi，Ｙi）に応じた正しい加算の演算結果Ｓiが出力されている。ただし、回路内光伝播時間がゼロではないケース（ｏｕｔ１）においては、スイッチを制御する電気信号とスイッチに入力される光信号のタイミングがずれるため、電気信号のクロック周期でスパイク状の信号が出力されている。
【００７３】
伝播遅延に起因するスパイク状の信号は演算誤差の原因となるため、スパイクが現れる時間帯をはずして受信するなどの工夫が必要となる。あるいは、このタイミングに合わせて光のソースをカットすればよい。例えば図１３の光源３０，３１から供給する光源光を、ＣＷ（Continuous Wave）光ではなく、電気信号のクロックに合わせたＲＺ（Return to Zero）信号光としたときの４ビット全加算器の出力信号Ｓiを図１７に示す。ここでは、上記の回路内光伝播時間をさらに大きな５ｐｓ（１つの光論理回路３あたりの素子長５００μｍ相当）としたが、十分にスパイク状信号の除去に成功している。
【００７４】
また、一桁あたりの演算遅延の最大値はこの回路内光伝播時間に対応するのであるが、ＣＭＯＳ回路における一桁あたりの演算時間が２０ｐｓ程度であることを勘案すると、素子長５００μｍのサイズでも十分に速い演算速度を達成できている。数１０μｍの短尺化が可能なナノフォトニクス技術を用いれば、更なる高速化の実現が可能となる。
【００７５】
［第４の実施例］
第１の実施例において、異なるビットごとに用いる光源の波長が異なるようにしてもよい。図１８は本実施例に係る光論理回路（全加算器）のＮ＝３ビット分の構成を示すブロック図であり、最下位桁をｉ＝１としている。１ビット目の光論理回路４−１内の光源５０−１は、信号“１”に対応する（Ｎ−１）個の異なる波長λ2，・・・，λNが多重された光信号を出力する。光源５１−１は、信号“０”に対応する（Ｎ−１）個の異なる波長λ2’，・・・，λN’が多重された光信号を出力する。波長λ2，・・・，λNは上記の波長λaを（Ｎ−１）ビット分に拡張したものに相当し、波長λ2’，・・・，λN’は上記の波長λbを（Ｎ−１）ビット分に拡張したものに相当する。これらλ2，・・・，λN，λ2’，・・・，λN’は全て異なる波長である。
【００７６】
ｐａｓｓ／ｂｌｏｃｋ型の光ゲート１２−１，１３−１、波長合波器１４−１、ＸＯＲ回路１６−１、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１７−１の動作は、それぞれ第１の実施例の光ゲート１２，１３、波長合波器１４、ＸＯＲ回路１６、光ゲート１７と同様である。
【００７７】
一方、光源５２−１は、桁上げ信号バーＣ1に対応する波長λ1’の光信号を出力する。この波長λ1’は上記の波長λbに相当する。ここでＣ1に対応する光信号は使用しない。これらの設定は最下位桁への桁上げ信号はゼロであることを意味する。
波長分波器１８−１、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１９−１の動作は、それぞれ第１の実施例の波長分波器１８、光ゲート１９と同様である。
【００７８】
次に、２ビット目の光論理回路４−２内の光源５０−２は、信号“１”に対応する（Ｎ−２）個の異なる波長λ3，・・・，λNが多重された光信号を出力する。光源５１−２は、信号“０”に対応する（Ｎ−２）個の異なる波長λ3’，・・・，λN’が多重された光信号を出力する。ただし、本実施例では、Ｎ＝３である。
【００７９】
ここで、１ビット目の光論理回路４−１の光ゲート１７−１から出力される伝搬信号は、複数の波長λ2，・・・，λN，λ2’，・・・，λN’が多重された光信号である。
そこで、２ビット目の光論理回路４−２内のＷＤＭ（Wavelength Division Multiplexing）フィルタ５３−２は、下位ビットの光論理回路４−１から出力される伝搬信号の内、自身のビットに対応する波長λ2，λ2’の光信号を、下位ビットからの桁上げ信号Ｃ2，バーＣ2として取り出して波長分波器１８−２に入力し、その他の波長λ3，・・・，λN，λ3’，・・・，λN’の光信号をそのまま通過させて光ゲート１７−２に入力する。
【００８０】
ｐａｓｓ／ｂｌｏｃｋ型の光ゲート１２−２，１３−２、波長合波器１４−２、ＸＯＲ回路１６−２、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１７−２の動作は、それぞれ第１の実施例の光ゲート１２，１３、波長合波器１４、ＸＯＲ回路１６、光ゲート１７と同様である。波長分波器１８−２、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１９−２の動作は、それぞれ第１の実施例の波長分波器１８、光ゲート１９と同様である。
【００８１】
次に、最上位ビットの３ビット目の光論理回路４−３内のＸＯＲ回路１６−３の動作は、第１の実施例のＸＯＲ回路１６と同様である。この最上位ビットでは、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１７は不要である。
【００８２】
２ビット目の光論理回路４−２の光ゲート１７−２から出力される伝搬信号は、複数の波長λ3，・・・，λN，λ3’，・・・，λN’が多重された光信号である。ただし、本実施例では、Ｎ＝３なので、２ビット目のようにＷＤＭフィルタを用いる必要はなく、３ビット目の光論理回路４−３に対応する波長λ3，λ3’の光信号が、下位ビットからの桁上げ信号Ｃ3，バーＣ3として波長分波器１８−３に入力される。
【００８３】
波長分波器１８−３、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート１９−３の動作は、それぞれ第１の実施例の波長分波器１８、光ゲート１９と同様である。
【００８４】
こうして、第１の実施例と同様の全加算器を実現することができる。最上位ビットを除くビットの光論理回路４では、光源５０は、自身のビットｉよりも上位のビットの個数Ｍ（Ｍは１以上Ｎ以下の整数で、Ｍ＝Ｎ−ｉ）の異なる波長λi，・・・，λNが多重された光信号を出力すればよく、光源５１は、個数Ｍの異なる波長λi’，・・・，λN’が多重された光信号を出力すればよい。
【００８５】
最下位ビットと最上位ビットとを除くビットの光論理回路４では、第１の実施例の分波器１５の代わりに、ＷＤＭフィルタ５３を設け、下位ビットからの伝搬信号の内、自身のビットｉに対応する波長λi，λi’の光信号を、下位ビット（ｉ−１）から自身のビットｉへの桁上げ信号として取り出して波長分波器１８に入力し、その他の波長の光信号を光ゲート１７に入力すればよい。
【００８６】
最下位ビットの光論理回路４では、自身のビットｉへの桁上げ信号Ｃi＝“０”に対応する波長λi’の光信号を出力する光源５２を設けるようにすればよい。
最上位ビットの光論理回路４では、下位ビットからの桁上げ信号をそのまま波長分波器１８に入力すればよい。また最上位ビットの出力Ｓiを最終桁上値とする場合は、最上位ビットの光論理回路４への入力Ｘi，Ｙiはともにゼロであるため、この場合は最上位ビットの光論理回路４を図１０の回路に置き換えてもよい。
本実施例によれば、桁上げ信号の電力分岐損を減らすことが可能となる。
【産業上の利用可能性】
【００８７】
本発明は、光回路、または光回路と電気回路の混合回路で行う論理演算に適用することができる。
【符号の説明】
【００８８】
１，２，３，４…光論理回路、１０，１１，２１，２２，３０，３１，５０〜５２…光源、１２，１３，１７，１９，２３，２５，２６，３２，３４，３６…光ゲート、１４，２７…波長合波器、１５，２４，３３…分波器、１６…ＸＯＲ回路、１８，３５，４０…波長分波器、２０…波長フィルタ、３７，３８，４１，４２…フォトダイオード、３９，４３…加減算器、５３…ＷＤＭフィルタ。
【図１】
2018141892.tif 000003
【図２】
2018141892.tif 000004
【図３】
2018141892.tif 000005
【図４】
2018141892.tif 000006
【図５】
2018141892.tif 000007
【図６】
2018141892.tif 000008
【図７】
2018141892.tif 000009
【図８】
2018141892.tif 000010
【図９】
2018141892.tif 000011
【図１０】
2018141892.tif 000012
【図１１】
2018141892.tif 000013
【図１２】
2018141892.tif 000014
【図１３】
2018141892.tif 000015
【図１４】
2018141892.tif 000016
【図１５】
2018141892.tif 000017
【図１６】
2018141892.tif 000018
【図１７】
2018141892.tif 000019
【図１８】
2018141892.tif 000020
【図１９】
2018141892.tif 000021