(57)【特許請求の範囲】
【請求項１】
集積回路であって、
前記集積回路に配置される回路セルと、前記回路セルに結合されているメモリセルとを備え、
前記回路セルは、
第１のトランジスタ、第２のトランジスタ、第３のトランジスタ、および第４のトランジスタを有し、
前記集積回路の送信領域から、第１のクロック信号に対応付けられているデータ信号の少なくとも一部分を受信し、
前記集積回路の受信領域に対応付けられている第２のクロック信号であって、前記第１のクロック信号と周波数が同じである第２のクロック信号の少なくとも一部分を受信し、
前記データ信号のうち受信した前記少なくとも一部分を前記受信領域に送信し、
前記第１のトランジスタは、前記第２のトランジスタと直列に結合され、
前記第３のトランジスタは、前記第４のトランジスタと直列に結合され、
前記第２のトランジスタのドレイン端末は、前記メモリセルの入力ノードに結合され、
前記第４のトランジスタのドレイン端末は、前記メモリセルの出力ノードに結合され、
前記第１のトランジスタおよび前記第３のトランジスタはそれぞれ、前記データ信号の前記少なくとも一部分を受信し、
前記第２のトランジスタおよび前記第４のトランジスタはそれぞれ、前記第２のクロック信号の前記少なくとも一部分を受信する集積回路。
【請求項２】
前記回路セルはさらに、前記データ信号の前記受信した少なくとも一部分を、前記送信領域に対応付けられている第１の電圧レベルから、前記受信領域に対応付けられている第２の電圧レベルへとレベルシフトする請求項１に記載の集積回路。
【請求項３】
前記第１のクロック信号に対応付けられているデータ信号の前記少なくとも一部分は、前記第１のクロック信号の偶数番号のパルスに対応付けられている前記データ信号の一部分を含み、
前記第２のクロック信号の前記少なくとも一部分は、前記第２のクロック信号の偶数番号のパルスを含む請求項１または２に記載の集積回路。
【請求項４】
前記回路セルに結合されている別の回路セルをさらに備え、
前記別の回路セルは、第５のトランジスタ、第６のトランジスタ、第７のトランジスタおよび第８のトランジスタを有しており、
前記第５のトランジスタは前記第６のトランジスタに直列に結合されており、
前記第７のトランジスタは、前記第８のトランジスタに直列に結合されており、
前記第５のトランジスタおよび前記第７のトランジスタはそれぞれ、前記第１のクロック信号の奇数番号のパルスに対応付けられている前記データ信号の一部分を受信し、
前記第６のトランジスタおよび前記第８のトランジスタはそれぞれ、前記第２のクロック信号の奇数番号のパルスに対応付けられている前記第２のクロック信号の一部分を受信する請求項３に記載の集積回路。
【請求項５】
前記第１のトランジスタおよび前記第３のトランジスタがそれぞれ前記データ信号の前記少なくとも一部分を受信することはさらに、前記第１のトランジスタが前記データ信号の前記少なくとも一部分を受信し、前記第３のトランジスタがインバータを介して前記データ信号の前記少なくとも一部分を受信することを含む請求項１または２に記載の集積回路。
【請求項６】
前記メモリセルは、ループを形成するように循環して結合されている２つのインバータを有する請求項１から５のいずれか一項に記載の集積回路。
【請求項７】
前記第２のクロック信号は、前記第１のクロック信号とインターリーブしている請求項１から６のいずれか一項に記載の集積回路。
【請求項８】
送信される前記データ信号の安定性を改善するべく前記回路セルの出力ノードに結合されるラッチをさらに備える請求項１から７のいずれか一項に記載の集積回路。
【請求項９】
集積回路であって、
前記集積回路に配置される回路セルを備え、
前記回路セルは、
前記集積回路の送信領域から、第１のクロック信号に対応付けられているデータ信号の少なくとも一部分を受信し、
前記集積回路の受信領域に対応付けられている第２のクロック信号であって、前記第１のクロック信号と周波数が同じである第２のクロック信号の少なくとも一部分を受信し、
前記データ信号のうち受信した前記少なくとも一部分を前記受信領域に送信し、
前記第１のクロック信号に対応付けられているデータ信号の前記少なくとも一部分は、前記第１のクロック信号の偶数番号のパルスに対応付けられている前記データ信号の一部分を含み、
前記第２のクロック信号の前記少なくとも一部分は、前記第２のクロック信号の偶数番号のパルスを含み、
前記回路セルに結合されている別の回路セルをさらに備え、
前記別の回路セルは、第５のトランジスタ、第６のトランジスタ、第７のトランジスタおよび第８のトランジスタを有しており、
前記第５のトランジスタは前記第６のトランジスタに直列に結合されており、
前記第７のトランジスタは、前記第８のトランジスタに直列に結合されており、
前記第５のトランジスタおよび前記第７のトランジスタはそれぞれ、前記第１のクロック信号の奇数番号のパルスに対応付けられている前記データ信号の一部分を受信し、
前記第６のトランジスタおよび前記第８のトランジスタはそれぞれ、前記第２のクロック信号の奇数番号のパルスに対応付けられている前記第２のクロック信号の一部分を受信する集積回路。
【請求項１０】
集積回路であって、
前記集積回路に配置される回路セルを備え、
前記回路セルは、
前記集積回路の送信領域から、第１のクロック信号に対応付けられているデータ信号の少なくとも一部分を受信し、
前記集積回路の受信領域に対応付けられている第２のクロック信号であって、前記第１のクロック信号と周波数が同じである第２のクロック信号の少なくとも一部分を受信し、
前記データ信号のうち受信した前記少なくとも一部分を前記受信領域に送信し、
前記回路セルは、第１のトランジスタ、第２のトランジスタ、第３のトランジスタおよび第４のトランジスタを有しており、
前記第１のトランジスタは、前記第２のトランジスタと直列に結合されており、
前記第３のトランジスタは、前記第４のトランジスタと直列に結合されており、
前記第１のトランジスタおよび前記第３のトランジスタはそれぞれ、前記データ信号の前記少なくとも一部分を受信し、
前記第２のトランジスタおよび前記第４のトランジスタはそれぞれ、前記第２のクロック信号の前記少なくとも一部分を受信し、
前記第１のトランジスタおよび前記第３のトランジスタがそれぞれ前記データ信号の前記少なくとも一部分を受信することはさらに、前記第１のトランジスタが前記データ信号の前記少なくとも一部分を受信し、前記第３のトランジスタがインバータを介して前記データ信号の前記少なくとも一部分を受信することを含む集積回路。
【請求項１１】
第１のクロック信号に対応付けられている集積回路（ＩＣ）の送信領域からデータ信号の第１の部分および第２の部分を受信する段階と、
前記ＩＣの受信領域に対応付けられている第２のクロック信号であって、前記第１のクロック信号と周波数が同じである第２のクロック信号の第１の部分および第２の部分を受信する段階と、
前記データ信号の前記第１の部分および前記第２のクロック信号の前記第１の部分に基づいて出力信号の第１の部分を生成する段階と、
前記データ信号の前記第２の部分および前記第２のクロック信号の前記第２の部分に基づいて、前記出力信号の第２の部分を生成する段階とを備え、
前記データ信号の前記第１の部分および前記第２の部分を受信することはさらに、第１のトランジスタおよび第３のトランジスタが、前記データ信号の少なくとも一部分をそれぞれ受信することを有し、
前記第２のクロック信号の前記第１の部分および前記第２の部分を受信することはさらに、第２のトランジスタおよび第４のトランジスタが、前記第２のクロック信号の少なくとも一部分をそれぞれ受信することを有し、
前記第１のトランジスタは、前記第２のトランジスタと直列に結合され、
前記第３のトランジスタは、前記第４のトランジスタと直列に結合され、
前記第２のトランジスタのドレイン端末は、メモリセルの入力ノードに結合され、
前記第４のトランジスタのドレイン端末は、前記メモリセルの出力ノードに結合される方法。
【請求項１２】
前記出力信号の前記第１の部分および前記第２の部分を前記出力信号に多重化する段階をさらに備え、
前記データ信号は、第１の電圧レベルに対応付けられており、前記出力信号は、前記第１の電圧レベルとは異なる第２の電圧レベルに対応付けられている請求項１１に記載の方法。
【請求項１３】
前記第１のクロック信号の第１の部分および第２の部分を生成する段階と、
前記第１のクロック信号の前記第１の部分に基づいて前記データ信号の前記第１の部分を生成する段階と、
前記第１のクロック信号の前記第２の部分に基づいて前記データ信号の前記第２の部分を生成する段階と
をさらに備え、
前記第１のクロック信号の前記第１の部分は、前記第１のクロック信号の偶数番号のクロックサイクルに対応し、前記第１のクロック信号の前記第２の部分は、前記第１のクロック信号の奇数番号のクロックサイクルに対応する請求項１１または１２に記載の方法。
【請求項１４】
前記第２のクロック信号の偶数番号のクロックサイクルに基づいて、前記第２のクロック信号の前記第１の部分を生成する段階と、
前記第２のクロック信号の奇数番号のクロックサイクルに基づいて、前記第２のクロック信号の前記第２の部分を生成する段階と
をさらに備える請求項１１から１３のいずれか一項に記載の方法。
【請求項１５】
前記第２のクロック信号の前記第１の部分は、前記第１のクロック信号の前記第１の部分とインターリーブしており、
前記第２のクロック信号の前記第２の部分は、前記第１のクロック信号の前記第２の部分とインターリーブしている請求項１４に記載の方法。
【請求項１６】
前記出力信号の前記第１の部分および前記第２の部分を生成することはさらに、前記メモリセルの出力ノードにおいて、前記出力信号の前記第１の部分および前記第２の部分を生成することを有する請求項１１から１５のいずれか一項に記載の方法。
【請求項１７】
システムメモリと、
前記システムメモリに通信可能に結合されているプロセッサと
を備え、
前記プロセッサは回路セルと、前記回路セルに結合されているメモリセルとを有し、
前記回路セルは、
第１のトランジスタ、第２のトランジスタ、第３のトランジスタ、および第４のトランジスタを有し、
第１のクロック信号に対応付けられている前記プロセッサの送信領域からデータ信号の少なくとも一部分を受信し、
前記プロセッサの受信領域に対応付けられている第２のクロック信号であって、前記第１のクロック信号と周波数が同じである第２のクロック信号の少なくとも一部分を受信し、
前記送信領域から前記受信領域へと前記データ信号のうち受信した前記少なくとも一部分を送信し、
前記第１のトランジスタは、前記第２のトランジスタと直列に結合され、
前記第３のトランジスタは、前記第４のトランジスタと直列に結合され、
前記第２のトランジスタのドレイン端末は、前記メモリセルの入力ノードに結合され、
前記第４のトランジスタのドレイン端末は、前記メモリセルの出力ノードに結合され、
前記第１のトランジスタおよび前記第３のトランジスタはそれぞれ、前記データ信号の前記少なくとも一部分を受信し、
前記第２のトランジスタおよび前記第４のトランジスタはそれぞれ、前記第２のクロック信号の前記少なくとも一部分を受信するシステム。
【請求項１８】
前記第１のクロック信号に対応付けられている前記データ信号の前記少なくとも一部分は、前記第１のクロック信号のうち偶数番号のパルスに対応付けられている前記データ信号の一部分を含み、
前記第２のクロック信号の前記少なくとも一部分は、前記第２のクロック信号の偶数番号のパルスを含む
請求項１７に記載のシステム。
【請求項１９】
前記メモリセルは、ループを形成するように循環して結合されている２つのインバータを有する請求項１７または１８に記載のシステム。
【請求項２０】
前記２つのインバータで形成されるフィードバックループに結合されている別の回路セルをさらに備え、
前記別の回路セルは、第５のトランジスタ、第６のトランジスタ、第７のトランジスタおよび第８のトランジスタを有し、
前記第５のトランジスタは、前記第６のトランジスタに直列に結合され、
前記第７のトランジスタは、前記第８のトランジスタに直列に結合され、
前記第５のトランジスタおよび前記第７のトランジスタはそれぞれ、前記第１のクロック信号の奇数番号のパルスに対応付けられている前記データ信号の一部分を受信し、
前記第６のトランジスタおよび前記第８のトランジスタはそれぞれ、前記第２のクロック信号の奇数番号のパルスに対応付けられている前記第２のクロック信号の一部分を受信する請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して集積回路に関し、具体的には集積回路内のデータ送信に関する。
【背景技術】
【０００２】
本明細書では特に明記していない限り、このセクションに記載している内容は、本願の特許請求の範囲に対する先行技術ではなく、このセクションに含めることで先行技術と認めるものでもない。
【０００３】
従来のコンピュータシステムのさまざまな構成要素は、一の集積回路（ＩＣ）内に集積化されているとしてよい。ＩＣは、幾つかの領域に分割されており、各領域は、メモリコントローラ（ＭＣ）領域およびダブルデータレート（ＤＤＲ）入出力（Ｉ／Ｏ）領域等、特定機能に特化している。データは、ＭＣ領域からＤＤＲ  Ｉ／Ｏ領域へと、例えば、フリップフロップベースのＦＩＦＯまたはシフトレジスタを介して送信されるとしてよい。これら２つの領域は、動作クロック周波数が同じであるとしてよい。しかし、さまざまな理由から、２つの領域のクロックは、別々のクロックソース、例えば、異なるフェーズロックループ（ＰＬＬ）クロックソースから発生している場合がある。場合によっては、これら２つの領域間のクロックスキューは、各クロックサイクルの５０％を超えてしまう場合がある。クロックスキューに対処するべく、これら２つの領域間で矛盾することなくデータ転送を行うためには、フリップフロップベースのＦＩＦＯのセットアップ時間およびホールド時間の許容誤差を追加する必要がある。セットアップ時間およびホールド時間の要件が長くなると、データ送信経路では遅延が発生するとしてよい。これは、上記２つの領域間でのデータ送信がレイテンシに大きく左右される場合には特に、望ましくない。
【０００４】
さらに、ＩＣのこれら２つの領域は、動作電圧レベルが異なる場合がある。このため、データが受信領域に入力された後に、レベルシフトする必要があるとしてよい。別箇の回路ブロックを用いてデータにレベルシフトを実施すると、遅延がさらに大きくなるとしてよい。
【図面の簡単な説明】
【０００５】
本開示の実施形態は、添付図面に図示している例に基づいて説明される。図示内容は本開示を限定するものではない。添付図面では、同様の構成要素は同様の参照符号で示している。添付図面は以下の通りである。
【図１】本開示のさまざまな実施形態に応じた、集積回路の２つの領域間でデータ送信を行う回路を示すブロック図である。
【図２】本開示のさまざまな実施形態に応じた、当該回路を伝搬する信号のさまざまな波形を示すタイミングチャートである。
【図３】本開示のさまざまな実施形態に応じた、集積回路の送信領域の整形クロック生成部を示すブロック図である。
【図４】本開示のさまざまな実施形態に応じた、集積回路の受信領域の整形クロック生成部を示すブロック図である。
【図５】本開示のさまざまな実施形態に応じた、集積回路の２つの領域間でのデータ送信を行う回路の動作の一部分を示すフローチャートである。
【図６】本開示のさまざまな実施形態に応じた、本明細書で説明する方法および／または装置のさまざまな側面を実施するために利用するのに適したコンピュータシステムの一例を示すブロック図である。
【発明を実施するための形態】
【０００６】
以下に記載する詳細な説明では、本明細書の一部を成す添付図面を参照する。添付図面では、本開示の実施形態を一例として図示している。他の実施形態を利用するとしてもよく、さらに、本開示の範囲から逸脱することなく構造または論理を変更するとしてもよいと理解されたい。このため、以下の詳細な説明は、本開示を限定するものと解釈されるべきではなく、本開示の実施形態の範囲は、特許請求の範囲およびその均等物によって定義される。
【０００７】
さまざまな処理は、本開示の実施形態を理解し易いよう、順番に実行される複数の別箇の処理として説明されるが、説明の順序は、これらの処理の結果が順序に左右されることを暗示するものと解釈されるべきではない。
【０００８】
説明の便宜上、「Ａ／Ｂ」または「Ａおよび／またはＢ」という表現は、（Ａ）、（Ｂ）または（ＡおよびＢ）を意味する。説明の便宜上、「Ａ、ＢおよびＣのうち少なくとも１つ」という表現は、（Ａ）、（Ｂ）、（Ｃ）、（ＡおよびＢ）、（ＡおよびＣ）、（ＢおよびＣ）または（ＡおよびＢおよびＣ）を意味する。説明の便宜上、「（Ａ）Ｂ」という表現は、（Ｂ）または（ＡＢ）を意味し、Ａが任意の要素であることを意味する。
【０００９】
以下の説明では、「ある実施形態において」または「複数の実施形態において」という表現を利用するが、複数の同じ実施形態または異なる実施形態のうち１以上を意味するとしてよい。さらに、「備える」、「有する」、「含む」等の用語は、本開示の実施形態に関して用いられる場合、同義語とする。
【００１０】
以下の説明では、「トランジスタ」、「インバータ」、「フリップフロップ」および「ラッチ」等、さまざまな用語を用いるが、さまざまな実施形態で用いられるさまざまな構成要素を表すものとするとしてよい。これらの構成要素はさまざまな方法で実現されるとしてよく、および／または、同様の機能を持つ構成要素を代りに用いるとしてもよいと理解されたい。例えば、「ラッチ」は、１以上のフリップフロップの一部に基づいて実現されるとしてよく、この逆も可能であるとしてよい。同様に、「インバータ」は、複数のトランジスタに基づいて実現されるとしてよい。さらに、これらの構成要素は、一の特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等に集積されるとしてよい。このため、本開示で用いられる単語は、例示を目的としたものに過ぎず、限定を意図したものではないと解釈されたい。
【００１１】
本開示のさまざまな実施形態は、集積回路の送信領域から、当該集積回路の受信領域へとデータを送信するための回路を説明するとしてよい。当該回路は、適切な電圧レベルまでデータをレベルシフトするとしてよく、クロックスキューに対する許容誤差が良好であるとしてよい。
【００１２】
図１は、本開示のさまざまな実施形態に応じた、集積回路の２つの領域間でのデータ送信を行う回路１００を示すブロック図である。この実施形態では、集積回路（ＩＣ）は、送信領域１１０および受信領域１５０を含むとしてよい。これら２つの領域は、図１では点線１０１として図示している、理論上の境界線によって区別されるとしてよい。境界１０１の左側が送信領域１１０であるとしてよい。送信領域１１０は、例えば、ＩＣのメモリコントローラ（ＭＣ）領域であるとしてよい。境界１０１の右側は、受信領域１５０であるとしてよい。受信領域１５０は、例えば、ＩＣのダブルデータレート入出力（ＤＤＲ  Ｉ／Ｏ）領域であるとしてよい。また、回路１００は、当該ＩＣの他の領域間でのデータ送信にも用いられるとしてよい。
【００１３】
本開示のさまざまな実施形態によると、送信領域１１０はクロック信号１１１を供給するクロックソース（不図示）に対応付けられているとしてよく、受信領域１５０は、クロック信号１５５を供給する別のクロックソース（不図示）に対応付けられているとしてよい。クロック信号１１１およびクロック信号１５５は、周波数が同じであるとしてよい。しかし、クロック信号１１１およびクロック信号１５５は、互いに相対的に、時間および／または位相においてスキューが発生しているとしてよい。
【００１４】
本開示のさまざまな実施形態によると、送信領域１１０および受信領域１５０は、動作電圧レベルが異なるとしてよい。例えば、送信領域１１０の構成要素は概して、第１の電圧レベルで動作するとしてよく、受信領域１５０の構成要素は概して、第１の電圧レベルよりも高いかまたは低い第２の電圧レベルで動作するとしてよい。しかし、特定の例外が当てはまる場合があるとしてよく、本開示の後半部分でより詳細に説明する。
【００１５】
本開示のさまざまな実施形態によると、回路１００は送信領域１１０から受信領域１５０へとデータ信号１３０を伝搬させるとしてよい。回路１００は、送信領域において、ラッチ１２２および１２３を備えるとしてよく、任意でフリップフロップ１２１を備えるとしてよい。フリップフロップ１２１は、フリップフロップ１２１のＱ端子でクロック信号１１１を受信するとしてよい。フリップフロップ１２１は、データ信号１３０をクロック信号１１１に対して同期させて、データ信号１３１を生成するとしてよい。データ信号１３１はこの後、ラッチ１２２および１２３に供給するとしてよい。本開示の一部の実施形態によると、フリップフロップ１２１に代えてラッチまたは同様の構成要素を利用するとしてもよい。本開示の一部の他の実施形態によると、データ信号１３０は、フリップフロップ１２１を経由することなく、ラッチ１２２および１２３と直接通信可能に結合されているとしてよい。
【００１６】
本開示のさまざまな実施形態によると、ラッチ１２２は、クロック信号１１２を受信するとしてよく、データ信号１３２を出力するとしてよい。クロック信号１１２は、クロック信号１１１に基づいた信号であるとしてよい。特に、クロック信号１１２は、クロック信号１１１の偶数クロックサイクルを追跡するクロック信号であるとしてよい。例えば、クロック信号１１１のパルスがタイミング０、１、２、３、４、５、６、・・・でＨＩＧＨになる場合、クロック信号１１２は、最初のパルスがＨＩＧＨになるのは、タイミング０またはタイミング０の直後であるとしてよく、タイミング２、４、６等まで、または、タイミング２、４、６等の直後までパルスはＨＩＧＨにならないとしてよい。したがって、ラッチ１２２は、クロック信号１１１の偶数クロックサイクル毎にデータ信号１３１を取得するとしてよい。偶数クロックサイクル同士の間は、データ信号１３２は、クロック信号１１１の次の偶数クロックサイクルが開始されるまで、そのデータレベルを維持するとしてよい。言い換えると、クロック信号１１２は、全ての偶数クロックサイクルについてのクロック信号１１１のスナップショットであってよく、データ信号１３２は、クロック信号１１１の偶数クロックサイクルにおけるデータ信号１３１のスナップショットであってよい。
【００１７】
同様に、ラッチ１２３は、クロック信号１１３を受信するとしてよく、データ信号１３３を出力するとしてよい。クロック信号１１３は、クロック信号１１１の奇数クロックサイクルに基づくクロック信号であってよく、パルスがＨＩＧＨになるのは、クロック信号１１１のパルスがＨＩＧＨになるタイミング１、３、５等、または、これらのタイミングの直後であるとしてよい。データ信号１３３は、クロック信号１１１の奇数クロックサイクルにおけるデータ信号１３１のスナップショットであるとしてよい。
【００１８】
本開示の一部の実施形態によると、上述した例が示すように、ラッチ１２２および１２３の両方がＨＩＧＨトランスペアレントラッチであるとしてよい。つまり、ラッチ１２２および１２３の出力はクロック信号１１２およびクロック信号１１３の立ち上がりエッジに従ったものになるとしてよい。他の実施形態によると、クロック信号１１２および１１３が適宜調整される限りにおいて、ＬＯＷトランスペアレントラッチ、ＨＩＧＨトランスペアレントラッチおよびＬＯＷトランスペアレントラッチの組み合わせ、または、その他の種類のラッチを利用するとしてもよい。
【００１９】
本開示のさまざまな実施形態において、回路１００は、受信領域１５０において、メモリセル１７０、第１の回路セル１６０、第２の回路セル１８０、および、任意のラッチ１７３を備えるとしてよい。メモリセル１７０ならびに回路セル１６０および１８０は、図１において、点線で示すボックスとして図示している。
【００２０】
本開示のさまざまな実施形態によると、メモリセル１７０は、回路セル１６０および１８０に結合されているとしてよい。メモリセル１７０は、入力ノード１５６および出力ノード１５３を有するとしてよい。メモリセル１７０は、スタティックランダムアクセスメモリ（ＲＡＭ）セルまたはダイナミックＲＡＭセル、または、他の種類のメモリセルと同様に、信号を格納する構成要素を含むとしてよい。一部の実施形態によると、例えば、図示しているように、メモリセル１７０は２つのインバータを円形に接合してインバータフィードバックループを形成するとしてよい。当該ループは、スタティックＲＡＭ（ＳＲＡＭ）セルと同様の機能を持つとしてよい。
【００２１】
本開示のさまざまな実施形態によると、回路セル１６０は、トランジスタ１６１、１６２、１６３および１６４を備えるとしてよい。図示しているように、さまざまな実施形態では、トランジスタ１６１−１６４はＮ型トランジスタであってよい。トランジスタ１６１のソース端末は、トランジスタ１６２のドレイン端末に結合されているとしてよく、トランジスタ１６３のソース端末は、トランジスタ１６４のドレイン端末に結合されているとしてよい。トランジスタ１６１のドレイン端末は、メモリセル１７０の入力ノード１５６に結合されているとしてよく、トランジスタ１６３のドレイン端末は、メモリセル１７０の出力ノード１５３に結合されているとしてよい。トランジスタ１６２および１６４のソース端末は、Ｖｓｓまたはグラウンドに結合されているとしてよい。本開示の他の実施形態によると、トランジスタ１６１−１６４はＰ型トランジスタであってもよく、当業者の理解にしたがって、トランジスタ１６１−１６４のさまざまな端末は、これに応じて配置されるとしてよい。
【００２２】
本開示のさまざまな実施形態によると、トランジスタ１６１はゲート端末を介してクロック信号１５２を受信するとしてよい。送信領域のクロック信号１１２と同様に、クロック信号１５２は、クロック信号１５５の偶数クロックサイクルに同期されるクロック信号であってよい。特定の実施形態によると、図示したように、クロック信号１５５のパルスがＨＩＧＨまたはＬＯＷのいずれであるかに応じて、トランジスタ１６１は反転クロック信号１５２を受信するとしてよい。
【００２３】
本開示のさまざまな実施形態によると、トランジスタ１６２は、ゲート端末において、データ信号１３２を受信するとしてよい。クロック信号１５２に応じて、トランジスタ１６１のゲート端末における電圧レベルがＨＩＧＨである場合、トランジスタ１６１がオンになるとしてよい。この結果、トランジスタ１６２とメモリセル１７０の入力ノード１５６とが電気的に結合される。データ信号１３２がＨＩＧＨである場合（例えば、データ信号１３２が「１」である場合）、トランジスタ１６２がオンになるとしてよい。この結果、メモリセル１７０の入力ノード１５６において電圧レベルが下がり、出力ノード１５３においてＨＩＧＨとなる（例えば、出力ノード１５３もまた「１」となる）。
【００２４】
トランジスタ１６３は、ゲート端末を介して、クロック信号１５２を受信するとしてよい。トランジスタ１６４は、インバータ１６９を介して、ゲート端末において、データ信号１３２の反転バージョンを受信するとしてよい。クロック信号１５２に応じて、トランジスタ１６３のゲート端末における電圧レベルがＨＩＧＨである場合、トランジスタ１６３がオンになるとしてよい。この結果、トランジスタ１６４がメモリセル１７０の出力ノード１５３と電気的に結合されるとしてよい。データ信号１３２がＬＯＷである場合（例えば、データ信号１３２が「０」である場合）、インバータ１６９のために、トランジスタ１６２がオンになるとしてよい。この結果、メモリセル１７０の出力ノード１５３における電圧レベルが下がり、出力ノード１５３がＬＯＷになる（例えば、出力ノード１５３もまた「０」になる）。
【００２５】
トランジスタ１６１および１６３のゲート端末における電圧レベルがＬＯＷである場合、トランジスタ１６１および１６３がオフになるとしてよい。この結果、トランジスタ１６２および１６４がメモリセル１７０から切り離され、データ信号１３２がメモリセル１７０の出力から分離する。したがって、クロック信号１５２に応じて、トランジスタ１６１−１６４は協働して、メモリセル１７０に、出力ノード１５３において、データ信号１３２の遅延したバージョンである出力信号を生成させるとしてよい。さらに、ノード１５３における出力信号は、受信領域１５０の電圧レベルに等しくなるようにレベルシフトされるとしてよい。
【００２６】
本開示のさまざまな実施形態によると、第２の回路セル１８０はデータ信号１３３を受信するとしてよい。回路セル１８０は、回路セル１６０と同様に、トランジスタ１６５−１６８を含むとしてよく、回路セル１６０に含まれるトランジスタ１６１−１６４と同様の構造を持つとしてよい。しかし、トランジスタ１６５および１６８は、クロック信号１５５の奇数クロックサイクルに基づいたクロック信号１５１を受信するとしてよい。クロック信号１５１に応じて、トランジスタ１６１−１６４と同様に、トランジスタ１６５−１６８は協働して、メモリセル１７０に、出力ノード１５３において、データ信号１３３を遅延させたバージョンである出力信号を生成させるとしてよい。したがって、出力ノード１５３における信号は、クロック信号１５５の偶数クロックサイクルではデータ信号１３２に基づいた信号であるとしてよく、クロック信号１５５の奇数クロックサイクルではデータ信号１３３に基づいた信号であるとしてよい。信号１５５の偶数クロックサイクルおよび奇数クロックサイクルが出力ノード１５３において多重化されると、ノード１５３における出力信号は、送信領域から送信されたデータ信号１３０に遅延およびレベルシフトが発生したものであるとしてよい。
【００２７】
本開示のさまざまな実施形態によると、図示しているように、ラッチ１７３は、多重化された出力ノード１５３に結合されているとしてよく、クロック信号１５５を受信するとしてよい。ラッチ１７３はさらに、出力信号を安定化させて、データ信号１５４を生成するとしてよい。データ信号１５４は、レベルシフトされてクロックのスキューが除去された後、受信領域１５０の残りの部分を伝搬するとしてよい。他の実施形態によると、ラッチ１７３は必要でないとしてよい。
【００２８】
受信領域１５０の側の構成要素の大半は受信領域１５０の電圧レベルで動作するが、本開示のさまざまな実施形態によると、トランジスタ１６２、１６４、１６６および１６８は、ゲート端末において、送信領域１１０の電圧レベルで信号を受信するとしてよい。さまざまな実施形態によると、トランジスタ１６２、１６４、１６６および１６８は、送信領域１１０と受信領域１５０との間の電圧レベルの差に基づいて構成されるとしてよい。さらに、トランジスタ１６１−１６８はＮ型トランジスタとして説明されているが、トランジスタ１６１−１６８はＰ型トランジスタであってもよく、Ｎ型トランジスタおよびＰ型トランジスタの両方が混合しているとしてもよい。トランジスタ１６１−１６８は、サイズが同じであってもよいし、そうでなくてもよい。
【００２９】
図２は、本開示のさまざまな実施形態に応じた、回路１００を伝搬する信号のさまざまな波形を図示するタイミングチャートである。クロック信号１１１、１１２、１５２、１１３および１５１、ならびに、データ信号１３２、１３３、ならびに、出力ノード１５３におけるメモリセル１７０の出力信号、ならびに、データ信号１５４の波形を図示している。本開示のさまざまな実施形態によると、クロック信号１１２、１１３、１５２および１５１は、パルスがＨＩＧＨまたはＬＯＷのいずれであってもよい。例えば、図２に図示しているように、クロック信号１１２および１１３はパルスがＨＩＧＨであり、クロック信号１５２および１５１のパルスはＬＯＷであるとしてよい。
【００３０】
本開示のさまざまな実施形態によると、図示されているように、送信領域１１０と受信領域１５０との間にクロックスキューが発生していない理想的なケースでは、送信領域のクロック信号１１１および受信領域のクロック信号１５５は同一であるとしてよい。さらに、クロック信号１５２のパルスは、クロック信号１１２のパルスに追従するとしてよく、クロック信号１５１のパルスはクロック信号１１３のパルスに追従するとしてよい。このように、クロック信号１１２、１５２、１１３および１５１は、互いにインターリーブされるとしてよい。例えば、第１のクロックサイクルにおいて、クロック信号１１３および１５１が平坦な状態を維持する一方、クロック信号１１２のパルスはクロックサイクルの前半においてＨＩＧＨまたはＬＯＷになるとしてよく、クロック信号１５２のパルスはクロックサイクルの後半においてＨＩＧＨまたはＬＯＷになるとしてよい。第２のクロックサイクルにおいて、クロック信号１１２および１５２が平坦な状態を維持する一方、クロック信号１１３のパルスはクロックサイクルの前半においてＨＩＧＨまたはＬＯＷになるとしてよく、クロック信号１５１のパルスはクロックサイクルの後半においてＨＩＧＨまたはＬＯＷになるとしてよい。
【００３１】
本開示のさまざまな実施形態によると、送信領域１１０と受信領域１５０との間にクロックスキューが発生している場合、回路１００はホールドスキューおよびセットアップスキューの許容誤差が大きくなるとしてよい。ホールドスキュー許容誤差を証明するべく、クロック信号１１２が対応するクロック信号１５２よりも早く立ち下がるとしてよい。出力ノード１５３におけるデータ信号は、クロック信号１１２がクロック信号１５２よりも早いがその差が１クロックサイクル以下である限り、依然として正しい値を持つとしてよい。同様に、出力ノード１５３におけるデータ信号は、クロック信号１１３がクロック信号１５１よりも早いがその差が１クロックサイクル以下である限り、依然として正しい値を持つとしてよい。セットアップスキューの許容誤差を証明するべく、クロック信号１１２および１１３がそれぞれ、クロック信号１５２、１５１よりも後に立ち下がるとしてよい。出力ノード１５３におけるデータ信号は、フリップフロップ１２１が受信領域に近接した配置されていると仮定すると、クロック信号１１２または１１３がクロック信号１５２または１５１より遅いがその差が１クロックサイクルの半分以下である限りにおいて、依然として正しい値を持つとしてよい。したがって、回路１００は、ホールドスキューの許容誤差が１クロックサイクルに略等しいとしてよく、セットアップスキューの許容誤差がクロックサイクルの略半分であるとしてよいさまざまな実施形態によると、セットアップスキューの許容誤差は、クロックサイクルおよびデータ伝搬遅延に関連しているとしてよい。このため、セットアップスキューの許容誤差は、クロックサイクルの半分より大きくても小さくてもよい。
【００３２】
図３は、本開示のさまざまな実施形態に応じた、集積回路の送信領域１１０の整形クロック生成部３００を説明するためのブロック図である。整形クロック生成部３００は、図２に図示しているように、クロック信号１１１、１１２および１１３と同様のクロック信号を生成するとしてよい。本開示のさまざまな実施形態によると、適切なクロック波形が生成される限りにおいて、他のクロック生成部を用いるとしてもよい。
【００３３】
図４は、本開示のさまざまな実施形態に応じた、集積回路の受信領域１５０の整形クロック生成部４００を説明するためのブロック図である。整形クロック生成部４００は、図２に図示しているように、クロック信号１５１、１５２および１５５と同様のクロック信号を生成するとしてよい。本開示のさまざまな実施形態によると、適切なクロック波形が生成される限りにおいて、他のクロック生成部を利用するとしてもよい。
【００３４】
図５は、本開示のさまざまな実施形態に応じた、集積回路の２つの領域間のデータ送信を行う回路１００の処理の一部を示すフローチャートである。ブロック５１０において、第１の整形クロック生成部は、送信領域１１０について偶数クロック信号１１２および奇数クロック信号１１３を生成するとしてよく、第２の整形クロック生成部は、受信領域１５０について偶数クロック信号１５２および奇数クロック信号１５１を生成するとしてよい。ブロック５２０において、偶数クロック信号１１２に対応するデータ信号１３２、および、奇数クロック信号１１３に対応するデータ信号１３３は、上述したように、データ信号１３１または１３０に基づいて、ラッチ１２２および１３３によって生成されるとしてよい。ブロック５３０において、回路セル１６０は、偶数クロック信号１５２に基づいてメモリセル１７０とやり取りして、データ信号１３２に基づいた第１の出力信号を生成するとしてよい。回路セル１８０は、奇数クロック信号１５１に基づいてメモリセル１７０とやり取りすることで、データ信号１３３に基づいた第２の出力信号を生成するとしてよい。第１および第２の出力信号は、回路１００によってレベルシフトされ、ノード１５３で多重化された後、受信領域１５０を伝搬するとしてよい。
【００３５】
図６は、本開示の実施形態に応じた、前述した方法および装置のさまざまな側面を実施するために用いるのに適したコンピュータシステムの一例を示す図である。同図に示すように、コンピュータシステム６００は、電源部６０１と、複数のプロセッサまたはプロセッサコア６０２と、システムメモリ６０４と、大容量ストレージ６０６と、通信インターフェース６１０とを備えるとしてよい。本願では、請求項の記載も含めて、「プロセッサ」および「プロセッサコア」という用語は、特に文脈から明示されない限り、類義語とみなされるとしてよい。
【００３６】
本開示のさまざまな実施形態によると、プロセッサ６０２のうち少なくとも１つは、図１に図示したＭＣ領域およびＤＤＲ  Ｉ／Ｏ領域のように、特定の機能について専用であるさまざまな領域を含むとしてよい。プロセッサはさらに、領域間のデータ送信を容易にするものとして前述した回路１００を含むとしてよい。
【００３７】
また、コンピューティングシステム６００は、１以上の有形で非一時的なコンピュータ可読大容量ストレージデバイス６０６（例えば、ディスケット、ハードドライブ、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）等）、入出力デバイス６０８（キーボード、カーソルコントロール等）を含むとしてよい。さまざまな実施形態によると、Ｉ／Ｏデバイス６０８は、１以上のカメラ６１８を含むとしてよい。構成要素は、互いに結合されているとしてよく、システムバス６１２を介して前述した構成要素に結合されているとしてもよい。システムバス６１２は、１以上のバスを表しているとしてよい。複数のバスの場合、１以上のバスブリッジ（不図示）でブリッジングされているとしてよい。データは、システムバス６１２を通過して、Ｉ／Ｏデバイス６０８から、例えば、カメラ６１８から、プロセッサ６０２へと供給されるとしてよい。
【００３８】
システムメモリ６０４および大容量ストレージ６０６は、本明細書ではまとめて参照番号６２２で表す、１以上のオペレーティングシステム、ファームウェアモジュールまたはファームウェアドライバ、アプリケーション等を実現するプログラミング命令の作業中コピーおよび永久的コピーを格納するために用いられるとしてよい。プログラミング命令の永久的コピーは、製造時または使用時に、例えば、コンパクトディスク（ＣＤ）等の配信媒体（不図示）、または、通信インターフェース６１０（配信サーバ（不図示）から）を介して永久的ストレージ６０６に入れるとしてよい。つまり、エージェントプログラムを実装している１以上の配信媒体を用いて、エージェントおよびプログラムをさまざまなコンピューティングデバイスに配信するとしてよい。
【００３９】
これらの構成要素６０１−６２２の上記以外の構成は公知であるので、さらなる説明は省略する。
【００４０】
本明細書で具体的な実施形態を図示および説明してきたが、当業者によれば、本開示の実施形態の範囲から逸脱することなく、図示および説明した具体的な実施形態に代えて、多岐にわたる代替実施形態および／または均等実施形態を採用し得ることに想到するであろう。本願は、本明細書で説明した実施形態の適応例または変形例を含むことを意図している。このため、本開示の実施形態は請求項およびその均等物によってのみ限定されるものと明らかに認められたい。
【図１】
0005656179.tif 000002
【図２】
0005656179.tif 000003
【図３】
0005656179.tif 000004
【図４】
0005656179.tif 000005
【図５】
0005656179.tif 000006
【図６】
0005656179.tif 000007