(57)【要約】【課題】クロックツリー合成前の理想クロックモードでの遅延解析時に、クロックツリー合成後に発現する遅延条件違反を発見できるようにし、クロックツリー合成前の設計データにクロックツリー合成後に発現する遅延条件違反が含まれている場合の設計工数を低減化できるようにした集積回路の遅延解析方法を提供する。【解決手段】遅延解析手段５４において、セル遅延ライブラリ５２から入力したクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、遅延予測情報格納手段５３から入力した遅延予測情報により補正し、この補正したセットアップ制約を用いてクロックツリー合成前の理想クロックモードでのクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ条件を計算する。【選択図】          図１
2006201825.tif 000002
【特許請求の範囲】
【請求項１】
クロックゲーティングセルのセットアップ制約として、前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行う工程を含むことを特徴とする集積回路の遅延解析方法。
【請求項２】
前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約は、前記クロックツリー合成前の理想クロックモードでの集積回路の遅延解析時に計算することを特徴とする請求項１記載の集積回路の遅延解析方法。
【請求項３】
第１のセル遅延ライブラリに含まれているゲーティングセルの出力ネットの遅延が反映されていないセットアップ制約に出力ネットの遅延を反映させることにより、前記第１のセル遅延ライブラリの内容を変換してなる第２のセル遅延ライブラリを生成し、前記第２のセル遅延ライブラリを前記クロックツリー合成前の理想クロックモードでの集積回路の遅延解析に用いることを特徴とする請求項１記載の集積回路の遅延解析方法。
【請求項４】
クロックゲーティングセルのセットアップ制約として、前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行う工程をコンピュータに実行させるプログラムを含むことを特徴とする集積回路の遅延解析プログラム。
【請求項５】
第１のセル遅延ライブラリに含まれているゲーティングセルの出力ネットの遅延が反映されていないセットアップ制約に出力ネットの遅延を反映させることにより、前記第１のセル遅延ライブラリの内容を変換してなる第２のセル遅延ライブラリを生成する工程をコンピュータに実行させることを特徴とするセル遅延ライブラリ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の設計工程において、クロック経路の遅延を０［sec］とする遅延解析モードである理想クロックモードでの遅延解析を行う場合に使用して好適な集積回路の遅延解析方法及び遅延解析プログラムに関する。
【背景技術】
【０００２】
図７は集積回路の設計手順の一部分を概略的に示す流れ図である。集積回路の設計は、ＣＡＤシステムを使用して行われるが、まず、設計者による集積回路の各ブロックの論理入力が行われ（ステップＳ１）、論理記述１０が論理記述格納手段１１に格納される。
【０００３】
次に、論理記述１０に基づいて論理合成が行われ、ゲートレベル・ネットリスト１２が作成される（ステップＳ２）。この論理合成の段階では遅延解析が行われ、遅延条件を満たしていない場合には、設計手順は論理入力手順に戻り、再論理入力（論理修正）が行われ、遅延条件を満たしている場合には、ゲートレベル・ネットリスト１２がゲートレベル・ネットリスト格納手段１３に格納され、論理設計が完了し、物理設計に移行する。
【０００４】
物理設計では、まず、ゲートレベル・ネットリスト１２に基づいてセル配置と遅延最適化が行われ、セル配置済設計データ１４が作成される（ステップＳ３）。この段階で遅延条件を満たすことができない場合には、設計手順は論理入力手順に戻り、再論理入力（論理修正）が行われ、遅延条件を満たしている場合には、セル配置済設計データ１４がセル配置済設計データ格納手段１５に格納される。
【０００５】
次に、セル配置済設計データ１４に基づいてクロックツリー合成が行われ（ステップＳ４）、クロックツリー合成済設計データがクロックツリー合成済設計データ格納手段１６に格納される。
【０００６】
次に、クロックツリー合成済設計データに基づいて遅延最適化が行われ（ステップＳ５）、この段階で遅延条件を満たすことができない場合には、論理入力手順に戻り、再論理入力（論理修正）が行われ、遅延条件を満たしている場合には、その後、配線処理や、回路パターンデータ作成等の処理が行われる。
【０００７】
このように、集積回路の設計工程においては、論理合成の段階（ステップＳ２）、セル初期配置後の遅延最適化の段階（ステップＳ３）及びクロックツリー合成後の遅延最適化の段階（ステップＳ５）等において、設計した集積回路の遅延が解析され、それに基づいて回路の遅延を改善することが行われる。
【０００８】
なお、論理合成の段階では、個々の配線については、配線の分岐数（ファンアウト）及びその配線が含まれる論理ブロックのサイズから、その配線の負荷を求めるための仮負荷テーブルがライブラリとして与えられ、それに基づいて配線負荷が求められる。また、論理素子の遅延は、セル遅延ライブラリとして与えられ、その論理素子の出力ネットの負荷（仮負荷テーブルから算出）等から算出される。
【０００９】
また、この段階では、クロックツリー合成前のため、フリップフロップ等の記憶素子間のパスの遅延解析は、クロック源から記憶素子までのクロック分配経路の遅延は０［sec］とする理想クロックモードで行われる。
【００１０】
また、セル初期配置後の遅延最適化の段階では、セル配置済みの状態なので、配線負荷は、その配線につながる素子の間の距離から算出される。また、この段階では、クロックツリー合成前のため、パス遅延解析は、理想クロックモードで行われる。
【００１１】
また、クロックツリー合成後の遅延最適化の段階では、セル配置済みの状態なので、配線負荷は、その配線につながる素子の間の距離から算出される。既に配線済みであれば、実際の配線に基づいた配線負荷が用いられる。また、この段階では、クロックツリー合成済みの状態なので、パス遅延解析は伝播クロックモードで行われ、クロック源から記憶素子までのクロック経路も遅延解析が行われる。
【特許文献１】特開平１０−２８３３８１号公報
【特許文献２】特開平１０−３０８４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
図８〜図１０は従来の集積回路の遅延解析方法が有する問題点を説明するための図である。図８はクロックツリー合成前の集積回路の設計データに含まれるクロック経路の概念図であり、図８中、１８はクロック（ＣＬＫ）源、１９〜２１はクロックＣＬＫの通過／遮断を行うＡＮＤ回路からなるクロックゲーティングセル、２２〜２７はクロックＣＬＫが与えられるフリップフロップ、ＥＮはクロックゲーティングセル１９〜２１におけるクロックＣＬＫの通過／遮断を制御するクロックイネーブル信号である。
【００１３】
クロックツリー合成前の理想クロックモードでの遅延解析においては、クロック源１８からフリップフロップ２２〜２７までのクロック分配経路の遅延は０［sec］とされるので、クロックゲーティングセル１９〜２１に入力するクロックＣＬＫとクロックイネーブル信号ＥＮとの間のセットアップを正しく解析することができないという問題点がある。この問題点について、更に、図９を使用して説明する。
【００１４】
図９は図８に示すクロック経路のクロックツリー合成後の概念図である。図９中、２９〜４０はクロックバッファであり、クロックツリー合成はフリップフロップ２２〜２７のクロック入力ピンにクロックＣＬＫが到達する時間が揃うように行われるため、フリップフロップ間のパスについては、理想クロックモードでの遅延解析で遅延を見積もることができる。
【００１５】
しかしながら、クロックゲーティングセル１９〜２１は、クロック源１８からフリップフロップ２２〜２７に至る経路の途中にあり、クロックツリー合成後においては、クロックＣＬＫは、フリップフロップ２２〜２７のクロック入力ピンよりも早くクロックゲーティングセル１９〜２１のクロック入力ピンに到達することになる。
【００１６】
このため、クロックゲーティングセル１９〜２１のクロック入力ピンからフリップフロップ２２〜２７のクロック入力ピンまでの遅延は０［sec］とされる理想クロックモードでは、クロックゲーティングセル１９〜２１に入力するクロックＣＬＫとクロックイネーブル信号ＥＮとの間のセットアップを正しく解析することができないという問題点がある。
【００１７】
図１０は従来の集積回路の遅延解析方法が有する問題点を具体的に説明するための図である。図１０中、４２はクロック源、４３〜４５はフリップフロップ、４７は組合せ回路、４８はＡＮＤ回路からなるクロックゲーティングセル、４９はクロックツリーであり、（Ａ）はクロックツリー合成後の伝播クロックモードでの遅延解析で行われるセットアップ条件判定を説明するための図、（Ｂ）はクロックツリー合成前の理想クロックモードでの遅延解析で行われるセットアップ条件判定を説明するための図である。
【００１８】
ここで、クロックＣＬＫの周期をτ、組合せ回路４７の遅延Ｔ１をｄ１、クロックゲーティングセル４８のクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約をＴsetup、クロックゲーティングセル４８のクロック入力ピンとフリップフロップ４４、４５のクロック入力ピンとの間の遅延Ｔ２をｄ２、クロック源４２からフロップ４３までのクロック経路の遅延Ｔ３をｄ３、クロック源４２からゲーティングセル４８までのクロック経路の遅延Ｔ４をｄ４(＝ｄ３−ｄ２)とする。
【００１９】
すると、クロックツリー合成後の伝播クロックモードでの遅延解析においては、クロック源４２からゲーティングセル４８のイネーブル入力までの遅延は「ｄ３＋ｄ１」、クロック源４２からゲーティングセル４８のクロック入力までの遅延はｄ４であるため、組み合わせ回路４７のセットアップ条件は「ｄ３＋ｄ１＋Ｔsetup−ｄ２≦τ」となる。ｄ４＝ｄ３−ｄ２であることから、「ｄ１＋Ｔsetup＋ｄ２≦τ」であれば、セットアップ違反なし、「ｄ１＋Ｔsetup＋ｄ２＞τ」であれば、セットアップ違反ありと判定される。
【００２０】
これに対して、クロックツリー合成前の理想クロックモードでの遅延解析においては、クロック源４２からゲーティングセル４８のイネーブル入力ピンまでのパスの遅延はｄ１、クロック源４２からゲーティングセル４８のクロック入力ピンまでのパスの遅延は０となるため、この場合、「ｄ１＋Ｔsetup≦τ」であれば、セットアップ違反なし、「ｄ１＋Ｔsetup＞τ」であれば、セットアップ違反ありと判定される。
【００２１】
例えば、τ＝５０００ｐｓ、ｄ１＝４５００ｐｓ、Ｔsetup＝４００ｐｓ、ｄ２＝４１０ｐｓとすると、クロックツリー合成後の伝播クロックモードでの遅延解析においては、クロック源４２からフリップフロップ４４、４５のクロック入力ピンまでのパスの遅延は、４５００ｐｓ＋４００ｐｓ＋４１０ｐｓ＝５３１０ｐｓ（＞τ＝５０００ｐｓ）となるので、このパスは、５３１０ｐｓ−５０００ｐｓ＝３１０ｐｓだけセットアップ違反していると判定されることになる。
【００２２】
しかしながら、クロックツリー合成前の理想クロックモードでの遅延解析においては、クロック源４２からフリップフロップ４４、４５のクロック入力ピンまでのパスの遅延は、４５００＋４００＝４９００ｐｓ（＜τ＝５０００ｐｓ）となるので、このパスはセットアップ違反していないと判定されることになる。
【００２３】
このように、従来の集積回路の遅延解析方法においては、クロックツリー合成前の理想クロックモードでの遅延解析では発見できなかったセットアップ違反がクロックツリー合成後の伝播クロックモードでの遅延解析で始めて発覚することが起こりうるが、クロックツリー合成後にセットアップ違反が発覚すると、集積回路の設計手順は、論理入力手順に戻ることになるので、設計工数が大幅に増加してしまうという問題点があり、その対策が要請される。
【００２４】
ここで、クロックゲーティングセルとして、予めセットアップ制約を厳しめに設定したクロックゲーティングセルを作成し、これをセル遅延ライブラリに含めておくという方法も考えられるが、この方法だと、クロックゲーティングセルに対して一律に遅延を付加することになり、通常、クロックゲーティングセルから先のクロックツリーのサイズは回路中のセル毎に異なるため、セルによって遅延値が実際より厳しすぎたり緩すぎたりするといった不都合が発生してしまう。
【００２５】
本発明は、かかる点に鑑み、クロックツリー合成前の理想クロックモードでの遅延解析を高精度化し、クロックツリー合成前の理想クロックモードでの遅延解析時に、クロックツリー合成後に発現する遅延条件違反を発見できるようにし、クロックツリー合成前の設計データにクロックツリー合成後に発現する遅延条件違反が含まれている場合の設計工数を低減化できるようにした集積回路の遅延解析方法及び遅延解析プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明の集積回路の遅延解析方法は、クロックゲーティングセルのセットアップ制約として、前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行う工程を含むものである。
【００２７】
本発明の集積回路の遅延解析プログラムは、クロックゲーティングセルのセットアップ制約として、前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行う工程をコンピュータに実行させるプログラムを含むものである。
【発明の効果】
【００２８】
本発明によれば、クロックゲーティングセルのセットアップ制約として、クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行うことができるので、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を高精度化し、クロックツリー合成前の理想クロックモードでの遅延解析時においても、クロックツリー合成後に発現する遅延条件違反を発見することができる。
【００２９】
そして、このクロックツリー合成前の理想クロックモードでの遅延解析時に、クロックツリー合成後に発現する遅延条件違反を発見できたときは、クロックツリー合成工程やその後の遅延最適化工程を経ることなく、クロックツリー合成後に発現する遅延条件違反を回避するための回路改善（論理修正）を行うことができる。したがって、クロックツリー合成前の設計データにクロックツリー合成後に発現する遅延条件違反が含まれている場合の設計工数を低減化することができる。
【発明を実施するための最良の形態】
【００３０】
（第１実施形態）
図１は本発明の集積回路の遅延解析方法の第１実施形態を実施するための遅延解析装置の概略的構成図である。図１に示す遅延解析装置は、コンピュータシステムで構成され、設計データ格納手段５１と、セル遅延ライブラリ５２と、遅延予測情報格納手段５３と、遅延解析手段５４を有している。
【００３１】
設計データ格納手段５１は、クロックツリー合成前の集積回路の設計データを格納するものである。セル遅延ライブラリ５２は、クロック経路上に配置されるクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約等のセル遅延情報を含むものであり、セル遅延ライブラリ５２に含まれるクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約には出力ネットの遅延、即ち、クロックツリー合成後のゲーティングセルから先のクロックツリー遅延の予測値は反映されていない。
【００３２】
遅延予測情報格納手段５３は、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約に、クロックゲーティングセルの出力ネットの遅延を反映させるために用いる、クロックゲーティングセルのクロック入力ピンとその先のクロックを供給すべき記憶素子のクロック入力ピンとの間の遅延予測情報、即ち、クロックツリー合成後のゲーティングセルから先のクロックツリー遅延の予測値を格納するものである。
【００３３】
遅延解析手段５４は、設計データ格納手段５１に格納されたクロックツリー合成前の集積回路の設計データと、セル遅延ライブラリ５２に含まれるセル遅延情報と、遅延予測情報格納手段５３に格納された遅延予測情報を入力して、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、遅延予測情報による遅延予測値を加算することにより補正し、この補正したセットアップ制約を用いて、理想クロックモードでの集積回路の遅延解析を行うものであり、遅延解析手段５４の機能はＣＰＵ（central processing unit）５５と遅延解析プログラム（遅延解析ツール）５６等により達成される。
【００３４】
遅延解析プログラム５６は、設計された集積回路の遅延解析をＣＰＵ５５に実行させるためのプログラムであるが、特に、クロックツリー合成前の理想クロックモードでの遅延解析時においては、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約に出力ネットの遅延を反映させるために、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、遅延予測情報による遅延予測値を加算することにより補正し、この補正したセットアップ制約を使用して集積回路の遅延解析をＣＰＵ５５に実行させるプログラムを含むものである。
【００３５】
本発明の集積回路の遅延解析方法の第１実施形態においては、設計データ格納手段５１に格納されたクロックツリー合成前の集積回路の設計データと、セル遅延ライブラリ５２に含まれるセル遅延情報と、遅延予測情報格納手段５３に格納された遅延予測情報が遅延解析手段５４に入力される。
【００３６】
そして、遅延解析手段５４において、設計された集積回路の理想クロックモードでの遅延解析が行われるが、この場合、セル遅延ライブラリ５２から入力したクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約が、遅延予測情報格納手段５３から入力した遅延予測情報により補正され、この補正されたセットアップ制約を用いてクロックツリー合成前の理想クロックモードでのクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ条件が計算され、このセットアップ条件計算結果を含む遅延解析結果５７が出力される。
【００３７】
即ち、本発明の集積回路の遅延解析方法の第１実施形態においては、クロックツリー合成前の理想クロックモードでのクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ条件を計算する際に、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を遅延予測情報で補正するという機能が従来の遅延解析プログラムに付加されてなる遅延解析プログラム５６が使用される。
【００３８】
図２は本発明の集積回路の遅延解析方法の第１実施形態で実行されるクロックツリー合成前の理想クロックモードでのセットアップ条件計算方法を説明するための図であり、図１０（Ｂ）に示す回路に本発明の集積回路の遅延解析方法の第１実施形態を適用した場合を例にしている。
【００３９】
ここで、クロックＣＬＫの周期をτ、組合せ回路４７の遅延Ｔ１をｄ１、クロックゲーティングセル４８のクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約をＴsetup、クロックゲーティングセル４８のクロック入力ピンとフリップフロップ４４、４５のクロック入力ピンとの間の遅延予測情報による遅延予測値Ｔ３をｄ３とする。
【００４０】
すると、本発明の集積回路の遅延解析方法の第１実施形態においては、クロックツリー合成前の理想クロックモードでの遅延解析時には、クロックゲーティングセル４８のセットアップ制約はＴsetupからＴsetup´＝（Ｔsetup＋ｄ３）に補正され、クロック源４２からフリップフロップ４４、４５のクロック入力ピンまでのパスのクロック遅延は、（ｄ１＋Ｔsetup＋ｄ３）と計算され、「ｄ１＋Ｔsetup´≦τ」であれば、セットアップ違反なし、「ｄ１＋Ｔsetup´＞τ」であれば、セットアップ違反ありと判定される。
【００４１】
例えば、図３に示すように、τ＝５０００ｐｓ、ｄ１＝４５００ｐｓ、Ｔsetup＝４００ｐｓ、遅延予測値ｄ３＝４１０ｐｓとすると、本発明の集積回路の遅延解析方法の第１実施形態においては、クロックツリー合成前の理想クロックモードでの遅延解析時には、クロックゲーティングセル４８のセットアップ制約は４００ｐｓから８１０ｐｓに補正され、クロック源４２からフリップフロップ４４、４５のクロック入力ピンまでのパスの遅延は、４５００ｐｓ＋８１０ｐｓ＝５３１０ｐｓ（＞τ＝５０００ｐｓ）と計算され、このパスは、実際には、５３１０ｐｓ−５０００ｐｓ＝３１０ｐｓだけセットアップ違反していると判定されることになる。
【００４２】
これに対して、従来のクロックツリー合成前の理想クロックモードの遅延解析においては、クロック源４２からフリップフロップ４４、４５のクロック入力ピンまでのパスの遅延は、４５００＋４００＝４９００ｐｓ（＜τ＝５０００ｐｓ）と計算されるので、このパスは、セットアップ違反していないと判定されてしまうことになる。
【００４３】
なお、遅延予測情報格納手段５３に格納する遅延予測情報としては、クロックゲーティングセル４８を例にすれば、図４に示すように、例えば、クロックゲーティングセル４８の出力ネット（クロックツリー合成前は直接記憶素子につながっている）の負荷容量Ｃの関数（もしくは負荷容量Ｃをインデックスとして遅延予測値をテーブル化したテーブル）、又は、図５に示すように、クロックゲーティングセル４８の出力ネットの分岐数（ファンアウト）をインデックスとして遅延予測値をテーブル化したテーブル５８（もしくはファンアウトの関数）を用いることができる。
【００４４】
また、遅延予測情報格納手段５３に格納する遅延予測情報がセル配置済みの段階で使用する遅延予測情報の場合には、遅延予測情報として、クロックゲーティングセル４８の出力ネットの先につながる記憶素子の配置情報を元に算出した遅延予測値を用いることができる。
【００４５】
ここで、例えば、図７に示す論理入力（ステップＳ１）と論理合成（ステップＳ２）で１.５日、セル配置・遅延最適化（ステップＳ３）とクロックツリー合成（ステップＳ４）と遅延最適化（ステップＳ５）で１.５日、遅延最適化（ステップＳ５）後の物理設計で８日が必要であるとする。
【００４６】
すると、従来の集積回路の遅延解析方法では、クロックツリー合成後に発現する遅延条件違反は、クロックツリー合成後の伝播クロックモードでの遅延解析において発見されるので、この場合に、集積回路の設計に必要とする日数は、論理入力（ステップＳ１）と論理合成（ステップＳ２）とで１.５日、セル配置・遅延最適化（ステップＳ３）とクロックツリー合成（ステップＳ４）と遅延最適化（ステップＳ５）とで１.５日、再論理入力（ステップＳ１）と再論理合成（ステップＳ２）とで１.５日、再セル配置・再遅延最適化（ステップＳ３）と再クロックツリー合成（ステップＳ４）と再遅延最適化（ステップＳ５）とで１.５日、再遅延最適化（ステップＳ５）後の物理設計で８日となり、合計１４日が必要となる。
【００４７】
これに対して、本発明の集積回路の遅延解析方法の第１実施形態を論理合成時の遅延解析に使用した場合においては、クロックツリー合成後に発現する遅延条件違反は論理合成時の遅延解析時に発見することができるので、設計データにクロックツリー合成後に発現する遅延条件違反が含まれている場合、論理合成後に再論理入力を行うことにより、クロックツリー合成後に発現する遅延条件違反を解消することができる。
【００４８】
したがって、集積回路の設計に必要とする日数は、論理入力（ステップＳ１）と論理合成（ステップＳ２）とで１.５日、再論理入力（ステップＳ１）と再論理合成（ステップＳ２）とで１.５日、セル配置・遅延最適化（ステップＳ３）とクロックツリー合成（ステップＳ４）と遅延最適化（ステップＳ５）とで１.５日、遅延最適化（ステップＳ５）後の物理設計で８日の合計１２.５日となり、設計工数を従来の場合に比べて１１％削減することができる。また、一度の手戻りでセットアップ違反を修正しきれずに手戻りが複数回に及ぶ場合では工数削減の効果はさらに増加する。
【００４９】
以上のように、本発明の集積回路の遅延解析方法の第１実施形態によれば、クロックツリー合成前の理想クロックモードでの遅延解析時に、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約としてクロックゲーティングセルの出力ネットの遅延、即ち、クロックツリー合成後のゲーティングセルから先のクロックツリー遅延の予測値を反映させたセットアップ制約を用いた遅延条件判定を行うことができるので、クロックツリー合成前の理想クロックモードでの遅延解析を高精度化し、クロックツリー合成前の理想クロックモードでの遅延解析時においても、クロックツリー合成後の伝播クロックモードでの遅延解析で発現する遅延条件違反を発見することができる。
【００５０】
そして、このクロックツリー合成前の理想クロックモードでの遅延解析時に、クロックツリー合成後に発現する遅延条件違反を発見できたときは、クロックツリー合成工程やその後の遅延最適化工程を経ることなく、クロックツリー合成後に発現する遅延条件違反を回避するための回路改善（論理修正）を行うことができる。したがって、クロックツリー合成前の設計データにクロックツリー合成後に発現する遅延条件違反が含まれている場合の設計工数を低減化することができる。
【００５１】
また、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約としてクロックゲーティングセルの出力ネットの遅延、即ち、クロックツリー合成後のゲーティングセルから先のクロックツリー遅延の予測値を反映させたセットアップ制約を用いた遅延条件判定を行うとしているので、クロックゲーティングセル毎にセットアップ制約を補正することができ、予めセットアップ制約を厳しめに設定したクロックゲーティングセルを作成し、これをセル遅延ライブラリに含めておくという方法のように、クロックゲーティングセルによって遅延値が実際より厳しすぎたり緩すぎたりするといった不都合が発生することがない。
【００５２】
（第２実施形態）
図６は本発明の集積回路の遅延解析方法の第２実施形態を実施するための遅延解析装置の概略的構成図である。図６に示す遅延解析装置は、コンピュータシステムで構成され、設計データ格納手段５９と、セル遅延ライブラリ６０と、遅延予測情報格納手段６１と、セル遅延ライブラリ変換手段６２と、セル遅延ライブラリ６３と、遅延解析手段６４を有している。
【００５３】
設計データ格納手段５９は、クロックツリー合成前の集積回路の設計データを格納するものである。セル遅延ライブラリ６０は、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約等のセル遅延情報を含むものであり、セル遅延ライブラリ６０に含まれるクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約には出力ネットの遅延、即ち、クロックツリー合成後のゲーティングセルから先のクロックツリー遅延の予測値は反映されていない。
【００５４】
遅延予測情報格納手段６１は、クロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約に、クロックゲーティングセルの出力ネットの遅延を反映させるために用いる、クロックゲーティングセルのクロック入力ピンとその先のクロックを供給すべき記憶素子のクロック入力ピンとの間の遅延予測情報、即ち、クロックツリー合成後のゲーティングセルから先のクロックツリー遅延の予測値を格納するものである。
【００５５】
セル遅延ライブラリ変換手段６２は、セル遅延ライブラリ６０に含まれているセル遅延情報と遅延予測情報格納手段６１に格納されている遅延予測情報を入力し、セル遅延ライブラリ６０に含まれているセル遅延情報を遅延予測情報格納手段６１に格納されている遅延予測情報で補正することにより、セル遅延ライブラリ６０の内容の変換を行うものであり、セル遅延ライブラリ変換手段６２の機能は、ＣＰＵ６５とセル遅延ライグラリ変換プログラム（セル遅延ライブラリ変換ツール）６６等で達成される。
【００５６】
セル遅延ライブラリ変換プログラム６６は、セル遅延ライブラリ６０に含まれているクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、遅延予測情報格納手段６１から入力した遅延予測情報による遅延予測値を加算することにより補正し、その他の部分については、そのまま出力することにより、セル遅延ライブラリ６０の内容を変換してなるセル遅延ライブラリ６３を生成する工程をＣＰＵ６５に実行させるものである。
【００５７】
なお、遅延予測情報格納手段６１に格納する遅延予測情報は、クロックゲーティングセルの出力ネット（クロックツリー合成前は直接記憶素子につながっている）の負荷容量Ｃの関数（もしくは負荷容量Ｃをインデックスとして遅延予測値をテーブル化したテーブル）、又は、クロックゲーティングセルの出力ネットの分岐数（ファンアウト）をインデックスとして遅延予測値をテーブル化したテーブル（もしくはファンアウトの関数）を用いることができる。
【００５８】
遅延解析手段６４は、設計データ格納手段５９に格納された設計データと、セル遅延ライブラリ６３に記述されているセル遅延情報を入力し、設計された集積回路の遅延解析を行うものであり、遅延解析手段６４の機能はＣＰＵ６５と従来の遅延解析プログラム（遅延解析ツール）６７等で達成される。
【００５９】
本発明の集積回路の遅延解析方法の第２実施形態においては、予め、セル遅延ライブラリ変換手段６２において、セル遅延ライブラリ６０に含まれているクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、遅延予測情報格納手段６１から入力した遅延予測情報による遅延予測値を加算することにより補正し、その他の部分については、そのまま出力することにより、セル遅延ライブラリ６０の内容を変換してなるセル遅延ライブラリ６３が生成される。
【００６０】
次に、設計データ格納手段５９に格納された集積回路の設計データと、セル遅延ライブラリ６３に記述されているセル遅延情報が遅延解析手段６４に入力される。そして、入力された設計データに基づいて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析が行われ、遅延解析結果６８が出力される。
【００６１】
以上のように、本発明の集積回路の遅延解析方法の第２実施形態によれば、予め、セル遅延ライブラリ変換手段６２において、セル遅延ライブラリ６０に含まれているクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、遅延予測情報格納手段６１から入力した遅延予測情報による遅延予測値を加算することにより補正し、その他の部分については、そのまま出力することにより、セル遅延ライブラリ６０の内容を変換してなるセル遅延ライブラリ６３が生成され、これがクロックツリー合成前の理想クロックモードでの集積回路の遅延解析に用いられる。
【００６２】
この結果、本発明の集積回路の遅延解析方法の第１実施形態と同様に、クロックツリー合成前の理想クロックモードでの遅延解析を高精度化し、クロックツリー合成前の理想クロックモードでの遅延解析時においても、クロックツリー合成後の伝播クロックモードでの遅延解析で発現する遅延条件違反を発見することができる。
【００６３】
そして、このクロックツリー合成前の理想クロックモードでの遅延解析時に、クロックツリー合成後に発現する遅延条件違反を発見できたときは、クロックツリー合成工程やその後の遅延最適化工程を経ることなく、クロックツリー合成後に発現する遅延条件違反を回避するための論理修正を行うことができる。したがって、クロックツリー合成前の設計データにクロックツリー合成後に発現する遅延条件違反が含まれている場合の設計工数を低減化することができる。
【００６４】
また、セル遅延ライブラリ６０に含まれているクロックゲーティングセルのクロック入力ピンとクロックイネーブル信号入力ピンとの間のセットアップ制約を、クロックゲーティングセルの出力ネットの遅延を反映させるための遅延予測情報による遅延予測値を加算することにより補正することにより、セル遅延ライブラリ６０の内容を変換してなるセル遅延ライブラリ６３を生成し、これをクロックツリー合成前の理想クロックモードでの集積回路の遅延解析に用いるとしているので、クロックゲーティングセル毎にセットアップ制約を補正することができ、予めセットアップ制約を厳しめに設定したクロックゲーティングセルを作成し、これをセル遅延ライブラリに含めておくという方法のように、クロックゲーティングセルによって遅延値が実際より厳しすぎたり緩すぎたりするといった不都合が発生することがない。
【００６５】
ここで、本発明を整理すると、本発明には、少なくとも、以下の集積回路の遅延解析方法、遅延解析プログラム及びセル遅延ライブラリ変換プログラムが含まれる。
【００６６】
（付記１）クロックゲーティングセルのセットアップ制約として、前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行う工程を含むことを特徴とする集積回路の遅延解析方法。
【００６７】
（付記２）前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約は、前記クロックツリー合成前の理想クロックモードでの集積回路の遅延解析時に計算することを特徴とする付記１記載の集積回路の遅延解析方法。
【００６８】
（付記３）第１のセル遅延ライブラリに含まれているクロックゲーティングセルの出力ネットの遅延が反映されていないセットアップ制約に出力ネットの遅延を反映させることにより、前記第１のセル遅延ライブラリの内容を変換してなる第２のセル遅延ライブラリを生成し、前記第２のセル遅延ライブラリを前記クロックツリー合成前の理想クロックモードでの集積回路の遅延解析に用いることを特徴とする付記１記載の集積回路の遅延解析方法。
【００６９】
（付記４）前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を求めるための情報として、前記クロックゲーティングセルの出力ネットの負荷容量の関数、又は、前記クロックゲーティングセルの出力ネットの負荷容量をインデックスとして遅延予測値をテーブル化したテーブルを用いることを特徴とする付記１、２又は３記載の集積回路の遅延解析方法。
【００７０】
（付記５）前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を求めるための情報として、前記クロックゲーティングセルの出力ネットの分岐数の関数、又は、前記クロックゲーティングセルの出力ネットの分岐数をインデックスとして遅延予測値をテーブル化したテーブルを用いることを特徴とする付記１、２又は３記載の集積回路の遅延解析方法。
【００７１】
（付記６）前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を求めるための情報として、前記クロックゲーティングセルの出力ネットの先につながる記憶素子の配置情報を元に算出した遅延予測値を用いることを特徴とする付記１、２又は３記載の集積回路の遅延解析方法。
【００７２】
（付記７）クロックゲーティングセルのセットアップ制約として、前記クロックゲーティングセルの出力ネットの遅延を反映させたセットアップ制約を用いて、クロックツリー合成前の理想クロックモードでの集積回路の遅延解析を行う工程をコンピュータに実行させるプログラムを含むことを特徴とする集積回路の遅延解析プログラム。
【００７３】
（付記８）第１のセル遅延ライブラリに含まれているゲーティングセルの出力ネットの遅延が反映されていないセットアップ制約に出力ネットの遅延を反映させることにより、前記第１のセル遅延ライブラリの内容を変換してなる第２のセル遅延ライブラリを生成する工程をコンピュータに実行させることを特徴とするセル遅延ライブラリ変換プログラム。
【図面の簡単な説明】
【００７４】
【図１】本発明の集積回路の遅延解析方法の第１実施形態を実施するための遅延解析装置の概略的構成図である。
【図２】本発明の集積回路の遅延解析方法の第１実施形態で実行されるクロックツリー合成前の理想クロックモードでのセットアップ条件計算方法を説明するための図である。
【図３】本発明の集積回路の遅延解析方法の第１実施形態で実行されるクロックツリー合成前の理想クロックモードでのセットアップ条件計算方法を説明するための図である。
【図４】本発明の集積回路の遅延解析方法の第１実施形態を実施するための遅延解析装置が備える遅延予測情報格納手段に格納する遅延予測情報の内容を説明するための図である。
【図５】本発明の集積回路の遅延解析方法の第１実施形態を実施するための遅延解析装置が備える遅延予測情報格納手段に格納する遅延予測情報の内容を説明するための図である。
【図６】本発明の集積回路の遅延解析方法の第２実施形態を実施するための遅延解析装置の概略的構成図である。
【図７】集積回路の設計手順の一部分を概略的に示す流れ図である。
【図８】クロックツリー合成前の集積回路の設計データに含まれるクロック経路の概念図である。
【図９】図８に示すクロック経路のクロックツリー合成後の概念図である。
【図１０】従来の集積回路の遅延解析方法が有する問題点を具体的に説明するための図である。
【符号の説明】
【００７５】
５１…設計データ格納手段
５２…セル遅延ライブラリ
５３…遅延予測情報格納手段
５４…遅延解析手段
５５…ＣＰＵ
５６…遅延解析プログラム
５７…遅延解析結果
５９…設計データ格納手段
６０…セル遅延ライブラリ
６１…遅延予測情報格納手段
６２…セル遅延ライブラリ変換手段
６３…セル遅延ライブラリ
６４…遅延解析手段
６５…ＣＰＵ
６６…セル遅延ライブラリ変換プログラム
６７…遅延解析プログラム
６８…遅延解析結果
【図１】
2006201825.tif 000003
【図２】
2006201825.tif 000004
【図３】
2006201825.tif 000005
【図４】
2006201825.tif 000006
【図５】
2006201825.tif 000007
【図６】
2006201825.tif 000008
【図７】
2006201825.tif 000009
【図８】
2006201825.tif 000010
【図９】
2006201825.tif 000011
【図１０】
2006201825.tif 000012