JPH09178822A - テスト可能なプログラマブル・ゲート・アレイとそのテスト方法 - Google Patents

テスト可能なプログラマブル・ゲート・アレイとそのテスト方法

Info

Publication number
JPH09178822A
JPH09178822A JP8298913A JP29891396A JPH09178822A JP H09178822 A JPH09178822 A JP H09178822A JP 8298913 A JP8298913 A JP 8298913A JP 29891396 A JP29891396 A JP 29891396A JP H09178822 A JPH09178822 A JP H09178822A
Authority
JP
Japan
Prior art keywords
data
programmable
configuration
scan chain
scan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP8298913A
Other languages
English (en)
Other versions
JP3710070B2 (ja
Inventor
Kevin Beebe Wayne
ウェイン・ケヴィン・ベーベ
Botara Sally
サリー・ボタラ
Scott W Gould
スコット・ホイットニー・グールド
R Keyser Frank Iii
フランク・レイ・カイザー・ザサード
Rey Larsen Wendell
ウェンデル・レイ・ラーセン
Reymond Palmar Ronald
ロナルド・レイモンド・パルマー
Wace Brian
ブライアン・ワース
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09178822A publication Critical patent/JPH09178822A/ja
Application granted granted Critical
Publication of JP3710070B2 publication Critical patent/JP3710070B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • 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/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318558Addressing or selecting of subparts of the device under test
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】 改良されたテスト可能プログラマブル・ゲー
ト・アレイとそれをテストするための方法を提供する。 【解決手段】 プログラマブル・ゲート・アレイは、プ
ログラマブル・ゲート・アレイの様々な機能サブシステ
ムをテストするためのテスト・サブシステムを含む。テ
スト・サブシステムを使用する一連のテスト方法は、様
々なサブシステムの相互依存度を考慮に入れてプログラ
マブル・ゲート・アレイの機能性をテストし、したがっ
て、そこでの障害分離を可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路を
テストするためのテスト・サブシステムおよび方式に関
し、より具体的には、フィールド・プログラマブル・ゲ
ート・アレイをテストするためのテスト・サブシステム
および方式に関する。
【0002】
【従来の技術】フィールド・プログラマブル・ゲート・
アレイ(FPGA)は、その中に組合せ論理回路と同期
論理回路の両方を有するコミットなしプログラマブル論
理セルのアレイを含むものとして当業者に知られてい
る。通常、論理セルは、プログラマブル相互接続ネット
ワークによってプログラム式に相互接続されている。し
たがって、論理セルを適切にプログラミングし相互接続
することにより、FPGAが複雑なユーザ定義論理機能
を実行することができる。
【0003】拡張FPGAは、論理セルのアレイ間でデ
ータを転送するためのプログラマブル入出力資源も含む
場合がある。この入出力資源は、それを通る信号伝播の
方向(すなわち、入力または出力)を制御するようにプ
ログラム可能であり、さらにいくつかの追加の選択活動
化制御構成(たとえば、インピーダンス、スルー・レー
ト、プルアップ、極性など)に応じてプログラム可能で
ある。FPGAは多くの入出力端子を使用する場合が多
く、そのそれぞれは、それに関連するプログラマブル入
出力資源に応じて個別に構成可能である。また、FPG
Aでは、1つまたは複数のクロック信号をアレイの様々
な順序回路に分配するために、プログラマブル・クロッ
ク・ネットワークを使用することもできる。上記のFP
GAサブシステムのそれぞれは、通常、FPGAの「機
能的」部分の一部であると見なされる。このようなサブ
システムは、以下、単一でまたはまとめて「プログラマ
ブル資源」と呼ぶ。プログラマブル資源の例は、以下に
示す関連米国特許出願に開示されている。
【0004】関連出願情報 本出願は、本出願人が所有しすでに出願された以下の米
国特許出願に関連する。 1."PROGRAMMABLE ARRAY INTERCONNECT NETWORK"とい
う名称で1995年6月2日出願の第08/45957
9号 2."PROGRAMMABLE ARRAY I/O - ROUTING RESOURCE"と
いう名称で1995年6月2日出願の第08/4604
20号 3."PROGRAMMABLE ARRAY CLOCK/RESET RESOURCE"とい
う名称で1995年6月2日出願の第08/45915
6号 4."PROGRAMMABLE LOGIC CELL"という名称で1995
年6月2日出願の第08/460481号 5."PROGRAMMABLE ARRAY INTERCONNECT LATCH"という
名称で1995年6月7日出願の第08/480639
号 6."CONTINUOUS ADDRESS STRUCTURE WITH FOLDING"と
いう名称で1995年6月7日出願の第08/4883
14号
【0005】現在、FPGAに使用可能なプログラミン
グ技術は様々である。たとえば、不揮発性ヒューズまた
はアンチヒューズ・リンクをアレイに使用し、アレイ資
源間で選択接続を行うことができる。このような線をプ
ログラミングするためには、リンクにおける適切なプロ
グラミング電圧の選択配置を可能にするため、2端子リ
ンクの各端子が独立してアドレス可能でなければならな
い。したがって、アレイを構成するために必須のプログ
ラミング電圧のアドレス指定と経路指定を行うために、
追加の構成サポート回路が必要である。また、フローテ
ィングゲートEPROM/EEPROMトランジスタを
使用してアレイのプログラム性を提供することができる
が、このようなトランジスタは、それにプログラミング
電圧を印加するために、アレイ内に同様に配置され、独
立してアドレス指定されるものと思われる。
【0006】FPGAのプログラマブル資源を制御する
ためには、スタティックRAM(SRAM)技術も使用
可能である。FPGAの単純なプログラマブル資源とし
ては、CMOSパス・ゲートが含まれる。このパス・ゲ
ートは、所定のプログラム状態を保持する、基礎となる
SRAMセルによって制御される。このプログラム状
態、すなわち、SRAMセルに格納された構成データ・
ビットによって、パス・ゲートが伝導するかどうかが決
まる。したがって、FPGAの関連プログラマブル資源
の構成を確立するために、FPGA内の比較的独立した
サブシステムとして、SRAMセルの均質アレイを設け
ることができる。このSRAMセルのアレイへのアクセ
スは、FPGAの構成論理サブシステムによって制御さ
れる標準のアクセス技法を使用して行う。
【0007】したがって、プログラマブル・ゲート・ア
レイのプログラマブル資源に加え、アレイのプログラミ
ングを可能にするために追加の構成サブシステムが必要
なことは明らかである。上記のSRAM FPGA例で
は、それへのアクセスを制御するための関連構成論理と
ともに、FPGAの関連プログラマブル資源を構成する
ためにSRAMセルの均質アレイが設けられている。半
導体設計および製作の観点から、単一半導体パッケージ
に複数の異質サブシステムを設けると、障害検出および
分離を含む、回路のテスト性に関する重大な懸念が発生
する。したがって、FPGAの構成サブシステムおよび
プログラマブル資源のテストを可能にするために、包括
的なテスト方式を提供すると有利であると思われる。こ
のテスト方式自体は、FPGA内に追加のテスト・サブ
システムを設けることを含む場合があり、そのテスト・
サブシステムもテスト可能でなければならない。したが
って、テスト方式は、テスト・サブシステムを含む、F
PGAのすべての資源およびサブシステムを可能な限り
包含する必要がある。
【0008】にもかかわらず、プログラマブル資源と構
成およびテスト・サブシステムは、それぞれの回路や機
能が異なるものの、相互依存度が高い。この相互依存度
のために、使用するテスト方式が非常に複雑になる。た
とえば、論理セルの組合せ論理のテストが必要になる場
合が多く、その論理セルは構成サブシステムによって所
与の状態にプログラミングされる。しかし、論理セル・
テストの保全性は、構成サブシステムのエラーや、テス
ト・サブシステムのエラーによって悪影響を受ける可能
性がある。したがって、FPGA内の様々な資源および
サブシステム間の相互依存度をできる限り考慮したテス
ト方式を使用することが必要になる。
【0009】既知のバウンダリ・スキャン技法では、そ
の入出力端子に関連してチップの外辺部にLSSDレジ
スタなどの2重ラッチ・セットを設けることが必要であ
る。このラッチ・セットは、シフト・レジスタ・スキャ
ン・チェーンとして相互接続されている。テスト刺激
は、スキャン・チェーンにシリアルにロードし、チップ
の内部回路に印加することができる。スキャン・チェー
ンは、テスト刺激に応答して、内部回路が提供する結果
データを同様に捕捉することができる。次に、この結果
をシフト・レジスタからシフト・アウトし、予想結果と
比較することができる。チップのスキャンイン端子、ス
キャンアウト端子、いくつかのクロック端子は、スキャ
ン・チェーンの動作を可能にするために設けられてい
る。したがって、チップの各入出力端子に対する外部テ
スト・インタフェースを必要とせずに、チップの内部回
路で障害を検出することができる。しかし、回路密度を
高め、特にFPGA内の回路の異種性を考慮すると、バ
ウンダリ・スキャン技法でも障害検出が可能になるが、
障害分離は難しい場合がある。したがって、FPGA内
の様々な資源およびサブシステムのテスト中に障害分離
の程度を高めるようなテスト・サブシステムを使用する
ことが必要になる。
【0010】レベルセンシティブ・スキャン設計(LS
SD)テスト技法も知られているが、これは1つの論理
回路を組合せ論理回路と同期論理回路にセグメント化す
ることを含む。同期回路はシリアル・シフト・レジスタ
・スキャン・チェーンになるように接続され、論理回路
の領域の境界となるかまたは領域をセグメント化する。
バウンダリ・スキャン技法と同様、テスト刺激はシフト
・レジスタ・スキャン・チェーンにシフト・インされ、
論理回路に印加される。結果データは、その関連論理回
路またはセグメントによってもたらされた通りに、スキ
ャン・チェーンに捕捉される。次に、捕捉した結果デー
タが分析のためにシフト・アウトされる。この場合も、
外部テスト機器はスキャンイン、スキャンアウト、なら
びに適切なクロック・ピンだけにアクセスすればいいの
で、ピン・カウント低減テストが達成される。
【0011】典型的なFPGAでは、その同期回路をシ
リアル・シフト・レジスタに変換することにより、すべ
ての組合せ回路を明確にセグメント化することは少々難
しいことである。たとえば、各論理セルの同期回路のそ
れぞれが変換され、関連シリアル・シフト・レジスタ・
スキャン・チェーン内で接続されている場合、介入する
プログラマブル相互接続ネットワークは明確にセグメン
ト化されず、テスト不能領域を含む可能性があると思わ
れる。この問題は、相互接続ネットワークが大規模で複
雑な場合、特に重大である。したがって、FPGAの異
質な組合せ資源と同期資源の妥当なテストを行い、その
容易なセグメント化を可能にし、純粋なLSSD手法を
使用する場合の欠点を克服するようなテスト方式を提供
することが必要になる。
【0012】前述のように、高性能テスト方式を提供す
るには、少なくともアレイ内にいくつかの追加テスト・
サブシステムを設けることが必要になると思われる。し
かし、既知のシフト・レジスタ技法と同様、テスト・サ
ブシステムを動作させるのに必要な入出力端子の数をで
きる限り最小限にすることが必要になる。さらに、最小
量の信号インタフェース回路と外部テスト機器により、
1つのシステム内の複数のFPGAチップのテストをサ
ポートすることが必要である。
【0013】
【発明が解決しようとする課題】したがって、本発明の
一目的は、改良されたテスト可能プログラマブル・ゲー
ト・アレイとそれをテストするための方法を提供するこ
とにある。
【0014】本発明の他の目的は、フィールド・プログ
ラマブル・ゲート・アレイの様々なサブシステム内で障
害の分離を可能にするような、プログラマブル・ゲート
・アレイをテストするための包括的なテスト方式を提供
することにある。
【0015】本発明の他の目的は、プログラマブル・ゲ
ート・アレイの様々なサブシステム間の相互依存度を考
慮に入れた、プログラマブル・ゲート・アレイをテスト
するためのこのようなテスト方式を提供することにあ
る。
【0016】本発明の他の目的は、複数のプログラマブ
ル・ゲート・アレイのテストを可能にするためのこのよ
うなテスト可能プログラマブル・ゲート・アレイと関連
テスト方法を提供することにある。
【0017】
【課題を解決するための手段】本発明の第1の実施例に
よれば、フィールド・プログラマブル・ゲート・アレイ
は、関連入出力ポートに結合された複数の機能信号線を
有する。複数のプログラマブル論理ユニットは、関連の
論理構成データに応じて特定の論理回路を提供する。複
数のプログラマブル相互接続部は、関連の経路指定構成
データに応じて機能信号線とプログラマブル論理ユニッ
トとを相互接続する。プログラマブル論理ユニットとプ
ログラマブル相互接続部に関連するメモリ・セルは、そ
れぞれ関連のプログラマブル資源を構成するための論理
および経路指定構成データを保持する。構成論理回路
は、メモリ要求信号を受け取り、これらの信号を処理し
てメモリ・セルへのアクセスを可能にする。FPGAの
テスト回路は、入出力機能信号線と関連入出力ポートへ
の選択的シリアル・スキャン・アクセスとそれらの機能
検証とを可能にするために、FPGAの機能信号線を横
切るLSSDバウンダリ・スキャン・チェーンを含む。
また、そのLSSDシリアル・スキャン・アクセスとテ
ストを可能にするために、第2のLSSDスキャン・チ
ェーンが構成論理回路に関連付けられている。最後に、
それへの選択的シリアル・スキャン・アクセスを可能に
するために、フィールド・プログラマブル・ゲート・ア
レイのプログラマブル相互接続部に沿ってLSSDレピ
ータ・スキャン・チェーンが配置されている。
【0018】本発明のこの第1の実施例の一態様では、
入出力バウンダリ・スキャン・チェーンが、FPGAの
様々な特徴を制御するための制御信号を提供するために
テスト制御レジスタにデータをロードすることに関連す
る部分を含む。
【0019】本発明のこの第1の実施例の他の態様は、
アレイ・テスト・モードをサポートするための備えを含
む。行と列からなるアレイとして複数のプログラマブル
・オペレーティング・ユニットがFPGAを横切って配
置されている。プログラマブル相互接続部は、プログラ
マブル・オペレーティング・ユニットのアレイ近似の関
連する行と列を横切って配置された複数の行バスと複数
の列バスとを含む。プログラマブル・レピータ・ユニッ
トは、構成メモリの指定のメモリ・セルに保持されたレ
ピータ構成データに応じて、行バスと列バスのうちの所
与のバスを関連バス・セグメントに選択的に細分する。
レピータ・スキャン・チェーンの各LSSDスキャン・
レジスタは、複数のプログラマブル・レピータ・ユニッ
トの関連レピータ・ユニット内に組み込まれている。そ
れぞれのレピータ・スキャン・チェーンを提供するため
に、関連の行バスと列バスのLSSDスキャン・レジス
タはシリアル接続されていることが好ましい。
【0020】本発明の第1のテスト方法(B/Sまたは
カード・テスト)では、その入出力バウンダリ周辺に入
出力バウンダリ・スキャン・チェーンを有するFPGA
をテストするための方法が提供される。第1のテスト・
マクロでは、既知の入出力テスト・データがFPGAの
入出力バウンダリに印加される。次に、入出力バウンダ
リのデータが入出力バウンダリ・スキャン・チェーンに
ラッチされる。次に、このラッチ・データが入出力バウ
ンダリ・スキャン・チェーンからスキャン・アウトさ
れ、FPGAの入出力バウンダリの機能性を判定するた
めに既知の入出力テスト・データと比較するために回復
される。
【0021】第2のテスト方法(構成またはLSSDテ
スト)のFPGAには、FPGAの構成論理回路をテス
トするための構成スキャン・チェーンが設けられてい
る。構成テスト・ベクトルは、構成スキャン・チェーン
にスキャン・インされ、構成論理回路に印加される。印
加された構成テスト・ベクトルに応答して構成論理回路
によってもたらされる結果データは、構成スキャン・チ
ェーンにラッチされる。次に、結果データは、構成スキ
ャン・チェーンからスキャン・アウトされ、回復され、
構成論理回路の機能性を判定するために印加されたテス
ト・ベクトルと構成論理回路に応じて、所定の結果デー
タと比較される。
【0022】第3のテスト方法(アレイ・テスト)のF
PGAには、FPGAの選択プログラマブル相互接続部
内に構成されたレピータ・スキャン・チェーンが設けら
れている。FPGAのプログラマブル相互接続部のうち
の第1の組の相互接続部は、レピータ・スキャン・チェ
ーンの入力および出力レピータ・スキャン・チェーンの
それぞれのLSSDスキャン・レジスタ間に構成され
る。相互接続テスト・ベクトルは、入力レピータ・スキ
ャン・チェーンにシリアルにスキャン・インされ、第1
の組の相互接続部の入力側に印加される。次に、第1の
組の相互接続部の出力側の結果データは、出力レピータ
・スキャン・チェーンにラッチされる。次に、結果デー
タは出力レピータ・スキャン・チェーンからスキャン・
アウトされ、回復され、プログラマブル相互接続部の機
能性を判定するために印加された相互接続テスト・ベク
トルと比較される。
【0023】この実施例の他のテスト方法(構成メモリ
・アクセス・テスト)は、FPGAのプログラマブル資
源を構成するために構成データを受け取って保持するた
めのメモリ・セルの能力を判定するために、FPGAの
メモリ・セルに直接アクセスし、テストするものであ
る。まず、既知のデータがメモリ・セルに書き込まれ
る。次に、メモリ・セルの機能性を判定するために、メ
モリ・セルからデータが取り出され、そのデータが既知
のデータと比較される。
【0024】本発明の他のテスト方法では、FPGAの
構成可能性をテストするための方法が提供される。複数
の入出力ポートと、プログラマブル論理ユニットと、プ
ログラム論理ユニットと入出力ポートとを相互接続する
ためのプログラマブル相互接続部とを有するFPGAが
提供される。様々なプログラマブル論理ユニットとプロ
グラマブル相互接続部に対して、複数の構成メモリ・セ
ルが指定される。この構成メモリ・セルは、プログラマ
ブル論理ユニットとプログラマブル相互接続部を構成す
るための構成データを保持する。構成論理回路には、プ
ログラマブル・メモリ・セルへのアクセスと、そのセル
への構成データのロードとを可能にするためにFPGA
が設けられている。フィールド・プログラマブル・ゲー
ト・アレイをテストするためのこの方法では、構成論理
回路に関連するLSSDスキャン・チェーンにより、構
成論理回路の機能性がテストされる。構成論理回路のテ
スト後、確定的なテスト・パターンを使用して複数の構
成メモリ・セルがテストされる。
【0025】本発明の上記のテスト方法の他の態様で
は、FPGAの入出力ポートの状態(スナップショッ
ト)の観察にバウンダリ・スキャン・チェーンが使用さ
れる。
【0026】本発明の第4のテスト方法(B/Sチップ
・テスト)では、複数の入出力ピンと、複数の入出力機
能信号線と、複数のプログラマブル論理ユニットと、経
路指定構成データに応じて機能信号線と選択プログラマ
ブル論理ユニットとを選択的に相互接続するための複数
のプログラマブル相互接続部とを有するFPGAをテス
トするための方法が提供される。FPGAには、FPG
Aのプログラマブル資源の構成に関連する構成データを
保持するための複数のメモリ・セルが設けられている。
FPGAの構成論理回路により、メモリ・セルへのアク
セスが可能になる。バウンダリ・スキャン・チェーンは
FPGAの機能信号線を横切って設けられ、構成スキャ
ン・チェーンは構成論理回路の周りおよび構成論理回路
内に設けられている。また、レピータ・スキャン・チェ
ーンは、プログラマブル相互接続部の選択相互接続部に
沿って設けられている。レピータ・スキャン・チェーン
は、それぞれのラッチ構成データに応じて関連相互接続
部に選択的に結合される。
【0027】本発明のこの第4のテスト方法によりFP
GAをテストする場合、それによりシリアルにデータを
スキャンすることにより、様々なスキャン・チェーンの
それぞれがテストされる。データは、スキャン・チェー
ンを通過するときに受け取られ、それぞれのスキャン・
チェーンの機能性を判定するためにスキャン・インされ
たものと比較される。
【0028】入出力機能信号線と関連の機能入出力ピン
は、機能入出力ピンにテスト・ベクトルを印加し、入出
力機能線の結果データをバウンダリ・スキャン・チェー
ンにラッチすることによってテストされる。結果データ
は、バウンダリ・スキャン・チェーンからスキャン・ア
ウトされ、入出力ピンと関連の機能信号線の機能性を判
定するために機能入出力ピンに印加されたテスト・ベク
トルと比較される。
【0029】この第4のテスト方法の他の手順では、テ
スト・ベクトルをシリアルに構成スキャン・チェーンに
スキャン・インし、関連の構成論理回路にテスト・ベク
トルを印加することによって、構成論理回路がテストさ
れる。次に、印加したテスト・ベクトルに応答して構成
論理回路によってもたらされる結果データは、構成スキ
ャン・チェーンにラッチされる。この結果データは、構
成スキャン・チェーンからシリアルにスキャン・アウト
され、構成論理回路の適正動作を判定するために、印加
したテスト・ベクトルおよび関連の構成論理回路に応じ
て事前決定された所定の結果データと比較される。
【0030】プログラマブル相互接続部は、第1および
第2のレピータ・スキャン・チェーン間の複数のプログ
ラマブル相互接続部のうちの第1の組の相互接続部をま
ず構成することによりテストされる。テスト・ベクトル
は、第1のレピータ・スキャン・チェーンにシリアルに
スキャン・インされる。第1の組の相互接続部の入力側
にテスト・ベクトルを印加するために、適切な構成デー
タに応じて第1のレピータ・スキャン・チェーンが構成
される。次に、第1の組の相互接続部の出力側のデータ
が第2のレピータ・スキャン・チェーンにラッチされ
る。この結果データは、第2のレピータ・スキャン・チ
ェーンからスキャン・アウトされ、回復され、プログラ
マブル相互接続部の適正な機能性を判定するために印加
したテスト・ベクトルと比較される。
【0031】本発明の最後の実施例のフィールド・プロ
グラマブル・ゲート・アレイは、そのメモリ・セルにア
クセスするための構成論理回路を含み、そのメモリ・セ
ルはFPGAのプログラマブル資源の構成に関連付けら
れている。LSSDのアクセスと構成論理回路のテスト
を可能にするために、LSSDスキャン・チェーンが構
成論理回路に関連付けられている。
【0032】本発明は、プログラマブル・ゲート・アレ
イをテストするためのテスト・サブシステムおよび方式
を提供する。以下の説明では、まず、プログラマブル・
ゲート・アレイとそれに関連するテスト・サブシステム
の基本構造について説明する。次に、その関連テスト・
サブシステムに応じてプログラマブル・ゲート・アレイ
をテストするためのテスト・マクロと関連シーケンスと
を説明する。
【0033】フィールド・プログラマブル・ゲート・ア
レイの例に関連して、以下に本発明のテスト・サブシス
テムおよび方法について説明する。ただし、本発明のテ
スト・サブシステムおよび方法は、匹敵する他の再構成
可能論理デバイスにも同様に適用可能であることに留意
されたい。
【0034】
【発明の実施の形態】図1ないし図2を参照すると、フ
ィールド・プログラマブル・ゲート・アレイ10が示さ
れているが、これは、複雑なユーザ定義の論理回路のテ
スト、構成、機能動作を可能にするための様々なサブシ
ステムを含む。フィールド・プログラマブル・ゲート・
アレイ(FPGA)10のプログラマブル資源12は、
プログラマブル論理セルと、プログラマブル相互接続ネ
ットワークと、プログラマブル・クロック/リセット分
配ネットワークと、プログラマブル入出力ポートと、そ
の他のものを含む。"Programmable Logic Cell"という
名称の米国特許出願の上記の部分には、プログラマブル
論理セルの詳しい説明が示されている。同様に、"Progr
ammable Array Interconnect Network"、"Programmable
Array Clock/Reset Resource"、"Programmable I/O Ro
uting Resource"という名称のそれぞれの米国特許出願
の上記の部分には、相互接続ネットワーク、クロック/
リセット分配、プログラマブル入出力資源の詳しい説明
が示されている。
【0035】FPGA10のSRAM14は、FPGA
10の様々なプログラマブル資源12の構成状態を選択
的に励起するために構成データを保持する。構成プログ
ラム・ビット20は、SRAM14の関連メモリ・セル
の構成データに応じて、FPGAの様々なプログラマブ
ル資源12を励起する。"Continuous Address Structur
e With Folding"という名称の米国特許出願の上記の部
分は、FPGAの様々なプログラマブル資源へのSRA
Mメモリの割振り例を示している。
【0036】FPGA10の構成論理回路16および1
8は、プログラマブル資源12を構成するためにそこに
構成データをロードできるようにするため、また、SR
AM14のテストを可能にするために、SRAM14に
アクセスする。構成論理回路のSRAM制御装置16
は、動作モードを選択し、SRAM14へのアクセスを
制御するために、様々な入力信号を受け取る。また、S
RAM制御装置16は、SRAM14の動作検証中に出
力信号を提供する。構成論理回路16の詳細について
は、Garverick他に対して1994年3月29日に交付
された"Versatile and Efficient Cell-to-Local Bus I
nterface in a Configurable Logic Array"という名称
の米国特許第5298805号と、"Application Note
AT6000 SeriesConfiguration"というタイトルの文献
(1993年5月19日発行、改訂版1B、Atmel Corp
oration)を参照されたい。どちらの参考文献も、ここ
に全体を参照することにより、本明細書に組み込まれ
る。
【0037】構成論理回路のデコーダおよびシーケンサ
18は、アドレス・バス32またはデータ・バス34あ
るいはその両方からデータを受け取る。デコーダおよび
シーケンサは、このデータをデコードし、SRAM14
のメモリ・マップをアドレス指定するためのアドレスま
たはアドレス・シーケンスあるいはその両方を提供す
る。デコーダおよびシーケンサの詳細については、"Con
tinuous Address Structure With Folding"という名称
の米国特許出願の上記の部分と、"Application Note AT
6000 Series Configuration"というタイトルの文献を参
照されたい。
【0038】上記のサブシステム、すなわち、プログラ
マブル資源12と、SRAM14と、構成論理回路1
6、18とは、FPGAのユーザ機能動作を可能にする
ものである。この開示の次の部分では、ユーザがFPG
Aの様々なサブシステムをテストできるようにするため
のFPGAのテスト・サブシステムについて説明する。
【0039】テスト可能FPGAのテスト・サブシステ
:図2を参照すると、テスト回路22は、FPGAの
テスト・モードを選択するためのテスト制御信号MTEST
とTESTMOREを受け取る。さらに、FPGAの個々のテス
トの追加態様を連絡するために追加のテスト信号38を
テスト回路22に提供することもできる。入出力バウン
ダリ・スキャン・チェーン26は、FPGA10の機能
入出力相互接続部36を横切る既知の入出力バウンダリ
・スキャン・チェーンを提供する。この入出力バウンダ
リ・スキャン・チェーン26の一部分は、FPGAのテ
スト中に追加の制御信号を提供するために制御レジスタ
28のロードに関連付けられている。
【0040】追加のテスト・サブシステムとしては、構
成スキャン・チェーン24がある。構成スキャン・チェ
ーン24は、スキャン・チェーンによる構成論理回路へ
のアクセスを許可し、そのテストを可能にするために、
FPGAの構成論理回路の様々なセグメントの境界を示
す。最後に、レピータ・スキャン・チェーン301、3
2、・・・は、FPGAの選択プログラマブル相互接
続部内に構成スキャン・チェーンを提供するものであ
る。レピータ・スキャン・チェーンは、関連のプログラ
マブル相互接続部への選択スキャン・チェーン・アクセ
スを可能にし、FPGAのプログラマブル資源12の様
々な部分の分離テストを可能にする。レピータ・スキャ
ン・チェーンの詳細については、"Programmable Array
Interconnect Latch"という名称の米国特許出願の上記
の部分を参照されたい。
【0041】FPGAの機能、構成、およびテスト・イ
ンタフェース:図1ないし図2に示すように、FPGA
10は、FPGAの様々なサブシステム間で信号を伝播
するために複数の入出力ポートと入出力相互接続部を含
む。FPGAの特定の実施例では、入出力相互接続部の
一部が共通入出力ポートを共用している。このような2
重使用入出力ポートは、所与のテスト制御信号に応じて
関連の入出力相互接続部の1つに選択的に結合される。
以下に示す表1は、FPGAの動作モードによる関連入
出力相互接続部へのFPGAの入出力ポートの割振りを
示すものである。
【0042】入出力ポートは、専用ポート「d」ポー
ト、複数使用ポート「m」ポート、機能バウンダリ・ス
キャン・ポート「bs」という3通りのカテゴリを含
む。専用入出力ポート「d」は、2重使用ポートになる
場合もあるが、テスト、構成、増力、モード選択など、
FPGAの非機能態様専用である。
【0043】複数使用入出力ポート「m」は、FPGA
の機能相互接続部あるいは拡張テスト相互接続部に選択
的に結合された2重使用ポートである。所与のテスト・
モードでは、複数使用入出力ポート「m」が拡張テスト
・インタフェースを提供する。
【0044】バウンダリ・スキャン入出力ポート「b
s」は、主にFPGAの機能相互接続部に割り振られ
る。ただし、バウンダリ・スキャン入出力ポート「b
s」の第1の部分は、FPGAの構成に関連する相互接
続部に結合することもできる。また、その第2の部分
は、クロックまたはリセット信号をFPGAに伝播する
ための相互接続部に結合することもできる。
【0045】
【表1】 FPGA入出力インタフェース i=入力、o=出力、c=共通入出力 #=io(入出力)の数 *=機能入出力 d=専用入出力であって、-MTEST=0かつ-DI2=1によってテスト・モードが可 能になり、-CS=0によって構成モードが可能になる m=追加のテスト入出力であって、-MTEST=0かつ-TESTMORE=0によって可能 になる bs=ラッチ境界スキャン入出力であって、-RI=1かつ-DI1=1によって可能 になる # テスト・モード 構成モード 機能モード d 1 i SWGATE=VREF i SWGATE=VREF i SWGATE=VREF d 1 i -OFF/ON i -OFF/ON i -OFF/ON d 1 c -CON c -CON - -CON = high Z d 1 o SO i -CS = 0 i -CS = 1 d 1 i SI c CCLK - CCLK = x d 1 i LSSDA i M0 - M0 = x d 1 i LSSDB10 i M1 - M1 = x d 1 i LSSDC i M2 - M2 = x d 1 i -MTEST = 0 i -MTEST = 1 i -MTEST = 1 d 1 i -TESTMORE i CLOCK1 = x i CLOCK1 m 1 i -RI * * m 1 i -DI1 * * m 1 i -DI2 * * m 1 i -C_TEST * * m 1 i -CONFG * * m 1 i -REPT * * m 8 i SITOP(0-7) * * m 8 o SOBOT(0-7) * * m 8 i SIRIGHT(0-7) * * m 8 o SOLEFT(0-7) * * m 1 i SICONFIG * * m 1 o SOCONFIG * * m 1 i LSSDB1 * * m 1 i LSSDB2 * * m 1 i LSSDB3 * * bs 17 * IO c ADDR(0-16) * IO bs 8 * IO c DATA(0-7) * IO bs 1 * IO i -CHECK(-RR/RW) * IO bs 1 * IO o -CSOUT * IO bs 1 * IO o -ERR * IO bs 1 * CLOCK2 OR IO * CLOCK2 OR IO * CLOCK2 OR IO bs 1 * CLOCK3 OR IO * CLOCK3 OR IO * CLOCK3 OR IO bs 1 * CLOCK4 OR IO * CLOCK4 OR IO * CLOCK4 OR IO bs 1 * CLOCK5 OR IO * CLOCK5 OR IO * CLOCK5 OR IO bs 1 * CLOCK6 OR IO * CLOCK6 OR IO * CLOCK6 OR IO bs 1 * -RESET1 OR IO * -RESET1 OR IO * -RESET1 OR IO bs 1 * -RESET2 OR IO * -RESET2 OR IO * -RESET2 OR IO bs 1 * -RESET3 OR IO * -RESET3 OR IO * -RESET3 OR IO bs .. * ... * ... * ... bs 1 * IO * IO * IO
【0046】表1の右端の2つの列は、それぞれ機能ノ
ードと構成モードであり、関連のFPGAの構成相互接
続部と機能相互接続部の様々な入出力ポートの割振りを
示している。SWGATEはFPGAに対して電圧基準を提供
する。OFF/ONはFPGAに対してその増力電源電圧を選
択する。FPGAの構成とその状態の制御は、もう1つ
の専用入出力ポート「d」であるCONを介して提供され
る。追加の構成相互接続部は、構成選択CS、構成クロッ
クCCLK、所与のSRAMチェック動作モードを可能にす
るためのチェック制御CHECK、別のFPGAの構成を可
能にするための構成選択CSOUT、FPGAの構成エラー
を報告するためのエラーERRなどの信号を伝播する。こ
のような構成相互接続部と関連信号の詳細は、"Applica
tion NoteAT6000 Series Configuration"と題する上記
の文献に記載されている。
【0047】テスト・モード・イネーブル信号MTESTが
正しく活動化されると、表1に示すように所与の専用入
出力ポートがテスト相互接続部として再割振りされる。
構成選択CSに関連するポートは、スキャン出力SOとして
再割振りされる。構成クロックCCLKに関連するポート
は、FPGAのスキャン入力SIとして再割振りされる。
同様に、確認モード選択M0〜M2に関連するポートは、L
SSDクロック相互接続部LSSDA、LSSDB10、LSSDCにそ
れぞれ再割振りされる。最後に、クロック相互接続CLOC
Kに関連するポートは、追加テスト・イネーブル相互接
続TESTMOREに再割振りされる。したがって、専用入出力
ポート「d」の一部は、FPGAの構成とテストに関連
する各種相互接続部間で共用される2重使用ポートにな
る。
【0048】FPGAがそのテスト・モードになってお
り、MTESTによって選択されている場合、追加テスト・
イネーブル信号TESTMOREを活動化することによって、拡
張テスト・インタフェースが得られる。したがって、MT
ESTとTESTMOREの両方が活動化されると、FPGAの追
加テストを可能にするための拡張テスト・インタフェー
ス(表1の複数使用ポート「m」によって表されるも
の)が得られる。
【0049】レシーバ禁止信号RIに関連する相互接続部
は、FPGAの所与のレシーバを禁止するための直接制
御入力を提供する。DI1とDI2は、FPGAに関連する所
与のドライバの直接制御を提供する。MUXテスト制御
信号C_TESTに関連する相互接続部は、FPGAの所与の
パスゲート・マルチプレクサのテストを可能にするため
の直接入力を提供する。同様に、直接入力CONFGとREPT
は、構成スキャン・チェーン24とレピータ・ラッチ・
スキャン・チェーン30の動作をそれぞれ可能にする。
拡張インタフェースの残りのテスト・ポートは、様々な
レピータ・スキャン・チェーンと構成スキャン・チェー
ンへのデータのスキャン・インまたはそれらからのスキ
ャン・アウトと、構成スキャン・チェーンをクロックす
るための追加のLSSDクロックの提供に関連付けられ
ている。
【0050】レシーバ禁止信号RIは、活動化されると、
FPGAの機能入力に関連する相互接続部がそのデータ
を受け取るのを防止する。このような機能入力として
は、バウンダリ・スキャン入出力ポート「bs」と、機
能ポートとして割り振られたとき(すなわち、TESTMORE
が活動化されていないとき)の複数使用入出力ポート
「m」とを含む。第1のドライバ禁止信号DI1は、活動
化されると、機能出力ポートのドライバが関連の機能相
互接続部のデータを送り出すのを禁止する。このような
第1の組のドライバは、バウンダリ・スキャン入出力ポ
ート「bs」と、関連の機能相互接続部に割り振られた
(すなわち、TESTMOREが活動化されていないときの)複
数使用入出力ポート「m」のドライバを含む。これに対
して、第2のドライバ禁止信号DI2は、活動化される
と、専用入出力ポートと、拡張テスト相互接続部に割り
振られた(すなわち、TESTMOREが活動化されたときの)
複数使用入出力ポート「m」のドライバを禁止する。TE
STMOREが活動状態ではない場合、RI、DI1、DI2の最後の
状態が保持される。
【0051】入出力バウンダリ・スキャン・チェーンお
よび制御レジスタ:図1、図2、および図3を参照する
と、入出力バウンダリ・スキャン・チェーン26は、F
PGA10の機能入出力相互接続部36に選択的に相互
結合可能なLSSDシフト・レジスタ・ラッチのシリア
ル・ストリングを含む。外部テスト制御装置40は、入
出力バウンダリ・スキャン・チェーン26へのアクセス
とその動作を可能にするためのテスト・イネーブル信号
MTESTを活動化する。外部テスタ40は、スキャン・イ
ンSI相互接続部およびスキャン・アウトSO相互接続部を
介して入出力バウンダリ・スキャン・チェーンのインタ
フェースを取り、入出力バウンダリ・スキャン・チェー
ン26を動作させるために必要な関連相互接続部にLSSD
A、LSSDB10、LSSDCクロック信号を提供する。
【0052】図4を参照すると、入出力バウンダリ・ス
キャン・チェーン26の各セル56は2つのLSSDシ
フト・レジスタ・ラッチ72、88を含む。第1のLS
SDシフト・レジスタ72のマスタ・ラッチL1は、関
連スキャン・チェーンのシリアル・データを受け取るた
めのスキャン入力76と、マルチプレクサ68の出力か
らデータを受け取るために結合された1次入力70(負
論理)とを有する。第1のLSSDシフト・レジスタ7
2のスレーブ・ラッチL2からのシリアル出力78は、
第2のLSSDシフト・レジスタ88のマスタ・ラッチ
L1のシリアル入力(正論理)に結合されている。第2
のシフト・レジスタのマスタ・ラッチL1の1次入力
は、マルチプレクサ84の出力からデータを受け取るよ
うに結合されている。第2のLSSDシフト・レジスタ
88のスレーブ・ラッチL2は、シリアル・データをシ
フト・アウトするためのスキャン出力92を有する。
【0053】4つのマルチプレクサ60、64、68、
84は、FPGAのそれぞれの相互接続部にLSSDシ
フト・レジスタを選択的に結合することができる。マル
チプレクサ状態は制御信号PT0およびPR0によって制御さ
れ、これらの信号の一方または両方の極性は回路要件に
基づいてそこから経路指定することができる。制御信号
PT0はマルチプレクサ60および84の構成を制御し、
制御信号PR0はマルチプレクサ64および68の構成を
制御する。制御信号PT0が活動化されると、FPGA内
部からの相互接続部をマルチプレクサの出力62に結合
するためにマルチプレクサ60が使用可能になる。同様
に、FPGA内部の相互接続部からその(正)出力86
にトライステート・イネーブル信号を結合して、トライ
ステート・バッファ82とその(負)出力87をラッチ
88に対して選択的に使用可能にするために、マルチプ
レクサ84が使用可能になる。トライステート・バッフ
ァ82が使用可能になると、マルチプレクサ60の出力
62に提示されたデータが関連入出力ポート36'に向
かって伝播される。制御信号PT0の代替状態では、マル
チプレクサ60は線80を介して第1のLSSDレジス
タ・ラッチ72に格納されたデータを出力し、マルチプ
レクサ84は線94を介して第2のLSSDレジスタ・
ラッチ88に格納されたデータに応じてトライステート
・バッファ82を選択的に使用可能にする。したがっ
て、制御信号PT0は、FPGA内部から関連入出力ポー
ト36'へのデータ伝送を制御する。
【0054】制御信号PR0は、関連LSSDレジスタ・
ラッチ72がどのデータを受け取るかを判定するために
マルチプレクサ64および68を制御する。マルチプレ
クサ64は、FPGAの関連内部相互接続部にデータを
伝播するために、関連入出力ポート36'または第1の
LSSDレジスタ・ラッチ72の出力80をマルチプレ
クサの出力66に選択的に結合する。マルチプレクサ6
8は、マルチプレクサ60またはマルチプレクサ64か
らデータを受け取るために第1のLSSDレジスタ・ラ
ッチ72の1次入力70を結合するするかどうかを判定
する。このようにして、送信および受信制御信号PT0お
よびPR0は、関連LSSDシフト・レジスタ・ラッチが
FPGA内部から(MUX60および68を介して)デ
ータを受け取るか、関連入出力ポート36'から(MU
X64および68を介して)データを受け取るかをそれ
ぞれ制御する。ただし、図4は、既知のLSSDシフト
・レジスタ動作を提供するのに必要なA、B、Cの各L
SSDクロックを示していないことに留意されたい。図
5の概略図に示すように、図4のシフト・レジスタ・ラ
ッチにはこのようなそれぞれのLSSDクロックの結合
が仮定されている。
【0055】本発明の好ましい実施例では、入出力バウ
ンダリ・スキャン・チェーン26の関連セルのLSSD
シフト・レジスタ・ラッチ72、88のそれぞれがマス
タ・ラッチL1とスレーブ・ラッチL2とを含む。図5
を参照すると、マスタ・ラッチL1は、トライステート
・インバータ98および100を含む。ラッチ・トライ
ステート・インバータ98、100は、その関連LSS
D−Aクロックに応じて使用可能になると、トライステ
ート・インバータ102を介してシリアル入力76から
シリアル入力データを受け取る。あるいは、マスタ・ラ
ッチL1は、関連LSSD−Cクロックに応じて使用可
能になると、トライステート・インバータ96を介して
1次入力70から入力データを受け取る。
【0056】スレーブ・ラッチL2は、ラッチ・トライ
ステート・インバータ106とインバータ108とを含
む。マスタ・ラッチL1のデータは、その関連LSSD
−Bクロックに応じて使用可能になると、トライステー
ト・インバータ104を介してスレーブ・ラッチL2に
結合される。スレーブ・ラッチのデータはシリアル出力
78、80で提供される。同様のLSSD機能性を提供
する限り、入出力バウンダリ・スキャン・チェーン26
内で代替LSSDシフト・レジスタ・ラッチと信号経路
指定方式も使用可能であることに留意されたい。
【0057】図1、図2、図3、および図6(イ)を参
照すると、入出力バウンダリ・スキャン・チェーン26
は、テスト回路22の制御レジスタ28へのデータの提
供に関連する、その一部分を含む。図6(イ)のデフォ
ルト入出力バウンダリ・スキャン・チェーン構成では、
入出力バウンダリ・スキャン・チェーン26の8つのレ
ジスタがその入出力リング部分58と直列になってい
る。入出力バウンダリ・スキャン・チェーン26の最後
のビット48は、制御レジスタ28のレジスタCRL0
へのC_TEST制御データの提供に関連付けられている。入
出力バウンダリ・スキャン・チェーン26の次の部分5
8は、機能接続部36と関連入出力ポートへの入出力リ
ング・バウンダリ・スキャン・アクセスを提供する。最
後に、入出力バウンダリ・スキャン・チェーン26の残
りの部分42、44、46は、図6(ロ)に詳細が示さ
れている制御レジスタ28の残りの7つのレジスタCR
1、CRL2、・・・CRL7にロードすべき制御デー
タの7つの追加ビットの提供に関連付けられている。
【0058】図6(ロ)を参照すると、低減入出力バウ
ンダリ・スキャン・チェーン構成では、バウンダリ・ス
キャン・チェーン26から入出力リング部分58が省略
されている。したがって、制御レジスタ28のロードに
関連する8つのデータ・ビットは、入出力リング58の
複数のLSSDレジスタによりデータをクロックする必
要はなく、8つのクロック・サイクルで低減バウンダリ
・スキャン・チェーン26にシリアルにロードすること
ができる。
【0059】図6(ハ)に示すように、他の低減入出力
バウンダリ・スキャン構成では、バウンダリ・スキャン
・チェーン26が単一バイパス・レジスタ42を含み、
シリアル・データが入出力バウンダリ・スキャン・チェ
ーン26の残りの部分をバイパスする。直列に結合され
た関連入出力バウンダリ・スキャン・チェーンに2つの
FPGAをまとめて結合した場合、第1のFPGAの入
出力バウンダリ・スキャン・チェーン全体を通過する必
要はなく、第2のダウンストリームFPGAにシリアル
・データをロードできるように、第1のアップストリー
ムFPGA用としてこの単一バイパス・レジスタ構成を
選択することができる。
【0060】
【表2】FPGA制御レジスタの制御信号 制御レジスタ -BP 1ビット・スキャン・チェーン・バイパス制御 -CNTL 制御レジスタとバウンダリ・スキャンのステアリング -PR0, -PT0 バウンダリ・スキャン・ラッチ・アプリケーションとステアリング -RI FPGAレシーバ禁止制御 -DI1 FPGA機能ドライバ禁止制御 -DI2 FPGA専用ドライバ禁止制御 -C_TEST FPGAチップのMUXテスト可能性制御
【0061】テスト回路22の制御レジスタ28は様々
な制御信号を提供する。図6(ロ)と表2を参照する
と、制御レジスタ28は、図6(ハ)に示すように単一
ビット・バイパス・レジスタ42を含む低減バウンダリ
・スキャン・チェーン構成を可能にするためにバイパス
制御信号BPを提供するためのレジスタCRL7を含む。
もう1つのレジスタCRL6は、入出力リング58に関
連するLSSDレジスタを介してまたはそれをバイパス
して入出力バウンダリ・スキャン・チェーンのデータを
選択的にチャネリングするための制御信号CNTLを提供す
る。制御レジスタ28の他の2つのレジスタCRL5
CRL4は、図4に関連して前述したように、入出力バ
ウンダリ・スキャン・チェーン26のセルでマルチプレ
クサの構成を制御するためにレシーバおよび送信制御信
号PR0、PT0をそれぞれ提供する。他の3つのレジスタC
RL1、CRL2、CRL3は、表1に関連して前述した
ように、様々な入出力ポートのそれぞれのドライバおよ
びレシーバ機能を禁止するために関連のドライバおよび
レシーバ禁止制御信号DI2、DI1、RI1をそれぞれ提供す
る。制御レジスタ28の最後のレジスタCRL0は制御
信号C_TESTを提供するが、これはそのテスト中にFPG
Aのパスゲート・マルチプレクサ内の所与のプルダウン
・デバイスを選択的に活動化する。
【0062】図7ないし図8は、そこからデータを受け
取るために入出力バウンダリ・スキャン・チェーン26
の関連部分に結合された第3のレベルのラッチとしての
制御レジスタ28を示している。適切なデータが入出力
バウンダリ・スキャン・チェーン26の適切なレジスタ
42、44、46、48にロードされると、制御レジス
タ28にデータをクロックするためにMTESTが活動化さ
れる。ただし、データは制御レジスタ28の内容に影響
せずに入出力バウンダリ・スキャン・チェーン26を通
過することができ、MTESTがハイに移行するか、またはM
TESTとTESTMOREの両方がアクティブ・ローになると、制
御レジスタ28が更新されることに留意されたい。
【0063】マルチプレクサ56は、入出力バウンダリ
・スキャン・チェーン26の最後のシフト・レジスタ・
ラッチ48のシリアル入力を決定する。マルチプレクサ
56は、バウンダリ・スキャン制御信号CNTLの状態に応
じて、入出力リング部分58のシリアル入力か、または
入出力バウンダリ・スキャン・チェーン26の一部分4
6のシリアル出力のいずれかに、このシリアル入力を結
合する。マルチプレクサ54は、FPGA用のシリアル
出力SOを選択する。単一ビット・バイパス・レジスタ構
成の場合、マルチプレクサ54は、バイパス制御信号BP
の状態に応じて、入出力バウンダリ・スキャン・チェー
ン26の第1のレジスタ・ラッチ42のシリアル出力に
FPGAのシリアル出力SOを選択的に結合する。あるい
は、マルチプレクサ54は、シリアル出力データを提供
するために入出力バウンダリ・スキャン・チェーン26
の最後のレジスタ48のシリアル出力にFPGAのシリ
アル出力SOを結合する。
【0064】始めに電源オン時に、制御レジスタはすべ
て「1」に初期設定され、それによりFPGAはMTEST
=1によってその通常機能モードになる。制御レジスタ
に新しい値をロードすると、関連のLSSDAおよびLSSDBク
ロック対により、すべての制御データが入出力バウンダ
リ・スキャン・チェーン26にスキャン・インされる。
C_TEST用のデータは最初にスキャン・インされるビット
であり、バイパス制御信号BP用のデータは最後にスキャ
ン・インされるビットである。
【0065】図9は、その制御レジスタ28に関連する
部分が入出力リング部分58と直列になっている、入出
力バウンダリ・スキャン・チェーンの動作に関連するタ
イミング図を示す。この動作シーケンス中、拡張テスト
・インタフェース制御信号TESTMOREと、バイパス制御信
号BPと、バウンダリ・スキャン・ステアリング制御信号
CNTLはすべて非活動状態であると想定されている。した
がって、マルチプレクサ56(図7)は最後のレジスタ
48へのシリアル入力として入出力リング部分58のシ
リアル出力を選択し、マルチプレクサ54はFPGAの
シリアル出力SOとして入出力バウンダリ・スキャン・チ
ェーンの最後のレジスタ48のシリアル出力からのデー
タを選択する。このタイミング図は、3つの間隔20
0、202、204から構成されている。間隔200
中、データはLSSDAおよびLSSDBクロック対のシーケンス
によって入出力バウンダリ・スキャン・チェーンにシリ
アルにロードされる。入出力バウンダリ・スキャン・チ
ェーンへのシリアル・ロード後、入出力バウンダリ・ス
キャン・チェーン26の関連セルのデータに応じて、MT
ESTの後続パルス「N」が制御レジスタ28を更新す
る。
【0066】間隔202中、LSSDCクロック・パルス
は、関連の1次入力に提示された通りに入出力バウンダ
リ・スキャン・チェーン26にデータを捕捉するために
スナップ・ショットを提供する。図8に示すように、入
出力バウンダリ・スキャン・チェーンの制御レジスタ2
8に関連する部分は、そのそれぞれの1次入力に提示さ
れたデータに応じて更新される。たとえば、バイパス制
御信号BPに関連するセル42は、その1次入力がVDD
に結合され、したがって、LSSDCクロック・パルスに応
じて「1」に更新される。同様に、次の部分44の3つ
のセルは、差し迫ったバウンダリ・スキャン・チェーン
・シーケンスの準備としてバウンダリ・スキャン・ステ
アリング制御信号CNTLとマルチプレクサ制御信号PR0、P
T0を「1」に更新するために、そのそれぞれの1次入力
がVDDに結合されている。制御信号RI、DI1、DI2、C_
TESTを提供するための制御レジスタ26へのデータのロ
ードに関連する部分46、48の残りのセルは、その現
行値を保持するようにそれぞれの1次入力がそれぞれの
シフト・レジスタ出力に結合されている。LSSDCクロッ
ク・パルス後、MTESTのもう1つのパルス「N」は、そ
れぞれのL2ラッチを介して部分42、44、46、4
8のL1ラッチ値を制御レジスタ28に転送する。MTES
Tのパルス「N」中、L1ラッチ値は、入出力バウンダ
リ・スキャン・チェーンの制御レジスタに関連するセル
についてのみ、関連L2ラッチをフラッシュされる。入
出力バウンダリ・スキャン・チェーンの他のセルでは、
差し迫ったバウンダリ・スキャンの準備として関連L1
ラッチからそれぞれのL2ラッチへデータを転送するた
めに、後続のLSSDBクロック・パルスが必要である。
【0067】間隔204中、入出力バウンダリ・スキャ
ン・チェーンからデータをスキャン・アウトし、同時に
新しいデータをスキャン・インするために、LSSDAおよ
びLSSDBクロック対のシーケンスが提供される。その
後、MTESTのパルス「N」がもう一度新しい値で制御レ
ジスタを更新する。
【0068】入出力バウンダリ・スキャン・チェーンの
代替低減構成では、図10に示すように、制御レジスタ
のロードとFPGAのテストに別のシーケンスの信号を
使用している。間隔206中、入出力バウンダリ・スキ
ャン・チェーンのテスト動作を可能にするために、MTES
Tはローに保持される。入出力バウンダリ・スキャン・
チェーンで「1」という値をフラッシュするように、LS
SDAおよびLSSDBクロック信号は、入出力バウンダリ・ス
キャン・チェーンのシリアル入力に「1」を印加する
間、ともにハイに保持される。間隔208中。LSSDAク
ロックはハイに保持され、LSSDBクロックはシリアル入
力に「0」が印加される間、ローに保持される。したが
って、入出力バウンダリ・スキャン・チェーンの第1の
L1ラッチには「0」という値がロードされる。次に、
LSSDAクロックはローを返し、LSSDBクロックの「B1」
パルスは第1のL1ラッチの値「0」を第1のL2ラッ
チにシフトする。第2の対のLSSDAおよびLSSDBクロック
・パルスは、新しい「1」という値を第1のセルにスキ
ャン・インする間に、入出力バウンダリ・スキャン・チ
ェーンの第1のセルの値「0」をその第2のセルに転送
する。LSSDBクロックの第2の「B2」パルス後、入出
力バウンダリ・スキャン・チェーンの第1および第2の
セルには、1と0がそれぞれロードされる。
【0069】間隔210中、MTESTの「N1」パルス
は、入出力バウンダリ・スキャン・チェーンの関連セル
のデータに応じて制御レジスタを更新する。制御レジス
タのビット・バイパスBP部分とバウンダリ・スキャン・
ステアリング制御CNTL部分は、1と0でそれぞれ更新さ
れる。バウンダリ・スキャン・ステアリング制御信号CN
TLをローに保持した状態で、マルチプレクサ56(図7
を参照)は入出力バウンダリ・スキャン・チェーンの一
部分46のシリアル出力を入出力リング部分58をバイ
パスして一部分48のシリアル入力に印加する。後続の
バウンダリ・スキャン中、それに応じて制御レジスタを
更新するために、制御レジスタのロードに関連する入出
力バウンダリ・スキャン・チェーンのセルに新しいデー
タがスキャン・インされる。
【0070】前述のように、応用例によっては2つまた
はそれ以上のフィールド・プログラマブル・ゲート・ア
レイが使用され、第1のアップストリーム・フィールド
・プログラマブル・ゲート・アレイに関連する入出力バ
ウンダリ・スキャン・チェーンが第2のダウンストリー
ムFPGAの入出力バウンダリ・スキャン・チェーンに
シリアルに接続される。たとえば、テスト中に、第2の
FPGAの入出力バウンダリ・スキャン・チェーンをロ
ードし、第1のFPGAの入出力バウンダリ・スキャン
・チェーンをバイパスすることが必要になる場合もあ
る。したがって、第1のFPGAでは、単一ビット・バ
イパス・レジスタのみを含む代替低減入出力バウンダリ
・スキャン・チェーン構成を選択するために、単一ビッ
ト・バイパス制御信号BPが更新されている。図11は、
このバイパス構成の提供に関連する信号のシーケンスを
示すものである。間隔212中、入出力バウンダリ・ス
キャン・チェーンのセルは「1」でフラッシュされる。
間隔214中、LSSDAおよびLSSDBクロック・パルス対
は、第1のFPGAの入出力バウンダリ・スキャン・チ
ェーンの第1のセルに「0」という値をロードする。MT
ESTのパルス「N1」は第1のFPGAの制御レジスタ
を更新し、バイパス制御信号BPを「0」に設定する。
【0071】間隔216中、後続のバウンダリ・スキャ
ン動作BS1により、データは第1のFPGAの単一ビ
ット・バイパス・セルを通過して、第2のダウンストリ
ームFPGAに関連する入出力バウンダリ・スキャン・
チェーンに入る。同じバウンダリ・スキャン動作BS1
中、バイパス制御信号に関連する第1のFPGAの1つ
のバイパス・レジスタに新しいデータをロードすること
ができ、したがって、MTESTの後続N2パルスはバイパ
ス制御信号BPの状態を変更することができる。上記の例
では、それぞれのバウンダリ・スキャン・チェーンがシ
リアルに接続された第1および第2のFPGAについて
説明してきた。ただし、このようなFPGAが3つ以上
の場合にも同一原理が適用可能であることに留意された
い。
【0072】次の項では、FPGAの様々なテスト構成
と、それに関連する制御レジスタの信号用の値について
説明する。
【0073】
【表3】FPGA制御レジスタの状態表 (電源オンまたは構成MOD0後のデフォルト値は「BSまたはSN」である。) 状態 -BP CNTRL -PR0,-PT0 -RI,-DI1,-DI2 -C_TEST BSまたはSN 1 1 (1,1) (1,1,1) 1 CARD 1 1 (1,0) (1,1,1) x CHIP 1 1 (0,1) (x,0,1) 0 ISLT 1 1 (x,x) (0,0,0) 1 REG-ONLY 1 0 (1,1) (1,1,1) 1 BYPASS 0 x (1,1) (1,1,1) 1
【0074】制御レジスタによってもたらされるテスト
構成:制御レジスタの制御信号のすべて(すなわち、B
P、CNTL、PR0、PT0、RI、DI1、DI2、CTEST)が1の場
合、表3に示すように、制御レジスタは、バウンダリ・
スキャンBSまたはスナップ・ショットSN動作を可能
にするためのその通常状態またはデフォルト状態になっ
ている。バウンダリ・スキャン動作では、LSSDAおよびL
SSDBクロック対が入出力バウンダリ・スキャン・チェー
ンを通ってデータを伝播する。スナップ・ショット動作
では、LSSDCクロック・パルスが関連の1次入力で受け
取った通りに入出力バウンダリ・スキャン・チェーンに
データを捕捉する。入出力ポートに関連するレシーバま
たはドライバのいずれも禁止されないように、レシーバ
およびドライバ禁止制御信号RI、DI1、DI2はすべてハイ
になる。マルチプレクサ制御信号PT0、PR0(図4に関連
して前述したように入出力バウンダリ・スキャン・チェ
ーンに関連するセルのマルチプレクサを制御するため)
はハイになり、入出力バウンダリ・スキャン・チェーン
のそれぞれのシフト・レジスタ・ラッチを関連の入出力
データ経路から引き離しておく。
【0075】送信制御信号PT0がローに設定されると、
入出力バウンダリ・スキャン・チェーンはパラメトリッ
ク・カード・テストCARD用に構成される。マルチプレク
サ60(図4を参照)は、トライステート・バッファ8
2を介して入出力ポート36に向かって出力すべきデー
タとして、第1のLSSDレジスタ72のスレーブ・ラ
ッチL2のデータを選択する。マルチプレクサ84は、
第2のLSSDレジスタ88のスレーブ・ラッチL2の
データ内容に応じてトライステート・バッファ82を使
用可能にする。レシーバ制御信号PR0はハイのままにな
るので、したがって、LSSDCクロック・パルスは、マル
チプレクサ64および68を介して入出力ポート36'
から受け取った通りに第1のLSSDレジスタ72のマ
スタ・ラッチL1にCARDデータを捕捉する。第2のLS
SDレジスタ88のマスタ・ラッチL2は、前のバウン
ダリ・スキャン動作中にスキャン・インした通りに、そ
の関連スレーブ・ラッチL2によってそれに提示された
トライステート制御信号を捕捉する。
【0076】もう一度表3を参照すると、CHIPテスト
中、レシーバ制御信号PR0と第1のドライバ禁止制御信
号DI1はともにローに保持され、チップ内からのデータ
はその関連機能入出力ポートを励起できなくなる。レシ
ーバ制御信号PR0をローに保持した状態で、マルチプレ
クサ64(図4)は、第1のLSSDレジスタ72のス
レーブ・ラッチL2によって提供された通りに、データ
をFPGA(チップ)に転送する。PT0をハイに保持し
た状態で、LSSDCクロック・パルスは、マルチプレクサ
60および68を介してFPGA(チップ)内から受け
取った通りに第1のLSSDレジスタ72のマスタ・ラ
ッチL1にデータを捕捉する。第2のLSSDレジスタ
88のマスタ・ラッチL1は、マルチプレクサ84を介
してチップ内から提供された通りにトライステート制御
データを捕捉する。
【0077】チップ分離テストISLTでは、関連のレシー
バおよびドライバ禁止制御信号RI、DI1、DI2をアクティ
ブ・ローに保持することにより、入出力ポートのすべて
のレシーバとドライバが禁止される。この条件下では、
それぞれの入出力ポートが分離されたハイ・インピーダ
ンス状態用に設定される。したがって、それに関連する
シンク電流またはソース電流を検出することによって、
ポートの障害を判定することができる。
【0078】表3の残りの2つの状態は、レジスタ専用
状態REG-ONLYとバイパス状態BYPASSを含む。レジスタ専
用状態REG-ONLYは、前述のようにバウンダリ・スキャン
・ステアリング制御信号CNTLがローに設定されたときに
得られ、入出力バウンダリ・スキャン・チェーンは制御
レジスタのロードに関連する部分のみを含むその低減構
成用に設定される。バイパス状態BYPASSでは、前に説明
したように、入出力バウンダリ・スキャン・チェーンは
単一ビット・バイパス・レジスタのみを含むその追加低
減構成になっている。
【0079】テストに関連するFPGAの追加の特徴
図12を参照すると、FPGA10のプログラマブル資
源12は、56×56のアレイに配置された複数のプロ
グラマブル論理セルを含む。この論理セルのアレイはセ
クタ112に分割され、それぞれのセクタは8×8にグ
ループ化した論理セルを含む。この場合も、このような
論理セルの詳細については、"Programmable Logic Cel
l"という名称の米国特許出願の上記の部分に記載されて
いる。
【0080】図13は、プログラマブル論理セル116
1,1〜1168,8からなる単一セクタ112を示してい
る。たとえば、論理セル1161,6は、垂直相互接続導
体118aおよび118bと水平相互接続導体120a
および120bによって囲まれている。アレイ内の任意
の2つの論理セルと関連入出力ポートとの間の接続を行
うために、アレイの様々な行と列の間には、同様の水平
および垂直相互接続導体が位置決めされている。すべて
の相互接続導体が相俟ってプログラマブル・アレイのプ
ログラマブル相互接続ネットワーク全体が形成され、そ
のネットワークは"Programmable Array Interconnect N
etwork"という名称の米国特許出願の上記の部分により
実現することができる。以下に詳述するように、ネット
ワーク内でレピータまたはスイッチ回路136を使用す
ることができる。
【0081】それぞれの論理セル116のプログラマブ
ル・マルチプレクサ(図示せず)は、それぞれの論理セ
ルと論理セルを取り囲むバスの関連信号線との間の選択
結合を行う。これらのマルチプレクサは、パスゲート・
マルチプレクサとして実現され、フィールド・プログラ
マブル・ゲート・アレイ内の様々なマルチプレクサのテ
ストと障害分離を支援するために制御レジスタ28によ
って提供されるマルチプレクサ・テスト制御信号C_TEST
に応じて選択的に使用可能になる追加のプルダウン(ま
たはプルアップ)パスゲート・デバイス(図示せず)を
含む。このようなプルダウン(またはプルアップ)マル
チプレクサの特徴と関連のテスト手順の詳細について
は、"Modeling and Test Generation for MOS Transmis
sion GateStuck-Open Faults"(IEE PROCEEDINGS-G, Vo
l. 139, No. 1, pp. 17-22, (1992年2月))とい
うタイトルのM. Belkadi他による参考文献に記載されて
いるが、この参考文献は参照により本明細書に組み込ま
れる。
【0082】プログラマブル・ゲート・アレイ内の1行
分のコア・セルの一方の側に関連するバス120aを図
14に示す。レピータ136aなどのレピータまたはス
イッチ回路は、8つのコア・セルごとの、すなわち、各
セクタ境界ごとの、ローカル・バスL1および高速バス
E1に関連付けられている。レピータ・ラッチ150
(矢印で表す)は関連ローカル・バス内の各レピータ回
路に並列に設けられている。たとえば、レピータ・ラッ
チ1501は、ローカル・バスL1の一部分152と一
部分156との間に結合されたLSSDレジスタを含
む。同様のレピータ・ラッチ1502、1503、150
4は、レピータ回路136bおよび136c内のローカ
ル・バスL2、L3、L4にそれぞれ関連付けられて示
されている。
【0083】レピータ・スキャン・チェーン:図14お
よび図1を参照すると、複数のレピータ・ラッチ150
1、1502、・・・15024は、まとめてシリアル・ス
キャン・チェーン、たとえば、レピータ・スキャン・チ
ェーン301として構成されている。このレピータまた
は相互接続のスキャン・チェーンにより、それぞれのレ
ピータ・ラッチへのシリアルでのデータのスキャン・イ
ンとそれからのスキャン・アウトが可能になる。順次レ
ピータ・ラッチのそれぞれは、そのシリアル出力が関連
シリアル・スキャン・チェーン内の後続レピータ・ラッ
チのシリアル入力に接続されている。スキャン・チェー
ン(301)の第1のレピータ・ラッチ(1501)のシ
リアル入力は関連レピータ・スキャン・チェーンのスキ
ャン入力を提供し、スキャン・チェーン(301)の最
後のレピータ・ラッチ(5024)のシリアル出力は関連
レピータ・スキャン・チェーンのスキャン出力を提供す
る。レピータ・スキャン・チェーン30のシリアル入力
とシリアル出力は、関連の列および行のスキャン・チェ
ーンに応じて識別される。レピータ・スキャン・チェー
ンの7つの列へのシリアル入力は、相互接続部SITO
P(0〜7)によって提供される。列レピータ・スキャ
ン・チェーン用の関連シリアル出力は相互接続部SOB
OT(0〜7)によって提供される。行レピータ・スキ
ャン・チェーン用のシリアル入力と出力は同様に相互接
続部SIRIGHT(0〜7)とSOLEFT(0〜
7)によってそれぞれ提供される。レピータ・スキャン
・チェーン内のそれぞれのレピータ・ラッチは、それぞ
れのレピータ・スキャン・チェーンの同期および並列L
SSDスキャン動作を可能にするために、LSSDA、LSSD
B、LSSDCクロックを共用する。それぞれのレピータ・ス
キャン・チェーンのLSSDクロックは、MTESTがアク
ティブ・ローのときに関連の入出力相互接続部LSSDA、L
SSDB10、LSSDCを介して提供される。レピータ・スキャ
ン・チェーンの動作は、レピータ・スキャン・チェーン
制御REPTにより可能になる。レピータ・スキャン・チェ
ーンのこれらの相互接続部へのアクセスは、MTESTとTES
TMORE制御信号がともにアクティブ・ローのときに関連
の複数使用入出力ポート「m」で提供される。
【0084】各レピータ・ラッチは、その1次出力が関
連ローカル・バスのその一部分に選択的に結合できるよ
うにするために、その関連構成データに応じて個別にプ
ログラム可能である。各レピータ・ラッチ用の構成デー
タは、構成SRAMメモリ14の関連メモリ・セル内に
格納される。レピータ・スキャン・チェーンの詳細に
は、"Programmable Array Interconnect Latch"という
名称の米国特許出願の上記の部分に記載されている。
【0085】構成スキャン・チェーン:前述のように図
1を参照すると、構成論理回路16とデコーダ/シーケ
ンサ18により、FPGA10のプログラマブル資源を
構成するために構成データをSRAM14にロードする
ことができる。上記の参考文献"Application Note AT60
00 Series Configuration"と"Versatile and Efficient
Cell-to-Local Bus Interface in a Configurable Log
ic Array"という名称の米国特許第5298805号で
は、関連のSRAMメモリ14にアクセスするための構
成論理回路の既知の動作モードが開示されている。デコ
ーダ/シーケンサ18は、"Continuous Address Struct
ure With Folding"という名称の米国特許出願の上記の
部分に記載されているように、FPGAの様々なプログ
ラマブル資源12に対しメモリ14を効率よく割り振る
ことができる。LSSDレジスタ・ラッチは、構成論理
回路の様々な領域の境界を示しセグメント化するシリア
ル・スキャン・チェーンとして配置されている。この構
成スキャン・チェーン24により、構成論理回路のシリ
アル・スキャン・アクセスと機能検証が可能になる。
【0086】構成スキャン・チェーン24のLSSDシ
フト・レジスタは、E. B. Eichelberger他による"A Log
ic Design Structure For LSI Testability"(14th Des
ignAutomation Conference Proceedings, 1977年6
月20日、21日、22日、New, Orleans, LA, IEEE C
at. No. 77, CH 1216-1C, pp. 462-468)、R. W. Basse
tt他による"Boundary-Scan Design Principles For Eff
icient LSSD ASIC Testing"(IBM Journal of Research
and Development, Vol. 34, No. 2/3, 1990年3月
/5月、pp. 339-354)、Eichelbergerに対して交付さ
れた"Level Sensitive Logic System"という名称の米国
特許第3783254号という参考文献に示されている
原理に応じて実現され動作する。
【0087】表1を参照すると、構成スキャン・チェー
ン24へのアクセスは、構成スキャン入力SICONFIGおよ
び構成スキャン出力SOCONFIGを介して提供される。これ
らのスキャン・ポートにより、構成スキャン・チェーン
との間のLSSDアクセスが可能になる。構成スキャン
・チェーンの動作は、その関連構成制御信号CONFGに応
じて選択的に可能になる。構成スキャン・チェーンの動
作に関連するクロック信号としては、LSSDA、LSSDCと、
LSSDB10、LSSDB1、LSSDB2、LSSDB3などがある。これら
の関連クロック相互接続部は、MTESTとTESTMOREがとも
にアクティブのときに専用「d」および複数使用「m」
入力ポートで使用可能になる。
【0088】既知のFPGAの場合、その動作は、通
常、所望のユーザ定義の回路を実現するためにFPGA
を構成するための関連構成論理回路によりSRAM14
に構成データをロードすることを伴う。その結果得られ
る回路が正しく機能しない場合、FPGAのどこで問題
が発生しているかは明らかではなかった。適正な回路構
成および動作は、それぞれのFPGAサブシステムに依
存する。SRAM14に構成データを適切にロードする
ためには、構成論理回路が適正に動作していなければな
らない。SRAM14は、構成データを格納し、関連構
成データに応じてFPGAのプログラマブル資源を励起
できるものでなければならない。最後に、プログラマブ
ル資源と相互接続部は、ユーザ定義回路内にその所望の
機能性を実現するためにプログラム可能かつ動作可能で
なければならない。したがって、FPGAの様々なサブ
システムの相互依存度が高くなる。本発明によれば、F
PGA内の様々なサブシステムの相互依存度を考慮に入
れて、FPGAの各サブシステムの適正な機能性を系統
的に判定するために、一連のテストが適当な分割征服方
式で実現される。
【0089】この説明の次の部分では、上記で特徴づけ
られた様々なサブシステムによりFPGAをテストする
ためのテスト方法について説明する。
【0090】テスト方法:FPGAのテストを実行する
場合、外部テスタはFPGAのすべてのピンまたはその
縮小セットにアクセスすることができる。図15は、外
部テスタがFPGAのすべてのピンにアクセスする場合
のタイミング図を示している。MTESTがローの場合、F
PGAはそのテスト・モードになっており、LSSDA、LSS
DC、LSSDBクロック・シーケンスはFPGA内のそれぞ
れのスキャン・チェーンのLSSD動作を提供する。間
隔T中にTESTMOREがローになっている間、複数使用入出
力ポート(表1を参照)に関連する入出力バウンダリ・
スキャン・チェーンのその部分のデータは関連の入出力
相互接続部に印加されない。ただし、機能入出力ポート
「bs」に関連する入出力バウンダリ・スキャン・チェ
ーンの残りの部分のデータは、受信および送信マルチプ
レクサ制御信号PR0およびPT0の状態に応じて、それぞれ
の入出力相互接続部に印加される。さらに、TESTMOREが
ローの場合、レシーバおよびドライバ禁止制御信号RI、
DI1、DI2と、チップ・マルチプレクサ・テスト制御信号
C_TESTを受け取るために直接入力が使用可能になる。間
隔T後、MTESTはハイに戻り、直接入力制御信号に関連
する制御レジスタ28のラッチは、間隔T中に直接印加
された制御信号用の値を提供する。
【0091】FPGAの代替テスト動作では、外部テス
タはテスト中にFPGAの専用「d」および複数使用
「m」入出力ポートにのみアクセスする。図16を参照
すると、外部テスタは、PR0、PT0、RI、DI1、DI2、C_TE
ST用の所望の値をそこにロードするために間隔218中
に入出力バウンダリ・スキャン・チェーンのLSSD動
作を行う。次に、これらの値はMTESTのパルス「N」に
よって制御レジスタ28にラッチされ、表3に関連して
前述したようにFPGA用の所望のテスト状態(すなわ
ち、スキャン、チップ、カード、または分離テスト)を
確立する。
【0092】間隔220中、外部テスタに拡張テスト・
インタフェース、すなわち、複数使用ポート「m」を提
供し、FPGAの追加テストを可能にするために、TEST
MOREはローに保持される。外部テスタは、(後述するよ
うに)間隔220中にFPGAをテストするために所与
のLSSDテスト動作を実行し、レシーバおよびドライ
バ禁止制御信号に必要な値を直接提供する。TESTMOREが
ローの場合にレシーバおよびドライバ禁止制御信号に提
供された値は、その後のFPGAのバウンダリ・スキャ
ン更新または構成によって変更されない限り、TESTMORE
がハイに戻った後もそのまま有効になる。間隔222
は、図9に関連して前述した間隔202に対応する。
【0093】テスト中に外部テスタによってFPGAの
ピンのすべてまたは縮小セットのいずれがアクセスされ
るかにかかわらず、図15および図16の間隔T中に1
組の各種LSSDテスト動作を提供することができる。
図17を参照すると、TESTMOREがアクティブ・ローのと
きに、様々なレピータ・スキャン・チェーン30の動作
を可能にするためにREPTをアサートすることができる。
間隔224中、LSSDAおよびLSSDBクロック・シーケンス
は、それぞれのスキャン入力、すなわち、SITOP
(0〜7)およびSIRIGHT(0〜7)を介してレ
ピータ・スキャン・チェーンにデータをスキャン・イン
する。次に、レピータ・スキャン・チェーンの各LSS
Dレジスタの内容は、SRAM14に格納されたそれぞ
れのレピータ・ラッチ構成データに応じて、対応するロ
ーカル・バス・セグメントに印加される。
【0094】間隔226中、LSSDCクロック・パルス
は、それぞれのシフト・レジスタの1次入力に提示され
た通りに様々なバス・セグメントのデータをレピータ・
スキャン・チェーンに捕捉する。後続のLSSDBクロック
・パルスは、差し迫ったスキャン・アウトの準備とし
て、捕捉したデータをLSSDレジスタのマスタ・ラッ
チからそれぞれのスレーブ・ラッチにシフト・インす
る。間隔228中、LSSDAおよびLSSDBクロック・パルス
からなるシーケンスは、関連のスキャン出力SOBOT
(0〜7)およびSOLEFT(0〜7)を介して様々
なレピータ・スキャン・チェーンからデータをスキャン
・アウトする。
【0095】プログラマブル相互接続ネットワークのバ
ス構成をテストするためにこのようなレピータ・スキャ
ン・チェーン動作を使用する。既知のデータが様々なレ
ピータ・スキャン・チェーンにスキャン・インされ、バ
ス相互接続部の関連セグメントに印加される。バス相互
接続部は、同一または異なるレピータ・スキャン・チェ
ーンのそれぞれのLSSDシフト・レジスタ・ラッチの
1次出力と1次入力との間でデータを伝播するために事
前に構成されている。次に、データは、受信側LSSD
シフト・レジスタ・ラッチによって捕捉され、回復さ
れ、バス相互接続部のそれぞれのセグメントがデータを
伝播するために適切に機能しているかどうかを判定する
ために印加したデータと比較される。
【0096】代替応用例では、FPGAの所与のプログ
ラム済み論理回路のテスト中にレピータ・スキャン・チ
ェーンが使用される。このような応用例では、図17の
間隔224と226の間に追加のシステム・クロック動
作(図示せず)を設けることもできる。既知のデータ
は、所与のレピータ・スキャン・チェーンにスキャン・
インされ、所与のプログラム済み論理回路に印加され
る。次に、所与のデータをそこで処理するために、任意
のシステム・クロック動作を設けることもできる。所与
のプログラム論理回路による適切な処理の後、後続のLS
SDCクロック・パルスが所与のプログラム済み論理回路
によって提供されたデータを受信側レピータ・スキャン
・チェーンに捕捉する。その後、この捕捉結果データは
スキャン・アウトされ、回復され、所与のプログラム済
み論理回路の適正な機能性を判定するために分析され
る。
【0097】図15および図16のタイミング図の間隔
T中に実行可能なもう1つのLSSD手順は、構成論理
回路16、18をテストするための構成スキャン・チェ
ーン24(図1)の動作を含む。図18のタイミング図
の間隔230では、構成スキャン・チェーンの動作を可
能にするために構成制御信号CONFGがローに保持され
る。そのシリアル入力SICONFIGに応じてデータを構成ス
キャン・チェーンにスキャン・インするために、LSSDA
およびLSSDBクロック・パルスからなるシーケンスが用
意されている。このようにして、移行条件をシミュレー
トするためにそれに印加された既知のテスト・ベクトル
によって、構成論理回路の状態マシンが所定の状態に設
定される。理論上では、既知のテスト・ベクトルに応じ
て状態マシンが所定の状態から後続の状態に移る必要が
ある。間隔232中、LSSDCクロック・パルスの次に、
関連状態マシンのデータを適切に捕捉するために時間オ
フセットが変化する一連の後続LSSDBクロック・パルス
が続く。複数のBクロックは、構成論理回路の様々なド
メインに関連付けられ、構成論理回路のタイミング要件
と適合するように時間的にオフセットされている。した
がって、構成スキャン・チェーンのLSSD設計は、"A
Logic Design Structure For LSI Testability"、"Bou
ndary-Scan Design Principles For Efficient LSSD AS
IC Testing"、米国特許第3783254号という上記
の参考文献に開示されたLSSD方法の要件に合致す
る。間隔234では、構成論理回路の結果データを回復
するために、LSSDAおよびLSSDBクロック・パルスからな
るシーケンスが構成論理スキャン・チェーンからデータ
をスキャン・アウトする。次に、印加したテスト・ベク
トルに応じて構成論理回路が適当な状態に合わせて適切
に順序付けられているかどうかを判定するために、結果
データが検査される。
【0098】本発明が使用する追加のテスト方法は、S
RAM14のテストを可能にするための構成論理回路の
既知の動作モードであるモード7を含む。表1を参照す
ると、MTESTはハイに保持され、FPGAを構成モード
にするために構成選択信号CSはローに保持される。F
PGAが構成モードになっている場合、構成論理回路は
3つのモード選択入力M0、M1、M2を介してモード
7状態に入る。モード7を選択すると、外部テスタは、
関連のアドレスおよびデータ・ポート、すなわち、AD
DR(0〜16)およびDATA(0〜7)を介してS
RAM14への読取り/書込みアクセスが許可される。
SRAM14をテストするため、まずSRAMの所与の
位置に既知のデータが格納される。その後、この所与の
位置からデータが読み取られ、SRAMが正しく動作し
ているかどうかを判定するためにそこに事前にロードさ
れた既知のデータと比較される。モード7とそれに関連
する動作については、"Application Note AT6000 Serie
s Configuration"というタイトルの参考文献とGaverick
他に交付された"Versatile and Efficient Cell-to-Loc
al Bus Interface in a Configurable Logic Array"と
いう名称の米国特許第5298805号の上記の部分に
詳しく記載されている。
【0099】本発明内で使用する様々なテスト方法につ
いて示してきたので、この開示の次の項では、プログラ
マブル・ゲート・アレイをテストするために上記のテス
ト方法を使用するテスト・シーケンスについて説明す
る。
【0100】テスト・シーケンス:前述のように、FP
GAの様々なサブシステムは互いに相互依存度が高い。
本発明は、このようなサブシステムの相関依存度を考慮
に入れて、FPGAの様々なサブシステムをテストする
ための一連のテスト方法を提供する。電源オン時に本発
明によるFPGAの内部SRAM14(図1を参照)
は、そのすべての位置が既知の既存状態に設定されて初
期設定される。外部テスタは、MTESTをローに保持する
ことにより、FPGAをテストに使用可能にする。次
に、外部テスタは、関連相互接続部であるスキャン・イ
ンSIと、スキャン・アウトSOと、それぞれクロック
相互接続部LSSDA、LSSDB10、LSSDCに応じた適切なLS
SDクロックとを介してスキャン・チェーンによってデ
ータを伝播することにより、入出力バウンダリ・スキャ
ン・チェーン26のシリアル・スキャンの機能性をテス
トする。入出力バウンダリ・スキャン・チェーンにスキ
ャン・インされたシリアル・データは、その後、スキャ
ン・アウトされ、回復される。次に、回復されたデータ
は、入出力バウンダリ・スキャン・チェーンの適正なス
キャン機能性を判定するために、スキャン・インされた
データと比較される。
【0101】次に、FPGAの入出力ポートは、そのデ
フォルト構成に応じてテストされる。入出力ポートは、
SRAM14の関連位置に格納された構成データに応じ
てプログラム可能である。電源オン時にSRAM14
は、既知のリセット状態に初期設定される。したがっ
て、FPGAの入出力ポートはそのデフォルト構成にな
っている。前述のように、入出力バウンダリ・スキャン
・チェーン26のセルに関連するマルチプレクサは、制
御レジスタ28によって提供される送信およびレシーバ
制御信号PT0およびPR0によってそれぞれ制御される。電
源オン時にそれぞれの制御信号は既知のデフォルト状態
に設定される。同様に、やはり制御レジスタ26によっ
て提供されるレシーバおよびドライバ禁止制御信号(R
I、DI1、DI2)は、入出力ポートのデフォルト構成をテ
ストするのに必要なデフォルトの電源オン値を提供す
る。複数使用入出力ポート「m」は、拡張テスト・イン
タフェース制御信号TESTMOREをハイに保持することによ
り、その機能的設定に維持される。したがって、表1に
リストしたバウンダリ・スキャン「bs」および複数使
用ポート「m」を含む機能入出力ポートの機能性をその
デフォルト構成に応じてテストするために、入出力バウ
ンダリ・スキャン・チェーンが使用される。
【0102】それぞれのデフォルト構成に応じてFPG
Aの入出力バウンダリ・スキャン・チェーンと機能入出
力ポートの機能性を判定すると、本発明のテスト・シー
ケンスは、関連の構成スキャン・チェーン24による構
成論理回路16、18のテストに移行することが好まし
い。テスト・イネーブル制御信号MTESTはローに保持さ
れ、拡張テスト・インタフェースである複数使用入出力
ポート「m」を使用可能にするために拡張テスト・イン
タフェース制御信号TESTMOREもローに保持される。した
がって、構成スキャン入力SICONFIG、構成スキャン出力
SOCONFIG、ならびに関連LSSDクロック線LSSDA、LSS
DB10、LSSDC、LSSDB1、LSSDB2、LSSDB3により、構成ス
キャン・チェーンへのアクセスが可能になる。構成スキ
ャン・チェーンのLSSD動作は、構成イネーブルCONF
Gをローに保持することにより、可能になる。図18に
関連して前述したように、関連の状態マシンの状態シー
ケンスをテストするために、所定のテスト・ベクトルが
構成スキャン・チェーンにスキャン・インされ、構成論
理回路に印加される。構成論理回路によってもたらされ
る結果データは、構成スキャン・チェーンを介して捕捉
され、構成論理回路の適正な機能性を判定するために予
想結果データと比較される。
【0103】構成論理回路の機能性を判定すると、次の
ステップは、SRAM14をテストし、FPGAの様々
なプログラマブル資源を構成するためにそこの構成デー
タをロードして格納できる能力を検証することを含む。
このテストを開始するため、テスト・イネーブル制御信
号MTESTはハイに保持され、FPGAの構成動作モード
を選択するために構成選択CSはローに保持される。次
に、前述のようにモード7動作を可能にするために、適
切なデータがモード選択入力M0、M1、M2に印加さ
れる。SRAMのモード7テスト中、そこに構成データ
を受け取って保持するためのSRAMの能力を検証する
ために、様々な所定のテスト・ベクトルがSRAMの様
々な位置に書き込まれ、そこから読み取られる。この時
点で、FPGAの構成論理回路とメモリ・サブシステム
の機能テストは完了し、FPGAの機能サブシステムを
構成するために構成データをSRAMのロードする能力
の検証が完了している。
【0104】従来のテストでは、構成論理回路とSRA
Mの機能性を判定する前に、それぞれのデフォルト構成
に応じて入出力ポートのテストが行われていた。この場
合、次のステップでは入出力ポートに戻り、それぞれの
各種プログラマブル構成に応じて入出力ポートをさらに
テストする。SRAM14には、テストすべき特定のプ
ログラマブル構成の入出力ポートをプログラミングする
のに必要な構成データがロードされる。このようなテス
ト中、入出力ポートの所望のバウンダリ・スキャン・パ
ラメトリック・テストを可能にするために、レシーバお
よびドライバ禁止制御信号RI、DI1、DI2と、マルチプレ
クサ受信および送信制御信号PR0、PT0が設定される。
【0105】プログラマブル入出力ポートの構成例とし
ては、高い方の電源電圧へのプロアップ・デバイスまた
はアースへのプルダウンデバイスを使って構成される
か、あるいは所与の出力インピーダンスが得られるよう
に構成された入出力ポートを含む。適切なデータを入出
力ポートに送信してこのようなプログラム済み構成をテ
ストするか、あるいは構成したデータをそこからラッチ
して回復するために、入出力バウンダリ・スキャン・チ
ェーンが使用される。LSSDCクロック・パルスに応じて
データをラッチすると、入出力バウンダリ・スキャン・
チェーンは、送信および受信制御信号PT0およびPR0の状
態と、制御レジスタによってもたらされるレシーバおよ
びドライバ禁止制御信号RI、DI1、DI2の状態とに応じ
て、FPGAの内部データまたは入出力ポートのデータ
を捕捉する。
【0106】テスト・シーケンスの次のステップでは、
レピータ・スキャン・チェーン30のシリアル・スキャ
ン機能性を検査する。複数使用入出力ポート「m」に関
連する拡張テスト・インタフェースを可能にするため
に、テスト・イネーブル信号MTESTと拡張テスト・イン
タフェース・イネーブル信号TESTMOREがローに保持され
る。それぞれのレピータ・スキャン・チェーンの動作を
可能にするために、レピータ・イネーブルREPTがローに
保持される。シリアル・データは、それぞれのシリアル
入力SITOP(0〜7)とSIRIGHT(0〜7)
により、レピータ・スキャン・チェーンにスキャン・イ
ンされる。それぞれのレピータ・スキャン・チェーンに
よりシリアル・データをシフトするために、適切なLSSD
AおよびLSSDBクロック・パルスが提供される。スキャン
・アウトされたデータは回復され、レピータ・スキャン
・チェーンのスキャン・シフト機能性を判定するために
スキャン・インされたデータと比較される。レピータ・
スキャン・チェーンのシリアル・データ経路が検証され
た場合、次にFPGAのプログラマブル相互接続部のテ
スト中にレピータ・スキャン・チェーンが使用される。
【0107】プログラマブル相互接続部をテストする場
合、FPGAの入出力ポートと、入出力バウンダリ・ス
キャン・チェーン26のセルと、レピータ・スキャン・
チェーン30のシフト・レジスタ・ラッチとの間の所与
のプログラマブル相互接続部を構成するために、まず構
成データがSRAM14(図1)にロードされる。より
具体的には、機能入出力ポートとレピータ・スキャン・
チェーンのシフト・レジスタ・ラッチとの間、入出力バ
ウンダリ・スキャン・セルとレピータ・レジスタ・スキ
ャン・チェーンのシフト・レジスタ・ラッチとの間、ま
たは第1の送信レピータ・スキャン・チェーンのシフト
・レジスタ・ラッチと第2の受信レピータ・スキャン・
チェーンの後続シフト・レジスタ・ラッチとの間で、プ
ログラマブル相互接続部が構成される。その後、関連の
入出力ポート、入出力バウンダリ・スキャン・セル、ま
たは第1の送信レピータ・スキャン・チェーン、あるい
はそのすべてにより、それぞれの構成済み相互接続部の
入力側にテスト・データが印加される。このテスト・デ
ータは、関連の入出力ポート、入出力バウンダリ・スキ
ャン・セル、または送信レピータ・スキャン・チェー
ン、あるいはそのすべての適切な構成に応じて印加され
る。その後、それぞれの構成済み相互接続部の出力側の
結果データは、関連の受信レピータ・スキャン・チェー
ンのシフト・レジスタ・ラッチにラッチされる。次に、
このラッチされたデータがスキャン・アウトされ、回復
され、構成済み相互接続部の適切な機能性を判定するた
めに相互接続部の入力側に印加されたテスト・データと
比較される。このように相互接続部を構成し、テスト・
ベクトルを印加し、回復し、結果データと比較するとい
うシーケンスは、FPGAのプログラマブル相互接続部
の様々な構成の適正な機能性を判定するために、複数回
続行される。
【0108】代替手順では、テスト・データが構成済み
相互接続部を通過する方向が反対になる。すなわち、送
信レピータ・スキャン・チェーンと、関連の受信側入出
力ポート、入出力バウンダリ・スキャン・セル、第1の
レピータ・スキャン・チェーンとの間を通過する。複数
の関連レピータ・スキャン・チェーン・ストリングを同
時かつ並列に動作させることにより、複数の構成済み相
互接続部を並列にテストすることが好ましい。
【0109】次に、相互接続部のテストに使用したのと
同様のステップを使用して、FPGA10の論理セル1
16がテストされる。SRAM14には、論理セルを所
望の論理構成にプログラミングするための構成データが
ロードされる。FPGAのプログラマブル相互接続部
は、入力と出力のレピータ・スキャン・チェーン間で論
理セルのインタフェースを取るために同様に構成され
る。代替構成では、プログラマブル相互接続部のテスト
に関連して前述したものと同様に、関連の論理セル11
6との間でデータを印加/受信するために入力または出
力レピータ・スキャン・チェーンの代わりに入出力ポー
トまたは入出力バウンダリ・スキャン・チェーンが使用
される。図19を参照すると、論理セル116は関連レ
ピータ・スキャン・チェーン30のシフト・レジスタ・
ラッチ150間に結合された状態で示されている。
【0110】論理セル116と関連の相互接続部を適切
に構成すると、関連のレピータ・スキャン・チェーン3
0にシリアルに所定のテスト・ベクトルがスキャン・イ
ンされる。それぞれの相互接続部を介して関連のプログ
ラム済み論理セル116にそのデータを印加するため
に、それぞれの構成データに応じてレピータ・スキャン
・チェーンのシフト・レジスタ・ラッチが構成される。
プログラム済み論理セル116による適切な処理後、論
理セル116によってもたらされた結果データを関連レ
ピータ・スキャン・チェーンの受信シフト・レジスタ・
ラッチにラッチするために、LSSDCクロック・パルスが
レピータ・スキャン・チェーンに印加される。結果デー
タのラッチ後、結果データはレピータ・スキャン・チェ
ーンからスキャン・アウトされ、所望の論理構成用にプ
ログラミングされた論理セル116の適正な機能性を判
定するために所定の予想値と比較される。代替構成で
は、FPGAの関連入出力ポートから直接または入出力
バウンダリ・スキャン・チェーンの関連セルを介して、
結果データを読み取ることができる。同時に動作させた
それぞれの複数の並列レピータ・スキャン・チェーンを
介して複数の論理セルを並列にテストすることが好まし
い。
【0111】論理セル116の1つの構成をプログラミ
ングしテストすると、その様々な構成のテストが完了す
るまで、論理セルの代替構成についてテスト手順が繰り
返し実行される。このようにして、プログラマブル相互
接続(パスゲート)マルチプレクサ、プログラマブル論
理ゲート、プログラマブル・プルダウンおよびプルアッ
プなど、論理セルの各プログラマブル要素がテストされ
る。論理セル116のパスゲート・マルチプレクサをテ
ストする場合、"Modeling and Test Generation MOS Tr
ansmission Gate Stuck-Open Faults"というタイトルの
参考文献の上記の部分に従ってその障害の検出が可能に
なるようにマルチプレクサの内部プルダウンを構成する
ために追加のチップ・マルチプレクサ・テスト制御信号
C_TESTがローに設定される。
【0112】論理セル116の同期論理要素、たとえ
ば、図19に関してはDフリップフロップ143をテス
トする場合、論理セル116は、データがフリップフロ
ップを通過するように構成される。論理セルは、クロッ
ク線144からシステム・クロック信号を受け取るよう
にさらに構成される。論理セルのテストに関連して前述
したものと同様に、既知のテスト・データが入力レピー
タ・スキャン・チェーン30にスキャン・インされ、そ
のスキャン・チェーンは既知のデータを構成済み論理セ
ル116に印加するように構成される。次に、様々な論
理セル116のフリップフロップ143にデータをラッ
チするために、システム・クロック信号が提供される。
次に、フリップフロップ143によって提供された結果
データは、LSSDCクロック・パルスにより受信レピータ
・スキャン・チェーンの関連シフト・レジスタ・ラッチ
に捕捉される。次に、ラッチされたデータがスキャン・
アウトされ、回復され、フリップフロップ143の適正
な機能性を判定するために印加されたテスト・データと
比較される。ただし、フリップフロップの機能性をテス
トするための上記の手順でもクロック線144の動作を
検証することに留意されたい。
【0113】フィールド・プログラマブル・ゲート・ア
レイの中には、複数のプログラマブル・クロック分配線
を含むものがあり、その分配線によりフリップフロップ
143はクロック信号を代替受信することができる。こ
のようなFPGAでは、FPGAの各クロック分配構成
をテストするために、各テスト手順ごとにクロック分配
ネットワークの構成を変えて、上記のフリップフロップ
・テスト手順が複数回繰り返される。
【0114】FPGAのフリップフロップと関連のリセ
ット分配資源のリセット機能性をテストするために、同
様の手順が使用される。このようなテストを実行する場
合、まず、コア・セルのフリップフロップが既知の設定
状態に初期設定され、その状態になると所与の構成済み
リセット・ネットワークによりリセット・パルスがそこ
に伝播される。次に、フリップフロップの結果データ内
容は、適切に構成された受信レピータ・スキャン・チェ
ーンのシフト・レジスタ・ラッチにラッチされる。次
に、結果データはレピータ・スキャン・チェーンからス
キャン・アウトされ、回復され、適正なリセット機能性
を判定するために分析される。
【0115】本発明の他の態様では、FPGA10は、
所望のユーザ定義論理回路を実現するようにプログラミ
ングされ、その論理回路では複数の論理セル116を使
用することができる。入出力バウンダリ・スキャン・チ
ェーンのセルまたはレピータ・スキャン・チェーンのシ
フト・レジスタ・ラッチあるいはその両方は、ユーザ定
義の論理回路へのLSSDアクセスを可能にし、構成済
み論理回路へのデータの印加とそこからのデータの受信
を可能にするように構成される。所定のテスト・ベクト
ルは適切に構成された入力スキャン・チェーンにスキャ
ン・インされ、構成済み論理回路に印加される。関連の
システム・クロック動作の適用を含む場合もあるが、構
成済み論理回路が印加されたテスト・ベクトルを処理で
きるようになると、論理回路がもたらした結果データを
適切に構成した受信スキャン・チェーン(複数も可)の
シフト・レジスタ・ラッチにラッチするために、LSSDC
ラッチ・クロック・パルスが提供される。次に、この結
果データはスキャン・アウトされ、回復され、ユーザ定
義の論理回路の適正な機能性を判定するために所定の予
想結果データと比較される。
【0116】したがって、FPGAの様々なサブシステ
ムのテストを可能にするために様々なテスト方法を開示
した。さらに、FPGAの様々なサブシステム間の相互
依存度を考慮に入れた方法でFPGAの様々なサブシス
テムをテストするための包括的なテスト・シーケンスも
開示した。
【0117】特に本発明の好ましい実施例に関連して本
発明を示し説明してきたが、当業者であれば、本発明の
精神および範囲を逸脱せずに形態および細部について上
記以外にも様々な変更が可能であることを理解するだろ
う。
【0118】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0119】(1)複数の入出力ポートと、前記複数の
入出力ポートのうちの関連入出力ポートに結合された入
出力機能信号線と、関連の論理構成データに応じて特定
の論理回路を提供する複数のプログラマブル・オペレー
ティング・ユニットと、関連の経路指定構成データに応
じて入出力機能信号線と複数のプログラマブル・オペレ
ーティング・ユニットのプログラマブル論理ユニットと
を相互接続する複数のプログラマブル相互接続部と、そ
れぞれの複数のプログラマブル論理ユニットおよび複数
のプログラマブル相互接続部に関連する複数のメモリ・
セルであって、複数のメモリ・セルのうちの指定のメモ
リ・セルが関連の論理構成データと経路指定構成データ
を保持する複数のメモリ・セルと、メモリ要求信号を受
け取る入力を有する構成論理回路であって、メモリ要求
信号に応じて複数のメモリ・セルのうちのいくつかのメ
モリ・セルへのアクセスを可能にする構成論理回路とを
有する、改良されたテスト可能フィールド・プログラマ
ブル・ゲート・アレイ(FPGA)において、当該FP
GAが、入出力機能信号線を横切るバウンダリ・スキャ
ン・チェーンとして配置された第1のLSSDスキャン
・レジスタであって、入出力機能信号線および関連の入
出力ポートへのシリアル・スキャン・アクセスとそれら
の機能検証を可能にするために前記第1のLSSDスキ
ャン・レジスタが関連の入出力機能信号線への選択的結
合を行う第1のLSSDスキャン・レジスタと、構成論
理回路の所与のセグメントの周りのスキャン・チェーン
として配置され、構成論理回路へのシリアル・スキャン
・アクセスを可能にし、その機能検証を可能にするため
の第2のLSSDスキャン・レジスタと、プログラマブ
ル相互接続部に沿って配置された相互接続スキャン・チ
ェーンを提供する第3のLSSDスキャン・レジスタで
あって、プログラマブル相互接続部へのシリアル・スキ
ャン・アクセスとそれらの機能検証を可能にするために
第3のLSSDスキャン・レジスタがそれぞれのプログ
ラマブル相互接続部への選択的結合を行う第3のLSS
Dスキャン・レジスタとを含むテスト回路を含むことを
特徴とする、改良されたテスト可能フィールド・プログ
ラマブル・ゲート・アレイ(FPGA)。 (2)第3のLSSDスキャン・レジスタが、複数のメ
モリ・セルのうちの関連メモリ・セルに保持されたラッ
チ構成データに応じてそれぞれのプログラマブル相互接
続部に選択的に結合された1次出力を有することを特徴
とする、上記(1)に記載の改良されたFPGA。 (3)テスト回路が、バウンダリ・スキャン・チェーン
の制御レジスタ部分を介してプログラム可能な制御レジ
スタをさらに含み、前記制御レジスタがFPGAの所与
の特徴を制御するための制御信号を提供することを特徴
とする、上記(1)に記載の改良されたFPGA。 (4)前記バウンダリ・スキャン・チェーンが、前記制
御レジスタによって提供される前記制御信号のうちの1
つの制御信号に応じて選択的に可能になる低減スキャン
・チェーン構成を含むことを特徴とする、上記(3)に
記載の改良されたFPGA。 (5)前記低減スキャン・チェーン構成が、前記制御レ
ジスタ部分のみから構成されることを特徴とする、上記
(4)に記載の改良されたFPGA。 (6)選択入出力機能信号線が関連入出力ポートの信号
をFPGAに伝播するのを選択的に禁止するために、前
記制御レジスタが受信禁止制御信号を提供することを特
徴とする、上記(3)に記載の改良されたFPGA。 (7)選択入出力ポートがFPGA内から所与の信号を
受け取るのを選択的に禁止するために、前記制御レジス
タがドライバ禁止制御信号を提供することを特徴とす
る、上記(3)に記載の改良されたFPGA。 (8)前記複数の入出力ポートのうちの所与の専用入出
力ポートが、非機能入出力ポートとして、テスト・イネ
ーブル信号受信専用であり、他の所与の入出力ポート
が、ある動作モードでは、機能入出力ポートとして機能
し、テスト動作モードでは、前記制御信号のうちの所与
の制御信号が前記制御レジスタと関連のバウンダリ・ス
キャン・チェーンとを介して間接的に提供されるのでは
なく、前記所与の制御信号をFPGA外部から直接受け
取るための直接入力として代替機能するように前記テス
ト・イネーブル信号に応じて選択的に再構成可能である
ことを特徴とする、上記(3)に記載の改良されたFP
GA。 (9)前記制御レジスタが、前記入出力機能信号線と関
連入出力ポートとの間のインタフェース機能性を制御す
るためにレシーバ/ドライバ制御信号を提供することを
特徴とする、上記(3)に記載の改良されたFPGA。 (10)前記複数の入出力ポートのうちの所与の専用入
出力ポートが、非機能入出力ポートとして、テスト・イ
ネーブル信号受信専用であり、他の所与の入出力ポート
が、ある動作モードでは、前記入出力機能信号線の選択
信号線をインタフェースするために機能入出力ポートと
して機能し、テスト動作モードでは、レシーバ/ドライ
バ制御信号が前記制御レジスタとバウンダリ・スキャン
・チェーンの関連制御レジスタ部分とを介して間接的に
提供されるのではなく、前記レシーバ/ドライバ制御信
号をFPGA外部から直接受け取るための直接入力とし
て代替機能するように前記テスト・イネーブル信号に応
じて選択的に再構成可能であることを特徴とする、上記
(9)に記載の改良されたFPGA。 (11)テスト・ベクトルを提供する手段と、テスト・
ベクトルをシリアルに第2のLSSDスキャン・レジス
タにスキャン・インし、テスト・ベクトルを構成論理回
路の関連セグメントに印加するスキャン手段と、印加さ
れたテスト・ベクトルの適切な処理後に構成論理回路に
よってもたらされる結果データを第2のLSSDスキャ
ン・レジスタに捕捉するための適切なクロックを提供す
る捕捉手段とを有し、前記スキャン手段が、捕捉したデ
ータを第2のLSSDスキャン・レジスタからシリアル
にスキャン・アウトするようにさらに動作可能であり、
構成論理回路の機能性を判定するためにスキャン・アウ
トした結果データを所定の結果データと比較する障害検
出器をさらに有するテスタをさらに含むことを特徴とす
る、上記(1)に記載の改良されたテスト可能FPG
A。 (12)複数のプログラマブル・オペレーティング・ユ
ニットが、行と列のアレイを横切って配置され、複数の
プログラマブル相互接続部が、プログラマブル・オペレ
ーティング・ユニットのアレイ近似のそれぞれの行と列
を横切って配置された複数の行バスと複数の列バスとを
含み、複数のプログラマブル相互接続部が、複数のメモ
リ・セルのうちの指定のメモリ・セル内のスイッチ構成
データに応じて、行バスと列バスのうちの選択バスを関
連バス・セグメントに選択的に細分する複数のプログラ
マブル・スイッチ・ユニットをさらに含み、第3のLS
SDスキャン・レジスタの各LSSDスキャン・レジス
タが、複数のプログラマブル・スイッチ・ユニットの関
連スイッチ・ユニットとともに組み込まれ、関連の行バ
スおよび列バスのスイッチ・ユニットのLSSDスキャ
ン・レジスタが、それぞれの行および列相互接続スキャ
ン・チェーンを確立することを特徴とする、上記(1)
に記載の改良されたテスト可能FPGA。 (13)複数のプログラマブル資源と、複数のプログラ
マブル資源に関連する複数のメモリ・セルであって、複
数のプログラマブル資源が関連の複数のメモリ・セルの
構成データに応じて構成される複数のメモリ・セルと、
複数のメモリ・セルのうちの特定のメモリ・セルにアク
セスし、複数のメモリ・セルへの構成データのロードを
可能にするための構成論理回路と、構成論理回路のLS
SDテストを可能にするために構成論理回路に関連する
スキャン・チェーンを提供するLSSDレジスタとを含
むことを特徴とする、テスト可能フィールド・プログラ
マブル・ゲート・アレイ(FPGA)。 (14)複数の入出力ポートと、複数のLSSDレジス
タからなるシリアル・ストリングと、プログラマブル・
ゲート・アレイの所与の特徴を制御するためにそこにあ
るデータに応じて制御信号を提供する制御レジスタとを
含むプログラマブル・ゲート・アレイにおいて、複数の
LSSDレジスタからなるシリアル・ストリングの第1
の部分が、制御レジスタにデータを転送するために制御
レジスタに結合されたそれぞれの1次出力を有し、複数
のLSSDレジスタからなるシリアル・ストリングの第
2の部分が、複数の入出力ポートのうちの機能ポートへ
のLSSDシリアル・スキャン・アクセスを可能にする
ために入出力バウンダリ・スキャン・チェーンを提供
し、複数のLSSDレジスタからなる前記シリアル・ス
トリングが、関連のデータ・ステアリング制御信号に応
じて、その第2の部分を除いた低減構成になるように複
数のLSSDレジスタからなるシリアル・ストリングを
選択的に構成するためのデータ・ステアリング手段を含
むことを特徴とする、プログラマブル・ゲート・アレ
イ。 (15)前記データ・ステアリング制御信号が、前記制
御レジスタによって提供されることを特徴とする、上記
(14)に記載のプログラマブル・ゲート・アレイ。 (16)複数のLSSDレジスタからなる前記シリアル
・ストリングの前記低減構成が、単一ビット・バイパス
・レジスタのみを含むことを特徴とする、上記(15)
に記載のプログラマブル・ゲート・アレイ。 (17)追加のプログラマブル・ゲート・アレイが、前
記プログラマブル・ゲート・アレイの複数のLSSDレ
ジスタからなる前記シリアル・ストリングと直列に結合
された複数のLSSDレジスタからなる関連シリアル・
ストリングを有することを特徴とする、上記(16)に
記載のプログラマブル・ゲート・アレイ。 (18)FPGAをテストする方法において、 (a)[1]FPGAの入出力バウンダリ周辺のバウン
ダリ・スキャン・チェーンとして第1のLSSDスキャ
ン・レジスタを設けるステップと、[2]FPGAの入
出力バウンダリに既知の入出力テスト・ベクトルを印加
するステップと、[3]入出力バウンダリのデータをラ
ッチ・データとしてバウンダリ・スキャン・チェーンに
ラッチするステップと、[4]バウンダリ・スキャン・
チェーンからシリアルにデータをスキャン・アウトし、
入出力バウンダリのラッチ・データを取り出すステップ
と、[5]取り出したデータを既知の入出力テスト・ベ
クトルと比較するステップと、[6]取り出したデータ
が入出力テスト・ベクトルと一致しないときに、障害を
報告するステップと、 (b)[1]FPGAの構成論理回路をテストするため
の構成スキャン・チェーンとして第2のLSSDスキャ
ン・レジスタを設けるステップであって、構成論理回路
がメモリ要求信号に応じてFPGAのメモリ・セルにア
クセスするように動作可能であるステップと、[2]構
成テスト・ベクトルを構成スキャン・チェーンにスキャ
ン・インするステップと、[3]構成スキャン・チェー
ンの構成テスト・ベクトルを構成論理回路に印加するス
テップと、[4]印加した構成テスト・ベクトルに応答
して構成論理回路によってもたらされるデータを構成ス
キャン・チェーンにラッチするステップと、[5]構成
スキャン・チェーンからシリアルにデータをスキャン・
アウトし、構成論理回路によってもたらされたデータを
そこから取り出すステップと、[6]取り出したデータ
を印加した構成テスト・ベクトルに応じて所定の結果デ
ータと比較するステップと、[7]取り出したデータが
印加した構成テスト・ベクトルと関連する所定の結果デ
ータと一致しないときに、障害を報告するステップと、 (c)[1]FPGAの選択プログラマブル相互接続部
内に構成した相互接続スキャン・チェーンとして第3の
LSSDスキャン・レジスタを設けるステップと、
[2]前記相互接続スキャン・チェーンのそれぞれのL
SSDスキャン・レジスタ間でFPGAのプログラマブ
ル相互接続部のうちの1組の相互接続部を構成するステ
ップと、[3]前記レピータ・スキャン・チェーンの選
択入力相互接続スキャン・チェーンにシリアルに相互接
続テスト・ベクトルをスキャン・インし、第1の組の相
互接続部の入力側に相互接続テスト・ベクトルを印加す
るステップと、[4]第1の組の相互接続部の出力側か
ら前記相互接続スキャン・チェーンの選択出力相互接続
スキャン・チェーンにデータをラッチするステップと、
[5]選択出力スキャン・チェーンからシリアルにデー
タをスキャン・アウトし、第1の組の相互接続部の出力
側からラッチしたデータをそこから取り出すステップ
と、[6]取り出したデータを相互接続テスト・ベクト
ルと比較するステップと、[7]取り出したデータが相
互接続テスト・ベクトルと一致しないときに、障害を報
告するステップとを含むことを特徴とする、FPGAを
テストする方法。 (19)(d)[1]FPGAの所与のプログラマブル
資源の構成に関連する、前記構成メモリ・セルのうちの
所与のメモリ・セルに第1の既知のデータを書き込むス
テップと、[2]続いて、所与のメモリ・セルからデー
タを取り出すステップと、[3]取り出したデータを第
1の既知のデータと比較するステップと、[4]取り出
したデータが第1の既知のデータと一致しないときに、
障害を報告するステップとを含む、FPGAの構成メモ
リ・セルをテストするためのステップをさらに含むこと
を特徴とする、上記(18)に記載の方法。 (20)(d)[5]第1の既知のデータの補数である
第2の既知のデータを使用して、ステップ(d)[1]
〜(d)[4]を繰り返すステップをさらに含むことを
特徴とする、上記(19)に記載の方法。 (21)FPGAの前記構成メモリ・セルの各メモリ・
セルごとにステップ(d)[1]〜(d)[5]を繰り
返すステップをさらに含むことを特徴とする、上記(2
0)に記載の方法。 (22)前記第3のLSSDスキャン・レジスタのそれ
ぞれが、前記それぞれの第3のLSSDスキャン・レジ
スタとFPGAの前記プログラマブル相互接続部のうち
のそれに関連する相互接続部との間で信号を選択的に伝
播するために、前記構成メモリ・セルのうちの関連メモ
リ・セル内の関連構成データに応じてプログラム可能な
選択的結合手段を含み、前記ステップ(c)[1]が、
前記選択入力相互接続スキャン・チェーンの前記第3の
LSSDスキャン・レジスタを前記第1の組の相互接続
部のそれぞれの入力側に結合するように、選択プログラ
マブル相互接続部の前記第3のLSSDスキャン・レジ
スタに関連する前記構成メモリ・セルのうちのメモリ・
セルに適切な構成データをロードするステップを含むこ
とを特徴とする、上記(21)に記載の方法。 (23)FPGAの様々なプログラマブル相互接続部を
テストするために、関連の選択入力および出力相互接続
スキャン・チェーンとともに各種の関連する組の相互接
続部を使用して、複数回、ステップ(c)[1]〜
(c)[7]を繰り返すステップをさらに含むことを特
徴とする、上記(22)に記載の方法。 (24)構成論理回路を完全に実行しテストするよう
に、各種の関連構成テスト・ベクトルを使用して、複数
回、ステップ(b)[1]〜(b)[7]を繰り返すス
テップをさらに含むことを特徴とする、上記(18)に
記載の方法。 (25)フィールド・プログラマブル・ゲート・アレイ
(FPGA)をテストする方法において、 (a)[1]複数の入出力ポートと、[2]関連の論理
構成データに応じて特定の論理回路を提供する複数のプ
ログラマブル論理ユニットと、[3]関連の経路指定構
成データに応じて前記複数の入出力ポートのうちの選択
機能入出力ポートと前記複数のプログラマブル論理ユニ
ットのうちの選択プログラマブル論理ユニットとを選択
的に相互接続する複数のプログラマブル相互接続部と、
[4]複数の構成メモリ・セルであって、複数の構成メ
モリ・セルのうちの指定のメモリ・セルが、関連の論理
構成データと経路指定構成データをそれぞれ保持するた
めに前記複数のプログラマブル論理ユニットおよび前記
複数のプログラマブル相互接続部に関連付けられている
複数の構成メモリ・セルと、[5]前記複数の構成メモ
リ・セルにアクセスし、そこへの構成データのロードを
可能にするための構成論理回路とを有するFPGAを設
けるステップと、 (b)関連のLSSD構成スキャン・チェーンを使用し
て前記構成論理回路の機能性をテストするステップと、 (c)確定的テスト・パターンを使用して前記複数の構
成メモリ・セルをテストするステップとを含むことを特
徴とする、FPGAをテストする方法。 (26)(d)関連のバウンダリ・スキャン・チェーン
を使用して前記複数の入出力ポートのうちの選択入出力
ポートをテストするステップをさらに含むことを特徴と
する、上記(25)に記載のFPGAをテストする方
法。 (27)前記選択入出力ポートが、様々な入出力構成を
実現するために関連の入出力構成データに応じてプログ
ラム可能であり、選択入出力ポートをテストする前記ス
テップ(d)が、前記様々な構成のうちの所与の構成に
応じて選択入出力ポートを構成するための入出力構成デ
ータを前記構成メモリ・セルにロードするステップを含
むことを特徴とする、上記(26)に記載のFPGAを
テストする方法。 (28)ステップ(d)の前記ロード・ステップが、デ
ータを受け取るための選択入出力ポートを構成し、選択
入出力ポートを選択する前記ステップ(d)が、[1]
既知のテスト・データを選択入出力ポートに印加するス
テップと、[2]選択入出力ポートの結果データを関連
のバウンダリ・スキャン・チェーンにラッチするステッ
プと、[3]バウンダリ・スキャン・チェーンからデー
タをシフト・アウトし、ラッチした結果データを回復す
るステップと、[4]回復した結果データに応じて前記
選択入出力ポートの機能性を判定するステップとをさら
に含むことを特徴とする、上記(27)に記載のFPG
Aをテストする方法。 (29)ステップ(d)の前記ロード・ステップが、デ
ータを送出するための選択入出力ポートを構成し、選択
入出力ポートを選択する前記ステップ(d)が、[1]
既知のテスト・データをバウンダリ・スキャン・チェー
ンにスキャン・インし、既知のテスト・データを関連の
選択入出力ポートに印加するステップと、[2]選択入
出力ポートから結果データを回復するステップと、
[3]回復した結果データに応じて前記選択入出力ポー
トの機能性を判定するステップとをさらに含むことを特
徴とする、上記(27)に記載のFPGAをテストする
方法。 (30)(d)関連のスキャン・チェーン設計を使用し
て前記複数のプログラマブル・ユニットのうちの選択プ
ログラマブル論理ユニットをテストするステップをさら
に含むことを特徴とする、上記(25)に記載のFPG
Aをテストする方法。 (31)選択プログラマブル論理ユニットをテストする
前記ステップ(d)が、前記特定の論理回路の所与の回
路構成に応じて選択プログラマブル論理ユニットを構成
するステップを含むことを特徴とする、上記(30)に
記載の方法。 (32)前記関連のスキャン・チェーンが、そのデータ
を前記選択プログラマブル論理ユニットに選択的に印加
するために、複数の構成メモリ・セルのうちの指定のメ
モリ・セル内の関連構成データに応じてプログラム可能
であり、選択プログラマブル論理ユニットをテストする
前記ステップ(d)が、そのデータを前記選択プログラ
マブル論理ユニットに印加するために前記関連のスキャ
ン・チェーンを構成する追加ステップを含むことを特徴
とする、上記(30)に記載の方法。 (33)前記プログラマブル論理ユニットが、そこで選
択的に構成可能な同期論理デバイスを含み、前記FPG
Aが、前記同期論理デバイスにシステム・クロックを分
配するためのクロック分配ネットワークを含み、選択プ
ログラマブル論理ユニットをテストする前記ステップ
(d)が、[1]前記関連のスキャン・チェーン設計の
入力および出力LSSDレジスタ間にプログラマブル論
理ユニットの同期論理デバイスを構成するステップと、
[2]前記入力LSSDレジスタを介して前記同期論理
デバイスにテスト・データを印加するステップと、
[3]前記クロック分配ネットワークを介して前記同期
論理デバイスにシステム・クロックのクロック・パルス
を提供するステップと、[4]前記出力LSSDレジス
タを介して前記同期論理デバイスのデータを回復するス
テップと、[5]前記同期論理デバイスと関連のクロッ
ク分配ネットワークの機能性を判定するために、印加し
た前記テスト・データに応じて前記回復データを分析す
るステップとを含むことを特徴とする、上記(30)に
記載の方法。 (34)前記クロック分配ネットワークが、前記同期論
理デバイスへの代替クロック分配結合を行うようにプロ
グラム可能であり、前記ステップ(d)が、前記同期論
理デバイスへの前記代替クロック分配結合のうちの選択
クロック分配結合を行うようにプログラマブル・クロッ
ク分配ネットワークを構成する追加のステップを含むこ
とを特徴とする、上記(33)に記載の方法。 (35)前記FPGAが、前記同期論理デバイスへシス
テム・リセット信号を分配するためのリセット分配ネッ
トワークを含み、前記方法が、 (e)[1]前記同期論理デバイスに既知のデータをロ
ードするためにステップ(d)[1]〜(d)[3]を
繰り返すステップと、[2]前記リセット分配ネットワ
ークを介して前記同期論理デバイスにシステム・リセッ
ト信号動作を提供するステップと、[3]前記出力LS
SDレジスタを介して前記同期論理デバイスのデータを
回復するステップと、[4]前記同期論理デバイスとリ
セット分配ネットワークのリセット機能性を判定するた
めに回復したデータを分析するステップとにより、前記
同期論理デバイスとリセット分配ネットワークのリセッ
ト機能性をテストする追加のステップを含むことを特徴
とする、上記(33)に記載の方法。 (36)前記関連のスキャン・チェーン設計が、前記複
数のプログラマブル相互接続部のうちの所与の相互接続
部内に配置された複数のプログラマブルLSSDレジス
タを含み、前記複数のプログラマブルLSSDレジスタ
が、そのデータを関連の所与の相互接続部に選択印加す
るために関連の構成データに応じてプログラム可能であ
り、選択プログラマブル論理ユニットをテストする前記
ステップ(d)が、[1]前記特定の論理回路の所与の
回路構成に応じて選択プログラマブル論理ユニットを構
成するステップと、[2]関連の所与の相互接続部を介
して選択プログラマブル論理ユニットをインタフェース
するように前記複数のプログラマブル相互接続部を構成
するステップと、[3]そのデータを関連の所与の相互
接続部に印加するように前記複数のLSSDレジスタを
構成するステップとを含むことを特徴とする、上記(3
0)に記載に方法。 (37)選択プログラマブル論理ユニットを構成する前
記ステップ(d)[1]が、所与の論理設計に応じてF
PGAの1ブロック分のプログラマブル論理ユニット
と、前記複数のプログラマブル相互接続部のうちの関連
する組のプログラマブル相互接続部とを構成して、ブロ
ック論理回路を提供することを含み、前記所与の相互接
続部が、前記ブロック論理回路への入力信号を伝播する
ための入力相互接続部を提供し、前記複数のプログラマ
ブル相互接続部を構成する前記ステップ(d)[2]
が、前記ブロック論理回路からの出力信号を伝播するた
めの出力相互接続部の構成も含み、前記複数のLSSD
レジスタを構成する前記ステップ(d)[3]が、ブロ
ック論理回路の入力相互接続部を横切る入出力バウンダ
リ・スキャン・チェーンとして第1のスキャン・チェー
ンを提供し、ブロック論理回路の出力相互接続部を横切
る出力バウンダリ・スキャン・チェーンとして第2のス
キャン・チェーンをさらに提供し、選択プログラマブル
論理ユニットをテストする前記ステップ(d)が、
[4]回路テスト・ベクトルを入出力バウンダリ・スキ
ャン・チェーンにスキャン・インし、入出力バウンダリ
・スキャン・チェーンの回路テスト・ベクトルをブロッ
ク論理回路の入力に印加するステップと、[5]印加し
た回路テスト・ベクトルに応答してブロック論理回路に
よって提供される結果データを出力バウンダリ・スキャ
ン・チェーンにラッチするステップと、[6]出力バウ
ンダリ・スキャン・チェーンからシリアルにデータをス
キャン・アウトし、結果データを取り出すステップと、
[7]所与のブロック論理回路の機能性を判定するため
に回路テスト・ベクトルと所与の論理設計に応じて事前
に決定した所定の結果データと取り出した結果データと
を比較するステップとをさらに含むことを特徴とする、
上記(36)に記載の方法。 (38)(d)関連のスキャン・チェーンを使用して前
記プログラマブル相互接続部のうちの選択プログラマブ
ル相互接続部をテストするステップをさらに含むことを
特徴とする、上記(25)に記載の方法。 (39)前記関連のスキャン・チェーンが、そのデータ
をそれぞれの選択プログラマブル相互接続部に選択的に
印加するために関連の構成データに応じてプログラム可
能な複数のプログラマブルLSSDレジスタを含み、選
択プログラマブル相互接続部をテストする前記ステップ
(d)が、そのデータをそれぞれの選択プログラマブル
相互接続部に印加するように前記複数のプログラマブル
LSSDレジスタを構成するステップを含むことを特徴
とする、上記(38)に記載の方法。 (40)フィールド・プログラマブル・ゲート・アレイ
(FPGA)をテストする方法において、前記方法が、 (a)複数のピンと、前記複数のピンのうちの機能ピン
に関連する複数の入出力機能信号線と、関連の論理構成
データに応じて特定の論理回路を提供する複数のプログ
ラマブル論理ユニットと、関連の経路指定構成データに
応じて入出力機能信号線のうちの選択入出力機能線と複
数のプログラマブル論理ユニットのうちの選択プログラ
マブル論理ユニットとを選択的に相互接続するための複
数のプログラマブル相互接続部と、複数のメモリ・セル
であって、複数のメモリ・セルのうちの指定のメモリ・
セルが、関連の論理構成データと経路指定構成データを
それぞれ保持するために複数のプログラマブル論理ユニ
ットと複数のプログラマブル相互接続部に対して指定さ
れている複数のメモリ・セルと、メモリ要求信号に応じ
て複数のメモリ・セルのうちの特定のメモリ・セルにア
クセスするための構成論理回路と、入出力機能信号線を
横切るバウンダリ・スキャン・チェーンとして配置され
た第1のLSSDスキャン・レジスタと、構成論理回路
に関連して構成スキャン・チェーンとして配置された第
2のLSSDスキャン・レジスタと、前記複数のプログ
ラマブル相互接続部のうちの選択プログラマブル相互接
続部に沿って配置された相互接続スキャン・チェーンを
提供する第3のLSSDスキャン・レジスタであって、
複数のメモリ・セルのうちの適切なメモリ・セル内に保
持された関連のラッチ構成データに応じてそれぞれのプ
ログラマブル相互接続部に選択的に結合される第3のL
SSDスキャン・レジスタとを有するFPGAを設ける
ステップと、 (b)[1]バウンダリ・スキャン・チェーン、構成ス
キャン・チェーン、および相互接続スキャン・チェーン
のそれぞれによりシリアルに既知のテスト・データをス
キャンするステップと、[2]前記それぞれのスキャン
・チェーンの機能性を判定するために、前記それぞれの
スキャン・チェーンによりスキャンしたデータをそれに
関連する既知のテスト・データと比較するステップとに
より、様々なスキャン・チェーンをテストするステップ
と、 (c)[1]関連の機能ピンとバウンダリ・スキャン・
チェーンの関連の第1のLSSDスキャン・レジスタと
の間の入出力機能信号線を既知のテスト・データを通過
させるステップと、[2]入出力機能信号線と関連の機
能ピンの機能性を判定するために、実際にそこを通過し
たデータと既知のテスト・データとを比較するステップ
とにより、入出力機能信号線と関連の機能ピンをテスト
するステップと、 (d)[1]テスト・ベクトルをシリアルに構成スキャ
ン・チェーンにスキャンし、テスト・ベクトルを構成論
理回路に印加するステップと、[2]印加したテスト・
ベクトルに応じて構成論理回路によってもたらされる結
果データをラッチした結果データとして構成スキャン・
チェーンにラッチするステップと、[3]ラッチした結
果データを取り出したデータとしてシリアルに構成スキ
ャン・チェーンからスキャン・アウトするステップと、
[4]構成論理回路の機能性を判定するために、テスト
・ベクトルと構成論理回路の予定動作に応じて事前に決
定した予想結果データと取り出したデータとを比較する
ステップとにより、構成論理回路をテストするステップ
と、 (e)[1]データを伝播するために関連の経路指定構
成データに応じて複数のプログラマブル相互接続部のう
ちの第1の組の相互接続部を構成するステップであっ
て、第1の組の相互接続部のうちのそれぞれの相互接続
部が入力側と出力側とを有するステップと、[2]前記
第1の組の相互接続部の入力側にそのデータを印加する
ために、関連のレピータ・ラッチ構成データに応じて前
記相互接続スキャン・チェーンのうちの第1の相互接続
スキャン・チェーンを構成するステップと、[3]前記
第1の組の相互接続部の出力側からデータを受け取るた
めに第2の相互接続スキャン・チェーンを提供するステ
ップと、[4]第1の相互接続スキャン・チェーンにシ
リアルに既知のテスト・データをスキャン・インし、前
記第1の組の相互接続部の入力側に既知のテスト・デー
タを印加するステップと、[5]前記第1の組の相互接
続部の出力側に提示されたデータをラッチした結果デー
タとして第2の相互接続スキャン・チェーンにラッチす
るステップと、[6]第2の相互接続スキャン・チェー
ンからシリアルにデータをスキャン・アウトし、ラッチ
した結果データを取り出したデータとして回復するステ
ップと、[7]第1の組の相互接続部の機能性を判定す
るために、取り出したデータを既知のテスト・データと
比較するステップとにより、プログラマブル相互接続部
をテストするステップとを含むことを特徴とする方法。 (41)[1]前記複数のメモリ・セルの所与の位置に
既知の入力データを書き込むステップと、[2]前記複
数のメモリ・セルの所与の位置からデータを読み取るス
テップと、[3]前記メモリ・セルの機能性を判定する
ために、そこから読み取ったデータと既知の入力データ
とを比較するステップとにより、前記複数のメモリ・セ
ルをテストするステップ(f)をさらに含むことを特徴
とする、上記(40)に記載の方法。 (42)前記ステップ(d)がステップ(f)より先行
することを特徴とする、上記(41)に記載の方法。 (43)前記ステップ(e)が前記ステップ(f)の後
に続くことを特徴とする、上記(42)に記載の方法。
【図面の簡単な説明】
【図1】本発明によるフィールド・プログラマブル・ゲ
ート・アレイのブロック図である。
【図2】本発明によるフィールド・プログラマブル・ゲ
ート・アレイのブロック図である。
【図3】フィールド・プログラマブル・ゲート・アレイ
の入出力バウンダリ・スキャン・チェーンを示すブロッ
ク図である。
【図4】図3の入出力バウンダリ・スキャン・チェーン
の入出力バウンダリ・スキャン・セルのブロック図であ
る。
【図5】図4の入出力バウンダリ・スキャン・チェーン
の第1および第2のシフト・レジスタ・ラッチを示す概
略図である。
【図6】(イ)フィールド・プログラマブル・ゲート・
アレイを構成しテストするための制御信号を提供するた
めの制御レジスタへのロードに関連する、図3の入出力
バウンダリ・スキャン・チェーンの特定の部分を示すブ
ロック図である。 (ロ)フィールド・プログラマブル・ゲート・アレイの
制御レジスタへのロードに関連する部分のみから構成さ
れる、入出力バウンダリ・スキャン・チェーンの代替構
成を示すブロック図である。 (ハ)単一ビット・バイパス・レジスタのみから構成さ
れる、もう1つの代替低減入出力バウンダリ・スキャン
・チェーンを示すブロック図である。
【図7】制御レジスタと、入出力バウンダリ・スキャン
・チェーンのそれに関連する部分とを表すブロック図で
ある。
【図8】制御レジスタと、入出力バウンダリ・スキャン
・チェーンのそれに関連する部分とを表すブロック図で
ある。
【図9】制御レジスタと関連して入出力バウンダリ・ス
キャン・チェーンを動作させることに関連する信号を表
すタイミング図である。
【図10】制御レジスタ部分のみにロードするために入
出力バウンダリ・スキャン・チェーンを動作させること
に関連する信号を表すタイミング図である。
【図11】単一ビット・バイパス・レジスタのみから構
成されるさらに低減した入出力バウンダリ・スキャン構
成を動作させることに関連する信号を表すタイミング図
である。
【図12】プログラマブル・ゲート・アレイの複数のプ
ログラマブル論理セルを示す図である。
【図13】プログラマブル論理セルからなるアレイと、
プログラマブル論理セルを選択的に接続するための関連
相互接続ネットワークとを示す、図12のプログラマブ
ル・ゲート・アレイのセクタ部分を示す図である。
【図14】プログラマブル・ゲート・アレイの1行分の
論理セルに関連するプログラマブル・バスのレピータ回
路を示すブロック図である。
【図15】そのすべてのピンにアクセスする際のプログ
ラマブル・ゲート・アレイのテスト中に使用するクロッ
ク信号と関連の制御信号とを示す簡略タイミング図であ
る。
【図16】低減した数の入出力ピンにアクセスする際の
プログラマブル・ゲート・アレイのテストに関連するク
ロック信号と制御信号とを示すタイミング図である。
【図17】図16の間隔T中にプログラマブル・ゲート
・アレイのレピータ・スキャン・チェーンを動作させる
ための制御信号と関連のスキャン・クロックとを示すタ
イミング図である。
【図18】図16の間隔T中にプログラマブル・ゲート
・アレイの構成スキャン・チェーンを動作させるための
制御信号と関連のクロックとを示すタイミング図であ
る。
【図19】プログラマブル・ゲート・アレイのコア・セ
ルをテストするために構成されたレピータ・スキャン・
チェーンを示す部分概略図である。
【符号の説明】
10 フィールド・プログラマブル・ゲート・アレイ 14 SRAM 16 SRAM制御装置 18 デコーダおよびシーケンサ 20 構成プログラム・ビット 24 構成スキャン・チェーン 32 アドレス・バス 34 データ・バス
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H01L 21/82 A T (72)発明者 サリー・ボタラ アメリカ合衆国05494 バーモント州ウェ ストフォード プレインズ・ロード (72)発明者 スコット・ホイットニー・グールド アメリカ合衆国05403 バーモント州サウ ス・バーリントン ミル・ポンド・レーン 15 (72)発明者 フランク・レイ・カイザー・ザサード アメリカ合衆国05466 バーモント州コル チェスター ヘリティッジ・レーン 8 (72)発明者 ウェンデル・レイ・ラーセン アメリカ合衆国05452 ニューヨーク州エ セックス・ジャンクション センター・ロ ード 16 (72)発明者 ロナルド・レイモンド・パルマー アメリカ合衆国05494 バーモント州ウェ ストフォード ディア・ラン・レーン ロ ット9 (72)発明者 ブライアン・ワース アメリカ合衆国05468 バーモント州ミル トン アンドレア・レーン 32

Claims (43)

    【特許請求の範囲】
  1. 【請求項1】複数の入出力ポートと、 前記複数の入出力ポートのうちの関連入出力ポートに結
    合された入出力機能信号線と、 関連の論理構成データに応じて特定の論理回路を提供す
    る複数のプログラマブル・オペレーティング・ユニット
    と、 関連の経路指定構成データに応じて入出力機能信号線と
    複数のプログラマブル・オペレーティング・ユニットの
    プログラマブル論理ユニットとを相互接続する複数のプ
    ログラマブル相互接続部と、 それぞれの複数のプログラマブル論理ユニットおよび複
    数のプログラマブル相互接続部に関連する複数のメモリ
    ・セルであって、複数のメモリ・セルのうちの指定のメ
    モリ・セルが関連の論理構成データと経路指定構成デー
    タを保持する複数のメモリ・セルと、 メモリ要求信号を受け取る入力を有する構成論理回路で
    あって、メモリ要求信号に応じて複数のメモリ・セルの
    うちのいくつかのメモリ・セルへのアクセスを可能にす
    る構成論理回路とを有する、改良されたテスト可能フィ
    ールド・プログラマブル・ゲート・アレイ(FPGA)
    において、 当該FPGAが、 入出力機能信号線を横切るバウンダリ・スキャン・チェ
    ーンとして配置された第1のLSSDスキャン・レジス
    タであって、入出力機能信号線および関連の入出力ポー
    トへのシリアル・スキャン・アクセスとそれらの機能検
    証を可能にするために前記第1のLSSDスキャン・レ
    ジスタが関連の入出力機能信号線への選択的結合を行う
    第1のLSSDスキャン・レジスタと、 構成論理回路の所与のセグメントの周りのスキャン・チ
    ェーンとして配置され、構成論理回路へのシリアル・ス
    キャン・アクセスを可能にし、その機能検証を可能にす
    るための第2のLSSDスキャン・レジスタと、 プログラマブル相互接続部に沿って配置された相互接続
    スキャン・チェーンを提供する第3のLSSDスキャン
    ・レジスタであって、プログラマブル相互接続部へのシ
    リアル・スキャン・アクセスとそれらの機能検証を可能
    にするために第3のLSSDスキャン・レジスタがそれ
    ぞれのプログラマブル相互接続部への選択的結合を行う
    第3のLSSDスキャン・レジスタとを含むテスト回路
    を含むことを特徴とする、改良されたテスト可能フィー
    ルド・プログラマブル・ゲート・アレイ(FPGA)。
  2. 【請求項2】第3のLSSDスキャン・レジスタが、複
    数のメモリ・セルのうちの関連メモリ・セルに保持され
    たラッチ構成データに応じてそれぞれのプログラマブル
    相互接続部に選択的に結合された1次出力を有すること
    を特徴とする、請求項1に記載の改良されたFPGA。
  3. 【請求項3】テスト回路が、バウンダリ・スキャン・チ
    ェーンの制御レジスタ部分を介してプログラム可能な制
    御レジスタをさらに含み、前記制御レジスタがFPGA
    の所与の特徴を制御するための制御信号を提供すること
    を特徴とする、請求項1に記載の改良されたFPGA。
  4. 【請求項4】前記バウンダリ・スキャン・チェーンが、
    前記制御レジスタによって提供される前記制御信号のう
    ちの1つの制御信号に応じて選択的に可能になる低減ス
    キャン・チェーン構成を含むことを特徴とする、請求項
    3に記載の改良されたFPGA。
  5. 【請求項5】前記低減スキャン・チェーン構成が、前記
    制御レジスタ部分のみから構成されることを特徴とす
    る、請求項4に記載の改良されたFPGA。
  6. 【請求項6】選択入出力機能信号線が関連入出力ポート
    の信号をFPGAに伝播するのを選択的に禁止するため
    に、前記制御レジスタが受信禁止制御信号を提供するこ
    とを特徴とする、請求項3に記載の改良されたFPG
    A。
  7. 【請求項7】選択入出力ポートがFPGA内から所与の
    信号を受け取るのを選択的に禁止するために、前記制御
    レジスタがドライバ禁止制御信号を提供することを特徴
    とする、請求項3に記載の改良されたFPGA。
  8. 【請求項8】前記複数の入出力ポートのうちの所与の専
    用入出力ポートが、非機能入出力ポートとして、テスト
    ・イネーブル信号受信専用であり、 他の所与の入出力ポートが、ある動作モードでは、機能
    入出力ポートとして機能し、テスト動作モードでは、前
    記制御信号のうちの所与の制御信号が前記制御レジスタ
    と関連のバウンダリ・スキャン・チェーンとを介して間
    接的に提供されるのではなく、前記所与の制御信号をF
    PGA外部から直接受け取るための直接入力として代替
    機能するように前記テスト・イネーブル信号に応じて選
    択的に再構成可能であることを特徴とする、請求項3に
    記載の改良されたFPGA。
  9. 【請求項9】前記制御レジスタが、前記入出力機能信号
    線と関連入出力ポートとの間のインタフェース機能性を
    制御するためにレシーバ/ドライバ制御信号を提供する
    ことを特徴とする、請求項3に記載の改良されたFPG
    A。
  10. 【請求項10】前記複数の入出力ポートのうちの所与の
    専用入出力ポートが、非機能入出力ポートとして、テス
    ト・イネーブル信号受信専用であり、 他の所与の入出力ポートが、ある動作モードでは、前記
    入出力機能信号線の選択信号線をインタフェースするた
    めに機能入出力ポートとして機能し、テスト動作モード
    では、レシーバ/ドライバ制御信号が前記制御レジスタ
    とバウンダリ・スキャン・チェーンの関連制御レジスタ
    部分とを介して間接的に提供されるのではなく、前記レ
    シーバ/ドライバ制御信号をFPGA外部から直接受け
    取るための直接入力として代替機能するように前記テス
    ト・イネーブル信号に応じて選択的に再構成可能である
    ことを特徴とする、請求項9に記載の改良されたFPG
    A。
  11. 【請求項11】テスト・ベクトルを提供する手段と、 テスト・ベクトルをシリアルに第2のLSSDスキャン
    ・レジスタにスキャン・インし、テスト・ベクトルを構
    成論理回路の関連セグメントに印加するスキャン手段
    と、 印加されたテスト・ベクトルの適切な処理後に構成論理
    回路によってもたらされる結果データを第2のLSSD
    スキャン・レジスタに捕捉するための適切なクロックを
    提供する捕捉手段とを有し、 前記スキャン手段が、捕捉したデータを第2のLSSD
    スキャン・レジスタからシリアルにスキャン・アウトす
    るようにさらに動作可能であり、 構成論理回路の機能性を判定するためにスキャン・アウ
    トした結果データを所定の結果データと比較する障害検
    出器をさらに有するテスタをさらに含むことを特徴とす
    る、請求項1に記載の改良されたテスト可能FPGA。
  12. 【請求項12】複数のプログラマブル・オペレーティン
    グ・ユニットが、行と列のアレイを横切って配置され、 複数のプログラマブル相互接続部が、プログラマブル・
    オペレーティング・ユニットのアレイ近似のそれぞれの
    行と列を横切って配置された複数の行バスと複数の列バ
    スとを含み、 複数のプログラマブル相互接続部が、複数のメモリ・セ
    ルのうちの指定のメモリ・セル内のスイッチ構成データ
    に応じて、行バスと列バスのうちの選択バスを関連バス
    ・セグメントに選択的に細分する複数のプログラマブル
    ・スイッチ・ユニットをさらに含み、 第3のLSSDスキャン・レジスタの各LSSDスキャ
    ン・レジスタが、複数のプログラマブル・スイッチ・ユ
    ニットの関連スイッチ・ユニットとともに組み込まれ、 関連の行バスおよび列バスのスイッチ・ユニットのLS
    SDスキャン・レジスタが、それぞれの行および列相互
    接続スキャン・チェーンを確立することを特徴とする、
    請求項1に記載の改良されたテスト可能FPGA。
  13. 【請求項13】複数のプログラマブル資源と、 複数のプログラマブル資源に関連する複数のメモリ・セ
    ルであって、複数のプログラマブル資源が関連の複数の
    メモリ・セルの構成データに応じて構成される複数のメ
    モリ・セルと、 複数のメモリ・セルのうちの特定のメモリ・セルにアク
    セスし、複数のメモリ・セルへの構成データのロードを
    可能にするための構成論理回路と、 構成論理回路のLSSDテストを可能にするために構成
    論理回路に関連するスキャン・チェーンを提供するLS
    SDレジスタとを含むことを特徴とする、テスト可能フ
    ィールド・プログラマブル・ゲート・アレイ(FPG
    A)。
  14. 【請求項14】複数の入出力ポートと、 複数のLSSDレジスタからなるシリアル・ストリング
    と、 プログラマブル・ゲート・アレイの所与の特徴を制御す
    るためにそこにあるデータに応じて制御信号を提供する
    制御レジスタとを含むプログラマブル・ゲート・アレイ
    において、 複数のLSSDレジスタからなるシリアル・ストリング
    の第1の部分が、制御レジスタにデータを転送するため
    に制御レジスタに結合されたそれぞれの1次出力を有
    し、 複数のLSSDレジスタからなるシリアル・ストリング
    の第2の部分が、複数の入出力ポートのうちの機能ポー
    トへのLSSDシリアル・スキャン・アクセスを可能に
    するために入出力バウンダリ・スキャン・チェーンを提
    供し、 複数のLSSDレジスタからなる前記シリアル・ストリ
    ングが、関連のデータ・ステアリング制御信号に応じ
    て、その第2の部分を除いた低減構成になるように複数
    のLSSDレジスタからなるシリアル・ストリングを選
    択的に構成するためのデータ・ステアリング手段を含む
    ことを特徴とする、プログラマブル・ゲート・アレイ。
  15. 【請求項15】前記データ・ステアリング制御信号が、
    前記制御レジスタによって提供されることを特徴とす
    る、請求項14に記載のプログラマブル・ゲート・アレ
    イ。
  16. 【請求項16】複数のLSSDレジスタからなる前記シ
    リアル・ストリングの前記低減構成が、単一ビット・バ
    イパス・レジスタのみを含むことを特徴とする、請求項
    15に記載のプログラマブル・ゲート・アレイ。
  17. 【請求項17】追加のプログラマブル・ゲート・アレイ
    が、前記プログラマブル・ゲート・アレイの複数のLS
    SDレジスタからなる前記シリアル・ストリングと直列
    に結合された複数のLSSDレジスタからなる関連シリ
    アル・ストリングを有することを特徴とする、請求項1
    6に記載のプログラマブル・ゲート・アレイ。
  18. 【請求項18】FPGAをテストする方法において、 (a)[1]FPGAの入出力バウンダリ周辺のバウン
    ダリ・スキャン・チェーンとして第1のLSSDスキャ
    ン・レジスタを設けるステップと、[2]FPGAの入
    出力バウンダリに既知の入出力テスト・ベクトルを印加
    するステップと、[3]入出力バウンダリのデータをラ
    ッチ・データとしてバウンダリ・スキャン・チェーンに
    ラッチするステップと、[4]バウンダリ・スキャン・
    チェーンからシリアルにデータをスキャン・アウトし、
    入出力バウンダリのラッチ・データを取り出すステップ
    と、[5]取り出したデータを既知の入出力テスト・ベ
    クトルと比較するステップと、[6]取り出したデータ
    が入出力テスト・ベクトルと一致しないときに、障害を
    報告するステップと、 (b)[1]FPGAの構成論理回路をテストするため
    の構成スキャン・チェーンとして第2のLSSDスキャ
    ン・レジスタを設けるステップであって、構成論理回路
    がメモリ要求信号に応じてFPGAのメモリ・セルにア
    クセスするように動作可能であるステップと、[2]構
    成テスト・ベクトルを構成スキャン・チェーンにスキャ
    ン・インするステップと、[3]構成スキャン・チェー
    ンの構成テスト・ベクトルを構成論理回路に印加するス
    テップと、[4]印加した構成テスト・ベクトルに応答
    して構成論理回路によってもたらされるデータを構成ス
    キャン・チェーンにラッチするステップと、[5]構成
    スキャン・チェーンからシリアルにデータをスキャン・
    アウトし、構成論理回路によってもたらされたデータを
    そこから取り出すステップと、[6]取り出したデータ
    を印加した構成テスト・ベクトルに応じて所定の結果デ
    ータと比較するステップと、[7]取り出したデータが
    印加した構成テスト・ベクトルと関連する所定の結果デ
    ータと一致しないときに、障害を報告するステップと、 (c)[1]FPGAの選択プログラマブル相互接続部
    内に構成した相互接続スキャン・チェーンとして第3の
    LSSDスキャン・レジスタを設けるステップと、
    [2]前記相互接続スキャン・チェーンのそれぞれのL
    SSDスキャン・レジスタ間でFPGAのプログラマブ
    ル相互接続部のうちの1組の相互接続部を構成するステ
    ップと、[3]前記レピータ・スキャン・チェーンの選
    択入力相互接続スキャン・チェーンにシリアルに相互接
    続テスト・ベクトルをスキャン・インし、第1の組の相
    互接続部の入力側に相互接続テスト・ベクトルを印加す
    るステップと、[4]第1の組の相互接続部の出力側か
    ら前記相互接続スキャン・チェーンの選択出力相互接続
    スキャン・チェーンにデータをラッチするステップと、
    [5]選択出力スキャン・チェーンからシリアルにデー
    タをスキャン・アウトし、第1の組の相互接続部の出力
    側からラッチしたデータをそこから取り出すステップ
    と、[6]取り出したデータを相互接続テスト・ベクト
    ルと比較するステップと、[7]取り出したデータが相
    互接続テスト・ベクトルと一致しないときに、障害を報
    告するステップとを含むことを特徴とする、FPGAを
    テストする方法。
  19. 【請求項19】(d)[1]FPGAの所与のプログラ
    マブル資源の構成に関連する、前記構成メモリ・セルの
    うちの所与のメモリ・セルに第1の既知のデータを書き
    込むステップと、[2]続いて、所与のメモリ・セルか
    らデータを取り出すステップと、[3]取り出したデー
    タを第1の既知のデータと比較するステップと、[4]
    取り出したデータが第1の既知のデータと一致しないと
    きに、障害を報告するステップとを含む、FPGAの構
    成メモリ・セルをテストするためのステップをさらに含
    むことを特徴とする、請求項18に記載の方法。
  20. 【請求項20】(d)[5]第1の既知のデータの補数
    である第2の既知のデータを使用して、ステップ(d)
    [1]〜(d)[4]を繰り返すステップをさらに含む
    ことを特徴とする、請求項19に記載の方法。
  21. 【請求項21】FPGAの前記構成メモリ・セルの各メ
    モリ・セルごとにステップ(d)[1]〜(d)[5]
    を繰り返すステップをさらに含むことを特徴とする、請
    求項20に記載の方法。
  22. 【請求項22】前記第3のLSSDスキャン・レジスタ
    のそれぞれが、前記それぞれの第3のLSSDスキャン
    ・レジスタとFPGAの前記プログラマブル相互接続部
    のうちのそれに関連する相互接続部との間で信号を選択
    的に伝播するために、前記構成メモリ・セルのうちの関
    連メモリ・セル内の関連構成データに応じてプログラム
    可能な選択的結合手段を含み、 前記ステップ(c)[1]が、前記選択入力相互接続ス
    キャン・チェーンの前記第3のLSSDスキャン・レジ
    スタを前記第1の組の相互接続部のそれぞれの入力側に
    結合するように、選択プログラマブル相互接続部の前記
    第3のLSSDスキャン・レジスタに関連する前記構成
    メモリ・セルのうちのメモリ・セルに適切な構成データ
    をロードするステップを含むことを特徴とする、請求項
    21に記載の方法。
  23. 【請求項23】FPGAの様々なプログラマブル相互接
    続部をテストするために、関連の選択入力および出力相
    互接続スキャン・チェーンとともに各種の関連する組の
    相互接続部を使用して、複数回、ステップ(c)[1]
    〜(c)[7]を繰り返すステップをさらに含むことを
    特徴とする、請求項22に記載の方法。
  24. 【請求項24】構成論理回路を完全に実行しテストする
    ように、各種の関連構成テスト・ベクトルを使用して、
    複数回、ステップ(b)[1]〜(b)[7]を繰り返
    すステップをさらに含むことを特徴とする、請求項18
    に記載の方法。
  25. 【請求項25】フィールド・プログラマブル・ゲート・
    アレイ(FPGA)をテストする方法において、 (a)[1]複数の入出力ポートと、[2]関連の論理
    構成データに応じて特定の論理回路を提供する複数のプ
    ログラマブル論理ユニットと、[3]関連の経路指定構
    成データに応じて前記複数の入出力ポートのうちの選択
    機能入出力ポートと前記複数のプログラマブル論理ユニ
    ットのうちの選択プログラマブル論理ユニットとを選択
    的に相互接続する複数のプログラマブル相互接続部と、
    [4]複数の構成メモリ・セルであって、複数の構成メ
    モリ・セルのうちの指定のメモリ・セルが、関連の論理
    構成データと経路指定構成データをそれぞれ保持するた
    めに前記複数のプログラマブル論理ユニットおよび前記
    複数のプログラマブル相互接続部に関連付けられている
    複数の構成メモリ・セルと、[5]前記複数の構成メモ
    リ・セルにアクセスし、そこへの構成データのロードを
    可能にするための構成論理回路とを有するFPGAを設
    けるステップと、 (b)関連のLSSD構成スキャン・チェーンを使用し
    て前記構成論理回路の機能性をテストするステップと、 (c)確定的テスト・パターンを使用して前記複数の構
    成メモリ・セルをテストするステップとを含むことを特
    徴とする、FPGAをテストする方法。
  26. 【請求項26】(d)関連のバウンダリ・スキャン・チ
    ェーンを使用して前記複数の入出力ポートのうちの選択
    入出力ポートをテストするステップをさらに含むことを
    特徴とする、請求項25に記載のFPGAをテストする
    方法。
  27. 【請求項27】前記選択入出力ポートが、様々な入出力
    構成を実現するために関連の入出力構成データに応じて
    プログラム可能であり、 選択入出力ポートをテストする前記ステップ(d)が、
    前記様々な構成のうちの所与の構成に応じて選択入出力
    ポートを構成するための入出力構成データを前記構成メ
    モリ・セルにロードするステップを含むことを特徴とす
    る、請求項26に記載のFPGAをテストする方法。
  28. 【請求項28】ステップ(d)の前記ロード・ステップ
    が、データを受け取るための選択入出力ポートを構成
    し、 選択入出力ポートを選択する前記ステップ(d)が、 [1]既知のテスト・データを選択入出力ポートに印加
    するステップと、 [2]選択入出力ポートの結果データを関連のバウンダ
    リ・スキャン・チェーンにラッチするステップと、 [3]バウンダリ・スキャン・チェーンからデータをシ
    フト・アウトし、ラッチした結果データを回復するステ
    ップと、 [4]回復した結果データに応じて前記選択入出力ポー
    トの機能性を判定するステップとをさらに含むことを特
    徴とする、請求項27に記載のFPGAをテストする方
    法。
  29. 【請求項29】ステップ(d)の前記ロード・ステップ
    が、データを送出するための選択入出力ポートを構成
    し、 選択入出力ポートを選択する前記ステップ(d)が、 [1]既知のテスト・データをバウンダリ・スキャン・
    チェーンにスキャン・インし、既知のテスト・データを
    関連の選択入出力ポートに印加するステップと、 [2]選択入出力ポートから結果データを回復するステ
    ップと、 [3]回復した結果データに応じて前記選択入出力ポー
    トの機能性を判定するステップとをさらに含むことを特
    徴とする、請求項27に記載のFPGAをテストする方
    法。
  30. 【請求項30】(d)関連のスキャン・チェーン設計を
    使用して前記複数のプログラマブル・ユニットのうちの
    選択プログラマブル論理ユニットをテストするステップ
    をさらに含むことを特徴とする、請求項25に記載のF
    PGAをテストする方法。
  31. 【請求項31】選択プログラマブル論理ユニットをテス
    トする前記ステップ(d)が、前記特定の論理回路の所
    与の回路構成に応じて選択プログラマブル論理ユニット
    を構成するステップを含むことを特徴とする、請求項3
    0に記載の方法。
  32. 【請求項32】前記関連のスキャン・チェーンが、その
    データを前記選択プログラマブル論理ユニットに選択的
    に印加するために、複数の構成メモリ・セルのうちの指
    定のメモリ・セル内の関連構成データに応じてプログラ
    ム可能であり、 選択プログラマブル論理ユニットをテストする前記ステ
    ップ(d)が、そのデータを前記選択プログラマブル論
    理ユニットに印加するために前記関連のスキャン・チェ
    ーンを構成する追加ステップを含むことを特徴とする、
    請求項30に記載の方法。
  33. 【請求項33】前記プログラマブル論理ユニットが、そ
    こで選択的に構成可能な同期論理デバイスを含み、 前記FPGAが、前記同期論理デバイスにシステム・ク
    ロックを分配するためのクロック分配ネットワークを含
    み、 選択プログラマブル論理ユニットをテストする前記ステ
    ップ(d)が、 [1]前記関連のスキャン・チェーン設計の入力および
    出力LSSDレジスタ間にプログラマブル論理ユニット
    の同期論理デバイスを構成するステップと、 [2]前記入力LSSDレジスタを介して前記同期論理
    デバイスにテスト・データを印加するステップと、 [3]前記クロック分配ネットワークを介して前記同期
    論理デバイスにシステム・クロックのクロック・パルス
    を提供するステップと、 [4]前記出力LSSDレジスタを介して前記同期論理
    デバイスのデータを回復するステップと、 [5]前記同期論理デバイスと関連のクロック分配ネッ
    トワークの機能性を判定するために、印加した前記テス
    ト・データに応じて前記回復データを分析するステップ
    とを含むことを特徴とする、請求項30に記載の方法。
  34. 【請求項34】前記クロック分配ネットワークが、前記
    同期論理デバイスへの代替クロック分配結合を行うよう
    にプログラム可能であり、 前記ステップ(d)が、前記同期論理デバイスへの前記
    代替クロック分配結合のうちの選択クロック分配結合を
    行うようにプログラマブル・クロック分配ネットワーク
    を構成する追加のステップを含むことを特徴とする、請
    求項33に記載の方法。
  35. 【請求項35】前記FPGAが、前記同期論理デバイス
    へシステム・リセット信号を分配するためのリセット分
    配ネットワークを含み、 前記方法が、 (e)[1]前記同期論理デバイスに既知のデータをロ
    ードするためにステップ(d)[1]〜(d)[3]を
    繰り返すステップと、[2]前記リセット分配ネットワ
    ークを介して前記同期論理デバイスにシステム・リセッ
    ト信号動作を提供するステップと、[3]前記出力LS
    SDレジスタを介して前記同期論理デバイスのデータを
    回復するステップと、[4]前記同期論理デバイスとリ
    セット分配ネットワークのリセット機能性を判定するた
    めに回復したデータを分析するステップとにより、前記
    同期論理デバイスとリセット分配ネットワークのリセッ
    ト機能性をテストする追加のステップを含むことを特徴
    とする、請求項33に記載の方法。
  36. 【請求項36】前記関連のスキャン・チェーン設計が、
    前記複数のプログラマブル相互接続部のうちの所与の相
    互接続部内に配置された複数のプログラマブルLSSD
    レジスタを含み、前記複数のプログラマブルLSSDレ
    ジスタが、そのデータを関連の所与の相互接続部に選択
    印加するために関連の構成データに応じてプログラム可
    能であり、 選択プログラマブル論理ユニットをテストする前記ステ
    ップ(d)が、 [1]前記特定の論理回路の所与の回路構成に応じて選
    択プログラマブル論理ユニットを構成するステップと、 [2]関連の所与の相互接続部を介して選択プログラマ
    ブル論理ユニットをインタフェースするように前記複数
    のプログラマブル相互接続部を構成するステップと、 [3]そのデータを関連の所与の相互接続部に印加する
    ように前記複数のLSSDレジスタを構成するステップ
    とを含むことを特徴とする、請求項30に記載に方法。
  37. 【請求項37】選択プログラマブル論理ユニットを構成
    する前記ステップ(d)[1]が、所与の論理設計に応
    じてFPGAの1ブロック分のプログラマブル論理ユニ
    ットと、前記複数のプログラマブル相互接続部のうちの
    関連する組のプログラマブル相互接続部とを構成して、
    ブロック論理回路を提供することを含み、 前記所与の相互接続部が、前記ブロック論理回路への入
    力信号を伝播するための入力相互接続部を提供し、 前記複数のプログラマブル相互接続部を構成する前記ス
    テップ(d)[2]が、前記ブロック論理回路からの出
    力信号を伝播するための出力相互接続部の構成も含み、 前記複数のLSSDレジスタを構成する前記ステップ
    (d)[3]が、ブロック論理回路の入力相互接続部を
    横切る入出力バウンダリ・スキャン・チェーンとして第
    1のスキャン・チェーンを提供し、ブロック論理回路の
    出力相互接続部を横切る出力バウンダリ・スキャン・チ
    ェーンとして第2のスキャン・チェーンをさらに提供
    し、 選択プログラマブル論理ユニットをテストする前記ステ
    ップ(d)が、 [4]回路テスト・ベクトルを入出力バウンダリ・スキ
    ャン・チェーンにスキャン・インし、入出力バウンダリ
    ・スキャン・チェーンの回路テスト・ベクトルをブロッ
    ク論理回路の入力に印加するステップと、 [5]印加した回路テスト・ベクトルに応答してブロッ
    ク論理回路によって提供される結果データを出力バウン
    ダリ・スキャン・チェーンにラッチするステップと、 [6]出力バウンダリ・スキャン・チェーンからシリア
    ルにデータをスキャン・アウトし、結果データを取り出
    すステップと、 [7]所与のブロック論理回路の機能性を判定するため
    に回路テスト・ベクトルと所与の論理設計に応じて事前
    に決定した所定の結果データと取り出した結果データと
    を比較するステップとをさらに含むことを特徴とする、
    請求項36に記載の方法。
  38. 【請求項38】(d)関連のスキャン・チェーンを使用
    して前記プログラマブル相互接続部のうちの選択プログ
    ラマブル相互接続部をテストするステップをさらに含む
    ことを特徴とする、請求項25に記載の方法。
  39. 【請求項39】前記関連のスキャン・チェーンが、その
    データをそれぞれの選択プログラマブル相互接続部に選
    択的に印加するために関連の構成データに応じてプログ
    ラム可能な複数のプログラマブルLSSDレジスタを含
    み、 選択プログラマブル相互接続部をテストする前記ステッ
    プ(d)が、そのデータをそれぞれの選択プログラマブ
    ル相互接続部に印加するように前記複数のプログラマブ
    ルLSSDレジスタを構成するステップを含むことを特
    徴とする、請求項38に記載の方法。
  40. 【請求項40】フィールド・プログラマブル・ゲート・
    アレイ(FPGA)をテストする方法において、前記方
    法が、 (a)複数のピンと、前記複数のピンのうちの機能ピン
    に関連する複数の入出力機能信号線と、関連の論理構成
    データに応じて特定の論理回路を提供する複数のプログ
    ラマブル論理ユニットと、関連の経路指定構成データに
    応じて入出力機能信号線のうちの選択入出力機能線と複
    数のプログラマブル論理ユニットのうちの選択プログラ
    マブル論理ユニットとを選択的に相互接続するための複
    数のプログラマブル相互接続部と、複数のメモリ・セル
    であって、複数のメモリ・セルのうちの指定のメモリ・
    セルが、関連の論理構成データと経路指定構成データを
    それぞれ保持するために複数のプログラマブル論理ユニ
    ットと複数のプログラマブル相互接続部に対して指定さ
    れている複数のメモリ・セルと、メモリ要求信号に応じ
    て複数のメモリ・セルのうちの特定のメモリ・セルにア
    クセスするための構成論理回路と、入出力機能信号線を
    横切るバウンダリ・スキャン・チェーンとして配置され
    た第1のLSSDスキャン・レジスタと、構成論理回路
    に関連して構成スキャン・チェーンとして配置された第
    2のLSSDスキャン・レジスタと、前記複数のプログ
    ラマブル相互接続部のうちの選択プログラマブル相互接
    続部に沿って配置された相互接続スキャン・チェーンを
    提供する第3のLSSDスキャン・レジスタであって、
    複数のメモリ・セルのうちの適切なメモリ・セル内に保
    持された関連のラッチ構成データに応じてそれぞれのプ
    ログラマブル相互接続部に選択的に結合される第3のL
    SSDスキャン・レジスタとを有するFPGAを設ける
    ステップと、 (b)[1]バウンダリ・スキャン・チェーン、構成ス
    キャン・チェーン、および相互接続スキャン・チェーン
    のそれぞれによりシリアルに既知のテスト・データをス
    キャンするステップと、[2]前記それぞれのスキャン
    ・チェーンの機能性を判定するために、前記それぞれの
    スキャン・チェーンによりスキャンしたデータをそれに
    関連する既知のテスト・データと比較するステップとに
    より、様々なスキャン・チェーンをテストするステップ
    と、 (c)[1]関連の機能ピンとバウンダリ・スキャン・
    チェーンの関連の第1のLSSDスキャン・レジスタと
    の間の入出力機能信号線を既知のテスト・データを通過
    させるステップと、[2]入出力機能信号線と関連の機
    能ピンの機能性を判定するために、実際にそこを通過し
    たデータと既知のテスト・データとを比較するステップ
    とにより、入出力機能信号線と関連の機能ピンをテスト
    するステップと、 (d)[1]テスト・ベクトルをシリアルに構成スキャ
    ン・チェーンにスキャンし、テスト・ベクトルを構成論
    理回路に印加するステップと、[2]印加したテスト・
    ベクトルに応じて構成論理回路によってもたらされる結
    果データをラッチした結果データとして構成スキャン・
    チェーンにラッチするステップと、[3]ラッチした結
    果データを取り出したデータとしてシリアルに構成スキ
    ャン・チェーンからスキャン・アウトするステップと、
    [4]構成論理回路の機能性を判定するために、テスト
    ・ベクトルと構成論理回路の予定動作に応じて事前に決
    定した予想結果データと取り出したデータとを比較する
    ステップとにより、構成論理回路をテストするステップ
    と、 (e)[1]データを伝播するために関連の経路指定構
    成データに応じて複数のプログラマブル相互接続部のう
    ちの第1の組の相互接続部を構成するステップであっ
    て、第1の組の相互接続部のうちのそれぞれの相互接続
    部が入力側と出力側とを有するステップと、[2]前記
    第1の組の相互接続部の入力側にそのデータを印加する
    ために、関連のレピータ・ラッチ構成データに応じて前
    記相互接続スキャン・チェーンのうちの第1の相互接続
    スキャン・チェーンを構成するステップと、[3]前記
    第1の組の相互接続部の出力側からデータを受け取るた
    めに第2の相互接続スキャン・チェーンを提供するステ
    ップと、[4]第1の相互接続スキャン・チェーンにシ
    リアルに既知のテスト・データをスキャン・インし、前
    記第1の組の相互接続部の入力側に既知のテスト・デー
    タを印加するステップと、[5]前記第1の組の相互接
    続部の出力側に提示されたデータをラッチした結果デー
    タとして第2の相互接続スキャン・チェーンにラッチす
    るステップと、[6]第2の相互接続スキャン・チェー
    ンからシリアルにデータをスキャン・アウトし、ラッチ
    した結果データを取り出したデータとして回復するステ
    ップと、[7]第1の組の相互接続部の機能性を判定す
    るために、取り出したデータを既知のテスト・データと
    比較するステップとにより、プログラマブル相互接続部
    をテストするステップとを含むことを特徴とする方法。
  41. 【請求項41】[1]前記複数のメモリ・セルの所与の
    位置に既知の入力データを書き込むステップと、 [2]前記複数のメモリ・セルの所与の位置からデータ
    を読み取るステップと、 [3]前記メモリ・セルの機能性を判定するために、そ
    こから読み取ったデータと既知の入力データとを比較す
    るステップとにより、前記複数のメモリ・セルをテスト
    するステップ(f)をさらに含むことを特徴とする、請
    求項40に記載の方法。
  42. 【請求項42】前記ステップ(d)がステップ(f)よ
    り先行することを特徴とする、請求項41に記載の方
    法。
  43. 【請求項43】前記ステップ(e)が前記ステップ
    (f)の後に続くことを特徴とする、請求項42に記載
    の方法。
JP29891396A 1995-12-12 1996-11-11 テスト可能なプログラマブル・ゲート・アレイとそのテスト方法 Expired - Fee Related JP3710070B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/570846 1995-12-12
US08/570,846 US5867507A (en) 1995-12-12 1995-12-12 Testable programmable gate array and associated LSSD/deterministic test methodology

Publications (2)

Publication Number Publication Date
JPH09178822A true JPH09178822A (ja) 1997-07-11
JP3710070B2 JP3710070B2 (ja) 2005-10-26

Family

ID=24281291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29891396A Expired - Fee Related JP3710070B2 (ja) 1995-12-12 1996-11-11 テスト可能なプログラマブル・ゲート・アレイとそのテスト方法

Country Status (4)

Country Link
US (2) US5867507A (ja)
JP (1) JP3710070B2 (ja)
KR (1) KR100234649B1 (ja)
TW (1) TW298619B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843795B2 (en) 2006-03-15 2014-09-23 Nec Corporation Test system of reconfigurable device and its method and reconfigurable device for use therein

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137048B2 (en) * 2001-02-02 2006-11-14 Rambus Inc. Method and apparatus for evaluating and optimizing a signaling system
US5867507A (en) * 1995-12-12 1999-02-02 International Business Machines Corporation Testable programmable gate array and associated LSSD/deterministic test methodology
US5767709A (en) * 1996-01-19 1998-06-16 Sgs-Thomson Microelectronics, Inc. Synchronous test mode initalization
US6089460A (en) * 1996-09-13 2000-07-18 Nippon Steel Corporation Semiconductor device with security protection function, ciphering and deciphering method thereof, and storage medium for storing software therefor
US6857099B1 (en) 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US5995425A (en) * 1997-07-23 1999-11-30 International Business Machines Corporation Design of provably correct storage arrays
US6071314A (en) * 1997-09-29 2000-06-06 Xilinx, Inc. Programmable I/O cell with dual boundary scan
US6023778A (en) * 1997-12-12 2000-02-08 Intel Corporation Method and apparatus for utilizing mux scan flip-flops to test speed related defects by delaying an active to inactive transition of a scan mode signal
US6473727B1 (en) * 1998-03-06 2002-10-29 Lsi Logic Corporation Processor development systems
US6272655B1 (en) * 1998-06-11 2001-08-07 Actel Corporation Method of reducing test time for NVM cell-based FPGA
US6966021B2 (en) * 1998-06-16 2005-11-15 Janusz Rajski Method and apparatus for at-speed testing of digital circuits
US6202182B1 (en) * 1998-06-30 2001-03-13 Lucent Technologies Inc. Method and apparatus for testing field programmable gate arrays
US6347387B1 (en) * 1998-10-09 2002-02-12 Agere Systems Guardian Corp. Test circuits for testing inter-device FPGA links including a shift register configured from FPGA elements to form a shift block through said inter-device FPGA links
US6226716B1 (en) * 1998-12-22 2001-05-01 Unisys Corporation Test driver for use in validating a circuit design
WO2000067378A1 (en) * 1999-04-30 2000-11-09 Lockheed Martin Corporation Method and apparatus for a single event upset (seu) tolerant clock splitter
US6598178B1 (en) * 1999-06-01 2003-07-22 Agere Systems Inc. Peripheral breakpoint signaler
US6928581B1 (en) * 1999-09-14 2005-08-09 International Business Machines Corporation Innovative bypass circuit for circuit testing and modification
US9134370B2 (en) 1999-11-23 2015-09-15 Mentor Graphics Corporation Continuous application and decompression of test patterns and selective compaction of test responses
US6557129B1 (en) 1999-11-23 2003-04-29 Janusz Rajski Method and apparatus for selectively compacting test responses
US7493540B1 (en) 1999-11-23 2009-02-17 Jansuz Rajski Continuous application and decompression of test patterns to a circuit-under-test
US9664739B2 (en) 1999-11-23 2017-05-30 Mentor Graphics Corporation Continuous application and decompression of test patterns and selective compaction of test responses
US6874109B1 (en) 1999-11-23 2005-03-29 Janusz Rajski Phase shifter with reduced linear dependency
US6327687B1 (en) 1999-11-23 2001-12-04 Janusz Rajski Test pattern compression for an integrated circuit test environment
US6684358B1 (en) 1999-11-23 2004-01-27 Janusz Rajski Decompressor/PRPG for applying pseudo-random and deterministic test patterns
JP3845016B2 (ja) * 1999-11-23 2006-11-15 メンター・グラフィクス・コーポレーション テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション
US8533547B2 (en) * 1999-11-23 2013-09-10 Mentor Graphics Corporation Continuous application and decompression of test patterns and selective compaction of test responses
US6353842B1 (en) * 1999-11-23 2002-03-05 Janusz Rajski Method for synthesizing linear finite state machines
US6769080B2 (en) * 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
JP2001274253A (ja) * 2000-03-28 2001-10-05 Toshiba Corp Fpga互換ゲートアレイ
US6449576B1 (en) * 2000-03-29 2002-09-10 International Business Machines Corporation Network processor probing and port mirroring
US6567943B1 (en) * 2000-04-07 2003-05-20 International Business Machines Corporation D flip-flop structure with flush path for high-speed boundary scan applications
US6507925B1 (en) * 2000-05-18 2003-01-14 Sun Microsystems, Inc. Spatial and temporal alignment of a scan dump for debug of scan-based designs
US6687864B1 (en) * 2000-06-08 2004-02-03 Cypress Semiconductor Corp. Macro-cell flip-flop with scan-in input
US6530049B1 (en) 2000-07-06 2003-03-04 Lattice Semiconductor Corporation On-line fault tolerant operation via incremental reconfiguration of field programmable gate arrays
US6588001B1 (en) * 2000-08-31 2003-07-01 Micron Technology, Inc. Method for inserting repeater cells in a deep sub-micron design
US7490275B2 (en) 2001-02-02 2009-02-10 Rambus Inc. Method and apparatus for evaluating and optimizing a signaling system
JP4121948B2 (ja) * 2001-06-12 2008-07-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及び当該集積回路をテストするための方法
US6757856B2 (en) 2001-06-29 2004-06-29 International Business Machines Corporation Apparatus and method for hardware-assisted diagnosis of broken logic-test shift-registers
DE10148157B4 (de) * 2001-09-28 2006-05-18 Infineon Technologies Ag Programmgesteuerte Einheit
US6693477B2 (en) 2001-10-22 2004-02-17 Research In Motion Limited Clock circuit for a microprocessor
US20030084390A1 (en) * 2001-10-26 2003-05-01 Mentor Graphics Corporation At-speed test using on-chip controller
US7127550B1 (en) 2001-10-31 2006-10-24 Sandisk Corporation Multi-module simultaneous program, erase test, and performance method for flash memory
US6996758B1 (en) * 2001-11-16 2006-02-07 Xilinx, Inc. Apparatus for testing an interconnecting logic fabric
US6983405B1 (en) * 2001-11-16 2006-01-03 Xilinx, Inc., Method and apparatus for testing circuitry embedded within a field programmable gate array
US20030182609A1 (en) * 2002-01-31 2003-09-25 Shirish Agrawal Pass gate multiplexer
US6848067B2 (en) * 2002-03-27 2005-01-25 Hewlett-Packard Development Company, L.P. Multi-port scan chain register apparatus and method
US7234092B2 (en) * 2002-06-11 2007-06-19 On-Chip Technologies, Inc. Variable clocked scan test circuitry and method
JP2004021833A (ja) * 2002-06-19 2004-01-22 Renesas Technology Corp 自己テスト機能内蔵半導体集積回路およびそれを備えたシステム
US7424658B1 (en) * 2002-07-01 2008-09-09 Altera Corporation Method and apparatus for testing integrated circuits
US7032146B2 (en) * 2002-10-29 2006-04-18 International Business Machines Corporation Boundary scan apparatus and interconnect test method
US6941539B2 (en) * 2002-10-31 2005-09-06 Src Computers, Inc. Efficiency of reconfigurable hardware
US7200784B2 (en) * 2003-01-24 2007-04-03 On-Chip Technologies, Inc. Accelerated scan circuitry and method for reducing scan test data volume and execution time
JP4274806B2 (ja) * 2003-01-28 2009-06-10 株式会社リコー 半導体集積回路およびスキャンテスト法
US7509550B2 (en) * 2003-02-13 2009-03-24 Janusz Rajski Fault diagnosis of compressed test responses
US7302624B2 (en) * 2003-02-13 2007-11-27 Janusz Rajski Adaptive fault diagnosis of compressed test responses
US7437640B2 (en) * 2003-02-13 2008-10-14 Janusz Rajski Fault diagnosis of compressed test responses having one or more unknown states
ATE400845T1 (de) * 2003-02-13 2008-07-15 Mentor Graphics Corp Komprimieren von testantworten unter verwendung eines kompaktors
US7143376B1 (en) * 2003-03-04 2006-11-28 Xilinx, Inc. Method and apparatus for design verification with equivalency check
US7386826B1 (en) * 2003-06-24 2008-06-10 Xilinx, Inc. Using redundant routing to reduce susceptibility to single event upsets in PLD designs
US7058919B1 (en) * 2003-10-28 2006-06-06 Xilinx, Inc. Methods of generating test designs for testing specific routing resources in programmable logic devices
US8418221B1 (en) 2003-10-28 2013-04-09 Xilinx, Inc. Methods of prioritizing routing resources to generate and evaluate test designs in programmable logic devices
US7454675B1 (en) * 2004-10-22 2008-11-18 Xilinx, Inc. Testing of a programmable device
US7509552B2 (en) * 2005-01-21 2009-03-24 International Business Machiens Corporation Multi-thread parallel segment scan simulation of chip element performance
US8327202B2 (en) * 2005-07-13 2012-12-04 Hewlett-Packard Development Company, L.P. System and method for scan testing
US7590909B2 (en) * 2005-08-24 2009-09-15 Hewlett-Packard Development Company, L.P. In-circuit testing system and method
US7600168B2 (en) * 2005-12-26 2009-10-06 Prolific Technology Inc. Apparatus with programmable scan chains for multiple chip modules and method for programming the same
EP2048784A4 (en) * 2006-07-27 2010-10-27 Panasonic Corp INTEGRATED SEMICONDUCTOR SWITCHING, PROGRAMMING DEVICE AND ILLUSTRATION DEVICE
EP2074537A1 (en) * 2006-10-16 2009-07-01 Thomson Licensing Tolerant in-system programming of field programmable gate arrays (epgas)
US8352815B2 (en) * 2006-10-18 2013-01-08 Arm Limited Circuit and method operable in functional and diagnostic modes
US7646210B2 (en) * 2007-01-05 2010-01-12 International Business Machines Corporation Method and system for low-power level-sensitive scan design latch with power-gated logic
US7757198B1 (en) 2007-04-10 2010-07-13 Lattice Semiconductor Corporation Scan chain systems and methods for programmable logic devices
US8769357B1 (en) * 2009-07-23 2014-07-01 Gidel Ltd. System and method for evaluation of a field programmable gate array (FPGA)
US8677199B2 (en) * 2010-02-16 2014-03-18 Apple Inc. Pulse dynamic logic gates with mux-D scan functionality
US8381144B2 (en) * 2010-03-03 2013-02-19 Qualcomm Incorporated System and method of test mode gate operation
US8839063B2 (en) * 2013-01-24 2014-09-16 Texas Instruments Incorporated Circuits and methods for dynamic allocation of scan test resources
GB2519353A (en) * 2013-10-18 2015-04-22 St Microelectronics Res & Dev Testing method, testing apparatus and circuit for use with scan chains
US9898562B2 (en) * 2014-01-30 2018-02-20 Mentor Graphics Corporation Distributed state and data functional coverage
US9823304B2 (en) 2015-04-30 2017-11-21 Stmicroelectronics S.R.L. Integrated electronic device having a test architecture, and test method thereof
EP3435545B1 (en) 2015-10-15 2023-06-07 Menta System and method for testing and configuration of an fpga
US20170184665A1 (en) * 2015-12-28 2017-06-29 Qualcomm Incorporated Dynamically configurable shared scan clock channel architecture
EP3355196A1 (en) 2017-01-27 2018-08-01 Menta Fpga and method of operation
EP3376669A1 (en) 2017-03-17 2018-09-19 Menta Fpga and method of fpga programming
CN112462245B (zh) * 2019-09-09 2022-08-19 英业达科技有限公司 边界扫描互联线路的生成方法与装置
KR20230125324A (ko) 2021-01-08 2023-08-29 멘타 시스템 온 칩 아키텍처, 인터포저, fpga 및 설계 방법
US11948653B2 (en) * 2021-07-20 2024-04-02 Avago Technologies International Sales Pte. Limited Early error detection and automatic correction techniques for storage elements to improve reliability
EP4361650A1 (en) * 2021-07-30 2024-05-01 Huawei Technologies Co., Ltd. Method for designing test circuit, and electronic device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783254A (en) * 1972-10-16 1974-01-01 Ibm Level sensitive logic system
US4461001A (en) * 1982-03-29 1984-07-17 International Business Machines Corporation Deterministic permutation algorithm
US5329471A (en) * 1987-06-02 1994-07-12 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US4855669A (en) * 1987-10-07 1989-08-08 Xilinx, Inc. System for scan testing of logic circuit networks
DE3886038T2 (de) * 1988-07-13 1994-05-19 Philips Nv Speichergerät, das einen zur Ausführung einer Selbstprüfung adaptierten statischen RAM-Speicher enthält und integrierte Schaltung, die als eingebauten statischen RAM-Speicher ein solches Gerät enthält.
US4980889A (en) * 1988-12-29 1990-12-25 Deguise Wayne J Multi-mode testing systems
JP2612618B2 (ja) * 1989-10-13 1997-05-21 富士通株式会社 半導体集積回路装置
US5285453A (en) * 1990-12-28 1994-02-08 International Business Machines Corporation Test pattern generator for testing embedded arrays
US5221865A (en) * 1991-06-21 1993-06-22 Crosspoint Solutions, Inc. Programmable input/output buffer circuit with test capability
US5301156A (en) * 1991-07-18 1994-04-05 Hewlett-Packard Company Configurable self-test for embedded RAMs
US5278841A (en) * 1991-10-30 1994-01-11 International Business Machines Corporation Method and apparatus for diagnosing net interconnect faults using echo pulsed signals
US5347519A (en) * 1991-12-03 1994-09-13 Crosspoint Solutions Inc. Preprogramming testing in a field programmable gate array
US5425036A (en) * 1992-09-18 1995-06-13 Quickturn Design Systems, Inc. Method and apparatus for debugging reconfigurable emulation systems
US5781756A (en) * 1994-04-01 1998-07-14 Xilinx, Inc. Programmable logic device with partially configurable memory cells and a method for configuration
US5550843A (en) * 1994-04-01 1996-08-27 Xilinx, Inc. Programmable scan chain testing structure and method
US5732246A (en) * 1995-06-07 1998-03-24 International Business Machines Corporation Programmable array interconnect latch
US5867507A (en) * 1995-12-12 1999-02-02 International Business Machines Corporation Testable programmable gate array and associated LSSD/deterministic test methodology

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843795B2 (en) 2006-03-15 2014-09-23 Nec Corporation Test system of reconfigurable device and its method and reconfigurable device for use therein

Also Published As

Publication number Publication date
JP3710070B2 (ja) 2005-10-26
KR100234649B1 (ko) 1999-12-15
US5867507A (en) 1999-02-02
TW298619B (en) 1997-02-21
US6021513A (en) 2000-02-01
KR970051348A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
JPH09178822A (ja) テスト可能なプログラマブル・ゲート・アレイとそのテスト方法
US5084874A (en) Enhanced test circuit
US5631911A (en) Integrated test circuit
US5495487A (en) Testing buffer/register
US5173904A (en) Logic circuits systems, and methods having individually testable logic modules
US4860290A (en) Logic circuit having individually testable logic modules
US8468403B2 (en) Data register control from TAP+ATC or discrete WSP signals
US4493077A (en) Scan testable integrated circuit
US6898544B2 (en) Instruction register and access port gated clock for scan cells
JP2575764B2 (ja) 複数の制御/観察ノードを有するテスト可能な論理装置
US4833676A (en) Interleaved method and circuitry for testing for stuck open faults
US20050005217A1 (en) Test standard interfaces and architectures
KR20010013935A (ko) 비휘발성 소자를 사용하는 프로그램 가능 논리 디바이스의구성 제어
US5640402A (en) Fast flush load of LSSD SRL chains
US4742293A (en) Pseudo-memory circuit for testing for stuck open faults
JPH0731230B2 (ja) 回路における相互接続障害の診断方法及び装置
US6990619B1 (en) System and method for automatically retargeting test vectors between different tester types
US7404129B2 (en) TAP IR control with TAP/WSP or WSP DR control
US4682329A (en) Test system providing testing sites for logic circuits
EP0358371B1 (en) Enhanced test circuit
Gericota et al. On-line Testing of FPGA Logic Blocks Using Active Replication
Welles et al. A testing methodology for large scale hybrid VLSI

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050630

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050805

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees