(57)【要約】【課題】高速の通信速度に対応可能で信頼性の高い、かつ、テストが容易であるビット同期回路を提供する。【解決手段】ビットデータ伝送に際し、シリアルデータをクロック信号によって同期化するビット同期回路において、所定の基準クロックから、位相の異なる複数のクロック信号を生成し、生成されたクロック信号が所定数おきに取り出されてなるグループ毎に、シリアルデータからエッジ位置を検出し、そのエッジ位置をあらわすエッジ信号を生成し、生成されたエッジ信号を基づき、同期タイミング信号を生成し、生成された同期タイミング信号に基づき、上記位相の異なる複数のクロック信号の中から、シリアルデータを同期化するクロック信号に適した書込み用クロック信号を選択する。【選択図】図２
2006345570.tif 000002
【特許請求の範囲】
【請求項１】
ビットデータ伝送に際し、シリアルデータをクロック信号によって同期化するビット同期回路において、
所定の基準クロックから、位相の異なる複数のクロック信号を生成する位相比較クロック生成手段と、
上記位相比較クロック生成手段により生成されたクロック信号が所定数おきに取り出されてなるグループ毎に設定され、それぞれ、シリアルデータからエッジ位置を検出し、該エッジ位置をあらわすエッジ信号を生成する複数のエッジ検出手段と、
上記各エッジ検出手段により生成されたエッジ信号を基づき、同期タイミング信号を生成するクロック判定手段と、
上記クロック判定手段により生成された同期タイミング信号に基づき、上記位相の異なる複数のクロック信号の中から、シリアルデータを同期化するクロック信号に適した書込み用クロック信号を選択するクロック選択手段とを有していることを特徴とするビット同期回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速シリアル通信技術に用いられるビット同期回路及びそれが内蔵された半導体装置に関する。
【背景技術】
【０００２】
周知の通り、高速シリアル通信技術では、一般的に、送信側と受信側で同じ周波数の基準クロックを用いて、お互いに予め決められた送信及び受信速度でデータが送受信される。送信側から送られたデータを受信側で正確に受信するためには、送信側と受信側とが互いに同期して動作する必要がある。１つの方法としては、データ信号とともに同期するためのクロック信号を送信側及び受信側に供給する方法もあるが、近年の数百ＭＨｚ〜数十ＧＨｚという高速なシリアル通信においては、波形の歪み，反射，ケーブル及びボード上の信号の干渉等の問題があることから、通信に使うクロック信号をデータ信号と別に送る代わりに、送信側でデータ信号に冗長なデータビットを付加して、一定時間にデータ信号の遷移が保証されるような符号化が行われ、データ信号が送信される。通常、受信側では、送信側から送られてきたデータがタイミング情報を含んでいることから、データがサンプリングされ、サンプリング後、余分なビットが復号化される。
【０００３】
例えば、送信側でＮＲＺ（Non‐Return to Zero）コーディングされたデータを受信側で正確に受信するためには、ビット同期回路を用いることにより、データに対して、データのサンプリング用同期クロックを生成する必要がある。そのため、通信速度に対してより周波数の高いクロックをビット同期回路に入力し、通常、クロックがデータの中央の位置に合うような同期クロックが生成されるよう回路が構成される。近年では、シリアル通信インターフェイスの通信速度が数百Ｍｂｐｓ〜数Ｇｂｐｓまで高速化されており、高速且つ信頼性の高い通信を実現すべく、ビット同期回路に関係して、より高性能，高信頼性の回路が要求されている。
【０００４】
図１０に、高速シリアル通信技術に用いられる従来のビット同期回路を示す。このビット同期回路１００では、データ入力信号ＳＤＩＮとともに基準クロック信号ＲＥＦＣＬＫが入力され、位相比較クロック生成回路１１０において、その基準クロック信号ＲＥＦＣＬＫから、通信速度に対応した周波数のビット動作クロック信号（図１０には示さず）が生成され、更に、そのビット動作クロック信号に基づき位相の異なる計８つのクロック信号ＣＬＫ１〜ＣＬＫ８が生成される。
【０００５】
図１１に、基準クロック信号，ビット動作クロック信号、及び、ビット動作クロック信号に基づき生成されるクロック信号のタイミングチャートを示す。ＣＬＫ１〜ＣＬＫ８は、それぞれ、隣接するクロック信号に対して１／８サイクルずつずれた位相を有している。これらクロック信号ＣＬＫ１〜ＣＬＫ８は、それぞれ、別個のライン経由で、入力データエッジ検出部１２０及びクロック選択部１４０へ入力される。
【０００６】
入力データエッジ検出部１２０では、位相の異なるクロック信号ＣＬＫ１〜ＣＬＫ８とともに、データ入力信号ＳＤＩＮが入力される結果、エッジ信号ＥＤＧＥ１〜ＥＤＧＥ８が検出される。これらエッジ信号ＥＤＧＥ１〜ＥＤＧＥ８は、クロック判定部１３０に入力される。クロック判定部１３０では、エッジ信号ＥＤＧＥ１〜ＥＤＧＥ８に基づき認識されるエッジ位置から、クロック選択信号ＣＫＳＬが生成される。このクロック選択信号ＣＫＳＬは、クロック信号ＣＬＫ１〜ＣＬＫ８とともに、クロック選択部１４０に入力される。
クロック選択部１４０では、入力されたクロック信号ＣＬＫ１〜ＣＬＫ８及びクロック選択信号ＣＫＳＬに基づき、緩衝バッファ１５０に対するデータサンプリング用のクロック信号である書込み用クロック信号ＷＲＣＫが生成される。
【０００７】
緩衝バッファ１５０は、単一ビットのフリップフロップで構成されるバッファ又は多ビットのＦＩＦＯであり、送信側と受信側とで予め決められた周波数に対しての偏差やクロックジッタを吸収すべく用いられる。シリアル通信においては、一般的に、１ビット幅で深さが数ビット〜数十ビットの非同期ＦＩＦＯが用いられる。緩衝バッファ１５０から出力される同期化されたデータＳＤＯＵＴは、それ以降の回路で読み出され、受信データとして処理される。
【０００８】
図１２に、入力データエッジ検出部１２０の構成を示す。この入力データエッジ検出部１２０は、位相の異なる８つのクロック信号ＣＬＫ１〜ＣＬＫ８にそれぞれ対応したデータ・フリップフロップ（以下、フリップフロップと呼ぶ）１２１ａ〜１２１ｈと、フリップフロップ１２１ａ〜１２１ｈと同数の排他的論理和（ＥＸＯＲ）ゲート１２２ａ〜１２２ｈとを有している。各フリップフロップ１２１ａ〜１２１ｈには、それに対応するクロック信号ＣＬＫ１〜ＣＬＫ８と、シリアルのデータ入力信号ＳＤＩＮとが入力される。また、各フリップフロップ１２１ａ〜１２１ｈからの出力信号ＤＦＦ１〜ＤＦＦ８は、それぞれ、異なる２つのＥＸＯＲゲートに入力される。例えば、フリップフロップ１２１ｂの出力は、ＥＸＯＲゲート１２２ａ及び１２２ｂに入力され、また、フリップフロップ１２１ｃの出力は、ＥＸＯＲゲート１２２ｃ及び１２２ｂに入力され、更に、フリップフロップ１２１ｈの出力は、ＥＸＯＲゲート１２２ｈ及び１２２ａに入力される。
【０００９】
各ＥＸＯＲゲート１２２ａ〜１２２ｈから出力される信号は、入力される２つのクロック信号の位相差のタイミングでデータ入力信号ＳＤＩＮが変化した場合に「ＨＩＧＨ」となり、エッジ位置を示す信号（以下、エッジ信号という）ＥＤＧＥ１２，ＥＤＧＥ２３，ＥＤＧＥ３４，ＥＤＧＥ４５，ＥＤＧＥ５６，ＥＤＧＥ６７，ＥＤＧＥ７８，ＥＤＧＥ８９として出力される。例えば、ＥＸＯＲゲート１２２ａから出力される信号は、ＣＬＫ１とＣＬＫ２の位相差のタイミングでデータ入力信号が変化した場合に「ＨＩＧＨ」レベルとなる。ＥＸＯＲゲート１２２ａ〜１２２ｈから出力されるエッジ信号ＥＤＧＥ１２〜ＥＤＧＥ８９は、別個のライン経由で、クロック判定部１３０へ供給される。
【００１０】
なお、この入力データエッジ検出部１２０では、位相が異なるクロック信号を供給する８本のラインを使用している例を挙げているが、これ以外の本数で、若しくは、位相が異なるのではなく通信速度に対してより周波数の高いクロックでエッジ検出を行う方法も考えられる。
【００１１】
図１３に、緩衝バッファ１５０への書込み用のクロック信号ＷＲＣＫの出力タイミングに関係する各種信号のタイミングチャートを示す。この図１３から分かるように、データ入力信号ＳＤＩＮの最初のエッジ（立上りエッジ）は、クロック信号ＣＬＫ１のエッジ（立上りエッジ）とＣＬＫ２のエッジ（立上りエッジ）との間に位置し、データ入力信号ＳＤＩＮの２番目のエッジ（立下りエッジ）は、クロック信号ＣＬＫ２のエッジ（立上りエッジ）とＣＬＫ３のエッジ（立上りエッジ）との間に位置し、また、データ入力信号ＳＤＩＮの３番目のエッジは、クロック信号ＣＬＫ３のエッジ（立上りエッジ）とＣＬＫ４のエッジ（立上りエッジ）との間に位置し、更に、データ入力信号ＳＤＩＮの最後のエッジ（立下りエッジ）は、クロック信号ＣＬＫ２のエッジ（立上りエッジ）とＣＬＫ３のエッジ（立上りエッジ）との間に位置している。
【００１２】
データ入力信号ＳＤＩＮのエッジが検出されれば、ＥＤＧＥ１２〜ＥＤＧＥ８９の対応する信号において、長い期間の検出パルスが出力されることになる。かかる長い検出パルスに基づき、ＥＤＧＥ１２に対して、位相が約半サイクル遅れた、すなわち、入力データの中央でサンプリングするためのＣＬＫ５が、また、ＥＤＧＥ２３に対してはＣＬＫ６が、更に、ＥＤＧＥ３４に対してはＣＬＫ７が、同期タイミング信号として出力され、この同期タイミング信号とそのサイクルにエッジの遷移がなければ、前サイクルと同じクロックが出力される。最終的には、緩衝バッファ１５０へ出力される書込み用のクロック信号ＷＲＣＫが生成される。
【００１３】
なお、図１２に示す入力データエッジ検出部１２０以降の構成、すなわち、クロック判定部１３０，クロック選択部１４０のタイミングによる動作は公知技術であるため、ここでの説明を省略する。
【００１４】
次に、図１４を参照して、従来のビット同期回路１００において起こる可能性のある問題について説明する。まず、フリップフロップ１２１ａ〜１２１ｈを正常に動作させるには、クロックの前後で、ある期間入力データを一定に保つ必要があるが、この所定期間中に入力データが一定値でなかった場合には、フリップフロップ１２１ａ〜１２１ｈからの出力信号ＤＦＦ１〜ＤＦＦ８が１でも０でもない不安定な値を示す可能性があり、このような現象は「メタスタビリティ」と呼ばれる。図１４に示す符号Ａ”が付された箇所では、本来、フリップフロップ１２１ｂからの出力信号ＤＦＦ２は「ＨＩＧＨ」レベルになるはずであるが、データ入力信号ＳＤＩＮの遷移がフリップフロップ１２１ｂのセットアップホールドのタイミング要求を満たしていないことから、その出力信号ＤＦＦ２が、メタスタビリティを伴うメタステーブル状態になっている。ここでは、一例として、メタステーブル状態である出力信号ＤＦＦ２が、太字の実線で示すように、出力変化している場合を示す。
【００１５】
また、図１４に示す符号Ｂ”が付された箇所では、本来、フリップフロップ１２１ｆからの出力信号ＤＦＦ６が「ＬＯＷ」レベルになるはずであるが、フリップフロップ１２１ｆへのデータ入力が、例えば半導体装置の製造上の問題により、フリップフリップ１２１ｆにおけるＳＤＩＮ入力側の抵抗値が異常に高くなること、若しくは、フリップフロップ１２１ｆに関わる信号ラインのクロストーク、半導体装置の製造上のタイミングバラツキ等の原因によって遅くなることから、出力信号ＤＦＦ６が「ＨＩＧＨ」レベルとなっている。
【００１６】
符号Ａ及びＢにて示されるフリップフロップからの出力信号の不具合が生じた場合、緩衝バッファ１５０への書込み用のクロック信号ＷＲＣＫの生成においては、回路の構成にも依存するものの、本来のタイミングで出力されず、データを緩衝バッファ１５０でサンプリングする際にタイミングエラーが生じて正常なサンプリングができなかったり、ＷＲＣＫが出力されずデータが抜けたり、ＷＲＣＫが１サイクルに複数回発生し、データを余分に取り込んでしまったりする等の問題が起こる。この場合、同期タイミング信号及びクロック信号ＷＲＣＫは、図１４に示す符号Ｃ”及びＤ”が付された箇所で不具合を生じる。これにより、シリアルデータのパケットデータの受信抜け、受信データのエラー等が生じ、正常な受信ができないことになる。
【００１７】
一般的に、ビット同期回路の信頼性を低下させる問題としては、ビット同期回路内にある入力データエッジ検出部で用いられるフリップフロップの製造上の問題等よる特性のバラツキやフリップフロップの故障に関する問題に加え、前述したようなメタスタビリティの問題が知られている。メタスタビリティは回路の誤動作を生じるため、回路の信頼性を向上させるには、それが生じる確率を低下させること、若しくは、メタスタビリティに対しても誤動作を起こらないビット同期回路を供給することが必要である。
【００１８】
また、ビット同期回路が半導体装置に内蔵された場合、装置の良否を判定するテスト方法としては、通常、ＬＳＩテスタを用いて、装置に対してあるタイミングに同期した入力を加え、実際の出力とその期待値を測定・比較し、期待値と同様の出力値が得られれば、その装置を良品とし、期待値と異なれば、不良品と判定する方法が用いられる。しかし、高速に且つシリアルデータに対して非同期に動作するビット同期回路では、ＬＳＩテスタ上で、システムクロックに対して非同期の入力パターンをいくつも用意する必要があり、また、その非同期の入力パターンを、受信データの期待値でテストする際には、良品である場合にも、受信データの期待値が非同期の入力により期待値のサイクルがずれることがある。更に、そのずれ方は、半導体装置の製造のバラツキにより個々に異なる場合も想定されるため、製品の良否を正確に選別可能なテストプログラムを作成するには、プログラムのデバッグ（バグ等の障害を取り除く作業）に相当の時間を要するという問題がある。従来、この問題に対処し得る技術が求められている。
【００１９】
なお、従来、ビット同期回路として、次のようなものが知られている。例えば、特許第２５９５８８７号公報には、完全デジタルで構成され、カウンタを用いず高速化対応可能なビット同期回路が開示されている。一般的なクロック多層化回路やＤフリップフロップを用いる点は、本発明と類似しているが、エッジ検出部は１つしかもたないため、ビット同期回路内のフリップフロップがメタステーブル状態になった場合には、動作上の不具合を起こす可能性があり、信頼性に欠けるという問題がある。
【００２０】
また、特開平９−３６８４９号公報には、入力信号をサンプリングしｎ系列の信号とするデータサンプル部と、サンプリングされたｎ系列信号の中から受信バースト信号に同期した信号を選択する選択出力部とを備え、データサンプル部からの信号の立上り及び立下り検出を行い、入力データのデューティの変動に対して、最適なサンプリングを行うことができるビット同期回路及びビット同期方式が開示されている。しかしながら、このビット同期方式では、データ変化点の両エッジが用いられるため、サンプリング手段が高速に追従しないという問題がある。また、エッジ検出に対しては１つの回路しか使用されないため、ビット同期回路内のフリップフロップがメタステーブル状態になった場合には、動作上の不具合を起こす可能性があり、信頼性に欠けるという問題がある。
【００２１】
更に、特開平１０−２４７９０３号公報には、受信データ速度を上回る高速クロックを使用せずに、受信データが散発的に発生しかつ入力タイミングが不定な高速バースト信号に対応し、かつ、位相変動に良好な追従性をもつビット同期回路が開示されている。位相比較回路が１つしか使用されないため、信頼性に欠けるという問題がある。
【特許文献１】特許第２５９５８８７号公報
【特許文献２】特開平９−３６８４９号公報
【特許文献３】特開平１０−２４７９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
本発明は、上記技術的課題に鑑みてなされたもので、高速な通信速度に対応可能で信頼性の高い、かつ、テストが容易であるビット同期回路を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本願の請求項１に係る発明は、ビットデータ伝送に際し、シリアルデータをクロック信号によって同期化するビット同期回路において、所定の基準クロックから、位相の異なる複数のクロック信号を生成する位相比較クロック生成手段と、上記位相比較クロック生成手段により生成されたクロック信号が所定数おきに取り出されてなるグループ毎に設定され、それぞれ、シリアルデータからエッジ位置を検出し、該エッジ位置をあらわすエッジ信号を生成する複数のエッジ検出手段と、上記各エッジ検出手段により生成されたエッジ信号を基づき、同期タイミング信号を生成するクロック判定手段と、上記クロック判定手段により生成された同期タイミング信号に基づき、上記位相の異なる複数のクロック信号の中から、シリアルデータを同期化するクロック信号に適した書込み用クロック信号を選択するクロック選択手段とを有していることを特徴としたものである。
【発明の効果】
【００２４】
以上の説明から明らかなように、本願の請求項１に係る発明によれば、エッジ検出手段を複数設け、各エッジ検出手段により出力されるエッジ信号に基づき、エッジ検出手段の動作を確認しつつ、シリアルデータを同期化するクロック信号に適した書込み用クロック信号を生成するため、ビット同期回路による信頼性の高い動作を実現することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について、添付図面を参照しながら説明する。
実施の形態１．
図１は、本発明の実施の形態に係るビット同期回路を含むシリアル送受信装置のブロック図である。このシリアル送受信装置１は、各種コンピュータ，通信制御装置，端末等の機器に組み込まれ、通信回線経由で他の機器と相互接続するためのＯＳＩ（Open System Interconnection）参照モデルを構成するプロトコル層の１つである物理層をなすもので、他の機器との物理的な接続を活性化・維持・非活性化し、ビットデータ伝送のための機械的，電気的な制御を行う。
【００２６】
データ受信時、シリアルデータ「Ｄａｔａ＋」及び「Ｄａｔａ−」が、外部からアナログＩ／Ｆ部９に含まれるレシーバ２経由でビット同期回路１０へ入力されると、ビット同期回路１０では、内部クロック発生器７及び外部発振子８により生成された基準クロックに対して、レシーバ２からの１，０出力に基づき、そのデータをサンプリングするためのサンプリングクロック（同期タイミング信号ともいう）が生成され、データがサンプリングされて、シリアルデータとして受信回路３へ出力される。受信回路３では、通信で使用されているコーディングに従って、データのデコード処理が実行され、インターフェイス部４では、データをパラレルデータ「ＤＡＴＡ」として機器内部に出力する動作が行われる。
【００２７】
他方、データ送信時には、機器内部から供給されるパラレルデータがインターフェイス部４においてシリアルデータに変換され、送信回路５によりコード処理が実行され、アナログＩ／Ｆ部９に含まれるドライバ６経由で、シリアルデータとして外部に出力される。
【００２８】
図２に、ビット同期回路１０の構成を示す。このビット同期回路１０は、位相比較クロック生成回路２０と、第１及び第２の入力データエッジ検出部３０及び４０と、クロック判定部５０と、クロック選択部６０と、緩衝バッファ７０とを有しており、内部クロック発生器７及び外部発振子８（図１参照）により生成された基準クロックＲＥＦＣＬＫを用いて、データ入力信号ＳＤＩＮから同期タイミング信号をサンプリングして、この同期タイミング信号に基づき同期化されたシリアルデータを出力する。ビット同期回路１０の基本的な構成及びその動作は、従来技術として図１０を参照して説明した場合と同様であるが、本願発明では、データ入力信号ＳＤＩＮからの同期タイミング信号のサンプリングに際しその信号のエッジ位置を検出する手段として、複数個（この実施の形態では２つ）の入力データエッジ検出部３０及び４０が設けられ、それらがより高速で信頼性の高いビット同期回路を提供するように動作する。
【００２９】
ビット同期回路１０では、まず、位相比較クロック生成回路２０において、基準クロック信号ＲＥＦＣＬＫから、通信速度に対応した周波数のビット動作クロック信号が生成され、更に、そのビット動作クロック信号に基づき位相の異なる計８つのクロック信号ＣＬＫ１〜ＣＬＫ８が生成される。ここでは、基準クロック信号ＲＥＦＣＬＫ，ビット動作クロック信号ＢＴＣＬＫ、及び、ビット動作クロック信号に基づき生成されるクロック信号ＣＬＫ１〜ＣＬＫ８のタイミングチャートが、従来技術の説明において例示したものと同様であり、ＣＬＫ１〜ＣＬＫ８は、それぞれ、隣接するクロック信号に対して１／８サイクルずつずれた位相を有している（図１１参照）。
【００３０】
従来技術と同様に、これらクロック信号ＣＬＫ１〜ＣＬＫ８は、それぞれ、別個のライン経由で、位相比較クロック生成回路２０から出力されるが、この実施の形態では、第１及び第２の入力データエッジ検出部３０及び４０が設けられることに伴い、クロック信号ＣＬＫ１〜ＣＬＫ８が、各エッジ検出部３０及び４０に対応する２つのグループに分けられて出力される。より詳しくは、ＣＬＫ１からＣＬＫ８の順に１／８サイクルずつずれた位相を有するクロック信号が１つおきに取り上げられることにより各グループが構成されており、奇数のクロック信号ＣＬＫ１，ＣＬＫ３，ＣＬＫ５，ＣＬＫ７が、第１入力データエッジ検出部３０へ入力され、他方、偶数のクロック信号ＣＬＫ２，ＣＬＫ４，ＣＬＫ６，ＣＬＫ８が、第２入力データエッジ検出部４０へ入力される。
【００３１】
図３に、第１及び第２の入力データエッジ検出部３０及び４０の構成を示す。まず、第１入力データエッジ検出部３０は、クロック信号ＣＬＫ１，ＣＬＫ３，ＣＬＫ５，ＣＬＫ７にそれぞれ対応する４つのフリップフロップ３１ａ，３１ｂ，３１ｃ，３１ｄと、４つのＥＸＯＲゲート３２ａ，３２ｂ，３２ｃ，３２ｄとを有している。各フリップフロップ３１ａ〜３１ｃには、それに対応するクロック信号とともにデータ入力信号ＳＤＩＮが入力され、各フリップフロップ３１ａ〜３１ｄからの出力信号ＤＦＦ１，ＤＦＦ３，ＤＦＦ５，ＤＦＦ７は、それぞれ、異なる２つのＥＸＯＲゲートに入力される。すなわち、フリップフロップ３１ａからの出力信号ＤＦＦ１は、ＥＸＯＲゲート３２ａ及び３２ｄに、また、フリップフロップ３１ｂからの出力信号ＤＦＦ３は、ＥＸＯＲゲート３２ａ及び３２ｂに、更に、フリップフロップ３１ｃからの出力信号ＤＦＦ５は、ＥＸＯＲゲート３２ｂ及び３２ｃに、また、更に、フリップフロップ３１ｄからの出力信号ＤＦＦ７は、ＥＸＯＲゲート３２ｃ及び３２ｄに入力される。この第１入力データエッジ検出部３０では、ＥＸＯＲゲート３２ａ，３２ｂ，３２ｃ，３２ｄのいずれか１つから、エッジ位置をあらわすエッジ信号ＥＤＧＥ１３，ＥＤＧＥ３５，ＥＤＧＥ５７，ＥＤＧＥ７９が出力される。
【００３２】
また、一方、第２の入力データエッジ検出部４０は、クロック信号ＣＬＫ２，ＣＬＫ４，ＣＬＫ６，ＣＬＫ８にそれぞれ対応する４つのフリップフロップ４１ａ，４１ｂ，４１ｃ，４１ｄと、４つのＥＸＯＲゲート４２ａ，４２ｂ，４２ｃ，４２ｄとを有している。各フリップフロップ４１ａ〜４１ｃには、第１入力データエッジ検出部３０と同様に、それに対応するクロック信号とともにデータ入力信号ＳＤＩＮが入力され、各フリップフロップ４１ａ〜４１ｄからの出力信号ＤＦＦ２，ＤＦＦ４，ＤＦＦ６，ＤＦＦ８は、それぞれ、異なる２つのＥＸＯＲゲートに入力される。すなわち、フリップフロップ４１ａからの出力信号ＤＦＦ２は、ＥＸＯＲゲート４２ａ及び４２ｄに、また、フリップフロップ４１ｂからの出力信号ＤＦＦ４は、ＥＸＯＲゲート４２ａ及び４２ｂに、更に、フリップフロップ４１ｃからの出力信号ＤＦＦ６は、ＥＸＯＲゲート４２ｂ及び４２ｃに、また、更に、フリップフロップ４１ｄからの出力信号ＤＦＦ８は、ＥＸＯＲゲート４２ｃ及び４２ｄに入力される。この第２入力データエッジ検出部４０では、ＥＸＯＲゲート４２ａ，４２ｂ，４２ｃ，４２ｄのいずれか１つから、エッジ位置をあらわすエッジ信号ＥＤＧＥ２４，ＥＤＧＥ４６，ＥＤＧＥ６８，ＥＤＧＥ８０が出力される。
【００３３】
クロック判定部５０では、第１及び第２の入力データエッジ検出部３０及び４０から送られてきたエッジ信号に基づき、それぞれ、第１及び第２の同期タイミング信号が生成されるようになっている。これら第１及び第２の同期タイミング信号は、クロック選択部６０へ送られ、クロック選択信号としてクロック選択部６０により利用される。
【００３４】
従来技術について図１２を参照して説明した場合と同様の条件のもとでの、ビット同期回路１０の動作を、図４を参照して説明する。図４は、ビット同期回路１０における各種信号のタイミングチャートである。このビット同期回路１０では、各同期タイミング信号及びその信号から生成する緩衝バッファ７０への書込み用のクロック信号ＷＲＣＫが出力されるに際して、次の（１）〜（４）に規定されるアルゴリズムで同期タイミング信号が生成されるとする。
【００３５】
（１）  各入力データエッジ検出部３０，４０から複数のエッジ信号が出力される場合には、そのサイクルでの同期タイミング信号を出力しない。
（２）  第１及び第２の同期タイミング信号で時間的に連続する場合には、連続している後ろ側の信号によるタイミングで、緩衝バッファ７０への書込み用クロック信号ＷＲＣＫを出力する。
（３）  第１及び第２の同期タイミング信号が時間的に連続しない場合には、前サイクルと同じ書込み用クロック信号ＷＲＣＫを出力する。
（４）  第１及び第２の同期タイミング信号のうち一方の信号しか生成されない場合には、前サイクルと同じ書込み用クロック信号ＷＲＣＫを出力する。
【００３６】
このとき、これら（１）〜（４）のアルゴリズムのうちの少なくとも（１）及び（２）のアルゴリズムが回路設計で実現されれば、図４に示す符号Ａ及びＢが付された箇所に見られるようなエラーがある状態であっても、緩衝バッファ７０への書込み用クロック信号ＷＲＣＫは正常に出力される。また、（３）及び（４）のアルゴリズムは、ビット同期回路１０のエラーを検出した場合には、最も安全である前サイクルと同様の位相を有する書込み用のクロック信号ＷＲＣＫを出力することを規定するものである。
【００３７】
このように、ビット同期回路１０では、複数個の入力データエッジ検出部３０及び４０が装備され、各エッジ検出部からのエッジ信号に基づき、複数の同期タイミング信号が生成され、正常な同期タイミング信号に基づき、書込み用クロック信号ＷＲＣＫが生成されることにより、シリアルデータの正常な受信を維持することが可能となり、信頼性の向上を実現することができる。
【００３８】
なお、上記（１）〜（４）に規定されるアルゴリズムについては、この実施の形態において例示的なものであり、これに限定されるものではない。また、入力データエッジ検出部の数については、２つに限定されるものでなく、例えば、３つの入力データエッジ検出部を用いて、各エッジ検出部より多数決で書込み用クロック信号ＷＲＣＫの位相を生成するようにしてもよい。
【００３９】
また、図２に示すビット同期回路１０では、複数の第１及び第２の入力データエッジ検出部３０及び４０から出力されるエッジ信号に基づき生成された複数の同期タイミング信号を用いて、緩衝バッファ７０に対するデータサンプリング用クロックを生成するとともに、入力データエッジ検出部からのエッジ信号を用いて、エラー状態を示す信号が生成される。エラー状態とは、例えば、各入力データエッジ検出部で、エッジ信号が複数存在する場合、２つの入力データエッジ検出部の同期タイミング信号が連続しない場合、第１及び第２の同期タイミング信号のうちの一方の信号しかない場合等の状態をあらわしており、このビット同期回路１０では、かかるエラー状態をあらわす信号が、ビット同期回路１０のエラーステータス信号として、クロック判定部５０から出力される。
【００４０】
図１に示すように、ビット同期回路１０がシリアル送受信装置１に内蔵された場合、ビット同期回路１０が非常に高速に動作し、また、完全に非同期に動作することから、装置１のテストが困難であるという問題があったが、クロック判定部５０から出力されるエラーステータス信号を使用することにより、全ての非同期パターンに対して、エラーが出ていない１種類の期待値のプログラムでテスト可能となり、装置１を容易にテストすることが可能となる。
【００４１】
また、受信データの期待値を用いて選別する場合には、受信が終了するまで不良が検出できないが、本願特許のように、シリアルデータの受信取り込みの位置に存在するビット同期回路のエラーステータス信号を用いて半導体装置をテストする場合には、エラー検出のタイミングが、受信終了時に判明するという受信データの期待値を用いる場合に比べて早く、これにより、不良品を早期に発見できる。
【００４２】
続いて、図５に、クロック判定部５０に含まれる第２入力データエッジ検出部４０に対応する構成を示す。また、図６には、この構成に関係する各種信号のタイミングチャートを示す。図６に示す各信号波形に付された記号は、図５における各入力及び出力信号に対応している。ビット同期回路１０の全体構成を示す図２にはあらわれていないが、クロック判定部５０には、第１及び第２の入力データエッジ検出部３０及び４０からのエッジ信号とともに、位相比較クロック生成回路２０からのクロック信号が入力される。クロック判定部５０は、フリップフロップ５１ａ，５１ｂ，５１ｃ，５１ｄと、ＡＮＤゲート５２ａ，５２ｂ，５２ｃ，５２ｄと、フリップフロップ５３ａ，５３ｂ，５３ｃ，５３ｄと、ＡＮＤゲート５４ａ，５４ａ，５４ｂ，５４ｃ，５４ｄと、ＯＲゲート５５とを有しており、位相比較クロック生成回路２０からのクロック信号ＣＬＫ２，ＣＬＫ４，ＣＬＫ６，ＣＬＫ８及び第２入力データエッジ検出部４０からのエッジ信号ＥＤＧＥ２４，ＥＤＧＥ４６，ＥＤＧＥ６８，ＥＤＧＥ８０を用いて、第２同期タイミング信号を生成するように構成されている。
【００４３】
なお、特に図示しないが、このクロック判定部５０における第１入力データエッジ検出部３０に対応する構成は、位相比較クロック生成回路２０からのクロック信号ＣＬＫ１，ＣＬＫ３，ＣＬＫ５，ＣＬＫ７及び第１入力データエッジ検出部３０からのエッジ信号ＥＤＧＥ１３，ＥＤＧＥ３５，ＥＤＧＥ５７，ＥＤＧＥ７９を用いて、第２入力データエッジ検出部４０に対応する構成と同様の動作を行い、第１同期タイミング信号を生成する。
【００４４】
以下、本発明の別の実施の形態について説明する。なお、以下では、上記実施の形態１における場合と同じものには同一の符号を付し、それ以上の説明を省略する。
実施の形態２．
図７は、本発明の実施の形態２に係る入力データエッジ検出部の各構成の配置を示す図である。通常、前述したようにエッジ信号を検出する際には、フリップチップが設計で意図したように動作する必要があり、そのためには、フリップチップに対するデータ入力信号ＳＤＩＮ及びクロック信号ＣＬＫ１〜ＣＬＫ８の入力に対して、とりわけ正確なタイミングが要求される。第１及び第２の入力データエッジ検出部３０’，４０’は、それぞれ、図３に示す入力データエッジ検出部３０，４０と実質的に等価な回路構成を有する、すなわち、それぞれ、フリップチップ３１ａ〜３１ｄ及びＥＸＯＲゲート３２ａ〜３２ｄ，フリップチップ４１ａ〜４１ｄ及びＥＸＯＲゲート４２ａ〜４２ｄから構成されるものであるが、この実施の形態２では、シリアル送受信装置１内に実装する場合に、これら各構成が、クロック信号及びデータ入力信号の入力端子に対して左右対称に配置される。かかる配置構造によれば、クロック信号やデータ入力信号が各構成に対してより同時に近いタイミングで入力され、ほぼ均一のタイミングで各フリップチップを動作させることが可能となる。
【００４５】
実施の形態３．
図８は、本発明の実施の形態３に係る入力データエッジ検出部の各構成の配置を示す図である。上記実施の形態２では、第１及び第２の入力データエッジ検出部の各構成（特にフリップフロップ）が、クロック信号及びデータ入力信号の入力端子に対して左右対称に配置されるが、この実施の形態３では、更に正確なタイミングでの信号入力を実現するために、第１及び第２の入力データエッジ検出部３０”，４０”の各構成が、クロック信号及びデータ入力信号の入力端子に対して、上下左右対称に配置される。
【００４６】
上記実施の形態２及び３のように、入力データエッジ検出部の各構成を、各信号の入力端子に対して上下又は左右対称に配置することにより、要求される正確なタイミングでの信号入力を実現し、ビット同期回路の動作信頼性を向上させることができる。
【００４７】
実施の形態４．
図９は、本発明の実施の形態４に係る入力データエッジ検出部の各構成の配置を示す図である。前述した実施の形態と同様に、複数個（第１及び第２の）入力データエッジ検出部８０，９０が設けられるが、この実施の形態４では、各入力データエッジ検出部８０，９０が、それぞれ、８つのフリップチップ８１ａ〜８１ｈ，９１ａ〜９１ｈと８つのＥＸＯＲゲート８２ａ〜８２ｈ，９２ａ〜９２ｈから構成されている。更に、各構成は、データ入力信号ＳＤＩＮ及びクロック信号ＣＬＫ０〜９，Ａ〜Ｆの入力端子に対して、左右対称に配置されている。
【００４８】
なお、かかる第１及び第２の入力データエッジ検出部８０，９０を採用する場合には、特に図示しないが、ビット同期回路において、位相が１／１６サイクルずつずれたクロック信号ＣＬＫ０〜９，Ａ〜Ｆの出力が可能な位相比較クロック生成回路を用いる必要がある。
【００４９】
この実施の形態４では、各入力データエッジ検出部を８つのフリップチップ及びＥＸＯＲゲートで構成し、より小さな位相差のクロック信号を用いることにより、エッジ信号についての検出分解能を向上させることができる。また、この実施の形態４では、入力データエッジ検出部の各構成が、各信号の入力端子に対して左右対称に配置されるので、上記実施の形態２及び３における場合と同様に、要求される正確なタイミングでの信号入力を実現し、ビット同期回路の動作信頼性を向上させることができる。
【００５０】
なお、本発明は、例示された実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲において、種々の改良及び設計上の変更が可能であることは言うまでもない。例えば、入力データエッジ検出部の構成は、４又は８つのフリップフロップ及びＥＸＯＲゲートに限定されるものでなく、例えば１６のフリップフロップ及びＥＸＯＲゲートを用いてもよい。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態に係るビット同期回路が含まれるシリアル送受信装置のブロック図である。
【図２】上記ビット同期回路を示すブロック図である。
【図３】上記ビット同期回路に含まれる入力データエッジ検出部の構成を示す図である。
【図４】上記ビット同期回路における各種信号のタイミングチャートである。
【図５】上記ビット同期回路に含まれるクロック判定部の構成を示す図である。
【図６】上記クロック選択部に関係する各種信号のタイミングチャートである。
【図７】本発明の実施の形態２に係る入力データエッジ検出部の各構成の配置を示す図である。
【図８】本発明の実施の形態３に係る入力データエッジ検出部の各構成の配置を示す図である。
【図９】本発明の実施の形態４に係る入力データエッジ検出部の各構成の配置を示す図である。
【図１０】従来のビット同期回路を示すブロック図である。
【図１１】従来のビット同期回路に含まれる位相比較クロック生成回路に関係する各種信号のタイミングチャートである。
【図１２】従来のビット同期回路内に含まれる入力データエッジ検出部の構成を示す図である。
【図１３】従来のビット同期回路に関係する各種信号の正常なタイミングチャートである。
【図１４】従来のビット同期回路に関係する各種信号の問題のあるタイミングチャートである。
【符号の説明】
【００５２】
１…シリアル送受信装置
１０…ビット同期回路
２０…位相比較クロック生成回路
３０…第１入力データエッジ検出部
４０…第２入力データエッジ検出部
５０…クロック判定部
６０…クロック選択部
７０…緩衝バッファ
【図１】
2006345570.tif 000003
【図２】
2006345570.tif 000004
【図３】
2006345570.tif 000005
【図４】
2006345570.tif 000006
【図５】
2006345570.tif 000007
【図６】
2006345570.tif 000008
【図７】
2006345570.tif 000009
【図８】
2006345570.tif 000010
【図９】
2006345570.tif 000011
【図１０】
2006345570.tif 000012
【図１１】
2006345570.tif 000013
【図１２】
2006345570.tif 000014
【図１３】
2006345570.tif 000015
【図１４】
2006345570.tif 000016