(57)【特許請求の範囲】
【請求項１】
ｎ（２≦ｎ，ｎは整数）行のパラレル入力にＥＸＯＲ演算を施してｎ行のパラレル出力を出力するパラレルプリコーダ回路であって、
ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう０列目のＥＸＯＲ回路と、
２ｋ（１≦ｋ≦ｎ／２，ｋは整数）行目のパラレル入力を一方の入力とし、ｋの値が１の場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル信号を他方の入力としてＥＸＯＲ演算を行なう２ｋ行目１列目のＥＸＯＲ回路と、
２ｋ−２＾（ｍ−１）（２≦ｍ≦ｈ−１，ｍは整数であって、ｈは、ｌｏｇ2ｎ＋１以上の最も小さい整数）が１以上の場合に、２ｋ行目ｍ−１列目のＥＸＯＲ回路の出力を一方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されている場合には前記２ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力を他方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には２ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行なう２ｋ行目ｍ列目のＥＸＯＲ回路と、
２ｋ−１行目のパラレル信号を一方の入力とし、２ｋ−２行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行なう２ｋ−１行目ｈ列目のＥＸＯＲ回路と、
ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させる前記ｎ行目の遅延回路と、
を備え、
１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とすること、
を特徴とするパラレルプリコーダ回路。
【請求項２】
ｎ（２≦ｎ，ｎは整数）行のパラレル入力にＥＸＯＲ演算を施してｎ行のパラレル出力を出力するパラレルプリコーダ回路であって、
複数の多入力のＥＸＯＲ回路の最大入力数をｒ（２≦ｒ，ｒは整数）とした場合、
ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう０列目のＥＸＯＲ回路と、
ｋ（１≦ｋ≦ｎ／ｒ，ｋは整数）が１の場合には前記０列目のＥＸＯＲ回路の出力と、２行目からｒ行目までのパラレル入力とのＥＸＯＲ演算を行い、ｋが１より大きい場合にはｒ×ｋ−ｒ＋１行目からｒ×ｋ行目までのパラレル入力のＥＸＯＲ演算を行なうｒ×ｋ行目１列目の多入力ＥＸＯＲ回路と、
ｒ×ｋ−ｐ×ｒ＾（ｍ−１）（２≦ｍ≦ｈ−１，ｍは整数であって、ｈはｌｏｇrｎ＋１以上の最も小さい整数，０≦ｐ≦ｒ−１，ｐは整数）が１以上の場合に、ｒ×ｋ−（ｒ−１）×ｒ＾（ｍ−１）行目からｒ×ｋ行目までの間のｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目の多入力ＥＸＯＲ回路の出力を入力とし、ｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目に多入力ＥＸＯＲ回路が配置されていない場合にはｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目に配置されている多入力ＥＸＯＲ回路の中で、最も大きい列番号を有する多入力ＥＸＯＲ回路の出力を入力としてＥＸＯＲ演算を行なうｒ×ｋ行目ｍ列目の多入力ＥＸＯＲ回路と、
ｒ×ｋ−１行目からｒ×ｋ−ｑ行目（１≦ｑ≦ｒ−１，ｑは整数）までのパラレル入力と、ｒ×ｋ−ｒ行目に配置されている多入力ＥＸＯＲ回路の中で、最も大きい列番号を有する多入力ＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行なうｒ×ｋ−ｑ行目ｈ列目の多入力ＥＸＯＲ回路と、
ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させる前記ｎ行目の遅延回路と、
を備え、
１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とすること、
を特徴とするパラレルプリコーダ回路。
【請求項３】
ｎ（２≦ｎ，ｎは整数）行のパラレル入力にＥＸＯＲ演算を施してｎ行のパラレル出力を出力するパラレルプリコーダ回路であって、
ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう０列目のＥＸＯＲ回路と、
ｋ（２≦ｋ≦ｎ，ｋは整数）行目のパラレル入力を一方の入力とし、ｋの値が２の場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が２より大きい場合にはｋ−１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なうｋ行目１列目のＥＸＯＲ回路と、
ｋ−２＾（ｍ−１）（２≦ｍ≦ｈ，ｍは整数であって、ｈは、ｌｏｇ2ｎ以上の最も小さい整数）が１以上の場合に、ｋ行目ｍ−１列目のＥＸＯＲ回路の出力と、ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力とを入力とし、ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には、ｋ行目ｍ−１列目のＥＸＯＲ回路の出力と、ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行なうｋ行目ｍ列目のＥＸＯＲ回路と、
ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させる前記ｎ行目の遅延回路と、
を備え、
１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とすること、
を特徴とするパラレルプリコーダ回路。
【請求項４】
ｎ（２≦ｎ，ｎは整数）行のパラレル入力にＥＸＯＲ演算を施してｎ行のパラレル出力を出力するパラレルプリコーダ回路であって、
前記複数の多入力のＥＸＯＲ回路の最大入力数をｒ（２≦ｒ，ｒは整数）とした場合、
ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう０列目のＥＸＯＲ回路と、
ｋ−ｑ（２≦ｋ≦ｎ，０≦ｑ≦ｒ−１，ｋおよびｑはともに整数）が１の場合には、前記０列目のＥＸＯＲ回路の出力と、２行目からｋ行目までの間のｋ−ｑ行目のパラレル入力とを入力としてＥＸＯＲ演算を行い、ｋ−ｑが１より大きい場合には、ｋ−ｒ＋１行目からｋ行目までの間のｋ−ｑ行目のパラレル入力を入力としてＥＸＯＲ演算を行なうｋ行１列目の多入力ＥＸＯＲ回路と、
ｋ−ｐ×ｒ＾（ｍ−１）（２≦ｍ≦ｈ，ｍは整数であって、ｈはｌｏｇrｎ以上の最も小さい整数，０≦ｐ≦ｒ−１，ｐは整数）が１以上の場合に、ｋ−（ｒ−１）×ｒ＾（ｍ−１）行目からｋ行目までの間のｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目の多入力ＥＸＯＲ回路の出力を入力とし、ｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目に多入力ＥＸＯＲ回路が配置されてない場合には、ｋ−ｐ×ｒ＾（ｍ−１）行目に配置されている多入力ＥＸＯＲ回路の中で、最も大きい列番号を有する多入力ＥＸＯＲ回路の出力を入力としてＥＸＯＲ演算を行なうｋ行目ｍ列目の多入力ＥＸＯＲ回路と、
ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させる前記ｎ行目の遅延回路と、
を備え、
１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とすること、
を特徴とするパラレルプリコーダ回路。
【請求項５】
ｎ（２≦ｎ，ｎは整数）行のパラレル入力にＥＸＯＲ演算を施してｎ行のパラレル出力を出力するパラレルプリコーダ回路であって、
ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう０列目のＥＸＯＲ回路と、
２ｋ（１≦ｋ≦ｎ／２，ｋは整数）行目のパラレル入力を一方の入力と、ｋの値が１である場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう２ｋ行目１列目のＥＸＯＲ回路と、
（２＾ｍ）×ｋ−２＾（ｍ−１）（２≦ｍ≦ｈｈ，ｍは整数であって、ｈｈは、最終列ｈ＝２×ｈｈ−１を満たし、かつｌｏｇ2ｎ以上の最も小さい整数）が１以上であって、かつ（２＾ｍ）×ｋがｎ以下の場合、（２＾ｍ）×ｋ行目ｍ−１列目のＥＸＯＲ回路の出力と、（２＾ｍ）×ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行なう（２＾ｍ）×ｋ行目ｍ列目のＥＸＯＲ回路と、
ｍの値がｈｈ以上であってかつ２×ｈｈ−１以下の場合に、２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）行目（１≦ｋｋ，ｋｋは整数）に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力と、２＾ｈｈ−２ｋｋ×２＾（２ｈｈ−ｍ−１）行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行なう２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）行目ｍ列目のＥＸＯＲ回路と、
ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させる前記ｎ行目の遅延回路と、
を備え、
１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とすること、
を特徴とするパラレルプリコーダ回路。
【請求項６】
ｉ（１≦ｉ≦ｎ−１）〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させるｉ〜ｎ−１行目の遅延回路、
をさらに備え、
前記ｉ〜ｎ−１行目の遅延回路の出力をｉ〜ｎ−１行目のパラレル出力とすること、
を特徴とする請求項１〜５の何れか一つに記載のパラレルプリコーダ回路。
【請求項７】
１〜ｎ行目のパラレル入力とｎ行目の遅延回路の出力とを入力としてＥＸＯＲ演算を行なった結果を前記ｎ行目の遅延回路および前記０列目のＥＸＯＲ回路の一方の入力に出力する多入力のＥＸＯＲ回路、
をさらに備え、
前記０列目のＥＸＯＲ回路は、
前記ｎ行目の遅延回路の出力の代わりに前記多入力のＥＸＯＲ回路の出力を用いてＥＸＯＲ演算を行なうこと、
を特徴とする請求項１〜６の何れか一つに記載のパラレルプリコーダ回路。
【請求項８】
前記多入力のＥＸＯＲ回路に自回路の出力を所定の段数分遅延させる遅延回路を備えた場合には、前記所定の段数分の遅延と等しく１〜ｎ−１行目のパラレル入力信号を遅延させる遅延回路を備えること、
を特徴とする請求項７に記載のパラレルプリコーダ回路。
【請求項９】
１〜ｎ−１行目に配置される全てのＥＸＯＲ回路の中で、１〜ｎ−１行目ｊ（１≦ｊ≦ｈ，ｈは１〜ｎ−１行目に配置される全てのＥＸＯＲ回路の中で最も大きい行番号であって、ｊ，ｈはともに整数）行目までに配置されているＥＸＯＲ回路と、１〜ｎ−１行目ｊ＋１行目以降に配置されているＥＸＯＲ回路との間に配置され、信号を任意の段数分遅延させる遅延回路と、
前記ｎ行目の遅延回路の後段に、前記任意の段数分の遅延と等しく信号を遅延させる遅延回路と、
をさらに備えることを特徴とする請求項１〜８の何れか一つに記載のパラレルプリコーダ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パラレル入力にＥＸＯＲ演算を施してパラレル出力するパラレルプリコーダ回路に関するものである。
【背景技術】
【０００２】
近年、光通信システムにおいて、中継距離拡大および伝送速度を高速化する技術として、光デュオバイナリ変調方式や差動位相偏移変調（ＤＰＳＫ：Differential Phase Shift Keying）方式が脚光を浴びている。
【０００３】
光デュオバイナリ方式は、デュオバイナリ信号を適用することで信号のスペクトルが狭帯域化され、波長分散による信号の劣化を抑えることができる。また、信号のキャリア周波数成分が減少するため、誘導ブリルアン散乱による信号の劣化を抑制する効果もある。
【０００４】
デュオバイナリ方式は、通信工学ではパーシャルレスポンス（１、１）方式に分類され、送受信系の回路は、プリコーダ、エンコーダ、およびデコーダを備えている。プリコーダは、入力信号と、プリコーダの出力信号を１ビット遅延させた１ビット遅延フィードバック信号との排他的論理和（Ｅｘｃｌｕｓｉｖｅ  ＯＲ：以下、ＥＸＯＲとする）の演算結果を出力する。エンコーダは、プリコーダの出力信号と、プリコーダの出力信号を１ビット遅延させた１ビット遅延信号とを加算して出力する。デコーダは、エンコーダの出力
を用いてモジュロ２計算を行なう。また、このプリコーダ回路は、差動位相偏移変調方式において、通信すべき“１”および“０”の情報を、連続して送信される２シンボル間の位相差に変換する差動符号化器としても使用される。
【０００５】
光デュオバイナリ方式では、エンコーダの機能はローパスフィルタで実現し、デコーダの機能はフォトディテクタなど実現することが多い。すなわち、エンコーダおよびデコーダは、個別のアナログ部品や光素子で実現されることが多い。一方、プリコーダは論理回路を用いるのが一般的である。
【０００６】
光通信における伝送速度Ｆ［Ｈｚ］は、１０Ｇｂ／ｓ、４０Ｇｂ／ｓと超高速化されている。そのため、信号を伝送速度Ｆに合わせて、１ビットシリアルデータのまま処理するシリアルプリコーダ回路を用いた場合、使用するＥＸＯＲ回路の動作速度への要求が非常に厳しくなるという問題があった。
【０００７】
また、伝送速度Ｆが高速になると、１ビットあたりのクロック単位時間が短くなることから１ビット遅延を実現する回路のタイミング調整も困難になるという問題があった。
【０００８】
このような問題を改善するために、従来のデュオバイナリ方式を用いた送受信系では、入力信号をシリアル−パラレル変換して並列化し、パラレルプリコーダ回路で処理を行なうことで、プリコーダの機能を実現する回路に対する動作速度の要求を低下させるようにしている。
【０００９】
パラレルプリコーダ回路の従来技術として、特許文献１および２がある。特許文献１に記載の従来のパラレルプリコーダ回路は、ｎ（２≦ｎ，ｎは整数）ビットの並列化を行う場合、まずプリコーダへの入力を分離回路に入力し、シリアル−パラレル変換を施すか、フレーマなどの前段回路からのパラレル信号を直接利用するかして、ｎビットのパラレル信号ｓk(i)（１＜i≦ｎ，ｉは整数）に展開して、ｓk（i）をｎ個の２入力ＥＸＯＲ回路入力の一方に接続する。つぎにこのｋ番目（１≦ｋ≦ｎ−１，ｋは整数）のＥＸＯＲ回路の出力ｔk（i）を、ｋ＋１番目のＥＸＯＲ回路の他方の入力に接続してＥＸＯＲ回路を縦続接続する。またｎ番目のＥＸＯＲ回路の出力をパラレルプリコーダ回路の動作速度Ｆ／ｎ［Ｈｚ］で１クロック遅延させて、１番目のＥＸＯＲ回路の他方の入力に接続する。最後にｎ個のＥＸＯＲ回路の出力を多重回路でパラレル−シリアル変換して出力する。このように並列展開したパラレルプリコーダ回路は、２入力ＥＸＯＲ回路および１クロック遅延回路の一組からなるシリアルプリコーダ回路と等価に動作する。
【００１０】
特許文献２に記載の従来のパラレルプリコーダ回路は、上記特許文献１に記載のパラレルプリコーダ回路と同様にＥＸＯＲ回路が縦続接続されており、分岐させたパラレル入力信号を多入力のＥＸＯＲ回路に入力し、その出力を和分変換回路に入力する。和分変換回路はＥＸＯＲ回路と１クロック遅延手段を有し、ＥＸＯＲ回路の出力が１クロック遅延手段の入力に、１クロック遅延回路の出力がＥＸＯＲ回路の一方の入力にフィードバックされる。和分変換回路の出力は分岐されて、１番目のＥＸＯＲの一方の入力にも接続される。縦続接続されたＥＸＯＲ回路の出力と和分変換回路の出力を時分割多重手段で多重化して出力する。このような構成のパラレルプリコーダ回路も、シリアルプリコーダ回路と等価な動作を実現する。
【００１１】
【特許文献１】特開平１１−１２２２０５号公報
【特許文献２】特許第３４７４７９４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献１に記載の従来のパラレルプリコーダ回路は、１クロック遅延回路からｎ個のＥＸＯＲ回路全てを通り１クロック遅延回路にフィードバック入力される経路が、回路の動作速度の上限を決定する最大遅延経路となる。すなわち、信号は、動作速度Ｆ／ｎでの１クロック単位時間ｎ／Ｆ［秒］内に、ｎ段に直結されたＥＸＯＲ回路に伝搬されなければならない。そのため、入力信号をｎビットに並列展開しているが、一つのＥＸＯＲ回路に許容される遅延時間は１／ｎとなるので、個々のＥＸＯＲ回路はＦ［Ｈｚ］で動作しなければならず、並列化の効果を十分に得ることができないという問題があった。
【００１３】
一般的には、最大遅延経路内の組合せ回路（この場合は、ＥＸＯＲ回路）の数を減少させるために、組合せ回路間にフリップフロップ回路を挿入するパイプライン手法を用いることができる。しかしながら、上記特許文献１に記載のパラレルプリコーダ回路においては、最大遅延経路が、１クロック遅延回路からｎ個のＥＸＯＲ回路を全て通って再度１クロック遅延回路に入力されるフィードバックループであるため、パイプライン手法を用いることができない。
【００１４】
また、上記特許文献２に記載の従来のパラレルプリコーダ回路は、フィードバック部分の含まれるＥＸＯＲ回路の段数を１段に減らすことで、ＥＸＯＲ回路の動作速度への要求をＦ／ｎ［Ｈｚ］に緩和している。しかしながら、パラレルプリコーダ回路の出力を生成するため、縦続接続したｎに比例するＥＸＯＲ回路部分が残る。この縦続接続したＥＸＯＲ回路からのパラレル出力信号同士のタイミングを合わせるために、たとえば、パイプライン方式を適用すると、ｎの２乗規模のフリップフロップが必要になり、回路規模が大きくなってしまうという問題があった。
【００１５】
また、上記特許文献１および２に記載の従来のパラレルプリコーダ回路とは異なるが、パラレル信号内で下位の桁のＥＸＯＲ回路の出力を利用せずに、パラレルプリコーダ回路の出力信号各々を、並列展開された入力信号から生成する回路構成もある。この回路構成では、最大遅延経路のＥＸＯＲ回路の段数を下げることができる。しかしながら、このような回路構成にした場合、ＥＸＯＲ回路のゲート数、並びに信号線を分岐するＦＡＮ  ＯＵＴ数および配線長が大きくなり、回路サイズがｎの２乗に比例して大きくなるという問題があった。
【００１６】
本発明は、上記に鑑みてなされたものであって、回路規模の増大を抑制するとともに、最大遅延経路の遅延を低減して高速に動作するパラレルプリコーダ回路を得ることを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するために、本発明は、ｎ（２≦ｎ，ｎは整数）行のパラレル入力にＥＸＯＲ演算を施してｎ行のパラレル出力を出力するパラレルプリコーダ回路であって、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行なう０列目のＥＸＯＲ回路と、２ｋ（１≦ｋ≦ｎ／２，ｋは整数）行目のパラレル入力を一方の入力とし、ｋの値が１の場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル信号を他方の入力としてＥＸＯＲ演算を行なう２ｋ行目１列目のＥＸＯＲ回路と、２ｋ−２＾（ｍ−１）（２≦ｍ≦ｈ−１，ｍは整数であって、ｈは、ｌｏｇ2ｎ＋１以上の最も小さい整数）が１以上の場合に、２ｋ行目ｍ−１列目のＥＸＯＲ回路の出力を一方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されている場合には前記２ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力を他方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には２ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行なう２ｋ行目ｍ列目のＥＸＯＲ回路と、２ｋ−１行目のパラレル信号を一方の入力とし、２ｋ−２行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行なう２ｋ−１行目ｈ列目のＥＸＯＲ回路と、ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させる前記ｎ行目の遅延回路と、を備え、１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とすること、を特徴とする。
【発明の効果】
【００１８】
この発明によれば、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、２ｋ（１≦ｋ≦ｎ／２，ｋは整数）行目１列目のＥＸＯＲ回路は、ｋ行目のパラレル入力を一方の入力とし、ｋの値が１の場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル信号を他方の入力としてＥＸＯＲ演算を行い、２ｋ行目ｍ（２≦ｍ≦ｈ−１，ｍは整数であって、ｈは、ｌｏｇ2ｎ＋１以上の最も小さい整数）列目のＥＸＯＲ回路は、２ｋ−２＾（ｍ−１）が１以上の場合に、２ｋ行目ｍ−１列目のＥＸＯＲ回路の出力を一方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されている場合には前記２ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力を他方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には２ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行ない、２ｋ−１行目ｈ列目のＥＸＯＲ回路は、２ｋ−１行目のパラレル信号を一方の入力とし、２ｋ−２行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行ない、ｎ行目の遅延回路は、ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させて、１〜ｎ−１行目に配置されているＥＸＯＲ回路の中で、それぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、前記ｎ行目の遅延回路の出力をｎ行目のパラレル出力とするようにしている。
【００１９】
すなわち、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるようにしているので、回路規模を抑制しつつ、ＥＸＯＲ回路に要求される動作速度を緩和することができるパラレルプリコーダ回路を得ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明にかかるパラレルプリコーダ回路の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００２１】
実施の形態１．
図１〜図８を参照してこの発明にかかる実施の形態１を説明する。この発明にかかる実施の形態１のパラレルプリコーダ回路は、ｎ（２≦ｎ，ｎは整数）ビットのパラレル入力Ｉ1〜Ｉnからパラレル出力Ｏ1〜Ｏnを算出する。
【００２２】
この実施の形態１のパラレルプリコーダ回路は、２入力の排他的論理和（以下、ＥＸＯＲとする）１ａ（１ａ−（ｉ，ｊ）を示す）回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路１ｂ（１ｂ−１〜１ｂ−ｎを示す）とを備えている。なお、単位時間とは、パラレルプリコーダ回路の動作速度の逆数であり、伝送速度をＦ［Ｈｚ］とすると、単位時間は、「ｎ／Ｆ」［秒］となる。ＥＸＯＲ回路１ａおよび遅延回路１ｂは、後述する網構成で接続される。
【００２３】
ＥＸＯＲ回路１ａ−（ｉ，ｊ）は、ｉ行目、ｊ列目に配置される。ここで、ｉ行目のＥＸＯＲ回路とは、パラレル入力Ｉiから遅延回路１ｂ−ｉを結ぶ信号経路に配置されるＥＸＯＲ回路を示す。また、ｊ列目のＥＸＯＲ回路とは、遅延回路１ｂ−ｎの出力とパラレル入力Ｉ1とが入力されるＥＸＯＲ回路を０列目と定義し、偶数行（２≦ｉ，ｉは偶数）のパラレル入力Ｉiから数えてｊ個目のＥＸＯＲ回路をｊ列目のＥＸＯＲ回路とし、１行以外の奇数行の遅延回路１ｂ−ｉの前段に配置されるＥＸＯＲ回路を最終列に配置されるＥＸＯＲ回路とする。この実施の形態１においては、最終列ｈは、（ｌｏｇ2ｎ）＋１以上の最も小さい整数とする。たとえば、ビット数ｎが「７」であれば、最終列ｈは「４」となる。
【００２４】
図１は、「ビット数ｎ＝８」の場合の、この発明にかかる実施の形態１のパラレルプリコーダ回路の構成を示す図である。図１において、パラレルプリコーダ回路は、ＥＸＯＲ回路１ａ（１ａ−（１，０），１ａ−（２，１），１ａ−（４，１），１ａ−（６，１），１ａ−（８，１），１ａ−（４，２），１ａ−（６，２），１ａ−（６，３），１ａ−（８，２），１ａ−（８，３），１ａ−（３，４），１ａ−（５，４），１ａ−（７，４）を示す）と、遅延回路（図中では、Ｄ）１ｂ（１ｂ−１〜１ｂ−８を示す）とを備えている。
【００２５】
図１においては、ＥＸＯＲ回路１ａ−（１，０）が１行目０列目に配置され、ＥＸＯＲ回路１ａ−（２，１）が２行目１列目に配置され、ＥＸＯＲ回路１ａ−（４，１）が４行目１列目に配置され、ＥＸＯＲ回路１ａ−（６，１）が６行目１列目に配置され、ＥＸＯＲ回路１ａ−（８，１）が８行目１列目に配置され、ＥＸＯＲ回路１ａ−（４，２）が４行目２列目に配置され、ＥＸＯＲ回路１ａ−（６，２）が６行目２列目に配置され、ＥＸＯＲ回路１ａ−（６，３）が６行目３列目に配置され、ＥＸＯＲ回路１ａ−（８，２）が８行目２列目に配置され、ＥＸＯＲ回路１ａ−（８，３）が８行目３列目に配置され、ＥＸＯＲ回路１ａ−（３，４）が３行目４列目に配置され、ＥＸＯＲ回路１ａ−（５，４）が５行目４列目に配置され、ＥＸＯＲ回路１ａ−（７，４）が７行目４列目に配置され、４列目が最終列となっている。
【００２６】
つぎに、ＥＸＯＲ回路１ａおよび遅延回路１ｂを接続する網構成について説明する。偶数行目１列目、すなわち、２ｋ（２ｋ行、１≦ｋ≦ｎ／２，ｋは整数）行目１列目のＥＸＯＲ回路１ａ−（２ｋ，１）の一方の入力にパラレル入力Ｉ2kを接続し、他方の入力にパラレル入力Ｉ2k-1を接続する。ただし、２行目１列目のＥＸＯＲ回路１ａ−（２，１）の他方の入力には、パラレル入力Ｉ1の代わりに、１行目０列目のＥＸＯＲ回路１ａ−（１，０）の出力を接続する。
【００２７】
２ｋ行目ｍ列目（１≦ｍ≦ｈ−１）のＥＸＯＲ回路１ａ−（２ｋ，ｍ）の一方の入力にはＥＸＯＲ回路１ａ−（２ｋ−２＾（ｍ−１）、ｍ−１）の出力を接続し、他方の入力にはＥＸＯＲ回路１ａ−（２ｋ、ｍ−１）の出力を接続する。ただし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には、２ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を、ＥＸＯＲ回路１ａ−（２ｋ、ｍ）の一方の入力に接続する。なお、演算子「＾」は、べき乗を示している。
【００２８】
図１においては、ｋ＝３、ｍ＝３のＥＸＯＲ回路１ａ−（６，３）の一方の入力にはＥＸＯＲ回路１ａ−（２，１）の出力を接続し、他方の入力にはＥＸＯＲ回路１ａ−（６，２）の出力を接続する。
【００２９】
また、２ｋ−２＾（ｍ−１）が１より小さい場合、ＥＸＯＲ回路を配置しない。図１においては、ｋ＝２、ｍ＝３の位置、すなわち４行目３列目にはＥＸＯＲ回路は配置されない。
【００３０】
最終列に配置される２ｋ−１行目ｈ列目のＥＸＯＲ回路１ａ−（２ｋ−１，ｈ）の一方の入力にはパラレル入力Ｉ2k-1の出力を接続し、他方の入力には２ｋ−２行目に配置されたＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続する。ただし、最終列の１行目にはＥＸＯＲ回路を配置しない。図１においては、最終列は「４」であるので、ＥＸＯＲ回路１ａ−（５，４）の一方の入力には、パラレル入力Ｉ5を接続し、他方の入力にはＥＸＯＲ回路１ａ−（４，２）の出力を接続する。
【００３１】
２ｋ行目（偶数行目）の遅延回路１ｂ−２ｋの入力には、２ｋ行目に配置されたＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続する。図１においては、遅延回路１ｂ−４の入力にはＥＸＯＲ回路１ａ−（４，２）の出力を接続する。
【００３２】
また、２ｋ−１行目（奇数行目）の遅延回路１ｂ−（２ｋ−１）の入力には、最終列、すなわちｈ列目の２ｋ−１行目に配置されたＥＸＯＲ回路１ａ−（２ｋ−１，ｈ）の出力を接続する。ただし、１行目の遅延回路１ｂ−１の入力には、ＥＸＯＲ回路１ａ−（１，０）の出力を接続する。遅延回路１ｂ−ｉの出力がパラレル出力Ｏiとなる。
【００３３】
つぎに、ｎビットのパラレルコーダ回路が、デュオバイナリ方式に用いられるシリアルプリコーダ回路と等価であることを説明する。
【００３４】
図２は、一般的な光デュオバイナリ送受信系の回路の構成を示すブロック図である。図２において、光デュオバイナリ送受信系２０は、プリコーダ２１、エンコーダ２２、およびデコーダ２３を備えている。
【００３５】
プリコーダ２１は、シリアルプリコーダ回路であり、ＥＸＯＲ回路２５と、遅延回路（図中ではＤ）２６とを備えている。ＥＸＯＲ回路２５の一方の入力には入力信号ＩＮを接続し、他方の入力には遅延回路２６の出力ＤＯＵＴを接続する。ＥＸＯＲ回路の出力ＥＸＯは、遅延回路２６およびエンコーダ２２に接続される。すなわち、ＥＸＯＲ回路２５と遅延回路２６とで、フィードバックループを構成している。
【００３６】
遅延回路２６は、クロックに同期して動作するフリップフロップや、遅延調整されたディレイラインなどで構成され、ＥＸＯＲ回路２５の出力を１クロック単位時間遅延させる。たとえば、伝送路２７における伝送速度をＦ［Ｈｚ］とすると、１クロック単位時間は１／Ｆ［秒］となる。
【００３７】
エンコーダ２２は、プリコーダ２１の出力、すなわちＥＸＯＲ回路２５の出力ＥＸＯを反転させる反転回路２８と、反転回路２８の出力の高周波成分を除去するローパスフィルタ２１０と、プリコーダ２１の出力の高周波成分を除去するローパスフィルタ２９と、光光源２１２から発する光をローパスフィルタ２９，２１０の出力によって変調するマッハツェンダー変調器２１１を備えている。
【００３８】
デコーダ回路２３は、たとえば、“０”を光信号なし、“１”を光信号ありとして、伝送路２７から入力される光信号の２値検出を行なう光受信機２１３と、光受信機２１３の出力を反転させる反転回路２１４とを備えている。デコーダ２３を通過すると、入力信号ＩＮは出力信号ＯＵＴとして復元される。なお、エンコーダ２２およびデコーダ２３の構成は、図２に示した構成以外にも様々あるが、プリコーダ２１が行うべき処理はエンコーダ２２およびデコーダ２３の構成に依存しない。
【００３９】
図３は、図２に示したプリコーダ２１の動作を説明するためのタイミングチャートである。図３において、プリコーダ２１は１単位時間を１周期とする動作クロックＣＫによって動作しており、時刻Ｔ０におけるＥＸＯＲ回路２５の出力ＥＸＯおよび遅延回路２６の出力ＤＯＵＴは“０”（図中では、“Ｌ”）となっている。２入力のＥＸＯＲ回路２５は、双方の入力が “１”（図中では“Ｈ”）、または “０”である場合に出力ＥＸＯを“０”にし、一方の入力が“１”、他方の入力が“０”である場合に出力ＥＸＯを“１”にする。たとえば、時刻ｔ１においては、入力信号ＩＮと遅延回路２６のＤＯＵＴとがともに“０”であるので、ＥＸＯＲ回路２５は出力ＥＸＯを“０”にする。
【００４０】
図３において、プリコーダ２１の入力（ＥＸＯＲ回路２５の一方の入力）には、時刻ｔ０から１単位時間周期で順に、入力信号ＩＮとして “０１００１０１１１０００１１０１０１０１１００００１０１１０１１１１”が入力され、時刻ｔ１から、プリコーダ２１の出力としてＥＸＯＲ回路２５は出力ＥＸＯを“１１１００１０１１１１０１１００１１０１１１１１００１００１０１０”にする。
【００４１】
プリコーダ２１の出力は、プリコーダ２１に入力される入力信号ＩＮを順次ＥＸＯＲ演算して加えていった値になる。時刻ｔにおけるＥＸＯＲ回路２５の出力ＥＸＯは、ある時点でのＥＸＯＲ回路２５の出力ＥＸＯまたは遅延回路２６の出力ＤＯＵＴと、その時点から時刻ｔまでのプリコーダ２１に入力される全ての信号を、多入力のＥＸＯＲ回路に入力して加えた値に等しい。
【００４２】
ｎ入力ＥＸＯＲ回路の出力は、入力される“１”の個数が奇数の場合“１”、入力される“１”の個数が偶数の場合“０”となる。たとえば、図３において、時刻ｔ０における遅延回路２６の出力ＤＯＵＴは“０”であり、時刻ｔ０から時刻ｔ８までのプリコーダ２１の入力信号ＩＮは“０１００１０１１１”であり、“１”の個数は奇数である。時刻ｔ０から時刻ｔ８までの入力信号ＩＮを多入力ＥＸＯＲ回路に入力した場合の出力は“１”となり、図３における時刻ｔ８のＥＸＯＲ回路２５の出力信号ＥＸＯ“１”と等しくなる。
【００４３】
また、時刻ｔ０における遅延回路２６の出力ＤＯＵＴは“０”であり、時刻ｔ０から時刻ｔ１６までのプリコーダ２１の入力信号ＩＮは“０１００１０１１１０００１１０１０”であり、“１”の個数は偶数である。時刻ｔ０から時刻ｔ１６までの入力信号ＩＮを多入力ＥＸＯＲ回路に入力した場合の出力は“０”となり、図３における時刻ｔ１６のＥＸＯＲ回路２５の出力“０”と等しくなる。
【００４４】
図４は、この発明にかかる実施の形態１のパラレルプリコーダ回路が適用されるデュオバイナリ信号パラレルプリコーダ回路の構成を示すブロック図である。図４に示したデュオバイナリ信号パラレルプリコーダ回路はシリアルプリコーダ回路と等価に動作する。図４において、デュオバイナリ信号パラレルプリコーダ回路は、パラレルプリコーダ回路４１の前段に分離回路４２を備え、パラレルプリコーダ回路４１の後段に多重回路４３を備える。なお、パラレルプリコーダ回路４１前段に配置される図示しないフレーマなどの処理回路の出力や、後段の図示しないエンコーダの入力が並列化されている場合には、分離回路４２、多重回路４３を配置する必要はない。
【００４５】
分離回路４２は、シリアル入力Ｉｓ（ｔ）にシリアル−パラレル変換を施してｎビットのパラレル出力信号、すなわちパラレルプリコーダ回路４１に対するパラレル入力信号Ｉ1（Ｔ）〜Ｉn（Ｔ）を生成する。
【００４６】
パラレルプリコーダ回路４１は、パラレル入力信号Ｉ1（Ｔ）〜Ｉn（Ｔ）からパラレル出力信号Ｏ1（Ｔ）〜Ｏn（Ｔ）を算出する。多重回路４３は、パラレルプリコーダ回路４１によって算出されたパラレル出力信号Ｏ1（Ｔ）〜Ｏn（Ｔ）にパラレル−シリアル変換を施してシリアル出力信号Ｏｓ（ｔ）として出力する。
【００４７】
ここで、パラレル入力信号Ｉ1（Ｔ）〜Ｉn（Ｔ）は、シリアル伝送した場合に、パラレル入力信号Ｉ1（Ｔ）、パラレル入力信号Ｉ2（Ｔ）、…、パラレル入力信号Ｉn（Ｔ）の順に時系列に古いデータ、すなわち先に送られるデータである。また、パラレル出力信号Ｏ1（Ｔ）〜Ｏn（Ｔ）は、シリアル伝送した場合に、パラレル出力信号Ｏ1（Ｔ）、パラレル出力信号Ｏ2（Ｔ）、…、パラレル出力信号Ｏn（Ｔ）の順に時系列的に古いデータ、すなわち先に出力されるデータである。
【００４８】
シリアル入力信号Ｉｓ（ｔ）およびシリアル出力信号Ｏｓ（ｔ）は、伝送速度Ｆ［Ｈｚ］のクロック、すなわち１／Ｆ［秒］周期のクロックに同期して入力または出力される。換言すれば、パラレルプリコーダ回路４１は動作クロックＴ＝Ｆ／ｎ［Ｈｚ］で動作する。
【００４９】
ｎビット並列化を行なう場合、上記の定義より、パラレルプリコーダ回路４１の動作クロックＴにおける１クロック前のパラレル出力信号Ｏn（Ｔ）の中で、シリアル伝送した場合に最も新しいデータはＯn（Ｔ−１）である。上述したプリコーダ出力の性質から、パラレルプリコーダ回路４１の、あるパラレル出力信号Ｏi（Ｔ）は、パラレル出力信号Ｏn（Ｔ−１）と、パラレル入力信号Ｉ1（Ｔ）からパラレル入力信号Ｉi-1（Ｔ）までをＥＸＯＲ演算することにより得られる。
【００５０】
ｎビットのパラレル出力信号Ｏ1（Ｔ）〜Ｏn（Ｔ）を算出するパラレルプリコーダ回路４１の１ビット目のパラレル出力信号Ｏ1は、ＥＸＯＲ演算子を＊と表記すると、
Ｏ1（Ｔ）＝Ｏn（Ｔ−１）＊Ｉ1（Ｔ）
で表すことができ、２ビット目のパラレル出力信号Ｏ2は、
Ｏ2（Ｔ）＝Ｏn（Ｔ−１）＊Ｉ1（Ｔ）＊Ｉ2（Ｔ）
で表すことができ、ｎ−１ビット目のパラレル出力信号Ｏn-1は、
Ｏn-1（Ｔ）＝Ｏn（Ｔ−１）＊Ｉ1（Ｔ）＊Ｉ2（Ｔ）＊…＊Ｉn-1（Ｔ）
で表すことができ、ｎビット目のパラレル出力信号Ｏnは、
Ｏn（Ｔ）＝Ｏn（Ｔ−１）＊Ｉ1（Ｔ）＊Ｉ2（Ｔ）＊…＊Ｉn-1（Ｔ）＊Ｉn（Ｔ）
で表すことができる。
【００５１】
すなわち、ｎビットのパラレル出力信号Ｏ1（Ｔ）〜Ｏn（Ｔ）を算出するパラレルプリコーダ回路４１のｉビット目のパラレルプリコーダ回路４１のパラレル出力信号Ｏｉ（Ｔ）は、ＥＸＯＲ演算子を＊と表記すると、
Ｏi（Ｔ）＝Ｏn（Ｔ−１）＊Ｉ1（Ｔ）＊Ｉ2（Ｔ）＊…＊Ｉi（Ｔ）      …式（１）
で表すことができる。
【００５２】
図５のタイミングチャートを参照して、図４に示したデュオバイナリ信号パラレルプリコーダ回路の動作を説明する。図５においては、８ビット（ｎ＝８）の並列化を行った場合を示しており、パラレルプリコーダ回路の動作クロックＴの周期は、伝送路クロックｔの８周期分、すなわち８ｔであり、図中ではＴ０〜Ｔ４で示している。また、動作クロックＴ２の立ち上がり（時刻ｔ０〜時刻ｔ１６）までのパラレルプリコーダ回路４１のパラレル出力信号Ｏ1（Ｔ）〜Ｏ8（Ｔ）は、すべて“０”（図中では“Ｌ”）であるものとする。
【００５３】
まず、分離回路４２は、シリアル入力信号Ｉｓ（ｔ）にシリアル−パラレル変換を施して、８ビットパラレル入力信号Ｉ1（Ｔ）〜Ｉ8（Ｔ）に変換する。図５においては、時刻ｔ８において、時刻ｔ０におけるシリアル入力信号Ｉｓ（０）の“０”がパラレル入力信号Ｉ1（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ１におけるシリアル入力信号Ｉｓ（１）の“１”がパラレル入力信号Ｉ2（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ２におけるシリアル入力信号Ｉｓ（２）の“０”がパラレル入力信号Ｉ3（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ３におけるシリアル入力信号Ｉｓ（３）の“０”がパラレル入力信号Ｉ4（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ４におけるシリアル入力信号Ｉｓ（４）の“１”がパラレル入力信号Ｉ5（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ５におけるシリアル入力信号Ｉｓ（５）の“０”がパラレル入力信号Ｉ6（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ６におけるシリアル入力信号Ｉｓ（６）の“１”がパラレル入力信号Ｉ7（Ｔ１）としてパラレルプリコーダ回路４１に入力され、時刻ｔ７におけるシリアル入力信号Ｉｓ（７）の“１”がパラレル入力信号Ｉ8（Ｔ１）としてパラレルプリコーダ回路４１に入力される。
【００５４】
時刻ｔ８においては、パラレルプリコーダ回路は、上記式（１）に従って８ビットのパラレル出力信号Ｏ1（Ｔ）〜Ｏ8（Ｔ）の演算を開始する。具体的には、１ビット目のパラレル出力信号Ｏ1（Ｔ）は、上記式（１）においてｉ＝１、ｎ＝８であるので、
Ｏ1（Ｔ）＝Ｏ8（Ｔ−１）＊1（Ｔ）＝０＊０
により“０”となり、２ビット目のパラレル出力信号Ｏ2（Ｔ１）は、上記式（１）においてｉ＝２、ｎ＝８であるので、
Ｏ2（Ｔ）＝Ｏ8（Ｔ−１）＊Ｉ1（Ｔ）＊Ｉ2（Ｔ）＝０＊０＊１
により“１”となる。同様にして、式（１）のｉに，３，４，５，６，７、８を代入してパラレル出力信号Ｏ3（Ｔ）〜Ｏ8（Ｔ）の演算を行なうと、３ビット目のパラレル出力信号Ｏ3（Ｔ）は“１”となり、４ビット目のパラレル出力信号Ｏ4（Ｔ）は“１”となり、５ビット目のパラレル出力信号Ｏ5（Ｔ）は“０”となり、６ビット目のパラレル出力信号Ｏ6（Ｔ）は“０”となり、７ビット目のパラレル出力信号Ｏ7（Ｔ）は“１”となり、８ビット目のパラレル出力信号Ｏ8（Ｔ）は“０”となる。
【００５５】
パラレルプリコーダ回路４１は、時刻ｔ１６においては、時刻ｔ８から時刻ｔ１６までの間、すなわち動作クロックＴ１内に演算処理を行った結果を８ビットのパラレル出力信号Ｏ1（Ｔ）〜Ｏ8（Ｔ）に出力する。ここでは、パラレル出力信号Ｏ1（Ｔ）〜Ｏ8（Ｔ）に“０”、“１”、“１”、“１”、“０”、“０”、“１”、“０”を出力する。
【００５６】
多重回路４３は、パラレル出力信号Ｏ1（Ｔ）〜Ｏ8（Ｔ）にパラレル−シリアル変換を施して、時刻ｔ１６においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ1（Ｔ）である“０”を出力し、時刻ｔ１７においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ2（Ｔ）である“１”を出力し、時刻ｔ１８においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ3（Ｔ）である“１”を出力し、時刻ｔ１９においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ4（Ｔ）である“１”を出力し、時刻ｔ２０においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ5（Ｔ）である“０”を出力し、時刻ｔ２１においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ6（Ｔ）である“０”を出力し、時刻ｔ２２においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ7（Ｔ）である“１”を出力し、時刻ｔ２３においてシリアル出力信号Ｏｓ（ｔ）にパラレル出力信号Ｏ8（Ｔ）である“０”を出力する。
【００５７】
図４に示したデュオバイナリ信号パラレルプリコーダ回路は、時刻ｔ０からシリアル入力信号Ｉｓ（ｔ）に“０１００１０１１１０００１１０１０１０…”が入力されると、時刻１７からシリアル出力信号Ｏｓ（ｔ）として “１１１００１０１１１１０１１００１１…”を出力する。したがって、図３に示した並列化前のプリコーダ回路の動作と、図４に示したデュオバイナリ信号パラレルプリコーダ回路とが等しいことがわかる。
【００５８】
以上に説明したように、上記式（１）を満たすようにパラレルプリコーダ回路を設計すれば、並列化したデュオバイナリ送受信系のプリコーダ回路を実現することができる。
【００５９】
つぎに、先の図１に示したこの発明にかかる実施の形態１のパラレルプリコーダ回路が、上記式（１）を満たすことを説明する。
【００６０】
１列目のＥＸＯＲ回路１ａ−（２ｋ，１）はパラレル入力Ｉ2kおよびパラレル入力Ｉ2k-1をＥＸＯＲ演算した結果を出力し、２列目のＥＸＯＲ回路１ａ−（２ｋ，２）はＥＸＯＲ回路１ａ−（２ｋ−２，１）およびＥＸＯＲ回路１ａ−（２ｋ，１）をＥＸＯＲ演算した結果を出力する。そのためＥＸＯＲ回路１ａ−（２ｋ，２）はパラレル入力Ｉ2k〜Ｉ2k-3の４入力をＥＸＯＲ演算した結果に等しい。
【００６１】
図１に示した８ビット並列のパラレルプリコーダ回路においては、１行目０列目のＥＸＯＲ回路１ａ−（１，０）の出力をＩＩ1とし、ＥＸＯＲ演算子を「＊」とすると、２行目１列目のＥＸＯＲ回路１ａ−（２，１）の出力ＥＸＯ１ａ−（２，１）は、
ＥＸＯ１ａ−（２，１）＝ＩＩ1＊Ｉ2      …式（２−１）
で表すことができ、４行目１列目のＥＸＯＲ回路１ａ−（４，１）の出力ＥＸＯ１ａ−（４，１）は、
ＥＸＯ１ａ−（４，１）＝Ｉ3＊Ｉ4      …式（２−２）
で表すことができ、６行目１列目のＥＸＯＲ回路１ａ−（６，１）の出力ＥＸＯ１ａ−（６，１）は、
ＥＸＯ１ａ−（６，１）＝Ｉ5＊Ｉ6      …式（２−３）
で表すことができ、８行目１列目のＥＸＯＲ回路１ａ−（８，１）の出力ＥＸＯ１ａ−（８，１）は、
ＥＸＯ１ａ−（８，１）＝Ｉ7＊Ｉ8      …式（２−４）
で表すことができる。以下、式（２−１）〜式（２−４）を式（２）ということがある。
【００６２】
また、４行目２列目のＥＸＯＲ回路１ａ−（４，２）の出力ＥＸＯ１ａ−（４，２）は、
ＥＸＯ１ａ−（４，２）＝ＥＸＯ１ａ−（２，１）＊ＥＸＯ１ａ−（４，１）
…式（３−１）
で表すことができ、６行目２列目のＥＸＯＲ回路１ａ−（６，２）の出力ＥＸＯ１ａ−（６，２）は、
ＥＸＯ１ａ−（６，２）＝ＥＸＯ１ａ−（４，１）＊ＥＸＯ１ａ−（６，１）
…式（３−２）
で表すことができ、８行目２列目のＥＸＯＲ回路１ａ−（８，２）の出力ＥＸＯ１ａ−（８，２）は、
ＥＸＯ１ａ−（８，２）＝ＥＸＯ１ａ−（６，１）＊ＥＸＯ１ａ−（８，１）
…式（３−３）
で表すことができる。式（３−１）〜式（３−３）は、式（２）により、
ＥＸＯ１ａ−（４，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4      …式（４−１）
ＥＸＯ１ａ−（６，２）＝Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6        …式（４−２）
ＥＸＯ１ａ−（８，２）＝Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8        …式（４−３）
となる。以下、式（４−１）〜式（４−３）を式（４）ということがある。
【００６３】
さらに、３列目のＥＸＯＲ回路１ａ−（２ｋ，３）はパラレル入力Ｉ2kおよびパラレル入力Ｉ2k-4をＥＸＯＲ演算した結果を出力する。ＥＸＯＲ回路１ａ−（２ｋ、３）の出力はパラレル入力Ｉ2k〜Ｉ2k-7をＥＸＯＲ演算した結果に等しく（図１においては、ＥＸＯＲ回路１ａ−（８，３）の出力に相当）、２ｋ−７が０以下であるなら（図１においてはＥＸＯＲ回路１ａ−（６，３）の出力に相当）パラレル入力Ｉ1〜Ｉ2k-7をＥＸＯＲ演算した結果に等しい。
【００６４】
図１においては、６行目３列目のＥＸＯＲ回路１ａ−（６，３）の出力ＥＸＯ１ａ−（６，３）は、
ＥＸＯ１ａ−（６，３）＝ＥＸＯ１ａ−（２，１）＊ＥＸＯ１ａ−（６，２）
…式（５−１）
で表すことができ、
８行目３列目のＥＸＯＲ回路１ａ−（８，３）の出力ＥＸＯ１ａ−（８，３）は、
ＥＸＯ１ａ−（８，３）＝ＥＸＯ１ａ−（４，２）＊ＥＸＯ１ａ−（８，２）
…式（５−２）
で表すことができる。式（５−１）および式（５−２）は、式（２）および式（４）より、
ＥＸＯ１ａ−（６，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6      …式（６−１）
ＥＸＯ１ａ−（８，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8
…式（６−２）
となる。以下、式（６−１）および式（６−２）を式（６）ということがある。
【００６５】
２ｋ行目にあるＥＸＯＲ回路１ａ−（２，１），１ａ−（４，２），１ａ−（６，３），１ａ−（８，３）の出力ＥＸＯ１ａ−（２，１），１ａ−（４，２），１ａ−（６，３），１ａ−（８，３）は、遅延回路１ｂ−２，１ｂ−４，１ｂ−６，１ｂ−８に入力されて１クロック遅延され、パラレル出力Ｏ2，Ｏ4，Ｏ6，Ｏ8となる。上記式（２）、式（４）、および式（６）に示すように、パラレル出力Ｏ2，Ｏ4，Ｏ6，Ｏ8は１クロック前のパラレル出力Ｏ8と、パラレル入力Ｉ1〜Ｉ8中で、時系列で前にあるパラレル入力Ｉ1〜Ｉ8全てをＥＸＯＲ演算したものであり、式（１）を満たしている。
【００６６】
さらに、奇数行の遅延回路１ｂ−（２ｋ−１）には、ＥＸＯＲ回路１ａ−（２ｋ−１，４）によりパラレル入力Ｉ2k-1と、上記の遅延回路１ｂ−２（ｋ−１）への入力とをＥＸＯＲ演算した結果を入力して１クロック遅延させたパラレル出力Ｏ3，Ｏ5，Ｏ7として出力する。
【００６７】
図１においては、３行目４列目のＥＸＯＲ回路１ａ−（３，４）の出力ＥＸＯ１ａ−（３，４）は、
ＥＸＯ１ａ−（３，４）＝ＥＸＯ１ａ−（２，１）＊Ｉ3      …式（７−１）
で表すことができ、５行目４列目のＥＸＯＲ回路１ａ−（５，４）の出力ＥＸＯ１ａ−（５，４）は、
ＥＸＯ１ａ−（５，４）＝ＥＸＯ１ａ−（４，２）＊Ｉ5      …式（７−２）
で表すことができ、７行目４列目のＥＸＯＲ回路１ａ−（７，４）の出力ＥＸＯ１ａ−（７，４）は、
ＥＸＯ１ａ−（７，４）＝ＥＸＯ１ａ−（６，３）＊Ｉ7      …式（７−３）
で表すことができる。式（７−１）〜式（７−３）は、式（２）、式（４）、および式（６）より、
ＥＸＯ１ａ−（３，４）＝ＩＩ1＊Ｉ2＊Ｉ3                          …式（８−１）
ＥＸＯ１ａ−（５，４）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5              …式（８−２）
ＥＸＯ１ａ−（７，４）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7    …式（８−３）
となる。以下、式（８−１）〜式（８−３）を式（８）ということがある。
【００６８】
上述した式（２）〜式（８）からわかるように、この発明にかかる実施の形態１のｎビットパラレルプリコーダ回路はシリアルプリコーダ回路と等価な回路となる。
【００６９】
なお、図１においてはｎ＝８の場合の構成を示したが、ＥＸＯＲ回路を実施の形態１に示すように帰納的に構成していくことにより、より多値幅に並列展開したパラレルプリコーダ回路を得ることができる。図６に、ｎ＝１６の場合の、パラレルプリコーダ回路の構成を示す。
【００７０】
また、並列展開のビット幅ｎは特に２のべき乗に限るものではない。たとえば、ｎ＝７の場合、図１の８行目のＥＸＯＲ回路１ａ−（８，１），１ａ−（８，２），１ａ−（８，３）および遅延回路１ｂ−８を削除し、遅延回路１ｂ−７の出力をＥＸＯＲ回路１ａ−（１，０）にフィードバックすれは、式（１）を満たすパラレルプリコーダ回路が得られる。
【００７１】
以上説明したように、この実施の形態１においては、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、２ｋ行目１列目のＥＸＯＲ回路は、２ｋ行目のパラレル入力を一方の入力とし、ｋの値が１の場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル信号を他方の入力としてＥＸＯＲ演算を行い、２ｋ行目ｍ列目のＥＸＯＲ回路は、２ｋ−２＾（ｍ−１）が１以上の場合に、２ｋ行目ｍ−１列目のＥＸＯＲ回路の出力を一方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されている場合には前記２ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力を他方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には２ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行ない、２ｋ−１行目ｈ列目のＥＸＯＲ回路は、２ｋ−１行目のパラレル信号を一方の入力とし、２ｋ−２行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行ない、１〜ｎ行目の遅延回路は、１〜ｎ行目それぞれに配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させて、１〜ｎ行目のパラレル出力とするようにしている。
【００７２】
すなわち、この実施の形態１のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。
【００７３】
具体的には、特許文献１に記載の従来のパラレルプリコーダ回路では、シリアル入力をｎビットに展開するとＥＸＯＲ回路でｎ段の遅延が生じるが、この発明の実施の形態１のパラレルプリコーダ回路では最大遅延経路は（ｌｏｇ2ｎ）＋１段に抑えることができる。たとえば、ｎ＝８では４段の遅延になり、ｎ＝１６では５段の遅延になる。
【００７４】
たとえば、伝送路クロックが４０Ｇｂｉｔ／秒の超高速の光通信の場合、回路の動作クロックが１６０ＭＨｚ、ｎ＝２５６といった非常に多値幅の並列展開が行われることがある。この場合、上記特許文献１に記載の従来のパラレルプリコーダ回路では、２５６段のＥＸＯＲ回路が１クロックで動作する必要があるのに対し、この発明の実施の形態１のパラレルプリコーダ回路では１クロックで動作するＥＸＯＲ回路の段数は、（ｌｏｇ2２５６）＋１＝９段にまで低減することができ、使用回路の動作速度への要求を緩和することができる。
【００７５】
また、この実施の形態１においては、ＥＸＯＲ回路をｎ行×ｌｏｇ2ｎ列の格子状に配置されているので、パラレルプリコーダ回路を構成するＥＸＯＲ回路の総数はｎ×（ｌｏｇ2ｎ）個より少なくなる。これにより、回路規模は、ｎ×（ｌｏｇ2ｎ）規模のサイズに収めることができる。すなわち、この実施の形態１のパラレルプリコーダ回路は、従来のパラレルプリコーダ回路の出力信号各々を並列展開した入力信号から生成するパラレルプリコーダ回路より規模が小さくなる。
【００７６】
図７に、出力信号各々を並列展開された入力信号から生成するパラレルプリコーダ回路の構成を示す。図７は、並列展開ビット幅ｎ＝８の場合を示している。図７において、パラレルプリコーダ回路は、２入力のＥＸＯＲ回路７ａ−１と、３入力のＥＸＯＲ回路７ａ−２、４入力のＥＸＯＲ回路７ａ−３、５入力のＥＸＯＲ回路７ａ−４、６入力のＥＸＯＲ回路７ａ−５、７入力のＥＸＯＲ回路７ａ−６、８入力のＥＸＯＲ回路７ａ−７、９入力のＥＸＯＲ回路７ａ−８と、ＥＸＯＲ回路７ａ−１〜７ａ−８の出力を１クロック遅延させる遅延回路（図中ではＤ）７ｂ−１〜７ｂ−８とを備えている。
【００７７】
ＥＸＯＲ回路７ａ−１には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1とが入力され、ＥＸＯＲ回路７ａ−２には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1，Ｉ2とが入力され、ＥＸＯＲ回路７ａ−３には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1〜Ｉ3とが入力され、ＥＸＯＲ回路７ａ−４には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1〜Ｉ4とが入力され、ＥＸＯＲ回路７ａ−５には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1〜Ｉ5とが入力され、ＥＸＯＲ回路７ａ−６には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1〜Ｉ6とが入力され、ＥＸＯＲ回路７ａ−７には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1〜Ｉ7とが入力され、ＥＸＯＲ回路７ａ−８には、遅延回路７ｂ−８の出力とパラレル入力Ｉ1〜Ｉ8とが入力される。
【００７８】
すなわち、ＥＸＯＲ回路７ａ−ｋ（この場合は、１≦ｋ≦８）は、ｋ＋１入力のＥＸＯＲ回路であり、それらの出力が遅延回路７ｂ−ｋに接続されている。また、多入力ＥＸＯＲ回路７ａ−ｋには、ｋ以下のパラレル入力Ｉ1〜Ｉkおよび遅延回路７ｂ−８の出力が接続されている。
【００７９】
図８（図８−１〜図８−３を示す）は、多入力ＥＸＯＲ回路の構成を示す図である。図８に示すように、多入力ＥＸＯＲ回路は、ツリー状に２入力ＥＸＯＲ回路を接続して実現し、図８−１は４入力ＥＸＯＲ回路を示し、図８−２は６入力ＥＸＯＲ回路を示し、図８−３は８入力ＥＸＯＲ回路を示している。
【００８０】
図８に示したように、ツリー状に２入力ＥＸＯＲ回路を接続する構成では、ｎ入力ＥＸＯＲの遅延段数をｌｏｇ2ｎに減らすことはできるが、ｎ−１個の２入力ＥＸＯＲ回路が必要になる。そのため、図７に示した構成のパラレルプリコーダ回路には、全体でｎ×ｎ／２個のＥＸＯＲ回路が必要になる。したがって、この実施の形態１に示す構成（たとえば、図１参照）の方が回路規模を削減できる。
【００８１】
実施の形態２．
図９を参照してこの発明にかかる実施の形態２を説明する。この発明にかかる実施の形態２のパラレルプリコーダ回路は、ｎ（２≦ｎ，ｎは整数）ビットのパラレル入力Ｉ1〜Ｉnからパラレル出力Ｏ1〜Ｏnを算出する。
【００８２】
この実施の形態２のパラレルプリコーダ回路は、入力数が異なるＥＸＯＲ回路９ａ（９ａ−（ｉ，ｊ）を示す）回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路９ｂ（９ｂ−１〜９ｂ−ｎを示す）とを備えている。なお、ＥＸＯＲ回路９ａの最大入力数はｒ（２≦ｒ，ｒは整数）とする。また、多入力ＥＸＯＲ回路は、先の実施の形態１で説明したように、入力される“１”の個数が奇数個の場合“１”を出力し、入力される“１”の個数が偶数個の場合“０”を出力する組合せ回路で実現する。
【００８３】
この実施の形態２のパラレルプリコーダ回路において、ＥＸＯＲ回路９ａおよび遅延回路９ｂは、実施の形態１と同様に後述する網構成で接続される。ＥＸＯＲ回路９ａ−（ｉ，ｊ）は、ｉ行目、ｊ列目に配置される。ｉ行目のＥＸＯＲ回路とは、パラレル入力Ｉiから遅延回路９ｂ−ｉを結ぶ信号経路に配置されるＥＸＯＲ回路を示す。また、ｊ列目のＥＸＯＲ回路とは、ｉが最大入力数ｒの倍数のＥＸＯＲ回路の中でパラレル入力Ｉｉから数えてｊ個目のＥＸＯＲ回路を示し、ｉが１以外のｒの倍数でないｉ行目のＥＸＯＲ回路で遅延回路９ｂ−ｉの前段にあるものを最終列、ｈ列目のＥＸＯＲ回路とする。ｈの値は（ｌｏｇrｎ）＋１以上の最も小さい整数になる。たとえば、最大入力数ｒが「４」であって、ビット数ｎが「１４」であれば、ｈは「３」となる。
【００８４】
図９は、「最大入力数ｒ＝４」であって、「ビット数ｎ＝１６」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態２の構成を示す図である。図９において、パラレルプリコーダ回路は、ＥＸＯＲ回路９ａ（９ａ−（１，０），９ａ−（２，３），９ａ−（３，３），９ａ−（４，１），９ａ−（５，３），９ａ−（６，３），９ａ−（７，３），９ａ−（８，１），９ａ−（８，２），９ａ−（９，３），９ａ−（１０，３），９ａ−（１１，３），９ａ−（１２，１），９ａ−（１２，２），９ａ−（１３，３），９ａ−（１４，３），９ａ−（１５，３），９ａ−（１６，１），９ａ−（１６，２））と、遅延回路（図中ではＤ）９ｂ−１〜９ｂ−１６とを備えている。
【００８５】
図９においては、ＥＸＯＲ回路９ａ−（１，０）は２入力のＥＸＯＲ回路であり１行目０列目に配置され、ＥＸＯＲ回路９ａ−（２，３）は２入力のＥＸＯＲ回路であり２行目３列目に配置され、ＥＸＯＲ回路９ａ−（３，３）は３入力のＥＸＯＲ回路であり３行目３列目に配置され、ＥＸＯＲ回路９ａ−（４，１）はｒ入力（この場合は、４入力）のＥＸＯＲ回路であり４行目１列目に配置され、ＥＸＯＲ回路９ａ−（５，３）は２入力のＥＸＯＲ回路であり５行目３列目に配置され、ＥＸＯＲ回路９ａ−（６，３）は３入力のＥＸＯＲ回路であり６行目３列目に配置され、ＥＸＯＲ回路９ａ−（７，３）は４入力のＥＸＯＲ回路であり７行目３列目に配置され、ＥＸＯＲ回路９ａ−（８，１）は４入力のＥＸＯＲ回路であり８行目１列目に配置され、ＥＸＯＲ回路９ａ−（８，２）は２入力のＥＸＯＲ回路であり８行目２列目に配置され、ＥＸＯＲ回路９ａ−（９，３）は２入力のＥＸＯＲ回路であり９行目３列目に配置され、ＥＸＯＲ回路９ａ−（１０，３）は３入力のＥＸＯＲ回路であり１０行目３列目に配置され、ＥＸＯＲ回路９ａ−（１１，３）は４入力のＥＸＯＲ回路であり１１行目３列目に配置され、ＥＸＯＲ回路９ａ−（１２，１）は４入力のＥＸＯＲ回路であり１２行目１列目に配置され、ＥＸＯＲ回路９ａ−（１２，２）は３入力のＥＸＯＲ回路であり１２行目２列目に配置され、ＥＸＯＲ回路９ａ−（１３，３）は２入力のＥＸＯＲ回路であり１３行目３列目に配置され、ＥＸＯＲ回路９ａ−（１４，３）は３入力のＥＸＯＲ回路であり１４行目３列目に配置され、ＥＸＯＲ回路９ａ−（１５，３）は４入力のＥＸＯＲ回路であり１５行目３列目に配置され、ＥＸＯＲ回路９ａ−（１６，１）は４入力のＥＸＯＲ回路であり１６行目１列目に配置され、ＥＸＯＲ回路９ａ−（１６，２）は４入力のＥＸＯＲ回路であり１６行目２列目に配置され、３列目が最終列となっている。
【００８６】
つぎに、ＥＸＯＲ回路９ａおよび遅延回路９ｂ−１〜９ｂ−ｎを接続する網構成について説明する。ｒ×ｋ行目１列目のＥＸＯＲ回路９ａ−（ｒ×ｋ，１）の入力には、パラレル入力Ｉr×k、パラレル入力Ｉr×k-1、パラレル入力Ｉr×k-2、…、パラレル入力Ｉr×k-r+1を接続する。ただし、ｒ行目１列目のＥＸＯＲ回路９ａ−（ｒ，１）には、パラレル入力Ｉ１の代わりに１行目０列目のＥＸＯＲ回路９ａ−（１，０）の出力を接続する。なお、ｋは「１≦ｋ≦ｎ／ｒ」を満たす整数である。
【００８７】
図９においては、ＥＸＯＲ回路９ａ−（４，１）にはＥＸＯＲ回路９ａ−（１，０）の出力とパラレル入力Ｉ2〜Ｉ4を接続し、ＥＸＯＲ回路９ａ−（８，１）にはパラレル入力Ｉ5〜Ｉ8を接続し、ＥＸＯＲ回路９ａ−（１２，１）にはパラレル入力Ｉ9〜Ｉ12を接続し、ＥＸＯＲ回路９ａ−（１６，１）にはパラレル入力Ｉ13〜Ｉ16を接続する。
【００８８】
ｒ×ｋ行目ｍ列目のＥＸＯＲ回路９ａ−（ｒ×ｋ、ｍ）の入力には、ＥＸＯＲ回路９ａ−（ｒ×ｋ−（ｒ−１）×ｒ＾（ｍ−１）、ｍ−１）、…、ＥＸＯＲ回路９ａ−（ｒ×ｋ−ｐ×ｒ＾（ｍ−１）、ｍ−１）、…、ＥＸＯＲ回路９ａ−（ｒ×ｋ、ｍ−１）までの出力を接続する。ただし、ｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が存在しない場合は、ｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目に存在するＥＸＯＲ回路のうち、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を、ＥＸＯＲ回路９ａ−（ｒ×ｋ、ｍ）の入力に接続する。
【００８９】
また、ｒ×ｋ−ｐ×ｒ＾（ｍ−１）が１より小さい場合はｒ入力ＥＸＯＲ回路９ａ−（ｒ×ｋ、ｍ）の入力の一つは空けたままとし、入力がＥＸＯＲ回路９ａ−（ｒ×ｋ、ｍ−１）の出力１つのみならＥＸＯＲ回路を配置しない。たとえば、図９においては、ＥＸＯＲ回路９ａ−（１２，２）の入力には、ＥＸＯＲ回路９ａ−（４，１），９ａ−（８，１），９ａ−（１２，１）の出力を接続する。なお、ｍは「２≦ｍ≦ｈ−１」を満たす整数であり、ｐは「０≦ｍ≦ｒ−１」を満たす整数である。
【００９０】
最終列に配置されるｒ×ｋ−ｑ行目ｈ列目のＥＸＯＲ回路９ａ−（ｒ×ｋ−ｑ、ｈ）の入力には、パラレル入力Ｉr×k-1と、パラレル入力r×k-2と、…、パラレル入力Ｉr×k-qと、ＥＸＯＲ回路９ａ−（ｒ×ｋ−ｒ、ｈ−１）の出力とを接続する。ただし、１行目の最終列にはＥＸＯＲ回路を配置しない。なお、ｑは「１≦ｑ≦ｒ−１」を満たす整数である。
【００９１】
ｒ×ｋ行目の遅延回路９ｂ−（ｒ×ｋ）の入力には、ｒ×ｋ行目に配置されるＥＸＯＲ回路のうち、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続する。また、ｒ×ｋ−ｐ行目の遅延回路９ｂ−（ｒ×ｋ−ｐ）の入力には、最終列、すなわちｈ列目のｒ×ｋ−ｐ行目にあるＥＸＯＲ回路９ａ−（ｒ×ｋ−ｐ、ｈ）の出力を接続する。ただし、１行目の遅延回路９ｂ−１の入力には、ＥＸＯＲ回路１ａ−（１，０）の出力を接続する。遅延回路９ｂ−ｉの出力がパラレル出力Ｏiとなる。
【００９２】
つぎに、この発明にかかる実施の形態２のｎビットパラレルプリコーダ回路が、先の式（１）を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
【００９３】
１列目のＥＸＯＲ回路９ａ−（ｒ×ｋ、１）はパラレル入力Ｉr×k-r+1〜Ｉr×kをＥＸＯＲ演算した結果を出力し、２列目のＥＸＯＲ回路９ａ−（ｒ×ｋ、２）はＥＸＯＲ回路９ａ−（ｒ×ｋ−（ｒ−１）×ｒ、１）〜９ａ−（ｒ×ｋ、１）の出力をＥＸＯＲ演算した結果を出力する。すなわちＥＸＯＲ回路９ａ−（ｒ×ｋ、２）の出力はパラレル入力Ｉr×k-r+1〜Ｉr×kをＥＸＯＲ演算した結果に等しい。
【００９４】
図９に示した１６ビット並列のパラレルプリコーダ回路においては、１行目０列目のＥＸＯＲ回路９ａ−（１，０）の出力をＩＩ1とし、ＥＸＯＲ演算子を「＊」とすると、４行目１列目のＥＸＯＲ回路９ａ−（４，１）の出力ＥＸＯ９ａ−（４，１）は、
ＥＸＯ９ａ−（４，１）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4            …式（９−１）
で表すことができ、８行目１列目のＥＸＯＲ回路９ａ−（８，１）の出力ＥＸＯ９ａ−（８，１）は、
ＥＸＯ９ａ−（８，１）＝Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8              …式（９−２）
で表すことができ、１２行目１列目のＥＸＯＲ回路９ａ−（１２，１）の出力ＥＸＯ９ａ−（１２，１）は、
ＥＸＯ９ａ−（１２，１）＝Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12        …式（９−３）
で表すことができ、１６行目１列目のＥＸＯＲ回路９ａ−（１６，１）の出力ＥＸＯ９ａ−（１６，１）は、
ＥＸＯ９ａ−（１６，１）＝Ｉ13＊Ｉ14＊Ｉ15＊Ｉ16      …式（９−４）
で表すことができる。以下、式（９−１）〜式（９−４）を式（９）ということがある。
【００９５】
８行目２列目のＥＸＯＲ回路９ａ−（８，２）の出力ＥＸＯＲ回路９ａ−（８，２）は、
ＥＸＯ９ａ−（８，２）＝ＥＸＯ９ａ−（４，１）＊ＥＸＯ９ａ−（８，１）                                                                      …式（１０−１）
で表すことができ、１２行目２列目のＥＸＯＲ回路９ａ−（１２，２）の出力ＥＸＯ９ａ−（１２，２）は、
ＥＸＯ９ａ−（１２，２）＝ＥＸＯ９ａ−（４，１）＊ＥＸＯ９ａ−（８，１）＊ＥＸＯ９ａ−（１２，１）                                          …式（１０−２）
で表すことができ、１６行目２列目のＥＸＯＲ回路９ａ−（１６，２）の出力ＥＸＯ９ａ−（１６，２）は、
ＥＸＯ９ａ−（１６，２）＝ＥＸＯ９ａ−（４，１）＊ＥＸＯ９ａ−（８，１）＊ＥＸＯ９ａ−（１２，１）＊ＥＸＯ９ａ−（１６，１）                …式（１０−３）
で表すことができる。式（１０−１）〜式（１０−３）は、式（９）により、
ＥＸＯ９ａ−（８，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8
…式（１１−１）
ＥＸＯ９ａ−（１２，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12                                              …式（１１−２）
ＥＸＯ９ａ−（１６，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14＊Ｉ15＊Ｉ16                    …式（１１−３）
となる。以下、式（１１−１）〜式（１１−３）を式（１１）ということがある。
【００９６】
４ｋ行目にあるＥＸＯＲ回路９ａ−（４，１），９ａ−（８，２），９ａ−（１２，２），９ａ−（１６、２）の出力ＥＸＯ９ａ−（４，１），９ａ−（８，２），９ａ−（１２，２），９ａ−（１６、２）は、遅延回路９ｂ−４，９ｂ−８，９ｂ−１２，９ｂ−１６に入力されて１クロック遅延され、パラレル出力Ｏ4，Ｏ8，Ｏ12，Ｏ16となる。上記式（９）および式（１１）に示すように、パラレル出力Ｏ4，Ｏ8，Ｏ12，Ｏ16は１クロック前のパラレル出力Ｏ16とパラレル入力Ｉ1〜Ｉ16中で、時系列で前にあるパラレル入力Ｉ1〜Ｉ16全てをＥＸＯＲ演算したものであり、式（１）を満たしている。
【００９７】
さらに３列目の遅延回路９ｂ−（４ｋ−ｐ）には、ＥＸＯＲ回路９ａ−（４ｋ−ｐ、３）によりパラレル入力Ｉ4k-3〜Ｉ4k-pと、上記の遅延回路９ｂ−４（ｋ−１）への入力とをＥＸＯＲ演算した結果を入力して１クロック遅延させたパラレル出力Ｏ2，Ｏ3，Ｏ5，Ｏ6，Ｏ7，Ｏ9，Ｏ10，Ｏ11，Ｏ13，Ｏ14，Ｏ15として出力する。
【００９８】
図９においては、２行目３列目のＥＸＯＲ回路９ａ−（２，３）の出力ＥＸＯ９ａ−（２，３）は、
ＥＸＯ９ａ−（２，３）＝ＩＩ1＊Ｉ2      …式（１２−１）
で表すことができ、３行目３列目のＥＸＯＲ回路９ａ−（３，３）の出力ＥＸＯ９ａ−（３，３）は、
ＥＸＯ９ａ−（３，３）＝ＩＩ1＊Ｉ2＊Ｉ3                      …式（１２−２）
で表すことができ、５行目３列目のＥＸＯＲ回路９ａ−（５，３）の出力ＥＸＯ９ａ−（５，３）は、
ＥＸＯ９ａ−（５，３）＝ＥＸＯ９ａ−（４，１）＊Ｉ5            …式（１２−３）
で表すことができ、６行目３列目のＥＸＯＲ回路９ａ−（６，３）の出力ＥＸＯ９ａ−（６，３）は、
ＥＸＯ９ａ−（６，３）＝ＥＸＯ９ａ−（４，１）＊Ｉ5＊Ｉ6      …式（１２−４）
で表すことができ、７行目３列目のＥＸＯＲ回路９ａ−（７，３）の出力ＥＸＯ９ａ−（７，３）は、
ＥＸＯ９ａ−（７，３）＝ＥＸＯ９ａ−（４，１）＊Ｉ5＊Ｉ6＊Ｉ7
…式（１２−５）
で表すことができ、９行目３列目のＥＸＯＲ回路９ａ−（９，３）の出力ＥＸＯ９ａ−（９，３）は、
ＥＸＯ９ａ−（９，３）＝ＥＸＯ９ａ−（８，２）＊Ｉ9            …式（１２−６）
で表すことができ、１０行目３列目のＥＸＯＲ回路９ａ−（１０，３）の出力ＥＸＯ９ａ−（１０，３）は、
ＥＸＯ９ａ−（１０，３）＝ＥＸＯ９ａ−（８，２）＊Ｉ9＊Ｉ10
…式（１２−７）
で表すことができ、１１行目３列目のＥＸＯＲ回路９ａ−（１１，３）の出力ＥＸＯ９ａ−（１１，３）は、
ＥＸＯ９ａ−（１０，３）＝ＥＸＯ９ａ−（８，２）＊Ｉ9＊Ｉ10＊Ｉ11
…式（１２−８）
で表すことができ、１３行目３列目のＥＸＯＲ回路９ａ−（１３，３）の出力ＥＸＯ９ａ−（１３，３）は、
ＥＸＯ９ａ−（１３，３）＝ＥＸＯ９ａ−（１２，２）＊Ｉ13        …式（１２−９）
で表すことができ、１４行目３列目のＥＸＯＲ回路９ａ−（１４，３）の出力ＥＸＯ９ａ−（１４，３）は、
ＥＸＯ９ａ−（１４，３）＝ＥＸＯ９ａ−（１２，２）＊Ｉ13＊Ｉ14 
…式（１２−１０）
で表すことができ、１５行目３列目のＥＸＯＲ回路９ａ−（１５，３）の出力ＥＸＯ９ａ−（１５，３）は、
ＥＸＯ９ａ−（１５，３）＝ＥＸＯ９ａ−（１２，２）＊Ｉ13＊Ｉ14＊Ｉ15
…式（１２−１１）
で表すことができる。式（１２−１）〜式（１２−１１）は、式（９）および式（１１）により、
ＥＸＯ９ａ−（２，３）＝ＩＩ1＊Ｉ2                            …式（１３−１）
ＥＸＯ９ａ−（３，３）＝ＩＩ1＊Ｉ2＊Ｉ3                        …式（１３−２）
ＥＸＯ９ａ−（５，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5            …式（１３−３）
ＥＸＯ９ａ−（６，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6        …式（１３−４）
ＥＸＯ９ａ−（７，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7  …式（１３−５）
ＥＸＯ９ａ−（９，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9
…式（１３−６）
ＥＸＯ９ａ−（１０，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10                                                              …式（１３−７）
ＥＸＯ９ａ−（１１，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11                                                        …式（１３−８）
ＥＸＯ９ａ−（１３，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13                                          …式（１３−９）
ＥＸＯ９ａ−（１４，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14                                    …式（１３−１０）
ＥＸＯ９ａ−（１５，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14＊Ｉ15                          …式（１３−１１）
となる。以下、式（１３−１）〜式（１３−１１）を式（１３）ということがある。
【００９９】
上述した式（９）〜式（１３）からわかるように、この発明にかかる実施の形態２のｎビットパラレルプリコーダ回路はシリアルプリコーダ回路と等価になっている。なお、この実施の形態２においても、上述した実施の形態１と同様にＥＸＯＲ回路の網構成を帰納的に構築していくことにより、より多値幅のパラレルプリコーダ回路を形成することができる。また、展開ビット幅ｎは、特に２のべき乗である必要はない。
【０１００】
以上説明したように、この実施の形態２においては、複数の多入力のＥＸＯＲ回路の最大入力数をｒとし、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、ｒ×ｋ行目１列目の多入力ＥＸＯＲ回路は、ｋが１の場合には前記０列目のＥＸＯＲ回路の出力と、２行目からｒ行目までのパラレル入力とのＥＸＯＲ演算を行い、ｋが１より大きい場合にはｒ×ｋ−ｒ＋１行目からｒ×ｋ行目までのパラレル入力のＥＸＯＲ演算を行ない、ｒ×ｋ行目ｍ列目の多入力ＥＸＯＲ回路は、ｒ×ｋ−ｐ×ｒ＾（ｍ−１）が１以上の場合に、ｒ×ｋ−（ｒ−１）×ｒ＾（ｍ−１）行目からｒ×ｋ行目までの間のｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目の多入力ＥＸＯＲ回路の出力を入力とし、ｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目ｍー１列目に多入力ＥＸＯＲ回路が配置されていない場合にはｒ×ｋ−ｐ×ｒ＾（ｍ−１）行目に配置されている多入力ＥＸＯＲ回路の中で、最も大きい列番号を有する多入力ＥＸＯＲ回路の出力を入力としてＥＸＯＲ演算を行ない、ｒ×ｋ−ｑ行目ｈ列目の多入力ＥＸＯＲ回路は、ｒ×ｋ−１行目からｒ×ｋ−ｑ行目までのパラレル入力と、ｒ×ｋ−ｒ行目に配置されている多入力ＥＸＯＲ回路の中で、最も大きい列番号を有する多入力ＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行ない、１〜ｎ行目の遅延回路は、１〜ｎ行目それぞれに配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させて、１〜ｎ行目のパラレル出力とするようにしている。
【０１０１】
すなわち、この実施の形態２のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成するようにしているため、回路の遅延が小さく、かつＥＸＯＲ回路に要求される動作速度を緩和したパラレルプリコーダを得ることができる。
【０１０２】
具体的には、この発明にかかる実施の形態２のパラレルプリコーダ回路の最大遅延はｒ入力ＥＸＯＲ回路において（ｌｏｇrｎ）＋２段に抑えることができる。たとえば、ｎ＝１６では４段の遅延になり、ｎ＝６４では５段の遅延になる。また、回路規模は、ｒ入力ＥＸＯＲ回路のゲートサイズで、ｎ×（ｌｏｇrｎ）規模のサイズに収めることができる。
【０１０３】
また、この実施の形態２においては、最大多入力ｒのＥＸＯＲ回路を用いるようにしているため、最小単位のプリミティブな素子でｒ入力の組み合わせ回路が用意されている場合、たとえば、ＦＰＧＡ（Field Programmable Gate Array）などの内部のロジック回路が書換え可能なチップでは、任意の論理式を実現するｒ入力のセルを最小単位としており、結果的に回路規模を小さくできるという効果もある。
【０１０４】
実施の形態３．
図１０を用いてこの発明にかかる実施の形態３を説明する。この発明にかかる実施の形態３のパラレルプリコーダ回路は、ｎ（２≦ｎ，ｎは整数）ビットのパラレル入力Ｉ1〜Ｉnからパラレル出力Ｏ1〜Ｏnを算出する。
【０１０５】
この実施の形態３のパラレルプリコーダ回路は、２入力のＥＸＯＲ回路１０ａ（１０ａ−（ｉ，ｊ）を示す）回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路１０ｂ（１０ｂ−１〜１０ｂ−ｎを示す）とを備えている。
【０１０６】
この実施の形態３のパラレルプリコーダ回路において、ＥＸＯＲ回路１０ａおよび遅延回路１０ｂは、実施の形態１と同様に後述する網構成で接続される。ＥＸＯＲ回路１０ａ−（ｉ，ｊ）は、ｉ行目のＥＸＯＲ回路とは、パラレル入力Ｉiから遅延回路７ｂ−ｉを結ぶ信号経路に配置されるＥＸＯＲ回路を示す。また、ｊ列目のＥＸＯＲ回路とは、遅延回路１０ｂ−ｎの出力とパラレル入力Ｉiとが入力されるＥＸＯＲ回路を０列目と定義し、パラレル入力Ｉiから数えてｊ個目のＥＸＯＲ回路をｊ列目のＥＸＯＲ回路とする。ＥＸＯＲ回路が配置される最終列をｈ列目と定義すると、最終列ｈは、ｌｏｇ2ｎ以上の最も小さい整数になる。
【０１０７】
図１０は、「ビット数ｎ＝８」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態３の構成を示す図である。図１０において、パラレルプリコーダ回路は、ＥＸＯＲ回路１０ａ（１０ａ−（１，０），１０ａ−（２，１），１０ａ−（３，１），１０ａ−（４，１），１０ａ−（５，１），１０ａ−（６，１），１０ａ−（７，１），１０ａ−（８，１），１０ａ−（３，２），１０ａ−（４，２），１０ａ−（５，２），１０ａ−（６，２），１０ａ−（７，２），１０ａ−（８，２），１０ａ−（５，３），１０ａ−（６，３），１０ａ−（７，３），１０ａ−（８，３）を示す）と、遅延回路（図中ではＤ）１０ｂ（１０ｂ−１〜１０ｂ−８を示す）とを備えている。
【０１０８】
図１０においては、ＥＸＯＲ回路１０ａ−（１，０）は１行目０列目に配置され、ＥＸＯＲ回路１０ａ−（２，１）は２行目１列目に配置され、ＥＸＯＲ回路１０ａ−（３，１）は３行目１列目に配置され、ＥＸＯＲ回路１０ａ−（３，２）は３行目２列目に配置され、ＥＸＯＲ回路１０ａ−（４，１）は４行目１列目に配置され、ＥＸＯＲ回路１０ａ−（４，２）は４行目２列目に配置され、ＥＸＯＲ回路１０ａ−（５，１）は５行目１列目に配置され、ＥＸＯＲ回路１０ａ−（５，２）は５行目２列目に配置され、ＥＸＯＲ回路１０ａ−（５，３）は５行目３列目に配置され、ＥＸＯＲ回路１０ａ−（６，１）は６行目１列目に配置され、ＥＸＯＲ回路１０ａ−（６，２）は６行目２列目に配置され、ＥＸＯＲ回路１０ａ−（６，３）は６行目３列目に配置され、ＥＸＯＲ回路１０ａ−（７，１）は７行目１列目に配置され、ＥＸＯＲ回路１０ａ−（７，２）は７行目２列目に配置され、ＥＸＯＲ回路１０ａ−（７，３）は７行目３列目に配置され、ＥＸＯＲ回路１０ａ−（８，１）は８行目１列目に配置され、ＥＸＯＲ回路１０ａ−（８，２）は８行目２列目に配置され、ＥＸＯＲ回路１０ａ−（８，３）は８行目３列目に配置され、３列目が最終列となっている。
【０１０９】
つぎに、ＥＸＯＲ回路１０ａおよび遅延回路１０ｂを接続する網構成について説明する。ｋ行目１列目のＥＸＯＲ回路１０ａ−（ｋ，１）の一方の入力にはパラレル入力Ｉkを接続し、他方の入力にはパラレル入力Ｉk-1を接続する。ただし、２行目１列目のＥＸＯＲ回路１０ａ−（２，１）の他方の入力には、パラレル入力Ｉ1の代わりにＥＸＯＲ回路１０ａ−（１，０）の出力を接続する。なお、ｋは「２≦ｋ≦ｎ」を満たす整数とする。
【０１１０】
ｋ行目ｍ列目のＥＸＯＲ回路１０ａ−（ｋ，ｍ）の一方の入力にはＥＸＯＲ回路１０ａ−（ｋ−２＾（ｍ−１），ｍ−１）の出力を接続し、他方の入力にはＥＸＯＲ回路１０ａ−（ｋ，ｍ−１）の出力を接続する。ただし、ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には、ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を、ＥＸＯＲ回路１０ａ−（ｋ，ｍ）の他方の入力に接続する。また、ｋ−２＾（ｍ−１）が１より小さい場合には、ＥＸＯＲ回路を配置しない。なお、ｍは、「２≦ｍ≦ｈ」を満たす整数である。
【０１１１】
ｉ行目の遅延回路１０ｂ−ｉの入力には、ｉ行目に配置されたＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続する。ただし、１行目の遅延回路１０ｂ−１の入力には、ＥＸＯＲ回路１０ａ−（１，０）の出力を接続する。遅延回路１０ｂ−ｉの出力がパラレル出力Ｏiとなる。
【０１１２】
つぎに、この発明にかかる実施の形態３のｎビットパラレルプリコーダ回路が、先の式（１）を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
【０１１３】
１列目のＥＸＯＲ回路１０ａ−（ｋ、１）はパラレル入力Ｉk，Ｉk-1をＥＸＯＲ演算した結果を出力し、２列目のＥＸＯＲ回路１０ａ−（ｋ、２）はＥＸＯＲ回路１０ａ−（ｋ−２，１）およびＥＸＯＲ回路１０ａ−（ｋ、１）の出力をＥＸＯＲ演算した結果を出力する。すなわちＥＸＯＲ回路１０ａ−（ｋ、２）はパラレル入力Ｉk〜Ｉk-3をＥＸＯＲ演算した結果に等しい。
【０１１４】
図１０に示した８ビット並列のパラレルプリコーダ回路においては、１行目０列目のＥＸＯＲ回路１０ａ−（１，０）の出力をＩＩ1とし、ＥＸＯＲ演算子を「＊」とすると、２行目１列目のＥＸＯＲ回路１０ａ−（２，１）の出力ＥＸＯ１０ａ−（２，１）は、
ＥＸＯ１０ａ−（２，１）＝ＩＩ1＊Ｉ2      …式（１４−１）
で表すことができ、３行目１列目のＥＸＯＲ回路１０ａ−（３，１）の出力ＥＸＯ１０ａ−（３，１）は、
ＥＸＯ１０ａ−（３，１）＝Ｉ2＊Ｉ3      …式（１４−２）
で表すことができ、４行目１列目のＥＸＯＲ回路１０ａ−（４，１）の出力ＥＸＯ１０ａ−（４，１）は、
ＥＸＯ１０ａ−（４，１）＝Ｉ3＊Ｉ4      …式（１４−３）
で表すことができ、５行目１列目のＥＸＯＲ回路１０ａ−（５，１）の出力ＥＸＯ１０ａ−（５，１）は、
ＥＸＯ１０ａ−（５，１）＝Ｉ4＊Ｉ5      …式（１４−４）
で表すことができ、６行目１列目のＥＸＯＲ回路１０ａ−（６，１）の出力ＥＸＯ１０ａ−（６，１）は、
ＥＸＯ１０ａ−（６，１）＝Ｉ5＊Ｉ6      …式（１４−５）
で表すことができ、７行目１列目のＥＸＯＲ回路１０ａ−（７，１）の出力ＥＸＯ１０ａ−（７，１）は、
ＥＸＯ１０ａ−（７，１）＝Ｉ6＊Ｉ7      …式（１４−６）
で表すことができ、８行目１列目のＥＸＯＲ回路１０ａ−（８，１）の出力ＥＸＯ１０ａ−（８，１）は、
ＥＸＯ１０ａ−（８，１）＝Ｉ7＊Ｉ8      …式（１４−７）
で表すことができる。以下、式（１４−１）〜式（１４−７）を式（１４）ということがある。
【０１１５】
また、３行目２列目のＥＸＯＲ回路１０ａ−（３，２）の出力ＥＸＯ１０ａ−（３，２）は、
ＥＸＯ１０ａ−（３，２）＝ＥＸＯ１０ａ−（１，０）＊ＥＸＯ１０ａ−（３，１）
…式（１５−１）
で表すことができ、４行目２列目のＥＸＯＲ回路１０ａ−（４，２）の出力ＥＸＯ１０ａ−（４，２）は、
ＥＸＯ１０ａ−（４，２）＝ＥＸＯ１０ａ−（２，１）＊ＥＸＯ１０ａ−（４，１）
…式（１５−２）
で表すことができ、５行目２列目のＥＸＯＲ回路１０ａ−（５，２）の出力ＥＸＯ１０ａ−（５，２）は、
ＥＸＯ１０ａ−（５，２）＝ＥＸＯ１０ａ−（３，１）＊ＥＸＯ１０ａ−（５，１）
…式（１５−３）
で表すことができ、６行目２列目のＥＸＯＲ回路１０ａ−（６，２）の出力ＥＸＯ１０ａ−（６，２）は、
ＥＸＯ１０ａ−（６，２）＝ＥＸＯ１０ａ−（４，１）＊ＥＸＯ１０ａ−（６，１）
…式（１５−４）
で表すことができ、７行目２列目のＥＸＯＲ回路１０ａ−（７，２）の出力ＥＸＯ１０ａ−（７，２）は、
ＥＸＯ１０ａ−（７，２）＝ＥＸＯ１０ａ−（５，１）＊ＥＸＯ１０ａ−（７，１）
…式（１５−５）
で表すことができ、８行目２列目のＥＸＯＲ回路１０ａ−（８，２）の出力ＥＸＯ１０ａ−（８，２）は、
ＥＸＯ１０ａ−（８，２）＝ＥＸＯ１０ａ−（６，１）＊ＥＸＯ１０ａ−（８，１）
…式（１５−６）
で表すことができる。式（１５−１）〜式（１５−６）は、式（１４）により、
ＥＸＯ１０ａ−（３，２）＝ＩＩ1＊Ｉ2＊Ｉ3            …式（１６−１）
ＥＸＯ１０ａ−（４，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4      …式（１６−２）
ＥＸＯ１０ａ−（５，２）＝Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5        …式（１６−３）
ＥＸＯ１０ａ−（６，２）＝Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6        …式（１６−４）
ＥＸＯ１０ａ−（７，２）＝Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7        …式（１６−５）
ＥＸＯ１０ａ−（８，２）＝Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8        …式（１６−６）
となる。以下、式（１６−１）〜式（１６−６）を式（１６）ということがある。
【０１１６】
さらに、３列目のＥＸＯＲ回路１０ａ−（ｋ，３）は、ＥＸＯＲ回路１０−（ｋ，２）の出力およびＥＸＯＲ回路１０ａ−（ｋ−４，２）の出力をＥＸＯＲ演算した結果を出力する。ＥＸＯＲ回路１０ａ−（ｋ，３）の出力はパラレル入力Ｉk〜Ｉk-7をＥＸＯＲ演算した結果に等しく（図１０においては、ＥＸＯＲ回路１０ａ−（８，３）の出力に相当）、ｋ−７が０以下であるなら（図１０のＥＸＯＲ回路１０ａ−（５，３）〜１０ａ−（７，３）の出力に相当）パラレル入力Ｉk〜Ｉ1をＥＸＯＲ演算した結果に等しい。
【０１１７】
図１０においては、５行目３列目のＥＸＯＲ回路１０ａ−（５，３）の出力ＥＸＯ１０ａ−（５，３）は、
ＥＸＯ１０ａ−（５，３）＝ＩＩ1＊ＥＸＯ１０ａ−（５，２）      …式（１７−１）
で表すことができ、６行目３列目のＥＸＯＲ回路１０ａ−（６，３）の出力ＥＸＯ１０ａ−（６，３）は、
ＥＸＯ１０ａ−（６，３）＝ＥＸＯ１０ａ−（２，１）＊ＥＸＯ１０ａ−（６，２）
…式（１７−２）
で表すことができ、７行目３列目のＥＸＯＲ回路１０ａ−（７，３）の出力ＥＸＯ１０ａ−（７，３）は、
ＥＸＯ１０ａ−（７，３）＝ＥＸＯ１０ａ−（３，２）＊ＥＸＯ１０ａ−（７，２）
…式（１７−３）
で表すことができ、８行目３列目のＥＸＯＲ回路１０ａ−（８，３）の出力ＥＸＯ１０ａ−（８，３）は、
ＥＸＯ１０ａ−（８，３）＝ＥＸＯ１０ａ−（４，２）＊ＥＸＯ１０ａ−（８，２）
…式（１７−４）
で表すことができる。式（１７−１）〜式（１７−４）は、式（１４）および式（１６）により、
ＥＸＯ１０ａ−（５，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5          …式（１８−１）
ＥＸＯ１０ａ−（６，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6    …式（１８−２）
ＥＸＯ１０ａ−（７，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7
…式（１８−３）
ＥＸＯ１０ａ−（８，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8
…式（１８−４）
となる。以下、式（１８−１）〜式（１８−４）を式（１８）ということがある。
【０１１８】
上述した式（１４）、式（１６）、および式（１８）は、１クロック前のパラレル出力Ｏ8と、パラレル入力Ｉ1〜Ｉ8の中で、時系列で前にあるパラレル入力Ｉ1〜Ｉ8すべてをＥＸＯＲ演算したものであり、上記式（１）を満たしている。すなわち、この発明にかかる実施の形態３のｎビットパラレルプリコーダ回路は、シリアルプリコーダ回路と等価になっている。なお、展開ビット幅ｎは、特に２のべき乗である必要はない。
【０１１９】
以上説明したように、この実施の形態３においては、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、ｋ行目１列目のＥＸＯＲ回路は、ｋ行目のパラレル入力を一方の入力とし、ｋの値が２の場合には前記０行目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が２より大きい場合にはｋ−１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、ｋ行目ｍ列目のＥＸＯＲ回路は、ｋ−２＾（ｍ−１）が１以上の場合に、ｋ行目ｍ−１列目のＥＸＯＲ回路の出力と、ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力とを入力とし、ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には、ｋ行目ｍ−１列目のＥＸＯＲ回路の出力と、ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行ない、１〜ｎ行目の遅延回路は、１〜ｎ行目それぞれに配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させて、１〜ｎ行目のパラレル出力とするようにしている。
【０１２０】
すなわち、この実施の形態３のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。具体的には、この実施の形態３においては、最大遅延をｌｏｇ2ｎ＋１段に抑えることができる。また、回路規模は、ｎ×（ｌｏｇ2ｎ）規模サイズに収めることができる。
【０１２１】
実施の形態４．
図１１を用いてこの発明の実施の形態４を説明する。この発明にかかる実施の形態４のパラレルプリコーダ回路は、ｎ（２≦ｎ，ｎは整数）ビットのパラレル入力Ｉ1〜Ｉnからパラレル出力Ｏ1〜Ｏnを算出する。
【０１２２】
この実施の形態４のパラレルプリコーダ回路は、入力数が異なるＥＸＯＲ回路１１ａ（１１ａ−（ｉ，ｊ）を示す）回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路１１ｂ（１１ｂ−１〜１１ｂ−ｎを示す）とを備えている。なお、多入力ＥＸＯＲ回路の構成は、先の実施の形態２と同じであるので、ここではその説明を省略する。
【０１２３】
この実施の形態４のパラレルプリコーダ回路において、ＥＸＯＲ回路１１ａおよび遅延回路１１ｂは、実施の形態１と同様に後述する網構成で接続される。なお、この実施の形態４においては、多入力ＥＸＯＲ回路の最大多入力数をｒとすると、最終列ｈは、ｌｏｇrｎ以上の最も小さい整数とする。
【０１２４】
図１１は、「ビット数ｎ＝８」であって、かつ「最大多入力数ｒ＝４」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態４の構成を示す図である。図１１において、パラレルプリコーダ回路は、ＥＸＯＲ回路１１ａ（１１ａ−（１，０），１１ａ−（２，１），１１ａ−（３，１），１１ａ−（４，１），１１ａ−（５，１），１１ａ−（６，１），１１ａ−（７，１），１１ａ−（８，１），１１ａ−（５，２），１１ａ−（６，２），１１ａ−（７，２），１１ａ−（８，２）を示す）と、遅延回路（図中ではＤ）１１ｂ（１１ｂ−１〜１１ｂ−８を示す）とを備えている。
【０１２５】
図１１においては、ＥＸＯＲ回路１１ａ−（１，０）は２入力ＥＸＯＲ回路であり１行目０列に配置され、ＥＸＯＲ回路１１ａ−（２，１）は２入力のＥＸＯＲ回路であり２行目１列目に配置され、ＥＸＯＲ回路１１ａ−（３，１）は３入力のＥＸＯＲ回路であり３行目１列目に配置され、ＥＸＯＲ回路１１ａ−（４，１）はｒ入力（この場合は４入力）のＥＸＯＲ回路であり４行目１列目に配置され、ＥＸＯＲ回路１１ａ−（５，１）は４入力のＥＸＯＲ回路であり５行目１列目に配置され、ＥＸＯＲ回路１１ａ−（６，１）は４入力のＥＸＯＲ回路であり６行目１列目に配置され、ＥＸＯＲ回路１１ａ−（７，１）は４入力のＥＸＯＲ回路であり７行目１列目に配置され、ＥＸＯＲ回路１１ａ−（８，１）は４入力のＥＸＯＲ回路であり８行目１列目に配置され、ＥＸＯＲ回路１１ａ−（５，２）は２入力のＥＸＯＲ回路であり５行目２列目に配置され、ＥＸＯＲ回路１１ａ−（６，２）は２入力のＥＸＯＲ回路であり６行目２列目に配置され、ＥＸＯＲ回路１１ａ−（７，２）は２入力のＥＸＯＲ回路であり７行目２列目に配置され、ＥＸＯＲ回路１１ａ−（８，２）は２入力のＥＸＯＲ回路であり８行目２列目に配置され、２列目が最終列となっている。
【０１２６】
つぎに、ＥＸＯＲ回路１１ａおよび遅延回路１１ｂを接続する網構成について説明する。ｋ行目１列目のＥＸＯＲ回路１１ａ−（ｋ、１）の入力には、パラレル入力Ｉk、パラレル入力Ｉk-1、パラレル入力Ｉk-2、…、パラレル入力Ｉk-r+1を接続する。ただし、ｋ−ｒ＋１が１より小さい場合には、多入力ＥＸＯＲ回路１１ａ−（ｋ，１）の入力に接続しない。また、パラレル入力Ｉ1の代わりにＥＸＯＲ回路１１ａ−（１，０）の出力を接続する。なお、ｋは「２≦ｋ≦ｎ」を満たす整数である。
【０１２７】
図１１においては、ＥＸＯＲ回路１１−ａ（２，１）にはＥＸＯＲ回路１１ａ−（１，０）の出力とパラレル入力Ｉ2を接続し、ＥＸＯＲ回路１１−ａ（３，１）にはＥＸＯＲ回路１１ａ−（１，０）の出力とパラレル入力Ｉ2，Ｉ3を接続し、ＥＸＯＲ回路１１−ａ（４，１）にはＥＸＯＲ回路１１ａ−（１，０）の出力とパラレル入力Ｉ2〜Ｉ4を接続し、ＥＸＯＲ回路１１−ａ（５，１）にはパラレル入力Ｉ2〜Ｉ5を接続し、ＥＸＯＲ回路１１−ａ（６，１）にはパラレル入力Ｉ3〜Ｉ6を接続し、ＥＸＯＲ回路１１−ａ（７，１）にはパラレル入力Ｉ4〜Ｉ7を接続し、ＥＸＯＲ回路１１−ａ（８，１）にはパラレル入力Ｉ5〜Ｉ8を接続する。
【０１２８】
ｋ行目ｍ列目のＥＸＯＲ回路１１ａ−（ｋ，ｍ）の入力には、ＥＸＯＲ回路１１ａ−（ｋ−（ｒ−１）×ｒ＾（ｍ−１），ｍ−１）、・・・、ＥＸＯＲ回路１１ａ−（ｋ−ｐ×ｒ＾（ｍ−１），ｍ−１）、・・・、ＥＸＯＲ回路１１ａ−（ｋ，ｍ−１）までの出力を接続する。ただし、ｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合は、ｋ−ｐ×ｒ＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を、ＥＸＯＲ回路１１ａ−（ｒ×ｋ，ｍ）の入力に接続する。また、ｋ−ｐ×ｒ＾（ｍ−１）が１より小さい場合には、多入力ＥＸＯＲ回路１１ａ−（ｋ，ｍ）の入力の一つは空けたままとし、入力がＥＸＯＲ回路１１ａ−（ｋ、ｍ−１）の出力１つのみならＥＸＯＲ回路を配置しない。なお、ｍは「２≦ｍ≦ｈ」を満たす整数であり、ｐは「０≦ｐ≦ｒ−１」を満たす整数である。
【０１２９】
図１１においては、ＥＸＯＲ回路１１ａ−（５，２）の入力にはＥＸＯＲ回路１１ａ−（１，０）の出力とＥＸＯＲ回路１１ａ−（５，１）の出力とが接続され、ＥＸＯＲ回路１１ａ−（６，２）の入力にはＥＸＯＲ回路１１ａ−（２，１）の出力とＥＸＯＲ回路１１ａ−（６，１）の出力とが接続され、ＥＸＯＲ回路１１ａ−（７，２）の入力にはＥＸＯＲ回路１１ａ−（３，１）の出力とＥＸＯＲ回路１１ａ−（７，１）の出力とが接続され、ＥＸＯＲ回路１１ａ−（８，２）の入力にはＥＸＯＲ回路１１ａ−（４，１）の出力とＥＸＯＲ回路１１ａ−（８，１）の出力とが接続される。
【０１３０】
ｋ行目の遅延回路１１ｂ−ｋの入力に、ｋ行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続する。ただし、１行目の遅延回路１１ｂ−１の入力には、ＥＸＯＲ回路１ａ−（１，０）の出力を接続する。遅延回路１１ｂ−ｉの出力がパラレル出力Ｏiとなる。
【０１３１】
つぎに、この発明にかかる実施の形態４のｎビットパラレルプリコーダ回路が、先の式（１）を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
【０１３２】
１列目のＥＸＯＲ回路１１ａ−（ｋ，１）はパラレル入力Ｉk-r+1〜ＩkをＥＸＯＲ演算した結果を出力し、２列目のＥＸＯＲ回路１１ａ−（ｋ，２）はＥＸＯＲ回路１１ａ−（ｋ−ｐ×ｒ，１）〜１１ａ−（ｋ，１）の出力をＥＸＯＲ演算した結果を出力する。すなわちＥＸＯＲ回路１１ａ−（ｋ，２）の出力はパラレル入力Ｉk-r×r+1〜ＩkをＥＸＯＲ演算した結果に等しい。
【０１３３】
図１１に示した８ビットのパラレルプリコーダ回路においては、１行目０列目のＥＸＯＲ回路１１ａ−（１，０）の出力をＩＩ1とし、ＥＸＯＲ演算子を「＊」とすると、２行目１列目のＥＸＯＲ回路１１ａ−（２，１）の出力ＥＸＯ１１ａ−（２，１）は、
ＥＸＯ１１ａ−（２，１）＝ＩＩ1＊Ｉ2      …式（１９−１）
で表すことができ、３行目１列目のＥＸＯＲ回路１１ａ−（３，１）の出力ＥＸＯ１１ａ−（３，１）は、
ＥＸＯ１１ａ−（３，１）＝ＩＩ1＊Ｉ2＊Ｉ3            …式（１９−２）
で表すことができ、４行目１列目のＥＸＯＲ回路１１ａ−（４，１）の出力ＥＸＯ１１ａ−（４，１）は、
ＥＸＯ１１ａ−（４，１）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4      …式（１９−３）
で表すことができ、５行目１列目のＥＸＯＲ回路１１ａ−（５，１）の出力ＥＸＯ１１ａ−（５，１）は、
ＥＸＯ１１ａ−（５，１）＝Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5        …式（１９−４）
で表すことができ、６行目１列目のＥＸＯＲ回路１１ａ−（６，１）の出力ＥＸＯ１１ａ−（６，１）は、
ＥＸＯ１１ａ−（６，１）＝Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6        …式（１９−５）
で表すことができ、７行目１列目のＥＸＯＲ回路１１ａ−（７，１）の出力ＥＸＯ１１ａ−（７，１）は、
ＥＸＯ１１ａ−（７，１）＝Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7        …式（１９−６）
で表すことができ、８行目１列目のＥＸＯＲ回路１１ａ−（８，１）の出力ＥＸＯ１１ａ−（８，１）は、
ＥＸＯ１１ａ−（８，１）＝Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8        …式（１９−７）
で表すことができる。以下、式（１９−１）〜式（１９−７）を式（１９）ということがある。
【０１３４】
また、５行目２列目のＥＸＯＲ回路１１ａ−（５，２）の出力ＥＸＯ１１ａ−（５，２）は、
ＥＸＯ１１ａ−（５，２）＝ＩＩ1＊ＥＸＯ１１ａ−（５，１）    ・・・式（２０−１）
で表すことができ、６行目２列目のＥＸＯＲ回路１１ａ−（６，２）の出力ＥＸＯ１１ａ−（６，２）は、
ＥＸＯ１１ａ−（６，２）＝ＥＸＯ１１ａ−（２，１）＊ＥＸＯ１１ａ−（６，１）
・・・式（２０−２）
で表すことができ、７行目２列目のＥＸＯＲ回路１１ａ−（７，２）の出力ＥＸＯ１１ａ−（７，２）は、
ＥＸＯ１１ａ−（７，２）＝ＥＸＯ１１ａ−（３，１）＊ＥＸＯ１１ａ−（７，１）
・・・式（２０−３）
で表すことができ、８行目２列目のＥＸＯＲ回路１１ａ−（８，２）の出力ＥＸＯ１１ａ−（８，２）は、
ＥＸＯ１１ａ−（８，２）＝ＥＸＯ１１ａ−（４，１）＊ＥＸＯ１１ａ−（８，１）
・・・式（２０−４）
で表すことができる。式（２０−１）〜式（２０−４）は、式（１９）により、
ＥＸＯ１１ａ−（５，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5          …式（２１−１）
ＥＸＯ１１ａ−（６，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6    …式（２１−２）
ＥＸＯ１１ａ−（７，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7
…式（２１−３）
ＥＸＯ１１ａ−（８，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8
…式（２１−４）
となる。以下、式（２１−１）〜式（２１−４）を式（２１）ということがある。
【０１３５】
上述した式（１９）および式（２１）は、１クロック前のパラレル出力からわかるように、この発明にかかる実施の形態４のｎビットパラレルプリコーダ回路はシリアルプリコーダ回路と等価になっている。Ｏ8と、パラレル入力Ｉ1〜Ｉ8の中で、時系列で前にあるパラレル入力Ｉ1〜Ｉ8すべてをＥＸＯＲ演算したものであり、上記式（１）を満たしている。すなわち、この発明にかかる実施の形態４のｎビットパラレルプリコーダ回路は、シリアルプリコーダ回路と等価になっている。なお、展開ビット幅ｎは、特に２のべき乗である必要はない。
【０１３６】
以上説明したように、この実施の形態４においては、複数の多入力のＥＸＯＲ回路の最大入力数をｒ（２≦ｒ，ｒは整数）とし、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、ｋ行１列目の多入力ＥＸＯＲ回路は、ｋ−ｑが１の場合には、前記０列目のＥＸＯＲ回路の出力と、２行目からｋ行目までの間のｋ−ｑ行目のパラレル入力とを入力としてＥＸＯＲ演算を行い、ｋ−ｑが１より大きい場合には、ｋ−ｒ＋１行目からｋ行目までの間のｋ−ｑ行目のパラレル入力を入力としてＥＸＯＲ演算を行ない、ｋ行目ｍ列目の多入力ＥＸＯＲ回路は、ｋ−ｐ×ｒ＾（ｍ−１）が１以上の場合に、ｋ−（ｒ−１）×ｒ＾（ｍ−１）行目からｋ行目までの間のｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目の多入力ＥＸＯＲ回路の出力を入力とし、ｋ−ｐ×ｒ＾（ｍ−１）行目ｍ−１列目に多入力ＥＸＯＲ回路が配置されてない場合には、ｋ−ｐ×ｒ＾（ｍ−１）行目に配置されている多入力ＥＸＯＲ回路の中で、最も大きい列番号を有する多入力ＥＸＯＲ回路の出力を入力としてＥＸＯＲ演算を行ない、１〜ｎ行目の遅延回路は、１〜ｎ行目それぞれに配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させて、１〜ｎ行目のパラレル出力とするようにしている。
【０１３７】
すなわち、この実施の形態４のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。具体的には、この実施の形態４においては、最大遅延をｌｏｇrｎ段に抑えることができる。また、回路規模は、ｎ×（ｌｏｇrｎ）規模のサイズに収めることができる。
【０１３８】
実施の形態５．
図１２を用いてこの発明にかかる実施の形態５を説明する。この発明にかかる実施の形態５のパラレルプリコーダ回路は、ｎ（２≦ｎ，ｎは整数）ビットのパラレル入力Ｉ1〜Ｉnからパラレル出力Ｏ1〜Ｏnを算出する。
【０１３９】
この実施の形態５のパラレルプリコーダ回路は、２入力のＥＸＯＲ回路１２ａ（１２ａ−（ｉ，ｊ）を示す）回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路１２ｂ（１２ｂ−１〜１２ｂ−ｎを示す）とを備えている。
【０１４０】
この実施の形態５のパラレルプリコーダ回路において、ＥＸＯＲ回路１２ａおよび遅延回路１２ｂは、実施の形態１と同様に後述する網構成で接続される。ｉ行目のＥＸＯＲ回路とは、パラレル入力Ｉiから遅延回路１２ｂ−ｉを結ぶ信号経路に配置されるＥＸＯＲ回路を示す。また、ｊ列目のＥＸＯＲ回路とは、遅延回路１２ｂ−ｎの出力とパラレル入力Ｉ1とが入力されるＥＸＯＲ回路を０列目と定義し、パラレル入力Ｉ1から数えてｊ個目のＥＸＯＲ回路をｊ列目のＥＸＯＲ回路とする。ＥＸＯＲ回路が配置される最終列をｈ列目と定義し、ｈｈをｌｏｇ2ｎ以上の最も小さい整数とすると、最終列ｈは、「ｈ＝２×ｈｈ−１」を満たす整数となる。
【０１４１】
図１２は、「ビット数ｎ＝１６」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態５の構成を示す図である。図１２において、パラレルプリコーダ回路は、ＥＸＯＲ回路１２ａ（１２ａ−（１，０），１２ａ−（２，１），１２ａ−（４，１），１２ａ−（６，１），１２ａ−（８，１），１２ａ−（１０，１），１２ａ−（１２，１），１２ａ−（１４，１），１２ａ−（１６，１），１２ａ−（４，２），１２ａ−（８，２），１２ａ−（１２，２），１２ａ−（１６，２），１２ａ−（８，３），１２ａ−（１６，３），１２ａ−（１６，４），１２ａ−（１２，５），１２ａ−（６，６），１２ａ−（１０，６），１２ａ−（１４，６），１２ａ−（３，７），１２ａ−（５，７），１２ａ−（７，７），１２ａ−（９，７），１２ａ−（１１，７），１２ａ−（１３，７），１２ａ−（１５，７）を示す）と、遅延回路（図中ではＤ）１２ｂ（１２ｂ−１〜１２ｂ−１６を示す）とを備えている。
【０１４２】
図１２においては、ＥＸＯＲ回路１２ａ−（１，０）は１行目０列目に配置され、ＥＸＯＲ回路１２ａ−（２，１）は２行目１列目に配置され、ＥＸＯＲ回路１２ａ−（３，７）は３行目７列目に配置され、ＥＸＯＲ回路１２ａ−（４，１）は４行目１列目に配置され、ＥＸＯＲ回路１２ａ−（４，２）は４行目２列目に配置され、ＥＸＯＲ回路１２ａ−（５，７）は５行目７列目に配置され、ＥＸＯＲ回路１２ａ−（６，１）は６行目１列目に配置され、ＥＸＯＲ回路１２ａ−（６，６）は６行目６列目に配置され、ＥＸＯＲ回路１２ａ−（７，７）は７行目７列目に配置され、ＥＸＯＲ回路１２ａ−（８，１）は８行目１列目に配置され、ＥＸＯＲ回路１２ａ−（８，２）は８行目２列目に配置され、ＥＸＯＲ回路１２ａ−（８，３）は８行目３列目に配置され、ＥＸＯＲ回路１２ａ−（９，７）は９行目７列目に配置され、ＥＸＯＲ回路１２ａ−（１０，１）は１０行目１列目に配置され、ＥＸＯＲ回路１２ａ−（１０，６）は１０行目６列目に配置され、ＥＸＯＲ回路１２ａ−（１１，７）は１１行目７列目に配置され、ＥＸＯＲ回路１２ａ−（１２，１）は１２行目１列目に配置され、ＥＸＯＲ回路１２ａ−（１２，２）は１２行目２列目に配置され、ＥＸＯＲ回路１２ａ−（１２，５）は１２行目５列目に配置され、ＥＸＯＲ回路１２ａ−（１３，７）は１３行目７列目に配置され、ＥＸＯＲ回路１２ａ−（１４，１）は１４行目１列目に配置され、ＥＸＯＲ回路１２ａ−（１４，６）は１４行目６列目に配置され、ＥＸＯＲ回路１２ａ−（１５，７）は１５行目７列目に配置され、ＥＸＯＲ回路１２ａ−（１６，１）は１６行目１列目に配置され、ＥＸＯＲ回路１２ａ−（１６，２）は１６行目２列目に配置され、ＥＸＯＲ回路１２ａ−（１６，３）は１６行目３列目に配置され、ＥＸＯＲ回路１２ａ−（１６，４）は１６行目４列目に配置され、７列目が最終列となっている。
【０１４３】
つぎに、ＥＸＯＲ回路１２ａおよび遅延回路１２ｂを接続する網構成について説明する。２ｋ行目１列目のＥＸＯＲ回路１２ａ−（２ｋ，１）の一方の入力には、パラレル入力Ｉ2kを接続し、他方の入力にはパラレル入力Ｉ2k-1を接続する。ただし、２行目１列目のＥＸＯＲ回路１２ａ−（２，１）の他方の入力には、パラレル入力Ｉ1の代わりにＥＸＯＲ回路１２ａ−（１，０）の出力を接続する。なお、ｋは「１≦ｋ≦ｎ／２」を満たす整数とする。
【０１４４】
（２＾ｍ）×ｋ行目ｍ列目のＥＸＯＲ回路１２ａ−（（２＾ｍ）×ｋ，ｍ）の一方の入力には、ＥＸＯＲ回路１２ａ−（（２＾ｍ）×ｋ−２＾（ｍ−１），ｍ−１）の出力を接続し、他方の入力にはＥＸＯＲ回路１２ａ−（（２＾ｍ）×ｋ，ｍ−１）の出力を接続する。ただし、（２＾ｍ）×ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合は、ＥＸＯＲ回路を配置しない。たとえば、図１２ではｋ＝１、ｍ＝３のＥＸＯＲ回路１２ａ−（８，３）の一方の入力にはＥＸＯＲ回路１２ａ−（４，２）の出力を接続し、他方の入力にはＥＸＯＲ回路１２ａ−（８，２）の出力を接続する。なお、ｍは「２≦ｍ≦ｈｈ」を満たす整数とする。図１２においては、ｈｈは「４」である。
【０１４５】
また、ｍが、ｈｈ＋１≦ｍ≦２×ｈｈ−１となるｍ列目のＥＸＯＲ回路については、次のように接続する。２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）行目ｍ列目のＥＸＯＲ回路１２ａ−（２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）、ｍ）の一方の入力には、２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続し、他方の入力には、２＾ｈｈ−２ｋｋ×２＾（２ｈｈ−ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を持つｊ列目のＥＸＯＲ回路の出力を接続する。なお、ｋｋは「１≦ｋｋ≦２＾（ｍ−ｈｈ）−１」を満たす整数とする。たとえば、図１２においては、ｋｋ＝１、ｍ＝６となるＥＸＯＲ回路１２ａ−（１４，６）の一方の入力にはＥＸＯＲ回路１２ａ−（１２，５）の出力を接続し、他方の入力には、ＥＸＯＲ回路１２ａ−（１４，１）の出力を接続する。
【０１４６】
ｉ行目の遅延回路１２ｂ−ｉの入力に、ｉ行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号ｊを持つｊ列目のＥＸＯＲ回路の出力を接続する。ただし、１行目の遅延回路１２ｂ−１の入力には、ＥＸＯＲ回路１２ａ−（１，０）の出力を接続する。遅延回路１２ｂ−ｉの出力がパラレル出力Ｏiとなる。
【０１４７】
つぎに、この発明にかかる実施の形態５のｎビットパラレルプリコーダ回路が、先の式（１）を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
【０１４８】
まず、図１２において、各行のｈｈ列目までに配置されるＥＸＯＲ回路の出力について説明する。１行目０列目のＥＸＯＲ回路１２ａ−（１，０）の出力をＩＩ1とし、ＥＸＯＲ演算子を「＊」とすると、２行目１列目のＥＸＯＲ回路１２ａ−（２，１）の出力ＥＸＯ１２ａ−（２，１）は、
ＥＸＯ１２ａ−（２，１）＝ＩＩ1＊Ｉ2        …式（２２−１）
で表すことができ、４行目１列目のＥＸＯＲ回路１２ａ−（４，１）の出力ＥＸＯ１２ａ−（４，１）は、
ＥＸＯ１２ａ−（４，１）＝Ｉ3＊Ｉ4          …式（２２−２）
で表すことができ、６行目１列目のＥＸＯＲ回路１２ａ−（６，１）の出力ＥＸＯ１２ａ−（６，１）は、
ＥＸＯ１２ａ−（６，１）＝Ｉ5＊Ｉ6          …式（２２−３）
で表すことができ、８行目１列目のＥＸＯＲ回路１２ａ−（８，１）の出力ＥＸＯ１２ａ−（８，１）は、
ＥＸＯ１２ａ−（８，１）＝Ｉ7＊Ｉ8          …式（２２−４）
で表すことができ、１０行目１列目のＥＸＯＲ回路１２ａ−（１０，１）の出力ＥＸＯ１２ａ−（１０，１）は、
ＥＸＯ１２ａ−（１０，１）＝Ｉ9＊Ｉ10      …式（２２−５）
で表すことができ、１２行目１列目のＥＸＯＲ回路１２ａ−（１２，１）の出力ＥＸＯ１２ａ−（１２，１）は、
ＥＸＯ１２ａ−（１２，１）＝Ｉ11＊Ｉ12      …式（２２−６）
で表すことができ、１４行目１列目のＥＸＯＲ回路１２ａ−（１４，１）の出力ＥＸＯ１２ａ−（１４，１）は、
ＥＸＯ１２ａ−（１４，１）＝Ｉ13＊Ｉ14      …式（２２−７）
で表すことができ、１６行目１列目のＥＸＯＲ回路１２ａ−（１６，１）の出力ＥＸＯ１２ａ−（１６，１）は、
ＥＸＯ１２ａ−（１６，１）＝Ｉ15＊Ｉ16      …式（２２−８）
で表すことができる。以下、式（２２−１）〜式（２２−８）を式（２２）ということがある。
【０１４９】
また、４行目２列目のＥＸＯＲ回路１２ａ−（４，２）の出力ＥＸＯ１２ａ−（４，２）は、
ＥＸＯ１２ａ−（４，２）＝ＥＸＯ１２ａ−（２，１）＊ＥＸＯ１２ａ−（４，１）      ・・・式（２３−１）
で表すことができ、８行目２列目のＥＸＯＲ回路１２ａ−（８，２）の出力ＥＸＯ１２ａ−（８，２）は、
ＥＸＯ１２ａ−（８，２）＝ＥＸＯ１２ａ−（６，１）＊ＥＸＯ１２ａ−（８，１）
・・・式（２３−２）
で表すことができ、１２行目２列目のＥＸＯＲ回路１２ａ−（１２，２）の出力ＥＸＯ１２ａ−（１２，２）は、
ＥＸＯ１２ａ−（１２，２）＝ＥＸＯ１２ａ−（１０，１）＊ＥＸＯ１２ａ−（１２，１）                                                            ・・・式（２３−３）
で表すことができ、１６行目２列目のＥＸＯＲ回路１２ａ−（１６，２）の出力ＥＸＯ１２ａ−（１６，２）は、
ＥＸＯ１２ａ−（１６，２）＝ＥＸＯ１２ａ−（１４，１）＊ＥＸＯ１２ａ−（１６，１）                                                            ・・・式（２３−４）
で表すことができる。式（２３−１）〜式（２３−４）は、式（２２）により、
ＥＸＯ１２ａ−（４，２）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4        ・・・式（２４−１）
ＥＸＯ１２ａ−（８，２）＝Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8          ・・・式（２４−２）
ＥＸＯ１２ａ−（１２，２）＝Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12    ・・・式（２４−３）
ＥＸＯ１２ａ−（１６，２）＝Ｉ13＊Ｉ14＊Ｉ15＊Ｉ16  ・・・式（２４−４）
となる。以下、式（２４−１）〜式（２４−４）を式（２４）とよぶことがある。
【０１５０】
また、８行目３列目のＥＸＯＲ回路１２ａ−（８，３）の出力ＥＸＯ１２ａ−（８，３）は、
ＥＸＯ１２ａ−（８，３）＝ＥＸＯ１２ａ−（４，２）＊ＥＸＯ１２ａ−（８，２）
・・・式（２５−１）
で表すことができ、１６行目３列目のＥＸＯＲ回路１２ａ−（１６，３）の出力ＥＸＯ１２ａ−（１６，３）は、
ＥＸＯ１２ａ−（１６，３）＝ＥＸＯ１２ａ−（１２，２）＊ＥＸＯ１２ａ−（１６，２）                                                            ・・・式（２５−２）
で表すことができる。式（２５−１）および式（２５−２）は、式（２４）により、
ＥＸＯ１２ａ−（８，３）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8
・・・式（２６−１）
ＥＸＯ１２ａ−（１６，３）＝Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14＊Ｉ15＊Ｉ16
・・・式（２６−２）
となる。以下、式（２６−１）および式（２６−２）を式（２６）ということがある。
【０１５１】
１６行目４列目のＥＸＯＲ回路１２ａ−（１６，４）の出力ＥＸＯ１２ａ−（１６，４）は、
ＥＸＯ１２ａ−（１６，４）＝ＥＸＯ１２ａ−（８，３）＊ＥＸＯ１２ａ−（１６，３）
で表すことができ、式（２６）により、
ＥＸＯ１２ａ−（１６，４）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14＊Ｉ15＊Ｉ16      ・・・式（２７）
となる。
【０１５２】
つぎに、ｈｈ列目以降に配置されるＥＸＯＲ回路の出力について説明する。１２行目５列目のＥＸＯＲ回路１２ａ−（１２，５）の出力ＥＸＯ１２ａ−（１２，５）は、
ＥＸＯ１２ａ−（１２，５）＝ＥＸＯ１２ａ−（８，３）＊ＥＸＯ１２ａ−（１２，２）
で表すことができ、式（２４）および式（２６）により、
ＥＸＯ１２ａ−（１２，５）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12      ・・・式（２８）
となる。
【０１５３】
６行目６列目のＥＸＯＲ回路１２ａ−（６，６）の出力ＥＸＯ１２ａ−（６，６）は、
ＥＸＯ１２ａ−（６，６）＝ＥＸＯ１２ａ−（４，２）＊ＥＸＯ１２ａ−（６，１）
・・・式（２９−１）
で表すことができ、１０行目６列目のＥＸＯＲ回路１２ａ−（１０，６）の出力ＥＸＯ１２ａ−（１０，６）は、
ＥＸＯ１２ａ−（１０，６）＝ＥＸＯ１２ａ−（８，３）＊ＥＸＯ１２ａ−（１０，１）
・・・式（２９−２）
で表すことができ、１４行目６列目のＥＸＯＲ回路１２ａ−（１４，６）の出力ＥＸＯ１２ａ−（１４，６）は、
ＥＸＯ１２ａ−（１４，６）＝ＥＸＯ１２ａ−（１２，５）＊ＥＸＯ１２ａ−（１４，１）                                                            ・・・式（２９−３）
で表すことができる。式（２９−１）〜式（２９−３）は、式（２２）、式（２４）、および式（２６）により、
ＥＸＯ１２ａ−（６，６）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6    ・・・式（３０−１）
ＥＸＯ１２ａ−（１０，６）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10                                                          ・・・式（３０−２）
ＥＸＯ１２ａ−（１４，６）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14                                ・・・式（３０−３）
となる。以下、式（３０−１）〜式（３０−３）を式（３０）とよぶことがある。
【０１５４】
３行目７列目のＥＸＯＲ回路１２ａ−（３，７）の出力ＥＸＯ１２ａ−（３，７）は、
ＥＸＯ１２ａ−（３，７）＝ＥＸＯ１２ａ−（２，１）＊Ｉ3      ・・・式（３１−１）
で表すことができ、５行目７列目のＥＸＯＲ回路１２ａ−（５，７）の出力ＥＸＯ１２ａ−（５，７）は、
ＥＸＯ１２ａ−（５，７）＝ＥＸＯ１２ａ−（４，２）＊Ｉ5      ・・・式（３１−２）
で表すことができ、７行目７列目のＥＸＯＲ回路１２ａ−（７，７）の出力ＥＸＯ１２ａ−（７，７）は、
ＥＸＯ１２ａ−（７，７）＝ＥＸＯ１２ａ−（６，６）＊Ｉ7      ・・・式（３１−３）
で表すことができ、９行目７列目のＥＸＯＲ回路１２ａ−（９，７）の出力ＥＸＯ１２ａ−（９，７）は、
ＥＸＯ１２ａ−（９，７）＝ＥＸＯ１２ａ−（８，３）＊Ｉ9      ・・・式（３１−４）
で表すことができ、１１行目７列目のＥＸＯＲ回路１２ａ−（１１，７）の出力ＥＸＯ１２ａ−（１１，７）は、
ＥＸＯ１２ａ−（１１，７）＝ＥＸＯ１２ａ−（１０，６）＊Ｉ11  ・・・式（３１−５）
で表すことができ、１３行目７列目のＥＸＯＲ回路１２ａ−（１３，７）の出力ＥＸＯ１２ａ−（１３，７）は、
ＥＸＯ１２ａ−（１３，７）＝ＥＸＯ１２ａ−（１２，５）＊Ｉ13  ・・・式（３１−６）
で表すことができ、１５行目７列目のＥＸＯＲ回路１２ａ−（１５，７）の出力ＥＸＯ１２ａ−（１５，７）は、
ＥＸＯ１２ａ−（１５，７）＝ＥＸＯ１２ａ−（１４，６）＊Ｉ15  ・・・式（３１−７）
で表すことができる。式（３１−１）〜式（３１−７）は、式（２２）、式（２４）、式（２６）、式（２８）、および式（３０）により、
ＥＸＯ１２ａ−（３，７）＝ＩＩ1＊Ｉ2＊Ｉ3                  ・・・式（３２−１）
ＥＸＯ１２ａ−（５，７）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5      ・・・式（３２−２）
ＥＸＯ１２ａ−（７，７）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7
・・・式（３２−３）
ＥＸＯ１２ａ−（９，７）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9
・・・式（３２−４）
ＥＸＯ１２ａ−（１１，７）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11                                                    ・・・式（３２−５）
ＥＸＯ１２ａ−（１３，７）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13                                      ・・・式（３２−６）
ＥＸＯ１２ａ−（１５，７）＝ＩＩ1＊Ｉ2＊Ｉ3＊Ｉ4＊Ｉ5＊Ｉ6＊Ｉ7＊Ｉ8＊Ｉ9＊Ｉ10＊Ｉ11＊Ｉ12＊Ｉ13＊Ｉ14＊Ｉ15                        ・・・式（３２−７）
となる。以下、式（３２−１）〜式（３２−７）を式（３２）ということがある。
【０１５５】
上述した式（２２）、式（２４）、式（２６）、式（２７）、式（２８）、式（３０）および式（３２）は、１クロック前のパラレル出力Ｏ16と、パラレル入力Ｉ1〜Ｉ16の中で、時系列で前にあるパラレル入力Ｉ1〜Ｉ16すべてをＥＸＯＲ演算したものであり、上記式（１）を満たしている。すなわち、この発明にかかる実施の形態５のｎビットパラレルプリコーダ回路は、シリアルプリコーダ回路と等価になっている。
【０１５６】
以上説明したように、この実施の形態５においては、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、１列目２ｋ行目のＥＸＯＲ回路は、２ｋ行目のパラレル入力を一方の入力と、ｋの値が１である場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、（２＾ｍ）×ｋ行目ｍ列目のＥＸＯＲ回路は、（２＾ｍ）×ｋ−２＾（ｍ−１）が１以上であって、かつ（２＾ｍ）×ｋがｎ以下の場合、（２＾ｍ）×ｋ行目ｍ−１列目のＥＸＯＲ回路の出力と、（２＾ｍ）×ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行ない、２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）行目ｍ列目のＥＸＯＲ回路は、ｍの値がｈｈ以上であってかつ２×ｈｈ−１以下の場合に、２＾ｈｈ−（２ｋｋ−１）×２＾（２ｈｈ−ｍ−１）行目（１≦ｋｋ，ｋｋは整数）に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力と、２＾ｈｈ−２ｋｋ×２＾（２ｈｈ−ｍ−１）行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力とを入力としてＥＸＯＲ演算を行ない、１〜ｎ行目の遅延回路は、１〜ｎ行目それぞれに配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させて、１〜ｎ行目のパラレル出力とするようにしている。
【０１５７】
すなわち、この実施の形態５のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。具体的には、この実施の形態３においては、最大遅延を２×（ｌｏｇ2ｎ）−１段に抑えることができる。また、回路規模は、ｎ×（ｌｏｇ2ｎ）規模サイズに収めることができる。
【０１５８】
実施の形態６．
図１３を用いてこの発明の実施の形態６を説明する。上述した実施の形態１〜５では、パラレルプリコーダ回路が算出するパラレル出力の前に遅延回路を配置するようにしたが、この実施の形態６のパラレルプリコーダ回路は、パラレル出力から前段のＥＸＯＲ回路へのフィードバックを行っているｎ行目の遅延回路以外の遅延回路の中で、シリアル伝送時に時系列上で最も古いデータを出力するものから連続して削除するものである。
【０１５９】
図１３は、この発明にかかるパラレルプリコーダ回路の実施の形態６の構成を示す図である。図１３に示したパラレルプリコーダ回路は、先の図１に示した実施の形態１のパラレルプリコーダ回路から、パラレル出力Ｏ1に接続されるシリアル伝送時に時系列上で最も古いデータを出力する遅延回路１ｂ−１から７ビット連続した遅延回路１ｂ−１〜１ｂ−７が削除されている。図１に示した実施の形態１のパラレルプリコーダ回路と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【０１６０】
実施の形態１〜５のパラレルプリコーダ回路において、フィードバックを掛けている遅延回路から出力されるデータは、パラレル出力の中で最も新しいデータ、すなわち多重後のシリアル伝送時には一番最後に伝送されるデータであり、他の遅延回路からの出力がその前のｎ−１ビット分に相当する。ｎビットパラレルプリコーダ回路内の動作クロックはｎ／Ｆ［Ｈｚ］であり、遅延回路を取り除くことにより１クロック分の遅延回路前段のデータはｎビット分新しいデータとなる。
【０１６１】
図１３においては、図１に示した遅延回路１ｂ−１〜１ｂ−７を取り除くことにより、パラレル出力Ｏ1〜Ｏ7はシリアル伝送時に遅延回路１ｂ−８から出力されるデータの後ろに続く７ビットのデータになる。このためパラレルプリコーダ回路の後段に配置される多重化回路において、パラレルプリコーダ回路の遅延回路１ｂ−８からのパラレル出力Ｏ8をシリアル伝送時に最も早く伝送し、つぎにパラレル出力Ｏ1、パラレル出力Ｏ2、・・・、パラレル出力Ｏ7の順に出力するようにすれば、図１に示したパラレルプリコーダ回路を用いた場合と比較して、伝送速度Ｆ［Ｈｚ］における１クロック単位時間でｎ−１クロック速くデータ出力されるだけである。
【０１６２】
以上説明したように、この実施の形態６のパラレルプリコーダ回路は、０列目のＥＸＯＲ回路は、ｎ行目の遅延回路の出力を一方の入力とし、１行目のパラレル入力を他方の入力としてＥＸＯＲ演算を行ない、２ｋ行目１列目のＥＸＯＲ回路は、２ｋ行目のパラレル入力を一方の入力とし、ｋの値が１の場合には前記０列目のＥＸＯＲ回路の出力を他方の入力とし、ｋの値が１より大きい場合には２ｋ−１行目のパラレル信号を他方の入力としてＥＸＯＲ演算を行い、２ｋ行目ｍ列目のＥＸＯＲ回路は、２ｋ−２＾（ｍ−１）が１以上の場合に、２ｋ行目ｍ−１列目のＥＸＯＲ回路の出力を一方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されている場合には前記２ｋ−２＾（ｍ−１）行目ｍ−１列目のＥＸＯＲ回路の出力を他方の入力とし、２ｋ−２＾（ｍ−１）行目ｍ−１列目にＥＸＯＲ回路が配置されていない場合には２ｋ−２＾（ｍ−１）行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行ない、２ｋ−１行目ｈ列目のＥＸＯＲ回路は、２ｋ−１行目のパラレル信号を一方の入力とし、２ｋ−２行目に配置されているＥＸＯＲ回路の中で、最も大きい列番号を有するＥＸＯＲ回路の出力を他方の入力としてＥＸＯＲ演算を行ない、ｎ行目の遅延回路は、ｎ行目に配置されているＥＸＯＲ回路の中で最も大きい列番号を有するＥＸＯＲ回路の出力を遅延させ、１〜ｎ−１行目に配置されているＥＸＯＲ回路の中でそれぞれ最も大きい列番号を有するＥＸＯＲ回路の出力を１〜ｎ−１行目のパラレル出力とし、ｎ行目の遅延回路の出力をｎ行目のパラレル出力とするようにしている。
【０１６３】
すなわち、この実施の形態６のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成するとともに、１行目０列目のＥＸＯＲ回路にフィードバックするｎ行目のパラレル出力のみを遅延させるようにしているため、回路の遅延が小さく、かつ回路規模の小さいパラレルプリコーダを得ることができる。
【０１６４】
具体的には、実施の形態１のパラレルプリコーダ回路と比較して、ｎ−１個分の遅延回路が削減されており、パラレル入出力のビット数が大きくなるほど回路規模を削減することができる。
【０１６５】
なお、この実施の形態６では、先の実施の形態１のパラレルプリコーダ回路において、遅延回路１ｂ−１〜１ｂ−７を削除した場合を例に挙げて説明したが、実施の形態２〜５のパラレルプリコーダ回路においても、１〜ｎ−１ビット目に配置されている遅延回路を削除しても同様の効果が得られることはいうまでもない。また、この実施の形態６では、遅延回路をｎビット目のみに配置するようにしたが、ｉ（１≦ｉ≦ｎ−１）〜ｎビット目、すなわちｎビット目に連続するビット分の遅延回路を備えるようにしても同様の効果を得ることができる。
【０１６６】
実施の形態７．
図１４および図１５を用いてこの発明の実施の形態７を説明する。上述した実施の形態１〜６では、１クロック前のパラレル出力の中で、最も新しいデータを保持する遅延回路の出力をフィードバックして、パラレル入力の中で最も古いパラレル入力とＥＸＯＲ演算を行なうようにした。この実施の形態７では、全てのパラレル入力と遅延回路の出力とのＥＸＯＲ演算を行なってフィードバックループを構成するものである。
【０１６７】
図１４は、「ビット数ｎ＝８」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態７の構成を示す図である。図１４に示したパラレルプリコーダ回路は、先の図１に示したパラレルプリコーダ回路のＥＸＯＲ回路１ａ−（８，１），１ａ−（８，２）
，１ａ−（８，３）および遅延回路１ｂ−８の代わりに、ｎ＋１入力のＥＸＯＲ回路１４ａ−（８，０）および遅延回路１４ｂ−８を備えている。すなわち、この実施の形態７のパラレルプリコーダ回路は、実施の形態１のパラレルプリコーダ回路とは、８ビット目（８行目）に配置されるＥＸＯＲ回路の構成のみが異なっている。図１に示した実施の形態１のパラレルプリコーダ回路と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
【０１６８】
つぎに、この実施の形態７のパラレルプリコーダ回路の網構成について説明する。１行目からｎ−１行目までのＥＸＯＲ回路および遅延回路は実施の形態１と同様に接続する。ｎ行目のｎ＋１入力ＥＸＯＲ回路、図１４においては、９入力のＥＸＯＲ回路１４ａ−（８，０）の入力にはパラレル入力Ｉ1〜Ｉ8と、遅延回路１４ｂ−８の出力を接続し、遅延回路１４ｂ−８の出力をパラレル出力Ｏ8とする。遅延回路１４ｂ−８の入力にはＥＸＯＲ回路１４a−（８，０）の出力を接続する。また、１行目０列目のＥＸＯＲ回路１４ａ−（１，０）の一方の入力にはパラレル入力Ｉ1を接続し、他方の入力には遅延回路１４ｂ−８の出力を接続する。
【０１６９】
ｎ＋１入力ＥＸＯＲ回路は、前述したように、入力された信号のうち、“１”が奇数個であれば“１”を出力し、偶数個であれば“０”を出力する。図１５は、図１４に示したＥＸＯＲ回路１４ａ−（８，０）および遅延回路１４ｂ−８の構成を示す図である。多入力（この場合は、９入力）のＥＸＯＲ回路１４ａ−（８，０）は、図１５に示すように、パラレル入力Ｉ1〜Ｉ8のＥＸＯＲ演算を２入力のＥＸＯＲ回路を組み合わせて実現する。
【０１７０】
図１５において、ｎ＋１（この場合は、９）入力のＥＸＯＲ回路１４ａ−（８，０）は、ツリー状に構成した２入力のＥＸＯＲ回路にパラレル入力Ｉ1〜Ｉ8を入力して得られる出力と、遅延回路１４ｂ−８の出力とをＥＸＯＲ演算して出力する構成となっている。この時、パラレル出力Ｏ8は、先の式（１）に示されるパラレル出力Ｏn（Ｔ）を満たしている。
【０１７１】
実施の形態１〜６のパラレルプリコーダ回路は、複数のグループに分けてＥＸＯＲ演算を行い、それらを何段かに分けてさらにＥＸＯＲ演算でまとめるように構成したが、全てのＥＸＯＲ回路は自身が配置される行番号以下にあるＥＸＯＲ回路の出力を利用する。ｎ行目の遅延回路の出力をフィードバックして、１行目０列目のＥＸＯＲ回路に入力するが、ｎ行目に配置されているＥＸＯＲ回路の出力が、直接他のパラレル出力Ｏ1〜Ｏn-1を生成するために使用されることはない。このため上記のようにパラレル出力Ｏnを生成しても、パラレル出力Ｏ1〜Ｏn-1は実施の形態１〜７と同様の構成を用いることにより式（１）に示されるパラレルプリコーダ回路の論理式のうち、パラレル出力Ｏ1（Ｔ）からＯn-1（Ｔ）までを満たすことができる。
【０１７２】
以上説明したように、この実施の形態７においては、ｎビット目に全てのパラレル入力とｎビット目のパラレル出力とのＥＸＯＲ演算を行なうｎ＋１入力のＥＸＯＲ回路を備え、このＥＸＯＲ回路の出力を１クロック遅延させた出力を、１ビット目のＥＸＯＲ回路に接続する構成としているので、回路遅延が小さいパラレルプリコーダ回路を得ることができる。
【０１７３】
また、ｎビット目の遅延回路から出力され、再度同一の遅延回路に入力されるフィードバック経路を分離して、フィードバック経路上のＥＸＯＲ回路の個数を減らすことにより、ＥＸＯＲ回路に要求される動作速度を緩和することができる。
【０１７４】
実施の形態８．
図１６を用いてこの発明の実施の形態８を説明する。実施の形態７では、多入力のＥＸＯＲ回路を用いてフィードバック経路を分離して、ＥＸＯＲ回路に対する動作速度の要求を緩和した。この実施の形態８では、パイプライン手法を用いてＥＸＯＲ回路に対する動作速度の要求を緩和するものである。
【０１７５】
先の図１４に示した実施の形態７のパラレルプリコーダ回路に、パイプライン用の遅延回路（たとえば、フリップフロップ）を挿入する場合、ＥＸＯＲ回路の網構成の部分に挿入するフリップフリップと同じ段数のフリップフロップを遅延回路１４ｂ−８の後段に挿入するとともに、９入力のＥＸＯＲ回路１４ａ−（８，０）に挿入するフリップフロップと同数のフリップフロップを、パラレル入力Ｉ1〜Ｉn-1を９入力のＥＸＯＲ回路１４ａ−（８，０）の入力に分岐した後の経路に挿入して、残りのパラレル入力Ｉ1〜Ｉn-1の後段に繋げる。
【０１７６】
図１６は、ビット数ｎ＝８の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態８の構成を示す図である。図１６に示したパラレルプリコーダ回路は、先の図１４に示した実施の形態７のパラレルプリコーダ回路に、たとえば、フリップフロップで構成されるパイプライン用の遅延回路（図中ではＤ）１６ｂ（１６ｂ−（１，１），１６ｂ−（２，１），１６ｂ−（３，１），１６ｂ−（４，１），１６ｂ−（５，１），１６ｂ−（６，１），１６ｂ−（７，１），１６ｂ−（１，２），１６ｂ−（２，２），１６ｂ−（３，２），１６ｂ−（４，２），１６ｂ−（５，２），１６ｂ−（６，２），１６ｂ−（７，２），１６ｂ−（８，２）を示す）が追加され、多入力（この場合は、９入力）のＥＸＯＲ回路１４ａ−（８，０）の代わりに９入力のＥＸＯＲ回路１６ａ−（８，０）を備えている。
【０１７７】
図１６においては、９入力のＥＸＯＲ回路１６ａ−（８，０）内部に、パラレル入力Ｉ1〜Ｉ8側から数えて２段目のＥＸＯＲ回路と３段目のＥＸＯＲ回路との間に、フリップフロップなどで構成される１段のパイプライン用の遅延回路（図中ではＤ）１６ｂ−（８，１），１６ｂ−（９，１）を挿入する。また、パラレル入力Ｉ1〜Ｉ7をＥＸＯＲ回路１６ａ−（８，０）の入力に分岐した後に１段の遅延回路１６ｂ−（１，１），１６ｂ−（２，１），１６ｂ−（３，１），１６ｂ−（４，１），１６ｂ−（５，１），１６ｂ−（６，１），１６ｂ−（７，１）を挿入する。
【０１７８】
また、１〜ｎ−１ビット目、すなわち１〜７行目の２列目と３列目との間に、１段のパイプライン用の遅延回路１６ｂ−（１，２），１６ｂ−（２，２），１６ｂ−（３，２），１６ｂ−（４，２），１６ｂ−（５，２），１６ｂ−（６，２），１６ｂ−（７，２）を挿入するとともに、８ビット目、すなわち８行目の遅延回路１４ｂ−８の後段に遅延回路１６ｂ−（８，２）を挿入する。
【０１７９】
これにより、全ての信号経路に等しい段数の遅延回路を挿入するようにしているので、パラレルプリコーダ回路内でパラレル出力Ｏ1〜Ｏnに加えられる遅延が等しくなり、パラレル出力Ｏ1〜Ｏnの相互の位相関係に変化を与えることなく、最大遅延経路を分割することができる。図１６においては、パイプライン用の遅延回路を挿入することにより、最大遅延経路上のＥＸＯＲ回路を４段から２段に低減させている。このように１クロックで動作すべきＥＸＯＲ回路の段数を緩和することができ、ＥＸＯＲ回路の動作速度への要求を低減することができる。
【０１８０】
以上説明したように、この実施の形態８においては、パイプライン用の遅延回路を、回路の動作速度Ｆ／ｎ［Ｈｚ］で動作可能な直結したＥＸＯＲ回路の段数毎に挿入するようにしているため、網構成部分のＥＸＯＲ回路の最大遅延経路はｎ段からｌｏｇ2ｎ段に低減され、パイプライン用に挿入するフリップフロップの個数自体も（ｌｏｇ2ｎ）／ｎになり、回路規模を小さくすることができる。
【０１８１】
なお、この実施の形態１〜８においては、光デュオバイナリ方式を例に挙げて説明したがこれに限るものではない、たとえば、パーシャルレスポンス（１、１）方式に基づいたプリコーダや、ＤＰＳＫ方式に基づいた差動符号化器などにも適用することができる。
【産業上の利用可能性】
【０１８２】
以上のように、本発明にかかるパラレルプリコーダ回路は、高速動作が要求される通信システムに有用であり、特に、光デュオバイナリ方式やパーシャルレスポンス（１、１）方式、ＤＰＳＫ方式などを用いた通信システムに適している。
【図面の簡単な説明】
【０１８３】
【図１】この発明にかかる実施の形態１のパラレルプリコーダ回路の構成の一例を示す図である。
【図２】一般的な光デュオバイナリ送受信系の回路の構成を示す図である。
【図３】図２に示したプリコーダ２１の動作を説明するためのタイミングチャートである。
【図４】この発明にかかる実施の形態１のパラレルプリコーダ回路が適用されるデュオバイナリ信号パラレルプリコーダ回路の構成を示すブロック図である。
【図５】図４に示したデュオバイナリ信号パラレルプリコーダ回路の動作を説明するためのタイミングチャートである。
【図６】この発明にかかる実施の形態１のパラレルプリコーダ回路の構成の一例を示す図である。
【図７】出力信号各々を並列展開された入力信号から生成するパラレルプリコーダ回路の構成を示す図である。
【図８−１】多入力ＥＸＯＲ回路の構成の一例を示す図である。
【図８−２】多入力ＥＸＯＲ回路の構成の一例を示す図である。
【図８−３】多入力ＥＸＯＲ回路の構成の一例を示す図である。
【図９】この発明にかかる実施の形態２のパラレルプリコーダ回路の構成の一例を示す図である。
【図１０】この発明にかかる実施の形態３のパラレルプリコーダ回路の構成の一例を示す図である。
【図１１】この発明にかかる実施の形態４のパラレルプリコーダ回路の構成の一例を示す図である。
【図１２】この発明にかかる実施の形態５のパラレルプリコーダ回路の構成の一例を示す図である。
【図１３】この発明にかかる実施の形態６のパラレルプリコーダ回路の構成の一例を示す図である。
【図１４】この発明にかかる実施の形態７のパラレルプリコーダ回路の構成の一例を示す図である。
【図１５】図１４に示した多入力のＥＸＯＲ回路および遅延回路の構成を示す図である。
【図１６】この発明にかかる実施の形態８のパラレルプリコーダ回路の構成の一例を示す図である。
【符号の説明】
【０１８４】
１ａ，７ａ，９ａ，１０ａ，１１ａ，１２ａ，１４ａ  ＥＸＯＲ回路
１ｂ，７ｂ，９ｂ，１０ｂ，１１ｂ，１２ｂ，１４ｂ，１６ｂ  遅延回路
２１  プリコーダ
２２  エンコーダ
２３  デコーダ
４１  パラレルプリコーダ回路
４２  分離回路
４３  多重回路
【図１】
0004675721.tif 000002
【図２】
0004675721.tif 000003
【図３】
0004675721.tif 000004
【図４】
0004675721.tif 000005
【図５】
0004675721.tif 000006
【図６】
0004675721.tif 000007
【図７】
0004675721.tif 000008
【図８−１】
0004675721.tif 000009
【図８−２】
0004675721.tif 000010
【図８−３】
0004675721.tif 000011
【図９】
0004675721.tif 000012
【図１０】
0004675721.tif 000013
【図１１】
0004675721.tif 000014
【図１２】
0004675721.tif 000015
【図１３】
0004675721.tif 000016
【図１４】
0004675721.tif 000017
【図１５】
0004675721.tif 000018
【図１６】
0004675721.tif 000019