(57)【要約】【課題】  高速クロックにおいても外部クロックとＤＱ出力との同期を確保する。【解決手段】  内部クロックと遅延クロックとの位相を比較する位相比較回路と、位相比較回路からの信号により遅延量を調節する可変遅延付加回路とを有するＤＬＬ回路を用いた半導体メモリであって、バースト開始時に、内部クロックの１クロック周期の開始により論理“１”にラッチされる第１の信号を、ダミー遅延を通して可変遅延付加回路に入力する手段と、可変遅延付加回路によりダミー遅延を通して入力された第１の信号の論理“１”の継続時間を内部クロックの１クロック周期の終了まで検出し、継続時間を基に可変遅延付加回路の遅延量の初期値を設定する手段と、を備えることを特徴とする。【選択図】  図２
2005228427.tif 000002
【特許請求の範囲】
【請求項１】
外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路とを有するＤＬＬ回路を用いた半導体メモリであって、
バースト開始時に、前記内部クロックの１クロック周期の間出力される第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、
前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号のアクティブな論理値の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段と、
を備えることを特徴とする半導体メモリ。
【請求項２】
外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路とを有するＤＬＬ回路を用いた半導体メモリであって、
バースト開始時に、前記内部クロックの１クロック周期の間、論理“１”にセットされる第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、
前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号の論理“１”の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段と、
を備えることを特徴とする半導体メモリ。
【請求項３】
外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路と有するＤＬＬ回路を用いた半導体メモリであって、
バースト開始時の初期化モードとして、
前記内部クロックの１クロック周期の間、論理“１”にセットされる第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、
前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号の論理“１”の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段と
を備え、
前記可変遅延付加回路における遅延量の初期設定後のロックモードとして、
前記内部クロックを前記可変遅延付加回路により遅延させると共に、前記位相比較回路により遅延量を補正しつつ、１クロック周期遅れで前記外部クロックに同期する出力クロックを生成するクロック出力手段を備えることを特徴とする半導体メモリ。
【請求項４】
前記ＤＬＬ回路を備えることにより、読み出し動作をしていないときは完全に外部クロック及び内部クロックを停止させてスタンバイモードを実現し、かつ読み出し動作開始からきわめて短い期間で読み出しデータを出力可能であることを特徴とする請求項１から３のいずれか１項に記載の半導体メモリ。
【請求項５】
前記ＤＬＬ回路の使用不使用を外部設定する手段をさらに備えることを特徴とする請求項１から４のいずれか１項に記載の半導体メモリ。
【請求項６】
外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路と有するＤＬＬ回路を用いた半導体メモリであって、
バースト開始時の初期化モードとして、
前記内部クロックの１クロック周期の間、論理“１”にセットされる第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、
前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号の論理“１”の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段と
を備え、
前記可変遅延付加回路における遅延量の初期設定後のロックモードとして、
前記内部クロックを前記可変遅延付加回路により遅延させると共に、前記位相比較回路により遅延量を補正しつつ、１クロック周期遅れで前記外部クロックに同期する出力クロックを生成するクロック出力手段を備え、
ユーザーが指定するコマンド指定用アドレス信号とコマンド指定用データ信号をデコードするコマンドデコーダと、コマンドデコーダの出力を保持するコマンドレジスタを備えることにより、ＤＬＬ回路の使用不使用をユーザー設定で切り替える機能を持つことを特徴とする半導体メモリ。
【請求項７】
ユーザー設定されたクロックレイテンシより１クロック少ないレイテンシを自動的に設定し、外部から見た場合のレイテンシをユーザー設定と等しくする手段をさらに備えることを特徴とする請求項１から６のいずれか１項に記載の半導体メモリ。
【請求項８】
バースト開始時に、前記ＤＬＬ回路をリセットするリセット手段をさらに備えることを特徴とする請求項１から７のいずれか１項に記載の半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速クロックにおいても外部クロックとＤＱ出力（メモリデータ出力）との同期が確保できる半導体メモリ、特にフラッシュメモリに関する。
【背景技術】
【０００２】
近年、不揮発性メモリとして、フラッシュメモリの需要が急速に伸びている。その状況下において、読み出し速度の高速化も進んでおり、１００ＭＨｚを超えるクロック周波数での動作も実用化する必要が迫られている。そのため、フラッシュメモリにおいても内部クロック遅延をキャンセルするための仕組みが必要不可欠になってきた。これまでに、フラッシュメモリを対象としたものではないが、様々なＤＬＬ（Delay Locked Loop）回路が提供され、或いは、提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００１−３２６５６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
以下、ＤＬＬ回路の必要性について図１７を参照しつつ説明する。図１７はＤＬＬ回路の必要性を示す図である。
本発明のＤＬＬ回路（後述）では高速クロック（例えば、１３３ＭＨｚ）でのバーストシンクロナス動作を目標としている。ところが、図１７（ａ）に示すように外部クロック１３３ＭＨｚ、周期Ｔ＝７．５ｎｓでは、内部クロック遅延（約３〜４ｎｓ）と、ＤＱバッファ遅延（約５ｎｓ）により、ＤＱ出力のタイミングが遅くなり、仕様上のセットアップタイム（０．５ｎｓ）を確保することができない。
そこで、ＤＬＬ回路を採用することにより、内部クロック遅延等をキャンセルし、外部クロックに対するＤＱ出力のセットアップタイムを確保する。このＤＬＬ回路では、図１７（ｂ）に示すように、チップ内部で遅延した内部クロックをさらに次の外部クロックまで遅らせることでクロックの内部遅延をキャンセルする。
【０００４】
内部クロックを次の外部クロックのエッジまで遅らせるためには、「周期Ｔ−内部クロック遅延」の遅延素子（ＤＬＬ遅延）を用意すればよい。ただし、これでは周期Ｔが一定の場合しか使えない（内部クロック遅延＋ＤＬＬ遅延＝クロック周期Ｔ）。そこで、さらに多様な周期に対応するためには、周期が大きくなるとＤＬＬ遅延を大きく、周期が小さくなると、ＤＬＬ遅延を小さくする制御を行えばよい。そのために、クロック周期を判定する回路（位相比較回路）、位相比較回路の判定により遅延量を可変できる遅延回路（可変遅延付加回路）の、二つの回路を用意し、「内部クロック遅延＋ＤＬＬ遅延＝クロックの１周期Ｔ」の状態を作り出す。
【０００５】
これを実現するための、従来からあるＤＬＬ回路について図１８を参照しつつ説明する。図１８はＤＬＬ回路の従来例を示す図である。
図１８に示すＤＬＬ回路１０００に与えられる内部クロック（内部ＣＬＫ）は外部クロックに比べある程度タイミングが遅れて入力される（符号１００１で示す内部クロック遅延Δｔ）。このままのクロックを使用すると、ＤＱのタイミングは内部クロック遅延の分（Δｔ）がそのまま遅れるため、外部でのセットアップが取れなくなる可能性がある。
【０００６】
そこで、ＤＬＬ回路１０００では遅れたクロックをさらに遅らせて外部クロックと同相にすることで内部クロック遅延をキャンセルする。ＤＬＬ回路１０００は内部クロック遅延に対し、多様な周期に対応するため、可変遅延付加回路１００４を使用する。さらに内部クロックと同等のダミー遅延１００２を付加した状態で、位相比較回路１００３により、もとの内部クロックと位相比較し、同相（ダミー遅延＋可変遅延＝１周期）となるように可変遅延付加回路１００４の遅延量を調整する。位相が同相となった時点で、ダミー遅延分（Δｔ´）を引いたＤＬＬクロックは内部遅延（＝ダミー遅延）がキャンセルされており、外部クロックと同相になる。図１９にタイミングチャートを示す。
【０００７】
図１９において、遅延クロックと内部クロックの位相が合うように可変遅延付加回路１００４で遅延量を調節する（ダミー遅延＋ＤＬＬ遅延＝１クロック周期）。位相が合った時点で、「ダミー遅延（内部クロック遅延相当）＋ＤＬＬ遅延＝周期Ｔ」となり、遅延クロックからダミー遅延を引いたタイミングのＤＬＬクロックは外部クロックと同相となる。
【０００８】
上記ＤＬＬ回路では、基本的に外部クロック周波数は未知であることから位相比較と補正を何度も繰り返し行う必要があるため、位相補正にかかる時間は数１０〜数百サイクルが必要である。
【０００９】
しかし、現状のフラッシュメモリの仕様ではシンクロナス読み出し開始から数クロックでＤＱを出力する必要があり、上記ＤＬＬ回路など従来のＤＬＬ回路ではその仕様を満たすことができないという問題がある。或いは、現状のフラッシュメモリの仕様を満たすために、スタンバイ時も外部クロックを入力し、常にＤＬＬ回路で位相補正を行う手法が考えられるが、これではいたずらに消費電力が増大してしまうという問題が発生する。
【００１０】
そこで、本発明は、高速クロックにおいても外部クロックとＤＱ出力との同期を確保することができるＤＬＬ回路を組み込んだ半導体メモリを提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の半導体メモリは、外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路とを有するＤＬＬ回路を用いた半導体メモリであって、バースト開始時に、前記内部クロックの１クロック周期の間出力される第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号のアクティブな論理値の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段と、を備えることを特徴とする。
【００１２】
請求項２に記載の半導体メモリは、外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路とを有するＤＬＬ回路を用いた半導体メモリであって、バースト開始時に、前記内部クロックの１クロック周期の開始により論理“１”にラッチされる第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号の論理“１”の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段と、を備えることを特徴とする。
【００１３】
請求項３に記載の半導体メモリは、外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路とを有するＤＬＬ回路を用いた半導体メモリであって、バースト開始時の初期化モードとして、前記内部クロックの１クロック周期の開始により論理“１”にラッチされる第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号の論理“１”の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段とを備え、前記可変遅延付加回路における遅延量の初期設定後のロックモードとして、前記内部クロックを前記可変遅延付加回路により遅延させると共に、前記位相比較回路により遅延量を補正しつつ、１クロック周期遅れで前記外部クロックに同期する出力クロックを生成するクロック出力手段を備えることを特徴とする。
【００１４】
請求項４に記載の半導体メモリは、前記ＤＬＬ回路を備えることにより、読み出し動作をしていないときは完全に外部クロック及び内部クロックを停止させてスタンバイモードを実現し、かつ読み出し動作開始からきわめて短い期間で読み出しデータを出力可能であることを特徴とする。
【００１５】
請求項５に記載の半導体メモリは、前記ＤＬＬ回路の使用不使用を外部設定する手段をさらに備えることを特徴とする。
【００１６】
請求項６に記載の半導体メモリは、外部クロックに対する内部クロック遅延に相当するダミー遅延と、遅延量調整信号により遅延量を調整する手段をもつ可変遅延付加回路と、内部クロックと前記可変遅延付加回路及び前記ダミー遅延を介して入力される遅延クロックとの位相を比較し、前記可変遅延付加回路に遅延量調整信号を出力する位相比較回路と有するＤＬＬ回路を用いた半導体メモリであって、バースト開始時の初期化モードとして、前記内部クロックの１クロック周期の間、論理“１”にセットされる第１の信号を、前記ダミー遅延を通して前記可変遅延付加回路に入力する手段と、前記可変遅延付加回路により前記ダミー遅延を通して入力された前記第１の信号の論理“１”の継続時間を前記内部クロックの１クロック周期の終了まで検出し、前記継続時間を基に当該可変遅延付加回路の遅延量の初期値を設定する手段とを備え、前記可変遅延付加回路における遅延量の初期設定後のロックモードとして、前記内部クロックを前記可変遅延付加回路により遅延させると共に、前記位相比較回路により遅延量を補正しつつ、１クロック周期遅れで前記外部クロックに同期する出力クロックを生成するクロック出力手段を備え、ユーザーが指定するコマンド指定用アドレス信号とコマンド指定用データ信号をデコードするコマンドデコーダと、コマンドデコーダの出力を保持するコマンドレジスタを備えることにより、ＤＬＬ回路の使用不使用をユーザー設定で切り替える機能を持つことを特徴とする。
【００１７】
請求項７に記載の半導体メモリは、ユーザー設定されたクロックレイテンシより１クロック少ないレイテンシを自動的に設定し、外部から見た場合のレイテンシをユーザー設定と等しくする手段をさらに備えることを特徴とする。
【００１８】
請求項８に記載の半導体メモリは、バースト開始時に、前記ＤＬＬ回路をリセットするリセット手段をさらに備えることを特徴とする。
【発明の効果】
【００１９】
請求項１によれば、バースト開始時に、前記内部クロックの１クロック周期の間出力される第１の信号をダミー遅延を通して可変遅延付加回路に入力する。可変遅延付加回路では第１の信号のアクティブな論理値の継続時間を１クロック周期が終わるまで計測し、この継続時間を基に遅延量を初期設定する。これにより、半導体メモリ（フラッシュメモリなど）において、スタンバイ状態から、きわめて短時間にシンクロナス読み出しが可能となる。
【００２０】
請求項２によれば、バースト開始時に、内部クロックの１クロック周期の開始により、論理“１”にラッチされる第１の信号を、ダミー遅延を通して可変遅延付加回路に入力する。可変遅延付加回路では、第１の信号の論理“１”の継続時間を１クロック周期が終わるまで計測し、この継続時間を基に遅延量を初期設定する。これにより、半導体メモリ（フラッシュメモリなど）において、スタンバイ状態から、きわめて短時間にシンクロナス読み出し動作が可能となる。
【００２１】
請求項３によれば、バースト開始時の初期化モードにおいて、内部クロックの１クロック周期の開始により論理“１”にラッチされる第１の信号を、ダミー遅延を通して可変遅延付加回路に入力し、可変遅延付加回路では、第１の信号の論理“１”の継続時間を１クロック周期が終わるまで計測し、この継続時間を基に遅延量を初期設定する。また、可変遅延付加回路における遅延量の設定後は、通常のＤＬＬ動作を行うロックモードに移行する。これにより、半導体メモリ（フラッシュメモリなど）において、スタンバイ状態から即時にシンクロナス読み出し動作が可能となり、また、きわめて短時間（例えば、３ないし４クロック）でロック（位相補正）された内部クロックを生成することができる。
【００２２】
請求項４によれば、ＤＬＬ回路を備えることにより、読み出し動作をしていないときは完全に外部クロック及び内部クロックを停止させてスタンバイモードを実現し、かつ読み出し動作開始からきわめて短い期間で読み出しデータを出力可能である。
【００２３】
請求項５によれば、クロック周波数が低くなると内部クロックに与える遅延量が大きくなるが、ＤＬＬ回路の使用不使用を外部設定できるため、内部で用意する遅延素子が増大（チップ面積増大）することを抑制できる。
【００２４】
請求項６によれば、バースト開始時の初期化モードにおいて、内部クロックの１クロック周期の開始により論理“１”にラッチされる第１の信号を、ダミー遅延を通して可変遅延付加回路に入力し、可変遅延付加回路では、第１の信号の論理“１”の継続時間を１クロック周期が終わるまで計測し、この継続時間を基に遅延量を初期設定する。また、可変遅延付加回路における遅延量の設定後は、通常のＤＬＬ動作を行うロックモードに移行する。これにより、半導体メモリ（フラッシュメモリなど）において、スタンバイ状態から即時にシンクロナス読み出し動作が可能となり、また、きわめて短時間（例えば、３ないし４クロック）でロック（位相補正）された内部クロックを生成することができる。また、クロック周波数が低くなると内部クロックに与える遅延量が大きくなるが、ＤＬＬ回路の使用不使用を外部設定できるため、内部で用意する遅延素子が増大（チップ面積増大）することを抑制できる。
【００２５】
請求項７によれば、ユーザー設定されたクロックレイテンシより１クロック少ないレイテンシを自動的に設定するので、外部から見た場合のレイテンシをユーザー設定と等しくすることができる。
【００２６】
請求項８によれば、バースト開始時に、ＤＬＬ回路のフリップフロップやレジスタをリセットするので、これにより、イレギュラーな動作による誤動作を防ぎ、信頼性が向上す。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を実施するための最良の形態について図面を参照しつつ説明する。
《半導体メモリ回路》
図１は、本発明の実施の形態における半導体メモリの構成例（シンクロナス読み出し系）を示す図であり、フラッシュメモリの例を示したものである。なお、各信号の語尾の「＃」は負論理“Ｌ”で有効になることを示している。
【００２８】
図１において、コマンドデコーダ／コマンドレジスタ１は、アドレスおよびＤＩＮをデコードしてコマンドを判定し、コマンド書き込み信号ＷＲＩＴＥ＃により判定結果をレジスタに格納する。また、バーストモードの種類、クロックレイテンシ、ＤＬＬの使用／不使用を設定する。ユーザコマンド入力に基づくＤＬＬ有効信号（ＤＬＬの使用／不使用を表わす信号）Ｖ１は、バーストシンクロナス制御回路３、ＤＬＬ回路６、ＤＯＵＴ用フリップフロップ（ＤＯＵＴ用Ｆ／Ｆ）１３へ出力される。また、ユーザコマンド入力に基づく設定信号（バーストモードの種類、クロックレイテンシを示す信号）は、バーストナスシンクロナス制御回路３へ出力される。なお、アドレスはコマンド指定用アドレス、ＤＩＮはコマンド指定用データである。
【００２９】
クロック制御回路２は、チップイネーブル信号ＣＥ＃とアドレス有効信号（入力されるアドレスが読み出し時の有効アドレスであることを示す信号）ＡＤＶ＃とに基づいてバースト開始信号（バースト読み出しを開始させるための信号）ＳＴを発生してバーストシンクロナス制御回路３とＤＬＬ回路６へ出力する。また、外部クロックＣ１から入力バッファを介して内部クロックＣ２を発生させ、バーストシンクロナス制御回路３とＤＬＬ回路６とクロックドライバ７へ供給する。
【００３０】
バーストシンクロナス制御回路３は、バーストシンクロナス読み出し時に、読み出しアドレス（読み出し用のアドレス）の入力が行われ、また、バーストアドレスの生成、センスアンプの制御、センスデータラッチの制御、ＤＬＬイネーブル信号ＥＮを発生させる。このＤＬＬイネーブル信号ＥＮは、バーストの開始やバーストの終了をＤＬＬ回路６に伝えるための信号である。
【００３１】
アドレスデコーダ４は、バーストシンクロナス制御回路３からのバースト開始アドレス（バーストリードを開始するアドレス信号）をデコードし、メモリアレイ５に供給する。
【００３２】
ＤＬＬ回路６は、外部クロックＣ１とほぼ同相となるＤＬＬクロックＣ３を生成し、クロックドライバ７へ供給する。なお、ＤＬＬ回路６の詳細については後述する。
【００３３】
クロックドライバ７は、ＤＯＵＴ用Ｆ／Ｆ１３に、クロック制御回路２からの内部クロックＣ２およびＤＬＬ回路６からのＤＬＬクロックＣ３をバッファして供給する。
【００３４】
センスアンプ８は、バーストシンクロナス制御回路３からのアドレス遷移信号ＡＴＤによりセンスを開始する。
【００３５】
バースト用データラッチ／データセレクタ１２は、フリップフロップ（Ｆ／Ｆ）１０を介してバーストシンクロナス制御回路３からのバーストデータラッチ信号によりセンスアンプラッチ回路９を介してセンスアンプ８からの出力データをラッチする。また、フリップフロップ（Ｆ／Ｆ）１１を介してバーストシンクロナス制御回路３からのバーストアドレス（バーストシンクロナス制御回路３で自動的に生成されるバーストシーケンス用アドレス）に従って、センスアンプ８により読み出されたデータをＤＯＵＴ用Ｆ／Ｆ１３へ送る。
【００３６】
ＤＯＵＴ用Ｆ／Ｆ１３は、ＤＯＵＴバッファ１４に出力する最終データをラッチする。また、ＤＬＬを使用する場合と使用しない場合での出力タイミングを調整する。
【００３７】
次に、図１に示す半導体メモリのＤＬＬ回路不使用時とＤＬＬ回路使用時の夫々の動作の概略を説明する。ただし、シンクロナスバースト動作において、ＤＬＬ回路を使用するか、使用しないかはユーザコマンドにより入力される。
【００３８】
＜ＤＬＬ回路不使用＞
まず、ＤＬＬ回路６を使用しない場合の動作について記載する。
クロック制御回路２においてチップイネーブル信号ＣＥ＃またはアドレス有効信号ＡＤＶ＃の立下りエッジを検知し、双方の信号が有効なると、バースト開始信号ＳＴを出力する。バーストシンクロナス制御回路３はバースト開始信号ＳＴを受け、バーストアドレス、バーストデータラッチ信号を生成し、バースト読み出し動作を行う。このとき、ＤＬＬ有効信号Ｖ１はディセーブルであるため、ＤＬＬ回路６は動作しない。また、ＤＯＵＴ用Ｆ／Ｆ１３においては、ＤＬＬ有効信号Ｖ１がディセーブルであることを感知し、ＤＬＬクロックＣ３ではなく、内部クロックＣ２を使用して、バースト出力データをＤＯＵＴバッファ１４に送る。
【００３９】
＜ＤＬＬ回路使用＞
次に、ＤＬＬ回路６を使用する場合の動作について記載する。
クロック制御回路２においてチップイネーブル信号ＣＥ＃またはアドレス有効信号ＡＤＶ＃の立下りエッジを検知し、双方の信号が有効になると、バースト開始信号ＳＴを出力する。バーストシンクロナス制御回路３はバースト開始信号ＳＴを受け、バーストアドレス、バーストデータラッチ信号を生成し、バースト読み出し動作を行う。この際、バーストシンクロナス制御回路３は、コマンドデコーダ／コマンドレジスタ１からの設定信号が示すユーザーによって設定されたクロックレイテンシより１クロック少ないレイテンシを自動的に設定する（クロックレイテンシ自動補正）。
同時にバーストシンクロナス制御回路３はＤＬＬ有効信号Ｖ１がイネーブルであることを感知し、ＤＬＬイネーブル信号ＥＮをＤＬＬ回路６に出力する。ＤＬＬ回路６ではＤＬＬ有効信号Ｖ１、バースト開始信号ＳＴ、およびＤＬＬイネーブル信号ＥＮを感知し、ＤＬＬ動作を開始し、外部クロックＣ１とほぼ同相に補正されたＤＬＬクロックＣ３をＤＯＵＴ用Ｆ／Ｆ１３へ供給する。ＤＯＵＴ用Ｆ／Ｆ１３においては、ＤＬＬ有効信号Ｖ１がイネーブルであることを感知し、内部クロックＣ２ではなく、ＤＬＬクロックＣ３を使用して、バースト出力データをＤＯＵＴバッファ１４に出力する。
【００４０】
所定のバーストシーケンスが終了すると、バーストシンクロナス制御回路３はＤＬＬイネーブル信号ＥＮをディセーブルにし、これを受けたＤＬＬ回路６はＤＬＬ動作を終了する。
【００４１】
上述した図１の半導体メモリにおいてＤＬＬ使用とＤＬＬ不使用の切り替え機能を設けたのは次の理由による。ＤＬＬの基本的な動作は外部クロックＣ１に対して遅延を持つ内部クロックＣ２を、外部クロックＣ１の次のエッジまで遅らせることである（同相にする）。その場合、クロック周波数が低くなると、内部クロックＣ２に与える遅延量が大きくなり、内部で用意する遅延素子の増大を招くことになる（チップ面積増大）。そのため、内部クロックＣ２の遅延の影響が少ない、低周波数時はＤＬＬを使用せず、内部クロックＣ２の遅延の影響が無視できない高周波数時にＤＬＬを使用するようにユーザコマンドで選択できるようにするためである。例えば、１００ＭＨｚを基準として、１００ＭＨｚ以下では、内部クロックの遅延の影響が少ないので、ＤＬＬ回路６を作動させず、１００ＭＨｚ以上でＤＬＬ回路６を作動させる機能（リードコンフィギュレーション機能）を使用するかどうかをユーザーが設定できるようにするためである。
【００４２】
また、クロックレイテンシ自動補正機能を設けたのは次の理由による。ＤＬＬクロックＣ３は内部クロックＣ２に対してさらに遅延が与えられたものであるため、ＤＯＵＴ用Ｆ／Ｆ１３において、バースト出力データのタイミングを調整すると、ＤＬＬ回路６を使用しない場合に比べて、１クロック分のレイテンシが発生する。そのため、ＤＬＬ使用時は、バースシンクロナス制御回路３において、内部の動作レイテンシをユーザー設定より１クロック小さくしてＤＯＵＴ用Ｆ／Ｆ１３での１クロック分の遅延をキャンセルし、外部から見た場合のレイテンシをユーザー設定と等しくすることができるようにするためである。
【００４３】
《ＤＬＬ回路の構成》
以下、図１のＤＬＬ回路の詳細について図面を参照しつつ説明する。
まず、本実施の形態のＤＬＬ回路の構成及び動作の概略について図２及び図３を参照しつつ説明する。図２はＤＬＬ回路の構成の概略を示す構成概略図であり、図３は図２のＤＬＬ回路の動作を説明するためのタイミングチャートである。なお、ＤＬＬ回路の各構成要素の詳細については他の図を用いて後述する。
【００４４】
制御回路１００は、ＤＬＬ動作用のクロック生成（Timing generator）、モード切替、スタンバイ、リセット等の制御を行う。
ダミー遅延回路２００は、クロックの内部遅延量（Δｔ）に相当する遅延を生じさせる遅延回路である。
位相比較回路３００は、２つのクロック（制御回路１００からの基準クロックＣ５、ダミー遅延回路２００からの遅延クロックＣ６）の位相比較を行い、コース遅延回路４００に信号ＣＯＡＰＬＵＳや信号ＣＯＡＭＩＮＵＳを出力し、ファイン遅延回路５００に信号ＦＩＮＥＰＬＵＳや信号ＦＩＮＥＭＩＮＵＳや信号ＥＸＴＲＡＭＩＮＵＳを出力する。
【００４５】
コース遅延回路４００は、コースディレイセル４０１とコースレジスタ４０２が一体となったコースディレイレジスタ部がｎ個（本実施の形態では１６個）直列に接続されてなり、遅延量の粗補正（例えば、１ｎｓ）を行う。ここで、ｎはクロック周波数、クロックＣ２の遅延などにより決められる値であり、本件明細書では、適宜、「段数」と呼ぶ。
ファイン遅延回路５００は、ファインディレイセル５０１とｎ個のファインレジスタ５０２の直列接続部の対などにより構成されてなり、遅延量の補正（例えば、０．５ｎｓ）を行う。
クロックドライバ７は、ＤＬＬクロックＣ３（Ｂ）を出力する。
【００４６】
《ＤＬＬ回路の動作》
以下、図２のＤＬＬ回路の動作を順に説明する。
【００４７】
＜初期化モード＞
まず、ＤＬＬ回路の回路リセットおよび動作回路（初期化モード）における動作を説明する。
【００４８】
図１のクロック制御回路２にてチップイネーブル信号ＣＥ＃またはアドレス有効信号ＡＤＶ＃の立下りエッジの検知を行ってその双方が有効になって出力されるバースト開始信号ＳＴがＤＬＬ回路６の制御回路１００に入力される。これにより、ＤＬＬ回路６内部のフリップフロップやレジスタ等で構成される順序回路がリセットされる。リセット後、内部クロックＣ２の１つ目の立下りエッジに同期して動作クロックＣＦが制御回路１００からダミー遅延回路２００へ出力される。この動作クロックＣＦがダミー遅延回路２００を通って動作クロックＣ４となって、コース遅延回路４００に入力される（動作Ａ１０１）。この経路を図２の点線ａで示す。
ただし、動作クロックＣＦは周期性のあるクロックではなくて、内部クロックＣ２の立下りエッジでＲＳフリップフロップがセットされた出力である“Ｈ”レベルの信号である。
また、一般的に論理回路においては、アクティブな論理を“Ｈ”レベル、“Ｌ”レベルのいずれに設定しても同じ回路動作を実現することができる。従って、本実施例においても動作クロックＣＦの論理値を“Ｌ”として回路を実現することもできる。
【００４９】
他方、制御回路１００にて、内部クロックＣ２の２つ目の立下りエッジに同期して書き込み信号ＷＴが“Ｈ”レベルになる。その後、内部クロックの３つ目の立上りエッジに同期して書き込み信号ＷＴが“Ｌ”レベルになり、半クロック幅の同期パルスとなって、コース遅延回路４００に出力される（動作Ａ１０２）。
【００５０】
制御回路１００にて、上記のＲＳフリップフロップが書き込み信号ＷＴの“Ｈ”レベルでリセットされて動作クロックＣＦが“Ｌ”レベルになり、これによりダミー遅延回路２００から出力される動作クロックＣ４も“Ｌ”レベルになる（動作Ａ１０３）。
【００５１】
コース遅延回路４００にて、各コースディレイセル４０１に含まれているクロックドインバータを書き込み信号ＷＴの“Ｈ”レベルでディセーブルとし、動作クロックＣ４の出力を止める（動作Ａ１０４）。これは、動作クロックＣＦが“Ｈ”レベルになってから書き込み信号ＷＴを“Ｈ”レベルにするまでの１クロックの間のみ動作クロックＣ４を伝達させるためである。
【００５２】
コース遅延回路４００の各段のコースレジスタ４０２は自身の対であるコースディレイセル４０１の論理（“Ｈ”レベル、“Ｌ”レベル）を参照して、書き込み信号ＷＴの“Ｈ”レベルによりクロックドインバータがディセーブルとなった時点でどの段まで動作クロックＣ４が到達したかを判定する。そして、書き込み信号ＷＴが“Ｌ”レベルになると、各段のコースレジスタ４０２は判定結果を書き込む。ただし、クロックドインバータがディセーブルとなり、動作クロックＣ４がとまった時点で動作クロックＣ４が到達したコースディレイセル４０１の対になるコースレジスタ４０２（動作クロックＣ４が到達しているコースディレイセル４０１のうち一番後ろのコースディレイセル４０１の対になるコースレジスタ４０２）のみ“Ｈ”が書き込まれる（動作Ａ１０５）。
【００５３】
これにより初期化モードが終了する。以上の動作により、「ダミー遅延回路２００によるダミー遅延＋コース遅延回路４００によるコース遅延＝外部クロックの１周期」の設定が完了する。なお、この時点ではまだＤＬＬクロックＣ３は出力されていない。
また、ＤＱバッファの能力が低くＤＱバッファでの遅延が大きくなった場合や、使用周波数が高くなった場合（相対的に内部クロック遅延、ＤＱ遅延が遅くなったのと同じ）に、内部クロック遅延をキャンセルするだけでは外部クロックとＤＱ出力の同期が取れない場合（セットアップ時間が取れない場合）は「ダミー遅延回路２００によるダミー遅延＋コース遅延回路４００によるコース遅延＋ＤＱバッファ遅延に相当するダミー遅延＝外部クロックの２周期」を判定できるように回路を構成することにより、ＤＱバッファの遅延分もキャンセルすることができる。本発明ではこの実施例は示されていないが、本発明の実施例に若干の論理回路を追加することにより、容易に実現可能である。
【００５４】
＜ロックモード（初期クロック出力）＞
次に、ＤＬＬ回路のロックモード（初期クロック出力）における動作を説明する。
【００５５】
上記動作Ａ１０５で書き込み信号ＷＴが“Ｌ”レベルとなりコースレジスタ４０２の書き込みが終了した半クロック後、制御回路１００にて内部クロックＣ２の３つ目の立下りエッジに同期してロックモード信号Ｍが“Ｈ”レベルになる。このロックモード信号Ｍが“Ｈ”レベルとなったのを受けて制御回路１００は動作クロックＣ４の経路を図２の実線ｂで示す経路へと切り替える（動作Ａ２０１）。
【００５６】
制御回路１００にて、上記動作Ａ２０１の半クロック後、即ち、内部クロックの４つ目以降の立上りエッジに同期したワンショットパルスを毎クロック発生させ、このパルス信号を動作クロックＣ４としてコース遅延回路４００の各コースレジスタ４０２に出力する（動作Ａ２０２）。なお、内部クロックＣ２を使用せずにワンショットとするのは、動作クロックＣ４の“Ｌ”レベルの期間でコース遅延回路４００およびファイン遅延回路５００の段数を切り替える構成上、内部クロックＣ２のデューティ比を変化させ、動作クロックＣ４の“Ｌ”レベルの期間を長く取って、切り替え時のタイミングに余裕を持たせるためである。
【００５７】
上記動作Ａ２０２で発生した動作クロックＣ４はコース遅延回路４００のコースディレイセル４０１およびファイン遅延回路５００のファインディレイセル５０１を通ってＤＬＬクロックＣ３となる。ＤＬＬクロックＣ３はクロックドライバ７を通ってＤＬＬクロックＣ３（Ｂ）となる（動作Ａ２０３）。なお、スタート時のリセット動作によってファイン遅延回路５００の設定は０段となっており、未調整のままであるが、初期化モードの説明で記載したように、コース遅延回路４００のコースディレイセル４０１の精度では補正されている。なお、これは実用可能な精度である。
【００５８】
このロックモード（初期クロック出力）の動作により、内部クロックＣ２の４クロック目から内部クロックＣ２の立上りエッジに同期したＤＬＬクロックＣ３を発生させることができる。つまり、外部クロックＣ１の５クロック目と初期クロックが同相のＤＬＬクロックＣ３を発生させることができる。
【００５９】
＜ロックモード（ロックオン動作）＞
さらに、ＤＬＬ回路のロックモード（ロックオン動作）における動作を説明する。
【００６０】
上記動作Ａ２０１において、ロックモード信号Ｍが“Ｈ”レベルになった１クロック後、内部クロックＣ２の４つ目の立下りエッジから制御回路１００において３クロックに１回の割合で基準クロックイネーブル信号ＲＣＥＮが出力される。この基準クロックイネーブル信号ＲＣＥＮと内部クロックＣ２との論理積（ＡＮＤ）をとった信号を基準クロックＣ５とし、位相比較回路３００へ出力する（動作Ａ３０１）。即ち、基準クロックＣ５は、内部クロックＣ２の５つ目の立上りエッジから３クロックに１回の割合で出力される。なお、３クロックに１回の割合とするのは、動作周波数が高くなると位相比較、コース遅延回路４００およびファイン遅延回路５００の段数調整の一連の動作が１サイクル内に完了しない可能性があることを考慮したものである。
【００６１】
位相比較回路３００にて、基準クロックＣ５に対し、遅延クロックＣ６の位相が遅いか速いかを判定する。つまり、ＤＬＬ回路の基本的なロック条件である「可変遅延（コース遅延とファイン遅延）＋ダミー遅延＝１周期」であるかを判定する（動作Ａ３０２）。ただし、遅延クロックＣ６は、動作クロックＣ４がコース遅延回路４００のコースディレイセル４０１、ファイン遅延回路５００のファインディレイセル５０１およびダミー遅延回路２００を順に通過して遅延が与えられた信号である。
ロックモードに移行してから最初の動作クロックＣ４は内部クロックＣ２の４つ目の立上りエッジから出力が開始される（上記動作Ａ２０２参照）。この動作クロックＣ４がコース遅延回路４００のコースディレイセル４０１、ファイン遅延回路５００のファインディレイセル５０１およびダミー遅延回路２００を順に通った後の遅延クロックＣ６はほぼ１周期遅れの信号となる。これは、初期化モードにおいてコース遅延回路４００の精度で遅延の設定が完了しているからである。
これに対し、基準クロックＣ５は内部クロックＣ２の５クロック目で出力される。
したがって、位相比較回路３００ではＤＬＬ回路の基本的なロック条件である「可変遅延（コース遅延とファイン遅延）＋ダミー遅延＝１周期」であるかを判定していることになる。
また、ＤＱバッファの能力が低くＤＱバッファでの遅延が大きくなった場合や、使用周波数が高くなった場合（相対的に内部クロック遅延、ＤＱ遅延が遅くなったのと同じ）に、内部クロック遅延をキャンセルするだけでは外部クロックとＤＱ出力の同期が取れない場合（セットアップ時間が取れない場合）は「可変遅延（コース遅延とファイン遅延）＋ダミー遅延＋ＤＱバッファ遅延に相当するダミー遅延＝２周期」を判定できるように回路を構成することにより、ＤＱバッファの遅延分もキャンセルすることができる。本発明ではこの実施例は示されていないが、本発明の実施例に若干の論理回路を追加することにより、容易に実現可能である。
【００６２】
位相回路３００は上記動作Ａ３０２の判定結果に基づいて信号（信号ＣＯＡＰＬＵＳ、信号ＣＯＡＭＩＮＵＳ、信号ＦＩＮＥＰＬＵＳ、信号ＦＩＮＥＭＩＮＵＳ、信号ＥＸＴＲＡＭＩＮＵＳ）を出力する（動作Ａ３０３）。
【００６３】
コース遅延回路４００およびファイン遅延回路５００では位相比較回路３００の出力信号（信号ＣＯＡＰＬＵＳ、信号ＣＯＡＭＩＮＵＳ、信号ＦＩＮＥＰＬＵＳ、信号ＦＩＮＥＭＩＮＵＳ）を受けて段数の調整が行われ、あるいは、ファイン遅延回路５００では位相比較回路３００の出力信号（信号ＥＸＴＲＡＭＩＮＵＳ）を受けてファインディレイセル５０１をバイパスさせる動作を行う（動作Ａ３０４）。このバイパスさせる動作は、コース遅延回路４００の段数およびファイン遅延回路５００の段数がともに０段（最小設定）であるにもかかわらず、遅延クロックＣ６の位相が遅すぎる場合に対処可能とするものである。
【００６４】
コース遅延回路４００およびファイン遅延回路５００では、位相比較回路３００から出力信号が何も出力されていない場合には「可変遅延＋ダミー遅延＝１周期」が成立しており、コース遅延回路４００およびファイン遅延回路５００は動作しない（ロックオン状態）（動作Ａ３０５）。
【００６５】
ロックオンが成立した後も位相比較は３クロックに１回の割合で実行され、クロック周期の変動及び電源電圧の変動や環境温度の変動による遅延値の変動に対し、その都度コース遅延回路４００とファイン遅延回路５００は段数の増減を行って位相を補正する（動作Ａ３０６）。
【００６６】
＜バースト終了動作＞
さらに、ＤＬＬ回路のバースト終了における動作を説明する。
【００６７】
ＤＬＬ回路６はＤＬＬイネーブル信号ＥＮの立下りエッジを受けてＤＬＬ動作を終了する（動作Ａ４０１）。バーストシンクロナス読み出し全体の動作はいわゆるパイプライン処理を行っている仕様上、バーストシンクロナス制御回路３からＤＬＬイネーブル信号ＥＮの“Ｌ”レベル（バースト終了）を受けてから、２サイクルの間はＤＬＬクロックＣ３を出力する必要がある。そのため、制御回路１００内にシフトレジスタを設けて２クロック分のタイミングを計っている。
【００６８】
ＤＬＬイネーブル信号ＥＮはバースト開始時に“Ｈ”レベルでＤＬＬ回路６に入力されるが、ＤＬＬ回路６内の順序回路（シーケンス回路）はこの“Ｈ”レベルを使用せず、バーストシーケンス終了の条件として使用するだけである。バースト開始はバースト開始信号ＳＴにより行われる。
【００６９】
以下、ＤＬＬ回路の各部について図面を参照しつつ説明する。
【００７０】
＜制御回路＞
制御回路の動作について図４から図６を参照しつつ説明する。図４および図５は図２の制御回路の構成を示す回路図であり、図６は図４の立下りワンショットパルス回路の構成を示す回路図である。
【００７１】
＜リセット動作＞
まず、制御回路のリセット動作を説明する。ただし、上述したように、バースト開始信号ＳＴは、図１のクロック制御回路２に入力されるチップイネーブル信号ＣＥ＃またはアドレス有効信号ＡＤＶ＃の立下りエッジで“Ｈ”レベルとなり、内部クロックＣ２の１つ目の立上りエッジで“Ｌ”レベルとなるパルスである（図３参照）。
【００７２】
クロック制御回路２からバースト開始信号ＳＴがＮＡＮＤ回路１０１を介してフリップフロップ１１１〜１１７に供給され、フリップフロップ１１１〜１１７をリセットする（動作Ｂ１０１）。同時にＮＯＲ回路１５２を介して他の回路（位相比較回路３００、コース遅延回路４００、ファイン遅延回路５００）にリセット信号ＲＳＴを出力する（動作Ｂ１０２）。ＮＡＮＤ回路１０１の使用目的はバースト開始信号ＳＴがチップ上で大きな遅延を持たされてＤＬＬ回路６に供給された場合、リセット解除（バースト開始信号が“Ｌ”レベルになる）のタイミングが遅れて、内部動作開始が遅くなることを防ぐため、内部クロックＣ２の１つ目の立上りで（“Ｈ”レベル）バースト開始信号ＳＴを強制的に“Ｌ”レベルにするためである。
【００７３】
＜クロックイネーブル動作＞
次に、制御回路のクロックイネーブル動作を説明する。
上記リセット動作後、フリップフロップ１１５の出力の反転信号（信号Ｓ１０１）は“Ｈ”レベルになっている。その後クロックＣ２の１つ目の“Ｈ”レベルでハーフラッチ１４１の出力（信号Ｓ１０２）は“Ｈ”レベルになる（動作Ｂ２０１）。
【００７４】
ＮＡＮＤ回路１０２には信号Ｓ１０２とロックモード信号Ｍの反転信号が入力され、フリップフロップ１２１の出力であるロックモード信号Ｍはリセット直後“Ｌ”レベルで、その反転信号は“Ｈ”レベルである。したがって、リセット後内部クロックＣ２の１つ目の“Ｈ”レベルで初期化モードのクロックイネーブル信号ＥＮ１は“Ｈ”レベルとなる（初期化モード開始）（動作Ｂ２０２）。
【００７５】
その後、ロックモード信号Ｍが“Ｈ”レベルとなると（図３参照）、クロックイネーブル信号ＥＮ１が“Ｌ”レベル（ディセーブル）になると同時にＮＡＮＤ回路１０３を介してロックモードのクロックイネーブル信号ＥＮ２は“Ｈ”レベルとなる（ロックモード開始）（動作Ｂ２０３）。
【００７６】
ＮＡＮＤ回路１０４によりフリップフロップ１１１〜１１３はバースト開始信号ＳＴによるリセット後も、ロックモード信号Ｍが“Ｌ”（初期化モード）の期間は継続してリセット状態にある。ロックモード信号Ｍが“Ｈ”レベルになり、ロックモードになるとフリップフロップ１１１〜１１３のリセット状態は解除され、内部クロックＣ２の立下りに同期して動作を開始し、内部クロックＣ２の３クロックに対して１回の割合で基準クロックイネーブル信号ＲＣＥＮを発生させる（動作Ｂ２０４）。
【００７７】
＜初期化モード＞
さらに、制御回路の初期化モードにおける動作を説明する。
上記動作Ｂ２０２でクロックイネーブル信号ＥＮ１が“Ｈ”レベルとなり、さらに内部クロックＣ２が“Ｌ”レベルになることにより、ＲＳラッチ１６１をセットし、その出力は“Ｈ”レベルになる。この“Ｈ”レベルのクロックがオフセット調整ディレイ１７１およびダミー遅延２００を通り、クロック出力セレクタ１７２を介して動作クロックＣ４となる（動作Ｂ３０１）。オフセット調整ディレイ１７１を設けたのは次の理由による。初期化モードではコース遅延回路４００のみで可変遅延の値を決定するのに対して、ロックモードではコース遅延回路４００およびファイン遅延回路５００の双方を可変遅延の値を決定している。そのため、初期化モードではオフセット調整ディレイ１７１を通すことによって、初期化モードにおけるコース遅延回路４００のみで決定された可変遅延の値と、ロックモードにおけるコース遅延回路４００およびファイン遅延回路５００の双方によって決定された可変遅延の値と、の差をキャンセルすることができるようにしたものである。
また、一般的に論理回路においては、アクティブな論理を“Ｈ”レベル、“Ｌ”レベルのいずれに設定しても同じ回路動作を実現することができる。従って、本実施例においても動作クロックＣ４の論理値を“Ｌ”として回路を実現することもできる。
【００７８】
ＲＳラッチ１６１は、セットから１クロック後に、フリップフロップ１１９の出力（信号Ｓ１０３）により、リセットされる（動作Ｂ３０２）。即ち、初期化モードにおいては、動作クロックＣ４は１周期幅のパルスとなる。
これと同時に１クロック幅の書き込み信号ＷＴがコース遅延回路４００へ出力される（動作Ｂ３０３）。なお、この書き込み信号ＷＴの立上りでコース遅延回路４００の段数が決定され、書き込み信号ＷＴの立下りでその判定結果がコース遅延回路４００のコースレジスタ４０２に書き込む。
【００７９】
＜ロックモード＞
さらに、制御回路のロックモードにおける動作を説明する。
初期化モードが書き込み信号ＷＴで終了し、その半クロック後にロックモード信号Ｍが“Ｈ”レベルになることでロックモードに移行する。ロックモード信号Ｍが“Ｈ”レベルとなることによって、ワンショットパルス発生回路１７３の出力がクロック出力セレクタ１７２を介して動作クロックＣ４になる（動作Ｂ４０１）。
【００８０】
＜ＢＩＡＳ  ＯＮ動作＞
さらに、制御回路のＢＩＡＳ  ＯＮにおける動作を説明する。コース遅延回路４００およびファイン遅延回路５００において、電源電圧による遅延値の変動を緩和させるための回路を採用している。そのためにトランジスタにＢＩＡＳを与えるための回路も設けている。この回路は動作時ＶＣＣからＶＳＳにかけてＤＣ電流を発生するため、無駄な電流消費を防ぐために、ＤＬＬ動作時のみＯＮにする必要がある。そのため制御回路内にＢＩＡＳ発生のためのシーケンス回路を設けている。
【００８１】
信号１１１が“Ｈ”レベルになると、節点ＢＩＡＳＦ３が速やかに“Ｈ”レベルとなるため、節点ＢＩＡＳＯＮの信号Ｓ１１２も速やかに“Ｈ”レベルとなり、バイアス発生回路をＯＮにする（動作Ｂ５０１）。
【００８２】
信号１１１が“Ｌ”レベルになると、節点ＢＩＡＳＦ３は“Ｌ”レベルとなるが、フリップフロップ１１４〜１１７で構成されるシフトレジスタの働きで、その後、内部クロックＣ２の３クロックの間は節点ＢＩＡＳＦ１，ＢＩＡＳＦ２は共に“Ｈ”レベルとなり、節点ＢＩＡＳＯＮの信号Ｓ１１２も内部クロックＣ２の３クロックの間は“Ｈ”レベルを出力する（動作Ｂ５０２）。すなわち、節点ＢＩＡＳＯＮの信号Ｓ１１２は信号Ｓ１１１の立上りで“Ｈ”レベルとなり、立下りの３クロック後に“Ｌ”レベルになる。立下り後３クロックの間“Ｈ”レベルに保持するのは、ＤＬＬの仕様上信号Ｓ１１１の立下り後も動作クロックＣ４を２回出力する必要があるから、１回分余裕を持たせたものである。
【００８３】
＜バースト終了＞
さらに、制御回路のバースト終了の動作について説明する。
信号Ｓ１１１が“Ｌ”レベルになると、フリップフロップ１１４のクロック入力は“Ｈ”レベルとなり、フリップフロップ１１４の出力が“Ｈ”レベル（フリップフロップ１１５の入力が“Ｈ”レベル）となる（動作Ｂ６０１）。ディレイ１３１とＮＡＮＤ回路１０５は何らかの要因で信号Ｓ１１１に“Ｌ”レベルのノイズ（ひげ）が発生した場合にそのノイズをマスクして不用意にＤＬＬ回路が止まるのを防ぐ。
【００８４】
フリップフロップ１１５の入力が“Ｈ”となった次の内部クロックＣ２の立ち上がりでフリップフロップ１１５の出力が“Ｈ”レベルとなって、インバータで反転されて信号Ｓ１０１は“Ｌ”レベルとなる（動作Ｂ６０２）。内部クロックＣ２が“Ｈ”レベルの期間であるので、ハーフラッチ１４１を介して信号Ｓ１０２が“Ｌ”レベルになり、クロックイネーブル信号ＥＮ２が“Ｌ”レベルとなり、動作クロックＣ４の出力が停止する（動作Ｂ６０３）。すなわち、信号Ｓ１１１が立下がってからここまでの動作は２サイクルとなり、信号Ｓ１１１の立下りから２クロック分は動作クロックＣ４を出力し、その後動作クロックＣ４の出力は停止する。
【００８５】
さらに、フリップフロップ１１６，１１７により２サイクルのタイミングをとり、フリップフロップ１１７の出力が”Ｈ“レベルとなり、ＮＯＲ回路１５２を介してフリップフロップ１１１〜１１３をリセット状態にし、これと同時にリセット信号ＲＳＴが”Ｈ“レベルとなって、ＤＬＬ内部のフリップフロップＦ１１８〜１２１、ダミー遅延回路２００、位相比較回路３００、コース遅延回路４００およびファイン遅延回路５００をリセットする（動作Ｂ６０４）。
【００８６】
＜立下りワンショットパルス発生動作＞
さらに、図６の制御回路の立下りワンショット回路の立下りワンショットパルス発生動作を説明する。コース遅延回路４００には初期化モード時にクロックＣ４がどの段まで到達するかを判定するためのラッチ（クロックドインバータで構成）を内蔵しており、この初期化モード終了時にはラッチをリセットする必要がある。
【００８７】
書き込み信号ＷＴが入力端子Ｔ１０１に入力され、書き込み信号ＷＴが立ち下がると、入力端子Ｔ１０１の入力が立ち下がり、出力端子Ｔ１０３に“Ｌ”レベルのワンショットパルスが発生し、このパルスが信号Ｓ１２１となる（動作Ｂ７０１）。また、ＤＬＬ開始時および終了時のリセット信号ＲＳＴの反転信号ＲＳＴＢが入力され、この反転信号が“Ｌ”レベルのとき出力端子Ｔ１０３の出力が“Ｌ”レベルとなる（動作Ｂ７０２）。
【００８８】
＜ダミー遅延回路＞
次に、ダミー遅延回路の構成および動作について図７および図８を参照しつつ説明する。図７は図２のダミー遅延回路の構成を示す回路図であり、図８は図７の微調整回路の構成を示す図である。
【００８９】
リセット信号ＲＳＴまたは書き込み信号ＷＴが“Ｈ”になると、ダミー遅延リセット信号が“Ｌ”となり、ディレイ回路２０２及び微調整回路２０３のクロック経路をリセットする。リセット信号ＲＳＴはバースト開始時およびバースト終了時の内部回路リセット信号である。
書き込み信号ＷＴが“Ｈ”になるのは初期化モード時にコース遅延回路４００の段数が決定された時であり、後のロックモード動作のために一度クロック経路をリセットするものである。
【００９０】
セレクタ２０１はロックモード信号が“Ｌ”レベルの時（初期化モード時）、図２の制御回路１００から供給される動作クロックＣＦをディレイ回路２０２へ供給する。また、ロックモード信号が“Ｈ”レベルの時（ロックモード時）、図２のファイン遅延回路５００から入力されるＤＬＬクロックＣ３をディレイ回路２０２へ供給する。
ディレイ回路２０２は、４個１組のインバータチェーンを複数段使用して構成されており、クロックＣ２００を出力する。
【００９１】
微調整回路２０３は微調整回路２０３への入力（“Ｈ”または“Ｌ”の信号Ｓ２０１，Ｓ２０２，Ｓ２０３）に基づき遅延量を調節する。この回路例が図８であり、ＮＡＮＤ回路２２１〜２２８のいずれか１つのみ全ての入力が“Ｈ”レベルとなって出力が“Ｌ”レベルとなり、インバータで反転されて“Ｈ”レベルとなる。クロックドインバータ２１１〜２１８のうち全ての入力が“Ｈ”レベルのＮＡＮＤ回路と対のクロックドインバータのみが開く。クロックＣ２００は遅延付与部（０から７）と開いたクロックドインバータを通ってクロックＣ２０１となってセレクタ２０４へ出力される。したがって、微調整回路２０３ではクロックが入力から出力までに通る遅延付与部の数を０から７に切り替えることが可能な構成となっている。
微調整回路への入力Ｓ２０１、Ｓ２０２，Ｓ２０３は、同一チップ内に用意される記憶手段から出力される信号であって、記憶手段として例えば不揮発性のメモリセルを使用すれば、出荷時に外部から値を書き込むことで微調整することができ、例えばＳＲＡＭなどの揮発性のメモリセルやフリップフロップ等で構成されるレジスタを使用すれば、使用時に外部から値を書き込むことにより、微調整することが可能になる。
【００９２】
セレクタ２０４はロックモード信号が“Ｌ”レベルの時（初期化モード時）、入力をコース遅延回路４００へ供給する。また、ロックモード信号が“Ｈ”レベルの時（ロックモード時）、入力を位相調整回路３００へ出力する。
【００９３】
＜位相比較回路＞
次に、位相比較回路の動作について図９および図１０を参照しつつ説明する。図９は図２の位相比較回路の構成を示す回路図であり、図１０は図９の位相比較回路の１実施例を示す図である。なお、図９のリセット信号ＲＳＴはフリップフロップ３０８〜３１２のラッチに入力されるものであるが、図９においては省略している。
【００９４】
位相比較回路３００は基準クロックＣ５と遅延クロックＣ６の位相を比較する。遅延クロックＣ６は内部クロックＣ２がコース遅延回路４００、ファイン遅延回路５００およびダミー遅延回路を通過した後のクロックであるので基準クロックＣ５と遅延クロックＣ６の位相比較を行うことは、ＤＬＬ回路６のロックオン条件である「ダミー遅延＋可変遅延（コース遅延とファイン遅延）＝１周期」の判定を行うことである。基準クロックＣ５は制御回路１００から内部クロックＣ２の３クロックに１回の割合で出力される信号である。
【００９５】
リセット信号ＲＳＴにより、ラッチ回路３０８〜３１２、ＲＳフリップフロップ回路３０２及びＲＳフリップフロップ回路３１８がリセットされる。
比較対象である遅延クロックＣ６はＮＡＮＤ回路３０１を介してＲＳフリップフロップ３０２に入力される。ＮＡＮＤ回路３０１の他方の入力は基準クロックイネーブル信号ＲＣＥＮが入力される（動作Ｃ１０１）。このＮＡＮＤ回路３０１の役割は、内部クロックＣ２の３クロックに１回のみ位相比較を行うためであり、その他のクロックでは遅延クロックＣ６の入力を禁止することである。
【００９６】
基準クロックイネーブル信号ＲＣＥＮがイネーブル（“Ｈ”レベル）の時、遅延クロックＣ６がＲＳフリップフロップ３０２に入力され、ＲＳフリップフロップ３０２の出力（信号Ｓ３０１）は“Ｈ”レベルとなる（動作Ｃ１０２）。
ここで、ＲＳフリップフロップ３０２を使用する目的は、遅延クロックＣ６の元となる動作クロックＣ４は制御回路１００内のＡＮＤ回路１７３で発生されたワンショットパルスであるため“Ｈ”レベルの期間が短くなっている。このため、位相比較を行う際に誤判定を防ぐために“Ｈ”レベルの期間を補うためである。
【００９７】
このＲＳフリップフロップ３０２は基準クロックイネーブル信号ＲＣＥＮが“Ｌ”レベルとなることでリセットされて信号Ｓ３０１は“Ｌ”レベルとなる（動作Ｃ１０３）。
【００９８】
基準クロックＣ５が“Ｌ”レベルの間（基準クロックＣ５の立上りエッジが到達していない）はラッチ回路３０３〜３０６は開放の状態でＲＳフリップフロップ３０２の出力（信号Ｓ３０１）の“Ｈ”レベルが順次伝達される（動作Ｃ１０４）。
【００９９】
基準クロックＣ５が“Ｈ”レベルになると、ラッチ回路３０３〜３０６が閉じられ（ラッチ）、その時点でＲＳフリップフロップ３０２の出力の伝達が止まる（動作Ｃ１０５）。
【０１００】
各ラッチ回路３０３〜３０６の節点Ｎ３０３〜３０６の値（信号Ｓ３０３〜Ｓ３０６）が位相判定回路３０７に入力される（動作Ｃ１０６）。なお、夫々の節点の信号が持つ意味は次のとおりである。「Ｓ３０３＝１」はコース遅延回路４００が１段分以上遅い。「Ｓ３０４＝０」はファイン遅延回路５００が約１段分遅い。「Ｓ３０５＝０」はファイン遅延回路５００が約１段分速い。「Ｓ３０６＝１」はコース遅延回路４００が１段分以上速い。
【０１０１】
位相判定回路３０７は一般的な組み合わせ論理回路で構成されており（図１０参照）、ラッチ回路３０３〜３０６の各出力（信号Ｓ３０３〜Ｓ３０６）、コース遅延回路４００からの信号ＣＯＡＳＥＬ０，ＣＯＡＳＥＬ１５、およびファイン遅延回路からの信号ＦＩＮＥＲＥＧ０，ＥＸＭＩＮＲＥＧとの組み合わせにより、コース遅延回路４００を制御する元となる信号ＣＰＬＵＳＦ，ＣＭＩＮＵＳＦ、およびファイン遅延回路５００を制御する元となる信号ＦＰＬＵＳＦ，ＦＭＩＮＵＳＦ，ＥＸＭＩＮＵＳＦを出力する（動作Ｃ１０７）。
【０１０２】
この位相判定回路（組み合わせ回路）の論理（各出力信号がアクティブ“１”になる条件）を示す。
信号ＣＰＬＵＳＦ（コース遅延回路４００の段数プラス）に関しては次の通りである。基準クロックＣ５が節点Ｎ３０６まで到達し（信号Ｓ３０６＝１）かつ信号ＣＯＡＳＥＬ１５が０（コース遅延回路４００の段数が１５でない）の場合、信号ＦＩＮＥＲＥＧが１で信号ＦＰＬＵＳＦが１となった場合（ファイン遅延回路５００からの桁あげ）である。
信号ＣＭＩＮＵＳＦ（コース遅延回路４００の段数マイナス）に関しては次の通りである。基準クロックＣ５が節点Ｎ３０３まで到達していない（信号Ｓ３０３＝１）かつ信号ＣＯＡＳＥＬ０が０（コース遅延回路４００の段数が０でない）の場合、信号ＦＩＮＥＲＥＧが０で信号ＦＭＩＮＵＳが１となった場合（ファイン遅延回路５００からの桁さげ）である。
【０１０３】
信号ＦＰＵＬＳＦ（ファイン遅延回路５００の段数プラス）に関しては次の通りである。基準クロックＣ５が節点Ｎ３０５まで到達し（信号Ｓ３０５＝０）節点Ｎ３０６まで到達していない（信号Ｓ３０６＝０）場合であって、信号ＦＩＮＥＲＥＧ０が０または信号ＣＯＡＳＥＬ１５が０（桁上げする必要がないか、コース遅延回路の桁上げ可能）、さらに信号ＥＸＭＩＮＲＥＧが０のときである。
信号ＦＭＩＮＵＳＦ（ファイン遅延回路５００の段数マイナス）に関しては次の通りである。基準クロックＣ５が節点Ｎ３０３まで到達し（信号Ｓ３０３＝０）節点Ｎ３０４まで到達していない（信号Ｓ３０４＝０）場合であって、信号ＦＩＮＥＲＥＧ０が１または信号ＣＯＡＳＥＬ０が０のとき（桁下げする必要はないか、コース遅延回路４００の桁下げ可能）である。
信号ＥＸＭＩＮＵＳＦに関しては次の通りである。信号ＣＯＡＳＥＬ０が１かつ信号ＦＩＮＥＲＥＧが０（コース遅延回路およびファイン遅延回路の双方が０段）で基準クロックＣ５が節点Ｎ３０４まで到達していない（信号Ｓ３０４＝０）の場合である。１度信号ＥＸＭＩＮＲＥＧが１になると、節点Ｎ３０５まで到達して（信号Ｓ３０５＝０）節点Ｎ３０６まで到達していない（信号Ｓ３０６＝０）条件が成立するまでその値を保持する。これはファイン遅延回路５００の１段分速いことを表わしている。
【０１０４】
なお、基準クロックＣ５が節点Ｎ３０４まで到達し（信号Ｓ３０４＝１）節点Ｎ３０５まで到達していない（信号Ｓ３０５＝１）場合、上記のいずれも満たさず、ロック状態を表し、基準クロックＣ５と遅延クロックＣ６の位相があっており、位相判定回路３０７は出力を行わない。
【０１０５】
位相判定回路３０７は組み合わせ回路であることから、コース遅延回路４００およびファイン遅延回路５００の制御を行うための最終出力のタイミングを計る必要がある。このため、位相判定回路３０７の出力が後段のラッチ回路３０８〜３１２に入力される（動作Ｃ１０８）。各ラッチ回路３０８〜３１２は基準クロックＣ５に遅延を与えた信号Ｓ３０７が“Ｈ”レベルのときに位相判定回路３０７の出力を取り込む（動作Ｃ１０９）。つまり、基準クロックＣ５の“Ｈ”レベルで位相比較用のラッチ回路３０３〜３０６が閉じられた後にラッチ回路３０８〜３１２は位相判定回路３０７の位相判定結果を取り込む。
【０１０６】
その後、基準クロックＣ５が“Ｌ”レベルになって、遅延が付与された信号Ｓ３０７が“Ｌ”レベルになると、ラッチ回路３０８〜３１２が閉じる（位相判定結果をラッチ）（動作Ｃ１１０）。さらに、ラッチ回路３０８〜３１２の後段にはＡＮＤ回路３１３〜３１７が用意されており、レジスタ制御信号ＣＯＭＰＯＥによって信号ＣＯＡＰＬＵＳ，ＣＯＡＭＩＮＵＳ，ＦＩＮＥＰＬＵＳ，ＦＩＮＥＭＩＮＵＳ，ＥＸＴＲＡＭＩＮＵＳが出力される（動作Ｃ１１１）。
【０１０７】
上記のレジスタ制御回路ＣＯＭＰＯＥはＲＳフリップフロップ３１８によって発生される。このＲＳフリップフロップ３１８の動作は基準クロックＣ５の立下りでセット（ＣＯＭＰＯＥ＝“Ｈ”）、クロックＣ２００でリセット（ＣＯＭＰＯＥ＝Ｌ）である。クロックＣ２００は基準クロックＣ５がコース遅延回路４００を通って遅延が与えられた信号である。但し、ＮＯＲ回路３１９は基準クロックＣ５が“Ｈ”レベルになった時点、つまり、位相比較開始時点でＲＳフリップフロップ３１８をリセットするためのものである。
【０１０８】
＜コース遅延回路＞
次に、コース遅延回路の構成および動作について図１１および図１２を参照しつつ説明する。図１１は図２のコース遅延回路の構成を示す回路図であり、図１２は図１１のコースディレイレジスタ回路の構成を示す回路図である。
【０１０９】
コース遅延回路４００は、上述したように、コースディレイセル４０１とコースレジスタ４０２が対となったコースディレイレジスタ回路４１０がｎ個（本実施の形態では１６個）直列に接続されている。
【０１１０】
「初期化モード」
まず、コース遅延回路４００の初期化モードにおける動作を説明する。
各コースディレイレジスタ回路部４１０に動作クロックＣ４が入力される。まず、ダミー遅延回路２００から入力される動作クロックＣ４は１段目のコースディレイレジスタ回路４１０の端子ＩＮ１に入力され、ＮＡＮＤ回路４５１およびインバータ回路４２１に供給される（動作Ｄ１０１）。ＮＡＮＤ回路４５１の他方の入力は対をなしているコースレジスタ４０２の出力ＳＹＳＥＬで、ＤＬＬ動作開始時にリセットされ、“Ｌ”レベルになっている。したがって、動作クロックＣ４は端子ＯＵＴ２には伝達されない（動作Ｄ１０２）。
【０１１１】
他方、クロックドインバータ４３１は制御回路１００から供給される書き込み信号ＷＴにより制御され、書き込み信号ＷＴが“Ｌ”レベルでイネーブルである。書き込み信号ＷＴは、図３のタイミングチャートなどを参照して上述したように、動作クロックＣＦが出力されてから（動作クロックＣＦ＝“Ｈ”）１クロック後に“Ｌ”レベルから“Ｈ”レベルに変化するので、その間動作クロックＣ４はインバータ回路４２１、トランスファゲート４４１、クロックドインバータ４３１、ＮＡＮＤ回路４５２、インバータ回路４２２、およびトランスファゲート４４２を介して端子ＯＵＴ１に出力される（動作Ｄ１０３）。このパスがコース遅延（１段分）を与えるパスである。
【０１１２】
端子ＯＵＴ１は次段のコースディレイレジスタ回路４１０の端子ＩＮ１に接続されているので、書き込み信号ＷＴが“Ｌ”レベルの間は端子ＯＵＴ２の出力は次段のコースディレイレジスタ回路４１０に順次伝達される（動作Ｄ１０４）。
【０１１３】
動作クロックＣＦが出力されてから１クロック後に書き込み信号ＷＴが“Ｈ”レベルになると（図３参照）、クロックドインバータ４３１が閉じ、クロックドインバータ４３２が開いてその時点での節点Ｐ４０２の値をラッチする（動作Ｄ１０５）。
その時点でのＮＯＲ回路４５６の出力Ｓ４０１は、節点Ｐ４０１および節点Ｐ４０２の双方が“Ｌ”レベルのとき“Ｈ”レベルとなり、それ以外のとき“Ｌ”レベルとなる（動作Ｄ１０６）。
つまり、ＮＯＲ回路４５６の出力Ｓ４０１が“Ｈ”レベルとなる条件は節点Ｐ４０１および節点Ｐ４０２の双方が“Ｌ”レベルのときである。この条件が意味するところは、端子ＩＮ１からの入力である動作クロックＣ４の“Ｈ”レベルが節点Ｐ４０１まで到達し、節点Ｐ４０２まで到達していないことである。
この条件を満たすのはｎ個あるコースディレイレジスタ回路４１０のうち１個だけであることは明らかである。なぜなら、節点Ｐ４０１まで到達しているということはその前のコースディレイレジスタ回路４１０の節点Ｐ４０２まで到達しており、節点Ｐ４０２まで到達してなければその後のコースディレイレジスタ回路４１０の節点Ｐ４０１に到達していることはありえないからである。
動作Ｄ１０６は動作クロックＣＦの出力開始から１クロック間に動作クロックＣ４がコースディレイレジスタ回路４１０の何個目まで到達することができるかを判定していることになる。つまり、初期化モードにおける動作クロックＣ４はダミー遅延回路２００を通っているので、「ダミー遅延＋可変遅延（コース遅延回路４００によるコース遅延のみ）＝１周期」を判定していることと同じである。
【０１１４】
書き込み信号ＷＴが“Ｈ”レベルであるのでクロックドインバータ４３３は開いており、入力ＩＮ５はリセット用信号であってこの時は“Ｌ”であるので、出力（信号Ｓ４０５）の値が節点Ｐ４０５に伝達される（動作Ｄ１０７）。なお、上記条件が成立しているコースディレイレジスタ回路４１０では節点Ｐ４０３の値は“Ｈ”レベルであり、上記条件が成立していないコースディレイレジスタ回路４１０では“Ｌ”レベルである。
【０１１５】
このとき、ロックモード時に位相比較回路３００から出力される信号ＣＯＡＰＬＵＳおよび信号ＣＯＡＭＩＮＵＳが“Ｌ”レベルであり、クロックドインバータ４３４，４３５は閉じている。また、接点Ｐ４０４の値は書き込み信号ＷＴが反転した“Ｌ”レベルとなっているのでクロックドインバータ４３６，４３７は閉じている。さらに、節点Ｐ４０４の値が反転されて“Ｈ”レベルとなってクロックドインバータ４３８が開いており、変化前の節点Ｐ４０５の値を反転した値をラッチする（動作Ｄ１０８）。即ち、書き込み信号ＷＴが“Ｈ”レベルで節点Ｐ４０５の値が変化する（いずれか１つのコースディレイレジスタ回路のみ“Ｈ”）が、端子ＯＵＴ３の出力は変化しない。
【０１１６】
書き込み信号ＷＴが“Ｈ”レベルになった半クロック後に書き込み信号ＷＴは“Ｌ”レベルになる（図３参照）。これにより、クロックドインバータ４３３は閉じ、節点Ｐ４０４の値は“Ｈ”レベルとなるのでクロックドインバータ４３６が開き、接点Ｐ４０５の値がラッチされる（動作Ｄ１０９）。即ち、コースディレイ遅延回路４１０の何れか一つのコースレジスタ４０２に“Ｈ”が書き込まれたことになる。
【０１１７】
同時に、節点Ｐ４０４の値が“Ｈ”レベルとなるのでクロックドインバータ４３７が開き、またそれが反転して“Ｌ”レベルとなるのでクロックドインバータ４３８が閉じて、コースレジスタ４０２に書き込まれた値が端子ＯＵＴ３に出力される（動作Ｄ１１０）。
【０１１８】
書き込み信号ＷＴが“Ｌ”レベルになった直後に制御回路１００から端子ＩＮ２に“Ｌ”レベルのパルスが入力されることになり、ＮＡＮＤ回路４５２およびクロックドインバータ４３２で構成されるラッチがリセットされる（動作Ｄ１１１）。
【０１１９】
「ロックモード（初期クロック出力）」
次に、コース遅延回路のロックモード（初期クロック出力）における動作を説明する。ただし、上述した初期化モードの動作により、コースディレイレジスタ回路４０１のコースレジスタ４０２のいずれか１つのみ“Ｈ”が書き込まれている。
【０１２０】
動作クロックＣ４が１つ目のコースディレイレジスタ回路４１０のコースディレイセル４０１の端子ＩＮ１に入力される。このとき、対のコースレジスタ４０２に“Ｈ”が書き込まれていれば、端子ＯＵＴ３の出力は“Ｈ”であり、端子ＯＵＴ２の出力はＮＡＮＤ回路４５１を介して動作クロックＣ４の反転した値となる（動作Ｄ２０１）。端子ＯＵＴ２からの出力はクロック合成部４１１を介してコース遅延回路４００の出力ＯＵＴＡに到達し、ファイン遅延回路５００へ出力される（動作Ｄ２０２）。端子ＯＵＴＡの値は端子ＯＵＴ２の値の反転論理になるので、動作クロックＣ４に対しては正論理になる。
【０１２１】
他方、節点Ｐ４０６の値は“Ｌ”レベルなので、端子ＩＮ１への入力（動作クロックＣ４）はＮＡＮＤ回路４５２によって禁止され、端子ＯＵＴ１には伝達されない。端子ＯＵＴ１は次段の端子ＩＮ１の入力であるため、動作クロックＣ４は次段に伝達されないことになる。遅延を付与する部分を通さない（動作Ｄ２０３）。
【０１２２】
なお、コースレジスタ４０２に“Ｌ”が書き込まれているコースディレイレジスタ回路４１０では端子ＩＮ１から端子ＯＵＴ１への伝達は行われ、動作クロックＣ４は次段に伝達される。
【０１２３】
例えば、１つ目のコースディレイレジスタ回路４１０のコースレジスタ４１０に“Ｈ”が書き込まれていれば、そのままＮＡＮＤ回路４５１の経路を通過してディレイ素子は一度も通さず、これを０段であると記載し、１６個目のレジスタに“Ｈ”が書き込まれていれば１５段であると記載する。コース遅延回路４００では１６段の遅延値を設定することができる。
【０１２４】
「ロックモード（ロックオン動作）」
さらに、コース遅延回路のロックモード（ロックオン動作）における動作を説明する。
コース遅延回路４００にて、位相比較回路３００から位相比較結果に対応した信号ＣＯＡＰＬＵＳ、信号ＣＯＡＭＩＮＵＳが入力される（動作Ｄ３０１）。信号ＣＯＡＰＬＵＳおよび信号ＣＯＡＭＩＮＵＳは１クロック幅の“Ｈ”レベルのパルスである。
【０１２５】
位相比較回路３００から信号ＣＯＡＰＬＵＳが入力された場合、信号ＣＯＡＰＬＵＳが“Ｈ”レベルでクロックドインバータ４３５が開く。端子ＩＮ３の入力は注目するコースディレイレジスタ回路４１０の１つ前のコースディレイレジスタ回路４１０の端子ＯＵＴ３の出力値（そのコースレジスタ４０２に書き込まれている値）である。したがって、信号ＣＯＡＰＬＵＳが“Ｈ”レベルで、且つ、１つ前のコースディレイレジスタ回路４１０のコースレジスタ４０２に書き込まれている値が“Ｈ”の場合のみ、節点Ｐ４０５の値が“Ｈ”レベルとなる（動作Ｄ３０２）。
【０１２６】
１クロック後信号ＣＯＡＰＬＵＳが“Ｌ”レベルとなると、クロックドインバータ４３６が開き、節点Ｐ４０５の値“Ｈ”をラッチして、コースレジスタ４０２に“Ｈ”が書き込まれる（動作Ｄ３０３）。
【０１２７】
なお、前までコースレジスタ４０２に“Ｈ”が書き込まれていたコースディレイレジスタ回路４１０では次のような処理が行われる。信号ＣＯＡＰＬＵＳが“Ｈ”レベルでクロックドインバータ４３５が開く。その１つ前のコースディレイレジスタ回路４１０のコースレジスタ４０２には“Ｌ”が書き込まれているので、節点Ｐ４０５の値が“Ｌ”レベルとなる。そして、信号ＣＯＡＰＬＵＳが“Ｌ”レベルとなると、クロックドインバータ４３６が開き、節点Ｐ４０５の値“Ｌ”をラッチして、コースレジスタ４０２に“Ｌ”が書き込まれる。
【０１２８】
例えば、５個目のコースディレイレジスタ回路４１０のコースレジスタ４０２に“Ｈ”が書き込まれていれば、信号ＣＯＡＰＬＵＳにより６個目のコースディレイレジスタ回路４１０のコースレジスタ４０２に“Ｈ”が書き込まれ、５個目のコースディレイレジスタ回路４１０のコースレジスタ４０２に“Ｌ”が書き込まれる。これにより、コース遅延回路４１０の段数の設定が４段から５段に１段増加する。なお、その他のコースディレイレジスタ回路４１０のコースレジスタ４０２に書き込まれた値はそのまま（“Ｌ”）である。
【０１２９】
位相比較回路３００から信号ＣＯＡＭＩＮＵＳが入力された場合、信号ＣＯＡＭＩＮＵＳが“Ｈ”レベルでクロックドインバータ４３４が開く。端子ＩＮ４の入力は注目するコースディレイレジスタ回路４１０の１つ後のコースディレイレジスタ回路４１０の端子ＯＵＴの出力値（そのコースレジスタ４０２に書き込まれている値）である。したがって、信号ＣＯＡＭＩＮＵＳが“Ｈ”レベルで、且つ、１つ後のコースディレイレジスタ回路４１０のコースレジスタ４０２に書き込まれている値が“Ｈ”の場合のみ、節点Ｐ４０５の値が“Ｈ”レベルとなる（動作Ｄ３０４）。
【０１３０】
１クロック後信号ＣＯＡＭＩＮＵＳが“Ｌ”レベルとなると、クロックドインバータ４３６が開き、節点Ｐ４０５の値“Ｈ”をラッチして、コースレジスタ４０２に“Ｈ”が書き込まれる（動作Ｄ３０５）。
【０１３１】
なお、前までコースレジスタ４０２に“Ｈ”が書き込まれていたコースディレイレジスタ回路４１０では次のような処理が行われる。信号ＣＯＡＭＩＮＵＳが“Ｈ”レベルでクロックドインバータ４３４が開く。その１つ後のコースディレイレジスタ回路４１０のコースレジスタ４０２には“Ｌ”が書き込まれているので、節点Ｐ４０５の値が“Ｌ”レベルとなる。そして、信号ＣＯＡＭＩＮＵＳが“Ｌ”レベルとなると、クロックドインバータ４３６が開き、節点Ｐ４０５の値“Ｌ”をラッチして、コースレジスタ４０２に“Ｌ”が書き込まれる。
【０１３２】
例えば、５個目のコースディレイレジスタ回路４１０のコースレジスタ４０２に“Ｈ”が書き込まれていれば、信号ＣＯＡＭＩＮＵＳにより４個目のコースディレイレジスタ回路４１０のコースレジスタ４０２に“Ｈ”が書き込まれ、５個目のコースディレイレジスタ回路４１０のコースレジスタ４０２に“Ｌ”が書き込まれる。これにより、コース遅延回路４１０の段数の設定が４段から３段に１段減少する。なお、その他のコースディレイレジスタ回路４１０のコースレジスタ４０２に書き込まれた値はそのまま（“Ｌ”）である。
【０１３３】
信号ＣＯＡＰＬＵＳおよび信号ＣＯＡＭＩＮＵＳの双方が入力されなかった場合にはコース遅延回路４００のコースレジスタ４０２は動作しない。
【０１３４】
各コースディレイレジスタ回路４１０のコースレジスタ４０２は、バースト開始時およびバースト終了時に、端子ＩＮ５にリセット信号が入力されてリセットする（“Ｌ”が書き込まれる。）。
【０１３５】
以上の説明から分かるように、位相比較回路３００での位相の比較結果を反映してコース遅延回路の段数を増減することができる。
【０１３６】
以下、電圧に対する遅延時間の変動を低減するディレイセルの１実施例を図１３に示す。図１１のディレイ素子はインバータ４２１、トランスファゲート４４１、インバータ４２２およびトランスファゲート４４２により構成されている。抵抗ＲＦ０〜ＲＦ３により抵抗分圧されるＢＩＡＳ節点は電源電圧ＶＣＣの変化に依存する。抵抗ＲＦ５〜ＲＦ９とＮチャンネルトランジスタＴＲ１および抵抗ＲＦ４により分圧されるＮＢＩＡＳ節点はトランジスタＴＲ１のゲート電圧であるＢＩＡＳ電圧に対して逆特性を持つように調整される。つまり、電源電圧が高くなるとＢＩＡＳ節点の電圧は高くなり、トランジスタＴＲ１のオン抵抗が減少する。そのため、ＮＢＩＡＳ節点の電圧は低くなる。
【０１３７】
ＮＢＩＡＳ節点の電圧が低くなると、トランスファゲート４４１，４４２のトランスファゲートを構成するＮチャンネルトランジスタのゲート電圧も低くなるため、トランスファゲート４４１，４４２の抵抗値が大きくなり、トランスファゲート全体の遅延が大きくなる。つまり、電源電圧が高くなると、トランスファゲートの遅延値が大きくなり、通常の遅延特性とは逆の特性を持たすことができる。通常のインバータ４２１，４２２は電源電圧が高くなると小さくなるので、インバータ４２１，４２２とトランスファゲート４４１，４４２とを組み合わせることによって、電源電圧が高くなっても遅延値の変動を最小に抑えることができる。また、電源電圧が低くなると、インバータ４２１，４２２の遅延値が大きくなるが、トランスファゲート４４１，４４２の遅延値が小さくなるので、それらを組み合わせることによって、電源電圧が低くなっても遅延値の変動を最小限に抑えることができる。つまり、電源電圧が上下に変動しても遅延値の変動を最小に抑えることができる。
【０１３８】
＜ファイン遅延回路＞
次に、ファイン遅延回路の構成および動作について図１４〜１６を参照しつつ説明する。図１４は図２のファイン遅延回路の構成を示す回路図である。図１５は図１４のファインディレイ回路の構成を示す回路図であり、図１６は図１４のファインレジスタ回路の構成を示す回路図である。
【０１３９】
ファイン遅延回路５００はファインディレイ回路５１０と、ファインレジスタ回路５１１と、フリップフロップで構成されたエキストラマイナスレジスタ回路５１２を有する。ファインレジスタ回路５１１はｎ個用意され、ファインディレイ回路５１０と連動して（ｎ＋１）段階でファイン遅延値を調整する。本実施の形態ではファインレジスタ回路５１１は１個のみ設けられており、ファイン遅延値は２階調で、０段、１段と呼ぶ。なお、コース遅延回路４００のコースレジスタ４０２は全段“Ｌ”が書き込まれている状態が存在しないが、ファインレジスタ回路では全段“Ｌ”が書き込まれることがあるので（ｎ＋１）段となる。
【０１４０】
インバータ５１５，５１６およびＮＡＮＤ回路５１３，５１４で構成される組み合わせ論理回路はコース遅延回路４００のコースレジスタ４０２と連動して桁上げ、桁下げを行うための制御回路である。
【０１４１】
＜桁上げ、桁下げを行わない場合の動作＞
まず、桁上げ、桁下げを行わない場合の動作を説明する。但し、信号ＣＯＡＰＬＵＳ，ＣＯＡＭＩＮＵＳは“Ｌ”レベルになっている。また、信号ＦＩＮＥＰＬＵＳ，ＦＩＮＥＭＩＮＵＳは１クロック幅の“Ｈ”パルスである。
【０１４２】
ファインレジスタ回路５１１はロックモード信号Ｍの“Ｌ”レベル（初期化モード時）でリセットされる（動作Ｅ１０１）。ロックモード時の位相比較回路３００からの信号ＦＩＮＥＰＬＵＳ，ＦＩＮＥＭＩＮＵＳが“Ｌ”レベルなのでクロックドインバータ５３１，５３２は閉じており、クロックドインバータ５３３は開いており、そのときＯＮＡＮＤ回路５２５の出力（信号５０１）は“Ｌ”になるからである。
【０１４３】
その後ロックモードとなり、位相比較回路３００から信号ＦＩＮＥＰＬＵＳの“Ｈ”レベルが入力されると、クロックドインバータ５３２が開く。最下位のファインレジスタのＤＴＭＩＮＵＳはＶＣＣに固定されているため、ＯＮＡＮＤ５２５の出力（信号Ｓ３０１）が“Ｈ”レベルとなる（動作Ｅ１０２）。内部クロックの１クロック後に信号ＦＩＮＥＰＬＵＳが“Ｌ”レベルとなり、クロックドインバータ５３２が閉じ、クロックドインバータ５３３，５３４が開き、最下位のレジスタに“Ｈ”が書き込まれる（動作Ｅ１０３）。
【０１４４】
さらに、信号ＦＩＮＥＰＬＵＳの“Ｈ”レベルが入力されると、最下位のファインレジスタのＤＴＭＩＮＵＳがＶＣＣ固定のため、先に“Ｈ”が書き込まれたファインレジスタとひとつ上のファインレジスタにＨが書き込まれる（動作Ｅ１０４）。
【０１４５】
いずれかの段まで“Ｈ”が書き込まれているときに信号ＦＩＮＥＭＩＮＵＳが入力されると（“Ｈ”レベル）、最上位のファインレジスタのＤＴＰＬＵＳがＶＳＳ固定のため、上位側のレジスタから順に“Ｌ”が書き込まれる（動作Ｅ１０５）。すなわち、信号ＦＩＮＥＭＩＮＵＳの“Ｈ”レベルが入力されるとクロックドインバータ５３１が開き、最上位のＤＴＰＬＵＳがＶＳＳに固定されているので、ＯＮＡＮＤ回路５２５の出力（信号Ｓ５０１）は“Ｌ”レベルとなる。そして、１クロック後に信号ＦＩＮＥＭＩＮＵＳが“Ｌ”レベルとなると、クロックドインバータ５３１が閉じ、クロックドインバータ５３３，５３４が開き、“Ｌ”が書き込まれる。
【０１４６】
＜桁上げ、桁下げの動作＞
さらに、ファイン遅延回路の桁上げ、桁下げ動作について説明する。
最下位のファインレジスタに“Ｌ”が書き込まれているとき（全ファインレジスタに“Ｌ”が書き込まれているとき）、信号ＦＩＮＥＭＩＮＵＳ信号の“Ｈ”レベルが入力されると、信号ＳＹＣＯＡＭＩＮＵＳが“Ｈ”レベルとなる。各ファインレジスタ内部では、ＯＮＡＮＤ回路５２５の出力（信号Ｓ５０１）が“Ｈ”レベルとなる。その後、信号ＦＩＮＥＭＩＮＵＳが“Ｌ”レベルとなり、全ての段のファインレジスタに“Ｈ”が書き込まれる（動作Ｅ２０１）。なお、このときコース遅延回路４００のコースレジスタ４０２には位相比較回路３００から信号ＣＯＡＭＩＮＵＳの“Ｈ”レベルが入力され、段数が１段減る。このように、コース遅延回路４００とファイン遅延回路５００は連動して桁下げを行う。
【０１４７】
最上位のファインレジスタに“Ｈ”が書き込まれているとき（全ファインレジスタに“Ｈ”が書き込まれているとき）、信号ＦＩＮＥＰＬＵＳの“Ｈ”レベルが入力されると、ＳＹＣＯＡＰＬＵＳが“Ｈ”レベルとなる。各ファインレジスタ内部では、ＯＮＡＮＤ回路５２５の出力（信号Ｓ５０１）が“Ｌ”レベルとなる。その後、信号ＦＩＮＥＰＬＵＳが“Ｌ”レベルとなり、全ての段のファインレジスタに“Ｌ”が書き込まれる（動作Ｅ３０１）。なお、このときコース遅延回路４００のコースレジスタ４０２には位相比較回路３００から信号ＣＯＡＰＬＵＳの“Ｈ”レベルが入力され、段数が１段増える。このように、コース遅延回路４００とファイン遅延回路５００は連動して桁上げを行う。
【０１４８】
各ファインレジスタ回路５１１の出力がファインディレイ回路５１０に入力され、並列に接続されたクロックドインバータ５５１，５５２をイネーブルし、ドライブ能力を変化させて、遅延値を増減させる（動作Ｅ４０１）。
エキストラマイナスレジスタ５１２はロックモード信号の“Ｌ”レベル（初期化モード時）でセットさせ、“Ｈ”レベルの信号ＥＸＭＩＮＲＥＧを出力する。信号ＥＸＭＩＮＲＥＧが“Ｈ”レベルのときファインディレイ回路５１０のクロックドインバータ５５３が開き、遅延付与部をバイパスする（動作Ｅ５０１）。その後、位相比較回路３００からの信号ＥＸＴＲＡＭＩＮＵＳの値とＣＯＭＰＯＥの立下り（１クロック幅の“Ｈ”パルス）により、信号ＥＸＭＩＮＲＥＧの値を変える（動作Ｅ５０２）。
【０１４９】
本発明のＤＬＬ回路は電源変動により遅延素子の遅延量が変化するので、電源電圧の変動もしくは電源ノイズ等に注意を要する。
本発明のＤＬＬ回路の配置場所はできるだけ電源ＰＡＤの近くが好ましい。これは、内部での電源変動、電源ノイズに対する影響を避けることと同時に、電源配線抵抗による電圧降下の影響を避けることが目的である。
電源ノイズ等による急激な電源電圧の振れに対しては、ＤＬＬに供給される電源配線を他の回路の電源配線から独立させ、その電源ラインに例えばＣＲで構成されるノイズフィルタ（ローパスフィルタ等）を設けることは有効である。
【０１５０】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の実施の形態に限られるものではなく、特許請求の範囲に記載した限りにおいて様々な設計変更が可能なものである。
【図面の簡単な説明】
【０１５１】
【図１】本発明の実施の形態における半導体メモリの構成例（シンクロナス読み出し系）を示す図。
【図２】図１のＤＬＬ回路の構成の概略を示す構成概略図。
【図３】図２のＤＬＬ回路の動作を説明するためのタイミングチャート。
【図４】図２の制御回路の構成を示す回路図。
【図５】図２の制御回路の構成を示す回路図。
【図６】図４の立下りワンショットパルス回路の構成を示す回路図。
【図７】図２のダミー遅延回路の構成を示す回路図。
【図８】図７の微調整回路の構成を示す図。
【図９】図２の位相比較回路の構成を示す回路図。
【図１０】図９の位相比較回路の１実施例を示す図。
【図１１】図２のコース遅延回路の構成を示す回路図。
【図１２】図１１のコースディレイレジスタ回路の構成を示す回路図。
【図１３】電圧に対する遅延時間の変動を低減するディレイセルの１実施例を示す図。
【図１４】図２のファイン遅延回路の構成を示す回路図。
【図１５】図１４のファインディレイ回路の構成を示す回路図。
【図１６】図１４のファインレジスタ回路の構成を示す回路図。
【図１７】ＤＬＬ回路の必要性を説明するための図。
【図１８】ＤＬＬ回路の従来例を示す図。
【図１９】図１８のＤＬＬ回路の動作を説明するためのタイミングチャート。
【符号の説明】
【０１５２】
１  コマンドデコーダ／コマンドレジスタ、  ２  クロック制御回路、  ３  バーストシンクロナス制御回路、  ６  ＤＬＬ回路、  ７  クロックドライバ
【図１】
2005228427.tif 000003
【図２】
2005228427.tif 000004
【図３】
2005228427.tif 000005
【図４】
2005228427.tif 000006
【図５】
2005228427.tif 000007
【図６】
2005228427.tif 000008
【図７】
2005228427.tif 000009
【図８】
2005228427.tif 000010
【図９】
2005228427.tif 000011
【図１０】
2005228427.tif 000012
【図１１】
2005228427.tif 000013
【図１２】
2005228427.tif 000014
【図１３】
2005228427.tif 000015
【図１４】
2005228427.tif 000016
【図１５】
2005228427.tif 000017
【図１６】
2005228427.tif 000018
【図１７】
2005228427.tif 000019
【図１８】
2005228427.tif 000020
【図１９】
2005228427.tif 000021