JP3540287B2 - パラレル処理回路 - Google Patents

パラレル処理回路 Download PDF

Info

Publication number
JP3540287B2
JP3540287B2 JP2001121107A JP2001121107A JP3540287B2 JP 3540287 B2 JP3540287 B2 JP 3540287B2 JP 2001121107 A JP2001121107 A JP 2001121107A JP 2001121107 A JP2001121107 A JP 2001121107A JP 3540287 B2 JP3540287 B2 JP 3540287B2
Authority
JP
Japan
Prior art keywords
byte
unit
circuit
processing circuit
processing
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.)
Expired - Fee Related
Application number
JP2001121107A
Other languages
English (en)
Other versions
JP2002319867A (ja
Inventor
清司 桐野
Original Assignee
Necマイクロシステム株式会社
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 Necマイクロシステム株式会社 filed Critical Necマイクロシステム株式会社
Priority to JP2001121107A priority Critical patent/JP3540287B2/ja
Publication of JP2002319867A publication Critical patent/JP2002319867A/ja
Application granted granted Critical
Publication of JP3540287B2 publication Critical patent/JP3540287B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はパラレル処理回路に関し、特にディジタル通信におけるCRC処理やシーケンサ等の通信制御処理機能を有する通信用LSIのパラレル処理回路及びその構成方法に関する。
【0002】
【従来の技術】
近年、SONET(Synchronous Optical Network:光同期網)/SDH(Synchronous Digital Hierarchy:同期ディジタルハイアラーキ)ベースの基幹系ネットワークは、ATM(Asynchronous Transfer Mode:非同期伝送モード)セルとIP(Internet Protocol:インターネットプロトコル)を融合させ、ますます高速化の方向に向かっている。
【0003】
通信用LSI市場もLAN(Local Area Network:ローカルエリアネットワーク)市場からWAN(Wide Area Network:広域ネットワーク)市場に移行してきていることにより、通信用LSIの処理速度の高速化が要求されている。
【0004】
現在、LAN市場では、SONET/SDHの伝送速度区分で分類すると、OC−1(52Mbps)、OC−3(155Mbps)が主流であったが、WAN市場では、OC−12(622Mbps)、OC−48(2.5Gbps)、OC−192(10Gbps)に発展してきている。
【0005】
これに従い、これらの通信システムの各装置に用いられる通信処理用のLSI(以下通信用LSI)においても、例えば、ディジタル通信データの誤り検出用符号であるCRC(Cyclic Redundansy Check:巡回冗長検査)処理量も増大し、また、高速化が要求されるようになってきている。しかし、従来の1バイト(8ビット)単位のシリアル処理アーキテキチャでは、プロセス技術の発展を期待しても追従不可能となってきている。このため、通信用LSIにおける内部処理のパラレル処理化が必要になってきている。
【0006】
SONET/SDHのネットワーク伝送速度(以下速度)と通信用LSIの所要内部処理速度との関係を示す表1を参照すると、この表は、ネットワーク速度、内部処理ビット数、動作周波数の関係を示す。現在、通信用LSIの内部処理は8ビットで処理されており、現在のアーキテキチャでは、処理速度の限界はOC−12(622Mbps)程度である。従って今後、普及していくであろうOC−48,192の速度に追従していくためには、内部処理のパラレル処理化が必須になってくる。
【0007】
一般にフィードバック経路を持つ処理回路、例えば、CRC処理回路、シンドローム演算回路、シーケンサ等において、1バイト単位の処理をパラレル処理に変換すると回路が複雑になる傾向がある。また、従来の1バイト処理の回路に対して大幅な回路修正を行う必要がある。
【0008】
この問題を解決するために、特開平7−95096号公報記載の従来のパラレル処理回路及びその構成方法をは、任意のCRC演算式に対応できるようにXOR素子を予め準備しておき、演算式に応じてXOR素子の接続を論理的に切り替えられるようにしている。XOR素子の接続切り替えは、生成多項式毎にデータテーブルを設けて実現している。
【0009】
従来のパラレル処理回路をブロックで示す図7を参照すると、この従来のパラレル処理回路は、CRC計算用の余りテーブルデータを格納するCRC計算用データ格納部100と、複数の生成多項式に対応した並列CRC計算用データテーブルをプログラマブルに設定指定するブロックデータ設定部200と、並列CRC計算を実行する並列CRC計算部300と、入力データをシフトする入力データシフト部400と、並列CRC計算部300で生成したCRC符号出力用のフリップフロップ500とを備える。
【0010】
次に、図を参照して、従来のパラレル処理回路の動作について説明すると、データ設定部200により、複数の生成多項式に対応する余りテーブルデータをCRC計算用データ格納部100にプログラマブルに設定することにより、あらゆる生成多項式、入力データ幅に対して、並列CRC計算部300は、CRC符号を並列計算で生成する。
【0011】
また、1クロックで入力されるパラレルデータの一部に無効データがあっても、データシフト部400で入力データとフィードバックデータを下位ビットへシフトさせ、シフトされた上位ビットに”0”を挿入し、さらに、CRC計算中にテーブルデータをダイナミックに変更することにより正しいCRC符号を演算することができる。ここで、無効データ/有効データとは、データ受信信号の”1”で入力データの有効、”0”で入力データの無効をそれぞれ意味する。
【0012】
並列CRC演算部300の詳細を示す図8を参照すると、この並列CRC演算部300は、m(mは正の整数)ビットの入力データ及びCRC演算結果のフィードバックデータ(以下フィードバックデータ)の各ビットとCRC計算用テーブルデータの各ビットとの論理積(AND)演算を行いそのAND演算結果を排他的論理和(XOR)演算を行ってCRC符号を生成するAND−XOR部E1〜Emを備える。
【0013】
入力データ幅mが8ビットの場合のAND−XOR部の代表としてAND−XOR部E1の詳細を示す図9を参照すると、このAND−XOR部E1は、入力データD0〜D7及びCRC演算結果のフィードバックデータD8〜D15の各ビットとCRC計算用テーブルデータg0〜g15の各ビットの論理積(AND)演算を行う16個のANDゲートと、下位から2個づつのANDゲート毎の出力の排他的論理和(XOR)演算を行う8個の1段目のXORゲートと、下位から2個づつの1段目のXORゲートの出力のXOR演算を行う4個の2段目のXORゲートと、下位から2個づつの2段目のXORゲートの出力のXOR演算を行う2個の3段目のXORゲートと、2個の3段目のXORゲートのXOR演算を行い演算結果のCRC符号を出力する4段目のXORゲートとを備える。
【0014】
このようなAND−XOR回路部E1〜Emを用いた並列CRC演算部の素子数の計算について説明すると、ATMセルにおける剰余演算に使うCRC演算である、G(x)=X8+X2+X+1を処理する場合、並列CRC計算部の素子数は以下のようになる。
【0015】
入力ビット幅をm、生成多項式の次数をnとすると、並列CRC計算部の所要ゲート数は以下の式となる。
XOR素子数={(m/2+m/4+・・+2+1)+(n/2+n/4+・・+2+1)+1}×n・・・・・・・・・・・・・・・・・・・・・・・(1)
AND素子数=m+n・・・・・・・・・・・・・・・・・・・・・・・(2)
第1の例として、入力ビット幅mが8ビットで生成多項式の次数nが8ビットの場合は次のようになる。
【0016】
XOR素子数:{(4+2+1)+(4+2+1)+1}×8=120、
AND素子数:8+8=16、
合計:136素子となる。
【0017】
第2の例として、入力ビット幅が32ビットの場合は次のようになる。
XOR素子数:{(16+8+4+2+1)+(4+2+1)+1}×8=312、
AND素子数:32+8=40、
合計:352素子となる。
【0018】
しかしながら、上述した従来のパラレル処理回路は、以下3点の問題点があった。
【0019】
第1の問題点は、CRC計算用データ格納部100に設定する余りテーブルデータを変更することにより、あらゆる生成多項式に対応できる構成のため、特に、生成多項式の次数、入力データ幅が大きくなると、式1,2に示したように、CRC計算部の素子数が非常に大きくなる傾向があるということである。
【0020】
第2の問題点は、あらゆる生成多項式、入力データ幅に対応してCRC符号を生成することができるが、逆に演算処理のみにしか汎用性はない。例えば、入力データのバイト列からシーケンサ制御するシーケンサ制御回路には適用できないということである。
【0021】
第3の問題点は、1クロックで入力されるパラレルデータの一部に無効データがある場合でも汎用的にCRC符号を生成することを可能とするために、余分な回路であるデータ整列用のデータシフト部400を必要とすることである。
【0022】
【発明が解決しようとする課題】
上述した従来のパラレル処理回路及びその構成方法は、CRC計算用データ格納部に設定する余りテーブルデータを変更することにより、あらゆる生成多項式に対応できる構成のため、生成多項式の次数や、入力データ幅が大きくなると、CRC計算部の素子数が非常に大きくなるという欠点があった。
【0023】
また、あらゆる生成多項式、入力データ幅に対応してCRC符号を生成できるが、演算処理にしか汎用性がなく、例えば、入力データのバイト列からのシーケンサ制御回路への適用ができないという欠点があった。
【0024】
さらに、1クロックで入力されるパラレルデータの一部に無効データがある場合でも汎用的にCRC符号を生成することを可能とするためシフト処理によるデータ整列が必要であり、余分な回路であるデータシフト部を必要とするという欠点があった。
【0025】
本発明の目的は、従来8ビット(1バイト)で処理していた通信用LSIの処理回路の設計資産を活用し、容易にパラレル処理に適用できるアーキテキチャを構築し、このアーキテキチャを適用して回路規模の増大を抑制するとともに、演算処理以外にも汎用性を有するパラレル処理回路及びその構成方法を提供することにある。
【0026】
【課題を解決するための手段】
そのため、本発明は、ディジタル通信バイト単位の通信処理をそれぞれ行いバイト単位の処理結果をデータ出力端子にそれぞれ出力し前段バイトの処理結果をフィードバック経路のフィードバック信号としてフィードバック入力端子にそれぞれ入力しカスケード接続されたの単位バイト処理回路を備え、nバイトのパラレル処理を行うパラレル処理回路において、
記単位バイト処理回路が前記フィードバック信号を入力しバイト単位の予め定めた通信処理を行う演算組み合わせ回路と、
有効信号の論理レベルに応答して前記演算組み合わせ回路の出力または前記フィードバック入力端子の信号のいずれか一方を選択し前記処理結果として出力するセレクタとを備えている。
【0027】
また、n段目の単位バイト処理回路の処理結果を1クロック分遅延し1段目の単位バイト処理回路のフィードバック入力端子へ出力するフリップフロップをえている。
【0028】
また、前記演算組み合わせ回路が、1バイト分の入力データ信号を入力しバイト単位所定のデスクランブル処理を行っている。
【0029】
また、前記演算組み合わせ回路が、バイト単位所定のスクランブルパターン発生処理を行
前記単位バイト処理回路が、前記処理結果と1バイト分の入力データ信号とを加算し加算単位スクランブルパターンを出力する加算回路を備えている。
【0030】
また、前記演算組み合わせ回路が、1バイト分の入力データ信号を入力しバイト単位所定のCRC(巡回冗長検査)演算処理を行っている。
【0031】
また、前記演算組み合わせ回路が、1バイト分の入力データ信号状態遷移条件を設定する状態遷移制御信号と入力しバイト単位シーケンス制御処理を行っている。
【0034】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0035】
本実施の形態のパラレル処理回路は、ディジタル通信におけるスクランブル/デスクランブル処理やCRC処理及びシーケンス処理等の通信データ関連演算/通信制御処理機能を有し、各々が1バイト単位の処理回路である第1〜第n(nは正の整数)の単位バイト処理回路を用いてnバイトのパラレル処理を行う通信用LSIのパラレル処理回路において、上記第1〜第n−1の単位バイト処理回路の各々が、1バイト単位の予め定めた通信処理を行う演算組み合わせ回路から成り、少なくともフィードバック信号が1バイト単位で入力するフィードバック入力端と処理結果を1バイト単位の単位バイト処理出力として出力する出力端とを有する第1〜第n−1の単位バイト通信処理回路の各々を備え、第nの単位バイト処理回路が、第nの前記単位バイト通信処理回路とこの第nの単位バイト通信処理回路の出力である第nの単位バイト処理出力を1クロック分遅延させるフリップフロップとを備え、第1の単位バイト処理回路が、第1の単位バイトの入力に応じて生成した第1の単位バイト処理出力を外部出力端子に出力すると共にこの第1の単位バイト処理出力を第1のフィードバック出力として次段の第2の単位バイト通信処理回路の前記フィードバック入力端に入力し、第2の単位バイト処理回路が、第2の単位バイトの入力に応じて生成した第2の単位バイト処理出力を前記外部出力端子に出力すると共にこの第2の単位バイト処理出力を第2のフィードバック出力として次段の第3の単位バイト通信処理回路のフィードバック入力端に入力することを第nの単位バイト通信処理回路の前記フィードバック入力端に入力するまで反復し、第nの単位バイト処理回路が、第nの単位バイトの入力に応じて生成した第nの単位バイト処理出力を外部出力端子に出力すると共にこの第nの単位バイト処理出力を上記フリップフロップに供給し、上記フリップフロップが第nの単位バイト処理出力を1クロック分遅延して第nのフィードバック出力として第1の単位バイト通信処理回路のフィードバック入力端に入力することにより、第1の単位バイト処理回路を初段として第nの単位バイト処理回路までのフィードバック経路をカスケード接続して成ることを特徴とするものである。
【0036】
次に、本発明の第1の実施の形態をブロックで示す図1を参照すると、この図に示す本実施の形態のパラレル処理回路は、4バイトパラレル処理の自己同期型デスクランブル回路に適用した例であり、各々が1バイト単位のデスクランブル処理を行う演算組み合わせ回路から成る1バイト処理回路であり後述のようにフィードバック経路を相互にカスケード(直列)接続した4個の単位デスクランブル回路11,12,13,14と、単位デスクランブル回路11,12,13,14の各々の出力を有効信号V*(*は任意の数値、ここでは3〜0のうちの1つを表す)の値に応じて有効/無効化する4個のセレクタ21,22,23,24と、入力端Gがセレクタ21の出力端Fに接続され出力端Hが単位デスクランブル回路11のフィードバック入力端B及びセレクタ21の入力端Dに接続され入力信号を1クロック分遅延させるフリップフロップ(F/F)34を備える。なお、信号経路の近傍の8,32等の数字はその信号経路を伝搬する信号のビット幅を示す。また、F/F34の出力端Hから出力されるフィードバック信号fbの添字tdは1クロック分の遅延を表す。
【0037】
ここで、カスケード接続とは、複数段の任意の段の動作(出力)がその前段の動作(出力)によって影響されるように接続することである。本実施の形態では、以下に説明するように、フィードバック経路を初段の単位デスクランブル回路11から終段の単位デスクランブル回路14まで直列接続している。
【0038】
最初段の単位デスクランブル回路11の入力端Aは入力端子DIに接続され、出力端Cはセレクタ21の入力端Eに接続され、セレクタ21の出力端Fは、出力端子TDOと単位デスクランブル回路12のフィードバック入力端Bに接続される。
【0039】
単位デスクランブル回路12の入力端Aは入力端子DIに接続され、出力端Cはセレクタ22の入力端Eに接続され、セレクタ22の出力端Fは、出力端子TDOと単位デスクランブル回路13のフィードバック入力端Bに接続される。
【0040】
単位デスクランブル回路13の入力端Aは入力端子DIに接続され、出力端Cはセレクタ23の入力端Eに接続され、セレクタ23の出力端Fは、出力端子TDOと単位デスクランブル回路14のフィードバック入力端Bに接続される。
【0041】
最終段の単位デスクランブル回路14の入力端Aは入力端子DIに接続され、出力端Cはセレクタ24の入力端Eに接続され、セレクタ24の出力端Fは出力端子TDOと、上記のように、F/F34の入力端Gに接続される。
【0042】
次に、図1を参照して本実施の形態の動作について説明すると、まず、入力端子TDIには、1クロック毎に4バイト(32ビット)の入力パラレルデータDIビット31〜0(以下ビット31:0等と記述)が入力する。この4バイトのパラレルデータDIビット31:0は、1バイト分ずつ、すなわち、DIビット31:24(以下バイトDI3)、DIビット23:16(以下バイトDI2)、DIビット15:8(以下バイトDI1)、及びDIビット7:0(以下バイトDI0)の時系列順で供給され、それぞれ、単位デスクランブル回路11,12,13,14の各々の入力端Aに入力する。
【0043】
有効信号V3:0は、4バイトのパラレル入力データDIビット31:0(バイトDI3:0)に付随する信号であり、このパラレル入力データバイトDI3:0のデータの有効/無効を示す信号である。このうち、有効信号V3は、DIビット31:24(バイトDI3)の有効/無効信号で“1”が有効データを“0”が無効データをそれぞれ意味する。以下同様に、有効信号V2は、バイトDI2の有効信号、有効信号V1は、バイトDI1の有効信号、有効信号V0は、バイトDI0の有効信号である。
【0044】
有効信号V3:0の全てが有効(“1”)である場合、単位デスクランブル回路11〜14の各々は、それぞれ、入力バイトDI3:0の各々をデスクランブル処理し、対応するセレクタ21〜24の出力端Fから出力バイトDO3〜DO0の各々を出力する。これら出力バイトDO3〜DO0をパラレル化して出力端子TDOからパラレル出力バイトDO3:0(出力パラレルデータDOビット31:0)を出力する。
【0045】
セレクタ21〜24は、1クロック毎の4バイトの入力バイトDI3:0の内、一部のバイトが無効データであっても無効データに対する処理結果を後段の処理回路に伝達しないようにパスさせる機能を有する。これにより、4バイトの入力パラレルデータの一部に無効データがあっても、パラレル処理が可能となる。
【0046】
また、最終段の単位デスクランブル回路14のセレクタ24の出力バイトDO0はF/F34に供給され、F/F34は出力バイトDO0対応のフィードバック信号fbとして初段の単位デスクランブル回路11のフィードバック入力端Bに供給する。
【0047】
ここで、デスクランブル処理は、公知のように、暗号化等の目的で送信時にスクランブル処理された受信信号をスクランブル処理前の信号系列に戻す処理である。スクランブル/デスクランブル処理の詳細については周知であり、本発明に直接関係しないので、省略する。
【0048】
本実施の形態の4バイトパラレル処理のデスクランブル回路の構成法を模式的に説明図で示す図2を参照すると、このデスクランブル回路の構成手順は、以下の通りである。
(1)1バイト単位の処理回路、ここでは単位デスクランブル回路及びその付属回路を、パラレル処理対象とする任意のバイト数(ここでは4)分パラレルに配置する。以下の説明では、単位デスクランブル回路及びその付属回路を含め単位バイト処理回路と呼ぶ。
【0049】
この例では、4つの単位バイト処理回路1〜4から構成され、説明の便宜上代表として単位バイト処理回路1は、単位デスクランブル回路11と、セレクタ21とに加えて、出力用のF/F31を有する。従って、セレクタ21の出力端FはF/F31の入力端Gに接続し、F/F31の出力端Hは出力端子TDOに接続するとともに単位デスクランブル回路11のフィードバック入力端Bに接続しフィードバック経路を構成している。
(2)単位バイト処理回路1のフィードバック経路を構成するF/F31の出力端Hを単位デスクランブル回路11のフィードバック入力端Bから切り離し、この出力端Hを次段の単位処理回路2の単位デスクランブル回路12のフィードバック入力端Bに接続する。
(3)以下同様に、単位バイト処理回路2のフィードバック経路のF/F32の出力端Hを単位デスクランブル回路12のフィードバック入力端Bから切り離し、この出力端Hを次段の単位処理回路3の単位デスクランブル回路13のフィードバック入力端Bに接続し、単位バイト処理回路3のフィードバック経路のF/F33の出力端Hを単位デスクランブル回路13のフィードバック入力端Bから切り離し、この出力端Hを最終段の単位処理回路4の単位デスクランブル回路14のフィードバック入力端Bに接続する。
(4)最終段の単位処理回路4のフィードバック経路のF/F34の出力端Hを最前段の単位バイト処理回路1の単位デスクランブル回路11のフィードバック入力端Bに接続する。
(5)単位バイト処理回路1〜3の各々のF/F31〜F/F33を削除し、また、単位バイト処理回路4のセレクタ24の出力端Fを出力端子TDOに接続し、F/F34の出力端Hから出力端子TDOへの配線を削除する。
【0050】
このように構成することにより、本実施の形態のデスクランブル回路は、1クロックで入力した4バイト入力バイトDI3:1をパラレル処理した4バイト出力バイトDO3:1を出力する。
【0051】
また、上記手順により、デスクランブル回路のみでなく任意機能の単位バイト処理回路を、任意のパラレル処理バイト数に拡張できる。
【0052】
すなわち、単位バイト処理回路として、任意の機能の演算回路、例えば、スクランブル回路/デスクランブル回路、シンドローム演算等や、シーケンサ制御回路に対し適用できる。
【0053】
基本的には、1バイト単位の処理回路である単位バイト処理回路を任意のパラレル処理バイト数(n)分カスケードに接続する構成を有しており、最終段の単位バイト処理回路から、1クロックで処理したnバイト処理の結果を出力する。この結果を、次クロックの処理にフィードバックすることによりnバイトのパラレル処理が実現できる。
【0054】
また、各単位バイト処理回路の後段に接続しているセレクタは、上述したように、1クロック毎に入力されるnバイトのパラレルデータの内、一部のバイトが無効データであっても無効データに対する処理結果を後段の処理回路に伝達しないようにパスさせる機能を持つ。これにより、nバイトの入力パラレルデータの一部に無効データがあっても、従来必要としたデータ整列用のシフト処理回路を設ける必要がなくパラレル処理が可能となる。従って、データ処理の高速化を容易に図ることができる。
【0055】
さらに、従来例と比較して回路素子数を削減できる。以下にその詳細を説明すると、従来技術で説明した、ATM(Asynchronous Transfer Mode:非同期伝送モード)セルにおける剰余演算に使うパラレル処理であるCRC(Cyclic Redundansy Check:巡回冗長検査)演算の生成多項式G(x)=X8+X2+X+1の処理を例として、本発明のパラレル処理回路を適用した場合のCRC演算回路の所要ゲート数を算出する。
【0056】
次に、本発明の第2の実施の形態のCRC演算回路を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図3(A)を参照すると、この図に示す本実施の形態の4バイトのCRC演算回路の前述の第1の実施の形態との相違点は、単位デスクランブル回路11,12,13,14の代わりに基本的な1バイト処理のCRC演算回路である単位CR演算部71〜74を備えることである。
【0057】
従来技術と比較のため、最終段の単位バイトCRC処理回路をブロックで示す図3(B)を参照すると、下記論理式で動作し1バイト単位でCRC演算を行う単位CRC演算部74と、F/F31とを備える。なお、説明の便宜上、この図及び以下の説明では、有効信号V0が有効状態“1”であるものとしてセレクタ24を省略する。
【0058】
入力データをバイトDI0対応のビット表示であるDI7:1、出力データを同様にDO7:1、CRCデータを同様にCRC7:0とし、DI7〜DI0が入力データのビット7〜ビット0を、DO7〜DO0の各々が出力データDOのビット7〜ビット0を、CRC7〜CRC0をCRCデータのビット7〜ビット0をそれぞれ表し、+をXOR演算を表すものとすると、単位CRC演算部74の上記論理式は以下のように表される。
CRC7=DO7+DI7+DO6+DI6+DO5+DI5
CRC6=DO6+DI6+DO5+DI5+DO4+DI4
CRC5=DO5+DI5+DO4+DI4+DO3+DI3
CRC4=DO4+DI4+DO3+DI3+DO2+DI2
CRC3=DO7+DI7+DO3+DI3+DO2+DI2+DO1+DI1
CRC2=DO6+DI6+DO2+DI2+DO1+DI1+DO0+DI0
CRC1=DO7+DI7+DO6+DI6+DO1+DI1+DO0+DI0
CRC0=DO7+DI7+DO6+DI6+DO0+DI0
すなわち、CRC7、CRC6、CRC5、CRC4及びCRC0の各々は5個のXOR素子を必要とし、CRC3、CRC2、及びCRC1の各々は7個のXOR素子を必要とする。従って、単位バイトCRC処理回路の所要排他的論理和(XOR)素子数は、25+21=46素子となる(ただし、論理の最適化によりもっと低減できる)。
【0059】
よって、本実施の形態の4バイトパラレルCRC処理回路の所要XOR素子数は、単に単位バイトCRC処理回路の所要XOR素子数を4倍すればよいので、46×4=184素子となる。
【0060】
従来技術では、所要XOR素子数は352素子であったので、本実施の形態により約50%のXOR素子数を削減できる。
【0061】
次に、本発明の第3の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図4を参照すると、この図に示す本実施の形態のパラレル処理回路はスクランブルパターン発生部に適用した例であり、前述の第1の実施の形態のデスクランブル回路との相違点は、単位デスクランブル発生回路11,12,13,14の代わりに、1バイト単位のスクランブルパターン発生処理を行う演算組み合わせ回路から成る4個の単位スクランブルパターン発生回路41,42,43,44と、セレクタ21、22,23,24の各々の出力と入力バイトDI3,バイトDI2,バイトDI2,バイトDI1,バイトDI0の各々とを加算し出力バイトDO3:0を生成する加算回路51,52,53,54とを備えることである。
【0062】
単位スクランブルパターン発生回路41,42,43,44の各々は、入力端としてフィードバック入力端Bのみを有する。
【0063】
上記以外は第1の実施の形態と同様である。
【0064】
次に、本発明の第4の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図5を参照すると、この図に示す本実施の形態のパラレル処理回路は入力データのバイト列をシーケンサにて制御するシーケンス制御回路に適用した例であり、前述の第1の実施の形態のデスクランブル回路との相違点は、単位デスクランブル発生回路11,12,13,14の代わりに、1バイト単位の状態遷移制御によりシーケンス制御を行う単位シーケンス制御回路61,62,63,64を備えることである。
【0065】
単位シーケンス制御回路61,62,63,64の各々には、データ入力端Aとフィードバック入力端Bに加えて、シーケンス制御の各状態遷移のための状態遷移条件を制御する状態遷移制御信号ST3,ST2,ST1,ST0の各々の入力端Jを有する。
【0066】
図5を参照して本実施の形態の動作について説明すると、単位シーケンス制御回路61,62,63,64の各々は、入力データバイト3:0の各バイト毎の状態遷移制御信号ST3,ST2,ST1,ST0の各々の供給を受け、パラレル入力データバイト3:0の各バイトとその状態が1対1で対応するように、状態信号SEQ3,SEQ2,SEQ1,SEQ0の各々を出力する。
【0067】
このように本演算回路のみならず、入力データ列をシーケンサにより制御するシーケンス制御回路に実施の形態のパラレル処理を適用することにより、単位シーケンス制御回路を容易にパラレル処理化できる。
【0068】
次に、本発明の第5の実施の形態を図5と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図6を参照すると、この図に示す本実施の形態のパラレル処理回路は第4の実施の形態と同様にシーケンス制御回路に適用した例であり、前述の第4の実施の形態のシーケンス制御回路との相違点は、第3の実施の形態の出力である状態信号SEQ3,SEQ2,SEQ1,SEQ0を総括した未来状態信号SEQFに加えて、現在の状態を示す状態信号SEQC3,SEQC2,SEQC1,SEQC0を総括した現在状態信号SEQCを出力するよう出力回路を構成したことである。
【0069】
第4の実施の形態のシーケンス制御回路は、未来状態信号SEQ3,SEQ2,SEQ1,SEQ0しか出力していない。よって、状態が遷移したことを検出して制御する場合には適用できない。
【0070】
本実施の形態では、未来状態信号SEQ3,SEQ2,SEQ1,SEQ0=SEQFに加えて、単位シーケンス制御回路61,62,63,64の各々へのフィードバック信号に対応する現在状態信号SEQC0,SEQC3,SEQC2,SEQC1=SEQCを出力する。
【0071】
状態信号SEQC3,SEQC2,SEQC1は状態信号SEQ3,SEQ2,SEQ1の各々と同一の信号であり、SEQC0はフィードバック信号fbと同一の信号である。
【0072】
よって、状態が遷移したことは、現在状態信号SEQCと、未来状態信号SEQFの変化で検出することが可能になる。
【0073】
【発明の効果】
以上説明したように、本発明のパラレル処理回路及びその構成方法は、第1〜第n−1の単位バイト処理回路の各々が、1バイト単位の予め定めた通信処理を行う演算組み合わせ回路から成り、少なくともフィードバック信号が1バイト単位で入力するフィードバック入力端と処理結果を1バイト単位の単位バイト処理出力として出力する出力端とを有する第1〜第n−1の単位バイト通信処理回路の各々を備え、第nの単位バイト処理回路が、第nの単位バイト通信処理回路と第nの単位バイト処理出力を1クロック分遅延させるフリップフロップとを備え、第1の単位バイト処理回路を初段として前記第nの単位バイト処理回路までのフィードバック経路をカスケード接続してパラレル処理回路を構成してるため、任意機能の単位バイト処理回路を、容易に任意のバイト数のパラレル処理回路に変換することができるという効果がある。
また、入力パラレルデータの一部に無効データがあっても、データ整列用のシフト処理回路を設けることなく実現でき、結果として、データ処理の高速化が可能となるという効果がある。
【0074】
また、回路素子数を削減できるという効果がある。
【図面の簡単な説明】
【図1】本発明のパラレル処理回路の第1の実施の形態のデスクランブル回路を示すブロック図である。
【図2】本実施の形態のパラレル処理回路の構成方法を示す説明図である。
【図3】本発明のパラレル処理回路の第2の実施の形態のCRC処理回路の一例を示すブロック図である。
【図4】本発明のパラレル処理回路の第3の実施の形態のスクランブルパターン発生回路の一例を示すブロック図である。
【図5】本発明のパラレル処理回路の第4の実施の形態のシーケンス制御回路の一例を示すブロック図である。
【図6】本発明のパラレル処理回路の第5の実施の形態のシーケンス制御回路の一例を示すブロック図である。
【図7】従来のパラレル処理回路の一例を示すブロック図である。
【図8】図7の並列CRC演算部の詳細を示すブロック図である。
【図9】図8のAND−XOR部の詳細を示すブロック図である。
【符号の説明】
1〜4 単位バイト処理回路
11〜14 単位デスクランブル回路
21〜24 セレクタ
31〜34 F/F
41〜44 単位スクランブルパターン発生回路
51〜54 加算回路
61〜64 単位シーケンス制御回路
71〜74 単位CRC演算部
100 CRC計算用データ格納部
200 ブロックデータ設定部
300 並列CRC演算部
400 入力データシフト部
500 フリップフロップ
E1〜Em AND−XOR部

Claims (6)

  1. ディジタル通信バイト単位の通信処理をそれぞれ行いバイト単位の処理結果をデータ出力端子にそれぞれ出力し前段バイトの処理結果をフィードバック経路のフィードバック信号としてフィードバック入力端子にそれぞれ入力しカスケード接続されたの単位バイト処理回路を備え、nバイトのパラレル処理を行うパラレル処理回路において、
    記単位バイト処理回路が前記フィードバック信号を入力しバイト単位の予め定めた通信処理を行う演算組み合わせ回路と、
    有効信号の論理レベルに応答して前記演算組み合わせ回路の出力または前記フィードバック入力端子の信号のいずれか一方を選択し前記処理結果として出力するセレクタとを備えことを特徴とするパラレル処理回路。
  2. n段目の単位バイト処理回路の処理結果を1クロック分遅延し1段目の単位バイト処理回路のフィードバック入力端子へ出力するフリップフロップをえる請求項1記載のパラレル処理回路。
  3. 前記演算組み合わせ回路が、1バイト分の入力データ信号を入力しバイト単位所定のデスクランブル処理を行う請求項1または2記載のパラレル処理回路。
  4. 前記演算組み合わせ回路が、バイト単位所定のスクランブルパターン発生処理を行
    前記単位バイト処理回路が、前記処理結果と1バイト分の入力データ信号とを加算し加算単位スクランブルパターンを出力する加算回路を備える、請求項1または2記載のパラレル処理回路。
  5. 前記演算組み合わせ回路が、1バイト分の入力データ信号を入力しバイト単位所定のCRC(巡回冗長検査)演算処理を行う請求項1または2記載のパラレル処理回路。
  6. 前記演算組み合わせ回路が、1バイト分の入力データ信号状態遷移条件を設定する状態遷移制御信号と入力しバイト単位シーケンス制御処理を行う請求項1または2記載のパラレル処理回路。
JP2001121107A 2001-04-19 2001-04-19 パラレル処理回路 Expired - Fee Related JP3540287B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001121107A JP3540287B2 (ja) 2001-04-19 2001-04-19 パラレル処理回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001121107A JP3540287B2 (ja) 2001-04-19 2001-04-19 パラレル処理回路

Publications (2)

Publication Number Publication Date
JP2002319867A JP2002319867A (ja) 2002-10-31
JP3540287B2 true JP3540287B2 (ja) 2004-07-07

Family

ID=18971039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001121107A Expired - Fee Related JP3540287B2 (ja) 2001-04-19 2001-04-19 パラレル処理回路

Country Status (1)

Country Link
JP (1) JP3540287B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013219818A (ja) * 2007-09-18 2013-10-24 Samsung Electronics Co Ltd 複数の巡回冗長検査(crc)を生成するための方法及び装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008023684A1 (fr) * 2006-08-22 2008-02-28 Panasonic Corporation Unité d'opération arithmétique de résidus en parallèle et procédé d'opération arithmétique de résidus en parallèle
JP4814969B2 (ja) * 2009-03-23 2011-11-16 富士通株式会社 準固定回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013219818A (ja) * 2007-09-18 2013-10-24 Samsung Electronics Co Ltd 複数の巡回冗長検査(crc)を生成するための方法及び装置

Also Published As

Publication number Publication date
JP2002319867A (ja) 2002-10-31

Similar Documents

Publication Publication Date Title
US6983414B1 (en) Error insertion circuit for SONET forward error correction
US4723243A (en) CRC calculation machine with variable bit boundary
US6192498B1 (en) System and method for generating error checking data in a communications system
US6750675B2 (en) Programmable logic devices with multi-standard byte synchronization and channel alignment for communication
US7003715B1 (en) Galois field multiply accumulator
EP1670199B1 (en) Design of channel alignment, error handling, and clock routing using hard-wired blocks for data transmission within programmable logic integrated circuits
US8225187B1 (en) Method and apparatus for implementing a cyclic redundancy check circuit
US6989715B2 (en) One-level zero-current-state exclusive or (XOR) gate
EP0230730A2 (en) CRC calculation machines
JP4263105B2 (ja) 高速の構成可能なトランシーバアーキテクチャ
EP0226353A2 (en) CRC calculation apparatus
US20100086075A1 (en) Parallel Generation and Matching of a Deskew Channel
US7886210B2 (en) Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs
JP4335730B2 (ja) デマルチプレクサ装置
EP0225763B1 (en) CRC calculation machine and method for CRC calculation
JPH04252615A (ja) モジュール型グレイコードカウンタ
JP3540287B2 (ja) パラレル処理回路
US7124064B1 (en) Automatic generation of hardware description language code for complex polynomial functions
US7447982B1 (en) BCH forward error correction decoder
US7279928B2 (en) xB/yB coder programmed within an embedded array of a programmable logic device
JP4945800B2 (ja) デマルチプレクサ回路
KR100200566B1 (ko) Atm 교환기의 crc 생성 회로
US20010023494A1 (en) BIP-N processing apparatus and BIP-N processing method therefor
IL118203A (en) Precision time of day counting system
JP3578690B2 (ja) 可変周期カウンタおよび位相変動追従型分離回路

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040126

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: 20040302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040324

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080402

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees