(57)【要約】【課題】クロック信号の周波数に依存しないデューティ調整回路が搭載されたＤＬＬ回路を提供する。【解決手段】内部クロック信号ＩＣＬＫを遅延させることによって内部クロック信号ＬＣＬＫを生成するディレイライン１１０と、ディレイライン１１０の遅延量を指定するカウンタ回路１２３と、カウンタ回路１２３のカウント値を調整するカウンタ制御回路１２２と、内部クロック信号ＩＣＬＫとレプリカクロック信号ＲｅｐＣＬＫのライズエッジが一致する第１及び第２のカウント値との差分を演算する減算回路１３３とを備え、得られた差分の１／２に相当する値に基づいて、内部クロック信号ＬＣＬＫのフォールエッジを調整する。これにより、キャパシタを交互にディスチャージするタイプのデューティ調整回路を用いた場合のように、適用可能な周波数帯域が限られることがない。【選択図】図２
2011199617.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号を遅延させることによって第２のクロック信号を生成するディレイラインと、
前記ディレイラインの遅延量を指定するカウンタ回路と、
前記第１及び第２のクロック信号の第１のアクティブエッジが所定の関係となるよう前記カウンタ回路のカウント値を調整するカウンタ制御回路と、
前記第１及び第２のクロック信号の前記第１のアクティブエッジがいずれも前記所定の関係となる第１及び第２のカウント値に基づいて、前記第２のクロック信号の第２のアクティブエッジを調整するデューティ調整回路と、を備えることを特徴とするクロック生成回路。
【請求項２】
前記第１のカウント値と前記第２のカウント値の差分は、前記第１のクロック信号の周期の自然数倍の遅延量に相当し、
前記デューティ調整回路は、前記差分を用いた演算を行うことにより、前記第１のクロック信号の半周期に相当する第３のカウント値を生成し、前記第３のカウント値に基づいて前記第２のクロック信号の前記第２のアクティブエッジを調整することを特徴とする請求項１に記載のクロック生成回路。
【請求項３】
前記デューティ調整回路は、前記第１又は第２のカウント値と前記第３のカウント値との和又は差に基づいて、前記第２のクロック信号の前記第２のアクティブエッジを調整することを特徴とする請求項２に記載のクロック生成回路。
【請求項４】
前記カウンタ制御回路は、前記第２のクロック信号に基づき生成された第３のクロック信号の第１のアクティブエッジと前記第１のクロック信号の前記第１のアクティブエッジが一致するよう、前記カウンタ回路のカウント値を更新し、
前記第１及び第２のカウント値は、いずれも前記第１及び第３のクロック信号の前記第１のアクティブエッジが一致するカウント値であることを特徴とする請求項１乃至３のいずれか一項に記載のクロック生成回路。
【請求項５】
請求項４に記載のクロック生成回路と、
前記第２のクロック信号に同期して出力データを外部に出力する出力バッファと、
前記出力バッファのレプリカであり、前記第２のクロック信号に同期して前記第３のクロック信号を生成するレプリカバッファと、を備えることを特徴とする半導体装置。
【請求項６】
第１のクロック信号を遅延させることによって第２のクロック信号を生成するディレイラインと、前記ディレイラインの遅延量を指定するカウンタ回路とを備えるクロック生成回路を用いたクロック信号の生成方法であって、
前記第１及び第２のクロック信号の第１のアクティブエッジが所定の関係となるよう前記カウンタ回路のカウント値を調整することにより第１のカウント値を取得するステップと、
前記第１及び第２のクロック信号の前記第１のアクティブエッジが前記所定の関係となるよう前記カウンタ回路のカウント値を調整することにより、前記第１のカウント値とは異なる第２のカウント値を取得するステップと、
前記第１及び第２のカウント値を用いた演算を行うことにより第３のカウント値を生成するステップと、
前記第３のカウント値に基づいて、前記第２のクロック信号の第２のアクティブエッジを調整するステップと、を備えることを特徴とするクロック信号の生成方法。
【請求項７】
前記第１又は第２のカウント値に基づいて、前記第２のクロック信号の前記第１のアクティブエッジを調整するステップをさらに備えることを特徴とする請求項６に記載のクロック信号の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はクロック生成回路及びこれを備える半導体装置に関し、特に、デューティ調整回路を備えたクロック生成回路及びこれを備える半導体装置に関する。さらに、本発明は、クロック信号の生成方法に関し、特にデューティを調整するクロック信号の生成方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータなどのメインメモリとして、クロック信号に同期した動作を行うシンクロナスメモリが広く使用されている。中でも、ＤＤＲ（Double Data Rate）型のシンクロナスメモリでは、入出力データを外部クロック信号に対して正確に同期させる必要があることから、外部クロック信号に同期した内部クロック信号を生成するためのＤＬＬ回路が必須である。
【０００３】
ＤＬＬ回路は、外部クロック信号を遅延させることによって内部クロック信号を生成する。その遅延量は、外部クロック信号のライズエッジと、リードデータと同じ位相を有する内部クロック信号（レプリカクロック信号）のライズエッジとを位相比較することにより決定する。具体的には、内部クロック信号のライズエッジの位相が外部クロック信号のライズエッジの位相よりも遅れている場合には遅延量を少なくし、逆に、内部クロック信号のライズエッジの位相が外部クロック信号のライズエッジの位相よりも進んでいる場合には遅延量を大きくすることによって、両者の位相を一致させる。
【０００４】
一方、内部クロック信号のデューティは５０％であることが望ましいため、内部クロック信号のフォールエッジについては、デューティ調整回路（ＤＣＣ）を用いて調整されることが一般的である。一般的なデューティ調整回路においては、内部クロック信号の同相信号と逆相信号を用いて２つのキャパシタを交互にディスチャージし、ディスチャージ後のキャパシタの電位を比較することによってデューティを判定する。判定の結果、デューティが５０％を超えている場合にはデューティが低下するよう、内部クロック信号のフォールエッジを早め、デューティが５０％を下回っている場合にはデューティが上昇するよう、内部クロック信号のフォールエッジを遅らせる。
【０００５】
しかしながら、上記のデューティ調整回路では、内部クロック信号の周波数によってディスチャージ量が大きく変化するため、適用可能な周波数帯域が狭いという問題があった。具体的には、内部クロック信号の周波数が低い場合（内部クロック信号の周期が長い場合）はディスチャージ量が大きくなりすぎるため、キャパシタ電位が飽和し、デューティ検出が不可能となるおそれがある。逆に、内部クロック信号の周波数が高い場合（内部クロック信号の周期が短い場合）はディスチャージ量が小さくなりすぎるため、得られる電位差が小さくなり、誤判定を起こすおそれがある。
【０００６】
このような問題は、例えば特許文献１に記載されたＤＬＬ回路によって解決可能である。特許文献１に記載されたＤＬＬ回路は、オシレータを用いて内部クロック信号のライズエッジ及びフォールエッジの位置を調整するタイプのＤＬＬ回路であり、上述したデューティ調整回路のようにキャパシタのディスチャージを行う必要がないことから、上記の問題を解決することができる。しかも、一般的なＤＬＬ回路とは異なり、外部クロック信号を遅延させるディレイラインも不要となる。
【０００７】
その他、内部クロック信号を生成する回路としては、特許文献２〜４に記載された回路が知られている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−２１８０９１号公報
【特許文献２】特開２００４−１２９２５５号公報
【特許文献３】特開２００７−０９７１８２号公報
【特許文献４】特開２００８−３１１９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載されたＤＬＬ回路は、複数のオシレータを必要とするため、これらオシレータがノイズ源になるという問題があった。しかも、一般的なＤＬＬ回路のようにディレイラインを用いていないことから、これまでに蓄積されてきたＤＬＬ回路の技術をそのまま適用できないという問題もあった。このような背景から、ディレイラインを用いた一般的なタイプのＤＬＬ回路において、クロック信号の周波数に依存しない改良されたデューティ調整回路を搭載することが望まれている。
【課題を解決するための手段】
【００１０】
本発明によるクロック生成回路は、第１のクロック信号を遅延させることによって第２のクロック信号を生成するディレイラインと、前記ディレイラインの遅延量を指定するカウンタ回路と、前記第１及び第２のクロック信号の第１のアクティブエッジが所定の関係となるよう前記カウンタ回路のカウント値を調整するカウンタ制御回路と、前記第１及び第２のクロック信号の前記第１のアクティブエッジがいずれも前記所定の関係となる第１及び第２のカウント値に基づいて、前記第２のクロック信号の第２のアクティブエッジを調整するデューティ調整回路と、を備えることを特徴とする。
【００１１】
また、本発明による半導体装置は、上記のクロック生成回路と、前記第２のクロック信号に同期して出力データを外部に出力する出力バッファと、前記出力バッファのレプリカであり、前記第２のクロック信号に同期して第３のクロック信号を生成するレプリカバッファと、を備えることを特徴とする。ここで、カウンタ制御回路は、前記第３のクロック信号の第１のアクティブエッジと前記第１のクロック信号の前記第１のアクティブエッジが一致するよう、前記カウンタ回路のカウント値を更新し、前記第１及び第２のカウント値は、いずれも前記第１及び第３のクロック信号の前記第１のアクティブエッジが一致するカウント値である。
【００１２】
また、本発明によるクロック信号の生成方法は、第１のクロック信号を遅延させることによって第２のクロック信号を生成するディレイラインと、前記ディレイラインの遅延量を指定するカウンタ回路とを備えるクロック生成回路を用いたクロック信号の生成方法であって、前記第１及び第２のクロック信号の第１のアクティブエッジが所定の関係となるよう前記カウンタ回路のカウント値を調整することにより第１のカウント値を取得するステップと、前記第１及び第２のクロック信号の前記第１のアクティブエッジが前記所定の関係となるよう前記カウンタ回路のカウント値を調整することにより、前記第１のカウント値とは異なる第２のカウント値を取得するステップと、前記第１及び第２のカウント値を用いた演算を行うことにより第３のカウント値を生成するステップと、前記第３のカウント値に基づいて、前記第２のクロック信号の第２のアクティブエッジを調整するステップと、を備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、第１のアクティブエッジ（例えばライズエッジ）の調整された位置を示すカウント値を複数取得し、これらカウント値に基づいて第２のアクティブエッジ（例えばフォールエッジ）の位置を調整していることから、キャパシタを交互にディスチャージするタイプのデューティ調整回路を用いた場合のように、適用可能な周波数帯域が限られることがない。しかも、一般的なＤＬＬ回路と同様、ディレイラインを用いていることから、既に設計されたＤＬＬ回路を改良するだけで済む。
【図面の簡単な説明】
【００１４】
【図１】本発明の好ましい実施形態による半導体装置１０の構成を示すブロック図である。
【図２】ＤＬＬ回路１００の構成を示すブロック図である。
【図３】減算回路１３３の回路図である。
【図４】フリップフロップ回路１３２の機能を説明するための模式図である。
【図５】半導体装置１０の動作を説明するためのフローチャートである。
【図６】半導体装置１０の動作を説明するためのタイミングチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００１６】
図１は、本発明の好ましい実施形態による半導体装置１０の構成を示すブロック図である。
【００１７】
本実施形態による半導体装置１０は単一の半導体チップに集積されたシンクロナス型のＤＲＡＭ（Dynamic Random Access Memory）であり、外部端子として、クロック端子１１、コマンド端子１２ａ〜１２ｄ、アドレス端子１３及びデータ入出力端子１４を備えている。その他、データストローブ端子や電源端子なども備えられているが、これらについては図示を省略してある。
【００１８】
クロック端子１１は、外部クロック信号ＣＫが供給される端子であり、供給された外部クロック信号ＣＫは、クロック入力回路２１に供給される。クロック入力回路２１は、外部クロック信号ＣＫを受けて内部クロック信号ＩＣＬＫ（第１のクロック信号）を生成し、これをＤＬＬ回路１００に供給する。ＤＬＬ回路１００は、内部クロック信号ＩＣＬＫに基づいて位相制御及びデューティ制御された内部クロック信号ＬＣＬＫ（第２のクロック信号）を生成し、これをデータ入出力回路８０に供給する役割を果たす。ＤＬＬ回路１００の回路構成については後述する。
【００１９】
コマンド端子１２ａ〜１２ｄは、それぞれロウアドレスストローブ信号ＲＡＳ、カラムアドレスストローブ信号ＣＡＳ、ライトイネーブル信号ＷＥ、チップセレクト信号ＣＳ等のコマンド信号ＣＭＤが供給される端子である。これらのコマンド信号ＣＭＤは、コマンド入力回路３１に供給される。コマンド入力回路３１に供給されたこれらコマンド信号ＣＭＤは、コマンドデコーダ３２に供給される。コマンドデコーダ３２は、コマンド信号の保持、デコード及びカウントなどを行うことによって、各種内部コマンドＩＣＭＤを生成する回路である。生成された内部コマンドＩＣＭＤは、ロウ系制御回路５１、カラム系制御回路５２及びモードレジスタ５３に供給される。また、内部コマンドＩＣＭＤの一種であるＤＬＬリセット信号ＲＳＴは、ＤＬＬ回路１００に供給される。ＤＬＬリセット信号ＲＳＴは、電源投入時やセルフリフレッシュモードからの復帰時などに活性化される。
【００２０】
アドレス端子１３は、アドレス信号ＡＤＤが供給される端子であり、供給されたアドレス信号ＡＤＤは、アドレス入力回路４１に供給される。アドレス入力回路４１の出力は、アドレスラッチ回路４２に供給される。アドレスラッチ回路４２にラッチされたアドレス信号ＡＤＤのうち、ロウアドレスについてはロウ系制御回路５１に供給され、カラムアドレスについてはカラム系制御回路５２に供給される。また、コマンド信号ＣＭＤに基づいてモードレジスタセットにエントリしている場合には、アドレス信号ＡＤＤはモードレジスタ５３に供給され、これによってモードレジスタ５３の内容が更新される。モードレジスタ５３は、半導体装置１０の動作パラメータ（バースト長、ＣＡＳレイテンシなど）が設定されるレジスタである。
【００２１】
ロウ系制御回路５１の出力は、ロウデコーダ６１に供給される。ロウデコーダ６１は、メモリセルアレイ７０に含まれるいずれかのワード線ＷＬを選択する回路である。メモリセルアレイ７０内においては、複数のワード線ＷＬと複数のビット線ＢＬが交差しており、その交点にはメモリセルＭＣが配置されている（図１では、１本のワード線ＷＬ、１本のビット線ＢＬ及び１個のメモリセルＭＣのみを示している）。ビット線ＢＬは、センス回路６３内の対応するセンスアンプＳＡに接続されている。
【００２２】
また、カラム系制御回路５２の出力は、カラムデコーダ６２に供給される。カラムデコーダ６２は、センス回路６３に含まれるいずれかのセンスアンプＳＡを選択する回路である。カラムデコーダ６２によって選択されたセンスアンプＳＡは、データアンプ６４に接続される。データアンプ６４は、リード動作時においてはセンスアンプＳＡによって増幅されたリードデータをさらに増幅し、リードライトバスＲＷＢＳを介してこれをデータ入出力回路８０に供給する。一方、ライト動作時においては、リードライトバスＲＷＢＳを介してデータ入出力回路８０から供給されるライトデータを増幅し、これをセンスアンプＳＡに供給する。
【００２３】
データ入出力端子１４は、リードデータＤＱの出力及びライトデータＤＱの入力を行うための端子であり、データ入出力回路８０に接続されている。データ入出力回路８０には出力バッファ８１が含まれている。出力バッファ８１は、リード動作時において内部クロックＬＣＬＫに同期してリードデータを出力する。
【００２４】
図２は、ＤＬＬ回路１００の構成を示すブロック図である。
【００２５】
図２に示すように、ＤＬＬ回路１００は、ディレイライン１１０と、ライズエッジ生成部１２０と、フォールエッジ生成部１３０と、レプリカバッファ１４０とを備えている。ここで、フォールエッジ生成部１３０はデューティ調整回路に相当する回路である。
【００２６】
ディレイライン１１０は、内部クロック信号ＩＣＬＫ（第１のクロック信号）を遅延させることによって内部クロック信号ＬＣＬＫ（第２のクロック信号）を生成する回路である。特に限定されるものではないが、ディレイライン１１０には、相対的に粗い調整ピッチで外部クロック信号を遅延させるコースディレイラインと、相対的に細かい調整ピッチで外部クロック信号を遅延させるファインディレイラインを含んでいることが好ましい。ディレイライン１１０によって生成される内部クロック信号ＬＣＬＫのライズエッジ（第１のアクティブエッジ）はライズエッジ生成部１２０によって調整され、フォールエッジ（第２のアクティブエッジ）はフォールエッジ生成部１３０によって調整される。
【００２７】
内部クロック信号ＬＣＬＫは、図１に示したデータ入出力回路８０に供給されるとともに、図２に示すようにレプリカバッファ１４０に供給される。レプリカバッファ１４０は、データ入出力回路８０に含まれる出力バッファ８１のレプリカ回路であり、内部クロック信号ＬＣＬＫを受けてレプリカクロック信号ＲｅｐＣＬＫ（第３のクロック信号）を生成する。レプリカクロック信号ＲｅｐＣＬＫは、ライズエッジ生成部１２０に供給される。これに対し、レプリカクロック信号ＲｅｐＣＬＫはフォールエッジ生成部１３０には供給されない。本発明では、フォールエッジの調整にレプリカクロック信号ＲｅｐＣＬＫを直接使用しないからである。
【００２８】
ライズエッジ生成部１２０には、位相判定回路１２１、カウンタ制御回路１２２、カウンタ回路１２３、デコーダ回路１２４及びロック判定回路１２５が含まれている。
【００２９】
位相判定回路１２１は、内部クロック信号ＩＣＬＫのライズエッジとレプリカクロック信号ＲｅｐＣＬＫのライズエッジとの位相を検出する回路である。レプリカクロック信号ＲｅｐＣＬＫの位相は、リードデータＤＱの位相と一致するようディレイライン１１０によって調整されるが、電圧や温度などディレイライン１１０の遅延量に影響を与えるパラメータの変動や、外部クロック信号ＣＫ自体の周波数変動などによって、両者の位相は刻々と変化する。位相判定回路１２１はこのような変化を検出し、内部クロック信号ＩＣＬＫに対してレプリカクロック信号ＲｅｐＣＬＫが進んでいるか或いは遅れているかを判定する。特に限定されるものではないが、判定は内部クロック信号ＩＣＬＫの毎周期ごとに行われ、その結果は位相判定信号ＰＤとしてカウンタ制御回路１２２に供給される。
【００３０】
カウンタ制御回路１２２は、カウンタ回路１２３のカウント値を更新する回路である。カウンタ回路１２３は、ディレイライン１１０の遅延量を指定する回路である。カウンタ回路１２３のカウント値を増加させるか又は減少させるかは、位相判定回路１２１から供給される位相判定信号ＰＤに基づいて定められる。具体的には、レプリカクロック信号ＲｅｐＣＬＫの位相が内部クロック信号ＩＣＬＫに対して進んでいることを位相判定信号ＰＤが示している場合には、カウンタ制御回路１２２はそのカウント値をカウントアップし、これによりディレイライン１１０の遅延量を増大させる。逆に、レプリカクロック信号ＲｅｐＣＬＫの位相が内部クロック信号ＩＣＬＫに対して遅れていることを位相判定信号ＰＤが示している場合には、カウンタ制御回路１２２はそのカウント値をカウントダウンし、これによりディレイライン１１０の遅延量を減少させる。特に限定されるものではないが、カウント値の更新は、内部クロック信号ＩＣＬＫの複数周期（例えば１６周期）ごとに行われる。
【００３１】
カウンタ回路１２３のカウント値はデコーダ回路１２４に供給される。デコーダ回路１２４はカウンタ回路１２３のカウント値をデコードし、そのデコード結果をディレイライン１１０に供給する。これにより、ディレイライン１１０のライズエッジ遅延量は、カウンタ回路１２３のカウント値に応じた遅延量となる。つまり、内部クロック信号ＩＣＬＫのライズエッジと、内部クロック信号ＬＣＬＫのライズエッジとの関係がカウンタ回路１２３のカウント値によって定められる。カウンタ回路１２３のカウント値は、ロック判定回路１２５にも供給される。
【００３２】
ロック判定回路１２５は、ＤＬＬ回路１００がロック状態にあるか否かを判定する回路である。ロック状態とは、内部クロック信号ＩＣＬＫのライズエッジとレプリカクロック信号ＲｅｐＣＬＫのライズエッジとがほぼ一致している状態を指す。ここで、位相判定回路１２１は位相が進んでいるのか遅れているのか、必ずいずれか一方の判定を行うことから、ＤＬＬ回路１００がロック状態になると、カウンタ回路１２３のカウント値はアップカウント及びダウンカウントを交互に繰り返すことになる。ロック判定回路１２５は、このようなカウント値の変化を検出し、ロック状態となったと判定した場合には、ロック判定信号Ｌ１，Ｌ２を活性化させる。ここで、ロック判定信号Ｌ１は、１回目のロック状態が検出された場合に活性化される信号であり、ロック判定信号Ｌ２は、２回目のロック状態が検出された場合に活性化される信号である。
【００３３】
カウンタ回路１２３のカウント値は、フォールエッジ生成部１３０にも供給される。フォールエッジ生成部１３０には、フリップフロップ回路１３１，１３２、減算回路１３３及びデコーダ回路１３４が含まれている。
【００３４】
フリップフロップ回路１３１は、ロック判定信号Ｌ１に応答してカウンタ回路１２３のカウント値をラッチする回路である。フリップフロップ回路１３１にラッチされたカウント値は、フリップフロップ回路１３２及び減算回路１３３に供給される。
【００３５】
減算回路１３３は、図２に示すＸ入力値とＹ入力値との差分を演算する回路である。ここで、Ｘ入力値とはカウンタ回路１２３のカウント値であり、Ｙ入力値とはフリップフロップ回路１３１又は１３２にラッチされている値である。演算の結果は、Ｚ出力値としてデコーダ回路１３４に供給される。図３は、減算回路１３３の具体的な回路の一例を示す図である。図３に示す回路例では、排他的論理和ゲートＸＯＲと論理積ゲートＡＮＤの組み合わせによって、ｎ＋１ビットのＸ入力値とＹ入力値を用いてＸ−Ｙの演算が行われ、ｎ＋１ビットのＺ出力値が生成される。
【００３６】
デコーダ回路１３４はＺ出力値をデコードし、そのデコード結果をディレイライン１１０に供給する。これにより、ディレイライン１１０のフォールエッジ遅延量はカウンタ回路１２３のカウント値であるＸ入力値と、Ｙ入力値に応じた遅延量となる。つまり、内部クロック信号ＩＣＬＫのフォールエッジと、内部クロック信号ＬＣＬＫのフォールエッジとの関係がＺ出力値によって定められる。
【００３７】
フリップフロップ回路１３２は、ロック判定信号Ｌ２に応答して減算回路１３３の出力であるＺ出力値の一部をラッチし、Ｚ出力値の１／２に相当する値を出力する回路である。フリップフロップ回路１３２の出力は、減算回路１３３のＹ入力値として用いられる。
【００３８】
図４は、フリップフロップ回路１３２の機能を説明するための模式図である。図４に示すように、ｎ＋１ビットのＺ出力値のうち、最下位ビットであるｚ［０］を切り捨てるとともに、上位ビットであるｚ［ｎ］〜ｚ［１］を１ビットずつシフトしてｙ［ｎ−１］〜ｙ［０］として出力する。これにより、Ｙ＝Ｚ／２の演算が行われることになる。
【００３９】
以上が本実施形態による半導体装置１０の構成である。次に、本実施形態による半導体装置１０の動作について説明する。
【００４０】
図５は、本実施形態による半導体装置１０の動作を説明するためのフローチャートである。
【００４１】
図５に示すように、電源投入やセルフリフレッシュモードからの復帰に応答してＤＬＬリセット信号ＲＳＴが活性化すると（ステップＳ１）、ＤＬＬ回路１００を構成する各回路ブロックがリセットされる。例えば、カウンタ回路１２３のカウント値が初期値にリセットされる。カウンタ回路１２３の初期値については、特に限定されないが中間値（最大値と最小値の中間の値）とすることが好ましい。
【００４２】
ＤＬＬ回路１００がリセットされた後、カウンタ制御回路１２２は位相判定回路１２１から供給される位相判定信号ＰＤに基づいてカウンタ回路１２３のカウント値を更新する。これにより、内部クロック信号ＩＣＬＫのライズエッジとレプリカクロック信号ＲｅｐＣＬＫのライズエッジとの位相差が徐々に縮小する。そして、これらの位相差がライズエッジ生成部１２０の最小分解能未満に達すると、ロック判定回路１２５はロック状態であることを検知し、これに応答してロック判定信号Ｌ１を活性化させる（ステップＳ２）。
【００４３】
ロック判定信号Ｌ１が活性化すると、カウンタ回路１２３の現在のカウント値（第１のカウント値）がフリップフロップ回路１３１にラッチされる（ステップＳ３）。ロック判定信号Ｌ１が活性化した時点における内部クロック信号ＬＣＬＫは、図６に示すように、内部クロック信号ＩＣＬＫに対して所定量遅延した信号となる。図６において、ＬＣＬＫ０（Ｙ）と表記しているのは、ロック判定信号Ｌ１が活性化した時点における、内部クロック信号ＩＣＬＫのパルス０に対応する内部クロック信号ＬＣＬＫのパルスを抜き出して示した波形である。
【００４４】
次に、カウンタ制御回路１２２は、フリップフロップ回路１３１にラッチされた第１のカウント値とは異なる値でロック状態が得られるよう、位相判定信号ＰＤに基づいてカウンタ回路１２３のカウント値をさらに更新する。そして、内部クロック信号ＩＣＬＫのライズエッジとレプリカクロック信号ＲｅｐＣＬＫのライズエッジとの位相差が再びライズエッジ生成部１２０の最小分解能未満に達すると、ロック判定回路１２５はロック状態であることを検知し、これに応答してロック判定信号Ｌ２を活性化させる（ステップＳ４）。
【００４５】
ロック判定信号Ｌ２が活性化した時点における内部クロック信号ＬＣＬＫは、図６に示すように、内部クロック信号ＩＣＬＫに対して所定量遅延した信号となる。図６において、ＬＣＬＫ０（Ｘ）と表記しているのは、ロック判定信号Ｌ２が活性化した時点における、内部クロック信号ＩＣＬＫのパルス０に対応する内部クロック信号ＬＣＬＫのパルスを抜き出して示した波形である。図６に示すように、波形ＬＣＬＫ０（Ｘ）は波形ＬＣＬＫ０（Ｙ）に対して正確に１クロックサイクル分遅れている。尚、ＬＣＬＫ１（Ｘ）と表記しているのは、ロック判定信号Ｌ２が活性化した時点における、内部クロック信号ＩＣＬＫのパルス１に対応する内部クロック信号ＬＣＬＫのパルスを抜き出して示した波形である。
【００４６】
ロック判定信号Ｌ２が活性化すると、減算回路１３３からのＺ出力値（の一部）がフリップフロップ回路１３２にラッチされる（ステップＳ５）。Ｚ出力値は、減算回路１３３によって演算されたＸ−Ｙの値である。ここで、Ｘ入力値とはカウンタ回路１２３の現在のカウント値（第２のカウント値）であり、Ｙ入力値とはフリップフロップ回路１３１にラッチされたカウント値（第１のカウント値）である。したがって、Ｚ出力値は内部クロック信号ＩＣＬＫの１クロックサイクルに相当する値となる。
【００４７】
上述の通り、フリップフロップ回路１３２はＺ出力値の一部をラッチし、Ｚ／２に相当する値を出力する。フリップフロップ回路１３２から出力されるＺ／２に相当する値は、Ｙ入力値として減算回路１３３に入力される。
【００４８】
これにより、減算回路１３３はＸ−Ｚ／２の演算を行うことになる（ステップＳ６）。つまり、デコーダ回路１３４に入力されるＺ出力値（第３のカウント値）は、カウンタ回路１２３の第２のカウント値よりも正確に１／２クロックサイクルずれた値（内部クロック信号ＩＣＬＫの半周期に相当する値）となり、これが内部クロック信号ＬＣＬＫのフォールエッジを規定する（ステップＳ７）。尚、内部クロック信号ＬＣＬＫのライズエッジについては、直前のロック状態が維持されることにより、第２のカウント値に基づいて調整される。但し、第１のカウント値（ロック判定信号Ｌ１が活性化するカウント値）に基づいてライズエッジを調整しても構わない。
【００４９】
以上により、レプリカクロック信号ＲｅｐＣＬＫは、図６に示すようにライズエッジが内部クロック信号ＩＣＬＫのライズエッジと正確に同期し、且つ、デューティが正確に５０％となるようフォールエッジの位置が制御されることになる。つまり、図６に示す例では、波形ＬＣＬＫ０（Ｘ）及びＬＣＬＫ１（Ｘ）に対応するレプリカクロック信号ＲｅｐＣＬＫのライズエッジが、内部クロック信号ＩＣＬＫのパルス２及び３のライズエッジと一致している。また、フォールエッジの位置は、直前のライズエッジから正確に１／２クロックサイクル遅れた位置となる。
【００５０】
このように、本実施形態による半導体装置１０によれば、キャパシタを交互にディスチャージするタイプのデューティ調整回路を用いることなく、内部クロック信号ＬＣＬＫのデューティを正確に５０％とすることが可能となる。しかも、ディレイライン１１０を用いていることから、既に設計されたＤＬＬ回路を改良するだけで済み、実際の設計も容易である。さらに、ノイズ源となりやすいオシレータ回路なども不要である。
【００５１】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【００５２】
例えば、上記実施形態では、ライズエッジに基づいて複数のロック状態を生成し、これらに対応するカウント値からフォールエッジの位置を調整しているが、これが逆であっても構わない。つまり、フォールエッジに基づいて複数のロック状態を生成し、これらに対応するカウント値からライズエッジの位置を調整することも可能である。
【００５３】
また、上記実施形態では、第１のカウント値（Ｙ入力値）と第２のカウント値（Ｘ入力値）との差分であるＸ−Ｙの値が１クロックサイクルに相当する場合を例に示したが、Ｘ−Ｙの値はクロックサイクルの自然数倍であれば何クロックサイクルであっても構わない。例えば、Ｘ−Ｙの値が２クロックサイクルに相当する場合には、（Ｘ−Ｙ）／４の値を用いてフォールエッジの位置を規定すればよい。
【００５４】
また、上記実施形態では、第２のカウント値であるＸ入力値と第３のカウント値であるＹ入力値（＝Ｚ／２）との差に基づいてフォールエッジの位置を調整しているが、これらの和に基づいてフォールエッジの位置を調整しても構わない。
【符号の説明】
【００５５】
１０      半導体装置
１１      クロック端子
１２ａ〜１２ｄ    コマンド端子
１３      アドレス端子
１４      データ入出力端子
２１      クロック入力回路
３１      コマンド入力回路
３２      コマンドデコーダ
４１      アドレス入力回路
４２      アドレスラッチ回路
５１      ロウ系制御回路
５２      カラム系制御回路
５３      モードレジスタ
６１      ロウデコーダ
６２      カラムデコーダ
６３      センス回路
６４      データアンプ
７０      メモリセルアレイ
８０      データ入出力回路
８１      出力バッファ
１００    ＤＬＬ回路
１１０    ディレイライン
１２０    ライズエッジ生成部
１２１    位相判定回路
１２２    カウンタ制御回路
１２３    カウンタ回路
１２４    デコーダ回路
１２５    ロック判定回路
１３０    フォールエッジ生成部
１３１，１３２    フリップフロップ回路
１３３    減算回路
１３４    デコーダ回路
１４０    レプリカバッファ
ＩＣＬＫ  内部クロック信号（第１のクロック信号）
ＬＣＬＫ  内部クロック信号（第２のクロック信号）
ＲｅｐＣＬＫ    レプリカクロック信号（第３のクロック信号）
【図１】
2011199617.tif 000003
【図２】
2011199617.tif 000004
【図３】
2011199617.tif 000005
【図４】
2011199617.tif 000006
【図５】
2011199617.tif 000007
【図６】
2011199617.tif 000008