JP4675721B2 - パラレルプリコーダ回路 - Google Patents

パラレルプリコーダ回路 Download PDF

Info

Publication number
JP4675721B2
JP4675721B2 JP2005252195A JP2005252195A JP4675721B2 JP 4675721 B2 JP4675721 B2 JP 4675721B2 JP 2005252195 A JP2005252195 A JP 2005252195A JP 2005252195 A JP2005252195 A JP 2005252195A JP 4675721 B2 JP4675721 B2 JP 4675721B2
Authority
JP
Japan
Prior art keywords
circuit
exor
row
input
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005252195A
Other languages
English (en)
Other versions
JP2007067904A (ja
Inventor
良明 小西
和夫 久保
靖行 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Electronics Corp
Mitsubishi Electric Corp
Original Assignee
NTT Electronics Corp
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Electronics Corp, Mitsubishi Electric Corp filed Critical NTT Electronics Corp
Priority to JP2005252195A priority Critical patent/JP4675721B2/ja
Priority to US11/304,913 priority patent/US7398450B2/en
Publication of JP2007067904A publication Critical patent/JP2007067904A/ja
Application granted granted Critical
Publication of JP4675721B2 publication Critical patent/JP4675721B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/497Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems by correlative coding, e.g. partial response coding or echo modulation coding transmitters and receivers for partial response systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying
    • H04L27/20Modulator circuits; Transmitter circuits
    • H04L27/2096Arrangements for directly or externally modulating an optical carrier

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Dc Digital Transmission (AREA)
  • Optical Communication System (AREA)
  • Manipulation Of Pulses (AREA)

Description

本発明は、パラレル入力にEXOR演算を施してパラレル出力するパラレルプリコーダ回路に関するものである。
近年、光通信システムにおいて、中継距離拡大および伝送速度を高速化する技術として、光デュオバイナリ変調方式や差動位相偏移変調(DPSK:Differential Phase Shift Keying)方式が脚光を浴びている。
光デュオバイナリ方式は、デュオバイナリ信号を適用することで信号のスペクトルが狭帯域化され、波長分散による信号の劣化を抑えることができる。また、信号のキャリア周波数成分が減少するため、誘導ブリルアン散乱による信号の劣化を抑制する効果もある。
デュオバイナリ方式は、通信工学ではパーシャルレスポンス(1、1)方式に分類され、送受信系の回路は、プリコーダ、エンコーダ、およびデコーダを備えている。プリコーダは、入力信号と、プリコーダの出力信号を1ビット遅延させた1ビット遅延フィードバック信号との排他的論理和(Exclusive OR:以下、EXORとする)の演算結果を出力する。エンコーダは、プリコーダの出力信号と、プリコーダの出力信号を1ビット遅延させた1ビット遅延信号とを加算して出力する。デコーダは、エンコーダの出力
を用いてモジュロ2計算を行なう。また、このプリコーダ回路は、差動位相偏移変調方式において、通信すべき“1”および“0”の情報を、連続して送信される2シンボル間の位相差に変換する差動符号化器としても使用される。
光デュオバイナリ方式では、エンコーダの機能はローパスフィルタで実現し、デコーダの機能はフォトディテクタなど実現することが多い。すなわち、エンコーダおよびデコーダは、個別のアナログ部品や光素子で実現されることが多い。一方、プリコーダは論理回路を用いるのが一般的である。
光通信における伝送速度F[Hz]は、10Gb/s、40Gb/sと超高速化されている。そのため、信号を伝送速度Fに合わせて、1ビットシリアルデータのまま処理するシリアルプリコーダ回路を用いた場合、使用するEXOR回路の動作速度への要求が非常に厳しくなるという問題があった。
また、伝送速度Fが高速になると、1ビットあたりのクロック単位時間が短くなることから1ビット遅延を実現する回路のタイミング調整も困難になるという問題があった。
このような問題を改善するために、従来のデュオバイナリ方式を用いた送受信系では、入力信号をシリアル−パラレル変換して並列化し、パラレルプリコーダ回路で処理を行なうことで、プリコーダの機能を実現する回路に対する動作速度の要求を低下させるようにしている。
パラレルプリコーダ回路の従来技術として、特許文献1および2がある。特許文献1に記載の従来のパラレルプリコーダ回路は、n(2≦n,nは整数)ビットの並列化を行う場合、まずプリコーダへの入力を分離回路に入力し、シリアル−パラレル変換を施すか、フレーマなどの前段回路からのパラレル信号を直接利用するかして、nビットのパラレル信号sk(i)(1<i≦n,iは整数)に展開して、sk(i)をn個の2入力EXOR回路入力の一方に接続する。つぎにこのk番目(1≦k≦n−1,kは整数)のEXOR回路の出力tk(i)を、k+1番目のEXOR回路の他方の入力に接続してEXOR回路を縦続接続する。またn番目のEXOR回路の出力をパラレルプリコーダ回路の動作速度F/n[Hz]で1クロック遅延させて、1番目のEXOR回路の他方の入力に接続する。最後にn個のEXOR回路の出力を多重回路でパラレル−シリアル変換して出力する。このように並列展開したパラレルプリコーダ回路は、2入力EXOR回路および1クロック遅延回路の一組からなるシリアルプリコーダ回路と等価に動作する。
特許文献2に記載の従来のパラレルプリコーダ回路は、上記特許文献1に記載のパラレルプリコーダ回路と同様にEXOR回路が縦続接続されており、分岐させたパラレル入力信号を多入力のEXOR回路に入力し、その出力を和分変換回路に入力する。和分変換回路はEXOR回路と1クロック遅延手段を有し、EXOR回路の出力が1クロック遅延手段の入力に、1クロック遅延回路の出力がEXOR回路の一方の入力にフィードバックされる。和分変換回路の出力は分岐されて、1番目のEXORの一方の入力にも接続される。縦続接続されたEXOR回路の出力と和分変換回路の出力を時分割多重手段で多重化して出力する。このような構成のパラレルプリコーダ回路も、シリアルプリコーダ回路と等価な動作を実現する。
特開平11−122205号公報 特許第3474794号公報
しかしながら、上記特許文献1に記載の従来のパラレルプリコーダ回路は、1クロック遅延回路からn個のEXOR回路全てを通り1クロック遅延回路にフィードバック入力される経路が、回路の動作速度の上限を決定する最大遅延経路となる。すなわち、信号は、動作速度F/nでの1クロック単位時間n/F[秒]内に、n段に直結されたEXOR回路に伝搬されなければならない。そのため、入力信号をnビットに並列展開しているが、一つのEXOR回路に許容される遅延時間は1/nとなるので、個々のEXOR回路はF[Hz]で動作しなければならず、並列化の効果を十分に得ることができないという問題があった。
一般的には、最大遅延経路内の組合せ回路(この場合は、EXOR回路)の数を減少させるために、組合せ回路間にフリップフロップ回路を挿入するパイプライン手法を用いることができる。しかしながら、上記特許文献1に記載のパラレルプリコーダ回路においては、最大遅延経路が、1クロック遅延回路からn個のEXOR回路を全て通って再度1クロック遅延回路に入力されるフィードバックループであるため、パイプライン手法を用いることができない。
また、上記特許文献2に記載の従来のパラレルプリコーダ回路は、フィードバック部分の含まれるEXOR回路の段数を1段に減らすことで、EXOR回路の動作速度への要求をF/n[Hz]に緩和している。しかしながら、パラレルプリコーダ回路の出力を生成するため、縦続接続したnに比例するEXOR回路部分が残る。この縦続接続したEXOR回路からのパラレル出力信号同士のタイミングを合わせるために、たとえば、パイプライン方式を適用すると、nの2乗規模のフリップフロップが必要になり、回路規模が大きくなってしまうという問題があった。
また、上記特許文献1および2に記載の従来のパラレルプリコーダ回路とは異なるが、パラレル信号内で下位の桁のEXOR回路の出力を利用せずに、パラレルプリコーダ回路の出力信号各々を、並列展開された入力信号から生成する回路構成もある。この回路構成では、最大遅延経路のEXOR回路の段数を下げることができる。しかしながら、このような回路構成にした場合、EXOR回路のゲート数、並びに信号線を分岐するFAN OUT数および配線長が大きくなり、回路サイズがnの2乗に比例して大きくなるという問題があった。
本発明は、上記に鑑みてなされたものであって、回路規模の増大を抑制するとともに、最大遅延経路の遅延を低減して高速に動作するパラレルプリコーダ回路を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、n(2≦n,nは整数)行のパラレル入力にEXOR演算を施してn行のパラレル出力を出力するパラレルプリコーダ回路であって、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行なう0列目のEXOR回路と、2k(1≦k≦n/2,kは整数)行目のパラレル入力を一方の入力とし、kの値が1の場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル信号を他方の入力としてEXOR演算を行なう2k行目1列目のEXOR回路と、2k−2^(m−1)(2≦m≦h−1,mは整数であって、hは、log2n+1以上の最も小さい整数)が1以上の場合に、2k行目m−1列目のEXOR回路の出力を一方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されている場合には前記2k−2^(m−1)行目m−1列目のEXOR回路の出力を他方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には2k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行なう2k行目m列目のEXOR回路と、2k−1行目のパラレル信号を一方の入力とし、2k−2行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行なう2k−1行目h列目のEXOR回路と、n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させる前記n行目の遅延回路と、を備え、1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とすること、を特徴とする。
この発明によれば、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、2k(1≦k≦n/2,kは整数)行目1列目のEXOR回路は、k行目のパラレル入力を一方の入力とし、kの値が1の場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル信号を他方の入力としてEXOR演算を行い、2k行目m(2≦m≦h−1,mは整数であって、hは、log2n+1以上の最も小さい整数)列目のEXOR回路は、2k−2^(m−1)が1以上の場合に、2k行目m−1列目のEXOR回路の出力を一方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されている場合には前記2k−2^(m−1)行目m−1列目のEXOR回路の出力を他方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には2k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行ない、2k−1行目h列目のEXOR回路は、2k−1行目のパラレル信号を一方の入力とし、2k−2行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行ない、n行目の遅延回路は、n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させて、1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とするようにしている。
すなわち、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるようにしているので、回路規模を抑制しつつ、EXOR回路に要求される動作速度を緩和することができるパラレルプリコーダ回路を得ることができるという効果を奏する。
以下に、本発明にかかるパラレルプリコーダ回路の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1〜図8を参照してこの発明にかかる実施の形態1を説明する。この発明にかかる実施の形態1のパラレルプリコーダ回路は、n(2≦n,nは整数)ビットのパラレル入力I1〜Inからパラレル出力O1〜Onを算出する。
この実施の形態1のパラレルプリコーダ回路は、2入力の排他的論理和(以下、EXORとする)1a(1a−(i,j)を示す)回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路1b(1b−1〜1b−nを示す)とを備えている。なお、単位時間とは、パラレルプリコーダ回路の動作速度の逆数であり、伝送速度をF[Hz]とすると、単位時間は、「n/F」[秒]となる。EXOR回路1aおよび遅延回路1bは、後述する網構成で接続される。
EXOR回路1a−(i,j)は、i行目、j列目に配置される。ここで、i行目のEXOR回路とは、パラレル入力Iiから遅延回路1b−iを結ぶ信号経路に配置されるEXOR回路を示す。また、j列目のEXOR回路とは、遅延回路1b−nの出力とパラレル入力I1とが入力されるEXOR回路を0列目と定義し、偶数行(2≦i,iは偶数)のパラレル入力Iiから数えてj個目のEXOR回路をj列目のEXOR回路とし、1行以外の奇数行の遅延回路1b−iの前段に配置されるEXOR回路を最終列に配置されるEXOR回路とする。この実施の形態1においては、最終列hは、(log2n)+1以上の最も小さい整数とする。たとえば、ビット数nが「7」であれば、最終列hは「4」となる。
図1は、「ビット数n=8」の場合の、この発明にかかる実施の形態1のパラレルプリコーダ回路の構成を示す図である。図1において、パラレルプリコーダ回路は、EXOR回路1a(1a−(1,0),1a−(2,1),1a−(4,1),1a−(6,1),1a−(8,1),1a−(4,2),1a−(6,2),1a−(6,3),1a−(8,2),1a−(8,3),1a−(3,4),1a−(5,4),1a−(7,4)を示す)と、遅延回路(図中では、D)1b(1b−1〜1b−8を示す)とを備えている。
図1においては、EXOR回路1a−(1,0)が1行目0列目に配置され、EXOR回路1a−(2,1)が2行目1列目に配置され、EXOR回路1a−(4,1)が4行目1列目に配置され、EXOR回路1a−(6,1)が6行目1列目に配置され、EXOR回路1a−(8,1)が8行目1列目に配置され、EXOR回路1a−(4,2)が4行目2列目に配置され、EXOR回路1a−(6,2)が6行目2列目に配置され、EXOR回路1a−(6,3)が6行目3列目に配置され、EXOR回路1a−(8,2)が8行目2列目に配置され、EXOR回路1a−(8,3)が8行目3列目に配置され、EXOR回路1a−(3,4)が3行目4列目に配置され、EXOR回路1a−(5,4)が5行目4列目に配置され、EXOR回路1a−(7,4)が7行目4列目に配置され、4列目が最終列となっている。
つぎに、EXOR回路1aおよび遅延回路1bを接続する網構成について説明する。偶数行目1列目、すなわち、2k(2k行、1≦k≦n/2,kは整数)行目1列目のEXOR回路1a−(2k,1)の一方の入力にパラレル入力I2kを接続し、他方の入力にパラレル入力I2k-1を接続する。ただし、2行目1列目のEXOR回路1a−(2,1)の他方の入力には、パラレル入力I1の代わりに、1行目0列目のEXOR回路1a−(1,0)の出力を接続する。
2k行目m列目(1≦m≦h−1)のEXOR回路1a−(2k,m)の一方の入力にはEXOR回路1a−(2k−2^(m−1)、m−1)の出力を接続し、他方の入力にはEXOR回路1a−(2k、m−1)の出力を接続する。ただし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には、2k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を、EXOR回路1a−(2k、m)の一方の入力に接続する。なお、演算子「^」は、べき乗を示している。
図1においては、k=3、m=3のEXOR回路1a−(6,3)の一方の入力にはEXOR回路1a−(2,1)の出力を接続し、他方の入力にはEXOR回路1a−(6,2)の出力を接続する。
また、2k−2^(m−1)が1より小さい場合、EXOR回路を配置しない。図1においては、k=2、m=3の位置、すなわち4行目3列目にはEXOR回路は配置されない。
最終列に配置される2k−1行目h列目のEXOR回路1a−(2k−1,h)の一方の入力にはパラレル入力I2k-1の出力を接続し、他方の入力には2k−2行目に配置されたEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を接続する。ただし、最終列の1行目にはEXOR回路を配置しない。図1においては、最終列は「4」であるので、EXOR回路1a−(5,4)の一方の入力には、パラレル入力I5を接続し、他方の入力にはEXOR回路1a−(4,2)の出力を接続する。
2k行目(偶数行目)の遅延回路1b−2kの入力には、2k行目に配置されたEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を接続する。図1においては、遅延回路1b−4の入力にはEXOR回路1a−(4,2)の出力を接続する。
また、2k−1行目(奇数行目)の遅延回路1b−(2k−1)の入力には、最終列、すなわちh列目の2k−1行目に配置されたEXOR回路1a−(2k−1,h)の出力を接続する。ただし、1行目の遅延回路1b−1の入力には、EXOR回路1a−(1,0)の出力を接続する。遅延回路1b−iの出力がパラレル出力Oiとなる。
つぎに、nビットのパラレルコーダ回路が、デュオバイナリ方式に用いられるシリアルプリコーダ回路と等価であることを説明する。
図2は、一般的な光デュオバイナリ送受信系の回路の構成を示すブロック図である。図2において、光デュオバイナリ送受信系20は、プリコーダ21、エンコーダ22、およびデコーダ23を備えている。
プリコーダ21は、シリアルプリコーダ回路であり、EXOR回路25と、遅延回路(図中ではD)26とを備えている。EXOR回路25の一方の入力には入力信号INを接続し、他方の入力には遅延回路26の出力DOUTを接続する。EXOR回路の出力EXOは、遅延回路26およびエンコーダ22に接続される。すなわち、EXOR回路25と遅延回路26とで、フィードバックループを構成している。
遅延回路26は、クロックに同期して動作するフリップフロップや、遅延調整されたディレイラインなどで構成され、EXOR回路25の出力を1クロック単位時間遅延させる。たとえば、伝送路27における伝送速度をF[Hz]とすると、1クロック単位時間は1/F[秒]となる。
エンコーダ22は、プリコーダ21の出力、すなわちEXOR回路25の出力EXOを反転させる反転回路28と、反転回路28の出力の高周波成分を除去するローパスフィルタ210と、プリコーダ21の出力の高周波成分を除去するローパスフィルタ29と、光光源212から発する光をローパスフィルタ29,210の出力によって変調するマッハツェンダー変調器211を備えている。
デコーダ回路23は、たとえば、“0”を光信号なし、“1”を光信号ありとして、伝送路27から入力される光信号の2値検出を行なう光受信機213と、光受信機213の出力を反転させる反転回路214とを備えている。デコーダ23を通過すると、入力信号INは出力信号OUTとして復元される。なお、エンコーダ22およびデコーダ23の構成は、図2に示した構成以外にも様々あるが、プリコーダ21が行うべき処理はエンコーダ22およびデコーダ23の構成に依存しない。
図3は、図2に示したプリコーダ21の動作を説明するためのタイミングチャートである。図3において、プリコーダ21は1単位時間を1周期とする動作クロックCKによって動作しており、時刻T0におけるEXOR回路25の出力EXOおよび遅延回路26の出力DOUTは“0”(図中では、“L”)となっている。2入力のEXOR回路25は、双方の入力が “1”(図中では“H”)、または “0”である場合に出力EXOを“0”にし、一方の入力が“1”、他方の入力が“0”である場合に出力EXOを“1”にする。たとえば、時刻t1においては、入力信号INと遅延回路26のDOUTとがともに“0”であるので、EXOR回路25は出力EXOを“0”にする。
図3において、プリコーダ21の入力(EXOR回路25の一方の入力)には、時刻t0から1単位時間周期で順に、入力信号INとして “0100101110001101010110000101101111”が入力され、時刻t1から、プリコーダ21の出力としてEXOR回路25は出力EXOを“111001011110110011011111001001010”にする。
プリコーダ21の出力は、プリコーダ21に入力される入力信号INを順次EXOR演算して加えていった値になる。時刻tにおけるEXOR回路25の出力EXOは、ある時点でのEXOR回路25の出力EXOまたは遅延回路26の出力DOUTと、その時点から時刻tまでのプリコーダ21に入力される全ての信号を、多入力のEXOR回路に入力して加えた値に等しい。
n入力EXOR回路の出力は、入力される“1”の個数が奇数の場合“1”、入力される“1”の個数が偶数の場合“0”となる。たとえば、図3において、時刻t0における遅延回路26の出力DOUTは“0”であり、時刻t0から時刻t8までのプリコーダ21の入力信号INは“010010111”であり、“1”の個数は奇数である。時刻t0から時刻t8までの入力信号INを多入力EXOR回路に入力した場合の出力は“1”となり、図3における時刻t8のEXOR回路25の出力信号EXO“1”と等しくなる。
また、時刻t0における遅延回路26の出力DOUTは“0”であり、時刻t0から時刻t16までのプリコーダ21の入力信号INは“01001011100011010”であり、“1”の個数は偶数である。時刻t0から時刻t16までの入力信号INを多入力EXOR回路に入力した場合の出力は“0”となり、図3における時刻t16のEXOR回路25の出力“0”と等しくなる。
図4は、この発明にかかる実施の形態1のパラレルプリコーダ回路が適用されるデュオバイナリ信号パラレルプリコーダ回路の構成を示すブロック図である。図4に示したデュオバイナリ信号パラレルプリコーダ回路はシリアルプリコーダ回路と等価に動作する。図4において、デュオバイナリ信号パラレルプリコーダ回路は、パラレルプリコーダ回路41の前段に分離回路42を備え、パラレルプリコーダ回路41の後段に多重回路43を備える。なお、パラレルプリコーダ回路41前段に配置される図示しないフレーマなどの処理回路の出力や、後段の図示しないエンコーダの入力が並列化されている場合には、分離回路42、多重回路43を配置する必要はない。
分離回路42は、シリアル入力Is(t)にシリアル−パラレル変換を施してnビットのパラレル出力信号、すなわちパラレルプリコーダ回路41に対するパラレル入力信号I1(T)〜In(T)を生成する。
パラレルプリコーダ回路41は、パラレル入力信号I1(T)〜In(T)からパラレル出力信号O1(T)〜On(T)を算出する。多重回路43は、パラレルプリコーダ回路41によって算出されたパラレル出力信号O1(T)〜On(T)にパラレル−シリアル変換を施してシリアル出力信号Os(t)として出力する。
ここで、パラレル入力信号I1(T)〜In(T)は、シリアル伝送した場合に、パラレル入力信号I1(T)、パラレル入力信号I2(T)、…、パラレル入力信号In(T)の順に時系列に古いデータ、すなわち先に送られるデータである。また、パラレル出力信号O1(T)〜On(T)は、シリアル伝送した場合に、パラレル出力信号O1(T)、パラレル出力信号O2(T)、…、パラレル出力信号On(T)の順に時系列的に古いデータ、すなわち先に出力されるデータである。
シリアル入力信号Is(t)およびシリアル出力信号Os(t)は、伝送速度F[Hz]のクロック、すなわち1/F[秒]周期のクロックに同期して入力または出力される。換言すれば、パラレルプリコーダ回路41は動作クロックT=F/n[Hz]で動作する。
nビット並列化を行なう場合、上記の定義より、パラレルプリコーダ回路41の動作クロックTにおける1クロック前のパラレル出力信号On(T)の中で、シリアル伝送した場合に最も新しいデータはOn(T−1)である。上述したプリコーダ出力の性質から、パラレルプリコーダ回路41の、あるパラレル出力信号Oi(T)は、パラレル出力信号On(T−1)と、パラレル入力信号I1(T)からパラレル入力信号Ii-1(T)までをEXOR演算することにより得られる。
nビットのパラレル出力信号O1(T)〜On(T)を算出するパラレルプリコーダ回路41の1ビット目のパラレル出力信号O1は、EXOR演算子を*と表記すると、
1(T)=On(T−1)*I1(T)
で表すことができ、2ビット目のパラレル出力信号O2は、
2(T)=On(T−1)*I1(T)*I2(T)
で表すことができ、n−1ビット目のパラレル出力信号On-1は、
n-1(T)=On(T−1)*I1(T)*I2(T)*…*In-1(T)
で表すことができ、nビット目のパラレル出力信号Onは、
n(T)=On(T−1)*I1(T)*I2(T)*…*In-1(T)*In(T)
で表すことができる。
すなわち、nビットのパラレル出力信号O1(T)〜On(T)を算出するパラレルプリコーダ回路41のiビット目のパラレルプリコーダ回路41のパラレル出力信号Oi(T)は、EXOR演算子を*と表記すると、
i(T)=On(T−1)*I1(T)*I2(T)*…*Ii(T) …式(1)
で表すことができる。
図5のタイミングチャートを参照して、図4に示したデュオバイナリ信号パラレルプリコーダ回路の動作を説明する。図5においては、8ビット(n=8)の並列化を行った場合を示しており、パラレルプリコーダ回路の動作クロックTの周期は、伝送路クロックtの8周期分、すなわち8tであり、図中ではT0〜T4で示している。また、動作クロックT2の立ち上がり(時刻t0〜時刻t16)までのパラレルプリコーダ回路41のパラレル出力信号O1(T)〜O8(T)は、すべて“0”(図中では“L”)であるものとする。
まず、分離回路42は、シリアル入力信号Is(t)にシリアル−パラレル変換を施して、8ビットパラレル入力信号I1(T)〜I8(T)に変換する。図5においては、時刻t8において、時刻t0におけるシリアル入力信号Is(0)の“0”がパラレル入力信号I1(T1)としてパラレルプリコーダ回路41に入力され、時刻t1におけるシリアル入力信号Is(1)の“1”がパラレル入力信号I2(T1)としてパラレルプリコーダ回路41に入力され、時刻t2におけるシリアル入力信号Is(2)の“0”がパラレル入力信号I3(T1)としてパラレルプリコーダ回路41に入力され、時刻t3におけるシリアル入力信号Is(3)の“0”がパラレル入力信号I4(T1)としてパラレルプリコーダ回路41に入力され、時刻t4におけるシリアル入力信号Is(4)の“1”がパラレル入力信号I5(T1)としてパラレルプリコーダ回路41に入力され、時刻t5におけるシリアル入力信号Is(5)の“0”がパラレル入力信号I6(T1)としてパラレルプリコーダ回路41に入力され、時刻t6におけるシリアル入力信号Is(6)の“1”がパラレル入力信号I7(T1)としてパラレルプリコーダ回路41に入力され、時刻t7におけるシリアル入力信号Is(7)の“1”がパラレル入力信号I8(T1)としてパラレルプリコーダ回路41に入力される。
時刻t8においては、パラレルプリコーダ回路は、上記式(1)に従って8ビットのパラレル出力信号O1(T)〜O8(T)の演算を開始する。具体的には、1ビット目のパラレル出力信号O1(T)は、上記式(1)においてi=1、n=8であるので、
1(T)=O8(T−1)*1(T)=0*0
により“0”となり、2ビット目のパラレル出力信号O2(T1)は、上記式(1)においてi=2、n=8であるので、
2(T)=O8(T−1)*I1(T)*I2(T)=0*0*1
により“1”となる。同様にして、式(1)のiに,3,4,5,6,7、8を代入してパラレル出力信号O3(T)〜O8(T)の演算を行なうと、3ビット目のパラレル出力信号O3(T)は“1”となり、4ビット目のパラレル出力信号O4(T)は“1”となり、5ビット目のパラレル出力信号O5(T)は“0”となり、6ビット目のパラレル出力信号O6(T)は“0”となり、7ビット目のパラレル出力信号O7(T)は“1”となり、8ビット目のパラレル出力信号O8(T)は“0”となる。
パラレルプリコーダ回路41は、時刻t16においては、時刻t8から時刻t16までの間、すなわち動作クロックT1内に演算処理を行った結果を8ビットのパラレル出力信号O1(T)〜O8(T)に出力する。ここでは、パラレル出力信号O1(T)〜O8(T)に“0”、“1”、“1”、“1”、“0”、“0”、“1”、“0”を出力する。
多重回路43は、パラレル出力信号O1(T)〜O8(T)にパラレル−シリアル変換を施して、時刻t16においてシリアル出力信号Os(t)にパラレル出力信号O1(T)である“0”を出力し、時刻t17においてシリアル出力信号Os(t)にパラレル出力信号O2(T)である“1”を出力し、時刻t18においてシリアル出力信号Os(t)にパラレル出力信号O3(T)である“1”を出力し、時刻t19においてシリアル出力信号Os(t)にパラレル出力信号O4(T)である“1”を出力し、時刻t20においてシリアル出力信号Os(t)にパラレル出力信号O5(T)である“0”を出力し、時刻t21においてシリアル出力信号Os(t)にパラレル出力信号O6(T)である“0”を出力し、時刻t22においてシリアル出力信号Os(t)にパラレル出力信号O7(T)である“1”を出力し、時刻t23においてシリアル出力信号Os(t)にパラレル出力信号O8(T)である“0”を出力する。
図4に示したデュオバイナリ信号パラレルプリコーダ回路は、時刻t0からシリアル入力信号Is(t)に“0100101110001101010…”が入力されると、時刻17からシリアル出力信号Os(t)として “111001011110110011…”を出力する。したがって、図3に示した並列化前のプリコーダ回路の動作と、図4に示したデュオバイナリ信号パラレルプリコーダ回路とが等しいことがわかる。
以上に説明したように、上記式(1)を満たすようにパラレルプリコーダ回路を設計すれば、並列化したデュオバイナリ送受信系のプリコーダ回路を実現することができる。
つぎに、先の図1に示したこの発明にかかる実施の形態1のパラレルプリコーダ回路が、上記式(1)を満たすことを説明する。
1列目のEXOR回路1a−(2k,1)はパラレル入力I2kおよびパラレル入力I2k-1をEXOR演算した結果を出力し、2列目のEXOR回路1a−(2k,2)はEXOR回路1a−(2k−2,1)およびEXOR回路1a−(2k,1)をEXOR演算した結果を出力する。そのためEXOR回路1a−(2k,2)はパラレル入力I2k〜I2k-3の4入力をEXOR演算した結果に等しい。
図1に示した8ビット並列のパラレルプリコーダ回路においては、1行目0列目のEXOR回路1a−(1,0)の出力をII1とし、EXOR演算子を「*」とすると、2行目1列目のEXOR回路1a−(2,1)の出力EXO1a−(2,1)は、
EXO1a−(2,1)=II1*I2 …式(2−1)
で表すことができ、4行目1列目のEXOR回路1a−(4,1)の出力EXO1a−(4,1)は、
EXO1a−(4,1)=I3*I4 …式(2−2)
で表すことができ、6行目1列目のEXOR回路1a−(6,1)の出力EXO1a−(6,1)は、
EXO1a−(6,1)=I5*I6 …式(2−3)
で表すことができ、8行目1列目のEXOR回路1a−(8,1)の出力EXO1a−(8,1)は、
EXO1a−(8,1)=I7*I8 …式(2−4)
で表すことができる。以下、式(2−1)〜式(2−4)を式(2)ということがある。
また、4行目2列目のEXOR回路1a−(4,2)の出力EXO1a−(4,2)は、
EXO1a−(4,2)=EXO1a−(2,1)*EXO1a−(4,1)
…式(3−1)
で表すことができ、6行目2列目のEXOR回路1a−(6,2)の出力EXO1a−(6,2)は、
EXO1a−(6,2)=EXO1a−(4,1)*EXO1a−(6,1)
…式(3−2)
で表すことができ、8行目2列目のEXOR回路1a−(8,2)の出力EXO1a−(8,2)は、
EXO1a−(8,2)=EXO1a−(6,1)*EXO1a−(8,1)
…式(3−3)
で表すことができる。式(3−1)〜式(3−3)は、式(2)により、
EXO1a−(4,2)=II1*I2*I3*I4 …式(4−1)
EXO1a−(6,2)=I3*I4*I5*I6 …式(4−2)
EXO1a−(8,2)=I5*I6*I7*I8 …式(4−3)
となる。以下、式(4−1)〜式(4−3)を式(4)ということがある。
さらに、3列目のEXOR回路1a−(2k,3)はパラレル入力I2kおよびパラレル入力I2k-4をEXOR演算した結果を出力する。EXOR回路1a−(2k、3)の出力はパラレル入力I2k〜I2k-7をEXOR演算した結果に等しく(図1においては、EXOR回路1a−(8,3)の出力に相当)、2k−7が0以下であるなら(図1においてはEXOR回路1a−(6,3)の出力に相当)パラレル入力I1〜I2k-7をEXOR演算した結果に等しい。
図1においては、6行目3列目のEXOR回路1a−(6,3)の出力EXO1a−(6,3)は、
EXO1a−(6,3)=EXO1a−(2,1)*EXO1a−(6,2)
…式(5−1)
で表すことができ、
8行目3列目のEXOR回路1a−(8,3)の出力EXO1a−(8,3)は、
EXO1a−(8,3)=EXO1a−(4,2)*EXO1a−(8,2)
…式(5−2)
で表すことができる。式(5−1)および式(5−2)は、式(2)および式(4)より、
EXO1a−(6,3)=II1*I2*I3*I4*I5*I6 …式(6−1)
EXO1a−(8,3)=II1*I2*I3*I4*I5*I6*I7*I8
…式(6−2)
となる。以下、式(6−1)および式(6−2)を式(6)ということがある。
2k行目にあるEXOR回路1a−(2,1),1a−(4,2),1a−(6,3),1a−(8,3)の出力EXO1a−(2,1),1a−(4,2),1a−(6,3),1a−(8,3)は、遅延回路1b−2,1b−4,1b−6,1b−8に入力されて1クロック遅延され、パラレル出力O2,O4,O6,O8となる。上記式(2)、式(4)、および式(6)に示すように、パラレル出力O2,O4,O6,O8は1クロック前のパラレル出力O8と、パラレル入力I1〜I8中で、時系列で前にあるパラレル入力I1〜I8全てをEXOR演算したものであり、式(1)を満たしている。
さらに、奇数行の遅延回路1b−(2k−1)には、EXOR回路1a−(2k−1,4)によりパラレル入力I2k-1と、上記の遅延回路1b−2(k−1)への入力とをEXOR演算した結果を入力して1クロック遅延させたパラレル出力O3,O5,O7として出力する。
図1においては、3行目4列目のEXOR回路1a−(3,4)の出力EXO1a−(3,4)は、
EXO1a−(3,4)=EXO1a−(2,1)*I3 …式(7−1)
で表すことができ、5行目4列目のEXOR回路1a−(5,4)の出力EXO1a−(5,4)は、
EXO1a−(5,4)=EXO1a−(4,2)*I5 …式(7−2)
で表すことができ、7行目4列目のEXOR回路1a−(7,4)の出力EXO1a−(7,4)は、
EXO1a−(7,4)=EXO1a−(6,3)*I7 …式(7−3)
で表すことができる。式(7−1)〜式(7−3)は、式(2)、式(4)、および式(6)より、
EXO1a−(3,4)=II1*I2*I3 …式(8−1)
EXO1a−(5,4)=II1*I2*I3*I4*I5 …式(8−2)
EXO1a−(7,4)=II1*I2*I3*I4*I5*I6*I7 …式(8−3)
となる。以下、式(8−1)〜式(8−3)を式(8)ということがある。
上述した式(2)〜式(8)からわかるように、この発明にかかる実施の形態1のnビットパラレルプリコーダ回路はシリアルプリコーダ回路と等価な回路となる。
なお、図1においてはn=8の場合の構成を示したが、EXOR回路を実施の形態1に示すように帰納的に構成していくことにより、より多値幅に並列展開したパラレルプリコーダ回路を得ることができる。図6に、n=16の場合の、パラレルプリコーダ回路の構成を示す。
また、並列展開のビット幅nは特に2のべき乗に限るものではない。たとえば、n=7の場合、図1の8行目のEXOR回路1a−(8,1),1a−(8,2),1a−(8,3)および遅延回路1b−8を削除し、遅延回路1b−7の出力をEXOR回路1a−(1,0)にフィードバックすれは、式(1)を満たすパラレルプリコーダ回路が得られる。
以上説明したように、この実施の形態1においては、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、2k行目1列目のEXOR回路は、2k行目のパラレル入力を一方の入力とし、kの値が1の場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル信号を他方の入力としてEXOR演算を行い、2k行目m列目のEXOR回路は、2k−2^(m−1)が1以上の場合に、2k行目m−1列目のEXOR回路の出力を一方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されている場合には前記2k−2^(m−1)行目m−1列目のEXOR回路の出力を他方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には2k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行ない、2k−1行目h列目のEXOR回路は、2k−1行目のパラレル信号を一方の入力とし、2k−2行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行ない、1〜n行目の遅延回路は、1〜n行目それぞれに配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させて、1〜n行目のパラレル出力とするようにしている。
すなわち、この実施の形態1のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。
具体的には、特許文献1に記載の従来のパラレルプリコーダ回路では、シリアル入力をnビットに展開するとEXOR回路でn段の遅延が生じるが、この発明の実施の形態1のパラレルプリコーダ回路では最大遅延経路は(log2n)+1段に抑えることができる。たとえば、n=8では4段の遅延になり、n=16では5段の遅延になる。
たとえば、伝送路クロックが40Gbit/秒の超高速の光通信の場合、回路の動作クロックが160MHz、n=256といった非常に多値幅の並列展開が行われることがある。この場合、上記特許文献1に記載の従来のパラレルプリコーダ回路では、256段のEXOR回路が1クロックで動作する必要があるのに対し、この発明の実施の形態1のパラレルプリコーダ回路では1クロックで動作するEXOR回路の段数は、(log2256)+1=9段にまで低減することができ、使用回路の動作速度への要求を緩和することができる。
また、この実施の形態1においては、EXOR回路をn行×log2n列の格子状に配置されているので、パラレルプリコーダ回路を構成するEXOR回路の総数はn×(log2n)個より少なくなる。これにより、回路規模は、n×(log2n)規模のサイズに収めることができる。すなわち、この実施の形態1のパラレルプリコーダ回路は、従来のパラレルプリコーダ回路の出力信号各々を並列展開した入力信号から生成するパラレルプリコーダ回路より規模が小さくなる。
図7に、出力信号各々を並列展開された入力信号から生成するパラレルプリコーダ回路の構成を示す。図7は、並列展開ビット幅n=8の場合を示している。図7において、パラレルプリコーダ回路は、2入力のEXOR回路7a−1と、3入力のEXOR回路7a−2、4入力のEXOR回路7a−3、5入力のEXOR回路7a−4、6入力のEXOR回路7a−5、7入力のEXOR回路7a−6、8入力のEXOR回路7a−7、9入力のEXOR回路7a−8と、EXOR回路7a−1〜7a−8の出力を1クロック遅延させる遅延回路(図中ではD)7b−1〜7b−8とを備えている。
EXOR回路7a−1には、遅延回路7b−8の出力とパラレル入力I1とが入力され、EXOR回路7a−2には、遅延回路7b−8の出力とパラレル入力I1,I2とが入力され、EXOR回路7a−3には、遅延回路7b−8の出力とパラレル入力I1〜I3とが入力され、EXOR回路7a−4には、遅延回路7b−8の出力とパラレル入力I1〜I4とが入力され、EXOR回路7a−5には、遅延回路7b−8の出力とパラレル入力I1〜I5とが入力され、EXOR回路7a−6には、遅延回路7b−8の出力とパラレル入力I1〜I6とが入力され、EXOR回路7a−7には、遅延回路7b−8の出力とパラレル入力I1〜I7とが入力され、EXOR回路7a−8には、遅延回路7b−8の出力とパラレル入力I1〜I8とが入力される。
すなわち、EXOR回路7a−k(この場合は、1≦k≦8)は、k+1入力のEXOR回路であり、それらの出力が遅延回路7b−kに接続されている。また、多入力EXOR回路7a−kには、k以下のパラレル入力I1〜Ikおよび遅延回路7b−8の出力が接続されている。
図8(図8−1〜図8−3を示す)は、多入力EXOR回路の構成を示す図である。図8に示すように、多入力EXOR回路は、ツリー状に2入力EXOR回路を接続して実現し、図8−1は4入力EXOR回路を示し、図8−2は6入力EXOR回路を示し、図8−3は8入力EXOR回路を示している。
図8に示したように、ツリー状に2入力EXOR回路を接続する構成では、n入力EXORの遅延段数をlog2nに減らすことはできるが、n−1個の2入力EXOR回路が必要になる。そのため、図7に示した構成のパラレルプリコーダ回路には、全体でn×n/2個のEXOR回路が必要になる。したがって、この実施の形態1に示す構成(たとえば、図1参照)の方が回路規模を削減できる。
実施の形態2.
図9を参照してこの発明にかかる実施の形態2を説明する。この発明にかかる実施の形態2のパラレルプリコーダ回路は、n(2≦n,nは整数)ビットのパラレル入力I1〜Inからパラレル出力O1〜Onを算出する。
この実施の形態2のパラレルプリコーダ回路は、入力数が異なるEXOR回路9a(9a−(i,j)を示す)回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路9b(9b−1〜9b−nを示す)とを備えている。なお、EXOR回路9aの最大入力数はr(2≦r,rは整数)とする。また、多入力EXOR回路は、先の実施の形態1で説明したように、入力される“1”の個数が奇数個の場合“1”を出力し、入力される“1”の個数が偶数個の場合“0”を出力する組合せ回路で実現する。
この実施の形態2のパラレルプリコーダ回路において、EXOR回路9aおよび遅延回路9bは、実施の形態1と同様に後述する網構成で接続される。EXOR回路9a−(i,j)は、i行目、j列目に配置される。i行目のEXOR回路とは、パラレル入力Iiから遅延回路9b−iを結ぶ信号経路に配置されるEXOR回路を示す。また、j列目のEXOR回路とは、iが最大入力数rの倍数のEXOR回路の中でパラレル入力Iiから数えてj個目のEXOR回路を示し、iが1以外のrの倍数でないi行目のEXOR回路で遅延回路9b−iの前段にあるものを最終列、h列目のEXOR回路とする。hの値は(logrn)+1以上の最も小さい整数になる。たとえば、最大入力数rが「4」であって、ビット数nが「14」であれば、hは「3」となる。
図9は、「最大入力数r=4」であって、「ビット数n=16」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態2の構成を示す図である。図9において、パラレルプリコーダ回路は、EXOR回路9a(9a−(1,0),9a−(2,3),9a−(3,3),9a−(4,1),9a−(5,3),9a−(6,3),9a−(7,3),9a−(8,1),9a−(8,2),9a−(9,3),9a−(10,3),9a−(11,3),9a−(12,1),9a−(12,2),9a−(13,3),9a−(14,3),9a−(15,3),9a−(16,1),9a−(16,2))と、遅延回路(図中ではD)9b−1〜9b−16とを備えている。
図9においては、EXOR回路9a−(1,0)は2入力のEXOR回路であり1行目0列目に配置され、EXOR回路9a−(2,3)は2入力のEXOR回路であり2行目3列目に配置され、EXOR回路9a−(3,3)は3入力のEXOR回路であり3行目3列目に配置され、EXOR回路9a−(4,1)はr入力(この場合は、4入力)のEXOR回路であり4行目1列目に配置され、EXOR回路9a−(5,3)は2入力のEXOR回路であり5行目3列目に配置され、EXOR回路9a−(6,3)は3入力のEXOR回路であり6行目3列目に配置され、EXOR回路9a−(7,3)は4入力のEXOR回路であり7行目3列目に配置され、EXOR回路9a−(8,1)は4入力のEXOR回路であり8行目1列目に配置され、EXOR回路9a−(8,2)は2入力のEXOR回路であり8行目2列目に配置され、EXOR回路9a−(9,3)は2入力のEXOR回路であり9行目3列目に配置され、EXOR回路9a−(10,3)は3入力のEXOR回路であり10行目3列目に配置され、EXOR回路9a−(11,3)は4入力のEXOR回路であり11行目3列目に配置され、EXOR回路9a−(12,1)は4入力のEXOR回路であり12行目1列目に配置され、EXOR回路9a−(12,2)は3入力のEXOR回路であり12行目2列目に配置され、EXOR回路9a−(13,3)は2入力のEXOR回路であり13行目3列目に配置され、EXOR回路9a−(14,3)は3入力のEXOR回路であり14行目3列目に配置され、EXOR回路9a−(15,3)は4入力のEXOR回路であり15行目3列目に配置され、EXOR回路9a−(16,1)は4入力のEXOR回路であり16行目1列目に配置され、EXOR回路9a−(16,2)は4入力のEXOR回路であり16行目2列目に配置され、3列目が最終列となっている。
つぎに、EXOR回路9aおよび遅延回路9b−1〜9b−nを接続する網構成について説明する。r×k行目1列目のEXOR回路9a−(r×k,1)の入力には、パラレル入力Ir×k、パラレル入力Ir×k-1、パラレル入力Ir×k-2、…、パラレル入力Ir×k-r+1を接続する。ただし、r行目1列目のEXOR回路9a−(r,1)には、パラレル入力I1の代わりに1行目0列目のEXOR回路9a−(1,0)の出力を接続する。なお、kは「1≦k≦n/r」を満たす整数である。
図9においては、EXOR回路9a−(4,1)にはEXOR回路9a−(1,0)の出力とパラレル入力I2〜I4を接続し、EXOR回路9a−(8,1)にはパラレル入力I5〜I8を接続し、EXOR回路9a−(12,1)にはパラレル入力I9〜I12を接続し、EXOR回路9a−(16,1)にはパラレル入力I13〜I16を接続する。
r×k行目m列目のEXOR回路9a−(r×k、m)の入力には、EXOR回路9a−(r×k−(r−1)×r^(m−1)、m−1)、…、EXOR回路9a−(r×k−p×r^(m−1)、m−1)、…、EXOR回路9a−(r×k、m−1)までの出力を接続する。ただし、r×k−p×r^(m−1)行目m−1列目にEXOR回路が存在しない場合は、r×k−p×r^(m−1)行目に存在するEXOR回路のうち、最も大きい列番号jを持つj列目のEXOR回路の出力を、EXOR回路9a−(r×k、m)の入力に接続する。
また、r×k−p×r^(m−1)が1より小さい場合はr入力EXOR回路9a−(r×k、m)の入力の一つは空けたままとし、入力がEXOR回路9a−(r×k、m−1)の出力1つのみならEXOR回路を配置しない。たとえば、図9においては、EXOR回路9a−(12,2)の入力には、EXOR回路9a−(4,1),9a−(8,1),9a−(12,1)の出力を接続する。なお、mは「2≦m≦h−1」を満たす整数であり、pは「0≦m≦r−1」を満たす整数である。
最終列に配置されるr×k−q行目h列目のEXOR回路9a−(r×k−q、h)の入力には、パラレル入力Ir×k-1と、パラレル入力r×k-2と、…、パラレル入力Ir×k-qと、EXOR回路9a−(r×k−r、h−1)の出力とを接続する。ただし、1行目の最終列にはEXOR回路を配置しない。なお、qは「1≦q≦r−1」を満たす整数である。
r×k行目の遅延回路9b−(r×k)の入力には、r×k行目に配置されるEXOR回路のうち、最も大きい列番号jを持つj列目のEXOR回路の出力を接続する。また、r×k−p行目の遅延回路9b−(r×k−p)の入力には、最終列、すなわちh列目のr×k−p行目にあるEXOR回路9a−(r×k−p、h)の出力を接続する。ただし、1行目の遅延回路9b−1の入力には、EXOR回路1a−(1,0)の出力を接続する。遅延回路9b−iの出力がパラレル出力Oiとなる。
つぎに、この発明にかかる実施の形態2のnビットパラレルプリコーダ回路が、先の式(1)を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
1列目のEXOR回路9a−(r×k、1)はパラレル入力Ir×k-r+1〜Ir×kをEXOR演算した結果を出力し、2列目のEXOR回路9a−(r×k、2)はEXOR回路9a−(r×k−(r−1)×r、1)〜9a−(r×k、1)の出力をEXOR演算した結果を出力する。すなわちEXOR回路9a−(r×k、2)の出力はパラレル入力Ir×k-r+1〜Ir×kをEXOR演算した結果に等しい。
図9に示した16ビット並列のパラレルプリコーダ回路においては、1行目0列目のEXOR回路9a−(1,0)の出力をII1とし、EXOR演算子を「*」とすると、4行目1列目のEXOR回路9a−(4,1)の出力EXO9a−(4,1)は、
EXO9a−(4,1)=II1*I2*I3*I4 …式(9−1)
で表すことができ、8行目1列目のEXOR回路9a−(8,1)の出力EXO9a−(8,1)は、
EXO9a−(8,1)=I5*I6*I7*I8 …式(9−2)
で表すことができ、12行目1列目のEXOR回路9a−(12,1)の出力EXO9a−(12,1)は、
EXO9a−(12,1)=I9*I10*I11*I12 …式(9−3)
で表すことができ、16行目1列目のEXOR回路9a−(16,1)の出力EXO9a−(16,1)は、
EXO9a−(16,1)=I13*I14*I15*I16 …式(9−4)
で表すことができる。以下、式(9−1)〜式(9−4)を式(9)ということがある。
8行目2列目のEXOR回路9a−(8,2)の出力EXOR回路9a−(8,2)は、
EXO9a−(8,2)=EXO9a−(4,1)*EXO9a−(8,1) …式(10−1)
で表すことができ、12行目2列目のEXOR回路9a−(12,2)の出力EXO9a−(12,2)は、
EXO9a−(12,2)=EXO9a−(4,1)*EXO9a−(8,1)*EXO9a−(12,1) …式(10−2)
で表すことができ、16行目2列目のEXOR回路9a−(16,2)の出力EXO9a−(16,2)は、
EXO9a−(16,2)=EXO9a−(4,1)*EXO9a−(8,1)*EXO9a−(12,1)*EXO9a−(16,1) …式(10−3)
で表すことができる。式(10−1)〜式(10−3)は、式(9)により、
EXO9a−(8,2)=II1*I2*I3*I4*I5*I6*I7*I8
…式(11−1)
EXO9a−(12,2)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12 …式(11−2)
EXO9a−(16,2)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13*I14*I15*I16 …式(11−3)
となる。以下、式(11−1)〜式(11−3)を式(11)ということがある。
4k行目にあるEXOR回路9a−(4,1),9a−(8,2),9a−(12,2),9a−(16、2)の出力EXO9a−(4,1),9a−(8,2),9a−(12,2),9a−(16、2)は、遅延回路9b−4,9b−8,9b−12,9b−16に入力されて1クロック遅延され、パラレル出力O4,O8,O12,O16となる。上記式(9)および式(11)に示すように、パラレル出力O4,O8,O12,O16は1クロック前のパラレル出力O16とパラレル入力I1〜I16中で、時系列で前にあるパラレル入力I1〜I16全てをEXOR演算したものであり、式(1)を満たしている。
さらに3列目の遅延回路9b−(4k−p)には、EXOR回路9a−(4k−p、3)によりパラレル入力I4k-3〜I4k-pと、上記の遅延回路9b−4(k−1)への入力とをEXOR演算した結果を入力して1クロック遅延させたパラレル出力O2,O3,O5,O6,O7,O9,O10,O11,O13,O14,O15として出力する。
図9においては、2行目3列目のEXOR回路9a−(2,3)の出力EXO9a−(2,3)は、
EXO9a−(2,3)=II1*I2 …式(12−1)
で表すことができ、3行目3列目のEXOR回路9a−(3,3)の出力EXO9a−(3,3)は、
EXO9a−(3,3)=II1*I2*I3 …式(12−2)
で表すことができ、5行目3列目のEXOR回路9a−(5,3)の出力EXO9a−(5,3)は、
EXO9a−(5,3)=EXO9a−(4,1)*I5 …式(12−3)
で表すことができ、6行目3列目のEXOR回路9a−(6,3)の出力EXO9a−(6,3)は、
EXO9a−(6,3)=EXO9a−(4,1)*I5*I6 …式(12−4)
で表すことができ、7行目3列目のEXOR回路9a−(7,3)の出力EXO9a−(7,3)は、
EXO9a−(7,3)=EXO9a−(4,1)*I5*I6*I7
…式(12−5)
で表すことができ、9行目3列目のEXOR回路9a−(9,3)の出力EXO9a−(9,3)は、
EXO9a−(9,3)=EXO9a−(8,2)*I9 …式(12−6)
で表すことができ、10行目3列目のEXOR回路9a−(10,3)の出力EXO9a−(10,3)は、
EXO9a−(10,3)=EXO9a−(8,2)*I9*I10
…式(12−7)
で表すことができ、11行目3列目のEXOR回路9a−(11,3)の出力EXO9a−(11,3)は、
EXO9a−(10,3)=EXO9a−(8,2)*I9*I10*I11
…式(12−8)
で表すことができ、13行目3列目のEXOR回路9a−(13,3)の出力EXO9a−(13,3)は、
EXO9a−(13,3)=EXO9a−(12,2)*I13 …式(12−9)
で表すことができ、14行目3列目のEXOR回路9a−(14,3)の出力EXO9a−(14,3)は、
EXO9a−(14,3)=EXO9a−(12,2)*I13*I14
…式(12−10)
で表すことができ、15行目3列目のEXOR回路9a−(15,3)の出力EXO9a−(15,3)は、
EXO9a−(15,3)=EXO9a−(12,2)*I13*I14*I15
…式(12−11)
で表すことができる。式(12−1)〜式(12−11)は、式(9)および式(11)により、
EXO9a−(2,3)=II1*I2 …式(13−1)
EXO9a−(3,3)=II1*I2*I3 …式(13−2)
EXO9a−(5,3)=II1*I2*I3*I4*I5 …式(13−3)
EXO9a−(6,3)=II1*I2*I3*I4*I5*I6 …式(13−4)
EXO9a−(7,3)=II1*I2*I3*I4*I5*I6*I7 …式(13−5)
EXO9a−(9,3)=II1*I2*I3*I4*I5*I6*I7*I8*I9
…式(13−6)
EXO9a−(10,3)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10 …式(13−7)
EXO9a−(11,3)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11 …式(13−8)
EXO9a−(13,3)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13 …式(13−9)
EXO9a−(14,3)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13*I14 …式(13−10)
EXO9a−(15,3)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13*I14*I15 …式(13−11)
となる。以下、式(13−1)〜式(13−11)を式(13)ということがある。
上述した式(9)〜式(13)からわかるように、この発明にかかる実施の形態2のnビットパラレルプリコーダ回路はシリアルプリコーダ回路と等価になっている。なお、この実施の形態2においても、上述した実施の形態1と同様にEXOR回路の網構成を帰納的に構築していくことにより、より多値幅のパラレルプリコーダ回路を形成することができる。また、展開ビット幅nは、特に2のべき乗である必要はない。
以上説明したように、この実施の形態2においては、複数の多入力のEXOR回路の最大入力数をrとし、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、r×k行目1列目の多入力EXOR回路は、kが1の場合には前記0列目のEXOR回路の出力と、2行目からr行目までのパラレル入力とのEXOR演算を行い、kが1より大きい場合にはr×k−r+1行目からr×k行目までのパラレル入力のEXOR演算を行ない、r×k行目m列目の多入力EXOR回路は、r×k−p×r^(m−1)が1以上の場合に、r×k−(r−1)×r^(m−1)行目からr×k行目までの間のr×k−p×r^(m−1)行目m−1列目の多入力EXOR回路の出力を入力とし、r×k−p×r^(m−1)行目mー1列目に多入力EXOR回路が配置されていない場合にはr×k−p×r^(m−1)行目に配置されている多入力EXOR回路の中で、最も大きい列番号を有する多入力EXOR回路の出力を入力としてEXOR演算を行ない、r×k−q行目h列目の多入力EXOR回路は、r×k−1行目からr×k−q行目までのパラレル入力と、r×k−r行目に配置されている多入力EXOR回路の中で、最も大きい列番号を有する多入力EXOR回路の出力とを入力としてEXOR演算を行ない、1〜n行目の遅延回路は、1〜n行目それぞれに配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させて、1〜n行目のパラレル出力とするようにしている。
すなわち、この実施の形態2のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成するようにしているため、回路の遅延が小さく、かつEXOR回路に要求される動作速度を緩和したパラレルプリコーダを得ることができる。
具体的には、この発明にかかる実施の形態2のパラレルプリコーダ回路の最大遅延はr入力EXOR回路において(logrn)+2段に抑えることができる。たとえば、n=16では4段の遅延になり、n=64では5段の遅延になる。また、回路規模は、r入力EXOR回路のゲートサイズで、n×(logrn)規模のサイズに収めることができる。
また、この実施の形態2においては、最大多入力rのEXOR回路を用いるようにしているため、最小単位のプリミティブな素子でr入力の組み合わせ回路が用意されている場合、たとえば、FPGA(Field Programmable Gate Array)などの内部のロジック回路が書換え可能なチップでは、任意の論理式を実現するr入力のセルを最小単位としており、結果的に回路規模を小さくできるという効果もある。
実施の形態3.
図10を用いてこの発明にかかる実施の形態3を説明する。この発明にかかる実施の形態3のパラレルプリコーダ回路は、n(2≦n,nは整数)ビットのパラレル入力I1〜Inからパラレル出力O1〜Onを算出する。
この実施の形態3のパラレルプリコーダ回路は、2入力のEXOR回路10a(10a−(i,j)を示す)回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路10b(10b−1〜10b−nを示す)とを備えている。
この実施の形態3のパラレルプリコーダ回路において、EXOR回路10aおよび遅延回路10bは、実施の形態1と同様に後述する網構成で接続される。EXOR回路10a−(i,j)は、i行目のEXOR回路とは、パラレル入力Iiから遅延回路7b−iを結ぶ信号経路に配置されるEXOR回路を示す。また、j列目のEXOR回路とは、遅延回路10b−nの出力とパラレル入力Iiとが入力されるEXOR回路を0列目と定義し、パラレル入力Iiから数えてj個目のEXOR回路をj列目のEXOR回路とする。EXOR回路が配置される最終列をh列目と定義すると、最終列hは、log2n以上の最も小さい整数になる。
図10は、「ビット数n=8」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態3の構成を示す図である。図10において、パラレルプリコーダ回路は、EXOR回路10a(10a−(1,0),10a−(2,1),10a−(3,1),10a−(4,1),10a−(5,1),10a−(6,1),10a−(7,1),10a−(8,1),10a−(3,2),10a−(4,2),10a−(5,2),10a−(6,2),10a−(7,2),10a−(8,2),10a−(5,3),10a−(6,3),10a−(7,3),10a−(8,3)を示す)と、遅延回路(図中ではD)10b(10b−1〜10b−8を示す)とを備えている。
図10においては、EXOR回路10a−(1,0)は1行目0列目に配置され、EXOR回路10a−(2,1)は2行目1列目に配置され、EXOR回路10a−(3,1)は3行目1列目に配置され、EXOR回路10a−(3,2)は3行目2列目に配置され、EXOR回路10a−(4,1)は4行目1列目に配置され、EXOR回路10a−(4,2)は4行目2列目に配置され、EXOR回路10a−(5,1)は5行目1列目に配置され、EXOR回路10a−(5,2)は5行目2列目に配置され、EXOR回路10a−(5,3)は5行目3列目に配置され、EXOR回路10a−(6,1)は6行目1列目に配置され、EXOR回路10a−(6,2)は6行目2列目に配置され、EXOR回路10a−(6,3)は6行目3列目に配置され、EXOR回路10a−(7,1)は7行目1列目に配置され、EXOR回路10a−(7,2)は7行目2列目に配置され、EXOR回路10a−(7,3)は7行目3列目に配置され、EXOR回路10a−(8,1)は8行目1列目に配置され、EXOR回路10a−(8,2)は8行目2列目に配置され、EXOR回路10a−(8,3)は8行目3列目に配置され、3列目が最終列となっている。
つぎに、EXOR回路10aおよび遅延回路10bを接続する網構成について説明する。k行目1列目のEXOR回路10a−(k,1)の一方の入力にはパラレル入力Ikを接続し、他方の入力にはパラレル入力Ik-1を接続する。ただし、2行目1列目のEXOR回路10a−(2,1)の他方の入力には、パラレル入力I1の代わりにEXOR回路10a−(1,0)の出力を接続する。なお、kは「2≦k≦n」を満たす整数とする。
k行目m列目のEXOR回路10a−(k,m)の一方の入力にはEXOR回路10a−(k−2^(m−1),m−1)の出力を接続し、他方の入力にはEXOR回路10a−(k,m−1)の出力を接続する。ただし、k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には、k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を、EXOR回路10a−(k,m)の他方の入力に接続する。また、k−2^(m−1)が1より小さい場合には、EXOR回路を配置しない。なお、mは、「2≦m≦h」を満たす整数である。
i行目の遅延回路10b−iの入力には、i行目に配置されたEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を接続する。ただし、1行目の遅延回路10b−1の入力には、EXOR回路10a−(1,0)の出力を接続する。遅延回路10b−iの出力がパラレル出力Oiとなる。
つぎに、この発明にかかる実施の形態3のnビットパラレルプリコーダ回路が、先の式(1)を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
1列目のEXOR回路10a−(k、1)はパラレル入力Ik,Ik-1をEXOR演算した結果を出力し、2列目のEXOR回路10a−(k、2)はEXOR回路10a−(k−2,1)およびEXOR回路10a−(k、1)の出力をEXOR演算した結果を出力する。すなわちEXOR回路10a−(k、2)はパラレル入力Ik〜Ik-3をEXOR演算した結果に等しい。
図10に示した8ビット並列のパラレルプリコーダ回路においては、1行目0列目のEXOR回路10a−(1,0)の出力をII1とし、EXOR演算子を「*」とすると、2行目1列目のEXOR回路10a−(2,1)の出力EXO10a−(2,1)は、
EXO10a−(2,1)=II1*I2 …式(14−1)
で表すことができ、3行目1列目のEXOR回路10a−(3,1)の出力EXO10a−(3,1)は、
EXO10a−(3,1)=I2*I3 …式(14−2)
で表すことができ、4行目1列目のEXOR回路10a−(4,1)の出力EXO10a−(4,1)は、
EXO10a−(4,1)=I3*I4 …式(14−3)
で表すことができ、5行目1列目のEXOR回路10a−(5,1)の出力EXO10a−(5,1)は、
EXO10a−(5,1)=I4*I5 …式(14−4)
で表すことができ、6行目1列目のEXOR回路10a−(6,1)の出力EXO10a−(6,1)は、
EXO10a−(6,1)=I5*I6 …式(14−5)
で表すことができ、7行目1列目のEXOR回路10a−(7,1)の出力EXO10a−(7,1)は、
EXO10a−(7,1)=I6*I7 …式(14−6)
で表すことができ、8行目1列目のEXOR回路10a−(8,1)の出力EXO10a−(8,1)は、
EXO10a−(8,1)=I7*I8 …式(14−7)
で表すことができる。以下、式(14−1)〜式(14−7)を式(14)ということがある。
また、3行目2列目のEXOR回路10a−(3,2)の出力EXO10a−(3,2)は、
EXO10a−(3,2)=EXO10a−(1,0)*EXO10a−(3,1)
…式(15−1)
で表すことができ、4行目2列目のEXOR回路10a−(4,2)の出力EXO10a−(4,2)は、
EXO10a−(4,2)=EXO10a−(2,1)*EXO10a−(4,1)
…式(15−2)
で表すことができ、5行目2列目のEXOR回路10a−(5,2)の出力EXO10a−(5,2)は、
EXO10a−(5,2)=EXO10a−(3,1)*EXO10a−(5,1)
…式(15−3)
で表すことができ、6行目2列目のEXOR回路10a−(6,2)の出力EXO10a−(6,2)は、
EXO10a−(6,2)=EXO10a−(4,1)*EXO10a−(6,1)
…式(15−4)
で表すことができ、7行目2列目のEXOR回路10a−(7,2)の出力EXO10a−(7,2)は、
EXO10a−(7,2)=EXO10a−(5,1)*EXO10a−(7,1)
…式(15−5)
で表すことができ、8行目2列目のEXOR回路10a−(8,2)の出力EXO10a−(8,2)は、
EXO10a−(8,2)=EXO10a−(6,1)*EXO10a−(8,1)
…式(15−6)
で表すことができる。式(15−1)〜式(15−6)は、式(14)により、
EXO10a−(3,2)=II1*I2*I3 …式(16−1)
EXO10a−(4,2)=II1*I2*I3*I4 …式(16−2)
EXO10a−(5,2)=I2*I3*I4*I5 …式(16−3)
EXO10a−(6,2)=I3*I4*I5*I6 …式(16−4)
EXO10a−(7,2)=I4*I5*I6*I7 …式(16−5)
EXO10a−(8,2)=I5*I6*I7*I8 …式(16−6)
となる。以下、式(16−1)〜式(16−6)を式(16)ということがある。
さらに、3列目のEXOR回路10a−(k,3)は、EXOR回路10−(k,2)の出力およびEXOR回路10a−(k−4,2)の出力をEXOR演算した結果を出力する。EXOR回路10a−(k,3)の出力はパラレル入力Ik〜Ik-7をEXOR演算した結果に等しく(図10においては、EXOR回路10a−(8,3)の出力に相当)、k−7が0以下であるなら(図10のEXOR回路10a−(5,3)〜10a−(7,3)の出力に相当)パラレル入力Ik〜I1をEXOR演算した結果に等しい。
図10においては、5行目3列目のEXOR回路10a−(5,3)の出力EXO10a−(5,3)は、
EXO10a−(5,3)=II1*EXO10a−(5,2) …式(17−1)
で表すことができ、6行目3列目のEXOR回路10a−(6,3)の出力EXO10a−(6,3)は、
EXO10a−(6,3)=EXO10a−(2,1)*EXO10a−(6,2)
…式(17−2)
で表すことができ、7行目3列目のEXOR回路10a−(7,3)の出力EXO10a−(7,3)は、
EXO10a−(7,3)=EXO10a−(3,2)*EXO10a−(7,2)
…式(17−3)
で表すことができ、8行目3列目のEXOR回路10a−(8,3)の出力EXO10a−(8,3)は、
EXO10a−(8,3)=EXO10a−(4,2)*EXO10a−(8,2)
…式(17−4)
で表すことができる。式(17−1)〜式(17−4)は、式(14)および式(16)により、
EXO10a−(5,3)=II1*I2*I3*I4*I5 …式(18−1)
EXO10a−(6,3)=II1*I2*I3*I4*I5*I6 …式(18−2)
EXO10a−(7,3)=II1*I2*I3*I4*I5*I6*I7
…式(18−3)
EXO10a−(8,3)=II1*I2*I3*I4*I5*I6*I7*I8
…式(18−4)
となる。以下、式(18−1)〜式(18−4)を式(18)ということがある。
上述した式(14)、式(16)、および式(18)は、1クロック前のパラレル出力O8と、パラレル入力I1〜I8の中で、時系列で前にあるパラレル入力I1〜I8すべてをEXOR演算したものであり、上記式(1)を満たしている。すなわち、この発明にかかる実施の形態3のnビットパラレルプリコーダ回路は、シリアルプリコーダ回路と等価になっている。なお、展開ビット幅nは、特に2のべき乗である必要はない。
以上説明したように、この実施の形態3においては、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、k行目1列目のEXOR回路は、k行目のパラレル入力を一方の入力とし、kの値が2の場合には前記0行目のEXOR回路の出力を他方の入力とし、kの値が2より大きい場合にはk−1行目のパラレル入力を他方の入力としてEXOR演算を行ない、k行目m列目のEXOR回路は、k−2^(m−1)が1以上の場合に、k行目m−1列目のEXOR回路の出力と、k−2^(m−1)行目m−1列目のEXOR回路の出力とを入力とし、k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には、k行目m−1列目のEXOR回路の出力と、k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力とを入力としてEXOR演算を行ない、1〜n行目の遅延回路は、1〜n行目それぞれに配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させて、1〜n行目のパラレル出力とするようにしている。
すなわち、この実施の形態3のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。具体的には、この実施の形態3においては、最大遅延をlog2n+1段に抑えることができる。また、回路規模は、n×(log2n)規模サイズに収めることができる。
実施の形態4.
図11を用いてこの発明の実施の形態4を説明する。この発明にかかる実施の形態4のパラレルプリコーダ回路は、n(2≦n,nは整数)ビットのパラレル入力I1〜Inからパラレル出力O1〜Onを算出する。
この実施の形態4のパラレルプリコーダ回路は、入力数が異なるEXOR回路11a(11a−(i,j)を示す)回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路11b(11b−1〜11b−nを示す)とを備えている。なお、多入力EXOR回路の構成は、先の実施の形態2と同じであるので、ここではその説明を省略する。
この実施の形態4のパラレルプリコーダ回路において、EXOR回路11aおよび遅延回路11bは、実施の形態1と同様に後述する網構成で接続される。なお、この実施の形態4においては、多入力EXOR回路の最大多入力数をrとすると、最終列hは、logrn以上の最も小さい整数とする。
図11は、「ビット数n=8」であって、かつ「最大多入力数r=4」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態4の構成を示す図である。図11において、パラレルプリコーダ回路は、EXOR回路11a(11a−(1,0),11a−(2,1),11a−(3,1),11a−(4,1),11a−(5,1),11a−(6,1),11a−(7,1),11a−(8,1),11a−(5,2),11a−(6,2),11a−(7,2),11a−(8,2)を示す)と、遅延回路(図中ではD)11b(11b−1〜11b−8を示す)とを備えている。
図11においては、EXOR回路11a−(1,0)は2入力EXOR回路であり1行目0列に配置され、EXOR回路11a−(2,1)は2入力のEXOR回路であり2行目1列目に配置され、EXOR回路11a−(3,1)は3入力のEXOR回路であり3行目1列目に配置され、EXOR回路11a−(4,1)はr入力(この場合は4入力)のEXOR回路であり4行目1列目に配置され、EXOR回路11a−(5,1)は4入力のEXOR回路であり5行目1列目に配置され、EXOR回路11a−(6,1)は4入力のEXOR回路であり6行目1列目に配置され、EXOR回路11a−(7,1)は4入力のEXOR回路であり7行目1列目に配置され、EXOR回路11a−(8,1)は4入力のEXOR回路であり8行目1列目に配置され、EXOR回路11a−(5,2)は2入力のEXOR回路であり5行目2列目に配置され、EXOR回路11a−(6,2)は2入力のEXOR回路であり6行目2列目に配置され、EXOR回路11a−(7,2)は2入力のEXOR回路であり7行目2列目に配置され、EXOR回路11a−(8,2)は2入力のEXOR回路であり8行目2列目に配置され、2列目が最終列となっている。
つぎに、EXOR回路11aおよび遅延回路11bを接続する網構成について説明する。k行目1列目のEXOR回路11a−(k、1)の入力には、パラレル入力Ik、パラレル入力Ik-1、パラレル入力Ik-2、…、パラレル入力Ik-r+1を接続する。ただし、k−r+1が1より小さい場合には、多入力EXOR回路11a−(k,1)の入力に接続しない。また、パラレル入力I1の代わりにEXOR回路11a−(1,0)の出力を接続する。なお、kは「2≦k≦n」を満たす整数である。
図11においては、EXOR回路11−a(2,1)にはEXOR回路11a−(1,0)の出力とパラレル入力I2を接続し、EXOR回路11−a(3,1)にはEXOR回路11a−(1,0)の出力とパラレル入力I2,I3を接続し、EXOR回路11−a(4,1)にはEXOR回路11a−(1,0)の出力とパラレル入力I2〜I4を接続し、EXOR回路11−a(5,1)にはパラレル入力I2〜I5を接続し、EXOR回路11−a(6,1)にはパラレル入力I3〜I6を接続し、EXOR回路11−a(7,1)にはパラレル入力I4〜I7を接続し、EXOR回路11−a(8,1)にはパラレル入力I5〜I8を接続する。
k行目m列目のEXOR回路11a−(k,m)の入力には、EXOR回路11a−(k−(r−1)×r^(m−1),m−1)、・・・、EXOR回路11a−(k−p×r^(m−1),m−1)、・・・、EXOR回路11a−(k,m−1)までの出力を接続する。ただし、k−p×r^(m−1)行目m−1列目にEXOR回路が配置されていない場合は、k−p×r^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を、EXOR回路11a−(r×k,m)の入力に接続する。また、k−p×r^(m−1)が1より小さい場合には、多入力EXOR回路11a−(k,m)の入力の一つは空けたままとし、入力がEXOR回路11a−(k、m−1)の出力1つのみならEXOR回路を配置しない。なお、mは「2≦m≦h」を満たす整数であり、pは「0≦p≦r−1」を満たす整数である。
図11においては、EXOR回路11a−(5,2)の入力にはEXOR回路11a−(1,0)の出力とEXOR回路11a−(5,1)の出力とが接続され、EXOR回路11a−(6,2)の入力にはEXOR回路11a−(2,1)の出力とEXOR回路11a−(6,1)の出力とが接続され、EXOR回路11a−(7,2)の入力にはEXOR回路11a−(3,1)の出力とEXOR回路11a−(7,1)の出力とが接続され、EXOR回路11a−(8,2)の入力にはEXOR回路11a−(4,1)の出力とEXOR回路11a−(8,1)の出力とが接続される。
k行目の遅延回路11b−kの入力に、k行目に配置されているEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を接続する。ただし、1行目の遅延回路11b−1の入力には、EXOR回路1a−(1,0)の出力を接続する。遅延回路11b−iの出力がパラレル出力Oiとなる。
つぎに、この発明にかかる実施の形態4のnビットパラレルプリコーダ回路が、先の式(1)を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
1列目のEXOR回路11a−(k,1)はパラレル入力Ik-r+1〜IkをEXOR演算した結果を出力し、2列目のEXOR回路11a−(k,2)はEXOR回路11a−(k−p×r,1)〜11a−(k,1)の出力をEXOR演算した結果を出力する。すなわちEXOR回路11a−(k,2)の出力はパラレル入力Ik-r×r+1〜IkをEXOR演算した結果に等しい。
図11に示した8ビットのパラレルプリコーダ回路においては、1行目0列目のEXOR回路11a−(1,0)の出力をII1とし、EXOR演算子を「*」とすると、2行目1列目のEXOR回路11a−(2,1)の出力EXO11a−(2,1)は、
EXO11a−(2,1)=II1*I2 …式(19−1)
で表すことができ、3行目1列目のEXOR回路11a−(3,1)の出力EXO11a−(3,1)は、
EXO11a−(3,1)=II1*I2*I3 …式(19−2)
で表すことができ、4行目1列目のEXOR回路11a−(4,1)の出力EXO11a−(4,1)は、
EXO11a−(4,1)=II1*I2*I3*I4 …式(19−3)
で表すことができ、5行目1列目のEXOR回路11a−(5,1)の出力EXO11a−(5,1)は、
EXO11a−(5,1)=I2*I3*I4*I5 …式(19−4)
で表すことができ、6行目1列目のEXOR回路11a−(6,1)の出力EXO11a−(6,1)は、
EXO11a−(6,1)=I3*I4*I5*I6 …式(19−5)
で表すことができ、7行目1列目のEXOR回路11a−(7,1)の出力EXO11a−(7,1)は、
EXO11a−(7,1)=I4*I5*I6*I7 …式(19−6)
で表すことができ、8行目1列目のEXOR回路11a−(8,1)の出力EXO11a−(8,1)は、
EXO11a−(8,1)=I5*I6*I7*I8 …式(19−7)
で表すことができる。以下、式(19−1)〜式(19−7)を式(19)ということがある。
また、5行目2列目のEXOR回路11a−(5,2)の出力EXO11a−(5,2)は、
EXO11a−(5,2)=II1*EXO11a−(5,1) ・・・式(20−1)
で表すことができ、6行目2列目のEXOR回路11a−(6,2)の出力EXO11a−(6,2)は、
EXO11a−(6,2)=EXO11a−(2,1)*EXO11a−(6,1)
・・・式(20−2)
で表すことができ、7行目2列目のEXOR回路11a−(7,2)の出力EXO11a−(7,2)は、
EXO11a−(7,2)=EXO11a−(3,1)*EXO11a−(7,1)
・・・式(20−3)
で表すことができ、8行目2列目のEXOR回路11a−(8,2)の出力EXO11a−(8,2)は、
EXO11a−(8,2)=EXO11a−(4,1)*EXO11a−(8,1)
・・・式(20−4)
で表すことができる。式(20−1)〜式(20−4)は、式(19)により、
EXO11a−(5,2)=II1*I2*I3*I4*I5 …式(21−1)
EXO11a−(6,2)=II1*I2*I3*I4*I5*I6 …式(21−2)
EXO11a−(7,2)=II1*I2*I3*I4*I5*I6*I7
…式(21−3)
EXO11a−(8,2)=II1*I2*I3*I4*I5*I6*I7*I8
…式(21−4)
となる。以下、式(21−1)〜式(21−4)を式(21)ということがある。
上述した式(19)および式(21)は、1クロック前のパラレル出力からわかるように、この発明にかかる実施の形態4のnビットパラレルプリコーダ回路はシリアルプリコーダ回路と等価になっている。O8と、パラレル入力I1〜I8の中で、時系列で前にあるパラレル入力I1〜I8すべてをEXOR演算したものであり、上記式(1)を満たしている。すなわち、この発明にかかる実施の形態4のnビットパラレルプリコーダ回路は、シリアルプリコーダ回路と等価になっている。なお、展開ビット幅nは、特に2のべき乗である必要はない。
以上説明したように、この実施の形態4においては、複数の多入力のEXOR回路の最大入力数をr(2≦r,rは整数)とし、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、k行1列目の多入力EXOR回路は、k−qが1の場合には、前記0列目のEXOR回路の出力と、2行目からk行目までの間のk−q行目のパラレル入力とを入力としてEXOR演算を行い、k−qが1より大きい場合には、k−r+1行目からk行目までの間のk−q行目のパラレル入力を入力としてEXOR演算を行ない、k行目m列目の多入力EXOR回路は、k−p×r^(m−1)が1以上の場合に、k−(r−1)×r^(m−1)行目からk行目までの間のk−p×r^(m−1)行目m−1列目の多入力EXOR回路の出力を入力とし、k−p×r^(m−1)行目m−1列目に多入力EXOR回路が配置されてない場合には、k−p×r^(m−1)行目に配置されている多入力EXOR回路の中で、最も大きい列番号を有する多入力EXOR回路の出力を入力としてEXOR演算を行ない、1〜n行目の遅延回路は、1〜n行目それぞれに配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させて、1〜n行目のパラレル出力とするようにしている。
すなわち、この実施の形態4のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。具体的には、この実施の形態4においては、最大遅延をlogrn段に抑えることができる。また、回路規模は、n×(logrn)規模のサイズに収めることができる。
実施の形態5.
図12を用いてこの発明にかかる実施の形態5を説明する。この発明にかかる実施の形態5のパラレルプリコーダ回路は、n(2≦n,nは整数)ビットのパラレル入力I1〜Inからパラレル出力O1〜Onを算出する。
この実施の形態5のパラレルプリコーダ回路は、2入力のEXOR回路12a(12a−(i,j)を示す)回路と、フリップフロップなどで構成され、入力された信号を単位時間遅延させて出力する遅延回路12b(12b−1〜12b−nを示す)とを備えている。
この実施の形態5のパラレルプリコーダ回路において、EXOR回路12aおよび遅延回路12bは、実施の形態1と同様に後述する網構成で接続される。i行目のEXOR回路とは、パラレル入力Iiから遅延回路12b−iを結ぶ信号経路に配置されるEXOR回路を示す。また、j列目のEXOR回路とは、遅延回路12b−nの出力とパラレル入力I1とが入力されるEXOR回路を0列目と定義し、パラレル入力I1から数えてj個目のEXOR回路をj列目のEXOR回路とする。EXOR回路が配置される最終列をh列目と定義し、hhをlog2n以上の最も小さい整数とすると、最終列hは、「h=2×hh−1」を満たす整数となる。
図12は、「ビット数n=16」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態5の構成を示す図である。図12において、パラレルプリコーダ回路は、EXOR回路12a(12a−(1,0),12a−(2,1),12a−(4,1),12a−(6,1),12a−(8,1),12a−(10,1),12a−(12,1),12a−(14,1),12a−(16,1),12a−(4,2),12a−(8,2),12a−(12,2),12a−(16,2),12a−(8,3),12a−(16,3),12a−(16,4),12a−(12,5),12a−(6,6),12a−(10,6),12a−(14,6),12a−(3,7),12a−(5,7),12a−(7,7),12a−(9,7),12a−(11,7),12a−(13,7),12a−(15,7)を示す)と、遅延回路(図中ではD)12b(12b−1〜12b−16を示す)とを備えている。
図12においては、EXOR回路12a−(1,0)は1行目0列目に配置され、EXOR回路12a−(2,1)は2行目1列目に配置され、EXOR回路12a−(3,7)は3行目7列目に配置され、EXOR回路12a−(4,1)は4行目1列目に配置され、EXOR回路12a−(4,2)は4行目2列目に配置され、EXOR回路12a−(5,7)は5行目7列目に配置され、EXOR回路12a−(6,1)は6行目1列目に配置され、EXOR回路12a−(6,6)は6行目6列目に配置され、EXOR回路12a−(7,7)は7行目7列目に配置され、EXOR回路12a−(8,1)は8行目1列目に配置され、EXOR回路12a−(8,2)は8行目2列目に配置され、EXOR回路12a−(8,3)は8行目3列目に配置され、EXOR回路12a−(9,7)は9行目7列目に配置され、EXOR回路12a−(10,1)は10行目1列目に配置され、EXOR回路12a−(10,6)は10行目6列目に配置され、EXOR回路12a−(11,7)は11行目7列目に配置され、EXOR回路12a−(12,1)は12行目1列目に配置され、EXOR回路12a−(12,2)は12行目2列目に配置され、EXOR回路12a−(12,5)は12行目5列目に配置され、EXOR回路12a−(13,7)は13行目7列目に配置され、EXOR回路12a−(14,1)は14行目1列目に配置され、EXOR回路12a−(14,6)は14行目6列目に配置され、EXOR回路12a−(15,7)は15行目7列目に配置され、EXOR回路12a−(16,1)は16行目1列目に配置され、EXOR回路12a−(16,2)は16行目2列目に配置され、EXOR回路12a−(16,3)は16行目3列目に配置され、EXOR回路12a−(16,4)は16行目4列目に配置され、7列目が最終列となっている。
つぎに、EXOR回路12aおよび遅延回路12bを接続する網構成について説明する。2k行目1列目のEXOR回路12a−(2k,1)の一方の入力には、パラレル入力I2kを接続し、他方の入力にはパラレル入力I2k-1を接続する。ただし、2行目1列目のEXOR回路12a−(2,1)の他方の入力には、パラレル入力I1の代わりにEXOR回路12a−(1,0)の出力を接続する。なお、kは「1≦k≦n/2」を満たす整数とする。
(2^m)×k行目m列目のEXOR回路12a−((2^m)×k,m)の一方の入力には、EXOR回路12a−((2^m)×k−2^(m−1),m−1)の出力を接続し、他方の入力にはEXOR回路12a−((2^m)×k,m−1)の出力を接続する。ただし、(2^m)×k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合は、EXOR回路を配置しない。たとえば、図12ではk=1、m=3のEXOR回路12a−(8,3)の一方の入力にはEXOR回路12a−(4,2)の出力を接続し、他方の入力にはEXOR回路12a−(8,2)の出力を接続する。なお、mは「2≦m≦hh」を満たす整数とする。図12においては、hhは「4」である。
また、mが、hh+1≦m≦2×hh−1となるm列目のEXOR回路については、次のように接続する。2^hh−(2kk−1)×2^(2hh−m−1)行目m列目のEXOR回路12a−(2^hh−(2kk−1)×2^(2hh−m−1)、m)の一方の入力には、2^hh−(2kk−1)×2^(2hh−m−1)行目に配置されているEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を接続し、他方の入力には、2^hh−2kk×2^(2hh−m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を持つj列目のEXOR回路の出力を接続する。なお、kkは「1≦kk≦2^(m−hh)−1」を満たす整数とする。たとえば、図12においては、kk=1、m=6となるEXOR回路12a−(14,6)の一方の入力にはEXOR回路12a−(12,5)の出力を接続し、他方の入力には、EXOR回路12a−(14,1)の出力を接続する。
i行目の遅延回路12b−iの入力に、i行目に配置されているEXOR回路の中で、最も大きい列番号jを持つj列目のEXOR回路の出力を接続する。ただし、1行目の遅延回路12b−1の入力には、EXOR回路12a−(1,0)の出力を接続する。遅延回路12b−iの出力がパラレル出力Oiとなる。
つぎに、この発明にかかる実施の形態5のnビットパラレルプリコーダ回路が、先の式(1)を満たしており、デュオバイナリ方式において使用されるプリコーダ回路と等価であることを説明する。
まず、図12において、各行のhh列目までに配置されるEXOR回路の出力について説明する。1行目0列目のEXOR回路12a−(1,0)の出力をII1とし、EXOR演算子を「*」とすると、2行目1列目のEXOR回路12a−(2,1)の出力EXO12a−(2,1)は、
EXO12a−(2,1)=II1*I2 …式(22−1)
で表すことができ、4行目1列目のEXOR回路12a−(4,1)の出力EXO12a−(4,1)は、
EXO12a−(4,1)=I3*I4 …式(22−2)
で表すことができ、6行目1列目のEXOR回路12a−(6,1)の出力EXO12a−(6,1)は、
EXO12a−(6,1)=I5*I6 …式(22−3)
で表すことができ、8行目1列目のEXOR回路12a−(8,1)の出力EXO12a−(8,1)は、
EXO12a−(8,1)=I7*I8 …式(22−4)
で表すことができ、10行目1列目のEXOR回路12a−(10,1)の出力EXO12a−(10,1)は、
EXO12a−(10,1)=I9*I10 …式(22−5)
で表すことができ、12行目1列目のEXOR回路12a−(12,1)の出力EXO12a−(12,1)は、
EXO12a−(12,1)=I11*I12 …式(22−6)
で表すことができ、14行目1列目のEXOR回路12a−(14,1)の出力EXO12a−(14,1)は、
EXO12a−(14,1)=I13*I14 …式(22−7)
で表すことができ、16行目1列目のEXOR回路12a−(16,1)の出力EXO12a−(16,1)は、
EXO12a−(16,1)=I15*I16 …式(22−8)
で表すことができる。以下、式(22−1)〜式(22−8)を式(22)ということがある。
また、4行目2列目のEXOR回路12a−(4,2)の出力EXO12a−(4,2)は、
EXO12a−(4,2)=EXO12a−(2,1)*EXO12a−(4,1) ・・・式(23−1)
で表すことができ、8行目2列目のEXOR回路12a−(8,2)の出力EXO12a−(8,2)は、
EXO12a−(8,2)=EXO12a−(6,1)*EXO12a−(8,1)
・・・式(23−2)
で表すことができ、12行目2列目のEXOR回路12a−(12,2)の出力EXO12a−(12,2)は、
EXO12a−(12,2)=EXO12a−(10,1)*EXO12a−(12,1) ・・・式(23−3)
で表すことができ、16行目2列目のEXOR回路12a−(16,2)の出力EXO12a−(16,2)は、
EXO12a−(16,2)=EXO12a−(14,1)*EXO12a−(16,1) ・・・式(23−4)
で表すことができる。式(23−1)〜式(23−4)は、式(22)により、
EXO12a−(4,2)=II1*I2*I3*I4 ・・・式(24−1)
EXO12a−(8,2)=I5*I6*I7*I8 ・・・式(24−2)
EXO12a−(12,2)=I9*I10*I11*I12 ・・・式(24−3)
EXO12a−(16,2)=I13*I14*I15*I16 ・・・式(24−4)
となる。以下、式(24−1)〜式(24−4)を式(24)とよぶことがある。
また、8行目3列目のEXOR回路12a−(8,3)の出力EXO12a−(8,3)は、
EXO12a−(8,3)=EXO12a−(4,2)*EXO12a−(8,2)
・・・式(25−1)
で表すことができ、16行目3列目のEXOR回路12a−(16,3)の出力EXO12a−(16,3)は、
EXO12a−(16,3)=EXO12a−(12,2)*EXO12a−(16,2) ・・・式(25−2)
で表すことができる。式(25−1)および式(25−2)は、式(24)により、
EXO12a−(8,3)=II1*I2*I3*I4*I5*I6*I7*I8
・・・式(26−1)
EXO12a−(16,3)=I9*I10*I11*I12*I13*I14*I15*I16
・・・式(26−2)
となる。以下、式(26−1)および式(26−2)を式(26)ということがある。
16行目4列目のEXOR回路12a−(16,4)の出力EXO12a−(16,4)は、
EXO12a−(16,4)=EXO12a−(8,3)*EXO12a−(16,3)
で表すことができ、式(26)により、
EXO12a−(16,4)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13*I14*I15*I16 ・・・式(27)
となる。
つぎに、hh列目以降に配置されるEXOR回路の出力について説明する。12行目5列目のEXOR回路12a−(12,5)の出力EXO12a−(12,5)は、
EXO12a−(12,5)=EXO12a−(8,3)*EXO12a−(12,2)
で表すことができ、式(24)および式(26)により、
EXO12a−(12,5)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12 ・・・式(28)
となる。
6行目6列目のEXOR回路12a−(6,6)の出力EXO12a−(6,6)は、
EXO12a−(6,6)=EXO12a−(4,2)*EXO12a−(6,1)
・・・式(29−1)
で表すことができ、10行目6列目のEXOR回路12a−(10,6)の出力EXO12a−(10,6)は、
EXO12a−(10,6)=EXO12a−(8,3)*EXO12a−(10,1)
・・・式(29−2)
で表すことができ、14行目6列目のEXOR回路12a−(14,6)の出力EXO12a−(14,6)は、
EXO12a−(14,6)=EXO12a−(12,5)*EXO12a−(14,1) ・・・式(29−3)
で表すことができる。式(29−1)〜式(29−3)は、式(22)、式(24)、および式(26)により、
EXO12a−(6,6)=II1*I2*I3*I4*I5*I6 ・・・式(30−1)
EXO12a−(10,6)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10 ・・・式(30−2)
EXO12a−(14,6)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13*I14 ・・・式(30−3)
となる。以下、式(30−1)〜式(30−3)を式(30)とよぶことがある。
3行目7列目のEXOR回路12a−(3,7)の出力EXO12a−(3,7)は、
EXO12a−(3,7)=EXO12a−(2,1)*I3 ・・・式(31−1)
で表すことができ、5行目7列目のEXOR回路12a−(5,7)の出力EXO12a−(5,7)は、
EXO12a−(5,7)=EXO12a−(4,2)*I5 ・・・式(31−2)
で表すことができ、7行目7列目のEXOR回路12a−(7,7)の出力EXO12a−(7,7)は、
EXO12a−(7,7)=EXO12a−(6,6)*I7 ・・・式(31−3)
で表すことができ、9行目7列目のEXOR回路12a−(9,7)の出力EXO12a−(9,7)は、
EXO12a−(9,7)=EXO12a−(8,3)*I9 ・・・式(31−4)
で表すことができ、11行目7列目のEXOR回路12a−(11,7)の出力EXO12a−(11,7)は、
EXO12a−(11,7)=EXO12a−(10,6)*I11 ・・・式(31−5)
で表すことができ、13行目7列目のEXOR回路12a−(13,7)の出力EXO12a−(13,7)は、
EXO12a−(13,7)=EXO12a−(12,5)*I13 ・・・式(31−6)
で表すことができ、15行目7列目のEXOR回路12a−(15,7)の出力EXO12a−(15,7)は、
EXO12a−(15,7)=EXO12a−(14,6)*I15 ・・・式(31−7)
で表すことができる。式(31−1)〜式(31−7)は、式(22)、式(24)、式(26)、式(28)、および式(30)により、
EXO12a−(3,7)=II1*I2*I3 ・・・式(32−1)
EXO12a−(5,7)=II1*I2*I3*I4*I5 ・・・式(32−2)
EXO12a−(7,7)=II1*I2*I3*I4*I5*I6*I7
・・・式(32−3)
EXO12a−(9,7)=II1*I2*I3*I4*I5*I6*I7*I8*I9
・・・式(32−4)
EXO12a−(11,7)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11 ・・・式(32−5)
EXO12a−(13,7)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13 ・・・式(32−6)
EXO12a−(15,7)=II1*I2*I3*I4*I5*I6*I7*I8*I9*I10*I11*I12*I13*I14*I15 ・・・式(32−7)
となる。以下、式(32−1)〜式(32−7)を式(32)ということがある。
上述した式(22)、式(24)、式(26)、式(27)、式(28)、式(30)および式(32)は、1クロック前のパラレル出力O16と、パラレル入力I1〜I16の中で、時系列で前にあるパラレル入力I1〜I16すべてをEXOR演算したものであり、上記式(1)を満たしている。すなわち、この発明にかかる実施の形態5のnビットパラレルプリコーダ回路は、シリアルプリコーダ回路と等価になっている。
以上説明したように、この実施の形態5においては、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、1列目2k行目のEXOR回路は、2k行目のパラレル入力を一方の入力と、kの値が1である場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル入力を他方の入力としてEXOR演算を行ない、(2^m)×k行目m列目のEXOR回路は、(2^m)×k−2^(m−1)が1以上であって、かつ(2^m)×kがn以下の場合、(2^m)×k行目m−1列目のEXOR回路の出力と、(2^m)×k−2^(m−1)行目m−1列目にEXOR回路の出力とを入力としてEXOR演算を行ない、2^hh−(2kk−1)×2^(2hh−m−1)行目m列目のEXOR回路は、mの値がhh以上であってかつ2×hh−1以下の場合に、2^hh−(2kk−1)×2^(2hh−m−1)行目(1≦kk,kkは整数)に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力と、2^hh−2kk×2^(2hh−m−1)行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力とを入力としてEXOR演算を行ない、1〜n行目の遅延回路は、1〜n行目それぞれに配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させて、1〜n行目のパラレル出力とするようにしている。
すなわち、この実施の形態5のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成するようにしているため、回路の遅延が小さいパラレルプリコーダを得ることができる。具体的には、この実施の形態3においては、最大遅延を2×(log2n)−1段に抑えることができる。また、回路規模は、n×(log2n)規模サイズに収めることができる。
実施の形態6.
図13を用いてこの発明の実施の形態6を説明する。上述した実施の形態1〜5では、パラレルプリコーダ回路が算出するパラレル出力の前に遅延回路を配置するようにしたが、この実施の形態6のパラレルプリコーダ回路は、パラレル出力から前段のEXOR回路へのフィードバックを行っているn行目の遅延回路以外の遅延回路の中で、シリアル伝送時に時系列上で最も古いデータを出力するものから連続して削除するものである。
図13は、この発明にかかるパラレルプリコーダ回路の実施の形態6の構成を示す図である。図13に示したパラレルプリコーダ回路は、先の図1に示した実施の形態1のパラレルプリコーダ回路から、パラレル出力O1に接続されるシリアル伝送時に時系列上で最も古いデータを出力する遅延回路1b−1から7ビット連続した遅延回路1b−1〜1b−7が削除されている。図1に示した実施の形態1のパラレルプリコーダ回路と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
実施の形態1〜5のパラレルプリコーダ回路において、フィードバックを掛けている遅延回路から出力されるデータは、パラレル出力の中で最も新しいデータ、すなわち多重後のシリアル伝送時には一番最後に伝送されるデータであり、他の遅延回路からの出力がその前のn−1ビット分に相当する。nビットパラレルプリコーダ回路内の動作クロックはn/F[Hz]であり、遅延回路を取り除くことにより1クロック分の遅延回路前段のデータはnビット分新しいデータとなる。
図13においては、図1に示した遅延回路1b−1〜1b−7を取り除くことにより、パラレル出力O1〜O7はシリアル伝送時に遅延回路1b−8から出力されるデータの後ろに続く7ビットのデータになる。このためパラレルプリコーダ回路の後段に配置される多重化回路において、パラレルプリコーダ回路の遅延回路1b−8からのパラレル出力O8をシリアル伝送時に最も早く伝送し、つぎにパラレル出力O1、パラレル出力O2、・・・、パラレル出力O7の順に出力するようにすれば、図1に示したパラレルプリコーダ回路を用いた場合と比較して、伝送速度F[Hz]における1クロック単位時間でn−1クロック速くデータ出力されるだけである。
以上説明したように、この実施の形態6のパラレルプリコーダ回路は、0列目のEXOR回路は、n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行ない、2k行目1列目のEXOR回路は、2k行目のパラレル入力を一方の入力とし、kの値が1の場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル信号を他方の入力としてEXOR演算を行い、2k行目m列目のEXOR回路は、2k−2^(m−1)が1以上の場合に、2k行目m−1列目のEXOR回路の出力を一方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されている場合には前記2k−2^(m−1)行目m−1列目のEXOR回路の出力を他方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には2k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行ない、2k−1行目h列目のEXOR回路は、2k−1行目のパラレル信号を一方の入力とし、2k−2行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行ない、n行目の遅延回路は、n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させ、1〜n−1行目に配置されているEXOR回路の中でそれぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、n行目の遅延回路の出力をn行目のパラレル出力とするようにしている。
すなわち、この実施の形態6のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成するとともに、1行目0列目のEXOR回路にフィードバックするn行目のパラレル出力のみを遅延させるようにしているため、回路の遅延が小さく、かつ回路規模の小さいパラレルプリコーダを得ることができる。
具体的には、実施の形態1のパラレルプリコーダ回路と比較して、n−1個分の遅延回路が削減されており、パラレル入出力のビット数が大きくなるほど回路規模を削減することができる。
なお、この実施の形態6では、先の実施の形態1のパラレルプリコーダ回路において、遅延回路1b−1〜1b−7を削除した場合を例に挙げて説明したが、実施の形態2〜5のパラレルプリコーダ回路においても、1〜n−1ビット目に配置されている遅延回路を削除しても同様の効果が得られることはいうまでもない。また、この実施の形態6では、遅延回路をnビット目のみに配置するようにしたが、i(1≦i≦n−1)〜nビット目、すなわちnビット目に連続するビット分の遅延回路を備えるようにしても同様の効果を得ることができる。
実施の形態7.
図14および図15を用いてこの発明の実施の形態7を説明する。上述した実施の形態1〜6では、1クロック前のパラレル出力の中で、最も新しいデータを保持する遅延回路の出力をフィードバックして、パラレル入力の中で最も古いパラレル入力とEXOR演算を行なうようにした。この実施の形態7では、全てのパラレル入力と遅延回路の出力とのEXOR演算を行なってフィードバックループを構成するものである。
図14は、「ビット数n=8」の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態7の構成を示す図である。図14に示したパラレルプリコーダ回路は、先の図1に示したパラレルプリコーダ回路のEXOR回路1a−(8,1),1a−(8,2)
,1a−(8,3)および遅延回路1b−8の代わりに、n+1入力のEXOR回路14a−(8,0)および遅延回路14b−8を備えている。すなわち、この実施の形態7のパラレルプリコーダ回路は、実施の形態1のパラレルプリコーダ回路とは、8ビット目(8行目)に配置されるEXOR回路の構成のみが異なっている。図1に示した実施の形態1のパラレルプリコーダ回路と同じ機能を持つ構成部分には同一符号を付し、重複する説明は省略する。
つぎに、この実施の形態7のパラレルプリコーダ回路の網構成について説明する。1行目からn−1行目までのEXOR回路および遅延回路は実施の形態1と同様に接続する。n行目のn+1入力EXOR回路、図14においては、9入力のEXOR回路14a−(8,0)の入力にはパラレル入力I1〜I8と、遅延回路14b−8の出力を接続し、遅延回路14b−8の出力をパラレル出力O8とする。遅延回路14b−8の入力にはEXOR回路14a−(8,0)の出力を接続する。また、1行目0列目のEXOR回路14a−(1,0)の一方の入力にはパラレル入力I1を接続し、他方の入力には遅延回路14b−8の出力を接続する。
n+1入力EXOR回路は、前述したように、入力された信号のうち、“1”が奇数個であれば“1”を出力し、偶数個であれば“0”を出力する。図15は、図14に示したEXOR回路14a−(8,0)および遅延回路14b−8の構成を示す図である。多入力(この場合は、9入力)のEXOR回路14a−(8,0)は、図15に示すように、パラレル入力I1〜I8のEXOR演算を2入力のEXOR回路を組み合わせて実現する。
図15において、n+1(この場合は、9)入力のEXOR回路14a−(8,0)は、ツリー状に構成した2入力のEXOR回路にパラレル入力I1〜I8を入力して得られる出力と、遅延回路14b−8の出力とをEXOR演算して出力する構成となっている。この時、パラレル出力O8は、先の式(1)に示されるパラレル出力On(T)を満たしている。
実施の形態1〜6のパラレルプリコーダ回路は、複数のグループに分けてEXOR演算を行い、それらを何段かに分けてさらにEXOR演算でまとめるように構成したが、全てのEXOR回路は自身が配置される行番号以下にあるEXOR回路の出力を利用する。n行目の遅延回路の出力をフィードバックして、1行目0列目のEXOR回路に入力するが、n行目に配置されているEXOR回路の出力が、直接他のパラレル出力O1〜On-1を生成するために使用されることはない。このため上記のようにパラレル出力Onを生成しても、パラレル出力O1〜On-1は実施の形態1〜7と同様の構成を用いることにより式(1)に示されるパラレルプリコーダ回路の論理式のうち、パラレル出力O1(T)からOn-1(T)までを満たすことができる。
以上説明したように、この実施の形態7においては、nビット目に全てのパラレル入力とnビット目のパラレル出力とのEXOR演算を行なうn+1入力のEXOR回路を備え、このEXOR回路の出力を1クロック遅延させた出力を、1ビット目のEXOR回路に接続する構成としているので、回路遅延が小さいパラレルプリコーダ回路を得ることができる。
また、nビット目の遅延回路から出力され、再度同一の遅延回路に入力されるフィードバック経路を分離して、フィードバック経路上のEXOR回路の個数を減らすことにより、EXOR回路に要求される動作速度を緩和することができる。
実施の形態8.
図16を用いてこの発明の実施の形態8を説明する。実施の形態7では、多入力のEXOR回路を用いてフィードバック経路を分離して、EXOR回路に対する動作速度の要求を緩和した。この実施の形態8では、パイプライン手法を用いてEXOR回路に対する動作速度の要求を緩和するものである。
先の図14に示した実施の形態7のパラレルプリコーダ回路に、パイプライン用の遅延回路(たとえば、フリップフロップ)を挿入する場合、EXOR回路の網構成の部分に挿入するフリップフリップと同じ段数のフリップフロップを遅延回路14b−8の後段に挿入するとともに、9入力のEXOR回路14a−(8,0)に挿入するフリップフロップと同数のフリップフロップを、パラレル入力I1〜In-1を9入力のEXOR回路14a−(8,0)の入力に分岐した後の経路に挿入して、残りのパラレル入力I1〜In-1の後段に繋げる。
図16は、ビット数n=8の場合の、この発明にかかるパラレルプリコーダ回路の実施の形態8の構成を示す図である。図16に示したパラレルプリコーダ回路は、先の図14に示した実施の形態7のパラレルプリコーダ回路に、たとえば、フリップフロップで構成されるパイプライン用の遅延回路(図中ではD)16b(16b−(1,1),16b−(2,1),16b−(3,1),16b−(4,1),16b−(5,1),16b−(6,1),16b−(7,1),16b−(1,2),16b−(2,2),16b−(3,2),16b−(4,2),16b−(5,2),16b−(6,2),16b−(7,2),16b−(8,2)を示す)が追加され、多入力(この場合は、9入力)のEXOR回路14a−(8,0)の代わりに9入力のEXOR回路16a−(8,0)を備えている。
図16においては、9入力のEXOR回路16a−(8,0)内部に、パラレル入力I1〜I8側から数えて2段目のEXOR回路と3段目のEXOR回路との間に、フリップフロップなどで構成される1段のパイプライン用の遅延回路(図中ではD)16b−(8,1),16b−(9,1)を挿入する。また、パラレル入力I1〜I7をEXOR回路16a−(8,0)の入力に分岐した後に1段の遅延回路16b−(1,1),16b−(2,1),16b−(3,1),16b−(4,1),16b−(5,1),16b−(6,1),16b−(7,1)を挿入する。
また、1〜n−1ビット目、すなわち1〜7行目の2列目と3列目との間に、1段のパイプライン用の遅延回路16b−(1,2),16b−(2,2),16b−(3,2),16b−(4,2),16b−(5,2),16b−(6,2),16b−(7,2)を挿入するとともに、8ビット目、すなわち8行目の遅延回路14b−8の後段に遅延回路16b−(8,2)を挿入する。
これにより、全ての信号経路に等しい段数の遅延回路を挿入するようにしているので、パラレルプリコーダ回路内でパラレル出力O1〜Onに加えられる遅延が等しくなり、パラレル出力O1〜Onの相互の位相関係に変化を与えることなく、最大遅延経路を分割することができる。図16においては、パイプライン用の遅延回路を挿入することにより、最大遅延経路上のEXOR回路を4段から2段に低減させている。このように1クロックで動作すべきEXOR回路の段数を緩和することができ、EXOR回路の動作速度への要求を低減することができる。
以上説明したように、この実施の形態8においては、パイプライン用の遅延回路を、回路の動作速度F/n[Hz]で動作可能な直結したEXOR回路の段数毎に挿入するようにしているため、網構成部分のEXOR回路の最大遅延経路はn段からlog2n段に低減され、パイプライン用に挿入するフリップフロップの個数自体も(log2n)/nになり、回路規模を小さくすることができる。
なお、この実施の形態1〜8においては、光デュオバイナリ方式を例に挙げて説明したがこれに限るものではない、たとえば、パーシャルレスポンス(1、1)方式に基づいたプリコーダや、DPSK方式に基づいた差動符号化器などにも適用することができる。
以上のように、本発明にかかるパラレルプリコーダ回路は、高速動作が要求される通信システムに有用であり、特に、光デュオバイナリ方式やパーシャルレスポンス(1、1)方式、DPSK方式などを用いた通信システムに適している。
この発明にかかる実施の形態1のパラレルプリコーダ回路の構成の一例を示す図である。 一般的な光デュオバイナリ送受信系の回路の構成を示す図である。 図2に示したプリコーダ21の動作を説明するためのタイミングチャートである。 この発明にかかる実施の形態1のパラレルプリコーダ回路が適用されるデュオバイナリ信号パラレルプリコーダ回路の構成を示すブロック図である。 図4に示したデュオバイナリ信号パラレルプリコーダ回路の動作を説明するためのタイミングチャートである。 この発明にかかる実施の形態1のパラレルプリコーダ回路の構成の一例を示す図である。 出力信号各々を並列展開された入力信号から生成するパラレルプリコーダ回路の構成を示す図である。 多入力EXOR回路の構成の一例を示す図である。 多入力EXOR回路の構成の一例を示す図である。 多入力EXOR回路の構成の一例を示す図である。 この発明にかかる実施の形態2のパラレルプリコーダ回路の構成の一例を示す図である。 この発明にかかる実施の形態3のパラレルプリコーダ回路の構成の一例を示す図である。 この発明にかかる実施の形態4のパラレルプリコーダ回路の構成の一例を示す図である。 この発明にかかる実施の形態5のパラレルプリコーダ回路の構成の一例を示す図である。 この発明にかかる実施の形態6のパラレルプリコーダ回路の構成の一例を示す図である。 この発明にかかる実施の形態7のパラレルプリコーダ回路の構成の一例を示す図である。 図14に示した多入力のEXOR回路および遅延回路の構成を示す図である。 この発明にかかる実施の形態8のパラレルプリコーダ回路の構成の一例を示す図である。
符号の説明
1a,7a,9a,10a,11a,12a,14a EXOR回路
1b,7b,9b,10b,11b,12b,14b,16b 遅延回路
21 プリコーダ
22 エンコーダ
23 デコーダ
41 パラレルプリコーダ回路
42 分離回路
43 多重回路

Claims (9)

  1. n(2≦n,nは整数)行のパラレル入力にEXOR演算を施してn行のパラレル出力を出力するパラレルプリコーダ回路であって、
    n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行なう0列目のEXOR回路と、
    2k(1≦k≦n/2,kは整数)行目のパラレル入力を一方の入力とし、kの値が1の場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル信号を他方の入力としてEXOR演算を行なう2k行目1列目のEXOR回路と、
    2k−2^(m−1)(2≦m≦h−1,mは整数であって、hは、log2n+1以上の最も小さい整数)が1以上の場合に、2k行目m−1列目のEXOR回路の出力を一方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されている場合には前記2k−2^(m−1)行目m−1列目のEXOR回路の出力を他方の入力とし、2k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には2k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行なう2k行目m列目のEXOR回路と、
    2k−1行目のパラレル信号を一方の入力とし、2k−2行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力を他方の入力としてEXOR演算を行なう2k−1行目h列目のEXOR回路と、
    n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させる前記n行目の遅延回路と、
    を備え、
    1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とすること、
    を特徴とするパラレルプリコーダ回路。
  2. n(2≦n,nは整数)行のパラレル入力にEXOR演算を施してn行のパラレル出力を出力するパラレルプリコーダ回路であって、
    複数の多入力のEXOR回路の最大入力数をr(2≦r,rは整数)とした場合、
    n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行なう0列目のEXOR回路と、
    k(1≦k≦n/r,kは整数)が1の場合には前記0列目のEXOR回路の出力と、2行目からr行目までのパラレル入力とのEXOR演算を行い、kが1より大きい場合にはr×k−r+1行目からr×k行目までのパラレル入力のEXOR演算を行なうr×k行目1列目の多入力EXOR回路と、
    r×k−p×r^(m−1)(2≦m≦h−1,mは整数であって、hはlogrn+1以上の最も小さい整数,0≦p≦r−1,pは整数)が1以上の場合に、r×k−(r−1)×r^(m−1)行目からr×k行目までの間のr×k−p×r^(m−1)行目m−1列目の多入力EXOR回路の出力を入力とし、r×k−p×r^(m−1)行目に多入力EXOR回路が配置されていない場合にはr×k−p×r^(m−1)行目に配置されている多入力EXOR回路の中で、最も大きい列番号を有する多入力EXOR回路の出力を入力としてEXOR演算を行なうr×k行目m列目の多入力EXOR回路と、
    r×k−1行目からr×k−q行目(1≦q≦r−1,qは整数)までのパラレル入力と、r×k−r行目に配置されている多入力EXOR回路の中で、最も大きい列番号を有する多入力EXOR回路の出力とを入力としてEXOR演算を行なうr×k−q行目h列目の多入力EXOR回路と、
    n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させる前記n行目の遅延回路と、
    を備え、
    1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とすること、
    を特徴とするパラレルプリコーダ回路。
  3. n(2≦n,nは整数)行のパラレル入力にEXOR演算を施してn行のパラレル出力を出力するパラレルプリコーダ回路であって、
    n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行なう0列目のEXOR回路と、
    k(2≦k≦n,kは整数)行目のパラレル入力を一方の入力とし、kの値が2の場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が2より大きい場合にはk−1行目のパラレル入力を他方の入力としてEXOR演算を行なうk行目1列目のEXOR回路と、
    k−2^(m−1)(2≦m≦h,mは整数であって、hは、log2n以上の最も小さい整数)が1以上の場合に、k行目m−1列目のEXOR回路の出力と、k−2^(m−1)行目m−1列目のEXOR回路の出力とを入力とし、k−2^(m−1)行目m−1列目にEXOR回路が配置されていない場合には、k行目m−1列目のEXOR回路の出力と、k−2^(m−1)行目に配置されているEXOR回路の中で、最も大きい列番号を有するEXOR回路の出力とを入力としてEXOR演算を行なうk行目m列目のEXOR回路と、
    n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させる前記n行目の遅延回路と、
    を備え、
    1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とすること、
    を特徴とするパラレルプリコーダ回路。
  4. n(2≦n,nは整数)行のパラレル入力にEXOR演算を施してn行のパラレル出力を出力するパラレルプリコーダ回路であって、
    前記複数の多入力のEXOR回路の最大入力数をr(2≦r,rは整数)とした場合、
    n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行なう0列目のEXOR回路と、
    k−q(2≦k≦n,0≦q≦r−1,kおよびqはともに整数)が1の場合には、前記0列目のEXOR回路の出力と、2行目からk行目までの間のk−q行目のパラレル入力とを入力としてEXOR演算を行い、k−qが1より大きい場合には、k−r+1行目からk行目までの間のk−q行目のパラレル入力を入力としてEXOR演算を行なうk行1列目の多入力EXOR回路と、
    k−p×r^(m−1)(2≦m≦h,mは整数であって、hはlogrn以上の最も小さい整数,0≦p≦r−1,pは整数)が1以上の場合に、k−(r−1)×r^(m−1)行目からk行目までの間のk−p×r^(m−1)行目m−1列目の多入力EXOR回路の出力を入力とし、k−p×r^(m−1)行目m−1列目に多入力EXOR回路が配置されてない場合には、k−p×r^(m−1)行目に配置されている多入力EXOR回路の中で、最も大きい列番号を有する多入力EXOR回路の出力を入力としてEXOR演算を行なうk行目m列目の多入力EXOR回路と、
    n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させる前記n行目の遅延回路と、
    を備え、
    1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とすること、
    を特徴とするパラレルプリコーダ回路。
  5. n(2≦n,nは整数)行のパラレル入力にEXOR演算を施してn行のパラレル出力を出力するパラレルプリコーダ回路であって、
    n行目の遅延回路の出力を一方の入力とし、1行目のパラレル入力を他方の入力としてEXOR演算を行なう0列目のEXOR回路と、
    2k(1≦k≦n/2,kは整数)行目のパラレル入力を一方の入力と、kの値が1である場合には前記0列目のEXOR回路の出力を他方の入力とし、kの値が1より大きい場合には2k−1行目のパラレル入力を他方の入力としてEXOR演算を行なう2k行目1列目のEXOR回路と、
    (2^m)×k−2^(m−1)(2≦m≦hh,mは整数であって、hhは、最終列h=2×hh−1を満たし、かつlog2n以上の最も小さい整数)が1以上であって、かつ(2^m)×kがn以下の場合、(2^m)×k行目m−1列目のEXOR回路の出力と、(2^m)×k−2^(m−1)行目m−1列目のEXOR回路の出力とを入力としてEXOR演算を行なう(2^m)×k行目m列目のEXOR回路と、
    mの値がhh以上であってかつ2×hh−1以下の場合に、2^hh−(2kk−1)×2^(2hh−m−1)行目(1≦kk,kkは整数)に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力と、2^hh−2kk×2^(2hh−m−1)行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力とを入力としてEXOR演算を行なう2^hh−(2kk−1)×2^(2hh−m−1)行目m列目のEXOR回路と、
    n行目に配置されているEXOR回路の中で最も大きい列番号を有するEXOR回路の出力を遅延させる前記n行目の遅延回路と、
    を備え、
    1〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を1〜n−1行目のパラレル出力とし、前記n行目の遅延回路の出力をn行目のパラレル出力とすること、
    を特徴とするパラレルプリコーダ回路。
  6. i(1≦i≦n−1)〜n−1行目に配置されているEXOR回路の中で、それぞれ最も大きい列番号を有するEXOR回路の出力を遅延させるi〜n−1行目の遅延回路、
    をさらに備え、
    前記i〜n−1行目の遅延回路の出力をi〜n−1行目のパラレル出力とすること、
    を特徴とする請求項1〜5の何れか一つに記載のパラレルプリコーダ回路。
  7. 1〜n行目のパラレル入力とn行目の遅延回路の出力とを入力としてEXOR演算を行なった結果を前記n行目の遅延回路および前記0列目のEXOR回路の一方の入力に出力する多入力のEXOR回路、
    をさらに備え、
    前記0列目のEXOR回路は、
    前記n行目の遅延回路の出力の代わりに前記多入力のEXOR回路の出力を用いてEXOR演算を行なうこと、
    を特徴とする請求項1〜6の何れか一つに記載のパラレルプリコーダ回路。
  8. 前記多入力のEXOR回路に自回路の出力を所定の段数分遅延させる遅延回路を備えた場合には、前記所定の段数分の遅延と等しく1〜n−1行目のパラレル入力信号を遅延させる遅延回路を備えること、
    を特徴とする請求項7に記載のパラレルプリコーダ回路。
  9. 1〜n−1行目に配置される全てのEXOR回路の中で、1〜n−1行目j(1≦j≦h,hは1〜n−1行目に配置される全てのEXOR回路の中で最も大きい行番号であって、j,hはともに整数)行目までに配置されているEXOR回路と、1〜n−1行目j+1行目以降に配置されているEXOR回路との間に配置され、信号を任意の段数分遅延させる遅延回路と、
    前記n行目の遅延回路の後段に、前記任意の段数分の遅延と等しく信号を遅延させる遅延回路と、
    をさらに備えることを特徴とする請求項1〜8の何れか一つに記載のパラレルプリコーダ回路。
JP2005252195A 2005-08-31 2005-08-31 パラレルプリコーダ回路 Active JP4675721B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005252195A JP4675721B2 (ja) 2005-08-31 2005-08-31 パラレルプリコーダ回路
US11/304,913 US7398450B2 (en) 2005-08-31 2005-12-16 Parallel precoder circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005252195A JP4675721B2 (ja) 2005-08-31 2005-08-31 パラレルプリコーダ回路

Publications (2)

Publication Number Publication Date
JP2007067904A JP2007067904A (ja) 2007-03-15
JP4675721B2 true JP4675721B2 (ja) 2011-04-27

Family

ID=37856734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005252195A Active JP4675721B2 (ja) 2005-08-31 2005-08-31 パラレルプリコーダ回路

Country Status (2)

Country Link
US (1) US7398450B2 (ja)
JP (1) JP4675721B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4597820B2 (ja) * 2005-09-05 2010-12-15 三菱電機株式会社 パラレルプリコーダ回路
US8503568B1 (en) * 2006-09-07 2013-08-06 The Boeing Company Differential encoding for multiplexed data streams
CN101561998A (zh) * 2008-04-14 2009-10-21 北京京东方光电科技有限公司 液晶显示器数据处理方法和装置
JP5245736B2 (ja) * 2008-11-10 2013-07-24 富士通株式会社 プリコーダ回路
CN103229474B (zh) * 2010-12-06 2015-08-26 三菱电机株式会社 并行差分编码电路
US8711013B2 (en) * 2012-01-17 2014-04-29 Lsi Corporation Coding circuitry for difference-based data transformation
EP2958289A1 (en) * 2014-06-20 2015-12-23 Alcatel Lucent Precoding method and device for partial response modulation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122205A (ja) * 1997-10-14 1999-04-30 Nec Corp 符号変換機能を備えた2値信号多重装置及び符号変換機能を備えた2値信号分離装置
JP2000165246A (ja) * 1998-11-25 2000-06-16 Fujitsu Ltd 光デュオバイナリ伝送用の符号変換回路およびこれを用いた光送信装置および光受信装置
JP2000224244A (ja) * 1999-02-03 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> 符号変換回路及び符号変換多重化回路
JP2005086823A (ja) * 2003-09-08 2005-03-31 Samsung Electronics Co Ltd デュオバイナリーエンコーダ及びこれを利用した光デュオバイナリー伝送装置
JP2005102221A (ja) * 2003-09-25 2005-04-14 Samsung Electronics Co Ltd プリコーダ及びこれを利用した光デュオバイナリー伝送装置
JP2005168023A (ja) * 2003-12-01 2005-06-23 Samsung Electronics Co Ltd デュオバイナリエンコーダ及びこれを用いた光デュオバイナリ伝送装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
GB2136248A (en) * 1983-02-25 1984-09-12 Philips Electronic Associated Text error correction in digital data transmission systems
US6456208B1 (en) * 2000-06-30 2002-09-24 Marvell International, Ltd. Technique to construct 32/33 and other RLL codes
US6920604B2 (en) * 2002-04-08 2005-07-19 Galazar Networks, Inc. Systems and methods for high speed serial encoding and decoding for data and control interfaces
US6753797B2 (en) * 2002-09-25 2004-06-22 Infineon Technologies Ag Multiproperty 16/17 trellis code
FR2857800B1 (fr) * 2003-07-18 2005-09-23 Cit Alcatel Codeur differentiel de signaux electriques
KR100592878B1 (ko) * 2003-12-18 2006-06-23 한국전자통신연구원 전기적으로 대역 제한된 광학적 디피에스케이(dpsk)변조 장치 및 방법
US7409163B2 (en) * 2004-06-30 2008-08-05 Lucent Technologies Inc. Method and apparatus for optical signal transmission

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122205A (ja) * 1997-10-14 1999-04-30 Nec Corp 符号変換機能を備えた2値信号多重装置及び符号変換機能を備えた2値信号分離装置
JP2000165246A (ja) * 1998-11-25 2000-06-16 Fujitsu Ltd 光デュオバイナリ伝送用の符号変換回路およびこれを用いた光送信装置および光受信装置
JP2000224244A (ja) * 1999-02-03 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> 符号変換回路及び符号変換多重化回路
JP2005086823A (ja) * 2003-09-08 2005-03-31 Samsung Electronics Co Ltd デュオバイナリーエンコーダ及びこれを利用した光デュオバイナリー伝送装置
JP2005102221A (ja) * 2003-09-25 2005-04-14 Samsung Electronics Co Ltd プリコーダ及びこれを利用した光デュオバイナリー伝送装置
JP2005168023A (ja) * 2003-12-01 2005-06-23 Samsung Electronics Co Ltd デュオバイナリエンコーダ及びこれを用いた光デュオバイナリ伝送装置

Also Published As

Publication number Publication date
JP2007067904A (ja) 2007-03-15
US20070061660A1 (en) 2007-03-15
US7398450B2 (en) 2008-07-08

Similar Documents

Publication Publication Date Title
JP4675721B2 (ja) パラレルプリコーダ回路
CN102422259B (zh) 在电路的模块之间具有可选使用、专用连接的模块化数字信号处理电路
JP4597820B2 (ja) パラレルプリコーダ回路
KR20040096779A (ko) 직렬 및 병렬간 데이터 형식 변환기
JPH02500399A (ja) 低速度のクロックによる高速度のスクランブル
US20100086075A1 (en) Parallel Generation and Matching of a Deskew Channel
JP7124706B2 (ja) 2次デルタシグマ変調器と送信装置
JPH0370411B2 (ja)
CN114499523A (zh) 用于时间交织网络的时钟生成以及同步的方法以及装置
JP6684218B2 (ja) 分周回路及び半導体集積回路
JP5605064B2 (ja) 判定帰還等化回路、受信回路、及び判定帰還等化処理方法
JP2744690B2 (ja) フレーム同期回路
Reddy et al. Shift add approach based implementation of RNS-FIR filter using modified product encoder
JP3425958B2 (ja) ディジタルトランスバーサルフィルタを多重使用するための回路装置および方法
US7423455B2 (en) Systems and methods for A 5:1 multiplexer with a one-fifth ratio duty cycle clock
JPH1032555A (ja) チャネル選択型分離回路
JPH1196030A (ja) 有限体上の乗算方法及び乗算回路
JP5606516B2 (ja) Naf変換装置
JP3608554B2 (ja) 5×3ウェーブレット変換装置
JPH09284246A (ja) デマルチプレクサ
JP6536959B2 (ja) 光論理回路および加算器
JP3540136B2 (ja) データ分割並列シフタ
JP3025516B2 (ja) デマルチプレクサ回路
Ammes et al. A Comparative Analysis of Different Boolean Function Synthesis Methods
JPH09284247A (ja) データ分離回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110126

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4675721

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250