(57)【特許請求の範囲】
【請求項１】
差動バスのための差動遷移符号化方法であって、
１つのバスを、各々が４本のバス線から成る１つ以上のバス線グループに分割するステップと、
バスデータ転送の間に１つのグループの前記バス線の半分をアサートし、これによってバス線のアサートされた集合および逆アサートされた集合を規定するステップと、
前記アサートされた集合のバス線の少なくとも１本を逆アサートし、前記逆アサートされた集合のバス線の少なくとも１本をアサートすることによって、前記バス線の２本を差動的に駆動することで、データを送信するステップと、
を含む方法。
【請求項２】
差動バスのための差動遷移符号化方法であって、
１つのバスを、各々が６本のバス線から成る１つ以上のバス線グループに分割するステップと、
バスデータ転送の間に１つのグループの前記バス線の半分をアサートし、これによってバス線のアサートされた集合および逆アサートされた集合を規定するステップと、
前記アサートされた集合のバス線の少なくとも１本を逆アサートし、前記逆アサートされた集合のバス線の少なくとも１本をアサートすることによって、前記バス線の２本を差動的に駆動することで、データを送信するステップと、
を含む方法。
【請求項３】
差動遷移復号差動バスシステムであって、
少なくとも４本のバス線を有するグループを備える差動バスと、
高い電圧で前記バス線の半分をアサートし、低い電圧で前記バス線の半分をアサートすることによってバス線のアサートされた集合および逆アサートされた集合を規定するために使用可能なバス送信器であって、該バス送信器は、前記アサートされた集合のバス線のうち１本を逆アサートし、前記逆アサートされた集合のバス線のうち１本をアサートすることによって、１つの集合当たり１本のバス線ずつ、２本のバス線を差動的に駆動することで、データを送信するために使用可能である、バス送信器と、
バスデータ転送サイクルの後に前記バス線グループを受信し、そこから情報を復号するために使用可能なバス受信器と、
を含むシステム。
【請求項４】
差動遷移符号化差動バスシステムであって、
４本のバス線を含むグループを備え、高い電圧で前記バス線の半分をアサートし、低い電圧で前記バス線の半分をアサートすることによってバス線のアサートされた集合および逆アサートされた集合を規定する、バス送信器を具備し、
前記バス送信器は、前記アサートされた集合のバス線のうち１本を逆アサートし、前記逆アサートされた集合のバス線のうち１本をアサートすることによって、１つの集合当たり１本のバス線ずつ、２本のバス線を差動的に駆動することで、データを送信するために使用可能であることを特徴とする、システム。
【請求項５】
差動遷移符号化差動バスシステムであって、
６本のバス線を含むグループを備え、高い電圧で前記バス線の半分をアサートし、低い電圧で前記バス線の半分をアサートすることによってバス線のアサートされた集合および逆アサートされた集合を規定する、バス送信器を具備し、
前記バス送信器は、前記アサートされた集合のバス線のうち１本を逆アサートし、前記逆アサートされた集合のバス線のうち１本をアサートすることによって、１つの集合当たり１本のバス線ずつ、２本のバス線を差動的に駆動することで、データを送信するために使用可能であることを特徴とする、システム。
【請求項６】
差動遷移符号化のためのコンピュータプログラムであって、
１つのバスを、各々が４本のバス線から成る１つ以上のバス線グループに分割するためのステップと、
バスデータ転送の間に１つのグループのバス線の半分をアサートし、これによってバス線のアサートされた集合および逆アサートされた集合を規定するためのステップと、
前記アサートされた集合のバス線の少なくとも１本を逆アサートし、前記逆アサートされた集合のバス線の少なくとも１本をアサートすることによって、前記バス線の２本を差動的に駆動することで、データを送信するためのステップと、
をコンピュータに実行させるコンピュータプログラム。
【請求項７】
差動バスのための差動遷移符号化を行うためのコンピュータプログラムを実行するプロセッサであって、該コンピュータプログラムは、
１つのバスを、各々が４本のバス線から成る１つ以上のバス線グループに分割するためのコンピュータコードと、
バスデータ転送の間に１つのグループのバス線の半分をアサートし、これによってバス線のアサートされた集合および逆アサートされた集合を規定するためのコンピュータコードと、
前記アサートされた集合のバス線の少なくとも１本を逆アサートし、前記逆アサートされた集合のバス線の少なくとも１本をアサートすることによって、前記バス線の２本を差動的に駆動することで、データを送信するためのコンピュータコードと、
を含むプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、バスデータ転送システムに関し、更に具体的には、差動形態の遷移符号化を採用した方法および装置に関する。
【背景技術】
【０００２】
現在のマイクロチップ内で利用可能な回路の密度および速度が大きく増したことによって、結果として、オンチップ機能の能力および性能が向上している。しかしながら、これらの向上により、従来のデータバス技法の性能等、いくつかの他の問題も生じ始めている。大きく向上したかかるオンチップ機能の能力を有効利用するために必要なオフチップ入出力帯域幅（すなわちマイクロチップへのデータ転送およびマイクロチップからのデータ転送）を大きく広げることは、非常に難しくなってきている。
【０００３】
このジレンマに対する一つの解決策は、もっと広いバスデータ経路を用いることである。しかしながら、この手法は更に多くのバスデータドライバ回路を必要とするので、チップ設計者には別の問題が生じる。所与のバスサイクルで転送されるデータパターンが、先行するバスサイクルのものからどれだけ異なっているかによるが、データバスドライバを全て用いる場合から全く用いない場合までのどの場合であっても、それらの各データバス線の電圧レベルを変更することができなければならない。各データバス線は大きな負荷容量を有し得るので、（全てのドライバが同時にかつ急速にそれらのバス線の電圧レベルを変えようと試みた場合）合計ドライバ電流要求のピークが著しく大きくなると共に、かかるドライバ電流要求は、（例えばあるサイクルで全てが切り替わり、次のサイクルではどれも切り替わらない場合）バスサイクルごとに大きく変動し得る。かかるドライバ回路に給電するオンチップ電源および接地グリッドのインダクタンスおよび抵抗によって、著しい動的バスデータ依存電圧変化が起こると、かかる多数のドライバ回路に適切な電力分配を行うことはますます難しくなる。また、これらは、多くの場合、ノイズとしてチップ上の他の回路に結合する。
【０００４】
この問題に対する一つの取り組み方は、スルーレート、すなわち関連するデータバス線負荷上の電圧をどれだけ速く変化させるかを制限するように設計されたドライバ回路を用いることである。別の手法は、ドライバ回路動作を「互い違いにする」ことで、それらの全てが全く同じ瞬間に関連するデータバス線を変更する試みをすることがないようにする。これらの方法は双方とも有効であるが、バスサイクル時間が長くなり、データ転送速度が遅くなるという不利な点がある。
【０００５】
別の手法は、各データバスビット線について２本のワイヤを用いる差動送信を用いることである。定電流を、あるドライバ回路経路または別のものに分流して、差動信号を生成する。通常、この結果として、ドライバにおけるオンチップの接地および供給グリッド過渡電流が低減し、受信器チップにおいてノイズ耐性が向上する。なぜなら、差動受信器にとって意味があるのは、２つのデータバスビット線電圧レベルの差のみだからである。これは、バス線上で更に小さい電圧信号レベル振幅を用いることを可能とし、これによって、所与の容量性バス負荷に対するオンチップドライバ電流の要求が小さくなる。また、データバス線内の結合ノイズも、電磁放射により放出されるので低減する。この技法は、一般にＬＶＤＳ（低電圧差動信号レベル）と呼ばれ、シングルエンド式のバスとは区別される。シングルエンドのバスでは、１本のワイヤを用いて各データビットを送信し、通常、用いる電圧レベルは論理回路と同一である。
【０００６】
一般に、後者の技法は、この場合、チップ内のバス接続のために用いられ、更に、必要な速度およびデータバス線の距離／負荷容量に応じて、チップ間の伝送のためにシングルエンドまたはＬＶＤＳ方法のいずれかで用いられる。
【０００７】
米国特許第６３０４９３３号は、「遷移符号化」と呼ばれる、シングルエンド技法のいっそうの改良を教示している。この特許では、４本のバス線のうち１本を活動状態または非活動状態にすることによってデータを伝送し、４本のバス線のうち１本の各遷移が、一意の２ビットの２進値を表す。この結果、従来のシングルエンド手法に比べて、ドライバ電流要求の変動が小さくなる。なぜなら、従来のシングルエンドデータバスの一部として用いられた場合に同じ４本のワイヤ上で同時ワイヤ遷移は０から４のいずれかであるのに比べて、２本の連続した単一ワイヤの遷移が常に４ビットの情報を送信する必要があるからである。更に、遷移は自己クロッキングであり、従って、特にオンチップ環境においては、いくぶん高速とすることができる。
【特許文献１】米国特許第６３０４９３３号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＬＶＤＳ技法を用いても、適切なデータ転送速度を得るために必要とされる、ますます広くなるバスデータ経路に必要なドライバ回路の数が、オンチップ同時切り替えの大きな問題を引き起こす。バスシステムの設計においては、各バスサイクルが先行するサイクルのデータパターンの逆のデータパターンを転送する可能性を見込んでおかなければならない。このため、各サイクルでデータ線の全てが遷移するか、あるいはデータ線が全く遷移しない可能性があり、これらの一部は隣接するものとは逆に差動的に駆動されることがあり得るので、有効信号線間負荷容量を増大させる。
【０００９】
かかる遷移から生じるバス線切り替え数の変動は、多くの場合、線間のクロスカップリング、接地電源電圧の変動、ノイズスパイク、電磁放射等の理由で、符号化データを受信する際に不都合な状況を引き起こす。
【００１０】
従って、従来のシステムの限界を克服する、バス上のデータを差動的に送信するための方法および装置が必要とされている。
【課題を解決するための手段】
【００１１】
本発明は、差動バスのための差動遷移符号化を提供する。１つのバスは、４本のバス線から成る１つ以上のグループに分割され、その半分がアサートされた集合を形成し、残り半分が逆アサートされた集合を形成する。遷移符号化は、更に、アサートされた集合のバス線の１本をアサートし、逆アサートされた集合のバス線の１本をアサートすることによって、１つの集合当たり１本ずつ、２本のバス線を差動的に駆動することで、データを転送する。バス線のグループは６本のバス線を含むものでもよい。
【発明を実施するための最良の形態】
【００１２】
以下の考察では、多くの特定の詳細事項を述べて、本発明の完全な理解に供する。しかしながら、かかる特定の詳細事項が無くとも本発明を実施可能であることは、当業者には認められよう。他の例では、不必要な詳細で本発明を不明瞭にしないため、概略図またはブロック図の形態で周知の要素を示している。更に、たいていの場合、ネットワーク通信、電磁シグナリング技法等に関する詳細は、本発明の完全な理解を得るためにかかる詳細が必要であると考えられない限り、更に、関連技術分野において通常の技能を持つ者の理解の範囲内であると考えられる限り、省略した。
【００１３】
更に、特に示さない限り、本明細書中で説明する全ての機能は、ハードウエアもしくはソフトウエア、またはマイクロプロセッサ実行ファームウエア、またはその組み合わせのいずれかで実行可能であることを注記しておく。一実施形態では、かかる機能を実行するように符号化された専用の集積論理回路を用いる。他の実施形態では、特に示さない限り、コンピュータプログラムコード、ソフトウエア、および／またはかかる機能を実行するように符号化された集積回路等のコードに従って、コンピュータまたは電子データプロセッサ等のプロセッサによって、機能を実行する。
【００１４】
図１を参照すると、参照番号１００は、差動バスシステムを全体的に示す。システム１００は、送信器１１０内で入力データを受信するように構成されている。送信器１１０は、差動符号化回路１２０、データ経路１３０、１４０、およびバスドライバ１５０、１６０を備える。差動符号化回路１２０は、ハードウエア専用論理回路、ソフトウエア、マイクロプロセッサ実行ファームウエア等から成るものとすることができる。バスドライバ１５０はバス線グループ１６３に結合され、バスドライバ１６０はバス線グループ１６５に結合されている。双方のバス線グループ１６３、１６５は、データバス受信器１８０に結合されている。データバス受信器１８０およびデータバス送信器１１０は、制御線１７０を介して制御線情報を交換する。データバス受信器１８０は、差動符号化データを受信し、復号データをデータ出力として出力する。データバス受信器１８０は、図３ないし７において論理要素から成るものとして記載するが、ハードウエア専用論理回路、ソフトウエア、マイクロプロセッサ実行ファームエア等から成ることも可能であり、本発明は特定の実施形態には限定されないことは、当業者には理解されよう。
【００１５】
バス線は、１つ以上のグループに分割される。すなわち、第１のバス線グループ１６３であり、別の実施形態では第２のバス線グループ１６５もある。バス線グループの各々は、２つの集合に機能的に分割される。第１のアサートされた集合は、グループのバス線のちょうど半分から成り、第２の逆アサートされた集合は残りのバス線から成る。通常、アサートされたバス線は”１”すなわち”ハイ”電圧出力を有し、逆アサートされたバス線は”０”すなわち”ロー”電圧を有する。バス線グループの状態は、２進フィールドまたはその値によって記述することができる。換言すると、４線ワイヤグループは、値”３”に対して”０，０，１，１”となる等とすることができる。
【００１６】
システム１００は、双方のバス線集合を決定した後、データバス転送サイクルを実行する。通常、バス転送サイクルは、差動バスシステム１００が、以前に逆アサートされたバス線集合の１つのメンバーを遷移およびアサートする（すなわち電圧を高くする）ことを含む。データバス転送サイクルは、更に、システム１００が、アサートされた集合の１つのメンバーを逆アサートし、逆アサートされた集合の１つのメンバーをほぼ同時にアサートし、これによって各集合のあるメンバーを他のものと交換することを含む。システム１００によって用いられる符号化ルールは、各グループ内で、常にバス線の半分がアサートされ、半分が逆アサートされるというものである。別の実施形態では、１つのバス線グループは、６本のバス線から成る。更に別の実施形態では、システム１００は、複数のグループを備える。
【００１７】
例えば、４ワイヤグループにおいて、逆アサートされた集合内には２本のバス線があり、アサートされた集合内には２本のバス線がある。バスデータ転送サイクルでは、逆アサートされた集合のうち１本のバス線をアサートし、アサートされた集合のうち１本のバス線を逆アサートする。従って、４ワイヤグループでは、グループのいずれかの所与の状態から他のいずれかの許容可能な状態に遷移するには、合計で４通りの別個の方法がある。これによって、一意の遷移は、各々、２ビットの情報すなわち{（００），（０１），（１０），（１１）}のパケットを受信器に送信する。
【００１８】
例えば、４ワイヤグループでは、常に２本のバス線がアサートされ、２本のバス線が逆アサートされる。アサートされた線を”１”と示し、逆アサートされた線を”０”と示すと、可能な状態は、（０，０，１，１）、（０，１，０，１）、（０，１，１，０）、（１，０，０，１）、（１，０，１，０）、および（１，１，０，０）である。次のバスデータ転送サイクルでは、各集合（すなわちアサートされたバス線の集合およびアサートされていないバス線の集合）のうち１つのメンバーが、逆アサートされた状態からアサートされた状態に、アサートされた状態から逆アサートされた状態に、それぞれ変化する。ある状態から別の状態への一意の遷移（例えば（０，１，０，１）状態から（０，１，１，０）状態へ）は、”０１”等の２ビット値に関連付けられる。（１，１，０，０）状態から（０，１，０，１）への変化は、ビット値”００”と互いに関係付けられる。送信器１１０から受信器１８０に送信される値は、新しい状態そのものではなく、状態の変化の関数を含む。
【００１９】
図１において、データバス送信器１１０が入力データを受信すると、入力データはまず差動符号化回路１２０によって取得される。差動符号化回路１２０は、バス線グループ１６３、１６５の各々について遷移前状態にアクセスすることができる。この回路１２０は、入力データおよび遷移前状態の関数として、バス線グループ１６３および１６５の遷移後状態を決定する。次いで、回路１２０は、データ経路１３０、１４０からバスドライバ１５０、１６０を介して、グループ１６３および１６５の各々で、次のバスデータ転送サイクルに適切なバス線対をアサートおよび逆アサートする。
【００２０】
バス受信器１８０は、バス線グループ１６３および１６５を受ける。そして、バス受信器１８０は、バス線の電圧をそのグループ内の他のバス線と、更に、前のデータバスサイクルの状態（すなわちアサートおよび逆アサートされたバス線）と比較する。データ出力は、データバス受信器１８０によって復号され、バス線グループ１６３の遷移前状態および遷移後状態の双方の関数として復号されている。更に別の実施形態では、制御線１７０を用いて、受信器１８０が、バス線グループ１６３および１６５を介して受信したもののような複数の２ビットデータパケットを復号したことを、符号化回路１２０に示す。
【００２１】
以下は、４ワイヤシステムにおける状態間の遷移の一実施形態を示す表である。グループの第１のバス線はバス線”０”であり、最後のバス線は線”３”である。
【００２２】
【表１】
0003683892.tif 000002
【００２３】
一実施形態では、データバス受信器１８０は、電圧を５ボルト等の小さい方の閾値電圧と比較して、アサートされた線および接地または０．５ボルトまたは他の何らかの低い電圧等の任意の低い閾値電圧を示すのではなく、１つのバス線グループのバス線間の差を比較する。従って、データバス受信器１８０は、電圧スパイク耐性が改善され、更に、高い共通モード除去比に関連した他の利点も有する。システム１００の一実施形態では、歪みのあるアサートおよび逆アサート時間の信号伝搬を測定し、補償する。システム１００は、集積回路チップの外部または内部にあるものとすることができる。
【００２４】
ここで図２に移ると、遷移符号化において用いられる受信器のシステムレベルの図が示されている。通常、受信器１８０は、バス線グループ１６３を介して差動的に符号化されたデータを受信する。差動的に符号化されたデータは、差動受信回路２１０に入力される。差動受信回路２１０では、バス線グループ１６３の様々な入力バス線の電圧レベル間で比較が行われる。
【００２５】
これらのバス線電圧比較は、次いで、遷移復号論理２３０に入力する。遷移復号論理２３０は、状態レジスタ２２０に格納されている遷移前状態も入力として受け取る。遷移復号論理２３０は、状態レジスタ２２０に格納されている遷移前状態から遷移後状態への遷移が行われたか否かを判定する。
【００２６】
遷移復号論理２３０は、新しい遷移は行われていないと判定すると、新しい信号を出力しない。しかしながら、遷移復号論理２３０は、状態遷移が行われたと判定すると、状態復号論理２４０およびデータ復号論理２５０に、この特定の遷移について知らせる。更に別の実施形態では、遷移復号論理２３０は、状態復号論理２４０から状態クロック信号を受信する。
【００２７】
状態復号論理２４０内では、遷移前状態から遷移後状態への特定の遷移が復号されて決定される。換言すると、遷移復号論理２３０は、（０，０，１，１）、（０，０，１，０）等の遷移後状態を決定する。この遷移後状態は、次いで状態レジスタ２２０に入力されて、これが格納システム状態となる。以降の遷移の比較は、これに基づいて行われる。復号データ論理２５０内で、システム状態遷移がその対応する”００”、”０１”、”１０”または”１１”データパケットへと復号される。
【００２８】
受信器１８０によるグループ１６３のバス線の遷移の復号は、非同期切り替えを含む。データバス受信器１８０は、データバス送信器１１０が送信するのと同程度に速くデータを処理することができる。換言すると、必要な２つの遷移（すなわち、１つの集合当たり１つの電圧アサートおよび１つの電圧逆アサート）が行われるたびに、受信器１８０はそれ自身をリセットし、いつでも次のアサートおよび逆アサートを受信することができる。更に別の実施形態では、複数のバス線１６３、１６５が全て復号された場合にデータバス送信器１１０に信号で知らせるため、制御線２７０を用いることができる。
【００２９】
全体的に、図３〜図７は、データバス受信器１８０の段、すなわち差動受信回路２１０、状態レジスタ２２０、遷移復号論理２３０、状態復号論理２４０、およびデータ復号論理２５０をそれぞれ示す。
【００３０】
ここで図３に移ると、差動受信回路２１０は、差動増幅器３０２、３０４、３０６、３０８、３１０、および３１２を備える。当業者には理解されようが、差動増幅器の非反転入力が反転入力よりも高い場合、差動増幅器は”ハイ”の比較信号を出力する。非反転入力が反転入力よりも低い場合、差動増幅器は”ロー”の比較信号を出力する。
【００３１】
通常、バス線０、バス線１、バス線２、およびバス線３から成るバス線グループ１６３の４本の線は全て、適切な差動増幅器にルーティングされる。各差動増幅器は反転および非反転出力の双方を有するので、バス線の全ての機能的組み合わせが、機能的に、様々な差動増幅器によって比較される。例えば、バス線状態が（０，０，１，１）から（０，１，０，１）に変化すると、以前はバス線２の電圧はバス線１の電圧よりも大きかったのが、バス線１の電圧はバス線２よりも大きくなる。
【００３２】
例えば、例示する実施形態では、差動増幅器３０２によってバス線０をバス線１と比較する。バス線０上の電圧がバス線１上の電圧よりも大きい場合、差動増幅器３０２は正の信号を出力する。バス線１上の電圧がバス線０上の電圧よりも低い場合、差動増幅器３０５は負の信号を出力する。バス線入力の様々な組み合わせについて、同様の比較が、他の差動増幅器３０４、３０６、３０８、３１０、および３１２によって行われる。データバス送信器１１０は、バス線グループ１６３および１６５を駆動するため、同様の論理を有する。
【００３３】
差動増幅器３０２、３０４、３０６、３０８、および３１０は、バス線”０”等の第１のバス線が、バス線”１”等の第２のバス線よりも大きいか否かを表す値を出力し、これは式”＋＝ｌｉｎｅ０＞１”によって表される。この値は、反転器３１４、３１５、３１６、３１７、３１８、３１９によって反転されて、第２のバス線が第１のバス線よりも大きいか否かを判定する。これは、式”＋＝ｌｉｎｅ１＞０”によって表される。受信器１８０の差動受信回路２１０は、反転および非反転差動信号の双方を出力する。
【００３４】
ここで図４に移ると、状態レジスタ２２０内の差動遷移符号化と共に用いることができる制御論理および状態レジスタが概略的に示されている。図４において、ＮＯＲゲート３２０、３２２、３２４、３２６、３２８、３３０に、セット（Ｓｅｔ）”３”（００１１）、”５”（０１０１）、”６”（０１１０）、”９”（１００１）、”Ａ”（１０１０）、および”Ｃ”（１１００）の標示が、ＮＯＲゲート当たり１つの一意のセットずつ入力されている。通常、データバス受信器１８０が遷移前差動入力状態から遷移後状態に遷移する場合に、１つのセットが生じる。この新たな状態すなわち遷移後状態は、後のバスデータ転送サイクルでは遷移前入力状態となる。図４において、”Ｓｅｔ”は、いずれのセット機能についても、真ならば負として示し、偽ならば正として示す。各ＮＯＲゲートは反転入力を有しており、これによって、所与のＮＯＲゲートについて”負”の真を正の真に変換する。
【００３５】
ＮＯＲゲート３２０の入力に、反転器を介して、負の電源投入リセット入力（−＝Ｐｏｗｅｒ−Ｏｎ  Ｒｅｓｅｔ）が結合されている。通常、負の電源投入リセット入力は、バス受信器１８０が最初に電源投入されたときに、デフォルト状態すなわちリセット状態をもたらす。電源投入リセット入力は、他のＮＯＲゲート３２２、３２４、３２６、３２８、および３３０にも結合可能である。電源投入リセットがどのＮＯＲゲートに結合されても、デフォルト状態がもたらされ、データバス送信器１１０によって知られる。
【００３６】
電源投入リセット（ＰＯＲ）を実行する場合、信号がＮＯＲゲート３２０に入力されると、信号はまずＮＯＲゲート３２０の入力によって反転される。従って、ＮＯＲゲート３２０の出力は正であり、”＋＝Ｓｔａｔｅ３”は明らかに正である。
【００３７】
”３”、”５”等に対する”−＝Ｓｅｔ  Ｅａｒｌｙ”信号が、各々、復号状態論理２４０からＮＯＲゲート３３１内に供給される。ＮＯＲ／ＮＡＮＤゲート対３２０／３３４、３２２／３３５、３２４／３３６、３２６／３３７、３２８／３３８、および３３０／３３９は、６つの状態ラッチを形成し、一度にそのうち１つずつがセットされて、６つの状態（Ｓｔａｔｅ）”３”、”５”、”６”、”９”、”Ａ”、および”Ｃ”のうち１つを確立する。これらのラッチの中間点（ＮＯＲゲートとＮＡＮＤゲートとの間）から、正のアクティブ状態信号が取得される。当業者には理解されようが、かかる方法でＮＯＲ／ＮＡＮＤ対を用いると、「優先セット・ラッチ」が構成される。この場合、ラッチの中間点からの正の出力に関する限り、ＮＯＲゲート入力における負のＳＥＴ信号は、ＮＡＮＤ入力における負のＲＥＳＥＴに優先する。
【００３８】
ＰＯＲ状況において、ＮＡＮＤゲート３３４ないし３３９は、ＮＯＲゲート３２０と同じく、負の入力を受け取る。適切なリセット間隔の後、これらの入力は除去され、”Ｓｔａｔｅ  ３”ラッチだけがセットされている。通常、図４では、６つの”−＝Ｓｅｔ  ｎ  Ｅａｒｌｙ”信号のうち１つがアサートされ、その後、対応する”−＝Ｓｅｔ  ｎ  Ｌａｔｅ”がアサートされる。前者は、（ＮＯＲゲート３３１および反転器３３２による遅延の後）６つのラッチの全てにＲＥＳＥＴを印加する。しかしながら、”−＝Ｓｅｔ  ｎ  Ｅａｒｌｙ”および”−＝Ｓｅｔ  ｎ  Ｌａｔｅ”信号間の遅延が十分であれば、”−＝Ｓｅｔ  ｎ  Ｅａｒｌｙ”は、次のゲートに対応する６つのラッチのうちの１つに優先セットを適用する。
【００３９】
簡単に図９を見ると、様々な論理ブロック間の論理時間図およびそれらが互いにどのように関連しているかを示す。曲線の矢印は、次の遷移を示す。全ての論理ゲートが同じ単位時間遅延を有する場合（図９の例では、４単位時間）、図６の遅延ブロック３７２、３７５、３７８、３８１、３８４、および３８７は、全て４単位時間の遅延を有し、論理の初期状態は状態”３”ラッチ・セットである。この場合、バス線０および１は負であり、バス線２および３は正である。
【００４０】
差動遷移がバス線１および２に生じ、バス線１が正となりバス線２が負となった場合、図３の差動増幅器３０８はこれを検出し、その出力”＋−＝ｌｉｎｅ１＞２”は正となる。この段落および次の段落において説明する信号タイミングは全て、この時点を基準とし、ここからの遅延として関係付ける。１単位時間の遅延後、図５のＮＡＮＤ３４１の出力”−＝３  ｔｏ  ５”は負となる。なぜなら、他方の入力”＋＝Ｓｔａｔｅ  ３”も正であるからである。次いで、”−＝Ｓｅｔ  ５  Ｅａｒｌｙ”信号は、図６のＮＯＲゲート３７３および反転器３７４を介した２遅延の後、負となる。これは、基準時点から３単位時間の遅延である。”−＝Ｓｅｔ  ５  Ｌａｔｅ”信号は、基準時点から７単位時間の遅延で負となる。図４のブロック３３１および３３２を介した２遅延の後、３３２の出力は負となり（基準時点から５単位時間の遅延）、全ての状態ラッチにリセットをかける。これによって、図４における状態ラッチ”３”からの”＋＝Ｓｔａｔｅ  ３”出力は、ブロック３３４および３２０を介した２遅延の後（基準時点から７単位時間の遅延）、負となる。これで、初期状態”３”の除去が完了する。
【００４１】
しかしながら、”−＝Ｓｅｔ  ５  Ｌａｔｅ”信号（これは、基準時点から７単位時間の遅延で図４のＮＯＲゲート３３２に達する）は、代わりに状態”５”ラッチをセットし、このラッチのブロック３２２の”＋＝Ｓｔａｔｅ  ５”出力は、更に１単位の遅延（基準時点から８単位時間の遅延）の後、正となる。いったん、”＋＝Ｓｔａｔｅ  ３”信号が負となると、”−＝３  ｔｏ  ５”信号は、図５のブロック３４１を介して１遅延の後に正となり（基準時点から８単位時間遅延）、これは次いで、図６のブロック３７４からの”−＝Ｓｅｔ  ５  Ｅａｒｌｙ”信号を、基準時点から１０単位時間遅延で正とする。これによって、初期状態”３”から”５”状態への遷移の検出における状態論理の動作が完了し、状態論理は、新たな遷移が入力バス線に達するまで休止し続ける。同様のタイミングに関する考察が、他の可能な状態遷移にも当てはまる。
【００４２】
ここで図５に移ると、複数のＮＡＮＤゲートアレイが示されている。ＮＡＮＤゲートの各アレイ３４０、３４５、３５０、３６０、３６５、および３７０は、１つの状態に関連付けられ、その状態が図４においてオンにラッチされると、イネーブルされる。例えば、状態”３”がオンにラッチされると、ＮＡＮＤアレイ３４０のＮＡＮＤ３４１、３４２、３４３、および３４４がイネーブルされる。状態”６”がオンにラッチされると、ＮＡＮＤアレイ３５０のＮＡＮＤ３５１、３５２、３５３、および３５４がイネーブルされる。
【００４３】
図５において、差動増幅器３０２、３０４、３０６、３０８、３１０、および３１２の様々な組み合わせの出力を、様々なＮＡＮＤゲートアレイ３４０、３４５、３５０、３６０、３６５、および３７０の個々のＮＡＮＤに対する入力として用いる。各差動出力は、ある状態から別の状態への変化を表す。例えば、状態が状態”３”である場合、ＮＡＮＤアレイ３４０がイネーブルされる。差動信号が、バス線１が線２よりも大きいことを示す場合、これは、（０，０，１，１）から（０，１，０，１）へのバス線論理レベルの遷移を表し、更に、”状態３”から”状態５”への変化を表し、ＮＡＮＤゲート３４１がイネーブルされる。また、差動入力が、バス線０がバス線３よりも大きいことを表す場合、これは（０，０，１，１）から（１，０，１，０）への変化を表し、状態”３”から状態”Ａ”への変化を表し、ＮＡＮＤゲート３４４がイネーブルされる。
【００４４】
図５において、状態間の許容可能な遷移を例示する。図５における全てのＮＡＮＤゲートの出力は、図６および図７の復号論理に送信される。図５に例示した実施形態では、ＮＡＮＤゲートは、その論理出力が負である場合にアクティブである。
【００４５】
ここで図６に移ると、図５で生成したバス線遷移に対する状態復号論理２４０が開示されている。各ＮＯＲゲート３７０、３７３、３７６、３７９、３８２、および３８５は、最終遷移状態に関連付けられている。例えば、ＮＯＲゲート３７０は、状態”３”として終了する可能な状態遷移の全てを受信し、ＮＯＲゲート３７３は状態”５”として終了する全ての状態遷移を受信する。従って、状態”３”への遷移がある場合、ＮＯＲゲート３７０は正の信号を出力し、状態”５”への遷移がある場合、ＮＯＲゲート３７３は正となる。他のＮＯＲゲートも同様である。全てのＮＯＲゲート３７０、３７３、３７６、３７９、３８２、および３８５の出力は、その対応する反転器すなわち反転器３７１、３７４、３７７、３８０、３８３、および３８６によって反転される。これらは、”−＝Ｓｅｔ  ｅａｒｌｙ”信号を形成する。この信号は、更に、遅延要素３７２、３７５、３７８、３８１、３８４、および３８７によって遅延される。一実施形態では、遅延要素は、偶数の反転器から成る。”−＝Ｓｅｔ  ｅａｒｌｙ”および”−＝Ｓｅｔ  ｌａｔｅ”信号は、図４の状態ラッチに供給され、そのセット／リセットを制御する。
【００４６】
ここで図７に移ると、図４の６つの状態ラッチについて、状態遷移を認識可能な２ビットのデータパケットに変換するためのデータ復号論理２５０が開示されている。図７は、４つのＮＯＲゲート３９０、３９３、３９５、および３９７を開示する。表１によれば、許容可能な状態遷移は、２ビットのデータの送信を表す。図７において、”３から５（３  ｔｏ  ５）”、”５から３（５  ｔｏ  ３）”、”６から３（６  ｔｏ  ３）”、”９から３（９  ｔｏ  ３）”、”Ａから３（Ａ  ｔｏ  ３）”、または”Ｃから５（Ｃ  ｔｏ  ５）”へのいずれかの遷移は、２ビットデータ”００”の送信に相当し、ＮＯＲゲート３９０はこれらのイベントのいずれでも正になる。”３から６（３  ｔｏ  ６）”、”５から６（５  ｔｏ  ６）”、”６から５（６  ｔｏ  ５）”、”９から５（９  ｔｏ  ５）”、”Ａから６（Ａ  ｔｏ  ６）”、または”Ｃから６（Ｃ  ｔｏ  ６）”へのいずれかの遷移は、２ビットデータ”０１”の送信に相当し、ＮＯＲゲート３９３はこれらのイベントのいずれでも正になる。ＮＯＲゲート３９５および３９７の入力にも、同様の論理が当てはまる。これらの遷移は、データ入力を再構築したものであるデータ出力として出力される。
【００４７】
図８は、データバスシステムによって実行可能なステップを示すフローチャートである。ステップ４１０において、データバス送信器１１０およびデータバス受信器１８０は、バス線を、少なくとも４本のバス線を有する少なくとも１つのバスグループ１６３に分割する。別の実施形態では、バス線は偶数である。データバス送信器１６０およびデータバス受信器１８０は、同じ集合およびグループのバス線を送信し受信するように構成されている。一実施形態では、データバス送信器１１０およびデータバス受信器１８０は、制御線１７０を介して構成情報を伝達する。
【００４８】
ステップ４２０では、データバス送信器１１０は、バス線グループ１６３、１６５を、６の許容可能な状態すなわち（０，０，１，１）、（０，１，０，１）、（０，１，１，０）、（１，０，０，１）、（１，０，１，０）、および（１，１，０，０）のうちいずれか１つに初期化する。これは、グループに含まれるバス線の半分をアサートし、残りの半分を逆アサートすることによって達成される。別の実施形態では、データバス受信器１８０は、復号遷移論理２３０によって状態（０，０，１，１）に初期化される。また、この初期状態は、状態ラッチ２９０によって捕捉される。
【００４９】
ステップ４３０では、データバス送信器１３０は、データ入力によって、差動的に符号化されて第１および第２のバス線グループ１６３、１６５を介して送信されるデータを受信する。ステップ４４０では、差動符号化回路１２０が、バス線グループ１６３のバス線の現在の状態および新たな入力データの双方の関数として、どのバス線が遷移されるべきかを、アサートおよび逆アサートされたバス線対当たり１つ決定する。一実施形態では、この決定は、表１によって表される。差動符号化回路１２０は、ハードウエア、ソフトウエア、ファームウエア等から成るものとすることができることは、当業者には理解されよう。
【００５０】
ステップ４５０では、データバス送信器１１０が、バス線グループ１６３を介して符号化データを差動的に送信する。ステップ４５５では、データバス受信器１８０が、遷移および非遷移バス線の双方から成るバス線グループ１６３を受ける。データバス受信器１８０は、次いで、送信器１１０によって符号化されたデータを、適切な差動増幅器、ＮＡＮＤゲート、デマルチプレクサなどを用いることで復号する。
【００５１】
ステップ４６０では、方法４００は、データバス送信器１１０によって符号化するデータがこれ以上あるか否かを判定する。データがある場合、方法４００はステップ４３０を再び実行し、データバス送信器１１０は、差動的に符号化し送信する情報を受信する。差動的に符号化される情報がこれ以上ない場合、方法４００はステップ４７０において終了する。
【００５２】
本発明は、多くの形態を取ることが可能であることは理解されよう。例えば、遷移符号化は、論理回路を用いるものとして開示したが、本発明の範囲内で、ハードウエア、ソフトウエア、ファームウエア等を使用可能であることは、当業者には理解されよう。従って、本発明の精神および範囲から逸脱することなく、前述のものにいくつかの変更を行い得る。このように、好適な実施形態のいくつかを参照して本発明について説明してきたが、開示した実施形態は性質上、限定ではなく例示であり、前述の開示において、広範囲の変更、修正、変形、および置換が考えられ、いくつかの例では、本発明のいくつかの機構を、他の機構の対応する使用なしに用いることも可能であることを注記しておく。かかる変更および修正は、実施形態の前述の説明の検討に基づいて当業者には明らかであり、望ましいものと見なすことができる。従って、添付の特許請求の範囲は、本発明の範囲内で広義に解釈されるべきである。
【図面の簡単な説明】
【００５３】
【図１】差動形態の遷移符号化を用いるように構成されたバスシステムを概略的に示す。
【図２】差動符号化において用いられる受信器のシステムレベルの図を概略的に示す。
【図３】差動遷移符号化と共に使用可能な差動受信回路を概略的に示す。
【図４】差動遷移符号化と共に使用可能な制御論理および状態レジスタを概略的に示す。
【図５】状態遷移復号論理を概略的に示す。
【図６】状態復号論理を概略的に示す。
【図７】データ復号論理を概略的に示す。
【図８】差動形態の遷移符号化を用いるための方法フロー図を示す。
【図９】様々な論理ブロック間の論理タイミング図およびそれらが互いにどのように関連しているかを示す。
【符号の説明】
【００５４】
１１０  データバス送信器
１２０  差動符号化回路
１５０、１６０  ドライバ
１６３  バス線（第１のグループ）
１６５  バス線（第２のグループ）
１７０  制御線
１８０  データバス受信器
２１０  差動受信回路
２２０  状態レジスタ
２３０  遷移復号論理
２４０  状態復号論理
２５０  データ復号論理
【図１】
0003683892.tif 000003
【図２】
0003683892.tif 000004
【図３】
0003683892.tif 000005
【図４】
0003683892.tif 000006
【図５】
0003683892.tif 000007
【図６】
0003683892.tif 000008
【図７】
0003683892.tif 000009
【図８】
0003683892.tif 000010
【図９】
0003683892.tif 000011