(57)【要約】【課題】より高速に光乗算ができるようにする。【解決手段】部分積生成部１０１は、Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する。加算部１０２は、生成されたＮ×Ｎ個の部分積を桁統合しながら加算して加算値を生成する。変換部１０３は、加算部１０２が生成した加算値をアナログデジタル変換してデジタル値を生成する。デジタル加算部１０４は、変換部１０３が生成したデジタル値をデジタル加算する。【選択図】  図１
2019040225.tif 000002
【特許請求の範囲】
【請求項１】
Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する部分積生成部と、
前記部分積を桁統合しながら加算して加算値を生成する加算部と、
前記加算値をアナログデジタル変換してデジタル値を生成する変換部と、
前記デジタル値をデジタル加算するデジタル加算部と
を備えることを特徴とする光乗算器。
【請求項２】
請求項１記載の光乗算器において、
前記部分積生成部および前記加算部は、前記部分積の生成に対して各々異なる波長の光を対応させて、前記部分積の生成および前記加算値の生成を波長多重で同時に処理することを特徴とする光乗算器。
【請求項３】
請求項１記載の光乗算器において、
前記部分積生成部は、２次のブースの方法により前記部分積を生成することを特徴とする光乗算器。
【請求項４】
Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する第１ステップと、
前記部分積を桁統合しながら加算して加算値を生成する第２ステップと、
前記加算値をアナログデジタル変換してデジタル値を生成する第３ステップと、
前記デジタル値をデジタル加算する第４ステップと
を備えることを特徴とする光乗算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、乗算のための光回路を用いた光乗算器および光乗算方法に関する。
【背景技術】
【０００２】
現在の電子演算回路は、演算の処理速度を向上させるため、チップサイズや素子サイズを極限まで小さくする工夫がなされている。これは、回路内の抵抗（Ｒ）とキャパシタンス（Ｃ）が、信号の伝搬を大きく律速しているため、演算速度を上げるには、チップサイズや素子サイズを小さくするしかないためである。このため、狭面積の論理ブロックやコアに素子を詰め込み、マルチコア・メニーコア化などの工夫がなされているが、これらをつなぐための配線が新たな「遅延」を生み、演算の高速化に限界が見えつつある。
【０００３】
一方、光通信などで用いられる光配線や光パスゲートは、この配線経路内のＣやＲに無依存で光信号を伝播させることができる。また、ナノフォトニクスの進展により、光ゲートの消費エネルギーは飛躍的に改善され、このエネルギーコスト［Ｊ／ｂｉｔ］は、ＣＭＯＳゲートと光パスゲートとで同程度のレベルになりつつある。このため、チップ内やチップ間の通信を光化する様々な研究がなされている。
【０００４】
ここで、光ゲートの電気制御ポート側から信号入力する接続形態をカスケード接続、スイッチの光伝搬経路が連続的に接続されている形態をシリアル接続と定義する。例えばシリアル接続とカスケード接続が混在した光電融合型の回路を想定した場合、カスケード接続の部分が光と電気の境界となる。この境界において、回路中を伝搬する光信号は一度電気に変換（ＯＥ変換）されることになる。この変換は、電気回路に律速されるため、ＯＥ変換の多用される回路は、光を使うことのメリットが小さい。このため、光と電気の境界、つまりカスケード接続の配置場所と数が、回路構成の重要なポイントとなる。以下では、乗算器についてこの問題を検討する。
【０００５】
最初に、光伝搬経路中にＯＥ変換を配置しない構成の光乗算器を検討する。非特許文献１において、２×２光パスゲートを用いれば、任意の論理関数をシリアル接続のみで実現可能であると示している。非特許文献１で提案されている「Direct Logic」を用いることで、任意の論理関数を光の伝搬速度で演算することができる（非特許文献２）。しかし、複雑な論理関数では入力数に対して指数関数のオーダの素子数が必要になるものもあり、乗算もその例に含まれる。
【０００６】
非特許文献３では、光パスゲートに適した回路アーキテクチャとして二分決定グラフ(Binary Decision Diagram)に基づく回路構成を提案している。こちらの方法でも任意の論理関数をシリアル接続のみで実現可能である。しかしながら、「Direct Logic」と同様に、乗算などを用いる論理関数では必要な素子数が指数オーダとなる。したがって、「Direct Logic」や二分決定グラフによってＯＥ変換なしで乗算器を構成することは現実的ではないといえる。
【０００７】
次に、ＯＥ変換を用いることを前提に乗算器の回路構成を考えてみる。乗算器は、２進数で表される２つのデータを入力とし、これらの積を２進数データとして出力する演算回路である。図１４に、４ビットの整数ｘ3ｘ2ｘ1ｘ0とｙ3ｙ2ｙ1ｙ0に対する乗算の計算過程を示す。ｐijを部分積と呼び、この部分積は、ｘiとｙjの論理積により求められる。部分積ｐijを図１４に示すように桁ごとに加算することで、乗算結果ｓ6、ｓ5、・・・、ｓ0を求めることができる。並列乗算器は、上述した過程を１クロックサイクルで実現する乗算回路である。
【０００８】
一般的な並列乗算器は、部分積生成部と部分積加算部で構成される。部分積生成部は、論理積演算（以下ＡＮＤ）ゲートを用いることで実現される。一方、部分積加算部には、配列型やウォリス木型などの構成が存在する。配列型乗算器の部分積加算部は、図１５に示すように全加算器（ＦＡ）をアレイ状に多数段接続する。最大で２（Ｎ−１）個の全加算器を通過する信号パスが存在するため、演算時間はこの加算過程に律速される。
【０００９】
ウォリス木型乗算器の部分積加算部は、図１６に示すように、同一桁内の加算を並列化することで、ＦＡの段数を減らして高速化を行っている。また各桁の桁上げを処理するために、最後に桁上げ先見加算器（Carry Lookahead Adder：ＣＬＡ）を用いている。
【００１０】
ここで、全加算器を光パスゲートで実現した例を、図１７を用いて説明する（非特許文献４）。この全加算器は、強度情報が“１”の光信号を出力する光源５０１，５０２と、ｐａｓｓ／ｂｌｏｃｋ型の光ゲート５０３，５０４と、ｐａｓｓ／ｃｒｏｓｓ型の光ゲート５０５〜５０７と、ＯＥ変換器５０８〜５１０とを備える。
【００１１】
ＯＥ変換器５０８，５０９は、光信号ｘ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を選択して出力する。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】J. Hardy et al., "Optics inspired logic architecture", Optics Express, vol. 15, no. 1, pp. 150-165, 2007.
【非特許文献２】Q. Xu et al., "Reconfigurable optical directed-logic circuits using microresonator-based optical switches", Optics Express, vol. 19, no. 6, pp. 5244-5259, 2011.
【非特許文献３】浅井哲也  他、「二分決定グラフにもとづくフォトニック結晶集積デバイス」、２０００年電子情報通信学会総合大会講演論文集、 ３８６−３８７頁、２０００年。
【非特許文献４】石原亨  他、「光パスゲート論理に基づく並列加算回路の提案と光電混載回路シミュレータによる動作検証」、信学技報、 vol. 116, no. 94, pp. １０９−１１４頁、２０１６年。
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述した全加算器では、光信号ｘi、ｙiをＯＥ変換する必要があるため、ＦＡの数に対応するＯＥ変換回数が必要になる。またこの回数は、入力の桁数に依存し、かつ、ＯＥ変換時間は光パスゲートにおける伝播遅延時間の数倍〜数十倍であるため、入力桁の多いほどＯＥ変換に要する遅延時間が支配的となり、高速な演算処理が行えない。以上の理由から、配列型乗算器およびウォリス木型乗算器の構成は、より高速な光並列乗算器の構成としては適していないといえる。上述した全加算器は、２進数で部分積加算を演算するために用いられており、このことにより、乗算の演算速度がＯＥ変換で律速される原因となっている。
【００１５】
本発明は、以上のような問題点を解消するためになされたものであり、より高速に光乗算ができるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る光乗算器は、Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する部分積生成部と、部分積を桁統合しながら加算して加算値を生成する加算部と、加算値をアナログデジタル変換してデジタル値を生成する変換部と、デジタル値をデジタル加算するデジタル加算部とを備える。
【００１７】
上記光乗算器において、部分積生成部および加算部は、部分積の生成に対して各々異なる波長の光を対応させて、部分積の生成および加算値の生成を波長多重で同時に処理する。
【００１８】
上記光乗算器において、部分積生成部は、２次のブースの方法により部分積を生成する。
【００１９】
本発明に係る光乗算方法は、Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する第１ステップと、部分積を桁統合しながら加算して加算値を生成する第２ステップと、加算値をアナログデジタル変換してデジタル値を生成する第３ステップと、デジタル値をデジタル加算する第４ステップとを備える。
【発明の効果】
【００２０】
以上説明したことにより、本発明によれば、より高速に光乗算ができるという優れた効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】図１は、本発明の実施の形態における光乗算器の構成を示す構成図である。
【図２】図２は、本発明の実施の形態における光乗算方法を説明するためのフローチャートである。
【図３】図３は、本発明の概念を説明するための説明図である。
【図４】図４は、部分積生成部１０１の構成例を示す構成図である。
【図５】図５は、４ビットの乗算におけるｚiの２進数への変換工程を説明するための説明図である。
【図６Ａ】図６Ａは、桁統合を施さない場合の１６ビットの乗算におけるｚiの２進数への変換工程を示す説明図である。
【図６Ｂ】図６Ｂは、桁統合を施した場合の１６ビットの乗算におけるｚiの２進数への変換工程を示す説明図である。
【図７Ａ】図７Ａは、加算部１０２を構成する回路について説明する構成図である。
【図７Ｂ】図７Ｂは、方向性結合器２０１の構成例を示す構成図である。
【図８Ａ】図８Ａは、変換部１０３の構成例を示す構成図である。
【図８Ｂ】図８Ｂは、符号化器２０３の構成例を示す構成図である。
【図９】図９は、部分積生成部１０１および加算部１０２における波長多重による構成例を示す構成図である。
【図１０】図１０は、１６ビット×１６ビットの乗算を説明するための説明図である。
【図１１】図１１は、２次のブースの方法による符号化回路の構成例を示す構成図である。
【図１２】図１２は、２次のブースの方法と波長多重を併用した構成例を示す構成図である。
【図１３】図１３は、１６ビット×１６ビットの場合において、波長多重化と２次のブースの符号化を行う状態を説明するための説明図である。
【図１４】図１４は、４ビットの整数ｘ3ｘ2ｘ1ｘ0とｙ3ｙ2ｙ1ｙ0に対する乗算の計算過程を示す説明図である。
【図１５】図１５は、配列型乗算器の部分積加算部の構成を示す構成図である。
【図１６】図１６は、ウォリス木型乗算器の部分積加算部の構成を示す構成図である。
【図１７】図１７は、光パスゲートで実現した全加算器の構成を示す構成図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態における光乗算器について図１を参照して説明する。この光乗算器は、部分積生成部１０１、加算部１０２、変換部１０３、デジタル加算部１０４を備える。
【００２３】
部分積生成部１０１は、Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する。加算部１０２は、生成されたＮ×Ｎ個の部分積を桁統合しながら加算して加算値を生成する。変換部１０３は、加算部１０２が生成した加算値をアナログデジタル変換してデジタル値を生成する。デジタル加算部１０４は、変換部１０３が生成したデジタル値をデジタル加算する。
【００２４】
ここで、後述するように、部分積生成部１０１および加算部１０２は、部分積の生成に対して各々異なる波長の光を対応させて、部分積の生成および加算値の生成を波長多重で同時に処理することで、より高速な演算が可能となる。また、後述するように、部分積生成部１０１は、２次のブースの方法により部分積を生成するとよい。
【００２５】
次に、本発明における光乗算方法について、図２のフローチャートを用いて説明する。まず、第１ステップＳ１０１で、部分積生成部１０１が、Ｎビット（Ｎは２以上の整数）の第１デジタル信号と、Ｎビットの第２デジタル信号とによるＮ×Ｎ個の部分積を生成する。
【００２６】
次に、第２ステップＳ１０２で、加算部１０２が、生成された部分積を桁統合しながら加算して加算値を生成する。次に、第３ステップＳ１０３で、変換部１０３が、生成された加算値をアナログデジタル変換してデジタル値を生成する。次に、第４ステップＳ１０４で、デジタル加算部１０４が、生成されたデジタル値をデジタル加算する。
【００２７】
上述したように、本発明では、部分積生成部１０１で部分積を生成した後の部分積の加算を、２進数演算に限定しない構成を採用したところに特徴がある。本発明では、部分積生成部１０１で部分積を生成（Ｓ１０１）した後、図３に示すように、加算部１０２で、桁統合を伴うアナログ加算により加算値を生成し（Ｓ１０２）、出力されたアナログデータを変換部１０３でＡＤ変換し（Ｓ１０３）、デジタル加算部１０４で桁上げ処理する（Ｓ１０４）ことで、乗算結果を得る。
【００２８】
上述した構成とすることで、アナログ加算は、光の電界の足し算で実現できるため、光の干渉を用いて実行できる。これにより、アナログ加算時の電気への変換（ＯＥ変換）は不要となる。また桁統合を行うことによりデジタル加算回数を削減し、この際に必要なＯＥ変換の回数を削減する。
【００２９】
上述したことにより、本発明によれば、従来型の乗算器に比べて圧倒的にＯＥ変換の回数が削減され、演算時間の短縮が可能となる。
【００３０】
以下、より詳細に説明する。はじめに、部分積生成部１０１についてより詳細に説明する。部分積生成部１０１は、図４に例示するように、光源１１１と、１×１光パスゲート１１２と、１×１光パスゲート１１３とから構成すればよい。１×１光パスゲート１１２と、１×１光パスゲート１１３とは、シリアルに接続する。１×１光パスゲート１１２への電気制御入力をｘiとし、１×１光パスゲート１１３への電気制御入力をｙiとする。電気制御入力が１の時のみ信号を透過させるように設定すれば、１×１光パスゲート１１２および１×１光パスゲート１１３の両者が透過状態になる電気信号の組み合わせ、つまり、ｘiｙj＝１の場合のみ光が出力される。これにより部分積を実現する。
【００３１】
次に、加算部１０２についてより詳細に説明する。まず、加算部１０２における桁統合について説明する。例えば、図１４を用いて説明した乗算の計算過程において、ｐijはｘiとｙjの部分積である。ここで、同一桁内の部分積の和（アナログ和）をｚiとする。例えばｚ2＝ｐ20＋ｐ11＋ｐ02である。Ｎビット×Ｎビット（Ｎは２以上の整数）の乗算の場合、ｚiは、Ｎ個の部分積の和により求められるため、最大Ｎまでの値をとる。この値から２進数の乗算結果であるＳiを得るためには、ｚiを複数ビットの２進数に変換し、デジタル加算器を用いて桁上げ処理を施す必要がある。
【００３２】
図５に、４ビットの乗算におけるｚiの２進数への変換工程を示す。また、図６Ａ、図６Ｂに、１６ビットの乗算におけるｚiの２進数への変換工程を示す。まず、桁統合を施さない場合の処理工程について、図５の（ａ）および図６Ａを参照して説明する。この場合、各桁において円、四角形、三角形、六角形、グレーの円、グレーの四角形、グレーの六角形の中の各数字は、当該桁が取り得る最大の整数であり、このことは、Ｎビットの乗算でｌｏｇ2（Ｎ）回のデジタル加算がＡＤ変換後に発生することを示している。ＡＤ変換後のデジタル加算の回数は、４ビット×４ビットなら２回（３行分の加算）、１６ビット×１６ビットなら４回（５行分の加算）となる。
【００３３】
次に、桁統合を施す場合の処理について、図５の（ｂ）および図６Ｂを参照して説明する。ここでは、４ビット×４ビット［図５の（ａ）］、１６ビット×１６ビット［図６Ｂ］の乗算において、それぞれｋ＝２、４としてｋ桁統合を実施している。これにより、ＡＤ変換の後に発生するデジタル加算の回数を１回（２行分の加算）に削減することができる。
【００３４】
例えば、図５の（ｂ）に示すように、部分積の和であるｚ7、・・・、ｚ0の８個を、それぞれ２個ずつに区切り、合計４個の集合に分割する。それぞれの集合に対し、２個の部分積加算結果を１つのアナログ量とみなしてＤＡ変換を行う。ここでは、この操作を２桁単位の統合と呼ぶ。例えば、ｚ0およびｚ1の２桁単位の統合ｚ0、1とは、アナログ量２ｚ1＋ｚ0を求めることである。一般に、部分積の加算結果をｋ桁ずつ統合してＤＡ変換を行う場合、最下位側から数えてｎ番目の集合に対するｋ桁単位の統合ｚn、n+k-1は次式で与えられる。
【００３５】
【数１】
2019040225.tif 000003
【００３６】
次に、統合して得られた系列ｚn、n+k-1をＡＤ変換で２進数に変換する。ここで、ＡＤ変換によって得られる２進系列は、定数行（ここでは２行）にまとめることができる。最後に、定数行にまとめられた２進系列をデジタル加算することで、最終的な乗算結果が得られる。
【００３７】
次に、加算部１０２における加算（アナログ加算）について、図７Ａ，図７Ｂを参照して説明する。図７Ａは、図３を用いて説明した同一桁内の部分積加算ｚnと、ｋ桁単位の統合ｚn、n+k-1の演算を回路化した構成を示しており、方向性結合器２０１と減衰器２０２とから構成している。方向性結合器２０１は、図７Ｂに示すように、２つの光導波路から構成されて一方の光導波路に位相器２０１ａを備え、干渉によって２つの光信号の電界の和をとるものである。方向性結合器２０１をツリー状に接続することで、同一桁内の部分積のアナログ加算と、桁統合の演算を行うことができる。
【００３８】
２桁単位の統合については、スプリッタなどによる減衰器２０２により、下位ビットｚiの信号強度（光の電界強度）が上位ビットｚi+1の信号強度（光の電界強度）の半分になる、すなわちｚi＝ｚi+1／２が成り立つように下位ビットｚiの信号強度を減衰させてから、方向性結合器２０１で２桁分の光を合成する。
【００３９】
【数２】
2019040225.tif 000004
【００４０】
次に、変換部１０３について、より詳細に説明する。部分積生成部１０１および加算部１０２で得られる結果ｚi、jはアナログ値であるため、ＡＤ変換を行うことで２進数の系列へ変換する。アナログ値のＮビットのデジタル値の関係は、例えば、以下の表１に示すものとなり、ｏｕｔ0、ｏｕｔ1、ｏｕｔ2のデジタル値は、アナログ値に対して周期的に変化している。
【００４１】
【表１】
2019040225.tif 000005
【００４２】
このような周期的な変化は、干渉計の位相をアナログ値で制御し、出力される光信号強度を閾値処理することで、デジタル光信号を容易に得ることができる。これらの変換部１０３の機能は、光非線形処理やＯＥ変換を用いて実現することができる。変換部１０３は、例えば、図８Ａに示すように、３つの符号化器２０３と３つの閾値処理器２０４とから構成することができる。符号化器２０３は、図８Ｂに示すように、よく知られたマッハツェンダー干渉計２０５から構成できる。マッハツェンダー干渉計２０５の一方のアームに設けられた加熱部２０６に、入力信号が入力される。
【００４３】
次に、デジタル加算部１０４について、より詳細に説明する。変換部１０３で生成したデジタル値に対し、２Ｎビットの２進数定数行分のデジタル加算を実行することにより、乗算結果の２進数出力を得る。２行分のデジタル加算となる場合であれば、非特許文献４で提案されている光パスゲート論理に基づく並列加算器を用いることで、高速に演算することができる。
【００４４】
例えば、まず、図１７を用いて説明した全加算器のＣiとＣi+1，Ｃiの補数とＣi+1の補数が、連続的に接続されるように全加算器をシリアルに接続した光並列加算器を用いる。図３で説明したデジタル加算による桁上げ処理（Ｓ１０４）における２行のデジタル値のそれぞれを、上記構成とした光並列加算器における全加算器のｘ側、ｙ側に入力することにより、桁上げ処理を実行し、２進数の乗算値Ｓiを得る。３行以上のデジタル加算の場合は、上述した上記光並列加算器を複数段接続することで実現できる。
【００４５】
次に、部分積生成部１０１および加算部１０２における波長多重について説明する。上述した加算部１０２における桁上げと加算の過程では、ＯＥ変換が含まれない。このため図９の（ａ）に示すように、１×１光パスゲート１１２および１×１光パスゲート１１３による部分積生成部分と、リング共振器２０７と、減衰器２０２とを用い、異なる複数の乗算における部分積の生成に対して異なる波長を振り分けることで、異なる複数の乗算における実施の形態における光乗算器の演算過程を波長多重で同時に処理することが可能となる。なお、図９の（ａ）は、図９の（ｂ）の枠３０１内の処理を実施する部分の構成について示している。
【００４６】
次に、部分積生成部１０１における２次のブースの方法による部分積の生成について説明する。上述した加算部１０２におけるアナログ加算と桁統合の過程では、桁数Ｎの増加によってｋ桁統合後の値の最大値が増加した場合に、その後段のＡＤ変換において不具合が生じる可能性がある。例えばｋ＝４では統合後のｚの最大値が２２９となり、後段のＡＤ変換では０〜２２９の値に対して変換を行う必要があり、ＡＤ変換の線形性が保証できない可能性がある。
【００４７】
この問題の緩和案として、２次のブースの方法を利用することが考えられる。２次のブースの方法は、部分積の計算の際に、乗数の隣接する３ビットの値に応じて被乗数の加算量および減算量を変更する。この方法は、図１４を用いて説明したような単純な部分積の加算と比較し、多くの場合で部分積の加算回数を効率的に削減することができる。２次のブースの方法は、以下の表２に示す符号化規則を用いる。
【００４８】
【表２】
2019040225.tif 000006
【００４９】
部分積計算の際に、乗数の隣接する３ビットの値に応じて０、±Ｘ、±２Ｘを部分積として使用する。これにより、図１０に示すような１６ビット×１６ビットの乗算においては、部分積の加算を１６行から９行に削減することが可能となり、その結果、桁統合をｋ＝４（図６Ｂ）からｋ＝３に削減し、統合後のｚの最大値を２２９から５８に削減できる。
【００５０】
２次のブースの方法による符号化回路を図１１に示す。符号化回路は、方向性結合器２０１を用いている。被乗数Ｘは、光信号として入力し、乗数Ｙは電気信号として入力している。ただし、部分積１つ分の符号化であるので、実際にはこの回路が部分積の個数分必要となる。例えば、１６ビット×１６ビットの場合では、１６×９個の符号化回路が必要となる。
【００５１】
次に、２次のブースの方法と波長多重を併用することで、ブースの符号化回路の個数を削減する方法について説明する。図１２に、２次のブースの方法と波長多重を併用した回路構成を示す。この回路は、方向性結合器２０１、リング共振器２０７、１はパス（ｐａｓｓ）、０はブロック（ｂｌｏｃｋ）のｐａｓｓ／ｂｌｏｃｋゲート２０８，０はパス（ｐａｓｓ）、１はブロック（ｂｌｏｃｋ）のｐａｓｓ／ｂｌｏｃｋゲート２０９から構成されている。
【００５２】
以下、表２に示した部分積０、Ｘ、−Ｘ、２Ｘ、−２Ｘの演算について説明する。
【００５３】
部分積がＸの場合、被乗数Ｘの各ビット、すなわち、ｘN-1、ｘN-2、・・・、ｘ0に対し、それぞれλN-1、λN-2、・・・、λ0の波長を割り当て、波長多重化を行う。電気信号ｘN-1、ｘN-2、・・・、ｘ0を、ｐａｓｓ／ｂｌｏｃｋゲート２０８に入力し、各波長の光のＯＮ／ＯＦＦを制御する。
【００５４】
部分積が２Ｘの場合は、Ｘの場合と比べて波長を１ビット左にシフトさせればよい。これはＸの２倍の値を取ることに対応する。
【００５５】
部分積が−Ｘの場合は、Ｘの補数を用いればよい。つまりｐａｓｓ／ｂｌｏｃｋゲート２０９を用いればよい。この場合、２Ｎ−１桁まで符号拡張を行う必要がある。部分積が−２Ｘの場合は、−Ｘの場合と比べて波長を１ビット左にシフトさせればよい。これは−Ｘの２倍の値を取ることに対応する。
【００５６】
以上の波長多重操作により、１６ビット×１６ビットの場合において、ブースの符号化回路の個数を、１６×９個から９個へ１／１６に削減することができる。
【００５７】
１６ビット×１６ビットの場合において、波長多重化と２次のブースの符号化を行った結果を図１３に示す。ブースの符号化後の部分積加算を行う際には、波長多重化した信号から特定の波長を取り出すことで、それぞれの桁の部分積加算を行うことが可能である。この場合の部分積加算は、波長の異なる光信号の加算になる。異波長光信号の加算は、異波長の光信号を合波し、合波した光信号をフォトダイオードにより電流に変換することで実現できる。ただしこの場合、波長多重によってブースの符号化回路の個数を削減しているため、波長多重を用いて複数乗算を同時処理することによる演算の高速化の効果は得られない。
【００５８】
以上に説明したように、本発明によれば、部分積を桁統合しながら加算して加算値を生成し、この加算値をアナログデジタル変換してデジタル値を生成し、デジタル値をデジタル加算するようにしたので、より高速に光乗算ができるようになる。
【００５９】
なお、本発明は以上に説明した実施の形態に限定されるものではなく、本発明の技術的思想内で、当分野において通常の知識を有する者により、多くの変形および組み合わせが実施可能であることは明白である。
【符号の説明】
【００６０】
１０１…部分積生成部、１０２…加算部、１０３…変換部、１０４…デジタル加算部。
【図１】
2019040225.tif 000007
【図２】
2019040225.tif 000008
【図３】
2019040225.tif 000009
【図４】
2019040225.tif 000010
【図５】
2019040225.tif 000011
【図６Ａ】
2019040225.tif 000012
【図６Ｂ】
2019040225.tif 000013
【図７Ａ】
2019040225.tif 000014
【図７Ｂ】
2019040225.tif 000015
【図８Ａ】
2019040225.tif 000016
【図８Ｂ】
2019040225.tif 000017
【図９】
2019040225.tif 000018
【図１０】
2019040225.tif 000019
【図１１】
2019040225.tif 000020
【図１２】
2019040225.tif 000021
【図１３】
2019040225.tif 000022
【図１４】
2019040225.tif 000023
【図１５】
2019040225.tif 000024
【図１６】
2019040225.tif 000025
【図１７】
2019040225.tif 000026