(57)【要約】【課題】高速大容量の主信号データを扱う伝送装置等のデバイスにおいて、消費電力を低減する電子回路の実現。【解決手段】パラレルに伝送中のデータを処理する電子回路30であって、データの各ビットの伝送されるビット列を所定ビット数単位で区切ってビット列データとし、トグルレートの高いビット列データを変換テーブルにしたがってトグルレートの低いビット列データに変換し且つそれ以外をそのまま変換データとすると共に、１ビットのビット列変換信号を付加して形式変換データとして出力するエンコーダ61と、伝送経路41-46と、伝送経路の形式変換データを処理する処理部47-49と、ビット列変換信号が変換したデータであることを示す時には逆変換により元のビット列データに変換し、変換していないデータである時にはそのままビット列データとして出力するデコーダ62と、を有する電子回路。【選択図】図４
2015220576.tif 000002
【特許請求の範囲】
【請求項１】
データをパラレルに伝送しながら伝送中の前記データを処理する電子回路であって、
前記データの各ビットの伝送されるビット列を所定ビット数単位で区切ってビット列データとし、トグルレートの高い前記ビット列データについては変換テーブルにしたがってトグルレートの低いビット列データに変換して変換データとし且つそれ以外の前記ビット列データをそのまま前記変換データとすると共に、前記変換データが変換したデータであるか否かを示す１ビットのビット列変換信号を前記変換データに付加して形式変換データとして出力するエンコーダと、
前記形式変換データを伝送する伝送経路と、
前記伝送経路を伝送中の前記形式変換データを処理する処理部と、
前記伝送経路から処理済の前記形式変換データを受け、前記ビット列変換信号が変換したデータであることを示す時には、前記変換テーブルの逆変換により前記変換データを元のビット列データに変換して出力し、前記ビット列変換信号が変換していないデータであること示す時には、前記変換データをそのままビット列データとして出力するデコーダと、を備えることを特徴とする電子回路。
【請求項２】
前記変換テーブルが保持する前記変換データの個数は２Nより小さい請求項１に記載の電子回路。
【請求項３】
前記エンコーダは、前記ビット列データの後に伝送される前記ビット列データの先頭ビットを含めてトグルレートが高いか低いかを判定する請求項１または２に記載の電子回路。
【請求項４】
前記伝送経路は、前記形式変換データからなるパラレルデータを一時的に保持する複数段のバッファを備え、
前記処理部は、前記複数段のバッファに保持された前記パラレルデータから情報を取得し、取得した情報に基づいて、前記パラレルデータの一部に所定の処理を実行する請求項１から３のいずれか１項に記載の電子回路。
【請求項５】
ヘッダとペイロードを含む第１シリアルデータを受信し、前記第１シリアルデータからパラレルデータを生成する第１トランシーバと、
前記パラレルデータの各ビットの伝送されるビット列を所定ビット数単位で区切ってビット列データとし、トグルレートの高い前記ビット列データについては変換テーブルにしたがってトグルレートの低いビット列データに変換して変換データとし且つそれ以外の前記ビット列データをそのまま前記変換データとすると共に、前記変換データが変換したデータであるか否かを示す１ビットのビット列変換信号を前記変換データに付加して形式変換データとして出力するエンコーダと、
前記形式変換データからなるパラレルデータを一時的に保持する複数段のバッファと、
前記複数段のバッファに保持された前記パラレルデータの前記ヘッダの部分から情報を取得し、取得した情報に基づいて、前記ヘッダの部分に所定の処理を実行する処理部と、
前記複数段のバッファの最終段から出力される処理済の前記パラレルデータを受け、前記ビット列変換信号が変換したデータであることを示す時には、前記変換テーブルの逆変換により前記変換データを元のビット列データに変換して出力し、前記ビット列変換信号が変換していないデータであること示す時には、前記変換データをそのままビット列データとして出力するデコーダと、を備えることを特徴とする電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子回路および電子装置に関する。
【背景技術】
【０００２】
近年では１００Ｇｂｐｓ（１０Ｇｂｐｓ×１０ｃｈ）などで伝送される高速大容量の主信号データを扱う伝送装置が多くなっている。これらの主信号データを扱う電子回路は、ＦＰＧＡ(Flexible Programmable Gate Array)／ＡＳＩＣなどで実現されるのが一般的である。このようなＦＰＧＡ／ＡＳＩＣでは、１００Ｇｂｐｓのような高速大容量データ処理するために、ＦＰＧＡ／ＡＳＩＣ内部で主信号データをパラレル化した上で処理を行う。例えば、１００Ｇｂｐｓのシリアルデータならば、３９０ＭＨｚ×２５６ビットのパラレルデータ、または１９５ＭＨｚ×５１２ビットのパラレルデータに変換した上で処理が行われる。
【０００３】
データ伝送では、各種の伝送方式が提案されているが、ＴＣＰ／ＩＰのパケット通信が広く使用されており、以下の説明ではパケット通信におけるルータを例として説明を行うが、本発明はこれに限定されるものではない。パケット通信において、各パケットは、データの制御情報を示すヘッダと、実データを示すペイロードを含む。パケット通信の伝送装置で行う処理としては、例えば、スイッチング処理、課金処理、シェーパー処理などがある。スイッチング処理では、別デバイスから送信されたパケットからヘッダに含まれる送信先アドレスを抽出し、送信先アドレスが当該伝送装置に該当するか判定し、該当する時にはアドレスを書き換える。また、課金処理では、パケット長を検出して課金を行う。シェーパー処理では、通信品質がベストエフォートになるように処理する。このような処理は、すべてヘッダに含まれるデータに対して行われる処理である。
【０００４】
伝送装置の回路は、３９０ＭＨｚ×２５６ビットのパラレルデータ、または１９５ＭＨｚ×５１２ビットのパラレルデータをフリップフロップ（以下、ＦＦ）等からなる複数段のバッファに保持した上で、上記の処理を実行する。そのため、伝送装置を形成するＦＰＧＡ／ＡＳＩＣなどのデバイスの消費電力が高くなる。特に、主信号データが過渡期の状態になると、デバイスの消費電力はほぼ最大にまで増加することが多い。
【０００５】
デバイスの消費電力が増大することで発熱量も増えるため、デバイスの温度上昇が大きな問題となっている。この問題を解決するため、デバイスに放熱フィンなどを搭載することにより、デバイスからの放熱効果を高めるなどの対策が行われる。しかし、このような対策は、コストの増加、装置としての放熱設計の困難さ、さらにはＦＰＧＡ／ＡＳＩＣそのもののデバイス寿命の短縮にまでつながる課題を発生する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１１−５０１２７７号公報
【特許文献２】特開２００２−１４１８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
実施形態によれば、高速大容量の主信号データを扱う伝送装置等の電子回路および電子装置において、消費電力を低減する電子回路が実現される。
【課題を解決するための手段】
【０００８】
実施形態の第１の態様の電子回路は、データをパラレルに伝送しながら伝送中のデータを処理する電子回路であって、エンコーダと、伝送経路と、処理部と、デコーダと、を有する。エンコーダは、データの各ビットの伝送されるビット列を所定ビット数単位で区切ってビット列データとし、トグルレートの高いビット列データについては変換テーブルにしたがってトグルレートの低いビット列データに変換して変換データとする。そして、エンコーダは、それ以外のビット列データをそのまま変換データとする。さらに、エンコーダは、変換データが変換したデータであるか否かを示す１ビットのビット列変換信号を、変換データに付加して形式変換データとして出力する。伝送経路は、形式変換データを伝送する。処理部は、伝送経路を伝送中の形式変換データを処理する。デコーダは、伝送経路から処理済の形式変換データを受け、ビット列変換信号が変換したデータであることを示す時には、変換テーブルの逆変換により変換データを元のビット列データに変換して出力する。そして、デコーダは、ビット列変換信号が変換していないデータであること示す時には、変換データをそのままビット列データとして出力する。
【０００９】
実施形態の第２の態様の電子装置は、第１トランシーバと、エンコーダと、複数段のバッファと、処理部と、デコーダと、を有する。第１トランシーバは、ヘッダとペイロードを含む第１シリアルデータを受信し、第１シリアルデータからパラレルデータを生成する。エンコーダは、パラレルデータの各ビットの伝送されるビット列を所定ビット数単位で区切ってビット列データとし、トグルレートの高いビット列データについては変換テーブルにしたがってトグルレートの低いビット列データに変換して変換データとする。そして、エンコーダは、それ以外のビット列データをそのまま変換データとする。さらに、エンコーダは、変換データが変換したデータであるか否かを示す１ビットのビット列変換信号を変換データに付加して形式変換データとして出力する。複数段のバッファは、形式変換データからなるパラレルデータを一時的に保持する。処理部は、複数段のバッファに保持されたパラレルデータのヘッダの部分から情報を取得し、取得した情報に基づいて、ヘッダの部分に所定の処理を実行する。デコーダは、複数段のバッファの最終段から出力される処理済のパラレルデータを受け、ビット列変換信号が変換したデータであることを示す時には、変換テーブルの逆変換により変換データを元のビット列データに変換して出力する。そして、デコーダは、ビット列変換信号が変換していないデータであること示す時には、変換データをそのままビット列データとして出力する。
【発明の効果】
【００１０】
実施形態の電子回路によれば、パラレルに伝送されるデータの各ビットのトグルレートが低減されているため、処理のために伝送経路（複数段のバッファ）に保持する際のスイッチング回数が低減され、消費電力を減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、ルータの概略構成およびパケットの構成を示す図である。
【図２】図２は、トグルレートと主信号データのクロックとデータの関係を示すタイムチャートである。
【図３】図３は、ＦＰＧＡの消費電力を下げる方法の例を説明する図である。
【図４】図４は、実施形態のルータの概略構成を示す図であり、（Ａ）は別デバイスとの接続を含めた構成を、（Ｂ）はルータの構成を示す。
【図５】図５は、トランシーバとエンコーダ／デコーダの部分の構成を示す図であり、（Ａ）がトランシーバの受信部(XCVR(R))およびエンコーダの部分を、（Ｂ）がデコーダおよびトランシーバの送信部(XCVR(T))の部分を、示す。
【図６】図６は、エンコーダの具体的な構成を示す図である。
【図７】図７は、デコーダの具体的な構成を示す図である。
【図８】図８は、実施形態における４ビット単位で変換を行うか否かを判定する場合の変換テーブルおよび逆変換テーブルを説明する図である。
【図９】図９は、ある入力ビット列を４ビットパラレルデータに変換して伝送する場合の、図１の一般的な構成のルータおよび実施形態のルータおけるトグル動作を示す図であり、（Ａ）が図１のルータの場合を、（Ｂ）が実施形態のルータの場合を示す。
【図１０】図１０は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１１】図１１は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１２】図１２は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１３】図１３は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１４】図１４は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１５】図１５は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１６】図１６は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１７】図１７は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１８】図１８は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図１９】図１９は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図２０】図２０は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図２１】図２１は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【図２２】図２２は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例の一部を示す図である。
【発明を実施するための形態】
【００１２】
実施形態の電子回路は、例えば、ルータに適用される。実施形態を説明する前に、ルータにおける処理の概略を説明する。
ＴＣＰ(Transmission Control Protocol/Internet Protocol)によるパケット通信システムでは、高速大容量の主信号データが１００Ｇｂｐｓ（１０Ｇｂｐｓ×１０ｃｈ）などで伝送される。このような通信システムでは、ルータが、パケットの転送、課金などの各種の処理を行う。
【００１３】
図１は、ルータの概略構成およびパケットの構成を示す図である。
図１の（Ａ）に示すように、ルータ１０は、通信経路４を介して別デバイス２に、および通信経路５を介して別デバイス３に接続される。別デバイス２および３は、他のルータ、関係する通信局の別装置などである。ここでは、ルータ１０は、２つの別デバイス２および３に接続するように示されているが、３つ以上のデバイスに接続される場合もある。通信経路４および５は、例えば１００Ｇｂｐｓのシリアル通信経路である。ここでは、通信経路４および５は、１本の通信経路として示しているが、このような通信経路を複数並列に有する場合もある。ルータ１０は、別デバイスから送信されたパケットのアドレスを検出し、アドレスに応じてパケットのデータを取り込み、パケットを別デバイスに再送する。
【００１４】
図１の（Ｂ）に示すように、各パケットは、データの制御情報を示すヘッダＨと、実データ（主信号データ）を示すペイロードＰを含む。ヘッダＨは、例えば、バージョン、ヘッダ長、パケット長、送信元アドレス、宛先アドレス等を有する。パケットの構造は、例えば、パケットが２５６バイト長で、ヘッダＨが２０バイト長で、ペイロードＰが残りの２３６バイト長である。
【００１５】
ルータ１０は、ヘッダＨの情報のみを認識し、ヘッダＨのデータに対して必要な処理を施す。通常、ルータ１０は、ペイロードＰに含まれる実データについては何の処理も行わないが、ルータの業務に関係するペイロードＰの実データについては取り扱い、ルータ１０が最終端末を兼ねる場合には、当該最終端末への実データについては取り扱う。ここでは、ルータ１０は、最終端末を兼ねない場合を例として説明する。
【００１６】
ルータ１０において、主信号データを扱う電子回路は、１００Ｇｂｐｓなどの高速で伝送された信号を、そのまま処理することは難しいので、ルータ１０内部で主信号データをパラレル化した上で処理を行う。例えば、１００Ｇｂｐｓのシリアルデータならば、３９０ＭＨｚ×２５６ビットのパラレルデータ、または１９５ＭＨｚ×５１２ビットのパラレルデータに変換した上で処理が行われる。
【００１７】
図１の（Ａ）に示すように、ルータ１０は、トランシーバ１１、１２と、処理部２０と、を有する。トランシーバ１１、１２は、通信経路４、５を介して別デバイス２、３に接続され、別デバイス２，３との間で、１００Ｇｂｐｓのレートでシリアル通信を行うものとする。トランシーバ１１、１２は、別デバイスから受信した１００Ｇｂｐｓのシリアルデータを、例えば、１９５ＭＨｚ×５１２ビットのパラレルデータに変換して処理部２０に供給する。さらに、トランシーバ１１、１２は、処理部２０からの１９５ＭＨｚ×５１２ビットのパラレルデータを、１００Ｇｂｐｓのシリアルデータに変換して、別デバイスに送信する。
【００１８】
処理部２０が行う処理は各種ある。例えば、スイッチング処理では、別デバイスから送信されたパケットからヘッダに含まれる送信先アドレスを抽出し、必要に応じて送信先アドレスを書き換える。また、課金処理では、パケット長を検出して課金を行い、シェーパー処理では、通信品質がベストエフォートになるように処理する。
【００１９】
図１の（Ａ）に示すように、処理部２０は、上記の処理を行うために、フリップフロップなどからなるバッファ２１−２４と、Ａ処理部２５と、Ｂ処理部２６と、を有する。Ａ処理部２５およびＢ処理部２６は、例えば、上記のスイッチング処理、課金処理およびシェーパー処理等の何れかである。バッファ２１−２４は、クロックに応じて保持しているパラレルデータを順次シフトする。Ａ処理部２５は、バッファ２１および２２に保持されたパラレルデータに対して処理を行う。Ｂ処理部２６は、バッファ２３および２４に保持されたパラレルデータに対して処理を行う。ここでは、バッファ２１および２２の２段のバッファの組が、Ａ処理部２５が処理を行うためのパラレルデータを保持し、バッファ２３および２４の２段のバッファの組が、Ｂ処理部２６が処理を行うためのパラレルデータを保持している。しかし、処理内容に応じては、バッファの組が１段のみの場合も、３段以上の場合もある。さらに、図１の（Ａ）では、行う処理は２つであるが、３つ以上の場合もある。行う処理が増加すれば、パラレルデータを保持するバッファの組も増加する。
【００２０】
上記のように、ルータ１０においては、基本的にヘッダＨのデータのみを取扱い、ペイロードＰのデータは取り扱わない。しかし、パケットは１つのまとまりであるため、ヘッダＨのデータに対して各種処理を行うためにデータを保持する場合には、ペイロードＰのデータを含めて保持する。そのため、バッファ２１−２４は、パケットのデータを順次保持する場合、ヘッダＨのデータを保持して次段に出力した後、ペイロードＰのデータを保持する。図１の（Ｂ）に示すように、ペイロードＰのデータ量はヘッダＨのデータ量に比べて多いため、バッファ２１−２４は、大部分の期間、処理対象でないペイロードＰのデータ量を順次保持することになる。
【００２１】
上記のように、５１２ビットのパラレルデータに対して処理を行うのであれば、１段のバッファで５１２個のＦＦが必要であり、２段の場合には１０２４個のＦＦが必要であり、処理数が増加すれば、それに応じてＦＦの個数が大きくなる。ＦＦの消費電力は、ＦＦが保持しているデータ値が変化する時に主として発生し、データ値が変化しない時の消費電力は小さい。
【００２２】
ペイロードＰに含まれる実データである主信号データは、主にパーソナルコンピュータ、携帯電話・スマートホンなどのエンドユーザが扱うデータであるため、不規則なパターンのデータである。これをＦＰＧＡ／ＡＳＩＣの消費電力への影響という観点からみると、頻繁にデータ値が変化するトグルレートの高い主信号データは、ＦＦのスイッチング回数を増加させ、ＦＰＧＡ／ＡＳＩＣの消費電力を高くする。逆に、データ値の変化が少ないトグルレートの低い主信号データは、ＦＦのスイッチング回数が少ないため、ＦＰＧＡ／ＡＳＩＣの消費電力が低くなる。主信号データのトグルレートとエンドユーザが扱うデータには相関関係がない。そのため、一般的にＦＰＧＡ／ＡＳＩＣを設計する時には、トグルレートの高い（スイッチング回数が多い）主信号データを想定してＦＰＧＡ／ＡＳＩＣの消費電力を見積もる。そしてその見積もりに基づいて、ＦＰＧＡ／ＡＳＩＣが搭載される装置全体の放熱効果や熱引き設計を行っている。
【００２３】
主信号データのトグルレートは以下の計算式から求めることができる。
トグルレート（％）＝（データの周波数／クロックの周波数）×１００
【００２４】
図２は、トグルレートと主信号データのクロックとデータの関係を示すタイムチャートである。
データの周波数は、データの変化点 (データ０と１の交点＝スイッチング）から算出される周波数（データレート）である。一般的にクロックの周波数に対して、データの周波数は１／２が最大となる。つまり、トグルレート＝５０％の時が最大のデータの周波数となり、ＦＰＧＡ／ＡＳＩＣはこの時が過渡期となり論理回路の消費電力も最も高くなる。
【００２５】
図２の（Ａ）は、データレートが最大の５０％の場合で、２００ＭＨｚのクロックに対して、データ値がクロックの周期ごとに、１００ＭＨｚで変化する。図２の（Ｂ）は、データレートが２５％の場合で、２００ＭＨｚのクロックに対して、データ値がクロックの２周期ごとに、５０ＭＨｚで変化する。図２の（Ｃ）は、データレートが最大の１２．５％の場合で、２００ＭＨｚのクロックに対して、データ値がクロックの４周期ごとに、２５ＭＨｚで変化する。
【００２６】
論理回路（ＬＯＧＩＣ）の消費電力は、主信号データのトグルレートが５０％の場合と２５％の場合で、半減する。つまり、論理回路において意図的にトグルレートを下げるように設計すれば、自ずと消費電力も下げることができる。
【００２７】
いずれにしろ、ルータでは、主信号データに応じてスイッチングするＦＦの個数が多いため、ルータを形成するＦＰＧＡ／ＡＳＩＣなどのデバイスの消費電力が高くなる。特に、主信号データが過渡期の状態になると、デバイスの消費電力はほぼ最大にまで増加することが多い。
【００２８】
デバイスの消費電力が増大することで発熱量も増えるため、デバイスの温度上昇が大きな問題となっている。この問題を解決するため、デバイスに放熱フィンなどを搭載することにより、デバイスからの放熱効果を高めることなどの対策が行われる。しかし、このような対策は、コストの増加、装置としての放熱設計の困難さ、さらにはＦＰＧＡ／ＡＳＩＣそのもののデバイス寿命の短縮にまでつながる課題を発生する。
【００２９】
そこで、ルータを形成するＦＰＧＡの消費電力を下げる方法がいくつか提案されている。
図３は、ＦＰＧＡの消費電力を下げる方法の例を説明する図である。
【００３０】
図３の（Ａ）は、２個のＦＰＧＡで形成される２個のサブルータ１０Ａおよび１０Ｂでルータ１０を形成し、主信号データ処理を複数のＦＰＧＡに分割して行うことにより消費電力を分散させる構成を示す。この構成により、１個のＦＰＧＡの消費電力を低減して温度上昇を抑えることができる。しかし、１００Ｇｂｐｓのシリアルデータを１９５ＭＨｚ×５１２ビットのパラレルデータに変換して処理を行い、その後再び１００Ｇｂｐｓのシリアルデータに変換して戻す処理を、２回行うことになる。そのため、ルータ１０全体の回路規模が大きくなり、高コストであると共に、全体としての消費電力が大きいという問題がある。
【００３１】
図３の（Ｂ）は、ルータ１０内で主信号データを処理する複数の処理のうち、処理実行の上で未使用となる処理部へのクロックをディセーブルにして回路を動作させないようにすることで消費電力を下げる場合の構成を示す。図３の（Ｂ）に示すように、クロック供給を制御するゲート１５をクロック源４からＡ処理部２５へのクロック供給経路に、ゲート１６をクロック源４からＢ処理部２６へのクロック供給経路に、それぞれ設ける。Ａ処理部２５が未使用の時にはゲート１５をディセーブルにし、Ｂ処理部２６が未使用の時にはゲート１５をディセーブルにする。これにより、無駄な回路動作を防止し低消費電力化が図れるが、未使用となる処理部が存在しない場合には、消費電力が増大して発熱量が増え、デバイスの温度上昇が大きくなる。そのため、設計はこのような最悪の場合を考慮して行う必要があり、上記の問題を解決できない。
【００３２】
以上、ルータにおける処理の概略を説明したが、多ビットのパラレルデータを順次処理する場合には、上記の問題が発生する。
以下に説明する実施形態では、処理部４０において順次伝送されるパラレルデータの変化点（データ０と１の交点）を少なくするようにエンコード/デコードすることで、主信号データのトグルレートを下げたルータが開示される。これにより、処理部４０における消費電力が低減され、回路規模の増大を抑制して消費電力を低減する。この技術は、多ビットのパラレルデータを順次処理する技術はルータに限定されず、他の多ビットのパラレルデータを順次処理する構成であれば適用可能である。
【００３３】
図４は、実施形態のルータの概略構成を示す図であり、（Ａ）は別デバイスとの接続を含めた構成を、（Ｂ）はルータの構成を示す。
【００３４】
図４の（Ａ）に示すように、ルータ３０は、通信経路４を介して別デバイス２に、および通信経路５を介して別デバイス３に接続される。これは図１の（Ａ）のルータ１０と同様であり、別デバイス、通信経路およびそれらとの接続形態についての説明は省略する。ルータ３０は、図１の（Ｂ）に示したようなパケットを取り扱う。これについての説明も省略する。
【００３５】
前述の通り、ルータ３０では、１００Ｇｂｐｓなどの高速で伝送された信号を３９０ＭＨｚ×２５６ビットのパラレルデータまたは１９５ＭＨｚ×５１２ビットのパラレルデータに変換した上で処理を行う。ここでは、１９５ＭＨｚ×５１２ビットのパラレルデータに変換し、さらに４ビットの変換単位でトグルレートを低減する変換処理を行うか行わないかの処理を行う場合を説明する。
【００３６】
図４の（Ａ）に示すように、ルータ３０は、トランシーバ３１、３２と、処理部４０と、エンコーダ／デコーダ(Enc./Dec)６１と、エンコーダ／デコーダ(Enc./Dec)６２と、を有する。トランシーバ３１、３２は、図１の（Ａ）で説明したものと同様に、通信経路４、５を介して別デバイス２、３に接続され、別デバイス２、３との間で、１００Ｇｂｐｓのレートでシリアル通信を行う。トランシーバ３１、３２は、別デバイスから受信した１００Ｇｂｐｓのシリアルデータを、例えば、１９５ＭＨｚ×５１２ビットのパラレルデータに変換してエンコーダ／デコーダ６１、６２に供給する。さらに、トランシーバ３１、３２は、エンコーダ／デコーダ６１、６２からの１９５ＭＨｚ×５１２ビットのパラレルデータを、１００Ｇｂｐｓのシリアルデータに変換して、別デバイスに送信する。なお、トランシーバ３１、３２のシリアル／パラレルおよびパラレル／シリアルの変換処理の一部をエンコーダ／デコーダ６１、６２で行うようにしてもよい。
【００３７】
エンコーダ／デコーダ６１、６２は、トランシーバ３１、３２からの１９５ＭＨｚ×５１２ビットのパラレルデータを受ける。そして、エンコーダ／デコーダ６１、６２は、変換テーブルに従い、トグルレートの高いデータについてはトグルレートの低いデータに変換し、トグルレートの低いデータについてはそのまま出力し、変換の有無を示す１ビットのビット列変換信号を付加する。ここでは、変換は、パラレルデータの各ビットでのシリアルデータについて４ビットの変換単位で行われ、次の４ビットのデータの先頭ビットを含めて、変換するか否かを決定する。したがって、ビット列変換信号は、変換した場合には変換あり（“１”）を、変換しなかった場合には変換無し（“０”）を示す。エンコーダ／デコーダ６１、６２は、ビット列変換信号を付加した１９５ＭＨｚ×６４０ビットのパラレルデータを処理部４０に供給する。変換テーブルについては後述する。
【００３８】
さらに、エンコーダ／デコーダ６１、６２は、処理部４０からのビット列変換信号が付加された１９５ＭＨｚ×６４０ビットのパラレルデータを受ける。そして、エンコーダ／デコーダ６１、６２は、逆変換テーブルに従い、ビット列変換信号が変換ありを示すデータについては元のデータに変換し、ビット列変換信号が変換無し示すデータについてはそのままとする。エンコーダ／デコーダ６１、６２は、ビット列変換信号が除かれた１９５ＭＨｚ×５１２ビットのパラレルデータをトランシーバ３１、３２に出力する。
【００３９】
なお、図４の（Ａ）では、トランシーバ３１、３２およびエンコーダ／デコーダ６１、６２は、データが双方向に伝送（移動）するように示しているが、実際にはそれぞれ異なる一方向の処理を行う回路を組み合わせた回路で実現される。
【００４０】
前述のように、処理部４０が行う処理は、スイッチング処理、課金処理およびシェーパー処理など各種あり、それらの処理についての説明は省略する。
【００４１】
処理部４０は、クロックに応じて保持しているパラレルデータを順次シフトする複数のバッファ４１−４６と、３つの処理部（Ａ処理部、Ｂ処理部、Ｃ処理部）４７−４９と、変換テーブル／レジスタ５０と、を有する。Ａ処理部４７、Ｂ処理部４８、Ｃ処理部４９は、例えば、上記のスイッチング処理、課金処理およびシェーパー処理を行うが、それに限定されず、他の処理を行ってもよく、処理の数が４以上でもよい。
【００４２】
前述のように、フリップフロップなどからなるバッファ４１−４６は、各処理部がパラレルデータに対して処理を行えるように、クロックに応じてパラレルデータを順次シフト（伝送）し、クロック周期の間保持する。バッファの説明は省略するが、Ａ処理部４７、Ｂ処理部４８およびＣ処理部４９がそれぞれパケットのヘッダのデータのみを取り扱う場合でも、バッファ４１−４６は、ペイロードのデータを含めてシフトおよび保持を行う。そのため、バッファ４１−４６に含まれる多数のフリップフロップ（ＦＦ）の消費電力は大きい。
【００４３】
実施形態の処理部４０には、エンコーダ／デコーダ６１または６２で変換されたパラレルデータが供給される。この変換されたパラレルデータは、トグルレートの高いものはトグルレートの低いデータに変換されているため、全体として、変換しない場合に比べてトグルレートが低い。前述のように、ＦＦの電力消費は主として保持するデータ値が変化する時に発生し、バッファ４１−４６における消費電力はトグルレートに応じて変化するため、実施形態では、処理部４０のバッファ４１−４６における消費電力が低減される。
【００４４】
エンコーダ／デコーダ６１、６２における変換処理については後述するが、バッファ４１−４６は、データをそのままシフトして保持するだけなので、変換されたデータであってもそのまま取り扱うことができる。
【００４５】
一方、Ａ処理部４７、Ｂ処理部４８およびＣ処理部４９は、変換されたデータに対して論理演算を行うため、変換テーブル／レジスタ５０に保持された変換情報を利用して処理を行う。例えば、スイッチング処理や課金処理では、パケットのアドレスがレジスタに記憶された対象アドレスに一致するかを検出して、取り込むパケットであるかを判定する。対象アドレスは、変換テーブル／レジスタ５０に保持しておいて一致検出に使用する。変換有りのビット列変換信号が付されているデータ（アドレス）が伝送されてきた場合には、そのデータを逆変換した後、変換テーブル／レジスタ５０に保持された対象アドレスとの一致を検出する。なお、アドレスが１変換単位または数個の変換単位に含まれるのであれば、変換有りと無しの２つの対象アドレスを用意しておいて一致を検出してもよい。
【００４６】
なお、Ａ処理部４７、Ｂ処理部４８およびＣ処理部４９の何れかにおける処理の結果、ヘッダのデータ（例えばアドレス）を書き換える場合には、変換無しで所望のデータに書き換えてビット列変換信号を変換無しに設定することが望ましい。書き換えるデータはパケット量に対して小さな割合であり、たとえ書き換えるデータのトグルレートが高くても、消費電力の増加は無視できる。しかし、書き換えるデータのトグルレートを小さくするように、変換無しで所望のデータになる書き換えデータと、変換（デコード）した後に所望のデータになる書き換えデータのいずれを選択し、ビット列変換信号を付加してもよい。
【００４７】
図５は、トランシーバ３１とエンコーダ／デコーダ６１の部分の構成を示す図であり、（Ａ）がトランシーバの受信部(XCVR(R))３５およびエンコーダ６５の部分を、（Ｂ）がデコーダ６６およびトランシーバの送信部(XCVR(T))３６の部分を、示す。トランシーバ３１は受信部(XCVR(R))３５および送信部(XCVR(T))３６を有し、エンコーダ／デコーダ６１はエンコーダ６５およびデコーダ６６を有し、信号の伝送方向に応じて使用する系を切り換える。トランシーバ３２およびエンコーダ／デコーダ６２も同様の構成を有する。
【００４８】
トランシーバの受信部(XCVR(R))３５は、１００Ｇｂｐｓ（１０Ｇｂｐｓ×１０）シリアルデータを受信し、７８１．２５ＭＨｚ×１２８パラレルデータに変換してエンコーダ６５に出力する。エンコーダ６５は、７８１．２５ＭＨｚ×１２８パラレルデータを１９５．３１２５ＭＨｚ×６４０パラレルデータに変換して、すなわち４ビットから５ビットへの変換を行う。１９５．３１２５ＭＨｚ×６４０パラレルデータのうち、１９５．３１２５ＭＨｚ×１２８パラレルデータがビット列変換信号であり、残りの１９５．３１２５ＭＨｚ×５１２パラレルデータが、変換しないデータまたは変換したデータである。したがって、エンコーダ６５は、４ビットから５ビットへの変換を行うと同時に、パラレルデータのビット数を４倍に増加させるマルチプレクサとしても機能する。
【００４９】
デコーダ６６は、１９５．３１２５ＭＨｚ×６４０パラレルデータを７８１．２５ＭＨｚ×１２８パラレルデータに変換して、すなわち５ビットから４ビットへの変換を行う。トランシーバの送信部(XCVR(T))３６は、７８１．２５ＭＨｚ×１２８パラレルデータを１００Ｇｂｐｓ（１０Ｇｂｐｓ×１０）シリアルデータを変換して出力する。上記と同様に、１９５．３１２５ＭＨｚ×６４０パラレルデータのうち、１９５．３１２５ＭＨｚ×１２８パラレルデータがビット列変換信号であり、残りの１９５．３１２５ＭＨｚ×５１２パラレルデータが、変換しないデータまたは変換したデータである。したがって、デコーダ６６は、５ビットから４ビットへの変換を行うと同時に、パラレルデータのビット数を１／４に減少させるデマルチプレクサとしても機能する。
【００５０】
図６は、エンコーダ６５の具体的な構成を示す図である。
エンコーダ６５は、７８１．２５ＭＨｚ×１２８パラレルデータのうちの１ビットのデータを、１９５．３１２５ＭＨｚ×５のパラレルデータに変換する変換回路７１を、１２８個分有する。図６では、１２７個分の変換回路７１をまとめて参照番号７０で示している。
【００５１】
変換回路７１は、４ビットシフトレジスタ７２と、４個の５ビットシフトレジスタ７３Ａ−７３Ｄと、４個のビット列判定テーブル（変換テーブル）７４Ａ−７４Ｄと、４個のビット列変換回路７５Ａ−７５Ｄと、パラレル−シリアル変換回路７６と、を有する。４ビットシフトレジスタ７２は、７８１．２５ＭＨｚでシフト動作を行い、４回シフトすると、保持したデータを４個の５ビットシフトレジスタ７３Ａ−７３Ｄに出力する。従って、５ビットシフトレジスタ７３Ａ−７３Ｄのデータの出力は、１９５．３１２５ＭＨｚで行われる。５ビットシフトレジスタ７３Ａ−７３Ｄは、１９５．３１２５ＭＨｚでシフト動作を行い、４回シフトすると、上位４ビットをビット列変換回路７５Ａ−７５Ｄに、５ビットをビット列判定テーブル７４Ａ−７４Ｄに出力する。５ビットシフトレジスタ７３Ａ−７３Ｄは、出力を行った時点では、５ビット目（ビット４）に次の４ビットデータの先頭ビットを保持しており、４回シフトするとビット０−３に４ビットデータを保持し、ビット４に次の４ビットデータの先頭ビットを保持する。
【００５２】
ビット（ｂｉｔ）列判定テーブル７４Ａ−７４Ｄは、後述する変換テーブルを参照して、５ビットシフトレジスタ７３Ａ−７３Ｄからの５ビットデータに基づいて、５ビットシフトレジスタ７３Ａ−７３Ｄからの４ビットデータを変換するか否かを判定する。さらに、ビット列判定テーブル７４Ａ−７４Ｄは、変換するか否かを、ビット列変換信号として出力する。ここでは、変換する場合を“１”で、変換しない場合を“０”で表す。
【００５３】
ビット（ｂｉｔ）列変換回路７５Ａ−７５Ｄは、ビット列判定テーブル７４Ａ−７４Ｄが変換しないと判定した場合には、５ビットシフトレジスタ７３Ａ−７３Ｄからの上位４ビットをそのまま出力する。ビット列変換回路７５Ａ−７５Ｄは、ビット列判定テーブル７４Ａ−７４Ｄが変換すると判定した場合には、５ビットシフトレジスタ７３Ａ−７３Ｄからの上位４ビットを、変換テーブルにしたがって変換する。
【００５４】
パラレル−シリアル変換回路７６は、ビット列判定テーブル７４Ａ−７４Ｄからの１×４ビットのデータと、ビット列変換回路７５Ａ−７５Ｄからの４×４ビットのデータを、１９５．３１２５ＭＨｚ×５ビットのパラレルデータに変換する。
【００５５】
例えば、７８１．２５ＭＨｚ×１２８パラレルデータのうちの１ビットのデータとして、Ａ０，Ｂ０，Ｃ０，Ｄ０，Ａ１，…，Ａ３，Ｂ３，Ｃ３，Ｄ３，Ａ４，Ｂ４，Ｃ４，Ｄ４，…が、変換回路７１に入力される場合を考える。４ビットシフトレジスタ７２には、４ビットごとに、Ａ０，Ｂ０，Ｃ０，Ｄ０が保持され、次にＡ１，Ｂ１，Ｃ１，Ｄ１が保持される。５ビットシフトレジスタ７３Ａには、Ａ０，Ａ１，Ａ２，Ａ３，Ａ４が保持される。他の５ビットシフトレジスタ７３Ｂ−７３Ｄも同様である。ビット列判定テーブル７４Ａは、Ａ０，Ａ１，Ａ２，Ａ３，Ａ４の組について、変換テーブルを参照して、変換するか否かを判定する。他のビット列判定テーブル７４Ｂ−７４Ｄも同様であり、Ｂ０，Ｂ１，Ｂ２，Ｂ３，Ｂ４の組、Ｃ０，Ｃ１，Ｃ２，Ｃ３，Ｃ４の組、およびＤ０，Ｄ１，Ｄ２，Ｄ３，Ｄ４の組について、変換するか否かを判定する。
【００５６】
ビット列変換回路７５Ａは、ビット列判定テーブル７４Ａが変換しないと判定した時には、Ａ０，Ａ１，Ａ２，Ａ３をそのまま出力し、ビット列判定テーブル７４Ａが変換すると判定した時には、変換テーブルにしたがってａ０，ａ１，ａ２，ａ３に変換する。他のビット列変換回路６５Ｂ−７５Ｄも同様であり、対応するビット列判定テーブルの判定結果に応じて変換するか、変換せずにそのまま出力する。ここでは、ビット列変換回路７５Ａがａ０，ａ１，ａ２，ａ３に変換し、ビット列変換回路７５Ｄがｄ０，ｄ１，ｄ２，ｄ３に変換する場合を説明する。したがって、ビット列変換回路７５Ｂおよび７５Ｃは、Ｂ０，Ｂ１，Ｂ２，Ｂ３およびＣ０，Ｃ１，Ｃ２，Ｃ３をそのまま出力する。
【００５７】
パラレル−シリアル変換回路７６が出力する５ビット列のうち、１つはａ０，ａ１，ａ２，ａ３であり、１つはＢ０，Ｂ１，Ｂ２，Ｂ３であり、１つはＣ０，Ｃ１，Ｃ２，Ｃ３であり、１つはｄ０，ｄ１，ｄ２，ｄ３である。さらに、５番目のビット列は、ビット列判定テーブル７４Ａ−７４Ｄのビット列変換信号であり、ここでは“１”、“０”、“０”、“１”である。
【００５８】
パラレル−シリアル変換回路７６が出力する５ビット列のうち４列は、トグルレートが小さくなるように変換されている。
以上のようにして、エンコーダ６５からは、１９５．３１２５ＭＨｚ×５のパラレルデータが出力される。上記のように、トグルレートが小さくなるように変換されているため、バッファ４１−４６を順にシフトしながら伝送される時の消費電力が低減される。
【００５９】
図７は、デコーダ６６の具体的な構成を示す図である。
デコーダ６６は、１９５．３１２５ＭＨｚ×５のパラレルデータを、７８１．２５ＭＨｚ×１のデータに変換する逆変換回路８５を、１２８個有する。図７では、１個の逆変換回路８５のみを示している。
【００６０】
逆変換回路８１は、５個の４ビットシフトレジスタ８３Ｘ、８３Ａ−８３Ｄと、４個のビット列逆判定テーブル（逆変換テーブル）８４Ａ−８４Ｄと、４個のビット列逆変換回路８５Ａ−８５Ｄと、パラレル−シリアル逆変換回路８６と、を有する。４ビットシフトレジスタ８３Ｘは、１９５．３１２５ＭＨｚ×５のパラレルデータのうちのビット列変換信号を受け、１９５．３１２５ＭＨｚでシフト動作を行い、４回シフトすると、保持したデータをビット列逆判定テーブル（逆変換テーブル）８４Ａ−８４Ｄに出力する。４ビットシフトレジスタ８３Ａ−８３Ｄは、１９５．３１２５ＭＨｚ×５のパラレルデータのうちの残りの４ビットを受け、１９５．３１２５ＭＨｚでシフト動作を行い、４回シフトすると、保持したデータをビット列逆変換回路８５Ａ−８５Ｄに出力する。
【００６１】
ビット列逆判定テーブル８４Ａ−８４Ｄは、逆変換テーブルを参照して、４ビットシフトレジスタ８３Ｘからのビット列変換信号に基づいて、４ビットシフトレジスタ８３Ａ−８３Ｄからの４ビットデータを逆変換するか否かを判定する。ビット列逆変換回路８５Ａ−８５Ｄは、ビット列逆判定テーブル８４Ａ−８４Ｄが変換しないと判定した場合には、４ビットシフトレジスタ８３Ａ−８３Ｄからの４ビットデータをそのまま出力する。ビット列逆変換回路８５Ａ−８５Ｄは、ビット列逆判定テーブル８４Ａ−８４Ｄが変換すると判定した場合には、４ビットシフトレジスタ８３Ａ−８３Ｄからの４ビットデータを、逆変換テーブルにしたがって変換する。
【００６２】
パラレル−シリアル逆変換回路８６は、ビット列逆変換回路８５Ａ−８５Ｄからの４×４ビットのデータを、７８１．２５ＭＨｚ×１ビットのデータに変換する。したがって、逆変換回路８１からは、７８１．２５ＭＨｚ×１２８ビットのパラレルデータが出力される。
【００６３】
次に、変換テーブルおよび逆変換テーブルについて説明する。
図８は、実施形態における４ビット単位で変換を行うか否かを判定する場合の変換テーブルおよび逆変換テーブルを説明する図である。
【００６４】
図８において、左側のテーブルが変換前すなわちエンコード前のデータを示し、右側のテーブルが変換後すなわちエンコード後のデータを示す。デコードの場合には、右側のテーブルのデータが左側のテーブルのデータに変換される。
【００６５】
変換は４ビット単位で行われるが、変換するか否かは、次の４ビットの先頭ビットの値を考慮して決定する。
実施形態における変換は、変換単位の４ビットと次の先頭ビットも含めた５ビットの値のパターンで、トグルレートの高い側の、全パターン数の１／２より少ないパターンについて、トグルレートの低い変換パターンに変換する。そして、変換パターンであるか否かを示す１ビットのビット列変換信号を付加する。
【００６６】
図８の左側のテーブルで、５ビットシフトレジスタの０−４は、図６の５ビットシフトレジスタ７３Ａ−７３Ｄの１ビット目（ビット０）から５ビット目（ビット４）に保持される値である。５ビットであるから、３２パターンが存在し、各パターンの変化点の回数（トグル回数）は、右端の値となり、最大４、最小０である。３２パターンのうち、変化点回数が３〜４回であるトグルレートの高い１０パターンについては、エンコードにより右側のビット値のパターンに変換し、ビット列変換信号を“１”にする。残りの２２パターンについては、トグルレートが低いので変換せずにそのままとし、ビット列変換信号を“０”にする。変換したパターンのビット値列と、変換していないパターンのビット値列とが同じになるものが存在するが、ビット列変換信号により区別できる。
【００６７】
逆変換（デコード）時には、右側のテーブルでビット列変換信号が変換有りを示す“１”であるパターンについては右側のパターンになるように変換し、“０”であるパターンについては、そのままにする。
【００６８】
シフトレジスタに入ってくる５ビット列では、データの変化点の最大値は４となる。この最大値の時がトグルレート５０％になる。これをビット列変換でエンコードすることによりデータの変化点の最大値は２となる。つまりトグルレート２５％が最大となり、主信号データのトグルレートを５０％から２５％に下げ、パターンの平準化を行ったことになり、ＦＰＧＡ／ＡＳＩＣによるルータのダイナミック消費電力を下げることを可能とする。
【００６９】
図９は、ある入力ビット列を４ビットパラレルデータに変換して伝送する場合の、図１の一般的な構成のルータおよび実施形態のルータおけるトグル動作を示す図であり、（Ａ）が図１のルータの場合を、（Ｂ）が実施形態のルータの場合を示す。
【００７０】
このビット列は、４ビットパラレルデータに変換した時に、ビット０−ビット３のトグルレートが、５０％、５０％、２５％以下、２５％以下になるデータ列である。図１のルータの場合は、このトグルレートのまま伝送される。
【００７１】
これに対して、実施形態では、変換前は図１のルータの場合と同じトグルレートであるが、５０％のトグルレートのビット０および１が、２５％以下のトグルレートになるように変換される。ビット２および３は、もともと２５％以下のトグルレートであるから変換されない。言い換えれば、ビット０および１の変化点回数が減少し、主信号データのパターンが平準化される。さらに、ビット列変換信号の変化が合わせて示される。
【００７２】
なお、図８のテーブルは一例であり、トグルレートが低くなるのであればどのようなパターンでもよいが、ビット列変換信号が“１”であり且つビット列のパターンが同じであるパターンが存在してはならない。言い換えれば、変換できるのは、５ビットに対応して存在する３２パターンの１／２より少ない数である。例えば、図８では、変換しないパターンが２２パターン存在するが、そのうち変化点回数が２であるパターンのいくつかを、変化点回数が０または１であるパターンに変換してもよい。
【００７３】
また、ビット列判定テーブル（変換テーブル）７４Ａ−７４Ｄおよびビット列逆判定テーブル（逆変換テーブル）８４Ａ−８４Ｄは、図８の３２パターンをすべて記憶する必要はなく、変換および逆変換する１０パターンのみを記憶すればよい。これにより、ビット列判定テーブル（変換テーブル）７４Ａ−７４Ｄおよびビット列逆判定テーブル（逆変換テーブル）８４Ａ−８４Ｄのデータ容量を低減できる。
【００７４】
上記の実施形態では、４ビットを変換単位として、次のデータの先頭ビットまで考慮して、ビット列判定テーブル（変換テーブル）７４Ａ−７４Ｄおよびビット列逆判定テーブル（逆変換テーブル）８４Ａ−８４Ｄを設定した。しかし、８ビット、１６ビット等任意のビットを変換単位として変換を行うことができる。いずれの場合も、変換単位のビット数に次のデータの先頭ビットまで考慮してすべてのパターンを求め、トグルレートの高い側の半数より少ないパターンについて、変換パターンを設定し、ビット列変換信号を“１”にする。
【００７５】
図１０から図２２は、８ビットを変換単位として、次のデータの先頭ビットまで考慮して設定したビット列判定テーブル（変換テーブル）およびビット列逆判定テーブル（逆変換テーブル）の例を示す図である。この例では、変換点数が５〜８のパターンについて変換を行い、変換点数が０〜４のパターンについては変換しない。この場合も、ビット列判定テーブル（変換テーブル）７４Ａ−７４Ｄおよびビット列逆判定テーブル（逆変換テーブル）８４Ａ−８４Ｄは、すべてのパターンを記憶する必要はなく、変換および逆変換する１９６パターンのみを記憶すればよい。これ以上の説明は省略する。
【００７６】
以上説明した実施形態の技術を適用して５０％のトグルレートを２５％以下に平準化した方が、消費電力が下がる。
【００７７】
以上説明したように、実施形態によれば、ＦＰＧＡ／ＡＳＩＣ内部において、データの変化点（データ０と１の交点）を少なくするエンコーダ/デコーダを追加して処理する。これにより、主信号データのトグルレートを下げ、データの変化パターンを平準化することで、ＦＰＧＡ／ＡＳＩＣデバイスのダイナミック消費電力を低くすることを可能とする。
【００７８】
また、消費電力を低くすることで発熱量も減るため、放熱効果を高めるための放熱フィンや放熱パイプや放熱ファンなどを安価なものに変更することが可能となり、装置としての熱引き設計の容易になるため、コスト的に有益となる。
【００７９】
以上、ルータを例として説明したが、実施形態は、ルータに限定されず、多ビットのパラレルデータをシフトレジスタ等で保持しながら順次処理する場合に適用できる。
【００８０】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００８１】
２、３    別デバイス
４、５    通信経路
３０    ルータ
３１、３２    トランシーバ
４０    処理部
４１−４６    バッファ
４７−４９    処理部
５０    変換テーブル／レジスタ
６１、６２    エンコーダ／デコーダ(Enc./Dec.)
【図１】
2015220576.tif 000003
【図２】
2015220576.tif 000004
【図３】
2015220576.tif 000005
【図４】
2015220576.tif 000006
【図５】
2015220576.tif 000007
【図６】
2015220576.tif 000008
【図７】
2015220576.tif 000009
【図８】
2015220576.tif 000010
【図９】
2015220576.tif 000011
【図１０】
2015220576.tif 000012
【図１１】
2015220576.tif 000013
【図１２】
2015220576.tif 000014
【図１３】
2015220576.tif 000015
【図１４】
2015220576.tif 000016
【図１５】
2015220576.tif 000017
【図１６】
2015220576.tif 000018
【図１７】
2015220576.tif 000019
【図１８】
2015220576.tif 000020
【図１９】
2015220576.tif 000021
【図２０】
2015220576.tif 000022
【図２１】
2015220576.tif 000023
【図２２】
2015220576.tif 000024