(57)【要約】      （修正有）【課題】コンマコードのビットずれに対応し、動作周波数の高速化の抑止。【解決手段】受信データの直並列変換回路と、並列転送されるシリアルデータとコンマコードとの一致を検出するコンマ検出回路と、該コンマ検出信号の活性化期間を所定期間延長出力する制御回路と、分周クロックに基づき遷移する状態マシンよりなり、受信データのビット長に対応した周期のリカバリークロックを生成し、制御回路の出力信号を受けリカバリークロックの周期を可変出力するリカバリークロック生成回路と、遅延回路と、遅延回路出力を受けパラレルデータに変換するシフトレジスタと、シフトレジスタ出力をパラレルに受け、リカバリークロックでサンプルしてパラレルデータを出力するラッチ回路を備え、ビットずれが生じた場合に、リカバリークロックを１周期だけ、ビットずれに応じて所定期間長くする。【選択図】  図２
2005295117.tif 000002
【特許請求の範囲】
【請求項１】
入力シリアルデータを受けて直並列変換し並列経路に出力する第１の直並列変換回路と、
前記第１の直並列変換回路から並列経路に出力される出力データと、予め定められた検査コードとの一致を検出したときに、検出信号を活性状態として出力するコード検出回路と、
前記入力シリアルデータの予め定められた所定ビット長分に対応した周期のリカバリークロックを生成し、前記コード検出回路からの前記検出信号が活性状態とされた場合には、前記検出信号のビットずれに応じて、前記リカバリークロックの周期を可変させて出力する回路と、
前記並列経路をシリアル転送されるデータをパラレルに変換し、前記リカバリークロックに応答して、パラレルデータを出力する第２の直並列変換回路と、
を備えている、ことを特徴とするデマルチプレクサ装置。
【請求項２】
前記入力シリアルデータの転送周波数を分周した周波数のクロック信号に基づき、前記検出信号が活性化されたとき、前記ビットずれに応じて、前記リカバリークロックを１周期だけ、所定時間長くするように設定する回路を備えている、ことを特徴とする請求項１に記載のデマルチプレクサ装置。
【請求項３】
前記入力シリアルデータの転送周波数を分周した周波数のクロック信号に基づき、前記検出信号が非活性状態のときは、前記入力シリアルデータの予め定められた所定ビット長分に対応した周期に従い前記リカバリークロックを周期的に生成する回路を備えている、ことを特徴とする請求項１又は２に記載のデマルチプレクサ装置。
【請求項４】
前記コード検出回路から出力される前記検出信号を受け、前記検出信号の活性状態の期間を延長させて出力する制御回路を備え、
前記制御回路からの出力信号が活性状態であり、前記リカバリークロックが非活性状態のとき、前記リカバリークロックを活性状態に設定する回路を備えている、ことを特徴とする請求項１又は２に記載のデマルチプレクサ装置。
【請求項５】
前記第１の直並列変換回路は、前記入力シリアルデータを直列に受けて１：２の直並列変換して第１、第２の経路に並列出力し、
前記第２の直並列変換回路は、
前記第１の経路のシフトレジスタと、前記第２の経路のシフトレジスタの対応する段の出力の入れ替えを行う切替回路と、
前記切替回路の出力を受け、前記リカバリークロックに応答してパラレルデータを出力するラッチ回路と、
を備えている、ことを特徴とする請求項１又は２に記載のデマルチプレクサ装置。
【請求項６】
受信シリアルデータを受け２系列に直並列変換して出力する直並列変換回路と、
前記直並列変換回路からの２系列の出力データと、予め定められた検査コードとの一致を検出すると、検出信号を活性化して出力するコード検出回路と、
受信クロックの分周クロックに基づき、状態を遷移する状態マシンよりなり、前記受信シリアルデータの所定のビット長に対応した周期のリカバリークロックを生成し、前記検出信号が活性化された場合に、ビットずれに応じて前記リカバリークロックの周期を可変して出力するリカバリークロック生成回路と、
前記２系列に分岐して伝送されるシリアルデータをパラレルデータに変換する第１、第２のシフトレジスタと、
前記第１、第２のシフトレジスタの各段の出力をパラレルに受け、前記リカバリークロックでサンプルしてパラレルデータを出力するラッチ回路と、
を備えている、ことを特徴とするデマルチプレクサ装置。
【請求項７】
受信シリアルデータを受け２系列に直並列変換して出力する直並列変換回路と、
前記直並列変換回路からの２系列の出力データと、予め定められた検査コードとの一致を検出すると、検出信号を活性化して出力するコード検出回路と、
前記コード検出回路からの前記検出信号を受け、前記検出信号を遅延させた信号と前記検出信号から、前記検出信号の活性状態の期間を所定の期間延長させた信号を出力する制御回路と、
受信クロックの分周クロックに基づき、状態を遷移する状態マシンよりなり、前記受信シリアルデータの所定のビット長に対応した周期のリカバリークロックを生成し、前記制御回路からの出力信号を受け、前記リカバリークロックの周期を可変して出力するリカバリークロック生成回路と、
前記２系列を伝送されるデータを、前記制御回路における遅延時間分遅延させる第１、第２の遅延回路と、
前記第１、第２の遅延回路の出力を受けそれぞれパラレルデータに変換する第１、第２のシフトレジスタと、
前記第１、第２のシフトレジスタの各段の出力をパラレルに受け、前記リカバリークロックでサンプルしてパラレルデータを出力するラッチ回路と、
を備えている、ことを特徴とするデマルチプレクサ装置。
【請求項８】
前記制御回路からの出力信号が活性状態であり、前記リカバリークロックが非活性状態のとき、前記状態マシンは、前記リカバリークロックを活性状態に設定する、ことを特徴とする請求項７に記載のデマルチプレクサ装置。
【請求項９】
前記第１、第２のシフトレジスタの対応する段の第１、第２の出力を受け、前記検出信号の所定のビットずれに応じて、第１、第２の出力を入れ替えて前記ラッチ回路に供給するセレクタ回路を備えている、ことを特徴とする請求項６乃至８のいずれか一に記載のデマルチプレクサ装置。
【請求項１０】
請求項１乃至９のいずれか一に記載のデマルチプレクサ装置を備えた半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送における受信装置に関し、受信シリアルデータをパラレルデータにアラインするデマルチプレクサ装置に関する。
【背景技術】
【０００２】
転送レートがギガビット帯域等の高速シリアル転送をサポートする高速通信用ＬＳＩ（大規模集積回路）の受信回路において、シリアルに転送される受信データをバイト単位のパラレルデータに変換する直並列変換回路（「デマルチプレクサ回路」、あるいは「ＤＥＭＵＸ」ともいう）が設けられる。この直並列変換回路は、シリアルに入力される受信データの中からバイトアライン用のヘッダバイトコード（「ＣＯＭＭＡコード」という）を検出するためのコード検出回路を備えている（後記特許文献１参照）。図１１は、後記特許文献１の第６図を、参考のために、引用したものである。図１１に示すように、直並列回路のコード検出回路ＣＯＤＴは、シリアルに入力される受信シリアルデータＳＤＲの直並列変換用シフトレジスタを構成するフリップフロップＦＦ６０〜ＦＦ６９の非反転又は反転出力信号の所定の組み合わせを受けるＮＡＮＤゲートＮＡ１０、ＮＡ１１と、ＮＡＮＤゲートの出力信号を受けるＮＯＲゲートＮＯ１を含む。ＮＡＮＤゲートＮＡ１０、ＮＡ１１の出力は、受信シリアルデータＳＤＲの連続する１０ビットとコンマコード（例えば論理”００１１１１１０１０”）との一致を検出したとき、コード検出信号ＣＯＭＤが、受信シリアルデータの１０ビットが論理”００１１１１１０１０”となった次の次のクロックサイクルでハイレベルとされ、これを受けて受信シリアルデータのパラレル転送が行われる。なお、後記特許文献１には、受信クロックにしたがって動作しこれに同期してシリアル入力される入力データの直前の所定ビットが検査対象となるコード（ＣＯＭＭＡコード）の対応するビットと一致しているときに選択的にその出力信号を有効レベルとするフリップフロップと、入力データの先頭の所定ビットが上記コードの対応するビットと一致し、あるいは前後のフリップフロップの出力信号が有効レベルとされ、入力データの例えば次の１ビットが上記コードの対応するビットと一致していることを識別して後段のフリップフロップに伝達する例えば２入力の論理ゲートとを順次交互に直列結合するコード検出回路が開示されている。
【０００３】
【特許文献１】特開平１１−１８７００２号公報（第２頁、第３頁、第６図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の直並列変換回路においては、ギガビット転送等の高速シリアル伝送に対応するため、コード検出回路をはじめ、デマルチプレクサ回路の各回路の高速動作が必要とされ、タイミング設計を困難とし、消費電力も増大する。
【０００５】
また、受信シリアルデータ中のコンマコードのビットずれに対する考慮（例えばタイミング違反の発生等）がなされていない。
【０００６】
したがって、本発明は、上記問題点に鑑みて創案されたものであって、その目的は、回路の動作周波数を低く保ったまま、データ転送レートの向上を可能としたデマルチプレクサ装置を提供することにある。
【０００７】
また、本発明の他の目的は、上記目的を達成しながら、コンマコードのビットずれに対応可能とするデマルチプレクサ装置を提供することにある。
【課題を解決するための手段】
【０００８】
本願で開示される発明は、前記目的を達成するため、概略以下の通りとされる。
【０００９】
本発明の１つのアスペクトに係るデマルチプレクサ装置は、入力シリアルデータを受けて直並列変換し並列経路に出力する第１の直並列変換回路と、前記第１の直並列変換回路から並列経路に出力される出力データと、予め定められた検査コードとの一致を検出したときに、検出信号を活性状態として出力するコード検出回路と、前記入力シリアルデータの予め定められた所定ビット長分に対応した周期のリカバリークロックを生成し、前記コード検出回路で検査コードが検出された場合には、前記検出信号のビットずれに応じて前記リカバリークロックの周期を可変させて出力する回路と、前記並列経路をシリアル転送されるデータをパラレルに変換し、前記リカバリークロックに応答してパラレルデータを出力する第２の直並列変換回路と、を備えている。
【００１０】
本発明に係るデマルチプレクサ装置においては、前記入力シリアルデータの転送周波数を分周した周波数のクロック信号に基づき、前記検出信号が活性化されたとき、前記ビットずれに応じて、前記リカバリークロックを１周期だけ、所定時間長くするように設定する回路を備えている。
【００１１】
本発明に係るデマルチプレクサ装置においては、前記入力シリアルデータの転送周波数を分周した周波数のクロック信号に基づき、前記検出信号が非活性状態のときは、前記入力シリアルデータの予め定められた所定ビット長分に対応した周期に従い前記リカバリークロックを生成する回路を備えている。
【００１２】
本発明に係るデマルチプレクサ装置においては、前記コード検出回路から出力される前記検出信号を受け、前記検出信号の活性状態の期間を延長させて出力する制御回路を備え、前記制御回路からの出力信号が活性状態であり、前記リカバリークロックが非活性状態のとき、前記リカバリークロックを活性状態に設定する回路を備えている。
【００１３】
本発明に係るデマルチプレクサ装置においては、前記第１の直並列変換回路は、前記入力シリアルデータを直列に受けて１：２の直並列変換して第１、第２の経路に並列出力し、前記第２の直並列変換回路は、前記第１の経路のシフトレジスタと、前記第２の経路のシフトレジスタの対応する段の出力の入れ替えを行う切替回路と、前記切替回路の出力を受け、前記リカバリークロックに応答してパラレルデータを出力するラッチ回路と、を備えている。
【発明の効果】
【００１４】
本発明によれば、直並列変換回路におけるシフトレジスタ、コンマ検出回路を分周クロックで動作させることで、動作周波数を低減することができる。
【００１５】
また、本発明によれば、ビットずれに対して、バイトアラインを的確に行うことができる。
【発明を実施するための最良の形態】
【００１６】
上記した本発明についてさらに詳細に説述すべく、発明を実施するための最良の形態について以下に説明する。本発明の一実施の形態に係る装置は、受信シリアルビットデータを入力し直並列変換（一例として１：２に直並列変換）する直並列変換回路（２０）と、直並列変換回路（２０）から並列経路に出力されるデータ（並列経路をそれぞれ受信クロックの分周クロックで転送されるシリアルデータ）とコンマコード（Ｃｏｍｍａ）との一致を検出すると、コンマ検出信号を活性状態として出力するコード検出回路（３０）と、コード検出回路（３０）からのコンマ検出信号を受け、該コンマ検出信号の活性状態の期間（パルス幅）を所定の期間延長させた信号を出力する制御回路（１３７−１３９、４０）と、分周クロックに基づき状態を遷移する状態マシンよりなり、受信シリアルデータの一シンボル長（例えば１０ビット）に対応した周期のリカバリークロックを生成し、制御回路（４０）からの出力信号を受け、ビットずれに応じて、リカバリークロックの周期を可変させて出力するリカバリークロック生成回路（５０）と、並列の第１、第２の経路をそれぞれシリアルに伝送されるデータを制御回路（１３７−１３９）における遅延時間分遅延させる第１、第２の遅延回路（１３１−１３３、１３４−１３６）と、第１、第２の遅延回路の出力を受けそれぞれパラレルデータに変換する第１、第２のシフトレジスタ（１２１−１２５、１２６−１３０）と、第１、第２のシフトレジスタの各段の出力をパラレルに受け、前記リカバリークロックでサンプルしてパラレルデータを出力するラッチ回路（７０）とを備えている。
【００１７】
本実施の形態によれば、入力段で受信クロックを２分周しており、コンマ検出回路、リカバリークロック生成回路、並列経路を構成するシフトレジスタ等の動作周波数を低減させている。
【００１８】
また、本実施の形態によれば、コンマコード（Ｃｏｍｍａ）にビットずれが生じた場合に、リカバリークロックを１周期だけ、コンマ検出信号のビットずれに応じて所定期間長くするように設定する構成とされており、さらに、後段の回路のタイミング余裕を拡げている（タイミング違反の発生を回避している）。あるいは、別の実施の形態として、ビットずれが生じた場合に、リカバリークロックを１周期だけ、ビットずれに応じて周期を短くする構成としてもよい。
【実施例】
【００１９】
本発明の実施例について、添付図面を参照して以下に説明する。
【００２０】
図１は、本発明の一実施例の動作原理を説明するための図である。図１は、１：１０のシリアルパラレル変換及びバイトアラインを行う高速シリアルインタフェースのデマルチプレクサ装置（マクロ）のタイミング動作を説明するための図である。図１に示すように、転送レートｆ［ｂｐｓ］のシリアルデータ入力に対して、ｆ／１０［ｂｐｓ］のリカバリーデータ（…、Ｄａｔａ[ｎ−１]、Ｄａｔａ[ｎ]、Ｃｏｍｍａ）と、ｆ／１０［Ｈｚ］のリカバリークロックが生成される（なお、受信シリアルデータは８Ｂ１０Ｂ変換されている）。受信シリアルデータから１シンボル（１０ビット）ごとに、リカバリークロックの立ち上がりエッジに応じて、バイトアラインが行われ、１０ビットパラレルデータが出力される。さらに、例えば前述したように、所定の論理ビット値からなる１０ビットのコンマコード（Ｃｏｍｍａ）が検出されると、リカバリークロックの周期の調整が行われる。本実施例では、バイトアラインメントのレイテンシを低くするため、１：２のシリアル／パラレル変換された２ビットのパラレルデータに対して、アラインメントを行っている。
【００２１】
この回路形式では、バイトアラインメントを行う瞬間に、リカバリークロックの周期が変化する。
【００２２】
受信シリアルデータ中のコンマコードの位置は、図１に示すように、同期から９ビットずれまでの１０通りある。コンマコードとシンボルデータとの間に、隙間が無い場合（図１の「同期コンマ」参照）は、リカバリークロックの周期の調整は行われない。
【００２３】
コンマコードが１０ビットのシンボルに対して１〜９ビットずれている場合には、リカバリークロックの周期の調整が行われる。リカバリークロックの周期は、コンマコードのビットずれに応じて、瞬間的にｆ／１０〜ｆ／１８［Ｈｚ］の５通りに変化する。なお、リカバリークロックの周期の変化は、１回のアラインメントで、１周期だけ生じる。
【００２４】
本実施例におけるコンマコード（Ｃｏｍｍａ）のずれ量と、リカバリークロックの周期の調整の対応は、以下の通りである。
【００２５】
（Ａ）同期コンマ、１ビットずれのコンマコードに対するリカバリークロックの周期はｆ／１０［Ｈｚ］、
（Ｂ）２、３ビットずれのコンマコードに対するリカバリークロックの周期はｆ／１２［Ｈｚ］、
（Ｃ）４、５ビットずれのコンマコードに対するリカバリークロックの周期はｆ／１４［Ｈｚ］、
（Ｄ）６、７ビットずれのコンマコードに対するリカバリークロックの周期はｆ／１６［Ｈｚ］、
（Ｅ）８、９ビットずれのコンマコードに対するリカバリークロックの周期はｆ／１８［Ｈｚ］、
となる。
【００２６】
図２は、本実施例の構成を示す図である。図２には、受信シリアルデータ（８Ｂ１０Ｂ変換されている）を受け、リカバリークロックにより１０ビットパラレルデータに変換するデマルチプレクサ回路の構成が示されている。このデマルチプレクサ回路（マクロ）は、高速シリアルインタフェース通信用ＬＳＩに用いられる。なお、図２において、シリアルデータの転送レートは、ｆ［ｂｐｓ］とされる。
【００２７】
図２を参照すると、本実施例のデマルチプレクサ回路は、受信シリアルビットデータを入力し、１：２に直並列変換する直並列変換回路２０と、直並列変換回路２０の一方の出力を受けるシフトレジスタ（フリップフロップ列１０１〜１０６）と、直並列変換回路２０の他方の出力を受けるシフトレジスタ（フリップフロップ列１０７〜１１２）と、フリップフロップ列１０１〜１０５、フリップフロップ列１０７〜１１１の出力とコンマ信号との一致を検出し、一致を検出した場合、コンマ検出信号（パルス幅２ＵＩ；ＵＩはUnit  Intervalで１UIは１ビット期間）を活性状態として出力するコンマ検出回路３０と、フリップフロップ１３７、１３８、１３９からなるシフトレジスタと、コンマ検出回路３０からのコンマ検出信号と、フリップフロップ１３７、１３８、１３９からの出力信号とを入力し、これらの信号を多重化して出力するＯＲ回路４０と、ＯＲ回路４０からの出力信号を受け、リカバリークロックを生成するリカバリークロック生成回路５０と、シフトレジスタを構成する３段のフリップフロップ１３１、１３２、１３３、フリップフロップ１３４、１３５、１３６と、フリップフロップ１２１〜１２５、フリップフロップ１２６〜１３０と、セレクタ６０と、リカバリークロック生成回路５０からのリカバリークロックで１０ビットパラレルデータをラッチして出力するラッチ７０とを備えている。なお、図２において、直並列変換回路２０から後段に位置するフリップフロップ（１０１〜１３９）は、受信クロック（周波数＝ｆ［Ｈｚ］）を分周回路（不図示）で２分周した分周クロック（「ｆ／２クロック」ともいう）で駆動される。受信クロックは受信シリアルデータを入力してクロックを生成出力するリカバリークロック生成回路（不図示）で生成される。
【００２８】
フリップフロップ１３７、１３８、１３９は、ｆ／２クロックにより、コンマ検出回路３０からのコンマ検出信号を、２ＵＩ、４ＵＩ、６ＵＩ遅延させた信号をそれぞれ出力し、これらの信号を入力するＯＲ回路４０からは、コンマ検出回路３０から出力されるコンマ検出信号（パルス幅＝２ＵＩ）のロウレベルからハイレベルへ遷移した時点から８ＵＩの期間ハイレベルとされる信号が出力される。
【００２９】
３段のフリップフロップ１３１、１３２、１３３、及びフリップフロップ１３４、１３５、１３６は、コンマ検出信号を遅延させるフリップフロップ１３７、１３８、１３９に対応して、データを遅延させるものである。
【００３０】
フリップフロップ１２１〜１２５、フリップフロップ１２６〜１３０はそれぞれシリアル５ビットをパラレルに変換する。
【００３１】
セレクタ６０は、コンマ検出回路３０が、コンマの先頭ビットを偶数ビット列、奇数ビット列のどちらで見つけたかにしたがって、出力ビットの位置を入れ替える。また、セレクタ６０は、例えば、コンマコードの１ビットずれのとき、入れ替えを行う。
【００３２】
セレクタ６０は、コンマ検出回路３０からの切替信号を選択制御信号として入力し、フリップフロップ１２５の出力とフリップフロップ１３０の出力を第１ビット、第２ビットとして出力するか、フリップフロップ１２５の出力を第２ビット、フリップフロップ１３０の出力を第１ビットとして出力するか切替制御する。また、セレクタ６０は、コンマ検出回路３０からの切替信号に基づき、フリップフロップ１２４の出力とフリップフロップ１２９の出力を、第３ビット、第４ビットとして出力するか、第４ビット、第３ビットと入れ替えて出力するか制御し、フリップフロップ１２３の出力とフリップフロップ１２８の出力を、第５ビット、第６ビットとして出力するか、第６ビット、第５ビットとして入れ替えて出力するか制御し、フリップフロップ１２２の出力とフリップフロップ１２７の出力を、第７ビット、第８ビットとして出力するか、第８ビット、第７ビットと入れ替えて出力するか制御し、フリップフロップ１２１の出力とフリップフロップ１２６の出力を、第９ビット、第１０ビットとして出力するか、第１０ビット、第９ビットと入れ替えて出力するか制御する。
【００３３】
図３は、図１のリカバリークロック生成回路５０の構成の一例を示す図である。図３を参照すると、このリカバリークロック生成回路５０は、３段のフリップフロップ５０１、５０３、５０６（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）からなる状態（ｓｔａｔｅ）マシン（５進カウンタ）よりなり、受信クロック（周波数：ｆ［Ｈｚ］）を２分周したｆ／２クロックで駆動される。リカバリークロック生成回路５０は、コンマ検出信号と、フリップフロップ５０６の出力をインバータ５０９で反転した信号を入力とするＮＡＮＤ回路５１０と、フリップフロップ５０１の出力とＮＡＮＤ回路５１０の出力を受けるＮＡＮＤ回路５０２と、ＮＡＮＤ回路５０２の出力をｆ／２クロックでサンプルして出力するフリップフロップ５０３と、フリップフロップ５０３の出力とＮＡＮＤ回路５１０の出力を受けるＮＡＮＤ回路５０４と、ＮＡＮＤ回路５０４の出力を受けるインバータ５０５と、インバータ５０５の出力をｆ／２クロックでサンプルして出力するフリップフロップ５０６と、フリップフロップ５０６の出力を受けるインバータ５０８と、ＮＡＮＤ回路５０４とインバータ５０８の出力を受けるＮＯＲ回路５０７とを備え、フリップフロップ５０１は、ＮＯＲ回路５０７の出力を、ｆ／２クロックでサンプルして出力する。
【００３４】
図４は、図３の３段のフリップフロップ５０１、５０３、５０６（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）の状態遷移の過程を示す図である。なお、図４において、状態は、○で囲んで示している数字である。
【００３５】
図３及び図４に示すように、リカバリークロック生成回路５０は、１〜５の５つの状態をとり、ｆ／２クロックを５分周してｆ／１０［Ｈｚ］のリカバリークロックを生成する。リカバリークロックのハイレベル期間は、状態３、４、５の６ＵＩであり、ロウレベル期間は、状態１、２の４ＵＩであり、ｆ／２クロックをカウントする５進カウンタである。コンマ検出信号がロウレベル（論理０）の場合、ｆ／２クロックに基づき状態１〜５の間を遷移する５進カウンタとして機能する。ＮＡＮＤ回路５１０により、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）のときは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定される。リカバリークロックがハイレベル期間に、コンマ検出信号がハイレベル（論理１）となっても、状態マシンは状態３、４、５の状態から次の状態に遷移する。
【００３６】
図３の回路動作についてその概略を説明しておくと、コンマ検出信号がロウレベルのとき、状態１の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、０、０）のとき、ＮＡＮＤ回路５１０、５０２、５０４、インバータ５０５、５０８、ＮＯＲ回路５０７、インバータ５０９の出力は、（１、１、１、０、１、０、１）となる。次のｆ／２クロックで、フリップフロップ５０３は論理１となり、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）となる。このとき、ＮＡＮＤ回路５１０、５０２、５０４、インバータ５０５、５０８、ＮＯＲ回路５０７、インバータ５０９の出力は（１、１、０、１、１、０、１）となり、次のｆ／２クロックでフリップフロップ５０６は論理１となり、状態３の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、１）となる。以降も同様にして、ｆ／２クロックを受けて、状態４、５、１と遷移する。コンマ検出信号がロウレベルのとき、フリップフロップ５０６から出力されるリカバリークロックは、ハイレベル期間が６ＵＩ、ロウレベル期間が４ＵＩの周期１０ＵＩ（周波数ｆ／１０）のクロック波形として出力される。
【００３７】
なお、状態６の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（１、０、０）は次のｆ／２クロックで状態１とされる。状態８の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（１、１、０）はｆ／２クロックで状態７の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、０、１）とされ、さらに次のｆ／２クロックで、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）とされる。コンマ検出信号がロウレベルのとき、５進カウンタの状態は、状態１〜５の間で方向性をもって遷移し、図４の状態６、７、８への遷移はなく、取り得ない状態である。
【００３８】
そして、図２のＯＲ回路４０から出力されるコンマ検出信号がハイレベル（論理１）のとき、リカバリークロックがロウレベル（論理０）の場合、ＮＡＮＤ回路５１０の出力はロウレベルとなり、ＮＡＮＤ回路５０２の出力とＮＡＮＤ回路５０４の出力は、ともにハイレベルとされ、図３の状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定保持される。
【００３９】
コンマ検出信号がハイレベル（論理１）のとき、リカバリークロック生成回路５０から出力されるリカバリークロックがハイレベルのとき（状態３、４、５のいずれかにあるとき）には、ＮＡＮＤ回路５１０の出力はハイレベルとなり、図３の状態マシンは、現在の状態から次の状態への遷移をつづける。コンマ検出信号がハイレベル（論理１）のとき、リカバリークロックがロウレベル（論理０）の場合のように、状態２に保持されることはない。
【００４０】
図５は、リカバリークロック生成回路５０の動作を、コンマコードのビットずれに対応して説明するための図である。なお、図５において、状態は、○で囲んで示している数字である。リカバリークロック生成回路５０に対して、ＯＲ回路４０から入力されるコンマ検出信号は、８ＵＩのパルス幅を有する。
【００４１】
同期ビット、及びコンマコードの１ビットずれのときは、図５（ｂ）に示すように、リカバリークロックの周期はｆ／１０となる。すなわち、図５（ｂ）に示すように、リカバリークロックの立ち上がり遷移（状態３への遷移）のとき、コンマ検出信号がハイレベルとされ、図３の状態マシンは、状態４→状態５→状態１と遷移する。状態１において、リカバリークロックはロウレベルとなる。コンマ検出信号がハイレベルであり、リカバリークロックがロウレベルの場合、図３の状態マシンは、次のｆ／２クロックで状態２に設定される。このとき、コンマ検出信号はロウレベルであるため、次のｆ／２クロックで状態３に遷移する。よって、リカバリークロックの周期はｆ／１０となる。
【００４２】
コンマコードが２、３ビットずれのときは、図５（ｃ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／１２と長くなる。すなわち、図５（ｃ）に示すように、状態３のとき、コンマ検出信号がハイレベルとされ、図３の状態マシンは、状態４→状態５→状態１と遷移し、リカバリークロックはロウレベルとなる。このとき、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）であるため、図３の状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定される。次にｆ／２クロックサイクルでも、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）であるため、図３の状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に保持される（状態３へ遷移しない）。コンマ検出信号がロウレベル（論理０）となると、図３の状態マシンは、状態３へ遷移する。このようにして、コンマコードに２、３ビットずれがあるとき、リカバリークロックは、一回だけ、その周期が伸ばされてｆ／１２となる。次のサイクルからは、リカバリークロックの周期はｆ／１０となる。
【００４３】
コンマコードが４、５ビットずれのときは、図５（ｄ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／１４と長くなる。すなわち、図５（ｄ）に示すように、例えば状態４のとき、コンマ検出信号がハイレベルとされ（コンマ検出信号は最大２ＵＩおくれている）、図３の状態マシンは、状態４→状態５→状態１と遷移し、リカバリークロックは、ロウレベルとなる。このとき、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）であるため、状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定保持される（状態３へ遷移しない）。次にクロックサイクルでも、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）であるため、図３の状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に保持される（状態３へ遷移しない）。そして、コンマ検出信号がロウレベル（論理０）となると、図３の状態マシンは状態３へ遷移する。このようにして、コンマコードに４、５ビットずれがあるとき、リカバリークロックは一回だけ、周期が伸ばされてｆ／１４となる。次のサイクルからは、リカバリークロックの周期はｆ／１０となる。
【００４４】
コンマコードが６、７ビットずれのときは、図５（ｅ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／１６と長くなる。すなわち、図５（ｅ）に示すように、例えば状態５のとき（図５（ｂ）の場合よりも６ＵＩ遅れる）、コンマ検出信号がハイレベルとされ、図３の状態マシンは、状態５→状態１と遷移し、リカバリークロックはロウレベルとなる。このとき、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）であるため、状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定保持される。図５（ｅ）に示すように、４クロックサイクル分、図３の状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定されたままとされる。コンマ検出信号が、ロウレベル（論理０）となると、図３の状態マシンは、状態２から状態３へ遷移する。このようにして、コンマコードに、６、７ビットずれがあるとき、リカバリークロックは一回だけ、その周期が伸ばされて、ｆ／１６となる。次のサイクルからは、リカバリークロックの周期はｆ／１０となる。
【００４５】
コンマコードが８、９ビットずれのときは、図５（ｆ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／１８と長くなる。すなわち、図５（ｆ）に示すように、例えば状態１のとき（図５（ｂ）の場合よりも８ＵＩ遅れる）、コンマ検出信号がハイレベルとされ、カウンタは状態１の状態でリカバリークロックはロウレベルとなる。このとき、コンマ検出信号がハイレベル（論理１）、リカバリークロックがロウレベル（論理０）であるため、状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定される。そして、つづく５クロックサイクル分（１０ＵＩ分）、図３の状態マシンは、状態２の（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（０、１、０）に設定されたままとされる。コンマ検出信号が、ロウレベル（論理０）となると、図３の状態マシンは、状態２から状態３へ遷移する。このようにして、コンマコードに、６、７ビットずれがあるとき、リカバリークロックは一回だけ、周期が伸ばされてｆ／１８となる。次のサイクルからは、リカバリークロックの周期はｆ／１０となる。
【００４６】
このように、本実施例によれば、リカバリークロック生成回路５０を、リカバリークロックがハイレベル期間には、コンマ検出信号をマスクするような制御を行う構成としたことにより、シリアルデータ中に、コンマコードがどのようなタイミングで入来しても、バイトアライン時に、リカバリークロックのクロック周期が長くなるように構成したことで、十分なタイミングマージンを確保しており、高速シリアルインタフェースに適用した場合にも、リカバリークロックで駆動される回路、あるいは、リカバリークロックによりバイトアラインされるパラレルデータを受ける後段の回路（不図示）に、タイミング違反等を引き起こさない。
【００４７】
図６は、本発明の第２の実施例の構成を示す図である。前記実施例では、受信シリアルデータ中にコンマコードがどのようなタイミングに入来しても、バイトアライン時に、リカバリークロックのクロック周期が長くなるように構成している。これに対して、本発明の第２の実施例では、デマルチプレクサ回路の入力段で、受信シリアルデータを１：２で直並列変換し、内部動作を受信クロックを２分周した分周クロックで駆動する構成は、前記実施例と同様の構成としているが、コンマコードとシンボルデータとの間のビットずれに応じて、バイトアライン時にリカバリークロックのクロック周期を、必ずしも長くしなくてもよいような応用に用いられる。
【００４８】
本実施例におけるコンマコードのビットずれ量とリカバリークロックの周期の変化は、以下の通りである。
【００４９】
（Ａ）同期コンマ、１ビットずれのコンマに対するリカバリークロックの周期はｆ／１０［Ｈｚ］、
（Ｂ）２、３ビットずれのコンマコードに対するリカバリークロックの周期はｆ／１２［Ｈｚ］、
（Ｃ）４、５ビットずれのコンマコードに対するリカバリークロックの周期はｆ／４［Ｈｚ］、
（Ｄ）６、７ビットずれのコンマコードに対するリカバリークロックの周期はｆ／６［Ｈｚ］、
（Ｅ）８、９ビットずれのコンマコードに対するリカバリークロックの周期はｆ／８［Ｈｚ］、
となる。
【００５０】
図７は、本発明の第２の実施例の構成を示す図である。図７において、図２と同一の要素には、同一の参照符号が付されている。同一部分の説明は省略し、以下では、前記実施例との相違点について説明する。
【００５１】
本発明の第２の実施例においては、図２に示した構成において、クロック検出信号のハイレベル期間を延ばすための回路（図２のＯＲ４０、フリップフロップ１３７、１３８、１３９）を省略し、これに伴い、フリップフロップ１３１−１３３、フリップフロップ１３４−１３６が省かれている。さらに、本発明の第２の実施例のリカバリークロック生成回路５０Ａの構成も、前記実施例のリカバリークロック生成回路５０と相違している。
【００５２】
図８は、リカバリークロック生成回路５０Ａの構成を示す図である。図９は、図８のリカバリークロック生成回路５０Ａの状態遷移を示す図である。図８及び図９に示すように、このリカバリークロック生成回路５０Ａは、図３の構成と同様、３段のフリップフロップ５０１、５０３、５０６よりなる５進のカウンタよりなり、状態３→状態４→状態５の期間でリカバリークロックをハイレベルとし、状態１→状態２で、リカバリークロックをロウレベルとする。フリップフロップ５０１の出力を受けるインバータ５１１と、コンマ検出信号を反転するインバータ５１５と、インバータ５１１、５１５の出力を受けるＮＡＮＤ回路５１２と、ＮＡＮＤ回路５１２の出力をｆ／２クロックでサンプルして出力するフリップフロップ５０３と、フリップフロップ５０３の出力を受けるインバータ５１４と、コンマ検出信号と、インバータ５１４の出力を受けるＮＯＲ回路５１６と、ＮＯＲ回路５１６の出力をｆ／２クロックでサンプルして出力するフリップフロップ５０６と、ＮＯＲ回路５１６の出力とフリップフロップ５０６の出力とを入力とするＮＡＮＤ回路５１８と、を備え、フリップフロップ５０１は、ＮＡＮＤ回路５１８の出力をｆ／２クロックでサンプルして出力する。なお、ハイレベルのコンマ検出信号が入力されない場合、図８の状態マシンは、図９に示すように、状態１乃至５の５つの状態を順次遷移し、状態６−８はとり得ない状態とされる。
【００５３】
図８に示したように、本実施例のリカバリークロック生成回路５０Ａは、図３に示した状態マシンの構成から、リカバリークロックがロウレベルでコンマ検出信号がハイレベルのとき、図４の状態２へ設定する制御回路（図３のＮＡＮＤ回路５１０）が省かれている。図８に示す構成の場合、コンマ検出信号がハイレベルのとき、インバータ５１５を介してロウレベルがＮＡＮＤ回路５１２に入力され、ＮＡＮＤ回路５１２の出力はハイレベルとなる。また、コンマ検出信号がハイレベルのとき、ＮＯＲ回路５１６の出力はロウレベルとなり、ＮＡＮＤ回路５１８の出力は、ハイレベルとなる。すなわち，図８の状態マシンは、コンマ検出信号がハイレベル（パルス幅＝２ＵＩ）のとき、次のｆ／２クロックで（ｒｅｇ０，ｒｅｇ１，ｒｅｇ２）＝（１，１，０）に設定される。
【００５４】
図１０は、リカバリークロック生成回路５０Ａの動作をビットずれに対応して説明するための図である。なお、図１０において、状態は、○で囲んで示している数字である。リカバリークロック生成回路５０Ａに対して、コンマ検出信号は、２ＵＩのパルス幅を有する。
【００５５】
同期ビット、及び１ビットずれのときは、図１０（ｂ）に示すように、リカバリークロックの周期はｆ／１０となる。
【００５６】
コンマコードが２、３ビットずれのときは、図１０（ｃ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／１２と長くなる。図１０（ｃ）において、リカバリークロックがロウレベルを３サイクル続ける期間のはじめの状態２で、コンマ検出信号のハイレベル期間（２ＵＩ）となり、次のサイクルで状態２に設定される。そして、このとき、コンマ検出信号はロウレベルとされるため、次のサイクルで状態３に遷移する。このようにして、コンマコードに２、３ビットずれがあるとき、リカバリークロックの周期は一回だけ、ｆ／１２と長くなる（周波数低くなる）。次のサイクルからリカバリークロックの周期はｆ／１０となる。
【００５７】
コンマコードが４、５ビットずれのときは、図１０（ｄ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／４と短くなる。図１０（ｄ）の矢印ｆ／４で示す状態３と状態２の期間のうち例えば状態３で、コンマ検出信号のハイレベル期間となり、次のサイクルで状態２に設定される。そして、このとき、コンマ検出信号はロウレベルとされるため、次のサイクルで状態３に遷移する。このようにして、コンマコードに４、５ビットずれがあるとき、リカバリークロックの周期は一回だけ、周期が短縮されｆ／４となる。次のサイクルからリカバリークロックの周期はｆ／１０となる。
【００５８】
コンマコードが６、７ビットずれのときは、図１０（ｅ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／６と短くなる。すなわち、図１０（ｅ）の矢印ｆ／６で示す、状態３、４、２の期間のうち例えば状態４で、コンマ検出信号のハイレベル期間となり、次のサイクルで状態２に設定される。そして、このとき、コンマ検出信号はロウレベルとされるため、次のサイクルで状態３に遷移する。このようにして、コンマコードに、６、７ビットずれがあるとき、リカバリークロックは一回だけ、周期が短縮され、ｆ／６となる。次のサイクルからリカバリークロックの周期はｆ／１０となる。
【００５９】
コンマコードが８、９ビットずれのときは、図１０（ｆ）に示すように、リカバリークロックの周期は１サイクルだけ、ｆ／８と短くなる。すなわち、図１０（ｆ）の矢印ｆ／８で示す、状態３、４、５、２の期間のうち例えば状態５で、コンマ検出信号のハイレベル期間となり、次のサイクルで状態２に設定される。そして、このとき、コンマ検出信号はロウレベルとされるため、次のサイクルで状態３に遷移する。このようにして、コンマコードに、８、９ビットずれがあるとき、リカバリークロックは一回だけ、周期が短縮され、ｆ／８となる。次のサイクルからリカバリークロックの周期はｆ／１０となる。本実施例では、ビットずれに応じて、リカバリークロックの周期が、ｆ／４、ｆ／６、ｆ／８等とｆ／１０よりも短くなるが、前記実施例と比較して回路構成は簡易化する。
【００６０】
以上本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００６１】
【図１】本発明の第１の実施例の動作原理を説明するための図である。
【図２】本発明の第１の実施例のデマルチプレクサ回路の構成を示す図である。
【図３】本発明の第１の実施例のリカバリークロック生成回路の構成を示す図である。
【図４】本発明の第１の実施例のリカバリークロック生成回路における状態遷移を示す図である。
【図５】本発明の第１の実施例におけるビットずれ時のコンマ検出信号とリカバリークロックの信号波形を示す図である。
【図６】本発明の第２の実施例の動作原理を説明するための図である。
【図７】本発明の第２の実施例のデマルチプレクサ回路の構成を示す図である。
【図８】本発明の第２の実施例のリカバリークロック生成回路の構成を示す図である。
【図９】本発明の第２の実施例のリカバリークロック生成回路における状態遷移を示す図である。
【図１０】本発明の第２の実施例におけるビットずれ時のコンマ検出信号とリカバリークロックの信号波形を示す図である。
【図１１】従来のコード検出回路（特許文献第６図）の構成を示す図である。
【符号の説明】
【００６２】
２０  直並列変換回路
３０  コンマ検出回路
４０  ＯＲ回路
５０、５０Ａ  リカバリークロック生成回路
６０  セレクタ
７０  ラッチ
１０１〜１３９  フリップフロップ
５０１、５０３、５０６  フリップフロップ
５０２、５０４、５１０、５１２、５１８  ＮＡＮＤ回路
５０７、５１６  ＮＯＲ回路
５０５、５０８、５０９、５１１、５１４、５１５  インバータ
【図１】
2005295117.tif 000003
【図２】
2005295117.tif 000004
【図３】
2005295117.tif 000005
【図４】
2005295117.tif 000006
【図５】
2005295117.tif 000007
【図６】
2005295117.tif 000008
【図７】
2005295117.tif 000009
【図８】
2005295117.tif 000010
【図９】
2005295117.tif 000011
【図１０】
2005295117.tif 000012
【図１１】
2005295117.tif 000013