(57)【特許請求の範囲】
【請求項１】
すべてのターゲットＩ／Ｏ端子に接続されていないアクセス不能ノードを含む電子回路設計を実施するようにプログラムされ、複数のターゲットＩ／Ｏ端子を備えた試験対象のプログラマブル論理デバイス（ＰＬＤ）を、外部の測定器によって回路内分析を行うための装置において、
前記試験対象のＰＬＤを動作させる外部回路に、前記試験対象のＰＬＤを接続するための手段と、
前記試験対象のＰＬＤにおける前記アクセス不能ノードそれぞれに対応してエミュレートしたアクセス不能ノードを生成するようにプログラムされたシャドーＰＬＤであって、複数のシャドーＩ／Ｏ端子を備え、前記シャドーＩ／Ｏ端子の第１の組が前記ターゲットＩ／Ｏ端子の第１の組をエミュレートし、前記シャドーＩ／Ｏ端子の第２の組が前記エミュレートされたアクセス不能ノードに結合されていることを特徴とするシャドーＰＬＤと、
前記シャドーＩ／Ｏ端子の第１の組と前記ターゲットＩ／Ｏ端子の第１の組との間における電気接続部の第１の組と、
前記外部測定器に結合するための測定プローブ・コネクタと、
前記ターゲットＩ／Ｏ端子及び前記シャドーＩ／Ｏ端子の第２の組を前記測定プローブ・コネクタに接続する電気接続部の第２の組とを含む装置。
【請求項２】
前記シャドーＩ／Ｏ端子数が、少なくとも前記ターゲットＩ／Ｏ数と同じだけあることを特徴とする、請求項１に記載の装置。
【請求項３】
前記シャドーＰＬＤにおける電子回路設計の配置を、前記試験対象のＰＬＤにおける電子回路設計の配置にほぼ物理的に一致させることによって、前記シャドーＰＬＤが前記試験対象のＰＬＤを物理的にエミュレートするようにプログラムされていることを特徴とする、請求項１または請求項２に記載の装置。
【請求項４】
前記シャドーＰＬＤにおけるクリティカル・パスのタイミングを前記試験対象のＰＬＤにおけるクリティカル・パスのタイミングにほぼ一致させることによって、前記シャドーＰＬＤが試験対象のＰＬＤのパラメータをエミュレートするようにプログラムされていることを特徴とする、請求項１ないし請求項３のいずれかに記載の装置。 
【請求項５】
前記試験対象のＰＬＤにおける前記電子回路設計に結合された内部評価回路をさらに含むことを特徴とする請求項１ないし請求項４のいずれかに記載の装置。
【請求項６】
測定プローブ・コネクタに結合されて、シャドーＰＬＤにおいて実施された電子回路設計に分析データ・ストリームを提供する計測器をさらに含むことを特徴とする、請求項１ないし請求項５のいずれかに記載の装置。
【請求項７】
前記シャドーＩ／Ｏ端子の第２の組のうちのいくつかに結合されて、前記シャドーＰＬＤに制御信号を供給するための実行制御計測器をさらに含むことを特徴とする、請求項１ないし請求項６のいずれかに記載の装置。
【請求項８】
複数のプログラマブル回路ブロックと、複数のアクセス不能内部ノードと、複数のＩ／Ｏ端子を備え、試験対象のプログラマブル論理デバイス（ＰＬＤ）にプログラムされている際に、前記アクセス不能内部ノードが前記Ｉ／Ｏ端子にとってアクセス不能になるような、前記試験対象のＰＬＤの分析を行うための方法において、
（１）前記試験対象のＰＬＤの前記Ｉ／Ｏ端子を、前記Ｉ／Ｏ端子と結合された前記試験対象のＰＬＤと共に動作する外部回路に結合するステップと、
（２）少なくとも前記試験対象のＰＬＤと同じ数だけプログラマブル回路ブロックを備え、少なくとも前記試験対象のＰＬＤのＩ／Ｏ端子の一部が結合されている複数のシャドーＩ／Ｏ端子を備えるシャドーＰＬＤを設けるステップと、
（３）前記試験対象のＰＬＤのプログラマブル回路ブロックの一部または全部と、複数の前記アクセス不能内部ノードをほぼエミュレートするように、前記シャドーＰＬＤにプログラムするプログラミング・ステップとを含み、前記プログラミング・ステップが、少なくとも前記シャドーＩ／Ｏ端子の一部と前記シャドーＰＬＤの前記アクセス不能内部ノードが電気的に結合されることを特徴とする方法。
【請求項９】
（４）前記外部回路を操作して、前記試験対象のＰＬＤと前記シャドーＰＬＤの両方を駆動するステップを含むこと特徴とする、請求項８に記載の方法。
【請求項１０】
前記ステップ（３）に、前記シャドーＰＬＤ内でエミュレートされた電子回路と前記試験対象のＰＬＤ内で実施される電子回路のパラメータが一致するように、タイミング制約条件を指定するステップがさらに含まれることを特徴とする、請求項８または請求項９に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般に、電子回路のテストに関するものであり、とりわけ、集積回路を分析して、デバイスの端子に接続されていない多数の内部ノードにアクセスできるようにするための装置に関するものである。
【０００２】
【従来の技術】
一般に電子回路において、とりわけ、集積回路において、個々の集積回路デバイス内における複雑さ及び機能性は増大する傾向にある。広く認められているように、集積回路の内部回路構成が、複雑さを増すにつれて、集積回路のテスト及び分析は、より重要になる。しかし、集積回路は、デバイスの端子（すなわち、パッケージ化集積回路内の集積回路にアクセスするための外部金属接続部）数が制限されている。デバイス端子は、一般に、「ピン」、「パッド」、または、「リード」とも呼ばれる。一般に、各デバイス端子は、１つ、または、おそらく少数の内部ノードにアクセスしている。デバイス端子によって、内部回路セルに関する入力、出力、または、双方向入力／出力（Ｉ／Ｏ）が可能になる。さらに、デバイス端子には、集積回路に対する電力供給専用としなければならないものもある。
【０００３】
プログラマブル論理デバイス（ＰＬＤ）は、エンド・ユーザが決定する多種多様な論理機能を実施するようにプログラムすることが可能なクラスのデバイスである。ＰＬＤには、デバイスの構成を変更するのにヒューズを焼き切る（すなわち、伝導リンクを除去する）方法をとるため、１度だけのプログラムしかできないものがある。また、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）のような、何度でもプログラムし直すことが可能なＰＬＤもある。ＰＬＤは、必要な機能性及びタイミング要件が得られるように作られた少数のデバイスで複雑な回路を実施することが可能になるので、ますます普及の度を増している。
【０００４】
ＰＬＤの設計、分析、及びプログラミングは、コンピュータで実行されるソフトウェア・アプリケーションによって実施される。設計は、グラフィック入力パッケージによる概略図として、または、ハードウェア記述言語によるテキスト・ファイルとして入力される。次に、シミュレーション・パッケージを用いて、その機能及びタイミング特性が意図通りであることを確認することによって回路の分析が行われる。次にこの設計回路は、配置及び経路選択パッケージを使って、ＰＬＤにプログラムしダウン・ロードすることが可能な形式に翻訳される。構成されたＰＬＤは、設計者の理論的理解通りに、かつ、シミュレーションどおりに動作することが期待される。しかし、このプロセスは、結果としてうまくゆかないことが多く、ＰＬＤの動作が理論上の動作、つまりはシミュレーションによる動作とどうして異なってしまうのか、はっきりと断定することはできない。従って、ＰＬＤの設計を完全なものにするのに、かなりの再試行回数及び総開発時間を必要とする場合が多い。
【０００５】
シミュレーションによって、設計者は設計回路内の任意のノードにおける回路の動作を検査することができる。検査される動作特性には２つのタイプ、すなわち、（１）機能、及び（２）タイミングまたは性能が存在する。機能の分析は、回路の動作試験によって行われる。タイミング動作の分析は、回路に現われる速度及び信号遅延／立ち上がり／立ち下がり時間の検査によって行われる。回路のタイミング／性能は、必要とされる仕様の範囲内でなければならない。シミュレーション・プログラムは回路の数学モデルを生成し、その回路が配置されるＰＬＤの実際の性能の推定値を利用して設計される。シミュレーション・プログラムは、ＰＬＤ機能シミュレーションに関して適度に正確である。しかし、ＰＬＤが接続されて共に動作している外部回路（例えば、マイクロプロセッサ、メモリ、ディスク、別の同期または非同期の独立体とのインターフェイス）のモデル化が不完全であるために、該プログラムは不正確になる。
【０００６】
しかし、ＰＬＤのタイミングに影響を及ぼす多数の要素のため、設計のタイミング性能をシミュレートするのは極めて困難である。これらの要素に関する値を正確に推定するには、かなりの計算時間を要することになる。さらに、そのシミュレーションには、さらに多くの変数が考慮されるので、シミュレーション・プログラムの実行は、さらに長時間を要することになる。高速コンピュータを用いたとしても、完全で正確なシミュレーションの実行には、数日かかることも稀ではない。正確なタイミング・シミュレーションは、有効か有効でないかは別としても、その実行においては典型的には高価で時間のかかるものである。
【０００７】
ＰＬＤにおいて実施されるように回路を設計するプロセスにおいて必要なステップは、プログラムされたＰＬＤの評価を行って、それが設計仕様を満たすかどうか確認することである。ＰＬＤは、プログラムされてそれがその上で動作すべき回路に結合されるのが望ましい。回路内評価は、その回路が使用されるであろう実際の条件下で、設計された回路の分析を行うことを可能にする。通常、プログラムされたＰＬＤが最初の試みで理想的に機能することはないので、設計プロセスは何度か繰り返される。各繰り返し毎にＰＬＤの動作を分析して、どこに設計の欠陥があるかを確認しなければならない。これらの欠陥は補正され、新たなＰＬＤがプログラムされ（または、ＰＬＤが再プログラムされ）、評価が繰り返される。
【０００８】
ＰＬＤにおいて単純な回路を実施し、既知の入力条件に応答してＰＬＤから所望の出力が得られるかをテストすることによってその動作を分析することが可能である。これらの単純な設計の場合、ＰＬＤ端子において得られるデータだけを利用している間は、間違った出力を分析し、その原因を識別することが可能である。しかし、より複雑な設計の場合、複数セル設計のポートのない内部セルに関連する問題によって、所与のセル出力に間違った応答を生じる可能性がある。ＰＬＤの出力端子の数は限られているし、あるいは内部のトレース・ルーチン・チャネルの数が制限されているので、これらの内部セルにアクセスすることはできない。従来、ＰＬＤの分析は、推測、直感、及び時間のかかる手動分析に依存していた。また、その代替案として、設計者はコンピュータ・シミュレーションに頼って内部ノードを分析することもできた。不正確なシミュレーションに努力しても、誤った分析結果となるか、あるいはプロトタイプまたは最終製品の環境におけるＰＬＤの動作不良との相関が得られなくなる。
【０００９】
もう１つの技巧は集積回路内における試験利便性の設計である。この技法を用いると、数に限りのあるＰＬＤまたはＦＰＧＡセルの一部が、クリティカルな内部セルに対する直接または間接アクセスを可能にするテスト及び分析機能専用になる。しかし、アクセス可能な内部ノード数が利用可能なデバイスの端子数によって厳しく制限されるのは明らかである。また、分析が完了すると、これらの端子は集積回路のために全く機能を果たさず、単なる無駄なデバイス部品になってしまう場合が多い。これは、ユーザにとって集積回路のコストが上昇することになる。さらに、これらの形態をとった設計によって、集積回路のデバイスのサイズまたはセルの数、レイアウト、機能性、及びタイミング特性に影響を及ぼす更なる制約条件が集積回路の設計に加えられることになる。
【００１０】
【発明が解決しようとする課題】
従って、プロトタイプまたは最終回路環境における内部セルへのアクセスのし易さが向上した、集積回路装置及び方法が必要とされている。
【００１１】
【課題を解決するための手段】
要するに本発明によれば、電子回路設計を実施するようにプログラムされ、特定の機能及びタイミング特性を備えるように内部構成が選択された試験対象のＰＬＤを分析するための装置及び方法が得られる。該装置によって、オシロスコープやステート・アナライザまたはロジック・アナライザのような外部測定装置にとって試験対象のＰＬＤへの接続が便利になる。
【００１２】
試験対象のＰＬＤは、複数の入力、出力、及び双方向入力／出力（Ｉ／Ｏ）端子を備えている。本発明による装置は試験対象のＰＬＤをエミュレートするための手段を含んでおり、このエミュレーション手段は複数の入力端子を備えており、その大部分は試験対象のＰＬＤの入力端子に対応する。該エミュレーション手段には、複数の独自の出力端子も含まれている。該装置はさらに、試験対象のＰＬＤとエミュレーション手段の両方の入力端子を、試験対象のＰＬＤが共に動作すべき外部回路要素に結合するための手段も含んでいる。該装置はさらに、試験対象のＰＬＤの端子から全ての信号を受信する第１の手段と、エミュレーション手段の独自の端子から信号を受信する第２の手段も含んでいる。独自の端子へのアクセスを可能にすることによって分析が大幅に単純化され、内部ノードに関連する故障の発見率が大幅に向上する。
【００１３】
ある好適実施例の場合、本装置は、試験対象のＰＬＤをエミュレートするソケット式シャドー集積回路（ＩＣ）を含むことが可能であり、ターゲット出力端子が、その通常のホーム環境を駆動し、一方、シャドーＩＣの出力端子が、試験対象のＰＬＤの入力端子をモニタするようにプログラムされている。該装置は、（ｉ）全ての試験対象のＰＬＤ  Ｉ／Ｏ及び全てのシャドー出力ピンを含むことが可能な１組の測定測定器プローブ・コネクタと、（ｉｉ）１組の電気相互接続部を含むことも可能である。
【００１４】
本発明は、試験対象のＰＬＤを分析するための方法とみなすことも可能であり、試験対象のＰＬＤは、いくつかのプログラマブル回路ブロックと、複数のアクセス不能内部ノードと、複数のＩ／Ｏ端子を備えており、試験対象のＰＬＤにプログラムされている場合、複数のアクセス不能内部ノードが、複数のＩ／Ｏ端子にとってアクセス不能になる。
【００１５】
【実施例】
先行技術における解決困難な問題点は、試験対象のＰＬＤをシミュレートするのではなく、エミュレートする電子回路の分析方法及び装置によって解決される。好ましい実施例によれば、試験対象のＰＬＤ１０４（図１〜図５に示す）が、図２及び図３のＰＬＤ３０４のようなシャドーＰＬＤ、図４のシャドーＰＬＤ４０４、及び図５のシャドーＰＬＤ５０４によってエミュレートされる。試験対象のＰＬＤ１０４とシャドーＰＬＤ３０４は両方とも、プロトタイプ回路または最終回路環境に配置されるように意図されている。試験対象のＰＬＤ１０４には、プロトタイプまたは最終回路に結合されたＩ／Ｏ端子が含まれており、従って、試験対象のＰＬＤ１０４はプロトタイプまたは最終回路を駆動する。対照的に、シャドーＰＬＤ３０４の少なくともいくつかのＩ／Ｏ端子並びにシャドーＰＬＤ３０４の他の任意の未使用ピンは、試験対象のＰＬＤ１０４内にポートを通常は有しない内部セル・ノードを駆動またはモニタするために利用可能である。
【００１６】
シャドーＰＬＤ３０４は、機能的及び／またはパラメータ的に試験対象のＰＬＤ１０４と同じに構成することが望ましい。従って、シャドーＰＬＤ３０４は、試験対象のＰＬＤ１０４と全く同じ環境及びタイミングに支配される。本発明によれば、測定器を使って試験対象のＰＬＤ１０４の全てのＩ／Ｏ端子をモニタすると同時に、シャドー・デバイス３０４のＩ／Ｏ端子を介して大きいセットをなすエミュレートされた内部セル・ノードを駆動またはモニタすることが可能になる。
【００１７】
シャドーＰＬＤ３０４は、再プログラム可能なデバイスまたは１度だけプログラム可能ないくつかのデバイスへプログラムされる、複数の組をなす内部セルによって実施することが可能である。この結果、全ての内部ノードにアクセスすることが可能になる。同じサイズの試験対象デバイスとシャドー・デバイスによって、別様であればアクセス不能なこれらかなりの数の内部ノードに同時にアクセスすることが可能になる。シャドーＰＬＤ３０４が試験対象のＰＬＤ１０４より多くのＩ／Ｏ端子を備えるように選択されると、より多くの内部ノードにアクセスすることが可能になる。従って、本発明によるシャドーＰＬＤ３０４を使用することによって、所与のアプリケーションに必要な他の全ての回路と共に動作している間に、試験対象のＰＬＤ１０４の詳細な動作分析が可能になる。
【００１８】
図１には、回路基板１０５上で外部回路１００及び１０３と相互動作するように結合された、本明細書において試験対象ＰＬＤ１０４と称する、先行技術によるプログラマブル集積回路またはプログラマブル論理デバイス（ＰＬＤ）が示されている。もちろん図１はＰＬＤ１０４及び回路基板１０５を極めて簡略化して表したものである。外部回路１００は、ＰＬＤ１０４に入力を供給し、外部回路１０３はＰＬＤ１０４からの出力を受信する。また、大抵の場合において、ＰＬＤ１０４への入力の供給とＰＬＤ１０４からの出力の受信の両方を行う外部回路（不図示）もある。従って、図１の簡略化された表現は本発明を制限するものではない。
【００１９】
入力端子１０１ａ〜１０１ｄは一般に、双方向入力／出力バッファ１０８を介して内部回路ブロック１０９に結合される。本発明の目的に対して、ＰＬＤ１０４の特定の構成は重要ではない。本発明の目的を達成するためには、ノード１１１のような内部ノードによって互いに接続された複数の回路ブロック１０９から成るデバイスがＰＬＤに含まれている。ＰＬＤ１０４は、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、プログラムド・アレイ論理素子（ＰＡＬ）、およびプログラマブル論理アレイ（ＰＬＡ）等と呼称されるタイプのデバイスも含む、様々な市販のプログラマブル論理デバイスのうちの任意のものを表している。
【００２０】
回路ブロック１０９のそれぞれには、対応する回路ブロック１０９からの信号の入力方向を指す矢印で表示された少なくとも１つの入力ノードと、対応する回路ブロックへの信号の出力方向を指す矢印によって表示された少なくとも１つの出力ノードが備えられている。回路ブロック１０９は、入力端子１０１ａ〜１０１ｄから供給されるデータに処理を施し、処理済みのデータをＩ／Ｏバッファ１０８のうち選択されたバッファに供給する。少なくとも１つの論理ブロック１０９の出力ノードがＩ／Ｏバッファ１０８に結合されて、出力端子１０２ａ〜１０２ｄに出力信号が送り出される。
【００２１】
図１に示されているのは、入力１０１ａ〜１０１ｄの全てをＰＬＤ１０４の一方の側に整列させ、出力の全てをＰＬＤ１０４のもう一方の側に整列させた、極めて単純化された構造である。云うまでもなく、この配列は単なる例示のためのものである。実際の応用例では、Ｉ／Ｏブロック１０８はそれぞれ、任意の回路ブロック１０９のセットに相互接続される、入力、出力、及び双方向Ｉ／Ｏバッファを合せ持ったものを備えることが可能である。また、任意の論理ブロック１０９の出力を他の任意の論理ブロック１０９またはＩ／Ｏバッファ１０８の入力に結合することができるので、回路ブロック１０９間の相互接続も、その近傍に対してだけの相互接続と比べて複雑になる。複雑なＰＬＤ設計のこれらの形態は周知のところであり、これ以上の詳細な説明はここでは控えることにする。
【００２２】
もちろんＰＬＤ１０４は、ＣＭＯＳ、ＴＴＬ、ＥＣＬ等を含む任意の半導体テクノロジによるものとすることも可能である。さらに、本発明による装置は、デジタル、アナログ、またはその混合回路タイプを含む任意のタイプの回路ブロックとすることが可能である。また本発明によれば、ＰＬＤ１０４は単一チップの集積回路やマルチチップ・モジュール等とすることが可能である。Ｉ／Ｏブロック１０８は、図示のように双方向性とすることもできるし、あるいは、Ｉ／Ｏブロック１０８の一部または全てをＰＬＤメーカの選択した特定の設計に従って単方向性入力または出力とすることも可能である。説明を容易にするために、図にはＰＬＤ１０４のデータ部分だけしか示されていない。もちろん、各ＰＬＤ１０４は、電源及び接地接続を施すための手段並びに回路ブロック１０９をプログラムするための何らかの手段、及び回路ブロック１０９間のプログラマブル相互接続を必要とすることは言うまでもない。電源、接地、及びプログラムの形態はＰＬＤメーカに固有のものであり、本発明による形態または限定ではない。従って特定のＰＬＤの場合、ＰＬＤ１０４のこれらの機能要件はメーカのデータ・シートを参照することによって明らかになる。
【００２３】
図２には、本発明によるアダプタ・セット２００のブロック図が示されている。回路基板２０１は、分析を必要とする試験対象のＰＬＤ１０４といったＰＬＤのような集積回路を含むように設計された任意の回路基板を表している。回路基板２０１は、試験対象のＰＬＤ１０４を受容しこれを接続し保持できるようなサイズを有する集積回路ソケット２０２を含むものであれば、従来の回路基板として製造することが可能である。不図示の他の回路は、直接、またはソケット２０２と同様のソケットを用いて回路基板２０１に取り付けられる。その回路の構成部品を相互接続するため、１つまたは複数の配線層が回路基板２０１に形成される。
【００２４】
試験対象のＰＬＤ１０４は通常、ソケット２０２に直接取り付けられる。しかし本発明によれば、試験対象のＰＬＤ１０４は第１のアダプタ・ボード２０３上に備えられたソケット２１２に取り付けられる。該ソケット２１２はソケット２０２と同様のものであり、ＰＬＤ１０４のＩ／Ｏ端子（不図示）を受容しアダプタ・ボード２０３と電気的に接続するためのものである。複数のピン２０５を具備する接続プラグまたは拡張ボードは、アダプタ・ボード２０３をソケット２０２に搭載し電気的に接続する。
【００２５】
コネクタ２０４は、複数の個々の電気接続点（不図示）を具備しており、アダプタ・ボード２０３に取り付けられている。該個々の電気接続点をソケット２１２に電気的に接続するために、プリント回路基板プロセスによる方法またはそれと同等な方法を利用してアダプタ・ボード２０３に配線が形成される。このようにして、ＰＬＤ１０４がソケット２１２に差し込まれると、コネクタ２０４の個々の電気接続点はＰＬＤ１０４のＩ／Ｏ端子に電気的に接続される。
【００２６】
シャドーＰＬＤ３０４に対する電気接続を保持し支援するために、第２の両面アダプタ・ボード２０７が設けられる。アダプタ・ボード２０７は、両面ＰＣボード法を用いて簡単に形成され、アダプタ・ボード２０７の底部表面と上部表面の両方に取り付けられた素子の相互接続のための複数のトレースまたはワイヤを備えている。
【００２７】
コネクタ２０６には複数の接続点または金属トレースが備えられている。該接続点または金属トレースはコネクタ２０４の個々の接続点と電気的に接続され、これにより試験対象のＰＬＤ１０４のＩ／Ｏ端子とアダプタ・ボード２０７との間が電気的に接続される。ピンまたはトレース２０５の数は、コネクタ２０４及び２０６によって得られる接続点数と一致し、該コネクタはまた、試験対象のＰＬＤ１０４におけるＩ／Ｏ端子数にも一致している。
【００２８】
コネクタ２０６はプリント配線及び／またはメッキされた経路によってアダプタ・ボード２０７を介してスイッチ・デバイス２０９に接続される。スイッチ２０９はプリント配線またはその同等物によってソケット２０８にも結合されており、これによってシャドーＰＬＤ３０４の個々のＩ／Ｏ端子への電気接続、保持も行われる。スイッチ２０９は、シャドーＰＬＤ３０４の個々のＩ／Ｏ端子と試験対象のＰＬＤ１０４の個々のＩ／Ｏ端子を選択的に接続する働きをする。スイッチ２０９はまた、シャドーＰＬＤ３０４及び試験対象のＰＬＤ１０４のＩ／Ｏ端子のうちの選択された端子を測定器用のプローブ・ピン２１１に結合する。
【００２９】
アダプタ２０７はスイッチ２０９を利用することにより汎用アダプタになる。つまり、ＰＬＤ１０４に与えられたユーザによる構成が可能なＩ／Ｏ配置に整合するように構成することができる汎用アダプタである。スイッチ２０９は、デュアル・イン・ライン・ピン（ＤＩＰ）・スイッチのバンクによって形成することも可能である。代替案として、低インピーダンスで、低ノイズの半導体スイッチまたはリレーを用いてスイッチ２０９を実施することも可能である。また、不図示の周知の回路を利用してスイッチ２０９を電気的にプログラムすることも任意に選択できる。
【００３０】
プローブ・ピン２１１は、ユーザがオシロスコープやロジック・アナライザ等のような測定器を試験対象のＰＬＤ１０４及び／またはシャドーＰＬＤ３０４の選択されたデバイスのＩ／Ｏ端子に接続できるように備えられている。また、プローブ・ピン２１１を利用すれば、クロック発生器または関数発生器のような外部駆動回路を個々のＩ／Ｏ端子に結合することも可能である。
【００３１】
図２は、本発明によるアダプタ・セット２００がどのようにしてシャドーＰＬＤ３０４と試験対象のＰＬＤ１０４を並列に接続させるのかを示している。ＰＬＤ１０４及び３０４のいずれかまたは両方の各Ｉ／Ｏ端子は、プローブ・ピン２１１に適切な測定器を接続することによってうまくプローブされる。例示及び説明を容易にするため、試験対象のＰＬＤ１０４及びシャドーＰＬＤ３０４への電力供給に必要な全ての電源ラインについては例示または説明を行わない。上に特別に記述したＰＬＤの信号端子だけでなくＰＬＤの電源の端子も同じく、多目的で便利な同様の結合手段を介して取り扱われる。
【００３２】
図３には、本発明による方法及び装置を用いた典型的な回路が示されている。図３に示す特定の例の場合、ＰＬＤ１０４は、設計確認または後で生じる問題の切り分け及び補正のための測定分析を行う対象のデバイスである。試験対象のＰＬＤ１０４は、構成可能な相互接続ノード１１１によって結合される複数の構成可能回路ブロック（configurable circuit block）１０９を備えた、ＦＰＧＡ回路から構成される。極めて簡略化された試験対象のＰＬＤ１０４にはごく単純な相互接続だけしか含まれていないが、理解しておかなければならないのは、極めて複雑な相互接続も企図されているということである。典型的な試験対象のＰＬＤ１０４は数百の回路ブロック１０９を備えている。本発明の開示は、任意のサイズのＰＬＤ１０４に合わせて拡大縮小が可能なものである。ＰＬＤ１０４は、ハイブリッド・モジュールやマルチチップ・モジュール等において互いに結合された個々の構成部品と共に、単一集積回路内または多重集積回路内に実現することが可能である。
【００３３】
ＰＬＤ１０４には、出力端子１０２ａ〜１０２ｄに直接アクセスすることができない、ノード１１１のような多くの内部ノードが含まれている。これらの内部ノードは、端子１０１ａ〜１０１ｄのような入力端子にもアクセスすることができない。このため、出力端子１０２ａ〜１０２ｄにおいて得られるデータだけに基づく従来の分析テクノロジの利用では、シャドーＰＬＤ１０４の機能及び／またはＡＣ（タイミング）分析が前述のように大幅に制限される。
【００３４】
本発明によれば、シャドーＰＬＤ３０４は、ＰＬＤ１０４の機能性とＰＬＤ１０４のタイミングのいずれかまたは両方をエミュレートするようにプログラムすることができるという点で構成可能である。シャドーＰＬＤ３０４は、試験対象のＰＬＤ１０４に比べて同様か、それより多い数の回路ブロック３０９を備えるのが望ましい。さらにシャドーＰＬＤ３０４は、試験対象のＰＬＤ１０４において実施される電子回路設計に結合される内部評価回路を具備することが望ましい。同様に、シャドーＰＬＤ３０４は、試験対象のＰＬＤ１０４と同じかそれ以上のＩ／Ｏ端子（すなわち、端子３０１ａ〜３０１ｄ及び３０２ａ〜３０２ｄ）を備えることが望ましい。さらに、Ｉ／Ｏブロック３０８の数及び配置は、試験対象のＰＬＤ１０４におけるＩ／Ｏブロック１０８の数及び配置に対応づけられている。回路ブロック３０９間の相互接続は、回路ブロック１０９間の相互接続と同様のものである。
【００３５】
換言すれば、シャドーＰＬＤ３０４は回路ブロック１０９と同様に機能する回路ブロック３０９を備えるように構成される。「同様」の意図するところは、シャドーＰＬＤ３０４の相互接続及び機能性が、実施すべき分析の正確さ及び分解能を満たすのに十分な程度に、試験対象のＰＬＤ１０４の相互接続及び機能性と同じであるということである。
【００３６】
シャドーＰＬＤ３０４は、試験対象のＰＬＤ１０４をエミュレートするようにプログラムされる。この機能を果たすため、端子１０１ａ〜１０１ｄといった試験対象のＰＬＤ１０４のＩ／Ｏ端子の多くは、シャドーＰＬＤ３０４の３０１ａ〜３０１ｄといった類似のＩ／Ｏ端子に結合するのが望ましい。これは、シャドーＰＬＤ３０４の機能性が、受信する刺激データによって決まるためである。シャドーＰＬＤ３０４が試験対象のＰＬＤ１０４の機能性の全てをエミュレートするためには、同様の刺激データを受信しなければならない。これを実施するために、スイッチ３２２ａ〜３２２ｄが閉じることによってＩ／Ｏ端子３０１ａ〜３０１ｄが入力端子１０１ａ〜１０１ｄに結合される。スイッチ３２２ａ〜３２２ｄ及び３２３ａ〜３２３ｄが図２に示すスイッチ２０９の特定の実施例である。
【００３７】
図３の例におけるＩ／Ｏ端子１０２ａ〜１０２ｄは、従来のやり方で試験対象のＰＬＤ１０４から出力データまたは応答ベクトルを送り出す。出力端子１０２ａ〜１０２ｄからの出力データは第１の出力データ・セットを含んでいる。本発明によれば、出力端子３０２ａ〜３０２ｄは、電気的に独立した出力データが生じるように、スイッチ３３２ａ〜３３２ｄによって出力端子１０２ａ〜１０２ｄから切り離される。また、シャドーＰＬＤ３０４は、その出力端子３０２ａ〜３０２ｄがノード３２１ａ〜３２１ｄのような内部ノードに結合されるようにするために、試験対象のＰＬＤ１０４とは別様に構成される。これは、シャドーＰＬＤ３０４が、ＦＰＧＡまたは他の構成可能論理デバイスの場合に実施が容易である。
【００３８】
試験対象のＰＬＤ１０４とシャドーＰＬＤ３０４の相違を考慮して、２組のコンフィギュレーション・データを発生することが必要になる。この要件によって、コンフィギュレーション・プロセスの複雑さが多少増すことになるが、内部ノードに対するアクセスの利点は、その複雑さを増すという代償を補って余りある。
【００３９】
シャドーＰＬＤ３０４は、試験対象のＰＬＤ１０４のタイミング特性並びに機能特性をエミュレートするように構成することが望ましい。試験対象のＰＬＤが、ＦＰＧＡのようなプログラム可能な回路である場合、タイミングまたはパラメータのエミュレーションは、コンフィギュレーション・ソフトウェア（すなわち、回路の概略設計をＰＬＤに対するコンフィギュレーション命令に変換するソフトウェア）に、シャドー・デバイスの相互接続の経路選択をターゲット・デバイスの経路選択とできるだけ同等にみなすように強制することによって実施可能である。これらの修正は、設計者によるレイアウトに関する制約条件の設定（すなわち、（１）設計要素を同じ特定の回路ブロックに固定するとか、あるいは、（２）シャドー・レイアウトのためのガイドとしてターゲット・レイアウトを利用するといった）を可能にする既存のソフトウェア・ツールを用いて実施することが可能である。これらの制約条件が設定されると、該ソフトウェアにおいて具現化された特定の配置及び経路選択方法に従って、従来のソフトウェアがシャドーＰＬＤ３０４の設計の経路選択を行うことが可能になる。
【００４０】
図３に示す実施例の場合、シャドーＰＬＤ３０４は、それを用いなければアクセス不能であるノード３１１に対して追加出力を設けるためだけに用いられる。応用例によっては、ポートのない回路ブロックに代替または補助入力信号を供給するのが望ましい場合もある。これによって、問題の原因を見つけ出すことができるようにするか、あるいはそれを速め、代替設計の比較検査が行えるようにすることが可能になる。
【００４１】
図４に示すように、シャドーＰＬＤ４０４は、相互接続された複数の構成可能回路ブロック４０９を備えている。第２の実施例の場合、シャドーＰＬＤ４０４はＦＰＧＡ等である。第２の実施例の場合、Ｉ／Ｏピン４０２ａにおけるＩ／Ｏブロック４０８の１つ（図４に太線で示された部分）は、入力ピン４０１ａから送られてくる入力信号に結合され、それと連係して動作する。図４の場合、構成可能回路ブロック４０９のそれぞれを含むシャドーＰＬＤ４０４の残りの部分は、試験対象のＰＬＤ１０４をエミュレートするように構成される。従って、本発明の方法及び装置によれば、試験対象のＰＬＤ１０４の分析を速めるための追加の出力と追加の入力の両方が得られる。
【００４２】
ある特定の例では、計器４０３がＩ／Ｏピン４０２ａに結合される。計器４０３は刺激計器（stimulus instrumentation）とすることが可能である。ここでの刺激計器とは、Ｉ／Ｏライン４０１ａに接続された外部回路を通して供給するのが困難なデータ・ストリームを、シャドーＰＬＤ４０４に供給するために用いられるものである。代替案として計器４０３は、分析中に便利なあるいは特有の制御信号を供給する実行制御計器（run control instrumentation）とすることも可能である。計器４０３は、シャドーＰＬＤ４０４の内部ノードからアナログ・データでもデジタル・データでも捕捉するように構成することも可能である。
【００４３】
図４には、追加入力が１つだけしか示されていないが、もちろん、シャドーＰＬＤ４０４において有効な入力端子４０１ａ〜４０１ｄ及び出力端子４０２ａ〜４０２ｄの数に従って、任意の数の追加入力を設けることが可能である。選択された特定の実施例は、開発、製造、または顧客のアプリケーション環境において有効な特定要件及び資源に適応するのに十分な柔軟性を有する。
【００４４】
用途によっては、ある問題を完全に分析するのに、試験対象のＰＬＤ１０４にプログラムされる回路要素の全てをエミュレートする必要がない場合もある。例えば、図５に点線のボックスで示されたグループ１２５のようなある区別されたグループ（第１のグループ）をなす論理素子が、試験対象のＰＬＤ１０４において実施される回路の他の残りの部分から独立して機能することもあり得る。グループ１２５における回路構成がテストしやすいか、あるいは以前に同等の利用がなされて分析されている場合もそうである。こうした場合、試験される論理素子のグループ１２５に存在する通常の機能を省いて、試験対象のＰＬＤ１０４の残りの部分を機能的に、さらに幾分かはパラメータ的にエミュレートすることが可能である。従って、論理素子のグループ５２５は、他の機能を実施するのにシャドーＰＬＤ５０４において有効である。
【００４５】
これを実施するため、スイッチ３２２ａ〜３２２ｄによって、シャドー入力ピン５０１ａ〜５０１ｄとターゲット入力端子１０１ａ〜１０１ｄの間における選択的結合を行うことが可能である。スイッチ３２２ａを開くと、入力端子５０１ａの刺激信号がシャドーＰＬＤ５０４の入力端子１０１ａから分離される。出力端子５０１ａは、論理素子のグループ５２５の内部ノードに信号を送り込むように再構成される。グループ５２５は、特別な内部機能を有するように構成される（すなわち、試験対象のＰＬＤのグループ１２５をエミュレートするようには構成されない）。図５に示すように、この機能によって、より速いか、より広いか、あるいはより複雑な刺激ベクトルが生じ、ライン１０１ａにおける刺激ベクトルに置き換わることになる。
【００４６】
本発明のこの実施例によれば、外部回路としてではなく、シャドーＰＬＤ５０４内部において、パターン発生器のような刺激回路及び／または、カウンタまたはステート・マシン（state machine）のような応答モニタ／パッキング回路を実施することが可能になる。この形態によって、内部機能が（１）分析される回路ブロックにより近く、（２）動作速度の最も遅い素子（外部Ｉ／Ｏ）が除去され、（３）速度を増す並列設計方法を利用して実施されるために、外部装置よりも速い、正確な測定が可能になる。特殊機能の直列−並列変換によって、テストに必要なＩ／Ｏブロック及びピンを減らすことも可能である。
【００４７】
要するに本発明はプログラマブル論理デバイスにおいて実施される回路設計の分析方法及び装置を教示するものである。本発明による方法及び装置によれば、回路の内部ノードに対するアクセスが可能になる。本発明による方法及び装置では、シャドーＰＬＤの入力端子と出力端子を接続させた時に、このシャドーＰＬＤを用いて分析対象のＰＬＤをエミュレートすることによって、その分析対象のＰＬＤに関してそれ自体から得ることができるよりも多くの情報が得られる。また、構成可能論理デバイスによって、分析対象のＰＬＤだけでは不可能な、改良された分析能力をもたらす回路構成を実施することが可能である。ただし、はっきりと理解しておくべきことは、請求の範囲に記載の発明はいくつかの望ましい実施例の説明に限定されるものではなく、本発明の概念の範囲及び精神に含まれる他の修正及び変更を網羅するものである。
【００４８】
〔実施態様〕
なお、本発明の実施態様の例を以下に示す。
【００４９】
〔実施態様１〕
ターゲットＩ／Ｏ端子のどれにも接続されていないアクセス不能ノード（１１１）を含む電子回路設計を実施するようにプログラムされ、いくつかのターゲットＩ／Ｏ端子（１０８）を備えた試験対象のプログラマブル論理デバイス（ＰＬＤ）（１０４）を、外部の測定器によって回路内分析を行うための装置において、
試験対象のＰＬＤがその中で動作するように設計されている外部回路に、試験対象のＰＬＤを接続するための手段（２００）と、
試験対象のＰＬＤにおけるアクセス不能ノードそれぞれに対応してエミュレートしたアクセス不能ノード（３１１）を生成するようにプログラムされたシャドーＰＬＤ（３０４）であって、いくつかのシャドーＩ／Ｏ端子を備え、シャドーＩ／Ｏ端子（３０８）の第１の組がターゲットＩ／Ｏ端子の第１の組をエミュレートし、シャドーＩ／Ｏ端子（３０８）の第２の組が、エミュレートされたアクセス不能ノードに結合されていることを特徴とするシャドーＰＬＤと、
シャドーＩ／Ｏ端子の第１の組とターゲットＩ／Ｏ端子の第１の組との間における電気接続部の第１の組と、
外部測定器に結合するための測定プローブ・コネクタ（２１１）と、
ターゲットＩ／Ｏ端子及びシャドーＩ／Ｏ端子の第２の組を測定プローブ・コネクタに接続する電気接続部の第２の組とを含むことを特徴とする装置。
【００５０】
〔実施態様２〕
シャドーＩ／Ｏ端子数が、少なくともターゲットＩ／Ｏ数と同じだけあることを特徴とする、実施態様１に記載の装置。
【００５１】
〔実施態様３〕
シャドーＰＬＤにおける電子回路設計の配置を試験対象のＰＬＤにおける電子回路設計の配置にほぼ物理的に一致させることによって、シャドーＰＬＤが試験対象のＰＬＤを物理的にエミュレートするようにプログラムされていることを特徴とする、実施態様１または実施態様２に記載の装置。
【００５２】
〔実施態様４〕
シャドーＰＬＤにおけるクリティカル・パスのタイミングを試験対象のＰＬＤにおけるクリティカル・パスのタイミングにほぼ一致させることによって、シャドーＰＬＤが試験対象のＰＬＤをパラメータ的にエミュレートするようにプログラムされていることを特徴とする、実施態様１ないし実施態様３のいずれか一項に記載の装置。
【００５３】
〔実施態様５〕
測定プローブ・コネクタに結合されて、シャドーＰＬＤにおいて実施された電子回路設計に分析データ・ストリームを提供する計測器（４０３）がさらに含まれることを特徴とする、実施態様１ないし実施態様４のいずれか一項に記載の装置。
【００５４】
〔実施態様６〕
シャドーＩ／Ｏ端子の第２の組のうちのいくつかに結合されて、シャドーＰＬＤに制御信号を供給するための実行制御計測器（４０３）がさらに含まれることを特徴とする、実施態様１ないし実施態様５のいずれか一項に記載の装置。
【００５５】
〔実施態様７〕
いくつかのプログラマブル回路ブロック（１０９）と、複数のアクセス不能内部ノード（１１１）と、複数のＩ／Ｏ端子（１０８）を備え、試験対象のプログラマブル論理デバイス（ＰＬＤ）にプログラムされている時、アクセス不能内部ノードがＩ／Ｏ端子にとってアクセス不能になるような、試験対象のＰＬＤ（１０４）の分析を行うための方法において、
（１）試験対象のＰＬＤのＩ／Ｏ端子を、試験対象のＰＬＤがそれと共に動作するように意図された外部回路に結合するステップ（２００）と、
（２）少なくとも試験対象のＰＬＤと同じ数だけプログラマブル回路ブロック（３０９）を備え、少なくともそのいくつかが試験対象のＰＬＤのＩ／Ｏ端子に結合されている複数のシャドーＩ／Ｏ端子（３０８）を備えるシャドーＰＬＤ（３０４）を設けるステップと、
（３）試験対象のＰＬＤの前記いくつかのプログラマブル回路ブロック及び複数のアクセス不能内部ノードをほぼエミュレートするように、シャドーＰＬＤにプログラムするステップ
とを含んだ方法であり、このプログラミング・ステップが、シャドーＩ／Ｏ端子の少なくともいくつかとシャドーＰＬＤのアクセス不能内部ノードが電気的に結合されるように実施されることを特徴とする方法。
【００５６】
〔実施態様８〕
（４）外部回路を操作して、試験対象のＰＬＤとシャドーＰＬＤの両方を駆動するステップがさらに含まれることを特徴とする、実施態様７に記載の方法。
【００５７】
〔実施態様９〕
ステップ（３）に、シャドーＰＬＤ内でエミュレートされた電子回路を試験対象のＰＬＤ内で実施される電子回路にパラメータ的に一致させるように、タイミング制約条件を指定するステップがさらに含まれることを特徴とする、実施態様７または実施態様８に記載の方法。
【００５８】
〔実施態様１０〕
試験対象のＰＬＤ及びシャドーＰＬＤが、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）を備えることを特徴とする、実施態様７ないし実施態様９のいずれか一項に記載の方法。
【００５９】
【発明の効果】
以上詳細に説明したように、本発明による装置を使用するとＰＬＤ内部のノードにアクセスすることが可能になり、分析が大幅に単純化され、分析対象のＰＬＤ自身から得られるデータよりも多くの情報を得ることができるので、内部ノードに関するバグの発見率が大幅に向上する。また該装置によって、オシロスコープやステート・アナライザまたはロジック・アナライザのような外部測定装置にとって試験対象のＰＬＤへの接続が便利になる。また、従来ＰＬＤ内部のテスト及び分析機能専用となっていた部分を省くことができるので、ＰＬＤの開発製造コスト低減にも効果的である。
【図面の簡単な説明】
【図１】先行技術によるプログラマブル論理デバイスを示すブロック図である。
【図２】本発明による装置の略断面図である。
【図３】本発明による第１の実施例のブロック図である。
【図４】本発明による第２の実施例のブロック図である。
【図５】本発明による第３の実施例のブロック図である。
【符号の説明】
１００：外部回路
１０１ａ：入力端子
１０１ｂ：入力端子
１０１ｃ：入力端子
１０１ｄ：入力端子
１０２ａ：出力端子
１０２ｂ：出力端子
１０２ｃ：出力端子
１０２ｄ：出力端子
１０３：外部回路
１０４：試験対象のＰＬＤ
１０５：回路基板
１０８：双方向入力／出力バッファ
１０９：内部回路ブロック
１１１：ノード
１２５：論理素子グループ
２００：アダプタ・セット
２０１：回路基板
２０２：ソケット
２０３：第１のアダプタ・ボード
２０４：コネクタ
２０５：ピン
２０６：コネクタ
２０７：第２の両面アダプタ・ボード
２０８：ソケット
２０９：スイッチ
２１１：プローブ・ピン
２１２：ソケット
３０１ａ：Ｉ／Ｏ端子
３０１ｂ：Ｉ／Ｏ端子
３０１ｃ：Ｉ／Ｏ端子
３０１ｄ：Ｉ／Ｏ端子
３０２ａ：Ｉ／Ｏ端子
３０２ｂ：Ｉ／Ｏ端子
３０２ｃ：Ｉ／Ｏ端子
３０２ｄ：Ｉ／Ｏ端子
３０４：シャドーＰＬＤ
３０８：Ｉ／Ｏブロック
３０９：回路ブロック
３２２ａ：スイッチ
３２２ｂ：スイッチ
３２２ｃ：スイッチ
３２２ｄ：スイッチ
４０１ａ：入力端子
４０１ｂ：入力端子
４０１ｃ：入力端子
４０１ｄ：入力端子
４０２ａ：出力端子
４０２ｂ：出力端子
４０２ｃ：出力端子
４０２ｄ：出力端子
４０３：測定器
４０４：シャドーＰＬＤ
４０８：Ｉ／Ｏブロック
４０９：構成可能ブロック
５０１ａ：シャドー入力ピン
５０１ｂ：シャドー入力ピン
５０１ｃ：シャドー入力ピン
５０１ｄ：シャドー入力ピン
５０４：シャドーＰＬＤ
５２５：論理素子グループ
【図１】
0003682363.tif 000002
【図２】
0003682363.tif 000003
【図３】
0003682363.tif 000004
【図４】
0003682363.tif 000005
【図５】
0003682363.tif 000006