(57)【特許請求の範囲】
【請求項１】
半導体集積回路のファンクションテスト方法であって、
上記半導体集積回路に対して、入力論理値に対する出力期待値を回路への入力順に所定組だけ並べてなるテストパターンファイルを用いてファンクションテストを２回行い、
１回目のテスト時には、所定の論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定して、出力期待値が”Ｈ”及び”Ｌ”の箇所についてのファンクションテストを実行し、
２回目のテスト時には、上記１回目のテスト時に比べて、論理値Ｈ判定電圧ＶＯＨを高く設定し、論理値Ｌ判定電圧ＶＯＬを低く設定して、出力期待値がハイインピーダンスである中間電位の箇所についてのファンクションテストを実行することを特徴とするファンクションテストの方法。
【請求項２】
半導体集積回路のファンクションテストの実行プログラムの作成装置であって、
論理シミュレーションの結果得られる入力論理値に対する出力期待値を入力順に所定組だけ並べてなるテストパターンファイルの取得手段と、
上記取得手段により取得したテストパターンファイルの各入力論理値に対する出力期待値に基づいて、期待値が”Ｈ”又は”Ｌ”の箇所を対象とするファンクションテストであるＨ／Ｌテスト、及び、期待値がハイインピーダンスである中間電位の箇所のみを対象とするファンクションテストであるＺテストの２つのテストを実行するか否かを判断するテスト分割判断手段と、
上記テスト分割判断手段により、上記２つのテストを実行すると判断された場合には、上記テストパターンファイルより期待値Ｚの値を無効データに変換したＨ／Ｌテスト用のパターンファイルを作成すると共に、期待値”Ｈ”及び”Ｌ”の値を無効データに変換したＺテスト用のパターンファイルを作成するパターンファイル作成手段と、
所定の論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定し、上記パターンファイル作成手段により作成されたＨ／Ｌテスト用のパターンファイルを用いてＨ／Ｌテストを実行し、論理値Ｈ判定電圧ＶＯＨを上記Ｈ／Ｌテスト実行時よりも高い値に設定すると共に、論理値Ｌ判定電圧ＶＯＬを上記Ｈ／Ｌテスト実行時よりも低い値に設定し、上記パターンファイル作成手段により作成されたＺテスト用のパターンファイルを用いてＺテストを実行するプログラムを作成するプログラム作成手段とを備えることを特徴とするファンクションテストの実行プログラム作成装置。
【請求項３】
半導体集積回路のファンクションテストの実行プログラムの作成方法であって、
論理シミュレーションの結果得られる、入力論理値に対する出力期待値を入力順に所定組だけ並べてなるテストパターンファイルを取得するステップと、
上記取得したテストパターンファイルの各入力論理値に対する出力期待値に基づいて、期待値が”Ｈ”又は”Ｌ”の箇所を対象とするファンクションテストであるＨ／Ｌテスト、及び、期待値がハイインピーダンスである中間電位の箇所のみを対象とするファンクションテストであるＺテストの２つのテストを実行するか否かを判断するステップと、
上記判断を行うステップにおいて、上記２つのテストを実行すると判断された場合には、上記テストパターンファイルより期待値Ｚの値を無効データに変換したＨ／Ｌテスト用のパターンファイルを作成すると共に、期待値”Ｈ”及び”Ｌ”の値を無効データに変換したＺテスト用のパターンファイルを作成するステップと、
論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定し、上記Ｈ／Ｌテスト用のパターンファイルを用いてＨ／Ｌテストを実行し、論理値Ｈ判定電圧ＶＯＨを上記Ｈ／Ｌテスト実行時よりも高い値に設定すると共に、論理値Ｌ判定電圧ＶＯＬを上記Ｈ／Ｌテスト実行時よりも低い値に設定し、上記Ｚテスト用のパターンファイルを用いてＺテストを実行するプログラムを作成するステップよりなることを特徴とするファンクションテストの実行プログラム作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のファンクションテストの方法と、該ファンクションテストの実行プログラム作成装置及び作成方法に関する。
【０００２】
【従来の技術】
半導体集積回路のファンクションテストは、通常、論理シミュレーションを用いて取得されるテストパターンファイルを用いて行われる。ここで、テストパターンファイルとは、ファンクションテストを施す半導体集積回路の所定の入力端子に入力する入力論理値（例えば信号入力端子が３箇所ある場合には３ビットデータ）及び該入力に対する出力値期待値を、回路への入力順に所定の組（例えば１００組）だけ並べたものである。以下、説明の便を図るため、ある入力論理値及び該入力に対する出力値期待値を１パターンデータという。
【０００３】
ファンクションテストでは、論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬが設定される。上記論理値Ｈ判定電圧ＶＯＨは、テストされる半導体集積回路からの出力が”Ｈ”であるか否かを判断するのに用いられるしきい値電圧である。また、上記論理値Ｌ判定電圧ＶＯＬは、テストされる半導体集積回路からの出力が”Ｌ”であるか否かを判断するのに用いられるしきい値電圧である。テストされる半導体集積回路からの出力電圧がＶＯＨ以上であれば”Ｈ”が出力されているものと判断し、出力電圧がＶＯＬ以下の場合には”Ｌ”が出力されていると判断する。この際、出力電圧がＶＯＬとＶＯＨとの間の中間電位であれば、回路はフローティング状態であると判断する。以下、フローティング状態で出力される値を”Ｚ”と表す。ファンクションテストは、入力に対する実際の回路からの出力が、論理シミュレーションの結果より得られる期待値データと一致しているかどうかを各パターンデータ（上記の例では３ビットデータ）毎に調べることで行われる。
【０００４】
ここで、期待値データの中に”Ｚ”が含まれている場合には特別な注意が必要となる。上記フローティング状態とは、半導体集積回路の出力の最終段のバッファがディスエーブル状態となり、何もドライブしていない状態をいう。このような状態では、十分時間が経過すれば中間電位となるが、そうなるまでのしばらくの間はフローティング状態になる以前の状態が保持されてしまう。即ち、直前の状態（１つ前のパターンにおける出力値）が”Ｈ”であれば、十分な時間が経過しない限りＶＯＨ以下の中間電位にならない。また、直前の状態が”Ｌ”であれば、十分な時間が経過しない限りＶＯＬ以上の中間電圧とならない。
【０００５】
従来は、フローティング状態となるテスト周期を通常のテスト周期よりも長く引き延ばすことで上記問題に対処していた。このことは、例えば特開平５−２６６１１８号公報、及び、特開平６−３４８７７４号公報に”従来の技術”として明記されている。
【０００６】
【発明が解決しようとする課題】
上記従来のファンクションテストの方法には以下の問題がある。
第１の問題は、フローティング状態のテスト（即ち期待値がＺであるテスト）が必要以上に厳しいテストになるおそれがあることである。以下、その理由を説明する。
【０００７】
ファンクションテストでは、ＤＣ規格の論理値Ｈ判定電圧ＶＯＨ、及び、論理値Ｌ判定電圧ＶＯＬをそのまま用いることはできない。ＤＣ規格の論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬの値は静的な状態、即ち、定常状態においてのみ実現できるものだからである。
【０００８】
図９の上段は、論理信号が”Ｈ”から”Ｌ”に遷移した場合の様子を示し、下段は実際の回路で出力電圧が”Ｈ”から”Ｌ”に遷移した場合の様子を示す図である。図示するように、ファンクションテストのダイナミックな動作状態においては、出力電圧のオーバーシュート、アンダーシュート及びノイズの影響がある。従来は、論理値Ｈ判定電圧ＶＯＨはＤＣ規格（＝４Ｖ）に比べて低め（＝３Ｖ）に設定し、論理値Ｌ判定電圧ＶＯＬはＤＣ規格（＝１Ｖ）に比べて高め（＝２Ｖ）に設定することで上記各影響を低減し、出力電圧が”Ｈ”又は”Ｌ”から”Ｌ”又は”Ｈ”に遷移するのに要する時間を短縮し、迅速かつ正確に、期待値が”Ｈ”及び”Ｌ”の箇所のファンクションテストを実行していた。
【０００９】
ところが、上述するようにＨ／Ｌテスト用に論理値Ｈ判定電圧ＶＯＨを低く、論理値Ｌ判定電圧ＶＯＬを高く設定すると、フローティング状態になったときに出力が”Ｈ”又は”Ｌ”から”Ｚ”に遷移するまでに要する時間、即ち、出力がＶＯＨ以下でＶＯＬ以上の中間電位となるまでに要する時間は何倍も長くなってしまう。
【００１０】
図１０の上段は、論理信号が”Ｈ”から”Ｚ”の中間電位に遷移した場合を示し、下段は実際の回路で出力電圧が”Ｈ”から”Ｚ”に遷移した場合の様子を示す図である。図示するように、論理値Ｈ判定電圧ＶＯＨの値をＤＣ規格（＝４Ｖ）に比べて低め（＝３Ｖ）に設定し、論理値Ｌ判定電圧ＶＯＬの値をＤＣ規格（＝１Ｖ）に比べて高め（＝２Ｖ）に設定した場合には、出力電圧が中間電位、即ち、出力電圧がＶＯＨ以下で、かつＶＯＬ以上になるまでに長い時間を要する。この状態で、Ｈ／Ｌテストと同じ短い周期でテストを行うと、本来期待通りの”Ｚ”を得ることができるにもかかわらず、未だ”Ｈ”又は”Ｌ”が出力されている間に期待値との比較が行われることとなり、良品のものが不合格と判定されてしまい、無用のコストアップを引き起こす場合がある。
【００１１】
上記第１の問題は、理論的には、期待値がＺである時のテストの周期を長く引き延ばすことにより回避することができる。しかしこの手法を採用すると、次に述べる第２の問題を更に悪化させることになる。
【００１２】
第２の問題は、テスト時間が必要以上に長くなることであり、しかもそれが予測不可能であることである。
以下、何故テスト時間が予測不可能であるのかについて説明する。上述したように、出力がＺの場合のテストを適切に行うには、期待値が”Ｚ”を含むテストパターンのテスト周期を通常のファンクションテストのテストの周期よりも長く設定すればよい。仮にこれを控えめに見積もり、通常のファンクションテストの周期の１０倍と仮定する。期待値にＺを含む場合のテスト周期だけを長くするのだから、期待値にＺを含むテストパターンがテストパターンファイル中に数パターンしかない場合にはテスト時間にさほど影響しない。しかし、逆にテストパターンファイル中のほとんどの周期において期待値にＺを含むテストパターンがある場合も考えられる。仮に全てのパターンデータに期待値Ｚがある場合には、全周期を１０倍に延ばさなければならないから、テスト時間が１０倍になってしまう。
【００１３】
上記の場合において問題となるのは、単にテスト時間が延びることではなく、どの程度延びるのかが容易に予測できないことである。テスト時間がどの程度延びるかは、上述したように、テストパターンファイル中に、期待値としてＺを含むパターンがいくつあるかによって変化するが、同じ入力論理値を用いても種類の異なる半導体集積回路毎にその期待値としてＺを含むパターンの数は変化する。このため、１つの半導体集積回路に基づいて別の半導体集積回路のテスト終了時間を予測することはできない。これは複数種の半導体集積回路の生産計画を立てる際の障害となる。
【００１４】
本発明の目的は、上記従来のファンクションテスト実行時における問題点を解消し、より効率のよいファンクションテストの方法、該ファンクションテストの実行プログラムの作成装置及び作成方法を提供することである。
【００１５】
【課題を解決するための手段】
本発明のファンクションテストの方法は、半導体集積回路のファンクションテスト方法であって、上記半導体集積回路に対して、入力論理値に対する出力期待値を回路への入力順に所定組だけ並べてなるテストパターンファイルを用いてファンクションテストを２回行い、１回目のテスト時には、所定の論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定して、出力期待値が”Ｈ”及び”Ｌ”の箇所についてのファンクションテストを実行し、２回目のテスト時には、論理値Ｈ判定電圧ＶＯＨを上記１回目のテスト時よりも高く設定し、論理値Ｌ判定電圧ＶＯＬを上記１回目のテスト時よりも低く設定して、出力期待値がハイインピーダンスである中間電位の箇所についてのファンクションテストを実行することを特徴とする。
【００１６】
本発明のファンクションテストの実行プログラム作成装置は、半導体集積回路のファンクションテストの実行プログラムの作成装置であって、論理シミュレーションの結果得られる、入力論理値に対する出力期待値を入力順に所定組だけ並べてなるテストパターンファイルの取得手段と、上記取得手段により取得したテストパターンファイルの各入力論理値に対する出力期待値に基づいて、期待値が”Ｈ”又は”Ｌ”の箇所を対象とするファンクションテストであるＨ／Ｌテスト、及び、期待値がハイインピーダンスである中間電位の箇所のみを対象とするファンクションテストであるＺテストの２つのテストを実行するか否かを判断するテスト分割判断手段と、上記テスト分割判断手段により、上記２つのテストを実行すると判断された場合には、上記テストパターンファイルより期待値Ｚの値を無効データに変換したＨ／Ｌテスト用のパターンファイルを作成すると共に、期待値”Ｈ”及び”Ｌ”の値を無効データに変換したＺテスト用のパターンファイルを作成するパターンファイル作成手段と、所定の論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定し、上記パターンファイル作成手段により作成されたＨ／Ｌテスト用のパターンファイルを用いてＨ／Ｌテストを実行し、論理値Ｈ判定電圧ＶＯＨを上記Ｈ／Ｌテスト実行時よりも高い値に設定すると共に、論理値Ｌ判定電圧ＶＯＬを上記Ｈ／Ｌテスト実行時よりも低い値に設定し、上記パターンファイル作成手段により作成されたＺテスト用のパターンファイルを用いてＺテストを実行するプログラムを作成するプログラム作成手段とを備えることを特徴とする。
【００１７】
本発明のファンクションテストの実行プログラム作成方法は、半導体集積回路のファンクションテストの実行プログラムの作成方法であって、論理シミュレーションの結果得られる、入力論理値に対する出力期待値を入力順に所定組だけ並べてなるテストパターンファイルを取得するステップと、上記取得したテストパターンファイルの各入力論理値に対する出力期待値に基づいて、期待値が”Ｈ”又は”Ｌ”の箇所を対象とするファンクションテストであるＨ／Ｌテスト、及び、期待値がハイインピーダンスである中間電位の箇所のみを対象とするファンクションテストであるＺテストの２つのテストを実行するか否かを判断するステップと、上記判断を行うステップにおいて、上記２つのテストを実行すると判断された場合には、上記テストパターンファイルより期待値Ｚの値を無効データに変換したＨ／Ｌテスト用のパターンファイルを作成すると共に、期待値”Ｈ”及び”Ｌ”の値を無効データに変換したＺテスト用のパターンファイルを作成するステップと、論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定し、上記Ｈ／Ｌテスト用のパターンファイルを用いてＨ／Ｌテストを実行し、論理値Ｈ判定電圧ＶＯＨを上記Ｈ／Ｌテスト実行時よりも高い値に設定すると共に、論理値Ｌ判定電圧ＶＯＬを上記Ｈ／Ｌテスト実行時よりも低い値に設定し、上記Ｚテスト用のパターンファイルを用いてＺテストを実行するプログラムを作成するステップよりなることを特徴とする。
【００１８】
【発明の実施の形態】
（１）ファンクションテスト方法
本発明のファンクションテストは、所定の条件を満足する場合に、出力期待値が”Ｈ”及び”Ｌ”の箇所についてのファンクションテスト（以下、Ｈ／Ｌテストという）、及び、出力期待値が”Ｚ”の箇所についてのファンクションテスト（以下、Ｚテストという）を実行することを特徴とする。
以下、添付の図面を参照しつつ説明するが、上記方法を採用することで、常に出力期待値が”Ｈ”、”Ｌ”及び”Ｚ”の箇所についてのファンクションテスト（以下、Ｈ／Ｌ／Ｚテストという）を実行する場合に比べて、ファンクションテストに要する時間を短く、かつ一定にすることができると共に、より正確なテスト結果を得ることが可能となる。
【００１９】
図１は、上記ファンクションテストの実行手順を示す図である。ファンクションテストでは、論理シミュレーションにより得られた所定の入力論理値に対する出力期待値のデータが所定の条件を満足する場合に（ステップＳ１でＹＥＳ）、Ｈ／Ｌテスト用のパターンファイル（以下、Ｈ／Ｌパターンファイルという）を取得し（ステップＳ２）、Ｈ／Ｌテスト用の設定を行った後に（ステップＳ３）、Ｈ／Ｌテストを実行する（ステップＳ４）。前記Ｈ／Ｌテストの実行後、Ｚテスト用のパターンファイル（以下、Ｚパターンファイルという）を取得する（ステップＳ５）と共に、Ｚテスト用の設定を行い（ステップＳ６）、Ｚテストを実行する（ステップＳ７）。
なお、上記所定の入力論理値に対する出力期待値のデータが所定の条件を満足しない場合には（ステップＳ１でＮＯ）、Ｈ／Ｌ／Ｚテスト用のパターンファイルを取得し（ステップＳ８）、Ｈ／Ｌ／Ｚテスト用の設定を行った後に（ステップＳ９）、Ｈ／Ｌ／Ｚテストを実行する。
【００２０】
上記ステップＳ３（Ｈ／Ｌテスト用の設定）では、ＤＣ規格に比べて論理値Ｈ判定電圧ＶＯＨを低く、論理値Ｌ判定電圧ＶＯＬを高く設定する。これに対して、上記ステップＳ６（Ｚテスト用の設定）では、Ｈ／Ｌテスト用の設定に比べて論理値Ｈ判定電圧ＶＯＨを高く、論理値Ｌ判定電圧ＶＯＬを低く設定する。これにより、ＺテストをＨ／Ｌテストと同程度の短い周期で適切に実行することが可能となる。また、ファンクションテストに要する時間を一定の時間に固定することができ、生産計画の効率化を図ることができる。
以下、Ｈ／Ｌテスト実行時及びＺテスト実行時における論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬの設定について説明する。
【００２１】
図２の上段は論理信号が”Ｈ”から”Ｌ”に遷移した場合の様子を示し、下段は実際の回路で出力電圧が”Ｈ”から”Ｌ”に遷移した場合の様子を示す図である。Ｈ／Ｌテストの実行時には、出力電圧のオーバーシュート、アンダーシュート及びノイズの影響を考慮して論理値Ｈ判定電圧ＶＯＨはＤＣ規格の４Ｖに対して低めの３Ｖに設定し、論理値Ｌ判定電圧ＶＯＬはＤＣ規格の１Ｖに対して高めの２Ｖに設定する。これにより、出力が一旦”Ｈ”から”Ｌ”に変化した後、図示するように出力電圧が再び中間電位に戻ることで、正しく”Ｌ”が出力されないといった不都合を排除し、”Ｌ”出力電圧の”Ｈ”及び”Ｌ”の正確な判断の迅速化を図ることができる。これにより、例えば、動作周波数１０ＭＨｚの時には、１００ｎｓ周期でＨ／Ｌテストを実行することができる。
なお、上記Ｈ／Ｌテスト実行時における論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬの値は、上記３Ｖ及び２Ｖの値に限定されるものではなく、テスト対象である半導体集積回路の動作周波数の値により特定されるテスト周期でＨ／Ｌテストが実行可能な値に設定すればよい。
【００２２】
また、図３の上段は論理信号が”Ｈ”から”Ｚ”に遷移した場合の様子を示し、下段は実際の回路で出力電圧が”Ｈ”から中間電位である”Ｚ”に遷移した場合の様子を示す図である。図示するように、Ｚテストの実行時には、出力電圧の中間電位への遷移を迅速に検出できるように、上記Ｈ／Ｌテストの実行時における設定に比べて、論理値Ｈ判定電圧ＶＯＨの値を高めの４．５Ｖに設定し、論理値Ｌ判定電圧ＶＯＬの値を低めの０．５Ｖに設定する。図示するように、ＺテストをＨ／Ｌテスト実行時の論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬで行った場合には、出力電圧が中間電位に遷移するのに約１０００ｎｓも要するが、上記設定では、１００ｎｓより短くなるため、Ｈ／Ｌテストと同じ約１００ｎｓ周期でＺテストが実現可能となる。このように、上記Ｈ／Ｌテストの実行時における設定に比べて、論理値Ｈ判定電圧ＶＯＨを高めの値に設定し、論理値Ｌ判定電圧ＶＯＬを低めの値に設定することで、テスト対象である半導体集積回路の動作周波数により特定されるテスト周期、即ち、上記Ｈ／Ｌテストと同じ周期で正確なＺテストを実行することが可能になる。
【００２３】
図４は、上記ファンクションテストの方法を具体的に説明するための図である。図４の（ａ）は、ＣＡＤや論理シミュレーションで使用したあるテストパターンファイルを示す。このテストパターンファイルは、入力論理値と論理シミュレーションにより得られる出力値を入力順に所定組だけ並べたものである。以下の説明では、図３に示すような３入力３出力の半導体集積回路をテスト対象として想定する。
【００２４】
例えば１パターン目のデータに注目すると、この時の入力論理値は”０１０”であり、出力期待値は”ＨＨＸ”である。ここで、”Ｘ”は、ファンクションテストに関与しない不特定（ｄｏｎ’ｔ  ｃａｒｅ）な値である。以下に同じである。また、２パターン目のデータに注目すると、この時の入力論理値は”１１０”であり、出力期待値は”ＺＺＸ”である。
【００２５】
図４の（ｂ）に示すように、Ｈ／Ｌテスト用には、図４の（ａ）に示すテストパターンファイルの期待値がＺの箇所を全てＸ（ｄｏｎ’ｔ  ｃａｒｅ）に置き換えたものをＨ／Ｌパターンファイルとして作成する。
また、Ｈ／Ｌテストの実行時にはＤＣ規格の論理値Ｈ判定電圧ＶＯＨ（＝４Ｖ）の値を低く（例えば３Ｖ）設定し、論理値Ｌ判定電圧ＶＯＬ（＝１Ｖ）の値を高く（例えば２Ｖ）設定するようにプログラミングする。これにより、ファンクションテスト実行時にダイナミックに変化するパターンデータ及びこれに対する出力の”Ｈ”，”Ｌ”相互間の変化を短時間で正確に判定することができる。
【００２６】
また、図４の（ｃ）に示すように、Ｚテスト用には図４の（ａ）に示したテストパターンファイルの期待値がＨ／Ｌの箇所を全てＸに置き換えたものをＺパターンファイルとして作成する。
また、Ｚテストの実行時には、上記Ｈ／Ｌテスト実行時に比べて論理値Ｈ判定電圧ＶＯＨの値を高く（例えば４．５Ｖ）設定し、論理値Ｌ判定電圧ＶＯＬの値を低く（例えば０．５Ｖ）設定するようにプログラミングする。これにより、出力電圧が中間電位への遷移に要する時間が短縮され、例えば上記Ｈ／Ｌテストと同じ周期で各パターンについてのテストを実行することができるようになる。
なお、上記の例では、半導体集積回路を１０ＭＨｚのクロックで動作させる場合、Ｈ／Ｌテスト及びＺテストの周期は、共に１００ｎｓに設定する。
【００２７】
（２）ファンクションテストの実行プログラム作成装置
ファンクションテストの実行プログラム作成装置装置は、上記テストパターンファイルを構成する各パターンの期待値データが所定の条件を満足する場合に、Ｈ／Ｌテスト及びＺテスト用のパターンファイルを作成すると共に、論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬの値をＨ／ＬテストとＺテスト用とで切り換えて設定するプログラムを作成する。
【００２８】
図５は、ファンクションテストの実行プログラム作成装置の機能ブロック図である。論理シミュレーション結果データ格納手段１は、論理シミュレーションにより得られた複数のテストパターンファイルを格納する。既に述べたように、テストパターンファイルとは、ファンクションテストを施す半導体集積回路の所定の入力端子に入力する入力論理値（例えば信号入力端子が３箇所ある場合には３ビットデータ）及び該入力に対する出力期待値を、回路への入力順に所定の組（例えば１００組）だけ並べたものである。
【００２９】
テストパターンファイル変換手段２は、論理シミュレーションで用いたテストパターンファイルを、その期待値データの値に基づいてＨ／Ｌテスト用及びＺテスト用のパターンファイルに変換する。
【００３０】
Ｚテスト分割必要性の判定・記憶手段３は、テストパターンファイルに納められている期待値データに基づいて、Ｈ／Ｌ／Ｚを一度に判断するＨ／Ｌ／Ｚテストを行うか、又は、ＺテストとＨ／Ｌテストとを分割して行うかを判定し、その判定結果を記憶すると共に、テストパターンファイル変換手段２に出力する。
【００３１】
ユーザ制御入力手段４は、ユーザによる所定の入力操作に基づき、プログラム作成のモードを設定する。具体的には、実際に半導体集積回路のファンクションテストを実行する装置のハードウェアを制御するメインプログラム及び機能動作の入力論理値と出力期待値が入力順に記述されたテストパターンファイルの両方を作成するモード（以下、メイン＆パターンモードという）、メインプログラムのみを作成するモード、及び、テストパターンのみを作成するモードの３つの内の何れかを設定する。
【００３２】
テスト用パターンファイル格納手段５は、テストパターンファイル変換手段２により得られたテスト用のパターンファイルを格納する。なお、上記テスタ用のパターンファイルとは、Ｈ／Ｌテストで用いるＨ／Ｌパターンファイル、Ｚテストで用いるＺパターンファイル、Ｈ／Ｌ／Ｚを一度に実行するＨ／Ｌ／Ｚテストで用いるＨ／Ｌ／Ｚパターンファイルである。
【００３３】
変換結果レポート手段６は、上記テストパターンファイル変換手段３による変換処理の結果を出力する。
【００３４】
図６は、ファンクションテストの実行プログラム作成装置の構成図である。
キーボード１１及びマウス１２は、図５に示したユーザ制御入力手段４として機能する。記憶装置１３は、図５に示した論理シミュレーション結果データ格納手段１及びテスト用パターンファイル格納手段５として機能する。データ処理装置１４は、図５に示したテストパターンファイル変換手段２及びＺテスト必要性判定・記憶手段３として機能する。ディスプレイ１５及びプリンタ１６は、図５に示した変換結果レポート手段６として機能する。
【００３５】
図７及び図８は、ファンクションテストのプログラム作成装置の実行する処理のフローチャートである。本プログラム作成装置は、上記方法によりファンクションテストを実行するためのプログラムを作成する。作成されるプログラムは２つの部分からなる。１つは、テストの流れが記述されており、それによってファンクションテストを実行するテスト装置（図示せず）のハードウェアを制御するメインプログラムであり、もう１つは、機能動作の入力論理値と出力期待値が入力順に沿って記述されたファンクションテスト用のパターンファイルである。
【００３６】
上記メインプログラム及びテスト用のパターンファイルは、プログラム作成装置の１回の処理で作成しても良いし、別々に作成しても良い。以下、メインプログラムのみを作成するモードをメインオンリーモードといい。テスト用のパターンファイルのみを作成することをパターンオンリーモードという。また、メインプログラム及びテスト用パターンファイルの両方を作成するモードをメイン＆パターンモードという。これらのモードは、ユーザ制御入力手段４（図４を参照）に相当するキーボード１１及びマウス１２（図５を参照）を介して設定される。
【００３７】
以下、図６のフローチャートに従って、プログラム作成処理内容について説明する。まず、図５に示したユーザ制御入力手段４によりユーザから入力されたプログラム作成モードの判断を行う（ステップＳ１００）。ここで、メインオンリーモードが設定されている場合には（ステップＳ１００でＹＥＳ）、図７に示すステップＳ１０８へ進む。メインオンリーモード以外のモード、即ち、メイン＆パターンモード、又は、パターンオンリーモードが設定されている場合には（ステップＳ１００でＮＯ）、ステップＳ１０２以降の処理を実行する。
【００３８】
まず、記憶装置１３に記憶する複数組のテストパターンファイルの内、未処理のファイルを１つ選択し、これをデータ処理装置１４に読み込む（ステップＳ１０２）。次に所定の判断基準に基づいてファンクションテストをＺテスト及びＨ／Ｌテストの２つに分割して実行するか、又は、Ｈ／Ｌ／Ｚテストを実行するかを判断する（ステップＳ１０３）。
【００３９】
具体的には、テストパターンファイルに書き込まれている期待値が”Ｈ”、”Ｌ”及び”Ｘ”のみの場合、即ち一度も”Ｚ”が期待値として存在しない場合、又は、出力されるべき期待値が”Ｚ”及び”Ｘ”のみの場合、即ち一度も”Ｈ”及び”Ｌが出力されない場合には、Ｈ／Ｌ／Ｚテストを実行すると判断する。
また、１パターン目又は最後の期待値のみが”Ｚ”であり、それ以外のパターンに対する期待値が全て”Ｈ”又は”Ｌ”の場合、又は、１パターン目又は最後の期待値のみが”Ｈ”または”Ｌ”であり、それ以外のパターンに対する期待値が全て”Ｚ”の場合もＨ／Ｌ／Ｚテストを実行すると判断してもよい。
【００４０】
上記の基準に基づいて判断した結果、分割の必要性があると判断した場合には（ステップＳ１０３でＹＥＳ）、テストパターンファイルに基づいてＨ／Ｌパターンファイル及びＺパターンファイルを作成すると共に、記憶装置１３に分割の必要性有りと記録する（ステップＳ１０４）。一方、分割の必要性がないと判断した場合には（ステップＳ１０３でＮＯ）、論理シミュレータで使用したのと同じパターンファイルをＨ／Ｌ／Ｚパターンファイルとすると共に、記憶装置１３に分割必要性なしと記録する（ステップＳ１０５）。記憶装置１３に記憶する複数のテストパターンファイル全ての処理が未だ終了していない場合（ステップＳ１０６でＮＯ）、上記ステップＳ１０２に戻り、処理を繰り返す。また、記憶装置１３に記憶する全てのテストパターンファイルに対する処理が終了した場合には（ステップＳ１０６でＹＥＳ）、パターン作成処理を終了すると共に、設定されているプログラム作成モードの確認を行う（ステップＳ１０７）。ここで、パターンオンリーモードが設定されている場合には（ステップＳ１０７でＹＥＳ）、処理を終了する。他方、メイン＆パターンモードが設定されている場合には、メインオンリーモードが設定されている場合と同様に、図７のステップＳ１０８へと進む。
【００４１】
以下、メインプログラムの作成処理を実行する。まず、記憶装置１３内にＨ／Ｌテスト及びＺテストを分割して実行する必要があるか否かについて調査した記録があるか調べる（ステップＳ１０８）。ここで、以前にテスト分割の必要性について調べた記録がない場合には（ステップＳ１０８でＮＯ）、記憶装置１３に記憶する複数のパターンファイルのテスト命令を操作者の指定に従って全て書き出す（ステップＳ１１０）。なお、上記ステップＳ１０８において記録がない場合とは、使用者によりメインオンリーモードが設定されている場合がこれに該当する。一方、分割の必要性について調べた記録がある場合には（ステップＳ１０８でＹＥＳ）、まず、記憶装置１３に記憶する１つのテストパターンファイルに着目する（ステップＳ１０９）。記憶装置１３より前記着目したテストパターンファイルについての分割の必要性についての記録を調べる（ステップＳ１１１）。ここで、ファンクションテストをＨ／Ｌテスト及びＺテストに分割して実行する必要性があると記録されてる場合には（ステップＳ１１２でＹＥＳ）、ファンクションテストとして、まず、ＤＣ規格の論理値Ｈ判定電圧ＶＯＨ（＝４Ｖ）の値を低く（例えば３Ｖ）設定すると共に、論理値Ｌ判定電圧ＶＯＬ（＝１Ｖ）の値を高く（例えば２Ｖ）設定し、記憶装置１３に記憶するＨ／Ｌパターンファイルを読み込んでＨ／Ｌテストを実行し、更に、上記Ｈ／Ｌテストの実行時に比べて、論理値Ｈ判定電圧ＶＯＨの値を高く（例えば４．５Ｖ）設定すると共に、論理値Ｌ判定電圧ＶＯＬの値を低く（例えば０．５Ｖ）設定し、記憶装置１３に記憶するＺパターンファイルを読み込んでＺテストを実行する，といった一連の動作をテスト装置に実行させるテスト命令を書き出す（ステップＳ１１３）。
【００４２】
一方、分割の必要性が無いと記録されている場合には（ステップＳ１１２でＮＯ）、ＤＣ規格に比べて論理値Ｈ判定電圧ＶＯＨ（＝４Ｖ）の値を低く（例えば３Ｖ）設定すると共に、論理値Ｌ判定電圧ＶＯＬ（＝１Ｖ）の値を高く（例えば２Ｖ）設定し、記憶装置１３に記憶するテストパターンファイルを読み込んでＨ／Ｌ／Ｚテストを実行する，という一連の動作をテスト装置に実行させるテスト命令を書き出す（ステップＳ１１４）。
【００４３】
記憶装置１３に記憶する全てのテストパターンファイルについてのテスト命令の書き出し処理が未だ終了していない場合には（ステップＳ１１５でＮＯ）、上記ステップＳ１０９に戻り、残りのテストパターンファイルに対するテスト命令の書き出し処理を繰り返す。また、上記全てのテストパターンファイルについてのテスト命令の書き出し処理が終了した場合には（ステップＳ１１５でＹＥＳ）、処理を終了する。
【００４４】
上記プログラム作成処理を実行することで、ファンクションテスト実行プログラムが作成される。図示しないファンクションテストの実行装置は、テスト対象の半導体集積回路に対して、上記作成された実行プログラムに従って、テストパターンファイルを読み込み、論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬを設定した後、設定された動作周波数及びテスト周期でファンクションテストを実行する。ファンクションテストをＨ／Ｌテスト及びＺテストに分割することで、テスト回数としては２回と増えることになるが、期待値が”Ｚ”の箇所についてのテストをＨ／Ｌテストと同じテスト周期で正確に実行することが可能となる。これにより、Ｈ／Ｌテスト及びＺテストからなるファンクションテストに要する時間を特定することが可能となり、半導体集積回路の生産計画を立てる際の便を向上させることができる。
【００４５】
【発明の効果】
本発明のファンクションテスト方法は、１回目のテストパターン印加時には、論理値Ｈ判定電圧ＶＯＨをＤＣ規格の値よりも低く設定し、論理値Ｌ判定電圧ＶＯＬをＤＣ規格の値よりも高く設定して、”Ｈ”及び”Ｌ”出力値に関するファンクションテスト実行する。これによりＨ／Ｌテストが正確かつ迅速に実行される。また、２回目のテストパターン印加時には、論理値Ｈ判定電圧ＶＯＨをＤＣ規格の値よりも高く設定し、論理値Ｌ判定電圧ＶＯＬをＤＣ規格の値よりも低く設定して、”Ｚ”出力値に関するファンクションテストを実行する。これにより、期待値が”Ｈ”又は”Ｌ”から”Ｚ”に遷移するのに要する時間を短縮し、上記１回目のテストパターン実行周期と同じ周期でＺテストを正確かつ迅速に実行することができる。
【００４６】
本発明のファンクションテストの実行プログラムの作成装置及び作成方法は、論理シミュレーションにより得られる、所定の入力論理値に対する出力期待値に基づいて、ファンクションテストをＨ／Ｌテスト及びＺテストの２つに分割するか否かを判断する。
また、ファンクションテストをＨ／Ｌテスト及びＺテストに分割して実行すると判断された場合には、テストパターンファイルからＨ／Ｌテスト及びＺテスト専用のパターンファイルを作成すると共に、論理値Ｈ判定電圧ＶＯＨ及び論理値Ｌ判定電圧ＶＯＬの値をＨ／Ｌテスト及びＺテストに適した値に設定するようにプログラミングするため、該プログラムを用いてファンクションテストを実行すれば、ＺテストをＨ／Ｌテストと例えば同じ周期で正確に実行することが可能となる。
【図面の簡単な説明】
【図１】本発明のファンクションテストの実行手順を示す図である。
【図２】論理シミュレーションで論理信号が”Ｈ”から”Ｌ”に遷移した場合と、実際の回路で出力電圧が”Ｈ”から”Ｌ”に遷移した場合の様子を示す図である。
【図３】論理シミュレーション上で信号が”Ｈ”から”Ｚ”の中間電位に遷移した場合と、実際の回路で出力電圧が”Ｈ”から”Ｚ”に遷移した場合の様子を示す図である。
【図４】実施の形態にかかるプログラム作成装置の実行する処理内容を説明するための図である。
【図５】ファンクションテストの実行プログラム作成装置の機能ブロック図である。
【図６】ファンクションテストの実行プログラム作成装置の構成図である。
【図７】ファンクションテストのプログラム作成装置の実行する処理のフローチャートである。
【図８】ファンクションテストのプログラム作成装置の実行する処理のフローチャートである。
【図９】論理シミュレーションで論理信号が”Ｈ”から”Ｌ”に遷移した場合と、実際の回路で出力電圧が”Ｈ”から”Ｌ”に遷移した場合の様子を示す図である。
【図１０】論理シミュレーション上で信号が”Ｈ”から”Ｚ”の中間電位に遷移した場合と、実際の回路で出力電圧が”Ｈ”から”Ｚ”に遷移した場合の様子を示す図である。
【符号の説明】
１  論理シミュレーション結果データ格納手段、２  テストパターンファイル変換手段、３  ユーザ制御入力手段、４  Ｚテスト分割必要性の判定・記憶手段、５  テスト用パターンデータファイル格納手段、６  変換結果レポート手段、１１  キーボード、１２  マウス、１３  記憶装置、１４  データ堀装置、１５  ディスプレイ、１６  プリンタ
【図１】
0003550496.tif 000002
【図２】
0003550496.tif 000003
【図３】
0003550496.tif 000004
【図４】
0003550496.tif 000005
【図５】
0003550496.tif 000006
【図６】
0003550496.tif 000007
【図７】
0003550496.tif 000008
【図８】
0003550496.tif 000009
【図９】
0003550496.tif 000010
【図１０】
0003550496.tif 000011