(57)【要約】【課題】ＥＢからのコードの読み出しを一時的に止めることができ、かつＥＢからのコードの読み出しを止めてもＲＤチェックが正しく機能するシリアル受信装置を提供する。【解決手段】制御部３０は、パラレルコードのうちＳＫＰシンボルを除いた残りのパラレルコードを記憶手段２１に書き込むように書き込み手段２２を制御する機能と、記憶手段２１に書き込まれたパラレルコードがあるときにのみ当該パラレルコードを読み出すように読み出し手段２３を制御する機能と、記憶手段２１からパラレルコードを読み出す際にコード有効信号Ｖａｌｉｄを出力する機能とを有する。８Ｂ／１０Ｂデコーダ４０は、コード有効信号Ｖａｌｉｄが出力されたときに、パラレルコードの復号化及びＲＤ検出を実行し、当該ＲＤと前回のコード有効信号Ｖａｌｉｄが出力されたときに検出したＲＤとの規則性をチェックする。【選択図】図１
2011250183.tif 000002
【特許請求の範囲】
【請求項１】
シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能と、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能と、前記記憶手段から前記パラレルコードを読み出す際にコード有効信号を出力する機能とを有する制御部と、
前記コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
を備えたことを特徴とするシリアル受信装置。
【請求項２】
請求項１記載のシリアル受信装置において、
前記制御部は、ライトイネーブル生成部、ライトポインタ、リードイネーブル生成部、リードポインタ及びＥＢ使用量算出部を有し、
前記ライトポインタは、前記ライトイネーブル生成部から出力されたライトイネーブル信号を計数し、
前記リードポインタは、前記リードイネーブル生成部から出力されたリードイネーブル信号を計数し、
前記ライトイネーブル生成部は、前記デシリアライザで変換された前記パラレルコードを解析することにより前記タイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外の前記パラレルコードを前記記憶手段に書き込むように前記書き込み手段へ前記ライトイネーブル信号を出力し、
前記ＥＢ使用量算出部は、前記ライトポインタで計数された前記ライトイネーブル信号と前記リードポインタで計数された前記リードイネーブル信号との差分から、前記記憶手段における記憶領域の使用量を算出し、
前記リードイネーブル生成部は、前記ＥＢ使用量算出部で算出された前記使用量が０でないときにのみ、前記記憶手段から前記パラレルコードを読み出すように前記リードイネーブル信号を前記読み出し手段へ出力するとともに前記読み出し手段を介して前記コード有効信号を出力する、
ことを特徴とするシリアル受信装置。
【請求項３】
請求項１又は２記載のシリアル受信装置において、
前記デコーダは、前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティを保持するレジスタを有する、
ことを特徴とするシリアル受信装置。
【請求項４】
請求項１、２又は３記載のシリアル受信装置において、
前記シリアルコードは、８Ｂ／１０Ｂによって符号化されており、
前記デコーダは、８Ｂ／１０Ｂデコーダであり、
前記タイミング調整用シンボルは、ＳＫＰシンボルである、
ことを特徴とするシリアル受信装置。
【請求項５】
シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
を備えたシリアル受信装置を制御する方法であって、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御し、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御し、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する、
ことを特徴とするシリアル受信装置の制御方法。
【請求項６】
請求項５記載のシリアル受信装置の制御方法において、
前記デシリアライザで変換された前記パラレルコードを解析することにより前記タイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外の前記パラレルコードを前記記憶手段に書き込むように前記書き込み手段へ前記ライトイネーブル信号を出力することにより、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御し、
出力された前記ライトイネーブル信号及びリードイネーブル信号を計数し、計数された前記ライトイネーブル信号及び前記リードイネーブル信号との差分から、前記記憶手段における記憶領域の使用量を算出し、算出された前記使用量が０でないときにのみ、前記記憶手段から前記パラレルコードを読み出すように前記リードイネーブル信号を前記読み出し手段へ出力するとともに前記読み出し手段を介して前記コード有効信号を出力することにより、
前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御し、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する、
シリアル受信装置の制御方法。
【請求項７】
請求項５又は６記載のシリアル受信装置の制御方法において、
前記シリアルコードは、８Ｂ／１０Ｂによって符号化されており、
前記デコーダは、８Ｂ／１０Ｂデコーダであり、
前記タイミング調整用シンボルは、ＳＫＰシンボルである、
ことを特徴とするシリアル受信装置の制御方法。
【請求項８】
シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
コンピュータと、
を備えたシリアル受信装置に用いられる制御プログラムであって。
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能と、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能と、前記記憶手段から前記パラレルコードを読み出す際にコード有効信号を出力する機能と、
を前記コンピュータに実現するための、シリアル受信装置の制御プログラム。
【請求項９】
請求項８記載のシリアル受信装置の制御プログラムにおいて、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能は、
前記デシリアライザで変換された前記パラレルコードを解析することにより前記タイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外の前記パラレルコードを前記記憶手段に書き込むように前記書き込み手段へ前記ライトイネーブル信号を出力することからなり、
前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能、及び、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する機能は、
出力された前記ライトイネーブル信号及びリードイネーブル信号を計数し、計数された前記ライトイネーブル信号及び前記リードイネーブル信号との差分から、前記記憶手段における記憶領域の使用量を算出し、算出された前記使用量が０でないときにのみ、前記記憶手段から前記パラレルコードを読み出すように前記リードイネーブル信号を前記読み出し手段へ出力するとともに前記読み出し手段を介して前記コード有効信号を出力することからなる、
ことを特徴とするシリアル受信装置の制御プログラム。
【請求項１０】
請求項８又は９記載のシリアル受信装置の制御プログラムにおいて、
前記シリアルコードは、８Ｂ／１０Ｂによって符号化されており、
前記デコーダは、８Ｂ／１０Ｂデコーダであり、
前記タイミング調整用シンボルは、ＳＫＰシンボルである、
ことを特徴とするシリアル受信装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルコードを受信してパラレルコードに変換するシリアル受信装置等に関し、一例を述べれば、不連続コードに対応した８Ｂ／１０Ｂデコーダ設計によるシリアル受信装置の性能改善技術に関する。なお、本明細書において単に「コード」というときは、主にパラレルコードを指すものとする。
【背景技術】
【０００２】
例えばＰＣＩ（Peripheral Component Interconnect） Ｅｘｐｒｅｓｓでは、送信側クロックが受信側クロックに比べて速いことを考慮し、ＳＫＰシンボルが送信コードに埋め込まれ転送される（例えば特許文献１、２参照。）。しかし、このＳＫＰシンボルは、送信側クロックが受信側クロックと同等又は遅い場合に、不要であるにもかかわらず存在するため転送性能を低下させていた。特にシリアル送受信インタフェースを備えた装置を多段接続する場合、装置単体のレイテンシ（latency）の違いは、システム全体の性能に大きな影響を与える。
【０００３】
以下、関連技術のシリアル受信装置について説明する。図１０は、関連技術のシリアル受信装置を示すブロック図である。図１１は、関連技術のシリアル受信装置における送信側及び受信側のクロック速度差とエラスティックバッファ（以下「ＥＢ」という。）に対する書き込み及び読み出しコードとの関係を示す図表である。以下、この図面に基づき説明する。
【０００４】
シリアル受信装置１１０は、シリアルコードからクロックを復元するクロック・データ・リカバリ（以下「ＣＤＲ」という。）回路１１１、シリアルコードをパラレルコードに変換するデシリアライザ１１２、送信側と受信側との周波数差を吸収するＥＢ１２０、ＥＢ１２０に対するコードの書込み及び読み出しを制御する制御部１３０、及び、送信側で８Ｂ／１０Ｂ符号化されたコードを復号する８Ｂ／１０Ｂデコーダ１４０から構成される。制御部１３０は、ライトイネーブル生成部１３１、ライトポインタ１３２、リードイネーブル生成部１３３、リードポインタ１３４及びＥＢ使用量算出部１３５を有する。
【０００５】
一般に、高速シリアル通信においては、コードとクロック（タイミング情報）を１本のラインに重畳して伝送し、受信側のＣＤＲ回路１１１でクロックとコードを分離する構成を採る。これは、コード中にクロックを埋め込むことにより、コード−クロック間のスキュー（skew）発生を防止するという利点がある。ここで、クロック復元を容易にするための技術として利用されているのが、８Ｂ／１０Ｂである。
【０００６】
８Ｂ／１０Ｂは、８ｂｉｔデータのそれぞれに“０”又は“１”が４ｂｉｔ以上連続しない１０ｂｉｔコードを割り当て符号化することで、受信側での転送コードからのクロック復元を容易にする。８ｂｉｔデータに対応する１０ｂｉｔコードを「Ｄコード」という。また、Ｄコード以外にも制御用の特殊コードが定められており、これらを「Ｋキャラクタ」という。Ｄコード及びＫキャラクタは、それぞれＤｘｘ．ｙ（Ｄ００．０〜Ｄ３１．７）及びＫｘｘ．ｙ（Ｋ２８．５など）と表現される。
【０００７】
１０ｂｉｔコードの“０”及び“１”の個数の差を、ディスパリティ（disparity）という。それまでに発行された全コードの累積ディスパリティは、ランニング・ディスパリティ（以下「ＲＤ：Running Disparity」という。）と呼ばれる。各Ｄコード及び各Ｋキャラクタには、各々二通りの１０ｂｉｔコードが割り当てられている。この二通りのコードをＲＤの極性（＋／−）に応じて使い分けることで、転送コードのＤＣ（Direct Current）バランスを保証する。受信側では、ＲＤが規則に従っているか否かのチェックを行い、コードエラーを検出する。
【０００８】
受信側クロックと送信側クロックとの発振源が異なる場合、公称周波数が同じであっても偏差による僅かな周波数差を伴う。この受信側と送信側との周波数差吸収に用いられるのが、ＣＯＭシンボル（Ｋ２８．５）とそれに連なる複数のＳＫＰシンボル（Ｋ２８．０）である。一例として、ＰＣＩ Ｅｘｐｒｅｓｓでは、「ＳＫＩＰオーダード・セット」と呼ばれる「ＣＯＭ＋ＳＫＰ＋ＳＫＰ＋ＳＫＰ」の配列を、１１８０〜１５３８回に１回の割合で送信時に挿入することが定められている。「ＣＯＭ」は一連のコードセットの先頭を示すシンボルであり、「ＳＫＰ」は周波数調整のために挿抜されるタイミング調整用シンボルである。
【０００９】
なお、ＳＫＰ挿抜は、任意のタイミングで行うことはできず、連続するＳＫＰの数を増減することのみ可能である。これは、ＳＫＰが“０”及び“１”の５ｂｉｔずつのコードであるためにＳＫＰ前後でＲＤの極性は反転せず、ＳＫＰを任意の数だけ増減してもＲＤエラーが発生しないためである。
【００１０】
このＳＫＰ数増減処理によって、すなわち転送されてきたコードを水増し又は間引くことによって、送信側と受信側との周波数差を吸収している。このＳＫＰ挿抜処理はＥＢ１２０で行われる。
【００１１】
なお、以上の構成はシリアル受信装置１１０の最小単位であり、実際には同様の構成を複数チャネル分束ねることが可能である。このとき、各チャネルの処理はほぼ独立して行われるため、例えば、ＳＫＰの増減数がチャネル毎に異なるという可能性がある。チャネル間の同期を取る際にはＣＯＭを先頭と認識し整列させるため、ＣＯＭに続くＳＫＰ数がチャネル毎に異なると、データ整列が正常に行えない。そのため関連技術では、８Ｂ／１０Ｂ後にＳＫＰを全て除去するなどの処理が行われている。
【００１２】
受信側クロックが送信側クロックより速い場合、補正を行わなければ速度差が積み重なって徐々にＥＢ使用量が減少していく。そのため、ＥＢ使用量がある値以下になった段階でＡＥ（Almost Empty）フラグを立て、ＳＫＰ挿入を開始する必要がある。なお、逆に受信側クロックが送信側クロックより遅い場合は、ＡＦ（Almost Full）フラグに従ってＳＫＰ削除を行う。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００５−２６８９１０号公報
【特許文献２】特開２００７−０３６３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
次に、関連技術の課題について説明する。上述した速度差補正は任意のタイミングで行えるわけではなく、受信したコード内の連続するＳＫＰ列のＳＫＰ数を増やす（又は減らす）ことによってタイミング調整を行う。すなわち、ＳＫＰ挿入／削除を行うためには、連続するＳＫＰ列を受信するまで待つ必要がある。このタイムラグを考慮した上で、ＡＥフラグを立てる条件を設定する必要がある。このようなマージンを持たせてＡＥフラグを立てるということは、定常状態においてはＥＢにマージンの分だけ余分なコードが滞留することを意味するので、ＥＢへのコードの書き込みから読み出しまでのレイテンシを増大させる。
【００１５】
ＡＥフラグが立った場合にＥＢからのコードの読み出しを一時的に止めることができれば、上記タイムラグは考慮する必要がなくなる。しかし、関連技術における８Ｂ／１０Ｂデコーダは前段のＥＢから読み出されるコードを絶え間なく処理しているため、ＥＢからのコードの読み出しを止めた場合にＲＤチェックが正しく機能しない。
【００１６】
そこで、本発明の目的は、ＥＢからのコードの読み出しを一時的に止めることができ、かつＥＢからのコードの読み出しを止めてもＲＤチェックが正しく機能するシリアル受信装置等を提供することにある。
【課題を解決するための手段】
【００１７】
本発明のシリアル受信装置は、
シリアルコードからクロックを復元するＣＤＲ回路と、
このＣＤＲ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するＥＢと、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能と、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能と、前記記憶手段から前記パラレルコードを読み出す際にコード有効信号を出力する機能とを有する制御部と、
前記コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのＲＤを検出し、当該ＲＤと前回の前記コード有効信号が出力されたときに検出したＲＤとの規則性をチェックするデコーダと、
を備えたことを特徴とする。
【００１８】
本発明に係るシリアル受信装置の制御方法は、
シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
を備えたシリアル受信装置を制御する方法であって、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御し、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御し、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する、
ことを特徴とする。
【００１９】
本発明に係るシリアル受信装置の制御プログラムは、
シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
コンピュータと、
を備えたシリアル受信装置に用いられる制御プログラムであって。
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能と、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能と、前記記憶手段から前記パラレルコードを読み出す際にコード有効信号を出力する機能と、
を前記コンピュータに実現するためのものである。
【発明の効果】
【００２０】
本発明によれば、ＥＢに書き込まれたコードがあるときにのみ当該コードを読み出すことにより、ＥＢからのコードの読み出しを一時的に止めることができる。かつ、ＥＢからコードを読み出す際にコード有効信号を出力し、このコード有効信号が出力されたときにコードの復号化及びＲＤ検出を行い、当該ＲＤと前回のコード有効信号が出力されたときのＲＤとの規則性をチェックすることにより、ＥＢからのコードの読み出しを止めてもＲＤチェックを正しく実行することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明に係るシリアル受信装置の一実施形態を示すブロック図である。
【図２】図１におけるＥＢの一例を示すブロック図である。
【図３】図１のシリアル受信装置における、送信側及び受信側のクロック速度差とＥＢに対する書き込み及び読み出しコードとの関係を示す図表である。
【図４】図１における８Ｂ／１０Ｂデコーダの一例を示すブロック図である。
【図５】関連技術の８Ｂ／１０Ｂデコーダにおける、ＳＫＰ挿抜が発生しない場合の動作を示すタイムチャートである。
【図６】関連技術の８Ｂ／１０Ｂデコーダにおける、ＳＫＰ挿入が発生する場合の動作を示すタイムチャートである。
【図７】図１の８Ｂ／１０Ｂデコーダにおける、ＥＢからのコード読み出しが中断しない場合の動作を示すタイムチャートである。
【図８】図１の８Ｂ／１０Ｂデコーダにおける、ＥＢからのコード読み出しが中断する場合の動作を示すタイムチャートである。
【図９】本発明に係るシリアル受信装置の制御方法及び制御プログラムの一実施形態を示すフローチャートである。
【図１０】関連技術のシリアル受信装置を示すブロック図である。
【図１１】関連技術のシリアル受信装置における、送信側及び受信側のクロック速度差とＥＢに対する書き込み及び読み出しコードとの関係を示す図表である。
【発明を実施するための形態】
【００２２】
図１は、本発明に係るシリアル受信装置の一実施形態を示すブロック図である。図２は、図１におけるＥＢの一例を示すブロック図である。以下、図１及び図２に基づき説明する。
【００２３】
本実施形態のシリアル受信装置１０は、ＣＤＲ回路１１、デシリアライザ１２、ＥＢ２０、制御部３０及び８Ｂ／１０Ｂデコーダ４０を備えている。ＣＤＲ回路１１は、シリアルコードからクロックを復元する。デシリアライザ１２は、ＣＤＲ回路１１で復元されたクロックを用いて、シリアルコードをパラレルコードに変換する。ＥＢ２０は、記憶手段２１と、デシリアライザ１２で変換されたパラレルコードを記憶手段２１に書き込む書き込み手段２２と、記憶手段２１からパラレルコードを読み出す読み出し手段２３とを有する。制御部３０は、デシリアライザ１２で変換されたパラレルコードのうちＳＫＰシンボルを除いた残りのパラレルコードを記憶手段２１に書き込むように書き込み手段２２を制御する機能と、記憶手段２１に書き込まれたパラレルコードがあるときにのみ当該パラレルコードを読み出すように読み出し手段２３を制御する機能と、記憶手段２１からパラレルコードを読み出す際にコード有効信号Ｖａｌｉｄを出力する機能とを有する。８Ｂ／１０Ｂデコーダ４０は、コード有効信号Ｖａｌｉｄが出力されたときに、記憶手段２１から読み出されたパラレルコードを復号化するとともに当該パラレルコードのＲＤを検出し、当該ＲＤと前回のコード有効信号Ｖａｌｉｄが出力されたときに検出したＲＤとの規則性をチェックする。
【００２４】
本実施形態では、受信するシリアルコードが８Ｂ／１０Ｂによって符号化されているので、デコーダとして８Ｂ／１０Ｂデコーダを用い、タイミング調整用シンボルとしてＳＫＰシンボルを用いている。ＥＢ２０としては、レイテンシを優先する点及びバッファ容量としてもそれほど必要ない点から、フリップフロップ回路が好ましいが、例えばＤＲＡＭやＳＲＡＭなどの半導体メモリを用いることもできる。これらの場合、記憶手段２１はメモリセルに相当し、書き込み手段２２は書き込み回路に相当し、読み出し手段２３は読み出し回路に相当する。
【００２５】
制御部３０は、ライトイネーブル生成部３１、ライトポインタ３２、リードイネーブル生成部３３、リードポインタ３４及びＥＢ使用量算出部３５を有する。ライトポインタ３２は、ライトイネーブル生成部３１から出力されたライトイネーブル信号ＷＥを計数する。リードポインタ３４は、リードイネーブル生成部３３から出力されたリードイネーブル信号ＲＥを計数する。ライトイネーブル生成部３１は、デシリアライザ１２で変換されたパラレルコードを解析することによりタイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外のパラレルコードを記憶手段２１に書き込むように書き込み手段２２へライトイネーブル信号ＷＥを出力する。ＥＢ使用量算出部３５は、ライトポインタ３２で計数されたライトイネーブル信号ＷＥとリードポインタ３４で計数されたリードイネーブル信号ＲＥとの差分から、記憶手段２１における記憶領域の使用量を算出する。リードイネーブル生成部３３は、ＥＢ使用量算出部３５で算出された使用量が０でないときにのみ、記憶手段２１からパラレルコードを読み出すようにリードイネーブル信号ＲＥを読み出し手段２３へ出力するとともに読み出し手段２３を介してコード有効信号Ｖａｌｉｄを出力する。
【００２６】
シリアル受信装置１０によれば、ＥＢ２０に書き込まれたコードがあるときにのみ当該コードを読み出すことにより、ＥＢ２０からのコードの読み出しを一時的に止めることができる。しかも、ＥＢ２０からコードを読み出す際にコード有効信号Ｖａｌｉｄを出力し、このコード有効信号Ｖａｌｉｄが出力されたときにコードの復号化及びＲＤ検出を行い、当該ＲＤと前回のコード有効信号Ｖａｌｉｄが出力されたときのＲＤとの規則性をチェックすることにより、ＥＢ２０からのコードの読み出しを止めてもＲＤチェックを正しく実行することができる。
【００２７】
以下、本実施形態のシリアル受信装置１０について更に詳しく説明する。図１に示すように、シリアル受信装置１０は、シリアルコード伝送路から受信したシリアルコードのクロック復元を行うＣＤＲ回路１１と、シリアル−パラレル変換を行うデシリアライザ１２と、ＳＫＰシンボルのＥＢ２０への書き込みをマスクするライトイネーブル生成部３１と、コードを格納するＥＢ２０と、ＥＢ２０のライトポインタ３２とリードポインタ３４との値が不一致の場合のみＥＢ２０からのコード読み出しを許可するリードイネーブル生成部３３と、ＥＢ２０から読み出された１０ｂｉｔコードを復号するとともに、ＲＤの極性を次の有効コードの到達まで保持し、受信した有効コードのＲＤと直前の有効コードのＲＤとに基づいてＲＤチェックを行う８Ｂ／１０Ｂデコーダ部４０とで構成されている。
【００２８】
次に、図１及び図３を用いてシリアル受信装置１０の動作を説明する。
（１）まず、シリアル受信装置１０は、シリアルコード伝送路からＳＫＰを含むコードを受信する。
（２）ＣＤＲ回路１１では、受信コードからクロックを復元する。
（３）デシリアライザ１２では、復元したクロックを用いてコードのシリアル−パラレル変換を行い、パラレルコードを出力する。
（４）ライトイネーブル生成部３１では、パラレルコードを解析し、ＳＫＰ以外のコードであればＥＢ２０に書き込む制御を行う。
（５）ＥＢ２０のライトポインタ３２をリード側クロックに同期させ、ライトポインタ３２とリードポインタ３４との差分からＥＢ使用量を算出する。
（６）リードイネーブル生成部３３では、ＥＢ使用量が０でないときのみ、ＥＢ２０からコードを読み出す制御を行う。その際、８Ｂ／１０Ｂデコーダ４０へのコード有効信号Ｖａｌｉｄを立てる
（７）８Ｂ／１０Ｂデコーダ４０では、ＥＢ２０から読み出したコードのＲＤチェック及び８Ｂ／１０Ｂ復号を行う。得られたＲＤは、次の有効コードが到達するまで保持し、次のＲＤチェックに用いる
【００２９】
次に、図４乃至図８を用いて、８Ｂ／１０Ｂデコーダ４０の構成と動作の詳細を説明する。図４は、８Ｂ／１０Ｂデコーダ４０を示すブロック図である。
【００３０】
８Ｂ／１０Ｂデコーダ４０は、１０ｂｉｔ→８ｂｉｔ変換部４１と、ＲＤ生成部４２と、シフトレジスタ５１〜５８とを含む。図中の点線は、コード有効信号Ｖａｌｉｄを示している。８Ｂ／１０Ｂデコーダ４０が関連技術と異なるのは、主にコード有効信号Ｖａｌｉｄが追加されている点である。シフトレジスタ５８は、前回のコード有効信号Ｖａｌｉｄが出力されたときに検出したＲＤを保持するレジスタに相当する。シフトレジスタ５１〜５８は、それぞれ例えばフリップフロップ（Ｆ／Ｆ）などからなる。
【００３１】
１０ｂｉｔ→８ｂｉｔ変換部４１は、ＥＢ２０から読み出された１０ｂｉｔコードを対応する８ｂｉｔデータへ変換する。ただし、不正な１０ｂｉｔコードを受信した場合は、Ｃｏｄｅ Ｖｉｏｌａｔｉｏｎ Ｅｒｒｏｒ（ＣＶＥ）に“１”を出力する。また、８ｂｉｔデータへの変換と同時にディスパリティ解析を行い、抽出したディスパリティ情報（Ｄｉｓｐａｒｉｔｙ）をＲＤ生成部４２へ出力する。
【００３２】
ＲＤ生成部４２では、入力されたＤｉｓｐａｒｉｔｙとその時点のＲＤ極性との組み合わせによりＲＤチェックを行い、不正な組み合わせである場合にはＲＤ Ｅｒｒｏｒ（ＲＤＥ）に“１”を出力する。ＤｉｓｐａｒｉｔｙとＲＤ極性との組み合わせが適切であれば、ＲＤを再計算して更新する。このとき、Ｄｉｓｐａｒｉｔｙが中立（すなわち、１０ｂｉｔコード中の“０”と“１”との数が同じ）であればＲＤ極性は直前の状態を保持し、Ｄｉｓｐａｒｉｔｙが中立でなければＲＤ極性は反転する。
【００３３】
ここで、関連技術では１０ｂｉｔ→８ｂｉｔ変換部及びＲＤ生成部がともに常時動作していたのに対し、本実施形態ではどちらも前段より受信したコード有効信号Ｖａｌｉｄにより動作を制御される。すなわち、各部に入力されるコード有効信号Ｖａｌｉｄが“０”のとき、１０ｂｉｔ→８ｂｉｔ変換部４１における１０ｂｉｔ→８ｂｉｔ変換及びＤｉｓｐａｒｉｔｙ抽出、並びにＲＤ生成部４２におけるＲＤチェック及びＲＤ再計算は行われない。
【００３４】
ここで、図１の本実施形態のシリアル受信装置１０と図１０の関連技術のシリアル受信装置１１０との相違点を、対比して説明する。
【００３５】
まず、図１の本実施形態のシリアル受信装置１０について説明する。ライトイネーブル生成部３１では、次の書込みコードがＳＫＰのとき、ＷＥ＝０となり、ＷＰをカウントアップしない、すなわちＳＰＫを破棄する。リードイネーブル生成部３３では、ＡＥのとき、ＲＥ＝０となり、ＲＰをカウントアップしない、すなわちＥＢ２０からのコード読み出しを止める。８Ｂ／１０Ｂデコーダ部４０では、次の有効コードが来るまで、ＲＤを保持する。
【００３６】
これに対して、図１０の関連技術のシリアル受信装置１１０では次のようになる。ライトイネーブル生成部１３１では、ＡＦかつ次の書込みコードがＳＫＰのとき、ＷＥ＝０となり、ＷＰをカウントアップしない、すなわちＳＰＫを破棄する。リードイネーブル生成部１３４では、ＡＥかつ次の読みだしコードがＳＫＰのとき、ＲＥ＝０となり、ＲＰをカウントアップしない、すなわち次のサイクルで同じＳＫＰを読み出す。８Ｂ／１０Ｂデコーダ部１４０では、ＲＤが毎サイクル更新される。
【００３７】
図５乃至図８は、関連技術及び本実施形態それぞれの８Ｂ／１０Ｂデコーダの動作を示すタイムチャートである。以下、図中の信号名について説明する。「送信側クロック」は、送信側から伝送されたシリアルコードからＣＤＲ回路により復元されたクロックであり、ＥＢより前段の回路及びＥＢのライトアクセスに用いられる。「受信コード」はシリアル−パラレル変換により生成された１０ｂｉｔのパラレルコードである。「受信側クロック」はＥＢのリードアクセス及びＥＢより後段の回路に用いられる。「１０ｂｉｔコード」はＥＢから読み出された１０ｂｉｔ信号であり、「８ｂｉｔデータ」はそれを１０ｂｉｔ→８ｂｉｔ変換したものである。「Ｄｉｓｐａｒｉｔｙ」は、１０ｂｉｔコードを解析して得られたディスパリティ情報であり、１０ｂｉｔ→８ｂｉｔ変換前の１０ｂｉｔコードの“０”と“１”の数の差（＋１，０，−１のいずれか）を表している。「ＲＤ」はＲＤの極性を示す信号である。「Ｖａｌｉｄ１Ｔ」及び「Ｖａｌｉｄ２Ｔ」は、本実施形態で新たに加えたコード有効信号及びデータ有効信号であり、それぞれ１０ｂｉｔコード及び８ｂｉｔデータに対応する。
【００３８】
図中の「［＋］」、「［中立］」、「［−］」は１０ｂｉｔコード中の“０”と“１”の数の差がそれぞれ“＋１”、“０”、“−１”であることを示している。「ＣＯＭ」及び「ＳＫＰ」はそれぞれＫキャラクタのＣＯＭシンボル及びＳＫＰシンボルを示し、「Ｄ」はＤコードのいずれかを示している。
【００３９】
図５及び図６は、関連技術における８Ｂ／１０Ｂデコーダのタイムチャートである。図５にはＳＫＰ挿抜が発生しない場合のチャートを示し、図６にはＳＫＰ挿入が発生する場合のチャートを示した。図５と図６を比較すると、図６の１０ｂｉｔコード以降のコード（データ）列では、連続するＳＫＰの数が４つに増えていることがわかる。なお、ＳＫＰの抜き取りが行われる場合には、逆に連続するＳＫＰの数が減ることになる。ただし、ＳＫＰ挿抜の数は１つとは限らない。
【００４０】
図７及び図８は、本実施形態における８Ｂ／１０Ｂデコーダのタイムチャートである。図７にはＥＢからのコード読み出しが中断しない場合のチャートを示し、図８にはＥＢからのコード読み出しが中断する場合のチャートを示した。図５と図７とを比較すると、関連技術ではＥＢからＳＫＰが読み出されていた箇所が、本実施形態では無効なコードとなっている。これは、本実施形態では、ＳＫＰがＥＢに格納されないためＥＢが一時的に空になり、ＥＢからのコード読み出しが停止するためである。また、コードが無効のときはＲＤの更新が停止するため、次のサイクルでＲＤは変化しない。
【００４１】
また、図８の１０ｂｉｔコードに注目すると、ＤコードとＤコードとの間に無効なコードが含まれている。これは、Ｄコード列の読み出しの途中で、ＥＢからのコード読み出しが中断したことを示している。このことは、関連技術でＳＫＰ挿入によるタイミング調整を行うにはＳＫＰ列の受信を待つ必要があったのに対し、本実施形態では速やかにコード読み出し停止によるタイミング調整を行えることを表している。
【００４２】
次に、本実施形態のシリアル受信装置の効果について説明する。
【００４３】
ＡＥフラグを立てる、ＥＢ使用量の設定値を下げることができ、定常状態におけるＥＢの平均使用量を減らすことができる。すなわち、ＥＢのレイテンシを削減できる。定量的には、想定する条件（ＳＫＰ挿入周期、許容する周波数偏差など）にもよるが、関連技術では５Ｔ程度のＥＢレイテンシが、本実施形態では３Ｔまで削減できる。
【００４４】
本実施形態におけるＣＤＲ、シリアル−パラレル変換、ＥＢ使用量算出、８Ｂ／１０Ｂ復号（ＲＤチェックを除く）は、関連技術とほぼ同様の回路である。関連技術に追加する処理は、ＥＢのＥｍｐｔｙ時のＦＩＦＯ読み出し抑制、８Ｂ／１０ＢデコーダのＲＤ保持とその制御である。逆に回路が簡略化するのは、Ａｌｍｏｓｔ Ｆｕｌｌ判定処理の不要化、ＷＥ生成の簡単化（ＳＫＰマスク条件がＡｌｍｏｓｔ Ｆｕｌｌ→無条件へ変更）である。いずれも回路量の増減は僅かであり、回路規模は関連技術と同程度に抑えられる。
【００４５】
本実施形態では、ＥＢ書き込み時にＳＫＰを全てマスクするため、関連技術のようにチャネル毎にＳＫＰ数が異なるという状態は発生しない。そのため、８Ｂ／１０Ｂ後にチャネル間同期を取る際に、ＳＫＰを揃える処理が不要となる。さらには、ＲＥ生成条件を、「当該チャネルのＥＢがＥｍｐｔｙでない」から「全チャネルのＥＢがＥｍｐｔｙでない」に変更することで、ＥＢからのコード読み出し時にチャネル間で同期を取ることも可能である。
【００４６】
図９は、本発明に係るシリアル受信装置の制御方法及び制御プログラムの一実施形態を示すフローチャートである。以下、「シリアル受信装置の制御方法」及び「シリアル受信装置の制御プログラム」を、単に「制御方法」及び「制御プログラム」と略称する。以下、本発明に係る制御方法及び制御プログラムの一実施形態について説明する。まず、本発明に係る制御方法の一実施形態について説明する。本実施形態の制御方法は、シリアル受信装置１０の動作の一部であるので、図９に加え図１乃至図３に基づき説明する。
【００４７】
本実施形態の制御方法は、ＣＤＲ回路１１、デシリアライザ１２、ＥＢ２０及び８Ｂ／１０Ｂデコーダ４０を備えたシリアル受信装置１０を制御する方法であり、制御部３０の動作として実現されている。すなわち、本実施形態の制御方法は、デシリアライザ１２で変換されたパラレルコードのうちＳＫＰシンボルを除いた残りのパラレルコードを記憶手段２１に書き込むように書き込み手段２２を制御し、記憶手段２１に書き込まれたパラレルコードがあるときにのみ当該パラレルコードを読み出すように読み出し手段２３を制御し、記憶手段２１からパラレルコードを読み出す際にコード有効信号Ｖａｌｉｄを出力する。
【００４８】
例えば、図９に示すように、デシリアライザ１２で変換されたパラレルコードを解析する（ステップ１０１）ことによりＳＫＰシンボルを検出し（ステップ１０２）、このＳＫＰシンボル以外のパラレルコードを記憶手段２１に書き込むように書き込み手段２２へライトイネーブル信号ＷＥを出力する（ステップ１０３）ことにより、デシリアライザ１２で変換されたパラレルコードのうちＳＫＰシンボルを除いた残りのパラレルコードを記憶手段２１に書き込むように書き込み手段２２を制御することができる。そして、出力されたライトイネーブル信号ＷＥ及びリードイネーブル信号ＲＥを計数し（ステップ１０４）、計数されたライトイネーブル信号ＷＥ及びリードイネーブル信号ＲＥとの差分から、記憶手段２１における記憶領域の使用量を算出し（ステップ１０５）、算出された使用量が０でないときにのみ（ステップ１０６）、記憶手段２１からパラレルコードを読み出すようにリードイネーブル信号ＲＥを読み出し手段２３へ出力する（ステップ１０７）とともにす読み出し手段２３を介してコード有効信号Ｖａｌｉｄを出力する（ステップ１０８）ことにより、記憶手段２１に書き込まれたパラレルコードがあるときにのみ当該パラレルコードを読み出すように読み出し手段２３を制御し、記憶手段２１からパラレルコードを読み出す際にコード有効信号Ｖａｌｉｄを出力することができる。
【００４９】
次に、本発明に係る制御プログラムの一実施形態について説明する。本実施形態の制御プログラムは、シリアル受信装置１０の制御部３０の各機能をコンピュータに実現するためのものであるので、図９に加え図１乃至図３に基づき説明する。
【００５０】
本実施形態の制御プログラムが用いられるシリアル受信装置１０では、制御部３０がコンピュータからなる。このコンピュータは、例えばＣＰＵ、メモリ（ＲＯＭ及びＲＡＭ）、入出力インタフェース等からなるマイクロコンピュータである。すなわち、本実施形態の制御プログラムは、デシリアライザ１２で変換されたパラレルコードのうちＳＫＰシンボルを除いた残りのパラレルコードを記憶手段２１に書き込むように書き込み手段２２を制御する機能と、記憶手段２１に書き込まれたパラレルコードがあるときにのみ当該パラレルコードを読み出すように読み出し手段２３を制御する機能と、記憶手段２１からパラレルコードを読み出す際にコード有効信号Ｖａｌｉｄを出力する機能とを、コンピュータ（３０）に実現するためのものである。
【００５１】
例えば、図９に示すように、デシリアライザ１２で変換されたパラレルコードのうちＳＫＰシンボルを除いた残りのパラレルコードを記憶手段２１に書き込むように書き込み手段２２を制御する機能は、デシリアライザ１２で変換されたパラレルコードを解析する（ステップ１０１）ことによりＳＫＰシンボルを検出し（ステップ１０２）、このＳＫＰシンボル以外のパラレルコードを記憶手段２１に書き込むように書き込み手段２２へライトイネーブル信号ＷＥを出力する（ステップ１０３）ことからなる。そして、記憶手段２１に書き込まれたパラレルコードがあるときにのみ当該パラレルコードを読み出すように読み出し手段２３を制御する機能と、記憶手段２１からパラレルコードを読み出す際にコード有効信号Ｖａｌｉｄを出力する機能とは、出力されたライトイネーブル信号ＷＥ及びリードイネーブル信号ＲＥを計数し（ステップ１０４）、計数されたライトイネーブル信号ＷＥ及びリードイネーブル信号ＲＥとの差分から、記憶手段２１における記憶領域の使用量を算出し（ステップ１０５）、算出された使用量が０でないときにのみ（ステップ１０６）、記憶手段２１からパラレルコードを読み出すようにリードイネーブル信号ＲＥを読み出し手段２３へ出力する（ステップ１０７）とともに読み出し手段２３を介してコード有効信号Ｖａｌｉｄを出力する（ステップ１０８）ことからなる。なお、本実施形態の制御プログラムは、ＦＰＧＡ（Field Programmable Gate Array）などのプログラマブル・デバイスに用いることもできる。また、レイテンシ削減の観点からは、プログラムよりも論理回路として実現することが好ましい。
【００５２】
本実施形態の制御方法及び制御プログラムのその他の構成、作用及び効果は、本実施形態のシリアル受信装置１０のそれらと同様である。
【００５３】
次に、本発明の他の実施形態について説明する。
【００５４】
コード（データ）幅をは、図１では１０ｂｉｔ（８Ｂ／１０Ｂデコーダ以降は８ｂｉｔ）としているが、これに限定しない。同様に、８Ｂ／１０Ｂデコーダも、コード（データ）幅の異なる同様の回路（３Ｂ／４Ｂデコーダ、５Ｂ／６Ｂデコーダなど）に置き換え可能である
【００５５】
８Ｂ／１０Ｂデコーダは、図４に構成を示しているが、本質的に同様の機能を有する回路であればよく、必ずしも図示したものと一致している必要はない。例えば、１０ｂｉｔ→８ｂｉｔ変換の前にＲＤ生成を行ってもよい。また、図４では１０ｂｉｔコード及び８ｂｉｔデータとＶａｌｉｄとの対応を示すためにＦ／Ｆを記載しているが、Ｆ／Ｆの段数は動作周波数等の条件を満足する限り増減してもよい。
【００５６】
図５乃至図８にＤｉｓｐａｒｉｔｙの値として［＋］、［中立］、［−］を示しているが、実際にはこの三通りに限る必要はない。ＲＤ生成、ＲＤチェック等の処理に必要な情報があれば、過不足なくＲＤ生成部に入力するものとする。
【００５７】
図５乃至図８の受信コードには、ＣＯＭの後にＳＫＰが三つ続くコード列を示しているが、このＳＫＰの数は必ずしも三つである必要はない。送信側では、周波数偏差の許容範囲等の条件に応じて、適切な数のＳＫＰを適切な間隔で埋め込めばよい。
【００５８】
次に、本発明の効果について総括する。
【００５９】
換言すると、本発明では、ＥＢからのコードの読み出しが連続しない場合でも正しくＲＤチェックが行える８Ｂ／１０Ｂデコーダを設計した。これにより、８Ｂ／１０Ｂデコーダの前段にあるＥＢに滞留するコードの数を減らすことが可能になるので、関連技術に比べＥＢにおけるレイテンシを４０％以上削減できる。つまり、コードが不連続であっても正しくＲＤチェックが行えるよう、８Ｂ／１０Ｂデコーダにコード有効信号を与え、次の有効なコードが到達するまで直前のＲＤ結果を保持するよう設計した。そのため、ＥＢでは、受信側クロックが送信側クロックよりも早い場合でも、単にコードの読み出しを止めればよい。コードの読み出しの停止は即時行うことができるため、ＥＢ使用量が０になってから読み出しを止めることも可能である（ただし、ＥＢ使用量を算出するためにライトポインタをリード側クロックへ乗り換える必要があり、すべりが発生する。真のＦＩＦＯ使用量は算出される値よりも大きい。これは関連技術でも全く同様である。）。結果として、ＥＢに滞留するコードを最小限に抑え、ＥＢへのコードの書き込みから読み出しまでのレイテンシを改善できる。
【００６０】
以上、上記実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細については、当業者が理解し得るさまざまな変更を加えることができる。
【００６１】
また、上記の実施形態の一部又は全部は以下の付記のようにも記載され得るが、本発明は以下の構成に限定されるものではない。
【００６２】
（付記１）シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能と、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能と、前記記憶手段から前記パラレルコードを読み出す際にコード有効信号を出力する機能とを有する制御部と、
前記コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
を備えたことを特徴とするシリアル受信装置。
【００６３】
（付記２）付記１記載のシリアル受信装置において、
前記制御部は、ライトイネーブル生成部、ライトポインタ、リードイネーブル生成部、リードポインタ及びＥＢ使用量算出部を有し、
前記ライトポインタは、前記ライトイネーブル生成部から出力されたライトイネーブル信号を計数し、
前記リードポインタは、前記リードイネーブル生成部から出力されたリードイネーブル信号を計数し、
前記ライトイネーブル生成部は、前記デシリアライザで変換された前記パラレルコードを解析することにより前記タイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外の前記パラレルコードを前記記憶手段に書き込むように前記書き込み手段へ前記ライトイネーブル信号を出力し、
前記ＥＢ使用量算出部は、前記ライトポインタで計数された前記ライトイネーブル信号と前記リードポインタで計数された前記リードイネーブル信号との差分から、前記記憶手段における記憶領域の使用量を算出し、
前記リードイネーブル生成部は、前記ＥＢ使用量算出部で算出された前記使用量が０でないときにのみ、前記記憶手段から前記パラレルコードを読み出すように前記リードイネーブル信号を前記読み出し手段へ出力するとともに前記読み出し手段を介して前記コード有効信号を出力する、
ことを特徴とするシリアル受信装置。
【００６４】
（付記３）付記１又は２記載のシリアル受信装置において、
前記デコーダは、前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティを保持するレジスタを有する、
ことを特徴とするシリアル受信装置。
【００６５】
（付記４）付記１、２又は３記載のシリアル受信装置において、
前記シリアルコードは、８Ｂ／１０Ｂによって符号化されており、
前記デコーダは、８Ｂ／１０Ｂデコーダであり、
前記タイミング調整用シンボルは、ＳＫＰシンボルである、
ことを特徴とするシリアル受信装置。
【００６６】
（付記５）シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
を備えたシリアル受信装置を制御する方法であって、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御し、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御し、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する、
ことを特徴とするシリアル受信装置の制御方法。
【００６７】
（付記６）付記５記載のシリアル受信装置の制御方法において、
前記デシリアライザで変換された前記パラレルコードを解析することにより前記タイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外の前記パラレルコードを前記記憶手段に書き込むように前記書き込み手段へ前記ライトイネーブル信号を出力することにより、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御し、
出力された前記ライトイネーブル信号及びリードイネーブル信号を計数し、計数された前記ライトイネーブル信号及び前記リードイネーブル信号との差分から、前記記憶手段における記憶領域の使用量を算出し、算出された前記使用量が０でないときにのみ、前記記憶手段から前記パラレルコードを読み出すように前記リードイネーブル信号を前記読み出し手段へ出力するとともに前記読み出し手段を介して前記コード有効信号を出力することにより、
前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御し、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する、
シリアル受信装置の制御方法。
【００６８】
（付記７）付記５又は６記載のシリアル受信装置の制御方法において、
前記シリアルコードは、８Ｂ／１０Ｂによって符号化されており、
前記デコーダは、８Ｂ／１０Ｂデコーダであり、
前記タイミング調整用シンボルは、ＳＫＰシンボルである、
ことを特徴とするシリアル受信装置の制御方法。
【００６９】
（付記８）シリアルコードからクロックを復元するクロック・データ・リカバリ回路と、
このクロック・データ・リカバリ回路で復元された前記クロックを用いて前記シリアルコードをパラレルコードに変換するデシリアライザと、
記憶手段と、前記デシリアライザで変換された前記パラレルコードを前記記憶手段に書き込む書き込み手段と、前記記憶手段から前記パラレルコードを読み出す読み出し手段とを有するエラスティックバッファと、
コード有効信号が出力されたときに、前記記憶手段から読み出された前記パラレルコードを復号化するとともに当該パラレルコードのランニング・ディスパリティを検出し、当該ランニング・ディスパリティと前回の前記コード有効信号が出力されたときに検出したランニング・ディスパリティとの規則性をチェックするデコーダと、
コンピュータと、
を備えたシリアル受信装置に用いられる制御プログラムであって。
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能と、前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能と、前記記憶手段から前記パラレルコードを読み出す際にコード有効信号を出力する機能と、
を前記コンピュータに実現するための、シリアル受信装置の制御プログラム。
【００７０】
（付記９）付記８記載のシリアル受信装置の制御プログラムにおいて、
前記デシリアライザで変換された前記パラレルコードのうちタイミング調整用シンボルを除いた残りのパラレルコードを前記記憶手段に書き込むように前記書き込み手段を制御する機能は、
前記デシリアライザで変換された前記パラレルコードを解析することにより前記タイミング調整用シンボルを検出し、当該タイミング調整用シンボル以外の前記パラレルコードを前記記憶手段に書き込むように前記書き込み手段へ前記ライトイネーブル信号を出力することからなり、
前記記憶手段に書き込まれた前記パラレルコードがあるときにのみ当該パラレルコードを読み出すように前記読み出し手段を制御する機能、及び、前記記憶手段から前記パラレルコードを読み出す際に前記コード有効信号を出力する機能は、
出力された前記ライトイネーブル信号及びリードイネーブル信号を計数し、計数された前記ライトイネーブル信号及び前記リードイネーブル信号との差分から、前記記憶手段における記憶領域の使用量を算出し、算出された前記使用量が０でないときにのみ、前記記憶手段から前記パラレルコードを読み出すように前記リードイネーブル信号を前記読み出し手段へ出力するとともに前記読み出し手段を介して前記コード有効信号を出力することからなる、
ことを特徴とするシリアル受信装置の制御プログラム。
【００７１】
（付記１０）付記８又は９記載のシリアル受信装置の制御プログラムにおいて、
前記シリアルコードは、８Ｂ／１０Ｂによって符号化されており、
前記デコーダは、８Ｂ／１０Ｂデコーダであり、
前記タイミング調整用シンボルは、ＳＫＰシンボルである、
ことを特徴とするシリアル受信装置の制御プログラム。
【産業上の利用可能性】
【００７２】
本発明は、シリアルコードを受信してパラレルコードに変換するシリアル受信装置等、例えば不連続コードに対応した８Ｂ／１０Ｂデコーダ設計によるシリアル受信装置等に利用可能である。
【符号の説明】
【００７３】
１０  シリアル受信装置
１１  ＣＤＲ回路（クロック・データ・リカバリ回路）
１２  デシリアライザ
２０  ＥＢ（エラスティックバッファ）
２１  記憶手段
２２  書き込み手段
２３  読み出し手段
３０  制御部
３１  ライトイネーブル生成部
３２  ライトポインタ
３３  リードイネーブル生成部
３４  リードポインタ
３５  ＥＢ使用量算出部
４０  ８Ｂ／１０Ｂデコーダ（デコーダ）
４１  １０ｂｉｔ→８ｂｉｔ変換部
４２  ＲＤ生成部
５１〜５８  シフトレジスタ
【図１】
2011250183.tif 000003
【図２】
2011250183.tif 000004
【図３】
2011250183.tif 000005
【図４】
2011250183.tif 000006
【図５】
2011250183.tif 000007
【図６】
2011250183.tif 000008
【図７】
2011250183.tif 000009
【図８】
2011250183.tif 000010
【図９】
2011250183.tif 000011
【図１０】
2011250183.tif 000012
【図１１】
2011250183.tif 000013