JP2004013720A - 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法 - Google Patents

論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法 Download PDF

Info

Publication number
JP2004013720A
JP2004013720A JP2002169014A JP2002169014A JP2004013720A JP 2004013720 A JP2004013720 A JP 2004013720A JP 2002169014 A JP2002169014 A JP 2002169014A JP 2002169014 A JP2002169014 A JP 2002169014A JP 2004013720 A JP2004013720 A JP 2004013720A
Authority
JP
Japan
Prior art keywords
ccs
path
timing
delay
logic circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002169014A
Other languages
English (en)
Inventor
Tatsuya Nakae
中江 達哉
Tadashi Konno
今野 正
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002169014A priority Critical patent/JP2004013720A/ja
Priority to US10/453,621 priority patent/US20030229871A1/en
Publication of JP2004013720A publication Critical patent/JP2004013720A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】STAスクリプトに基づき論理回路の複数の動作モードに関するタイミング制約を同時に考慮したタイミングモデルの提供。
【解決手段】論理回路のクロック情報と、パスの切断箇所を示すパス切断情報を記述したSTAスクリプトが入力されるSTAスクリプト入力部21と、複数のパスそれぞれについて切断情報を除くパスを抽出し、各パスのセル始点−終点間の遅延の許容値を計算するパス遅延許容値計算部22と、各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS)を作成するCCS作成部23を備える。CCS作成部23から出力される各動作モード別のCCS12a,12bは、CCS連結手段23bで単純連結するだけで複数動作モードを考慮した1つのCCS12を得ることができる。
【選択図】   図20

Description

【0001】
【発明の属する技術分野】
この発明は、論理回路のタイミング制約生成に関し、特に論理回路が有する複数の動作モードを同時に考慮したタイミング制約の生成および生成されたタイミング制約を用いて論理を最適化等するタイミングドリブンレイアウトに関するものである。
【0002】
【従来の技術】
近年の論理回路は、一般に複数(N個)の動作モード(機能、処理速度)を有している。この動作モードとしては、例えば、システムモード、テスト動作モード、スタンバイモード、低消費電力モード、ディジタルTVの各国対応、USBの高速・低速動作モード等がある。論理回路は、自身が内包するN個の動作モードについて、各動作モードが必要とするタイミング制約(N個)を全て満足したものでなければならない。論理回路を構成する素子としては、FF等のセル、I/O端子、ROM,RAM等の記憶素子がある。
【0003】
ところで、一般に各動作モードを実行する回路は完全に分離してはおらず、むしろ回路規模削減(コスト)のためにできるだけ共通化される。図24は、従来の複数動作モードを実行する論理回路の構成例を示す図である。図において論理回路を構成しているセル(フリップフロップ)FF1〜8の動作モードは、内部または外部からの制御信号SELにより制御される。制御信号SELにより、論理回路FF1〜8に供給するクロックCK1,CK2の周波数の切り替えや、組合回路の動作(機能)や、データパスの切り替えが行われる。例えば、図24の構成においては、セレクタ70に対する制御信号SELによりセルFF3,FF4に供給されるクロックCK1,CK2を切り替えることができる。この場合、制御信号SELの供給内容、例えば、制御信号SELの信号値が「1」または「0」に切り替わることによってセルFF3,FF4を始点とするデータパスのタイミング制約が異なる。
【0004】
従来、論理合成、タイミングドリブンレイアウトシステム(TDL)による、タイミングモデル・最適化手法が提供されている。図25は、従来のタイミング制約最適化システムによる処理を示すフローチャートである。タイミング検査(ステップS81)では、スタティック・タイミング・アナライザ(STA:Static Timing Analyzer)スクリプトを入力として、回路がスクリプトで記載されたタイミング制約(仕様)を満足するかを検査する。STAスクリプトは回路仕様に応じてユーザが所望するクロックタイミングや切断ポイント等を所定形式で記述し生成する、という既存の技術である。
【0005】
この後、N個のタイミング制約に対して論理回路がこれら全てのタイミング制約満足したかを判断し(ステップS82)、満足していないタイミング制約があれば(ステップS82:No)、TDLでの最適化を行う(ステップS83)。この際、満足していない(不満足の)タイミング制約を一つ取り出し(ステップS83a)、タイミングドリブンレイアウトシステムを用いて最適化を行い(ステップS83b)、他にも満足していないタイミング制約があるか判断し(ステップS83c)、あればステップS83aに復帰して処理を繰り返す。そしてステップS81に復帰して最終的には、STAスクリプトに記述されたタイミング制約1〜N全てが満足されれば(ステップS82:Yes)、最適化を終了する。
【0006】
上記ステップS83におけるタイミングドリブンレイアウトシステム(TDL)が使用するタイミングモデル・最適化手法は、一度には一つの動作モード(タイミング制約)しか考慮できない。例えば、動作モード1のタイミング制約に従って最適化を行うとき、動作モード2〜Nのタイミング制約は考慮されない。また、動作モード1のタイミング制約に従って最適化を行った後に、動作モード2のタイミング制約に従って最適化を行うと、動作モード1のために行った最適化を破壊してしまうことがある。
【0007】
このように複数の動作モード(タイミング制約)が存在する場合、従来のタイミング制約最適化システムの処理では、タイミング最適化処理がモグラ叩き状態(一つの動作モードを最適化すると他の最適化状態が変動する)となり、全ての動作モードを満足する回路を得るまでのTAT(Turn Around Time:ターンアラウンドタイム)が非常に長くなる。また、最適化された回路を得ることができないこともある。
【0008】
このため、上記タイミング制約最適化システムを使用する際には、次のような手法が用いられている。
手法1)まず、一番重要と思われる動作モードのタイミング制約、もしくは条件が最も厳しいタイミング制約でタイミング最適化を行う。その後、既に行ったタイミング最適化を破壊しないように注意しながら、他のタイミング制約を満足するように人手で回路を変更するか、タイミング制約を改良して最適化を行う。
手法2)まず、各動作モードのタイミング制約を全て連結したタイミング制約を作成し、回路の最適化を行う。この際のタイミング制約は、実際の制約条件より厳しい、あるいは緩くなる。その後、既に行ったタイミング最適化を破壊しないように注意しながら、他のタイミング制約を満足するように人手で回路を変更するか、タイミング制約を改良して最適化を行う。
【0009】
【発明が解決しようとする課題】
しかしながら、手法1)、手法2)ともに、全ての動作モードに関するタイミング制約を同時に考慮した最適化は行えないため、最適な解を得ることができなかった。また、一度には一つの動作モードについてしか着目できないため、ターンアラウンドタイムが増大する場合が多く効率が低下した。
【0010】
また、手法2)については、タイミング制約を連結した結果として、通常は、部分回路によっては実際のタイミング制約より厳しい条件で最適化が行われる。これは著しく偏ったレイアウト(回路規模の増大に伴う消費電力の増加、必要なチップ面積の増加、配線性の悪化による配線の失敗)を引き起こし、結果としてレイアウト処理が収束しなくなる。このような状況を起こさないようなタイミング制約を人手で作成することも非常に難しい。人手で作成する場合、適切な部分だけを抽出し連結させることが行いにくい。
【0011】
この発明は、上記問題点に鑑みてなされたものであって、STAスクリプトに基づき論理回路の複数の動作モードに関するタイミング制約を同時に考慮したタイミングモデルを提供できる論理回路のタイミング制約モデル生成の方法、プログラム、装置の提供を目的とする。
【0012】
また、この発明は、上記作成されたタイミング制約モデルを用いることにより、論理回路のタイミング検査、タイミング制約に基づいた論理回路の最適化、配置・配線パターン等のレイアウトを最適化できるタイムドリブンレイアウトシステムの提供を目的とする。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明は、論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したSTAスクリプトの入力によって、切断情報を除く複数のパスを抽出して各パスのセル始点と終点との間の遅延の許容値を計算する。この各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したCCSを作成することを特徴とする。STAスクリプトとしては、他にパスの例外指定としてパスの制約条件をk倍することができるマルチサイクルパス指定がありこれらを考慮することもできる。
【0014】
この発明によれば、異なる動作モード別のSTAスクリプトに対応して各動作モード別に各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述した複数のタイミング制約モデル(CCS)を作成できる。このCCSは、複数のCCSの記述を単純連結して一つのCCSを得たり、セットアップ条件等、所定の制約条件に適した遅延の許容値を選択したCCSの生成を可能とする。このタイミング制約モデルを用いたタイムドリブンレイアウトシステムは、複数の動作モードに関するタイミング制約を同時に考慮した最適化が行えるようになる。
【0015】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る論理回路のタイミング制約生成方法および装置の好適な実施の形態を詳細に説明する。この発明によるタイミング制約方法、あるいは装置で用いるタイミング制約モデルをCCS(Compatible Constraint Set)と呼ぶ。このCCSの基本概念は、「複数クロックを考慮したタイミング制約生成手法」(松永多苗子、他。デザインガイア。1999年11月27日)として論文発表されている。また、本出願人は、特願平12−349915号において「論理回路のタイミング制約生成方式およびそのためのプログラムを記憶したコンピュータ読み取り可能な記録媒体」について出願している。
【0016】
図1は、本発明の論理回路のタイミング制約生成方式の処理内容を示すフローチャートである。このシステムでは、複数のタイミング制約1〜Nがある場合、複数動作モードを考慮可能である。まず、考慮すべきタイミング制約全てを読み込み、1つのCCSを作成する(ステップS1)。このCCSをタイミング制約モデルCCSと称す。次に、TDLシステムを用いてCCSに示された全てのタイミング制約を同時に考慮した最適化を行う(ステップS2)。
【0017】
ステップS1では、同時に考慮する必要がある動作モードに関するタイミング制約を入力とし、複数動作モードを同時に考慮できるタイミング制約CCSを作成する。ステップS2の処理では、このCCSを用いてタイミング検査を行い(ステップS3)、タイミング制約を満たすまでの間は(ステップS4:No)、CCSを満足するようにタイミング最適化を行う(ステップS5)。タイミング制約を満たすと(ステップS4:Yes)、終了する。
【0018】
CCSは、考慮すべき全ての動作モードに関するタイミング制約を表現しているため、CCSについてタイミング最適化を行うことで、全ての動作モードを考慮した最適化を一度に行うことができる。また、CCSが表現するタイミング制約は、個々の動作モードで必要なタイミング制約を単純に連結して得ることができるため、個々の動作モードで必要なタイミング制約をいずれも満足できるため、実際のタイミング制約に従った結果(レイアウト)を得ることができる。
【0019】
上記のCCSを作成するシステムは、以下に説明するように、特定のパス時間制約(グループ)を追加、削除できるための手段(後述するSTAスクリプトに基づくCCSの作成)を有しており、必要な条件に応じて必要な情報のみを効果的に表現することができる。
【0020】
上記システムにより、従来の問題であるタイミング最適化のモグラ叩き状態、偏ったレイアウト、最適化のためのタイミング制約の再作成、といった各問題を解決できる。これにより、複数動作モードをもつ回路設計のTAT短縮や、最適なレイアウトを実現する。
【0021】
(一つの動作モードに関するCCSの作成)
次に、一つの動作モードのCCSを作成するための構成および処理を説明する。図2は、一つの動作モードのCCSを作成する際の対象となる論理回路の構成例を示す図、図3はCCSを作成するために必要なSTA(Static Timing Analyzer)スクリプトの内容を示す図、図4は、STAスクリプトに基づき作成されるCCSの内容を示す図である。
【0022】
図2に示す論理回路は、記憶素子であるフリップフロップ(FF)および組み合わせ論理素子によって構成されたもので、各セル(インスタンス)INST1〜INST8と称す。各セルINST1〜INST8に到達するクロック周期をもとに、各セル間、およびセル−I/O端子間パスに許される信号伝播遅延の許容値を、始点セルおよびI/O端子からの信号の出発時刻、終点セルおよびI/O端子にその信号が到着しなければならない要求時刻で表現したものである。なお、図2に示したパスの始点および終点はFFである。
【0023】
通常、タイミング制約は図3に示すSTAスクリプト10として記述される。この制約を図2の論理回路に適用すると、図2中太線a〜dで示すセル間パス時間制約として解釈される。例えば、セルINST1のCK端子を始点とし、セルINST3のD端子を終点とするパスaについては、その遅延の許容値は20nsとなる。
【0024】
ここで、図3に示すようにSTAスクリプト10において、set_cut_pointの指定でパス切断情報11を設定することができる。図2の回路中のセルINST7の出力(個所X)を通過する全てのパスは、タイミング検証および最適化の対象外にすることができる。
【0025】
図3のSTAスクリプト10に記述されたパス時間制約、パス切断情報11に基づき、図4に示すCCS12が作成される。前述したセルINST1のCK端子を始点としセルINST3のD端子を終点とするパスは、セルINST1のCK端子を信号が時刻0nsに出発し、セルINST3のD端子に時刻20nsまでに到達する必要があること、すなわちこのパスの遅延の許容値は20nsであることを意味する。なお、出発時刻・要求時刻はパス遅延の許容値を正しく表す組であれば、どんな値の組でも良い。例えば、セルINST1のCK端子を信号が時刻10nsに出発し、セルINST3のD端子に時刻30nsまでに到達する必要がある場合であっても、同様にこのパスの遅延の許容値は20e−9(20ns)であり、許容値が正しく表されていることになる。
【0026】
図4に示すCCS12を説明すると、BEGINFFから次のBEGINFFまでの間が一つのCCSのグループとなる。あるグループは、他のグループとは無関係(独立)な存在であるため、複数のグループの順番は単純に入れ替えることができ、また、単純に連結することができる。このグループの個数をCCS数という。図示の例ではCCS数は2となる。CCS数が少ないほど、タイミング検証、最適化の処理にかかるコストは小さい。各グループ内には始点および終点のセルおよびI/O端子それぞれにおける時刻を示す出発時刻13、要求時刻14と、CUTPOINTで示されるパス切断ポイント15が記述されている。
【0027】
図5は、一つの動作モードにおけるCCS作成システムの機能を示すブロック図である。CCS作成システム20は、STAスクリプト入力部21と、パス遅延許容値計算部22と、CCS作成部23により構成されている。STAスクリプト入力部21は、図2に示す回路構成に相当するネットリスト、および図3に示すSTAスクリプト10に記載されたタイミング制約(パス時間制約、パス切断情報)を読み込む。パス遅延許容値計算部22は、ネットリストをパストレースして始点から終点までの各セルの接続関係を調べる。また、パストレースで得られた各パスの時間制約を、各セルを駆動するクロック情報に基づき生成する。CCS作成部23は、各パスの始点セルと終点セルに対し、時間制約を付けたタイミング制約を作成する。
【0028】
(複数の動作モードを考慮したCCSの作成)
次に、複数の動作モードのCCSを作成するための構成および処理の各機能を説明する。
1.個々の動作モードのCCSを単純に連結
前述した一つのモードで作成されたCCSは、単純に連結してもタイミング制約に矛盾は生じない。したがって、複数モードを同時に表現するCCSは、単に動作モード1から動作モードNまでのCCSを連結することで実現できる。
【0029】
図6は、複数モードのCCSを作成する手順を説明するための図である。図6(a)は、前述した図2の回路構成の動作モード1におけるSTAスクリプト10aと、作成されるCCS12aを示す図である。図6(b)は、動作モード2におけるSTAスクリプト10bと、作成されるCCS12bを示す図である。動作モード1と2は、それぞれパス遅延の許容値と、パス切断ポイントが異なる。動作モード1におけるパス切断ポイントは、図2に示したセルINST7の出力であり、動作モード2におけるパス切断ポイントは、セルINST5の出力である。
【0030】
図7は、異なる動作モードを同時に表現したCCSを示す図である。図示のように、図6の動作モード1,2でそれぞれ得られた2つのCCS12a,12bを単純に連結(動作モード順に記述展開)するだけで複数モードを考慮したCCS12cを作成することができる。このように、パス切断ポイントを設定し、動作モード1と2がそれぞれ異なるパス切断ポイントであることにより、2つのCCSを単純連結させることができるようになる。
【0031】
図8は、複数の動作モードにおけるCCS作成システムの機能を示すブロック図である。CCS作成システム20は、図5同様に、各動作モード別のSTAスクリプト10a〜10nが入力されるSTAスクリプト入力部21と、パス遅延許容値計算部22と、CCS作成部23により構成されている。CCS作成部23は、一つの動作モード毎にCCS12a〜12nを作成するCCS作成手段23aと、各動作モードで作成されたCCS12a〜12nを連結しCCS12を出力するCCS連結手段23bを有している。また、CCS作成手段23aで作成されたCCS12a〜12nは、STAスクリプト(各動作モード)ごとに一時的に格納手段23cに格納され、CCS連結手段23bに対して出力される。
【0032】
2.冗長なパス遅延制約を削除し最適化
CCSは、セル−セル間、セル−I/O間パスに許される遅延の許容値が判れば作成できる。この際、各動作モードにおけるタイミング制約をパス遅延の許容値情報に変換し、それらを全て連結してCCS12を作成することができる。
【0033】
図9は、パス遅延の許容値情報を連結したCCSを作成する手順を示す図である。動作モードごとに作成されたパス遅延の許容値情報について、その制約の強さの包含関係を利用することで、CCS数を削減できる。例えば、図9の回路構成に示すパスd(セルINST2→セルINST6→セルINST4)の遅延の許容値は、動作モード1では10ns,動作モード2では20nsである。セットアップ条件の許容値であれば、20nsより10nsの方が制約が厳しいことになる。このため、このパスdの許容値は10nsとなり、20nsの許容値情報は不要となる(10nsの制約は20nsの制約を包含する)。
【0034】
このように、制約の包含関係を利用することで、パス遅延の許容値情報を最適化することができる。図10は、最適化された情報に基づき作成されたCCSを示す図である。一般的な制約条件としては、大きく分けて上記のセットアップ条件と、ホールド条件がある。セットアップ条件は時間の短い方が時間制約が厳しく、ホールド条件は逆に時間の長い方が時間制約が厳しいことを示している。
【0035】
図11は、複数の動作モードにおけるCCS作成システムの機能を示すブロック図である。CCS作成システム20は、図5同様に、各動作モード別のSTAスクリプト10a〜10nが入力されるSTAスクリプト入力部21と、パス遅延許容値計算部22と、CCS12を作成するCCS作成部23を備える。また、パス遅延許容値情報最適化部24は、パス遅延許容値計算部22で計算されたパス遅延の許容値情報を最適化しCCS作成部23に出力する。パス遅延許容値計算部22で計算されたパス遅延の許容値情報は格納手段24aにSTAスクリプトごとに格納され、パス遅延許容値情報最適化部24に出力される。
【0036】
このように、パス遅延許容値情報最適化部24で最適化された情報をCCS作成部23に与えることで、CCS作成部23は冗長なタイミング制約情報を作成することなく、単純連結で作成したCCSより、CCS数の少ない最適化されたCCS12を作成する。
【0037】
3.パス制約全体にオフセットを与える、指定条件を満たすパス制約の除外
上記のCCS作成システム20は、外部からのユーザ制御により、パス遅延の許容値全体にオフセットを与えたり、指定条件を満たすパス制約を無視(または制約を満たすもののみ考慮)することができる。
【0038】
図12は、パス制約の変更処理を備えたCCS作成システムの機能を示すブロック図である。CCS作成システム20には、パス遅延許容値情報入力部25を備え、外部からパス制約の変更情報30が入力される。パス制約の変更情報は、パス遅延許容値の追加、削除、オフセット等の指定情報であり、STAスクリプトで記述される。パス遅延許容値情報入力部25は、指定された変更情報(パス遅延の許容値へのオフセット値、除外パス条件等)を格納手段25aに格納し、条件設定部25bに設定する。条件設定部25bは、格納手段24aに格納されたパス遅延の許容値情報に対し、設定された条件(オフセット設定、除外パス条件合致パスの除外等)に基づく変更処理を行い、パス遅延許容値情報最適化部24に出力する。CCS作成部23は、CCS12を作成する。
【0039】
図13,図14は、パス制約を変更したCCSを作成する手順を示す図である。図13(a)は動作モード1におけるSTAスクリプト10aの記述内容、図13(b)は、(a)に対応する回路構成のタイミング制約を示す図、図13(c)は動作モード2におけるSTAスクリプト10bの記述内容、図13(d)は、(c)に対応する回路構成のタイミング制約(STAスクリプト)を示す図である。
【0040】
ここで図13(e)に示すパス制約の変更情報30として、生成されたパス遅延の許容値1,2について、図13(f)に示すように、
▲1▼許容値が15nsより大きいパスはCCSの作成対象としない(ignore_path−larger_than 15ns)。
▲2▼全てのパスのパス遅延の許容値を一律2ns減じる(add_offset−2ns)。
という指定が入力されたとする。
【0041】
この場合、条件設定部25bは、全てのパス遅延の許容値を10ns→8nsに変更する。図14(a),(b)は、それぞれパス制約の変更後における動作モード1,2のパス制約の許容値を回路構成上に表記した例である。図示のように、▲1▼,▲2▼を満たす形に変更されている。対応して、図14(c)に示すCCS12が作成される。
【0042】
このようなパス遅延の許容値へのオフセットの指定、指定条件を満たすパス制約の除外は、TDLでのタイミング最適化時に、ある特定部分を優先的に最適化したり、最適化対象から取り除いたり、またはSTAスクリプトよりも全体を厳しく(または緩めに)最適化するための指示として使用することができる。
【0043】
4.既存のCCSの再構成、再最適化
CCSは内部の記述に基づきパス遅延の許容値情報を復元できる。このため、CCS作成システム20は、既存のCCSを再構成し、再最適化することができる。既存のCCSは、CCS作成システム内部でCCSとして保存され、単に他のSTAスクリプトから作成されたCCSと連結される(前述した1.個々の動作モードのCCSを単純に連結)か、もしくはそこからパス遅延の許容値情報を復元し、パス遅延許容値の再最適化を行うことができる。
【0044】
図15は、既存のCCSの再構成、最適化を行うCCS作成システムの機能を示すブロック図である。CCS作成システム20は、各動作モード別のSTAスクリプト10a〜10nが入力されるSTAスクリプト入力部21と、パス遅延許容値計算部22と、CCS作成部23と、パス遅延許容値情報最適化部24,格納手段24aを備える。CCS作成部23は、前述したCCS作成手段23a,CCS連結手段23b,格納手段23cを備える。
【0045】
また、既存CCS(STAスクリプト)31が入力可能なCCS入力部32、入力された既存CCS31の記述内容からCCSパス遅延許容値を復元するパス遅延許容値復元部33を備える。CCS入力部32は、入力された既存CCS31を格納手段23cに格納し、パス遅延許容値復元部33は、復元したパス遅延の許容値を格納手段24aに格納する。
【0046】
図16は、既存のCCSおよび追加STAスクリプトに基づきCCSを作成する手順を示す図である。図16(a)は既存のCCSを示す図、図16(b)は該CCSの記述に基づき復元されたタイミング制約の内容を示す図である。(a)に示す既存CCS31は、便宜上、図3の内容に一致させている。同様に(b)は図2と同等である。また、図16(c)はユーザにより追加された追加STAスクリプト34であり、(d)は追加STAスクリプトが示すタイミング制約の内容を示す図である。
【0047】
図16(a)の既存CCS31により図16(b)としてタイミング制約が復元される。図16(c)の追加STAスクリプト34により図16(d)に示すタイミング制約が得られる。図17は、追加STAスクリプトの単純連結により得られるCCSを示す図である。図16(b),(d)に示す2つのパス遅延の許容値を単純連結することにより、図17に示すCCS12が作成される。このCCS12は、既存CCS31と、追加STAスクリプト34を同時に表現する。
【0048】
上記構成による具体的な用途を説明する。
(a)あるCCSを用いてTDLを行った後、動作モードを新たに追加してレイアウトの再最適化を行うとき、既に存在するCCSを有効利用できるようになる。単純連結であれば、既に作成したCCSは完全に再利用され、CCSを最適化する場合もパス遅延の許容値を再計算する必要はなく簡単にCCSを得ることができる。
(b)LSIの設計工程の初期には全ての動作モードのタイミング制約がそろっているとは限らない。重要である動作モードのタイミング制約から順次完成したものが出来上がる。このような場合、既存のCCSを有効利用して、順次新たな動作モードのタイミング制約をそろえていくことができる。
【0049】
5.複数動作モードを同時に扱えない従来システムのためのタイミング制約の生成
従来のTDLは、前述したように、同時には一つしかタイミング制約(動作モード)を扱えない。本発明は、このようなTDLを含む論理合成システムであっても複数動作モードのタイミング最適化を行うことができるタイミング制約を生成することができる。従来からSTAのスクリプトの記述体系としては、パス間のタイミング制約の例外情報を指定することができ、ある特定のパスについて、その遅延許容値を設定できるようになっている。例えば、パスがINST1→INST5→INST6の場合の許容値が10nsである場合、次の記述例のように指定している。
【0050】
set_pin_to_pin_timing −source INST1.CK −point INST5.X −sink INST6.D 10ns
【0051】
上述した従来システムを用いた複数動作モードのタイミング最適化の手法2)では、上記のようなパス間のタイミング制約の例外指定を多用することになる。
【0052】
本発明のCCS作成システム20によれば、上述した機能「2.冗長なパス遅延制約を削除し最適化」において説明した如く、複数のSTAスクリプトが表現するパス遅延の許容値を比較することができるものである。したがって、ある動作モードのSTAスクリプトを基準スクリプトとし、他のSTAスクリプトが表現するパス遅延の許容値について、基準スクリプトが表現するパス遅延の許容値より制約として厳しいものを抜き出し、それをパス間制約の例外情報として出力することが可能となる。
【0053】
図18は、異なる動作モードのSTAスクリプトに基づき、CCS作成システムが差分スクリプトを作成する手順を示す図である。図18(a)は動作モード1のSTAスクリプト10a、図18(b)はSTAスクリプト10aに対応するタイミング制約の内容を示す図、図18(c)は動作モード2のSTAスクリプト10b、図18(d)はSTAスクリプト10bに対応するタイミング制約の内容を示す図である。
【0054】
図示のように、(a)動作モード1のSTAスクリプト10aと、(b)動作モード2のSTAスクリプト10bそれぞれが示すタイミング制約に基づき、(e)差分STAスクリプト10sを抽出する。この差分STAスクリプト10sは、上記パス間制約の例外情報である。
【0055】
図19は、差分STAスクリプトを生成するCCS作成システムの機能を示すブロック図である。CCS作成システム20は、各動作モード別のSTAスクリプト10a〜10nが入力されるSTAスクリプト入力部21と、パス遅延許容値計算部22と、格納手段24aを備える。格納手段24aには、パス遅延許容値計算部22で計算されたパス遅延の許容値情報が格納され、パス遅延許容値情報比較部26は、このパス遅延の許容値情報を比較して比較結果を差分STAスクリプト作成部27に出力する。差分STAスクリプト作成部27は、この比較結果に基づき差分STAスクリプト(あるいは基準STAスクリプト+差分STAスクリプト)10sを作成する。
【0056】
差分STAスクリプト作成部27の出力形式は二通りある。
▲1▼基準STAスクリプトをユーザが指定した場合…ユーザが指定したあるSTAスクリプトを基準STAスクリプトとし、この基準STAスクリプトに対する差分STAスクリプトのみを出力する。
▲2▼基準STAスクリプトをユーザが指定しない場合…差分STAスクリプトの量が少なくなるように「基準STAスクリプト+差分STAスクリプト」を出力する。なお、差分STAスクリプトの量が少なくなる基準STAスクリプトをユーザが選ぶことは一般に難しい。
【0057】
また、STAスクリプト同士の差分抽出に限らず、例えば、動作モード1のSTAスクリプトと、CCS作成システム20が出力した動作モード2の差分STAスクリプトを連結することで、動作モード1と動作モード2を考慮したタイミング制約を得ることもできるようになる。
【0058】
(複数モードを考慮したCCS作成システムの全体構成)
図20は、CCS作成システムの全体構成を示すブロック図である。CCS作成システム20は、以上説明した各機能1.〜5.を実現する各手段を備えてなる。このCCS作成システム20は、上記各機能を達成するための所定の処理プログラムをCPUを備えたコンピュータ装置で実行する構成とすることができる。
【0059】
(複数動作モードを同時に考慮するタイミングドリブンレイアウトシステム)
図1に示したように、上述したCCS作成システム20で作成したCCS(タイミング制約モデルCCS)は、図1中ステップS1の処理に相当する。次に、ステップS2に示すように、TDLは、作成されたCCSを用いて全てのタイミング制約を同時に考慮した最適化を行う。
【0060】
図21は、CCSを用いたタイミングドリブンレイアウトシステムを示すブロック図である。TDL40には、CCS作成システム20で作成されたCCS(タイミング制約モデルCCS)12が入力される。このCCS12は、タイミング検査システム41,論理最適化システム42,配置・配線システム43でそれぞれ用いられる。
【0061】
タイミング検査システム41は、CCS12を用いてタイミング制約を検査し、論理最適化システム42はCCS12に基づいて論理回路の遅延(構造)を最適化する。配置・配線システム43は、CCS12に基づいてセル(回路素子)の配置や配線パターンを最適化する。回路構成のネットリスト50は、ネットリスト入力部44に入力され、これら各システム41〜43で参照される。TDL40は、各システム41〜43の処理によって得られた回路構成のレイアウトデータ51をレイアウトデータ出力部45から外部出力する。
【0062】
また、TDL40は、入力されたCCS12全て、あるいは一部を選択して処理動作が可能である。このため、処理対象CCS番号入力部46、処理対象CCS制御部47を備える。処理対象CCS番号入力部46には、ユーザ等により指定された処理対象CCS番号52が入力され、処理対象CCS制御部47は、各システム41〜43に対して指定された処理対象CCS番号52を指定する。
【0063】
このように、上記TDL40は、
1.指定されたすべてのCCS(グループ)を同時に考慮
2.指定された一部のCCS(グループ)のみ考慮
することができる。
【0064】
1.は全ての動作モードを同時に考慮したレイアウトを行うことを意味し、通常はこの機能で動作する。2.は一部の動作モードのみ考慮したレイアウトを行うことを意味する。2.の用途は次の通りである。まず、一番重要な動作モードについて最適化を行い、本当に与えられたタイミング制約を満たすレイアウト結果が得られたか確認する。タイミング制約を満足するレイアウトが得られない場合、他の動作モードを同時に考慮しても、一番重要な動作モードを持つレイアウトを得ることはできない。例えば、汎用のシステムモードとテストモードにおいては、システムモードの方がより重要とされている。
【0065】
一部の動作モードのタイミング制約が不完全な場合、それらに対応するCCS12は考慮せずレイアウトを行う。考慮しなかったCCS12については、レイアウト終了後にタイミング制約を満たしているか否かのみを検査する。
【0066】
図22は、TDL処理対象CCSの指定を説明するための図である。図22(a)は、作成されたCCS12に記載されている動作モード1,2全てをTDL40の処理対象とする場合の例である。この場合、処理対象CCS番号としてCCS1,2,3,4を指定する。図22(b)は、作成されたCCS12に記載されている動作モード1のみをTDL40の処理対象とする場合の例である。この場合、処理対象CCS番号としてCCS1,2を指定する。TDL40は、動作モード2のCCS3,4を処理対象としない。図22(c)は、作成されたCCS12に記載されている動作モード2のみをTDL40の処理対象とする場合の例である。この場合、処理対象CCS番号としてCCS3,4を指定する。TDL40は、動作モード1のCCS1,2を処理対象としない。
【0067】
TDL40が有するタイミング検査システム41,論理最適化システム42,配置・配線システム43は、入力されたCCS12に基づき単独動作も可能である。CCS12自体は回路設計時の設計手順に依存しないタイミング制約モデルである。上述したように、CCS12の各グループは互いに独立しているため、各グループ別に遅延計算・検証、スラック解析を独立に、あるいは平行して行うことができる。
【0068】
ところで、一般の論理合成、配置、配線システムにおいては、回路の各点において計算されるスラック(タイミング制約に対する回路遅延の余裕度)をコスト(評価関数の一部)として処理を行うようになっている。設計した回路構成のある地点に着目したとき、CCS12を用いると複数のスラックが存在することになるが、通常は最悪スラックのみ考慮すればよい。その地点の最悪スラックは、単にCCS12のグループごとに求めたスラックの中の最悪値(最小値)である。論理最適化システム42では、CCS12に関してスラック解析を行い、この値を制約として回路遅延を最適化するよう回路を合成する。配置・配線システム43は、この値をコストとして配置、配線を変更する等の処理を行う。
【0069】
図23は、CCSとスラック解析結果の一例を示す図である。図23(a)は、CCS12を示す図、図23(b)は、CCS12に基づくスラック解析結果を示す図である。図示の例では、各セルINST1〜INST8の遅延は一律5ns(5.0e−09)であるとする。また、表記の簡単化のため、スラック値はe−09を省略してある。各セル部分の〔〕の表記がスラックであり、〔〕内は上から順にCCS12内に記述された、CCS1に関するスラック〜CCS4に関するスラックである。その中での最小スラックに丸印(○)を附した。ここで、TDL40で動作モード1(CCS1,2)のみが選択された場合には、対応する1,2についてのみスラック解析を行う。
【0070】
上記構成のTDL40は、CPUを備えたコンピュータ装置で構成でき、タイミング検査システム41,論理最適化システム42,配置・配線システム43の各システムそれぞれに対応した処理プログラムをコンピュータ装置で実行することにより上記の機能を得ることができる。なお、CCS作成システム20およびTDL40を同一のコンピュータ装置で構成できることは言うまでもない。
【0071】
以上説明したCCS作成処理、およびTDL処理は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、各種記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0072】
(付記1)パスの始点と終点のセルまたはI/O端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成するCCS作成工程と、
を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
【0073】
(付記2)パスの始点と終点のセルまたはI/O端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したSTA(Static Timing Analyzer)スクリプトを読み込むSTAスクリプト入力工程と、
前記STAスクリプト入力工程によって読み込まれたSTAスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成するCCS作成工程と、
を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
【0074】
(付記3)単一の論理回路について異なる動作モード別に複数の前記STAスクリプトの入力を受けるSTAスクリプト入力工程と、
前記CCS作成工程により動作モード別に複数作成された前記CCSの記述を単純連結して一つのCCSを得る連結工程と、
を含むことを特徴とする付記2に記載の論理回路のタイミング制約モデル生成方法。
【0075】
(付記4)前記パス遅延許容値計算工程により計算された各パスの遅延の許容値を参照し、同一のパスについて動作モード別に得られた複数の遅延の許容値のうち予め設定された所定の制約条件に適した遅延の許容値を選択して、前記CCS作成工程に出力するパス遅延許容値情報最適化工程を含むことを特徴とする付記3に記載の論理回路のタイミング制約モデル生成方法。
【0076】
(付記5)前記パス遅延許容値情報最適化工程に設定される制約条件として、遅延の許容値が短いセットアップ条件と、遅延の許容値が長いホールド条件とを有することを特徴とする付記4に記載の論理回路のタイミング制約モデル生成方法。
【0077】
(付記6)前記パス遅延の許容値の変更が外部入力されるパス遅延許容値情報入力工程を備え、
前記パス遅延許容値計算工程による計算時にパス遅延の許容値の追加、削除、修正、およびパス遅延の許容値全体のオフセット変更を行うことを特徴とする付記2〜5のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【0078】
(付記7)既存の作成済CCSが入力されるCCS入力工程と、
前記CCS入力工程により入力された作成済CCSの記述を解読し、複数のパスそれぞれについて、各パスのセル始点と終点との間の遅延の許容値を復元するパス遅延許容値復元工程とを含み、
前記CCS作成工程は、前記パス遅延許容値計算工程およびパス遅延許容値復元工程の出力に基づきCCSを作成することを特徴とする付記2〜6のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【0079】
(付記8)前記STAスクリプト入力工程にて入力される少なくとも一対以上複数の前記STAスクリプトに基づくパス遅延の許容値を比較し、許容値の差分を抽出する差分STAスクリプト作成工程を含むことを特徴とする付記2〜7のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
【0080】
(付記9)パスの始点と終点のセルおよびI/O端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成プログラムであって、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したSTA(Static Timing Analyzer)スクリプトを読み込ませるSTAスクリプト入力工程と、
前記STAスクリプト入力工程によって読み込まれたSTAスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、抽出された各パスの始点と終点との間の遅延の許容値を計算させるパス遅延許容値計算工程と、
前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成させるCCS作成工程と、
をコンピュータに実行させることを特徴とする論理回路のタイミング制約モデル生成プログラム。
【0081】
(付記10)前記方法により作成されたタイミング制約モデル(CCS)を用いて該CCSに記述されたタイミング制約を検査するタイミング検査工程と、
作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づいて前記論理回路の遅延を最適化する論理最適化工程と、
作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づき論理回路の配置・配線を最適化する配置・配線工程と、
を含むことを特徴とする付記2〜8のいずれか一つに記載の方法により作成されたタイミング制約モデルを用いるタイミングドリブンレイアウト方法。
【0082】
(付記11)前記論理最適化工程は、作成された前記CCSに記述された全ての時間制約あるいは一部の時間制約を最適化対象とした最適化を行う付記10に記載のタイミング制約モデルを用いることを特徴とするタイミングドリブンレイアウト方法。
【0083】
(付記12)前記論理最適化工程において最適化対象となるCCS内の記述を指定する処理対象CCS入力工程を含む付記11に記載のタイミング制約モデルを用いることを特徴とするタイミングドリブンレイアウト方法。
【0084】
(付記13)前記タイミング制約モデル作成プログラムにより作成されたタイミング制約モデル(CCS)を用いてタイミングドリブンレイアウトを行うタイミングドリブンレイアウトプログラムであって、
前記CCSに記述されたタイミング制約を検査させるタイミング検査工程と、作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づいて前記論理回路の遅延を最適化させる論理最適化工程と、
作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づき論理回路の配置・配線を最適化させる配置・配線工程と、
をコンピュータに実行させる付記9に記載のプログラムにより作成されたタイミング制約モデルを用いることを特徴とするタイミングドリブンレイアウトプログラム。
【0085】
(付記14)パスの始点と終点またはI/O端子のセルを有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成装置において、
論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したSTA(Static Timing Analyzer)スクリプトを読み込むSTAスクリプト入力手段と、
前記STAスクリプト入力手段によって読み込まれた前記STAスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算手段と、
前記パス遅延許容値計算手段により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成するCCS作成手段と、
を備えたことを特徴とする論理回路のタイミング制約モデル生成装置。
【0086】
(付記15)前記STAスクリプト入力手段には、前記単一の論理回路について異なる動作モード別に複数の前記STAスクリプトが入力され、
前記CCS作成手段により動作モード別に複数作成された前記CCSの記述を単純連結して一つのCCSを得る連結手段を備えたことを特徴とする付記14に記載の論理回路のタイミング制約モデル生成装置。
【0087】
(付記16)前記パス遅延許容値計算手段が計算した各パスの遅延の許容値を参照し、同一のパスについて動作モード別に得られた複数の遅延の許容値のうち予め設定された所定の制約条件に適した遅延の許容値を選択するパス遅延許容値情報最適化手段を備え、
該パス遅延許容値情報最適化手段に設定される制約条件として、遅延の許容値が短いセットアップ条件と、遅延の許容値が長いホールド条件とを有することを特徴とする付記15に記載の論理回路のタイミング制約モデル生成装置。
【0088】
(付記17)前記パス遅延の許容値の変更を外部入力可能なパス遅延許容値情報入力手段を備え、前記パス遅延許容値計算手段における計算時にパス遅延の許容値の追加、削除、修正、およびパス遅延の許容値全体のオフセット変更を行うことを特徴とする付記14〜16のいずれか一つに記載の論理回路のタイミング制約モデル生成装置。
【0089】
(付記18)既存の作成済CCSが入力されるCCS入力手段と、
前記CCS入力手段に入力された作成済CCSの記述を解読し、複数のパスそれぞれについて、各パスの始点と終点との間の遅延の許容値を復元するパス遅延許容値復元手段とを備え、
前記CCS作成手段は、前記パス遅延許容値計算手段およびパス遅延許容値復元手段の出力に基づきCCSを作成することを特徴とする付記14〜17のいずれか一つに記載の論理回路のタイミング制約モデル生成装置。
【0090】
(付記19)前記STAスクリプト入力手段に入力される少なくとも一対以上複数の前記STAスクリプトに基づくパス遅延の許容値を比較し、許容値の差分を抽出する差分STAスクリプト作成手段を備えたことを特徴とする付記14〜18のいずれか一つに記載の論理回路のタイミング制約モデル生成装置。
【0091】
(付記20)前記方法により作成されたCCSを用いて該CCSに記述されたタイミング制約を検査するタイミング検査手段と、
作成された前記CCSを用いて該CCSに記述された全ての時間制約あるいは一部の時間制約を最適化対象としたタイミング制約に基づいて前記論理回路の遅延を最適化する論理最適化手段と、
前記論理最適化手段において最適化対象となるCCS内の記述を指定する処理対象CCS入力手段と、
作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づき論理回路の配置・配線を最適化する配置・配線手段と、
を備えたことを特徴とする付記14〜19の少なくともいずれか一つの装置により作成されたタイミング制約モデルを用いるタイミングドリブンレイアウトシステム。
【0092】
【発明の効果】
本発明によれば、STAスクリプトを用いて異なる動作モードのタイミング制約モデル(CCS)を作成できる。タイミング制約モデルは、複数のCCSの記述を単純連結して一つにまとめることができる他、セットアップ条件等、所定の制約条件に適した遅延の許容値を選択して生成できるという効果を奏する。このタイミング制約モデルを用いたタイミングドリブンレイアウトシステムは、複数動作モードを同時に最適化した回路を生成できるため、遅延の許容値を最適化する処理回数を削減でき処理のターンアラウンドタイムの短縮化、モグラ叩きの不発生による論理最適化、設計ターンアラウンドタイムの短縮化が図れるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の論理回路のタイミング制約生成方式の処理内容を示すフローチャートである。
【図2】一つの動作モードのCCSを作成する際の対象となる論理回路の構成例を示す図である。
【図3】CCSを作成するために必要なSTAスクリプトの内容を示す図である。
【図4】STAスクリプトに基づき作成されるCCSの内容を示す図である。
【図5】一つの動作モードにおけるCCS作成システムの機能を示すブロック図である。
【図6】複数モードのCCSを作成する手順を説明するための図である。
【図7】異なる動作モードを同時に表現したCCSを示す図である。
【図8】複数の動作モードにおけるCCS作成システムの機能を示すブロック図である。
【図9】パス遅延の許容値情報を連結したCCSを作成する手順を示す図である。
【図10】最適化された情報に基づき作成されたCCSを示す図である。
【図11】複数の動作モードにおけるCCS作成システムの機能を示すブロック図である。
【図12】パス制約の変更処理を備えたCCS作成システムの機能を示すブロック図である。
【図13】パス制約を変更したCCSを作成する手順を示す図である(その1)。
【図14】パス制約を変更したCCSを作成する手順を示す図である(その2)。
【図15】既存のCCSの再構成、最適化を行うCCS作成システムの機能を示すブロック図である。
【図16】既存のCCSおよび追加STAスクリプトに基づきCCSを作成する手順を示す図である。
【図17】追加STAスクリプトの単純連結により得られるCCSを示す図である。
【図18】異なる動作モードのSTAスクリプトに基づき、CCS作成システムが差分スクリプトを作成する手順を示す図である。
【図19】差分STAスクリプトを生成するCCS作成システムの機能を示すブロック図である。
【図20】CCS作成システムの全体構成を示すブロック図である。
【図21】CCSを用いたタイミングドリブンレイアウトシステムを示すブロック図である。
【図22】TDL処理対象CCSの指定を説明するための図である。
【図23】CCSとスラック解析結果の一例を示す図である。
【図24】従来の複数動作モードを実行する論理回路の構成例を示す図である。
【図25】従来のタイミング制約最適化システムによる処理を示すフローチャートである。
【符号の説明】
10(10a,10b,…,10n) STAスクリプト
10s 差分STAスクリプト
11 パス切断情報
12(12a,12b,…,12n) CCS
13 出発時刻
14 要求時刻
15 パス切断ポイント
20 CCS作成システム
21 STAスクリプト入力部
22 パス遅延許容値計算部
23 CCS作成部
23a CCS作成手段
23b CCS連結手段
23c 格納手段
24 パス遅延許容値情報最適化部
24a 格納手段
25 パス遅延許容値情報入力部
25a 格納手段
25b 条件設定部
26 パス遅延許容値情報比較部
27 差分STAスクリプト作成部
30 パス制約の変更情報
31 既存CCS
32 CCS入力部
33 パス遅延許容値復元部
34 追加STAスクリプト
40 TDL
41 タイミング検査システム
42 論理最適化システム
43 配置・配線システム
44 ネットリスト入力部
45 レイアウトデータ出力部
46 処理対象CCS番号入力部
47 処理対象CCS制御部
50 ネットリスト
51 レイアウトデータ
52 処理対象CCS番号
a〜d セル間パス時間制約
INST1〜INST8 セル(インスタンス)

Claims (10)

  1. パスの始点と終点のセルまたはI/O端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
    論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
    前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成するCCS作成工程と、
    を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
  2. パスの始点と終点のセルまたはI/O端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成方法において、
    論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したSTA(Static Timing Analyzer)スクリプトを読み込むSTAスクリプト入力工程と、
    前記STAスクリプト入力工程によって読み込まれたSTAスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、各パスの始点と終点との間の遅延の許容値を計算するパス遅延許容値計算工程と、
    前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成するCCS作成工程と、
    を含むことを特徴とする論理回路のタイミング制約モデル生成方法。
  3. 単一の論理回路について異なる動作モード別に複数の前記STAスクリプトの入力を受けるSTAスクリプト入力工程と、
    前記CCS作成工程により動作モード別に複数作成された前記CCSの記述を単純連結して一つのCCSを得る連結工程と、
    を含むことを特徴とする請求項2に記載の論理回路のタイミング制約モデル生成方法。
  4. 前記パス遅延許容値計算工程により計算された各パスの遅延の許容値を参照し、同一のパスについて動作モード別に得られた複数の遅延の許容値のうち予め設定された所定の制約条件に適した遅延の許容値を選択して、前記CCS作成工程に出力するパス遅延許容値情報最適化工程を含むことを特徴とする請求項3に記載の論理回路のタイミング制約モデル生成方法。
  5. 前記パス遅延許容値情報最適化工程に設定される制約条件として、遅延の許容値が短いセットアップ条件と、遅延の許容値が長いホールド条件とを有することを特徴とする請求項4に記載の論理回路のタイミング制約モデル生成方法。
  6. 前記パス遅延の許容値の変更が外部入力されるパス遅延許容値情報入力工程を備え、
    前記パス遅延許容値計算工程による計算時にパス遅延の許容値の追加、削除、修正、およびパス遅延の許容値全体のオフセット変更を行うことを特徴とする請求項2〜5のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
  7. 既存の作成済CCSが入力されるCCS入力工程と、
    前記CCS入力工程により入力された作成済CCSの記述を解読し、複数のパスそれぞれについて、各パスのセル始点と終点との間の遅延の許容値を復元するパス遅延許容値復元工程とを含み、
    前記CCS作成工程は、前記パス遅延許容値計算工程およびパス遅延許容値復元工程の出力に基づきCCSを作成することを特徴とする請求項2〜6のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
  8. 前記STAスクリプト入力工程にて入力される少なくとも一対以上複数の前記STAスクリプトに基づくパス遅延の許容値を比較し、許容値の差分を抽出する差分STAスクリプト作成工程を含むことを特徴とする請求項2〜7のいずれか一つに記載の論理回路のタイミング制約モデル生成方法。
  9. パスの始点と終点のセルおよびI/O端子を有する論理回路におけるタイミング制約モデルを生成する論理回路のタイミング制約モデル生成プログラムであって、
    論路回路に供給されるクロック情報と、セル間の複数のパスのうち切断する箇所を示す切断情報等を記述したSTA(Static Timing Analyzer)スクリプトを読み込ませるSTAスクリプト入力工程と、
    前記STAスクリプト入力工程によって読み込まれたSTAスクリプトを前記論理回路に適用した場合の複数のパスのそれぞれについて、前記切断情報を含むパス以外のパスを抽出し、前記クロック情報に基づいて、抽出された各パスの始点と終点との間の遅延の許容値を計算させるパス遅延許容値計算工程と、
    前記パス遅延許容値計算工程により計算された遅延の許容値である各パスの時間制約、および前記切断情報を各パスと切断情報に矛盾が生じない複数のグループ別に記述したタイミング制約モデル(CCS:Compatible Constraint Set)を作成させるCCS作成工程と、
    をコンピュータに実行させることを特徴とする論理回路のタイミング制約モデル生成プログラム。
  10. 前記方法により作成されたタイミング制約モデル(CCS)を用いて該CCSに記述されたタイミング制約を検査するタイミング検査工程と、
    作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づいて前記論理回路の遅延を最適化する論理最適化工程と、
    作成された前記CCSを用いて該CCSに記述されたタイミング制約に基づき論理回路の配置・配線を最適化する配置・配線工程と、
    を含むことを特徴とする請求項2〜8のいずれか一つに記載の方法により作成されたタイミング制約モデルを用いるタイミングドリブンレイアウト方法。
JP2002169014A 2002-06-10 2002-06-10 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法 Withdrawn JP2004013720A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002169014A JP2004013720A (ja) 2002-06-10 2002-06-10 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法
US10/453,621 US20030229871A1 (en) 2002-06-10 2003-06-04 Method of generating timing constraint model of logic circuit, program for generating timing constraint model of logic circuit, and timing-driven layout method of using the timing constraint model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002169014A JP2004013720A (ja) 2002-06-10 2002-06-10 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法

Publications (1)

Publication Number Publication Date
JP2004013720A true JP2004013720A (ja) 2004-01-15

Family

ID=29706814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002169014A Withdrawn JP2004013720A (ja) 2002-06-10 2002-06-10 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法

Country Status (2)

Country Link
US (1) US20030229871A1 (ja)
JP (1) JP2004013720A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262647A (ja) * 2009-04-30 2010-11-18 Internatl Business Mach Corp <Ibm> タイミング制約の競合を検出するための方法および装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4083544B2 (ja) * 2002-11-18 2008-04-30 富士通株式会社 マルチサイクルパス解析方法
US7401307B2 (en) * 2004-11-03 2008-07-15 International Business Machines Corporation Slack sensitivity to parameter variation based timing analysis
US8977995B1 (en) * 2007-01-10 2015-03-10 Cadence Design Systems, Inc. Timing budgeting of nested partitions for hierarchical integrated circuit designs
US8640066B1 (en) * 2007-01-10 2014-01-28 Cadence Design Systems, Inc. Multi-phase models for timing closure of integrated circuit designs
US7926011B1 (en) * 2007-01-10 2011-04-12 Cadence Design Systems, Inc. System and method of generating hierarchical block-level timing constraints from chip-level timing constraints
US8365113B1 (en) * 2007-01-10 2013-01-29 Cadence Design Systems, Inc. Flow methodology for single pass parallel hierarchical timing closure of integrated circuit designs
US7849429B2 (en) * 2008-03-24 2010-12-07 International Business Machines Corporation Methods for conserving memory in statistical static timing analysis
US8704649B2 (en) * 2009-01-21 2014-04-22 Korea Institute Of Science And Technology Vibrotactile device and method using the same
KR101054303B1 (ko) * 2009-05-19 2011-08-08 한국과학기술연구원 진동햅틱 모바일기기 및 그 구동방법
US8701074B2 (en) 2010-04-13 2014-04-15 Synopsys, Inc. Automatic reduction of modes of electronic circuits for timing analysis
US8627262B2 (en) * 2010-04-13 2014-01-07 Synopsys, Inc. Automatic generation of merged mode constraints for electronic circuits
US8607186B2 (en) * 2010-04-13 2013-12-10 Synopsys, Inc. Automatic verification of merged mode constraints for electronic circuits
US9489478B2 (en) 2014-10-17 2016-11-08 Synopsys, Inc. Simplifying modes of an electronic circuit by reducing constraints
US9542524B2 (en) 2015-01-27 2017-01-10 International Business Machines Corporation Static timing analysis (STA) using derived boundary timing constraints for out-of-context (OOC) hierarchical entity analysis and abstraction
US10073938B2 (en) * 2016-06-29 2018-09-11 International Business Machines Corporation Integrated circuit design verification
US20180232468A1 (en) * 2017-02-16 2018-08-16 Wipro Limited METHODS AND SYSTEMS FOR TIMING CONSTRAINT GENERATION IN IP/SoC DESIGN
US10394983B2 (en) * 2017-06-14 2019-08-27 Excellicon Corporation Method to automatically generate and promote timing constraints in a Synopsys Design Constraint format

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6591407B1 (en) * 2000-03-01 2003-07-08 Sequence Design, Inc. Method and apparatus for interconnect-driven optimization of integrated circuit design

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262647A (ja) * 2009-04-30 2010-11-18 Internatl Business Mach Corp <Ibm> タイミング制約の競合を検出するための方法および装置

Also Published As

Publication number Publication date
US20030229871A1 (en) 2003-12-11

Similar Documents

Publication Publication Date Title
JP2004013720A (ja) 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法
US8196076B2 (en) Optimal flow in designing a circuit operable in multiple timing modes
US5825658A (en) Method and a system for specifying and automatically analyzing multiple clock timing constraints in a VLSI circuit
JP2000148808A (ja) スケジュ―リングされた動作記述に対するストラクチュラルrtlの正当性検証方法
US8042085B2 (en) Method for compaction of timing exception paths
US8522182B2 (en) Generation of an end point report for a timing simulation of an integrated circuit
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
US20090044159A1 (en) False path handling
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
JP2011043993A (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
JP5444985B2 (ja) 情報処理装置
US7617466B2 (en) Circuit conjunctive normal form generating method, circuit conjunctive normal form generating device, hazard check method and hazard check device
WO2015075805A1 (ja) ソースコード分割方法及びlsi実装装置
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
US11023646B2 (en) Hierarchical clock tree construction based on constraints
JP4587754B2 (ja) クロック合成方法、半導体装置及びプログラム
JP4702357B2 (ja) 動作レベル記述とレジスタ転送レベル記述間の等価性検証方法及び装置並びにプログラム
JP3080037B2 (ja) 論理シミュレーション用モデルの作成方法
Plassan et al. Improving the efficiency of formal verification: the case of clock-domain crossings
US7188324B1 (en) Assertion morphing in functional verification of integrated circuit design
JP2872216B1 (ja) マクロの設計方法
JP4448048B2 (ja) 構造解析プログラム
US7047173B1 (en) Analog signal verification using digital signatures
JP7351189B2 (ja) タイミング制約抽出装置、タイミング制約抽出方法およびタイミング制約抽出プログラム
Plassan Conclusive formal verification of clock domain crossing properties

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050516

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060227