(57)【要約】【課題】エラスティックバッファを有するシステムに関し、複数の信号経路間に生じるスキュを解消する。【解決手段】  ＩＣ１からＩＣ２へ、複数のデータ伝送路０，１，２，３を経由して、データがシリアル転送される。複数のデータ伝送路０，１，２，３に対応する複数の信号経路には、それぞれ、エラスティックバッファ１３−０，１３−１，１３−２，１３−３が接続される。スキュ調整回路２０は、エラスティックバッファ１３−０，１３−１，１３−２，１３−３における同期化処理により複数の信号経路間に生じたデータ列のスキュを解消する。スキュの解消は、バッファステータス、及び、エラスティックバッファ１３−０，１３−１，１３−２，１３−３での処理内容を表す制御信号ＣＮＴ０〜３に基づき実行する。【選択図】      図１
2005159578.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ伝送路を持つシリアル通信システムに用いられる半導体集積回路において、ロジック回路と、前記複数のデータ伝送路に対応して設けられ、前記ロジック回路にデータを転送するための複数の信号経路と、１つの信号経路に１つ設けられ、信号経路ごとに同期化を図る複数のエラスティックバッファと、前記複数の信号経路間に生じるデータ列のスキュを解消するスキュ調整回路とを具備することを特徴とする半導体集積回路。
【請求項２】
前記スキュ調整回路は、前記複数の信号経路に対応して設けられる複数のスキュ調整バッファから構成され、前記複数のスキュ調整バッファは、信号経路ごとにエクストラシンボルの削除／補完という処理を行うことを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記複数のエラスティックバッファの各々は、自らが行った処理の内容を表す制御信号を出力し、前記制御信号は、前記複数のスキュ調整バッファの各々に入力されることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記複数のスキュ調整バッファの各々は、前記ライトアドレスと前記リードアドレスとの位置関係を表すバッファステータスを有し、前記制御信号及び前記バッファステータスに基づいて、自らが行う処理の内容を決定することを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
複数のデータ伝送路によるシリアル通信方式により互いに接続される第１のＩＣと第２のＩＣとを具備し、前記第２のＩＣは、
ロジック回路と、
前記複数のデータ伝送路に対応して設けられ、前記ロジック回路にデータを転送するための複数の信号経路と、
１つの信号経路に１つ設けられ、信号経路ごとに同期化を図る複数のエラスティックバッファと、
前記複数の信号経路間に生じるデータ列のスキュを解消するスキュ調整回路とを有する
ことを特徴とするシリアル通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータ伝送路を持つシリアルデータ通信方式に関し、特に、エラスティックバッファ（Elastic Buffer）を有する半導体集積回路に使用される。
【背景技術】
【０００２】
従来、エラスティックバッファによる同期化は、シリアルデータ通信の分野で広く採用されている。このエラスティックバッファを用いた通信方式によれば、データ送信側のクロック信号とデータ受信側のクロック信号とのタイミングのずれを、エクストラシンボル（Extra symbol）と呼ばれるデータの削除又は補完によって調整することができる。
【０００３】
以下、エラスティックバッファを用いた通信システムについて説明する。
【０００４】
図３０は、エラスティックバッファを用いた通信システムの例を示している。
【０００５】
データ送信側半導体集積回路ＩＣ１は、出力制御回路１１と、クロック信号ＣＬＫ１を発生するＰＬＬ回路１５とを有する。出力制御回路１１は、例えば、データ送信のためのアナログ回路（パラレル・シリアル変換回路など）を有する。データＤＡＴＡ・Ｘは、このアナログ回路によりデータ伝送路に出力され、データ受信側半導体集積回路ＩＣ２に供給される。
【０００６】
データ受信側半導体集積回路ＩＣ２は、復元回路１２と、エラスティックバッファ（ＥＢ）１３と、ロジック回路１４と、ＰＬＬ回路１６とを有する。復元回路１２は、データ受信のためのアナログ回路（シリアル・パラレル変換回路など）を有する。また、復元回路１２は、クロック信号ＣＬＫ２を復元する。
【０００７】
なお、クロック信号ＣＬＫ２としては、例えば、半導体集積回路ＩＣ１から送られてきたものをそのまま使用してもよい。
【０００８】
エラスティックバッファ１３には、復元されたデータＤＡＴＡ・Ｘ及びクロック信号ＣＬＫ２、並びに、ＰＬＬ回路１６により生成されたクロック信号ＣＬＫ３がそれぞれ入力される。エラスティックバッファ１３は、例えば、図３１に示すように、ライトコントロール回路１７、バッファメモリ１８及びリードコントロール回路１９から構成される。
【０００９】
ライトコントロール回路１７は、クロック信号ＣＬＫ２に同期して、データＤＡＴＡ・Ｘを、順次、バッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７に書き込む。リードコントロール回路１９は、クロック信号ＣＬＫ３に同期して、バッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７から、順次、データＤＡＴＡ・Ｙを読み出す。
【００１０】
ここで、エラスティックバッファ１３は、クロック信号ＣＬＫ２とクロック信号ＣＬＫ３との間に生じるずれを解消するために、エクストラシンボルの削除又は補完という手段により同期化を図る。
【００１１】
エラスティックバッファ１３から出力されるデータＤＡＴＡ・Ｙは、ロジック回路１４に供給される。
【００１２】
図３２乃至図３４は、エラスティックバッファにおける同期化の例を示している。
【００１３】
同期化を行う時期は、データ送信側半導体集積回路（図３０の「ＩＣ１」）により決定される。即ち、データ送信側半導体集積回路は、送信データＤＡＴＡ・Ｘの一部に、同期化のためのエクストラシンボル「Ｓｙｍｂｏｌ」を含める。
【００１４】
そして、データ受信側半導体集積回路（図３０の「ＩＣ２」）内のエラスティックバッファ１３は、エクストラシンボル「Ｓｙｍｂｏｌ」に基づいて、以下に示すような処理を行う。
【００１５】
(1)   クロック信号ＣＬＫ２とクロック信号ＣＬＫ３との間のずれが一定範囲内である場合には、図３２に示すように、エクストラシンボル「Ｓｙｍｂｏｌ」をそのまま転送する。
【００１６】
(2)   クロック信号ＣＬＫ２の周波数がクロック信号ＣＬＫ３の周波数よりも高いときは、バッファメモリに対する書き込み速度が読み出し速度よりも速くなる。そこで、両クロック信号ＣＬＫ２，ＣＬＫ３のずれが一定範囲よりも大きくなったときには、図３３に示すように、エクストラシンボル「Ｓｙｍｂｏｌ」の削除を行う。
【００１７】
(3)   クロック信号ＣＬＫ２の周波数がクロック信号ＣＬＫ３の周波数よりも低いときは、バッファメモリに対する書き込み速度が読み出し速度よりも遅くなる。そこで、両クロック信号ＣＬＫ２，ＣＬＫ３のずれが一定範囲よりも大きくなったときには、図３４に示すように、エクストラシンボル「ＥＸＴ」の補完を行う。
【特許文献１】特開２００１−１２７６７１
【発明の開示】
【発明が解決しようとする課題】
【００１８】
単一伝送路によるシリアルデータ通信方式においては、上述のようなエラスティックバッファを用いた通信方式は、データ送信側クロック信号とデータ受信側クロック信号との同期化を図るに当たって、非常に有効な技術である。
【００１９】
しかし、このようなエラスティック技術は、複数伝送路を有するシリアルデータ通信方式に対しては、必ずしも有効なものとは言えない。
【００２０】
図３５は、エラスティックバッファを用いた複数伝送路によるシリアルデータ通信方式の例を示している。
【００２１】
４つのデータ伝送路０，１，２，３を持つシステムについて説明する。
【００２２】
データ送信側半導体集積回路ＩＣ１は、データ伝送路０，１，２，３に対応して、出力制御回路（パラレル・シリアル変換回路などのアナログ回路を含む）１１−０，１１−１，１１−２，１１−３を有する。ＰＬＬ回路１５により発生したクロック信号ＣＬＫ１は、出力制御回路１１−０，１１−１，１１−２，１１−３に供給される。
【００２３】
データ送信側半導体集積回路ＩＣ１は、例えば、３２ビットデータを送信する場合、この３２ビット送信データを、４つの８ビットデータに分割する。８ビットデータは、それぞれ、出力制御回路１１−０，１１−１，１１−２，１１−３により、データ伝送路０，１，２，３にシリアル出力される。
【００２４】
データ受信側半導体集積回路ＩＣ２は、データ伝送路０，１，２，３に対応して、復元回路（シリアル・パラレル変換回路などのアナログ回路を含む）１２−０，１２−１，１２−２，１２−３を有する。復元回路１２−０，１２−１，１２−２，１２−３は、シリアル転送されてきたデータをパラレルデータに変換し、かつ、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３を復元する。
【００２５】
ここで、復元されたクロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の周波数は、復元時の諸条件などにより、互いにばらつきを有する場合があると共に、クロック信号ＣＬＫ３の周波数に対しても完全に一致するとは限らない。
【００２６】
そこで、エラスティックバッファ１３−０，１３−１，１３−２，１３−３を用いて、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３とクロック信号ＣＬＫ３との同期化を図る。
【００２７】
具体的には、データ伝送路０に対応するエラスティックバッファ１３−０は、クロック信号ＣＬＫ２−０とクロック信号ＣＬＫ３との同期化を図るために、個別に、「エクストラシンボルの削除／補完」を行う。
【００２８】
同様に、データ伝送路１，２，３に対応するエラスティックバッファ１３−１，１３−２，１３−３においても、それぞれ、クロック信号ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３とクロック信号ＣＬＫ３との同期化を図るために、個別に、「エクストラシンボルの削除／補完」を行う。
【００２９】
ここで、データ伝送路０，１，２，３に対応する信号経路の各々についてみると、エラスティックバッファ１３−０，１３−１，１３−２，１３−３により同期化が図られている。しかし、上述したように、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の周波数には、ばらつきがある。
【００３０】
このため、データ伝送路０，１，２，３に対応する信号経路間についてみると、これら信号経路において、エラスティックバッファ１３−０，１３−１，１３−２，１３−３による「エクストラシンボルの削除／補完」が同時に行われるとは限らない。
【００３１】
従って、複数伝送路によるシリアル通信方式では、各々の信号経路に関しては、エラスティックバッファ１３−０，１３−１，１３−２，１３−３により、個別に、同期化を図ることができるが、信号経路間に関しては、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の周波数のばらつきや、エラスティックバッファ１３−０，１３−１，１３−２，１３−３における処理などに起因して、データ列に大きなスキュが発生する場合がある。
【００３２】
図３６は、エラスティックバッファでエクストラシンボルの削除が行われた場合の様子を示している。
【００３３】
データ伝送路０，２に対応するエラスティックバッファ１３−０，１３−２においては、それぞれ、クロック信号ＣＬＫ２−０，ＣＬＫ２−２とクロック信号ＣＬＫ３との同期化を図るため、個別に、エクストラシンボル「Ｓｙｍｂｏｌ」の削除が行われる。
【００３４】
しかし、この場合、エラスティックバッファ１３−０，１３−２においては、エクストラシンボル「Ｓｙｍｂｏｌ」の削除が行われているが、データ伝送路１，３に対応するエラスティックバッファ１３−１，１３−３においては、エクストラシンボル「Ｓｙｍｂｏｌ」の削除が行われていない。
【００３５】
従って、エラスティックバッファ１３−０，１３−２においてエクストラシンボルの削除が行われた以降は、データＤＡＴＡ・Ｙ０，ＤＡＴＡ・Ｙ２の出力タイミングとデータＤＡＴＡ・Ｙ１，ＤＡＴＡ・Ｙ３の出力タイミングとが大きくずれることになる。
【００３６】
本発明は、このような事情に鑑みてなされたもので、その目的は、複数のデータ伝送路を持つシリアル通信方式において、複数のデータ伝送路に対応する複数の信号経路間に生じるデータ列のスキュを解消する新たな同期化技術を提案することにある。
【課題を解決するための手段】
【００３７】
本発明の例に関わる半導体集積回路は、複数のデータ伝送路を持つシリアル通信システムに適用されるものであり、ロジック回路と、複数のデータ伝送路に対応して設けられ、ロジック回路にデータを転送するための複数の信号経路と、１つの信号経路に１つ設けられ、信号経路ごとに同期化を図る複数のエラスティックバッファと、複数の信号経路間に生じるデータ列のスキュを解消するスキュ調整回路とを備える。
【００３８】
本発明の例に関わるシリアル通信システムは、複数のデータ伝送路によるシリアル通信方式により互いに接続される第１のＩＣと第２のＩＣとを備える。そして、第２のＩＣは、ロジック回路と、複数のデータ伝送路に対応して設けられ、ロジック回路にデータを転送するための複数の信号経路と、１つの信号経路に１つ設けられ、信号経路ごとに同期化を図る複数のエラスティックバッファと、複数の信号経路間に生じるデータ列のスキュを解消するスキュ調整回路とを有する。
【発明の効果】
【００３９】
本発明の例によれば、複数のデータ伝送路を持つシリアル通信方式において、複数のデータ伝送路に対応する複数の信号経路間に生じるデータ列のスキュを、信号経路ごとに新規に設けたスキュ調整回路により解消することができる。
【発明を実施するための最良の形態】
【００４０】
以下、図面を参照しながら、本発明を実施するための最良の形態について詳細に説明する。
【００４１】
図１は、本発明の例に関わる複数のデータ伝送路を持つ通信システムを示している。  
本例では、データ伝送路が４つの場合について説明する。
【００４２】
データ送信側半導体集積回路ＩＣ１は、出力制御回路１１−０，１１−１，１１−２，１１−３と、クロック信号ＣＬＫ１を発生するＰＬＬ回路１５とを有する。
【００４３】
出力制御回路１１−０，１１−１，１１−２，１１−３は、例えば、データ送信のためのアナログ回路（パラレル・シリアル変換回路など）を有する。
【００４４】
送信データは、例えば、４つ（ＤＡＴＡ・Ｘ０，ＤＡＴＡ・Ｘ１，ＤＡＴＡ・Ｘ２，ＤＡＴＡ・Ｘ３）に分割される。データＤＡＴＡ・Ｘ０，ＤＡＴＡ・Ｘ１，ＤＡＴＡ・Ｘ２，ＤＡＴＡ・Ｘ３は、それぞれ、クロックＣＬＫ１に同期して、出力制御回路１１−０，１１−１，１１−２，１１−３からデータ伝送路０，１，２，３にシリアル出力される。
【００４５】
データ受信側半導体集積回路ＩＣ２は、復元回路１２−０，１２−１，１２−２，１２−３と、エラスティックバッファ（ＥＢ）１３と、ロジック回路１４と、ＰＬＬ回路１６と、スキュ調整回路（Ｄｅ−ｓｋｅｗ回路）２０とを有する。
【００４６】
復元回路１２−０，１２−１，１２−２，１２−３は、データ受信のためのアナログ回路（シリアル・パラレル変換回路など）を有する。また、復元回路１２−０，１２−１，１２−２，１２−３は、それぞれ、シリアル転送されてきたデータをパラレルデータに変換すると共に、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３を復元する。
【００４７】
なお、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３としては、例えば、半導体集積回路ＩＣ１から送られてきたものをそのまま使用してもよい。
【００４８】
ここで、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の周波数は、例えば、アナログ回路による復元時の諸条件などにより、半導体集積回路ＩＣ２内のクロック信号ＣＬＫ３の周波数とは完全に一致していない。
【００４９】
つまり、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３とクロック信号ＣＬＫ３とは、完全に同期していない。
【００５０】
また、データ伝送路０，１，２，３に対応する半導体集積回路ＩＣ２内の信号経路間においては、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の周波数は、例えば、アナログ回路による復元時の諸条件などにより、互いに、完全に一致するとは限らない。
【００５１】
つまり、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の間には、周波数のばらつきが発生する可能性がある。
【００５２】
そこで、まず、エラスティックバッファ１３−０，１３−１，１３−２，１３−３により、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３とクロック信号ＣＬＫ３との同期化を図る。
【００５３】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３における同期化は、例えば、「エクストラシンボルの削除／補完」により実行する。但し、これは、一例であり、本発明の例においては、エラスティックバッファ１３−０，１３−１，１３−２，１３−３における同期化の方法については、限定されない。
【００５４】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３の構成は、それぞれ、例えば、図２に示すようになる。この例では、エラスティックバッファ１３−０，１３−１，１３−２，１３−３は、ライトコントロール回路１７Ａ、バッファメモリ１８Ａ及びリードコントロール回路１９Ａから構成される。
【００５５】
ライトコントロール回路１７Ａは、クロック信号ＣＬＫ３−ｉ（ｉ＝０，１，２，３）に同期して、データＤＡＴＡ・Ｘｉを、順次、バッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７に書き込む。
【００５６】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３については、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３とクロック信号ＣＬＫ３との同期化という目的が達成できれば、どのような構成のものを使用しても構わない。
【００５７】
但し、本発明の例では、エラスティックバッファ１３−０，１３−１，１３−２，１３−３は、それぞれ、少なくとも自らが行った処理の内容を示す制御信号ＣＮＴ０，ＣＮＴ１，ＣＮＴ２，ＣＮＴ３を出力する機能を有していなければならない。
【００５８】
ライトコントロール回路１７Ａは、例えば、図３に示すように、コントローラとライトポインタとから構成される。エラスティックバッファ１３−ｉが行った処理の内容を示す制御信号ＣＮＴｉは、例えば、ライトコントロール回路１７Ａ内のコントローラから出力される。
【００５９】
リードコントロール回路１９Ａは、クロック信号ＣＬＫ３に同期して、バッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７から、順次、データＤＡＴＡ・Ｙｉを読み出す。リードコントロール回路１９Ａは、例えば、図４に示すように、コントローラとリードポインタとから構成される。
【００６０】
次に、スキュ調整回路（Ｄｅ−ｓｋｅｗ回路）２０を用い、クロック信号ＣＬＫ２−０，ＣＬＫ２−１，ＣＬＫ２−２，ＣＬＫ２−３の周波数のばらつきに起因して、複数の信号経路間に生じるデータ列のスキュを解消する。
【００６１】
複数の信号経路間に生じるデータ列のばらつき（スキュ）は、例えば、１つの信号経路に１つだけ設けられるスキュ調整バッファ（Ｄｅ−ｓｋｅｗバッファ）２０−０，２０−１，２０−２，２０−３により解消する。
【００６２】
スキュ調整バッファ２０−０，２０−１，２０−２，２０−３の構成は、それぞれ、例えば、図５に示すようになる。この例では、スキュ調整バッファ２０−０，２０−１，２０−２，２０−３は、ライトコントロール回路１７Ｂ、バッファメモリ１８Ｂ及びリードコントロール回路１９Ｂから構成される。
【００６３】
ライトコントロール回路１７Ｂは、クロック信号ＣＬＫ３−ｉ（ｉ＝０，１，２，３）に同期して、データＤＡＴＡ・Ｙｉを、順次、バッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７に書き込む。
【００６４】
スキュ調整バッファ２０−０，２０−１，２０−２，２０−３についても、複数の信号経路間に生じるデータ列のスキュの解消という目的が達成できれば、どのような構成のものを使用しても構わない。
【００６５】
但し、本発明の例では、スキュ調整バッファ２０−０，２０−１，２０−２，２０−３は、エラスティックバッファ１３−０，１３−１，１３−２，１３−３が行った処理の内容を示す制御信号ＣＮＴ０，ＣＮＴ１，ＣＮＴ２，ＣＮＴ３に基づいて、自らが行う処理の内容を決定する。
【００６６】
ライトコントロール回路１７Ｂは、例えば、図６に示すように、コントローラとライトポインタとから構成される。エラスティックバッファ１３−ｉが行った処理の内容を示す制御信号ＣＮＴｉは、例えば、ライトコントロール回路１７Ｂ内のコントローラに入力される。
【００６７】
リードコントロール回路１９Ｂは、クロック信号ＣＬＫ３に同期して、バッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７から、順次、データＤＡＴＡ・Ｚｉを読み出す。リードコントロール回路１９Ａは、例えば、図７に示すように、コントローラとリードポインタとから構成される。
【００６８】
スキュ調整バッファ２０−ｉが行う処理は、以下の２つである。
【００６９】
(1)   エクストラシンボルの削除 (Removing Extra Symbol)
この処理は、エクストラシンボルを削除することにより、データ伝送路０，１，２，３に対応する複数の信号経路間に生じるデータ列のばらつき（スキュ）を解消する処理のことである。
【００７０】
エクストラシンボルの削除は、例えば、ライトポインタにより指定されるバッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７のインクリメントを、クロック信号ＣＬＫ３の１クロック分だけ止めることにより行うことができる。
【００７１】
この場合、バッファメモリの一アドレスにエクストラシンボルを書き込んだ後、その一アドレスと同一アドレスに次のデータが上書きされるため、リードポインタにより指定されるバッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７を、１つずつ、順次、インクリメントして読み出しを行うと、エクストラシンボルが削除される。
【００７２】
［エクストラシンボルの削除が行われる場合］  
Ａ：  一信号経路におけるエラスティックバッファ１３−ｉの処理が「エクストラシンボルの補完」である場合、スキュ調整バッファ２０−ｉにより、その一信号経路において「エクストラシンボルの削除」を行う。
【００７３】
Ｂ：  一信号経路におけるエラスティックバッファ１３−ｉで「エクストラシンボルの削除／補完」のいずれも行われず、かつ、その一信号経路以外の残り全ての信号経路のうちの少なくとも１つにおけるエラスティックバッファ１３−ｉの処理が「エクストラシンボルの削除」である場合、スキュ調整バッファ２０−ｉにより、その一信号経路において「エクストラシンボルの削除」を行う。
【００７４】
Ｃ：  Ａが適用される場合、エラスティックバッファ１３−ｉで「エクストラシンボルの削除／補完」のいずれも行われなかった信号経路については、スキュ調整バッファ２０−ｉで「エクストラシンボルの削除／補完」を行わない。また、Ｂが適用される場合、エラスティックバッファ１３−ｉで「エクストラシンボルの削除」が行われた信号経路については、スキュ調整バッファ２０−ｉで「エクストラシンボルの削除／補完」を行わない。
【００７５】
(2)   エクストラシンボルの補完 (Replicate Extra Symbol)
この処理は、エクストラシンボルを補完することにより、データ伝送路０，１，２，３に対応する複数の信号経路間に生じるデータ列のばらつき（スキュ）を解消する処理のことである。
【００７６】
エクストラシンボルの補完は、例えば、ライトポインタにより指定されるバッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７のインクリメントを、＋２（通常は、＋１）に設定することにより行える。
【００７７】
この場合、連続する２つのアドレスに、同時にエクストラシンボルが書き込まれるため、例えば、リードポインタにより指定されるバッファメモリのアドレスＡＤＤ０，ＡＤＤ２，・・・ＡＤＤ７を、１つずつ、順次、インクリメントして読み出しを行うと、エクストラシンボルが補完される。
【００７８】
［エクストラシンボルの補完が行われる場合］  
Ａ：  一信号経路におけるエラスティックバッファ１３−ｉで「エクストラシンボルの削除／補完」のいずれも行われず、かつ、その一信号経路以外の残り全ての信号経路のうちの少なくとも１つにおけるエラスティックバッファ１３−ｉの処理が「エクストラシンボルの補完」である場合、スキュ調整バッファ２０−ｉにより、その一信号経路において「エクストラシンボルの補完」を行う。
【００７９】
Ｂ：  一信号経路におけるエラスティックバッファ１３−ｉの処理が「エクストラシンボルの削除」である場合、スキュ調整バッファ２０−ｉにより、その一信号経路において「エクストラシンボルの補完」を行う。
【００８０】
Ｃ：  Ａが適用される場合、エラスティックバッファ１３−ｉで「エクストラシンボルの補完」として処理された信号経路については、スキュ調整バッファ２０−ｉで「エクストラシンボルの削除／補完」を行わない。Ｂが適用される場合、エラスティックバッファ１３−ｉで「エクストラシンボルの削除／補完」のいずれも行われなかった信号経路については、スキュ調整バッファ２０−ｉで「エクストラシンボルの削除／補完」を行わない。
【００８１】
なお、スキュ調整バッファ２０−ｉが行う処理の内容は、エラスティックバッファ１３−ｉが行う処理の内容に近似しているが、前者は、書き込みを制御するクロック信号と読み出しを制御するクロック信号とが同期している（ＣＬＫ３のみ）のに対し、後者は、それらクロック信号が非同期である（ＣＬＫ２−ｉとＣＬＫ３）点において相違している。
【００８２】
このようなスキュ調整回路を用いた処理によれば、複数のデータ伝送路を持つシリアル通信方式において、複数の信号経路間にデータ列のばらつき（スキュ）が生じたとしても、これを、スキュ調整回路により解消することができる。
【００８３】
図８は、複数の信号経路間でスキュが生じる第１例を示している。
【００８４】
データ伝送路０，２におけるエラスティックバッファ１３−０，１３−２においては、それぞれ、クロック信号ＣＬＫ２−０，ＣＬＫ２−２とクロック信号ＣＬＫ３とのスキュを解消するために、個別に、エクストラシンボルの削除が行われる。
【００８５】
従って、エラスティックバッファ１３−０，１３−２からは、エクストラシンボル「Ｓｙｍｂｏｌ」が削除されたデータＤＡＴＡ・Ｙ０，ＤＡＴＡ・Ｙ２が出力される。この時、エクストラシンボルの削除が行われたことを示す制御信号ＣＮＴ０，ＣＮＴ２も出力される。
【００８６】
また、データ伝送路１，３におけるエラスティックバッファ１３−１，１３−３においては、それぞれ、エクストラシンボルの削除／補完を行わずに、そのまま、データＤＡＴＡ・Ｘ１，ＤＡＴＡ・Ｘ３を、データＤＡＴＡ・Ｙ１，ＤＡＴＡ・Ｙ３として出力する。
【００８７】
その結果、エクストラシンボルの削除が行われた後においては、エラスティックバッファ１３−０，１３−１，１３−２，１３−３から出力されるデータ列のタイミングが互いにずれる。
【００８８】
図９は、図８のスキュを解消するスキュ調整回路の動作の第１例を示している。
【００８９】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３での処理は、図８に示すように、データ伝送路０，２に対応する信号経路では、「エクストラシンボルの削除」であり、データ伝送路１，３に対応する信号経路では、「エクストラシンボルの削除／補完」のいずれでもない。
【００９０】
そこで、上述の条件に基づいて、各スキュ調整バッファが行う処理を決定する。
【００９１】
まず、データ伝送路０，２におけるエラスティックバッファの処理は、「エクストラシンボルの削除」である。従って、上述の (2) Ｂ. の条件によれば、データ伝送路０，２では、スキュ調整回路２０により、「エクストラシンボルの補完 (Replicate Extra Symbol)」が行われる。
【００９２】
次に、データ伝送路１，３におけるエラスティックバッファの処理は、「エクストラシンボルの削除／補完」のいずれでもない。従って、上述の (2) Ｃ. の条件によれば、データ伝送路１，３では、スキュ調整回路２０による「エクストラシンボルの削除／補完」は、行われない。
【００９３】
スキュ調整回路２０により以上のような処理を行うと、エラスティックバッファでの同期化処理により生じた各信号経路間におけるデータ列のばらつき（スキュ）が解消される。つまり、図９に示すように、各スキュ調整バッファ２０−０，２０−１，２０−２，２０−３からは、同じタイミングで、データＤＡＴＡ・Ｚ０，ＤＡＴＡ・Ｚ１，ＤＡＴＡ・Ｚ２，ＤＡＴＡ・Ｚ３が出力される。
【００９４】
図１０は、図８のスキュを解消するスキュ調整回路の動作の第２例を示している。
【００９５】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３での処理は、図８に示すように、データ伝送路０，２に対応する信号経路では、「エクストラシンボルの削除」であり、データ伝送路１，３に対応する信号経路では、「エクストラシンボルの削除／補完」のいずれでもない。
【００９６】
そこで、上述の条件に基づいて、各スキュ調整バッファが行う処理を決定する。
【００９７】
まず、データ伝送路０，２におけるエラスティックバッファの処理は、「エクストラシンボルの削除」である。従って、上述の (1) Ｃ. の条件によれば、データ伝送路０，２では、スキュ調整回路２０による「エクストラシンボルの削除／補完」は、行われない。
【００９８】
次に、データ伝送路１，３におけるエラスティックバッファの処理は、「エクストラシンボルの削除／補完」のいずれでもない。また、データ伝送路１，３以外の伝送路において「エクストラシンボルの削除」が行われている。従って、上述の (1) Ｂ. の条件によれば、データ伝送路１，３では、スキュ調整回路２０により、「エクストラシンボルの削除 (Removing Extra Symbol)」が行われる。
【００９９】
スキュ調整回路２０により以上のような処理を行うと、エラスティックバッファでの同期化処理により生じた各信号経路間におけるデータ列のばらつき（スキュ）が解消される。つまり、図１０に示すように、各スキュ調整バッファ２０−０，２０−１，２０−２，２０−３からは、同じタイミングで、データＤＡＴＡ・Ｚ０，ＤＡＴＡ・Ｚ１，ＤＡＴＡ・Ｚ２，ＤＡＴＡ・Ｚ３が出力される。
【０１００】
図１１は、複数の信号経路間でスキュが生じる第２例を示している。
【０１０１】
データ伝送路１，３におけるエラスティックバッファ１３−１，１３−３においては、それぞれ、クロック信号ＣＬＫ２−１，ＣＬＫ２−３とクロック信号ＣＬＫ３とのスキュを解消するために、個別に、エクストラシンボルの補完が行われる。
【０１０２】
従って、エラスティックバッファ１３−１，１３−３からは、エクストラシンボル「ＥＸＴ」が補完されたデータＤＡＴＡ・Ｙ１，ＤＡＴＡ・Ｙ３が出力される。この時、エクストラシンボルの補完が行われたことを示す制御信号ＣＮＴ１，ＣＮＴ３も出力される。
【０１０３】
また、データ伝送路０，２におけるエラスティックバッファ１３−０，１３−２においては、それぞれ、エクストラシンボルの削除／補完を行わずに、そのまま、データＤＡＴＡ・Ｘ０，ＤＡＴＡ・Ｘ２を、データＤＡＴＡ・Ｙ０，ＤＡＴＡ・Ｙ２として出力する。
【０１０４】
その結果、エクストラシンボルの補完が行われた後においては、エラスティックバッファ１３−０，１３−１，１３−２，１３−３から出力されるデータ列のタイミングが互いにずれる。
【０１０５】
図１２は、図１１のスキュを解消するスキュ調整回路の動作の第１例を示している。
【０１０６】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３での処理は、図１１に示すように、データ伝送路１，３に対応する信号経路では、「エクストラシンボルの補完」であり、データ伝送路０，２に対応する信号経路では、「エクストラシンボルの削除／補完」のいずれでもない。
【０１０７】
そこで、上述の条件に基づいて、各スキュ調整バッファが行う処理を決定する。
【０１０８】
まず、データ伝送路１，３におけるエラスティックバッファの処理は、「エクストラシンボルの補完」である。従って、上述の (1) Ａ. の条件によれば、データ伝送路１，３では、スキュ調整回路２０により、「エクストラシンボルの削除 (Removing Extra Symbol)」が行われる。
【０１０９】
次に、データ伝送路０，２におけるエラスティックバッファの処理は、「エクストラシンボルの削除／補完」のいずれでもない。従って、上述の (1) Ｃ. の条件によれば、データ伝送路０，２では、スキュ調整回路２０による「エクストラシンボルの削除／補完」は、行われない。
【０１１０】
スキュ調整回路２０により以上のような処理を行うと、エラスティックバッファでの同期化処理により生じた各信号経路間におけるデータ列のばらつき（スキュ）が解消される。つまり、図１２に示すように、各スキュ調整バッファ２０−０，２０−１，２０−２，２０−３からは、同じタイミングで、データＤＡＴＡ・Ｚ０，ＤＡＴＡ・Ｚ１，ＤＡＴＡ・Ｚ２，ＤＡＴＡ・Ｚ３が出力される。
【０１１１】
図１３は、図１１のスキュを解消するスキュ調整回路の動作の第２例を示している。
【０１１２】
エラスティックバッファ１３−０，１３−１，１３−２，１３−３での処理は、図１１に示すように、データ伝送路１，３に対応する信号経路では、「エクストラシンボルの補完」であり、データ伝送路０，２に対応する信号経路では、「エクストラシンボルの削除／補完」のいずれでもない。
【０１１３】
そこで、上述の条件に基づいて、各スキュ調整バッファが行う処理を決定する。
【０１１４】
まず、データ伝送路１，３におけるエラスティックバッファの処理は、「エクストラシンボルの補完」である。従って、上述の (2) Ｃ. の条件によれば、データ伝送路１，３では、スキュ調整回路２０による「エクストラシンボルの削除／補完」は、行われない。
【０１１５】
次に、データ伝送路０，２におけるエラスティックバッファの処理は、「エクストラシンボルの削除／補完」のいずれでもない。また、データ伝送路０，２以外の伝送路において「エクストラシンボルの補完」が行われている。従って、上述の (2) Ａ. の条件によれば、データ伝送路０，２では、スキュ調整回路２０により、「エクストラシンボルの補完 (Replicate Extra Symbol)」が行われる。
【０１１６】
スキュ調整回路２０により以上のような処理を行うと、エラスティックバッファでの同期化処理により生じた各信号経路間におけるデータ列のばらつき（スキュ）が解消される。つまり、図１３に示すように、各スキュ調整バッファ２０−０，２０−１，２０−２，２０−３からは、同じタイミングで、データＤＡＴＡ・Ｚ０，ＤＡＴＡ・Ｚ１，ＤＡＴＡ・Ｚ２，ＤＡＴＡ・Ｚ３が出力される。
【０１１７】
次に、スキュ調整回路内のスキュ調整バッファにおける「エクストラシンボルの削除／補完」の原理について説明する。
【０１１８】
図１４は、スキュ調整バッファ内のライトコントロール回路の例を示している。
【０１１９】
ライトポインタは、例えば、カウンタを有し、データ書き込みの対象となるバッファメモリ１８ＢのアドレスＡＤＤｊを、原則として、１つずつ、インクリメントしていく。同図の矢印は、ライトポインタによって指定されたライトアドレスＡＤＤｊを示す。
【０１２０】
図１５は、「エクストラシンボルの削除」を行うときのスキュ調整回路の動作を示している。
【０１２１】
例えば、制御信号ＣＮＴｉが“Ｈ”になると、スキュ調整回路によりエクストラシンボル「ＥＸＴ」の削除を実行する。
【０１２２】
まず、ライトポインタによりアドレスＡＤＤ Ｎ＋１が指定され、このアドレスＡＤＤ Ｎ＋１に、エクストラシンボル「ＥＸＴ」が書き込まれる。次に、通常ならば、ライトポインタによって指定されるアドレスが１つだけインクリメントされ、アドレスＡＤＤ Ｎ＋２になるのであるが、エクストラシンボル「ＥＸＴ」の削除を行うときは、ライトポインタによって指定されるアドレスのインクリメントを、クロック信号ＣＬＫ３の１クロック分だけ止める。
【０１２３】
その結果、アドレスＡＤＤ Ｎ＋１にデータ「ＤＴ１」が書き込まれ、アドレスＡＤＤ Ｎ＋１に既に書き込まれているエクストラシンボル「ＥＸＴ」にデータ「ＤＴ１」が上書きされた形となる。
【０１２４】
図１６は、「エクストラシンボルの補完」を行うときのスキュ調整回路の動作を示している。
【０１２５】
例えば、制御信号ＣＮＴｉが“Ｈ”になると、スキュ調整回路によりエクストラシンボル「ＥＸＴ」の補完を実行する。
【０１２６】
まず、ライトポインタによりアドレスＡＤＤ Ｎ＋１が指定され、このアドレスＡＤＤ Ｎ＋１に、データ「ＤＴ１」が書き込まれる。この後、ライトポインタによって指定されるアドレスが＋２（通常は、＋１）だけインクリメントされる。
【０１２７】
その結果、アドレスＡＤＤ Ｎ＋２，ＡＤＤ Ｎ＋３に、同時に、エクストラシンボル「ＥＸＴ」が書き込まれる。
【０１２８】
ところで、本発明の例に関わる複数のデータ伝送路を持つシリアル通信方式では、スキュ調整回路による２つの処理、即ち、「エクストラシンボルの削除」と「エクストラシンボルの補完」は、選択可能である。
【０１２９】
例えば、図１７に示すように、データ伝送路０，３に対応するエラスティックバッファ１３において「エクストラシンボルの削除」が行われた場合、スキュ調整回路２０は、以下の２つの処理を行うことができる。
【０１３０】
一つは、データ伝送路１，２に対応するスキュ調整バッファにおいて「エクストラシンボルの削除 (Removing Extra Symbol) 」を行う処理である。この場合、同図（ａ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個削除された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１３１】
もう一つは、データ伝送路０，３に対応するスキュ調整バッファにおいて「エクストラシンボルの補完 (Replicate Extra Symbol) 」を行う処理である。この場合、同図（ｂ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個追加された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１３２】
また、例えば、図１８に示すように、データ伝送路１，２に対応するエラスティックバッファ１３において「エクストラシンボルの削除」が行われた場合、スキュ調整回路２０は、以下の２つの処理を行うことができる。
【０１３３】
一つは、データ伝送路０，３に対応するスキュ調整バッファにおいて「エクストラシンボルの削除 (Removing Extra Symbol) 」を行う処理である。この場合、同図（ａ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個削除された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１３４】
もう一つは、データ伝送路１，２に対応するスキュ調整バッファにおいて「エクストラシンボルの補完 (Replicate Extra Symbol) 」を行う処理である。この場合、同図（ｂ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個追加された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１３５】
また、例えば、図１９に示すように、データ伝送路０，３に対応するエラスティックバッファ１３において「エクストラシンボルの補完」が行われた場合、スキュ調整回路２０は、以下の２つの処理を行うことができる。
【０１３６】
一つは、データ伝送路１，２に対応するスキュ調整バッファにおいて「エクストラシンボルの補完 (Replicate Extra Symbol) 」を行う処理である。この場合、同図（ｂ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個追加された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１３７】
もう一つは、データ伝送路０，３に対応するスキュ調整バッファにおいて「エクストラシンボルの削除 (Removing Extra Symbol) 」を行う処理である。この場合、同図（ａ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個削除された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１３８】
また、例えば、図２０に示すように、データ伝送路１，２に対応するエラスティックバッファ１３において「エクストラシンボルの補完」が行われた場合、スキュ調整回路２０は、以下の２つの処理を行うことができる。
【０１３９】
一つは、データ伝送路０，３に対応するスキュ調整バッファにおいて「エクストラシンボルの補完 (Replicate Extra Symbol) 」を行う処理である。この場合、同図（ｂ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個追加された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１４０】
もう一つは、データ伝送路１，２に対応するスキュ調整バッファにおいて「エクストラシンボルの削除 (Removing Extra Symbol) 」を行う処理である。この場合、同図（ａ）に示すように、全てのデータ伝送路０，１，２，３に対応する信号経路について、エクストラシンボルが１個削除された形となるため、エラスティックバッファ１３において各伝送路間に生じたデータ列のばらつき（スキュ）を修正できる。
【０１４１】
なお、図１７乃至図２０において、「エクストラシンボルの削除／補完」を行うタイミングは、データ送信側の半導体集積回路により生成されるエクストラシンボル「Ｓｙｍｂｏｌ」により決定される。
【０１４２】
図２１は、スキュ調整バッファ内のライトポインタが指定するアドレスとリードポインタが指定するアドレスとの関係を示している。
【０１４３】
スキュ調整バッファ２０−ｉでは、ライトコントロール回路１７Ｂを用いてバッファメモリ１８Ｂにシリアルデータを書き込み、かつ、リードコントロール回路１９Ｂを用いてバッファメモリ１８Ｂからシリアルデータを読み出すことにより、データ列のタイミング調整を図っている。
【０１４４】
ここで、スキュ調整バッファ２０−ｉの動作を正常に保つためには、第一に、常に書き込みが読み出しに先行していなければならない。
【０１４５】
例えば、同図において、ライトポインタ及びリードポインタによるアドレスの指定が、共に、アドレスＡＤＤ０からアドレスＡＤＤ７に向かって行われ、かつ、これが繰り返される場合に、リードポインタの指定するアドレスが、ライトポインタの指定するアドレスに追い付いてしまうと、正常な調整を行うことができない。
【０１４６】
また、第二に、書き込みが読み出しに追い付いてはいけない。
【０１４７】
例えば、同図において、ライトポインタ及びリードポインタによるアドレスの指定が、共に、アドレスＡＤＤ０からアドレスＡＤＤ７に向かって行われ、かつ、これが繰り返される場合に、ライトポインタの指定するアドレスが、リードポインタの指定するアドレスに追い付いてしまうと、正常な調整を行うことができない。
【０１４８】
ところが、上述したように、スキュ調整バッファ２０−ｉにおいては、「エクストラシンボルの削除」が行われると、ライトポインタの移動が１クロック分だけ遅れる。
【０１４９】
従って、スキュ調整バッファ２０−ｉにおいて、同じ処理、例えば、「エクストラシンボルの削除」のみが繰り返し行われると、リードポインタの位置がライトポインタの位置に追い付いてしまうことになる（ここでは、バッファメモリ内のデータがなくなることから、「アンダーフロー」と称する）。
【０１５０】
また、スキュ調整バッファ２０−ｉにおいては、「エクストラシンボルの補完」が行われると、１クロックで、ライトポインタが２アドレス分移動する。
【０１５１】
従って、スキュ調整バッファ２０−ｉにおいて、同じ処理、例えば、「エクストラシンボルの補完」のみが繰り返し行われると、ライトポインタの位置がリードポインタの位置に追い付いてしまうことになる（ここでは、バッファメモリ内にデータが満たされた状態になることから、「オーバーフロー」と称する）。
【０１５２】
そこで、本発明の例に関わる通信方式では、「バッファステータス」という概念を採用する。バッファステータスとは、ライトポインタの位置（ライトポインタが指定するアドレス）とリードポインタの位置（リードポインタが指定するアドレス）との相対位置関係を示すものである。
【０１５３】
本発明の例に関わる通信方式では、バッファステータスに基づいて、アンダーフローやオーバーフローが生じないように、ライトポインタの位置及びリードポインタの位置を制御する。具体的には、スキュ調整バッファでのタイミング調整時に、バッファステータスに基づいて、「エクストラシンボルの削除 (Removing Extra Symbol)」を行うか、又は、「エクストラシンボルの補完 (Replicate Extra Symbol)を行うかを決定する。
【０１５４】
図２２は、バッファステータスの概要を示している。
【０１５５】
リードポインタは、バッファステータス上においては、所定位置、例えば、「０」に固定される。また、ライトポインタは、初期状態においては、リードポインタの位置「０」から最も離れた位置、具体的には、「３」又は「４」に配置される。本例では、ライトポインタは、初期状態において「４」に配置される。
【０１５６】
ここで、同図のバッファステータスでは、０〜７の数字が直線的に描かれているが、バッファメモリのアドレスＡＤＤ０〜ＡＤＤ７が繰り返し選択されるように、数字「０」と「７」は、互いに隣接しているものと考える。従って、リードポインタの位置「０」から最も離れた位置は、「３」又は「４」になる。
【０１５７】
このバッファステータスにおいて、第一に、「エクストラシンボルの補完 (Replicate Extra Symbol)」を行った場合には、ライトポインタのインクリメントが＋２となる。
【０１５８】
これは、書き込みが読み出しに追い付く方向、つまり、ライトポインタとリードポインタとの関係がオーバーフローとなる方向にライトポインタが移動することを意味する。同図のバッファステータス上では、ライトポインタは、「５」に移動する。
【０１５９】
第二に、「エクストラシンボルの削除 (Removing Extra Symbol)」を行った場合には、ライトポインタのインクリメントが１クロック分停止される。
【０１６０】
これは、読み出しが書き込みに追い付く方向、つまり、ライトポインタとリードポインタとの関係がアンダーフローとなる方向にライトポインタが移動することを意味する。同図のバッファステータス上では、ライトポインタは、「３」に移動する。
【０１６１】
本発明の例では、図２１のスキュ調整バッファ２０−ｉの動作を破錠させないようにするため、タイミング調整時において、バッファステータスに基づいて、スキュ調整バッファ２０−ｉの処理を決定する。
【０１６２】
例えば、バッファステータス上におけるライトポインタの位置をＰｗとし、バッファステータス上におけるリードポインタの位置をＰｒとした場合には、Ｐｗ−Ｐｒが４以上のときは、「エクストラシンボルの削除 (Removing Extra Symbol)」を行う。また、Ｐｗ−Ｐｒが４未満のときは、「エクストラシンボルの補完 (Replicate Extra Symbol)」を行う。
【０１６３】
次に、バッファステータスの具体的動作について説明する。
【０１６４】
図２３は、本発明の例に関わるスキュ調整回路を示している。  
バッファステータス２１−ｉ（ｉ＝０，１，２，３）は、各スキュ調整バッファ２０−ｉ内に設けられている。
【０１６５】
同図は、バッファステータスの初期状態の様子を表している。
【０１６６】
通常、スキュ調整回路の前段に配置されるエラスティックバッファは、所定の法則に従って、エラスティック処理（エクストラシンボルの削除／補完）を行う。
【０１６７】
例えば、図１７に示すように、１回目の同期化処理で、データ伝送路０，３に対応するエラスティックバッファが「エクストラシンボルの削除」を行ったとすると、図１８に示すように、２回目の同期化処理では、データ伝送路１，２に対応するエラスティックバッファが「エクストラシンボルの削除」を行う。
【０１６８】
つまり、この場合、２度の同期化処理が完了した時点では、全てのデータ伝送路０，１，２，３に対応するエラスティックバッファが「エクストラシンボルの削除」を行ったことになる。
【０１６９】
このような事情を鑑みて、スキュ調整バッファ２０−ｉは、全てのスキュ調整バッファ２０−ｉのバッファステータス２１−ｉの状態が同じになったときに、次にそのスキュ調整バッファ２０−ｉが行う処理の内容を決定する。
【０１７０】
例えば、図１７に示すように、１回目のタイミング調整で、スキュ調整回路２０が、データ伝送路１，２からのデータ例に対して「エクストラシンボルの削除」を行ったとすると（図１７（ａ））、図１８に示すように、２回目のタイミング調整では、スキュ調整回路２０は、データ伝送路０，３からのデータ例に対して「エクストラシンボルの削除」を行う（図１８（ａ））。
【０１７１】
この時、全てのバッファステータス２１−ｉは、同じ状態（ライトポインタとリードポインタの位置関係が同じ状態）になる。
【０１７２】
従って、図２４のフローチャートに示すように、スキュ調整バッファ２０−ｉは、バッファステータス２１−ｉに基づいて、自らが次に行う処理の内容、即ち、「エクストラシンボルの削除」を行うのか、又は、「エクストラシンボルの補完」を行うのかを決定する。
【０１７３】
このようにすれば、タイミング調整時に、その都度、次の処理を判断する必要がなくなるため、制御方法が簡単になる。
【０１７４】
即ち、エラスティックバッファでの処理が規則的であるにもかかわらず、エクストラシンボルを検出する度に、バッファステータスを変えていたのでは、バッファステータスが、信号経路ごとに、ばらばらに動くことにもなり兼ねない。
【０１７５】
本発明の例によれば、各信号経路のバッファステータスは、それぞれ関連をもって動くため、制御方法が容易になる。
【０１７６】
以下、具体例について説明する。  
まず、図２３の初期状態において、スキュ調整回路２０に、図１７に示すようなデータ列が入力される場合を考える。
【０１７７】
この場合、図２４の条件に従うと、スキュ調整回路２０では、データ伝送路１，２からのデータ例に対しては、「エクストラシンボルの削除」を行う（図１７（ａ））。この時、図２５に示すように、データ伝送路１，２に対応するバッファステータス２１−１，２１−２では、ライトポインタの位置Ｐｗが「４」から「３」に移動する。
【０１７８】
この後、スキュ調整回路２０には、図１８に示すようなデータ列が入力される。
【０１７９】
この場合、図２４の条件に従うと、全てのバッファステータス２１−０，２１−１，２１−２，２１−３で、ライトポインタとリードポインタの相対位置関係が同じでないため、スキュ調整回路２０は、必然的に、データ伝送路０，３からのデータ例に対して「エクストラシンボルの削除」を行う（図１８（ａ））。
【０１８０】
この時、図２６に示すように、データ伝送路０，３に対応するバッファステータス２１−０，２１−３では、ライトポインタの位置Ｐｗが「４」から「３」に移動する。
【０１８１】
この段階で、図２７に示すように、全てのバッファステータス２１−０，２１−１，２１−２，２１−３の状態が同じ、即ち、ライトポインタとリードポインタの相対位置関係が同じになる。
【０１８２】
次に、この後、スキュ調整回路２０に、図１７に示すようなデータ列が入力された場合について考える。
【０１８３】
この場合、図２４の条件に従うと、スキュ調整回路２０では、データ伝送路０，３からのデータ例に対しては、「エクストラシンボルの補完」を行う（図１７（ｂ））。この時、図２８に示すように、データ伝送路０，３に対応するバッファステータス２１−０，２１−３では、ライトポインタの位置Ｐｗが「３」から「４」に移動する。
【０１８４】
この後、スキュ調整回路２０には、図１８に示すようなデータ列が入力される。
【０１８５】
この場合、図２４の条件に従うと、全てのバッファステータス２１−０，２１−１，２１−２，２１−３で、ライトポインタとリードポインタの相対位置関係が同じでないため、スキュ調整回路２０は、必然的に、データ伝送路１，２からのデータ例に対して「エクストラシンボルの補完」を行う（図１８（ｂ））。
【０１８６】
この時、図２９に示すように、データ伝送路１，２のバッファステータスでは、ライトポインタの位置Ｐｗが「３」から「４」に移動する。
【０１８７】
このように、本発明の例では、バッファステータスの状態が、Ｐｗ−Ｐｒ≧４であるときには、「エクストラシンボルの削除 (Removing Extra Symbol)」を行い、バッファステータスの状態を、オーバーフローから遠ざかる方向（アンダーフローに近づく方向）に変える。また、バッファステータスの状態が、Ｐｗ−Ｐｒ＜４であるときには、「エクストラシンボルの補完 (Replicate Extra Symbol)」を行い、バッファステータスの状態を、アンダーフローから遠ざかる方向（オーバーフローに近づく方向）に変える。
【０１８８】
このような処理により、スキュ調整回路２０内のスキュ調整バッファ２０−ｉの動作の破錠を回避する。
【０１８９】
なお、図２１乃至図２９において説明したアドレスポインタの制御方法又はバッファステータスの制御方法は、スキュ調整回路を構成するスキュ調整バッファに限られることなく、例えば、スキュ調整回路の前段に配置されるエラスティックバッファについても適用可能である。
【０１９０】
以上、本発明の例によれば、複数のデータ伝送路を持つシリアル通信方式において、複数のデータ伝送路に対応する複数の信号経路に対し、信号経路ごとに、エラスティックバッファによる同期化を行った場合に、複数の信号経路間にデータ列のタイミングのずれ（スキュ）が発生したとしても、これを容易に解消することができる。
【０１９１】
また、本発明の例に関わるシリアル通信方式は、データ伝送路の数の増減に対しても、これに容易に対応することができる。本発明の例の対象となる半導体集積回路は、ロジックＩＣ、メモリ混載ロジックＩＣ、メモリＩＣ、システムＩＣなど、様々なＩＣに適用可能である。バッファ構成に関しては、例えば、メモリセルアレイを使用したダブルバッファ構成に対しても、本発明の例を適用できる。
【０１９２】
本発明の例では、エラスティックバッファの構成、エラスティックバッファによる同期化処理、半導体集積回路ＩＣ１からＩＣ２へのデータ通信方式などに関しては、特に、上述の実施の形態に限定されることはない。
【０１９３】
本発明の例は、上述の形態に限定されるものではなく、その要旨を逸脱しない範囲で、構成要素を変形して具体化できる。また、上述の形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる形態の構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０１９４】
本発明の例に関わるシリアルデータ通信方式は、特に、複数伝送路を有し、各伝送路に、データ通信のタイミング調整を図るためのエラスティックバッファ（Elastic Buffer）が接続された半導体集積回路に有効である。
【図面の簡単な説明】
【０１９５】
【図１】本発明の例に関わる複数のデータ伝送路を持つ通信システムを示す図。
【図２】エラスティックバッファの例を示す図。
【図３】図２のバッファ内のライトコントロール回路を示す図。
【図４】図２のバッファ内のリードコントロール回路を示す図。
【図５】スキュ調整バッファの例を示す図。
【図６】図５のバッファ内のライトコントロール回路を示す図。
【図７】図５のバッファ内のリードコントロール回路を示す図。
【図８】エラスティックバッファの動作の概要を示す図。
【図９】スキュ調整回路の動作の概要を示す図。
【図１０】スキュ調整回路の動作の概要を示す図。
【図１１】エラスティックバッファの動作の概要を示す図。
【図１２】スキュ調整回路の動作の概要を示す図。
【図１３】スキュ調整回路の動作の概要を示す図。
【図１４】ライトコントロール回路内のライトポインタの動作の概要を示す図。
【図１５】エクストラシンボルの削除を行うときの信号波形を示す波形図。
【図１６】エクストラシンボルの補完を行うときの信号波形を示す波形図。
【図１７】エクストラシンボルの削除／補完を選択できる様子を示す図。
【図１８】エクストラシンボルの削除／補完を選択できる様子を示す図。
【図１９】エクストラシンボルの削除／補完を選択できる様子を示す図。
【図２０】エクストラシンボルの削除／補完を選択できる様子を示す図。
【図２１】ライトポインタとリードポインタの動作の概要を示す図。
【図２２】ライトポインタとリードポインタとの相対位置関係（バッファステータス）を示す図。
【図２３】バッファステータスの初期状態を示す図。
【図２４】バッファステータスの状態を決定するフローチャートを示す図。
【図２５】図１７のエクストラシンボル削除後のバッファステータスを示す図。
【図２６】図１８のエクストラシンボル削除後のバッファステータスを示す図。
【図２７】全てのバッファステータスの状態が同じになった様子を示す図。
【図２８】図１７のエクストラシンボル補完後のバッファステータスを示す図。
【図２９】図１８のエクストラシンボル補完後のバッファステータスを示す図。
【図３０】単一データ伝送路を持つ従来の通信システムを示す図。
【図３１】従来のエラスティックバッファの例を示す図。
【図３２】従来のエラスティックバッファの動作を示す図。
【図３３】従来のエラスティックバッファの動作を示す図。
【図３４】従来のエラスティックバッファの動作を示す図。
【図３５】複数のデータ伝送路を持つ従来の通信システムを示す図。
【図３６】図３５のエラスティックバッファの動作を示す図。
【符号の説明】
【０１９６】
１１，１１−０，１１−１，１１−２，１１−３：  出力制御回路、  １２，１２−０，１２−１，１２−２，１２−３：  復元回路、  １３，１３−０，１３−１，１３−２，１３−３：  エラスティックバッファ、  １４：  ロジック回路、  １５，１６：  ＰＬＬ (Phase Locked Loop) 回路、  １７，１７Ａ，１７Ｂ：  ライトコントロール回路、  １８，１８Ａ，１８Ｂ：  バッファメモリ、  １９，１９Ａ，１９Ｂ：  リードコントロール回路、  ２０：  スキュ調整回路、  ２０−０，２０−１，２０−２，２０−３：  スキュ調整バッファ、  ２１−０，２１−１，２１−２，２１−３：  バッファステータス、  ＩＣ１，ＩＣ２：  半導体集積回路。
【図１】
2005159578.tif 000003
【図２】
2005159578.tif 000004
【図３】
2005159578.tif 000005
【図４】
2005159578.tif 000006
【図５】
2005159578.tif 000007
【図６】
2005159578.tif 000008
【図７】
2005159578.tif 000009
【図８】
2005159578.tif 000010
【図９】
2005159578.tif 000011
【図１０】
2005159578.tif 000012
【図１１】
2005159578.tif 000013
【図１２】
2005159578.tif 000014
【図１３】
2005159578.tif 000015
【図１４】
2005159578.tif 000016
【図１５】
2005159578.tif 000017
【図１６】
2005159578.tif 000018
【図１７】
2005159578.tif 000019
【図１８】
2005159578.tif 000020
【図１９】
2005159578.tif 000021
【図２０】
2005159578.tif 000022
【図２１】
2005159578.tif 000023
【図２２】
2005159578.tif 000024
【図２３】
2005159578.tif 000025
【図２４】
2005159578.tif 000026
【図２５】
2005159578.tif 000027
【図２６】
2005159578.tif 000028
【図２７】
2005159578.tif 000029
【図２８】
2005159578.tif 000030
【図２９】
2005159578.tif 000031
【図３０】
2005159578.tif 000032
【図３１】
2005159578.tif 000033
【図３２】
2005159578.tif 000034
【図３３】
2005159578.tif 000035
【図３４】
2005159578.tif 000036
【図３５】
2005159578.tif 000037
【図３６】
2005159578.tif 000038