説明

半導体装置

【課題】DLL回路がロックしないという現象の発生を防止する。
【解決手段】カウンタ回路202と、カウンタ回路202のカウント値CNTに応じた遅延量を内部クロック信号LCLKに与えるディレイライン201とを有する。まず、カウンタ回路202は第1のカウント値にセットされ、判定信号PDに基づいてそのカウント値CNTが周期的に更新される。その結果、内部クロック信号LCLKの位相が所望の位相に到達しなかった場合、カウンタ回路202は、第1のカウント値とは異なる第2のカウント値にセットされ、DLL回路200がリスタートされる。これにより、DLL回路がロックしなかった場合であっても自動的にリスタートされることから、DLL回路がロックしないという現象が防止される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体装置に関し、特に、DLL回路を備える半導体装置に関する。
【背景技術】
【0002】
同期型のDRAM(Dynamic Random Access Memory)のようにクロック信号に同期した動作を行う半導体装置においては、位相制御された内部クロック信号が必要となることがある。位相制御された内部クロック信号は、主にDLL(Delay Locked Loop)回路によって生成される(特許文献1参照)。DLL回路には、内部クロック信号を遅延させるディレイラインが含まれており、その遅延量はカウンタ回路から出力されるカウント値よって定められる。カウンタ回路による遅延量の調整可能範囲は、内部クロック信号の位相が所望の位相から大きくずれている場合であってもDLL回路を確実にロックできるよう、十分広く設計される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−192164号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ディレイラインの遅延量に十分な調整幅が与えられているにもかかわらず、内部クロック信号が所望の位相に到達しないという現象が生じることがあった。このような現象が発生すると、もはや半導体装置をリセットしない限り位相制御された内部クロック信号を得ることは不可能である。このため、このような現象が生じにくい半導体装置が望まれている。
【課題を解決するための手段】
【0005】
本発明の一側面による半導体装置は、第1の制御信号に対応して其々活性化される位相判定回路及び前記位相判定回路の判定結果に対応してカウント値を変化させるカウンタ回路を備え、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えて前記内部クロックの位相を調整するDLL回路と、前記カウンタ回路のカウント値が最大値又は最小値の少なくともいずれか一方に達したときに第2の制御信号を出力するカウンタ判定回路と、を備え、前記カウンタ回路は前記第1の制御信号を受けたときに第1のカウント値にセットされ、且つ第2の制御信号を受けたときに前記第1のカウント値とは異なる第2のカウント値にセットされることを特徴とする。
【0006】
本発明の他の側面による半導体装置は、第1の内部クロック信号を遅延させることによって第2の内部クロック信号を生成するディレイラインと、前記第2の内部クロック信号に基づいて第3の内部クロック信号を生成するレプリカ回路と、前記第1の内部クロック信号と前記第3の内部クロック信号の位相を比較する位相判定回路と、前記位相判定回路による判定結果に基づいてカウント値が更新されるカウンタ回路と、を備え、前記ディレイラインは、前記カウント値に応じた遅延を前記第1の内部クロック信号に与えることによって前記第2の内部クロック信号を生成し、前記カウンタ回路は、第1の制御信号に応答して第1のカウント値にセットされ、第2の制御信号に応答して前記第1のカウント値とは異なる第2のカウント値にセットされることを特徴とする。
【0007】
本発明のさらに他の側面による半導体装置は、カウンタ回路と、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えるディレイラインとを有し、前記カウンタ回路のカウント値を周期的に更新することによって前記内部クロック信号の位相を所望の位相に制御するDLL回路を備える半導体装置であって、前記カウンタ回路は、外部から所定のコマンドが発行されたことに応答して第1のカウント値にセットされ、前記内部クロック信号の位相が前記所望の位相に到達しなかったことに応答して前記第1のカウント値とは異なる第2のカウント値にセットされることを特徴とする。
【発明の効果】
【0008】
本発明によれば、カウンタ回路の初期値として複数の値が用意されていることから、内部クロック信号が所望の位相に到達しないという現象の発生を減らすことが可能となる。
【図面の簡単な説明】
【0009】
【図1】本発明の好ましい実施形態による半導体装置10の全体構成を示すブロック図である。
【図2】クロック調整部100の構成を示すブロック図である。
【図3】クロック調整部100の動作の概要を説明するためのフローチャートである。
【図4】フル信号FULLが発生することなくDLL回路200がロックするケースを説明するためのタイミング図である。
【図5】フル信号FULLが発生することなくDLL回路200がロックするケースにおいて、カウンタ回路202のカウント値CNTの変化を説明するための図である。
【図6】フル信号FULLが発生するケースを説明するためのタイミング図である。
【図7】フル信号FULLが発生する原因を説明するための図である。
【発明を実施するための形態】
【0010】
本発明の好ましい実施形態について詳細に説明する前に、内部クロック信号が所望の位相に到達しないという現象が生じる理由について説明する。以下は、本発明者の検討により与えられる内容である。
【0011】
DLL回路には、内部クロック信号を遅延させるディレイラインと、ディレイラインの遅延量を制御するカウンタ回路が含まれている。ディレイラインによって遅延される前の内部クロック信号の位相と、ディレイラインによって遅延された後の内部クロック信号の位相との関係は、位相判定回路によって判定される。カウンタ回路は、位相判定回路の判定結果に基づいてアップカウント又はダウンカウントされ、これを繰り返すことにより最終的に内部クロック信号の位相が所望の位相に固定される。つまり、DLL回路がロックされた状態となる。
【0012】
実際の製品においては、内部クロック信号のエッジは各周期において同一タイミングに固定されるものではなく、所謂ジッタ(ゆらぎ)の成分が存在する点が問題となる。つまり、いずれの周期においても内部クロック信号のエッジタイミングが1点に固定されていれば、どの周期で位相判定を行っても、位相比較の結果はH又はLで固定されるが、ジッタがある場合には、本来Hとなるべきところが、ある周期ではLとして出力されてしまうことがある。
【0013】
このような現象が発生すると、カウンタ回路が誤った方向にアップカウント又はダウンカウントされてしまう。そして、場合によっては、誤った方向にアップカウント又はダウンカウントが続けられることでカウント値が最小値又は最大値に達してしまい、それ以上の位相調整が不可能となることがある。内部クロック信号が所望の位相に到達しないという現象は、このような理由によって生じる。
【0014】
本発明は、このような理由によってカウンタ回路が誤った方向にアップカウント又はダウンカウントされ、その結果、内部クロック信号が所望の位相に到達しないという現象が発生しても、自動的にDLL回路をリスタートすることを特徴とするものである。
【0015】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【0016】
図1は、本発明の好ましい実施形態による半導体装置10の全体構成を示すブロック図である。
【0017】
本実施形態による半導体装置10はDRAMであり、メモリセルアレイ11を有している。メモリセルアレイ11は、複数のワード線WLと複数のビット線BLを備え、これらの交点にメモリセルMCが配置された構成を有している。ワード線WLの選択はロウデコーダ12によって行われ、ビット線BLの選択はカラムデコーダ13によって行われる。
【0018】
図1に示すように、半導体装置10には外部端子としてアドレス端子21、コマンド端子22、クロック端子23、データ端子24及び電源端子25が設けられている。
【0019】
アドレス端子21は、外部からアドレス信号ADDが入力される端子である。アドレス端子21に入力されたアドレス信号ADDは、アドレス入力回路31を介してアドレスラッチ回路32に供給され、アドレスラッチ回路32にラッチされる。アドレスラッチ回路32にラッチされたアドレス信号ADDは、ロウデコーダ12、カラムデコーダ13又はモードレジスタ14に供給される。モードレジスタ14は、半導体装置10の動作モードを示すパラメータが設定される回路である。
【0020】
コマンド端子22は、外部からコマンド信号CMDが入力される端子である。コマンド信号CMDは、ロウアドレスストローブ信号/RAS、カラムアドレスストローブ信号/CAS、リセット信号/RESETなどの複数の信号からなる。ここで、信号名の先頭にスラッシュ(/)が付されているのは、対応する信号の反転信号、或いは、当該信号がローアクティブな信号であることを意味する。コマンド端子22に入力されたコマンド信号CMDは、コマンド入力回路33を介してコマンドデコード回路34に供給される。コマンドデコード回路34は、コマンド信号CMDをデコードすることによって各種内部コマンドを生成する回路である。内部コマンドとしては、アクティブ信号IACT、カラム信号ICOL、リフレッシュ信号IREF、モードレジスタセット信号MRS、DLLリセット信号DLLRST1などがある。
【0021】
アクティブ信号IACTは、コマンド信号CMDがロウアクセス(アクティブコマンド)を示している場合に活性化される信号である。アクティブ信号IACTが活性化すると、アドレスラッチ回路32にラッチされたアドレス信号ADDがロウデコーダ12に供給される。これにより、当該アドレス信号ADDにより指定されるワード線WLが選択される。
【0022】
カラム信号ICOLは、コマンド信号CMDがカラムアクセス(リードコマンド又はライトコマンド)を示している場合に活性化される信号である。内部カラム信号ICOLが活性化すると、アドレスラッチ回路32にラッチされたアドレス信号ADDがカラムデコーダ13に供給される。これにより、当該アドレス信号ADDにより指定されるビット線BLが選択される。
【0023】
したがって、アクティブコマンド及びリードコマンドをこの順に入力するとともに、これらに同期してロウアドレス及びカラムアドレスを入力すれば、これらロウアドレス及びカラムアドレスによって指定されるメモリセルMCからリードデータが読み出される。リードデータDQは、FIFO回路15及び入出力回路16を介して、データ端子24から外部に出力される。一方、アクティブコマンド及びライトコマンドをこの順に入力するとともに、これらに同期してロウアドレス及びカラムアドレスを入力し、その後、データ端子24にライトデータDQを入力すれば、ライトデータDQは入出力回路16及びFIFO回路15を介してメモリセルアレイ11に供給され、ロウアドレス及びカラムアドレスによって指定されるメモリセルMCに書き込まれる。FIFO回路15及び入出力回路16の動作は、内部クロック信号LCLKに同期して行われる。内部クロック信号LCLKは、後述するDLL回路200によって生成される。特に、入出力回路16にはリードデータDQを出力する出力回路16aが含まれており、リードデータDQの出力は内部クロック信号LCLKに同期して行われる。
【0024】
リフレッシュ信号IREFは、コマンド信号CMDがリフレッシュコマンドを示している場合に活性化される信号である。リフレッシュ信号IREFが活性化するとリフレッシュ制御回路35によってロウアクセスが行われ、所定のワード線WLが選択される。これにより、選択されたワード線WLに接続された複数のメモリセルMCがリフレッシュされる。ワード線WLの選択は、リフレッシュ制御回路35に含まれる図示しないリフレッシュカウンタによって行われる。
【0025】
モードレジスタセット信号MRSは、コマンド信号CMDがモードレジスタセットコマンドを示している場合に活性化される信号である。したがって、モードレジスタセットコマンドを入力するとともに、これに同期してアドレス端子21からモード信号を入力すれば、モードレジスタ14の設定値を書き換えることができる。
【0026】
クロック端子23は、外部クロック信号CK,/CKが入力される端子である。外部クロック信号CKと外部クロック信号/CKは互いに相補の信号であり、いずれもクロック入力回路36に供給される。クロック入力回路36は、外部クロック信号CK,/CKに基づいて内部クロック信号ICLKを生成する。内部クロック信号ICLKは、半導体装置10の内部における基本クロック信号であり、本発明においては「第1の内部クロック信号」と呼ぶことがある。内部クロック信号ICLKは、タイミングジェネレータ37に供給され、これによって各種内部クロック信号が生成される。タイミングジェネレータ37によって生成される各種内部クロック信号は、アドレスラッチ回路32やコマンドデコード回路34などの回路ブロックに供給され、これら回路ブロックの動作タイミングを規定する。
【0027】
内部クロック信号ICLKは、DLL回路200にも供給される。DLL回路200は、内部クロック信号ICLKに基づいて内部クロック信号LCLKを生成する回路である。内部クロック信号LCLKは位相制御されたクロック信号であり、本発明においては「第2の内部クロック信号」と呼ぶことがある。上述の通り、内部クロック信号LCLKはFIFO回路15及び入出力回路16に供給される。これにより、リードデータDQは内部クロック信号LCLKに同期して出力されることになる。
【0028】
DLL回路200は、コマンドデコード回路34から出力されるDLLリセット信号DLLRST1によってリセットされる。DLLリセット信号DLLRST1は、リセット信号/RESETや、DLLリセットコマンド(DLLRST)に応答して活性化される。リセット信号/RESETは電源投入時などに活性化される信号であり、DLLリセットコマンドはDLL回路200のリセットが必要な際に発行されるコマンドである。したがって、電源投入直後などにおいては、DLLリセット信号DLLRST1によってDLL回路200がリセットされることになる。本発明においては、DLLリセット信号DLLRST1を「第1の制御信号」と呼ぶことがある。
【0029】
さらに、DLL回路200は、カウンタ判定回路300から出力されるDLLリセット信号DLLRST2によってもリセットされる。カウンタ判定回路300は、DLL回路200からフル信号FULLが出力された場合に、DLLリセット信号DLLRST2を活性化させる回路である。本発明においては、DLLリセット信号DLLRST2を「第2の制御信号」と呼ぶことがある。
【0030】
図1に示すように、DLL回路200及びカウンタ判定回路300は、クロック調整部100を構成する。
【0031】
電源端子25は、電源電位VDD,VSSが供給される端子である。電源端子25に供給される電源電位VDD,VSSは内部電源発生回路38に供給される。内部電源発生回路38は、電源電位VDD,VSSに基づいて各種の内部電位VPP,VPERD,VPERIなどを発生させる。内部電位VPPは主にロウデコーダ12において使用される電位であり、内部電位VPERDは主にDLL回路200において使用される電位であり、内部電位VPERIは他の多くの回路ブロックにおいて使用される電位である。
【0032】
図2は、クロック調整部100の構成を示すブロック図である。
【0033】
上述の通り、クロック調整部100はDLL回路200及びカウンタ判定回路300を含む。図2に示すように、DLL回路200は、内部クロック信号ICLKを遅延させることによって内部クロック信号LCLKを生成するディレイライン201を備えている。ディレイライン201は、デコードされたカウント値DECに応じた遅延を内部クロック信号ICLKに与えることによって、内部クロック信号LCLKを生成する回路である。デコードされたカウント値DECは、カウンタ回路202のカウント値CNTをデコーダ203によってデコードした信号である。したがって、カウント値CNTが示す値とデコードされたカウント値DECが示す値は同一である。
【0034】
DLL回路200は、内部クロック信号LCLKに基づいてレプリカである内部クロック信号RCLKを生成するレプリカ回路204をさらに備えている。レプリカ回路204は、入出力回路16に含まれる出力回路16aと同一の特性を有している。上述の通り、出力回路16aは内部クロック信号LCLKに同期してリードデータDQを出力するものであることから、レプリカ回路204から出力される内部クロック信号RCLKは、リードデータDQと正確に同期する。DRAMにおいては、リードデータDQが外部クロック信号CK,/CKに対して正確に同期している必要があり、両者の位相にずれが生じている場合にはこれを検出し、補正する必要がある。かかる検出は、位相判定回路205によって行われ、その結果をカウンタ回路202にフィードバックすることによって位相のずれが補正される。
【0035】
位相判定回路205は、内部クロック信号ICLKと内部クロック信号RCLKの位相を比較し、その結果に基づいて判定信号PDを生成する回路である。ここで、内部クロック信号ICLKは外部クロック信号CK,/CKとタイミングが一致する信号であり、内部クロック信号RCLKはリードデータDQとタイミングが一致する信号であることから、位相判定回路205は、外部クロック信号CK,/CKとリードデータDQの位相を間接的に比較していることになる。比較の結果、内部クロック信号RCLKが内部クロック信号ICLKに対して遅れていれば、判定信号PDを用いてカウンタ回路202をカウントダウンし、これによりディレイライン201の遅延量を減少させる。逆に、内部クロック信号RCLKが内部クロック信号ICLKに対して進んでいれば、判定信号PDを用いてカウンタ回路202をカウントアップし、これによりディレイライン201の遅延量を増加させる。このような動作を周期的に繰り返すことにより、内部クロック信号ICLKと内部クロック信号RCLKの位相を一致させれば、結果的に、リードデータDQと外部クロック信号CK,/CKの位相が一致することになる。本発明においては、レプリカである内部クロック信号RCLKを「第3の内部クロック信号」と呼ぶことがある。
【0036】
さらに、DLL回路200は制御回路206を備えている。制御回路206は、カウンタ回路202、レプリカ回路204及び位相判定回路205の動作を制御する回路であり、イネーブル信号ENに応答して活性化され、リセット信号RSTに応答してリセットされる。イネーブル信号ENはイネーブル論理回路207から出力され、リセット信号RSTはリセット論理回路208から出力される。イネーブル信号ENが活性化している場合、制御回路206は、制御信号DLLCNTによってレプリカ回路204及び位相判定回路205の動作を許可するとともに、カウンタ回路202にモード信号MODEを供給する。モード信号MODEはカウンタ回路202の動作モードを指定するための信号であり、リセット信号RSTが活性化した直後においては第1の動作モードを指定し、その後、判定信号PDに基づいて、第2の動作モード、第3の動作モード、第4の動作モードへと遷移させる。
【0037】
カウンタ回路202の動作モードは、カウント値CNTの変化ピッチに相当する。初期状態である第1の動作モードはカウント値CNTの変化ピッチが最大である。そして、第1の動作モードから第2の動作モードに遷移するとカウント値CNTの変化ピッチは最大ピッチの半分となり、第2の動作モードから第3の動作モードに遷移するとカウント値CNTの変化ピッチはさらに半分となり、第3の動作モードから第4の動作モードに遷移するとカウント値CNTの変化ピッチはさらに半分となる。第4の動作モードはカウント値CNTの変化ピッチが最小である。
【0038】
特に限定されるものではないが、本実施形態ではカウンタ回路202が6ビット構成である。そして、第1の動作モードにおいては下から4ビット目を変化させ、第2の動作モードにおいては下から3ビット目を変化させ、第3の動作モードにおいては下から2ビット目を変化させ、第4の動作モードにおいては最下位ビットを変化させる。これにより、カウント値CNTの変化ピッチを上記のように制御することができる。カウント値CNTの変化ピッチをこのように制御するのは、より短時間でDLL回路200をロックさせるためである。
【0039】
カウンタ回路202のカウント値CNTが全て0(最小値)又は全て1(最大値)となった場合、カウンタ回路202からはフル信号FULLが出力される。フル信号FULLはカウンタ判定回路300に供給され、カウンタ判定回路300はフル信号FULLに応答してDLLリセット信号DLLRST2を活性化させる。カウント値CNTが最小値となった場合、ディレイライン201の遅延量をこれ以上減少させることは不可能であり、逆に、カウント値CNTが最大値となった場合、ディレイライン201の遅延量をこれ以上増加させることは不可能である。したがって、DLLリセット信号DLLRST2の活性化は、DLL回路200による内部クロック信号LCLKの位相制御が不能となったことを意味する。
【0040】
図2に示すように、イネーブル論理回路207及びリセット論理回路208には、DLLリセット信号DLLRST0が供給される。DLLリセット信号DLLRST0は、DLLリセット信号DLLRST1及びDLLリセット信号DLLRST2を受けるORゲート回路209から出力される信号である。したがって、DLLリセット信号DLLRST1及びDLLリセット信号DLLRST2のいずれが活性化した場合であっても、制御回路206は同じようにリセットされ、その後イネーブル状態となる。
【0041】
さらに、DLL回路200にはラッチ回路210が設けられている。ラッチ回路210は、DLLリセット信号DLLRST1によってリセットされ、その出力OUTを第1の論理レベル(例えばローレベル)とする。一方、ラッチ回路210は、DLLリセット信号DLLRST2が活性化すると、その出力OUTを第2の論理レベル(例えばハイレベル)とする。ラッチ回路210の出力OUTは、セレクタ211に供給される。
【0042】
セレクタ211は、リセット論理回路208の出力Rに応答してリセット信号/Reset1又は/Reset2を活性化させ、これによってカウンタ回路202のカウント値CNTを初期値にセットするための回路である。本実施形態では、カウント値CNTの初期値が2種類用意されており、出力OUTが第1の論理レベルであれば、セレクタ211はリセット信号/Reset1を活性化させ、これによりカウンタ回路202のカウント値CNTは初期値として第1のカウント値にセットされる。これに対し、出力OUTが第2の論理レベルであれば、セレクタ211はリセット信号/Reset2を活性化させ、これによりカウンタ回路202のカウント値CNTは初期値として第2のカウント値にセットされる。
【0043】
これら第1及び第2のカウント値は互いに異なる値であり、両者の差は上述した最大ピッチ以上であることが好ましい。一例として、第1のカウント値は2進数で「010000」であり、第2のカウント値は2進数で「100000」である。本例では、両者の差は最大ピッチの2倍である。両者の差を最大ピッチ以上とすることが好ましい理由は、DLLリセット信号DLLRST1に応答してDLL回路200がリセットされた場合と、DLLリセット信号DLLRST2に応答してDLL回路200がリセットされた場合とで、位相比較の開始条件を十分に異ならせるためである。
【0044】
かかる構成により、DLLリセット信号DLLRST1が活性化した場合には、DLL回路200の全体がリセットされるとともに、カウンタ回路202のカウント値CNTが第1のカウント値にセットされる一方、DLLリセット信号DLLRST2が活性化した場合には、DLL回路200の全体がリセットされるとともに、カウンタ回路202のカウント値CNTが第2のカウント値にセットされることになる。
【0045】
図3は、クロック調整部100の動作の概要を説明するためのフローチャートである。
【0046】
まず、DLLリセット信号DLLRST1が活性化すると(ステップS1)、DLL回路200がリセットされ、カウンタ回路202のカウント値CNTが第1のカウント値にセットされる(ステップS2)。その後、制御回路206によってレプリカ回路204及び位相判定回路205の動作が許可されるため、位相比較動作(ステップS3)及びこれに基づくカウンタ回路202のアップカウント又はダウンカウント(ステップS4)が行われる。ステップS3,S4は繰り返し実行され(ステップS5:NO)、これによりDLL回路200がロックする。ロックとは、内部クロック信号ICLKと内部クロック信号RCLKの位相が一致した状態を指す。
【0047】
しかしながら、ステップS3,S4を繰り返し実行した結果、フル信号FULLが発生した場合(ステップS5:YES)、カウンタ判定回路300によってDLLリセット信号DLLRST2が活性化される(ステップS6)。これによりDLL回路200が再びリセットされ、カウンタ回路202のカウント値CNTが第2のカウント値にセットされる(ステップS7)。その後は、ステップS3,S4の動作を繰り返えされ、最終的にDLL回路200がロックする。
【0048】
図4は、フル信号FULLが発生することなくDLL回路200がロックするケースを説明するためのタイミング図である。
【0049】
図4に示す例では、外部からDLLリセットコマンドDLLRSTが発行され、これに応答してDLLリセット信号DLLRST1が活性化されている。これによりセレクタ211からはリセット信号/Reset1が出力され、カウンタ回路202のカウント値CNTは第1のカウント値にセットされる。その後は、図3に示したステップS3,S4が繰り返し実行され、DLL回路200がロックする。
【0050】
図5は、フル信号FULLが発生することなくDLL回路200がロックするケースにおいて、カウンタ回路202のカウント値CNTの変化を説明するための図である。図5に示すカウント値CNTの値は、その上部に記載した内部クロック信号RCLKの立ち上がりエッジの位置に対応している。したがって、カウント値CNTの目標値は、「100011」である。
【0051】
まず、時刻t11においてリセット信号/Reset1が活性化すると、カウンタ回路202のカウント値CNTは、第1のカウント値である「010000」にセットされる。図5に示す例では、カウント値CNTが「010000」である場合、内部クロック信号RCLKの位相が内部クロック信号ICLKの位相よりも進んでいる。このため、カウント値CNTを増加させる必要がある。時刻t11はDLL回路200がリセットされた直後であることから、DLL回路200は第1の動作モードで動作している。このため、時刻t12においては、カウント値CNTが第1の動作モードにおける1ピッチだけ増加され、「011000」となる。
【0052】
このような動作を繰り返すことにより、時刻t13におけるカウント値CNTは「100000」に増加され、時刻t14におけるカウント値CNTは「101000」に増加される。
【0053】
カウント値CNTが「101000」に変化すると、内部クロック信号RCLKの立ち上がりエッジの位置が、内部クロック信号ICLKの立ち上がりエッジの位置を超える。つまり、内部クロック信号RCLKの位相が内部クロック信号ICLKの位相よりも遅れた状態となる。これにより位相判定回路205から出力される判定信号PDの値が変化し、今度はカウント値CNTを減少させる方向に制御される。
【0054】
さらに、判定信号PDの変化に伴い、DLL回路200の動作モードが第1の動作モードから第2の動作モードに遷移する。上述の通り、第2の動作モードにおいてはカウンタ回路202の下から3ビット目が制御される。したがって、時刻t15においては、カウント値CNTが第2の動作モードにおける1ピッチだけ減少され、「100100」となる。このような動作を繰り返すことにより、時刻t16におけるカウント値CNTは「100000」に減少される。
【0055】
カウント値CNTが「100000」に変化すると、内部クロック信号RCLKの立ち上がりエッジの位置が、内部クロック信号ICLKの立ち上がりエッジの位置を再び超える。つまり、内部クロック信号RCLKの位相が内部クロック信号ICLKの位相よりも再び進んだ状態となる。これにより位相判定回路205から出力される判定信号PDの値が変化し、今度はカウント値CNTを増加させる方向に制御される。
【0056】
さらに、判定信号PDの変化に伴い、DLL回路200の動作モードが第2の動作モードから第3の動作モードに遷移する。上述の通り、第3の動作モードにおいてはカウンタ回路202の下から2ビット目が制御される。したがって、時刻t17においては、カウント値CNTが第3の動作モードにおける1ピッチだけ増加され、「100010」となる。このような動作を繰り返すことにより、時刻t18におけるカウント値CNTは「100100」に増加される。
【0057】
カウント値CNTが「100100」に変化すると、内部クロック信号RCLKの立ち上がりエッジの位置が、内部クロック信号ICLKの立ち上がりエッジの位置を再び超える。つまり、内部クロック信号RCLKの位相が内部クロック信号ICLKの位相よりも再び遅れた状態となる。これにより位相判定回路205から出力される判定信号PDの値が変化し、今度はカウント値CNTを減少させる方向に制御される。
【0058】
さらに、判定信号PDの変化に伴い、DLL回路200の動作モードが第3の動作モードから第4の動作モードに遷移する。上述の通り、第4の動作モードにおいてはカウンタ回路202の最下位ビットが制御される。したがって、時刻t97においては、カウント値CNTが第4の動作モードにおける1ピッチだけ減少され、「100011」となる。この値はカウント値CNTの目標値であり、内部クロック信号ICLKと内部クロック信号RCLKの位相が一致した状態となる。つまり、DLL回路200がロックされた状態となる。
【0059】
図4及び図5を用いて説明した動作はフル信号FULLが発生しなかった例であり、望ましい動作状態である。しかしながら、常にこのような望ましい動作状態が得られるとは限らず、実際には内部クロック信号ICLKに含まれるジッタ成分の影響によって、カウンタ回路202のカウント値CNTが誤った方向に制御されることがある。
【0060】
図6は、フル信号FULLが発生するケースを説明するためのタイミング図である。
【0061】
図6に示す例では、DLLリセットコマンドDLLRSTに応答して、カウンタ回路202のカウント値CNTが第1のカウント値にセットされたものの、その後、図3に示したステップS3,S4を繰り返し実行してもDLL回路200がロック状態に至らず、フル信号FULLが発生している。
【0062】
フル信号FULLが発生すると、カウンタ判定回路300によってDLLリセット信号DLLRST2が活性化される。これによりセレクタ211からはリセット信号/Reset2が出力され、カウンタ回路202のカウント値CNTは第2のカウント値にセットされる。その後は、図3に示したステップS3,S4が繰り返し実行され、DLL回路200がロックする。
【0063】
図7は、フル信号FULLが発生する原因を説明するための図である。本図は図5に対応しており、図7に示すカウント値CNTの値は、その上部に記載した内部クロック信号RCLKの立ち上がりエッジの位置に対応している。
【0064】
図7においては、内部クロック信号ICLKにジッタ成分が重畳しており、このため、周期によってエッジのタイミングが僅かにずれている。図7に示す例では、エッジの位置がタイミングAからタイミングBまでの範囲で揺らいでいる。そして、カウンタ回路202が第1のカウント値にセットされた直後において、レプリカである内部クロック信号RCLKのエッジが偶然にもこのような揺らぎの範囲に位置すると、位相判定回路205による判定結果が信頼できない値となってしまう。
【0065】
図7に示す例では、時刻t21において内部クロック信号RCLKの位相が内部クロック信号ICLKの位相よりもかなり進んでいるにも関わらず、ジッタ成分の影響により、時刻t22〜t24において逆に遅れていると判定されている。その結果、時刻t21にて「010000」にセットされたカウント値CNTは、時刻t22〜t28において「011000」、「010100」、「010000」、「001100」、「001000」、「000100」、「0000000」へと変化し、最小値に達してしまう。この状態においてもなお、位相判定回路205は内部クロック信号RCLKの位相が遅れていると判定し続けるため、カウント値CNTをより減少させようとするが、最小値に達してしまったため、これ以上の制御は不可能である。
【0066】
一般的な半導体装置であれば、このような現象が発生するとDLL回路200がロックしない状態となり、システムエラーとなる。しかしながら、本実施形態による半導体装置10では、このような現象が発生すると、カウンタ判定回路300によってDLLリセット信号DLLRST2が活性化されるため、DLL回路200が自動的にリスタートされる。これによりシステムエラーが回避される。しかも、時刻t29に示すように、DLLリセット信号DLLRST2が活性化されると、カウンタ回路202はDLLリセット信号DLLRST1が活性化された場合とは異なるカウント値CNTにセットされるため、リスタートしても同じ現象を繰り返すという危険性が大幅に解消される。したがって、DLLリセット信号DLLRST1に応答したDLL回路200のロックに失敗したとしても、DLLリセット信号DLLRST2に応答したDLL回路200のロックに成功する確率は高くなる。
【0067】
DLLリセット信号DLLRST2に応答したDLL回路200のロックをより高確率で成功させるためには、第1及び第2のカウント値の差を第1の動作モードにおける調整ピッチ以上に設定することが好ましく、本実施形態のように第1の動作モードにおける調整ピッチの2倍程度に設定することがより好ましい。
【0068】
以上説明したように、本実施形態による半導体装置10は、DLL回路200がロックしない状態に陥っても、DLL回路200が自動的にリスタートされることから、システムエラーの発生を防止することができる。しかも、リスタート後は、前回と異なるカウント値CNTからスタートするため、再度同じ現象が発生する確率は少なくなる。
【0069】
以上、本発明の好ましい実施形態について説明したが、本発明は、上記の実施形態に限定されることなく、本発明の主旨を逸脱しない範囲で種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることはいうまでもない。
【0070】
例えば、上記実施形態では、カウンタ回路202のカウント値CNTとして2種類の初期値が用意されているが、3種類以上の初期値を用意しておくことも可能である。一例として、DLLリセットコマンドが発行された場合には第1のカウント値を初期値として用い、これによるDLL回路のロックが失敗した場合には第2のカウント値を新たに初期値として用い、さらにDLL回路200のロックが失敗した場合には第3のカウント値を新たに初期値として用いるといった3段階の制御を行うことも可能である。また、カウンタ回路202の初期値が固定値であることも必須でなく、例えばランダムな値であっても構わない。
【0071】
さらに、上記実施形態では、カウンタ回路202のカウント値CNTが最小値又は最大値を示したことに応答してDLLリセット信号DLLRST2を活性化させているが、DLLリセット信号DLLRST2を活性化させる条件がこれに限定されるものではない。したがって、例えばカウンタ回路202のカウント値CNTが最小値又は最大値とは異なる所定の値を示した場合にDLLリセット信号DLLRST2を活性化させても構わない。所定の値としては、最小値又は最大値の近傍の値を好ましく例示することができる。これは、最小値又は最大値の近傍のカウント値CNTでDLL回路200がロックした場合、条件変動によってカウント値CNTがロック中に最小値又は最大値に到達するおそれがあるからである。或いは、カウンタ回路202のカウント値CNTを参照するのではなく、一定時間が経過してもDLL回路200がロックしない場合、DLLリセット信号DLLRST2を活性化させることも可能である。
【符号の説明】
【0072】
10 半導体装置
11 メモリセルアレイ
12 ロウデコーダ
13 カラムデコーダ
14 モードレジスタ
15 FIFO回路
16 入出力回路
16a 出力回路
21 アドレス端子
22 コマンド端子
23 クロック端子
24 データ端子
25 電源端子
31 アドレス入力回路
32 アドレスラッチ回路
33 コマンド入力回路
34 コマンドデコード回路
35 リフレッシュ制御回路
36 クロック入力回路
37 タイミングジェネレータ
38 内部電源発生回路
100 クロック調整部
200 DLL回路
201 ディレイライン
202 カウンタ回路
203 デコーダ
204 レプリカ回路
205 位相判定回路
206 制御回路
207 イネーブル論理回路
208 リセット論理回路
209 ORゲート回路
210 ラッチ回路
211 セレクタ
300 カウンタ判定回路
CNT カウント値
DLLRST1 リセット信号(第1の制御信号)
DLLRST2 リセット信号(第2の制御信号)
FULL フル信号
PD 判定信号
ICLK 内部クロック信号(第1の内部クロック信号)
LCLK 内部クロック信号(第2の内部クロック信号)
RCLK 内部クロック信号(第3の内部クロック信号)

【特許請求の範囲】
【請求項1】
第1の制御信号に対応して其々活性化される位相判定回路及び前記位相判定回路の判定結果に対応してカウント値を変化させるカウンタ回路を備え、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えて前記内部クロックの位相を調整するDLL回路と、
前記カウンタ回路のカウント値が最大値又は最小値の少なくともいずれか一方に達したときに第2の制御信号を出力するカウンタ判定回路と、を備え、
前記カウンタ回路は前記第1の制御信号を受けたときに第1のカウント値にセットされ、且つ第2の制御信号を受けたときに前記第1のカウント値とは異なる第2のカウント値にセットされることを特徴とする半導体装置。
【請求項2】
前記第1の制御信号は、外部から所定のコマンドが発行されたことに応答して活性化されることを特徴とする請求項1に記載の半導体装置。
【請求項3】
前記DLL回路は、前記カウント値の変化ピッチを制御する制御回路をさらに備え、
前記制御回路は、前記第1又は第2の制御信号の活性化に応答して前記カウント値の変化ピッチを最大ピッチに設定することを特徴とする請求項1又は2に記載の半導体装置。
【請求項4】
前記制御回路は、前記位相判定回路の判定結果に基づいて前記カウント値の変化ピッチを縮小することを特徴とする請求項3に記載の半導体装置。
【請求項5】
前記第1のカウント値と前記第2のカウント値との差は、前記最大ピッチ以上であることを特徴とする請求項3又は4に記載の半導体装置。
【請求項6】
第1の内部クロック信号を遅延させることによって第2の内部クロック信号を生成するディレイラインと、
前記第2の内部クロック信号に基づいて第3の内部クロック信号を生成するレプリカ回路と、
前記第1の内部クロック信号と前記第3の内部クロック信号の位相を比較する位相判定回路と、
前記位相判定回路による判定結果に基づいてカウント値が更新されるカウンタ回路と、を備え、
前記ディレイラインは、前記カウント値に応じた遅延を前記第1の内部クロック信号に与えることによって前記第2の内部クロック信号を生成し、
前記カウンタ回路は、第1の制御信号に応答して第1のカウント値にセットされ、第2の制御信号に応答して前記第1のカウント値とは異なる第2のカウント値にセットされることを特徴とする半導体装置。
【請求項7】
前記第1の制御信号は、外部から所定のコマンドが発行されたことに応答して活性化されることを特徴とする請求項6に記載の半導体装置。
【請求項8】
前記第2の制御信号は、前記カウント値が所定の値を示したことに応答して活性化されることを特徴とする請求項6又は7に記載の半導体装置。
【請求項9】
前記所定の値は、前記カウント値の最大値又は最小値の少なくとも一方であることを特徴とする請求項8に記載の半導体装置。
【請求項10】
前記第2の内部クロック信号に同期してデータを外部に出力する出力回路をさらに備え、前記レプリカ回路は前記出力回路と同一の特性を有していることを特徴とする請求項6乃至9のいずれか一項に記載の半導体装置。
【請求項11】
カウンタ回路と、前記カウンタ回路のカウント値に応じた遅延量を内部クロック信号に与えるディレイラインとを有し、前記カウンタ回路のカウント値を周期的に更新することによって前記内部クロック信号の位相を所望の位相に制御するDLL回路を備える半導体装置であって、
前記カウンタ回路は、外部から所定のコマンドが発行されたことに応答して第1のカウント値にセットされ、前記内部クロック信号の位相が前記所望の位相に到達しなかったことに応答して前記第1のカウント値とは異なる第2のカウント値にセットされることを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−5132(P2013−5132A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−132834(P2011−132834)
【出願日】平成23年6月15日(2011.6.15)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】