JP4587754B2 - クロック合成方法、半導体装置及びプログラム - Google Patents

クロック合成方法、半導体装置及びプログラム Download PDF

Info

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
Application number
JP2004271912A
Other languages
English (en)
Other versions
JP2006085595A (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 JP2004271912A priority Critical patent/JP4587754B2/ja
Publication of JP2006085595A publication Critical patent/JP2006085595A/ja
Application granted granted Critical
Publication of JP4587754B2 publication Critical patent/JP4587754B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、クロック合成方法、半導体装置及びプログラムに係り、特にコンピュータ支援設計(CAD)を用いた半導体装置のレイアウト設計におけるクロック合成方法、そのようなクロック合成方法を用いて設計される半導体装置、及びコンピュータにそのようなクロック合成方法を用いた半導体装置の設計を行わせるプログラムに関する。
大規模集積回路(LSI)等の半導体装置(半導体チップ)のレイアウト設計をする場合、同期設計は、クロック合成を行いクロックツリーを構築することで行われる。
クロック合成に際し、クロックバッファツリーによるゲートオーバーヘッド(Gate Overhead)の影響やそのクロックバッファツリーによる消費電力の影響を正確に見積もる場合には、先ずクロック合成を実行することにより半導体チップ上のクロックツリーを構築する必要がある。その後、クロック合成の結果に基づいて、ゲートオーバーヘッドの見積りとクロックツリーを含めた半導体チップの消費電力の見積りを行う。
クロック合成を行うためには、クロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルが必要となる。CTS制約ファイルは、論理設計者からレイアウト設計者へデザインのクロックに関する仕様書及びツールであるSTA(Static Timing Analysis)のクロック定義情報等をもとに、レイアウト設計者がマニュアルで作成する方法が一般的である。
従って、クロック合成ツールからのエラーメッセージ、実際に回路の解析やパスの解析等を行うことにより、制約条件を抽出することとなる。
特開2002−9155号公報
従来技術では、実際にレイアウトの段階において制約条件を抽出することの検討を始め、本来行われるべきクロック合成後のゲートオーバーヘッドの見積もりや回路の消費電力の見積もりを行うまでに工程数を必要とするという問題があった。
そこで、本発明は、論理設計者が既に持つSTAのクロック定義情報から、回路におけるクロックツリーが互いに重複する部分がないようにクロックツリーを分割するために必要となるフォルスパス/リーフポイント(false-path/leaf point)を抽出する手段を提供し、クロック合成の容易化と設計工程数への影響を小さくすることにある。
上記の課題は、コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを該コンピュータにより抽出する抽出ステップを含むことを特徴とするクロック合成方法によって達成できる。
上記の課題は、上記クロック合成方法を用いて設計することを特徴とする半導体装置によっても達成できる。
上記の課題、コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、該コンピュータに、回路のクロック情報に基づいて、回路におけるクロックツリーが互いに排他となり、重複部分がないようにクロックツリーを分割するために必要となるフォルスパス及びクロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのリーフポイントを抽出させる抽出手順を含むことを特徴とするプログラムによって達成できる。
本発明では、STAのクロック定義情報からCTS制約ファイルを自動生成することにより、短時間で、正確に、且つ、容易にクロック合成部分のゲートオーバーヘッドの影響と回路に生じる消費電力の影響を見積もることが可能となる。
以下に、本発明になるクロック合成方法、本発明になる半導体装置、及び本発明になるプログラムの各実施例を、図面と共に説明する。
本発明になるクロック合成方法は、汎用のコンピュータシステムを用いてコンピュータ支援設計(CAD)によりLSI等の半導体装置を設計する際に用いられる。本発明になるプログラムは、CPU等のプロセッサ及び記憶装置からなる汎用のコンピュータシステムにインストールされていても、磁気ディスクやCD−ROM等の記憶媒体に格納されていても良い。本発明になる半導体装置は、本発明になるクロック合成方法を用いて生成されたツリー構造の回路を備えたLSI等である。
図1は、ツリー型構造の回路を生成する処理を説明するフローチャートである。図1において、ステップS11は、LSIの分割対象領域を複数の領域に分割し、分割により得られた各領域に、分配対象であるLSIの構成素子、即ち、セルを分配する。ステップS12は、クロック合成を行ってクロックツリーを生成し、ステップS13は、概略配線を行う。ステップS14は、必要に応じてクロック位相差を考慮してタイミング改善処理を行う。ステップS15は、以上の処理がLSIの領域を繰り返し分割する規定回数だけ行われたか否かを判定し、判定結果がNOであると、処理はステップS11へ戻る。他方、ステップS15の判定結果がYESであると、ステップS16は、構成素子及び追加されたバッファ等の駆動セルの詳細配置を行う。以上の処理により、タイミングドリブン自動配置が行われる。最後に、ステップS17は、自動配線を行う。このように、LSIを構成する素子の配置座標をトップダウンに決定する自動配置処理の途中のステップS12で、ツリー構造の回路が生成される。
本発明になる半導体装置は、上記ツリー構造の回路を備え、本発明になるクロック合成方法は、上記ステップS12におけるクロック合成を行う。本発明になるプログラムは、上記コンピュータシステムのCPUに上記ステップS12におけるクロック合成を行わせる。
図2は、本発明になるクロック合成方法の一実施例を示すフローチャートである。同図に示す処理は、図1に示すステップS12内で行われる。セルライブラリ1は、セルに関する設計情報を格納する。ネットリスト2は、セル及び配線の接続関係に関する設計情報を格納する。クロック情報3は、主に3種類の情報I1〜I3を定義する。情報I1は、設計で使われる マスタ/スレーブクロック(master/slave clock)を定義する。情報I2は、同一クロックソースからのクロックパスが合流するポイント(point)でパスが一意に確定することを定義するもので、例えば後述する如くセレクタ等の選択信号への定数を設定することを示す。情報I3は、テストモードのオン/オフを定義する。セルライブラリ1、ネットリスト2及びクロック情報3は、いずれもコンピュータシステムの記憶装置内に設けられていても、外部の記憶装置に設けられてても良い。
ステップS21は、セルライブラリ1及びネットリスト2に基づいてパス解析を行う。このパス解析を行う際、イネーブル端子付きクロックバッファ(又はゲーテッドクロックバッファ(gated-clock buffer)をフリップフロップ(FF)として扱うかどうかを決定しても良い。ステップS22は、同一クロックソースからのクロックパスが合流するポイントにおいてパスが一意に確定しているか否かと、及びクロックツリーを分離するフォルスパス(false-path)とするポイントの設定が可能か否かのチェックを行う。チェックの結果ステップS22の判定結果がNOであると、クロック情報3に適宜追加設定を行い、処理はステップS21へ戻る。他方、ステップS22の判定結果がYESであると、処理はステップS23へ進む。尚、異なるクロックソースからのクロックパスが合流するポイントでは、クロック情報3に書かれたクロックの優先順位に従い、クロックの優先及び非優先が自動的に決定される。
ステップS23は、クロック合成の制約として必要となるクロックの定義及びフォルスパス/リーフポイント(false-path/leaf-point)の抽出を行い、クロックツリー合成 (CTS)制約ファイル11を半自動的に生成する。フォルスパスは、回路におけるクロックツリーが互いに重複する部分がないようにクロックツリーを分割するために必要となるものであり、リーフポイントは、クロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするためのものである。本実施例では、ステップS23は次のような抽出ルールに従ってCTSの制約条件を抽出する。つまり、3つの基本的なルールr1〜r3にもとづいてフォルスパス/リーフポイントを抽出するものとする。ルールr1によると、複数のクロックツリーは互いに排他であり、重複部分がないようにクロックツリーを分離する。ルールr2によると、クロックツリーを分離するフォルスパスとするポイントがクロックソースのルート端子 (positive edge) の位相と異なる場合、位相と同じポイントまで遡り、そこをフォルスパスのポイントとする。ルールr3によると、クロックソースが外部出力端子に直結(即ち、クロックバッファ以外のゲートは介さずに接続)している場合は、リーフポイントとして抽出する。
図3は、ステップS23においてCTSの制約条件を抽出する上記抽出ルールを説明する図である。同図に示す回路中、r1−Aはルールr1が適用される部分、r2−Aはルールr2が適用される部分、r3−Aはルールr3が適用される部分を示す。同図中、MCK1〜MCK4はクロックソース、BUF1〜BUF4はクロックバッファ、SEL1,SEL2はセレクタ、FF2,FF4はフリップフロップ、Logicは論理ゲート、CK_OUTは外部出力端子を示す。
ステップS24は、CTS制約ファイル11に適当なテクノロジ情報及びクロックツリーで使用するセルの定義を追加する。ステップS25は、レイアウト情報12、タイミング制約13、CTS制約ファイル11及び設定ファイル14を入力として、クロック合成を行う。ステップS26は、クロックバッファツリーによるゲートオーバーヘッドの見積もりを行い、ステップS27は、消費電力の見積もりを行う。
図4は、ステップS22の処理をより詳細に示すフローチャートである。同図中、ステップS31は、クロックパス上にフリップフロップ群が存在するか否かをチェックし、ステップS32は、クロックの合流が存在するか否かをチェックする。ステップS31及びステップS32の両方で該当するものがなければ、処理はステップS35で終了する。
他方、ステップS32で該当するクロックの合流が存在すると、ステップS33は、合流するクロックが同一クロックであるか否かをチェックし、同一クロックであれば、ステップS34は、パスを一意に確定する情報をクロック情報3へ追加設定する。又、ステップS31で該当するクロックパス上のフリップフロップ群が存在すると、ステップS36は、クロックツリーを分離するフォルスパスとするポイントを設定して格納する。ステップS37は、クロックソースのルート端子(positive edge)の位相と異なる位相(negative edge)が存在するか否かをチェックし、ステップS38は、ファンアウト(fan out)が存在するか否かをチェックする。ステップS39は、ステップS37、S38のチェック結果に基づいてクロックツリー構造を再考する。
図5は、ステップS22のチェック内容を説明する図である。同図中、(a),(b)は、抽出するポイントの該当部分を示す。又、MCK1〜MCK3はクロックソース、SEL1,SEL2はセレクタ、FF1〜FF3はフリップフロップ、Logicは論理ゲート、NAND1はナンドゲート、AND1はアンドゲートを示す。
部分(a)では、同一クロックソースMCK1からのクロックパスが合流するポイント(セレクタSEL1)が存在するので、パスを一意に確定する。具体的には、クロック情報3としてパスが一意に確定するように、セレクタSEL1のセレクト端子Sに定数を設定する。
部分(b)では、セレクタSEL2の入力端子Bをクロックツリーから分離するフォルスパスとするポイントとした場合、クロックソースのルート端子(positive edge)の位相と異なるため、位相と同じポイントまで遡りそこをフォルスパスのポイント(アンド回路AND1の入力端子A1)とする。しかし、ここでは遡った場合に、フリップフロップFF3のファンアウトが存在するため、1回のクロック合成では処理が出来ない。そこでこの場合は、フリップフロップFF3のクロック入力端子CK以降をスレーブクロック(slave clock)として個別にCTSを行う必要がある。
図6は、ステップS23の処理をより詳細に示すフローチャートである。同図中、ステップS41は、図2に示すステップS22のチェックによりクロックパス上にフリップフロップ群が存在しないことがわかると、スレーブクロックが存在するか否かをチェックする。ステップS42は、スレーブクロックが存在することがわかると、スレーブクロックをフォルスパスと認識し、ステップS43は、スレーブクロックをフォルスパスとして抽出して格納すると共に、処理は後述するステップS51へ進む。他方、ステップS44は、スレーブクロックが存在しないことがわかると、スレーブクロックをポート用のリーフと認識し、ステップS45は、スレーブクロックをリーフとして抽出して格納すると共に、処理は後述するステップS56へ進む。
ステップS46は、図2に示すステップS22のチェックによりクロックパス上にフリップフロップ群が存在することがわかると、フォルスパス/リーフポイントの設定を開始する。具体的には、ステップS47でクロックの合流が存在することがわかると、ステップS50−1でこれをフォルスパスとして抽出して格納する。又、ステップS48でスレーブクロックが存在することがわかると、ステップS50−1でこれをフォルスパスとして抽出して格納する。更に、ステップS49で外部出力端子が存在することがわかると、ステップ50−2でこれをリーフポイントとして抽出して格納する。ステップS50−1の後、処理はステップS51へ進み、ステップS50−2の後、処理は後述するステップS56へ進む。
ステップS51は、抽出したフォルスパスとするポイントのエッジをチェックする。ステップS51でエッジがネガティブエッジ(negative edge)、即ち、位相が異なることがわかると、ステップS52で同相(positive edge)となるポイントを探し、ステップS53は同相となるポイントを再抽出する。他方、ステップS51でエッジがポジティブエッジ(positive edge)、即ち、同相であることがわかると、ステップS54でこの同相(positive edge)となるポイントを維持する。ステップS55は、ステップS53で再抽出されたポイント、或いは、ステップS54で維持されたポイントをフォルスパスとして格納する。ステップS56は、上記の如く抽出したフォルスパス及びリーフを確定して格納する。
図7及び図8は、ステップS23のフォルスパス/リーフポイントの抽出を説明する図である。同図中、MCK1〜MCK7はクロックソース、BUF1〜BUF5はクロックバッファ、SEL1,SEL4はセレクタ、FF1〜FF8はフリップフロップ、Logicは論理ゲート、CK_OUT1,CK_OUT2は外部出力端子、Gated-CKはゲーテッドクロックバッファを示す。又、(a)〜(f)は抽出するポイントの該当部分を示す。
図7において、先ず、異なるクロックソースMCK,MCKからのクロックパスが合流するポイント(セレクタSEL)が存在する場合、クロックツリーを、互いに重複しないようにクロックツリーを分離する必要がある。クロック情報として与えるクロックの優先順位に従い、セレクタSELの入力端子A或いはセレクタSELの入力端子Bをフォルスパスとして抽出する。
同一クロックソースMCKからのクロックパスが合流するポイント(セレクタSEL4)が存在する場合、パスを一意に確定する必要がある。セレクタSEL4の入力端子Aを選択した場合、クロックソースのルート端子の位相と異なるため、位相と同じポイント(クロックバッファBUF1の入力端子Aまで遡りフォルスパスとして抽出する。
において、クロックソースから外部出力端子に直結している場合は、外部出力端子CK_OUT1をリーフポイントとして抽出するか、或いは、フリップフロップFF(リーフセル)が存在するネット(net)上のポイント(バッファBUF2の入力端子A)をフォルスパスとして抽出する。
クロックソースから外部出力端子に直結している場合は、外部出力端子CK_OUT2をリーフポイントとして抽出する。
図8において、フリップフロップFF5において分周クロックが存在する(クロックの定義がある)場合、クロックソースMCK6(マスタクロック)とフリップフロップFF5の出力端子Q(スレーブクロック)のクロックツリーを分離するために、フリップフロップFF5のクロック入力端子CKをフォルスパスとして抽出する。
イネーブル付クロックバッファ或いはアンド/オアゲートが存在する(クロックの定義がある)場合、クロックソースMCK7(マスタクロック)とゲーテッドクロックバッファGated-CKの出力端子X(スレーブクロック)のクロックツリーを分離するためにゲーテッドクロックバッファGated-CKのクロック入力端子CKをフォルスパスとして抽出する。
上記実施例では、回路にフリップフロップが設けられている場合について説明したが、フリップフロップの代わりにレジスタが設けられている場合にも、本発明を同様に適用可能であることは言うまでもない。
尚、本発明は、以下に付記する発明をも包含するものである。
(付記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項記載のプログラム。
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、種々の変形及び改良が可能であることは、言うまでもない。
ツリー型構造の回路を生成する処理を説明するフローチャートである。 本発明になるクロック合成方法の一実施例を示すフローチャートである。 CTSの制約条件を抽出する抽出ルールを説明する図である。 ステップS22の処理をより詳細に示すフローチャートである。 ステップS22のチェック内容を説明する図である。 ステップS23の処理をより詳細に示すフローチャートである。 ステップS23のフォルスパス/リーフポイントの抽出を説明する図である。 ステップS23のフォルスパス/リーフポイントの抽出を説明する図である。
符号の説明
1 セルライブラリ
2 ネットリスト
3 クロック情報
11 CTS
12 レイアウト情報
13 タイミング制約
14 設定ファイル

Claims (4)

  1. コンピュータによる半導体装置のレイアウト設計におけるクロック合成方法であって、
    複数のクロックソースを用いる前記半導体装置のツリー構造の回路を構成するセルに関する設計情報及び前記セル及び配線の接続関係に関する設計情報に基づいてパス解析を行うステップと、
    前記回路のクロック情報及び前記パス解析の結果に基づいて、同一クロックソースからのクロックパスが合流するポイントにおいてクロックパスが一意に確定しているか否かと、クロック合成の対象外にするポイントの設定が可能か否かのチェックを行うステップと、
    前記チェックの結果、前記クロックパスが一意に確定しており、且つ、前記クロック合成の対象外にするポイントの設定が可能であると、クロック合成の制約として必要となるクロックの定義と、フォルスパス及びリーフポイントの所定ルールに基づく抽出とを行い、前記クロックの定義及び抽出されたフォルスパス及びリーフポイントに基づいてクロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルを生成するステップと、
    前記CTS制約ファイルを用いてクロック合成を行いクロックツリーを生成するステップ
    を前記コンピュータにより行い、
    前記フォルスパスは、前記回路におけるクロックツリーが互いに排他となり重複する部分がないようにクロックツリーを分割するための情報であり、前記リーフポイントは、クロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするための情報であり、
    前記チェックを行うステップは、クロックパス上にフリップフロップ群が存在すると前記クロック合成の対象外とするポイントを前記同一クロックソースからのクロックパスが合流するポイントに設定するステップと、クロックの合流が存在すると合流するクロックが同一クロックであるか否かをチェックし、同一クロックであればクロックパスを一意に確定する情報を前記クロック情報へ追加設定するステップを含み、
    前記所定ルールは、複数のクロックツリーは互いに排他であり重複部分がないようにクロックツリーを分離する第1のルール、クロックツリーを分離するフォルスパスとするポイントがクロックソースのルート端子の位相と異なる場合は位相と同じポイントまで遡りそのポイントをフォルスパスのポイントとする第2のルール、及びクロックソースがクロックバッファ以外のゲートは介さず外部出力端子に接続している場合はリーフポイントとして抽出する第3のルールを含むことを特徴とする、クロック合成方法。
  2. 前記クロック情報は、前記回路の設計で使われるマスタ/スレーブクロックを定義する第1の情報、同一クロックソースからのクロックパスが合流するポイントでクロックパスが一意に確定することを定義する第2の情報、及びテストモードのオン/オフを定義する第3の情報を定義することを特徴とする、請求項記載のクロック合成方法。
  3. 前記CTS制約ファイルを生成するステップは、
    クロックパス上にフリップフロップ群が存在しないと、スレーブクロックが存在する場合は前記スレーブクロックをフォルスパスとして抽出すると共に、スレーブクロックが存在しない場合は前記スレーブクロックをリーフとして抽出するステップと、
    前記クロックパス上にフリップフロップ群が存在すると、フォルスパス/リーフポイントの設定を開始し、クロックの合流が存在するとこれをフォルスパスとして抽出し、スレーブクロックが存在するとこれをフォルスパスとして抽出し、外部出力端子が存在するとこれをリーフポイントとして抽出すると共に、抽出したフォルスパスとするポイントのクロック位相がそのクロックソースのルート端子の位相と異なる位相であると同相となるポイントを探して同相となるポイントを再抽出し、同相であると同相となるポイントを維持し、再抽出されたポイント、或いは、維持されたポイントをフォルスパスとし、抽出したフォルスパス及びリーフを確定するステップを含むことを特徴とする、請求項1又は2記載のクロック合成方法。
  4. コンピュータに半導体装置のレイアウト設計におけるクロック合成を行わせるプログラムであって、
    複数のクロックソースを用いる前記半導体装置のツリー構造の回路を構成するセルに関する設計情報及び前記セル及び配線の接続関係に関する設計情報に基づいてパス解析を行う手順と、
    前記回路のクロック情報及び前記パス解析の結果に基づいて、同一クロックソースからのクロックパスが合流するポイントにおいてクロックパスが一意に確定しているか否かと、クロック合成の対象外にするポイントの設定が可能か否かのチェックを行う手順と、
    前記チェックの結果、前記クロックパスが一意に確定しており、且つ、前記クロック合成の対象外にするポイントの設定が可能であると、クロック合成の制約として必要となるクロックの定義と、フォルスパス及びリーフポイントの所定ルールに基づく抽出とを行い、前記クロックの定義及び抽出されたフォルスパス及びリーフポイントに基づいてクロックツリー合成(CTS:Clock Tree Synthesis)の制約条件を示すCTS制約ファイルを生成する手順と、
    前記CTS制約ファイルを用いてクロック合成を行いクロックツリーを生成する手順
    を前記コンピュータに実行させ、
    前記フォルスパスは、前記回路におけるクロックツリーが互いに排他となり重複する部分がないようにクロックツリーを分割するための情報であり、前記リーフポイントは、クロックツリー上に存在するフリップフロップ以外のポイントをリーフ扱いするための情報であり、
    前記チェックを行う手順は、クロックパス上にフリップフロップ群が存在すると前記クロック合成の対象外とするポイントを前記同一クロックソースからのクロックパスが合流するポイントに設定する手順と、クロックの合流が存在すると合流するクロックが同一クロックであるか否かをチェックし、同一クロックであればクロックパスを一意に確定する情報を前記クロック情報へ追加設定する手順を含み、
    前記所定ルールは、複数のクロックツリーは互いに排他であり重複部分がないようにクロックツリーを分離する第1のルール、クロックツリーを分離するフォルスパスとするポイントがクロックソースのルート端子の位相と異なる場合は位相と同じポイントまで遡りそのポイントをフォルスパスのポイントとする第2のルール、及びクロックソースがクロックバッファ以外のゲートは介さず外部出力端子に接続している場合はリーフポイントとして抽出する第3のルールを含むことを特徴とする、プログラム。
JP2004271912A 2004-09-17 2004-09-17 クロック合成方法、半導体装置及びプログラム Expired - Fee Related JP4587754B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002009155A (ja) * 2000-06-20 2002-01-11 Mitsubishi Electric Corp 半導体回路の設計方法及びそれを用いて設計する半導体回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
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