JP4918934B2 - 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム - Google Patents
半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム Download PDFInfo
- Publication number
- JP4918934B2 JP4918934B2 JP2009191845A JP2009191845A JP4918934B2 JP 4918934 B2 JP4918934 B2 JP 4918934B2 JP 2009191845 A JP2009191845 A JP 2009191845A JP 2009191845 A JP2009191845 A JP 2009191845A JP 4918934 B2 JP4918934 B2 JP 4918934B2
- Authority
- JP
- Japan
- Prior art keywords
- delay
- arbitrary area
- clock
- delay time
- layout
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
Description
階層設計のクロック分配の手法は、図11のように、トップ処理、マクロ処理のそれぞれのレイアウト処理の中でクロックを分配して、チップ処理時にトップのクロック分配とマクロのクロック分配をマージさせる手法が一般的である。このクロック分配手法では、チップ全体で同期を取る場合に、段数が多くなりクロックスキューが大きくなってしまうという問題があった。図11を参照して具体的に説明すると、クロックパスc1、c2は、マクロm1を迂回してマクロm2、m3へ分配されるため迂回する分、ドライバの段数が多くなってしまい、配線遅延とドライバによる遅延とによりクロックスキューが大きくなってしまうという問題がある。
以下、本発明の実施例1による半導体集積回路の遅延解析装置を図面を参照して説明する。なお、本実施例1ではクロック分配手法[H−Tree]を用いて説明するが、これは一例である。
図1は実施例1による遅延解析装置の構成を示すブロック図である。
この図に示すように、遅延解析装置100は、ハードディスク等の記憶装置1と、プログラム制御により動作するデータ処理装置2とから構成されている。
記憶装置1は、トップネットリスト11と、セル遅延ライブラリ17と、遅延制約情報18を自装置内に保持する各ファイル内に記憶し、また、出力情報となる、グローバルクロック分配後トップネットリスト12と、グローバルクロックレイアウトデータ1cと、エッジ情報を含むグローバルクロックパス遅延時間情報13と、マクロネットリスト14と、レイアウト後マクロネットリスト15と、マクロレイアウトデータ10と、マクロ内回路遅延時間情報16と、グローバルクロック遅延アノテート済みマクロネットリスト1aと、マクロ内回路遅延アノテート済みマクロネットリスト1bと、遅延解析情報19を自装置内に保持する各ファイル内に記憶する。
また、セル遅延ライブラリ17は、フリップフロップ(以下、FFという)やクロックドライバの各セルにおける、入力端子から出力端子への遅延時間や、入力端子に入力されるデータ信号に対するクロック信号のセットアップ時間やホールド時間などを予め記憶する。セル遅延ライブラリ17の詳細については、例えば、特開2001−273338号公報でセルライブラリ、特開2006−39621号公報でタイミング制約ライブラリとして説明されている。
また、グローバルクロック分配後トップネットリスト12は、トップネットリスト11のチップ全面にクロックパスが分配されたネットリストである(図12の左図)。
また、エッジ情報を含むグローバルクロックパス遅延時間情報13は、グローバルクロックパスのネットワーク毎の配線遅延やゲート遅延と、各クロックセル到達時のクロック信号のエッジの情報(rise/fall)とを示す。なお、クロックセルとしてインバータを用いる場合があるので、各クロックセル到達時のクロック信号のエッジは、PLLからのクロックセルの段数によって異なる。
また、マクロネットリスト14は、グローバルクロック分配後トップネットリスト12から、マクロ内部の回路を切り出したネットリストである。
また、レイアウト後マクロネットリスト15は、マクロネットリスト14にレイアウト処理を行ったネットリストである。
また、グローバルクロック遅延アノテート済みマクロネットリスト1aは、レイアウト後マクロネットリスト15に、マクロ内1段目までのクロックパスに対してグローバルクロックパスの遅延時間情報をアノテートしたマクロネットリストである。ここで、アノテートとは、ネットリストに含まれるパスそれぞれに遅延時間情報及びエッジ情報を対応付けることである。
また、マクロ内回路遅延アノテート済みマクロネットリスト1bは、グローバルクロック遅延アノテート済みマクロネットリスト1aの、マクロ内1段目以降のクロックパスとその他の回路について、マクロ内回路の遅延時間情報をアノテートしたマクロネットリストである。
また、遅延解析情報19は、遅延制約を満たしているかのチェックに基づく、遅延制約経路違反や違反値毎の度数分布統計情報を示す。
ここで、グローバルクロック分配部21は、トップネットリスト11を入力し、チップ全面にクロックパスを分配して、グローバルクロック分配後トップネットリスト12とグローバルクロックレイアウトデータ1cを出力する。このとき、クロックパスの遅延が後続レイアウトで大きく変化しないように、シールド配線や隣接禁止配線を行うのが一般的である。
また、マクロ切り出し部23は、グローバルクロック分配後ネットリスト12を入力し、マクロ内部の回路を切り出したマクロネットリスト14を出力する。
また、レイアウト部24は、マクロネットリスト14を入力し、グローバルクロック分配の先のクロックツリー末端ドライバとマクロ内のFFを接続する処理を含む、レイアウト処理を行って、レイアウト後マクロネットリスト15とマクロレイアウトデータ10を出力する。
また、遅延時間算出部25は、レイアウト後マクロネットリスト15とマクロレイアウトデータ10を入力し、セル遅延ライブラリ17を参照してRCシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報16を出力する。
また、グローバルクロック遅延アノテート部26は、レイアウト後マクロネットリスト15と、エッジ情報を含むグローバルクロックパス遅延時間情報13を入力し、マクロ内1段目までのクロックパスに対してはエッジ情報を含むグローバルクロックパス遅延時間情報13から遅延時間情報をアノテートし、グローバルクロック遅延アノテート済みマクロネットリスト1aを出力する。クロックセルとしてインバータを用いる場合があるので、マクロ外のクロックセルの段数が異なると、マクロ内に入ってくるクロック信号のエッジ(rise/fall)が経路によって異なるので、これを考慮させるために、遅延時間情報に加えてエッジの情報もクロックパスへアノテートしている。
また、遅延解析部28は、マクロ内回路遅延アノテート済みマクロネットリスト1bと、遅延制約情報18を入力し、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、遅延解析情報19を出力する。
次に、実施例1による遅延解析装置100の処理について図2を参照して説明する。
ここでは、マクロ外クロック遅延を考慮した遅延解析が行われる過程を、図2を用いて説明する。
(ステップS11)
まず、グローバルクロック分配部21が、トップネットリスト11を入力する。グローバルクロック分配部21は、一般的なトップ処理のクロック分配で行われるようなマクロ境界までのクロック分配ではなく、マクロ内部の領域も含めたチップ全面へクロックを分配し(図3;クロック分配の手法を示す第1の図)、グローバルクロック分配後トップネットリスト12と、グローバルクロックレイアウトデータ1cを出力する。
(ステップS12)
次に、遅延時間算出部22は、グローバルクロック分配後トップネットリスト12とグローバルクロックレイアウトデータ1cを入力し、セル遅延ライブラリ17を参照してRCシミュレーションによる遅延計算を行い、エッジ情報を含むグローバルクロックパス遅延時間情報13を出力する。遅延時間算出部22におけるステップS12の詳細については、例えば、特開2001−273338号公報、特開2000−259686号公報、特開2000−305966号公報、特開2000−250950号公報などにに記載されている技術により実現することができる。
また、マクロ切り出し部23が、グローバルクロック分配後トップネットリスト12を入力し、マクロ内部の回路を切り出したマクロネットリスト14を出力する(図4;クロック分配の手法を示す第2の図)。ステップS11でチップ全面へのクロック分配が行われ、物理的にクロックパスが分配されているので、そのクロックパスとマクロ境界の交差点にマクロの外部クロック端子を発生させて、そのマクロの外部クロック端子を含むマクロを切り出す。クロック端子の切り出し処理以外の処理については、例えば、特開2008−9787号公報、特開2005−235804号公報などに記載されている技術により実現することができる。このとき、後処理時において、どれがマクロ内1段目のクロックセルかを判定できるように、マクロ内1段目のクロックセルのインスタンス名には特定のprefixを付加する。
(ステップS14)
次に、レイアウト部24が、マクロネットリスト14を入力し、レイアウト処理を行い、レイアウト後マクロネットリスト15とマクロレイアウトデータ10を出力する。この処理の中で、クロックツリー末端ドライバからマクロ内の各FFのクロック入力端子までのクロックパスを接続する処理が行われる。この処理で、クロックソースからのクロックがFFまで完全に分配されたことになる。クロックツリー末端ドライバから各FFのクロック入力端子までのクロックパスを接続する処理は、例えば、特開2000−243846公報などに記載されている技術により実現することができる。その他のレイアウト処理の詳細については、例えば、特開2000−223578号公報、特開2000−172738号公報、特開2000−100948号公報などに記載された技術により実現することができる。
次に、遅延時間算出部25が、レイアウト後マクロネットリスト15とマクロレイアウトデータ10を入力し、セル遅延ライブラリ17を参照してRCシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報を出力する。遅延時間算出部25におけるステップS15の詳細については、例えば、特開2001−273338号公報、特開2000−259686号公報、特開2000−305966号公報、特開2000−250950号公報などに記載されている技術により実現することができる。
(ステップS16)
そして、グローバルクロック遅延アノテート部26が、レイアウト後マクロネットリスト15と、エッジ情報を含むグローバルクロックパス遅延時間情報13を入力し、グローバルクロック遅延アノテート済みマクロネットリスト1aを出力する。この処理においては、マクロ内1段目までのクロックパスに対して、エッジ情報を含むグローバルクロックパス遅延時間情報13がアノテートされる。具体的には、マクロ1段目までのグローバルクロック遅延が、マクロ切り口からマクロ内1段目までのクロックパスの遅延としてアノテートされる。
図5は遅延解析対象マクロbのレイアウト後マクロネットリストを示す図である。
図6は遅延解析装置の処理概要を示す第1の図である。
マクロbは、図5に記載されているように、外部クロック入力端子Port1〜Port3、DRV2、DRV4〜DRV8、FF1〜FF5を含む。DRV2、DRV4〜DRV8はクロックドライバである。FF1〜FF5はフリップフロップ(FF)である。マクロbはこれらの要素が図5のように組み合わされた回路である。
ここで、ステップS16の処理においては、マクロb内1段目までのクロックパスにエッジ情報を含む遅延時間情報をアノテートする。つまり、エッジ情報を含むグローバルクロックパス遅延時間情報13を参照して、外部クロック入力端子Port1→DRV2(外部入力端子Port1からクロックツリー末端ドライバDRV2)、外部クロック入力端子Port2→DRV6〜DRV7(外部入力端子Port2からクロックツリー末端ドライバDRV6,クロックツリー末端ドライバDRV7)、外部クロック入力端子Port3→DRV8(外部入力端子Port3からクロックツリー末端ドライバDRV8)のそれぞれのクロックパスに対して、遅延時間情報をアノテートする。また、クロックツリー末端ドライバDRV2、DRV4〜DRV8の入力端子到達時点でのクロック信号のエッジがrise/fallのどちらであるかもアノテートする。
具体的にDRV2に着目して説明すると、エッジ情報を含むグローバルクロックパス遅延時間情報13に含まれるPLL→DRV2(PLLからクロックツリー末端ドライバDRV2)までのクロック遅延を、マクロ/Port1→DRV2の遅延としてアノテートする。ここで、マクロ外のクロックセルの段数が異なると、マクロ内に入ってくるクロック信号のエッジ(rise/fall)が経路によって異なるので、これを考慮させるために、遅延時間に加えてエッジの情報もアノテートする。どれがマクロb内1段目のクロックセルかは、ステップS13で付加したprefixをキーにして判定する。
次に、マクロ内回路遅延アノテート部27が、グローバルクロック遅延アノテート済みマクロネットリスト1aと、マクロ内回路遅延時間情報16を入力し、マクロ内回路遅延アノテート済みマクロネットリスト1bを出力する。これにより、マクロ内1段目以降のパスとその他の回路にマクロ内回路遅延時間情報16がアノテートされる。つまり、マクロ内回路遅延時間情報16を参照して、ステップ16で遅延時間情報をアノテートした回路以外の回路へ、遅延時間情報をアノテートする。そして、ステップS16、ステップS17により、マクロ内回路全体に遅延時間情報がアノテートされたことになる。
(ステップS18)
そして、遅延解析部28は、ステップS16、ステップS17で遅延時間情報がアノテートされた、レイアウト後マクロネットリスト(マクロ内回路遅延アノテート済みマクロネットリスト)と、遅延制約情報18を入力し、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、マクロ外クロック遅延時間を考慮したクロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する。クロック遅延時間は、トップ持分のクロックパス、具体的には、PLLから各マクロの1段目のクロックツリードライバまでの遅延時間も保持しており、マクロ内処理でありながらトップ処理に近い高精度なクロックスキューの算出が可能になり、このクロックスキューを使用して遅延解析を行い、遅延解析情報19を出力する。クロック信号のエッジについても、正しい情報を保持した状態でマクロ内遅延解析を行う。これにより、マクロbの遅延解析が終了する。
また、クロック遅延とエッジの情報をセットでマクロ処理へアノテートすることで、クロックパスの切り口が複数あり、クロックドライバの段数が異なる場合でも、マクロ処理へのクロックパス遅延計算結果のアノテートを可能にする。
この効果について図7を参照して説明する。
従来のマクロの遅延解析方法では、想定されるクロックスキューをアンダーマージンにならないように大きめのクロックスキュー値を、FFのクロック入力端子、あるいは外部クロック入力端子に対して一律で与えてマクロの遅延解析を行っていた。しかし、実際のクロックスキュー(パスの始終点のクロック遅延時間の差)は、クロックドライバの分岐点の段数などクロック経路のレイアウト状態によって異なり、レイアウトが似通ったクロック経路のFFを始終点とするパスのクロックスキューは小さく、レイアウト上の差分が大きいクロック経路を始終点とするパスのクロックスキューは大きくなる。図7を参照して説明すると、PLLからFF1までのクロック経路と、PLLからFF2までのクロック経路は同一クロック経路部分が多く、PLLからFF1までのクロック経路と、PLLからFF5までのクロック経路は同一クロック経路部分が少ないので、FF1とFF2との間のクロックスキューは、FF1とFF5との間のクロックスキューに比べ小さくなる。
しかしながら、本発明のマクロの遅延解析方法では、マクロ外のクロックパス遅延をトップ処理の遅延計算結果からアノテートし、クロックの経路・レイアウトを考慮して、高精度なクロックスキュー計算を実現できる。具体的には、PLLからFF1までのクロック経路と、PLLからFF5までのクロック経路では、クロック経路の差分が大きいが、PLLからFF1までのクロック経路と、PLLからFF2までのクロック経路では、クロック経路の差分が小さいので、小さいクロックスキューが算出され、高精度な遅延解析が実現できる。これにより、過剰な設計マージンを省き、最適なLSI設計に寄与することができる。
図8は実施例2による遅延解析装置の構成を示すブロック図である。
次に、本発明の実施例2の構成について図8を参照して説明する。
実施例2による半導体集積回路の遅延解析装置は、図8に示すように、ハードディスク等の記憶装置1と、プログラム制御により動作するデータ処理装置2と、から構成されている。
記憶装置1は、チップネットリスト1dと、エッジ情報を含む任意区域外(グローバル)クロックパス遅延時間情報13と、セル遅延ライブラリ17と、遅延制約情報18を自装置内に保持する各ファイル内に記憶し、また、出力情報となる、任意区域ネットリスト1eと、レイアウト後任意区域ネットリスト1fと、任意区域レイアウトデータ1gと、任意区域内回路遅延時間情報1hと、グローバルクロック遅延アノテート済み任意区域ネットリスト1iと、任意区域内回路遅延アノテート済み任意区域ネットリスト1jと、遅延解析情報19を自装置内に保持する各ファイル内に記憶する。
また、任意区域ネットリスト1eは、チップネットリスト1dから任意区域の回路を切り出したネットリストである。
また、レイアウト後任意区域ネットリスト1fは、任意区域ネットリスト1eに修正レイアウト処理を行ったネットリストである。
また、任意区域内回路遅延時間情報1hは、任意区域内回路のネットワーク毎の配線遅延やゲート遅延を示す情報である。
また、グローバルクロック遅延アノテート済み任意区域ネットリスト1iは、レイアウト後任意区域ネットリスト1fの、任意区域内1段目までのクロックパスに対して、グローバルクロックパスの遅延時間情報をアノテートした任意区域ネットリストである。
また、任意区域内回路遅延アノテート済み任意区域ネットリスト1jは、グローバルクロック遅延アノテート済み任意区域ネットリスト1iの、任意区域内1段目以降のクロックパスとその他の回路について、任意区域内回路の遅延時間情報をアノテートした任意区域ネットリストである。
記憶装置1のその他の要素については、実施例1と同様である。
任意区域切り出し部28は、チップネットリスト1dを入力し、任意区域内部の回路を切り出した任意区域ネットリスト1eを出力する。
また、グローバルクロック遅延アノテート部26は、レイアウト後任意区域ネットリスト1fと、エッジ情報を含むグローバルクロックパス遅延時間情報13を入力し、任意区域内1段目までのクロックパスに対してはエッジ情報を含むグローバルクロックパス遅延時間情報から遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリスト1iを出力する。クロックセルとしてインバータを用いる場合があるので、任意区域外のクロックセルの段数が異なると、任意区域内に入ってくるクロック信号のエッジ(rise/fall)が経路によって異なるので、これを考慮させるために、遅延時間情報に加えてエッジの情報もクロックパスへアノテートしている。
データ処理装置2のその他の処理部については、実施例1と同様である。
次に、実施例2による遅延解析装置100の動作について図面を参照して説明する。
ここでは、半導体集積回路の遅延解析装置100により、任意区域の動作タイミングが検証される過程を、図9を用いて説明する。
(ステップS21)
まず、任意区域切り出し部29は、チップネットリスト1dを入力し、任意区域内部の回路を切り出した任意区域ネットリスト1eを出力する。チップネットリストはチップレイアウト処理まで行われ、物理的にクロックパスがわかっているので、そのクロックパスと任意区域境界の交差点に任意区域の外部クロック端子を発生させて、その任意区域の外部クロック端子を含んだ任意区域が切り出される(図10;遅延解析装置の処理概要を示す第3の図)。外部クロック端子の切り出し処理以外の処理については、例えば、特開2007−257293号公報に記載されている技術により実現することができる。このとき、任意区域内1段目のクロックセルがどれかを判定できるように、任意区域内1段目のクロックセルのインスタンス名には特定のprefixを付加する。
次に、レイアウト部24が、任意区域ネットリスト1eを入力し、レイアウト処理を行い、レイアウト後任意区域ネットリスト1fと任意区域レイアウトデータ1gを出力する。レイアウト部24におけるステップ22の詳細については、例えば、特開2005−284826号公報、特開2007−34668号公報、特開2000−242675号公報などに記載されている技術により実現することができる。
(ステップS23)
次に、遅延時間算出部25が、レイアウト後任意区域ネットリスト1fと任意区域レイアウトデータ1gを入力し、セル遅延ライブラリ17を参照してRCシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報1hを出力する。遅延時間算出部25を含むステップS23の詳細については、例えば、特開2001−273338号公報、特開2000−259686号公報、特開2000−305966号公報、特開2000−250950号公報などに記載されている技術により実現することができる。
(ステップS24)
次に、グローバルクロック遅延アノテート部26が、レイアウト後任意区域ネットリスト1fと、エッジ情報を含むグローバルクロックパス遅延時間情報13を入力し、グローバルクロック遅延アノテート済み任意区域ネットリスト1iを出力する。これにより、任意区域内1段目までのクロックパスに対して、エッジ情報を含むグローバルクロックパス遅延時間情報がアノテートされる。具体的には、任意区域1段目までのグローバルクロック遅延が、任意区域切り口から任意区域内1段目までのクロックパスの遅延としてアノテートされる。
つまり、
(ステップS25)
任意区域内回路遅延アノテート部20が、グローバルクロック遅延アノテート済み任意区域ネットリスト1iと、任意区域内回路遅延時間情報1hを入力し、任意区域内回路遅延アノテート済み任意区域ネットリスト1jを出力する。これにより、任意区域内1段目以降のパスとその他の回路に任意区域内回路遅延時間情報1hがアノテートされる。つまり、任意区域内回路遅延時間情報1hを参照して、ステップ24で遅延時間情報をアノテートした回路以外の回路へ、遅延時間情報がアノテートされる。そして、ステップS24、ステップS25により、任意区域内回路全体に遅延時間情報がアノテートされたことになる。
(ステップS26)
そして、遅延解析部28は、ステップS24、ステップS25で遅延時間情報がアノテートされた、任意区域内回路遅延アノテート済み任意区域ネットリスト1jと、遅延制約情報18を入力し、信号パスの遅延時間の算出、クロックスパスの遅延時間の算出、任意区域外クロック遅延時間を考慮したクロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する。クロック遅延時間は、トップ持分のクロックパス、具体的には、PLLから各任意区域の1段目のクロックツリードライバまでの遅延時間も保持しており、任意区域内処理でありながらトップ処理に近い高精度なクロックスキューの算出が可能になり、このクロックスキューを使用して遅延解析を行い、遅延解析情報19を出力する。クロック信号のエッジについても、正しい情報を保持した状態で任意区域内遅延解析を行う。これにより、任意区域の遅延解析が終了する。
2・・・データ処理装置
20・・・任意区域内回路遅延アノテート部
21・・・グローバルクロック分配部
22・・・遅延時間算出部
23・・・マクロ切り出し部
24・・・レイアウト部
25・・・遅延時間算出部
26・・・グローバルクロック遅延アノテート部
27・・・マクロ内回路遅延アノテート部
28・・・遅延解析部
29・・・任意区域切り出し部
Claims (3)
- チップレイアウト処理が行われたチップネットリストを入力し、チップにおける任意区域の回路を切り出した任意区域ネットリストを出力する任意区域切り出し部と、
前記任意区域ネットリストを入力し、レイアウト処理を行い、レイアウト後任意区域ネットリストと任意区域レイアウトデータとを出力するレイアウト部と、
前記レイアウト後任意区域ネットリストと前記任意区域レイアウトデータとセル遅延ライブラリを参照してRCシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成する遅延時間算出部と、
前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内1段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成するグローバルクロック遅延アノテート部と、
前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成する任意区域内回路遅延アノテート部と、
前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析部と、
を備えることを特徴とする半導体集積回路の遅延解析装置。 - 半導体集積回路の遅延解析装置の遅延解析方法であって、
前記遅延解析装置の任意区域切り出し部が、チップレイアウト処理が行われたチップネットリストを入力し、チップにおける任意区域の回路を切り出した任意区域ネットリストを出力し、
前記遅延解析装置のレイアウト部が、前記任意区域ネットリストを入力し、レイアウト処理を行い、レイアウト後任意区域ネットリストと任意区域レイアウトデータとを出力し、
前記遅延解析装置の遅延時間算出部が、前記レイアウト後任意区域ネットリストと前記任意区域レイアウトデータとセル遅延ライブラリを参照してRCシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成し、
前記遅延解析装置のグローバルクロック遅延アノテート部が、前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内1段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成し、
前記遅延解析装置の任意区域内回路遅延アノテート部が、前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成し、
前記遅延解析装置の遅延解析部が、前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する
ことを特徴とする遅延解析方法。 - 半導体集積回路の遅延解析装置のコンピュータを、
チップレイアウト処理が行われたチップネットリストを入力し、チップにおける任意区域の回路を切り出した任意区域ネットリストを出力する任意区域切り出し手段、
前記任意区域ネットリストを入力し、レイアウト処理を行い、レイアウト後任意区域ネットリストと任意区域レイアウトデータとを出力するレイアウト手段、
前記レイアウト後任意区域ネットリストと前記任意区域レイアウトデータとセル遅延ライブラリを参照してRCシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を生成する遅延時間算出手段、
前記レイアウト後任意区域ネットリストとエッジ情報を含むグローバルクロックパス遅延時間情報を入力し、任意区域内1段目までのクロックパスに前記エッジ情報を含むグローバルクロックパス遅延時間情報をアノテートし、グローバルクロック遅延アノテート済み任意区域ネットリストを生成するグローバルクロック遅延アノテート手段、
前記グローバルクロック遅延アノテート済み任意区域ネットリストと前記任意区域内回路遅延時間情報を入力し、任意区域内回路遅延アノテート済み任意区域ネットリストを生成する任意区域内回路遅延アノテート手段、
前記任意区域内回路遅延アノテート済み任意区域ネットリストと遅延制約情報を入力して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、それら情報を含む遅延解析情報を出力する遅延解析手段、
として機能させることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009191845A JP4918934B2 (ja) | 2009-08-21 | 2009-08-21 | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム |
US12/859,722 US8788255B2 (en) | 2009-08-21 | 2010-08-19 | Delay analysis processing of semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009191845A JP4918934B2 (ja) | 2009-08-21 | 2009-08-21 | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011043993A JP2011043993A (ja) | 2011-03-03 |
JP4918934B2 true JP4918934B2 (ja) | 2012-04-18 |
Family
ID=43606037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009191845A Expired - Fee Related JP4918934B2 (ja) | 2009-08-21 | 2009-08-21 | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8788255B2 (ja) |
JP (1) | JP4918934B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5447547B2 (ja) * | 2012-02-02 | 2014-03-19 | 日本電気株式会社 | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム |
US8464195B1 (en) | 2012-07-03 | 2013-06-11 | Oracle International Corporation | Integrated circuit clock analysis with macro models |
CN104715097A (zh) * | 2013-12-17 | 2015-06-17 | 北京华大九天软件有限公司 | 一种预布线改善时延的方法 |
US9305129B2 (en) * | 2013-12-26 | 2016-04-05 | Cavium, Inc. | System for and method of tuning clock networks constructed using variable drive-strength clock inverters with variable drive-strength clock drivers built out of a smaller subset of base cells |
US9390209B2 (en) | 2013-12-26 | 2016-07-12 | Cavium, Inc. | System for and method of combining CMOS inverters of multiple drive strengths to create tune-able clock inverters of variable drive strengths in hybrid tree-mesh clock distribution networks |
US9443053B2 (en) | 2013-12-26 | 2016-09-13 | Cavium, Inc. | System for and method of placing clock stations using variable drive-strength clock drivers built out of a smaller subset of base cells for hybrid tree-mesh clock distribution networks |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3913180B2 (ja) * | 1994-08-03 | 2007-05-09 | 松下電器産業株式会社 | 半導体集積回路の設計方法 |
US5883814A (en) * | 1997-03-13 | 1999-03-16 | International Business Machines Corporation | System-on-chip layout compilation |
JP3223888B2 (ja) | 1998-09-24 | 2001-10-29 | 日本電気株式会社 | 半導体集積回路の配線レイアウト方法及び配線レイアウト装置 |
JP2000172738A (ja) | 1998-12-09 | 2000-06-23 | Nec Corp | Lsiの自動レイアウト方法 |
JP3033759B1 (ja) | 1999-02-17 | 2000-04-17 | 日本電気アイシーマイコンシステム株式会社 | 半導体集積回路の配置方法及び配置プログラムを記録したコンピュ―タ読取可能な記録媒体 |
JP3231728B2 (ja) | 1999-02-24 | 2001-11-26 | エヌイーシーマイクロシステム株式会社 | 半導体集積回路のクロック分配レイアウト方法 |
JP3544885B2 (ja) | 1999-02-26 | 2004-07-21 | Necエレクトロニクス株式会社 | 論理回路の遅延計算方法、論理回路の遅延計算装置および論理回路の遅延計算プログラムを記録した媒体 |
JP3296320B2 (ja) | 1999-03-05 | 2002-06-24 | 日本電気株式会社 | ゲート遅延計算装置、及びゲート遅延計算プログラムを記録した記録媒体 |
JP2000305966A (ja) | 1999-04-21 | 2000-11-02 | Nec Corp | 遅延情報生成システム、遅延情報生成方法及び記録媒体 |
JP2001273338A (ja) | 2000-03-24 | 2001-10-05 | Nec Corp | 半導体集積回路の動作タイミング検証方法 |
JP4146668B2 (ja) * | 2002-05-21 | 2008-09-10 | 松下電器産業株式会社 | 遅延調整方法 |
US6687889B1 (en) * | 2002-08-08 | 2004-02-03 | Agilent Technologies, Inc. | Method and apparatus for hierarchical clock tree analysis |
JP4020836B2 (ja) * | 2003-07-23 | 2007-12-12 | シャープ株式会社 | クロックツリー回路、および、半導体集積回路装置 |
JP2005235804A (ja) | 2004-02-17 | 2005-09-02 | Nec Electronics Corp | 半導体装置の設計方法及びプログラム |
JP4140013B2 (ja) | 2004-03-30 | 2008-08-27 | 日本電気株式会社 | 半導体集積回路のゲートリサイズ装置及び方法とそのプログラム |
JP2006039621A (ja) | 2004-07-22 | 2006-02-09 | Nec Electronics Corp | タイミング制約ライブラリの作成方法及び作成システム |
US7418679B1 (en) * | 2005-03-04 | 2008-08-26 | Xilinx, Inc. | Method of enabling timing verification of a circuit design |
JP4540540B2 (ja) * | 2005-05-02 | 2010-09-08 | ルネサスエレクトロニクス株式会社 | 遅延計算装置 |
JP2007034668A (ja) | 2005-07-27 | 2007-02-08 | Oki Electric Ind Co Ltd | レイアウト方法 |
US7451412B2 (en) * | 2005-08-04 | 2008-11-11 | Synopsys, Inc. | Speeding up timing analysis by reusing delays computed for isomorphic subcircuits |
JP4666164B2 (ja) | 2006-03-23 | 2011-04-06 | 日本電気株式会社 | 集積回路の階層設計方法および装置 |
JP2008009787A (ja) | 2006-06-30 | 2008-01-17 | Fujitsu Ltd | 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体 |
US20080229266A1 (en) * | 2006-12-14 | 2008-09-18 | International Business Machines Corporation | Design Structure for a Clock Distribution Network, Structure, and Method for Providing Balanced Loading in Integrated Circuit Clock Trees |
JP2008296387A (ja) | 2007-05-29 | 2008-12-11 | Japan Steel Works Ltd:The | 射出成形機の型締装置 |
-
2009
- 2009-08-21 JP JP2009191845A patent/JP4918934B2/ja not_active Expired - Fee Related
-
2010
- 2010-08-19 US US12/859,722 patent/US8788255B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011043993A (ja) | 2011-03-03 |
US20110046937A1 (en) | 2011-02-24 |
US8788255B2 (en) | 2014-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4918934B2 (ja) | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム | |
US9009645B2 (en) | Automatic clock tree routing rule generation | |
US7886245B2 (en) | Structure for optimizing the signal time behavior of an electronic circuit design | |
JP2010079737A (ja) | タイミング解析支援装置 | |
JP2006301961A (ja) | 半導体集積回路の自動フロアプラン手法 | |
Chan et al. | OCV-aware top-level clock tree optimization | |
US8171440B2 (en) | Timing analyzing apparatus, timing analyzing method and program thereof | |
US9047434B2 (en) | Clustering for processing of circuit design data | |
JP2010257164A (ja) | 半導体集積回路装置の設計方法およびプログラム | |
JP5444985B2 (ja) | 情報処理装置 | |
US8527927B2 (en) | Zone-based area recovery in electronic design automation | |
JP5447547B2 (ja) | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム | |
Huang et al. | Timing-driven cell placement optimization for early slack histogram compression | |
US8336013B2 (en) | Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations | |
JP2005136286A (ja) | 半導体集積回路の設計方法、及びその装置 | |
JP4756002B2 (ja) | 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体 | |
JP2006338090A (ja) | 半導体集積回路の設計方法および設計装置 | |
JP4587754B2 (ja) | クロック合成方法、半導体装置及びプログラム | |
JP2009187344A (ja) | 非同期論理回路検証装置およびその方法、並びにプログラム | |
JP2009053830A (ja) | 自動配置配線方法およびレイアウト装置 | |
JP5849973B2 (ja) | データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム | |
JP5929367B2 (ja) | 半導体設計装置および半導体設計方法 | |
Iizuka et al. | An ASIC design support tool set for non-pipelined asynchronous circuits with bundled-data implementation | |
Liao et al. | An Improved ASIC/SOC Design Methodology for Quick Design Convergence | |
JP2014006564A (ja) | 半導体集積回路の設計方法及び設計プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110412 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110610 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120104 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4918934 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |