(57)【要約】第１及び第２バスを有する装置が開示される。１つの実施形態において、多数のユニットが、第１及び第２バスに連結される。このユニットは、中間ユニットと、２つの側部ユニットとを含む。各々の側部ユニットは、中間ユニットの第１バス入力に連結された第１バス出力を有する。中間ユニットは、各々の側部ユニットの第２バス入力に連結された第２バス出力を有する。
2005539408.tif 000002
【特許請求の範囲】
【請求項１】
第１バス、
第２バス、及び
中間ユニットと第１側部ユニットと第２側部ユニットとを含み、前記第１及び第２バスに連結された複数のユニット、
を備え、
各々の側部ユニットが前記中間ユニットの第１バス入力に連結された第１バス出力を有し、前記中間ユニットは異なる論理値を前記第２バス上にもたらすことができる唯一のユニットである
前記中間ユニットが、各々の側部ユニットの第２バス入力に連結された第２バス出力を有し、各々の側部ユニットの前記第２バス入力は論理的に同等であり、コンバイナが該中間ユニットの前記第１バス入力及び前記第２バス出力に連結されたことを特徴とする装置。
【請求項２】
前記コンバイナがＯＲゲートを備えることを特徴とする請求項１に記載の装置。
【請求項３】
前記第１側部ユニットが、該第１側部ユニットの前記第１バス出力に連結されたコンバイナをさらに含む併合側部ユニットであることを特徴とする請求項１に記載の装置。
【請求項４】
前記第１側部ユニットが、該側部ユニットを通じてデータを直接的に通す単純な側部ユニットであることを特徴とする請求項１に記載の装置。
【請求項５】
前記コンバイナが、ＯＲゲートであることを特徴とする請求項３に記載の装置。
【請求項６】
前記第１側部ユニットが、該第１側部ユニットの前記第２バス入力と該第１側部ユニットの前記第２バス出力との間に連結された一方向性の中継器をさらに含むことを特徴とする請求項１に記載の装置。
【請求項７】
第１バス、
第２バス、及び
中間ユニットと増幅器を有する第１側部ユニットと第２側部ユニットとを含み、前記第１及び第２バスに連結された複数のユニット、
を備え、
各々の側部ユニットが、前記中間ユニットの第１バス入力に連結された第１バス出力を有し、
前記中間ユニットが、各々の側部ユニットの第２バス入力に連結された第２バス出力と、該中間ユニットの前記第１バス入力及び前記第２バス出力に連結されたコンバイナとを有し、
前記増幅器が、前記第１側部ユニットの前記第２バス入力と該第１側部ユニットの前記第２バス出力との間に連結されたことを特徴とする装置。
【請求項８】
前記中継器及びコンバイナが、前記中間及び側部ユニットに対して同じ回路を用いることができるように、１つの回路内に一体化されたことを特徴とする請求項６に記載の装置。
【請求項９】
各々のユニットが、装置のデータ出力に連結されたユニット入力をさらに備えることを特徴とする請求項１に記載の装置。
【請求項１０】
第１バス、
第２バス、及び
中間ユニットと第１側部ユニットと第２側部ユニットとを含み、各々が装置のデータ出力に連結されたユニット入力を有し、前記第１及び第２バスに連結された複数のユニット、
を備え、
各々の側部ユニットが、前記中間ユニットの第１バス入力に連結された第１バス出力を有し、
前記中間ユニットが、各々の側部ユニットの第２バス入力に連結された第２バス出力と、該中間ユニットの前記第１バス入力及び前記第２バス出力に連結されたコンバイナとを有し、
各々のユニットが、前記ユニット入力及び前記第１バスに連結されたコンバイナを有し、該ユニット入力が前記コンバイナによって該第１バスに連結されるようになったことを特徴とする装置。
【請求項１１】
各々のユニットが、前記第２バスに連結されたユニット出力と、装置のデータ入力とをさらに備えることを特徴とする請求項１に記載の装置。
【請求項１２】
前記装置が、プロセッサ、メモリ、入力／出力装置、及びコントローラからなる群から選択されることを特徴とする請求項１１に記載の装置。
【請求項１３】
第１バス、
第２バス、及び
中間ユニットと第１側部ユニットと第２側部ユニットとを含み、前記第１又は第２バスに連結された少なくとも１つの側部ユニット、
を備え、
各々の側部ユニットが前記中間ユニットの第１バス入力に連結された第１バス出力を有し、前記中間ユニットは、異なる論理値を前記第２バス上にもたらすことができる唯一のユニットであり、
前記中間ユニットが、各々の側部ユニットの第２バス入力に連結された第２バス出力を有し、各々の側部ユニットの前記第２バス入力は論理的に同等であり、コンバイナが該中間ユニットの前記第１バス入力及び前記第２バス出力に連結され、
前記側部ユニットを併合側部ユニットであり得ることを特徴とする装置。
【請求項１４】
前記少なくとも１つの側部ユニットが、併合側部ユニット及び単純な側部ユニットからなる群から選択されることを特徴とする請求項１３に記載の装置。
【請求項１５】
複数の第１側部ユニットから第１バスにデータを送信し、
前記第１バスから中間ユニットにデータを送信し、
前記第１バスからの、前記中間ユニット内で受け取ったデータを組み合わせて、一方向性のデータを生成し、
前記第２バス上の論理値を変えることができる唯一のユニットである前記中間ユニットから該第２バスに前記一方向性のデータを送信し、
付加的な論理作業を経由することなく、前記第２バスから複数の第２側部ユニットに前記一方向性のデータを送信する段階を含むことを特徴とする方法。
【請求項１６】
第１装置からのデータを送信する段階をさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
データの組合わせが、特定の第１側部ユニット及び特定の第２側部ユニットから受け取ったデータを組み合わせることを特徴とする請求項１５に記載の方法。
【請求項１８】
前記特定の第２側部ユニットが、前記特定の第１側部ユニットと同じユニットであることを特徴とする請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、バス構造体に関する。
【背景技術】
【０００２】
１組のサブシステム又は論理ブロックを共用バスを通じて接続することは、集積回路の設計において重要な問題である。従来のバス構造体は、３状態・バス及び多重化バスを含む。
３状態バスは、幾つかの３状態ドライバの１つによって駆動されるバス・ワイヤを有し、イネーブルにされた時に、データ信号の値を用いて該バス・ワイヤをアクティブに駆動する。３状態ドライバを有する全ての装置は、バス・ワイヤから電流を受け取ることができる。
【０００３】
しかしながら、この従来の手法は幾つかの欠点を有する。１度に１つの３状態ドライバしかイネーブルにすることができない。多数のドライバが同時にイネーブルされる場合には、かなりの漏れ電流が生じることがあり、漏れ電流は、バスの不適切な作動をもたらし、集積回路を恒久的に損傷させることがある。イネーブルされるドライバがない場合には、バスの電圧レベルが変動する。電圧レベルの変動を防止するように付加的な回路を設けない限り、バスを駆動するために、少なくとも１つのドライバをイネーブルしなければならない。
多数のドライバがイネーブルされるのを防止しながら、１つのドライバをイネーブルにされた状態に保持することの困難さは、３状態手法の重要な欠点である。さらに、３状態バス・ワイヤが長い場合には、ワイヤ遅延が、ＲＣ遅延によって悪影響を受ける。３状態バス・ワイヤが双方向式であるため、該３状態バス・ワイヤ内に中継器を挿入することは困難である。このことは、バスの性能に悪影響も及ぼす。
【０００４】
別の従来の手法は多重化バスを用いるものである。この多重化バスは、多数のバス・ワイヤを有する。多数のドライバが多数のバス・ワイヤに取り付けられるので、あらゆるドライバが１つおきのドライバに接続される。各々のドライバは、多数のバス・ワイヤの幾つかを通じて他のドライバからのデータを受け取るために、多重関数を実行する。
この多重化手法は、幾つかの欠点を有する。多重化手法は、多数のバス・ワイヤを用いるために非常に費用がかかるものである。また、多重化バスを用いた場合に経路指定輻輳が発生する可能性が非常に高い。さらに、多くのバス・ワイヤが用いられるため、多重化バス内に中継器を挿入することが、非常に複雑で、予測不能で、費用がかかるものとなる。例えば、バスに取り付けられた装置の数が増加するにつれて、ワイヤの数が指数関数的に増加し、ワイヤの数及び長さが増加するにつれて中継器の数が増加する。
【発明の開示】
【０００５】
第１及び第２バスを有する装置が開示される。複数のユニットが、第１及び第２バスに連結される。このユニットは、中間ユニットと、少なくとも２つの側部ユニットとを含む。各々の側部ユニットは、中間ユニットの第１バス入力に連結された第１バス出力を有する。中間ユニットは、各々の側部ユニットの第２バス入力に連結された第２バス出力を有する。
【発明を実施するための最良の形態】
【０００６】
本発明は、同じ参照番号が同様の要素を示す添付の図面の図において、例として示されるものであり、限定するために示されるものではない。
本発明のこれら及び他の実施形態は、以下の教示に従って実現することができ、以下の教示において、本発明のより広い精神及び範囲から逸脱することなく、種々の修正及び変形をなし得ることが明らかになるであろう。したがって、本明細書及び図面は、限定的な意味ではなく例示的なものと考えるべきであり、本発明は、特許請求の範囲によってのみ評価される。
【０００７】
第１バスと、第２バスと、該第１及び第２バスに連結された多数のユニットとを含むバス相互接続構造体１００の１つの実施形態が、図１に示される。このユニットは、中間ユニット１２０と、第１側部ユニット１１０と、第２側部ユニット１１０とを含む。バス１３０は、側部ユニット１１０を通じて、第１装置から中間ユニット１２０にデータを送信する。バス１４０は、側部ユニットを通じて、中間ユニット１２０から第２装置にデータを送信する。各々の側部ユニット１１０は、中間ユニット１２０のバス入力１１７に連結されたバス出力１１５を有する。中間ユニット１２０は、各々の側部ユニットの第２バス入力１１９に連結された第２バス出力１１８を有する。１つの実施形態においては、バス１３０、１４０は、個別のバスと考えられる。別の実施形態においては、別箇のバスを用いて、グループのユニットとして各々のリンクに接続する。１つの実施形態においては、データ送信は、別箇の経路が用いられる一方向性である。代わりに、双方向性の経路を用いることもできる。
【０００８】
図１に示されるような実施形態においては、側部ユニット１１０は、ユニット１１０を通じてデータを直接的に通す単純な側部ユニットである。別の実施形態においては、側部ユニットの１つ又はそれ以上を、少なくとも２つのユニットからのデータを組み合わせ、組み合わせられたデータを通す併合側部ユニットとして具体化することができる。
中間ユニット１２０は、該中間ユニット１２０の第１バス入力１１７及び第２バス出力１１８に連結されたコンバイナ１６０を有する。側部ユニット１１０は、第１側部ユニット１１０の第１バス出力１１５に連結されたコンバイナ１６０を有する。このコンバイナは、積極的な論理信号が用いられる場合には、図２に示されるようなＯＲゲート２１０とすることができる。側部ユニット１１０は、第１側部ユニット１１０の第２バス入力１１９に連結された中継器１５０を有する。図３に示されるように、中継器１５０は、増幅器又はバッファ３１０としてもよい。或いは、中継器１５０は、単数又は複数のインバータとしてもよく、或いは中継器を使用しなくてもよい。
【０００９】
ユニット入力１９０は、他の装置からのデータを転送するか又は受け取る必要がある装置の対応するデータ出力に連結される。コンバイナ１６０は、ユニット入力１９０及び第１バス１３０に連結される。ユニット出力１８０は、第２バス１４０及び装置のデータ入力に連結される。この装置は、プロセッサ、メモリ、入力／出力装置、コントローラ、又は別の装置とデータを交換する必要がある何らかの他の装置としてもよい。
１つ又はそれ以上の側部ユニット１４２を、図１に示される側部ユニット１１０の一方又は両方に取り付けることができる。例えば、コンバイナの入力１３２又は１３１を用いて、第１側部ユニットの第１バス入力に連結された第１バス出力と、該第１側部ユニットの第２バス出力に連結された第２バス入力とを有する第３の側部ユニットを、該第１側部ユニット１１０に取り付けることができる。あらゆる接続されていないコンバイナの入力１３２又は１３１を０に関連付ける。
【００１０】
ユニット１１０がバス構造体１００を駆動できる状態にある場合には、該ユニット１１０は、そのイネーブル信号Ｅ１９５をアサートし、ＡＮＤゲート１７０を通じてユニット入力経路１９０を作動させる。他のユニット１１０、１２０については、イネーブルＥ１９５がディアサートされるので、論理０が、所定のユニットについてＡＮＤゲート１７０からコンバイナ１６０内に駆動される。イネーブルにされたユニットは、その入力１９０の所望の値によって、０又は１のいずれかをそのコンバイナ内に駆動することができる。選択された論理値は、側部ユニット１１０から、バス・ワイヤ１３０を通じて、中間ユニット１２０に向けて伝播する。中間ユニット１２０において、論理値は、バス・ワイヤ１４０を戻り、中継器１５０を介して各々の側部ユニット１１０に駆動される。このように、各々のユニット１１０、１２０は、論理値を全ての他のユニットに伝達することができる。通常の作動においては、各々の送信期間において、１つの装置だけが、そのＥ信号の１を駆動する。
【００１１】
別の実施形態においては、駆動能力を改善させるために、ユニットの出力において、中継器１５０に加えてより多くのインバータ及び／又はバッファを付加することができる。ワイヤの長さ及び必要とされる性能によって、最適なバッファ・サイズを選択することができる。
全てのユニット１１０、１２０内に用いることができる一体化された回路構造体４１０が、図４に示される。図４に示されるように、２つのバス・ワイヤは、各々のユニットをその近隣に接続させ、一方のバス・ワイヤは中間ユニットに進み、他方のバス・ワイヤは該中間ユニットから遠ざかるように進む。各々のユニットは、３入力ＯＲゲートのような実施することができるコンバイナ回路と、単一の非反転バッファとして実施することができる中継器回路とを含む。中継器回路を中間ユニット内に含ませ、接続されないままにすることができる。
【００１２】
別の実施形態においては、図４に示されるものと類似した「論理的に二重の」一体化された回路構造体を用いることができる。例えば、図４の実施形態において、２つおきのブロック間の、信号を表す２つのバス・ワイヤは、全てのＡＮＤ出力のＯＲ関数であり、その場所の左及び右に通じるブロックのイネーブル信号である。例えば、側部から中間へのワイヤが、全てのＯＲ出力のＡＮＤ関数及びブロックのイネーブル信号である論理的に同等の回路を用いることもできる。論理的に同等の実施形態において、ユニット出力信号（Ｄｉ）及びＤｏ及びＥ１８０は、ユニットによって反転させなければならない。この実施形態は、特定の実施技術によって、より効率的なものとすることができる。
図４の一体化された互接続回路は、外部の線を接続する方法によって、中間ユニット、併合側部ユニット、又は単純な側部ユニットの機能を実行することができる。
【００１３】
中間ユニット１２０（又は５１０）を実施するために、第１バス出力４５０は、同じユニットの第２バス入力４２０に接続される。装置の入力Ｄｉに接続する入力４６０は、第２バス入力４２０にも接続される。側部ユニット４３０及び４７０からの第１バス入力は、それらの第１バス出力１１５を介して２つの異なる側部ユニット１１０に接続されるか、或いは１つ又はそれ以上が用いられない場合には、該第１バス出力は論理０に接続される。第２バス出力４４０は、それらの第２バス入力１１９を介して両方の側部ユニットに接続される。
併合側部ユニット５２０を実施するために、第２バス入力４２０が、別の側部ユニット又は中間ユニットの第２バス出力に接続される。装置の入力Ｄｉに接続する入力４６０は、第２バス入力４２０に接続される。ユニット４３０及び４７０からの第１バス入力は、それらの第１バス出力１１５を介して２つの異なる側部ユニット１１０に接続されるか、或いは１つ又はそれ以上が用いられない場合には、該第１バス出力は論理０に接続される。第２バス出力４４０は、それらの第２バス入力１１９を介して両方の側部ユニットに接続される。
【００１４】
単純な側部ユニット１１０（又は５３０）を実施するために、第２バス入力４２０が、別の側部ユニット又は中間ユニットの第２バス出力に接続される。装置の入力Ｄｉに接続する入力４６０は、第２バス入力４２０に接続される。１つの第１バス入力４３０が、その第１バス出力１１５を介して側部ユニット１１０に接続されるか、或いは該第１バス入力が用いられない場合には、該第１バス入力は論理０に接続される。単純な側部ユニットを実施するために、他の第１バス入力４７０は、常に論理０に接続される。第２バス出力４４０は、その第２バス入力１１９を介して側部ユニットに接続される。
別の実施形態において、図４に示される回路のシリコン技術における実際の実施は、ＡＮＤ・ＯＲゲートではなく、ＮＡＮＤ・ＮＯＲゲートを利用することができる。コンバイナ内のＯＲは、反転バッファに続くＮＯＲゲートとして実施することができる。論理意味が、各々のコンバイナ又は中継器上を横切って交番するのを可能にすることは、多くの場合、より効率的な性能をもたらす。この能力を適合させるために、各々のユニットは、その出力信号Ｄｉが、ユニット内で用いられる前に反転されるべきかどうかを判断する必要がある。
【００１５】
図４に示されるように、コンバイナ及び中継器の機能を実行するために一体化された相互接続回路４１０を用いることにより、各々のユニット１１０、１２０の内部論理又は配線を修正することなく、順序の変更及び階層の変更といった、図１のバス構造体１００を再構成することが容易になる。例えば、多数の一体化された相互接続回路４１０を集積回路内に製造し、バス構造体に対する接続を生成するか又は変更することができる。さらに、図４に示される一体化された相互接続回路を用いて、バスのためのツリー構造体を作ることができる。
【００１６】
図５は、バス・ツリー構造体５００の例を示す。このツリー構造体５００は、図１に示される線形のバス１００と論理的に同等である。この実施形態において、幾つかの中間ユニットを用いて、バスがツリーのような分岐を形成するのを可能にする。この手法は、サイズが大きく変化するサブシステム・ユニットを用いるシステム設計に良く適している。例えば、１つの実施形態において、ユニット５１０は、併合側部ユニットである分岐５２０と、単純な側部ユニットである分岐５３０とを有する１つの中間ユニットである。バス・ワイヤ５０２は、分岐ユニットから中間ユニット５１０にデータを送信する。バス・ワイヤ５０３は、中間ユニット５１０から分岐ユニット５２０、５３０にデータを送信する。併合側部ユニット５２０は、両方が単純な側部ユニットである分岐５４０及び５５０を有する。単純な側部ユニット５３０は、側部ユニット５６０に接続され、該側部ユニット５６０は、併合側部ユニット５７０に接続される。併合側部ユニット５７０は、分岐５８０及び５９０を有する。バス・ツリー構造体５００のユニット間の接続は、必要に応じて再構成することができる。さらに、ツリー構造体のファンアウトは、コンバイナ１６０に付加的な入力を加えることによって、（図示されるように）２から増加させることができる。
【００１７】
図６には、１つの装置から別の装置にデータを送信する方法の例を示し、第１バス１３０は第１装置から中間ユニット１２０にデータを送信し、第２バス１４０は該中間ユニット１２０から第２装置にデータを送信する。データは、第１装置から第１バスに送信される（段階６１０）。データは、第１バスから中間ユニットに送信される（段階６２０）。次に、データは、中間ユニットから第２バスに送信される（段階６３０）。データは、第２バスから第２装置に送信される（段階６４０）。
この方法は、第１装置から第１側部ユニットにデータを送信し（段階６０２）、次に該第１側部ユニットから第１バスにデータを送信する段階（段階６０５）を含むことができる。この方法はまた、中間ユニットから第２バスにデータを送信し（段階６３０）、該第２バスから第２側部ユニットにデータを送信し（段階６３５）、次に該第２側部ユニットから第２装置にデータを送信する段階（段階６３７）を含むこともできる。
【００１８】
ここに開示される本発明の方法及び装置は、従来技術のバス構造体に優る幾つかの利点を提供する。ワイヤのコストは、サブシステム・ユニットの数と共に指数関数的に増加する多重化バス解決法におけるものより著しく少ない。本発明の方法及び装置は、任意の数の間の通信を達成するための理論的な最低値である３状態・バス解決法のワイヤ・コストのわずか２倍の費用しかかからない。
本発明の方法及び装置は、内蔵式中継器を有する。各ユニットにおいては、バス・ワイヤがバッファに入れられ、長い距離を横断しなければならない際に固有の解決法を提供する。
【００１９】
本発明の方法及び装置においてイネーブルにされるブロックがない場合には、管理者又は他の論理への必要性はない。この場合には、全てのバス・ワイヤ上のデータは論理０である。
多数のイネーブル信号が高い場合には、漏れ電流もワイヤを損傷する物理的な危険もない。実際に、多数のイネーブル信号が高い場合には、各ブロックの入力データが、アクティブなイネーブル信号を有するブロックの出力データ値のＯＲ関数となる。幾つかの場合において、この動作は機能的に望ましいものではないが、回路を恒久的に損傷する危険はない。
【００２０】
本発明は、特定のシステム環境における実施形態に関して説明されたが、当業者であれば、他の及び異なるハードウェア及びソフトウェア環境において、添付の特許請求の範囲の精神及び範囲内の修正を用いて、本発明を実行できることを理解するであろう。
【図面の簡単な説明】
【００２１】
【図１】バスの１つの実施形態を示す。
【図２】コンバイナの１つの実施形態を示す。
【図３】中継器の１つの実施形態を示す。
【図４】一体化された相互接続回路の１つの実施形態を示す。
【図５】バス・ツリー構造体の１つの実施形態を示す。
【図６】１つの装置から別の装置にデータを送信する方法の１つの実施形態の例を示す。
【図１】
2005539408.tif 000003
【図２】
2005539408.tif 000004
【図３】
2005539408.tif 000005
【図４】
2005539408.tif 000006
【図５】
2005539408.tif 000007
【図６】
2005539408.tif 000008
【国際調査報告】
2005539408.tif 000009