JP2008311999A - 遅延調整回路、およびメモリコントローラ - Google Patents

遅延調整回路、およびメモリコントローラ Download PDF

Info

Publication number
JP2008311999A
JP2008311999A JP2007158761A JP2007158761A JP2008311999A JP 2008311999 A JP2008311999 A JP 2008311999A JP 2007158761 A JP2007158761 A JP 2007158761A JP 2007158761 A JP2007158761 A JP 2007158761A JP 2008311999 A JP2008311999 A JP 2008311999A
Authority
JP
Japan
Prior art keywords
delay
signal
amount
unit
phase
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007158761A
Other languages
English (en)
Inventor
Toshiya Ogishi
俊哉 小岸
Ryosuke Uematsu
良介 植松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2007158761A priority Critical patent/JP2008311999A/ja
Publication of JP2008311999A publication Critical patent/JP2008311999A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Pulse Circuits (AREA)

Abstract

【課題】遅延量を調整可能な遅延調整回路において回路規模を縮小する。
【解決手段】可変遅延部31は、データストローブ信号DQSを遅延させて遅延信号DQSdlyを出力する。位相比較部32は、データストローブ信号DQSの位相が遅延信号DQSdlyとの位相を比較する。遅延制御部33は、可変遅延部31の遅延量を徐々に増加させながら位相比較部32による比較結果を監視し、データストローブ信号DQSの位相が遅延信号DQSdlyの位相よりも進んでいることを検出すると、その時の遅延量(計数部301の計数値)を取得し、取得した遅延量に1/2を乗算して設定量(設定値)を算出する。また、遅延制御部33は、可変遅延部31の遅延量をその設定量に設定する。これにより、可変遅延部31の遅延量をデータストローブ信号DQSの1/4周期分に相当する遅延量に設定することができる。
【選択図】図4

Description

この発明は、入力信号を遅延させる回路に関し、さらに詳しくは、入力信号の周期に応じて自己の遅延量を調整することができる遅延調整回路およびその遅延調整回路を搭載したメモリコントローラに関する。
DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)は、クロック信号に同期して信号を入出力するシンクロナスDRAMの一種であり、クロック信号のポジティブエッジおよびネガティブエッジの各々に同期してデータを転送することにより、クロック周波数の倍の転送レートを実現している。
例えば、特開平11−88153号公報(特許文献1)に開示された技術では、メモリコントローラがDDRSDRAMからデータを読み出す場合、DDRSDRAMは、メモリコントローラからのクロック信号のポジティブエッジに同期してデータ信号およびデータストローブ信号を出力する。一方、メモリーコントローラは、データストローブ信号のポジティブエッジおよびネガティブエッジの各々をデータ信号のデータアイの中央に合わせるためにデータストローブ信号を1/4周期分だけ遅延させ、遅延させたデータストローブ信号のポジティブエッジおよびネガティブエッジの各々に同期してデータ信号を取り込む。このように、メモリコントローラにおいてデータ信号を正確に取り込むために、データストローブ信号を1/4周期だけ遅延させる回路が必要とされている。
従来、データストローブ信号を遅延させる回路として、デジタルDLL(Delay Locked Loop)が用いられている(例えば、特開2006−107352号公報(特許文献2)の図8,図9,図10)。このデジタルDLLでは、直列に接続された複数のバッファ(バッファチェーン)の初段に入力信号(データストローブ信号)が与えられ、複数のバッファの各段の出力のうちいずれか1つが出力信号として出力される。また、位相比較回路によって入力信号(データストローブ信号)の位相と出力信号との位相とが比較され、その位相比較回路の出力に基づいて出力信号となるバッファ出力が選択される。このようなデジタルDLLを用いてデータストローブ信号を1/4周期分だけ遅延させる場合、次のような処理が行われる。まず、入力信号に対する出力信号の遅延量を徐々に大きくしながら、位相比較回路の出力を監視する。出力信号の遅延量の増加に伴い、位相比較回路の出力は、『H』→『L』→『H』→『L』→・・・のように、周期的に反転する。ここで、位相比較回路の出力が初めて反転したとき(例えば、『H』→『L』)の遅延量を「第1の基準量」とし、その後、位相比較回路の出力が2回反転したとき(例えば、『L』→『H』→『L』)の遅延量を「第2の基準量」として取得する。「第2の基準量」から「第1の基準量」を減じた量は入力信号の1周期分に相当するので、(「第2の基準量」−「第1の基準量」)を「4」で除算することにより、データストローブ信号の1/4周期分に相当する遅延量を得ることができる。このようにして、1/4周期分の遅延量を実現している。
また、データストローブ信号を遅延させる回路として、遅延量をプログラマブルに設定可能な可変遅延回路(プログラマブル遅延回路)を用いる場合もある。
特開平11−88153号公報 特開2006−107352号公報
しかしながら、デジタルDLLでは、第1および第2の基準量を取得するために入力信号を1周期分遅延させなければならないので、バッファチェーンの総遅延量を遅延対象である信号の1周期分よりも多くする必要があった。そのため、バッファチェーンの総遅延量を1周期分よりも少なくすることできず、可変遅延回路の回路規模を縮小することが困難であった。
また、プログラマブル遅延回路では、遅延対象である信号の周期に応じて遅延量を設定する場合、遅延対象である信号が変化することを考慮すると準備すべき遅延量を多くする必要があった。そのため、プログラマブル遅延回路により多くの遅延素子を形成しなければならず、回路規模を縮小することが困難であった。
そこで、本発明は、遅延量が調整可能である遅延調整回路において回路規模を縮小することを目的とする。
この発明による遅延調整回路は、ロジックレベルが周期的に変化する入力信号を遅延させる回路であり、遅延量を調整可能な遅延調整回路であって、遅延量が可変であり上記入力信号を遅延させ遅延信号を出力する可変遅延部と、上記入力信号の位相と上記遅延信号の位相とを比較する位相比較部と、上記可変遅延部の遅延量を徐々に増加させながら上記位相比較部による比較結果を監視し、上記入力信号と上記遅延信号との位相関係が逆転するときの上記可変遅延部の遅延量を検出し、上記入力信号の周期と所望の遅延量との関係に基づいて上記検出した遅延量から設定量を算出し、上記可変遅延部の遅延量を上記設定量に設定する遅延制御部とを備える。
上記遅延調整回路では、入力信号と遅延信号との位相関係が逆転するとき、可変遅延部の遅延量は、入力信号の1/2周期分に相当する量になっている。よって、このときの可変遅延部の遅延量を検出することにより、入力信号の1/2周期分に相当する量を把握することができる。さらに、検出した遅延量から入力信号の1/2周期と所望の遅延量との関係に基づいて設定量を算出し、可変遅延部の遅延量をその設定量に設定することにより、可変遅延部の遅延量を所望量に設定することができる。このように、入力信号の周期に応じて、入力信号に対する遅延信号の遅延量を所望量にすることができる。また、可変遅延部31の総遅延量が少なくとも入力信号の1/2周期分に相当する量であれば、入力信号と遅延信号との位相関係が逆転することを検出することができるので、従来よりも、準備すべき遅延量を少なくすることができ、可変遅延部の回路規模を小さくすることができる。
この発明による別の遅延調整回路は、ロジックレベルが周期的に変化する入力信号を遅延させる回路であり、遅延量を調整可能な遅延調整回路であって、遅延量が可変であり上記入力信号を遅延させ遅延信号を出力する可変遅延部と、上記入力信号の位相と上記遅延信号の位相とを比較する位相比較部と、上記可変遅延部の遅延量を徐々に増加させながら上記位相比較部による比較結果を監視し、上記入力信号と上記遅延信号との位相関係が逆転すると、上記可変遅延部の遅延量を固定する遅延制御部とを備える。
上記遅延調整回路では、可変遅延部の遅延量を入力信号の1/2周期分に相当する量に設定することができる。
この発明によるメモリコントローラは、シンクロナスDRAMに記憶されたデータを読み出すメモリコントローラであり、そのシンクロナスDRAMからデータ信号およびそのデータ信号と同位相であるデータストローブ信号とを受けるメモリコントローラであって、遅延量が可変であり上記データストローブ信号を遅延させ遅延信号を出力する可変遅延部と、上記データストローブ信号の位相と上記遅延信号の位相とを比較する位相比較部と、上記可変遅延部の遅延量を徐々に増加させながら上記位相比較部による比較結果を監視し、上記データストローブ信号と上記遅延信号との位相関係が逆転するときの上記可変遅延部の遅延量を検出し、上記検出した遅延量に1/2を乗算して設定量を算出し、上記可変遅延部の遅延量を上記設定量に設定する遅延制御部と、上記可変遅延部からの遅延信号を反転する反転部と、上記可変遅延部からの遅延信号に同期して上記データ信号を取り込む第1の保持部と、上記反転部の出力に同期して上記データ信号を取り込む第2の保持部とを備える。
上記メモリコントローラでは、データストローブ信号に対する遅延信号の遅延量を1/4周期分にすることができ、データ信号を正確に取り込むことができる。
以上のように、入力信号の周期に応じて入力信号に対する遅延信号の遅延量を所望量にすることができるとともに、回路規模を小さくすることができる。
以下、この発明の実施の形態を図面を参照して詳しく説明する。
図1は、この発明の実施形態によるメモリコントローラの構成を示す。メモリコントローラ10は、DDRSDRAM仕様に従うDDRSDRAM20との間でデータの読み出し/書き込みを行う。メモリコントローラ10とDDRSDRAM20と間のデータ転送は、データストローブ信号DQSに同期して実行される。メモリコントローラ10は、メモリ制御回路11と、読み出しデータ取り込み回路12と、書き込みデータ出力回路13とを備える。
メモリ制御回路11は、システムクロックSCLKに基づいてクロック信号CLKおよび反転クロック信号/CLKからなる差動クロックを出力するとともに、クロック信号CLKのポジティブエッジに同期してコマンドCMDを出力する。コマンドCMDには、読み出し動作および書き込み動作を指定する命令や、読み出しアドレスおよび書き込みアドレスを指定する命令等が含まれる。DDRSDRAM20は、メモリ制御回路11からのクロック信号CLKおよび反転クロック信号/CLKに同期して動作し、コマンドCMDに応答して処理を実行する。
読み出し動作時では、DDRSDRAM20は、クロック信号CLKのポジティブエッジに同期して、データ信号Dataおよびデータストローブ信号DQSの両方を出力する。図2のようにデータ信号Dataおよびデータストローブ信号DQSの各々は互いに同位相であるので、メモリコントローラ10において、図3のようにデータ信号Dataの位相に対してデータストローブ信号DQSの位相を1/4周期分だけずらす必要がある。そこで、読み出しデータ取り込み回路12は、データストローブ信号DQSを1/4周期分だけ遅延させ、遅延させたデータストローブ信号DQSのポジティブエッジおよびネガティブエッジの各々に同期してデータ信号Dataを取り込み、メモリ制御回路11へ出力する。これにより、クロック周波数の倍の転送レート(ダブルデータレート)を実現することができる。
一方、書き込み動作時では、メモリ制御回路11は、DDRSDRAM20に書き込むべきデータを書き込みデータ出力回路に供給する。書き込みデータ出力回路13は、システムクロックSCLKに同期して、データ信号Dataおよびデータストローブ信号DQSをDDRSDRAM20へ出力する。
図4は、図1に示した読み出しデータ取り込み回路12の内部構成を示す。読み出しデータ取り込み回路12は、入力バッファゲート101,102と、遅延調整回路103と、インバータ104と、フリップフロップ105,106,107とを含む。
入力バッファゲート101は、DDRSDRAM20からのデータ信号Dataを受け、入力バッファゲート102は、DDRSDRAM20からのデータストローブ信号DQSを受ける。遅延調整回路103は、入力バッファゲート102からのデータ信号DQSを1/4周期分だけ遅延させて遅延信号DQSdlyを出力する。
図5のように、フリップフロップ105は、遅延調整回路103からの遅延信号DQSdlyのポジティブエッジに同期して、入力バッファゲート101からのデータ信号Dataを取り込む。一方、フリップフロップ106は、インバータ104からの信号のポジティブエッジ(すなわち、遅延信号DQSdlyのネガティブエッジ)に同期して、入力バッファゲート101からのデータ信号Dataを取り込む。これにより、データ信号Dataは、遅延信号DQSdlyのポジティブエッジおよびネガティブエッジの各々に同期して取り込まれたことになる。フリップフロップ107は、システムクロックSCLKに同期して、フリップフロップ105,106の各々からのデータ信号を取り込む。このようにして、システムクロックSCLKに同期したデータ信号が後段の回路(メモリ制御回路11)に供給される。
なお、フリップフロップ107は、フリップフロップ105,106の各々で取り込まれたデータ信号を同時に取り込むために、フリップフロップ107のバス幅は、フリップフロップ105,106の各々のバス幅の総計(換言すれば、データ信号Dataのバス幅の2倍)である。すなわち、フリップフロップ105およびフリップフロップ106の各々のバス幅を「nビット」とすると、フリップフロップ107のバス幅は「2×nビット」になる。
次に、遅延調整回路103について詳しく説明する。遅延調整回路103は、可変遅延部31と、位相比較部32と、遅延制御部33とを含む。可変遅延部31は、遅延量が可変である。位相比較部32は、入力バッファゲート102からのデータストローブ信号DQSの位相と可変遅延部31からの遅延信号DQSdlyの位相とを比較する。遅延制御部33は、可変遅延部31の遅延量を設定する。また、遅延制御部33は、調整指示信号を受けると、可変遅延部31の遅延量を調整する処理(調整処理)を開始する。すなわち、遅延制御部33は、可変遅延部31の遅延量を徐々に増加させながら位相比較部32による比較結果を監視し、データストローブ信号DQSと遅延信号DQSdlyとの位相関係が逆転するときの可変遅延部31の遅延量を検出する。さらに、遅延制御部33は、データストローブ信号の1/2周期と所望の遅延量との関係に基づいてその検出した遅延量を増減して設定量を算出し、可変遅延部31の遅延量をその設定量に設定する。可変遅延部31,位相比較部32,および遅延制御部33の各々の内部構成を図6に示す。
可変遅延部31は、n個(nは2以上の整数)のセレクタS1〜Snと、n個のバッファB1〜Bnとを含む。セレクタS1〜SnおよびバッファB1〜Bnは、バッファBnを先頭にして交互に直列に並んでおり、先頭のバッファBnの入力端子には、データストローブ信号DQSが与えられ、セレクタS1〜Snには、それぞれ、選択信号SEL1〜SELnが与えられる。セレクタS1〜Snの各々は、データストローブ信号DQSと自己の前段に配置されたバッファの出力とを受け、自己に与えられる選択信号に応じていずれか一方を選択する。例えば、セレクタS1は、選択信号SEL1が「H」である場合には、バッファB1の出力を選択し、選択信号SEL1が「L」である場合には、データストローブ信号DQSを選択する。セレクタS2〜Snの各々の出力は、そのセレクタの後段に配置されたバッファに供給され、セレクタS1の出力は、遅延信号DQSdlyとして供給される。
位相比較部32は、フリップフロップFFを含む。フリップフロップFFは、データストローブ信号DQSのポジティブエッジに同期して遅延信号DQSdlyを取り込む。データストローブ信号DQSの位相に対して遅延信号DQSdlyの位相が進んでいる場合には、フリップフロップFFの出力は「L」になり、逆に、遅れている場合には、「H」になる。
遅延制御部33は、計数部301と、検出部302と、演算部303と、オフセット補正部304と、加重平均算出部305と、クリップ制御部306と、保持部307と、選択部308とを含む。
計数部301は、例えば、カウンタであり、調整指示信号ADJが与えられると駆動し、自己の計数値を徐々に増加させる。検出部302は、調整指示信号ADJが与えられると駆動し、フリップフロップFFの出力が「H」であることを検出する。演算部303は、検出部302によってフリップフロップFFの出力が「H」であることが検出されると、計数部301の計数値を取得する。また、演算部303は、取得した計数値に「2/N(Nは2以上の整数であり、ここでは、N=4)」を乗算して設定値を算出する。設定値は、オフセット補正部304,加重平均算出部305,クリップ制御部306の各々によって処理され、保持部307に与えられる。保持部307は、設定値を保持する。計数値(設定値)は、データストローブ信号DQSを通過させるバッファの段数(すなわち、可変遅延部31の遅延量)を示す値である。
選択部308は、通常モードと調整モードとを有し、調整指示信号ADJが与えられると通常モードから調整モードになり、計数部301の計数値に応じて選択信号を制御する。また、選択部308は、保持部307に保持された設定値が更新されると調整モードから通常モードになり、保持部307に保持された設定値に応じて選択信号を制御する。ここで、計数値(設定値)をm(0≦m≦n)とすると、選択部308は、選択信号SEL1〜SELnのうち選択信号SEL1から数えてm番目までの選択信号を「H」にし、その他の選択信号を「L」にする。例えば、計数値が「0」である場合では、選択信号SEL1〜SELnは全て「L」になり、計数値が「1」である場合には、選択信号SEL1のみが「H」になる。
次に、図7を参照しつつ、図6に示した遅延調整回路103によって、データストローブ信号DQSに対する遅延信号DQSdlyの遅延量をデータストローブ信号DQSの1/4周期分にするための調整処理について説明する。
〔ステップST101〕
まず、調整指示信号ADJが与えられ、選択部308は、通常モードから調整モードになり、計数部301の計数値に応じて選択信号SEL1〜SELnの各々を制御する。これにより、可変遅延部31の遅延量は、計数部301の計数値に応じた量になる。また、計数部301および検出部302の各々は、駆動状態になる。なお、計数部301の計数値は、リセットされて「0」になる。
〔ステップST102〕
次に、計数部301は、自己の計数値を徐々に増加させる。これにより。可変遅延部31の遅延量は、計数値の増加に伴って、徐々に増加する。
〔ステップST103〕
検出部302は、フリップフロップFFの出力を受ける。ここで、フリップフロップFFの出力が「L」である場合(データストローブ信号DQSの位相に対して遅延信号DQSdlyの位相が遅れている場合)には、ステップST102へ進み、フリップフロップFFの出力が「H」である場合(データストローブ信号DQSと遅延信号DQSdlyとの位相関係が逆転している場合)には、ステップST104へ進む。
このように、フリップフロップFFの出力が「H」であることが検出されるまで、可変遅延部31の遅延量は、徐々に増加する。これにより、調整処理の開始時では、遅延信号DQSdlyはデータストローブ信号DQSとほぼ同位相である(図8参照)が、調整処理が進むに連れて、データストローブ信号DQSに対する遅延信号DQSdlyの遅延量が徐々に大きくなり(図9参照)、遅延量がデータストローブ信号DQSの1/2周期分に到達すると、データストローブ信号DQSと遅延信号DQSdlyとの位相関係が逆転する(図10参照)。
〔ステップST104〕
検出部302によって位相関係の逆転が検出される(すなわち、フリップフロップFFの出力が「H」であることが検出される)と、演算部303は、計数部301の計数値を取得する。この計数値は、可変遅延部31の遅延量がデータストローブ信号DQSの1/2周期分に相当する量であるときのバッファの段数を示す。このようにして、データストローブ信号DQSの1/2周期分に相当する可変遅延部31の遅延量を検出することができる。ここで、データストローブ信号DQSに対する遅延信号DQSdlyの遅延量をデータストローブ信号DQSの1/4周期分にするために、演算部303は、取得した計数値に「1/2」を乗算して設定値を算出する。なお、遅延信号DQSdlyの遅延量を「1/8周期分」にする場合は、取得した計数値に「1/4」を乗算すれば良い。
〔ステップST105〕
オフセット補正部304は、可変遅延部31のオフセット遅延量を調整するために、オフセット遅延量に応じた値を演算部303によって算出された設定値に加算する。これにより、設定値が増減される。オフセット遅延量は、選択信号SEL1〜SELnの全てが「L」であるときの可変遅延部31の遅延量であり、オフセット遅延量に応じた値(設定値を増減するための値)は、オフセット補正部304に予め設定されている。
〔ステップST106〕
加重平均算出部305は、今回の調整処理によって得られた設定値と保持部307に保持された設定値(前回の設定値)とを受け、今回および前回の設定値の各々に対して重みを付加し、今回および前回の設定値の加重平均値を算出する。算出された加重平均値は、今回の設定値となる。例えば、1回目の設定値を「DL1」,2回目の設定値を「DL2」、3回目の設定値を「DL3」とすると、2回目の調整処理を終了した際に、1回目の設定値「DL1」と2回目の設定値「DL2」の平均値(すなわち、(DL1+DL2)/2)が算出される。また、3回目の調整処理を終了した際に、「DL1」,「DL2」,「DL3」の平均値(すなわち、(DL1+DL2+DL3)/3)が算出される。なお、今回および前回の設定値の各々に付加するための値は、加重平均算出部305に予め設定されている。
〔ステップST107〕
クリップ制御部306は、今回の設定値と保持部に保持された設定値との差分を求める。また、クリップ制御部306は、求めた差分がクリップ上限値を超えている場合には、前回の設定値にクリップ上限値を加算し、加算後の設定値を今回の設定値とする。例えば、クリップ上限値を「2」,(n−1)回目迄の設定値の平均を「DL」、n回目迄の算出値の平均を「DL+4」とすると、(n−1)回目迄の平均値とn回目迄の平均値との差分は「4」であるので、クリップ制御部306は、(n−1)回目迄の平均値「DL」にクリップ上限値「2」を加算した値「DL+2」が今回の設定値とする。一方、クリップ制御部306は、求めた差分がクリップ上限値を超えていない場合には、今回の設定値に対して処理を行わない。なお、クリップ上限値は、クリップ制御部306に予め設定されている。
〔ステップST108〕
保持部307は、ステップST104〜ST107を経て得られた設定値を受け、自己に保持している設定値を更新する(前回の設定値を破棄し、今回の設定値を保持する)。保持部307の設定値が更新されると、選択部308は、調整モードから通常モードになり、その更新された設定値に応じて選択信号SEL1〜SELnの各々の制御する。これにより、可変遅延部31の遅延量は、更新された設定値に応じた量に設定される。ここでは、設定値は、ステップST104において取得された計数値の1/2であるので、可変遅延部31の遅延量は、データストローブ信号DQSの1/4周期分に相当する遅延量に設定される。
以上のように、データストローブ信号の周期に応じて可変遅延部の遅延量を設定することができる。すなわち、データストローブ信号の周期に応じた量(ここでは、データストローブ信号の1/4周期分)だけデータストローブ信号を遅延させることができる。また、可変遅延部31の総遅延量が少なくともデータストローブ信号DQSの1/2周期分に相当する量であれば、データストローブ信号と遅延信号との位相関係が逆転することを検出することができる。よって、従来よりも準備すべき遅延量を少なくすることができ、可変遅延部31の回路規模を小さくすることができる。
さらに、メモリーコントローラにおいてデータストローブ信号DQSを1/4周期分だけ遅延させることができるので、データ信号を正確に取り込むことができる。
ここで、オフセット補正部304による効果について説明する。遅延制御部33では、データストローブ信号DQSに対して遅延信号DQSdlyを1/4周期分だけ遅延させるために演算部303による処理が行われるが、何らかの意図があって遅延信号DQSdlyの遅延量を1/4周期分ではない別の量に設定したい場合もある。例えば、図11のように、データストローブ信号DQSに対してデータ信号Dataが遅延している場合、遅延信号DQSdlyの遅延量を1/4周期分にしても遅延信号DQSdlyの両エッジがデータ信号Dataのデータアイの中央からずれてしまい、データ信号Dataを正確に取り込むことができないおそれがある。そこで、オフセット遅延量に応じた値を用いて演算部303によって得られた設定値を増減することによって、可変遅延部31の遅延量を調整することができ、図12のように、遅延信号DQSdlyの両エッジをデータ信号Dataのデータアイの中央に一致させることが可能となる。このように、オフセット補正部304によって遅延信号DQSdlyの遅延量を調整することができ、遅延信号DQSdlyの遅延量を1/4周期分以外に設定することができる。
次に、加重平均算出部305による効果について説明する。遅延制御部33は、調整指示信号ADJを受けて調整処理を開始し、データストローブ信号DQSの1/4周期分に相当する設定量を算出すると調整処理を終了する。ところで、遅延調整回路103やDDRSDRAM20は、電源電圧や周囲温度等の影響を受けて動作タイミングが変動するので、遅延制御部33による調整処理を周期的に繰り返し行うことが望ましい。しかし、調整処理を繰り返し行った場合、瞬間的な電源電圧の変動や外部からのノイズの混入により、データストローブ信号DQSの1/4周期分に対応する設定値を正確に算出できず、設定値が突発的に変動してしまうおそれがある。そこで、加重平均算出部305によって以前の設定値と今回の設定値とを平均化することにより、設定値の突発的な変動を緩和することができ、誤算出による誤動作を防止することができる。
次に、クリップ制御部306による効果について説明する。上述のように、調整処理を繰り返し行った場合、設定値が突発的に変動することがある。また、変動量があまりにも大きい場合、以前の設定値とかけ離れた設定値が算出されてしまう。そこで、以前の設定値と今回の設定値との差分に上限値を設定することにより、設定値の変動を規制することができ、誤算出による誤動作を防止することができる。
なお、演算部303による処理(設定量を算出する処理)を行わずに、検出部302によってフリップフロップFFの出力が「H」になることが検出されたときの計数部301の計数値に基づいて、選択部308が選択信号SEL1〜SELnの各々を制御するように構成しても良い。このように構成することにより、可変遅延部31の遅延量をデータストローブ信号の1/2周期分に相当する量に設定することができる。
また、オフセット補正部304,加重平均算出部305,クリップ制御部306は、それぞれ、バイパス設定が可能であっても良い。すなわち、オフセット補正部304,加重平均算出部305,クリップ制御部306のうち必要な機能を選択して利用できるように構成しても良い。さらに、オフセット補正部304,加重平均算出部305,クリップ制御部306の各々に予め設定されている値を外部から書き換えることができるように構成しても良い。例えば、オフセット補正部304にオフセット遅延量に応じた値を格納するための保持部を設け、CPU等の別回路がその保持部にアクセスできるように構成しても構わない。このように構成することにより、オフセット遅延量に応じた値を任意に設定することができる。加重平均算出部305,クリップ制御部306についても同様である。
この発明による遅延調整回路は、入力信号の周期に応じて遅延量を調整でき且つ回路規模を縮小することができるので、モバイル機器向けのメモリーコントローラにおいてデータストローブ信号を遅延させる遅延回路等として有用である。
この発明の実施形態によるメモリコントローラの構成を示す図。 DDRSDRAMから供給されるデータ信号とデータストローブ信号との位相関係を説明するための信号波形図。 調整処理が施された後のデータ信号と遅延信号との位相関係を説明するための信号波形図。 図1に示した読み出しデータ取り込み回路の内部構成を示す図。 図4に示した読み出しデータ取り込み回路による動作について説明するための信号波形図。 図4に示した可変遅延部,位相比較部,遅延制御部の構成例を示す図。 図6に示した遅延調整回路による動作について説明するためのフローチャート。 調整処理の開始直後の入力信号と遅延信号との位相関係を示す信号波形図。 遅延信号の位相遅れ量が大きくなることを説明するための信号波形図。 遅延信号の位相が入力信号の位相よりも進んでいる状態になることを説明するための信号波形図。 データストローブ信号に対してデータ信号が遅延している場合を示す信号波形図。 図11に示した遅延信号に対してオフセット遅延量を加算した場合を示す信号波形図。
符号の説明
10 メモリコントローラ
11 メモリ制御回路
12 読み出しデータ取り込み回路
13 書き込みデータ出力回路
20 DDRSDRAM
101,102 入力バッファゲート
103 遅延調整回路
104 インバータ
105,106,107,109 フリップフロップ
108 セレクタ
31 可変遅延部
32 位相比較部
33 遅延制御部
S1〜Sn セレクタ
B1〜Bn バッファ
FF フリップフロップ
301 計数部
302 検出部
303 演算部
304 オフセット補正部
305 加重平均算出部
306 クリップ制御部
307 保持部
308 選択部

Claims (8)

  1. ロジックレベルが周期的に変化する入力信号を遅延させる回路であり、遅延量を調整可能な遅延調整回路であって、
    遅延量が可変であり、前記入力信号を遅延させ遅延信号を出力する可変遅延部と、
    前記入力信号の位相と前記遅延信号の位相とを比較する位相比較部と、
    前記可変遅延部の遅延量を徐々に増加させながら前記位相比較部による比較結果を監視し、前記入力信号と前記遅延信号との位相関係が逆転するときの前記可変遅延部の遅延量を検出し、前記入力信号の1/2周期と所望の遅延量との関係に基づいて前記検出した遅延量から設定量を算出し、前記可変遅延部の遅延量を前記設定量に設定する遅延制御部とを備える
    ことを特徴とする遅延調整回路。
  2. 請求項1において、
    前記可変遅延部は、複数の遅延素子と、前記複数の遅延素子に対応する複数のセレクタとを含み、
    前記複数の遅延素子および複数のセレクタは、遅延素子を先頭にして交互に直列に配置され、初段の遅延素子は、前記入力信号を受け、
    前記複数のセレクタの各々は、前記入力信号および自己の前段に配置された遅延素子の出力のうちいずれか一方を自己の後段に配置された遅延素子に供給し、
    前記遅延制御部は、前記可変遅延部の遅延量が徐々に増加するように、複数のセレクタの各々を制御する
    ことを特徴とする遅延調整回路。
  3. 請求項1または請求項2において、
    前記位相比較部は、データ端子およびクロック端子のいずれか一方に前記入力信号を受け他方に前記遅延信号を受けるフリップフロップを含み、
    前記遅延制御部は、前記フリップフロップの出力のロジックレベルが変化するときの前記可変遅延部の遅延量を検出する
    ことを特徴とする遅延調整回路。
  4. 請求項1〜3のいずれか1項において、
    前記遅延制御部は、さらに、前記可変遅延部のオフセット遅延量に応じて、前記設定量を補正する
    ことを特徴とする遅延調整回路。
  5. 請求項1〜4のいずれか1項において、
    前記遅延制御部は、さらに、以前に算出した設定量と今回の設定量との加重平均値を算出し、当該加重平均値を今回の設定量とする
    ことを特徴とする遅延調整回路。
  6. 請求項1〜5のいずれか1項において、
    前記遅延制御部は、さらに、以前に算出した設定量と今回の設定量との差分を求め、当該差分が所定量を超えている場合には、以前に算出した設定量に当該所定量を加算したものを今回の設定量とする
    ことを特徴とする遅延調整回路。
  7. ロジックレベルが周期的に変化する入力信号を遅延させる回路であり、遅延量を調整可能な遅延調整回路であって、
    遅延量が可変であり、前記入力信号を遅延させ遅延信号を出力する可変遅延部と、
    前記入力信号の位相と前記遅延信号の位相とを比較する位相比較部と、
    前記可変遅延部の遅延量を徐々に増加させながら前記位相比較部による比較結果を監視し、前記入力信号と前記遅延信号との位相関係が逆転すると、前記可変遅延部の遅延量を固定する遅延制御部とを備える
    ことを特徴とする遅延調整回路。
  8. シンクロナスDRAMに記憶されたデータを読み出すメモリコントローラであり、当該シンクロナスDRAMからデータ信号および当該データ信号と同位相であるデータストローブ信号とを受けるメモリコントローラであって、
    遅延量が可変であり、前記データストローブ信号を遅延させ遅延信号を出力する可変遅延部と、
    前記データストローブ信号の位相と前記遅延信号の位相とを比較する位相比較部と、
    前記可変遅延部の遅延量を徐々に増加させながら前記位相比較部による比較結果を監視し、前記データストローブ信号と前記遅延信号との位相関係が逆転するときの前記可変遅延部の遅延量を検出し、前記検出した遅延量に1/2を乗算して設定量を算出し、前記可変遅延部の遅延量を前記設定量に設定する遅延制御部と、
    前記可変遅延部からの遅延信号を反転する反転部と、
    前記可変遅延部からの遅延信号に同期して前記データ信号を取り込む第1の保持部と、
    前記反転部の出力に同期して前記データ信号を取り込む第2の保持部とを備える
    ことを特徴とするメモリコントローラ。
JP2007158761A 2007-06-15 2007-06-15 遅延調整回路、およびメモリコントローラ Pending JP2008311999A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007158761A JP2008311999A (ja) 2007-06-15 2007-06-15 遅延調整回路、およびメモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007158761A JP2008311999A (ja) 2007-06-15 2007-06-15 遅延調整回路、およびメモリコントローラ

Publications (1)

Publication Number Publication Date
JP2008311999A true JP2008311999A (ja) 2008-12-25

Family

ID=40239185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007158761A Pending JP2008311999A (ja) 2007-06-15 2007-06-15 遅延調整回路、およびメモリコントローラ

Country Status (1)

Country Link
JP (1) JP2008311999A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8299829B2 (en) 2010-03-19 2012-10-30 Elpida Memory, Inc. Clock generation circuit, semiconductor device including the same, and method of generating clock signal
WO2013099035A1 (ja) * 2011-12-29 2013-07-04 ルネサスエレクトロニクス株式会社 半導体装置
JP2016123111A (ja) * 2016-01-29 2016-07-07 ルネサスエレクトロニクス株式会社 半導体装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8299829B2 (en) 2010-03-19 2012-10-30 Elpida Memory, Inc. Clock generation circuit, semiconductor device including the same, and method of generating clock signal
WO2013099035A1 (ja) * 2011-12-29 2013-07-04 ルネサスエレクトロニクス株式会社 半導体装置
JPWO2013099035A1 (ja) * 2011-12-29 2015-04-30 ルネサスエレクトロニクス株式会社 半導体装置
US9536579B2 (en) 2011-12-29 2017-01-03 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
TWI575879B (zh) * 2011-12-29 2017-03-21 Renesas Electronics Corp Semiconductor device
US9761299B2 (en) 2011-12-29 2017-09-12 Renesas Electronics Corporation Semiconductor integrated circuit capable of precisely adjusting delay amount of strobe signal
KR101837239B1 (ko) 2011-12-29 2018-03-09 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치
JP2016123111A (ja) * 2016-01-29 2016-07-07 ルネサスエレクトロニクス株式会社 半導体装置

Similar Documents

Publication Publication Date Title
JP4192273B2 (ja) 半導体記憶素子における遅延同期ループ及びその同期方法
KR100834400B1 (ko) Dram의 동작 주파수를 높이기 위한 지연고정루프 및 그의 출력드라이버
JP4416580B2 (ja) 遅延制御装置
JP4789172B2 (ja) 半導体記憶素子におけるディレイロックループ及びそのロック方法
US7557627B2 (en) Semiconductor memory device for generating a delay locked clock in early stage
JP5149076B2 (ja) 遅延固定ループ
KR101050406B1 (ko) 듀티 보정 회로 및 이를 포함하는 클럭 생성 회로
JP2010182149A (ja) メモリ制御装置、及びメモリ制御方法
WO2010038422A1 (ja) メモリインターフェース
WO2010146763A1 (ja) ラッチタイミング調整装置およびそれを用いたメモリアクセスシステム
US7876138B2 (en) DLL circuit and semiconductor device having the same
US20110273937A1 (en) Semiconductor memory device and method for operating the same
KR100553833B1 (ko) 지연동기회로의 인버젼 제어회로 및 방법과, 이를 이용한지연동기회로 및 반도체 메모리 장치
WO2011077574A1 (ja) 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
US7737744B2 (en) Register controlled delay locked loop circuit
US8729940B2 (en) Delay locked loop circuit and semiconductor device having the same
JP2008311999A (ja) 遅延調整回路、およびメモリコントローラ
JP2007226308A (ja) インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
JP2008172574A (ja) クロック位相シフト回路
KR100735548B1 (ko) 지연동기회로 및 방법
JP6167855B2 (ja) 信号制御回路、情報処理装置及び信号制御方法
KR100845784B1 (ko) 지연 고정 루프의 지연 장치
JP5072317B2 (ja) メモリコントローラ
JP2004220643A (ja) 半導体メモリ制御装置
JP5919918B2 (ja) メモリ制御装置及びマスクタイミング制御方法