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

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

Info

Publication number
JP4272833B2
JP4272833B2 JP2001511557A JP2001511557A JP4272833B2 JP 4272833 B2 JP4272833 B2 JP 4272833B2 JP 2001511557 A JP2001511557 A JP 2001511557A JP 2001511557 A JP2001511557 A JP 2001511557A JP 4272833 B2 JP4272833 B2 JP 4272833B2
Authority
JP
Japan
Prior art keywords
bus
extender
remote device
remote
uut
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.)
Expired - Fee Related
Application number
JP2001511557A
Other languages
English (en)
Other versions
JP2003505761A (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

Images

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)

Description

【0001】
本発明は概括的には自動検査装置に関し、より詳細には、同期バス装置を試験(検査)する自動検査システムにおいて同期バスを延長する方法に関する。
発明の背景
最近のコンピュータシステムは、データを通信するために高速の同期バスを用いる。同期バスは、全てのバス装置に共通のクロックを供給することにより、バス上の動作を調整する。非同期バスは、動作状態を調整するために共通のクロックを用いない。同期バスの例には、PCI、AGPおよびカードバスが含まれる。
【0002】
電子回路基板の製造業者は、その製品が確実に性能および機能のための要件を満たすように、自動検査装置(「ATE」あるいは「テスタ」)を用いる。1つの検査構成では、被検査(検査対象)ユニット(「UUT」)が1つあるいは複数のインターフェースコネクタを介してテスタに取り付けられ、テスタは、UUTの固有の環境を再現することにより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は、マルチドロップ、マルチマスター方式に構成され、全ての装置が、バス上の任意の他の装置からデータを送受信できる。たとえば、装置122はその送信機116を用いて、データ信号を装置126に送信することができ、その後、装置126は、その受信機120を用いて、データ信号を受信することができる。
【0008】
図1では、「Tprop」を、データ信号がバス内を伝搬し、到達するのにかかる時間としている。Tpropは、バスの物理的な長さ、そのインピーダンス、バス上の装置のインピーダンス、誘導性および容量性負荷、バス終端を含む多数の要因に関連する有限の遅延である。マスタークロック114の周期がTpropより著しく長い場合には、装置122からのデータ信号は、次のクロックエッジの前に、バス内を伝搬し、装置126に到達するだけの十分な時間を有する。しかしながら、Tpropがクロック周期に近づくか、あるいはそれを超える場合には、装置126は、データ信号が安定(セトル:settle)する前にそのクロックエッジを受信し、無効なクロックが発生するようになる。適切に動作させるために、Tpropはクロック周期より常に短くしなければならない。Tpropがクロック周期より短いという要件の実用上の結果は、非常に高速の同期バスが非常に短くされるという結果につながる。
【0009】
同期クロックの長さを延長するために種々の技術が用いられており、部分的に成功を収めている。これらの技術は、バス負荷の変更、バスの低速化、ブリッジングおよびリモートバス制御を含む。
バス負荷の変更
遅延時間Tpropはバスの物理的な長さばかりでなく、その電気的負荷にも依存する。バスの負荷を低減することにより、バスを物理的に延長し、依然としてクロック周期より短いTpropを維持することができる場合がある。
【0010】
実用上の問題としては、バス負荷を低減することにより、わずかな利得が生成されるにすぎない。大部分のバス実装形態は積極的にバス負荷を制御し、改善するためのわずかなマージンを残している。最良の条件下では、バス負荷を低減することにより、同期バスは数インチだけ延長することができる。ATE環境では、この改善は小さすぎて有用ではない。
バスの低速化
バスのクロック周期がバスの最大長を制限するので、理論的には、クロック周期を長くすることにより、バスを長くすることができる。クロック周期を長くなればなるほど、誤ったクロックが現れる前に、多くのデータが伝搬する可能性が生じる。クロック周期を長くすることは、バスを延長する簡単で、魅力的な方法であると思われるが、この技術はいくつかの短所を有する。第1に、全てのバスがクロック周期を変更できるわけではない。第2に、低減された速度でバスを動作させることにより、バス上の動作が遅くなり、システム全体のスループットが低下するようになる。第3に、バスを延長することは、バスに負荷をかけることにより、クロック信号にリンギングを生じる可能性があり、そのリンギング自体によって誤ったクロックが生じる危険性がある。クロック周期を低下させることによって、リンギングは低減されない。しかしながら、状況によっては、クロックのエッジを遅くすることにより、リンギングが低減される場合もある。しかしながら、クロックエッジを遅くすることは、実際には達成するのが難しい。最後に、低下した速度でUUTを検査することは、あるタイプの障害を解明し損なう危険性がある。多くの障害は、UUTが定格の速度で動作する際にのみ明らかになる。クロックを低速にすることは、障害検出を犠牲にし、したがってATEの主な目的と両立しない。
ブリッジング
図2は、同期バスを延長するための市販の技術である、バスブリッジングを示す。バスブリッジングの一形態を提供するために現れた1つの製品は、SBS Technologies社(St.Paul、MN)から市販されるモデル2130である。図2に示されるように、ブリッジデバイス(装置)218は、当初の同期バス210と、延長された同期バス212との間に挿置される。ブリッジ装置218は、バス210と212との間で信号をコピーし、リモートデバイス(装置)216が、ローカルデバイス(装置)214と双方向に通信できるようにする。ブリッジングは、バスを互いから電気的に分離しながら、直列にバスを有効に接続する。バスをさらに長く延長するために、多数のブリッジ装置をカスケードに接続することができる。
【0011】
ブリッジ・コンフィギュレーション
(構成)の一部を形成する各バス部分は、長さを最大にするために、バスの仕様に一致しなければならない。したがって、ブリッジングによって、バスはカスケードに接続されるようになるが、任意の個々のバスセグメントの長さを延長することはない。それゆえ、ブリッジングは、UUT周囲の領域を障害物のない状態にしておくための必要性に対処するものではない。
リモートバス制御
リモートバス制御は、同期バスを長い距離まで延長するために用いられている。リモートバス制御の一形態を提供するために現れた1つの製品は、Catalyst 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は依然としてUUT付近に配置される。
発明の概要
上記の背景を念頭に置いて、本発明の目的は、バスの固有のバスプロトコルを用いて、任意の長さの距離だけ同期バスを延長することである。
【0014】
本発明の別の目的は、そのバスがホットスワッピングに標準的に対応するか否かに関係なく、リモートバスカードをホットスワッピングできるようにすることである。
【0015】
本発明のさらに別の目的は、リモートバスカード上の障害が、システムの他の場所において生じるようになる不具合を引き起こさないようにすることであり、それゆえ障害分離を促進することである。
【0016】
上記の目的、ならびに他の目的および利点を達成するために、同期バスを延長する方法は、同期バスと物理的に係合する延長器装置を用いる。その方法は、同期バスから複数のバス信号を受信するステップと、インターコネクト(相互接続部)を介して、複数のバス信号をリモート装置をドライブ(駆動)するステップと、相互接続部上でリモート装置からリターン信号を受信するステップとを含む。その方法はさらに、少なくともリターン信号の整定時間の間、ホールドオフインターバルを確立するステップと、ホールドオフインターバルが経過した後に、そのリターン信号を同期バスに印加するステップとを含む。
【0017】
本発明の別の態様によれば、同期バスと物理的に係合する延長器装置を用いて同期バスを延長する方法は、リモート装置とのトランザクションを検出するために、同期バスをモニタするステップを含む。そのトランザクションは、リモート装置の構成を符号化する内容を含む。その方法はさらに、リモート装置の構成のローカルコピーを保持するために、リモート装置とのトランザクションの内容を格納するステップを含む。
【0018】
本発明の別の態様によれば、UUTを検査する方法は、第1のUUTのためのコンフィギュレーション
(構成)データのレコードを構築するステップを含む。またその方法は、第2のUUTが導入される後の時間まで、同期バスと第1のUUTとの間のパワー(電力)の流れを遮断するステップも含む。その方法は、第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は、バス「スヌーパ(snooper)」回路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のいくつかのCMOSゲートからなることが好ましい。最小のタイミングずれを達成するために、低インピーダンスドライバは、同一の回路トポロジーを有することが好ましい。リモート装置からのリターン信号を受信し、かつバッファリングするために、FPGA内に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をブロック図の形で示す。バススヌーパ回路は、バストランザクションを復号化し、適当な動作を実行する。バスデコーダ510がバス110およびリモートバスインターフェース412に接続され、バスとリモート装置との間のバストランザクションを検査する。トランザクションがリモート装置に対する構成(コンフィギュレーション)書込み(WRITE)命令である場合には、バスデコーダは、書込み命令の内容をリモートステータス(状態)メモリ512に格納する。トランザクションがリモート装置に対する構成読出し(READ)命令である場合には、バスデコーダは、必要に応じて、リモート装置から読み返されることになるデータを変更するためのデータマスクを構築する、マスクジェネレータ(生成器)516に通知する。トランザクションが高速の応答を必要とするトランザクションである場合には、バスデコーダは、適当な高速の応答を生成する、ローカルレスポンスジェネレータ(応答生成器)514に通知する。
【0029】
バススヌーパ回路414は、リモート装置に向けられる構成書込み命令の内容をリモート状態メモリ512に格納する。好ましい実施形態では、バススヌーパ回路414は、全ての書込み命令の内容をリモート状態メモリ512に格納するとは限らない。むしろ、バススヌーパ回路414は、リモート装置の64個の特定の「構成(コンフィギュレーション)」レジスタに向けられるターゲット書込み命令の内容のみを格納する。PCI仕様は、PCIカードの64個の構成レジスタを定義する。これらのレジスタのうちの多くは、PCIバスが動作するために書込みが行なわれなければならない。知られているように、PCIバスBIOSは、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】
リモート装置がバスイニシエータとして動作するとき、ローカル応答生成器514は、リモート装置からのイニシエータ読出しあるいは書込み命令を期待して、リモート装置に待機状態を適用し続ける。バス延長器400は、リモート装置に待機状態をアサートし始める前には、リモート装置からイニシエータ読出しあるいは書込み命令を受信するまで待つことができない。なぜなら、リモート装置が、PCI仕様によって許容される応答のための時間内に待機状態を受信しない場合があるためである。それゆえ、リモート装置がバスイニシエータとして動作するとき、ローカル応答生成器514は、デフォルトによって、リモート装置に待機状態をアサートし、一旦、イニシエータトランザクションが完了した場合にのみ、待機状態のアサートを停止することが好ましい。
【0040】
バスのハングアップを回避するために、ローカル応答生成器514は、ウォッチドッグタイマ(図示せず)を含むことが好ましい。リモート装置が挿入されていないか、機能していない場合には、ウォッチドッグタイマは待機状態の発行を終了し、標準的なバス動作が再開されるようにする。ウォッチドッグタイマのタイムアウトは、全ての予想される標準的な遅延に対応するだけの大きな値に設定されることが好ましい。バス延長器がバスターゲット自体から待機状態を受信する場合には、バス延長器は、バス延長器が待機状態を受信し終えるまで、ウォッチドッグタイマの動作を停止する。バス延長器が待機状態を受信し終えた後に、ウォッチドッグタイマはカウント動作を開始する。
【0041】
また、バス延長器400はホールドオフ回路416も備える。ホールドオフ回路は、リモートバスインターフェース412からリターン信号を受信し、バス110にリターン信号を送出する前に、所定の時間インターバルだけ待機する。
【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は、ストローブ信号614を生成し、遅延回路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)する。リモート装置がさらに、ホールドオフインターバルの満了より長く待機状態を要求する場合には、ローカル応答生成器514は、バス110にさらに待機状態を付加する。
【0055】
図8aにおいて、ステップ810〜816は、順番に行われるように示される。しかしながら、これらのステップの順序は変更できることがわかっている。たとえば、ステップ812において生成されるデータマスクは、リターン信号がバス延長器400に到達するまでに準備される必要はない。ステップ810〜816は同時に行われることが好ましい。
【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に伝搬するのを防ぎ、それゆえ、検査システム900の障害分離を促進する。
【0067】
図9に示されるように、バス延長器400はバス110に挿入(プラグ接続)される。相互接続部418はバス延長器400に接続され、リモートUUT918まで延在する。さらに別のバス装置912もバス110に挿入される。オプションでは、検査システムは、オプションの制御線426を介してバス延長器400に接続される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は検査動作を再開する。バス110の電源を切って入れ直したり、リセットしたりする必要はない。
【0071】
一実施形態について記載してきたが、種々の代替形態あるいは変更形態が実施されることもできる。たとえば、バス延長器400は、バス内に直接構築されることができ、バスカードとして実装される必要はない。好ましい実施形態はPCIバスに向けられる。しかしながら、本発明によるバス延長器は、任意の同期バス、たとえばカードバスあるいは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を検査する方法を示す流れ図である。

Claims (15)

  1. 同期バスと物理的に係合するバス延長器を用いて該同期バスを延長する方法であって、前記バス延長器が延長器装置と相互接続部とを備える方法において、
    延長器装置を設け、該延長器装置を前記同期バスと物理的に係合させるとともに、任意の長さを有する相互接続部を設け、該相互接続部を介して前記延長器装置をリモート装置に接続し、
    前記延長器装置において、前記同期バスから複数のバス信号を受信し、前記相互接続部を介して、リモート装置に前記複数のバス信号をドライブし、
    前記延長器装置において、前記リモート装置から前記相互接続部を通してリターン信号を受信し、前記リターン信号は前記相互接続部の長さに関連して変化する整定時間を有し、
    前記延長器装置により、少なくとも前記リターン信号の前記整定時間と同じ長さのホールドオフインターバルを確立し、
    前記ホールドオフインターバルが経過した後に、前記延長器装置から前記リターン信号を前記同期バスに印加する、
    ステップを含む方法。
  2. 前記ホールドオフインターバルを確立するステップは、
    前記延長器装置により、リモート装置を起動してリターン信号を生成し、
    前記延長器装置により、前記リターン信号が安定するまでサンプリングクロック数をカウントする、
    ことを含む請求項1に記載の方法。
  3. 前記リモート装置を起動してリターン信号を生成するステップは、前記リモート装置に読出し命令を発行することを含む請求項2に記載の方法。
  4. 前記ホールドオフインターバルを確立するステップは、前記ホールドオフインターバルを、前記相互接続部の長さの範囲に対応するだけの十分な長さの標準的なインターバルに設定することを含む請求項1に記載の方法。
  5. 前記延長器装置が、
    前記延長器装置によって前記同期バスをモニタして、前記リモート装置とのトランザクションを検出し、
    前記延長器装置によって、前記リモート装置とのトランザクションを記憶する、
    ことをさらに含む請求項1に記載の方法。
  6. 前記モニタするステップにおいて検出されるトランザクションは、前記リモート装置への書込み命令であり、前記トランザクションを記憶するステップは、前記リモート装置の構成を示すレコードを構築することを含む請求項5に記載の方法。
  7. 前記リモート装置は第1のリモート装置であり、
    前記第1のリモート装置と第2のリモート装置の一方に、前記リモート装置の構成を示すレコードを復元し、前記第1のリモート装置と前記第2のリモート装置の前記一方を、動作させるために事前調整することをさらに含む請求項6に記載の方法。
  8. 前記同期バスをモニタするステップは、高速応答が要求される前記同期バスに関する条件を検出し、前記リモート装置の代わりに、前記条件を満足するための高速応答を行うことをさらに含む請求項5に記載の方法。
  9. 前記リモート装置への電力を、制御しながら供給および切断することをさらに含む請求項1に記載の方法。
  10. 同期バスカードの検査を容易にするために、同期バスを延長するバス延長器であって、
    前記同期バスに結合される延長器装置と、
    前記延長器装置に結合され、被検査ユニット(UUT)と係合するように配置されるコネクタまである長さにわたって延在する相互接続部とを備え、
    前記延長器装置は、前記相互接続部および前記同期バスに結合されるホールドオフ回路を含み、前記ホールドオフ回路は、
    前記相互接続部の長さに基づいて、ホールドオフインターバルを記憶する遅延レジスタと、
    前記ホールドオフインターバルが経過するまで、前記UUTから到達するリターン信号が、前記同期バスにアサートするのを防止するための遅延回路と、
    を含むバス延長器。
  11. 前記ホールドオフ回路は遅延判定回路を備え、該遅延判定回路は、
    前記相互接続部に結合され、前記リターン信号が安定するために必要とされるサンプリングクロックの数を判定するために前記リターン信号をサンプリングし、その結果を前記遅延レジスタに記憶する信号サンプラーと、
    前記遅延レジスタおよび前記遅延回路に結合され、前記遅延レジスタに記憶された前記サンプリングクロックの数が経過するまで待機し、前記同期バスに前記リターン信号を送出するために、前記遅延回路を起動するストローブ回路と、
    を備える請求項10に記載のバス延長器。
  12. 前記延長器装置はさらにバススヌーパ回路を備え、該バススヌーパ回路は、
    前記同期バスに結合され、前記UUTとのトランザクションを検出するバスデコーダと、
    前記バスデコーダおよびリモートバスインターフェースに結合され、前記UUTとのトランザクションを記憶するリモート状態メモリと、
    を備える請求項10に記載のバス延長器。
  13. 前記バスデコーダによって検出されるトランザクションは前記UUTへの書込み命令であり、前記リモート状態メモリは、前記UUTの状態を示すレコードを記憶する請求項10に記載のバス延長器。
  14. 前記UUTは第1のUUTであり、前記延長器装置は、前記第1のUUTのための前記レコードを第2のUUTにコピーし、動作させるために前記第2のUUTを事前調整するように構成され、配置される請求項13に記載のバス延長器。
  15. 前記同期バスに結合され、高速応答が要求される前記同期バスに関する条件を検出し、前記条件を満足するために高速応答を行うローカル応答生成器をさらに備える請求項12に記載のバス延長器。
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 US6507920B1 (en) 1999-07-15 1999-07-15 Extending synchronous busses by arbitrary lengths using native bus protocol
US09/354,137 1999-07-15
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 JP2003505761A (ja) 2003-02-12
JP4272833B2 true 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
WO2001006369A1 (en) 2001-01-25
CA2379694A1 (en) 2001-01-25
AU775255B2 (en) 2004-07-22
DE60005528T2 (de) 2004-07-08
CA2379694C (en) 2007-02-13
EP1200895A1 (en) 2002-05-02
AU5924300A (en) 2001-02-05
HK1044386A1 (zh) 2002-10-18
JP2003505761A (ja) 2003-02-12
KR100684130B1 (ko) 2007-02-16
EP1200895B1 (en) 2003-09-24
DE60005528D1 (de) 2003-10-30
IL147616A0 (en) 2002-08-14
KR20020015375A (ko) 2002-02-27

Similar Documents

Publication Publication Date Title
US7761753B2 (en) Memory channel with bit lane fail-over
US7165153B2 (en) Memory channel with unidirectional links
US7194581B2 (en) Memory channel with hot add/remove
US7127629B2 (en) Redriving a data signal responsive to either a sampling clock signal or stable clock signal dependent on a mode signal
US7222213B2 (en) System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US20120188832A1 (en) Memory channel having deskew separate from redrive
US7516349B2 (en) Synchronized memory channels with unidirectional links
US20040260991A1 (en) Memory channel utilizing permuting status patterns
JP4272833B2 (ja) 固有のバスプロトコルを用いて同期バスを任意の長さだけ延長する方法
JP2001273060A (ja) コンピュータ・バックプレーンのホット・プラグ回路の製造テスト
US7340537B2 (en) Memory channel with redundant presence detect
US20230305058A1 (en) Embedded PHY (EPHY) IP Core for FPGA
TWI502338B (zh) 測試介面卡及測試方法
US20220382705A1 (en) Peripheral component interconnect express device and operating method thereof
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
US11921657B2 (en) Peripheral component interconnect express (PCIE) device for supporting separate reference clock(s) operating between host and direct memory access (DMA) controller
JPH07244633A (ja) インタフェース装置
KR20080037953A (ko) Amba 버스 시스템

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