TOP > 国内特許検索 > 光論理回路および加算器 > 明細書

明細書 :光論理回路および加算器

発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2017-158041 (P2017-158041A)
公開日 平成29年9月7日(2017.9.7)
発明の名称または考案の名称 光論理回路および加算器
国際特許分類 H03K  19/14        (2006.01)
FI H03K 19/14
請求項の数または発明の数 7
出願形態 OL
全頁数 17
出願番号 特願2016-039778 (P2016-039778)
出願日 平成28年3月2日(2016.3.2)
発明者または考案者 【氏名】新家 昭彦
【氏名】納富 雅也
【氏名】野崎 謙悟
【氏名】石原 亨
【氏名】井上 弘士
出願人 【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
個別代理人の代理人 【識別番号】100098394、【弁理士】、【氏名又は名称】山川 茂樹
【識別番号】100153006、【弁理士】、【氏名又は名称】小池 勇三
【識別番号】100064621、【弁理士】、【氏名又は名称】山川 政樹
審査請求 未請求
要約 【課題】演算レベルで生じる遅延の問題を解決する。
【解決手段】加算器は、複数ビットの信号XとYの加算の結果をビット毎に出力する光パスゲート31-7~31-9と、この光パスゲート31-7~31-9でのビット毎の加算に必要な桁上げ信号をビット毎に出力する光パスゲート31-1~31-3と、2×1光パスゲート31-1~31-3,31-7~31-9を制御する制御信号として信号X,Yの排他的論理和の結果をビット毎に出力するXORゲート34-1~34-3と、信号X,Yのビット毎の論理積の結果を2×1光パスゲート31-1~31-3に入力するANDゲート32-1~32-3とを備える。
【選択図】 図6
特許請求の範囲 【請求項1】
複数ビットの信号Xと複数ビットの信号Yとの所望の論理演算の結果をビット毎に出力する第1の演算手段と、
この第1の演算手段でのビット毎の論理演算に必要な、上位ビットへの伝搬信号をビット毎に出力する第2の演算手段と、
前記信号X,Yに基づいて前記第1、第2の演算手段を制御する制御信号をビット毎に出力する第3の演算手段とを備え、
前記第2の演算手段は、ビット毎の構成がそれぞれ1つの光パスゲートからなり、各光パスゲートが直列に接続され、前記第3の演算手段で演算されたビット毎の制御信号が対応するビットの光パスゲートに入力されることを特徴とする光論理回路。
【請求項2】
請求項1記載の光論理回路において、
前記光パスゲートは、ナノフォトニクスの光ゲートであることを特徴とする光論理回路。
【請求項3】
請求項1または2記載の光論理回路において、
前記第1、第2、第3の演算手段の全てが光回路からなることを特徴とする光論理回路。
【請求項4】
請求項1または2記載の光論理回路において、
前記第1の演算手段は電気回路からなり、
前記第2、第3の演算手段は光回路からなることを特徴とする光論理回路。
【請求項5】
請求項1乃至4のいずれか1項に記載の光論理回路において、
前記論理演算は、信号Xと信号Yの加算であることを特徴とする光論理回路。
【請求項6】
複数ビットの信号Xと複数ビットの信号Yとの加算の結果をビット毎に出力する第1の演算手段と、
この第1の演算手段でのビット毎の加算に必要な、上位ビットへの伝搬信号である桁上げ信号をビット毎に出力する第2の演算手段と、
前記第1、第2の演算手段を制御する制御信号として前記信号X,Yの排他的論理和の結果をビット毎に出力するXORゲートと、
前記信号X,Yのビット毎の論理積の結果を前記第2の演算手段に入力するANDゲートとを備え、
前記第1、第2の演算手段は、ビット毎の構成がそれぞれ1つの光パスゲートからなり、前記第2の演算手段を構成する各光パスゲートが直列に接続され、前記XORゲートで演算されたビット毎の制御信号が対応するビットの光パスゲートに入力されることを特徴とする加算器。
【請求項7】
請求項6記載の加算器において、
前記第1の演算手段を構成する各光パスゲートは、前記XORゲートで演算されたビット毎の制御信号に応じて桁上げ信号またはその反転信号のいずれかを出力し、
前記第2の演算手段を構成する各光パスゲートは、前記XORゲートで演算されたビット毎の制御信号に応じて桁上げ信号または前記ANDゲートの出力信号のいずれかを出力することを特徴とする加算器。
発明の詳細な説明 【技術分野】
【0001】
本発明は、論理演算を光回路、または光回路と電気回路の混合回路で行う光論理回路と、光論理回路の1例である加算器に関するものである。
【背景技術】
【0002】
現在の電子演算回路は、その処理速度を向上させるため、そのチップサイズや素子サイズを極限まで小さくする工夫がなされている。その理由は、回路内の抵抗(R)とキャパシタンス(C)とが信号の伝搬を大きく律速しているため、演算速度を上げるにはチップサイズや素子サイズを小さくするしかないためである。そのため、狭面積の論理ブロックやコアに素子を詰め込み、マルチコア(multi-core)・メニーコア(many core)化などの工夫がなされているが、それらのコアを繋ぐための配線が新たな「遅延」を生み、演算の高速化に限界が見えつつある。
【0003】
一方、光通信などで用いられる光配線や光パスゲートは、その配線経路内のCやRに無依存で光信号を伝播させることができる。また、ナノフォトニクスの進展により、光ゲート(光パスゲート)の消費エネルギーは飛躍的に改善され、そのエネルギーコスト[J/bit]は、CMOSゲートと光で同程度のレベルになりつつある。そのため、チップ内やチップ間の通信を光化する様々な研究がなされている。
【0004】
図13は1ビット当たりのスイッチングエネルギー(=エネルギーコスト[J/bit])を説明する図で、CMOSゲートでは配線(wire)を含めると10-15J/bit以下になると想定されている(非特許文献1参照)。一方で、ナノフォトニクスの光ゲートのエネルギーコストは10-15J/bit程度のものが実現されており、CMOSゲートと同程度のエネルギーコストになりつつある(非特許文献2参照)。また、ナノフォトニクスの光ゲートは短尺化の面でも有利である(非特許文献5、6参照)。
【0005】
光パスゲートを組み合わせた構成における演算プロセスについて説明する。2×1の光パスゲートをツリー状に接続すると、図14のようなn桁の入力に対するルックアップテーブル(Look up table:LUT)を再現する回路を構成することができる(図15(A))。図14、図15(A)の例ではn=3の場合を表している。
【0006】
図15(A)における11-1~11-7は光パスゲートである。各光パスゲート11-1~11-7は、ゲート入力が“1”であるときに一方の光経路(図15(A)の例では上側の光経路)を選択し、ゲート入力が“0”であるときに他方の光経路(下側の光経路)を選択する。この経路選択動作は、図3、図7、図8、図10、(図11は反対の経路を選択)で同じである。1段目の光パスゲート11-1~11-4はゲート入力Ciに応じて動作し、2段目の光パスゲート11-5,11-6はゲート入力Xiに応じて動作し、3段目の光パスゲート11-7はゲート入力Yiに応じて動作する。図15(B)は1つの光パスゲートの等価回路を示す図である。
【0007】
図15(A)に示した論理ブロック10は、n桁の入力に対する全ての組み合わせに対して、“0”か“1”の光信号を出力するものであり、n桁の入力に対する全ての演算を実行するものである。このような構成における演算プロセスには、以下の3つの段階がある。
【0008】
1つ目の段階は、答えの準備である。2×1の光パスゲートを用いてツリー構造を構成すると、n入力に対し、2^n個の答え (“0”あるいは“1”の1bit)を事前に準備することになる。電気回路ではこの答えをメモリに記憶させ、光回路の場合は“1”の答えのところに光源101を配置する。例えば図15(A)の論理ブロック10は、Ci+1の演算を行う回路となる。
【0009】
2つ目の段階は、出力経路の構築である。n段のツリー構造において、同一段では同じスイッチ動作を、全ての段で同時に行う。これにより、経路の構築はスイッチの数に依存せず、1つのスイッチのスイッチング時間で完了する。
【0010】
例えば図15(A)の例では、信号(Ci,Xi,Yi)=(1,1,0)が入力されたとき、1段目の光パスゲート11-1~11-4と2段目の光パスゲート11-5,11-6とが上側に切り替えられ、3段目の光パスゲート11-7が下側に切り替えられ、14で示される経路が構築される。このときの出力経路の等価回路を図16のように示すこととする。
【0011】
3つ目の段階は、答えの出力である。構築された経路を通して、事前に準備された1ビットの信号を出力する。電気回路の場合、1段目、2段目の動作は非常に容易に実現できる。つまり、膨大なメモリスイッチを使い2^n個の答えを記憶し、10ps程度のスイッチング時間で経路を構築すればよい。
【0012】
ただし、電気回路の場合、3段目のプロセスが非常に難しい。つまり、図16に示されるように、n個のトランジスタ12のC,Rが連なるため、経路の応答速度がn^2で劣化する。そのため、電気回路では、図16に示すような接続は、n<4~6でしか用いられない。
【0013】
このような回路を光化、つまり、光パスゲートをCMOSゲートのように組み合わせ、論理ブロックを構成する手法にはいくつかの提案がある(特許文献1、非特許文献3、非特許文献4参照)。
【先行技術文献】
【0014】

【特許文献1】特開平4-299733号公報
【0015】

【非特許文献1】Rodney S.Tucker and Kerry Hinton,“Energy Consumption and Energy Density in Optical and Electronic Signal Processing”,IEEE Photonics Journal,Volume 3,Number 5,October 2011,pp.821
【非特許文献2】Koji Takeda et al.,“Few-fJ/bit data transmissions using directly modulated lambda-scale embedded active region photonic-crystal lasers”,Nature Photonics 7,pp.569-575,2013
【非特許文献3】James Hardy et al.,“Optic inspired logic architecture”, OPTICS EXPRESS,Vol.15,No.1,pp.150-165,2007
【非特許文献4】Qianfan Xu et al.,“Reconfigurable optical directed-logic circuits using microresonator-based optical switches”,OPTICS EXPRESS,Vol.19,No.6,pp.5244-5259,2011
【非特許文献5】Noritsugu Yamamoto et al.,“Photonic crystal directional coupler switch with small switching length and wide bandwidth”,OPTICS EXPRESS,Vol.14,No.3,pp.1223-1229,2006
【非特許文献6】Kengo Nozaki et al.,“All-optical switching for 10-Gb/s packet data by using an ultralow-power optical bistability of photonic-crystal nanocavities”,OPTICS EXPRESS,Vol.23,No.23,pp.30379-30392,2015
【発明の概要】
【発明が解決しようとする課題】
【0016】
以上の文献に示される従来技術では、チップ内やチップ間の通信を光化する技術や、論理ブロックを光化する技術が提案されている。しかしながら、回路の演算時間を律速する演算経路(クリティカルパス)への配慮がなく、演算で生じる遅延を解決できていないという問題点があった。
【0017】
本発明は、上記課題を解決するためになされたもので、チップ内やチップ間の光配線や光ゲートだけでなく、さらに粒度を細かくトランジスタレベルまで光化を進め、演算レベルで生じる遅延の問題を根本から解決することができる光論理回路および加算器を提供することを目的とする。本発明では、電子チップにおける演算を律速するクリティカルパスを光化し、そのパスを光素子に適した構成に再構築し、パスの長さを短尺化することで、演算速度を飛躍的に改善する。
【課題を解決するための手段】
【0018】
本発明の光論理回路は、複数ビットの信号Xと複数ビットの信号Yとの所望の論理演算の結果をビット毎に出力する第1の演算手段と、この第1の演算手段でのビット毎の論理演算に必要な、上位ビットへの伝搬信号をビット毎に出力する第2の演算手段と、前記信号X,Yに基づいて前記第1、第2の演算手段を制御する制御信号をビット毎に出力する第3の演算手段とを備え、前記第2の演算手段は、ビット毎の構成がそれぞれ1つの光パスゲートからなり、各光パスゲートが直列に接続され、前記第3の演算手段で演算されたビット毎の制御信号が対応するビットの光パスゲートに入力されることを特徴とするものである。
【0019】
また、本発明の光論理回路の1構成例において、前記光パスゲートは、ナノフォトニクスの光ゲートである。
また、本発明の光論理回路の1構成例において、前記第1、第2、第3の演算手段の全ては光回路からなるものである。
また、本発明の光論理回路の1構成例において、前記第1の演算手段は電気回路からなり、前記第2、第3の演算手段は光回路からなるものである。
また、本発明の光論理回路の1構成例において、前記論理演算は、信号Xと信号Yの加算である。
【0020】
また、本発明の加算器は、複数ビットの信号Xと複数ビットの信号Yとの加算の結果をビット毎に出力する第1の演算手段と、この第1の演算手段でのビット毎の加算に必要な、上位ビットへの伝搬信号である桁上げ信号をビット毎に出力する第2の演算手段と、前記第1、第2の演算手段を制御する制御信号として前記信号X,Yの排他的論理和の結果をビット毎に出力するXORゲートと、前記信号X,Yのビット毎の論理積の結果を前記第2の演算手段に入力するANDゲートとを備え、前記第1、第2の演算手段は、ビット毎の構成がそれぞれ1つの光パスゲートからなり、前記第2の演算手段を構成する各光パスゲートが直列に接続され、前記XORゲートで演算されたビット毎の制御信号が対応するビットの光パスゲートに入力されることを特徴とするものである。
また、本発明の加算器の1構成例において、前記第1の演算手段を構成する各光パスゲートは、前記XORゲートで演算されたビット毎の制御信号に応じて桁上げ信号またはその反転信号のいずれかを出力し、前記第2の演算手段を構成する各光パスゲートは、前記XORゲートで演算されたビット毎の制御信号に応じて桁上げ信号または前記ANDゲートの出力信号のいずれかを出力することを特徴とするものである。
【発明の効果】
【0021】
本発明によれば、複数ビットの信号Xと複数ビットの信号Yとの所望の論理演算の結果をビット毎に出力する第1の演算手段と、第1の演算手段でのビット毎の論理演算に必要な、上位ビットへの伝搬信号をビット毎に出力する第2の演算手段と、信号X,Yに基づいて第1、第2の演算手段を制御する制御信号をビット毎に出力する第3の演算手段とを設け、第2の演算手段のビット毎の構成を1つの光パスゲートとし、各光パスゲートを直列に接続し、第3の演算手段で演算されたビット毎の制御信号を対応するビットの光パスゲートに入力することにより、回路の演算時間を律速する演算経路(クリティカルパス)を、光素子に適した構成に再構築し、クリティカルパスの長さを短尺化することができ、クリティカルパスを伝搬する光の伝搬速度で論理演算を実行することが可能となる。
【0022】
また、本発明では、複数ビットの信号Xと複数ビットの信号Yとの加算の結果をビット毎に出力する第1の演算手段と、第1の演算手段でのビット毎の加算に必要な、上位ビットへの伝搬信号である桁上げ信号をビット毎に出力する第2の演算手段と、第1、第2の演算手段を制御する制御信号として信号X,Yの排他的論理和の結果をビット毎に出力するXORゲートと、信号X,Yのビット毎の論理積の結果を第2の演算手段に入力するANDゲートとを設け、第1、第2の演算手段のビット毎の構成をそれぞれ1つの光パスゲートとし、第2の演算手段を構成する各光パスゲートを直列に接続し、XORゲートで演算されたビット毎の制御信号を対応するビットの光パスゲートに入力することにより、加算器の演算時間を律速する演算経路(クリティカルパス)を、光素子に適した構成に再構築し、クリティカルパスの長さを短尺化することができ、クリティカルパスを伝搬する光の伝搬速度で信号X,Yの加算を実行することが可能となる。
【図面の簡単な説明】
【0023】
【図1】論理ブロックの接続方法を説明する図である。
【図2】従来の加算器の構成を示すブロック図である。
【図3】従来の加算器の詳細な構成を示すブロック図である。
【図4】従来の加算器のクリティカルパスを説明する図である。
【図5】本発明におけるクリティカルパスの短縮化を説明する図である。
【図6】本発明の第1の実施の形態に係る加算器の構成を示すブロック図である。
【図7】本発明の第1の実施の形態に係る加算器のANDゲートの構成を示す図である。
【図8】本発明の第1の実施の形態に係る加算器のXORゲートの構成を示す図である。
【図9】本発明の第2の実施の形態に係る加算器の構成を示すブロック図である。
【図10】本発明の第2の実施の形態に係る加算器の詳細な構成を示すブロック図である。
【図11】本発明の第2の実施の形態に係る加算器のSUMゲートの構成を示す図である。
【図12】本発明の第3の実施の形態に係る加算器の構成を示すブロック図である。
【図13】電子デバイスおよび光学デバイスの1ビット当たりのスイッチングエネルギーを示す図である。
【図14】ルックアップテーブルの真理値表を示す図である。
【図15】図14のルックアップテーブルに対応する論理ブロックの構成を示す図および光パスゲートの等価回路図である。
【図16】出力経路の等価回路図である。
【発明を実施するための形態】
【0024】
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して説明する。本発明では、図16で説明した電気回路における3段目のプロセスの問題点を光化で解決する。つまり、光信号の伝搬が、経路のキャパシタ(C)にも抵抗(R)にも無依存である特徴を利用する。このような光化により、出力経路を光信号が伝搬する時間で、演算を完了させることが可能となる。

【0025】
また、下記に示す手法により、回路の演算時間を律速する演算経路(クリティカルパス)を、光素子に適した構成に再構築し、ナノフォトニクスによる光素子の小型化によりパスの長さを短尺化することで、演算速度を飛躍的に改善する。

【0026】
本発明では、便宜上、論理ブロックの複数個の組み合わせ方を、図1(A)、図1(B)に示す2種類に分類する。ここで、シリアル接続は、図1(A)に示すように、前段と後段の論理ブロック10のトランジスタ12のソースとドレインが直列に連なる接続、カスケード接続は、図1(B)に示すように、前段の論理ブロック10の最終段のトランジスタ12を通過した信号が次段の論理ブロック10の初段のトランジスタ12のゲートに入力される接続、と定義することとする。

【0027】
例えば加算器(X+Y)の場合、3入力(Xi,Yi,Ci)の論理ブロックの組み合わせで構成することができる。ここで、Xi,Yiは加算されるi桁目の値、Ciはi-1桁からの桁上げの値である。3入力の論理ブロックをLUTで構成する場合、図15(A)の答えに図14におけるCi+1の出力配列を用いると桁上げ演算を実現することができ、図15(A)の答えに図14におけるSiの出力配列を用いると各桁の和算を実現することができる。

【0028】
従来の加算器の回路構成は図2となる。ここでは簡単のため、論理ブロック10の組み合わせを、図16の等価回路の表記を用いて表している。上段の論理ブロック10-1~10-4は桁上げの値Ci+1,Ci+2,Ci+3,Ci+4を演算する論理ブロック、下段の論理ブロック10-5~10-8は各桁の和算を行なう論理ブロックである。

【0029】
複数ビットからなるXと複数ビットからなるYを加算する場合には、論理ブロック10-5~10-8で各桁ごとの加算を行うとともに、論理ブロック10-1~10-4で上位の桁への桁上げの値を演算する。図3は図2の加算器の詳細な構成を示すブロック図である。

【0030】
図2、図3に示したような回路構成において演算時間を決定するものは、もっとも長い経路(クリティカルパス)である。本発明では、シリアル接続を積極的に利用し、この接続を演算のクリティカルパスに利用することを提案する。その手法について具体例を挙げて説明する。

【0031】
まず、図2、図3の回路のクリティカルパスを抽出する。図2、図3に示した加算器のクリティカルパスを抽出した構成を図4に示す。図2~図4の15で示されている経路がクリティカルパスである。桁上げの信号が通る経路が最も長くなっており、かつ、前段の論理ブロック10の桁上げ演算が完了しないと、次段の論理ブロック10の演算ができない構成となっている。電気回路の場合、32ビットの加算にかかる時間は約1nsと言われている。

【0032】
次に、クリティカルパスを最短化する。図4における1桁の演算は、クリティカルパス上にシリアルに接続された3つのトランジスタ12(光パスゲート)で実行されているが、これらの演算の全ては必ずしもクリティカルパス上に存在する光パスゲートで実行されなくてもよい。

【0033】
例えば図5に示すように、クリティカルパス外のXOR(排他的論理和)ゲート21-1~21-3で演算した結果をそれぞれ光パスゲート20-1~20-3へのゲート入力信号として用いることにより、クリティカルパス上の光パスゲート数を最小(ここでは1つ)に削減することが可能となる。

【0034】
さらに、次段ブロックへの接続をカスケードからシリアルに変更する。演算の条件により、カスケードに入力されている信号をシリアルに変更することができる。図5の例ではi桁からの桁上げ信号Ci+1をi+1桁の光パスゲート20-2に入力し、i+1桁からの桁上げ信号Ci+2をi+2桁の光パスゲート20-3に入力するというようにシリアル接続している。

【0035】
これにより、クリティカルパスの経路の構築が各桁で同時に行えるようになり、経路の構築時間がクリティカルパス上の光パスゲート数(桁数)に無依存となる。さらに、構築された経路に光信号を通すだけで桁上げ演算が完了するため、演算時間が光の伝搬時間と等しくなる。

【0036】
次に、本実施の形態の加算器の具体的な回路構成を図6に示す。ここでは、それぞれ3ビットのX,Yを加算する構成を例に挙げて説明する。本実施の形態の加算器は、1×1光パスゲート30-1~30-6と、2×1光パスゲート31-1~31-9と、AND(論理積)ゲート32-1~32-3と、NAND(否定論理積)ゲート33-1~33-3と、XOR(排他的論理和)ゲート34-1~34-3とから構成される。なお、本実施の形態は、信号および回路を全て光化した構成の例である。

【0037】
ANDゲート32-1は、1桁目のX,Yの値X1,Y1の論理積を演算し、ANDゲート32-2は、2桁目のX,Yの値X2,Y2の論理積を演算し、ANDゲート32-3は、3桁目のX,Yの値X3,Y3の論理積を演算する。

【0038】
ANDゲート32-1の出力信号は1×1光パスゲート30-1のゲート入力信号となり、ANDゲート32-2の出力信号は1×1光パスゲート30-2のゲート入力信号となり、ANDゲート32-3の出力信号は1×1光パスゲート30-3のゲート入力信号となる。

【0039】
NANDゲート33-1は、1桁目のX,Yの値X1,Y1の否定論理積を演算し、NANDゲート33-2は、2桁目のX,Yの値X2,Y2の否定論理積を演算し、NANDゲート33-3は、3桁目のX,Yの値X3,Y3の否定論理積を演算する。

【0040】
NANDゲート33-1の出力信号は1×1光パスゲート30-4のゲート入力信号となり、NANDゲート33-2の出力信号は1×1光パスゲート30-5のゲート入力信号となり、NANDゲート33-3の出力信号は1×1光パスゲート30-6のゲート入力信号となる。

【0041】
XORゲート34-1は、1桁目のX,Yの値X1,Y1の排他的論理和を演算し、XORゲート34-2は、2桁目のX,Yの値X2,Y2の排他的論理和を演算し、XORゲート34-3は、3桁目のX,Yの値X3,Y3の排他的論理和を演算する。

【0042】
XORゲート34-1の出力信号(制御信号)は2×1光パスゲート31-1,31-4,31-7のゲート入力信号となり、XORゲート34-2の出力信号(制御信号)は2×1光パスゲート31-2,31-5,31-8のゲート入力信号となり、XORゲート34-3の出力信号(制御信号)は2×1光パスゲート31-3,31-6,31-9のゲート入力信号となる。

【0043】
図7はANDゲート32-1の構成を示す図である。ANDゲート32-1は、光パスゲート320~322によって構成される。各光パスゲート320~322は、ゲート入力が“1”のときに一方の光経路(図7の例では上側の光経路)を選択し、ゲート入力が“0”のときに他方の光経路(下側の光経路)を選択する。

【0044】
1段目の光パスゲート320,321はゲート入力Xiに応じて動作し、2段目の光パスゲート322はゲート入力Yiに応じて動作する。図15(A)で説明した論理ブロックの場合と同様に、X1,Y1の2つの入力に対し4個の答えを事前に準備する必要がある。したがって、“1”の答えのところに光源を配置して光を入力すればよい。ANDゲート32-2,32-3の構成はANDゲート32-1と同じである。

【0045】
図8はXORゲート34-1の構成を示す図である。XORゲート34-1は、光パスゲート340~342によって構成される。1段目の光パスゲート340,341はゲート入力Xiに応じて動作し、2段目の光パスゲート342はゲート入力Yiに応じて動作する。

【0046】
ANDゲート32-1の場合と同様に、X1,Y1の2つの入力に対し4個の答えを事前に準備する必要があり、“1”の答えのところには光源を配置して光を入力すればよい。XORゲート34-2,34-3の構成はXORゲート34-1と同じである。
NANDゲート33-1~33-3についても光パスゲートの組み合わせで容易に実現することができる。

【0047】
1×1光パスゲート30-1~30-3は、ANDゲート32-1~32-3からのゲート入力が“1”のときにオン状態となって入力経路からの光信号を通過させ、ゲート入力が“0”のときにオフ状態となって光信号を遮断する。同様に、1×1光パスゲート30-4~30-6は、NANDゲート33-1~33-3からのゲート入力が“1”のときにオン状態となり、ゲート入力が“0”のときにオフ状態となる。

【0048】
1×1光パスゲート30-1~30-6の出力信号は2×1光パスゲート31-1~31-3,31-4~31-6に入力される。なお、各1×1光パスゲート30-1~30-6の入力経路には光源を配置して光を入力する必要がある。

【0049】
2×1光パスゲート31-1~31-3は、XORゲート34-1~34-3からのゲート入力が“1”のときに一方の光経路(桁上げ信号C1~C3)を選択し、ゲート入力が“0”のときに他方の光経路(1×1光パスゲート30-1~30-3の出力)を選択する。この2×1光パスゲート31-1~31-3の出力信号は上位の桁への桁上げ信号C2~C4となる。例えば桁上げ信号C2は2×1光パスゲート31-2,31-8に入力され、桁上げ信号C3は2×1光パスゲート31-3,31-9に入力される。

【0050】
2×1光パスゲート31-4~31-6は、XORゲート34-1~34-3からのゲート入力が“0”のときに一方の光経路(1×1光パスゲート30-4~30-6の出力)を選択し、ゲート入力が“1”のときに他方の光経路(桁上げ信号バーC1~バーC3)を選択する。

【0051】
この2×1光パスゲート31-4~31-6の出力信号は桁上げ信号C2~C4に対して相補な桁上げ信号バーC2~バーC4となる。桁上げ信号バーC2は2×1光パスゲート31-5,31-8に入力され、桁上げ信号バーC3は2×1光パスゲート31-6,31-9に入力される。

【0052】
2×1光パスゲート31-7~31-9は、XORゲート34-1~34-3からのゲート入力が“1”のときに一方の光経路(桁上げ信号バーC1~バーC3)を選択し、ゲート入力が“0”のときに他方の光経路(桁上げ信号C1~C3)を選択する。この2×1光パスゲート31-7~31-9の出力が、各桁の和算の結果を示す出力信号S1~S3となる。

【0053】
なお、1桁目の演算で使用する桁上げ信号C1は“0”であるから、これと相補な桁上げ信号バーC1として“1”を入力する必要があり、2×1光パスゲート31-4,31-7のバーC1の入力には光源を配置して光を入力する必要がある。

【0054】
図6中の15,16で示されている経路が加算器のクリティカルパスである。図6に示した構成は図5の構成と等価であり、クリティカルパス15上の光パスゲートに、クリティカルパス外で実行されたXとYのXORの演算結果を入力している。また、下段のクリティカルパス16は、上段クリティカルパス15と相補な桁上げ信号が伝搬する経路となっている。

【0055】
本実施の形態では、クリティカルパス上にシリアルに接続される光パスゲートに光を伝搬させるだけで、桁上げ計算が完了する。各桁の和算は、クリティカルパスからの分岐信号を使って演算され、その演算は他の桁に影響を及ぼさない。つまり、クリティカルパスを伝搬する光の伝搬速度で和算を実行することが可能となる。

【0056】
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。図9は本実施の形態の加算器の構成を示すブロック図であり、図6と同一の構成には同一の符号を付してある。本実施の形態の加算器は、1×1光パスゲート30-1~30-3と、2×1光パスゲート31-1~31-3,31-7~31-9と、ANDゲート32-1~32-3と、XORゲート34-1~34-3と、光・光ゲート35-1,35-2とから構成される。

【0057】
第1の実施の形態では、図6に示した下段のクリティカルパス16は、桁上げ信号C2,C3の反転信号バーC2,バーC3を作るために使われている。そのため、反転機能を有する回路を用いれば、図6の下段の回路、すなわち1×1光パスゲート30-4~30-6と2×1光パスゲート31-4~31-6とNANDゲート33-1~33-3とを省くことが可能である。

【0058】
本実施の形態の例では、光・光ゲート35-1は、2×1光パスゲート31-1から出力された桁上げ信号C2から反転信号バーC2を生成し、桁上げ信号C2と反転信号バーC2とを2×1光パスゲート31-8に入力する。

【0059】
同様に、光・光ゲート35-2は、2×1光パスゲート31-2から出力された桁上げ信号C3から反転信号バーC3を生成し、桁上げ信号C3と反転信号バーC3とを2×1光パスゲート31-9に入力する。
その他の構成は第1の実施の形態で説明したとおりである。

【0060】
図10は図9に示した本実施の形態の加算器の詳細な構成を示すブロック図である。なお、図10の例では、それぞれ4ビットのX,Yを加算する構成を示している。
SUMゲート36-1~36-4は、図6の2×1光パスゲート31-7~31-9と光・光ゲート35-1,35-2とを合わせた構成に相当する。

【0061】
図11はSUMゲート36-1の構成を示す図である。SUMゲート36-1は、NOTゲート360と、光パスゲート361とから構成される。NOTゲート360は、桁上げ信号C1から反転信号バーC1を生成する。光パスゲート361は、2×1光パスゲート31-7と同じものである。SUMゲート36-2~36-4の構成はSUMゲート36-1と同じである。

【0062】
こうして、本実施の形態では、第1の実施の形態と比較して構成を簡略化することができる。
なお、図9、図10の例では、図6に示した下段の回路を省いているが、下段の回路で演算した桁上げ信号バーC2,バーC3の反転信号C2,C3を光・光ゲートで生成することにより、図6の上段の回路、すなわち1×1光パスゲート30-1~30-3と2×1光パスゲート31-1~31-3とANDゲート32-1~32-3とを省くようにしてもよい。

【0063】
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。図12は本実施の形態の加算器の構成を示すブロック図であり、図6と同一の構成には同一の符号を付してある。本実施の形態の加算器は、1×1光パスゲート30-1~30-3と、2×1光パスゲート31-1~31-3と、ANDゲート32-1~32-3と、XORゲート34-1~34-3と、電気スイッチ37-1~37-3と、OE変換器38-1,38-2とから構成される。

【0064】
本発明では、和算については桁ごとに完了しており、他の桁に影響を与えないため、図9に示した中段の回路、すなわち2×1光パスゲート31-7~31-9と光・光ゲート35-1,35-2との部分を電気信号で処理しても、光を用いた場合とほぼ同程度の演算速度を得ることができる。

【0065】
電気スイッチ37-1~37-3は、XORゲート34-1~34-3からのゲート入力が“1”のときに一方の電気経路(桁上げ信号バーC1~バーC3)を選択し、ゲート入力が“0”のときに他方の電気経路(桁上げ信号C1~C3)を選択する。この電気スイッチ37-1~37-3の出力が各桁の和算の結果を示す出力信号S1~S3となる。桁上げ信号C1は“0”であるから、その反転信号バーC1として“1”に相当する電気信号を電気スイッチ37-1に入力する必要がある。

【0066】
OE変換器38-1は、2×1光パスゲート31-1から出力された桁上げ信号C2(光信号)を電気信号に変換すると同時に、この変換した桁上げ信号C2の反転信号バーC2を生成し、桁上げ信号C2と反転信号バーC2とを電気スイッチ37-2に入力する。

【0067】
同様に、OE変換器38-2は、2×1光パスゲート31-2から出力された桁上げ信号C3(光信号)を電気信号に変換すると同時に、この変換した桁上げ信号C3の反転信号バーC3を生成し、桁上げ信号C3と反転信号バーC3とを電気スイッチ37-3に入力する。
その他の構成は第1の実施の形態で説明したとおりである。

【0068】
更に、図9に示した上段のゲート、すなわち、ANDゲート32-1~32-3と、XORゲート34-1~34-3を電気スイッチとし、かつ、1×1光パスゲート30-1~30-3とそれに付随する光源の組み合わせを、ANDゲート32-1~32-3からのゲート入力が”1”のときにONとなる光源に置き換えてもよい。これらの部分はクリティカルパス外に存在するため、これらの部分を電気信号で処理しても光を用いた場合とほぼ同程度の演算時間を得ることができる。本実施の形態のように、上段のクリティカルパス15を構成する経路のみを光に置き換え、その他の回路を電気で構成しても、光の伝搬速度で演算を実行することが可能となる。

【0069】
第1~第3の実施の形態で説明した回路は、トランジスタレベルまで光化を進めた構成となっており、電子回路と光回路の融合を容易にし、電子回路の得意分野(膨大な素子の超高集積・並列処理による、超高スループット演算)と、光回路の得意分野(情報を光の速度で伝搬させながら、光の伝搬速度で演算を完了させる、超低レイテンシ演算)の両立が可能となり、動作周波数が頭打ち状態になりつつある電子回路の問題を解決することを可能とする。

【0070】
なお、第1~第3の実施の形態では、加算器としての構成のみを説明したが、回路がクリティカルパスを擁する場合、(桁ごとに完了する演算と、他の桁の影響を受ける演算がある場合には、他の桁の影響を受ける演算がクリティカルパスになる)加算器以外の回路でも本発明を適用できるのは言うまでもない。例えば次のように回路構成を変更すると減算器となる。具体的には、入力Yの全ての信号をYの論理否定として入力し、かつ、最下位桁のC1に論理値1を入力する、つまり、信号C1として“1”を入力し、信号バーC1には入力しない。このように加算器の構成は様々な演算回路に応用することが可能で、その適用例としては、乗算器、除算器、あるいは単数もしくは複数の条件から一致するビット列を検出する一致検出回路等がある。

【0071】
また、光パスゲートとしてナノフォトニクスの光ゲート(非特許文献5、6)を用いることで、短尺化=高速化を図ることができる。

【0072】
なお、クリティカルパス上のパスゲート(31-1~31-6)として電気的な経路切替えが可能な構成で、光信号でゲートを操作しなくても良い構成を用いてもよい。これにより、従来の光素子を利用することが可能である。
【産業上の利用可能性】
【0073】
本発明は、光回路、または光回路と電気回路の混合回路で行う論理演算に適用することができる。
【符号の説明】
【0074】
30-1~30-6…1×1光パスゲート、31-1~31-9…2×1光パスゲート、32-1~32-3…ANDゲート、33-1~33-3…NANDゲート、34-1~34-3…XORゲート、35-1,35-2…光・光ゲート、36-2~36-4…SUMゲート、37-1~37-3…電気スイッチ、38-1,38-2…OE変換器、320~322,340~342,361…光パスゲート、360…NOTゲート。
図面
【図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