JP2002196947A - 条件付き計算を実施するための装置及び方法 - Google Patents

条件付き計算を実施するための装置及び方法

Info

Publication number
JP2002196947A
JP2002196947A JP2001305181A JP2001305181A JP2002196947A JP 2002196947 A JP2002196947 A JP 2002196947A JP 2001305181 A JP2001305181 A JP 2001305181A JP 2001305181 A JP2001305181 A JP 2001305181A JP 2002196947 A JP2002196947 A JP 2002196947A
Authority
JP
Japan
Prior art keywords
instruction
test
value
register
selector
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.)
Pending
Application number
JP2001305181A
Other languages
English (en)
Inventor
Jr Alan S Krech
アラン・エス・クレッチ・ジュニア
Stephen D Jordan
スティーブン・ディ・ジョーダン
John M Freeseman
ジョン・エム・フリーズマン
Samuel U Wong
サミュエル・ユー・ウォング
La Puente Edmundo De
エドムンド・デ・ラ・プエンテ
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of JP2002196947A publication Critical patent/JP2002196947A/ja
Pending 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/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30061Multi-way branch instructions, e.g. CASE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 テスタにおいて複数の複雑な条件に基づく複
数の計算を迅速に実施するための装置を提供する。 【解決手段】 演算素子302と、複数の命令370、
372を受信する命令セレクタ368と、前記装置の状
態を反映する複数の状態フラグ306と、前記状態フラ
グ306の1つを選択して前記演算素子302によって
前記複数の命令のどれを実行するかを決定する命令選択
366を発生する状態フラグ・セレクタ360とを含ん
でなる条件付き計算を実施するための装置を提供する。

Description

【発明の詳細な説明】
【0001】
【従来の技術】電子装置及び機能は、日常生活において
極めて一般的なものに成長した。家庭におけるパーソナ
ル・コンピュータに加えて、多くの個人は、種々のさま
ざまな目的に2以上の生産性ツールを備えている。大部
分の個人用の生産性電子装置は、ある形態の不揮発性メ
モリを含んでいる。携帯電話(cell phone)は、電源の
オフ時に、ユーザがプログラムした電話番号及び構成を
記憶して保持するために不揮発性メモリを利用してい
る。コンピュータのスロットから取り出されても、PC
MCIAカードは不揮発性メモリを利用して情報を記憶
して保持する。多くの他の一般的な電子装置も、電力供
給されないアセンブリにおける不揮発性メモリの長期記
憶機能からの恩恵を受けている。
【0002】電子装置メーカに販売する不揮発性メモリ
・メーカは、生産したメモリを動作させて、その動作が
適正であるか検証するためのテスタを必要とする。大量
の不揮発性メモリが一貫して低価格で製造及び販売され
るので、単一部品のテストに要する時間を最小限に抑え
ることは極めて重要である。最小限のテストで又はテス
トを行わずに、より高価なアセンブリへとメモリ素子を
組み込む業務に関連したコスト節約のため、不揮発性メ
モリの購入者はメモリ・メーカに対して出荷歩留まりを
高くするように要求する。従って、単一テスト・プロセ
スにおいて、メモリ・テスト・プロセスは、かなりのパ
ーセンテージの不適合部品を、できれば、全ての不適合
部品を識別するのに十分なほどに効率的でなければなら
ない。
【0003】不揮発性メモリの大きさと密度と複雑性と
が増すにつれて、テスタは、それらのテストに要する時
間をあまり増すことなく、サイズ及び複雑性の増大に対
処できなければならない。メモリの進化及び改良につれ
て、テスタは、この素子に施される変更に容易に適応で
きなければならない。不揮発性メモリのテストに固有の
もう1つの問題は、メモリのセルへの書き込みを反復す
ることによって、部品の寿命による総合的な性能劣化を
生じる可能性があるという点である。不揮発性メモリ・
メーカは、メモリ素子に特殊テスト・モードを組み込む
ことによって、テスト問題の多くに対応してきた。これ
らのテスト・モードは、メモリ購入者には全く用いられ
ないが、メーカがアクセスすることによって、できるだ
け短い時間で、できるだけ効率よく、メモリの全て又は
重要部分をテストすることが可能になる。不揮発性メモ
リには、テスト・プロセス中に修理可能なものもある。
従って、テスタは、修理の必要性と修理位置と必要とさ
れる修理のタイプとを識別できることが望ましく、従っ
て、適切な修理を実施できなければならない。こうした
修理プロセスには、メモリの特定の不適合部分を検出し
て、分離することが可能なテスタが必要になる。特殊テ
スト・モード並びに修理機能を十分に利用するには、テ
スタが、メモリ素子からの予測される反応に基づいて、
条件付き分岐を支援するテスト・プログラムを実行でき
ることが有利である。
【0004】概念上の観点からすると、メモリのテスト
・プロセスは、アルゴリズム・プロセスである。例え
ば、典型的なテストは、メモリ・セルへの0及び1の書
き込み中に、メモリ・アドレスを順次インクリメント又
はデクリメントすることを含んでいる。メモリ・サイク
ル中に書き込まれる、又は、読み取られる1及び0の集
合は「ベクトル」と呼ぶのが慣例であり、一方、「パタ
ーン」という用語は、ベクトルのシーケンスを表す。テ
ストは、チェッカ盤や移動する1やバタフライ・パター
ンのようなパターンをメモリ空間への書き込みを含むの
が普通である。テスト・デベロッパは、アルゴリズム構
成を用いることにより、これらのパターンを生成するプ
ログラムをさらに容易に、効率よく作成することが可能
である。アルゴリズム的に統一のとれたテスト・パター
ンは、また、デバッギングを施し、論理的方法を用い
て、予測通りに機能しないパターン部分を分離するのも
いっそう容易である。プログラミング・ループで反復さ
れる命令及びコマンドを利用して、アルゴリズム的にテ
スト・パターンを生成すると、消費するテスタ・メモリ
の空間が減少する。従って、メモリ・テスタはアルゴリ
ズム・テスト・パターン生成機能を備えることが望まし
い。
【0005】正確な信号エッジの配置及び検出も、不揮
発性メモリ・テスタの有効性に関する考慮事項になる。
中央ではほぼ適合するが、指定の限界内において適合し
ない部分を捕捉するためには、不揮発性メモリ・テスタ
は、各信号エッジを別の信号エッジに対して時間的に正
確に配置できなければならない。信号エッジを受信する
時点を正確に測定できることも重要になる。従って、不
揮発性メモリ・テスタは、十分な柔軟性を備え、刺激の
タイミング及び付与、並びに、テストを受ける装置(de
vice under test:以下、「DUT」と呼ぶ)(メモリ)
からの反応を制御することが望ましい。
【0006】メモリ・テスタは、DUTに加えられる送
信ベクトル(刺激(stimulus))、及び、応答において
予測される受信ベクトル(反応(response))を生成する
ということになっている。これらのベクトルを生成する
アルゴリズム論理は、一般に、ベクトルの特定のビット
をDUTの特定の信号パッドに送るか、又は、DUTの
特定の信号パッドから受け取る方法については、苦労せ
ずに、そうすることが可能である。このレベルにおい
て、ベクトル内の隣接ビットが、最終的にはDUTにお
いて物理的に隣接する信号となるのはほぼ確実のようで
ある。人生がそのように扱いやすくあってほしいもので
ある。
【0007】実際には、「概念レベル(conceptual lev
el)」におけるベクトルのビットとDUTにおける実際
の信号との対応は、かなり不定(arbitrary)になりがち
である。それを阻止するために何もなされなければ、1
つ以上のプローブ・ワイヤが周辺から降下して、DUT
に接触する際に、それらを交差させることが必要になる
可能性がある。こうした交差は、最も望ましくないもの
であり、送信ベクトルの経路内にマッピング機構を組み
込んで、DUTに加えられる前に、送信ベクトルのビッ
ト位置を再配列して、物理的接触を行うタスクに交差の
負担がかからないようにするのが慣例である。受信ベク
トルが、相応じて、検討を受ける前に、逆マッピング機
構に加えられる。こうして、アルゴリズム・ベクトル生
成及び比較機構が、この問題全体を無視できるようにす
ることが可能になる。こうしたマッパ(mapper)及び逆
マッパ(reverse mapper)に実施可能な処理のもう1つの
例として、同じタイプのDUTの異なるインスタンスが
同じウェーハ上に配置されるが、ウェーハ上におけるス
ペースの浪費を回避するため、回転、又は、対称をなす
鏡映が施される場合について考察してみることにする。
これらの実施は、ベクトル・ビット位置と物理的信号位
置の間の対応に影響するが、適切なマッピング及び逆マ
ッピングによって隠すことが可能である。これらの状況
に必要とされるマッピング及び逆マッピングは、いった
ん特定のDUTについて識別されると、静的となり、そ
の特定のDUTのテスト中、変更の必要がないのは明ら
かである。
【0008】条件付き計算機能によって、アルゴリズム
・パターン生成は大幅に強化される。すなわち、1つ以
上のフラグの現在の状態に基づいて計算を実施する能力
によって、テスト・デベロッパは、用いるベクトルを最
小限に抑えて、複雑なパターンを生成するテスト・パタ
ーンの生成が可能になる。歴史的に、複数の複雑な条件
は、多大の柔軟性をもたらすソフトウェアによって処理
される。しかし、メモリ・テスタの場合には、パターン
の各ベクトルをDUTに適用している間に、正確で予測
可能なタイミングを保持していることが重要である。ソ
フトウェア・ベースのアプローチを利用して、複数の複
雑な条件の評価を行うと、予測可能なベクトル・タイミ
ングの完全性を損なうか、あるいは、テスタによる迅速
で確実なベクトルの適用可能速度を低下させることにな
る可能性がある。
【0009】
【発明が解決しようとする課題】本発明の目的は、従っ
て、テスタ・ベクトルを高速に駆動し、受信するテスタ
の能力を損なうことなく、テスタにおいて複数の複雑な
条件に基づく複数の計算を迅速に実施するための装置を
提供することにある。
【0010】
【課題を解決するための手段】条件付き計算を実施する
ための装置は、演算素子と、命令セレクタを有してい
る。命令セレクタは、複数の命令を受信する。この装置
は、装置の状態を反映する複数の状態フラグと、状態フ
ラグの1つを選択する状態フラグ・セレクタも有してい
る。選択された状態フラグは命令選択になり、この命令
選択によって、複数の命令のうちのどれが演算素子によ
って実行されるかが決まる。
【0011】条件付き計算を実施するためのプロセスに
よれば、複数の状態フラグが生成され、状態フラグの1
つが命令選択として選択される。第1と第2の二者択一
の命令が、命令セレクタに提供され、第1と第2の二者
択一の命令の一方が、演算装置によって実行されるよう
に選択される。命令選択によって、演算素子が第1と第
2の命令のいずれを実行するかの選択が確定する。
【0012】
【発明の実施の形態】図1を参照すると、本発明の原理
に従って構成された不揮発性メモリ・テスト・システム
の略ブロック図1が示されている。すなわち、図示のシ
ステムは、テスト資源集合の構成要素を互いに結合し
て、64を超えるテスト・ポイントを備えるDUTをテ
ストできるようにする再構成の措置によって、一度に3
6個の個別DUT(テストを受ける装置)まで、64個
ものテスト・ポイントについて、同時にそれぞれテスト
を行うことが可能である。これらのテスト・ポイント
は、まだダイシング及びパッケージングが施されていな
い集積回路ウェーハの一部に配置することもできるし、
あるいは、パッケージ化部品のピンとすることも可能で
ある。「テスト・ポイント」という用語は、信号を加え
ることが可能な電気的位置(例えば、電源、クロック、
データ入力)又は信号の測定が可能な電気的位置(例え
ば、データ出力)を表している。産業界の慣例に従っ
て、このテスト・ポイントを「チャネル」と呼ぶことに
する。上述の「互いに結合されるテスト資源の集合」を
36個ものテスト・サイトとして理解することができ、
ここで各テスト・サイトは、テスト・サイト・コントロ
ーラ(4)と、(64チャネル)DUTテスタ(6)
と、実際にDUT(14)と電気的に接続する(64チ
ャネルの)ピン電子デバイス(9)の集合とを含んでい
る。DUTのテストに必要とされるチャネルが64以下
である場合には、そのDUTにテストを実施するには単
一テスト・サイトで十分であり、例えば、テスト・サイ
ト#1(図1に現れる)は「単一サイト・テスト・ステ
ーション(single site test station)」をなす、又
は、「単一サイト・テスト・ステーション」の働きをす
るといえる。一方、何らかの形による前述の再構成が有
効である場合には、2つ(以上)のテスト・サイトを互
いに「結合(bonded)」すると、128のチャネルを備
える1つのより大きい同等のテスト・サイトとして機能
する。従って、もう一度、図1に示す例を参照すると、
テスト・サイト#35及び#36は「2サイト・テスト
・ステーション(two-site test station)」を形成す
るといえる。
【0013】逆の場合について簡単な考察を加えると、
単一DUTのテストに、テスト・サイト全体が必要であ
るとか、あるいは、単一テスト・サイトでは、単一DU
Tだけしかテストできないものと仮定すべきではない。
ウェーハが、2つの(必ずしもそうとは限らないが、お
そらく隣接する)ダイを有しており、その必要とされる
テスト・チャネルの合計が64チャネル以下であるもの
と仮定する。単一テスト・サイトによって、両方のDU
Tをテストすることが可能である。これを可能にするの
は、各テスト・サイトの汎用プログラマビリティであ
る。テスト・サイトによって実行されるテスト・プログ
ラムは、テスト・サイトの資源の一部を用いて、DUT
の一方をテストし、別の一部を用いて、もう一方のDU
Tをテストするように書くことが可能である。結局のと
ころ、最初の2つのDUTの論理的な和集合(logical
union)である第3のDUTを備えるものと仮定する
と、単一テスト・サイトを備えるその第3のDUTをテ
ストすることが可能になり、従って、いわば、その「コ
ンポーネントDUT(component DUT)」を同様にテスト
することが可能になるはずである。唯一の相違は、第3
のDUTに関する単一化反応とは対照的に、2つの「コ
ンポーネントDUT」が合格か不合格かを個別に把握し
つづける点にある(すなわち、「第3の」DUTのどの
部分が不合格になったかについて問題になる)。この
「単一サイト・複数テスト・ステーション(single-site
multi-test station)」機能は、広く一般に行われてい
るものであり、ここでそれについて述べたのは、完全を
期すことにより、2つ以上のテスト・サイトを互いに結
合する概念と比較した場合に混乱や誤解を生じる可能性
を回避するためである。
【0014】この再構成の概念がなければ、テスト・サ
イトとテスト・ステーションとの相違はなくなり、これ
らの用語の一方が不要になる。しかし、実際のところ
は、すぐに分かるように、テスト・ステーション数が、
テスト・サイト数と同じである必要はない。従来におい
ては、テスト・サイトを分割して、より多くのテスト・
ステーションが形成されたので(DUTは、テスト・サ
イト全体を消費するほど複雑ではない)、これらの数が
異なる可能性がある。しかし、現在では、その相違は、
テスト・サイトを互いに結合して、複数サイト・テスト
・ステーションが形成されることに起因する可能性もあ
る(DUTが、単一テスト・サイトにとってあまりに複
雑すぎる)。
【0015】引き続いて、テスト・システム・コントロ
ーラ2が、システム・バス3によって、その名前が接尾
語#1〜#36で終了する36個ものテスト・サイト・
コントローラに接続される(4a〜4z)。(添字a〜
zは、1から26までしかなく、36には達しないとい
うのは本当である。しかし、このささいな欺瞞は、極め
て混乱する可能性のある数値参照文字に対する数値添字
よりも好ましいように思われる。)テスト・システム・
コントローラ2は、不揮発性メモリをテストするタスク
に関連した適合するテスト・システム制御プログラムを
実行するコンピュータ(例えば、NTを実行するPC)
である。テスト・システム制御プログラムは、所望のテ
ストを実施する仕事の(複雑さの)階層的分割における
最高レベルの抽象観念に相当する。テスト・システム・
コントローラは、異なるテスト・サイトでどのプログラ
ムが実行されているかを確認し、さらに、必要に応じ
て、テスト・プローブ及びDUTを移動させるロボット
・システム(図示せず)の監督も行う。テスト・システ
ム・コントローラ2は、テスト・サイトには、単一サイ
ト・テスト・ステーションの働きをするようにプログラ
ムされるものもあれば、その一方で、互いに結合され
て、複数サイト・テスト・ステーションを形成するもの
もあるという概念を支援する方法で機能することが可能
である。明らかに、こうした状況では、異なる部分がテ
ストされることになり、部分が異なれば、用いるテスト
も異なるのが最も望ましい。同様に、全ての単一サイト
・テスト・ステーションが、同じ種類の部分をテストす
ることが必要とされるわけではなく、また、複数サイト
・テスト・ステーションについてもそうした必要はな
い。従って、テスト・システム・コントローラ2は、必
要なテスト・サイトを結合するコマンド、さらに、利用
されるさまざまなテスト・ステーションに適したテスト
・プログラムを呼び出すコマンドを送り出すようにプロ
グラムされる。テスト・システム・コントローラ2は、
さらに、テストによって得られた結果に関する情報を受
信し、悪い部分を廃棄するのに適した措置を施すことが
できるように、また、例えば、工場セッティングにおけ
る生産プロセスの制御に用いることが可能なログを、さ
まざまな分析のために保持することができるようにす
る。
【0016】テスト・システム自体は、かなり大規模で
複雑なシステムであり、ウェーハをステージへと載せ
て、ピン電子デバイス9に接続されたプローブの下で、
1つ以上の将来のダイを順次位置決めし、そして、それ
ら将来のダイ(まだウェーハのダイシングが実施されて
いない)のテストが行われるようにするロボット・サブ
システムを利用するのが普通である。テスト・システム
を用いて、適合するキャリヤに載せられたパッケージ化
部品をテストすることも可能である。(後述するよう
に)そのテスト・ステーションの形成に用いられるテス
ト・サイト数、あるいは、テスト・サイトにおけるテス
ト・ステーション数に関係なく、利用される各テスト・
ステーションに関連したテスト・サイト・コントローラ
が、少なくとも1つ設けられることになる。テスト・サ
イト・コントローラは、不揮発性メモリをテストするた
めの以前の製品(例えば、アジレントV1300又はV
3300)にも用いられた、VOS(VersaTes
t O/S)と呼ばれる所有権を主張できるオペレーテ
ィング・システムを実行する36〜64MBのプログラ
ム・データ統合メモリを備えたインテル社製のi960
プロセッサとすることができる組み込みシステムであ
る。さしあたり、単一サイト・テスト・ステーションに
関する状況についてのみ検討することにする。明確な例
示のため、テスト・サイト#1は、テスト・ステーショ
ン#1として働き、部品番号0013のWHIZCOの
テストを行うことになるものとする。そのテスト方式
は、百ほどの異なるタイプのテスト(電圧レベル、パル
ス幅、エッジ位置、遅延の変更及びモニタ、並びに、多
量の単なる選択された情報パターンの記憶及びその後の
読出)を含んでおり、テストのタイプ毎に、DUTに関
する何百万の個別メモリ・サイクルを伴うことになる。
最高レベルにおいて、テスト・システムのオペレータ
は、テスト・システム・コントローラ2に対し、テスト
・ステーション#1を用いて、WHIZCOの0013
のテストを開始するように命じる。そのうち、テスト・
システム・コントローラ2は、テスト・サイト・コント
ローラ#1(4a)(組み込み[コンピュータ]システ
ムである)に命じて、例えば、TEST_WHIZ_1
3といった関連テスト・プログラムを実行させる。その
プログラムが、テスト・サイト・コントローラ#1の環
境内において既に利用可能である場合、ただ単に実行す
ることになる。利用可能でなければ、テスト・システム
・コントローラ2によって供給される。
【0017】ところで、プログラムTEST_WHIZ
_13は、原理的には、完全に自己内蔵型である。しか
し、そうであれば、それは、ほぼ確実にかなり大規模な
ものになるので、テスト・サイト・コントローラ4a内
に組み込まれたシステムのプロセッサが、それを十分に
素早く実行して所望の速度でのテスト、又は、あるDU
Tメモリ・サイクルから次のサイクルまで均一な速度に
よるテストを実施するのは困難でありうる。従って、ア
ドレス・シーケンスを生成する低級のサブルーチン・タ
イプのアクティビティと、書き込まれるべきあるいは読
み取り操作から期待される関連データとが、DUTテス
タ6に配置されたプログラマブル・アルゴリズム機構に
よって必要に応じて生成されるが、この機構は、テスト
・サイト・コントローラ4の組み込みシステムによって
実行されるプログラムと同期して動作する。これについ
ては、DUT14のハードウェア環境により近い機構
(DUTテスタ)に対する、所定の低級のサブルーチン
のようなアクティビティ及びDUTのメモリ・サイクル
を開始するタスクのエクスポートと考える。概して言え
ば、テスト・システム・コントローラ2は、テスト・サ
イト・コントローラにテスト・プログラムを授与する場
合には必ず、関連するDUTテスタに対して、テスト・
サイト・コントローラに関するプログラミングによって
記述される、又は、必要とされる全アクティビティの実
施に必要な、適合する低級実施ルーチン(おそらくは、
テストを受けるメモリに固有の)も供給する。低級実施
ルーチンを「パターン(pattern)」と呼び、一般に、
(高級プログラミング言語の関数及び変数に名前がある
のとちょうど同じように)名前がつけられている。
【0018】各テスト・サイト・コントローラ#n
(4)は、サイト・テスト・バス#n(5)によってそ
の関連するDUTテスタ#n(6)に結合されている。
テスト・サイト・コントローラは、サイト・テスト・バ
ス5を利用して、DUTテスタの動作の制御と、DUT
テスタからのテスト結果に関する情報の受信との両方を
行う。DUTテスタは、テスト方式(test regimen)に
必要とされるさまざまなDUTメモリ・サイクルを高速
度で生成することが可能であり、読み取りメモリ・サイ
クルの結果が期待通りであるか否かを判定する。本質的
に、DUTテスタは、テスト・サイト・コントローラか
ら送られてくるコマンド又は操作コード(「名前つきパ
ターン(named pattern)」)に応答して、読み取り及
び書き込みDUTメモリ・サイクルの対応する有効なシ
ーケンスを開始する(すなわち、対応するパターンを実
行する)。概念的には、DUTテスタ6の出力は、DU
Tに加えられるべき刺激情報(stimulus information)
であり、DUTテスタは、DUTから反応情報も受け取
る。この刺激/反応情報7aは、DUTテスタ6aとピ
ン電子デバイス#1アセンブリ9aの間で受け渡され
る。ピン電子デバイス・アセンブリ9aは、DUT14
に対して用いることが可能な64までのプローブを支援
する。
【0019】上述の刺激情報は、DUTテスタにおいて
用いられるある論理素子ファミリの電圧レベルに従って
表現される並列ビット・パターンの単なるシーケンス
(すなわち、「送信ベクトル(transmit vector)」及
び期待される「受信ベクトル(receive vector)」のシー
ケンス)である。ある刺激/反応内のビット位置とダイ
上のプローブとの間で構成可能なマッピングが存在する
が、このマッピングは、DUTテスタ6によって理解さ
れる。個々のビットは、そのタイミング及びエッジ配置
に関して正しいが、マッピングに加えて、DUTへの適
用が可能になる前に、電圧レベルのシフトを必要とする
可能性もある。同様に、DUTテスタにフィードバック
するのに適するとみなすことができる前に、刺激に後続
するDUTにおいて生じる反応はバッファリング及び
(逆)レベル・シフトを必要とする可能性がある。これ
らのレベル・シフト・タスクは、ピン電子デバイス9a
のタスク(task)である。WHIZCO 0013のテ
ストに必要なピン電子デバイス構成では、おそらくAC
ME Co.製の部品のテストと、おそらくは別のWH
IZ CO.製部品に関するテストとにさえうまく機能
しないであろう。従って、ピン電子デバイス・アセンブ
リが可変である(configurable)ことを必要とするのも
明らかである。こうしたコンフィギュレーション能力
(configurability)は、PE Configライン8
aの機能である。
【0020】上記では、DUTのテストに対して単一テ
スト・サイトを構造化する方法に関する簡単なアーキテ
クチャの概要を推論している。次に、操作すべきテスト
・サイトが数多く存在する場合に生じる問題について考
察することにする。前置きとして、複数テスト・サイト
を備えたテスト・システムを構成するための望ましい実
施態様について述べることにする。多くの点で、説明に
取りかかろうとしている情報の一部は顧客の好みに関す
る市場調査(market study)及び費用便益分析(cost be
nefit analyses)に基づく選択の問題である。そうでは
あっても、これらのある事柄を確立するためにはある事
柄は明確に選択される必要があり、それがなされると、
システム全体にわたって明らかな特定の結果が生じるこ
とになる。テスト・システムのハードウェア特性のより
広範な概要について少なくとも一般的な説明を加えるの
が有効であると思われる。これらの特性のいくつかが偶
発的であったとしても、それらに関する知識は、やは
り、本発明の例証に用いられるさまざまな例の理解を助
けることになるであろう。
【0021】まず、4つのかなり大きいカード・ケージ
(card cage)について考察する。各カード・ケージ
は、電源及び水冷装置(ファンは、クリーン・ルーム環
境の汚染源になりうる)以外に、マザーボードと、フロ
ント・プレーンと、バック・プレーンとを有している。
各カード・ケージへと9つまでのアセンブリを入れるこ
とが可能である。各アセンブリは、テスト・サイト・コ
ントローラと、DUTテスタと、ピン電子デバイスとを
含んでいる。デイジー・チェーン(daisy chain)の形
成に用いられるバスを含むテスト・サイト・コントロー
ラを互いに結合する方法の一般的な概要について説明す
ることにする。
【0022】「デイジー・チェーン(daisy chain)」と
いう用語に関して少し脇道にそれるのはおそらく適切で
あろう。システム構成要素A、B、C、及び、Dについ
て考察する。これらがその順序で互いにデイジー・チェ
ーンを構成することになるものと仮定する。Aを出てB
へと入り、Bではトラフィックを選択的に渡すことが可
能であり、そして、Bを出てCへと入り、Cではトラフ
ィックを選択的に渡すことが可能であり、そして、Dへ
と入る情報又は制御経路が存在するといえる。これらの
同じ種類の構成が他の方向のトラフィックにも存在する
可能性がある。デイジー・チェーンは、優先順位方式を
生成するために利用される場合が多く、それらを利用し
て、さまざまなテスト・サイト・コントローラとの間に
マスタ/スレーブの関係を形成することにする。これら
のデイジー・チェーン方式の通信構成は、「BUS」の
代わりに、接尾名詞「DSY」をつけて表すことにす
る。従って、コマンド/データBUSではなく、コマン
ド/データDSYと称することが可能である。次に、情
報が「Bへと入り、選択的に渡される」という考えは、
渡される前に、独立した1組の導体に対してトラフィッ
クを反復することを示唆することができる。そのような
可能性もありうるが、性能上の理由から、それは、むし
ろアドレス可能なエンティティを有する正規のバスに近
い。プログラマブル・アドレス・マッピング構成と、下
流のテスト・サイト・コントローラ部分を「休眠(to s
leep)」させる能力によって、単一バスが、論理的に複
数のデイジー・チェーンの様相を呈する(すなわち、働
きをする)ようにすることが可能である。最後に、デイ
ジー・チェーンは、コマンド及び制御情報にとって高性
能な通路であり、それがなければ、マスタ/スレーブ組
み合わせ(複数サイト・テスト・ステーション)が単一
テスト・サイトと同じ速さで動作することを期待できな
くなる。デイジー・チェーンの性能のために、各種DS
Yが、それぞれのカード・ケージを出ることはない。こ
の決定の効果は、互いに結合することが可能なテスト・
サイト(従って、その数)にいくつかの制限を加える。
原理上では、この制限は基本的に必要なものではなく、
また、必要とされる技術的な実行可能性も全く欠けるこ
とはない(実施可能である)が、カード・ケージには既
に9つのテスト・サイトが存在しているので、DSYの
拡張は、比較的にわずかな便益に対してかなりのコスト
を追加するように感じられる。
【0023】図1に関する論述を再開するにあたって、
4つのカード・ケージが設けられ、各カード・ケージが
9つのテスト・サイト・コントローラを備えることがで
きるさまざまなテスト・サイト・コントローラ4a〜4
zについて考察する。それらを4a〜4fと、4g〜4
mと、4n〜4tと、4u〜4zとで表してみよう。
(前述のように、これらが名目上、26しかない添字で
あるという点は問題ではない。読者は、これとは別に1
0の添字記号がそのどこかに存在するものと想像された
い。)CMD/DAT DSY17a(コマンド&デー
タ・デイジー・チェーン)によって、あるカード・ケー
ジ内にあるテスト・サイト・コントローラ4a〜4fが
相互接続され、一方、異なるCMD/DAT DSY1
7bによって、別のカード・ケージ内にあるテスト・サ
イト・コントローラ4g〜4mが相互接続される。同じ
構成は、残りカード・ケージと、テスト・サイト・コン
トローラ4n〜4t及び4u〜4zとについてもそれぞ
れ存在する。前述のように、DSYを実際に形成するバ
スの「末端(tail end)」が、カード・ケージを出ない
で別のカード・ケージにおける次のセグメントの先頭に
なるので、DSYがカード・ケージから出ることはな
い。代わりに、テスト・システム・コントローラ2から
のシステム・バス3が、全てのテスト・サイト・コント
ローラまで延びており、それぞれが、カード・ケージを
出ないDSYセグメントの先頭においてマスタになるこ
とが可能である。
【0024】上述のCMD/DAT DSY17a〜d
は、さまざまなテスト・サイト・コントローラ4a〜4
zとの間に設けられている。SYNC/ERR DSY
(同期&エラー・デイジー・チェーン)18a〜18d
とDUTテスタ6a〜6zとの間にも同様の構成が施さ
れている。SYNC/ERR DSY18によって伝達
される同期及びエラー情報によって、DUTテスタは、
同調して動作することが可能になる。これら2つのデイ
ジー・チェーン(17及び18)はわずかに異なるタイ
プの情報を伝送するが、それぞれがテスト・ステーショ
ンへと1つ以上のテスト・サイトと互いに結合するため
の同じ汎用機構の一部として存在する。
【0025】次に、36も存在することが可能な図1の
DUTテスタ6の拡大した略ブロック図である図2の説
明に取りかかることにする。現時点では、その1つのイ
ンスタンスについて説明するだけで十分である。図2を
一見してわかるように、とりわけ、「略(simplifie
d)」ブロック図にしては、構成要素がかなりうまく納
められている。DUTテスタ6内にありブロック図で表
されているものの中には、機能的に極めて複雑であって
「いつでも入手可能な(off the shelf)」の形では入
手できないものもある。ここでは、2つの点を明らかに
しておいたほうがよかろう。第1に、図2を含める主た
る目的は、不揮発性メモリ・テスト・システム1全体内
における重要な動作環境の基本的特性を明らかにするこ
とにある。図3以降の図に関連して十分な説明が施され
る本発明は、図2の下記の説明において示される機構を
拡張したものになるか、あるいは、図2においてその誘
因となる前提が見出される新規の機構になる。いずれに
せよ、これを書いている時点では、読者の前にあるのが
これらのどちらであるかは全く分からない。現時点の目
的は、さまざまな望ましい実施態様に関する多種多様な
詳細な説明に対する単純化されている情報の開始点を提
供することにあり、従って、それぞれの説明は、簡潔に
することができる(それぞれに異なる発明について全て
を開示する「特大(jumbo)」明細書とは対照的に)。
第2の点は、図2とほぼ全面的に一致するが、拡大又は
拡張される素材が単純化バージョンとは正確に「一致」
しない情報を含みうる。これは、エラーが生じたとか、
あるいは、物事には必然的に不一致が生じるということ
を意味するものではなく、正確な縮小イメージになるよ
うに、何かを単純化するのが困難かあるいは不可能であ
る場合があるために生じたものである。この状況は、む
しろ地図(map)に近い。コロラド州の標準的なサイズ
の道路地図から明らかなように、I−70を東に進む
と、デンバーのI−25を北に進むことが可能である。
それは左に曲がっているかのように思える。以前は実際
に左に曲がっていたが、今ではそうではなく、その交差
点の詳細な地図によれば、一連の構成要素となる曲がり
角と、介在する道路区間とが明らかになる。しかし、標
準サイズの道路地図が間違っているという者はいない。
その地図は、その抽象化レベルにしては正確である。同
様に、図2は、そのかなりなごちゃごちゃした外観にも
かかわらず、実際のところ、中間レベルの抽象化効果を
示すように単純化されているが、左に曲がっているよう
に見えるものの中には、単純に左に曲がっているわけで
は全くないものもある。
【0026】図1に示すように、DUTテスタ6に対す
る主たる入力は、問題となるDUTテスタ6のインスタ
ンスに関連したテスト・サイト・コントローラ4から生
じるテスト・サイト・バス5のインスタンスである。テ
スト・サイト・バス5は、専用マイクロプロセッサにリ
ンクすることが可能なマイクロ・コントローラ・シーケ
ンサ19に結合されている。マイクロ・コントローラ・
シーケンサ19は、マイクロ・コントローラ・シーケン
サ6の内部(PGM SRAM20)又は外部(EX
T.DRAM21)とすることが可能なプログラム・メ
モリに記憶されているプログラムから命令を取り出す。
これら2つのメモリは、プログラム・カウンタの働きを
する論理的に共通のアドレス63(又は、命令取り出し
アドレス)をなすものによってアドレス指定されるよう
に思えるが、また、どちらでも、実行されるプログラム
の供給源とすることが可能であるが、次の点に留意され
たい。(1)メモリのうちの1つだけが、任意の時間の
間に命令取り出しメモリ・サイクルを実施する。(2)
実際には、メモリは、電気的に異なる信号によってアド
レス指定される。SRAMは、高速で真のランダム・ア
クセスを可能にするが、マイクロ・シーケンス・コント
ローラ19(大規模ICである)内における貴重なスペ
ースを消費するのでそのサイズは制限される。外部DR
AMは、調整可能なかなりの量を設けることが可能であ
るが、線形実行及び無分岐を含むかなりの量の順次チャ
ンク(sequential chunk)にアクセスする場合に限って
高速である。SRAM20におけるプログラミングは、
ほとんどの場合には、極めてアルゴリズム的なものであ
るが、外部DRAM(EXT.DRAM)21は、初期
化ルーチン及びランダム又は不規則データのようなアル
ゴリズム的プロセスによる生成が容易ではない素材(ma
terial)に最も適している。
【0027】マイクロ・コントローラ・シーケンサ19
によって実行される命令ワードは、かなり幅が広く20
8ビットある。この命令ワードは、13個の16ビット
・フィールドから構成されている。これらのフィールド
は、厳密な意味においてマイクロ・コントローラ・シー
ケンサ外にある機構に関して取り出された命令情報を表
す場合が多い。こうしたフィールドは、その関連する機
構専用である。1組のALU命令22が8つの16ビッ
トALU24の集合に与えられ、一方、それ以外のもの
はDUTテスタ全体に分散した他のさまざまな機構に分
配される。この後者の状況は、ライン及びキャプション
「各種制御値&命令(VARIOUS CONTROLVALUES & INSTRU
CTIONS)」42によって表される。
【0028】8つの16ビットALU(24)は、関連
する16ビットの結果レジスタ(各ALUは、いくつか
の他のレジスタも有している)に関して作成された演算
命令の一般的なレパートリ(conventional repertoir
e)を有している。これらの結果レジスタの3つ及び関
連するALUは、DUTに供給される完全なアドレスへ
とさまざまに組み合わせられるXとYとZとのアドレス
構成要素27を生成するためのものである。8つのAL
U/レジスタのうちの2つ以上(DH&DL)は、最上
位部分(DH)と最下位部分(DL)の間で分割される
32ビット・データ・パターン28のアルゴリズム的生
成を助けるために設けられている。最終の3つのALU
/レジスタ(A、B、C)をカウンタとして用いて、プ
ログラム制御、及び、あるプログラムで指定された数の
繰り返し又は他の数値条件の完了時における分岐を助け
るさまざまなプログラム制御フラグ25の生成に役立
つ。これらのプログラム制御フラグ25は、マイクロ・
コントローラ・シーケンサ19に送り返されて、マイク
ロプロセッサの会得者にはよく知られた方法で命令取り
出しアドレスの値に影響を及ぼすことになる。プログラ
ム分岐を実施するためにも用いることが可能な他のさま
ざまなフラグ55も存在する。これらは、取り出された
命令ワードの異なるフィールドによって制御されるDU
Tテスタ6内の他の機構のそれぞれから生じる。ある特
定の追加フラグが、独立した項目VEC_FIFO_F
ULL26として明示されている。幾分詳細度の劣る別
の図面では、それは、他のフラグ55と共にひとまとめ
にすることが可能である。それを分離してみせたのは、
マイクロ・コントローラ・シーケンサ19の動作のある
態様に関する説明を助けるためである。
【0029】VEC_FIFO_FULLが行うのは、
マイクロ・コントローラ・シーケンサ19によるプログ
ラムのそれ以上の実行を(一時的に)停止するためであ
る。マイクロ・コントローラ・シーケンサ19によって
取り出される命令と、DUTに給与されるテスト・ベク
トルを最終的に渡す機構との間には、多くのパイプライ
ン・ステージが存在する。さらに、それが目指すベクト
ルを随伴するDUTに適応されるバゲージ(baggage)の
部分は、最終的なベクトル・アプリケーション速度、又
は、各ベクトルの所要時間(duration)に関する情報で
ある。従って、DUTに対するベクトル・アプリケーシ
ョン速度は、一定である必要はなく、特に、あるベクト
ル・グループは、生成よりも適用に要する時間のほうが
長くなる可能性がある。マイクロ・コントローラ・シー
ケンサは、その最大速度でプログラミングを単に実行す
るだけである。しかし、概して、パイプラインが、ほぼ
無制限に順応しなくてもすむように、いわば、「ベクト
ル消費(vector consumption)」の速度が、「ベクトル
生産(vector production)」の速度に等しくなければな
らないのは明白である。後述するアドレス・マッパ(add
ress mapper)29の出力には、ベクトルFIFO45が
設けられており、パイプラインにおける順応性のある容
量の働きをする。信号VEC_FIFO_FULLを用
いて、パイプの先頭端における新しいベクトルの生成を
一時的に中止して、パイプ・ラインの制限されたステー
ジ数をオーバランしないようにするために用いられる。
【0030】続いて、(16の3倍に等しい48ビット
の)XとYとZとのアドレス構成要素27をアドレス・
マッパ29に適用し、順序付き48ビット・アドレス空
間においてあらかじめ選択されるほぼ任意の再構成が施
されたアドレス値を出力する。これを理解するための出
発点として、さしあたり、アドレス・マッパ29が、4
8ビット・アドレス空間が満杯のメモリであり、各アド
レスに48ビット値を保持しているものと仮定する。
(仮に、こうしたメモリが、今日では、ともかく、大型
冷蔵庫のサイズになってもかまわない。)こうしたメモ
リを仮定すると、任意の適用されるアドレスを、さらに
置換アドレスとして用いることが可能になる、別の任意
選択された48ビット値へとマッピングすることができ
るルック・アップ・テーブルが実施可能になる。こうし
たアドレス・マッピングが望ましい理由は、XとYとZ
とのアドレス構成要素が、一般に、1つの大型線形デコ
ーダではおそらく実施されることのない特定のDUTの
内部アーキテクチャに関して有用な意味を有していると
いうことである。行と列と層と、ブロック又はページの
概念は、テスト・エンジニアにとって極めて有用である
可能性があり、物理的に互いに近接した場所で生じる故
障には、そのXとYとZとのアドレスにおける対応する
近接が必然的にかかわっている可能性がある。テスト結
果におけるこうしたパターンは、設計レベルであるか、
あるいは、欠陥のあるセクションの動作を予備セクショ
ンの動作に切り換えるために一部を再プログラミングす
る生産レベルであるかに関係なく、何が不具合かを認識
する上で、及び、それを修理しようとする上で貴重にな
る可能性がある。こうした考え方からは2つの問題が生
じる。第1の問題は、48ビットをDUTに用いられる
実際のビット数(例えば、32ビット、又は、おそらく
16ビット)に分離する(part)ことである。この分離
の実施方法について、短く簡潔に述べることにするが、
それは、主として、この多くのビットをXから取り除
き、その多くをYから取り除き、残りをZから取り除く
という問題である。しかし、全くというわけではない
が、いくつかのアドレスは、回路の別のセクションに関
する右が左(又は、右が左で、下が上)にくるミラー・
イメージをなす回路構成内に含まれる可能性があるの
で、これは二次的な問題である。これには、その回路構
成内において、どんな順次アドレス値が物理的順に並ぶ
かに関する限りにおいて、ビットが意味するものを再構
成する効果がある。このチップ・レイアウト特性は、何
度も生じる可能性があるが、例えば、Yのようなあるビ
ット・グループがいかに解釈されるかが、例えば、Zビ
ットといった他の何らかの随伴値によって決まる可能性
があるのは、おそらく、そういった場合であろう。アド
レス・マッパ29は、もとの(raw)XとYとZとのア
ドレスをいわば「再パッケージ化(repackaged)」する
ことにより、こうした内部アーキテクチャ構成を有する
メモリをテストする者の助けになるように、この種の事
柄を反映可能にするために設けられている。実際に行わ
れる方法に関して、アドレス・マッパ29は、かなり多
数の相互接続されたマルチプレクサから構成されてい
る。アドレス・マッパは、解説のために上記で仮に想定
された満杯メモリの復号方式の完全に任意のルック・ア
ップ・テーブル操作を実現することが不可能である。し
かし、とりわけ、48ビットから必要とされる実際のビ
ット数に分離する、さらにもう1つの機構が設けられて
いるので、必要に応じて、XとYとZとのアドレス構成
要素のサブフィールドを再構成することは可能である。
アドレス・マッパ29は、局所範囲内で制限された任意
のマッピングを実施可能にする3つの16ビット(アド
レス)・ルック・アップ・テーブルも含んでいる。
【0031】アドレス・マッパ29のマッピングを施さ
れたアドレス出力30は、独立した機能を有するが、そ
れにもかかわらず、1つのより大規模なRAM全体の選
択可能な区画として実施可能なAux RAM31及び
エラー・キャッチRAM32に対するアドレスとして用
いられる。マッピングを施されたアドレス出力30は、
後述するアドレス・ビット選択回路37に対する入力と
しても適用される。
【0032】Aux RAM31について考察する。そ
の機能は、DUTに対して用いることが可能なデータ・
パターン33及びアドレス34を保持することにある。
これらは、やや別様に取り扱われ、異なる場所で利用さ
れるので、Aux RAM31から論理的に独立した出
力である(AUX RAM31は、デュアル・「ポート
・メモリ(port memory)」ではなく、その出力がMU
Xに加えられるいくつかのバンクからなることが望まし
い。)。これとともに保持する際に、おそらく、記憶さ
れるデータ33はAux RAM31のあるバンク又は
アドレス範囲内に納められるが、記憶されるアドレス3
4は別のバンク又はアドレス範囲内に納められる。ま
た、Aux RAM31に書き込むための明確なメカニ
ズムについてはこれまで示されていない。それは、テス
ト・サイト・コントローラ4が実行するプログラムの命
令を受けて、テスト・サイト・コントローラ4が開始す
るアドレス指定されたバス操作によって実施される。
(図2の全てのすぐ近くまで延びる「リング・バス(ri
ng bus)」[図示せず。図面を非常に混乱させることに
なるので]と呼ばれる、いわば、「縁の下の(under th
e floorboards)」「ユーティリティ・サービス(utili
ty service)」・バスが存在する。)
【0033】エラー・キャッチRAM32は、Aux
RAM31に用いられるのと同じアドレスによってアド
レス指定され、エラーに関する情報を記憶又は読出しす
るが、その操作は後述する復号後回路に関連して実施さ
れる。Aux RAM31からの経路33及び34の場
合と同様に、経路61(エラー・キャッチRAMへの)
及び62(エラー・キャッチRAMからの)は、リング
・バス(図示せず)によって分配される構成情報に基づ
くマルチ・バンク・メモリ(エラー・キャッチRAM3
2)からの多重化出力が望ましい。
【0034】データMUX35は、入力として、Aux
RAM31からの記憶データ出力33並びにALUの
集合24内のレジスタDH及びDLからのデータ28を
有する点に留意されたい。データMUX35は、これら
の入力(28、32)のどちらかを選択してその出力3
8として送り出し、そして、これを2つのベクトル構成
要素の1つとして、送信ベクトル・マッパ/シリアライ
ザ(serializer)/受信ベクトル比較データ回路40に
適用する(他の構成要素は、アドレス・ビット選択回路
37の出力39である)。
【0035】回路40は、3つの機能を実施することが
できる。すなわち、ベクトル構成要素(38、39)を
DUTに適用(送信)すべきベクトル全体の順序付き論
理表現にアセンブルする機能と、送信ベクトルの論理表
現の順序付きビットとピン電子デバイスの実際の物理的
チャネル番号(すなわち、その信号(ベクトル内のその
ビット)のためにDUTに接触することになるプローブ
先端)との間に任意の動的対応(マッピング)を施す機
能と、コンパイラと協働して論理ベクトル全体を複数部
分へと分割し、こうしたものを許容するDUTに別個に
順序に従って適用されるようにする(直列化(serializ
ation))機能とを実施することが可能である。これら
の機能のどれが実施されるかは、マイクロ・コントロー
ラ・シーケンサ19によって取り出される208ビット
命令のあるフィールドに従ってアドレス指定されるSR
AM41からの制御信号によって決まる。回路40の出
力は、ベクトルFIFO45に適用される64ビットま
でのベクトル44であり、このベクトルFIFO45
は、ベクトルFIFO45が満杯の場合には、その意味
及び用法を上述した信号VEC_FIFO_FULL2
6を発生する。ベクトルFIFO45の上部のベクトル
は、周期発生器(period generator)49(簡単に説明
することにする)において生じる信号VEC_FIFO
_UNLOAD47を受信すると、そこから除去され
る。こうして除去されたベクトル(46)は、ピン電子
デバイス9の関連するインスタンスを介してDUT14
に接続されたタイミング/フォーマット化&比較回路5
2に適用される。すなわち、ピン電子デバイス9の各イ
ンスタンスは、その関連するタイミング/フォーマット
化&比較回路52から送信&受信ベクトル7及びピン電
子デバイス構成情報8を受信する。
【0036】タイミング/フォーマット化&比較回路5
2は、マイクロ・コントローラ・シーケンサ19のプロ
グラムSRAM20のように、同じ命令アドレス(小さ
い円で囲んだ「A」)によってアドレス指定される内部
SRAM54を有している。(内部SRAM54の代わ
りに、外部DRAM53を用いることも可能である。)
内部SRAM54(又は外部DRAM53)は、駆動及
び比較サイクルの生成を助ける。駆動サイクルは、送信
ベクトルをDUTに適用する。比較サイクルは、DUT
によって供給されるベクトルを受信し検査して、前に供
給された比較データと一致するか否かを判定する。駆動
及び比較サイクルの両方は、その持続期間及び負荷が加
えられるか否かと、負荷が加えられる時期と、データの
保持又はストローブを実施する時期とに関して調整可能
である。この比較によって、その機能が回路40と論理
的に逆になるとみなすことが可能な受信ベクトル逆マッ
パ/デシリアライザ(deserializer)57に適用される
64ビット値56が得られる。(回路57の動作は、S
RAM58によって制御されるが、これはSRAM41
による回路40の制御に対応する)。次に、回路57の
出力59が復号後回路(post decode circuit)60に
適用される。現在のところ、復号後回路60は、プログ
ラムに基づく判定基準によって、入力エラー情報59と
(以前に)記憶済みのエラー情報60(エラー・キャッ
チRAMに記憶された)との両方を検査し、経路61を
介してエラー・キャッチRAM32へと戻すことが可能
な圧縮されてより容易に解釈することできるエラー情報
を生成する。ある例では、特定のアドレス範囲内にエラ
ーが生じた回数をカウントすることになるが、この情報
は、代替回路を使用可能にして、オン・チップ修理(on
-chip repair)に取りかかろうとする時期を決定するの
に役立つ可能性がある。
【0037】次に、周期発生器49及びその関連タイミ
ングSRAM51について述べることにする。これら
は、マイクロ・コントローラ・シーケンサ19によって
取出される208ビット命令毎に、タイミング/フォー
マット化&比較回路52の関連動作の所要時間を決定す
る8ビット信号T_SEL43に応答する。T_SEL
43は、取り出された命令内のそれぞれに異なるフィー
ルドによって表される各種制御値&命令42の要素であ
る。それは、8ビット値として、256の異なる事項を
表すか又は符号化することができる。この場合には、そ
れらの「事項(things)」は、タイミングSRAM51
に記憶され、T_SELによってアドレス指定される2
8ビット値である。アドレス指定される各28ビット値
(23)は、19.5ピコ秒の分解能で所望の所要時間
を指定する。アクセスされる28ビット所要時間値(2
3)のシーケンスは周期FIFO50に記憶されるの
で、そのシーケンスの個々の要素は、ベクトルFIFO
45に記憶されている意図する対応ベクトルの読出と同
期して読出されて用いられることになる。
【0038】FIFO50の最も古い項目における粗タ
イミング値フィールドによって、5ナノ秒の分解能によ
る所要時間情報が伝えられ、そこから、次の送信ベクト
ルをベクトルFIFO45からタイミング/フォーマッ
ト化&比較回路52に転送する信号VEC_FIFO_
UNLOAD47が生じる。回路52には、随伴信号タ
イミング・リマインダ(TIMING REMAIND
ER)48も加えられる。そこが19.5ピコ秒に達す
る最大分解能を実現する。
【0039】図面のうち特に図2を参照すると、シーケ
ンサ19に接続された一次メモリ20を含む専用集積回
路(ASIC)であるDUTテスタ6が示されている。
一次メモリ20は、ベクトル幅が208ビットの4kベ
クトルSRAMを含んでいる。各ベクトルは、シーケン
サ19及びまわりの回路要素に対する単一命令を表す。
従って、テスト・ベクトル及び命令という用語を、本明
細書では交換可能に(interchangeably)用いる。一次
メモリ20は、複数のプログラム・ベクトルすなわち命
令を記憶している。シーケンサ19は、テスト・パター
ンを実行するために、一次メモリ20のプログラム命令
のいくつかにアクセスする。シーケンサ19は、プログ
ラム命令に順次アクセスし、次の命令に関するアドレス
位置を計算する。各プログラム命令は、DUTテスタ6
によって処理され、タイミング制御及びアナログ・ピン
回路要素52へと送り込まれてDUT14に加えられる
電気制御信号を発生する。
【0040】プログラム命令の一部として、開示のテス
タは、8つの16ビット演算素子24又はALUのそれ
ぞれによる単一ベクトル内の計算を実施することが可能
である。各演算素子の主たるコンポーネント部分は、従
来の論理演算ユニット(arithmetic logic unit:以
下、「ALU」と呼ぶ。)であり、従って、「演算素子
(arithmetic element)」と「ALU」という用語は交
換可能である。各ALUは、他のALUとは独立して動
作する演算素子であり、さらに、いくつかの利用可能な
状態フラグの1つの状態によって決まる各計算を条件付
きで実施可能である。テスト・デベロッパは、「i
f...then」、「if...then...el
se」、又は、無条件構成(unconditional constructi
on)を利用して、1つ以上の計算を指定するテスト・パ
ターンを書きたい場合がある。DUTタイミング完全性
を保持するため、無条件又は条件付き計算は、単一ベク
トル内で行われなければならない。
【0041】図面のうち特に図3を参照すると、8つの
ALU24であるXとYとZとDLとDHとAとBとC
とX及びYのALU302、304の条件付き計算をそ
れぞれ支援するまわりの論理素子とがさらに詳細に示さ
れている。X及びYのALUと条件付き計算の支援論理
素子とは同様のものであり、このため同じ図面に示され
ている。各ALU24は、3つの状態フラグ306、す
なわち、min、max、及び、match状態フラグ
を生成する。すなわち、X ALU302は、xmin
308と、xmax310と、xmatch312との
状態フラグを生成する。Y ALU304は、ymin
314と、ymax316と、ymatch318との
状態フラグを生成する。DLとDHとAとBとCとのA
LUも、同様の状態フラグ306を生成する。ANDゲ
ート320を利用して、xmatch312及びyma
tch318状態フラグを論理積で組み合わせると、別
の状態フラグ306と、xmatch322状態フラグ
とが生成される。Z−ALU334は、zmatch3
24と、zmin326と、zmax328との状態フ
ラグを生成する。ANDゲート330を利用して、xm
atch312と、ymatch318と、zmatc
h324との状態フラグを論理積で組み合わせると、x
yzmatch332状態フラグが生成される。DL及
びDHのALU336及び338は同じ3つの状態フラ
グを生成するが、X ALU302は、生成される状態
フラグ306のうち、dlmatch340及びdma
tch342状態フラグだけしか利用しない。ANDゲ
ート344において、dlmatch340及びdhm
atch342状態フラグを論理積で組み合わせると、
dldhmatch346状態フラグが生成される。A
348と、B350と、C352とのALUは、9つの
利用可能なフラグ354である同様のminとmaxと
matchのフラグを生成する。利用可能なフラグ35
4は、X ALU302に関する状態フラグ306の1
つとして提示されるフラグとして、利用可能フラグ35
4の1つを選択する9×1マルチプレクサである利用可
能フラグ・セレクタ356へと入力される。フラグ構成
レジスタ358のAPG_GEN_CONFIGが、シ
ーケンサ19回路素子内に納められる。フラグ構成レジ
スタ358のビット8〜11は、利用可能なフラグ35
4の1つからの状態フラグ306の選択を決定するビッ
ト値となるようにプログラムすることが可能である。状
態フラグ306のうちの15個のフラグ、並びに、固定
接地入力362が、状態フラグ・セレクタ360へと入
力され、状態フラグ・セレクタ360に関する16個の
選択が行われる。状態フラグ・セレクタは、16×1マ
ルチプレクサである。条件Xフィールド364は、プロ
グラムSRAM20に記憶されている208ビット命令
ワード中の4ビットである。状態Xフィールド364の
値によって、状態フラグ・セレクタ360へと入力され
る状態フラグ306のうちのどれが命令選択X366と
して選択されるかが決まる。命令選択X366によっ
て、命令セレクタ368における2つの選択の一方が決
まる。命令セレクタ368は、2つの可能性のある命令
コードを受信する。第1のXの二者択一の命令370及
び第2のXの二者択一の命令372は、それぞれ6ビッ
ト幅である。各命令は、条件付き計算を含むプログラム
SRAM20からの208ビット命令ワードの一部であ
るXの命令フィールドをなすように符号化される。命令
選択366である選択された状態フラグの状態に従っ
て、第1の二者択一の命令370又は第2の二者択一の
命令372が、実行のためにX ALU302へと入力
される。XALU302条件付き計算の支援に用いられ
る開示の実施態様のビット数が、このため全部で16ビ
ットになる。当業者には明らかなように、X条件フィー
ルド364と第1及び第2のXの二者択一の命令370
及び372の任意の1つとに対してより多い又は少ない
ビットを用いることにより、用いられる状態フラグ数及
びALU命令集合の大きさに関する任意選択(option)
を増減することができる。
【0042】上記パラグラフでは、X ALU302内
における条件付き計算を支援する論理素子について述べ
られている。しかし、各ALUは、他のALU24にお
ける計算と同時に実行可能な208ビット命令ワードの
別の一部を利用して、それ自体の条件付き計算を支援し
ている。Y ALU304内における条件付き計算を支
援する論理素子は、図面の図3にも示されている。Y支
援状態フラグ・セレクタ384は、X支援状態フラグ・
セレクタ360に用いられるものと同じ状態フラグ30
6のうちの14個のフラグを受信する。例外の1つは、
複数の利用可能フラグ354から選択される状態フラグ
306である。Y支援利用可能フラグ・セレクタ374
は、A348と、B350と、C352の各ALUから
minとmaxとmatchとのフラグを含む同じ利用
可能フラグ354を受け取る。利用可能フラグ構成レジ
スタ358とは異なるビットによって、利用可能フラグ
354のうちのどれが、Y ALU304に関する状態
フラグ306の1つとして用いられることになるかを選
択する。これにより、利用可能フラグ354からの状態
フラグの選択を個別にプログラムすることが可能にな
る。すなわち、利用可能フラグ構成レジスタ358の4
〜7ビットが、Y支援利用可能フラグ・セレクタ374
へと入力される。条件Yフィールド386によって、Y
命令選択382になる状態フラグ306の状態フラグ・
セレクタ384による選択が決まる。Y命令選択382
を用いて、Y命令セレクタ380の選択出力を決定す
る。Y命令セレクタ380は、プログラムSRAM20
からの208ビット命令ワード22におけるY命令フィ
ールドから、それぞれ6ビット幅の第1のYの二者択一
の命令376及び第2のYの二者択一の命令378を受
信する。Y命令フィールドは、フィールドが異なるがX
命令フィールドと同じプログラム命令ワード22内にあ
る。Y命令選択382であるY選択状態フラグの状態に
従って、第1のYの二者択一の命令376又は第2のY
の二者択一の命令378が、実行のためにYALU30
4へと入力される。
【0043】図面のうち特に図4を参照すると、Z A
LU334及びZ ALUの条件付き計算プロセスを支
援する論理素子が示されている。Z ALU334は、
X及びY支援条件付き計算に用いられるのと同じ状態フ
ラグ306のいくつかを利用する。開示の実施態様の場
合には、Z ALU334は、16個の状態フラグ30
6も利用する。利用されるX及びYのALUと共通の状
態フラグ306は、xmin308と、xmax310
と、xmatch312と、ymin314と、yma
x316と、ymatch318と、zmatch32
4と、xymatch322と、xyzmatch33
2と、dlmatch340と、dhmatch342
と、dldhmatch346と、固定ゼロ値362と
である。さらに、Z ALU334はまた、論理積で組
み合わせられてxymin402になるxmin308
及びymin314である状態フラグと、論理積で組み
合わせられてxymax404になるxmax310及
びymax316である状態フラグとを利用する。図面
のうち図3を参照すると、Z ALU334は、利用可
能フラグ354の1つから選択された状態フラグ306
も利用する。Z支援利用可能フラグ・セレクタ388
は、9つの利用可能フラグ354を受信し、利用可能フ
ラグ構成レジスタ358のビット0〜3の値であるAP
G_GEN_CONFIG[0:3]に基づいて、それ
らの1つを選択する。図面のうち図3及び図4の両方に
示すコネクタ(A)を参照されたい。図面のうち図4に
戻って参照すると、Z条件フィールド406によって、
Z支援状態フラグ・セレクタ408に入力される状態フ
ラグ306のうちのどれが、Z命令選択410として利
用されるかが決まる。Z命令選択410は、第1のZの
二者択一命令412と第2のZの二者択一命令との間に
おける選択の決定に利用される。第1及び第2の二者択
一命令の両方が、Z命令セレクタ416へと入力され
る。Z命令選択410の値に従って、第1及び第2の二
者択一命令の一方が、実行のためにZ ALUへと入力
される。
【0044】図面のうち特に図5を参照すると、DL
(データ低)及びDH(データ高)ALU336、33
8が、その条件付き計算を支援する論理素子と共にそれ
ぞれ示されている。DL及びDH ALUのそれぞれ
は、条件付き計算プロセスを支援する同じ論理素子及び
入力を有している。DL/DH ALUは、X及びY
ALUによって用いられるのと同じ次の状態フラグ30
6を利用する。xmatch312と、ymatch3
18と、xymatch322と、xyzmatch3
32と、zmatch324と、dlmatch340
と、dhmatch342と、dldmatch346
と、アースに配線された固定値362とである。残りの
状態フラグ306は、X、Y、又はZのALUのどれと
も異なっている。状態フラグ306の1つは、10の機
能エラー・フラグ502の1つとして選択することが可
能である。10個の機能エラー・フラグのうちの4つ
が、Ferrビット0〜3、Ferr[0:3]であ
る。DUT14から予想外の結果を受信すると、Fer
r[0:3]ビットのそれぞれが、タイミング/フォー
マット化及び比較ブロック52によって正の値にセット
される。各フラグがDUTピン電子デバイス14におけ
るあらかじめプログラムされた数のチャネルの1つに関
する機能エラーを表す4つのFerrエラー・フラグ5
04が存在する。従って、Ferrフラグ504のそれ
ぞれは、個別にセットされる。4つのFerrフラグ5
04の全てに論理的OR演算を施すと、10個の機能エ
ラー・フラグのうちの5番目のフラグが生成される。結
果として生じる5つの機能エラー・フラグのそれぞれを
反転すると、全部で10個の機能エラー・フラグ502
が生成される。機能エラー・フラグ・セレクタ508
は、状態フラグ・セレクタ510、512を支援するD
L及びDHによって用いられる状態フラグ306の1つ
として受信される10個の機能エラー・フラグ502の
うちの1つを選択する。機能エラー構成レジスタ534
における4ビットであるAPG_FERR_COFIG
[12:15]によって、DL及びDH状態フラグ・セ
レクタ510及び512に入力される状態フラグ306
の1つとして用いられるのが、10個の機能エラー・フ
ラグのうちのどれになるかに関する機能エラー・フラグ
・セレクタ508による選択が決定される。ALUのう
ち第1のALUに関する出力レジスタ値及びマスク値
と、ALUのうち第2のALUに関する出力レジスタ値
及びマスク値との間における比較結果は、DL及びDH
ALU336、338に固有のものである。すなわ
ち、16ビットX ALU出力レジスタ値514は、1
6ビットXマスク・レジスタ516とビット論理AND
演算が施される。この演算をALUマスキング演算と呼
ぶことにする。Y ALU304と、Aと、Bと、Cと
のALU348、350、352とは、全て、同様のA
LUマスキング演算を行って個別構成をなしている。論
理AND演算の16ビット出力は、ALUの別の1つに
関する論理AND演算のうちの別の1つの16ビット出
力とビット単位で比較され、16ビットの全ての一致値
又は不一致値を表示するビットが得られる。一致又は不
一致値は、状態フラグのうちの別の1つである。図5に
示す利用可能な組み合わせは、XのALUマスキング演
算対AのALUマスキング演算と、XのALUマスキン
グ演算対BのALUマスキング演算と、XのALUマス
キング演算対CのALUマスキング演算と、YのALU
マスキング演算対AのALUマスキング演算と、YのA
LUマスキング演算対BのALUマスキング演算と、Y
のALUマスキング演算対CのALUマスキング演算と
を含んでいる。DL及びDHのALU336、338に
よって用いられる状態フラグ306のうちから、DL及
びDH命令選択514、516をそれぞれ反映するよう
に、DL及びDH状態フラグ・セレクタ510、512
のそれぞれによって、状態フラグの1つがそれぞれ選択
される。DL条件フィールド518は、208ビット・
プログラム命令ワード22の一部であり、DL命令セレ
クタ526によってなされる選択の決定に役立つ。DL
命令選択514によって、第1及び第2の二者択一の命
令522、524のうちどちらが実行のためにDL A
LU336へと送られるかを決定する。第1及び第2の
DL二者択一の命令522、524は、プログラムSR
AM20に記憶される208ビット・プログラム命令ワ
ード22の一部であるDL命令フィールドをなすように
符号化される。第1及び第2のDLの二者択一命令52
2、524の両方が、DL命令セレクタ526へと入力
され、第1及び第2のDLの二者択一の命令522、5
24のうちのどちらがDL ALU336によって実行
されるかをDL命令セレクタ526が決定する。同様
に、DH条件フィールド520は、208ビット・プロ
グラム命令ワード22の一部であり、DH命令セレクタ
528によってなされる選択の決定に役立つ。第1及び
第2のDHの二者択一の命令530、532のどちらが
DH ALU338へと送られて実行されるかをDH命
令セレクタ528が決定する。第1及び第2のDHの二
者択一の命令530、532は、プログラムSRAM2
0に記憶される208ビット・プログラム命令ワード2
2の一部であるDH命令フィールドをなすように符号化
される。第1及び第2のDH二者択一の命令530、5
32の両方が、DH命令セレクタ528に入力され、第
1及び第2のDHの二者択一の命令530、532のう
ちのどちらがDH ALU338によって実行されるか
をDH命令セレクタ528が決定する。
【0045】図面のうち図6を特に参照すると、A及び
B ALU348及び350と、それらのALUの条件
付き計算を支援する論理素子を表したブロック図が示さ
れている。先行図と同様に、16個の状態フラグ306
は、A及びB状態フラグ・セレクタ602、604へと
それぞれ入力される。X302とY304とZ334と
のALUに共通するA及びBのALUによって用いられ
る9個の状態フラグは、xmin308と、xmax3
10と、ymin314と、ymax316と、xym
in402と、xymax404と、zmin326
と、zmax328と、大地電位に配線された固定値と
を含んでいる。A及びBのALU348、350はま
た、AとBとCのALU348と350と352からの
amin628と、amax630と、bmin632
と、bmax634と、cmin636と、cmax6
38フラグとをそれぞれ利用する。A及びBのALU3
48及び350のそれぞれは、10の機能エラー・フラ
グ504の1つから選択されるプログラマブル状態フラ
グ610及び612もそれぞれ有している。Aプログラ
マブル状態フラグ610は、出力が機能エラー・フラグ
構成レジスタ534のビット0〜3であるAPG_FE
RR_CONFIG[0:3]によって決まるA支援機
能エラー・フラグ・セレクタ606を利用する。Bプロ
グラマブル状態フラグ612は、出力が機能エラー・フ
ラグ構成レジスタ534のビット4〜7であるAPG_
FERR_CONFIG[4:7]によって決まるB支
援機能エラー・フラグ・セレクタ608を利用する。プ
ログラムSRAM20に記憶されている208ビット命
令ワード22の条件Aフィールド640によって、A支
援状態フラグ・セレクタ602が、状態フラグ306の
うちのどれをA命令選択614として選択するかが決定
される。A命令選択614によって、A支援命令セレク
タ616に対するどの入力が、A ALU348で実行
される命令として選択されるかが決まる。開示の実施態
様の場合には、テスタは、A ALU348に関する無
条件及び単純な条件付き計算だけを支援する。従って、
A支援命令セレクタ616は、A ALU条件付き命令
620と大地電位に配線された固定値618とを受信す
る。A命令選択614が真の場合には、A支援命令セレ
クタ616によって、A ALU348が実行するA
ALU条件付き命令620が選択され、A命令選択61
4が偽の場合には、保留又は無演算命令が選択される。
プログラムSRAM20に記憶されている208ビット
命令ワード22の条件B642フィールドによって、B
支援状態フラグ・セレクタ604が、状態フラグ306
のうちのどれをB命令選択622として選択するかが決
定される。B命令選択622によって、B支援命令セレ
クタ624に対するどの入力が、B ALU350で実
行される命令として選択されるかが決まる。開示の実施
態様の場合には、テスタは、B ALU350に関する
無条件及び単純な条件付き計算だけを支援する。従っ
て、B支援命令セレクタ624は、B ALU条件付き
命令626と大地電位に配線された固定値618とを受
信する。B命令選択622が真の場合には、B支援命令
セレクタ626によって、B ALU350が実行する
条件付き命令626が選択され、B命令選択622が偽
の場合には、保留又は無演算命令が選択される。
【0046】図面のうち図7を特に参照すると、C A
LU352と、その条件付き計算を支援する論理素子を
表したブロック図が示されている。先行図と同様に、1
6個の状態フラグ306は、C状態フラグ・セレクタ7
02へとそれぞれ入力される。図面のうち図6に示され
たA及びBのALU348及び350に共通するCAL
U352によって用いられる13個の状態フラグが存在
する。共通するそれら状態フラグは、xmin308
と、xmax310と、ymin314と、ymax3
16と、zmin326と、zmax328と、大地電
位に配線された固定値362と、amin628と、a
max630と、bmin632と、bmax634
と、cmin636と、cmax638フラグとを含ん
でいる。CALU352は、10個の機能エラー・フラ
グ502の1つから選択されるプログラマブル状態フラ
グ704も有している。Cプログラマブル状態フラグ7
04は、出力が機能エラー・フラグ構成レジスタ534
のビット8〜11であるAPG_FERR_CONFI
G[8:11]によって決まるC支援機能エラー・フラ
グ・セレクタ706を利用する。C ALUはまた、a
min628及びbmin632状態フラグの論理積の
組み合わせを利用して、abmin708状態フラグを
生成し、amax630及びbmax634状態フラグ
の論理積組み合わせを利用してabmax710状態フ
ラグを生成する。プログラムSRAM20に記憶されて
いる208ビット命令ワード22の条件Cフィールド7
12によって、C支援状態フラグ・セレクタ702が、
状態フラグ306のうちのどれをC命令選択714とし
て選択するかが決定される。C命令選択714によっ
て、C支援命令セレクタ716に対するどの入力が、C
ALU352が実行する命令として選択されるかが決
まる。開示の実施態様の場合には、テスタは、CALU
352に関する無条件及び単純な条件付き計算だけを支
援する。従って、C支援命令セレクタ716は、C A
LU条件付き命令718と大地電位に配線された固定値
720とを受信する。C命令選択714が真の場合に
は、C支援命令セレクタ716によって、C ALU3
52が実行するC ALU条件付き命令718が選択さ
れ、C命令選択714が偽の場合には、保留又は無演算
命令が選択される。
【0047】図面のうち図8を特に参照すると、汎用演
算装置すなわちALUの略ブロック図が示されている。
開示の実施態様に用いられるALUのそれぞれは同じで
あり、図面のうち図8はそれら全ての典型的なものであ
る。図面のうち図8の各機能ブロックは、その一次機能
に関して説明されている。当業者には明らかなように、
機能ブロックのそれぞれには追加論理素子が固有へと組
み込まれているが、その再現(reproduction)は、こう
した当業者個人の本発明の解釈の範囲内にある。各AL
Uは、命令セレクタ368と380と416と526と
528と616と624と716とのそれぞれから命令
802を受信する。命令802は、命令復号論理素子8
04によって受信され、ALUに命令802において指
定された演算を実施させるいくつかの制御信号806が
生成される。実際の演算は、従来の出力論理演算ユニッ
ト「出力ALU(output ALU)」808によって実施さ
れ、出力値820が生成される。3つの比較レジスタ、
すなわち、minレジスタ812とmaxレジスタ81
4とmatchレジスタ816とは、208ビット・プ
ログラム命令ワード22の16ビットvlfdフィール
ドを介して特定の値でプログラムすることが可能であ
る。比較レジスタ812、814、816のそれぞれに
おけるプログラム値は、出力値820に対して比較演算
を実施するコンパレータ818へと入力される。比較演
算の結果によって、minと、maxと、matchと
のフラグ822がセットされる。この演算によって、出
力値820がminレジスタの値以下になると、min
フラグがセットされる。比較演算によって、出力値82
0がmaxレジスタの値以上になると、maxフラグが
セットされる。比較演算の結果、maxレジスタ値より
も小さい値で始まり、maxレジスタ値を超える値にな
る(すなわち、オーバフローする)出力値が生じる場合
には、min及びmaxレジスタ・ブロックにおける追
加論理素子によって、出力値はminレジスタの値にセ
ットされる。同様に、比較演算の結果、minレジスタ
値を超える値で始まり、minレジスタ値より小さい値
になる(すなわち、アンダーフローする)出力値が生じ
る場合には、同じ論理素子によって、出力値はmaxレ
ジスタの値にセットされる。両方の場合とも、minフ
ラグとmaxフラグとの両方が同時にセットされ、アン
ダーフロー及びオーバフロー・フラグがコンパレータ8
18から命令復号論理素子に送られる。minとmax
とmatchとのフラグ822は、図面のうち図3〜図
7の各ALUについて参照される同じ3つのフラグであ
る。概念上、命令復号論理は、大規模なcase...
select文である。各caseは、命令復号論理素
子804へと入力される命令802のそれぞれに関する
異なるビット・パターンを表している。命令における全
ゼロは、保留又は無演算条件を表しており、いずれの場
合も演算は実施されず全ての値が先行ベクトルで保持さ
れたのと同じ値に保持される。出力レジスタ810の値
は、図面のうち図2に示されたALUブロック24の出
力である情報の16ビットを含んでいる。すなわち、X
とYとZとのALU302、304、334の出力の各
16ビットは、ALUブロック24及びアドレス・マッ
パ・ブロック29を接続する48ビットを含んでいる。
DL及びDHのALU336、338の出力の各16ビ
ットは、ALUブロック24及びデータmux35を接
続する32ビットを含んでいる。ALUは、プログラマ
ブル事前生成及び事後生成モード・ビット824も含ん
でいる。事前又は事後生成ビット824は、状態フラグ
構成レジスタ358のビット12であるAPG_GEN
_CONFIG[12]を介してプログラムされる。事
前生成モードの場合には、出力値820は、条件付き計
算を生じさせる状態フラグ値822の直前、すなわち、
1ベクトル前に利用可能になる。事後生成モードの場合
には、出力値は、遅延ラッチ830を用いて単一サイク
ルだけ保持される。従って、出力値820は、条件付き
計算を生じさせる状態フラグ値と同時に利用可能にな
る。生成モード・セレクタ826は直前に利用可能にな
る出力820と遅延出力値826との両方を受信し、事
前又は事後生成モード・ビット824によって、利用可
能な出力値820と遅延出力値828とのどちらがAL
Uの出力として供給されるかを決める。
【0048】図面のうち特に図9を参照すると、ビット
0〜3によってZ支援利用可能フラグ・セレクタ388
がプログラムされ、ビット4〜7によってY支援利用可
能フラグ・セレクタ374がプログラムされ、ビット8
〜11によってX支援利用可能フラグ・セレクタ356
がプログラムされる利用可能フラグ構成レジスタ358
の実施態様の説明図が示されている。ビット12は、事
前又は事後生成モード・セレクタ・ビットである。
【0049】図面のうち図10を特に参照すると、ビッ
ト0〜3によってA支援機能エラー・フラグ・セレクタ
606がプログラムされる機能エラー・フラグ構成レジ
スタ534の実施態様の説明図が示されている。機能エ
ラー・フラグ構成レジスタ534のビット3は、機能エ
ラーが存在する場合の命令又は機能エラーがない場合の
命令のいずれを実施すべきかを指定するために用いられ
る。同様に、ビット4〜7によってB支援機能エラー・
フラグ・セレクタ608がプログラムされ、ビット7に
よって機能エラーが存在する場合の命令又は機能エラー
がない場合の命令のいずれを実施すべきかを指示され、
ビット8〜11によってC支援機能エラー・フラグ・セ
レクタ706がプログラムされ、ビット11によって機
能エラーが存在する場合の命令又は機能エラーがない場
合の命令のいずれを実施すべきかを指示され、ビット1
2〜15によってDL/DH支援機能エラー・フラグ・
セレクタ508がプログラムされ、ビット15によって
機能エラーが存在する場合の命令又は機能エラーがない
場合の命令のいずれを実施すべきかを指示される。
【0050】図面のうち図11を特に参照すると、無条
件命令、単純な条件付き命令、又は、複雑な条件付き命
令の実行を命じる複雑な条件付き命令フィールド110
2に関するビット割り当ての説明図が示されている。本
実施態様の場合には、XとYとZとDLとDHとのAL
Uだけが、複雑な条件付き命令を支援する。それぞれの
複雑な条件付き命令フィールドは16ビット幅であり、
複雑な条件付き計算を支援する5つのALUのそれぞれ
が16ビット・フィールドのうちの固有の1つと関連づ
けられている。従って、上述の5つのALUは、208
ビット・プログラム命令ワードのうち全部で60ビット
を利用する。このシステムは、AとBとCとのALUに
関する無条件命令及び単純な条件付き命令を支援する。
単純な条件付き命令フィールドは10ビット幅だけしか
ない。無条件命令は、状態フラグ306のどのフラグの
状態にも関係なくALUの1つにおいて演算を生じさせ
るものと定義される。単純な条件付き命令は、「i
f...then」フォーマットを有しており、状態フ
ラグの状態が真の場合にのみ、ALUの1つで演算が行
われる。さもなければ、演算は実施されない。複雑な条
件付き命令は、「if...then...else」
フォーマットを有しており、指定の状態フラグの状態が
真の場合には第1の演算を実施し、指定の状態フラグの
状態が偽の場合には第2の演算を実施する。当業者には
明らかなように、プログラム命令ワード22の幅を増す
犠牲を払えば、全てのALUについて複雑な条件つき命
令を支援することが可能である。
【0051】複雑な条件つき命令フィールドは、条件フ
ィールド1104(ビット12〜15)と、第1の二者
択一の命令フィールド1106と、第2の二者択一の命
令フィールド1108とに論理的に分割されている。条
件フィールド1104は、その条件が状態フラグ306
のどれに基づくかを指定する。選択された状態フラグが
真の場合には、第1の二者択一の命令フィールド110
6がALUの1つにある演算を実施させるコードを指定
する。選択された状態フラグが偽の場合には、第2の二
者択一の命令フィールド1108がそのALUに異なる
演算を実施させる異なるコードを指定する。複雑な条件
つき命令フォーマットは、第2の二者択一の命令フィー
ルドに無演算又は保留演算に関するコードを含むことに
よって、単純な条件つき命令を支援することも可能であ
る。無条件計算は、ALUの1つにインクリメント、デ
クリメント、又は、シフトのような計算を実施させる命
令である。無条件命令は、単純に、条件が必ず真になる
ようにプログラムされる。
【0052】X ALU302に関する複雑な条件つき
命令の一例として、図面のうち図3を参照すると、X
ALU302に関連した複雑な条件つき命令の条件フィ
ールド364の値がA支援状態フラグ・セレクタ360
へと入力される。状態フラグ306の1つは条件フィー
ルド値に基づいて選択される。選択された状態フラグを
生じたALUの状態に従って、選択された状態フラグは
真または偽となる。選択された状態フラグがX命令選択
366になる。X命令選択366の状態によって、第1
の二者択一の命令370と第2の二者択一の命令372
のどちらが命令セレクタ368の出力から送り出される
かが決まる。どちらの命令が選択されようと、X AL
U302の命令復号論路素子804によって受け取られ
る。命令復号論理素子804は、所望の演算の実行に必
要な制御ビット806を生成する。実行された命令の結
果が出力レジスタ810へと納められ、minとmax
とmatchとのフラグ822がセットされて、状態フ
ラグ306のうち1つ以上のフラグの値によって演算が
左右される次のベクトルに関する状態フラグ306とし
ての選択のために論理素子へと保持される。
【0053】図面のうち図12を特に参照すると、無条
件計算及び単純な条件付き計算の実行を命じる単純な条
件付き命令フィールド1202に関するビット割り当て
の説明図が示されている。単純な条件付き命令フィール
ドは、10ビット幅であり、参照番号1102として示
された複雑な条件付き命令フォーマットの部分集合であ
る。このシステムは、AとBとCとのALUに関する単
純な条件付き計算を支援し、208ビット・プログラム
命令ワード22における208ビット中の30ビットに
相当する。複雑な条件付き計算命令と共に、条件付き計
算フィールドは、プログラム命令ワード22における2
08ビット中の90ビットを占めている。ビット6〜9
は条件フィールド1204であり、ビット0〜5は命令
フィールド1206である。一例として、図面中の図6
を参照すると、A ALU命令に関する条件フィールド
1204の値が、A支援状態フラグ・セレクタ602へ
と条件A640として入力される。条件フィールドの値
によって、状態フラグ306の1つがA命令選択614
として選択される。A命令選択614によって、命令フ
ィールド620(全体が図12に1206として示され
ている)の値、または、命令セレクタ616に対する第
2の入力をなすアースに配線された固定値である無演算
値618のいずれがA支援命令セレクタ616の出力か
ら送り出されるかが決まる。
【0054】複雑な条件付き計算を支援するコンパイラ
が、テスト・パターン構文を受け取り、プログラム命令
の各行を機械コードの同等の行に変換する。本発明の教
示によるテスタの実施態様では、多くのテスタ命令に、
単一プログラム命令又はベクトルを納めることが可能で
ある。単一プログラム命令には、全部で8つの命令、並
びに、例えば、波形タイプ及びデバイス・ピン・マッピ
ング、条件付き及び無条件分岐といった他の命令に関し
て、演算素子毎に1つの計算を含みうる。コンパイラ
は、本発明には関係のないこれら他の命令に関する符号
化も支援しているため、本明細書では詳述しない。しか
し、コンパイラが、複雑な条件付き計算の符号化前に、
他の全ての命令を処理するという点に注目してみるのは
興味深い。コンパイラは、各命令の処理につれて、命令
構文を保持する命令ストリングからコマンドを除去し、
処理の進行と共に命令ストリングを単純化していく。
【0055】条件付き計算は、演算素子及びテスト・デ
ベロッパのオプションに従って、無条件な形式、複雑な
形式、又は、単純な形式にすることが可能である。Xと
YとZとDLとDHとの演算素子は、3つの形式全てを
支援する。演算素子AとBとCとは、無条件形式及び単
純な形式だけを支援する。図面のうち図11及び12を
特に参照すると、両形式の条件付き命令は、6ビット命
令フィールドを含んでいる。従って、各演算素子は、6
4までの可能性のある命令を有している。単一プログラ
ム命令の場合には、演算素子毎に、64個の可能性のあ
る命令のうちの1つだけしか実行することができない。
64個の可能性のある命令は、発明者がテスタの特定の
実施態様において最も有用であると考えられた命令のリ
ストを含んでいる。しかし、選択された特定の命令は、
主として、設計選択の問題である。64個の可能性のあ
る命令のうち、「0x00」値を有する1つの命令は、
サイクル中に全ての値を保持する保留又は無演算命令で
あり、計算を行わない。可能性のある命令の第1の部分
集合は、単一計算だけしか実施されない命令を含んでい
る。第2の部分集合は、2つの計算が実施される命令を
含んでおり、第3の部分集合は、3つの計算が実施され
る命令を含んでいる。各命令には、6ビットの命令コー
ドが関連づけられている。本発明を支援するコンパイラ
は、演算素子毎に、条件及び命令フィールドのそれぞれ
に値を割り当てる。これは、208ビットのプログラム
命令ワード22の総計で110ビットになる。
【0056】無条件計算及び条件付き計算を符号化する
コンパイラは、ALU毎に、プログラム命令に関係する
下記のプロセスを実施する。まず、コンパイラは、プロ
グラムされた命令ワードを命令ストリング変数にセット
し、その処理を行う。コンパイラは、命令ストリングの
いくつかの部分を適合する機械コードへと符号化するに
つれて、もはや処理の必要がない部分を除去する。従っ
て、命令ストリングは、先行コンパイラ・プロセスの完
了後におけるもとのプログラム命令ストリングの未処理
の残り(remnant)である。この除去プロセスは、複雑
な条件付き計算を符号化するプロセスの単純化を助け
る。
【0057】コンパイラは、演算素子毎に、演算素子
名、この場合にはx、y、z、dl、dh、a、b、又
は、cを備えたパラメータをそれに送ることによって、
式識別サブルーチン(expression identification subr
outine)を呼び出す。従って、式識別サブルーチン内の
処理によって、命令ストリング全体が操作されるが、演
算素子の1つに関連した式だけしか識別されない。本発
明の教示による式識別サブルーチンの特定の実施態様で
は、Perl5.004ソフトウェア及びその正規表現
構文(regular expression syntax)を利用して、複雑な
条件付き命令の異なるフォーマットを分離する。図面の
うち特に図13を参照すると、正規表現(regular expre
ssion)の特定の実施態様が示されている。式識別サブル
ーチンにおける「if文(if statement)」では、正規
表現を利用して、まず、任意の式が、特定の演算素子に
用いられるか否かが識別される。用いられない場合に
は、サブルーチンは、別のルーチンを呼び出して関連す
る命令フィールドに全ての条件に関する無演算又は保留
命令を割り当て、その演算素子について完了する。ある
式が指定の演算素子に関するプログラム命令ストリング
内に存在する場合には、正規表現によって、そのフォー
マットが最初に分類されて分離される。そのフォーマッ
ト・カテゴリは、その式が複雑な条件付きか、単純な条
件付きか、あるいは、無条件であるかを表示する。同じ
「if文」によって、次に、式に含まれる命令のタイプ
あるいは命令が識別される。そのタイプ・カテゴリは、
第1の二者択一の命令が単一、ダブル、トリプル演算命
令のいずれであるかと、第2の二者択一の命令が単一、
ダブル、トリプル演算命令のいずれであるかとを指示す
る。正規表現を利用した分類及び分離ステップの結果
は、下記の概略説明に示すカテゴリに関連するストリン
グ・フラグメントを備えた複数のストリング変数集合
(string variable set)である。評価される式のタイ
プに従って定義された値を備える複数の異なるストリン
グ変数が存在する。下記の概略説明では、定義されたス
トリング変数のリスト、並びに、式及び他のストリング
変数に対する関係が示されている。第1レベルの概略説
明(すなわち、1、2、3)では式フォーマットが定義
され、第2レベルの概略説明(すなわち、1.1、1.
2、1.3等)では式タイプが定義され、第3レベルの
概略説明(すなわち、1.1.1、1.1.2、1.
2.1、1.5.1等)では個々の命令が含まれてい
る。
【0058】1.複雑な条件付き命令(句全体)。 1.1 第1の二者択一の命令(トリプル・フォーマッ
トの場合であり、その場合のみ限る) 1.1.1 第1の二者択一の命令がトリプル命令であ
れば、第1の二者択一の命令の第1の部分。 1.1.2 第1の二者択一の命令がトリプル命令であ
れば、第1の二者択一の命令の第2の部分。 1.1.3 第1の二者択一の命令がトリプル命令であ
れば、第1の二者択一の命令の第3の部分。 1.2 第1の二者択一の命令(ダブル・フォーマット
の場合あり、その場合のみに限る) 1.2.1 第1の二者択一の命令がダブル命令の場
合、第1の部分。 1.2.2 第1の二者択一の命令がダブル命令の場
合、第2の部分。 1.3 第1の二者択一の命令(単一フォーマットの場
合であり、その場合にのみ限る) 1.4 条件。 1.5 第2の二者択一の命令(トリプル・フォーマッ
トの場合であり、その場合のみに限る) 1.5.1 第2の二者択一の命令がトリプル命令であ
れば、第2の二者択一の命令の第1の部分。 1.5.2 第2の二者択一の命令がトリプル命令であ
れば、第2の二者択一の命令の第2の部分。 1.5.3 第2の二者択一の命令がトリプル命令であ
れば、第2の二者択一の命令の第3の部分。 1.6 第2の二者択一の命令(ダブル・フォーマット
の場合であり、その場合のみに限る) 1.6.1 第2の二者択一の命令がダブル命令の場
合、第1の部分。 1.6.2 第2の二者択一の命令がダブル命令の場
合、第2の部分。 1.7 第2の二者択一の命令(単一フォーマットの場
合であり、その場合のみに限る) 2 単純な条件付き命令(句全体) 2.1 命令(トリプル・フォーマットの場合であり、
その場合のみに限る) 2.1.1 命令がトリプル命令であれば、二者択一の
命令の第1の部分。 2.1.2 命令がトリプル命令であれば、命令の第2
の部分。 2.1.3 命令がトリプル命令であれば、第3の部
分。 2.2 命令(ダブル・フォーマットの場合であり、そ
の場合のみに限る) 2.2.1 命令がダブル命令の場合、第1の部分。 2.2.2 命令がダブル命令の場合、第2の部分。 2.3 命令(単一フォーマットの場合であり、その場
合のみに限る) 2.4 条件。 3 無条件命令(句全体) 3.1 命令(トリプル・フォーマットの場合であり、
その場合のみに限る) 3.1.1 命令がトリプル命令であれば、命令の第1
の部分。 3.1.2 命令がトリプル命令であれば、命令の第2
の部分。 3.1.3 命令がトリプル命令であれば、第3の部
分。 3.2 命令(ダブル・フォーマットの場合であり、そ
の場合のみに限る) 3.2.1 命令がダブル命令の場合、第1の部分。 3.2.2 命令がダブル命令の場合、第2の部分。 3.3 命令(単一フォーマットの場合であり、その場
合のみに限る)
【0059】分類ステップにおける式に関連しないスト
リング変数は、ヌル値(null value)として定義され
る。例えば、式が、第1の二者択一の命令に関してダブ
ル命令を利用し、第2の二者択一の命令に関して単一命
令を利用した複雑な条件付き命令である場合には、概略
番号1と、1.2と、1.2.1と、1.2.2と、
1.4と、1.7とに記載のストリング変数だけが定義
される。他の全てのストリング変数はヌル値である。
【0060】そして、各ストリング変数とヌル値を照合
して、定義されている、つまり、符号化される式の一部
であるストリング変数を検出する。ストリング変数の割
り当て方法のために、非ヌル値によって式に関する十分
な情報が得られるので、式に対する処理は、その符号化
のために何をしなければならないかに従って編成するこ
とが可能である。各ストリング変数は、概略説明で示し
た順に、一連のif...then文を利用して階層順
に評価される。まず、概略説明における項目1に記載の
ストリング変数が評価される。ストリング変数が非ヌル
値の場合には、既知のように、その式は、複雑な条件付
き命令(すなわち、if...then...else
フォーマットを利用する命令)である。この事実によっ
て、単純な条件付きフォーマット及び無条件フォーマッ
トに関する式を評価する必要がなくなる。ストリング変
数によって、複雑な条件付き命令に関して肯定的な評価
がなされた後に、第1の二者択一の命令ストリング変数
が評価される。複雑な条件付き命令の場合には、レベル
1.1か、1.2か、1.3かの1つだけしか定義され
ない。ストリング変数に、トリプル、ダブル、単一命令
タイプのいずれを含むかに従って、異なる符号化サブル
ーチンが呼び出される。トリプルか、ダブルか、単一命
令タイプに固有の3つの符号化サブルーチンがそれぞれ
存在する。符号化サブルーチンの適合する1つが呼び出
され、次のレベルのストリング変数がパラメータとして
送られる。各符号化サブルーチンは、case...s
elect文又はルック・アップ・テーブルを利用して
特定の命令を照合し、その照合に関連した2進コードを
参照する。符号化サブルーチンは、式に含まれた命令に
関する2進コードを戻す。コンパイラは、戻された2進
値を利用して適合する命令フィールドを符号化する。第
1レベルのストリング変数がヌルであれば、式が単純な
条件付き命令の場合に定義されるストリング変数が、第
1及び第2レベルのストリング変数を用いて同様に評価
される。同じ符号化サブルーチンが、第3レベルのスト
リング変数を用いて呼び出される。各式が評価され、符
号化されるにつれて、コンパイラは、処理された式を除
去し、後続の式の評価に備えて残留プログラム命令スト
リング(program instruction string remnant)を残
す。式が、複雑な条件付き又は単純な条件付きであると
分類されると、条件変数(すなわち、1.4及び2.
4)が評価される。特定の実施態様における条件フィー
ルドは、4ビット幅である。従って、最大で16の可能
性のある条件が存在する。条件フィールドは、ストリン
グ変数において指定される条件を照合し、それが関連づ
けられている2進コードを戻すための16の選択のca
se...select文を備える条件符号化サブルー
チンを用いて符号化される。
【0061】本発明の望ましい実施態様について解説し
たが、それらは単なる例示にすぎない。付属の請求項の
精神及び範囲を逸脱することなく、本発明の他の実施態
様及び修正も可能である。
【図面の簡単な説明】
【図1】本発明に従って構成された多様に再構成可能な
不揮発性メモリ・テスタの略ブロック図である。
【図2】図1のDUTテスタを拡大した略ブロック図で
ある。
【図3】3つの演算素子に関する条件つき計算を可能に
する本発明の教示による論理素子のブロック図である。
【図4】3つの演算素子に関する条件つき計算を可能に
する本発明の教示による論理素子のブロック図である。
【図5】2つの演算素子に関する条件つき計算及びマス
ク比較を可能にする本発明の教示による論理素子のブロ
ック図である。
【図6】3つの演算素子に関する条件つき計算を可能に
する本発明の教示による論理素子のブロック図である。
【図7】3つの演算素子に関する条件つき計算を可能に
する本発明の教示による論理素子のブロック図である。
【図8】図3〜7に描かれた各演算素子に関する本発明
の教示による実施態様のコンポーネント部品の略ブロッ
ク図である。
【図9】図3から8に示すブロック図を符号化して、複
雑な条件付き計算を実施するための2進ワードの本発明
の教示による実施態様を表した概略図である。
【図10】図3から8に示すブロック図を符号化して、
複雑な条件付き計算を実施するための2進ワードの本発
明の教示による実施態様を表した概略図である。
【図11】図3から8に示すブロック図を符号化して、
複雑な条件付き計算を実施するための2進ワードの本発
明の教示による実施態様を表した概略図である。
【図12】図3から8に示すブロック図を符号化して、
複雑な条件付き計算を実施するための2進ワードの本発
明の教示による実施態様を表した概略図である。
【図13】本発明の教示に従ってコンパイラにおいて用
いられるPerl正規表現の特定の実施態様を示す概略
図である。
【図14】本発明の教示によるコンパイラ・プロセスの
フローチャートである。
【符号の説明】
19 シーケンサ 20 一次メモリ 302、304、334、336、338、348、3
50、352 演算素子 356 利用可能フラグ・セレクタ 358 構成レジスタ 360 状態フラグ・セレクタ 368 命令セレクタ 378 命令セレクタ 384 状態フラグ・セレクタ 810 結果レジスタ 812 第1のレジスタ 814 第2のレジスタ 816 第3のレジスタ 826 遅延セレクタ 830 遅延素子
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G01R 31/3183 G01R 31/28 B 31/319 H G06F 9/38 330 Y Q R (71)出願人 399117121 395 Page Mill Road P alo Alto,California U.S.A. (72)発明者 スティーブン・ディ・ジョーダン アメリカ合衆国コロラド州80528,フォー ト・コリンズ,ファントム・クリーク・コ ート 2521 (72)発明者 ジョン・エム・フリーズマン アメリカ合衆国コロラド州80526,フォー ト・コリンズ,グレイ・フォックス・ロー ド 4507 (72)発明者 サミュエル・ユー・ウォング アメリカ合衆国カリフォルニア州95014, カッパーティーノ,リリー・アベニュー 873 (72)発明者 エドムンド・デ・ラ・プエンテ アメリカ合衆国カリフォルニア州95014, カッパーティーノ,イートン・プレイス 21815 Fターム(参考) 2G132 AA08 AB01 AE23 AG01 5B013 BB16 5B048 AA19 AA20 DD05 FF00

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 条件付き計算を実施するための装置であ
    って、 演算素子と、 複数の命令を受信する命令セレクタと、 前記装置の状態を反映する複数の状態フラグと、 前記状態フラグの1つを選択して、前記演算素子によっ
    て前記複数の命令のどれを実行するかを決定する命令選
    択を発生する状態フラグ・セレクタとを含んでなる条件
    付き計算を実施するための装置。
  2. 【請求項2】 複数の前記演算素子をさらに含み、前記
    複数の前記状態フラグが、前記複数の前記演算素子によ
    って生成されることを特徴とする請求項1に記載の装
    置。
  3. 【請求項3】 前記演算素子が少なくとも1つのレジス
    タを含む論理演算ユニットであり、前記レジスタがレジ
    スタ値を備え、前記状態フラグの前記少なくとも1つが
    前記レジスタ値に対する前記演算素子による計算値を反
    映することを特徴とする請求項1又は2に記載の装置。
  4. 【請求項4】 前記論理演算ユニットが少なくとも第1
    と第2と第3とのレジスタを含み、各レジスタが前記状
    態フラグの第1と第2と第3との各フラグに対応づけら
    れており、前記計算結果が前記第1のレジスタの値以下
    の値の場合には、前記第1の状態フラグが異なる値を反
    映し、前記計算結果が前記第2のレジスタの値以下の値
    の場合には、前記第2の状態フラグが異なる値を反映
    し、前記計算結果が前記第3のレジスタの値以下の値の
    場合には、前記第3の状態フラグが異なる値を反映する
    ことを特徴とする請求項1から3のいずれかに記載の装
    置。
  5. 【請求項5】 各前記演算素子が結果レジスタと遅延素
    子と遅延セレクタとをさらに含んでおり、前記遅延素子
    が前記結果レジスタから値を受信して遅延出力を発生
    し、前記遅延セレクタが前記結果レジスタ値及び前記遅
    延出力を受け取り、構成レジスタが遅延選択制御ビット
    を得ることを特徴とする請求項1から4のいずれかに記
    載の装置。
  6. 【請求項6】 前記命令セレクタが、前記命令選択によ
    る選択に備えて、第1及び第2の二者択一の命令を受信
    することを特徴とする請求項1から5のいずれかに記載
    の装置。
  7. 【請求項7】 シーケンサと一次メモリとをさらに含ん
    でおり、前記一次メモリが前記シーケンサによってアク
    セスされる命令を記憶し、前記第1及び第2の二者択一
    の命令が前記一次メモリから前記命令セレクタに提供さ
    れることを特徴とする請求項6に記載の装置。
  8. 【請求項8】 シーケンサと一次メモリとをさらに含ん
    でおり、前記一次メモリが条件付きコードを記憶し、前
    記条件付きコードによって、前記状態フラグ306のう
    ちのどれを前記命令選択として生成するかを決定するこ
    とを特徴とする請求項1から7のいずれかに記載の装
    置。
  9. 【請求項9】 前記状態フラグ・セレクタに提供される
    前記状態フラグの1つがプログラム可能であり、複数の
    利用可能なフラグを生成する少なくとも1つの追加演算
    装置と、前記利用可能なフラグ354を受信して前記利
    用可能なフラグの1つを前記状態フラグの1つとして選
    択する利用可能なフラグ・セレクタとをさらに含んでい
    ることを特徴とする請求項1から8のいずれかに記載の
    装置。
  10. 【請求項10】 各演算素子に1つずつの複数の前記命
    令セレクタと、それぞれの複数の状態フラグ・セレクタ
    とをさらに含んでいることを特徴とする請求項1から9
    のいずれかに記載の装置。
JP2001305181A 2000-09-29 2001-10-01 条件付き計算を実施するための装置及び方法 Pending JP2002196947A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67618800A 2000-09-29 2000-09-29
US09/676188 2000-09-29

Publications (1)

Publication Number Publication Date
JP2002196947A true JP2002196947A (ja) 2002-07-12

Family

ID=24713566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001305181A Pending JP2002196947A (ja) 2000-09-29 2001-10-01 条件付き計算を実施するための装置及び方法

Country Status (4)

Country Link
EP (1) EP1193502A3 (ja)
JP (1) JP2002196947A (ja)
KR (1) KR20020025838A (ja)
TW (1) TW514931B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9922696B1 (en) 2016-10-28 2018-03-20 Samsung Electronics Co., Ltd. Circuits and micro-architecture for a DRAM-based processing unit
US11113051B2 (en) 2017-04-28 2021-09-07 Tenstorrent Inc. Processing core with metadata actuated conditional graph execution
US10817293B2 (en) 2017-04-28 2020-10-27 Tenstorrent Inc. Processing core with metadata actuated conditional graph execution

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995424A (en) * 1997-07-16 1999-11-30 Tanisys Technology, Inc. Synchronous memory test system
US6366999B1 (en) * 1998-01-28 2002-04-02 Bops, Inc. Methods and apparatus to support conditional execution in a VLIW-based array processor with subword execution

Also Published As

Publication number Publication date
KR20020025838A (ko) 2002-04-04
TW514931B (en) 2002-12-21
EP1193502A2 (en) 2002-04-03
EP1193502A3 (en) 2005-06-22

Similar Documents

Publication Publication Date Title
KR100786418B1 (ko) Dram에서의 메모리 동작 수행 방법
US6671844B1 (en) Memory tester tests multiple DUT's per test site
KR100881843B1 (ko) 트리거 신호 생성 방법 및 전압 파형 표현 생성 방법
KR100896585B1 (ko) 메모리 테스트 방법
US6574626B1 (en) Method and apparatus for administration of extended memory
US6347056B1 (en) Recording of result information in a built-in self-test circuit and method therefor
US20030005375A1 (en) Algorithmically programmable memory tester with test sites operating in a slave mode
US6598112B1 (en) Method and apparatus for executing a program using primary, secondary and tertiary memories
KR100920277B1 (ko) 파라미터 값 및 에러 표시 보존 방법과, 알고리즘 제어변수 복원 방법과, 에러 표시에서의 분기 방법
US6591385B1 (en) Method and apparatus for inserting programmable latency between address and data information in a memory tester
JP2008310955A (ja) 不良な列にあるアドレスでプログラミングするのに時間を消費することを回避する方法
JPS6288972A (ja) 階層テスト・シ−ケンサ
US7076714B2 (en) Memory tester uses arbitrary dynamic mappings to serialize vectors into transmitted sub-vectors and de-serialize received sub-vectors into vectors
US6763490B1 (en) Method and apparatus for coordinating program execution in a site controller with pattern execution in a tester
US6687855B1 (en) Apparatus and method for storing information during a test program
JP4317338B2 (ja) 高機能化された後デコードを有するメモリテスタ
US6968545B1 (en) Method and apparatus for no-latency conditional branching
EP1411434A2 (en) A software programmable verification tool having a single built-in self-test (bist) module for testing and debugging multiple memory modules in a device under test (dut)
JP2002196947A (ja) 条件付き計算を実施するための装置及び方法
US6973404B1 (en) Method and apparatus for administering inversion property in a memory tester
US7464295B2 (en) Software programmable verification tool having multiple built-in self-test (BIST) modules for testing and debugging multiple devices under test (DUT)
KR20020020862A (ko) 메모리 테스터 어드레스 채널 관리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060707

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061205