(57)【要約】【課題】機能ブロックの不具合を最終的に修正するまで待つことなく機能検証を続けることができ、半導体集積回路装置の機能検証期間の短縮化を実現することができる半導体集積回路装置の検証方法を提供する。【解決手段】機能ブロック１の出力信号に不具合が発見された時、出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、パッチ回路を出力信号に挿入した機能ブロック１の暫定修正回路を作成し、機能ブロック１が修正されるまで、暫定修正回路を用いてのＬＳＩ検証を行う。【選択図】図１
2005071061.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能ブロックを含む半導体集積回路装置の検証方法であって、前記半導体集積回路装置内の一機能ブロックの出力信号に不具合が発見された時、前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、前記パッチ回路を前記出力信号に挿入した前記機能ブロックの暫定修正回路を作成し、前記機能ブロック自体が修正されるまで、前記暫定修正回路を用いて前記半導体集積回路装置の検証を行うことを特徴とする半導体集積回路装置の検証方法。
【請求項２】
複数の機能ブロックを含み、各機能ブロックの論理階層の上に枠のみのデバッグ用階層を予め付加し、前記デバッグ用階層を用いて前記各機能ブロック間が接続される半導体集積回路装置の検証方法であって、前記半導体集積回路装置内の一機能ブロックの出力信号に不具合が発見された時、前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、前記機能ブロック自体が修正されるまで、前記パッチ回路を前記デバッグ用階層に挿入して前記半導体集積回路装置の検証を行うことを特徴とする半導体集積回路装置の検証方法。
【請求項３】
複数の機能ブロックを含む半導体集積回路装置の検証方法であって、各機能ブロックの出力信号にその正しい動作を規定するルールを予め設定し、前記半導体集積回路装置内の一機能ブロックの出力信号に前記ルールに違反する不具合が発見された時、前記ルール違反毎に予め作成された前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を前記出力信号に挿入した前記機能ブロックの暫定修正回路を作成し、前記機能ブロック自体が修正されるまで、前記暫定修正回路を用いて前記半導体集積回路装置の検証を行うことを特徴とする半導体集積回路装置の検証方法。
【請求項４】
複数の機能ブロックを含み、各機能ブロックの論理階層の上に枠のみのデバッグ用階層を予め付加し、前記デバッグ用階層を用いて前記各機能ブロック間が接続される半導体集積回路装置の検証方法であって、各機能ブロックの出力信号にその正しい動作を規定するルールを予め設定し、前記半導体集積回路装置内の一機能ブロックの出力信号に前記ルールに違反する不具合が発見された時、前記ルール違反毎に予め作成された前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、前記機能ブロック自体が修正されるまで、前記パッチ回路を前記デバッグ用階層に挿入して前記半導体集積回路装置の検証を行うことを特徴とする半導体集積回路装置の検証方法。
【請求項５】
請求項３記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力されるリクエスト信号に対して前記機能ブロックへ入力されるアクノリッジ信号が返ってくる時間を規定するルールを設定し、前記パッチ回路により、前記アクノリッジ信号が前記時間内に返ってこない時に前記アクノリッジ信号を生成することを特徴とする半導体集積回路装置の検証方法。
【請求項６】
請求項４記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力されるリクエスト信号に対して前記機能ブロックへ入力されるアクノリッジ信号が返ってくる時間を規定するルールを設定し、前記パッチ回路により、前記アクノリッジ信号が前記時間内に返ってこない時に前記アクノリッジ信号を生成することを特徴とする半導体集積回路装置の検証方法。
【請求項７】
請求項３記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号に対してワンホットを規定するルールを設定し、前記パッチ回路により、前記機能ブロックから出力される信号がワンホットでない時に予め設計者が定義しておいたワンホットに変換することを特徴とする半導体集積回路装置の検証方法。
【請求項８】
請求項４記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号に対してワンホットを規定するルールを設定し、前記パッチ回路により、前記機能ブロックから出力される信号がワンホットでない時に予め設計者が定義しておいたワンホットに変換することを特徴とする半導体集積回路装置の検証方法。
【請求項９】
請求項７記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号がワンホットとなる場合の前記機能ブロックから出力される信号のロジックコーンに入力される信号表を作成し、前記機能ブロックから出力される信号がワンホットでない時に、前記機能ブロックから出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいて、前記機能ブロックからのワンホットでない出力信号を、ハミング距離が最も近い側の前記出力信号のワンホットに変換するように、前記パッチ回路を作成することを特徴とする半導体集積回路装置の検証方法。
【請求項１０】
請求項８記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号がワンホットとなる場合の前記機能ブロックから出力される信号のロジックコーンに入力される信号表を作成し、前記機能ブロックから出力される信号がワンホットでない時に、前記機能ブロックから出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいて、前記機能ブロックからのワンホットでない出力信号を、ハミング距離が最も近い側の前記出力信号のワンホットに変換するように、前記パッチ回路を作成することを特徴とする半導体集積回路装置の検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機能ブロックを搭載した半導体集積回路装置に対する機能検証方法に関するものである。
【背景技術】
【０００２】
複数の機能ブロックを搭載した半導体集積回路装置（以下、ＬＳＩと記述する）に対する従来の機能検証方法の１つ（例えば、非特許文献１を参照）として、マイクロプロセッサを６つのクラスタに分け、クラスタ毎に十分な検証を行った後に、それらのクラスタを接続してマイクロプロセッサ全体（１チップレベル）の検証を行っていた。これにより、内部回路の制御性、検証開始時期の前倒しができる。
【０００３】
また、ＬＳＩに対する従来の機能検証方法の他の１つ（例えば、非特許文献２を参照）として、ＬＳＩをタイマやＤＭＡ等の複数のユニットに分割して単体検証している。それらの各検証の際に、各ユニットの入出力信号に波形等のモニタを付加し、入出力信号に、設計者が意図していない波形が現れないかのチェックを行っている。
【０００４】
以上のような従来のＬＳＩの機能検証方法を以下に説明する。
図１３は従来のＬＳＩ全体の機能検証方法の流れを示すフローチャートである。図１３において、ステップ１は機能ブロックを搭載したＬＳＩの機能検証を開始するステップ、ステップ２はある機能ブロック１の出力信号に不具合が発覚したことを検知するステップ、ステップ６は機能ブロック１の不具合を修正できるまで待つステップ、ステップ２３は機能ブロック１を不具合が修正されたものに交換するステップ、ステップ８は機能ブロックを搭載したＬＳＩの機能検証が終了していない時はステップ２に戻るステップである。
【０００５】
このようにして、ＬＳＩに対して全体の機能検証を実行していた。
【非特許文献１】Ｂｏｂ  Ｂｅｎｔｌｅｙ：“Ｖａｌｉｄａｔｉｎｇ  ｔｈｅ  Ｉｎｔｅｌ  Ｐｅｎｔｉｕｍ（登録商標）４  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ”．ＤＡＣ  ２００１
【非特許文献２】Ｋｅｎ  Ａｌｂｉｎ：“Ｎｕｔｓ  ａｎｄ  Ｂｏｌｔｓ  ｏｆ  Ｃｏｒｅ  ａｎｄ  ＳｏＣ  Ｖｅｒｉｆｉｃａｔｉｏｎ”．ＤＡＣ  ２００１
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら上記のような従来のＬＳＩの機能検証方法では、ステップ６により、ＬＳＩに対する機能検証の際に機能ブロック１の不具合があった場合には、機能ブロック１の不具合が修正できるまでＬＳＩの機能検証が中断するため、ＬＳＩの機能検証期間が増大するという問題点を有していた。
【０００７】
本発明は、上記従来の問題点を解決するもので、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があった場合でも、その不具合を最終的に修正するまで待つことなく機能検証を続けることができ、半導体集積回路装置の機能検証期間の短縮化を実現することができる半導体集積回路装置の検証方法を提供する。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明の請求項１に記載の半導体集積回路装置の検証方法は、複数の機能ブロックを含む半導体集積回路装置の検証方法であって、前記半導体集積回路装置内の一機能ブロックの出力信号に不具合が発見された時、前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、前記パッチ回路を前記出力信号に挿入した前記機能ブロックの暫定修正回路を作成し、前記機能ブロック自体が修正されるまで、前記暫定修正回路を用いて前記半導体集積回路装置の検証を行う方法としたことを特徴とする。
【０００９】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合を暫定的に修正するためのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００１０】
また、本発明の請求項２に記載の半導体集積回路装置の検証方法は、複数の機能ブロックを含み、各機能ブロックの論理階層の上に枠のみのデバッグ用階層を予め付加し、前記デバッグ用階層を用いて前記各機能ブロック間が接続される半導体集積回路装置の検証方法であって、前記半導体集積回路装置内の一機能ブロックの出力信号に不具合が発見された時、前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、前記機能ブロック自体が修正されるまで、前記パッチ回路を前記デバッグ用階層に挿入して前記半導体集積回路装置の検証を行う方法としたことを特徴とする。
【００１１】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合を暫定的に修正するためのパッチ回路をデバッグ用階層に簡単に挿入して、デバッグ用階層のパッチ回路により機能検証を再開することができる。
【００１２】
また、本発明の請求項３に記載の半導体集積回路装置の検証方法は、複数の機能ブロックを含む半導体集積回路装置の検証方法であって、各機能ブロックの出力信号にその正しい動作を規定するルールを予め設定し、前記半導体集積回路装置内の一機能ブロックの出力信号に前記ルールに違反する不具合が発見された時、前記ルール違反毎に予め作成された前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を前記出力信号に挿入した前記機能ブロックの暫定修正回路を作成し、前記機能ブロック自体が修正されるまで、前記暫定修正回路を用いて前記半導体集積回路装置の検証を行う方法としたことを特徴とする。
【００１３】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、各機能ブロックの正しい動作を規定するルールに違反する不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００１４】
また、本発明の請求項４に記載の半導体集積回路装置の検証方法は、複数の機能ブロックを含み、各機能ブロックの論理階層の上に枠のみのデバッグ用階層を予め付加し、前記デバッグ用階層を用いて前記各機能ブロック間が接続される半導体集積回路装置の検証方法であって、各機能ブロックの出力信号にその正しい動作を規定するルールを予め設定し、前記半導体集積回路装置内の一機能ブロックの出力信号に前記ルールに違反する不具合が発見された時、前記ルール違反毎に予め作成された前記出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成し、前記機能ブロック自体が修正されるまで、前記パッチ回路を前記デバッグ用階層に挿入して前記半導体集積回路装置の検証を行う方法としたことを特徴とする。
【００１５】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、各機能ブロックの正しい動作を規定するルールに違反する不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路をデバッグ用階層に簡単に挿入して、デバッグ用階層のパッチ回路により機能検証を再開することができる。
【００１６】
また、本発明の請求項５に記載の半導体集積回路装置の検証方法は、請求項３記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力されるリクエスト信号に対して前記機能ブロックへ入力されるアクノリッジ信号が返ってくる時間を規定するルールを設定し、前記パッチ回路により、前記アクノリッジ信号が前記時間内に返ってこない時に前記アクノリッジ信号を生成する方法としたことを特徴とする。
【００１７】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号をリクエスト信号としてアクノリッジ信号が規定時間内に返ってこない不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００１８】
また、本発明の請求項６に記載の半導体集積回路装置の検証方法は、請求項４記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力されるリクエスト信号に対して前記機能ブロックへ入力されるアクノリッジ信号が返ってくる時間を規定するルールを設定し、前記パッチ回路により、前記アクノリッジ信号が前記時間内に返ってこない時に前記アクノリッジ信号を生成する方法としたことを特徴とする。
【００１９】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号をリクエスト信号としてアクノリッジ信号が規定時間内に返ってこない不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路をデバッグ用階層に簡単に挿入して、デバッグ用階層のパッチ回路により機能検証を再開することができる。
【００２０】
また、本発明の請求項７に記載の半導体集積回路装置の検証方法は、請求項３記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号に対してワンホットを規定するルールを設定し、前記パッチ回路により、前記機能ブロックから出力される信号がワンホットでない時に予め設計者が定義しておいたワンホットに変換する方法としたことを特徴とする。
【００２１】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号がワンホットでない不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００２２】
また、本発明の請求項８に記載の半導体集積回路装置の検証方法は、請求項４記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号に対してワンホットを規定するルールを設定し、前記パッチ回路により、前記機能ブロックから出力される信号がワンホットでない時に予め設計者が定義しておいたワンホットに変換する方法としたことを特徴とする。
【００２３】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号がワンホットでない不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路をデバッグ用階層に簡単に挿入して、デバッグ用階層のパッチ回路により機能検証を再開することができる。
【００２４】
また、本発明の請求項９に記載の半導体集積回路装置の検証方法は、請求項７記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号がワンホットとなる場合の前記機能ブロックから出力される信号のロジックコーンに入力される信号表を作成し、前記機能ブロックから出力される信号がワンホットでない時に、前記機能ブロックから出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいて、前記機能ブロックからのワンホットでない出力信号を、ハミング距離が最も近い側の前記出力信号のワンホットに変換するように、前記パッチ回路を作成する方法としたことを特徴とする。
【００２５】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号がワンホットである場合とワンホットでない場合とに、それぞれ作成されたロジックコーンに入力される出力信号表を比較した時の不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００２６】
また、本発明の請求項１０に記載の半導体集積回路装置の検証方法は、請求項８記載の半導体集積回路装置の検証方法であって、前記機能ブロックから出力される信号がワンホットとなる場合の前記機能ブロックから出力される信号のロジックコーンに入力される信号表を作成し、前記機能ブロックから出力される信号がワンホットでない時に、前記機能ブロックから出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいて、前記機能ブロックからのワンホットでない出力信号を、ハミング距離が最も近い側の前記出力信号のワンホットに変換するように、前記パッチ回路を作成する方法としたことを特徴とする。
【００２７】
以上により、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号がワンホットである場合とワンホットでない場合とに、それぞれ作成されたロジックコーンに入力される出力信号表を比較した時の不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらパッチ回路のデバッグ用階層への挿入を自動的に行い、デバッグ用階層のパッチ回路により機能検証を再開することができる。
【発明の効果】
【００２８】
以上のように本発明によれば、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、その不具合を暫定的に修正するためのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００２９】
また、枠のみのデバッグ階層を各機能ブロックの論理階層の上に予め用意しておき、各機能ブロックの不具合を暫定的に修正するためのパッチ回路を、半導体集積回路装置のトップ階層を変更することなくデバッグ階層へ挿入できるため、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があっても、パッチ回路をデバッグ用階層に簡単に挿入して、デバッグ用階層のパッチ回路により機能検証を再開することができる。
【００３０】
また、各機能ブロックの出力信号毎に、それぞれの正しい動作を規定するルールを定義して、各ルールに基づくパッチ回路を予め用意しておくことにより、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、各機能ブロックの正しい動作を規定するルールに違反する不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００３１】
また、ワンホットルールのパッチ回路の自動生成を可能にするため、半導体集積回路装置に対する機能検証の際に、機能ブロックの出力信号毎に、それらの各出力信号がワンホットでない不具合の発見と、それらの各不具合を暫定的に修正するためのパッチ回路の作成とを自動的に行い、それらのパッチ回路を用いて暫定修正回路を作成することにより、不具合に対する機能ブロックの最終的な修正まで機能検証を中断することなく、暫定修正回路により機能検証を再開することができる。
【００３２】
以上により、半導体集積回路装置に対する機能検証の際に機能ブロックの不具合があった場合でも、その不具合を最終的に修正するまで待つことなく機能検証を続けることができ、半導体集積回路装置の機能検証期間の短縮化を実現することができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態を示す半導体集積回路装置の検証方法について、図面を参照しながら具体的に説明する。
（実施の形態１）
本発明の実施の形態１の半導体集積回路装置の検証方法を説明する。
【００３４】
図１は本実施の形態１のＬＳＩの検証方法を示すフローチャートである。図１において、ステップ３は出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成するステップ、ステップ４はパッチ回路を出力信号に挿入した機能ブロック１の暫定修正回路を作成するステップ、ステップ５は機能ブロック１の代わりに暫定修正回路を用いてＬＳＩの機能検証を続行するステップ、ステップ７は暫定修正回路と修正された機能ブロック１を交換するステップである。
【００３５】
以上のようなステップを有する実施の形態１のＬＳＩの検証方法について、その動作を以下に説明する。
ステップ２で機能ブロック１の出力信号に不具合が発覚したことを検知したら、ステップ３にて出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成する。これは機能ブロック１自体を根本的に修正するのではなく、機能ブロック１の入出力部分に挿入付加することにより、それらの不具合を局所的かつ暫定的に修正可能で作成が短時間で済むパッチ回路を作成するのみであるため、修正に多くの時間が必要な機能ブロック１自体を根本的に修正する場合と比べ、短時間で早く修正することができる。
【００３６】
次にステップ４にて、ステップ３で作成したパッチ回路を機能ブロック１の出力信号に挿入して機能ブロック１の暫定修正回路を作成する。これによって機能ブロック１の出力信号の不具合を暫定的に修正でき、ステップ５にて機能ブロック１の代わりに暫定修正回路を用いることによりＬＳＩの機能検証を続行することができる。
【００３７】
以上のように本実施の形態１によれば、ステップ３にて出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を作成するが、これは機能ブロック１自体を根本的に修正する場合と比べ、パッチ回路のほうが早く作成することができ、ステップ４にて、ステップ３で作成したパッチ回路を機能ブロック１の出力信号に挿入し、ステップ５にてＬＳＩの検証を続行できるため、ＬＳＩの機能検証期間を短縮することができる。
【００３８】
図２は本実施の形態１のＬＳＩの検証方法を示す模式図であり、１はＬＳＩ、２、３、４、５はそれぞれ機能ブロックであるＣＰＵ、ＤＳＰ、ＤＭＡ、Ｃｕｓｔｏｍ・Ｃｉｒｃｕｉｔ、６はパッチ回路挿入可能箇所である。図２において、ステップ３で作成したパッチ回路を挿入する箇所は、パッチ回路挿入可能箇所６である。
（実施の形態２）
本発明の実施の形態２の半導体集積回路装置の検証方法を説明する。
【００３９】
図３は本実施の形態２のＬＳＩの検証方法を示すフローチャートである。図３において、ステップ９は各機能ブロックの論理階層の上に、枠のみのデバッグ用階層を予め付加するステップ、ステップ１０はデバッグ用階層を用いて各機能ブロック間の接続を行うことでＬＳＩを構成するステップ、ステップ１１は出力信号の不具合を局所的かつ暫定的に修正するパッチ回路をデバッグ用階層に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００４０】
以上のようなステップを有する実施の形態２のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態１のＬＳＩの検証方法と異なる点は、ステップ１でＬＳＩの機能検証を開始する前に、ステップ９およびステップ１０で、各機能ブロックの論理階層の上に、枠のみのデバッグ用階層を予め付加し、デバッグ用階層を用いて各機能ブロック間の接続を行うことでＬＳＩを構成する。そして、ステップ１１でパッチ回路をデバッグ用階層に挿入する点である。
【００４１】
以上のように本実施の形態２によれば、予め設けておいたデバッグ用階層にパッチ階層を挿入することができる。これにより、パッチ回路を挿入する際にＬＳＩの最上位階層を変更する必要がなくなるため、パッチ回路の挿入を実施の形態１よりも短期間で行うことができる。
【００４２】
図４は本実施の形態２のＬＳＩの検証方法を示す模式図であり、７はそれぞれ機能ブロックであるＣＰＵ２、ＤＳＰ３、ＤＭＡ４、Ｃｕｓｔｏｍ・Ｃｉｒｃｕｉｔ５、およびパッチ回路挿入可能箇所６を含むデバッグ用階層である。
（実施の形態３）
本発明の実施の形態３の半導体集積回路装置の検証方法を説明する。
【００４３】
図５は本実施の形態３のＬＳＩの検証方法を示すフローチャートである。図５において、ステップ１３は各機能ブロックの出力信号の正しい動作を規定するルールを予め設定するステップ、ステップ１４はルール違反毎に予め作成された出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を出力信号に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００４４】
以上のようなステップを有する実施の形態３のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態１のＬＳＩの検証方法と異なる点は、ステップ１でＬＳＩの機能検証を開始する前に、ステップ１３にて各機能ブロックの出力信号の正しい動作を規定するルールを予め設定し、ステップ１４にてルール違反毎に予め作成されたパッチ回路を出力信号に挿入する点である。
【００４５】
以上のように本実施の形態３によれば、予めルールを設けて、ルール違反毎にパッチ回路を予め作成しておくことで、出力信号の不具合の発見とパッチ回路の作成を自動でできるため、ＬＳＩの検証期間を短縮することができる。
（実施の形態４）
本発明の実施の形態４の半導体集積回路装置の検証方法を説明する。
【００４６】
図６は本実施の形態４のＬＳＩの検証方法を示すフローチャートである。図６において、ステップ１５はルール違反毎に予め作成された出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を、デバッグ用階層に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００４７】
以上のようなステップを有する実施の形態４のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態３のＬＳＩの検証方法と異なる点は、ステップ１でＬＳＩの機能検証を開始する前に、ステップ９およびステップ１０で、各機能ブロックの論理階層の上に、枠のみのデバッグ用階層を予め付加し、デバッグ用階層を用いて各機能ブロック間の接続を行うことでＬＳＩを構成する。そして、ステップ１５でパッチ回路をデバッグ用階層に挿入する点である。
【００４８】
以上のように本実施の形態４によれば、予め設けておいたデバッグ用階層にパッチ階層を挿入することができる。これにより、パッチ回路を挿入する際にＬＳＩの最上位階層を変更する必要がなくなるため、パッチ回路の挿入を短期間で行うことができる。また、予めルールを設けて、ルール違反毎にパッチ回路を予め作成しておくことで、パッチ回路の挿入を短期間で行うことができる。
（実施の形態５）
本発明の実施の形態５の半導体集積回路装置の検証方法を説明する。
【００４９】
図７は本実施の形態５のＬＳＩの検証方法を示すフローチャートである。図７において、ステップ１６は各機能ブロックから出力されるリクエスト信号に対して各機能ブロックへ入力されるアクノリッジ信号が返ってくる時間をルールとして予め設定するステップ、ステップ１７は機能ブロックからリクエスト信号が出力された後、指定時間以内に前記機能ブロックへアクノリッジ信号が返ってこない時に、アクノリッジ信号を生成するパッチ回路を入出力信号に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００５０】
以上のようなステップを有する実施の形態５のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態３のＬＳＩの検証方法と異なる点は、各機能ブロックの出力信号の正しい動作を規定するルールを具体的にし、そのルールは、各機能ブロックから出力されるリクエスト信号に対して、各機能ブロックへ入力されるアクノリッジ信号が返ってくる時間としている点である。
【００５１】
そして、ルール違反毎に予め作成された出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を具体的にし、そのパッチ回路は、機能ブロックからリクエスト信号が出力された後に、指定時間以内に前記機能ブロックへアクノリッジ信号が返ってこないような不具合が発生した時に、アクノリッジ信号を生成するパッチ回路としている点である。
【００５２】
図１４は本実施の形態５のＬＳＩの検証方法によるパッチ回路例を示すブロック回路図であり、１０は機能ブロック、１１はパッチ回路である。パッチ回路１１において、カウンタは、ルールとして予め設定されている機能ブロック１０から出力されるリクエスト信号に対して、機能ブロック１０へ入力されるアクノリッジ信号が返ってくる時間をカウントする。カウント開始は、リクエスト信号がアクティブになったときである。アクノリッジ信号がアクティブになったときに、カウンタはリセットされ、カウントを停止する。
【００５３】
カウンタのオーバーフロー信号とアクノリッジ信号の論理和をとった信号を、機能ブロック１０のアクノリッジ信号に入力する。このようなパッチ回路１１は、ルールとして予め設定されている機能ブロック１０から出力されるリクエスト信号に対して、機能ブロック１０へ入力されるアクノリッジ信号が返ってくる時間から簡単に生成することができる。
【００５４】
このパッチ回路１１によって、機能ブロック１０からリクエスト信号が発生した後に、ルールとして予め設定されている機能ブロック１０から出力されるリクエスト信号に対して、機能ブロック１０へ入力されるアクノリッジ信号が返ってくる時間が過ぎてもアクノリッジ信号が返ってこない時に、カウンタがオーバーフローを起こし、オーバーフロー信号をアクノリッジ信号として、機能ブロック１０に返すことができる。
【００５５】
以上のように本実施の形態５によれば、予め、各機能ブロックから出力されるリクエスト信号に対して各機能ブロックへ入力されるアクノリッジ信号が返ってくる時間をルールとして設けておき、機能ブロックからリクエスト信号が出力された後に、指定時間以内に前記機能ブロックへアクノリッジ信号が返ってこない時に、アクノリッジ信号を生成するパッチ回路を作成しておくことで、リクエスト信号に対してアクノリッジ信号が指定時間以内に返ってこない不具合を、局所的かつ暫定的に修正するパッチ回路の挿入を短期間で行うことができる。
（実施の形態６）
本発明の実施の形態６の半導体集積回路装置の検証方法を説明する。
【００５６】
図８は本実施の形態６のＬＳＩの検証方法を示すフローチャートである。図８において、ステップ１８は機能ブロックからリクエスト信号が出力された後に、指定時間以内に前記機能ブロックへアクノリッジ信号が返ってこない時に、アクノリッジ信号を生成するパッチ回路を、デバッグ用階層に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００５７】
以上のようなステップを有する実施の形態６のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態４のＬＳＩの検証方法と異なる点は、ステップ１でＬＳＩの機能検証を開始する前に、ステップ９およびステップ１０で、各機能ブロックの論理階層の上に、枠のみのデバッグ用階層を予め付加し、デバッグ用階層を用いて各機能ブロック間の接続を行うことでＬＳＩを構成する。そして、ステップ１８でパッチ回路をデバッグ用階層に挿入する点である。
【００５８】
以上のように本実施の形態６によれば、予め設けておいたデバッグ用階層にパッチ回路を挿入することができる。これにより、実施の形態４の効果に追加して、パッチ回路を挿入する際に、ＬＳＩの最上位階層を変更する必要がなくなるため、パッチ回路の挿入を短期間で行うことができる。
（実施の形態７）
本発明の実施の形態７の半導体集積回路装置の検証方法を説明する。
【００５９】
図９は本実施の形態７のＬＳＩの検証方法を示すフローチャートである。図９において、ステップ１９はある機能ブロック１から出力される信号がワンホットでない時に、予め設計者が定義しておいた修正方法に従ってワンホットに修正するパッチ回路を、出力信号に挿入した機能ブロック１の暫定修正回路を作成するステップ、ステップ２０は各機能ブロックから出力される信号に対してワンホットをルールとして予め設定するステップである。
【００６０】
以上のようなステップを有する実施の形態７のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態３のＬＳＩの検証方法と異なる点は、各機能ブロックの出力信号の正しい動作を規定するルールを具体的にし、そのルールは、各機能ブロックから出力される信号に対してワンホットを予め定めるとしている点である。
【００６１】
そして、ルール違反毎に予め作成された出力信号の不具合を局所的かつ暫定的に修正するパッチ回路を具体的にし、そのパッチ回路は、機能ブロックから出力される信号がワンホットでない時に、予め設計者が定義しておいた修正方法に従ってワンホットに修正するパッチ回路としている点である。
【００６２】
図１５は本実施の形態７のＬＳＩの検証方法によるパッチ回路例を示すブロック回路図であり、２０は機能ブロック、１２はパッチ回路である。パッチ回路１２は、機能ブロック２０に対して他の機能ブロック（図示せず）から出力される信号ａ、ｂがワンホットでない｛ａ，ｂ｝＝｛１，１｝時に、予め設計者が定義しておく修正方法として、ワンホット｛ａ，ｂ｝＝｛１，０｝にするという場合の回路を示している。このパッチ回路１２は、機能ブロック２０に対して他の機能ブロックから出力される信号ａ、ｂがワンホットでない時に、｛ａ，ｂ｝＝｛１，０｝にするというルールから簡単に生成することができる。
【００６３】
以上により、機能ブロック２０に対して他の機能ブロックから出力される信号ａ、ｂにおいて、｛ａ，ｂ｝＝｛１，１｝が機能ブロック２０に入力されようとした時に、パッチ回路１２によって、｛ａ，ｂ｝＝｛１，０｝に変換されるため、機能ブロック２０が誤動作するのを防ぐことができる。
【００６４】
以上のように本実施の形態７によれば、予め各機能ブロックの出力信号の正しい動作を規定するルールを具体的にし、そのルールとして、各機能ブロックから出力される信号に対してワンホットを定め、機能ブロックから出力される信号がワンホットでない時に、予め設計者が定義しておいた修正方法に従ってワンホットに修正するパッチ回路を作成しておくことで、機能ブロックの出力信号に発生したワンホット違反の不具合を、局所的かつ暫定的に修正するパッチ回路の挿入を短期間で行うことができる。
（実施の形態８）
本発明の実施の形態８の半導体集積回路装置の検証方法を説明する。
【００６５】
図１０は本実施の形態８のＬＳＩの検証方法を示すフローチャートである。図１０において、ステップ２４は、ある機能ブロック１から出力される信号がワンホットでない時に、予め設計者が定義しておいた修正方法に従ってワンホットに修正するパッチ回路をデバッグ用階層に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００６６】
以上のようなステップを有する実施の形態８のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態７のＬＳＩの検証方法と異なる点は、ステップ１でＬＳＩの機能検証を開始する前に、ステップ９およびステップ１０で、各機能ブロックの論理階層の上に、枠のみのデバッグ用階層を予め付加し、デバッグ用階層を用いて各機能ブロック間の接続を行うことでＬＳＩを構成する。そして、ステップ２４でパッチ回路をデバッグ用階層に挿入する点である。
【００６７】
以上のように本実施の形態８によれば、予め設けておいたデバッグ用階層にパッチ回路を挿入することができる。これにより、実施の形態７の効果に追加して、パッチ回路を挿入する際に、ＬＳＩの最上位階層を変更する必要がなくなるため、パッチ回路の挿入を短期間で行うことができる。
（実施の形態９）
本発明の実施の形態９の半導体集積回路装置の検証方法を説明する。
【００６８】
図１１は本実施の形態９のＬＳＩの検証方法を示すフローチャートである。図１１において、ステップ２１は、ある機能ブロック１から出力される信号がワンホットとなる場合に、その場合の機能ブロック１から出力される信号のロジックコーンに入力される信号表を作成しておき、機能ブロック１から出力される信号がワンホットでない時に、前記機能ブロック１から出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいてハミング距離が最も近い信号に変換するパッチ回路を作成して入出力信号に挿入し、このパッチ回路を挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００６９】
以上のようなステップを有する実施の形態９のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態７のＬＳＩの検証方法と異なる点は、パッチ回路を予め設計者が定義しておいた修正方法に従ってワンホットに修正するものではなく、このパッチ回路は、ある機能ブロック１から出力される信号がワンホットとなる場合に、機能ブロック１から出力される信号のロジックコーンに入力される信号表を作成しておき、機能ブロック１から出力される信号がワンホットでない時に、前記機能ブロック１から出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいてハミング距離が最も近い信号に変換する回路であるという点である。
【００７０】
図１６は本実施の形態９のＬＳＩの検証方法を示す模式図であり、２１、２２は機能ブロック、３０〜３２はフリップフロップである。ここで、フリップフロップ３０〜３２は信号ａ，ｂのロジックコーンの入力信号であり、フリップフロップ３０〜３２が保持している信号値をそれぞれｌｃ０，ｌｃ１，ｌｃ２と定義する。
【００７１】
図１７は本実施の形態９のＬＳＩの検証方法によるパッチ回路の生成方法の説明図である。ここでは、｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛０，０，０｝の時は｛ａ，ｂ｝＝｛０，１｝、｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛１，１，１｝の時は｛ａ，ｂ｝＝｛１，０｝となるが、これら以外の｛ｌｃ０，ｌｃ１，ｌｃ２｝の組み合わせでは、｛ａ，ｂ｝＝｛１，１｝になってしまい、ワンホットでなくなるという不具合が発生している場合を想定している。
【００７２】
図１７に示す｛ｌｃ０，ｌｃ１，ｌｃ２｝がどの組み合わせの時に｛ａ，ｂ｝が｛１，１｝になってワンホットでなくなるかを調べることは、最近実用化されている静的機能検証技術を用いて簡単に行うことができる。この不具合を修正するために、｛ａ，ｂ｝＝｛１，１｝で不具合が発生している時の｛ｌｃ０，ｌｃ１，ｌｃ２｝と｛ａ，ｂ｝＝｛０，１｝で不具合が発生していない時の｛ｌｃ０，ｌｃ１，ｌｃ２｝とのハミング距離、および、｛ａ，ｂ｝＝｛１，１｝で不具合が発生している時の｛ｌｃ０，ｌｃ１，ｌｃ２｝と｛ａ，ｂ｝＝｛１，０｝で不具合が発生していない時の｛ｌｃ０，ｌｃ１，ｌｃ２｝とのハミング距離をそれぞれ算出し、不具合が発生している時の｛ａ，ｂ｝＝｛１，１｝を、不具合が発生していない時でハミング距離の近い側の｛ｌｃ０，ｌｃ１，ｌｃ２｝に対応する｛ａ，ｂ｝と同じ値に修正する。
【００７３】
具体的には、例えば、不具合が発生している時で｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛０，０，１｝の場合は、不具合が発生していない時で｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛０，０，０｝とのハミング距離は１であり、不具合が発生していない時で｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛１，１，１｝のハミング距離は２である。したがって、不具合が発生している時で｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛０，０，１｝の場合は、その補正後の｛ａ，ｂ｝の各値を、補正前の｛ａ，ｂ｝＝｛１，１｝から、不具合が発生していない時でハミング距離の近い（ハミング距離＝１）側である｛ｌｃ０，ｌｃ１，ｌｃ２｝＝｛０，０，０｝のときの｛ａ，ｂ｝＝｛０，１｝と同じ｛ａ，ｂ｝の各値に修正する。
【００７４】
図１８は本実施の形態９のＬＳＩの検証方法によるパッチ回路例を示すブロック回路図であり、１３は組み合わせ回路からなるパッチ回路である。パッチ回路１３は図１７記載の表から簡単に作ることができる。
【００７５】
以上のように本実施の形態９によれば、パッチ回路を予め設計者が定義しておく必要がないため、実施の形態７のＬＳＩの検証方法の効果より、さらに短期間で、出力信号に、ワンホット違反の不具合を局所的かつ暫定的に修正するパッチ回路の挿入を行うことができる。
（実施の形態１０）
本発明の実施の形態１０の半導体集積回路装置の検証方法を説明する。
【００７６】
図１２は本実施の形態１０のＬＳＩの検証方法を示すフローチャートである。図１２において、ステップ２２は、ある機能ブロック１から出力される信号がワンホットとなる場合に、その場合の機能ブロック１から出力される信号のロジックコーンに入力される信号表を作成しておき、機能ブロック１から出力される信号がワンホットでない時に、前記機能ブロック１から出力される信号のロジックコーンに入力される信号と前記信号表とを比較して、その比較結果に基づいてハミング距離が最も近い信号に変換するパッチ回路を作成して、そのパッチ回路をデバッグ用階層に挿入した機能ブロック１の暫定修正回路を作成するステップである。
【００７７】
以上のようなステップを有する実施の形態１０のＬＳＩの検証方法について、その動作を以下に説明する。
実施の形態９のＬＳＩの検証方法と異なる点は、ステップ１でＬＳＩの機能検証を開始する前に、ステップ９およびステップ１０で、各機能ブロックの論理階層の上に、枠のみのデバッグ用階層を予め付加し、デバッグ用階層を用いて各機能ブロック間の接続を行うことでＬＳＩを構成する。そして、ステップ２２で作成したパッチ回路をデバッグ用階層に挿入する点である。
【００７８】
以上のように本実施の形態１０によれば、予め設けておいたデバッグ用階層にパッチ回路を挿入することができる。これにより、実施の形態９の効果に追加して、パッチ回路を挿入する際にＬＳＩの最上位階層を変更する必要がなくなるため、パッチ回路の挿入を短期間で行うことができる。
【産業上の利用可能性】
【００７９】
本発明は、機能ブロックの機能検証期間を短縮化することができる半導体集積回路装置の検証方法であり、複数の機能ブロックを搭載した半導体集積回路装置等に適用できる。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態１のＬＳＩの検証方法を示すフローチャート
【図２】同実施の形態１のＬＳＩの検証方法を示す模式図
【図３】本発明の実施の形態２のＬＳＩの検証方法を示すフローチャート
【図４】同実施の形態２のＬＳＩの検証方法を示す模式図
【図５】本発明の実施の形態３のＬＳＩの検証方法を示すフローチャート
【図６】本発明の実施の形態４のＬＳＩの検証方法を示すフローチャート
【図７】本発明の実施の形態５のＬＳＩの検証方法を示すフローチャート
【図８】本発明の実施の形態６のＬＳＩの検証方法を示すフローチャート
【図９】本発明の実施の形態７のＬＳＩの検証方法を示すフローチャート
【図１０】本発明の実施の形態８のＬＳＩの検証方法を示すフローチャート
【図１１】本発明の実施の形態９のＬＳＩの検証方法を示すフローチャート
【図１２】本発明の実施の形態１０のＬＳＩの検証方法を示すフローチャート
【図１３】従来のＬＳＩの検証方法を示すフローチャート
【図１４】本発明の実施の形態５のＬＳＩの検証方法によるパッチ回路例を示すブロック回路図
【図１５】本発明の実施の形態７のＬＳＩの検証方法によるパッチ回路例を示すブロック回路図
【図１６】本発明の実施の形態９のＬＳＩの検証方法を示す模式図
【図１７】同実施の形態９のＬＳＩの検証方法によるパッチ回路の生成方法の説明図
【図１８】同実施の形態９のＬＳＩの検証方法によるパッチ回路例を示すブロック回路図
【符号の説明】
【００８１】
１    半導体集積回路装置（ＬＳＩ）
２    ＣＰＵ
３    ＤＳＰ
４    ＤＭＡ
５    Ｃｕｓｔｏｍ・Ｃｉｒｃｕｉｔ
６    パッチ回路挿入可能箇所
７    デバッグ用階層
１０、２０、２１、２２    機能ブロック
１１、１２、１３    パッチ回路
３０〜３２    フリップフロップ
【図１】
2005071061.tif 000003
【図２】
2005071061.tif 000004
【図３】
2005071061.tif 000005
【図４】
2005071061.tif 000006
【図５】
2005071061.tif 000007
【図６】
2005071061.tif 000008
【図７】
2005071061.tif 000009
【図８】
2005071061.tif 000010
【図９】
2005071061.tif 000011
【図１０】
2005071061.tif 000012
【図１１】
2005071061.tif 000013
【図１２】
2005071061.tif 000014
【図１３】
2005071061.tif 000015
【図１４】
2005071061.tif 000016
【図１５】
2005071061.tif 000017
【図１６】
2005071061.tif 000018
【図１７】
2005071061.tif 000019
【図１８】
2005071061.tif 000020