試験情報表示装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体
【課題】STILで記述された電子回路素子用試験プログラムから所望の試験情報を取得し、その取得した情報をユーザが見やすい形式で表示する装置を提供する。
【解決手段】STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示装置(1000)は、前記試験プログラムを参照するプログラム参照手段(10)と、前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得手段(20)と、前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得手段(20)と、前記取得した試験情報を配列する試験情報配列手段(40)と、前記配列された試験情報を表示する試験情報表示手段(50)と、を備える。
【解決手段】STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示装置(1000)は、前記試験プログラムを参照するプログラム参照手段(10)と、前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得手段(20)と、前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得手段(20)と、前記取得した試験情報を配列する試験情報配列手段(40)と、前記配列された試験情報を表示する試験情報表示手段(50)と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その情報を表示する試験情報表示装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体に関する。
【背景技術】
【0002】
近年、半導体集積回路などの電子回路素子の多ピン化や機能の複雑化が進み、それに伴って電子回路素子の試験の内容も複雑化し、使用するテストパターンの種類やデータ量も増大している。
【0003】
通常、電子回路素子を試験する場合にはテスタと呼ばれる装置を用いる。テスタは、被測定物である電子回路素子の入力端子に所定のパターンの信号を入力し、出力端子から出力される信号をチェックする機能を有する(例えば、特許文献1を参照)。また、テスタは通常、プログラムで制御され、試験は自動的に行われる。
【0004】
テスタを制御するプログラムの記述言語は、従来、テスタの製造会社ごとに独自に採用されていた。従って、異なる製造会社のテスタに搭載されたプログラムを編集する場合には、ユーザがそれぞれの記述言語を理解する必要があり、それが負担となっていた。
【0005】
そのような負担を低減するために、電子回路素子を試験するために用いるプログラムの記述言語を共通化する試みがなされ、STIL(Standard Test Interface Language)が国際標準(IEEE Std 1450.0-1999)として採用された(例えば、非特許文献1を参照)。この共通記述言語により、異なるテスタ間でも容易に共通の試験環境を利用できるようになった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】再表99/040450号
【非特許文献】
【0007】
【非特許文献1】http://www.starc.jp/stil/top-j.html(2011年1月7日閲覧)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、STILを使用しても依然として以下のような問題が存在する。
主に論理LSIを試験するためのテスタには、テストパターンを自動生成するATPG(Automatic Test Pattern Generator)が搭載されているが、このATPGが生成するテストパターンは、テスタの機種によって異なる。そのため、ユーザがテストパターンの内容を確認するためには、テキストビューア等のソフトウェアで試験プログラムを参照し、このプログラムのテストパターン生成部分の記述から把握しなくてはならない。
【0009】
このテストパターンの確認は骨の折れる作業であり、プログラムに関する専門的知識も必要となる。従って、すべてのユーザが容易にできる作業ではない。特に、端子に入力するパルスのパターンを把握することは非常に困難である。
【0010】
本発明は上記の事情に鑑みて創案されたものであり、本発明の目的は、STILで記述された電子回路素子用試験プログラムから所望の試験情報を取得し、その情報を表示させる装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体を提供することである。
【0011】
本発明の別の目的は、STILで記述された電子回路素子用試験プログラムにおける試験情報をユーザに見やすい形式で表示する装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体を提供することである。
【課題を解決するための手段】
【0012】
前記課題を解決するために創案された請求項1の発明は、STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示装置であって、前記試験プログラムを参照するプログラム参照手段と、前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得手段と、前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得手段と、前記取得した試験情報を配列する試験情報配列手段と、前記配列された試験情報を表示する試験情報表示手段と、を備えることを特徴とする。
【0013】
前記課題を解決するために創案された請求項2の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、前記試験情報取得手段は、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする。
【0014】
前記課題を解決するために創案された請求項3の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、前記試験情報取得手段は、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする。
【0015】
前記課題を解決するために創案された請求項4の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、前記試験情報取得手段は、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする。
【0016】
前記課題を解決するために創案された請求項5の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、前記試験情報取得手段は、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする。
【0017】
前記課題を解決するために創案された請求項6の発明は、請求項1ないし5の何れか一項に記載の試験情報表示装置が、前記試験情報取得手段が取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力手段をさらに備えることを特徴とする。
【0018】
前記課題を解決するために創案された請求項7の発明は、請求項1ないし6の何れか一項に記載の試験情報表示装置が、前記プログラム参照手段が参照した試験プログラムからコメント文を削除するプログラム編集手段をさらに備えることを特徴とする。
【0019】
前記課題を解決するために創案された請求項8の発明は、請求項1ないし7の何れか一項に記載の試験情報表示装置において、前記試験情報表示手段はユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索手段を有し、さらに、該試験情報表示手段は、前記検索手段が検索した項目に関する情報のみを表示することを特徴とする。
【0020】
前記課題を解決するために創案された請求項9の発明は、STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示方法であって、前記試験プログラムを参照するプログラム参照段階と、前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得段階と、前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得段階と、前記取得した試験情報を配列する試験情報配列段階と、前記配列された試験情報を表示する試験情報表示段階と、を含むことを特徴とする。
【0021】
前記課題を解決するために創案された請求項10の発明は、請求項9に記載の試験情報表示方法において、前記データブロック取得段階では、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、前記試験情報取得段階では、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする。
【0022】
前記課題を解決するために創案された請求項11の発明は、請求項9に記載の試験情報表示方法において、前記データブロック取得段階では、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、前記試験情報取得段階では、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする。
【0023】
前記課題を解決するために創案された請求項12の発明は、請求項9に記載の試験情報表示方法において、データブロック取得段階では、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、前記試験情報取得段階では、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする。
【0024】
前記課題を解決するために創案された請求項13の発明は、請求項9に記載の試験情報表示方法において、データブロック取得段階では、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、前記試験情報取得段階では、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする。
【0025】
前記課題を解決するために創案された請求項14の発明は、請求項9ないし13の何れか一項に記載の試験情報表示方法が、前記試験情報取得段階で取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力段階をさらに含むことを特徴とする。
【0026】
前記課題を解決するために創案された請求項15の発明は、請求項9ないし14の何れか一項に記載の試験情報表示方法が、前記試験プログラムからコメント文を削除するプログラム編集段階をさらに含み、該プログラム編集段階は、前記プログラム参照段階と前記データブロック取得段階との間で行われることを特徴とする。
【0027】
前記課題を解決するために創案された請求項16の発明は、請求項9ないし15の何れか一項に記載の試験情報表示方法において、前記試験情報表示段階が、ユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索段階を含み、該検索段階で検索した項目に関する情報のみを表示することを特徴とする。
【0028】
前記課題を解決するために創案された請求項17の発明は、請求項9ないし16の何れか一項に記載の試験情報表示方法を実行する電子回路である。
【0029】
前記課題を解決するために創案された請求項18の発明は、請求項9ないし16の何れか一項に記載の試験情報表示方法を処理装置に実行させるプログラムである。
【0030】
前記課題を解決するために創案された請求項19の発明は、請求項18に記載のプログラムを格納したコンピュータ可読媒体である。
【0031】
請求項1および9の発明によって、電子回路素子を試験するプログラムから所定の情報を取得して、その情報をユーザに見やすい形式に配列して表示することが可能となる。従って、ソフトウェアの専門知識が無くても、ユーザは容易に試験に係る情報を参照することができる。
【0032】
請求項2および10の発明によって、ユーザは電子回路素子の端子に関する情報を容易に把握することができる。
【0033】
請求項3および11の発明によって、ユーザは電子回路素子のスキャン端子に関する情報を容易に把握することができる。
【0034】
請求項4および12の発明によって、ユーザは電子回路素子の端子に入力するパルスのタイミングに関する情報を容易に把握することができる。
【0035】
請求項5および13の発明によって、ユーザは電子回路素子の端子に入力するパルスのパターンに関する情報を容易に把握することができる。
【0036】
請求項6および14の発明によって、試験情報表示装置を外部機器である処理装置等に接続して、電子回路素子の試験に関する情報の印刷処理、各種メディアへの格納処理、表計算ソフト等のアプリケーションによる分析処理などを行うことが可能となる。
【0037】
請求項7および15の発明によって、試験情報を表示する処理をより高速に行うことが可能となる。
【0038】
請求項8および16の発明によって、ユーザが閲覧を望む項目に関する情報のみを選択的に表示することができる。これにより、よりユーザに見やすい形式に試験情報を表示することが可能となる。
【0039】
請求項17により、本発明を電子回路の形態で提供することが可能となる。
【0040】
請求項18により、本発明をプログラムの形態で提供することが可能となる。
【0041】
請求項19により、本発明をコンピュータ可読媒体の形態で提供することが可能となる。
【発明の効果】
【0042】
本発明によって、ユーザはSTILで記述された電子回路素子用試験プログラムにおける所望の試験情報を容易に参照することができる。さらに、この試験情報に対して様々な処理を行うことが可能となる。その結果、電子回路素子の開発から試験まで一連の作業を効率良く行うことができる。
【図面の簡単な説明】
【0043】
【図1】本発明の一実施形態に係る試験情報表示装置の機能ブロック図である。
【図2】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得した端子情報の表示例である。
【図3】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得したスキャン端子情報の表示例である。
【図4】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得したパルスタイミング情報の表示例である。
【図5】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得したパルスパターン情報の表示例である。
【図6】本発明の一実施形態に係る試験情報表示方法のメインフロー図である。
【図7】図6のフロー図に示したステップS20の処理の詳細フロー図である。
【図8】図6のフロー図に示したステップS30の処理の詳細フロー図である。
【図9】図6のフロー図に示したステップS40の処理の詳細フロー図である。
【図10】図6のフロー図に示したステップS50の処理の詳細フロー図の前半部分である。
【図11】図6のフロー図に示したステップS50の処理の詳細フロー図の後半部分である。
【図12】図10のフロー図の処理内容を詳細に説明するための図であり、(a)(b)(c)はステップS506ないしS508の処理の一例を示す図である。
【図13】図10のフロー図の処理内容を詳細に説明するための図であり、(a)および(b)はステップS509の処理の一例を示す図であり、(c)および(d)はステップS510およびS511の処理の一例を示す図である。
【発明を実施するための形態】
【0044】
本発明の一実施形態に係る試験情報表示装置の構成や機能について添付図面の図1ないし図13を参照して以下に詳細に説明する。この試験情報表示装置は、試験装置が被試験物に行う、または行った試験の条件等に関する所定の情報を表示する機能を提供する。
【0045】
最初に、図1を参照して本発明の一実施形態に係る試験情報表示装置1000が用いられる環境について説明する。
試験情報表示装置1000は、電子回路素子2000および試験装置3000と共に使用される。
【0046】
電子回路素子2000は被試験物であり、例えば、半導体集積回路のように複数の入力端子および出力端子を備えている。試験装置3000は通常「テスタ」と呼ばれ、電子回路素子2000を試験するために用いられる。電子回路素子2000は通常、電子回路盤に実装され、この電子回路盤は試験装置3000に電気的に接続される。試験装置3000は電子回路盤を介して電子回路素子2000の入力端子に所定の条件のパルス信号を入力し、そのときの出力端子から出力される信号をモニタする。また、試験装置3000の動作はすべてプログラムによって制御される。
【0047】
次に、試験情報表示装置1000の機能について説明する。試験情報表示装置1000はパーソナルコンピュータなどの処理装置によって実装され、図示のように試験情報参照部10と、試験情報取得/解析部20と、試験情報記憶部30と、試験情報作成部40と、試験情報表示部50と、を機能要素として備える。以下に、それぞれの機能要素について説明する。
【0048】
[試験情報参照部]
試験情報参照部10は試験装置3000とインターフェース可能に接続され、この試験装置を制御しているプログラムデータを参照する機能を有する。また、単に参照するだけではなく、後段の機能要素が行う処理を容易にするために、参照したプログラムデータの全体または一部を試験情報表示装置1000のバッファにコピーしてもよい。
【0049】
[試験情報取得/解析部]
試験情報取得/解析部20は、試験情報参照部10が参照したプログラムデータから所定の情報に関連するデータブロックを取得し、さらに、その取得したデータブロックを解析して当該所定の情報の内容を抽出する機能を有する。なお、本実施形態において「所定の情報」は、電子回路素子2000の端子およびスキャン端子の情報、並びに電子回路素子2000に入力するパルスのタイミングおよびパターンに関する情報である。試験情報取得/解析部20の機能は、これらの取得する情報の種類に従って、端子情報取得/解析部210と、スキャン端子情報取得/解析部220と、パルスタイミング情報取得/解析部230と、パルスパターン情報取得/解析部240と、から構成される。それぞれの取得/解析部が行う処理について以下に詳細に説明する。
【0050】
[端子情報取得/解析部]
端子情報取得/解析部210は、電子回路素子2000の端子に関する情報を取得する機能を有する。
図2(a)は、試験装置3000を制御するプログラムにおける、電子回路素子2000の端子の情報に係るデータブロックの一部を示している。端子情報取得/解析部210は、コマンド「Signals」を基にプログラムから図2(a)が示す端子に係るデータブロックを取得する。次いで、このデータブロックから端子に係る情報(端子名、属性、端子グループ等)を解析する。そして、解析した情報を後述する試験情報記憶部30に格納する。
【0051】
[スキャン端子情報取得/解析部]
スキャン端子情報取得/解析部220は、電子回路素子2000のスキャン端子に関する情報を取得する機能を有する。
図3(a)は、試験装置3000を制御するプログラムにおける、電子回路素子2000のスキャン端子の情報に係るデータブロックの一部を示している。スキャン端子情報取得/解析部220は、コマンド「ScanStructures」を基にプログラムから図3(a)が示すスキャン端子に係るデータブロックを取得する。次いで、このデータブロックからスキャン端子に係る情報(スキャン端子名、スキャンチェイン名、スキャンクロック等)を解析する。そして、解析した情報を後述する試験情報記憶部30に格納する。
【0052】
[パルスタイミング情報取得/解析部]
パルスタイミング情報取得/解析部230は、電子回路素子2000に入力するパルスのタイミングに関する情報を取得する機能を有する。
図4(a)は、試験装置3000を制御するプログラムデータにおける、電子回路素子2000のパルスタイミングに係るデータブロックの一部を示している。パルスタイミング情報取得/解析部230は、コマンド「Timing」を基にプログラムデータから図4(a)が示すパルスタイミングに係るデータブロックを取得する。取得後、このデータブロックからパルスタイミングに係る情報(それぞれ端子に入力するパルスのエッジ毎の変化時刻、イベント情報等)を解析する。そして、解析した情報を後述する試験情報記憶部30に格納する。
【0053】
[パルスパターン情報取得/解析部]
パルスパターン情報取得/解析部240は、電子回路素子2000に入力するパルスのパターンに関する情報を取得する機能を有する。
図5(a)は、試験装置3000を制御するプログラムデータにおける、電子回路素子2000のパルスタイミングに係るデータブロックの一部を示している。パルスパターン情報取得/解析部240は、コマンド「Pattern」を基にプログラムデータから図5(a)が示すパルスパターンに係るデータブロックを取得する。取得後、そのデータブロックからパルスパターンに係る情報(それぞれ端子に入力するパルスのパターン等)を解析する。図5(a)中の「PINGROUP1」は、「B01、B02、B03、C01、C02、A01、A02、C03」の端子をグループ化したものであり、端子ごとにその端子に入力するパルスパターンを解析する。また、パターンアドレスを計算する。さらに、サブルーチン内のパルスパターン情報も解析する。各種サブルーチン(MacroDefs、Procedures等)からパルスパターンを解析すると共に、各種ステートメント(Vector、Loop、Condition等)からパルスパターンを解析する。パターンに変化がない場合の省略記述を解析する。
そして、解析した情報を後述する試験情報記憶部30に格納する。
【0054】
[試験情報記憶部]
試験情報記憶部30は、試験情報取得/解析部20が取り扱うデータを記録するバッファ機能を有する。アクセス性等を考慮して、この記憶部はRAMやROMなどの半導体記憶装置(メモリ)で実装されることが好ましいが、他にハードディスク、CDドライブ、DVDドライブなどで実装されてもよい。
【0055】
[試験情報作成部]
試験情報作成部40は、試験情報記憶部30から試験情報取得/解析部20が分析した所定の情報を読み出し、読み出した情報からユーザが選択した項目に関する情報を検索し、その検索した情報を配列することで表示用のデータ、または外部出力用のデータを作成する。表示用のデータは、ユーザが見やすい形式で配列して表示されるように構成されており、外部出力用のデータは、既存の形式(テキスト、CSV等)で構成されている。なお、出力先は後述する試験情報表示部50、あるいは試験情報表示装置1000の外部端子となる。この試験情報表示装置1000の外部端子には、プリンタ装置、パーソナルコンピュータなどの処理装置、あるいはハードディスク、CDドライブなどの格納装置が接続され得る。なお、試験情報作成部40の機能は、取り扱う情報の種類に従って、端子情報作成部410と、スキャン端子情報作成部420と、パルスタイミング情報作成部430と、パルスパターン情報作成部440と、から構成される。それぞれの作成部が行う処理について以下に詳細に説明する。
【0056】
[端子情報作成部]
端子情報作成部410は、電子回路素子2000の端子に関する情報を取り扱う。
図2(b)は、端子情報を配列した例である。具体的には、端子ごとに情報を分類し、セパレータで区切る。そして、それぞれの端子に番号を付与する。さらに、それぞれの端子に対応する端子番号、端子名、属性、端子グループ名を並べる。
【0057】
[スキャン端子情報作成部]
スキャン端子情報作成部420は、電子回路素子2000のスキャン端子に関する情報を取り扱う。
図3(b)は、スキャン端子情報を配列した例である。具体的には、スキャンチェインごとにスキャン情報を整頓し、セパレータで区切る。さらに、それぞれのスキャンチェインにおけるスキャンチェイン名、スキャンチェイン長、スキャン端子名、スキャンクロックを並べる。
【0058】
[パルスタイミング情報作成部]
パルスタイミング情報作成部430は、電子回路素子2000の端子に入力するパルスのタイミングに関する情報を取り扱う。
図4(b)は、パルスタイミング情報を配列した例である。具体的には、パルスタイミングごとに情報に分類し、セパレータで区切る。そして、それぞれのパルスタイミングに番号を付与する。最後に、端子ごとにその端子に入力するパルスのエッジの変化時刻とイベント情報とを並べる。
【0059】
[パルスパターン情報作成部]
パルスパターン情報作成部440は、電子回路素子2000の端子に入力するパルスのパターンに関する情報を取り扱う。
図5(b)は、パルスパターン情報を配列した例である。具体的には、パルスパターン単位に情報を分類し、セパレータで区切る。次いで、パルスパターンアドレスを解析して、パルスパターンにアドレス番号を付与する。さらに、各種サブルーチン(MacroDefs、Procedures等)から解析したパルスパターンと、各種ステートメント(Vector、Loop、Condition等)から解析したパルスパターンとを表示する。また、データに変化がないパターンの省略記述を省略しないで表示する。
【0060】
[試験情報表示部]
試験情報表示部50は、試験情報作成部40が出力した情報を表示する機能を有し、液晶やCRTなどからなる表示手段を備える。
【0061】
以上に渡って本発明の一実施形態に係る試験情報表示装置1000の用途や機能について説明した。次は、この試験情報表示装置1000が実際に行う試験情報表示方法の手順について説明する。
【0062】
図6のフロー図を参照して説明すると、最初に、ユーザが試験情報表示装置1000に表示させる情報を選択する。より詳細には、端子情報の表示、スキャン端子情報の表示、パルスタイミング情報の表示、パルスパターン情報の表示、何も表示しないうちの1つを選択する(ステップS10)。この手順は、ユーザが試験情報表示部50の表示手段を見ながら対話式に行うことが好ましい。ユーザの選択が終了すると、その選択に従って、端子情報の表示(ステップS20)、スキャン端子情報の表示(ステップS30)、パルスタイミング情報の表示(ステップS40)、パルスパターン情報の表示(ステップS50)、終了の何れかの処理を実行する。
次に、端子情報の表示方法(ステップS20)、スキャン端子情報の表示方法(ステップS30)、パルスタイミング情報の表示方法(ステップS40)、パルスパターン情報の表示方法(ステップS50)のそれぞれの詳細な手順について説明する。
【0063】
[端子情報表示方法(ステップS20の詳細)]
図7のフロー図を参照して本発明の一実施形態に係る端子情報表示方法について説明する。まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS201)。次に、処理を高速化するためにこのプログラムデータを編集する(ステップS202)。具体的には、プログラムデータのコメント文を削除する。以下はこの編集処理の手順の一例である。
(1)プログラムデータに「//」が含まれるかIF文により比較し、含まれる場合は、「//」以降から1行の終わり(改行コード)までの文字列を全て削除する。
(2)プログラムデータに「/*」が含まれるかIF文により比較し、含まれる場合は、「/*」以降に「*/」があるかIF文により検索する。1行内に「/*〜*/」があると判定した場合には、「/*〜*/」内の文字列を削除する。プログラムデータに「/*」が含まれるかIF文により比較し、含まれる場合は、「/*」以降に「*/」があるかIF文により検索する。1行内に「/*〜*/」が無いと判定した場合には、次行のデータを取得し、「*/」が見つかるまでIF文検索を繰返す。「*/」が見つかった場合は、「/*」から「*/」までのデータを削除する。
【0064】
編集処理が終了すると、試験情報取得/解析部20の端子情報取得/解析部210が、編集したプログラムデータからコマンド「Signals」を基に、電子回路素子2000の端子に係るデータブロックを取得し(ステップS203)、その取得したデータブロックを解析して、端子に係る情報を取得する(ステップS204)。そして、取得した端子情報を試験情報記憶部30に格納する(ステップS205)。
【0065】
端子情報の格納が完了すると、次は、その端子情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS206)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。また、データ出力を選択する場合は、そのデータの形式(例えば、ファイル出力、テキストデータ出力、CSVデータ出力)を更に選択する。
次いで、ステップS206の処理と同様にして、ユーザが表示または出力する項目を端子情報から選択する(ステップS207)。なお、選択する項目の例としては、端子名、端子番号、端子属性、端子グループ名などが挙げられる。代替的に、項目を選択せずにすべての端子に対する情報を選択してもよい。
【0066】
試験情報作成部40の端子情報作成部410がステップS207で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS208)。内容が正しくないと判断した場合は、ステップS207の処理に戻る。解析する内容は、例えば、指定された端子番号が整数であるか、格納されたデータ内に選択された項目の情報が存在するか、等である。
解析が終わると、端子情報作成部410がステップS207で選択された項目に該当する端子の情報を試験情報記憶部30に格納された端子情報から検索する(ステップS209)。
【0067】
検索後、その検索した端子情報を配列する(ステップS210)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS206で「表示」が選択された場合には、配列した端子情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS211)。一方、ステップS206で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列した端子情報を含んだデータを生成し、そのデータを外部に出力する(ステップS211)。
以上で端子情報表示方法の手順が完了する。
【0068】
[スキャン端子情報表示方法(ステップS30の詳細)]
図8のフロー図を参照して本発明の一実施形態に係るスキャン端子情報表示方法について説明する。まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS301)。次に、処理を高速化するためにこのプログラムデータを編集する(ステップS302)。編集内容は図7のステップS202と同様であるため、説明は省略する。
【0069】
編集処理が終了すると、試験情報取得/解析部20のスキャン端子情報取得/解析部220が、編集したプログラムデータからコマンド「ScanStructures」を基に、電子回路素子2000のスキャン端子に係るデータブロックを取得し(ステップS303)、その取得したデータブロックを解析して、スキャン端子に係る情報を取得する(ステップS304)。そして、取得したスキャン端子情報を試験情報記憶部30に格納する(ステップS305)。
【0070】
スキャン端子情報の格納が完了すると、次は、そのスキャン端子情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS306)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。また、データ出力を選択する場合は、そのデータの形式(例えば、ファイル出力、テキストデータ出力、CSVデータ出力)を更に選択する。
次いで、ステップS306の処理と同様にして、ユーザが表示または出力する項目を端子情報から選択する(ステップS307)。なお、選択する項目の例としては、スキャン端子名、スキャンチェイン名、スキャンクロックなどが挙げられる。代替的に、項目を選択せずにすべての端子に対する情報を選択してもよい。
【0071】
試験情報作成部40のスキャン端子情報作成部420がステップS307で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS308)。内容が正しくないと判断した場合は、ステップS307の処理に戻る。解析する内容は、例えば、指定されたスキャン端子番号が整数であるか、格納されたデータ内に選択された項目の情報が存在するか、等である。
解析が終わると、スキャン端子情報作成部420がステップS307で選択された項目に該当するスキャン端子の情報を試験情報記憶部30に格納されたスキャン端子情報から検索する(ステップS309)。
【0072】
検索後、その検索したスキャン端子情報を配列する(ステップS310)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS306で「表示」が選択された場合には、配列したスキャン端子情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS311)。一方、ステップS306で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列したスキャン端子情報を含んだデータを生成し、そのデータを外部に出力する(ステップS311)。
以上でスキャン端子情報表示方法の手順が完了する。
【0073】
[パルスタイミング情報表示方法(ステップS40の詳細)]
図9のフロー図を参照して本発明の一実施形態に係るパルスタイミング情報表示方法について説明する。まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS401)。プログラムを参照すると、以降の処理を高速化するために参照したプログラムデータを編集する(ステップS402)。編集内容は図7のステップS202と同様である。次に、試験情報取得/解析部20のパルスタイミング情報取得/解析部230が、編集したブログラムデータからコマンド「Timing」を基に、電子回路素子2000に入力するパルスタイミングに係るデータブロックを取得し(ステップS403)、その取得したデータブロックを解析して、パルスタイミングに係る情報を取得する(ステップS404)。それと同時に、パルスタイミングに係る情報を試験情報記憶部30に格納する(ステップS405)。
【0074】
パルスタイミング情報の格納が完了すると、次は、そのパルスタイミング情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS406)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。次いで、ステップS406の処理と同様にして、ユーザが表示または出力する項目をパルスタイミング情報から選択する(ステップS407)。なお、選択する項目の例としては、パルス信号、端子名、端子グループ名、タイミング名等が挙げられる。代替的に、すべてのパルスタイミングに対する情報を選択してもよい。
【0075】
試験情報作成部40のパルスタイミング情報作成部430がステップS407で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS408)。内容が正しくないと判断した場合は、ステップS407の処理に戻る。解析する内容は、例えば、指定された端子番号が整数であるか、格納されたデータ内の選択された項目の情報が存在するか、等である。
解析が終わると、パルスタイミング情報作成部430がステップS407で選択された項目に該当するパルスタイミングの情報を試験情報記憶部30に格納されたパルスタイミング情報から検索する(ステップS409)。
【0076】
検索後、その検索したパルスタイミング情報を配列する(ステップS410)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS306で「表示」が選択された場合には、配列したパルスタイミング情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS411)。一方、ステップS306で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列したパルスタイミング情報を含んだデータを生成し、そのデータを外部に出力する(ステップS411)。
以上でパルスタイミング情報表示方法の手順が完了する。
【0077】
[パルスパターン情報表示方法(ステップS50の詳細)]
図10のフロー図を参照して本発明の一実施形態に係るパルスパターン情報表示方法について説明する。なお、この表示方法における手順は、上述の他の3つの表示方法における手順とは異なり、サブルーチンの解析、省略されたパルスパターンの解析等の複雑な処理を行っている。
【0078】
まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS501)。プログラムを参照すると、以降の処理を高速化するために参照したプログラムデータを編集する(ステップS502)。編集内容は図7のステップS202と同様である。次に、編集したプログラムデータから電子回路素子2000の端子情報およびスキャン端子情報を取得する(ステップS503)。図5(a)の「PINGROUP1」のように、パルスパターンに係る記述部分では端子がグループ化されている。そのため、端子ごとにパルスパターンを表示させるためには、予め端子およびスキャン端子と端子グループとの関係を把握するために、端子情報およびスキャン端子情報を取得しておく必要がある。なお、ステップS503の処理において、端子情報を取得することは図7のステップS203〜S205の処理手順と同様で、さらに、スキャン端子の情報を取得することは図8のステップS303〜S305の処理手順と同様である。そのため、詳細な説明は省略する。
【0079】
次に、試験情報取得/解析部20のパルスパターン情報取得/解析部240が、コマンド「Pattern」を基に、試験情報参照部10が参照したプログラムデータからパルスタイミングに係るデータブロックと、そのデータブロックで呼ばれるサブルーチンのデータを取得する(ステップS504)。次いで、その取得したサブルーチンデータの構成を解析する(ステップS505)。この処理の一例を以下に示す。なお、解析した結果は試験情報記憶部30に格納する。
【0080】
[ステップS505の処理の一例]
(1)サブルーチンデータを取得する。
サブルーチン内のデータを1行ずつ取得し、次のブロックが現れるまでデータ取得を繰返す。データ取得の開始時にはフラグをONし、次のブロックが現れたらOFFとすることで複数行に渡るデータの開始と終了を判断する。
(2)ドメインデータを取得する。
サブルーチン内のデータをドメイン毎のデータに分割する。データ範囲を検索するために、データ管理用のカウント処理を実施する。取得した行データを1文字ずつに分けて検索していき、「{」の場合にはカウントを1プラスし「}」の場合には1マイナスすることで、「{ }」が入れ子になっていても対応した「{ }」を判断可能としている。カウントが1の場合はデータ開始地点と判断し、「"」から「"」をドメイン名として取得する。カウントが2以上の場合、ドメインのデータとして1行に連結していき、ドメイン毎にハッシュ管理を行う(各ドメインをそれぞれ1行にまとめてハッシュ変数で管理する)。
(3)ドメインデータ内のステートメント情報を取得する。
ハッシュ内に保管したデータにステートメントが含まれる場合、「{」「}」「;」毎に分割し、キーワード文字列を付加する、この時ステートメント名は削除する。
【0081】
ステップS505の処理が終了すると、次はステップS504で取得したデータブロック内でサブルーチンを呼び出すステートメント部分を解析する(ステップS506)。また、解析したサブルーチンがループステートメントで繰り返して呼び出されている場合には、そのループ回数を求める。次は、解析したステートメントのデータ部分を対応するサブルーチンのデータに置き換える(ステップS507)。これにより、データブロックと、そのブロックに呼ばれるサブルーチン部分とを単一のデータとして取り扱えるため、以降の処理が簡単になる。そして、このデータを試験情報記憶部30に格納する(ステップS508)。これらの一連の処理の一例を以下に示す。なお、解析した結果は試験情報記憶部30に格納する。
【0082】
[ステップS506ないしS508の処理の一例]
(1)データブロック内のデータを1行ずつ取得してサブルーチンステートメントを検索し、Callの場合はステートメント格納配列に「Call」、Macroの場合は「Macro」を格納する。取得した行に「:」がある場合には「:」以前の文字列がLabelと判断して取得し、「"」から「"」までのドメイン名を取得する(注1)。取得した行に「{」がある場合は、サブルーチンに受け渡すパターンデータが定義されていると判断する。「{」でフラグON、「}」でフラグOFFすることで、複数行のパターンデータ範囲を判断し取得する(注2)。
(2)サブルーチンにパターンデータが定義されていない場合には、サブルーチンの処理でハッシュ変数に取得したドメイン名と(注1)で取得したドメイン名が一致した場合に、サブルーチン内のデータをパターンブロック内のサブルーチン呼び出し箇所に埋め込む(呼び出し文と差し替える)。
(3)一方、サブルーチンの呼び出し時にパターンデータが定義されている場合には、サブルーチン内の処理としては、サブルーチンの処理でハッシュ変数に取得したドメイン名と「(注1)」で取得したドメイン名が一致した場合に、サブルーチンの処理でハッシュ変数に取得したデータを解析する。ドメイン名が一致したパターンデータをステートメント毎に分けるため「}」を検索し分割する。ステートメント毎に分けたパターンデータを端子や端子グループ毎に分けるため「;」を検索し分割する。端子もしくは端子グループ毎に分けたパターンデータを、端子名/端子グループ名とパターンデータに分けるために、「"」から「"」の文字列を端子名や端子グループ名と判断し、「=」から「;」をパターンデータと判断し取得する(注3)。パターンデータの処理(サブルーチン呼び出し側)としては、(注2)のパターンデータを端子もしくは端子グループ毎に分けるため「;」を検索し分割し、次に、端子名/端子グループ名とパターンデータに分けるために「"」から「"」の文字列を端子名や端子グループ名と判断し、「=」から「;」をパターンデータと判断し取得する(注4)。
(4)サブルーチン内パターンデータ(注3)にデータ呼び出し記号の「#」や「%」が付いているパターンデータに対し、サブルーチン呼び出し側パターンデータ(注4)の端子名もしくは端子グループ名が一致したパターンデータ(注4)を、サブルーチン内のパターンデータとして差し替える。
(5)ループステートメントの処理としては、パターンブロックを1行ずつ取得し、「Loop [ループ回数] {」がある場合はループ処理フラグをONにし、[ループ回数]を変数へ格納する。ループ処理フラグがONの場合、「{」又はWaveformTableがあれば{}状態フラグをONにし、「}」又はWaveformTableがあれば{}状態フラグをOFFにする。{}状態フラグがONの場合、WaveformTableの「;」、Labelの「:」、1行で書かれたVector、Condition間の「}」の後ろに「$」を追加し、「$」により分割してループパターンとして配列へ格納する。「$」の例を図12(a)に示す。{}状態フラグがONの場合、「}」又はWaveformTableがあれば{}状態フラグをOFFにする。{}状態フラグがOFFの場合、「}」又はWaveformTableがあれば分割したループパターンを順次検索し、「{」がある場合はパターンカウントをプラスしていき、パターンカウントが「0」の場合には状態保持配列に「LOOP_ST」の文字列を格納し、ループ回数配列にループ回数を格納する。パターンカウントが「0」でない場合、状態保持配列、ループ回数配列には空白を格納し、ループパターンを分割格納用の配列へ格納する。全ループパターン検索の完了後、パターンカウントが1以下の場合、状態保持配列に「LOOP_ST_EN」を格納し、ループ回数配列にループ回数を格納してループ処理フラグをOFFにする。パターンカウントが2以上の場合、状態保持配列に「LOOP_EN」を格納し、ループ回数として空白を格納し、ループ処理フラグをOFFにする。ループ処理フラグがOFFの場合、状態保持配列、ループ回数配列は空白を追加する。
(6)1行に書かれた複数パターンを分割する。
パターンブロックを1行ずつ取得し「Loop」がない場合、WaveformTableの「;」、Labelの「:」、1行で書かれたVector、Condition間の「}」の後ろに「$」を追加し、「$」により分割して分割パターン配列へ格納する(図12(b)参照)。
(7)1行1ステートメントのデータを格納する。
分割パターン配列からデータを順次取得し、ConditionステートメントがあればコンディションフラグをONにし、コンディションカウントをプラスする。Vectorステートメントの場合はコンディションフラグをOFFにする。取得した分割パターン配列のデータに下記のステートメントがある場合、パターンフラグをONにして、取得データを配列へ格納する。「Macro"」「Call"」「Vector{」「V{」「Condition{」「C{」「WaveformTable"」「W"」「Shift{」「Loop」
パターンフラグがONで「}」が含まれる場合、パターンフラグをOFFにし、パターンカウントをプラスする。その際、「{」が含まれない場合、取得データを配列に格納する。また、「{」「}」を含まない場合も取得データを配列に格納する。図12(c)に示すように、配列に格納したデータを連結する事で、1ステートメント(「[ステートメント]{」から「}」)を1行として変数に格納する。1行ずつ格納した変数内のデータを「{」で分割する事でステートメントとパターンに分け、それぞれパターンカウント毎にステートメント(注7)とパターン(注5)を別の配列へ格納する。ステートメントに「:」が含まれる場合、Labelとして変数へ格納する。
【0083】
ステップS508の処理が終了すると、格納したデータにおける省略された部分および端子を解析して、解析した省略部分を補足する(書き足す)修正を行う(ステップS509)。詳細にはどのように処理しているかを説明するために、この処理の一例を以下に示す。なお、修正した結果は試験情報記憶部30に格納する。
【0084】
[ステップS509の処理の一例]
繰り返し記述の展開
STILファイルはパターン値として図13(a)に示す例のように、繰り返し記述「¥r」を使用する事で省略する事が出来るため、この記述を展開する。1ステートメントずつ格納したパターン配列(注5)を順次取得し、「¥r」がある場合「¥」の前にスペースをつけ、端子や端子グループ毎に分けるため「;」を検索し分割する。分割したものに「=」が含まれる場合、端子名/端子グループ名とパターンデータに分けるため「=」で分割する。図13(b)で示すように「=」で分割した端子名/端子グループ名を変数へ格納し、パターンデータを更にスペースで分割する。スペースで分割したパターンデータを順次参照していき、「¥r」を含む場合は信号数を取得し省略パターン値を信号の数だけ配列に格納する。「¥r」を含まないパターンデータはそのまま配列へ格納する。端子名/端子グループ名と「=」を先頭に連結し、省略パターン値を展開した配列をパターン格納配列(注6)へ格納する。
【0085】
ステップS509の処理が終了すると、データブロックを解析して、各端子における入力パルスのパターンを求める(ステップS510)。詳細にはどのように処理しているかを説明するために、この処理の一例を以下に示す。なお、修正した結果は試験情報記憶部30に格納する(ステップS511)。
【0086】
[ステップS510およびS511の処理の一例]
(1)1アドレス目パターンを格納する。
図13(c)に示すように、パターン格納配列(注6)に格納したパターンを順次取得し、空白で分割する事で端子・端子グループ別にデータを配列に格納する。分割したものを更に「=」で分割し、端子名/端子グループ名(注8)とパターン(注9)に分ける。
対応するステートメント格納配列(注7)がCallの場合には、全端子分ループし、Procedures用パターン配列にパターン値が含まれない端子は、初期値として「x」をProcedures用パターン配列に格納する。「=」で分割した端子名/端子グループ名がSignalGroupsに含まれる場合、そのSignalGroupsを「+」で分割しパターンを1文字ずつ分割して、それぞれ配列に格納する(図13(d)を参照)。端子名/端子グループ名(注8)がSignalGroupsに含まれる場合、対応するパターン(注9)がある端子はProcedures用パターン配列に格納する。パターン(注9)が無い端子は「x」を格納する。
端子名/端子グループ名(注8)がSignalsに含まれる場合、パターン(注9)をProcedures用パターン配列に格納する。
一方、対応するステートメント格納配列(注7)がCall以外の場合には、全端子分ループし、通常パターン配列にパターン値が含まれない端子は、初期値として「x」を通常パターン配列に格納する。端子名/端子グループ名(注8)がSignalGroupsに含まれる場合、対応するパターン(注9)がある端子は通常パターン配列に格納する。パターン(注9)が無い場合は「x」を格納する。端子名/端子グループ名(注8)がSignalsに含まれる場合、パターンを通常パターン配列に格納する。
Callの場合はProcedures用配列、それ以外は通常パターン配列から、総合パターン配列と前アドレスパターン配列(注10)に格納する。
(2)2アドレス目以降パターンを格納する。
パターン格納配列(注6)に格納したパターンを順次取得し、空白で分割する事で端子・端子グループ別にデータを配列に格納する。
分割したものを更に「=」で分割し、端子名/端子グループ名(注8)とパターン(注9)に分ける。
対応するステートメント格納配列(注7)がCallの場合には、全端子分ループし、Procedures用パターン配列にパターン値が含まれない端子は、「x」をProcedures用パターン配列に格納する。「=」で分割した端子名/端子グループ名がSignalGroupsに含まれる場合、そのSignalGroupsを「+」で分割しパターンを1文字ずつ分割して、それぞれ配列に格納する。SignalGroupsの端子数ループし、Signalsに一致する端子名がある場合に下記の「条件」のものは、前アドレスのパターンを格納している配列(注10)からProcedures用配列に格納する。「=」で分割したパターン(注8)に値が含まれる端子は、そのままProcedures用配列に格納し、含まれない端子は「x」を格納する。
一方、対応するステートメント格納配列(注7)がCall以外の場合には、SignalGroupsの端子数だけループさせ、Signalsに一致する端子名がある場合に下記の「条件」のものは、前アドレスのパターンを格納している配列(注10)から通常パターン配列に格納する。「=」で分割したパターン(注8)に値が含まれる端子は、そのまま通常パターン配列に格納し、含まれない端子は「x」を格納する。
「条件」とは、Condition・双方向端子、パターン値が「X」または「Z」、前アドレスのパターンが「0」または「1」の場合である。
Callの場合はProcedures用配列、それ以外は通常パターン配列から、総合パターン配列と前アドレスパターン配列(注10)に格納する。
【0087】
ステップS511の処理以降は、図11のフロー図を参照して説明する。
パルスパターンに関する情報の格納が完了すると、次は、そのパルスパターン情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS512)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。
次いで、ステップS512の処理と同様にして、ユーザが表示または出力する項目をパルスパターン情報から選択する(ステップS513)。なお、選択する項目の例としては、端子名、端子範囲、パターンアドレス、パターンアドレス範囲、等が挙げられる。
【0088】
試験情報作成部40のパルスパターン情報作成部440がステップS512で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS514)。内容が正しくないと判断した場合は、ステップS512の処理に戻る。解析する内容は、例えば、指定されたパルス信号の番号が整数であるか、格納されたデータ内に選択された項目の情報が存在するか、等である。
解析が終わると、パルスパターン情報作成部440がステップS512で選択された項目に該当するパルスパターンの情報を試験情報記憶部30に格納されたパルスパターン情報から検索する(ステップS515)。
【0089】
検索後、その検索したパルスパターン情報を配列する(ステップS516)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS513で「表示」が選択された場合には、配列したパルスパターン情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS517)。一方、ステップS306で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列したパルスタイミング情報を含んだデータを生成し、そのデータを外部に出力する(ステップS517)。
【0090】
以上に渡り、本発明の一実施形態に係る試験情報表示装置1000および試験情報表示方法について説明したが、本発明の内容はこの実施形態に限定されるものではないことに留意されたい。例えば、図1に示す試験情報表示部50は必ずしも試験情報表示装置1000の構成要素である必要はない。代替的に、市販の表示装置を試験情報表示装置1000に接続して用いてもよい。
【0091】
本発明の一実施形態に係る試験情報表示装置1000が提供する機能は、特定のハードウェア資源またはソフトウェア処理に限定されないことに留意されたい。すなわち、この機能を実現できる限り、如何なるハードウェア(電子回路等)、ソフトウェア(プログラム)、あるいはそれらの組み合わせ等を用いてよい。
【0092】
上述した本発明の一実施形態に係る試験情報表示方法を、プログラムとして実装する場合には、このプログラムを外部のサーバ等から該方法を実行する情報処理装置にダウンロードするか、あるいはコンピュータ可読媒体の形態で分配されることが好ましい。コンピュータ可読媒体の例としては、CD−ROM、DVD、磁気テープ、フレキシブルディスク、光磁気ディスク、ハードディスク、メモリ媒体などが挙げられる。
【0093】
以上、本発明を図面に示した実施形態を用いて説明したが、これらは例示的なものに過ぎず、本技術分野の当業者ならば、本発明の範囲および趣旨から逸脱しない範囲で多様な変更および変形が可能なことは理解できるであろう。したがって、本発明の範囲は、説明された実施形態によって定められず、特許請求の範囲に記載された技術的趣旨により定められねばならない。
【符号の説明】
【0094】
10 試験情報参照部
20 試験情報取得/解析部
30 試験情報記憶部
40 試験情報作成部
50 試験情報表示部
210 端子情報取得/解析部
220 スキャン端子情報取得/解析部
230 パルスタイミング情報取得/解析部
240 パルスパターン情報取得/解析部
410 端子情報作成部
420 スキャン端子情報作成部
430 パルスタイミング情報作成部
440 パルスパターン情報作成部
1000 試験情報表示装置
2000 電子回路素子
3000 試験装置
【技術分野】
【0001】
本発明は、STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その情報を表示する試験情報表示装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体に関する。
【背景技術】
【0002】
近年、半導体集積回路などの電子回路素子の多ピン化や機能の複雑化が進み、それに伴って電子回路素子の試験の内容も複雑化し、使用するテストパターンの種類やデータ量も増大している。
【0003】
通常、電子回路素子を試験する場合にはテスタと呼ばれる装置を用いる。テスタは、被測定物である電子回路素子の入力端子に所定のパターンの信号を入力し、出力端子から出力される信号をチェックする機能を有する(例えば、特許文献1を参照)。また、テスタは通常、プログラムで制御され、試験は自動的に行われる。
【0004】
テスタを制御するプログラムの記述言語は、従来、テスタの製造会社ごとに独自に採用されていた。従って、異なる製造会社のテスタに搭載されたプログラムを編集する場合には、ユーザがそれぞれの記述言語を理解する必要があり、それが負担となっていた。
【0005】
そのような負担を低減するために、電子回路素子を試験するために用いるプログラムの記述言語を共通化する試みがなされ、STIL(Standard Test Interface Language)が国際標準(IEEE Std 1450.0-1999)として採用された(例えば、非特許文献1を参照)。この共通記述言語により、異なるテスタ間でも容易に共通の試験環境を利用できるようになった。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】再表99/040450号
【非特許文献】
【0007】
【非特許文献1】http://www.starc.jp/stil/top-j.html(2011年1月7日閲覧)
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、STILを使用しても依然として以下のような問題が存在する。
主に論理LSIを試験するためのテスタには、テストパターンを自動生成するATPG(Automatic Test Pattern Generator)が搭載されているが、このATPGが生成するテストパターンは、テスタの機種によって異なる。そのため、ユーザがテストパターンの内容を確認するためには、テキストビューア等のソフトウェアで試験プログラムを参照し、このプログラムのテストパターン生成部分の記述から把握しなくてはならない。
【0009】
このテストパターンの確認は骨の折れる作業であり、プログラムに関する専門的知識も必要となる。従って、すべてのユーザが容易にできる作業ではない。特に、端子に入力するパルスのパターンを把握することは非常に困難である。
【0010】
本発明は上記の事情に鑑みて創案されたものであり、本発明の目的は、STILで記述された電子回路素子用試験プログラムから所望の試験情報を取得し、その情報を表示させる装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体を提供することである。
【0011】
本発明の別の目的は、STILで記述された電子回路素子用試験プログラムにおける試験情報をユーザに見やすい形式で表示する装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体を提供することである。
【課題を解決するための手段】
【0012】
前記課題を解決するために創案された請求項1の発明は、STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示装置であって、前記試験プログラムを参照するプログラム参照手段と、前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得手段と、前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得手段と、前記取得した試験情報を配列する試験情報配列手段と、前記配列された試験情報を表示する試験情報表示手段と、を備えることを特徴とする。
【0013】
前記課題を解決するために創案された請求項2の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、前記試験情報取得手段は、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする。
【0014】
前記課題を解決するために創案された請求項3の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、前記試験情報取得手段は、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする。
【0015】
前記課題を解決するために創案された請求項4の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、前記試験情報取得手段は、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする。
【0016】
前記課題を解決するために創案された請求項5の発明は、請求項1に記載の試験情報表示装置において、データブロック取得手段が、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、前記試験情報取得手段は、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする。
【0017】
前記課題を解決するために創案された請求項6の発明は、請求項1ないし5の何れか一項に記載の試験情報表示装置が、前記試験情報取得手段が取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力手段をさらに備えることを特徴とする。
【0018】
前記課題を解決するために創案された請求項7の発明は、請求項1ないし6の何れか一項に記載の試験情報表示装置が、前記プログラム参照手段が参照した試験プログラムからコメント文を削除するプログラム編集手段をさらに備えることを特徴とする。
【0019】
前記課題を解決するために創案された請求項8の発明は、請求項1ないし7の何れか一項に記載の試験情報表示装置において、前記試験情報表示手段はユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索手段を有し、さらに、該試験情報表示手段は、前記検索手段が検索した項目に関する情報のみを表示することを特徴とする。
【0020】
前記課題を解決するために創案された請求項9の発明は、STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示方法であって、前記試験プログラムを参照するプログラム参照段階と、前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得段階と、前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得段階と、前記取得した試験情報を配列する試験情報配列段階と、前記配列された試験情報を表示する試験情報表示段階と、を含むことを特徴とする。
【0021】
前記課題を解決するために創案された請求項10の発明は、請求項9に記載の試験情報表示方法において、前記データブロック取得段階では、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、前記試験情報取得段階では、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする。
【0022】
前記課題を解決するために創案された請求項11の発明は、請求項9に記載の試験情報表示方法において、前記データブロック取得段階では、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、前記試験情報取得段階では、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする。
【0023】
前記課題を解決するために創案された請求項12の発明は、請求項9に記載の試験情報表示方法において、データブロック取得段階では、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、前記試験情報取得段階では、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする。
【0024】
前記課題を解決するために創案された請求項13の発明は、請求項9に記載の試験情報表示方法において、データブロック取得段階では、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、前記試験情報取得段階では、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする。
【0025】
前記課題を解決するために創案された請求項14の発明は、請求項9ないし13の何れか一項に記載の試験情報表示方法が、前記試験情報取得段階で取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力段階をさらに含むことを特徴とする。
【0026】
前記課題を解決するために創案された請求項15の発明は、請求項9ないし14の何れか一項に記載の試験情報表示方法が、前記試験プログラムからコメント文を削除するプログラム編集段階をさらに含み、該プログラム編集段階は、前記プログラム参照段階と前記データブロック取得段階との間で行われることを特徴とする。
【0027】
前記課題を解決するために創案された請求項16の発明は、請求項9ないし15の何れか一項に記載の試験情報表示方法において、前記試験情報表示段階が、ユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索段階を含み、該検索段階で検索した項目に関する情報のみを表示することを特徴とする。
【0028】
前記課題を解決するために創案された請求項17の発明は、請求項9ないし16の何れか一項に記載の試験情報表示方法を実行する電子回路である。
【0029】
前記課題を解決するために創案された請求項18の発明は、請求項9ないし16の何れか一項に記載の試験情報表示方法を処理装置に実行させるプログラムである。
【0030】
前記課題を解決するために創案された請求項19の発明は、請求項18に記載のプログラムを格納したコンピュータ可読媒体である。
【0031】
請求項1および9の発明によって、電子回路素子を試験するプログラムから所定の情報を取得して、その情報をユーザに見やすい形式に配列して表示することが可能となる。従って、ソフトウェアの専門知識が無くても、ユーザは容易に試験に係る情報を参照することができる。
【0032】
請求項2および10の発明によって、ユーザは電子回路素子の端子に関する情報を容易に把握することができる。
【0033】
請求項3および11の発明によって、ユーザは電子回路素子のスキャン端子に関する情報を容易に把握することができる。
【0034】
請求項4および12の発明によって、ユーザは電子回路素子の端子に入力するパルスのタイミングに関する情報を容易に把握することができる。
【0035】
請求項5および13の発明によって、ユーザは電子回路素子の端子に入力するパルスのパターンに関する情報を容易に把握することができる。
【0036】
請求項6および14の発明によって、試験情報表示装置を外部機器である処理装置等に接続して、電子回路素子の試験に関する情報の印刷処理、各種メディアへの格納処理、表計算ソフト等のアプリケーションによる分析処理などを行うことが可能となる。
【0037】
請求項7および15の発明によって、試験情報を表示する処理をより高速に行うことが可能となる。
【0038】
請求項8および16の発明によって、ユーザが閲覧を望む項目に関する情報のみを選択的に表示することができる。これにより、よりユーザに見やすい形式に試験情報を表示することが可能となる。
【0039】
請求項17により、本発明を電子回路の形態で提供することが可能となる。
【0040】
請求項18により、本発明をプログラムの形態で提供することが可能となる。
【0041】
請求項19により、本発明をコンピュータ可読媒体の形態で提供することが可能となる。
【発明の効果】
【0042】
本発明によって、ユーザはSTILで記述された電子回路素子用試験プログラムにおける所望の試験情報を容易に参照することができる。さらに、この試験情報に対して様々な処理を行うことが可能となる。その結果、電子回路素子の開発から試験まで一連の作業を効率良く行うことができる。
【図面の簡単な説明】
【0043】
【図1】本発明の一実施形態に係る試験情報表示装置の機能ブロック図である。
【図2】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得した端子情報の表示例である。
【図3】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得したスキャン端子情報の表示例である。
【図4】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得したパルスタイミング情報の表示例である。
【図5】本発明の一実施形態に係る試験情報表示装置の機能を説明するための図であり、(a)はプログラムから取得したデータブロック図の一部であり、(b)は(a)のデータブロックを分析することで取得したパルスパターン情報の表示例である。
【図6】本発明の一実施形態に係る試験情報表示方法のメインフロー図である。
【図7】図6のフロー図に示したステップS20の処理の詳細フロー図である。
【図8】図6のフロー図に示したステップS30の処理の詳細フロー図である。
【図9】図6のフロー図に示したステップS40の処理の詳細フロー図である。
【図10】図6のフロー図に示したステップS50の処理の詳細フロー図の前半部分である。
【図11】図6のフロー図に示したステップS50の処理の詳細フロー図の後半部分である。
【図12】図10のフロー図の処理内容を詳細に説明するための図であり、(a)(b)(c)はステップS506ないしS508の処理の一例を示す図である。
【図13】図10のフロー図の処理内容を詳細に説明するための図であり、(a)および(b)はステップS509の処理の一例を示す図であり、(c)および(d)はステップS510およびS511の処理の一例を示す図である。
【発明を実施するための形態】
【0044】
本発明の一実施形態に係る試験情報表示装置の構成や機能について添付図面の図1ないし図13を参照して以下に詳細に説明する。この試験情報表示装置は、試験装置が被試験物に行う、または行った試験の条件等に関する所定の情報を表示する機能を提供する。
【0045】
最初に、図1を参照して本発明の一実施形態に係る試験情報表示装置1000が用いられる環境について説明する。
試験情報表示装置1000は、電子回路素子2000および試験装置3000と共に使用される。
【0046】
電子回路素子2000は被試験物であり、例えば、半導体集積回路のように複数の入力端子および出力端子を備えている。試験装置3000は通常「テスタ」と呼ばれ、電子回路素子2000を試験するために用いられる。電子回路素子2000は通常、電子回路盤に実装され、この電子回路盤は試験装置3000に電気的に接続される。試験装置3000は電子回路盤を介して電子回路素子2000の入力端子に所定の条件のパルス信号を入力し、そのときの出力端子から出力される信号をモニタする。また、試験装置3000の動作はすべてプログラムによって制御される。
【0047】
次に、試験情報表示装置1000の機能について説明する。試験情報表示装置1000はパーソナルコンピュータなどの処理装置によって実装され、図示のように試験情報参照部10と、試験情報取得/解析部20と、試験情報記憶部30と、試験情報作成部40と、試験情報表示部50と、を機能要素として備える。以下に、それぞれの機能要素について説明する。
【0048】
[試験情報参照部]
試験情報参照部10は試験装置3000とインターフェース可能に接続され、この試験装置を制御しているプログラムデータを参照する機能を有する。また、単に参照するだけではなく、後段の機能要素が行う処理を容易にするために、参照したプログラムデータの全体または一部を試験情報表示装置1000のバッファにコピーしてもよい。
【0049】
[試験情報取得/解析部]
試験情報取得/解析部20は、試験情報参照部10が参照したプログラムデータから所定の情報に関連するデータブロックを取得し、さらに、その取得したデータブロックを解析して当該所定の情報の内容を抽出する機能を有する。なお、本実施形態において「所定の情報」は、電子回路素子2000の端子およびスキャン端子の情報、並びに電子回路素子2000に入力するパルスのタイミングおよびパターンに関する情報である。試験情報取得/解析部20の機能は、これらの取得する情報の種類に従って、端子情報取得/解析部210と、スキャン端子情報取得/解析部220と、パルスタイミング情報取得/解析部230と、パルスパターン情報取得/解析部240と、から構成される。それぞれの取得/解析部が行う処理について以下に詳細に説明する。
【0050】
[端子情報取得/解析部]
端子情報取得/解析部210は、電子回路素子2000の端子に関する情報を取得する機能を有する。
図2(a)は、試験装置3000を制御するプログラムにおける、電子回路素子2000の端子の情報に係るデータブロックの一部を示している。端子情報取得/解析部210は、コマンド「Signals」を基にプログラムから図2(a)が示す端子に係るデータブロックを取得する。次いで、このデータブロックから端子に係る情報(端子名、属性、端子グループ等)を解析する。そして、解析した情報を後述する試験情報記憶部30に格納する。
【0051】
[スキャン端子情報取得/解析部]
スキャン端子情報取得/解析部220は、電子回路素子2000のスキャン端子に関する情報を取得する機能を有する。
図3(a)は、試験装置3000を制御するプログラムにおける、電子回路素子2000のスキャン端子の情報に係るデータブロックの一部を示している。スキャン端子情報取得/解析部220は、コマンド「ScanStructures」を基にプログラムから図3(a)が示すスキャン端子に係るデータブロックを取得する。次いで、このデータブロックからスキャン端子に係る情報(スキャン端子名、スキャンチェイン名、スキャンクロック等)を解析する。そして、解析した情報を後述する試験情報記憶部30に格納する。
【0052】
[パルスタイミング情報取得/解析部]
パルスタイミング情報取得/解析部230は、電子回路素子2000に入力するパルスのタイミングに関する情報を取得する機能を有する。
図4(a)は、試験装置3000を制御するプログラムデータにおける、電子回路素子2000のパルスタイミングに係るデータブロックの一部を示している。パルスタイミング情報取得/解析部230は、コマンド「Timing」を基にプログラムデータから図4(a)が示すパルスタイミングに係るデータブロックを取得する。取得後、このデータブロックからパルスタイミングに係る情報(それぞれ端子に入力するパルスのエッジ毎の変化時刻、イベント情報等)を解析する。そして、解析した情報を後述する試験情報記憶部30に格納する。
【0053】
[パルスパターン情報取得/解析部]
パルスパターン情報取得/解析部240は、電子回路素子2000に入力するパルスのパターンに関する情報を取得する機能を有する。
図5(a)は、試験装置3000を制御するプログラムデータにおける、電子回路素子2000のパルスタイミングに係るデータブロックの一部を示している。パルスパターン情報取得/解析部240は、コマンド「Pattern」を基にプログラムデータから図5(a)が示すパルスパターンに係るデータブロックを取得する。取得後、そのデータブロックからパルスパターンに係る情報(それぞれ端子に入力するパルスのパターン等)を解析する。図5(a)中の「PINGROUP1」は、「B01、B02、B03、C01、C02、A01、A02、C03」の端子をグループ化したものであり、端子ごとにその端子に入力するパルスパターンを解析する。また、パターンアドレスを計算する。さらに、サブルーチン内のパルスパターン情報も解析する。各種サブルーチン(MacroDefs、Procedures等)からパルスパターンを解析すると共に、各種ステートメント(Vector、Loop、Condition等)からパルスパターンを解析する。パターンに変化がない場合の省略記述を解析する。
そして、解析した情報を後述する試験情報記憶部30に格納する。
【0054】
[試験情報記憶部]
試験情報記憶部30は、試験情報取得/解析部20が取り扱うデータを記録するバッファ機能を有する。アクセス性等を考慮して、この記憶部はRAMやROMなどの半導体記憶装置(メモリ)で実装されることが好ましいが、他にハードディスク、CDドライブ、DVDドライブなどで実装されてもよい。
【0055】
[試験情報作成部]
試験情報作成部40は、試験情報記憶部30から試験情報取得/解析部20が分析した所定の情報を読み出し、読み出した情報からユーザが選択した項目に関する情報を検索し、その検索した情報を配列することで表示用のデータ、または外部出力用のデータを作成する。表示用のデータは、ユーザが見やすい形式で配列して表示されるように構成されており、外部出力用のデータは、既存の形式(テキスト、CSV等)で構成されている。なお、出力先は後述する試験情報表示部50、あるいは試験情報表示装置1000の外部端子となる。この試験情報表示装置1000の外部端子には、プリンタ装置、パーソナルコンピュータなどの処理装置、あるいはハードディスク、CDドライブなどの格納装置が接続され得る。なお、試験情報作成部40の機能は、取り扱う情報の種類に従って、端子情報作成部410と、スキャン端子情報作成部420と、パルスタイミング情報作成部430と、パルスパターン情報作成部440と、から構成される。それぞれの作成部が行う処理について以下に詳細に説明する。
【0056】
[端子情報作成部]
端子情報作成部410は、電子回路素子2000の端子に関する情報を取り扱う。
図2(b)は、端子情報を配列した例である。具体的には、端子ごとに情報を分類し、セパレータで区切る。そして、それぞれの端子に番号を付与する。さらに、それぞれの端子に対応する端子番号、端子名、属性、端子グループ名を並べる。
【0057】
[スキャン端子情報作成部]
スキャン端子情報作成部420は、電子回路素子2000のスキャン端子に関する情報を取り扱う。
図3(b)は、スキャン端子情報を配列した例である。具体的には、スキャンチェインごとにスキャン情報を整頓し、セパレータで区切る。さらに、それぞれのスキャンチェインにおけるスキャンチェイン名、スキャンチェイン長、スキャン端子名、スキャンクロックを並べる。
【0058】
[パルスタイミング情報作成部]
パルスタイミング情報作成部430は、電子回路素子2000の端子に入力するパルスのタイミングに関する情報を取り扱う。
図4(b)は、パルスタイミング情報を配列した例である。具体的には、パルスタイミングごとに情報に分類し、セパレータで区切る。そして、それぞれのパルスタイミングに番号を付与する。最後に、端子ごとにその端子に入力するパルスのエッジの変化時刻とイベント情報とを並べる。
【0059】
[パルスパターン情報作成部]
パルスパターン情報作成部440は、電子回路素子2000の端子に入力するパルスのパターンに関する情報を取り扱う。
図5(b)は、パルスパターン情報を配列した例である。具体的には、パルスパターン単位に情報を分類し、セパレータで区切る。次いで、パルスパターンアドレスを解析して、パルスパターンにアドレス番号を付与する。さらに、各種サブルーチン(MacroDefs、Procedures等)から解析したパルスパターンと、各種ステートメント(Vector、Loop、Condition等)から解析したパルスパターンとを表示する。また、データに変化がないパターンの省略記述を省略しないで表示する。
【0060】
[試験情報表示部]
試験情報表示部50は、試験情報作成部40が出力した情報を表示する機能を有し、液晶やCRTなどからなる表示手段を備える。
【0061】
以上に渡って本発明の一実施形態に係る試験情報表示装置1000の用途や機能について説明した。次は、この試験情報表示装置1000が実際に行う試験情報表示方法の手順について説明する。
【0062】
図6のフロー図を参照して説明すると、最初に、ユーザが試験情報表示装置1000に表示させる情報を選択する。より詳細には、端子情報の表示、スキャン端子情報の表示、パルスタイミング情報の表示、パルスパターン情報の表示、何も表示しないうちの1つを選択する(ステップS10)。この手順は、ユーザが試験情報表示部50の表示手段を見ながら対話式に行うことが好ましい。ユーザの選択が終了すると、その選択に従って、端子情報の表示(ステップS20)、スキャン端子情報の表示(ステップS30)、パルスタイミング情報の表示(ステップS40)、パルスパターン情報の表示(ステップS50)、終了の何れかの処理を実行する。
次に、端子情報の表示方法(ステップS20)、スキャン端子情報の表示方法(ステップS30)、パルスタイミング情報の表示方法(ステップS40)、パルスパターン情報の表示方法(ステップS50)のそれぞれの詳細な手順について説明する。
【0063】
[端子情報表示方法(ステップS20の詳細)]
図7のフロー図を参照して本発明の一実施形態に係る端子情報表示方法について説明する。まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS201)。次に、処理を高速化するためにこのプログラムデータを編集する(ステップS202)。具体的には、プログラムデータのコメント文を削除する。以下はこの編集処理の手順の一例である。
(1)プログラムデータに「//」が含まれるかIF文により比較し、含まれる場合は、「//」以降から1行の終わり(改行コード)までの文字列を全て削除する。
(2)プログラムデータに「/*」が含まれるかIF文により比較し、含まれる場合は、「/*」以降に「*/」があるかIF文により検索する。1行内に「/*〜*/」があると判定した場合には、「/*〜*/」内の文字列を削除する。プログラムデータに「/*」が含まれるかIF文により比較し、含まれる場合は、「/*」以降に「*/」があるかIF文により検索する。1行内に「/*〜*/」が無いと判定した場合には、次行のデータを取得し、「*/」が見つかるまでIF文検索を繰返す。「*/」が見つかった場合は、「/*」から「*/」までのデータを削除する。
【0064】
編集処理が終了すると、試験情報取得/解析部20の端子情報取得/解析部210が、編集したプログラムデータからコマンド「Signals」を基に、電子回路素子2000の端子に係るデータブロックを取得し(ステップS203)、その取得したデータブロックを解析して、端子に係る情報を取得する(ステップS204)。そして、取得した端子情報を試験情報記憶部30に格納する(ステップS205)。
【0065】
端子情報の格納が完了すると、次は、その端子情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS206)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。また、データ出力を選択する場合は、そのデータの形式(例えば、ファイル出力、テキストデータ出力、CSVデータ出力)を更に選択する。
次いで、ステップS206の処理と同様にして、ユーザが表示または出力する項目を端子情報から選択する(ステップS207)。なお、選択する項目の例としては、端子名、端子番号、端子属性、端子グループ名などが挙げられる。代替的に、項目を選択せずにすべての端子に対する情報を選択してもよい。
【0066】
試験情報作成部40の端子情報作成部410がステップS207で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS208)。内容が正しくないと判断した場合は、ステップS207の処理に戻る。解析する内容は、例えば、指定された端子番号が整数であるか、格納されたデータ内に選択された項目の情報が存在するか、等である。
解析が終わると、端子情報作成部410がステップS207で選択された項目に該当する端子の情報を試験情報記憶部30に格納された端子情報から検索する(ステップS209)。
【0067】
検索後、その検索した端子情報を配列する(ステップS210)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS206で「表示」が選択された場合には、配列した端子情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS211)。一方、ステップS206で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列した端子情報を含んだデータを生成し、そのデータを外部に出力する(ステップS211)。
以上で端子情報表示方法の手順が完了する。
【0068】
[スキャン端子情報表示方法(ステップS30の詳細)]
図8のフロー図を参照して本発明の一実施形態に係るスキャン端子情報表示方法について説明する。まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS301)。次に、処理を高速化するためにこのプログラムデータを編集する(ステップS302)。編集内容は図7のステップS202と同様であるため、説明は省略する。
【0069】
編集処理が終了すると、試験情報取得/解析部20のスキャン端子情報取得/解析部220が、編集したプログラムデータからコマンド「ScanStructures」を基に、電子回路素子2000のスキャン端子に係るデータブロックを取得し(ステップS303)、その取得したデータブロックを解析して、スキャン端子に係る情報を取得する(ステップS304)。そして、取得したスキャン端子情報を試験情報記憶部30に格納する(ステップS305)。
【0070】
スキャン端子情報の格納が完了すると、次は、そのスキャン端子情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS306)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。また、データ出力を選択する場合は、そのデータの形式(例えば、ファイル出力、テキストデータ出力、CSVデータ出力)を更に選択する。
次いで、ステップS306の処理と同様にして、ユーザが表示または出力する項目を端子情報から選択する(ステップS307)。なお、選択する項目の例としては、スキャン端子名、スキャンチェイン名、スキャンクロックなどが挙げられる。代替的に、項目を選択せずにすべての端子に対する情報を選択してもよい。
【0071】
試験情報作成部40のスキャン端子情報作成部420がステップS307で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS308)。内容が正しくないと判断した場合は、ステップS307の処理に戻る。解析する内容は、例えば、指定されたスキャン端子番号が整数であるか、格納されたデータ内に選択された項目の情報が存在するか、等である。
解析が終わると、スキャン端子情報作成部420がステップS307で選択された項目に該当するスキャン端子の情報を試験情報記憶部30に格納されたスキャン端子情報から検索する(ステップS309)。
【0072】
検索後、その検索したスキャン端子情報を配列する(ステップS310)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS306で「表示」が選択された場合には、配列したスキャン端子情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS311)。一方、ステップS306で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列したスキャン端子情報を含んだデータを生成し、そのデータを外部に出力する(ステップS311)。
以上でスキャン端子情報表示方法の手順が完了する。
【0073】
[パルスタイミング情報表示方法(ステップS40の詳細)]
図9のフロー図を参照して本発明の一実施形態に係るパルスタイミング情報表示方法について説明する。まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS401)。プログラムを参照すると、以降の処理を高速化するために参照したプログラムデータを編集する(ステップS402)。編集内容は図7のステップS202と同様である。次に、試験情報取得/解析部20のパルスタイミング情報取得/解析部230が、編集したブログラムデータからコマンド「Timing」を基に、電子回路素子2000に入力するパルスタイミングに係るデータブロックを取得し(ステップS403)、その取得したデータブロックを解析して、パルスタイミングに係る情報を取得する(ステップS404)。それと同時に、パルスタイミングに係る情報を試験情報記憶部30に格納する(ステップS405)。
【0074】
パルスタイミング情報の格納が完了すると、次は、そのパルスタイミング情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS406)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。次いで、ステップS406の処理と同様にして、ユーザが表示または出力する項目をパルスタイミング情報から選択する(ステップS407)。なお、選択する項目の例としては、パルス信号、端子名、端子グループ名、タイミング名等が挙げられる。代替的に、すべてのパルスタイミングに対する情報を選択してもよい。
【0075】
試験情報作成部40のパルスタイミング情報作成部430がステップS407で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS408)。内容が正しくないと判断した場合は、ステップS407の処理に戻る。解析する内容は、例えば、指定された端子番号が整数であるか、格納されたデータ内の選択された項目の情報が存在するか、等である。
解析が終わると、パルスタイミング情報作成部430がステップS407で選択された項目に該当するパルスタイミングの情報を試験情報記憶部30に格納されたパルスタイミング情報から検索する(ステップS409)。
【0076】
検索後、その検索したパルスタイミング情報を配列する(ステップS410)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS306で「表示」が選択された場合には、配列したパルスタイミング情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS411)。一方、ステップS306で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列したパルスタイミング情報を含んだデータを生成し、そのデータを外部に出力する(ステップS411)。
以上でパルスタイミング情報表示方法の手順が完了する。
【0077】
[パルスパターン情報表示方法(ステップS50の詳細)]
図10のフロー図を参照して本発明の一実施形態に係るパルスパターン情報表示方法について説明する。なお、この表示方法における手順は、上述の他の3つの表示方法における手順とは異なり、サブルーチンの解析、省略されたパルスパターンの解析等の複雑な処理を行っている。
【0078】
まず、試験情報表示装置1000の試験情報参照部10が試験装置3000を制御するプログラムデータを参照する(ステップS501)。プログラムを参照すると、以降の処理を高速化するために参照したプログラムデータを編集する(ステップS502)。編集内容は図7のステップS202と同様である。次に、編集したプログラムデータから電子回路素子2000の端子情報およびスキャン端子情報を取得する(ステップS503)。図5(a)の「PINGROUP1」のように、パルスパターンに係る記述部分では端子がグループ化されている。そのため、端子ごとにパルスパターンを表示させるためには、予め端子およびスキャン端子と端子グループとの関係を把握するために、端子情報およびスキャン端子情報を取得しておく必要がある。なお、ステップS503の処理において、端子情報を取得することは図7のステップS203〜S205の処理手順と同様で、さらに、スキャン端子の情報を取得することは図8のステップS303〜S305の処理手順と同様である。そのため、詳細な説明は省略する。
【0079】
次に、試験情報取得/解析部20のパルスパターン情報取得/解析部240が、コマンド「Pattern」を基に、試験情報参照部10が参照したプログラムデータからパルスタイミングに係るデータブロックと、そのデータブロックで呼ばれるサブルーチンのデータを取得する(ステップS504)。次いで、その取得したサブルーチンデータの構成を解析する(ステップS505)。この処理の一例を以下に示す。なお、解析した結果は試験情報記憶部30に格納する。
【0080】
[ステップS505の処理の一例]
(1)サブルーチンデータを取得する。
サブルーチン内のデータを1行ずつ取得し、次のブロックが現れるまでデータ取得を繰返す。データ取得の開始時にはフラグをONし、次のブロックが現れたらOFFとすることで複数行に渡るデータの開始と終了を判断する。
(2)ドメインデータを取得する。
サブルーチン内のデータをドメイン毎のデータに分割する。データ範囲を検索するために、データ管理用のカウント処理を実施する。取得した行データを1文字ずつに分けて検索していき、「{」の場合にはカウントを1プラスし「}」の場合には1マイナスすることで、「{ }」が入れ子になっていても対応した「{ }」を判断可能としている。カウントが1の場合はデータ開始地点と判断し、「"」から「"」をドメイン名として取得する。カウントが2以上の場合、ドメインのデータとして1行に連結していき、ドメイン毎にハッシュ管理を行う(各ドメインをそれぞれ1行にまとめてハッシュ変数で管理する)。
(3)ドメインデータ内のステートメント情報を取得する。
ハッシュ内に保管したデータにステートメントが含まれる場合、「{」「}」「;」毎に分割し、キーワード文字列を付加する、この時ステートメント名は削除する。
【0081】
ステップS505の処理が終了すると、次はステップS504で取得したデータブロック内でサブルーチンを呼び出すステートメント部分を解析する(ステップS506)。また、解析したサブルーチンがループステートメントで繰り返して呼び出されている場合には、そのループ回数を求める。次は、解析したステートメントのデータ部分を対応するサブルーチンのデータに置き換える(ステップS507)。これにより、データブロックと、そのブロックに呼ばれるサブルーチン部分とを単一のデータとして取り扱えるため、以降の処理が簡単になる。そして、このデータを試験情報記憶部30に格納する(ステップS508)。これらの一連の処理の一例を以下に示す。なお、解析した結果は試験情報記憶部30に格納する。
【0082】
[ステップS506ないしS508の処理の一例]
(1)データブロック内のデータを1行ずつ取得してサブルーチンステートメントを検索し、Callの場合はステートメント格納配列に「Call」、Macroの場合は「Macro」を格納する。取得した行に「:」がある場合には「:」以前の文字列がLabelと判断して取得し、「"」から「"」までのドメイン名を取得する(注1)。取得した行に「{」がある場合は、サブルーチンに受け渡すパターンデータが定義されていると判断する。「{」でフラグON、「}」でフラグOFFすることで、複数行のパターンデータ範囲を判断し取得する(注2)。
(2)サブルーチンにパターンデータが定義されていない場合には、サブルーチンの処理でハッシュ変数に取得したドメイン名と(注1)で取得したドメイン名が一致した場合に、サブルーチン内のデータをパターンブロック内のサブルーチン呼び出し箇所に埋め込む(呼び出し文と差し替える)。
(3)一方、サブルーチンの呼び出し時にパターンデータが定義されている場合には、サブルーチン内の処理としては、サブルーチンの処理でハッシュ変数に取得したドメイン名と「(注1)」で取得したドメイン名が一致した場合に、サブルーチンの処理でハッシュ変数に取得したデータを解析する。ドメイン名が一致したパターンデータをステートメント毎に分けるため「}」を検索し分割する。ステートメント毎に分けたパターンデータを端子や端子グループ毎に分けるため「;」を検索し分割する。端子もしくは端子グループ毎に分けたパターンデータを、端子名/端子グループ名とパターンデータに分けるために、「"」から「"」の文字列を端子名や端子グループ名と判断し、「=」から「;」をパターンデータと判断し取得する(注3)。パターンデータの処理(サブルーチン呼び出し側)としては、(注2)のパターンデータを端子もしくは端子グループ毎に分けるため「;」を検索し分割し、次に、端子名/端子グループ名とパターンデータに分けるために「"」から「"」の文字列を端子名や端子グループ名と判断し、「=」から「;」をパターンデータと判断し取得する(注4)。
(4)サブルーチン内パターンデータ(注3)にデータ呼び出し記号の「#」や「%」が付いているパターンデータに対し、サブルーチン呼び出し側パターンデータ(注4)の端子名もしくは端子グループ名が一致したパターンデータ(注4)を、サブルーチン内のパターンデータとして差し替える。
(5)ループステートメントの処理としては、パターンブロックを1行ずつ取得し、「Loop [ループ回数] {」がある場合はループ処理フラグをONにし、[ループ回数]を変数へ格納する。ループ処理フラグがONの場合、「{」又はWaveformTableがあれば{}状態フラグをONにし、「}」又はWaveformTableがあれば{}状態フラグをOFFにする。{}状態フラグがONの場合、WaveformTableの「;」、Labelの「:」、1行で書かれたVector、Condition間の「}」の後ろに「$」を追加し、「$」により分割してループパターンとして配列へ格納する。「$」の例を図12(a)に示す。{}状態フラグがONの場合、「}」又はWaveformTableがあれば{}状態フラグをOFFにする。{}状態フラグがOFFの場合、「}」又はWaveformTableがあれば分割したループパターンを順次検索し、「{」がある場合はパターンカウントをプラスしていき、パターンカウントが「0」の場合には状態保持配列に「LOOP_ST」の文字列を格納し、ループ回数配列にループ回数を格納する。パターンカウントが「0」でない場合、状態保持配列、ループ回数配列には空白を格納し、ループパターンを分割格納用の配列へ格納する。全ループパターン検索の完了後、パターンカウントが1以下の場合、状態保持配列に「LOOP_ST_EN」を格納し、ループ回数配列にループ回数を格納してループ処理フラグをOFFにする。パターンカウントが2以上の場合、状態保持配列に「LOOP_EN」を格納し、ループ回数として空白を格納し、ループ処理フラグをOFFにする。ループ処理フラグがOFFの場合、状態保持配列、ループ回数配列は空白を追加する。
(6)1行に書かれた複数パターンを分割する。
パターンブロックを1行ずつ取得し「Loop」がない場合、WaveformTableの「;」、Labelの「:」、1行で書かれたVector、Condition間の「}」の後ろに「$」を追加し、「$」により分割して分割パターン配列へ格納する(図12(b)参照)。
(7)1行1ステートメントのデータを格納する。
分割パターン配列からデータを順次取得し、ConditionステートメントがあればコンディションフラグをONにし、コンディションカウントをプラスする。Vectorステートメントの場合はコンディションフラグをOFFにする。取得した分割パターン配列のデータに下記のステートメントがある場合、パターンフラグをONにして、取得データを配列へ格納する。「Macro"」「Call"」「Vector{」「V{」「Condition{」「C{」「WaveformTable"」「W"」「Shift{」「Loop」
パターンフラグがONで「}」が含まれる場合、パターンフラグをOFFにし、パターンカウントをプラスする。その際、「{」が含まれない場合、取得データを配列に格納する。また、「{」「}」を含まない場合も取得データを配列に格納する。図12(c)に示すように、配列に格納したデータを連結する事で、1ステートメント(「[ステートメント]{」から「}」)を1行として変数に格納する。1行ずつ格納した変数内のデータを「{」で分割する事でステートメントとパターンに分け、それぞれパターンカウント毎にステートメント(注7)とパターン(注5)を別の配列へ格納する。ステートメントに「:」が含まれる場合、Labelとして変数へ格納する。
【0083】
ステップS508の処理が終了すると、格納したデータにおける省略された部分および端子を解析して、解析した省略部分を補足する(書き足す)修正を行う(ステップS509)。詳細にはどのように処理しているかを説明するために、この処理の一例を以下に示す。なお、修正した結果は試験情報記憶部30に格納する。
【0084】
[ステップS509の処理の一例]
繰り返し記述の展開
STILファイルはパターン値として図13(a)に示す例のように、繰り返し記述「¥r」を使用する事で省略する事が出来るため、この記述を展開する。1ステートメントずつ格納したパターン配列(注5)を順次取得し、「¥r」がある場合「¥」の前にスペースをつけ、端子や端子グループ毎に分けるため「;」を検索し分割する。分割したものに「=」が含まれる場合、端子名/端子グループ名とパターンデータに分けるため「=」で分割する。図13(b)で示すように「=」で分割した端子名/端子グループ名を変数へ格納し、パターンデータを更にスペースで分割する。スペースで分割したパターンデータを順次参照していき、「¥r」を含む場合は信号数を取得し省略パターン値を信号の数だけ配列に格納する。「¥r」を含まないパターンデータはそのまま配列へ格納する。端子名/端子グループ名と「=」を先頭に連結し、省略パターン値を展開した配列をパターン格納配列(注6)へ格納する。
【0085】
ステップS509の処理が終了すると、データブロックを解析して、各端子における入力パルスのパターンを求める(ステップS510)。詳細にはどのように処理しているかを説明するために、この処理の一例を以下に示す。なお、修正した結果は試験情報記憶部30に格納する(ステップS511)。
【0086】
[ステップS510およびS511の処理の一例]
(1)1アドレス目パターンを格納する。
図13(c)に示すように、パターン格納配列(注6)に格納したパターンを順次取得し、空白で分割する事で端子・端子グループ別にデータを配列に格納する。分割したものを更に「=」で分割し、端子名/端子グループ名(注8)とパターン(注9)に分ける。
対応するステートメント格納配列(注7)がCallの場合には、全端子分ループし、Procedures用パターン配列にパターン値が含まれない端子は、初期値として「x」をProcedures用パターン配列に格納する。「=」で分割した端子名/端子グループ名がSignalGroupsに含まれる場合、そのSignalGroupsを「+」で分割しパターンを1文字ずつ分割して、それぞれ配列に格納する(図13(d)を参照)。端子名/端子グループ名(注8)がSignalGroupsに含まれる場合、対応するパターン(注9)がある端子はProcedures用パターン配列に格納する。パターン(注9)が無い端子は「x」を格納する。
端子名/端子グループ名(注8)がSignalsに含まれる場合、パターン(注9)をProcedures用パターン配列に格納する。
一方、対応するステートメント格納配列(注7)がCall以外の場合には、全端子分ループし、通常パターン配列にパターン値が含まれない端子は、初期値として「x」を通常パターン配列に格納する。端子名/端子グループ名(注8)がSignalGroupsに含まれる場合、対応するパターン(注9)がある端子は通常パターン配列に格納する。パターン(注9)が無い場合は「x」を格納する。端子名/端子グループ名(注8)がSignalsに含まれる場合、パターンを通常パターン配列に格納する。
Callの場合はProcedures用配列、それ以外は通常パターン配列から、総合パターン配列と前アドレスパターン配列(注10)に格納する。
(2)2アドレス目以降パターンを格納する。
パターン格納配列(注6)に格納したパターンを順次取得し、空白で分割する事で端子・端子グループ別にデータを配列に格納する。
分割したものを更に「=」で分割し、端子名/端子グループ名(注8)とパターン(注9)に分ける。
対応するステートメント格納配列(注7)がCallの場合には、全端子分ループし、Procedures用パターン配列にパターン値が含まれない端子は、「x」をProcedures用パターン配列に格納する。「=」で分割した端子名/端子グループ名がSignalGroupsに含まれる場合、そのSignalGroupsを「+」で分割しパターンを1文字ずつ分割して、それぞれ配列に格納する。SignalGroupsの端子数ループし、Signalsに一致する端子名がある場合に下記の「条件」のものは、前アドレスのパターンを格納している配列(注10)からProcedures用配列に格納する。「=」で分割したパターン(注8)に値が含まれる端子は、そのままProcedures用配列に格納し、含まれない端子は「x」を格納する。
一方、対応するステートメント格納配列(注7)がCall以外の場合には、SignalGroupsの端子数だけループさせ、Signalsに一致する端子名がある場合に下記の「条件」のものは、前アドレスのパターンを格納している配列(注10)から通常パターン配列に格納する。「=」で分割したパターン(注8)に値が含まれる端子は、そのまま通常パターン配列に格納し、含まれない端子は「x」を格納する。
「条件」とは、Condition・双方向端子、パターン値が「X」または「Z」、前アドレスのパターンが「0」または「1」の場合である。
Callの場合はProcedures用配列、それ以外は通常パターン配列から、総合パターン配列と前アドレスパターン配列(注10)に格納する。
【0087】
ステップS511の処理以降は、図11のフロー図を参照して説明する。
パルスパターンに関する情報の格納が完了すると、次は、そのパルスパターン情報を試験情報表示部50に表示させるか、あるいは、試験情報表示装置1000の外部にデータとして出力するかどうかを選択する(ステップS512)。この選択はユーザによって試験情報表示部50およびキーボードまたはマウス等を用いて行われる。
次いで、ステップS512の処理と同様にして、ユーザが表示または出力する項目をパルスパターン情報から選択する(ステップS513)。なお、選択する項目の例としては、端子名、端子範囲、パターンアドレス、パターンアドレス範囲、等が挙げられる。
【0088】
試験情報作成部40のパルスパターン情報作成部440がステップS512で選択した項目を解析し、選択した項目内容が正しいかどうかを判断する(ステップS514)。内容が正しくないと判断した場合は、ステップS512の処理に戻る。解析する内容は、例えば、指定されたパルス信号の番号が整数であるか、格納されたデータ内に選択された項目の情報が存在するか、等である。
解析が終わると、パルスパターン情報作成部440がステップS512で選択された項目に該当するパルスパターンの情報を試験情報記憶部30に格納されたパルスパターン情報から検索する(ステップS515)。
【0089】
検索後、その検索したパルスパターン情報を配列する(ステップS516)。具体的には、種々の項目のデータを並び換え、データ名称、コメントなどの付加を行う。
さらに、ステップS513で「表示」が選択された場合には、配列したパルスパターン情報を試験情報表示部50に送付し、試験情報表示部50はその受け取った情報を表示する(ステップS517)。一方、ステップS306で「出力」が選択された場合には、データ出力形式に合ったセパレータを使用して配列したパルスタイミング情報を含んだデータを生成し、そのデータを外部に出力する(ステップS517)。
【0090】
以上に渡り、本発明の一実施形態に係る試験情報表示装置1000および試験情報表示方法について説明したが、本発明の内容はこの実施形態に限定されるものではないことに留意されたい。例えば、図1に示す試験情報表示部50は必ずしも試験情報表示装置1000の構成要素である必要はない。代替的に、市販の表示装置を試験情報表示装置1000に接続して用いてもよい。
【0091】
本発明の一実施形態に係る試験情報表示装置1000が提供する機能は、特定のハードウェア資源またはソフトウェア処理に限定されないことに留意されたい。すなわち、この機能を実現できる限り、如何なるハードウェア(電子回路等)、ソフトウェア(プログラム)、あるいはそれらの組み合わせ等を用いてよい。
【0092】
上述した本発明の一実施形態に係る試験情報表示方法を、プログラムとして実装する場合には、このプログラムを外部のサーバ等から該方法を実行する情報処理装置にダウンロードするか、あるいはコンピュータ可読媒体の形態で分配されることが好ましい。コンピュータ可読媒体の例としては、CD−ROM、DVD、磁気テープ、フレキシブルディスク、光磁気ディスク、ハードディスク、メモリ媒体などが挙げられる。
【0093】
以上、本発明を図面に示した実施形態を用いて説明したが、これらは例示的なものに過ぎず、本技術分野の当業者ならば、本発明の範囲および趣旨から逸脱しない範囲で多様な変更および変形が可能なことは理解できるであろう。したがって、本発明の範囲は、説明された実施形態によって定められず、特許請求の範囲に記載された技術的趣旨により定められねばならない。
【符号の説明】
【0094】
10 試験情報参照部
20 試験情報取得/解析部
30 試験情報記憶部
40 試験情報作成部
50 試験情報表示部
210 端子情報取得/解析部
220 スキャン端子情報取得/解析部
230 パルスタイミング情報取得/解析部
240 パルスパターン情報取得/解析部
410 端子情報作成部
420 スキャン端子情報作成部
430 パルスタイミング情報作成部
440 パルスパターン情報作成部
1000 試験情報表示装置
2000 電子回路素子
3000 試験装置
【特許請求の範囲】
【請求項1】
STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示装置であって、
前記試験プログラムを参照するプログラム参照手段と、
前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得手段と、
前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得手段と、
前記取得した試験情報を配列する試験情報配列手段と、
前記配列された試験情報を表示する試験情報表示手段と、
を備えることを特徴とする試験情報表示装置。
【請求項2】
データブロック取得手段は、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項3】
データブロック取得手段は、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項4】
データブロック取得手段は、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項5】
データブロック取得手段は、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項6】
前記試験情報取得手段が取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力手段をさらに備えることを特徴とする請求項1ないし5の何れか一項に記載の試験情報表示装置。
【請求項7】
前記プログラム参照手段が参照した試験プログラムからコメント文を削除するプログラム編集手段をさらに備えることを特徴とする請求項1ないし6の何れか一項に記載の試験情報表示装置。
【請求項8】
前記試験情報表示手段は、ユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索手段を有し、
さらに、前記試験情報表示手段は、前記検索手段が検索した項目に関する情報のみを表示することを特徴とする請求項1ないし7の何れか一項に記載の試験情報表示装置。
【請求項9】
STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示方法であって、
前記試験プログラムを参照するプログラム参照段階と、
前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得段階と、
前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得段階と、
前記取得した試験情報を配列する試験情報配列段階と、
前記配列された試験情報を表示する試験情報表示段階と、
を含むことを特徴とする試験情報表示方法。
【請求項10】
前記データブロック取得段階では、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示方法。
【請求項11】
前記データブロック取得段階では、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示方法。
【請求項12】
データブロック取得段階では、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示方法。
【請求項13】
データブロック取得段階では、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示装置。
【請求項14】
前記試験情報取得段階で取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力段階をさらに含むことを特徴とする請求項9ないし13の何れか一項に記載の試験情報表示方法。
【請求項15】
前記試験プログラムからコメント文を削除するプログラム編集段階をさらに含み、該プログラム編集段階は、前記プログラム参照段階と前記データブロック取得段階との間で行われることを特徴とする請求項9ないし14の何れか一項に記載の試験情報表示方法。
【請求項16】
前記試験情報表示段階は、ユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索段階を含み、該検索段階で検索した項目に関する情報のみを表示することを特徴とする請求項9ないし15の何れか一項に記載の試験情報表示方法。
【請求項17】
請求項9ないし16の何れか一項に記載の試験情報表示方法を実行する電子回路。
【請求項18】
請求項9ないし16の何れか一項に記載の試験情報表示方法を処理装置に実行させるプログラム。
【請求項19】
請求項18に記載のプログラムを格納したコンピュータ可読媒体。
【請求項1】
STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示装置であって、
前記試験プログラムを参照するプログラム参照手段と、
前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得手段と、
前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得手段と、
前記取得した試験情報を配列する試験情報配列手段と、
前記配列された試験情報を表示する試験情報表示手段と、
を備えることを特徴とする試験情報表示装置。
【請求項2】
データブロック取得手段は、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項3】
データブロック取得手段は、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項4】
データブロック取得手段は、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項5】
データブロック取得手段は、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、
前記試験情報取得手段は、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする請求項1に記載の試験情報表示装置。
【請求項6】
前記試験情報取得手段が取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力手段をさらに備えることを特徴とする請求項1ないし5の何れか一項に記載の試験情報表示装置。
【請求項7】
前記プログラム参照手段が参照した試験プログラムからコメント文を削除するプログラム編集手段をさらに備えることを特徴とする請求項1ないし6の何れか一項に記載の試験情報表示装置。
【請求項8】
前記試験情報表示手段は、ユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索手段を有し、
さらに、前記試験情報表示手段は、前記検索手段が検索した項目に関する情報のみを表示することを特徴とする請求項1ないし7の何れか一項に記載の試験情報表示装置。
【請求項9】
STILで記述された電子回路素子用試験プログラムから所定の試験情報を取得し、その取得した情報を表示する試験情報表示方法であって、
前記試験プログラムを参照するプログラム参照段階と、
前記所定の試験情報に関連したコマンドを基に、前記参照した試験プログラムから該試験情報を含むデータブロックを取得するデータブロック取得段階と、
前記取得したデータブロックから前記所定の試験情報を取得する試験情報取得段階と、
前記取得した試験情報を配列する試験情報配列段階と、
前記配列された試験情報を表示する試験情報表示段階と、
を含むことを特徴とする試験情報表示方法。
【請求項10】
前記データブロック取得段階では、コマンドSignalsを基に、前記所定の試験情報として端子情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記端子情報を含むデータブロックから端子名、端子グループ名、端子番号、端子属性のうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示方法。
【請求項11】
前記データブロック取得段階では、コマンドScanStructuresを基に、前記所定の試験情報としてスキャン端子情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記スキャン端子情報を含むデータブロックからスキャンチェイン名と、それに対応するスキャン端子名、スキャンクロックのうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示方法。
【請求項12】
データブロック取得段階では、コマンドTimingを基に、前記所定の試験情報としてパルスタイミング情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記パルスタイミング情報を含むデータブロックから端子名と、それに対応するパルス信号の変化時刻、イベント情報のうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示方法。
【請求項13】
データブロック取得段階では、コマンドPatternを基に、前記所定の試験情報としてパルスパターン情報を含むデータブロックを取得し、
前記試験情報取得段階では、前記パルスパターン情報を含むデータブロックから端子名と、それに対応するパルスパターン、パターンアドレスのうちの少なくとも1つを取得することを特徴とする請求項9に記載の試験情報表示装置。
【請求項14】
前記試験情報取得段階で取得した試験情報をテキスト、CSVを含む所定の形式のデータとして出力する試験情報出力段階をさらに含むことを特徴とする請求項9ないし13の何れか一項に記載の試験情報表示方法。
【請求項15】
前記試験プログラムからコメント文を削除するプログラム編集段階をさらに含み、該プログラム編集段階は、前記プログラム参照段階と前記データブロック取得段階との間で行われることを特徴とする請求項9ないし14の何れか一項に記載の試験情報表示方法。
【請求項16】
前記試験情報表示段階は、ユーザの選択した項目に関する情報を前記取得した試験情報の中から検索する検索段階を含み、該検索段階で検索した項目に関する情報のみを表示することを特徴とする請求項9ないし15の何れか一項に記載の試験情報表示方法。
【請求項17】
請求項9ないし16の何れか一項に記載の試験情報表示方法を実行する電子回路。
【請求項18】
請求項9ないし16の何れか一項に記載の試験情報表示方法を処理装置に実行させるプログラム。
【請求項19】
請求項18に記載のプログラムを格納したコンピュータ可読媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−167958(P2012−167958A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−27573(P2011−27573)
【出願日】平成23年2月10日(2011.2.10)
【出願人】(592161372)日本システムウエア株式会社 (31)
【Fターム(参考)】
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願日】平成23年2月10日(2011.2.10)
【出願人】(592161372)日本システムウエア株式会社 (31)
【Fターム(参考)】
[ Back to top ]