(57)【要約】【課題】クロック信号のタイミング調整を環境変化に応じて適切に行うことが可能なタイミング調整回路を提供する。【解決手段】環境値を検出する環境センサと、クロック供給対象回路へ供給するクロック信号を遅延させるクロック遅延回路と、前記環境値の変化が所定条件を満足したことを契機として、前記クロック遅延回路に対して複数の異なる遅延量を順次設定し、各遅延量における前記クロック供給対象回路の動作状態から前記各遅延量の合否判定を行い、当該合否判定の結果に基づいて現在の環境値に対する最適遅延量を決定して前記クロック遅延回路に設定する制御部とを備えたタイミング調整回路とする。【選択図】図１
2011090621.tif 000002
【特許請求の範囲】
【請求項１】
環境値を検出する環境センサと、
クロック供給対象回路へ供給するクロック信号を遅延させるクロック遅延回路と、
前記環境値の変化が所定条件を満足したことを契機として、前記クロック遅延回路に対して複数の異なる遅延量を順次設定し、各遅延量における前記クロック供給対象回路の動作状態から前記各遅延量の合否判定を行い、当該合否判定の結果に基づいて現在の環境値に対する最適遅延量を決定して前記クロック遅延回路に設定する制御部と、
を備えることを特徴とするタイミング調整回路。
【請求項２】
前記制御部は、前回に前記最適遅延量を決定した時の環境値と、現在の環境値とが所定範囲に含まれていない場合を前記契機とすることを特徴とする請求項１記載のタイミング調整回路。
【請求項３】
前記環境センサは、前記環境値として温度または湿度の少なくとも一方を検出することを特徴とする請求項１または２に記載のタイミング調整回路。
【請求項４】
前記クロック遅延回路は、複数の前記クロック供給対象回路へ供給するクロック信号を個別に遅延させる機能を有し、
前記制御部は、前記複数のクロック供給対象回路のそれぞれについて前記最適遅延量を決定して前記クロック遅延回路に設定することを特徴とする請求項１〜３のいずれか一項に記載のタイミング調整回路。
【請求項５】
前記クロック供給対象回路がクロック同期型メモリである場合において、
前記制御部は、前記各遅延量において前記クロック同期型メモリに対して正常にデータの書込み及び読出しを行うことができたか否かを判定することで、前記各遅延量の合否判定を行うことを特徴とする請求項１〜４のいずれか一項に記載のタイミング調整回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイミング調整回路に関する。
【背景技術】
【０００２】
周知のように、ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)等のクロック同期型の半導体メモリ装置は、外部から供給されるクロック信号に同期してデータの読み書き動作を行う。通常のＳＤＲＡＭではクロック信号の立上がりのみを利用するのに対し、立上がりと立下りの両方を利用することで同一のクロック信号を使用するＳＤＲＡＭの２倍のデータ転送速度を実現するＤＤＲ(Double Data Rate)ＳＤＲＡＭが知られている。
【０００３】
このようなＳＤＲＡＭは、外部制御回路からクロック信号、アドレス信号、データの各信号の供給を受けるが、回路レイアウトに依存して各信号の配線長がそれぞれ異なるため、各信号のＳＤＲＡＭへの到達時間にズレが生じてしまい（スキューの発生）、その結果、アクセスエラー（データの書込みエラー）が発生するという問題がある。このような問題に対し、下記特許文献１には、ＳＤＲＡＭにクロックを供給してデータの受け渡しを行う半導体集積回路において、ＳＤＲＡＭに到達するクロックとデータとの時間的ずれを自動調整する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２３５５１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１の技術では、例えば工場出荷時に、検査を行う者がテスト信号を準備回路に与えて自動でタイミング調整が行われるが、テストした環境以外（例えば工場出荷後）での環境変化に対応できないため、環境変化に対して適切なタイミング調整を行うことができない。
【０００６】
本発明は、上述した事情に鑑みてなされたものであり、クロック信号のタイミング調整を環境変化に応じて適切に行うことが可能なタイミング調整回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係るタイミング調整回路は、環境値を検出する環境センサと、クロック供給対象回路へ供給するクロック信号を遅延させるクロック遅延回路と、前記環境値の変化が所定条件を満足したことを契機として、前記クロック遅延回路に対して複数の異なる遅延量を順次設定し、各遅延量における前記クロック供給対象回路の動作状態から前記各遅延量の合否判定を行い、当該合否判定の結果に基づいて現在の環境値に対する最適遅延量を決定して前記クロック遅延回路に設定する制御部と、を備えることを特徴とする。
【０００８】
また、本発明に係るタイミング調整回路において、前記制御部は、前回に前記最適遅延量を決定した時の環境値と、現在の環境値とが所定範囲に含まれていない場合を前記契機とすることを特徴とする。
また、本発明に係るタイミング調整回路において、前記環境センサは、前記環境値として温度または湿度の少なくとも一方を検出することを特徴とする。
【０００９】
また、本発明に係るタイミング調整回路において、前記クロック遅延回路は、複数の前記クロック供給対象回路へ供給するクロック信号を個別に遅延させる機能を有し、前記制御部は、前記複数のクロック供給対象回路のそれぞれについて前記最適遅延量を決定して前記クロック遅延回路に設定することを特徴とする。
【００１０】
また、本発明に係るタイミング調整回路において、前記クロック供給対象回路がクロック同期型メモリである場合において、前記制御部は、前記各遅延量において前記クロック同期型メモリに対して正常にデータの書込み及び読出しを行うことができたか否かを判定することで、前記各遅延量の合否判定を行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、環境値の変化が所定条件を満足したことを契機として、クロック供給対象回路へ供給するクロック信号の最適遅延量を設定するため、クロック信号のタイミング調整を環境変化に応じて適切に行うことが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るタイミング調整回路１のブロック構成図である。
【図２】制御部１３におけるＣＰＵ１３ａの動作フローチャートである。
【図３】各クロック信号のタイミングチャートである。
【図４】図２のステップＳ２の処理で得られる合否判定結果の一例である。
【図５】図２のステップＳ３の処理で得られる最適遅延量の決定結果の一例である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態におけるタイミング調整回路１のブロック構成図である。この図１に示すように、本実施形態におけるタイミング調整回路１は、クロック同期型メモリであるＤＤＲ ＳＤＲＡＭ（以下、ＤＤＲメモリと称す）Ｍ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５をクロック供給対象回路とし、これらＤＤＲメモリＭ１〜Ｍ５へ供給するクロック信号のタイミング調整を行うものであり、温度センサ１１、クロック遅延回路１２及び制御部１３を備えている。
【００１４】
温度センサ１１（環境センサ）は、ＤＤＲメモリＭ１〜Ｍ５が実装された回路基板上において、これらＤＤＲメモリＭ１〜Ｍ５の近傍位置に配置されており、環境値としてその配置位置における温度を検出し、その温度検出結果を示す温度データＴＤを制御部１３に出力する。
【００１５】
クロック遅延回路１２は、複数のＤＤＲメモリＭ１〜Ｍ５へ供給するクロック信号を個別に遅延させる機能を有した半導体集積回路である。具体的には、このクロック遅延回路１２は、制御部１３から入力される遅延量設定データＤＳＤによって、各ＤＤＲメモリＭ１〜Ｍ５へ供給するクロック信号ＣＬ１〜ＣＬ５の遅延量を個別に設定可能な遅延量設定レジスタを備えている。つまり、クロック遅延回路１２は、制御部１３から入力されるクロック信号ＣＬ０を、遅延量設定レジスタに設定された遅延量で遅延させることで、各ＤＤＲメモリＭ１〜Ｍ５へ供給するクロック信号ＣＬ１〜ＣＬ５を生成する。なお、本実施形態において、クロック遅延回路１２は、１／８周期単位でクロック信号ＣＬ０を遅延させることが可能であると想定する。
【００１６】
制御部１３は、温度データＴＤ（温度）の変化が所定条件を満足したことを契機として、クロック遅延回路１２に対して複数の異なる遅延量を順次設定し、各遅延量におけるＤＤＲメモリＭ１〜Ｍ５の動作状態から各遅延量の合否判定を行い、当該合否判定の結果に基づいて現在の温度データＴＤ（温度）に対する最適遅延量を決定してクロック遅延回路１２に設定するものであり、ＣＰＵ(Central Processing Unit)１３ａ、メモリコントローラ１３ｂ、Ｉ２Ｃインタフェース１３ｃ及びＳＲＡＭ(Static Random Access Memory)１３ｄを備えている。
【００１７】
ＣＰＵ１３ａは、温度センサ１１から入力される温度データＴＤを監視し、この温度データＴＤの変化（つまり温度変化）が所定条件を満足したことを契機として、遅延量設定データＤＳＤをＩ２Ｃインタフェース１３ｃを介してクロック遅延回路１２に出力することで、クロック遅延回路１２に対して複数の異なる遅延量を順次設定する。また、このＣＰＵ１３ａは、遅延量を設定する度にメモリコントローラ１３ｂを制御して、各ＤＤＲメモリＭ１〜Ｍ５に対するデータの書込み及び読出しを行い、正常にデータの書込み及び読出しを行うことができたか否かを判定することで、各遅延量の合否判定を行う。さらに、このＣＰＵ１３ａは、上記の合否判定の結果に基づいて現在の温度データＴＤ（温度）に対する最適遅延量を各ＤＤＲメモリＭ１〜Ｍ５のそれぞれについて決定してクロック遅延回路１２に設定する。
【００１８】
メモリコントローラ１３ｂは、ＣＰＵ１３ａによる制御の下、クロック信号ＣＬ０をクロック遅延回路１２に出力すると共に、書込み時にはライトアドレス信号ＷＡ及びライトデータＷＤを各ＤＤＲメモリＭ１〜Ｍ５に出力し、読出し時にはリードアドレス信号ＲＡを各ＤＤＲメモリＭ１〜Ｍ５に出力する。また、メモリコントローラ１３ｂは、読出し時に各ＤＤＲメモリＭ１〜Ｍ５から出力されるリードデータＲＤをＣＰＵ１３ａに出力する。つまり、上記ＣＰＵ１３ａは、ライトデータＷＤとリードデータＲＤとが一致するか否かを判定することで、正常にデータの書込み及び読出しを行うことができたか否かを判定する。
【００１９】
Ｉ２Ｃインタフェース１３ｃは、Ｉ２Ｃに準拠したシリアルデータインタフェースであり、ＣＰＵ１３ａから入力される遅延量設定データＤＳＤをシリアルデータ化してクロック遅延回路１２に出力する。ＳＲＡＭ１３ｄは、ＣＰＵ１３ａが各処理を実行する際に各種データの一時保存先として用いられる揮発性のワーキングメモリである。
【００２０】
次に、上記のように構成された本実施形態におけるタイミング調整回路１の動作について詳細に説明する。
図２は、制御部１３におけるＣＰＵ１３ａの動作フローチャートである。この図２に示すように、ＣＰＵ１３ａは、温度センサ１１から入力される温度データＴＤを監視し、この温度データＴＤの変化（つまり温度変化）が所定条件を満足したか否かを判定する（ステップＳ１）。具体的には、ＣＰＵ１３ａは、温度データＴＤに基づいて、前回に最適遅延量を決定した時の温度と、現在の温度と（例えば、前回の温度と現在の温度との差分）が所定範囲に含まれているか否かを判定する。
【００２１】
上記ステップＳ１において、「Ｙｅｓ」の場合、つまり前回に最適遅延量を決定した時の温度と、現在の温度とが所定範囲に含まれている場合、ＣＰＵ１３ａは、ステップＳ１の処理を繰り返すことで温度データＴＤの監視を継続する。
【００２２】
一方、上記ステップＳ１において、「Ｎｏ」の場合、つまり前回に最適遅延量を決定した時の温度と、現在の温度とが所定範囲に含まれていない場合、ＣＰＵ１３ａは、遅延量設定データＤＳＤをＩ２Ｃインタフェース１３ｃを介してクロック遅延回路１２に出力することで、クロック遅延回路１２に対して複数の異なる遅延量を順次設定し、遅延量を設定する度にメモリコントローラ１３ｂを制御して、各ＤＤＲメモリＭ１〜Ｍ５に対するデータの書込み及び読出しを行い、正常にデータの書込み及び読出しを行うことができたか否かを判定することで、各遅延量の合否判定を行う（ステップＳ２）。
【００２３】
以下、このステップＳ２の処理について、図３のタイミングチャートを参照しながら具体的に説明する。ＣＰＵ１３ａは、まず、クロック遅延回路１２に対してクロック信号ＣＬ１〜ＣＬ５の全ての遅延量を「０」に設定した後、メモリコントローラ１３ｂに対して各ＤＤＲメモリＭ１〜Ｍ５に対するデータの書込み及び読出しを行うように指示する。
【００２４】
メモリコントローラ１３ｂは、ＣＰＵ１３ａの指示に応じて、クロック信号ＣＬ０をクロック遅延回路１２に出力すると共に、書込み時にはライトアドレス信号ＷＡ及びライトデータＷＤを各ＤＤＲメモリＭ１〜Ｍ５に出力する。この時、クロック遅延回路１２からは、図３に示すように、クロック信号ＣＬ０と同位相のクロック信号ＣＬ１〜ＣＬ５がＤＤＲメモリＭ１〜Ｍ５に出力される。これにより、各ＤＤＲメモリＭ１〜Ｍ５は、それぞれに入力されるクロック信号ＣＬ１〜ＣＬ５に同期して、ライトアドレス信号ＷＡによって指定されたアドレスにライトデータＷＤを記憶していく。
【００２５】
続いて、メモリコントローラ１３ｂは、読出し時にはリードアドレス信号ＲＡを各ＤＤＲメモリＭ１〜Ｍ５に出力する。これにより、各ＤＤＲメモリＭ１〜Ｍ５は、リードアドレス信号ＲＡによって指定されたアドレス（ライトアドレスと同じ）に記憶されているデータをリードデータＲＤとしてメモリコントローラ１３ｂに出力する。そして、メモリコントローラ１３ｂは、読出し時に各ＤＤＲメモリＭ１〜Ｍ５から出力されるリードデータＲＤをＣＰＵ１３ａに出力する。
【００２６】
ＣＰＵ１３ａは、ライトデータＷＤとリードデータＲＤとが一致するか否かを判定することで、正常にデータの書込み及び読出しを行うことができたか否かを判定する。この時点では、ライトデータＷＤとリードデータＲＤとが一致すれば「○（合格）」、不一致の場合には「×（不合格）」として、遅延量「０」の合否判定結果を各ＤＤＲメモリＭ１〜Ｍ５のそれぞれについて求める。
【００２７】
続いて、ＣＰＵ１３ａは、クロック遅延回路１２に対してクロック信号ＣＬ１〜ＣＬ５の全ての遅延量を「１／８周期」に設定した後、再度、メモリコントローラ１３ｂに対して各ＤＤＲメモリＭ１〜Ｍ５に対するデータの書込み及び読出しを行うように指示する。
【００２８】
これにより、上記と同様に、メモリコントローラ１３ｂによって各ＤＤＲメモリＭ１〜Ｍ５に対するデータの書込み及び読出しが行われ、ＣＰＵ１３ａはリードデータＲＤを取得することになる。なお、この場合、クロック遅延回路１２からは、図３に示すように、クロック信号ＣＬ０に対して１／８周期だけ位相がずれた（遅延した）クロック信号ＣＬ１〜ＣＬ５がＤＤＲメモリＭ１〜Ｍ５に出力される。
【００２９】
ＣＰＵ１３ａは、再度、ライトデータＷＤとリードデータＲＤとが一致するか否かを判定し、ライトデータＷＤとリードデータＲＤとが一致すれば「○」、不一致の場合には「×」として、遅延量「１／８周期」の合否判定結果を各ＤＤＲメモリＭ１〜Ｍ５のそれぞれについて求める。
【００３０】
以下同様に、ＣＰＵ１３ａは、クロック信号ＣＬ１〜ＣＬ５の全ての遅延量を「２／８周期」、「３／８周期」、「４／８周期」、「５／８周期」、「６／８周期」、「７／８周期」と順次設定し（図３参照）、その設定の度にライトデータＷＤとリードデータＲＤとが一致するか否かを判定し、各遅延量の合否判定結果を各ＤＤＲメモリＭ１〜Ｍ５のそれぞれについて求める。図４は、上記のようなステップＳ２の処理によって求められた各遅延量「０」、「１／８周期」、「２／８周期」、「３／８周期」、「４／８周期」、「５／８周期」、「６／８周期」、「７／８周期」の合否判定結果の一例である。
【００３１】
なお、大容量のＤＤＲメモリＭ１〜Ｍ５に全てアクセスしていては膨大な時間が必要となるため、短時間でアクセスエラー（ライトデータＷＤとリードデータＲＤとの不一致）を見つける方法が必要である。そこで、最もアクセスエラーが発生しやすいパターンとして、電源電圧が大きく変動するパターン（ハイレベルからローレベル、またはローレベルからハイレベルに変動するパターン）を使用することが好ましい。具体的には、例えば１６ビットバスの場合、「００００hex」から「ＦＦＦＦhex」に変動し、「ＦＦＦＦhex」から「００００hex」に変動するアドレス信号やデータを使用することで、合否判定時間の短縮を図ることができる。
【００３２】
ＣＰＵ１３ａは、上記のようなステップＳ２の処理が終了すると、ステップＳ２の処理によって得られた各遅延量の合否判定結果（図４参照）に基づいて、現在の温度データＴＤ（温度）に対する最適遅延量を各ＤＤＲメモリＭ１〜Ｍ５のそれぞれについて決定してクロック遅延回路１２に設定する（ステップＳ３）。
【００３３】
以下、このステップＳ３の処理について詳細に説明する。図４において、まず、ＤＤＲメモリＭ１に着目すると、遅延量「２／８周期」、「３／８周期」、「４／８周期」、「５／８周期」、「６／８周期」の合否判定結果が「○」となっている。本実施形態では、このように「×」によって挟まれた「○」の内、中間の「○」に対応する遅延量「４／８周期」をＤＤＲメモリＭ１（言い換えればクロック信号ＣＬ１）の最適遅延量として決定する。
【００３４】
同様に、ＤＤＲメモリＭ２に着目すると、遅延量「３／８周期」、「４／８周期」、「５／８周期」、「６／８周期」、「７／８周期」の合否判定結果が「○」となっているため、遅延量「５／８周期」をＤＤＲメモリＭ２（言い換えればクロック信号ＣＬ２）の最適遅延量として決定する。以下同様な手法で、ＤＤＲメモリＭ３〜Ｍ５について最適遅延量を決定した結果が図５である。この図５では、最適遅延量として決定された遅延量を「◎」で表現している。
【００３５】
ＣＰＵ１３ａは、上述した手法によって、現在の温度データＴＤ（温度）に対する最適遅延量を各ＤＤＲメモリＭ１〜Ｍ５のそれぞれについて決定すると、その決定した最適遅延量をクロック遅延回路１２に設定する。つまり、図５に示すように、クロック信号ＣＬ１の遅延量（現在温度に対する最適遅延量）として「４／８周期」が設定され、クロック信号ＣＬ２の遅延量として「５／８周期」が設定され、クロック信号ＣＬ３遅延量として「５／８周期」が設定され、クロック信号ＣＬ４の遅延量として「４／８周期」が設定され、クロック信号ＣＬ５の遅延量として「５／８周期」が設定されることになる。
ＣＰＵ１３ａは、上記のようなステップＳ３の処理を終了すると、ステップＳ１の処理に戻り、温度データＴＤの監視を継続する。
【００３６】
以上説明したように、本実施形態におけるタイミング調整回路１によれば、温度変化（環境値の変化）が所定条件を満足したことを契機として、各ＤＤＲメモリＭ１〜Ｍ５へ供給するクロック信号ＣＬ１〜ＣＬ５の最適遅延量を設定するため、クロック信号のタイミング調整を環境変化に応じて適切に行うことが可能となる。また、本実施形態におけるタイミング調整回路１によれば、ＤＤＲメモリＭ１〜Ｍ５が回路基板に実装された状態で最適遅延量の設定を行うため、部品バラツキを考慮した適切なタイミング調整を行うことができる。
【００３７】
なお、本発明は上記実施形態に限定されず、以下のような変形例が挙げられる。
（１）上記実施形態では、前回に最適遅延量を決定した時の温度と、現在の温度とが所定範囲に含まれていない場合を契機として、各遅延量の合否判定処理（ステップＳ２）及び最適遅延量の設定処理（ステップＳ３）を行う場合を例示したが、温度変化が他の条件を満足した場合、例えば、現在温度が所定の閾値を越えたことを契機としてステップＳ２及びＳ３の処理を行うようにしても良い。
【００３８】
（２）上記実施形態では、検出する環境値として温度を例示して説明したが、温度または湿度の少なくとも一方を検出し、これらの環境値の変化が所定条件を満足した場合にステップＳ２及びＳ３の処理を行うようにしても良い。また、環境値としては、電子部品の動作や信号伝送に影響するものを検出する必要があるため、上記の温度や湿度に限らず、電磁波照射量などの他の環境値を検出するようにしても良い。
【００３９】
（３）上記実施形態では、複数（５個）のＤＤＲメモリＭ１〜Ｍ５について、各遅延量の合否判定処理（ステップＳ２）及び最適遅延量の設定処理（ステップＳ３）を行う場合を例示したが、本発明はクロック供給対象回路が１個である場合にも適用可能である。また、上記実施形態では、クロック遅延回路１２が、１／８周期単位でクロック信号ＣＬ０を遅延させることが可能であると想定して説明したが、１／４周期単位、または１／１６周期単位でクロック信号ＣＬ０を遅延可能である場合でも同様な処理によって最適遅延量の設定を行うことができる。
【００４０】
（４）上記実施形態では、クロック同期型メモリであるＤＤＲ ＳＤＲＡＭをクロック供給対象回路とし、これらメモリに供給するクロック信号のタイミング調整を行う場合を例示して説明したが、クロック同期型メモリに限らず、クロック信号の供給を受けて動作する電子部品であれば、クロック信号を遅延させた際の動作状態から遅延量の合否判定を行うことができるため、本発明によってタイミング調整を行うことが可能である。
【符号の説明】
【００４１】
１…タイミング調整回路、１１…温度センサ（環境センサ）、１２…クロック遅延回路、１３…制御部、１３ａ…ＣＰＵ(Central Processing Unit)、１３ｂ…メモリコントローラ、１３ｃ…Ｉ２Ｃインタフェース、１３ｄ…ＳＲＡＭ(Static Random Access Memory) 
【図１】
2011090621.tif 000003
【図２】
2011090621.tif 000004
【図３】
2011090621.tif 000005
【図４】
2011090621.tif 000006
【図５】
2011090621.tif 000007