(57)【要約】【課題】  一つの信号を多数の使用箇所に小さなスキューで分配供給する場合、最初に予想される使用箇所数に十分な数を小さなスキューで分配供給できる信号分配経路を設計し、次にユーザ論理を設計する方法が広く知られている。  この時、予想した使用箇所数より実際の使用箇所数が少ない場合、使用されない分配用回路で無駄に電力が消費されるという問題があった。【解決手段】  設計する信号分配経路で使用される分配用セルから、分配用回路を削減し消費電力を低減した分配用セルを作成する。ユーザ論理の配置位置を決定し使用箇所数が決定した後に、消費電力を低減した分配用セルに置換する。【選択図】  図１
2006179999.tif 000002
【特許請求の範囲】
【請求項１】
一つの信号を複数の使用箇所へ分配供給するバッファ回路を用いた信号分配経路を持つ半導体装置における消費電力制御方法において、
使用箇所が確定する前に信号分配経路を作成するステップと、
使用箇所が確定した後にバッファ回路を変更するステップと、
信号分配経路での消費電力を制御するステップ
を有することを特徴とする半導体装置内信号分配経路の消費電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置内信号分配経路の設計方法に係り、特に、信号分配経路での消費電力を制御する技術に関する。
【背景技術】
【０００２】
クロック信号の様に信号を多数の使用箇所にスキューを大きくする事なく分配する場合、最初に予想される使用箇所数に十分な数を小さなスキューで供給できる分配系を設計し、次にユーザ論理を設計する方法が広く知られている。
【０００３】
【特許文献１】特開２００３−１５２０８２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記背景技術では、予想した使用箇所数より実際の使用箇所数が少ない場合、使用されない分配回路で無駄に電力が消費されるという問題があった。
【０００５】
本発明では、実際の使用箇所数が予想した使用箇所数より少ない場合に、分配された信号間での到達時刻差を大きくする事なく消費電力を制御することを目的とする。
【課題を解決するための手段】
【０００６】
最初に設計する信号分配系で使用される分配用セルから分配用回路や出力端子を削減した分配用セルを作成する。ユーザ論理の配置位置を決定し分配用セルの出力端子使用数が決定した後に、未使用の出力端子を持つ分配用セルを出力端子を削減した分配用セルに置換する。出力端子を削減した分配用セルを作成する際は、存在する端子位置や配線禁止領域等のレイアウト情報を削減前に揃える。
【発明の効果】
【０００７】
ユーザ論理の配置決定後に未使用となった分配用回路を削減できるので、最初に設計する信号分配経路からユーザ論理に応じた消費電力の制御が可能となる。
【発明を実施するための最良の形態】
【０００８】
以下に本発明の実施の形態を説明する。
【実施例１】
【０００９】
本発明の一実施例である、半導体装置内クロック分配系の消費電力低減について詳細に説明する。
【００１０】
図１は本発明の一実施例であり、クロックドライバ切替による消費電力低減を考慮した、半導体装置の配置位置情報,配線経路情報を格納したレイアウト情報ファイルの作成手順である。ステップ100からステップ106の処理を行う事により、クロック分配系の消費電力を低減したレイアウト情報ファイルを作成する事ができる。
【００１１】
データ入力101で、ユーザ作成の論理を格納したユーザ論理ファイル700,クロックドライバセルを格納したクロック分配系セルライブラリ703,クロックドライバの配置位置とクロックドライバ間配線経路情報を格納したクロック分配系レイアウト情報ファイル704を入力する。
【００１２】
クロック分配系配置位置決定,配線経路決定102で、クロック分配系レイアウト情報ファイルの情報に従ってクロック分配系のレイアウト情報を作成する。これは、ユーザ論理の配置位置決定,配線経路決定より前に行われるので、ユーザ論理の影響を受ける事なく、スキューの小さいクロック分配系を作成する事ができる。
【００１３】
ユーザ論理配置位置決定,配線経路決定103で、ユーザが作成した論理の配置位置と配線経路を決定する。
【００１４】
ユーザ論理の配置位置が決定しクロック使用数,使用箇所が決定した後に、クロックドライバ切替104を実施し、クロック分配系の消費電力低減を図る。
【００１５】
データ出力106で、レイアウト情報ファイル705を出力し、処理を完了する。
【００１６】
図２にクロックドライバ切替104の詳細手順を示す。
【００１７】
着目クロックドライバ切替可能クロック分配系セル選択200で、一つのクロックドライバに着目し、その出力端子の使用されている数から、置換できる切替用クロックドライバを選択する。使用されている端子の数が少ない場合は、複数の切替用クロックドライバが選択される場合もある。
【００１８】
切替可能セル有無201の判定で、切替用クロックドライバ選択の有無を判定し、選択された切替用クロックドライバが無い場合は、未着目クロックドライバの有無204の判定を行う。
【００１９】
選択された切替用クロックドライバが有る場合は、消費電力最小セル選択202で、選択した切替用クロックドライバの中で消費電力が最も低い切替用クロックドライバを選択する。
【００２０】
着目クロックドライバセル種変更203で、着目したクロックドライバのセル種を消費電力最小セル選択202で選択した切替用クロックドライバに変更する。
【００２１】
未着目クロックドライバの有無204の判定で、全てのクロックドライバについて着目したか判定し、未着目のクロックドライバが有る場合は、別のクロックドライバに着目205で着目するクロックドライバを変更して、着目クロックドライバ切替可能クロック分配系セル選択200からの処理を繰り返す。未着目のクロックドライバが無い場合は、データ出力105を行う。
【００２２】
レイアウト情報作成手順のデータ入力101で必要となるクロック分配系セルライブラリ703,クロック分配系レイアウト情報ファイル704の作成手順について、詳細に説明する。
【００２３】
図３に初期クロック分配系作成手順を示す。ステップ300からステップ307の処理を行う事により、ユーザ論理の影響を受ける事なく半導体装置内全体にスキューの小さいクロックを分配するクロック分配系を作成する事ができる。
【００２４】
データ入力301で、ユーザ作成の論理を格納した仮ユーザ論理ファイル701を入力する。このとき用いる仮ユーザ論理ファイル701は、ユーザ論理ファイル700と論理構造,論理規模が同程度であれば良い。
【００２５】
仮ユーザ論理配置位置決定302で入力した仮ユーザ論理の配置位置を決定する。この配置結果から得られるクロック使用数,使用場所の傾向を用いて、クロックサービスエリア決定303でクロックドライバ毎にクロック供給を行う範囲を決定し、クロック分配系レイアウト決定304でクロックドライバの配置位置,クロックドライバ間配線経路を決定する。
【００２６】
サービスエリア内クロック使用数及びスキュー判定305では、クロックドライバが能力以上のクロック供給を行う事が無いか、クロックスキューが規定を違反していないかを判定する。違反がある場合は、クロックサービスエリア決定303に戻り再処理する。
【００２７】
サービスエリア内クロック使用数及びスキュー判定で違反が無かった場合、データ出力306で、作成したクロック分配系で使用する初期クロックドライバを格納した初期クロック分配系セルライブラリ702,クロック分配系レイアウト情報ファイル704を出力する。
【００２８】
図４に切替用クロックドライバセル作成手順を示す。ステップ400からステップ404の処理を行う事により、クロックドライバ切替104で使用する消費電力の低い切替用クロックドライバを作成する事ができる。
【００２９】
データ入力401で、初期クロック分配系セルライブラリ702を入力する。
【００３０】
クロックドライバ内分配回路及び出力端子削減402で、分配回路と出力端子を削減したクロックドライバを作成する。このとき、初期クロックドライバ500と削減した後の切替用クロックドライバ501の、回路例を図５にレイアウト例を図６に示す。
【００３１】
図５(a)はステップ300からステップ307の初期クロック分配系作成手順で作成された初期クロックドライバ500の回路例を示す。入力端子511aから入力されたクロック信号は、バッファ回路504を経由して出力端子521a,522a,523a,524aへと４分配される。このとき、入力端子511aから出力端子521a,522a,523a,524aへの信号伝播時間が等しくなるように設計する。
【００３２】
図５(b)は初期クロックドライバ500から、分配回路503と出力端子523a,524aを削減して作成した切替用クロックドライバ501の回路例を示す。入力端子511bから入力されたクロック信号は、バッファ回路504を経由して出力端子521b,522bへと２分配される。このとき、負荷調整バッファ回路502を残しておく事により、分配回路503の削減による入力端子511bから出力端子521b,522bへの信号伝播時間が、初期クロックドライバ500と等しくなるように設計する事ができる。
【００３３】
図６(a)は初期クロックドライバ500のレイアウト例を示す。初期クロックドライバ内配線等でセル間配線が使用できない領域は、初期クロックドライバ配線禁止領域600として定義し、ドライバ内配線とセル間配線が短絡しない様にする。
【００３４】
図６(b)は切替用クロックドライバ501のレイアウト例を示す。初期クロックドライバ500と回路的に等価な端子である511aと511b,521aと521b,522aと522bは、その端子位置を合わせる。また、削除した端子523a,524aを含む領域を切替用クロックドライバ配線禁止領域601として定義する。
【００３５】
切替用クロックドライバ501と同様に、分配数の異なるセルも作成する。
【００３６】
データ出力403では、初期クロック分配系セルライブラリ702にクロックドライバ内分配回路及び出力端子削減402で作成したセルを追加したクロック分配系セルライブラリ703を出力する。
【００３７】
以上の処理を行う事により、スキューの小さいクロック分配系を作成する事が出来、ユーザ論理に応じてクロック分配系の消費電力を低減する事ができる。
【００３８】
なお、本発明の実施例ではバッファ回路として反転論理回路を用いたが、非反転論理回路や論理演算回路を用いた場合であっても実施できる。また、切替用クロックドライバ選択の方法として、消費電力が最も低いドライバを選択したが、消費電力が最も大きいドライバを選択する場合や、別に定められた消費電力と等しくなるようにドライバを選択する場合であっても実施できる。
【００３９】
以上、本実施の形態は以下のとおりとなる。
（１）一つの信号を複数の使用箇所へ分配供給するバッファ回路を用いた信号分配経路を持つ半導体装置において、使用箇所が確定する前に信号分配経路を作成し、使用箇所が確定した後にバッファ回路を変更して、信号分配経路での消費電力を制御する事を特徴とする半導体装置内信号分配経路の消費電力制御方法。
【００４０】
さらに（１）に追加して、使用箇所が確定した後で使用されるバッファ回路は、使用箇所が確定する前に使用されるバッファ回路から、消費電力を変更して作成される事を特徴とする消費電力制御方法。
【００４１】
さらに（１）に追加して、使用箇所が確定した後で使用されるバッファ回路は、使用箇所が確定する前に使用されるバッファ回路と端子位置および配線禁止領域が等価である消費電力制御方法。
【００４２】
さらに（１）に追加して使用箇所が確定した後で使用されるバッファ回路は、使用箇所が確定する前に使用されるバッファ回路から削減された端子および分配回路の領域を配線禁止領域として定義し、配線可能領域が消費電力を変更する前と等価である消費電力制御方法。
【００４３】
これら実施の形態によってユーザ論理の配置決定後に未使用となった分配用回路を削減できるので、最初に設計する信号分配系からユーザ論理に応じた消費電力の制御が可能となる。また、置換する分配用セルはレイアウト情報が削減前と揃えてあるので、ユーザ論理の配線経路が決定した後であっても分配用セルの置換が可能となる。これにより、設計変更があっても既存の配線経路を変更する必要が無いので、設計期間を短縮する事ができる。
【図面の簡単な説明】
【００４４】
【図１】レイアウト情報作成手順
【図２】クロックドライバ切替詳細手順
【図３】初期クロック分配系作成手順
【図４】切替用クロックドライバセル作成手順
【図５】クロックドライバの回路例
【図６】クロックドライバのレイアウト例
【符号の説明】
【００４５】
500…初期クロックドライバ
501…切替用クロックドライバ
502…負荷調整バッファ回路
503…分配回路
504…バッファ回路
511a…初期クロックドライバ入力端子
511b…切替用クロックドライバ入力端子
521a…初期クロックドライバ出力端子１
521b…切替用クロックドライバ出力端子１
522a…初期クロックドライバ出力端子２
522b…切替用クロックドライバ出力端子２
523a…初期クロックドライバ出力端子３
524a…初期クロックドライバ出力端子４
600…初期クロックドライバ配線禁止領域
601…切替用クロックドライバ配線禁止領域
【図１】
2006179999.tif 000003
【図２】
2006179999.tif 000004
【図３】
2006179999.tif 000005
【図４】
2006179999.tif 000006
【図５】
2006179999.tif 000007
【図６】
2006179999.tif 000008