(57)【要約】【課題】ＳＴＡスクリプトに基づき論理回路の複数の動作モードに関するタイミング制約を同時に考慮したタイミングモデルの提供。【解決手段】論理回路のクロック情報と、パスの切断箇所を示すパス切断情報を記述したＳＴＡスクリプトが入力されるＳＴＡスクリプト入力部２１と、複数のパスそれぞれについて切断情報を除くパスを抽出し、各パスのセル始点−終点間の遅延の許容値を計算するパス遅延許容値計算部２２と、各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ）を作成するＣＣＳ作成部２３を備える。ＣＣＳ作成部２３から出力される各動作モード別のＣＣＳ１２ａ，１２ｂは、ＣＣＳ連結手段２３ｂで単純連結するだけで複数動作モードを考慮した１つのＣＣＳ１２を得ることができる。【選択図】　　　図２０
2004013720.tif 000002
【特許請求の範囲】
【請求項１】
パスの始点と終点のセルまたはＩ／Ｏ端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成するＣＣＳ作成工程と、
を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
【請求項２】
パスの始点と終点のセルまたはＩ／Ｏ端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したＳＴＡ（Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトを読み込むＳＴＡスクリプト入力工程と、
前記ＳＴＡスクリプト入力工程によって読み込まれたＳＴＡスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成するＣＣＳ作成工程と、
を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
【請求項３】
単一の論理回路について異なる動作モード別に複数の前記ＳＴＡスクリプトの入力を受けるＳＴＡスクリプト入力工程と、
前記ＣＣＳ作成工程により動作モード別に複数作成された前記ＣＣＳの記述を単純連結して一つのＣＣＳを得る連結工程と、
を含むことを特徴とする請求項２に記載の論理回路のタイミング制約モデル生成方法。
【請求項４】
前記パス遅延許容値計算工程により計算された各パスの遅延の許容値を参照し、同一のパスについて動作モード別に得られた複数の遅延の許容値のうち予め設定された所定の制約条件に適した遅延の許容値を選択して、前記ＣＣＳ作成工程に出力するパス遅延許容値情報最適化工程を含むことを特徴とする請求項３に記載の論理回路のタイミング制約モデル生成方法。
【請求項５】
前記パス遅延許容値情報最適化工程に設定される制約条件として、遅延の許容値が短いセットアップ条件と、遅延の許容値が長いホールド条件とを有することを特徴とする請求項４に記載の論理回路のタイミング制約モデル生成方法。
【請求項６】
前記パス遅延の許容値の変更が外部入力されるパス遅延許容値情報入力工程を備え、
前記パス遅延許容値計算工程による計算時にパス遅延の許容値の追加、削除、修正、およびパス遅延の許容値全体のオフセット変更を行うことを特徴とする請求項２〜５のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【請求項７】
既存の作成済ＣＣＳが入力されるＣＣＳ入力工程と、
前記ＣＣＳ入力工程により入力された作成済ＣＣＳの記述を解読し、複数のパスそれぞれについて、各パスのセル始点と終点との間の遅延の許容値を復元するパス遅延許容値復元工程とを含み、
前記ＣＣＳ作成工程は、前記パス遅延許容値計算工程およびパス遅延許容値復元工程の出力に基づきＣＣＳを作成することを特徴とする請求項２〜６のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【請求項８】
前記ＳＴＡスクリプト入力工程にて入力される少なくとも一対以上複数の前記ＳＴＡスクリプトに基づくパス遅延の許容値を比較し、許容値の差分を抽出する差分ＳＴＡスクリプト作成工程を含むことを特徴とする請求項２〜７のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【請求項９】
パスの始点と終点のセルおよびＩ／Ｏ端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成プログラムであって、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したＳＴＡ（Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトを読み込ませるＳＴＡスクリプト入力工程と、
前記ＳＴＡスクリプト入力工程によって読み込まれたＳＴＡスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、抽出された各パスの始点と終点との間の遅延の許容値を計算させるパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成させるＣＣＳ作成工程と、
をコンピュータに実行させることを特徴とする論理回路のタイミング制約モデル生成プログラム。
【請求項１０】
前記方法により作成されたタイミング制約モデル（ＣＣＳ）を用いて該ＣＣＳに記述されたタイミング制約を検査するタイミング検査工程と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づいて前記論理回路の遅延を最適化する論理最適化工程と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づき論理回路の配置・配線を最適化する配置・配線工程と、
を含むことを特徴とする請求項２〜８のいずれか一つに記載の方法により作成されたタイミング制約モデルを用いるタイミングドリブンレイアウト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、論理回路のタイミング制約生成に関し、特に論理回路が有する複数の動作モードを同時に考慮したタイミング制約の生成および生成されたタイミング制約を用いて論理を最適化等するタイミングドリブンレイアウトに関するものである。
【０００２】
【従来の技術】
近年の論理回路は、一般に複数（Ｎ個）の動作モード（機能、処理速度）を有している。この動作モードとしては、例えば、システムモード、テスト動作モード、スタンバイモード、低消費電力モード、ディジタルＴＶの各国対応、ＵＳＢの高速・低速動作モード等がある。論理回路は、自身が内包するＮ個の動作モードについて、各動作モードが必要とするタイミング制約（Ｎ個）を全て満足したものでなければならない。論理回路を構成する素子としては、ＦＦ等のセル、Ｉ／Ｏ端子、ＲＯＭ，ＲＡＭ等の記憶素子がある。
【０００３】
ところで、一般に各動作モードを実行する回路は完全に分離してはおらず、むしろ回路規模削減（コスト）のためにできるだけ共通化される。図２４は、従来の複数動作モードを実行する論理回路の構成例を示す図である。図において論理回路を構成しているセル（フリップフロップ）ＦＦ１〜８の動作モードは、内部または外部からの制御信号ＳＥＬにより制御される。制御信号ＳＥＬにより、論理回路ＦＦ１〜８に供給するクロックＣＫ１，ＣＫ２の周波数の切り替えや、組合回路の動作（機能）や、データパスの切り替えが行われる。例えば、図２４の構成においては、セレクタ７０に対する制御信号ＳＥＬによりセルＦＦ３，ＦＦ４に供給されるクロックＣＫ１，ＣＫ２を切り替えることができる。この場合、制御信号ＳＥＬの供給内容、例えば、制御信号ＳＥＬの信号値が「１」または「０」に切り替わることによってセルＦＦ３，ＦＦ４を始点とするデータパスのタイミング制約が異なる。
【０００４】
従来、論理合成、タイミングドリブンレイアウトシステム（ＴＤＬ）による、タイミングモデル・最適化手法が提供されている。図２５は、従来のタイミング制約最適化システムによる処理を示すフローチャートである。タイミング検査（ステップＳ８１）では、スタティック・タイミング・アナライザ（ＳＴＡ：Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトを入力として、回路がスクリプトで記載されたタイミング制約（仕様）を満足するかを検査する。ＳＴＡスクリプトは回路仕様に応じてユーザが所望するクロックタイミングや切断ポイント等を所定形式で記述し生成する、という既存の技術である。
【０００５】
この後、Ｎ個のタイミング制約に対して論理回路がこれら全てのタイミング制約満足したかを判断し（ステップＳ８２）、満足していないタイミング制約があれば（ステップＳ８２：Ｎｏ）、ＴＤＬでの最適化を行う（ステップＳ８３）。この際、満足していない（不満足の）タイミング制約を一つ取り出し（ステップＳ８３ａ）、タイミングドリブンレイアウトシステムを用いて最適化を行い（ステップＳ８３ｂ）、他にも満足していないタイミング制約があるか判断し（ステップＳ８３ｃ）、あればステップＳ８３ａに復帰して処理を繰り返す。そしてステップＳ８１に復帰して最終的には、ＳＴＡスクリプトに記述されたタイミング制約１〜Ｎ全てが満足されれば（ステップＳ８２：Ｙｅｓ）、最適化を終了する。
【０００６】
上記ステップＳ８３におけるタイミングドリブンレイアウトシステム（ＴＤＬ）が使用するタイミングモデル・最適化手法は、一度には一つの動作モード（タイミング制約）しか考慮できない。例えば、動作モード１のタイミング制約に従って最適化を行うとき、動作モード２〜Ｎのタイミング制約は考慮されない。また、動作モード１のタイミング制約に従って最適化を行った後に、動作モード２のタイミング制約に従って最適化を行うと、動作モード１のために行った最適化を破壊してしまうことがある。
【０００７】
このように複数の動作モード（タイミング制約）が存在する場合、従来のタイミング制約最適化システムの処理では、タイミング最適化処理がモグラ叩き状態（一つの動作モードを最適化すると他の最適化状態が変動する）となり、全ての動作モードを満足する回路を得るまでのＴＡＴ（Ｔｕｒｎ　Ａｒｏｕｎｄ　Ｔｉｍｅ：ターンアラウンドタイム）が非常に長くなる。また、最適化された回路を得ることができないこともある。
【０００８】
このため、上記タイミング制約最適化システムを使用する際には、次のような手法が用いられている。
手法１）まず、一番重要と思われる動作モードのタイミング制約、もしくは条件が最も厳しいタイミング制約でタイミング最適化を行う。その後、既に行ったタイミング最適化を破壊しないように注意しながら、他のタイミング制約を満足するように人手で回路を変更するか、タイミング制約を改良して最適化を行う。
手法２）まず、各動作モードのタイミング制約を全て連結したタイミング制約を作成し、回路の最適化を行う。この際のタイミング制約は、実際の制約条件より厳しい、あるいは緩くなる。その後、既に行ったタイミング最適化を破壊しないように注意しながら、他のタイミング制約を満足するように人手で回路を変更するか、タイミング制約を改良して最適化を行う。
【０００９】
【発明が解決しようとする課題】
しかしながら、手法１）、手法２）ともに、全ての動作モードに関するタイミング制約を同時に考慮した最適化は行えないため、最適な解を得ることができなかった。また、一度には一つの動作モードについてしか着目できないため、ターンアラウンドタイムが増大する場合が多く効率が低下した。
【００１０】
また、手法２）については、タイミング制約を連結した結果として、通常は、部分回路によっては実際のタイミング制約より厳しい条件で最適化が行われる。これは著しく偏ったレイアウト（回路規模の増大に伴う消費電力の増加、必要なチップ面積の増加、配線性の悪化による配線の失敗）を引き起こし、結果としてレイアウト処理が収束しなくなる。このような状況を起こさないようなタイミング制約を人手で作成することも非常に難しい。人手で作成する場合、適切な部分だけを抽出し連結させることが行いにくい。
【００１１】
この発明は、上記問題点に鑑みてなされたものであって、ＳＴＡスクリプトに基づき論理回路の複数の動作モードに関するタイミング制約を同時に考慮したタイミングモデルを提供できる論理回路のタイミング制約モデル生成の方法、プログラム、装置の提供を目的とする。
【００１２】
また、この発明は、上記作成されたタイミング制約モデルを用いることにより、論理回路のタイミング検査、タイミング制約に基づいた論理回路の最適化、配置・配線パターン等のレイアウトを最適化できるタイムドリブンレイアウトシステムの提供を目的とする。
【００１３】
【課題を解決するための手段】
上記目的を達成するため、本発明は、論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したＳＴＡスクリプトの入力によって、切断情報を除く複数のパスを抽出して各パスのセル始点と終点との間の遅延の許容値を計算する。この各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したＣＣＳを作成することを特徴とする。ＳＴＡスクリプトとしては、他にパスの例外指定としてパスの制約条件をｋ倍することができるマルチサイクルパス指定がありこれらを考慮することもできる。
【００１４】
この発明によれば、異なる動作モード別のＳＴＡスクリプトに対応して各動作モード別に各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述した複数のタイミング制約モデル（ＣＣＳ）を作成できる。このＣＣＳは、複数のＣＣＳの記述を単純連結して一つのＣＣＳを得たり、セットアップ条件等、所定の制約条件に適した遅延の許容値を選択したＣＣＳの生成を可能とする。このタイミング制約モデルを用いたタイムドリブンレイアウトシステムは、複数の動作モードに関するタイミング制約を同時に考慮した最適化が行えるようになる。
【００１５】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る論理回路のタイミング制約生成方法および装置の好適な実施の形態を詳細に説明する。この発明によるタイミング制約方法、あるいは装置で用いるタイミング制約モデルをＣＣＳ（Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）と呼ぶ。このＣＣＳの基本概念は、「複数クロックを考慮したタイミング制約生成手法」（松永多苗子、他。デザインガイア。１９９９年１１月２７日）として論文発表されている。また、本出願人は、特願平１２−３４９９１５号において「論理回路のタイミング制約生成方式およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体」について出願している。
【００１６】
図１は、本発明の論理回路のタイミング制約生成方式の処理内容を示すフローチャートである。このシステムでは、複数のタイミング制約１〜Ｎがある場合、複数動作モードを考慮可能である。まず、考慮すべきタイミング制約全てを読み込み、１つのＣＣＳを作成する（ステップＳ１）。このＣＣＳをタイミング制約モデルＣＣＳと称す。次に、ＴＤＬシステムを用いてＣＣＳに示された全てのタイミング制約を同時に考慮した最適化を行う（ステップＳ２）。
【００１７】
ステップＳ１では、同時に考慮する必要がある動作モードに関するタイミング制約を入力とし、複数動作モードを同時に考慮できるタイミング制約ＣＣＳを作成する。ステップＳ２の処理では、このＣＣＳを用いてタイミング検査を行い（ステップＳ３）、タイミング制約を満たすまでの間は（ステップＳ４：Ｎｏ）、ＣＣＳを満足するようにタイミング最適化を行う（ステップＳ５）。タイミング制約を満たすと（ステップＳ４：Ｙｅｓ）、終了する。
【００１８】
ＣＣＳは、考慮すべき全ての動作モードに関するタイミング制約を表現しているため、ＣＣＳについてタイミング最適化を行うことで、全ての動作モードを考慮した最適化を一度に行うことができる。また、ＣＣＳが表現するタイミング制約は、個々の動作モードで必要なタイミング制約を単純に連結して得ることができるため、個々の動作モードで必要なタイミング制約をいずれも満足できるため、実際のタイミング制約に従った結果（レイアウト）を得ることができる。
【００１９】
上記のＣＣＳを作成するシステムは、以下に説明するように、特定のパス時間制約（グループ）を追加、削除できるための手段（後述するＳＴＡスクリプトに基づくＣＣＳの作成）を有しており、必要な条件に応じて必要な情報のみを効果的に表現することができる。
【００２０】
上記システムにより、従来の問題であるタイミング最適化のモグラ叩き状態、偏ったレイアウト、最適化のためのタイミング制約の再作成、といった各問題を解決できる。これにより、複数動作モードをもつ回路設計のＴＡＴ短縮や、最適なレイアウトを実現する。
【００２１】
（一つの動作モードに関するＣＣＳの作成）
次に、一つの動作モードのＣＣＳを作成するための構成および処理を説明する。図２は、一つの動作モードのＣＣＳを作成する際の対象となる論理回路の構成例を示す図、図３はＣＣＳを作成するために必要なＳＴＡ（Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトの内容を示す図、図４は、ＳＴＡスクリプトに基づき作成されるＣＣＳの内容を示す図である。
【００２２】
図２に示す論理回路は、記憶素子であるフリップフロップ（ＦＦ）および組み合わせ論理素子によって構成されたもので、各セル（インスタンス）ＩＮＳＴ１〜ＩＮＳＴ８と称す。各セルＩＮＳＴ１〜ＩＮＳＴ８に到達するクロック周期をもとに、各セル間、およびセル−Ｉ／Ｏ端子間パスに許される信号伝播遅延の許容値を、始点セルおよびＩ／Ｏ端子からの信号の出発時刻、終点セルおよびＩ／Ｏ端子にその信号が到着しなければならない要求時刻で表現したものである。なお、図２に示したパスの始点および終点はＦＦである。
【００２３】
通常、タイミング制約は図３に示すＳＴＡスクリプト１０として記述される。この制約を図２の論理回路に適用すると、図２中太線ａ〜ｄで示すセル間パス時間制約として解釈される。例えば、セルＩＮＳＴ１のＣＫ端子を始点とし、セルＩＮＳＴ３のＤ端子を終点とするパスａについては、その遅延の許容値は２０ｎｓとなる。
【００２４】
ここで、図３に示すようにＳＴＡスクリプト１０において、ｓｅｔ＿ｃｕｔ＿ｐｏｉｎｔの指定でパス切断情報１１を設定することができる。図２の回路中のセルＩＮＳＴ７の出力（個所Ｘ）を通過する全てのパスは、タイミング検証および最適化の対象外にすることができる。
【００２５】
図３のＳＴＡスクリプト１０に記述されたパス時間制約、パス切断情報１１に基づき、図４に示すＣＣＳ１２が作成される。前述したセルＩＮＳＴ１のＣＫ端子を始点としセルＩＮＳＴ３のＤ端子を終点とするパスは、セルＩＮＳＴ１のＣＫ端子を信号が時刻０ｎｓに出発し、セルＩＮＳＴ３のＤ端子に時刻２０ｎｓまでに到達する必要があること、すなわちこのパスの遅延の許容値は２０ｎｓであることを意味する。なお、出発時刻・要求時刻はパス遅延の許容値を正しく表す組であれば、どんな値の組でも良い。例えば、セルＩＮＳＴ１のＣＫ端子を信号が時刻１０ｎｓに出発し、セルＩＮＳＴ３のＤ端子に時刻３０ｎｓまでに到達する必要がある場合であっても、同様にこのパスの遅延の許容値は２０ｅ−９（２０ｎｓ）であり、許容値が正しく表されていることになる。
【００２６】
図４に示すＣＣＳ１２を説明すると、ＢＥＧＩＮＦＦから次のＢＥＧＩＮＦＦまでの間が一つのＣＣＳのグループとなる。あるグループは、他のグループとは無関係（独立）な存在であるため、複数のグループの順番は単純に入れ替えることができ、また、単純に連結することができる。このグループの個数をＣＣＳ数という。図示の例ではＣＣＳ数は２となる。ＣＣＳ数が少ないほど、タイミング検証、最適化の処理にかかるコストは小さい。各グループ内には始点および終点のセルおよびＩ／Ｏ端子それぞれにおける時刻を示す出発時刻１３、要求時刻１４と、ＣＵＴＰＯＩＮＴで示されるパス切断ポイント１５が記述されている。
【００２７】
図５は、一つの動作モードにおけるＣＣＳ作成システムの機能を示すブロック図である。ＣＣＳ作成システム２０は、ＳＴＡスクリプト入力部２１と、パス遅延許容値計算部２２と、ＣＣＳ作成部２３により構成されている。ＳＴＡスクリプト入力部２１は、図２に示す回路構成に相当するネットリスト、および図３に示すＳＴＡスクリプト１０に記載されたタイミング制約（パス時間制約、パス切断情報）を読み込む。パス遅延許容値計算部２２は、ネットリストをパストレースして始点から終点までの各セルの接続関係を調べる。また、パストレースで得られた各パスの時間制約を、各セルを駆動するクロック情報に基づき生成する。ＣＣＳ作成部２３は、各パスの始点セルと終点セルに対し、時間制約を付けたタイミング制約を作成する。
【００２８】
（複数の動作モードを考慮したＣＣＳの作成）
次に、複数の動作モードのＣＣＳを作成するための構成および処理の各機能を説明する。
１．個々の動作モードのＣＣＳを単純に連結
前述した一つのモードで作成されたＣＣＳは、単純に連結してもタイミング制約に矛盾は生じない。したがって、複数モードを同時に表現するＣＣＳは、単に動作モード１から動作モードＮまでのＣＣＳを連結することで実現できる。
【００２９】
図６は、複数モードのＣＣＳを作成する手順を説明するための図である。図６（ａ）は、前述した図２の回路構成の動作モード１におけるＳＴＡスクリプト１０ａと、作成されるＣＣＳ１２ａを示す図である。図６（ｂ）は、動作モード２におけるＳＴＡスクリプト１０ｂと、作成されるＣＣＳ１２ｂを示す図である。動作モード１と２は、それぞれパス遅延の許容値と、パス切断ポイントが異なる。動作モード１におけるパス切断ポイントは、図２に示したセルＩＮＳＴ７の出力であり、動作モード２におけるパス切断ポイントは、セルＩＮＳＴ５の出力である。
【００３０】
図７は、異なる動作モードを同時に表現したＣＣＳを示す図である。図示のように、図６の動作モード１，２でそれぞれ得られた２つのＣＣＳ１２ａ，１２ｂを単純に連結（動作モード順に記述展開）するだけで複数モードを考慮したＣＣＳ１２ｃを作成することができる。このように、パス切断ポイントを設定し、動作モード１と２がそれぞれ異なるパス切断ポイントであることにより、２つのＣＣＳを単純連結させることができるようになる。
【００３１】
図８は、複数の動作モードにおけるＣＣＳ作成システムの機能を示すブロック図である。ＣＣＳ作成システム２０は、図５同様に、各動作モード別のＳＴＡスクリプト１０ａ〜１０ｎが入力されるＳＴＡスクリプト入力部２１と、パス遅延許容値計算部２２と、ＣＣＳ作成部２３により構成されている。ＣＣＳ作成部２３は、一つの動作モード毎にＣＣＳ１２ａ〜１２ｎを作成するＣＣＳ作成手段２３ａと、各動作モードで作成されたＣＣＳ１２ａ〜１２ｎを連結しＣＣＳ１２を出力するＣＣＳ連結手段２３ｂを有している。また、ＣＣＳ作成手段２３ａで作成されたＣＣＳ１２ａ〜１２ｎは、ＳＴＡスクリプト（各動作モード）ごとに一時的に格納手段２３ｃに格納され、ＣＣＳ連結手段２３ｂに対して出力される。
【００３２】
２．冗長なパス遅延制約を削除し最適化
ＣＣＳは、セル−セル間、セル−Ｉ／Ｏ間パスに許される遅延の許容値が判れば作成できる。この際、各動作モードにおけるタイミング制約をパス遅延の許容値情報に変換し、それらを全て連結してＣＣＳ１２を作成することができる。
【００３３】
図９は、パス遅延の許容値情報を連結したＣＣＳを作成する手順を示す図である。動作モードごとに作成されたパス遅延の許容値情報について、その制約の強さの包含関係を利用することで、ＣＣＳ数を削減できる。例えば、図９の回路構成に示すパスｄ（セルＩＮＳＴ２→セルＩＮＳＴ６→セルＩＮＳＴ４）の遅延の許容値は、動作モード１では１０ｎｓ，動作モード２では２０ｎｓである。セットアップ条件の許容値であれば、２０ｎｓより１０ｎｓの方が制約が厳しいことになる。このため、このパスｄの許容値は１０ｎｓとなり、２０ｎｓの許容値情報は不要となる（１０ｎｓの制約は２０ｎｓの制約を包含する）。
【００３４】
このように、制約の包含関係を利用することで、パス遅延の許容値情報を最適化することができる。図１０は、最適化された情報に基づき作成されたＣＣＳを示す図である。一般的な制約条件としては、大きく分けて上記のセットアップ条件と、ホールド条件がある。セットアップ条件は時間の短い方が時間制約が厳しく、ホールド条件は逆に時間の長い方が時間制約が厳しいことを示している。
【００３５】
図１１は、複数の動作モードにおけるＣＣＳ作成システムの機能を示すブロック図である。ＣＣＳ作成システム２０は、図５同様に、各動作モード別のＳＴＡスクリプト１０ａ〜１０ｎが入力されるＳＴＡスクリプト入力部２１と、パス遅延許容値計算部２２と、ＣＣＳ１２を作成するＣＣＳ作成部２３を備える。また、パス遅延許容値情報最適化部２４は、パス遅延許容値計算部２２で計算されたパス遅延の許容値情報を最適化しＣＣＳ作成部２３に出力する。パス遅延許容値計算部２２で計算されたパス遅延の許容値情報は格納手段２４ａにＳＴＡスクリプトごとに格納され、パス遅延許容値情報最適化部２４に出力される。
【００３６】
このように、パス遅延許容値情報最適化部２４で最適化された情報をＣＣＳ作成部２３に与えることで、ＣＣＳ作成部２３は冗長なタイミング制約情報を作成することなく、単純連結で作成したＣＣＳより、ＣＣＳ数の少ない最適化されたＣＣＳ１２を作成する。
【００３７】
３．パス制約全体にオフセットを与える、指定条件を満たすパス制約の除外
上記のＣＣＳ作成システム２０は、外部からのユーザ制御により、パス遅延の許容値全体にオフセットを与えたり、指定条件を満たすパス制約を無視（または制約を満たすもののみ考慮）することができる。
【００３８】
図１２は、パス制約の変更処理を備えたＣＣＳ作成システムの機能を示すブロック図である。ＣＣＳ作成システム２０には、パス遅延許容値情報入力部２５を備え、外部からパス制約の変更情報３０が入力される。パス制約の変更情報は、パス遅延許容値の追加、削除、オフセット等の指定情報であり、ＳＴＡスクリプトで記述される。パス遅延許容値情報入力部２５は、指定された変更情報（パス遅延の許容値へのオフセット値、除外パス条件等）を格納手段２５ａに格納し、条件設定部２５ｂに設定する。条件設定部２５ｂは、格納手段２４ａに格納されたパス遅延の許容値情報に対し、設定された条件（オフセット設定、除外パス条件合致パスの除外等）に基づく変更処理を行い、パス遅延許容値情報最適化部２４に出力する。ＣＣＳ作成部２３は、ＣＣＳ１２を作成する。
【００３９】
図１３，図１４は、パス制約を変更したＣＣＳを作成する手順を示す図である。図１３（ａ）は動作モード１におけるＳＴＡスクリプト１０ａの記述内容、図１３（ｂ）は、（ａ）に対応する回路構成のタイミング制約を示す図、図１３（ｃ）は動作モード２におけるＳＴＡスクリプト１０ｂの記述内容、図１３（ｄ）は、（ｃ）に対応する回路構成のタイミング制約（ＳＴＡスクリプト）を示す図である。
【００４０】
ここで図１３（ｅ）に示すパス制約の変更情報３０として、生成されたパス遅延の許容値１，２について、図１３（ｆ）に示すように、
▲１▼許容値が１５ｎｓより大きいパスはＣＣＳの作成対象としない（ｉｇｎｏｒｅ＿ｐａｔｈ−ｌａｒｇｅｒ＿ｔｈａｎ　１５ｎｓ）。
▲２▼全てのパスのパス遅延の許容値を一律２ｎｓ減じる（ａｄｄ＿ｏｆｆｓｅｔ−２ｎｓ）。
という指定が入力されたとする。
【００４１】
この場合、条件設定部２５ｂは、全てのパス遅延の許容値を１０ｎｓ→８ｎｓに変更する。図１４（ａ），（ｂ）は、それぞれパス制約の変更後における動作モード１，２のパス制約の許容値を回路構成上に表記した例である。図示のように、▲１▼，▲２▼を満たす形に変更されている。対応して、図１４（ｃ）に示すＣＣＳ１２が作成される。
【００４２】
このようなパス遅延の許容値へのオフセットの指定、指定条件を満たすパス制約の除外は、ＴＤＬでのタイミング最適化時に、ある特定部分を優先的に最適化したり、最適化対象から取り除いたり、またはＳＴＡスクリプトよりも全体を厳しく（または緩めに）最適化するための指示として使用することができる。
【００４３】
４．既存のＣＣＳの再構成、再最適化
ＣＣＳは内部の記述に基づきパス遅延の許容値情報を復元できる。このため、ＣＣＳ作成システム２０は、既存のＣＣＳを再構成し、再最適化することができる。既存のＣＣＳは、ＣＣＳ作成システム内部でＣＣＳとして保存され、単に他のＳＴＡスクリプトから作成されたＣＣＳと連結される（前述した１．個々の動作モードのＣＣＳを単純に連結）か、もしくはそこからパス遅延の許容値情報を復元し、パス遅延許容値の再最適化を行うことができる。
【００４４】
図１５は、既存のＣＣＳの再構成、最適化を行うＣＣＳ作成システムの機能を示すブロック図である。ＣＣＳ作成システム２０は、各動作モード別のＳＴＡスクリプト１０ａ〜１０ｎが入力されるＳＴＡスクリプト入力部２１と、パス遅延許容値計算部２２と、ＣＣＳ作成部２３と、パス遅延許容値情報最適化部２４，格納手段２４ａを備える。ＣＣＳ作成部２３は、前述したＣＣＳ作成手段２３ａ，ＣＣＳ連結手段２３ｂ，格納手段２３ｃを備える。
【００４５】
また、既存ＣＣＳ（ＳＴＡスクリプト）３１が入力可能なＣＣＳ入力部３２、入力された既存ＣＣＳ３１の記述内容からＣＣＳパス遅延許容値を復元するパス遅延許容値復元部３３を備える。ＣＣＳ入力部３２は、入力された既存ＣＣＳ３１を格納手段２３ｃに格納し、パス遅延許容値復元部３３は、復元したパス遅延の許容値を格納手段２４ａに格納する。
【００４６】
図１６は、既存のＣＣＳおよび追加ＳＴＡスクリプトに基づきＣＣＳを作成する手順を示す図である。図１６（ａ）は既存のＣＣＳを示す図、図１６（ｂ）は該ＣＣＳの記述に基づき復元されたタイミング制約の内容を示す図である。（ａ）に示す既存ＣＣＳ３１は、便宜上、図３の内容に一致させている。同様に（ｂ）は図２と同等である。また、図１６（ｃ）はユーザにより追加された追加ＳＴＡスクリプト３４であり、（ｄ）は追加ＳＴＡスクリプトが示すタイミング制約の内容を示す図である。
【００４７】
図１６（ａ）の既存ＣＣＳ３１により図１６（ｂ）としてタイミング制約が復元される。図１６（ｃ）の追加ＳＴＡスクリプト３４により図１６（ｄ）に示すタイミング制約が得られる。図１７は、追加ＳＴＡスクリプトの単純連結により得られるＣＣＳを示す図である。図１６（ｂ），（ｄ）に示す２つのパス遅延の許容値を単純連結することにより、図１７に示すＣＣＳ１２が作成される。このＣＣＳ１２は、既存ＣＣＳ３１と、追加ＳＴＡスクリプト３４を同時に表現する。
【００４８】
上記構成による具体的な用途を説明する。
（ａ）あるＣＣＳを用いてＴＤＬを行った後、動作モードを新たに追加してレイアウトの再最適化を行うとき、既に存在するＣＣＳを有効利用できるようになる。単純連結であれば、既に作成したＣＣＳは完全に再利用され、ＣＣＳを最適化する場合もパス遅延の許容値を再計算する必要はなく簡単にＣＣＳを得ることができる。
（ｂ）ＬＳＩの設計工程の初期には全ての動作モードのタイミング制約がそろっているとは限らない。重要である動作モードのタイミング制約から順次完成したものが出来上がる。このような場合、既存のＣＣＳを有効利用して、順次新たな動作モードのタイミング制約をそろえていくことができる。
【００４９】
５．複数動作モードを同時に扱えない従来システムのためのタイミング制約の生成
従来のＴＤＬは、前述したように、同時には一つしかタイミング制約（動作モード）を扱えない。本発明は、このようなＴＤＬを含む論理合成システムであっても複数動作モードのタイミング最適化を行うことができるタイミング制約を生成することができる。従来からＳＴＡのスクリプトの記述体系としては、パス間のタイミング制約の例外情報を指定することができ、ある特定のパスについて、その遅延許容値を設定できるようになっている。例えば、パスがＩＮＳＴ１→ＩＮＳＴ５→ＩＮＳＴ６の場合の許容値が１０ｎｓである場合、次の記述例のように指定している。
【００５０】
ｓｅｔ＿ｐｉｎ＿ｔｏ＿ｐｉｎ＿ｔｉｍｉｎｇ　−ｓｏｕｒｃｅ　ＩＮＳＴ１．ＣＫ　−ｐｏｉｎｔ　ＩＮＳＴ５．Ｘ　−ｓｉｎｋ　ＩＮＳＴ６．Ｄ　１０ｎｓ
【００５１】
上述した従来システムを用いた複数動作モードのタイミング最適化の手法２）では、上記のようなパス間のタイミング制約の例外指定を多用することになる。
【００５２】
本発明のＣＣＳ作成システム２０によれば、上述した機能「２．冗長なパス遅延制約を削除し最適化」において説明した如く、複数のＳＴＡスクリプトが表現するパス遅延の許容値を比較することができるものである。したがって、ある動作モードのＳＴＡスクリプトを基準スクリプトとし、他のＳＴＡスクリプトが表現するパス遅延の許容値について、基準スクリプトが表現するパス遅延の許容値より制約として厳しいものを抜き出し、それをパス間制約の例外情報として出力することが可能となる。
【００５３】
図１８は、異なる動作モードのＳＴＡスクリプトに基づき、ＣＣＳ作成システムが差分スクリプトを作成する手順を示す図である。図１８（ａ）は動作モード１のＳＴＡスクリプト１０ａ、図１８（ｂ）はＳＴＡスクリプト１０ａに対応するタイミング制約の内容を示す図、図１８（ｃ）は動作モード２のＳＴＡスクリプト１０ｂ、図１８（ｄ）はＳＴＡスクリプト１０ｂに対応するタイミング制約の内容を示す図である。
【００５４】
図示のように、（ａ）動作モード１のＳＴＡスクリプト１０ａと、（ｂ）動作モード２のＳＴＡスクリプト１０ｂそれぞれが示すタイミング制約に基づき、（ｅ）差分ＳＴＡスクリプト１０ｓを抽出する。この差分ＳＴＡスクリプト１０ｓは、上記パス間制約の例外情報である。
【００５５】
図１９は、差分ＳＴＡスクリプトを生成するＣＣＳ作成システムの機能を示すブロック図である。ＣＣＳ作成システム２０は、各動作モード別のＳＴＡスクリプト１０ａ〜１０ｎが入力されるＳＴＡスクリプト入力部２１と、パス遅延許容値計算部２２と、格納手段２４ａを備える。格納手段２４ａには、パス遅延許容値計算部２２で計算されたパス遅延の許容値情報が格納され、パス遅延許容値情報比較部２６は、このパス遅延の許容値情報を比較して比較結果を差分ＳＴＡスクリプト作成部２７に出力する。差分ＳＴＡスクリプト作成部２７は、この比較結果に基づき差分ＳＴＡスクリプト（あるいは基準ＳＴＡスクリプト＋差分ＳＴＡスクリプト）１０ｓを作成する。
【００５６】
差分ＳＴＡスクリプト作成部２７の出力形式は二通りある。
▲１▼基準ＳＴＡスクリプトをユーザが指定した場合…ユーザが指定したあるＳＴＡスクリプトを基準ＳＴＡスクリプトとし、この基準ＳＴＡスクリプトに対する差分ＳＴＡスクリプトのみを出力する。
▲２▼基準ＳＴＡスクリプトをユーザが指定しない場合…差分ＳＴＡスクリプトの量が少なくなるように「基準ＳＴＡスクリプト＋差分ＳＴＡスクリプト」を出力する。なお、差分ＳＴＡスクリプトの量が少なくなる基準ＳＴＡスクリプトをユーザが選ぶことは一般に難しい。
【００５７】
また、ＳＴＡスクリプト同士の差分抽出に限らず、例えば、動作モード１のＳＴＡスクリプトと、ＣＣＳ作成システム２０が出力した動作モード２の差分ＳＴＡスクリプトを連結することで、動作モード１と動作モード２を考慮したタイミング制約を得ることもできるようになる。
【００５８】
（複数モードを考慮したＣＣＳ作成システムの全体構成）
図２０は、ＣＣＳ作成システムの全体構成を示すブロック図である。ＣＣＳ作成システム２０は、以上説明した各機能１．〜５．を実現する各手段を備えてなる。このＣＣＳ作成システム２０は、上記各機能を達成するための所定の処理プログラムをＣＰＵを備えたコンピュータ装置で実行する構成とすることができる。
【００５９】
（複数動作モードを同時に考慮するタイミングドリブンレイアウトシステム）
図１に示したように、上述したＣＣＳ作成システム２０で作成したＣＣＳ（タイミング制約モデルＣＣＳ）は、図１中ステップＳ１の処理に相当する。次に、ステップＳ２に示すように、ＴＤＬは、作成されたＣＣＳを用いて全てのタイミング制約を同時に考慮した最適化を行う。
【００６０】
図２１は、ＣＣＳを用いたタイミングドリブンレイアウトシステムを示すブロック図である。ＴＤＬ４０には、ＣＣＳ作成システム２０で作成されたＣＣＳ（タイミング制約モデルＣＣＳ）１２が入力される。このＣＣＳ１２は、タイミング検査システム４１，論理最適化システム４２，配置・配線システム４３でそれぞれ用いられる。
【００６１】
タイミング検査システム４１は、ＣＣＳ１２を用いてタイミング制約を検査し、論理最適化システム４２はＣＣＳ１２に基づいて論理回路の遅延（構造）を最適化する。配置・配線システム４３は、ＣＣＳ１２に基づいてセル（回路素子）の配置や配線パターンを最適化する。回路構成のネットリスト５０は、ネットリスト入力部４４に入力され、これら各システム４１〜４３で参照される。ＴＤＬ４０は、各システム４１〜４３の処理によって得られた回路構成のレイアウトデータ５１をレイアウトデータ出力部４５から外部出力する。
【００６２】
また、ＴＤＬ４０は、入力されたＣＣＳ１２全て、あるいは一部を選択して処理動作が可能である。このため、処理対象ＣＣＳ番号入力部４６、処理対象ＣＣＳ制御部４７を備える。処理対象ＣＣＳ番号入力部４６には、ユーザ等により指定された処理対象ＣＣＳ番号５２が入力され、処理対象ＣＣＳ制御部４７は、各システム４１〜４３に対して指定された処理対象ＣＣＳ番号５２を指定する。
【００６３】
このように、上記ＴＤＬ４０は、
１．指定されたすべてのＣＣＳ（グループ）を同時に考慮
２．指定された一部のＣＣＳ（グループ）のみ考慮
することができる。
【００６４】
１．は全ての動作モードを同時に考慮したレイアウトを行うことを意味し、通常はこの機能で動作する。２．は一部の動作モードのみ考慮したレイアウトを行うことを意味する。２．の用途は次の通りである。まず、一番重要な動作モードについて最適化を行い、本当に与えられたタイミング制約を満たすレイアウト結果が得られたか確認する。タイミング制約を満足するレイアウトが得られない場合、他の動作モードを同時に考慮しても、一番重要な動作モードを持つレイアウトを得ることはできない。例えば、汎用のシステムモードとテストモードにおいては、システムモードの方がより重要とされている。
【００６５】
一部の動作モードのタイミング制約が不完全な場合、それらに対応するＣＣＳ１２は考慮せずレイアウトを行う。考慮しなかったＣＣＳ１２については、レイアウト終了後にタイミング制約を満たしているか否かのみを検査する。
【００６６】
図２２は、ＴＤＬ処理対象ＣＣＳの指定を説明するための図である。図２２（ａ）は、作成されたＣＣＳ１２に記載されている動作モード１，２全てをＴＤＬ４０の処理対象とする場合の例である。この場合、処理対象ＣＣＳ番号としてＣＣＳ１，２，３，４を指定する。図２２（ｂ）は、作成されたＣＣＳ１２に記載されている動作モード１のみをＴＤＬ４０の処理対象とする場合の例である。この場合、処理対象ＣＣＳ番号としてＣＣＳ１，２を指定する。ＴＤＬ４０は、動作モード２のＣＣＳ３，４を処理対象としない。図２２（ｃ）は、作成されたＣＣＳ１２に記載されている動作モード２のみをＴＤＬ４０の処理対象とする場合の例である。この場合、処理対象ＣＣＳ番号としてＣＣＳ３，４を指定する。ＴＤＬ４０は、動作モード１のＣＣＳ１，２を処理対象としない。
【００６７】
ＴＤＬ４０が有するタイミング検査システム４１，論理最適化システム４２，配置・配線システム４３は、入力されたＣＣＳ１２に基づき単独動作も可能である。ＣＣＳ１２自体は回路設計時の設計手順に依存しないタイミング制約モデルである。上述したように、ＣＣＳ１２の各グループは互いに独立しているため、各グループ別に遅延計算・検証、スラック解析を独立に、あるいは平行して行うことができる。
【００６８】
ところで、一般の論理合成、配置、配線システムにおいては、回路の各点において計算されるスラック（タイミング制約に対する回路遅延の余裕度）をコスト（評価関数の一部）として処理を行うようになっている。設計した回路構成のある地点に着目したとき、ＣＣＳ１２を用いると複数のスラックが存在することになるが、通常は最悪スラックのみ考慮すればよい。その地点の最悪スラックは、単にＣＣＳ１２のグループごとに求めたスラックの中の最悪値（最小値）である。論理最適化システム４２では、ＣＣＳ１２に関してスラック解析を行い、この値を制約として回路遅延を最適化するよう回路を合成する。配置・配線システム４３は、この値をコストとして配置、配線を変更する等の処理を行う。
【００６９】
図２３は、ＣＣＳとスラック解析結果の一例を示す図である。図２３（ａ）は、ＣＣＳ１２を示す図、図２３（ｂ）は、ＣＣＳ１２に基づくスラック解析結果を示す図である。図示の例では、各セルＩＮＳＴ１〜ＩＮＳＴ８の遅延は一律５ｎｓ（５．０ｅ−０９）であるとする。また、表記の簡単化のため、スラック値はｅ−０９を省略してある。各セル部分の〔〕の表記がスラックであり、〔〕内は上から順にＣＣＳ１２内に記述された、ＣＣＳ１に関するスラック〜ＣＣＳ４に関するスラックである。その中での最小スラックに丸印（○）を附した。ここで、ＴＤＬ４０で動作モード１（ＣＣＳ１，２）のみが選択された場合には、対応する１，２についてのみスラック解析を行う。
【００７０】
上記構成のＴＤＬ４０は、ＣＰＵを備えたコンピュータ装置で構成でき、タイミング検査システム４１，論理最適化システム４２，配置・配線システム４３の各システムそれぞれに対応した処理プログラムをコンピュータ装置で実行することにより上記の機能を得ることができる。なお、ＣＣＳ作成システム２０およびＴＤＬ４０を同一のコンピュータ装置で構成できることは言うまでもない。
【００７１】
以上説明したＣＣＳ作成処理、およびＴＤＬ処理は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、各種記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００７２】
（付記１）パスの始点と終点のセルまたはＩ／Ｏ端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成するＣＣＳ作成工程と、
を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
【００７３】
（付記２）パスの始点と終点のセルまたはＩ／Ｏ端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したＳＴＡ（Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトを読み込むＳＴＡスクリプト入力工程と、
前記ＳＴＡスクリプト入力工程によって読み込まれたＳＴＡスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成するＣＣＳ作成工程と、
を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
【００７４】
（付記３）単一の論理回路について異なる動作モード別に複数の前記ＳＴＡスクリプトの入力を受けるＳＴＡスクリプト入力工程と、
前記ＣＣＳ作成工程により動作モード別に複数作成された前記ＣＣＳの記述を単純連結して一つのＣＣＳを得る連結工程と、
を含むことを特徴とする付記２に記載の論理回路のタイミング制約モデル生成方法。
【００７５】
（付記４）前記パス遅延許容値計算工程により計算された各パスの遅延の許容値を参照し、同一のパスについて動作モード別に得られた複数の遅延の許容値のうち予め設定された所定の制約条件に適した遅延の許容値を選択して、前記ＣＣＳ作成工程に出力するパス遅延許容値情報最適化工程を含むことを特徴とする付記３に記載の論理回路のタイミング制約モデル生成方法。
【００７６】
（付記５）前記パス遅延許容値情報最適化工程に設定される制約条件として、遅延の許容値が短いセットアップ条件と、遅延の許容値が長いホールド条件とを有することを特徴とする付記４に記載の論理回路のタイミング制約モデル生成方法。
【００７７】
（付記６）前記パス遅延の許容値の変更が外部入力されるパス遅延許容値情報入力工程を備え、
前記パス遅延許容値計算工程による計算時にパス遅延の許容値の追加、削除、修正、およびパス遅延の許容値全体のオフセット変更を行うことを特徴とする付記２〜５のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【００７８】
（付記７）既存の作成済ＣＣＳが入力されるＣＣＳ入力工程と、
前記ＣＣＳ入力工程により入力された作成済ＣＣＳの記述を解読し、複数のパスそれぞれについて、各パスのセル始点と終点との間の遅延の許容値を復元するパス遅延許容値復元工程とを含み、
前記ＣＣＳ作成工程は、前記パス遅延許容値計算工程およびパス遅延許容値復元工程の出力に基づきＣＣＳを作成することを特徴とする付記２〜６のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【００７９】
（付記８）前記ＳＴＡスクリプト入力工程にて入力される少なくとも一対以上複数の前記ＳＴＡスクリプトに基づくパス遅延の許容値を比較し、許容値の差分を抽出する差分ＳＴＡスクリプト作成工程を含むことを特徴とする付記２〜７のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【００８０】
（付記９）パスの始点と終点のセルおよびＩ／Ｏ端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成プログラムであって、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したＳＴＡ（Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトを読み込ませるＳＴＡスクリプト入力工程と、
前記ＳＴＡスクリプト入力工程によって読み込まれたＳＴＡスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、抽出された各パスの始点と終点との間の遅延の許容値を計算させるパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成させるＣＣＳ作成工程と、
をコンピュータに実行させることを特徴とする論理回路のタイミング制約モデル生成プログラム。
【００８１】
（付記１０）前記方法により作成されたタイミング制約モデル（ＣＣＳ）を用いて該ＣＣＳに記述されたタイミング制約を検査するタイミング検査工程と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づいて前記論理回路の遅延を最適化する論理最適化工程と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づき論理回路の配置・配線を最適化する配置・配線工程と、
を含むことを特徴とする付記２〜８のいずれか一つに記載の方法により作成されたタイミング制約モデルを用いるタイミングドリブンレイアウト方法。
【００８２】
（付記１１）前記論理最適化工程は、作成された前記ＣＣＳに記述された全ての時間制約あるいは一部の時間制約を最適化対象とした最適化を行う付記１０に記載のタイミング制約モデルを用いることを特徴とするタイミングドリブンレイアウト方法。
【００８３】
（付記１２）前記論理最適化工程において最適化対象となるＣＣＳ内の記述を指定する処理対象ＣＣＳ入力工程を含む付記１１に記載のタイミング制約モデルを用いることを特徴とするタイミングドリブンレイアウト方法。
【００８４】
（付記１３）前記タイミング制約モデル作成プログラムにより作成されたタイミング制約モデル（ＣＣＳ）を用いてタイミングドリブンレイアウトを行うタイミングドリブンレイアウトプログラムであって、
前記ＣＣＳに記述されたタイミング制約を検査させるタイミング検査工程と、作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づいて前記論理回路の遅延を最適化させる論理最適化工程と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づき論理回路の配置・配線を最適化させる配置・配線工程と、
をコンピュータに実行させる付記９に記載のプログラムにより作成されたタイミング制約モデルを用いることを特徴とするタイミングドリブンレイアウトプログラム。
【００８５】
（付記１４）パスの始点と終点またはＩ／Ｏ端子のセルを有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成装置において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したＳＴＡ（Ｓｔａｔｉｃ　Ｔｉｍｉｎｇ　Ａｎａｌｙｚｅｒ）スクリプトを読み込むＳＴＡスクリプト入力手段と、
前記ＳＴＡスクリプト入力手段によって読み込まれた前記ＳＴＡスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算手段と、
前記パス遅延許容値計算手段により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル（ＣＣＳ：Ｃｏｍｐａｔｉｂｌｅ　Ｃｏｎｓｔｒａｉｎｔ　Ｓｅｔ）を作成するＣＣＳ作成手段と、
を備えたことを特徴とする論理回路のタイミング制約モデル生成装置。
【００８６】
（付記１５）前記ＳＴＡスクリプト入力手段には、前記単一の論理回路について異なる動作モード別に複数の前記ＳＴＡスクリプトが入力され、
前記ＣＣＳ作成手段により動作モード別に複数作成された前記ＣＣＳの記述を単純連結して一つのＣＣＳを得る連結手段を備えたことを特徴とする付記１４に記載の論理回路のタイミング制約モデル生成装置。
【００８７】
（付記１６）前記パス遅延許容値計算手段が計算した各パスの遅延の許容値を参照し、同一のパスについて動作モード別に得られた複数の遅延の許容値のうち予め設定された所定の制約条件に適した遅延の許容値を選択するパス遅延許容値情報最適化手段を備え、
該パス遅延許容値情報最適化手段に設定される制約条件として、遅延の許容値が短いセットアップ条件と、遅延の許容値が長いホールド条件とを有することを特徴とする付記１５に記載の論理回路のタイミング制約モデル生成装置。
【００８８】
（付記１７）前記パス遅延の許容値の変更を外部入力可能なパス遅延許容値情報入力手段を備え、前記パス遅延許容値計算手段における計算時にパス遅延の許容値の追加、削除、修正、およびパス遅延の許容値全体のオフセット変更を行うことを特徴とする付記１４〜１６のいずれか一つに記載の論理回路のタイミング制約モデル生成装置。
【００８９】
（付記１８）既存の作成済ＣＣＳが入力されるＣＣＳ入力手段と、
前記ＣＣＳ入力手段に入力された作成済ＣＣＳの記述を解読し、複数のパスそれぞれについて、各パスの始点と終点との間の遅延の許容値を復元するパス遅延許容値復元手段とを備え、
前記ＣＣＳ作成手段は、前記パス遅延許容値計算手段およびパス遅延許容値復元手段の出力に基づきＣＣＳを作成することを特徴とする付記１４〜１７のいずれか一つに記載の論理回路のタイミング制約モデル生成装置。
【００９０】
（付記１９）前記ＳＴＡスクリプト入力手段に入力される少なくとも一対以上複数の前記ＳＴＡスクリプトに基づくパス遅延の許容値を比較し、許容値の差分を抽出する差分ＳＴＡスクリプト作成手段を備えたことを特徴とする付記１４〜１８のいずれか一つに記載の論理回路のタイミング制約モデル生成装置。
【００９１】
（付記２０）前記方法により作成されたＣＣＳを用いて該ＣＣＳに記述されたタイミング制約を検査するタイミング検査手段と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述された全ての時間制約あるいは一部の時間制約を最適化対象としたタイミング制約に基づいて前記論理回路の遅延を最適化する論理最適化手段と、
前記論理最適化手段において最適化対象となるＣＣＳ内の記述を指定する処理対象ＣＣＳ入力手段と、
作成された前記ＣＣＳを用いて該ＣＣＳに記述されたタイミング制約に基づき論理回路の配置・配線を最適化する配置・配線手段と、
を備えたことを特徴とする付記１４〜１９の少なくともいずれか一つの装置により作成されたタイミング制約モデルを用いるタイミングドリブンレイアウトシステム。
【００９２】
【発明の効果】
本発明によれば、ＳＴＡスクリプトを用いて異なる動作モードのタイミング制約モデル（ＣＣＳ）を作成できる。タイミング制約モデルは、複数のＣＣＳの記述を単純連結して一つにまとめることができる他、セットアップ条件等、所定の制約条件に適した遅延の許容値を選択して生成できるという効果を奏する。このタイミング制約モデルを用いたタイミングドリブンレイアウトシステムは、複数動作モードを同時に最適化した回路を生成できるため、遅延の許容値を最適化する処理回数を削減でき処理のターンアラウンドタイムの短縮化、モグラ叩きの不発生による論理最適化、設計ターンアラウンドタイムの短縮化が図れるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の論理回路のタイミング制約生成方式の処理内容を示すフローチャートである。
【図２】一つの動作モードのＣＣＳを作成する際の対象となる論理回路の構成例を示す図である。
【図３】ＣＣＳを作成するために必要なＳＴＡスクリプトの内容を示す図である。
【図４】ＳＴＡスクリプトに基づき作成されるＣＣＳの内容を示す図である。
【図５】一つの動作モードにおけるＣＣＳ作成システムの機能を示すブロック図である。
【図６】複数モードのＣＣＳを作成する手順を説明するための図である。
【図７】異なる動作モードを同時に表現したＣＣＳを示す図である。
【図８】複数の動作モードにおけるＣＣＳ作成システムの機能を示すブロック図である。
【図９】パス遅延の許容値情報を連結したＣＣＳを作成する手順を示す図である。
【図１０】最適化された情報に基づき作成されたＣＣＳを示す図である。
【図１１】複数の動作モードにおけるＣＣＳ作成システムの機能を示すブロック図である。
【図１２】パス制約の変更処理を備えたＣＣＳ作成システムの機能を示すブロック図である。
【図１３】パス制約を変更したＣＣＳを作成する手順を示す図である（その１）。
【図１４】パス制約を変更したＣＣＳを作成する手順を示す図である（その２）。
【図１５】既存のＣＣＳの再構成、最適化を行うＣＣＳ作成システムの機能を示すブロック図である。
【図１６】既存のＣＣＳおよび追加ＳＴＡスクリプトに基づきＣＣＳを作成する手順を示す図である。
【図１７】追加ＳＴＡスクリプトの単純連結により得られるＣＣＳを示す図である。
【図１８】異なる動作モードのＳＴＡスクリプトに基づき、ＣＣＳ作成システムが差分スクリプトを作成する手順を示す図である。
【図１９】差分ＳＴＡスクリプトを生成するＣＣＳ作成システムの機能を示すブロック図である。
【図２０】ＣＣＳ作成システムの全体構成を示すブロック図である。
【図２１】ＣＣＳを用いたタイミングドリブンレイアウトシステムを示すブロック図である。
【図２２】ＴＤＬ処理対象ＣＣＳの指定を説明するための図である。
【図２３】ＣＣＳとスラック解析結果の一例を示す図である。
【図２４】従来の複数動作モードを実行する論理回路の構成例を示す図である。
【図２５】従来のタイミング制約最適化システムによる処理を示すフローチャートである。
【符号の説明】
１０（１０ａ，１０ｂ，…，１０ｎ）　ＳＴＡスクリプト
１０ｓ　差分ＳＴＡスクリプト
１１　パス切断情報
１２（１２ａ，１２ｂ，…，１２ｎ）　ＣＣＳ
１３　出発時刻
１４　要求時刻
１５　パス切断ポイント
２０　ＣＣＳ作成システム
２１　ＳＴＡスクリプト入力部
２２　パス遅延許容値計算部
２３　ＣＣＳ作成部
２３ａ　ＣＣＳ作成手段
２３ｂ　ＣＣＳ連結手段
２３ｃ　格納手段
２４　パス遅延許容値情報最適化部
２４ａ　格納手段
２５　パス遅延許容値情報入力部
２５ａ　格納手段
２５ｂ　条件設定部
２６　パス遅延許容値情報比較部
２７　差分ＳＴＡスクリプト作成部
３０　パス制約の変更情報
３１　既存ＣＣＳ
３２　ＣＣＳ入力部
３３　パス遅延許容値復元部
３４　追加ＳＴＡスクリプト
４０　ＴＤＬ
４１　タイミング検査システム
４２　論理最適化システム
４３　配置・配線システム
４４　ネットリスト入力部
４５　レイアウトデータ出力部
４６　処理対象ＣＣＳ番号入力部
４７　処理対象ＣＣＳ制御部
５０　ネットリスト
５１　レイアウトデータ
５２　処理対象ＣＣＳ番号
ａ〜ｄ　セル間パス時間制約
ＩＮＳＴ１〜ＩＮＳＴ８　セル（インスタンス）
【図１】
2004013720.tif 000003
【図２】
2004013720.tif 000004
【図３】
2004013720.tif 000005
【図４】
2004013720.tif 000006
【図５】
2004013720.tif 000007
【図６】
2004013720.tif 000008
【図７】
2004013720.tif 000009
【図８】
2004013720.tif 000010
【図９】
2004013720.tif 000011
【図１０】
2004013720.tif 000012
【図１１】
2004013720.tif 000013
【図１２】
2004013720.tif 000014
【図１３】
2004013720.tif 000015
【図１４】
2004013720.tif 000016
【図１５】
2004013720.tif 000017
【図１６】
2004013720.tif 000018
【図１７】
2004013720.tif 000019
【図１８】
2004013720.tif 000020
【図１９】
2004013720.tif 000021
【図２０】
2004013720.tif 000022
【図２１】
2004013720.tif 000023
【図２２】
2004013720.tif 000024
【図２３】
2004013720.tif 000025
【図２４】
2004013720.tif 000026
【図２５】
2004013720.tif 000027