(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5771309
(24)【登録日】2015年7月3日
(45)【発行日】2015年8月26日
(54)【発明の名称】ローカル・クロック生成器の自己タイミング型較正を用いた拡張された電圧又はプロセス範囲にわたるSRAM性能の最適化
(51)【国際特許分類】
G11C 11/417 20060101AFI20150806BHJP
G11C 11/41 20060101ALI20150806BHJP
【FI】
G11C11/34 305
G11C11/40 Z
【請求項の数】7
【全頁数】14
(21)【出願番号】特願2014-78123(P2014-78123)
(22)【出願日】2014年4月4日
(62)【分割の表示】特願2013-107770(P2013-107770)の分割
【原出願日】2009年10月1日
(65)【公開番号】特開2014-194838(P2014-194838A)
(43)【公開日】2014年10月9日
【審査請求日】2014年4月7日
(31)【優先権主張番号】12/244,286
(32)【優先日】2008年10月2日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】パン、リャン−テック
(72)【発明者】
【氏名】クワン、ジェンテ、ベネディクト
(72)【発明者】
【氏名】カーペンター、ゲーリー、デール
(72)【発明者】
【氏名】ノウカ、ケビン、ジョン
【審査官】
後藤 彰
(56)【参考文献】
【文献】
特開2001−057083(JP,A)
【文献】
特表2005−531099(JP,A)
【文献】
特開2005−292947(JP,A)
【文献】
特開平11−203877(JP,A)
【文献】
特開平08−083498(JP,A)
【文献】
特開2001−101868(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 11/41
G11C 11/413
(57)【特許請求の範囲】
【請求項1】
グローバル・クロック信号を受信し、中間遅延信号を生成する固定遅延経路と、前記中間遅延信号を受信し、タイミング信号を生成する調整可能遅延経路と、前記調整可能遅延経路の遅延を最小の遅延量に設定するリセット・ラインとを有する遅延回路であって、前記調整可能遅延経路の前記遅延は、較正信号のアクティブ化に応じて徐々に増大する、遅延回路と、
前記タイミング信号によって変調された前記グローバル・クロック信号に基づいて、ローンチ・クロック信号を生成する組み合わせ論理回路と、
遅延ローンチ・クロック信号のパルス幅が所望のパルス幅より狭いことを判断し、それに応答して前記較正信号をアクティブにする較正論理回路と、
を含み、
前記ローンチ・クロック信号は、スタティック・ランダム・アクセス・メモリ(SRAM)のワードライン・ドライバによって用いられ、
前記遅延ローンチ・クロック信号は、前記SRAMのビットライン・デコーダによって用いられ、
前記較正論理回路は、前記ビットライン・デコーダからの読み取り値を以前に格納した値と比較することによって、前記遅延ローンチ・クロック信号の前記パルス幅が前記所望のパルス幅より狭いことを判断する、
ローカル・クロック・バッファ。
【請求項2】
前記較正信号は、前記遅延ローンチ・クロック信号及び比較信号から得られたチョップ信号の論理NANDの組み合わせである、請求項1に記載のローカル・クロック・バッファ。
【請求項3】
スタティック・ランダム・アクセス・メモリ(SRAM)のための自己タイミング型ローカル・クロック・バッファであって、
グローバル・クロック信号を受信する回路入力と、
第1の入力及び第2の入力を有する第1のNANDゲートであって、前記第1のNANDゲートの前記第1の入力は前記回路入力に接続され、前記第1のNANDゲートの前記第2の入力は自己較正信号に接続される、第1のNANDゲートと、
入力が前記第1のNANDゲートの出力に接続された複製SRAM経路と、
第1の入力及び第2の入力を有する第2のNANDゲートであって、前記第2のNANDゲートの前記第1の入力は前記回路入力に接続され、前記第2のNANDゲートの前記第2の入力は電源電圧に接続される、第2のNANDゲートと、
入力が前記第2のNANDゲートの出力に接続されたインバータ・チェーンと、
信号入力、遅延入力、及びイネーブル入力を有する遅延残差設定回路であって、前記信号入力は前記インバータ・チェーンの出力に接続され、前記遅延入力は前記複製SRAM経路の出力に接続され、前記イネーブル入力は前記自己較正信号の補数に接続され、遅延残差設定回路は、前記自己較正信号がアクティブであるときに前記遅延入力によって較正される前記信号入力からタイミング出力信号を生成する、遅延残差設定回路と、
第1の入力及び第2の入力を有する第3のNANDゲートであって、前記第3のNANDゲートの前記第1の入力は前記回路入力に接続され、前記第3のNANDゲートの前記第2の入力は前記電源電圧に接続される、第3のNANDゲートと、
入力が前記第3のNANDゲートの出力に接続された第1のインバータと、
第1の入力及び第2の入力を有するNORゲートであって、NORゲートの前記第1の入力は前記第1のインバータの出力に接続され、NORゲートの前記第2の入力は前記タイミング出力信号に接続される、NORゲートと、
入力が前記NORゲートの出力に接続された第2のインバータであって、第2のインバータの出力は、前記SRAMについてのローカル・クロック信号をもたらす、第2のインバータと、
を含む自己タイミング型ローカル・クロック・バッファ。
【請求項4】
前記遅延残差設定回路は、スイッチによって前記遅延残差設定回路の出力に接続された複数の直列接続遅延要素を用いて選択される調整可能遅延経路を有する、請求項3に記載の自己タイミング型ローカル・クロック・バッファ。
【請求項5】
前記遅延残差設定回路は、前記遅延入力によってクロック制御される複数のラッチをさらに含み、前記ラッチの第1のものは、前記信号入力を受信する入力を有し、前記ラッチの残りのものは、入力が前記遅延要素のそれぞれの出力に接続されている、請求項4に記載の自己タイミング型ローカル・クロック・バッファ。
【請求項6】
前記スイッチは、複数のプログラム可能シフト・レジスタによって制御される、請求項4に記載の自己タイミング型ローカル・クロック・バッファ。
【請求項7】
前記シフト・レジスタは、
前記シフト・レジスタにおける第1のビット・シーケンスを捕捉し、
前記第1のビット・シーケンスを、前記第1のビット・シーケンスを分析し、所定の機能に従って遅延される前記クロック信号の所望の遅延についての第2のビット・シーケンスを選択する外部回路に転送し、
前記外部回路からの前記第2のビット・シーケンスを前記シフト・レジスタにロードする、
ことによってプログラムされる、請求項6に記載の自己タイミング型ローカル・クロック・バッファ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、クロック回路又はタイミング回路に関し、より具体的には、ローカルに生成されたクロック信号を用いたスタティック・ランダム・アクセス・メモリ(SRAM)のようなメモリ・アレイを動作させる方法に関する。
【背景技術】
【0002】
集積回路は、腕時計のような簡単な装置から最も複雑なコンピュータ・システムに至るまで、様々な電子用途に用いられている。超小型電子集積回路(IC)チップは、一般に、半導体基板(例えば、シリコン)上に形成された、セル間に電気相互接続部を有する論理セルの集まりであると考えることができる。ICは、非常に多くのセルを含み、セル間に複雑な接続を必要とする。セルは、トランジスタ、キャパシタ、抵抗器、インダクタ、及び論理機能を実行するようにグループ化された他の基本回路要素のような、1つ又は複数の回路要素のグループである。セルの種類として、例えば、コアセル、スキャンセル、メモリセル、及び入力/出力(I/O)セルが挙げられる。
【0003】
データ処理システム用の集積回路の開発においては、電力使用量が主要な問題になってきている。電力消費問題のために、低電力回路がより一般的になっている。電源ノイズが少なく、製造のばらつきに関して許容差がより優れているので、低電力設計は好ましいものでもある。余分な電力使用は、費用がかかり、非効率的であるだけでなく、熱管理の問題ももたらす。電力損失は、ディープ・サブミクロン技術を用いる高性能の回路設計(約1ギガヘルツ又はそれ以上の周波数で動作する)の歩留まりに対する制限要因となっている。従って、現在のマイクロプロセッサ設計は、電力制約により決定される。
【0004】
マルチGHz設計において、セル間のクロック・ネットが最大で総有効電力の50%を占めることがある。従って、電力制約は、セルのクロック・ネットワークを構築する際、設計者に対して付加的な問題を引き起こし、この問題は、低電力の65ナノメートルの集積回路のような最新技術においてより困難なものになってきている。高性能、低電力のシステムに対するタイミング目標を依然として達成しながら、電力を最小にするための幾つかの技術が存在する。1つの方法は、クロック信号を分配するために、ローカル・クロック・バッファ(LCB)の使用を必要とする。典型的なクロック制御システムは、マスター・クロック信号を生成するクロック生成回路(例えば、位相ロック・ループ)を有し、このマスター・クロック信号はクロック分配ネットワークに供給され、クロック分配ネットワークにより、LCBにおいて同期されたグローバル・クロック信号が与えられる。各々のLCBは、例えば、ローカル論理回路、ラッチ、又はメモリ・アレイのようなそれぞれの回路要素の要件を満たすように、グローバル・クロックの負荷サイクル及びエッジを調整する。LCBをクロック制御回路の近くに配置することにより、クロック・スキューも低減され、そのことは、回路のタイミングの改善の助けとなる。
【0005】
電力管理への別の手法は、動作中のプロセス又は環境パラメータに応じて、所与のコンポーネントで用いられる電圧を増減させる、動的電圧スケーリングである。動的電圧スケーリングは、静的電力及び動的電力の両方を低減させるのに効率的な方法であるが、異なる性能仕様下で回路の適切な動作を維持するためには、広範囲の電圧が必要であり、異なる電力/遅延メトリックは、一般に、異なる最適電源電圧(V
dd)を有している。
【0006】
低電圧において異なるセルの遅延が異なるようにスケーリングされるので、特に低電圧の動作において、動的電圧スケーリングと組み合わせて回路内の異なるセルに対して異なる電圧を使用することにより、固有の問題が生じる。例えば、LCBからのローカルに生成されたクロック信号を用いるスタティック・ランダム・アクセス・メモリ(SRAM)アレイは、0.5ボルトのデバイス閾値電圧(V
th)を有することができる一方で、LCBは、0.4ボルトのデバイス閾値電圧で動作する(メモリは、一般に、ロバスト性及び低い漏れに対してより高いV
thを有し、周辺制御信号生成回路は、高速の動作に対してより低いV
thを有する)。SRAMにおける遅延は、SRAMにおける配線負荷対論理ゲートにおけるデバイス負荷が原因で、LCBの論理ゲートにおける遅延と比べると、様々な電圧により異なるようにスケーリングされる。この遅延差は重要であり、製造要件及び/又は回路性能に悪影響を与えることがある。
【0007】
幾つかの回路は、低電圧において変動に対する感度が高い。SRAM制御の例では、LCBは、ローカル・クロック信号及び遅延ローカル・クロック信号を生成し、これらは、ワードライン、プリチャージ及びラッチ信号を生成するためにバッファに入れられる。遅延ローカル・クロック信号は、インバータ・チェーンを用いて、ローカル・クロック信号のパルス幅を遅延させ、拡張することによって獲得される。SRAM制御における最も重要なタイミング・コンポーネントは、SRAMの読み書き時間ウィンドウを決定するローカル・クロック信号のパルス幅である。しかしながら、供給電圧の変化及び閾値電圧間の差を伴う、インバータ遅延の変動のために、動的電圧スケーリングによりこのタイミング・コンポーネントを制御するのは非常に困難である。結果として、SRAM遅延機能は、LCBインバータ遅延機能に追従しない。
【0008】
この問題に対する1つの可能な解決法は、特許文献1に記載されるようなプログラム可能遅延回路を使用することである。調整可能な遅延を有する信号を出力するために、一連のマルチプレクサ及び遅延要素が用いられる。N個の数のプログラム可能ビットを有するデジタル入力値を用いて、N個の回路の遅延段階を制御する、すなわち、ビットはマルチプレクサについてのそれぞれのセレクタである。この回路を用いて遅延要素の数を選択的にプログラムすることができるが、不正確にしか分かっていない、供給電圧に関するこれらの要素の実際の遅延における変動が依然として存在するので、この手法は、特に低電圧において感度が高いデバイスには適していない。
【0009】
別の解決法は、「ダミー」回路を使用して遅延経路を複製することである。この手法は、特許文献2及び特許文献3におけるメモリ制御に適用される。ダミー・ビットラインに接続されたセンス増幅器は、ダミー・セルが読み取り動作を完了し、正確なデータ読み取りタイミングをもたらしたときにメモリ・アレイ・タイミング信号をアサートする制御ラインを駆動する。この手法は、リアルタイムでの遅延調整をもたらすが、上述のように、複製されたSRAM経路の遅延変動は、LCB論理における遅延変動とは一致せず、タイミング制御がうまくいかない。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第5,389,843号
【特許文献2】米国特許第5,596,539号
【特許文献3】米国特許第6,760,269号
【発明の概要】
【発明が解決しようとする課題】
【0011】
上記に鑑みて、メモリ・アレイのような高感度回路についてのローカル・クロック信号を較正する、改善された方法を考え出すことが望ましい。この方法は、電源電圧に起因する遅延の変動、及び、関連した回路コンポーネントについての閾値電圧間の差に起因する遅延の変動の両方を考慮に入れる場合に利点をもたらす。
【0012】
改善されたクロック生成回路を提供することが望ましい。
【0013】
関連した集積回路コンポーネントのための動的電圧スケーリングと併せて利用できる回路を提供することがさらに望ましい。
【0014】
ローカル・クロックの自己タイミング型較正を用いて、拡張した電圧又はプロセス範囲にわたってSRAM性能を最適化する方法を提供することがさらに望ましい。
【0015】
上記は、クロック入力から中間遅延信号を生成する固定遅延経路をもたらす、第1の電圧レベルで動作する第1の遅延コンポーネントと、第1の電圧レベルにおいて中間遅延信号を受信し、これを第1の電圧レベルより高い第2の電圧レベルまで上げるレベル・コンバータと、中間遅延信号から遅延クロック信号を生成する調整可能遅延経路をもたらす、第2の電圧レベルで動作する第2の遅延コンポーネントとを有する遅延回路を用いて達成される。第1の遅延コンポーネントは、固定長のインバータ・チェーンを含むことができ、第2の遅延コンポーネントは、その出力の1つが遅延回路の出力に選択的に接続された複数の直列接続された遅延要素を含むことができる。遅延要素は、例えば、インバータ、ANDゲート、又はNANDゲートとすることができる。
【0016】
スタティック・ランダム・アクセス・メモリ(SRAM)のローカル・クロック・バッファについての遅延回路の用途において、第1の電圧レベルは、ローカル・クロック・バッファの公称電圧レベルと同じであり、第2の電圧レベルは、SRAMの公称電圧レベルと同じである。これらの電圧は、動的電圧スケーリングに応じて変化することがあり、調整可能遅延経路の再較正を必要とする。同時読み取り動作が正しい出力を戻すまで、SRAMアレイの読み取りアクセス時間を徐々に増加させることによって、又は、複製SRAM経路を用いて電圧供給の変化に伴う遅延の変動をシミュレートすることによって、調整可能遅延経路を較正することができる。
【0017】
ラッチ又はシフト・レジスタによって直接又は間接的に制御されるスイッチを用いて、調整可能遅延経路に沿った遅延要素が遅延回路出力に選択的に接続される。常にラッチ又はレジスタの1つだけが、スイッチを閉じるように要求される論理状態を有する。1つの実施形態において、ラッチは、複製SRAM経路からの遅延入力信号によってクロック制御される。代替的な実施形態において、スイッチを閉じる論理状態は、較正信号を繰り返しアクティブにされるのに伴って、
シフト・レジスタを通って進み、遅延を徐々に増大させる。このシフト・レジスタは、プログラム可能である。
【0018】
本発明は、添付図面を参照することによって、より良く理解することができ、その多くの目的、特徴及び利点が、当業者には明らかとなるであろう。異なる図面における同じ参照記号の使用は、類似した又は同一の項目を示す。
【図面の簡単な説明】
【0019】
【
図1】本発明に従って構築された遅延回路の1つの実施形態の回路図である。
【
図2】
図1の遅延回路と共に用いることができる、本発明に従って構築された適応パルス生成器の1つの実施形態の回路図である。
【
図3】
図2の適応パルス生成器と共に用いることができる、本発明に従って構築されたシフト遅延残差設定回路の1つの実施形態の回路図である。
【
図4】複製されたSRAM経路を用いる、本発明に従って構築された自己タイミング型ローカル・クロック・バッファの1つの実施形態の回路図である。
【
図5】
図4の自己タイミング型ローカル・クロック・バッファと共に用いることができる、本発明に従って構築されたシフト遅延残差設定回路の1つの実施形態の回路図である。
【
図6】
図4の自己タイミング型ローカル・クロック・バッファと共に用いることができる、本発明に従って構築されたプログラム可能遅延残差設定回路の1つの実施形態の回路図である。
【発明を実施するための形態】
【0020】
本発明は、タイミング信号又はクロック信号を生成するための改善された方法及び集積回路構造体に向けられる。特に、本発明は、スタティック・ランダム・アクセス・メモリ(SRAM)アレイのような、ローカル・クロック信号及び遅延クロック信号を用いる回路コンポーネントに対するタイミング制御に適用可能である。本発明は、遅延クロック信号を正確に調整し、動作プロセス又は環境パラメータの拡張した範囲にわたってSRAM性能を最適化するものである。
【0021】
ここで図、特に
図1を参照すると、本発明に従って構築された遅延回路の1つの実施形態10が示される。遅延回路10には、一般に、固定長を有するインバータ・チェーン12と、選択的に遅延を調整する線形プログラム可能遅延残差(liner programmable delay residue)14と、固定インバータ・チェーン12を線形プログラム可能遅延残差14に相互接続するレベル・コンバータ16とから成る。インバータ・チェーン12は、第1の複数の直列接続されたインバータ18a、...、18nを含む。第1のインバータ18aは、入力クロック信号を受信し、最後のインバータ18nは、中間遅延信号をレベル・コンバータ16の入力に出力する。
【0022】
インバータ・チェーン12は、線形プログラム可能遅延残差14で用いられる第2の電源電圧より小さい第1の電源電圧で動作する。従って、レベル・コンバータ16は、線形プログラム可能遅延残差14への入力のために、中間遅延信号の電圧を第1の電源電圧から第2の電源電圧まで上げる。クロック信号をSRAMアレイに供給するローカル・クロック・バッファについての例示的な実施においては、インバータ・チェーン12に対する電源は、公称0.4−0.5ボルトであり、線形プログラム可能遅延残差14に対する電源は、SRAMアレイに対する電源電圧と同じである公称0.5−0.6ボルトである(これらの電圧レベルは両方とも、動的電圧スケーリングにより変化し得る)。線形プログラム可能遅延残差14に対して高電圧を用いることにより、遅延回路10の遅延全体を増大させるための増分をより小さくすることが可能になる。より高い電圧を与えることにより、クロック較正のためのより良好なモデル(ハードウェア及びシミュレーションの両方の)ももたらされる。SRAMアレイと同じ電源電圧を用いて、異なる集積回路コンポーネントに対する電源を統合することが好ましい。
【0023】
線形プログラム可能遅延残差14は、第2の複数の直列接続インバータ20a、...、20nを含むが、連続するインバータ20間の配線接続の各々は、第1のスイッチ22a、...、22nと、第2のスイッチ24a、...、24nへの分岐接続とを有する。第2のスイッチ24a、...、24nの他方のノードは、遅延又はタイミング信号をもたらす出力ライン26に接続される。第1の組のスイッチ22a、...、22nは、プログラム可能選択ビットsel_0、...、sel_nによって開閉され、第2の組のスイッチ24a、...、24nは、選択ビットの補数、すなわちselb_0、...、selb_nによって開閉される。1つのスイッチを閉じるために、常に選択ビットの1つだけがアクティブにされ、線形プログラム可能遅延残差14を通る単一の遅延経路を提供する。タイル型回路構成のために、スイッチ22n及びその出力が、随意的に与えられる。
【0024】
従って、遅延回路10は、インバータ・チェーン12に沿った固定遅延経路からの第1の遅延コンポーネントと、線形プログラム可能遅延残差14を通る調整可能な遅延経路からの第2の遅延コンポーネントとを含み、これらを合計して総遅延量を得る。固定遅延及び調整可能な遅延の相対量は、特定の実施に応じて変化し得る。総遅延量は、線形プログラム可能遅延残差14内のスイッチについての異なる選択ビットをアクティブにして、調整可能遅延経路を短く又は長くすることによって所望の遅延に設定され、かつ、遅延回路10を用いる特定の目的に基づいて選択される。例えば、SRAM制御のために用いられるとき、総遅延量は、SRAMアレイにアクセスするのに適切な時間ウィンドウを可能にするように設定される。所望の遅延は、同時読み取り動作が正しい出力を戻すまで、SRAMアレイの読み取りアクセス時間を徐々に増加させる又はオーバーヘッドを有する複製SRAM経路を用いる、較正手順を実行することによって決定することができる。当業者であれば、遅延回路10は、論理評価を行なうSRAMに加えて他の論理回路と共に用いることができ、回路コンポーネントの同時タイミング型論理評価によっても同様に較正できることを理解するであろう。
【0025】
特定の遅延調整を決定するための1つのこうした較正手順が、本発明に従って構築されたSRAMサブシステム32のローカル・クロック・バッファ30のための適応パルス生成器の1つの実施形態を示す
図2と併せて説明される。ローカル・クロック・バッファ30及びSRAMサブシステム32が、単一の集積回路チップ上に配置される。ローカル・クロック・バッファ30は、グローバル・クロック信号(g_clk)を受信し、ローンチ(launch)クロック信号(l_clk)を生成する。グローバル・クロック信号は、NORゲート34への入力であり、インバータ・チェーン12´を通る固定遅延経路と、シフト遅延残差設定回路14´(
図3と併せて以下にさらに説明される)を通る調整可能遅延経路とを含む遅延回路への入力でもある。遅延回路は、シフト遅延残差設定回路14´のためのフロントエンド・デバイスとして、レベル変換インバータ36を含む。シフト遅延残差設定回路14´からのタイミング信号の出力は、NORゲート34の他の入力に接続される。従って、別のインバータ38に接続されるNORゲート34からの出力信号は、グローバル・クロック信号と同じ周波数を有するが、そのパルス幅は、タイミング信号の遅延時間及び幅によって変調される。インバータ38は、NORゲート34からの信号の極性を修正するために用いられ、その出力はローンチ・クロック信号である。
【0026】
ローンチ・クロック信号は、SRAMサブシステム32のワードライン・デコード/ドライバ回路40への入力である。ワードライン・デコード/ドライバ回路40は、要求されたメモリ・ブロックについてのワードライン・アドレスを受信し、ローンチ・クロックがアクティブである間、SRAMアレイ42の対応するワードラインに通電する。グローバル評価及びビットライン・デコード/ドライバ44は、ターゲットとされたメモリセル内の値を感知し、メモリ・ブロックを要求中のエンティティ、例えばマイクロプロセッサに出力する。ブロック44内のグローバル評価論理回路は、遅延ローンチ・クロック信号(del_l_clk)がアクティブであるときに、ビットラインを評価する。遅延ローンチ・クロック信号は、ローンチ・クロック信号(l_clk)を生成するのと同一の方法によって生成されるが、SRAMアレイ42のローカル・ビットラインからグローバル・ビットラインへの信号伝搬遅延に対応する、予め計算された遅延時間(例えば、付加的なインバータ・チェーンからの)がない。
【0027】
SRAM42アレイに対する読み取り動作を用いて、電流クロック信号の相対的遅延及びパルス幅の十分性に関するフィードバックを提供する。読み取り動作は、SRAMアレイ42の通常のワードラインを用いて、又は、この目的のために与えられたSRAMアレイ42内のメモリセルの特定の組を用いて実行することができる。テストパターンを受け取るセルは、SRAMアレイ42の物理的中心の近くに配置することが好ましい。例示的な実施形態においては、テストパターンを含む9ビットが、SRAMアレイ42内の指定されたアドレスに書き込まれ、その後、グローバル評価及びビットライン・デコーダ/ドライバ44によって読み取られる。これらの書き込み動作及び読み取り動作は、マイクロプロセッサ又は集積回路の他の制御論理によって開始される。グローバル評価及びビットライン・デコーダ/ドライバ44のタップオフ出力は、これらの9ビットをローカル・クロック・バッファ30内の比較器46の第1の入力に与える。比較器46はまた、第2の入力に格納された9ビット・データを受信し、格納されたデータを、同時評価からの9ビットと比較する。第2の入力についての9ビットは、工場で設定される又は集積回路のスキャンチェーンによってプログラム可能に設定される保持ラッチ内に格納することができる。
【0028】
9ビット全ての一致が比較により示された場合には、読み取り動作は成功しており、すなわち、読み取り時間ウィンドウが十分に長いものであり、遅延クロック信号の更なる調整は必要なく、こうした場合、比較器46は、論理「0」をNANDゲート48に出力する。比較が、9ビットのいずれかの不一致を示す場合には、読み取り動作はより大きい時間ウィンドウを必要とする、すなわち、遅延ローンチ・クロック信号のパルス幅は、所望のパルス幅より狭いので、遅延ローンチ・クロック信号を調整する必要があり、このような場合、比較器46の出力は論理「1」となる。NANDゲート48への他の入力は、別のNORゲート50からのチョップ信号(chopped signal)である。チョップ信号は、遅延ローンチ・クロック信号に更なる遅延を生じさせ、この更なる遅延信号を反転させ、次いで、これを遅延ローンチ・クロック信号と組み合わせることによって得られる。NORゲート50からのチョップ信号の反転したパルス幅(信号が論理的ロー(logical low)であるとき)は、遅延ローンチ・クロック信号のパルス幅が狭いと広くなり、遅延したローンチ・クロック信号のパルス幅が広いと狭くなる。NANDゲート48は、9ビットの比較が失敗しない限り、アクティブであるクロック較正信号(clk_ff)を出力し、NORゲート50の出力はアクティブである。シフト遅延残差設定回路14´は、較正信号を用いて、遅延を増大させ、より広いパルス幅を生成する。
【0029】
シフト遅延残差設定回路14´が、
図3にさらに詳細に示され、このシフト遅延残差設定回路14´は、複数の直列接続ANDゲート52a、52b、...、52nによって設けられた調整可能遅延経路を含む。ANDゲートの出力をシフト遅延残差設定回路14´のタイミング信号出力に接続するスイッチを選択的に作動させることによって、異なる遅延が再び選択される。この実施形態において、各スイッチは、p型電界効果トランジスタ(pfet)に結合されたn型電界効果トランジスタ(nfet)から成る、すなわち、nfetのソース
がpfetのソースに接続され、nfetのドレインがpfetのドレインに接続される。nfet/pfetの対54a、54b、...、54nのnfetゲートは、それぞれのインバータ56a、56b、...、56nによって制御される。nfet/pfetの対54a、54b、...、54nのpfetゲートは、シフト・レジスタ回路59のそれぞれのシフト・レジスタ(フリップ・フロップ)58a、58b、...、58nによって制御される。
【0030】
インバータ36からの中間遅延信号は、nfet/pfetの対54aのソース及びANDゲート52aの一方の入力に接続され、ANDゲート52aの他の入力は、シフト・レジスタ58aの出力に接続される。同様に、ANDゲート52aの出力は、nfet/pfetの対54bのソース及びANDゲート52bの一方の入力に接続され、ANDゲート52bの他の入力は、シフト・レジスタ58bの出力に接続される。一つのANDゲートの出力から次のANDゲートの入力へのこれらの接続が、連続して繰り返される。最後のANDゲート52nの出力は、nfet/pfetの対54nのソースに接続される。この実施形態は、遅延要素に関してANDゲートを用いるが、NANDゲートのような他の論理ゲートを使用し、次にインバータを使用してもよい。
【0031】
シフト・レジスタ58aの入力は、一定の論理ハイ(logical high)信号(ff_in)に接続され、その出力は、シフト・レジスタ58bの入力に接続される。一つのシフト・レジスタの出力から次のシフト・レジスタの入力への接続が、連続して繰り返される。各々のシフト・レジスタ58a、58b、...、58nは、別のANDゲート60からの信号によってクロック制御(ラッチ)される。ANDゲート60は、較正信号(clk_ff)及びイネーブル信号(enshift)からの入力を受信する。動的電圧スケーリングの結果としてのSRAM32についての電源電圧の変化に応答して、イネーブル信号をアクティブにし、遅延クロック信号を再較正することができる。enshiftがアクティブである場合、ANDゲート60は、クロック較正信号から修正パルスを受信する度に、ラッチ・パルスがシフト・レジスタ58a、58b、...、58nに送られる。シフト・レジスタ58aの値は、最初にゼロ(論理ロー)に設定され、シフト・レジスタ58b、...、58nの値は、リセット信号を用いて、最初に1(論理ハイ)に設定される。これらの設定により、ANDゲート52a、52b、...、52nのいずれも通過することなく、nfet/pfet対54aを通って可能な最短の遅延がもたらされる。較正の際(シフトがイネーブルにされるとき)、このゼロの値は、繰り返される9ビットの各々の比較、及び、結果としてもたらされる較正信号のアクティブ化により、レジスタ・チェーンを移動し、ANDゲート52a、52b、...、52nの1つ又は複数を通る遅延経路を選択的に変更することによって、遅延が徐々に増大される。ゼロの値が最後のシフト・レジスタ58n内にあり、1の値が残りのシフト・レジスタ内にあるときに、最大の遅延が達成されるので、遅延経路は、ANDゲート52a、52b、...、52nの全てを通過する。シフト・レジスタ58nの出力をエラー信号(overflowb)として使用し、最大遅延チェーンが依然として短すぎることを示すこともできる。45ナノメートル技術を用いる例示的な実施形態の場合、固定遅延は、50ピコ秒のオーダーとすることができ、調整可能な遅延は、10ピコ秒から100ピコ秒までの範囲にあり、遅延の増分は、10ピコ秒から20ピコ秒までの範囲にある。
【0032】
複製SRAM経路を用いた上述の第2の較正方法が、本発明に従って構築された自己タイミング型ローカル・クロック・バッファ(LCB)70の1つの実施形態を示す
図4と併せて説明される。グローバル・クロック信号は、3つのNANDゲート72a、72b、72cへの入力である。NANDゲート72a及び72bの第2の入力は、論理ハイ(V
dd)に接続される。NANDゲート72aの出力は、インバータ73への入力であり、その出力はNORゲート76に接続される。遅延残差設定回路14´´からのタイミング出力信号は、NORゲート76の他の入力に接続される。従って、別のインバータ78に接続された遅延残差設定回路14´´からのタイミング出力信号は、グローバル・クロック信号と同じ周波数を有するが、そのパルス幅は、タイミング出力信号の遅延時間及び幅によって再び変調される。インバータ78は、NORゲート76からの信号の極性を修正するために用いられ、その出力は、ローンチ・クロック信号である。当業者であれば、インバータ73及び78のような種々のインバータが、自己タイミング型LCB70の所与の実施形態に用いられる特定のタイプのゲートに基づいて、信号の適切な極性を設定するために用いられること、及び、代替的な実施形態においては、それらのインバータを省略又は付加することができることを理解するであろう。
【0033】
NANDゲート72bの出力により、固定遅延経路を与えるインバータ・チェーン12が駆動される。インバータ・チェーン12からの中間遅延信号は、2つの他のインバータ74、80を通過し、この実施形態においては、どちらもレベル変換のために使用される、すなわち、インバータ74は、信号の電圧レベルを、インバータ・チェーン12の電源レベルから中間電圧まで上げ、インバータ80はさらに、信号の電圧レベルを、遅延残差設定回路14´´の電源レベルまで上げる。
【0034】
NANDゲート72cの第2の入力は、イネーブル信号(selcal)であり、NADNゲート72cの出力は、複製SRAM経路84に接続される。SRAM経路84は、機能SRAMメモリと同じコンポーネントを有するダミー回路を用いて、現在の動作中のプロセス及び環境パラメータにおける機能SRAMメモリの遅延を追跡する。機能SRAMメモリ自体のビットラインを感知する代わりにダミー回路を使用することにより、SRAMアレイの摂動が回避される。1つの複製SRAM経路のみを用いて、幾つかのLCBを較正することができる。SRAM経路84からの信号は、遅延残差設定回路14´´にSRAM遅延入力(dl_clk)を与える別のインバータ75を通過する。イネーブル信号の補数も、そのドレインがV
dd(ローカル・クロック・バッファについての電源電圧)に接続され、そのソースがNORゲート76の第2の入力に接続されるpfet82を制御し、較正の際にローンチ・クロック信号の遅延変調をディスエーブルにする。
【0035】
NANDゲート72c又は入力のようなイネーブル信号を有する他の論理回路は、この実施に不可欠なものではあるが、NANDゲート72a及び72bは、NANDゲート72cの同じ遅延寄与分をそれぞれの信号経路に与えるためのタイミング目的だけのために用いられ、代替的な実施においては、これらを除去することができる。
【0036】
図5に遅延残差設定回路14´´がさらに詳細に示され、この遅延残差設定回路14´´は、
図2のシフト遅延残差設定回路14´におけるものに類似した調整可能遅延経路を有し、nfet/pfetの対54a、54b、...、54nから成るスイッチ及びインバータ56a、56b、...、56nによって回路の出力に選択的に相互接続された複数の直列接続ANDゲート52a、52b、...、52nを含む。しかしながら、シフト・レジスタの代わりに、スイッチはここで、その入力がイネーブル信号(selcalb)の補数及び複数のラッチ88a、88b、...、88nからの出力である、組み合わせ論理回路によって制御される。ラッチ88a、88b、...、88nは、較正信号、すなわちSRAM遅延信号(dl_clk)によってクロック制御される。インバータ80からの中間遅延信号は、第1のラッチ88aへの入力であり、NANDゲート94aは、自己較正信号の補数及びラッチ88aの出力を入力として受信する。同様に、ANDゲート52aの出力は、ラッチ88bへの入力であり、別のNANDゲート94bは、自己較正信号及びラッチ88bの出力を入力として受信する。最後のNANDゲート94nの出力がnfet/pfetの対54nのソースに接続されるまで、1つのANDゲートの出力から次のラッチの入力への、及び、そのラッチ出力から、他の入力が補数信号である次のNANDゲートへのこれらの接続が、連続して繰り返される。
【0037】
NANDゲート94aの出力は、別のNANDゲート90の入力及びNXORゲート92aの入力に接続される。NANDゲート90の他の入力は、自己較正信号の補数に接続され、NANDゲート90の出力は、第1のnfet/pfetの対54aを制御する。同様に、次のNANDゲート94bの出力は、NXORゲート92bの他の入力及び次のNXORゲート(図示せず)の入力に接続され、NXORゲート92bの出力は、次のnfet/pfetの対54bを制御する。最後のNANDゲート94nの出力が、NXORゲート92nの最後の入力及びnfet/pfetの対54nに接続されるまで、連続したNANDゲート出力から連続したNXORゲート入力への、及び、NXOR出力からnfet/pfetの対へのこれらの接続は、連続して繰り返される。自己較正信号がアクティブでない場合(selcalb=V
dd)、中間遅延信号(insw0)は、SRAM遅延を追跡する必要に応じて、正しい数のNAND遅延を通って回路出力に進む。この例示的な実施においては、各々がV
dd=0.9ボルトにおいて約10ピコ秒の遅延をもたらす、32個のNANDゲートが、遅延チェーン内に存在することが好ましい。
【0038】
図6をさらに参照すると、代替的に、同じく
図2のシフト遅延残差設定回路14´及び
図5の遅延残差設定回路14´´におけるものと類似した調整可能遅延経路を有し、nfet/pfetの対54a、54b、...、54nと、インバータ56a、56b、...、56nとから成るスイッチによって回路出力に選択的に相互接続された複数の直列接続ANDゲート52a、52b、...、52nを含む、プログラム可能遅延残差設定回路14´´´によって、調整可能な遅延をもたらすことができる。しかしながら、この代替的な実施形態においては、レジスタ・チェーンは、捕捉されたビット・シーケンスを格納し、このデータをシリアル方式で転送して外部回路又はマシンによって分析されるようにし、次に、外部回路又はマシンからプログラミング・ビットを受信(ロード)し、それらを用いて、本機能による所望の遅延に対する適切なスイッチ54を選択する。
【0039】
プログラム可能遅延残差設定回路14´´´は、独立したクロック信号(clock_ff)によって制御(ラッチ)されるレジスタ58a、58b、...、58nを含む別のシフト・レジスタ回路59´を有する。ラッチ・クロック信号の周波数は、重要ではないが、グローバル・クロック信号から生成されること、及び、同じ周波数を有することが好ましい。第1のレジスタ58aは、プログラム可能入力信号(ff_in)を受信し、その出力は、マルチプレクサ100aの1つの入力及びNANDゲート96aの1つの入力に接続される。マルチプレクサ100aへの他の入力は、その入力が中間遅延信号(insw0)であるラッチ98aの出力からのものである。ラッチ98aは、SRAM遅延信号(dl_clk)によってクロック制御される。マルチプレクサ100aは、シフト・イネーブル信号(enshift)によって制御され、シフト・イネーブル信号の補数は、NANDゲート96aへの他の入力である。マルチプレクサ100aの出力は、レジスタ58bに与えられる。NANDゲート96aの出力は、nfet/pfetの対54aを制御し、遅延チェーンのANDゲート52aへの入力でもある。類似の接続が、レジスタ・チェーンに沿って連続的
になされ、例えば、次のレジスタ58bの出力は、次のマルチプレクサ100bへの入力であり、シフト・イネーブル信号の補数も受信するNANDゲート96bへの入力であり、ラッチ98bは、ANDゲート52aから遅延信号を受信し、その出力は、シフト・イネーブル信号によって制御されるマルチプレクサ100bの他の入力に接続され、NANDゲート96bの出力は、nfet/pfetの対54bを制御する。最後のレジスタ58nの出力は、NANDゲート96nの1つの入力に接続され、同じくレジスタ・チェーン(ff_out)についてのデータ出力でもある。
【0040】
シフト・レジスタ58aの値は、最初にゼロ(論理ロー)に設定され、シフト・レジスタ58b、...、58nの値は、リセット信号を用いて最初に1(論理ハイ)に設定される。トライアル・アンド・エラー・シーケンスを用いて、最適なビットパターンを捕捉することができる。遅延残差設定回路はまた、用途に応じて、外部からプログラム可能であること及び内部で自己構成可能であることの両方を併せもつことができる。
【0041】
従って、本発明は、動的電圧スケーリングを用いて性能最適性を劣化させることなく、遅延クロック信号を用いる回路の性能を最適化する有利な方法を提供する。ローカル・クロック遅延における変動は、一定の小さいオーバーヘッド(例示的な実施形態において、最大遅延オーバーヘッドは、0.5ボルトにおいて約67ピコ秒である)によりSRAM遅延における変動を正確に追跡する。その結果、本発明は、性能を改善し、電力を低減し、プロセッサ及び他の超大規模集積(VLSI)回路に関する歩留まりを改善する。
【0042】
本発明が特定の実施形態を参照して説明されたが、この説明は、限定的な意味で解釈されることを意図するものではない。本発明の説明を参照したときに、開示された実施形態の種々の修正及び本発明の代替的な実施形態が、当業者には明らかになるであろう。例えば、本発明は、SRAMメモリについての自己タイミング型ローカル・クロック・バッファとの関連で開示してきたが、ラッチについてのパルス幅の最適化と、メモリ・アレイに対するプリチャージ及び評価時間を最適化するための動的論理とを含む、制御信号のタイミング(パルス幅及び遅延)の正確な制御に依存するいかなる回路にも幅広く適用可能である。
【符号の説明】
【0043】
10:遅延回路12:インバータ・チェーン14:線形プログラム可能遅延残差14´、14´´、14´´´:シフト遅延残差設定回路16:レベル・コンバータ18a、・・・18n、20a、・・・20n、38、56a、56b、...、56n、73、74、78、80:インバータ22a、・・・22n、24a、・・・24n、54:スイッチ30:ローカル・クロック・バッファ(LCB)32:SRAMサブシステム34、50、76:NORゲート36:レベル変換インバータ40:ワードライン・デコード/ドライバ回路42:SRAMアレイ44:グローバル評価及びビットライン・デコード/ドライバ46:比較器48、72a、72b、72c、90、94a、94b、・・・94n、96a、96b,・・・96n:NANDゲート52a、52b、・・・52n、60、90:ANDゲート54a、54b、・・・54n:nfet/pfetの対58a、58b、...、58n:シフト・レジスタ59、59´:シフト・レジスタ回路84:複製SRAM経路88a、88b、...、88n、98a、98b、・・・98n:ラッチ92a、92b,・・・92n:NXORゲート100a、100b、・・・100n:マルチプレクサ