(57)【要約】【課題】  ハードウェア量を削減して、ラッチ間距離を短縮させ、データ転送性能の向上を図り、動作マージンの広いトライステートバス回路を提供する。【解決手段】  複数のトライステートバッファ２，３の出力端子をワイヤードオアさせたトライステートバス１において、トライステートバス１に、データ保持回路１１によるラッチ機能を持たせる。これにより、従来必要であった後段のラッチ回路を省略することがてきるので、トライステートバス回路のハードウェア量を削減し、かつデータ転送の高速化を図ることが可能となる。【選択図】      図１
2008177712.tif 000002
【特許請求の範囲】
【請求項１】
トライステートバスと、前記トライステートバスに出力がワイヤードオア接続されたトライステートバッファとを含むトライステートバス回路であって、
前記トライステートバッファが高インピーダンス状態の間、前記トライステートバッファが高インピーダンス状態になる前の出力データをラッチしつつ前記トライステートバス上にこのデータを保持する手段を含むことを特徴とするトライステートバス回路。
【請求項２】
前記トライステートバッファは、クロック信号の所定の半サイクルで前記トライステートバスにデータを出力し、後の半サイクルで前記高インピーダンス状態となるよう構成されており、
前記手段は、前記後の半サイクルの間、前記データをラッチして前記トライステートバス上にこのデータを保持することを特徴とする請求項１記載のトライステートバス回路。
【請求項３】
前記手段は、第一及び第二のインバータを有し、前記第一のインバータの入力及び出力が、前記第二のインバータの出力及び入力にそれぞれ接続されたラッチ回路構成であることを特徴とする請求項２記載のトライステートバス回路。
【請求項４】
前記第一のインバータは、前記クロック信号の前記後の半サイクルで活性化されるクロック制御インバータであることを特徴とする請求項３記載のトライステートバス回路。
【請求項５】
前記トライステートバッファは複数設けられており、これら複数のトライステートバッファの択一的活性制御をなす手段を、更に含むことを特徴とする請求項１〜４いずれか記載のトライステートバス回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はトライステートバス回路に関し、特にデータ転送時における転送速度の向上を図ったトライステートバス回路に関するものである。
【背景技術】
【０００２】
図３は、トライステートバス及びその周辺回路の従来技術を示す図である。トライステートバス１の入力側には、複数のデータ出力部４，５が、対応するトライステートバッファ２，３を介して、ワイヤードオア形式により接続されている。データ出力部４，５の各々はロースルーラッチ４ａ，５ａを有しており、これらロースルーラッチは、システムの動作クロック信号（ＣＬＫ）がローレベルの時に入力データをスルーし、ハイレベルの時に入力データをラッチするものである。そして、トライステートバッファ２，３を活性制御するためのイネーブル信号１００，１０１がバス制御回路６から生成されるようになっている。
【０００３】
トライステートバス１の出力側には、データ中継部９を介してデータ入力部１０が接続されている。データ中継部９はハイスルーラッチ９ａとインバータ９ｂとからなっており、ハイスルーラッチは、ＣＬＫがハイレベルの時に入力データをスルーし、ローレベルの時に入力データをラッチするものである。また、データ入力部１０はインバータ１０ａとロースルーラッチ１０ｂとからなっている。
【０００４】
かかる構成において、ＣＬＫがハイレベルになると、データ出力部４内のロースルーラッチ４ａから出力されたデータ２００はトライステートバッファ２に入力される。このとき、バス制御回路６から出力されるイネーブル信号１００がハイレベルのとき、トライステートバッファ２は活性化され、入力データ２００をトライステートバス１に出力してトライステートバス１の電位が確定する。
【０００５】
トライステートバス１の出力データ４００は、次のＣＬＫのローレベルで、データ中継部９内のハイスルーラッチ９ａによりラッチされ、インバータ９ｂによりその反転データがデータ入力部１０へ送出される。次のＣＬＫのハイレベルで、データ入力部１０内のインバータ１０ａで反転されたデータがロースルーラッチ１０ｂにラッチされて、データ転送が終了することになる。
【０００６】
なお、トライステートバスに関する技術は特許文献１に開示されている。
【特許文献１】特開２００４−０４８４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、図３に示した従来のトライステートバスにおいては、次のような課題がある。すなわち、図３の構成では、トライステートバスの前後にラッチ回路を設けているが、トライステートバスへのデータ入力が増えてバス配線長が長くなると、ラッチ間距離（パス）も長くなり、本パスが遅延的に厳しいパスになる。ここで、ラッチ間の遅延条件を満足できなければ、トライステートバスを２分割する必要があり、データ転送性能が悪化する。また仮に、遅延制約をぎりぎりで満たせたとしても、動作マージンの狭い回路になるという可能性がある。
【０００８】
なお、上記特許文献１の技術においては、トライステートバスに対して、どこからもデータ入力がなされない場合に、トライステートバスに固定値を供給して、当該バスが中間値になることを防止する技術であって、トライステートバッファを用いたデータ転送時における上述した従来技術の課題を解決するためのものではない。
【０００９】
本発明の目的は、トライステートバスにラッチ機能を持たせ、後段のラッチ回路を省略し、ハードウェア量を削減して、ラッチ間距離を短縮させ、データ転送性能の向上を図り、動作マージンの広いトライステートバス回路を提供することである。
【課題を解決するための手段】
【００１０】
本発明によるトライステートバス回路は、トライステートバスと、前記トライステートバスに出力がワイヤードオア接続されたトライステートバッファとを含むトライステートバス回路であって、前記トライステートバッファが高インピーダンス状態の間、前記トライステートバッファが高インピーダンス状態になる前の出力データをラッチしつつ前記トライステートバス上にこのデータを保持する手段を含むことを特徴とする。
【００１１】
そして、前記トライステートバッファは、クロック信号の所定の半サイクルで前記トライステートバスにデータを出力し、後の半サイクルで前記高インピーダンス状態となるよう構成されており、前記手段は、前記後の半サイクルの間、前記データをラッチして前記トライステートバス上にこのデータを保持することを特徴とする。
【００１２】
また、前記手段は、第一及び第二のインバータを有し、前記第一のインバータの入力及び出力が、前記第二のインバータの出力及び入力にそれぞれ接続されたラッチ回路構成であることを特徴とし、また、前記第一のインバータは、前記クロック信号の前記後の半サイクルで活性化されるクロック制御インバータであることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、トライステートバスにラッチ機能を持たせることにより、後段のラッチ回路を省略し、ハードウェア量を削減することで、トライステートバス回路の縮小化が可能となるという効果がある。かかる効果により、トライステートバス回路内のラッチ間距離を短縮できることになって、データ転送性能の向上を図ることができ、動作マージンの広いトライステートバス回路を実現できるという効果がある。
【発明を実施するための最良の形態】
【００１４】
本発明の実施例について、以下に図面を参照しつつ説明する。図１は本発明の実施例の回路図であり、図３と同等部分は同一符号により示している。ここでは、説明を簡単にするため、１つのトライステートバス１に、２個のデータ出力部４，５と１個のデータ入力部１０とが接続される構成とする。
【００１５】
トライステートバス１には、データ出力部４とデータ出力部５からの出力データ２００，２０１が、トライステートバッファ２，３を介し、ワイヤードオアとして出力される構成になっている。トライステートバッファ２と３が同時に活性化し、トライステートバス１上でデータが衝突するのを防ぐ（競合防止）ために、バス制御回路６によりイネーブル信号１００，１０１が同時にハイレベルにならないように排他的に制御される。なお、トライステートバッファが３個以上の場合をも含む一般的の場合には、択一的に活性制御されることになる。
【００１６】
データ出力部４，５は、ＣＬＫのローレベルで入力データをスルーし、ＣＬＫのハイレベルで入力データをラッチするロースルーラッチ回路４ａ，５ａを有し、その出力信号２００，２０１はトライステートバッファ２，３にそれぞれ入力されている。バス制御回路６から出力されるイネーブル信号１００は、アンドゲート７によりＣＬＫと論理積がとられ、アンドゲート７の出力信号である活性化信号３００がトライステートバッファ２に入力されている。
【００１７】
バス制御回路６から出力されているイネーブル信号１０１は、アンドゲート８によりＣＬＫと論理積がとられ、アンドゲート８の出力信号である活性化信号３０１が、トライステートバッファ３に入力されている。トライステートバッファ２，３は、活性化信号３００，３０１がハイレベルのとき活性化され、入力データ２００，２０１をトライステートバス１にそれぞれ出力し、ＣＬＫがローレベルのとき、高インピーダンス（Ｈｉ−Ｚ）状態をトライステートバス１に出力し、トライステートバス１から切離される。
【００１８】
データ保持回路１１は、ＣＬＫの反転で活性化するＣＬＫ制御インバータ１１ａと、入力データを反転し出力データとして送出するインバータ１１ｂとを有し、トライステートバス１のデータ出力４００を入力とし、その反転データをデータ入力回路１０へ出力する。ＣＬＫ制御インバータ１１ａはインバータ１１ｂの出力を入力とし、出力がインバータ１１ｂの入力にワイヤードオア接続されており、ＣＬＫがハイレベルのとき、高インピーダンス状態を出力し、ローレベルのとき、入力データの反転を出力する。
【００１９】
データ入力部１０は、テータ保持回路１１からのデータを反転するインバータ１０ａと、ＣＬＫのローレベルでインバータ１０ａの出力をスルーし、ハイレベルでインバータ１０ａの出力をラッチするロースルーラッチ回路１０ｂを有する。
【００２０】
次に、図１に示した本発明の実施例のトライステートバス回路の動作を、図３に示すタイムチャートを使用して説明する。図２のタイムチャートは、データ出力部４から出力されるデータＤ0 〜Ｄ2 の３要素が、トライステートバス１を通過してデータ保持回路１１を経て、データ入力回路１０に転送される場合について説明するためのものである。
【００２１】
図２（Ａ）はＣＬＫの波形を示し、（Ｂ）はデータ出力部４内のロースルーラッチ回路４ａの出力データであり、ロースルーラッチ回路４ａの入力データをＤ0 〜Ｄ2 とすると、ＣＬＫがローレベルのとき、入力データはスルーされ、ＣＬＫがハイレベルのときラッチされて、確定したデータ（Ｄ0 〜Ｄ2 ）が出力データ２００として導出される。
【００２２】
図２（Ｃ）はバス制御回路６から出力されるイネーブル信号１００の波形を示し、データＤ0 〜Ｄ2 の３要素分の３クロックサイクル間ハイレベルを出力している。（Ｄ）はイネーブル信号１００とＣＬＫとを入力とする２入力アンドゲート７の出力である活性化信号３００の波形を示している。この活性化信号３００がハイレベルのとき、トライステートバッファ２は活性化され、入力データ２００がトライステートバス１に出力される（図２の（Ｅ）参照）。トライステートバス１上には、ＣＬＫのハイレベルで、上記トライステートバッファ２の出力データが確定する。
【００２３】
次に、ＣＬＫがローレベルになると、トライステートバッファ２の活性化信号３００がローレベルになるために、トライステートバッファ２は不活性化されてその出力は高インピーダンス（Ｈｉ−Ｚ）状態になる（図２の（Ｅ）参照）。このとき、データ保持回路１１内のＣＬＫ制御インバータ１１ａがＣＬＫのローレベルで活性化され、半クロック前にトライステートバス１上に確定していたデータを保持する。図２（Ｇ）がＣＬＫ制御インバータ１１ａの出力を示しており、ＣＬＫがハイレベルのとき、高インピーダンス状態を出力し、ＣＬＫのローレベルで、有効データＤ0 〜Ｄ2 をトライステートバス１上に出力している。
【００２４】
上述の動作により、トライステートバス１は、１クロックサイクルの間、同一データを保持することができる（図２の（Ｆ）参照）。データ保持回路１１からの出力データは、次のＣＬＫのハイレベルで、データ入力部１０内のロースルーラッチ１０ｂにラッチされ、データ転送が終了する（図２の（Ｈ）参照）。
【００２５】
このように、本発明では、複数のトライステートバッファの出力端子をワイヤードオアさせたトライステートバスにおいて、トライステートバスに、ラッチ機能を持たせて、後段のラッチ回路を省略することがてきるので、トライステートバス回路のハードウェア量を削減し、かつデータ転送の高速化を図ることが可能となる。
【００２６】
図１において、データ出力部４，５内のロースルーラッチと、データ入力部１０内のロースルーラッチをハイスルーラッチに置き換え、アンド回路７，８へ入力するＣＬＫと、データ保持回路１１内のＣＬＫ制御インバータ１１ａへ入力するＣＬＫを反転させることで、トライステートバス１はロースルーラッチ機能が実現できるので、上述した実施例と同じ効果を得ることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施例の回路図である。
【図２】本発明の実施例の動作を示すタイムチャートである。
【図３】従来技術を示す回路図である。
【符号の説明】
【００２８】
１  トライステートバス
２，３  トライステートバッファ
４，５  データ出力部
４ａ，５ａ，１０ｂ  ロースルーラッチ
６  バス制御回路
７，８  アンドゲート
１０  データ出力部
１０ａ，１１ｂ  インバータ
１１ａ  ＣＬＫ制御インバータ
【図１】
2008177712.tif 000003
【図２】
2008177712.tif 000004
【図３】
2008177712.tif 000005