JP4706738B2 - 遅延解析装置、遅延解析方法、及びプログラム - Google Patents

遅延解析装置、遅延解析方法、及びプログラム Download PDF

Info

Publication number
JP4706738B2
JP4706738B2 JP2008211549A JP2008211549A JP4706738B2 JP 4706738 B2 JP4706738 B2 JP 4706738B2 JP 2008211549 A JP2008211549 A JP 2008211549A JP 2008211549 A JP2008211549 A JP 2008211549A JP 4706738 B2 JP4706738 B2 JP 4706738B2
Authority
JP
Japan
Prior art keywords
clock
macro
delay
net list
path
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
Application number
JP2008211549A
Other languages
English (en)
Other versions
JP2010049386A (ja
Inventor
浩史 菅野
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008211549A priority Critical patent/JP4706738B2/ja
Priority to US12/537,133 priority patent/US8171440B2/en
Publication of JP2010049386A publication Critical patent/JP2010049386A/ja
Application granted granted Critical
Publication of JP4706738B2 publication Critical patent/JP4706738B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F30/396Clock trees

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)

Description

本発明は遅延解析装置、遅延解析方法、及びプログラムに関し、特に、CRPRを考慮して遅延解析する遅延解析装置、遅延解析方法、及びプログラムに関する。
回路設計において、クロックパスの共通ポイントを考慮して、悲観的条件を削除するCRPR(Clock Reconvergence Pessimism Removal:クロック再収束の悲観的条件の削除)が行われている。例えば、クロックパスの重複箇所である共通ポイントでは遅延時間はばらつかないため、共通ポイントを除いて計算する遅延解析は、過剰な設計マージンを省くことができる。
例えば、特許文献1は、ネットリストに基づき、信号伝搬方向とは逆の方向からパスを辿っていき、共通部分が現れたところで、共通部分でない部分を抽出することにより、共通部分のばらつきを除去した計算が自動的に実行されるタイミング配分装置を開示している。
特開2007−188517号公報(段落0213)
近年、LSI(Large Scale Integration)等の回路の大規模化に伴い、1つのLSIをマクロ毎に設計したり、チップレイアウト後にチップの任意区域を切り出して処理したりする場面が多くなっている。上述したタイミング配分装置では、任意区域内外(例、マクロ内外)の両方のクロックパスをCRPRを考慮して遅延解析していなかったため、過剰な設計マージンを省いた回路設計を行うことができないという問題点があった。
本発明の目的は、上述した課題を解決する遅延解析装置、遅延解析方法、及びプログラムを提供することにある。
本発明の遅延解析装置は、任意区域内外のクロックパスを、CRPRを考慮して遅延解析する遅延解析部を含む。
本発明の遅延解析方法は、任意区域内外のクロックパスを、CRPRを考慮して遅延解析する。
本発明のプログラムは、コンピュータを、任意区域内外のクロックパスを、CRPRを考慮して遅延解析する手段として機能させる。
本発明には、過剰な設計マージンを省いた回路設計を行うことができるという効果がある。
まず、本発明の実施の形態の説明に先立ち、発明の経緯について詳述する。
上述したように、LSIの大規模化に伴い、1つのLSIをマクロ毎に設計したり、チップレイアウト後にチップの任意区域を切り出して処理したりする場面が多くなっている。
図1−Aは、トップ分配後のLSIを示した図である。階層設計のクロック分配の手法としては、図1−Aのように、トップ処理(マクロをブラックボックスとして扱い、チップ全面に対し行う処理)、及びマクロ処理(マクロ内部の処理)のそれぞれのレイアウト処理の中でクロックを分配して、チップ処理(チップ全面の処理)時にトップのクロック分配とマクロのクロック分配をマージさせる手法が一般的である。
このクロック分配手法には、チップ全体で同期を取る場合に、段数が多くなりクロックスキューが大きくなってしまうという問題があった。図1−Aを参照して具体的に説明すると、クロックパスc1、及びc2は、マクロm1を迂回してマクロm2、m3へ分配されるため、迂回する分段数が多くなってしまい、その結果、クロックスキューの増大を招いてしまう。
この問題を解消するためのクロック分配手法として、本発明では、図1(b)に示すような手法を採用する。図1−Bは、トップ分配又はマクロ分配後のLSIを示した図である。この手法では、クロック分配がトップ処理の時点でチップ全面に対して行われ、マクロ処理ではチップ全面に分配されたクロックパスからマクロ内に存在する部分のクロックパスが切り出され、それに対してマクロ処理が行われる。そして、この手法では、マクロ処理でのクロック分配がクロックツリー末端ドライバとマクロ内のFFとを繋げるのみとされる。
この手法は、前述の手法に比べてクロックツリーの段数を少なく抑え、クロックスキューを小さくすることができる。ただし、この手法は、チップ全面にクロックパスが分配された状態からマクロを切り出してマクロ処理を行うため、クロック分配の物理的な位置関係を意識せずに自由にマクロが切り出された場合に、マクロ境界にクロック端子が複数存在する断片的なクロックパスを含むマクロを切り出すことになる。
LSIチップ上のクロックソース(PLL(Phase Locked Loop)回路)からマクロ境界の各クロック端子までのクロックツリー段数にはばらつきが生じることがある。このため、マクロ遅延解析時に精度の良いクロックスキューを用いることが困難である。トップ処理で得られたPLL回路からマクロ境界までのクロックパス遅延時間をマクロ遅延解析時に使用することは、遅延解析ツールの運用を工夫すれば可能である。しかし、遅延解析ツールが単純にPLL回路からマクロ境界までのクロックパス遅延時間をマクロ遅延解析時に使用するだけでは、遅延解析ツールはマクロの外のクロックパスの接続関係を認識できない。そのため、遅延解析ツールはマクロの外のクロックパスの共通ポイントを認識することができず、CRPRを考慮することができなかった。
ここで、CRPRについて説明する。図2は、クロックスキュー算出における、CRPR考慮した場合としなかった場合の比較を示す図である。
トランジスタや配線のばらつきを考慮した遅延解析では、図2の式1及び式2に示すように、始終点FF(Flip-Flop)の各クロックパス遅延時間に異なる係数を掛けることで、クロックスキューにマージンを与えて遅延解析が行われる。ただし実際の半導体集積回路では、図2中のクロックパスの重複部分である共通ポイント(ab間)におけるトランジスタや配線の特性にばらつきはない。そのため、式1及び式2のようにクロックパス遅延時間全体に係数を掛ける方法では、クロックスキューを過剰に大きく考慮してしまうことになり、悲観的な遅延解析を行うことになってしまう。クロックパスの共通ポイントを考慮して、この悲観的条件を削除することをCRPRという。
式3〜式6は具体的な計算例を示す。本計算例では、クロックパス遅延を、ab間=1、bc間=1、bd間=2であると仮定している。式3〜式6に示すように、CRPRの考慮・未考慮の違いは、共通ポイントab間の遅延に係数を掛けた分の差である。計算例においては、この差分が、SETUPタイミング検証用クロックスキュー、HOLDタイミング検証用クロックスキューとも、CRPR考慮時のほうがCRPR未考慮時よりも0.2小さくなっている。これは、CRPRを考慮した場合には、CRPR未考慮時に過剰な設計マージンになっていたクロックスキュー0.2分を削除できることを意味する。
このように、遅延解析ツールがマクロの外のクロックパスの接続関係を認識できない場合、遅延解析ツールは、マクロの遅延解析時にCRPRを考慮することができず、必要以上に大きなクロックスキューを使用した遅延解析を行うことになる。このことは、最適なマクロ設計を妨げる要因となる。チップレイアウト後の任意区域の遅延解析時も同様のことが生じる。
次に、本発明の概要を説明する。図3は本発明の遅延解析装置の概要を示す図である。
図において、遅延解析装置200は遅延解析部270を含む。遅延解析部270は、任意区域内外のクロックパスを、CRPR(Clock Reconvergence Pessimism Removal)を考慮して遅延解析する。これにより、本発明は、過剰な設計マージンを省いた回路設計を行うことができるという効果を奏する。
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。第1の実施の形態では、後述するように、遅延解析部は、マクロ内外のクロックパスを含んだマクロ外クロックパス込みのマクロネットリスト16を基に、マクロ内外のクロックパスの重複箇所である共通ポイントを認識して遅延解析する。なお、以下の説明で使用しているクロック分配手法[H−Tree]は一例であり、これに限定されるものではない。
図4は、本発明の遅延解析装置の第1の実施の形態を示す図である。
本実施の形態における遅延解析装置200は、プログラム制御により動作するデータ処理装置2と、ハードディスク等の記憶装置1とを含む。図4では、説明の便宜上、記憶装置1内にデータ処理装置2が示されているが、実際にはデータ処理装置2は記憶装置1の外に設けられる。
記憶装置1には、トップネットリスト11と、セルライブラリ17と、遅延制約情報19とが記憶されている。更に、記憶装置1には、出力情報として、グローバルクロック分配後ネットリスト12と、グローバルクロックパス遅延時間情報13と、マクロネットリスト14と、レイアウト後マクロネットリスト15と、マクロ外クロックパス込みのマクロネットリスト16と、マクロ内回路遅延時間情報18と、遅延解析情報10とが記憶されている。
トップネットリスト11は、下位階層をマクロとして、マクロ配置(フロアプラン)及びプリミティブセルの配置の双方の完了後、レイアウトツールから出力されたネットリストである。記憶装置1はトップネットリスト11を予め記憶している。
セルライブラリ17は、フリップフロップ(FF)やクロックドライバの各セルにおける入力端子から出力端子への遅延時間や入力端子に入力されるデータ信号に対するクロック信号のセットアップ時間やホールド時間などの情報を予め記憶している。セルライブラリについては、特開2001−273338号公報及び特開2006−39621号公報でそれぞれ「セルライブラリ」及び「タイミング制約ライブラリ」として詳しく説明されている。
遅延制約情報19とは、半導体集積回路を動作させるための制約情報となる基本クロック周期(或いは基本クロック周波数)、入力ピン外部の遅延時間、出力ピン外部の要求遅延時間、遅延制約例外パス(フォールス・パス,マルチサイクル・パス)などの情報である。記憶装置1は、遅延制約情報19を予め記憶している。
グローバルクロック分配後トップネットリスト12は、トップネットリスト11のチップ全面にクロックパスが分配された状態を示すネットリストである(図1−B左)。
グローバルクロックパス遅延時間情報13には、グローバルクロックパスのネットワーク毎の配線遅延時間やゲート遅延時間の情報が含まれる。
マクロネットリスト14は、グローバルクロック分配後トップネットリスト12からマクロ内部の回路を切り出した状態を示すネットリストであり、マクロ切り出し部23により出力される。
レイアウト後マクロネットリスト15は、マクロネットリスト14にレイアウト処理を行った後の状態を示すネットリストであり、レイアウト部24により出力される。
マクロ外クロックパス込みのマクロネットリスト16は、グローバルクロック分配後トップネットリスト12から対象マクロに関係するクロックパス記述を抜き出し、レイアウト後マクロネットリスト15にマージした状態を示すネットリストであり、ネットリストマージ部25により出力される。
マクロ内回路遅延時間情報18は、遅延時間算出部26により算出された、マクロ内回路のネットワーク毎の配線遅延時間やゲート遅延時間の情報である。
遅延解析情報10には、CRPR考慮遅延解析部27が遅延制約を満たしているかのチェックを行った結果判明した、遅延制約経路違反や違反値毎の度数分布統計情報が含まれる。
データ処理装置2は、グローバルクロック分配部21と、遅延時間算出部22と、マクロ切り出し部23と、レイアウト部24と、ネットリストマージ部25と、遅延時間算出部26と、CRPR考慮遅延解析部27とを含む。
グローバルクロック分配部21は、トップネットリスト11に基づき、チップ全面にクロックパスを分配した状態を示すグローバルクロック分配後トップネットリスト12を出力する。クロックパスの分配に当たっては、グローバルクロック分配部21は、クロックパスの遅延が後続レイアウトで大きく変化しないように、シールド配線や隣接禁止配線がなされるように配慮する。
遅延時間算出部22は、グローバルクロック分配後ネットリスト12に基づき、セルライブラリ17を参照してRC(Resistance Capacitance)シミュレーションによる遅延計算を行い、グローバルクロックパス遅延時間情報13を出力する。この遅延時間算出部22は、グローバルクロックパス遅延時間算出部と呼ぶこともできる。
マクロ切り出し部23は、グローバルクロック分配後ネットリスト12に基づき、マクロ内部の回路を切り出した状態を示すマクロネットリスト14を出力する。
レイアウト部24は、マクロネットリスト14に基づき、グローバルクロック分配の先のクロックツリー末端ドライバとマクロ内のFFを接続する処理を含む、レイアウト処理を行って、レイアウト後マクロネットリスト15を出力する。
ネットリストマージ部25は、グローバルクロック分配後トップネットリスト12とレイアウト後マクロネットリスト15に基づき、グローバルクロック分配後トップネットリスト12から対象マクロに関係するクロックパス記述を抜いてきて、レイアウト後マクロネットリスト15にマージして、マクロ外クロックパス込みのマクロネットリスト16を出力する。
遅延時間算出部26は、マクロ外クロックパス込みのマクロネットリスト16に基づき、セルライブラリ17を参照してRCシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報18を出力する。
CRPR考慮遅延解析部27は、前述の遅延解析部270の一例である。CRPR考慮遅延解析部27は、マクロ外クロックパス込みのマクロネットリスト16と、グローバルクロックパス遅延時間情報13と、マクロ内回路遅延時間情報18と、遅延制約情報19とを参照する。CRPR考慮遅延解析部27は、マクロ外クロックパスについてはグローバルクロックパス遅延時間情報を割り当て、マクロ内の回路については、マクロ内遅延時間情報からマクロ内回路の遅延時間情報を割り当てる。そして、CRPR考慮遅延解析部27は、これらの遅延時間情報を元に、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、これらの算出結果等を遅延解析情報10として出力する。
クロックスキューの算出では、CRPR考慮遅延解析部27は、マクロ外クロックパス込みのマクロネットリスト16から各パスの始終点のクロックパスの重複箇所である共通ポイントの情報を得て、CRPRを考慮して(共通ポイントを除いて)クロックスキューを算出する。クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックでは、CRPR考慮遅延解析部27は、CRPRを考慮したクロックスキューを使用して、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行う。
次に、本発明の第1の実施の形態の動作について図面を参照して説明する。
図5は、CRPRを考慮したマクロの遅延解析を示したフローチャートである。
ステップS11:グローバルクロック分配部21に、トップネットリスト11が入力される。図6は、ステップS11のグローバルクロック分配処理を示す図である。グローバルクロック分配部21は、一般的なトップ処理のクロック分配で行われるようなマクロ境界までのクロック分配ではなく、マクロ内部の領域も含めたチップ全面へクロックを分配し、グローバルクロック分配後トップネットリスト12を出力する。
ステップS12:遅延時間算出部22に、グローバルクロック分配後トップネットリスト12が入力される。遅延時間算出部22は、セルライブラリ17を参照してRCシミュレーションによる遅延計算を行い、グローバルクロックパス遅延時間情報13を出力する。遅延時間算出部22を含むステップS2の詳細については、特開2001−273338号公報、特開2000−259686号公報、特開2000−305966号公報、特開2000−250950号公報などを参照できる。
ステップS13:マクロ切り出し部23にグローバルクロック分配後トップネットリスト12が入力される。図7は、ステップS13のマクロ切り出し処理を示す図である。マクロ切り出し部23はマクロ内部の回路を切り出し、マクロネットリスト14として出力する。ステップS11でチップ全面へクロック分配が行われ、物理的にクロックパスが分配されている。マクロ切り出し部23は、そのクロックパスとマクロ境界の交差点にマクロの外部クロック端子を発生させて、そのマクロの外部クロック端子を含むマクロを切り出す。クロック端子の切り出し処理以外の処理については、特開2008−9787号公報、特開2005−235804号公報などを参照できる。
ステップS14:レイアウト部24にマクロネットリスト14が入力され、レイアウト部24がレイアウト処理を行い、レイアウト後マクロネットリスト15を出力する。この処理の中で、レイアウト部24はクロックツリー末端ドライバからマクロ内の各FFのクロック入力端子までのクロックパスを接続する処理を行う。この処理で、クロックソースからのクロックがFFまで完全に分配されたことになる。クロックツリー末端ドライバから各FFのクロック入力端子までのクロックパスを接続する処理については、特開2000−243846号公報などを参照できる。その他のレイアウト処理の詳細については、特開2000−223578号公報、特開2000−172738号公報、特開2000−100948号公報などを参照できる。
ステップS15:ネットリストマージ部25に、レイアウト後マクロネットリスト15、グローバルクロック分配後トップネットリスト12が入力され、ネットリストマージ部25はネットリストマージ処理を行う。ステップS15をステップS15−1〜S15−3に区分して、図8乃至図11を参照しながら具体的な処理を説明する。
図8は遅延解析対象のマクロbのレイアウト後マクロネットリストを示す。マクロbは、図8に記載されているように、セル51a〜51h、52a〜52g、53a〜53dと、外部入力端子54a〜54cと、クロック配線分岐点55aと、一般信号配線56aとを含む。セル51a〜セル51hはグローバルクロックドライバである。セル52a〜セル52jはローカルクロックドライバである。セル53a〜セル53dはフリップフロップ(FF)である。マクロbはこれらの要素が図8のように組み合わされた回路である。
ステップS15−1:ネットリストマージ部25は、マクロbのレイアウト後マクロネットリストから、クロックツリー末端ドライバより前のクロックパスの記述(セル・ネット・入力端子)を削除する。図9は、ステップS15−1のクロックツリー末端ドライバより前のクロックパスの記述の削除を示す図である。図9に示すように、ネットリストマージ部25は、マクロbのセル51a〜51h、52a〜52c、外部入力端子54a〜54cと、それに繋がっているクロックツリー末端ドライバ52d〜52gより前のクロックネットとを削除する。そして、ネットリストマージ部25は、図9の右図のような状態のネットリストにする。
ステップS15−2:ネットリストマージ部25は、グローバルクロック分配後トップネットリストから、マクロbに関わる、PLL回路からクロックツリー末端ドライバ手前までのクロックパスの記述をコピーしてくる。
図10は、ステップS15−2における、PLL回路からクロックツリー末端ドライバ手前までのクロックパスの記述のコピーを示す図である。図10に示すように、ネットリストマージ部25は、レイアウト後マクロネットリスト15に含まれるクロックツリー末端ドライバの名前を起点として、グローバルクロック分配後トップネットリスト12をPLL回路に向かってトレースしていく。ネットリストマージ部25は、クロックツリー末端ドライバからその手前の入力ネットをトレースし、入力ネットからその手前のドライバをトレースし、ドライバからその手前の入力ネットをトレースし、というようにトレースを繰り返していく。PLL回路までたどり着いたところで、ネットリストマージ部25はPLL回路からクロックツリー末端ドライバ手前までのクロックパスの記述を確定させてコピーする。ネットリストマージ部25は、これをクロックツリー末端ドライバの数分繰り返す。こうして、ネットリストマージ部25は、マクロbに関わるクロックパスを得ることができる。
ステップS15−3:ネットリストマージ部25は、ステップS15−1で作成したクロックツリー末端ドライバより前のクロックパスの記述を削除したネットリストに、ステップS15−2で作成したマクロbに関わるクロックパスの記述をマージし、マクロ外クロックパス込みマクロネットリストを作成する。図11は、マクロ外クロックパス込みマクロネットリストを示す。
ステップS16:遅延時間算出部26に、マクロ外クロックパス込みのマクロネットリスト16が入力される。遅延時間算出部26は、セルライブラリ17を参照して、RCシミュレーションによる遅延計算を行い、マクロ内回路遅延時間情報18を出力する。遅延時間算出部26を含むステップS16の詳細については、特開2001−273338号公報、特開2000−259686号公報、特開2000−305966号公報、特開2000−250950号公報などを参照できる。
ステップS17:CRPR考慮遅延解析部27に、マクロ外クロックパス込みのマクロネットリスト16とグローバルクロックパス遅延時間情報13が入力される。CRPR考慮遅延解析部27は、マクロ外クロックパス込みのマクロネットリスト16にグローバルクロックパス遅延時間情報13を割り当てる。さらに、CRPR考慮遅延解析部27に、ステップS16で得られたマクロbのマクロ内回路遅延時間情報18が入力される。CRPR考慮遅延解析部27は、マクロ外クロックパス込みのネットリスト16にマクロb内のネットワーク毎の配線遅延時間情報やゲート遅延時間情報を割り当てる。
ステップS18:CRPR考慮遅延解析部27は、ステップS17で得られた遅延時間情報が割り当てられたマクロ外クロックパス込みのマクロネットリスト16と、遅延制約情報19から、CRPRを考慮した遅延解析を行う。マクロ外クロックパス込みのマクロネットリスト16が入力されることで、マクロ外のクロックパスの共通ポイント(重複箇所)を認識できるので、CRPR考慮遅延解析部27はCRPRを考慮してクロックスキューを算出することができる。CRPR考慮遅延解析部27は、このクロックスキューを使用してCRPRを考慮して遅延解析を行い、遅延解析情報10を出力する。以上により、遅延解析装置200はCRPRを考慮したマクロbの遅延解析を終了する。
続いて、本発明の第1の実施の形態における効果を説明する。第1の実施の形態には、過剰な設計マージンを省いた回路設計を行うことができるという効果がある。その理由は、CRPR考慮遅延解析部27が、マクロ内外のクロックパスをCRPRを考慮して遅延解析するためである。
即ち、本実施の形態では、マクロ遅延解析時に、ネットリストマージ部25が、レイアウト後マクロネットリスト15と、グローバルクロックパスを含むグローバルクロック分配後トップネットリスト12とをマージし、そのマージしたマクロ外クロックパス込みのマクロネットリスト16を作成する。
そして、マクロ外クロックパス込みのマクロネットリスト16とグローバルクロックパス遅延時間情報13は、CRPR考慮遅延解析部27に入力され、CRPR考慮遅延解析部27はマクロ外のクロックパスを認識する。これにより、本実施の形態は、マクロ外のクロックパスも含めたCRPRを考慮したマクロ遅延解析が可能になり、過剰な設計マージンを省き、最適なLSI設計に寄与することが可能となる。
これに対し、本発明を適用しないマクロ遅延解析では、以下に説明するように、マクロ内のクロックパスのみを認識できるレイアウト後マクロネットリスト15のみを用いて遅延解析を行うことになる。
この点について、図8、及び図11のFF53aとFF53bを始終点とするパスの遅延解析を例に挙げて具体的に説明する。本発明を適用しないマクロの遅延解析方法は、マクロの回路を図8のように認識する。そのため、この方法では、FF53aとFF53bを始終点とするパスについて、クロックパスが、FF53aについては外部入力端子54bからFF53aのクロックピンまで、FF53bについては外部入力端子54aからFF53bのクロックピンまでしか認識できない。その結果、この方法では、FF53aのクロックパスとFF53bのクロックパスが、外部入力端子54a、54b以前の部分でどこにどの程度の共通ポイントが存在するのかを認識することができない。これにより、CRPRを考慮した遅延解析ができず、必要以上に大きなクロックスキューを使用した遅延解析を行うこととなる。
本発明の第1の実施の形態では、マクロの回路を図11のように認識する。そして、この方法では、FF53aとFF53bを始終点とするパスについて、クロックパスを、FF53aについてはマクロの外に存在するPLL66aからFF53aのクロックピンまで、FF53bについてはPLL66aからFF53bのクロックピンまで認識することができる。そのため、この方法は、FF53aのクロックパスとFF53bのクロックパスが、マクロの外の部分でどこにどの程度の共通ポイントが存在するのかを認識することができる。これにより、この方法は、CRPRを考慮した遅延解析が可能になり、遅延解析時に使用するクロックスキューについて過剰なマージンを削除することができ、最適なLSI設計に寄与することができる。
さらに、本発明の第1の実施の形態は、クロック分配をトップ処理の時点でチップ全面に対して行い、マクロ処理ではチップ全面に分配されたクロックパスからマクロ内に存在する部分のクロックパスを切り出して処理を行い、マクロ処理でのクロック分配はクロックツリー末端ドライバとマクロ内のFFを繋げるのみにする、というクロック分配手法を使用している。これにより、チップ全体のクロックツリーの段数が最適化され、クロックスキューを小さくすることができる。
次に、本発明の第1の実施の形態の変形例について図面を参照して詳細に説明する。図12は、第1の実施の形態の変形例を示す図である。本変形例は、第1の実施の形態と比較して、マクロではなく任意区域を対象とし、グローバルクロック分配後トップネットリスト12ではなくチップネットリスト1aを対象としている点が異なる。
図12に示すように、遅延解析装置200は、プログラム制御により動作するデータ処理装置2と、ハードディスク等の記憶装置1とを含む。
記憶装置1には、チップネットリスト1aと、グローバルクロックパス遅延時間情報13と、セルライブラリ17と、遅延制約情報19とが記憶されている。また、記憶装置1には、出力情報として、任意区域ネットリスト1bと、レイアウト後任意区域ネットリスト1cと、任意区域外クロックパス込みの任意区域ネットリスト1dと、任意区域内回路遅延時間情報1eと、遅延解析情報10とが記憶されている。
チップネットリスト1aは、チップ全面の全てのセルに対する配置・配線処理完了後、レイアウトツールから出力されたネットリストである。記憶装置1はチップネットリスト1aを予め記憶している。
任意区域ネットリスト1bは、チップネットリスト1aから任意区域の回路として切り出された状態を示すネットリストであり、任意区域切り出し部28により出力される。
レイアウト後任意区域ネットリスト1cは、任意区域ネットリスト1bに修正レイアウト処理が行われた後の状態を示すネットリストであり、レイアウト部24により出力される。
任意区域外クロックパス込みの任意区域ネットリスト1dは、チップネットリスト1aから対象任意区域に関係するクロックパス記述を抜き出し、レイアウト後任意区域ネットリスト1cにマージした状態を示すネットリストであり、ネットリストマージ部25により出力される。
任意区域内回路遅延時間情報1eは、遅延時間算出部26により算出された、任意区域内回路のネットワーク毎の配線遅延時間やゲート遅延時間の情報である。記憶装置1のその他の要素については、図4に示された第1の実施の形態と同様である。
データ処理装置2は、任意区域切り出し部28と、レイアウト部24と、ネットリストマージ部25と、遅延時間算出部26と、CRPR考慮遅延解析部27とを含む。
任意区域切り出し部28は、チップネットリスト1aに基づき、任意区域内部の回路を切り出した状態を示す任意区域ネットリスト1bを出力する。データ処理装置2のその他の要素については、図4に示された第1の実施の形態と同様である。
次に、本発明の第1の実施の形態の変形例の動作について図面を参照して説明する。
図13は、CRPRを考慮した任意区域の遅延解析を示したフローチャートである。
ステップS21:任意区域切り出し部28に、チップネットリスト1aが入力され、任意区域内部の回路を切り出した任意区域ネットリスト1bが出力される。図14は、ステップS21の任意区域切り出し処理を示す図である。チップネットリスト1aはチップレイアウト処理まで行われているため、任意区域切り出し部28は物理的にチップネットリスト1aのクロックパスを知ることができる。そのため、任意区域切り出し部28はそのクロックパスと任意区域境界の交差点に任意区域の外部クロック端子を発生させて、その任意区域の外部クロック端子を含んだ任意区域を切り出す。外部クロック端子の切り出し処理以外の処理については、特開2007−257293号公報などを参照できる。
ステップS22:レイアウト部24に任意区域ネットリスト1bが入力され、レイアウト部24がレイアウト処理を行い、レイアウト後任意区域ネットリスト1cを出力する。レイアウト部24を含むステップ22の詳細については、特開2005−284826号公報、特開2007−34668号公報、特開2000−242675号公報などを参照できる。
ステップS23:ネットリストマージ部25に、レイアウト後任意区域ネットリスト1c、チップネットリスト1aが入力され、ネットリストマージ部25がネットリストマージ処理を行う。ネットリストマージ部25に、レイアウト後任意区域ネットリスト1cとチップネットリスト1aが入力される。ネットリストマージ部25はチップネットリスト1aから、任意区域の外側にあるクロックソース(PLL回路)から処理対象任意区域内に分配されているクロックパスの記述をコピーする。ネットリストマージ部25は任意区域ネットリストのクロックパス記述をコピーしたクロックパス記述に置き換える。これにより、ネットリストマージ部25は任意区域の外側にあるクロックソース(PLL回路)から任意区域内のFFまでのクロックパスを含んだ任意区域外クロックパス込み任意区域ネットリストを出力する。具体的な処理については、マクロと任意区域、グローバルクロック分配後トップネットリストとチップネットリスト、が異なるのみで、図4に示した実施の形態1のステップS15と同様である。
ステップS24:遅延時間算出部26に、任意区域外クロックパス込みの任意区域外ネットリスト1dが入力され、遅延時間算出部26はセルライブラリ17を参照してRCシミュレーションによる遅延計算を行い、任意区域内回路遅延時間情報を出力する。遅延時間算出部26を含むステップS24の詳細については、特開2001−273338号公報、特開2000−259686号公報、特開2000−305966号公報、特開2000−250950号公報などを参照できる。
ステップS25:CRPR考慮遅延解析部27に、任意区域外クロックパス込みの任意区域ネットリスト1dとグローバルクロックパス遅延時間情報13が入力される。CRPR考慮遅延解析部27は、任意区域外クロックパス込みの任意区域ネットリスト1dにグローバルクロックパス遅延時間情報13を割り当てる。さらに、CRPR考慮遅延解析部27に、ステップS24で得られた任意区域内回路遅延時間情報1eが入力され、CRPR考慮遅延解析部27は任意区域外クロックパス込みの任意区域ネットリスト1dに任意区域内のネットワーク毎の配線遅延時間情報やゲート遅延時間情報が割り当てられる。
ステップS26:CRPR考慮遅延解析部27は、ステップS25で得られた遅延時間情報が割り当てられた任意区域外クロックパス込みの任意区域ネットリスト1dと、遅延制約情報19とから、CRPRを考慮した遅延解析を行う。任意区域外クロックパス込みの任意区域ネットリスト1dを読み込むことで、任意区域外のクロックパスの共通ポイント(重複箇所)を認識できるので、CRPR考慮遅延解析部27はCRPRを考慮したクロックスキューの算出することができる。CRPR考慮遅延解析部27は、このクロックスキューを使用して、CRPRを考慮して遅延解析を行い、遅延解析情報10を出力する。以上により、遅延解析装置200はCRPRを考慮した任意区域の遅延解析を終了する。
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。第2の実施の形態では、後述するように、遅延解析部は、マクロ内回路遅延時間情報18と、レイアウト後マクロネットリスト15とを基に、マクロ内外のクロックパスの重複箇所である共通ポイントを除いてマクロ内部のクロックスキューを算出する。そして、CRPR考慮遅延解析部27が、マクロ外部の共通ポイントを除いて算出されたマクロ外部のクロックスキューと、マクロ内部のクロックスキューとを足し合わせてマクロ内外のクロックパスのクロックスキューを算出する。
図15は、本発明の遅延解析装置の第2の実施の形態を示す図である。
遅延解析装置200は、プログラム制御により動作するデータ処理装置2と、ハードディスク等の記憶装置1とを含む。
記憶装置1には、トップネットリスト11と、セルライブラリ17と、遅延制約情報19とが記憶されている。更に、記憶装置1には、出力情報として、グローバルクロック分配後ネットリスト12と、マクロ切り出し後トップネットリスト1fと、グローバルクロックパス遅延時間情報13と、クロックスキューテーブル1gと、マクロネットリスト14と、レイアウト後マクロネットリスト15と、マクロ内回路遅延時間情報18と、遅延解析情報10とが記憶されている。
図17は、マクロ切り出し後トップネットリスト1fを示す図である。マクロ切り出し後トップネットリスト1fは、マクロ切り出し部23によりグローバルクロック分配後トップネットリスト12からマクロが切り出された後のトップネットリストである。
クロックスキューテーブル1gは、クロックスキューテーブル作成部29により作成された、同一マクロの外部クロック端子ペア毎の、CRPRを考慮した(マクロ外部の共通ポイントを除いて算出された)クロックスキューを格納したテーブルである。記憶装置1のその他の要素については、図4に示された第1の実施の形態と同様である。
データ処理装置2は、グローバルクロック分配部21と、遅延時間算出部22と、マクロ切り出し部23と、レイアウト部24と、クロックスキューテーブル作成部29と、遅延時間算出部26と、CRPR考慮遅延解析部27とを含む。
マクロ切り出し部23は、グローバルクロック分配後ネットリスト12に基づき、マクロ内部の回路を切り出した状態を示すマクロネットリスト14と、マクロ切り出し後トップネットリスト1fとを出力する。
クロックスキューテーブル作成部29は、マクロ切り出し後トップネットリスト1fと、グローバルクロックパス遅延時間情報13とに基づいて、CRPRを考慮して(共通ポイントを除いて)マクロ切り出し後トップネットリストのクロックスキューの計算を行う。そして、クロックスキューテーブル作成部29は、同一マクロの外部クロック端子ペア毎のテーブルを作成し、クロックスキューテーブル1gとして出力する。
CRPR考慮遅延解析部27は、前述の遅延解析部270の一例である。CRPR考慮遅延解析部27は、レイアウト後マクロネットリスト15と、クロックスキューテーブル1gと、マクロ内回路遅延時間情報18と、遅延制約情報19とを参照して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出を行う。そして、CRPR考慮遅延解析部27は、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、これらの算出結果等を遅延解析情報10として出力する。
クロックスキューの算出では、CRPR考慮遅延解析部27は、マクロ外クロックパスについてはクロックスキューテーブルを参照してCRPRを考慮したクロックスキューを取得する。マクロ内の回路については、CRPR考慮遅延解析部27は、マクロ内で見えている共通ポイントについてのCRPRを考慮して(クロックパスの重複箇所である共通ポイントを除いて)クロックスキューを算出する。そして、CRPR考慮遅延解析部27は、これらを足し合わせたクロックスキューを用いてクロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行う。データ処理装置2のその他の要素については、図4に示された実施例と同様である。
次に、本発明の第2の実施の形態の動作について図面を参照して詳細に説明する。図16は、CRPRを考慮したマクロの遅延解析を示したフローチャートである。ステップS31〜ステップS32は、既に説明した第1の実施の形態のステップS11〜ステップS12と同様である。
ステップS33:マクロ切り出し部23にグローバルクロック分配後トップネットリスト12が入力される。そして、マクロ切り出し部23は、マクロ内部の回路を切り出したマクロネットリスト14(図7)と、マクロ切り出し後トップネットリスト1f(図17)を出力する。ステップS31でチップ全面へのクロック分配が行われ、物理的にクロックパスが分配されている。マクロ切り出し部23は、そのクロックパスとマクロ境界の交差点にマクロの外部クロック端子を発生させて、そのマクロの外部クロック端子を含むマクロを切り出す。クロック端子の切り出し処理以外の処理については、特開2008−9787号公報、特開2005−235804号公報などを参照できる。
ステップS34:クロックスキューテーブル作成部29に、マクロ切り出し後トップネットリスト1fと、グローバルクロックパス遅延時間情報13が入力される。そして、クロックスキューテーブル作成部29はクロックスキューテーブル作成処理を行う。ステップS34−1〜S34−3に区分して、具体的な処理を説明する。
ステップS34−1:クロックスキューテーブル作成部29に、マクロ切り出し後トップネットリスト1f、グローバルクロックパス遅延時間情報13が入力される。クロックスキューテーブル作成部29は、マクロ切り出し後トップネットリスト1fにグローバルクロックパス遅延時間情報13を割り当てる。クロックスキューテーブル作成部29は、このグローバルクロックパス遅延時間情報13の割り当てを、マクロ切り出し後トップネットリスト1fに存在しているセルやネットにのみ行う。つまり、クロックスキューテーブル作成部29は、マクロ内のセルやネットに対しては、遅延時間の割り当てを行わない。
ステップS34−2:クロックスキューテーブル作成部29は、同一マクロの各外部クロック端子を対象として、CRPRを考慮したクロックスキューを算出する。
ステップS34−3:クロックスキューテーブル作成部29は、ステップS34−2で算出した、同一マクロの各外部クロック端子を対象とした、CRPRを考慮したクロックスキューからクロックスキューテーブル1gを作成する。そして、クロックスキューテーブル作成部29は、クロックスキューテーブル1gを出力する。クロックスキューテーブル1gの1例として、図17のマクロbのクロックスキューテーブルを図18に示す。例えば、CRPR考慮遅延解析部17が、このテーブルからマクロbの外部クロック端子54aを始点のクロック端子、外部クロック端子54bを終点のクロック端子とするパスのクロックスキューを参照した場合、クロックスキューは120である。
ステップS35、ステップS36は、図5に示された実施例のステップS14、ステップS16と同様である。
ステップS37:CRPR考慮遅延解析部27に、レイアウト後マクロネットリスト15と、マクロ内回路遅延時間情報18と、クロックスキューテーブル1gとが入力される。そして、CRPR考慮遅延解析部27はCRPRを考慮した遅延解析を行う。CRPR考慮遅延解析部27は、マクロ内のクロックパスについては、マクロ内で見えている共通ポイントについてのCRPRを考慮してクロックスキューを算出する。マクロ外のクロックパスについては、ステップS34で作成したクロックスキューテーブル1gを参照することで、CRPRを考慮したクロックスキューを取得する。CRPR考慮遅延解析部27は、こうして得られたマクロ内のクロックスキューとマクロ外のクロックスキューを足し合わせたクロックスキューを遅延解析時に使用することで、マクロの内と外の両方のクロックパスについてCRPRを考慮した遅延解析を行い、遅延解析情報10を出力する。以上により、遅延解析装置200はCRPRを考慮したマクロbの遅延解析を終了する。
次に、本発明の第2の実施の形態の変形例について図面を参照して詳細に説明する。図19は、第2の実施の形態の変形例を示す図である。本変形例は、第2の実施の形態と比較して、マクロではなく任意区域を対象とし、グローバルクロック分配後トップネットリスト12ではなくチップネットリスト1aを対象としている点が異なる。
図19に示すように、遅延解析装置200は、プログラム制御により動作するデータ処理装置2と、ハードディスク等の記憶装置1とを含む。
記憶装置1には、トップネットリスト1aと、グローバルクロックパス遅延時間情報13と,セルライブラリ17と、遅延制約情報19とが記憶されている。更に記憶装置1には、出力情報として、任意区域切り出し後チップネットリスト1hと、グローバルクロックパス遅延時間情報13と、クロックスキューテーブル1gと、任意区域ネットリスト1bと、レイアウト後任意区域ネットリスト1cと、任意区域内回路遅延時間情報1eと、遅延解析情報10とが記憶されている。
任意区域切り出し後チップネットリスト1hは、任意区域切り出し部28によりチップネットリスト1aから任意区域が切り出された後のチップネットリストである。図21は、任意区域切り出し後チップネットリスト1hを示す図である。
クロックスキューテーブル1gは、クロックスキューテーブル作成部29により作成された、同一任意区域の外部クロック端子ペア毎の、CRPRを考慮したクロックスキューを保持したテーブルである。記憶装置1のその他の要素については、図12に示された解決部2の実施例と同様である。
データ処理装置2は、グローバルクロック分配部21と、遅延時間算出部22と、任意区域切り出し部28と、レイアウト部24と、クロックスキューテーブル作成部29と、遅延時間算出部26と、CRPR考慮遅延解析部27とを含む。
任意区域切り出し部23は、チップネットリスト1aに基づき、任意区域内部の回路を切り出した状態を示す任意区域ネットリスト14と、任意区域切り出し後チップネットリスト1hとを出力する。
クロックスキューテーブル作成部29は、任意区域切り出し後チップネットリスト1hと、グローバルクロックパス遅延時間情報13とに基づいて、グローバルクロックパス遅延時間情報を用いて、任意区域切り出し後チップネットリストのCRPRを考慮して(共通ポイントを除いて)クロックスキューの計算を行う。そして、クロックスキューテーブル作成部29は、任意区域の外部クロック端子ペア毎のテーブルを作成し、クロックスキューテーブル1gとして出力する。
CRPR考慮遅延解析部27は、レイアウト後任意区域ネットリスト15と、クロックスキューテーブル1gと、任意区域内回路遅延時間情報1eと、遅延制約情報19とを参照して、信号パスの遅延時間の算出、クロックパスの遅延時間の算出、クロックスキューの算出を行う。そして、CRPR考慮遅延解析部27は、クロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行い、これらの算出結果等を遅延解析情報10として出力する。
クロックスキューの算出では、CRPR考慮遅延解析部27は、任意区域外クロックパスについてはクロックスキューテーブルを参照してCRPRを考慮したクロックスキューを取得する。任意区域内の回路については、CRPR考慮遅延解析部27は、任意区域内で見えている共通ポイントについてのCRPRを考慮して(クロックパスの重複箇所である共通ポイントを除いて)クロックスキューを算出する。そして、CRPR考慮遅延解析部27は、これらを足し合わせたクロックスキューを用いてクロックパス遅延時間と信号パス遅延時間が遅延制約を満たしているかのチェックを行う。データ処理装置2のその他の要素については、図12に示された実施例と同様である。
次に、本発明の第2の実施の形態の変形例の動作について図面を参照して詳細に説明する。図20は、CRPRを考慮したマクロの遅延解析を示したフローチャートである。
ステップS41:任意区域切り出し部28に、チップネットリスト1aが入力される。そして、任意区域切り出し部28は、任意区域内部の回路を切り出した任意区域ネットリスト1b(図14)と、任意区域切り出し後チップネットリスト1h(図21)を出力する。チップネットリスト1aはチップレイアウト処理まで行われているため、任意区域切り出し部28は、物理的にクロックパスを知ることができる。そのため、任意区域切り出し部28は、そのクロックパスと任意区域境界の交差点に任意区域の外部クロック端子を発生させ、その任意区域の外部クロック端子を含む任意区域を切り出す。クロック端子の切り出し処理以外の処理については、特開2008−9787号公報、特開2005−235804号公報などを参照できる。
ステップS42:クロックスキューテーブル作成部29に、任意区域切り出し後チップネットリスト1hとグローバルクロックパス遅延時間情報13が入力される。そして、クロックスキューテーブル作成部29はクロックスキューテーブル作成処理を行う。具体的な処理については、マクロと任意区域、トップネットリストとチップネットリスト、が異なるのみで、図16に示された実施例説明のステップS34と同様である。
ステップS43、ステップS44は、図13に示された実施例のステップS22、ステップS24と同様である。
ステップS45:CRPR考慮遅延解析部27に、レイアウト後任意区域ネットリスト1cと、任意区域内回路遅延時間情報1eと、クロックスキューテーブル1gとが入力される。そして、CRPR考慮遅延解析部27は、CRPRを考慮した遅延解析を行う。任意区域内のクロックパスについては、CRPR考慮遅延解析部27は、任意区域内で見えている共通ポイントについてのCRPRを考慮してクロックスキューを算出する。任意区域外のクロックパスについては、CRPR考慮遅延解析部27は、ステップS42で作成したクロックスキューテーブル1gを参照することで、CRPRを考慮したクロックスキューを取得する。CRPR考慮遅延解析部27は、こうして得られた任意区域内のクロックスキューと任意区域外のクロックスキューを足し合わせたクロックスキューを遅延解析時に使用することで、任意区域の内と外の両方のクロックパスについてCRPRを考慮した遅延解析を行い、遅延解析情報10を出力する。具体的な処理については、マクロと任意区域が異なるのみで、図16に示された実施例説明のステップS37と同様である。以上により、遅延解析装置200はCRPRを考慮した任意区域の遅延解析を終了する。
トップ分配後のLSIを示した図である。 トップ分配又はマクロ分配後のLSIを示した図である。 クロックスキュー算出における、CRPR考慮した場合としなかった場合の比較を示す図である。 本発明の遅延解析装置の概要を示す図である。 本発明の遅延解析装置の第1の実施の形態を示す図である。 CRPRを考慮したマクロの遅延解析を示したフローチャートである ステップS11のグローバルクロック分配処理を示す図である。 ステップS13のマクロ切り出し処理を示す図である。 遅延解析対象のマクロbのレイアウト後マクロネットリストを示す。 ステップS15−1のクロックツリー末端ドライバより前のクロックパスの記述の削除を示す図である。 ステップS15−2における、PLL回路からクロックツリー末端ドライバ手前までのクロックパスの記述のコピーを示す図である。 マクロ外クロックパス込みマクロネットリストを示す。 第1の実施の形態の変形例を示す図である。 CRPRを考慮した任意区域の遅延解析を示したフローチャートである。 ステップS21の任意区域切り出し処理を示す図である。 本発明の遅延解析装置の第2の実施の形態を示す図である。 CRPRを考慮したマクロの遅延解析を示したフローチャートである。 マクロ切り出し後トップネットリスト1fを示す図である。 図17のマクロbのクロックスキューテーブルを示す図である。 第2の実施の形態の変形例を示す図である。 CRPRを考慮したマクロの遅延解析を示したフローチャートである。 任意区域切り出し後チップネットリスト1hを示す図である。
符号の説明
m1,m2,m3 マクロ
c1,c2 クロックパス
1 記憶装置
1a チップネットリスト
1b 任意区域ネットリスト
1c レイアウト後任意区域ネットリスト
1d 任意区域外クロックパス込みの任意区域ネットリスト
1e 任意区域内回路遅延時間情報
1f マクロ切り出し後トップネットリスト
1g クロックスキューテーブル
1h 任意区域切り出し後チップネットリスト
2 データ処理装置
10 遅延解析情報
11 トップネットリスト
12 グローバルクロック分配後トップネットリスト
13 グローバルクロックパス遅延時間情報
14 マクロネットリスト
15 レイアウト後マクロネットリスト
16 マクロ外クロックパス込みのマクロネットリスト
17 セルライブラリ
18 マクロ内回路遅延時間情報
19 遅延制約情報
21 グローバルクロック分配部
22 遅延時間算出部
23 マクロ切り出し部
24 レイアウト部
25 ネットリストマージ部
26 遅延時間算出部
27 CRPR考慮遅延解析部
28 任意区域切り出し部
29 クロックスキューテーブル作成部
51a,51b,51c,51d,51e,51f,51g,51h セル
52a,52b,52c セル
52d,52e,52f,52g クロックツリー末端ドライバ
53a,53b,53c,53d FF
54a,54b,54c 外部入力端子
55a クロック配線分岐点
56a 一般信号配線
61a,61b,61c,61d,61e,61f,61g,61h,61i,61j,61k,61l,61m セル
62a,62b,62c セル
65a,65b,65c,65d,65e,65f クロック配線分岐点
66a PLL
200 遅延解析装置
270 遅延解析部

Claims (9)

  1. 電子回路の一部領域内外のクロックパス情報を包含するグローバルクロックリストおよび前記一部領域内の回路レイアウト後のネットリストであるレイアウト後領域ネットリストを格納する記憶装置と、前記グローバルクロックリストと前記レイアウト後領域ネットリストにもとづいて、前記電子回路内の当該一部領域外に存在するクロックソースから前記一部領域内回路上の第1の点に至るクロックパスと第2の点に至るクロックパスの、当該一部領域外に存在する重複箇所の情報を得て、CRPRを考慮したクロックスキューの計算を実行し、算出されたクロックスキューを用いて、前記電子回路のクロックパスまたは信号パスの遅延時間が遅延制約を満たすか否かを判定する遅延解析部を、備える遅延解析装置。
  2. 前記レイアウト後領域ネットリストのクロックツリー末端ドライバと前記一部領域の外周と前記電子回路のクロックパスとの交点に設けられた外部クロック端子の間のクロックパスのクロックパス記述を、前記グローバルクロックリストの前記クロックソースから前記クロックツリー末端ドライバまでのクロックパス記述に置換して、領域外クロックパス込みのマクロネットリストを生成するネットリストマージ部と、前記領域外クロックパス込みのマクロネットリストに基づいて前記一部領域内回路の遅延時間を計算して、領域内回路遅延時間情報を出力する遅延時間算出部と、前記領域内回路遅延時間情報と前記領域外クロックパス込みのマクロネットリストにもとづいて、前記CRPRを考慮したクロックスキューの計算を実行して、算出されたクロックスキューを用いて、前記電子回路のクロックパスまたは信号パスの遅延時間が遅延制約を満たすか否かを判定するCRPRベース遅延解析部を包含する前記遅延解析部を備える、請求項1の遅延解析装置。
  3. 前記グローバルクロックリストから前記一部領域のクロックパスを除いて領域切り出し後グローバルリストを作成する一部領域切り出し部と、前記電子回路の遅延時間情報と前記領域切り出し後グローバルリストに基づいて、前記クロックソースから前記一部領域の外周と前記電子回路のクロックパスとの交点に設けられた各外部クロック端子ペアの一方に至るクロックパスと前記外部クロック端子ペアの他方に至るクロックパスの重複箇所の情報を得て、前記CRPRを考慮したクロックスキューの計算を実行して、外部端子ペアごとのクロックスキューを格納するクロックスキューテーブルを作成するクロックスキューテーブル作成部と、前記レイアウト後領域ネットリストに基づいて前記一部領域内回路の遅延時間を計算して、領域内回路遅延時間情報を出力する遅延時間算出部と、前記領域内回路遅延時間情報から、前記一部領域内回路上の第1の点と外部クロック端子ペアの一方の間のクロックパスの遅延時間及び前記一部領域内回路上の第2の点と外部クロック端子ペアの他方の間のクロックパスの遅延時間情報を取得し、前記クロックスキューテーブルから前記外部クロック端子ペア間のクロックスキューを取得して、3者に基づいて前記一部領域内回路上の第1の点と第2の点の間のクロックスキューを計算して、算出したクロックスキューを用いて、前記電子回路のクロックパスまたは信号パスの遅延時間が遅延制約を満たすか否かを判定するCRPRベース遅延解析部を包含する前記遅延解析部を、備える請求項1の遅延解析装置。
  4. 前記一部領域がマクロとして配置されかつプリミティブセルが配置されたトップネットリストを入力して、前記マクロ内外にクロックを分配してグローバルクロック分配後トップネットリストを生成して、前記グローバルクロックリストとして前記記憶装置に格納するグローバルクロック分配部と、前記グローバルクロック分配後トップネットリストから前記マクロ部分のクロックパスを切り出すマクロ切り出し部と、切り出された前記マクロ部分に、回路レイアウトを実施してレイアウト後マクロネットリストを生成して、前記レイアウト後領域ネットリストとして前記記憶装置に格納するレイアウト部を備える、請求項2の遅延解析装置。
  5. 前記グローバルクロックリストは、前記電子回路の前記一部領域内外にセルの配置および配線処理されたチップネットリストであり、前記チップネットリストから前記一部領域のクロックパスを切り出す一部領域切り出し部と、切り出された前記一部領域に、回路レイアウトを実施してレイアウト後マクロネットリストを生成して、前記レイアウト後領域ネットリストとして前記記憶装置に格納するレイアウト部を備える、請求項2の遅延解析装置。
  6. 前記一部領域がマクロとして配置されかつプリミティブセルが配置されたトップネットリストを入力して、前記マクロ内外にクロックを分配してグローバルクロック分配後トップネットリストを生成して、前記グローバルクロックリストとして前記記憶装置に格納するグローバルクロック分配部と、前記グローバルクロック分配後トップネットリストから前記マクロ部分のクロックパスを切り出す前記一部領域切り出し部と、前記グローバルクロック分配後トップネットリストから前記電子回路の遅延情報を算出する遅延情報算出部と、切り出された前記マクロ部分に、回路レイアウトを実施してレイアウト後マクロネットリストを生成して、前記レイアウト後領域ネットリストとして前記記憶装置に格納するレイアウト部を備える、請求項3の遅延解析装置。
  7. 前記グローバルクロックリストは、前記電子回路の前記一部領域内外にセルの配置および配線処理されたチップネットリストであり、
    前記記憶装置は、前記電子回路の遅延時間情報であるグローバルクロックパス遅延時間情報を格納し、前記グローバルクロック分配後トップネットリストから前記一部領域のクロックパスを切り出す前記一部領域切り出し部と、切り出された前記一部領域に、回路レイアウトを実施してレイアウト後マクロネットリストを生成して、前記レイアウト後領域ネットリストとして前記記憶装置に格納するレイアウト部を備える、請求項3の遅延解析装置。
  8. 記憶装置を備えるコンピュータが、電子回路の一部領域内外のクロックパス情報を包含するグローバルクロックリストおよび前記一部領域内の回路レイアウト後のネットリストであるレイアウト後領域ネットリストを前記記憶装置に記憶し、前記グローバルクロックリストと前記レイアウト後領域ネットリストにもとづいて、前記電子回路内の当該一部領域外に存在するクロックソースから前記一部領域内回路上の第1の点に至るクロックパスと第2の点に至るクロックパスの、当該一部領域外に存在する重複箇所の情報を得て、CRPRを考慮したクロックスキューの計算を実行し、算出されたクロックスキューを用いて、前記電子回路のクロックパスまたは信号パスの遅延時間が遅延制約を満たすか否かを判定する、遅延解析方法。
  9. 電子回路の一部領域内外のクロックパス情報を包含するグローバルクロックリストおよび前記一部領域内の回路レイアウト後のネットリストであるレイアウト後領域ネットリストを格納する記憶処理と、前記グローバルクロックリストと前記レイアウト後領域ネットリストにもとづいて、前記電子回路内の当該一部領域外に存在するクロックソースから前記一部領域内回路上の第1の点に至るクロックパスと第2の点に至るクロックパスの、当該一部領域外に存在する重複箇所の情報を得て、CRPRを考慮したクロックスキューの計算を実行し、算出されたクロックスキューを用いて、前記電子回路のクロックパスまたは信号パスの遅延時間が遅延制約を満たすか否かを判定する遅延解処理を、コンピュータに実行させる遅延解析プログラム。
JP2008211549A 2008-08-20 2008-08-20 遅延解析装置、遅延解析方法、及びプログラム Expired - Fee Related JP4706738B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008211549A JP4706738B2 (ja) 2008-08-20 2008-08-20 遅延解析装置、遅延解析方法、及びプログラム
US12/537,133 US8171440B2 (en) 2008-08-20 2009-08-06 Timing analyzing apparatus, timing analyzing method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008211549A JP4706738B2 (ja) 2008-08-20 2008-08-20 遅延解析装置、遅延解析方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010049386A JP2010049386A (ja) 2010-03-04
JP4706738B2 true JP4706738B2 (ja) 2011-06-22

Family

ID=41697496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008211549A Expired - Fee Related JP4706738B2 (ja) 2008-08-20 2008-08-20 遅延解析装置、遅延解析方法、及びプログラム

Country Status (2)

Country Link
US (1) US8171440B2 (ja)
JP (1) JP4706738B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8689158B2 (en) * 2010-11-11 2014-04-01 International Business Machines Corporation System and method for performing static timing analysis in the presence of correlations between asserted arrival times
CN102955869B (zh) 2011-08-30 2015-04-08 国际商业机器公司 评估时钟偏移的方法和装置
JP5447547B2 (ja) * 2012-02-02 2014-03-19 日本電気株式会社 マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
US8843872B1 (en) * 2013-03-15 2014-09-23 Synopsys, Inc. Automatic clock tree synthesis exceptions generation
US10223493B1 (en) 2016-06-28 2019-03-05 Altera Corporation Dynamic tag allocation for clock reconvergence pessimism removal
US11914939B1 (en) * 2020-08-07 2024-02-27 Synopsys, Inc. Clock re-convergence pessimism removal through pin sharing during clock tree planning

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337844A (ja) * 2002-05-21 2003-11-28 Matsushita Electric Ind Co Ltd 遅延調整方法および遅延値計算方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211872A (ja) * 1990-03-19 1992-08-03 Nec Corp 論理回路のタイミング検証方法
US5475830A (en) * 1992-01-31 1995-12-12 Quickturn Design Systems, Inc. Structure and method for providing a reconfigurable emulation circuit without hold time violations
US5452239A (en) * 1993-01-29 1995-09-19 Quickturn Design Systems, Inc. Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US5648913A (en) * 1993-03-29 1997-07-15 Xilinx, Inc. Frequency driven layout system and method for field programmable gate arrays
US5774371A (en) * 1994-08-03 1998-06-30 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit and layout designing method for the same
US6301553B1 (en) * 1996-05-31 2001-10-09 Luc M. Burgun Method and apparatus for removing timing hazards in a circuit design
US6086621A (en) * 1998-05-12 2000-07-11 Vsli Technology, Inc. Logic synthesis constraints allocation automating the concurrent engineering flows
US6223329B1 (en) * 1998-06-17 2001-04-24 Prosper Design Systems Pte. Ltd. Hybrid design method and apparatus for computer-aided circuit design
JP3223888B2 (ja) 1998-09-24 2001-10-29 日本電気株式会社 半導体集積回路の配線レイアウト方法及び配線レイアウト装置
JP2000172738A (ja) 1998-12-09 2000-06-23 Nec Corp Lsiの自動レイアウト方法
JP3223902B2 (ja) 1999-02-03 2001-10-29 日本電気株式会社 半導体集積回路の配線方法
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 半導体集積回路の動作タイミング検証方法
US6651230B2 (en) * 2001-12-07 2003-11-18 International Business Machines Corporation Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design
US7805697B2 (en) * 2002-12-06 2010-09-28 Multigig Inc. Rotary clock synchronous fabric
US7240315B1 (en) * 2003-08-29 2007-07-03 Xilinx, Inc. Automated local clock placement for FPGA designs
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 タイミング制約ライブラリの作成方法及び作成システム
US20060080632A1 (en) * 2004-09-30 2006-04-13 Mathstar, Inc. Integrated circuit layout having rectilinear structure of objects
JP2007034668A (ja) 2005-07-27 2007-02-08 Oki Electric Ind Co Ltd レイアウト方法
US7406669B2 (en) * 2005-12-06 2008-07-29 Lsi Corporation Timing constraints methodology for enabling clock reconvergence pessimism removal in extracted timing models
JP4666164B2 (ja) 2006-03-23 2011-04-06 日本電気株式会社 集積回路の階層設計方法および装置
US7676768B1 (en) * 2006-05-19 2010-03-09 Altera Corporation Automatic asynchronous signal pipelining
JP2008009787A (ja) 2006-06-30 2008-01-17 Fujitsu Ltd 階層設計レイアウト装置、および階層設計レイアウト方法、階層設計レイアウトプログラム、および該プログラムを記録した記録媒体
US7480881B2 (en) * 2006-08-18 2009-01-20 Lsi Logic Corporation Method and computer program for static timing analysis with delay de-rating and clock conservatism reduction
US7546567B2 (en) * 2007-01-10 2009-06-09 Synopsys, Inc. Method and apparatus for generating a variation-tolerant clock-tree for an integrated circuit chip
JP2007188517A (ja) 2007-02-26 2007-07-26 Fujitsu Ltd タイミング配分装置
US7509598B1 (en) * 2007-04-19 2009-03-24 Lattice Semiconductor Corporation Clock boosting systems and methods
US7926019B1 (en) * 2008-02-29 2011-04-12 Altera Corporation Common clock path pessimism analysis for circuit designs using clock tree networks
US7765503B2 (en) * 2008-02-29 2010-07-27 Oracle America, Inc. Half cycle common path pessimism removal method
US8099702B2 (en) * 2008-07-30 2012-01-17 Synopsys, Inc. Method and apparatus for proximate placement of sequential cells
US7941774B2 (en) * 2008-08-04 2011-05-10 Texas Instruments Incorporated Partial timing modeling for gate level simulation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337844A (ja) * 2002-05-21 2003-11-28 Matsushita Electric Ind Co Ltd 遅延調整方法および遅延値計算方法

Also Published As

Publication number Publication date
US8171440B2 (en) 2012-05-01
JP2010049386A (ja) 2010-03-04
US20100050141A1 (en) 2010-02-25

Similar Documents

Publication Publication Date Title
US8015522B2 (en) System for implementing post-silicon IC design changes
US8239795B2 (en) Timing analyzing system for clock delay
JP4706738B2 (ja) 遅延解析装置、遅延解析方法、及びプログラム
US9009645B2 (en) Automatic clock tree routing rule generation
JP4540540B2 (ja) 遅延計算装置
US7367005B2 (en) Method and apparatus for designing a layout, and computer product
JP4918934B2 (ja) 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム
US10509882B2 (en) Systems and methods for cell abutment
JP2006155120A (ja) 配線方法、プログラム及び装置
JP5444985B2 (ja) 情報処理装置
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
US20090064079A1 (en) Apparatus and method for circuit layout
US11270052B2 (en) System and method of timing characterization for semiconductor circuit
JP2009076679A (ja) 設計支援プログラム、該プログラムを記録したコンピュータに読み取り可能な記録媒体、設計支援装置、および設計支援方法
US10255396B2 (en) Graphical analysis of complex clock trees
JPWO2008114397A1 (ja) 半導体集積回路の設計方法およびその設計装置
US10534889B2 (en) Determining ECO aggressor nets during incremental extraction
JP5245861B2 (ja) 半導体集積回路の設計装置、その設計方法、プログラム及び記録媒体
Alpert et al. Physical synthesis comes of age
Liao et al. An Improved ASIC/SOC Design Methodology for Quick Design Convergence
Braasch et al. Model-based verification and analysis for 65/45nm physical design
JP2009199466A (ja) タイミング制約生成方法及びタイミング制約生成装置
JP2005302062A (ja) 大規模回路のレイアウト方法
JP2010271853A (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP2001044287A (ja) 半導体集積回路及び半導体集積回路の設計方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

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: 20110215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110228

R150 Certificate of patent or registration of utility model

Ref document number: 4706738

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees