(58)【調査した分野】(Int.Cl.,DB名)
付加的な遅延回路と、位相検出器と、制御回路とをさらに備え、該付加的な遅延回路は、前記入力信号を受信し、該入力信号の第2の遅延バージョンを出力するように動作可能であり、該位相検出器は、該入力信号の2つの遅延バージョン間の位相差を検出するために、前記ラッチ回路から前記入力信号の前記遅延バージョンを受信する第1の入力と、該付加的な遅延回路から該入力信号の該第2の遅延バージョンを受信する第2の入力とを有し、該位相検出器の出力は、該制御回路によって受信されて、遅延の前記調整可能な量を制御するための制御信号を生成するように動作可能である、請求項1に記載の集積回路。
前記ラッチ回路は、第1の入力および第2の入力を有し、該ラッチ回路の該第1の入力は、前記入力信号を受信するように動作可能であり、該ラッチ回路の該第2の入力は、前記パルス信号の前記遅延バージョンを受信するように動作可能である、請求項2に記載の集積回路。
前記集積回路は、前記入力信号の前記遅延バージョンにおける負荷サイクルひずみを補正するように動作可能である負荷サイクルひずみ補正回路であり、該負荷サイクルひずみ補正回路の第1の部分は、前記パルス発生回路と、前記遅延回路と、前記ラッチ回路とを備え、該負荷サイクルひずみ補正回路の第2の部分は、第1および第2の位相検出器と、制御回路とを備え、該第1および第2の位相検出器は、該ラッチ回路からの該入力信号の該遅延バージョンおよび基準信号を受信するように動作可能であり、該第1および第2の位相検出器は、該入力信号の該遅延バージョンと該基準信号との間の位相差を検出するように動作可能であり、該第1および第2の位相検出器のうちの少なくとも1つからの出力は、該制御回路によって受信されて、遅延の前記調整可能な量を制御するための制御信号を生成するように動作可能である、請求項1に記載の集積回路。
前記ラッチ回路は、第1の入力と、第2の入力とを備え、該ラッチ回路の該第1の入力は、前記入力信号を受信するように動作可能であり、該ラッチ回路の該第2の入力は、前記パルス信号の前記遅延バージョンを受信するように動作可能である、請求項4に記載の集積回路。
前記パルス発生回路は、付加的な遅延回路と、論理ゲートとを備え、該付加的な遅延回路および該論理ゲートは、前記入力信号を受信するように動作可能であり、該論理ゲートは、その出力において前記パルスを生成するように動作可能である、請求項6に記載の遅延回路網。
【発明を実施するための形態】
【0014】
本発明の実施形態は、ほぼ等しい立ち上がりおよび立ち下がり遅延を提供する遅延回路を伴う集積回路に関する。集積回路は、デジタル信号処理回路、マイクロプロセッサ、特定用途向け集積回路、メモリチップ、プログラム可能論理素子集積回路、または他の好適な集積回路を含んでもよい。
【0015】
プログラム可能論理素子集積回路等のプログラム可能集積回路は、構成データを記憶するためにプログラム可能メモリ要素を使用する。プログラム可能集積回路のプログラミング動作中に、構成データがメモリ要素にロードされる。プログラム可能集積回路の通常動作中に、各メモリ要素は、静的出力信号を提供してもよい。メモリ要素によって供給される静的出力信号は、制御信号としての機能を果たす。これらの制御信号は、プログラム可能論理をカスタマイズして、所望の論理関数を実施するように、集積回路上のプログラム可能論理に印加される。
【0016】
メモリ要素は、多数の行および列を有するアレイで編成されてもよい。例えば、メモリアレイ回路は、プログラム可能論理素子集積回路上において数百または数千の行および列で形成されてもよい。
図1のプログラム可能集積回路10は、メモリアレイ回路が形成され得る、例示的な集積回路の実施例である。
【0017】
図1に示されるように、プログラム可能集積回路10は、素子10から信号を駆動するため、および入出力ピン14を介して他の素子から信号を受信するための入出力(I/O)回路12を有してもよい。大域的および局所的な垂直および水平導電線およびバス等の相互接続リソース16が、素子10上において信号をルートするために使用されてもよい。相互接続リソース16は、固定相互接続(導電線)およびプログラム可能相互接続(すなわち、それぞれの固定相互接続の間のプログラム可能接続)を含んでもよい。プログラム可能論理18は、組み合わせおよび順序論理回路を含んでもよい。プログラム可能論理18は、カスタム論理関数を実施するように構成されてもよい。
【0018】
プログラム可能集積回路10は、ピン14およびI/O回路12を使用して構成データ(プログラミングデータとも呼ばれる)を搭載することができる、メモリ要素20を含有する。いったん搭載されると、メモリ要素は、それぞれ、プログラム可能論理18の中の関連論理構成要素の状態を制御する、対応する静的制御出力信号を提供してもよい。典型的には、メモリ要素出力信号は、金属酸化膜半導体(MOS)トランジスタのゲートを制御するために使用される。トランジスタのうちのいくつかは、p型チャネル金属酸化膜半導体(PMOS)トランジスタであってもよい。これらのトランジスタのうちの多くは、マルチプレクサ等のプログラム可能構成要素の中のn型チャネル金属酸化膜半導体(NMOS)パストランジスタであってもよい。メモリ要素出力が高いとき、メモリ要素によって制御されるNMOSパストランジスタは、その入力からその出力へ論理信号を伝えるようにオンにされるであろう。メモリ要素出力が低いとき、パストランジスタは、オフにされ、論理信号を伝えない。
【0019】
典型的なメモリ要素20は、相互連結されたインバータを形成するように構成される、いくつかのトランジスタから形成される。他の配設(例えば、より分散型のインバータ様回路を伴うセル)も使用されてもよい。1つの好適なアプローチにおいて、補完的な金属酸化膜半導体(CMOS)集積回路技術が、メモリ要素20を形成するために使用されるため、CMOSベースのメモリ要素実装が、実施例として本明細書で説明される。プログラム可能集積回路との関連で、メモリ要素は、構成データを記憶し、したがって、時には構成ランダムアクセスメモリ(CRAM)セルと呼ばれる。
【0020】
素子10は、遅延ロックループ(DLL)、負荷サイクル補正(DCC)回路、入出力(I/O)回路、および遅延回路を含む他の制御回路等の回路を有してもよい。遅延回路は、所望量の遅延を提供するように調整されてもよい。例えば、遅延回路は、参照遅延の倍数または分数である、タイミング遅延を提供するために使用されてもよい。
【0021】
従来の遅延連鎖は、時効効果を受け得、かつ異なる立ち上がりおよび立ち下がり遅延を被り得る。合致しない立ち上がりおよび立ち下がり遅延を伴って遅延連鎖を通過させられるクロック信号は、望ましくないが、負荷サイクルひずみを被り得る。したがって、合致した(同等の)立ち上がりおよび立ち下がり遅延を伴う遅延回路を提供できることが望ましくあり得る。
【0022】
図2は、時効効果に感応しない例示的な遅延回路の回路図である。
図2に示されるように、遅延回路50は、第1の遅延回路54と、第2の遅延回路58と、論理XORゲート56等の論理ゲートと、ラッチ60とを含んでもよい。ラッチ60は、エッジトリガフリップフロップ(例えば、正のエッジトリガフリップフロップまたは負のエッジトリガフリップフロップ)、またはレベル感受性ラッチ(例えば、正のレベル感受性ラッチまたは負のレベル感受性ラッチ)であってもよい。
【0023】
遅延回路50は、入力52および出力62を有してもよい。入力52が、入力信号INを受信してもよい一方で、出力信号OUTは、出力62で供給されてもよい。
【0024】
遅延回路54は、パルス幅遅延Tδを導入するために使用されてもよい。遅延回路54は、入力および出力を有してもよい。遅延回路54の入力は、入力52に接続されてもよい。遅延回路54は、インバータ連鎖、遅延補間器、または他の種類の遅延要素から形成されてもよい。
【0025】
論理XORゲート56は、第1および第2の入力と、出力とを有してもよい。ゲート56の第1の入力が、入力52に接続されてもよい一方で、ゲート56の第2の入力は、遅延回路54の出力に接続されてもよい。この配設を使用して接続されると、ゲート56は、入力52において低から高へ、または高から低へ遷移する信号に応答して、Tδのパルス幅を伴うパルス(例えば、信号PUL)を、その出力において生成してもよい。したがって、遅延回路54およびゲート56は、集合的にパルス発生回路と呼ばれてもよい(例えば、
図2のパルス発生回路は、入力52において入力波形の正のエッジおよび負のエッジに応答してパルスを生成するようにトリガされてもよい)。その入力において立ち上がりおよび立ち下がりエッジの両方に応答してパルスを生成することができる他のパルス発生回路が、所望であれば、使用されてもよい。
【0026】
遅延回路58は、遅延回路50によって導入される所望の信号遅延を提供する働きをしてもよい。遅延回路58は、入力および出力を有してもよい。遅延回路58の入力は、信号PULを受信してもよい。遅延回路58は、所望のタイミング遅延TΔを導入するために使用されてもよい。例えば、信号PULは、時間t0において立ち上がりエッジを有してもよい。信号PULの遅延バージョンが、遅延回路58の出力において生成されてもよい。具体的には、遅延パルス信号PUL’の立ち上がりエッジは、時間t0後にTΔだけ遅延させられてもよい。遅延回路58は、インバータ連鎖、遅延補間器、または他の種類の遅延要素から形成されてもよい。
【0027】
ラッチ60は、(例えば、所望量の遅延を伴って入力信号を再構築するように)入力信号INの遅延バージョンを生成する働きをしてもよい。ラッチ60は、入力D、出力Q、および制御入力を有してもよい。ラッチ60の入力Dが、入力信号INを受信してもよい一方で、ラッチ60の制御入力は、遅延パルス信号PUL’を受信してもよい。ラッチ60の出力Qは、遅延回路50の出力62としての機能を果たしてもよい。ラッチ60は、(ラッチ60が正のエッジトリガフリップフロップである場合)信号PUL’の立ち上がりに応答して、または(ラッチ60がレベル感受性ラッチである場合)信号PUL’が高くパルス化されている間に、その入力Dにおいて提示される信号INの値を、その出力Qにおいてラッチしてもよい。
【0028】
図2に示されるように、遅延回路58は、制御線66をわたる制御回路64から制御信号を受信してもよい。制御回路64は、遅延TΔを調整し、それにより、遅延回路50によって提供される全体的な信号遅延を調整してもよい。全体的な信号遅延は、遅延回路50を通過する信号によって被られる立ち上がり/立ち下がり遅延として定義されてもよい(例えば、信号OUTの立ち上がりエッジが、信号INの対応する立ち上がりエッジに対してTΔだけ遅延させられてもよい一方で、信号OUTの立ち下がりエッジは、信号INの対応する立ち下がりエッジに対してTΔだけ遅延させられてもよい)。所望であれば、制御回路64は含まれる必要がない(例えば、遅延回路50は、調整不可能な遅延を提供してもよい)。制御回路64は、遅延回路50の一部として形成されてもよい。
【0029】
入力52における立ち上がりおよび立ち下がり遷移両方が、遅延回路58を通って伝搬する同一パルス信号をトリガする(例えば、正のエッジおよび負のエッジに応答して生成されるパルスがトランジスタ挙動の同一シーケンスをトリガする)ため、遅延回路50は、トランジスタ時効効果に耐性がある。結果として、遅延回路50は、遅延回路54および58における任意のトランジスタ不一致および任意の局所変動(例えば、プロセス、電圧、および温度変動)の存在下において、合致した立ち上がりおよび立ち下がり遅延を生成してもよい。クロック信号を遅延させるために遅延回路50を使用することは、例えば、低減した負荷サイクルひずみを提供してもよい(例えば、出力62における遅延クロック信号は、回路50の入力52において受信される元のクロック信号の負荷サイクルにほぼ等しい、負荷サイクルを有してもよい)。
【0030】
図3は、
図2に関連して説明される種類の遅延回路50の動作中の関連信号の挙動を図示する、タイミング図である。
図3に示されるように、(入力52における)信号IN、(ゲート56の出力における)PUL、(ラッチ60の制御入力における)PUL’、および(出力62における)OUTは、時間t1より前においては、低くあり得る。信号INは、(実施例として)50%負荷サイクルを伴う方形波クロック信号であってもよい。
【0031】
時間t1において、信号INは、高く上昇させられてもよい。高く立ち上がる信号INは、高く立ち上がるように信号PULをトリガしてもよい。
図3に示されるように、論理XORゲート56の立ち上がり遅延は、ごくわずかであり得る。パルス信号PULは、Tδの周期にわたって高くパルス化されてもよい。遅延Tδは、クロック信号INのクロック信号と比較して比較的小さくあり得る(例えば、遅延Tδは、4分の1のクロックサイクルよりも短くあり得る)。
【0032】
時間t2において、遅延パルス信号PUL’は、高くパルス化する。これは、ラッチ60が(矢印51によって示されるように)時間t2において高い入力信号をサンプリングする(ラッチする)ため、信号OUTを高く上昇させる。
図3に示されるように、ラッチ60の立ち上がり遅延は、ごくわずかであり得る。信号INの立ち上がりクロックエッジから、遅延信号PUL’の立ち上がりクロックエッジまで(例えば、時間t1からt2まで)の遅延は、遅延TΔに等しくあり得る。遅延TΔは、遅延Tδよりも大きくあり得る(例えば、
図3参照)。
【0033】
時間t3において、信号INは、低くクロックしてもよい。低く立ち下がる信号INは、Tδにわたって高くパルス化するように信号PULをトリガしてもよい。立ち下がりクロックエッジに応答してトリガされるパルス信号PULは、時間t1の立ち上がりクロックエッジに応答してトリガされるパルス信号と同一の方法で生成されてもよい。INの立ち上がりクロックエッジからINの連続立ち下がりクロックエッジまで(例えば、時間t1からt3まで)の周期は、正の(高い)クロック位相T
HIと呼ばれてもよい。
【0034】
時間t4において、信号PUL’は、Tδにわたって高くパルス化してもよい。これは、ラッチ60が(矢印53によって示されるように)時間t4において低い入力信号をラッチするため、信号OUTを低く引き下げさせる。信号INの立ち下がりクロックエッジから、遅延信号PUL’の対応する立ち上がりクロックエッジまで(例えば、時間t3からt4まで)の遅延は、遅延TΔに等しくあり得る。
【0035】
時間t5において、信号INは、連続クロックサイクルを開始するように高くクロックする。INの立ち下がりクロックエッジからINの連続立ち上がりクロックエッジまで(例えば、時間t3からt5まで)の周期は、負の(低い)クロック位相T
LOと呼ばれてもよい。時間t6において、信号OUTは、INの立ち上がりクロックエッジに続く遅延TΔ後に、高くクロックするであろう。
【0036】
図3に示されるように、信号OUTは、クロック信号INの遅延バージョンである。出力62における遅延クロック信号OUTは、入力52における元のクロック信号に対して時間TΔだけ遅延させられてもよい。遅延クロック信号は、元のクロック信号のT
HIおよびT
LOにそれぞれ等しい、高いクロック位相T
HI(例えば、時間t2からt4まで)および低いクロック位相T
LO(例えば、時間t4からt6まで)を有してもよい。
【0037】
遅延回路54は、時効効果を受け得る。これは、遅延回路54の中のトランジスタのうちのいくつかの性能が劣化しているため、パルス幅Tδを拡大または縮小させ得る。しかしながら、パルス幅Tδの変化は、遅延TΔに影響を及ぼさない。遅延回路58は、回路50の動作中に、時効が、短すぎてラッチ60をトリガできなくなるほど幅Tδを縮小させないように、十分な限界を伴って設計されてもよい。
【0038】
遅延回路50は、立ち上がりまたは立ち下がりエッジのいずれか一方に応答してトリガされる遅延TΔが同一であるため、合致した立ち上がりおよび立ち下がり遅延を生成することが可能である。したがって、このアプローチを使用してクロック信号を遅延させることにより、従来のシステムと比較して、時効効果の存在下において低減した負荷サイクルひずみを受け得る。
【0039】
図2の遅延回路50は、所望の遅延TΔが高いクロック位相T
HIまたは低いクロック位相T
LOを超える場合に適正に機能しない場合がある。これは、パルスがラッチ60の制御入力に到達するときに信号INの状態が変化しているであろう理由から、ラッチ60が誤ったデータをサンプリングするためである。
【0040】
図4は、正のクロック位相T
HIよりも長い遅延TΔを提供しながら、適正に動作する遅延回路の1つの好適な配設を示す。
図4に示されるように、遅延回路70は、直列に連鎖された2つの遅延回路50を含んでもよい。第1の遅延回路50は、遅延回路70に対する入力69を形成する入力52と、第2の遅延回路50に対する入力52に連結される出力62とを有してもよい。第1の遅延回路50の出力62において生成される信号が、中間信号Xによって表されてもよい。
【0041】
第2の遅延回路50の入力52は、信号Xを受信してもよい。第2の遅延回路50は、遅延回路70に対する出力71を形成する出力62を有してもよい。例えば、元のクロック信号INは、遅延回路70の入力69を介して供給されてもよい。出力71において生成される遅延クロック信号OUTは、(実施例として)半クロックサイクルを上回る遅延を伴う元のクロック信号INの遅延バージョンであってもよい。
【0042】
図5は、遅延回路70の動作中の関連信号の挙動を図示する、タイミング図である。時間t1において、元のクロック信号INは、高くクロックしてもよい。第1の遅延TΔ後に、中間信号Xは、(時間t2において)高くクロックする。信号Xは、TΔだけ遅延させられる元のクロック信号INの遅延バージョンであってもよい。
【0043】
時間t3において、遅延クロック信号OUTは、高くクロックする。
図5に示されるように、信号OUTは、第1の遅延TΔ(例えば、第1の遅延回路50によって提供される遅延)後に、および第2の遅延TΔ(例えば、第2の遅延回路50によって提供される遅延)後に高くクロックする。したがって、信号OUTは、信号INの第1の立ち上がりクロックエッジに続く2TΔの全体的遅延後に高くクロックする。時間t4において、信号OUTは、信号INの第1の立ち下がりクロックエッジに続く2TΔの遅延後に低くクロックする。時間t5において、信号OUTは、信号INの第2の立ち上がりクロックエッジに続く2TΔの遅延後に連続クロックサイクルを開始するように、高くクロックする。第1および第2の遅延回路50の遅延は、それらの遅延が所望の値になる限り、同一である必要はない。
【0044】
したがって、このアプローチを使用して構成される遅延回路70は、高いクロック位相T
HIを上回る全体的な遅延(例えば、2TΔの遅延)を提供してもよい。
図4の配設は、例示にすぎない。遅延回路70は、遅延回路70を介して所望量の遅延を提供するように、直列に連結された2つよりも多くの遅延回路50を含んでもよい。
【0045】
図6は、高いクロック位相T
HIを上回るか、または半クロックサイクルを上回る、遅延TΔを提供しながら適正に動作する、遅延回路の別の好適な配設を示す。遅延回路80は、明確に異なる遅延経路を介して、立ち上がりパルス信号(例えば、立ち上がりクロックエッジに応答してトリガされるパルス信号)および立ち下がりパルス信号(例えば、立ち下がりクロックエッジに応答してトリガされるパルス信号)を伝搬するように構成されてもよい(例えば、立ち上がりパルス信号が、第1の遅延経路101を介して伝搬される一方で、立ち下がりパルス信号は、第2の遅延経路103を介して伝搬される)。遅延回路80は、たとえ所望の遅延TΔが高いクロック位相T
HIを上回っても、パルス信号が遅延経路101および103を通って伝搬する限り、適正に動作することができる。
【0046】
図6に示されるように、遅延回路80は、第1の遅延回路100と、第2の遅延回路102と、セット・リセット(SR)ラッチ104等のラッチと、パルス発生回路(例えば、パルス遅延回路84および関連論理回路)を含んでもよい。
【0047】
遅延回路80は、入力82および出力106を有してもよい。入力82が、入力信号INを受信してもよい一方で、出力信号OUTは、出力106で供給されてもよい。
【0048】
遅延回路84は、パルス幅遅延Tδを導入するために使用されてもよい。遅延回路84は、入力および出力(86)を有してもよい。遅延回路84の入力は、入力82に接続されてもよい。遅延回路84は、インバータ連鎖、遅延補間器、または他の種類の遅延要素から形成されてもよい。
【0049】
遅延回路84の出力は、論理NANDゲート88および90等の関連パルス発生回路に連結されてもよい。ゲート88および90は、それぞれ、第1および第2の入力と、出力とを有してもよい。遅延回路84の出力86は、インバータ92を介してゲート88の第1の入力に、およびゲート90の第1の入力に連結されてもよい。入力82は、パスゲート96を介してゲート88の第2の入力に、およびインバータ94を介してゲート90の第2の入力に連結されてもよい。ゲート88と関連付けられるパスゲート(時には伝送ゲートとも呼ばれる)96は、ゲート90と関連付けられるインバータ94の遅延に等しい遅延を提供する働きをしてもよい。このようにして合致する遅延を提供することは、それぞれ、遅延経路101および103を介して、立ち上がりおよび立ち下がり遅延を均等化する働きをしてもよい。パスゲート96は、任意の好適な遅延回路であってもよい。
【0050】
ゲート88および遅延回路100が、第1の遅延経路101(例えば、正エッジトリガパルス信号伝搬経路)と関連付けられてもよい一方で、ゲート90および遅延回路102は、第2の遅延経路103(例えば、負エッジトリガパルス信号伝搬経路)と関連付けられてもよい。ゲート88が、その出力において信号PHを生成してもよい一方で、ゲート90は、その出力において信号PLを生成してもよい。信号PHは、高くクロックする信号INに応答して低くパルス化されてもよい。信号PLは、低くクロックする信号INに応答して低くパルス化されてもよい。
【0051】
遅延回路100が、遅延パルス信号PH’を生成するように信号PHを遅延させてもよい一方で、遅延回路102は、遅延パルス信号PL’を生成するように信号PLを遅延させてもよい。信号PH’は、信号PHに対してTΔだけ遅延させられてもよい。信号PL’は、信号PLに対してTΔだけ遅延させられてもよい。信号PH’およびPL’によって被られる遅延の量は、同一であり得る。
【0052】
セット・リセットラッチ104は、反転セット入力、反転リセット入力、および出力(すなわち、遅延回路80の出力106)を有してもよい。例えば、反転セットおよびリセット入力が両方とも高い場合、SRラッチ104は、その以前のラッチされた値を保持するであろう。反転セットおよびリセット入力が、それぞれ、低いおよび高い場合、SRラッチ104は、その出力を高く駆動するであろう(例えば、SRラッチ104が「セット」状態にされる)。反転セットおよびリセット入力が、それぞれ、高いおよび低い場合、SRラッチ104は、その出力を低く下げるであろう(例えば、SRラッチ104が「リセット」状態にされる)。反転セットおよびリセット入力は、同時に低くなるべきではない。
【0053】
ラッチ104の反転セット入力が、信号PH’を受信してもよい一方で、ラッチ104の反転リセット入力は、信号PL’を受信してもよい。信号PH’が低くパルス化する第1のシナリオでは、信号PL’は、その周期中に高くなるであろう。したがって、信号OUTは、ラッチ104がセット状態にされるため、高くクロックするであろう。信号PL’が低くパルス化する第2のシナリオでは、信号PH’は、その周期中に高くなるであろう。したがって、信号OUTは、ラッチ104がリセット状態にされるため、低くクロックするであろう。遅延回路80は、ラッチ104が入力信号INを直接サンプリングしないため、適正に動作する。ラッチ104は、(たとえ所望の遅延TΔが半クロックサイクルを上回っても)立ち上がりパルス信号および立ち下がりパルス信号が、それぞれ、経路101および103を介して伝搬される限り、入力信号の遅延バージョンを再構築するであろう。
【0054】
経路101を通した遅延(例えば、立ち上がり遅延)および経路103を通した遅延(例えば、立ち下がり遅延)は、トランジスタ不一致およびランダムプロセス変動の結果として異なる可能性がある。しかしながら、遅延経路101および103のうちのそれぞれの中のトランジスタが、同一の信号挙動を被るため、遅延経路101および103のうちのそれぞれの中のトランジスタは、同一の時効効果を受ける。所望であれば、回路100および102の遅延TΔを較正するため、ならびに(例えば、制御線110を介して遅延制御信号を調整可能な遅延回路100および102に送信することによって)それぞれの遅延を調整および均等化するために、制御回路108が使用されてもよい。
【0055】
図7は、遅延回路80の動作中の関連信号の挙動を図示する、タイミング図である。具体的には、
図7は、所望の遅延TΔが高いクロック位相T
HIを上回るシナリオを示す。時間t1において、元のクロック信号INは、高くクロックしてもよい。高く立ち上がる信号INは、Tδの周期にわたって低くパルス化するように信号PHをトリガしてもよい。時間t2において、元のクロック信号INは、低くクロックしてもよい。低く立ち下がる信号INは、Tδの周期にわたって低くパルス化するように信号PLをトリガしてもよい。
【0056】
時間t3において、遅延パルス信号PH’は、低くパルス化する。これは、SRラッチ104がセット状態にされるため、信号OUTを高く上昇させる。
図7に示されるように、信号INの立ち上がりクロックエッジから遅延信号PH’の立ち下がりクロックエッジまで(例えば、時間t1からt3まで)の遅延は、遅延TΔに等しくあり得る。遅延TΔは、T
HIを上回り得る(例えば、
図7参照)。
【0057】
時間t4において、遅延パルス信号PL’は、低くパルス化する。これは、SRラッチ104がリセット状態にされるため、信号OUTを低く駆動させる。信号INの立ち下がりクロックエッジから遅延信号PL’の立ち下がりクロックエッジまで(例えば、時間t2からt4まで)の遅延は、遅延TΔに等しくあり得る。
【0058】
図7に示されるように、信号OUTは、クロック信号INの遅延バージョンである。出力106における遅延クロック信号OUTは、入力82における元のクロック信号に対してTΔだけ遅延させられてもよい。遅延クロック信号は、元のクロック信号の負荷サイクルにほぼ等しい負荷サイクルを有してもよい。
【0059】
図8は、高いクロック位相T
HIを上回る遅延TΔを提供しながら、適正に動作する遅延回路の別の好適な配設を示す。遅延回路120は、信号再構築要素(例えば、レベル感受性ラッチまたはエッジトリガフリップフロップ)が正しいデータをサンプリングするように、入力信号を遅延させるように構成されてもよい。
【0060】
図8に示されるように、遅延回路120は、パルス遅延回路124と、第1および第2の遅延回路128および130と、論理XORゲート126等の論理ゲートと、ラッチ132とを含んでもよい。ラッチ132は、エッジトリガフリップフロップ(例えば、正のエッジトリガフリップフロップまたは負のエッジトリガフリップフロップ)またはレベル感受性ラッチであってもよい。遅延回路120は、入力122および出力134を有してもよい。入力122が入力信号INを受信してもよい一方で、出力信号OUTは出力134で供給されてもよい。
【0061】
遅延回路124は、パルス幅遅延Tδを導入するために使用されてもよい。遅延回路124は、入力および出力を有してもよい。遅延回路124の入力は、入力122に接続されてもよい。遅延回路124は、インバータ連鎖、遅延補間器、または他の種類の遅延要素から形成されてもよい。
【0062】
論理XORゲート126は、第1および第2の入力と、出力とを有してもよい。ゲート126の第1の入力が、入力122に接続されてもよい一方で、ゲート126の第2の入力は、遅延回路124の出力に接続されてもよい。この配設を使用して接続されると、ゲート126は、入力122において低から高へ、または高から低へ遷移する信号に応答して、Tδのパルス幅を伴う信号PULを、その出力において生成してもよい。したがって、遅延回路124およびゲート126は、集合的にパルス発生回路と呼ばれてもよい。その入力において立ち上がりおよび/または立ち下がりエッジの両方に応答してパルスを生成することができる、他のパルス発生回路が、所望であれば使用されてもよい。
【0063】
遅延回路128は、所望の信号遅延TΔを提供する働きをしてもよい。遅延回路128は、入力および出力を有してもよい。遅延回路128の入力は、信号PULを受信してもよい。遅延回路128は、インバータ連鎖、遅延補間器、または他の種類の遅延要素から形成されてもよい。
【0064】
遅延回路130は、遅延TΔの所定の分数を提供する働きをしてもよい(例えば、回路130は、遅延TΔ’を提供するために使用されてもよい)。遅延回路130は、入力および出力を有してもよい。遅延回路130の入力は、入力信号INを受信してもよい。遅延回路130は、インバータ連鎖、遅延補間器、または他の種類の遅延要素から形成されてもよい。
【0065】
ラッチ132は、(例えば、TΔだけ遅延させられる入力信号を再構築するように)入力信号INの遅延バージョンを生成する働きをしてもよい。ラッチ132は、入力D、出力Q、および制御入力を有してもよい。ラッチ132の入力Dが、遅延回路130の出力に連結されてもよい一方で、ラッチ132の制御入力は、遅延回路128の出力に連結されてもよい。ラッチ132の出力Qは、遅延回路120の出力134としての機能を果たしてもよい。この配設を使用して構成されるとき、ラッチ132は、信号PUL’の立ち上がりに応答して、その入力Dにおいて提示される信号INの遅延バージョンを、その出力Qにおいてサンプリングしてもよい。入力信号の遅延バージョンをラッチすることにより、入力Dにおける信号が誤った値に切り替わる前に、ラッチ132が正しいデータをサンプリングすることを可能にする。
【0066】
例えば、元のクロック信号INが2000psのクロック周期を有するシナリオを考慮されたい。元のクロック信号は、50%負荷サイクルを伴う方形波クロック信号であってもよい(例えば、元のクロック信号は、1000psの高いクロック位相T
HIおよび1000psの低いクロック位相T
LOを有する)。回路128の遅延TΔは、1500psに設定されてもよい。この実施例では、所望の遅延TΔは、高いクロック位相を上回る(1500が1000よりも大きい)。
【0067】
遅延回路130は、(実施例として)1125psに等しいTΔ’を提供してもよい。遅延TΔ’は、TΔより小さくあり得る。回路130を使用して元のクロック信号を遅延させることにより、元のクロック信号の立ち上がりクロックエッジ後に、ラッチ132が元のクロック信号375ps(1500マイナス1125)を効果的にサンプリングすることを可能にする。その立ち上がりクロックエッジ後に元のクロック信号375psをサンプリングすることは、(このシナリオでは)その立ち上がりクロックエッジ後に元のクロック信号が1000psにわたって高いままであるため望ましくあり得る。
【0068】
回路130の遅延TΔ’は、プロセス、電圧、および温度(PVT)変動の存在下において変化し得る。遅延回路120は、遅延TΔ’が許容範囲内において変化する限り、適正に動作してもよい。上記の実施例では、許容遅延TΔ’は、500ps(TΔマイナスT
HI)から1500psという上限(例えば、TΔに等しい上限)に及んでもよい。許容遅延の範囲内の中間遅延(例えば、許容遅延値の範囲内の中央遅延値)に等しく回路130の遅延TΔ’を設定することにより、PVT変動への誤差および公差の向上した限界を可能にし得る。
【0069】
図8に示されるように、遅延回路120は、制御線138わたる制御回路136からの制御信号を受信してもよい。制御回路136は、遅延TΔを調整し、それにより、遅延回路120によって提供される全体的な信号遅延を調整してもよい。遅延回路130は、調整可能な遅延回路である必要はない(例えば、遅延TΔ’は公称値で固定される)。
【0070】
図9は、
図8に関連して説明される種類の遅延回路120の動作中の関連信号の挙動を図示する、タイミング図である。
図9に示されるように、(入力122における)信号IN、(ゲート126の出力における)PUL、(ラッチ132の制御入力における)PUL’、および(出力134における)OUTは、時間t1より前では、低くあり得る。信号INは、(実施例として)50%負荷サイクルを伴う方形波クロック信号であってもよい。遅延回路130は、信号INの遅延バージョンを生成してもよい。遅延クロック信号IN’は、信号INに対してTΔ’だけ遅延させられてもよい(例えば、
図9参照)。
【0071】
時間t1において、信号INは、高く上昇させられてもよい。高く立ち上がる信号INは、周期Tδにわたって高くパルス化するように信号PULをトリガしてもよい。時間t2において、遅延パルス信号PUL’は、高くパルス化する。これは、ラッチ132が(矢印140によって示されるように)時間t2において高い遅延入力信号IN’をサンプリングするため、信号OUTを高く上昇させる。信号INの立ち上がりクロックエッジから遅延パルスPUL’の立ち上がりクロックエッジまで(例えば、時間t1からt2まで)の遅延は、遅延TΔに等しくあり得る。遅延TΔは、(実施例として)半クロックサイクルを上回り得る。
【0072】
時間t3において、遅延パルス信号PUL’は、再び高くパルス化する。これは、ラッチ132が(矢印142によって示されるように)時間t3において低い遅延入力信号IN’をサンプリングするため、信号OUTを低く下げさせる。信号INの立ち下がりクロックエッジから遅延信号PUL’の立ち上がりクロックエッジまでの(時間t3における)遅延は、遅延TΔに等しくあり得る。したがって、所望の遅延の分数だけ入力信号を遅延させることにより、低減した負荷サイクルひずみを呈しながら、遅延回路120が、半クロックサイクルを上回る遅延だけ方形波クロック信号を適正に遅延させることを可能にし得る。
【0073】
図5、7、9、および11に関連して説明される種類の遅延回路は、低減した負荷サイクルひずみを導入しながら、クロック信号を遅延させるために使用されてもよい。そのような遅延回路は、負荷サイクルひずみ(DCD)補正回路、遅延ロックループ(DLL)、ダブルデータレートメモリ入力出力回路、および他のクロック制御回路等の回路で使用されてもよい。
【0074】
図10に示されるように、DCD補正回路302は、位相ロックループ(PLL)300から直接元のクロック信号を受信する、遅延回路304等の遅延回路を含んでもよい。
【0075】
位相ロックループ300は、クロック分配ネットワーク322上にクロック信号CLKを駆動するクロックバッファ316に、クロック信号CLKを送給してもよい。クロックバッファ322は、反転段階であってもよく、かつ時にはクロックドライバと呼ばれてもよい。クロック分配ネットワーク322は、クロックバッファ316から信号CLKを受信してもよく、クロック信号CLKを集積回路10上の異なる論理領域に分配してもよい。ネットワーク322は、ツリー構成(時にはクロックツリーと呼ばれる)で配設されてもよい。ネットワーク322は、例えば、Hツリークロックネットワークであってもよい。Hツリーの使用は、論理回路内の異なる点への遅延が調和することを確実にする。
【0076】
異なる論理領域は、クロック分配ネットワーク322を介してCLK’を受信してもよい。雑音およびランダム変動の他のソースの存在により、元のクロック信号がネットワーク322を介して分配されるにつれて、異なる論理領域で受信されるローカルクロック信号CLK’は、負荷サイクルひずみ(DCD)を被り得る。DCD補正回路302等の制御回路は、線324をわたるCLK’を受信してもよく、クロックバッファ316(すなわち、PLL300の出力に接続されるクロックバッファ)をリアルタイムで動的に調整して信号CLK’が低減した負荷サイクルひずみを被ることを確実にするために使用されてもよい。
【0077】
DCD補正回路302は、遅延回路304を含んでもよい。遅延回路304は、線306をわたってPLL300によって生成されるクロック信号の遅延バージョンを出力してもよい。遅延回路304は、
図2、7、9、または11に示されるような配設を使用して実装されてもよい。
【0078】
立ち上がりエッジ(正エッジ)位相検出器312等の第1の位相検出器は、線306をわたる遅延クロック信号を受信する第1の入力を有してもよく、線324をわたる信号CLK’を受信する第2の入力を有してもよい。立ち上がりエッジ位相検出器312は、その入力において2つのクロック信号の立ち上がりエッジを比較し、この比較に基づいて、回路314を制御する結果を出力してもよい。例えば、CLK’の立ち上がりエッジの前に線306をわたる遅延クロック信号の立ち上がりエッジが来る場合には、位相検出器312は、(実施例として)「0」を制御回路314に出力してもよい。CLK’の立ち上がりエッジの後に線306をわたる遅延クロック信号の立ち上がりエッジが来る場合には、位相検出器312は、「1」を制御回路314に出力し得る。
【0079】
制御回路314は、線306をわたって提供される遅延クロック信号がCLK’と位相ロックされるように、回路304の遅延を調整するために使用されてもよい。言い換えれば、このフィードバック(ループ)構成で接続される位相検出器312および制御回路314は、線306をわたる遅延信号およびCLK’の立ち上がりクロックエッジが整列(合致)させられるように、回路304の遅延を調整してもよい。制御ブロック314は、クロック分配ネットワークを介して信号伝搬遅延にほぼ等しい遅延を提供するように、遅延回路304を調整してもよい。遅延回路304、位相検出器312、および制御回路314は、時には、遅延ロックループ(DLL)を形成すると呼ばれてもよい。
【0080】
DCD補正回路302はさらに、制御回路310に接続された立ち下がりエッジ(負エッジ)位相検出器308等の第2の位相検出器を含んでもよい。立ち下がりエッジ位相検出器308は、線306をわたる遅延クロック信号を受信する第1の入力を有してもよく、線324上をわたる信号CLK’を受信する第2の入力を有してもよい。これら2つのクロック信号の立ち上がりエッジは、位相検出器312および制御回路314によってすでに整列させられている。位相検出器308は、その入力において2つのクロック信号の立ち下がりエッジを比較し、比較に基づいて、対応する結果を制御回路310に出力してもよい。例えば、線306をわたる遅延クロック信号の立ち下がりエッジがCLK’の立ち下がりエッジの前に来る場合には、位相検出器308は、(実施例として)「0」を制御回路310に出力し得る。線306をわたる遅延クロック信号の立ち下がりエッジがCLK’の立ち下がりエッジ後に来る場合には、位相検出器308は、「1」を制御回路310に出力し得る。
【0081】
遅延回路304が合致した立ち上がりおよび立ち下がり遅延を提供することができるため、線306をわたる遅延クロック信号は、PLL300の出力と同じ負荷サイクルを有するクロック信号である。したがって、制御回路310は、PLL300の出力に接続されるクロックバッファ316を制御するように線318をわたる制御信号を提供してもよい。具体的には、制御回路310は、CLK’の立ち下がりエッジが線306をわたる遅延クロック信号の立ち下がりエッジと整列させられるように、バッファ316のプルダウン駆動強度を動的に調整して信号CLK’の立ち下がりエッジを偏移させてもよい。
【0082】
信号CLK’および線306をわたる遅延クロック信号の立ち上がりエッジおよび立ち下がりエッジの両方を整列させることにより、線306をわたる遅延クロック信号がPLL出力と同じ負荷サイクルを有するため、信号CLK’が低減した負荷サイクルひずみを呈する状況をもたらす(例えば、このようにしてクロックバッファ316を適応的に調整することにより、高いクロック位相を半クロックサイクルにロックする)。
図10に示されるように、PLL300はまた、そのクロック位相を適正に調整するように線324をわたるCLK’を受信してもよい。
【0083】
図11は、遅延回路を含む遅延ロックループ(DLL)を示す略図である。
図11に示されるように、DLL400は、ループで接続された標的遅延回路402、遅延回路404、位相検出器406、および制御回路408を含んでもよい。遅延回路404は、
図2、7、9、または11に示されるように、配設を使用して実装されてもよい。
【0084】
DLL400は、元のクロック信号CLKを受信してもよい。標的遅延回路402および遅延回路404はそれぞれ、信号CLKを受信する入力を有してもよい。回路402は、標的遅延だけ信号CLKを遅延させるために使用されてもよい(例えば、回路402は、その出力において遅延クロック信号CLK
*を生成してもよい)。遅延回路404は、調整可能な遅延だけ信号CLKを遅延させるために使用されてもよい(例えば、回路404は、その出力において遅延クロック信号CLK’を生成してもよい)。
【0085】
位相検出器406は、信号CLK
*を受信する第1の入力と、信号CLK’を受信する第2の入力とを有してもよい。位相検出器406は、その入力において2つのクロック信号の立ち上がりエッジを比較し、この比較に基づいて回路408を制御する結果を出力してもよい。例えば、CLK
*の立ち上がりエッジがCLK’の立ち下がりエッジの前に来る場合には、位相検出器406は、(実施例として)「0」を制御回路408に出力し得る。CLK
*の立ち上がりエッジがCLK’の立ち下がりエッジ後に来る場合には、位相検出器406は、「1」を制御回路408に出力し得る。
【0086】
制御回路408は、遅延回路404によって提供される遅延が(例えば、線410をわたって遅延制御信号を回路404に送信することによって)回路402によって提供される標的遅延に合致するように、回路404の遅延を調整するために使用されてもよい。遅延回路405等の他の遅延回路(例えば、遅延回路404の複製)が、線410をわたるこれらの制御信号を受信してもよい。
【0087】
このようにして遅延回路405を構成することにより、その出力において生成される遅延クロック信号が合致した立ち上がりおよび立ち下がり遅延を呈することを確実にしながら、遅延回路405が標的タイミング遅延だけクロック信号を遅延させることを可能にし得る遅延回路404および405は、たとえ標的遅延回路402によって生成された信号が不均等な立ち上がりおよび立ち下がり遅延を呈しても、合致した立ち上がり/立ち下がり遅延を有する信号を、それらの出力において生成し得る。
【0088】
(付加的な実施形態)
(付加的な実施形態1.) 集積回路であって、集積回路は、入力信号を受信するように動作可能であり、対応するパルス信号を生成するように動作可能であるパルス発生回路と、パルス発生回路からパルス信号を受信するように動作可能である遅延回路と、遅延回路を介してパルス信号の遅延バージョンを受信するように動作可能であるラッチ回路であって、ラッチ回路は、パルス信号の遅延バージョンの受信に応答して、入力信号の遅延バージョンを出力するように動作可能である、ラッチ回路とを備える、集積回路。
【0089】
(付加的な実施形態2.) 付加的な遅延回路と、位相検出器と、制御回路とをさらに備え、パルス発生回路、遅延回路、ラッチ回路、付加的な遅延回路、位相検出器、および制御回路は、ループの中において連結される、付加的な実施形態1に記載の集積回路。
【0090】
(付加的な実施形態3.) ラッチ回路は、第1の入力および第2の入力を有し、ラッチ回路の第1の入力は、前記入力信号を受信するように動作可能であり、ラッチ回路の第2の入力は、パルス信号の遅延バージョンを受信するように動作可能である、付加的な実施形態2に記載の集積回路。
【0091】
(付加的な実施形態4.) パルス発生回路は、対応する第1および第2のパルス信号を生成するように動作可能であり、遅延回路は、第1のパルス信号を受信するように動作可能である第1の遅延回路と、第2のパルス信号を受信するように動作可能である第2の遅延回路とを備え、ラッチ回路は、第1の遅延回路を介して第1のパルス信号の遅延バージョンを受信するように動作可能である第1の入力と、第2の遅延回路を介して第2のパルス信号の遅延バージョンを受信するように動作可能である第2の入力とを有し、ラッチ回路は、セット・リセットラッチを備える、付加的な実施形態2に記載の集積回路。
【0092】
(付加的な実施形態5.) 負荷サイクルひずみ補正回路の第1の部分は、パルス発生回路と、遅延回路と、ラッチ回路とを備え、負荷サイクルひずみ補正回路の第2の部分は、第1および第2の位相検出器と、制御回路とを備える、付加的な実施形態1に記載の集積回路。
【0093】
(付加的な実施形態6.) ラッチ回路は、第1の入力と、第2の入力とを備え、ラッチ回路の第1の入力は、入力信号を受信するように動作可能であり、ラッチ回路の第2の入力は、パルス信号の遅延バージョンを受信するように動作可能である、付加的な実施形態5に記載の集積回路。
【0094】
(付加的な実施形態7.) パルス発生回路は、対応する第1および第2のパルス信号を生成するように動作可能であり、遅延回路は、第1のパルス信号を受信するように動作可能である第1の遅延回路と、第2のパルス信号を受信するように動作可能である第2の遅延回路とを備え、ラッチ回路は、第1の遅延回路を介して第1のパルス信号の遅延バージョンを受信するように動作可能である第1の入力と、第2の遅延回路を介して第2のパルス信号の遅延バージョンを受信するように動作可能である第2の入力とを有し、ラッチ回路は、セット・リセットラッチを備える、付加的な実施形態5に記載の集積回路。
【0095】
(付加的な実施形態8.) 入力信号を受信するように動作可能であり、対応するパルスを生成するように動作可能であるパルス発生回路と、パルスを受信するように動作可能である遅延回路と、第1の入力および第2の入力を有するラッチ回路であって、第1の入力は、入力信号を受信するように動作可能であり、第2の入力は、遅延回路を介してパルスの遅延バージョンを受信するように動作可能であり、ラッチ回路は、入力信号およびパルスの遅延バージョンの受信に応答して、入力信号の遅延バージョンを出力するように動作可能である、ラッチ回路とを備える、遅延回路。
【0096】
(付加的な実施形態9.) パルス発生回路は、付加的な遅延回路と、論理ゲートとを備え、付加的な遅延回路および論理ゲートは、入力信号を受信するように動作可能であり、論理ゲートは、その出力においてパルスを生成するように動作可能である、付加的な実施形態8に記載の遅延回路。
【0097】
(付加的な実施形態10.) 論理ゲートは、論理排他的ORゲートを備える、付加的な実施形態9に記載の遅延回路。
【0098】
(付加的な実施形態11.) ラッチ回路は、エッジトリガフリップフロップを備える、付加的な実施形態8に記載の遅延回路。
【0099】
(付加的な実施形態12.) ラッチ回路は、レベル感受性ラッチを備える、付加的な実施形態8に記載の遅延回路。
【0100】
(付加的な実施形態13.) パルスは、パルスの遅延バージョンを形成するように所与の遅延だけ遅延させられ、遅延回路は、遅延回路に連結された制御回路をさらに備え、制御回路は、遅延回路を制御して所与の遅延を調整するように構成される、付加的な実施形態8に記載の遅延回路。
【0101】
(付加的な実施形態14.) 入力信号は、クロック信号を備え、遅延回路は、付加的な遅延回路をさらに備え、ラッチ回路の第1の入力は、付加的な遅延回路を介してクロック信号の遅延バージョンを受信するように動作可能である、付加的な実施形態8に記載の遅延回路。
【0102】
(付加的な実施形態15.) 入力信号を受信するように動作可能であり、対応する第1および第2のパルス信号を生成するように動作可能であるパルス発生回路と、第1のパルス信号を受信するように動作可能である第1の遅延回路と、第2のパルス信号を受信するように動作可能である第2の遅延回路と、第1の入力および第2の入力を有するラッチ回路であって、第1の入力は、第1の遅延回路を介して第1のパルス信号の遅延バージョンを受信するように動作可能であり、第2の入力は、第2の遅延回路を介して第2のパルスの遅延バージョンを受信するように動作可能であり、ラッチ回路は、第1のパルス信号の遅延バージョンおよび第2のパルス信号の遅延バージョンの受信に応答して、入力信号の遅延バージョンを出力するように動作可能である、ラッチ回路とを備える、遅延回路。
【0103】
(付加的な実施形態16.) ラッチ回路は、セット・リセットラッチを備える、付加的な実施形態15に記載の遅延回路。
【0104】
(付加的な実施形態17.) 第1の遅延回路は、第1の遅延を提供するように動作可能であり、第2の遅延回路は、第2の遅延を提供するように動作可能であり、遅延回路は、第1および第2の遅延回路に連結される制御回路をさらに備え、制御回路は、第1および第2の遅延回路によって提供される第1および第2の遅延を調整するように構成される、付加的な実施形態15に記載の遅延回路。
【0105】
(付加的な実施形態18.) パルス発生回路は、第1の遅延回路と関連付けられる第1の論理回路であって、第1の論理回路は、入力信号を受信するように動作可能である第1の入力と、第2の入力とを有する、第1の論理回路と、第2の遅延回路と関連付けられる第2の論理回路であって、第2の論理回路は、入力信号を受信するように動作可能である第1の入力と、第2の入力とを有する、第2の論理回路と、付加的な遅延回路であって、付加的な遅延回路は、入力信号を受信するように動作可能である入力を有し、付加的な遅延回路は、第1の論理回路の第2の入力および第2の論理回路の第2の入力に連結される出力を有する、付加的な実施形態15に記載の遅延回路。
【0106】
(付加的な実施形態19.) 第1の回路は、第1のNANDゲートと、第1のインバータとを備える、付加的な実施形態18に記載の遅延回路。
【0107】
(付加的な実施形態20.) 第2の回路は、第2のNANDゲートと、第2のインバータと、付加的な論理回路とを備え、付加的な論理回路は、第1のインバータを通過する信号と関連付けられる遅延に等しい遅延を入力信号に提供するように構成される、付加的な実施形態19に記載の遅延回路。
【0108】
(付加的な実施形態21.−) 入力信号は、クロック信号を備え、付加的な回路は、パスゲートを備える、付加的な実施形態20に記載の遅延回路。
【0109】
前述は、本発明の原理の例示にすぎず、種々の修正が、当業者によって、本発明の範囲および精神から逸脱することなくなされ得る。前述の実施形態は、個々に、または任意の組み合わせにおいて、実装されてもよい。