説明

トライステートバス回路

【課題】 ハードウェア量を削減して、ラッチ間距離を短縮させ、データ転送性能の向上を図り、動作マージンの広いトライステートバス回路を提供する。
【解決手段】 複数のトライステートバッファ2,3の出力端子をワイヤードオアさせたトライステートバス1において、トライステートバス1に、データ保持回路11によるラッチ機能を持たせる。これにより、従来必要であった後段のラッチ回路を省略することがてきるので、トライステートバス回路のハードウェア量を削減し、かつデータ転送の高速化を図ることが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はトライステートバス回路に関し、特にデータ転送時における転送速度の向上を図ったトライステートバス回路に関するものである。
【背景技術】
【0002】
図3は、トライステートバス及びその周辺回路の従来技術を示す図である。トライステートバス1の入力側には、複数のデータ出力部4,5が、対応するトライステートバッファ2,3を介して、ワイヤードオア形式により接続されている。データ出力部4,5の各々はロースルーラッチ4a,5aを有しており、これらロースルーラッチは、システムの動作クロック信号(CLK)がローレベルの時に入力データをスルーし、ハイレベルの時に入力データをラッチするものである。そして、トライステートバッファ2,3を活性制御するためのイネーブル信号100,101がバス制御回路6から生成されるようになっている。
【0003】
トライステートバス1の出力側には、データ中継部9を介してデータ入力部10が接続されている。データ中継部9はハイスルーラッチ9aとインバータ9bとからなっており、ハイスルーラッチは、CLKがハイレベルの時に入力データをスルーし、ローレベルの時に入力データをラッチするものである。また、データ入力部10はインバータ10aとロースルーラッチ10bとからなっている。
【0004】
かかる構成において、CLKがハイレベルになると、データ出力部4内のロースルーラッチ4aから出力されたデータ200はトライステートバッファ2に入力される。このとき、バス制御回路6から出力されるイネーブル信号100がハイレベルのとき、トライステートバッファ2は活性化され、入力データ200をトライステートバス1に出力してトライステートバス1の電位が確定する。
【0005】
トライステートバス1の出力データ400は、次のCLKのローレベルで、データ中継部9内のハイスルーラッチ9aによりラッチされ、インバータ9bによりその反転データがデータ入力部10へ送出される。次のCLKのハイレベルで、データ入力部10内のインバータ10aで反転されたデータがロースルーラッチ10bにラッチされて、データ転送が終了することになる。
【0006】
なお、トライステートバスに関する技術は特許文献1に開示されている。
【特許文献1】特開2004−048407号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、図3に示した従来のトライステートバスにおいては、次のような課題がある。すなわち、図3の構成では、トライステートバスの前後にラッチ回路を設けているが、トライステートバスへのデータ入力が増えてバス配線長が長くなると、ラッチ間距離(パス)も長くなり、本パスが遅延的に厳しいパスになる。ここで、ラッチ間の遅延条件を満足できなければ、トライステートバスを2分割する必要があり、データ転送性能が悪化する。また仮に、遅延制約をぎりぎりで満たせたとしても、動作マージンの狭い回路になるという可能性がある。
【0008】
なお、上記特許文献1の技術においては、トライステートバスに対して、どこからもデータ入力がなされない場合に、トライステートバスに固定値を供給して、当該バスが中間値になることを防止する技術であって、トライステートバッファを用いたデータ転送時における上述した従来技術の課題を解決するためのものではない。
【0009】
本発明の目的は、トライステートバスにラッチ機能を持たせ、後段のラッチ回路を省略し、ハードウェア量を削減して、ラッチ間距離を短縮させ、データ転送性能の向上を図り、動作マージンの広いトライステートバス回路を提供することである。
【課題を解決するための手段】
【0010】
本発明によるトライステートバス回路は、トライステートバスと、前記トライステートバスに出力がワイヤードオア接続されたトライステートバッファとを含むトライステートバス回路であって、前記トライステートバッファが高インピーダンス状態の間、前記トライステートバッファが高インピーダンス状態になる前の出力データをラッチしつつ前記トライステートバス上にこのデータを保持する手段を含むことを特徴とする。
【0011】
そして、前記トライステートバッファは、クロック信号の所定の半サイクルで前記トライステートバスにデータを出力し、後の半サイクルで前記高インピーダンス状態となるよう構成されており、前記手段は、前記後の半サイクルの間、前記データをラッチして前記トライステートバス上にこのデータを保持することを特徴とする。
【0012】
また、前記手段は、第一及び第二のインバータを有し、前記第一のインバータの入力及び出力が、前記第二のインバータの出力及び入力にそれぞれ接続されたラッチ回路構成であることを特徴とし、また、前記第一のインバータは、前記クロック信号の前記後の半サイクルで活性化されるクロック制御インバータであることを特徴とする。
【発明の効果】
【0013】
本発明によれば、トライステートバスにラッチ機能を持たせることにより、後段のラッチ回路を省略し、ハードウェア量を削減することで、トライステートバス回路の縮小化が可能となるという効果がある。かかる効果により、トライステートバス回路内のラッチ間距離を短縮できることになって、データ転送性能の向上を図ることができ、動作マージンの広いトライステートバス回路を実現できるという効果がある。
【発明を実施するための最良の形態】
【0014】
本発明の実施例について、以下に図面を参照しつつ説明する。図1は本発明の実施例の回路図であり、図3と同等部分は同一符号により示している。ここでは、説明を簡単にするため、1つのトライステートバス1に、2個のデータ出力部4,5と1個のデータ入力部10とが接続される構成とする。
【0015】
トライステートバス1には、データ出力部4とデータ出力部5からの出力データ200,201が、トライステートバッファ2,3を介し、ワイヤードオアとして出力される構成になっている。トライステートバッファ2と3が同時に活性化し、トライステートバス1上でデータが衝突するのを防ぐ(競合防止)ために、バス制御回路6によりイネーブル信号100,101が同時にハイレベルにならないように排他的に制御される。なお、トライステートバッファが3個以上の場合をも含む一般的の場合には、択一的に活性制御されることになる。
【0016】
データ出力部4,5は、CLKのローレベルで入力データをスルーし、CLKのハイレベルで入力データをラッチするロースルーラッチ回路4a,5aを有し、その出力信号200,201はトライステートバッファ2,3にそれぞれ入力されている。バス制御回路6から出力されるイネーブル信号100は、アンドゲート7によりCLKと論理積がとられ、アンドゲート7の出力信号である活性化信号300がトライステートバッファ2に入力されている。
【0017】
バス制御回路6から出力されているイネーブル信号101は、アンドゲート8によりCLKと論理積がとられ、アンドゲート8の出力信号である活性化信号301が、トライステートバッファ3に入力されている。トライステートバッファ2,3は、活性化信号300,301がハイレベルのとき活性化され、入力データ200,201をトライステートバス1にそれぞれ出力し、CLKがローレベルのとき、高インピーダンス(Hi−Z)状態をトライステートバス1に出力し、トライステートバス1から切離される。
【0018】
データ保持回路11は、CLKの反転で活性化するCLK制御インバータ11aと、入力データを反転し出力データとして送出するインバータ11bとを有し、トライステートバス1のデータ出力400を入力とし、その反転データをデータ入力回路10へ出力する。CLK制御インバータ11aはインバータ11bの出力を入力とし、出力がインバータ11bの入力にワイヤードオア接続されており、CLKがハイレベルのとき、高インピーダンス状態を出力し、ローレベルのとき、入力データの反転を出力する。
【0019】
データ入力部10は、テータ保持回路11からのデータを反転するインバータ10aと、CLKのローレベルでインバータ10aの出力をスルーし、ハイレベルでインバータ10aの出力をラッチするロースルーラッチ回路10bを有する。
【0020】
次に、図1に示した本発明の実施例のトライステートバス回路の動作を、図3に示すタイムチャートを使用して説明する。図2のタイムチャートは、データ出力部4から出力されるデータD0 〜D2 の3要素が、トライステートバス1を通過してデータ保持回路11を経て、データ入力回路10に転送される場合について説明するためのものである。
【0021】
図2(A)はCLKの波形を示し、(B)はデータ出力部4内のロースルーラッチ回路4aの出力データであり、ロースルーラッチ回路4aの入力データをD0 〜D2 とすると、CLKがローレベルのとき、入力データはスルーされ、CLKがハイレベルのときラッチされて、確定したデータ(D0 〜D2 )が出力データ200として導出される。
【0022】
図2(C)はバス制御回路6から出力されるイネーブル信号100の波形を示し、データD0 〜D2 の3要素分の3クロックサイクル間ハイレベルを出力している。(D)はイネーブル信号100とCLKとを入力とする2入力アンドゲート7の出力である活性化信号300の波形を示している。この活性化信号300がハイレベルのとき、トライステートバッファ2は活性化され、入力データ200がトライステートバス1に出力される(図2の(E)参照)。トライステートバス1上には、CLKのハイレベルで、上記トライステートバッファ2の出力データが確定する。
【0023】
次に、CLKがローレベルになると、トライステートバッファ2の活性化信号300がローレベルになるために、トライステートバッファ2は不活性化されてその出力は高インピーダンス(Hi−Z)状態になる(図2の(E)参照)。このとき、データ保持回路11内のCLK制御インバータ11aがCLKのローレベルで活性化され、半クロック前にトライステートバス1上に確定していたデータを保持する。図2(G)がCLK制御インバータ11aの出力を示しており、CLKがハイレベルのとき、高インピーダンス状態を出力し、CLKのローレベルで、有効データD0 〜D2 をトライステートバス1上に出力している。
【0024】
上述の動作により、トライステートバス1は、1クロックサイクルの間、同一データを保持することができる(図2の(F)参照)。データ保持回路11からの出力データは、次のCLKのハイレベルで、データ入力部10内のロースルーラッチ10bにラッチされ、データ転送が終了する(図2の(H)参照)。
【0025】
このように、本発明では、複数のトライステートバッファの出力端子をワイヤードオアさせたトライステートバスにおいて、トライステートバスに、ラッチ機能を持たせて、後段のラッチ回路を省略することがてきるので、トライステートバス回路のハードウェア量を削減し、かつデータ転送の高速化を図ることが可能となる。
【0026】
図1において、データ出力部4,5内のロースルーラッチと、データ入力部10内のロースルーラッチをハイスルーラッチに置き換え、アンド回路7,8へ入力するCLKと、データ保持回路11内のCLK制御インバータ11aへ入力するCLKを反転させることで、トライステートバス1はロースルーラッチ機能が実現できるので、上述した実施例と同じ効果を得ることができる。
【図面の簡単な説明】
【0027】
【図1】本発明の実施例の回路図である。
【図2】本発明の実施例の動作を示すタイムチャートである。
【図3】従来技術を示す回路図である。
【符号の説明】
【0028】
1 トライステートバス
2,3 トライステートバッファ
4,5 データ出力部
4a,5a,10b ロースルーラッチ
6 バス制御回路
7,8 アンドゲート
10 データ出力部
10a,11b インバータ
11a CLK制御インバータ

【特許請求の範囲】
【請求項1】
トライステートバスと、前記トライステートバスに出力がワイヤードオア接続されたトライステートバッファとを含むトライステートバス回路であって、
前記トライステートバッファが高インピーダンス状態の間、前記トライステートバッファが高インピーダンス状態になる前の出力データをラッチしつつ前記トライステートバス上にこのデータを保持する手段を含むことを特徴とするトライステートバス回路。
【請求項2】
前記トライステートバッファは、クロック信号の所定の半サイクルで前記トライステートバスにデータを出力し、後の半サイクルで前記高インピーダンス状態となるよう構成されており、
前記手段は、前記後の半サイクルの間、前記データをラッチして前記トライステートバス上にこのデータを保持することを特徴とする請求項1記載のトライステートバス回路。
【請求項3】
前記手段は、第一及び第二のインバータを有し、前記第一のインバータの入力及び出力が、前記第二のインバータの出力及び入力にそれぞれ接続されたラッチ回路構成であることを特徴とする請求項2記載のトライステートバス回路。
【請求項4】
前記第一のインバータは、前記クロック信号の前記後の半サイクルで活性化されるクロック制御インバータであることを特徴とする請求項3記載のトライステートバス回路。
【請求項5】
前記トライステートバッファは複数設けられており、これら複数のトライステートバッファの択一的活性制御をなす手段を、更に含むことを特徴とする請求項1〜4いずれか記載のトライステートバス回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2008−177712(P2008−177712A)
【公開日】平成20年7月31日(2008.7.31)
【国際特許分類】
【出願番号】特願2007−7557(P2007−7557)
【出願日】平成19年1月17日(2007.1.17)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】