(57)【要約】【課題】製造ばらつきのような個体差、温度や電源電圧のような使用条件の変化に対するクロックタイミングのマージンを拡げる。【解決手段】テスト用送受信回路１７，２７の間でテスト信号が授受される。テスト用送受信回路１７，２７はそれぞれクロックＣＬ３，ＣＬ４に基づいて動作する。クロックＣＬ４はクロックＣＬ２が遅延して得られる。クロックＣＬ２，ＣＬ３は共通のクロックＣＬ１からそれぞれ遅延調整回路１０１及び遅延時間可変遅延調整回路１０２によって独立して遅延されて得られる。テスト信号が正常に送受信されるように遅延時間可変遅延調整回路１０２の遅延量が設定される。【選択図】図１ 
2005065000.tif 000002
【特許請求の範囲】
【請求項１】
内部回路と、
第１クロックを可変の遅延量で遅延させて第２クロックを生成する遅延時間可変遅延調整回路と、
前記第１クロックが遅延した第３クロックと、前記第２クロックとのいずれか一方に基づいて、前記内部回路のデータの入力及び出力の一方又は両方を行う入出力回路と
を備え、
前記可変の遅延量は前記遅延時間可変遅延調整回路の外部から設定され、
前記第２クロック及び前記第３クロックのいずれか他方をクロック受信側回路に出力するクロック送信側回路。
【請求項２】
前記可変の遅延量を設定する遅延時間指定値を生成する遅延時間設定手段
を更に備え、
前記遅延時間設定手段は、前記クロック受信側回路との間で行われるテスト信号の送受信の結果に基づいて、前記遅延時間指定値を設定する、請求項１記載のクロック送信側回路。
【請求項３】
前記遅延時間設定手段は、前記テスト信号の送受信を行うか否かを示すテストモード信号を生成し、
前記テストモード信号は前記クロック受信側回路に与えられる、
請求項２記載のクロック送信側回路。
【請求項４】
前記クロック受信側回路には前記第２クロックが出力され、
出力された前記第２クロックをフィードバックして前記第２クロックの位相を調整するＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）回路
を更に備える、請求項１乃至請求項３のいずれか一つに記載のクロック送信側回路。
【請求項５】
請求項２記載のクロック送信側回路及び前記クロック受信側回路を備え、
前記クロック送信側回路が前記テスト信号を送受信するテスト用送受信回路を更に備え、
前記クロック受信側回路は、前記クロック送信側回路の前記テスト用送受信回路及び前記前記入出力回路の双方に接続された、データ送受信システム。
【請求項６】
請求項１記載のクロック送信側回路と、
前記クロック受信側回路と、
前記可変の遅延量を設定する遅延時間指定値を前記遅延時間可変遅延調整回路に与える設定信号生成回路と
を備える、データ送受信システム。
【請求項７】
請求項１記載のクロック送信側回路及び前記クロック受信側回路を備え、
前記クロック送信側回路は前記可変の遅延量を設定する遅延時間指定値の複数を記憶し、
前記複数の遅延時間指定値を選択する制御信号を前記クロック送信側回路に与えるモード信号生成回路
を更に備える、データ送受信システム。
【請求項８】
前記クロック受信側回路には前記第２クロックが出力され、
前記クロック送信側回路は、出力された前記第２クロックをフィードバックして前記第２クロックの位相を調整するＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）回路を更に備える、請求項５乃至請求項７のいずれか一つに記載のデータ送受信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はクロックに基づいてデータを送受信する技術に関する。
【背景技術】
【０００２】
デジタル処理システムの高速化に伴い、システムの構成要素間の配線遅延、配線容量が無視できなくなっている。例えばシステムを構成する二つの回路が配線で接続されており、一方から他方へとクロックが分配される場合、クロックの分配元たる回路での当該クロックに基づく動作と、クロックの分配先たる回路での当該クロックに基づく動作とは、両者を接続する配線によってクロックが遅延することに起因して、クロックに適切に同期した動作が得られない可能性がある。かかる場合には正常なデータの授受が困難となる。
【０００３】
このようなクロックの遅延に起因した問題を解消するため、クロックの分配元の回路では自己の回路に使用するクロックと、クロックの分配先の回路に使用するクロックとの間に遅延関係を設けて生成する技術が、例えば特許文献１に紹介されている。また、分配先の回路で遅延量を測定し、分配元の回路へと信号を折り返すことにより同期を行う技術が特許文献２，３に紹介されている。
【０００４】
【特許文献１】特開平４−３５４２１９号公報
【特許文献２】特開平１１−２６１６０７号公報
【特許文献３】特開昭６３−２０２１４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、かかる遅延関係は、クロックの分配元の回路及び分配先の回路が必ず所定のタイミングで動作することを前提として設定される。従って、分配先の回路が、機能は同じだが回路特性が異なるものを採用する場合、一旦設定した上記の遅延関係によっては、正常なデータの授受が困難となる可能性がある。このように回路特性が異なる原因として、製造ばらつき、製品グレードの相違、メーカーの相違、温度や電源電圧などのシステム使用条件の変動が考えられる。
【０００６】
本発明はかかる観点に鑑みてなされたもので、製造ばらつきのような個体差、温度や電源電圧のような使用条件の変化に対するクロックタイミングのマージンを拡げることを目的としている。
【課題を解決するための手段】
【０００７】
この発明にかかるクロック送信側回路は、内部回路と、第１クロックを可変の遅延量で遅延させて第２クロックを生成する遅延時間可変遅延調整回路と、前記第１クロックが遅延した第３クロックと、前記第２クロックとのいずれか一方に基づいて、前記内部回路のデータの入力及び出力の一方又は両方を行う入出力回路とを備える。そして、前記可変の遅延量は前記遅延時間可変遅延調整回路の外部から設定され、前記第２クロック及び前記第３クロックのいずれか他方をクロック受信側回路に出力する。
【０００８】
この発明にかかる第１のデータ送受信システムは、この発明にかかるクロック送信側回路及び前記クロック受信側回路を備える。但しクロック送信側回路は、前記可変の遅延量を設定する遅延時間指定値を生成する遅延時間設定手段を更に備え、前記遅延時間設定手段は、前記クロック受信側回路との間で行われるテスト信号の送受信の結果に基づいて、前記遅延時間指定値を設定する。そして、前記クロック送信側回路が前記テスト信号を送受信するテスト用送受信回路を更に備え、前記クロック受信側回路は、前記クロック送信側回路の前記テスト用送受信回路及び前記前記入出力回路の双方に接続される。
【０００９】
この発明にかかる第２のデータ送受信システムは、この発明にかかるクロック送信側回路と、前記クロック受信側回路と、前記可変の遅延量を設定する遅延時間指定値を前記遅延時間可変遅延調整回路に与える設定信号生成回路とを備える。
【００１０】
この発明にかかる第３のデータ送受信システムは、この発明にかかるクロック送信側回路及び前記クロック受信側回路を備える。そして、前記クロック送信側回路は前記可変の遅延量を設定する遅延時間指定値の複数を記憶し、前記複数の遅延時間指定値を選択する制御信号を前記クロック送信側回路に与えるモード信号生成回路を更に備える。
【発明の効果】
【００１１】
この発明にかかるクロック送信側回路、第２及び第３のデータ送受信システムによれば、第１クロックを遅延させて第２クロックを得るための可変の遅延量は、遅延時間可変遅延調整回路の外部から可変に設定される。よって当該クロック送信側回路や、第２クロックを受けるクロック受信側回路の製造ばらつきのような個体差、温度や電源電圧のような使用条件の変化に対するクロックタイミングのマージンを拡げることができる。
【００１２】
この発明にかかる第１のデータ送受信システムによれば、クロック受信側回路にテスト用送受信回路を設ける場合と比較して、より適切なクロックマージンを提供できる。
【発明を実施するための最良の形態】
【００１３】
実施の形態１．
図１は本発明の実施の形態１にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。クロック送信側回路１００Ａ及びクロック受信側回路２００Ａは相互に配線で接続されて、データ送受信システムを構成している。クロック受信側回路２００Ａは、クロック送信側回路１００ＡからクロックＣＬ２を受信し、クロックＣＬ２に基づいて動作する。かかるクロックＣＬ２の送受信を行うべく、クロック送信側回路１００にはクロックＣＬ２を出力するクロック出力端子１３１が、クロック受信側回路２００Ａにはクロック出力端子１３１と配線３０１を介して接続されたクロック入力端子２２１が、それぞれ備えられている。
【００１４】
クロックＣＬ２は、クロックＣＬ１に基づいて生成される。かかるクロックＣＬ１を生成すべく、クロック送信側回路１００Ａには遅延時間指定レジスタ１１３及び遅延時間可変遅延調整回路１０２が備えられている。遅延時間可変遅延調整回路１０２はクロックＣＬ１を入力し、遅延時間指定レジスタ１１３が格納する遅延時間指定値Ｋに基づく遅延量で、クロックＣＬ１を遅延させてクロックＣＬ２を生成し、かつ出力する。クロックＣＬ２はバッファ１０３を介してクロック出力端子１３１に与えられる。ここでは遅延時間指定値Ｋが増大する程、遅延時間可変遅延調整回路１０２の遅延量は多くなるとして説明する。但し、この大小関係を入れ替える変形も容易に可能である。
【００１５】
なお、クロック送信側回路１００Ａの内部において生成され、あるいはクロック送信側回路１００Ａの外部から供給される。
【００１６】
クロック送信側回路１００Ａには、データ処理を行う内部回路１９も備えられており、クロック受信側回路２００Ａとの間でデータの授受が行われる。かかるデータの授受を行うべく、クロック送信側回路１００Ａにはクロック受信側回路２００Ａへとデータを出力するデータ出力端子１３２と、クロック受信側回路２００Ａからデータを入力するデータ入力端子１３３とが備えられている。またクロック受信側回路２００Ａにはクロック送信側回路１００Ａからデータを入力するデータ入力端子２２２と、クロック送信側回路１００Ａへとデータを出力するデータ出力端子２２３とが備えられている。データ出力端子１３２とデータ入力端子２２２とは配線３０２を介して、またデータ入力端子１３３とデータ出力端子２２３との間は配線３０３を介して、それぞれ接続されている。
【００１７】
内部回路１９からのデータ出力や、内部回路１９へのデータ入力は、クロックＣＬ３に同期して行われる。かかるデータの入出力を行うべく、クロック送信側回路１００Ａにはデータ入出力回路３７が備えられている。データ入出力回路３７は、フリップフロップ１１１，１１２及びバッファ１２１，１２２を有している。
【００１８】
フリップフロップ１１１の入力端には内部回路１９から出力されるデータが与えられ、出力端はバッファ１２１を介してデータ出力端子１３２に接続される。フリップフロップ１１２の入力端はバッファ１２２を介してデータ入力端子１３３が接続され、出力端は内部回路１９へとデータを与える。
【００１９】
クロック送信側回路１００Ａとの間でのデータの入出力を行うべく、クロック受信側回路２００Ａにはデータ入出力回路４７が備えられている。データ入出力回路４７は、フリップフロップ２１１，２１２及びバッファ２０２，２０３を有している。
【００２０】
フリップフロップ２１１の入力端はバッファ２０２を介してデータ入力端子２２２が接続され、出力端はクロック受信側回路２００Ａ中の図示されない構成へと接続される。フリップフロップ２１２の入力端にはクロック受信側回路２００Ａ中の図示されない構成からデータが与えられ、出力端はバッファ２０３を介してデータ出力端子２２３が接続される。
【００２１】
フリップフロップ２１１，２１２のクロック端にはバッファ２０１を介してクロック入力端子２２１が接続される。バッファ２０１はバッファ１０３，２０１及び配線で遅延したクロックＣＬ２であるクロックＣＬ４を出力する。
【００２２】
フリップフロップ１１１，１１２のクロック端にはクロックＣＬ３が与えられる。クロックＣＬ３はクロックＣＬ１を遅延して生成される。かかるクロックの遅延を行うべく、クロック送信側回路１００Ａには遅延調整回路１０１が備えられる。即ち、遅延調整回路１０１はクロックＣＬ１を入力し、これを遅延してクロックＣＬ３を生成し、かつ出力する。遅延調整回路１０１は特に回路として構成される場合に限られず、単なる配線によって遅延を行う構成であってもよい。
【００２３】
遅延時間指定値Ｋを適切に設定するため、クロック送信側回路１００Ａとクロック受信側回路２００Ａとの間でのクロックＣＬ２の遅延を検出する目的で、両者の間でテスト信号を送受信する。かかる送受信テストを行うべく、クロック送信側回路１００Ａには送受信テスト手段１８１及びテスト用送受信回路１７並びにテスト信号出力端子１３４及びテスト信号入力端子１３５が、クロック受信側回路２００Ａにはテスト用送受信回路２７並びにテスト信号入力端子２２４及びテスト信号出力端子２２５が、それぞれ備えられる。
【００２４】
テスト用送受信回路１７，２７は、それぞれクロックＣＬ３，ＣＬ２に同期してテスト信号の授受を行う。テスト信号出力端子１３４とテスト信号入力端子２２４との間は配線３０４を介して、テスト信号入力端子１３５とテスト信号出力端子２２５との間は配線３０５を介して、それぞれ接続される。
【００２５】
テスト用送受信回路２７は、フリップフロップ２１３，２１４及びバッファ２０４，２０５を有している。フリップフロップ２１３の出力端はフリップフロップ２１４の入力端に接続されている。フリップフロップ２１３の入力端はバッファ２０４を介してテスト信号入力端子２２４に、フリップフロップ２１４の出力端はバッファ２０５を介してテスト信号出力端子２２５に、それぞれ接続される。フリップフロップ２１３，２１４のクロック端にはクロックＣＬ４が与えられる。
【００２６】
テスト用送受信回路１７は、フリップフロップ１１３，１１４及びバッファ１２３，１２４を有している。フリップフロップ１１３の入力端には送受信テスト手段１８１から出力されるテスト信号が与えられ、出力端にはバッファ１２３を介してテスト信号出力端子１３４が接続される。フリップフロップ１１４の入力端にはバッファ１２４を介してテスト信号入力端子１３５が接続され、出力端は送受信テスト手段１８１へとテスト信号を戻す。フリップフロップ１１３，１１４のクロック端にはクロックＣＬ３が与えられる。
【００２７】
フリップフロップ１１３からバッファ１３４を経由してテスト信号出力端子１３４に至るまでの回路特性を、フリップフロップ１１１からバッファ１２１を経由してデータ出力端子１３２に至るまでの回路特性と揃える。テスト信号入力端子１３５からバッファ１２４を経由してフリップフロップ１１４に至るまでの回路特性を、データ信号入力端子１３３からバッファ１２２を経由してフリップフロップ１１２に至るまでの回路特性と揃える。フリップフロップ２１４からバッファ２０５を経由してテスト信号出力端子２２５に至るまでの回路特性を、フリップフロップ２１２からバッファ２０３を経由してデータ出力端子２２３に至るまでの回路特性と揃える。テスト信号入力端子２２４からバッファ２０４を経由してフリップフロップ２１３に至るまでの回路特性を、データ信号入力端子２２２からバッファ２０２を経由してフリップフロップ２１１に至るまでの回路特性と揃える。配線３０２，３０４の伝搬特性を相互に揃え、配線３０３，３０５の配線を相互に揃える。
【００２８】
送受信テスト手段１８１から出力されたテスト信号は、クロックＣＬ３と同期してフリップフロップ１１３から出力され、バッファ１２３、配線３０４、バッファ２０４を遅延を伴って伝搬する。テスト信号は、更にフリップフロップ２１３，２１４によってクロックＣＬ４と同期して出力される。その後、バッファ２０５，配線３０５、バッファ１２４を遅延を伴って伝搬する。そして再びクロックＣＬ３と同期して、フリップフロップ１１４から出力されて送受信テスト手段１８１へと戻る。
【００２９】
送受信テスト手段１８１によって授受されたテスト信号の伝搬時間に基づいて、遅延時間指定レジスタ１８３へ適切な遅延時間指定値Ｋが与えられる。このような遅延時間指定値Ｋを求めるべく、クロック送信側回路１００Ａは遅延時間制御手段１８２を備える。
【００３０】
送受信テスト手段１８１、遅延時間制御手段１８２、遅延時間指定レジスタ１８３は遅延時間設定手段１８を構成する。即ち遅延時間設定手段１８は、テスト信号を送受し、このテスト信号がクロック送信側回路１００Ａとクロック受信側回路２００Ａの間を伝搬するに必要な時間に基づいて、遅延時間可変遅延調整回路１０２における遅延量を適切に設定する機能を有する。
【００３１】
上述のように、テスト用送受信回路１７，２７が、それぞれデータ入出力回路３７，４７と特性が揃えられ、テスト用送受信回路１７，２７間の配線３０２，３０３が、それぞれデータ入出力回路３７，４７間の配線３０４，３０５と揃えられている。テスト用送受信回路２７とは異なり、データ入出力回路４７はフリップフロップ２１１，２１２が図示されない構成と接続されているものの、クロックＣＬ４によって入出力のタイミングが決定される。通常は、データ入出力回路４７と接続される構成において適切にスキューが調整されている。よってテスト用送受信回路２７のように、フリップフロップ２１３，２１４が直結されている構成がクロックＣＬ４に基づく動作について考察して、クロックＣＬ４を適切な位相に設定することができる。
【００３２】
従ってテスト信号の送受信に基づいて適切に設定された遅延量を用いてクロックＣＬ２を生成することにより、クロック送信側回路１００Ａとクロック受信側回路２００Ａとの間でのデータの送受を適切なタイミングで行うことができる。
【００３３】
以下、遅延時間可変遅延調整回路１０２における遅延量を適切に設定することの効果について述べる。図２〜図４は、クロックＣＬ１，ＣＬ２，ＣＬ４，ＣＬ３と、フリップフロップ１１３の出力端におけるデータＯ１１３、フリップフロップ２１３の入力端におけるデータＩ２１３、フリップフロップ２１３の出力端におけるデータＯ２１３、フリップフロップ２１４の入力端におけるデータＩ２１４、フリップフロップ２１４の出力端におけるデータＯ２１４、フリップフロップ１１４の入力端におけるデータＩ１１４、フリップフロップ１１４の出力端におけるデータＯ１１４の関係を示すタイミングチャートである。ここではフリップフロップ２１３，２１４間の遅延を無視して考えて、データＯ２１３，Ｉ２１４は相互に等しいとして示している。
【００３４】
フリップフロップ１１３，２１３，２１４，１１４は、それぞれのクロック端に与えられたクロックの立ち上がりを契機として、入力端におけるデータを出力端へと伝搬させる。但し、それぞれのクロックの立ち上がりよりもセットアップ時間ＴＳだけ前の時点において入力端に与えられていたデータを伝搬させる。
【００３５】
クロックＣＬ３は、クロックＣＬ１に対して、遅延調整回路１０１における遅延量Δ１０１だけ遅延する。またクロックＣＬ２は、クロックＣＬ１に対して、遅延時間可変遅延調整回路１０２における遅延量Δ１０２だけ遅延する。更にクロックＣＬ４はバッファ１０３，２０１及び配線３０１の全体としての遅延量Δ３０１だけ遅延する。
【００３６】
クロックＣＬ１はフリップフロップ１１３が出力するデータＯ１１３を更新させるための立ち上がりで開始する一周期を第１番目の周期とし、その後の周期を順次、第２番目、第３番目、第４番目の周期とする。これらの周期は図において丸数字の１〜４で示す。またクロックＣＬ１の周期に対応したクロックＣＬ３，ＣＬ４の周期も同様に順序を付けて説明する。
【００３７】
クロック送信側回路１００Ａから送信されたテスト信号は第１乃至第４周期を経過して、４つのフリップフロップ１１３，２１３，２１４，１１４を経由してクロック送信側回路１００Ａへと戻ってくる。一方、内部回路１９からフリップフロップ１１１の入力端に与えられたデータは、第１乃至第２周期に対応する二つの周期を経過して、二つのフリップフロップ１１１，２１１を経由してクロック受信側回路２００Ａの内部構成（図示せず）に至る。一方、クロック受信側回路２００Ａの内部構成からフリップフロップ２１２の入力端に与えられたデータは、第３乃至第４周期に対応する二つの周期を経過して、二つのフリップフロップ２１２，１２２を経由して内部回路１９に戻る。
【００３８】
上述のように、通常は、データ入出力回路４７と接続される構成において適切にスキューが調整されている。従って第１乃至第４周期に対応するフリップフロップの動作が適切なタイミングで実行されれば、クロック送信側回路１００Ａから送信されたクロック信号ＣＬ２及びクロック受信側回路２００Ａで受信されたクロックＣＬ４の位相は適切に設定されたことになる。よって、テスト信号が第１乃至第４周期を経過してクロック送信側回路１００Ａへと戻る動作が適切なタイミングで実行される遅延量Δ１０２を選定すれば、その遅延量Δ１０２を用いて生成されたクロックＣＬ２の位相が適切に設定されていることになる。
【００３９】
図２では遅延量Δ１０２が０の場合を、図３では遅延量Δ１０２が遅延量Δ１０１よりも大きい場合を、図４では遅延量Δ１０２が０よりも大きく遅延量Δ１０１よりも小さい場合を、それぞれ示している。
【００４０】
図２に示された場合では、クロックＣＬ４がクロックＣＬ３よりも進んでいる。フリップフロップ１１３は、第１周期でのクロックＣＬ３が立ち上がってから、自己の遅延量Δ１１３だけ遅延して、データＯ１１３を値Ｄ１から値Ｄ２へと更新する。データＯ１１３はバッファ１２３，２０４及び配線３０４の全体としての遅延量Δ３０４だけ遅延してフリップフロップ２１３の入力端に与えられ、データＩ２１３となる。
【００４１】
図２に示される場合では、第２周期でのクロックＣＬ４の立ち上がりよりもセットアップ時間ＴＳだけ前と、データＩ２１３が更新されるタイミングとが一致するため、フリップフロップ２１３は更新前の値Ｄ１をデータＯ２１３として出力する可能性がある。そのような場合、フリップフロップ２１３は、更新前の値Ｄ１を自己の遅延量Δ２１３だけ遅延してデータＯ２１３として出力する。
【００４２】
フリップフロップ２１４は、第３周期でのクロックＣＬ４の立ち上がりよりもそのセットアップ時間ＴＳだけ前の時点における、データＩ２１４（即ちデータＯ２１３）を、自己の遅延量Δ２１４だけ遅延してデータＯ２１４として出力する。よってフリップフロップ２１４からは更新前の値Ｄ１が出力される。
【００４３】
データＯ２１４はバッファ１２４，２０５及び配線３０５の全体としての遅延量Δ３０５だけ遅延してフリップフロップ１１４の入力端に与えられ、データＩ１１４となる。フリップフロップ１１４は、第４周期でのクロックＣＬ３の立ち上がりよりもそのセットアップ時間ＴＳだけ前の時点におけるデータＩ１１４を、自己の遅延量Δ１１４だけ遅延してデータＯ１１４として出力する。よってフリップフロップ１１４からは更新前の値Ｄ１が出力される。
【００４４】
以上のようにして、戻ってきたデータは更新された値Ｄ２を反映していない。そこで送受信テスト手段１８１は送受信テストは正常動作されなかったと判断する。
【００４５】
図３に示された場合では、クロックＣＬ４がクロックＣＬ３よりも遅れている。フリップフロップ１１３は、第１周期でのクロックＣＬ３が立ち上がってから遅延量Δ１１３だけ遅延して、データＯ１１３を値Ｄ１から値Ｄ２へと更新する。データＯ１１３は遅延量Δ３０４だけ遅延してフリップフロップ２１３の入力端に与えられ、データＩ２１３となる。
【００４６】
第２周期でのクロックＣＬ４の立ち上がりよりもセットアップ時間ＴＳだけ前の時点と、データＩ２１３が更新されるタイミングとの間にはマージン時間ＴＭ１（＞０）が存在する。よって、フリップフロップ２１３は更新後の値Ｄ２を自己の遅延量Δ２１３だけ遅延して、データＯ２１３として出力する。
【００４７】
フリップフロップ２１４は、第３周期でのクロックＣＬ４の立ち上がりよりもそのセットアップ時間ＴＳだけ前の時点における、データＩ２１４（即ちデータＯ２１３）を、自己の遅延量Δ２１４だけ遅延してデータＯ２１４として出力する。データＯ２１３の値が更新されるタイミングは、第３周期でのクロックＣＬ４の立ち上がりよりもセットアップ時間ＴＳだけ前の時点よりも、更にマージン時間ＴＭ２（＞０）だけ先行している。よってフリップフロップ２１４からは更新後の値Ｄ２が出力される。
【００４８】
データＯ２１４は遅延量Δ３０５だけ遅延してフリップフロップ１１４の入力端に与えられ、データＩ１１４となる。フリップフロップ１１４は、第４周期でのクロックＣＬ３の立ち上がりよりもそのセットアップ時間ＴＳだけ前の時点におけるデータＩ１１４を、自己の遅延量Δ１１４だけ遅延してデータＯ１１４として出力する。しかしながら、データＩ１１４が更新されるタイミングは、セットアップ時間ＴＳだけクロックＣＬ３の立ち上がりよりも前の時点よりも後である。よってフリップフロップ１１４からは更新前の値Ｄ１が出力される。
【００４９】
以上のようにして、図３に示された場合も、送受信テスト手段１８１は送受信テストは正常動作されなかったと判断する。
【００５０】
図４に示された場合では、クロックＣＬ４がクロックＣＬ３とほぼ一致しているフリップフロップ１１３は、第１周期でのクロックＣＬ３が立ち上がってから遅延量Δ１１３だけ遅延して、データＯ１１３を値Ｄ１から値Ｄ２へと更新する。データＯ１１３は遅延量Δ３０４だけ遅延してフリップフロップ２１３の入力端に与えられ、データＩ２１３となる。
【００５１】
第２周期でのクロックＣＬ４の立ち上がりよりもセットアップ時間ＴＳだけ前の時点と、データＩ２１３が更新されるタイミングとの間にはマージン時間ＴＭ１が存在する。よって、フリップフロップ２１３は更新後の値Ｄ２を自己の遅延量Δ２１３だけ遅延して、データＯ２１３として出力する。
【００５２】
フリップフロップ２１４は、第３周期でのクロックＣＬ４の立ち上がりよりもそのセットアップ時間ＴＳだけ前の時点における、データＩ２１４（即ちデータＯ２１３）を、自己の遅延量Δ２１４だけ遅延してデータＯ２１４として出力する。データＯ２１３の値が更新されるタイミングは、第３周期でのクロックＣＬ４の立ち上がりよりもセットアップ時間ＴＳだけ前の時点よりも、更にマージン時間ＴＭ２だけ先行している。よってフリップフロップ２１４からは更新後の値Ｄ２が出力される。
【００５３】
データＯ２１４は遅延量Δ３０５だけ遅延してフリップフロップ１１４の入力端に与えられ、データＩ１１４となる。フリップフロップ１１４は、第４周期でのクロックＣＬ３の立ち上がりよりもそのセットアップ時間ＴＳだけ前の時点におけるデータＩ１１４を、自己の遅延量Δ１１４だけ遅延してデータＯ１１４として出力する。データＩ１１４の値が更新されるタイミングは、第４周期でのクロックＣＬ３の立ち上がりよりもセットアップ時間ＴＳだけ前の時点よりも、更にマージン時間ＴＭ３だけ先行している。よってフリップフロップ１１４からは更新後の値Ｄ２が出力される。
【００５４】
以上のようにして、図４に示された場合は、送受信テスト手段１８１は送受信テストは正常動作したと判断する。
【００５５】
このように、遅延時間Δ１０２は大きすぎても小さすぎてもよくない。そこで遅延時間指定値Ｋを適切に設定し、遅延時間可変遅延調整回路１０２の外部から遅延時間指定値Ｋに基づいて、遅延時間Δ１０２を適切に設定する。
【００５６】
図５、図６は本実施の形態における処理の概略を例示するフローチャートである。ステップＳ１において、遅延時間指定レジスタ１８３に対して、遅延時間制御手段１８２が、初期値Ｒ０を設定する。遅延時間可変遅延調整回路１０２は初期値Ｒ０を遅延時間指定値Ｋとして受け、これに基づいた遅延量Δ１０２を設定する。その後、ステップＳ２において送受信テスト手段１８１が送受信テストを実施する。その結果が正常動作であったかどうかがステップＳ３において判断される。
【００５７】
正常動作でなければ（例えば図２の場合に相当する）、遅延時間指定値Ｋが最大値であるか否かがステップＳ４において判断される。最大値でなければ（即ちまだ遅延量Δ１０２を増加させることが可能であれば）ステップＳ５において遅延時間指定値Ｋを所定量、例えば１（任意単位）だけ増加させる処理を行う。一方、ステップＳ４において遅延時間指定値Ｋが最大値であると判断されれば、もう遅延量Δ１０２を増加させることができないのに、依然として送受信テストが正常に行えないのであるから、エラー終了として処理される。
【００５８】
送受信テストが正常動作であれば（例えば図４の場合に相当する）、ステップＳ３からステップＳ６（図６参照）に進む。
【００５９】
ステップＳ６はステップＳ６１〜Ｓ６８を含む。まずステップＳ６１において値Ｒ１として現状の遅延時間指定値Ｋを設定する。この段階における値Ｒ１は、これを遅延時間指定値Ｋとして採用すれば送受信テストが正常動作となる値である。次にステップＳ６２において、送受信テスト回路１８１が送受信テストを実施し、ステップＳ６３において正常動作であったか否かが判断される。上述のように、ステップＳ３からステップＳ６に移行して最初に値Ｒ１を設定した際には、必ず送受信テストは正常動作となるので、ステップＳ６６へと進む。そしてステップＳ４と同様に、遅延時間指定値Ｋが最大値であるか否かが判断される。
【００６０】
遅延時間指定値Ｋが最大値でなければ、ステップＳ６８へと処理が進み、ステップＳ５と同様、遅延時間指定値Ｋを所定量、例えば１（任意単位）だけ増加させる処理を行う。そして処理はステップＳ６２へと戻る。
【００６１】
このようにしてステップＳ６８が実行されることにより、やがて遅延量Δ１０２が過大となり、正常動作しなくなる（例えば図３の場合に相当する）か、遅延時間指定値Ｋが最大値となる。
【００６２】
正常動作しなくなった場合には、ステップＳ６４へと進み、現状の、即ち増加させることにより、初めて送受信テストを正常動作させなくした遅延時間指定値Ｋから１（任意単位）だけ減少させた値を値Ｒ２に設定する。これにより、値Ｒ２は、送受信テストを正常動作させる遅延時間指定値Ｋの上限値として把握することができる。一方、値Ｒ１は、ステップＳ３から最初にステップＳ６へと移行した際の遅延時間指定値Ｋであるので、送受信テストを正常動作させる遅延時間指定値Ｋの下限値として把握することができる。
【００６３】
遅延時間指定値Ｋが最大値となった場合には、ステップＳ６７へと進み、値Ｒ２に遅延時間指定値Ｋを設定する。この場合、正常動作であるか否かの境界によるものではなく、遅延時間指定値Ｋの最大値による制限ではあるものの、値Ｒ２はやはり、送受信テストを正常動作させる遅延時間指定値Ｋの上限値として把握することができる。値Ｒ１については、この場合においても、送受信テストを正常動作させる遅延時間指定値Ｋの下限値として把握することができる。
【００６４】
ステップＳ６４，ステップＳ６７が実行された後は、処理がステップＳ６５に進み、遅延時間指定値Ｋを、値Ｒ１，Ｒ２の中間値に設定する。
【００６５】
このようにして、遅延時間指定値Ｋを、送受信テストを正常動作させる遅延時間指定値Ｋの上限値と下限値の間に定めることができる。特にＫ＝（Ｒ１＋Ｒ２）／２とすることで、よりマージンの広い設定が可能である。
【００６６】
なお、遅延量Δ１０２が不足していて送受信テストが正常動作しない状態から、順次に遅延量Δ１０２を増大させるのであるから、遅延時間指定値Ｋが最大値となってステップＳ４を経由してエラー終了に至る場合を除けば、必ず送受信テストが正常動作する遅延時間指定値Ｋに至る。よってステップＳ６を省略することもできる。
【００６７】
ステップＳ６を省略すれば、所望の遅延量Δ１０２を得るまでに必要な送受信テストの回数を減らすことができる。しかしながら、ステップＳ６を省略して得られた所望の遅延量Δ１０２が、動作マージンに乏しい可能性が残る。
【００６８】
このほか、値Ｒ１に複数の増加量を加えて複数の遅延時間指定値Ｋを求め、送受信テストを正常動作させる場合の遅延時間指定値Ｋについて平均値を採用することもできる。この場合、送受信テストを正常動作させる遅延時間指定値Ｋの上限値を求めることができない可能性はあるが、ステップＳ６を省略するよりも動作マージンは広い。
【００６９】
以上のようにして本実施の形態によれば、クロック送信側回路１００Ａやクロック受信側回路２００Ａの製造ばらつきのような個体差、温度や電源電圧のような使用条件の変化に対するクロックタイミングのマージンを拡げることができ、更に仕様の幅を拡げることができる。
【００７０】
図７は遅延時間可変遅延調整回路１０２の構成を例示する回路図である。ここでは遅延時間指定値Ｋが４ビットの情報を有している場合を例に採る。遅延時間可変遅延調整回路１０２は、多段接続された２4個の遅延素子１０２0〜１０２15と、バッファ１０２ａ及び４ビットデコーダ１０２ｂを備えている。
【００７１】
遅延時間指定値Ｋは４ビットデコーダ１０２ｂによって１６ビットの信号Ｊ＜０：１５＞に変換される。クロックＣＬ１はバッファ１０２ａを介して遅延素子１０２0〜１０２15のいずれの一方入力端にも与えられる。整数Ｑ＝１〜１５を導入して説明すると、遅延素子１０２Qの出力は、遅延素子１０２Q-1の他方入力端に与えられる。遅延素子１０２15の他方入力端には論理“Ｌ”が与えられる（図中では接地される場合が示される）。遅延素子１０２0はクロックＣＬ２を出力する。
【００７２】
遅延素子１０２Qは信号Ｊの第ＱビットＪ＜Ｑ＞に基づいて、遅延素子１０２0は信号Ｊの第０ビットＪ＜０＞に基づいて、それぞれ一方入力端／他方入力端のいずれか一方を出力する。これにより、１６通りの遅延量Δ１０２を実現することができる。
【００７３】
上述の例示では、テスト用送受信回路２７においてフリップフロップ２１３，２１４をカスケードに接続した場合が説明されたが、一方を省略してバッファ２０４，２０５の間に他の一方を挟む構成を採用してもよい。
【００７４】
実施の形態２．
図８は本発明の実施の形態２にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。実施の形態１において図１に示された構成と比較して、クロック受信側回路２００Ａをクロック受信側回路２００Ｂと置換した構成が採用されている。クロック送信側回路１００Ａ及びクロック受信側回路２００Ｂは相互に配線で接続されて、データ送受信システムを構成している。
【００７５】
クロック受信側回路２００Ｂはクロック受信側回路２００Ａからテスト用送受信回路２７並びにテスト信号入力端子２２４及びテスト信号出力端子２２５を削除した構成を有している。そしてデータ入出力回路４７がデータ入力端子２２２及びデータ出力端子２２３とを介して、テスト用送受信回路１７とデータ入出力回路４７との両方に接続されている。
【００７６】
具体的には、データ入力端子２２２は配線３０２及び配線３０４を介してそれぞれデータ出力端子１３２及びテスト信号出力端子１３４に接続される。またデータ出力端子２２３は配線３０３及び配線３０５を介してそれぞれデータ入力端子１３３及びテスト信号入力端子１３５に接続される。
【００７７】
本実施の形態では、データ入出力回路４７がクロック受信側回路２００Ａのテスト用送受信回路２７の機能を兼ねる。よって図５や図６に示されたフローチャートに従い、送受信テストの結果得られた所望の遅延量Δ１０２を採用してクロックＣＬ２を生成することで、実施の形態１に示される場合と比較して、データ入出力回路３７，４７間のデータの入出力について、より適切なクロックマージンを提供できる。
【００７８】
実施の形態３．
図９は本発明の実施の形態３にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。実施の形態１において図１に示された構成と比較して、クロック送信側回路１００Ａをクロック送信側回路１００Ｂと置換し、配線３０６を追加した構成が採用されている。クロック送信側回路１００Ｂ及びクロック受信側回路２００Ａは相互に配線で接続されて、データ送受信システムを構成している。
【００７９】
クロック送信側回路１００Ｂは、クロック送信側回路１００Ａに対して、バッファ１０４、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）回路１０５、フィードバック端子１３６を追加した構成を有している。クロック送信側回路１００Ａとは異なり、クロック受信側回路２００Ａに与えられるクロックＣＬ２は遅延時間可変遅延調整回路１０２ではなく、ＤＬＬ回路１０５によって生成される。クロック送信側回路１００Ｂでは、遅延時間可変遅延調整回路１０２は遅延時間指定値Ｋに基づいてクロックＣＬ１を遅延させてクロックＣＬ５を生成する。
【００８０】
配線３０６は配線３０１の途中と、フィードバック端子１３６との間に接続される。これにより、フィードバック端子１３６は配線３０１，３０６を経由したクロックＣＬ２が与えられる。
【００８１】
ＤＬＬ回路１０５には、バッファ１０４を介して、フィードバック端子１３６に与えられたクロックＣＬ２を入力する。またクロックＣＬ１，ＣＬ５をも入力する。そして自己に与えられたクロックＣＬ２，ＣＬ５の位相差に基づいた遅延量でクロックＣＬ１を遅延することにより、クロックＣＬ５を生成する。
【００８２】
バッファ１０３、配線３０１，３０６、バッファ１０４を経由してＤＬＬ回路１０５に与えられたクロックＣＬ２の位相が、クロックＣＬ４の位相と一致するように、バッファ１０３，２０１及び配線３０１，３０６の特性が設定される。
【００８３】
ＤＬＬ回路１０５は、バッファ１０４を介して与えられたクロックＣＬ２の位相がクロックＣＬ５よりも進んでいる場合、クロックＣＬ２をクロックＣＬ１から得るための遅延量を増大させる。当該クロックＣＬ２の位相がクロックＣＬ５よりも進んでいる場合、当該遅延量を減少させる。このようにＤＬＬ回路１０５はクロックＣＬ４，ＣＬ５の位相を一致させる機能を果たす。クロックＣＬ５は遅延時間可変遅延調整回路１０２によって生成されるので、クロックＣＬ４を変動させる要因が発生した場合でも、実施の形態１におけるクロックＣＬ２，ＣＬ４の位相差を、ＤＬＬ回路１０５の機能によって容易に確保する。つまり、クロックＣＬ３、ＣＬ４の位相差を、安定して確保することが容易となる。
【００８４】
図１０は本発明の実施の形態３の変形にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。クロック受信側回路２００Ａを、実施の形態２で示されたクロック受信側回路２００Ｂと置換した構成が採用されている。
【００８５】
よって、送受信テストの結果得られた所望の遅延量Δ１０２を採用してクロックＣＬ５を生成し、更にクロックＣＬ４，ＣＬ５に基づいてクロックＣＬ２を生成するので、実施の形態２に示される場合や図９に示された構成と比較して、データ入出力回路３７，４７間のデータの入出力について、より適切なクロックマージンを提供できる。
【００８６】
実施の形態４．
図１１は本発明の実施の形態４にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。実施の形態１において図１に示された構成と比較して、クロック送信側回路１００Ａ及びクロック受信側回路２００Ａを、それぞれクロック送信側回路１００Ｃ及びクロック受信側回路２００Ｃに置換し、配線３０４，３０５を除去して配線３０７を追加した構成が採用されている。クロック送信側回路１００Ｃ及びクロック受信側回路２００Ｃは相互に配線で接続されて、データ送受信システムを構成している。
【００８７】
クロック送信側回路１００Ｃはクロック送信側回路１００Ａからテスト用送受信回路１７並びにテスト信号出力端子１３４及びテスト信号入力端子１３５を除去し、テストモード信号出力端子１３７を追加した構成を有している。またクロック受信側回路２００Ｃはクロック受信側回路２００Ａからテスト用送受信回路２７並びにテスト信号出力端子２２５及びテスト信号入力端子２２４を除去し、テストモード信号入力端子２２７を追加した構成を有している。配線３０７はテストモード信号出力端子１３７とテストモード信号入力端子２２７との間を接続する。
【００８８】
本実施の形態においてデータ入出力回路３７，４７は、それぞれ実施の形態１で示されたテスト用送受信回路１７，２７の機能をも果たす。かかる機能を得るためにクロック送信側回路１００Ｃにおいては、フリップフロップ１１１の入力端は内部回路１９に接続されるのみならず、送受信テスト手段１８１にも接続され、テスト信号を入力することもできる。またフリップフロップ１１２の出力は内部回路１９に接続されるのみならず、送受信テスト手段１８１にも接続され、テスト信号を出力することもできる。
【００８９】
テストモード信号Ｔはテスト信号が送受信されるか否かを示す信号であり、送受信テスト手段１８１によって生成され、内部回路１９に与えられ、またテストモード信号出力端子１３７から出力される。
【００９０】
またクロック受信側回路２００Ｃにおいては、実施の形態１で図８を用いて説明されたクロック受信側回路２００Ｂに対してセレクタ２３を付加した構成を有している。セレクタ２３の第１入力端はフリップフロップ２１１の出力端に接続され、第２入力端はクロック受信側回路２００Ｃ中の図示されない構成へと接続される。セレクタ２３の出力端はフリップフロップ２１２の入力端に接続される。セレクタ２３の制御端はテストモード信号入力端子２２７に接続されており、配線３０７を介してテストモード信号入力端子２２７に与えられたテストモード信号Ｔを受ける。テストモード信号Ｔがアサートされていればセレクタ２３の出力端がその第１入力端と接続され、アサートされていなければセレクタ２３の出力端がその第２入力端と接続される。
【００９１】
テストモード信号Ｔは送受信テスト手段１８１が生成する。テストモード信号Ｔがアサートされていれば、内部回路１９は通常のデータの授受を行うことを止める一方、送受信テスト手段１８１によってテスト信号がフリップフロップ１１１の入力端に与えられる。そしてテスト信号はフリップフロップ１１１、バッファ１２１、データ出力端子１３２、配線３０２、データ入力端子２２２、バッファ２０２、フリップフロップ２１１、セレクタ２３、フリップフロップ２１２、バッファ２０３、データ出力端子２２３、配線３０３、データ入力端子１３３、バッファ１２２、フリップフロップ１１２をこの順に経由して伝搬し、送受信テスト手段１８１に戻る。よって実施の形態１において図５や図６で示されたフローチャートに則った動作により、遅延量Δ１０２を設定することができる。
【００９２】
テストモード信号Ｔがアサートされていなければ、テスト信号は出力されない。そして内部回路１９から出力されるデータは、フリップフロップ１１１、バッファ１２１、データ出力端子１３２、配線３０２、データ入力端子２２２、バッファ２０２、フリップフロップ２１１をこの順位に経由して伝搬する。また、クロック受信側回路２００Ｃ内部の図示されない構成からのデータが、セレクタ２３、フリップフロップ２１２、バッファ２０３、データ出力端子２２３、配線３０３、データ入力端子１３３、バッファ１２２、フリップフロップ１１２をこの順に経由して伝搬し、内部回路１９に出力される。
【００９３】
以上のように、本実施の形態では、データ入出力回路３７，４７がテスト用送受信回路１７，２７の機能を兼ねる。よって図５や図６に示されたフローチャートに従い、送受信テストの結果得られた所望の遅延量Δ１０２を採用してクロックＣＬ２を生成することで、実施の形態１に示される場合と比較して、更に実施の形態２に示される場合と比較しても、データ入出力回路３７，４７間のデータの入出力について、より適切なクロックマージンを提供できる。
【００９４】
なお、クロック受信側回路２００Ｃの代わりにクロック受信側回路２００Ｂを用いてもよい。この場合、配線３０７並びにテストモード信号出力端子１３７及びテストモード信号入力端子２２７は不要である。クロック受信側回路２００ＢがクロックＣＬ４に同期して動作するメモリモジュールであって、通常のデータの送受信と同じメモリの読み書きをテスト信号を用いて行う場合には、データ入出力回路４７をフリップフロップで構成する必要はない。あるいはテストモード信号Ｔによって送受信テストが行われる場合にのみ、入出力のタイミングに影響がない機能を選択して抑止する場合にもデータ入出力回路４７をフリップフロップで構成する必要はない。
【００９５】
あるいはまた、内部回路１９やフリップフロップ１１１，１１２の動作に支障がなければ、テストモード信号Ｔを内部回路１９に与える必要はない。
【００９６】
図１２は本発明の実施の形態４の変形にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。クロック送信側回路１００Ｃをクロック送信側回路１００Ｄと置換した構成が採用されている。
【００９７】
クロック送信側回路１００Ｄは、クロック送信側回路１００Ｃに対して、バッファ１０４、ＤＬＬ回路１０５、フィードバック端子１３６を追加した構成を有している。クロック送信側回路１００Ｃとは異なり、クロック受信側回路２００Ｃに与えられるクロックＣＬ２は遅延時間可変遅延調整回路１０２ではなく、ＤＬＬ回路１０５によって生成される。クロック送信側回路１００Ｄでは、遅延時間可変遅延調整回路１０２は遅延時間指定値Ｋに基づいてクロックＣＬ１を遅延させてクロックＣＬ５を生成する。
【００９８】
配線３０６は配線３０１の途中と、フィードバック端子１３６との間に接続される。これにより、フィードバック端子１３６は配線３０１，３０６を経由したクロックＣＬ２が与えられる。バッファ１０３、配線３０１，３０６、バッファ１０４を経由してＤＬＬ回路１０５に与えられたクロックＣＬ２の位相が、クロックＣＬ４の位相と一致するように、バッファ１０３，２０１及び配線３０１，３０６の特性が設定される。
【００９９】
ＤＬＬ回路１０５の動作は実施の形態３で説明されたとおりであり、クロックＣＬ４，ＣＬ５の位相を一致させる機能を果たす。クロックＣＬ５は遅延時間可変遅延調整回路１０２によって生成されるので、クロックＣＬ４を変動させる要因が発生した場合でも、クロックＣＬ３、ＣＬ４の位相差を、安定して確保することが容易となる。よって、この変形によれば、データ入出力回路３７，４７間のデータの入出力について、より適切なクロックマージンを提供できる。
【０１００】
実施の形態５．
図１３は本発明の実施の形態５にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。実施の形態１において図１で示された構成と比較して、クロック送信側回路１００Ａ及びクロック受信側回路２００Ａを、それぞれクロック送信側回路１００Ｅ及びクロック受信側回路２００Ｂと置換し、配線３０４，３０５を省略した構成が採用されている。クロック送信側回路１００Ｅ及びクロック受信側回路２００Ｂは相互に配線で接続され、設定信号生成回路３００Ａと共にデータ送受信システムを構成している。
【０１０１】
クロック送信側回路１００Ｅは、クロック送信側回路１００Ａから遅延時間設定手段１８及びテスト用送受信回路１７並びにテスト信号出力端子１３４及びテスト信号入力端子１３５を省略し、外部制御信号入力端子１３８を追加した構成を有している。
【０１０２】
これまで説明されてきた構成とは異なり、遅延時間可変遅延調整回路１０２にはクロック送信側回路１００Ｅの外部から遅延時間指定値Ｋが与えられる。具体的にはクロック送信側回路１００Ａの外部に設けられた設定信号生成回路３００Ａによって遅延時間指定値Ｋが生成され、外部制御信号入力端子１３８を介して遅延時間可変遅延調整回路１０２へと与えられる。
【０１０３】
設定信号生成回路３００Ａには、クロック送信側回路１００Ｅ、クロック受信側回路２００Ｂからそれぞれ情報Ｑ１，Ｑ２が与えられる。情報Ｑ１としてクロック送信側回路１００Ｅのデータ入出力回路３７に供給される電源電圧の状態を採用することができ、これは例えば、クロック送信側回路１００Ｅが異なる電圧にそれぞれ対応して複数のモードで切り替えて動作可能な場合、その動作モードを示す信号である。あるいはクロック送信側回路１００Ｅの動作温度を採用することができ、これは例えば温度センサーで検出される信号である。情報Ｑ２も同様にして、クロック受信側回路２００Ｂの電源電圧の状態や動作温度を採用することができる。
【０１０４】
あるいは設定信号生成回路３００Ａはスイッチで構成し、そのスイッチを人手で切り替えてもよい。例えばクロック受信側回路２００Ｂのクロック系統に相違が生じている場合には、その相違に対応してスイッチを切り替える。この場合、切り替えられたスイッチの状態が遅延時間指定値Ｋに相当し、遅延時間可変遅延調整回路１０２はスイッチの状態に応じて自己の遅延量Δ１０２を設定する。例えば設定信号生成回路３００Ａが４個のスイッチで構成されている場合、に変換図７に示された構成において４ビットデコーダ１０２ｂの入力側を適宜に設計して、これらの４個のスイッチの切り替え状態を１６ビットの信号Ｊ＜０：１５＞に変換することは容易な変形である。
【０１０５】
以上のようにして本実施の形態によれば、クロック送信側回路１００Ｅやクロック受信側回路２００Ｂのクロック系統の仕様や製造ばらつきのような個体差や、温度や電源電圧のような使用条件の変化に対するクロックタイミングのマージンを拡げることができ、更に仕様の幅を拡げることができる。
【０１０６】
図１４は本発明の実施の形態５の変形にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。クロック送信側回路１００Ｅをクロック送信側回路１００Ｆと置換した構成が採用されている。
【０１０７】
クロック送信側回路１００Ｆは、クロック送信側回路１００Ｅに対して、バッファ１０４、ＤＬＬ回路１０５、フィードバック端子１３６を追加した構成を有している。クロック送信側回路１００Ｃとは異なり、クロック受信側回路２００Ｂに与えられるクロックＣＬ２は遅延時間可変遅延調整回路１０２ではなく、ＤＬＬ回路１０５によって生成される。クロック送信側回路１００Ｆでは、遅延時間可変遅延調整回路１０２は遅延時間指定値Ｋに基づいてクロックＣＬ１を遅延させてクロックＣＬ５を生成する。
【０１０８】
配線３０６は配線３０１の途中と、フィードバック端子１３６との間に接続される。バッファ１０３、配線３０１，３０６、バッファ１０４を経由してＤＬＬ回路１０５に与えられたクロックＣＬ２の位相が、クロックＣＬ４の位相と一致するように、バッファ１０３，２０１及び配線３０１，３０６の特性が設定される。
【０１０９】
ＤＬＬ回路１０５の動作は実施の形態３で説明されたとおりであり、クロックＣＬ４，ＣＬ５の位相を一致させる機能を果たす。クロックＣＬ４を変動させる要因が発生した場合でも、クロックＣＬ３、ＣＬ４の位相差を、安定して確保することが容易となり、データ入出力回路３７，４７間のデータの入出力について、より適切なクロックマージンを提供できる。
【０１１０】
実施の形態６．
図１５は本発明の実施の形態６にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。実施の形態５において図１３で示された構成と比較して、クロック送信側回路１００Ｅ及び設定信号生成回路３００Ａを、それぞれクロック送信側回路１００Ｇ及びモード信号生成回路３００Ｂと置換した構成が採用されている。クロック送信側回路１００Ｇ及びクロック受信側回路２００Ｂは相互に配線で接続され、モード信号生成回路３００Ｂと共にデータ送受信システムを構成している。
【０１１１】
クロック送信側回路１００Ｇは、クロック送信側回路１００Ｅに遅延時間選択手段１６を追加した構成を有している。遅延時間選択手段１６には、外部制御信号入力端子１３８を介してモード信号Ｍを入力し、これに基づいて複数の遅延時間指定値候補Ｋ１，Ｋ２，…から一つを選択して遅延時間指定値Ｋとし、これを遅延時間可変遅延調整回路１０２へと与える。
【０１１２】
遅延時間選択手段１６は、複数の遅延時間指定レジスタ１６１，１６２を有しており、それぞれが遅延時間指定値候補Ｋ１，Ｋ２を記憶し、これを出力する。遅延時間選択手段１６は更にセレクタ１６３を有しており、その複数の入力端の各々には遅延時間指定値候補Ｋ１，Ｋ２が与えられる。そしてセレクタ１６３はモード信号Ｍに基づいて、自己の複数の入力端のいずれか一つを、自己の出力端と接続する。ここでは二つの遅延時間指定値候補Ｋ１，Ｋ２を例示したが、更に多くの遅延時間指定値候補、例えば１６個の遅延時間指定値候補を採用してもよい。その場合にはモード信号Ｍを４ビットの信号とし、セレクタ１６３を１６入力−１出力のセレクタとすればよい。
【０１１３】
モード信号生成回路３００Ａには、クロック送信側回路１００Ｅ、クロック受信側回路２００Ｂからそれぞれ情報Ｑ１，Ｑ２が与えられる。情報Ｑ１，Ｑ２に基づいてモード信号Ｍを生成する。情報Ｑ１，Ｑ２については実施の形態５で例示されている。
【０１１４】
よって本実施の形態によれば、クロック送信側回路１００Ｇやクロック受信側回路２００Ｂのクロック系統の仕様や製造ばらつきのような個体差や、温度や電源電圧のような使用条件の変化に対するクロックタイミングのマージンを拡げることができ、更に仕様の幅を拡げることができる。
【０１１５】
図１６は本発明の実施の形態６の変形にかかるクロック遅延調整技術を適用可能な構成を例示するブロック図である。クロック送信側回路１００Ｇをクロック送信側回路１００Ｈと置換した構成が採用されている。
【０１１６】
クロック送信側回路１００Ｈは、実施の形態５において図１４で示されたクロック送信側回路１００Ｆに対し、遅延時間選択手段１６を追加した構成を有している。
【０１１７】
よって実施の形態５の変形と同様に、クロックＣＬ４を変動させる要因が発生した場合でも、クロックＣＬ３、ＣＬ４の位相差を、安定して確保することが容易となり、データ入出力回路３７，４７間のデータの入出力について、より適切なクロックマージンを提供できる。
【０１１８】
上述の実施の形態から理解されるように、遅延量Δ１０２を設定するに際し、クロック送信側回路の内部において遅延時間設定手段１８を設けてもよいし、クロック送信側回路の外部において設定信号生成回路３００Ａを設けてもよい。またクロック送信側回路の外部及び内部において、それぞれモード信号生成回路３００Ｂ及び遅延時間選択手段１６を設けてもよい。これらのいずれに対しても、ＤＬＬ回路１０５を用いた変形が可能である。またテスト信号入力端子やテスト信号出力端子を設けるか、テスト信号の入出力をデータ入力端子及びデータ出力端子においてデータの入出力と兼用させるか否かについても、上記の種々の組み合わせに対して独立して選定することが可能である。
【０１１９】
また、いずれの実施の形態においても、テスト信号の送受信が正常に行われるように遅延量Δ１０２を設定することが可能であれば、クロックＣＬ３をクロック受信側回路に与え、クロックＣＬ２をクロック送信側回路におけるデータ入出力に用いてもよい。
【０１２０】
以下、本発明を適用した実施例としてマイクロコンピュータとＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や同期型ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のような、クロック同期型のメモリとを有する構成を例示するが、本発明の適用はかかる構成に限定されるものではない。しかし、実施の形態４に示されたようにテストモード信号を採用する場合には、通常のマイクロコンピュータに備わっている汎用ポート端子をテストモード信号出力端子として採用することは、好適な態様の一つである。
【実施例】
【０１２１】
図１７は本発明のクロック送信側回路及びクロック受信側回路として、それぞれマイクロコンピュータ１及びマイクロコンピュータ１からのクロックに同期してアクセスされる外部メモリとしてＳＤＲＡＭ２を採用した構成を例示するブロック図である。マイクロコンピュータ１は内蔵メモリ１ａ、ＣＰＵ１ｂ、遅延時間指定レジスタ１ｃ、入出力インターフェース１ｄを備えており、これらはバス１ｅによって相互に接続され、データ授受が行われる。マイクロコンピュータ１は更に遅延調整回路１０１と、遅延時間可変遅延調整回路１０２と、バッファ１０３と、クロック出力端子１３１と、アドレス出力端子１４１と、データ入出力端子１４２とを備えている。
【０１２２】
遅延調整回路１０１及び遅延時間可変遅延調整回路１０２にはクロックＣＬ１が入力し、それぞれクロックＣＬ３，ＣＬ２を出力する。遅延時間可変遅延調整回路１０２は遅延時間指定レジスタ１ｃから受ける遅延時間指定値Ｋに基づいてその遅延量が制御される。
【０１２３】
入出力インターフェース１ｄはクロックＣＬ３を入力し、これに基づいてＳＤＲＡＭ２へのアドレスの出力をアドレス出力端子１４１を介して、ＳＤＲＡＭ２との間でのデータの入出力をデータ入出力端子１４２を介して、それぞれ行う。
【０１２４】
クロックＣＬ２はバッファ１０３及びクロック出力端子１３１を介してＳＤＲＡＭ２に与えられ、ＳＤＲＡＭ２はクロックＣＬ２に基づいて、より具体的には上述の各実施の形態で説明されたクロックＣＬ４に基づいて動作する。
【０１２５】
遅延時間指定値Ｋは、内蔵メモリ１ａに格納されたプログラムに基づいて実行されるＣＰＵ１ｂの処理によって設定される。具体的には例えば図５、図６に示されたフローチャートの処理が行われる。つまり、上述の実施の形態において示された送受信テスト手段１８１及び遅延時間制御手段１８２の機能はＣＰＵ１ｂによって担われ、上述の実施の形態において示された遅延時間指定レジスタ１８３の機能は遅延時間指定レジスタ１ｃによって担われている。遅延時間指定レジスタ１ｃは上記のプログラムによって書き換え可能であり、例えば遅延時間指定レジスタ１ｃはメモリマップト入出力インターフェースによって実現できる。
【０１２６】
本実施例では送受信テストとして、ＳＤＲＡＭ２へのデータの読み書きが正常に行えるかどうかの判定が採用される。当該プログラムは、もちろん、内蔵メモリ１ａのみならず、マイクロコンピュータの他の外部メモリ（ＳＤＲＡＭ２を除く）に格納することも可能である。
【０１２７】
図１８は本発明の他の実施例の構成を例示するブロック図である。ここでは図１７の構成と比較して、更にバッファ１０４、ＤＬＬ回路１０５、フィードバック端子１３６を追加し、フィードバック端子１３６にはクロックＣＬ２についてのフィードバック配線が接続された構成を有している。よって実施の形態３と同様にして、マイクロコンピュータ１とＳＤＲＡＭ２との間のデータの入出力について、より適切なクロックマージンを提供できる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施の形態１の構成を例示するブロック図である。
【図２】本発明の実施の形態１の動作を例示するタイミングチャートである。
【図３】本発明の実施の形態１の動作を例示するタイミングチャートである。
【図４】本発明の実施の形態１の動作を例示するタイミングチャートである。
【図５】本発明の実施の形態１における処理の概略を例示するフローチャートである。
【図６】本発明の実施の形態１における処理の概略を例示するフローチャートである。
【図７】遅延時間可変遅延調整回路の構成を例示する回路図である。
【図８】本発明の実施の形態２の構成を例示するブロック図である。
【図９】本発明の実施の形態３の構成を例示するブロック図である。
【図１０】本発明の実施の形態３の変形の構成を例示するブロック図である。
【図１１】本発明の実施の形態４の構成を例示するブロック図である。
【図１２】本発明の実施の形態４の変形の構成を例示するブロック図である。
【図１３】本発明の実施の形態５の構成を例示するブロック図である。
【図１４】本発明の実施の形態５の変形の構成を例示するブロック図である。
【図１５】本発明の実施の形態５の構成を例示するブロック図である。
【図１６】本発明の実施の形態６の変形の構成を例示するブロック図である。
【図１７】本発明の実施例の構成を例示するブロック図である。
【図１８】本発明の実施例の他の構成を例示するブロック図である。
【符号の説明】
【０１２９】
１７，２７  テスト用送受信回路、１８  遅延時間設定手段、１９  内部回路、３７，４７  データ入出力回路、１０１  遅延調整回路、１０２  遅延時間可変遅延調整回路、１０５  ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋ  Ｌｏｏｐ）回路、１８１  送受信テスト手段、１８２  遅延時間制御手段、１８３  遅延時間指定レジスタ、ＣＬ１〜ＣＬ５  クロック、Ｋ  遅延時間指定値。
【図１】
2005065000.tif 000003
【図２】
2005065000.tif 000004
【図３】
2005065000.tif 000005
【図４】
2005065000.tif 000006
【図５】
2005065000.tif 000007
【図６】
2005065000.tif 000008
【図７】
2005065000.tif 000009
【図８】
2005065000.tif 000010
【図９】
2005065000.tif 000011
【図１０】
2005065000.tif 000012
【図１１】
2005065000.tif 000013
【図１２】
2005065000.tif 000014
【図１３】
2005065000.tif 000015
【図１４】
2005065000.tif 000016
【図１５】
2005065000.tif 000017
【図１６】
2005065000.tif 000018
【図１７】
2005065000.tif 000019
【図１８】
2005065000.tif 000020