JP2014044610A - タイミング解析プログラム、タイミング解析装置およびタイミング解析方法 - Google Patents
タイミング解析プログラム、タイミング解析装置およびタイミング解析方法 Download PDFInfo
- Publication number
- JP2014044610A JP2014044610A JP2012187225A JP2012187225A JP2014044610A JP 2014044610 A JP2014044610 A JP 2014044610A JP 2012187225 A JP2012187225 A JP 2012187225A JP 2012187225 A JP2012187225 A JP 2012187225A JP 2014044610 A JP2014044610 A JP 2014044610A
- Authority
- JP
- Japan
- Prior art keywords
- delay
- upper limit
- information
- value
- timing
- 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.)
- Pending
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/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- 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
-
- 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
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
【課題】タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法を提供する。
【解決手段】タイミング解析装置100は、記憶部1と処理部2とを備え、処理部2は、解析対象回路の回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、複数のセルに関する複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部1へ記憶させる記憶処理と、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更する遅延値変更処理と、回路情報、タイミング制約情報、遅延情報に加え、変更した遅延上限値を用いて、解析対象回路のタイミング解析結果を生成する解析処理と、を実施する。
【選択図】図5
【解決手段】タイミング解析装置100は、記憶部1と処理部2とを備え、処理部2は、解析対象回路の回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、複数のセルに関する複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部1へ記憶させる記憶処理と、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更する遅延値変更処理と、回路情報、タイミング制約情報、遅延情報に加え、変更した遅延上限値を用いて、解析対象回路のタイミング解析結果を生成する解析処理と、を実施する。
【選択図】図5
Description
本発明は、半導体集積回路のタイミング設計に関し、例えば、65nmプロセス技術や40nmプロセス技術に適用するタイミング設計に関する。
従来、タイミング解析(静的タイミング解析:STA)を行ったあとのセットアップエラーをセルのドライブ能力変更、セルの閾値電圧(Vt)を下げるなど、セルをリサイズすることにより改善していた。具体的には、まず、最適化ツールによって、データラインの遅延を改善する。次に、最適化された結果をみて、データラインの遅延を改善した後に残ったセットアップエラーを有するパスは、最適化ツールを用いた自動最適化では修正できないものと判断できた。
例えば、特許文献1には、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図る遅延解析装置が開示されている。
90nmプロセス技術以前では、最適化ツールによってセットアップエラーが解消しない場合には、クロック修正や回路修正が必要となるという判断が可能であった。
例えば、特許文献1には、解析対象回路の回路遅延を効率的かつ正確におこなうことにより、設計者の負担軽減や設計期間の短縮化を図る遅延解析装置が開示されている。
90nmプロセス技術以前では、最適化ツールによってセットアップエラーが解消しない場合には、クロック修正や回路修正が必要となるという判断が可能であった。
しかしながら、半導体プロセス技術の微細化が進み、例えば、65nmプロセス技術や40nmプロセス技術により半導体集積回路を設計する場合、セルのリサイズではデータラインの遅延が改善しきれないという現象が生じている。特に、40nmプロセス技術以降では、このような現象がさらに増加している。
具体的には、従来の解析対象回路のタイミング解析ではレイアウト設計によってある程度のセットアップタイミングを改善し、その後、解析対象回路がタイミング制約を満たす目処をつけた最終ネットリストを作成する。このようにして作成した最終ネットリストを用いてレイアウトを開始し、タイミング解析を実施していた。このような解析において、65nmプロセス技術ではセットアップエラーが600パス程度であったが、40nmプロセス技術ではセットアップエラーが15000パスも残っていた。そのため、セットアップエラーが発生したパスの全てを確認することは極めて困難であった。また、残っているエラーのほとんどは、データラインを構成するセルの遅延値が想定よりも大きいものである。そのため、最適化ツールを用いてセルのアップサイズや配線経路を変更するなどのデータラインの改善によって、解析対象回路のタイミングが修正可能となっている。
一方で、セットアップエラーとなるパスの中でも、少数のパスが最適化ツールでは修正できないものがあり、レイアウトの手修正(クロック遅延の調整)や回路構造の修正を必要とするものがある。加えて、タイミング解析では解析が進むにつれエラーが多くなり、エラーを修復するパスを十分に検討することが困難となる。さらに加えて、解析が進んでからクロック修正や回路修正等を実施すると、後戻り工程が増加し、修正に多大な時間を要する。
上述した事情により、タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法が望まれていた。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
具体的には、従来の解析対象回路のタイミング解析ではレイアウト設計によってある程度のセットアップタイミングを改善し、その後、解析対象回路がタイミング制約を満たす目処をつけた最終ネットリストを作成する。このようにして作成した最終ネットリストを用いてレイアウトを開始し、タイミング解析を実施していた。このような解析において、65nmプロセス技術ではセットアップエラーが600パス程度であったが、40nmプロセス技術ではセットアップエラーが15000パスも残っていた。そのため、セットアップエラーが発生したパスの全てを確認することは極めて困難であった。また、残っているエラーのほとんどは、データラインを構成するセルの遅延値が想定よりも大きいものである。そのため、最適化ツールを用いてセルのアップサイズや配線経路を変更するなどのデータラインの改善によって、解析対象回路のタイミングが修正可能となっている。
一方で、セットアップエラーとなるパスの中でも、少数のパスが最適化ツールでは修正できないものがあり、レイアウトの手修正(クロック遅延の調整)や回路構造の修正を必要とするものがある。加えて、タイミング解析では解析が進むにつれエラーが多くなり、エラーを修復するパスを十分に検討することが困難となる。さらに加えて、解析が進んでからクロック修正や回路修正等を実施すると、後戻り工程が増加し、修正に多大な時間を要する。
上述した事情により、タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法が望まれていた。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施形態によれば、タイミング解析手法は、解析対象回路の回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、及び解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報に加え、遅延上限情報を使用する。遅延上限情報は、複数のセルに関する複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む情報である。そして、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更し、変更した遅延上限値を用いてスラック値(Setup違反値)を見積もってタイミングを解析する。
一実施形態によれば、タイミング解析の早期の段階から、データラインの改善によってタイミングの修復が可能であるか否かを判定する手法を提供することができる。
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明は省略する。
上述したように、例えば、65nmプロセス技術や40nmプロセス技術を用いる場合において、最適化ツールでは遅延を修正できないパスが少数であるものの、関連するタイミング解析の手法(これまでのタイミング解析の手法)では、最適化ツールで遅延を修正できるパスもセットアップエラーとして抽出されることが生じていた。以下の各実施形態では、このような少数のパスを効率よく抽出する手法を提供するものである。ここで、各実施形態の特徴を容易に理解するため、関連するタイミング解析の手法について説明し、その後各実施形態の態様について詳述する。
* 関連するタイミング解析手法の説明
図1は、関連するタイミング解析の手法の一例を説明する図である。図1に示すタイミング解析の手法では、タイミング解析ツールと最適化ツールとを用いる。まず、タイミング解析ツールは、ネットリスト、遅延情報(SDF: Standard Delay Format)、及びタイミング制約情報を用いて、初期タイミング解析結果を生成し、記憶部に保存する(S91)。初期タイミング解析結果は、修正前(リサイズ前)のタイミング解析結果(STA結果)である。
図1は、関連するタイミング解析の手法の一例を説明する図である。図1に示すタイミング解析の手法では、タイミング解析ツールと最適化ツールとを用いる。まず、タイミング解析ツールは、ネットリスト、遅延情報(SDF: Standard Delay Format)、及びタイミング制約情報を用いて、初期タイミング解析結果を生成し、記憶部に保存する(S91)。初期タイミング解析結果は、修正前(リサイズ前)のタイミング解析結果(STA結果)である。
次に、最適化ツールは、初期タイミング解析結果でセットアップエラーと報告されているパスに関して、セルのリサイズを実施する(S92)。その後再度タイミング解析ツールは、リサイズ後のネットリスト、遅延情報、及びタイミング制約情報を用いて、タイミング解析結果を生成し(S93)、記憶部に保存する(S94)。レイアウト設計者は、リサイズ後のタイミング解析結果を確認し、データラインを修正することによってセットアップエラーを解消できる場合には(S95、YES)、セットアップエラーを有するデータラインを、最適化ツールなどを用いて改善する(S96)。一方、データラインの修正ではセットアップエラーを解消できない場合には(S95、NO)、レイアウト設計者は、クロック修正や回路修正などを実施する(S97)。
ここで、データラインの修正には、最適化ツールによって実施するセルのリサイズ、レイアウト設計者による配線のレイアウトの修正などが含まれ、セルのリサイズには、セルのドライブ能力の変更、セルの閾値電圧(Vt)の変更などが含まれる。
90nmプロセス技術では、セットアップエラーが生じたデータラインに対して、セルのリサイズなど、最適化ツールによって自動修正が可能であり、ステップS95において目視によってデータライン改善と判定されるパスが生じることは少なく、データラインを修正できないセットアップエラーのほとんどはクロック修正や回路修正が必要となるエラーであった。
90nmプロセス技術では、セットアップエラーが生じたデータラインに対して、セルのリサイズなど、最適化ツールによって自動修正が可能であり、ステップS95において目視によってデータライン改善と判定されるパスが生じることは少なく、データラインを修正できないセットアップエラーのほとんどはクロック修正や回路修正が必要となるエラーであった。
図2,図3A,図3Bを参照してタイミング解析結果の具体例を説明する。図2は、図1の手順で解析するパスの一例を示す図である。図3Aは、図2のパスのタイミングを解析した解析結果の説明図である。図3Bは、図3Aの解析結果を修正した修正結果例の説明図である。
図2に示すデータラインのパスは、セルC11からセルC15を含み、セルC11、C15はフリップフロップ(FF)であり、セルC12からC14は、バッファである。セルC13とセル14との間のネット(配線)は、予測より配線長が長くなり、配線容量がついてしまった箇所を示す。
図2に示すデータラインのパスは、セルC11からセルC15を含み、セルC11、C15はフリップフロップ(FF)であり、セルC12からC14は、バッファである。セルC13とセル14との間のネット(配線)は、予測より配線長が長くなり、配線容量がついてしまった箇所を示す。
ここで、図2を参照して、セル遅延、ネット遅延、遅延値を説明する。図2に示す区間D1からD3はセル遅延、またはネット遅延が生じる区間の一例を示す。区間D1は、セルC11のフリップフロップ内で生じるセル遅延の区間であり、セルC11の入力ピン(入力端子)から出力ピン(出力端子)までである。区間D2は、セルC11とセルC12間の配線で生じるネット遅延の区間であり、セルC11の出力ピンからセルC12の入力ピンまでである。区間D3は、セルC12の組合せ回路内で生じるセル遅延の区間であり、セルC12の入力ピンから出力ピンまでである。
以降の説明では、単に「遅延値」と称する場合には、原則として、任意のセルの前段の出力ピンから任意のセルの出力ピンまでの遅延量、言い換えるとセル遅延とネット遅延とを合わせた遅延量を意味することを前提とする。例えば、セルC12の遅延値は、区間D2と区間D3で生じるネット遅延とセル遅延とを合わせた値である。これに対して、セル遅延とネット遅延とを区別する場合には、「セル遅延値」、「ネット遅延値」のようにセル遅延とネット遅延とを区別するように明記する。例えば、セルC11とセルC12との間のネット遅延値、セルC11のセル遅延値のように表現することを前提とする。遅延量をどのように示すかについてはタイミング解析結果に示される遅延値に応じて適宜変更して用いる。
以降の説明では、単に「遅延値」と称する場合には、原則として、任意のセルの前段の出力ピンから任意のセルの出力ピンまでの遅延量、言い換えるとセル遅延とネット遅延とを合わせた遅延量を意味することを前提とする。例えば、セルC12の遅延値は、区間D2と区間D3で生じるネット遅延とセル遅延とを合わせた値である。これに対して、セル遅延とネット遅延とを区別する場合には、「セル遅延値」、「ネット遅延値」のようにセル遅延とネット遅延とを区別するように明記する。例えば、セルC11とセルC12との間のネット遅延値、セルC11のセル遅延値のように表現することを前提とする。遅延量をどのように示すかについてはタイミング解析結果に示される遅延値に応じて適宜変更して用いる。
図3A、図3Bでは、ポイント間(セル間)の遅延を示す遅延値(図中「Inc.」)と、各ポイントまでの遅延値を加算した経路遅延値(図中「Path」)を示す。図3A、図3Bでは、遅延値はセル遅延とネット遅延とを合わせた値を示している。
図3Aのタイミング解析結果では、次の解析結果が示されている。
・セルC11にクロックが供給されるまでに1.448ns(ナノ秒)
・セルC11へクロックが供給された後、端子Qから信号が出力されるまでに0.137ns
・セルC11の端子QからセルC12へ信号が入力され、端子Yから信号が出力されるまでに0.083ns
・セルC12の端子Yからセル13へ信号が入力され、セル13の端子Yから信号が出力されるまでに0.832ns
なお、セルC13から信号が出力されるタイミング以降については省略されている。
そして、タイミング解析結果では、スラック値(slack)は、−0.699nsである。スラック値は、タイミング制約情報に規定するタイミングに対する違反値であり、零または正の値であればタイミング制約に対して違反しておらず、負の値であればタイミング制約に対して違反していることを示す。
図3Aのタイミング解析結果では、次の解析結果が示されている。
・セルC11にクロックが供給されるまでに1.448ns(ナノ秒)
・セルC11へクロックが供給された後、端子Qから信号が出力されるまでに0.137ns
・セルC11の端子QからセルC12へ信号が入力され、端子Yから信号が出力されるまでに0.083ns
・セルC12の端子Yからセル13へ信号が入力され、セル13の端子Yから信号が出力されるまでに0.832ns
なお、セルC13から信号が出力されるタイミング以降については省略されている。
そして、タイミング解析結果では、スラック値(slack)は、−0.699nsである。スラック値は、タイミング制約情報に規定するタイミングに対する違反値であり、零または正の値であればタイミング制約に対して違反しておらず、負の値であればタイミング制約に対して違反していることを示す。
図3Bは、セルC13のドライブ能力を修正した場合のリサイズ後のタイミング解析結果を示す。ここでは、セル13の端子Yから信号が出力されるまでに0.832nsであった遅延値が0.212nsへ改善されたことを示している。しかしながら、図3Bに示すリサイズ後のタイミング解析結果は、スラック値が−0.079nsであり、タイミング制約に違反し、セットアップエラーが残っていることを示す。
ここで、リサイズ後のタイミング解析結果を見ると、データラインのリサイズ後のセルC13の遅延212psが残っている。レイアウト設計者が目視で解析すると、配線遅延を取り除き切れずに残ったものであり、データラインの修正によって改善可能であることが判断できる。このように、タイミング解析結果を目視することによって212psの遅延が100ps程度まで改善できればタイミング制約を満たすことを確認できるが、多数のエラーパス(例えば、数万パス)が存在する場合、全てを把握することが困難である。
ここで、リサイズ後のタイミング解析結果を見ると、データラインのリサイズ後のセルC13の遅延212psが残っている。レイアウト設計者が目視で解析すると、配線遅延を取り除き切れずに残ったものであり、データラインの修正によって改善可能であることが判断できる。このように、タイミング解析結果を目視することによって212psの遅延が100ps程度まで改善できればタイミング制約を満たすことを確認できるが、多数のエラーパス(例えば、数万パス)が存在する場合、全てを把握することが困難である。
* 一実施形態のタイミング解析の手法の説明
上述した現状を改善するため、一実施形態では、静的タイミング解析(STA)が生成するタイミング解析結果に示される、セットアップ違反のレポートからデータラインの遅延改善で得られる効果を見積もり、クロック調整・回路構成(RTL修正)へのフィードバックが必要なものを効率的・早急に抜き出す手法を見出す手法を提供する。
一実施形態に係るタイミング解析の手法としては、例えば(1)タイミング解析結果を補正する方法、及び(2)タイミング解析で用いる遅延情報を補正する方法の2つがある。
上述した現状を改善するため、一実施形態では、静的タイミング解析(STA)が生成するタイミング解析結果に示される、セットアップ違反のレポートからデータラインの遅延改善で得られる効果を見積もり、クロック調整・回路構成(RTL修正)へのフィードバックが必要なものを効率的・早急に抜き出す手法を見出す手法を提供する。
一実施形態に係るタイミング解析の手法としては、例えば(1)タイミング解析結果を補正する方法、及び(2)タイミング解析で用いる遅延情報を補正する方法の2つがある。
(1)タイミング解析結果を補正する方法
テクノロジ毎に設定されるクリティカルパスで使用される遅延上限値を設定する。タイミング解析結果において、セル遅延+ネット遅延が遅延上限値より越えている遅延分の加算値を、データライン改善で得られる効果としてタイミング解析結果のスラック値に加え、得られた値をデータライン改善後に得られるスラック値として判断する。
(2)遅延情報を補正する方法
タイミング解析結果を抽出する前にデータライン且つセル遅延+ネット遅延が遅延上限値を越えているものを遅延上限値に設定し(差し替え)、その後通常のSTA解析を行う。
ここで、(1)タイミング解析結果を補正する方法は、生成されたタイミング解析結果を補正しているので処理に時間がかからないこと、及び、現在の状況と改善後の状況とが見比べられることがメリットである。一方、(2)遅延情報を補正する方法は、遅延情報を補正する前のパスがデータライン改善後のクリティカルパスでない時にデータライン改善後のクリティカルパスを確認できる点がメリットである。
テクノロジ毎に設定されるクリティカルパスで使用される遅延上限値を設定する。タイミング解析結果において、セル遅延+ネット遅延が遅延上限値より越えている遅延分の加算値を、データライン改善で得られる効果としてタイミング解析結果のスラック値に加え、得られた値をデータライン改善後に得られるスラック値として判断する。
(2)遅延情報を補正する方法
タイミング解析結果を抽出する前にデータライン且つセル遅延+ネット遅延が遅延上限値を越えているものを遅延上限値に設定し(差し替え)、その後通常のSTA解析を行う。
ここで、(1)タイミング解析結果を補正する方法は、生成されたタイミング解析結果を補正しているので処理に時間がかからないこと、及び、現在の状況と改善後の状況とが見比べられることがメリットである。一方、(2)遅延情報を補正する方法は、遅延情報を補正する前のパスがデータライン改善後のクリティカルパスでない時にデータライン改善後のクリティカルパスを確認できる点がメリットである。
これらの方法では、遅延上限値を設定し、タイミング解析において利用する。
遅延上限値は、解析対象回路(レイアウト)に含まれるセルまたはネットの遅延値の上限を設定する値であり、レイアウト設計者等が、経験上の数値などに基づいて設定する。遅延上限値は、セルに対する遅延値の上限(セル遅延上限値)が少なくとも一つと、ネットに対する遅延値の上限(ネット遅延上限値)とが設定される。セル遅延上限値は、1セルに許容される遅延値の上限を設定する。セル遅延上限値は、複数設定される場合もあり、セルの種類、機能などに基づいて、異なる上限値が設定される。
加えて、上述したように、セル遅延とネット遅延とを合わせた値を遅延値として取り扱う場合には、セル遅延上限値とネット遅延上限値とを合わせた値を遅延上限値として用いる。
一実施形態では、設定される少なくとも一つの遅延上限値、または少なくとも一つのセル遅延上限値及びネット遅延上限値は、遅延上限情報として記憶領域に保持される。
遅延上限値は、解析対象回路(レイアウト)に含まれるセルまたはネットの遅延値の上限を設定する値であり、レイアウト設計者等が、経験上の数値などに基づいて設定する。遅延上限値は、セルに対する遅延値の上限(セル遅延上限値)が少なくとも一つと、ネットに対する遅延値の上限(ネット遅延上限値)とが設定される。セル遅延上限値は、1セルに許容される遅延値の上限を設定する。セル遅延上限値は、複数設定される場合もあり、セルの種類、機能などに基づいて、異なる上限値が設定される。
加えて、上述したように、セル遅延とネット遅延とを合わせた値を遅延値として取り扱う場合には、セル遅延上限値とネット遅延上限値とを合わせた値を遅延上限値として用いる。
一実施形態では、設定される少なくとも一つの遅延上限値、または少なくとも一つのセル遅延上限値及びネット遅延上限値は、遅延上限情報として記憶領域に保持される。
一実施形態に係るタイミング解析の手法は、コンピュータに各処理を実行させるプログラムを用いて実現することができる。図4は、プログラムを用いて実現するタイミング解析装置の構成例を示すブロック図である。タイミング解析装置100は、記憶部1と処理部2とを備える。タイミング解析装置100は、パーソナルコンピュータのような一般的な汎用コンピュータである。
記憶部1は、処理部2がアクセス可能な記憶領域である。記憶部1は、例えば、ハードディスクやRAM(Random Access Memory)やROM(Read Only Memory)といった記憶装置で構成される。また、記憶部1は、タイミング解析装置100へ着脱可能な記憶媒体、例えば、CD(Compact Disk)を含む場合であってもよい。
処理部2は、CPU(Central Processing Unit)で構成され、記憶部1に記憶された、各処理を実現するためのプログラム(実行プログラム)を読み込んで、コンピュータにプログラムの命令群を実行させる。これにより、一実施形態に係るタイミング解析の手法を実現する。
記憶部1は、処理部2がアクセス可能な記憶領域である。記憶部1は、例えば、ハードディスクやRAM(Random Access Memory)やROM(Read Only Memory)といった記憶装置で構成される。また、記憶部1は、タイミング解析装置100へ着脱可能な記憶媒体、例えば、CD(Compact Disk)を含む場合であってもよい。
処理部2は、CPU(Central Processing Unit)で構成され、記憶部1に記憶された、各処理を実現するためのプログラム(実行プログラム)を読み込んで、コンピュータにプログラムの命令群を実行させる。これにより、一実施形態に係るタイミング解析の手法を実現する。
タイミング解析装置100は、記憶部1及び処理部2の他に通信機能を実現する通信部、外部装置とのインターフェースを制御する入出力部などを備えるが、ここでは説明を省略する。例えば、タイミング解析装置100は、特許文献1の図1に記載のハードウェア構成を備えるコンピュータを用いて実現する場合であってもよい。
タイミング解析装置100において、記憶部1及び処理部2は次の機能を実現するように構成される。
記憶部1は、少なくとも、解析対象回路の設計に関する回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、解析対象回路に含まれる複数のセルに関する複数の遅延値を定義した遅延情報、及び遅延上限情報を記憶する。遅延上限情報は、複数のセルに関する複数の遅延値に対して、遅延値の上限を設定する遅延上限値を少なくとも一つ含む。回路情報は、解析対象回路を構成するセル間(端子間)の接続を定義するネットリストや、解析対象回路のレイアウトを定義するレイアウト情報を含む。加えて、回路情報は、セルや配線の特性を定義するライブラリを含んでいてもよい。
処理部2は、CPU(Central Processing Unit)で構成され、プログラムの命令群によって各種処理を実行する。一実施形態では、処理部2は、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更し、変更した遅延上限値を用いてスラック値を見積もって解析対象回路のタイミングを解析する。そして、スラック値を見積もった見積結果に基づいて、解析対象回路がタイミング制約を満たすかを解析した解析結果を生成する。
図5に、タイミング解析装置100にプログラムが実行させる処理の一例を示したものである。各処理をタイミング解析装置100に実行させることにより、一実施形態に係るタイミング解析の手法を実現する。処理部2は、プログラムを記憶部1から読み込んで各処理を実行する。
タイミング解析装置100において、記憶部1及び処理部2は次の機能を実現するように構成される。
記憶部1は、少なくとも、解析対象回路の設計に関する回路情報、解析対象回路のタイミング制約を規定するタイミング制約情報、解析対象回路に含まれる複数のセルに関する複数の遅延値を定義した遅延情報、及び遅延上限情報を記憶する。遅延上限情報は、複数のセルに関する複数の遅延値に対して、遅延値の上限を設定する遅延上限値を少なくとも一つ含む。回路情報は、解析対象回路を構成するセル間(端子間)の接続を定義するネットリストや、解析対象回路のレイアウトを定義するレイアウト情報を含む。加えて、回路情報は、セルや配線の特性を定義するライブラリを含んでいてもよい。
処理部2は、CPU(Central Processing Unit)で構成され、プログラムの命令群によって各種処理を実行する。一実施形態では、処理部2は、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更し、変更した遅延上限値を用いてスラック値を見積もって解析対象回路のタイミングを解析する。そして、スラック値を見積もった見積結果に基づいて、解析対象回路がタイミング制約を満たすかを解析した解析結果を生成する。
図5に、タイミング解析装置100にプログラムが実行させる処理の一例を示したものである。各処理をタイミング解析装置100に実行させることにより、一実施形態に係るタイミング解析の手法を実現する。処理部2は、プログラムを記憶部1から読み込んで各処理を実行する。
図5に示すように、プログラムは、タイミング解析装置100(コンピュータ)に、記憶処理、遅延値変更処理、及び解析処理を少なくとも実行させる。
記憶処理は、回路情報、タイミング制約情報、遅延情報、及び遅延上限情報を記憶部に記憶させる。
遅延値変更処理は、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更する。具体的には、複数のセルに対応づけられる遅延値のうちの少なくとも一つを、遅延上限情報に含まれる遅延上限値に変更する。ここで、遅延上限情報が複数の遅延上限値を含む場合には、遅延値を変更するセルに対応づけられる遅延上限値に変更する。
解析処理は、変更した遅延上限値を用いてスラック値を見積もって解析対象回路のタイミングを解析する。
このような処理によって、変更した遅延上限値を用いた場合、言い換えるとデータラインの遅延改善を実施した場合、解析対象回路がタイミング制約を満たすか否かを示すことができる。その結果、タイミング解析の早期の段階から、データラインの遅延改善によってタイミングの修復が可能であるか否かを判定することを容易にする。
記憶処理は、回路情報、タイミング制約情報、遅延情報、及び遅延上限情報を記憶部に記憶させる。
遅延値変更処理は、複数のセルに関する複数の遅延値の少なくとも一つを、遅延上限値に変更する。具体的には、複数のセルに対応づけられる遅延値のうちの少なくとも一つを、遅延上限情報に含まれる遅延上限値に変更する。ここで、遅延上限情報が複数の遅延上限値を含む場合には、遅延値を変更するセルに対応づけられる遅延上限値に変更する。
解析処理は、変更した遅延上限値を用いてスラック値を見積もって解析対象回路のタイミングを解析する。
このような処理によって、変更した遅延上限値を用いた場合、言い換えるとデータラインの遅延改善を実施した場合、解析対象回路がタイミング制約を満たすか否かを示すことができる。その結果、タイミング解析の早期の段階から、データラインの遅延改善によってタイミングの修復が可能であるか否かを判定することを容易にする。
処理部2は、タイミング解析ツールにタイミング解析結果を生成させる。図4,5において、タイミング解析ツールの存在を明記していないが、記憶部1にタイミング解析ツールの実行プログラムを保存し、処理部2が記憶部1からタイミング解析ツールを読み出して実行させてもよい。また、通信機能を用いて、外部のコンピュータ装置が保持するタイミング解析ツールを実行させ、タイミング解析結果を通信回線を介して受信するように構成してもよい。一実施形態では、処理部2は、タイミング解析ツールによって生成されるタイミング解析結果を取得できるように構成されていればよい。最適化ツールについても同様に、処理部2は、最適化ツールが最適化した結果を取得することができればよい。処理部2は、タイミング解析ツール及び最適化ツールの実行結果を取得すると、記憶部1に記憶する。タイミング解析ツール及び最適化ツールを実行する装置については設計事項であるため、ここでは詳細な説明を省略する。
以下、一実施形態のタイミング解析の手法を実現する各実施態様を、タイミング解析プログラムがタイミング解析装置100に実行させる処理によって説明する。
以下、一実施形態のタイミング解析の手法を実現する各実施態様を、タイミング解析プログラムがタイミング解析装置100に実行させる処理によって説明する。
実施形態1
実施形態1では、一実施形態に係るタイミング解析の手法のうち、(1)タイミング解析結果を補正する方法について説明する。
* 実施形態1の構成
図6は、実施形態1のタイミング解析の手順の一例及び実施形態1のタイミング解析結果を用いる手順の一例を示す図である。図6に示す処理のうち、ステップS11からS15は、タイミング解析プログラムが実行する処理例であり、ステップS16からS18は、タイミング解析プログラムの実行結果を用いて、レイアウト設計者が実施する手順を示す。本実施形態のタイミング解析プログラムは、図4に示すタイミング解析装置100に各処理を実行させる。
記憶部1は、回路情報、タイミング制約情報、及び遅延情報に加え、セルに対する遅延上限値を含む遅延上限情報を記憶する。
処理部2は、遅延情報を用いて解析対象回路を解析したタイミング解析結果(初期タイミング解析結果)を入力とし、初期タイミング解析結果に含まれる複数の遅延値のうちの少なくとも一つを遅延上限値に差し替える遅延値変更処理を実施する。そして、処理部2は、差し替えた遅延上限値を用いてスラック値を見積もった見積結果を算出し、算出した見積結果をタイミング解析結果へ挿入する解析処理を実施する。
実施形態1では、一実施形態に係るタイミング解析の手法のうち、(1)タイミング解析結果を補正する方法について説明する。
* 実施形態1の構成
図6は、実施形態1のタイミング解析の手順の一例及び実施形態1のタイミング解析結果を用いる手順の一例を示す図である。図6に示す処理のうち、ステップS11からS15は、タイミング解析プログラムが実行する処理例であり、ステップS16からS18は、タイミング解析プログラムの実行結果を用いて、レイアウト設計者が実施する手順を示す。本実施形態のタイミング解析プログラムは、図4に示すタイミング解析装置100に各処理を実行させる。
記憶部1は、回路情報、タイミング制約情報、及び遅延情報に加え、セルに対する遅延上限値を含む遅延上限情報を記憶する。
処理部2は、遅延情報を用いて解析対象回路を解析したタイミング解析結果(初期タイミング解析結果)を入力とし、初期タイミング解析結果に含まれる複数の遅延値のうちの少なくとも一つを遅延上限値に差し替える遅延値変更処理を実施する。そして、処理部2は、差し替えた遅延上限値を用いてスラック値を見積もった見積結果を算出し、算出した見積結果をタイミング解析結果へ挿入する解析処理を実施する。
* 実施形態1の動作又は製造方法等
図4乃至6を参照して、実施形態1のタイミング解析プログラムが実行する処理を説明する。
処理部2は、レイアウト設計者の指示に従って、解析対象回路に関するネットリスト、タイミング制約情報、遅延情報を記憶部1に格納し、タイミング解析ツールにタイミング解析を実行させ、生成されたタイミング解析結果(初期タイミング解析結果)を取得すると記憶部1に保存する(S11、記憶処理)。加えて、処理部2は、レイアウト設計者が設定する遅延上限情報を取得し、記憶部1に格納する(S12、記憶処理)。遅延上限情報は、例えば、マンマシンインタフェースを介して、レイアウト設計者が設定する遅延上限情報の入力を受け付けることにより取得してもよい。
図4乃至6を参照して、実施形態1のタイミング解析プログラムが実行する処理を説明する。
処理部2は、レイアウト設計者の指示に従って、解析対象回路に関するネットリスト、タイミング制約情報、遅延情報を記憶部1に格納し、タイミング解析ツールにタイミング解析を実行させ、生成されたタイミング解析結果(初期タイミング解析結果)を取得すると記憶部1に保存する(S11、記憶処理)。加えて、処理部2は、レイアウト設計者が設定する遅延上限情報を取得し、記憶部1に格納する(S12、記憶処理)。遅延上限情報は、例えば、マンマシンインタフェースを介して、レイアウト設計者が設定する遅延上限情報の入力を受け付けることにより取得してもよい。
処理部2は、タイミング解析結果の中で、スラック値がタイミング制約を満たしていないパス、言い換えるとスラック値が負の値のパスを抽出する。抽出したパスのスラック値は、違反値を示しているため、処理部2は、この違反値を解消させるデータラインの改善が可能であるかを検出する処理を実施する(S13からS15)。具体的には、処理部2は、抽出したパスを構成するセルに関して、遅延値と遅延上限値とを比較し、遅延上限値を超えるセルについて、遅延値と遅延上限値との差分を算出し、算出した差分の総和を算出する(S13、遅延値変更処理)。そして、処理部2は、算出した差分の総和をスラック値に加算して、改善可能な違反値の見積もり(見積もり違反値)を算出する(S14、解析処理)。具体的には、処理部2は、計算式(見積もり違反値=タイミング解析結果のスラック値+差分の総和)により算出する。処理部2は、算出した見積違反値を見積結果として記憶部1へ保存する(S15、解析処理)。
続いて、レイアウト設計者は、記憶部1に保存された見積結果を参照し、見積結果がタイミング制約を満たすか否かを判定する(S16)。処理部2は、解析処理として、見積結果を参照できるように画面表示処理を実施してもよい。タイミング制約を満たす場合には(S16、YES)、レイアウト設計者は、データライン修正によりデータラインのセットアップタイミングを改善する。このときレイアウト設計者は、例えば、最適化ツールを処理部2に実行させること、あるいは、レイアウトの配線を修正することなどを実施してデータラインを改善する(S17)。一方、タイミング制約を満たさない場合には(S16、NO)、レイアウト設計者は、クロック修正や回路修正などを実施する(S18)。
図6のステップS13において、処理部2は、セルについて遅延値と遅延上限値とを比較する動作例を説明したが、これに限られるわけではない。例えば、タイミング解析結果がセル遅延とネット遅延とを区別して遅延値を示す場合には、セル遅延とネット遅延それぞれについて遅延値(セル遅延値、ネット遅延値)と遅延上限値(セル遅延上限値、ネット遅延上限値)とを比較してもよし、セル遅延とネット遅延とを合計した遅延値を用いて、対応する遅延上限値と比較してもよい。タイミング解析結果に示されるセル遅延またはネット遅延の遅延値に応じて処理すればよい。
加えて、セルに対する遅延上限値を、セルの種類に応じて複数種類設定してもよい。例えば、セルがフリップフロップである場合と、組合せ回路である場合とによって異なる遅延上限値を設定してもよい。
さらに加えて、ステップS15において、処理部2は、見積結果を初期タイミング解析結果へ挿入し、初期タイミング解析結果を修正した修正タイミング解析結果を記憶部1に保存する(初期タイミング解析結果の更新)してもよい。あるいは、処理部2は、見積結果、または見積結果と関連情報とを初期タイミング解析結果に挿入するのではなく、別個の情報(例えば、見積結果情報)として記憶部1に格納する処理であってもよい。
加えて、セルに対する遅延上限値を、セルの種類に応じて複数種類設定してもよい。例えば、セルがフリップフロップである場合と、組合せ回路である場合とによって異なる遅延上限値を設定してもよい。
さらに加えて、ステップS15において、処理部2は、見積結果を初期タイミング解析結果へ挿入し、初期タイミング解析結果を修正した修正タイミング解析結果を記憶部1に保存する(初期タイミング解析結果の更新)してもよい。あるいは、処理部2は、見積結果、または見積結果と関連情報とを初期タイミング解析結果に挿入するのではなく、別個の情報(例えば、見積結果情報)として記憶部1に格納する処理であってもよい。
ここで、図2,図3A,図7を参照してタイミング解析結果の具体例を説明する。解析するデータラインは、図2と同じものを用いて説明する。図7に、処理部2が、図3Aの初期タイミング結果を用いて、上述した遅延値変更処理及び解析処理を実施して生成した見積結果を含むタイミング解析結果の一例を示す。遅延上限値は、フリップフロップのセルに対して150ps、組合せ回路(comb)のセルに対して100psを設定した。図3Aのタイミング解析結果では、セルC11のフリップフロップの遅延値は、187psであり、遅延上限値150psを超える。そのため、処理部2は、セルC11の遅延値を150psに変更した場合の遅延値の差分37psを算出する。また、セルC13の組合せ回路は、遅延値が782psであり、遅延上限値100psを超える。そのため、処理部2は、セル11の遅延値を150psに変更した場合の遅延値の差分682psを算出する。処理部2は、抽出したパスについて、算出した差分を合計して差分の総和(0.037ns+0.682ns)を、タイミング解析結果のスラック値−0.699nsに加算し、見積もり違反値0.020nsを算出する。この結果、見積もり違反値は正の値となりタイミング制約を満たすことが示される。
レイアウト設計者は図7の結果を参照し、データライン改善により、パスがタイミング制約を満たすことを容易に判定することができる。
レイアウト設計者は図7の結果を参照し、データライン改善により、パスがタイミング制約を満たすことを容易に判定することができる。
* 実施形態1のメカニズムおよび効果
実施形態1のタイミング解析の手法を用いて40nm 9ピッチセルの製品に適用したところ、90%程度のパスが自動修正によってタイミング制約を満たす(METする)と判断することができた。その他の40nm 7ピッチセルの製品に適用しても75%程度のパスを自動修正でMETできると判断できた。また、見積結果(見積もりスラック値)の悪い箇所から先に確認することも可能となり製品設計で大きな効果を発揮することが可能になる。
上述したように、本実施形態のタイミング解析の手法によれば、STA(静的タイミング解析)で出力させるタイミング解析結果に示されるセットアップ違反のレポートからデータラインの遅延改善で得られる効果を見積もることができる。その結果、クロック調整・回路構成(RTL修正)へのフィードバックが必要なものを効率的・早急に抽出することが可能になる。
実施形態1のタイミング解析の手法を用いて40nm 9ピッチセルの製品に適用したところ、90%程度のパスが自動修正によってタイミング制約を満たす(METする)と判断することができた。その他の40nm 7ピッチセルの製品に適用しても75%程度のパスを自動修正でMETできると判断できた。また、見積結果(見積もりスラック値)の悪い箇所から先に確認することも可能となり製品設計で大きな効果を発揮することが可能になる。
上述したように、本実施形態のタイミング解析の手法によれば、STA(静的タイミング解析)で出力させるタイミング解析結果に示されるセットアップ違反のレポートからデータラインの遅延改善で得られる効果を見積もることができる。その結果、クロック調整・回路構成(RTL修正)へのフィードバックが必要なものを効率的・早急に抽出することが可能になる。
実施形態2.
実施形態2では、一実施形態に係るタイミング解析の手法のうち、(2)遅延情報を補正する方法について説明する。実施形態1では遅延上限値を用いて、タイミング解析結果(初期タイミング解析結果)を修正した。これに対して、実施形態2は遅延上限値を用いて遅延情報を変更する遅延補正情報を生成し、遅延補正情報を用いてタイミング解析ツールにタイミング解析結果を生成させる処理を実施する。これにより、遅延上限値を用いて生成した見積結果を得る手法である。
ここでまず、実施形態1と実施形態2とにおいて、見積結果を算出するパスに違いが生じ得ることを説明する。タイミング解析は、すべてのパスを網羅的に解析して結果を生成することが精度の点からは好ましい、一方で多数の結果を生成することは時間、コストなどの観点から実用的でない。このため、終点となるフリップフロップへの経路が複数存在する(起点となるフリップフロップが複数存在する)場合には、最もスラック値の悪いパスについて解析結果を生成する。実施形態1と実施形態2とでは、遅延情報の遅延値を遅延上限値と差し替えるタイミングが異なるため、タイミング解析結果でスラック値が生成されるパスが異なる現象が生じる。図8を用いて具体的に説明する。
実施形態2では、一実施形態に係るタイミング解析の手法のうち、(2)遅延情報を補正する方法について説明する。実施形態1では遅延上限値を用いて、タイミング解析結果(初期タイミング解析結果)を修正した。これに対して、実施形態2は遅延上限値を用いて遅延情報を変更する遅延補正情報を生成し、遅延補正情報を用いてタイミング解析ツールにタイミング解析結果を生成させる処理を実施する。これにより、遅延上限値を用いて生成した見積結果を得る手法である。
ここでまず、実施形態1と実施形態2とにおいて、見積結果を算出するパスに違いが生じ得ることを説明する。タイミング解析は、すべてのパスを網羅的に解析して結果を生成することが精度の点からは好ましい、一方で多数の結果を生成することは時間、コストなどの観点から実用的でない。このため、終点となるフリップフロップへの経路が複数存在する(起点となるフリップフロップが複数存在する)場合には、最もスラック値の悪いパスについて解析結果を生成する。実施形態1と実施形態2とでは、遅延情報の遅延値を遅延上限値と差し替えるタイミングが異なるため、タイミング解析結果でスラック値が生成されるパスが異なる現象が生じる。図8を用いて具体的に説明する。
図8は、実施形態2において、見積結果の算出対象となるパスを説明する図である。REG1からREG3へのパスは、セルC21乃至C26から構成され、REG2からREG3へのパスは、セルC27乃至C29及びC24乃至C26から構成される。図中に示す数値は各セルの実際の遅延値である。ここで、遅延上限情報として、組合せ回路のセル遅延上限値が80ps、フリップフロップのセル遅延上限値が130ps、ネット遅延上限値が20psに設定されていることを前提とする。セル遅延とネット遅延とを合わせた遅延上限値は、フリップフロップのセルが150ps、組合せ回路のセルが100psに設定されることになる。
REG1からREG3へのパスは、遅延情報に設定される実際の遅延(実遅延)では、8.24nsであり、REG2からREG3へのパスは、実遅延が1.99nsである。
REG1からREG3へのパスは、遅延情報に設定される実際の遅延(実遅延)では、8.24nsであり、REG2からREG3へのパスは、実遅延が1.99nsである。
実施形態1の初期タイミング解析結果では、実遅延の大きいREG1からREG3へのパスについてスラック値が生成され、実施形態1の手法で見積結果を算出すると、補正後の見積もり遅延値は、0.49ns(0.15+0.08+0.10+0.08+0.08)となる。セルC21及びC23の遅延値が上限遅延値に変更された結果である。
これに対して、実施形態2では、遅延情報の遅延値を遅延上限値と差し替えてタイミング解析結果を生成するため、REG1からREG3のパスの見積もり遅延値が0.49ns、REG2からREG3のパスの見積もり遅延値は実遅延と同じ1.99nsとなる。その結果、実施形態2では、タイミング解析結果にREG2からREG3のパスについて生成され、REG1からREG3のパスの情報は含まれない。
実施形態2のタイミング解析の手法を用いると、遅延上限値の差し替えによってデータラインの遅延が改善される場合には、スラック値の違反が大きい(負の値が大きい)その他のパスに関してタイミング解析結果が生成されることになる。実施形態2では、このような処理によって、タイミング解析結果を生成する段階で、データラインの改善によってタイミング制約を満たすパスを解析結果の対象から排除し、データラインの改善ではタイミング制約違反の解消が困難なパスの抽出を容易にする。
以下、本実施形態の詳細を説明する。
これに対して、実施形態2では、遅延情報の遅延値を遅延上限値と差し替えてタイミング解析結果を生成するため、REG1からREG3のパスの見積もり遅延値が0.49ns、REG2からREG3のパスの見積もり遅延値は実遅延と同じ1.99nsとなる。その結果、実施形態2では、タイミング解析結果にREG2からREG3のパスについて生成され、REG1からREG3のパスの情報は含まれない。
実施形態2のタイミング解析の手法を用いると、遅延上限値の差し替えによってデータラインの遅延が改善される場合には、スラック値の違反が大きい(負の値が大きい)その他のパスに関してタイミング解析結果が生成されることになる。実施形態2では、このような処理によって、タイミング解析結果を生成する段階で、データラインの改善によってタイミング制約を満たすパスを解析結果の対象から排除し、データラインの改善ではタイミング制約違反の解消が困難なパスの抽出を容易にする。
以下、本実施形態の詳細を説明する。
* 実施形態2の構成
図9は、実施形態2のタイミング解析の手順の一例を示す図である。
図9に示す処理のうち、ステップS21からS23、S28、S29は、実施形態1や関連する技術と同様の処理であり、ステップS24からS27は、本実施形態特有の処理である。ステップS21からS23、S24は、レイアウト設計者等により予め各情報が生成され、例えば、処理部2の記憶処理によって記憶部1に格納される。ステップS28は、処理部2がタイミング解析ツールに実行させる処理であり、ステップS29は、レイアウト設計者がタイミング解析結果を用いて実施する処理である。本実施形態のタイミング解析プログラムは、ステップS25からS27の各処理を図4に示すタイミング解析装置100に実行させる。
記憶部1は、実施形態1と同様に、記憶部1は、回路情報、タイミング制約情報、及び遅延情報に加え、遅延上限情報を記憶する。
本実施形態では、処理部2は、遅延補正情報を生成する遅延変更処理と、遅延補正情報を用いてタイミング解析ツールにタイミング解析を実行させ、タイミング解析結果を生成させる解析処理とを実施する。遅延変更処理は、ネットリストからデータラインを構成するセルを抽出し、セルに対応づけられた遅延値が遅延上限値を超える場合、遅延値を遅延上限値に修正する遅延補正情報を生成する。
図9は、実施形態2のタイミング解析の手順の一例を示す図である。
図9に示す処理のうち、ステップS21からS23、S28、S29は、実施形態1や関連する技術と同様の処理であり、ステップS24からS27は、本実施形態特有の処理である。ステップS21からS23、S24は、レイアウト設計者等により予め各情報が生成され、例えば、処理部2の記憶処理によって記憶部1に格納される。ステップS28は、処理部2がタイミング解析ツールに実行させる処理であり、ステップS29は、レイアウト設計者がタイミング解析結果を用いて実施する処理である。本実施形態のタイミング解析プログラムは、ステップS25からS27の各処理を図4に示すタイミング解析装置100に実行させる。
記憶部1は、実施形態1と同様に、記憶部1は、回路情報、タイミング制約情報、及び遅延情報に加え、遅延上限情報を記憶する。
本実施形態では、処理部2は、遅延補正情報を生成する遅延変更処理と、遅延補正情報を用いてタイミング解析ツールにタイミング解析を実行させ、タイミング解析結果を生成させる解析処理とを実施する。遅延変更処理は、ネットリストからデータラインを構成するセルを抽出し、セルに対応づけられた遅延値が遅延上限値を超える場合、遅延値を遅延上限値に修正する遅延補正情報を生成する。
* 実施形態2の動作又は製造方法等
図4、5、9、10を参照して、実施形態2のタイミング解析プログラムが実行する処理を説明する。図10は、実施形態2の遅延値変更処理が遅延補正情報を生成する動作例を示す図である。
処理部2は、回路情報、タイミング制約情報、及び遅延情報を参照し、ネットリストからデータラインを構成する複数のセルを抽出し、抽出した複数のセルに対応づけられた遅延値を遅延情報から取り出し、遅延上限値を遅延上限情報から取り出す(S25)。次に、処理部2は、抽出した複数のセルについて、遅延値と遅延上限値とを比較し、遅延値が遅延上限値を超えるセルである場合には(S26、YES)、遅延情報に設定された遅延値を、遅延上限値に修正する遅延補正情報を生成する(S27)。ここで、遅延補正情報の生成(ステップS25〜S27)について、図10を参照して詳細を説明する。
図4、5、9、10を参照して、実施形態2のタイミング解析プログラムが実行する処理を説明する。図10は、実施形態2の遅延値変更処理が遅延補正情報を生成する動作例を示す図である。
処理部2は、回路情報、タイミング制約情報、及び遅延情報を参照し、ネットリストからデータラインを構成する複数のセルを抽出し、抽出した複数のセルに対応づけられた遅延値を遅延情報から取り出し、遅延上限値を遅延上限情報から取り出す(S25)。次に、処理部2は、抽出した複数のセルについて、遅延値と遅延上限値とを比較し、遅延値が遅延上限値を超えるセルである場合には(S26、YES)、遅延情報に設定された遅延値を、遅延上限値に修正する遅延補正情報を生成する(S27)。ここで、遅延補正情報の生成(ステップS25〜S27)について、図10を参照して詳細を説明する。
処理部2は、回路情報からセルの出力ピンを抽出し(S211)、出力ピンがクロックのピンであるか否かを判定する(S212)。処理部2は、抽出したセルがクロックでない場合(S212、NO)、セルについて、前段のセルの出力ピンから抽出したセルの出力ピンまでに対応づけられた遅延値を遅延情報から取得し、遅延値と遅延上限値とを比較する(S213)。遅延値が遅延上限値より大きい場合には(S213、YES)、取得した遅延値を遅延上限値へ修正する修正情報を保持する(S214)。処理部2は、抽出したセルがクロックである場合(S212、YES)、及び遅延値が遅延上限値以下である場合には(S213、NO)、ステップS215へ進み、全ピンを抽出したかを判定する(S215)。回路情報の全ピンを抽出していない場合(S215、NO)、ステップS211からS214までの処理を繰り返す。一方、回路情報の全ピンを抽出すると(S215、YES)、ステップS214で保持した情報を用いて遅延補正情報を生成し、記憶部1へ格納する(S216)。
遅延補正情報が生成されると(図9のS27、図10のS216)、処理部2は、タイミング解析ツールに、遅延情報及び遅延補正情報を用いてタイミング解析を実施させる(S28)。タイミング解析ツールは、遅延補正情報を読み込み、遅延修正が指示されるセルまたはネットの遅延値を修正してタイミング解析を実施する。一方、処理部2は、抽出した複数のセルの中に、遅延値が遅延上限値を超えるセルが一つもない場合(S26、NO)、タイミング解析ツールに、通常のタイミング解析を実施させる(S28)。
なお、遅延変更処理において、上述した説明では、遅延値を遅延上限値に変更することを示す遅延補正情報を作成し、タイミング解析ツールに遅延情報と遅延補正情報とを用いる場合を説明した。これに限らず、遅延情報の遅延値を遅延上限値に変更した遅延補正情報を生成し、タイミング解析ツールに遅延補正情報を用いてタイミング解析を実施させる場合であってもよい。この場合、遅延補正情報は、変更箇所のみでなく、変更しないセルの遅延値も含むことになる。
なお、遅延変更処理において、上述した説明では、遅延値を遅延上限値に変更することを示す遅延補正情報を作成し、タイミング解析ツールに遅延情報と遅延補正情報とを用いる場合を説明した。これに限らず、遅延情報の遅延値を遅延上限値に変更した遅延補正情報を生成し、タイミング解析ツールに遅延補正情報を用いてタイミング解析を実施させる場合であってもよい。この場合、遅延補正情報は、変更箇所のみでなく、変更しないセルの遅延値も含むことになる。
ここで、図2,図3A,図11A,図11Bを参照してタイミング解析結果の具体例を説明する。解析するデータラインは、図2と同じものを用いて説明する。図11Aは、実施形態2のタイミング解析の手法により、遅延情報の遅延値を遅延上限値に差し替える遅延補正情報の一例を示す図である。図11Bは、図3Aの解析結果に対して、実施形態2のタイミング解析の手法により遅延情報及び遅延補正情報を用いて生成したタイミング解析結果の一例を示す図である。図11Bは、ネット遅延上限値が20ps、組合せ回路のセル遅延上限値が80ps、フリップフロップのセル遅延上限値が130psを見積結果の条件に設定している。図11Bに示すように、実遅延が0.187nsのフリップフロップのセルC11について、遅延上限値の0.150ns(130ps+20ps)に変更されている。加えて、実遅延が0.782nsの組合せ回路のセルC13について、遅延上限値の0.100ns(80ps+20ps)に変更されている。この結果、見積もり違反値は、0.020nsの正の値となりタイミング制約を満たすことが示される。遅延情報を用いた場合の実遅延が−0.699nsであるため、実施形態2によるタイミング解析結果では、データライン改善によりタイミング制約を満たすことが見積もり違反値に示される。このように、レイアウト設計者は図11Bの結果を参照し、データライン改善を実施することにより、タイミング制約を満たすことを容易に判定することができる。
* 実施形態2のメカニズムおよび効果
本実施形態では、遅延補正情報によって、遅延情報の遅延値を遅延上限値に差し替える処理を実施する。そのため、図8を参照して説明したように、タイミング解析結果に示すパスが実施形態1と異なる場合が生じる。このため、実施形態1では初期タイミング解析結果に含まれないパスがデータラインの遅延改善後にエラー箇所となる場合が存在する。例えば、図8のREG2からREG3のパスである。これに対して、実施形態2では、遅延情報そのものを変更してタイミング解析を実行した結果を作成しているため、実施形態1の不安要素が存在しない。その代わり遅延情報の抽出のためタイミング解析を実施する場合とほぼ同じツールのターンアラウンドタイム(TAT)がかかる。このため、TATが実施形態1の1.5倍程度かかることが考えられる。
図8を参照すると、REG1からREG3へのパスが実遅延では8.24nsと長いが実施形態1で見積もると0.49nsのデータ遅延となる。しかし、REG2からREG3の遅延は0.1ns(FFも0.15ns)を超えないため実遅延と同じ1.99nsとなり、見積もりでのワーストパスの経路が変わる。
初期タイミング解析結果を取る時点で網羅的にタイミング解析結果を取ることにより、上述したようなケースも確認できるがかなり多い数のレポートを取らなくてはならなくなるため実用的でない。そのため、静的タイミング解析を実施する段階で、適切なクリティカルパスを想定するような手法が実施形態2となる。
本実施形態では、遅延補正情報によって、遅延情報の遅延値を遅延上限値に差し替える処理を実施する。そのため、図8を参照して説明したように、タイミング解析結果に示すパスが実施形態1と異なる場合が生じる。このため、実施形態1では初期タイミング解析結果に含まれないパスがデータラインの遅延改善後にエラー箇所となる場合が存在する。例えば、図8のREG2からREG3のパスである。これに対して、実施形態2では、遅延情報そのものを変更してタイミング解析を実行した結果を作成しているため、実施形態1の不安要素が存在しない。その代わり遅延情報の抽出のためタイミング解析を実施する場合とほぼ同じツールのターンアラウンドタイム(TAT)がかかる。このため、TATが実施形態1の1.5倍程度かかることが考えられる。
図8を参照すると、REG1からREG3へのパスが実遅延では8.24nsと長いが実施形態1で見積もると0.49nsのデータ遅延となる。しかし、REG2からREG3の遅延は0.1ns(FFも0.15ns)を超えないため実遅延と同じ1.99nsとなり、見積もりでのワーストパスの経路が変わる。
初期タイミング解析結果を取る時点で網羅的にタイミング解析結果を取ることにより、上述したようなケースも確認できるがかなり多い数のレポートを取らなくてはならなくなるため実用的でない。そのため、静的タイミング解析を実施する段階で、適切なクリティカルパスを想定するような手法が実施形態2となる。
実施形態3.
実施形態1,2では上限遅延値を一律に設定し、組み合わせ回路100ps、フリップフロップ150psといったように固定遅延で設定していた。本実施形態では、遅延上限値の見積もり方をセルに応じて設定する態様を説明する。
処理部2は、解析対象回路のレイアウト情報を検索して、複数のセルの容量と入力波形鈍りを抽出し、抽出した前記容量と前記入波形鈍りの平均値を算出し、算出した平均値を、前記複数のセルの機能毎にドライブ能力が最も高いセルに適用して算出し、遅延上限値を設定する遅延上限値設定処理を実施する。
実施形態1,2では上限遅延値を一律に設定し、組み合わせ回路100ps、フリップフロップ150psといったように固定遅延で設定していた。本実施形態では、遅延上限値の見積もり方をセルに応じて設定する態様を説明する。
処理部2は、解析対象回路のレイアウト情報を検索して、複数のセルの容量と入力波形鈍りを抽出し、抽出した前記容量と前記入波形鈍りの平均値を算出し、算出した平均値を、前記複数のセルの機能毎にドライブ能力が最も高いセルに適用して算出し、遅延上限値を設定する遅延上限値設定処理を実施する。
図12は、実施形態3のタイミング解析の手順の一例を示す図である。
本実施形態のタイミング解析プログラムは、図12に示すステップS31からS35の各処理を図4に示すタイミング解析装置100に実行させる。
処理部2は、解析対象回路のレイアウト情報を記憶部1から読み出す(S31)。レイアウト情報は、タイミング解析の実施前までに生成され、記憶部1に格納されている。ステップS31の右側の点線の矢印の先に示すリストは、レイアウト情報の一例を示す。
処理部2は、解析対象回路のレイアウト情報から、複数のセルのCload(配線容量)、TRF(入力波形鈍り)を抽出し、チップ全体の配線容量及び入力波形鈍りの平均値を算出する(S32)。なお、複数のセルのCload、TRFの平均値でなくても、1σ,2σの上限などを用いてもよい。処理部2は、配線容量及び入力波形鈍りの平均値を記憶部1へ格納する(S33)。ステップS33の右側の点線の矢印の先に示すリストは、配線容量及び入力波形鈍りの平均値の一例を示す。
次に処理部2は、セルのライブラリから各機能(Function)の最大のドライブ能力のセルを抽出し、抽出したセルへ配線容量、入力波形鈍りの平均値を使用して、セル遅延を抽出する(S34)。抽出したセル遅延を、機能毎の遅延上限値を含む遅延上限情報を記憶部1へ格納する(S35)。セルのライブラリは、予めレイアウト設計者などによって生成される情報である。ステップS31の右側の点線の矢印の先に示すリストは、機能毎に設定した上限遅延値の一例を示す。
本実施形態のタイミング解析プログラムは、図12に示すステップS31からS35の各処理を図4に示すタイミング解析装置100に実行させる。
処理部2は、解析対象回路のレイアウト情報を記憶部1から読み出す(S31)。レイアウト情報は、タイミング解析の実施前までに生成され、記憶部1に格納されている。ステップS31の右側の点線の矢印の先に示すリストは、レイアウト情報の一例を示す。
処理部2は、解析対象回路のレイアウト情報から、複数のセルのCload(配線容量)、TRF(入力波形鈍り)を抽出し、チップ全体の配線容量及び入力波形鈍りの平均値を算出する(S32)。なお、複数のセルのCload、TRFの平均値でなくても、1σ,2σの上限などを用いてもよい。処理部2は、配線容量及び入力波形鈍りの平均値を記憶部1へ格納する(S33)。ステップS33の右側の点線の矢印の先に示すリストは、配線容量及び入力波形鈍りの平均値の一例を示す。
次に処理部2は、セルのライブラリから各機能(Function)の最大のドライブ能力のセルを抽出し、抽出したセルへ配線容量、入力波形鈍りの平均値を使用して、セル遅延を抽出する(S34)。抽出したセル遅延を、機能毎の遅延上限値を含む遅延上限情報を記憶部1へ格納する(S35)。セルのライブラリは、予めレイアウト設計者などによって生成される情報である。ステップS31の右側の点線の矢印の先に示すリストは、機能毎に設定した上限遅延値の一例を示す。
処理部2は、例えば、複数のセルのうち、フリップフロップと、フリップフロップ以外の組合せ回路との少なくとも二種類のセルに関する遅延上限値を含む遅延上限情報を生成し、記憶部1へ格納する。または、処理部2は、複数のセルの機能毎に定義した遅延上限値を含む遅延上限情報を生成し、記憶部1へ格納する。
上述した処理によって生成した遅延上限情報を、実施形態1、2などの遅延上限値としてセル毎に設定することにより精度を上げて確認することが可能となる。
配線遅延も、上述したセル遅延と同様にレイアウト情報から配線遅延の平均値を抽出することで精度を上げることが可能となる。
実施形態1,2では一律で遅延値を決めていたため、AND,ORを使用した複合セルと通常のバッファ、インバータとが同じ遅延値となる。セルにより平均的な遅延値が異なるため、実施形態3ではレイアウト後の情報からデータラインの配線容量と入力波形鈍りの分布を抽出し、配線容量と入力波形鈍りの平均値を算出し、遅延上限値として使用することで精度を向上させることができる。なお、本実施形態では、トランジスタの遅延値が配線容量と入力波形鈍り途に基づいて決まることから、これらの要素を用いて遅延上限値を決定する手法を提案したが、他の要素を用いることを排除するものではない。
上述した処理によって生成した遅延上限情報を、実施形態1、2などの遅延上限値としてセル毎に設定することにより精度を上げて確認することが可能となる。
配線遅延も、上述したセル遅延と同様にレイアウト情報から配線遅延の平均値を抽出することで精度を上げることが可能となる。
実施形態1,2では一律で遅延値を決めていたため、AND,ORを使用した複合セルと通常のバッファ、インバータとが同じ遅延値となる。セルにより平均的な遅延値が異なるため、実施形態3ではレイアウト後の情報からデータラインの配線容量と入力波形鈍りの分布を抽出し、配線容量と入力波形鈍りの平均値を算出し、遅延上限値として使用することで精度を向上させることができる。なお、本実施形態では、トランジスタの遅延値が配線容量と入力波形鈍り途に基づいて決まることから、これらの要素を用いて遅延上限値を決定する手法を提案したが、他の要素を用いることを排除するものではない。
実施形態4.
実施形態4では、解析対象回路のレイアウト情報に基づいて、タイミング解析の精度を向上させる一態様を説明する。レイアウト設計では、隣り合うセル間の配線長(配線距離)が所定の長さを超える場合、リピータを挿入する。しかし、レイアウトツールを用いてレイアウト設計を行う場合、ツールの都合によりリピータが挿入されずにレイアウト設計が行われる場合がある。このような場合、データラインの遅延改善によってタイミング制約を満たすことが困難になる。そこで、予め、レイアウト情報からセル間の配線長を抽出し、配線長が所定の長さを超える場合には、リピータを挿入してタイミング解析を実施する。
図13は、実施形態4のタイミング解析の手順の一例を示す図である。図13に示すタイミング解析の手順は、図9に示す実施形態2のタイミング解析の手順へリピータ挿入に関する処理ステップS41からS43を追加したものである。
処理部2は、遅延値変更処理として、さらに、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、抽出した配線にリピータの遅延値を前記遅延補正情報に加えることを実施する。
ステップS41からS44を除いて、実施形態2と同様の動作であるため、重複する処理については説明を省略する。
実施形態4では、解析対象回路のレイアウト情報に基づいて、タイミング解析の精度を向上させる一態様を説明する。レイアウト設計では、隣り合うセル間の配線長(配線距離)が所定の長さを超える場合、リピータを挿入する。しかし、レイアウトツールを用いてレイアウト設計を行う場合、ツールの都合によりリピータが挿入されずにレイアウト設計が行われる場合がある。このような場合、データラインの遅延改善によってタイミング制約を満たすことが困難になる。そこで、予め、レイアウト情報からセル間の配線長を抽出し、配線長が所定の長さを超える場合には、リピータを挿入してタイミング解析を実施する。
図13は、実施形態4のタイミング解析の手順の一例を示す図である。図13に示すタイミング解析の手順は、図9に示す実施形態2のタイミング解析の手順へリピータ挿入に関する処理ステップS41からS43を追加したものである。
処理部2は、遅延値変更処理として、さらに、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、抽出した配線にリピータの遅延値を前記遅延補正情報に加えることを実施する。
ステップS41からS44を除いて、実施形態2と同様の動作であるため、重複する処理については説明を省略する。
処理部2は、解析対象回路のレイアウト情報からセルの位置を抽出して位置情報を生成し、記憶部1へ格納する(S41)。セルの位置を取得すると、隣り合うセル間の位置に基づいてセル間の配線長を算出することができる。
リピータ遅延テーブルは、予め定義された情報であり、記憶部1へ格納される。処理部2は、リピータ遅延テーブルを記憶部1から読み出すことにより取得する(S42)。
処理部2は、ステップS26において、データラインを構成するセルの遅延値が遅延上限値を超えていると判定すると(S26、YES)、位置情報を解析し、隣り合うセル間の配線長が所定の値を超える場合には、遅延値を加算する。加算する遅延値は、リピータ遅延テーブルに基づいて取得する。図14にリピータ遅延テーブルの一例を示す。図14の例では、配線長が500μmを超える場合には、遅延上限値に150psを加算し、以降、500μmを超える毎に150ps加算することを設定している。
処理部2はリピータ遅延テーブルに基づいて算出した遅延補正値を遅延上限値に加算し(S43)、遅延補正情報を生成し、記憶部1へ格納する(S44)。
リピータなどが挿入されていない箇所に実施形態1,2のような一律の遅延値を使用すると見積もり違反値まで改善しきれない場合がある。それを避けるためピン同士の距離情報を抜き出して、リピータが必要になる距離以上はなれている場合はリピータの遅延分を加算できるようにする。
リピータ遅延テーブルは、予め定義された情報であり、記憶部1へ格納される。処理部2は、リピータ遅延テーブルを記憶部1から読み出すことにより取得する(S42)。
処理部2は、ステップS26において、データラインを構成するセルの遅延値が遅延上限値を超えていると判定すると(S26、YES)、位置情報を解析し、隣り合うセル間の配線長が所定の値を超える場合には、遅延値を加算する。加算する遅延値は、リピータ遅延テーブルに基づいて取得する。図14にリピータ遅延テーブルの一例を示す。図14の例では、配線長が500μmを超える場合には、遅延上限値に150psを加算し、以降、500μmを超える毎に150ps加算することを設定している。
処理部2はリピータ遅延テーブルに基づいて算出した遅延補正値を遅延上限値に加算し(S43)、遅延補正情報を生成し、記憶部1へ格納する(S44)。
リピータなどが挿入されていない箇所に実施形態1,2のような一律の遅延値を使用すると見積もり違反値まで改善しきれない場合がある。それを避けるためピン同士の距離情報を抜き出して、リピータが必要になる距離以上はなれている場合はリピータの遅延分を加算できるようにする。
また、図13では、実施形態2のタイミング解析の手法へリピータを挿入する遅延値変更処理を実施する態様を説明したが、実施形態1へ追加することもできる。この場合、例えば処理部2は、遅延値変更処理として、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、抽出した配線にリピータの遅延値を、スラック値の見積もった見積結果に加算する。
以上説明した通り、本実施形態では、遅延値変更処理が、解析対象回路のレイアウト情報から複数のセルの位置情報を取得し、位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出する。解析処理は、抽出した配線にリピータの遅延値をタイミング解析結果に反映されるように働く。これにより、配線長が長い場合でもデータラインの遅延改善によりタイミング制約の違反値を抑制できるか否かの判断を容易にし、精度を向上させることができる。
その他の実施形態.
上記各実施形態では、タイミング解析プログラムにより、一実施形態のタイミング解析の手法を実現する場合を説明した。上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
加えて、プログラムは、例えば、CD(Compact Disk)やフラッシュメモリを搭載したUSB(Universal Serial Bus)メモリといった持ち運び可能な記録媒体に記録されてもよい。この場合、実行プログラムは、これらの持ち運び可能な記録媒体から、コンピュータの備えるCDドライブや、USBポート等を介して導入される。
上記各実施形態では、タイミング解析プログラムにより、一実施形態のタイミング解析の手法を実現する場合を説明した。上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
加えて、プログラムは、例えば、CD(Compact Disk)やフラッシュメモリを搭載したUSB(Universal Serial Bus)メモリといった持ち運び可能な記録媒体に記録されてもよい。この場合、実行プログラムは、これらの持ち運び可能な記録媒体から、コンピュータの備えるCDドライブや、USBポート等を介して導入される。
上記各実施形態では、一実施形態のタイミング解析の手法をプログラムによって実現する場合を説明したが、これに限られるものではなく、例えば、ハードウェア、ファームウェア、ソフトウェアを組み合わせて実現する場合を排除するものではない。
以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 記憶部
2 処理部
C11〜C15、C21〜C29 セル
100 タイミング解析装置
2 処理部
C11〜C15、C21〜C29 セル
100 タイミング解析装置
Claims (20)
- コンピュータに、
解析対象回路の回路情報、前記解析対象回路のタイミング制約を規定するタイミング制約情報、前記解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、前記複数のセルに関する前記複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部に記憶させる記憶処理と、
前記複数のセルに関する前記複数の遅延値の少なくとも一つを、前記遅延上限値に変更する遅延値変更処理と、
前記回路情報、前記タイミング制約情報、前記遅延情報に加え、前記変更した遅延上限値を用いてスラック値を見積もって前記解析対象回路のタイミングを解析する解析処理と、実行させるタイミング解析プログラム。 - 前記遅延値変更処理は、前記遅延情報を用いて生成されたタイミング解析結果を入力とし、前記タイミング解析結果に含まれる前記複数の遅延値のうちの少なくとも一つを前記遅延上限値に差し替え、
前記解析処理は、前記遅延値変更処理が差し替えた遅延上限値を用いてスラック値を見積もった見積結果を生成する請求項1記載のタイミング解析プログラム。 - 前記遅延値変更処理は、前記タイミング解析結果に示されるスラック値がタイミング違反を示すパスを抽出し、抽出したパスに含まれる前記複数の遅延値から前記遅延上限値より大きいセルを検出し、検出したセルの遅延値を前記遅延上限値に変更し、
前記解析処理は、変更された前記遅延値上限値を用いて前記見積結果を算出する請求項2記載のタイミング解析プログラム。 - 前記解析処理は、前記タイミング解析結果へ前記見積結果を挿入し、前記遅延情報を用いてタイミングを解析したスラック値と、前記見積結果とを前記タイミング解析結果に示す請求項3記載のタイミング解析プログラム。
- 前記遅延値変更処理は、前記回路情報からデータラインを構成するセルを抽出し、前記セルに対応づけられた前記遅延値が前記遅延上限値を超える場合、前記遅延値を前記遅延上限値に修正する遅延補正情報を生成し、
前記解析処理は、前記遅延補正情報を用いてタイミングを解析したタイミング解析結果を生成させる請求項1記載のタイミング解析プログラム。 - 前記遅延値変更処理は、前記遅延補正情報を生成するときに、前記回路情報からクロック以外のセルの出力ピンを抽出し、任意のセルについて、前段のセルの出力ピンから前記任意のセルの出力ピンまでに対応づけられた前記遅延値を前記遅延情報から取得し、取得した遅延値が算出した前記遅延上限値より大きい場合には、前記取得した遅延値を前記遅延上限値へ変更する請求項5記載のタイミング解析プログラム。
- 前記遅延上限情報は、前記複数のセルの機能毎に設定した前記遅延上限値を含む請求項1記載のタイミング解析プログラム。
- コンピュータに、
前記複数のセルの機能毎に設定した前記遅延上限値として、前記解析対象回路の前記回路情報を検索して、前記複数のセルの配線容量と入力波形鈍りを抽出し、抽出した前記配線容量及び前記入波形鈍りのチップ内の平均値を算出し、前記複数のセルの機能毎に、算出した平均値をドライブ能力が最も高いセルに適用して算出した値を設定する遅延上限値設定処理をさらに実行させる請求項7記載のタイミング解析プログラム。 - 前記遅延値変更処理は、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、
前記解析処理は、前記抽出した配線にリピータの遅延値を前記タイミング解析結果に加える請求項1記載のタイミング解析プログラム。 - 前記遅延値変更処理は、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記タイミング解析の修正結果に加える請求項2記載のタイミング解析プログラム。
- 前記遅延値変更処理は、前記遅延補正情報を生成するときに、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記遅延補正情報に加える請求項5記載のタイミング解析プログラム。
- 前記遅延値変更処理は、前記遅延補正情報を生成するときに、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記遅延補正情報に加える請求項6記載のタイミング解析プログラム。
- 任意のセルに関する遅延値は、前記任意のセルの前段のセルの出力ピンから前記任意のセルの出力ピンまでの遅延量であり、
前記遅延上限値は、前記前段のセル及び前記任意のセル間のネット遅延と前記任意のセルの遅延値とを加算した値である請求項1記載のタイミング解析プログラム。 - 前記複数のセルに関する遅延値は、前記複数のセルに定義される複数のセル遅延値と、前記複数のセル間の配線に定義されるネット遅延値とを含み、
前記遅延上限値は、前記複数のセルに設定される少なくとも一つのセル遅延上限値と、の前記複数のセル間の配線に設定されるネット遅延上限値とを含む請求項1記載のタイミング解析プログラム。 - 解析対象回路の回路情報、前記解析対象回路のタイミング制約を規定するタイミング制約情報、前記解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、前記複数のセルに関する前記複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶する記憶部と、
前記複数のセルに関する前記複数の遅延値の少なくとも一つを、前記遅延上限値に変更し、前記変更した遅延上限値を用いてスラック値を見積もって前記解析対象回路のタイミングを解析する処理部と、を備えるタイミング解析装置。 - 実施例1
前記処理部は、前記遅延情報を用いて生成されたタイミング解析結果を入力とし、前記タイミング解析結果に含まれる前記複数の遅延値のうちの少なくとも一つを前記遅延上限値に差し替え、差し替えた前記遅延上限値を用いてスラック値を見積もった見積結果を生成する請求項15記載のタイミング解析装置。 - 実施例2
前記処理部は、前記回路情報からデータラインを構成するセルを抽出し、前記セルに対応づけられた前記遅延値が前記遅延上限値を超える場合、前記遅延値を前記遅延上限値に修正する遅延補正情報を生成し、前記遅延補正情報を用いてタイミングを解析したタイミング解析結果を生成させる請求項15記載のタイミング解析装置。 - 実施例3
前記遅延上限情報は、前記複数のセルの機能毎に定義した前記遅延上限値を含む請求項15記載のタイミング解析装置。 - 実施例3
前記処理部は、前記解析対象回路の前記回路情報から前記複数のセルの位置情報を取得し、前記位置情報を解析して任意のセル間の配線長が所定の長さを超える配線を抽出し、前記抽出した配線にリピータの遅延値を前記タイミング解析結果に加える請求項15記載のタイミング解析装置。 - 解析対象回路の回路情報、前記解析対象回路のタイミング制約を規定するタイミング制約情報、前記解析対象回路を構成する複数のセルに関する複数の遅延値を定義した遅延情報、及び、前記複数のセルに関する前記複数の遅延値に対して上限を設定する遅延上限値を少なくとも一つ含む遅延上限情報を記憶部に記憶させ、
前記複数のセルに関する前記複数の遅延値の少なくとも一つを、前記遅延上限値に変更し、
前記回路情報、前記タイミング制約情報、前記遅延情報に加え、前記変更した遅延上限値を用いてスラック値を見積もって前記解析対象回路のタイミングを解析するタイミング解析方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012187225A JP2014044610A (ja) | 2012-08-28 | 2012-08-28 | タイミング解析プログラム、タイミング解析装置およびタイミング解析方法 |
US13/946,859 US9342643B2 (en) | 2012-08-28 | 2013-07-19 | Non-transitory computer readable medium storing timing analysis program, timing analysis device, and timing analysis method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012187225A JP2014044610A (ja) | 2012-08-28 | 2012-08-28 | タイミング解析プログラム、タイミング解析装置およびタイミング解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014044610A true JP2014044610A (ja) | 2014-03-13 |
Family
ID=50189305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012187225A Pending JP2014044610A (ja) | 2012-08-28 | 2012-08-28 | タイミング解析プログラム、タイミング解析装置およびタイミング解析方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9342643B2 (ja) |
JP (1) | JP2014044610A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9165105B2 (en) * | 2013-12-13 | 2015-10-20 | Taiwan Semiconductor Manufacturing Co., Ltd. | Rule checking for confining waveform induced constraint variation in static timing analysis |
JP2019036199A (ja) * | 2017-08-18 | 2019-03-07 | 富士通株式会社 | 情報処理装置、タイミングエラー解析プログラム及びタイミングエラー解析方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993024895A2 (en) * | 1992-06-04 | 1993-12-09 | Xilinx, Inc. | Timing driven method for laying out a user's circuit onto a programmable integrated circuit device |
US6367051B1 (en) * | 1998-06-12 | 2002-04-02 | Monterey Design Systems, Inc. | System and method for concurrent buffer insertion and placement of logic gates |
JP4759419B2 (ja) | 2006-03-23 | 2011-08-31 | 富士通株式会社 | 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置 |
JP5397083B2 (ja) * | 2009-08-17 | 2014-01-22 | 富士通株式会社 | 回路設計支援方法、回路設計支援装置および回路設計支援プログラム |
-
2012
- 2012-08-28 JP JP2012187225A patent/JP2014044610A/ja active Pending
-
2013
- 2013-07-19 US US13/946,859 patent/US9342643B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20140068536A1 (en) | 2014-03-06 |
US9342643B2 (en) | 2016-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4946573B2 (ja) | デカップリングセル配置方法及びデカップリングセル配置装置 | |
US10380285B2 (en) | Static timing analysis in circuit design | |
US9165105B2 (en) | Rule checking for confining waveform induced constraint variation in static timing analysis | |
CN104981805A (zh) | 自动时钟树布线规则生成 | |
US11036913B2 (en) | Integrated circuit methods using single-pin imaginary devices | |
US8069026B2 (en) | Clock gating analyzing apparatus, clock gating analyzing method, and computer product | |
JPWO2010092825A1 (ja) | 回路解析方法 | |
US20110295536A1 (en) | Clock jitter analyzing method and apparatus | |
JP2014044610A (ja) | タイミング解析プログラム、タイミング解析装置およびタイミング解析方法 | |
US20160116533A1 (en) | Diagnostic apparatus | |
US20120317526A1 (en) | Verification method, computer-readable recording medium, and design verification apparatus | |
JP4736822B2 (ja) | 半導体集積回路の設計支援装置、設計支援方法および設計支援プログラム | |
US8381159B2 (en) | Method of semiconductor integrated circuit, and computer readable medium | |
US7945882B2 (en) | Asynchronous circuit logical verification method, logical verification apparatus, and computer readable storage medium | |
US8904328B2 (en) | Support apparatus and design support method | |
US8266564B2 (en) | Verification apparatus, verification method, and computer-readable recording medium for supporting engineering change order | |
US10885248B1 (en) | Method for modeling glitches during circuit simulation | |
JP2010039925A (ja) | 遅延時間解析装置,遅延時間解析方法および遅延時間解析プログラム | |
US20110302548A1 (en) | Delay library generation device and method | |
JP5338919B2 (ja) | 集積回路の消費電力算出方法、消費電力算出プログラム及び消費電力算出装置 | |
JP2014219838A (ja) | タイミング修正プログラム、タイミング修正装置およびタイミング修正方法 | |
US7552411B2 (en) | LSI analysis method, LSI analysis apparatus, and computer product | |
JP2007257375A (ja) | 遅延解析プログラム、記録媒体、遅延解析方法、および遅延解析装置 | |
US8782579B2 (en) | Connection verification method, recording medium thereof, and connection verification apparatus | |
US20090292837A1 (en) | Propagation path specifying device, propagation path specifying method and computer program product |