JP2006235889A - タイミング解析方法 - Google Patents
タイミング解析方法 Download PDFInfo
- Publication number
- JP2006235889A JP2006235889A JP2005048163A JP2005048163A JP2006235889A JP 2006235889 A JP2006235889 A JP 2006235889A JP 2005048163 A JP2005048163 A JP 2005048163A JP 2005048163 A JP2005048163 A JP 2005048163A JP 2006235889 A JP2006235889 A JP 2006235889A
- Authority
- JP
- Japan
- Prior art keywords
- path
- clock
- delay variation
- data
- delay
- 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
Links
Images
Abstract
【課題】 データパスとクロックパスの遅延バラツキに対するマージンをとってタイミング解析を行う際に、過剰マージンが設定されないようにする。
【解決手段】 データパスの経路中の各セルのチップ上の配置領域の広さに応じてそのデータパスの遅延バラツキのマージン係数を決定し、且つクロックパスの経路中の各セルのチップ上の配置領域の広さに応じてそのクロックパスの遅延バラツキのマージン係数を決定する。
【選択図】 図1
【解決手段】 データパスの経路中の各セルのチップ上の配置領域の広さに応じてそのデータパスの遅延バラツキのマージン係数を決定し、且つクロックパスの経路中の各セルのチップ上の配置領域の広さに応じてそのクロックパスの遅延バラツキのマージン係数を決定する。
【選択図】 図1
Description
本発明は、データパスの遅延バラツキとクロックパスの遅延バラツキとを考慮して所定のラッチ手段へのデータ入力とクロック入力のタイミング解析を行う方法に関するものである。
半導体チップ内に点在する同種類の複数のセルに同じ鈍りの信号が入力されたとき、それらのセルが同じ配線負荷を駆動している場合には、遅延計算値(バラツキを考慮しない設計における計算値、以下同じ)は全く同じであるが、実際の半導体チップでは、チップ内の各セルのトランジスタのでき具合(プロセスバラツキ)や供給電圧の違いによって、その遅延にバラツキが発生する。
この遅延バラツキをマージンとして考慮し、所定のラッチ手段へのデータ入力とクロック入力のタイミング解析を行うものとして、On Chip Variation(チップ内バラツキ)タイミング解析という手法がある(例えば、特許文献1参照)。図5はこれを説明するためのモデル回路の回路図である。図5において、1,2はデータのラッチ手段としてのフリップフロップ、3は複数の入力データから1つのデータを生成して出力する組み合わせ論理回路(図5では入力データは1つのみを示した。)、4〜6はクロックバッファ(クロックドライバ)である。
この図5に示したモデル回路は、入力クロックCLKが分岐ポイントP0で分岐して、一方はデータ転送を行うフリップフロップ1のクロック入力ピンに入力し、他方は該フリップフロップ1の出力データを組み合わせ論理回路3で処理したデータを入力するフリップフロップ2のクロック入力ピンに入力する。フリップフロップ1のデータ入力ピンにはデータDATAが入力する。P1はデータパス(Launch Path)、P2はクロックパス(Capture Path)である。
このようなモデル回路について、フリップフロップ2におけるホールドタイムの解析を行う際は、クロック分岐ポイントP0からフリップフロップ2のデータ入力ピンまでのデータパスP1の遅延計算値と、同フリップフロップ2のクロック入力ピンまでのクロックパスP2の遅延計算値に対して、それぞれ所定の遅延バラツキのマージン係数Kをかけることで最終遅延量を得て、その解析を行う。
なお、上記したホールドタイムとは、図6に示すように、フリップフロップが正常に入力データDATAを読み込むためにクロックCLKの有効なエッジ(図6の場合は立上りエッジ)以後に入力データDATAを保持しなければならない最小時間である。また、後記するセットアップタイムとは、入力データDATAを正常に読み込むためにクロックCLKの有効なエッジ以前に入力データDATAを安定させていなければならない最小時間である。
図5のモデル回路において、クロックCLKの分岐ポイントP0がフリップフロップ2から遠く、その分岐ポイントP0からの遅延が大きいパスほど、その遅延バラツキが大きくなるので、遅延計算値に遅延バラツキのより大きなマージン係数をかけて、タイミング解析が行われる。つまり、大きなマージンを持たせてタイミング収束するよう設計することが要求される。
特開平10−301982号公報
ところが、年々、回路が高速化していくと、セットアップタイムとホールドタイムを同時に満たすことが難しくなる。特に、上記のOn Chip Variationタイミング解析によれば、タイミング収束がさらに難しくなり、最悪では、セットアップタイムとホールドタイムの両方を満たすことができない場合がある。
また、上記のOn Chip Variationタイミング解析のマージン係数は、通常は最悪の場合を想定した係数であり、これは設計に際して同様のパスについて一律に使用される。しかし、実際には、マージン係数がより小さくても大丈夫なパスは存在するが、上記手法では、このようなパスに対して過剰なマージンを設定して解析が行われることになり、設計期間が長くなる場合がある。
本発明の目的は、データパスとクロックパスの遅延バラツキをマージンとしてタイミング解析を行う際に、セルの配置領域の広さに応じてマージン係数を決めることにより、過剰マージンが設定されないようにして、設計期間を短縮できるようにしたタイミング解析方法を提供することである。
上記課題を解決するために、本発明は、クロック分岐ポイントから第1のラッチ手段と組み合わせ論理回路を経由して第2のラッチ手段のデータ入力ピンに至るデータパスの遅延を、当該データパスの遅延計算値に遅延バラツキのマージン係数をかけて得るとともに、前記クロック分岐ポイントから前記第2のラッチ手段のクロック入力ピンに至るクロックパスの遅延を、当該クロックパスの遅延計算値に遅延バラツキのマージン係数をかけて得て、前記第2のラッチ手段の前記データ入力ピンのデータ入力タイミングと前記クロック入力ピンのクロック入力タイミングを解析するタイミング解析方法において、前記データパスの経路中の各セルのチップ上の配置領域の広さに応じて前記データパスの遅延バラツキのマージン係数を決定し、且つ前記クロックパスの経路中の各セルのチップ上の配置領域の広さに応じて前記クロックパスの遅延バラツキのマージン係数を決定することを特徴とする。
ここで、前記データパスおよび前記クロックパスの各々の遅延バラツキのマージン係数の決定は、当該パスの経路中の各セルの配置のX/Y座標を取得する第1のステップと、該得られた各セルのX/Y座標の内から最大座標および最小座標を求める第2のステップと、前記パスの経路中の最大座標および最小座標から前記パスを構成するセルの配置領域の対角線の長さを求める第3のステップと、前記得られた対角線の長さに応じて前記パスの遅延バラツキのマージン係数を決定する第4のステップとを具備するものであることが好ましい。
また、前記第2のラッチ手段でのホールドタイム解析のワースト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1よりも小さい範囲で決定し、前記クロックパスの遅延バラツキのマージン係数を1とし、前記第2のラッチ手段でのホールドタイム解析のベスト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1とし、前記クロックパスの遅延バラツキのマージン係数を1よりも大きい範囲で決定し、前記第2のラッチ手段でのセットアップタイム解析のワースト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1とし、前記クロックパスの遅延バラツキのマージン係数を1よりも小さい範囲で決定し、前記第2のラッチ手段でのセットアップタイム解析のベスト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1より大きい範囲で決定し、前記クロックパスの遅延バラツキのマージン係数を1とすることが望ましい。
本発明によれば、パスの経路中の各セルのチップ上の配置領域の広さに応じて当該パスの遅延バラツキのマージン係数を決定するので、当該パスに最適な遅延バラツキのマージン係数を決定することができ、よって、過剰マージン係数を防止でき、設計期間の短縮が可能となる。
データパスとクロックパスのそれぞれ遅延バラツキの要素としては、半導体チップ内にランダムに発生する要素(例えば、トランジスタのポリシリコンゲート長が周りの他のセルの配置密度に依存して変化することによるもの等)と、半導体チップ内でなだらかに変化する要素(例えば、電圧降下等の要因)がある。後者の要素としては、タイミング解析の対象のパスの経路中の各セルが狭い範囲の領域内に留まっていれば、その遅延バラツキのマージンは小さく見積もっても良く、逆にそのパスの経路中の各セルの配置範囲が広ければ、その遅延バラツキのマージンは大きく見積もる必要がある。
そこで、本発明では、タイミング解析の対象のフリップフロップが含まれるデータパスおよびクロックパスの経路中の各セルの配置領域をチェックし、その配置領域の広さに応じて、データパスの遅延バラツキのマージン係数およびクロックパスの遅延バラツキのマージン係数を決定し、過剰なマージン設定を防止して、設計時間の短縮化を図る。
従来では一律に設定していた半導体チップ内のデータパスの遅延バラツキのマージン係数とクロックパスの遅延バラツキのマージン係数を、本実施例では、そのデータパスの経路中の各セルの配置領域の広さに応じて、またクロックパスの経路中の各セルの配置領域の広さに応じて、それぞれ個別に設定する。以下では、図5に示したモデル回路のパスについて具体的に説明する。図1はその遅延バラツキのマージン係数の決定を行う処理のフローチャートである。
まず、タイミング解析の対象となる2個のフリップフロップ1,2のクロック経路をたどって、それぞれのクロック信号が分岐する分岐ポイントP0を特定する(S1)。
次に、クロック分岐ポイントP0からパスの終点である受け側のフリップフロップ2のデータ入力ピンまでのデータパスP1の経路中の各セルの配置座標X/Yを取得する。同様に、クロック分岐ポイントP0からフリップフロップ2のクロック入力ピンまでのクロックパスP2の経路中の各セルの配置座標のX/Yを取得する。これらの座標は例えば、セルの左下角の座標とする(S2)。
次に、データパスP1、クロックパスP2の各々について、得られた各セルの配置座標X/Yの内から最大座標と最小座標、つまりXmax、YmaxとXmin、Yminを求める(S3)。
次に、データパスP1の配置領域の広さを表現するものとして、配置座標X/Yの最大座標と最小座標から、(Xmax−Xmin)2+(Ymax−Ymin)2の平方根を計算する。これにより求められた値は、当該データパスP1を構成するセルの配置領域の矩形の対角線の長さである。この対角線の長さは、矩形が同じ面積であっても、より縦長、あるいは横長の場合は正方形に比べて大きくなり、配置領域がより広く、遅延バラツキがより大きいことを示している。よって、この対角線の長さを配置領域の広さの評価関数とする。クロックパスP2についても、同様にして当該パスを構成するセルの配置領域の矩形の対角線の長さを求める(S4)。
次に、得られたデータパスP1,クロックパスP2の配置領域の対角線の長さに基づいて、予め登録しておいたライブラリから、それぞれ遅延バラツキのマージン係数を決定する(S5)。
以降では、この遅延バラツキのマージン係数を用いて、データパスP1の最終遅延量、クロックパスP2の最終遅延量を求め、フリップフロップ2の入力側での入力データと入力クロックのタイミング解析を行う。
図2は最終遅延量の変動の特性図である。通常のタイミング解析では、遅延がこれ以上大きくならないワースト条件と、これ以上小さくならないベスト条件を用いて行われる。図2では、ワースト条件は右上のコーナー、ベスト条件は左下のコーナーに当たる。
ここで、半導体チップ内のデータパスP1とクロックパスP2の遅延バラツキを考慮してフリップフロップ2の入力側でのデータとクロックのタイミング解析を行う場合は、例えば、ホールドタイム解析時のワースト条件を例にとると、実チップではデータパスP1もクロックパスP2も遅延が遅延計算値より小さい方にぶれる可能性があり、両者がぶれた場合には相対遅延は小さくなる。しかし、データパスP1の遅延のみが小さくなる方向にぶれると、ホールドタイムの解析は悲観的になる。これは、図2では、(a)の方向にデータパスの遅延のみが小さくなる方向に計算され、解析されることを意味する。この場合は、図3(a)に示すように、データパスP1の遅延バラツキのマージン係数がK1(K1<1)となる。クロックパスP2の遅延バラツキのマージン係数は1である。
一方、ホールドタイム解析時のベスト条件の場合は、クロックパスP2の遅延バラツキが大きくなる方向にぶれた場合である。この場合は、図3(b)に示すように、クロックパス2の遅延バラツキのマージン係数がK2(K2>1)となる。データパスP1の遅延バラツキのマージン係数は1である。
さらに、セットアップタイム解析時のワースト条件の場合は、クロックパスP2の遅延が小さくなる方向にぶれた場合である。この場合は、図3(c)に示すように、データパスP1の遅延バラツキのマージン係数がK3(K3<1)となる。データパスP1の遅延バラツキのマージン係数は1である
さらに、セットアップタイム解析時のベスト条件の場合は、データパスP1の遅延バラツキが大きくなる方向にぶれた場合である。この場合は、図3(d)に示すように、データパスP1の遅延バラツキのマージン係数がK4(K4>1)となる。クロックパスP2の遅延バラツキのマージン係数は1である。
以上のように、フリップフロップ2の入力データと入力クロックのタイミング解析において、ホールドタイムの解析では、ワースト条件でのデータパスP1の遅延バラツキのマージン係数K1と、ベスト条件でのクロックパスP2の遅延バラツキのマージン係数K2が必要となる。また、セットアップタイムの解析では、ワースト条件でのクロックパスP2の遅延バラツキのマージン係数K3と、ベスト条件でのデータパスP1の遅延バラツキのマージン係数K4が必要となる。
そこで、前記した対角線の長さを評価関数Lとして、図4に示すようにマージン係数K1〜K4の組み合わせのテーブルをライブラリに登録しておいて、図1で説明したステップS5によって、対角線の長さLに基づいて、遅延バラツキのマージン係数K1〜K4の最適な組み合わせを読み出し、データパスP1とクロックパスP2の最終遅延量を求めて、フリップフロップ2の入力データと入力クロックのホールドタイムとセットアップタイムのタイミング解析を行う。そして、このタイミング解析の結果に基づいて、ホールドタイムとセットアップタイムが確保されるように回路設計を行う。
Claims (3)
- クロック分岐ポイントから第1のラッチ手段と組み合わせ論理回路を経由して第2のラッチ手段のデータ入力ピンに至るデータパスの遅延を、当該データパスの遅延計算値に遅延バラツキのマージン係数をかけて得るとともに、前記クロック分岐ポイントから前記第2のラッチ手段のクロック入力ピンに至るクロックパスの遅延を、当該クロックパスの遅延計算値に遅延バラツキのマージン係数をかけて得て、前記第2のラッチ手段の前記データ入力ピンのデータ入力タイミングと前記クロック入力ピンのクロック入力タイミングを解析するタイミング解析方法において、
前記データパスの経路中の各セルのチップ上の配置領域の広さに応じて前記データパスの遅延バラツキのマージン係数を決定し、且つ前記クロックパスの経路中の各セルのチップ上の配置領域の広さに応じて前記クロックパスの遅延バラツキのマージン係数を決定することを特徴とするタイミング解析方法。 - 請求項1に記載のタイミング解析方法において、前記データパスおよび前記クロックパスの各々の遅延バラツキのマージン係数の決定は、
当該パスの経路中の各セルの配置のX/Y座標を取得する第1のステップと、
該得られた各セルのX/Y座標の内から最大座標および最小座標を求める第2のステップと、
前記パスの経路中の最大座標および最小座標から前記パスを構成するセルの配置領域の対角線の長さを求める第3のステップと、
前記得られた対角線の長さに応じて前記パスの遅延バラツキのマージン係数を決定する第4のステップとを具備することを特徴とするタイミング解析方法。 - 請求項1又は2に記載のタイミング解析方法において、
前記第2のラッチ手段でのホールドタイム解析のワースト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1よりも小さい範囲で決定し、前記クロックパスの遅延バラツキのマージン係数を1とし、
前記第2のラッチ手段でのホールドタイム解析のベスト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1とし、前記クロックパスの遅延バラツキのマージン係数を1よりも大きい範囲で決定し、
前記第2のラッチ手段でのセットアップタイム解析のワースト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1とし、前記クロックパスの遅延バラツキのマージン係数を1よりも小さい範囲で決定し、
前記第2のラッチ手段でのセットアップタイム解析のベスト条件では、前記データパスの遅延の遅延バラツキのマージン係数を1より大きい範囲で決定し、前記クロックパスの遅延バラツキのマージン係数を1とすることを特徴とするタイミング解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005048163A JP2006235889A (ja) | 2005-02-24 | 2005-02-24 | タイミング解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005048163A JP2006235889A (ja) | 2005-02-24 | 2005-02-24 | タイミング解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006235889A true JP2006235889A (ja) | 2006-09-07 |
Family
ID=37043480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005048163A Withdrawn JP2006235889A (ja) | 2005-02-24 | 2005-02-24 | タイミング解析方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006235889A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009277048A (ja) * | 2008-05-15 | 2009-11-26 | Nec Electronics Corp | 回路解析方法、回路解析プログラム、及び回路解析装置 |
US11550978B2 (en) | 2018-12-17 | 2023-01-10 | Mitsubishi Electric Corporation | Circuit design assistance system and computer readable medium |
-
2005
- 2005-02-24 JP JP2005048163A patent/JP2006235889A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009277048A (ja) * | 2008-05-15 | 2009-11-26 | Nec Electronics Corp | 回路解析方法、回路解析プログラム、及び回路解析装置 |
US11550978B2 (en) | 2018-12-17 | 2023-01-10 | Mitsubishi Electric Corporation | Circuit design assistance system and computer readable medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8214785B2 (en) | Method and device for estimating simultaneous switching noise in semiconductor device, and storage medium | |
US8762908B1 (en) | Static timing analysis with design-specific on chip variation de-rating factors | |
US7222319B2 (en) | Timing analysis method and apparatus | |
US20130227510A1 (en) | Database based timing variation analysis | |
US20080034338A1 (en) | Timing analysis method and device | |
US20050268264A1 (en) | Apparatus and method for calculating crosstalk | |
US20060253823A1 (en) | Semiconductor integrated circuit and method for designing same | |
JP2004252831A (ja) | Lsiの統計的遅延シミュレーション装置及びそのシミュレーション方法 | |
US20040049752A1 (en) | Method for designing semiconductor integrated circuit | |
JP2005004268A (ja) | 半導体集積回路装置の動作解析方法、これに用いられる解析装置およびこれを用いた最適化設計方法 | |
US20080024173A1 (en) | Semiconductor integrated circuit including a malfunction detection circuit, and a design method for the same | |
US7765503B2 (en) | Half cycle common path pessimism removal method | |
TWI521220B (zh) | 積體電路的時序分析方法及相關的電腦程式產品 | |
WO2018188081A1 (en) | Pessimism reduction in static timing analysis | |
US8042074B2 (en) | Circuit design device, circuit design program, and circuit design method | |
US7399648B2 (en) | Methods and apparatus for determining location-based on-chip variation factor | |
JP2008112383A (ja) | 半導体集積回路設計方法、および設計プログラム | |
JP2007140773A (ja) | タイミング検証方法及びタイミング検証装置 | |
JP2006235889A (ja) | タイミング解析方法 | |
US7975249B2 (en) | Operation timing verifying apparatus and program | |
KR101170273B1 (ko) | 클록 지터 억제 방법 및 컴퓨터 판독가능한 기억 매체 | |
US10540463B1 (en) | Placement of delay circuits for avoiding hold violations | |
TWI437454B (zh) | 用於估計半導體元件的雜訊變動之方法及估計裝置 | |
US9405871B1 (en) | Determination of path delays in circuit designs | |
US20140163917A1 (en) | Multi-sensing-elements calibration system, multi-sensing-elements calibration method and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080513 |