(57)【要約】  【課題】  レジスタ間のホールドタイム検証において、クロック遅延時間のばらつきをシミュレーションと実デバイスとの統計的な遅延誤差から設計マージンとして設定しているが、クロック遅延が大きくなり、設計マージンや設計工数及びチップサイズが増大するのを解決する。  【解決手段】  ステップＳ１において前段及び後段のフリップフロップのクロック入力端子をバックトレースしてクロック信号の分岐点を特定し、ステップＳ２においてクロック分岐点から後段のフリップフロップのクロック入力端子までの遅延を求め、ステップＳ３においてその遅延にシミュレーションと実デバイスの統計的な誤差をマージンとして与える。また、セル構造が同じ，電圧降下率や配線占有率の差が小さい場合遅延誤差も小さいため、ステップＳ５，Ｓ６，Ｓ８により各セル及び配線の設計マージンを動的に、即ちチップ毎に削減した後、ステップＳ１１によりホールドタイムをチェックする。【選択図】    図２
2005275783.tif 000002
【特許請求の範囲】
【請求項１】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、
該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削除工程とを含む、
ことを特徴とする半導体集積回路のタイミング解析方法。
【請求項２】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、
該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削除工程とを含む、
ことを特徴とする半導体集積回路のタミング解析方法。
【請求項３】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、
該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程とを含む、
ことを特徴とする半導体集積回路のタイミング解析方法。
【請求項４】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、
該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削減工程と、
前記各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、
該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削減工程とを含み、
前記第１の検出，削除工程および前記第２の検出，削除工程を互いに並行して実行する、
ことを特徴とする半導体集積回路のタイミング解析方法。
【請求項５】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、
該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削除工程と、
前記各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、
該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程とを含み、
前記第２の検出，削除工程および前記第３の検出，削除工程を互いに並行して実行する、
ことを特徴とする半導体集積回路のタイミング解析方法。
【請求項６】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、
該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程と、
前記各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、
該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削除工程とを含み、
前記第３の検出，削除工程および前記第１の検出，削除工程を互いに並行して実行する、
ことを特徴とする半導体集積回路のタイミング解析方法。
【請求項７】
静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、
前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、
該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削除工程と、
前記各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、
該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削除工程と、
前記各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、
該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程とを含み、
前記第１の検出，削除工程、前記第２の検出，削除工程、および前記第３の検出，削除工程を互いに並行して実行する、
ことを特徴とする半導体集積回路のタイミング解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のタイミング解析方法に関するものであり、特に、静的タイミング検証時のホールドタイムの解析方法の改良を図ったものに関する。
【背景技術】
【０００２】
静的タイミング検証とは、従来の論理シミュレーションが担っていた機能検証とタイミング検証の中で、タイミング検証のみをテストベクタ無しに、高速にかつ網羅的に行うことである。
【０００３】
このような静的タイミング解析時において、フリップフロップ間のホールドタイム検証、即ちラッチされたデータがクロック信号入力以後も保持されるべき時間を検証するホールドタイム検証において、データの突き抜けが起こっていないかに関するチェックを行っている。このデータの突き抜けとは、前段のフリップフロップで叩いたデータが、同じサイクルのクロックが後段のフリップフロップのクロック入力端子に到達する前に、後段のフリップフロップのデータ及びロードホールドに到達する不具合である。
【０００４】
その際、シミュレーション上ではタイミングが満たせていても、実デバイスではタイミングエラーが起こることがある。
【０００５】
このタイミングエラーが起こる理由は、シミュレーションと実デバイスとの遅延誤差であり、この誤差は製造プロセスのばらつき・レイアウト要因（電圧降下によるセル能力の低下・配線の占有率の違いにより生じるスライス研磨時の強弱による配線抵抗差・クロストークノイズ）によるばらつき・ツール性能（寄生容量抽出・遅延計算）によるばらつきなどが挙げられる。
【０００６】
そこで、実デバイスでタイミングエラーを起こさないために、上記ばらつきによる統計的な遅延誤差を設計マージンとして与えて、悲観的な、即ちワーストケースを想定したチェックを行ってタイミングエラーが生じるのを防いでいる。
【０００７】
設計マージンの与え方は、シミュレーション結果と実デバイスとを比較して統計的に抽出したばらつきによる遅延誤差を後段のフリップフロップのライブラリにマージンとして悲観的に、すなわち最悪のケースを想定して十二分な遅延時間を付加する方法や、ホールドタイム検証時に前段と後段のフリップフロップのクロック入力端子をバックトレースして合流したポイント、すなわちクロック分岐点から後段のフリップフロップのクロック入力ピンまでの遅延時間のみに対して、マージンを与えて遅らせることで悲観的に検証を行う方法が挙げられる。
【０００８】
例えば、特許文献１に開示されたタイミング解析方法によれば、前段および後段のフリップフロップのクロック入力端子に供給されるクロック信号の線路を遡ってこれら前段および後段のクロック信号が合流する分岐点を特定する。
【０００９】
次に、このクロック分岐点から前段および後段のフリップフロップまでのクロック信号の遅延時間をそれぞれ算出する。
【００１０】
続いて、これらの遅延時間に基づいて、動作上のタイミングマージンを求める。このタイミングマージンの算出は、例えばシミュレーションによる遅延時間と実デバイスでの遅延時間との間の統計的な誤差を求めることによりこれを行う。
【００１１】
図１１はこのようなシミュレーションによる遅延時間と実デバイスでの遅延時間との間の統計的な誤差を求める従来の半導体装置のタイミング解析装置を示し、ＣＰＵ１はファイル装置３に記憶された半導体集積回路のデータに基づきメモリ４をワークエリアとして用いてそのシミュレーションを行い、遅延時間の分析結果をファイル装置３に戻す。一方、ＣＰＵ１はプローブ６に対しバス２，Ｉ／Ｆ５を介して実デバイス用のテストデータを与え、実デバイスからの応答信号を得てその遅延時間を分析する。ＣＰＵ１はこの実デバイスでの遅延時間の分析結果と既に獲得しているシミュレーションによる遅延時間の分析結果とを用いてこれらの間の統計的な誤差を求め、この誤差に基づいてタイミングマージンを算出する。
【特許文献１】特開２００３−１６２５６１号公報（第３−４頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述のように、従来のこの種のタイミング解析方法では、クロック分岐点から後段のフリップフロップのクロック入力端子までの遅延時間にマージンを与える検証方法において、統計的な遅延誤差からマージンを決定していたため、遅延誤差の平均を取った場合、ワースト条件時に実デバイスで不良を出すことがある。
【００１３】
即ち、仮にワースト条件時の遅延誤差をマージンとしてチップ上の各回路や配線に一律に与えた場合、パワーマネージメント等のクロックゲーティッドを複数段有する回路構成であれば、クロックの遅延時間が大きくなり、それに伴い設計マージンも大きく要する。このため、ホールドチェック時にタイミングエラーが過剰に出力されるため、タイミングエラーに対する修正工数及び修正に伴うチップサイズを増大させることになる。
【００１４】
この発明は、上記のような従来のものの問題点を解決するためになされたもので、設計マージンの精度の向上による歩留り向上、修正工数および修正時のセル面積の増加の抑制、および設計マージンの削減が可能な半導体集積回路のタイミング解析方法を得ることを目的としている。
【課題を解決するための手段】
【００１５】
上記の課題を解決するために、本発明の請求項１に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削除工程とを含むことを特徴とするものである。
【００１６】
また、本願の請求項２に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削除工程とを含むことを特徴とするものである。
【００１７】
また、本願の請求項３に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程とを含むことを特徴とするものである。
【００１８】
また、本願の請求項４に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削減工程と、前記各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削減工程とを含み、前記第１の検出，削除工程および前記第２の検出，削除工程を互いに並行して実行することを特徴とするものである。
【００１９】
また、本願の請求項５に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削除工程と、前記各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程とを含み、前記第２の検出，削除工程および前記第３の検出，削除工程を互いに並行して実行することを特徴とするものである。
【００２０】
また、本願の請求項６に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程と、前記各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削除工程とを含み、前記第３の検出，削除工程および前記第１の検出，削除工程を互いに並行して実行することを特徴とするものである。
【００２１】
また、本願の請求項７に係る半導体集積回路のタイミング解析方法は、静的タイミング解析時のフリップフロップ間のホールドタイミング検証時、クロックのばらつきを考慮して、シミュレーションと実デバイスとの統計的な誤差をクロックの遅延時間に設計マージンとして与えてタイミング解析を行う半導体集積回路のタイミング解析方法において、前段のフリップフロップのクロック入力端子および後段のフリップフロップのクロック入力端子よりそれぞれのクロック信号線路を遡上ってクロック信号の分岐点を検出し、前記分岐点から前記前段および後段のフリップフロップのクロック入力端子に至るまでの各クロック信号線路間で同一構造をもつセルが存在するか否かを検出する第１の検出工程と、該第１の検出工程により同一構造をもつセルが存在する旨が検出された場合に、当該同一構造をもつセルに対し、設計マージンを削減する第１の削除工程と、前記各クロック信号線路間で電圧降下率の差の小さいセルを検出する第２の検出工程と、該第２の検出工程により電圧降下率の差の小さいセルが検出された場合に、当該電圧降下率の差の小さいセルに対し、設計マージンを削減する第２の削除工程と、前記各クロック信号線路間で配線密度の差の小さい配線を検出する第３の検出工程と、該第３の検出工程により配線密度の差の小さい配線が検出された場合に、当該配線密度の差の小さい配線に対し、設計マージンを削減する第３の削除工程とを含み、前記第１の検出，削除工程、前記第２の検出，削除工程、および前記第３の検出，削除工程を互いに並行して実行することを特徴とするものである。
【００２２】
本発明の請求項１ないし７に係る半導体装置のタイミング解析方法は、上述のように構成したことで、相異なるクロック信号線路上でセル構造が同じ場合や電圧降下率の差が小さい場合、あるいは、配線占有率の差が小さい場合、遅延誤差が少ないため各セル及び配線の設計マージンを動的につまり個別のチップ毎に削減し、タイミングチェックを行う。
【００２３】
即ち、セル構造が同じ場合、クロック分岐点から同じセル構造までのセルを抽出し、セル構造の違いによるマージンをその箇所まで削除する。セル構造の違う箇所に関しては従来例と同様のマージンを与える。
【００２４】
電圧降下率の場合、まず市販の電圧降下率検出用ツールによりレイアウトデータからクロックセルの電圧降下率を抽出する。電圧降下によってセルの駆動能力が低下した場合のテーブルをシミュレーションと実デバイスの評価とに基づき抽出しておき、電圧降下率によって各セルの遅延時間をセルに付加して検証する。
【００２５】
配線密度（配線占有率）の場合、レイアウトデータをあるウインドウで区切り、区切った箇所の配線の占有率を抽出する。次に、クロック分岐点から前段と後段のフリップフロップのクロック入力端子までの配線がどのウインドウを配線しているか抽出する。各配線の占有率がこれで求まる。
【００２６】
また、配線占有率による配線抵抗のテーブルを作成しておき、配線抵抗による前段と後段のクロック配線の遅延時間差を後段のクロック配線遅延に付加して検証する。
【発明の効果】
【００２７】
セル構造の違いによるプロセスばらつき・電圧降下率の違いによるセル駆動能力のばらつき・配線占有率の違いによる配線抵抗ばらつきに応じて個々の遅延誤差を、画一的な値とは異なるマージンとしてきめ細かく設定して検証するため、設計マージンの精度の向上による歩留り向上が得られる。
【００２８】
また、統計的な過剰マージンにおける、ホールドチェック時のエラーに対する修正工数及び、修正時のセル面積増加を抑制できる。
【００２９】
さらに、クロック設計時にセル構造の統一、即ち同一セル構造を有する箇所に対するマージンの削減や、電源戦略による電圧降下率削減、レイアウトのフロアプラン設計による配線占有率の均一化、を図ることにより、シミュレーションと実デバイスとから統計的な誤差を抽出する前に、設計段階でインタラクティブにマージンを変更できるため、全体的な設計マージンを容易に削減できる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態１による半導体集積回路のタイミング解析方法について図面を用いて説明する。
図１は、本実施の形態１による半導体集積回路のタイミング解析方法の適用対象となる回路の一例を示すものであり、ホールドタイミングチェック時のタイミングマージンの与え方について、説明を簡単にするため、１ペアのフリップフロップ、すなわち前段および後段のフリップフロップからなる回路を示している。
【００３１】
図において、ＣＬＫはクロック信号が入力されるクロック端子、Ｇ１はバッファ、Ｇ２，Ｇ４は論理セル、Ｇ３，Ｇ５，Ｇ６はＣＴＳ（Clock Tree Synthesis）バッファ、Ｇ７，Ｇ８は前段，後段のフリップフロップ、Ｌ１〜Ｌ７はクロック信号線路としての配線である。
【００３２】
ホールドタイミングチェックは、図１のクロックソースポイントＣＬＫ点から前段のフリップフロップＧ７の入力端子Ｃ点までのクロック信号の遅延時間T|CLK-C|と、Ｃ点から後段のフリップフロップＧ８のデータ入力端子Ｅ点までのデータ信号の遅延時間T|C-E|との和が、ＣＬＫ点から後段のフリップフロップＧ８のクロック入力端子Ｆ点までのクロック信号の遅延時間T|CLK-F|よりも遅れているかを否かを確認している。
【００３３】
そこで、ホールドタイミングチェック時にシミュレーションと実デバイスとのばらつきをマージンとして与えて検証しているが、このマージンを与える一つの方法として後段のフリップフロップＧ８のセルにライブラリとして遅延T|X|を与えることがある。この遅延T|X|は後段のクロック遅延時間T|CLK-F|に追加される形で検証を行う。その計算式を以下に記す。
T|CLK-C| + T|C-E|  >  T|CLK-F| + T|X|  …（１）
【００３４】
この方法では、クロック信号に着目した回路構成とは関係なくタイミングマージンを与えてしまうため、以下のようにタイミングマージンを与える方法もある。
その方法は、まず前段のフリップフロップＧ７のクロック入力端子（Ｃ点）および後段のフリップフロップＧ８のクロック入力端子（Ｆ点）からバックサーチを開始してこれらの合流ポイントＡ点を抽出する。この合流ポイントは、フリップフロップＧ７のクロック入力端子および後段のフリップフロップＧ８のクロック入力端子から順次クロックラインを遡り、同一のポイントに合流したことで抽出できる。次に、Ａ点からＦ点までのクロック信号の遅延時間T|A-F|に対して設計マージンを与える。設計マージンの与え方は、シミュレーションと実デバイスとの統計的な誤差をクロック信号の遅延時間に対し一律に与える。その計算式を以下に示す。T|M|はタイミングマージンであり、クロック信号遅延に対して５％のマージンを与える場合は0.05がT|M|に入る。
T|CLK-C| + T|C-E|  >  T|CLK-A| + T|A-F| * T|M|  …（２）
但し、“＊”は乗算を表わす。
【００３５】
しかしながら、本発明の半導体集積回路のタイミング解析方法では、上記のタイミング解析方法に対して、さらにクロックの回路構成及びレイアウト要因を明確にする事でタイミングマージンをさらに削減することが出来る。以下では、その方法について説明する。
図２は、本発明の実施の形態１によるタイミング検証システムの処理手順である。また、図１０はこのタイミング検証システムのブロック構成を示すものである。
【００３６】
まず、ステップＳ１において、クロック信号分岐点検出手段１０１によりクロック信号の分岐点を特定する。分岐点の特定方法は図１に関する上記の説明で既に述べている。次にステップＳ２において、クロック遅延時間算出手段１０２により分岐点からのクロック信号の遅延時間を算出する。図１のＡ点からＦ点までの遅延時間T|A-F|がこれに該当する。次にステップＳ３において、第１のタイミングマージン算出手段１０３によりシミュレーションと実デバイスとの統計的な遅延誤差を算出し、その遅延誤差T|M|とクロック信号の遅延時間T|A-F|とからタイミングマージンT|A-F|* T|M|を求める。
ここまでのステップＳ１からＳ３までは従来の処理手順と同様である。
【００３７】
次のステップからが本発明で新たに採用した処理であり、ステップＳ４−Ｓ５，Ｓ６−Ｓ７，Ｓ８−Ｓ９の順で３つに分けて説明していく。
即ち、本発明はステップＳ４−Ｓ５，Ｓ６−Ｓ７，Ｓ８−Ｓ９のいずれか１つの処理を行った後、ステップＳ１０,Ｓ１１を実行するが、これらステップＳ４−Ｓ５，Ｓ６−Ｓ７，Ｓ８−Ｓ９はそのいずれか２つ、あるいは３つの処理すべてを実行してもよく、処理を増すほど不要なタイミングマージンを動的に、即ち個々のチップ毎に、より削除することが可能である。
【００３８】
まず、ステップＳ４において、同一セル構造特定手段１０４により分岐点Ａ点から同一のセル構造が終了するポイントまでのセルを特定する。図２において、論理セルＧ２とＧ４及びＣＴＳバッファＧ３とＧ５のセル構造が同一の場合、Ｂ点、Ｄ点がこれに該当する。次にステップＳ５において、第１のタイミングマージン削除手段１０５により同一のセル構造が続く間は、分岐点Ａからその区間の末端までのタイミングマージンを削除する。これにより、Ａ点からＤ点に存在するセル構造の違いによる誤差のタイミングマージンを削減できる。
【００３９】
例えば、T|A-F|にタイミングマージンT|M|を５％与えている場合、セル構造の違いによる誤差のタイミングマージンがT|M|内の１％だとすると、配線Ｌ４，Ｌ５，Ｌ６，Ｌ７の遅延、セルＧ６の遅延としてT|M|をそれぞれ５％与え（T|ML4|, T|ML5|, T|ML6|, T|ML7|, T|MG6|=0.05）、セルＧ４，Ｇ５の遅延に関してはT|M|を５％から４％に削減する（T|MG4|, T|MG5|=0.04）ことが出来る。
【００４０】
これを式に表すと以下の通りとなる。
T|CLK-C| + T|C-E|  >  T|CLK-A| +( L4 * T|ML4|+ L5 * T|ML5|+ L6 * T|ML6|
+ L7 * T|ML7|+ G6 * T|MG6|)+ (G4 * T|MG4|+ G5 * T|MG5|)  …（３）
【００４１】
また、ステップＳ６において、第２のタイミングマージン削除手段１０６により、最初に統計的な遅延誤差から電圧降下要因によるタイミングマージンを削除する。実デバイスによる評価において、例えばタイミングマージンT|M|に占める電圧降下要因のタイミングマージンが５％中の２％であれば、T|M|=0.05をT|M|=0.03に削減する。次にステップＳ７において、第２のタイミングマージン算出手段１０７により分岐点Ａ点から各セルの電圧降下による遅延誤差を求め、その遅延誤差とクロック信号の遅延時間からタイミングマージンを求める。ステップＳ７の詳細なタイミングマージンを求める際には図３を用いるが、これについては後述する。
【００４２】
さらに、ステップＳ８において、第３のタイミングマージン削除手段１０８により、最初に統計的な遅延誤差から配線占有率要因のタイミングマージンを削除する。次にステップＳ９において、第３のタイミングマージン算出手段１０９により分岐点Ａ点から各セルの配線占有率による遅延誤差を求め、その遅延誤差とクロック信号の遅延時間からタイミングマージンを求める。ステップＳ９の詳細なタイミングマージンを求める際には図６を用いるが、これについては後述する。
【００４３】
次いで、ステップＳ１０において、タイミングマージン再算出手段１１０によりステップＳ５，Ｓ６，Ｓ８で削除したタイミングマージン及びステップＳ７,Ｓ８で削除あるいは追加したタイミングマージンから各セル及び各配線の最終的なタイミングマージンを求め直す。
最後に、ステップＳ１１において、ホールドタイムチェック手段１１１により求め直したタイミングマージンを各セル及び各配線に設定して、ホールドタイムのチェックを行う。
【００４４】
図３は図１の回路構成図をレイアウトイメージ化したもので、ステップＳ７の電圧降下によるタイミングマージンの求め方を説明するためのものである。
まず、Red Haｗk（商品名）等の市販の電圧降下検出用ツールにより、レイアウトデータをもとに電圧降下の分布図を求める（図３参照）。この電圧降下検出用ツールは、各セル毎に消費する電力量をライブラリ化し、そのライブラリを読み込み、動作周波数を与えてシミュレーションを行い、消費電力を求めることにより、電圧降下の検出を行う。
【００４５】
次に、回路構成図の分岐点Ａ点から先の各セルの電圧降下率を分布図とセル座標より求める。
【００４６】
図４は電圧降下率に対するセル遅延増加率のグラフである。これは実デバイスで電圧降下時のセル能力低下に伴うセル遅延について、出力負荷ごとに評価して求めておく。
【００４７】
図５は分岐点Ａ点から先の各セルの電圧降下によるセル遅延増加率をテーブルで表したものである。このデータは、図３で求めた各セルの電圧降下率と図４のセル遅延増加率をまとめたもので、このデータを基に各セルに遅延を与える。
【００４８】
このように、各セルの電圧降下を求めることで、分岐点Ａ点からフリップフロップＧ７およびＧ８までの各クロック信号線路につき電圧降下率の差の小さいセルを検出でき、これら電圧降下率の差の小さいセルに対しては設計マージンを削減することが可能となる。
また、図６は図１の回路構成図をレイアウトイメージ化したもので、ステップＳ９の配線占有率によるタイミングマージンの求め方を説明するためのものである。
【００４９】
まず、各ポイントの占有率を求めるため、１チップを、任意の区分で分割した分割領域であるウインドウに分割し、各ウインドウにおけるグリッドの占有率を求める（図７参照。なお、同図に示す占有率の数値は一例であり、図６から算出できる占有率とは一致していない。）。この占有率は、Apollo（商品名）等の市販の自動配置配線ツールを用いて算出する。この自動配置配線ツールは、まず、１チップを自動的に複数の区間に区切り、ウインドウを設定する。次にそのウインドウを全て配線可能な配線本数に対し実際にそのウインドウに配線される配線本数の比を計算することで配線占有率を算出する。次に分岐Ａ点からの配線の占有率を求める。これは、分岐Ａ点から論理セルＧ２，Ｇ４までを覆うウインドウを作成し、そこに配線されている配線の占有率をレイアウトデータから抽出することでこれを行う。なお、配線が複数のウインドウをまたぐ場合は、配線の経由している全ウインドウの占有率を求める。
【００５０】
図８は、配線占有率による配線遅延増加率のグラフである。配線占有率の違いにより、ウエハのスライス研磨時の凹凸のばらつきが生じるため、配線抵抗の違いが出る。そこで、実デバイスによる評価を行い占有率に対する配線遅延の増加率を求めておく。
【００５１】
図９は、各配線の占有率の違いによる配線遅延増加率をテーブル化したもので、このテーブルを基に各配線の遅延を与える。
【００５２】
このように、各配線の配線占有率を求めることで、分岐点Ａ点からフリップフロップＧ７およびＧ８までの各クロック信号線路につき配線占有率の差の小さい配線を検出でき、これら配線占有率の差の小さい配線に対しては設計マージンを削減することが可能となる。
【００５３】
これにより、シミュレーションと実デバイスの統計的な誤差によるタイミングマージンを与える方法に比べ、回路構成及びレイアウトによるばらつきを動的に解析し、タイミングマージンを与えることが可能となり、過剰な設計マージンを与えることなく、設計工数及び面積の増大を抑えることを可能にする。
【００５４】
また、タイミングマージンの精度向上により、歩留り向上の効果もあげられる。
さらに、本発明の半導体集積回路のタイミング解析方法は、上記実施の形態１の方法に限るものではなく、セルや配線に一律にマージンを与えたうえで、削除可能なマージンを検出して削除するのであれば、他の方法であってもよい。
【００５５】
また、上記実施の形態１では、図１に示すように最も基本的な回路構成に対して適用する場合について示したが、図１と同様の回路構成を組み合わせた回路構成にも適用できることは言うまでもない。
【００５６】
また、上記実施の形態１では、ステップＳ４−Ｓ５，Ｓ６−Ｓ７，Ｓ８−Ｓ９の３つの処理を並行して行うようにしたが、これらを複数実行する場合は、いずれか１つの処理を実行した後、残りの処理を実行するようにしてもよい。
【００５７】
さらに、ステップＳ３に対応する第１のタイミングマージン算出手段１０３は図１１の従来例の半導体装置のタイミング解析装置と同様のブロック構成により実現してもよい。また、ステップＳ７に対応する電圧降下起因第１のタイミングマージン算出手段１０７およびステップＳ９に対応する電圧降下起因第１のタイミングマージン算出手段１０９に関しても図１１と同様のブロック構成により実現してもよく、この場合、ライブラリをファイル装置３に記憶しておけばよい。さらには図１０のブロック構成全体を図１１と同様のブロック構成により実現してもよい。
【産業上の利用可能性】
【００５８】
以上のように、本発明にかかるタイミング解析方法は、クロックライン上のセル及び配線のばらつきを詳細にクロック遅延マージンとして設定できるため、タイミング検証全般に対して適用でき、設計マージンの精度の向上による歩留り向上、修正工数および修正時のセル面積の増加の抑制、および設計マージンの削減を図るのに好適である。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態１による半導体集積回路のタイミング解析方法が適用される回路構成の一例を示す回路図である。
【図２】本発明の実施の形態１による半導体装置のタイミング解析方法の各工程を表すフローチャートを示す図である。
【図３】電圧降下率及び配線密度の分布情報を示すレイアウトイメージを示す図である。
【図４】電圧降下率に対するセル遅延増加率をグラフで示した図である。
【図５】電圧降下によるセル遅延増加率をテーブル化した図である。
【図６】回路構成図をレイアウトイメージ化した図である。
【図７】１チップを任意のウインドウに分割し、各ウインドウの占有率を示した図である。
【図８】配線占有率による配線遅延増加率をグラフで示した図である。
【図９】各配線の占有率の違いによる配線遅延増加率をテーブル化した図である。
【図１０】本発明の実施の形態１による半導体装置のタイミング解析方法を使用するタイミング解析システムを示す図である。
【図１１】従来の半導体装置のタイミング解析装置のブロック構成を示す図である。
【符号の説明】
【００６０】
ＣＬＫ  クロック端子
Ｇ１  バッファ
Ｇ２，Ｇ４  論理セル
Ｇ３，Ｇ５，Ｇ６  ＣＴＳバッファ
Ｇ７，Ｇ８  フリップフロップ
Ｌ１〜Ｌ７  配線
Ａ，Ｂ，Ｃ  電圧降下範囲
Ｗ１１〜Ｗ５５  任意の区分で分割した配線占有率ウインドウ
Ｓ１  クロック信号の分岐点を特定するステップ
Ｓ２  分岐点からのクロック信号の遅延時間を算出するステップ
Ｓ３  シミュレーションと実デバイスとの統計的な遅延誤差とクロック信号の遅延時間からタイミングマージンを求めるステップ
Ｓ４  分岐点から同一セル構造までのセルを特定するステップ
Ｓ５  同一セル構造までのタイミングマージンを削除するステップ
Ｓ６  統計的な遅延要因から電圧降下要因のタイミングマージンを削除するステップ
Ｓ７  分岐点からの各セルの電圧降下による遅延誤差とクロック信号の遅延時間からタイミングマージンを求めるステップ
Ｓ８  統計的な遅延誤差から配線占有率要因のタイミングマージンを削除するステップ
Ｓ９  分岐点からの各配線の配線占有率による遅延誤差とクロック信号の遅延時間からタイミングマージンを求めるステップ
Ｓ１０  同一セル構造、および電圧降下率誤差・配線占有率誤差によりタイミングマージンを求めなおすステップ
Ｓ１１  新規タイミングマージンを設定して、ホールドタイムのチェックを行うステップ
１  ＣＰＵ
２  バス
３  ファイル装置
４  メモリ
５  Ｉ／Ｆ
６  プローブ
１０１  クロック信号分岐点検出手段
１０２クロック遅延時間算出手段
１０３  第１のタイミングマージン算出手段
１０４  同一セル構造特定手段
１０５  第１のタイミングマージン削除手段
１０６  第２のタイミングマージン削除手段
１０７  第２のタイミングマージン算出手段
１０８  第３のタイミングマージン削除手段
１０９  第３のタイミングマージン算出手段
１１０  タイミングマージン再算出手段
１１１  ホールドタイムチェック手段
【図１】
2005275783.tif 000003
【図２】
2005275783.tif 000004
【図３】
2005275783.tif 000005
【図４】
2005275783.tif 000006
【図５】
2005275783.tif 000007
【図６】
2005275783.tif 000008
【図７】
2005275783.tif 000009
【図８】
2005275783.tif 000010
【図９】
2005275783.tif 000011
【図１０】
2005275783.tif 000012
【図１１】
2005275783.tif 000013