JP4475691B2 - 計算機支援タイミング調整方法及び装置並びに記憶媒体 - Google Patents

計算機支援タイミング調整方法及び装置並びに記憶媒体 Download PDF

Info

Publication number
JP4475691B2
JP4475691B2 JP13888798A JP13888798A JP4475691B2 JP 4475691 B2 JP4475691 B2 JP 4475691B2 JP 13888798 A JP13888798 A JP 13888798A JP 13888798 A JP13888798 A JP 13888798A JP 4475691 B2 JP4475691 B2 JP 4475691B2
Authority
JP
Japan
Prior art keywords
cell
timing
error
computer
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
JP13888798A
Other languages
English (en)
Other versions
JP2000003374A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP13888798A priority Critical patent/JP4475691B2/ja
Priority to US09/289,966 priority patent/US6606736B1/en
Publication of JP2000003374A publication Critical patent/JP2000003374A/ja
Application granted granted Critical
Publication of JP4475691B2 publication Critical patent/JP4475691B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

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

【0001】
【発明の属する技術分野】
本発明は、レイアウト設計された論理回路のタイミングを自動又は半自動で調整してタイミングエラー(セットアップエラー及びホールドエラー)を解消する計算機支援タイミング調整方法及び装置並びにこの方法を実施するためのプログラムが格納された記憶媒体に関する。
【0002】
【従来の技術】
論理回路は、その集積化及び微細化の進展に伴い、ゲート遅延時間に対する配線遅延時間の割合が益々大きくなっている。このため、レイアウト設計された論理回路に基づいて計算機によるタイミング解析が行われている。
従来のタイミング調整では、設計者がタイミングエラーパスのゲート遅延時間及び配線遅延時間を参照し、置換または挿入すべきセルを選択し、その置換または挿入を行っていた。
【0003】
【発明が解決しようとする課題】
この際、信号鈍り値や、複数のタイミングエラーパスが重なった場合のエラーパス数が考慮がされず、効果的なタイミング調整を行うことができなかった。
また、セルの置換や挿入により、その付近のゲート遅延時間及び配線遅延時間が変化するので、ネットリスト及びレイアウトを更新した後にタイミング解析を再度行って、調整結果を確認する必要があり、このような処理を繰り返しの中で、セルの置換や挿入が設計者により手動で行われるため、タイミング調整に長時間を要していた。
【0004】
本発明の目的は、このような問題点に鑑み、タイミング調整をより効果的に行って調整時間を短縮することが可能な計算機支援タイミング調整方法及び装置並びに記憶媒体を提供することにある。
【0005】
本発明の第1態様では、配置配線設計された半導体集積回路のタイミングを調整する計算機支援タイミング調整方法であって、該半導体集積回路は、第1フリップフロップの出力が組み合わせ回路を介して第2フリップフロップのデータ入力端に供給されクロックに同期して動作する順序回路を含んでおり、例えば図4に示す如く、
タイミングエラーの種類及びタイミングエラーパスの情報を含むタイミングエラー情報と、該配置配線設計の下での信号伝播遅延に関係した遅延情報と、各セルの機能及び駆動能力の情報を含む論理情報とを準備し、
該順序回路がセットアップエラーパスであることが該タイミングエラー情報に含まれている場合に、該遅延情報を参照して該組み合わせ回路中の、最大のセットアップエラー発生原因と推定されるセルを選択し、
該論理情報中の、選択した該セルと同一機能で、選択した該セルより駆動能力が大きいセルを探索し、
選択した該セルを探索した該セルに置換し、
該遅延情報にセルの入力信号鈍り値が含まれ、
該選択の工程では、入力信号鈍り値が最大であるセルの前段のセルを選択する。
【0006】
この計算機支援タイミング調整方法によれば、駆動能力の増加分に対するパス遅延値の減少量の割合が比較的大きくなり、効果的であるので、タイミング調整時間が短縮されるという効果を奏する。
【0021】
請求項22の計算機支援タイミング調整方法では、請求項1、6、12、13又は17において、上記論理情報では、機能及び入出力点数が同一のセルが同一ファミリに纏められており、
上記探索の工程では、選択された上記セルと同一のファミリの中から選択する。
【0024】
本発明の第3態様の計算機支援タイミング調整方法では、上記第1態様において、例えば図2に示す如く、上記タイミングエラー情報は、エラー解消に必要な信号伝播遅延時間の増加又は減少量を含み、
入力手段により、タイミングエラー調整前に下限値設定されており、
上記計算機が、該増加又は減少量が該下限値より大きいもののみ上記置換又は挿入によるタイミングエラー調整を行う。
【0025】
この計算機支援タイミング調整方法によれば、該増加又は減少量が該下限値より小さくて直接調整対象外であっても、間接的に調整が行われるので、エラーが解消され得る。また、このようにすることにより、過剰調整が防止され、調整時間が短縮される。
本発明の第4態様の計算機支援タイミング調整方法では、上記第1態様において、上記計算機が、例えば図21に示す如く、上記置換後に、置換したセルを含む調整対象のセットアップエラーパスの信号伝播遅延時間を算出する工程をさらに有し、
該計算機が、上記セルの選択、探索及び置換の工程、並びに該算出工程を、タイミングエラーが解消されるまで繰り返し実行する。
【0026】
この計算機支援タイミング調整方法によれば、置換又は挿入毎に、効果的な置換セル又はセル挿入位置が選択されるという効果を奏する。
本発明の第5態様の計算機支援タイミング調整方法では、上記第1態様において、例えば図22に示す如く、上記計算機が、上記置換後に、置換したセルを含む調整対象のセットアップエラーパスの信号伝播遅延時間を算出する工程をさらに有し、
該計算機が、上記セルの探索及び置換の工程、並びに該算出工程を、タイミングエラーが解消されるまで繰り返し実行する。
【0027】
この計算機支援タイミング調整方法によれば、置換対象のセル数が請求項26の場合よりも少なくなって、他のパスへの影響が低減されるという効果を奏する。
【0028】
本発明の第6態様では、上記第1態様において、例えば図21又は図22に示す如く、上記計算機が、上記セルの置換が行われた上記半導体集積回路についてタイミングエラーを検出し、上記タイミングエラー情報及び上記遅延情報を更新して、タイミングエラーが無くなるまで上記置換によるタイミング調整を繰り返す。
この計算機支援タイミング調整方法によれば、タイミング調整が全自動で繰り返し行われる。
【0030】
本発明の第7態様では、配置配線設計された半導体集積回路のタイミングを調整する計算機支援タイミング調整装置であって、該半導体集積回路は、第1フリップフロップの出力が組み合わせ回路を介して第2フリップフロップのデータ入力端に供給されクロックに同期して動作する順序回路を含んでおり、例えば図1及び図4に示す如く、
タイミングエラーの種類及びタイミングエラーパスの情報を含むタイミングエラー情報と、該配置配線設計の下での信号伝播遅延に関係した遅延情報と、各セルの機能及び駆動能力の情報を含む論理情報とを格納するための記憶装置と、
該順序回路がセットアップエラーパスであることが該タイミングエラー情報に含まれている場合に、該遅延情報を参照して該組み合わせ回路中の、最大のセットアップエラー発生原因と推定されるセルを選択し、該論理情報中の、選択した該セルと同一機能で、選択した該セルより駆動能力が大きいセルを探索し、選択した該セルを探索した該セルに置換する計算機とを有し、
該遅延情報にセルの入力信号鈍り値が含まれ、該計算機は、該選択において、入力信号鈍り値が最大であるセルの前段のセルを選択する。
【0031】
この計算機支援タイミング調整装置によれば、同種複数のタイミングエラーパスでのタイミングが同時に調整され、調整が効果的に行われので、タイミング調整時間が短縮されるという効果を奏する。
【0035】
【発明の実施の形態】
以下、図面に基づいて本発明の実施形態を説明する。
[第1実施形態]
図3(A)において、レイアウト設計された半導体集積回路10内でタイミングエラーは、順序回路11を単位として生じる。この順序回路11は、フリップフロップFF1の出力端とフリップフロップFF2の入力端との間に、組み合わせ回路12が接続されている。クロックCLKの立ち上がりのタイミングでフリップフロップFF1に保持されたデータは、組み合わせ回路12を通り、次のクロックCLKの立ち上がりのタイミングでフリップフロップFF2に保持される。
【0036】
フリップフロップFF2の入力ピンDにデータDATA1が到達してからクロックCLKの立ち上がりまでの時間(セットアップタイム)TSが、図3(B)に示す如く短過ぎると、製造プロセスのばらつきや半導体チップ温度の変化等によりTSが負になって、誤動作が生ずる。この誤動作が生じないことを保証する時間がΔTSだ不足しているとすると、タイミングエラー解析においてΔTS>0のとき、順序回路11がセットアップエラーパスであると判定される。この場合、後述のように組み合わせ回路12中のセルCEL1又はCEL2を他のセルで置換することにより、図3(B)において、データDATA1がDATA2となって、すなわちΔTS<0となって、タイミングエラーが解消される。ここにセルは、アンドゲートやインバータなどの任意の基本ゲートである。
【0037】
クロックCLKが立ち上がってから、フリップフロップFF2の入力ピンDでデータDATA1が次のデータに変化するまでの時間(ホールドタイム)THが、図3(C)に示す如く長過ぎると、上記同様に誤動作が生ずる。この誤動作が生じないことを保証する時間がΔTHだ不足しているとすると、タイミングエラー解析においてΔTH>0のとき、順序回路11がホールドエラーパスであると判定される。この場合、後述のように組み合わせ回路12中にセルを挿入することにより、図3(C)において、データDATA1がDATA3となって、すなわちΔTH<0となって、タイミングエラーが解消される。セルを置換してもよいが、駆動能力が小さくてエリアが狭いセルを挿入した方が面積上有利であり、以下においては、ホールドエラーパスの場合、セルの挿入のみ考える。
【0038】
図3(A)に示す如く、セルCEL1の出力端がセルCEL3を介してフリップフロップFF3の入力ピンDに接続されている場合、フリップフロップFF1の出力ピンQとフリップフロップFF3の入力ピンDとの間に、セルCEL1とCEL3とからなる組み合わせ回路13が接続された順序回路が構成される。この場合、セルCEL1は、組み合わせ回路12と13とで共通部分となっている。
【0039】
このような構成において、順序回路11のみがタイミングエラーパスである場合と、両順序回路がタイミングエラーパスである場合とが考えられる。また、後者の場合に、両タイミングエラーの種類が同一である場合と異なる場合とがある。本第1実施形態では、後述のように、各場合に応じて最も効果的にタイミング調整が行われるように工夫している。
【0040】
図1は、本発明の第1実施形態に係るタイミング調整システムの概略構成を示す。タイミング調整装置20は、計算機で構成され、記憶装置に格納されたタイミングエラー情報ファイル21、遅延情報ファイル22及び論理情報ファイル23の内容と、キーボード等の入力装置24からの入力値とに基づいて、タイミング調整を行い、その結果を表示装置25に表示させる。タイミングエラー情報ファイル21は、遅延情報ファイル22及び論理情報ファイル23に基づいて、公知のタイミング解析装置26により生成される。
【0041】
タイミングエラー情報ファイル21の内容は、図3(A)の回路に付した符号を使用すると、例えば次の通りである。
ERROR TYPE:SETUP
START PIN :FF1.Q
END PIN :FF2.D
DELTA :100ps
ERROR TYPE:HOLD
START PIN :FF1.Q
END PIN :FF3.D
DELTA :10ps
このリストの内容は、次の通りである。第1のレコードは、フリップフロップFF1の出力ピンQからフリップフロップFF2の入力ピンDまでがセットアップエラーパスであり、ΔTS=100psであることを示し、第2のレコードは、フリップフロップFF1の出力ピンQからフリップフロップFF3の入力ピンDまでがホールドエラーパスであり、ΔTH=10psであることを示している。
【0042】
セットアップエラーパス中の組み合わせ回路12の構成及びホールドエラーパス中の組み合わせ回路13の構成は、論理情報ファイル23内のネットリストから知得することができる。この処理を省略するために、タイミングエラー情報ファイル21の内容を例えば次のようにしてもよい。
Figure 0004475691
第1のレコード中のエラーパスは、フリップフロップFF1の出力ピンQ→セルCEL1の入力ピンA→セルCEL1の出力ピンX→セルCEL2の入力ピンA→セルCEL2の出力ピンX→フリップフロップFF2の入力ピンDであり、第2のレコード中のエラーパスは、フリップフロップFF1の出力ピンQ→セルCEL1の入力ピンA→セルCEL1の出力ピンX→セルCEL3の入力ピンA→セルCEL3の出力ピンX→フリップフロップFF3の入力ピンDである。
【0043】
遅延情報ファイル22には、レイアウト設計された半導体集積回路10についてのゲート入力の信号鈍り値、ゲート遅延時間及びゲート間の配線遅延時間の計算結果が含まれている。信号鈍り値は例えば、立ち上がり時間、立ち下がり時間又は両時間の平均値等である。
論理情報ファイル23には、ネットリスト及びセルデータが含まれており、セルデータにはセルの駆動能力及び所定条件下でのゲート遅延時間である基本遅延量が含まれている。
【0044】
次に、タイミング調整装置20による処理を、図2を参照して説明する。以下、括弧内は図中のステップ識別符号である。
(S1)調整対象エラーパスの不足時間ΔTの下限値ΔTminを、入力装置24から入力する。ここに不足時間ΔTは、上記ΔTS又はΔTHである。例えばΔT=20psの場合、上述のセットアップエラーパスは調整対象となるが、ホールドエラーパスは調整対象外である。調整対象外となっても、後述のように間接的にエラーが解消され得る。ΔTminはこれを考慮したものであり、その意味は後で明らかになる。
【0045】
(S2)タイミングエラー情報ファイル21から、次のタイミングエラーパスを1つ読み込む。読み込んだタイミングエラーパス(着目タイミングエラーパス)について以下のような調整処理が行われる。
(S3)着目タイミングエラーパスが有ればステップS4へ進み、無ければステップS9へ進む。
【0046】
(S4)着目タイミングエラーパスについて、ΔT<ΔTminであれば、ステップS2へ戻り、そうでなければステップS5へ進む。
(S5〜S7)図3(A)についての上述の分類にしたがって、セル選択及び置換、又は、セル挿入位置選択及び挿入の処理を行う。すなわち、着目タイミングエラーパスがセットアップエラーでタイミングエラーパスに重なりがなければステップSS1の処理を行い、重なりがあれば、すなわちマルチエラーパスであれば、ステップSS2の処理を行い、着目タイミングエラーパスがホールドエラーでタイミングエラーパスに重なりがなければステップSH1の処理を行い、重なりがあればステップSH2の処理を行う。これらの処理は、後に詳述する。
【0047】
(S8)セルの置換又は挿入に対応して、論理情報ファイル23内のネットリストを更新する。但し、元のネットリストが必要になる場合も考えられるので、元のネットリストは保存しておき、必要でなくなったときに削除する。次に、ステップS2へ戻る。
(S9)例えば次のような調整結果が遅延情報ファイル22に表示される。
【0048】
Figure 0004475691
このリストの内容は、次の通りである。
【0049】
第1のレコードは、フリップフロップFF1の出力ピンQからフリップフロップFF2の入力ピンDまでがセットアップエラーパスであり、ΔTS=100ps、パス遅延値(遅延値は正確には信号伝播遅延時間、以下同様)DLT=1500psであったものが、エラーパス中のセルA(論理情報ファイル23中のセル名a1l)を論理情報ファイル23中のセルa1hで置換することにより、DLT=1410psとなって、不足時間ΔTSが90減少し、しかしながらΔTS>0であるのでタイミングエラーが解消していないことを示している。第2のレコードは、フリップフロップFF3の出力ピンQからフリップフロップFF4の入力ピンDまでがホールドエラーパスであり、ΔTH=50ps、DLT=1000psであったものが、セルBの出力ピンXを挿入セルINSC(論理情報ファイル23中のセル名a1m)の入力ピンAに接続したことにより、DLT=1100psとなって、不足時間ΔTHが100増加し、ΔTH>0であるのでタイミングエラーが解消したことを示している。挿入セルINSCの接続先は、ネットリストから分かるので記載されていない。
【0050】
半導体集積回路10中にタイミングエラーパスが300あったものが、図2の処理により、10個のセルが置換され100個のセルが挿入され、結果として、250のタイミングエラーが解消され、残り50のタイミングエラーパスのうち、40は1≦ΔT≦100psであり、10は101≦ΔT≦200psであることを示している。
【0051】
次に、図4(A)〜図4(C)を参照して、図2中のステップSS1を詳説する。
(S10)着目セットアップエラーパス中の入力信号鈍り値を遅延情報ファイル22から読み取り、このパス中、入力信号鈍り値の最も大きなセルの前段のセルを選択する。
【0052】
例えば図4(B)に示す如く、フリップフロップFF1の出力ピンQがセルC1、C2及びC3を介してフリップフロップFF2の入力ピンDに接続された回路がセットアップエラーパスであり、セルC1、C2及びC3の入力信号鈍り値がそれぞれ94ps、110ps及び82psである場合、セルC2の前段のセルC1が選択される。
【0053】
(S11)論理情報ファイル23内の、セルC1と同一ファミリーで駆動能力がセルC1に最も近くかつ大きいセルC1Aを探索し、セルC1をC1Aに置換する。ここで、同一ファミリーとは、機能及び入力出力点数が同一であるセルの集合であり、論理情報ファイル23内のセルデータ(セル固有のデータ)はファミリーに分類されている。
【0054】
図4(C)は、この置換後の回路を示す。太線は、置換したセルを示している(以下同様)。図4(B)及び(C)には、ゲート(セル)の遅延値とその入力側配線の遅延値との和DL(以下、セルの遅延値DLと略記する。)が、各セルについて示されており、この置換によりそのセルと次段のセルの遅延値DLが減少して、パス遅延値DLTが例えば84ps減少する。
【0055】
このような置換を行えば、駆動能力の増加分に対するパス遅延値DLTの減少量の割合が比較的大きくなり、効果的である。
次に、図5〜図9(B)を参照して、図2中のステップSS2を詳説する。図6(A)〜図9(B)において、FF1〜FF4はフリップフロップであり、C1〜C5、C1A及びC3Aはセルである。
【0056】
(S20)タイミングエラー情報ファイル21を参照し、着目セットアップエラーパスが、他のセットアップエラーパスと重なっている場合にはステップS21へ進み、他のホールドエラーパスと重なっている場合にはステップS28へ進む。
(S21)タイミングエラー情報ファイル21を参照し、着目セットアップエラーパス中の各セルについて、セットアップエラーパス数NSを計数する。
【0057】
例えば図6(A)において、フリップフロップFF1からFF2までが着目セットアップエラーパスNS1であり、これにフリップフロップFF1からFF3までのセットアップエラーパスNS2とフリップフロップFF1からFF4までのセットアップエラーパスNS3とが部分的に重なっている場合、セットアップエラーパスNS1中のセルC1、C2及びC3の各々について、セットアップエラーパス数NSを計数する。この場合、セルC1、C2及びC3についての計数値はそれぞれ3、2及び1となる。
【0058】
(S22)セットアップエラーパス数NSが最大のセルを置換対象として選択する。図6(A)の場合には、セルC1が選択される。
(S23)選択されたセルが1つであればステップ24へ進み、複数であればステップS25へ進む。
(S24)選択したセルを、上記ステップS11同様にして置換する。
【0059】
これにより、図6(A)のセルC1がセルC1Aに置換されて図6(B)のようになる。セルC1及びC2の遅延値DLはそれぞれ48ps及び152psであり、この置換によりそれぞれ24ps及び90psに変化し、パス遅延値DLTの変化量ΔDLTは−86psになる。セルC1をC1Aに置換することにより、セットアップエラーパスNS1、SE2及びSE3でのタイミングが同時に調整されたことになり、調整が効果的に行われる。
【0060】
すなわち、セットアップエラーパスNS2及びSE3は着目タイミングエラーパスではないが、間接的に調整が行われるので、ΔTがΔT<ΔTminと小さければ直接調整しなくても、エラーが解消され得る。また、このようにすることにより、過剰調整が防止され、調整時間が短縮される。
次に、図2のステップS8へ進む。
【0061】
(S25)選択したセルが複数で、着目セットアップエラーパスの上流側に位置している場合にはステップS26へ進み、下流側に位置している場合にはステップS27へ進む。
(S26)着目セットアップエラーパス中の最も上流側のセルを選択する。
例えば図7(A)において、セルC1及びC2をステップS22で選択した場合、最も上流側のセルC1を選択する。セルC1及びC2の遅延値DLがそれぞれ48ps及び152psであった場合、次のステップS24でセルC1をC1Aに置換することにより図7(B)に示す如く、セルC1A及びC2の遅延値DLがそれぞれ24ps及び90psとなり、ΔDLT=−86psとなる。
【0062】
このようなセルの選択及び置換により、セットアップエラーパスNS1とSE2の共通部分のみの遅延値DLが減少するので、複数のセットアップエラーパスでのタイミングをより効果的に同時に調整することができる。
(S27)着目セットアップエラーパス中の最も下流側のセルを選択する。
例えば図8(A)において、セルC2及びC3をステップS22で選択した場合、最も下流側のセルC3を選択する。セルC2及びC3の遅延値DLがそれぞれ25ps及び48psであった場合、次のステップS24でセルC3をC3Aに置換することにより図8(B)に示す如く、セルC2及びC3Aの遅延値DLがそれぞれ36ps及び24psとなり、ΔDLT=−13psとなる。
【0063】
このようなセルの選択及び置換により、セットアップエラーパスNS1とSE2の共通部分のみの遅延値DLが減少するので、複数のセットアップエラーパスでのタイミングをより効果的に同時に調整することができる。
(S28)タイミングエラー情報ファイル21を参照し、着目セットアップエラーパス中の各セルについて、ホールドエラーパス数NHを計数する。
【0064】
例えば図9(A)において、フリップフロップFF1からFF2までが着目セットアップエラーパスNS1であり、これにフリップフロップFF1からFF3までのホールドエラーパスHE1とフリップフロップFF1からFF4までのホールドエラーパスHE2とが部分的に重なっている場合、セットアップエラーパスNS1中のセルC1、C2及びC3の各々について、ホールドエラーパス数NHを計数する。この場合、セルC1、C2及びC3の計数値はそれぞれ2、1及び0となる。
【0065】
(S22)ホールドエラーパス数NHが最小のセルを置換対象として選択する。
図9(A)の場合には、セルC3が選択される。次のステップS24でセルC3をセルC3Aに置換することにより図9(B)に示す如く、セルC2及びC3の遅延値DLがそれぞれ36ps及び24psとなり、ΔDLT=−13psとなる。
【0066】
このようなセルの選択及び置換により、主に着目セットアップエラーパスNS1のみでタイミング調整され、別途調整されるホールドエラーパスの不足時間ΔTHの増加を0又は少なくすることができ、複雑なマルチタイミングエラーパスでのタイミングを効果的に調整することができる。
次に、図10〜図14(B)を参照して、図2中のステップSH2を詳説する。図11(A)〜図14(B)において、FF1〜FF4はフリップフロップであり、C1〜C6はセルである。
【0067】
(S30)タイミングエラー情報ファイル21を参照し、着目ホールドエラーパスが、他のホールドエラーパスと重なっている場合にはステップS31へ進み、他のセットアップエラーパスと重なっている場合にはステップS38へ進む。
(S31)タイミングエラー情報ファイル21を参照し、着目ホールドエラーパス中の各セルについて、ホールドエラーパス数NHを計数する。
【0068】
例えば図11(A)において、フリップフロップFF1からFF2までが着目ホールドエラーパスHE1であり、これにフリップフロップFF1からFF3までのホールドエラーパスHE2とフリップフロップFF1からFF4までのホールドエラーパスHE3とが部分的に重なっている場合、ホールドエラーパスHE1中のセルC1、C2及びC3の各々について、ホールドエラーパス数NHを計数する。この場合、セルC1、C2及びC3の計数値はそれぞれ3、2及び1となる。
【0069】
(S32)ホールドエラーパス数NHが最大のセルを置換対象として選択する。図11(A)の場合には、セルC1が選択される。
(S33)選択されたセルが1つであればステップ34へ進み、複数であればステップS35へ進む。
(S34)選択したセルの入力側又は出力側、例えば入力側の配線に、非反転ゲート、例えば、インバータが2個縦続接続されたセル又は2入力オアゲートの一方の入力を‘0’に固定したセルを論理情報ファイル23から読み取って挿入する。
【0070】
これにより、図11(A)のセルC1の入力側配線にセルC6が挿入されて図11(B)のようになる。図11(B)中の太線は、挿入されたセルである(以下、同様)。セルC1の遅延値DLは48psであり、この挿入後のセルC6及びセルC1の遅延値DLがそれぞれ30ps及び40psになって、パス遅延量パス遅延値DLTの変化量ΔDLTは22psになる。セルC6の挿入により、ホールドエラーパスHE1、HE2及びHE3でのタイミングが同時に調整されたことになり、調整が効果的に行われる。
【0071】
すなわち、ホールドエラーパスHE2及びHE3は着目タイミングエラーパスではないが、間接的にタイミング調整が行われるので、ΔTがΔT<ΔTminとちいさければ直接調整しなくても、エラーが解消され得る。また、このようにすることにより、過剰調整が防止され、調整時間が短縮される。
次に、図2のステップS8へ進む。
【0072】
(S35)選択したセルが複数で、着目ホールドエラーパスの上流側に位置している場合にはステップS36へ進み、下流側に位置している場合にはステップS37へ進む。
(S36)着目ホールドエラーパス中の最も上流側のセルを選択する。
例えば図12(A)において、セルC1及びC2をステップS32で選択した場合、最も上流側のセルC1を選択する。セルC1の遅延値DLが48psであった場合、次のステップS34でセルC1の入力側に非反転ゲートのセルC5を挿入することにより図12(B)に示す如く、セルC5及びセルC1の遅延値DLが30ps及び40psとなり、ΔDLT=22psとなる。
【0073】
このようなセル挿入により、ホールドエラーパスHE1とホールドエラーパスHE2の共通部分のみの遅延値DLが増加するので、複数のセットアップエラーパスでのタイミングをより効果的に同時に調整することができる。
(S37)着目ホールドエラーパス中の最も下流側のセルを選択する。
例えば図13(A)において、セルC2及びC3をステップS32で選択した場合、最も下流側のセルC3を選択する。セルC2及びC3の遅延値DLがいずれも34psであった場合、次のステップS34でセルC3の入力側配線に非反転ゲートのセルC5を挿入することにより図8(B)に示す如く、セルC2、C5及びC3の遅延値DLがそれぞれ31ps、40ps及び13psとなり、ΔDLT=16psとなる。
【0074】
このようなセル挿入により、ホールドエラーパスHE1とHE2の共通部分のみの遅延値DLが増加するので、複数のセットアップエラーパスでのタイミングをより効果的に同時に調整することができる。
(S38)着目ホールドエラーパス中の各セルについて、セットアップエラーパス数NSを計数する。
【0075】
例えば図14(A)において、フリップフロップFF1からFF2までが着目ホールドエラーパスHE1であり、これにフリップフロップFF1からFF3までのセットアップエラーパスNS1とフリップフロップFF1からFF4までのセットアップエラーパスNS2とが部分的に重なっている場合、ホールドエラーパスHE1中のセルC1、C2及びC3の各々について、セットアップエラーパス数NSを計数する。この場合、セルC1、C2及びC3の計数値はそれぞれ2、1及び0となる。
【0076】
(S32)セットアップエラーパス数NSが最小のセルを選択する。
図9(A)の場合には、セルC3が選択される。次のステップS34でセルC3の入力側又は出力側、例えば入力側の配線に、非反転ゲートのセルC6を挿入することにより図14(B)に示す如く、セルC2、C6及びC3の遅延値DLがそれぞれ31ps、40ps及び13psとなり、ΔDLT=16psとなる。
【0077】
このようなセル挿入により、主に着目ホールドエラーパスHE1のみでタイミング調整され、別途調整されるセットアップエラーパスの不足時間ΔTSの増加を0又は少なくすることができ、複雑なマルチタイミングエラーパスでのタイミングを効果的に調整することができる。
図2中のステップSH1では、着目ホールドエラーパス中に非反転ゲートのセルを挿入する。
【0078】
この場合、着目ホールドエラーパスが、エラーでないパスとマルチパスになっているときには、エラーでないパスがセットアップエラーである場合と同様に、着目ホールドエラーパス中の共通部分でない部分にセルを挿入することにより、エラーでないパスに対する影響を無くし又は少なくする。これは、図2のステップS7においてマルチエラーパスであるかどうかで分岐する替わりにマルチパスであるかどうかにより分岐し、図10において、エラーでないパスを異種のエラーパスと同様に取り扱うようにしても、同じ結果が得られる。これらの点は、図2中のステップSS1についても同様である。
【0079】
[第2実施形態]
図15(A)〜図15(C)はそれぞれ本発明の第2実施形態の、図4(A)〜図4(C)に対応した図である。
(S10A)着目セットアップエラーパス中の配線遅延値を遅延情報ファイル22から読み取り、このパス中、出力側配線遅延値が最も大きいセルを選択する。
【0080】
例えば図15(B)に示す如く、フリップフロップFF1の出力ピンQがセルC1、C2及びC3を介してフリップフロップFF2の入力ピンDに接続された回路がセットアップエラーパスであり、セルC1、C2及びC3の出力側配線遅延値がそれぞれ2ps、10ps及び1psである場合、セルC2が選択される。
【0081】
次に、図4(A)のステップS11と同じ処理を実行する。
図15(C)は、置換後の回路を示す。例えば、置換対象のセルC2及び置換セルC2Aの駆動能力(駆動可能な入力負荷容量の上限値)はそれぞれ400pF及び500pFである。図15(B)及び(C)には配線遅延値が示されており、この置換によりその前後のセルの遅延値DLが減少して、パス遅延値DLTが例えば3ps減少する。
【0082】
このような置換を行えば、駆動能力の増加分に対するパス遅延値DLTの減少量の割合が比較的大きくなり、効果的である。
[第3実施形態]
図16(A)〜図16(C)はそれぞれ本発明の第3実施形態の、図4(A)〜図4(C)に対応した図である。
【0083】
(S10B)着目セットアップエラーパス中のゲート遅延値を遅延情報ファイル22から読み取り、このパス中、ゲート遅延値が最も大きいセルのセルを選択する。
例えば図16(B)に示す如く、フリップフロップFF1の出力ピンQがセルC1、C2及びC3を介してフリップフロップFF2の入力ピンDに接続された回路がセットアップエラーパスであり、セルC1、C2及びC3のゲート遅延値がそれぞれ24ps、47ps及び146psである場合、セルC2が選択される。
【0084】
次に、図4(A)のステップS11と同じ処理を実行する。
図16(C)は、置換後の回路を示す。例えば、置換対象のセルC2及び置換セルC2Aの駆動能力はそれぞれ200及び500である。図16(B)及び(C)にはゲート遅延値が示されており、この置換によりその後段のセルの遅延値DLが大きく減少して、パス遅延値DLTが例えば75ps減少する。
【0085】
このような置換を行えば、駆動能力の増加分に対するパス遅延値DLTの減少量の割合が比較的大きくなり、効果的である。
[第4実施形態]
図17は、本発明の第4実施形態の、図5に対応したフローチャートを示す。
図18(A)は図17中のステップS40〜S46の説明図であり、図18(B)は図18(A)の場合の図17中のステップ47の説明図である。図18(A)及び(B)において、FF1〜FF4はフリップフロップであり、C1〜C8及びC2Aはセルである。
【0086】
(S40)着目セットアップエラーパス内のセルについて、入力信号鈍り値が最大のセルの前段のセルを選択する。
例えば、図18(A)において、フリップフロップFF1からFF2までが着目セットアップエラーパスNS1である場合、セルC1〜C4のうちC2〜C4の入力信号鈍り値は互いに等しく最大であり、その各々の前段のセルC1〜C3を選択する。
【0087】
(S41)選択したセルが、複数の場合にはステップS42へ進み、1つの場合にはステップS47へ進む。
(S42)着目セットアップエラーパスの各セルについて、セットアップエラーパス数NSを計数する。
(S43)S41で選択したセルの内、セットアップエラーパス数NSが最大のセルを選択する。
【0088】
図18(A)では、フリップフロップFF1からFF3までがセットアップエラーパスNS2であり、セットアップエラーパス数NSが最大となるのはセルC1及びC2である。
(S44)ステップS43で選択したセルが、複数の場合にはステップS45へ進み、1つの場合にはステップS47へ進みむ。
【0089】
(S45)着目セットアップエラーパスの各セルについて、ホールドエラーパス数NHを計数する。
(S46)ステップS43で選択したセルの内、ホールドエラーパス数NHが最小のセルを選択する。
図18(A)では、フリップフロップFF1からFF4までがホールドエラーパスHE1であり、セルC2が選択される。
【0090】
(S47)図5のステップS25〜S27及びS24の処理を実行する。
これにより、図18(A)に示すセルC1、C2及びC3の遅延値DLがそれぞれ25ps、28ps及び152psであったものが、セルC2をセルC2Aに置換することにより、図18(B)に示す如くセルC1、C2A及びC3の遅延値DLがそれぞれ36ps、24ps及び90psになって、ΔDLT=−75psとなる。この置換により、セットアップエラーパスNS1のみならずセットアップエラーパスNS2のパス遅延値も減少し、さらにホールドエラーパスHE1のパス遅延値が増加するので、セットアップエラーパスNS1でのタイミングを調整することによりセットアップエラーパスNS2及びホールドエラーパスHE1でのタイミングも調整されることになる。
【0091】
すなわち、セル選択に優先順位を付けることにより、置換対象のセルが1つに絞られて、効果的な調整が行われる。
図2のステップS4でΔT<Δminと判定されてセットアップエラーパスNS2又はホールドエラーパスHE1が調整対象外とされても、セットアップエラーパスNS1でのタイミング調整によりセットアップエラーパスNS2及びホールドエラーパスHE1のエラーが解消することもあるので、図2の全体の処理時間が短縮され、かつ、過剰調整が防止される。
【0092】
[第5実施形態]
図19は、本発明の第5実施形態の、図10に対応したフローチャートを示す。
図20(A)は図19中のステップS52〜S46の説明図であり、図20(B)は図19(A)の場合の、図19中のステップ57の説明図である。図20(A)及び(B)において、FF1〜FF4はフリップフロップであり、C1〜C6はセルである。
【0093】
(S52)着目ホールドエラーパスの各セルについて、セットアップエラーパス数NSを計数する。
(S53)ステップS51で選択したセルの内、セットアップエラーパス数NSが最小のセルを選択する。
図20(A)では、フリップフロップFF1からFF4までがセットアップエラーパスNS1であり、セットアップエラーパス数NSが最小となるのはセルC2及びC3である。
【0094】
(S54)ステップS53で選択したセルが、複数の場合にはステップS55へ進み、1つの場合にはステップS57へ進む。
(S55)着目ホールドエラーパスの各セルについて、ホールドエラーパス数NHを計数する。
(S56)ステップS53で選択したセルの内、ホールドエラーパス数NHが最大のセルを選択する。
【0095】
図20(A)では、フリップフロップFF1からFF2までがホールドエラーパスHE1、フリップフロップFF1からFF3までがホールドエラーパスHE2であり、セルC2が選択される。
(S57)図10のステップS35〜S37及びS34の処理を実行する。
これにより、図20(A)に示すセルC1、C2及びC3の遅延値DLがそれぞれ25ps、48ps及び152psであったものが、セルC2の入力側にセルC6を挿入することにより、図20(B)に示す如くセルC1、C6及びC2の遅延値DLがそれぞれ24ps、30ps及び40psになって、ΔDLT=21psとなる。この置換により、ホールドエラーパスHE1のみならずホールドエラーパスHE2の遅延値も増加し、さらにセットアップエラーパスNS1の遅延値が減少するので、ホールドエラーパスHE1でのタイミングを調整することによりホールドエラーパスHE2及びセットアップエラーパスNS1でのタイミングも調整されることになる。
【0096】
すなわち、セル選択に優先順位を付けることにより、セル挿入位置が1箇所に絞られ、効果的なタイミング調整が行われる。
図2のステップS4でΔT<Δminと判定されてホールドエラーパスHE2又はセットアップエラーパスNS1が調整対象外とされても、ホールドエラーパスHE1でのタイミング調整によりホールドエラーパスHE2及びセットアップエラーパスNS1のエラーが解消することもあるので、図2の全体の処理時間が短縮され、かつ、過剰調整が防止される。
【0097】
[第6実施形態]
図21(A)は、本発明の第6実施形態のタイミング調整手順の一部を示すフローチャートである。
ステップS60には、図2のステップS6又はS7から移る。
(S60)図2のステップSS1、SS2、SH1又はSH2の処理を実行して着目タイミングエラーパス中の置換対象のセルを選択し又はセル挿入位置を決定する。例えば図21(B)において、フリップフロップFF1からFF2までのパスがセットアップエラーパスで、セルC1〜C3のうちセルC1が選択される。
【0098】
(S61)ステップSS1、SS2、SH1又はSH2について説明した上述の方法により、セルを置換し又は挿入する。例えば図21(B)のセルC1がセルC1Aに置換されて、図21(B)に示す如くなる。
(S62)図2のステップS8と同じ処理を実行する。
(S63)着目パスの遅延時間を計算する。
【0099】
まず、置換又は挿入したセルとその前後の1つずつのセルとこれらのセルのセル間配線について遅延時間を計算する。例えば図21(C)の場合、着目パス内でのセルC1A及びC2のゲート遅延時間並びにセルC1Aの入力側及び出力側の配線遅延時間を計算する。これにより、図21(B)のセルC1及びC2の遅延値DL=168ps及び163psが、図21(C)のセルC1A及びC2の遅延値DL=143ps及び104psになり、これにセルC3の遅延値DL=132psを加算して、着目パス遅延値DLTが379psになる。この場合、DLT=−84psである。
【0100】
(S64)ΔT≧0であればステップS60へ戻り、ΔT<0、すなわちタイミングエラーが解消していれば、図2のステップS2へ進む。
図21(D)は、2回目でセルC2がセルC2Aに置換された状態を示す。
この方法によれば、置換又は挿入毎に、効果的な置換セル又はセル挿入位置が選択される。
【0101】
[第7実施形態]
図22(A)は、本発明の第7実施形態のタイミング調整手順の一部を示すフローチャートである。
この形態では、ステップS64からステップS61に戻ることにより、ステップS60で選択されたセル又は決定されたセル挿入位置に対し、繰り返しループ毎に、ステップS61でセルの置換又は挿入を行う。他の点は、第6実施形態と同一である。
【0102】
例えば図22(B)に示す回路がセットアップエラーパスで、置換すべきセルとしてセルC2が選択されると、1回目で図22(C)に示す如くセルC2がセルC2Aに置換され、2回目で図22(D)に示す如く同じ位置のセルC2AがセルC2Bに置換される。
この方法によれば、置換対象のセル数が第6実施形態の場合よりも少なくなって、他のパスへの影響が低減される。
【0103】
[第8実施形態]
図23は、本発明の第8実施形態のタイミング調整手順を示す概略フローチャートである。
(S70)図2のタイミング調整を行う。これにより、セルの置換又は挿入に伴う更新された論理情報ファイル23が得られる。
【0104】
(S71)論理情報ファイル23の変更内容に基づいて、レイアウト設計された半導体集積回路10を更新する。
(S72)更新されたレイアウト及び論理情報ファイル23の変更内容に基づいて、遅延情報ファイル22を更新する。
(S73)更新された遅延情報ファイル22及び論理情報ファイル23の内容に基づいて、タイミング解析装置26によりタイミング解析を行う。
【0105】
(S74)タイミングエラー情報ファイル21中にΔT≧ΔTminなるタイミングエラーが残っていれば、ステップS70へ戻り、残っていなければ処理を終了する。
本第8実施形態によれば、タイミング調整が全自動で繰り返し行われる。
ステップ74において、例えばタイミングエラー数が前回と同一の場合に、自動的にΔTmaxを減少させ又は0にしてもよい。
【0106】
[第9実施形態]
図24(A)は、本発明の第9実施形態の、挿入すべきセルの選択手順を示すフローチャートである。
ステップS80には、図2のステップS7で肯定判定又は否定判定されてから入る。
【0107】
(S80)図10又は図19の方法により、セル挿入位置を決定する。
例えば図24(B)において、フリップフロップFF1からFF2までのパスがホールドエラーパスで、セルC1とC2の間の配線が挿入位置に決定される。
(S81)論理情報ファイル23内の挿入セル(非反転ゲート)のグループの中から、最小駆動能力値のセルを選択する。
【0108】
例えば図24(D)に示すセルA1が選択される。
(S82)基本遅延値の合計が不足時間ΔTH以上になるセルの組み合わせを、ステップS80で決定した位置に挿入する。
例えばΔTH=80psの場合、基本遅延値30でエリア数3のセルA1を3個縦続接続したものが挿入されて、図24(C)に示す如くなる。最大駆動能力値のセルは図24(D)に示すセルB1であり、基本遅延値が100psでエリア数が10であって、組み合わせセルの方が最大駆動能力セルを1つ使用する場合よりも使用エリアが少なくなり、面積上の制限が大きい場合に有効である。これは一般的なものである。
【0109】
[第10実施形態]
図25(A)は、本発明の第10実施形態の、挿入すべきセルの選択手順を示すフローチャートである。
上記第9実施形態では、ステップS81において最小駆動能力値のセルを選択したが、この第10実施形態ではステップS81Aにおいて、図25(D)に示す論理情報ファイル23内の最大駆動能力値のセルB1を選択し、図25(B)のホールドエラーパス中に、図25(C)に示すようにこれを1つ挿入する。他の点は上記第9実施形態の場合と同一である。
【0110】
一般に、最小駆動能力セルを複数個使用する場合よりも最大駆動能力セル1個を使用した場合のほうが基本遅延値が大きくなるので、ホールドエラーの場合には少ないセルの挿入でタイミング調整を行うことができる。
[第11実施形態]
図26(A)は、本発明の第11実施形態の、挿入すべきセルの選択手順を示すフローチャートである。
【0111】
論理情報ファイル23は、図26(D)に示す如く、挿入セルが基本遅延値の大きさでファミリAとファミリBとに分類されている。
ステップS80は図24(A)の場合と同一であり、例えば図26(B)のセルC2とC3との間の配線がセル挿入位置(太線部分、以下同様)と決定される。
【0112】
(S81B)セルが挿入される配線の負荷容量がセル挿入により大幅に変化するのを避けるため、論理情報ファイル23内の各挿入セルファミリの中から、駆動能力値がセル挿入位置の前段のセルのそれに近いセルを選択する。例えば、図26(B)のセルC2の駆動能力値が10であり、図26(D)に示す如く、挿入セルファミリAから駆動能力値が9のセルA1が選択され、挿入セルファミリBから駆動能力値が11のセルB1が選択される。
【0113】
(S82A)過剰調整を避けるため、選択したセルの中から基本遅延値が不足時間ΔTH以上でこれに近いセルを選択して挿入する。図26(B)ではΔTH=15psであるので、基本遅延値30psのセルA1が選択され、図26(C)に示す如く挿入されて、ΔDLT=16ps>ΔTHとなり、ホールドエラーが解消される。
【0114】
[第12実施形態]
図27(A)は、本発明の第12実施形態の、挿入すべきセルの選択手順を示すフローチャートである。
この形態では、図26(A)のステップS81Bの替わりに、次のようなステップS83及びS84の処理が行われる。
【0115】
(S83)図1の表示装置25に、図27(B)の画像及び論理情報ファイル23の内容が表示される。操作者は、過剰調整防止のため、論理情報ファイル23内の挿入セルファミリの中のセルを指定する。
図27(D)では、論理情報ファイル23内のセルA1、B1及びA2が操作者により指定される。
【0116】
(S84)指定したセルのうち、例えば図26(A)のステップS81Bと同一基準で、挿入候補セルを自動的に選択する。
図27(D)では、駆動能力値10に近いセルA1とセルB1とが選択される。
挿入候補セルの中のセルの選択は、図26(A)のステップS82Aと同一であり、セルA1が選択されて図27(B)の太線部分に挿入され、図27(C)に示す如くなる。
【0117】
[第13実施形態]
図28(A)は、本発明の第13実施形態の、挿入すべきセルの選択手順を示すフローチャートである。
この形態では、図27のステップS82Aの替わりに、次のようなステップS82B及びS85の処理が行われる。
【0118】
(S82B)選択したセルの中から基本遅延値の合計が不足時間ΔTH以上でこれに近いセルの組み合わせを選択する。
図28(B)ではΔTH=55であるので、図28(D)の論理情報ファイル23内の挿入候補セルA1とB1とについて、基本遅延値30psのセルA1が2個の組み合わせと、基本遅延値100psの1個のセルB1とが選択される。、図26(C)に示す如く挿入されて、ΔDLT=16ps>ΔTHとなり、ホールドエラーが解消される。
【0119】
(S85)エリア合計値が最小になるセルの組み合わせを選択して、ステップS80で決定した位置に挿入する。
セルA1はエリア数3であり、セルB1はエリア数8であるので、セルA1が2個の組み合わせが選択され、図28(B)の太線部分に挿入されて、図28(C)に示す如くなる。
【0120】
このような方法により、第12実施形態の場合よりも使用エリアを狭くすることができる。
[第14実施形態]
図29(A)は、本発明の第14実施形態の、挿入すべきセルの選択手順を示すフローチャートである。
【0121】
この第14実施形態では、図28(A)のステップS85の替わりに次のステップ86の処理を行う。
(S86)挿入しようとするセルの数が最小になる組み合わせを選択して、ステップS80で決定した位置に挿入する。
図29(B)では、ΔTH=126であり、ステップS82Bにおいて、図29(D)に示すセルA1とセルB1とについて、セルA1が4個の組み合わせ(基本遅延値合計120ps)と、セルA1とセルB1との組み合わせ(基本遅延値合計130ps)のうち、後者が選択され、図29(B)の太線部分に挿入されて、図29(C)に示す如くなる。ΔDLT=126psになり、エラーが解消される。
【0122】
この第14実施形態によれば、エリアに余裕がある場合に、ゲート使用率に最も影響のないようなタイミング調整を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係るタイミング調整システムの概略ブロック図である。
【図2】図1のタイミング調整装置による調整手順を示すフローチャートである。
【図3】(A)はタイミング調整対象を示す回路図であり、(B)及び(C)はそれぞれセットアップエラー及びホールドエラー説明用タイムチャートである。
【図4】(A)は図2中のステップSS1の内容を示すフローチャートであり、(B)及び(C)はそれぞれこのステップでのセル置換の前及び後の説明図である。
【図5】図2中のステップSS2の詳細フローチャートである。
【図6】(A)は図5中のステップS20〜S22の説明図であり、(B)は(A)の場合の図5中のステップS24の説明図である。
【図7】(A)及び(B)はそれぞれ図5中のステップS26及びS24の説明図である。
【図8】(A)及び(B)はそれぞれ図5中のステップS27及びS24の説明図である。
【図9】(A)は図5中のステップS28及びS29の説明図であり、(B)は(A)の場合のステップS24の説明図である。
【図10】図2中のステップSH2の詳細フローチャートである。
【図11】(A)は図10中のステップS30〜S32の説明図であり、(B)は(A)の場合の図10中のステップS34の説明図である。
【図12】(A)及び(B)はそれぞれ図10中のステップS36及びS34の説明図である。
【図13】(A)及び(B)はそれぞれ図10中のステップS37及びS34の説明図である。
【図14】(A)は図10中のステップS38及びS39の説明図であり、(B)は(A)の場合のステップS34の説明図である。
【図15】(A)〜(C)はそれぞれ本発明の第2実施形態の、図4(A)〜(C)に対応した図である。
【図16】(A)〜(C)はそれぞれ本発明の第3実施形態の、図4(A)〜(C)に対応した図である。
【図17】本発明の第4実施形態の、図5に対応したフローチャートである。
【図18】(A)は図17中のステップS40〜S46の説明図であり、(B)は(A)の場合の、図17中のステップ47の説明図である。
【図19】本発明の第5実施形態の、図10に対応したフローチャートである。
【図20】(A)は図19中のステップS52〜S56の説明図であり、(B)は(A)の場合の、図19中のステップS57の説明図である。
【図21】(A)は本発明の第6実施形態のタイミング調整手順の一部を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図22】(A)は本発明の第7実施形態のタイミング調整手順の一部を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図23】本発明の第8実施形態のタイミング調整手順を示す概略フローチャートである。
【図24】(A)は本発明の第9実施形態の、挿入すべきセルの選択手順を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図25】(A)は本発明の第10実施形態の、挿入すべきセルの選択手順を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図26】(A)は本発明の第11実施形態の、挿入すべきセルの選択手順を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図27】(A)は本発明の第12実施形態の、挿入すべきセルの選択手順を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図28】(A)は本発明の第13実施形態の、挿入すべきセルの選択手順を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【図29】(A)は本発明の第14実施形態の、挿入すべきセルの選択手順を示すフローチャートであり、(B)〜(D)は(A)の説明図である。
【符号の説明】
10 半導体集積回路
11 順序回路
12、13 組み合わせ回路
20 タイミング調整装置
21 タイミングエラー情報ファイル
22 遅延情報ファイル
23 論理情報ファイル
24 入力装置
25 表示装置
26 タイミング解析装置
FF1〜FF4 フリップフロップ
CEL1〜CEL3、C1〜C8、C1A、C2A セル
ΔTS、ΔTH、ΔT 不足時間
DL 遅延値
DLT パス遅延値
ΔDLT パス遅延変化量

Claims (8)

  1. 配置配線設計された半導体集積回路のタイミングを計算機により調整する計算機支援タイミング調整方法であって、該半導体集積回路は、第1フリップフロップの出力が組み合わせ回路を介して第2フリップフロップのデータ入力端に供給されクロックに同期して動作する順序回路を含んでおり、
    タイミングエラーの種類及びタイミングエラーパスの情報を含むタイミングエラー情報と、該配置配線設計の下での信号伝播遅延に関係した遅延情報と、各セルの機能及び駆動能力の情報を含む論理情報とが記憶装置に格納されており、該計算機が、
    該順序回路がセットアップエラーパスであることが該タイミングエラー情報に含まれている場合に、該遅延情報を参照して該組み合わせ回路中の、最大のセットアップエラー発生原因と推定されるセルを選択し、
    該論理情報中の、選択した該セルと同一機能で、選択した該セルより駆動能力が大きいセルを探索し、
    選択した該セルを探索した該セルに置換し、
    該遅延情報にセルの入力信号鈍り値が含まれ、
    該選択の工程では、入力信号鈍り値が最大であるセルの前段のセルを該最大のセットアップエラー発生原因と推定されるセルとして選択する、
    ことを特徴とする計算機支援タイミング調整方法。
  2. 上記論理情報では、機能及び入出力点数が同一のセルが同一ファミリに纏められており、
    上記計算機が、上記探索の工程では、選択された上記セルと同一のファミリの中から選択することを特徴とする請求項1記載の計算機支援タイミング調整方法。
  3. 上記タイミングエラー情報は、エラー解消に必要な信号伝播遅延時間の増加又は減少量を含み、
    入力手段により、タイミングエラー調整前に下限値を設定しておき、
    上記計算機が、該増加又は減少量が該下限値より大きいもののみ上記置換又は挿入によるタイミングエラー調整を行う、
    ことを特徴とする請求項1記載の計算機支援タイミング調整方法。
  4. 上記計算機が、上記置換後に、置換したセルを含む調整対象のセットアップエラーパスの信号伝播遅延時間を算出する工程をさらに有し、
    上記セルの選択、探索及び置換の工程、並びに該算出工程を、タイミングエラーが解消されるまで該計算機が繰り返し実行する、
    ことを特徴とする請求項1記載の計算機支援タイミング調整方法。
  5. 上記計算機が、上記置換後に、置換したセルを含む調整対象のセットアップエラーパスの信号伝播遅延時間を算出する工程をさらに有し、
    該計算機が、上記セルの探索及び置換の工程、並びに該算出工程を、タイミングエラーが解消されるまで繰り返し実行する、
    ことを特徴とする請求項1記載の計算機支援タイミング調整方法。
  6. 上記計算機が、上記セルの置換が行われた上記半導体集積回路についてタイミングエラーを検出し、上記タイミングエラー情報及び上記遅延情報を更新して、タイミングエラーが無くなるまで上記置換によるタイミング調整を繰り返すことを特徴とする請求項1記載の計算機支援タイミング調整方法。
  7. 請求項1乃至のいずれか1つに記載の計算機支援タイミング調整方法を実施するためのプログラムが格納されていることを特徴とする記憶媒体。
  8. 配置配線設計された半導体集積回路のタイミングを調整する計算機支援タイミング調整装置であって、該半導体集積回路は、第1フリップフロップの出力が組み合わせ回路を介して第2フリップフロップのデータ入力端に供給されクロックに同期して動作する順序回路を含んでおり、
    タイミングエラーの種類及びタイミングエラーパスの情報を含むタイミングエラー情報と、該配置配線設計の下での信号伝播遅延に関係した遅延情報と、各セルの機能及び駆動能力の情報を含む論理情報とを格納するための記憶装置と、
    該順序回路がセットアップエラーパスであることが該タイミングエラー情報に含まれている場合に、該遅延情報を参照して該組み合わせ回路中の、最大のセットアップエラー発生原因と推定されるセルを選択し、該論理情報中の、選択した該セルと同一機能で、選択した該セルより駆動能力が大きいセルを探索し、選択した該セルを探索した該セルに置換する計算機と、
    を有し、
    該遅延情報にセルの入力信号鈍り値が含まれ、該計算機は、該選択において、入力信号鈍り値が最大であるセルの前段のセルを該最大のセットアップエラー発生原因と推定されるセルとして選択することを特徴とする計算機支援タイミング調整装置。
JP13888798A 1998-04-13 1998-05-20 計算機支援タイミング調整方法及び装置並びに記憶媒体 Expired - Fee Related JP4475691B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13888798A JP4475691B2 (ja) 1998-04-13 1998-05-20 計算機支援タイミング調整方法及び装置並びに記憶媒体
US09/289,966 US6606736B1 (en) 1998-04-13 1999-04-13 Computer-aided timing adjusting method and apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10123998 1998-04-13
JP10-101239 1998-04-13
JP13888798A JP4475691B2 (ja) 1998-04-13 1998-05-20 計算機支援タイミング調整方法及び装置並びに記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008243062A Division JP4361124B2 (ja) 1998-04-13 2008-09-22 計算機支援タイミング調整方法及び装置並びに記憶媒体

Publications (2)

Publication Number Publication Date
JP2000003374A JP2000003374A (ja) 2000-01-07
JP4475691B2 true JP4475691B2 (ja) 2010-06-09

Family

ID=26442147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13888798A Expired - Fee Related JP4475691B2 (ja) 1998-04-13 1998-05-20 計算機支援タイミング調整方法及び装置並びに記憶媒体

Country Status (2)

Country Link
US (1) US6606736B1 (ja)
JP (1) JP4475691B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004046975A1 (ja) * 2002-11-18 2004-06-03 Fujitsu Limited 電子回路設計のタイミング改善方法、プログラム及び装置
US7191416B2 (en) * 2003-01-27 2007-03-13 Stmicroelectronics Limited System and method for modifying integrated circuit hold times
US7096442B2 (en) * 2003-07-10 2006-08-22 Lsi Logic Corporation Optimizing IC clock structures by minimizing clock uncertainty
JP4536559B2 (ja) * 2005-03-17 2010-09-01 富士通セミコンダクター株式会社 半導体集積回路のレイアウト方法、およびセル枠共通化プログラム。
JP2007294015A (ja) * 2006-04-25 2007-11-08 Matsushita Electric Ind Co Ltd 半導体集積回路、及びbist回路設計方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459673A (en) * 1990-10-29 1995-10-17 Ross Technology, Inc. Method and apparatus for optimizing electronic circuits
US5696771A (en) * 1996-05-17 1997-12-09 Synopsys, Inc. Method and apparatus for performing partial unscan and near full scan within design for test applications
US6539536B1 (en) * 2000-02-02 2003-03-25 Synopsys, Inc. Electronic design automation system and methods utilizing groups of multiple cells having loop-back connections for modeling port electrical characteristics

Also Published As

Publication number Publication date
US6606736B1 (en) 2003-08-12
JP2000003374A (ja) 2000-01-07

Similar Documents

Publication Publication Date Title
US5659484A (en) Frequency driven layout and method for field programmable gate arrays
US20100153897A1 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce leakage power in an electronic circuit and electronic design automation tool incorporating the same
US6701505B1 (en) Circuit optimization for minimum path timing violations
US6988254B2 (en) Method for designing semiconductor integrated circuit
US8789004B2 (en) Automatic flow of megacell generation
US8347249B2 (en) Incremental timing optimization and placement
JP4528659B2 (ja) クロックジッタ算出装置、クロックジッタ算出方法、およびクロックジッタ算出プログラム
US6832361B2 (en) System and method for analyzing power distribution using static timing analysis
JP2004172373A (ja) クロストーク修正方法
CN112069763B (zh) 修正电路的方法
JPH1140677A (ja) クロストークエラー改善方式及び方法
US20080129362A1 (en) Semiconductor device and method of designing semiconductor device
US7149992B2 (en) Method for faster timing closure and better quality of results in IC physical design
US20020124230A1 (en) Timing optimization for integrated circuit design
US20100050144A1 (en) System and method for employing signoff-quality timing analysis information to reduce leakage power in an electronic circuit and electronic design automation tool incorporating the same
US6845489B1 (en) Database for design of integrated circuit device and method for designing integrated circuit device
JP4475691B2 (ja) 計算機支援タイミング調整方法及び装置並びに記憶媒体
US7191417B1 (en) Method and apparatus for optimization of digital integrated circuits using detection of bottlenecks
US8776003B2 (en) System and method for employing side transition times from signoff-quality timing analysis information to reduce leakage power in an electronic circuit and an electronic design automation tool incorporating the same
JP2002312410A (ja) 論理設計された集積回路に対するレイアウト設計及びタイミング調整の方法及び装置並びにこの方法を実行するためのプログラム及びこのプログラムが記録されたコンピュータ読み取り可能な記録媒体
US20050251776A1 (en) Integrated circuit design system
JP4361124B2 (ja) 計算機支援タイミング調整方法及び装置並びに記憶媒体
Wang et al. An LP-based methodology for improved timing-driven placement
JP4224541B2 (ja) 自動配置配線方法、装置及びプログラム
US6449756B1 (en) Method for accurate and efficient updates of timing information logic synthesis, placement and routing for integrated circuit design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080722

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081001

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081024

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees