説明

送信モジュール、受信モジュール、及びシステム

データビットのセットを別のモジュールへ通信バスを介してデュアルエンコーディングを用い送信する、切り替え動作の少ないモジュールが提供される。前記モジュールは、データビットのセットを前のデータビットのセットと比較し、データビットの送信に必要な遷移の数の表示を決定し、データビットの送信に必要な遷移の数がデータビットのセットの全ビット数の半数より大きいと決定された場合、データビットを送信前に反転し、及びデータビットのセットが反転されているか否かの表示を提供するバス反転符号化手段;及び他のモジュールへ通信バスを介しデータビットのセット、それらの対応するコピー及びデータビットのセットが反転されているか否かの表示を送信する手段を有する。前記モジュールはまた、データビットのセットのデータビットの対応するコピーを生成する手段;及び他のモジュールへ通信バスを介しデータビットのセット、それらの対応するコピー及びデータビットのセットが反転されているか否かの表示を送信する手段を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号又はデータバスを有するシステムに関し、特にフォールトトレラントな符号を利用する高速、高集積度回路のバスにおける切り替え動作の減少に関する。
【背景技術】
【0002】
集積回路技術が向上しチップの集積度を高めるに従い、チップ上の相互接続はますます細くなる。この結果、近隣の配線との結合容量が増加し、配線の間の干渉又はクロストークが増加する。
【0003】
集積回路技術における、及び特に1ミクロンより遙かに微細な高速設計における問題の1つは、「グランドバウンス」である。オフチップの配線と接続された出力バッファのドライバは、大電流を供給し大容量の容量性負荷を充電しなければならない。ドライバが同時に切り替わると、大電流の引き込みにより電源電圧の降下が生じる。同様に、バッファが外部の導線に放電する時、大量の電荷がグランド層に放出される。結果として、グランド層の電位が上昇し得る。電源及びグランド層の間の電位差が減少すると、ノイズマージンが減少し及び速度も低下する。従って、完全性の問題が生じる。
【0004】
「グランドバウンス」は、回路の交流及び直流の安定性を向上することにより低減され得ることが知られている。交流安定性は、第1の状態から第2の状態への遷移数が第2の状態から第1の状態への遷移数に等しい場合に達成される。直流安定性は、第1の状態の数が第2の状態の数に等しい場合に達成される。
【0005】
非特許文献1には、グランドバウンスが低減され、同時に切り替え電流も低減される平衡LVDドライバが記載されている。
【0006】
バス又は通信路がデータを回路へ転送する環境が誤りを生じ易い場合、データ送信に利用される符号の誤りを訂正する手段を提供することが望ましい。また、手段は、誤り訂正を提供し、そしてデータは再要求され得る。このようなバス又は通信路は、フォールトトレラントであると考えられる。
【0007】
図1は、一般的なフォールトトレラントなバス構造1を示す。バス構造1は、データをエンコーダー5及びデコーダー7の間で通信する通信バス3を有する。バス3は、出力データ9をエンコーダー5から受信し、そして入力データ11をデコーダー7へ供給する。
【0008】
フォールトトレラントな方法の1つは、「デュアルレールエンコーディング」として知られる。デュアルレールエンコーディングでは、データビットはコピーされ、そしてこのコピーがデータビットに誤りが検出された場合に利用される。データビットの誤りを訂正するために、データビットが誤りを有するかを識別する必要があり、そしてこのためにパリティビットが提供される。ちなみに、データビットとコピービットは同一であり、データ及びコピービットを伝達する2本の線の間のクロストークは、除去される。
【0009】
図2は、従来のデュアルレールのバス構造20を示す。入力データビットd0、d1、d2及びd3は、エンコーダー22へ提供される信号である。データビットd0、d1、d2及びd3の対応するコピーc0、c1、c2及びc3が生成される。パリティビット、dparityは、送信されるべきデータビットに対し、例えば排他的論理和ゲート26、28及び30を有するパリティツリー24を用いて計算される。
【0010】
送信データのパリティビットdparity、データビットd0、d1、d2及びd3、並びにそれらのコピーc0、c1、c2及びc3は、通信バス32を介しデコーダー34へ送信される。
【0011】
送信中に、送信データビット及びそれらのコピービットは、「誤り」になり得る。つまり送信されたビットは、「0」の代わりに「1」として検出され得る。逆も同様にあり得る。従って、デコーダー34で受信されたデータビットD0、D1、D2及びD3、並びにコピーC0、C1、C2及びC3は、エンコーダー22により送信されたデータビットd0、d1、d2及びd3並びにコピービットc0、c1、c2及びc3と同一であるか、又は同一でない可能性がある。データのパリティビット、Rparityは、通信バス32から受信されたデータビットD0、D1、D2及びD3に対し、パリティツリー36により計算される。パリティツリー36は、エンコーダー22のパリティツリー24と同一の構造である。マルチプレクサ制御ビットs0は、データのパリティビットRparityを通信バス32を介して受信されたデータのパリティビットと比較することにより、決定される。この図のシステムでは、比較は排他的論理和ゲート38により実行される。
【0012】
マルチプレクサ制御ビットs0は、訂正回路として動作する複数のマルチプレクサMux0、Mux1、Mux2及びMux3へ供給される。各マルチプレクサMux0、Mux1、Mux2及びMux3は、対応する受信データ信号D0、D1、D2又はD3、及び対応するデータ信号の受信したコピーC0、C1、C2又はC3を受信する。マルチプレクサ制御ビットs0は、各マルチプレクサが受信データ信号又はデータ信号の受信したコピーの何れを出力するかを制御する。
【0013】
受信データのパリティビットRparityが、受信したデータパリティビットと同一である場合、マルチプレクサ制御ビットs0は「0」であり、マルチプレクサMux0、Mux1、Mux2及びMux3に指示し、受信データビットD0、D1、D2及びD3を出力させる。データパリティビットRparityが、受信したデータパリティビットと異なる場合、マルチプレクサ制御ビットs0は「1」であり、マルチプレクサMux0、Mux1、Mux2及びMux3に指示し、送信データビットの受信されたコピーC0、C1、C2及びC3を出力させる。
【0014】
しかしながら、デュアルレールエンコーディングシステムには、同時に切り替わる線が、シングルレールシステムの2倍存在するので、グランドバウンスの問題が増大する。
【発明の開示】
【発明が解決しようとする課題】
【0015】
データバスを介してデータを送信するデュアルエンコーディングを利用する集積回路内の切り替え動作を減少し、同時にグランドバウンスを低減又は除去する必要がある。
【課題を解決するための手段】
【0016】
本発明の第1の態様によると、データビットのセットを別のモジュールへ通信バスを介し送信するモジュールが提供される。前記モジュールは、モジュールの動作中に通信バスの遷移の数を低減するバス反転符号化手段;データビットのセットのデータビットの対応するコピーを生成する手段;他のモジュールへ通信バスを介しデータビットのセット、それらの対応するコピー及びデータビットのセットが反転されているか否かの表示を送信する手段を有する。前記バス反転符号化手段は、データビットのセットを前のデータビットのセットと比較し、データビットの送信に必要な遷移の数の表示を決定する。前記モジュールは、データビットの送信に必要な遷移の数がデータビットのセットの全ビット数の半数より大きいと決定された場合、データビットを送信前に反転し、及びデータビットのセットが反転されているか否かの表示を提供する。
【0017】
本発明のある実施例では、データビットの対応するコピーを生成する手段は、対応するコピーを更に反転する。
【0018】
望ましくは、第1のパリティビットをデータビットのセットから生成する手段が提供され、及び前記手段は、第1のパリティビットを他のモジュールへ更に送信する。
【0019】
望ましくは、第1のパリティビットを生成する手段は、1つ以上の論理ゲートを有する。
【0020】
望ましくは、第1のパリティビットのコピーを生成する手段が提供され、及び前記手段は、第1のパリティビットのコピーを他のモジュールへ更に送信する。
【0021】
ある実施例では、第1のパリティビットのコピーを生成する手段は、第1のパリティビットのコピーを更に反転する。
【0022】
望ましい実施例では、データビットのセットが反転されているか否かの表示は、第1のパリティビット及びその対応するコピーに符号化される。
【0023】
望ましくは、データビットのセットがバス反転符号化手段により反転されている場合、第1のパリティビット及びその対応するコピーは、送信前に反転される。
【0024】
代案として、データビットのセットがバス反転符号化手段により反転されていない場合、第1のパリティビット及びその対応するコピーは、送信前に反転される。
【0025】
別の実施例では、表示は反転信号を有する。
【0026】
望ましくは、反転信号のコピーを生成する手段が提供され、及び前記手段は、反転信号のコピーを他のモジュールへ更に送信する。
【0027】
望ましくは、反転信号のコピーを生成する手段は、反転信号のコピーを更に反転する。
【0028】
本発明の第2の態様によると、データビットのセットを別のモジュールから通信バスを介して受信するモジュールが提供される。前記モジュールは、データビットのセット、データビットのセットの対応するコピー、及びデータビットのセットが反転されているか否かの表示を受信する手段;データビットのセットが反転されているか否かの表示がデータビットのセットは反転されていないと示す場合、受信データビットをモジュールの出力として選択し、及び前記表示がデータビットのセットは反転されていると示す場合、受信データビットの反転をモジュールの出力として選択する手段、を有する。
【0029】
ある実施例では、データビットのセットの対応するコピーは、データビットのセットの反転されたコピーである。
【0030】
望ましくは、前記モジュールは、受信データビットのセット内の1つ以上の誤りの存在を検出する手段を有する。
【0031】
望ましくは、受信する手段は、第1のパリティビットを他のモジュールから更に受信し、及び前記モジュールは、第2のパリティビットを受信データビットのセットから更に生成する。 受信データビットのセット内の1つ以上の誤りの存在を検出する手段は、第1及び第2のパリティビットを比較する。
【0032】
ある実施例では、前記モジュールは、受信データビットのセット内の誤りを訂正する手段を更に有し、前記誤りを訂正する手段は、受信データビット又はその対応するコピーを検出する手段により出力された制御信号に応じて出力する
望ましくは、受信する手段は、第1のパリティビットを他のモジュールから更に受信する。
【0033】
望ましい実施例では、データビットのセットが反転されているか否かの表示は、受信した第1のパリティビット及びそのコピーに符号化される。
【0034】
望ましくは、前記モジュールは、第3のパリティビットをデータビットのセットの対応するコピーから生成する手段、及び受信した第1のパリティビット、受信した第1のパリティビットのコピー、第2のパリティビット及び第3のパリティビットを比較しデータビットのセットが反転されているか否かを決定する手段を更に有する。
【0035】
別の実施例では、表示は反転信号を有する。
【0036】
望ましくは、受信する手段は、反転信号を他のモジュールから更に受信する。
【0037】
望ましくは、反転信号のコピーは、反転信号の反転されたコピーである。
【0038】
望ましくは、前記モジュールは、受信した反転信号又はその対応するコピー内の誤りの存在を検出する手段を更に有する。
【0039】
望ましくは、前記モジュールは、受信した反転信号又はその対応するコピー内の誤りの存在を検出する手段は、受信した反転信号及びその対応するコピーを比較する。
【0040】
本発明の第3の態様によると、以上に説明されたような送信モジュール、及び以上に説明されたような受信モジュールを有するシステムが提供される。これらモジュールは、通信バスを介して接続される。
【発明を実施するための最良の形態】
【0041】
本発明の更なる理解のため、及び効果を明らかにするため、例として添付の図を参照する。
【0042】
以上に説明された従来のデュアルレールエンコーダーでは、入力データビットd0、d1、d2及びd3のコピーは、送信モジュールで生成され、そしてこれらコピーは受信モジュールにより受信データビットDO、Dl、D2及びD3で検出された誤りを訂正するために利用される。
【0043】
送信モジュールの出力における通信バスへの各データ線は、データ線の信号と同一のコピーを伝達する対応する線を有するので、グランドバウンス及び同時切り替えの問題は、データビットのコピーを利用しないシステムに比べて増大する。
【0044】
例えば、各データ線がHigh信号(つまり1111)を有する4本線のバスを検討する。各データ線でLow信号への遷移が生じた場合(つまり4回の遷移が要求される)、大量の電荷がグランド層へ放出され、「グランドバウンス」を生じる。
【0045】
4本線のバスがデュアルレールエンコーディングを利用する場合、4本のデータ線のそれぞれに別の線が存在し、別の線のそれぞれはそれらの対応するデータ線の信号のコピーを伝達する。従って、各データ線がHigh信号を伝達する場合(及び従って各コピー線もHigh信号を伝達する)、各データ線ではHigh信号からLow信号への遷移が生じ、その結果、8本の線でグランド層への放電が生じ、つまり通常の4本線のバスの場合の2倍の「グランドバウンス」が生じそして2倍の遷移(つまり8回)が要求される。
【0046】
デュアルレールエンコーディングを利用する構造のグランドバウンスの問題を低減するため、データ送信に利用される符号の交流及び直流の安定性が向上される。つまり、交流及び直流の安定性は、High信号からLow信号へ遷移する線の数がLow信号からHigh信号へ遷移する線の数と同一であり、且つHigh信号を伝達する線の数がLow信号を伝達する線の数と同一の場合に、達成される。
【0047】
図3は、グランドバウンスが低減されたデュアルレールエンコーディングを利用するシステムを示す。システム50は、データビットd0、d1、d2及びd3を伝達する4本の入力データ線を有する。
【0048】
以上に説明されたように、データビットd0、d1、d2及びd3を伝達するデータ線に加え、データビットのコピーを伝達する線が設けられる。
【0049】
しかしながら、システム50の交流及び直流の安定性は、通信バス54を介してデータを送信する前に、データビットの対応するコピーを伝達する線の信号を反転することにより向上される。
【0050】
従って、データビットのコピーは対応するインバーター56、57、58及び59により反転され、c0、c1、c2及びc3として示される(図3から分かるように、c0、c1、c2及びc3はデータ線で送信されるビットの反転されたコピーを表し、図2に示されるような非反転のコピーとは異なる)。
【0051】
データビットを伝達する通信バス54への各線は、データビットの反転されたコピーを伝達する線をそれぞれ有する。High信号を伝達する線の数は、Low信号を伝達する線の数と同一である。従って、送信モジュール52の出力で直流は安定している。遷移が生じる時、第1の状態から第2の状態へ遷移する如何なるデータビットも、第2の状態から第1の状態へ遷移する対応する反転されたコピーを伴うので(逆も同様)、High信号からLow信号への遷移の数は、Low信号からHigh信号への遷移の数と同一である。従って、送信モジュール52の出力で交流は安定している。従って、データ線の遷移により生じる通信バス54のグランドバウンスの問題は、低減される。
【0052】
データビットd0、d1、d2及びd3並びにそれらの対応する反転されたコピーc0、c1、c2及びc3は、送信モジュール52の出力を形成し、受信モジュール60へ通信バス54を介して送信される。
【0053】
留意すべき点は、送信及び受信モジュール52、60は、通信バス54と別の回路要素ではなく、それらは単一の統合されたユニットを形成し得ることである。特に、送信モジュール52は、通信バス54のドライバであって良く、及びモジュール60は受信部であって良い。
【0054】
通信バス54を介した送信中に、送信データビット及びそれらの対応する反転されたコピーは、「誤り」になり得る。つまり送信されたビットは、「0」の代わりに「1」として検出され得る。逆も同様にあり得る。従って、受信モジュール60内のデータビットD0、D1、D2及びD3、並びに対応する反転されたコピーC0、C1、C2及びC3は、送信モジュール52により送信されたデータビットd0、d1、d2及びd3並びに対応する反転されたコピービットc0、c1、c2、c3と同一であるか、又は同一でない可能性がある。
【0055】
受信モジュール60では受信データビットD0、D1、D2及びD3の誤りを検出するため、パリティビットdparityは、送信モジュール52により計算され、そして受信モジュール60へ提供される。このパリティビットは、送信モジュール52において、送信されるべきデータビットに対し、パリティツリー62を用いて計算される。パリティツリー62は、この図示されたシステムでは3個の排他的論理和ゲートを有する。しかしながら、パリティツリー62は、論理ゲートの他の組み合わせを有して良いことが理解されるだろう。
【0056】
送信モジュール52は、次に送信データのパリティビットdparityを受信モジュール60へ、データビットd0、d1、d2及びd3並びにそれらの対応する反転されたコピーc0、c1、c2及びc3と共に、通信バス54を介して送信される。
【0057】
受信モジュール60は、受信データのパリティビットRparityを、受信データビットD0、D1、D2及びD3に対し計算する。データパリティビットRparityは、パリティツリー64を用いて計算される。パリティツリー64は、送信モジュール52のパリティツリー62と同一の構造を有する。
【0058】
受信モジュール60は、受信データのパリティビットRparityを通信バス54を介して受信されたパリティビットと比較する。この図のシステムでは、比較は排他的論理和ゲート66により実行される。しかしながら、比較は他の種類の論理和ゲートにより実行されて良いことが理解されるだろう。排他的論理和ゲート66の出力は、マルチプレクサ制御ビットs0である。
【0059】
マルチプレクサ制御信号s0は、受信モジュール60の訂正回路として動作する複数の2入力のマルチプレクサMux0、Mux1、Mux2及びMux3へ供給される。各マルチプレクサMux0、Mux1、Mux2及びMux3は、対応する受信データビットD0、D1、D2又はD3、及びデータ信号の対応する受信した反転されたコピーC0、C1、C2又はC3を受信する。
【0060】
従来のように、マルチプレクサ制御ビットs0は、マルチプレクサに入力されたどちらの信号がマルチプレクサの出力として利用されるべきかを決定する。マルチプレクサ制御ビットがLow(つまり「0」)の場合、マルチプレクサの出力は受信データビットである。しかしながら、マルチプレクサ制御ビットがHigh(つまり「1」)の場合、マルチプレクサの出力は、受信された関連するデータビットの反転されたコピーである。
【0061】
しかしながら、受信データビットD0、D1、D2又はD3の誤りがマルチプレクサMux0、Mux1、Mux2及びMux3により訂正されるために、受信されたデータビットの反転されたコピーC0、C1、C2又はC3は、受信データビットに対応して反転されなければならない。
【0062】
図3は、これを達成する第1の構造を示す。ここで、各受信データビットD0、D1、D2又はD3は、対応するマルチプレクサMux0、Mux1、Mux2及びMux3へ入力される前に、対応するインバーター68、69、70及び71により反転される。マルチプレクサの出力は、所望の信号の反転であるので、更にインバーター72、73、74及び75は、マルチプレクサMux0、Mux1、Mux2及びMux3の出力をそれぞれ反転し、受信モジュール60の出力信号、つまり信号out0、out1、out2及びout3を形成する。
【0063】
図4は、受信データビットに対応する、受信されたデータビットの反転されたコピーを反転する別の構造を示す。ここで、受信された反転されたコピーC0、C1、C2及びC3のそれぞれは、対応するマルチプレクサMux0、Mux1、Mux2及びMux3へ入力される前に、対応するインバーター76、77、78及び79により反転される。
【0064】
従って、これら両方の構造では、受信データのパリティビットRparityが、受信したデータパリティビットと同一である場合、マルチプレクサ制御ビットs0は「0」であり、マルチプレクサMux0、Mux1、Mux2及びMux3に指示し受信データビットD0、D1、D2及びD3を出力させる。しかしながら、受信データのパリティビットRparityが、受信したデータパリティビットと異なる場合(及び従って受信データビットD0、D1、D2及び/又はD3が送信データビットd0、d1、d2及びd3と異なる場合)、マルチプレクサ制御信号s0は「1」であり、マルチプレクサMux0、Mux1、Mux2及びMux3に指示し送信データビットの受信されたコピーC0、C1、C2及びC3を出力させる。
【0065】
このシステムでは、単一の誤りモデルを想定する。つまり、単一の誤りだけが受信データ又はパリティビットに生じるとする。従って、受信データ、受信したコピービット又は受信したパリティビットに誤りが生じ得る。従って、受信したパリティビットが受信データビットから生成されたパリティビットと異なる場合、データビットに誤りが存在するか、又は受信したパリティビットに誤りが存在するかの何れかである。これは、受信データが正しく且つ受信したパリティビットが誤りである場合、コピービットが受信モジュールの出力として利用されることを意味する(単一の誤りモデルを想定しているので、コピービットは正しい)。
【0066】
以上に説明されたデュアルエンコーディングシステムでは、パリティビットが受信モジュール60へデータビット及びそれらの対応する反転されたコピーと共に送信される場合、送信では完全に交流及び直流が安定していない。
【0067】
交流及び直流の完全な安定性を達成するため、送信モジュールは、データパリティビットの反転されたコピーを生成し、そしてこれを受信モジュールへデータビット、それらの対応する反転されたコピー、及び送信データパリティビットdparityと共に送信する。
【0068】
図5は、交流及び直流が完全に安定したシステムを示す。図5では、図3及び4に示されるシステムと共通する特徴は、同一の参照符号を付される。
【0069】
以上に説明されたように、通信バス54を介する通信で、完全な交流及び直流の安定性を達成するために、送信データのパリティビットdparityはコピーされ、(インバーター76により)反転され、そして通信バス54を介して受信モジュール60へ送信される。従って、各データ線はコピーの反転を有し、且つ送信パリティビットdparityはコピーの反転dparity’を有するので、送信では完全に交流及び直流が安定する。従って、通信バス54における遷移により生じるグランドバウンスの問題が除去される。
【0070】
受信モジュール60では、受信したデータパリティビットのコピーの反転は、抵抗78を介してグランド層へ放電される。
【0071】
通信バスにおける遷移により生じるグランドバウンスの問題は、低減されるが、システムの切り替え動作はシングルレールシステムより依然として高い。
【0072】
従って、本発明の第1の態様によると、バスのデータ線の半数より多くが切り替えられる場合、バス反転符号が利用され遷移の数を減らす。受信端では、バスのデータの反転された状態が検出され、そして正しいデータを読み出すことができる。この技術は、半数以上の線が一度に切り替えられる必要がなく、システムの切り替え動作を減少させることを意味する。
【0073】
バス反転符号の例として、バスを介して送信される第1のデータワード1100を考える。バスを介して次に送信されるべきワードは0010である。つまり、従来のシステムでは、初めの3本の線のそれぞれで遷移があることを意味する。
【0074】
しかしながら、半数より多くの線が一度に切り替わる場合、この例では、バス反転符号が利用される。つまり所望のワードの反転がバスを介して送信されることを意味する。従って、以上の例では、バスのコンテンツは反転され、従って第2のワードが1101として送信される。これは受信部で反転され、所望のワード(0010)を得る。従って、この技術はバスを介した3個の遷移を(第4の線の)1つだけに減らす。
【0075】
図6は、本発明の第1の態様による送信モジュールの実施例を示す。
【0076】
送信モジュール102は、通信バス104を介して送信されるべきデータを受信する4個の入力線103を有する。勿論、送信モジュールは4個より多い又は少ない線を有して良いことが理解されるだろう。
【0077】
送信モジュール102が動作している場合、データビットは通信バス104へ出力されている。適切な時間間隔の後、送信モジュール102は通信バス104へデータビットの新しいセットを出力する。
【0078】
図6では、バス104を介して現在送信されているデータビットは、d0、d1、d2及びd3として示される。本発明によると、バス104を介して送信されるデータビットは、反転され得るので、各線105を介し通信バス104を介して送信されるデータビット(d0、d1、d2及びd3)は、送信モジュール102の入力線103により受信された元のデータビットと同一でない可能性がある。入力線103で受信された元のデータビットは、対応するラッチ106により格納され、それぞれdin0、din1、din2及びdin3と示される。ここで、これらデータビット(din0、din1、din2及びdin3)は、纏めて「第1のデータワード」と称される。
【0079】
第1のデータワード(d0、d1、d2及びd3)が送信される間、第1のデータワードの後に送信モジュールにより送信されるべきデータビットの次のセットは、入力線103で受信される。このセットのデータビットは、それぞれdin4、din5、din6及びdin7と示される。ここで、これらデータビット(din4、din5、din6及びdin7)は、纏めて「第2のデータワード」と称される。
【0080】
従って、本発明のこの図示された実施例によると、送信モジュール102は、送信されるべきデータビットを受信する入力線103を有する。これらの線103は、対応するラッチ106と接続される。これらのラッチは、通信バス104を介して現在送信されているワードの元のデータビット(din0、din1、din2及びdin3)を格納する。各ラッチ106の出力は、対応する排他的論理和ゲート108の1つの入力と接続される。各排他的論理和ゲート108の他の入力は、data_invert信号を受信する。data_invert信号は、データを反転し現在のデータワードを送信するべきか否かを示す。
【0081】
従来良く知られているが、1つの排他的論理和ゲート108の真理値表を以下に示す。
【0082】
【表1】

表から分かるように、データが反転されない(つまり、data_invertが「0」)と決定された場合、データ線105への排他的論理和ゲートの(及び従って送信モジュール102の)出力dは、入力線103で受信された元のデータビットdinと同一である。しかしながら、データが反転される(つまり、data_invertが「1」)と決定された場合、排他的論理和ゲートの(及び従って送信モジュール102の)出力dは、入力線103で受信された元のデータビットdinの反転である。
【0083】
以上に図3、4及び5を参照して説明されたように、線105を通じて送信されるデータビット(d0、d1、d2及びd3)のコピーは生成され、そして対応するインバーター110により反転され、デュアルレールシステムのグランドバウンスを低減する。図6に示されるモジュールでは、これらデータビットは、再びそれぞれc0、c1、c2及びc3と示される。
【0084】
第2のワードのデータビット(din4、din5、din6及びdin7)が送信される時に反転されるべきか否かを決定するため、第2のワードを前のデータワードのビットと比較する必要がある。この比較は、第1のセットの後にデータビットの第2のセットを送信するために必要な遷移の数が、データワードの全ビット数の半数より多いか否かを決定する。遷移の数が全データビット数の半数より多い場合、次のデータワードは、送信の前に反転される。
【0085】
この図示された実施例では、比較は排他的論理和ゲート112及び比較回路114により実行される。各排他的論理和ゲート112は、現在の送信データビット(d0、d1、d2及びd3)を1つの入力として、及び送信されるべき次のデータビット(din4、din5、din6及びdin7)を他の入力として有する。
【0086】
従って、現在の送信データビットが送信されるべき次のデータビットと異なる場合、排他的論理和ゲート112の出力は「1」である。しかしながら、現在の送信データビットが送信されるべき次のデータビットと同一である場合、出力は「0」である。
【0087】
排他的論理和ゲート112の出力は、比較回路114へ供給される。比較回路114は、半数より多くの線が第2のデータワードの送信時に変化するかを決定する。図6にこれを実行するある回路を示す。この回路は3個のORゲート及び4個のANDゲートを有する。この構成(排他的論理和ゲート112を含む)は例であり、2つの連続するデータワードを比較するために多くの他の回路が利用されて良いことが理解されるだろう。
【0088】
比較回路114が半数より多くの線が次のバス遷移で変化すると決定した場合(つまり排他的論理和ゲート112の出力の半数以上が「1」である場合)、この例である比較回路の出力は、「1」である(送信前にデータが反転されることを示す)。しかしながら、比較回路114が半数の又は半数より少ない線が次のバス遷移で変化すると決定した場合、比較回路114の出力は「0」である(データが反転されないことを示す)。留意すべき点は、この信号は第2のデータワードのdata_invert信号であることである。
【0089】
ラッチ106は、比較回路114の出力に設けられ、第1のデータワードは通信バス104を介して送信される間、第1のデータワードのdata_invert信号を格納する。留意すべき点は、第1のデータワードのdata_invert信号は、第1のデータワードビット(din0、din1、din2及びdin3)をバス104を介して送信されたビットと、第1のデータワードの送信前に比較することにより得られる。
【0090】
以上に説明されたように、ラッチ106の出力、data_invert信号は、排他的論理和ゲート108の第2の入力へ提供される。排他的論理和ゲート108は、データが反転される場合、ビット(din0、din1、din2及びdin3)を送信前に反転する。
【0091】
更に、受信端で読み出されるべき正しいデータのため、第2のデータワードが反転されているか否かの表示は通信バス104を介し受信モジュールへ送信される。この図示された実施例では、data_invert信号は表示であり、通信バス104を介し線118の受信モジュールへ送信される。
【0092】
望ましくは、システムの交流及び直流の安定性を維持するため、及び従って通信バス104を介し送信されるデータのコピーを反転することによりグランドバウンスの低減を達成するため、data_invert信号のコピーは、送信モジュール102で生成され、インバーター120により反転され信号data_invert’を形成し、そして線122で通信バス104を介して送信される。
【0093】
望ましくは、受信モジュールに受信データビットの誤りを訂正させるために、パリティ信号dparityは、パリティツリー124により生成される。図2乃至5を参照して以上に説明されたように、パリティ信号dparityは、送信されているデータビット(d0、d1、d2及びd3)から生成される。
【0094】
パリティ信号は、第1のデータワード(din0、din1、din2及びdin3)を構成するビットからも生成され得ることが理解されるだろう。データワードはパリティを変更しないので、パリティ信号dparityは、どちらの場合も同一である(信号のセットから生成されたパリティは、それら信号の反転されたコピーから生成されたパリティと同一である)。
【0095】
また以上に説明されたように、パリティ信号の反転されたコピーは、インバーター126により生成され、そして通信バス104を介し送信され、システムの交流及び直流の安定性を維持する。
【0096】
また、パリティ信号dparityの遷移はデータを反転するか否かを決定する時に考慮され得ることが理解されるだろう。例えば、この場合(図6に示されない)、現在送信されているデータワードのパリティ信号は、データ線の信号と同様の方法で処理され得る。つまり、現在のパリティ信号は、次のデータワードのパリティ信号と比較され、そしてこの比較の結果は、比較回路114へ入力され得る。
【0097】
更に、data_invert信号の遷移はデータを反転するか否かを決定する時に考慮すること可能である。
【0098】
当業者は、これら選択肢を図6に示されたようなシステムで実施する多くの異なる方法が存在することを理解するだろう。
【0099】
図7は、本発明の第1の態様による受信モジュールの実施例を示す。
【0100】
受信モジュール128は、通信バス104と接続され、送信データビットD0、D1、D2及びD3及びそれらの対応する反転されたコピーC0、C1、C2及びC3を受信する。
【0101】
受信モジュール128は、図4を参照して説明されたように、マルチプレクサ(Mux0、Mux1、Mux2及びMux3)へ入力するデータビットの受信したコピーを反転する対応するインバーター76、77、78及び79を有する。受信モジュールはまた、パリティビットRparityを受信データビットから生成するパリティツリー64を有する。このパリティビットは、受信したパリティビットDparityと比較され、そして以下に示されるように、マルチプレクサの制御ビットs0を決定する。
【0102】
以上に説明されたように、半数より多い線がデータワードの送信開始時に切り替わる場合、全ての信号がバス104を介し送信される前に反転される。従って、受信モジュールの出力(out0、outl、out2及びout3)で正しいデータを提供するため、各マルチプレクサの出力は、対応する排他的論理和ゲート130と接続される。各排他的論理和ゲート130の第2の入力は、受信したバス反転信号Data_invertにより提供される。
【0103】
従って、バスのデータが反転され(つまりData_invert信号が「1」である)、及びマルチプレクサの出力は正しい信号の反転である場合、排他的論理和ゲート130は、信号を反転するよう動作し正しい出力を提供する。バスのデータが反転されていない場合(つまりData_invert信号は「0」)、排他的論理和ゲート130は、マルチプレクサの出力で信号を出力する。
【0104】
受信した反転されたデータパリティビットDparity’、及び受信した反転された反転信号Data_invert’は、抵抗を介して接地される。
【0105】
代案として、受信した反転された反転信号Data_invert’は、受信した反転信号Data_invertの誤りを検査するために利用され得る。受信した反転信号及び受信した反転された反転信号に如何なる誤りも生じていない場合、信号は互いに逆である。しかしながら、受信した反転信号及び受信した反転された反転信号の何れかで誤りが生じている場合、信号は同一である。従って、この状況では、どちらの反転信号が誤りを有しているか決定できないので、データの送信が要求されなければならない。
【0106】
本発明の第1の態様による以上に説明された実施例は、切り替え動作を低減したデュアルレールエンコーディング構造を提供することが明らかであろう。
【0107】
以上に説明されたシステムの不利点の1つは、反転表示信号及びその反転を受信モジュールへ送信するために追加の線が必要であることである。
【0108】
従って、本発明の第2の態様によると、データビットの第2のセットが反転されているか否かの表示は、パリティ信号及びそのコピーに符号化される。
【0109】
図8は、本発明の第2の態様による送信モジュールの実施例を示す。
【0110】
図8に示されるモジュールは、図6に示されたモジュールと共通の多くの構成要素を有する。これら構成要素は、同一の参照符号を付される。
【0111】
この図示された実施例では、パリティ信号dparity及びdparity’は、信号対と考えられ、両方ともバス104のデータ信号が反転された場合に反転される。
【0112】
以上に説明されたように、ラッチ116の出力(現在バス104を介して送信されているデータのデータ反転信号)が利用され、排他的論理和ゲート108の動作を制御する。更に、data_invert信号は、排他的論理和ゲート132へ、パリティツリー124により生成されたパリティ信号と共に入力される。排他的論理和ゲート132は、バス104のデータが反転される場合、パリティ信号を反転するよう動作する。又は排他的論理和ゲート132は、バス104のデータが反転されない場合、非反転パリティ信号を通過させるよう動作する。ゲート132の出力dparityは、バスのデータが反転されていない場合、データのパリティと等しく、バスのデータが反転されている場合、データのパリティの反転と等しい。このパリティ信号は、線134でバス104を介して送信される。
【0113】
dparityの反転されたコピーは、インバーター136により生成され、また線138でデータバス104を介して送信される。留意すべき点は、dparity’はdparityの反転されたコピーであり、パリティツリー124の出力の反転ではないことである。
【0114】
従って、バス104のデータが反転されている場合、送信されたパリティ及び反転されたパリティは、それらの期待値の反転である。
【0115】
図9は、本発明の第2の実施例による受信部を示す。留意すべき点は、パリティビットはバスのデータの反転を示すために利用されるので、システムはもはや受信信号の誤りを訂正できないことである。しかしながら、受信データの誤りを検出しそして必要ならば再送信を要求可能である。
【0116】
受信モジュールは、通信バス104と接続され、送信データビットD0、D1、D2及びD3及びそれらの対応する反転されたコピーC0、C1、C2及びC3、並びにパリティ及び反転されたパリティ信号Dparity及びDparity’を受信する。
【0117】
図7に示された受信モジュールと対照的に、本発明のこの実施例による受信モジュール128は、誤りを訂正できないので、受信したデータビットD0、D1、D2及びD3は、各排他的論理和ゲート130へ直接接続される。従来通り、これらのゲートは、バスのデータが送信のため反転されると決定された場合、受信データを反転するよう機能する。
【0118】
受信モジュール128では、バス104のデータが反転されているか(及び従って受信モジュール128の出力は、正しいデータを得るため反転されるべきか)決定するため、受信パリティ信号は、受信データと比較される。以上に説明されたように、データビットのセットから計算されたパリティは、それらデータビットの反転されたセットから計算されたパリティと同一である。従って、受信モジュール128が受信データのパリティと受信したパリティを比較する場合、それぞれの受信したパリティと計算されたパリティの相違は、バス104のデータが送信のため反転されていること、及び正しいデータを得るため受信モジュール128の出力が反転されるべきであることを示す。
【0119】
従って、受信データのパリティビットRparityは、パリティツリー64により計算され、そして排他的論理和ゲート66により受信したパリティビットDparityと比較される。ゲート66の出力はs0と示される。受信データビットから計算されたパリティRparityが受信したパリティビットDparityと同一の場合、s0は「0」である。しかしながら、RparityがDparityと異なる場合、s0は「1」である。
【0120】
第2のパリティツリー140は、パリティビットCparityを受信したデータビットのコピー(C0、C1、C2及びC3)から計算する。このパリティビットは、インバーター142により反転され、そして受信した反転されたパリティDparity’と排他的論理和ゲート144により比較される。ゲート144の出力はt0と示される。受信したデータビットのコピーの反転から計算されたパリティの反転(Cparityの反転)が受信したパリティビットの反転Dparity’と同一の場合、t0は「0」である。しかしながら、Cparityの反転がDparity’と異なる場合、t0は「1」である。
【0121】
信号s0及びt0の比較はANDゲート146により実行され、その出力は各排他的論理和ゲート130と接続される。従って、s0及びt0の両方が「1」の場合(つまり、それらがRparityはDparityと等しくなく、及びCparity’はDparity’と等しくないと示す場合)、ANDゲート146の出力は「1」であり、排他的論理和ゲート130に受信データビットD0、D1、D2及びD3を反転させる。従って、s0及びt0の両方が「0」の場合(つまり、それらがRparityはDparityと等しく、及びCparityはDparity’と等しいと示す場合)、ANDゲート146の出力は「0」であり、排他的論理和ゲート130に受信データビットD0、D1、D2及びD3を通過させる。
【0122】
しかしながら、s0及びt0の一方が「1」であり他方が「0」である場合、送信中に、受信データビット、受信した反転されたコピー又は受信したパリティの何れかに誤りが生じている。
【0123】
従って、s0及びt0を入力として有する排他的論理和ゲート148が設けられる。排他的論理和ゲート148は、送信が誤りを有するか否かを示す信号(status_signal)を出力する。従って、s0及びt0が異なる場合、排他的論理和ゲート148の出力は「1」であり、誤りを示す。これは、次に現在の受信データを廃棄し、再送信を要求するために利用され得る。s0及びt0が同一の場合、排他的論理和ゲート148の出力は「0」であり、如何なる誤りも検出されなかったことを示す。
【0124】
status_signalが誤りを示す場合、複数の原因が考えられる(留意すべき点は、このシステムでは単一の誤りモデルが想定されていることである)。
【0125】
第1の原因は、受信したパリティDparity及びDparity’は等しいことである。この場合、バス104のデ―タの状態は不定なので(つまりデータが送信前に反転されたか否か不明である)、どちらのパリティが誤りを有するか決定することができない。
【0126】
第2の原因は、受信データビット(D0、D1、D2又はD3)又はデータ信号の受信した反転されたコピー(C0、C1、C2又はC3)に誤りが存在することである。受信データのパリティ(Rparity)とデータビットの受信した反転されたコピーのパリティ(Cparity)が異なる場合、これはデータビット又はデータビットの反転されたコピーに誤りが存在することを示す。しかしながら、この誤りを訂正することはできず、再送信が要求される。
【0127】
本発明の第2の態様は、デュアルエンコーディング構造において、専用のバス反転信号を要求することなく、切り替え動作を減少させる利点を有することが理解されるだろう。
【0128】
図10は、本発明の第2の態様による送信モジュールの別の構成を示す。
【0129】
この送信モジュール102では、排他的論理和ゲート108はそれらの対応するラッチ106の前に置かれる。これは、データは、データがラッチに格納される前に反転され、そしてバス104へ送信されることを意味する。反転された第2のデータワードビットは、d4、d5、d6及びd7と示される。排他的論理和ゲート108を制御するデータ反転信号は、比較回路114の出力から直接取り込まれる。
【0130】
この構成の利点は、ラッチ106と反転信号の間のタイミングの不一致によるバス104の誤作動が回避されることである。更に、(例えば、図8に示されるモジュールで)以前はラッチ106の切り替え及びゲート108の切り替え信号の反転によりバス104に引き起こされた誤りが低減される。
【0131】
また、バス反転符号は、図2に示されるような従来のデュアルレールシステムで利用され得ることが理解されるだろう。この場合、通信バスを介して送信されているデータの状態は、別のバス線で送信されるデータ反転信号により、又は図8及び10に示されるシステムと同様の方法で複数の信号及びそれらの対応するコピーのデータの状態を符号化することにより示され得る。
【0132】
この後者の場合、受信モジュールで受寸された両方のパリティ信号が、受信データビットから計算されたパリティの反対を有する場合、データは送信前に反転され、そして受信データビットは正しいデータワードを得るため反転される。パリティが期待値を有する場合(つまり、それら両者が受信データビットから計算されたパリティと一致する場合)、データは送信前に反転されない。受信したパリティが異なる場合、誤りがパリティビットの一方で生じている。
【0133】
再び、データビットの状態がパリティ信号及びそのコピーに符号化されている場合、受信データの誤りを訂正することはできないが、誤りの検出は依然として可能である。
【0134】
本発明の更なる利点は、バス反転符号回路は、通信バスの切り替え動作を低減する必要がない場合は、オフに切り替えられ得ることである。これは、data_invert信号を単一の値に「固定」し、それによりデータの反転を防止することにより達成され得る。
【0135】
本発明は、デュアルエンコーディングを利用するシステムを参照して説明及び図示されたが、本発明はこのようなシステムに限定されないことが明らかであり、及び当業者には本発明の多くの他の適用が明らかであろう。
【0136】
従って、通信バスにおいてグランドバウンスを低減し、及び切り替え動作が低減する方法及びシステムが提供される。
【0137】
留意すべき点は、以上に説明された実施例は、本発明を制限するものではないことである。当業者は、請求の範囲から逸脱することなく、多くの代替の実施例を考案できるだろう。「有する」の表現は、請求項に記載された以外の構成要素又は段階の存在を排除するものではない。
【図面の簡単な説明】
【0138】
【図1】一般的なフォールトトレラントなバス構造を示す。
【図2】従来のデュアルレールのバス構造を示す。
【図3】グランドバウンスが低減されたデュアルレールエンコーディングを利用するシステムを示す。
【図4】グランドバウンスが低減されたデュアルレールエンコーディングを利用する別のシステムを示す。
【図5】グランドバウンスが低減されたデュアルレールエンコーディングを利用する別のシステムを示す。
【図6】本発明の第1の実施例による送信モジュールを示す。
【図7】本発明の第1の実施例による受信モジュールを示す。
【図8】本発明の第2の実施例による送信モジュールを示す。
【図9】本発明の第2の実施例による受信モジュールを示す。
【図10】本発明の第2の実施例による送信モジュールの別の構成を示す。

【特許請求の範囲】
【請求項1】
モジュールであって、データビットのセットを別のモジュールへ通信バスを介し送信し、前記モジュールは:
前記モジュールの動作中に前記通信バスの遷移の数を低減するバス反転符号化手段;
データビットのセットのデータビットの対応するコピーを生成する手段;
他のモジュールへ前記通信バスを介し前記データビットのセット、それらの対応するコピー及び前記データビットのセットが反転されているか否かの表示を送信する手段
を有し、前記バス反転符号化手段は:
前記データビットのセットを前のデータビットのセットと比較し、前記データビットの送信に必要な遷移の数の表示を決定し;
前記データビットの送信に必要な遷移の数が前記データビットのセットの全ビット数の半数より大きいと決定された場合、前記データビットを送信前に反転し;及び
前記データビットのセットが反転されているか否かの表示を提供する、
モジュール。
【請求項2】
前記データビットの対応するコピーを生成する手段は、対応するコピーを更に反転する、請求項1記載のモジュール。
【請求項3】
第1のパリティビットを前記データビットのセットから生成する手段を更に有し;及び
前記手段は、前記第1のパリティビットを他のモジュールへ更に送信する、
請求項1又は2記載のモジュール。
【請求項4】
前記第1のパリティビットを生成する手段は、1つ以上の論理ゲートを有する、請求項3記載のモジュール。
【請求項5】
前記第1のパリティビットのコピーを生成する手段を更に有し;
前記送信する手段は、前記第1のパリティビットのコピーを他のモジュールへ更に送信する、
請求項3又は4記載のモジュール。
【請求項6】
前記第1のパリティビットのコピーを生成する手段は、前記第1のパリティビットのコピーを更に反転する、請求項2に従う請求項5記載のモジュール。
【請求項7】
前記データビットのセットが反転されているか否かの表示は、前記第1のパリティビット及びその対応するコピーに符号化される、請求項5又は6記載のモジュール。
【請求項8】
前記データビットのセットが前記バス反転符号化手段により反転されている場合、前記第1のパリティビット及びその対応するコピーは、送信前に反転される、請求項7記載のモジュール。
【請求項9】
前記データビットのセットが前記バス反転符号化手段により反転されていない場合、前記第1のパリティビット及びその対応するコピーは、送信前に反転される、請求項7記載のモジュール。
【請求項10】
前記バス反転符号化手段は、1つ以上の論理ゲートを有する、前記請求項の何れか記載のモジュール。
【請求項11】
前記表示は、反転信号を有する、請求項1乃至6の何れか1項記載のモジュール。
【請求項12】
前記反転信号のコピーを生成する手段を更に有し;
前記送信する手段は、前記反転信号のコピーを他のモジュールへ更に送信する、
請求項11記載のモジュール。
【請求項13】
前記反転信号のコピーを生成する手段は、前記反転信号のコピーを更に反転する、請求項12記載のモジュール。
【請求項14】
モジュールであって、データビットのセットを別のモジュールから通信バスを介して受信し、前記モジュールは:
データビットのセット、前記データビットのセットの対応するコピー及び前記データビットのセットが反転されているか否かの表示を受信する手段;
前記データビットのセットが反転されているか否かの表示が前記データビットのセットは反転されていないと示す場合、受信データビットを前記モジュールの出力として選択し、及び前記表示が前記データビットのセットは反転されていると示す場合、受信データビットの反転を前記モジュールの出力として選択する手段、
を有する、請求項5記載のモジュール。
【請求項15】
前記データビットのセットの対応するコピーは、前記データビットのセットの反転されたコピーである、請求項14記載のモジュール。
【請求項16】
前記受信したデータビットのセット内の1つ以上の誤りの存在を検出する手段を更に有する、請求項14又は15記載のモジュール。
【請求項17】
前記受信する手段は、第1のパリティビットを他のモジュールから更に受信し;及び前記モジュールは、
第2のパリティビットを前記受信したデータビットのセットから生成する手段を更に有し:及び
前記受信したデータビットセット内の1つ以上の誤りの存在を検出する手段は、前記第1及び第2のパリティビットを比較する、請求項16記載のモジュール。
【請求項18】
前記第2のパリティビットを生成する手段は、1つ以上の論理ゲートを有する、請求項17記載のモジュール。
【請求項19】
前記受信データビットの1つ以上の誤りの存在を検出する手段は、論理ゲートを有する、請求項16又は17記載のモジュール。
【請求項20】
前記モジュールは、データビットの受信したセットの誤りを訂正する手段を更に有し、前記誤りを訂正する手段は、受信データビット又はその対応するコピーを検出する手段により出力された制御信号に応じて出力する、請求項16乃至19の何れか1項記載のモジュール。
【請求項21】
前記受信する手段は、前記第1のパリティビットを他のモジュールから更に受信する、請求項17、18又は19記載のモジュール。
【請求項22】
前記データビットのセットが反転されているか否かの表示は、前記受信された第1のパリティビット及びそのコピーに符号化される、請求項21記載のモジュール。
【請求項23】
前記モジュールは:
第3のパリティビットを前記データビットのセットの対応するコピーから生成する手段;
前記受信した第1のパリティビット、前記受信した第1のパリティビットのコピー、前記第2のパリティビット及び前記第3のパリティビットを比較し前記データビットのセットが反転されているか否かを決定する手段、
を更に有する、請求項22記載のモジュール。
【請求項24】
前記表示は、反転信号を有する、請求項14乃至21の何れか1項記載のモジュール。
【請求項25】
前記受信する手段は、前記反転信号のコピーを他のモジュールから更に受信する、請求項24記載のモジュール。
【請求項26】
前記反転信号のコピーは、前記反転信号の反転されたコピーである、請求項25記載のモジュール。
【請求項27】
前記受信した反転信号又はその対応するコピー内に誤りの存在を検出する手段を更に有する、請求項25又は26記載のモジュール。
【請求項28】
前記受信した反転信号又はその対応するコピー内の誤りの存在を検出する手段は、前記受信した反転信号及びその対応するコピーを比較する、請求項27記載のモジュール。
【請求項29】
システムであって、請求項1乃至13の何れか1項記載の送信モジュール、及び請求項14乃至28の何れか1項記載の受信モジュールを有し、前記モジュールは、通信バスを介して接続される、システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2007−526574(P2007−526574A)
【公表日】平成19年9月13日(2007.9.13)
【国際特許分類】
【出願番号】特願2007−501399(P2007−501399)
【出願日】平成17年2月23日(2005.2.23)
【国際出願番号】PCT/IB2005/050657
【国際公開番号】WO2005/088467
【国際公開日】平成17年9月22日(2005.9.22)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】