説明

テストデータ生成装置および方法

【課題】各種テスタに共通なテストデータから、個々のテスタの制約に合致したテストデータを自動的に生成することのできるテストデータ生成装置および方法を提供する。
【解決手段】実施形態のテストデータ生成装置1は、タイミング記述検証部11が、共通テストデータ100に記述された1サイクル当たりのタイミングエッジ数が指定されたテスタの制約範囲内かを検証し、タイミングエッジ数が前記制約を超えている場合は、サイクライズ期間設定部12が、タイミングエッジ数および1サイクルの期間がテスタの制約範囲内となるサイクライズ期間を設定し、イベントデータ展開部13が、テストデータ100をイベントデータに展開し、サイクライズ処理部14が、そのイベントデータをサイクライズ期間でサイクライズし、テストデータ出力部15が、サイクライズ後のイベントデータを元の記述形式へ逆変換し、修正版共通テストデータ200を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、テストデータ生成装置および方法に関する。
【背景技術】
【0002】
半導体集積回路のテストデータを記述する言語として、IEEE標準のテストインターフェース言語であるSTIL(Standard Test Interface Language)がある。STILを使用すれば、言語変換なしに、種々のLSIテスタを利用することが可能である。
【0003】
しかし、LSIテスタには、その機種ごとに、テストサイクルやストローブポイント数など、タイミング設定に関する制約がある。そのため、半導体集積回路のテストにあたっては、STILで記述されたテストデータが、使用するテスタの制約に違反していないかどうか、検査する必要がある。
【0004】
この検査で制約違反が判明した場合には、元のテストデータを修正しなければならない。しかし、一般に、テストデータのファイル数とベクタ量は膨大であるため、この修正を手作業で行うのは実質不可能である。そこで、変換スクリプトを作成してテストデータを編集することが行われる。
【0005】
変換スクリプトは、修正対象のテストデータに合わせて作成しなければならない。そのため、データ内容の調査、変換仕様の検討、プログラム仕様の作成、プログラミング、デバッグ等の作業に多大な時間を要する、という問題が生じる。また、当該製品のデータに合わせて作成するため汎用的に使用することができず、その都度、新たなスクリプトを作成しなければならない、という問題もある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−92466号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明が解決しようとする課題は、各種テスタに共通なテストデータから、個々のテスタの制約に合致したテストデータを自動的に生成することのできるテストデータ生成装置および方法を提供することにある。
【課題を解決するための手段】
【0008】
実施形態のテストデータ生成装置は、タイミング記述検証部が、共通テストデータに記述された1サイクル当たりのタイミングエッジ数が指定されたテスタの制約範囲内かを検証し、サイクライズ期間設定部が、前記タイミングエッジ数が前記制約を超えている場合は、前記タイミングエッジ数および1サイクルの期間が前記制約範囲内となるサイクライズ期間を設定し、イベントデータ展開部が、前記テストデータに記述されたタイミング設定値およびパターンデータをイベントデータに展開する。このテストデータ生成装置は、サイクライズ処理部が、前記イベントデータを前記サイクライズ期間でサイクライズし、テストデータ出力部が、前記サイクライズ後のイベントデータを元の記述形式へ逆変換し、修正版共通テストデータを出力する。
【図面の簡単な説明】
【0009】
【図1】第1の実施形態のテストデータ生成装置の構成の例を示すブロック図。
【図2】第1の実施形態のテストデータ生成装置の処理の流れの例を示すフロー図。
【図3】サイクライズ処理の流れの例を示すフロー図。
【図4】共通テストデータのタイミング記述とサイクライズ期間の関係を示す図。
【図5】共通テストデータの記述例を示す図。
【図6】イベントデータへの展開処理の例を示す図。
【図7】サイクライズ処理の例を示す図。
【図8】修正版テストデータの記述例を示す図。
【図9】サイクライズ処理の別の例を示す図。
【図10】修正版テストデータの別の記述例を示す図。
【図11】サイクル越えエッジの記述がある共通テストデータの例を示す図。
【図12】第2の実施形態のテストデータ生成装置の処理の流れの例を示すフロー図。
【図13】イベントデータの並べ替え処理の例を示す図。
【図14】共通テストデータの省略記述の例を示す図。
【図15】第3の実施形態のテストデータ生成装置の処理の流れの例を示すフローおよび処理の例を示す図。
【図16】最終時刻越えのイベントが発生する共通テストデータの例を示す図。
【図17】イベントデータへの展開処理の例を示す図。
【図18】第4の実施形態のテストデータ生成装置の処理の流れの例を示すフロー図。
【図19】サイクライズ処理の例を示す図。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【0011】
(第1の実施形態)
図1は、第1の実施形態のテストデータ生成装置の構成の例を示すブロック図である。
【0012】
本実施形態のテストデータ生成装置1は、STILなどの標準記述言語で記述された共通テストデータ100に記述された1サイクル当たりのタイミングエッジ数が指定されたテスタの制約範囲内かを検証するタイミング記述検証部11と、上述のタイミングエッジ数がテスタの制約を超えている場合は、タイミングエッジ数および1サイクルの期間がテスタの制約範囲内となるサイクライズ期間を設定するサイクライズ期間設定部12と、テストデータ100に記述されたタイミング設定値およびパターンデータをイベントデータに展開するイベントデータ展開部13と、展開されたイベントデータを上述のサイクライズ期間でサイクライズするサイクライズ処理部14と、サイクライズ後のイベントデータを元の記述形式へ逆変換し、修正版共通テストデータ200を出力するテストデータ出力部15と、を備える。
【0013】
このテストデータ生成装置1の動作を、図2に示すフロー図を用いて説明する。
【0014】
処理を開始すると、タイミング記述検証部11が、共通テストデータ100からタイミング記述を読み込み(ステップS01)、タイミング記述に記述された1サイクル当たりのタイミングエッジ数が、指定されたテスタの制約を超過しているかどうかを検証する(ステップS02)。
【0015】
このとき、1サイクル当たりのタイミングエッジ数がテスタ制約を超過していなければ(NO)、共通テストデータ100が、そのまま、指定されたテスタで使用できるので、本装置における処理は終了する。
【0016】
これに対して、1サイクル当たりのタイミングエッジ数がテスタ制約を超過しているときは(YES)、サイクライズ期間設定部12が、タイミングエッジ数および1サイクルの期間がテスタ制約の範囲内となるよう、サイクライズ期間を設定する(ステップS03)。
【0017】
図3に、このサイクライズ期間設定部12のサイクライズ期間設定処理の詳細なフローを示す。
【0018】
サイクライズ期間の設定にあたっては、まず、共通テストデータ100のタイミング記述に記載されているタイミングエッジ数の最大値nを算出する(ステップS11)。
【0019】
次に、この最大エッジ数nと、共通テストデータ100のタイミング記述に記載されているテストサイクル期間(Period値)から、サイクライズ期間(CP)を
CP=Period値/n
として算出する(ステップS12)。
【0020】
次に、この算出したサイクライズ期間CPが、指定のテスタの制約である最小Period値以上あるかどうかチェックする(ステップS13)。
【0021】
サイクライズ期間CPが最小Period値以上あれば(YES)、続いて、サイクライズ期間に含まれるタイミングエッジ数がテスタ制約範囲内であるかどうかチェックする(ステップS14)。
【0022】
サイクライズ期間に含まれるタイミングエッジ数がテスタ制約範囲内であれば(YES)、算出したサイクライズ期間CPのデータを保存しておく(ステップS15)。
【0023】
一方、ステップS13あるいはステップS14でテスタ制約に違反する場合は(NO)、nの値を半分(n=n/2)に変更し(ステップS16)、変更後のnが1より大(n>1)であるかどうかチェックする(ステップS17)。
【0024】
変更後のnが1より大であれば(YES)、ステップS12へ戻って、以降の処理を繰り返す。
【0025】
これに対して、変更後のnが1より小、すなわち小数となるときは(NO)、テスタ制約を満たすサイクライズ期間が得られないので、サイクライズ不可のエラー出力を出し(ステップS18)、本フローの処理を終了する。この場合、この共通テストデータ100は指定のテスタでは使用できないことがわかる。
【0026】
サイクライズ期間設定処理でサイクライズ期間CPが算出されたときは、図2のフローに戻り、イベントデータ展開部13が、共通テストデータ100をイベントデータに展開する(ステップS04)。
【0027】
続いて、このイベントデータに対して、サイクライズ処理部14が、サイクライズ期間設定部12により算出され保存されていたサイクライズ期間CPのデータを用いて、サイクライズ処理を行う(ステップS05)。
【0028】
最後に、テストデータ出力部15が、サイクライズ後のイベントデータを元の記述形式へ逆変換し(ステップS06)、修正版共通テストデータ200を出力し(ステップS07)、本フローの処理を終了する。
【0029】
次に、本実施形態における具体的な処理の例を、図4〜図10を用いて説明する。なお、ここでは、共通テストデータ100がSTILにより記述されているものとする。
【0030】
図4に、共通テストデータ100のタイミング記述とサイクライズ期間の関係を示す。
【0031】
図4(a)は、共通テストデータ100のタイミング記述の例である。この例では、テストサイクル期間(Period値)が40nsであり、ピン名が“PIN001”というピンに対して、タイミング記述の種類を表すWaveformCharの値が“0”、“1”である、2種類のタイミングエッジが記述されている。
【0032】
このうち、WaveformChar値“1”の文には、期待値比較のストローブポイントを示すタイミングエッジが4つ記述されており、このタイミングエッジ数4が、最大エッジ数n(n=4)である。
【0033】
図4(b)は、この期待値のタイミング記述を、時間軸上で示したものである。
【0034】
図4(c)は、このタイミング記述に対して、サイクライズ期間設定部12によりサイクライズ期間が10ns(CP=40/4=10)と設定されたときのサイクライズ期間とタイミングエッジの関係を示したものである。この場合、各サイクルの8nsの位置1か所にタイミングエッジが設定される。
【0035】
これに対して、テスタの最小Period値の制約が、例えば20nsの場合、サイクライズ期間の10nsは、この制約に違反することになる。そこで、この場合、サイクライズ期間設定部12は、n=4/2=2として、サイクライズ期間CPを20nsに設定する。
【0036】
図4(d)は、サイクライズ期間が20ns(CP=20)と設定されたときのサイクライズ期間とタイミングエッジの関係を示したものである。
【0037】
サイクライズ期間を20nsとした場合、各サイクルのタイミングエッジは、8nsと18nsの2か所に設定されることになる。そこで、タイミングエッジの設定数に関するテスタ制約をチェックし、このタイミングエッジの設定数がテスタ制約の範囲内であれば、サイクライズ期間として20nsを採用する。
【0038】
図5は、パターン記述まで含めた、共通テストデータ100の記述例である。このパターン記述では、ピンPIN001に対して、時間軸上で、WaveformChar値“1”、“0”、“1”の順で、タイミングエッジが、順次設定される。
【0039】
図6は、イベントデータ展開部13が、図5に示したパターン記述をイベントデータに展開した結果である。この例では、各サイクルにおけるイベント発生時刻をps単位で示している。
【0040】
図7は、サイクライズ処理部14が、サイクライズ期間CPを10ns(10000ps)として、図6に示したイベントデータをサイクライズ処理したときの、サイクルの区切りを示したものである。
【0041】
図8は、サイクライズ期間CPを10nsとしてサイクライズ処理されたイベントデータに対して、テストデータ出力部15から出力されるSTIL記述形式の修正版共通テストデータ200の例である。
【0042】
この修正版共通テストデータ200のタイミング記述では、Period値が10nsへ変更され、WaveformChar値“2”で表わされる文が、新たに記述されている。WaveformChar値“2”の文には、期待値比較のストローブポイントを示すタイミングエッジが、8nsの1か所のみ記述されている。
【0043】
また、パターン記述も、WaveformChar値“2”に記載されたタイミングエッジを使用するよう修正されている。
【0044】
図9は、サイクライズ処理部14が、サイクライズ期間CPを20ns(20000ps)として、図6に示したイベントデータをサイクライズ処理したときの、サイクルの区切りを示したものである。
【0045】
図10は、サイクライズ期間CPを20nsとしてサイクライズ処理されたイベントデータに対して、テストデータ出力部15から出力されるSTIL記述形式の修正版共通テストデータ200Aの例である。
【0046】
この修正版共通テストデータ200Aのタイミング記述では、Period値が20nsへ変更され、WaveformChar値“3”で表わされる文が、新たに記述されている。WaveformChar値“3”の文には、期待値比較のストローブポイントを示すタイミングエッジが、8nsと、18nsの2か所記述されている。
【0047】
この場合、パターン記述も、WaveformChar値“3”に記載されたタイミングエッジを使用するよう修正される。
【0048】
このような本実施形態によれば、各種テスタに共通な共通テストデータ100からタイミング記述を読み込み、タイミングエッジ数および1サイクル期間がテスタ制約範囲内となるサイクライズ期間を設定し、共通テストデータ100をイベントデータに展開し、そのイベントデータをサイクライズして元の記述形式へ逆変換することができる。これにより、共通テストデータ100から、個々のテスタの制約に合致した修正版テストデータ200を自動的に生成することができる。
【0049】
(第2の実施形態)
STILでは、図11の(1)、(2)に示すような、Period値を超えた位置にタイミングエッジを記述する、いわゆる「サイクル越えエッジ」の記述が許されている。しかし、このようなサイクル越えエッジの記述があると、イベントデータに展開したときに、イベントデータの時刻の並びに矛盾が生じ、正確な出力結果が得られなくなる。
【0050】
そこで、本実施形態では、共通テストデータ100にサイクル越えエッジの記述があっても、正確な出力結果が得られるテストデータ生成装置の例を示す。
【0051】
本実施形態のテストデータ生成装置は、第1の実施形態で示した処理に加えて、図12のフロー図に示す処理を実行する。
【0052】
図12に示すフローでは、まず、タイミング記述検証部11が、共通テストデータ100にサイクル越えエッジの記述があるかどうかをチェックする(ステップS21)。
【0053】
次に、サイクル越えエッジの記述があるときは(YES)、イベントデータ展開部13が、展開したイベントデータのイベント発生時刻のソーティングを行い(ステップS22)、イベント発生時刻順に、イベントデータを並べ替える(ステップS23)。
【0054】
これに対して、サイクル越えエッジの記述がないときは(NO)、イベントデータ展開部13は、イベントデータのソーティングを実行しない。
【0055】
図13に、本フローによるイベントデータ並べ替え処理の例を示す。
【0056】
図13(a)は、図11に示した共通テストデータ100Aをイベントデータに展開した結果である。この場合、次サイクルの先頭(6016ps)で発生するイベントよりも前に、時刻6862ps、8366psで発生するイベントが記述されている。
【0057】
図13(b)は、上述のイベントをソーティングし、イベント発生時刻順にイベントデータを並べ替えた結果である。この場合、6016psで発生するイベントよりも後に、時刻6862ps、8366psで発生するイベントが記述されている。
【0058】
このような本実施形態によれば、共通テストデータ100にサイクル越えエッジの記述があっても、正確な出力結果を得ることができる。
【0059】
(第3の実施形態)
また、STILでは、図14(a)の共通テストデータ100Bに示すように、期待値‘x’(don’t care)を省略記述することが可能である。図14(b)は、このタイミング記述の順に発生するイベントを時間軸上で示したものである。
【0060】
図14(c)は、このイベントを単純に4分割でサイクライズしたときの、各分割サイクルの期待値を示す。この場合、WaveformChar値“3”の最終サイクルには、その前のイベントが継続しているものとして、“L”が記述される。すなわち、本来、期待値比較の必要のないサイクルに誤った期待値が発生してしまう。
【0061】
そこで、本実施形態では、共通テストデータ100に期待値‘x’の省略記述があっても、サイクライズ時に誤った期待値が発生しないテストデータ生成装置の例を示す。
【0062】
本実施形態のテストデータ生成装置は、第1および第2の実施形態で示した処理に加えて、図15(a)のフロー図に示す処理を実行する。
【0063】
図15(a)に示すフローでは、まず、タイミング記述検証部11が、共通テストデータ100に期待値‘x’の省略記述があるかどうかをチェックする(ステップS31)。
【0064】
次に、期待値‘x’の省略記述があるときは(YES)、サイクライズ処理部14が、該当するタイミングエッジに、図15(b)に示すように、期待値‘x’を挿入する(ステップS32)。
【0065】
これに対して、期待値‘x’の省略記述がないときは(NO)、サイクライズ処理部14は、通常のサイクライズ処理を実行する。
【0066】
このような本実施形態によれば、共通テストデータ100に期待値‘x’の省略記述があっても、サイクライズ後の該当サイクルに誤った期待値が発生せず、該当サイクルの期待値を‘x’(don’t care)とすることができる。
【0067】
(第4の実施形態)
図16に示す共通データ100Cでは、タイミング記述に、先に説明した「サイクル越えエッジ」の記述が使用され、パターン記述の最後に、この「サイクル越えエッジ」のあるタイミング記述文が指定されている。そのため、この共通データ100Cをイベント展開すると、図17に示すように、パターン最終時刻を超える時刻にイベントが発生する。したがって、これをそのままサイクライズすると、サイクル越えのサイクル数分、不要なサイクルが発生する。
【0068】
そこで、本実施形態では、共通テストデータ100にサイクル越えエッジの記述があっても、サイクライズ時に不要なサイクルが発生しないテストデータ生成装置の例を示す。
【0069】
本実施形態のテストデータ生成装置は、第1〜第3の実施形態で示した処理に加えて、図18のフロー図に示す処理を実行する。
【0070】
図18に示すフローでは、まず、タイミング記述検証部11が、共通テストデータ100にサイクル越えエッジの記述があるかどうかをチェックし(ステップS41)、サイクル越えエッジの記述がある場合は(YES)、最終時刻を算出する(ステップS42)。最終時刻は、Period値×(パターン記述に記載されたパターン数)として算出される。
【0071】
次に、サイクライズ処理部14が、算出された最終時刻を超えるイベントがあるかどうかをチェックし(ステップS43)、最終時刻を超えるイベントがあるときは(YES)、図19に示すように、そのイベントをサイクライズ対象から除外する(ステップS44)。
【0072】
これにより、サイクライズ結果から出力される修正版共通テストデータ200に、不要なテストパターンが発生しない。
【0073】
なお、ステップS41のチェック、あるいはステップS43のチェックが“NO”の場合、サイクライズ処理部14は、通常のサイクライズ処理を実行する。
【0074】
このような本実施形態によれば、共通テストデータ100にサイクル越えエッジの記述があって、最終時刻を超えるイベントが発生する場合、その最終時刻を超えるイベントをサイクライズの対象から除外することができる。これにより、サイクライズ結果から出力される修正版共通テストデータ200に、不要なテストパターンが発生することを防止することができる。
【0075】
以上説明した少なくとも1つの実施形態のテストデータ生成装置および方法によれば、各種テスタに共通なテストデータから、個々のテスタの制約に合致したテストデータを自動的に生成することができる。
【0076】
また、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0077】
1 テストデータ生成装置
11 タイミング記述検証部
12 サイクライズ期間設定部
13 イベントデータ展開部
14 サイクライズ処理部
15 テストデータ出力部
100 共通テストデータ
200 修正版テストデータ

【特許請求の範囲】
【請求項1】
共通テストデータに記述された1サイクル当たりのタイミングエッジ数が指定されたテスタの制約範囲内かを検証するタイミング記述検証部と、
前記タイミングエッジ数が前記制約を超えている場合は、前記タイミングエッジ数および1サイクルの期間が前記制約範囲内となるサイクライズ期間を設定するサイクライズ期間設定部と、
前記テストデータに記述されたタイミング設定値およびパターンデータをイベントデータに展開するイベントデータ展開部と、
前記イベントデータを前記サイクライズ期間でサイクライズするサイクライズ処理部と、
前記サイクライズ後のイベントデータを元の記述形式へ逆変換し、修正版共通テストデータを出力するテストデータ出力部と
を備えることを特徴とするテストデータ生成装置。
【請求項2】
前記イベントデータ展開部は、
前記タイミング設定値にサイクル値を超える値が記述されているときは、前記イベントデータをイベント発生時刻順に並べ替える
ことを特徴とする請求項1に記載のテストデータ生成装置。
【請求項3】
前記サイクライズ処理部は、
ストローブのタイミング値設定に省略記述があるときは、前記ストローブに対する期待値をdon‘t careとして処理する
ことを特徴とする請求項2に記載のテストデータ生成装置。
【請求項4】
前記サイクライズ処理部は、前記タイミング設定値にサイクル値を超える値が記述されていて、前記サイクル値とベクタ数から算出されるテスト最終時刻を超えるイベントデータがあるときは、そのイベントデータを前記サイクライズの対象から除外する
ことを特徴とする請求項3に記載のテストデータ生成装置。
【請求項5】
共通テストデータに記述された1サイクル当たりのタイミングエッジ数が指定されたテスタの制約範囲内かを検証するステップと、
前記タイミングエッジ数が前記制約を超えている場合は、前記タイミングエッジ数および1サイクルの期間が前記制約範囲内となるサイクライズ期間を設定するステップと、
前記テストデータに記述されたタイミング設定値およびパターンデータをイベントデータに展開するステップと、
前記イベントデータを前記サイクライズ期間でサイクライズするステップと、
前記サイクライズ後のイベントデータを元の記述形式へ逆変換し、修正版共通テストデータを出力するステップと
を備えることを特徴とするテストデータ生成方法。
【請求項6】
前記イベントデータに展開するステップは、
前記タイミング設定値にサイクル値を超える値が記述されているときは、前記イベントデータをイベント発生時刻順に並べ替える
ことを特徴とする請求項5に記載のテストデータ生成方法。
【請求項7】
前記サイクライズするステップは、
ストローブのタイミング値設定に省略記述があるときは、前記ストローブに対する期待値をdon‘t careとして処理する
ことを特徴とする請求項6に記載のテストデータ生成方法。
【請求項8】
前記サイクライズするステップは、前記タイミング設定値にサイクル値を超える値が記述されていて、前記サイクル値とベクタ数から算出されるテスト最終時刻を超えるイベントデータがあるときは、そのイベントデータを前記サイクライズの対象から除外する
ことを特徴とする請求項7に記載のテストデータ生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate