TOP > 国内特許検索 > 光論理回路 > 明細書

明細書 :光論理回路

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2018-036455 (P2018-036455A)
公開日 平成30年3月8日(2018.3.8)
発明の名称または考案の名称 光論理回路
国際特許分類 G02F   1/31        (2006.01)
FI G02F 1/31
請求項の数または発明の数 8
出願形態 OL
全頁数 35
出願番号 特願2016-168953 (P2016-168953)
出願日 平成28年8月31日(2016.8.31)
新規性喪失の例外の表示 特許法第30条第2項適用申請有り [公開の事実1] ▲1▼発行日:2016年3月3日 ▲2▼刊行物:2016年 第63回 応用物理学会春季学術講演会 講演予稿集 03-624頁 ▲3▼公開者:新家 昭彦、石原 亨、井上 弘士、野崎 謙悟、納富 雅也 [公開の事実2] ▲1▼発行日:2016年6月9日 ▲2▼刊行物:電子情報通信学会技術研究報告Vol.116 No.93 109-114頁 ▲3▼公開者:石原 亨、新家 昭彦、井上 弘士、野崎 謙悟、納富 雅也 [公開の事実3] ▲1▼発行日:2016年7月10日 ▲2▼刊行物:16th International Forum on MPSoC for Software-defined Hardware(MPSoC`16)(MPSoC ソフトウェア ディファインド ハードウェア 第16回 国際フォーラム 配布資料) ▲3▼公開者:新家 昭彦 [公開の事実4] ▲1▼発行日:2016年7月10日 ▲2▼刊行物:16th International Forum on MPSoC for Software-defined Hardware(MPSoC`16)(MPSoC ソフトウェア ディファインド ハードウェア 第16回 国際フォーラム 配布資料) ▲3▼公開者:石原 亨
発明者または考案者 【氏名】新家 昭彦
【氏名】納富 雅也
【氏名】野崎 謙悟
【氏名】石原 亨
出願人 【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
個別代理人の代理人 【識別番号】100098394、【弁理士】、【氏名又は名称】山川 茂樹
【識別番号】100153006、【弁理士】、【氏名又は名称】小池 勇三
【識別番号】100064621、【弁理士】、【氏名又は名称】山川 政樹
審査請求 未請求
テーマコード 2K102
Fターム 2K102BA08
2K102BB04
2K102BC04
2K102BD01
2K102DC07
2K102DC08
2K102EA21
2K102EB20
要約 【課題】回路構成の簡素化と演算の高速化を両立させる。
【解決手段】光論理回路は、Nビット(Nは2以上の整数)の複数の入力信号X1,・・・,Xnの論理演算を行う際に、複数の入力信号X1,・・・,Xnに対する同一のビット同士の所定の論理関数の結果をビット毎に出力する論理回路2~4と、この論理回路2~4の出力を制御入力として、ビット毎の論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する論理回路5とを備える。論理回路5は、論理回路2~4の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0と、値1のうちいずれか1つを出力する。
【選択図】 図7
特許請求の範囲 【請求項1】
Nビット(Nは2以上の整数)の複数の入力信号の論理演算を行う際に、前記複数の入力信号に対する同一のビット同士の所定の論理関数の結果をビット毎に出力する第1の論理回路と、
この第1の論理回路の出力を制御入力として、ビット毎の前記論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する第2の論理回路とを備え、
前記第2の論理回路は、前記第1の論理回路の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0と、値1のうちいずれか1つを出力することを特徴とする光論理回路。
【請求項2】
請求項1記載の光論理回路において、
前記第1の論理回路が電気回路または光回路からなり、
前記第2の演算回路が光回路からなることを特徴とする光論理回路。
【請求項3】
請求項1または2記載の光論理回路において、
前記第1の論理回路と前記第2の論理回路はカスケード接続されており、
前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、
前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0と、値1と、前段の光ゲートの出力のうち少なくとも1つを信号入力とする複数の光ゲートを、複数段のツリー状に接続した構造を含むことを特徴とする光論理回路。
【請求項4】
請求項1または2記載の光論理回路において、
前記第1の論理回路と前記第2の論理回路はカスケード接続されており、
前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、
前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号のうち少なくとも1つを信号入力とする1つの光ゲートを含むことを特徴とする光論理回路。
【請求項5】
請求項1記載の光論理回路において、
前記第1の論理回路が電気回路または光回路からなり、
前記第2の論理回路が光回路からなる場合に、光信号の異なる位相に0,1の値を割り当てることを特徴とする光論理回路。
【請求項6】
請求項5記載の光論理回路において、
前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、
前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0を表す位相の信号と、値1を表す位相の信号のうちいずれか1つを信号入力とし、この信号入力の位相の変調/無変調を前記論理関数の出力に応じて切り替える1乃至複数の位相変調器と、
前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0を表す位相の信号と、値1を表す位相の信号と、前段の1乃至複数の位相変調器の出力のうち2つを信号入力とする光ゲートとを含むことを特徴とする光論理回路。
【請求項7】
請求項5記載の光論理回路において、
前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、
前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号を信号入力とし、この信号入力の位相の変調/無変調を前記論理関数の出力に応じて切り替える1つの位相変調器を含むことを特徴とする光論理回路。
【請求項8】
請求項5記載の光論理回路において、
前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、
前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0を表す位相の信号と、値1を表す位相の信号のうち少なくとも1つを信号入力とする1つの光ゲートを含むことを特徴とする光論理回路。
発明の詳細な説明 【技術分野】
【0001】
本発明は、論理演算を光回路、または光回路と電気回路の混合回路で行う光論理回路に関するものである。
【背景技術】
【0002】
現在の電子演算回路は、その処理速度を向上させるため、そのチップサイズや素子サイズを極限まで小さくする工夫がなされている。その理由は、回路内の抵抗(R)とキャパシタンス(C)とが信号の伝搬を大きく律速しているため、演算速度を上げるにはチップサイズや素子サイズを小さくするしかないためである。そのため、狭面積の論理ブロックやコアに素子を詰め込み、マルチコア(multi-core)・メニーコア(many core)化などの工夫がなされているが、それらのコアを繋ぐための配線が新たな「遅延」を生み、演算の高速化に限界が見えつつある。
【0003】
一方、光通信などで用いられる光配線や光パスゲートは、その配線経路内のCやRに無依存で光信号を伝播させることができる。また、ナノフォトニクスの進展により、光ゲートの消費エネルギーは飛躍的に改善され、そのエネルギーコスト[J/bit]は、CMOSゲートと光で同程度のレベルになりつつある。そのため、チップ内やチップ間の通信を光化する様々な研究がなされている。
【0004】
しかしながら、従来の研究では、回路の演算時間を律速する演算経路(クリティカルパス)への配慮がなく、演算で生じる遅延を解決できていないという問題点があった。したがって、演算レベルで生じる遅延の問題を根本から解決するためには、チップ内やチップ間の光配線や光ゲートだけでなく、さらに粒度を細かくトランジスタレベルまで光化を進める必要がある。
【0005】
ここで、光ゲートの電気制御ポート側から信号を入力する接続形態をカスケード接続、スイッチの光伝搬経路が連続的に接続されている形態をシリアル接続と定義する。例えばシリアル接続とカスケード接続が混在した光電融合型の回路を想定した場合、カスケード接続の部分が光と電気の境界となり、その境界において回路中を伝搬する光信号は一度電気に変換(OE(Optical-Electrical)変換)される必要がある。この変換は電気回路に律速されるため、OE変換が多用される回路は光を使うことのメリットが小さい。そのため、光と電気の境界、つまりカスケード接続の配置場所と数が回路構成の重要なポイントとなる。このような観点でこれまでに報告されている光回路を分類すると、以下の2つとなり、それぞれに一長一短がある。
【0006】
従来の光回路のひとつの構成は図46(A)に示される、product-term型の回路である(非特許文献1参照)。product-term型の回路は、演算を2つのステージに分割し、それぞれを、pass/block型の光1×1スイッチで構成し、光を伝搬させることで演算を行う。つまりステージのそれぞれはシリアル接続で構成され、その間に1段のカスケード接続を導入することで、AND/OR論理に基づく演算を実現している。
【0007】
第1ステージのANDゲート100は複数の光1×1スイッチ101,102で構成される。図46(A)の例では、3つの光1×1スイッチ101または102がシリアル接続された構成がn段設けられている。
【0008】
光1×1スイッチ101は、電気制御入力が“1”であるときにオン状態となって入力経路からの光信号を通過させ(pass)、電気制御入力が“0”であるときにオフ状態となって光信号を遮断する(block)。光1×1スイッチ102は、電気制御入力が“1”であるときにオフ状態となって入力経路からの光信号を遮断し、電気制御入力が“0”であるときに光信号を通過させる。ANDゲート100の入力経路には光源103を配置して光を入力する。
【0009】
一方、第2ステージのORゲート104は、n個の光1×1スイッチ102がシリアル接続された構成からなる。ORゲート104の入力経路には光源105を配置して光を入力する。そして、ANDゲート100とORゲート104との間には、ANDゲート100のn個の光出力を、ORゲート104の各光1×1スイッチ102の電気制御入力として与えるカスケード接続のためのOE変換器106が配置される。
【0010】
図46(A)に示した構成により全ての演算が再現可能となる。また、第1ステージに振り分けられた演算(光1×1スイッチ101または102で構成される1本のライン)のそれぞれは並列処理が可能な状態となるため、演算時間が短縮される。つまり、product-term型の回路の演算時間は、第1ステージにおける最長の演算時間と、第1ステージと第2ステージとの間に配置されるカスケード接続部のOE変換器106のスイッチング時間と、第2ステージの演算時間との和となる。
【0011】
ただし、product-term型の回路の各ステージで用いられる演算は、基本的にはそれぞれANDとORである。非特許文献1では、第1ステージをXORの利用まで拡張してはいるが、第2ステージはORに限定されている。そのため、各ステージのシリアル接続段数は多くなりがちで、光の伝搬時間が長くなるため、このようなケースにおいては演算が遅くなる。また、カスケード接続部において光信号を電気信号に変換し、その電気信号により第2ステージの光ゲートを制御するため、光を伝搬させるだけでは演算は完了しない。
【0012】
従来の光回路の他の構成は図46(B)に示されるBDD(binary decision diagram)型の回路である(非特許文献2参照)。全ての演算は2分岐スイッチのツリー構造(LUT:Look up table)で表現することが可能で、このツリー構造のスイッチ数を少なく再構成したものがBDDである。LUTは2×1または2×2の光スイッチで再現が可能であり、BDDは複数分岐のスイッチを必要とする。
【0013】
図46(B)の例では、BDD型の回路107は、pass/cross型2×2光スイッチ108をn段のツリー状に接続したものである。2×2光スイッチ108は、pass/cross型2×2光スイッチを2×1光スイッチとして使用し、電気制御入力が“1”であるときに、出力ポートとして使用する側の入力ポートからの光信号を選択し(pass)、電気制御入力が“0”であるときに、出力ポートとして使用する反対側の入力ポートからの光信号を選択する(cross)。BDD型の回路107の入力経路には光源109を配置して光を入力する。
【0014】
BDD型の回路107の内部は全てシリアル接続で構成されるため、カスケード接続を前提とするProduct-term型とは形態が異なり、事前に電気的に制御された経路に光を伝搬させるだけで演算を完了することができる。つまり、回路107内の光の伝搬時間が演算時間となる。ただし、BDD型の回路107は光経路の交差や分岐を多数含むため、実現が困難な回路構成となってしまう。
【先行技術文献】
【0015】

【非特許文献1】Qianfan Xu et al.,“Reconfigurable optical directed-logic circuits using microresonator-based optical switches”,OPTICS EXPRESS,Vol.19,No.6,pp.5244-5259,2011
【非特許文献2】浅井哲也,雨宮好仁,小柴正則,“二分決定グラフにもとづくフォトニック結晶集積デバイス”,信学会総合大会,SC-1-4,2000
【発明の概要】
【発明が解決しようとする課題】
【0016】
以上のように、従来のproduct-term型の回路では、演算速度が遅いという問題点があった。
また、従来のBDD型の回路では、回路構成が複雑になり、実現が困難な回路構成になってしまうという問題点があった。
【0017】
本発明は、上記課題を解決するためになされたもので、回路構成の簡素化と演算の高速化を両立させることができる光論理回路を提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明の光論理回路は、Nビット(Nは2以上の整数)の複数の入力信号の論理演算を行う際に、前記複数の入力信号に対する同一のビット同士の所定の論理関数の結果をビット毎に出力する第1の論理回路と、この第1の論理回路の出力を制御入力として、ビット毎の前記論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する第2の論理回路とを備え、前記第2の論理回路は、前記第1の論理回路の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0と、値1のうちいずれか1つを出力することを特徴とするものである。
【0019】
また、本発明の光論理回路の1構成例は、前記第1の論理回路が電気回路または光回路からなり、前記第2の演算回路が光回路からなることを特徴とするものである。
また、本発明の光論理回路の1構成例において、前記第1の論理回路と前記第2の論理回路はカスケード接続されており、 前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0と、値1と、前段の光ゲートの出力のうち少なくとも1つを信号入力とする複数の光ゲートを、複数段のツリー状に接続した構造を含むことを特徴とするものである。
また、本発明の光論理回路の1構成例において、前記第1の論理回路と前記第2の論理回路はカスケード接続されており、前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号のうち少なくとも1つを信号入力とする1つの光ゲートを含むことを特徴とするものである。
【0020】
また、本発明の光論理回路の1構成例は、前記第1の論理回路が電気回路または光回路からなり、前記第2の論理回路が光回路からなる場合に、光信号の異なる位相に0,1の値を割り当てることを特徴とするものである。
また、本発明の光論理回路の1構成例において、前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0を表す位相の信号と、値1を表す位相の信号のうちいずれか1つを信号入力とし、この信号入力の位相の変調/無変調を前記論理関数の出力に応じて切り替える1乃至複数の位相変調器と、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0を表す位相の信号と、値1を表す位相の信号と、前段の1乃至複数の位相変調器の出力のうち2つを信号入力とする光ゲートとを含むことを特徴とするものである。
また、本発明の光論理回路の1構成例において、前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号を信号入力とし、この信号入力の位相の変調/無変調を前記論理関数の出力に応じて切り替える1つの位相変調器を含むことを特徴とするものである。
また、本発明の光論理回路の1構成例において、前記第1の論理回路は、1乃至複数の前記論理関数の結果を出力するものであり、前記第2の論理回路は、前記論理関数の出力を制御入力とし、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0を表す位相の信号と、値1を表す位相の信号のうち少なくとも1つを信号入力とする1つの光ゲートを含むことを特徴とするものである。
【発明の効果】
【0021】
本発明では、複数の入力信号に対する同一のビット同士の所定の論理関数の結果をビット毎に出力する第1の論理回路と、この第1の論理回路の出力を制御入力として、ビット毎の論理演算の結果、またはビット毎の論理演算に必要な、上位ビットへの伝搬信号を出力する第2の論理回路とから光論理回路を構成し、第2の論理回路が、第1の論理回路の出力に応じて、下位ビットからの伝搬信号と、この伝搬信号の否定信号と、値0と、値1のうちいずれか1つを出力する。本発明では、光論理回路を第1の論理回路と第2の論理回路の2つのステージに分割し、ステージ間をカスケード接続することにより、回路構成の簡素化を実現することができる。この分割は第1の論理回路に振り分けられた複数の論理関数をそれぞれ並列処理が可能な状態とし、第1の論理回路からの信号で第2の論理回路に含まれるゲートを一度に開閉させることができるため、第2の論理回路における光信号の伝搬経路が確定するまでの時間を大幅に短縮することができる。さらに、第2の論理回路内のシリアル接続段数を大幅に削減することができるため、演算時間を大幅に短縮することができる。本発明が提供する光論理回路は、トランジスタレベルまで光化を進めた構成となっており、電気回路と光回路の融合を容易にし、電気回路の得意分野(膨大な素子の超高集積と並列処理による、超高スループット演算)と、光回路の得意分野(情報を光の速度で伝搬させながら光の伝搬速度で演算を完了させる、超低レイテンシ演算)の両立が可能となり、動作周波数が頭打ち状態になりつつある電気回路の問題を解決することを可能とする。
【0022】
また、本発明では、光信号の異なる位相に0,1の値を割り当てる。これにより、本発明では、下位ビットからの伝搬信号の否定信号を作る回路が不要となり、回路を簡素化し、素子数を大幅に削減することが可能となる。また、本発明の光論理回路によれば、その出力が位相変調光信号となるため、デジタルコヒーレントなどで用いられている位相検出技術を用いれば、受信時の0/1判定のエラーを小さくすることが可能となる。
【図面の簡単な説明】
【0023】
【図1】本発明の光論理回路の構成を示すブロック図である。
【図2】BDDに基づく光回路を説明する図である。
【図3】cascaded-BDDを説明する図である。
【図4】加算回路、パタンマッチ回路の特徴を説明する図である。
【図5】本発明の第1の実施の形態に係る光論理回路を模式化した図である。
【図6】図5の光論理回路の論理ブロックの従来の構成を示すブロック図である。
【図7】本発明の第1の実施の形態に係る光論理回路の論理ブロックの構成を示すブロック図である。
【図8】ルックアップテーブルから、本発明の第1の実施の形態に係る第2ステージの論理回路を設計する手順を説明する図である。
【図9】本発明の第1の実施の形態に係る第2ステージの論理回路の構成例を示す図である。
【図10】本発明の第1の実施の形態に係る第1ステージの論理回路を設計する手順を説明する図である。
【図11】本発明の第1の実施の形態に係る第1ステージの論理回路の真理値表を示す図である。
【図12】本発明の第2の実施の形態に係る全加算器を設計する手順を説明する図である。
【図13】本発明の第2の実施の形態に係る全加算器を構成する論理回路の真理値表を示す図である。
【図14】従来の全加算器の構成を示すブロック図である。
【図15】本発明の第2の実施の形態に係る全加算器の構成を示すブロック図である。
【図16】本発明の第2の実施の形態に係る全加算器の具体的な構成例を示すブロック図である。
【図17】本発明の第3の実施の形態に係る光論理回路の構成を示すブロック図である。
【図18】本発明の第1の実施の形態に係る論理回路を用いた場合の桁上げ部の構成を示すブロック図である。
【図19】本発明の第3の実施の形態に係る論理回路を用いた場合の桁上げ部の構成を示すブロック図である。
【図20】本発明の第4の実施の形態に係る全加算器の構成を示すブロック図である。
【図21】本発明の第4の実施の形態に係る全加算器の具体的な構成例を示すブロック図である。
【図22】パタンマッチ回路の真理値表を示す図である。
【図23】本発明の第5の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図24】本発明の第6の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図25】本発明の第6の実施の形態に係るパタンマッチ回路の第1ステージの論理回路の真理値表を示す図である。
【図26】本発明の第6の実施の形態に係るパタンマッチ回路の真理値表を示す図である。
【図27】本発明の第7の実施の形態に係る全加算器の構成を示すブロック図である。
【図28】本発明の第7の実施の形態に係る全加算器の第1ステージの論理回路の真理値表を示す図である。
【図29】本発明の第7の実施の形態に係る全加算器の真理値表を示す図である。
【図30】本発明の第7の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図31】図30の全加算器の第1ステージの論理回路の真理値表を示す図である。
【図32】本発明の第7の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図33】図32の全加算器の第1ステージの論理回路の真理値表を示す図である。
【図34】本発明の第8の実施の形態に係る乗算器の構成を示すブロック図である。
【図35】本発明の第8の実施の形態に係る乗算器の第1ステージの論理回路の真理値表を示す図である。
【図36】本発明の第8の実施の形態に係る乗算器の真理値表を示す図である。
【図37】典型的なpass/cross型光ゲートを説明する図である。
【図38】典型的なpass/cross型光ゲートを説明する図である。
【図39】従来の全加算器の他の構成を示すブロック図である。
【図40】本発明の第9の実施の形態に係る全加算器の構成を示すブロック図である。
【図41】本発明の第9の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図42】本発明の第10の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図43】本発明の第11の実施の形態に係る全加算器の構成を示すブロック図である。
【図44】本発明の第11の実施の形態に係る全加算器の他の構成を示すブロック図である。
【図45】本発明の第12の実施の形態に係るパタンマッチ回路の構成を示すブロック図である。
【図46】従来の光論理回路の構成を示すブロック図である。
【発明を実施するための形態】
【0024】
[発明の原理]
本発明では、図1(A)~図1(C)に示されるcascaded-BDDの構成を適用する。Cascaded-BDD型の光論理回路は、Product-term型の光回路とBDD型の光回路の複合形態となっており、product-term型の光回路の第1ステージと第2ステージのどちらの演算もBDD型で構成されるものとする。また第1ステージと第2ステージの間はカスケード接続とする。それぞれのステージが光回路か電気回路のどちらかであるため、図1(A)~図1(C)の3通りの組み合わせを考えることができる。

【0025】
なお、本発明では、電気制御系を1つしか有さない方向性結合器型のようなpass/cross型光ゲートにも、複数の独立した電気制御素子を内在するマッハツェンダ干渉型のようなpass/cross型光ゲートにも対応可能である。

【0026】
図1(A)の構成は、図46(B)に示される従来のBDD型の光回路に類似する形態となっている。この図1(A)の光論理回路は、第1ステージのBDD型の電気回路200と、第2ステージのBDD型の光回路201とから構成される。電気回路200の内部では、n本の並列のラインのそれぞれがBDD型の電気回路202で構成されている。光回路201の内部では、図46(B)と同様に、光ゲートがn段のツリー状に接続されている。そして、電気回路200のn個の電気信号出力を、光回路201の電気制御入力として与えるカスケード接続が採用されている。

【0027】
ただし、同じ論理構成であれば全く同じ回路構成となるBDDの特徴を鑑みると、図46(B)に示した従来のBDD型の回路と本発明のcascaded-BDD型の回路型の回路は根本的に異なる論理構成ということができる。また、回路の持つ特徴も異なる。cascaded-BDD型の回路は従来のBDD型の回路を第1ステージ、第2ステージに分割することで、処理の一部を第1ステージ側に移すことで第2ステージの処理数を削減し、従来のBDD型の回路の複雑さを緩和し、従来のBDD型の回路よりも少ないシリアル接続段数を実現することができる。さらに、product-term型の回路と同様に、ステージの分割により第1ステージの演算を全て並列実行できるメリットも合わさり、演算時間の大幅な短縮が可能となる。

【0028】
図1(B)の構成は、図46(A)に示されるproduct-term型を含む形態となっている。この図1(B)の光論理回路は、第1ステージのBDD型の光回路203と、第2ステージのBDD型の光回路201と、第1ステージと第2ステージとの間に配置されるカスケード接続部となるn個のOE変換器204とから構成される。光回路203の内部では、n本の並列のラインのそれぞれがBDD型の光回路205で構成されている。

【0029】
図1(B)の構成は、ステージを2つに分割する点はproduct-term型と同じであるが、各ステージにBDD型の回路を採用するため、より少ない素子数と段数で同じ関数を実現することが可能となり、各ステージにおける光ゲートのシリアル接続段数をproduct-term型よりも削減することができ、演算を高速化することができる。また、第1ステージの演算に必ずしも光を用いなくても演算の高速化が可能となるケースにおいては、図1(A)の構成とすることで第1ステージと第2ステージの間の光・電気変換が不要となり、第2ステージのBDD型の光回路201に光を伝搬させるだけで演算を完了させることができる。

【0030】
図1(C)の光論理回路は、第1ステージのBDD型の光回路203と、第2ステージのBDD型の電気回路206と、第1ステージと第2ステージとの間に配置されるカスケード接続部となるn個のOE変換器204とから構成され、図46(A)に示されるproduct-term型の第2ステージを電気素子で構成した回路を含む形態となっている。ただし、cascaded-BDD型の回路では各ステージにBDD型の回路を採用するため、より少ない素子数と段数で同じ関数を実現することが可能となり、第1ステージにおける光ゲートのシリアル接続段数をproduct-term型よりも削減し、演算を高速化することができる。

【0031】
以上のように、本発明では、cascaded-BDD型の回路の採用により、シリアル段数と光経路の交差と光経路の分岐とOE変換とが少ない光回路を実現することができ、このような回路を演算経路(クリティカルパス)に適用することで、演算速度を飛躍的に改善することができる。

【0032】
ここで、Cascaded-BDDについて補足説明する。図2(A)、図2(B)にBDDに基づく光回路の構成を示す。図2(A)は典型的なBDD型の光回路を示しており、“0”、“1”の情報を有する光源がソース入力に接続されており、外部制御入力によって、“0”か“1”の光信号がf1として出力される。図2(A)の700は光ゲートである。この図2(A)の回路は後述の図8(A)の回路に該当する。

【0033】
図2(B)は変則的なBDD型の光回路を示しており、外部制御入力の一部(Ci,バーCiの両方かどちらか一方)がソース入力に接続され、外部制御入力によって、“0”、“1”、Ci、バーCiのいずれかの光信号がf1として出力される。この図2(B)の回路は後述の図8(B)の回路に該当する。BDD型の回路は、内包される光ゲート700の光伝搬経路が、ソース入力から出力まで連続的に連なる全シリアル接続となっている。

【0034】
図3(A)、図3(B)に、cascaded-BDD型の回路の構成を示す。800~802の各々はBDD型の回路である。図3(A)の803は1段のカスケード接続部を示し、804は2段のカスケード接続部を示している。演算のステージが複数に分割されており、各ステージ間は、前ステージの演算結果が次ステージの電気制御入力として利用されるカスケード接続となっている。BDD型の回路の出力が光信号の場合、ステージの境界においてOE変換が必要となるため、カスケード接続が累積する図3(B)の回路構成においては、演算遅延が大きくなる。そのため、本発明においては、図3(A)の2ステージ演算を採用し、カスケード段数を1段以下に限定することとする。

【0035】
図4は本発明の加算回路とパタンマッチ回路の特徴を説明する図である。本発明では、ステージを2つに分け、第1ステージと第2ステージの回路構成をBDD(2分岐決定図)に基づく回路とし、BDD型の回路の2分岐決定木(ツリー)を伝搬する信号を光信号とし、下位ビットBDD型の回路の光出力と、上位ビットBDD型の回路のソースが、光伝搬信号を通して第2ステージ上でつながり、大きな2分岐決定木(ツリー)を構成している。

【0036】
その結果、本発明では、図4に示すように、1段のカスケード接続(803)を除いて、光源から出力まで全てシリアル接続となり、これにより第2ステージの演算は光を伝搬させるだけで演算が可能となり、光の伝搬時間で演算が完了する。また、カスケード接続を入れることにより、第2ステージのシリアル段数が削減され、光の伝搬時間を短くし、演算時間を短縮することが可能となる。さらに、カスケード接続が累積しないため、演算速度の低下を防ぐことができる。

【0037】
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して説明する。本実施の形態では図1(A)の形態を想定し、図5の入力Ciの経路を図1(A)の第2ステージのBDD型の光回路201に振り分け、その他の演算を第1ステージのBDD型の電気回路200に振り分ける。

【0038】
図5は、加算器などの演算回路を模式化した図であり、前段の論理ブロック1(部分関数)で演算された出力が、次段の論理ブロック1の入力として利用されている。例えば加算器であれば、X1,・・・,Xnは加算される値であり、Ciは前段のi-1桁からの桁上げの値である。ここでは、信号Ci,Ci+1,・・・が通る経路が、演算を律速するクリティカルパスとなる。

【0039】
図5の回路に含まれる論理ブロック1(部分関数)は、一般的に、図6に示される回路で実現することができる。図6の回路は、論理回路300,301と、セレクタ302とから構成される。論理回路300は、Ci,X1,・・・,Xnに応じて“1”または“0”を出力する。論理回路301は、X1,・・・,Xnに応じて“1”または“0”を出力する。セレクタ302は、論理回路301の出力が“1”であるときに論理回路300の出力を選択して出力し、論理回路301の出力が“1”であるときにCiを選択して出力する。

【0040】
本実施の形態では、図6の回路のセレクタ302の部分を、図7に示すようにpass/blockおよびpass/cross型の光ゲートに置き換える。この図7の回路は、BDD型の論理回路2~5から構成される。図7は、1bit分の構成を示している。また、信号の“0”/“1”を0/1の光強度信号に対応させる。

【0041】
第1ステージの論理回路2,3,4は、それぞれ電気信号X1,・・・,Xnを入力とし、所定の論理関数f1,f2,f3に則った動作を行って“1”または“0”の電気信号を出力する。論理関数f1,f2,f3および論理回路2,3,4の具体例については後述する。

【0042】
第2ステージの論理回路5は、強度情報が“1”の光信号を出力する光源50と、pass/block型の光ゲート51と、pass/cross型の光ゲート52,53とから構成される。光ゲート51は、論理回路3の出力が“1”であるときに光源50からの光信号を通過させ、論理回路3の出力が“0”であるときに光源50からの光信号を遮断する。光ゲート52は、論理回路4の出力が“1”であるときに光信号Ciを選択して出力し、論理回路4の出力が“0”であるときに信号Ciに対する否定の光信号バーCiを選択して出力する。光ゲート53は、論理回路2の出力が“1”であるときに光ゲート51の出力を選択して出力し、論理回路2の出力が“0”であるときに光ゲート52の出力を選択して出力する。

【0043】
このように、BDD型の論理回路2~4を第1ステージに配置し、BDD型の論理回路5を第2ステージに配置する。図7の回路の構成により、クリティカルパスは第2ステージ上に配置され、光ゲート51~53が連続的に連なった光伝搬経路となり、第1ステージからの電気制御入力により構築された経路に光を伝搬させるだけで、演算が完了する。クリティカルパス上の一部の演算(f1,f2,f3)は第1ステージに配置されるため、第2ステージに配置されるクリティカルパス上のパスゲートの数が極小化され、伝搬による演算遅延を最小化することが可能となる。

【0044】
LUTからBDD型の論理回路5を設計する手順は、図8(A)~図8(C)の3つの段階に整理することができる。図8(A)は、図5の論理ブロック1(部分関数)を一般的なLUTで表現した図である。A1~A8,B1~B8は実現したい論理回路に応じて“1”または“0”の値をとる。

【0045】
左から1段目の8個の光ゲート400は、Ciが“1”であるときに一方の光経路(図8(A)の例では上側の光経路)を選択し、Ciが“0”であるときに他方の光経路(図8(A)の例では下側の光経路)を選択する。左から2段目の4個の光ゲート401は、Xiが“1”であるときに一方の光経路(上側の光経路)を選択し、Xiが“0”であるときに他方の光経路(下側の光経路)を選択する。左から3段目の2個の光ゲート402は、Yiが“1”であるときに一方の光経路(上側の光経路)を選択し、Yiが“0”であるときに他方の光経路(下側の光経路)を選択する。左から4段目の光ゲート403は、Ziが“1”であるときに一方の光経路(上側の光経路)を選択し、Ziが“0”であるときに他方の光経路(下側の光経路)を選択する。

【0046】
図8(B)は、図8(A)におけるCiのカスケード接続部をシリアル接続化した図である。つまり、図8(B)は、CiをLUTのソース側に移行させたツリー構造を示している。このような操作は一般的にシャノン展開を用いることで可能となり、CiをDに含まれる変数とすることができる。ここで、A,Bは“0”または“1”の値を持つことから、DはCi,バーCi,“0”,“1”のいずれかで表現される。

【0047】
図8(B)を2つのステージに分解することにより、図7、図8(C)に示すような論理回路5を実現することができる。つまり、元々の入力信号X,Y,Zを用いた論理関数f1~f3を電気制御端子側の第1ステージに移行し、第1ステージからの信号を入力として用いることで、第2ステージの任意の関数を2段のツリー構造で実現することが可能となる。このとき、信号Ci(またはバーCi)が通過する第2ステージの1bit(一桁)あたりの光ゲートの合計の段数が1段乃至2段になるように第1ステージの論理関数を設計すればよい。以降の実施の形態においても論理関数を同様に設計すればよい。もちろん、第1ステージの演算を変更することで第2ステージの段数を増やすことは可能であり、これによりトータルの演算時間が短縮できるケースにおいては、第1ステージの演算を調整すればよい。

【0048】
図9(A)~図9(C)に本実施の形態のBDD型の論理回路5の構成例を示す。図8(B)に示したツリー構造は、入力X,Y,Zの値により、Ci,バーCi,“0”,“1”のいずれかを出力する回路を表している。このような回路は、Ci,バーCi,“0”,“1”をソースとする図9(A)~図9(C)の2段ツリー構造で実現することができる。

【0049】
図9(A)の例の論理回路5は、pass/cross型の光ゲート54~56からなる。光ゲート54は、論理関数f2の出力が“1”であるときにCiを選択して出力し、論理関数f2の出力が“0”であるときに“0”を選択して出力する。光ゲート55は、論理関数f3の出力が“1”であるときにバーCiを選択して出力し、論理関数f3の出力が“0”であるときに“1”を選択して出力する。光ゲート56は、論理関数f1の出力が“1”であるときに光ゲート54の出力を選択し、論理関数f1の出力が“0”であるときに光ゲート55の出力を選択する。

【0050】
図9(B)の例の論理回路5は、pass/cross型の光ゲート57~59からなる。光ゲート57は、論理関数f2の出力が“1”であるときにCiを選択して出力し、論理関数f2の出力が“0”であるときに“1”を選択して出力する。光ゲート58は、論理関数f3の出力が“1”であるときにバーCiを選択して出力し、論理関数f3の出力が“0”であるときに“0”を選択して出力する。光ゲート59は、論理関数f1の出力が“1”であるときに光ゲート57の出力を選択し、論理関数f1の出力が“0”であるときに光ゲート58の出力を選択する。図9(C)の構成は図7と同様である。

【0051】
上記のとおり、ツリー構造のソースはCi,バーCi,“0”,“1”の任意の組み合わせとなる。特に“1”と“0”とが対となり、CiとバーCiとが対となる図7、図9(C)のような組み合わせにおいては、より簡略な構成とすることができる。また、これらの2段ツリー構造は、制御端子で用いられる論理関数次第で、1段のツリー構造とすることもできる。

【0052】
図10(A)、図10(B)は、論理回路5の制御信号を生成するための論理関数f1~f3 (第1ステージの論理回路2~4)を設計する手順を説明する図である。図10(A)に示されるように、ツリー構造のソース部には前段からの出力Ci,バーCiが接続される。このとき、CiおよびバーCiに対する分岐数は、最大2n-1(nは第2ステージへの制御信号の数)となる。この分岐は回路を複雑にし、光の分岐損の原因となるため、以下の方法で分岐を削減する。

【0053】
まず、図10(B)に示すように、CiとバーCiの対と、“0”と“1”の対に分割するための論理関数f1を規定する。論理関数f1は、図10(A)においてCiまたはバーCiが次の段(ビット)への出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、“0”または“1”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。

【0054】
次に、図10(B)に示すように、CiとバーCiの対を分割するための論理関数f3を規定する。論理関数f3は、図10(A)においてCiが次の段への出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、バーCiが出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。なお、図10(A)のソースにCiまたはバーCiが存在しなければ、論理関数f3は不要となり、CiまたはバーCiが伝搬するクリティカルパスは、ゲート数が1段の最短経路となる。

【0055】
最後に、“0”と“1”の対を分割するための論理関数f2を規定する。論理関数f2は、図10(A)において“1”が次の段への出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、“0”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。つまり、論理関数f2により光源をON/OFFする、あるいは論理関数f2を光源として使うことが可能となる。

【0056】
以上のような論理関数f1~f3を真理値表で表現すると図11のようになる。このような論理関数f1~f3を実現する第1ステージの論理回路2~4を、電気回路で容易に実現できることは言うまでもない。なお、図11における「-」は“0”または“1”のどちらでもよいことを表している。

【0057】
本実施の形態の2ステージ論理の採用による論理回路の設計は、第1ステージに振り分けられた複数のBDD型の回路のそれぞれを並列処理が可能な状態とし、処理の一部を第2ステージ側に移すことで第2ステージの処理数を削減する。このことは、BDD型の回路の複雑さを緩和するだけでなく、BDD型の回路内のシリアル接続段数を削減する。つまり、第2ステージの短尺化されたシリアル接続ゲートを、第1ステージからの並列処理された演算出力により一度に操作し、第2ステージに構築された伝搬経路に光信号を通すだけで演算を完了させることができるため、通常のBDD型の回路よりも演算を高速化することができる。

【0058】
なお、図10(A)、図10(B)、図11で説明した論理関数f1~f3は、図7、図9(C)に示した論理回路5のための関数である。
図9(A)に示した論理回路5のためには、Ciと“0”の対と、バーCiと“1”の対に分割するための論理関数f1を規定し、Ciと“0”の対を分割するための論理関数f2を規定し、バーCiと“1”の対を分割するための論理関数f3を規定すればよい。

【0059】
図9(A)の場合、論理関数f1は、Ciまたは“0”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、バーCiまたは“1”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。論理関数f2は、Ciが出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、“0”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。論理関数f3は、バーCiが出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、“1”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。

【0060】
図9(B)に示した論理回路5のためには、Ciと“1”の対と、バーCiと“0”の対に分割するための論理関数f1を規定し、Ciと“1”の対を分割するための論理関数f2を規定し、バーCiと“0”の対を分割するための論理関数f3を規定すればよい。

【0061】
図9(B)の場合、論理関数f1は、Ciまたは“1”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、バーCiまたは“0”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。論理関数f2は、Ciが出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、“1”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。論理関数f3は、バーCiが出力Ci+1となるXi,Yi,Ziの組み合わせのときに“1”を出力し、“0”が出力Ci+1となるXi,Yi,Ziの組み合わせのときに“0”を出力する関数である。

【0062】
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。本実施の形態では、光論理回路の具体例として全加算器について説明する。図12(A)~図12(C)は全加算器を設計する手順を説明する図である。図12(A)の600は全加算器の桁上げ部をツリー構造で表現した回路、601は加算部をツリー構造で表現した回路である。Xi,Yiは加算されるi桁目の値、Ciはi-1桁からの桁上げの値である。また、信号の“0”/“1”を0/1の光強度信号に対応させる。

【0063】
回路600,601の左から1段目の4個の光ゲート602は、Ciが“1”であるときに一方の光経路(図12(A)の例では上側の光経路)を選択し、Ciが“0”であるときに他方の光経路(図12(A)の例では下側の光経路)を選択する。左から2段目の2個の光ゲート603は、Xiが“1”であるときに一方の光経路(上側の光経路)を選択し、Xiが“0”であるときに他方の光経路(下側の光経路)を選択する。左から3段目の光ゲート604は、Yiが“1”であるときに一方の光経路(上側の光経路)を選択し、Yiが“0”であるときに他方の光経路(下側の光経路)を選択する。

【0064】
図12(B)は、図12(A)のツリー構造で表現した回路におけるCiのカスケード接続部をシリアル接続化した回路を示している。605は桁上げ信号Ci+1を出力する論理回路、606はXiとYiの加算結果を示す信号Siを出力する論理回路、607は桁上げ信号Ci+1に対する否定の信号バーCi+1を出力する論理回路である。

【0065】
図12(C)は、図12(B)のシリアル接続化した回路を2ステージに分解した実際の論理回路を示している。6a~6cは第2ステージの論理回路であり、論理回路6aは桁上げ信号Ci+1を出力する回路、論理回路6bはXiとYiの加算結果を示す信号Siを出力する回路、論理回路6cは信号バーCi+1を出力する回路である。図12(C)は1bit分の構成を示している。

【0066】
論理回路6aは、強度情報が“1”の光信号を出力する光源50と、pass/block型の光ゲート61と、pass/cross型の光ゲート62とから構成される。光ゲート61は、論理関数f2(論理回路3)の出力が“1”であるときに光源50からの光信号を通過させ、論理関数f2の出力が“0”であるときに光源50からの光信号を遮断する。光ゲート62は、論理関数f1(論理回路2)の出力が“1”であるときに光信号Ciを選択して出力し、論理関数f1の出力が“0”であるときに光ゲート61の出力を選択して出力する。

【0067】
論理回路6bは、pass/cross型の光ゲート63からなる。光ゲート63は、論理関数f1(論理回路2)の出力が“1”であるときに光信号バーCiを選択して出力し、論理関数f1の出力が“0”であるときに光信号Ciを選択して出力する。

【0068】
論理回路6cは、強度情報が“1”の光信号を出力する光源64と、pass/block型の光ゲート65と、pass/cross型の光ゲート66とから構成される。光ゲート65は、論理関数f2の否定バーf2の出力が“1”であるときに光源64からの光信号を通過させ、バーf2の出力が“0”であるときに光源64からの光信号を遮断する。光ゲート65は、論理関数f1(論理回路2)の出力が“1”であるときに光信号バーCiを選択して出力し、論理関数f1の出力が“0”であるときに光ゲート65の出力を選択して出力する。なお、論理関数バーf2を実現する論理回路についても、論理関数f1~f3と同様に、電気回路で容易に実現できることは言うまでもない。

【0069】
図12(A)、図12(B)、図12(C)はそれぞれ、図8(A)、図8(B)、図8(C)に対応する。ここで、図12(B)に示した回路は、Ci,バーCi,“0”,“1”のいずれかを出力する回路である。したがって、論理回路6aは、論理関数f2の出力に応じて“0”または“1”を光ゲート61において選択し、論理関数f1の出力に応じて信号Ciか光ゲート61の出力を光ゲート62において選択する回路となる。論理回路6bは、論理関数f1の出力に応じて信号CiかバーCiを光ゲート63において選択する回路となる。論理回路6cは、論理関数バーf2の出力に応じて“0”または“1”を光ゲート65において選択し、論理関数f1の出力に応じて信号バーCiか光ゲート65の出力を光ゲート66において選択する回路となる。

【0070】
以上のような論理回路6a~6cの動作を真理値表で表現すると図13のようになる。図11と同様に、図13における「-」は“0”または“1”のどちらでもよいことを表している。

【0071】
なお、本発明において、第2ステージの論理回路6a~6cは、第1ステージの論理回路(論理関数)の出力に応じてCi,バーCi,“0”,“1”のいずれかを出力する回路であるが、第2ステージの各論理回路においてCi,バーCi,“0”,“1”の全てを用意しておく必要はない。つまり、論理回路6aにおいてはCiと“1”があればよく、論理回路6bにおいてはCiとバーCiがあればよく、論理回路6cにおいてはバーCiと“1”があればよい。

【0072】
図14に、図12(B)に示される論理回路605~607を用いた従来の4bitの全加算器の構成を示す。この図14に示す回路は、BDDにより求められた光加算器(非特許文献2参照)と等価である。この図14の回路は信号Ciに対して、論理回路605(605i~605i+3)が2つのソースを要求し、論理回路606(606i~606i+3)も2つのソースを要求する。したがって、信号Ciを一桁の演算あたり4分岐する必要がある。

【0073】
同様に、信号バーCiに対して、論理回路606(606i~606i+3)が2つのソースを要求し、論理回路607(607i~607i+3)が2つのソースを要求するため、信号バーCiに関しても一桁の演算あたり4分岐を必要とする。また、クリティカルパスの経路(Ci,バーCiの経路)は、一桁あたり2つの光ゲートを連続して通過する。

【0074】
図15に、図12(C)に示される論理回路6a~6cを用いて図14の回路を簡素化した本実施の形態のNbit(Nは2以上の整数であり、ここではN=4)の全加算器の構成を示す。この図15の回路は信号Ciに対して、論理回路6a(6ai~6ai+3)が1つのソースを要求し、論理回路6b(6bi~6bi+3)も1つのソースを要求する。したがって、信号Ciを一桁の演算あたり2分岐する必要がある。

【0075】
同様に、信号バーCiに対して、論理回路6b(6bi~6bi+3)が1つのソースを要求し、論理回路6c(6ci~6ci+3)も1つのソースを要求するため、信号バーCiに関しても一桁の演算あたり2分岐を必要とする。また、クリティカルパスの経路(Ci,バーCiの経路)は、一桁あたり1つの光ゲートを通過する。

【0076】
つまり、本実施の形態によれば、全加算器の回路を2ステージに分割することにより、第2ステージのBDD型の論理回路6a~6cに含まれるクリティカルパス上の光ゲートの数を極小化することができ、クリティカルパス上の信号の伝搬による演算遅延を最小化することが可能となる。更に、BDD型の論理回路6a~6c内の分岐の数を削減することができ、回路の構成を単純化することが可能となる。

【0077】
図16に、図15で用いられた全加算器の具体例を示す。ここでは、1bit分の構成を示す。図12(C)と同一の構成要素には同一の符号を付してある。論理回路13,14,15は、それぞれ論理関数f1,f2,バーf2に則った動作を行う電気回路である。論理関数f1,f2,バーf2の真理値表は図13に示したとおりである。上記のとおり、図13における「-」は“0”または“1”のどちらでもよいことを表しているから、論理関数f2を実現する論理回路14としてXiをそのまま用いても良いし、Yiをそのまま用いても良い。またXiとYiのAND(論理積)ゲートを用いてもよいし、OR(論理和)ゲートを用いてもよい。同様に論理回路15は、Xiの否定をそのまま用いても良いし、Yiの否定をそのまま用いても良い。またXiの否定とYiの否定のANDゲートを用いてもよいし、ORゲートを用いてもよい。

【0078】
また、文献「石原他,“光パスゲート論理に基づく並列加算回路の提案と光電混載回路シミュレータによる動作検証”,信学技報,116,VLD2016-26,109,2016年」に開示されているように、論理関数f2の出力の代わりに、XiまたはYiをそのまま用いてもよい。

【0079】
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。本実施の形態では、第1の実施の形態における“0”,“1”の強度情報を、光の位相情報に転化することを考える。電気回路では、信号の“0”,“1”の情報を電気強度の違いで表現するが、光では光強度だけでなく位相を利用することができる。本実施の形態では、この光の特徴を演算に利用する。つまり、信号の“0”/“1”をπ/0°、または0°/πの位相情報に対応させる。これにより例えば、Ciの位相をπ(180°)だけずらすことで、バーCiを作り出すことが可能となる。

【0080】
図17は、図7に示した第2ステージの論理回路5に相当する本実施の形態の論理回路7の構成を示す図である。図17は、1bit分の構成を示している。論理回路7は、位相の情報が“1”の光信号を出力する光源60と、pass/π-shift型の位相変調器67,68と、pass/cross型の光ゲート53とから構成される。この論理回路7は、論理回路5における光ゲート51,52を位相変調器に置き換えたものである。

【0081】
光の位相を利用する本実施の形態においても、信号Ciが通過する第2ステージの1bit(一桁)あたりの位相変調器と光ゲートの合計の段数が1段乃至2段になるように第1ステージの論理関数を設計すればよい。以降の実施の形態においても論理関数を同様に設計すればよい。

【0082】
光ゲート53については第1の実施の形態で説明したとおりである。位相変調器67は、論理回路3からの電気信号が“1”であるときに光源60からの光信号をそのまま通過させ、論理回路3からの電気信号が“0”であるときに光源60からの光信号の位相をπだけずらして出力する。位相変調器68は、論理回路4からの電気信号が“1”であるときに光信号Ciをそのまま通過させ、論理回路4からの電気信号が“0”であるときに光信号Ciの位相をπだけずらして出力する。

【0083】
本実施の形態では、信号バーCiを作る回路が不要となり、光論理回路を簡素化することが可能となる。例えば図7に示した論理回路5を用いて、全加算器の桁上げ部を構成すると、図18で示されるBDD型の構造となる。図18では、信号Ciの桁上げ部に用いる論理回路を5a(5ai~5ai+2)と表記し、信号バーCiの桁上げ部に用いる論理回路を5c(5ci~5ci+2)と表記している。

【0084】
これに対して、本実施の形態の論理回路7を用いると、桁上げ部の構成を図19に示すように簡素な構成とすることができる。図19では、信号の“0”/“1”をπ/0°、または0°/πの位相情報に対応させている。また、本実施の形態の回路によれば、その出力が位相変調光信号となる。したがって、デジタルコヒーレントなどで用いられている位相検出技術を用いれば、受信時の“0”,“1”判定のエラーを小さくすることが可能となる。

【0085】
[第4の実施の形態]
次に、本発明の第4の実施の形態について説明する。本実施の形態では、第3の実施の形態の構成を全加算器に適用する。つまり、信号の“0”/“1”をπ/0°、または0°/πの位相情報に対応させることにより、Ciの位相をπ(180°)だけずらすことで、バーCiを作り出し、図12(C)の論理回路6cを不要にする。

【0086】
図20に、本実施の形態のNbit(ここではN=4)の全加算器の構成を示す。8a(8ai~8ai+3),8b(8bi~8bi+3)は第2ステージの論理回路である。論理回路8a(8ai~8ai+3)は、位相の情報が“1”の光信号を出力する光源60と、pass/cross型の光ゲート62と、pass/π-shift型の位相変調器69とから構成される。この論理回路8aは、図12(C)に示した論理回路6aにおける光ゲート61を位相変調器69に置き換えたものである。

【0087】
光ゲート62については第2の実施の形態で説明したとおりである。位相変調器69は、論理関数f2の出力(電気信号)が“1”であるときに光源60からの光信号をそのまま通過させ、論理関数f2の出力が“0”であるときに光源60からの光信号の位相をπだけずらして出力する。

【0088】
論理回路8b(8bi~8bi+3)は、pass/π-shift型の位相変調器70からなる。この論理回路8bは、図12(C)に示した論理回路6bにおける光ゲート63を位相変調器70に置き換えたものである。位相変調器70は、論理関数f1の出力(電気信号)が“1”であるときに光信号Ciの位相をπだけずらして出力し、論理関数f1の出力が“0”であるときに光信号Ciをそのまま通過させる。なお、位相変調器69を位相変調器70の機能とそろえたい場合、つまり、f2の出力が““1”であるときに光源60からの光信号をそのまま通し、f2の出力が“0”のときに光源60からの光信号の位相をπだけずらして出力させたい場合は、位相の情報が“0”の光信号を出力する光源を光源60として用いればよい。

【0089】
このように、本実施の形態では、信号Ciの位相をπだけずらすことにより、信号バーCiを作り出すことができるため、図15の論理回路6c(6ci~6ci+3)を無くすことができる。つまり、本実施の形態により、光論理回路の構成を更に単純化することが可能となる。

【0090】
図21に、図20で用いられた全加算器の具体例を示す。ここでは、1bit分の構成を示す。図16、図20と同一の構成要素には同一の符号を付してある。論理関数f1,f2の真理値表は図13に示したとおりである。図13におけるCi+1の“0”/“1”はそれぞれπ/0°または0°/πの位相情報として読み替えるようにすればよい。

【0091】
上記のとおり、図13における「-」は“0”または“1”のどちらでもよいことを表しているから、論理関数f2の出力の代わりにXiをそのまま用いてもよいし、Yiをそのまま用いてもよい。

【0092】
[第5の実施の形態]
次に、本発明の第5の実施の形態について説明する。本実施の形態では、第1、第3の実施の形態の構成をパタンマッチ回路に適用する。また、信号の“0”/“1”を0/1の光強度信号、または、π/0°、0°/πの位相情報に対応させる。パタンマッチ回路の真理値表を図22に示す。

【0093】
第1、第3の実施の形態の手順に従うことにより、図22の真理値表の動作を図23の回路で再現することができる。図23は、1bit分の構成を示している。パタンマッチ回路は、所定の論理関数f1に則った動作を行って“1”または“0”の電気信号を出力する第1ステージの論理回路9と、第2ステージの論理回路10とから構成される。

【0094】
論理関数f1はXNOR(否定排他的論理和)演算を行う関数である。このような演算を実現する論理回路9を、電気回路で容易に実現できることは言うまでもない。
論理回路10は、強度または位相の情報が“0” の光信号を出力する光源71と、pass/cross型の光ゲート72とから構成される。ただし、後述のように、光源71を設ける場合と設けない場合の2とおりの構成がある。

【0095】
光ゲート72は、論理関数f1の出力が“1”であるときに一方の光経路(図23の例では下側の光経路)を選択して光信号Ciを出力し、論理関数f1の出力が“0”であるときに他方の光経路(上側の光経路)を選択する。
ここで、論理関数f1はXNOR演算を行う関数であるから、強度の情報が“0” の光信号を出力する光源71を配置、つまり光源71を配置しない場合には、図23のパタンマッチ回路は第1の実施の形態と同様に強度変調信号を出力する回路となる。

【0096】
また、信号の“0”/“1”をπ/0°、または0°/πの位相情報に対応させ、位相の情報が“0”の光信号を出力する光源71を配置すれば、図23のパタンマッチ回路は第3の実施の形態と同様に位相変調信号を出力する回路となる。

【0097】
1bit分のパタンマッチ回路は、図22に示すように、XiとYiが一致する場合に、i-1桁からの信号CiをCi+1として出力する回路である。したがって、パタンマッチ回路の出力74と次段のパタンマッチ回路の入力73とが繋がるようにNビット分のパタンマッチ回路を縦続接続すれば、全ビットにおいてXとYが一致したときに、Ci=0=“1”が出力される回路を実現することができる。

【0098】
[第6の実施の形態]
次に、本発明の第6の実施の形態について説明する。本実施の形態では、図1(B)の形態を想定し、第5の実施の形態における第1ステージの演算を全て光で処理するケースについて説明する。つまり、第5の実施の形態では、第1ステージへの入力信号X,Yが電気信号であったのに対し、本実施の形態では、第1ステージへの入力信号も光信号となる。

【0099】
第2の実施の形態、第4の実施の形態、第5の実施の形態のように、論理関数f1~f3がXOR演算、XNOR演算、入力信号(X,Y,Z)のいずれかと同じになるケースにおいては、第1ステージの演算を光の干渉で実行することができる。ここでは、信号の“0”/“1”をπ/0°、または0°/πの位相情報に対応させる。

【0100】
図24は本実施の形態に係るパタンマッチ回路の構成を示すブロック図であり、図23と同一の構成には同一の符号を付してある。本実施の形態のパタンマッチ回路は、第2ステージの論理回路10と、第1ステージの論理回路11と、論理回路11と論理回路10との間に配置されるカスケード接続部となるOE変換器12とから構成される。

【0101】
信号の“0”/“1”をπ/0°に対応させた場合、論理回路11の動作を真理値表で表現すると図25のようになり、本実施の形態のパタンマッチ回路の動作を真理値表で表現すると図26のようになる。論理回路11の演算(論理関数g1(位相)、g1’(強度))は、第5の実施の形態の論理関数f1に相当する。ここで、図25における「-」は、出力強度がゼロであるため位相が不定であることを表している。第5の実施の形態では論理回路9を電気回路で構成していたのに対し、本実施の形態では、第1ステージの演算を全て光で行うため、入力Xi,Yiおよび論理回路11の出力は、0°またはπの位相情報を有する光信号である。

【0102】
論理回路11は、同強度の光信号XiとYiを干渉させることにより、図25の真理値表で示すような論理関数g1’の演算(XNOR)を実現する。この論理回路11の演算結果は光出力であるため、OE変換器12により光信号を電気信号に変換して、第2ステージにカスケード接続する。
論理回路10については第5の実施の形態で説明したとおりである。

【0103】
[第7の実施の形態]
次に、本発明の第7の実施の形態について説明する。本実施の形態では、図1(B)の形態を想定し、第4の実施の形態における第1ステージの演算を全て光で処理するケースについて説明する。つまり、第4の実施の形態では、第1ステージへの入力信号X,Yが電気信号であったのに対し、本実施の形態では、第1ステージへの入力信号も光信号となる。ここでは、信号の“0”/“1”をπ/0°、または0°/πの位相情報に対応させる。

【0104】
図27に、本実施の形態の全加算器の構成を示す。ここでは、1bit分の構成を示す。全加算器は、第1ステージの論理回路16と、第2ステージの論理回路17と、論理回路16と論理回路17との間に配置されるカスケード接続部となるOE変換器18とから構成される。

【0105】
論理回路16は、光信号Yiの位相をπだけずらして出力する位相シフタ75と、光信号Xiと位相シフタ75の出力とを干渉させる論理回路76とから構成される。
論理回路17は、pass/cross型の光ゲート62と、pass/π-shift型の位相変調器70とから構成される。光ゲート62は、OE変換器18の出力が“1”であるときに光信号Ciを選択して出力し、OE変換器18の出力が“0”であるときに光信号Xiを選択して出力する。位相変調器70については第4の実施の形態で説明したとおりである。

【0106】
信号の“0”/“1”をπ/0°に対応させた場合、論理回路16の動作を真理値表で表現すると図28のようになり、本実施の形態の全加算器の動作を真理値表で表現すると図29のようになる。図28の77(位相)、77’(強度)は図27の77の部分における論理を表しており、第4の実施の形態の論理関数f2の演算結果に相当する。論理回路76の演算(論理関数h1(位相)、h1’(強度))は、同強度のXiとYiの否定とを干渉させるものであり、第4の実施の形態の論理関数f1の演算(XOR)に相当する。ここで、図28における「-」は、出力強度がゼロであるため位相が不定であることを表している。

【0107】
論理回路16の演算結果は光出力であるため、OE変換器18により光信号を電気信号に変換し、論理回路17の光ゲート62への電気制御入力とする。

【0108】
ただし、図27の構成では、光信号Xiを2分岐させて利用するため、光信号Xiは光信号Yiの2倍の強度を必要とし、パワーのアンバランスが生じる。このような動作条件が認められない場合は、図30の構成を利用する。図30の全加算器は、第1ステージの論理回路19と、第2ステージの論理回路17と、論理回路19と論理回路17との間に配置されるカスケード接続部となるOE変換器18とから構成される。

【0109】
論理回路19は、位相シフタ75と、論理回路76と、光信号XiとYiを干渉させる論理回路78とから構成される。信号の“0”/“1”をπ/0°に対応させた場合、この論理回路19の動作を真理値表で表現すると、図31のようになる。上記のように、論理回路76の演算(論理関数h1(位相)、h1’(強度))は第4の実施の形態の論理関数f1の演算(XOR)に相当し、論理回路78の演算(論理関数h2(位相)、h2’(強度))は第5の実施の形態の論理関数f1の演算(XNOR)に相当する。ここで、図31における「-」は、出力強度がゼロであるため位相が不定であることを表している。XiとYiは同強度の光信号である。

【0110】
論理回路17の光ゲート62は、OE変換器18の出力が“1”であるときに光信号Ciを選択して出力し、OE変換器18の出力が“0”であるときに論理回路78の出力を選択して出力する。

【0111】
信号の“0”/“1”をπ/0°に対応させた場合、図30の全加算器の真理値表は図29で示したとおりである。図30の構成は、図27に示した構成の問題点である、光信号XiとYiのパワーアンバランスを解消するために、論理回路78において光信号XiとYiを合波する。ただし、互いに逆相となる光信号の合波は出力信号強度をゼロとするため、出力信号の位相が不確定となる。このような位相の不確定さは、光の位相情報を演算に使うときの不可避な問題である。

【0112】
図30の全加算器の構成では、位相が不定となる論理回路78の演算を、論理回路76の演算結果を用いることにより排除する。つまり、論理回路19と論理回路17との間に配置されるOE変換器18と、それにつながる論理回路17の光ゲート62の組み合わせにより、論理回路76の出力強度が“1”となる条件において、論理回路78から位相が不確定となる信号を回路から排除し、光信号Ciを次段への出力Ci+1として出力する。また、論理回路76の出力強度が“0”となる条件において、論理回路78からの光信号を次段への出力Ci+1として出力する。これにより、図29の真理値表に示されるCi+1の出力を実現することができる。

【0113】
図32に示す全加算器は、図30の論理回路76と論理回路78を1つにまとめるために、Ci+1の出力ポートと位相シフタ75と位相変調器70の動作を逆に設定した構成である。図32の全加算器は、第1ステージの論理回路20と、第2ステージの論理回路17と、論理回路20と論理回路17との間に配置されるカスケード接続部となるOE変換器18とから構成される。

【0114】
論理回路20は、光信号XiとYiを干渉させる論理回路78からなる。信号の“0”/“1”をπ/0°に対応させた場合、この論理回路20の動作を真理値表で表現すると、図33のようになる。上記のように、論理回路78の演算(論理関数h2(位相)、h2’(強度))は第5の実施の形態の論理関数f1の演算(XNOR)に相当する。ここで、図33における「-」は、出力強度がゼロであるため位相が不定であることを表している。XiとYiは同強度の光信号である。

【0115】
OE変換器18は、論理回路20の光信号出力を電気信号に変換する。論理回路17の光ゲート62は、OE変換器18の出力が“0”であるときに光信号Ciを選択して出力し、OE変換器18の出力が“1”であるときに論理回路20の出力を選択して出力する。位相変調器q70は、OE変換器18の出力が“1”であるときに光信号Ciをそのまま通過させ、OE変換器18の出力が“0”であるときに光信号Ciの位相をπだけずらして出力する。信号の“0”/“1”をπ/0°に対応させた場合、図32の全加算器の真理値表は図29で示したとおりである。こうして、図32の構成を採用することにより、回路を簡略化することができる。

【0116】
[第8の実施の形態]
第2、第4、第6の実施の形態に示した全加算器を用いると、減算器、乗算器なども構成することができる。例えば、図14、図15、図20において最小桁のCi,バーCiを、Ci=“0”、バーCi=“1”とすれば、加算器となり、Ci=“1”、バーCi=“0”とし、入力Y(Yi~Yi+3)の全ての信号をY(Yi~Yi+3)の論理否定とすれば減算器となる。

【0117】
また、図21、図27、図30、図32などに示される全加算器において、Xi,YiをそれぞれSi-1,Zi=AND(Xi,Yi)とするか、またはXi,YiをZi,Si-1とすれば、乗算器を実現することができる。なお、乗算器については図34に示すように、Xi,YiをSi-1,Ciとし、CiをZi=AND(Xi,Yi)とすることで、図21、図27、図30、図32におけるCiの分岐損の問題を解決することができる。

【0118】
図34の乗算器は、第1ステージの論理回路21と、第2ステージの論理回路22と、論理回路21と論理回路22との間に配置されるカスケード接続部となるOE変換器23とから構成される。

【0119】
論理回路21は、光信号Ciと前段の出力Si-1を干渉させる論理回路79と、電気信号XiとYiのAND演算を行う論理回路80とから構成される。信号の“0”/“1”をπ/0°に対応させた場合、論理回路21の動作を真理値表で表現すると、図35のようになる。CiとSi-1は同強度の光信号である。

【0120】
OE変換器23は、論理回路79の光信号出力を電気信号に変換する。論理回路22は、位相情報が“1”の光信号を出力する光源81と、pass/block型の光ゲート82と、pass/cross型の光ゲート83と、pass/π-shift型の位相変調器84とから構成される。

【0121】
光ゲート82は、論理回路80の出力Ziが“1”であるときに光源81からの光信号を通過させ、論理回路80の出力Ziが“0”であるときに光源81からの光信号の位相をπだけずらして出力する。光ゲート83は、OE変換器23の出力が“0”であるときに光ゲート82の出力を選択して出力し、OE変換器23の出力が“1”であるときに論理回路79の出力を選択して出力する。位相変調器84は、OE変換器23の出力が“1”であるときに光ゲート82の出力をそのまま通過させ、OE変換器23の出力が“0”であるときに光ゲート82の出力の位相をπだけずらして出力する。信号の“0”/“1”をπ/0°に対応させた場合、乗算器の動作を真理値表で表現すると図36のようになる。

【0122】
以上の実施の形態で用いられたpass/cross型光ゲートは、pass/cross動作のそれぞれにおいて位相シフトが発生し、それぞれのシフト量が異なる。
マッハツェンダ干渉計を用いた典型的なpass/cross型の光ゲートの場合、入出力ポートと位相(θ、φ)の関係は図37のようになる。ここでpass/cross型光ゲートは、2つの位相変調器b102,b103と2つのXカップラーb100,b101の組み合わせで構成されている。位相変調器b102,b103は、それぞれ電気信号Xi,Yiが“1”であるときにXカップラーb100からの光信号の位相をπだけずらして出力し、信号Xi,Yiが“0”であるときにXカップラーb100からの光信号をそのまま通過させる。Xカップラーb100,b101は、一方のポートから入力された光信号のパワーを1:1の割合で2つのポートに出力し、入力ポートと対角の出力ポートからの光信号の位相を、他方の出力ポートからの光信号の位相より-π/2だけシフトさせる。なお図37では簡単のため、信号伝搬による位相シフトが2πの整数倍になる場合を図示している。

【0123】
例えばcross動作(図37(B))とpass動作(図37(C))を組み合わせ、右下のポートからの信号を出力信号として用いる場合、2つの入力信号(位相θ、φ)においてπ/2の位相ずれが生じる。この問題は、図38に示されるように出力ポートと対角の入力ポート(左上のポート)に、+π/2の位相シフタb104を設けることで解消される。

【0124】
[第9の実施の形態]
次に、本発明の第9の実施の形態について説明する。本実施の形態では、第2、第5の実施の形態における電気入力に対する論理関数f1,f2の演算をpass/cross型の光ゲートに組み込む構成を示す。図37に示されるとおり、マッハツェンダ干渉計などで構成されるpass/cross型の光ゲートは、2つの電気制御ポートを有しており、この2つの電気制御入力を利用することで2入力信号に対する簡単な演算を光ゲート側で実行することが可能である。このような2制御入力のpass/cross型の光ゲートを利用した従来の全加算器の構成を図39に示す。

【0125】
図39の全加算器は、強度情報が“1”の光信号を出力する光源500,501と、pass/π-shift型の位相変調器502~507と、pass/cross型の光ゲート508と、OE変換器509とから構成される。

【0126】
位相変調器502は、電気信号Xiが“1”であるときに光源500からの光信号の位相をπだけずらして出力し、信号Xiが“0”であるときに光源500からの光信号をそのまま通過させる。位相変調器503は、電気信号Yiが“1”であるときに光源500からの光信号の位相をπだけずらして出力し、信号Yiが“0”であるときに光源500からの光信号をそのまま通過させる。

【0127】
位相変調器504は、電気信号Xiが“1”であるときに光源501からの光信号の位相をπだけずらして出力し、信号Xiが“0”であるときに光源501からの光信号をそのまま通過させる。位相変調器505は、光信号Ciを電気信号に変換するOE変換器509の出力が“1”であるときに光源501からの光信号の位相をπだけずらして出力し、OE変換器509の出力が“0”であるときに光源501からの光信号をそのまま通過させる。

【0128】
位相変調器506は、電気信号Yiが“1”であるときに位相変調器504の出力の位相をπだけずらして出力し、信号Yiが“0”であるときに位相変調器504の出力をそのまま通過させる。位相変調器507の制御入力には“1”の信号が固定的に与えられている。これにより、位相変調器507は、位相変調器505の出力の位相をπだけずらして出力する。

【0129】
光ゲート508は、電気信号Xi,Yiが共に“1”または共に“0”であるときに光ゲート502と503の出力を合波した結果を選択して出力し、電気信号Xiが“1”で電気信号Yiが“0”、または電気信号Xiが“0”で電気信号Yiが“1”であるときに、光信号Ciを選択して出力する。

【0130】
以上のような2制御入力のpass/cross型の光ゲートを利用すると、図16に示した全加算器は図40に示すような構成に置き換えることができる。図40の全加算器は、強度情報が“1”の光信号を出力する光源510,511と、pass/block型の光ゲート512,513と、pass/cross型の光ゲート514~516とから構成される。

【0131】
光ゲート512は、電気信号Xiが“1”であるときに光源510からの光信号を通過させ、電気信号Xiが“0”であるときに光源510からの光信号を遮断する。光ゲート513は、電気信号Xiが“1”であるときに光源511からの光信号を遮断し、電気信号Xiが“0”であるときに光源511からの光信号を通過させる。なお、Xiの代わりに電気信号Yiを光ゲート512,513の電気制御入力としてもよい。

【0132】
光ゲート514は、電気信号Xi,Yiが共に“1”または共に“0”であるときに光ゲート512の出力を選択して出力し、電気信号Xiが“1”で電気信号Yiが“0”、または電気信号Xiが“0”で電気信号Yiが“1”であるときに、光信号Ciを選択して出力する。光ゲート515は、電気信号Xi,Yiが共に“1”または共に“0”であるときに光信号Ciを選択して出力し、電気信号Xiが“1”で電気信号Yiが“0”、または電気信号Xiが“0”で電気信号Yiが“1”であるときに、光信号バーCiを選択して出力する。光ゲート516は、電気信号Xi,Yiが共に“1”または共に“0”であるときに光ゲート513の出力を選択して出力し、電気信号Xiが“1”で電気信号Yiが“0”、または電気信号Xiが“0”で電気信号Yiが“1”であるときに、光信号バーCiを選択して出力する。

【0133】
また、2制御入力のpass/cross型の光ゲートを利用すると、図21に示した全加算器は図41に示すような構成に置き換えることができる。図41の全加算器は、位相情報が“1”の光信号を出力する光源517と、位相シフタ518と、pass/cross型の光ゲート519と、pass/π-shift型の位相変調器520,521とから構成される。

【0134】
位相シフタ518は、光源517からの光信号の位相を-π/2だけずらして出力する。

【0135】
光ゲート519は、電気信号Xi,Yiが共に“1”または共に“0”であるときに位相シフタ518の出力を選択して出力し、電気信号Xiが“1”で電気信号Yiが“0”、または電気信号Xiが“0”で電気信号Yiが“1”であるときに、位相変調器520の出力を選択して出力する。位相変調器520は、電気信号Yiが“1”であるときに光信号Ciの位相をπだけずらして出力し、信号Yiが“0”であるときに光信号Ciをそのまま通過させる。位相変調器521は、電気信号Xiが“1”であるときに位相変調器520の出力の位相をπだけずらして出力し、信号Xiが“0”であるときに位相変調器520の出力をそのまま通過させる。図40、図41の構成によれば、図39とは異なり、OE変換器なしで光出力Siを得ることができる。

【0136】
[第10の実施の形態]
2制御入力のpass/cross型の光ゲートを利用すると、図23に示したパタンマッチ回路は図42に示すような構成に置き換えることができる。図42のパタンマッチ回路は、位相情報が“1”の光信号を出力する光源522と、pass/cross型の光ゲート523と、位相シフタq601と、位相変調器q600,q602とから構成される。

【0137】
光ゲート523は、電気信号Xi,Yiが共に“1”または共に“0”であるときに位相シフタq602の出力を選択して出力し、電気信号Xiが“1”で電気信号Yiが“0”、または電気信号Xiが“0”で電気信号Yiが“1”であるときに、位相シフタq600の出力を選択して出力する。位相変調器q600は、電気信号Yiが“1”であるときに光源522からの光信号の位相をπだけずらして出力し、信号Yiが“0”であるときに光源522からの光信号をそのまま通過させる。位相変調器q602は、電気信号Xiが“1”であるときに位相変調器q601の出力の位相をπだけずらして出力し、信号Xiが“0”であるときに位相変調器q601の出力をそのまま通過させる。第9の実施の形態と同様に、図42の構成によれば、OE変換器なしで出力Ci+1を得ることができる。

【0138】
また、第9、第10の実施の形態は、2つの電気制御入力を利用することで2入力信号に対する簡単な演算を光ゲート側で実行することを可能とする。ただし、pass(cross)動作において、出力ゲートにつながる電気制御ポートのみが制御された場合は位相がπ(+π/2)だけシフトし、反対側の電気制御ポートのみが制御された場合は位相が0(-π/2)だけシフトするため、(Xi,Yi)=(1,0)、(0,1)の2入力パタンにおいて光ゲートの動作が異なってしまう。そのため図41、図42の位相を用いた演算においては、この位相シフト量の食い違いを補償するために、図21、図23におけるCiからCi+1の経路に位相変調器520,q602が追加され、このことが演算の遅延を増加させる原因となる。

【0139】
[第11の実施の形態]
2制御入力のpass/cross型の光ゲートは光入力に対する演算にも適用が可能であり、この場合、図40に示した全加算器は図43に示すような構成に置き換えることができる。図43の全加算器は、強度情報が“1”の光信号を出力する光源510,511と、pass/block型の光ゲート512,513と、pass/cross型の光ゲート514~516と、OE変換器524~526とから構成される。

【0140】
OE変換器524,525は、光信号Xiを電気信号に変換する。OE変換器526は、光信号Yiを電気信号に変換する。なお、Xiの代わりに光信号YiをOE変換器524に入力してもよい。光源510,511と光ゲート512,513と光ゲート514~516の動作は第9の実施の形態で説明したとおりである。

【0141】
また、図41に示した全加算器は図44に示すような構成に置き換えることが可能である。図44の全加算器は、位相情報が“1”の光信号を出力する光源517と、位相シフタ518と、pass/cross型の光ゲート519と、pass/π-shift型の位相変調器520,521と、OE変換器528,529とから構成される。

【0142】
OE変換器528は、光信号Xiを電気信号に変換する。OE変換器529は、光信号Yiを電気信号に変換する。光源517と位相シフタ518と位相変調器520,521と光ゲート519の動作は第9の実施の形態で説明したとおりである。

【0143】
[第12の実施の形態]
2制御入力のpass/cross型の光ゲートを光入力に対する演算に適用すると、図42に示したパタンマッチ回路は図45に示すような構成に置き換えることができる。図45のパタンマッチ回路は、位相情報が“1”の光信号を出力する光源522と、pass/cross型の光ゲート523と、OE変換器530,531とから構成される。

【0144】
OE変換器530,531は、それぞれ光信号Xi,Yiを電気信号に変換する。光源522と光ゲート523と位相シフタq601と位相変調器q600,q602の動作は第10の実施の形態で説明したとおりである。
【産業上の利用可能性】
【0145】
本発明は、光回路、または光回路と電気回路の混合回路で行う論理演算に適用することができる。
【符号の説明】
【0146】
1…論理ブロック、2~5,6a~6c,7,8a,8b,9~11,13~22,76,78~80…論理回路、12,18,23,204,509,524~526,528,529,530,531…OE変換器、50,60,64,71,81,500,501,510,511,517,522…光源、51~59,61~63,65,66,72,82,83,508,512~516,519,523…光ゲート、67~70,q70,84,502~507,520,521,q600,q602…位相変調器、75,518,q601…位相シフタ、200,206…電気回路、201,203…光回路。
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18
【図20】
19
【図21】
20
【図22】
21
【図23】
22
【図24】
23
【図25】
24
【図26】
25
【図27】
26
【図28】
27
【図29】
28
【図30】
29
【図31】
30
【図32】
31
【図33】
32
【図34】
33
【図35】
34
【図36】
35
【図37】
36
【図38】
37
【図39】
38
【図40】
39
【図41】
40
【図42】
41
【図43】
42
【図44】
43
【図45】
44
【図46】
45