(57)【特許請求の範囲】
【請求項１】
目標仕様を満足させるように半導体集積回路デバイスの機能を機能記述言語でモデル化したデバイスモデルを生成する第1処理と、前記デバイスモデルに基づいて半導体集積回路デバイスの回路設計を行なう第２処理と、前記第２処理と並列的に、前記目標仕様に対応したテスト項目をモデル化したテスタモデルと共にデバイスモデルをシミュレーションしてテスト設計を行なう第３処理と、をコンピュータで実行し、
前記第１処理において、前記半導体集積回路デバイスの目標仕様を満足するように半導体集積回路デバイスの各外部端子に対応させて夫々の外部端子の入出力状態を定義する第１ステップと、半導体集積回路デバイスを複数個の機能モジュールに分割すると共に個々の機能モジュールの内部端子を定義して各機能モジュールが目標仕様を満足するように夫々の内部端子の入出力状態を定義する第２ステップと、前記第１ステップで定義された外部端子の入出力状態を与えたとき半導体集積回路デバイスの目標仕様を満足するように前記夫々の機能モジュール相互間の内部端子の結合状態を定義して前記デバイスモデルを生成する第３ステップと、をコンピュータで実行することを特徴とする半導体集積回路デバイスの開発方法。
【請求項２】
目標仕様を満足させるように半導体集積回路デバイスの機能を機能記述言語でモデル化したデバイスモデルを生成する第1処理と、前記デバイスモデルに基づいて半導体集積回路デバイスの回路設計を行なう第２処理と、前記第２処理と並列的に、前記目標仕様に対応したテスト項目をモデル化したテスタモデルと共にデバイスモデルをシミュレーションしてテスト設計を行なう第３処理と、をコンピュータで実行し、
前記第１処理において、前記半導体集積回路デバイスの目標仕様を満足するように半導体集積回路デバイスの各外部端子に対応させて夫々の外部端子の入出力状態を定義する第１ステップと、半導体集積回路デバイスを複数個の機能モジュールに分割して定義すると共に個々の機能モジュールの内部端子の入出力状態を定義する第２ステップと、第２ステップで定義された入出力状態を用いて機能モジュールの機能シミュレーションを行なって機能モジュールが目標仕様を満足するかを検証する第３ステップと、第３ステップで目標仕様を満足しない機能モジュールに対して目標仕様の調整と前記第３ステップとを目標仕様を満足するまで繰り返す第４ステップと、目標仕様が満足された機能モジュール相互間の内部端子の結合を定義し前記ステップ１で定義された外部端子の入出力状態を与えてシミュレーションを行ない半導体集積回路デバイスの目標仕様を満足するか否かを検証する第５ステップと、第５ステップで目標仕様を満足しない場合に所望の機能モジュールに対する目標仕様の調整と前記第５ステップとを半導体集積回路デバイス全体の目標仕様を満足するまで繰り返す第６ステップと、をコンピュータで実行し、
前記第５ステップにおいて目標仕様が満足されたとき又は第６ステップを経たとき、機能モジュールの定義、外部端子及び内部端子の入出力状態に対する定義、及び内部端子相互間の結合定義に基づいて前記デバイスモデルをコンピュータで生成することを特徴とする半導体集積回路デバイスの開発方法。
【請求項３】
前記デバイスモデルは、半導体集積回路デバイスのチップに実現すべき機能に関するチップ機能記述データと、前記チップを収容して該チップと電気的な接続が形成されるパッケージの電気的特性に関するパッケージ機能記述データとの双方又は前者によって形成されるものであることを特徴とする請求項１又は２記載の半導体集積回路デバイスの開発方法。
【請求項４】
前記テスタモデルは、テスタのハードウェアを機能記述によって特定したテスタ機能記述データと、前記テスト項目毎にテスタの動作を決定するためのテストプログラムと、テスタと半導体集積回路デバイスとの接続を実現するためのテストボードの回路構成を特定するテストボード設計データとに基づいて形成されるものであることを特徴とする請求項１又は２記載の半導体集積回路デバイスの開発方法。
【請求項５】
前記テスト設計は、前記シミュレーション結果を前記テスタモデルに反映して前記テストプログラム及びテストボードを設計する処理であることを特徴とする請求項４記載の半導体集積回路デバイスの開発方法。
【請求項６】
前記回路記述データに基づいて半導体集積回路デバイスのレイアウトを特定するためのレイアウトデータを生成する第４処理と、前記レイアウトデータに基づいて製造された半導体集積回路デバイスを前記テストボードを介して前記テスタに装着し、該テスタを前記テストプログラムを利用して動作させて、実テストを行なう第５処理とを更にコンピュータで実行することを特徴とする請求項５記載の半導体集積回路デバイスの開発方法。
【請求項７】
目標仕様を満足するように半導体集積回路デバイスの機能を機能記述言語でモデル化したデバイスモデルを生成すると共に、デバイスモデルに基づいて半導体集積回路デバイスの回路設計を行なうデバイス設計手段と、前記半導体集積回路デバイスをテストするためのテスト設計を行なうテスト設計手段とを有し、
前記テスト設計手段は、前記デバイスモデルを入力し、テスタと半導体集積回路デバイスとを接続するためのテストボードの回路設計を支援する第１データ処理手段と、
テスタ固有のハードウェアを機能記述によって特定するテスタ機能記述データ及び前記デバイスモデルに基づいて、必要なテスト項目を検証するためのテストプログラムの設計を支援する第２データ処理手段と、
前記テスタ機能記述データ、前記テストプログラム及び前記テストボードの設計データに基づいて前記目標仕様に対応したテスト項目をモデル化したテスタモデルを構成し、当該テスタモデルと前記デバイスモデルとを統合してシミュレーションを行う第３データ処理手段とを含み、
前記テスト設計手段による回路設計の完了前に、前記シミュレーション結果に基づいて前記デバイスモデルが目標仕様を満足するか否かを検証することにより前記テストボードの設計データ及びテストプログラムを検証可能にするものであることを特徴とする半導体集積回路デバイスの開発システム。
【発明の詳細な説明】
技術分野
本発明は、半導体集積回路デバイスの設計及びテスト設計技術に係り、半導体集積回路デバイスの設計工程の上流側からテスト設計を開始可能にする技術に関するものである。
背景技術
半導体集積回路デバイスを開発する場合、目標仕様（目標仕様とは、本発明を用いて製造された製品によってはその製品の最終仕様を意味することもある。）を決定し、論理設計、回路設計及びレイアウト設計などを順次進めていく。このとき、過去の設計資産がある場合にはそれを流用する。設計工程では、論理シミュレーションや回路シミュレーションを行なって、設計目標仕様を満足するかの検証が適宜行なわれる。半導体集積回路デバイスの回路設計を一応完了すると、次に半導体集積回路デバイスの試作を行ない、試作された半導体集積回路デバイスはテスタを用いて実際に機能検証が行なわれる。半導体集積回路デバイスの端子配列や端子数に応じて当該デバイスとテスタとはテストボードを介して接続される。デバイステストにおいて設計目標仕様が達成されていない場合には半導体集積回路デバイスの回路設計を修正し、目標仕様を達成させる。その後、当該半導体集積回路デバイスの量産が開始される。
半導体集積回路デバイスを開発する場合、デバイスそれ自体の設計だけでなく、デバイステストのためのテスト設計も行なわれなければならない。テスト設計では、前記テストボードの設計、そして、テスタを動作させるためのテストプログラムの設計などが必要である。
一般に、テスト設計のためのテスト工程は、デバイス設計者がテスト仕様を作成してから開始されている。従来は、半導体集積回路デバイスの設計工程に並行してテスト工程を進めることは行なわれていなかった。通常、デバイスの回路設計を完了してから、テスト仕様が作成され、それに基づいてテストボードやテストプログラムの設計が開始されていた。このように、回路設計を済ませてからテスト設計に着手するという、直列的な設計作業の進め方が主流であるから、テスト設計工程では、設計者が量産テスタ用に決定したテスト仕様に対し、テスト技術者がテストプログラムの作成とそのソフトウェアデバッグを行うと共にテストボードを作成し、試作デバイスとテストボード（フィクチャーボードとも称する）を含めてテストプログラムのデバッグをテスター上で行うというのが一般的な手法であった。すなわち、試作デバイスの評価と共に、テストプログラム、及びテストボードの評価も、テスタを用いて併せて行なわれていた。
しかしながら、試作デバイス、テストプログラム、及びテストボードをテスタを用いて一緒に評価していたのでは、不具合いがあった場合、その不具合いが、試作デバイス、テストプログラム、又はテストボードの何れに起因するかを特定するのが困難な場合も生じ、テスト設計を含めて、半導体集積回路デバイスの開発期間を短縮できないという問題点の有ることが本発明者によって明らかにされた。
半導体集積回路デバイスの開発期間の短縮をテスト設計の観点から試みる場合、テスト工程のみに注目して期間短縮と効率向上を図ろうとすれば、部分改良に偏り大きな効果を期待できない。
本発明者は、テスト設計とデバイス設計との並列化によって半導体集積回路デバイスの開発期間を全体的に短縮すると共に開発効率を向上させるという、新規な着想を見出した。
本発明の目的は、テスト設計とデバイス設計との並列化によって半導体集積回路デバイスの開発期間を全体的に短縮すると共に開発効率を向上させることができる半導体集積回路デバイスの開発方法を提供することにある。
本発明の別の目的は、テスト設計工程の観点より半導体集積回路デバイスの開発期間を全体的に短縮する事ができる半導体集積回路デバイスの開発システムを提供することにある。
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の記述と添付図面から明らかにされるであろう。
発明の開示
本発明に係る半導体集積回路デバイスの開発方法は、目標仕様を満足させるように半導体集積回路デバイスの機能を機能記述言語でモデル化したデバイスモデルを生成する第１処理と、前記デバイスモデルに基づいて半導体集積回路デバイスの回路設計を行なう第２処理と、前記第２処理と並列的に、前記目標仕様に対応したテスト項目をモデル化したテスタモデルと共にデバイスモデルをシミュレーションしてテスト設計を行なう第３処理とを含む。機能記述されたデバイスモデルは開発すべき半導体集積回路デバイスの目標仕様を満足しており、このデバイスモデルをテスタモデルと共にシミュレーションし、シミュレーション結果からデバイスモデルが目標仕様を満足するか否かを判定することにより、例えば、テスタモデルの妥当性、すなわち、テストプログラム、或いはテスタと半導体デバイスを接続するためのテストボードの設計が妥当であるかを検証でき、回路設計が完了する前に、テスト設計を進めることが可能になる。
前記第１処理は、前記半導体集積回路デバイスの目標仕様を満足するように半導体集積回路デバイスの各外部端子に対応させて夫々の外部端子の入出力状態を定義する第１ステップと、半導体集積回路デバイスを複数個の機能モジュールに分割すると共に個々の機能モジュールの内部端子を定義して各機能モジュールが目標仕様を満足するように夫々の内部端子の入出力状態を定義する第２ステップと、前記第１ステップで定義された外部端子の入出力状態を与えたとき半導体集積回路デバイスの目標仕様を満足するように前記夫々の機能モジュール相互間の内部端子の結合状態を定義して前記デバイスモデルを生成する第３ステップとを含むことができる。
このようなデバイスモデルの定義は、前記外部端子及び内部端子に関する入出力状態という点で半導体集積回路デバイスの目標仕様を満足し、これは、取りも直さず、半導体集積回路デバイスに対するテスト仕様若しくはテスト項目を与えることになる。したがって、前述のように、このデバイスモデルをテスタモデルと共にシミュレーションし、シミュレーション結果からデバイスモデルが目標仕様を満足するか否かを判定することにより、前述の通り例えば、テストプログラムやテストボードの設計が妥当であるかを機能設計段階から検証できる。
前記機能モジュールの分割の大きさは、分割された機能モジュールが目標仕様を満足するかを検証するときのシミュレーション時間に関係し、大きいほど検証に要する時間は短く、小さいほど詳細に機能を定義できる。何れを採用するかは、半導体集積回路デバイスがディジタル回路か、アナログ回路か、ディジタル・アナログ混在回路か等に応じて決定し、或いは着目度合いの多少に応じて決定することができる。
更に詳しい態様の前記第１処理は、前記半導体集積回路デバイスの目標仕様を満足するように半導体集積回路デバイスの各外部端子に対応させて夫々の外部端子の入出力状態を定義する第１ステップと、半導体集積回路デバイスを複数個の機能モジュールに分割して定義すると共に個々の機能モジュールの内部端子の入出力状態を定義する第２ステップと、第２ステップで定義された入出力状態を用いて機能モジュールの機能シミュレーションを行なって機能モジュールが目標仕様を満足するかを検証する第３ステップと、第３ステップで目標仕様を満足しない機能モジュールに対してその目標仕様の調整と前記第３ステップとを目標仕様を満足するまで繰り返す第４ステップと、目標仕様が満足された機能モジュール相互間の内部端子の結合を定義し前記ステップ１で定義された外部端子の入出力状態を与えてシミュレーションを行ない半導体集積回路デバイスの目標仕様を満足するか否かを検証する第５ステップと、第５ステップで目標仕様を満足しない場合に所望の機能モジュールに対する目標仕様の調整と前記第５ステップとを半導体集積回路デバイス全体の目標仕様を満足するまで繰り返す第６ステップとを含むことができ、前記第５ステップにおいて目標仕様が満足されたとき又は第６ステップを経たとき、機能モジュールの定義、外部端子及び内部端子の入出力状態に対する定義、及び内部端子相互間の結合定義に基づいて前記デバイスモデルを生成することができる。
前記デバイスモデルは、半導体集積回路デバイスのチップに実現すべき機能に関するチップ機能記述データと、前記チップを収容して該チップと電気的な接続が形成されるパッケージの電気的特性に関するパッケージ機能記述データとの双方又は前者によって形成することができる。例えば、パッケージのボンディングワイヤなどに寄生するインダクタンス成分や容量成分等を予め問題視する場合には、前記チップ機能記述データとパッケージ機能記述データとの双方によってデバイスモデルを形成する。
前記テスタモデルは、テスタのハードウェアを機能記述によって特定したテスタ機能記述データと、前記テスト項目毎にテスタの動作を決定するためのテストプログラムと、テスタと半導体集積回路デバイスとの接続を実現するためのテストボードの回路構成を特定するテストボード設計データとに基づいて形成することができる。このとき、前述のように、前記テスト設計では、前記シミュレーション結果を前記テスタモデルに反映して前記テストプログラム及びテストボードを設計することになる。
半導体集積回路デバイスの開発方法は更に、前記回路記述データに基づいて半導体集積回路デバイスのレイアウトを特定するためのレイアウトデータを生成する第４処理と、前記レイアウトデータに基づいて製造された半導体集積回路デバイスを前記テストボードを介して前記テスタに装着し、該テスタを前記テストプログラムを利用して動作させて、実テストを行なう第５処理とを含むことができる。
本発明による半導体集積回路デバイスの開発システムは、目標仕様を満足するように半導体集積回路デバイスの機能を機能記述言語でモデル化したデバイスモデルを生成すると共に、デバイスモデルに基づいて半導体集積回路デバイスの回路設計を行なうデバイス設計手段と、前記半導体集積回路デバイスをテストするためのテスト設計を行なうテスト設計手段とを有する。前記テスト設計手段は、前記デバイスモデルを入力し、テスタと半導体集積回路デバイスとを接続するためのテストボードの回路設計を支援する第１データ処理手段と、テスタ固有のハードウェアを機能記述によって特定するテスタ機能記述データ及び前記デバイスモデルに基づいて、必要なテスト項目を検証するためのテストプログラムの設計を支援する第２データ処理手段と、前記テスタ機能記述データ、前記テストプログラム及び前記テストボードの設計データに基づいて目標仕様に対応したテスト項目をモデル化したテスタモデルを構成し、当該テスタモデルと前記デバイスモデルとを統合してシミュレーションを行う第３データ処理手段とを含み、前記テスト設計手段による回路設計の完了前に、前記シミュレーション結果に基づいて前記デバイスモデルが目標仕様を満足するか否かを検証することにより前記テストボードの設計データ及びテストプログラムを検証可能にするものである。
発明を実施するための最良の形態
先ず、第１図に基づいて本発明に係る半導体集積回路デバイスの開発方法を概略的に説明する。
半導体集積回路デバイスの開発には例えばワークステーションなどのコンピュータシステムを用いる。このコンピュータシステムは、その動作プログラムによってデバイス設計手段１とテスト設計手段２を構成する。デバイス設計手段１とテスト設計手段２とを別々のコンピュータシステムで構成することは当然可能である。
デバイス設計手段１は、目標仕様に基づいて半導体集積回路デバイスのシステム設計、機能設計、回路設計、及びレイアウト設計を行なう。システム設計では半導体集積回路デバイスを適当な大きさで機能モジュールに分割する。機能設計では、機能モジュールの集合として半導体集積回路デバイスの機能を機能記述言語（例えばＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）：ハードウェア記述言語）でモデル化したデバイスモデルを生成する。レイアウト設計後、ウェーハプロセスによってウェーハが試作され、それに対するプローブ検査（Ｐ検）の後、組立工程を経て試作デバイスの組み立て（パッケージ）が行なわれる。この試作デバイスには製品デバッグ（終検）が施され、デバッグの結果がデバイス設計にフィードバックされ、最後に半導体集積回路デバイスの量産に移行される。量産された半導体集積回路デバイスは量産テスタ３にてテストされ、出荷される。
テスト設計手段２は、半導体集積回路デバイスをテストするためのテスト設計を行なう。例えば、Ｐ検、終検のためのデバッグ用のテストプログラムや、量産テスタに対する量産テスト用のテストプログラムの設計を支援し、また、テスタと半導体集積回路デバイスとの接続を行なうテストボードの設計に利用される。
第１図から明らかなように、テスト設計手段２には半導体集積回路デバイスの機能設計の結果が与えられている。すなわち、前記デバイスモデルで代表される半導体集積回路デバイスの機能記述データが与えられている。これを元に、テスト設計手段２は、前記目標仕様に対応したテスト項目をモデル化したテスタモデルを生成し、該テスタモデルと共にデバイスモデルをシミュレーションしてテスト設計を行なう。機能記述されたデバイスモデルは開発すべき半導体集積回路デバイスの目標仕様を満足しており、このデバイスモデルをテスタモデルと共にシミュレーションし、シミュレーション結果からデバイスモデルが目標仕様を満足するか否かを判定することにより、テスタモデルの妥当性、例えば、テストプログラム、或いはテストボードの設計が妥当であるかを検証でき、機能設計の段階からテスト設計を進めることができる。図１に示されるように、Ｐ検段階までにテスト設計を一応完了できる。したがって、半導体集積回路デバイスの開発期間を全体的に短縮できると共に開発効率を向上させることができる。
更に、機能設計の結果である前記デバイスモデルに代表される半導体集積回路デバイスの機能記述データは、当該半導体集積回路デバイスのユーザにも提供することができる。前述のようにデバイスモデルは、前記機能モジュールの集合として半導体集積回路デバイスの機能を機能記述言語でモデル化したものであり、目標仕様を満足している。ユーザは、当該デバイスモデルを用いて、その半導体集積回路デバイスを用いるシステムボード若しくは回路ボード（ユーザボードと称する）の設計を、デバイス完成前に、先行して進めることができる。例えば、前述のテスト設計の場合と同様に、所要のユーザボードをモデル化したものと一緒に、目標仕様を満足したデバイスモデルをシミュレーションし、デバイスモデルが目標仕様を満足するかを検証する。目標仕様を満足していなければ、ユーザボードのモデルに不都合が有り、このようにしてユーザボードの評価を進めながらユーザボードの設計を、早い段階から進めることが可能になる。更に、ユーザは、第１３図に基づいて後述するように、ユーザボードに最適化できるように半導体デバイスに対する設計変更の要求も早い段階で可能になる。
第２図には半導体集回路デバイスの開発方法の一例がフローチャートで示される。第２図において、ステップＳ１〜Ｓ５は、目標仕様を満足させるように半導体集積回路デバイスの機能を機能記述言語でモデル化したデバイスモデルを生成する第１処理である。ステップＳ６〜Ｓ８は、前記デバイスモデルに基づいて半導体集積回路デバイスの回路設計を行なう第２処理である。ステップＳ２０〜Ｓ２３は、前記第２処理と並列的に、前記目標仕様に対応したテスト項目をモデル化したテスタモデルと共にデバイスモデルをシミュレーションしてテスト設計を行なう第３処理である。ステップＳ３０〜Ｓ３７は、ユーザによるボード設計処理である。
ステップＳ１，Ｓ２は、特に制限されないが、システム設計の範疇に属し、ステップＳ１では、半導体集積回路デバイス（以下単にＩＣとも記す）の目標仕様を決定する。特に制限されないが、ここでは、前記半導体集積回路デバイスの目標仕様を満足するように半導体集積回路デバイスの各外部端子に対応させて夫々の外部端子の入出力状態を定義する。ステップＳ２では半導体集積回路デバイスを複数個の機能モジュールに分割する。機能モジュールの分割の大きさは、分割された機能モジュールが目標仕様を満足するかを検証するときのシミュレーション時間に関係し、大きいほど検証に要する時間は短く、小さいほど詳細に機能を定義できる。何れを採用するかは、半導体集積回路デバイスがディジタル回路か、アナログ回路か、ディジタル・アナログ混在回路か等に応じて決定し、或いは着目度合いの多少に応じて決定することができる。
ステップＳ３、Ｓ４では、個々の機能モジュールの内部端子を定義して各機能モジュールが目標仕様を満足するように夫々の内部端子の入出力状態を定義すると共に、前記ステップＳ２で定義された外部端子の入出力状態を与えたとき半導体集積回路デバイスの目標仕様を満足するように前記夫々の機能モジュール相互間の内部端子の結合状態を定義して、前記デバイスモデルを生成する。
デバイスモデル生成工程を更に詳述すれば、ステップＳ２で、前記半導体集積回路デバイスの目標仕様を満足するように半導体集積回路デバイスの各外部端子に対応させて夫々の外部端子の入出力状態を定義すると共に、半導体集積回路デバイスを複数個の機能モジュールに分割して定義する。次いで、個々の機能モジュールの内部端子の入出力状態を定義し、定義された入出力状態を用いて機能モジュールの機能シミュレーションを行なって機能モジュールが目標仕様を満足するかを検証する（Ｓ４）。ステップＳ４で目標仕様を満足しない機能モジュールに対して、個々の機能モジュールが目標仕様を満足するまで、機能モジュールの目標仕様を調整し（Ｓ３）、更にシミュレーションを行なう（Ｓ４）。個々の機能モジュールの目標仕様が満足さた後、機能モジュール相互間の内部端子の結合を定義し前記ステップＳ２で定義された外部端子の入出力状態を与えてシミュレーションを行ない、今度は半導体集積回路デバイスの目標仕様を満足するか否かを検証する（Ｓ４）。半導体集積回路デバイスの目標仕様を満足しない場合に、半導体集積回路デバイスの目標仕様を満足するまで、所望の機能モジュールの目標仕様を調整してシミュレーションを繰り返す（Ｓ４）。半導体集積回路デバイスの目標仕様が満足されたとき、機能モジュールの定義、外部端子及び内部端子の入出力状態に対する定義、及び内部端子相互間の結合定義に基づいてデバイスモデルが生成される。
前記デバイスモデルは、半導体集積回路デバイスのチップに実現すべき機能に関するチップ機能記述データと、前記チップを収容して該チップと電気的な接続が形成されるパッケージの電気的特性に関するパッケージ機能記述データとの双方又は前者によって形成することができる。例えば、パッケージのボンディングワイヤなどに寄生するインダクタンス成分や容量成分等を予め問題視する場合には、前記チップ機能記述データとパッケージ機能記述データとの双方によってデバイスモデルを形成する。
このようなデバイスモデルの定義は、前記外部端子及び内部端子に関する入出力状態という点では半導体集積回路デバイスの目標仕様を満足し、これは、取りも直さず、半導体集積回路デバイスに対するテスト仕様若しくはテスト項目を与えることになる。斯かるデバイスモデルはテスト設計手段２に与えられ、デバイスモデルの記述を元に、テストボードやテストプログラムの設計が開始される（Ｓ２１）。尚、半導体集積回路デバイスの目標仕様からその端子数及び端子機能が特定され、それらは、ステップＳ４のシミュレーション結果には依存しない場合が多いから、ここでの説明では、それら基本的な目標仕様は予めテスト設計手段２に与えられ、与えられた目標仕様からテストボードの素子定数、すなわち、使用端子数やそれらの端子機能が抽出され（Ｓ２０）、抽出されたデータはテストボード設計基本データとしてステップＳ２１の処理に与えられる。
テスト設計手段２では、ステップＳ５以降の回路設計に並行してテスト設計を進めることができる。テスト設計では、前述のように、上記デバイスモデルをテスタモデルと共にシミュレーションし、シミュレーション結果からデバイスモデルが目標仕様を満足するか否かを判定することにより、テスタモデルの妥当性、例えば、テストプログラムやテストボードの設計が妥当であるかを、機能設計段階から検証できる。
前記テスタモデルは、テスタのハードウェアを機能記述によって特定したテスタ機能記述データと、前記テスト項目毎にテスタの動作を決定するためのテストプログラムと、テストボードの回路構成を特定するテストボード設計データとに基づいて形成することができる。このとき、前述のように、前記テスト設計手段２では、前記シミュレーション結果を前記テスタモデルに反映して前記テストプログラム及びテストボードの設計を進めていくことになる。
回路設計では、回路設計・修正（Ｓ６）と回路シミュレーション（Ｓ７）とを繰り返すことにより、回路レベルで設計目標仕様を満足させる。
回路設計が完了すると（Ｓ８）、その結果はテスト設計に反映される（Ｓ２２）。例えば、半導体集積回路デバイスの外部出力バッファ回路の駆動能力が当初よりも小さく変更された場合、テストボード上の比較的長い配線を駆動するための中継アンプの駆動能力を変更したりすることが必要になるからである。また、電圧反射などの動的な特性変化を排除することが必要な場合も有る。
テストボードやテストプログラムの設計が完了されると（Ｓ２２）、テストボードの試作が行なわれる（Ｓ２３）。この間、半導体集積回路デバイスのレイアウト設計が行なわれ、半導体集積回路デバイスが試作される（Ｓ９）。試作された半導体集積回路デバイスは、前記作成されたテストボードを介してテスタに接続され、前記テスト設計で生成されたテストプログラムを用いてテスタを動作させ、実際に、試作された半導体集積回路デバイスを動作させて検証が行なわれる（Ｓ１０）。この段階において、テストボード及びテストプログラムに関しては、ステップＳ２１による仮想的なテストやステップＳ２２による修正が施されているから、完成度の高い状態にされている。したがって、ステップＳ１０のデバイステストの段階では、テスト結果に不都合がある場合、その原因としてデバイスの不良を真っ先に指摘でき、テストの信頼性向上が達成される。尚、テストボードに関しては電圧反射等の動的特性に関し、ステップＳ１０で検証することが最も効果的であり、テスト設計に対する最終的な検証となる。
前記デバイスモデルはユーザにも提供される。ユーザは、デバイスモデルの記述を元に、ユーザの実システムのボード設計をすることができる（Ｓ３１）。尚、半導体集積回路デバイスの目標仕様からその端子数及び端子機能が特定され、それらは、ステップＳ４のシミュレーション結果には依存しない場合が多いから、ここでの説明では、それら基本的な目標仕様もユーザに与えられ、与えられた目標仕様から、半導体集積回路デバイスをユーザボードに搭載するための使用端子数やそれらの端子機能が抽出され（Ｓ３０）、抽出されたデータはユーザボード設計基本データとしてステップＳ３１の処理に与えられる。
第２図より明らかなように、ユーザは、半導体メーカによる回路設計に並行してユーザボードの設計を進めることができる。ユーザボード設計では、前述のように、前記デバイスモデルをユーザボードのモデルと共にシミュレーションし、シミュレーション結果からデバイスモデルが目標仕様を満足するか否かを判定することにより、ユーザボードモデルの妥当性を機能設計段階から検証できる。したがって、ユーザは、メーカによる半導体集積回路デバイスの機能設計段階から、その検証結果を反映してユーザボードの設計を進めることができる。
回路設計が完了されると（Ｓ８）、その結果はユーザにも提供される。ユーザは、回路設計結果をユーザボードの設計に反映することができる（Ｓ３２）。例えば、半導体集積回路デバイスの外部出力バッファ回路の駆動能力が当初よりも小さく変更された場合、ユーザボード上の信号配線途中に中継アンプなどを挿入する修正を行なうことも可能である。また、電圧反射などの動的な特性変化を排除することが必要な場合も有る。
このように、ユーザは、半導体集積回路デバイスの試作品の提供に先立って、ユーザボードの設計を開始できる。ユーザボードの設計完了後、ユーザボードの試作が行なわれる。第２図より明らかなように、ユーザボードの試作は、半導体集積回路デバイスの試作品の入手とほぼ同時期に完了させることも可能になる。したがって、ユーザは、ユーザボードの試作品を製作して直ぐに、半導体集積回路デバイスの試作品を入手でき、これをユーザボードに組み込み、半導体集積回路デバイスがユーザシステムの目標仕様を達成するかを検証することができる（Ｓ３５）。検証結果を参照し、必要な場合にはユーザボードの回路素子の調整などのチューニングを行なうことができる（Ｓ３６）。この段階において、ユーザボードは、ステップＳ３１による仮想的なテストやステップＳ３２による修正が施されているから、完成度の高い状態にされている。したがって、ステップＳ３５の検証を能率的に行なうことができ、また、ユーザボードの量産（Ｓ３７）までの期間を短縮することができる。
第３図の比較例に示されるように半導体集積回路デバイスの回路設計完了後にテストボード及びテストプログラム等のテスト設計を開始する手法では、回路設計の上流側からテスト設計を行なうことはできない。したがって、試作された半導体集積回路デバイスを用いて目標仕様の達成を検証するとき、テストボードやテストプログラムの設計を完了させるには十分な時間がなく、これによって試作デバイスを用いて、テストプログラム及びテストボードを検証する事ができない。そのまま、量産を開始し、前記テストボードやテストプログラムを量産デバイスのテストに用いれば、不都合が生じたとき、その原因がデバイスに有るのかテストボードやテストプログラムに有るのかを一義的に判断できなくなり、量産に支障を生ずることになる。また、試作デバイスを用いてテストボード及びテストプログラムの検証を行なおうとすれば、量産に移行する時期が遅れてしまう。同様に、第３図の手法では、ユーザボードの設計も回路設計の完了後でなければ開始する事ができない。
第４図には前記ステップＳ２で分割された機能モジュールの一例と、その機能モジュールに対するＨＤＬによるハードウェアの機能記述の一例が示される。同図に代表的に示された機能モジュールは分周回路４である。
第５図にはテストボードに半導体集積回路デバイスを搭載した状態の概念図画示される。第５図において５はテストボード、６は半導体集積回路デバイスである。テストボード５の周縁部分にはテスタとの接続端子が配置され、半導体集積回路デバイス６の端子はその入出力機能に応じて、テスタの対応端子に配線や回路素子を介して結合される。回路素子は、テストボードの配線負荷を駆動するための中継アンプ、発振防止用の容量素子、電圧反射防止用の抵抗素子などとされる。
第６図には前記テスト設計手段２の一例である仮想テスタ（仮想テスタ２と記す）が示される。仮想テスタ２は、例えばワークステーションのようなコンピュータシステム上に構成され、シミュレータ１４、設計環境ツール１３、仮想テスト環境ツール１１、テストボード設計環境ツール１０、及びテストパターン加工・変換ツール１５を有する。この例に従えば、各ツールは、コンピュータシステムのハードウェアとアプリケーションプログラムとによってデータ処理手段を構成する。仮想テスタ２は、システム設計で選られたテスト仕様及びデバイス設計手段１で得られたデバイスの機能記述データ等を入力する。
前記テストボード設計環境ツール１０は、前記デバイスモデル等に基づいて、テスタと半導体集積回路デバイスとを接続するためのテストボードの回路設計を支援する。
前記仮想テスト環境ツール１１には、デバイス電源、ＤＣ計測系、ピンエレクトロニクス、任意波形発生、周波数測定等のテスタ固有のハードウェアの機能記述コードを発生する複数のモジュール１２が挿入される。仮想テスト環境ツール１１は前記モジュール１２で生成される情報、前記デバイスモデル及びテスト仕様等に基づいてテストプログラムの設計を支援する。すなわち、テスタ固有のハードウェアを機能記述によって特定するテスタ機能記述データ及び前記デバイスモデルに基づいて、必要なテスト項目を検証するためのテストプログラムの設計を支援する。
設計環境ツール１３は、テスタをソフトウェア的に実現するためのツールであり、デバイスモデルによって特定されるデバイスと、テストボード設計環境ツール１０で得られたテストボードの回路設計データから特定されるテストボードと、テスタとを機能記述で統合し、換言すればソフトウェア的に統合し、テスト環境を構築する。すなわち、前記テスタ機能記述データ、前記テストプログラム及び前記テストボードの設計データに基づいて目標仕様に対応したテスト項目をモデル化したテスタモデルを構成し、当該テスタモデルと前記デバイスモデルとを統合する。
シミュレータ１４は、構築されたテスト環境でテスト項目のシミュレーションを行う。これによって、テストプログラムの妥当性、テストボードによるデバイスとテスタとの物理的な接続関係の妥当性やテストボードの配線負荷などについて評価を行なう。評価結果に不都合があれば、テストプログラムやテストボードに関する修正を行なう。
テストパターン加工・変換ツール１５は、シミュレーション上のイベント形式のテストパターンデータを、テスタで利用できる時間軸上のパターンに変換したり修正を行なうツールである。
この仮想テスタ２によって、テストプログラム、テストボードの回路設計データ、及びテストパターンが生成される。
このようにして、仮想テスタ２は、回路設計に並行して、換言すれば、デバイスの試作が完了する前に、テストボードの設計データ、テストプログラム及びテストパターンをある程度完成させることができる。
第７図にはシステム設計及び機能設計におけるデータフローの一例が示される。第７図において２０は、ワークステーションのようなコンピュータシステム上で動作される機能設計及び回路設計用ツールであり、シンボルを組合わせた図を画面上に描くことによって半導体集積回路デバイスの機能設計や回路設計などを可能にする。シンボルライブラリ２１には多数のシンボルが記憶され、シンボルを用いて予め定義された図形は図形ライブラリ２２に格納されている。ネットリスト２３は各図形の接続情報を格納する。機能設計及び回路設計用ツール２０には、半導体集積回路デバイスのパッケージの外部端子数等のパッケージの素子定数、半導体集積回路デバイスの目標仕様などが与えられる。それらを利用して、機能モジュールの分割、端子の割り当てなどが行なわれ、前記ステップＳ３，Ｓ４で説明した機能シミュレーションが繰り返し行なわれる。これにより、機能モジュールの集合として半導体集積回路デバイス全体の機能モデル（デバイスモデル）２４を生成することができる。
第８図には回路設計におけるデータフローの一例が示される。機能設計及び回路設計ツール２０はデバイスモデル２４及び目標仕様を受け取り、これに基づいて回路設計とシミュレーションを行い、目標仕様を満足するまでその動作を繰り返す。これによって回路設計データ２５を得る。
第９図には前記仮想テスタ２を用いて仮想テストを行ないながらテストプログラムとテストボードを設計するときのデータフローの一例が示される。仮想テスタ２のテストボード設計環境ツール及び仮想テスト環境ツールなどはシンボルを組合わせた図を画面上に描くことによってテスト設計などを可能にする。シンボルライブラリ２１には多数のシンボルが記憶され、シンボルを用いて予め定義された図形は図形ライブラリ２２に格納されている。ネットリスト２３は各図形の接続情報を格納する。仮想テスタ２は、テストボードの素子定数、デバイスモデル２４、目標仕様などを入力し、これに基づいてテストボードの基本設計データが生成される。そして、テストボードの基本設計データ、デバイスモデル、テスタ機能記述データに基づいて、目標仕様に対応したテスト項目をモデル化したテスタモデル２７を構成し、当該テスタモデルと前記デバイスモデルとを統合したテスト環境を構築する。このテスト環境を用いたシミュレーションによってテストプログラムやテストボードの評価を行なう。評価の結果がテストプログラムやテストボードの設計データに反映され、バグなどが修正されたテストプログラムやテストボードの設計データ２８が得られる。
第１０図にはユーザボードの設計に伴うデータフローの一例が示される。３０はユーザボードの設計に用いられる設計ツールである。設計ツール３０はシンボルを組合わせた図を画面上に描くことによって機能設計や回路設計などを可能にする。シンボルライブラリ３１には多数のシンボルが記憶され、シンボルを用いて予め定義された図形は図形ライブラリ３２に格納されている。ネットリスト３３は各図形の接続情報を格納する。設計ツール３０は、ユーザボードの素子定数、デバイスモデル、ユーザボードの目標仕様などを入力し、ユーザボードのモデルとデバイスモデルを統合したテスト環境を構築し、シミュレーションによってデバイスやテストボードの評価を行なう。
第１１図には仮想テスタ２を用いたテストボードの設計手法の一例が示される。実際のデバイステストを模擬するには、ＤＵＴ（Ｄｅｖｉｃｅ  Ｕｎｄｅｒ  Ｔｅｓｔ）としての半導体集積回路デバイスだけでなく、テスタと半導体集積回路デバイスとの間のテストボードの入出力インタフェース回路の回路素子定数（インダクタンス、容量など）を考慮しなければならない。仮想テスタを用いたテストにおいても、前記素子定数を仮定する。そのような仮定を行なって、ＤＵＴとしての半導体集積回路デバイスの入力に結合されるテストボードの入力インタフェース回路とＤＵＴとしての半導体集積回路デバイスの出力に結合されるテストボードの出力インタフェース回路に対しては回路シミュレーションを行い、ＤＵＴとしての半導体集積回路デバイスに対しては機能シミュレーションを行なう。このとき、テスタモデルで観測される入力波形や出力波形が理想波形から大幅にずれている場合には、前記素子定数を修正し、テストボードにおける入出力インタフェース回路の設計変更を行なう。
第１２図にはデバイスモデルを利用したユーザボードの設計手法の一例が示される。ユーザボードの設計では、デバイスモデルで特定される半導体集積回路デバイスに接続される周辺回路の回路素子定数（インダクタンス、容量など）を考慮しなければならない。ユーザボードの設計において、前記回路素子定数を仮定する。そのような仮定を行なって、半導体集積回路デバイスの入力に結合される入力周辺回路と半導体集積回路デバイスの出力に結合される出力周辺回路には回路シミュレーションを行い、半導体集積回路デバイスに対しては機能シミュレーションを行なう。このとき、シミュレーションで観測される入力波形や出力波形が理想波形から大幅にずれている場合には、前記素子定数を修正し、ユーザボードにおける当該入力周辺回路及び出力周辺回路の設計変更を行なう。
第１３図にはユーザボード上での半導体集積回路デバイスの一部を回路シミュレーションの対象とした半導体集積回路デバイスの検証方法の一例が示される。第１２図に対し、半導体集積回路デバイスに対し、その入力回路と出力回路を回路シミュレーション対象とし、半導体集積回路デバイスのその他の部分を機能シミュレーション対象とする。半導体集積回路デバイスの入力回路と出力回路のシミュレーション波形が理想波形と大幅にずれている場合、半導体集積回路デバイス内部の入力回路を構成するトランジスタの素子定数を変更することが必要になる。このようなシミュレーションは、デバイスメーカによる回路設計段階で明らかにすることができるから、ユーザシステムへの良好な適合性を得るために半導体集積回路デバイス内部の設計変更も容易になる。
以上本発明者によってなされた発明を実施例に基づいて具体的に説明したが本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。
例えば、仮想テスタを構成するツールは上記の説明に限定されず適宜変更可能である。また、半導体集積回路デバイスの回路規模が小さい場合、或いは回路構成が単純な場合等には、複数個の機能モジュールへの分割を行なわずにデバイスモデルを生成することも可能である。また、本発明の半導体集積回路デバイスの開発方法は新規デバイスの開発に適用されるだけでなく、既存デバイスの改良若しくは機能拡張に際しても適用することができる。この場合には、過去に蓄積された設計資産を流用して本発明方法を適用できることは言うまでもない。
産業上の利用可能性
本発明は、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）方式、スタンダードセル方式、カスタム方式など半導体集積回路デバイスの設計手法に拘わらず、また、メモリ、マイクロコンピュータ等の論理ＬＳＩ、アナログＬＳＩ、アナログ・ディジタル混在ＬＳＩなどの機能にも制限されず、半導体集積回路デバイスの開発期間を全体的に短縮すると共に開発効率を向上させて有効な種々の半導体集積回路デバイスの開発に広く適用することができる。
【図面の簡単な説明】
第１図は本発明に係る半導体集積回路デバイスの開発方法を概略的に示す説明である。
第２図は半導体集回路デバイスの開発方法の一例を示すフローチャートである。
第３図は半導体集積回路デバイスの回路設計完了後にテストボード及びテストプログラムの設計を開始する比較例を示すフローチャートである。
第４図は分割された機能モジュールの一例と当該機能モジュールに対するＨＤＬによるハードウェア記述の一例を示す説明図である。
第５図はテストボードに半導体集積回路デバイスを搭載した状態の概念図である。
第６図はテスト設計手段の一例である仮想テスタを示す説明図である。
第７図はシステム設計及び機能設計におけるデータフローの一例説明図である。
第８図は回路設計におけるデータフローの一例説明図である。
第９図は仮想テスタを用いて仮想テストを行ないながらテストプログラムとテストボードを設計するときのデータフローの一例説明図である。
第１０図はユーザボードの設計に伴うデータフローの一例説明図である。
第１１図は仮想テスタを用いたテストボードの設計手法の一例説明図である。
第１２図はデバイスモデルを利用したユーザボードの設計手法の一例説明図である。
第１３図はユーザボード上での半導体集積回路デバイスの一部を回路シミュレーションの対象とした半導体集積回路デバイスの検証方法の一例説明図である。
【図１】
0003971104.tif 000002
【図２】
0003971104.tif 000003
【図３】
0003971104.tif 000004
【図４】
0003971104.tif 000005
【図５】
0003971104.tif 000006
【図６】
0003971104.tif 000007
【図７】
0003971104.tif 000008
【図８】
0003971104.tif 000009
【図９】
0003971104.tif 000010
【図１０】
0003971104.tif 000011
【図１１】
0003971104.tif 000012
【図１２】
0003971104.tif 000013
【図１３】
0003971104.tif 000014