JP2003505761A - 固有のバスプロトコルを用いて同期バスを任意の長さだけ延長する方法 - Google Patents

固有のバスプロトコルを用いて同期バスを任意の長さだけ延長する方法

Info

Publication number
JP2003505761A
JP2003505761A JP2001511557A JP2001511557A JP2003505761A JP 2003505761 A JP2003505761 A JP 2003505761A JP 2001511557 A JP2001511557 A JP 2001511557A JP 2001511557 A JP2001511557 A JP 2001511557A JP 2003505761 A JP2003505761 A JP 2003505761A
Authority
JP
Japan
Prior art keywords
bus
extender
remote device
uut
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001511557A
Other languages
English (en)
Other versions
JP4272833B2 (ja
Inventor
トゥルーベンバッハ,エリック・エル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teradyne Inc
Original Assignee
Teradyne Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teradyne Inc filed Critical Teradyne Inc
Publication of JP2003505761A publication Critical patent/JP2003505761A/ja
Application granted granted Critical
Publication of JP4272833B2 publication Critical patent/JP4272833B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31722Addressing or selecting of test units, e.g. transmission protocols for selecting test units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 制限された長さの同期バスを延長するためのバス延長器によって、ATEシステムにおいてバスカードに都合よく近づけるようになる。バス延長器は同期バス、たとえば、PCIバスに挿入され、ケーブルが、リモートカードが係合する離れた場所までバス信号を搬送する。バス延長器は、リモートカードのイニシエータ(マスター)およびターゲット(スレーブ)モードの両方に対応し、バスの固有のプロトコルにおいてリモートカードと通信する。バス延長器は、バスからの個別の制御を必要とすることなく動作する。たとえば、バス延長器は、自ら所有するデバイスドライバを必要としない。バス延長器は、リモートカードとのバストランザクションをモニタし、構成データを格納するバススヌーパ回路を備える。バススヌーパ回路は、高速の応答を必要とするバス要求に対して、リモートカードの代わりにローカルで応答する。バス延長器はさらに、バスのリセットを必要とすることなく、リモートカードをリセットするために、格納された構成データをリモートカードにコピーするステートマシンを備える。バス延長器にはホールドオフ回路も設けられ、ホールドオフ回路は、リモートカードからのリターン信号が安定するためにかかるホールドオフインターバルを判定する。ホールドオフ回路は、リターン信号を受信し、ホールドオフインターバルが経過した後に、その信号をバスに適用する。

Description

【発明の詳細な説明】
【0001】 本発明は概括的には自動検査装置に関し、より詳細には、同期バス装置を試験
(検査)する自動検査システムにおいて同期バスを延長する方法に関する。発明の背景 最近のコンピュータシステムは、データを通信するために高速の同期バスを用
いる。同期バスは、全てのバス装置に共通のクロックを供給することにより、バ
ス上の動作を調整する。非同期バスは、動作状態を調整するために共通のクロッ
クを用いない。同期バスの例には、PCI、AGPおよびカードバスが含まれる
【0002】 電子回路基板の製造業者は、その製品が確実に性能および機能のための要件を
満たすように、自動検査装置(「ATE」あるいは「テスタ」)を用いる。1つ
の検査構成では、被検査(検査対象)ユニット(「UUT」)が1つあるいは複
数のインターフェースコネクタを介してテスタに取り付けられ、テスタは、UU
Tの固有の環境を再現することによりUUTを検査する。UUT自体が同期バス
カードである場合、テスタは、UUTが接続される完全な同期バスを含むことに
より、バス環境を再現することもできる。
【0003】 同期バスのある特徴によって、同期バスカードのATE検査に問題が生じる。
同期バスの主な制約は、高速で動作するために、同期バスを短くしておかなけれ
ばならないことである。33MHz以上で動作する同期バスは、1フィート長以
上にされることはほとんどない。同期バスを短くしておく必要があるために、付
随する全てのハードウエアおよび冷却装置とともにバス全体が、テスタインター
フェース付近の場所に押し込められる。しかしながら、テスタインターフェース
周囲の領域は、既に密集している傾向がある。テスタのリソースのうちの大部分
のリソースの中心的な場所であることに加えて、テスタインターフェースは典型
的には、検査用アダプタ、補助装置、およびUUTを着脱するためのハンドラも
含む。それゆえ、同期バスを短くしておく必要性は、テスタインターフェース付
近の利用可能な空間の不足と矛盾するようになる。
【0004】 また同期バスは、障害分離しにくいことから悪影響を受ける傾向がある。1つ
のカード上の不具合(障害)が他のカード上の不具合として現れる可能性があり
、それにより、バス全体が誤動作するようになる可能性がある。正常なATEの
ベンチマークによって、障害を分離することができる。大部分の同期バスに共通
な障害分離の欠如は、ATEにおける高い障害分離の要件とまさに両立しない。
【0005】 同期バスの中には、明示的にリセットすることを必要とすることなく、電力(
電源)を供給した状態でバスカードを変更することに対応し、新しいカードの「
活性(作動)」を識別することができるものもある(「ホットスワッピング」と
して知られる機構)。しかしながら、多くのバスは、カードが迅速に変更される
ように設定されていない。これらのバスは、カードを差し込むか、あるいは取り
出すことができる前に電源を切らなければならず、正常な動作を再開することが
できる前に、時間をかけてリセットを行わなければならない。ATEシステムは
典型的には、製造ラインのようにして大量のカードを検査する。ホットスワッピ
ングに対応していないバスの場合、カードを交換するための時間がかかる手順に
時間を要することは、高いスループットのATE要件と両立しない。
【0006】 図1は、最近のコンピュータシステムにおいて共通に用いられるタイプの同期
バスを示しており、同期バスを短くしておくための必要性を示す。クロックドラ
イバ112がマスタークロック信号114をバッファリングし、個々のバージョ
ンのマスタークロックを、バス110にプラグ接続(挿入)された各装置122
、124および126上の各クロック受信機120に供給する。クロックドライ
バ112は、ほとんどタイミングのずれを生じることなく、全てのスロットにマ
スタークロック信号114を分配する。すなわち、バスの種々のスロット上のク
ロック信号間にほとんど位相差は現れない。
【0007】 図1に示されるように、バス110上の各装置122、124および126は
、データ送信機116と、データ受信機118と、クロック受信機120とを備
える。バス110は、マルチドロップ、マルチマスター方式に構成され、全ての
装置が、バス上の任意の他の装置からデータを送受信できる。たとえば、装置1
22はその送信機116を用いて、データ信号を装置126に送信することがで
き、その後、装置126は、その受信機120を用いて、データ信号を受信する
ことができる。
【0008】 図1では、「Tprop」を、データ信号がバス内を伝搬し、到達するのにかかる
時間としている。Tpropは、バスの物理的な長さ、そのインピーダンス、バス上
の装置のインピーダンス、誘導性および容量性負荷、バス終端を含む多数の要因
に関連する有限の遅延である。マスタークロック114の周期がTpropより著し
く長い場合には、装置122からのデータ信号は、次のクロックエッジの前に、
バス内を伝搬し、装置126に到達するだけの十分な時間を有する。しかしなが
ら、Tpropがクロック周期に近づくか、あるいはそれを超える場合には、装置1
26は、データ信号が安定(セトル:settle)する前にそのクロックエッ
ジを受信し、無効なクロックが発生するようになる。適切に動作させるために、
propはクロック周期より常に短くしなければならない。Tpropがクロック周期
より短いという要件の実用上の結果は、非常に高速の同期バスが非常に短くされ
るという結果につながる。
【0009】 同期クロックの長さを延長するために種々の技術が用いられており、部分的に
成功を収めている。これらの技術は、バス負荷の変更、バスの低速化、ブリッジ
ングおよびリモートバス制御を含む。バス負荷の変更 遅延時間Tpropはバスの物理的な長さばかりでなく、その電気的負荷にも依存
する。バスの負荷を低減することにより、バスを物理的に延長し、依然としてク
ロック周期より短いTpropを維持することができる場合がある。
【0010】 実用上の問題としては、バス負荷を低減することにより、わずかな利得が生成
されるにすぎない。大部分のバス実装形態は積極的にバス負荷を制御し、改善す
るためのわずかなマージンを残している。最良の条件下では、バス負荷を低減す
ることにより、同期バスは数インチだけ延長することができる。ATE環境では
、この改善は小さすぎて有用ではない。バスの低速化 バスのクロック周期がバスの最大長を制限するので、理論的には、クロック周
期を長くすることにより、バスを長くすることができる。クロック周期を長くな
ればなるほど、誤ったクロックが現れる前に、多くのデータが伝搬する可能性が
生じる。クロック周期を長くすることは、バスを延長する簡単で、魅力的な方法
であると思われるが、この技術はいくつかの短所を有する。第1に、全てのバス
がクロック周期を変更できるわけではない。第2に、低減された速度でバスを動
作させることにより、バス上の動作が遅くなり、システム全体のスループットが
低下するようになる。第3に、バスを延長することは、バスに負荷をかけること
により、クロック信号にリンギングを生じる可能性があり、そのリンギング自体
によって誤ったクロックが生じる危険性がある。クロック周期を低下させること
によって、リンギングは低減されない。しかしながら、状況によっては、クロッ
クのエッジを遅くすることにより、リンギングが低減される場合もある。しかし
ながら、クロックエッジを遅くすることは、実際には達成するのが難しい。最後
に、低下した速度でUUTを検査することは、あるタイプの障害を解明し損なう
危険性がある。多くの障害は、UUTが定格の速度で動作する際にのみ明らかに
なる。クロックを低速にすることは、障害検出を犠牲にし、したがってATEの
主な目的と両立しない。ブリッジング 図2は、同期バスを延長するための市販の技術である、バスブリッジングを示
す。バスブリッジングの一形態を提供するために現れた1つの製品は、SBS
Technologies社(St.Paul、MN)から市販されるモデル2
130である。図2に示されるように、ブリッジデバイス(装置)218は、当
初の同期バス210と、延長された同期バス212との間に挿置される。ブリッ
ジ装置218は、バス210と212との間で信号をコピーし、リモートデバイ
ス(装置)216が、ローカルデバイス(装置)214と双方向に通信できるよ
うにする。ブリッジングは、バスを互いから電気的に分離しながら、直列にバス
を有効に接続する。バスをさらに長く延長するために、多数のブリッジ装置をカ
スケードに接続することができる。
【0011】 ブリッジ・コンフィギュレーション(構成)の一部を形成する各バス部分は、
長さを最大にするために、バスの仕様に一致しなければならない。したがって、
ブリッジングによって、バスはカスケードに接続されるようになるが、任意の個
々のバスセグメントの長さを延長することはない。それゆえ、ブリッジングは、
UUT周囲の領域を障害物のない状態にしておくための必要性に対処するもので
はない。リモートバス制御 リモートバス制御は、同期バスを長い距離まで延長するために用いられている
。リモートバス制御の一形態を提供するために現れた1つの製品は、Catal
yst Enterprises社(San Jose、CA)から市販される
モデルTA300である。リモートバス制御は、バス信号を異なるバスプロトコ
ルに翻訳(変換)し、変換された信号を離れた場所に送信し、その信号を元の形
に変換し直して、その離れた場所においてバス信号を再構築することにより動作
する。
【0012】 図3はリモートバス制御の一例を示す。ローカル同期バス310上の制御用装
置314が、リモート同期バス312上のリモートデバイス(装置)320と通
信を行う。バスは、ローカル同期バス310に接続されるローカル変換デバイス
(装置)316と、リモートバス312に接続されるリモート変換装置318と
、2つの変換装置間の相互接続部322とを用いて通信する。ある実装形態では
、リモートバス312は省略され、リモート装置320は、変換装置318に直
結される。
【0013】 リモートバス制御はほとんど無限に延長可能であるが、特にATEでは、多く
の問題が生じる。第1に、リモートバス制御にはコストがかかる傾向がある。な
ぜなら、その制御を達成するために、多数のハードウエアおよびソフトウエアを
必要とするためである。第2に、リモートバス制御は、リモートカードに固有の
環境を用いて、リモートカードと通信しない。リモートバス制御は、長距離伝送
に適している種々のプロトコル、たとえばシリアルバスプロトコルへの変換を必
要とする。リモートバス制御は、リモートカードに固有の「デバイスドライバ」
を用いない。「デバイスドライバ」は、ホストコンピュータのオペレーティング
システムと装置との間の通信を管理するプログラムである。リモートバス制御は
、オペレーティングシステムと装置との間に種々のバスプロトコルを挿入し、リ
モートカードを動作させるために、固有のデバイスドライバを用いない。第3に
、リモートバス制御では、UUT付近でハードウエアを使用する必要がある。リ
モートバス312が削除される場合であっても、変換装置318は依然としてU
UT付近に配置される。発明の概要 上記の背景を念頭に置いて、本発明の目的は、バスの固有のバスプロトコルを
用いて、任意の長さの距離だけ同期バスを延長することである。
【0014】 本発明の別の目的は、そのバスがホットスワッピングに標準的に対応するか否
かに関係なく、リモートバスカードをホットスワッピングできるようにすること
である。
【0015】 本発明のさらに別の目的は、リモートバスカード上の障害が、システムの他の
場所において生じるようになる不具合を引き起こさないようにすることであり、
それゆえ障害分離を促進することである。
【0016】 上記の目的、ならびに他の目的および利点を達成するために、同期バスを延長
する方法は、同期バスと物理的に係合する延長器装置を用いる。その方法は、同
期バスから複数のバス信号を受信するステップと、インターコネクト(相互接続
部)を介して、複数のバス信号をリモート装置をドライブ(駆動)するステップ
と、相互接続部上でリモート装置からリターン信号を受信するステップとを含む
。その方法はさらに、少なくともリターン信号の整定時間の間、ホールドオフイ
ンターバルを確立するステップと、ホールドオフインターバルが経過した後に、
そのリターン信号を同期バスに印加するステップとを含む。
【0017】 本発明の別の態様によれば、同期バスと物理的に係合する延長器装置を用いて
同期バスを延長する方法は、リモート装置とのトランザクションを検出するため
に、同期バスをモニタするステップを含む。そのトランザクションは、リモート
装置の構成を符号化する内容を含む。その方法はさらに、リモート装置の構成の
ローカルコピーを保持するために、リモート装置とのトランザクションの内容を
格納するステップを含む。
【0018】 本発明の別の態様によれば、UUTを検査する方法は、第1のUUTのための
コンフィギュレーション(構成)データのレコードを構築するステップを含む。
またその方法は、第2のUUTが導入される後の時間まで、同期バスと第1のU
UTとの間のパワー(電力)の流れを遮断するステップも含む。その方法は、第
2のUUTを検査し始める前に、第2のUUT上に、第1のUUTのための構成
データのレコードをコピーするステップを含む。それにより、その方法を用いて
、同期バスを動作状態にしたまま、UUTが安全に交換されるようになる。
【0019】 本発明の別の態様によれば、同期バスを延長するためのバス延長器は、同期バ
スカードの検査を容易にする。バス延長器は、同期バスに接続される延長器装置
と、延長器装置に接続され、UUTと係合するように構成されるコネクタまで、
ある長さにわたって延在する相互接続部とを備える。延長器装置は、相互接続部
および同期バスに接続されるホールドオフ回路を備える。ホールドオフ回路は、
相互接続部の長さに基づいて、ホールドオフインターバルを格納するための遅延
レジスタと、遅延回路とを含む。遅延回路は、ホールドオフインターバルが経過
するまで、UUTから到達するリターン信号が、同期バス上でアサートするのを
防ぐ。
【0020】 本発明のさらに別の目的、利点および新規の特徴は、以下の記述および図面を
検討することから明らかになるであろう。 本発明は、以下に記載される詳細な説明および添付の図面を参照することによ
り理解が進むであろう。好ましい実施形態の説明 本発明によれば、同期バスの固有のプロトコルを維持しながら、バスエクステ
ンダ(延長器)が物理的に制限された同期バスを、任意の長さの距離だけ延長す
る。バス延長器は、リモート装置の「イニシエータ」(マスター)および「ター
ゲット」(スレーブ)動作の両方に対応する。本発明によるバス延長器によって
、リモート装置は、バスに直接的にプラグ接続されているかのように動作できる
ようになる。
【0021】 図4は、本発明によるバス延長器400をブロック図で示す。バス延長器は、
バスコネクタ422を介して、バス110(図1)、たとえばPCIバスと係合
する。相互接続部(インターコネクト)418がバス延長器に接続され、リモー
トバスカードが係合されるリモートバックプレーンコネクタ424まで、バス信
号を任意の長さの距離だけ延長する。バスターミネータ420が、リモートバッ
クプレーンコネクタ424付近でバス信号を終端する。
【0022】 バス延長器400は、標準的なバスカードの形をとることが好ましい。好まし
い実施形態では、バス延長器400は、標準的なPCIサイズおよび形状を有す
る単一スロットPCIカードであり、PCIバスの任意の利用可能なスロットに
差し込むことができる。バスコネクタ422は標準的なPCIカードコネクタで
あることが好ましく、リモートバックプレーンコネクタ424は標準的なPCI
バックプレーンコネクタであることが好ましい。相互接続部418は典型的には
ケーブルであるが、プリント回路基板、フレックスカード、あるいは他の多信号
伝達媒体でも同様に動作することができる。相互接続部418は、等しい長さの
信号経路を含み、バス信号間にほとんどタイミングのずれを生じないことが好ま
しい。
【0023】 図4に示されるように、バス延長器400は、バス「スヌーパ(snoope
r)」回路414と、リモートバスインターフェース412と、ホールドオフ回
路416とを備える。バススヌーパ回路414はバストランザクションを復号化
(デコード)し、適切な動作を実行する。リモートバスインターフェース412
は、バス110からのバス信号と、リモート装置からのリターン信号とを送受信
する。ホールドオフ回路416は、所定のホールドオフインターバルだけ待機し
、その後、リターン信号をバスに印加する。ホールドオフインターバルは可変で
あり、リターン信号がバス延長器に到達し、安定化することができるだけの十分
に長いインターバルに設定されることが好ましい。
【0024】 好ましい実施形態では、リモートバスインターフェース412、バススヌーパ
回路414およびホールドオフ回路416はともに、3.3V CMOSロジッ
クを用いる1つのフィールドプログラマブルゲートアレイ(「FPGA」)上に
製造される。FPGAは便宜的に用いられており、本発明に不可欠ではない。デ
ィスクリート部品あるいは他の高密度の素子と同様に、特定用途向け集積回路(
ASIC)が用いられる場合もある。FPGAの実装形態は33MHz、32ビ
ットの性能に対応し、PCIバージョン2.2標準規格に準拠する。しかしなが
ら、その設計は、他のバス上で、66MHz、64ビットPCIの性能に対応す
るように拡張することができる。
【0025】 オプションとして、制御線426を介してATEコントローラを通信するため
に、FPGA内に制御部(セクション)410が設けられる。制御線426を用
いて、制御部410は、障害をATEコントローラに報告し、ATEコントロー
ラから動作命令を受信する。別法では、制御部は、障害を報告し、動作命令を受
信するために、バス110と直接的に通信する。しかしながら、制御部410は
省略され、バス延長器400が、バス延長器の外部からの明示的な制御を必要と
することなく、自己充足的に動作することが好ましい。バス延長器400は、個
別のソフトウエアを必要としない、あるいは用いないことが好ましい。たとえば
、バス延長器は、自らの固有のデバイスドライバを必要としない。
【0026】 リモートバスインターフェース412は、リモート装置に送信される信号のソ
ース、およびリモート装置から返送されるリターン信号の受信機の両方に対応す
る。長い距離にわたってリモート装置にバス信号を送信し、かつバスターミネー
タ420の負荷インピーダンスを駆動(ドライブ)するために、リモートバスイ
ンターフェース412は、低インピーダンスのドライバを備えることが好ましい
。各低インピーダンスドライバは、並列に接続されるFPGAのいくつかのCM
OSゲートからなることが好ましい。最小のタイミングずれを達成するために、
低インピーダンスドライバは、同一の回路トポロジーを有することが好ましい。
リモート装置からのリターン信号を受信し、かつバッファリングするために、F
PGA内にCMOSゲートが設けられることが好ましい。相互接続部418の特
性インピーダンスを一定に保持することにより、かつリモート装置付近のバスタ
ーミネータ420でバスを終端することにより、バス延長器400は、実質的に
リンギングあるいは歪みを生じることなく、信号を送受信することができる。
【0027】 またバス延長器400は、リモートバスインターフェース412に接続される
パワースイッチング回路428も備える。パワースイッチング回路は、図4に示
される、ホットスワップ端子430において供給されるデジタル「ホットスワッ
プ」信号に応答して、延長器400とリモート装置との間で電源電流を選択的に
遮断、かつ導通させる。ホットスワップ信号は、2つの個別の状態、OPENお
よびCLOSEを有する。OPEN状態中に、パワースイッチング回路はリモー
ト回路に対する電源を遮断する。CLOSE状態中に、パワースイッチング回路
は、バス延長器400とリモート装置との間で自由に電力を導通させる。ホット
スワップ端子430は、任意の適当なデジタル信号源、たとえば、テスタインタ
ーフェースあるいは手動スイッチのデジタルビットから駆動される場合がある。
リモートバスインターフェース412の低インピーダンスドライバは、ホットス
ワップ信号の起動に応答して、高インピーダンス状態も有することが好ましい。
パワースイッチング回路と、高インピーダンス状態を有するような低インピーダ
ンスドライバの能力によって、バス110が動作し続けている間に、リモート装
置は停止、あるいは安全にスワップされるようになる。パワースイッチング回路
428の実装形態は、高電流切替え装置、好ましくは、FPGAの外部にある高
電流MOSFETを備える。低インピーダンスドライバを高インピーダンス状態
に駆動するための回路は、FPGA内に存在することが好ましい。オプションで
は、パワースイッチング回路は、所定のタイミングシーケンスにしたがってリモ
ート装置に対して電源を接続、あるいは切断するために、パワーシーケンス回路
を備えることができる。
【0028】 図5は、バススヌーパ回路414をブロック図の形で示す。バススヌーパ回路
は、バストランザクションを復号化し、適当な動作を実行する。バスデコーダ5
10がバス110およびリモートバスインターフェース412に接続され、バス
とリモート装置との間のバストランザクションを検査する。トランザクションが
リモート装置に対する構成(コンフィギュレーション)書込み(WRITE)命
令である場合には、バスデコーダは、書込み命令の内容をリモートステータス(
状態)メモリ512に格納する。トランザクションがリモート装置に対する構成
読出し(READ)命令である場合には、バスデコーダは、必要に応じて、リモ
ート装置から読み返されることになるデータを変更するためのデータマスクを構
築する、マスクジェネレータ(生成器)516に通知する。トランザクションが
高速の応答を必要とするトランザクションである場合には、バスデコーダは、適
当な高速の応答を生成する、ローカルレスポンスジェネレータ(応答生成器)5
14に通知する。
【0029】 バススヌーパ回路414は、リモート装置に向けられる構成書込み命令の内容
をリモート状態メモリ512に格納する。好ましい実施形態では、バススヌーパ
回路414は、全ての書込み命令の内容をリモート状態メモリ512に格納する
とは限らない。むしろ、バススヌーパ回路414は、リモート装置の64個の特
定の「構成(コンフィギュレーション)」レジスタに向けられるターゲット書込
み命令の内容のみを格納する。PCI仕様は、PCIカードの64個の構成レジ
スタを定義する。これらのレジスタのうちの多くは、PCIバスが動作するため
に書込みが行なわれなければならない。知られているように、PCIバスBIO
Sは、PCIバスがリセットされる度に、バスに挿入(プラグ接続)されている
各装置のために、これら64個の構成レジスタの必要な値を書き込む。
【0030】 時間とともに、かつ各PCIバスリセット時には明示的に、リモート状態メモ
リ512は、リモート装置のための全64個の構成レジスタのローカルレコード
を蓄積する。一旦必要になるなら、既知の安定状態を構成するために、構成レジ
スタのレコードは、そのリモート装置に再度格納されることができるか、あるい
は異なるリモート装置に格納されることができる。PCIバスの付加的なリセッ
トは必要とされない。
【0031】 64個の構成レジスタ以外のPCIカード上のレジスタ(すなわち、非構成レ
ジスタ)は、バス動作を確立するために不可欠ではない。ユーザの希望に応じて
、64個の構成レジスタが再度格納された後に、非構成レジスタの内容が、従来
のターゲット書込み命令を用いて、リモート装置にコピーされることができる。
別法では、リモート装置に書き込まれる全てのデータを格納するために、リモー
ト状態メモリ512にメモリを加えることができるが、メモリを設けることによ
りさらにコストがかかるであろう。
【0032】 PCI仕様は、1つのPCIカード上の多数の論理素子に対応する。好ましい
実施形態によれば、バススヌーパ回路414は、種々の論理素子間を区別し、多
数の論理素子に対応するだけの十分なメモリを提供する。
【0033】 好ましい実施形態では、バス延長器400は、リモート状態メモリ512の内
容をリモート装置にコピーするために状態機械(ステートマシン:図示せず)を
用いる。ステートマシンは、ホットスワップ信号に応答して動作し、バス110
と独立して動作することが好ましい。また、ステートマシンは、パワースイッチ
ング回路428も制御することが好ましい。ホットスワップ信号がOPENであ
るとき、ステートマシンは、パワースイッチング回路428を起動し、リモート
装置への電力を遮断する。ホットスワップ信号の状態がOPENからCLOSE
に変化するとき、ステートマシンは、リモート装置に電力を供給し、リモート状
態メモリ512の内容を、リモート装置の構成レジスタに排出する。
【0034】 ステートマシンとともにパワースイッチング回路428の動作によって、リモ
ート装置はホットスワップできるようになる。リモート装置のホットスワッピン
グは、バス110から独立して動作するので、本発明は実際に、ホットスワッピ
ングに直接対応しないバスにホットスワッピング機能を提供する。
【0035】 図5に示されるように、バススヌーパ回路414は、マスク生成(ジェネレー
タ)回路516も備える。マスク生成回路516は、データマスクを生成するこ
とにより、所定のターゲット読出し命令セットに応答して動作する。マスク生成
器516は、データマスクをホールドオフ回路416に渡し、ホールドオフ回路
416はそのマスクを、リモート装置から返送されるリターン信号に適用し、必
要に応じてリターン信号を変更する。
【0036】 「非構成」レジスタのターゲット読出し命令の場合、データマスクはトランス
ペアレント(透過性)であり、変化していない全てのデータを通過させるように
構成される。データマスクは、ある一定の構成レジスタのターゲット読出し命令
の場合にのみ操作可能、すなわち非トランスペアレントである。ある一定の構成
レジスタは、リモート装置が延長形態で用いられるときに、有効でないリモート
装置の特性を特定するデータを格納する。たとえば、PCI装置は、特定のトラ
ンザクションに応答して、その装置が必要とするクロックサイクルの数を指示す
る構成データを格納する。クロックサイクルの数は、バス延長器400が異なる
数のクロックサイクルに応答し、延長器レイテンシーを相殺する場合があるので
、延長形態では有効でない場合がある。この状況下では、マスク生成器516は
、リモート装置から読み返されるデータの1つあるいは複数の無効なビットを変
更するために用いられることになるデータマスクを生成する。別の例としては、
構成レジスタは、PCIカードが66MHz通信に対応するか否かを指示する。
最初の、バス延長器400のFPGA実装形態は、66MHz通信に対応しない
。本発明のFPGA実装形態では、マスク生成器516は、66MHz動作が試
行されないことを確実にするために、強制的に否定応答するデータマスクを生成
する。
【0037】 また、図5に示されるバススヌーパ回路414は、ローカル応答生成器514
も備える。バスデコーダ510は、高速の応答を必要とするトランザクションを
特定し、ローカル応答生成器514は、適当な高速の応答を生成する。ローカル
応答生成器は、延長構成がバス仕様において相殺されないレイテンシーを加える
ため用いられる。たとえば、PCIバス仕様に準拠して、PCIイニシエータが
PCIターゲットにアドレスを送信するとき、バスイニシエータは、バスターゲ
ットが所定の制限時間内に応答することを期待する。バスイニシエータは、応答
がない場合には、指定されたスロットにPCI装置が導入されていないことを意
味するものと解釈する。
【0038】 延長構成では、リモートバスターゲットは典型的には許容可能な時間内に応答
することができない。本発明によれば、リモート装置がバスターゲットとして動
作するとき、ローカル応答生成器514は、リモート装置の代わりに、許容可能
な時間内にバスイニシエータへの応答を発行する。ローカル応答生成器の応答は
、バス110上に1つあるいは複数の待機状態をアサートすることを含む場合が
ある。同様に、リモート装置がバスイニシエータとして動作するとき、ローカル
応答生成器の応答は、ローカルバスターゲットの代わりに、PCI仕様による応
答のために許容可能な時間内に、1つあるいは複数の待機状態をリモート装置に
送信することを含む場合がある。
【0039】 リモート装置がバスイニシエータとして動作するとき、ローカル応答生成器5
14は、リモート装置からのイニシエータ読出しあるいは書込み命令を期待して
、リモート装置に待機状態を適用し続ける。バス延長器400は、リモート装置
に待機状態をアサートし始める前には、リモート装置からイニシエータ読出しあ
るいは書込み命令を受信するまで待つことができない。なぜなら、リモート装置
が、PCI仕様によって許容される応答のための時間内に待機状態を受信しない
場合があるためである。それゆえ、リモート装置がバスイニシエータとして動作
するとき、ローカル応答生成器514は、デフォルトによって、リモート装置に
待機状態をアサートし、一旦、イニシエータトランザクションが完了した場合に
のみ、待機状態のアサートを停止することが好ましい。
【0040】 バスのハングアップを回避するために、ローカル応答生成器514は、ウォッ
チドッグタイマ(図示せず)を含むことが好ましい。リモート装置が挿入されて
いないか、機能していない場合には、ウォッチドッグタイマは待機状態の発行を
終了し、標準的なバス動作が再開されるようにする。ウォッチドッグタイマのタ
イムアウトは、全ての予想される標準的な遅延に対応するだけの大きな値に設定
されることが好ましい。バス延長器がバスターゲット自体から待機状態を受信す
る場合には、バス延長器は、バス延長器が待機状態を受信し終えるまで、ウォッ
チドッグタイマの動作を停止する。バス延長器が待機状態を受信し終えた後に、
ウォッチドッグタイマはカウント動作を開始する。
【0041】 また、バス延長器400はホールドオフ回路416も備える。ホールドオフ回
路は、リモートバスインターフェース412からリターン信号を受信し、バス1
10にリターン信号を送出する前に、所定の時間インターバルだけ待機する。
【0042】 図6および図7は、ホールドオフ回路416をブロック図で示す。図6に示さ
れるように、ホールドオフ回路は、マスク回路616と、遅延回路610と、遅
延判定回路612とを備える。マスク回路616はリモートバスインターフェー
ス412からリターン信号を受信し、必要に応じて、リターン信号を変更するた
めに、マスク生成器516によって生成されるデータマスクを適用する。遅延回
路610は、マスク回路616からリターン信号を受信し、遅延回路610がス
トローブ信号614を受信するまで、リターン信号のバス110の通過を遮断す
る。
【0043】 図7に示されるように、遅延判定回路612は、信号サンプラー710と、遅
延レジスタ712と、ストローブ回路714とを備える。信号サンプラーは、バ
ス延長器400とリモート装置との間のラウンドトリップディレイ(往復遅延)
に関連するホールドオフインターバルを判定する。ホールドオフインターバルは
、バス延長器400からリモート装置へのバス信号の遅延時間と、リモート装置
の応答時間と、リモート装置から戻るリターン信号の設定時間とを含むことが好
ましい。遅延レジスタ712は、ホールドオフインターバルの値を格納する。バ
ス延長器400がリモート装置に命令を送信するとき、ストローブ回路714は
、命令が送信されるために経過した時間をホールドオフインターバルと比較する
。2つの値が一致する場合には、ストローブ回路714は、ストローブ信号61
4を生成し、遅延回路610は、バスサイクル内の次の適当な時点で、バスにリ
ターン信号を送出する。
【0044】 信号サンプラー710は、リモート装置へのターゲット読出し命令をシミュレ
ートすることにより、ホールドオフインターバルを判定することが好ましい。信
号サンプラーは、ターゲット読出し命令の発行と、リターン信号が安定する整定
時間との間の時間インターバルを測定する。PCI仕様は、製造業者IDを格納
するためのPCIカード上の特定のアドレスと、このアドレスのターゲット読出
しに対する応答時間とを指定する。信号サンプラーは、製造業者IDのターゲッ
ト読出しをシミュレートすることが好ましい。
【0045】 信号サンプラー710はリターン信号をモニタする。リターン信号は、それら
が到達し、安定する前には、全て「1」の値を示す。その応答が全て「1」の値
以外の値であり、連続した測定の場合に同一の読み値を与えるとき、リターン信
号は安定している。信号サンプラーは、遅延レジスタ712に、経過した時間に
対応する値を格納する。リモート装置の応答時間はわかっている(IDレジスタ
のターゲット読出しのために定義される)ので、ラウンドトリップディレイは、
リモート装置の応答時間とは無関係に判定されることができる。
【0046】 さらに別の代替形態によれば、信号サンプラー710は、実際の(シミュレー
ションではない)ターゲット読出し命令に応答して動作し、各命令のための新し
いホールドオフインターバルを生成する。
【0047】 信号サンプラー710は、ステートマシン(図示せず)の方向に基づいて、バ
ス延長器400の最初の使用時に自動的に最適なホールドオフインターバルを判
定することが好ましい。別法では、信号サンプラー710は、外部コマンドの発
行時に動作する。信号サンプラーが動作するためのコマンドを再び受信するまで
、後続の通信のために同じホールドオフインターバルが繰返し用いられる。
【0048】 さらに別の代替形態によれば、本発明は信号サンプラーを設けず、システムの
初期設定中に、遅延レジスタ712の値が確立される。遅延レジスタ712の値
は、バス延長器400とリモート装置との間のラウンドトリップディレイの手動
による測定値、あるいは推定値に基づく。遅延レジスタの値は永続的に確立され
るか、あるいは時間毎に変更されることができる。実験では、2つの33MHz
バスサイクル(60ナノ秒)の固定された遅延であれば、10フィートの長さを
有する相互接続部に対応するのに十分であることが示されている。
【0049】 信号サンプラー710は、バス周波数の倍数、たとえばバス周波数の2倍でリ
ターン信号をサンプリングすることにより、ホールドオフインターバルを測定す
ることが好ましい。信号サンプラーのサンプリングレートが高くなると、ホール
ドオフインターバルの精度も高くなり、ホールドオフインターバルが過大になる
可能性が低くなる。別法では、信号サンプラー710は、バス周波数と同じ、あ
るいは遅いサンプリングレートで動作する。
【0050】 本発明者は、リターン信号がホールドオフ回路によって用いられ、良好な結果
が得られる時点を判定する他の方法もわかった。たとえば、ホールドオフ回路は
リング発振器を用いて、バス延長器400と相互接続部418とを含むループに
おいて発振を開始することができる。発振の周波数はラウンドトリップディレイ
に比例する。別の例としては、バス延長器400は、バス延長器400と、相互
接続部418の遠端との間の信号の伝搬時間を測定するために、時間領域反射率
計(TDR)を設けられることができる。
【0051】 図8aおよび図8bは、リモート装置がバスターゲット(スレーブ)として動
作する際に、上記のバス延長器400によって実行される動作を記述する流れ図
である。図8aは、ターゲット読出し命令に応答するバス延長器動作を示す。図
8bは、ターゲット書込み命令に応答するバス延長器動作を示す。
【0052】 図8aでは、バス延長器400は、バス110上でバスイニシエータからター
ゲット読出し命令を受信し、バススヌーパ回路414がターゲット読出し命令を
復号化する。ステップ810では、ローカル応答生成器514が、リモートバス
ターゲットの代わりに、バスイニシエータによって指定されるターゲットアドレ
スが有効であることの確認信号を生成する。また、ローカル応答生成器514は
、バス110上に待機状態をアサートする。
【0053】 ステップ812では、マスク生成器516がデータマスクを生成する。データ
マスクの値は、指定されるターゲットアドレスに固有である。データマスクは、
リモート装置から読み返されることになる構成データのビットを変更するように
選択的に編成され、そのビットは、延長された形態には当てはまらない通信特性
を符号化している。延長された形態に当てはまらない構成レジスタの場合を除い
て、データマスクは、全てのターゲット読出しアドレスの内容の場合にトランス
ペアレントである。マスク生成器516は、マスクを必要とするターゲットアド
レスのためのマスク値を格納するローカルメモリ(図示せず)を備えることが好
ましい。
【0054】 ステップ814では、バス延長器400はリモート装置にバス信号を送信し、
ステップ816では、バス延長器400はホールドオフインターバルのカウント
ダウンを開始する。ステップ818では、リモート装置からバス延長器400に
リターン信号が到達し、バス延長器は、ステップ812において生成された読出
しマスクを適用する。ステップ820では、ホールドオフインターバルが経過し
、バス延長器400は、バスサイクル内の適当な段階で、バス110にリターン
信号を送出する。さらに待機状態が要求されなければ、ホールドオフインターバ
ルが経過したとき、ローカル応答生成器514は、バス110から待機状態をデ
アサート(deassert)する。リモート装置がさらに、ホールドオフイン
ターバルの満了より長く待機状態を要求する場合には、ローカル応答生成器51
4は、バス110にさらに待機状態を付加する。
【0055】 図8aにおいて、ステップ810〜816は、順番に行われるように示される
。しかしながら、これらのステップの順序は変更できることがわかっている。た
とえば、ステップ812において生成されるデータマスクは、リターン信号がバ
ス延長器400に到達するまでに準備される必要はない。ステップ810〜81
6は同時に行われることが好ましい。
【0056】 図8bは、ターゲット書込み命令に応答するバス延長器の動作を示す。バス延
長器400は、バス110上で、バスイニシエータからターゲット書込み命令を
受信し、バススヌーパ回路414がターゲット書込み命令を復号化する。ステッ
プ830では、ローカル応答生成器514が、応答のための許容可能な時間内に
、バス110上に待機状態をアサートする。
【0057】 ステップ832では、バス延長器400は、ホールドオフインターバルをカウ
ントダウンし始める。ターゲット書込み命令が構成書込み、すなわち、64の「
構成」レジスタのうちの1つへの書込みである場合には、ステップ834におい
て、バス延長器400は、構成データのローカルコピーを格納する。リモート装
置が多数の論理素子を含む場合には、格納するステップ834は、特に指定され
た論理素子のための構成データを格納するステップを含む。
【0058】 ステップ836では、バス延長器400は、リモート装置にバス信号を送信す
る。「構成」および「非構成」書込み命令の両方が送信される。ホールドオフイ
ンターバルが経過するとき、ローカル応答生成器514は、さらに待機状態が要
求されなければ、バス110から待機状態をデアサートする。ホールドオフイン
ターバルの満了後に、リモート装置がさらに待機状態を要求する場合には、ロー
カル応答生成器514は、要求される待機状態をバス110に付加する。
【0059】 図8bは、ステップ830、832、834および836を順番に示す。しか
しながら、これらのステップは、任意の特定の順番で行われる必要はない。ステ
ップ830および832はバス110を「スヌープ(snoop)」するステッ
プの一部であり、任意の順番で、あるいは同時に行うことができる。同様に、ス
ヌープするステップ(832および834)、ならびにリモート装置に信号を送
信するステップ(836)は任意の順番で、あるいは同時に行うことができる。
【0060】 図8cおよび図8dは、リモート装置がバスイニシエータ(マスター)として
動作する際に、上記のバス延長器400によって実行される動作を記述する流れ
図である。図8cは、リモート装置によって生成されるイニシエータ読出し命令
に応答する動作を示す。図8dは、リモート装置によって生成されるイニシエー
タ書込み命令に応答する動作を示す。
【0061】 図8cに示されるように、ステップ850において、バス延長器400は、リ
モート装置に待機状態をプリアサート(preassert)する。バス延長器
400がバスイニシエータに対してローカルである(すなわち、バス延長器およ
びバスイニシエータが同じバス110にプラグ接続される)図8aのターゲット
読出しの場合と異なり、ここでは、バスイニシエータに対して「ローカルな」装
置は存在しない。バスイニシエータはリモート装置であり、一般に、PCI仕様
によって指定される応答のための許容可能な時間内に、バスターゲットから応答
を受信することができない。それゆえ、ローカル応答生成器514は、バス延長
器が、リモートカードがバスイニシエータとして動作していることを検出する際
には必ず、デフォルトによってリモート装置に待機状態をアサートし続けること
が好ましい。バス延長器は、一旦、バス延長器がバスターゲットから実際の応答
を受信したときにのみ、イニシエータ読出しに応答して待機状態をデアサートす
る。
【0062】 バス延長器400は、リモート装置からバスイニシエータ動作を検出するため
に、絶えずリターン信号をモニタする。ステップ852では、バス延長器はリタ
ーン信号の変化を検出する。誤りを回避するために、バス延長器は、バス110
にリターン信号を送出する前に、リターン信号が安定するのに十分な所定の時間
インターバルだけ待機する。一実施形態では、この時間インターバルは、上記の
ホールドオフインターバルであり、バス延長器は、ステップ854においてホー
ルドオフインターバルをカウントし始める。しかしながら、ホールドオフインタ
ーバルは、全てのラウンドトリップディレイを含むので、必要以上に長くなる。
別法では、バス延長器はホールドオフインターバルより短いが、リターン信号が
安定するようになるだけの十分に長い時間だけ待機する。所定の時間インターバ
ルが経過した後、バス延長器400は、バスサイクル内の次の適当な時点で、バ
ス110にリターン信号を放出する(ステップ856)。
【0063】 ステップ856において送出されたリターン信号は、リモート装置からのイニ
シエータ読出し命令を符号化する。一旦アサートされたなら、バス延長器400
は、バスターゲットからの応答を待つ。バス延長器がバスターゲットからデータ
(読出し値)を受信する場合には、バス延長器は待機状態をデアサートし(ステ
ップ858)、リモート装置に読出し命令の結果を送信する(ステップ860)
。バス延長器400がバスターゲットから1つあるいは複数の待機状態を受信す
る場合には、バス延長器がバスターゲットから待機状態を受信し終えるまで、バ
ス延長器はリモート装置に待機状態をアサートし続ける。バス延長器400は、
データが到達する際に、リモート装置にデータを送信する。
【0064】 図8dは、リモート装置からのイニシエータ書込み命令に応答するバス延長器
動作を示す。上記のように、バス延長器が、リモート装置がバスイニシエータと
して動作していることを検出する際には必ず、バス延長器はリモート装置に待機
状態をアサートし続ける(ステップ870)。バス延長器400は、リモート装
置からのイニシエータ読出しあるいは書込み命令を検出するために、リターン信
号を絶えずモニタする。ステップ872では、バス延長器はリターン信号の変化
を検出する。上記のように、バス延長器は、バス110にリターン信号を送出す
る前に、リターン信号が安定するための所定の時間インターバルだけ待機する。
一実施形態では、この時間インターバルは、上記のホールドオフインターバルで
あり、バス延長器は、ステップ874においてホールドオフインターバルをカウ
ントし始める。別法では、バス延長器は、ホールドオフインターバルより短いが
、リターン信号が安定するだけの十分に長い時間だけ待機する。所定の時間イン
ターバルが経過した後、バス延長器400は、バスサイクル内の次の適当な時点
で、バス110にリターン信号を送出する(ステップ876)。
【0065】 リターン信号は、リモート装置からのイニシエータ書込み命令を符号化する。
バスターゲットが書込み命令に応答して待機状態を生成しない場合には、ローカ
ル応答生成器514は、ステップ878において、リモート装置に待機状態をデ
アサートする。バスターゲットが待機状態をアサートする場合には、ローカル応
答生成器514は、リモート装置に待機状態をデアサートする前に、ターゲット
が待機状態をデアサートするのを待つ。
【0066】 図9は、本発明にしたがってバス延長器400を用いるリモートUUTを検査
するための検査システム900を示す。図10は、図9の検査システムを用いて
リモートUUTを検査するためのプロセスを示す。バス延長器400は、UUT
上で生じる障害がバス110に伝搬するのを防ぎ、それゆえ、検査システム90
0の障害分離を促進する。
【0067】 図9に示されるように、バス延長器400はバス110に挿入(プラグ接続)
される。相互接続部418はバス延長器400に接続され、リモートUUT91
8まで延在する。さらに別のバス装置912もバス110に挿入される。オプシ
ョンでは、検査システムは、オプションの制御線426を介してバス延長器40
0に接続されるATEコントローラ920を備える。
【0068】 検査システム900は、図10aのステップ1010において示されるように
、第1のUUTを動作させる。第1のUUTが動作するとき、バス延長器400
は、第1のUUTに書き込まれたデータを「スヌープ」し、スヌープされた構成
データをローカルメモリに格納する(ステップ1012)。検査システムが第1
のUUTを動作させる際に、障害が生じる場合がある。バス延長器400は、障
害をトラップし、障害がバス110に伝搬しないようにする。1つのオプション
の実施形態によれば、バス延長器400は、制御線426を介して、ATEコン
トローラ920に障害を通知する。別のオプションの実施形態によれば、バス延
長器400は、バス110を介して直接、バス110が導入されているホストコ
ンピュータに障害を通知する。ステップ1018では、パワースイッチング回路
428を起動することにより、第1のUUTから電源が切り離される。上記のよ
うに、パワースイッチング回路は、ユーザあるいは検査プログラムがホットスワ
ップ端子430にOPENレベルを適用するとき起動することが好ましい。また
、ホットスワップ端子430へのホットスワップ信号の適用によって、バス延長
器400内の低インピーダンスドライバが高インピーダンス状態に構成されるこ
とが好ましい。ステップ1018はオプションで、所定のタイミングシーケンス
にしたがって、第1のUUTへの電源を遮断する場合がある。
【0069】 ステップ1020(図10b)では、第1のUUT918が、第1のUUTと
同じタイプの第2のUUTと置き換えられる。ユーザが手動でUUTを置き換え
る場合があるか、あるいはテスタインターフェース付近にある専用のハンドリン
グ装置が自動的にUUTを置き換える場合がある。ステップ1022では、バス
延長器は、好ましくはホットスワップ信号の適用に応答して、第2のUUTに電
力を供給する。オプションでは、ステップ1022は、所定のタイミングシーケ
ンスにしたがって第2のUUTに電力を供給する。一旦、第2のUUTに電力が
供給されたなら、ステップ1024において、バス延長器は、第2のUUTに、
そのローカルメモリの内容をコピーする。第1および第2のUUTがいずれも同
じタイプであるので、第1のUUTのためのローカルメモリに格納された構成デ
ータは、第2のUUTの場合にも有効である。ステップ1026では、検査シス
テムは、バス延長器400上で第2のUUTを動作させる。それゆえ、バス延長
器400によって、バス110の電源を切って入れ直したり、リセットしたりす
ることを必要とすることなく、第1および第2のUUTの電源を切って入れ直し
たり、交換したりすることができる。
【0070】 図10cは、検査システム900が第1のUUT上の障害から如何に復旧する
かを示す。ステップ1030では、第1のUUTへの電力が復旧される。ステッ
プ1034では、バス延長器は、そのローカルメモリに格納される構成データを
第1のUUTにコピーし、それにより第1のUUTの構成レジスタを復元する。
ステップ1036において、検査システム900は検査動作を再開する。バス1
10の電源を切って入れ直したり、リセットしたりする必要はない。
【0071】 一実施形態について記載してきたが、種々の代替形態あるいは変更形態が実施
されることもできる。たとえば、バス延長器400は、バス内に直接構築される
ことができ、バスカードとして実装される必要はない。好ましい実施形態はPC
Iバスに向けられる。しかしながら、本発明によるバス延長器は、任意の同期バ
ス、たとえばカードバスあるいはAGPにおいて実装されることができる。
【0072】 種々のバスカードを離れた場所まで同時に延長するために、種々のバス延長器
が1つのバス上に設けられる場合がある。バス延長器400は種々の応用形態に
おいて用いられる場合がある。技師および専門技術者は、実使用時に、バスカー
ドを監視する必要がある。バス長に関する厳しい制約は、「延長器カード」、す
なわち、バスカードの前後にアクセスすることができるようにするために、バス
の面から外部にバス信号を導出するカードの利用を禁止することである。バス延
長器400は、バスのタイミング要件を妨害することなく、都合の良いデバッグ
場所までバスカードを延長するために、このような状況において用いられる場合
がある。また本発明は、本発明を種々のバスカードの動作を実演するために用い
ることができるコンピュータ販売店においても有用な場合がある。本発明によっ
て、バスカードは、販売店員がコンピュータのカバーを取り外し、コンピュータ
の電源を切り、新しいカードを適所に入れてコンピュータをリブートすることを
必要とすることなく、消費者が比較するために容易にスワップされるようになる
【0073】 それゆえ、当業者は、特許請求の範囲の精神および範囲から逸脱することなく
、本明細書に記載された好ましい実施形態に対して、追加、削除および変更がな
されることができることを理解するであろう。
【図面の簡単な説明】
【図1】 本発明が動作することができる従来の同期バスアーキテクチャの簡略化された
概略図である。
【図2】 ブリッジングの従来の技術を示すブロック図である。
【図3】 リモートバス制御の従来の技術を示すブロック図である。
【図4】 本発明によるバス延長器のブロック図である。
【図5】 図4のバススヌーパ回路を詳細に示すブロック図である。
【図6】 図4のホールドオフ回路を詳細に示すブロック図である。
【図7】 図6の遅延判定回路を詳細に示すブロック図である。
【図8】 図8a〜図8dは、リモート装置がバスターゲットモードにおいて動作してい
る際に、図4のバス延長器を用いるリモート装置の読出し動作の例を示す流れ図
である。
【図9】 リモートUUTを検査するための本発明によるバス延長器を含む検査システム
を示すブロック図である。
【図10】 図10a〜図10cは、本発明による、1つあるいは複数のリモートUUTを
検査する方法を示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW 【要約の続き】 設けられ、ホールドオフ回路は、リモートカードからの リターン信号が安定するためにかかるホールドオフイン ターバルを判定する。ホールドオフ回路は、リターン信 号を受信し、ホールドオフインターバルが経過した後 に、その信号をバスに適用する。

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 同期バスと物理的に係合する延長器装置を用いて該同期バス
    を延長する方法であって、前記延長器装置が、 前記同期バスから複数のバス信号を受信し、任意の長さを有する相互接続部を
    介して、リモート装置に前記複数のバス信号をドライブし、 前記相互接続部上で前記リモート装置からリターン信号を受信し、前記リター
    ン信号は前記相互接続部の長さに関連して変化する整定時間を有し、 少なくとも前記リターン信号の前記整定時間と同じ長さのホールドオフインタ
    ーバルを確立し、 前記ホールドオフインターバルが経過した後に、前記リターン信号を前記同期
    バスに印加し、 それにより、前記相互接続部の長さに関係なく、前記リターン信号が前記同期
    バスに印加される前に、前記リターン信号が安定するのを確実にする、 ことを含む方法。
  2. 【請求項2】 ホールドオフインターバルを確立する前記ステップは、前記
    延長器装置が、 リターン信号を生成するためにリモート装置を起動し、 前記リターン信号が安定するまで、多数のサンプリングクロックをカウントす
    ることを含む請求項1に記載の方法。
  3. 【請求項3】 リターン信号を生成するためにリモート装置を起動する前記
    ステップは、前記リモート装置に読出し命令を発行することを含む請求項2に記
    載の方法。
  4. 【請求項4】 ホールドオフインターバルを確立する前記ステップは、前記
    ホールドオフインターバルを、前記相互接続部の長さの範囲に対応するだけの十
    分な長さの標準的なインターバルに設定することを含む請求項1に記載の方法。
  5. 【請求項5】 前記延長器装置が、 前記リモート装置とのトランザクションを検出するために、前記同期バスをモ
    ニタし、 前記リモート装置との前記トランザクションを格納することをさらに含む請求
    項1に記載の方法。
  6. 【請求項6】 前記モニタするステップにおいて検出される前記トランザク
    ションは前記リモート装置への書込み命令であり、前記トランザクションを格納
    する前記ステップは、前記リモート装置の構成を指示するレコードを構築するこ
    とを含む請求項5に記載の方法。
  7. 【請求項7】 前記リモート装置は第1のリモート装置であり、 前記第1のリモート装置と第2のリモート装置とのうちの一方の上に、前記リ
    モート装置の構成を指示する前記レコードを復元し、前記第1のリモート装置と
    前記第2のリモート装置とのうちの前記一方を、動作させるために事前調整する
    ことをさらに含む請求項6に記載の方法。
  8. 【請求項8】 前記同期バスをモニタする前記ステップは、高速の応答が必
    要とされる前記同期バスに関する条件を検出し、前記リモート装置の代わりに、
    前記条件を満足するための高速の応答を適用することをさらに含む請求項5に記
    載の方法。
  9. 【請求項9】 前記リモート装置への電力を、制御しながら供給および切断
    することをさらに含む請求項1に記載の方法。
  10. 【請求項10】 同期バスと物理的に係合する延長器装置を用いて該同期バ
    スを延長する方法であって、前記延長器装置が、 リモート装置とのトランザクションを検出するために前記同期バスをモニタし
    、前記トランザクションは前記リモート装置の構成を符号化する内容を含み、 前記リモート装置の構成のローカルコピーを保持するために、前記リモート装
    置との前記トランザクションの前記内容を格納することを含む方法。
  11. 【請求項11】 前記同期バスをモニタする前記ステップは、 高速の応答が必要とされる前記同期バスに関する条件を検出し、 前記リモート装置の代わりに、前記条件を満足するための応答を適用すること
    をさらに含む請求項10に記載の方法。
  12. 【請求項12】 前記リモート装置は第1のリモート装置であり、 前記第1のリモート装置と第2のリモート装置とのうちの一方の上に、前記リ
    モート装置の構成のローカルコピーを復元し、前記第1のリモート装置と前記第
    2のリモート装置とのうちの前記一方を、動作させるために事前調整することを
    さらに含む請求項10に記載の方法。
  13. 【請求項13】 同期バスカードであるUUTを検査する方法であって、 第1のUUTのための構成データのレコードを構築し、 第2のUUTが導入される時間の後まで、前記同期バスと前記第1のUUTと
    の間の電力の流れを遮断し、 前記第2のUUTの検査を進める前に、前記第2のUUT上に前記第1のUU
    Tのための前記構成データの前記レコードをコピーし、 それにより、前記同期バスが動作状態である間に、UUTが安全に交換される
    ようにする、 ことを含む方法。
  14. 【請求項14】 UUT上の障害を検出するステップと、前記障害が発生し
    ていることをATEコントローラに通知することをさらに含む請求項13に記載
    の方法。
  15. 【請求項15】 前記通知するステップは、前記同期バスを介して前記AT
    Eコントローラに前記障害を通信することを含む請求項14に記載の方法。
  16. 【請求項16】 前記通知するステップは、前記同期バスとは物理的に別個
    のチャネルを介して、前記ATEコントローラに前記障害を通信することを含む
    請求項14に記載の方法。
  17. 【請求項17】 同期バスカードの検査を容易にするために、同期バスを延
    長するためのバス延長器であって、 前記同期バスに接続される延長器装置と、 前記延長器装置に結合され、UUTと係合するように配置されるコネクタまで
    ある長さにわたって延在する相互接続部とを備え、 前記延長器装置は、前記相互接続部および前記同期バスに結合されるホールド
    オフ回路を備え、前記ホールドオフ回路は、 前記相互接続部の前記長さに基づいて、ホールドオフインターバルを格納する
    遅延レジスタと、 前記ホールドオフインターバルが経過するまで、前記UUTから到達するリタ
    ーン信号が、前記同期バス上にアサートするのを防止するための遅延回路と、 を含むバス延長器。
  18. 【請求項18】 前記ホールドオフ回路は遅延判定回路を備え、該遅延判定
    回路は、 前記相互接続部に結合され、前記リターン信号が安定するために必要とされる
    サンプリングクロックの数を判定するために前記リターン信号をサンプリングし
    、その結果を前記遅延レジスタに格納する信号サンプラーと、 前記遅延レジスタおよび前記遅延回路に結合され、前記遅延レジスタに格納さ
    れた前記サンプリングクロックの数が経過するまで待機し、前記同期バスに前記
    リターン信号を送出するために、前記遅延回路を起動するストローブ回路と、 を備える請求項17に記載のバス延長器。
  19. 【請求項19】 前記延長器装置はさらにバススヌーパ回路を備え、該バス
    スヌーパ回路は、 前記同期バスに結合され、前記UUTとのトランザクションを検出するバスデ
    コーダと、 前記バスデコーダおよびリモートバスインターフェースに結合され、前記UU
    Tとの前記トランザクションを格納するリモート状態メモリと、 を備える請求項17に記載のバス延長器。
  20. 【請求項20】 前記バスデコーダによって検出される前記トランザクショ
    ンは前記UUTへの書込み命令であり、前記リモート状態メモリは、前記UUT
    の状態を指示するレコードを格納する請求項17に記載のバス延長器。
  21. 【請求項21】 前記UUTは第1のUUTであり、前記延長器装置は、前
    記第1のUUTのための前記レコードを第2のUUTにコピーし、動作させるた
    めに前記第2のUUTを事前調整するように構成され、配置される請求項20に
    記載のバス延長器。
  22. 【請求項22】 前記同期バスに結合され、高速の応答が必要とされる前記
    同期バスに関する条件を検出し、前記条件を満足するために高速の応答を適用す
    るローカル応答生成器をさらに備える請求項19に記載のバス延長器。
JP2001511557A 1999-07-15 2000-07-10 固有のバスプロトコルを用いて同期バスを任意の長さだけ延長する方法 Expired - Fee Related JP4272833B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/354,137 1999-07-15
US09/354,137 US6507920B1 (en) 1999-07-15 1999-07-15 Extending synchronous busses by arbitrary lengths using native bus protocol
PCT/US2000/018726 WO2001006369A1 (en) 1999-07-15 2000-07-10 Extending synchronous busses by arbitrary lengths using native bus protocol

Publications (2)

Publication Number Publication Date
JP2003505761A true JP2003505761A (ja) 2003-02-12
JP4272833B2 JP4272833B2 (ja) 2009-06-03

Family

ID=23392018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001511557A Expired - Fee Related JP4272833B2 (ja) 1999-07-15 2000-07-10 固有のバスプロトコルを用いて同期バスを任意の長さだけ延長する方法

Country Status (10)

Country Link
US (1) US6507920B1 (ja)
EP (1) EP1200895B1 (ja)
JP (1) JP4272833B2 (ja)
KR (1) KR100684130B1 (ja)
AU (1) AU775255B2 (ja)
CA (1) CA2379694C (ja)
DE (1) DE60005528T2 (ja)
HK (1) HK1044386A1 (ja)
IL (1) IL147616A0 (ja)
WO (1) WO2001006369A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769035B1 (en) * 2000-04-07 2004-07-27 Infineon Technologies North America Corp. Same single board computer system operable as a system master and a bus target
JP2006330945A (ja) * 2005-05-25 2006-12-07 Matsushita Electric Ind Co Ltd デバイスの遠隔監視・修復システム
US8745337B2 (en) * 2007-12-31 2014-06-03 Teradyne, Inc. Apparatus and method for controlling memory overrun
KR101520055B1 (ko) * 2013-07-31 2015-05-19 에스케이하이닉스 주식회사 프로그래머블 로직을 이용한 메모리 테스트 왕복 시간 계산 장치
TWI525451B (zh) * 2014-07-21 2016-03-11 緯創資通股份有限公司 儲存系統及其資料傳輸方法
KR102392844B1 (ko) 2017-03-10 2022-05-03 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 저장 장치
US11169203B1 (en) 2018-09-26 2021-11-09 Teradyne, Inc. Determining a configuration of a test system
US11461222B2 (en) 2020-04-16 2022-10-04 Teradyne, Inc. Determining the complexity of a test program
KR102563047B1 (ko) * 2021-09-14 2023-08-04 테크위드유 주식회사 효율적 채널 제어를 지원하는 프로브카드 용 pmic와 신호용 스위치 ic

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US772134A (en) 1899-12-27 1904-10-11 Everett D Chadwick Dry-pipe valve.
US2187315A (en) 1938-11-23 1940-01-16 Gerald G Greulich Bearing pile construction
US4718064A (en) * 1986-02-28 1988-01-05 Western Digital Corporation Automatic test system
JPH0624846A (ja) 1992-07-08 1994-02-01 Sumitomo Electric Ind Ltd 炭素繊維強化炭素複合材料の製造方法
JP3608804B2 (ja) * 1993-05-14 2005-01-12 株式会社ソニー・コンピュータエンタテインメント バス制御装置
US5507029A (en) * 1995-01-11 1996-04-09 International Business Machines Corporation Method for minimizing the time skew of electrical signals in very large scale integrated circuits
TW299404B (en) * 1995-11-02 1997-03-01 Ibm Adapter card slot isolation for hot plugging
US5893135A (en) * 1995-12-27 1999-04-06 Intel Corporation Flash memory array with two interfaces for responding to RAS and CAS signals
US5793987A (en) * 1996-04-18 1998-08-11 Cisco Systems, Inc. Hot plug port adapter with separate PCI local bus and auxiliary bus
US5857083A (en) 1996-06-07 1999-01-05 Yamaha Corporation Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US5991844A (en) * 1998-04-17 1999-11-23 Adaptec, Inc. Redundant bus bridge systems and methods using selectively synchronized clock signals
US6070214A (en) 1998-08-06 2000-05-30 Mobility Electronics, Inc. Serially linked bus bridge for expanding access over a first bus to a second bus

Also Published As

Publication number Publication date
US6507920B1 (en) 2003-01-14
KR20020015375A (ko) 2002-02-27
JP4272833B2 (ja) 2009-06-03
WO2001006369A1 (en) 2001-01-25
AU775255B2 (en) 2004-07-22
DE60005528D1 (de) 2003-10-30
DE60005528T2 (de) 2004-07-08
CA2379694A1 (en) 2001-01-25
CA2379694C (en) 2007-02-13
IL147616A0 (en) 2002-08-14
HK1044386A1 (zh) 2002-10-18
KR100684130B1 (ko) 2007-02-16
EP1200895B1 (en) 2003-09-24
AU5924300A (en) 2001-02-05
EP1200895A1 (en) 2002-05-02

Similar Documents

Publication Publication Date Title
US6275864B1 (en) Matrix switch for a network management system
US6233635B1 (en) Diagnostic/control system using a multi-level I2C bus
US7159063B2 (en) Method and apparatus for hot-swapping a hard disk drive
US6185642B1 (en) Bus for high frequency operation with backward compatibility and hot-plug ability
US6035355A (en) PCI system and adapter requirements following reset
EP1187033B1 (en) PCI arbiter with hot plug controller support
JP3629552B2 (ja) コンピュータ・バックプレーンのホット・プラグ回路の製造テスト
US6484222B1 (en) System for incorporating multiple expansion slots in a variable speed peripheral bus
US5287457A (en) Computer system DMA transfer
JPH08180013A (ja) コンピュータシステム、pciバスクロック信号周波数における変化に応答してpciバス装置のコンフィギュレーションレジスタを再構成する方法、およびpciバス装置がpciバスと異なる動作速度を有することをオペレータに通知する方法
JP2000305678A (ja) コンピュータ・システムの電源を切らずに構成要素を追加および除去する方法および装置
KR100417186B1 (ko) 업그레이드 장치 설치 시 그래픽 버스 상의 부하 균형유지 방법 및 장치
JP4272833B2 (ja) 固有のバスプロトコルを用いて同期バスを任意の長さだけ延長する方法
US6493785B1 (en) Communication mode between SCSI devices
US20030131227A1 (en) Reconfiguring a system in a distributed environment
US20020173925A1 (en) System for reducing distortion of signals transmitted over a bus
KR100963706B1 (ko) 데이터 전송 방법, 데이터 전송 브리지 및 고속 데이터전송 장치
JP4201369B2 (ja) コンピュータ・バス拡張
US7103703B1 (en) Back to back connection of PCI host bridges on a single PCI bus
US7457904B2 (en) Methods and systems for a reference clock
US20030188068A1 (en) System for a card proxy link architecture
US7069360B2 (en) Method and apparatus for detecting a device's ability to run at a selected frequency in a PCI non-inhibit bus-connect mode
CN211787062U (zh) Mctp设备测试装置
US6138193A (en) System for reducing noise in bus having plurality of first and second set of signals and a delay device for delaying propagation of second signals
US11500808B1 (en) Peripheral device having an implied reset signal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080922

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090302

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees