JP4587754B2 - クロック合成方法、半導体装置及びプログラム - Google Patents
クロック合成方法、半導体装置及びプログラム Download PDFInfo
- Publication number
- JP4587754B2 JP4587754B2 JP2004271912A JP2004271912A JP4587754B2 JP 4587754 B2 JP4587754 B2 JP 4587754B2 JP 2004271912 A JP2004271912 A JP 2004271912A JP 2004271912 A JP2004271912 A JP 2004271912A JP 4587754 B2 JP4587754 B2 JP 4587754B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- point
- path
- information
- extracted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Description
図2は、本発明になるクロック合成方法の一実施例を示すフローチャートである。同図に示す処理は、図1に示すステップS12内で行われる。セルライブラリ1は、セルに関する設計情報を格納する。ネットリスト2は、セル及び配線の接続関係に関する設計情報を格納する。クロック情報3は、主に3種類の情報I1〜I3を定義する。情報I1は、設計で使われる マスタ/スレーブクロック(master/slave clock)を定義する。情報I2は、同一クロックソースからのクロックパスが合流するポイント(point)でパスが一意に確定することを定義するもので、例えば後述する如くセレクタ等の選択信号への定数を設定することを示す。情報I3は、テストモードのオン/オフを定義する。セルライブラリ1、ネットリスト2及びクロック情報3は、いずれもコンピュータシステムの記憶装置内に設けられていても、外部の記憶装置に設けられてても良い。
図4は、ステップS22の処理をより詳細に示すフローチャートである。同図中、ステップS31は、クロックパス上にフリップフロップ群が存在するか否かをチェックし、ステップS32は、クロックの合流が存在するか否かをチェックする。ステップS31及びステップS32の両方で該当するものがなければ、処理はステップS35で終了する。
(付記1) コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、
回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを該コンピュータにより抽出する抽出ステップを含むことを特徴とする、クロック合成方法。
(付記2) クロック合成の制約条件を抽出する上で必要となる回路上の構成を事前に該コンピュータによりチェックするチェックステップを更に含み、
該チェックステップは、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、同一クロックが合流するか否かをチェックし、フォルスパスとして抽出するポイントがネガティブエッジである場合、そのネット上のファンアウトが存在するか否かをチェックすることを特徴とする、付記1記載のクロック合成方法。
(付記3) 該抽出ステップは、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、複数のクロックが合流している場合、クロックの優先順位或いは合流ポイントのパスを一意に決定する情報に基づいて、他方のクロックパスをフォルスパスとして抽出することを特徴とする、付記1又は2記載のクロック合成方法。
(付記4) 該抽出ステップは、複数のマスタクロックが合流し、他方をフォルスパスとする場合に、そのポイントがソースクロックのデフォルトポジティブエッジから見てネガティブエッジとなる場合は、ポジティブエッジとなるポイントまで遡り、そのポイントをフォルスパスとして抽出することを特徴とする、付記1〜3のいずれか1項記載のクロック合成方法。
(付記5) 該抽出ステップは、マスタクロックから末端フリップフロップ間でのネットワーク上に外部出力端子を含む場合、フリップフロップ群と直接つながるネット上のゲート入力をフォルスパスとして抽出するか、或いは、外部出力端子をリーフポイントとして抽出することを特徴とする、付記1〜4のいずれか1項記載のクロック合成方法。
(付記6) 該抽出ステップは、マスタクロックソースがフリップフロップ群を含まず、直接外部出力端子に接続されている場合、外部出力端子をリーフポイントとして抽出することを特徴とする、付記1〜5のいずれか1項記載のクロック合成方法。
(付記7) 該抽出ステップは、マスタクロックとスレーブクロックがクロック情報として与えられている場合、マスタクロック及びスレーブクロックの2つのクロックツリーを分離するために、マスタクロックのシンクポイント又はスレーブクロックのソースポイントをフォルスパスとして抽出することを特徴とする、付記1〜6のいずれか1項記載のクロック合成方法。
(付記8) 該抽出ステップは、スレーブクロックに対してもマスタクロックと同様の処理を行うことを特徴とする、付記1〜7のいずれか1項記載のクロック合成方法。
(付記9) 該クロック情報及び該抽出ステップにより抽出された情報に基づいて、クロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルを該コンピュータにより生成する生成ステップを更に含むことを特徴とする、付記1〜8のいずれか1項記載のクロック合成方法。
(付記10) 付記1〜9のいずれか1項記載のクロック合成方法を用いて設計することを特徴とする、半導体装置。
(付記11) コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、
該コンピュータに、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを抽出させる抽出手順を含むことを特徴とする、プログラム。
(付記12) 該コンピュータに、クロック合成の制約条件を抽出する上で必要となる回路上の構成を事前にチェックさせるチェック手順を更に含み、
該チェック手順は、該コンピュータに、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、同一クロックが合流するか否かをチェックさせ、フォルスパスとして抽出するポイントがネガティブエッジである場合、そのネット上のファンアウトが存在するか否かをチェックさせことを特徴とする、付記11記載のプログラム。
(付記13) 該抽出手順は、該コンピュータに、マスタクロックから末端フリップフロップ又はレジスタの同一パスに対し、複数のクロックが合流している場合、クロックの優先順位或いは合流ポイントのパスを一意に決定する情報に基づいて、他方のクロックパスをフォルスパスとして抽出させることを特徴とする、付記11又は12記載のプログラム。
(付記14) 該抽出手順は、該コンピュータに、複数のマスタクロックが合流し、他方をフォルスパスとする場合に、そのポイントがソースクロックのデフォルトポジティブエッジから見てネガティブエッジとなる場合は、ポジティブエッジとなるポイントまで遡り、そのポイントをフォルスパスとして抽出させることを特徴とする、付記11〜13のいずれか1項記載のプログラム。
(付記15) 該抽出手順は、該コンピュータに、マスタクロックから末端フリップフロップ間でのネットワーク上に外部出力端子を含む場合、フリップフロップ群と直接つながるネット上のゲート入力をフォルスパスとして抽出させるか、或いは、外部出力端子をリーフポイントとして抽出させることを特徴とする、付記11〜14のいずれか1項記載のプログラム。
(付記16) 該抽出手順は、該コンピュータに、マスタクロックソースがフリップフロップ群を含まず、直接外部出力端子に接続されている場合、外部出力端子をリーフポイントとして抽出させることを特徴とする、付記11〜15のいずれか1項記載のプログラム。
(付記17) 該抽出手順は、該コンピュータに、マスタクロックとスレーブクロックがクロック情報として与えられている場合、マスタクロック及びスレーブクロックの2つのクロックツリーを分離するために、マスタクロックのシンクポイント又はスレーブクロックのソースポイントをフォルスパスとして抽出させることを特徴とする、付記11〜16のいずれか1項記載のプログラム。
(付記18) 該抽出手順は、該コンピュータに、スレーブクロックに対してもマスタクロックと同様の処理を行なわせることを特徴とする、付記11〜17のいずれか1項記載のプログラム。
(付記19) 該コンピュータに、該クロック情報及び該抽出手順により抽出された情報に基づいて、クロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルを生成させる生成手順を更に含むことを特徴とする、付記11〜18のいずれか1項記載のプログラム。
2 ネットリスト
3 クロック情報
11 CTS
12 レイアウト情報
13 タイミング制約
14 設定ファイル
Claims (4)
- コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、
複数のクロックソースを用いる前記半導体装置のツリー構造の回路を構成するセルに関する設計情報及び前記セル及び配線の接続関係に関する設計情報に基づいてパス解析を行うステップと、
前記回路のクロック情報及び前記パス解析の結果に基づいて、同一クロックソースからのクロックパスが合流するポイントにおいてクロックパスが一意に確定しているか否かと、クロック合成の対象外にするポイントの設定が可能か否かのチェックを行うステップと、
前記チェックの結果、前記クロックパスが一意に確定しており、且つ、前記クロック合成の対象外にするポイントの設定が可能であると、クロック合成の制約として必要となるクロックの定義と、フォルスパス及びリーフポイントの所定ルールに基づく抽出とを行い、前記クロックの定義及び抽出されたフォルスパス及びリーフポイントに基づいてクロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルを生成するステップと、
前記CTS制約ファイルを用いてクロック合成を行いクロックツリーを生成するステップ
を前記コンピュータにより行い、
前記フォルスパスは、前記回路におけるクロックツリーが互いに排他となり重複する部分がないようにクロックツリーを分割するための情報であり、前記リーフポイントは、クロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするための情報であり、
前記チェックを行うステップは、クロックパス上にフリップフロップ群が存在すると前記クロック合成の対象外とするポイントを前記同一クロックソースからのクロックパスが合流するポイントに設定するステップと、クロックの合流が存在すると合流するクロックが同一クロックであるか否かをチェックし、同一クロックであればクロックパスを一意に確定する情報を前記クロック情報へ追加設定するステップを含み、
前記所定ルールは、複数のクロックツリーは互いに排他であり重複部分がないようにクロックツリーを分離する第1のルール、クロックツリーを分離するフォルスパスとするポイントがクロックソースのルート端子の位相と異なる場合は位相と同じポイントまで遡りそのポイントをフォルスパスのポイントとする第2のルール、及びクロックソースがクロックバッファ以外のゲートは介さず外部出力端子に接続している場合はリーフポイントとして抽出する第3のルールを含むことを特徴とする、クロック合成方法。 - 前記クロック情報は、前記回路の設計で使われるマスタ/スレーブクロックを定義する第1の情報、同一クロックソースからのクロックパスが合流するポイントでクロックパスが一意に確定することを定義する第2の情報、及びテストモードのオン/オフを定義する第3の情報を定義することを特徴とする、請求項1記載のクロック合成方法。
- 前記CTS制約ファイルを生成するステップは、
クロックパス上にフリップフロップ群が存在しないと、スレーブクロックが存在する場合は前記スレーブクロックをフォルスパスとして抽出すると共に、スレーブクロックが存在しない場合は前記スレーブクロックをリーフとして抽出するステップと、
前記クロックパス上にフリップフロップ群が存在すると、フォルスパス/リーフポイントの設定を開始し、クロックの合流が存在するとこれをフォルスパスとして抽出し、スレーブクロックが存在するとこれをフォルスパスとして抽出し、外部出力端子が存在するとこれをリーフポイントとして抽出すると共に、抽出したフォルスパスとするポイントのクロック位相がそのクロックソースのルート端子の位相と異なる位相であると同相となるポイントを探して同相となるポイントを再抽出し、同相であると同相となるポイントを維持し、再抽出されたポイント、或いは、維持されたポイントをフォルスパスとし、抽出したフォルスパス及びリーフを確定するステップを含むことを特徴とする、請求項1又は2記載のクロック合成方法。 - コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、
複数のクロックソースを用いる前記半導体装置のツリー構造の回路を構成するセルに関する設計情報及び前記セル及び配線の接続関係に関する設計情報に基づいてパス解析を行う手順と、
前記回路のクロック情報及び前記パス解析の結果に基づいて、同一クロックソースからのクロックパスが合流するポイントにおいてクロックパスが一意に確定しているか否かと、クロック合成の対象外にするポイントの設定が可能か否かのチェックを行う手順と、
前記チェックの結果、前記クロックパスが一意に確定しており、且つ、前記クロック合成の対象外にするポイントの設定が可能であると、クロック合成の制約として必要となるクロックの定義と、フォルスパス及びリーフポイントの所定ルールに基づく抽出とを行い、前記クロックの定義及び抽出されたフォルスパス及びリーフポイントに基づいてクロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルを生成する手順と、
前記CTS制約ファイルを用いてクロック合成を行いクロックツリーを生成する手順
を前記コンピュータに実行させ、
前記フォルスパスは、前記回路におけるクロックツリーが互いに排他となり重複する部分がないようにクロックツリーを分割するための情報であり、前記リーフポイントは、クロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするための情報であり、
前記チェックを行う手順は、クロックパス上にフリップフロップ群が存在すると前記クロック合成の対象外とするポイントを前記同一クロックソースからのクロックパスが合流するポイントに設定する手順と、クロックの合流が存在すると合流するクロックが同一クロックであるか否かをチェックし、同一クロックであればクロックパスを一意に確定する情報を前記クロック情報へ追加設定する手順を含み、
前記所定ルールは、複数のクロックツリーは互いに排他であり重複部分がないようにクロックツリーを分離する第1のルール、クロックツリーを分離するフォルスパスとするポイントがクロックソースのルート端子の位相と異なる場合は位相と同じポイントまで遡りそのポイントをフォルスパスのポイントとする第2のルール、及びクロックソースがクロックバッファ以外のゲートは介さず外部出力端子に接続している場合はリーフポイントとして抽出する第3のルールを含むことを特徴とする、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004271912A JP4587754B2 (ja) | 2004-09-17 | 2004-09-17 | クロック合成方法、半導体装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004271912A JP4587754B2 (ja) | 2004-09-17 | 2004-09-17 | クロック合成方法、半導体装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006085595A JP2006085595A (ja) | 2006-03-30 |
JP4587754B2 true JP4587754B2 (ja) | 2010-11-24 |
Family
ID=36164028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004271912A Expired - Fee Related JP4587754B2 (ja) | 2004-09-17 | 2004-09-17 | クロック合成方法、半導体装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4587754B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5002352B2 (ja) * | 2007-06-29 | 2012-08-15 | ルネサスエレクトロニクス株式会社 | 半導体集積回路の配置配線方法及び半導体集積回路の配置配線支援プログラム |
JP4901702B2 (ja) | 2007-11-27 | 2012-03-21 | 株式会社東芝 | 回路設計方法 |
US8689161B2 (en) | 2010-07-06 | 2014-04-01 | Lsi Corporation | Methods for designing integrated circuits employing pre-determined timing-realizable clock-insertion delays and integrated circuit design tools |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002009155A (ja) * | 2000-06-20 | 2002-01-11 | Mitsubishi Electric Corp | 半導体回路の設計方法及びそれを用いて設計する半導体回路 |
-
2004
- 2004-09-17 JP JP2004271912A patent/JP4587754B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002009155A (ja) * | 2000-06-20 | 2002-01-11 | Mitsubishi Electric Corp | 半導体回路の設計方法及びそれを用いて設計する半導体回路 |
Also Published As
Publication number | Publication date |
---|---|
JP2006085595A (ja) | 2006-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9165098B1 (en) | Machine readable products for single pass parallel hierarchical timing closure of integrated circuit designs | |
US8196076B2 (en) | Optimal flow in designing a circuit operable in multiple timing modes | |
US8806413B2 (en) | Gradient AOCV methodology enabling graph-based timing closure with AOCV timing models | |
US7739098B2 (en) | System and method for providing distributed static timing analysis with merged results | |
US8701059B2 (en) | Method and system for repartitioning a hierarchical circuit design | |
JP2004013720A (ja) | 論理回路のタイミング制約モデル生成方法、論理回路のタイミング制約モデル生成プログラム、およびタイミング制約モデルを用いるタイミングドリブンレイアウト方法 | |
CN114841104A (zh) | 时序优化电路和方法、芯片及电子设备 | |
JP4918934B2 (ja) | 半導体集積回路の遅延解析装置及び遅延解析方法並びにそのプログラム | |
US8527925B2 (en) | Estimating clock skew | |
US20060101363A1 (en) | Method of associating timing violations with critical structures in an integrated circuit design | |
US6834379B2 (en) | Timing path detailer | |
Kahng et al. | RosettaStone: connecting the past, present, and future of physical design research | |
US20120047476A1 (en) | Circuit design optimization | |
JP4587754B2 (ja) | クロック合成方法、半導体装置及びプログラム | |
JP5447547B2 (ja) | マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム | |
JP2006268165A (ja) | 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体 | |
JP2011107769A (ja) | 半導体集積回路のレイアウト装置及びクロックゲーティング方法 | |
JP3561661B2 (ja) | 半導体集積回路及び半導体集積回路の設計方法 | |
JP2000150659A (ja) | 半導体集積回路装置のレイアウト設計方法 | |
JP4448048B2 (ja) | 構造解析プログラム | |
JP5954041B2 (ja) | レイアウトモデル作成装置 | |
JP2005302062A (ja) | 大規模回路のレイアウト方法 | |
JP3652220B2 (ja) | 論理回路検証装置及び論理回路検証方法及び論理回路検証プログラムを格納した記録媒体 | |
JP2004038383A (ja) | ディジタル回路のタイミング調整方法 | |
JPH1139360A (ja) | 論理合成支援方法およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070822 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100611 |
|
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: 20100831 |
|
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: 20100907 |
|
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: 20130917 Year of fee payment: 3 |
|
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 |