説明

信号マスキング方法、信号マスキング回路、及び、その回路を搭載した半導体集積回路

【課題】
本発明は、リードデータストローブのマスク及びゲーティングの時点において、リードデータストローブがHi−Z状態となることを防止する信号マスキング回路及び半導体集積回路を提供することを目的とする。
【解決手段】
リードデータストローブの論理"L"の期間を検出し、その期間が所定の期間であるときはゲーティング信号を発生する検出回路と、遅延リードデータストローブ信号発生回路と、遅延リードデータストローブに対してゲーティングを行い、第1マスクリードデータストローブ信号を発生するゲーティング回路と、第1マスクドリードデータストローブ信号の立ち下がりを所定数に達するまでカウントし、第1マスクドリードデータストローブをマスクするマスク信号を発生するカウント回路と、第1マスクドリードデータストローブのマスクを行い、第2マスクドリードデータストローブ信号を出力するマスク回路と、を有する信号マスキング回路。

【発明の詳細な説明】
【技術分野】
【0001】
信号マスキング方法、信号マスキング回路、及び、その回路を搭載した半導体集積回路に関し、特に、DRAM(Dynamic Random Access Memory)から出力されたバス信号のマスキング方法、信号マスキング回路、及び、その回路を搭載した半導体集積回路に関する。
【背景技術】
【0002】
クロック信号に同期して動作する半導体メモリであるSDRAM(SynchronousDynamic Random Access Memory)とロジック回路間のデータ信号をクロックに同期して行うことにより、半導体集積回路内のデータ転送の高速化が図られている。
【0003】
そして、転送速度の高速化のために、クロックの立ち上がり及び立ち下がりの双方でデータを出力するDDRSDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)が採用されつつある。
【0004】
DDRSDRAMが出力するリードデータの出力期間はクロック周期の半分であり、高速である。また、DDRSDRAMのようなパラレルインターフェイスにおいては常に信号間のスキューが問題になるため、高速化に伴い、リードデータをキャプチャするのが難しくなる。
【0005】
そこで、DDRSDRAMは、リードデータを出力するとともに、リードデータに同期したリードデータストローブ(RDQS:Read Data Strobe Signal)を出力する。すなわち、いわゆる、ソース・シンクロナス(Source Synchronous)転送によりリードデータを出力する。ロジック回路側ではリードデータを、リードデータストローブ(RDQS)から発生した信号によって、リードデータを取得する。そうすると、リードデータとリードデータストローブ(RDQS)は同期しているため、上記の信号間の位相はほぼ一定となり、リードデータの確定期間は削られない。
【0006】
その後、ロジック回路側でリードデータストローブ(RDQS)によって取得したリードデータを利用するためには、クロックに同期したフリップフロップ等の記憶回路に、上記のリードデータを受け渡す必要がある。
【0007】
そこで、フリップフロップに対して、データ端子にリードデータを入力し、クロック端子にリードデータストローブ(RDQS)を入力してリードデータをラッチする。次いで、次段のフリップフロップに対して、そのラッチデータを入力し、クロック端子にロジック回路側で使用しているクロック信号を入力して、そのラッチデータをラッチしている。
【0008】
ここで、ロジック回路にリードデータストローブ(RDQS)を伝える信号線には複数の半導体メモリを接続することが想定されている。そこで、DDRSDRAMは、リードデータストローブ(RDQS)を出力する際に、リードデータを出力する期間のみリードデータストローブ(RDQS)を伝える信号線を駆動し、それ以外の期間はその信号線を駆動しない。すなわち、リードデータストローブ(RDQS)はいわゆるバス信号である。従って、リードデータを取り込むのに有効なリードデータストローブ(RDQS)の期間、リードデータを取り込むのに有効なリードデータストローブ(RDQS)の最初の立ち上がりに先立つ約1サイクルの論理"L"の期間(いわゆる、リードプレアンブル:ReadPreamble)、及び、最後の立ち下がりの後に存在する約0.5サイクル期間の論理"L"の期間(いわゆる、 リードポストアンブル:ReadPostamble)においては、リードデータストローブ(RDQS)の論理は確定しているが、その他の期間はHi−Z状態となる。従って、リードデータをラッチするフリップフロップのクロック端子にリードデータストローブ(RDQS)を接続するだけでは、一旦、リードデータストローブによりリードデータをキャプチャしたあとに、内部ロジック回路へデータを受け渡す際に、リードデータストローブ(RDQS)のHi-Z状態にパルスが乗ってしまうと、キャプチャしたデータが破壊されてしまう恐れがある。
【0009】
そこで、リードデータストローブ(RDQS)の入力をうけて、リードデータをフリップフロップでラッチするための、第1のタイミング信号を発生する遅延回路と、第1のタイミング信号から発生した第2のタイミング信号に応じてリードデータをラッチしたフリップフロップからの出力を維持する信号確定状態維持回路と、を有する半導体集積回路が提案されている(例えば、特許文献1)。リードデータストローブ(RDQS)がHi−Zになってからも、所定の期間、リードデータがフリップフロップにおいて維持されるため、クロック信号がクロック端子に入力されている次段のフリップフロップがリードデータをラッチするまでの期間が確保される。従って、リードデータストローブ(RDQS)の入力回路に対して、入力を禁止する時点(すなわち、マスクする時点)にリードデータストローブ(RDQS)がHi−Zになってしまっても、リードデータは維持される。
【0010】
しかし、リードデータがフリップフロップに入力されることがわかってから、リードデータストローブ(RDQS)の入力回路に入力許可が与えられた時点(すなわち、ゲーティングされた時点)で、リードデータストローブ(RDQS)がHi−Zとなっている場合には、フリップフロップが誤ったリードデータをラッチすることになる。
【0011】
上記のように、リードデータストローブ(RDQS)のマスク及びゲーティングの時点が、リードデータを取り込むためのリードデータストローブ(RDQS)の有効期間、リードプレアンブル、及び、リードポストアンブルとずれる理由は以下である。すなわち、ロジック側のクロックによってマスク及びゲーティングをかける時点に対して、ロジック側のクロックがDDRSDRAMに伝わって、ロジック側にリードデータストローブ(RDQS)が伝播するまでには、ロジック側の入出力回路特性、伝送路遅延、DRAM特性等、様々なバラツキ要因が存在するため、上記の経路における信号遅延(いわゆる、フライトタイム)が一定でないことにより、リードデータストローブ(RDQS)がロジック側に伝わる時点が一定でないことにある。
【0012】
なお、フリップフロップが誤ったリードデータをラッチすることを防止するため、リードデータストローブ(RDQS)のマスク及びゲーティングの時点を、リードデータを取り込むためのリードデータストローブ(RDQS)の有効期間、リードプレアンブル、及び、リードポストアンブルの内側に設定することが考えられるが、信号遅延(フライトタイム)が一定でないため、リードデータを取り込むためのリードデータストローブ(RDQS)の有効期間が削られる場合が発生する。
【特許文献1】特開2006−107352号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
しかし、リードデータストローブ(RDQS)が発生されるまでの経路は、クロック発生を行うロジック回路、クロックの伝送線路、DDRSDRAMにおけるクロックを発生する回路、DDRSDRAMにおけるリードデータストローブ(RDQS)を発生する回路、リードデータストローブ(RDQS)の伝送線路、及び、ロジック側におけるリードデータストローブ(RDQS)を受信する回路、から構成されており、経路中の各箇所において信号遅延量のバラツキがことなり、経路全体の信号遅延(フライトタイム)を一定とすることは非常に困難である。
【0014】
そこで、本発明は、リードデータストローブ(RDQS)のマスク及びゲーティングの時点において、リードデータストローブ(RDQS)がHi−Z状態となることを防止するとともに、リードデータを取り込むためのリードデータストローブ(RDQS)の有効期間が削られることを防止する信号マスキング方法、信号マスキング回路、及び、半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【0015】
上記の課題を解決するため、本発明は、
リードデータを取り込むために有効なリードデータストローブ信号の期間に先立って存在する論理"L"の期間を検出し、前記論理"L"の期間が所定の期間であるときはゲーティング信号を発生する検出回路と、
リードデータストローブ信号を遅延させて遅延リードデータストローブ信号を発生させる遅延リードデータストローブ信号発生回路と、
前記ゲーティング信号を受けて、前記遅延リードデータストローブに対してゲーティングを行い、第1マスクリードデータストローブ信号を発生するゲーティング回路と、
前記ゲーティングの後、前記第1マスクドリードデータストローブ信号の立ち下がりを所定数に達するまでカウントし、その後、前記第1マスクドリードデータストローブをマスクするマスク信号を発生するカウント回路と、
前記マスク信号を受け、前記第1マスクドリードデータストローブのマスクを行い、第2マスクドリードデータストローブ信号を出力するマスク回路と、
を有する信号マスキング回路を提供する。
【0016】
また、上記の課題を解決するため、本発明は、
リード命令を取り込んだクロック信号の立ち上がりから、設定された期間が経過した後、リードデータを取り込むために有効なリードデータストローブの期間に先立って存在する論理"L"の期間の検出を開始し、
リードデータストローブ信号を遅延させて遅延リードデータストローブ信号を発生し、
前記論理"L"の期間が所定の長さに達した後、前記遅延リードデータストローブ信号に対してゲーティングを行うゲーティング信号を発生し、
前記ゲーティング信号により前記遅延リードデータストローブ信号に対してゲーティングを行うことによりマスクドリードデータストローブ信号を発生した後、前記マスクドリードデータストローブ信号の立ち下がりのカウントを開始し、
前記立ち下がりのカウント数が所定の数に達したときに、前記遅延リードデータストローブ信号をマスクするマスク信号を発生し、
前記遅延リードデータストローブ信号を前記マスク信号によりマスクし、前記マスクドリードデータストローブ信号の論理を固定値とすることを特徴とする信号マスキング方法を提供する。
【発明の効果】
【0017】
本発明が提供する信号マスキング回路によれば、リードデータストローブ(RDQS)自身からリードデータストローブ(RDQS)のマスク及びゲーティング信号を発生する回路によりフライトタイムに依存せず、リードデータストローブ(RDQS)とほぼ一定の位相関係をもつ、マスク及びゲーティング信号を発生することができる。
【0018】
その結果、リードデータストローブ(RDQS)のマスク及びゲーティングの時点において、リードデータストローブ(RDQS)がHi−Z状態となることを防止するとともに、リードデータを取り込むためのリードデータストローブ(RDQS)の有効期間が削られることを防止することができる。
【0019】
本発明が提供する信号マスキング方法によれば、リードデータストローブ(RDQS)自身からリードデータストローブ(RDQS)のマスク及びゲーティングを行う信号を発生させるため、リードデータストローブ(RDQS)とマスク及びゲーティングを行う信号との間の信号遅延はほぼ一定とすることができる。
【0020】
その結果、リードデータストローブ(RDQS)のマスク及びゲーティングの時点において、リードデータストローブ(RDQS)がHi−Z状態となることを防止するとともに、リードデータを取り込むためのリードデータストローブ(RDQS)の有効期間が削られることを防止することができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明の実施例1について説明する。ただし、本発明は、上記の実施例1に限定されない。
【実施例1】
【0022】
実施例1は、メモリインターフェイス回路4に関するものである。図1乃至図8を用いて実施例1を説明する。
【0023】
図1は、メモリインターフェイス回路4の概略を説明する回路図である。また、図1は、DRAM1から出力されたデータ(DQ20)及びリードデータストローブ(RDQS)25を受けて、メモリインターフェイス回路4がリードデータストローブ(RDQS)25によって、データ(DQ)20を取得し、DRAMコントローラ5にクロック信号67に同期してラッチされたデータ(DQb)35を出力しているところを示す。
【0024】
DRAM1はデータを記憶する記憶回路である。DRAM1は、ライトコマンド信号を受け、同時に入力されるライトデータを、ライトコマンド信号と同時に入力されるアドレスに応じた記憶素子にそのライトデータを記憶する。また、DRAM1は、リードコマンド信号を受け、同時に入力されるアドレスに応じた記憶素子に記憶されたリードデータを出力する。
【0025】
そして、DRAM1は標準的なDDRSDRAMであり、その標準規格によれば、データ入出力端子からデータ出力バッファ2によりデータ(DQ)20を出力し、リードデータストローブ出力端子からリードデータストローブ出力バッファ3によりリードデータストローブ(RDQS)25を出力する。なお、DRAM1のその他の回路及び記憶素子部分は、メモリインターフェイス回路4の説明に不要なため、省略した。しかし、標準的なDDRSDRAMの他の規格を満たすための、他の回路が搭載されていることはいうまでもない。
【0026】
DRAMコントローラ5はDRAM1をコントロールし、リードデータDQ20の出力及びライトデータの入力を制御する回路である。そして、DRAMコントローラ5はデータ入力バッファ40によってデータ(DQb35)を受け取る。DRAMコントローラ5は制御信号出力バッファ41によって制御信号32を出力し、プレスタート信号出力バッファ42によってプレスタート信号33を出力する。また、DRAMコントローラ5はデコード信号入力バッファ46によってDLL回路6からのデコード信号66を受け取り、その情報をもとにプレTh信号出力バッファ45によって、プレTh信号44を出力する。また、DRAMコントローラ5は標準的なDDRSDRAMをコントロールする回路を有する。例えば、メモリインターフェイス回路4の説明に不要なため、図示されていないが、DRAMコントローラ5はライトコマンド、リードコマンド等のコマンドを発生し出力する回路、上記のライトコマンド等と同時に入力するアドレスを発生し出力する回路等が搭載されていることはいうまでもない。なお、制御信号32、プレスタート信号33、デコード信号66、プレTh信号44については、後述する。
【0027】
メモリインターフェイス回路4は、信号マスキング回路16、フリッフフロップ12、信号遅延回路DLB13、FIFO(First In First Out) 14、FIFO15、及び、FIFO18から構成されている。
【0028】
信号マスキング回路16はリードデータストローブ(RDQS)25を受けて、リードデータストローブ(RDQS)25の論理が不確定な期間、すなわち、Hi−Zの期間をマスクし、その期間の信号論理を論理”L”に変換したマスクドリードデータストローブ(MRDQS)29を出力する機能を有する。なお、詳細な動作及び機能については、後述する。
【0029】
そして、信号マスキング回路16は計測回路17、AND9、AND10、及び、カウンタ11から構成されている。
【0030】
そして、計測回路17はDLL回路6、リードデータストローブ信号遅延回路DLA7、及び、検出回路8から構成されている。なお、DLL回路6、リードデータストローブ信号遅延回路DLA7、検出回路8の詳細については後述する。また、計測回路17の詳細動作及び機能についても、後述する。
【0031】
なお、計測回路17はDRAM1からリードデータストローブ(RDQS)25を受けとる。また、計測回路17は、AND9の一方の入力端子に対して、リードデータストローブ(RDQS)25を1/4位相遅らせた遅延信号A23を出力する。さらに、計測回路17は、AND9の他方の入力端子に対して、リードデータストローブ(RDQS)25の立ち上がりに同期したゲーティング信号B24を出力する。なお、計測回路17は、信号遅延回路DLB13から、スタート信号30を受けた時に検出を開始する。また、計測回路17は、カウンタ11よりのリセット信号28を受けた時に、リセットされる。さらに、計測回路17は、検出すべきリードデータストローブ(RDQS)25の論理"L"の期間の閾値を決める信号Th44aを受けて、論理"L"の期間の閾値を決定する。
【0032】
AND9は、入力端子に遅延信号A23及びゲーティング信号B24を受け、リードデータストローブ(RDQS)25を1/4位相遅らせた遅延信号C26を、AND10の一方の端子に出力する。
【0033】
信号遅延回路DLB13は、DRAMコントローラ5から出力されたプレスタート信号33を受けて、プレスタート信号33を所定位相遅らせて、スタート信号30を出力する。
【0034】
FIFO15は、DRAMコントローラ5から出力された制御信号32をクロック信号67の立ち上がりに応じてラッチし、マスクドリードデータストローブ(MRDQS)29の立ち上がりでカウンタ11に制御信号31を出力する。なお、制御信号31は複数の信号を含み、後に説明するように、少なくとも、カウンタリセット98、BL2(100)、BL4(102)、BL8(104)を含む。
【0035】
AND10は、一方の入力端子に遅延信号C26を受け、他方の入力端子にEND27を受けて、マスクドリードデータストローブ(MRDQS)29を出力する。
【0036】
カウンタ11は、制御信号31受けた後、計測回路17にリセット信号28を送る。そして、カウンタ11は、マスクドリードデータストローブ(MRDQS)29を受け、所定の数マスクドリードデータストローブ(MRDQS)29の立ち下がりを数えた後、AND10に対して、遅延信号C26のゲーティングを止めるEND信号27をマスクドリードデータストローブ(MRDQS)29の立ち下がりに同期して出力する。
【0037】
フリップフロップ12はマスクドリードデータストローブ(MRDQS)29の立ち上がりに応じて、リードデータDQ20をラッチし、データDQA34を出力する。
【0038】
FIFO14は、データDQA34を、クロック信号67の立ち上がりに応じてラッチし、クロック信号67の立ち上がりでデータDQB35を出力する。
【0039】
FIFO18は、DRAMコントローラ5から、検出すべきリードデータストローブ(RDQS)25の論理"L"の期間の閾値を決める信号PTh44を受けて、クロック信号67に同期してラッチする。そして、計測回路17に向けて、検出すべきリードデータストローブ(RDQS)25の論理"L"の期間の閾値を決める信号Th43をクロック信号67の立ち上がりで出力する。
【0040】
図2A及び図2Bは計測回路17を構成するDLL回路6を示す回路図である。ここで、図2Aは、DLL回路6を構成する回路ユニット60を示す。回路ユニット60は、スイッチ回路51、52、インバータ53、出力信号DELOUT54、入力信号DELIN55、選択信号SELIN56、信号増幅器57、59、信号CLKIN58、及び、信号CLKOUT61から構成されている。なお、以下の図面において、スイッチ回路を表す台形記号はスイッチ回路51、52、インバータ53から構成されるスイッチ回路50をあらわす。
【0041】
回路ユニット60は信号CLKIN58を増幅して信号DELOUT54として出力する。また、信号SELIN56の論理が"H"であるときには、回路ユニット60は信号DELOUT54を増幅して信号CLKOUT61として出力する。また、信号SELIN56の論理が"L"であるときには、回路ユニット60は信号DELIN55を増幅して信号CLKOUT61として出力する。
【0042】
図2Bは、DLL回路6を示す回路図である。DLL回路6は位相比較回路62、回路ユニット60を複数接続して構成される遅延回路64、及び、選択回路63から構成されている。
【0043】
遅延回路64は、1行分の回路ユニット60a(1)乃至回路ユニット60a(n)、1行分の回路ユニット60b(1)乃至回路ユニット60b(n)、1行分の回路ユニット60c(1)乃至回路ユニット60c(n)、及び、1行分の回路ユニット60d(1)乃至回路ユニット60d(n)、すなわち、4行分の回路ユニット60が直列に接続されて、構成されている。遅延回路64はクロック信号67に位相遅延を与えるための回路である。すなわち、遅延回路64はクロック信号67を受け、遅延クロック信号65を位相比較回路62に出力する回路である。
【0044】
選択回路63はデコーダ63a(1)乃至デコーダ63a(n)で構成されている。デコーダ63a(1)乃至デコーダ63a(n)は、信号SELIN56を発生し、クロック信号67の位相遅延に寄与する回路ユニット60の列を決定する。例えば、デコード63a(1)からSELIN56が発生する場合は、信号回路ユニット60a(1)乃至回路ユニット60d(1)が属する列がクロック信号67の遅延に寄与する。すなわち、デコーダ63a(m)(mは1からnまでの整数)から信号SELIN56が発生する場合には、回路ユニット60a(1)から回路ユニット60a(m)、回路ユニット60b(1)から回路ユニット60b(m)、回路ユニット60c(1)から回路ユニット60c(m)、及び、回路ユニット60d(1)から回路ユニット60d(m)までの回路ユニット60がクロック信号67の遅延に寄与する。すなわち、図2Bを参照して、クロック信号67は、回路ユニット60a(1)の上段の増幅器(回路ユニット60の信号増幅器57に相当)から回路ユニット60a(m)の上段の増幅器を通過し、その後、回路ユニット60a(m)の下段の増幅器(回路ユニット60の信号増幅器59に相当)から回路ユニット60a(1)の下段の増幅器を通過し、その後、同様に回路ユニット60b(1)から回路ユニット60b(m)の各々の上段の増幅器、及び、下段の増幅器を通過し、その後、同様に回路ユニット60c(1)から回路ユニット60c(m)の各々の上段の増幅器、及び、下段の増幅器を通過し、その後、同様に回路ユニット60d(1)から回路ユニット60d(m)の各々の上段の増幅器、及び、下段の増幅器を通過して、遅延クロック信号65として位相比較回路62に伝播する。
【0045】
位相比較回路62はクロック信号67と、遅延回路64を介して出力された遅延クロック信号65との位相を比較する回路である。そして、比較した結果、クロック信号67の位相に対して、1クロック周期分遅れた遅延クロック信号65の位相が一致するようにいずれかの選択回路63内のデコーダ63a(m)(mは1からnまでの整数)を活性化するデコード信号66を発生する。なお、デコード信号66は選択回路63内のデコーダ63a(m)(mは1からnまでの整数)のいずれかを選択する8ビットのデジタル信号である。すなわち、上記のデジタル信号は、DLL回路6において、クロック信号67の1周期に相当する素子数に関する情報をもっていることになる。なぜなら、例えば、デジタル信号"01000000"によって、選択回路60d(2)が選択された場合、クロック信号67が入力され、位相比較回路62に戻るまでに経由する回路ユニット60の数は8個と一義的にきまるからである。その際、クロック信号67が経由する増幅器の段数は、16段である。回路ユニット60は2段の信号増幅器57、59を有するからである。
【0046】
図2Bを参照して、DLL回路6の動作を説明する。位相比較回路62は遅延回路60に入力されるクロック信号67の位相と遅延クロック信号65の位相を比較する。そして、比較の結果、遅延クロック信号65の位相が早い場合、クロック信号67が通過する回路ユニット60の数が多くなるように、デコード回路63a(1)乃至デコード回路63a(n)の内の一つを活性化させるデコード信号66を出力する。一方、遅延クロック信号65の位相が遅い場合、クロック信号67が通過する回路ユニット60の数が少なくなるように、デコード回路63a(1)乃至デコード回路63a(n)の内の一つを活性化させるデコード信号66を出力する。そして、遅延クロック信号65の位相とクロック信号67の位相が一致する場合には、位相の比較を行う前のデコード信号66と同一のデジットを有するデコード信号66を維持する。
【0047】
そうすると、回路ユニット60を駆動する電源条件がどのような条件であっても、クロック信号67の1周期分の遅延をもたらす回路ユニット60の数をデコード信号66が有するデジットより判断することができる。そうすると、メモリインターフェイス回路4はデコード信号66を受け取り、クロック信号67の1周期分が増幅器(回路ユニット60の増幅器57、59)の何段分に相当しているかを認識することができる。なお、例えば、いわゆるベスト条件であった場合には、遅延回路64においてクロック信号67の遅延に関与する回路ユニット60の数は多くなる。なぜなら、回路ユニット60中のインバータ57、59による信号遅延は小さくなるからである。いわゆるワースト条件であった場合には、遅延回路64においてクロック信号67の遅延に関与する回路ユニット60の数は少なくなる。回路ユニット60中のインバータ57、59による信号遅延は大きくなるからである。なお、ベスト条件とは、回路に供給される電源電圧が定格値の上限である場合をいい、ワースト条件とは、回路に供給される電源電圧が定格値の下限である場合をいう。以上がDLL回路6の基本機能である。DLL回路6内部の回路ユニット60内のバッファによるチェーン段数及び一段あたりのバッファの遅延値を小さくすればするほど、遅延調整機能としての分解能は高まりより高速なインターフェイスに対応が可能となる。なお、当然、本発明は特定のDLL回路構成に限定されるものではない。
【0048】
図3は計測回路17を構成するリードデータストローブ信号遅延回路DLA7を示す回路図である。なお、図3は、リードデータストローブ信号遅延回路DLA7の説明の都合上、DLL回路6、検出回路8、リードデータストローブ信号遅延回路DLA7を示す。
【0049】
リードデータストローブ信号遅延回路DLA7は、選択回路70、遅延回路71から構成されている。
【0050】
遅延回路71は1行分の回路ユニット71a(1)乃至回路ユニット71a(n)が直列に接続されて構成されている。なお、回路ユニット71a(1)乃至回路ユニット71a(n)は回路ユニット60と同様な回路である。ただし、遅延回路71を構成する回路ユニット60の数は遅延回路64を構成する回路ユニット60の1/4の個数である。
【0051】
選択回路70はデコード回路70a(1)乃至デコード回路70a(n)から構成されている。デコード回路70a(1)乃至デコーダ回路70a(n)はデコード回路63a(1)乃至デコーダ回路63a(n)と同様な回路である。そして、DLL回路6から供給されるデコード信号66を受けて、選択回路63内のデコード回路63a(m)(mは1からnまでの整数)に対応する、選択回路70内のデコード回路70a(m)(mは1からnまでの整数)が回路ユニット71a(m)(mは1からnまでの整数)に対して選択信号SELIN56を出力する。その結果、回路ユニット71a(1)から回路ユニット71a(m)までが、リードデータストローブ(RDQS)25の位相遅延に寄与する。
【0052】
そうすると、リードデータストローブ信号遅延回路DLA7は、リードデータストローブ(RDQS25)に対して、クロック信号67の1/4周期分の位相遅延を付加して遅延信号A23を出力する。なぜなら、回路ユニット71a(m)(mは1からnまでの整数)は回路ユニット60と同様な回路である。また、リードデータストローブ信号遅延回路DLA7において、信号遅延に寄与する回路ユニット71a(m)の数は、DLL回路において、信号遅延に寄与する回路ユニット60a(m)、60b(m)、60c(m)、及び、60d(m)(mは1からnまでの整数)の数の1/4になるからである。なお、上記のように回路ユニットの個数が1/4になる理由は、デコーダ回路70a(m)(mは1からnまでの整数)一つあたりに接続する回路ユニット71a(m)の数の4倍の回路ユニット60a(m)等が、デコード回路63a(m)(mは1からnまでの整数)一つに接続されているからである。
【0053】
図4は計測回路17を構成する検出回路8を示す回路図である。検出回路8は遅延回路80、選択回路81、L期間検出回路82、及び、AND83から構成されている。
【0054】
遅延回路80は、1行分の回路ユニット80a(1)乃至回路ユニット80a(n)、1行分の回路ユニット80b(1)乃至回路ユニット80b(n)、1行分の回路ユニット80c(1)乃至回路ユニット80c(n)、及び、1行分の回路ユニット80d(1)乃至回路ユニット80d(n)から構成されている。すなわち、上記の回路ユニット80a(1)等は回路ユニット60と同様なものであるから、直列に接続された、4行分の回路ユニット60によって、遅延回路80は構成されている。なお、上記の構成はDLL回路6の遅延回路64と同様な構成である。
【0055】
選択回路81はデコード回路81a(1)乃至デコード回路81a(n)から構成されている。上記のデコード回路81a(1)乃至デコード回路81a(n)は、DLL回路6におけるデコード回路63a(1)乃至デコード回路63a(n)と同様な回路である。
【0056】
そして、選択回路81はDLL回路6からのデコード信号66を受けると、デコード回路81a(1)乃至デコード回路81a(n)の内の一つから選択信号SELIN56が出力する回路である。
【0057】
そして、遅延回路80にたいして、選択回路81は、上記の選択信号SELIN56の出力によって、リードデータストローブ(RDQS)25が経由する回路ユニット60の数と、DLL回路6においてクロック信号67が経由する回路ユニット60の数とが同等となるように作用する。DLL回路6で使用されているデコード信号66を、選択回路81において、そのまま使用するため、DLL回路6において活性化するデコーダ回路63a(m)(mは1からnまでの整数)に相当するデコーダ回路81a(m)(mは1からnまでの整数)が活性化するからである。
【0058】
そうすると、リードデータストローブ(RDQS)25が経由する回路ユニット60によって形成される遅延量は、クロック信号67の1周期分となる。
【0059】
なお、選択回路81中のノードA1乃至Anは、後に説明する、L期間検出回路82に設けられている信号と接続する。
【0060】
L期間検出回路82は、L期間検出用のAND82a1乃至82an、フリップフロップ84、プルアップ抵抗85a1乃至85an、及び、配線B1乃至Bnにより構成されている。L期間検出用のAND82a1乃至82anの各出力は、ワイヤードオアされ、ノードBBに出力される。なお、AND82am(mは1からnまでの整数)はm+2個の入力端子を有する。そして、上記入力端子の内の一つは、AND82am(mは1からnまでの整数)を選択する信号Th信号43に接続する。また、残りの入力端子は配線B1乃至Bnの何れかに接続されている。
【0061】
配線B1乃至Bnは選択回路81中のノードA1乃至Anに接続する配線である。
【0062】
プルアップ抵抗85a1乃至85anは高抵抗であり、配線B1乃至Bnの論理が不定となることを防止するため、高電位電源Vccと配線B1乃至Bnを接続する抵抗である。
【0063】
L期間検出用のAND82a1乃至82anは選択回路81中のノードA1乃至Anに接続する配線B1乃至Bnからの信号の内の一部又は全部をうけて、リードデータストローブ(RDQS)25のL期間を検出する回路である。なお、AND82a1乃至82anの内、活性化する回路の選択はTh信号43により行われる。また、Th信号43は図1に示すようにDRAMコントローラ5から出力されるプレTh信号44に応じてFIFO18を介して入力される指令信号である。ここで、DRAMコントローラ5はデコード信号66を通じて、クロック信号67の1周期分が何段の増幅器の遅延に相当するか、或いは、どのデコード回路80a(m)(mは1からnまでの整数)から選択信号SELIN56が出力されているかを認識している。そうすると、DRAMコントローラ5は検出すべきL期間の長さ、及び、データストローブ(RDQS25)が通過するノードがノードA1乃至Anの内のどれに相当するかを考慮してプレTh信号44を出力する。その結果、選択されたAND82a1乃至82anのいずれかによって、所定のL期間の検出が可能になる。
【0064】
具体的には、以下のようにリードデータストローブ(RDQS)25のL期間を検出する。例えば、配線B1からの信号、配線B2からの信号、及び、Th信号43の内のAND82a1を選択する信号の論理がすべて論理"L"である場合に、AND82a1は論理"L"の信号を出力する。そうすると、AND82a1は論理"L"の信号を出力する場合、遅延回路80のノードA1及びA2の論理は同時に論理"L"である。従って、リードデータストローブ(RDQS25)の論理"L"の部分がノードA2に伝播したときに、ノードA1が論理"L"を維持しているのであるから、リードデータストローブ(RDQS)25がノードA1からノードA2に伝播する期間、リードデータストローブ(RDQS)25は論理"L"を維持していることになる。
【0065】
そうすると、AND82a1はリードデータストローブ(RDQS)25のL期間が回路ユニット80a(1)を信号が通過する期間以上の長さであることを検出したことになる。なお、回路ユニット80a(1)を信号が通過する期間はDLL回路6において回路ユニット60a(1)を信号が通過する期間と同等である。そうすると、DLL回路6において、クロック信号67と遅延クロック信号65とが同一位相となり、1クロック周期がk個の回路ユニット60の遅延時間と同等である場合には、リードデータストローブ(RDQS)25のL期間は、(1クロック周期/k)以上であることがわかる。
【0066】
同様に、AND82am(mは1からnまでの整数)のm+1個の入力端子が、リードデータストローブ(RDQS)25が通過する遅延経路に沿って並んでいる、m+1個のノードに接続しているため、AND82am(mは1からnまでの整数)は、m+1個のノードの論理がすべて"L"であるときに、論理"L"の信号を出力する。上記のm+1個のノードの論理がすべて"L"である状態は、リードデータストローブ(RDQS)25が回路ユニット80a(m)(mは1からnまでの整数)、回路ユニット80b(m)(mは1からnまでの整数)、回路ユニット80c(m)(mは1からnまでの整数)、及び、回路ユニット80d(m)(mは1からnまでの整数)を通過している期間、リードデータストローブ(RDQS)25の論理が"L"であることを示している。すなわち、1クロック周期がk個の回路ユニット60の遅延時間と同等である場合、リードデータストローブ(RDQS25)のL期間は、(1クロック周期×m/k)以上であることがわかる。
【0067】
その後、リードデータストローブ(RDQS)25が遅延回路80に入力される時点で、論理"L"から論理"H"に立ち上がると、AND82am(mは1からnまでの整数)は、論理"L"から論理"H"に立ち上がる信号を出力する。すなわち、リードデータストローブ(RDQS)25のL期間は、(1クロック周期×m/k)以上であることを検出したことを表す信号が、ノードBBに表れる。
【0068】
フリップフロップ84はノードBBに表れた信号の論理"L"から論理"H"への立ち上がりで、論理"H"をラッチし、ノードBBに対して、論理"H"の信号を出力する回路である。また、フリップフロップ84はReset信号を受けてラッチをリセットする回路である。すなわち、いわゆる、フリップフロップ84はTフリップフロップである。
【0069】
そうすると、L期間検出回路82は、次のように動作する。まず、L期間検出用のAND82a1乃至82anは、リードデータストローブ(RDQS)25の論理"L"の期間が所定の期間に達すると、論理"L"の信号を出力する。その後、リードデータストローブ(RDQS)25が論理"L"から論理"H"に立ち上がると、その時点でノードBBに表れる信号は論理"L"から論理"H"へ立ち上がる。従って、L期間検出回路82は、検出回路8がリードデータストローブ(RDQS25)のL期間の検出を開始した時点では、ノードBBに接続する端子から論理"L"の信号を出力し、所定の期間、リードデータストローブ(RDQS)25が論値"L"であったときには、ノードBBに接続する端子から論理"H"の信号を出力する回路である。
【0070】
AND回路83は、スタート信号30の論理が"L"のときは、論理"L"の信号を出力する。また、AND回路83は、スタート信号30の論理が"H"のときは、デコード信号66の論理に応じた論理信号を出力する。
【0071】
以上より、検出回路8は、スタート信号30を受け、デコード信号66に応じて1クロック周期分の遅延経路が遅延回路80に設定される。また、検出回路8は、Th信号43を受けることにより、上記の遅延経路を通過するリードデータストローブ(RDQS)25が所定の論理"L"期間を有することを検出する。なお、所定の論理"L"期間は、1クロック周期に対する比率で指定される期間となる。1クロック周期を表す回路ユニットの数に対して、リードデータストローブ(RDQS)25が論値"L"である期間も回路ユニットの数で指定することになるからである。
【0072】
図5は、実施例1の信号マスキング回路16のカウンタ11を示す回路図である。カウンタ回路11はインバータ90、Tフリップフロップ91、92、93、94、スイッチ回路95、スイッチ回路96、及び、スイッチ回路97から構成されている。
【0073】
そして、インバータ90の入力端子にはマスクドリードデータストローブ(MRDQS)29が入力される。インバータ90の出力端子は、Tフリップフロップ91のクロック端子に接続されている。Tフリップフロップ91の反転データ出力端子はTフリップフロップ92のクロック端子に接続されている。Tフリップフロップ92の反転データ出力端子はTフリップフロップ93のクロック端子に接続されている。Tフリップフロップ92のデータ出力端子はスイッチ回路95の入力端子に接続されている。Tフリップフロップ93の反転データ出力端子はTフリップフロップ94のクロック端子に接続されている。Tフリップフロップ93のデータ出力端子はスイッチ回路97の入力端子に接続されている。Tフリップフロップ94のデータ出力端子はスイッチ回路96の入力端子に接続されている。スイッチ回路95の出力端子、スイッチ回路96の出力端子、及び、スイッチ回路97の出力端子はワイヤードオアされており、END信号27を出力する端子に接続されている。Tフリップフロップ91、Tフリップフロップ92、Tフリップフロップ93、及び、Tフリップフロップ94のリセット端子には、カウンタリセット98が入力される入力端子に接続される。
【0074】
そして、カウンタ回路11は次のように動作する。マスクドリードデータストローブ(MRDQS)29がインバータ90に入力されると、インバータ90はその反転信号を出力する。次いで、マスクドリードデータストローブ(MRDQS)29の立ち下がり、すなわち、マスクドリードデータストローブ(MRDQS)29の反転信号の立ち上がりにより、Tフリップフロップ91は反転データ出力信号を出力する。次いで、Tフリップフロップ92のクロック端子にTフリップフロップ91からの反転データ出力信号が入力されると、Tフリップフロップ92はデータ信号を出力する。スイッチ回路95は、/BL2(99)を受ける端子に"L"論理が入力され、BL2(100)を受ける端子に"H"論理が入力された場合は、Tフリップフロップ92からのデータ信号をEND信号27として出力する。一方、Tフリップフロップ92のクロック端子にTフリップフロップ91からの反転データ出力信号が入力されると、Tフリップフロップ92は反転データ信号も出力する。Tフリップフロップ93のクロック端子にTフリップフロップ92からの反転データ出力信号が入力されると、Tフリップフロップ93はデータ信号を出力する。スイッチ回路97は、/BL4(101)を受ける端子に"L"論理が入力され、BL4(102)を受ける端子に"H"論理が入力された場合は、Tフリップフロップ93からのデータ信号をEND信号27として出力する。一方、Tフリップフロップ93のクロック端子にTフリップフロップ92からの反転データ出力信号が入力されると、Tフリップフロップ93は反転データ信号も出力する。Tフリップフロップ94のクロック端子にTフリップフロップ93からの反転データ出力信号が入力されると、Tフリップフロップ94はデータ信号を出力する。スイッチ回路96は、/BL8(103)を受ける端子に"L"論理が入力され、BL8(104)を受ける端子に"H"論理が入力された場合は、Tフリップフロップ94からのデータ信号をEND信号27として出力する。
【0075】
なお、BL2(100)、BL4(102)、BL8(104)、カウンタリセット98は、図1の制御信号31を構成する。また、制御信号31は、DRAMコントローラ5が出力する制御信号32を受けたFIFO15がマスクドリードデータストローブ(MRDQS)29の最初の立ち上がりを受けて出力する信号である。
【0076】
以上より、カウンタ11はマスクドリードデータストローブ(MRDQS)29の立ち下がりのカウント数が、初段のTフリップフロップから、BL2(100)、BL4(102)、又は、BL8(104)で出力端子が選択されるTフリップフロップまでによりカウントされる数に達すると、END信号27を出力する回路である。
【0077】
ここで、BL2(100)、BL4(102)、及び、BL8(104)によって選択される数は、DRAM1から出力されるデータのいわゆるバーストレングスに対応する数であり、例えば、2、4、8といった偶数の整数である。なお、バーストレングスとはDRAM1が連続して出力するデータの数である。なお、データ数がBL2(100)、BL4(102)、BL8(104)によって選択される数に収まらない場合においても、DRAM1に対して、連続的にリードコマンドを発行し、DRAMコントローラ5側から、新規にリードコマンドが発行された時点において、カウンタリセット98を出力しなおすことで、任意のコマンドシーケンスにおいて適切にバースレングスに対応する数をカウントできることは、言うまでもない。
【0078】
図6は信号マスキング回路16の動作を説明するための図である。図6はクロック信号67の信号波形160、リードデータストローブ(RDQS)25の波形161、ゲーティング信号B24の波形162、遅延信号A23の波形163、及び、マスクドリードデータストローブ(MRDQS)29の波形164を示す。
【0079】
信号波形160からわかるように、クロック信号67は一定周期で論理"H"及び論理"L"を繰り返す信号とその反転信号からなる相補信号である。波形161からわかるようにリードデータストローブ(RDQS)25はいわゆるバス信号である。すなわち、リードデータストローブ(RDQS)25はリードデータを取り込むために有効なリードデータストローブ(RDQS)25の期間、リードデータを取り込むために有効なリードデータストローブ(RDQS)25の最初の立ち上がりの前に存在する約1クロックサイクルの論理"L"の期間(いわゆる、リードプレアンブル:ReadPreamble)、及び、有効なリードデータストローブ(RDQS)25の最後の立ち下がりの後に存在する約0.5クロックサイクルの論理"L"の期間(リードポストアンブル:ReadPostamble)において論理が確定しているが、その他の期間はHi−Z状態となる信号である。そして、図6の波形161に示すように、有効なリードデータストローブ(RDQS)25の期間は、例えば、4個のリードデータDQ20を受け取るため、時刻T4付近から開始され、2回の立ち上がり及び2回の立ち下がりを含む1.5クロック分の期間である。
【0080】
そこで、上記のようなリードデータストローブ(RDQS)25が信号マスキング回路16に入力されると、図6の波形163に示すように、リードデータストローブ信号遅延回路DLA7からはリードデータストローブ(RDQS)25に対して1/4クロック周期分、位相が遅れた遅延信号A23が出力される。
【0081】
一方、上記のようなリードデータストローブ(RDQS)25が検出回路8に入力されると、図6の波形163に示すように、検出回路8からは、ゲーティング信号B24が出力される。なお、検出回路8は、時刻T1において、リードデータストローブ(RDQS)25の論理"L"検出を開始するスタート信号30、及び、検出すべき論理"L"期間の長さの選択を行うTh信号43を受けて、検出を開始する。次いで、リードデータストローブ(RDQS)25が論理"L"となっている時刻T2を経過したのち、リードデータストローブ(RDQS)25の論理"L"の期間が時刻T3において所定の期間に達すると、検出回路8は論理"L"から論理"H"に立ち上がる、ゲーティング信号B24を出力する。
【0082】
その結果、図6の波形164に示すように、マスクドリードデータストローブ(MRDQS)29が、AND10から出力される。なぜなら、以下のように信号マスキング回路16は動作するからである。まず、ゲーティング信号B24がAND9の一方の端子に入力され、遅延信号A23がAND9の他方の端子に入力されるため、AND9は遅延信号C26を出力する。遅延信号C26はAND10の一方の端子に入力され、カウンタ11からのEND信号27はAND10の他方の端子に入力される。END信号27は図5の説明にあるように、カウンタリセット98によって、カウント開始の時点では論理"L"の信号であるから、AND10は遅延信号C26をマスクドリードデータストローブ(MRDQS)29として出力する。従って、マスクドリードデータストローブ(MRDQS)29は4個のリードデータDQ20を受け取るため、時刻T4付近から開始され、論理"L"から論理"H"の立ち上がり及び論理"H"から論理"L"の立ち上がりを2回繰り返した後、論理"L"を維持する信号となる。
【0083】
ここで、マスクドリードデータストローブ(MRDQS)29が論理"L"に戻るのは、カウンタ11がマスクドリードデータストローブ(MRDQS)29における2回目の論理"H"から論理"L"の立ち下がりを検出した後、検出回路8にはリセット信号28を出力して検出回路8のフリップフロップ84の出力(ゲーティング信号B24)を論理"L"にするからである。その結果、AND9によって、遅延信号C26も論理"L"に固定され、マスクドリードデータストローブ(MRDQS)29がAND10によって論理"L"に固定されるからである。
【0084】
上記のように信号マスキング回路16が動作するため、マスクドリードデータストローブ(MRDQS)29は、Hi−Z状態となることがなく、フリップフロップ12のクロック端子においてイリーガルなパルスが乗ることが抑制されるため、図1に示すフリップフロップ12において、ラッチしたリードデータDQ20の論理が破壊されることがなくなる。
【0085】
図7A及び図7Bは信号遅延回路DLB13を説明する図である。そして、図7Aは信号遅延回路DLB13の回路図を示す。信号遅延回路DLB13は、インバータ列110、111、112、113、回路ユニットのスイッチ回路115、116、117、インバータ118、119、120、MOSトランジスタ121、122、123、124から構成されている。そして、信号遅延回路DLB13は、プレスタート信号33を受けて、スタート信号30を出力する回路である。なお、プレスタート信号33はセレクト信号33a、セレクト信号33b、セレクト信号33c、セレクト信号33d、プレスタートG信号33eから構成されている。
【0086】
プレスタートG信号33eはインバータ列110の入力端子に接続し、インバータ110列の出力端子はスイッチ回路115の一方の入力端子及びインバータ111の入力端子に接続する。インバータ111の出力端子はスイッチ回路116の一方の入力端子及びインバータ112の入力端子に接続する。インバータ112の出力端子はスイッチ回路117の一方の出力端子及びインバータ113の入力端子に接続する。インバータ113の出力端子はインバータ114の入力端子に接続する。インバータ114の出力端子はスタート信号30を出力する端子にMOSトランジスタ121を介して接続する。なお、MOSトランジスタ121のゲート電極はセレクト信号33dが接続されている。
【0087】
スイッチ回路115の他方の端子はグランド電源VSS125に接続し、スイッチ回路115の切り替え端子はセレクト信号33aに接続する。そして、スイッチ回路115の出力端子はインバータ118の入力端子に接続する。インバータ118の出力端子はスタート信号30を出力する端子にMOSトランジスタ124を介して接続する。なお、MOSトランジスタ124のゲート電極はセレクト信号33aが接続されている。
【0088】
スイッチ回路116の他方の端子はグランド電源VSS125に接続し、スイッチ回路116の切り替え端子はセレクト信号33bに接続する。そして、スイッチ回路116の出力端子はインバータ119の入力端子に接続する。インバータ119の出力端子はスタート信号30を出力する端子にMOSトランジスタ123を介して接続する。なお、MOSトランジスタ123のゲート電極はセレクト信号33bに接続されている。
【0089】
スイッチ回路117の他方の端子はグランド電源VSS125に接続し、スイッチ回路117の切り替え端子はセレクト信号33cに接続する。そして、スイッチ回路117の出力端子はインバータ120の入力端子に接続する。インバータ120の出力端子はスタート信号30を出力する端子にMOSトランジスタ122を介して接続する。なお、MOSトランジスタ122のゲート電極はセレクト信号33cが接続されている。
【0090】
そこで、プレスタートG信号33eをインバータ列110に入力するとともに、セレクト信号33aの論理を"H"にすると、スイッチ回路115はインバータ列110が出力するプレスタートG信号33eの遅延信号をMOSトランジスタ124に出力し、MOSトランジスタ124はプレスタートG信号33eの遅延信号をスタート信号30の出力端子へ通過させる。
【0091】
プレスタートG信号33eをインバータ列110に入力するとともに、セレクト信号33bの論理を"H"にすると、スイッチ回路116はインバータ列111が出力するプレスタートG信号33eの遅延信号をMOSトランジスタ123に出力し、MOSトランジスタ123はプレスタートG信号33eの遅延信号をスタート信号30の出力端子へ通過させる。
【0092】
プレスタートG信号33eをインバータ列110に入力するとともに、セレクト信号33cの論理を"H"にすると、スイッチ回路117はインバータ列112が出力するプレスタートG信号33eの遅延信号をMOSトランジスタ122に出力し、MOSトランジスタ122はプレスタートG信号33eの遅延信号をスタート信号30の出力端子へ通過させる。
【0093】
プレスタートG信号33eをインバータ列110に入力するとともに、セレクト信号33dの論理を"H"にすると、インバータ列113が出力するプレスタートG信号33eの遅延信号がMOSトランジスタ121に出力され、MOSトランジスタ121はプレスタートG信号33eの遅延信号をスタート信号30の出力端子へ通過させる。
【0094】
なお、インバータ列110、111、112、113は、それらを通過する信号に対して、クロック信号67のほぼ1クロック周期分の位相遅延を付加するものである。
【0095】
図7Bは信号遅延回路DLB13の動作を説明する図である。そして、図7Bは、クロック信号67の波形160、コマンド信号の波形134、プレスタートG信号33eの波形132、142、セレクト信号33aの波形133、セレクト信号33bの波形143、DL1の動作モードにおいて、DRAM1が出力するリードデータストローブ(RDQS)25の波形130、DL2の動作モードにおいて、DRAM1が出力するリードデータストローブ(RDQS)25の波形140、及び、スタート信号30の波形131、141を示す。ここで、DL1の動作モードとは、データレイテンシーが2クロックとなっているモードをいう。同様に、DL2の動作モードとは、データレイテンシーが3クロックとなっているモードをいう。また、データレイテンシーとは、DRAM1がコマンドを受けてからデータを出力するまでの期間を、クロック数で表現したものである。
【0096】
従って、波形130に示すリードデータストローブ(RDQS)25のリードプレアンブルはリードコマンドの後、1クロック後に始まる。一方、波形140に示すリードデータストローブ(RDQS)25のリードプレアンブルは、リードコマンドの後、2クロック後から始まる。リードプレアンブルはリードデータを取得するためのリードデータストローブ(RDQS)25の有効期間に先立って、1クロック前から始まるからである。
【0097】
そこで、DRAMコントローラ5はDL2の動作モードでDRAM1が動作していることを認識しているので、波形134に示すリードコマンドをDRAM1に出力した直後に、DRAMコントローラ5は波形132に示すプレスタートG信号33e及び波形133に示すセレクト信号33aをメモリインターフェイス回路4に出力する。その結果、図7Aにおける説明のように信号遅延回路DLB13の内部回路は動作するため、信号遅延回路DLB13は、波形131に示すように、ほぼ1クロック周期後に、セレクト信号33aによって選択されたスイッチ回路115から出力される信号を、スタート信号30として出力する。その結果、時刻T5において、リードデータストローブ(RDQS)25の"L"期間の検出を、検出回路8が開始する。
【0098】
一方、DL3の動作モードでDRAM1が動作しているときも、DRAMコントローラ5はそのことを認識しているので、波形134に示すリードコマンドをDRAM1に出力した直後に、DRAMコントローラ5は波形142に示すプレスタートG信号33e及び波形143に示すセレクト信号33bをメモリインターフェイス回路4に出力する。その結果、図7Aにおける説明のように信号遅延回路DLB13の内部回路は動作するため、信号遅延回路DLB13は、波形141に示すように、ほぼ2クロック周期後に、セレクト信号33bによって選択されたスイッチ回路116から出力される信号を、スタート信号30として出力する。その結果、時刻T6において、検出回路8が、リードデータストローブ(RDQS)25の"L"期間の検出を開始する。
【0099】
図8はDRAM1及びメモリインターフェイス回路4の動作波形を示す。DRAM1は、DRAM1のデータレイテンシーが3クロックに設定され、連続した4個のデータが出力されるようにDRAM1のバーストレングスが設定されている。クロック信号67の信号波形160及びリードコマンドの信号波形165からわかるように、クロック信号67とともにリードコマンドが、DRAM1に時刻T7において入力されると、DRAM1は4つの連続したリードデータDQ20を、リードコマンドを受け取るクロック信号67の立ち上がりから3クロック目から出力する。また、リードデータストローブ(RDQS)25の信号波形170からわかるように、DRAM1は、4つの連続データに合わせて、時刻T8においてリードプレアンブル期間が始まり、時刻T9から時刻T10の期間に2つの立ち上がり及び2つの立ち下がりを有するリードデータストローブ(RDQS)25を出力する。
【0100】
一方、遅延信号A23の信号波形190からわかるように、メモリインターフェイス回路4において、上記のリードデータストローブ(RDQS)25によって、リードデータDQ20を取得すべく、リードデータストローブ(RDQS)25から1/4周期遅延した遅延信号A23が出力される。また、ゲーティング信号B24の信号波形200からわかるように、リードデータストローブ(RDQS)25の論理"L"の期間を、検出回路8によって検出し、リードデータストローブ(RDQS)25自身から、リードデータストローブ(RDQS25)をゲーティングするゲーティング信号B24が時刻T9から時刻T10の期間に出力される。さらに、マスクドリードデータストローブ(MRDQS)29の信号波形210からわかるように、ゲーティング信号B24によって遅延信号A23に対してゲーティングをかけて得られるマスクドリードデータストローブ(MRDQS)29が時刻T9から時刻T10の期間に出力される。
【0101】
以上より、メモリインターフェイス回路4は以下のような効果を有する。まず、リードデータDQ20はメモリインターフェイス回路4のフリップフロップ12によって、マスクドリードデータストローブ(MRDQS)29の立ち上がり及び立ち下がりに同期してラッチされる。
【0102】
そこで、上記のように、リードデータストローブ(RDQS)25から遅延信号A23及びゲーティング信号B24が得られるため、遅延信号A23のゲーティング信号B24によるゲーティングによって、リードデータストローブ(RDQS)25の有効期間が削られることがない。なぜなら、遅延信号A23及びゲーティング信号B24の動作トリガーとなっているのは、フライト経路を経て伝播されるリードデータストローブ(RDQS)25信号自身となっているからである。
したがって従来のように、フライトタイムに影響を受けることなく、遅延信号A23をゲーティング信号B24でゲーティングする位相関係は一定に保たれるため、信号遅延の影響を受けずに確実にゲーティングできることが保証される。
【0103】
その結果、リードデータDQ20はメモリインターフェイス回路4のフリップフロップ12によって、確実にラッチされる。また、マスクドリードデータストローブ(MRDQS)29にはHi−Z期間がないため、フリップフロップ12にラッチされたデータが破壊されることがない。
【0104】
なお、従来の回路においては、ロジック側のクロック信号67がSDRAM1に伝わって、リードデータストローブ(RDQS)25が発生し、信号経路を通過して、ロジック側にリードデータストローブ(RDQS)25が伝わるまでの信号遅延(いわゆる、フライトタイム)が一定でない。従って、ロジック側のクロック信号67によって、リードデータストローブ(RDQS)25のゲーティングする時点が、信号遅延の長短の影響を受けていた。
【0105】
そこで、フリップフロップ12が誤ったリードデータDQ20をラッチするのを防止するため、リードデータストローブ(RDQS)25のゲーティングの時点をリードプレアンブル、及び、リードポストアンブルの内側に設定した場合、信号遅延(フライトタイム)が一定でないため、リードデータストローブ(RDQS)25の有効期間が削られていた。そのため、DDR系のDRAMインターフェイスに対する高速化への障害の一つとなっていた。
以下に本発明の特徴を付記する。
(付記1)
リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間を検出し、前記論理"L"の期間が所定の期間であるときはゲーティング信号を発生する検出回路と、
前記リードデータストローブ信号を遅延させて遅延リードデータストローブ信号を発生させる遅延リードデータストローブ信号発生回路と、
前記ゲーティング信号を受けて、前記遅延リードデータストローブに対してゲーティングを行い、第1マスクリードデータストローブ信号を発生するゲーティング回路と、
前記ゲーティングの後、前記第1マスクドリードデータストローブ信号の立ち下がりを所定数に達するまでカウントし、その後、前記第1マスクドリードデータストローブをマスクするマスク信号を発生するカウント回路と、
前記マスク信号を受け、前記第1マスクドリードデータストローブのマスクを行い、第2マスクドリードデータストローブ信号を出力するマスク回路と、
を有する信号マスキング回路。
(付記2)
直列に接続された複数の第1遅延素子からなり、クロック信号の1クロック分の遅延時間を、前記クロック信号を入力したときに前記遅延時間に相当する遅延をもたらす第1遅延素子の段数により記憶する第1遅延回路と、
前記第1遅延回路が記憶する前記第1遅延素子の段数に応じたデジタル信号を発生するデジタル信号発生回路と、を備えるDLL回路をさらに有し、
前記検出回路は、前記デジタル信号を受けて前記遅延時間を前記第1遅延素子の段数によって認識するとともに、前記所定の期間が前記遅延時間に対する比率によって与えられることを特徴とする付記1記載の信号マスキング回路。
(付記3)
前記検出回路は、
直列に接続された複数の第1遅延素子からなり、前記デジタル信号を受けて、前記第1遅延素子が入力される前記リードデータストローブ信号に対して与える遅延の合計が、前記遅延時間となるように、前記リードデータストローブ信号が通過する前記第1遅延素子を選択する第2の遅延回路と、
選択された前記第1遅延素子の内、論理"L"を出力する前記第1遅延素子の数が、所定の数となったときに前記ゲーティング信号を発生するゲーティング信号発生回路と、を備えることを特徴とする、付記2記載の信号マスキング回路。
(付記4)
遅延リードデータストローブ信号発生回路は、
直列に接続された複数の第1遅延素子からなり、前記デジタル信号を受けて、前記第1遅延素子が入力される前記リードデータストローブ信号に対して与える遅延の合計が、前記遅延時間の1/4になるように、前記リードデータストローブ信号が通過する前記第1遅延素子を選択する第3の遅延回路から構成されていることを特徴とする、付記3記載の信号マスキング回路。
(付記5)
リード命令を取り込んだクロック信号の立ち上がりから、設定された期間が経過した後、リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間の検出を開始し、
前記リードデータストローブ信号を遅延させて遅延リードデータストローブ信号を発生し、
前記論理"L"の期間が所定の長さに達した後、前記遅延リードデータストローブ信号に対してゲーティングを行うゲーティング信号を発生し、
前記ゲーティング信号により前記遅延リードデータストローブ信号に対してゲーティングを行うことによりマスクドリードデータストローブ信号を発生した後、前記マスクドリードデータストローブ信号の立ち下がりのカウントを開始し、
前記マスクドリードデータストローブ信号の立ち下がりのカウント数が所定の数に達したときに、前記遅延リードデータストローブ信号をマスクするマスク信号を発生し、
前記遅延リードデータストローブ信号を前記マスク信号によりマスクし、前記マスクドリードデータストローブ信号の論理を固定値とすることを特徴とする信号マスキング方法。
(付記6)
付記1乃至付記4の内の一つの請求項に記載された信号マスキング回路と、
前記リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間の検出を開始するため、前記検出回路に対してスタート信号を出力するスタート信号発生回路と、を備える半導体集積回路。
(付記7)
付記2乃至付記4の内の一つの請求項に記載された信号マスキング回路と、
前記リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間の検出を開始するため、前記検出回路に対してスタート信号を出力するスタート信号発生回路と、
前記検出回路に対して、前記遅延時間に対する前記所定の期間の前記比率を選択する信号を発生する比率選択信号発生回路と、を備える半導体集積回路。
(付記8)
前記リードデータを前記第2マスクドリードデータストローブ信号に応じてラッチし、前記リードデータの論理に応じた論理を有する第1データを出力する第1ラッチ回路を備える付記6又は付記7記載の半導体集積回路。
(付記9)
クロック信号に同期して動作する半導体装置に、前記第1データの論理に応じた論理を有する第2データを供給する第2ラッチ回路を備え、
前記第2ラッチ回路は前記クロック信号に応じて、前記第1データをラッチすることを特徴とする付記8記載の半導体集積回路。
(付記10)
前記半導体装置からの第1設定信号を、前記第2マスクドリードデータストローブ信号に応じてラッチし、前記第1設定信号に応じた第2設定信号を、前記カウント回路に出力する第3ラッチ回路を備え、前記第2設定信号により、前記カウント回路における所定数が設定されることを特徴とする付記1記載の半導体集積回路。
(付記11)
前記所定の長さは、前記クロック信号の1周期に対する比率で与えられることを特徴とする付記5記載の信号マスキング方法。
【産業上の利用可能性】
【0106】
本発明によれば、リードデータストローブ(RDQS)のマスク及びゲーティングの時点において、リードデータストローブ(RDQS)がHi−Z状態となることを防止するとともに、リードデータストローブ(RDQS)の有効期間が削られることを防止する信号マスキング方法、信号マスキング回路、及び、半導体集積回路を提供することができる。
【0107】
また、本発明によるインターフェイス回路を備えた半導体集積回路であれば、接続されるDRAMの基板上での接続トポロジ(負荷)等に影響されることなく、容易に高速インターフェイスを実現することが可能となる。
【図面の簡単な説明】
【0108】
【図1】図1は、メモリインターフェイス回路4の概略を説明する回路図である。
【図2】図2A及び図2Bは計測回路17を構成するDLL回路6を示す回路図である。
【図3】図3は計測回路17を構成するリードデータストローブ信号遅延回路DLA7を示す回路図である。
【図4】図4は計測回路17を構成する検出回路8を示す回路図である。
【図5】図5は、実施例1の信号マスキング回路16のカウンタ11を示す回路図である。
【図6】図6は信号マスキング回路16の動作を説明するための図である。
【図7】図7A及び図7Bは信号遅延回路DLB13を説明する図である。
【図8】図8はDRAM1及びメモリインターフェイス回路4の動作波形を示す。
【符号の説明】
【0109】
1 DRAM
2 データ出力バッファ
3 データストローブ出力バッファ
4 メモリインターフェイス回路
5 DRAMコントローラ
6 DLL回路
7 リードデータストローブ信号遅延回路DLA
8 検出回路
9 AND
10 AND
11 カウンタ
12 フリップフロップ
13 信号遅延回路DLB
14、15 FIFO
16 信号マスキング回路
17 計測回路
18 FIFO
20 データDQ
23 遅延信号A
24 ゲーティング信号B
25 データストローブ(RDQS)
26 遅延信号C
27 END信号
28 リセット信号
29 マスクドリードデータストローブ(MRDQS)
30 スタート信号
31 制御信号31
32 制御信号32
プレスタート信号33
33a、33b、33c、33d セレクト信号
33e プレスタートG信号
34 データDQA
35 データDQB
40 データ入力バッファ
41 制御信号出力バッファ
42 プレスタート信号出力バッファ
43 Th信号
44 プレTh信号
45 プレTh信号出力バッファ
46 デコード信号入力バッファ
51、52 スイッチ回路51
53 インバータ
54 出力信号DELOUT
55 入力信号DELIN
56 選択信号SELIN
57、59 信号増幅器
58 信号CLKIN
60 回路ユニット
61 信号CLKOUT
60a(1)−60a(n) 回路ユニット
60b(1)−60b(n) 回路ユニット
60c(1)−60c(n) 回路ユニット
60d(1)−60d(n) 回路ユニット
62 位相比較回路
63 選択回路
63a(1)−63a(n) デコード回路
64 遅延回路
65 遅延クロック信号
66 デコード信号
64 クロック信号
70 選択回路
70a(1)−70a(n) デコード回路
71 遅延回路
71a(1)−71a(n) 遅延回路
80a(1)−80a(n) 回路ユニット
80b(1)−80b(n) 回路ユニット
80c(1)−80c(n) 回路ユニット
80d(1)−80d(n) 回路ユニット
81a(1)−81a(n) デコード回路
80 遅延回路
81 選択回路
82 L期間検出回路
82a1−82an AND
83 AND回路
85a1−85an プルアップ抵抗
B1−Bn 配線
84 フリップフロップ
90 インバータ
91、92、93、94 Tフリップフロップ
95、96、97 スイッチ回路
98 カウンタリセット
99 /BL2
100 BL2
101 /BL4
102 BL4
103 /BL8
104 BL8
110、111、112、113 インバータ列
115、116、117 スイッチ回路
118、119、120 インバータ
121、122、123、124 MOSトランジスタ
125 グランド電源VSS
130、131、132、133、134、140、141、142、143 波形
160、165、170、180、190、200、210 信号波形
161、162、163、164 波形


【特許請求の範囲】
【請求項1】
リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間を検出し、前記論理"L"の期間が所定の期間であるときはゲーティング信号を発生する検出回路と、
前記リードデータストローブ信号を遅延させて遅延リードデータストローブ信号を発生させる遅延リードデータストローブ信号発生回路と、
前記ゲーティング信号を受けて、前記遅延リードデータストローブに対してゲーティングを行い、第1マスクリードデータストローブ信号を発生するゲーティング回路と、
前記ゲーティングの後、前記第1マスクドリードデータストローブ信号の立ち下がりを所定数に達するまでカウントし、その後、前記第1マスクドリードデータストローブをマスクするマスク信号を発生するカウント回路と、
前記マスク信号を受け、前記第1マスクドリードデータストローブのマスクを行い、第2マスクドリードデータストローブ信号を出力するマスク回路と、
を有する信号マスキング回路。
【請求項2】
直列に接続された複数の第1遅延素子からなり、クロック信号の1クロック分の遅延時間を、前記クロック信号を入力したときに前記遅延時間に相当する遅延をもたらす第1遅延素子の段数により記憶する第1遅延回路と、
前記第1遅延回路が記憶する前記第1遅延素子の段数に応じたデジタル信号を発生するデジタル信号発生回路と、を備えるDLL回路をさらに有し、
前記検出回路は、前記デジタル信号を受けて前記遅延時間を前記第1遅延素子の段数によって認識するとともに、前記所定の期間が前記遅延時間に対する比率によって与えられることを特徴とする請求項1記載の信号マスキング回路。
【請求項3】
前記検出回路は、
直列に接続された複数の第1遅延素子からなり、前記デジタル信号を受けて、前記第1遅延素子が入力される前記リードデータストローブ信号に対して与える遅延の合計が、前記遅延時間となるように、前記リードデータストローブ信号が通過する前記第1遅延素子を選択する第2の遅延回路と、
選択された前記第1遅延素子の内、論理"L"を出力する前記第1遅延素子の数が、所定の数となったときに前記ゲーティング信号を発生するゲーティング信号発生回路と、を備えることを特徴とする、請求項2記載の信号マスキング回路。
【請求項4】
遅延リードデータストローブ信号発生回路は、
直列に接続された複数の第1遅延素子からなり、前記デジタル信号を受けて、前記第1遅延素子が入力される前記リードデータストローブ信号に対して与える遅延の合計が、前記遅延時間の1/4になるように、前記リードデータストローブ信号が通過する前記第1遅延素子を選択する第3の遅延回路から構成されていることを特徴とする、請求項3記載の信号マスキング回路。
【請求項5】
リード命令を取り込んだクロック信号の立ち上がりから、設定された期間が経過した後、リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間の検出を開始し、
前記リードデータストローブ信号を遅延させて遅延リードデータストローブ信号を発生し、
前記論理"L"の期間が所定の長さに達した後、前記遅延リードデータストローブ信号に対してゲーティングを行うゲーティング信号を発生し、
前記ゲーティング信号により前記遅延リードデータストローブ信号に対してゲーティングを行うことによりマスクドリードデータストローブ信号を発生した後、前記マスクドリードデータストローブ信号の立ち下がりのカウントを開始し、
前記マスクドリードデータストローブ信号の立ち下がりのカウント数が所定の数に達したときに、前記遅延リードデータストローブ信号をマスクするマスク信号を発生し、
前記遅延リードデータストローブ信号を前記マスク信号によりマスクし、前記マスクドリードデータストローブ信号の論理を固定値とすることを特徴とする信号マスキング方法。
【請求項6】
請求項1乃至請求項4の内の一つの請求項に記載された信号マスキング回路と、
前記リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間の検出を開始するため、前記検出回路に対してスタート信号を出力するスタート信号発生回路と、を備える半導体集積回路。
【請求項7】
請求項2乃至請求項4の内の一つの請求項に記載された信号マスキング回路と、
前記リードデータストローブ信号における、リードデータを取り込むために有効な期間に先立って存在する論理"L"の期間の検出を開始するため、前記検出回路に対してスタート信号を出力するスタート信号発生回路と、
前記検出回路に対して、前記遅延時間に対する前記所定の期間の前記比率を選択する信号を発生する比率選択信号発生回路と、を備える半導体集積回路。
【請求項8】
前記リードデータを前記第2マスクドリードデータストローブ信号に応じてラッチし、前記リードデータの論理に応じた論理を有する第1データを出力する第1ラッチ回路を備える請求項6又は請求項7記載の半導体集積回路。
【請求項9】
クロック信号に同期して動作する半導体装置に、前記第1データの論理に応じた論理を有する第2データを供給する第2ラッチ回路を備え、
前記第2ラッチ回路は前記クロック信号に応じて、前記第1データをラッチすることを特徴とする請求項8記載の半導体集積回路。
【請求項10】
前記半導体装置からの第1設定信号を、前記第2マスクドリードデータストローブ信号に応じてラッチし、前記第1設定信号に応じた第2設定信号を、前記カウント回路に出力する第3ラッチ回路を備え、前記第2設定信号により、前記カウント回路における所定数が設定されることを特徴とする請求項9記載の半導体集積回路。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−293279(P2008−293279A)
【公開日】平成20年12月4日(2008.12.4)
【国際特許分類】
【出願番号】特願2007−138219(P2007−138219)
【出願日】平成19年5月24日(2007.5.24)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】