(57)【特許請求の範囲】
【請求項１】
コア、パッド、及び、該コアと該パッドの間に配置されたデータバッファを有する集積回路チップ用のＩ／Ｏインターフェースにおいて、該データバッファが、
出力回路であって、
各々の出力ラッチが、前記コアからの出力データ信号を受信するために結合された少なくとも１つの入力を有することからなる、複数の出力ラッチと、
各々の出力クロックツリーが、前記コアからの出力データ信号のラッチをトリガするために、少なくとも１つの前記出力ラッチに結合され、かつ、前記Ｉ／Ｏインターフェース内に配置されることからなる、複数の出力クロックツリーと、
前記出力データ信号が複数のプロトコルのうちの少なくとも１つのプロトコルに適合するように、前記出力データ信号を調整すべく前記出力ラッチに結合された第１の信号調整回路とからなる出力回路と、
入力回路であって、
各々の入力ラッチが、前記パッドからの入力データ信号を受信するために結合された少なくとも１つの入力を有することからなる、複数の入力ラッチと、
前記パッドからの入力データ信号のラッチをトリガするために、前記入力ラッチの少なくとも１つに結合された入力クロックツリーと、
前記入力データ信号が複数のプロトコルのうちの少なくとも１つのプロトコルに適合するように、前記入力データ信号を調整すべく前記入力ラッチに結合された第２の信号調整回路とからなる入力回路とからなり、
前記出力回路が、第１の出力ラッチ、第２の出力ラッチ、及び第３の出力ラッチを備え、前記第１の出力ラッチと第２の出力ラッチが、それぞれ、第１の出力クロックツリーに結合され、前記第３の出力ラッチが、第２の出力クロックツリーに結合され、前記出力クロックツリーが、同期方式において、前記コアからの出力データ信号のラッチをトリガし、
前記第２のクロックツリーが単レートクロックを供給し、前記第１のクロックツリーは、前記第２のクロックツリーから２分の１周期だけ遅れた遅延レートクロックを供給することを特徴とするＩ／Ｏインターフェース。
【請求項２】
前記入力クロックツリーが、前記Ｉ／Ｏインターフェースの外部ソースから生成されたクロック／ストローブ信号を、前記データバッファに送ることからなる、請求項１のＩ／Ｏインターフェース。
【請求項３】
実行中に選択されるプロトコルに適合するように、前記第１の信号調整回路と第２の信号調整回路によって、前記出力データ信号と前記入力データ信号をそれぞれ調整することからなる、請求項１のＩ／Ｏインターフェース。
【請求項４】
前記プロトコルが、AGP、DDR/SSTL、及びPCI/TTLを含むプロトコルのグループから選択されることからなる、請求項３のＩ／Ｏインターフェース。
【請求項５】
前記データバッファが、AGP及びDDR/SSTLプロトコルに対しては同期モードで動作し、PCI/TTLプロトコルに対しては非同期モードで動作することからなる、請求項４のＩ／Ｏインターフェース。
【請求項６】
前記第１の出力ラッチ、前記第２の出力ラッチ、及び、前記第３の出力ラッチが、エッジトリガ型のフリップフロップである、請求項１のＩ／Ｏインターフェース。
【請求項７】
前記第１の信号調整回路が、
入力と出力を備え、該入力が、前記出力データ信号を受信するために前記出力ラッチに結合されることからなる、プリドライバと、
入力と出力を備え、該入力が、出力データ信号を受信するために前記プリドライバの出力に結合されることからなる、電圧許容回路と、
入力と出力を備え、該入力が、前記出力データ信号を受信するために前記電圧許容回路の出力に結合され、前記出力が、複数のプロトコルのうちの１つに適合するパッド電圧を供給するために前記パッドに結合されることからなる、ドライバ回路とからなる、請求項１のＩ／Ｏインターフェース。
【請求項８】
前記電圧許容回路が、さらに、スイッチングウェルを介して前記パッドに結合され、前記スイッチングウェルが、前記電圧許容回路及び前記ドライバ回路とともに動作して、前記パッド電圧を供給電圧と比較し、これら２つの電圧の高い方を前記スイッチングウェルに切り換えることからなる、請求項７のＩ／Ｏインターフェース。
【請求項９】
前記スイッチングウェルが、さらに、前記パッド電圧を調整するためのプルアップ／プルダウン回路に結合される、請求項８のＩ／Ｏインターフェース。
【請求項１０】
前記プルアップ／プルダウン回路が、プルアップ抵抗とプルダウン抵抗を備え、各抵抗が、前記コアからのイネーブル信号に応答することからなる、請求項９のＩ／Ｏインターフェース。
【請求項１１】
前記入力回路が、第１の入力ラッチ、第２の入力ラッチ、及び第３の入力ラッチを備え、各入力ラッチが、同期方式において、前記パッドからの入力データ信号のラッチをトリガするために入力クロックに結合されることからなる、請求項１のＩ／Ｏインターフェース。
【請求項１２】
前記入力回路が、PCI/TTLプロトコルに適合する入力データ信号を受信するために前記パッドに結合されたシュミット回路を備える、請求項１のＩ／Ｏインターフェース。
【請求項１３】
前記入力回路が、差動入力データ信号を受信するために、前記パッドに結合された差動増幅器を備える、請求項１のＩ／Ｏインターフェース。
【発明の詳細な説明】
発明の分野
本発明は、一般的に、集積回路へのインターフェースに関連し、より詳しくは、複数のプロトコル及び信号規格に適合するように、実行中に構成することができる入力／出力（Ｉ／Ｏ）インターフェースに関連する。
発明の背景
集積回路が出現して以来、Ｉ／Ｏインターフェースは、内部（すなわち、チップ上の）回路を外部（すなわち、チップ外の）回路にインターフェースするために使用されてきた。Ｉ／Ｏインターフェースは、一般的には、クロックなしで動作する非同期回路を使用して設計される。しかしながら、インターフェースを通る信号の周波数が高くなる程、非同期回路を使用して信号を捕捉及び伝送することが難しくなる。非同期回路では、信号はシステム全体で波打ち、フリップフロップをセット及びリセットし、システムの伝搬遅延に依存するある予測できない時間に出力を生成する。信号は、任意の時点で生じうるので、非同期回路は、システム内のノイズによって乱されがちである。例えば、クロックパルス間の信号ラインにおけるノイズバーストによって、多くのフリップフロップがその状態を変え、システムが誤動作してしまう場合がある。
これとは対照的に、エッジトリガタイプの「Ｄ」フリップフロップのような同期回路は、クロックパルスすなわちストローブ信号の正極性（立ち上がり）エッジ、または負極性（たち下がりエッジ）のいずれにおいても、信号を確実に捕捉して伝送するために使用することができる。クロックパルス間の信号ライン上のノイズバーストが、同期回路を乱すことは通常はない。同期回路は、試験の目的（例えば、スキャン試験）で、Ｉ／Ｏインターフェース内に備えられているが、それらは、一般的には、集積回路チップ内のコアロジックとパッド間を伝送するデータ信号を捕捉するためには使用されない。データ信号を確実に捕捉するために、同期回路は、スキュー、デューティサイクル、及びセットアップ／ホールドタイムを含む種々の制約に従うクロックを備えていなければならない。これらのクロックパラメータが守られない場合には、同期回路は誤動作（例えば、クロックレース（クロックレース（clock race）、ラッチアップ）して、誤ったデータ信号が捕捉され、伝送されることになる。同期回路の誤動作の可能性を低減するために、専用の物理レイアウトを使用してかかる回路を設計することができる。
専用の物理レイアウトでは、クリティカルなパラメータのばらつきを制限するために、物理的な配置調整及び制限をＩ／Ｏインターフェースのコンポーネントに委ね、それによって、信頼性の高い高周波動作を確保している。互いに厳密な関係を有するようにコンポーネントを設計することによって、コンポーネントの動作の不確実性及び／または補償を最小限にすることができる。例えば、クロックパスとデータパスを正確に整合させると共に、同時スイッチングによるプッシュアウトを補償するように設計することができる。
信頼性の問題に加えて、複数のプロトコル及び信号規格（仕様）に適合するように、Ｉ／Ｏインターフェースを実行中に構成することも望まれる。複数のプロトコル及び信号規格には、高速グラフィックポート（AGP）、倍データレート（倍データ転送速度）（Double Data Rate：DDR）、周辺機器相互接続（PCI）、スタブシリアル終端ロジック（Stob Serial Terminated Logic：SSTL）、及びトランジスタ・トランジスタロジック（TTL）が含まれる。かかるＩ／Ｏインターフェースによって、システム設計者には更なる設計の柔軟性が与えられる。
従って、集積回路チップ内のコアロジックとパッド間のデータ信号をバッファリングし、調整するための信頼性が高く、柔軟なＩ／Ｏインターフェースが必要とされている。これらのＩ／Ｏインターフェースは、複数のプロトコル及び信号規格に適合するように、実行中に構成されることが望ましい。かかるＩ／Ｏインターフェースは、例えば、不均一な配線に関連する問題を除去するために、回路、電力、及びクロックのバス構成についての専用の物理レイアウトを有しなければならない。
発明の要約
本発明は、複数のプロトコル及び信号規格に適合するように実行中に構成することが可能な、集積回路チップ用の信頼性の高いＩ／Ｏインターフェースについてのものである。
本発明のＩ／Ｏインターフェースは、複数のプロトコル及び信号規格を実行する高周波数バスに、信頼性が高く柔軟性のあるインターフェースを提供するために、専用物理レイアウトにおいて実装されるラッチ、クロック、及び調整回路を備えることが好ましい。入力／出力信号をパッドやコアに送信する前に、それらの信号のバッファリングと調整を同期化するために、３つのクロックツリーが使用される。クロックツリーは、専用レイアウトによって実装され、クロック／ストローブパラメータ（例えば、スキュー、デューティサイクル、立ち上がり／たち下がり時間）を厳密に調整することができる。
クロックツリーの２つは、Ｉ／Ｏインターフェースに局所配置されており、非同期または同期フォーマットで、コアからの出力データ信号をバッファリングするために実行中に構成された複数の出力ラッチをトリガする。同期モードでは、クロック／ストローブを、データに関して、エッジ中心（edge-centered）またはウィンドウ−ストローブのいずれかとすることができる。第３のクロックツリーは、外部ソースからのクロック／ストローブを配信し、ウィンドウ−ストローブモードまたはエッジ中心モードで、パッドからの入力データをバッファリングするように実行中に構成された複数の入力ラッチをトリガするために使用される。Ｉ／Ｏインターフェースは、また、AGP/DDRプロトコル、並びに、全振幅（full swing）、減振幅（reduced swing）（SSTL）、及びTTL規格に適合するようにＩ／Ｏ信号を調整する調整回路を備える。
本発明は、外部クロック／ストローブパルスの正極性エッジまたは負極性エッジ（すなわち、単データレート（単データ転送速度））で、あるいは、その２倍の周波数（すなわち、倍データレート（倍データ転送速度））で動作している内部クロック／ストローブ、または、外部クロックと同じ周波数で動作している内部クロック／ストローブのいずれかを使用して、外部クロック／ストローブパルスの両エッジで外部バスに信号を送る。
本発明の１実施態様では、集積回路チップ用のＩ／Ｏインターフェースは、コア、パッド、及びコアとパッドの間に配置されたデータバッファを備える。データバッファは、出力回路と入力回路を備える。出力回路は、複数の出力ラッチ、２つの出力クロックツリー、及び、第１の信号調整回路を備える。各出力ラッチは、コアからの出力データ信号を受信するように結合された入力を備える。各出力クロックツリーは、コアからの出力データ信号のラッチをトリガするために、少なくとも１つの出力ラッチに結合される。第１の信号調整回路は、出力データ信号を調整するために出力ラッチに結合されて、出力データ信号が、複数のプロトコルの少なくとも１つに適合するようにしている。
入力回路は、複数の入力ラッチ、入力クロックツリー、及び、第２の信号調整回路を備える。各入力ラッチは、パッドからの入力データ信号を受信するように結合された入力を備える。入力クロックは、パッドからの入力データ信号のラッチをトリガするために、入力ラッチの少なくとも１つに結合される。第２の信号調整回路は、入力データ信号を調整するために入力ラッチに結合されて、入力データ信号が、複数のプロトコルの少なくとも１つに適合するようにしている。
本発明の他の実施態様では、集積回路チップ用のＩ／Ｏインターフェースは、コア、パッド、及びコアとパッドの間に配置されたクロック／ストローブバッファを備える。クロック／ストローブバッファは、一般的に、差動増幅器、プログラム可能な遅延モジュール、及び、ゲートバッファを備える。差動増幅器は、AGP及びDDR/SSTL信号を受信するためにパッドに結合される。プログラム可能な遅延モジュールは、AGP及びDDR/SSTL信号を遅延させるために、差動増幅器に結合される。ゲートバッファは、プログラム可能な遅延モジュール、及び入力クロックツリーに結合される。ゲートバッファは、AGP及びDDR/SSTL信号を、入力クロックツリーを介してＩ／Ｏインターフェースに送信するためのものである。
本発明の他の実施態様では、クロック／ストローブバッファは、出力回路と入力回路を備える。出力回路は、一般的に、出力ラッチ、マルチプレクサ、及び第１の調整回路を備える。出力ラッチは、コアからの出力クロック／ストローブ信号を受信するように結合された入力を備える。出力ラッチは、また、コアからの出力クロック／ストローブ信号のラッチをトリガするために、第１の出力クロックツリーに結合された入力を備える。第１の出力クロックツリーは、Ｉ／Ｏインターフェース内に配置される。マルチプレクサは、第２の出力クロックツリーに結合された入力を備える。マルチプレクサは、出力クロック／ストローブ信号のスキューを低減する。第２の出力クロックツリーもまた、Ｉ／Ｏインターフェース内に配置される。第１の信号調整回路は、出力ラッチとマルチプレクサに結合される。第１の信号調整回路は、出力クロック／ストローブ信号を調整して、出力クロック／ストローブ信号が、複数のプロトコルの少なくとも１つに適合するようにしている。
入力回路は、差動増幅器とゲートバッファを備える。差動増幅器は、複数のプロトコルの１つに適合する差動クロック／ストローブ信号を受信するために、パッドに結合された入力を備える。ゲートバッファは、入力クロックツリーを介してクロック／ストローブ信号を配信するために、差動増幅器及び入力クロックツリーに結合される。
本発明の利点は、コアやパッドからのデータ捕捉が同期化されることである。クロックを使用して、コアやパッドからのデータ捕捉を同期化することにより、AGPやDDR/SSTLモードで動作するときの、かかるデータ捕捉の信頼性が向上する。
本発明の別の利点は、外部クロックの２倍の周波数で動作する内部クロックを使用することなく、データを外部クロックの両エッジでバスに出力することができるということである。
本発明の他の利点は、物理的な配置調整と制限をＩ／Ｏインターフェースの各コンポーネント上に課し、これによって、信頼性の高い高周波動作に悪影響を与え得る、コンポーネントのプロセス変動を制限するということである。
本発明のさらに他の利点は、Ｉ／Ｏインターフェースのコンポーネントが厳密に関連付けられ、これによって、各コンポーネントの動作における不確実性及び／または補償が最小限になるということである。例えば、クロック及びデータパス（経路）を、同時スイッチングによるプッシュアウトを補償する一方で、正確に整合させることができる。
本発明のこれらの及び他の特徴、態様、及び利点は、以下の説明、請求の範囲、及び添付図面を参照することによってさらに明快に理解されよう。
【図面の簡単な説明】
図１Ａは、本発明に従うデータバッファ及びクロック／ストローブバッファを備える集積回路用のＩ／Ｏインターフェースの１実施態様を示す機能ブロック図である。
図１Ｂは、図１Ａのコア及びパッドからデータ信号を捕捉するために、データバッファ１３０によって使用することができるクロックを示す１組のタイミング図である。
図２Ａ及び２Ｂは、本発明に従う図１Ａのデータバッファの１実施態様の機能ブロック図である。
図３は、本発明に従うプログラム可能な遅延モジュールを備える図１Ａのクロック／ストローブバッファの１実施態様の機能ブロック図である。
図４Ａ及び４Ｂは、本発明に従う整合遅延ダミーマルチプレクサを備える図１Ａのクロック／ストローブバッファの１実施態様の機能ブロック図である。
図５は、本発明に従う図４Ａの整合遅延ダミーマルチプレクサの１実施態様の機能ブロック図である。
図６Ａは、本発明に従うバス／ｎ−ウェル（n-well）構成の１実施態様を示すレイアウト図である。
図６Ｂは、本発明に従う図６Ａのレイアウト図の断面図である。
図７は、本発明に従う集積回路チップ用のＩ／Ｏアセンブリのいくつかの実施態様を示すレイアウト図である。
図８は、本発明に従うAGP用のＩ／Ｏアセンブリの１実施態様を示すレイアウト図である。
図９は、本発明に従うDDR用のＩ／Ｏアセンブリの１実施態様を示すレイアウト図である。
発明の詳細な説明
本明細書で使用するプロトコルという用語には、動作モード及びインターフェース仕様（例えば、信号、電気的特性に関する）が含まれるということに留意されたい。本明細書で使用する信号という用語には、データ信号、クロック／ストローブ信号、電力信号、及び制御信号が含まれる。本明細書で使用する「実行中」という用語には、集積回路チップの実時間動作（例えば、ユーザーアプリケーションの実行中）が含まれる。本明細書で使用する、クロック／ストローブという用語には、クロックとストローブの両方が含まれる。
図１に、本発明に従う集積回路チップ用のＩ／Ｏインターフェース１００の１実施態様の機能ブロック図を示す。Ｉ／Ｏインターフェース１００は、パッド１１０−１及び１１０−２、コア１２０、データバッファ１３０、及びクロック／ストローブバッファ１４０を備える。
データバッファ１３０は、集積回路チップ（不図示）のＩ／Ｏリング内に配置された専用設計のＩ／Ｏセルの一部であることが好ましい。図１には、Ｉ／Ｏインターフェース１００を１つしか示していないが、複数のＩ／Ｏインターフェースを有する複数のＩ／ＯセルをＩ／Ｏリング内に２重化して配置することができるということに留意されたい。
データバッファ１３０は、パッド１１０−１とコア１２０間を伝送する信号をバッファリングし、調整するために、パッド１１０−１、コア１２０、及び、クロック／ストローブバッファ１４０に結合されることが好ましい。データバッファ１３０を実行中に構成して、特定のプロトコルに適合するよう信号を調整することができる。これらのプロトコルは、AGP、DDR、PCI、SSTL及びTTLを含むことが好ましい。代替的には、データバッファ１３０を、ボード設計の段階で構成することができる。
クロック／ストローブバッファ１４０は、集積回路チップのＩ／Ｏリング内に配置された専用設計のＩ／Ｏセルの一部であることが好ましい。クロック／ストローブバッファ１４０は、データバッファ１３０内のイベントをトリガするために使用されるクロック／ストローブをバッファリングして調整するために、パッド１１０−２、コア１２０及びデータバッファ１３０に結合される。クロック／ストローブバッファ１４０を実行中に構成して、データバッファ１３０で使用するために、内部及び外部クロック／ストローブを調整することができる。
データバッファ１３０及びクロック／ストローブバッファ１４０は、さらに詳しく後述するように、０．２５ミクロンＣＭＯＳ技術を使用して実装することが好ましい。０．２５ミクロンＣＭＯＳ技術を使用してデータバッファ１３０を実装することによって得られるいくつかの利点には、（ａ）同じバスのＩ／Ｏパッドをグループ化して、そのグループのスキューを調整することができる、（ｂ）クロック／ストローブ信号用のレイアウト配線を調整することができる、（ｃ）信号ＶBIASとＶREF（後述）をシールドすることができる、（ｄ）電源／アースの供給を調整して、遅延、スキュー、及び不平衡を最小限にすることができる、（ｅ）異なる動作モード及び異なるインターフェース仕様に適合するように、データバッファ１３０及びクロック／ストローブバッファを構成することができる、ということが含まれる。
図１Ｂに、図１Ａのコアまたはパッドからのデータ信号を捕捉するために、データバッファ１３０が使用することができるクロックを示す１組のタイミング図を示す。
最初のタイミング図は、単レートクロック１５０（以下では、「CCK_1X」とも記載）を示す。単レートクロック１５０は、周期がＴであり、６６ＭＨｚ（PCI/TTLまたは「1X」AGP）あるいは１５０ＭＨｚ（DDR/SSTL）の周波数で、データバッファ１３０におけるイベントを同期化するために使用することができる。イベントを同期化するために、単レートクロック１５０のパルスの正極性エッジ１８０及び／または負極性エッジ１９０を使用することができる。
２番目のタイミング図は、倍レートクロック１６０（以下では、「DCK_2X」とも記載）を示す。倍レートクロック１６０は、周期がＴ／２であり、１３３ＭＨｚ（「2X」AGP）の周波数で、データバッファ１３０におけるイベントを同期化するために使用することができる。倍レートクロック１６０は、単レートクロック１５０の１パルス毎に、２つの正極性エッジを生成する。
３番目のタイミング図は、遅延クロック１７０を示す。遅延クロック１７０は、Ｔ／２だけ遅延されており、倍レートクロック１６０の他の実施態様である。単レートクロック１５０と遅延クロック１７０の組み合わせにより、周波数３００ＭＨｚでデータバッファ１３０におけるイベントを同期化するために使用することができる２つの正極性エッジが生成される。クロック１５０とクロック１７０を組み合わせることにより、外部クロックの２倍の周波数で動作する内部クロックを使用することなく、単レートクロック１５０の２倍の周波数で、データ信号をバスに出力することができるようになる。
図２Ａ及び２Ｂに、本発明に従うデータバッファ１３０の１実施態様の機能ブロック図を示す。データバッファ１３０は、出力回路２００（図２Ａ）と入力回路２０２（図２Ｂ）を備える。出力回路２００と入力回路２０２は、それぞれ、パッド１１０−１とコア１２０に結合され、Ｉ／Ｏインターフェース１００を介して伝送される信号をバッファリングして調整する回路を提供する。出力回路２００は、文字Ａ及びＢで示す箇所において、入力回路２０２に結合される。
出力回路２００は、データ捕捉回路２０４と信号調整回路２０６を備える。データ捕捉回路２０４は、出力クロックツリー２０８（以下では、「CCK_1X」とも記載）、出力クロックツリー２１０（以下では、「DCK_2X」とも記載）、ラッチ２１２−１から２１２−３、及びバッファゲート２１４−１から２１４−５を備える。ラッチ２１２−１から２１２−３は、例えば、エッジトリガタイプの「Ｄ」フリップフロップである。ラッチ２１２−１から２１２−３の各々は、コア１２０によって供給されるリセットライン２１６によってリセットされる。
ラッチ２１２−１は、入力２１８と入力２２０を備える。入力２１８は、「偶数（even）」データ（SSTL）または「２Ｘ」データ（AGP）をコア１２から受信するために結合される。入力２２０は、クロック／ストローブを受信するために出力クロックツリー２０８に結合される。出力クロックツリー２０８は、データクロック／ストローブ（SSTL）、または「２Ｘ」６６ＭＨｚクロック／ストローブ（AGP）のいずれかを供給する。ラッチ２１２−１は、さらに、ライン２２２−１と２２２−２によって、バッファゲート２１４−１と２１４−２にそれぞれ結合される。バッファゲート２１４−１と２１４−２は、後述する処理のために、ライン２２４によって信号調整回路２０６に結合される。
ラッチ２１２−２は、入力２２６と入力２２８を備える。入力２２６は、コア１２０から、「奇数（odd）」データ（SSTL）を受信するために結合される。入力２２８は、出力クロックツリー２０８から反転されたクロック／ストローブを受信するために結合される。ラッチ２１２−２は、さらに、ライン２３０によってバッファゲート２１４−３に結合される。バッファゲート２１４−３は、後述する処理のために、ライン２２４によって信号調整回路２０６に結合される。
ラッチ２１２−３は、入力２３２−１と２３４を備える。入力２３２−１は、コア１２０から「１Ｘ」データ（AGP）を受信するために結合される。入力２３４は、クロック／ストローブを受信するために出力クロックツリー２１０に結合される。クロックツリー２１０は、メモリクロック／ストローブ（SSTL）、または、「１Ｘ」６６ＭＨｚクロック／ストローブ（AGP）を供給する。ラッチ２１２−３は、ライン２３６によってバッファゲート２１４−４にさらに結合される。さらに、入力２３２−２は、バッファゲート２１４−５に直接結合され、これによって、ラッチ２１２−３をバイパスする。
ラッチ２１２−１から２１２−３は、次のクロック／ストローブで解除されるまで、コア１２０からのデータを捕捉して保持する。バッファゲート２１４−１と２１４−５は、信号調整回路２０６に追加の電流駆動を供給して、データ捕捉回路２０４が過負荷になるのを防止する。出力クロックツリー２０８と２１０は、倍レートクロック／ストローブと、単レートクロック／ストローブをそれぞれ配信する。倍レートクロック／ストローブは、単レートクロック／ストローブの２倍の周波数で動作する（図１Ｂ）。倍レートクロック／ストローブと、単レートクロック／ストローブのいずれも、例えば、コア１２０内の位相ロックループ（PLL）から生成することができる。
信号調整回路２０６は、プリドライバ（前置ドライバ）２４０、電圧許容回路（voltage tolerant circuit）２４２、ドライバ回路２４４、スイッチングウェル（switching well）２４６、及びプルアップ／プルダウン回路２４８を備える。プリドライバ２４０は、ライン２２４を介してバッファゲート２１４−１から２１４−５に結合される。プリドライバ２４０は、入力２５０−１、２５０−２及び２５０−３を備える。入力２５０−３は、プリドライバ２４０をイネーブルにするための出力イネーブル信号を受信するように結合される。以下の表Ｉに従って、パッド１１０−１において電圧選択、及び電力構成をそれぞれ供給するために、ライン２５０−１は電圧選択信号（「VSEL」）を、ライン２５０−２はドライブ選択信号（「DRIVESELECT」）を供給する。
0004363668.tif 000002
表Ｉには、パッド１１０−１の電圧選択及び電力構成が示されている。パッド１１０−１の電圧／電力構成を選択するために、従来のCMOSロジック（例えば、NAND、NORゲート）を使用して、信号VSELとDRIVESELECTを共にゲートすることができる。パッド１１０−１のドライブは、例えば、並列に結合された所定数のCMOSゲート／バッファ（不図示）をオン／オフすることによって調整される。電源ＶDIO、ＶDDD、及びＶDDは、図６と共にさらに詳しく後述する。ＶDIOをＶDDDよりも高くすることはできないということに留意されたい。
電圧許容回路２４２は、データ捕捉回路２０４からデータを受信するために、ライン２５２によってプリドライバ２４０に結合される。電圧許容回路２４２は、また、ライン２５４によってスイッチングウェル２４６に、ライン２５６によってリークイネーブル信号に結合される。
本発明は、複数の動作電圧（例えば、３．３Ｖ、３．３Ｖ／２．５Ｖ、５Ｖ）で動作する。電圧許容回路２４２は、３ボルトプロセス技術を使用している場合に、データバッファ１３０に５ボルト耐性を与える。例えば、電圧が混合している環境において、データバッファ１３０は、出力を３ボルト（高）と０ボルト（低）に駆動することができる。しかしながら、データバッファ１３０を駆動する外部ソースは、出力を３ボルト（高）または５ボルト（高）に駆動することができる。外部ソースが０ボルトと３ボルトを切り換えるときに、データバッファ１３０の動作は影響を受けないが、外部ソースが５ボルトになると、内部の３ボルト電源とショートするという電圧問題、または、内部デバイスの故障が発生しうる。電圧許容回路２４２は、これらの問題を克服するように設計される。電圧許容回路２４２は、「Voltage Tolerant Input/Output Buffer」と題した、1997年2月19日提出の米国特許出願第08/801,002号が対象としている事項である。この出願の内容は、本明細書に参考として組み込まれている。
ドライバ回路２４４は、ライン２５８によって電圧許容回路２４２に結合されている。ドライバ回路２４４は、パッド１１０−１の電圧を調整するためにコア１２０からの組み合わされたVSEL/DRIVESELECT信号を受信するための入力２６０を備えている。ドライバ回路２４４は、制御電圧ＶDIOを受信するための入力２６２を備えている。
スイッチングウェル２４６は、ライン２５４によって電圧許容回路２４２に結合されており、パッド１１０−１の電圧と電源（例えば、VDDD）とを切り換えるために、例えば、ｐMOSロジックを備えている。スイッチングウェル２４６の出力は、また、パッド１１０−１とプルアップ／プルダウン回路２４８にライン２４９を介して結合される。スイッチングウェル２４６は、パッド１１０−１の電圧を電源電圧と比較して、スイッチングウェル２４６にこれら２つの電圧のうちの高い方を切り換えるために、電圧許容回路２４２及びドライバ回路２６２と共に動作する。プルアップ／プルダウン回路２４８は、プルアップ信号とプルダウン信号を受信するために、ライン２４８−１と２４８−２にそれぞれ結合される。
プルアップ／プルダウン回路２４８は、プルアップ抵抗とプルダウン抵抗（不図示）を備える。プルアップ抵抗は、パッド１１０−１の電圧をプルアップする（引き上げる）ために使用される。プルダウン抵抗は、パッド１１０−１の電圧をプルダウンする（引き下げる）ために使用される。プルアップ信号により、プルアップ抵抗がイネーブル／ディセーブル（有効／無効）にされる。プルダウン信号により、プルダウン抵抗がイネーブル／ディセーブルにされる。これらの信号は、ライン２５６上の出力イネーブル信号と共に使用されなければならず、同時にイネーブルになってはならないということに留意されたい。
追加の信号をデータバッファ１３０に供給することができるということに留意されたい。例えば、AGPとDDR/SSTLを切り換えるために、AGP選択信号をデータバッファ１３０に供給することができる。また、データ捕捉回路２０４内のラッチ２１２−１から２１２−３をバイパスするために、データバッファ１３０にバイパス信号を供給することができる。バイパス信号を、例えば、従前のプロトコルとの互換性を提供するために使用することができる。AGP信号とバイパス信号を、例えば、CMOS論理ゲート（例えば、NAND、NOR）の組み合わせによって生成することができる。
上述した出力回路２００は、動作しているプロトコルとの実行中における適合性を維持しつつ（すなわち、プロトコルに従って動作しつつ）、コア１２０とパッド１１０−１間を伝送する信号をバッファリングするための、柔軟性があり、かつ信頼性が高いＩ／Ｏインターフェースを提供する。詳しくは、出力回路２００により、TTLフォーマット（PCI）、エッジ中心フォーマット（AGP、DDR）、またはウィンドウ−ストローブモードにおいて、信号を外部の高周波数バスに正確なタイミング制御で配信することが可能となる。出力クロックツリー２０８及び２１０は、クロックパラメータ（例えば、スキュー、デューティサイクル、立ち上がり／たち下がり時間）の厳密な制御を提供する専用物理レイアウトを使用して設計されるということに留意されたい。
図２Ｂに、本発明に従う入力回路２０２を示す。入力回路２０２は、データ捕捉回路２０３と信号調整回路２０５を備える。
信号調整回路２０５は、差動増幅器２６４とシュミットトリガ（シュミット回路）２６６を備える。差動増幅器２６４は、入力２６４−１から２６４−４を有する。入力２６４−１は、パッド１１０−１からの差動入力信号（例えば、DDR/SSTL）を受信するためのものである。入力２６４−２は、チップ外で生成される基準電圧（以下では、「VREF」とも記載）に結合される。入力２６４−３は、チップ上で生成されるバイアス電圧（以下では、「ＶBIAS」とも記載）に結合される。バイアス電圧は、例えば、差動増幅器２６４内の電流源を生成するカレントミラーによって設定される。入力２６４−４は、差動増幅器２６４への電力供給を切断する（パワーダウンする）パワーダウン信号に結合される。
差動増幅器２６４は、パッド１１０−１の電圧信号を基準電圧と比較して、その電圧が基準電圧より大きい場合には論理１を、その電圧が基準電圧より小さい場合には論理０を生成する。DDR/SSTLフォーマット信号に対するピークツーピーク電圧振幅は、一般的には約０．８ボルトであり、基準電圧は、一般的には約１．５ボルトである。
シュミットトリガ２６６は、入力２６６−１と２６６−２を備える。入力２６６−１は、パッド１１０−１からTTLフォーマット信号を受信するためのものである。入力２６６−２は、シュミットトリガ２６６への電力供給を切断するためのパワーダウン信号に結合される。シュミットトリガ２６６は、ライン２７２を介してコア１２０にTTLフォーマット信号を供給する。TTLフォーマット信号を受信しないときには、ライン２７２を論理０に設定することができる。
シュミットトリガ２６６は、例えば、パッド１１０−１において、ジッタの多い、または、ゆっくりと変化する波形から、きれいなエッジを得るためにヒステリシスを使用し、それによって、高速なレベル遷移を提供する従来回路である。
データ捕捉回路２０３は、ラッチ２６８−１から２６８−３と、入力クロックツリー２７０（以下では、「ICLK」とも記載）を備える。入力クロックツリー２７０は、外部ソースによってチップ外で生成されるバッファリングされたクロック／ストローブを供給するということに留意されたい。ラッチ２６８−１は、差動増幅器２６４から信号を受信するために、ライン２７４により、差動増幅器２６４の出力に結合される。ラッチ２６８−１の入力２７６は、クロック／ストローブを受信するために、入力クロックツリー２７０に結合される。さらに、ライン２７８は、クロック／ストローブの負極性エッジでデータを供給するために、ラッチ２６８−１の出力に結合される。
ラッチ２６８−２の入力は、ライン２８０により、ラッチ２６８−１の出力に結合される。ラッチ２６８−２の入力２８２は、反転されたクロック／ストローブを受信するためにクロックツリー２７０に結合される。ライン２８４は、クロック／ストローブの次の正極性エッジでデータを供給するために、ラッチ２６８−２の出力に結合される。
ラッチ２６８−３は、ライン２８６を介して、差動増幅器２６４からデータを受信するように結合される。ラッチ２６８−３の入力２８８は、反転されたクロック／ストローブを受信するために、クロックツリー２７０に結合される。ラッチ２６８−３の出力に結合されたライン２９０は、反転されたクロック／ストローブの次の正極性エッジでデータを供給する。
上述した入力回路２０２は、動作しているプロトコルに実行中に適合しつつ、コア１２０とパッド１１０−１間を伝送する信号をバッファリングするために、柔軟性があり、かつ信頼性の高いＩ／Ｏインターフェースを提供する。詳しくは、入力回路２０２により、ウインドウ−ストローブモード（DDR）または、エッジストローブモード（AGP）で受信されたデータを確実に捕捉することができるようになる。代替的には、入力回路２０２は、PCIプロトコルを実行しているバスからデータを捕捉する。入力クロックツリー２７０は、クロックパラメータ（例えば、スキュー、デューティサイクル、立ち上がり／たち下がり時間）を厳密に調整することを可能とする専用物理レイアウトを使用して設計されるということに留意されたい。
図３に、本発明に従う、クロック／ストローブバッファ１４０−１の１実施態様の機能ブロック図を示す。クロック／ストローブバッファ１４０−１は、差動増幅器３００，プログラム可能な遅延モジュール３０２、ゲートバッファ３０４、シュミットトリガ３０６、及びスイッチングウエル３０８を備える。クロック／ストローブバッファ１４０−１は、また、出力クロックツリー３１０，出力クロックツリー３１２、及び入力クロックツリー３１４を備える。
クロック／ストローブバッファ１４０−１は、データバッファ１３０で使用されるパッド１１０−２からの（例えば、遅延した）外部クロック／ストローブを調整するためのプログラム可能な回路を備えた入力バッファである。この回路は、さらに詳細に後述するように、０．２５μＣＭＯＳ技術を使用して実装することが好ましい。
差動増幅器３００は、入力３００−１から３００−４を有する。入力３００−１は、パッド１１０−２から差動クロック／ストローブ信号（たとえば、DDR/SSTL）を受信する。入力３００−２は、チップ外で生成された基準電圧に結合される。入力３００−３は、チップ上で生成されたバイアス電圧に結合される。バイアス電圧は、例えば、カレントミラーにより、差動増幅器３００内の電流源を生成することによって設定される。入力３００−４は、差動増幅器３００をパワーダウンさせるためのパワーダウン信号に結合される。
差動増幅器３００は、パッド１１０−２上の信号の電圧を、基準電圧と比較して、その電圧が、基準電圧より大きければ論理１を生成し、その電圧振幅が基準電圧よりも小さければ論理０を生成する。ピークツーピークの電圧振幅は、典型的には約０．８ボルトであり、基準電圧は、典型的には、約１．５ボルトである。
プログラム可能な遅延モジュール３０２は、クロック／ストローブを受信するためにライン３１６により、差動増幅器３００に結合される。プログラム可能な遅延モジュール３０２の入力３１８は、クロック／ストローブに加えられるべき遅延をプログラムするために使用される複数のプログラムビットを受信するよう結合される。これらのビットは、プログラム可能な遅延値の範囲を示しており、例えば、００００は、最小の遅延を生成することを意味し、１１１１は、最大の遅延を生成することを意味する。加えられるべき遅延量は、プロトコルによって決定される。遅延は、受信データとクロック／ストローブとの間のスキューを除去して、信頼性の高いデータ捕捉を保証するように加えられる。
ゲートバッファ３０４は、ライン３２０により、プログラム可能な遅延モジュール３０２に結合される。ゲートバッファ３０４は、また、パッド１１０−２上にバッファリングされたクロックを供給する入力クロックツリー３１４にも結合される。例えば、パッド１１０−２のクロック／ストローブは、データバッファ１３０に送られる２つの１６ビットグループからなる３２ビットのバッファリングされたクロック／ストローブにゲート入力される。ゲートバッファ３０４は、さらに、コア１２０からクロック／ストローブ有効信号を受信するためにライン３２２に、また、パッド１１０−２上のクロック／ストローブをコア１２０に直接送るためにライン３２４に結合される。
シュミットトリガ３０６は、入力３０６−１と３０６−２を有し、ライン３２６によりゲートバッファ３０４に結合される。入力３０６−１は、パッド１１０−２からTTLフォーマットのクロック／ストローブを受信する。シュミットトリガ３０６の入力３０６−２は、シュミットトリガ３０６をパワーダウンさせるためのパワーダウン信号に結合される。
シュミットトリガ３０６は、例えば、ヒステリシスを使用して、パッド１１０−２におけるジッタの多い、または、ゆっくりと変化する波形からきれいなクロックを得ることによって、高速なレベル遷移を可能にする従来回路である。
スイッチングウェル３０８は、信号調整回路２０６（図２Ａ）と共に上述したように、５Ｖ許容モードで動作している間に、微細な漏れ経路をイネーブルにするためにリークイネーブル信号を受信するための入力３２８を備える。スイッチングウェル３０８は、ｎ−ウェルの電位を、パッド１１０−２または電源電圧のいずれかよりも高い電位に保持するメカニズムを提供するための回路を備える。
図４Ａと４Ｂに、本発明に従う整合遅延ダミーマルチプレクサを備えた図１Ａのクロック／ストローブバッファの１実施態様の機能ブロック図を示す。クロック／ストローブバッファ１４０−２は、出力回路４００（図４Ａ）と入力回路４０２（図４Ｂ）を備える。出力回路４００と入力回路４０２は、それぞれ、クロック／ストローブをバッファリングして配信するためにパッド１１０−２とコア１２０に結合される。出力回路４００は、文字Ａ及びＢで示す箇所で、入力回路４０２に結合される。
出力回路４００は、ラッチ４０２、マルチプレクサ４０４−１と４０４−２、プリドライバ４０６、電圧許容回路４０８、ドライバ回路４１０、整合遅延ダミーマルチプレクサ４１２、及び出力クロックツリー４１４及び４１６を備える。
ラッチ４０２は、グランド（アース）電源（以下では、「Ｖss」とも記載）、出力信号（TTL）、あるいは、データ／クロック出力クロック（「１Ｘ」SSTL）のいずれかを受信するためにコア１２０に結合された入力４１８を備える。ラッチ４０２は、反転された遅延クロックを受信するために出力クロックツリー４１４に結合された入力４２０を備える。遅延クロックは、例えば、コア１２０内のPLLから得られる。遅延クロックについては、さらに詳しく後述する。
マルチプレクサ４０４−１は、ライン４２２によりラッチ４０２に結合され、また、ライン４２４により整合遅延ダミーマルチプレクサに結合される。ラッチ４０２は、次のクロック／ストローブまでライン４２２上の信号を保持する。マルチプレクサ４０４−１は、また、選択AGP信号を受信するための入力４２６を備える。例えば、選択AGP信号が論理１の場合は、AGPがイネーブルになる。同様に、選択AGP信号が論理０の場合は、SSTLがイネーブルになる。ライン４２５は、ラッチ４０２に結合され、ラッチ４０２をリセットするために使用される。
マルチプレクサ４０４−２は、ライン４２８によってマルチプレクサ４０４−１に結合される。マルチプレクサ４０４−２は、また、入力４３０と入力４３２を備える。入力４３０は、バイパスモードを可能にするためにバイパス信号を受信する。入力４３２は、コア１２０からクロック／ストローブ出力を受信するためにライン４１８に結合される。
プリドライバ４０６は、ライン４３４によりマルチプレクサ４０４−２に結合される。プリドライバ４０６は、入力４３６と入力４３８を備える。入力４３６は、電圧許容回路４０８の出力をイネーブルにするための出力イネーブル信号を受信する。入力４３８は、パッド１１０−２における出力電圧を制御するための電圧選択信号を受信する。
電圧許容回路４０８は、ライン４４０によりプリドライバに結合される。電圧許容回路は、５Ｖ許容モードで動作するときに、微細な漏れ経路をイネーブルにするためのリークイネーブル信号を受信するために入力４４２を備える。電圧許容回路４０８は、「Voltage Tolerant input/output Buffer」と題する、1997年２月19日に出願された、米国特許出願第08/801,002号にさらに詳しく記載されている。この出願の内容は、本明細書に参考として組み込まれている。
ドライバ回路４１０は、ライン４４４によって電圧許容回路４０８に結合される。ドライバ回路４１０は、入力４１０−１から４１０−３を備える。入力４１０−１は、制御電圧ＶDIOを受信する。入力４１０−２は、プルアップ抵抗（不図示）を使用して、パッド１１０−２上の電圧を引き上げるためにプルアップイネーブル信号を受信する。同様に、入力４１０−３は、プルダウン抵抗（不図示）を使用してパッド１１０−２上の電圧を引き下げるためにプルダウンイネーブル信号を受信する。
整合遅延ダミーマルチプレクサ４１２は、ライン４２１によって出力クロックツリー４１６に、及び、ライン４２４によってマルチプレクサ４０４−１に結合される。ダミー遅延マルチプレクサ４１２は、ライン４２１で、単レートのクロック／ストローブを受信する。クロック／ストローブは、図５を参照して後述するように、ダミー遅延マルチプレクサ４１２によって処理される。
上述した出力回路４００は、稼動しているプロトコルに従って動作しながら、コア１２０とパッド１１０−２間を伝送するクロック／ストローブをバッファリングするために、柔軟性があり、信頼性の高いＩ／Ｏインターフェースを提供する。
図４Ｂを参照すると、入力回路４０２は、差動増幅器４４６，ゲートバッファ４４８、シュミットトリガ４５０、バッファ４５２−１から４５２−２、及び、入力クロックツリー４５４を備える。入力回路４０２は、また、図４Ａを参照して前述した出力クロックツリー４１４及び４１６を備える。
差動増幅器４４６は、入力４４６−１から４４６−４を備える。入力４４６−１は、パッド１１０−２から差動クロック／ストローブ信号を受信するためにパッド１１０−２に結合される。入力４４６−２は、チップ上で生成される基準電圧を受信する。入力４４６−３は、チップ外で生成されるバイアス電圧を受信する。入力４４６−４は、差動増幅器４４６をパワーダウンするためのパワーダウン信号を受信する。
ゲートバッファ４４８は、ライン４５６により差動増幅器４４６に結合され、パッド１１０−２にバッファリングされたクロック／ストローブを供給する。ゲートバッファ４４８は、また、クロック／ストローブを介してコア１２０に供給路を提供するライン４５８にも結合される。ゲートバッファは、また、クロック／ストローブ有効信号を受信するための入力４６０を備える。
バッファ４５２−１及び４５２−２は、データ／クロック出力クロック４５３と遅延データ／クロック出力クロック４５５にそれぞれ結合され、これらのクロックに駆動力を与える。バッファ４５２−１は、また、例えばコア１２０内に配置されたPLLにフィードバッククロックを供給するための出力４６２を備える。データ／クロック出力クロック４５３は、「１Ｘ」データ出力クロック（AGP）、クロック出力クロック（「２Ｘ」SSTL）、または、グランドバスＶss（「１Ｘ」SSTLまたはTTL）のいずれかを受信する。遅延データ／クロック出力クロック４５５は、「２Ｘ」データクロック（AGP）、データ出力クロック（SSTL）、または、グランドバスＶss（TTL）のいずれかを受信する。
シュミットトリガ４５０は、パッド１１０−２からTTLフォーマットのクロック／ストローブを受信するための入力４６６を備える。シュミットトリガ４５０は、ライン４６４によってゲートバッファ４４８に結合される。シュミットトリガ４５０は、また、シュミットトリガ４５０をパワーダウンするためのパワーダウン信号を受信するために入力４６８を備える。
シュミットトリガ４５０は、例えば、ヒステリシスを使用して、パッド１１０−２におけるジッタの多い、または、ゆっくりと変化するクロック／ストローブからきれいなクロック／ストローブを得ることによって、高速なレベル遷移を可能にする従来回路である。
上述した入力回路４０２は、稼働中のプロトコルに従った動作を維持しながら、クロック／ストローブをバッファリングして、配信するための柔軟性があり、信頼性の高いＩ／Ｏインターフェースを提供する。クロックツリー４１４，４１６，及び４５４は、クロックパラメータ（例えば、スキュー、デューティサイクル、立ち上がり／たち下がり時間）の厳密な制御を可能にする専用物理レイアウトを使用して設計されるということに留意されたい。
図５に、本発明に従う図４Ａの整合遅延ダミーマルチプレクサ４１２の１実施態様の機能ブロック図を示す。整合遅延ダミーマルチプレクサ４１２は、ラッチ５００−１、５００−２、及びマルチプレクサ５０４を備える。
ラッチ５００−１は、入力５０６と５０８を備える。入力５０６は、コア１２０から得られたデータを受信する。入力５０８は、単レートクロック／ストローブを受信するために、図４Ａと４Ｂに示したクロックツリー４１６に結合される。
ラッチ５００−２は、入力５１０と５１２を備える。入力５１０は、コア１２０から得られたデータを受信する。入力５１２は、反転された単レートクロック／ストローブを受信するために、図４Ａと４Ｂに示したクロックツリー４１６に結合される。
マルチプレクサ５０４は、ラッチされたクロック／ストローブを受信するために、ライン５１４と５１６によってラッチ５００−１と５００−２にそれぞれ結合される。マルチプレクサ５０４は、また、ライン５１８によって、単レートクロック／ストローブにも結合される。単レートクロック／ストローブは、ラッチ５００−１、５００−２、及びマルチプレクサ５０４をトリガするために使用される。マルチプレクサ５０４は、ライン５２０に遅延信号を供給する。
整合遅延マルチプレクサ４１２は、図５に示すように、PLLから得られるストローブと、出力５２０におけるデータ間のスキューを最小限にするために、本質的によく似た遅延を行う。
図６Ａに、本発明に従うバス／ｎ−ウェル構成の１実施態様のレイアウト図を示す。この構成には、複数の金属層（以後、Ｍ２、…Ｍ５とも記載）のうちの少なくとも１つに配置された６個の電力バスと３つのグランドバス、６個のｎ−ウェル、及び、３つのクロックバスCCK_1X、DCK_2X、及びICKが含まれている。クロックバスCCK_1X、DCK_2X、及びICKは、図２Ａ及び２Ｂに示すクロックツリー２１０、２０８、及び２７０にそれぞれ対応する。ｎ−ウェルは、従来のｎ−ウェルＣＭＯＳプロセス技術（例えば、拡散）を使用して、ｎ型基板（ウェーハ）に作成することが好ましい。わかりやすくするために、拡散領域及び回路は、図６Ａ及び６Ｂには示していない。パッド１１０−１上の過渡信号によるラッチアップから保護するために、例えば、保護リングを、ＶDDDまたはＶSSDに接続することができるということに留意されたい。さらに、ノイズ結合を低減するために、データバッファ回路（不図示）を両面に接地するのが好ましい。
電力バスは、正電源ＶDD、ＶDDD、ＶDDW、ＶDIO、ＶREF、及びＶBIASを含む。VDDは、チップ外で生成され、コア１２０内の回路に電力を供給する。VDDDもチップ外で生成され、Ｉ／Ｏリング内のほとんどの回路（例えば、厚いＰ型デバイス）に電力を供給する。ドライバ回路２４４（図２Ａ）とドライバ回路４１０（図４Ａ）の２つが例外であり、これらは、VDIOによって電力を供給される。VDIOは、VDDDから電気的に分離されており、このため、Ｉ／Ｏリング内の他の回路への電力供給を妨げることなくパッド１１０−１と１１０−２上の電圧を調整することができるようになっている。VDDWは、Ｉ／Ｏリング内のスイッチングウェル（図２Ａ）を結合するためのバックアップ電力バスである。通常の動作時には、これらのスイッチングウェルは、Ｉ／Ｏリング内の他の回路に能動的には結合されない。
バス／ｎ−ウェル構成は、さらに、グランドバスVSS、ＶSSUB、及びVSSDを備える。VSSは、コア１２０内の回路に０電圧基準すなわちグランド（アース）を与える。VSSUBは、基板に結合して、回路に０電圧基準を与える。VSSDは、Ｉ／Ｏリング内の回路に０電圧基準を与える。
VREFとVBIASは、差動増幅器２６４（図２Ｂ）、３００（図３）、及び４４６（図４Ｂ）に、基準電圧とバイアス電圧をそれぞれ供給する。VREFは、VDDからチップ外で生成される。VBIASは、チップ上で生成される。
たった今説明した電力バスは、データバッファ１３０とクロック／ストローブバッファ１４０−１及び１４０−２内の回路（例えばｐ型デバイス）に電力を供給するために、少なくとも１つのｎ−ウェル（例えば、VDD、VDDD）にそれぞれ結合される。電力バスは、１つ以上の金属層Ｍ２〜Ｍ５を介して、ｎ−ウェルに結合される。これらの金属層は、例えば、アルミニウムでできている。これらの金属層は、従来技術（例えば、バイア（vias）、ポリシリコン層）を使用して電気的に結合される。
例えば、バスVDDDは、金属層Ｍ4とM5に配置される。これらの金属層は、例えば、金属間相互接続により、VDDDのｎ−ウェルに結合される。同様に、バスVDIOは、金属層Ｍ２〜Ｍ５に配置される。クロックバスCCK_1XとDCK_2Xは、金属層Ｍ4とM5にそれぞれ配置される。
図６Ｂに、本発明に従う図６Ａのレイアウトの断面図を示す。この断面図には、内部に拡散されたｎ−ウェルを有するｐ型基板が示されている。パッド１１０−１と１１０−２は、電力バスVDDとVDDDに電力を供給するために金属層M2〜M5に結合される。電力バスVDDとVDDDは、ｎ−ウェル上に配置されたｐ型デバイスに電力を供給するために、そのｎ−ウェルにさらに結合される。
図７に、本発明に従う、集積回路チップ用のＩ／Ｏアセンブリ７００のいくつかの実施態様のレイアウト図を示す。Ｉ／Ｏアセンブリ７００は、図２〜７を参照して上述したような、ブレーカーセル（breaker cell）７０２、データセル７０４、及びクロックツリーICK、DCK_2X、及びCCK_1Xを備える。データセル７０４は、それぞれ、図２Ａと２Ｂを参照して説明したデータバッファ１３０（不図示）の１実施態様を備える。図７の垂直の破線は、追加のデータセル７０４をＩ／Ｏアセンブリ７００に加えることができるということを示していることに留意されたい。
ブレーカーセル７０２は、図７に示すようにデータセル７０４の上部と下部に配置される。ブレーカーセル７０２は、クロックツリーCCK_1X、DCK_2X、及びICKを分離して、異なるプロトコルを同期モードで実行することができるよにする。例えば、ブレーカーセル７０２−１とブレーカーセル７０２−２は、クロックツリーCCK_1Xのワイヤセグメントを、隣のCCK_1Xのワイヤセグメント（７０２−１）、及びVSS（７０２−２）に接続されたCCK_1Xのワイヤセグメントから分離する。非同期モードで動作している間、３つのすべてのクロックツリーは、データセル７０４から切り離されていることに留意されたい。
Ｉ／Ｏアセンブリ７００の１実施態様では、データセル７０４−１は、図２Ａ及び２Ｂを参照して説明したように、コア１２０またはパッド１１０−１からのデータ信号を捕捉してバッファリングするために、クロックツリーICK、DCK_2X、及びCCK_1Xに結合される。Ｉ／Ｏアセンブリ７００の他の実施態様では、データセル７０４−２は、図２Ａ及び２Ｂを参照して説明したように、コア１２０からの出力データ信号を倍クロックレートで捕捉するために出力クロックツリーDCK_2Xに結合される。Ｉ／Ｏアセンブリ７００のさらに他の実施態様では、データセル７０４−３は、図２Ａ及び２Ｂを参照して説明したように、コア１２０からの出力データ信号を、単クロックレートまたは倍クロックレートのいずれかで捕捉するために、出力クロックツリーCCK_1X及びDCK_2Xに結合される。Ｉ／Ｏアセンブリ７００のさらに他の実施態様では、データセル７０４−４は、図２Ａ及び２Ｂを参照して説明したように、パッド１１０−１からの入力データ信号を捕捉するために、入力クロックツリーICKに結合される。
図８に、本発明に従う、AGP用のＩ／Ｏアセンブリ８００の１実施態様のレイアウト図を示す。図２〜７を参照して説明したように、Ｉ／Ｏアセンブリ８００は、ブレーカーセル８０２、データセル８０４、及びクロックツリーICK、DCK_2X、及びCCK_1Xを備える。データセル８０４は、図２Ａ及び２Ｂを参照して説明したデータバッファ１３０（不図示）の実施態様を備える。すでに示したように、垂直の破線は、追加のデータセル８０４を、Ｉ／Ｏアセンブリ８００に加えることができるということを示している。
ブレーカーセル８０２は、クロックツリーCCK_1X、DCK_2X、及びICKを分離して、異なるプロトコルを同期モードで実行することができるようにする。非同期モードで動作している間、３つのすべてのクロックツリーは切り離されているということに留意されたい。図２Ａ及び２Ｂを参照して説明したように、データセルは、AGPプロトコルを使用して、コア１２０またはパッド１１０−１からのデータ信号を捕捉し、バッファリングするために、クロックツリーICK、DCK_2X、及びCCK_1Xに結合される。
図９に、本発明に従う、DDR用のＩ／Ｏアセンブリ９００の１実施態様のレイアウト図を示す。Ｉ／Ｏアセンブリ９００は、図２〜７を参照して説明したように、ブレーカーセル９０２、データセル９０４、及びクロックツリーICK、DCK_2X、及びCCK_1Xを備える。データセル９０４は、図２Ａ及び２Ｂを参照して説明したデータバッファ１３０（不図示）の実施態様を備える。すでに示したように、垂直の破線は、追加のデータセル９０４をＩ／Ｏアセンブリ９００に加えることができるということを示している。
ブレーカーセル９０２は、クロックツリーCCK_1X、DCK_2X、及びICKを分離して、異なるプロトコルを同期モードで実行することができるようにする。この場合も、３つのすべてのクロックツリーは、非同期モードで動作してい間、切り離されることに留意されたい。データセルは、図２Ａ及び２Ｂを参照して説明したように、DDRプロトコルを使用してコア１２０からのデータ信号を捕捉してバッファリングするために、出力クロックツリーDCK_2X及びCCK_1Xに結合される。
本発明をその所定の好適な実施態様に関して詳細に説明したが、他の実施態様も可能である。例えば、本発明に適用可能な他のプロトコル及び信号仕様を開発することができる。同様に、代替の専用レイアウト及びプロセス技術を使用して本発明を実施することができる。従って、請求の範囲の思想及び範囲は、本明細書の好適な実施態様に限定されるものではない。
【図１Ａ】
0004363668.tif 000003
【図１Ｂ】
0004363668.tif 000004
【図２Ａ】
0004363668.tif 000005
【図２Ｂ】
0004363668.tif 000006
【図３】
0004363668.tif 000007
【図４Ａ】
0004363668.tif 000008
【図４Ｂ】
0004363668.tif 000009
【図５】
0004363668.tif 000010
【図６Ａ】
0004363668.tif 000011
【図６Ｂ】
0004363668.tif 000012
【図７】
0004363668.tif 000013
【図８】
0004363668.tif 000014
【図９】
0004363668.tif 000015