JP2011004181A - パケット多重回路およびパケット多重方法 - Google Patents
パケット多重回路およびパケット多重方法 Download PDFInfo
- Publication number
- JP2011004181A JP2011004181A JP2009145775A JP2009145775A JP2011004181A JP 2011004181 A JP2011004181 A JP 2011004181A JP 2009145775 A JP2009145775 A JP 2009145775A JP 2009145775 A JP2009145775 A JP 2009145775A JP 2011004181 A JP2011004181 A JP 2011004181A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- received
- control signal
- received packet
- selector
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】回線が高速化された場合でも、適切に制御信号を挿入することができるパケット多重回路を得ること。
【解決手段】複数の経路から入力される受信パケットを制御信号挿入後に多重化するパケット多重回路であって、受信パケットを多ビット展開する受信パケット検出部1と、多ビット展開後の受信パケットを記憶するFIFOメモリ2と、FIFOメモリ2から読み出した受信パケットから1つを選択するセレクタ3と、受信パケットの多重化の順序を決定して受信パケットを読み出し、受信パケットが連続して同一のセレクタから出力されないようセレクタ3を制御する読み出し制御部10と、受信パケット間に制御信号が挿入されるようビットシフト量を求めるIFG挿入回路制御部11と、出力される受信パケットに対してビットシフト量分ビットシフトして制御信号を挿入するIFG挿入回路4と、を備える。
【選択図】図1
【解決手段】複数の経路から入力される受信パケットを制御信号挿入後に多重化するパケット多重回路であって、受信パケットを多ビット展開する受信パケット検出部1と、多ビット展開後の受信パケットを記憶するFIFOメモリ2と、FIFOメモリ2から読み出した受信パケットから1つを選択するセレクタ3と、受信パケットの多重化の順序を決定して受信パケットを読み出し、受信パケットが連続して同一のセレクタから出力されないようセレクタ3を制御する読み出し制御部10と、受信パケット間に制御信号が挿入されるようビットシフト量を求めるIFG挿入回路制御部11と、出力される受信パケットに対してビットシフト量分ビットシフトして制御信号を挿入するIFG挿入回路4と、を備える。
【選択図】図1
Description
本発明は、複数の受信経路で受信した受信パケットを多重化するパケット多重回路およびパケット多重方法に関する。
従来のパケット通信では、受信パケットと次の受信パケットの間に、受信パケットの開始や終了または受信パケットのパケット長などを含む制御信号が挿入されている場合がある。パケットを扱う回路では、これらの制御信号に基づいて受信パケットの制御を行っている。また、本来のパケット通信はシリアル通信であり、制御信号のビット列などはシリアル通信を前提に規定されている(たとえば、非特許文献1参照)。
また、複数の受信経路による受信パケットを受信した順番に多重化するパケット多重化回路として、たとえば、下記特許文献1には、処理が集中しないようにパケットの間隔をおいて多重化するパケット多重装置が開示されている。
従来のパケット多重回路では、受信パケットと次の受信パケットの間にパケットの区切りを表すための制御信号を挿入する場合、回線速度が低速であるため、受信したシリアル信号を多ビット展開してパラレル信号化しても、データ幅は小さく、受信パケットの間隔にも余裕があり、クロック単位で制御信号を挿入することができる。
石田修他著「改訂版10ギガビットEthernet(登録商標)教科書」impress,2005年4月1日,p181−186
しかしながら、上記従来の特許文献1〜3に記載の技術では、パケット通信が高速化されておらず、受信パケットの間隔にも余裕があり、クロック単位で制御信号を挿入することができるため、制御信号ビットの挿入方法について特に言及されていない。しかし、近年、回線速度が高速化しており、デバイスの動作速度に向上が望めない場合には多ビット展開したパラレル信号のデータ幅が大きくなり、これらを多重化する際に、同一のクロックにおいて受信パケットの末尾と次の受信パケットの先頭が同時に現れるケースが生じることがある。このような場合、従来のパケット多重回路では、データバス内の適切な位置に、制御信号と次の受信パケットの先頭と、を同時に挿入することができない、という問題があった。
また、従来のパケット多重化回路を用いる場合に、上記の問題を回避するためには、より高速なデバイスを用い、より高速で動作させることによって多ビット展開によるパラレル信号幅の抑制を行う必要がある。そのため、高性能デバイスの調達コストや消費電力が増大する、という問題があった。
本発明は、上記に鑑みてなされたものであって、回線速度が高速化され、多ビット展開による大きなデータ幅のパケットを多重する場合でも、受信パケットと次の受信パケットとの間に適切に制御信号を挿入することができるパケット多重回路およびパケット多重方法を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数の経路から入力される受信パケットを受信パケット間に所定の制御信号を挿入し、制御信号挿入後の受信パケットを多重化して1つの多重化信号とするパケット多重回路であって、経路ごとに、その経路から入力された受信パケットを多ビット展開する受信パケット検出手段と、多ビット展開後の受信パケットを、前記経路ごとに記憶するための記憶手段と、受信パケットに基づいて、受信パケットのパケット長を検出するパケット長検出手段と、前記記憶手段から読み出された経路ごとの受信パケットのうち1つを選択して出力するN(Nは2以上の整数)個のセレクタと、前記多重化信号を記憶するための送信用バッファと、受信パケットに基づいて、受信パケットの多重化の順序を決定し、前記記憶手段から前記順序に基づいて受信パケットを読み出し、また、読み出された受信パケットが連続して同一の前記セレクタから出力されないようセレクタを制御し、また、受信パケットごとに、前記送信用バッファに書き込まれる際のその受信パケットの先頭位置とパケット長とに基づいて、前記送信用バッファに書き込まれる際の受信パケットの末尾位置を求める読み出し制御手段と、受信パケットごとに、前記送信用バッファに書き込まれる際に、前記末尾位置の後に前記制御信号が書き込まれ、その制御信号の後にその次に多重化される受信パケットの先頭位置が書き込まれるよう、前記セレクタから出力される受信パケットをシフトさせるためのビットシフト量を求める制御信号挿入制御手段と、セレクタごとに、そのセレクタから出力される受信パケットに対して前記ビットシフト量に基づいてビットシフトしてシフトパケットとし、シフトパケットの末尾位置とその次に多重化されるシフトパケットの先頭位置との間に前記制御信号を挿入し、前記制御信号の挿入後のシフトパケットを前記多重化信号として前記送信用バッファに書き込む制御信号挿入手段と、を備えることを特徴とする。
本発明によれば、受信パケットを複数のセレクタを用いて擬似的に重ねて読み出し、また、読み出し制御手段が受信パケットの先頭位置とパケット長に基づいてIFGの挿入位置を求め、複数のIFG挿入回路が、IFGの挿入位置にIFGが挿入されるよう受信パケットをシフトさせた受信パケットを送信用バッファに書き込むようにしたので、回線速度が高速化され、多ビット展開による大きなデータ幅のパケットを多重する場合でも、受信パケットと次の受信パケットとの間に適切に制御信号を挿入することができる、という効果を奏する。
以下に、本発明にかかるパケット多重回路およびパケット多重方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかるパケット多重回路の実施の形態1の機能構成例を示す図である。本実施の形態のパケット多重回路は、たとえば、イーサネット(登録商標)フレームを多重化するL2SW(レイヤ2スイッチ)などに搭載される。本実施の形態のパケット多重回路では、それぞれビットレートが10Gbpsである10本の受信経路を入力とし、入力されたパケットを多重して、ビットレートが100Gbpsである1本の経路で出力する。
図1は、本発明にかかるパケット多重回路の実施の形態1の機能構成例を示す図である。本実施の形態のパケット多重回路は、たとえば、イーサネット(登録商標)フレームを多重化するL2SW(レイヤ2スイッチ)などに搭載される。本実施の形態のパケット多重回路では、それぞれビットレートが10Gbpsである10本の受信経路を入力とし、入力されたパケットを多重して、ビットレートが100Gbpsである1本の経路で出力する。
図1に示すように、本実施の形態のパケット多重回路は、受信経路ごとに設けられた受信パケット検出部1−1〜1−10と、FIFO(First In,First Out)メモリ2−1〜2−10と、10本の入力に対し1本を出力するセレクタ(10入力1出力セレクタ)であるセレクタ3−1,3−2と、IFG(インターフレームギャップ)挿入回路4−1,4−2と、送信用バッファ5と、パケット長カウンタ6と、到着完了検出回路7と、多重化順序生成回路8と、パケット長およびパケット多重化順序を格納するためのメモリであるFIFOメモリ9と、FIFOメモリ2−1〜2−10からの読み出しを制御する読出し制御部10と、IFG挿入回路制御部11と、で構成される。また、パケット長カウンタ6,到着完了検出回路7,多重化順序生成回路8,FIFOメモリ9,読出し制御部10,IFG挿入回路制御部11で制御部12を構成する。
本実施の形態のパケット多重回路は、パケット多重時に、制御信号の一例としてイーサネット(登録商標)の規格で定められたパケット毎のクロック偏差を吸収するために設ける96ビット長以上のインターフレームギャップ(以下、IFGという)を、パケット間に挿入する。なお、ここでは、IFGを挿入する例を説明するが、これに限らずパケット間に他の制御信号を挿入する場合にも本実施の形態の動作を適用することができる。この場合、IFG挿入回路4−1,4−2は、制御信号挿入回路として機能し、IFGの替わりに所定の制御信号を挿入する。本実施の形態では、受信パケットのビットレートは10Gbpsであり、データ幅は64ビットとするが、パケット多重後のパケット送信時ではビットレートは100Gbpsであるため、動作クロックの周波数を抑えるためにデータ幅を多ビット展開し256ビットとしている。
また、IFGは、規格上では96ビット長以上であればよいが、10Gbpsの10本の入力とし、100Gbpsのワイヤレートを実現するためには、たとえば受信パケットが規格上最短の96ビット長のIFGを挿入された状態で連続して到着する場合、パケットの送信側が挿入するIFGも最短の96ビット長でなければならない。したがって、本実施の形態では、受信パケットが連続して到着する場合に96ビット長のIFGを挿入することとする。
つぎに、本実施の形態の動作を説明する。受信パケット検出部1−1〜1−10は、それぞれ対応する受信経路から入力される64ビット幅の受信パケットを、256ビット幅に多ビット展開し、展開した受信パケットをFIFOメモリ2−1〜2−10にそれぞれ書き込む。なお、受信パケット検出部1−i(i=1,2…10)は、FIFOメモリ2−iに受信パケットを書込むこととする。これにより、FIFOメモリ2−1〜2−1から読みだした際に、送信側のビットレートに対応した多重化を行うことができる。
また、受信パケット検出部1−1〜1−10は、それぞれ対応する受信経路から入力される64ビット幅の受信パケットを検出すると、パケット長カウンタ6が、受信したパケットに基づいてパケット長をパケット長情報として取得し、また、到着完了検出回路7が、受信パケットに基づいて到着完了情報を取得する。多重化順序生成回路8は、FIFOメモリ2−1〜2−10からの受信パケットの読み出し順序(何番目に読み出すかの番号)を決定し、決定した読み出し順序とその読み出し対象の受信パケットのパケット長とをセットにしてFIFOメモリ9に格納する。
なお、FIFOメモリ2−1〜2−10からの読みだされた受信パケットは、IGFの挿入等の処理の後に、送信用バッファ5に書き込まれる。したがって、送信用バッファ5に書き込まれる順序は、FIFOメモリ2−1〜2−10からの読み出した順序となる。また、送信用バッファ5に書き込まれる際に、それぞれの受信経路から入力された受信パケットが多重化されて書き込まれることになり、送信用バッファ5には多重化後のパケットが書き込まれ、送信時には、送信用バッファ5に書き込まれた順に読みだされる。したがって、FIFOメモリ2−1〜2−10からの読み出し順序は、多重化の順序または送信順序と考えることができる。多重化順序生成回路8は、受信パケットが基本的に到着完了の順に読みだされるよう読み出し順序を決定する。パケットにより送信の優先度が設定されている場合などは、その優先度を考慮して読み出し順序決定するようにしてもよい。
図2は、受信経路から入力された受信パケットとセレクタ3−1,3−2を通過する受信パケットと多重化後の受信パケット(送信用バッファ5に記憶されるパケット)との状態の一例を示す図である。横軸には時間を示している。図2の受信経路#j(j=1,2…10)と記載した段は、受信パケット検出部1−jに入力される信号の受信経路を示し、各受信経路の右側には、その経路で入力される受信パケットを示している。また、図2のセレクタ3−1,3−2側の段には、それぞれセレクタ3−1,3−2を通過するパケットを示している。
読出し制御部10は、FIFOメモリ9から受信パケットの読み出し順序とパケット長とを読み出し、読み出した読み出し順序とパケット長とに基づいて、その読み出し順序でFIFOメモリ2−1〜2−10から受信パケットを順次読み出すように、FIFOメモリ2−1〜2−10のリードイネーブル信号を生成し、また、セレクタ3−1,3−2に対する制御信号と、を生成する。この際、読出し制御部10は、読み出し順にパケットがセレクタ3−1,3−2に交互に通過するよう各セレクタを通過するパケット長に基づいてセレクタを駆動させるよう制御信号を生成する。また、読み出し順序で連続する受信パケットが、セレクタ3−1,3−2をそれぞれ通過する場合、早く通過する方の受信パケットの読み出し終了を待たずに、遅く通過する方の受信パケットの読み出しを開始する。すなわち、たとえば、図2に示すように、パケットP1とパケットP2は、セレクタ3−1またはセレクタ3−2を通過する時間帯が重複する。どの程度重複させるかは、多重化後の信号の出力速度や入力される受信パケットの伝送レートなどに基づいて、適切に設定する。
この際、読出し制御部10は、読み出し順序にしたがって読みだされる受信パケットが、セレクタ3−1とセレクタ3−2を交互に通過するようセレクタ3−1,3−2に対する制御信号を生成する。図2のパケットP1〜P11は、数字の若いパケットが、到着完了の早いパケットを示している。たとえば、図2の例では、受信経路#1,受信経路#2,受信経路#10,受信経路#9の順に、それぞれパケットP1,P2,P3,P4が入力される。そして、図2のように、パケットP1はセレクタ3−1を、パケットP2はセレクタ3−2を、パケットP3はセレクタ3−1を、パケットP4はセレクタ3−2を、…と、セレクタ3−1とセレクタ3−2を交互に通過する。また、セレクタ3−1から出力される受信パケットはIFG挿入回路4−1へ、セレクタ3−2から出力される受信パケットはIFG挿入回路4−2へ、それぞれ出力される。
図3は、本実施の形態のIFG挿入回路4−1,4−2の構成例を示す図である。IFG挿入回路4−1とIFG挿入回路4−2は、同じ構成であり、図3に示すように、合計256ビット幅のレジスタとして機能する8ビットのFF(Flip Flop)41−1〜41−32と、8ビット幅のレジスタであるFF42−1と、FF41−1〜41−32およびFF42−1の次の段の256ビット幅のレジスタとして機能する8ビットのFF43−1〜43−32と、FF41−1〜41−32およびFF42−1の次の段の8ビット幅のレジスタであるFF44−1と、FF43−1〜43−32およびFF44−1の次の段の256ビット幅のレジスタとして機能する8ビットのFF45−1〜45−32と、FF43−1〜43−32およびFF44−1の次の段の8ビット幅のレジスタであるFF46−1と、を備えている。FF41−1〜41−32とFF42−1,FF43−1〜43−32とFF44−1等のように、256ビット幅のレジスタと8ビット幅のレジスタを1セットとし、このセットを32セット備える多段構成としている。なお、図3では、32セットのうちの3セットのみを例示している。
また、FF41−1〜41−32等の256ビットのレジスタの読み出し時には、図3に示すように、読み出された出力信号は送信バッファ5と次の段のレジスタとの2経路に分岐されて出力される。次の段へ出力される場合は、図3に示すように各段で8ビットずつ信号位置がずれるように構成されている。また、FF41−32に出力されたデータは、FF42−1に出力された後にFF41−1に出力され、FF43−32に出力されたデータは、FF44−1に一時出力された後にFF43−1に出力される。このように構成することにより、IFG挿入回路4−1,4−2に入力された受信パケットをそれぞれ1クロックにつき8ビットずつシフトさせる。
図4は、IFG挿入回路4−1の動作例を示す図である。図4のreg#1は、たとえば、上記のFF41−1〜FF41−32およびFF42−1の1セット(1段)に対応する。図4では、IFG挿入回路4−1に入力されるパケットP21−1が、IFG挿入回路の内部のクロック数によってずれる様子をP21−2,P21−3,P21−4として示している。また、パケットP21−1,21−2,P21−3,P21−4中に記載されているSは、パケットの先頭位置を示し、Eは、パケットの末尾位置を示している。
パケットP21−2は、IFG挿入回路4−1の通過時間が1クロックでありreg#1によりパケットP21−1の状態より8ビットずれている。また、パケットP21−3は、IFG挿入回路4−1の通過時間が5クロックでありreg#5からの出力となり、パケットP21−1の状態より5byteずれており、パケットP21−3は、IFG挿入回路4−1の通過時間が12クロックであり、reg#12からの出力となるため、パケットP21−1の状態より12byteずれている。このように、IFG挿入回路4−1は、1クロックごとに1byteずつ順にパケット全体をずらずことができる。
また、図3に示すように、本実施の形態の送信用バッファ5は、送信用バッファ内のデータとIFG挿入回路4−1,4−2からそれぞれ入力される信号との3つの入力に対し、1つの信号を出力する3to1 Selector51−1〜51−32(図3では51−1〜51−3のみを図示)を備える。
3to1 Selector51−k(k=1,2,…,32)は、IFG挿入回路4−1,4−2のk段目からのそれぞれの出力と送信用バッファ5内部に書き込まれているデータ(送信用バッファ内のデータ)と、を入力とし、3つの入力のうち1つを選択して送信用バッファ5内部に書き込む。そして、3to1 Selector51−(k+1)は、IFG挿入回路4−1,4−2のk+1段目からのそれぞれの出力と送信用バッファ内のデータと、を入力とし、3つの入力のうち1つを選択して送信用バッファ5内部に書き込む。したがって、3to1 Selector51−1〜51−32を制御することにより、IFG挿入回路4−1,IFG挿入回路4−2の何段目のレジスタの出力を送信用バッファに書き込むか、すなわち受信パケットを何byteずらすか(シフト量)を制御することができ、IFGを任意の位置に挿入することができる。
なお、IFG挿入回路4−1,4−2構成および送信用バッファ5の構成は、図3に示した構成に限らず、IFG挿入回路が所望のシフト量だけ受信パケットをシフトさせて適切な位置にIFGを挿入し、適切な位置にIGFが挿入された受信パケットを送信バッファ5に書き込むことができる構成であれば、どのような構成としてもよい。
図5は、本実施の形態のIFG挿入方法の概念を示す図である。図5では、セレクタ3−1,3−2をまとめて、セレクタとして示しているが、実際には、IFG挿入回路4−1,IFG挿入回路4−2には、それぞれセレクタ3−1,3−2から受信パケットが入力される。受信パケットが連続して到着している場合、読み出し制御部10は、FIFOメモリ2−1〜2−10のリードイネーブル信号を生成すると同時に、FIFOメモリ2−1〜2−10から読み出す際のデータバスにおける受信パケットの末尾の位置をその受信パケットのパケット長に基づいて算出し、算出した末尾の位置と次の受信パケットの先頭位置との間に96ビット長のIFGを挿入するようIFG挿入回路制御部11に指示する。
いいかえると、読み出し制御部10は、受信パケットをセレクタ3−1,3−2を通過させる際に、連続する受信パケットを重複させるように間をつめているため、連続する受信パケットのうち早く通過する方の受信パケットの先頭を基準にそのパケット長に基づいて末尾位置を求め、その末尾位置の後に96ビット長のIFGを挿入し、そして、遅く通過する方の受信パケットの先頭がIFGの後になるように連続する受信パケットの送信バッファ5への書込み位置を制御する。
そして、IFG挿入回路制御部11は、指示された位置にIFGが挿入されるようIFG挿入回路4−1,IFG挿入回路4−2を用いて受信パケットをそれぞれ何byteずらすかを求め、求めた値に基づいてIFG挿入回路4−1,IFG挿入回路4−2のそれぞれ何段目の出力を選択して送信用バッファ5に書き込むかを決定する。そして、決定結果に基づいて送信用バッファ5の3to1 Selector51−1〜51−32を制御する。
図5では、IFG挿入回路4−1,IFG挿入回路4−2では、受信パケットが1クロックごとにデータバス上を1byteずつずれていく様子を示している。Sは、図5と同様に受信パケットの先頭を示し、Eは受信パケットの末尾を示している。この図では、IFG挿入回路4−1に入力された受信パケットの後に、IFG挿入回路4−2に入力された受信パケットが到着したとし、IFG挿入回路4−1に入力された受信パケットの末尾とIFG挿入回路4−2に入力された受信パケットの先頭との間にIFGを挿入する例を示している。また、図5では、IFGを適切な位置に挿入するには、IFG挿入回路4−1に入力された受信パケットを3byteずらし、IFG挿入回路4−2に入力された受信パケットを4byteずらす必要がある例を示している。
この場合、IFG挿入回路制御部11は、IFG挿入回路4−1の3段目の出力を送信用バッファ5に書き込み、IFG挿入回路4−2の4段目の出力を送信用バッファ5に書き込むよう、制御する。
また、受信パケットが、連続して到着していない場合には、読み出し制御部10およびIFG挿入回路制御部11は、次の受信パケットの先頭位置がデータバスにおける先頭位置となるようなビット長のIFGを挿入するよう制御する。
以上の動作により、送信用バッファ5には、IFGが挿入された多重後のパケットが書き込まれる。書き込まれた多重後のパケットは、本実施の形態のパケット多重回路から送信用バッファ5から出力され、本実施の形態のパケット多重回路を搭載するL2SWによって送信される。
図6は、本実施の形態の効果を説明するための図である。図6では、上段に従来のパケット多重の様子を示しており、下段に本実施の形態のパケット多重の様子を示している。従来のパケット多重では、セレクタ103が1つであるため、受信パケットはその前の受信パケットの末尾を読み出した後の次のクロックで読み出すのが最短の読み出し間隔となる。これに対し、本実施の形態では、セレクタ3−1,3−2を交互に用いることにより、受信パケットとその次の受信パケットを擬似的に重ねて読み出すことが可能となる。そして、擬似的に重ねた受信パケットを、引き伸ばすことにより適切な挿入位置に96ビット長のIFGを挿入している。このような構成とすることにより、本実施の形態では、従来のパケット多重に比べ、連続するパケットの出力間隔を短くしている。
以上のように、本実施の形態では、セレクタ3−1,3−2を交互に用いることにより、受信パケットとその次の受信パケットを擬似的に重ねて読み出し、読み出し制御部10が受信パケットの先頭位置とパケット長に基づいてパケットの末尾位置を求め、IFG挿入回路制御部11が、その末尾位置と次のパケットの先頭位置とに基づいてIFGの挿入位置を求め、求めたIFGの挿入位置に基づいて受信パケットのシフト量を決定し、IFG挿入回路4−1,IFG挿入回路4−2が、読み出した受信パケットをそのシフト量だけシフトさせた受信パケットを送信用バッファ5に書き込むようにした。
従来の技術では、動作クロックを抑えるために64ビット幅の受信パケットを256ビット幅へ多ビット展開して多重する際、IFGがデータバス幅より小さくなり、受信パケットの末尾とIFGと次の受信パケットの先頭が同時に現れるケースを含んだ送信パケットを生成する必要が生じ適切に処理できず、ワイヤレートを実現できなかった。これに対し、本実施の形態では、以上のように適切なサイズのIFGが適切な位置に挿入されたパケットをワイヤレートで出力することができる。したがって、低速なデバイスを用いてパケット多重回路を構成することが可能となる。
また、動作クロックを抑えた状態で高速な受信パケットを高い効率で多重できるパケット回路を構成することができ、デバイスのスペックダウンによるハードウェアのコストや消費電力を抑えたL2SWの設計が可能となる。
実施の形態2.
図7は、本発明にかかるパケット多重回路の実施の形態2の機能構成例を示す図である。本実施の形態のパケット多重回路は、受信パケット検出部1−1〜1−n(nは自然数)と、FIFOメモリ2−1〜2−nと、セレクタ3−1〜3−mと、IFG調整回路4−1〜4−mと、送信用バッファ5aと、実施の形態1の制御部12と同様の制御部12と、を備えている。受信パケット検出部1−1〜1−n,FIFOメモリ2−1〜2−nは、実施の形態1の受信パケット検出部1−1〜1−10,FIFOメモリ2−1〜2−10をそれぞれ備える数を10からnにする以外は実施の形態1の受信パケット検出部1−1〜1−10,FIFOメモリ2−1〜2−10と同様である。また、セレクタ3−1〜3−m(mは3以上の整数),IFG調整回路4−1〜4−mは、実施の形態1のセレクタ3−1〜3−2,IFG調整回路4−1〜4−2とそれぞれ備える数を2からmにする以外は、実施の形態1のセレクタ3−1〜3−2,IFG調整回路4−1〜4−2と同様である。実施の形態1と同様の機能を有する構成要素は実施の形態1と同一の符号を付して説明を省略する。
図7は、本発明にかかるパケット多重回路の実施の形態2の機能構成例を示す図である。本実施の形態のパケット多重回路は、受信パケット検出部1−1〜1−n(nは自然数)と、FIFOメモリ2−1〜2−nと、セレクタ3−1〜3−mと、IFG調整回路4−1〜4−mと、送信用バッファ5aと、実施の形態1の制御部12と同様の制御部12と、を備えている。受信パケット検出部1−1〜1−n,FIFOメモリ2−1〜2−nは、実施の形態1の受信パケット検出部1−1〜1−10,FIFOメモリ2−1〜2−10をそれぞれ備える数を10からnにする以外は実施の形態1の受信パケット検出部1−1〜1−10,FIFOメモリ2−1〜2−10と同様である。また、セレクタ3−1〜3−m(mは3以上の整数),IFG調整回路4−1〜4−mは、実施の形態1のセレクタ3−1〜3−2,IFG調整回路4−1〜4−2とそれぞれ備える数を2からmにする以外は、実施の形態1のセレクタ3−1〜3−2,IFG調整回路4−1〜4−2と同様である。実施の形態1と同様の機能を有する構成要素は実施の形態1と同一の符号を付して説明を省略する。
ネットワークの高速化がより進んだ場合、実施の形態1よりさらに多くの多ビット展開が必要になる。その際、たとえば、受信パケットの末尾と96ビット長のIFGであるIFG#1とその次の受信パケットとその受信パケットの末尾の96ビット長のIFG#2と、さらに次パケットの先頭が同時に現れるケースを含んだパケットを生成しなければならない可能性がある。このような場合には、実施の形態1のセレクタ3−1,3−2,IFG挿入回路4−1,4−2を、3つ以上備えることにより、対応することができる。
図7では、受信経路がn個の場合に、セレクタおよびIFG挿入回路をそれぞれm個備える例を示している。各構成要素の動作は実施の形態1と同様であるが、受信パケット検出部1−1〜1−nは多ビット展開後のビット数に対応した多ビット展開を行い、また、IFG調整回路4−1〜4−mは、多ビット展開後のビット数に対応した分のレジスタを備えることとする。読出し制御部10は、受信パケットをセレクタ3−1〜3−mを用いてそれぞれインタリーブさせて通過させるよう制御する。また、セレクタ3−1〜3−mは、n入力1出力のセレクタとする。送信用バッファ5aは、実施の形態1の3to1 Selector51−1〜51−32の代わりに、たとえば、(m+1)入力1出力のセレクタを多ビット展開後のビット数に対応するビット数分備えることとする。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。
以上のように、本実施の形態では、セレクタ3−1〜3−mおよびIFG挿入回路4−1〜4−mを備えるようにしたので、さらに高速化が進み、IFGが同一クロックの間に(m−1)個現れるケースについても適切なサイズのIFGが適切な位置に挿入されたパケットをワイヤレートで出力することができる。
以上のように、本発明にかかるパケット多重回路およびパケット多重方法は、複数の受信経路で受信した受信パケットを多重化するパケット多重回路に有用であり、特に、高速化した回線速度に対応する多重回路に適している。
1−1〜10,1−n 受信パケット検出部
2−1〜2−10,2−n,9 FIFOメモリ
3−1,3−2,3−m,103 セレクタ
4−1,4−2,4−m IFG挿入回路
41−1〜41−32,42−1,43−1〜43−32,44−1,45−1〜45−32,46−1 FF
51−1〜51−3 3to1 Selector
5,5a 送信用バッファ
6 パケット長カウンタ
7 到着完了検出回路
8 多重化順序生成回路
10 読出し制御部
11 IFG挿入回路制御部
12 制御部
P1〜P11,P21−1〜P21−4 パケット
2−1〜2−10,2−n,9 FIFOメモリ
3−1,3−2,3−m,103 セレクタ
4−1,4−2,4−m IFG挿入回路
41−1〜41−32,42−1,43−1〜43−32,44−1,45−1〜45−32,46−1 FF
51−1〜51−3 3to1 Selector
5,5a 送信用バッファ
6 パケット長カウンタ
7 到着完了検出回路
8 多重化順序生成回路
10 読出し制御部
11 IFG挿入回路制御部
12 制御部
P1〜P11,P21−1〜P21−4 パケット
Claims (5)
- 複数の経路から入力される受信パケットを受信パケット間に所定の制御信号を挿入し、制御信号挿入後の受信パケットを多重化して1つの多重化信号とするパケット多重回路であって、
経路ごとに、その経路から入力された受信パケットを多ビット展開する受信パケット検出手段と、
多ビット展開後の受信パケットを、前記経路ごとに記憶するための記憶手段と、
受信パケットに基づいて、受信パケットのパケット長を検出するパケット長検出手段と、
前記記憶手段から読み出された経路ごとの受信パケットのうち1つを選択して出力するN(Nは2以上の整数)個のセレクタと、
前記多重化信号を記憶するための送信用バッファと、
受信パケットに基づいて、受信パケットの多重化の順序を決定し、前記記憶手段から前記順序に基づいて受信パケットを読み出し、また、読み出された受信パケットが連続して同一の前記セレクタから出力されないようセレクタを制御し、また、受信パケットごとに、前記送信用バッファに書き込まれる際のその受信パケットの先頭位置とパケット長とに基づいて、前記送信用バッファに書き込まれる際の受信パケットの末尾位置を求める読み出し制御手段と、
受信パケットごとに、前記送信用バッファに書き込まれる際に、前記末尾位置の後に前記制御信号が書き込まれ、その制御信号の後にその次に多重化される受信パケットの先頭位置が書き込まれるよう、前記セレクタから出力される受信パケットをシフトさせるためのビットシフト量を求める制御信号挿入制御手段と、
セレクタごとに、そのセレクタから出力される受信パケットに対して前記ビットシフト量に基づいてビットシフトしてシフトパケットとし、シフトパケットの末尾位置とその次に多重化されるシフトパケットの先頭位置との間に前記制御信号を挿入し、前記制御信号の挿入後のシフトパケットを前記多重化信号として前記送信用バッファに書き込む制御信号挿入手段と、
を備えることを特徴とするパケット多重回路。 - Nを2とすることを特徴とする請求項1に記載のパケット多重回路。
- Nを3以上とすることを特徴とする請求項1に記載のパケット多重回路。
- 前記制御信号挿入手段を前記セレクタごとに対応するセレクタ毎制御信号挿入回路で構成されることとし、
前記セレクタ毎制御信号挿入回路は、
入力された受信パケットに対して1クロックごとに1バイトずつ制御信号の挿入位置をシフトするシフト手段、
を備え、
前記制御信号挿入制御手段は、前記ビットシフト量に対応するクロック数だけ受信パケットが前記シフト手段を通過するよう制御する、
ことを特徴とする請求項1、2または3に記載のパケット多重回路。 - 複数の経路から入力される受信パケットを受信パケット間に所定の制御信号を挿入し、制御信号挿入後の受信パケットを多重化して1つの多重化信号とするパケット多重方法であって、
経路ごとに、その経路から入力された受信パケットを多ビット展開する受信パケット検出ステップと、
多ビット展開後の受信パケットを、前記経路ごとに記憶する記憶ステップと、
受信パケットに基づいて、受信パケットのパケット長を検出するパケット長検出ステップと、
N(Nは2以上の整数)個のセレクタが、前記記憶ステップで読み出された経路ごとの受信パケットのうち1つを選択して出力する選択ステップと、
受信パケットに基づいて、受信パケットの多重化の順序を決定し、前記順序に基づいて前記記憶ステップで記憶された受信パケットを読み出し、また、読み出された受信パケットが連続して同一の前記セレクタから出力されないようセレクタを制御し、また、受信パケットごとに、前記多重化信号を記憶するための送信用バッファに書き込まれる際のその受信パケットの先頭位置とパケット長とに基づいて、前記送信用バッファに書き込まれる際の受信パケットの末尾位置を求める読み出し制御ステップと、
受信パケットごとに、前記送信用バッファに書き込まれる際に、前記末尾位置の後に前記制御信号が書き込まれ、その制御信号の後にその次に多重化される受信パケットの先頭位置が書き込まれるよう、前記セレクタから出力される受信パケットをシフトさせるためのビットシフト量を求める制御信号挿入制御ステップと、
セレクタごとに、そのセレクタから出力される受信パケットに対して前記ビットシフト量に基づいてビットシフトしてシフトパケットとし、シフトパケットの末尾位置とその次に多重化されるシフトパケットの先頭位置との間に前記制御信号を挿入し、前記制御信号の挿入後のシフトパケットを前記多重化信号として前記送信用バッファに書き込む制御信号挿入ステップと、
を含むことを特徴とするパケット多重方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009145775A JP2011004181A (ja) | 2009-06-18 | 2009-06-18 | パケット多重回路およびパケット多重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009145775A JP2011004181A (ja) | 2009-06-18 | 2009-06-18 | パケット多重回路およびパケット多重方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011004181A true JP2011004181A (ja) | 2011-01-06 |
Family
ID=43561760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009145775A Pending JP2011004181A (ja) | 2009-06-18 | 2009-06-18 | パケット多重回路およびパケット多重方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011004181A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017069889A (ja) * | 2015-10-02 | 2017-04-06 | 三菱電機株式会社 | 通信制御装置および通信制御方法 |
-
2009
- 2009-06-18 JP JP2009145775A patent/JP2011004181A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017069889A (ja) * | 2015-10-02 | 2017-04-06 | 三菱電機株式会社 | 通信制御装置および通信制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027433B2 (en) | Multiple clock domains in NoC | |
JP3989932B2 (ja) | マスタ−スレーブ分散通信システムにおけるローカル同期の方法および機構 | |
JP3214490B2 (ja) | パケット交換ネットワーク | |
EP1875683B1 (en) | Integrated circuit with data communication network and ic design method | |
US8126002B2 (en) | Methods and apparatus related to a shared memory buffer for variable-sized cells | |
US8594092B2 (en) | Packet relay method and device | |
JP3757286B2 (ja) | 光パケットのバッファリング装置とそのバッファリング方法 | |
US6757284B1 (en) | Method and apparatus for pipeline sorting of ordered streams of data items | |
JP5624579B2 (ja) | オンチップルータ | |
US9276851B1 (en) | Parser and modifier for processing network packets | |
TW200407008A (en) | Alignment and deskew device, system and method | |
JP3533164B2 (ja) | 複数データ同時処理のメモリ書き込み判断回路及び該回路を備えたatmスイッチ | |
JP2011004181A (ja) | パケット多重回路およびパケット多重方法 | |
US7380084B2 (en) | Dynamic detection of block boundaries on memory reads | |
JP5847887B2 (ja) | オンチップルータ及びそれを用いたマルチコアシステム | |
TWI417741B (zh) | 動態調整通道方向之方法及使用其之晶片網路架構 | |
US20180375801A1 (en) | Apparatus and method for distribution of congestion information in a switch | |
US7746785B2 (en) | Time multiplexing logic in physical design domain for multiple instantiation | |
JP4330146B2 (ja) | スキュー調整回路 | |
JP2014194619A (ja) | バッファ回路及び半導体集積回路 | |
Najvirt et al. | Classifying virtual channel access control schemes for asynchronous nocs | |
US8300479B2 (en) | Temporal alignment of data unit groups in a switch | |
JP2016042218A (ja) | エラー検出装置及びエラー検出方法 | |
JP4060270B2 (ja) | 送信装置と受信装置の間においてビデオのライン・データを遅延させる装置および方法 | |
US8850256B2 (en) | Communication circuit and communication method |