(57)【要約】  各回路がノードによって給電される複数の電気回路又は光回路間でタイミング信号を提供又は移送する方法。複数のノードはタイミング信号を互いに転送し合い、少なくとも１つのノードは、少なくとも２つのノードからタイミング信号を受信するまでタイミング信号を送信しないように適合化される。このようにして、ノードと回路間のタイミングのスキューの方向が知られ、回路間のデータ移送はより容易になる。
2008543188.tif 000002
【特許請求の範囲】
【請求項１】
タイミング信号を複数の回路に提供する方法であって、
−相互接続された複数のノードを提供することを含み、各回路は１つのノードに接続されており、各ノードは、タイミング信号を少なくとも１つの他のノードから受信しており、かつ対応するタイミング信号を、少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信しており、本方法は、
−タイミング信号を上記複数のノードのうちの１つのノードに提供することを含み、
−少なくとも１つのノードが、タイミング信号を２つ以上のノードのそれぞれから受信しており、上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を、上記少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信しない方法。
【請求項２】
複数のノードは、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、上記対応するタイミング信号を上記少なくとも１つの他のノードに送信しない請求項１記載の方法。
【請求項３】
上記複数のノードのうちの少なくとも１つのノードは、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信する請求項１又は２記載の方法。
【請求項４】
上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しない請求項３記載の方法。
【請求項５】
上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しない請求項３又は４記載の方法。
【請求項６】
上記複数のノードのうちの少なくとも１つのノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信する先行する任意の請求項記載の方法。
【請求項７】
上記回路のうちの２つの回路がデータを交換するステップをさらに含み、上記データの交換は、上記回路によって２つのノードのそれぞれから受信されるタイミング信号によって制御されている先行する任意の請求項記載の方法。
【請求項８】
上記データの交換方法は、上記受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、各回路がデータを送信又は受信することを含む請求項６及び７記載の方法。
【請求項９】
上記２つの回路は、２つのノードに接続され、同じ変化に関連してデータを送信又は受信するように適合化され、
（ａ）上記２つのノードは隣接する２つのノードであり、若しくは、
（ｂ）上記２つのノードの間に上記少なくとも１つのノードのうちの偶数個のノードが存在する請求項８記載の方法。
【請求項１０】
上記複数のノードを、少なくとも２つの非平行の方向によって定義される所定の領域に渡って物理的に位置決めするステップをさらに含み、送信ノードからタイミング信号を受信するように適合化されたノードを、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めすることを含む先行する任意の請求項記載の方法。
【請求項１１】
上記複数のノードは、少なくとも実質的には、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に提供された先行する任意の請求項記載の方法。
【請求項１２】
１）複数の回路を提供することと、
２）クロックを発生又は受信するノードを提供することと、
３）複数の中継ノードを提供することとを含む集積回路を作成する方法であって、
各回路は１つのノードに接続されており、各中継ノードは少なくとも１つのノードから信号を受信しかつ少なくとも１つの他の中継ノード及び／又は当該中継ノードに接続された回路に信号を送信するように適合化されており、本方法は、
４）上記受信／発生ノードからの信号によって全ての中継ノード及び全ての回路に信号が送信されるように、上記複数のノードを相互接続することを含み、
−ステップ３）は、上記複数の中継ノードの少なくとも１つの中継ノードを、少なくとも２つの中継ノードから信号を受信しかつ上記少なくとも２つの中継ノードのそれぞれから信号が受信されるまで、他の任意の中継ノード及び／又は当該中継ノードに接続された回路に信号を転送しないように適合化されたノードとして提供することを含み、
−ステップ４）は、上記少なくとも１つの中継ノードを、上記少なくとも２つの中継ノードから信号を受信するように相互接続することを含む方法。
【請求項１３】
ステップ３）は、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を上記少なくとも１つの他のノードに送信しないように適合化された複数のノードを提供することを含む請求項１２記載の方法。
【請求項１４】
ステップ３）は、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信するように適合化された少なくとも１つのノードを提供することを含む請求項１２又は１３記載の方法。
【請求項１５】
上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しないように適合化された請求項１４記載の方法。
【請求項１６】
ステップ３）は、少なくとも１つのノードを提供することを含み、上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しないように適合化された請求項１４又は１５記載の方法。
【請求項１７】
ステップ３）は、上記複数のノードのうちの少なくとも１つのノードを提供することを含み、当該少なくとも１つのノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信する請求項１２乃至１６のうちのいずれか１つに記載の方法。
【請求項１８】
上記方法はさらに、上記回路のうちの２つの回路であってデータを交換するための手段を備えた回路を提供することを含み、上記交換するための手段は、上記回路によって上記２つのノードのそれぞれから受信されるタイミング信号によって制御可能である請求項１２乃至１７のうちのいずれか１つに記載の方法。
【請求項１９】
上記交換手段はそれぞれ、上記受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、データを送信又は受信するように適合化されている請求項１７及び１８記載の方法。
【請求項２０】
上記２つの回路は、２つのノードに接続され、同じ変化に関連してデータを送信又は受信するように適合化され、
（ａ）上記２つのノードは隣接する２つのノードであり、若しくは、
（ｂ）上記２つのノードの間に上記少なくとも１つのノードのうちの偶数個のノードが存在する請求項１９記載の方法。
【請求項２１】
ステップ３）はさらに、上記複数のノードを、２つの非平行の方向によって定義される所定の領域に渡って、送信ノードからタイミング信号を受信するように適合化されたノードが、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めされるように、物理的に位置決めすることを含む請求項１２乃至１７のうちのいずれか１つに記載の方法。
【請求項２２】
ステップ１）は、隣接する複数の回路間に少なくとも所定の距離が存在するように上記回路を表面上に提供することを含み、ステップ４）は、上記複数のノードを、上記回路間に主に位置決めされる電気的接続によって相互接続することを含む請求項１２乃至２１のうちのいずれか１つに記載の方法。
【請求項２３】
ステップ３）は、上記複数のノードを、少なくとも実質的に、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に位置決めすることを含む請求項１２乃至２２のうちのいずれか１つに記載の方法。
【請求項２４】
タイミング信号を複数の回路に提供するための装置であって、
−相互接続された複数のノードを備え、各回路は１つのノードに接続されており、各ノードは、タイミング信号を少なくとも１つの他のノードから受信し、かつ対応するタイミング信号を、少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信するように適合化されており、上記装置は、
−タイミング信号を上記複数のノードのうちの１つのノードに提供するための回路と、
−少なくとも１つのノードとを備え、上記少なくとも１つのノードは、タイミング信号を２つ以上のノードのそれぞれから受信し、上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を、上記少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信しないように適合化されている装置。
【請求項２５】
上記複数のノードはそれぞれ、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、上記対応するタイミング信号を上記少なくとも１つの他のノード及び／又は回路に送信しないように適合化された請求項２４記載の装置。
【請求項２６】
上記複数のノードのうちの少なくとも１つのノードは、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信するように適合化された請求項２４又は２５記載の装置。
【請求項２７】
上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しないように適合化された請求項２６記載の装置。
【請求項２８】
上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しないように適合化された請求項２６又は２７記載の装置。
【請求項２９】
上記複数のノードのうちの少なくとも１つのノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信するように適合化された請求項２４乃至２８のうちのいずれか１つに記載の装置。
【請求項３０】
上記回路のうちの２つの回路はデータを交換するための手段を備え、上記交換手段は、上記回路によって２つのノードのそれぞれから受信されるタイミング信号によって制御可能である請求項２４乃至２９のうちのいずれか１つに記載の装置。
【請求項３１】
上記交換手段はそれぞれ、受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、データを送信又は受信するように適合化された請求項２９及び３０記載の装置。
【請求項３２】
上記２つの回路は、２つのノードに接続され、同じ変化に関連してデータを送信又は受信するように適合化され、
（ａ）上記２つのノードは隣接する２つのノードであり、若しくは、
（ｂ）上記２つのノードの間に上記少なくとも１つのノードのうちの偶数個のノードが存在する請求項３１記載の装置。
【請求項３３】
上記複数のノードは、少なくとも２つの非平行の方向によって定義される所定の領域に渡って物理的に位置決めされており、送信ノードからタイミング信号を受信するように適合化されたノードは、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めされた請求項２４乃至２９のうちのいずれか１つに記載の装置。
【請求項３４】
上記複数のノードは、少なくとも実質的には、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に提供される請求項２４乃至３３のうちのいずれか１つに記載の装置。
【請求項３５】
１）複数の回路と、
２）クロックを発生又は受信するノードと、
３）複数の中継ノードとを備えた集積回路であって、
各回路は１つのノードに接続されており、各中継ノードは少なくとも１つのノードから信号を受信しかつ少なくとも１つの他の中継ノード及び／又は当該中継ノードに接続された回路に信号を送信するように適合化されており、上記集積回路は、
４）上記受信／発生ノードからの信号によって全ての中継ノード及び全ての回路に信号が送信されるように、上記複数のノードを相互接続する複数の相互接続エレメントを備え、上記集積回路において、
上記複数の中継ノードのうちの少なくとも１つの中継ノードは、少なくとも２つの中継ノードと相互接続されており、上記少なくとも２つの中継ノードのそれぞれから信号が受信されるまで、他の任意の中継ノード及び／又は当該中継ノードに接続された回路に信号を転送しないように適合化された集積回路。
【請求項３６】
ステップ３）は、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を上記少なくとも１つの他のノードに送信しないように適合化された複数のノードを提供することを含む請求項３５記載の回路。
【請求項３７】
ステップ３）は、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信するように適合化された少なくとも１つのノードを提供することを含む請求項３５又は３６記載の回路。
【請求項３８】
上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しないように適合化された請求項３７記載の回路。
【請求項３９】
上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しないように適合化された請求項３７又は３８記載の装置。
【請求項４０】
上記ノードのうちの少なくとも１つは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信するように適合化された請求項３５乃至３９のうちのいずれか１つに記載の回路。
【請求項４１】
上記回路のうちの２つの回路は、データを交換するための手段を備え、上記交換手段は、上記回路によって上記２つのノードのそれぞれから受信されるタイミング信号によって制御可能である請求項３５乃至４０のうちのいずれか１つに記載の回路。
【請求項４２】
上記交換手段はそれぞれ、受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、データを送信又は受信するように適合化された請求項４０及び４１記載の回路。
【請求項４３】
上記２つの回路は、２つのノードに接続され、同じ変化に関連してデータを送信又は受信するように適合化され、
（ａ）上記２つのノードは隣接する２つのノードであり、若しくは、
（ｂ）上記２つのノードの間に上記少なくとも１つのノードのうちの偶数個のノードが存在する請求項４２記載の回路。
【請求項４４】
上記複数のノードは、２つの非平行の方向によって定義される所定の領域に渡って、送信ノードからタイミング信号を受信するように適合化されたノードが、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めされるように、物理的に位置決めされた請求項３５乃至４３のうちのいずれか１つに記載の回路。
【請求項４５】
上記回路は、隣接する複数の回路間に少なくとも所定の距離が存在するように表面上に位置決めされ、上記相互接続手段は主に上記回路間に位置決めされた請求項３５乃至４４のうちのいずれか１つに記載の回路。
【請求項４６】
上記複数のノードは、少なくとも実質的には、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に位置決めされる請求項３５乃至４５のうちのいずれか１つに記載の回路。
【請求項４７】
請求項１乃至２３のうちのいずれか１つに記載の方法又は請求項２４乃至４６のうちのいずれか１つに記載の装置／回路において用いるためのノードであって、
−少なくとも２つのタイミング信号源からタイミング信号を受信し、
−両方の信号源からタイミング信号を受信したときにのみ、タイミング信号を出力するように適合化されているノード。
【請求項４８】
上記ノードはさらに、上記タイミング信号を当該ノードに接続された回路に出力するように適合化されている請求項４７記載のノード。
【請求項４９】
上記ノードはさらに、タイミング信号源からタイミング信号を受信すると、肯定応答信号を上記タイミング信号源に出力するように適合化された請求項４７又は４８記載のノード。
【請求項５０】
上記ノードは、各タイミング信号源からタイミング信号を受信したときにのみ、肯定応答信号を出力するように適合化された請求項４９記載のノード。
【請求項５１】
上記ノードは、少なくとも１つのノードに接続され上記少なくとも１つのノードにタイミング信号を送信するように適合化されており、上記ノードは、第１のタイミング信号を上記少なくとも１つのノードに出力すると、上記少なくとも１つのノードから上記第１のタイミング信号に関する肯定応答信号を受信する前には、上記少なくとも１つのノードに後続のタイミング信号を転送しないように適合化されている請求項４９又は５０記載のノード。
【請求項５２】
上記ノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、かつ高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信されたタイミング信号を出力タイミング信号として送信するように適合化されている請求項４７乃至５１のうちのいずれか１つに記載のノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば大型の同期システムのメソクロノス（mesochronous）型のクロッキングに関し、マスタクロックは、当該システム内の任意のポイントにおけるクロック信号がマスタクロックの周波数又はその分周と同じ周波数を有するように、しかし当該システム内の異なる位置では異なる位相で当該システムに分配される。
【０００２】
本発明は、シングルチップ上の複数のアプリケーション又は複数の回路のクロッキングに特に適する。
【０００３】
また本発明は、クロック位相領域の境界を越えるデータ転送に関するグローバルな通信ネットワーク及びこのようなネットワークのタイミングセーフである（timing safe：確実にタイミング合わせできる）クロッキングに関する。このようなネットワークに限定されることなく、本発明を、一般に、クロック位相領域の境界を越えるタイミングセーフであるデータ転送を可能にするために用いることができる。
【背景技術】
【０００４】
大型のチップにおいて、厳密なグローバルな同期性の実施は極端に困難になりつつある。クロックのスキューを最小限に抑えるために用いられる、例えば分散型のアクティブスキュー制御を含む、ますます複雑化しているクロック分配技術は、電力消費全体に占める割合が増大しつつあり、高性能マイクロプロセッサでは３０％を超えている。また、定在波を用いるクロックの分配も提案されている。これらの技術は、ごく小さいスキューでの高速クロックを容易にする。しかしながら、クロック周波数は、格子構造における定在波として実施されるように、オンチップの構成要素のパラメータに依存する。あるいは、被るタイミングのマージンの合計サイクル時間に占める比率が増大しつつあるので、より多いスキューもパフォーマンスを犠牲にして許容されている。最終的には、グローバルに広がる同期クロック信号の実施という挑戦に応えることに失敗することは、ホールド時間違反に起因してチップ全体を機能不全にする可能性がある。
【０００５】
一方、物理的問題及び設計が複雑であるという問題がモジュール化された設計手法を促進させている。将来的な十億個のトランジスタのシステムオンチップの設計という設計タスクは、共有のセグメント化されたチップエリアの相互接続ネットワークを用いて、個々に検証された複数のブロックを一緒に接続することによって最もよく対応される、という一般的なコンセンサスが存在する。近年は、いわゆるネットワークオンチップ（ＮｏＣ）という分野の研究が行われている。ＮｏＣは、システムオンチップ（ＳｏＣ）の真にモジュール的かつスケーラブルな設計手法を推進する。
【０００６】
チップの機能性を複数のサブモジュール又はコアに分割することは、タイミングに関する分割も可能にする。広域非同期局所同期（ＧＡＬＳ（Globally asynchronous Locally Synchronous））のアプローチは、非同期的に通信する複数の同期アイランドを実装する。ＧＡＬＳのアプローチの欠点は、同期ドメインと非同期ドメインとの間の境界を横切るときのデータ及び制御の準安定の危険性という欠点のみならず、ドメインを横切るタイミングセーフである伝送を提供する回路を実装するオーバーヘッドという欠点を含む。
【０００７】
あるいは、メソクロノスなクロッキングが適用される場合もある。メソクロノスにクロック同期されるシステムは、システム全体を通じて１つのクロックを異なる位相で用いる。一般化された形式では、異なるクロック位相のドメインにおけるコア間の位相を揃えることに関しては、言えることはない。従って、データを１つのドメインから別のドメインに送るときに準安定が発生することがある。メソクロノスにクロック同期されるシステムは、既存の同期設計ツール及びノウハウの活用の恩恵を受け、一方で、厳密なグローバルな同期性の欠点を回避する。即ち、グラウンドバウンス及び電圧降下をもたらし、ひいてはクロック及びデータの両方におけるジッタの誘発に繋がるグローバルクロックのエッジにおけるピーク電流が回避される。また、グローバルクロックのスキューを低減させる電力を必要とするクロックツリーが回避されるので、クロック分配ネットワークにおける電力の消散も大幅に低減される。
【０００８】
準安定性を回避するための方法は、様々な形式で提案されている。また、非特許文献１のように、メソクロノスなシステムにクロックのスキューを包含することを目的とする研究も行われている。この参考文献では、相互に作用するクロック発生ノードのネットワークが提示されている。この方法は、ローカルなスキューの上限を保証している。
【０００９】
【非特許文献１】El-Amawy, "Clocking arbitrarily large computing structures under constant skew bound", IEEE Transactions on Parallel and Distributed Systems 4, 1993, pp 241-255.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記ノードの相互作用はループを含み、スキューの符号−正又は負−は保証されず、絶対値のみが保証される。従って、実際のシステムでは、ホールド時間の違反の可能性は引き続き存在する。また、上記ノードを実際に実施することは幾分複雑であり、無視できないオーバーヘッドが生じる。
【課題を解決するための手段】
【００１１】
第１の態様において、本発明は、タイミング信号を複数の回路に提供する方法に関し、本方法は、
−相互接続された複数のノードを提供することを含み、各回路は１つのノードに接続されており、各ノードは、タイミング信号を少なくとも１つの他のノードから受信しており、かつ対応するタイミング信号を、少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信しており、本方法は、
−タイミング信号を上記複数のノードのうちの１つのノードに提供することを含み、
−少なくとも１つのノードが、タイミング信号を２つ以上のノードのそれぞれから受信しており、上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を、上記少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信しない。
【００１２】
本明細書においては、回路は電気回路であっても、光回路であってもよい。電気又は光回路は、フリップフロップ又はラッチのサイズである（又は実際にこれらである）超小型の回路であってもよく、コンピュータ全体、プロセッサ、記憶回路、ドライバ等のこのような回路の部品、Ｉ／Ｏユニット、処理ユニットなどのような大型の回路であってもよい。
【００１３】
本来、複数の回路間のタイミングの関係は、例えば同一の集積回路上に位置決めされた回路間がそうであるように、並列コンピュータ又はネットワークの場合のように物理的に分離した又は独立回路間で関連している。
【００１４】
タイミング信号の上記転送は、本来、電気ケーブル、光ケーブル又は無線伝送（光、マイクロ波、無線、オーディオ等）を介する任意のタイプの信号伝送であってもよい。
【００１５】
従って、これらの回路は、上記ノードを介するもの以外の、電力ネットワーク又はデータケーブルもしくはデータを伝達する導電体等による方法で相互接続されてもよい。
【００１６】
通常、これらの回路はデジタル回路であるが、アナログ回路のタイミングが考慮されてもよい。デジタル回路のタイミングは、回路の内部処理のクロッキング及び／又は回路間のデータ通信のためのクロッキングのいずれに用いられてもよい。
【００１７】
本明細書においては、タイミング信号は、回路によって決定され得る時間変化を有する任意のタイプの信号であってもよい。電気信号の１つのタイプは、矩形波信号又は正弦波信号である。しかしながら、任意のタイプの信号が用いられてもよい。また、個々のノードによって送信されるタイミング信号が同一である又は同じタイプである必要は全くない。これについては、詳細後述する。
【００１８】
ノードはタイミング信号を受信し、対応するタイミング信号を出力する。この明細書において、「対応（correspondence）」は、ノードがタイミング信号を受信した後にタイミング信号を出力することを意味する、タイミングの対応を意味する。第１のタイミング信号を出力する前に２つのタイミング信号が受信されれば、通常、受信された第１のタイミング信号に対応する第１のタイミング信号及び受信された第２のタイミング信号に対応する第２のタイミング信号である２つのタイミング信号が出力される。
【００１９】
本発明によれば、少なくとも１つのノードは、上記ノードにタイミング信号を送信するように適合化された（２つ以上の）ノードのそれぞれからタイミング信号を受信する前には対応するタイミング信号を出力しない。
【００２０】
ある状況では、タイミング信号はそのノードに接続された回路にのみ出力される。これは、その回路と、そのタイミング信号出力が当該ノードに（おそらくは他のノードを介して）到達するノードに接続される回路との間のタイミングのスキュー又はクロックのスキューが既知であることを意味する。他の回路がこの回路より前にタイミング信号を受信することは、保証されている。
【００２１】
タイミング信号出力が同じく又はオプションとして他のノードに送信されるとき、これには、回路間のタイミング信号の遅延が正常に動作されるという優位点がある。また、これはスキューの周知の方向を与え、これにより、回路間でタイミングセーフであるデータ転送が推進される。
【００２２】
好ましくは、複数のノードは、タイミング信号を２つ以上のノードから受信し、かつ（タイミング信号をノードに送信するように接続されている）上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、上記対応するタイミング信号を上記少なくとも１つの他のノードに送信しない。図面に関連して後述するように、これは、ノードのネットワークのトポロジー全体を通じて既知のタイミングのスキューをもたらす。
【００２３】
上記複数のノードのうちの少なくとも１つのノードは、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を（そのノードにタイミング信号を送信する）上記少なくとも１つの他のノードのそれぞれに送信するとき、さらにロバストなクロッキングの方法が得られる。はじめに、肯定応答信号を、受信されたタイミング信号を送信しているノードに返信することは、タイミング回路において信号が損失されないことを保証する。同じく、特に、上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しないとき、タイミング信号はシステム内で互いに到達し合うことができず（後のタイミング信号は先のタイミング信号に追いつくことができない）、これによって、タイミング信号は損失されないことがさらによく保証される。
【００２４】
ある実施形態では、ノードは肯定応答信号を送信ノードに遅延なしに送信する。あるいは、上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しなくてもよい。
【００２５】
上述のように、異なるタイプのタイミング信号が用いられてもよい。信号が回路間のデータ伝送に用いられるとき、このような回路は通常、２つ以上の所定のレベル（電圧レベル等）の間で時間に対して変化する信号であるデジタルのタイミング信号のフォワードエッジ又はバックエッジでデータを送信する。
【００２６】
２つの回路の間でクロック同期のタイミングが僅かにずれるとき、シフトのスキューの方向が既知でないかもしれないという問題が発生する可能性がある。従って、タイミング信号のフォワードエッジ又はバックエッジでの送信及び受信は問題を発生させることがある。
【００２７】
この問題は、２つのエッジのうちの他のエッジで、一方の回路に送信／受信させることによって解決されてもよいが、この場合は、送信／受信回路の各ペアを個々にセットアップすることが必要になる。
【００２８】
この問題に対する解法は、複数の回路のうちの１つの回路のためのクロック信号を反転し、送信回路にフォワードエッジ及びバックエッジの一方でデータを送信させることであり、受信回路はフォワードエッジ又はバックエッジの他方で受信する。これは、両方の回路がフロントエッジ又はバックエッジで送信するか受信することを意味する。従って、これは、全ての受信機／送信機のペアで用いられてもよい。
【００２９】
本明細書において、信号の反転は、おそらくこの信号の値の中間値における、時間に対して変化する信号のミラーリングとしてみなされるだろう。通常、実際の時間に対する変化（即ち、値の増加又は減少が発生するとき）は大幅には変わらず、単に少なくとも１つの時点における値が変わるだけである。
【００３０】
従って、上記複数のノードのうちの少なくとも１つのノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信してもよい。
【００３１】
ある好ましい実施形態では、本方法は、上記回路のうちの２つの回路がデータを交換するステップをさらに含み、上記データの交換は、上記回路によって２つのノードのそれぞれから受信されるタイミング信号によって制御されている（回路は、通常１つのノードによってタイミング合わせされ、２つの回路は、通常２つの異なるノードによってタイミング合わせされる）。
【００３２】
この状況において、上記データ交換方法は、好ましくは、上記データの交換方法は、上記受信されたタイミング信号における、値の変化に関連して、各回路がデータを送信又は受信することを含む。これは回路の生成を促進する。よって、この制御は、上記２つ以上の値（デジタル通信の正常な２つの状態等）のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に基づくことが可能である。
【００３３】
次に、クロックの位相は、通信する２つの回路の間で反転されることも可能である。これは、２つの回路が隣接する２つのノードに接続されるとき（他方のノードに給電するノードが反転される）、若しくは、２つの回路にタイミング信号を提供するノード間のタイミング信号の「チェーン」内に、偶数個の反転側ノード（及び任意の数の非反転側ノード）が存在するときに保証されてもよい。次に、各回路は、同じ変化（低い方から高い方へ又は高い方から低い方へ）の時点で送信／受信してもよい。
【００３４】
追加の優位点は、複数のノードを介する、よって複数の回路を介するタイミング信号の流れにある。これらの回路は、トポロジー的（地理的又は数学的）に、二次元、三次元又はそれ以上の次元等の複数の次元で接続又は提供されてもよい。このようなトポロジーは、例えば並列コンピュータに見ることができる。このトポロジーは、現在のノードのネットワークによって、少なくとも２つの非平行の方向によって定義される所定の実際の又は仮想の領域に渡って（正しいトポロジーをもたらすようにノードを相互接続して）物理的／地理的又は数学的に、これらのノードを位置決めすることによって実現されてもよい。本方法は、送信ノードからタイミング信号を受信するように適合化されたノードを、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めすることを含む。このようにして、タイミングのスキューは、正常に動作するタイミング信号の方向及び伝搬に沿って存在する。
【００３５】
容易に理解できるトポロジーは、上記複数のノードが、少なくとも実質的にはグリッドの位置に提供されるもの、即ち、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に提供されるものである。この状況においては、タイミング信号は、この構造の１つの「角」から反対側の角へ流れる。また、リンク遅延も少なくとも実質的に同じであり、これによって、タイミングのスキューはより容易に決定されかつ制御される。
【００３６】
本発明の別の態様は、集積回路を作成する方法に関し、本方法は、
１）複数の回路を提供することと、
２）クロックを発生又は受信するノードを提供することと、
３）複数の中継ノードを提供することとを含む集積回路を作成する方法であって、
各回路は１つのノードに接続されており、各中継ノードは少なくとも１つのノードから信号を受信しかつ少なくとも１つの他の中継ノード及び／又は当該中継ノードに接続された回路に信号を送信するように適合化されており、本方法は、
４）上記受信／発生ノードからの信号によって全ての中継ノード及び全ての回路に信号が送信されるように、上記複数のノードを相互接続することを含み、
−ステップ３）は、上記複数の中継ノードの少なくとも１つの中継ノードを、少なくとも２つの中継ノードから信号を受信しかつ上記少なくとも２つの中継ノードのそれぞれから信号が受信されるまで、他の任意の中継ノード及び／又は当該中継ノードに接続された回路に信号を転送しないように適合化されたノードとして提供することを含み、
−ステップ４）は、上記少なくとも１つの中継ノードを、上記少なくとも２つの中継ノードから信号を受信するように相互接続することを含む。
【００３７】
チップの製造では一般的であるように、これらの回路は１つのウェーハ又は他の表面上へ提供される。これらのノード又はこれらのノードのうちの幾つかは、それが相互接続されるべき回路の一部として製造されてもよく、もしくはこれらのノードは、下請業者によって提供される個々のＩＰのように別々に提供されてもよい。
【００３８】
ノードを生成するクロック又はノードを受信するクロックは、上記複数のノードのうちの最初にタイミング信号を出力するノードであり、他の全てのノードはこのノードから、通常は他のノードを介してタイミング信号を受信する。上記発生／受信ノードは、タイミング信号自体を発生する場合もあれば、他のノードと同じであって、クロック回路などからタイミング信号を受信する場合もある。
【００３９】
この場合もやはり、上記少なくとも１つのノードは、このノードに相互接続されかつこれへ信号を送信するように適合化された全てのノードから信号が受信されるまで出力信号を送信しない。
【００４０】
好ましくは、上述のように、ステップ３）は、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を上記少なくとも１つの他のノードに送信しないように適合化された複数のノードを提供することを含む。
【００４１】
また、ステップ３）は、好ましくは、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信するように適合化された少なくとも１つのノードを提供することを含む。次に、上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しなくてもよい。さらに、又は代わりに、ステップ３）は、少なくとも１つのノードを提供することを含んでもよく、上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しないように適合化される。
【００４２】
データ移送（データトランスポート）が回路間に所望される場合、これは、ステップ３）が、上記複数のノードのうちの少なくとも１つのノードを提供することを含み、当該少なくとも１つのノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信するときに、より容易にされてもよい。
【００４３】
上述のように、ある好ましい実施形態では、本方法はさらに、上記回路のうちの２つの回路であってデータを交換するための手段を備えた回路を提供することを含み、上記交換するための手段は、上記回路によって上記２つのノードのそれぞれから受信されるタイミング信号によって制御可能である。通常、このデータ伝送はタイミング信号によって、送信回路がノードからタイミング信号を受信したときにデータの一部を送信し、受信回路がノードからタイミング信号を受信するときにデータの一部を受信することによって制御され、通常、これらの２つのノードは異なる（従来技術におけるホールド及びセットアップ時間の違反の原因となる）。デジタル通信では、上記データの一部はシングルビットほどに小さいものであってもよく、又は「より広いバス」が用いられてもよく、これによって、一度により多くのデータを転送することができる。
【００４４】
次に、上記交換手段はそれぞれ、上記受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、データを送信又は受信するように適合化されてもよい。このようにして、タイミング信号の変化はデータの送信／受信を制御する。
【００４５】
ある実施形態では、上記２つの回路は、同じ変化（低い方から高い方へ、又は高い方から低い方の）に関連してデータを送信又は受信するように適合化されており、隣接する２つのノードに、又は上記少なくとも１つのノードのうちの偶数個のノードがその間に存在する２つのノードに接続される。（２つのノードのうちの一方に給電する他方のノードが反転される）ノード間にゼロ、若しくは、偶数個の反転ノードが存在するとき、受信／送信回路のそれぞれに給電する２つのノードのタイミング信号は反転される。
【００４６】
また、本トポロジーは、ステップ３）がさらに、上記複数のノードを、２つの非平行の方向によって定義される所定の領域に渡って、送信ノードからタイミング信号を受信するように適合化されたノードが、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めされるように、物理的に位置決めすることを含むときに制御されてもよい。
【００４７】
タイミング信号はノイズが回路全体に進入する原因となる可能性があるという事実に起因して、ノード間の相互接続が回路を超えて又は回路の近くに延びている場合、ステップ１）は、好ましくは、隣接する複数の回路間に少なくとも所定の距離が存在するように上記回路を表面上に提供することを含み、ステップ４）は、上記複数のノードが回路の平面上に投影されるとき、上記複数のノードを、上記回路間に主に位置決めされる電気的接続によって相互接続することを含む。
【００４８】
単純化されたトポロジーにおいて、ステップ３）は、上記複数のノードを、少なくとも実質的に、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に位置決めすることを含む。
【００４９】
本発明の第３の態様は、タイミング信号を複数の回路に提供するための装置に関し、本装置は、
−相互接続された複数のノードを備え、各回路は１つのノードに接続されており、各ノードは、タイミング信号を少なくとも１つの他のノードから受信し、かつ対応するタイミング信号を、少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信するように適合化されており、上記装置は、
−タイミング信号を上記複数のノードのうちの１つのノードに提供するための回路と、
−少なくとも１つのノードとを備え、上記少なくとも１つのノードは、タイミング信号を２つ以上のノードのそれぞれから受信し、上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を、上記少なくとも１つの他のノード及び／又は当該ノードに接続された回路に送信しないように適合化されている。
【００５０】
上述のように、これらの回路及びノードの両方は統合されたパーツであっても分離したパーツであってもよく、又はこれらの間の任意の構造を有してもよい。従って、各ノード及び／又は回路は、ネットワークの構成要素、コンピュータ、プロセッサ、メモリ等の別個の回路であってもよい。これらのノード／回路のうちの幾つかは、例えば、上記ノードからタイミング信号を受信するノード及び回路が１つの素子又は単一の集積回路のいずれかに結合され得るように結合されてもよい。最終的には、全ての回路及びノードは同じ集積回路の一部を形成してもよい。
【００５１】
当然ながら、これらのノード自体は、回路であっても、回路のアッセンブリであってもよい。また、信号の受信、送信又は変更等のタスクを実行するように適合化されたノード又は回路は、当然ながら、プロセッサ（ハードウェアに組み込まれたもの、又はソフトウェアによってプログラム可能なもの、もしくはこれらの間の任意のもの）、ＦＰＧＡ等の処理手段を備える。また、これは、このタスクを達成するために、メモリ（ＲＡＭ、ＲＯＭ、ハードディスク、フロッピーディスク、光ディスク、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等）及び信号を伝達するための手段（任意タイプの通信バス、ポート、直列又は並列通信、電気通信、光通信、無線通信、ラジオ通信）を備えてもよい。ノード又は回路は、多数の素子を備える包括的な素子である場合もあれば、フリップフロップ又はラッチ等のシングルゲートのように小さいものである場合もある。
【００５２】
上述のように、この接続において、対応するタイミング信号は、好ましくは、タイミング信号（又は、各入力からの１つのタイミング信号）の受信によってトリガされる。
【００５３】
上記複数のノードはそれぞれ、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、上記対応するタイミング信号を上記少なくとも１つの他のノード及び／又は回路に送信しないように適合化される。このようにして、システムのタイミングのスキューは正常に動作される。
【００５４】
ある好ましい実施形態では、上記複数のノードのうちの少なくとも１つのノードは、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信するように適合化される。次に、上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しないように適合化されてもよい。
【００５５】
あるいは又は追加的に、上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しないように適合化されてもよい。
【００５６】
上述のように、上記複数のノードのうちの少なくとも１つのノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信するように適合化されることが好ましい可能性がある。
【００５７】
好ましくは、上記回路のうちの２つの回路はデータを交換するための手段を備え、上記交換手段は、上記回路によって２つのノードのそれぞれから受信されるタイミング信号によって制御可能である。
【００５８】
次に、上記交換手段はそれぞれ、受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、データを送信又は受信するように適合化される。
【００５９】
ある実施形態では、２つのノードに接続され、同じ変化に関連してデータを送信又は受信するように適合化され、（ａ）上記２つのノードは隣接する２つのノードであり、若しくは、（ｂ）上記２つのノードの間に上記少なくとも１つのノードのうちの偶数個のノードが存在する。
【００６０】
また、本システムのトポロジーは、少なくとも２つの非平行の方向によって定義される所定の領域に渡って地理的又は数学的に位置決めされ得るノードの相互接続によって制御されてもよく、送信ノードからタイミング信号を受信するように適合化されたノードは、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めされる。
【００６１】
ある単純なトポロジーにおいて、上記複数のノードは、少なくとも実質的には、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に提供される。
【００６２】
本発明の第４の態様は集積回路に関し、
１）複数の回路と、
２）クロックを発生又は受信するノードと、
３）複数の中継ノードとを備えた集積回路であって、
各回路は１つのノードに接続されており、各中継ノードは少なくとも１つのノードから信号を受信しかつ少なくとも１つの他の中継ノード及び／又は当該中継ノードに接続された回路に信号を送信するように適合化されており、上記集積回路は、
４）上記受信／発生ノードからの信号によって全ての中継ノード及び全ての回路に信号が送信されるように、上記複数のノードを相互接続する複数の相互接続エレメントを備え、上記集積回路において、
上記複数の中継ノードのうちの少なくとも１つの中継ノードは、少なくとも２つの中継ノードと相互接続されており、上記少なくとも２つの中継ノードのそれぞれから信号が受信されるまで、他の任意の中継ノード及び／又は当該中継ノードに接続された回路に信号を転送しないように適合化される。
【００６３】
上述のように、ノードは、当該ノードからタイミング信号を提供される回路内に組み込まれてもよい。あるいは、ノードは、当該ノードが下請業者によって別個のＩＰとして提供される場合のように、回路から完全に分離されてもよい。
【００６４】
好ましくは、ステップ３）は、タイミング信号を２つ以上のノードから受信し、かつ上記２つ以上のノードのそれぞれからタイミング信号が受信される前には、対応するタイミング信号を上記少なくとも１つの他のノードに送信しないように適合化された複数のノードを提供することを含む。
【００６５】
また、ステップ３）は、効果的には、第１のタイミング信号を少なくとも１つの他のノードから受信するとき、肯定応答信号を上記少なくとも１つの他のノードのそれぞれに送信するように適合化された少なくとも１つのノードを提供することを含む。
【００６６】
次に、上記少なくとも１つのノードはさらに、上記第１のタイミング信号に対応するタイミング信号が送信されたノードのそれぞれから肯定応答信号を受信する前には、他のノードから受信される後続のタイミング信号を送信しないように適合化されることも可能である。
【００６７】
あるいは又は追加的に、上上記少なくとも１つのノードは、当該ノードにタイミング信号を送信する全てのノードからタイミング信号を受信する前には、肯定応答信号を送信しないように適合化されることも可能である。
【００６８】
回路間で例えばデータの伝送が所望される場合、上記ノードのうちの少なくとも１つが、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を、上記対応するタイミング信号として他のノードに送信するように適合化されたときに、上記データの伝送をより容易に行うことができる。
【００６９】
好ましくは、上記回路のうちの２つの回路は、データを交換するための手段を備え、上記交換手段は、上記回路によって上記２つのノードのそれぞれから受信されるタイミング信号によって制御可能である。
【００７０】
次に、好ましくは、上記交換手段はそれぞれ、受信されたタイミング信号における、上記２つ以上の値のうちの低い方の値から上記値のうちの高い方の値への変化又は上記高い方の値から上記低い方の値への変化に関連して、データを送信又は受信するように適合化される。
【００７１】
ある実施形態では、２つのノードに接続され、同じ変化に関連してデータを送信又は受信するように適合化され、（ａ）上記２つのノードは隣接する２つのノードであり、若しくは、（ｂ）上記２つのノードの間に上記少なくとも１つのノードのうちの偶数個のノードが存在する。
【００７２】
上記複数のノードが、２つの非平行の方向によって定義される所定の領域に渡って、送信ノードからタイミング信号を受信するように適合化されたノードが、さらに上記送信ノード以外の方向のうちの少なくとも１つの方向に位置決めされるように、物理的に位置決めされるときに、本トポロジーは制御されてもよい。
【００７３】
上記回路が、隣接する複数の回路間に少なくとも所定の距離が存在するように表面上に位置決めされ、上記相互接続手段は主に上記回路間に位置決めされるとき（上記表面の平面上に平行移動されるとき等）、回路内のノイズの発生は低減又は防止されることが可能である。
【００７４】
単純なトポロジーにおいて、上記複数のノードは、少なくとも実質的には、第１の方向に沿って少なくとも実質的に等間隔に位置決めされた複数の線のうちの１本の線と、上記第１の方向に対して非平行である第２の方向に沿って少なくとも実質的に等間隔に位位置決めされた複数の線のうちの１本の線との交点に対応する複数の位置に位置決めされる。
【００７５】
本発明の第５の態様は、上述の方法又は上述の装置／回路において用いるためのノードであり、本ノードは、
−少なくとも２つのタイミング信号源からタイミング信号を受信し、
−両方の信号源からタイミング信号を受信したときにのみ、タイミング信号を出力するように適合化されている。
【００７６】
好ましくは、上記ノードはさらに、上記タイミング信号を当該ノードに接続された回路に出力するように適合化されている。
【００７７】
また、上記ノードはさらに、タイミング信号源からタイミング信号を受信すると、肯定応答信号を上記タイミング信号源に出力するように適合化されてもよい。この状況においては、上記ノードは、各タイミング信号源からタイミング信号を受信したときにのみ、肯定応答信号を出力するように適合化されてもよい。あるいは又は追加的に、上記ノードは、少なくとも１つのノードに接続され上記少なくとも１つのノードにタイミング信号を送信するように適合化されてもよく、上記ノードは、第１のタイミング信号を上記少なくとも１つのノードに出力したとき、上記少なくとも１つのノードから上記第１のタイミング信号に関する肯定応答信号を受信する前には、上記少なくとも１つのノードに後続のタイミング信号を転送しないように適合化されている。
【００７８】
最後に、上記ノードは、２つ以上の異なる値の時系列であるタイミング信号を受信し、高い方の値及び低い方の値が同じタイミングシーケンスにおいて交換されるように反転された受信された信号を出力タイミング信号として送信するように適合化されていてもよい。
【００７９】
当然ながら、上記ノードは回路等の物理エンティティであってもよい。しかしながら、ノードは、プログラム可能プロセッサ上で有益なソフトウェアプログラムとして又は集積回路の生成に用いるように適合化されるネットリストとして定義される方が適当であるかもしれない。
【発明を実施するための最良の形態】
【００８０】
以下、図面を参照して好ましい実施形態について説明する。
【００８１】
次に、パラフェーズクロッキング（ＰＰＣ（Para-Phase Clocking））と呼ばれる新しいメソクロノスなクロッキングの方法を導入する。ここで、ＰＰＣは、準安定性の問題をまとめて回避する一方、任意の隣接するＰＰＣノード又は領域間で全方向にグローバルに通信する自由を維持する。これは、クロックの分配に単純な地理的な制約を置くことによって行われる。ＰＰＣの優位点は、任意にタイミングセーフである（確実にタイミング合わせできる）動作及びグレースフルデグラデーション（フェイルソフト）のパフォーマンスにある。これは、クロック周波数を下げることによってグローバルな通信のタイミングを任意にロバストにすることができ、クロック周波数の有限の低減においてＰＰＣ領域の境界を越えるデータ転送のタイミングが１００％セーフであるように保証されることを意味する。チップを機能不全にする場合のあるグローバルなホールド時間の違反は的確に制御されかつ抑制され、これにより、完全にタイミングセーフであるグローバルな通信がもたらされる。また、ＰＰＣの概念は実装のオーバーヘッドが低い。
【００８２】
次に、ＰＰＣ（パラフェーズクロッキング）の基本的な態様及びその「非パラフェーズの（non-para-phased）」対応物であるＳＤＣ（スキュー指向性クロッキング（skew directed clocking））について簡単に説明する。ＰＰＣという用語は、パラフェーズバージョン及び非パラフェーズバージョン（即ち、反転及び非反転ノードの使用）の両方を指して用いられる。均一な（homogeneous）場合、ＰＰＣチップは、図１に示すような二次元グリッドに分割される。マスタクロックは、左上の角に入力され、図中の矢印が示すようにグリッドの縁に沿って進む。グリッドのポイントにおいて、入ってくる２つのクロックパルスはこれらのエッジを同期することによってマージされる。従って、非反転バージョンにおいて、入ってくる両方のクロックパルスの前端が到着したとき、出て行くクロックのフロントエッジが生成され、同様に、入ってくる両方のクロックパルスのバックエッジが到着したとき、出て行くクロックのバックエッジが生成される。この機能の結果、別のノードの右側又は下のノードはどれも、必ずこの別のノードのクロックより遅いクロックを有することになる。当然ながら、クロックイベントがグリッド内の何処においても損失されないためには、１つのグリッドノードに入ってくる両方のクロックのエッジが両者のいずれか一方の次のエッジより前に到着しなければならない。この必要条件は、システム内において達成可能な最大のクロック周波数を制限する。しかしながら、グリッドの縁上の遅延が充分適切に整合されれば、これは重要な問題にはならない。いずれにしても、このような遅延の整合は、グローバルに広がるクロックツリーにおける分岐における遅延に整合に比べれば遙かに容易である。また、遅延の不整合は、クロックツリーにおいては可能性があるとしても、ホールド時間の違反によるシステム故障を引き起こすことはなく、代わりにシステムの最大のクロック周波数を下げるだけである。性能を犠牲にして、グリッドの縁に沿った不整合の遅延に関して本方法を安全にする拡張に関しては、後に詳しく検討する。
【００８３】
ノードの機能を、Ｃ素子によって実施することができ、ここで、Ｃ素子は、両方の入力が高いときにのみその出力が高くなり、かつ両方の入力が低いときにのみ低くなる２入力の論理素子である。図中の大部分のノードの外へ向かう２つの矢印は、単にローカルに発生されたクロックパルスの複製である。このようなＰＰＣノードの実施例を図２に示す。グリッドの縁に沿ったＰＰＣノードは、１つだけの入力又は１つだけの出力を有する。単一入力のノードの機能は、単に入ってくるクロックパルスのバッファリングを含む。グリッド内に一様な遅延分布を得るためには、より高い性能の可能性に繋がるので、これらのバッファの遅延をグリッド内の２入力のノードにおけるＣ素子の遅延と一致させることが望ましいが、必要条件ではない。
【００８４】
上述のシステムは、チップの２つの次元の両方に指向性スキュー（directed skew）を有するシステムワイドなクロックを可能にする。従って、クロックの指向性スキューに起因してホールド時間の違反が回避されるので、データは両方の次元に沿って上流に容易に送信されることが可能である。データがデータの有効性を指示する要求信号と共に乗って進むクロックパルスに乗ることができる非同期バンドルデータフローの制御プロトコルにおけるデータ伝送の場合がそうであるように、下流へのデータ伝送はクロックパルスに乗ることができる。しかしながら、これはタイミングの幾つかの問題をもたらし、データの受信時にホールド及びセットアップ時間違反が回避されることを保証するために必要な時間以上の期間だけ、データ及びクロック遅延は、クロック遅延より多い又は少ないように整合されなければならないので、タイミングセーフでない伝送に繋がる場合がある。
【００８５】
図３は、非反転ノード及び反転ノードの場合における１つのＰＰＣノードから別のＰＰＣノードへの可能なタイミングセーフである伝搬アーク（transmission arc）を示す。受信端局におけるホールド時間及びセットアップ時間はクロック周波数に依存するので、クロック周波数を下げることによってこれらの伝送を完全にタイミングセーフであるようにできることが分かる。５０％のクロックデューティサイクルを維持する努力が尽くされていると仮定すると、クロック周波数の低減によってセットアップ時間及びホールド時間の両方が自動的に改善される。
【００８６】
ｃｌｋ２で示されるクロックは、ｃｌｋ１で示されるクロックの下流にある。非反転ケースにおけるタイミングセーフであるデータ伝搬アークは、下記の通りである。
【００８７】
下流：
Ａ：ポジティブエッジからネガティブエッジへ。
Ｂ：ネガティブエッジからポジティブエッジへ。
【００８８】
上流：
Ｃ：ネガティブエッジからポジティブエッジへ。
Ｄ：ネガティブエッジからネガティブエッジへ。
Ｅ：ポジティブエッジからネガティブエッジへ。
Ｆ：ポジティブエッジからポジティブエッジへ。
【００８９】
反転ケースでは、クロック信号は各ノードで反転され、よって、隣接するノード同士は交互のクロック位相でクロック同期される。従って、タイミングセーフである伝搬アークは、下記のようになる。
【００９０】
下流：
Ｇ：ポジティブエッジからポジティブエッジへ。
Ｈ：ネガティブエッジからネガティブエッジへ。
【００９１】
上流：
Ｉ：ポジティブエッジからポジティブエッジへ。
Ｊ：ポジティブエッジからネガティブエッジへ。
Ｋ：ネガティブエッジからネガティブエッジへ。
Ｌ：ネガティブエッジからポジティブエッジへ。
【００９２】
各ノードにクロックの反転を実施すると、ＰＰＣノードは反転のＣ素子となり、グリッドの縁に沿ったＰＰＣノードは単にインバータとなる。隣接するノードは全て交互のクロックイベントでクロック同期されるので、この反転は、パラフェーズクロッキングという名称における「パラ」の本質である。１つのノードのポジティブクロックエッジは、その隣接するノードにおけるネガティブエッジに対応する（より正確には、非反転ケースをＳＤＣ：スキュー指向性クロッキングと呼ぶことができるが、本明細書では一般にこれを非反転ＰＰＣと呼ぶ）。
【００９３】
反転ノードは平衡状態のシステムに寄与し、当該システムにおいて、クロックのデューティサイクルは、ノードにおけるポジティブ及びネガティブエッジの遅延の差に起因する歪みを受けない。全てのクロックイベントは、ポジティブエッジ及びネガティブエッジとして交互するシステムを通り抜けて進む。反転ノードの場合、ポジティブエッジからポジティブエッジへの伝送は上流及び下流の両方でタイミングセーフであることに注目されたい（アークＧ及びＩ）。これらの２つの特性によって、反転ノードを有するシステムは極めてロバストになり、容易に用いられるようになる。一方で、パフォーマンスの改善に関して言えば、長い方のアークＡ，Ｂ，Ｄ，Ｆ，Ｇ，Ｈ，Ｊ及びＬ上のみにおける伝送が選ばれる可能性もある。
【００９４】
ローカルに発生されたクロックは、ＰＰＣ領域内にアイソクロナスに分配される必要がある。システムの最高のパフォーマンスを達成するためには、複数の領域のクロック挿入遅延を一致させることが望ましい。ある代替の実施形態は、ＰＰＣグリッドと階層性との混合を包含している。ＰＰＣグリッドは、各グリッドポイントに小型の通信ノード−ネットワークオンチップルータ−を備えて実施される。これらのノードは小型であるので、これらにおけるローカルクロックの分配ネットワークの挿入遅延を一致させることはさほど問題ではない。いずれにせよ、この遅延は極めて小さい。これらのノードはそれぞれ、その隣接するＰＰＣノードと直に通信することができる。また、各ノードは、そのローカルな領域と通信することができる。ローカルなクロックはこの領域に分配され、反転される。従って、ＰＰＣ領域の境界を越えるデータ伝送に関して先に述べたものと同じタイミングへの配慮が当てはまり、クロックを許容レベルまで下げることによって、１００％にタイミングセーフであることを達成することが可能である。タイミングへの配慮に関しては、ローカルクロック分配のクロック挿入遅延はＰＰＣグリッド線に沿ったクロック転送遅延に一致する。
【００９５】
クロックパルスの伝搬遅延に関して多大な不確定性が存在するときに、クロッキングの信頼性を改善する拡張には、先に述べたようなクロックの分配、及び逆方向へのこのクロックの肯定応答が含まれる。従って、クロックパルスのエッジの生成は、上流のグリッドポイントからのクロックパルスのエッジの到着及びクロックのエッジが安全に到着しており、この上流のグリッドポイントにおけるクロックパルスのエッジとなっていることを知らせる下流のノードからの肯定応答パルスのエッジの到着の両方を必要とする。これによって、達成可能な最大クロック周波数は低減されるが、システムのロバスト性は改善され、ローカルクロックの伝搬遅延の平衡に対するパフォーマンスの依存性は下がる。図４は、肯定応答されるクロックパルスを採用する二次元グリッドにおいて、４入力のＣ素子によってグリッドポイントをどのように実施できるかを示す。本図は反転ノードのケースを示しているが、本方法は非反転ケースに用いられてもよい。図４のケースでは、好ましくはインバータが肯定応答の経路に挿入される。当然ながら、初期のマスタクロックは、好ましくは同じくこの肯定応答に付着され、肯定応答のエッジが検出されていなければクロックのエッジを生成しない。
【００９６】
肯定応答される代替のＰＰＣノードを、非結合の（decoupled）肯定応答を用いて実装することができる。このようなノードでは、肯定応答は、他の入力とは独立して各入力に送信される。このようにして、入力信号の受信側である各ノードはそのゼロ復帰位相をより迅速に開始することができる。上記ノードは、次にその入力において信号を受信していることを思い出し、全ての入力が活性化されたときに出力信号を発生する。肯定応答された入力に接続されたノードは、当然ながら、さらに他のクロックイベント信号を発生してもよい。しかしながら、この信号は、先の入力信号に基づいて出力信号がノード内に発生されるまで肯定応答されない。ここで、上記入力信号は、上記ノードがその全ての入力で信号を受信する前に肯定応答されていた信号である。
【００９７】
他の拡張は、不均一な（heterogeneous）システムの実装に関連している。ＰＰＣチップを小さい領域に分割することができ、次にはグリッド線を故意に取り除いて領域の所望される不均一なレイアウトを生成できる。これによって、１つだけの出力、１つだけの入力又はこれらの両方を有する複数のＰＰＣノードがもたらされる。図５は、このような不均一なシステムの一例を示す。これは、ＰＰＣグリッドの基本機能に影響を与えるものではない。グリッドの縁に沿ったＰＰＣノードと同様に、１つだけの入力を有するグリッド内のＰＰＣノードは単なるインバータである。このようなデバイスは、任意のケースでチップ全体に電気信号を分配するときに必要とされる場合の多いバッファ素子として機能する。ＰＰＣノードの２つの出力は単に同じものの複製であるので、１つだけの出力を有するＰＰＣノードは、普通のローカルに発生されるクロック信号である。この場合もやはり、全体としてクロック分配システムの最大のパフォーマンスを達成するためには、システム内の単純な反転（１入力のＰＰＣノード）の遅延を２入力のＰＰＣノードのそれに一致させることが望ましいが、必要条件ではない。
【００９８】
不均一なＰＰＣシステムは、均一なＰＰＣシステムより幾分か複雑である。各領域は、１つだけのＰＰＣノードによってクロック同期される。均一なＰＰＣシステムに関して先に確立した伝送条件は、グリッド内の隣接するＰＰＣノードによってクロック同期されるという意味で隣接するＰＰＣクロック領域間のデータ伝送を説明するものである。従って、先の段落で述べたような不均一なＰＰＣシステムでは、データ伝送がタイミングセーフであることは、あるグリッド領域より大きい所定のＰＰＣ領域と、その領域自体をクロックしているＰＰＣノードに隣接するＰＰＣノードによってクロック同期される領域との間に限定される均一なシステムの「規則」に従って保証される。少し前に説明した階層的なＰＰＣシステムでは、ネットワークは常に領域と領域をクロック同期するＰＰＣノードとの間で、又はＮｏＣルータに拡張される隣接するＰＰＣノード間でデータを伝送するので、これは問題ではない。
【００９９】
当然ながら、領域の形状に関しては幾つかの制限が存在する。領域が全て幾何学的に凸状であれば、問題はない。純粋に下流方向に存在する陥凹は、入力のないノードが生じるので不可である。陥凹が１つの上流方向及び１つの下流方向にあれば、問題はない。純粋に上流方向にある陥凹も、問題はない。
【０１００】
大きいグリッドは、グリッド内の遅延分布が不均一であるためにパフォーマンス（達成可能な最大クロック周波数）を制限する場合がある。しかしながら、一方、小さいグリッド領域は、地理的に依存する遅延変動を少なくし、マイナス効果を相殺する。また大きいグリッドでも、多くのグリッドホップを通じて見受けられるように、ランダムに依存する遅延変動が相殺される。
【０１０１】
その二次元ケースに関してこれまでに述べた大型システムの、指向性スキューを利用するメソクロノスなクロッキングのＰＰＣ及びＳＤＣ方法は、容易に三次元又はそれ以上に拡張することができる。従ってこれを、例えばマルチコンピュータネットワーク及び並列コンピュータ等のオフチップシステムである大型の非平面システムに用いることができる。
【図面の簡単な説明】
【０１０２】
【図１】均一なＰＰＣの（パラフェーズクロック同期された又は非パラフェーズクロック同期された）クロック分配グリッドを示す。
【図２】入ってくる２つのクロックパルスのエッジを同期させるクロック発生ノードを示す。
【図３】１つのＰＰＣ領域から別のＰＰＣ領域へのタイミングセーフであるデータ伝送を示す波形である。
【図４】上流のＰＰＣノードのための肯定応答信号を発生し、下流ノードからの肯定応答を待機する（反転の場合）拡張されたＰＰＣノードを示す。
【図５】不均一なＰＰＣのクロック分配グリッドを示す。
【図１】
2008543188.tif 000003
【図２】
2008543188.tif 000004
【図３】
2008543188.tif 000005
【図４】
2008543188.tif 000006
【図５】
2008543188.tif 000007
【国際調査報告】
2008543188.tif 000008
2008543188.tif 000009
2008543188.tif 000010