JP2953384B2 - 半導体集積回路のクロックツリー形成方法 - Google Patents
半導体集積回路のクロックツリー形成方法Info
- Publication number
- JP2953384B2 JP2953384B2 JP8186112A JP18611296A JP2953384B2 JP 2953384 B2 JP2953384 B2 JP 2953384B2 JP 8186112 A JP8186112 A JP 8186112A JP 18611296 A JP18611296 A JP 18611296A JP 2953384 B2 JP2953384 B2 JP 2953384B2
- Authority
- JP
- Japan
- Prior art keywords
- flip
- delay
- flops
- clock
- connection
- 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 - Lifetime
Links
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Power Sources (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
【0001】
【発明の属する技術分野】本発明は半導体集積回路のレ
イアウトに関し、特にLSIのクロック信号分配部分の
配置配線方法に関する。
イアウトに関し、特にLSIのクロック信号分配部分の
配置配線方法に関する。
【0002】
【従来の技術】従来のLSIのCADを用いたレイアウ
ト手法においては、配置配線工程において、その遅延を
CADのライブラリに登録された素子や配線の遅延値に
基づいて計算し、回路へのバッファ挿入や配線長の調整
により、全体の遅延を調整していた。
ト手法においては、配置配線工程において、その遅延を
CADのライブラリに登録された素子や配線の遅延値に
基づいて計算し、回路へのバッファ挿入や配線長の調整
により、全体の遅延を調整していた。
【0003】図5は本発明との比較のための従来のLS
Iのレイアウト手法で設計されたクロックツリ−形成方
法の第1の適用例を示す回路図であり、図中符号50
1、502、503、504はクロックツリーを形成す
るバッファ、505、506、507、508、50
9、510はフリップフロップ、511、512、51
3は組合せ回路である。
Iのレイアウト手法で設計されたクロックツリ−形成方
法の第1の適用例を示す回路図であり、図中符号50
1、502、503、504はクロックツリーを形成す
るバッファ、505、506、507、508、50
9、510はフリップフロップ、511、512、51
3は組合せ回路である。
【0004】511は505と506の間に入っている
回路であり、512は507と508の間に入っている
回路であり、513は509と510の間に入っている
回路である。506と507の間、508と509の間
は、配線のみで接続されているものとする。このとき、
511と512と513による遅延は各フリップフロッ
プ間のホールド時間制約を満たすには充分大きく、また
クロック周期の関係からセットアップ時間を満たすには
充分に小さいものとする。また、配線のみで接続された
フリップフロップ同士に対しては、クロック周期の関係
からセットアップ時間を満たすには充分小さいものとす
る。このときクロックツリー形成上の問題は、配線のみ
で接続されたフリップフロップ間同士のホールド時間の
制約である。
回路であり、512は507と508の間に入っている
回路であり、513は509と510の間に入っている
回路である。506と507の間、508と509の間
は、配線のみで接続されているものとする。このとき、
511と512と513による遅延は各フリップフロッ
プ間のホールド時間制約を満たすには充分大きく、また
クロック周期の関係からセットアップ時間を満たすには
充分に小さいものとする。また、配線のみで接続された
フリップフロップ同士に対しては、クロック周期の関係
からセットアップ時間を満たすには充分小さいものとす
る。このときクロックツリー形成上の問題は、配線のみ
で接続されたフリップフロップ間同士のホールド時間の
制約である。
【0005】図6は本発明との比較のための従来のLS
Iのレイアウト手法で設計されたクロックツリ−形成方
法の第2の適用例を示す回路図であり、図中符号60
1、604、605、606、607はクロックツリー
を形成するバッファ、602、603はクロックツリ−
を形成するANDゲート、608、609、610、6
11、612、613、614、615はフリップフロ
ップ、616は遅延の小さなバッファ、617、61
8、619は組合せ回路である。
Iのレイアウト手法で設計されたクロックツリ−形成方
法の第2の適用例を示す回路図であり、図中符号60
1、604、605、606、607はクロックツリー
を形成するバッファ、602、603はクロックツリ−
を形成するANDゲート、608、609、610、6
11、612、613、614、615はフリップフロ
ップ、616は遅延の小さなバッファ、617、61
8、619は組合せ回路である。
【0006】このとき、617と618と619による
遅延は各フリップフロップ間のホールド時間制約を満た
すには充分大きく、またクロック周期の関係からセット
アップ時間を満たすには充分に小さいものとする。ま
た、配線のみで接続されたフリップフロップ同士に対し
ては、クロック周期の関係からセットアップ時間を満た
すには充分小さいものとする。616のバッファも、そ
れを介して接続されたフリップフロップに対しては、ク
ロック周期の関係からセットアップ時間を満たすには十
分小さいものとする。
遅延は各フリップフロップ間のホールド時間制約を満た
すには充分大きく、またクロック周期の関係からセット
アップ時間を満たすには充分に小さいものとする。ま
た、配線のみで接続されたフリップフロップ同士に対し
ては、クロック周期の関係からセットアップ時間を満た
すには充分小さいものとする。616のバッファも、そ
れを介して接続されたフリップフロップに対しては、ク
ロック周期の関係からセットアップ時間を満たすには十
分小さいものとする。
【0007】
【発明が解決しようとする課題】クロック信号をフリッ
プフロップに分配する全経路であるクロックツリーの合
成等で使用される従来の遅延調整方式においては、CA
Dのライブラリのデータに基づいた遅延値、あるいは遅
延パタメータ値を使用して遅延の見積もりを行い、クロ
ック信号の元であるクロックドライバの出力端子から、
各フリップフロップのクロック入力端子までの遅延差つ
まりクロックスキューが小さくなるように調整してい
た。しかしながら、実際の遅延はLSIを製造する場合
の各種条件等により、ばらつきを生じる。このばらつき
を考慮した場合、単にライブラリの値のみに基づいて調
整を行った場合、物理的にばらつきが大きい部分ではレ
イアウト時の計算よりも遅延のずれが大きくなり、計算
値に対し無視できないクロックスキユーとなる場合があ
る。
プフロップに分配する全経路であるクロックツリーの合
成等で使用される従来の遅延調整方式においては、CA
Dのライブラリのデータに基づいた遅延値、あるいは遅
延パタメータ値を使用して遅延の見積もりを行い、クロ
ック信号の元であるクロックドライバの出力端子から、
各フリップフロップのクロック入力端子までの遅延差つ
まりクロックスキューが小さくなるように調整してい
た。しかしながら、実際の遅延はLSIを製造する場合
の各種条件等により、ばらつきを生じる。このばらつき
を考慮した場合、単にライブラリの値のみに基づいて調
整を行った場合、物理的にばらつきが大きい部分ではレ
イアウト時の計算よりも遅延のずれが大きくなり、計算
値に対し無視できないクロックスキユーとなる場合があ
る。
【0008】このばらつきは、レイアウト用のCADで
は一般に考慮不可能なものであるため、レイアウト用の
CADに対するマージンとして扱われている。従って、
このマージンはレイウトCADでは調整できないものと
なり、このマージンを一律に考慮することにより、物理
的なばらつきが小さい回路部分に関しても、必要以上の
マージンを考慮する必要があり、結果としてクロックス
キュー調整の精度を悪くし、回路設計に必要以上の制約
を課すことになるという問題があった。
は一般に考慮不可能なものであるため、レイアウト用の
CADに対するマージンとして扱われている。従って、
このマージンはレイウトCADでは調整できないものと
なり、このマージンを一律に考慮することにより、物理
的なばらつきが小さい回路部分に関しても、必要以上の
マージンを考慮する必要があり、結果としてクロックス
キュー調整の精度を悪くし、回路設計に必要以上の制約
を課すことになるという問題があった。
【0009】一例として、図5に示された従来のクロッ
クツリー形成方法の第1の適用例においては、クロック
ツリー形成時に調整不可能な遅延は物理的な遅延のばら
つきも含めて、全体的に不確定値として処理する必要が
ある。つまり、マージンとして考慮する必要がある。こ
の場合、501、502、503、504はクロックの
ツリーを構成するバツファである。このとき、502、
503、504から先のもつ遅延の不確定値と、501
から先のもつ遅延の不確定値を特に区別せず、一律に不
確定値を考慮して、スキューを調整する必要がある。こ
のため、スキュー調整が困難となる場合があり、結果と
して配線のみで接続されているフリップフロップ間、即
ち506と507間、508と509間に対しては、遅
延制約が満たされず、再度回路の構成を変更し、クロッ
クツリー形成を行わなければならない場合がある。例え
ばこの回路においては、フリップフロップ間が配線で接
続されているものに関しては、その間にバッファ等を挿
入し、フリップフロップ間に遅延を付加しなければなら
ない場合がある。
クツリー形成方法の第1の適用例においては、クロック
ツリー形成時に調整不可能な遅延は物理的な遅延のばら
つきも含めて、全体的に不確定値として処理する必要が
ある。つまり、マージンとして考慮する必要がある。こ
の場合、501、502、503、504はクロックの
ツリーを構成するバツファである。このとき、502、
503、504から先のもつ遅延の不確定値と、501
から先のもつ遅延の不確定値を特に区別せず、一律に不
確定値を考慮して、スキューを調整する必要がある。こ
のため、スキュー調整が困難となる場合があり、結果と
して配線のみで接続されているフリップフロップ間、即
ち506と507間、508と509間に対しては、遅
延制約が満たされず、再度回路の構成を変更し、クロッ
クツリー形成を行わなければならない場合がある。例え
ばこの回路においては、フリップフロップ間が配線で接
続されているものに関しては、その間にバッファ等を挿
入し、フリップフロップ間に遅延を付加しなければなら
ない場合がある。
【0010】また、図6に示す従来のクロックツリー形
成方法の第2の適用例においても、クロックツリー形成
時に調整不可能な遅延は物理的な遅延のばらつきも含め
て、全体的に不確定値として処理する必要がある。つま
り、マージンとして考慮する必要がある。この場合、6
04、605、606、607から先のもつ遅延の不確
定値と、602、603から先のもつ遅延の不確定値
と、601から先のもつ遅延の不確定値とを特に区別せ
ず、一律に不確定値を考慮して、スキューを調整する必
要がある。このため、スキュー調整が困難となる場合が
ある。結果として、配線のみで接続されているフリップ
フロップ間、即ち609と610間、612と613間
および小さな遅延を持つバッファのみを介して接続され
ているフリップフロップ611と612間に対しては、
遅延制約が満たされず、再度回路の構成を変更し、クロ
ックツリー形成を行わなければならない場合がある。こ
の回路においては、フリップフロップ間が配線で接続さ
れているものや小さな遅延を持つバッファのみを介して
接続されているものに関しては、その間にバッファ等を
挿入し、フリップフロップ間に遅延を付加しなければな
らない場合がある。
成方法の第2の適用例においても、クロックツリー形成
時に調整不可能な遅延は物理的な遅延のばらつきも含め
て、全体的に不確定値として処理する必要がある。つま
り、マージンとして考慮する必要がある。この場合、6
04、605、606、607から先のもつ遅延の不確
定値と、602、603から先のもつ遅延の不確定値
と、601から先のもつ遅延の不確定値とを特に区別せ
ず、一律に不確定値を考慮して、スキューを調整する必
要がある。このため、スキュー調整が困難となる場合が
ある。結果として、配線のみで接続されているフリップ
フロップ間、即ち609と610間、612と613間
および小さな遅延を持つバッファのみを介して接続され
ているフリップフロップ611と612間に対しては、
遅延制約が満たされず、再度回路の構成を変更し、クロ
ックツリー形成を行わなければならない場合がある。こ
の回路においては、フリップフロップ間が配線で接続さ
れているものや小さな遅延を持つバッファのみを介して
接続されているものに関しては、その間にバッファ等を
挿入し、フリップフロップ間に遅延を付加しなければな
らない場合がある。
【0011】本発明の目的は、物理的なばらつきが小さ
い回路部分に関しては、必要以上のマージンを考慮する
ことなく、結果としてクロックスキュー調整の精度を上
げ、回路設計に必要以上の制約を課す必要のない半導体
集積回路のクロックツリー形成方法を提供することにあ
る。
い回路部分に関しては、必要以上のマージンを考慮する
ことなく、結果としてクロックスキュー調整の精度を上
げ、回路設計に必要以上の制約を課す必要のない半導体
集積回路のクロックツリー形成方法を提供することにあ
る。
【0012】
【課題を解決するための手段】本発明の半導体集積回路
のクロックツリー形成方法は、CADを用いた半導体集
積回路のクロックツリー形成方法において、クロック回
路を形成する素子や配線の形態に対応した遅延の物理的
変動量を、接続方式ごとに登録する。
のクロックツリー形成方法は、CADを用いた半導体集
積回路のクロックツリー形成方法において、クロック回
路を形成する素子や配線の形態に対応した遅延の物理的
変動量を、接続方式ごとに登録する。
【0013】互いに接続のあるフリップフロップの全て
のペアについて最大遅延量と最小遅延量を解析し、全て
のペアに対して、接続方式ごとに登録された遅延の物理
的変動量の最も多い接続方式から最も少ない接続方式の
順に、それぞれの物理的変動量を勘案した遅延が、フリ
ップフロップのホールド時間の制約とセットアップ時間
の制約を満たすか否かを検証して、該ペアに適用可能な
最も物理的変動量の多い接続方式を登録し、各ペアに登
録された接続方式を用いて全フリップフロップをグルー
プ化してクロックツリーを形成することにより、タイミ
ング制約の厳しい部分から、物理的変動量の少ない接続
方式を優先的に使用する。
のペアについて最大遅延量と最小遅延量を解析し、全て
のペアに対して、接続方式ごとに登録された遅延の物理
的変動量の最も多い接続方式から最も少ない接続方式の
順に、それぞれの物理的変動量を勘案した遅延が、フリ
ップフロップのホールド時間の制約とセットアップ時間
の制約を満たすか否かを検証して、該ペアに適用可能な
最も物理的変動量の多い接続方式を登録し、各ペアに登
録された接続方式を用いて全フリップフロップをグルー
プ化してクロックツリーを形成することにより、タイミ
ング制約の厳しい部分から、物理的変動量の少ない接続
方式を優先的に使用する。
【0014】さらに、スキャン接続されているフリップ
フロップのペアのクロック入力を異なるバッファを介し
て接続する方式を方式1とし、スキャン接続されている
フリップフロップのペアのクロック入力をバッファを介
さないで配線のみで接続する方式を方式2として登録
し、方式2を物理的変動量の少ない接続方式としてタイ
ミング制約の厳しい部分から優先的に使用し、スキャン
接続されているフリップフロップのペアのクロック入力
を異なる多入力論理ゲートとバッファを挿入して接続す
る方式を方式1とし、スキャン接続されているフリップ
フロップのペアのクロック入力を異なるバッファを介し
て接続する方式を方式2とし、スキャン接続されている
フリップフロップのペアのクロック入力をバッファを介
さないで配線のみで接続する方式を方式3として登録
し、方式3を最も物理的変動量の少ない接続方式とし、
方式2を次に物理的変動量の少ない接続方式としてタイ
ミング制約の厳しい部分から優先的に使用する。
フロップのペアのクロック入力を異なるバッファを介し
て接続する方式を方式1とし、スキャン接続されている
フリップフロップのペアのクロック入力をバッファを介
さないで配線のみで接続する方式を方式2として登録
し、方式2を物理的変動量の少ない接続方式としてタイ
ミング制約の厳しい部分から優先的に使用し、スキャン
接続されているフリップフロップのペアのクロック入力
を異なる多入力論理ゲートとバッファを挿入して接続す
る方式を方式1とし、スキャン接続されているフリップ
フロップのペアのクロック入力を異なるバッファを介し
て接続する方式を方式2とし、スキャン接続されている
フリップフロップのペアのクロック入力をバッファを介
さないで配線のみで接続する方式を方式3として登録
し、方式3を最も物理的変動量の少ない接続方式とし、
方式2を次に物理的変動量の少ない接続方式としてタイ
ミング制約の厳しい部分から優先的に使用する。
【0015】本発明のクロックツリー生成方式は、CA
DによるLSIの回路設計において、LSIの素子や配
線等の形態の製造上の各種条件によって発生する物理変
動量を、その種類別に登録し、タイミングの制約が厳し
い部分から、物理変動量の小さい形態を優先的に使用す
る機構を有することにより、クロックツリーの形成に当
り必要以上のマージンを考慮する必要がなくなった。
DによるLSIの回路設計において、LSIの素子や配
線等の形態の製造上の各種条件によって発生する物理変
動量を、その種類別に登録し、タイミングの制約が厳し
い部分から、物理変動量の小さい形態を優先的に使用す
る機構を有することにより、クロックツリーの形成に当
り必要以上のマージンを考慮する必要がなくなった。
【0016】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。図1は本発明の第1の実施
の形態の回路設計処理のフローチャートである。S10
1〜S113は各処理のステップを示す。
て図面を参照して説明する。図1は本発明の第1の実施
の形態の回路設計処理のフローチャートである。S10
1〜S113は各処理のステップを示す。
【0017】回路設計を開始すると(S101)、ま
ず、レイアウトにおいてクロックスキューが小さくなる
ように配置・配線を行なう技術であるクロックツリーシ
ンセシス技術等のクロックスキュー低減のためのプログ
ラムで保証可能な遅延の範囲、即ちソフトウエアで調整
可能な遅延と、製造プロセス等に関連する物理的な製造
ばらつきに起因する遅延のばらつきとを、クロックツリ
ー形成の各方式毎に加算し、これをクロックツリー形成
の各方式毎の不確定遅延として決定してライブラリに登
録する(S102)。この処理は、あらかじめ、ライブ
ラリに不確定遅延として登録されていれば、各回路に対
する処理ごとに行う必要はない。この第1の実施の形態
のフローでは、クロックツリー形成の方式を2つの方式
に分類したときの処理を示している。以下、遅延のばら
つきの大きい方式を方式1、小さい方式を方式2とす
る。
ず、レイアウトにおいてクロックスキューが小さくなる
ように配置・配線を行なう技術であるクロックツリーシ
ンセシス技術等のクロックスキュー低減のためのプログ
ラムで保証可能な遅延の範囲、即ちソフトウエアで調整
可能な遅延と、製造プロセス等に関連する物理的な製造
ばらつきに起因する遅延のばらつきとを、クロックツリ
ー形成の各方式毎に加算し、これをクロックツリー形成
の各方式毎の不確定遅延として決定してライブラリに登
録する(S102)。この処理は、あらかじめ、ライブ
ラリに不確定遅延として登録されていれば、各回路に対
する処理ごとに行う必要はない。この第1の実施の形態
のフローでは、クロックツリー形成の方式を2つの方式
に分類したときの処理を示している。以下、遅延のばら
つきの大きい方式を方式1、小さい方式を方式2とす
る。
【0018】次に、回路全体にわたり、フリップフロッ
プ間の最悪遅延解析を行う。このステップでは、互いに
接続のあるフリップフロップの全てのペアに対し、その
最悪遅延を求める。最悪遅延値とは、ここでは、種々の
条件を考慮した場合の最大遅延と最小遅延の両方を示
す。この最悪遅延値は、各フリップフロップのクロック
入力までの遅延差は無視をして求めておく(S10
3)。次に、全てのフリップフロップのペア処理終了の
判定処理を行ない、全てのフリップフロップに対する処
理が終了していない場合は、そのフリップフロップのペ
アを1つづつ取り出して、各フリップフロップ間の1次
制約の解析S105に移行し、全てのフリップフロップ
に対し処理が終了すれば、フリップフロップのグループ
化の処理S111に移行する(S104)。
プ間の最悪遅延解析を行う。このステップでは、互いに
接続のあるフリップフロップの全てのペアに対し、その
最悪遅延を求める。最悪遅延値とは、ここでは、種々の
条件を考慮した場合の最大遅延と最小遅延の両方を示
す。この最悪遅延値は、各フリップフロップのクロック
入力までの遅延差は無視をして求めておく(S10
3)。次に、全てのフリップフロップのペア処理終了の
判定処理を行ない、全てのフリップフロップに対する処
理が終了していない場合は、そのフリップフロップのペ
アを1つづつ取り出して、各フリップフロップ間の1次
制約の解析S105に移行し、全てのフリップフロップ
に対し処理が終了すれば、フリップフロップのグループ
化の処理S111に移行する(S104)。
【0019】処理が未了で、各フリップフロップ間の1
次制約の解析処理S105に移行すると、S103で求
められたフリップフロップ間の最悪遅延に対し、方式1
のもつ不確定遅延値を考慮し、制約の解析を行う。つま
り、最小遅延に対しては、その最小遅延から方式1の不
確定遅延値を減算し、それがデータを受け取る側のフリ
ップフロップのホールド時間の制約を満たすか否かを検
証し、最大遅延に対しては、その最大遅延に方式1の不
確定遅延値を加算し、クロック周期とデータを受け取る
側のフリップフロップのセットアップ時間の制約を満た
すか否かを検証する(S105)。
次制約の解析処理S105に移行すると、S103で求
められたフリップフロップ間の最悪遅延に対し、方式1
のもつ不確定遅延値を考慮し、制約の解析を行う。つま
り、最小遅延に対しては、その最小遅延から方式1の不
確定遅延値を減算し、それがデータを受け取る側のフリ
ップフロップのホールド時間の制約を満たすか否かを検
証し、最大遅延に対しては、その最大遅延に方式1の不
確定遅延値を加算し、クロック周期とデータを受け取る
側のフリップフロップのセットアップ時間の制約を満た
すか否かを検証する(S105)。
【0020】この処理結果に対し、1次制約を満たすか
否かの判定を行ない、制約を満たすものに関しては、特
に特別な処理は行わず、判定処理S104に戻り、前述
のように全フリップフロップの処埋が未了であれば、次
のフリップフロップのペアに対して同様の処理を繰り返
す。1次制約の検証結果が満たされていない場合は、次
のフリップフロップ間の2次制約の解析S107に移行
する(S106)。
否かの判定を行ない、制約を満たすものに関しては、特
に特別な処理は行わず、判定処理S104に戻り、前述
のように全フリップフロップの処埋が未了であれば、次
のフリップフロップのペアに対して同様の処理を繰り返
す。1次制約の検証結果が満たされていない場合は、次
のフリップフロップ間の2次制約の解析S107に移行
する(S106)。
【0021】フリップフロップ間の2次制約解析処理で
は、S103で求められたフリップフロップ間の最悪遅
延に対し、方式2のもつ不確定遅延値を考慮し、制約の
解析を行う。つまり、最小遅延に対しては、その最小遅
延から方式2の不確定遅延値を減算し、それがデータを
受け取る側のフリップフロップのホールド時間の制約を
満たすか否かを検証し、最大遅延に対しては、その最大
遅延に方式2の不確定遅延値を加算し、クロック周期と
データを受け取る側のフリップフロップのセットアップ
時間の制約を満たすか否かを検証する(S107)。
は、S103で求められたフリップフロップ間の最悪遅
延に対し、方式2のもつ不確定遅延値を考慮し、制約の
解析を行う。つまり、最小遅延に対しては、その最小遅
延から方式2の不確定遅延値を減算し、それがデータを
受け取る側のフリップフロップのホールド時間の制約を
満たすか否かを検証し、最大遅延に対しては、その最大
遅延に方式2の不確定遅延値を加算し、クロック周期と
データを受け取る側のフリップフロップのセットアップ
時間の制約を満たすか否かを検証する(S107)。
【0022】この処理結果に対し、2次制約を満たすか
否かの判定を行ない、制約を満たすものに関しては、フ
リップフロップのペアの登録処理S110に移行させ、
フリップフロップのペアを登録する。2次制約の検証結
果が満たされていない場合は、最良のクロックツリー形
成の方式を使用しても、遅延制約を満たさないというこ
とであるため、回路の遅延再調整処理S109に移行す
る(S108)。
否かの判定を行ない、制約を満たすものに関しては、フ
リップフロップのペアの登録処理S110に移行させ、
フリップフロップのペアを登録する。2次制約の検証結
果が満たされていない場合は、最良のクロックツリー形
成の方式を使用しても、遅延制約を満たさないというこ
とであるため、回路の遅延再調整処理S109に移行す
る(S108)。
【0023】回路の遅延再調整処理S109が行なわれ
た後には、フリップフロップ間の最悪遅延解析S103
に戻り、再度処理を繰り返す。ここで、予め方式2に対
する不確定遅延を考慮して遅延調整済みの回路に対し処
理を行う場合は、2次制約を満たすように回路生成が行
われているとの仮定のもとで、S106の判定において
1次制約を満たさないものと判定されたものについて
は、S107、S108、S109の処理は不要とし、
ただちに、フリップフロップのペアの登録処理S110
を行えば良い(S109)。
た後には、フリップフロップ間の最悪遅延解析S103
に戻り、再度処理を繰り返す。ここで、予め方式2に対
する不確定遅延を考慮して遅延調整済みの回路に対し処
理を行う場合は、2次制約を満たすように回路生成が行
われているとの仮定のもとで、S106の判定において
1次制約を満たさないものと判定されたものについて
は、S107、S108、S109の処理は不要とし、
ただちに、フリップフロップのペアの登録処理S110
を行えば良い(S109)。
【0024】フリップフロップのペアの登録処理の後に
は、すべてのフリップフロップのペアの処理が終了した
か否かの判定S104に戻る(S110)。すべてのフ
リップフロップのペアの処理が未了であれば、次のフリ
ップフロップのペアに対し、処理を続けて行う。すべて
のフリップフロップのペアの処理が終了した場合には、
フリップフロップのグループ化処理S111に移行す
る。
は、すべてのフリップフロップのペアの処理が終了した
か否かの判定S104に戻る(S110)。すべてのフ
リップフロップのペアの処理が未了であれば、次のフリ
ップフロップのペアに対し、処理を続けて行う。すべて
のフリップフロップのペアの処理が終了した場合には、
フリップフロップのグループ化処理S111に移行す
る。
【0025】フリップフロップのグループ化処理では、
フリップフロップのペアが、S110の登録処理により
登録されているので、まず、1組のフリップフロップの
ペアをグループとして、グループのうち最低1つのフリ
ップフロップが共通であるグループ同士に対しては、両
グループを結合し、つまりその2つのグループに含まれ
る、全フリップフロップで、新たなグループを形成して
ゆく。この処理を当初の全てのフリップフロップのペア
で形成されたグループに対して行う。この処理で、互い
に結合されなかったグループが最終的に、独立したグル
ープとして残る(S111)。
フリップフロップのペアが、S110の登録処理により
登録されているので、まず、1組のフリップフロップの
ペアをグループとして、グループのうち最低1つのフリ
ップフロップが共通であるグループ同士に対しては、両
グループを結合し、つまりその2つのグループに含まれ
る、全フリップフロップで、新たなグループを形成して
ゆく。この処理を当初の全てのフリップフロップのペア
で形成されたグループに対して行う。この処理で、互い
に結合されなかったグループが最終的に、独立したグル
ープとして残る(S111)。
【0026】フリップフロップのグループ化処理S11
1の終了後、クロックツリ−生成処理S112に移行す
る。クロックツリー生成処理においては、S111でグ
ループ化されたものに対し、同一グループに含まれるフ
リップフロップ間に対しては方式2を、その他に関して
は方式1を使用して、クロックツリーを形成して(S1
12)、終了する(S113)。
1の終了後、クロックツリ−生成処理S112に移行す
る。クロックツリー生成処理においては、S111でグ
ループ化されたものに対し、同一グループに含まれるフ
リップフロップ間に対しては方式2を、その他に関して
は方式1を使用して、クロックツリーを形成して(S1
12)、終了する(S113)。
【0027】図2は本発明の第1の実施の形態によるL
SIのレイアウト手法で設計されたクロックツリー形成
方法の適用例を示す回路図であり、図中符号201、2
02、203、204はクロックツリーを形成するバッ
ファ、205、206、207、208、209、21
0はフリップフロップ、211、212、213は組合
せ回路である。本図は図5の従来の第1の適用例に対応
しており、下2桁の同じ符号はそれぞれが対応関係にあ
る。
SIのレイアウト手法で設計されたクロックツリー形成
方法の適用例を示す回路図であり、図中符号201、2
02、203、204はクロックツリーを形成するバッ
ファ、205、206、207、208、209、21
0はフリップフロップ、211、212、213は組合
せ回路である。本図は図5の従来の第1の適用例に対応
しており、下2桁の同じ符号はそれぞれが対応関係にあ
る。
【0028】前述のように、図5に示された従来のクロ
ックツリー形成方法の第1の適用例においては、クロッ
クツリー形成時に調整不可能な遅延は物理的な遅延のば
らつきも含めて、全体的に不確定値として処理する必要
がある。つまり、マージンとして考慮する必要がある。
この場合、501、502、503、504はクロック
のツリーを構成するバツファである。このとき、50
2、503、504から先のもつ遅延の不確定値と、5
01から先のもつ遅延の不確定値を特に区別せず、一律
に不確定値を考慮して、スキューを調整する必要があ
る。このため、スキュー調整が困難となる場合が あ
り、結果として配線のみで接続されているフリップフロ
ップ間、即ち506と507間、508と509間に対
しては、遅延制約が満たされず、再度回路の構成を変更
し、クロックツリー形成を行わなければならない場合が
ある。例えばこの回路においては、フリップフロップ間
が配線で接続されているものに関しては、その間にバッ
ファ等を挿入し、フリップフロップ間に遅延を付加しな
ければならない場合がある。
ックツリー形成方法の第1の適用例においては、クロッ
クツリー形成時に調整不可能な遅延は物理的な遅延のば
らつきも含めて、全体的に不確定値として処理する必要
がある。つまり、マージンとして考慮する必要がある。
この場合、501、502、503、504はクロック
のツリーを構成するバツファである。このとき、50
2、503、504から先のもつ遅延の不確定値と、5
01から先のもつ遅延の不確定値を特に区別せず、一律
に不確定値を考慮して、スキューを調整する必要があ
る。このため、スキュー調整が困難となる場合が あ
り、結果として配線のみで接続されているフリップフロ
ップ間、即ち506と507間、508と509間に対
しては、遅延制約が満たされず、再度回路の構成を変更
し、クロックツリー形成を行わなければならない場合が
ある。例えばこの回路においては、フリップフロップ間
が配線で接続されているものに関しては、その間にバッ
ファ等を挿入し、フリップフロップ間に遅延を付加しな
ければならない場合がある。
【0029】これに対し、図2に示す本発明のクロック
ツリー形成方法では、クロックツリーの形成の方式を、
その物理的な遅延のばらつきを考慮して、複数の方式に
分けて考え、制約の厳しいフリップフロップ間に関して
は、ばらつきの少ない方式を採用する。この例では、互
いにスキャンパス接続されたフリップフロップのペア間
(1つのフリップフロップの出力と他のフリップフロッ
プのスキャン入力が接続されている場合、スキャン接続
されているとしている)のクロックの接続で、フリップ
フロップのクロック入力をバッファを介して接続する
(大元のクロックから、異なるバッファを使用している
部分がある)方式を方式1、フリップフロップのクロッ
ク入力間にバッファを介さない、配線のみで接続する
(大元のクロックからすべて同じバッファで接続されて
いる)方式を方式2として区別している。
ツリー形成方法では、クロックツリーの形成の方式を、
その物理的な遅延のばらつきを考慮して、複数の方式に
分けて考え、制約の厳しいフリップフロップ間に関して
は、ばらつきの少ない方式を採用する。この例では、互
いにスキャンパス接続されたフリップフロップのペア間
(1つのフリップフロップの出力と他のフリップフロッ
プのスキャン入力が接続されている場合、スキャン接続
されているとしている)のクロックの接続で、フリップ
フロップのクロック入力をバッファを介して接続する
(大元のクロックから、異なるバッファを使用している
部分がある)方式を方式1、フリップフロップのクロッ
ク入力間にバッファを介さない、配線のみで接続する
(大元のクロックからすべて同じバッファで接続されて
いる)方式を方式2として区別している。
【0030】ここで、この回路において問題となる遅延
制約は、フリップフロップのホールド時間であり、問題
になる回路部分は、フリップフロップ間が配線のみで接
続されている部分、即ち図2ではフリップフロップ20
6と207の間およびフリップフロップ208と209
の間であり、図5ではフリップフロップ506と507
の間およびフリップフロップ508と509の間であ
る。従来の方式によれば図5に見られるようにフリップ
フロップ506と507およびフリップフロップ508
と509のクロック入力にはいずれも異なるバッファを
経由したクロック回路が接続されている。図2の本発明
のクロックツリー形成方法では、このフリップフロップ
間が直接配線されているフリップフロップ206と20
7およびフリップフロップ208と209のクロック入
力にはいずれも同じバッファを経由したクロック回路即
ち方式2が採用されている。このように遅延制約の問題
となる部分に対しては、方式2が優先的に採用され、そ
の他の部分には方式1が採用されている。これにより、
必要以上のマージンを考慮する必要がなく、必要以上の
遅延調整が不要となる。
制約は、フリップフロップのホールド時間であり、問題
になる回路部分は、フリップフロップ間が配線のみで接
続されている部分、即ち図2ではフリップフロップ20
6と207の間およびフリップフロップ208と209
の間であり、図5ではフリップフロップ506と507
の間およびフリップフロップ508と509の間であ
る。従来の方式によれば図5に見られるようにフリップ
フロップ506と507およびフリップフロップ508
と509のクロック入力にはいずれも異なるバッファを
経由したクロック回路が接続されている。図2の本発明
のクロックツリー形成方法では、このフリップフロップ
間が直接配線されているフリップフロップ206と20
7およびフリップフロップ208と209のクロック入
力にはいずれも同じバッファを経由したクロック回路即
ち方式2が採用されている。このように遅延制約の問題
となる部分に対しては、方式2が優先的に採用され、そ
の他の部分には方式1が採用されている。これにより、
必要以上のマージンを考慮する必要がなく、必要以上の
遅延調整が不要となる。
【0031】図3は本発明の第2の実施の形態の回路設
計処理のフローチャートである。S301〜S314は
各処理のステップを示す。本実施の形態ではクロックツ
リー形成の方式毎のそれぞれの不確定遅延は、あらかじ
め、ライブラリに登録されているものとしている。また
このフローでは、クロックツリー形成の方式を遅延のば
らつきの大小によってn個に分類したときの処理を示し
ている。以下、遅延のばらつきの大きい方式から順に、
方式1、方式2とし、最小の遅延のばらつきをもつ方式
を方式nとする。いま、kを1以上n以下の整数とする
とき、k次制約とは、方式kのばらつきを考慮したとき
に満たささねばならない遅延制約であり、k次グループ
とは、そのk次制約を満たす、フリップフロップのペア
の集合である。ただし、このグループ化においては、満
たしている制約kの最小のものをとって、k次グループ
とよぶ。
計処理のフローチャートである。S301〜S314は
各処理のステップを示す。本実施の形態ではクロックツ
リー形成の方式毎のそれぞれの不確定遅延は、あらかじ
め、ライブラリに登録されているものとしている。また
このフローでは、クロックツリー形成の方式を遅延のば
らつきの大小によってn個に分類したときの処理を示し
ている。以下、遅延のばらつきの大きい方式から順に、
方式1、方式2とし、最小の遅延のばらつきをもつ方式
を方式nとする。いま、kを1以上n以下の整数とする
とき、k次制約とは、方式kのばらつきを考慮したとき
に満たささねばならない遅延制約であり、k次グループ
とは、そのk次制約を満たす、フリップフロップのペア
の集合である。ただし、このグループ化においては、満
たしている制約kの最小のものをとって、k次グループ
とよぶ。
【0032】処理を開始すると(S301)、まず、回
路全体にわたり、フリップフロップ間の最悪遅延解析を
行う、これにより、互いに接続のあるフリップフロップ
の全てのペアに対し、その最悪遅延を求める。最悪遅延
値とは、ここでは、種々の条件を考慮した場合の最大遅
延と最小遅延の両方を示す。この最悪遅延値は、各フリ
ップフロップのクロック入力までの遅延差は無視をして
求めておく(S302)。
路全体にわたり、フリップフロップ間の最悪遅延解析を
行う、これにより、互いに接続のあるフリップフロップ
の全てのペアに対し、その最悪遅延を求める。最悪遅延
値とは、ここでは、種々の条件を考慮した場合の最大遅
延と最小遅延の両方を示す。この最悪遅延値は、各フリ
ップフロップのクロック入力までの遅延差は無視をして
求めておく(S302)。
【0033】次に、k=0として、kの初期値を定める
(S303)。そして次のステップではkをインクリメ
ントする(S304)。次にkがn以下か否かを判断
し、nより大きければ、フリップフロップのグループ化
処理S312に移行する。kがn以下の場合は全てのフ
リップフロップのペアの処理が終了したかの判定S30
6に移行する(S305)。全てのフリップフロップの
ペアの処理が終了したかの判定で、未検証のフリップフ
ロップのペアがある場合は、フリップフロップのペアを
1つづつ取り出し、各フリップフロップ間のk次制約の
解析処理S307に移行する。全てのフリップフロップ
に対し処理が終了すれば、処理終了を判定し、S304
の処理に戻す(S306)。S304ではkをインクリ
メントし、前回と同様な処理を繰り返す。
(S303)。そして次のステップではkをインクリメ
ントする(S304)。次にkがn以下か否かを判断
し、nより大きければ、フリップフロップのグループ化
処理S312に移行する。kがn以下の場合は全てのフ
リップフロップのペアの処理が終了したかの判定S30
6に移行する(S305)。全てのフリップフロップの
ペアの処理が終了したかの判定で、未検証のフリップフ
ロップのペアがある場合は、フリップフロップのペアを
1つづつ取り出し、各フリップフロップ間のk次制約の
解析処理S307に移行する。全てのフリップフロップ
に対し処理が終了すれば、処理終了を判定し、S304
の処理に戻す(S306)。S304ではkをインクリ
メントし、前回と同様な処理を繰り返す。
【0034】S306で未検証のフリップフロップのペ
アがあり各フリップフロップ間のk次制約の解析処理S
307の処理に移った場合は、S302で求められたフ
リップフロップ間の最悪遅延に対し、方式kのもつ不確
定遅延値を考慮し、制約の解析を行う。つまり、最小遅
延に対しては、その最小遅延から方式kの不確定遅延値
を減算して、それがデータを受け取る側のフリップフロ
ップのホールド時間の制約を満たすか否かを検証し、最
大遅延に対しては、その最大遅延に方式kの不確定遅延
値を加算し、クロック周期とデータを受け取る側のフリ
ップフロップのセットアップ時間の制約を満たすか否か
を検証する(S307)。
アがあり各フリップフロップ間のk次制約の解析処理S
307の処理に移った場合は、S302で求められたフ
リップフロップ間の最悪遅延に対し、方式kのもつ不確
定遅延値を考慮し、制約の解析を行う。つまり、最小遅
延に対しては、その最小遅延から方式kの不確定遅延値
を減算して、それがデータを受け取る側のフリップフロ
ップのホールド時間の制約を満たすか否かを検証し、最
大遅延に対しては、その最大遅延に方式kの不確定遅延
値を加算し、クロック周期とデータを受け取る側のフリ
ップフロップのセットアップ時間の制約を満たすか否か
を検証する(S307)。
【0035】この処理結果に対し、k次制約を満たすか
否かの判定S308において、制約を満たすものに関し
ては、k次グループとしてフリップフロップのペアの登
録を行う。ただし、そのペアがすでに、過去に登録され
ていれば、つまり、k−1次以下のグループに登録され
ていれば、登録しない。処理S310の後には、全ての
フリップフロップのペアの処理が終了したかの判定S3
06に移行する(S310)。
否かの判定S308において、制約を満たすものに関し
ては、k次グループとしてフリップフロップのペアの登
録を行う。ただし、そのペアがすでに、過去に登録され
ていれば、つまり、k−1次以下のグループに登録され
ていれば、登録しない。処理S310の後には、全ての
フリップフロップのペアの処理が終了したかの判定S3
06に移行する(S310)。
【0036】k次制約を満たすか否かの判定S308の
判定において、k次制約を満たさない場合は、S309
の判定処理に移行し、k=nの場合は、最良の遅延ばら
つきの方式を用いても調整不可能であったということで
あるため、遅延再調整処理S311に移し、k=nでな
い場合は全てのフリップフロップのペアの処理が終了し
たかの判定S306に戻し、処理を繰り返す(S30
9)。遅延再調整処理S311では回路の遅延を再調整
し、再調整後に、フリップフロップ間の最悪遅延解析S
302に戻し処理を繰り返す(S311)。
判定において、k次制約を満たさない場合は、S309
の判定処理に移行し、k=nの場合は、最良の遅延ばら
つきの方式を用いても調整不可能であったということで
あるため、遅延再調整処理S311に移し、k=nでな
い場合は全てのフリップフロップのペアの処理が終了し
たかの判定S306に戻し、処理を繰り返す(S30
9)。遅延再調整処理S311では回路の遅延を再調整
し、再調整後に、フリップフロップ間の最悪遅延解析S
302に戻し処理を繰り返す(S311)。
【0037】全てのフリップフロップのペアの処理が終
了したかの判定S306の判定において、すべてのフリ
ップフロップ間の処理が終了したならば、処理S304
に移行し、kをインクリメントし、次のkに対する処理
を行う。S305の判定において、kがnを越えたなら
ば、つまり、k=nまでの遅延制約に対する解析が、す
べてのフリップフロップ間において、終了したならば、
フリップフロップのグループ化処理S312を行う。
了したかの判定S306の判定において、すべてのフリ
ップフロップ間の処理が終了したならば、処理S304
に移行し、kをインクリメントし、次のkに対する処理
を行う。S305の判定において、kがnを越えたなら
ば、つまり、k=nまでの遅延制約に対する解析が、す
べてのフリップフロップ間において、終了したならば、
フリップフロップのグループ化処理S312を行う。
【0038】フリップフロップのグループ化処理S31
2では、フリップフロップのペアが、S310の登録処
理により登録されているため、まず、1組のフリップフ
ロップのペアをグループとして、グループのうち最低1
つのフリップフロップが共通であるグループ同士に対し
ては、両グループを結合し、つまりその2つのグループ
に含まれる、全フリップフロップで、新たなグループを
形成していく。この処理を当初の全てのフリップフロッ
プのペアで形成されたグループに対して行う。この処理
で、互いに結合されなかったグループが最終的に独立し
たグループとして残る(S312)。
2では、フリップフロップのペアが、S310の登録処
理により登録されているため、まず、1組のフリップフ
ロップのペアをグループとして、グループのうち最低1
つのフリップフロップが共通であるグループ同士に対し
ては、両グループを結合し、つまりその2つのグループ
に含まれる、全フリップフロップで、新たなグループを
形成していく。この処理を当初の全てのフリップフロッ
プのペアで形成されたグループに対して行う。この処理
で、互いに結合されなかったグループが最終的に独立し
たグループとして残る(S312)。
【0039】フリップフロップのグループ化処理S31
2の終了後、クロックツリー生成処理S313に移行す
る。クロックツリー生成処理S313において、S31
0でグループ化されたものに対し、k次のグループに含
まれるフリップフロップ間に対しては方式k以上の次数
の方式を使用してクロックツリーを形成する。ここで、
1次のグループは、最悪を考慮した場合であるので、特
別な処理は不要である(S313)。クロックツリーが
完成して処理を終了する(S314)。
2の終了後、クロックツリー生成処理S313に移行す
る。クロックツリー生成処理S313において、S31
0でグループ化されたものに対し、k次のグループに含
まれるフリップフロップ間に対しては方式k以上の次数
の方式を使用してクロックツリーを形成する。ここで、
1次のグループは、最悪を考慮した場合であるので、特
別な処理は不要である(S313)。クロックツリーが
完成して処理を終了する(S314)。
【0040】図4は本発明の第2の実施の形態によるL
SIのレイアウト手法で設計されたクロックツリ−形成
方法の適用例を示す回路図であり、図中符号401、4
04、405、406、407はクロックツリーを形成
するバッファ、402、403はクロックツリ−を形成
するANDゲート、408、409、410、411、
412、413、414、415はフリップフロップ、
416は遅延の小さなバッファ、417、418、41
9は組合せ回路である。本図は図6の従来の第2の適用
例に対応しており、下2桁の同じ符号はそれぞれが対応
関係にある。
SIのレイアウト手法で設計されたクロックツリ−形成
方法の適用例を示す回路図であり、図中符号401、4
04、405、406、407はクロックツリーを形成
するバッファ、402、403はクロックツリ−を形成
するANDゲート、408、409、410、411、
412、413、414、415はフリップフロップ、
416は遅延の小さなバッファ、417、418、41
9は組合せ回路である。本図は図6の従来の第2の適用
例に対応しており、下2桁の同じ符号はそれぞれが対応
関係にある。
【0041】前述のように、図6に示す従来のクロック
ツリー形成方法の第2の適用例においては、クロックツ
リー形成時に調整不可能な遅延は物理的な遅延のばらつ
きも含めて、全体的に不確定値として処理する必要があ
る。つまり、マージンとして考慮する必要がある。この
場合、604、605、606、607から先のもつ遅
延の不確定値と、602、603から先のもつ遅延の不
確定値と、601から先のもつ遅延の不確定値を特に区
別せず、一律に不確定値を考慮して、スキューを調整す
る必要がある。このため、スキュー調整が困難となる場
合がある。結果として、配線のみで接続されているフリ
ップフロップ間、即ち609と610間、612と61
3間および小さな遅延を持つバッファのみを介して接続
されているフリップフロップ611と612間に対して
は、遅延制約が満たされず、再度回路の構成を変更し、
クロックツリー形成を行わなければならない場合があ
る。この回路においては、フリップフロップ間が配線で
接続されているものや小さな遅延を持つバッファのみを
介して接続されているものに関しては、その間にバッフ
ァ等を挿入し、フリップフロップ間に遅延を付加しなけ
ればならない場合がある。
ツリー形成方法の第2の適用例においては、クロックツ
リー形成時に調整不可能な遅延は物理的な遅延のばらつ
きも含めて、全体的に不確定値として処理する必要があ
る。つまり、マージンとして考慮する必要がある。この
場合、604、605、606、607から先のもつ遅
延の不確定値と、602、603から先のもつ遅延の不
確定値と、601から先のもつ遅延の不確定値を特に区
別せず、一律に不確定値を考慮して、スキューを調整す
る必要がある。このため、スキュー調整が困難となる場
合がある。結果として、配線のみで接続されているフリ
ップフロップ間、即ち609と610間、612と61
3間および小さな遅延を持つバッファのみを介して接続
されているフリップフロップ611と612間に対して
は、遅延制約が満たされず、再度回路の構成を変更し、
クロックツリー形成を行わなければならない場合があ
る。この回路においては、フリップフロップ間が配線で
接続されているものや小さな遅延を持つバッファのみを
介して接続されているものに関しては、その間にバッフ
ァ等を挿入し、フリップフロップ間に遅延を付加しなけ
ればならない場合がある。
【0042】これに対し、図4に示す、本発明のクロッ
クツリー形成方法では、クロックツリーの形成の方式
を、その物理的な遅延のばらつきを考慮して、複数の方
式に分けて考え、制約の厳しいフリップフロップ間に関
しては、ばらつきの少ない方式を採用する。
クツリー形成方法では、クロックツリーの形成の方式
を、その物理的な遅延のばらつきを考慮して、複数の方
式に分けて考え、制約の厳しいフリップフロップ間に関
しては、ばらつきの少ない方式を採用する。
【0043】この例では、クロックツリー形成の方式
を、3段階に分け、互いにスキャンパス接続されたフリ
ップフロップのペア間(1つのフリップフロップの出力
と他のフリップフロップのスキャン入力が接続されてい
る場合、スキャン接続されているとしている)のクロッ
クの接続で、フリップフロップのクロック入力間にバッ
ファを介さない、配線のみで接続する(大元のクロック
からすべて同じバッファで接続されている)方式を方式
3とし、フリップフロップののクロック入力をバッファ
を1段挿入して調節して接続する(大元のクロックか
ら、異なるバッファを1段使用している部分がある)方
式を方式2とし、ANDゲートとバッファを1段づつ挿
入する(大元のクロックから、異なるANDゲートと異
なるバッファとを各1段使用している部分がある)方式
を方式1として区別している。
を、3段階に分け、互いにスキャンパス接続されたフリ
ップフロップのペア間(1つのフリップフロップの出力
と他のフリップフロップのスキャン入力が接続されてい
る場合、スキャン接続されているとしている)のクロッ
クの接続で、フリップフロップのクロック入力間にバッ
ファを介さない、配線のみで接続する(大元のクロック
からすべて同じバッファで接続されている)方式を方式
3とし、フリップフロップののクロック入力をバッファ
を1段挿入して調節して接続する(大元のクロックか
ら、異なるバッファを1段使用している部分がある)方
式を方式2とし、ANDゲートとバッファを1段づつ挿
入する(大元のクロックから、異なるANDゲートと異
なるバッファとを各1段使用している部分がある)方式
を方式1として区別している。
【0044】フリップフロップのデータの入出力が、配
線のみで接続されたフリップフロップ間同士のホールド
時間の制約は方式3でのみ、遅延の小さなバッファを介
して接続された部分の遅延に対する制約は方式2または
3を便用すれば満たされるものとする。
線のみで接続されたフリップフロップ間同士のホールド
時間の制約は方式3でのみ、遅延の小さなバッファを介
して接続された部分の遅延に対する制約は方式2または
3を便用すれば満たされるものとする。
【0045】ここで、この回路において問題となる遅延
制約は、フリップフロップのホールド時間であり、問題
になる回路部分は、フリップフロップ間が配線のみで接
続されている部分、即ちフリップフロップ409と41
0、412と413と、小さな遅延をもつバッファのみ
で接続されている部分、即ちフリップフロップ411と
412である。
制約は、フリップフロップのホールド時間であり、問題
になる回路部分は、フリップフロップ間が配線のみで接
続されている部分、即ちフリップフロップ409と41
0、412と413と、小さな遅延をもつバッファのみ
で接続されている部分、即ちフリップフロップ411と
412である。
【0046】従来の方式によれば図6に見られるよう
に、フリップフロップ612と613のクロック入力に
は同じバッファを経由したクロック回路が接続されてい
るが、フリップフロップ609と610には異なるバッ
ファを経由したクロック回路が接続されており、フリッ
プフロップ611と612のクロック入力にはいずれに
も異なるANDゲートとバッファを経由したクロック回
路が接続されている。一方図4の本発明のクロックツリ
ー形成方法では、このフリップフロップ間が直接配線さ
れているフリップフロップ409と410およびフリッ
プフロップ412と413のクロック入力にはいずれも
同じバッファを経由したクロック回路、即ち方式3が接
続されており、フリップフロップ411と412には、
ANDゲートが共通で異なるバッファを経由したクロッ
ク回路、即ち方式2が接続されている。
に、フリップフロップ612と613のクロック入力に
は同じバッファを経由したクロック回路が接続されてい
るが、フリップフロップ609と610には異なるバッ
ファを経由したクロック回路が接続されており、フリッ
プフロップ611と612のクロック入力にはいずれに
も異なるANDゲートとバッファを経由したクロック回
路が接続されている。一方図4の本発明のクロックツリ
ー形成方法では、このフリップフロップ間が直接配線さ
れているフリップフロップ409と410およびフリッ
プフロップ412と413のクロック入力にはいずれも
同じバッファを経由したクロック回路、即ち方式3が接
続されており、フリップフロップ411と412には、
ANDゲートが共通で異なるバッファを経由したクロッ
ク回路、即ち方式2が接続されている。
【0047】本発明によれば、このように遅延制約の問
題となる部分に対して、この直接配線部分に対しては方
式3を優先的に採用し、小さな違延をもつバッファのみ
を介して接続されている部分に対しては方式2、あるい
は3を優先的に採用し、その他の部分に対しては方式1
を採用する。これにより、必要以上のマージンを考慮す
る必要がなく、必要以上の遅延調整が不要となる。
題となる部分に対して、この直接配線部分に対しては方
式3を優先的に採用し、小さな違延をもつバッファのみ
を介して接続されている部分に対しては方式2、あるい
は3を優先的に採用し、その他の部分に対しては方式1
を採用する。これにより、必要以上のマージンを考慮す
る必要がなく、必要以上の遅延調整が不要となる。
【0048】
【発明の効果】以上説明したように本発明は、素子や配
線の形態により異なる製造プロセス等に関連する物理的
な製造ばらつきに起因する遅延のばらつきを、クロック
ツリー形成の各方式ごとに定めておき、方式ごとに考慮
すべきマージンを変えることにより、物理的なばらつき
が小さい部分に対しては必要以上のマージンを考慮する
必要をなくし、遅延制約の問題となる部分に対してはば
らつきの少ない方式を適用することにより回路設計に必
要以上の制約を課する必要がなくなるという効果があ
る。
線の形態により異なる製造プロセス等に関連する物理的
な製造ばらつきに起因する遅延のばらつきを、クロック
ツリー形成の各方式ごとに定めておき、方式ごとに考慮
すべきマージンを変えることにより、物理的なばらつき
が小さい部分に対しては必要以上のマージンを考慮する
必要をなくし、遅延制約の問題となる部分に対してはば
らつきの少ない方式を適用することにより回路設計に必
要以上の制約を課する必要がなくなるという効果があ
る。
【図1】図1は本発明の第1の実施の形態の回路設計処
理のフローチャートである。
理のフローチャートである。
【図2】本発明の第1の実施の形態によるLSIのレイ
アウト手法で設計されたクロックツリ−形成方法の適用
例を示す回路図である。
アウト手法で設計されたクロックツリ−形成方法の適用
例を示す回路図である。
【図3】本発明の第2の実施の形態の回路設計処理のフ
ローチャートである。
ローチャートである。
【図4】本発明の第2の実施の形態によるLSIのレイ
アウト手法で設計されたクロックツリー形成方法の適用
例を示す回路図である。
アウト手法で設計されたクロックツリー形成方法の適用
例を示す回路図である。
【図5】本発明との比較のための従来のLSIのレイア
ウト手法で設計されたクロックツリ−形成方法の第1の
適用例を示す回路図である。
ウト手法で設計されたクロックツリ−形成方法の第1の
適用例を示す回路図である。
【図6】本発明との比較のための従来のLSIのレイア
ウト手法で設計されたクロックツリ−形成方法の第2の
適用例を示す回路図である。
ウト手法で設計されたクロックツリ−形成方法の第2の
適用例を示す回路図である。
201、202、203、204、401、404、4
05、406、407、501、502、503、50
4、601、604、605、606、607クロック
ツリ−を形成するバッファ 205、206、207、208、209、210、4
08、409、410、411、412、413、41
4、415、505、506、507、508、50
9、510、608、609、610、611、61
2、613、614、615 フリップフロップ 211、212、213、417、418、419、5
11、512、513、617、618、619 組
合せ回路 402、403、602、603 クロックツリーを
形成するANDゲート 416、616 遅延の小さなバッファ S101〜S113、S301〜S314 各処理の
ステップ
05、406、407、501、502、503、50
4、601、604、605、606、607クロック
ツリ−を形成するバッファ 205、206、207、208、209、210、4
08、409、410、411、412、413、41
4、415、505、506、507、508、50
9、510、608、609、610、611、61
2、613、614、615 フリップフロップ 211、212、213、417、418、419、5
11、512、513、617、618、619 組
合せ回路 402、403、602、603 クロックツリーを
形成するANDゲート 416、616 遅延の小さなバッファ S101〜S113、S301〜S314 各処理の
ステップ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H01L 27/04 D (58)調査した分野(Int.Cl.6,DB名) G06F 17/50 G06F 1/10 H01L 21/82 H01L 21/822 H01L 27/04 JICSTファイル(JOIS) 特許ファイル(PATOLIS)
Claims (3)
- 【請求項1】 CADを用いた半導体集積回路のクロッ
クツリー形成方法において、 クロック回路を形成する素子や配線の形態に対応した遅
延の物理的変動量を、接続方式ごとに登録し、互いに接続のあるフリップフロップの全てのペアについ
て最大遅延量と最小遅延量を解析し、 前記全てのペアに対して、接続方式ごとに登録された前
記遅延の物理的変動量の最も多い前記接続方式から最も
少ない前記接続方式の順に、それぞれの物理的変動量を
勘案した遅延が、前記フリップフロップのホールド時間
の制約とセットアップ時間の制約を満たすか否かを検証
して、該ペアに適用可能な最も物理的変動量の多い接続
方式を登録し、 前記各ペアに登録された接続方式を用いて全フリップフ
ロップをグループ化してクロックツリーを形成すること
により、 タイミング制約の厳しい部分から、物理的変動量の少な
い前記接続方式を優先的に使用することを特徴とする、
半導体集積回路のクロックツリー形成方法。 - 【請求項2】 スキャン接続されているフリップフロッ
プのペアのクロック入力を異なるバッファを介して接続
する方式を方式1とし、スキャン接続されているフリッ
プフロップのペアのクロック入力をバッファを介さない
で配線のみで接続する方式を方式2として登録し、方式
2を物理的変動量の少ない前記接続方式としてタイミン
グ制約の厳しい部分から優先的に使用する、請求項1に
記載の半導体集積回路のクロックツリー形成方法。 - 【請求項3】 スキャン接続されているフリップフロッ
プのペアのクロック入力を異なる多入力論理ゲートとバ
ッファを挿入して接続する方式を方式1とし、スキャン
接続されているフリップフロップのペアのクロック入力
を異なるバッファを介して接続する方式を方式2とし、
スキャン接続されているフリップフロップのペアのクロ
ック入力をバッファを介さないで配線のみで接続する方
式を方式3として登録し、方式3を最も物理的変動量の
少ない前記接続方式とし、方式2を次に物理的変動量の
少ない接続方式としてタイミング制約の厳しい部分から
優先的に使用する、請求項1に記載の半導体集積回路の
クロックツリー形成方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8186112A JP2953384B2 (ja) | 1996-07-16 | 1996-07-16 | 半導体集積回路のクロックツリー形成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8186112A JP2953384B2 (ja) | 1996-07-16 | 1996-07-16 | 半導体集積回路のクロックツリー形成方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1031689A JPH1031689A (ja) | 1998-02-03 |
| JP2953384B2 true JP2953384B2 (ja) | 1999-09-27 |
Family
ID=16182578
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8186112A Expired - Lifetime JP2953384B2 (ja) | 1996-07-16 | 1996-07-16 | 半導体集積回路のクロックツリー形成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2953384B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5842442B2 (ja) * | 2011-08-01 | 2016-01-13 | 株式会社ソシオネクスト | Lsi設計方法,設計プログラムおよび設計装置 |
-
1996
- 1996-07-16 JP JP8186112A patent/JP2953384B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1031689A (ja) | 1998-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6367060B1 (en) | Method and apparatus for clock tree solution synthesis based on design constraints | |
| JP2609799B2 (ja) | 順序回路の再設計方法 | |
| US7865855B2 (en) | Method and system for generating a layout for an integrated electronic circuit | |
| US5422317A (en) | Performance enhanced intergrated circuit layout methodology | |
| US6622290B1 (en) | Timing verification method employing dynamic abstraction in core/shell partitioning | |
| US6944840B2 (en) | Design method and system for achieving a minimum machine cycle for semiconductor integrated circuits | |
| WO1995010094A2 (en) | Process independent design for gate array devices | |
| US5963730A (en) | Method for automating top-down design processing for the design of LSI functions and LSI mask layouts | |
| JP3256597B2 (ja) | 自動配置設計方法および自動配置設計装置 | |
| US6526541B2 (en) | Library for use in designing a semiconductor device | |
| JP2953384B2 (ja) | 半導体集積回路のクロックツリー形成方法 | |
| US7526743B2 (en) | Method for routing data paths in a semiconductor chip with a plurality of layers | |
| US6757877B2 (en) | System and method for identifying and eliminating bottlenecks in integrated circuit designs | |
| JP2985833B2 (ja) | クロック分配方式及び方法 | |
| JP2001034647A (ja) | クロック分配回路、クロック分配回路の設計方法及び半導体集積回路 | |
| US7509603B2 (en) | Semiconductor integrated circuit and design method thereof | |
| US7284217B2 (en) | Method of LSI designing and a computer program for designing LSIS | |
| JP3230234B2 (ja) | 半導体集積回路の遅延調整方法、遅延調整用回路ブロックおよび記録媒体。 | |
| JP2000294737A (ja) | 半導体集積回路およびその製造方法 | |
| US6886146B2 (en) | Method of bypassing a plurality of clock trees in EDA tools | |
| JP2002198430A (ja) | 駆動力可変ブロックおよびこれを用いたlsi設計方法 | |
| JP2845978B2 (ja) | 論理回路シミュレーション方法 | |
| JP3178127B2 (ja) | 自動レイアウト手法による半導体集積回路のブロック配置方法 | |
| JP2937139B2 (ja) | 論理回路の遅延検証方法 | |
| JP2850945B2 (ja) | 半導体集積回路及びそのレイアウト手法 |