(57)【要約】【課題】多入力セルにおいて同時スイッチングが発生している可能性の有無を高速に判定し、同時スイッチングを考慮した遅延要因の解析を高精度かつ高速に行なえるようにする。【解決手段】遅延試験時に信号が伝播した活性化パスが複数存在する場合、抽出部１１により２以上の活性化パスが入力されている多入力セルが抽出される。抽出された多入力セルについて、判定部１２により、２以上の活性化パスにおける各信号の多入力セルへの入力タイミングに基づき、多入力セルにおいて同時スイッチングが発生している可能性の有無が判定される。そして、解析部１３により、判定部１２による判定結果および遅延試験の結果に基づき、同時スイッチングの発生状況が遅延要因の一つとして解析される。【選択図】図１
2011253920.tif 000002
【特許請求の範囲】
【請求項１】
実チップに対する遅延試験の結果に基づき遅延要因を解析するコンピュータに、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出し、
抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定し、
判定した結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する、
処理を実行させる遅延解析プログラム。
【請求項２】
前記多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、前記多入力セルに入力する前記２以上の活性化パスを対象パスとして特定し、前記２以上の対象パスに、前記遅延試験で取得された遅延時間の測定値を割り当て、前記２以上の対象パスに関する情報と前記遅延時間の測定値とを、前記多入力セルでの同時スイッチングの発生可能性に関する情報とともに、前記判定結果として通知する処理を、前記コンピュータに実行させる、請求項１記載の遅延解析プログラム。
【請求項３】
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測範囲を、前記入力タイミングとして算出する処理を、前記コンピュータに実行させ、
前記２以上の活性化パスについてそれぞれ算出された２以上の予測範囲のうちの最大の予測範囲の下限値と前記最大の予測範囲以外の各予測範囲の上限値とを比較して、前記最大の予測範囲の下限値との差が所定値以内の上限値をもつ予測範囲が存在するか否かを判定し、前記所定値以内の上限値をもつ予測範囲が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測範囲の活性化パスと、前記所定値以内の上限値をもつ予測範囲の活性化パスとを前記対象パスとして特定する処理を、前記コンピュータに実行させる、請求項２記載の遅延解析プログラム。
【請求項４】
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第２多入力セルが存在するか否かを判定し、前記第２多入力セルが存在する場合、予め保存された前記第２多入力セルの特性に基づき、前記活性化パスについて算出された前記予測範囲を修正する処理を、前記コンピュータに実行させる、請求項３記載の遅延解析プログラム。
【請求項５】
前記２以上の対象パスを含む複数の解析対象パスと、前記複数の解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報と、各解析対象パスに割り当てられた前記遅延時間の測定値と、各解析対象パスについて予め得られた遅延時間の予測値とに基づいて、同時スイッチングの発生状況を前記遅延要因の一つとして解析する処理を、前記コンピュータに実行させる、請求項３または請求項４に記載の遅延解析プログラム。
【請求項６】
実チップに対する遅延試験の結果に基づき遅延要因を解析する遅延解析装置であって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する抽出部と、
前記抽出部によって抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定部と、
前記判定部による判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析部とを有する、遅延解析装置。
【請求項７】
実チップに対する遅延試験の結果に基づき遅延要因をコンピュータにより解析する遅延解析方法であって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定ステップと、
前記判定ステップにおける判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析ステップとを含む、遅延解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、遅延解析プログラム，遅延解析装置および遅延解析方法に関する。
【背景技術】
【０００２】
近年、チップ、例えばＬＳＩ（Large Scale Integration）等の集積回路を設計製造する際には、プロセスの微細化に伴って、実際に製造された実チップが、設計段階での基準性能値つまりスペックを満たせないケースが増加している。つまり、設計段階でシミュレーションツール等によって算出された、設計対象のチップ中のパス遅延の予測値と、実チップにおいて実際に得られるパス遅延値（真値）とに「ずれ」が生じ、実チップが設計段階でのスペックを満たせなくなる場合が多々生じている。
【０００３】
このため、チップの設計製造に際して、実チップに対するディレイテスト（遅延試験）が必要不可欠になっている。図１６は、ディレイテストを含む一般的なチップの設計製造の手順を概略的に説明するためのフローチャートである。この図１６に示すように、設計対象チップの設計（ステップＳ１）が行なわれると、設計されたチップの試作チップつまり実チップの作成（ステップＳ２）が行なわれる。そして、実チップに対するディレイテスト（ステップＳ３）が行なわれ、そのディレイテストの結果が所定スペックを満たしているか否かが判定される。
【０００４】
ディレイテストの結果が所定スペックを満たしている場合（ステップＳ３のＹＥＳルート）、ステップＳ１での設計結果に基づく実チップの生産（ステップＳ４）が開始される。一方、ディレイテストの結果が所定スペックを満たしていない場合（ステップＳ３のＮＯルート）、ディレイテストの結果に基づいて故障解析つまり遅延要因の解析（ステップＳ５）が行なわれる。そして、ステップＳ１に戻り、ステップＳ５での解析結果に従って設計対象チップの設計が再度行なわれる。
【０００５】
ここで、ディレイテストは、実チップがどの程度のクロック周波数またはクロック周期で動作するかを測定して確認するもので、一回のディレイテストでは、以下のような処理が行なわれる。なお、図１７は、一般的なディレイテストを説明すべく試験対象の実チップ上の回路構成の例を示す図である。この図１７において、１０１は実チップ上の入力側レジスタであるフリップフロップ（ＦＦ）、１０２は同チップ上の出力側レジスタであるフリップフロップ（ＦＦ）であり、これらのＦＦ１０１とＦＦ１０２との間に、各種ゲートを含む組み合わせ回路が配置されている。この組み合わせ回路の接続関係は、設計対象回路のネットリストに基づいて特定される。
【０００６】
まず、２つのテストベクトルが用意され、この２つのテストベクトルの入力に基づく信号が、実チップの入力側ＦＦ１０１から出力側ＦＦ１０２へ伝播される。１つ目のテストベクトルが入力された後、所定時間間隔をあけた２回のクロックを発することにより、２つ目のテストベクトルが実チップの入力側ＦＦ１０１に入力され、出力側ＦＦ１０２でキャプチャされる。そして、出力側ＦＦ１０２における値と、上記２つのテストベクトルを入力した際の出力側ＦＦ１０２で得られるべき期待値（予測値）とが比較され、これらの値の一致／不一致が判定される。
【０００７】
一致した場合には、上記所定時間間隔を一定量例えば２０ＭＨｚずつ小さくして、上記２つのテストベクトルが再度入力され、出力側ＦＦ１０２での値と期待値との一致／不一致が判定される。以上の処理が、出力側ＦＦ１０２での値と期待値とが不一致と判定されるまで繰り返し実行され、不一致と判定される直前の時間間隔（周期）が、ディレイテストの結果、つまり今回のディレイテストでの遅延時間の測定値として測定される。
【０００８】
このようにして得られた測定値が所定スペックを満たすか否かが判断され、所定スペックを満たす、つまり試作された実チップが目標とするクロック周期で正常に動作すると判断されれば、上述のように、実チップの生産（ステップＳ４）が開始される。一方、上記測定値が所定スペックを満たしていないと判断されれば、上述のように、ディレイテストの結果に基づいて遅延要因の解析（ステップＳ５）および再設計（ステップＳ１）が行なわれる。
【０００９】
ステップＳ５では、ディレイテストで得られた遅延時間の測定値と、そのディレイテストに際し上記２つのテストベクトルの入力によって信号が伝播したパス、つまり活性化したパスとが参照される。そして、これらの測定値および活性化したパスに基づいて遅延要因の解析が行なわれる。以下では、「活性化したパス」のことを「活性化パス」という。この活性化パスは、設計対象回路のネットリストと、ディレイテストで入力される２つのテストベクトルの値とに基づいて算出され特定される。なお、図１７において、活性化パスは太線によって示されている。
【００１０】
また、ステップＳ５での故障解析手法としては、例えば、スピードパス解析と呼ばれる手法が用いられる。このスピードパス解析では、ディレイテスト時の活性化パスの数が１本である場合、ディレイテストで得られた遅延時間の測定値が、その１本の活性化パスに割り当てられて解析が行なわれる。また、ディレイテスト時の活性化パスの数が２以上である場合、つまり、ある一の出力側ＦＦに、２以上の活性化パスが多入力セルを介して繋がっている場合、２以上の活性化パスが１本に絞り込まれる。この絞込みは、例えば、２以上の活性化パスのうち、入力側ＦＦから多入力セルまでの遅延時間の最も遅いものを選択することによって行なわれる。そして、ディレイテストで得られた遅延時間の測定値が、絞り込まれた１本の活性化パスに割り当てられて解析が行なわれる。
【００１１】
ところで、上述したパス遅延の予測値と実チップで得られるパス遅延値（真値）との間に生じる「ずれ」は、今まで簡略的にしかモデル化されていなかった現象が、プロセスの微細化に伴って顕著に現れるようになったために生じたのではないかと考えられている。その「ずれ」の要因の一つとして、多入力セルにおける同時スイッチング〔ＭＩＳ（Multiple Input Switching）〕と呼ばれる現象が注目されている。
【００１２】
この同時スイッチングは、例えばＮＡＮＤやＮＯＲといった多入力セルに対し複数の信号が同時またはほぼ同時に入力した際に、その入力に応じた多入力セルからの出力の遅延時間が、想定値よりも遅くなったり早くなったりする現象である。この同時スイッチングについて、２入力ＮＡＮＤゲートを例に、図１８（Ａ）〜図１８（Ｄ）を参照しながら説明する。
【００１３】
図１８（Ａ）に示すＮＡＮＤゲートでは、０から１へ遷移する二つの入力信号がそれぞれタイミングＡA，ＡBで入力され、これらの入力信号に応じ、１から０へ遷移する出力信号がタイミングＡOUTで出力されている。図１８（Ｂ）は、図１８（Ａ）に示す信号遷移が生じる際の、二つの入力信号の入力時間差ＳAB（＝ＡA−ＡB）とＮＡＮＤゲートからの出力の遅延時間“delay”との関係を示すグラフである。この図１８（Ｂ）に示すごとく、ＮＡＮＤゲートにおいて、二つの入力信号がほぼ同時に入力されて出力信号が１から０に立ち下がる場合、出力遅延時間“delay”が、想定値ＤAまたはＤBよりも最大で例えば１６％程度増加して、遅くなることが知られている。
【００１４】
図１８（Ｃ）に示すＮＡＮＤゲートでは、１から０へ遷移する二つの入力信号がそれぞれタイミングＡA，ＡBで入力され、これらの入力信号に応じ、０から１へ遷移する出力信号がタイミングＡOUTで出力されている。図１８（Ｄ）は、ＮＡＮＤゲートにおいて図１８（Ｃ）に示す信号遷移が生じる際の、入力時間差ＳABと出力遅延時間“delay”との関係を示すグラフである。この図１８（Ｄ）に示すごとく、ＮＡＮＤゲートにおいて、二つの入力信号がほぼ同時に入力されて出力信号が０から１に立ち上がる場合、出力遅延時間“delay”が、想定値ＤAまたはＤBよりも例えば３４％程度減少して、早くなることが知られている。
【００１５】
ここで、想定値ＤAは、一方のパス（Ａ側）の入力タイミングＡAが他方のパス（Ｂ側）の入力タイミングＡBよりも十分に遅い領域、つまり一方の入力パスの遅延が支配的な領域（A dominant）における出力遅延時間“delay”の値である。また、想定値ＤBは、他方のパスの入力タイミングＡBが一方のパスの入力タイミングＡAよりも十分に遅い領域、つまり他方の入力パスの遅延が支配的な領域（B dominant）における出力遅延時間“delay”の値である。各パスの入力タイミングＡA，ＡBは、各パスの入力側ＦＦから本ＮＡＮＤゲートまでの遅延時間に相当している。
【００１６】
上述のような同時スイッチングの存在を考慮すると、一の多入力セルに入力する２以上のパスが活性化している場合、下記(1),(2)のケースが考えられる。なお、ここでは、活性化パスの、入力側ＦＦから多入力セルまでの遅延時間のことを「パス遅延値」という。
(1) １本の活性化パスが支配的なケース。つまり、２以上の活性化パスのうちの１本のパス遅延値が他の活性化パスのパス遅延値よりも明らかに大きく、この１本の活性化パスが、ディレイテストで得られる測定値を決定するケース。
(2) 同時スイッチングが発生しているケース。つまり、２以上の活性化パスの信号が、多入力セルに対し、同じまたはほぼ同じタイミングで入力する、即ち２以上の活性化パスのパス遅延値が同一またはほぼ同一であり、これら２以上の活性化パスの全てが、ディレイテストで得られる測定値を決定するケース。
【００１７】
現状の故障解析手法では、上記(1),(2)のいずれの場合であっても、２以上の活性化パスが１本に絞り込まれ、絞り込まれた１本の活性化パスに測定値が割り当てられて故障解析が行なわれる。このとき、上記(1)の場合であれば、元々、１本の活性化パスが支配的であるため、絞込みを行なっても問題ない。しかしながら、上記(2)の場合、つまり同時スイッチングが発生している場合、２以上の活性化パスの全てが測定値に影響を及ぼしていると考えられるにもかかわらず、パス遅延値の大きな１本の活性化パスに絞り込まれて故障解析が行なわれることになる。このため、同時スイッチングに関する情報が捨てられてしまい、同時スイッチングの有無を判断することも、解析時に同時スイッチングの影響を考慮することもできなくなり、故障解析の精度が悪化する可能性がある。
【００１８】
上述のような故障解析手法とは別に、ディレイテストで得られた測定値に基づき、同時スイッチングを起こすセルを調べる手法も知られている。この手法では、モンテカルロ法を用いた、線形式へのフィッティング演算を行なうことにより、組み合わせ回路中における各セルの感度が求められ、その感度に基づき、どのセルが同時スイッチングを起こしているかを見い出すことができる。しかしながら、この手法では、その演算処理に多大な時間がかかる。
【先行技術文献】
【特許文献】
【００１９】
【特許文献１】特開平２−９０２６７号公報
【特許文献２】特開２０００−３０５９６６号公報
【非特許文献】
【００２０】
【非特許文献１】P. Bastani, N. Callegari, Li-C. Wang, et al., “Statistical Diagnosis of Unmodeled Systematic Timing Effects”, DAC’08, 22.1, pp.355-360
【非特許文献２】P. Bastani, K. Killpack, et al., “Speedpath Prediction Based on Learning from a Small Set of Examples”, DAC’08, 12.3, pp.217-222
【非特許文献３】T. Fukuoka, A. Tsuchiya, et al., “Statistical Gate Delay Model for Multiple Input Switching”, ASP DAC’08, 4A-1, pp.286-291
【非特許文献４】K. Killpack, C. Kashyap, et al., “Silicon Speedpath Measurement and Feedback into EDA flows”, DAC2007, 22.2, pp.390-395
【発明の概要】
【発明が解決しようとする課題】
【００２１】
１つの側面では、本件は、多入力セルにおいて同時スイッチングが発生している可能性の有無を高速に判定することを目的とする。
また、他の側面では、同時スイッチングを考慮した遅延要因の解析を高精度又は高速に行なえるようにすることである。
【課題を解決するための手段】
【００２２】
本件の遅延解析プログラムは、実チップに対する遅延試験の結果に基づき遅延要因を解析するコンピュータに、前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出し、抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定し、判定した結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する、処理を実行させる。
【００２３】
また、本件の遅延解析装置は、実チップに対する遅延試験の結果に基づき遅延要因を解析するもので、以下の抽出部，判定部および解析部を有することを要件としている。ここで、前記抽出部は、前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する。前記判定部は、前記抽出部によって抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する。前記解析部は、前記判定部による判定結果および前記遅延試験の結果に基づき同時スイッチングの発生状況を前記遅延要因の一つとして解析する。
【００２４】
さらに、本件の遅延解析方法は、実チップに対する遅延試験の結果に基づき遅延要因をコンピュータにより解析するもので、以下の抽出ステップ，判定ステップおよび解析ステップを含むことを要件としている。ここで、前記抽出ステップでは、前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する。前記判定ステップでは、前記抽出ステップにおいて抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する。前記解析ステップでは、前記判定ステップにおける判定結果および前記遅延試験の結果に基づき同時スイッチングの発生状況を前記遅延要因の一つとして解析する。
【発明の効果】
【００２５】
多入力セルにおいて同時スイッチングが発生している可能性の有無が高速に判定される。
同時スイッチングを考慮した遅延要因の解析が高精度または高速に行なわれる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態の遅延解析装置の機能構成を示すブロック図である。
【図２】本実施形態の遅延解析装置における全体的な処理の流れを説明するためのフローチャートである。
【図３】本実施形態の遅延解析装置の判定部による判定動作の第１態様を説明するためのフローチャートである。
【図４】本実施形態の遅延解析装置の判定部による判定動作の第１態様を説明するための図である。
【図５】本実施形態の遅延解析装置の判定部による判定動作の第２態様を説明するためのフローチャートである。
【図６】本実施形態の遅延解析装置の判定部による判定動作の第２態様を説明するための図である。
【図７】本実施形態の遅延解析装置の判定部による判定動作の第３および第４態様を説明するための図である。
【図８】本実施形態の遅延解析装置の判定部による判定動作の第３態様を説明するためのフローチャートである。
【図９】本実施形態の遅延解析装置の判定部による判定動作の第３態様を説明するための図である。
【図１０】本実施形態の遅延解析装置の判定部による判定動作の第４態様を説明するためのフローチャートである。
【図１１】本実施形態の遅延解析装置の判定部による判定動作の第４態様を説明するための図である。
【図１２】本実施形態の遅延解析装置の解析部による解析動作を説明すべく、解析対象パス毎に設定される特徴ベクトルの各ベクトル成分の定義を示すもので、（Ａ）はその第１態様を示す図、（Ｂ）はその第２態様を示す図である。
【図１３】本実施形態の遅延解析装置の解析部による解析動作を説明するためのもので、（Ａ）は図１２（Ａ）に示す第１態様の具体例を示す図、（Ｂ）は図１２（Ｂ）に示す第２態様の具体例を示す図である。
【図１４】本実施形態の遅延解析装置の解析部による解析動作を説明するためのもので、（Ａ）は図１３（Ａ）に示す第１態様の具体例に対応する回路構成例を示す図、（Ｂ）は図１３（Ｂ）に示す第２態様の具体例に対応する回路構成例を示す図である。
【図１５】本実施形態の遅延解析装置の解析部による解析結果の例を示す図である。
【図１６】ディレイテストを含む一般的なチップの設計製造の手順を概略的に説明するためのフローチャートである。
【図１７】一般的なディレイテストを説明すべく試験対象の実チップ上の回路構成の例を示す図である。
【図１８】（Ａ）〜（Ｄ）は同時スイッチングについて説明するための図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して実施の形態を説明する。
〔１〕本実施形態の遅延解析装置の構成
図１は、本実施形態の遅延解析装置１の機能構成を示すブロック図である。
この図１に示す遅延解析装置１は、一般的なパーソナルコンピュータ等の計算機から構成され、処理部１０および記憶部２０を有するほか、設計者によって操作され各種情報を本装置１に入力するマンマシンインタフェース（図示略）を有している。なお、処理部１０は、ＣＰＵ（Central Processing Unit）等であり、記憶部２０は、ＲＡＭ（Random Access Memory），ＲＯＭ（Read Only Memory），ハードディスク等の内部記憶装置であってもよいし、外部記憶装置であってもよい。
【００２８】
処理部１０は、遅延解析プログラムを実行することにより、後述する抽出部１１，判定部１２，解析部１３および算出部１４としての機能を果たす。また、処理部１０は、遅延解析プログラムを実行することにより、必要に応じて、後述する修正部１５としての機能も果たす。
また、記憶部２０は、後述するディレイテスト結果データベース２１，ネットリスト２２，ＳＤＦ（Standard Delay Format）ファイル２３および多入力セル特性情報データベース２４を格納するとともに、設計者によって設定される各種情報、例えば後述する閾値Ｘや係数ｋなども格納する。
【００２９】
本遅延解析装置１は、実チップに対するディレイテスト（遅延試験）の結果に基づき遅延要因を解析するものである。このディレイテストの結果は、図１６および図１７を参照しながら前述した手順で得られたもので、記憶部２０のディレイテスト結果データベース２１に保存されている。ここでは、統計的な解析を行なうべく、同一のネットリスト２２に基づいて作成されたｍ枚の実チップのそれぞれに対しｎ種類のディレイテストが行なわれ、ｍ×ｎ個のディレイテスト結果が得られている。なお、ｍ，ｎはいずれも自然数である。
【００３０】
データベース２１に保存される各ディレイテスト結果は、少なくとも、図１に示す３つのデータ(a1)〜(a3)を有している。
(a1)各ディレイテストを特定する識別情報。例えば、図１中の“Ｔ１”参照。
(a2)各ディレイテストで活性化したパスを特定する識別情報。例えば、図１中の“p2, p4, p5,…”参照。
(a3)各ディレイテストで得られた遅延時間の測定値。つまり、実チップ上の活性化パスにおいて信号が入力側ＦＦ１０１から出力側ＦＦ１０２までに到達する時間の測定値。例えば、図１中の“823[ps]”参照。
【００３１】
なお、ネットリスト２２は、設計（図１６のステップＳ１）によって得られるもので、現在の設計対象のチップ上におけるセル等の回路素子に関する情報や、セルの接続関係を含む、端子間の接続情報を保持している。
ＳＤＦファイル（遅延情報ファイル）２３は、実チップ上の多入力セルを含む回路素子の遅延情報、つまり信号がセルに入力してから当該セルから出力されるまでの時間の予測値や予測範囲を、セルの種類（セルタイプ）毎に遅延情報として保持している。この予測値や予測範囲は、各セルの設計情報に基づきシミュレーションツール等によって予め算出される。ここで、予測値は、通常、ティピカル値と呼ばれる平均値である。また、予測範囲は、予測値の上限値（max）および下限値（min）によって規定される。このとき、図１８（Ａ）〜図１８（Ｄ）を参照しながら説明した同時スイッチングノイズが発生する可能性のある多入力セルについては、図１８（Ｂ）や図１８（Ｄ）に示した想定値ＤAまたはＤBに相当する値が、予測値または予測範囲として算出され、ＳＤＦファイル２３に保持される。
【００３２】
多入力セル特性情報データベース２４は、同時スイッチングノイズが発生する可能性のある多入力セルの特性に関する情報（以下「特性情報」という）を保持している。この特性情報は、本実施形態では、同時スイッチングノイズの発生時における、出力信号の遷移方向と遅延時間の増減との関係を示す情報である。つまり、特性情報は、同時スイッチングノイズの発生時に出力信号が“０”から“１”に遷移する場合に遅延時間が増加するか減少するか、および、逆に出力信号が“１”から“０”に遷移する場合に遅延時間が増加するか減少するかに関する情報である。より具体的に、図１８（Ａ）〜図１８（Ｄ）に示すＮＡＮＤゲートでは、同時スイッチングノイズの発生時に出力信号が“０”から“１”に遷移する場合に遅延時間が減少する一方、出力信号が“１”から“０”に遷移する場合に遅延時間が増加している。従って、このＮＡＮＤゲートの特性情報としては、「出力信号の立ち上がり時に遅延時間減少」および「出力信号の立ち下がり時に遅延時間増加」といった情報が保持される。このような特性情報は、各種多入力セルについて実際に観測することによって事前に取得され、データベース２４として保持されている。
【００３３】
また、記憶部２０には、設計者によって予め設定され後述する判定処理や修正処理で用いられる閾値Ｘおよび係数ｋも保持されている。ここで、閾値Ｘは、図３〜図１１を参照しながら後述するごとく判定部１２での判定処理で用いられる。係数ｋは、図７〜図１１を参照しながら後述するごとく判定部１２での予測値の修正処理で用いられる。この係数ｋは、同時スイッチング発生時における遅延時間の増加割合や減少割合〔図１８（Ｂ）や図１８（Ｄ）参照〕に応じて設計者により予め決定され設定される。従って、係数ｋは、多入力セルの特性情報としてデータベース２４に保存してもよい。
【００３４】
さて、抽出部１１は、ディレイテスト時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セル、つまり２以上の入力パスが活性化している多入力セルを抽出する。この抽出部１１の具体的な機能や動作については、図２および図４を参照しながら後述する。
【００３５】
判定部１２は、抽出部１１によって抽出された多入力セルについて、２以上の活性化パスにおける各信号の多入力セルへの入力タイミングと、閾値Ｘとに基づき、同時スイッチングが発生している可能性の有無を判定する。この判定部１２は、多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、多入力セルに入力する２以上の活性化パスを２以上の対象パスとして特定する。そして、判定部１２は、特定された２以上の対象パスに、ディレイテストで取得された遅延時間の測定値（例えば図１の823[ps]等）を割り当てる。さらに、判定部１２は、２以上の対象パスに関する情報つまり各パスを特定する識別情報（例えば図１のp2, p4, p5,…等）と、そのパスに割り当てられた測定値と、多入力セルでの同時スイッチングの発生可能性に関する情報とを、判定結果として解析部１３に対し通知する。これらの各種情報は、図１に示すごとく判定部１２から解析部１３へ直接通知されてもよいし、図２に示すごとく記憶部２０を介して解析部１３に間接的に通知されてもよい。
【００３６】
ここで、同時スイッチングの発生可能性に関する情報は、少なくとも、発生可能性の有無を示す１または０の二値情報を含むほか、発生可能性の高さに応じた値（後述）を算出する際に用いられる前記入力タイミングを含んでいてもよい。この判定部１２の具体的な機能や動作については、図２〜図１１を参照しながら後述する。なお、本実施形態において、判定部１２で用いられる前記入力タイミングは、後述する算出部１４によって算出され、必要に応じ、後述する修正部１５によって修正された、遅延時間の予測値または予測範囲である。
【００３７】
解析部１３は、判定部１２による判定結果およびディレイテストの結果を含む下記(b1)〜(b4)の情報に基づき、実チップにおける同時スイッチングの発生状況を遅延要因の一つとして解析する。この解析部１３の具体的な機能や動作については、図１２〜図１５を参照しながら後述する。
【００３８】
(b1)２以上の対象パスを含む複数の解析対象パス。具体的には、解析対象パスを特定する識別情報。
(b2)これらの解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報。この情報は、多入力セルを特定する識別情報に対応付けられている。また、この情報は、判定部１２による判定結果であり、上述した通り、発生可能性の有無を示す二値情報を含む。発生可能性の高さに応じた値（後述）を算出する場合、本情報には、前記入力タイミングも含まれている。
(b3)上述したディレイテストで取得され各解析対象パスに割り当てられた測定値。以下では、パスpの実チップ上での遅延時間の測定値をd_silicon(p)と表記する場合がある。
(b4)各解析対象パスについて、シミュレーションツール等によって予め算出されて取得された遅延時間の予測値。以下では、パスpの予測値をd_predict(p)と表記する場合がある。
【００３９】
算出部１４は、ネットリスト２２およびＳＤＦファイル２３に保持される情報に基づいて、判定部１２による判定動作時に用いられる前記入力タイミングを算出する。この入力タイミングとして、各信号の入力側ＦＦから多入力セルまでの遅延時間の予測値または予測範囲が算出される。この算出部１４は、各信号の入力側ＦＦから多入力セルまでのパス上に存在する回路素子をネットリスト２２から取得し、取得された回路素子の遅延情報をＳＤＦファイル２３から取得する。そして、算出部１４は、取得された遅延情報と回路素子間の配線長に応じた遅延値とを加算することにより予測値または予測範囲を算出する。
【００４０】
なお、入力タイミングとして予測値を算出する場合、算出部１４は、ＳＤＦファイル２３から、各回路素子の遅延時間のティピカル値（平均値）を遅延情報として取得する。
また、入力タイミングとして予測範囲を算出する場合、算出部１４は、ＳＤＦファイル２３から、各回路素子の遅延時間の予測範囲を規定する上限値(max)および下限値(min)を遅延情報として取得する。この場合、算出部１４は、各回路素子の上限値どうしを加算することにより、多入力セルまでの遅延時間の予測範囲の上限値を算出する一方、各回路素子の下限値どうしを加算することにより、多入力セルまでの遅延時間の予測範囲の下限値を算出する。
【００４１】
修正部１５は、信号入力側から多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された他の多入力セル（第２多入力セル）が存在するか否かを判定する。第２多入力セルが存在する場合、修正部１５は、データベース２４から第２多入力セルの特性と、ＳＤＦファイル２３から取得される第２多入力セルの遅延時間の予測値と、係数ｋとに基づき、算出部１４により算出された予測値または予測範囲を修正する。この修正部１５の具体的な機能や動作については、図７〜図１１を参照しながら後述する。
【００４２】
〔２〕本実施形態の遅延解析装置の機能および動作
次に、上述のごとく構成された本実施形態の遅延解析装置１の具体的な機能や動作について、図２〜図１５を参照しながら説明する。
〔２−１〕全体的な処理の流れ
まず、図２に示すフローチャート（ステップＳ１０〜Ｓ１００）に従って、遅延解析装置１における全体的な処理の流れについて説明する。
遅延解析装置１においては、処理部１０により、記憶部２０のディレイテスト結果データベース２１から、ディレイテスト結果が一つ抽出され（ステップＳ１０）、そのディレイテスト結果に対し、以下のステップＳ２０〜Ｓ７０の処理が実行される。
【００４３】
抽出された一のディレイテスト結果において、活性化パスの数が１本であるか複数本つまり２以上であるかが、処理部１０により判定される（ステップＳ２０）。１本である場合、処理部１０は、その１本の活性化パスに、本ディレイテストで取得された測定値を割り当て、その旨を記憶部２０に登録する（ステップＳ３０）。
【００４４】
この後、処理部１０は、ディレイテスト結果データベース２１から全てのディレイテスト結果を抽出し、全てのディレイテスト結果に対しステップＳ２０〜Ｓ７０の処理を実行したか否かを判定する。未処理のディレイテスト結果が残っている場合（ステップＳ８０のＮＯルート）、処理部１０は、ステップＳ１０の処理に戻る。一方、全てのディレイテストに対し処理を行なった場合（ステップＳ８０のＹＥＳルート）、処理部１０は、ステップＳ９０の処理に移行する。
【００４５】
抽出された一のディレイテスト結果において、活性化パスの数が２以上である場合、抽出部１１により、２以上の活性化パスが入力されている多入力セル、つまり２以上の入力パスが活性化している多入力セルが抽出される（ステップＳ４０；抽出ステップ）。このとき、抽出部１１は、ディレイテスト結果に含まれる識別情報を参照して各活性化パスを特定し、特定された各活性化パスを、ネットリスト２２に基づいて出力側ＦＦからバックワードトレースを行なう。これにより、２以上の入力パスが活性化している多入力セルが抽出される。
【００４６】
そして、判定部１２により、ステップＳ４０で抽出された多入力セルについて同時スイッチングが発生している可能性の有無が判定される（ステップＳ５０；判定ステップ）。このステップＳ５０で実行される判定動作としては、後述する第１〜第４態様のうちのいずれか一つが適用される。
【００４７】
判定部１２により、多入力セルにおいて同時スイッチングが発生している可能性が有ると判定された場合（ステップＳ５０のＹＥＳルート）、この多入力セルに入力する２以上の活性化パスが２以上の対象パスとして特定される。そして、判定部１２により、特定された２以上の対象パスに、ディレイテストで取得された遅延時間の測定値が割り当てられ、その旨が記憶部２０に登録される（ステップＳ６０）。この後、処理部１０は、ステップＳ８０の処理に移行する。
【００４８】
一方、多入力セルにおいて同時スイッチングが発生している可能性が無いと判定された場合（ステップＳ５０のＮＯルート）、処理部１０は、多入力セルに入力されている２以上の活性化パスを１本に絞り込む（ステップＳ７０）。この絞り込みは、２以上の活性化パスの中から、最大の遅延時間を有するものを選択することにより行なわれる。このとき、各活性化パスについて、入力側ＦＦから多入力セルまでの遅延時間の予測値または予測範囲は、後述するごとく図３，図５，図８，図１０のステップＳ５１，Ｓ５１ａで算出部１４によって算出される。この算出部１４によって算出された遅延時間の予測値または予測範囲に基づいて、上記絞り込みが行われる。そして、処理部１０は、絞り込まれた１本の活性化パスに、本ディレイテストで取得された測定値を割り当て、その旨を記憶部２０に登録してから（ステップＳ３０）、ステップＳ８０の処理に移行する。
【００４９】
全てのディレイテスト結果に対しステップＳ２０〜Ｓ７０の処理を行なうと（ステップＳ８０のＹＥＳルート）、解析部１３において、同時スイッチングを考慮したスピードパス解析が実行される（ステップＳ９０；解析ステップ）。その際、上記(b1)〜(b4)の情報に基づき、実チップにおける同時スイッチングの発生状況が遅延要因の一つとして解析される。そして、その解析結果に基づき、実チップにおいて、同時スイッチングを起こしているセル単体またはセルタイプが特定される（ステップＳ１００）。この解析部１３の具体的な解析動作については、項目〔２−３〕において図１２〜図１５を参照しながら説明する。
【００５０】
〔２−２〕判定部，算出部および修正部の機能および動作
次に、図３〜図１１を参照しながら、図２のステップＳ５０における処理、つまりは判定部１２，算出部１４および修正部１５の機能および動作について説明する。なお、後述する判定動作の第１態様および第２態様では、予測値や予測範囲の修正処理が行なわれないので、修正部１５の機能は不要である。また、後述する判定動作の第３態様および第４態様では、予測値や予測範囲の修正処理が行なわれるので、修正部１５の機能が必要とされる。
【００５１】
〔２−２−１〕判定動作の第１態様
図３に示すフローチャート（ステップＳ５１〜Ｓ５３）に従って、本実施形態の判定部１２による判定動作の第１態様について説明する。なお、図４は本実施形態の判定部１２による判定動作の第１態様を説明するための図である。
まず、ステップＳ５１において、算出部１４により、図２のステップＳ４０で抽出された多入力セルgに入力する各活性化パスの遅延時間の予測値が、パス遅延値として算出される。このとき、算出部１４は、ＳＤＦファイル２３から、抽出された多入力セルまでの活性化パス上における回路素子の遅延時間のティピカル値（平均値）を遅延情報として取得する。そして、回路素子のティピカル値と回路素子間の配線長に応じた遅延値とを加算することにより、各活性化パスの遅延時間の予測値が算出される。
【００５２】
図４には、ステップＳ４０で抽出された多入力セルgの一例として、４入力のＮＡＮＤゲートが図示されている。この図４に示すＮＡＮＤゲートgでは、４つの入力パスpa〜pdのうち、３つの入力パスpa, pb, pdが活性化し、入力パスpcのみが非活性となっている。なお、図４中、活性化パスは太線によって示されている。そして、算出部１４により、入力パスpa, pb, pdのそれぞれについて、多入力セルgまでの遅延時間の予測値d_g(pa), d_g(pb), d_g(pd)が算出されている。図４においては、d_g(pa)＝800[ps], d_g(pb)＝550[ps], d_g(pd)＝780[ps]となっている。
【００５３】
そして、ステップＳ５２において、判定部１２は、算出部１４により算出された２以上の予測値のうちの最大の予測値d_g(Pmax)と、この最大の予測値以外の各予測値d_g(Pi)とを比較し、最大の予測値との差が所定値Ｘ以内の予測値が存在するか否かを判定する。つまり、判定部１２は、ゲートgまでのパス遅延の予測値が最大のパスPmaxに対し、下記(1)式を満たすパスPiが存在するか否かを判定する。所定値Ｘは、前述したように設計者等によって記憶部２０に予め設定されている閾値である。
d_g(Pmax)−d_g(Pi)≦Ｘ        (1)
【００５４】
図４に示す例においては、予測値が最大のパスPmaxは入力パスpaであり、d_g(Pmax)＝d_g(pa)＝800[ps]である。このとき、閾値Ｘを例えば30[ps]とすると、上記(1)式を満たす入力パスPiとして、予測値d_g(Pi)＝d_g(pd)＝780[ps]の入力パスpdが存在している。
このように上記(1)式を満たす入力パスPiが存在する場合（ステップＳ５２のＹＥＳルート）、パスPmaxおよびPi（図４に示す例ではパスpaおよびpd）が、同時スイッチングの発生要因となる活性化パス（対象パス）として特定され抽出される。また、ゲートgにおいて同時スイッチングが発生している可能性が有ると判定される（ステップＳ５３）。
【００５５】
このとき、ゲートgでの同時スイッチングの発生可能性に関する情報として、同時スイッチングの発生可能性を示す値“１”が出力される。また、必要に応じ、対象パスPmaxおよびPiのセルgまでの遅延予測値d_g(Pmax), d_g(Pi)、もしくは、その差分値d_g(Pmax)−d_g(Pi)も出力される。これらの遅延予測値は、解析部１３で、多入力セルでの同時スイッチングの発生可能性についての特徴値を算出設定する際に用いられる。
【００５６】
処理部１０は、ステップＳ５３の処理を行なった後、図２のステップＳ６０の処理へ移行し、判定部１２により、２以上の対象パスPmaxおよびPiに、ディレイテストで取得された一の遅延時間の測定値が割り当てられ、その旨が記憶部２０に登録される。また、上記(1)式を満たすパスPiが存在しない場合、ゲートgにおいて同時スイッチングが発生している可能性は無いと判定され（ステップＳ５２のＮＯルート）、処理部１０は、図２のステップＳ７０の処理へ移行し、ゲートgに入力されている２以上の対象パスPmaxおよびPiを１本に絞り込む。
【００５７】
以上のように、判定動作の第１態様では、判定部１２において、上記(1)式に基づき、ゲートgでの同時スイッチングの発生可能性の有無が判定される。上記(1)式を満たすパスが存在する場合、ゲートgでの信号の入力タイミングに相当する遅延予測値が同じもしくはほぼ同じ２以上の活性化パスが存在することになる。このとき、図１８（Ｂ）や図１８（Ｄ）を参照しながら前述したように、ゲートgにおいては、２以上の入力信号が同時またはほぼ同時に入力される際に出力遅延時間が増減する現象、即ち同時スイッチングが発生している可能性が高い。従って、判定部１２は、上記(1)式に基づく判定を行なうことにより、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
【００５８】
〔２−２−２〕判定動作の第２態様
図５に示すフローチャート（ステップＳ５１ａ〜Ｓ５３ａ）に従って、本実施形態の判定部１２による判定動作の第２態様について説明する。なお、図６は本実施形態の判定部１２による判定動作の第２態様を説明するための図である。
まず、ステップＳ５１ａにおいて、算出部１４により、図２のステップＳ４０で抽出された多入力セルgに入力する各活性化パスの遅延時間の予測範囲が、パス遅延値の範囲として算出される。このとき、算出部１４は、ＳＤＦファイル２３から、抽出された多入力セルまでの活性化パス上における回路素子の遅延時間の上限値(max)および下限値(min)を遅延情報として取得する。そして、回路素子の上限値と回路素子間の配線長に応じた遅延値とを加算することにより、各活性化パスの遅延時間の予測範囲の上限値が算出される。同様に、回路素子の下限値と回路素子間の配線長に応じた遅延値とを加算することにより、各活性化パスの遅延時間の予測範囲の下限値が算出される。これにより、各活性化パスの遅延時間の予測範囲（上限値および下限値）が算出される。
【００５９】
図６には、図４と同様の４入力のＮＡＮＤゲートgを対象として算出された予測範囲が図示されている。ここでも、４つの入力パスpa〜pdのうち、３つの入力パスpa, pb, pdが活性化し、入力パスpcのみが非活性となっている。そして、算出部１４により、入力パスpa, pb, pdのそれぞれについて、多入力セルgまでの遅延時間の予測範囲が図６に示すように算出されている。なお、ここでは、ゲートgへの入力パスpiの予測範囲の上限値および下限値を、それぞれd_g(pi)_maxおよびd_g(pi)_minと表記する。また、入力パスpa, pb, pdの遅延時間のティピカル値は、図４と同様、それぞれ800[ps], 550[ps], 780[ps]とする。
【００６０】
そして、ステップＳ５２ａにおいて、判定部１２は、算出部１４により算出された２以上の予測範囲のうちの最大の予測範囲の下限値と、この最大の予測範囲以外の各予測範囲の上限値とを比較する。そして、判定部１２は、最大の予測範囲の下限値との差が所定値Ｘ以内の上限値をもつ予測範囲が存在するか否かを判定する。つまり、判定部１２は、ＳＤＦファイル２３における上限値(max)および下限値(min)を考慮し、下記(2)式を満たすパスPiが存在するか否かを判定する。所定値Ｘは、第１態様と同様、設計者等によって記憶部２０に予め設定されている閾値である。
d_g(Pmax)_min−d_g(Pi)_max≦Ｘ        (2)
【００６１】
なお、最大の予測範囲としては、ここで、例えばティピカル値の最大のものが選択される。従って、図６に示す例では、入力パスpaについての予測範囲が最大の予測範囲となる。つまり、図４に示す例と同様、予測範囲が最大のパスPmaxは入力パスpaであり、最大の予測範囲の下限値d_g(Pmax)_minは、d_g(pa)_minとなる。このとき、閾値Ｘを例えば30[ps]とすると、上記(2)式を満たす入力パスPiとして、上限値d_g(pd)_maxの予測範囲をもつ入力パスpdが存在している。
【００６２】
このように上記(2)式を満たす入力パスPiが存在する場合（ステップＳ５２ａのＹＥＳルート）、パスPmaxおよびPi（図６に示す例ではパスpaおよびpd）が、同時スイッチングの発生要因となる活性化パス（対象パス）として特定され抽出される。また、ゲートgにおいて同時スイッチングが発生している可能性が有ると判定される（ステップＳ５３ａ）。このとき、第１態様と同様、ゲートgでの同時スイッチングの発生可能性に関する情報として、同時スイッチングの発生可能性を示す値“１”が出力される。また、必要に応じ、対象パスPmaxおよびPiのセルgまでの遅延予測値のティピカル値d_g(Pmax), d_g(Pi)、もしくは、その差分値d_g(Pmax)−d_g(Pi)も出力される。
【００６３】
処理部１０は、ステップＳ５３ａの処理を行なった後、図２のステップＳ６０の処理へ移行し、判定部１２により、２以上の対象パスPmaxおよびPiに、ディレイテストで取得された一の遅延時間の測定値が割り当てられ、その旨が記憶部２０に登録される。また、上記(2)式を満たすパスPiが存在しない場合、ゲートgにおいて同時スイッチングが発生している可能性は無いと判定され（ステップＳ５２ａのＮＯルート）、処理部１０は、図２のステップＳ７０の処理へ移行し、ゲートgに入力されている２以上の対象パスPmaxおよびPiを１本に絞り込む。
【００６４】
以上のように、判定動作の第２態様では、判定部１２において、上記(2)式に基づき、ゲートgでの同時スイッチングの発生可能性の有無が判定される。このとき、最大の予測範囲の下限値とこの最大の予測範囲以外の各予測範囲の上限値とが比較されるので、前述した第１態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングが発生している可能性の高い多入力セルや、同時スイッチングの発生要因となる活性化パスがより多く見出され、このようにして見い出された複数の活性化パスに、ディレイテストで得られた測定値が割り当てられる。これにより、解析部１３においては、後述するごとく、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
【００６５】
〔２−２−３〕判定動作の第３態様
以下に説明する判定動作の第３態様および第４態様では、それぞれ、上述の第１態様および第２態様において、ステップＳ５１，Ｓ５１ａで算出された予測値や予測範囲に対し修正部１５による修正が施されてから、判定部１２による判定が行なわれる。
ここで、まず、図７を参照しながら、第３態様および第４態様において修正部１５によって予測値や予測範囲の修正を行なう理由について簡単に説明する。なお、図７は本実施形態の遅延解析装置１の判定部１２による判定動作の第３および第４態様を説明するための図である。
【００６６】
図７に示す例では、入力側ＦＦと第１多入力セルであるＮＡＮＤゲートgbとの間の活性化パス上に、第２多入力セルであるＮＡＮＤゲートgaが存在し、ゲートgaへの２つの入力パスは活性化しており、これらのパスの遅延予測値はそれぞれ500[ps], 510[ps]である。また、ゲートgbへの２つの入力パスpa, pbも活性化しており、これらのパスpa, pbの遅延予測値はそれぞれ780[ps], 820[ps]である。
【００６７】
このような状況で、閾値Ｘ＝30[ps]として判定動作の第１態様を採用すると、ゲートgaでは同時スイッチングの発生可能性有りと判定される一方で、このゲートgaよりも下流側のゲートgbでは同時スイッチングの発生可能性無しと判定される。
このとき、各パスの遅延予測値500[ps], 510[ps], 780[ps], 820[ps]はいずれもＳＤＦファイル２３における回路素子の遅延情報を単純に加算することにより算出されており、その予測値の算出に、同時スイッチングによって生じる、遅延時間の増減〔図１８（Ｂ）や図１８（Ｄ）参照〕は全く考慮されていない。
【００６８】
図７に示す例において、ゲートgaで同時スイッチングの発生可能性が有り且つゲートgaでの出力信号が立ち下がる場合、このゲートgaの出力遅延時間は、図１８（Ｂ）に示すように増加する可能性がある。このような出力遅延時間の増加を考慮すると、実際には、ゲートgbの入力パスpaの遅延時間（遅延予測値）が増加し、ゲートgbでも同時スイッチングの発生可能性が高くなる。
【００６９】
そこで、判定動作の第３態様および第４態様では、上述のような状況を考慮すべく、修正部１５がそなえられ、後述するごとく、修正部１５により、各入力パスの遅延予測値または予測範囲が修正される。
なお、修正部１５による予測値または予測範囲の修正に際しては、多入力セルの入力側に存在する他の多入力セルでの同時スイッチングの発生可能性判定結果が必要になる。このため、以下の判定動作の第３態様および第４態様では、図２のステップＳ７０において判定対象の多入力ゲートを抽出すべく出力側ＦＦから活性化パスのバックワードトレースを行なった後、入力側ＦＦから活性化パスのフォワードトレースを行なう。そして、入力側の多入力パスから順に判定部１２による同時スイッチングの発生可能性判定を行なうことになる。
【００７０】
以下、図８に示すフローチャート（ステップＳ５１，Ｓ５４〜Ｓ５７）に従って、本実施形態の判定部１２による判定動作の第３態様について説明する。なお、図９は本実施形態の遅延解析装置１の判定部１２による判定動作の第３態様を説明するための図である。
ここでは、ゲートgaに対する判定処理（ステップＳ５１，Ｓ５５〜Ｓ５７）は既に終了し、ゲートgaから活性化パスをフォワードトレースして得られたゲートgbが判定対象になっているものとする。つまり、ステップＳ５１においては、算出部１４により、ゲートgbに入力する各活性化パスの遅延時間の予測値（ティピカル値）がパス遅延値として算出される。この算出処理は、図３に示す第１態様と同様であるので、その説明は省略する。なお、ここでは、図７や図９に示すように、パスpa, pbの遅延予測値d_g(pa)およびd_g(pb)として、それぞれ780[ps], 820[ps]が算出されている。
【００７１】
そして、ステップＳ５４において、修正部１５は、記憶部２０に登録されている情報に基づき、信号入力側から判定対象のゲートgbまでの活性化パス上に、同時スイッチングの発生可能性有りと判定された他の多入力セルg′が存在するか否かを判定する。なお、図７のゲートgbは図８の多入力セルgに対応し、図７のゲートgaは図８の他の多入力セル（第２多入力セル）g′に対応している。
【００７２】
上述のような他の多入力セルg′が存在しない場合（ステップＳ５４のＮＯルート）、ステップＳ５５による修正処理は省略され、予測値の修正を行なうことなく、ステップＳ５６およびＳ５７による処理が実行される。このときのステップＳ５６およびＳ５７による処理は、それぞれ図３のステップＳ５２およびＳ５３による処理と同様であるので、その説明は省略する。
【００７３】
一方、上述のような他の多入力セルg′、例えば図７や図９に示すゲートgaが存在する場合（ステップＳ５４のＹＥＳルート）、ステップＳ５５において、修正部１５は、ゲートgaを接続された入力パスpaについて算出された遅延予測値d_g(pa)を修正する。
このとき、修正部１５は、記憶部２０から、上述のごとく予め設定された係数ｋを読み出すとともに、特定情報データベース２４から、ゲートgaの出力信号の遷移に応じた特性、ここでは例えば「出力信号の立ち下がり時に遅延時間増加」を読み出す。また、修正部１５は、ＳＦＤファイル２３から、ゲートgaの遅延時間の予測値（ここではティピカル値）d_gaを読み出す。
【００７４】
そして、修正部１５は、図１８（Ｂ）に示す増加分に相当する値としてd_ga*ｋを算出し、この値d_ga*ｋを、上記特性に従って、図９に示すように入力パスpaの遅延予測値d_g(pa)に加算することにより、入力パスpaの遅延予測値d_g(pa)を修正する。
なお、ゲートgaの出力信号の遷移に応じた特性が、例えば「出力信号の立ち上がり時に遅延時間減少」であった場合、修正部１５は、図１８（Ｄ）に示す減少分に相当する値としてd_ga*ｋを算出し、この値d_ga*ｋを、入力パスpaの遅延予測値d_g(pa)から減算することにより、入力パスpaの遅延予測値d_g(pa)を修正する。
【００７５】
また、係数ｋは、上述したように、同時スイッチング発生時における遅延時間の増加割合や減少割合〔図１８（Ｂ）や図１８（Ｄ）参照〕に応じて予め設定されている。この係数ｋは、セルタイプ毎に設定されていてもよいし、特定情報データベース２４に保持される特性毎に設定されていてもよい。
【００７６】
上述のように遅延時間の予測値が修正された場合には、修正後の予測値を用いてステップＳ５６およびＳ５７による処理が実行される。このときのステップＳ５６およびＳ５７による処理も、予測値が修正されている点を除けば、それぞれ図３のステップＳ５２およびＳ５３による処理と同様であるので、その説明は省略する。
【００７７】
ここで、例えば、ゲートgaの遅延時間の予測値d_gaが50[ps]であり、係数ｋが0.2であるとすると、d_ga*ｋ＝10[ps]となり、図９に示す入力パスpaの遅延予測値d_g(pa)＝780[ps]は、790[ps]に修正される。そして、閾値Ｘを30[ps]とすると、修正前の遅延予測値d_g(pa)＝780[ps]では、上記(1)式の値はd_g(Pmax)−d_g(Pi)＝820−780＝40[ps]＞30[ps]となり、ゲートgbでの同時スイッチングの発生可能性は無いと判定される。これに対し、修正後の遅延予測値d_g(pa)＝790[ps]を用いると、上記(1)式の値はd_g(Pmax)−d_g(Pi)＝820−790＝30[ps]≦30[ps]となり、ゲートgbでの同時スイッチングの発生可能性が有ると判定されることになる。
【００７８】
以上のように、判定動作の第３態様では、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合（図７参照）、その同時スイッチングを考慮した修正が遅延予測値に対し行なわれる。これにより、判定部１２において、同時スイッチングの発生可能性有りと判定された他の多入力セルの同時スイッチングを考慮しながら、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
【００７９】
〔２−２−４〕判定動作の第４態様
図１０に示すフローチャート（ステップＳ５１ａ，Ｓ５４ａ〜Ｓ５７ａ）に従って、本実施形態の判定部１２による判定動作の第４態様について説明する。なお、図１１は本実施形態の判定部１２による判定動作の第４態様を説明するための図である。
ここでは、第３態様と同様、ゲートgaに対する判定処理（ステップＳ５１ａ，Ｓ５５ａ〜Ｓ５７ａ）は既に終了し、ゲートgaから活性化パスをフォワードトレースして得られたゲートgbが判定対象になっているものとする。つまり、ステップＳ５１においては、算出部１４により、ゲートgbに入力する各活性化パスの遅延時間の予測範囲がパス遅延範囲として算出される。この算出処理は、図５に示す第２態様と同様であるので、その説明は省略する。ここでは、図１１に示すように、パスpaの遅延予測範囲として当該範囲の上限値d_g(pa)_max＝785[ps]および下限値d_g(pa)_min＝775[ps]が算出され、パスpbの遅延予測範囲として当該範囲の上限値d_g(pb)_max＝825[ps]および下限値d_g(pa)_min＝815[ps]が算出されるものとする。なお、図７や図１１に示すように、パスpa, pbの遅延時間のティピカル値は、それぞれ780[ps], 820[ps]とする。
【００８０】
そして、ステップＳ５４ａにおいて、第３態様のステップＳ５４と同様、修正部１５は、記憶部２０に登録されている情報に基づき、信号入力側から判定対象のゲートgbまでの活性化パス上に、同時スイッチングの発生可能性有りと判定された他の多入力セルg′が存在するか否かを判定する。なお、図７のゲートgbは図１０の多入力セルgに対応し、図７のゲートgaは図１０の他の多入力セル（第２多入力セル）g′に対応している。
【００８１】
上述のような他の多入力セルg′が存在しない場合（ステップＳ５４ａのＮＯルート）、ステップＳ５５ａによる修正処理は省略され、予測範囲の修正を行なうことなく、ステップＳ５６ａおよびＳ５７ａによる処理が実行される。このときのステップＳ５６ａおよびＳ５７ａによる処理は、それぞれ図５のステップＳ５２ａおよびＳ５３ａによる処理と同様であるので、その説明は省略する。
【００８２】
一方、上述のような他の多入力セルg′、例えば図７に示すゲートgaが存在する場合（ステップＳ５４ａのＹＥＳルート）、ステップＳ５５ａにおいて、修正部１５は、ゲートgaを接続された入力パスpaについて算出された遅延予測範囲を修正する。
このとき、修正部１５は、記憶部２０から、上述した係数ｋを読み出すとともに、特定情報データベース２４から、ゲートgaの出力信号の遷移に応じた特性、ここでは例えば「出力信号の立ち下がり時に遅延時間増加」を読み出す。また、修正部１５は、ＳＤＦファイル２３から、ゲートgaの遅延時間の予測値（ここではティピカル値）d_gaを読み出す。
【００８３】
そして、修正部１５は、図１８（Ｂ）に示す増加分に相当する値としてd_ga*ｋを算出し、この値d_ga*ｋを、上記特性に従って、図１１に示すように入力パスpaの遅延予測範囲の上限値d_g(pa)_maxに加算することにより、入力パスpaの遅延予測範囲を修正する。
なお、ゲートgaの出力信号の遷移に応じた特性が、例えば「出力信号の立ち上がり時に遅延時間減少」であった場合、修正部１５は、図１８（Ｄ）に示す減少分に相当する値としてd_ga*ｋを算出し、この値d_ga*ｋを、入力パスpaの遅延予測範囲の下限値d_g(pa)_minから減算することにより、入力パスpaの遅延予測範囲を修正する。
【００８４】
上述のように遅延時間の予測範囲が修正された場合には、修正後の予測範囲を用いてステップＳ５６ａおよびＳ５７ａによる処理が実行される。このときのステップＳ５６ａおよびＳ５７ａによる処理も、予測範囲が修正されている点を除けば、それぞれ図５のステップＳ５２ａおよびＳ５３ａによる処理と同様であるので、その説明は省略する。
【００８５】
ここで、例えば、ゲートgaの遅延時間の予測値d_gaが50[ps]であり、係数ｋが0.2であるとすると、d_ga*ｋ＝10[ps]となり、図１１に示す入力パスpaの遅延予測範囲の上限値d_g(pa)_max＝785[ps]は、795[ps]に修正される。そして、閾値Ｘを20[ps]とすると、修正前の遅延予測範囲の上限値d_g(pa)_max＝785[ps]では、上記(2)式の値はd_g(Pmax)_min−d_g(Pi)_max＝815-785＝30[ps]＞20[ps]となり、ゲートgbでの同時スイッチングの発生可能性は無いと判定される。これに対し、修正後の遅延予測範囲の上限値d_g(pa)_max＝795[ps]を用いると、上記(2)式の値はd_g(Pmax)−d_g(Pi)＝815−795＝20[ps]≦20[ps]となり、ゲートgbでの同時スイッチングの発生可能性が有ると判定されることになる。
【００８６】
以上のように、判定動作の第４態様では、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合（図７参照）、その同時スイッチングを考慮した修正が遅延予測範囲に対し行なわれる。その際、図１１に示すように、遅延予測範囲を拡張する修正が行なわれることになるので、前述した第１〜第３態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングが発生している可能性の高い多入力セルや、同時スイッチングの発生要因となりうる活性化パスが、第１〜第３態様よりも多く見出され、このようにして見い出された複数の活性化パスに、ディレイテストで得られた測定値が割り当てられる。これにより、解析部１３においては、後述するごとく、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
【００８７】
〔２−３〕解析部の機能および動作
次に、図１２〜図１５を参照しながら、図２のステップＳ９０における処理、つまりは解析部１３の機能および動作について説明する。本実施形態の解析部１３は、以下に説明するようなスピードパス解析を実行することにより、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なう。
【００８８】
なお、図１２（Ａ）および図１２（Ｂ）は、解析対象パス毎に設定される特徴ベクトルの各ベクトル成分の定義を示すもので、図１２（Ａ）はその第１態様を示す図、図１２（Ｂ）はその第２態様を示す図である。図１３（Ａ）および図１３（Ｂ）は、図１３（Ａ）は図１２（Ａ）に示す第１態様の具体例を示す図、図１３（Ｂ）は図１２（Ｂ）に示す第２態様の具体例を示す図である。図１４（Ａ）は図１３（Ａ）に示す第１態様の具体例に対応する回路構成例を示す図、図１４（Ｂ）は図１３（Ｂ）に示す第２態様の具体例に対応する回路構成例を示す図である。図１５は本実施形態の解析部１３による解析結果の例を示す図である。
【００８９】
まず、図１２〜図１４を参照しながら、本実施形態の解析部１３のスピードパス解析における「特徴」について説明する。スピードパス解析では、各パスの特徴をベクトルによって表現する。ここでは、そのベクトルを特徴ベクトルＦと表記する。また、特徴ベクトルＦは、解析対象のパス毎に設定され、パスPiの特徴ベクトルＦをＦ(Pi)と表記する。この特徴ベクトルＦ(Pi)の各ベクトル成分は、パスPiにおける特徴の値であり、例えば、図１２（Ａ）に示す第１態様または図１２（Ｂ）に示す第２態様のごとく定義されて与えられる。特徴ベクトルＦ(Pi)にベクトル成分として含まれる複数の特徴は、後述する(4)式で示すように、各解析対象パスPiに割り当てられる遅延時間の測定値d_silicon(Pi)と遅延時間の予測値d_predict(Pi)との差Δdの発生要因（遅延要因）となるものである。
【００９０】
本実施形態では、解析部１３によるスピードパス解析に際し、同時スイッチングを遅延要因の一つとして考慮すべく、各パスPiの特徴ベクトルＦ(Pi)に、同時スイッチングの発生可能性に関する情報が、新たな特徴（ベクトル成分）として導入されている。この新たな「特徴」のことを「同時スイッチング疑い」と呼ぶ。ここで、第１態様と第２態様とでは、新たな特徴「同時スイッチング疑い」の定義が異なっている。
【００９１】
特徴「同時スイッチング疑い」の定義について説明する前に、図１２（Ａ）および図１２（Ｂ）を参照しながら「同時スイッチング疑い」以外の特徴について説明する。「同時スイッチング疑い」以外の特徴は、図１２（Ａ）および図１２（Ｂ）に示すように、第１態様および第２態様に共通である。図１２（Ａ）および図１２（Ｂ）に示すベクトル成分f1_Pi〜f5_Piは、共通の特徴であり、例えば、f1_PiはパスPi上の低電力トランジスタの数、f2_Piは、パスPiが指定領域１を通過する場合に“１”／通過しない場合に“０”となる値である。また、f3_Piは、パスPiが指定領域２を通過する場合に“１”／通過しない場合に“０”となる値、f4_PiはパスPiの通過領域の温度条件に係る値（例えば、高温になるほど大きい値）、f5_PiはパスPiのクロストークノイズの影響度合いを示す値である。
【００９２】
図１２（Ａ），図１３（Ａ）および図１４（Ａ）に示す第１態様において、特徴「同時スイッチング疑い」は、ネットリスト２２中の個々の多入力セルにおける、同時スイッチングの発生可能性を示す値で、多入力セルの数に応じた数の特徴として抽出される。つまり、図１２（Ａ）に示すように、第１態様では、同じタイプの多入力セルであっても多入力セルを一つ一つ区別し、多入力セルgj（ｊ＝1〜ｘ）毎に異なる「同時スイッチング疑い」についての特徴fgj_Pi（ｊ＝1〜ｘ）が用意される。
【００９３】
この特徴fgj_Piは、下記(c1), (c2)のように与えられる。
(c1) 多入力セルgj （ｊ＝1〜ｘ）が解析対象パスPi上に存在し且つ同時スイッチングの発生可能性が有る場合に“１”（またはその可能性の高さに応じた正の値）
(c2) 多入力セルgjが解析対象パスPi上に存在するが同時スイッチングの発生可能性が無い場合または多入力セルgjが解析対象パスPi上に存在しない場合に“０”
【００９４】
上記(c1)における「可能性の高さに応じた正の値」は、判定部１２による判定処理時に得られるパス遅延値の差分値d_g(Pmax)−d_g(Pi)に基づき、解析部１３によって算出される。同時スイッチングは、上記差分値d_g(Pmax)−d_g(Pi)が“０”に近いほど、発生する可能性が高いと考えられる。
【００９５】
そこで、「可能性の高さに応じた正の値」として、例えば、Ｘ-｜d_g(Pmax)-d_g(Pi)｜≧０の時には“(Ｘ-｜d_g(Pmax)-d_g(Pi)｜)/Ｘ”を算出し、Ｘ-｜d_g(Pmax)-d_g(Pi)｜＜０の時には“０”を算出することが考えられる。ここで、Ｘは前述した判定用閾値である。この例では一次式によって「可能性の高さに応じた正の値」を算出しているが、ｎ次式によって「可能性の高さに応じた正の値」を算出してもよい。例えば、二次式を用いる場合、Ｘ-｜d_g(Pmax)-d_g(Pi)｜≧０の時には“[(Ｘ-｜d_g(Pmax)-d_g(Pi)｜)/Ｘ]２”を「可能性の高さに応じた正の値」として算出する。上述のような一次式もしくは二次式を用いた場合、「可能性の高さに応じた正の値」は、上記差分値d_g(Pmax)−d_g(Pi)が判定用閾値Ｘに等しい時に“０”となる一方、上記差分値d_g(Pmax)−d_g(Pi)が“０”の時に“１”となり、上記差分値d_g(Pmax)−d_g(Pi)が０〜１の時には、その差分値の大きさに応じた値となる。
【００９６】
なお、上記差分値d_g(Pmax)−d_g(Pi)は、判定部１２による判定結果として記憶部２０に保持されており、解析部１３は、記憶部２０から上記差分値d_g(Pmax)−d_g(Pi)を取得することができる。
ここで、図１２（Ａ）〜図１４（Ａ）を参照しながら、第１態様の特徴「同時スイッチング疑い」の具体例について説明する。図１４（Ａ）に示す回路構成例において、解析対象パスPi, Pj上のＮＡＮＤゲートg1, g2が、判定部１２によって、同時スイッチングの発生可能性有りと判定されているものとする。このとき、図１２（Ａ）および図１３（Ａ）に示すように、パスPi, Pjの特徴ベクトルＦ(Pi), Ｆ(Pj)のそれぞれに、ＮＡＮＤゲートg1, g2の特徴「同時スイッチング疑い」が、ベクトル成分fg1_Pi, fg2_Piまたはfg1_Pj, fg2_Pjとして設定されている。
【００９７】
より具体的に、図１３（Ａ）に示すように、同時スイッチングの発生可能性の有るゲートg1はパスPi上に存在しているので、特徴ベクトルＦ(Pi)におけるゲートg1についての特徴値fg1_Piは“１”（または可能性の高さに応じた正の値）に設定され、特徴ベクトルＦ(Pj)におけるゲートg1についての特徴値fg1_Pjは“０”に設定される。同様に、同時スイッチングの発生可能性の有るゲートg2はパスPj上に存在しているので、特徴ベクトルＦ(Pi)におけるゲートg2についての特徴値fg2_Piは“０”に設定され、特徴ベクトルＦ(Pj)におけるゲートg2についての特徴値fg2_Pjは“１”（または可能性の高さに応じた正の値）に設定される。
【００９８】
ここで示す第１態様の特徴「同時スイッチング疑い」の例では、一の多入力セルgjに対し一の特徴「同時スイッチング疑い」を与えている。しかし、多入力セルの出力信号の遷移方向（１→０または０→１）によって遅延時間の増加／減少が変わることから、実際には、一の多入力セルに対し２つの特徴「同時スイッチング疑い」を与え、２つの遷移方向を区別して解析を行なうことが好ましい。
【００９９】
上述した第１態様による特徴「同時スイッチング疑い」によれば、同時スイッチングを起こす可能性のある多入力セルの数（遷移方向を区別した場合にはセル数の２倍）だけ特徴が定義されることになる。このように定義された特徴を用いて後述するスピードパス解析を行なった場合、特徴「同時スイッチング疑い」が個々の多入力セルについて定義されているので、どの多入力セルが同時スイッチングを起こしたかを特定することが可能になる。
【０１００】
図１２（Ｂ），図１３（Ｂ）および図１４（Ｂ）に示す第２態様において、特徴「同時スイッチング疑い」は、解析対象パス上における多入力セルのタイプ毎の同時スイッチングの発生可能性を示す値で、多入力セルのタイプ数に応じた数の特徴として抽出される。つまり、図１２（Ｂ）に示すように、第２態様では、多入力セルのタイプを区別し、多入力セルのタイプ毎に異なる「同時スイッチング疑い」についての特徴が用意される。ここでは、セルのタイプをＮＡＮＤとＮＯＲとの２種類とし、それぞれに対し特徴fnand_Piおよびfnor_Piが用意される。
【０１０１】
特徴fnand_Piは、下記(d1), (d2)のように与えられる。
(d1) ＮＡＮＤゲートがパスPi上に存在し且つ同時スイッチングの発生可能性が有る場合に“１”（またはそのＮＡＮＤゲートの数またはそのゲート数に比例した正の値）
(d2) ＮＡＮＤゲートがPi上に存在するが同時スイッチングの発生可能性が無い場合またはＮＡＮＤゲートがPi上に存在しない場合に“０”
【０１０２】
同様に、特徴fnor_Piは、下記(e1), (e2)のように与えられる。
(e1) ＮＯＲゲートがパスPi上に存在し且つ同時スイッチングの発生可能性が有る場合に“１”（またはそのＮＯＲゲートの数またはそのゲート数に比例した正の値）
(e2) ＮＯＲゲートがPi上に存在するが同時スイッチングの発生可能性が無い場合またはＮＯＲゲートがPi上に存在しない場合に“０”
【０１０３】
ここで、図１２（Ｂ）〜図１４（Ｂ）を参照しながら、第２態様の特徴「同時スイッチング疑い」の具体例について説明する。図１４（Ｂ）に示す回路構成例において、解析対象パスPi上のＮＡＮＤゲートg1, g3と解析対象パスPj上のＮＡＮＤゲートg2とが、判定部１２によって、同時スイッチングの発生可能性有りと判定されているものとする。このとき、図１２（Ｂ）および図１３（Ｂ）に示すように、パスPi, Pjの特徴ベクトルＦ(Pi), Ｆ(Pj)のそれぞれに、ＮＡＮＤゲートおよびＮＯＲゲートの特徴「同時スイッチング疑い」が、ベクトル成分fnand_Pi, fnor_Piまたはfnand_Pj, fnor_Pjとして設定されている。
【０１０４】
より具体的に、図１３（Ｂ）に示すように、同時スイッチングの発生可能性の有る２つのＮＡＮＤゲートg1, g3がパスPi上に存在しているので、特徴ベクトルＦ(Pi)におけるＮＡＮＤゲートについての特徴値fnandは“２”に設定される。また、同時スイッチングの発生可能性の有る一つのＮＡＮＤゲートg2がパスPj上に存在しているので、特徴ベクトルＦ(Pj)におけるＮＡＮＤゲートについての特徴値fnand_Pjは“０”に設定される。一方、パスPi, Pj上には、同時スイッチングの発生可能性が有るＮＯＲゲートが存在していないので、特徴ベクトルＦ(Pi)におけるＮＡＮＤゲートについての特徴値fnor_Piも、特徴ベクトルＦ(Pj)におけるＮＡＮＤゲートについての特徴値fnor_Pjも“０”に設定される。
【０１０５】
ここで示す第２態様の特徴「同時スイッチング疑い」の例では、一の多入力セルのタイプに対し一の特徴「同時スイッチング疑い」を与えている。しかし、多入力セルの出力信号の遷移方向（１→０または０→１）によって遅延時間の増加／減少が変わることから、実際には、一の多入力セルのタイプに対し２つの特徴「同時スイッチング疑い」を与え、２つの遷移方向を区別して解析を行なうことが好ましい。
【０１０６】
上述した第２態様による特徴「同時スイッチング疑い」によれば、同時スイッチングを起こす可能性のある多入力セルのタイプ数（遷移方向を区別した場合にはタイプ数の２倍）だけ特徴が定義されることになる。従って、第１態様に比べると、特徴の数が少なくなり、解析部１３での解析処理が高速になる。
【０１０７】
さて、解析部１３は、上述のように、解析対象パスPi毎に上述のような特徴ベクトルＦ(Pi)を抽出すると、以下の考えに基づいて、同時スイッチングを考慮したスピードパス解析を実行する。
ここで、ディレイテストによって取得され各解析対象パスPiに割り当てられる遅延時間の測定値を“d_silicon(Pi)”とし、各解析対象パスPiについてツール等によって算出された遅延時間の予測値を“d_predict(Pi)”とすると、これらの測定値と予測値との差Δd(Pi)は、下記(3)式のように与えられる。
d_silicon(Pi)＝d_predict(Pi)＋Δd(Pi)      (3)
【０１０８】
上記(3)式において、Δd(Pi)＜＜d_predict(Pi)、つまりΔd(Pi)はd_predict(Pi)に対し十分に小さい。このため、差Δd(Pi)は、簡略的にしかモデル化されていなかった現象を示す複数の特徴f1_Pi, f2_Pi, …, fN_Pi (Nは２以上の自然数)について、線形近似することができると考えられるので、各解析対象パスPiについて、下記(4)式が成り立つことになる。この(4)式は、解析対象パスPiの数と同じ数だけ導出される。
Δd(Pi)＝w1*f1_Pi＋w2*f2_Pi＋…＋wi*fi_Pi＋…＋wN*fN_Pi    (4)
【０１０９】
ここで、f1_Pi, f2_Pi, …, fN_PiはパスPiの特徴ベクトルＦ(Pi)のベクトル成分で、これらの特徴f1_Pi〜fN_Piの中には、図１２〜図１４により前述した特徴「同時スイッチング疑い」が含まれている。この特徴「同時スイッチング疑い」としては、第１態様のfgj_Pi（ｊ＝1〜ｘ）または第２態様のfnand_Pi, fnor_Piのいずれか一方が用いられる。また、w1, w2, …, wNは、それぞれ、パスPiの特徴ベクトルＦ(Pi)のベクトル成分f1_Pi〜fN_Piに対する重み係数[ps]である。重み係数w1〜wNの中には、第１態様の特徴fgj_Pi（ｊ＝1〜ｘ）に対する重み係数wgj、または、第２態様の特徴fnand_Pi, fnor_Piに対する重み係数wNAND, wNORが含まれている。
【０１１０】
解析部１３は、解析対象パスPi毎に導出された上記(4)式を、ＳＶＭ（Support Vector Machine）回帰などの線形回帰解析により、重み係数w1, w2, …, wNについて解くことで、重み係数w1,w2,…,wNの値を取得する。このように取得された重み係数wxの値が大きい場合、その重み係数wxに対応する特徴fxが、測定値“d_silicon(Pi)”と予測値“d_predict(Pi)”との誤差Δdを発生させる要因になっていると考えられる。
【０１１１】
つまり、同時スイッチングが起きている場合には、「同時スイッチング疑い」の特徴fg1_Pi〜fgｘ_Piまたはfnand_Pi, fnor_Piに起因して誤差Δdが発生することになるため、特徴「同時スイッチング疑い」に係る重み係数wgjまたはwNAND, wNORの値が大きくなる。例えば、図１２（Ａ）〜図１４（Ａ）に示す第１態様を採用した場合には、重み係数wg1〜wgxの値のいずれかが大きくなり、同時スイッチングを起こしている一以上の多入力セルを特定することができる。また、図１２（Ｂ）〜図１４（Ｂ）に示す第２態様を採用した場合には、重み係数wNAND, wNORの値のいずれかが大きくなり、同時スイッチングを起こしている多入力セルのタイプを特定することができる。
【０１１２】
これに対して、同時スイッチングが起きていない場合には、特徴「同時スイッチング疑い」に係る重み係数wgjまたはwNAND, wNORの値は大きくならず、他の特徴に係る重み係数が大きくなり、他の特徴に起因して誤差Δdが発生していると解析される。
このように、解析部１３は、多入力セルでの同時スイッチングの発生可能性に関する情報、つまり「同時スイッチング疑い」の特徴fgj_Piまたはfnand_Pi, fnor_Piに対する重み係数wgjまたはwNAND, wNORの値に基づいて、同時スイッチングの発生状況を特定する（図２のステップＳ１００）。
【０１１３】
より具体的に、解析部１３により、重み係数w1, w2, w3, …, wg1 (またはwNAND), wg2 (またはwNOR)として図１５に示すような値が取得され、所定値（例えば60）以上の重みw1およびwg1 (またはwNAND)に対応する特徴が、誤差Δdの発生要因であると解析される。つまり、図１２（Ａ）〜図１４（Ａ）に示す第１態様を採用した場合、図１５に示す解析結果に基づき、低電力トランジスタと図１４（Ａ）に示すゲートg1で発生する同時スイッチングとが誤差Δdの発生要因であると解析される。一方、図１２（Ｂ）〜図１４（Ｂ）に示す第２態様を採用した場合、図１５に示す解析結果に基づき、低電力トランジスタと図１４（Ｂ）に示すＮＡＮＤゲートで発生する同時スイッチングとが誤差Δdの発生要因であると解析される。
【０１１４】
〔３〕本実施形態の遅延解析装置の効果
本実施形態によれば、一つのディレイテスト結果から、ネットリスト２２やＳＤＦファイル２３などを用いて、同時スイッチングの発生可能性の有る多入力セルが抽出される。このような多入力セルが存在する場合、その多入力セルに係る２以上の活性化パスに、ディレイテスト結果で得られた遅延時間の測定値が割り当てられる。つまり、同時スイッチングの発生可能性が有る場合には、一つのディレイテスト結果について活性化パスを一本に絞り込まず、２以上の活性化パス、および、同時スイッチングを起こしうる多入力セルが故障解析の対象として取り扱われる。そして、各パスの特徴として「同時スイッチング疑い」が導入され、同時スイッチングを考慮した遅延要因の解析が行なわれる。これにより、多入力セルにおいて同時スイッチングが発生している可能性の有無が高速に判定されるとともに、同時スイッチングを考慮した遅延要因の解析が高精度かつ高速に行なわれる。つまり、同時スイッチングを起こしている多入力セル、あるいは、多入力セルタイプを正確かつ高速に特定することができる。
【０１１５】
また、判定動作の第１態様によれば、判定部１２において、上記(1)式に基づく判定を行なうことにより、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
判定動作の第２態様によれば、判定部１２において、上記(2)式に基づきゲートgでの同時スイッチングの発生可能性の有無が判定されるので、前述した第１態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングが発生している可能性の高い多入力セルや、同時スイッチングの発生要因となる活性化パスがより多く見出され、その活性化パスに、ディレイテストで得られた測定値が割り当てられる。これにより、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
【０１１６】
判定動作の第３態様によれば、図７に示すように、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合、その同時スイッチングを考慮した修正が遅延予測値に対し行なわれる。これにより、判定部１２において、同時スイッチングの発生可能性有りと判定された他の多入力セルの同時スイッチングを考慮しながら、ゲートgにおける同時スイッチングの発生可能性の有無が確実に判定される。
【０１１７】
判定動作の第４態様によれば、図７に示すように、判定対象のゲートgbが、同時スイッチングの発生可能性の有るゲートgaに接続され、このゲートgaの同時スイッチングの影響を受ける可能性がある場合、その同時スイッチングを考慮した修正が遅延予測範囲に対し行なわれる。その際、図１１に示すように、遅延予測範囲を拡張する修正が行なわれることになるので、前述した第１〜第３態様よりも厳しい条件で、同時スイッチングの発生可能性の有無が判定される。従って、同時スイッチングの発生可能性の高い多入力セルや、同時スイッチングの発生要因となりうる活性化パスが、第１〜第３態様よりも多く見出され、故障解析の対象として取り扱われる。これにより、解析部１３においては、より多くの同時スイッチングに係る情報を用い、実チップでの遅延要因の一つとして多入力セルでの同時スイッチングを考慮した解析を行なうことができる。
【０１１８】
図１２（Ａ），図１３（Ａ）および図１４（Ａ）に示す第１態様の特徴「同時スイッチング疑い」を用いて後述するスピードパス解析を行なった場合、特徴「同時スイッチング疑い」が個々の多入力セルについて定義されているので、どの多入力セルが同時スイッチングを起こしたかを確実に特定することができる。
また、図１２（Ｂ），図１３（Ｂ）および図１４（Ｂ）に示す第２態様の特徴「同時スイッチング疑い」によれば、第１態様の特徴ベクトルに比べベクトル成分（特徴）の数が少なくなり解析部１３での解析処理を高速化できるほか、どのタイプの多入力セルが同時スイッチングを起こしたかを確実に特定することができる。
【０１１９】
〔４〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
なお、上述した実施形態では、多入力セルが、ＮＡＮＤゲートやＮＯＲゲートである場合について説明したが、これらのタイプのゲートに限定されるものではない。
また、上述した抽出部１１，判定部１２，解析部１３，算出部１４および修正部１５としての機能の全部もしくは一部は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（遅延解析プログラム）を実行することによって実現される。
【０１２０】
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷ，ブルーレイディスクなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【０１２１】
ここで、コンピュータとは、ハードウエアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウエアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記遅延解析プログラムは、上述のようなコンピュータに、上記各部１１〜１５の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【０１２２】
〔５〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
実チップに対する遅延試験の結果に基づき遅延要因を解析する遅延解析装置であって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する抽出部と、
前記抽出部によって抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定部と、
前記判定部による判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析部とを有する、遅延解析装置。
【０１２３】
（付記２）
前記判定部は、前記多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、前記多入力セルに入力する前記２以上の活性化パスを２以上の対象パスとして特定し、前記２以上の対象パスに、前記遅延試験で取得された遅延時間の測定値を割り当て、前記２以上の対象パスに関する情報と前記遅延時間の測定値とを、前記多入力セルでの同時スイッチングの発生可能性に関する情報とともに、前記判定結果として前記解析部に対し通知する、付記１記載の遅延解析装置。
【０１２４】
（付記３）
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測値を、前記入力タイミングとして算出する算出部をさらに有し、
前記判定部は、前記算出部により前記２以上の活性化パスについてそれぞれ算出された２以上の予測値のうちの最大の予測値と前記最大の予測値以外の各予測値とを比較して、前記最大の予測値との差が所定値以内の予測値が存在するか否かを判定し、前記所定値以内の予測値が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測値の活性化パスと、前記所定値以内の予測値の活性化パスとを前記対象パスとして特定する、付記２記載の遅延解析装置。
【０１２５】
（付記４）
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第２多入力セルが存在するか否かを判定し、前記第２多入力セルが存在する場合、予め保存された前記第２多入力セルの特性に基づき、前記活性化パスについて前記算出部により算出された前記予測値を修正する修正部をさらに有する、付記３記載の遅延解析装置。
【０１２６】
（付記５）
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測範囲を、前記入力タイミングとして算出する算出部をさらに有し、
前記判定部は、前記算出部により前記２以上の活性化パスについてそれぞれ算出された２以上の予測範囲のうちの最大の予測範囲の下限値と前記最大の予測範囲以外の各予測範囲の上限値とを比較して、前記最大の予測範囲の下限値との差が所定値以内の上限値をもつ予測範囲が存在するか否かを判定し、前記所定値以内の上限値をもつ予測範囲が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測範囲の活性化パスと、前記所定値以内の上限値をもつ予測範囲の活性化パスとを前記対象パスとして特定する、付記２記載の遅延解析装置。
【０１２７】
（付記６）
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第２多入力セルが存在するか否かを判定し、前記第２多入力セルが存在する場合、予め保存された前記第２多入力セルの特性に基づき、前記活性化パスについて前記算出部により算出された前記予測範囲を修正する修正部をさらに有する、付記５記載の遅延解析装置。
【０１２８】
（付記７）
前記解析部は、前記２以上の対象パスを含む複数の解析対象パスと、前記複数の解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報と、各解析対象パスに割り当てられた前記遅延時間の測定値と、各解析対象パスについて予め得られた遅延時間の予測値とに基づいて、同時スイッチングの発生状況を前記遅延要因の一つとして解析する、付記２〜付記６のいずれか一項に記載の遅延解析装置。
【０１２９】
（付記８）
前記解析部は、
各解析対象パスについて、前記遅延時間の測定値と前記遅延時間の予測値との差Δdの発生要因となる複数の特徴を、前記多入力セルでの同時スイッチングの発生可能性に関する情報を前記特徴として含めて抽出し、
前記複数の特徴をf1,f2,…,fN (Nは２以上の自然数)とし、前記複数の特徴f1,f2,…,fNに対する重み係数をそれぞれw1,w2,…,wNとした場合、
Δd＝w1*f1＋w2*f2＋…＋wi*fi＋…＋wN*fN
となる式を前記解析対象パス毎に導出し、
前記複数の解析対象パスについて導出された複数の式を前記重み係数w1,w2,…,wNについて解くことにより、前記重み係数w1,w2,…,wNの値を取得し、
前記複数の特徴のうち、前記多入力セルでの同時スイッチングの発生可能性に関する情報に対する重み係数の値に基づいて、同時スイッチングの発生状況を特定する、付記７記載の遅延解析装置。
【０１３０】
（付記９）
前記多入力セルでの同時スイッチングの発生可能性に関する情報は、各解析対象パス上の複数の多入力セルそれぞれにおける、同時スイッチングの発生可能性を示す値で、前記複数の多入力セルの数に応じた数の特徴として抽出される、付記８記載の遅延解析装置。
（付記１０）
前記発生可能性を示す値は、前記判定部で可能性無しと判定された場合に０であり、可能性有りと判定された場合に正の値である、付記９記載の遅延解析装置。
（付記１１）
前記発生可能性を示す値は、前記判定部で可能性無しと判定された場合に０となり、可能性有りと判定された場合に、その可能性の高さに応じた正の値である、付記９記載の遅延解析装置。
【０１３１】
（付記１２）
前記多入力セルでの同時スイッチングの発生可能性に関する情報は、各解析対象パス上における多入力セルのタイプ毎の同時スイッチングの発生可能性を示す値で、各解析対象パス上における多入力セルのタイプ数に応じた数の特徴として抽出される、付記８記載の遅延解析装置。
（付記１３）
前記発生可能性を示す値は、前記判定部で可能性無しと判定された場合に０であり、可能性有りと判定された場合に正の値である、付記１２記載の遅延解析装置。
（付記１４）
前記発生可能性を示す値は、同一タイプの多入力セルの全てについて前記判定部で可能性無しと判定された場合に０であり、同一タイプの多入力セルについて、可能性有りと判定されたものの数に比例した正の値である、付記１２記載の遅延解析装置。
【０１３２】
（付記１５）
実チップに対する遅延試験の結果に基づき遅延要因を解析する遅延解析装置として、コンピュータを機能させる遅延解析プログラムであって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する抽出部、
前記抽出部によって抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定部、および、
前記判定部による判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析部として、前記コンピュータを機能させる、遅延解析プログラム。
【０１３３】
（付記１６）
前記多入力セルにおいて同時スイッチングが発生している可能性が有ると判定した場合、前記多入力セルに入力する前記２以上の活性化パスを対象パスとして特定し、前記２以上の対象パスに、前記遅延試験で取得された遅延時間の測定値を割り当て、前記２以上の対象パスに関する情報と前記遅延時間の測定値とを、前記多入力セルでの同時スイッチングの発生可能性に関する情報とともに、前記判定結果として通知する処理を、前記コンピュータに実行させる、付記１５記載の遅延解析プログラム。
【０１３４】
（付記１７）
前記実チップのネットリストと、前記実チップの多入力セルを含む回路素子の遅延時間の予測値を遅延情報として予め格納する遅延情報ファイルとに基づき、各信号の前記多入力セルまでの遅延時間の予測範囲を、前記入力タイミングとして算出する処理を、前記コンピュータに実行させ、
前記２以上の活性化パスについてそれぞれ算出された２以上の予測範囲のうちの最大の予測範囲の下限値と前記最大の予測範囲以外の各予測範囲の上限値とを比較して、前記最大の予測範囲の下限値との差が所定値以内の上限値をもつ予測範囲が存在するか否かを判定し、前記所定値以内の上限値をもつ予測範囲が存在する場合、前記多入力セルにおいて同時スイッチングが発生している可能性があると判定するとともに、前記最大の予測範囲の活性化パスと、前記所定値以内の上限値をもつ予測範囲の活性化パスとを前記対象パスとして特定する処理を、前記コンピュータに実行させる、付記１６記載の遅延解析プログラム。
【０１３５】
（付記１８）
信号入力側から前記多入力セルまでの活性化パス上に、同時スイッチングが発生している可能性があると判定された第２多入力セルが存在するか否かを判定し、前記第２多入力セルが存在する場合、予め保存された前記第２多入力セルの特性に基づき、前記活性化パスについて算出された前記予測範囲を修正する処理を、前記コンピュータに実行させる、付記１７記載の遅延解析プログラム。
【０１３６】
（付記１９）
前記２以上の対象パスを含む複数の解析対象パスと、前記複数の解析対象パス上における多入力セルでの同時スイッチングの発生可能性に関する情報と、各解析対象パスに割り当てられた前記遅延時間の測定値と、各解析対象パスについて予め得られた遅延時間の予測値とに基づいて、同時スイッチングの発生状況を前記遅延要因の一つとして解析する処理を、前記コンピュータに実行させる、付記１７または付記１８に記載の遅延解析プログラム。
【０１３７】
（付記２０）
実チップに対する遅延試験の結果に基づき遅延要因をコンピュータにより解析する遅延解析方法であって、
前記遅延試験時に信号が伝播した活性化パスが複数存在する場合、２以上の活性化パスが入力されている多入力セルを抽出する抽出ステップと、
前記抽出ステップにおいて抽出された前記多入力セルについて、前記２以上の活性化パスにおける各信号の前記多入力セルへの入力タイミングに基づき、同時スイッチングが発生している可能性の有無を判定する判定ステップと、
前記判定ステップにおける判定結果および前記遅延試験の結果に基づき、同時スイッチングの発生状況を前記遅延要因の一つとして解析する解析ステップとを含む、遅延解析方法。（７；図２）
【符号の説明】
【０１３８】
１    遅延解析装置
１０    ＣＰＵ（処理部）
１１    抽出部
１２    判定部
１３    解析部
１４    算出部
１５    修正部
２０    記憶部
２１    ディレイテスト結果データベース
２２    ネットリスト
２３    ＳＤＦファイル（遅延情報ファイル）
２４    多入力セル特性情報データベース
１０１    入力側レジスタ（フリップフロップ）
１０２    出力側レジスタ（フリップフロップ）
【図１】
2011253920.tif 000003
【図２】
2011253920.tif 000004
【図３】
2011253920.tif 000005
【図４】
2011253920.tif 000006
【図５】
2011253920.tif 000007
【図６】
2011253920.tif 000008
【図７】
2011253920.tif 000009
【図８】
2011253920.tif 000010
【図９】
2011253920.tif 000011
【図１０】
2011253920.tif 000012
【図１１】
2011253920.tif 000013
【図１２】
2011253920.tif 000014
【図１３】
2011253920.tif 000015
【図１４】
2011253920.tif 000016
【図１５】
2011253920.tif 000017
【図１６】
2011253920.tif 000018
【図１７】
2011253920.tif 000019
【図１８】
2011253920.tif 000020