IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 華邦電子股▲ふん▼有限公司の特許一覧

特許7369829制御回路、半導体記憶装置及び半導体記憶装置の制御方法。
<>
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図1
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図2
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図3
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図4
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図5
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図6
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図7
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図8
  • 特許-制御回路、半導体記憶装置及び半導体記憶装置の制御方法。 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-10-18
(45)【発行日】2023-10-26
(54)【発明の名称】制御回路、半導体記憶装置及び半導体記憶装置の制御方法。
(51)【国際特許分類】
   H03L 7/081 20060101AFI20231019BHJP
   H03L 7/095 20060101ALI20231019BHJP
   G11C 11/4076 20060101ALI20231019BHJP
【FI】
H03L7/081
H03L7/095
G11C11/4076
【請求項の数】 15
(21)【出願番号】P 2022108875
(22)【出願日】2022-07-06
【審査請求日】2022-07-06
(73)【特許権者】
【識別番号】512167426
【氏名又は名称】華邦電子股▲ふん▼有限公司
【氏名又は名称原語表記】Winbond Electronics Corp.
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】奥野 晋也
【審査官】志津木 康
(56)【参考文献】
【文献】特開2005-228427(JP,A)
【文献】特開2000-244309(JP,A)
【文献】国際公開第2014/119558(WO,A1)
【文献】米国特許出願公開第2022/0077861(US,A1)
【文献】米国特許出願公開第2017/0288683(US,A1)
【文献】米国特許出願公開第2006/0202726(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G11C11/401-11/56
H03L1/00-9/00
(57)【特許請求の範囲】
【請求項1】
入力クロック信号と出力クロック信号との位相差から、遅延量を設定する制御部と、
前記遅延量が設定される毎に、前記遅延量に基づいて前記入力クロック信号を遅延させて前記出力クロック信号を生成する、遅延動作を行う遅延ライン部と、
前記遅延動作によって前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出する検出動作を行う検出部と、を備えた制御回路であって、
前記検出部は、前記遅延動作が行われる前に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をプレ遅延クロックサイクル数として検出するプレ検出動作を行い、
前記制御部は、前記プレ遅延クロックサイクル数が所定値以下である場合に、前記遅延動作における前記遅延量の変化率が、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記遅延動作における前記遅延量の変化率よりも高くなるように、前記遅延量を設定することを特徴とする制御回路。
【請求項2】
前記制御部は、前記プレ遅延クロックサイクル数が所定値以下である場合に、前記遅延動作における前記遅延量の増加率が、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記遅延動作における前記遅延量の増加率よりも高くなるように、前記遅延量を設定することを特徴とする請求項1に記載の制御回路。
【請求項3】
前記制御部は、複数の値の各々を前記所定値として設定し、
前記変化率は、前記複数の値の各々に対応して設定されることを特徴とする請求項1に記載の制御回路。
【請求項4】
前記変化率は、前記複数の値のうち対応する値が小さいほど高くなるように設定されていることを特徴とする請求項3に記載の制御回路。
【請求項5】
前記検出部は、前記プレ遅延クロックサイクル数が前記所定値以下である場合に、前記遅延動作後の前記遅延クロックサイクル数の検出動作を行わないことを特徴とする請求項1に記載の制御回路。
【請求項6】
前記検出部は、前記プレ検出動作において検出された前記プレ遅延クロックサイクル数、又は、前記プレ遅延クロックサイクル数を1クロック分増加させた値を前記遅延クロックサイクル数として検出することを特徴とする請求項1に記載の制御回路。
【請求項7】
前記検出部は、前記プレ検出動作において検出された前記プレ遅延クロックサイクル数、又は、前記プレ遅延クロックサイクル数を1クロック分増加させた値を前記プレ遅延クロックサイクル数として検出することを特徴とする請求項1に記載の制御回路。
【請求項8】
前記制御部は、前記プレ遅延クロックサイクル数が前記所定値以下である場合に、前記遅延ライン部の1つ以上の遅延線のうち活性化させる遅延線の割合を、前記プレ遅延クロックサイクル数が前記所定値より大きい場合に活性化させる遅延線の割合よりも高くすることによって、前記変化率が高くなるように設定することを特徴とする請求項1に記載の制御回路。
【請求項9】
前記プレ遅延クロックサイクル数が前記所定値以下の場合の前記変化率は、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記変化率の少なくとも2倍であることを特徴とする請求項1に記載の制御回路。
【請求項10】
前記制御部は、前記プレ遅延クロックサイクル数が前記所定値以下の場合の前記変化率を、前記遅延動作中に変更することを特徴とする請求項1に記載の制御回路。
【請求項11】
前記検出部は、前記遅延クロックサイクル数をレイテンシーカウンタに送信することを特徴とする請求項1に記載の制御回路。
【請求項12】
前記検出部は、
前記検出動作又は前記プレ検出動作が行われる場合に、前記入力クロック信号に対応する信号を生成する信号生成部と、
前記入力クロック信号に対応する信号が入力されてから、前記出力クロック信号に対応する信号が入力されるまでの間の遅延クロックサイクル数のカウント用信号のクロックサイクル数を、前記遅延クロックサイクル数又は前記プレ遅延クロックサイクル数としてカウントするカウント部と、を備えることを特徴とする請求項1に記載の制御回路。
【請求項13】
前記信号生成部は、
前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号が入力される第1ワンショット回路と、
前記プレ検出動作又は前記検出動作を開始するための信号が入力される第2ワンショット回路と、
前記プレ検出動作又は前記検出動作を終了するための信号が入力される第3ワンショット回路と、
前記第1ワンショット回路の出力と、前記第2ワンショット回路の出力と、が入力されるNOR回路と、
前記第3ワンショット回路の出力と、前記NOR回路の出力と、が入力されるフリップフロップ回路と、
前記フリップフロップ回路の出力と、前記入力クロック信号と、が入力される第1ラッチ回路と、
前記入力クロック信号と、前記第1ラッチ回路の出力と、が入力される第1AND回路であって、前記入力クロック信号に対応する信号を出力する第1AND回路と、を備えることを特徴とする請求項12に記載の制御回路。
【請求項14】
前記カウント部は、
前記プレ検出動作又は前記検出動作を可能にするための信号と、前記入力クロック信号に対応する信号と、が入力される第2ラッチ回路と、
前記プレ検出動作又は前記検出動作を可能にするための信号と、前記出力クロック信号に対応する信号と、が入力される第3ラッチ回路と、
前記第2ラッチ回路の出力と、前記第3ラッチ回路の出力と、が入力される第2AND回路と、
前記第2AND回路の出力と、前記入力クロック信号に対応する信号と、が入力される第4ラッチ回路と、
前記入力クロック信号と、前記第4ラッチ回路の出力と、が入力される第3AND回路と、
前記第3AND回路から出力された信号のパルスをカウントするカウンタであって、カウントした値を前記遅延クロックサイクル数又は前記プレ遅延クロックサイクル数として出力するカウンタと、を備えることを特徴とする請求項12に記載の制御回路。
【請求項15】
半導体記憶装置に設けられた制御部が、入力クロック信号と出力クロック信号との位相差から、遅延量を設定するステップと、
前記半導体記憶装置に設けられた遅延ライン部が、前記遅延量が設定される毎に、前記遅延量に基づいて前記入力クロック信号を遅延させて前記出力クロック信号を生成する、遅延動作を行うステップと、
前記半導体記憶装置に設けられた検出部が、前記遅延動作によって前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出する検出動作を行うステップと、
前記検出部が、前記遅延動作が行われる前に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をプレ遅延クロックサイクル数として検出するプレ検出動作を行うステップと、
前記制御部が、前記プレ遅延クロックサイクル数が所定値以下である場合に、前記遅延動作における前記遅延量の変化率が、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記遅延動作における前記遅延量の変化率よりも高くなるように、前記遅延量を設定するステップと、を含むことを特徴とする半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御回路、半導体記憶装置及び半導体記憶装置の制御方法に関する。
【背景技術】
【0002】
半導体記憶装置の一種であるDRAM(Dynamic Random Access Memory)は、キャパシタ(コンデンサ)に電荷を蓄えることによって情報を記憶し、電源が供給されなくなると、記憶された情報が失われる揮発性メモリである。DRAMには、位相同期回路として遅延ロックループ(DLL:Delay locked Loop)回路が設けられている。DRAMは、DLL回路を用いて、データ信号を出力するための内部クロック信号を、外部から入力された入力クロック信号に同期させて生成している(例えば特許文献1参照)
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-35241号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、DLL回路を用いて内部クロック信号の遅延の調整を行う場合、例えば、DLL回路のリセット動作と、DLL回路の遅延(ロック)動作(例えば、遅延線を1本ずつ活性化させながら外部クロックと内部クロックとを同期させる動作)と、入力クロック信号と内部クロック信号との間の遅延クロックサイクル数を示すN値の検出動作と、を含むシーケンスが実行される。
【0005】
ここで、DLL回路の遅延動作によるロック時間Tdllは、下記の式で表すことができる。
【0006】
Tint+Tdll=N×tCK
【0007】
上記式において、TintはDLL回路における固有遅延時間を示し、tCKがクロックサイクルを示す。例えば半導体記憶装置内の温度等によってクロックサイクル(tCK)が固有遅延時間(Tint)よりも長くなる場合、上記の式で示すようにDLL回路の遅延動作によるロック時間(Tdll)も長期化してしまう。このようにロック時間が長期化すると、上記のシーケンス全体の実行時間が長くなってしまい、次のシーケンスの実行が遅延する虞や、事前に定められたシーケンスの実行期間(tDLLK)を超える虞がある。
【0008】
本発明は上記課題に鑑みてなされたものであり、遅延動作の長期化を抑制し、DLL回路を用いて内部クロック信号の遅延の調整を行うシーケンスを所定の実行期間内に完了することができる制御回路、半導体記憶装置及び半導体記憶装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するために、第一に本発明は、入力クロック信号と出力クロック信号との位相差から、遅延量を設定する制御部と、前記遅延量が設定される毎に、前記遅延量に基づいて前記入力クロック信号を遅延させて前記出力クロック信号を生成する、遅延動作を行う遅延ライン部と、前記遅延動作によって前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出する検出動作を行う検出部と、を備えた制御回路であって、前記検出部は、前記遅延動作が行われる前に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をプレ遅延クロックサイクル数として検出するプレ検出動作を行い、前記制御部は、前記プレ遅延クロックサイクル数が所定値以下である場合に、前記遅延動作における前記遅延量の変化率が、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記遅延動作における前記遅延量の変化率よりも高くなるように、前記遅延量を設定することを特徴とする制御回路を提供する(発明1)。
【0010】
かかる発明(発明1)では、遅延動作を行う前に、検出部が、遅延動作が長期化する可能性があるかどうかを示すプレ遅延クロックサイクル数を検出する。そして、プレ遅延クロックサイクルが所定値以下である場合には、遅延動作が長期化するものと予測されるので、制御部が、前記遅延量の変化率が高くなるように前記遅延量を設定することによって、遅延動作を早期に終了させることができる。このようにして遅延動作の長期化を抑制することによって、シーケンス全体の実行期間の長期化を抑制することが可能になるので、シーケンスを所定の実行期間内に完了させることができる。
【0011】
上記発明(発明1)において、前記制御部は、前記プレ遅延クロックサイクル数が所定値以下である場合に、前記遅延動作における前記遅延量の増加率が、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記遅延動作における前記遅延量の増加率よりも高くなるように、前記遅延量を設定してもよい(発明2)。かかる発明(発明2)によれば、プレ遅延クロックサイクル数が所定値以下である場合には、遅延量の増加率が高くなるので、遅延動作をより早期に終了させることができる。
【0012】
上記発明(発明1~2)において、前記制御部は、複数の値の各々を前記所定値として設定し、前記変化率は、前記複数の値の各々に対応して設定されてもよい(発明3)。かかる発明(発明3)によれば、所定の値として設定された複数の値毎に変化率が設定されている(つまり、複数の変化率が設定されている)ので、複数の変化率のうちプレ遅延クロックサイクル数に応じて選択された変化率を用いて遅延動作を実行することが可能になる。
【0013】
上記発明(発明1~3)において、前記変化率は、前記複数の値のうち対応する値が小さいほど高くなるように設定されてもよい(発明4)。かかる発明(発明4)によれば、プレ遅延クロックサイクル数が小さいほど遅延量の変化率が高くなるので、プレ遅延クロックサイクル数が小さいほど遅延動作をより早期に終了させることができる。
【0014】
上記発明(発明1~4)において、前記検出部は、前記プレ遅延クロックサイクル数が前記所定値以下である場合に、前記遅延動作後の前記遅延クロックサイクル数の検出動作を行わなくてもよい(発明5)。かかる発明(発明5)によれば、プレ遅延クロックサイクル数が所定値以下の場合(つまり、遅延動作が長期化すると予想される場合)に遅延クロックサイクル数の検出動作が省略されるので、シーケンスの実行期間を短縮化することができる。
【0015】
上記発明(発明1~5)において、前記検出部は、前記プレ検出動作において検出された前記プレ遅延クロック数、又は、前記プレ遅延クロック数を1クロック分増加させた値を前記遅延クロックサイクル数として検出してもよい(発明6)。かかる発明(発明6)によれば、プレ遅延クロックサイクル数、又は、プレ遅延クロックサイクル数を1クロック分増加させた値を遅延クロックサイクル数として使用することが可能になる。
【0016】
上記発明(発明1~6)において、前記検出部は、前記プレ検出動作において検出された前記プレ遅延クロックサイクル数、又は、前記プレ遅延クロックサイクル数を1クロック分増加させた値を前記プレ遅延クロックサイクル数として検出してもよい(発明7)。かかる発明(発明7)によれば、プレ遅延クロックサイクル数、又は、プレ遅延クロックサイクル数を1クロック分増加させた値に基づいて、遅延量の変化率を設定することが可能になる。
【0017】
上記発明(発明1~7)において、前記制御部は、前記プレ遅延クロックサイクル数が前記所定値以下である場合に、前記遅延ライン部の1つ以上の遅延線のうち活性化させる遅延線の割合を、前記プレ遅延クロックサイクル数が前記所定値より大きい場合に活性化させる遅延線の割合よりも高くすることによって、前記変化率が高くなるように設定してもよい(発明8)。かかる発明(発明8)によれば、プレ遅延クロックサイクル数が所定値以下である場合により多くの遅延線を活性化させることによって、遅延量の変化率を容易に高めることが可能になる。
【0018】
上記発明(発明1~8)において、前記プレ遅延クロックサイクル数が前記所定値以下の場合の前記変化率は、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記変化率の少なくとも2倍であってもよい(発明9)。かかる発明(発明9)によれば、プレ遅延クロックサイクル数が所定値以下の場合には、変化率が、プレ遅延クロックサイクル数が所定値より大きい場合の少なくとも2倍になるので、遅延動作をより早期に終了させることが可能になる。
【0019】
上記発明(発明1~9)において、前記制御部は、前記プレ遅延クロックサイクル数が前記所定値以下の場合の前記変化率を、前記遅延動作中に変更してもよい(発明10)。かかる発明(発明10)によれば、例えば、遅延動作中の入力クロック信号と出力クロック信号との位相差に応じて変化率を動的に変更することによって、遅延動作を早期且つ確実に終了させることが可能になる。
【0020】
上記発明(発明1~10)において、前記検出部は、前記遅延クロックサイクル数をレイテンシーカウンタに送信してもよい(発明11)。かかる発明(発明11)によれば、レイテンシーカウンタは、検出部から送信された遅延クロックサイクル数を用いてレイテンシをカウントすることが可能になる。
【0021】
上記発明(発明1~11)において、前記検出部は、前記検出動作又は前記プレ検出動作が行われる場合に、前記入力クロック信号に対応する信号を生成する信号生成部と、前記入力クロック信号に対応する信号が入力されてから、前記出力クロック信号に対応する信号が入力されるまでの間の遅延クロックサイクル数のカウント用信号のクロックサイクル数を、前記遅延クロックサイクル数又は前記プレ遅延クロックサイクル数としてカウントするカウント部と、を備えてもよい(発明12)。かかる発明(発明12)によれば、信号生成部及びカウント部を用いて、検出動作及びプレ検出動作を容易に行うことが可能になる。
【0022】
上記発明(発明12)において、前記信号生成部は、前記入力クロック信号と前記出力クロック信号とが同期したことを示す信号が入力される第1ワンショット回路と、前記プレ検出動作又は前記検出動作を開始するための信号が入力される第2ワンショット回路と、前記プレ検出動作又は前記検出動作を終了するための信号が入力される第3ワンショット回路と、前記第1ワンショット回路の出力と、前記第2ワンショット回路の出力と、が入力されるNOR回路と、前記第3ワンショット回路の出力と、前記NOR回路の出力と、が入力されるフリップフロップ回路と、前記フリップフロップ回路の出力と、前記入力クロック信号と、が入力される第1ラッチ回路と、前記入力クロック信号と、前記第1ラッチ回路の出力と、が入力される第1AND回路であって、前記入力クロック信号に対応する信号を出力する第1AND回路と、を備えてもよい(発明13)。かかる発明(発明13)によれば、検出動作又はプレ検出動作が行われる場合に、入力クロック信号に対応する信号を容易に生成することが可能になる。
【0023】
上記発明(発明12~13)において、前記カウント部は、前記プレ検出動作又は前記検出動作を可能にするための信号と、前記入力クロック信号に対応する信号と、が入力される第2ラッチ回路と、前記プレ検出動作又は前記検出動作を可能にするための信号と、前記出力クロック信号に対応する信号と、が入力される第3ラッチ回路と、前記第2ラッチ回路の出力と、前記第3ラッチ回路の出力と、が入力される第2AND回路と、前記第2AND回路の出力と、前記入力クロック信号に対応する信号と、が入力される第4ラッチ回路と、前記入力クロック信号と、前記第4ラッチ回路の出力と、が入力される第3AND回路と、前記第3AND回路から出力された信号のパルスをカウントするカウンタであって、カウントした値を前記遅延クロックサイクル数又は前記プレ遅延クロックサイクル数として出力するカウンタと、を備えてもよい(発明14)。かかる発明(発明14)によれば、信号生成部によって生成された信号が入力されてから、出力クロック信号に対応する信号が入力されるまでの間の遅延クロックサイクル数のカウント用信号のクロックサイクル数を、遅延クロックサイクル数又はプレ遅延クロックサイクル数として容易にカウントすることが可能になる。
【0024】
本発明の半導体記憶装置の制御方法は、半導体記憶装置に設けられた制御部が、入力クロック信号と出力クロック信号との位相差から、遅延量を設定するステップと、前記半導体記憶装置に設けられた遅延ライン部が、前記遅延量が設定される毎に、前記遅延量に基づいて前記入力クロック信号を遅延させて前記出力クロック信号を生成する、遅延動作を行うステップと、前記半導体記憶装置に設けられた検出部が、前記遅延動作によって前記入力クロック信号と前記出力クロック信号とが同期した場合に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数を検出する検出動作を行うステップと、前記検出部が、前記遅延動作が行われる前に、前記入力クロック信号から前記出力クロック信号までの遅延クロックサイクル数をプレ遅延クロックサイクル数として検出するプレ検出動作を行うステップと、前記制御部が、前記プレ遅延クロックサイクル数が所定値以下である場合に、前記遅延動作における前記遅延量の変化率が、前記プレ遅延クロックサイクル数が前記所定値より大きい場合の前記遅延動作における前記遅延量の変化率よりも高くなるように、前記遅延量を設定するステップと、を含むことを特徴とする(発明15)。
【発明の効果】
【0025】
本発明の制御回路、半導体記憶装置及び半導体記憶装置の制御方法によれば、遅延動作の長期化を抑制し、DLL回路を用いて内部クロック信号の遅延の調整を行うシーケンスを所定の実行期間内に完了することができる。
【図面の簡単な説明】
【0026】
図1】本発明の実施形態に係る制御回路の構成例を示すブロック図である。
図2】入力クロック信号と遅延時間との関係を示す図である。
図3】本シーケンスと従来のシーケンスとの各状態を示す図である。
図4】N値検出部の構成例を示す図である。
図5】ノーマルモードのロック動作時の制御回路内の各部の信号の電圧の推移を示すタイムチャートである。
図6】ファストモードのロック動作時の制御回路内の各部の信号の電圧の推移を示すタイムチャートである。
図7】N値検出部の別の構成例を示す図である。
図8】別の構成例のN値検出部を用いた場合のノーマルモードのロック動作時の制御回路内の各部の信号の電圧の推移を示すタイムチャートである。
図9】別の実施形態における制御回路内のdll_codeの推移を示すタイムチャートである。
【発明を実施するための形態】
【0027】
以下、本発明の実施形態に係る制御回路、半導体記憶装置及び半導体記憶装置の制御方法について添付図面を参照して詳細に説明する。ただし、この実施形態は例示であり、本発明はこれに限定されるものではない。
【0028】
また、本明細書等における「第1」、「第2」、「第3」等の表記は、或る構成要素を他の構成要素と区別するために使用されるものであって、当該構成要素の数、順序又は優先度等を限定するためのものではない。例えば、「第1要素」及び「第2要素」との記載が存在する場合、「第1要素」及び「第2要素」という2つの要素のみが採用されることを意味するものではないし、「第1要素」が「第2要素」に先行しなければならないことを意味するものでもない。
【0029】
図1に、本発明の実施形態に係る制御回路の構成例を示す。本実施形態において、制御回路は、DLL回路10と、N値検出部20と、を備える。また、本実施形態において、制御回路は、例えばDRAM等の半導体記憶装置に設けられている。さらに、本実施形態において、半導体記憶装置は、レイテンシーカウンタ30を備える。
【0030】
なお、本実施形態では、説明を簡略化するために、DRAM等の半導体記憶装置に設けられている周知の構成(例えば、コマンドデコーダ、メモリセルアレイ、入出力用のインタフェース部等)が示されていない。
【0031】
DLL回路10は、入力バッファ11と、位相検出部12と、DLL制御部13と、遅延ライン部14と、レプリカ部15と、出力バッファ16とを備えている。
【0032】
入力バッファ11は、入力バッファ11に入力される外部クロック信号CKをバッファリングして入力クロック信号clkを生成する。生成された入力クロック信号clkは、マルチプレクサ17を介して遅延ライン部14と、N値検出部20と、位相検出部12とに送信される。詳しくは後述するが、遅延ライン部14は、入力された入力クロック信号clkを遅延した遅延信号(出力クロック信号)dll_clkを生成して、出力バッファ16及びレプリカ部15へ送信する。レプリカ部15は、遅延ライン部14によって生成された遅延信号(出力クロック信号)dll_clkをフィードバック信号fb_clkとして出力する。具体的に説明すると、レプリカ部15は、入力された遅延信号dll_clkからフィードバック信号fb_clkを生成し、N値検出部20及び位相検出部12へ出力する。
【0033】
位相検出部12は、入力クロック信号clkとフィードバック信号fb_clkとの間の位相差を検出する。位相検出部12には、入力クロック信号clkが入力されるとともに、フィードバック信号fb_clkが入力される。位相検出部12では、入力クロック信号clkに対するフィードバック信号fb_clkの位相の進み又は遅れを示す位相信号up/downが生成され、DLL制御部13に入力される。
【0034】
DLL制御部13は、位相検出部12によって検出された位相差から遅延量を決定する。具体的に説明すると、DLL制御部13は、位相検出部12からの位相信号up/downと、詳しくは後述するN値検出部20からのプレN値信号pre_n_valueとにより、ロック動作(本発明の「遅延動作」の一例である)における遅延量の増加率(本発明の「変化率」の一例である)を設定し、設定した増加率に基づいて遅延量を決定する。そして、DLL制御部13は、ロック動作(本発明の「遅延動作」の一例である)における遅延量を示す信号として、複数のビットで構成された制御信号dll_codeを生成し、出力する。この出力された制御信号dll_codeは、遅延ライン部14へ入力される。なお、DLL制御部13は、本発明の「制御部」の一例である。
【0035】
遅延ライン部14は、DLL制御部13によって遅延量が設定される毎に、遅延量に基づいて入力クロック信号clkを遅延させて遅延信号dll_clk(出力クロック信号)を生成する、ロック動作を行う可変遅延部である。具体的に説明すると、遅延ライン部14は、制御信号dll_codeに応じて遅延線を活性化することにより、入力クロック信号clkを遅延させて遅延信号dll_clk(出力クロック信号)を生成する。詳しくは後述する。
【0036】
DLL制御部13は、図示されていないリセット信号(ロック動作の開始信号)が所定の回路(図示省略)等からDLL回路10に入力されることによってDLLリセット状態となると、制御信号dll_reset_nをハイレベルで生成してN値検出部20へ入力する。ハイレベルで制御信号dll_reset_nが入力されることにより、N値検出部20は、後述するプレN値検出動作(本発明の「プレ検出動作」の一例である)を実行する。
【0037】
また、DLL制御部13は、位相信号up/downの位相差が所定の範囲に収束した場合には、ロック動作が終了した(つまり、入力クロック信号clkと、(遅延信号(出力クロック信号)dll_clkに対応する)フィードバック信号fb_clkとが同期した)と判別して、入力クロック信号clkと、(遅延信号(出力クロック信号)dll_clkに対応する)フィードバック信号fb_clkとが同期したことを示す制御信号dll_lockedをハイレベルにしてN値検出部20へ入力する。ハイレベルで制御信号dll_lockedが入力されることにより、N値検出部20は、後述するN値検出動作(本発明の「検出動作」の一例である)を実行する。
【0038】
N値検出部20は、プレN値検出動作及びN値検出動作を行う。即ち、N値検出部20は、プレN値検出動作時には、入力クロック信号clkとフィードバック信号fb_clkとからプレN値を検出し、N値検出動作時には、入力クロック信号clkとフィードバック信号fb_clkとからN値を検出する。
【0039】
ここで、N値は、Tint(DLL回路における固有遅延時間)+Tdll(DLL回路のロック動作によるロック(遅延)時間)=N×tCKで表される値であり、DLL回路10のロック動作における入力クロック信号から出力クロック信号までの遅延クロックサイクル数(したがって整数である)を意味する。
【0040】
具体的には、N値検出部20は、ロック動作が終了したことを示すアサート(ハイレベル)された制御信号dll_lockedが入力されると、N値検出動作として、入力クロック信号clkからフィードバック信号fb_clkまでの遅延クロックサイクル数をN値として検出し、検出されたN値を示すN値信号n_valueをレイテンシーカウンタ30に入力する。なお、本実施形態では、DLL回路10にリセット信号が入力されてから、N値検出動作が終了するまでの制御を「本シーケンス」としている。
【0041】
また、N値検出部20は、リセット信号がDLL回路に入力されたことを示す制御信号dll_reset_nがハイレベルで入力されると、プレN値検出動作として、入力クロック信号clkからフィードバック信号fb_clkまでの遅延クロックサイクル数をプレN値(本発明の「プレ遅延クロックサイクル数」の一例である)として検出し、検出されたプレN値を示すプレN値信号pre_n_valueをDLL制御部13へ入力する。即ち、プレN値検出動作とは、ロック動作前、つまり実際には遅延時間が生じていない状態(ロック時間Tdllが0である状態)で、仮のN値を検出する動作を意味する。
【0042】
N値とプレN値とは、実際のロック時間Tdllが短い場合には一致することもあるが、通常その値は「1」程度異なる。そこで、プレN値が所定値(本実施形態では1)以下である場合には、ロック時間であるTdllが長期化すると考えられるので、本実施形態では、ロック動作前にこのプレN値を検出することで、ロック時間Tdllが長期化するかどうかを予測している。そして、DLL回路10は、ロック時間Tdllが長期化すると予測される場合には、通常のロック動作(ノーマルモード)の実行時間よりも短時間でロック動作が終了するファストモードでロック動作を行う。
【0043】
この点を詳細に説明すると、図2(1)に示すように、クロック時間tCKが固有遅延時間Tintよりも短い場合には、ロック時間Tdllが長期化しないので、図3(1)に示すように本シーケンス全体にかかる時間が所定の期間(tDLLK、例えば512クロックサイクル)を超える虞がない。しかし、図2(2)に示すように、クロック時間tCKが固有遅延時間Tintよりも十分に大きくロック時間Tdllが長期化してしまうと、従来技術では、図3(2)に示すように、本シーケンス全体にかかる時間が上記の所定の期間(tDLLK)を超えてしまう虞があった。
【0044】
しかしながら、本実施形態では、ロック動作が行われる前にプレN値検出動作を行ってプレN値を検出(N値を予測)し、プレN値が1以下である場合にはロック動作が長期化する虞があるとしてロック動作を短縮化することによって、本シーケンス全体の長期化を抑制する。即ち、図2(2)に示すような場合には、プレN値が1以下であり、通常通りの遅延量の増加率でロック動作を行う(ノーマルモードのロック動作を行う)とロック動作が長期化する可能性がある。そこで、本実施形態では、DLL回路10は、遅延量の増加率をノーマルモードより高くすることによって、図3(2)に示す従来の場合と比較してロック動作を短期間で終了させるファストモードでロック動作を行う。これにより、図3(4)に示すように、所定の期間(tDLLK)内にシーケンスを終了することができる。
【0045】
なお、図2(1)に示すように、プレN値が1よりも大きい場合には、ロック時間が長期化する可能性が低いと考えられるので、DLL回路10は、図3(3)に示すように、遅延量の増加率が低い通常のノーマルモードでロック動作を行う。この場合、プレN値検出動作はロック動作よりも短時間で終了するので、プレN値検出動作を行ったとしても、シーケンス全体の時間が所定の期間(tDLLK)を超えるのを抑制することが可能である。なお、N値検出部20は、本発明の「検出部」の一例である。
【0046】
以下、N値検出部20の構成について図4も参照して詳細に説明する。
【0047】
N値検出部20は、n_clk信号生成部21(本発明の「信号生成部」の一例である)と、N値カウント部22(本発明の「カウント部」の一例である)と、を含む。n_clk信号生成部21は、第1~第3ワンショット回路211~213と、NOR回路214と、フリップフロップ回路215と、第1ラッチ回路216と、第1AND回路217と、を含む。N値カウント部22は、2つのD-フリップフロップ(D-FF)回路221,222(本発明の「第2ラッチ回路」及び「第3ラッチ回路」の一例である)と、第2AND回路223と、ラッチ回路224(本発明の「第4ラッチ回路」の一例である)と、第3AND回路225と、4ビットカウンタ226(本発明の「カウンタ」の一例である)と、を含む。
【0048】
n_clk信号生成部21は、プレN値又はN値の検出動作時に、入力クロック信号clkに対応する信号n_clkを生成する。n_clk信号生成部21では、制御信号dll_locked(本発明の「入力クロック信号と出力クロック信号とが同期したことを示す信号」の一例である)が第1ワンショット回路211に入力され、また、制御信号dll_reset_n(本発明の「プレ検出動作又は検出動作を開始するための信号」の一例である)が、第2ワンショット回路212に入力され、これらがNOR回路214に入力される。そして、このNOR回路214から出力された信号と、後述する信号n_endが第3ワンショット回路213を経て出力された信号とが、フリップフロップ回路215に入力されて制御信号n_enable(本発明の「前記プレ検出動作又は前記検出動作を可能にするための信号」の一例である)が生成される。制御信号n_enableがハイレベルである場合は、プレN値又はN値の検出動作が可能であることを意味する。この生成された制御信号n_enableが第1ラッチ回路216に入力され、また、入力クロック信号clkがクロック信号として第1ラッチ回路216に入力される。また、第1ラッチ回路216から出力された信号が入力クロック信号clkとともに第1AND回路217に入力されて、第1AND回路217から信号n_clkが出力される。
【0049】
N値カウント部22は、プレN値又はN値の検出動作時に、入力クロック信号clkが入力されてからフィードバック信号fb_clkが生成されるまでの入力クロック信号clkのクロックサイクル数をカウントすることによって、プレN値又はN値を検出する。N値カウント部22では、信号n_clkと制御信号n_enableとが第1D-FF221に入力され、信号n_startが生成される。また、遅延信号dll_clkに対応したフィードバック信号fb_clkと制御信号n_enableとが第2D-FF222に入力され、信号n_end(本発明の「プレ検出動作又は検出動作を終了するための信号」の一例である)が生成される。そして、信号n_startと、信号n_endとが第2AND回路223に入力され、信号n_detectionが生成される。ラッチ回路224には、信号n_detectionが入力され、信号n_clkがクロック信号として入力される。このラッチ回路224からの出力と、信号n_clkとが第3AND回路225に入力されて、第3AND回路225は、プレN値又はN値のカウント用信号である信号count_clk(本発明の「遅延クロックサイクル数のカウント用信号」の一例である)を出力する。信号count_clkは、4ビットカウンタ226に入力される。
【0050】
4ビットカウンタ226は、入力された信号count_clkのパルスをカウントしてプレN値又はN値を検出し、検出したプレN値又はN値を示すN値信号n_valueを出力する。出力されたN値信号n_valueは、レイテンシーカウンタ30へ入力されるとともに、プレN値信号pre_n_valueとしてDLL制御部13へ入力される。なお、4ビットカウンタ226は、制御信号dll_reset_n又は制御信号dll_lockedがハイレベルで入力されると値が初期値(例えば0)にリセットされて、新たにカウントを始めるように構成されてもよい。
【0051】
このようにして、N値カウント部22は、制御信号dll_reset_n又は制御信号dll_lockedがハイレベルの場合に、入力クロック信号clkに対応する信号n_clkが入力されてから、遅延信号(出力クロック信号)dll_clkに対応するフィードバック信号fb_clkが入力されるまでの間の信号count_clkのクロックサイクル数(パルス数)を遅延クロックサイクル数としてカウントすることによって、プレN値又はN値の検出動作を行う。
【0052】
図1に戻り、DLL制御部13と遅延ライン部14について詳述する。制御信号n_enableがハイレベルでマルチプレクサ17に入力されている場合(すなわち、プレN値検出動作又はN値検出動作が行われる場合)、遅延ライン部14には信号n_clkが入力され、それ以外の場合には入力クロック信号clkが遅延ライン部14に入力される。遅延ライン部14は、入力クロック信号clkに対して、DLL制御部13からの制御信号dll_codeに応じた遅延を実行して、遅延信号dll_clkを生成する。
【0053】
本実施形態では、DLL制御部13は、N値検出部20から入力されたプレN値信号pre_n_valueの値に応じて、ロック動作時の遅延量の増加率を設定し、設定した増加率に基づいて遅延量を決定する。そして、DLL制御部13は、遅延ライン部14を制御する制御信号dll_codeを生成する。具体的には、DLL制御部13は、プレN値検出動作においてプレN値が1より大きい場合、ノーマルモードのロック動作を実行するので、増加率が低い状態で決定された遅延量によって遅延ライン部14を制御する制御信号dll_codeを生成する。一方、DLL制御部13は、プレN値検出動作においてプレN値が1以下である場合、ファストモードのロック動作を実行するために、増加率が高い状態で決定された遅延量によって遅延ライン部14を制御する制御信号dll_codeを生成する。
【0054】
ここで、遅延量の増加率とは、本実施形態では、遅延ライン部14の1つ以上の遅延線のうち活性化される遅延線の数が、制御信号dll_codeが入力される毎に増加する割合を意味している。例えば、制御信号dll_codeが最初に入力されることによって遅延線が1本活性化した状態から、次の制御信号dll_codeが入力されることによって遅延線が2本活性化した状態となった場合には、増加率は「1」である。これに対し、制御信号dll_codeが最初に入力されることによって遅延線が1本活性化した状態から、次の制御信号dll_codeが入力されることによって遅延線が3本活性化した状態となった場合には、増加率は「2」となる。なお、増加率とは、本実施形態のように、制御信号dll_codeが入力されたときに活性化した状態の遅延線の数が、1つ前に制御信号dll_codeが入力されたときから何本増加するかを表すものに限定されず、所定の時間周期毎に遅延量が増加する割合を示していればよい。
【0055】
遅延ライン部14は、制御信号dll_code中のハイレベルを示すビット数が多い(活性化させる遅延線が多い)ほど、入力クロック信号clkに対する遅延信号dll_clkの遅延時間を長くする。ファストモードの場合、制御信号dll_code中のハイレベルを示すビット数が高い増加率で増えることにより、遅延ライン部14において活性化される遅延線の数が短時間で増加する。したがって、遅延信号の遅延が早期に達成され、ロック時間Tdllが短縮化される。このようにして、遅延ライン部14は、制御信号dll_codeに従って入力クロック信号clkを遅延させて遅延信号dll_clkを生成して、前述したように出力バッファ16とレプリカ部15へ出力する。
【0056】
レイテンシーカウンタ30は、DLL回路10によって生成された内部クロックに同期してレイテンシのカウントを行う。また、レイテンシーカウンタ30は、所定の期間(tDLLK)が経過した後に、N値検出部20で検出されたN値を示すN値信号n_valueを用いて、レイテンシのカウントを実行する。例えば、CAS(Column Address Strobe)レイテンシの場合、設定されたレイテンシは、コマンド(例えば、リードコマンド)が半導体記憶装置(ここでは、DRAM)に入力されてからデータ(例えば、読み出しデータ)が半導体記憶装置から出力されるまでの期間を示すクロックサイクル数である。この場合、レイテンシーカウンタ30は、DLL回路10にリセット信号が入力されると、例えばモードレジスタ(図示省略)に設定されたCASレイテンシの値から、N値分を減じた分だけカウントする。具体例を挙げると、レイテンシーカウンタ30は、例えばCASレイテンシの値が10で、N値が5である場合には、減算結果となる5クロックサイクル分だけカウントする。
【0057】
本実施形態の制御回路による制御を、図5に示すタイミングチャートも含めて説明する。まず、DLL回路10がノーマルモードのロック動作を行う場合の制御を説明する。
【0058】
タイミングt1で、図示されていないリセット信号が入力されてDLLリセット状態となると、タイミングt2において、DLL制御部13が制御信号dll_reset_nをハイレベルでN値検出部20へ入力する。これにより、N値検出部20はプレN値検出動作を開始する。
【0059】
まず、n_clk信号生成部21の第1ワンショット回路211に制御信号dll_lockedがローレベルで入力され、第2ワンショット回路212に、制御信号dll_reset_nがハイレベルで入力され、出力信号がNOR回路214に入力されて、フリップフロップ回路215に入力される。また、信号n_endがローレベルで第3ワンショット回路213に入力されて、その出力信号もフリップフロップ回路215に入力される。フリップフロップ回路215から出力される制御信号n_enableは、ハイレベルで生成される。このハイレベルで生成された制御信号n_enableと入力クロック信号clkとが第1ラッチ回路216に入力され、生成された信号が、入力クロック信号clkとともに第1AND回路217に入力されて、プレN値検出動作中又はN値検出動作中のみ生成されるクロック信号である信号n_clkが生成される。
【0060】
N値カウント部22では、制御信号n_enableがハイレベルで第1D-FF221に入力されている場合、信号n_clkの入力に応じて信号n_startがハイレベルで生成される。他方で、フィードバックされたクロック信号であるフィードバック信号fb_clkがローレベルで第2D-FF222に入力されている場合、信号n_endがローレベルで生成される。そして、ハイレベルである信号n_startと、ローレベルである信号n_endが第2AND回路223に入力され、信号n_detectionがハイレベルで生成される。ラッチ回路224には、この信号n_detectionと、信号n-clkとが入力され、このラッチ回路224からの出力と、信号n_clkとが第3AND回路225に入力される。これにより、プレN値又はN値カウント用信号である信号count_clkが出力される。信号count_clkは、4ビットカウンタ226に入力される。
【0061】
4ビットカウンタ226では、信号count_clkのパルスが入力される毎に、N値信号n_valueの値をインクリメントしてN値信号n_valueを出力する。このように、信号n_clkに従ってN値信号n_valueの値がカウントアップされる。生成されたN値信号n_valueは、レイテンシーカウンタ30に入力されるとともに、プレN値信号pre_n_valueとしてDLL制御部13に入力される。N値カウント部22では、タイミングt3まで信号n_clkに従ってN値信号n_valueの値がカウントアップされる。なお、図5に示す例では、プレN値を示すN値信号n_valueが値「3」までカウントアップされた場合を一例として示している。
【0062】
このようにして、N値検出部20は、プレN値検出動作において検出されたプレ遅延クロックサイクル数(プレN値)を、そのままプレ遅延クロックサイクル数(プレN値)として検出することができる。
【0063】
タイミングt3で、N値カウント部22の第2D-FF222にフィードバック信号fb_clkが入力されると、信号n_endがハイレベルで生成される。また、この信号n_endがハイレベルになることによって、n_clk信号生成部21では、制御信号n_enableがローレベルで生成され、プレN値検出動作が終了する。また、n_clk信号生成部21では、信号n_clkもローレベルで生成される。さらに、N値カウント部22では、信号n_endがハイレベルになることによって、信号n_detection及び信号count_clkもローレベルになる。これにより、プレN値検出動作が終了する。
【0064】
このタイミングt3から、DLLロック動作が開始され、DLL回路10はDLLロック状態に移行する。位相検出部12は、入力された入力クロック信号clkと、フィードバック信号fb_clkとから、位相検出を行い、位相信号up/downをDLL制御部13に送信する。他方で、制御信号n_enableがローレベルで生成されることによって、マルチプレクサ17では入力クロック信号clkが選択される。
【0065】
DLL制御部13は、位相信号up/downと、プレN値信号pre_n_valueとに基づいて遅延量の増加率を設定し、設定した増加率に基づいて遅延量を決定する。ここで、前述のようにプレN値信号pre_n_valueが3であったため、DLL制御部13は、ノーマルモードによるロック動作を行う。なお、ここでは、ノーマルモードによるDLLロック動作が行われる際に遅延ライン部14において活性化される遅延線の増加率が1である場合を一例として説明する。この場合、DLL制御部13は、増加率に基づいて決定された遅延量を示す制御信号dll_codeを生成する。これにより、遅延ライン部14は、制御信号dll_codeが入力される毎に、活性化される遅延線の数が(図5に示す例では「4」から「10」まで)「1」ずつ増加するように制御され、これに従って遅延された遅延信号dll_clkが生成される。生成された遅延信号dll_clkは、レプリカ部15を介して位相検出部12に再度入力されてフィードバックが行われる。
【0066】
タイミングt4において、位相信号up/downの位相差が所定の範囲に収束して遅延が解消される。これにより、タイミングt4では、DLL制御部13が制御信号dll_lockedをハイレベルとしてN値検出部20に入力する。これにより、タイミングt4からN値検出動作が始まる。
【0067】
N値検出動作が始まると、n_clk信号生成部21の第1ワンショット回路に制御信号dll_lockedがハイレベルで入力され、第2ワンショット回路に、プレN値信号pre_n_valueがローレベルで入力され、出力信号がNOR回路214に入力されて、フリップフロップ回路215に入力される。この点以外は、すべてプレN値検出動作と同一であるので、詳細は省略する。そして、N値カウント部22では、タイミングt5まで信号n_clkに従ってN値信号n_valueの値がカウントアップされて出力される。なお、図5に示す例では、N値が値「4」までカウントアップされている。DLL回路10は、生成されたN値信号n_valueをレイテンシーカウンタ30に入力する。
【0068】
なお、図5に示す例では、N値検出動作において、N値が値「4」までカウントアップされている場合(つまり、プレN値検出動作において検出されたプレ遅延クロックサイクル数(プレN値)を1クロック分増加した値が遅延クロックサイクル数(N値)として検出された場合)を一例として説明したが、N値検出動作において検出されたN値は、プレN値検出動作において検出されたプレN値と同じ値となる場合も考えられる。このようにして、N値検出部20は、プレN値検出動作において検出されたプレ遅延クロックサイクル数(プレN値)、又は、プレ遅延クロックサイクル数(プレN値)を1クロック分増加させた値を、遅延クロックサイクル数(N値)として検出することができる。
【0069】
なお、4ビットカウンタ226は、タイミングt4~t5までの間、N値信号n_valueをレイテンシーカウンタ30に常時出力してもよいし、タイミングt5においてN値検出状態が終了した時点でN値信号n_valueをレイテンシーカウンタ30に出力してもよい。レイテンシーカウンタ30は、所定の期間(tDLLK)が経過した後に、N値信号n_valueを用いてレイテンシのカウントを実行するので、所定の期間(tDLLK)が経過するまでにN値検出部20から正確なN値が入力されていれば、レイテンシのカウントを適切に実行することができる。
【0070】
次に、DLL回路10のファストモード時のロック動作を、図6を参照して説明する。なお、図5に示したノーマルモード時のロック動作と同一の点については説明を省略する。まず、タイミングt11で、DLLリセット状態となり、タイミングt12において、DLL回路10は、プレN値検出動作を開始したところ、タイミングt13において、検出されたN値信号n_valueが「1」を示してプレN値検出動作が終了する。「1」を示すN値信号n_valueは、プレN値信号pre_n_valueとしてDLL制御部13へ入力される。
【0071】
このタイミングt13から、DLLロック動作が開始され、DLLロック状態に移行する。ここで、DLL制御部13は、「1」を示すプレN値信号pre_n_valueが入力されていることによって、ファストロック動作を行う。すなわち、DLL制御部13は、遅延量の増加率をノーマルモードの場合よりも高くなるように設定した制御信号dll_codeを遅延ライン部14に送信する。本実施形態では、ノーマルモードのDLLロック動作が行われる際の増加率が「1」であるのに対し、ファストロック動作が行われる際の増加率が「4」に設定されている場合を一例として説明する。このような設定に基づいて決定された遅延量を示す制御信号dll_codeが遅延ライン部14に入力されることによって、遅延ライン部14は、制御信号dll_codeが入力される毎に、活性化される遅延線の数が(図6に示す例では「4」から「32」まで)「4」ずつ増加するように制御される。ここで、ノーマルモードでは、活性化される遅延線が「4」から「32」まで増加するために、制御信号dll_codeが28回入力される必要があるが、本実施形態のファストモードでは、制御信号dll_codeが7回入力されることによってロック動作が終了する。
【0072】
その後、タイミングt14において、DLL回路10は、N値検出動作を行い、N値として「1」を検出する。そして、タイミングt15において、DLL回路10は、検出したN値をレイテンシーカウンタ30に入力する。
【0073】
このように、本実施形態では、プレN値が1以下である場合には、ロック動作がファストモードとなり、ノーマルモードに比べてロック動作の実行時間が短縮される。このようにしてロック動作の長期化を抑制することによって、シーケンス全体の実行期間の長期化を抑制することが可能になるので、シーケンスを所定の期間(tDLLK)内に完了させることができる。これにより、DLL回路10は、本シーケンス後にDLL制御に直ぐに復帰することが可能である。
【0074】
(変形例)
図7に、N値検出部50の変形例を示す。N値検出部50において、図4に示すN値検出部20と同じ構成要素については、同じ符号を付している。図4に示すN値検出部20では、4ビットカウンタ226で生成されたN値信号n_valueが、レイテンシーカウンタ30にそのまま入力されるとともに、プレN値信号pre_n_valueとしてDLL制御部13に入力されていた。これに対し、図7に示すN値検出部50は、4ビットカウンタ226で生成されたN値信号n_valueがレイテンシーカウンタ30にそのまま入力されるが、プレN値信号pre_n_valueが、加算器227を介してDLL制御部13に入力されるように構成されている点で異なっている。
【0075】
前述のように、ロック時間Tdllが短い場合にはN値及びプレN値が一致することもあるが、プレN値は、ロック動作前に検出されているので、N値より1少ないこともある。そこで、本変形例では、加算器227を用いてプレN値を「1」だけ加算することによって、プレN値信号pre_n_valueとN値信号n_valueとが同じ値を示すように構成されている。すなわち、本変形例において、N値検出部50は、プレN値検出動作において検出されたプレ遅延クロックサイクル数(ここでは、N値信号n_valueの値)を1クロック分増加させた値を、プレN値(プレ遅延クロックサイクル数)として検出するように構成されている。
【0076】
この場合、図8に示すタイミングチャートのように、プレN値検出動作において、プレN値として検出された値は「4」である。そして、N値検出動作においてN値として検出された値も「4」である。したがって、プレN値信号pre_n_valueとN値信号n_valueとが同じ値を示すことができる。なお、プレN値については、所定の値(本変形例では、1)を加算器227により加算したが、加算方法については限定されない。
【0077】
また、上述した実施形態では、制御回路は、ファストモードである場合に遅延量の増加率を高めるように構成されているが、制御回路は、ファストモードである場合に遅延量の減少率を高めるように構成されてもよい。即ち、DLL制御部13は、プレ遅延クロックサイクル数が所定値(例えば1)以下である場合に、ロック動作における遅延量の減少率が、プレ遅延クロックサイクル数が所定値より大きい場合のロック動作における遅延量の減少率よりも高くなるように、遅延量を設定してもよい。例えば、上述した実施形態では、DLL制御部13は、遅延線の数を「4」から徐々に増加して遅延させるように制御信号dll_codeを構成したが、遅延線の数を「32」から徐々に減じて遅延させることも可能である。この場合においても、例えば、ノーマルモードでは、制御信号dll_codeが入力される毎に、活性化された遅延線が「1」本ずつ減少するが、ファストモードでは、制御信号dll_codeが入力される毎に、活性化された遅延線が「4」本ずつ減少する等のように、ノーマルモードよりも遅延量の減少率を高めることによって、早期に遅延動作を完了するように構成されてもよい。
【0078】
また、DLL制御部13は、ファストモードでロック動作を行う際に、最初(ロック動作直後)に設定する遅延量(活性化する遅延線の本数)を、ノーマルモードの場合よりも多く設定してもよい。例えば、上述した実施形態では、ロック動作において最初に活性化される遅延線の本数は「4」であるが、図9(1)に示すように、DLL制御部13は、ファストモードでロック動作を実行する場合に、活性化される遅延線の本数を「8」から始めてもよい。このように設定することによって、ロック動作をより早く実行するうことが可能になる。
【0079】
また、N値検出部20は、プレN値検出動作においてプレN値が所定値(例えば1)以下である場合に、ロック動作後のN値検出動作を行わなくてもよい。ここで、正確なN値を検出するためには、上述した実施形態のように、ロック動作後にN値検出動作を行うことが好ましいが、プレN値が所定値以下の場合(つまり、ロック動作が長期化すると予想される場合)にはN値が「1」となると考えられるので、この場合にはロック動作後のN値検出動作を省略することによって、本シーケンスの実行期間をさらに短縮することが可能である。
【0080】
さらに、上述した実施形態では、プレN値が1である場合を一例として説明したが、プレN値の値は、1以外の任意の値に設定されてもよい。
【0081】
また、DLL制御部13は、所定値として複数の値を有し、所定値としての複数の値の各々に対応して変化率が設定されていてもよい。この場合、変化率は、複数の値のうち対応する値が小さいほど高くなるように設定されてもよい。例えば、所定値として「1」及び「2」が設定されている場合に、DLL制御部13は、プレN値が1以下である場合に、増加率が「4」である第1のファストモードを実行し、プレN値が2である場合に、増加率が「2」である第2のファストモードを実行する等のように、所定値毎に増加率の異なるファストモードを実行してもよい。このようにして、複数の変化率のうちプレN値に応じて選択された変化率を用いてロック動作を実行することが可能になる。
【0082】
また、上述した実施形態では、ファストモードでのロック動作中における遅延量の変化率を一定とした場合を一例として説明したが、これに限定されず、ロック動作中に変化率が変更されるようにDLL制御部13を構成してもよい。例えば、DLL制御部13は、ファストモードにおいて、遅延量の増加率を途中で変更してもよい。この場合、図9(2)に示すように、ロック動作の開始時点において、遅延量の増加率を「4」に設定し、所定のタイミング(例えば、入力クロック信号とフィードバック信号との位相差が所定値以下となったタイミング等)以降に増加率を「2」に変更してもよい。このようにして、増加率(変化率)を動的に変更することによって、ロック動作を早期且つ確実に終了させることが可能になる。
【0083】
また、本実施形態では、プレN値の値が1以下である場合の遅延量の増加率が「4」である場合を一例として説明したが、これに限定されず、遅延量の変化率は、任意に設定されてもよい。例えば、プレN値の値が1以下である場合の増加率(変化率)は、プレN値の値が1より大きい場合の増加率の少なくとも2倍(例えば、2倍や4倍等)であってもよい。これにより、ロック動作をより早期に終了させることが可能になる。
【0084】
なお、上述した実施形態では、制御回路を備える半導体記録装置がDRAMである場合を一例として説明したが、本発明は、この場合に限定されない。例えば、半導体記憶装置は、SRAM(Static Random Access Memory)や、フラッシュメモリや、他の半導体記憶装置であってもよい。
【0085】
以上説明した実施形態及び変形例は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記実施形態及び変形例に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。
【0086】
上述した実施形態におけるDLL回路10の構成は一例であり、適宜変更されてもよいし、他の様々な構成が採用されてもよい。また、N値検出部20,50の構成として図4及び図7を示したが、これらの構成も一例であり、適宜変更されてもよいし、他の様々な構成が採用されてもよい。
【符号の説明】
【0087】
10…DLL回路
11…入力バッファ
12…位相検出部
13…DLL制御部
14…遅延ライン部
15…レプリカ部
16…出力バッファ
17…マルチプレクサ
20,50…N値検出部
21…n_clk信号生成部
22…N値カウント部
30…レイテンシーカウンタ
clk…入力クロック信号
dll_locked…制御信号
fb_clk…フィードバック信号
n_enable…制御信号
n_value…N値信号
pre_n_value…プレN値信号
up/down…位相信号
【要約】
【課題】遅延動作の長期化を抑制し、DLL回路を用いて内部クロック信号の遅延の調整を行うシーケンスを所定の実行期間内に完了することができる制御回路等を提供する。
【解決手段】制御回路は、遅延量を設定する制御部と、遅延動作を行う遅延ライン部と、遅延動作によって入力クロック信号と出力クロック信号とが同期した場合に、入力クロック信号から出力クロック信号までの遅延クロックサイクル数を検出する検出動作を行う検出部と、を備える。検出部は、遅延動作が行われる前に、入力クロック信号から出力クロック信号までの遅延クロックサイクル数をプレ遅延クロックサイクル数として検出するプレ検出動作を行い、制御部は、プレ遅延クロックサイクル数が所定値以下である場合に、遅延動作における遅延量の変化率が、プレ遅延クロックサイクル数が所定値より大きい場合の遅延動作における遅延量の変化率よりも高くなるように、遅延量を設定する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9