(57)【要約】【課題】ＤＬＬ回路がロックしないという現象の発生を防止する。【解決手段】カウンタ回路２０２と、カウンタ回路２０２のカウント値ＣＮＴに応じた遅延量を内部クロック信号ＬＣＬＫに与えるディレイライン２０１とを有する。まず、カウンタ回路２０２は第１のカウント値にセットされ、判定信号ＰＤに基づいてそのカウント値ＣＮＴが周期的に更新される。その結果、内部クロック信号ＬＣＬＫの位相が所望の位相に到達しなかった場合、カウンタ回路２０２は、第１のカウント値とは異なる第２のカウント値にセットされ、ＤＬＬ回路２００がリスタートされる。これにより、ＤＬＬ回路がロックしなかった場合であっても自動的にリスタートされることから、ＤＬＬ回路がロックしないという現象が防止される。【選択図】図２
2013005132.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御信号に対応して其々活性化される位相判定回路及び前記位相判定回路の判定結果に対応してカウント値を変化させるカウンタ回路を備え、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えて前記内部クロックの位相を調整するＤＬＬ回路と、
前記カウンタ回路のカウント値が最大値又は最小値の少なくともいずれか一方に達したときに第２の制御信号を出力するカウンタ判定回路と、を備え、
前記カウンタ回路は前記第１の制御信号を受けたときに第１のカウント値にセットされ、且つ第２の制御信号を受けたときに前記第１のカウント値とは異なる第２のカウント値にセットされることを特徴とする半導体装置。
【請求項２】
前記第１の制御信号は、外部から所定のコマンドが発行されたことに応答して活性化されることを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記ＤＬＬ回路は、前記カウント値の変化ピッチを制御する制御回路をさらに備え、
前記制御回路は、前記第１又は第２の制御信号の活性化に応答して前記カウント値の変化ピッチを最大ピッチに設定することを特徴とする請求項１又は２に記載の半導体装置。
【請求項４】
前記制御回路は、前記位相判定回路の判定結果に基づいて前記カウント値の変化ピッチを縮小することを特徴とする請求項３に記載の半導体装置。
【請求項５】
前記第１のカウント値と前記第２のカウント値との差は、前記最大ピッチ以上であることを特徴とする請求項３又は４に記載の半導体装置。
【請求項６】
第１の内部クロック信号を遅延させることによって第２の内部クロック信号を生成するディレイラインと、
前記第２の内部クロック信号に基づいて第３の内部クロック信号を生成するレプリカ回路と、
前記第１の内部クロック信号と前記第３の内部クロック信号の位相を比較する位相判定回路と、
前記位相判定回路による判定結果に基づいてカウント値が更新されるカウンタ回路と、を備え、
前記ディレイラインは、前記カウント値に応じた遅延を前記第１の内部クロック信号に与えることによって前記第２の内部クロック信号を生成し、
前記カウンタ回路は、第１の制御信号に応答して第１のカウント値にセットされ、第２の制御信号に応答して前記第１のカウント値とは異なる第２のカウント値にセットされることを特徴とする半導体装置。
【請求項７】
前記第１の制御信号は、外部から所定のコマンドが発行されたことに応答して活性化されることを特徴とする請求項６に記載の半導体装置。
【請求項８】
前記第２の制御信号は、前記カウント値が所定の値を示したことに応答して活性化されることを特徴とする請求項６又は７に記載の半導体装置。
【請求項９】
前記所定の値は、前記カウント値の最大値又は最小値の少なくとも一方であることを特徴とする請求項８に記載の半導体装置。
【請求項１０】
前記第２の内部クロック信号に同期してデータを外部に出力する出力回路をさらに備え、前記レプリカ回路は前記出力回路と同一の特性を有していることを特徴とする請求項６乃至９のいずれか一項に記載の半導体装置。
【請求項１１】
カウンタ回路と、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えるディレイラインとを有し、前記カウンタ回路のカウント値を周期的に更新することによって前記内部クロック信号の位相を所望の位相に制御するＤＬＬ回路を備える半導体装置であって、
前記カウンタ回路は、外部から所定のコマンドが発行されたことに応答して第１のカウント値にセットされ、前記内部クロック信号の位相が前記所望の位相に到達しなかったことに応答して前記第１のカウント値とは異なる第２のカウント値にセットされることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、特に、ＤＬＬ回路を備える半導体装置に関する。
【背景技術】
【０００２】
同期型のＤＲＡＭ（Dynamic Random Access Memory）のようにクロック信号に同期した動作を行う半導体装置においては、位相制御された内部クロック信号が必要となることがある。位相制御された内部クロック信号は、主にＤＬＬ（Delay Locked Loop）回路によって生成される（特許文献１参照）。ＤＬＬ回路には、内部クロック信号を遅延させるディレイラインが含まれており、その遅延量はカウンタ回路から出力されるカウント値よって定められる。カウンタ回路による遅延量の調整可能範囲は、内部クロック信号の位相が所望の位相から大きくずれている場合であってもＤＬＬ回路を確実にロックできるよう、十分広く設計される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１９２１６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ディレイラインの遅延量に十分な調整幅が与えられているにもかかわらず、内部クロック信号が所望の位相に到達しないという現象が生じることがあった。このような現象が発生すると、もはや半導体装置をリセットしない限り位相制御された内部クロック信号を得ることは不可能である。このため、このような現象が生じにくい半導体装置が望まれている。
【課題を解決するための手段】
【０００５】
本発明の一側面による半導体装置は、第１の制御信号に対応して其々活性化される位相判定回路及び前記位相判定回路の判定結果に対応してカウント値を変化させるカウンタ回路を備え、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えて前記内部クロックの位相を調整するＤＬＬ回路と、前記カウンタ回路のカウント値が最大値又は最小値の少なくともいずれか一方に達したときに第２の制御信号を出力するカウンタ判定回路と、を備え、前記カウンタ回路は前記第１の制御信号を受けたときに第１のカウント値にセットされ、且つ第２の制御信号を受けたときに前記第１のカウント値とは異なる第２のカウント値にセットされることを特徴とする。
【０００６】
本発明の他の側面による半導体装置は、第１の内部クロック信号を遅延させることによって第２の内部クロック信号を生成するディレイラインと、前記第２の内部クロック信号に基づいて第３の内部クロック信号を生成するレプリカ回路と、前記第１の内部クロック信号と前記第３の内部クロック信号の位相を比較する位相判定回路と、前記位相判定回路による判定結果に基づいてカウント値が更新されるカウンタ回路と、を備え、前記ディレイラインは、前記カウント値に応じた遅延を前記第１の内部クロック信号に与えることによって前記第２の内部クロック信号を生成し、前記カウンタ回路は、第１の制御信号に応答して第１のカウント値にセットされ、第２の制御信号に応答して前記第１のカウント値とは異なる第２のカウント値にセットされることを特徴とする。
【０００７】
本発明のさらに他の側面による半導体装置は、カウンタ回路と、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えるディレイラインとを有し、前記カウンタ回路のカウント値を周期的に更新することによって前記内部クロック信号の位相を所望の位相に制御するＤＬＬ回路を備える半導体装置であって、前記カウンタ回路は、外部から所定のコマンドが発行されたことに応答して第１のカウント値にセットされ、前記内部クロック信号の位相が前記所望の位相に到達しなかったことに応答して前記第１のカウント値とは異なる第２のカウント値にセットされることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、カウンタ回路の初期値として複数の値が用意されていることから、内部クロック信号が所望の位相に到達しないという現象の発生を減らすことが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の好ましい実施形態による半導体装置１０の全体構成を示すブロック図である。
【図２】クロック調整部１００の構成を示すブロック図である。
【図３】クロック調整部１００の動作の概要を説明するためのフローチャートである。
【図４】フル信号ＦＵＬＬが発生することなくＤＬＬ回路２００がロックするケースを説明するためのタイミング図である。
【図５】フル信号ＦＵＬＬが発生することなくＤＬＬ回路２００がロックするケースにおいて、カウンタ回路２０２のカウント値ＣＮＴの変化を説明するための図である。
【図６】フル信号ＦＵＬＬが発生するケースを説明するためのタイミング図である。
【図７】フル信号ＦＵＬＬが発生する原因を説明するための図である。
【発明を実施するための形態】
【００１０】
本発明の好ましい実施形態について詳細に説明する前に、内部クロック信号が所望の位相に到達しないという現象が生じる理由について説明する。以下は、本発明者の検討により与えられる内容である。
【００１１】
ＤＬＬ回路には、内部クロック信号を遅延させるディレイラインと、ディレイラインの遅延量を制御するカウンタ回路が含まれている。ディレイラインによって遅延される前の内部クロック信号の位相と、ディレイラインによって遅延された後の内部クロック信号の位相との関係は、位相判定回路によって判定される。カウンタ回路は、位相判定回路の判定結果に基づいてアップカウント又はダウンカウントされ、これを繰り返すことにより最終的に内部クロック信号の位相が所望の位相に固定される。つまり、ＤＬＬ回路がロックされた状態となる。
【００１２】
実際の製品においては、内部クロック信号のエッジは各周期において同一タイミングに固定されるものではなく、所謂ジッタ（ゆらぎ）の成分が存在する点が問題となる。つまり、いずれの周期においても内部クロック信号のエッジタイミングが１点に固定されていれば、どの周期で位相判定を行っても、位相比較の結果はＨ又はＬで固定されるが、ジッタがある場合には、本来Ｈとなるべきところが、ある周期ではＬとして出力されてしまうことがある。
【００１３】
このような現象が発生すると、カウンタ回路が誤った方向にアップカウント又はダウンカウントされてしまう。そして、場合によっては、誤った方向にアップカウント又はダウンカウントが続けられることでカウント値が最小値又は最大値に達してしまい、それ以上の位相調整が不可能となることがある。内部クロック信号が所望の位相に到達しないという現象は、このような理由によって生じる。
【００１４】
本発明は、このような理由によってカウンタ回路が誤った方向にアップカウント又はダウンカウントされ、その結果、内部クロック信号が所望の位相に到達しないという現象が発生しても、自動的にＤＬＬ回路をリスタートすることを特徴とするものである。
【００１５】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００１６】
図１は、本発明の好ましい実施形態による半導体装置１０の全体構成を示すブロック図である。
【００１７】
本実施形態による半導体装置１０はＤＲＡＭであり、メモリセルアレイ１１を有している。メモリセルアレイ１１は、複数のワード線ＷＬと複数のビット線ＢＬを備え、これらの交点にメモリセルＭＣが配置された構成を有している。ワード線ＷＬの選択はロウデコーダ１２によって行われ、ビット線ＢＬの選択はカラムデコーダ１３によって行われる。
【００１８】
図１に示すように、半導体装置１０には外部端子としてアドレス端子２１、コマンド端子２２、クロック端子２３、データ端子２４及び電源端子２５が設けられている。
【００１９】
アドレス端子２１は、外部からアドレス信号ＡＤＤが入力される端子である。アドレス端子２１に入力されたアドレス信号ＡＤＤは、アドレス入力回路３１を介してアドレスラッチ回路３２に供給され、アドレスラッチ回路３２にラッチされる。アドレスラッチ回路３２にラッチされたアドレス信号ＡＤＤは、ロウデコーダ１２、カラムデコーダ１３又はモードレジスタ１４に供給される。モードレジスタ１４は、半導体装置１０の動作モードを示すパラメータが設定される回路である。
【００２０】
コマンド端子２２は、外部からコマンド信号ＣＭＤが入力される端子である。コマンド信号ＣＭＤは、ロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、リセット信号／ＲＥＳＥＴなどの複数の信号からなる。ここで、信号名の先頭にスラッシュ（／）が付されているのは、対応する信号の反転信号、或いは、当該信号がローアクティブな信号であることを意味する。コマンド端子２２に入力されたコマンド信号ＣＭＤは、コマンド入力回路３３を介してコマンドデコード回路３４に供給される。コマンドデコード回路３４は、コマンド信号ＣＭＤをデコードすることによって各種内部コマンドを生成する回路である。内部コマンドとしては、アクティブ信号ＩＡＣＴ、カラム信号ＩＣＯＬ、リフレッシュ信号ＩＲＥＦ、モードレジスタセット信号ＭＲＳ、ＤＬＬリセット信号ＤＬＬＲＳＴ１などがある。
【００２１】
アクティブ信号ＩＡＣＴは、コマンド信号ＣＭＤがロウアクセス（アクティブコマンド）を示している場合に活性化される信号である。アクティブ信号ＩＡＣＴが活性化すると、アドレスラッチ回路３２にラッチされたアドレス信号ＡＤＤがロウデコーダ１２に供給される。これにより、当該アドレス信号ＡＤＤにより指定されるワード線ＷＬが選択される。
【００２２】
カラム信号ＩＣＯＬは、コマンド信号ＣＭＤがカラムアクセス（リードコマンド又はライトコマンド）を示している場合に活性化される信号である。内部カラム信号ＩＣＯＬが活性化すると、アドレスラッチ回路３２にラッチされたアドレス信号ＡＤＤがカラムデコーダ１３に供給される。これにより、当該アドレス信号ＡＤＤにより指定されるビット線ＢＬが選択される。
【００２３】
したがって、アクティブコマンド及びリードコマンドをこの順に入力するとともに、これらに同期してロウアドレス及びカラムアドレスを入力すれば、これらロウアドレス及びカラムアドレスによって指定されるメモリセルＭＣからリードデータが読み出される。リードデータＤＱは、ＦＩＦＯ回路１５及び入出力回路１６を介して、データ端子２４から外部に出力される。一方、アクティブコマンド及びライトコマンドをこの順に入力するとともに、これらに同期してロウアドレス及びカラムアドレスを入力し、その後、データ端子２４にライトデータＤＱを入力すれば、ライトデータＤＱは入出力回路１６及びＦＩＦＯ回路１５を介してメモリセルアレイ１１に供給され、ロウアドレス及びカラムアドレスによって指定されるメモリセルＭＣに書き込まれる。ＦＩＦＯ回路１５及び入出力回路１６の動作は、内部クロック信号ＬＣＬＫに同期して行われる。内部クロック信号ＬＣＬＫは、後述するＤＬＬ回路２００によって生成される。特に、入出力回路１６にはリードデータＤＱを出力する出力回路１６ａが含まれており、リードデータＤＱの出力は内部クロック信号ＬＣＬＫに同期して行われる。
【００２４】
リフレッシュ信号ＩＲＥＦは、コマンド信号ＣＭＤがリフレッシュコマンドを示している場合に活性化される信号である。リフレッシュ信号ＩＲＥＦが活性化するとリフレッシュ制御回路３５によってロウアクセスが行われ、所定のワード線ＷＬが選択される。これにより、選択されたワード線ＷＬに接続された複数のメモリセルＭＣがリフレッシュされる。ワード線ＷＬの選択は、リフレッシュ制御回路３５に含まれる図示しないリフレッシュカウンタによって行われる。
【００２５】
モードレジスタセット信号ＭＲＳは、コマンド信号ＣＭＤがモードレジスタセットコマンドを示している場合に活性化される信号である。したがって、モードレジスタセットコマンドを入力するとともに、これに同期してアドレス端子２１からモード信号を入力すれば、モードレジスタ１４の設定値を書き換えることができる。
【００２６】
クロック端子２３は、外部クロック信号ＣＫ，／ＣＫが入力される端子である。外部クロック信号ＣＫと外部クロック信号／ＣＫは互いに相補の信号であり、いずれもクロック入力回路３６に供給される。クロック入力回路３６は、外部クロック信号ＣＫ，／ＣＫに基づいて内部クロック信号ＩＣＬＫを生成する。内部クロック信号ＩＣＬＫは、半導体装置１０の内部における基本クロック信号であり、本発明においては「第１の内部クロック信号」と呼ぶことがある。内部クロック信号ＩＣＬＫは、タイミングジェネレータ３７に供給され、これによって各種内部クロック信号が生成される。タイミングジェネレータ３７によって生成される各種内部クロック信号は、アドレスラッチ回路３２やコマンドデコード回路３４などの回路ブロックに供給され、これら回路ブロックの動作タイミングを規定する。
【００２７】
内部クロック信号ＩＣＬＫは、ＤＬＬ回路２００にも供給される。ＤＬＬ回路２００は、内部クロック信号ＩＣＬＫに基づいて内部クロック信号ＬＣＬＫを生成する回路である。内部クロック信号ＬＣＬＫは位相制御されたクロック信号であり、本発明においては「第２の内部クロック信号」と呼ぶことがある。上述の通り、内部クロック信号ＬＣＬＫはＦＩＦＯ回路１５及び入出力回路１６に供給される。これにより、リードデータＤＱは内部クロック信号ＬＣＬＫに同期して出力されることになる。
【００２８】
ＤＬＬ回路２００は、コマンドデコード回路３４から出力されるＤＬＬリセット信号ＤＬＬＲＳＴ１によってリセットされる。ＤＬＬリセット信号ＤＬＬＲＳＴ１は、リセット信号／ＲＥＳＥＴや、ＤＬＬリセットコマンド（ＤＬＬＲＳＴ）に応答して活性化される。リセット信号／ＲＥＳＥＴは電源投入時などに活性化される信号であり、ＤＬＬリセットコマンドはＤＬＬ回路２００のリセットが必要な際に発行されるコマンドである。したがって、電源投入直後などにおいては、ＤＬＬリセット信号ＤＬＬＲＳＴ１によってＤＬＬ回路２００がリセットされることになる。本発明においては、ＤＬＬリセット信号ＤＬＬＲＳＴ１を「第１の制御信号」と呼ぶことがある。
【００２９】
さらに、ＤＬＬ回路２００は、カウンタ判定回路３００から出力されるＤＬＬリセット信号ＤＬＬＲＳＴ２によってもリセットされる。カウンタ判定回路３００は、ＤＬＬ回路２００からフル信号ＦＵＬＬが出力された場合に、ＤＬＬリセット信号ＤＬＬＲＳＴ２を活性化させる回路である。本発明においては、ＤＬＬリセット信号ＤＬＬＲＳＴ２を「第２の制御信号」と呼ぶことがある。
【００３０】
図１に示すように、ＤＬＬ回路２００及びカウンタ判定回路３００は、クロック調整部１００を構成する。
【００３１】
電源端子２５は、電源電位ＶＤＤ，ＶＳＳが供給される端子である。電源端子２５に供給される電源電位ＶＤＤ，ＶＳＳは内部電源発生回路３８に供給される。内部電源発生回路３８は、電源電位ＶＤＤ，ＶＳＳに基づいて各種の内部電位ＶＰＰ，ＶＰＥＲＤ，ＶＰＥＲＩなどを発生させる。内部電位ＶＰＰは主にロウデコーダ１２において使用される電位であり、内部電位ＶＰＥＲＤは主にＤＬＬ回路２００において使用される電位であり、内部電位ＶＰＥＲＩは他の多くの回路ブロックにおいて使用される電位である。
【００３２】
図２は、クロック調整部１００の構成を示すブロック図である。
【００３３】
上述の通り、クロック調整部１００はＤＬＬ回路２００及びカウンタ判定回路３００を含む。図２に示すように、ＤＬＬ回路２００は、内部クロック信号ＩＣＬＫを遅延させることによって内部クロック信号ＬＣＬＫを生成するディレイライン２０１を備えている。ディレイライン２０１は、デコードされたカウント値ＤＥＣに応じた遅延を内部クロック信号ＩＣＬＫに与えることによって、内部クロック信号ＬＣＬＫを生成する回路である。デコードされたカウント値ＤＥＣは、カウンタ回路２０２のカウント値ＣＮＴをデコーダ２０３によってデコードした信号である。したがって、カウント値ＣＮＴが示す値とデコードされたカウント値ＤＥＣが示す値は同一である。
【００３４】
ＤＬＬ回路２００は、内部クロック信号ＬＣＬＫに基づいてレプリカである内部クロック信号ＲＣＬＫを生成するレプリカ回路２０４をさらに備えている。レプリカ回路２０４は、入出力回路１６に含まれる出力回路１６ａと同一の特性を有している。上述の通り、出力回路１６ａは内部クロック信号ＬＣＬＫに同期してリードデータＤＱを出力するものであることから、レプリカ回路２０４から出力される内部クロック信号ＲＣＬＫは、リードデータＤＱと正確に同期する。ＤＲＡＭにおいては、リードデータＤＱが外部クロック信号ＣＫ，／ＣＫに対して正確に同期している必要があり、両者の位相にずれが生じている場合にはこれを検出し、補正する必要がある。かかる検出は、位相判定回路２０５によって行われ、その結果をカウンタ回路２０２にフィードバックすることによって位相のずれが補正される。
【００３５】
位相判定回路２０５は、内部クロック信号ＩＣＬＫと内部クロック信号ＲＣＬＫの位相を比較し、その結果に基づいて判定信号ＰＤを生成する回路である。ここで、内部クロック信号ＩＣＬＫは外部クロック信号ＣＫ，／ＣＫとタイミングが一致する信号であり、内部クロック信号ＲＣＬＫはリードデータＤＱとタイミングが一致する信号であることから、位相判定回路２０５は、外部クロック信号ＣＫ，／ＣＫとリードデータＤＱの位相を間接的に比較していることになる。比較の結果、内部クロック信号ＲＣＬＫが内部クロック信号ＩＣＬＫに対して遅れていれば、判定信号ＰＤを用いてカウンタ回路２０２をカウントダウンし、これによりディレイライン２０１の遅延量を減少させる。逆に、内部クロック信号ＲＣＬＫが内部クロック信号ＩＣＬＫに対して進んでいれば、判定信号ＰＤを用いてカウンタ回路２０２をカウントアップし、これによりディレイライン２０１の遅延量を増加させる。このような動作を周期的に繰り返すことにより、内部クロック信号ＩＣＬＫと内部クロック信号ＲＣＬＫの位相を一致させれば、結果的に、リードデータＤＱと外部クロック信号ＣＫ，／ＣＫの位相が一致することになる。本発明においては、レプリカである内部クロック信号ＲＣＬＫを「第３の内部クロック信号」と呼ぶことがある。
【００３６】
さらに、ＤＬＬ回路２００は制御回路２０６を備えている。制御回路２０６は、カウンタ回路２０２、レプリカ回路２０４及び位相判定回路２０５の動作を制御する回路であり、イネーブル信号ＥＮに応答して活性化され、リセット信号ＲＳＴに応答してリセットされる。イネーブル信号ＥＮはイネーブル論理回路２０７から出力され、リセット信号ＲＳＴはリセット論理回路２０８から出力される。イネーブル信号ＥＮが活性化している場合、制御回路２０６は、制御信号ＤＬＬＣＮＴによってレプリカ回路２０４及び位相判定回路２０５の動作を許可するとともに、カウンタ回路２０２にモード信号ＭＯＤＥを供給する。モード信号ＭＯＤＥはカウンタ回路２０２の動作モードを指定するための信号であり、リセット信号ＲＳＴが活性化した直後においては第１の動作モードを指定し、その後、判定信号ＰＤに基づいて、第２の動作モード、第３の動作モード、第４の動作モードへと遷移させる。
【００３７】
カウンタ回路２０２の動作モードは、カウント値ＣＮＴの変化ピッチに相当する。初期状態である第１の動作モードはカウント値ＣＮＴの変化ピッチが最大である。そして、第１の動作モードから第２の動作モードに遷移するとカウント値ＣＮＴの変化ピッチは最大ピッチの半分となり、第２の動作モードから第３の動作モードに遷移するとカウント値ＣＮＴの変化ピッチはさらに半分となり、第３の動作モードから第４の動作モードに遷移するとカウント値ＣＮＴの変化ピッチはさらに半分となる。第４の動作モードはカウント値ＣＮＴの変化ピッチが最小である。
【００３８】
特に限定されるものではないが、本実施形態ではカウンタ回路２０２が６ビット構成である。そして、第１の動作モードにおいては下から４ビット目を変化させ、第２の動作モードにおいては下から３ビット目を変化させ、第３の動作モードにおいては下から２ビット目を変化させ、第４の動作モードにおいては最下位ビットを変化させる。これにより、カウント値ＣＮＴの変化ピッチを上記のように制御することができる。カウント値ＣＮＴの変化ピッチをこのように制御するのは、より短時間でＤＬＬ回路２００をロックさせるためである。
【００３９】
カウンタ回路２０２のカウント値ＣＮＴが全て０（最小値）又は全て１（最大値）となった場合、カウンタ回路２０２からはフル信号ＦＵＬＬが出力される。フル信号ＦＵＬＬはカウンタ判定回路３００に供給され、カウンタ判定回路３００はフル信号ＦＵＬＬに応答してＤＬＬリセット信号ＤＬＬＲＳＴ２を活性化させる。カウント値ＣＮＴが最小値となった場合、ディレイライン２０１の遅延量をこれ以上減少させることは不可能であり、逆に、カウント値ＣＮＴが最大値となった場合、ディレイライン２０１の遅延量をこれ以上増加させることは不可能である。したがって、ＤＬＬリセット信号ＤＬＬＲＳＴ２の活性化は、ＤＬＬ回路２００による内部クロック信号ＬＣＬＫの位相制御が不能となったことを意味する。
【００４０】
図２に示すように、イネーブル論理回路２０７及びリセット論理回路２０８には、ＤＬＬリセット信号ＤＬＬＲＳＴ０が供給される。ＤＬＬリセット信号ＤＬＬＲＳＴ０は、ＤＬＬリセット信号ＤＬＬＲＳＴ１及びＤＬＬリセット信号ＤＬＬＲＳＴ２を受けるＯＲゲート回路２０９から出力される信号である。したがって、ＤＬＬリセット信号ＤＬＬＲＳＴ１及びＤＬＬリセット信号ＤＬＬＲＳＴ２のいずれが活性化した場合であっても、制御回路２０６は同じようにリセットされ、その後イネーブル状態となる。
【００４１】
さらに、ＤＬＬ回路２００にはラッチ回路２１０が設けられている。ラッチ回路２１０は、ＤＬＬリセット信号ＤＬＬＲＳＴ１によってリセットされ、その出力ＯＵＴを第１の論理レベル（例えばローレベル）とする。一方、ラッチ回路２１０は、ＤＬＬリセット信号ＤＬＬＲＳＴ２が活性化すると、その出力ＯＵＴを第２の論理レベル（例えばハイレベル）とする。ラッチ回路２１０の出力ＯＵＴは、セレクタ２１１に供給される。
【００４２】
セレクタ２１１は、リセット論理回路２０８の出力Ｒに応答してリセット信号／Ｒｅｓｅｔ１又は／Ｒｅｓｅｔ２を活性化させ、これによってカウンタ回路２０２のカウント値ＣＮＴを初期値にセットするための回路である。本実施形態では、カウント値ＣＮＴの初期値が２種類用意されており、出力ＯＵＴが第１の論理レベルであれば、セレクタ２１１はリセット信号／Ｒｅｓｅｔ１を活性化させ、これによりカウンタ回路２０２のカウント値ＣＮＴは初期値として第１のカウント値にセットされる。これに対し、出力ＯＵＴが第２の論理レベルであれば、セレクタ２１１はリセット信号／Ｒｅｓｅｔ２を活性化させ、これによりカウンタ回路２０２のカウント値ＣＮＴは初期値として第２のカウント値にセットされる。
【００４３】
これら第１及び第２のカウント値は互いに異なる値であり、両者の差は上述した最大ピッチ以上であることが好ましい。一例として、第１のカウント値は２進数で「０１００００」であり、第２のカウント値は２進数で「１０００００」である。本例では、両者の差は最大ピッチの２倍である。両者の差を最大ピッチ以上とすることが好ましい理由は、ＤＬＬリセット信号ＤＬＬＲＳＴ１に応答してＤＬＬ回路２００がリセットされた場合と、ＤＬＬリセット信号ＤＬＬＲＳＴ２に応答してＤＬＬ回路２００がリセットされた場合とで、位相比較の開始条件を十分に異ならせるためである。
【００４４】
かかる構成により、ＤＬＬリセット信号ＤＬＬＲＳＴ１が活性化した場合には、ＤＬＬ回路２００の全体がリセットされるとともに、カウンタ回路２０２のカウント値ＣＮＴが第１のカウント値にセットされる一方、ＤＬＬリセット信号ＤＬＬＲＳＴ２が活性化した場合には、ＤＬＬ回路２００の全体がリセットされるとともに、カウンタ回路２０２のカウント値ＣＮＴが第２のカウント値にセットされることになる。
【００４５】
図３は、クロック調整部１００の動作の概要を説明するためのフローチャートである。
【００４６】
まず、ＤＬＬリセット信号ＤＬＬＲＳＴ１が活性化すると（ステップＳ１）、ＤＬＬ回路２００がリセットされ、カウンタ回路２０２のカウント値ＣＮＴが第１のカウント値にセットされる（ステップＳ２）。その後、制御回路２０６によってレプリカ回路２０４及び位相判定回路２０５の動作が許可されるため、位相比較動作（ステップＳ３）及びこれに基づくカウンタ回路２０２のアップカウント又はダウンカウント（ステップＳ４）が行われる。ステップＳ３，Ｓ４は繰り返し実行され（ステップＳ５：ＮＯ）、これによりＤＬＬ回路２００がロックする。ロックとは、内部クロック信号ＩＣＬＫと内部クロック信号ＲＣＬＫの位相が一致した状態を指す。
【００４７】
しかしながら、ステップＳ３，Ｓ４を繰り返し実行した結果、フル信号ＦＵＬＬが発生した場合（ステップＳ５：ＹＥＳ）、カウンタ判定回路３００によってＤＬＬリセット信号ＤＬＬＲＳＴ２が活性化される（ステップＳ６）。これによりＤＬＬ回路２００が再びリセットされ、カウンタ回路２０２のカウント値ＣＮＴが第２のカウント値にセットされる（ステップＳ７）。その後は、ステップＳ３，Ｓ４の動作を繰り返えされ、最終的にＤＬＬ回路２００がロックする。
【００４８】
図４は、フル信号ＦＵＬＬが発生することなくＤＬＬ回路２００がロックするケースを説明するためのタイミング図である。
【００４９】
図４に示す例では、外部からＤＬＬリセットコマンドＤＬＬＲＳＴが発行され、これに応答してＤＬＬリセット信号ＤＬＬＲＳＴ１が活性化されている。これによりセレクタ２１１からはリセット信号／Ｒｅｓｅｔ１が出力され、カウンタ回路２０２のカウント値ＣＮＴは第１のカウント値にセットされる。その後は、図３に示したステップＳ３，Ｓ４が繰り返し実行され、ＤＬＬ回路２００がロックする。
【００５０】
図５は、フル信号ＦＵＬＬが発生することなくＤＬＬ回路２００がロックするケースにおいて、カウンタ回路２０２のカウント値ＣＮＴの変化を説明するための図である。図５に示すカウント値ＣＮＴの値は、その上部に記載した内部クロック信号ＲＣＬＫの立ち上がりエッジの位置に対応している。したがって、カウント値ＣＮＴの目標値は、「１０００１１」である。
【００５１】
まず、時刻ｔ１１においてリセット信号／Ｒｅｓｅｔ１が活性化すると、カウンタ回路２０２のカウント値ＣＮＴは、第１のカウント値である「０１００００」にセットされる。図５に示す例では、カウント値ＣＮＴが「０１００００」である場合、内部クロック信号ＲＣＬＫの位相が内部クロック信号ＩＣＬＫの位相よりも進んでいる。このため、カウント値ＣＮＴを増加させる必要がある。時刻ｔ１１はＤＬＬ回路２００がリセットされた直後であることから、ＤＬＬ回路２００は第１の動作モードで動作している。このため、時刻ｔ１２においては、カウント値ＣＮＴが第１の動作モードにおける１ピッチだけ増加され、「０１１０００」となる。
【００５２】
このような動作を繰り返すことにより、時刻ｔ１３におけるカウント値ＣＮＴは「１０００００」に増加され、時刻ｔ１４におけるカウント値ＣＮＴは「１０１０００」に増加される。
【００５３】
カウント値ＣＮＴが「１０１０００」に変化すると、内部クロック信号ＲＣＬＫの立ち上がりエッジの位置が、内部クロック信号ＩＣＬＫの立ち上がりエッジの位置を超える。つまり、内部クロック信号ＲＣＬＫの位相が内部クロック信号ＩＣＬＫの位相よりも遅れた状態となる。これにより位相判定回路２０５から出力される判定信号ＰＤの値が変化し、今度はカウント値ＣＮＴを減少させる方向に制御される。
【００５４】
さらに、判定信号ＰＤの変化に伴い、ＤＬＬ回路２００の動作モードが第１の動作モードから第２の動作モードに遷移する。上述の通り、第２の動作モードにおいてはカウンタ回路２０２の下から３ビット目が制御される。したがって、時刻ｔ１５においては、カウント値ＣＮＴが第２の動作モードにおける１ピッチだけ減少され、「１００１００」となる。このような動作を繰り返すことにより、時刻ｔ１６におけるカウント値ＣＮＴは「１０００００」に減少される。
【００５５】
カウント値ＣＮＴが「１０００００」に変化すると、内部クロック信号ＲＣＬＫの立ち上がりエッジの位置が、内部クロック信号ＩＣＬＫの立ち上がりエッジの位置を再び超える。つまり、内部クロック信号ＲＣＬＫの位相が内部クロック信号ＩＣＬＫの位相よりも再び進んだ状態となる。これにより位相判定回路２０５から出力される判定信号ＰＤの値が変化し、今度はカウント値ＣＮＴを増加させる方向に制御される。
【００５６】
さらに、判定信号ＰＤの変化に伴い、ＤＬＬ回路２００の動作モードが第２の動作モードから第３の動作モードに遷移する。上述の通り、第３の動作モードにおいてはカウンタ回路２０２の下から２ビット目が制御される。したがって、時刻ｔ１７においては、カウント値ＣＮＴが第３の動作モードにおける１ピッチだけ増加され、「１０００１０」となる。このような動作を繰り返すことにより、時刻ｔ１８におけるカウント値ＣＮＴは「１００１００」に増加される。
【００５７】
カウント値ＣＮＴが「１００１００」に変化すると、内部クロック信号ＲＣＬＫの立ち上がりエッジの位置が、内部クロック信号ＩＣＬＫの立ち上がりエッジの位置を再び超える。つまり、内部クロック信号ＲＣＬＫの位相が内部クロック信号ＩＣＬＫの位相よりも再び遅れた状態となる。これにより位相判定回路２０５から出力される判定信号ＰＤの値が変化し、今度はカウント値ＣＮＴを減少させる方向に制御される。
【００５８】
さらに、判定信号ＰＤの変化に伴い、ＤＬＬ回路２００の動作モードが第３の動作モードから第４の動作モードに遷移する。上述の通り、第４の動作モードにおいてはカウンタ回路２０２の最下位ビットが制御される。したがって、時刻ｔ９７においては、カウント値ＣＮＴが第４の動作モードにおける１ピッチだけ減少され、「１０００１１」となる。この値はカウント値ＣＮＴの目標値であり、内部クロック信号ＩＣＬＫと内部クロック信号ＲＣＬＫの位相が一致した状態となる。つまり、ＤＬＬ回路２００がロックされた状態となる。
【００５９】
図４及び図５を用いて説明した動作はフル信号ＦＵＬＬが発生しなかった例であり、望ましい動作状態である。しかしながら、常にこのような望ましい動作状態が得られるとは限らず、実際には内部クロック信号ＩＣＬＫに含まれるジッタ成分の影響によって、カウンタ回路２０２のカウント値ＣＮＴが誤った方向に制御されることがある。
【００６０】
図６は、フル信号ＦＵＬＬが発生するケースを説明するためのタイミング図である。
【００６１】
図６に示す例では、ＤＬＬリセットコマンドＤＬＬＲＳＴに応答して、カウンタ回路２０２のカウント値ＣＮＴが第１のカウント値にセットされたものの、その後、図３に示したステップＳ３，Ｓ４を繰り返し実行してもＤＬＬ回路２００がロック状態に至らず、フル信号ＦＵＬＬが発生している。
【００６２】
フル信号ＦＵＬＬが発生すると、カウンタ判定回路３００によってＤＬＬリセット信号ＤＬＬＲＳＴ２が活性化される。これによりセレクタ２１１からはリセット信号／Ｒｅｓｅｔ２が出力され、カウンタ回路２０２のカウント値ＣＮＴは第２のカウント値にセットされる。その後は、図３に示したステップＳ３，Ｓ４が繰り返し実行され、ＤＬＬ回路２００がロックする。
【００６３】
図７は、フル信号ＦＵＬＬが発生する原因を説明するための図である。本図は図５に対応しており、図７に示すカウント値ＣＮＴの値は、その上部に記載した内部クロック信号ＲＣＬＫの立ち上がりエッジの位置に対応している。
【００６４】
図７においては、内部クロック信号ＩＣＬＫにジッタ成分が重畳しており、このため、周期によってエッジのタイミングが僅かにずれている。図７に示す例では、エッジの位置がタイミングＡからタイミングＢまでの範囲で揺らいでいる。そして、カウンタ回路２０２が第１のカウント値にセットされた直後において、レプリカである内部クロック信号ＲＣＬＫのエッジが偶然にもこのような揺らぎの範囲に位置すると、位相判定回路２０５による判定結果が信頼できない値となってしまう。
【００６５】
図７に示す例では、時刻ｔ２１において内部クロック信号ＲＣＬＫの位相が内部クロック信号ＩＣＬＫの位相よりもかなり進んでいるにも関わらず、ジッタ成分の影響により、時刻ｔ２２〜ｔ２４において逆に遅れていると判定されている。その結果、時刻ｔ２１にて「０１００００」にセットされたカウント値ＣＮＴは、時刻ｔ２２〜ｔ２８において「０１１０００」、「０１０１００」、「０１００００」、「００１１００」、「００１０００」、「０００１００」、「０００００００」へと変化し、最小値に達してしまう。この状態においてもなお、位相判定回路２０５は内部クロック信号ＲＣＬＫの位相が遅れていると判定し続けるため、カウント値ＣＮＴをより減少させようとするが、最小値に達してしまったため、これ以上の制御は不可能である。
【００６６】
一般的な半導体装置であれば、このような現象が発生するとＤＬＬ回路２００がロックしない状態となり、システムエラーとなる。しかしながら、本実施形態による半導体装置１０では、このような現象が発生すると、カウンタ判定回路３００によってＤＬＬリセット信号ＤＬＬＲＳＴ２が活性化されるため、ＤＬＬ回路２００が自動的にリスタートされる。これによりシステムエラーが回避される。しかも、時刻ｔ２９に示すように、ＤＬＬリセット信号ＤＬＬＲＳＴ２が活性化されると、カウンタ回路２０２はＤＬＬリセット信号ＤＬＬＲＳＴ１が活性化された場合とは異なるカウント値ＣＮＴにセットされるため、リスタートしても同じ現象を繰り返すという危険性が大幅に解消される。したがって、ＤＬＬリセット信号ＤＬＬＲＳＴ１に応答したＤＬＬ回路２００のロックに失敗したとしても、ＤＬＬリセット信号ＤＬＬＲＳＴ２に応答したＤＬＬ回路２００のロックに成功する確率は高くなる。
【００６７】
ＤＬＬリセット信号ＤＬＬＲＳＴ２に応答したＤＬＬ回路２００のロックをより高確率で成功させるためには、第１及び第２のカウント値の差を第１の動作モードにおける調整ピッチ以上に設定することが好ましく、本実施形態のように第１の動作モードにおける調整ピッチの２倍程度に設定することがより好ましい。
【００６８】
以上説明したように、本実施形態による半導体装置１０は、ＤＬＬ回路２００がロックしない状態に陥っても、ＤＬＬ回路２００が自動的にリスタートされることから、システムエラーの発生を防止することができる。しかも、リスタート後は、前回と異なるカウント値ＣＮＴからスタートするため、再度同じ現象が発生する確率は少なくなる。
【００６９】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【００７０】
例えば、上記実施形態では、カウンタ回路２０２のカウント値ＣＮＴとして２種類の初期値が用意されているが、３種類以上の初期値を用意しておくことも可能である。一例として、ＤＬＬリセットコマンドが発行された場合には第１のカウント値を初期値として用い、これによるＤＬＬ回路のロックが失敗した場合には第２のカウント値を新たに初期値として用い、さらにＤＬＬ回路２００のロックが失敗した場合には第３のカウント値を新たに初期値として用いるといった３段階の制御を行うことも可能である。また、カウンタ回路２０２の初期値が固定値であることも必須でなく、例えばランダムな値であっても構わない。
【００７１】
さらに、上記実施形態では、カウンタ回路２０２のカウント値ＣＮＴが最小値又は最大値を示したことに応答してＤＬＬリセット信号ＤＬＬＲＳＴ２を活性化させているが、ＤＬＬリセット信号ＤＬＬＲＳＴ２を活性化させる条件がこれに限定されるものではない。したがって、例えばカウンタ回路２０２のカウント値ＣＮＴが最小値又は最大値とは異なる所定の値を示した場合にＤＬＬリセット信号ＤＬＬＲＳＴ２を活性化させても構わない。所定の値としては、最小値又は最大値の近傍の値を好ましく例示することができる。これは、最小値又は最大値の近傍のカウント値ＣＮＴでＤＬＬ回路２００がロックした場合、条件変動によってカウント値ＣＮＴがロック中に最小値又は最大値に到達するおそれがあるからである。或いは、カウンタ回路２０２のカウント値ＣＮＴを参照するのではなく、一定時間が経過してもＤＬＬ回路２００がロックしない場合、ＤＬＬリセット信号ＤＬＬＲＳＴ２を活性化させることも可能である。
【符号の説明】
【００７２】
１０      半導体装置
１１      メモリセルアレイ
１２      ロウデコーダ
１３      カラムデコーダ
１４      モードレジスタ
１５      ＦＩＦＯ回路
１６      入出力回路
１６ａ    出力回路
２１      アドレス端子
２２      コマンド端子
２３      クロック端子
２４      データ端子
２５      電源端子
３１      アドレス入力回路
３２      アドレスラッチ回路
３３      コマンド入力回路
３４      コマンドデコード回路
３５      リフレッシュ制御回路
３６      クロック入力回路
３７      タイミングジェネレータ
３８      内部電源発生回路
１００    クロック調整部
２００    ＤＬＬ回路
２０１    ディレイライン
２０２    カウンタ回路
２０３    デコーダ
２０４    レプリカ回路
２０５    位相判定回路
２０６    制御回路
２０７    イネーブル論理回路
２０８    リセット論理回路
２０９    ＯＲゲート回路
２１０    ラッチ回路
２１１    セレクタ
３００    カウンタ判定回路
ＣＮＴ    カウント値
ＤＬＬＲＳＴ１    リセット信号（第１の制御信号）
ＤＬＬＲＳＴ２    リセット信号（第２の制御信号）
ＦＵＬＬ  フル信号
ＰＤ      判定信号
ＩＣＬＫ  内部クロック信号（第１の内部クロック信号）
ＬＣＬＫ  内部クロック信号（第２の内部クロック信号）
ＲＣＬＫ  内部クロック信号（第３の内部クロック信号）
【図１】
2013005132.tif 000003
【図２】
2013005132.tif 000004
【図３】
2013005132.tif 000005
【図４】
2013005132.tif 000006
【図５】
2013005132.tif 000007
【図６】
2013005132.tif 000008
【図７】
2013005132.tif 000009