(57)【要約】【課題】集積回路の設計フローにおける処理時間を短縮化し、論理合成結果の改善効果が高いタイミング例外のみを抽出する。【解決手段】設計対象の集積回路が表現された論理合成可能なハードウエア記述２１と、クロックと回路データとを対応付けるためのクロック仕様２２とが入力されて、それらを用いてタイミング例外が抽出される。生成条件２３が満たされるように、タイミング例外が抽出される対象回路の一部が回路選択手段１３により選択され、抽出されたタイミング例外の一部がタイミング制約選択手段１５により選択される。この生成条件２３によって、入力されるタイミング制約をベースとして設計や検証が行われる論理合成ツール、自動レイアウトツール、静的タイミング解析などの設計・検証ツールに対して、改善効果が高いタイミング例外のみを抽出し、抽出されたタイミング例外から設計品質を悪化させるような可能性を有するものを除外する。【選択図】図１
2008123056.tif 000002
【特許請求の範囲】
【請求項１】
設計対象の回路が表現された論理合成可能なハードウエア記述と、該回路のクロック仕様とを用いてタイミング例外を抽出するタイミング制約抽出手段が設けられた論理回路のタイミング制約生成システムであって、
所定の入力生成条件の回路選択条件を満たすように、該タイミング例外が抽出される回路からその一部を選択する回路選択手段と、該所定の入力生成条件のタイミング制約選択条件を満たすように、抽出されたタイミング例外からその一部を選択するタイミング制約選択手段とのうちの少なくとも一方を有する論理回路のタイミング制約生成システム。
【請求項２】
前記回路選択条件は、前記回路を構成するレジスタ間のデータパスの論理段数およびパス遅延値の少なくとも一方により指定されている請求項１に記載の論理回路のタイミング制約生成システム。
【請求項３】
前記論理段数が所定値以上である場合に、前記タイミング例外の抽出対象とされる請求項２に記載の論理回路のタイミング制約生成システム。
【請求項４】
前記パス遅延値が所定値以上である場合に、前記タイミング例外の抽出対象とされる請求項２に記載の論理回路のタイミング制約生成システム。
【請求項５】
前記パス遅延値は、立上りおよび立下りのいずれか一方のエッジにおいてデータをラッチする場合にはレジスタを駆動するクロック周期、立上りおよび立下りの両エッジにおいてデータをラッチする場合にはレジスタを駆動するクロックの半周期の時間が前記データパスの下限遅延値とされている請求項２または４に記載の論理回路のタイミング制約生成システム。
【請求項６】
前記回路選択条件において、外部入出力遅延またはハードマクロ遅延が、定義されていないかまたは”０”よりも大きい値に定義されている場合に、該外部入出力または該ハードマクロに接続されているデータパスが、前記タイミング例外の抽出対象とされる請求項１または２に記載の論理回路のタイミング制約生成システム。
【請求項７】
前記回路選択条件において、前記外部入出力遅延が”０”と定義されている場合に、前記外部入出力端に接続されるデータパスは、前記タイミング例外の抽出対象外とされる請求項６に記載の論理回路のタイミング制約生成システム。
【請求項８】
前記タイミング制約選択条件は、スラックおよびエリアサイズの少なくとも一方により指定されている請求項１または２に記載の論理回路のタイミング制約生成システム。
【請求項９】
前記スラックを悪化させる可能性があるタイミング例外として、通過点が所定数以上である経路、通過点がデータバスの一部ビットである経路、またはローカルネットを有する経路が、前記タイミング例外の抽出対象外とされる請求項８に記載の論理回路のタイミング制約生成システム。
【請求項１０】
前記所定の入力生成条件は、論理合成、自動レイアウトまたはＳＴＡ（静的タイミング解析）を行うためのツールにより利用可能なＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより与えられている請求項１、２および８のいずれかに記載の論理回路のタイミング制約生成システム。
【請求項１１】
前記タイミング制約抽出手段は、実際には活性化されないフォルスパスおよび複数のクロック周期を要するマルチサイクルパスの少なくともいずれかを前記タイミング例外として抽出する請求項１に記載の論理回路のタイミング制約生成システム。
【請求項１２】
前記タイミング制約抽出手段は、前記フォルスパスを前記タイミング例外として抽出する際に、前記回路を構成するレジスタ間のデータパス、および外部入出力とレジスタ間のデータパスを含む組み合わせ回路から、１クロックの動作により該データパスが活性化できない経路を該タイミング例外として抽出する請求項１１に記載の論理回路のタイミング制約生成システム。
【請求項１３】
前記組み合わせ回路は、形式的検証、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）または記号シミュレーションが行われて、前記１クロックの動作により前記データパスが活性化可能であるか否かが判定される請求項１２に記載の論理回路のタイミング制約生成システム。
【請求項１４】
前記タイミング制約抽出手段は、前記マルチサイクルパスをタイミング例外として抽出する際に、前記回路を構成するレジスタ間のデータパス、および外部入出力とレジスタ間のデータパスを含む組み合わせ回路に対して、該データパスを活性化できるように制御信号により制御可能であるか否かを数クロックにわたって検証し、該データパスを活性化可能とする経路を該タイミング例外として抽出する請求項１１に記載の論理回路のタイミング制約生成システム。
【請求項１５】
前記タイミング制約抽出手段は、前記データパスを活性化するために必要なクロックサイクル数を求める請求項１４に記載の論理回路のタイミング制約生成システム。
【請求項１６】
前記論理合成可能なハードウエア記述として、前記回路を構成する個々の機能ブロックが表現されている場合に、前記タイミング制約抽出手段は、該機能ブロックに対して前記タイミング例外を抽出する請求項１に記載の論理回路のタイミング制約生成システム。
【請求項１７】
前記設計対象の回路は、特定用途向け集積回路およびプログラミング可能な集積回路の少なくともいずれかである請求項１に記載の論理回路のタイミング制約生成システム。
【請求項１８】
前記ハードウエア記述は、Ｖｅｒｉｌｏｇ  ＨＤＬフォーマットまたはＶＨＤＬフォーマットにより与えられている請求項１に記載の論理回路のタイミング制約生成システム。
【請求項１９】
前記クロック仕様は、ＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより与えられている請求項１に記載の論理回路のタイミング制約生成システム。
【請求項２０】
前記クロック仕様は、クロック名、クロック周期、基準クロックに対するフェーズシフト量およびクロックが与えられるネット名により指定されている請求項１または１９に記載の論理回路のタイミング制約生成システム。
【請求項２１】
前記タイミング例外が、前記タイミング制約として、論理合成、自動レイアウトまたはＳＴＡ（静的タイミング解析）を行うためのツールにより利用可能なＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより出力される請求項１に記載の論理回路のタイミング制約生成システム。
【請求項２２】
前記タイミング制約抽出手段は、クロック非同期部のタイミング例外を抽出する第１タイミング制約抽出手段と、前記回路選択手段により選択された回路に対してクロック同期部のタイミング例外を抽出する第２タイミング制約抽出手段とを有し、
該第１タイミング制約抽出手段で抽出されたタイミング例外はタイミング制約として出力され、
前記タイミング制約選択手段は、該第２タイミング制約抽出手段で抽出されたタイミング例外から、前記タイミング制約選択条件を満たすタイミング例外をタイミング制約として選択する請求項１に記載の論理回路のタイミング制約生成システム。
【請求項２３】
設計対象の回路が表現された論理合成可能なハードウエア記述と、該回路のクロック仕様とを用いてタイミング例外を抽出するタイミング制約抽出ステップを有する論理回路のタイミング制約生成方法であって、
所定の入力生成条件の回路選択条件を満たすように、回路選択手段が、該タイミング例外が抽出される回路からその一部を選択する回路選択ステップと、
タイミング制約選択手段が、該所定の入力生成条件のタイミング制約選択条件を満たすように、抽出されたタイミング例外からその一部を選択するタイミング制約選択ステップとのうちの少なくとも一方を実行する論理回路のタイミング制約生成方法。
【請求項２４】
前記タイミング制約抽出ステップは、クロック非同期部のタイミング例外を抽出する第１タイミング制約抽出ステップと、前記回路選択ステップにより選択された回路に対してクロック同期部のタイミング例外を抽出する第２タイミング制約抽出ステップとを有し、
該第１タイミング制約抽出手段で抽出されたタイミング例外をタイミング制約として出力すると共に、
前記タイミング制約選択ステップは、該第２タイミング制約抽出ステップで抽出したタイミング例外から、前記タイミング制約選択条件を満たすタイミング例外をタイミング制約として選択する請求項２３に記載の論理回路のタイミング制約生成方法。
【請求項２５】
請求項２３または２４に記載の論理回路のタイミング制約生成方法の各処理ステップをコンピュータに実行させるための制御プログラム。
【請求項２６】
請求項２５に記載の制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路（ＩＣ）の設計において、論理合成、自動レイアウトまたは静的タイミング解析などによりタイミング制約ベースで設計・検証を行う際に、対象外とするべきフォルスパス（偽経路）やマルチサイクルパス（複数のクロック周期を要する経路）などのようなタイミング的な例外（ｔｉｍｉｎｇ  ｅｘｃｅｐｔｉｏｎ）を抽出して、その経路をタイミング制約（ｔｉｍｉｎｇ  ｃｏｎｓｔｒａｉｎｔ）として出力可能とする論理回路のタイミング制約生成システムおよび、これを用いた論理回路のタイミング制約生成方法、この論理回路のタイミング制約生成方法の各処理手順をコンピュータに実行させるための制御プログラム、この制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体に関する。
【背景技術】
【０００２】
近年の製造プロセスの向上によるサイズの微細化に伴って、集積回路の回路規模が増大して、その動作速度が向上している。これに伴って、従来の集積回路の設計において、抽象度が高いＲＴＬ（Ｒｅｓｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）段階では予測が難しい配線遅延や遅延ばらつきなどが、集積回路の動作に与える影響が大きくなってきている。このため、設計の初期段階であればあるほど、タイミングマージンが多めに確保されて、タイミング制約が厳しく設定されている。
【０００３】
入力されるタイミング制約をベースとして設計を行なう論理合成（ｌｏｇｉｃ  ｓｙｎｔｈｅｓｉｓ）ツールや自動レイアウト（ａｕｔｏｍａｔｉｃ  ｐｌａｃｅ  ａｎｄ  ｒｏｕｔｅ）ツールなどの設計ツールでは、タイミング制約が満たされるように回路が最適化されている。このため、タイミング制約が厳しく設定されていると、タイミング違反を解消するために回路最適化処理が繰り返されて、処理時間が延びる。また、動作速度の高速化とエリアサイズの増大とはトレードオフの関係にあり、回路最適化処理によってセルサイズが小さくドライブ能力が低いセルから、セルサイズが大きくドライブ能力が高いセルへの置換が行われると、エリアサイズが増大する。
【０００４】
さらに、タイミング制約の対象外とすべきフォルスパス（偽経路）やマルチサイクルパス（複数クロック周期を要する経路）などの設定が漏れていると、タイミング制約を満たすために本来は不必要な最適化処理が行われるため、処理時間の増大やエリアサイズの増大などを招くという問題が生じる。
【０００５】
この問題を解決するため、例えば特許文献１には、タイミング例外を自動的に抽出して、それをタイミング制約として生成する手法が提案されている。タイミング例外としては、シングルクロックの場合に１クロックの動作によって論理的に活性化することができないものと、タイミング仕様や遅延の影響によってタイミング制約を満たせないものとの２種類が挙げられるが、この特許文献１に提案されている従来技術では、論理的なタイミング例外のみが対象として自動的に抽出されている。また、特許文献１には、タイミング例外を自動的に抽出して生成されたタイミング制約を用いて論理合成を行った場合に、論理合成結果のスラック（タイミング的な余裕度）やエリアサイズが改善されるということが報告されている。
【特許文献１】ＵＳ  Ｐａｔｅｎｔ  ６，８７７，１３９（Ａｐｒ．  ５，  ２００５）”ＡＵＴＯＭＡＴＥＤ  ＡＰＰＲＯＡＣＨ  ＴＯ  ＣＯＮＳＴＲＡＩＮＴ  ＧＥＮＥＲＡＴＩＯＮ  ＩＮ  ＩＣ  ＤＥＳＩＧＮ”ＦｉｓｈＴａｉｌ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ  Ｉｎｃ．
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、タイミング例外を自動的に抽出してタイミング制約として生成する上記従来技術には、以下のような２つの課題がある。
【０００７】
まず、１つ目の課題は、集積回路の設計フローにおいて処理時間（ＴＡＴ）が増大するということである。大規模な回路では、自動的に抽出されるタイミング例外の数が膨大となるため、タイミング制約を生成するための処理時間が増大する。さらに、このタイミング制約が入力されて処理が行われる既存の設計・検証ツールにおいて、タイミング制約の読み込み時間や設計・検証のための処理時間が大幅に増大する。
【０００８】
次に、２つ目の課題は、自動的に生成されたタイミング制約を与えて回路を論理合成すると、スラックやエリアサイズなどの論理合成結果が改善される場合だけではなく、スラックやエリアサイズなどの論理合成結果が悪化する場合もあるということである。
【０００９】
本発明は、上記従来の問題を解決するもので、集積回路の設計フローにおける処理時間を短縮化することができ、かつ、論理合成結果の改善効果が高いタイミング例外のみを抽出することができる論理回路のタイミング制約生成システムおよびこれを用いた論理回路のタイミング制約生成方法、この論理回路のタイミング制約生成方法の各処理手順をコンピュータに実行させるための制御プログラム、この制御プログラムが記録されたコンピュータ読み出し可能な可読記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の論理回路のタイミング制約生成システムは、設計対象の回路が表現された論理合成可能なハードウエア記述と、該回路のクロック仕様とを用いてタイミング例外を抽出するタイミング制約抽出手段が設けられた論理回路のタイミング制約生成システムであって、所定の入力生成条件の回路選択条件を満たすように、該タイミング例外が抽出される回路からその一部を選択する回路選択手段と、該所定の入力生成条件のタイミング制約選択条件を満たすように、抽出されたタイミング例外からその一部を選択するタイミング制約選択手段とのうちの少なくとも一方を有するものであり、そのことにより上記目的が達成される。
【００１１】
また、好ましくは、本発明の論理回路のタイミング制約生成システムにおける回路選択条件は、前記回路を構成するレジスタ間のデータパスの論理段数およびパス遅延値の少なくとも一方により指定されている。
【００１２】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおいて、前記論理段数が所定値以上である場合に、前記タイミング例外の抽出対象とされる。
【００１３】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおいて、前記パス遅延値が所定値以上である場合に、前記タイミング例外の抽出対象とされる。
【００１４】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるパス遅延値は、立上りおよび立下りどちらか一方のエッジでトリガーされる場合、レジスタを駆動するクロックの半周期の時間が前記データパスの下限遅延値とされている。また、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるパス遅延値は、立上りおよび立下りのいずれか一方のエッジにおいてデータをラッチする場合にはレジスタを駆動するクロック周期、立上りおよび立下りの両エッジにおいてデータをラッチする場合にはレジスタを駆動するクロックの半周期の時間が前記データパスの下限遅延値とされている。
【００１５】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおける回路選択条件において、外部入出力遅延またはハードマクロ遅延が、定義されていないかまたは”０”よりも大きい値に定義されている場合に、該外部入出力または該ハードマクロに接続されているデータパスが、前記タイミング例外の抽出対象とされる。
【００１６】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおける回路選択条件において、前記外部入出力遅延が”０”と定義されている場合に、前記外部入出力端に接続されるデータパスは、前記タイミング例外の抽出対象外とされる。
【００１７】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるタイミング制約選択条件は、スラックおよびエリアサイズの少なくとも一方により指定されている。
【００１８】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおいて、前記スラックを悪化させる可能性があるタイミング例外として、通過点が所定数以上である経路、通過点がデータバスの一部ビットである経路、またはローカルネットを有する経路が、前記タイミング例外の抽出対象外とされる。
【００１９】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおける所定の入力生成条件は、論理合成、自動レイアウトまたはＳＴＡ（静的タイミング解析）を行うためのツールにより利用可能なＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより与えられている。
【００２０】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるタイミング制約抽出手段は、実際には活性化されないフォルスパスおよび複数のクロック周期を要するマルチサイクルパスの少なくともいずれかを前記タイミング例外として抽出する。
【００２１】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるタイミング制約抽出手段は、前記フォルスパスを前記タイミング例外として抽出する際に、前記回路を構成するレジスタ間のデータパス、および外部入出力とレジスタ間のデータパスを含む組み合わせ回路から、１クロックの動作により該データパスが活性化できない経路を該タイミング例外として抽出する。
【００２２】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおける組み合わせ回路は、形式的検証、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）または記号シミュレーションが行われて、前記１クロックの動作により前記データパスが活性化可能であるか否かが判定される。
【００２３】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるタイミング制約抽出手段は、前記マルチサイクルパスをタイミング例外として抽出する際に、前記回路を構成するレジスタ間のデータパス、および外部入出力とレジスタ間のデータパスを含む組み合わせ回路に対して、該データパスを活性化できるように制御信号により制御可能であるか否かを数クロックにわたって検証し、該データパスを活性化可能とする経路を該タイミング例外として抽出する。
【００２４】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるタイミング制約抽出手段は、前記データパスを活性化するために必要なクロックサイクル数を求める。
【００２５】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおける論理合成可能なハードウエア記述として、前記回路を構成する個々の機能ブロックが表現されている場合に、前記タイミング制約抽出手段は、該機能ブロックに対して前記タイミング例外を抽出する。
【００２６】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおける設計対象の回路は、特定用途向け集積回路およびプログラミング可能な集積回路の少なくともいずれかである。
【００２７】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるハードウエア記述は、Ｖｅｒｉｌｏｇ  ＨＤＬフォーマットまたはＶＨＤＬフォーマットにより与えられている。
【００２８】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるクロック仕様は、ＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより与えられている。
【００２９】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるクロック仕様は、クロック名、クロック周期、基準クロックに対するフェーズシフト量およびクロックが与えられるネット名により指定されている。
【００３０】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおけるタイミング例外が、前記タイミング制約として、論理合成、自動レイアウトまたはＳＴＡ（静的タイミング解析）を行うためのツールにより利用可能なＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより出力される。
【００３１】
さらに、好ましくは、本発明の論理回路のタイミング制約生成システムにおいて、前記タイミング制約抽出手段は、クロック非同期部のタイミング例外を抽出する第１タイミング制約抽出手段と、前記回路選択手段により選択された回路に対してクロック同期部のタイミング例外を抽出する第２タイミング制約抽出手段とを有し、該第１タイミング制約抽出手段で抽出されたタイミング例外はタイミング制約として出力され、前記タイミング制約選択手段は、該第２タイミング制約抽出手段で抽出されたタイミング例外から、前記タイミング制約選択条件を満たすタイミング例外をタイミング制約として選択する。
【００３２】
本発明の論理回路のタイミング制約生成方法は、設計対象の回路が表現された論理合成可能なハードウエア記述と、該回路のクロック仕様とを用いてタイミング例外を抽出するタイミング制約抽出ステップを有する論理回路のタイミング制約生成方法であって、所定の入力生成条件の回路選択条件を満たすように、回路選択手段が、該タイミング例外が抽出される回路からその一部を選択する回路選択ステップと、タイミング制約選択手段が、該所定の入力生成条件のタイミング制約選択条件を満たすように、抽出されたタイミング例外からその一部を選択するタイミング制約選択ステップとのうちの少なくとも一方を実行するものであり、そのことにより上記目的が達成される。
【００３３】
また、好ましくは、本発明の論理回路のタイミング制約生成方法において、前記タイミング制約抽出ステップは、クロック非同期部のタイミング例外を抽出する第１タイミング制約抽出ステップと、前記回路選択ステップにより選択された回路に対してクロック同期部のタイミング例外を抽出する第２タイミング制約抽出ステップとを有し、該第１タイミング制約抽出手段で抽出されたタイミング例外をタイミング制約として出力すると共に、  前記タイミング制約選択ステップは、該第２タイミング制約抽出ステップで抽出したタイミング例外から、前記タイミング制約選択条件を満たすタイミング例外をタイミング制約として選択する。
【００３４】
本発明の制御プログラムは、本発明の上記論理回路のタイミング制約生成方法の各処理ステップをコンピュータに実行させるためのものであり、そのことにより上記目的が達成される。
【００３５】
本発明の可読記録媒体は、本発明の上記制御プログラムが記録されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
【００３６】
上記構成により、以下に、本発明の作用について説明する。
【００３７】
本発明の論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法にあっては、設計対象の回路が表現された論理合成可能なハードウエア記述と、回路のクロック仕様とが与えられて、それらを用いてタイミング例外が抽出され、抽出されたタイミング例外がタイミング制約として出力される。さらに、タイミング例外が抽出される対象回路からその一部を選択するための入力生成条件の回路選択条件が与えられて、その入力生成条件の回路選択条件が満たされるように、タイミング例外が抽出される回路からその一部が選択される。また、生成されたタイミング例外からその一部を選択するための入力生成条件のタイミング制約選択条件が与えられて、その入力生成条件のタイミング制約選択条件が満たされるように、抽出されたタイミング例外からその一部が選択される。この入力生成条件によって、入力されるタイミング制約をベースとして設計や検証が行われる論理合成ツール、自動レイアウトツール、静的タイミング解析などの設計・検証ツールに対して、改善効果が高いタイミング例外のみが抽出され、この抽出されたタイミング例外から品質を悪化させるような可能性を有するものが除外される。このため、集積回路の設計フローにおける処理時間も短縮化される。
【発明の効果】
【００３８】
以上により、本発明によれば、入力されるタイミング制約をベースとして設計や検証が行われる論理合成ツール、自動レイアウトツール、静的タイミング解析などの設計・検証ツールに対して、改善効果が高いタイミング例外のみを抽出し、抽出されたタイミング例外から品質を悪化させるような可能性を有するものを選択して除外することができる。よって、タイミング例外を処理するための設計・検証ツールによる処理時間の増大を防ぎ、不必要な回路最適化処理にかかる時間を短縮化することができる。さらに、スラックやエリアサイズなどのような集積回路の設計品質を向上させることもできる。
【発明を実施するための最良の形態】
【００３９】
以下に、本発明の論理回路のタイミング制約生成システムおよびこれを用いた論理回路のタイミング制約生成方法の各実施形態について、図面を参照しながら詳細に説明する。
まず、本実施形態のタイミング制約生成システムの機能構成について説明する。
（タイミング制約生成システムの機能構成）
図１は本発明の実施形態に係る論理回路のタイミング制約生成システムの要部機能構成例を示すブロック図である。
【００４０】
図１において、本実施形態の論理回路のタイミング制約システム１０は、第１の入力データとして設計対象の集積回路が表現された論理合成可能なハードウェア記述２１と、第２の入力データとして設計対象の集積回路のクロック仕様２２と、第３の入力データ（入力生成条件）としてタイミング例外が抽出される対象回路の一部および、生成されたタイミング例外の一部を選択するための所定の入力生成条件２３（タイミング制約生成条件）とが、論理回路のタイミング制約装置１０Ａに与えられ、これらを用いて論理回路のタイミング制約装置１０Ａにより、タイミング例外を少なくしたタイミング制約２４が生成されて出力される。
論理回路のタイミング制約装置１０Ａは、各入力データ（ハードウェア記述２１およびクロック仕様・外部入出力遅延２２）および入力生成条件２３を読み込むデータ読み込み手段１１と、各入力データ（ハードウェア記述２１およびクロック仕様・外部入出力遅延２２）から対象回路のクロック非同期部のタイミング例外が抽出されるクロック非同期部の第１タイミング制約抽出手段としてのタイミング制約抽出手段１２と、入力生成条件２３の回路選択条件に基づいて、タイミング例外が抽出されるべき対象回路からその一部が選択される回路選択手段１３と、選択された対象回路のタイミング例外が抽出される第２タイミング制約抽出手段としてのタイミング制約抽出手段１４と、抽出されたタイミング例外の中から入力生成条件２３のタイミング制約選択条件を満たすタイミング例外が選択されるタイミング制約選択手段１５と、選択されたタイミング例外がタイミング制約として出力されるタイミング制約出力手段１６とを有している。
【００４１】
上記構成により、まず、データ読み込み手段１１によって、これらのハードウェア記述２１、クロック仕様・外部入出力遅延２２および生成条件２３が読み込まれる。さらに、クロック非同期部のタイミング制約抽出手段１２によって、与えられたハードウェア記述２１およびクロック仕様・外部入出力遅延２２を用いて、クロック非同期部のタイミング例外を抽出する。
【００４２】
次に、回路選択手段１３によって、与えられた所定の入力生成条件２３を満たすようにタイミング例外が抽出される対象回路を選択し、タイミング制約抽出手段１４によって、選択された対象回路のタイミング例外を抽出する。
【００４３】
その後、タイミング制約選択手段１５によって、抽出したタイミング例外の中から、所定の入力生成条件２３のタイミング制約選択条件を満たすものを選択し、この選択したタイミング例外がタイミング制約２４としてタイミング制約出力手段１６から出力される。
【００４４】
なお、タイミング制約抽出手段１２によって抽出されたクロック非同期部のタイミング例外もタイミング制約２４としてタイミング制約出力手段１６から出力される。
（タイミング制約生成システムのハード構成）
次に、本実施形態のタイミング制約生成システム１０のハード構成について説明する。
【００４５】
図２は、図１の論理回路のタイミング制約生成システムの要部ハード構成例を示すブロック図である。
【００４６】
図２において、本実施形態のタイミング制約生成システム１０は、ＣＰＵ（中央演算処理装置）などで構成される制御装置１と、キーボードやマウスなどの入力操作装置２と、表示画面上に画像表示可能とする表示手段などの出力装置３と、タイミング制約生成用の制御プログラムおよびそれに用いる各種データを格納した補助記憶手段（ＲＯＭ）としての補助記憶装置４と、ＣＰＵ起動時にワークメモリ（ＲＡＭ）として働く主記憶装置５と、論理合成可能なハードウェア記述２１、集積回路のクロック仕様・外部入出力遅延２２、所定の生成条件２３およびタイミング制約２４などの各種データが格納されるデータベース６とを備えている。
【００４７】
この制御装置１は、その起動時に補助記憶装置４から主記憶装置５に読み込まれた制御プログラムおよびそのデータに基づいて、データ読み込み手段１１が各入力データ（ハードウェア記述２１およびクロック仕様・外部入出力遅延２２）および入力生成条件２３を読み込むデータ読み込み処理と、クロック非同期部のタイミング制約抽出手段１２が、各入力データ（ハードウェア記述２１およびクロック仕様・外部入出力遅延２２）からクロック非同期部のタイミング例外を抽出するクロック非同期部のタイミング制約抽出処理と、回路選択手段１３が、入力生成条件２３からタイミング例外が抽出される回路を選択する回路選択処理と、タイミング制約抽出手段１４が、選択された回路のタイミング例外が抽出されるクロック同期部のタイミング制約抽出処理と、タイミング制約選択手段１５が、抽出されたタイミング例外の中から入力生成条件２３を満たすタイミング例外を選択するタイミング制約選択処理と、タイミング制約出力手段１６が、選択されたタイミング例外をタイミング制約としてデータベース６に出力するタイミング制約出力処理とを実行する。
【００４８】
補助記憶装置４は、可読記録媒体としてのハードディスクやその他半導体メモリなどで構成されており、主記憶装置５は、可読記録媒体としての携帯用光ディスクや携帯用磁気ディスクなどで構成されており、所定のディスク読取装置に携帯用光ディスクや携帯用磁気ディスクをセットして、ハードディスクやその他半導体メモリなどに読み込むことができる。また、インターネットやイントラネットを介してハードディスクやその他半導体メモリなどに本実施形態の制御プログラムおよびそのデータをインストールし、そのハードディスクやその他半導体メモリなどの可読記録媒体から本実施形態の制御プログラムおよびそのデータをコンピュータ読み取りすることもできる。
（各入出力データの説明）
以下に、本実施形態のタイミング制約生成システム１０に対する各入出力データであるハードウェア記述２１、クロック仕様・外部入出力遅延２２および入力生成条件２３について、さらに詳細に説明する。
【００４９】
ハードウェア記述２１は、タイミング制約生成システム１０への入力データであって、ハードウエア記述言語として国際標準（ＩＥＣ／ＩＥＥＥ）とされているＶｅｒｉｌｏｇ  ＨＤＬフォーマットまたはＶＨＤＬフォーマットを用いて設計対象の集積回路が論理合成可能なハードウエアとして記述されている。これらのハードウェア記述言語は、チップ全体を同一言語により記述することも、機能ブロック毎にいずれか一方の言語により記述することも可能である。通常、集積回路の設計時には、論理合成を行うためにハードウェア記述が用意されているため、これをそのまま入力データとして用いることができる。設計対象の集積回路としては、特定用途向け集積回路（ＡＳＩＣ）またはプログラミング可能な集積回路（ＦＰＧＡ）などが本発明に適用可能である。
【００５０】
クロック仕様・外部入出力遅延２２は、業界標準とされているＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより記述されており、クロック名、クロック周期、クロック波形およびクロックが与えられるネット名などによって指定されている。タイミング制約生成処理のためにクロック定義のみが記述されたＳＤＣを作成してもよいが、通常、集積回路の設計時には、クロック定義、入出力ポート（チップの入出力はポートであるが、セルの入出力はピンである）の遅延定義およびタイミング例外などが記述された論理合成用のＳＤＣファイルが用意されているため、このＳＤＣファイルを読み込んでクロック定義部分を抽出することができる。例えば図３の「２２１」は、クロック定義例としてクロック仕様・外部入出力遅延２２内に含めて与えられ、クロック周期が「６」であるＣＬＫ信号をＳＤＣフォーマットにより記述した事例である。この事例では、クロック名が｛ＣＬＫ｝、クロック周期が６．０、立下りエッジが０で立上りエッジが３のクロック波形｛0  ３．０｝、クロックが与えられるネット名｛ＣＬＫ｝が記述されている。また図３の「２２３」は、入出力遅延例としてクロック仕様・外部入出力遅延２２内に含めて与えられ、CLK信号の立上りエッジに対して回路の全ての入力ポートに遅延２、全ての出力ポートに遅延１．２が与えられることが記述されている。
【００５１】
チップの外部入出力遅延はチップの境界条件を定義しているので、バウンダリ制約と呼ばれているが、ここでは、外部入出力遅延のみであるから、そのままの外部入出力遅延と言う。ここで、クロック仕様・外部入出力遅延２２の入出力のＳＤＣファイルについて補足説明する。クロック仕様・外部入出力遅延２２はファイルフォーマットがＳＤＣであるＳＤＣファイルを入力として、クロック仕様と外部入出力遅延のみ読込み、これ以外の情報は読み飛ばす。
【００５２】
入力生成条件２３は、論理合成、自動レイアウトまたはＳＴＡ（静的タイミング解析）などのツールにより利用可能なＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより記述されており、タイミング例外が抽出される対象回路の一部や生成されたタイミング例外の一部を選択するための条件が設定されている。
【００５３】
この入力生成条件２３は、タイミング例外の生成対象とする、論理段数やパス遅延値を定義するタイミング制約生成条件であり、このタイミング制約生成条件の指定記述例を記載したファイルを図９に示している。
【００５４】
図９では、最初の括弧内に、「クロックがＣＬＫであるレジスタ間のパスに対して論理深度が最長論理段数の８０パーセント以上のパスをタイミング例外の生成対象とする」ことが記述されている。また、次の括弧内には、「クロックがＣＬＫであるレジスタ間のパスに対して遅延がＣＬＫクロック周期の半分以上のパスをタイミング例外の生成対象とする」ことが記述されている。
【００５５】
タイミング制約２４は、タイミング制約生成システム１０からの出力データであって、論理合成、自動レイアウトまたはＳＴＡ（静的タイミング解析）などのツールにより利用可能なＳＤＣ（Ｓｙｎｏｐｓｙｓ  Ｄｅｓｉｇｎ  Ｃｏｎｓｔｒａｉｎｔ）フォーマットにより記述されている。例えば、タイミング制約２４は、図３の「２２２」の記述例と同様のＳＤＣフォーマットにより記述されており、抽出されたタイミング例外の経路が特定されて、タイミング例外のみのタイミング制約として記述されたＳＤＣファイルが出力される。この図３の「２２２」の記述例では、タイミング例外の定義例として、出力されるタイミング制約２４に含まれており、１つのフォルスパスと２つのマルチサイクルパスが記述されている。
【００５６】
タイミング制約２４はファイルフォーマットがＳＤＣであるＳＤＣファイルを出力する。この出力する内容はタイミング制約の中のタイミング例外に分類される、フォルスパスとマルチサイクルパスのみである。タイミング例外のみのタイミング制約として記述されたＳＤＣファイルが出力される。
（タイミング制約生成方法）
次に、図１に示すタイミング制約生成システム１０によるタイミング制約生成方法について、図４を用いて詳細に説明する。
【００５７】
図４は、図１のタイミング制約生成システムを用いたタイミング制約生成方法を説明するためのフローチャートである。
【００５８】
図４に示すように、まず、ステップＳ１において、データ読み込み手段１１によってハードウエア記述２１が読み込まれて回路データが作成される。さらに、ステップＳ２において、データ読み込み手段１１によってクロック仕様・外部入出力遅延２２が読み込まれて、クロックと回路データとが対応付けられる。さらに、ステップＳ３において、データ読み込み手段１１によって生成条件２３が読み込まれる。
【００５９】
次に、ステップＳ４において、クロック非同期部のタイミング制約抽出手段１２によって、回路中のクロック非同期部分に対して、与えられたハードウェア記述２１およびクロック仕様・外部入出力遅延２２を用いてタイミング例外が抽出される。
【００６０】
その後、ステップＳ５において、入力生成条件２３に回路選択条件が指定されているか否かが判定される。ステップＳ５で入力生成条件２３の回路選択条件が指定されていれば（ＹＥＳ）、ステップＳ６の処理に進み、回路選択手段１３によって、指定された回路選択条件を満たすように、タイミング例外が抽出される対象回路が選択される。さらに、ステップＳ７において、タイミング制約抽出手段１４によって、クロック系統毎に、選択された回路のクロック同期部のタイミング例外が抽出される。
【００６１】
一方、ステップＳ５において、入力生成条件２３の回路選択条件が指定されていなければ（ＮＯ）、ステップＳ７の処理に進み、前述したように、タイミング制約抽出手段１４によって、クロック系統毎に、選択された回路のクロック同期部のタイミング例外が抽出される。
【００６２】
さらに、ステップＳ８において、生成条件２３にタイミング制約選択条件が指定されているか否かが判定される。ステップＳ８でタイミング制約選択条件が指定されていれば（ＹＥＳ）、ステップＳ９の処理に進み、タイミング制約選択手段１５によって、抽出されたタイミング例外の中から指定されたタイミング制約選択条件を満たすものが選択される。
【００６３】
さらに、ステップＳ１０において、タイミング制約出力手段１６から、選択されたタイミング例外がタイミング制約２４として出力される。
【００６４】
一方、ステップＳ８でタイミング制約選択条件が指定されていなければ（ＮＯ）、ステップＳ１０の処理に進み、前述したように、抽出されたタイミング例外がタイミング制約２４としてタイミング制約出力手段１６から出力される。
（タイミング制約抽出処理の説明）
以下に、上記ステップＳ４の非同期部のタイミング制約抽出処理およびステップＳ７のタイミング制約抽出処理について、さらに詳細に説明する。
【００６５】
上記ステップＳ４のクロック非同期部のタイミング制約抽出処理およびステップＳ７のクロック同期部のタイミング制約抽出処理では、タイミング例外として、実際には活性化されないフォルスパスまたは２クロック以上のマルチサイクルパス（複数のクロック周期を要するマルチサイクルパス）が抽出される。
【００６６】
図５は、タイミング例外として実際には活性化されないフォルスパスの例を模式的に示す回路図である。
【００６７】
図５に示すように、レジスタ４１からマルチプレクサＭＵＸ１およびＭＵＸ２を通ってレジスタ４２までのデータパスＰ１１が示されている。各レジスタ４１，４２は同一クロックにより駆動されており、マルチプレクサＭＵＸ１およびＭＵＸ２では入力が”１”の信号が選択されるものとする。クロック１周期の期間において、経路上の２つのマルチプレクサＭＵＸ１およびＭＵＸ２の入力が共に”１”の状態になることはない。よって、レジスタ４１とレジスタ４２との間のデータパスＰ１１が１クロックの動作により活性化されることはなく、このデータパスＰ１１の経路はフォルスパスである。
（フォルスパスの抽出）
このようなフォルスパスの抽出は、以下のような手順で行われる。
【００６８】
まず、レジスタ４１，４２間のデータパス、および外部入出力とレジスタ４１，４２間のデータパスを含む組み合わせ回路が抽出され、この回路に対して形式的検証、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）や記号シミュレーション（Ｓｙｍｂｏｌｉｃ  Ｓｉｍｕｌａｔｉｏｎ）などの技術を用いて１クロックの動作でデータパスＰ１１が活性化可能であるか否かが判定される。この活性化できない経路が、フォルスパスとして抽出される。
（マルチサイクルパスの抽出）
２クロック以上のマルチサイクルパス（複数のクロック周期を要するマルチサイクルパス）の抽出は、以下のような手順で行われる。
【００６９】
まず、レジスタ４１，４２間のデータパス、および外部入出力とレジスタ４１，４２間のデータパスを含む組み合わせ回路が抽出され、この組み合わせ回路に対して形式的検証、ＡＴＰＧ（Ａｕｔｏｍａｔｉｃ  Ｔｅｓｔ  Ｐａｔｔｅｒｎ  Ｇｅｎｅｒａｔｉｏｎ）や記号シミュレーション（Ｓｙｍｂｏｌｉｃ  Ｓｉｍｕｌａｔｉｏｎ）などの技術を用いて、データパスを活性化することができるように制御信号を制御可能であるか否かが数クロックにわたって検証される。さらに、データパスを活性化することが可能であれば、当該経路がマルチサイクルパスとして抽出され、さらに、この場合に、活性化するために必要なクロックサイクル数が求められる。
【００７０】
上記ステップＳ４のクロック非同期部のタイミング制約抽出処理では、クロック非同期なデータパスに対するタイミング例外が抽出される。ここでは、レジスタのクロックに対するタイミング制約が定義されているもののうち、異なるクロック間のデータパスやリセット信号の経路のように、そのクロックとは非同期であるデータパスのタイミング例外が抽出対象とされる。
【００７１】
また、ステップＳ７のタイミング制約抽出処理では、クロック系統毎に各クロックに同期するデータパスのタイミング例外が抽出される。ここでは、同一クロックによって動作するレジスタ間、および、そのクロックで動作するレジスタと外部入出力間のデータパスのタイミング例外が抽出対象とされる。
（回路選択処理の説明）
次に、上記ステップＳ６の回路選択処理について説明する。
【００７２】
タイミング違反が発生する経路がフォルスパスである場合、論理合成やレイアウトを行う際に不必要なタイミング最適化処理が行われ、処理時間の増大やエリアサイズの増大を招く虞がある。このようなフォルスパスをタイミング例外として指定すれば、この最適化処理を回避することができる。しかしながら、タイミング例外を全て抽出すると、膨大な数のフォルスパスが抽出され、これによって処理時間が増大するという問題がある。よって、回路選択手段１３によって、タイミング例外が抽出される回路の一部を抽出対象とする回路選択処理が行われる。
【００７３】
タイミング例外を設定することは、タイミング制約が厳しいクリティカルパス（最大遅延経路）ほど効果的である。クリティカルパスにおいては、セットアップのタイミング制約の有無が最適化処理に大きく影響する。したがって、不必要なタイミング最適化処理を避けるためには、セットアップのタイミング制約を外すようにタイミング例外を設定することが有効である。
【００７４】
タイミング見積もりを元にクリティカルパスを選択する場合、設計初期段階のタイミング見積もりは精度が低いため、設計工程が進むにつれてクリティカルパスが変わるという問題がある。若干のマージンを設定してクリティカルパスを多めに選択しても、回路配置工程においてクリティカルパスが大きく変わることが多い。このため、タイミング制約が厳しい部分を見積もって抽出対象とするのではなく、タイミング制約が緩い部分を抽出対象から外すことによって、抽出対象を削減することが考えられる。一般に、レジスタ間のデータパスは、論理段数が多ければ多いほど、タイミング制約を満たすことが難しくなる。論理段数が少ないデータパスは、セットアップのタイミング違反が起きにくいため、フォルスパスであっても、最適化対象から外すためにタイミング例外として設定する必要性は低く、タイミング例外の抽出対象から除外することが可能である。
【００７５】
論理合成可能なハードウエア記述２１は、状態遷移と論理式とによって表現することができるため、論理ゲートにハードウェアを割り付けた場合のレジスタ間のデータパスの論理段数は、簡単に見積もることができる。この見積もりは、論理合成のように、最適化処理やＲＴＬからゲートレベルへのセルの割り付け処理などを行う必要がないため、高速に処理することができる。
【００７６】
クロック定義と論理合成用のセルライブラリが与えられていれば、クロック毎にタイミング例外の抽出対象とされるレジスタ間のデータパスの論理段数を求めることができる。例えば、クロックの立上りまたは立下りのいずれか一方のエッジにおいてデータをラッチする場合には、レジスタを駆動するクロックの周期分の時間をデータパスの上限遅延として、使用される論理合成用ライブラリの基本セル、例えば論理演算に1対１に対応するAND、OR、EXOR,EXNORセルやバッファセルやインバータセルで表現した場合において何段に相当するかを見積もることができる。クロックの立上りと立下りの両エッジにおいて、データをラッチする場合には、レジスタを駆動するクロックの半周期の時間をデータパスの上限遅延値（パス遅延値）とすることができる。
【００７７】
即ち、上記入力生成条件２３の回路選択条件はパス遅延値により指定され、このパス遅延値が所定値以上である場合に、タイミング例外の抽出対象とされる。よって、このパス遅延値として、レジスタを駆動するクロックの半周期の時間をデータパスの下限遅延値とすることができる。回路の論理段数についても同様に、論理段数が所定値以上である場合に、タイミング例外の抽出対象とされる。この論理段数について、図６を用いて具体的に説明する。
（入力生成条件２３の回路選択条件の説明；論理段数）
図６は、クロック毎にレジスタ間のデータパスの論理段数により抽出対象回路の一部を選択する、回路選択条件の例を説明するための回路図である。
【００７８】
図６において、ＣＬＫは基本クロック信号であり、ＣＬＫ２はこれを２分周したクロック信号である。データＤ１、Ｄ２およびクロックＣＬＫが入力される各端子は入力ポートであり、ＣＬＫ１およびＣＬＫ２が付されたラインは信号線（ネット）、経路Ｐ１〜Ｐ６は信号線（データパス）である。また、ＤＦＦ０〜ＤＦＦ６はＤフリップフロップ素子であり、記号Ｄ、ＣＫ、ＱおよびＱＢはそのＤフリップフロップ素子の入出力端子を示している。レジスタ間のデータパスの論理段数は、基本セルの段数によって見積もられ、データパスＰ１とＰ４では論理段数が１段、データパスＰ２とＰ５では論理段数が２段、データパスＰ３とＰ６では論理段数が４段である。
【００７９】
例えば、タイミング例外の抽出対象を選択するための論理段数を、基本クロックのデータパスは２段、２分周クロックのデータパスはその倍の４段として設定する。この場合、データパスＰ１、Ｐ４およびＰ５が除外され、データパスＰ２、Ｐ３およびＰ６のみがタイミング例外の抽出対象となる。
（論理段数と外部入出力遅延やハードマクロ遅延との関係）
ここで、データパスＰ１およびＰ４は外部入力を有するため、論理段数だけで除外することには問題がある。一般に、チップの外部入出力遅延やハードマクロによって提供されるメモリなどのレジスタセルのセル遅延は大きいため、この遅延を無視することはできない。このため、これらに接続されるデータパスは、タイミング例外の抽出対象とすることが好ましい。例えば、所定の入力生成条件２３において、外部入出力遅延やハードマクロの遅延を定義しないか、または、”０”よりも大きい遅延を定義する場合に、遅延値に関係なく、これらに接続されるデータパスを必ず抽出対象とすることができる。また、必要に応じて、所定の入力生成条件２３において、遅延値を「０」と定義することによって、論理段数に関係なく、外部入出力に接続されるデータパスをタイミング例外の抽出対象外とすることも可能である。
【００８０】
例えば、図６に示す回路では、外部入力遅延を定義しない場合、外部入力からのデータパスＰ１およびＰ４がタイミング例外の抽出対象となり、データパスＰ５のみが除外されるため、タイミング例外の抽出対象は、データパスＰ１、Ｐ２、Ｐ３、Ｐ４およびＰ６となる。
【００８１】
さらに、タイミング例外の抽出精度を向上させるためには、遅延を考慮して論理段数を設定することも可能である。この場合には、外部入出力遅延とハードマクロを含むセル遅延の情報（クロック仕様・外部入出力遅延２２中に含まれて与えられ、例えば図３の入出力遅延の定義例２２３として記載）を入力して、この遅延情報を元にデータパス毎に論理段数を算出し、抽出対象か否かを判定する。
【００８２】
また、論理段数算出の見積もり精度は高くないため、マージン段数項を加えてマージンを調整する。例えば、同一クロックの立上りエッジにおいて駆動される２つのレジスタ間のデータパスの論理段数は、以下のような計算式によって表すことができる。
【００８３】
抽出対象データパスの論理段数
＝（（クロック周期時間／２−外部入力遅延−外部出力遅延−ソース側レジスタセルのセル遅延−シンク側レジスタセルのセットアップ遅延）／基本セルの遅延）−マージン段数
レジスタ間のデータパスの場合には、上記式中、外部入力遅延および外部出力遅延が”０”となる。また、外部入力とレジスタ間のデータパスの場合には、上記式中、外部出力遅延およびソース側レジスタセルのセル遅延が”０”となる。さらに、レジスタと外部出力間のデータバスの場合には、上記式中、外部入力遅延とシンク側レジスタセルのセットアップ遅延が”０”となる。
【００８４】
以上のようにして求められた論理段数が入力生成条件２３を満たすように、抽出対象回路の一部が選択される。
（タイミング制約選択処理の説明；スラック）
次に、上記ステップＳ９のタイミング制約選択処理について説明する。
【００８５】
抽出されたタイミング例外を全てタイミング制約として用いて論理合成を行うと、論理合成結果におけるスラック（タイミング的な余裕度）やエリアサイズなどの設計品質を悪化させる場合がある。これは、抽出されたタイミング例外の中に、スラックやエリアサイズを悪化させるタイミング例外が含まれていることが原因と考えられる。
【００８６】
図７は、タイミング例外としてフォルスパスを一つだけ与えて論理合成した場合の論理合成結果例を示す図である。
【００８７】
図７において、横軸はスラック値、縦軸はそのスラック値の度数を示している。ここでは、フォルスパスを一つだけ与えたものと、フォルスパスを与えていないリファレンスとについてスラック値が求められており、論理合成は「フォルスパス数＋１回」行われている。
【００８８】
図７によれば、どのタイミング例外を適用するかによって、論理合成結果が変わることが分かる。論理合成結果は、論理合成が行われるツールに依存するが、どの合成ツールを用いても、適用されるタイミング例外の影響を受ける。
【００８９】
設計品質を向上させるために、タイミング例外を一つだけ与えて論理合成を行い、適用結果を確認して、遅延が改善されるタイミング例外のみを選択することは可能である。実際、スラックを悪化させるタイミング例外を除いて論理合成を行うと、スラックの悪化は起こらず、タイミング例外を一つだけ与えた場合の最良値と同等、もしくはそれ以上にスラックを改善させることができる。
【００９０】
しかしながら、論理合成を行ってその結果を確認するという方法では、非常に処理時間がかかるため、ここでは、スラックが改善されるタイミング例外を選択するのではなく、スラックを悪化させる可能性があるタイミング例外を除いて適用することを考える。
【００９１】
一般に、論理合成ツールに与えられるタイミング制約は、経路の始点や終点だけを指定するような広い対象範囲で指定されていることが好ましく、経路の通過点を列挙して経路を限定するような経路指定は論理最適化処理にとって好ましくないとされている。よって、経路の通過点が多いもの、バス接続された束線の一部ビットだけを指定するもの、ブロック内にローカルなネットを有するものなどのように、経路の通過点を細かに指定している複雑なタイミング例外は、処理時間の増大や設計品質の悪化を招く虞がある。
【００９２】
実際に、スラックを悪化させるタイミング例外から、ブロック内にローカルなネットを有するタイミング例外を除外したタイミング例外のセットを適用すると、スラックが改善されるということが確認されている。個々のタイミング例外を見ると、ブロック内にローカルなネットを有するタイミング例外を除外して残されたローカルなネットを持たないタイミング例外の中には、論理合成結果を悪化させるものも存在するが、スラックを悪化させるような影響は出ていない。したがって、論理合成結果を悪化させる可能性があるタイミング例外として、ローカルネットを有するタイミング例外を除外することによって、設計品質を向上させることが可能である。
【００９３】
図８は、図４のタイミング制約選択処理の一例を示すフローチャートである。
【００９４】
図８に示すように、ステップＳ９１において、抽出されたタイミング例外の一つが選択され、ステップＳ９２において、選択されたタイミング例外がローカルネットを有するか否かが判定される。
【００９５】
次に、ステップＳ９２で、選択されたタイミング例外がローカルネットを持たない場合（ＮＯ）には、ステップＳ９３の処理に進み、通過点が多いパスであるか否かが判定される。ステップＳ９３で、選択されたタイミング例外が通過点が多いパスではない場合（スＮＯ）には、ステップＳ９４の処理に進み、通過点がバスの一部ビットだけのパスであるか否かが判定される。
【００９６】
一方、ステップＳ９２で、選択されたタイミング例外がローカルネットを有する場合（ＹＥＳ）に、ステップＳ９５の処理に進み、また、ステップＳ９３で、選択されたタイミング例外が通過点が多いパスである場合（ＹＥＳ）に、ステップＳ９５の処理に進み、さらに、ステップＳ９４で、選択されたタイミング例外の通過点がバスの一部ビットだけである場合（ＹＥＳ）にも、ステップＳ９５の処理に進み、ステップＳ９５において、抽出されたタイミング例外から選択されたタイミング例外が除外される。
【００９７】
その後、ステップＳ９６では、抽出されたタイミングが全て選択されたか否かが判定され、ステップＳ９６で全て選択されていなければ（ＮＯ）、ステップＳ９１の処理に戻り、ステップＳ９６で全て選択されていれば（ＹＥＳ）、このタイミング制約選択処理を終了する。
【００９８】
また、ステップＳ９４で、選択されたタイミング例外の通過点がバスの一部ビットだけではない場合（ＮＯ）には、ステップＳ９６の処理に進み、上記ステップＳ９６の処理と同様の処理が為される。
【００９９】
このように、生成条件２３において、タイミング例外からの除外対象として、ローカルネットを有する経路（ステップＳ９２）、通過点が多い経路（ステップＳ９３）、および通過点がバスの一部ビットである経路（ステップＳ９４）が指定されていれば、各タイミング例外に対して、この各条件（ステップＳ９２〜Ｓ９４）の少なくともいずれかに合致するか否が判定され、これが合致すれば、抽出されたタイミング例外（タイミング制約）から除外される。
【０１００】
以上のようにして、ステップＳ７において抽出されたタイミング例外の一部が、入力生成条件２３のタイミング制約選択条件を満たすように選択されて、ステップＳ１０においてタイミング制約２４としてタイミング制約出力手段１６から出力される。なお、前述したように、図４のステップＳ４において抽出されたクロック非同期部のタイミング例外は、そのまま、タイミング制約２４としてタイミング制約出力手段１６からデータベース６に出力される。
（タイミング制約２４を用いた論理回路の設計支援について）
次に、生成されたタイミング制約２４を用いて論理回路の設計支援を行う場合の設計フローについて考える。
【０１０１】
論理合成工程では、タイミングを悪化させる虞があるタイミング例外を除外して、残ったタイミング例外のみがタイミング制約２４として適用される。さらに、次の工程である、論理合成後のゲートレベルのネットリストに対する追加の論理合成工程または自動レイアウト工程は、論理合成に適用されたタイミング例外に加えて、除外されたタイミング例外が適用される。このとき、除外されたタイミング例外の適用には注意が必要である。例えば、論理最適化処理によって該当する経路が回路から消失されたものは適用することができない。また、経路の名前が変更されていれば、名前の対応付けを行って適用する必要がある。
【０１０２】
以上により、本実施形態の論理回路のタイミング制約生成システム１０によれば、設計対象の集積回路が表現された論理合成可能なハードウエア記述２１と、クロックと回路データとを対応付けるためのクロック仕様・外部入出力遅延２２とが入力されて、それらを用いてタイミング例外が抽出される。さらに、入力生成条件２３が入力されて、その生成条件２３が満たされるように、タイミング例外が抽出される対象回路の一部が回路選択手段１３により選択され、抽出されたタイミング例外の一部がタイミング制約選択手段１５により選択される。この入力生成条件２３によって、入力されるタイミング制約をベースとして設計や検証が行われる論理合成ツール、自動レイアウトツール、静的タイミング解析などの設計・検証ツールに対して、改善効果が高いタイミング例外のみを抽出し、抽出されたタイミング例外から設計品質を悪化させるような可能性を有するものを除外することができる。これによって、タイミング例外を処理するための設計・検証ツールによる処理時間の増大を防ぎ、不必要な回路最適化処理にかかる時間を短縮化して、集積回路の設計フローにおける処理時間を短縮化でき、かつ論理合成結果の改善効果が高いタイミング例外のみを抽出して、スラックやエリアサイズなどのような集積回路の設計品質を向上させることができる。
【０１０３】
なお、上記実施形態では、所定の入力生成条件の回路選択条件を満たすように、タイミング例外が抽出される回路の一部を選択する回路選択手段１３と、所定の入力生成条件のタイミング制約選択条件を満たすように、抽出されたタイミング例外の一部を選択するタイミング制約選択手段１５とを共に有し、回路選択手段１３およびタイミング制約選択手段１５のうちの少なくとも一方が機能する場合について説明したが、これに限らず、回路選択手段１３およびタイミング制約選択手段１５のうちのいずれか一方を有していてもよい。
【０１０４】
さらに、上記実施形態では、特に説明しなかったが、タイミング制約生成システムでは、設計対象である集積回路全体に対して処理を行っても良いが、集積回路を構成する個々の機能ブロックに対して、機能ブロックが表現された論理合成可能なハードウエア記述２１とクロック仕様・外部入出力遅延２２と入力生成条件２３とを与えて、機能ブロックに対するタイミング例外を抽出し、抽出されたタイミング例外をその機能ブロックのタイミング制約として出力するようにしてもよい。
【０１０５】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０１０６】
本発明は、集積回路（ＩＣ）の設計において、論理合成、自動レイアウトまたは静的タイミング解析などによりタイミング制約ベースで設計・検証を行う際に、対象外とするべきフォルスパス（偽経路）やマルチサイクルパス（複数のクロック周期を要する経路）などのようなタイミング的な例外（ｔｉｍｉｎｇ  ｅｘｃｅｐｔｉｏｎ）を抽出して、その経路をタイミング制約（ｔｉｍｉｎｇ  ｃｏｎｓｔｒａｉｎｔ）として出力可能とする論理回路のタイミング制約生成システムおよび、これを用いた論理回路のタイミング制約生成方法、この論理回路のタイミング制約生成方法をコンピュータに実行させるための制御プログラム、この制御プログラムを記録したコンピュータ読み出し可能な可読記録媒体の分野において、入力されるタイミング制約をベースとして設計や検証が行われる論理合成ツール、自動レイアウトツール、静的タイミング解析などの設計・検証ツールに対して、改善効果が高いタイミング例外のみを抽出し、抽出されたタイミング例外から品質を悪化させるような可能性を有するものを除外することができる。よって、タイミング例外を処理するための設計・検証ツールによる処理時間の増大を防ぎ、不必要な回路最適化処理にかかる時間を短縮化することができる。さらに、スラックやエリアサイズなどのような集積回路の設計品質を向上させることができる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の実施形態に係る論理回路のタイミング制約生成システムの要部機能構成例を示すブロック図である。
【図２】図１の論理回路のタイミング制約生成システムの要部ハード構成例を示すブロック図である。
【図３】ＳＤＣファイル中のクロック定義例、入出力遅延の定義例およびタイミング例外の定義例を説明するための図である。
【図４】図１の論理回路のタイミング制約生成システムによるタイミング制約生成処理を説明するためのフローチャートである。
【図５】フォルスパスの例を示す回路図である。
【図６】回路選択条件の例を説明するための回路図である。
【図７】各フォルスパスの論理合成への適用効果を示す図である。
【図８】図１のタイミング制約選択手段によるタイミング制約選択処理について説明するためのフローチャートである。
【図９】タイミング制約生成条件の指定記述例を説明するための図である。
【符号の説明】
【０１０８】
１  制御装置
２  入力操作装置
３  出力装置
４  補助記憶装置
５  主記憶装置
６  データベース
１０  論理回路のタイミング制約生成システム
１０Ａ  論理回路のタイミング制約生成装置
１１  データ読み込み手段
１２  非同期部のタイミング制約抽出手段
１３  回路選択手段
１４  タイミング制約抽出手段
１５  タイミング制約選択手段
１６  タイミング制約出力手段
２１  論理合成可能なハードウエア記述
２２  クロック仕様・外部入出力遅延
２３  生成条件
２４  タイミング制約
２２１  クロック定義例
２２２  タイミング例外の定義例
２２３  入出力遅延の定義例
４１、４２  レジスタ
Ｐ４１  フォルスパス
ＭＵＸ１、ＭＵＸ２  マルチプレクサ
Ｄ１、Ｄ２、ＣＬＫ  入力ポート
ＣＬＫ１、ＣＬＫ２  信号線（ネット）
Ｐ１〜Ｐ６  信号経路（データパス）
ＤＦＦ０〜ＤＦＦ６  Ｄフリップフロップ素子
Ｄ，ＣＫ，Ｑ，ＱＢ  Ｄフリップフロップ素子の入出力端子
【図１】
2008123056.tif 000003
【図２】
2008123056.tif 000004
【図３】
2008123056.tif 000005
【図４】
2008123056.tif 000006
【図５】
2008123056.tif 000007
【図６】
2008123056.tif 000008
【図７】
2008123056.tif 000009
【図８】
2008123056.tif 000010
【図９】
2008123056.tif 000011