| 【発明の名称】 |
クロックツリー分割装置およびその方法 |
| 【発明者】 |
【氏名】熊野 義則
|
| 【要約】 |
【課題】ネットリストを変更することによって、クロックツリーの分割を行う一連の作業を簡単にするクロックツリー分割装置を提供する。
【解決手段】クロックツリー分割装置は、クロック信号を供給するためにクロックツリーシンセシスを採用する回路のネットリストを変更するクロックツリー分割装置であって、変更前のネットリストと外部ピンのピンアサイン情報を入力し解析する設計情報入力手段と、各外部ピンのピン属性を設定するピン属性設定手段と、ピン属性設定手段によって設定されたピン属性に基づいて、外部ピンに接続している最終段または最前段のフリップフロップを検出するFF検出手段と、ピン属性に基づいて該当するフリップフロップのクロックツリーを変更し新たなクロックツリーを作成するクロックツリー分割手段とを有するものである。 |
【特許請求の範囲】
【請求項1】 クロック信号を供給するためにクロックツリーシンセシスを採用する回路のネットリストを変更するクロックツリー分割装置において、変更前のネットリストと外部ピンのピンアサイン情報を入力し解析する設計情報入力手段と、各外部ピンのピン属性を設定するピン属性設定手段と、ピン属性設定手段によって設定されたピン属性に基づいて、外部ピンに接続している最終段または最前段のフリップフロップを検出するFF検出手段と、ピン属性に基づいて該当するフリップフロップのクロックツリーを変更し新たなクロックツリーを作成するクロックツリー分割手段とを有することを特徴とするクロックツリー分割装置。 【請求項2】 データ入力装置と、前記設計情報入力手段により入力されたネットリストとピンアサイン情報に基づいて、外部ピンの配置をグラフィカルに表示するデータ出力装置とを有し、ユーザは前記データ出力装置に表示されるピン配置を見ながら、前記データ入力装置によりどのピンに接続しているフリップフロップのクロックツリーを分割するかを入力できることを特徴とする請求項1記載のクロックツリー分割装置。 【請求項3】 クロック信号を供給するためにクロックツリーシンセシスを採用する回路のネットリストを変更するクロックツリーの分割方法において、変更前のネットリストと外部ピンのピンアサイン情報を入力し、各外部ピンのピン属性を設定し、設定されたピン属性に基づいて、外部ピンに接続している最終段または最前段のフリップフロップを検出し、ピン属性に基づいて該当するフリップフロップのクロックツリーを変更し新たなクロックツリーを作成することを有することを特徴とするクロックツリー分割方法。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、クロック信号を供給するためにクロックツリーシンセシスを採用した回路において、ネットリストを変更することによって、クロックツリーを分割する技術に関するものである。 【0002】 【従来の技術】図2はクロックツリー構造の一例の説明図を示す。図2(a)に示すように、LSIチップ21のクロック信号入力部22の後段に置かれたバッファ23から、LSIチップ21内部に複数存在する各フリップフロップ24に、クロックツリーによってクロック信号を分配する場合を例にとって説明する。フリップフロップ(FF)24は、クロック信号を入力する機能を有するものであれば何でもよく、フリップフロップに限定されない。なお、図示の便宜上符号はすべてに付していないが、矩形はFF24を示している。またPLL(Phase Locked Loop)回路を使用しているならばPLL回路の出力端子をクロック信号入力部と考えることもできる。 【0003】図2(a)に示すLSIチップ21に対しクロックツリーを生成するには、図2(b)に示すようにバッファ23から同時動作させる各FF24まで配線経路25とバッファ26とを用いて接続しツリー(木)構造とする必要がある。このとき、信号伝播遅延を考慮してバッファ26の配置位置と配線経路25を同時に適切に決定することにより、各FF24に到達するクロック信号の位相差、すなわちクロックスキューを小さくすることができる。 【0004】このクロックツリー構造を自動生成する方法は、クロックツリーシンセシスとして従来より知られており、特開平9−91055号公報において開示されている。 【0005】図3はネットリストのイメージ図を示す。図3は、LSIチップ21において、外部ピンであるクロック信号入力部22の後段に置かれたバッファ23から同時動作させる各フリップフロップ24まで配線によって接続されたクロックツリーを示している。クロックツリーシンセシスを採用する場合、クロックラインにクロックツリーのソースポイントとなるバッファ23を挿入しておき、バッファ23の出力端子が同時動作させる各FF24の入力端子に直接接続するようにしておくのが一般的である。 【0006】実際にクロックツリーシンセシスを実行するのはクロックツリーシンセシス配置配線装置であり、このクロックツリーシンセシス配置配線装置は、前述のネットリストを読み込んで自動的にクロックツリー構造を生成する。 【0007】 【発明が解決しようとする課題】しかしながら、クロックツリーシンセシスを採用してクロックツリーを分割する場合にも以下のような問題がある。その問題について、例えばAC特性の最大遅延特性の条件が厳しい場合を例として説明する。最大遅延の値は、最終段のFFのクロックラインの遅延時間T1と、FFから外部ピンまでのデータラインの遅延時間T2の合計によって決まる。ここで、遅延時間T2が最短時間であるならば、最大遅延の値が所定の条件を満たすためには遅延時間T1を短くしなければならない。ところが、クロックツリーシンセシスを採用している場合、遅延時間T1は負荷となるFFの個数やFFの配置位置などによって決まる。つまり負荷となるFFの数が多ければファンアウト制約を満たすためにバッファの段数が多くなってしまうし、FFの配置位置が離れてしまうと配線距離が長くなってしまうので、結果として遅延時間T1は長くなる。 【0008】そこでこのような場合、遅延時間T1を短くする解決策としてクロックツリーを分割することがある。例えば遅延時間T1をコントロールしたいFFと他のFFとのクロックツリーを分割することで、負荷となるFFの数を減らすことができる。またコントロールしたいFFがLSIチップの外部ピンの位置に近ければ、接続する最終段のFFも比較的近くに配置されると考えられるので、クロックツリーを分割する単位が外部ピンの位置が近いグループ単位であれば、配線距離を短くすることも可能である。 【0009】ただしこのような対応をとるとき、以下の2つの問題がある。第1の問題は、対象の外部ピンに接続している最終段(または最前段)のFFが予め判っていないと、そのFFを調べるために複雑なネットリストを追わなければならないことである。第2の問題は、クロックツリー分割のネットリスト変更はとても大変な作業ということである。 【0010】本発明は、上記問題を解決するためになされたものであり、ネットリストを変更することによって、クロックツリーの分割を行う一連の作業を簡単にするクロックツリー分割装置およびその方法を提供する。 【0011】 【課題を解決するための手段】上記課題を解決するために、請求項1記載のクロックツリー分割装置は、クロック信号を供給するためにクロックツリーシンセシスを採用する回路のネットリストを変更するクロックツリー分割装置であって、変更前のネットリストと外部ピンのピンアサイン情報を入力し解析する設計情報入力手段と、各外部ピンのピン属性を設定するピン属性設定手段と、ピン属性設定手段によって設定されたピン属性に基づいて、外部ピンに接続している最終段または最前段のフリップフロップを検出するFF検出手段と、ピン属性に基づいて該当するフリップフロップのクロックツリーを変更し新たなクロックツリーを作成するクロックツリー分割手段とを有することを特徴とするものである。 【0012】請求項2記載のクロックツリー分割装置は、請求項1記載のクロックツリー分割装置において、データ入力装置と、前記設計情報入力手段により入力されたネットリストとピンアサイン情報に基づいて、外部ピンの配置をグラフィカルに表示するデータ出力装置とを有し、ユーザは前記データ出力装置に表示されるピン配置を見ながら、前記データ入力装置によりどの外部ピンに接続しているフリップフロップのクロックツリーを分割するかを入力できることを特徴とするものである。 【0013】請求項3記載のクロックツリー分割方法は、クロック信号を供給するためにクロックツリーシンセシスを採用する回路のネットリストを変更するクロックツリーの分割方法であって、変更前のネットリストと外部ピンのピンアサイン情報を入力し、各外部ピンのピン属性を設定し、設定されたピン属性に基づいて、外部ピンに接続している最終段または最前段のフリップフロップを検出し、ピン属性に基づいて該当するフリップフロップのクロックツリーを変更し新たなクロックツリーを作成することを有することを特徴とするものである。 【0014】 【発明の実施の形態】以下、図面を参照して本発明のクロックツリー分割装置について説明する。まず、クロックツリー分割装置の構成について説明する。図1は本発明のクロックツリー分割装置の構成を示すブロック図である。図1に示すように、クロックツリー分割装置は、データ入力装置1と、設計変更装置2と、記憶装置3と、データ出力装置4とから構成される。データ入力装置1は、データを入力するためのものであり、例えばマウスやキーボードである。設計変更装置2は、設計情報入力手段5と、ピン属性設定手段6と、FF検出手段7と、クロックツリー分割手段8と、設計変更結果出力手段9とを備えている。記憶装置3は、設計情報記憶部10と、ピン属性記憶部11と、FF情報記憶部12とを備えている。データ出力装置4は、データを出力するためのものであり、例えばディスプレイや印刷装置である。 【0015】次に、クロックツリー分割装置の動作について説明する。設計情報入力手段5は、変更前のクロックツリーのネットリストとピンアサイン情報を入力し、データ出力装置4で表示することができるように解析する。この入力の際に、設計情報入力手段5は、図示されていないCD−ROMやフロッピー(登録商標)ディスクのような情報記録媒体から、またはROM等の記憶装置から、入力する変更前のクロックツリーのネットリストとピンアサイン情報を読み出してもよい。また、設計情報入力手段5は、図示されていない外部装置から入力された変更前のクロックツリーのネットリストとピンアサイン情報を入力してもよい。 【0016】設計情報記憶部10は、設計情報入力手段5によって入力されたネットリストとピンアサイン情報を記憶する。データ出力装置4は、設計情報入力手段5によって解析されたネットリストとピンアサイン情報とに基づいて、ピン配置をグラフィカルに表示する。ユーザが、データ出力装置4によってグラフィカルに表示されたピン配置を見ながら、データ入力装置1によりどの外部ピンに接続しているフリップフロップのクロックツリーを分割するかを入力すると、そのユーザの入力に基づいてピン属性設定手段6は、外部ピンのピン属性を設定する。より具体的には、クロックツリーを分割したいピングループに対して他の外部ピンのピン属性と異なるピン属性を与えることにより、他の外部ピンとの差別化を図る。ピン属性設定手段6によって設定されたピン属性は、ピン情報記憶部11に記憶される。 【0017】FF検出手段7は、ピン属性設定手段6により設定されたピン属性に基づいて、ネットリストを検索して外部ピンに接続している最終段または最前段のFFを自動的に検出する。FF検出手段7による検出結果は、FF情報記憶部12に記憶される。クロックツリー分割手段8は、ピン属性に基づいて、ネットリストにおいて、配線を削除することによってFF検出手段7により検出されたFFを元々のクロックツリーから分離し、検出されたFFに新たな配線とバッファとを付加することによってクロックツリーを変更する。全ての処理が終了後、設計変更結果出力手段9は、変更後のネットリストを出力する。出力装置4は、設計変更結果出力手段9が出力した変更後のネットリストを表示または印刷する。 【0018】以下、ピン属性設定手段6によるピン属性の設定について説明する。図4はピン属性設定の際にデータ出力装置が表示するピン配置を示す説明図である。図4は、例として、外部ピン(PIN18、PIN19、PIN20)に接続している最終段のFFのクロックツリーを分割する場合を示す。図4(a)に示すように、データ出力装置4は、ピンアサイン情報に基づいて、各外部ピン(PIN1〜PIN28)がLSIチップ21のどの位置に配置されているかをグラフィカルに表示することができる。次にユーザが、データ入力装置1によりクロックツリーを分割したい外部ピンをグループ毎に分けて入力すると、ピン属性設定手段6は、それぞれの外部ピンに対してピン属性を設定する。図4(b)は、PIN18、PIN19、PIN20をツリーナンバ1の1つのグループとしてユーザにより入力された例が示されている。このユーザによる入力方法は、データ出力装置4の画面上で外部ピンを選択すると自動的にグループ毎に分けて入力するようになっていてもよいし、キーボードから選択する外部ピンを直接入力するようにしてもよい。以上記載されているように、ユーザは、データ出力装置に表示されるピン配置を見ながら、データ入力装置によりどのピンに接続しているフリップフロップのクロックツリーを分割するかを入力できる。 【0019】次に、クロックツリー分割手段8によるクロックツリーの分割について説明する。図5、6は、ネットリストのイメージ図を示す。図5は、例として、ピン属性が設定された外部ピン(PIN18、PIN19、PIN20)51に組み合わせ回路52を介して接続している最終段のFF54のクロックツリーを分割する前を示す。また、この図5は、設計情報入力手段5が入力する変更前のネットリストの一部を示す。バッファ23の出力端子が同時動作させる各FF24、54の入力端子に直接接続している。図6は、例として、ピン属性が設定された外部ピン(PIN18、PIN19、PIN20)51に組み合わせ回路52を介して接続している最終段のFF54のクロックツリーを分割した後を示す。この最終段のFF54は、設定されたピン属性に基づいて、FF検出手段7により検出されるものである。 【0020】クロックツリー分割手段8は、設定されたピン属性に基づいて、LSIチップ21のクロック信号入力部22の後段に置かれたバッファ23と並列に新たにバッファ53を作成し、外部ピン(PIN18、PIN19、PIN20)51に接続している最終段のFF54の入力を、バッファ53の出力に繋ぎ変える(図6)。以上記載されているように、外部ピンのピン属性を設定することによって、自動的にクロックツリーを分割することができる。 【0021】なお、ここでは、最終段のFFを検出する例を説明したが、最前段のFFを検出してネットリストを変更してもよい。 【0022】 【発明の効果】請求項1記載のクロックツリー分割装置によれば、変更前のネットリストと外部ピンのピンアサイン情報を入力し、外部ピンのピン属性を設定するだけで、自動的にクロックツリーを分割したネットリストの作成が可能となる。従って外部ピンに接続している最終段または最前段のFFを調べるために複雑なネットリストを追う必要もなく、また煩雑なネットリストの変更作業も必要ないので、クロックツリーを分割する必要が生じても作業負荷が軽減できる。 【0023】請求項2記載のクロックツリー分割装置によれば、ユーザがデータ出力装置に表示されるピン配置を見ながら、前記データ入力装置によりどのピンに接続しているフリップフロップのクロックツリーを分割するかを入力できるので、クロックツリーを分割する作業が非常に簡単である。 【0024】請求項3記載のクロックツリー分割方法によれば、変更前のネットリストと外部ピンのピンアサイン情報を入力し、外部ピンのピン属性を設定するだけで、自動的にクロックツリーを分割したネットリストの作成が可能となる。従って外部ピンに接続している最終段または最前段のFFを調べるために複雑なネットリストを追う必要もなく、また煩雑なネットリストの変更作業も必要ないので、クロックツリーを分割する必要が生じても作業負荷が軽減できる。
|
| 【出願人】 |
【識別番号】000006747 【氏名又は名称】株式会社リコー
|
| 【出願日】 |
平成12年9月29日(2000.9.29) |
| 【代理人】 |
【識別番号】100062144 【弁理士】 【氏名又は名称】青山 葆 (外1名)
|
| 【公開番号】 |
特開2002−108961(P2002−108961A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−300471(P2000−300471) |
|