JP4005779B2 - クロック同期回路 - Google Patents
クロック同期回路 Download PDFInfo
- Publication number
- JP4005779B2 JP4005779B2 JP2001202552A JP2001202552A JP4005779B2 JP 4005779 B2 JP4005779 B2 JP 4005779B2 JP 2001202552 A JP2001202552 A JP 2001202552A JP 2001202552 A JP2001202552 A JP 2001202552A JP 4005779 B2 JP4005779 B2 JP 4005779B2
- Authority
- JP
- Japan
- Prior art keywords
- pulse
- backward
- delay
- reset
- state holding
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/135—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
Landscapes
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Dram (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Pulse Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、ダブルデータレート(DDR)タイプDRAM、シンクロナスDRAM(SDRAM)及びダブルデータレート ファーストサイクルRAM(FCRAM)などのクロック同期型メモリのように高速クロックを用いて同期制御するものに好適なクロック同期回路に関する。
【0002】
【従来の技術】
近年、コンピュータシステムにおいては、処理の高速化の要求からシンクロナスDRAM等のクロック同期型メモリを採用することがある。このようなクロック同期型メモリは、メモリを制御するクロック(以下、“外部クロック”と称する)に対して同期したクロックをメモリ内部でも使用する。
【0003】
しかし、レシーバ(入力バッファ)などの影響により、メモリ内部で使用するクロック(以下、“内部クロック”と称する)と外部クロックとの間にずれ(スキュ)が生じた場合、特に高速動作においては、そのずれが僅かであっても、メモリの内部回路は誤動作を起こし易くなる。また、外部クロックに対してずれを持つ内部クロックを用いてメモリから出力されたデータは、そのデータを使用するコントローラにとっても高速処理の妨げになる。
【0004】
そこで、最近のメモリでは、内部クロックを外部クロックに高い精度で同期させるためのクロック同期回路がチップ内部に設けられる。
【0005】
従来、クロック同期回路の構成については、周期型及び位相比較型の2種類が知られている。特に、周期型クロック同期回路としてのSTBD(Synchronous Traced Backward Delay)は、位相比較型クロック同期回路に比べて、同期速度(パワーオンから外部クロックと内部クロックの同期が完了するまでの速度)が速いため、パワーダウンを度々行って、消費電力の削減を図ることができる。
【0006】
図43は、従来の周期型クロック同期回路のブロック構成を示している。
この回路は、特願平8−100976号で提案されるSTBDに関する。
【0007】
外部クロックEXTCLKは、遅延量Trcを有するレシーバ(入力バッファ)11に入力される。レシーバ11は、外部クロックEXTCLKに対してTrcのスキュを有するクロックCLKSTINを出力する。クロックCLKSTINは、遅延量Trc+Tdrを有するディレイモニタ12及び制御パルス生成回路13に入力される。
【0008】
ディレイモニタ12は、クロックCLKSTINに基づいて、前進パルスFCLINを出力する。制御パルス生成回路13は、クロックCLKSTINに基づいて、制御パルスP,bPを出力する。制御パルス生成回路13は、例えば、図48に示すような回路から構成される。
【0009】
前進パルスFCLINは、前進パルス用遅延線14に与えられる。前進パルス用遅延線14は、直列接続されたN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nから構成される。但し、N及びnは、共に正数で、かつ、n<Nとする。
【0010】
N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作は、制御パルス(前進パルス伝達制御信号)P,bPにより制御される。N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nが動作状態(前進パルスを伝達できる状態)にあるとき、各前進遅延ユニットは、前段の前進遅延ユニットから受けた前進パルスを、後段の前進遅延ユニットに伝達する。
【0011】
前進遅延ユニット14−nは、例えば、図44に示すような回路から構成される。
【0012】
状態保持部15は、前進パルス遅延線14に隣接して配置される。N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nに対応している。
【0013】
前進パルスが入力された前進遅延ユニットは、これに対応する状態保持ユニットの状態(セット/リセット)を変える。具体的には、前進パルスFCLINが前進パルス用遅延線14に入力される前には、全ての状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、リセット(R)状態となっており、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットは、リセット(R)状態からセット(S)状態に変化する。
【0014】
状態保持ユニット15−nは、例えば、図45に示すような回路から構成される。
【0015】
状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、制御パルス(状態保持部リセット信号)bPにより、リセット状態に戻される。また、状態保持部初期化回路17は、リセット信号RESETに基づいて、初期化信号bRSINIを出力し、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態を強制的にリセット状態に初期化する。
【0016】
状態保持部初期化回路17は、例えば、図46に示すような回路から構成される。
【0017】
なお、ディレイモニタ12、制御パルス生成回路13、前進パルス用遅延線14、状態保持部15及び状態保持部初期化回路17は、外部クロックEXTCLKと内部クロックINTCLKの同期をとるために必要な遅延時間τ−(Trc+Tdr)をモニタすることを目的としており、ここでは、モニタ回路と呼ぶことにする。
【0018】
遅延時間τ−(Trc+Tdr)をモニタするモニタ回路に対して、後退パルス用遅延線16は、モニタ回路によりモニタされた遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的としている。
【0019】
後退パルス用遅延線16は、遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的としているため、前進パルス用遅延線14を完全に模している。即ち、前進パルス用遅延線14と後退パルス用遅延線16は、状態保持部15に対して対称的に配置され、かつ、両者の回路構成は、完全に同じにしてある。このようなことから、本例のSTBDは、ミラータイプSTBDと呼ばれる場合がある。
【0020】
後退パルス用遅延線16は、直列接続されたN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nから構成される。後退パルス用遅延線16は、状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態及びクロックCLKSTINに基づいて、遅延時間τ−(Trc+Tdr)を正確にコピーした後に、クロックSTCLKを出力する。
【0021】
後退遅延ユニット16−nは、例えば、図47に示すような回路から構成される。
【0022】
クロックSTCLKは、遅延量Tdrを有するドライバ18を経由すると、外部クロックEXTCLKに同期した内部クロックINTCLKとなる。
【0023】
次に、STBDにおける同期動作原理について説明する。
【0024】
ここでは、図43に示すSTBDのように、n段目の前進遅延ユニット15−nは、n段目の状態保持ユニット15−nの状態を変え、n段目の状態保持ユニット15−nの状態に基づいて、n−1段目の後退遅延ユニット16−(n−1)が動作するものとする。
【0025】
図49は、STBDの同期動作原理を説明するための波形図である。
【0026】
同図(a)に示す周期τの外部クロックEXTCLKがレシーバ11に入力される場合を考える。
【0027】
外部クロックEXTCLKは、レシーバ11により、波形整形、かつ、増幅され、クロックCLKSTINとして出力される。レシーバ11が有する遅延時間をTrcとすると、クロックCLKSTINは、外部クロックEXTCLKに対して、Trcだけ遅延する(同図(b))。
【0028】
レシーバ11から出力されるクロックCLKSTINは、ディレイモニタ(ミミックディレイ)12、制御パルス生成回路13、後退パルス用遅延線16にそれぞれ入力する。
【0029】
制御パルス生成回路13は、クロックCLKSTINをパルス化し、クロックCLKSTINに同期して立ち上がる制御パルスPを生成する。例えば、制御パルスPの周期は、τ、パルス幅は、Wpに設定される(同図(c))。なお、制御パルスbPは、制御パルスPの反転信号である。
【0030】
ディレイモニタ12は、レシーバ11が有する遅延時間Trcとドライバ14が有する遅延時間Tdrの合計に等しい遅延時間(Trc+Tdr)を有する。従って、ディレイモニタ12から出力される前進パルスFCLINは、レシーバ11から出力されるクロックCLKSTINに対して、(Trc+Tdr)だけ遅れて、前進パルス用遅延線14に入力される(同図(d))。
【0031】
前進パルス用遅延線14は、直列接続されたN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nから構成される。N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの各々は、制御パルスPが“L(Low)”レベルのとき、前段の前進遅延ユニットから出力される前進パルスを受け、後段の前進遅延ユニットにその前進パルスを伝搬する。また、N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの各々は、制御パルスPが“H(High)”レベルのとき、前進パルス用遅延線14における前進パルスの伝搬を止める。
【0032】
即ち、前進パルスFCLINは、前進パルス用遅延線14に入力されてから制御パルスPが“H”レベルになるまでの期間{τ−(Trc+Tdr)}だけ、前進パルス用遅延線14を伝搬する(同図(d))。
【0033】
状態保持部15は、前進パルスの伝搬状態を記憶し、その情報をもとに、後退パルスの後退パルス用遅延線16内での伝搬時間が、前進パルスの前進パルス用遅延線14内での伝搬時間と同一になるように、後退パルス用遅延線16内における各後退遅延ユニットの動作を制御する。
【0034】
状態保持部15は、セット(S)状態とリセット(R)状態の2種類の状態をとることができ、それぞれに応じた制御信号を後退遅延ユニットに出力する。
【0035】
セット状態になった状態保持ユニットに制御される後退遅延ユニットは、その後段に配置される後退遅延ユニットの出力信号を、そのままその前段に配置される後退遅延ユニットに出力する。リセット状態に保たれた状態保持ユニットに制御される後退遅延ユニットは、レシーバ11の出力信号を、その前段に配置される後退遅延ユニットに出力する。
【0036】
初期状態の状態保持部15では、状態保持部初期化回路17により、全ての状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nがリセット状態となっており、前進パルスが入力されない前進遅延ユニットに対応する状態保持ユニットは、そのままリセット状態を保ち、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットは、セット状態になる。
【0037】
制御パルスPが“H”レベルになったときは、クロックCLKSTINも“H”レベルになっているので(同図(b),(c))、リセット状態の状態保持ユニットに制御される後退遅延ユニット(例えば、図17のn段目以降の後退遅延ユニット)に“H”レベルの入力信号(CLKSTIN)が入力される。
【0038】
前進パルスが伝搬した前進遅延ユニットの段数をnとすると、1〜n段目の状態保持ユニット15−1,15−2,・・・15−nがセット状態となっているので、リセット状態の(n+1)段目の状態保持ユニットに制御されるn段目の後退遅延ユニット16−nにおいて後退パルスが生成され、後退パルスは、後退遅延ユニット16−nからその前段の後退遅延ユニット16−(nー1)に伝搬される。
【0039】
このため、後退パルスが伝搬する後退遅延ユニットの段数は、前進パルスが伝搬した前進遅延ユニットの段数に等しくなる。
【0040】
ここで、前進パルスの前進パルス用遅延線14における伝搬時間(遅延時間)と後退パルスの後退パルス用遅延線16における伝搬時間(遅延時間)とは、互いに等しくなるように設計されているため、前進パルスFCLINが前進パルス用遅延線14に入力されてから後退パルス用遅延線16から後退パルスSTCLKが出力されるまでの時間は、{τ−(Trc+Tdr)}×2となる(同図(e))。
【0041】
そして、後退パルス遅延線16から出力された後退パルス(クロック)STCLKは、ドライバ18に入力される。ドライバ18は、遅延時間Tdrを有しているため、ドライバ18の出力信号は、外部クロックEXTCLKに同期した内部クロックINTCLKとなる(同図(f))。
【0042】
外部クロックEXTCLKがレシーバ11に入力されてから内部クロックINTCLKがドライバ18から出力されるまでの遅延時間をΔtotalとして計算すると、
Δtotal=Δmsr+Δprp ・・・(1)
が得られる。
【0043】
ここで、Δmsrは、前進パルスがディレイモニタ12に入力されてから前進パルス用遅延線14内で前進パルスの伝搬が遮断されるまでの時間であり、Δprpは、前進パルス用遅延線14内で前進パルスの伝搬が遮断されてから後退パルス用遅延線16内で生成された後退パルスがドライバ18から出力されるまでの時間とレシーバ11の遅延量の合計時間である。
【0044】
また、ディレイモニタ12は、遅延量(Trc+Tdr)を持ち、前進パルスが前進パルス用遅延線14を伝搬する時間が、{τ−(Trc+Tdr)}であるとすると、Δmsrは、以下の(2)式で表せる。
また、レシーバ11は、遅延量Trcを持ち、ドライバ18は、遅延量Tdrを持ち、後退パルスが後退パルス用遅延線16を伝搬する時間が、{τ−(Trc+Tdr)}であるとすると、Δprpは、以下の(3)式で表せる。
上記(3)式より、Δprpは、τとなるので、結果として、内部クロックINTCLKが外部クロックEXTCLKに同期する。
【0045】
なお、上記(1)〜(3)式によれば、外部クロックEXTCLKがチップ(具体的には、レシーバ11)内に入力されてから、外部クロックEXTCLKに同期した内部クロックINTCLKが生成されるまでに要する時間は、2τとなる。
【0046】
このように、周期型クロック同期回路としてのSTBDでは、外部クロックEXTCLKがチップ内に入力されてから内部クロックINTCLKが生成されるまでの時間が2τと短く、位相比較型クロック同期回路と比べて、同期速度(パワーオンから外部クロックと内部クロックの同期が完了するまでの速度)が速くなっている。このため、メモリを使用していない期間が度々あり、その期間が非常に短い場合であっても、その都度、パワーダウンを行って、消費電力の削減を図ることができる。
【0047】
ところで、従来の周期型クロック同期回路では、メモリを連続して使用する場合には、外部クロックEXTCLKの数サイクルのうちに1回だけモニタ動作を行い、そのモニタ動作で得られた状態保持部15の状態を、外部クロックEXTCLKの数サイクルの間、固定しておくことにより、さらに、消費電力の削減を図ることができる。
【0048】
しかし、このような手法には、いくつかの問題がある。
【0049】
即ち、実際に、メモリを動作させる際には、外部クロックEXTCLKに周期変動が生じたり、また、チップ周辺の温度が変化したりする。この場合、前進パルスが伝搬する前進遅延ユニットの段数は、一定でなく、外部クロックEXTCLKの周期変動やチップ周辺の温度などに応じて変化する。
【0050】
従って、状態保持部15の状態を、外部クロックEXTCLKの数サイクルの間、固定してしまうと、その数サイクルの間に、外部クロックEXTCLKと内部クロックINTCLKとの間で同期ずれが生じ、高精度に、両クロックを同期させることができなくなる。
【0051】
例えば、図50に示すように、温度変動などの影響により、kサイクルでの前進パルスの伝搬段数に対して、k+1サイクルでの前進パルスの伝搬段数がδだけ増えた場合を考える。この場合、1サイクルごとに、外部クロックEXTCLKのモニタを行っていれば、常に、外部クロックEXTCLKに同期した内部クロックINTCLKが得られ、問題はないが、1サイクルごとに外部クロックEXTCLKのモニタを行っていないときには、外部クロックEXTCLKに同期した内部クロックINTCLKが得られなくなる。
【0052】
また、図51に示すように、温度変動などの影響により、kサイクルでの前進パルスの伝搬段数に対して、k+1サイクルでの前進パルスの伝搬段数がδだけ減った場合を考える。この場合も、1サイクルごとに、外部クロックEXTCLKのモニタを行っていれば、常に、外部クロックEXTCLKに同期した内部クロックINTCLKが得られ、問題はないが、1サイクルごとに外部クロックEXTCLKのモニタを行っていないときには、外部クロックEXTCLKに同期した内部クロックINTCLKが得られなくなる。
【0053】
このように、1サイクルごとにモニタ動作を行えば、同期精度を向上できるが、消費電力は大きくなる。逆に、数サイクルごとにモニタ動作を行えば、消費電力は小さくなるが、同期精度が低くなる。
【0054】
近年では、温度変動などの影響による前進パルスの伝搬段数の変化は、小さくなる傾向にあり、実際には、モニタ動作は、消費電力と同期精度を考慮して、定期的(1サイクルごと又は複数サイクルごと)に行っている。
【0055】
なお、複数サイクルごとに、1回のモニタ動作を行って、低消費電力化を達成する技術としては、特許願2001−46737号に開示されるものがある。
【0056】
また、図51の場合においては、定期的、例えば、1サイクルごとに、外部クロックEXTCLKのモニタを行うに当たって、k+1サイクルでは、少なくともn段目及びn+1段目の状態保持ユニットがリセット(R)状態になっていなければならない。
【0057】
即ち、kサイクルでの前進パルスの伝搬段数に対して、k+1サイクルでの前進パルスの伝搬段数がδだけ減るのであるから、これに対応して、セット(S)状態の状態保持ユニットの数も減らさなければならない。従って、k+1サイクルが始まる前に、δに対応する状態保持ユニット(図51では、破線で囲んである)又はそれを含む状態保持ユニット(n−1段より前のユニット)を、セット状態からリセット状態に戻す必要がある(この動作を、以後、“リセット動作”と称する)。
【0058】
周期型クロック同期回路(STBD,SMDなど)のうち、STBDにおいては、状態保持部15内の状態保持ユニット15−1,15−2,・・・,15−n,・・・15−Nがラッチ回路を有している。
【0059】
ラッチ回路としては、一定時間の間のみ、その状態を保持し得るダイナミック型ラッチ回路と、リセットなどが行われない限り、常に、その状態を保持しているスタティック型ラッチ回路とを採用できるが、いずれの場合においても、特に、図51のケースを考慮し、モニタ動作を行った後には、次のモニタ動作に備えて、リセット動作を行い、状態保持部15内の状態保持ユニット15−1,15−2,・・・,15−n,・・・15−Nの状態をリセットする必要がある。
【0060】
ところで、従来、定期的(1サイクルごと又は複数サイクルごと)に行うリセット動作に関しては、種々の方法が考え出されているが、低消費電力、高い同期精度、簡易なレイアウト、小さな回路サイズなどを同時に実現するものは、未だ、提案されていない。
【0061】
【発明が解決しようとする課題】
このように、ラッチ回路を用いてモニタ結果を一定期間保持するクロック同期回路においては、定期的、即ち、外部クロックEXTCLKの1サイクル又は複数サイクルごとに、状態保持部内の状態保持ユニットのリセット動作及びクロックのモニタ動作を行わなければならない。しかし、低消費電力、高い同期精度、簡易なレイアウト、小さな回路サイズなどを同時に実現するクロック同期回路は、未だ、提案されていない。
【0062】
本発明の目的は、低消費電力と高い同期精度を同時に実現できると共に、簡易なレイアウト、かつ、小さな回路サイズで形成できるクロック同期回路を提案することにある。
【0063】
【課題を解決するための手段】
1. 本発明のクロック同期回路は、第1クロックを第2クロックに同期させる同期動作を行うものであり、複数段の前進遅延ユニットから構成され、前進パルスを用いて前記同期動作に必要な遅延時間をモニタする前進パルス用遅延線と、複数段の状態保持ユニットから構成され、前記遅延時間を前記複数段の状態保持ユニットのセット/リセット状態により保持する状態保持部と、複数段の後退遅延ユニットから構成され、後退パルスを用いて前記遅延時間をコピーする後退パルス用遅延線とを備え、前記複数段の状態保持ユニットの各々は、リセット期間において後段の状態保持ユニットがリセット状態であることを条件にリセットされる。
【0064】
前記複数段の状態保持ユニットの各々は、さらに、前記リセット期間において前々段の後退遅延ユニットに前記後退パルスが入力されていることを条件にリセットされる。
【0065】
前記リセット期間の長さは、前記前進パルスが伝搬する前記前進遅延ユニットの段数の変動量に基づいて決定される。前記リセット期間は、前記遅延時間のコピーが開始されてから一定期間が経過した後に設けられる。
【0066】
前記前進パルスが入力される前進遅延ユニットに対応する状態保持ユニットは、前記リセット期間前にセット状態となっている。
【0067】
前記複数段の前進遅延ユニットの各々は、後段の前進遅延ユニットに接続される出力端と同一段の状態保持ユニットに接続される出力端とを有している。
【0068】
前記複数段の後退遅延ユニットの各々は、前段の後退遅延ユニットに接続される出力端を有し、前記複数段の状態保持ユニットのうちの1つに接続される出力端を有していない。
【0069】
前記第1クロックは、前記クロック同期回路が形成されるチップの内部で使用される内部クロックであり、前記第2クロックは、前記チップの外部から内部へ供給される外部クロックである。
【0070】
本発明のクロック同期回路は、さらに、周期τを有する前記第2クロックを受け、遅延時間Trcを有するレシーバと、前記レシーバから出力されるクロックを受け、遅延時間Trc+Tdrを有するディレイモニタと、前記第2クロックに基づいて前記リセット期間を決定する制御パルス生成回路と、前記後退パルス用遅延線から出力されるクロックを受け、遅延時間Tdrを有するドライバとを備える。
【0071】
前記遅延時間は、τ−(Trc+Tdr)であり、前記第1クロックは、前記ドライバから出力される。
【0072】
2. 本発明のクロック同期型メモリは、上述のクロック同期回路を搭載している。
【0073】
本発明のメモリシステムは、上述のクロック同期回路を搭載したメモリと、前記メモリに前記第2クロックを供給するCPUと、前記メモリと前記CPUとを接続するバスとを備える。
【0074】
前記メモリは、ダブルデータレートタイプDRAM、シンクロナスDRAM又はダブルデータレートファーストサイクルRAMである。
【0075】
【発明の実施の形態】
以下、図面を参照しながら、本発明のクロック同期回路について詳細に説明する。
【0076】
STBDなどの周期型クロック同期回路においては、定期的(1サイクル又は複数サイクルごと)に、モニタ動作を行う場合、モニタ動作を行う前に、状態保持部のリセット動作を行わなければならない。
【0077】
本発明は、このリセット動作の方法又はこれを実行するための回路を提案するものである。
【0078】
以下では、まず、リセット動作に関する参考例(特開平11−272354号公報)を説明し、その後、本発明のクロック同期回路の実施の形態について説明する。
【0079】
なお、参考例及び実施の形態の説明においては、前進遅延ユニット、状態保持ユニット及び後退遅延ユニットに関して、“前段”、“後段”なる文言を使用するが、簡単のため、これらを以下のように定義する。
【0080】
前進遅延ユニット及び状態保持ユニットに関しては、前進パルスの進行方向に向かって段数が増えるものとし、所定のユニットに対して前進パルスの進行方向とは逆方向にあるユニットを“前段”のユニットとし、同一方向にあるユニットを“後段”のユニットとする。
【0081】
後退遅延ユニットに関しても、上記の定義と同じとする。
【0082】
即ち、後退遅延ユニットに関しては、前進パルスの進行方向(後退パルスの進行方向とは逆方向)に向かって段数が増えるものとし、所定のユニットに対して前進パルスの進行方向とは逆方向(後退パルスの進行方向)にあるユニットを“前段”のユニットとし、同一方向(後退パルスの進行方向とは逆方向)にあるユニットを“後段”のユニットとする。
【0083】
[参考例]
図1は、本発明の参考例であるSTBDのブロック構成を示している。
【0084】
外部クロックEXTCLKは、遅延量Trcを有するレシーバ(入力バッファ)11に入力される。レシーバ11は、外部クロックEXTCLKに対してTrcのスキュを有するクロックCLKSTINを出力する。
【0085】
クロックCLKSTINは、遅延量(Trc+Tdr)を有するディレイモニタ12、制御パルス生成回路13及び後退パルス用遅延線16を構成するN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nにそれぞれ入力される。
【0086】
ディレイモニタ12は、クロックCLKSTINに基づいて、前進パルスFCLINを出力する。制御パルス生成回路13は、クロックCLKSTINに基づいて、制御パルスP,bPを出力する。
【0087】
制御パルスP,bPは、前進パルス用遅延線14を構成するN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作を制御する。即ち、前進パルスFCLINを前進パルス用遅延線内で伝達させるか否か(外部クロックEXTCLKをモニタするか否か)は、制御パルスP,bPにより決定される。
【0088】
状態保持部制御回路19は、制御パルスbP及び後退パルス用遅延線16から出力される後退パルスSTCLKに基づいて、制御パルスBPMを生成する。制御パルスBPMは、状態保持部15のリセットを行うタイミング(又はリセット期間)を決定する。
【0089】
ここで、制御パルス生成回路13及び状態保持部制御回路19の具体例について簡単に説明する。
【0090】
図6は、制御パルス生成回路13の一例を示している。
【0091】
制御パルス生成回路13は、インバータ及びNAND回路から構成される周知のパルス生成回路から構成される。NAND回路の出力信号は、制御パルスbPとなり、この制御パルスbPのレベルをインバータで反転させると、制御パルスPが得られる。この制御パルス生成回路13は、クロックCLKSTINが“L”から“H”になると、その後、一定幅の制御パルスP,bPを出力する。
【0092】
図7は、状態保持部制御回路19の一例を示している。
【0093】
状態保持部制御回路19は、制御パルスbPが“L”から“H”になる時点及びクロックSTCLKが“H”から“L”になる時点(後退パルスのリアエッジが後退パルス用遅延線から出力される時点)をモニタするフリップフロップ回路と、インバータ及びNAND回路から構成される周知のパルス生成回路とから構成される。
【0094】
状態保持部制御回路19は、制御パルスbPが“L”から“H”になる時点とクロックSTCLKが“H”から“L”になる時点のうちのいずれか遅い時点から一定の遅延時間を経た後、一定幅を有する制御パルスBPMを出力する。
【0095】
即ち、クロックSTCLKが立ち下がる時点が制御パルスbPが立ち上がる時点よりも遅い場合、クロックSTCLKが立ち下がってから一定の遅延時間が経過した後に、制御パルスBPMが出力される。また、クロックSTCLKが立ち下がる時点が制御パルスbPが“L”の期間内(bPが立ち上がる前)にある場合、制御パルスbPが立ち上がってから一定の遅延時間が経過した後に、制御パルスBPMが出力される。
【0096】
なお、本参考例は、この状態保持部制御回路19を有している点において、従来例(図43)と相違している。
【0097】
前進パルスFCLINは、前進パルス用遅延線14に与えられる。前進パルス用遅延線14は、直列接続されたN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nから構成される。但し、N及びnは、共に正数で、かつ、n<Nとする。
【0098】
N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作は、制御パルス(前進パルス伝達制御信号)P,bPにより制御される。N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nが動作状態(前進パルスを伝達できる状態)にあるとき、各前進遅延ユニットは、前段の前進遅延ユニットから受けた前進パルスを、後段の前進遅延ユニットに伝達する。
【0099】
ここで、前進パルス用遅延線14内の前進遅延ユニット14−nの具体例について説明する。
【0100】
図2は、前進遅延ユニット14−nの一例を示している。
【0101】
本例では、前進遅延ユニット14−nは、3つのインバータI1,I2,I3と、2つのクロックドインバータCI1,CI2とから構成される。クロックドインバータCI1,CI2の動作は、制御パルスP,bPにより制御される。
【0102】
制御パルスPが“L”レベル、制御パルスbPが“H”レベルのときは、クロックドインバータCI1が動作状態となり、クロックドインバータCI2が非動作状態となる。このため、前進パルスFCLn−1は、クロックドインバータCI1及びインバータI2を経由して、後段の前進遅延ユニット14−(n+1)に伝達される。インバータI3の出力信号FFCLnは、状態保持ユニット15―nに与えられる。
【0103】
また、制御パルスPが“H”レベル、制御パルスbPが“L”レベルのときは、クロックドインバータCI1が非動作状態となり、クロックドインバータCI2が動作状態となる。このため、全ての前進遅延ユニットにおいて、“L”レベルの電位VSSがクロックドインバータCI2に入力され、ノードAは、“H”レベルにリセットされる。
【0104】
なお、インバータI1は、後述する後退遅延ユニット16−n(図5参照)との対称性を考慮して設けられたものであり、その出力信号bFCLnは、使用されない。
【0105】
状態保持部15は、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nから構成される。N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nに対応している。
【0106】
前進パルスが入力された前進遅延ユニットは、これに対応する状態保持ユニットの状態(セット/リセット)を変える。具体的には、前進パルスFCLINが前進パルス用遅延線14に入力される前には、全ての状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、リセット(R)状態となっており、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットは、リセット(R)状態からセット(S)状態に変化する。
【0107】
なお、状態保持ユニット15−nの状態を変える役割を果たすのが前進遅延ユニットの出力信号FFCLnである。
【0108】
状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、制御パルス(状態保持部リセット信号)BPMにより、リセット状態に戻される。また、状態保持部初期化回路17は、リセット信号RESETに基づいて、初期化信号bRSINIを出力し、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態を強制的にリセット状態に初期化する。
【0109】
ここで、状態保持ユニット15−n及び状態保持部初期化回路17について簡単に説明する。
【0110】
図3は、状態保持ユニット15−nの一例を示している。
【0111】
状態保持ユニット15−nは、電源端子VDDとノードCの間に直列接続されるPチャネルMOSトランジスタP1,P2、接地端子VSSとノードCの間に直列接続されるNチャネルMOSトランジスタN1,N2、電源端子VDDとノードCの間に接続されるPチャネルMOSトランジスタP3及びノードC,Dの間に接続されるラッチ回路LATCHから構成される。
【0112】
本例では、ラッチ回路LATCHは、リセットされない限り、常に、同じ状態を保持するスタティック型ラッチ回路としている。リセット時には、BPM及びbRCLn−2が共に“L”レベルとなり、ノードCが“H”レベル、ノードDが“L”レベルとなる。なお、bRCLn−2は、後述する後退遅延ユニット16−(n−2)から出力される信号である。
【0113】
制御パルスBPMが“H”レベルの時、前進遅延ユニット14−nに前進パルスFCLn−1が入力されると、前進遅延ユニット14−nの出力信号FFCLnが“H”レベルとなるため、状態保持ユニット15−nは、セット状態、即ち、ノードCが“L”レベル、ノードDが“H”レベルの状態に変化する。
【0114】
状態保持ユニット15−nのノードCの信号bQn及びノードDの信号Qnは、それぞれ、後述する後退遅延ユニット16−nに供給される。後退遅延ユニット16−nの動作は、状態保持ユニット15−nの出力信号Qn,bQnにより制御される。
【0115】
図4は、状態保持部初期化回路17の一例を示している。
【0116】
状態保持部初期化回路17は、例えば、直列接続された3つのインバータからなる遅延回路により構成される。リセット信号RESETが“H”レベルになると、制御信号bRSINIが“L”レベルとなるため、図3のPチャネルMOSトランジスタP3がオン状態となり、状態保持ユニット15−nがリセット状態となる。
【0117】
なお、制御パルスBPMによるリセット動作と制御信号bRSINIによるリセット動作とは、別個のものとして区別される。
【0118】
上述のディレイモニタ12、制御パルス生成回路13、前進パルス用遅延線14、状態保持部15及び状態保持部初期化回路17は、外部クロックEXTCLKと内部クロックINTCLKの同期をとるために必要な遅延時間τ−(Trc+Tdr)をモニタすることを目的としている。
【0119】
これに対して、後退パルス用遅延線16は、モニタ回路によりモニタされた遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的とする。後退パルス用遅延線16は、遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的としているため、前進パルス用遅延線14を完全に模している。即ち、前進パルス用遅延線14と後退パルス用遅延線16は、状態保持部15に対して対称的に配置され、かつ、両者の回路構成は、完全に同じである。
【0120】
後退パルス用遅延線16は、直列接続されたN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nから構成される。後退パルス用遅延線16は、状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態及びクロックCLKSTINに基づいて、遅延時間τ−(Trc+Tdr)を正確にコピーした後に、クロックSTCLKを出力する。
【0121】
ここで、後退パルス用遅延線16内の後退遅延ユニット16−(n−1)の具体例について説明する。
【0122】
図5は、後退遅延ユニット16−(n−1)の一例を示している。
【0123】
本例では、後退遅延ユニット16−(n−1)は、3つのインバータI4,I5,I6と、2つのクロックドインバータCI3,CI4とから構成される。クロックドインバータCI3,CI4の動作は、状態保持ユニット15−nから出力される制御信号Qn,bQnにより制御される。
【0124】
リセット状態の状態保持ユニット(所定段以降の状態保持ユニット)に対応する後退遅延ユニット、即ち、制御信号Qnが“L”レベル、制御信号bQnが“H”レベルの後退遅延ユニットでは、クロックドインバータCI4が動作状態となり、クロックドインバータCI3が非動作状態となる。このため、クロックRCLIN(=CLKSTIN)がクロックドインバータCI4に入力され、後退パルスが生成される。
【0125】
セット状態の状態保持ユニット(所定段より前の状態保持ユニット)に対応する後退遅延ユニット、即ち、制御信号Qnが“H”レベル、制御信号bQnが“L”レベルの後退遅延ユニットでは、クロックドインバータCI3が動作状態となり、クロックドインバータCI4が非動作状態となる。このため、前段の後退遅延ユニットで生成された後退パルスRCLn+1が、クロックドインバータCI3及びインバータI5を経由して、後段の後退遅延ユニットに、RCLnとして伝達される。インバータI6の出力信号bRCLnは、状態保持ユニット15―(n+2)に与えられる。
【0126】
なお、インバータI4は、前進遅延ユニット14−n(図2参照)との対称性を考慮して設けられたもので、その出力信号RRCLnは、使用されない。
【0127】
クロックSTCLKは、遅延量Tdrを有するドライバ18を経由すると、外部クロックEXTCLKに同期した内部クロックINTCLKとなる。
【0128】
本参考例(図1)のクロック同期回路と従来例(図43)のクロック同期回路を比較すると、前者は、制御パルスBPMによりリセット動作を制御しているのに対し、後者は、制御パルスbPによりリセット動作を制御している。
【0129】
制御パルスbPによりリセット動作を制御する場合(図43の場合)、リセット期間(bP=“L”の期間)は、後退パルスとは関係なく、クロックCLKSTINの立ち上がりエッジのみによって決まる。そして、リセット期間では、後退パルスが入力される後退遅延ユニット、即ち、RCLi(iは段数)が“H”のユニットの2つ後段の状態保持ユニットの状態がリセットされる。
【0130】
例えば、図43において、後退パルスのフロントエッジが後退遅延ユニット16−(n−2)に入力されている場合、その後退遅延ユニット16−(n−2)の2つ後段の状態保持ユニット15−n及びそれよりさらに後段の状態保持ユニット15−(n+1),・・・がリセット状態となる。
【0131】
しかし、この場合、リセット期間においては、常に、後退パルスが入力される後退遅延ユニットの2つ後段の状態保持ユニットの状態がリセットされる。
【0132】
従って、例えば、図8に示すように、後退パルス用遅延線16内に2つの後退パルスB1,B2が存在するタイミングでは、先の後退パルスB1が入力される後退遅延ユニット16−1の2つ後段の状態保持ユニット(破線で示す)15−3の状態がリセットされ、後退パルス用遅延線16の一部、即ち、後退遅延ユニット16−2において後退パルス用遅延線16が電気的に切断される。
【0133】
その結果、後の後退パルスB2の伝達経路が途中で遮断されてしまうことになり、後退パルスの出力タイミングが狂い、正確な同期制御が行えなくなる。
【0134】
これに対し、制御パルスBPMによりリセット動作を制御する場合(図1の場合)、リセット期間(BPM=“L”の期間)は、後退パルス用遅延線16から出力される後退パルス(クロック)STCLKの立ち下がりエッジ及びクロックCLKSTINの立ち上がりエッジ(又は制御パルスbPの立ち上がりエッジ)に基づいて決定される。
【0135】
即ち、図7の回路図から明らかなように、リセット期間は、後退パルス(クロック)STCLKが立ち下がる時点及び制御パルスbPが立ち上がる時点のうちのいずれか遅い時点から一定の遅延時間が経過した後の一定期間(BPM=“L”の期間)となる。但し、後退パルス(クロック)STCLKが立ち下がる時点は、常に、制御パルスbPが立ち下がる時点よりも遅いものとする。
【0136】
そして、リセット期間では、後退パルスが入力される後退遅延ユニット、即ち、RCLi(iは段数)が“H”のユニットの2つ後段の状態保持ユニットの状態がリセットされる。
【0137】
ここで、図1の場合には、後退パルス用遅延線16内に2つの後退パルスB1,B2が存在するタイミングにおいても、常に、先の後退パルスB1(のリアエッジ)が後退パルス用遅延線16から完全に出力された後に、状態保持ユニットのリセット動作が行われるため、後退パルス用遅延線16の一部、即ち、後の後退パルスB2の伝達経路が途中で遮断されてしまうことがない。
【0138】
例えば、図9に示すように、先の後退パルスB1(のリアエッジ)が後退パルス用遅延線16から出力された後にリセット動作が行われるため、リセット時には、後の後退パルスB2が入力される後退遅延ユニット16−nの2つ後段の状態保持ユニット15−(n+2)及びそれよりもさらに後段のユニット15−(n+3),・・・の状態がリセット状態となる。
【0139】
従って、図1の場合には、後の後退パルスB2の伝達経路が途中で遮断されてしまうことがないため、後退パルスの出力タイミングの狂いがなく、正確な同期制御が行える。
【0140】
このように、本参考例では、後退パルス用遅延線16内に2つの後退パルスが存在する場合を考慮し、新規に、状態保持部制御回路19を設け、この状態保持部制御回路19を用いて、常に、後退パルスが後退パルス用遅延線16から出力された後に状態保持部15のリセット動作が行われるようにしている。
【0141】
しかし、図1のクロック同期回路では、後退パルス用遅延線16から後退パルス(のリアエッジ)が出力される時点に基づいてリセット期間を決定しているため、後退パルス用遅延線16から後退パルス(のリアエッジ)が出力される時点の変化により、1サイクル内でのリセットの時点がサイクルごとに変化する、という現象が生じる。
【0142】
そして、リセットの時点がサイクルごとに変化すると、これに伴い、リセットされる状態保持ユニット数(リセット段数)及び1サイクル内で生成される後退パルスのパルス幅が変化する。
【0143】
このようなリセット段数の変化や後退パルスのパルス幅の変化は、不規則な動作による内部クロックINTCLKのばらつきや、必要数以上のユニットをリセットすることによる消費電流の増大などを生じさせる。
【0144】
この問題について、具体的に説明する。
【0145】
図10は、図1のクロック同期回路のリセット動作に関する波形を示している。図11乃至図18は、図10の波形の各時点でのクロック同期回路の状態を示している。
【0146】
・ STCLKの立ち下がり時点がbPの立ち上がり時点よりも遅い場合(サイクル2)
まず、サイクル2において、クロックCLKSTINが立ち上がると(“L”→“H”)、状態保持部15の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態(セット/リセット)に基づいて、後退パルスB2のフロントエッジが形成される(時点▲1▼及び図11)。
【0147】
即ち、本例では、クロックCLKSTINが立ち上がった時点で、n段目の状態保持ユニット15−n及びそれより前段の状態保持ユニット15−1,・・・15−(n−1)がセット状態(bQi(iは段数)=“L”)、n+1段目の状態保持ユニット15−(n+1)及びそれより後段の状態保持ユニット15−(n+2),・・・15−Nがリセット状態(bQi(iは段数)=“H”)となっているため、bQn+1を受けるn段目の後退遅延ユニット16−nにおいて、クロックCLKSTINに基づき、後退パルスB2のフロントエッジが形成される。
【0148】
この後、後退パルス(のフロントエッジ)B2は、後退遅延ユニット16−1(後退パルス用遅延線の出力端)に向かって、後退遅延ユニット16−(n−1),16−(n−2),・・・を、順次、伝搬していく。
【0149】
一方、クロックCLKSTINが立ち上がると、この立ち上りに反応して、制御パルス生成回路13により、制御パルスbP(=“L”)が生成される。
【0150】
ここで、本例では、制御パルスbP(=“L”)が出力されている間は、サイクル2の直前のサイクル1で生成された後退パルスB1(のリアエッジ)が後退パルス用遅延線16から出力されていないため、状態保持部制御回路19は、制御パルスBPMを出力しない。
【0151】
この後、サイクル1で生成された後退パルスB1(のリアエッジ)が後退パルス用遅延線16から出力され、STCLK(=RCL1)が“H”から“L”に変化すると、状態保持部制御回路19は、その変化時から一定の遅延時間を経過した後に制御パルスBPM(=“L”)を出力する(時点▲2▼及び図12)。
【0152】
制御パルスBPMが“L”になると、その時点で、後退パルスB2が存在する後退遅延ユニット(後退パルスB2のフロントエッジが存在する後退遅延ユニット及びそれよりも後段の後退遅延ユニット)、即ち、RCLi(iは段数)が“H”(bRCLiが“L”)になっている後退遅延ユニットの2つ後段の状態保持ユニットの状態がリセットされる。
【0153】
例えば、本例では、制御パルスBPMが“L”になった時点で、n−7段目及びそれ以降の後退遅延ユニット16(n−7),・・・16−n,・・・16−Nの出力信号RCLn−7,・・・RCLn,・・・が“H”となっているため、n−7段目の2つ後段のn−5段目からn段目までの状態保持ユニット15−(n−5),・・・15−nが、同時に、リセット状態(bQn−5,・・・bQn=“H”)になる。
【0154】
なお、n+1段目及びそれよりも後段の状態保持ユニット15−(n+1),・・・は、常に、リセット状態となっている。
【0155】
ところで、制御パルスBPMが“L”の期間(リセット期間)においても、後退パルスB2(のフロントエッジ)は、順次、後退パルス用遅延線16をその出力端に向かって伝搬している。従って、制御パルスBPMが“L”の期間では、後退パルスB2(のフロントエッジ)が入力された後退遅延ユニットの2つ後段の状態保持ユニットが順次リセットされる(期間▲3▼及び図13)。
【0156】
例えば、本例では、制御パルスBPMが“L”の期間において、後退パルスB2(のフロントエッジ)は、後退遅延ユニット16−(n−8),16−(n−9)に入力される。従って、後退遅延ユニット16−(n−8),16−(n−9)の出力信号RCLn−8,RCLn−9が順次“H”となり、n−6段目及びn−7段目の状態保持ユニットの状態が順次リセットされる(bQn−6,bQn−7=“H”)。
【0157】
このように、サイクル2では、n段目からn−7段目までの8個の状態保持ユニット15−n,・・・15−(n−7)がセット状態からリセット状態に変化する。
【0158】
この後、クロックCLKSTINが立ち下がると(“H”→“L”)、状態保持部15の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態(セット/リセット)に基づいて、後退パルスB2のリアエッジが形成される(時点▲4▼及び図14)。
【0159】
即ち、本例では、クロックCLKSTINが立ち下がった時点で、n−8段目の状態保持ユニット15−(n−8)及びそれより前段の状態保持ユニット15−1,・・・15−(n−9)がセット状態(bQi(iは段数)=“L”)、n−7段目の状態保持ユニット15−(n−7)及びそれより後段の状態保持ユニット15−(n−6),・・・15−Nがリセット状態(bQi(iは段数)=“H”)となっているため、bQn−7を受けるn−8段目の後退遅延ユニット16−(n−8)において、クロックCLKSTINに基づき、後退パルスB2のリアエッジが形成される。
【0160】
ここで、サイクル2では、後退パルス用遅延線16の出力端に近いn−8段目の後退遅延ユニット16−(n−8)において後退パルスB2のリアエッジが形成される。従って、後退パルスB2のパルス幅は、狭くなる。
【0161】
この後、後退パルスB2(のリアエッジ)は、後退遅延ユニット16−1(後退パルス用遅延線の出力端)に向かって、後退遅延ユニット16−(n−9),16−(n−10),・・・を、順次、伝搬していく。
【0162】
このように、STCLKの立ち下がり時点がbPの立ち上がり時点よりも遅い場合には、状態保持部制御回路19により、リセットタイミングの遅延動作(後退パルスB1が後退パルス用遅延線16から出力されるのを確認する動作)が行われるため、その分だけ、後退パルスB2が後退パルス用遅延線16を伝搬する段数が増え、結果として、状態保持ユニットのリセット段数が増加し、後退パルスB2のパルス幅が狭まる。
【0163】
以上により、サイクル2による後退パルスB2の生成が終わるが、この後退パルスB2(のリアエッジ)が後退パルス用遅延線16から出力される前に、サイクル2の直後のサイクル3において後退パルスB3の生成が開始される。
【0164】
・ STCLKの立ち下がり時点がbP=“L”の期間にある場合(サイクル3)
まず、サイクル3において、クロックCLKSTINが立ち上がると(“L”→“H”)、状態保持部15の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態(セット/リセット)に基づいて、後退パルスB2のフロントエッジが形成される(時点▲1▼’及び図15)。
【0165】
即ち、本例では、クロックCLKSTINが立ち上がった時点で、n段目の状態保持ユニット15−n及びそれより前段の状態保持ユニット15−1,・・・15−(n−1)がセット状態(bQi(iは段数)=“L”)、n+1段目の状態保持ユニット15−(n+1)及びそれより後段の状態保持ユニット15−(n+2),・・・15−Nがリセット状態(bQi(iは段数)=“H”)となっているため、bQn+1を受けるn段目の後退遅延ユニット16−nにおいて、クロックCLKSTINに基づき、後退パルスB3のフロントエッジが形成される。
【0166】
この後、後退パルス(のフロントエッジ)B3は、後退遅延ユニット16−1(後退パルス用遅延線の出力端)に向かって、後退遅延ユニット16−(n−1),16−(n−2),・・・を、順次、伝搬していく。
【0167】
一方、クロックCLKSTINが立ち上がると、この立ち上りに反応して、制御パルス生成回路13により、制御パルスbP(=“L”)が生成される。
【0168】
ここで、本例では、制御パルスbP(=“L”)が出力されている間に、サイクル3の直前のサイクル2で生成された後退パルスB2(のリアエッジ)が後退パルス用遅延線16から出力されるため(時点▲2▼’及び図16)、状態保持部制御回路19は、制御パルスbPが“L”から“H”に変化してから一定の遅延時間が経過した後に、制御パルスBPM(=“L”)を出力する。
【0169】
制御パルスBPMが“L”になると、その時点で、後退パルスB3が存在する後退遅延ユニット(後退パルスB3のフロントエッジが存在する後退遅延ユニット及びそれよりも後段の後退遅延ユニット)、即ち、RCLi(iは段数)が“H”(bRCLiが“L”)になっている後退遅延ユニットの2つ後段の状態保持ユニットの状態がリセットされる。
【0170】
例えば、本例では、制御パルスBPMが“L”になった時点で、n−1段目及びそれ以降の後退遅延ユニット16(n−1),16−n,・・・16−Nの出力信号RCLn−1,RCLn,・・・が“H”となっているため、n−1段目の2つ後段のn+1段目からN段目までの状態保持ユニット15−(n+1),・・・15−Nがリセット状態(bQn+1,・・・bQN=“H”)になる。
【0171】
なお、本例では、n+1段目及びそれよりも後段の状態保持ユニット15−(n+1),・・・は、常に、リセット状態となっている。
【0172】
ところで、制御パルスBPMが“L”の期間(リセット期間)においても、後退パルスB3(のフロントエッジ)は、順次、後退パルス用遅延線16をその出力端に向かって伝搬している。従って、制御パルスBPMが“L”の期間では、後退パルスB3(のフロントエッジ)が入力された後退遅延ユニットの2つ後段の状態保持ユニットが順次リセットされる(期間▲3▼’及び図17)。
【0173】
例えば、本例では、制御パルスBPMが“L”の期間において、後退パルスB3(のフロントエッジ)は、後退遅延ユニット16−(n−2),16−(n−3)に入力される。従って、後退遅延ユニット16−(n−2),16−(n−3)の出力信号RCLn−2,RCLn−3が順次“H”となり、n段目及びn−1段目の状態保持ユニットの状態が順次リセットされる(bQn,bQn−1=“H”)。
【0174】
このように、サイクル3では、n段目からn−1段目までの2個の状態保持ユニット15−n,15−(n−1)がセット状態からリセット状態に変化する。
【0175】
この後、クロックCLKSTINが立ち下がると(“H”→“L”)、状態保持部15の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態(セット/リセット)に基づいて、後退パルスB3のリアエッジが形成される(時点▲4▼’及び図18)。
【0176】
即ち、本例では、クロックCLKSTINが立ち下がった時点で、n−2段目の状態保持ユニット15−(n−2)及びそれより前段の状態保持ユニット15−1,・・・15−(n−3)がセット状態(bQi(iは段数)=“L”)、n−1段目の状態保持ユニット15−(n−1)及びそれより後段の状態保持ユニット15−n,・・・15−Nがリセット状態(bQi(iは段数)=“H”)となっているため、bQn−1を受けるn段目の後退遅延ユニット16−(n−2)において、クロックCLKSTINに基づき、後退パルスB3のリアエッジが形成される。
【0177】
ここで、サイクル3では、後退パルス用遅延線16の出力端から遠いn−2段目の後退遅延ユニット16−(n−2)において後退パルスB3のリアエッジが形成される。従って、後退パルスB3のパルス幅は、広くなる。
【0178】
この後、後退パルスB3(のリアエッジ)は、後退遅延ユニット16−1(後退パルス用遅延線の出力端)に向かって、後退遅延ユニット16−(n−3),16−(n−4),・・・を、順次、伝搬していく。
【0179】
このように、STCLKの立ち下がり時点がbPが“L”の期間内に存在する場合には、状態保持部制御回路19により、リセットタイミングの遅延動作(後退パルスB2が後退パルス用遅延線16から出力されるのを確認する動作)が行われない。従って、その分だけ、後退パルスB3が後退パルス用遅延線16を伝搬する段数が減り、結果として、状態保持ユニットのリセット段数が減り、後退パルスB3のパルス幅が広くなる。
【0180】
以上により、サイクル3による後退パルスB3の生成が終わるが、この後退パルスB3(のリアエッジ)が後退パルス用遅延線16から出力される前に、サイクル3の直後のサイクル4において後退パルスB4の生成が開始される。
【0181】
なお、サイクル4において後退パルスB4を生成する動作は、サイクル2において後退パルスB2を生成する動作と同じである。
【0182】
以上、図1のクロック同期回路のリセット動作について説明したが、このクロック同期回路では、STCLKの立ち下がり時点がbPの立ち上がり時点よりも遅い場合(前の後退パルスのパルス幅が広い場合)には、リセットタイミングの遅延動作(後退パルスが後退パルス用遅延線から出力されるのを確認する動作)が行われるため、その分だけ、後退パルスが後退パルス用遅延線を伝搬する段数が増え、結果として、状態保持ユニットのリセット段数が増加し、後退パルスのパルス幅が狭まる。
【0183】
一方、STCLKの立ち下がり時点がbPが“L”の期間内に存在する場合(前の後退パルスのパルス幅が狭い場合)には、リセットタイミングの遅延動作が行われないため、その分だけ、後退パルスB3が後退パルス用遅延線を伝搬する段数が減り、結果として、状態保持ユニットのリセット段数が減り、後退パルスのパルス幅が広くなる。
【0184】
このように、図1のクロック同期回路では、サイクルごとに、リセットされる状態保持ユニットの数(リセット段数)や、後退パルスのパルス幅が異なることになるため、不規則な動作により、内部クロックINTCLKのばらつきや消費電流の増大という問題を発生させる。
【0185】
そこで、以下の実施の形態では、リセットされる状態保持ユニットの数(リセット段数)及び後退パルスのパルス幅が常に一定となるようなクロック同期回路について説明する。
【0186】
[第1実施の形態]
図19は、本発明の第1実施の形態に関わるSTBDのブロック構成を示している。
【0187】
外部クロックEXTCLKは、遅延量Trcを有するレシーバ(入力バッファ)11に入力される。レシーバ11は、外部クロックEXTCLKに対してTrcのスキュを有するクロックCLKSTINを出力する。
【0188】
クロックCLKSTINは、遅延量(Trc+Tdr)を有するディレイモニタ12、制御パルス生成回路13及び後退パルス用遅延線16を構成するN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nにそれぞれ入力される。
【0189】
ディレイモニタ12は、クロックCLKSTINに基づいて、前進パルスFCLINを出力する。制御パルス生成回路13は、クロックCLKSTINに基づいて、制御パルスP,bP,bP2を出力する。
【0190】
制御パルスP,bPは、前進パルス用遅延線14を構成するN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作を制御する。即ち、前進パルスFCLINを前進パルス用遅延線14内で伝達させるか否か(外部クロックEXTCLKをモニタするか否か)は、制御パルスP,bPにより決定される。
【0191】
また、制御パルスbP2は、状態保持部15のリセットを行うタイミング(又はリセット期間)を決定する。
【0192】
ここで、制御パルス生成回路13の具体例について簡単に説明する。
【0193】
図24は、制御パルス生成回路13の一例を示している。
【0194】
制御パルス生成回路13は、インバータ及びNAND回路から構成される周知のパルス生成回路から構成される。NAND回路の出力信号は、制御パルスbPとなり、この制御パルスbPのレベルをインバータで反転させると、制御パルスPが得られる。また、制御パルスbPは、直列接続された偶数個のインバータ(遅延時間Xを有する遅延回路)を経由すると、制御パルスbP2となる。
【0195】
この制御パルス生成回路13は、クロックCLKSTINが“L”から“H”になると、遅延時間Yで決まる一定幅(即ち、“L”の期間がY)の制御パルスbP,bP2及び遅延時間Yで決まる一定幅(即ち、“H”の期間がY)の制御パルスPをそれぞれ出力する。
【0196】
ところで、本実施の形態のSTBDは、上述の参考例とは異なり、状態保持部制御回路(図1参照)を有していない。即ち、現サイクルの1つ前のサイクルで生成された後退パルスのリアエッジが後退パルス用遅延線16から出力されたか否かをモニタしていない。
【0197】
これは、本実施の形態のSRBDが、後退パルスに基づいて状態保持部15のリセットを行っていないことに基づいている。即ち、仮に、後退パルス用遅延線16内に2つの後退パルスが存在していても、リセットは、後退パルスに基づかずに、後段の状態保持ユニットの状態(セット/リセット)に基づいて行っているため(この点が重要である)、本実施の形態のSTBDでは、後退パルス遅延線16が断線するという問題が生じない。
【0198】
従って、本実施の形態のSTBDは、後退パルス用遅延線16の出力信号STCLKをモニタする状態保持部制御回路を備える必要がなく(制御パルスbP2により状態保持部15のリセットが制御される。)、その分だけ、STBDの面積を縮小することができる。
【0199】
前進パルスFCLINは、前進パルス用遅延線14に与えられる。前進パルス用遅延線14は、直列接続されたN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nから構成される。但し、N及びnは、共に正数で、かつ、n<Nとする。
【0200】
N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作は、制御パルス(前進パルス伝達制御信号)P,bPにより制御される。N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nが動作状態(前進パルスを伝達できる状態)にあるとき、各前進遅延ユニットは、前段の前進遅延ユニットから受けた前進パルスを、後段の前進遅延ユニットに伝達する。
【0201】
ここで、前進パルス用遅延線14内の前進遅延ユニット14−nの具体例について説明する。
【0202】
図20は、前進遅延ユニット14−nの一例を示している。
【0203】
本例では、前進遅延ユニット14−nは、2つのインバータI2,I3と、2つのクロックドインバータCI1,CI2とから構成される。クロックドインバータCI1,CI2の動作は、制御パルスP,bPにより制御される。
【0204】
制御パルスPが“L”レベル、制御パルスbPが“H”レベルのときは、クロックドインバータCI1が動作状態となり、クロックドインバータCI2が非動作状態となる。このため、前進パルスFCLn−1は、クロックドインバータCI1及びインバータI2を経由して、後段の前進遅延ユニット14−(n+1)に伝達される。インバータI3の出力信号FFCLnは、状態保持ユニット15―nに与えられる。
【0205】
また、制御パルスPが“H”レベル、制御パルスbPが“L”レベルのときは、クロックドインバータCI1が非動作状態となり、クロックドインバータCI2が動作状態となる。このため、全ての前進遅延ユニットにおいて、“L”レベルの電位VSSがクロックドインバータCI2に入力され、ノードAは、“H”レベルにリセットされる。
【0206】
ところで、本実施の形態に関わるSTBDの前進遅延ユニット14−nは、上述の参考例とは異なり、インバータI1(図2参照)を有していない。これは、本実施の形態のSTBDが、後退パルスに基づいて状態保持部15のリセットを行っていないことに基づいている。
【0207】
即ち、後退パルスに基づいて状態保持部15のリセットを行わないため、本実施の形態のSTBDでは、後述する後退遅延ユニット(図23参照)は、インバータI6(図5参照)を有していない。
【0208】
従って、前進遅延ユニットと後退遅延ユニットとの対称性から、前進遅延ユニット14−nも、インバータI1(図2参照)を有していない。このため、本実施の形態のSTBDでは、前進遅延ユニット14−nの面積が、インバータ1個分だけ、縮小される。
【0209】
状態保持部15は、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nから構成される。N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nに対応している。
【0210】
前進パルスが入力された前進遅延ユニットは、これに対応する状態保持ユニットの状態(セット/リセット)を変える。具体的には、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットは、リセット(R)状態からセット(S)状態に変化する。
【0211】
但し、2サイクル目以降では、後述するように、状態保持部15のリセットは、少なくとも前進パルスの伝搬段数の変動量δ分だけ行えば足りるため、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットのうち、リセット状態のものだけがセット状態に変化する。
【0212】
なお、状態保持ユニット15−nの状態を変える役割を果たすのが前進遅延ユニットの出力信号FFCLnである。
【0213】
状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、制御パルス(状態保持部リセット信号)bP2及び後段の状態保持ユニットの出力信号に基づいて、リセット状態に戻される。
【0214】
即ち、まず、制御パルスbP2によりリセット期間が定められる。状態保持部15のリセットは、このリセット期間において行われる。リセット期間において、状態保持ユニット15−nの後段の状態保持ユニット15−(n−1)の出力信号Qn+1が“L”のとき、状態保持ユニット15−nの状態がリセット状態に変化する。
【0215】
STBDでは、前進パルス用遅延線14により遅延量τ−(Trc+Tdr)をモニタした後には、常に、状態保持部15にセット状態とリセット状態の境界が存在し、その境界より前段側の状態保持ユニットは、全て、セット状態、後段側の状態保持ユニットは、全て、リセット状態となっている。
【0216】
そこで、本実施の形態では、リセット期間において、前段の状態保持ユニットがリセット状態であるセット状態の状態保持ユニットについては、その状態を、セット状態からリセット状態に変化させる。この場合、セット状態の状態保持ユニットは、最も境界寄りの状態保持ユニットから、順次、リセット状態に変化していく(リセットの伝搬)。
【0217】
リセットされる状態保持ユニットの数(リセット段数)は、制御パルスbP2の幅(bP2=“L”の期間)により決定される。また、リセット段数は、前進パルスの伝搬段数の変動量δ分以上であることが必要である。
【0218】
本実施の形態のSTBDでは、リセットの伝搬は、後退パルスの伝搬とは無関係に進行する。この場合、リセットの伝搬速度が後退パルスの伝搬速度よりも速くなると、後退パルス用遅延線16により正確にτ−(Trc+Tdr)をコピーできなくなる。
【0219】
そこで、制御パルスbPを一定の遅延時間だけ遅らせ、制御パルスbP2を生成し、この制御パルスbP2により状態保持部15のリセットを制御する。即ち、後退パルスのフロントエッジが形成される時期よりもリセットの時期を十分に遅らせ、常に、リセットの伝搬が後退パルスの伝搬を追い越さないようにしている。
【0220】
なお、状態保持部初期化回路17は、リセット信号RESETに基づいて、初期化信号bRSINIを出力し、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態を強制的にリセット状態に初期化する。
【0221】
ここで、状態保持ユニット15−n及び状態保持部初期化回路17について簡単に説明する。
【0222】
図21は、状態保持ユニット15−nの一例を示している。
【0223】
状態保持ユニット15−nは、電源端子VDDとノードCの間に直列接続されるPチャネルMOSトランジスタP1,P2、接地端子VSSとノードCの間に直列接続されるNチャネルMOSトランジスタN1,N2、電源端子VDDとノードCの間に接続されるPチャネルMOSトランジスタP3及びノードC,Dの間に接続されるラッチ回路LATCHから構成される。
【0224】
本例では、ラッチ回路LATCHは、リセットされない限り、常に、同じ状態を保持するスタティック型ラッチ回路としている。リセット時には、bP2及びQn+1が共に“L”レベルとなり、ノードCが“H”レベル、ノードDが“L”レベルとなる。
【0225】
なお、bP2は、制御パルス生成回路13から出力される信号であり、Qn+1は、後段の状態保持ユニット15−(n+1)から出力される信号である。本実施の形態のSTBDは、後退遅延ユニット16−(n−2)から出力される信号RCLn−2に代えて、後段の状態保持ユニット15−(n+1)から出力される信号Qn+1によりリセットを制御するようにしたものである。
【0226】
制御パルスbP2が“H”レベルの時、前進遅延ユニット14−nに前進パルスFCLn−1が入力されると、前進遅延ユニット14−nの出力信号FFCLnが“H”レベルとなるため、状態保持ユニット15−nは、セット状態、即ち、ノードCが“L”レベル、ノードDが“H”レベルの状態に変化する。
【0227】
状態保持ユニット15−nのノードCの信号bQn及びノードDの信号Qnは、それぞれ、後述する後退遅延ユニット16−nに供給される。後退遅延ユニット16−nの動作は、状態保持ユニット15−nの出力信号Qn,bQnにより制御される。
【0228】
制御パルスbP2が“L”レベルの時、後段の状態保持ユニット15−(n+1)がリセット状態(Qn+1=“L”)であると、状態保持ユニット15−nは、リセット状態、即ち、ノードCが“H”レベル、ノードDが“L”レベルの状態に変化する。
【0229】
状態保持ユニット15−nのノードDの信号Qnは、前段の状態保持ユニット15−(n−1)に供給される。前段の状態保持ユニット15−(n−1)は、Qn(=“L”)を受けると、リセット期間(bP2=“L”)であれば、その状態を、リセット状態に変化させる。
【0230】
図22は、状態保持部初期化回路17の一例を示している。
【0231】
状態保持部初期化回路17は、例えば、直列接続された3つのインバータからなる遅延回路により構成される。リセット信号RESETが“H”レベルになると、制御信号bRSINIが“L”レベルとなるため、図21のPチャネルMOSトランジスタP3がオン状態となり、状態保持ユニット15−nがリセット状態となる。
【0232】
なお、制御パルスbP2によるリセット動作と制御信号bRSINIによるリセット動作とは、別個のものとして区別される。
【0233】
上述のディレイモニタ12、制御パルス生成回路13、前進パルス用遅延線14、状態保持部15及び状態保持部初期化回路17(これらをまとめて、モニタ回路と称する。)は、外部クロックEXTCLKと内部クロックINTCLKの同期をとるために必要な遅延時間τ−(Trc+Tdr)をモニタすることを目的としている。
【0234】
これに対して、後退パルス用遅延線16は、モニタ回路によりモニタされた遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的とする。後退パルス用遅延線16は、遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的としているため、前進パルス用遅延線14を完全に模している。即ち、前進パルス用遅延線14と後退パルス用遅延線16は、状態保持部15に対して対称的に配置され、かつ、両者の回路構成は、完全に同じである。
【0235】
後退パルス用遅延線16は、直列接続されたN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nから構成される。後退パルス用遅延線16は、状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態及びクロックCLKSTINに基づいて、遅延時間τ−(Trc+Tdr)を正確にコピーした後に、クロックSTCLKを出力する。
【0236】
ここで、後退パルス用遅延線16内の後退遅延ユニット16−(n−1)の具体例について説明する。
【0237】
図23は、後退遅延ユニット16−(n−1)の一例を示している。
【0238】
本例では、後退遅延ユニット16−(n−1)は、2つのインバータI4,I5と、2つのクロックドインバータCI3,CI4とから構成される。クロックドインバータCI3,CI4の動作は、状態保持ユニット15−nから出力される制御信号Qn,bQnにより制御される。
【0239】
リセット状態の状態保持ユニット(所定段以降の状態保持ユニット)に対応する後退遅延ユニット、即ち、制御信号Qnが“L”レベル、制御信号bQnが“H”レベルの後退遅延ユニットでは、クロックドインバータCI4が動作状態となり、クロックドインバータCI3が非動作状態となる。このため、クロックRCLIN(=CLKSTIN)がクロックドインバータCI4に入力され、後退パルスが生成される。
【0240】
セット状態の状態保持ユニット(所定段より前の状態保持ユニット)に対応する後退遅延ユニット、即ち、制御信号Qnが“H”レベル、制御信号bQnが“L”レベルの後退遅延ユニットでは、クロックドインバータCI3が動作状態となり、クロックドインバータCI4が非動作状態となる。このため、前段の後退遅延ユニットで生成された後退パルスRCLn+1が、クロックドインバータCI3及びインバータI5を経由して、後段の後退遅延ユニットに、RCLnとして伝達される。
【0241】
ところで、本実施の形態に関わるSTBDの後退遅延ユニット16−(n−1)は、上述の参考例とは異なり、インバータI6(図5参照)を有していない。これは、本実施の形態のSRBDが、後退パルスに基づいて状態保持部15のリセットを行っていないことに基づいている。
【0242】
従って、本実施の形態のSTBDでは、後退遅延ユニット16−nの面積が、インバータ1個分だけ、縮小される。
【0243】
なお、インバータI4は、前進遅延ユニット14−n(図20参照)との対称性を考慮して設けられたもので、その出力信号RRCLn−1は、使用されない。
【0244】
クロックSTCLKは、遅延量Tdrを有するドライバ18を経由すると、外部クロックEXTCLKに同期した内部クロックINTCLKとなる。
【0245】
本実施の形態に関わるクロック同期回路(図19)と参考例に関わるクロック同期回路(図1)とを比較すると、状態保持ユニット15−nのリセット動作に関して大きく異なる点は、前者は、制御パルスbP2と後段の状態保持ユニット15−(n+1)のセット/リセット状態Qn+1に基づいてリセット動作を制御しているのに対し、後者は、制御パルスBPMと2つ前段の後退遅延ユニット16−(nー2)の出力信号bRCLn−2に基づいてリセット動作を制御している点にある。
【0246】
従来例(図43)では、制御パルスbPと2つ前段の後退遅延ユニット16−(nー2)の出力信号bRCLn−2に基づいてリセット動作を制御しており、この場合、後退パルス用遅延線16内に2つの後退パルスB1,B2が存在するタイミング(図8)では、後退パルス用遅延線16が電気的に切断される問題があった。
【0247】
参考例(図1)では、この問題を解決するため、従来例の制御パルスbPを、制御パルスBPMに変更した。この場合、後退パルス用遅延線16の断線という問題は解決できたが、それと同時に、新規に状態保持部制御回路を設けることに起因する面積の増大や、サイクルごとに、リセットされる状態保持ユニットの数(リセット段数)や後退パルスのパルス幅が異なることに起因する消費電流の増大などの問題を発生させた。
【0248】
本発明(図19)では、後退パルス用遅延線16の断線という問題はもちろんのこと、参考例で問題となった面積の増大や消費電流の増大も防止することができる。即ち、本発明では、状態保持部制御回路は不要であり、全てのサイクルにおいて、常に、リセットされる状態保持ユニットの数(リセット段数)と後退パルスのパルス幅は、同じとなる。
【0249】
また、本発明では、新たな原理(詳細な動作については後述する)によりリセット動作を行うため、リセットの伝搬が後退パルスの伝搬を追い越す恐れが発生する。この問題については、リセット期間を後退パルスのフロントエッジの形成時期から一定時間だけ遅らす、即ち、制御パルスbPを一定時間だけ送らせた制御パルスbP2によりリセット動作を制御することで、容易に、解決できる。
【0250】
次に、図19乃至図24のクロック同期回路の動作について説明する。
【0251】
図25は、図19乃至図24のクロック同期回路のリセット動作に関する波形を示している。また、図26乃至図28は、図25の波形の各時点でのクロック同期回路の状態を示している。
【0252】
まず、サイクル2において、クロックCLKSTINが立ち上がると(“L”→“H”)、状態保持部15の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態(セット/リセット)に基づいて、後退パルスB2のフロントエッジが形成される(時点▲1▼及び図26)。
【0253】
即ち、本例では、クロックCLKSTINが立ち上がった時点で、n段目の状態保持ユニット15−n及びそれより前段の状態保持ユニット15−1,・・・15−(n−1)がセット状態(bQi(iは段数)=“L”)、n+1段目の状態保持ユニット15−(n+1)及びそれより後段の状態保持ユニット15−(n+2),・・・15−Nがリセット状態(bQi(iは段数)=“H”)となっているため、bQn+1を受けるn段目の後退遅延ユニット16−nにおいて、クロックCLKSTINに基づき、後退パルスB2のフロントエッジが形成される。
【0254】
この後、後退パルス(のフロントエッジ)B2は、後退遅延ユニット16−1(後退パルス用遅延線の出力端)に向かって、後退遅延ユニット16−(n−1),16−(n−2),・・・を、順次、伝搬していく。
【0255】
一方、クロックCLKSTINが立ち上がると、この立ち上りに反応して、制御パルス生成回路13により、制御パルスbP(=“L”)が生成される。
【0256】
ここで、本発明では、制御パルスbPのパルス幅(bP=“L”の期間)は、重要である。
【0257】
即ち、後述するように、本発明では、制御パルスbP(実際には、bP2)によりリセット期間が決定され、このリセット期間によりリセット段数が決定されるからである。従って、制御パルスbPのパルス幅は、少なくとも前進パルスの伝搬段数の変動量δ(図50及び図51参照)に相当する段数の状態保持ユニットをリセットできるだけの幅を有していなければならない。
【0258】
この変動量δについては、実験や経験則により予め認識しておく必要がある。そして、この変動量δに基づいて、例えば、図24の遅延時間Yを形成するインバータの数を決定する。
【0259】
制御パルスbPが生成された後、一定の遅延時間X(図24の遅延時間X)が経過すると、制御パルスbP2が生成される。この制御パルスbP2は、状態保持部15に供給される(時点▲2▼及び図27)。
【0260】
ここで、本発明では、遅延時間Xも、重要な要素となる。
【0261】
即ち、上述のように、クロックCLKSTINが立ち上がると、後退パルスB2のフロントエッジが形成される(時点▲1▼)。ここで、後退パルスB2のフロントエッジの形成と同時に、状態保持部15のリセットを開始すると、リセットの伝搬速度が後退パルスの伝搬速度よりも速くなったときに、リセットの伝搬が後退パルスの伝搬を追い越してしまう。
【0262】
そこで、仮に、リセットの伝搬速度が後退パルスの伝搬速度よりも速くなったとしても、リセットの伝搬が後退パルスの伝搬を追い越さないように、後退パルスB2のフロントエッジの形成時(制御パルスbPの形成時)から一定の遅延時間Xを経過した後に、制御パルスbP2を生成し、状態保持部15のリセットを開始するようにする。
【0263】
制御パルスbP2が“L”の期間(リセット期間)においては、状態保持部15では、リセットの伝搬が、後退パルスの伝搬とは無関係に、進行する。
【0264】
即ち、リセット期間では、前段の状態保持ユニットがリセット状態であるセット状態の状態保持ユニットは、セット状態からリセット状態に変化する。
【0265】
例えば、本例では、制御パルスbP2が“L”になった時点で、1段目からn段目までの状態保持ユニット15−1,15−2,・・・15−nがセット状態、n+1段目からN段目までの状態保持ユニット15−(n+1),・・・15−Nがリセット状態となっている。
【0266】
このため、まず、bP2(=“L”)及びリセット状態の後段の状態保持ユニット15−(n+1)の出力信号Qn+1(=“L”)を受けるn段目の状態保持ユニット15−nの状態が、セット状態(bQn=“L”)からリセット状態(bQn=“H”)に変化する。
【0267】
続けて、bP2(=“L”)及びリセット状態の後段の状態保持ユニット15−nの出力信号Qn(=“L”)を受けるn−1段目の状態保持ユニット15−(n−1)の状態が、セット状態(bQn−1=“L”)からリセット状態(bQn−1=“H”)に変化する。
【0268】
本例では、この後、bP2が“H”となり、リセット期間が終了するため、状態保持ユニットのリセット段数は、2段(状態保持ユニット15−(n−1),15−n)となる。
【0269】
このように、本発明では、リセット段数は、リセット期間によって決定され、後退パルスのフロントエッジの位置に依存しないため、複数のサイクルにおいて、常に、リセット段数は、等しく(2段)なる。また、このリセット段数は、上述したように、少なくとも前進パルスの伝搬段数の変動量δ(図50及び図51参照)に相当する段数となっている。
【0270】
従って、本サイクルの1つ前のサイクル1で生成された後退パルスB1のリアエッジが後退パルス用遅延線16から出力されたか否かを検出する必要がなく、状態保持部制御回路(図1参照)も不要となる。
【0271】
また、複数のサイクルにおいて、リセット段数が常に等しく、かつ、後退パルスのパルス幅も等しくなるため、画一的動作が可能となり、消費電流も、十分に小さくできる。
【0272】
この後、クロックCLKSTINが立ち下がると(“H”→“L”)、状態保持部15の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態(セット/リセット)に基づいて、後退パルスB2のリアエッジが形成される(時点▲3▼及び図28)。
【0273】
即ち、本例では、クロックCLKSTINが立ち下がった時点で、n−2段目の状態保持ユニット15−(n−2)及びそれより前段の状態保持ユニット15−3,・・・15−(n−9)がセット状態(bQi(iは段数)=“L”)、n−1段目の状態保持ユニット15−(n−1)及びそれより後段の状態保持ユニット15−n,・・・15−Nがリセット状態(bQi(iは段数)=“H”)となっているため、bQn−1を受けるn−2段目の後退遅延ユニット16−(n−2)において、クロックCLKSTINに基づき、後退パルスB2のリアエッジが形成される(RCLi=“L”となる。但し、iは、n−2,n−1,・・・Nである。)。
【0274】
この後、後退パルスB2(のリアエッジ)は、後退遅延ユニット16−1(後退パルス用遅延線の出力端)に向かって、後退遅延ユニット16−(n−3),16−(n−10),・・・を、順次、伝搬していく。
【0275】
なお、以上の動作により、サイクル2による後退パルスB2の生成が終わるが、この後退パルスB2(のリアエッジ)が後退パルス用遅延線16から出力される前に、サイクル2の直後のサイクル3において後退パルスB3の生成が開始される。
【0276】
しかし、サイクル3においても、サイクル2と同様に、リセット段数は、リセット期間によって決定され、後退パルスB2,B3の位置に依存しないため、常に、リセット段数は、等しく(2段)なる。
【0277】
以上、説明したように、本発明のリセット動作では、リセット段数は、リセット期間によって決定され、後退パルスのフロントエッジの位置に依存しないため、複数のサイクルにおいて、常に、リセット段数は、等しくなる。また、このリセット段数は、少なくとも前進パルスの伝搬段数の変動量δに相当する段数となっている。
【0278】
従って、後退パルスのリアエッジが後退パルス用遅延線から出力されたか否かを検出する必要がなく、状態保持部制御回路(図1参照)が不要となり、STBDの面積を縮小できる。また、リセット段数を最小値、即ち、変動量δに相当する段数にすれば、不必要に多くの状態保持ユニットをリセットする必要がないため、消費電流も、十分に小さくできる。
【0279】
また、リセット動作に関し、リセット段数及びリセットを実施するタイミングが毎サイクル同じであるということは、消費電流の大きさ及び発生タイミングが毎サイクル同じであることを意味する。
【0280】
消費電流による電源ノイズの発生は、同期回路にとっては、多少なりとも同期ずれの原因となる。消費電流の大きさ及び発生タイミングが不規則であれば、同期ずれ量がまちまちとなり、同期ずれを補償することが難しくなる。これに対し、本発明のように、消費電流の大きさ及び発生タイミングが規則的であれば、同期ずれ量が一定となり、同期ずれを補償し易くなる。
【0281】
結果として、高精度のクロック同期回路を実現できる。
【0282】
なお、本発明では、状態保持ユニットのリセットは、後段の状態保持ユニットの状態に基づいて行われ、後退パルスの位置に基づいて行われない。従って、制御パルスbP2が“L”の期間(リセット期間)においては、状態保持部におけるリセットの伝搬は、後退パルスの伝搬とは無関係に進行する。
【0283】
この場合、後退パルスのフロントエッジの形成と同時に、状態保持部のリセットを開始すると、リセットの伝搬速度が後退パルスの伝搬速度よりも速くなったときに、リセットの伝搬が後退パルスの伝搬を追い越してしまう。
【0284】
そこで、仮に、リセットの伝搬速度が後退パルスの伝搬速度よりも速くなったとしても、リセットの伝搬が後退パルスの伝搬を追い越さないように、後退パルスのフロントエッジの形成時(制御パルスbPの形成時)から一定の遅延時間Xを経過した後に、制御パルスbP2を生成し、状態保持部のリセットの時期を遅らせる。
【0285】
[第2実施の形態]
第2実施の形態に関わるSTBDは、上述の第1実施の形態に関わるSTBD(図19)に、従来のSTBD(図43)の一部を組み合わせたものである。
【0286】
即ち、本発明では、制御パルスbP2が“L”の期間(リセット期間)においては、状態保持部におけるリセットの伝搬は、後退パルスの伝搬とは無関係に進行する。上述の第1実施の形態に関わるSTBDでは、この点に関する問題を、リセット期間を遅延時間Xだけ遅らせることにより対応していた。
【0287】
本実施の形態では、後退パルスの位置に基づいてリセットする、という条件を、第1実施の形態に関わるSTBDに追加することにより、いかなる状況においても、リセットの伝搬が後退パルスの伝搬を追い越してしまうことがない、という効果を得る。
【0288】
ここで、リセットの条件として、例えば、後退パルス(のフロントエッジ)が前々段の後退遅延ユニットに存在する、という条件を追加しても、本発明では、リセットの他の条件として、後段の状態保持ユニットがリセット状態である、という条件が存在するため、従来のような問題(後退パルス用遅延線の断線)が発生することはない。
【0289】
図29は、本発明の第2実施の形態に関わるSTBDのブロック構成を示している。
【0290】
外部クロックEXTCLKは、遅延量Trcを有するレシーバ(入力バッファ)11に入力される。レシーバ11は、外部クロックEXTCLKに対してTrcのスキュを有するクロックCLKSTINを出力する。
【0291】
クロックCLKSTINは、遅延量(Trc+Tdr)を有するディレイモニタ12、制御パルス生成回路13及び後退パルス用遅延線16を構成するN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nにそれぞれ入力される。
【0292】
ディレイモニタ12は、クロックCLKSTINに基づいて、前進パルスFCLINを出力する。制御パルス生成回路13は、クロックCLKSTINに基づいて、制御パルスP,bP,bP2を出力する。
【0293】
制御パルスP,bPは、前進パルス用遅延線14を構成するN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作を制御する。即ち、前進パルスFCLINを前進パルス用遅延線14内で伝達させるか否か(外部クロックEXTCLKをモニタするか否か)は、制御パルスP,bPにより決定される。
【0294】
また、制御パルスbP2は、状態保持部15のリセットを行うタイミング(又はリセット期間)を決定する。
【0295】
ここで、制御パルス生成回路13の具体例について簡単に説明する。
【0296】
図34は、制御パルス生成回路13の一例を示している。
【0297】
制御パルス生成回路13は、インバータ及びNAND回路から構成される周知のパルス生成回路から構成される。NAND回路の出力信号は、制御パルスbPとなり、この制御パルスbPのレベルをインバータで反転させると、制御パルスPが得られる。また、制御パルスbPは、直列接続された偶数個のインバータ(遅延時間Xを有する遅延回路)を経由すると、制御パルスbP2となる。
【0298】
この制御パルス生成回路13は、クロックCLKSTINが“L”から“H”になると、遅延時間Yで決まる一定幅(即ち、“L”の期間がY)の制御パルスbP,bP2及び遅延時間Yで決まる一定幅(即ち、“H”の期間がY)の制御パルスPをそれぞれ出力する。
【0299】
ところで、本実施の形態のSTBDは、上述の第1実施の形態のSTBDと同様に、状態保持部制御回路(図1参照)を有していない。即ち、現サイクルの1つ前のサイクルで生成された後退パルスのリアエッジが後退パルス用遅延線16から出力されたか否かをモニタしていない。
【0300】
これは、本実施の形態のSRBDが、後段の状態保持ユニット15−(n+1)の状態(セット/リセット)に基づいて状態保持ユニット15−nのリセットを行っていることに基づいている。即ち、仮に、後退パルス用遅延線16内に2つの後退パルスが存在していても、リセットの条件として、後段の状態保持ユニットがリセット状態である、という条件が存在するため、本実施の形態のSTBDでは、後退パルス遅延線16が断線するという問題が生じない。
【0301】
従って、本実施の形態のSTBDは、後退パルス用遅延線16の出力信号STCLKをモニタする状態保持部制御回路を備える必要がなく(制御パルスbP2により状態保持部15のリセットが制御される。)、その分だけ、STBDの面積を縮小することができる。
【0302】
前進パルスFCLINは、前進パルス用遅延線14に与えられる。前進パルス用遅延線14は、直列接続されたN個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nから構成される。但し、N及びnは、共に正数で、かつ、n<Nとする。
【0303】
N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nの動作は、制御パルス(前進パルス伝達制御信号)P,bPにより制御される。N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nが動作状態(前進パルスを伝達できる状態)にあるとき、各前進遅延ユニットは、前段の前進遅延ユニットから受けた前進パルスを、後段の前進遅延ユニットに伝達する。
【0304】
ここで、前進パルス用遅延線14内の前進遅延ユニット14−nの具体例について説明する。
【0305】
図30は、前進遅延ユニット14−nの一例を示している。
【0306】
本例では、前進遅延ユニット14−nは、3つのインバータI1,I2,I3と、2つのクロックドインバータCI1,CI2とから構成される。クロックドインバータCI1,CI2の動作は、制御パルスP,bPにより制御される。
【0307】
制御パルスPが“L”レベル、制御パルスbPが“H”レベルのときは、クロックドインバータCI1が動作状態となり、クロックドインバータCI2が非動作状態となる。このため、前進パルスFCLn−1は、クロックドインバータCI1及びインバータI2を経由して、後段の前進遅延ユニット14−(n+1)に伝達される。インバータI3の出力信号FFCLnは、状態保持ユニット15―nに与えられる。
【0308】
また、制御パルスPが“H”レベル、制御パルスbPが“L”レベルのときは、クロックドインバータCI1が非動作状態となり、クロックドインバータCI2が動作状態となる。このため、全ての前進遅延ユニットにおいて、“L”レベルの電位VSSがクロックドインバータCI2に入力され、ノードAは、“H”レベルにリセットされる。
【0309】
ところで、本実施の形態に関わるSTBDの前進遅延ユニット14−nは、上述の第1実施の形態に関わるSTBDとは異なり、インバータI1を有している。これは、本実施の形態のSRBDが、後退パルスに基づいて状態保持部15のリセットを行っているためである。
【0310】
即ち、n段目の状態保持ユニット15−nのリセット条件は、▲1▼リセット期間であること、▲2▼後段の状態保持ユニット15−(n+1)がリセット状態であること、▲3▼前々段の後退遅延ユニット16−(nー2)に後退パルスが存在すること、の3つである。これらの条件うち、▲3▼の条件を満たすため、後退遅延ユニット(図33参照)は、インバータI6を有する必要がある。
【0311】
従って、前進遅延ユニット14−nにおいても、後退遅延ユニットとの対称性から、インバータI1を有する必要がある。
【0312】
状態保持部15は、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nから構成される。N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、N個の前進遅延ユニット14−1,14−2,・・・14−n,・・・14−Nに対応している。
【0313】
前進パルスが入力された前進遅延ユニットは、これに対応する状態保持ユニットの状態(セット/リセット)を変える。具体的には、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットは、リセット(R)状態からセット(S)状態に変化する。
【0314】
但し、2サイクル目以降では、後述するように、状態保持部15のリセットは、少なくとも前進パルスの伝搬段数の変動量δ分だけ行えば足りるため、前進パルスが入力された前進遅延ユニットに対応する状態保持ユニットのうち、リセット状態のものだけがセット状態に変化する。
【0315】
なお、状態保持ユニット15−nの状態を変える役割を果たすのが前進遅延ユニットの出力信号FFCLnである。
【0316】
状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nは、制御パルス(状態保持部リセット信号)bP2、後段の状態保持ユニットの出力信号及び前々段の後退遅延ユニットの出力信号に基づいて、リセット状態に戻される。
【0317】
即ち、まず、制御パルスbP2によりリセット期間が定められる。状態保持部15のリセットは、このリセット期間(bP2=“L”)において行われる。
【0318】
リセット期間において、状態保持ユニット15−nの後段の状態保持ユニット15−(n−1)の出力信号Qn+1が“L”、かつ、前々段の後退遅延ユニット16−(nー2)の出力信号bRCLn−2が“L”のとき、状態保持ユニット15−nの状態は、リセット状態に変化する。
【0319】
STBDでは、前進パルス用遅延線14により遅延量τ−(Trc+Tdr)をモニタした後には、常に、状態保持部15にセット状態とリセット状態の境界が存在し、その境界より前段側の状態保持ユニットは、全て、セット状態、後段側の状態保持ユニットは、全て、リセット状態となっている。
【0320】
そこで、本実施の形態では、リセット期間において、前段の状態保持ユニットがリセット状態であるセット状態の状態保持ユニットについては、その状態を、セット状態からリセット状態に変化させる。この場合、セット状態の状態保持ユニットは、最も境界寄りの状態保持ユニットから、順次、リセット状態に変化していく(リセットの伝搬)。
【0321】
リセットされる状態保持ユニットの数(リセット段数)は、制御パルスbP2の幅(bP2=“L”の期間)により決定される。また、リセット段数は、前進パルスの伝搬段数の変動量δ分以上であることが必要である。
【0322】
また、本実施の形態のSTBDでは、リセットの伝搬は、後退パルスの伝搬に対して、常に2段分遅れて進行する。従って、リセットの伝搬が後退パルスの伝搬を追い越してしまうことがなく、常に、後退パルス用遅延線16により正確にτ−(Trc+Tdr)をコピーできる。
【0323】
なお、本実施の形態では、リセットの条件として、前々段の後退遅延ユニット16−(nー2)の出力信号bRCLn−2が“L”である、という条件が追加されているが、この場合でも、従来のような問題(後退パルス用遅延線16の断線)は、生じることがない。
【0324】
即ち、仮に、後退パルス用遅延線16内に2つの後退パルスが存在しても、後段の状態保持ユニットがリセット状態である、という条件が存在するため、現サイクルの1つ前のサイクルで生成された後退パルスにより、状態保持ユニットがリセットされるということはない。
【0325】
状態保持部初期化回路17は、リセット信号RESETに基づいて、初期化信号bRSINIを出力し、N個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態を強制的にリセット状態に初期化する。
【0326】
ここで、状態保持ユニット15−n及び状態保持部初期化回路17について簡単に説明する。
【0327】
図31は、状態保持ユニット15−nの一例を示している。
【0328】
状態保持ユニット15−nは、電源端子VDDとノードCの間に直列接続されるPチャネルMOSトランジスタP1,P2,P4、接地端子VSSとノードCの間に直列接続されるNチャネルMOSトランジスタN1,N2、電源端子VDDとノードCの間に接続されるPチャネルMOSトランジスタP3及びノードC,Dの間に接続されるラッチ回路LATCHから構成される。
【0329】
本例では、ラッチ回路LATCHは、リセットされない限り、常に、同じ状態を保持するスタティック型ラッチ回路としている。リセット時には、bP2及びQn+1が共に“L”レベルとなり、ノードCが“H”レベル、ノードDが“L”レベルとなる。
【0330】
なお、bP2は、制御パルス生成回路13から出力される信号であり、Qn+1は、後段の状態保持ユニット15−(n+1)から出力される信号である。本実施の形態のSTBDは、後退遅延ユニット16−(n−2)から出力される信号RCLn−2も、状態保持ユニット15−nに入力される。
【0331】
制御パルスbP2が“H”レベルの時、前進遅延ユニット14−nに前進パルスFCLn−1が入力されると、前進遅延ユニット14−nの出力信号FFCLnが“H”レベルとなるため、状態保持ユニット15−nは、セット状態、即ち、ノードCが“L”レベル、ノードDが“H”レベルの状態に変化する。
【0332】
状態保持ユニット15−nのノードCの信号bQn及びノードDの信号Qnは、それぞれ、後述する後退遅延ユニット16−nに供給される。後退遅延ユニット16−nの動作は、状態保持ユニット15−nの出力信号Qn,bQnにより制御される。
【0333】
制御パルスbP2が“L”レベルの時、後段の状態保持ユニット15−(n+1)がリセット状態であり(Qn+1=“L”)、かつ、前々段の後退遅延ユニット16−(n−2)内に後退パルスが存在すると(bRCLn−2=“L”)、状態保持ユニット15−nは、セット状態から、リセット状態、即ち、ノードCが“H”レベル、ノードDが“L”レベルの状態に変化する。
【0334】
状態保持ユニット15−nのノードDの信号Qnは、前段の状態保持ユニット15−(n−1)に供給される。前段の状態保持ユニット15−(n−1)は、Qn(=“L”)を受け、かつ、bRCLn−3(=“L”)を受けると、リセット期間(bP2=“L”)であれば、その状態を、セット状態からリセット状態に変化させる。
【0335】
図32は、状態保持部初期化回路17の一例を示している。
【0336】
状態保持部初期化回路17は、例えば、直列接続された3つのインバータからなる遅延回路により構成される。リセット信号RESETが“H”レベルになると、制御信号bRSINIが“L”レベルとなるため、図31のPチャネルMOSトランジスタP3がオン状態となり、状態保持ユニット15−nがリセット状態となる。
【0337】
なお、制御パルスbP2によるリセット動作と制御信号bRSINIによるリセット動作とは、別個のものとして区別される。
【0338】
上述のディレイモニタ12、制御パルス生成回路13、前進パルス用遅延線14、状態保持部15及び状態保持部初期化回路17(これらをまとめて、モニタ回路と称する。)は、外部クロックEXTCLKと内部クロックINTCLKの同期をとるために必要な遅延時間τ−(Trc+Tdr)をモニタすることを目的としている。
【0339】
これに対して、後退パルス用遅延線16は、モニタ回路によりモニタされた遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的とする。後退パルス用遅延線16は、遅延時間τ−(Trc+Tdr)を正確にコピーすることを目的としているため、前進パルス用遅延線14を完全に模している。即ち、前進パルス用遅延線14と後退パルス用遅延線16は、状態保持部15に対して対称的に配置され、かつ、両者の回路構成は、完全に同じである。
【0340】
後退パルス用遅延線16は、直列接続されたN個の後退遅延ユニット16−1,16−2,・・・16−n,・・・16−Nから構成される。後退パルス用遅延線16は、状態保持部15内のN個の状態保持ユニット15−1,15−2,・・・15−n,・・・15−Nの状態及びクロックCLKSTINに基づいて、遅延時間τ−(Trc+Tdr)を正確にコピーした後に、クロックSTCLKを出力する。
【0341】
ここで、後退パルス用遅延線16内の後退遅延ユニット16−(n−1)の具体例について説明する。
【0342】
図33は、後退遅延ユニット16−(n−1)の一例を示している。
【0343】
本例では、後退遅延ユニット16−(n−1)は、3つのインバータI4,I5,I6と、2つのクロックドインバータCI3,CI4とから構成される。クロックドインバータCI3,CI4の動作は、状態保持ユニット15−nから出力される制御信号Qn,bQnにより制御される。
【0344】
リセット状態の状態保持ユニット(所定段以降の状態保持ユニット)に対応する後退遅延ユニット、即ち、制御信号Qnが“L”レベル、制御信号bQnが“H”レベルの後退遅延ユニットでは、クロックドインバータCI4が動作状態となり、クロックドインバータCI3が非動作状態となる。このため、クロックRCLIN(=CLKSTIN)がクロックドインバータCI4に入力され、後退パルスが生成される。
【0345】
セット状態の状態保持ユニット(所定段より前の状態保持ユニット)に対応する後退遅延ユニット、即ち、制御信号Qnが“H”レベル、制御信号bQnが“L”レベルの後退遅延ユニットでは、クロックドインバータCI3が動作状態となり、クロックドインバータCI4が非動作状態となる。このため、前段の後退遅延ユニットで生成された後退パルスRCLn+1が、クロックドインバータCI3及びインバータI5を経由して、後段の後退遅延ユニットに、RCLnとして伝達される。
【0346】
ところで、本実施の形態に関わるSTBDの後退遅延ユニット16−(n−1)は、上述の第1実施の形態に関わるSTBDとは異なり、インバータI6を有している。これは、本実施の形態のSTBDが、後退パルスに基づいて状態保持部15のリセットを行っていることに基づいている。
【0347】
なお、インバータI4は、前進遅延ユニット14−n(図30参照)との対称性を考慮して設けられたもので、その出力信号RRCLn−1は、使用されない。
【0348】
クロックSTCLKは、遅延量Tdrを有するドライバ18を経由すると、外部クロックEXTCLKに同期した内部クロックINTCLKとなる。
【0349】
このように、本実施の形態に関わるSTBDでは、n段目の状態保持ユニット15−nのリセット条件は、▲1▼リセット期間であること、▲2▼後段の状態保持ユニット15−(n+1)がリセット状態であること、▲3▼前々段の後退遅延ユニット16−(nー2)に後退パルスが存在すること、の3つとなっている。
【0350】
即ち、リセット条件として、▲3▼の条件を追加することにより、いかなる状況においても、リセットタイミングが早すぎることによる後退パルスの消去、という問題を回避することができる。
【0351】
また、本発明では、▲1▼及び▲2▼の条件を備えているため、後退パルス用遅延線の切断という問題を解決しつつ、STBDの面積縮小や消費電流の低減という効果も得ることができる。
【0352】
[システム]
次に、上述した本発明のクロック同期回路を使用したシステムの一例について説明する。
【0353】
図35は、本発明のクロック同期回路を備える半導体メモリとCPUとからなるシステムを示している。
【0354】
クロック同期型メモリ1とCPU2は、データバス8を介して互いに接続されている。CPU2は、外部クロックEXTCLKを生成し、これをクロック同期型メモリ1に与える。外部クロックEXTCLKは、レシーバ(バッファ)11を経由すると、内部クロックCLKSTINとなる。しかし、外部クロックEXTCLKと内部クロックCLKSTINの間には、レシーバ11の遅延量分だけのずれ(スキュ)を有するため、これを、本発明のクロック同期回路3により取り除く。
【0355】
外部クロックEXTCLKに同期した内部クロックINTCLKは、クロック同期回路3から出力され、この内部クロックINTCLKは、データ入力バッファ4及びデータ出力バッファ5に与えられる。即ち、書き込み・読み出し回路6を用いて、メモリセルアレイ1に対するデータの書き込み・読み出しを行う場合に、データが外部クロックEXTCLKに同期した内部クロックINTCLKに同期して入出力されるため、誤動作が防止され、高速処理が可能になる。
【0356】
[レイアウト]
次に、上述した本発明のクロック同期回路を有する半導体メモリのレイアウトの一例について説明する。
【0357】
図36及び図37は、本発明のクロック同期回路を有する半導体メモリのレイアウトを示している。
【0358】
クロック同期型メモリ1は、例えば、4つのメモリセルアレイ7を有する。メモリセルアレイ7の間のスペースには、周辺回路、入力回路9A、データ入出力回路9Bなどが配置される。入力回路9A上には、入力パッドが配置され、データ入出力回路9B上には、入出力パッドが配置される。
【0359】
本発明のクロック同期回路3は、例えば、入力回路9Aの近傍に配置される(図36参照)。入力回路9Aは、図35のレシーバ(バッファ)11を含んでいるため、入力回路9Aの近傍に本発明のクロック同期回路3を配置することは、配線レイアウトを容易にするという観点から、非常に優れている。
【0360】
また、本発明のクロック同期回路3は、例えば、データ入出力回路9Bの近傍に配置される(図37参照)。本発明のクロック同期回路3により生成されるクロックは、データ入出力回路9Bにおいて使用されるため、データ入出力回路9Bの近傍に本発明のクロック同期回路3を配置することは、配線レイアウトを容易にする、同期制御を正確に行うなど、という観点から、非常に優れている。
【0361】
図38及び図39は、上述の本発明のクロック同期回路を構成する要素のうち、前進遅延ユニット14−1,14−2,・・・14−N、状態保持ユニット15−1,15−2,・・・15−N及び後退遅延ユニット16−1,16−2,・・・16−Nのレイアウトを示している。
【0362】
図38のレイアウトは、従来例(図43)及び参考例(図1)に対応する。また、図39のレイアウトは、本発明の第1実施の形態(図19)のレイアウトに対応する。
【0363】
本発明では、前進遅延ユニット14−1,14−2,・・・14−N及び後退遅延ユニット16−1,16−2,・・・16−Nの各々のサイズは、従来例及び参考例に比べて、インバータ1つ分だけ縮小することができる。即ち、図39に示すように、前進遅延ユニット14−1,14−2,・・・14−N及び後退遅延ユニット16−1,16−2,・・・16−Nに関しては、領域Sだけ、サイズを縮めることができる。
【0364】
なお、クロック同期回路としては、従来例及び参考例に対して、20%程度のサイズの縮小が可能である。
【0365】
図40乃至図42は、前進遅延ユニット14−1,14−2,・・・14−N、状態保持ユニット15−1,15−2,・・・15−N及び後退遅延ユニット16−1,16−2,・・・16−Nを結ぶ配線のレイアウトを示している。
【0366】
図40及び図41のレイアウトは、従来例(図43)及び参考例(図1)に対応する。また、図42のレイアウトは、本発明の第1実施の形態(図19)のレイアウトに対応する。
【0367】
まず、従来例及び参考例では、例えば、n+1段目の状態保持ユニットのリセットは、n−1段目の後退遅延ユニットの出力信号bRCLn−1に基づいて行われる。また、n段目の後退遅延ユニットの状態(後段のユニットの出力信号RCLn+1を受けるか、又は、RCLIN(=CLKSTIN)を受けるか)は、n+1段目の状態保持ユニットの出力信号Qn+1,bQn+1に基づいて行われる。
【0368】
従って、図40に示すように、状態保持ユニット15−1,15−2,・・・15−Nと後退遅延ユニット16−1,16−2,・・・16−Nとの間のスペースに配置される配線のレイアウトは、複雑になる。
【0369】
従来例及び参考例では、この問題を解決するため、例えば、図41に示すように、後退遅延ユニット16−1,16−2,・・・16−Nの位置を、1段分だけ、後段側にずらす。この場合、状態保持ユニット15−1,15−2,・・・15−Nと後退遅延ユニット16−1,16−2,・・・16−Nとの間のスペースに配置される配線のレイアウトは、簡略化される。
【0370】
しかし、図41のレイアウトの場合には、後退遅延ユニット16−1,16−2,・・・16−Nをずらした分だけ、無駄なスペースS1,S2が発生し、これが、クロック同期回路の面積の縮小の障害となる。
【0371】
これに対し、本発明では、例えば、n+1段目の状態保持ユニットのリセットは、n+2段目の状態保持ユニットの出力信号Qn+2に基づいて行われる。つまり、状態保持ユニット15−1,15−2,・・・15−Nと後退遅延ユニット16−1,16−2,・・・16−Nとの間のスペースには、n+1段目の状態保持ユニットの出力信号Qn+1,bQn+1を、n段目の後退遅延ユニットに供給するための配線のみが配置される。
【0372】
従って、図42に示すように、後退遅延ユニット16−1,16−2,・・・16−Nをずらすことなく、状態保持ユニット15−1,15−2,・・・15−Nと後退遅延ユニット16−1,16−2,・・・16−Nとの間のスペースに配置される配線のレイアウトを簡略化できる。
【0373】
【発明の効果】
以上、説明したように、本発明のクロック同期回路によれば、低消費電力と高い同期精度を同時に実現できると共に、簡易なレイアウト、かつ、小さな回路サイズのクロック同期回路を実現できる。
【図面の簡単な説明】
【図1】本発明の参考例に関わるSTBDを示す図。
【図2】図1の前進遅延ユニットを示す図。
【図3】図1の状態保持ユニットを示す図。
【図4】図1の状態保持部初期化回路を示す図。
【図5】図1の後退遅延ユニットを示す図。
【図6】図1の制御パルス生成回路を示す図。
【図7】図1の状態保持部制御回路を示す図。
【図8】従来のSTBDを示す図。
【図9】本発明の参考例に関わるSTBDを示す図。
【図10】図1のSTBDの動作を示す波形図。
【図11】図10の波形内の時点▲1▼でのSTBDの状態を示す図。
【図12】図10の波形内の時点▲2▼でのSTBDの状態を示す図。
【図13】図10の波形内の時点▲3▼でのSTBDの状態を示す図。
【図14】図10の波形内の時点▲4▼でのSTBDの状態を示す図。
【図15】図10の波形内の時点▲1▼’でのSTBDの状態を示す図。
【図16】図10の波形内の時点▲2▼’でのSTBDの状態を示す図。
【図17】図10の波形内の時点▲3▼’でのSTBDの状態を示す図。
【図18】図10の波形内の時点▲4▼’でのSTBDの状態を示す図。
【図19】本発明の第1実施の形態に関わるSTBDを示す図。
【図20】図19の前進遅延ユニットを示す図。
【図21】図19の状態保持ユニットを示す図。
【図22】図19の状態保持部初期化回路を示す図。
【図23】図19の後退遅延ユニットを示す図。
【図24】図19の制御パルス生成回路を示す図。
【図25】図19のSTBDの動作を示す波形図。
【図26】図25の波形内の時点▲1▼でのSTBDの状態を示す図。
【図27】図25の波形内の時点▲2▼でのSTBDの状態を示す図。
【図28】図25の波形内の時点▲3▼でのSTBDの状態を示す図。
【図29】本発明の第2実施の形態に関わるSTBDを示す図。
【図30】図29の前進遅延ユニットを示す図。
【図31】図29の状態保持ユニットを示す図。
【図32】図29の状態保持部初期化回路を示す図。
【図33】図29の後退遅延ユニットを示す図。
【図34】図29の制御パルス生成回路を示す図。
【図35】本発明のSTBDを搭載したメモリとCPUからなるシステムを示す図。
【図36】本発明のSTBDを搭載したメモリのレイアウトを示す図。
【図37】本発明のSTBDを搭載したメモリのレイアウトを示す図。
【図38】本発明のSTBDのレイアウトを示す図。
【図39】本発明のSTBDのレイアウトを示す図。
【図40】本発明のSTBDのレイアウトを示す図。
【図41】本発明のSTBDのレイアウトを示す図。
【図42】本発明のSTBDのレイアウトを示す図。
【図43】従来のSTBDを示す図。
【図44】図43の前進遅延ユニットを示す図。
【図45】図43の状態保持ユニットを示す図。
【図46】図43の状態保持部初期化回路を示す図。
【図47】図43の後退遅延ユニットを示す図。
【図48】図43の制御パルス生成回路を示す図。
【図49】図43のSTBDの同期動作原理を示す波形図。
【図50】図43のSTBDの問題点を示す図。
【図51】図43のSTBDの問題点を示す図。
【符号の説明】
11 :レシーバ(バッファ)、
12 :ディレイモニタ(ミミックディレイ)、
13 :制御パルス生成回路、
14 :前進パルス用遅延線、
14−1,14−2,・・・14−N :前進遅延ユニット、
15 :状態保持部、
15−1,15−2,・・・15−N :状態保持ユニット、
16 :後退パルス用遅延線、
16−1,16−2,・・・16−N :後退遅延ユニット、
17 :状態保持部初期化回路、
18 :ドライバ、
I1,I2,・・・I6 :インバータ、
CI1,CI2,・・・CI4 :クロックドインバータ、
P1,P2,P3,P4 :PチャネルMOSトランジスタ、
N1,N2 :NチャネルMOSトランジスタ、
LATCH :ラッチ回路。
Claims (8)
- 第1クロックを第2クロックに同期させる同期動作を行うクロック同期回路において、複数段の前進遅延ユニットから構成され、前進パルスを用いて前記同期動作に必要な遅延時間をモニタする前進パルス用遅延線と、複数段の状態保持ユニットから構成され、前記遅延時間を前記複数段の状態保持ユニットのセット/リセット状態により保持する状態保持部と、複数段の後退遅延ユニットから構成され、後退パルスを用いて前記遅延時間をコピーする後退パルス用遅延線とを具備し、前記複数段の状態保持ユニットの各々は、リセット期間において後段の状態保持ユニットがリセット状態であることを条件にリセットされることを特徴とするクロック同期回路。
- 前記複数段の状態保持ユニットの各々は、前記リセット期間において前々段の後退遅延ユニットに前記後退パルスが入力されていることを条件にリセットされることを特徴とする請求項1記載のクロック同期回路。
- 前記リセット期間の長さは、前記前進パルスが伝搬する前記前進遅延ユニットの段数の変動量に基づいて決定されることを特徴とする請求項1記載のクロック同期回路。
- 前記前進パルスが入力される前進遅延ユニットに対応する状態保持ユニットは、前記リセット期間前にセット状態となっていることを特徴とする請求項1記載のクロック同期回路。
- 請求項1記載のクロック同期回路において、
周期τを有する前記第2クロックを受け、遅延時間Trcを有するレシーバと、前記レシーバから出力されるクロックを受け、遅延時間Trc+Tdrを有するディレイモニタと、前記第2クロックに基づいて前記リセット期間を決定する制御パルス生成回路と、前記後退パルス用遅延線から出力されるクロックを受け、遅延時間Tdrを有するドライバとを具備し、
前記遅延時間は、τ−(Trc+Tdr)であり、前記第1クロックは、前記ドライバから出力されることを特徴とするクロック同期回路。 - 請求項1又は5記載のクロック同期回路を搭載したクロック同期型メモリ。
- 請求項1又は5記載のクロック同期回路を搭載したメモリと、前記メモリに前記第2クロックを供給するCPUと、前記メモリと前記CPUとを接続するバスとを具備することを特徴とするメモリシステム。
- 前記メモリは、ダブルデータレートタイプDRAM、シンクロナスDRAM又はダブルデータレートファーストサイクルRAMであることを特徴とする請求項7記載のメモリシステム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001202552A JP4005779B2 (ja) | 2001-07-03 | 2001-07-03 | クロック同期回路 |
US10/188,683 US6822922B2 (en) | 2001-07-03 | 2002-07-02 | Clock synchronous circuit |
CNB021303754A CN1224876C (zh) | 2001-07-03 | 2002-07-03 | 时钟同步电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001202552A JP4005779B2 (ja) | 2001-07-03 | 2001-07-03 | クロック同期回路 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003015764A JP2003015764A (ja) | 2003-01-17 |
JP2003015764A5 JP2003015764A5 (ja) | 2005-08-25 |
JP4005779B2 true JP4005779B2 (ja) | 2007-11-14 |
Family
ID=19039344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001202552A Expired - Fee Related JP4005779B2 (ja) | 2001-07-03 | 2001-07-03 | クロック同期回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6822922B2 (ja) |
JP (1) | JP4005779B2 (ja) |
CN (1) | CN1224876C (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100956770B1 (ko) * | 2007-12-10 | 2010-05-12 | 주식회사 하이닉스반도체 | Dll 회로 및 그 제어 방법 |
JP6399136B1 (ja) | 2017-03-31 | 2018-10-03 | オムロン株式会社 | 制御装置、制御プログラム、および制御システム |
TWI685200B (zh) | 2018-08-10 | 2020-02-11 | 華邦電子股份有限公司 | 同步鏡延遲電路和同步鏡延遲操作方法 |
US11456729B1 (en) * | 2021-03-26 | 2022-09-27 | Analog Devices, Inc. | Deskew cell for delay and pulse width adjustment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3410922B2 (ja) * | 1996-04-23 | 2003-05-26 | 株式会社東芝 | クロック制御回路 |
JP3435335B2 (ja) * | 1998-03-18 | 2003-08-11 | 株式会社東芝 | クロック同期遅延制御回路及び外部クロックに同期した内部クロックを用いるデバイスを含む装置 |
JP2000235791A (ja) * | 1999-02-15 | 2000-08-29 | Toshiba Corp | クロック同期遅延制御回路 |
JP2001014847A (ja) * | 1999-06-30 | 2001-01-19 | Toshiba Corp | クロック同期回路 |
JP2002109880A (ja) * | 2000-09-28 | 2002-04-12 | Toshiba Corp | クロック同期回路 |
-
2001
- 2001-07-03 JP JP2001202552A patent/JP4005779B2/ja not_active Expired - Fee Related
-
2002
- 2002-07-02 US US10/188,683 patent/US6822922B2/en not_active Expired - Lifetime
- 2002-07-03 CN CNB021303754A patent/CN1224876C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1396502A (zh) | 2003-02-12 |
US20030007414A1 (en) | 2003-01-09 |
JP2003015764A (ja) | 2003-01-17 |
CN1224876C (zh) | 2005-10-26 |
US6822922B2 (en) | 2004-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6738918B2 (en) | High speed data transfer synchronizing system and method | |
EP0803875B1 (en) | Clock control circuit | |
US6842396B2 (en) | Semiconductor memory device with clock generating circuit | |
US11953934B2 (en) | Memory system using asymmetric source-synchronous clocking | |
US9601170B1 (en) | Apparatuses and methods for adjusting a delay of a command signal path | |
US8018246B2 (en) | Semiconductor device | |
KR101735091B1 (ko) | 컬럼소스신호 생성회로 | |
KR100883140B1 (ko) | 데이터 출력 제어회로, 반도체 메모리 장치 및 그의 동작방법 | |
JP2003223783A (ja) | 半導体装置 | |
JP2009284265A (ja) | Zqキャリブレーション回路 | |
TW459380B (en) | Clock synchronous system | |
JP4005779B2 (ja) | クロック同期回路 | |
JP2002109880A (ja) | クロック同期回路 | |
US6608514B1 (en) | Clock signal generator circuit and semiconductor integrated circuit with the same circuit | |
KR100292127B1 (ko) | 클록 동기 지연 제어 회로 | |
JP2000235791A (ja) | クロック同期遅延制御回路 | |
US6359480B1 (en) | Synchronizing circuit for generating a signal synchronizing with a clock signal | |
JP2001035155A (ja) | パイプレジスタ及びそれを備えた半導体メモリ素子 | |
KR100302282B1 (ko) | 클록제어회로를 갖춘 장치, 클록신호 제어방법 및 외부클록신호에 동기한 내부클록신호를 이용하는 장치 | |
KR100951657B1 (ko) | 데이터 스트로브 버퍼 회로 및 이를 이용한 데이터 입력버퍼 장치 | |
JP2002251228A (ja) | クロック同期回路 | |
JP4846144B2 (ja) | 同期型半導体記憶装置 | |
JP3860546B2 (ja) | クロック制御回路 | |
KR20060027057A (ko) | 전송 데이터의 래치 마진을 개선한 반도체 장치 | |
KR20010005237A (ko) | 펄스 발생장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050223 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050223 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070726 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070824 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130831 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |