(57)【要約】【課題】異電源ドメイン間におけるタイミング収束性が改善された回路設計を容易に行うことができる多電源集積回路設計装置の提供。【解決手段】回路構成情報および電源構成情報に基づいて、異電源ドメインと接続するデータパスに対し、最初および最後に接続される同期式フリップフロップである境界ＦＦの少なくともいずれかを抽出して、境界ＦＦデータとして出力する境界ＦＦ抽出部と、回路構成情報および境界ＦＦデータに基づいて、境界ＦＦに接続されたクロックラインに配されたバッファを抽出し、入力を分岐させて当該分岐を入力とする新たなバッファを追加するバッファ追加部と、境界ＦＦが新たなバッファに接続されるようにクロックラインを繋ぎ換えるように、回路構成情報を変更して、変更された回路構成情報のデータを出力するクロックライン再構成部と、を有する多電源集積回路設計装置。【選択図】図５
2011180715.tif 000002
【特許請求の範囲】
【請求項１】
多電源集積回路設計装置であって、
多電源集積回路の回路構成情報のデータおよび電源構成情報のデータを格納する記憶手段と、
前記回路構成情報のデータおよび前記電源構成情報のデータに基づいて、前記回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと前記第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、前記第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された前記境界ＦＦの情報を境界ＦＦインスタンス・データとして出力する電源ドメイン境界フリップフロップ抽出部と、
前記回路構成情報のデータおよび前記境界ＦＦインスタンス・データに基づいて、前記回路構成情報のデータが示す多電源集積回路において、前記抽出された前記境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するバッファ追加部と、
前記抽出された前記境界ＦＦの前記クロック入力が前記新たなバッファに接続されるように前記境界ＦＦに接続されるクロックラインを繋ぎ換えるように、前記回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するクロックライン再構成部と、を有する多電源集積回路設計装置。
【請求項２】
前記回路構成情報のデータはＲＴＬのデータを含む、請求項１に記載の多電源集積回路設計装置。
【請求項３】
前記回路構成情報のデータはネットリストのデータを含む、請求項１に記載の多電源集積回路設計装置。
【請求項４】
さらに、前記ネットリストに基づいてタイミング解析を行いタイミング解析結果のデータを出力するタイミング解析部を有し、
前記電源ドメイン境界フリップフロップ抽出部は、さらに、前記タイミング解析結果のデータに基づいて前記境界ＦＦのタイミングマージンの大きさに基づいて前記境界ＦＦを区別してグループ分けし、
前記バッファ追加部は、前記グループ分けにかかる各グループそれぞれに対して前記新たなバッファを追加し、
前記クロックライン再構成部は、前記新たなバッファそれぞれが、前記各グループそれぞれに独立して作用するように前記クロックラインを繋ぎ換える、請求項３に記載の多電源集積回路設計装置。
【請求項５】
前記記憶手段は、さらに、前記多電源集積回路の電源ドメインのレイアウト情報のデータを格納し、
前記バッファ追加部は、さらに、前記レイアウト情報のデータに基づき、異電源ドメインと前記第１の電源ドメインとを接続するデータパスの長さを算出し、当該長さの長短に基づいて、前記新たなバッファの追加の要否を判断して、前記新たなバッファを追加する、請求項１に記載の多電源集積回路設計装置。
【請求項６】
多電源集積回路設計方法であって、
設計装置の演算装置が、記憶手段に保持される多電源集積回路の回路構成情報のデータおよび電源構成情報のデータに基づいて、前記回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと前記第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、前記第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された前記境界ＦＦの情報を境界ＦＦインスタンス・データとして出力するステップと、
設計装置の演算装置が、前記回路構成情報のデータおよび前記境界ＦＦインスタンス・データに基づいて、前記回路構成情報のデータが示す多電源集積回路において、前記抽出された前記境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するステップと、
設計装置の演算装置が、前記抽出された前記境界ＦＦの前記クロック入力が前記新たなバッファに接続されるように前記境界ＦＦに接続されるクロックラインを繋ぎ換えるように、前記回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するステップと、を有する多電源集積回路設計方法。
【請求項７】
多電源集積回路設計装置のコンピュータを、
記憶手段に格納された多電源集積回路の回路構成情報のデータおよび電源構成情報のデータに基づいて、前記回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと前記第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、前記第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された前記境界ＦＦの情報を境界ＦＦインスタンス・データとして出力する電源ドメイン境界フリップフロップ抽出部と、
前記回路構成情報のデータおよび前記境界ＦＦインスタンス・データに基づいて、前記回路構成情報のデータが示す多電源集積回路において、前記抽出された前記境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するバッファ追加部と、
前記抽出された前記境界ＦＦの前記クロック入力が前記新たなバッファに接続されるように前記境界ＦＦに接続されるクロックラインを繋ぎ換えるように、前記回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するクロックライン再構成部として機能させるための、多電源集積回路設計プログラム。
【請求項８】
多電源集積回路製造方法であって、
多電源集積回路設計ステップと、
多電源集積回路製造ステップと、を有し、
前記多電源集積回路設計ステップは、
設計装置の演算装置が、記憶手段に保持される多電源集積回路の回路構成情報のデータおよび電源構成情報のデータに基づいて、前記回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと前記第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、前記第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された前記境界ＦＦの情報を境界ＦＦインスタンス・データとして出力するサブステップと、
設計装置の演算装置が、前記回路構成情報のデータおよび前記境界ＦＦインスタンス・データに基づいて、前記回路構成情報のデータが示す多電源集積回路において、前記抽出された前記境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するサブステップと、
設計装置の演算装置が、前記抽出された前記境界ＦＦの前記クロック入力が前記新たなバッファに接続されるように前記境界ＦＦに接続されるクロックラインを繋ぎ換えるように、前記回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するサブステップと、
設計装置の演算装置が、前記変更された回路構成情報のデータに基づいて、フロアプランおよび配線の情報を含んだＰ＆Ｒデータ作成して、製造装置へ出力するサブステップと、を含み、
前記多電源集積回路製造ステップは、
前記製造装置が、前記Ｐ＆Ｒデータに基づいて、多電源集積回路を製造するサブステップを含む、多電源集積回路製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路設計装置およびその方法、ならびに、集積回路製造方法に関し、特に、多電源集積回路の設計に適した集積回路設計装置およびその方法、ならびに、多電源集積回路製造方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩ回路の高機能化および高速化に対する要求はますます高まっている。これらの要求を満たすため、ＬＳＩ回路の規模は大きく、かつ、その動作周波数は高周波数化される傾向にある。だが、ＬＳＩ回路の大規模化および高動作周波数化は消費電流の増加を招く。ＬＳＩ回路において消費される電流には、ダイナミック電流およびリーク電流と呼ばれる２種の電流が含まれる。一般的に、前者、ダイナミック電流はＬＳＩ回路の高速化（動作周波数の高周波数化）に伴い増大し、後者、リーク電流はプロセスの微細化と回路の大規模化により増大する。
【０００３】
ＬＳＩ回路において消費される電力の増加を抑制するため、動作不要な回路ブロックについては電源を一時的に遮断したり、高速動作が不要な回路ブロックについては駆動電圧を下げたりするなどし、ＬＳＩ回路の消費電力を削減する手法がとられる場合がある。この手法においては、ＬＳＩ回路内に、異なる電源を使用する回路ブロックが形成される。以下、電源電圧の異同、もしくは、電源の供給／遮断状態の制御単位に基づいて区分される回路ブロックを「電源ドメイン」と称する。
【０００４】
ＬＳＩ回路内に複数の電源ドメインを構成する場合、異電源ドメイン同士を物理的に分離させること、および、電源ドメインに対する電源を異電源ドメインに対する電源と分離させることが必要である。
【０００５】
その上、電源遮断ドメイン（電源を遮断する電源制御が行われる電源ドメイン）については、その周辺のチップ内にパワースイッチセルを配置する必要がある。
【０００６】
図１は、パワースイッチセルの配置例を示す図である。パワースイッチセル１は、電源遮断ドメインと他の電源ドメイン（異電源ドメイン）との境界（電源遮断境界）の周辺に配置される。そうすることによって、パワースイッチセル１の制御により、電源遮断ドメイン（モジュールＥ、Ｆ、Ｇ）に供給される電源のオン／オフ制御が可能となる。なお、電源ドメイン（モジュールＣ、Ｄ、Ｅ、Ｆ、Ｇ）は、電源を遮断する電源制御を行うか否かの別に基づき、電源遮断ドメイン（モジュールＥ、Ｆ、Ｇ）と常時オンドメイン（モジュールＣ、Ｄ）とに区別される。
【０００７】
さらに、電源遮断境界においては、入力側のトランジスタで貫通電流が流れることを防ぐためにアイソレーションセルを挿入することが必要である。また、異電圧境界（互いの電源電圧が異なる電源ドメイン間の境界）においては、電圧シフトのためのレベルシフタセルを挿入することが必要である。当然のことながらアイソレーションセルやレベルシフタセルは、必要十分に電源ドメイン間に挿設されなければならない。これについては、電源ドメインの回路構成等を記述した電源構成記述ファイルを導入して、論理合成時、論理シミュレーション時、Ｐ＆Ｒ（Place And Route）時に当該電源構成記述ファイルに基づいて適切な処理を行う設計装置が導入されつつある。
【０００８】
図２は、アイソレーションセルおよびレベルシフタセルの配置例を示す図である。ここで、Ｆより始まる参照記号はフリップフロップ（同期式フリップフロップ、以下「ＦＦ」と略す。）を指し、Ｃより始まる参照記号は組み合わせ回路を指す。本図に示すようにアイソレーションセル３およびレベルシフタセル５は、それぞれ、異電源ドメイン境界（電源遮断境界および異電圧境界）に配置される。本図における遅延時間Ｔ１は、モジュール内（電源ドメイン内）における伝播遅延（データパス遅延）による遅延時間の一例を指す。
【０００９】
遅延時間Ｔ２は、モジュール間（異電源ドメイン間）における伝播遅延（データパス遅延）による遅延時間の一例を指す。異電源ドメイン間の遅延時間（例えば、遅延時間Ｔ２）は、モジュール間の物理的な距離やアイソレーションセル３およびレベルシフタセル５の挿入等により長大化する。遅延時間の長大化はタイミング収束性を悪化させる。
【００１０】
これに対する対策として、以下に従来技術として示すように、論理回路面での対応が難しい場合はデータパスにバッファを挿入し異電源ドメイン境界の近傍に配置する。そうすることでトランジションの改善を行う方法が知られている。あるいは、論理設計時に適切に所定の位置にＣＴＳ目印バッファを挿入し、ＣＴＳ（Clock Tree Synthesis）実施後にクロックドメイン毎に独立したタイミング調整を実施する方法等がとられる。
【００１１】
しかし、前者、バッファを挿入する方法では、データパスの遅延値改善に効果はあるが、元々タイミングマージンがないデータパスに対しては効果が十分でない場合がある。
【００１２】
後者、ＣＴＳ目印バッファを挿入する方法では、論理設計時にルートバッファの分割を実施することが必要である。電源ドメインの分割を論理設計が完了する以前の所定の時点までに実施しなければ、設計の手戻りが発生する場合もある。また、電源ドメイン境界を跨ぐデータパスを介して信号のやり取りを行うフリップフロップを抽出したり、クロック系統を分離したりする工程は手間が多く間違いが発生する可能性がある。また、ＩＰや過去設計資産を利用する場合には、論理回路の修正自体が出来ない場合があることも課題である。
【００１３】
特許文献１には、高速な異電源ドメイン間データ転送を実現するための論理回路が述べられている。特許文献１においては、異電源ドメイン間に配された非同期ブリッジをもつ論理回路において、非同期ブリッジをバイパスする回路が追加され、異電源ドメインそれぞれの電圧設定、負荷状況によっては非同期ブリッジをバイパスして同期転送される経路が選択される。特許文献１の発明は、比較的転送レートが遅い非同期転送を用いた異電源ドメイン間データ転送のデータ転送速度を改善するための発明であり、同期転送回路における異電源ドメイン間データ転送のタイミング収束性を向上させるためのものではない。
【００１４】
特許文献２には、異電源ドメイン間の同期転送回路におけるタイミング収束性改善のために、異電源ドメイン境界を跨ぐデータパスを抽出し、その全てにバッファを挿入して異電源ドメイン境界の近傍に配置し、信号のスルーレートの低下を抑制し、そうすることにより、タイミング収束性を向上させる。特許文献２の方法では、セットアップタイムの改善に効果が期待される。だがその反面、不要なバッファ挿入によるタイミング、回路規模の増加という課題が残り、また論理段数が多かったり、ファンアウト数の多いパスでのタイミング収束性の改善には限界がある。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
以上のような課題を踏まえ、本発明は、異電源ドメイン間におけるタイミング収束性が改善された回路設計を容易に行うことができる多電源集積回路設計装置、および、異電源ドメイン間におけるタイミング収束性が改善された多電源集積回路を製造する方法を提供する。
【課題を解決するための手段】
【００１６】
本発明は、その一態様においては、多電源集積回路の回路構成情報のデータおよび電源構成情報のデータを格納する記憶手段と、回路構成情報のデータおよび電源構成情報のデータに基づいて、回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された境界ＦＦの情報を境界ＦＦインスタンス・データとして出力する電源ドメイン境界フリップフロップ抽出部と、回路構成情報のデータおよび境界ＦＦインスタンス・データに基づいて、回路構成情報のデータが示す多電源集積回路において、抽出された境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するバッファ追加部と、抽出された境界ＦＦのクロック入力が新たなバッファに接続されるように境界ＦＦに接続されるクロックラインを繋ぎ換えるように、回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するクロックライン再構成部と、を有する多電源集積回路設計装置である。
【００１７】
本発明の一態様においては、回路構成情報のデータはＲＴＬのデータを含む、ことが好ましい。
【００１８】
本発明の一態様においては、回路構成情報のデータはネットリストのデータを含む、ことが好ましい。
【００１９】
本発明の一態様においては、さらに、ネットリストに基づいてタイミング解析を行いタイミング解析結果のデータを出力するタイミング解析部を有し、電源ドメイン境界フリップフロップ抽出部は、さらに、タイミング解析結果のデータに基づいて境界ＦＦのタイミングマージンの大きさに基づいて境界ＦＦを区別してグループ分けし、バッファ追加部は、グループ分けにかかる各グループそれぞれに対して新たなバッファを追加し、クロックライン再構成部は、新たなバッファそれぞれが、各グループそれぞれに独立して作用するようにクロックラインを繋ぎ換える、ことが好ましい。
【００２０】
本発明の一態様においては、記憶手段は、さらに、多電源集積回路の電源ドメインのレイアウト情報のデータを格納し、バッファ追加部は、さらに、レイアウト情報のデータに基づき、異電源ドメインと第１の電源ドメインとを接続するデータパスの長さを算出し、当該長さの長短に基づいて、新たなバッファの追加の要否を判断して、新たなバッファを追加する、ことが好ましい。
【００２１】
本発明は、別の一態様においては、設計装置の演算装置が、記憶手段に保持される多電源集積回路の回路構成情報のデータおよび電源構成情報のデータに基づいて、回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された境界ＦＦの情報を境界ＦＦインスタンス・データとして出力するステップと、設計装置の演算装置が、回路構成情報のデータおよび境界ＦＦインスタンス・データに基づいて、回路構成情報のデータが示す多電源集積回路において、抽出された境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するステップと、設計装置の演算装置が、抽出された境界ＦＦのクロック入力が新たなバッファに接続されるように境界ＦＦに接続されるクロックラインを繋ぎ換えるように、回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するステップと、を有する多電源集積回路設計方法である。
【００２２】
本発明は、さらに別の一態様においては、多電源集積回路設計装置のコンピュータを、記憶手段に格納された多電源集積回路の回路構成情報のデータおよび電源構成情報のデータに基づいて、回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された境界ＦＦの情報を境界ＦＦインスタンス・データとして出力する電源ドメイン境界フリップフロップ抽出部と、回路構成情報のデータおよび境界ＦＦインスタンス・データに基づいて、回路構成情報のデータが示す多電源集積回路において、抽出された境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するバッファ追加部と、抽出された境界ＦＦのクロック入力が新たなバッファに接続されるように境界ＦＦに接続されるクロックラインを繋ぎ換えるように、回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するクロックライン再構成部として機能させるための、多電源集積回路設計プログラムである。
【００２３】
本発明は、なおさらに別の一態様においては、多電源集積回路製造方法であって、多電源集積回路設計ステップと、多電源集積回路製造ステップと、を有し、多電源集積回路設計ステップは、設計装置の演算装置が、記憶手段に保持される多電源集積回路の回路構成情報のデータおよび電源構成情報のデータに基づいて、回路構成情報のデータが示す多電源集積回路において、第１の電源ドメインと第１の電源ドメインと異なる電源ドメインとを接続するデータパスに対し、第１の電源ドメインにおいて最初に接続される同期式フリップフロップである入力側の境界ＦＦおよび最後に接続される同期式フリップフロップである出力側の境界ＦＦの少なくともいずれかを抽出して、抽出された境界ＦＦの情報を境界ＦＦインスタンス・データとして出力するサブステップと、設計装置の演算装置が、回路構成情報のデータおよび境界ＦＦインスタンス・データに基づいて、回路構成情報のデータが示す多電源集積回路において、抽出された境界ＦＦのクロック入力に接続されたクロックラインに配されたバッファを抽出し、当該抽出されたバッファの入力を分岐させて当該分岐を入力とする新たなバッファを追加するサブステップと、設計装置の演算装置が、抽出された境界ＦＦのクロック入力が新たなバッファに接続されるように境界ＦＦに接続されるクロックラインを繋ぎ換えるように、回路構成情報のデータを変更して、変更された回路構成情報のデータを出力するサブステップと、設計装置の演算装置が、変更された回路構成情報のデータに基づいて、フロアプランおよび配線の情報を含んだＰ＆Ｒデータ作成して、製造装置へ出力するサブステップと、を含み、多電源集積回路製造ステップは、製造装置が、Ｐ＆Ｒデータに基づいて、多電源集積回路を製造するサブステップを含む、多電源集積回路製造方法である。
【発明の効果】
【００２４】
本発明にかかる多電源集積回路設計装置においては、異電源ドメイン間におけるタイミング収束性が改善された回路の設計を容易に行うことができる。また、本発明にかかる多電源集積回路製造方法は、異電源ドメイン間におけるタイミング収束性が改善された回路を容易に製造する方法を提供する。
【図面の簡単な説明】
【００２５】
【図１】パワースイッチセルの配置を例示する図
【図２】アイソレーションセルおよびレベルシフタセルの配置を例示する図
【図３】多電源集積回路設計装置のハードウェア構成を示すブロック図
【図４】多電源電集積回路設計の一例を示すフローチャート
【図５】第１の実施形態による多電源集積回路設計装置の構成を示すブロック図
【図６】電源構成記述ファイルの例図
【図７】第１の実施形態による多電源集積回路設計のフローチャート
【図８】電源境界フリップフロップ抽出の模式図
【図９】電源境界フリップフロップ接続クロックバッファ抽出の模式図
【図１０】ＣＴＳ目印バッファ追加の模式図
【図１１】ＣＴＳ目印バッファに対する遅延バッファ挿入の模式図
【図１２】第２の実施形態による多電源集積回路設計装置の構成を示すブロック図
【図１３】第２の実施形態による多電源集積回路設計のフローチャート
【図１４】第３の実施形態による多電源集積回路設計装置の構成を示すブロック図
【図１５】タイミング解析結果に基づくイミングマージン抽出を示す模式図
【図１６】タイミングマージンに基づく境界ＦＦグループに対するＣＴＳ目印バッファ追加の模式図
【図１７】第４の実施形態による多電源集積回路設計装置の構成を示すブロック図
【図１８】レイアウト情報に基づくドメイン間データパス距離抽出の模式図
【図１９】ドメイン間データパス距離に基づくＣＴＳ目印バッファ追加の模式図
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について、添付の図面を参照して詳細に説明する。
【００２７】
（概要）
本発明の実施の形態は、多電源集積回路設計装置である。本実施形態による多電源集積回路設計装置は、回路構成情報および電源構成情報に基づき、注目する電源ドメインにおいて、異電源ドメイン境界を跨いで異電源ドメインから入力されるデータパスが接続される最初の同期式フリップフロップ（ＦＦ）、および、異電源ドメイン境界を跨いで異電源ドメインへ出力されるデータパスに接続される最後の同期式フリップフロップ（ＦＦ）を抽出する。そして、回路構成情報における、抽出された同期式ＦＦのクロックに接続されたクロックラインに配置されるバッファを抽出する。次に、抽出されたバッファに対する入力を抽出されたバッファの手前で分岐させ、当該分岐が入力されるように新たなバッファを追加し、当該新たなバッファの出力を抽出された同期式ＦＦのクロックに接続する。なお、以下では上記最初の同期式フリップフロップおよび最後の同期式フリップフロップを、「境界フリップフロップ（境界ＦＦ）」と称する。また、上記最初の同期式ＦＦを、特に「入力側境界ＦＦ」と称し、上記最後の同期式ＦＦを、特に「出力側境界ＦＦ」と称して区別することもある。
【００２８】
このようにして境界ＦＦのみに作用する新たなバッファを追加し、境界ＦＦのクロックラインを新たなバッファに繋ぎ換える。新たなバッファ等は、後に実施されるＣＴＳ（Clock Tree Synthesis）における起点バッファ（ＣＴＳ目印バッファ）として使用することができる。また、新たなバッファ等は、マニュアルによるタイミング調整を行う際の起点として使用することができる。そうすることで、多電源集積回路における異電源ドメイン間のタイミング収束性の改善が容易になるという効果が奏される。
【００２９】
本発明の実施の形態による多電源集積回路設計装置においては、境界ＦＦの抽出、新たなバッファの追加、および、境界ＦＦのクロックラインの当該新たなバッファへの繋ぎ換えは、回路構成情報としてのＲＴＬに対し、予め用意した電源構成情報としての電源構成記述ファイルの示す情報に基づいて実施される。例えば、境界ＦＦは、異電源ドメイン境界を跨ぐデータパスの出力側の境界ＦＦ（出力側境界ＦＦ）と、該境界を跨ぐデータパスの入力側の境界ＦＦ（入力側境界ＦＦ）とを区別して抽出され、当該区別に基づき、別々のバッファを新たに追加して各バッファへクロックラインが繋がれる。
【００３０】
本発明の別の実施の形態による多電源集積回路設計装置においては、境界ＦＦの抽出、新たなバッファの追加、および、境界ＦＦのクロックラインの当該新たなバッファへの繋ぎ換えは、ＲＴＬおよび電源構成記述ファイルに基づく論理合成により生成された回路構成情報としてのネットリストに対し、予め用意した電源構成情報としての電源構成記述ファイルの示す情報に基づいて実施される。
【００３１】
上記の実施の形態においては、異電源ドメイン間のタイミング収束性の改善が容易になるという効果が奏される。
【００３２】
本発明のさらに別の実施の形態による多電源集積回路設計装置においては、境界ＦＦの抽出、新たなバッファの追加、および、境界ＦＦのクロックラインの当該新たなバッファへの繋ぎ換えは、ＲＴＬおよび電源構成情報としての電源構成記述ファイルに基づく論理合成により生成された回路構成情報としてのネットリストに対して行ったタイミング解析（例えば、静的タイミング解析（ＳＴＡ（Static Timing Analysis）））の結果に基づき、他の実施の形態と同様にして抽出した境界ＦＦそれぞれのタイミングマージンを求め、タイミングマージンの多寡に従って境界ＦＦをグループ分けし、各境界ＦＦグループについて新たなバッファの追加、および、境界ＦＦの各グループのクロックラインの当該新たなバッファへの繋ぎ換えを行う。
【００３３】
該実施の形態においては、境界ＦＦの入力側および出力側の少なくとも一方についてのタイミングマージンの多寡に基づく境界ＦＦの各グループのクロックラインのバッファ（ＣＴＳ目印バッファ）が独立するように新たなバッファの追加およびクロックラインの繋ぎ換えが行われるので、異電源ドメイン間のタイミング収束性の改善がさらに容易になるという効果が奏される。
【００３４】
本発明のなおさらに別の実施の形態による多電源集積回路設計装置においては、設計の初期段階に検討され作成された、電源ドメインのおおまかな配置位置の情報であるレイアウト情報に基づき、異電源ドメインを跨ぐデータパスについてそれぞれの長さを求め、求めた長さ、回路構成情報、および、電源構成情報に基づき、他の実施の形態と同様にして抽出した境界ＦＦに対して新たなバッファの追加、および、境界ＦＦのクロックラインの当該新たなバッファへの繋ぎ換えを行う。
【００３５】
該実施の形態においては、異電源ドメインを跨ぐデータパスの長さに応じて、クロックラインが繋がれるバッファが異なるように新たなバッファの追加およびクロックラインの繋ぎ換えが行われるので、データパスの物理的長さによる伝搬遅延の多寡による異電源ドメイン間のタイミング収束性の改善が容易になるという効果が奏される。
【００３６】
（第１の実施の形態）
図３は、本実施の形態による多電源集積回路設計装置（１０１）のハードウェア構成を示すブロック図である。以下、多電源集積回路設計装置を、単に「設計装置」と略称する。
【００３７】
設計装置１０１は、データ処理機能を備えた中央処理装置１１（ＣＰＵ１１）と、ＣＰＵ１１が実行するプログラムおよび各種データを記憶する主記憶装置１３ａおよび補助記憶装置１３ｂと、ディスプレイといった出力装置１５と、キーボードといった入力装置１７と、を有する。主記憶装置１３ａは、例えば、リード・オンリー・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）でよい。補助記憶装置１３ｂは、例えば、ハードディスクドライブ（ＨＤＤ）、不揮発性メモリ（ＮＶ−ＲＡＭ）等でよい。
【００３８】
設計装置１０１は、ＣＰＵ１１が所定のプログラム（多電源集積回路設計プログラム）を実行することにより実現される。当該プログラムは、予め記憶装置（１３ａまたは１３ｂ）に格納されてよい。また、該プログラムは、フレキシブル・ディスクといった可搬性記憶媒体に保持され、図示しないデバイスを介して設計装置１０１により読み取られ、ＣＰＵ１１により実行されもよい。あるいは、該プログラムは、インターネット等を介して配信可能な状態に置かれ、図示しない通信インタフェースを介して設計装置１０１によりダウンロードされ実行されてもよい。
【００３９】
図４は、ＲＴＬ設計からＰ＆Ｒおよび回路チェックまでの基本的な流れを示すフローチャートである。従来、ＲＴＬ（Registor Transfer Level）の記述および電源構成記述ファイルの記述を用いて論理合成を行ってＰ＆Ｒを行うための基本的な流れは確立されている。
【００４０】
ステップＳ１０１において、多電源集積回路設計装置は、所与の仕様情報データに基づき、回路構成情報であるＲＴＬが記述されたＲＴＬ記述ファイルを生成し、その検証を行う。ステップＳ１０１における処理は、従来の手法に基づいて実施されてよい。
【００４１】
ステップＳ１０３において、多電源集積回路設計装置は、回路構成情報であるＲＴＬ記述ファイルについて、電源構成情報である電源構成記述ファイルに基づき、電源ドメインのうち、電源を遮断する電源制御が行われる電源遮断ドメインを特定し、電源遮断ドメインへの電源供給を遮断した場合における不定伝播を検証する。また、必要により、検証結果に基づいてＲＴＬ記述ファイルを修正する。ステップＳ１０３における処理は、従来の手法に基づいて実施されてよい。
【００４２】
ステップＳ１０５において、多電源集積回路設計装置は、回路構成情報であるＲＴＬ記述ファイルおよび電源構成情報である電源構成記述ファイルに基づいて論理合成を行う。多電源集積回路設計装置は、論理合成時に電源構成記述ファイルを参照してアイソレーションセル（図２における３）や、レベルシフタセル（図２における５）を追加し、ネットリストを生成する。ステップＳ１０５における処理は、従来の手法に基づいて実施されてよい。
【００４３】
ステップＳ１０７において、多電源集積回路設計装置は、ステップＳ１０５において生成したネットリストに基づき回路チェックを行う。ステップＳ１０７における処理は、従来の手法に基づいて実施されてよい。
【００４４】
ステップＳ１０９において、多電源集積回路設計装置は、ネットリストに基づき、ＣＴＳ（Clock Tree Synthesis）およびＰ＆Ｒ（Place & Route）を行い、フロアプランおよび配線の情報を含んだＰ＆Ｒデータを生成して出力する。ステップＳ１０９において実施されるＣＴＳにより、ＦＦのクロックスキューは或る程度改善されることが期待できる。ステップＳ１０９における処理は、従来の手法に基づいて実施されてよい。
【００４５】
ステップＳ１１１において、多電源集積回路設計装置は、Ｐ＆Ｒに基づき回路チェックを実行する。ステップＳ１１１における処理は、従来の手法に基づいて実施されてよい。
【００４６】
以上が、ＲＴＬ設計からＰ＆Ｒおよび回路チェックまでの基本的な流れである。また、ステップＳ１１１の後でタイミング収束性をさらに改善するための工程が実施される。当該さらなるタイミング収束性改善工程においては、異電源ドメイン間、同一電源ドメイン内におけるデータパス遅延やクロックスキュー等が詳細に検討され、必要な修正が、回路構成に対し加えられる。
【００４７】
以下で詳細に説明する、本実施の形態による多電源集積回路設計装置は、ステップＳ１０５の論理合成よりも前に、回路構成情報としてのＲＴＬについて、予め用意した電源構成情報である電源構成記述ファイルの示す情報に基づき、境界ＦＦの抽出、新たなバッファ（ＣＴＳ目印バッファ）の追加、および、境界ＦＦのクロックラインの繋ぎ換えを行い、当該追加および繋ぎ換えをＲＴＬ記述ファイルに反映させる。
【００４８】
そうすることにより、ステップＳ１０５における論理合成においては、上述のようにして新たなバッファが追加されたＲＴＬに対して論理合成が行われネットリストが生成され、さらにステップＳ１０９においては、当該ネットリストに対し（ＣＴＳを含む）Ｐ＆Ｒが実施され、フロアプランおよび配線の情報を含んだＰ＆Ｒデータが生成され出力される。
【００４９】
本実施の形態による多電源集積回路設計装置が出力する上記Ｐ＆Ｒデータにおいては、各電源ドメインに含まれる入力側境界ＦＦとクロックソースとの間のクロックラインに、入力側境界ＦＦのクロックのみに作用する１つ以上のバッファ（ＣＴＳ目印バッファ）が配置され、また、各電源ドメインに含まれる出力側境界ＦＦとクロックソースとの間のクロックラインにも、出力側境界ＦＦのクロックのみに作用する１つ以上のバッファ（ＣＴＳ目印バッファ）が配置される。そのため、後に実施するタイミング収束性改善の工程を従来よりも効率的に完遂させることが可能になる。
【００５０】
図５は、ＣＰＵ１１（図３）が多電源集積回路設計プログラムを実行することにより設計装置１０１に実現される機能を表すブロック図である。
【００５１】
設計装置１０１は、各ブロックを制御する制御部２１を有する。図中、破線で示されたラインは、制御部２１と各ブロック間の制御ラインを表す。ただし、制御ラインを介して各ブロック間で各種データが交換されてもよい。
【００５２】
ＲＴＬ生成／検証部２３は、予め入力された仕様情報データ４１に基づいてＲＴＬを生成し、生成したＲＴＬをＲＴＬ記述ファイル４５として出力する。
【００５３】
電源ドメイン境界フリップフロップ抽出部２５（境界ＦＦ抽出部２５）は、電源構成情報としての電源構成記述ファイル４３および回路構成情報としてのＲＴＬ記述ファイル４５に基づき、各電源ドメインについて境界ＦＦ（入力側境界ＦＦおよび出力側境界ＦＦ）を抽出する。より具体的には、境界ＦＦ抽出部２５は、電源構成記述ファイル４３から、例えば論理階層ごとに指定される電源ドメインごとに、該電源ドメインに割り当てられた論理階層の指定記述を抽出し、電源ドメイン間を跨ぐデータパスを抽出し、当該データパスにより異電源ドメインからの入力が接続される当該電源ドメインにおける最初の同期式ＦＦ（入力側境界ＦＦ）、および、当該データパスにより異電源ドメインへ信号を出力する当該電源ドメインにおける最後の同期式ＦＦ（出力側境界ＦＦ）を抽出し、抽出した境界ＦＦのインスタンス名を、境界ＦＦインスタンス・データ４７として記録する。
【００５４】
ＣＴＳ目印バッファ追加部２７は、ＲＴＬ記述ファイル４５および境界ＦＦインスタンス・データ４７を受け、回路構成情報としてのＲＴＬ記述ファイル４５を解析し各境界ＦＦのクロックラインに配置されたバッファ（ＣＴＳ目印バッファ）を抽出する。そして、ＣＴＳ目印バッファ追加部２７は、抽出したバッファ（ＣＴＳ目印バッファ）に対する入力を当該バッファの手前で分岐させ、新たなバッファを、その入力が当該分岐に接続されるように追加する。
【００５５】
クロックライン再構成部２９は、ＣＴＳ目印バッファ追加部２７が追加した新たなバッファの出力が、当該追加に関係した境界ＦＦのクロックに接続されるように、回路構成情報としてのＲＴＬ記述ファイル４５を変更する。
【００５６】
論理合成部３１は、クロックライン再構成部２９が変更した後のＲＴＬ記述ファイル４５、ライブラリ・データ４９等に基づいて、論理合成を実行し、結果をネットリスト・データ５１として出力する。
【００５７】
Ｐ＆Ｒ実行部３３は、ネットリスト・データ５１等に基づき、（ＣＴＳを含めて）Ｐ＆Ｒを実行し、フロアプランおよび配線の情報を含んだＰ＆Ｒデータを出力する。
【００５８】
図６は、電源構成情報として予め用意される電源構成記述ファイル４３（図５）の記述例を示す図である。
【００５９】
電源構成記述ファイル４３は、一般に、電源ドメインの回路構成、電源遮断を行うか否か、各電源ドメインにおける電圧の範囲、使用するライブラリ等を記述することができる。本図における電源構成記述ファイル４３記述例においては、インスタンスが属する電源ドメインを指定する記述４３ａ、電圧の設定に関する記述４３ｂ、電源ドメインにおいてとり得る電源状態に関する記述４３ｃ、電源遮断の条件に関する記述４３ｄ等が記述されている。
【００６０】
図７は、本実施の形態による設計装置１０１における多電源集積回路設計の流れを示すフローチャートである。本図において、図４と同様の工程については同様の参照数字が付される。また、同様の工程については、以下の説明において説明を適宜省略する。
【００６１】
ステップＳ１０１およびＳ１０３において、ＲＴＬ生成／検証部２３（図５）は、ＲＴＬを作成してＲＴＬ記述ファイル４５を生成し、当該ＲＴＬについて、論理的検証を行う。
【００６２】
ステップＳ２０１において、境界ＦＦ抽出部２５（図５）は、上述したように、電源構成情報としての電源構成記述ファイル４３（図５）および回路構成情報としてのＲＴＬ記述ファイル４５（図５）に基づき、各電源ドメインについて境界ＦＦ（入力側境界ＦＦおよび出力側境界ＦＦ）を抽出し、境界ＦＦインスタンス・データ４７（図５）として記録する。
【００６３】
図８は、ステップＳ２０１で境界ＦＦ抽出部２５（図５）によって抽出された境界ＦＦの例を示す図である。境界ＦＦ抽出部２５は、境界ＦＦ６１および６３を抽出し、出力側境界ＦＦ６１、入力側境界ＦＦ６３を区別して境界ＦＦインスタンス・データ４７に記録することができる。
【００６４】
ステップＳ２０３において、ＣＴＳ目印バッファ追加部２７（図５）は、上述したように、ＲＴＬ記述ファイル４５および境界ＦＦインスタンス・データ４７を受け、各境界ＦＦのクロックラインに配置されたバッファ（ＣＴＳ目印バッファ）を抽出する。この、バッファ（ＣＴＳ目印バッファ）の抽出の方法は、例えばｓｄｃ（synopsys design constraints）と呼ばれる制約ファイルを使用する方法、論理トレースにより自動的に抽出する方法等が知られている。
【００６５】
図９は、図８に示した例において、ＣＴＳ目印バッファ追加部２７が抽出したバッファを示す図である。本図に示すように、出力側境界ＦＦ６１および入力側境界ＦＦ６３は全て同一のバッファ６５からクロックの供給を受けている。よって、ＣＴＳ目印バッファ追加部２７は、バッファ６５を抽出する。
【００６６】
そして、ＣＴＳ目印バッファ追加部２７は、抽出したバッファ６５（ＣＴＳ目印バッファ）に対する入力を当該バッファの手前で分岐させ、当該分岐が新たなバッファの入力に接続されるように新たなバッファを追加する。ＣＴＳ目印バッファ追加部２７は、例えば、出力側境界ＦＦ６１のクロック用の少なくとも１つの新たなバッファと入力側境界ＦＦ６３用の少なくとも１つの新たなバッファとが追加されるように、新たなバッファを追加すればよい。
【００６７】
ステップＳ２０５において、クロックライン再構成部２９（図５）は、ステップＳ２０１にて抽出された境界ＦＦのクロックラインの再構成を行う。クロックライン再構成部２９は、出力境界ＦＦ６１用に追加された新たなバッファの出力が出力境界ＦＦ６１のクロックに接続され、入力境界ＦＦ６３用に追加された新たなバッファの出力が入力境界ＦＦ６３のクロックに接続されるように、クロックラインの再構成を行う。そして、再構成の結果を、ＲＴＬ記述ファイル４５（図５）に記録する。
【００６８】
図１０は、ステップＳ２０５完了時において回路構成情報が示す多電源集積回路の例図である。
【００６９】
ステップＳ２０３において、出力境界ＦＦ６１群６１ｇ用のバッファ（ＣＴＳ目印バッファ）６１ｂ、および、入力境界ＦＦ６３群６３ｇ用のバッファ（ＣＴＳ目印バッファ）６３ｂが追加される。バッファ６１ｂおよび６３ｂの入力は、クロックソース（不図示）からバッファ６５への入力されるクロックラインのバッファ６５の直前部分から分岐されたクロックラインに接続される。
【００７０】
ステップＳ２０５において、出力境界ＦＦ群６１ｇのクロックがバッファ６１ｂの出力を受けるように、そして、入力境界ＦＦ群６３ｇのクロックがバッファ６３ｂの出力を受けるように、クロックラインの繋ぎ換えが行われる。
【００７１】
再び図７を参照すれば、設計装置１０１は、ステップＳ２０５の後、クロックライン再構成部２９が変更して記録したＲＴＬ記述ファイル４５（図５）およびライブラリ・データ４９（図５）に基づいて論理合成を行ってネットリスト・データ５１（図５）を出力する（ステップＳ１０５）。
【００７２】
そして、ステップＳ１０７において回路チェックを行い、ステップＳ１０９においてＰ＆Ｒを実行する。本ステップにおいては併せてＣＴＳも実施される。Ｐ＆ＲおよびＣＴＳは、従来の手法に依ればよい。
【００７３】
本実施の形態による設計装置１０１は、ステップＳ１０９よりも前に、ステップＳ２０１、Ｓ２０３、Ｓ２０５において、境界ＦＦを抽出して境界ＦＦのみに作用するクロックラインを少なくとも１つ構成し、当該クロックラインにＣＴＳ目印バッファとしてのバッファを追加する。そのため、電源ドメインを跨ぐデータパスでタイミングマージンが小さい箇所が発見された場合にも、新たに追加されたＣＴＳ目印バッファに対して遅延バッファを挿入する等してタイミングの最適化を容易に行うことが可能である。
【００７４】
図１１は、新たに追加されたＣＴＳ目印バッファに対する遅延バッファの挿入例を示す図である。出力側境界ＦＦ群６１ｇのクロックを調整するために、ＣＴＳ目印バッファ６１ｂと出力側境界ＦＦ群６１ｇとの間に遅延バッファ６１ｍｂが挿入されている。また、入力側境界ＦＦ群６３ｇのクロックを調整するために、ＣＴＳ目印バッファ６３ｂと出力側境界ＦＦ群６３ｇとの間に遅延バッファ６３ｍｂが挿入されている。このように、設計装置１０１においては、自動的に、境界ＦＦのクロックラインを独立させて当該クロックラインにＣＴＳ目印バッファを配置することが可能である。そのため、電源ドメインを跨ぐデータパスを流れる信号のタイミングのみに作用する遅延バッファの挿入が容易になっている。また、設計装置１０１は、電源構成情報である電源構成記述ファイル４３（図６）に基づいて境界ＦＦを抽出するため、ＬＳＩ回路の電源仕様と矛盾しないようにＣＴＳ目印バッファを追加することが可能である。
【００７５】
（第２の実施の形態）
次に第２の実施の形態による多電源集積回路設計装置について説明する。以下で詳細に説明する、本実施の形態による多電源集積回路設計装置は、ステップＳ１０５の論理合成よりも後に、回路構成情報としてのネットリストについて、予め用意した電源構成情報である電源構成記述ファイルの示す情報に基づき、境界ＦＦの抽出、新たなバッファ（ＣＴＳ目印バッファ）の追加、および、境界ＦＦのクロックラインの繋ぎ換えを行い、当該追加および繋ぎ換えをネットリスト・データに反映させる。
【００７６】
図１２は、ＣＰＵ１１（図３）が多電源集積回路設計プログラムを実行することにより設計装置１０１ａに実現される機能を表すブロック図である。設計装置１０１ａを構成するブロックは、設計装置１０１（図５）を構成するブロックと同等でよい。ただし、設計装置１０１ａと設計装置１０１とでは、一部のブロックの接続関係と、一部のブロックにおいて使用するデータが異なっている。以下、当該相違について説明する。
【００７７】
論理合成部３１は、ＲＴＬ生成／検証部２３が生成したＲＴＬ（ＲＴＬ記述ファイル４５）を使用し、ライブラリ・データ４９に従ってネットリスト・データ５１を出力する。
【００７８】
そして、境界ＦＦ抽出部２５は、電源構成情報としての電源構成記述ファイル４３および回路構成情報としてのネットリスト・データ５１に基づき、各電源ドメインについて境界ＦＦ（入力側境界ＦＦおよび出力側境界ＦＦ）を抽出する。より具体的には、境界ＦＦ抽出部２５は、電源ドメイン間を跨ぐデータパスを抽出し、当該データパスにより異電源ドメインからの入力が接続される当該電源ドメインにおける最初の同期式ＦＦ（入力側境界ＦＦ）、および、当該データパスにより異電源ドメインへ信号を出力する当該電源ドメインにおける最後の同期式ＦＦ（出力側境界ＦＦ）を抽出し、抽出した境界ＦＦのインスタンス名を、境界ＦＦインスタンス・データ４７として記録する。
【００７９】
ＣＴＳ目印バッファ追加部２７は、ネットリスト・データ５１および境界ＦＦインスタンス・データ４７を受け、回路構成情報としてのネットリスト・データ５１を解析し各境界ＦＦのクロックラインに配置されたバッファ（ＣＴＳ目印バッファ）を抽出する。そして、ＣＴＳ目印バッファ追加部２７は、抽出したバッファ（ＣＴＳ目印バッファ）に対する入力を当該バッファの手前で分岐させ、新たなバッファを、その入力が当該分岐に接続されるように追加する。
【００８０】
クロックライン再構成部２９は、ＣＴＳ目印バッファ追加部２７が追加した新たなバッファの出力が、当該追加に関係した境界ＦＦのクロックに接続されるように、回路構成情報としてのネットリスト・データ５１を変更する。
【００８１】
図１３は、本実施の形態による設計装置１０１ａにおける多電源集積回路設計の流れを示すフローチャートである。本図において、図４、図７と同様の工程については同様の参照数字が付される。また、同様の工程については、以下の説明において説明を適宜省略する。
【００８２】
ステップＳ１０５において、論理合成部３１は、ＲＴＬ生成／検証部２３（図１２）が出力したＲＴＬ記述ファイル４５（図１２）および電源構成情報である電源構成記述ファイル４５（図１２）に基づいて論理合成を行う。
【００８３】
ステップＳ２０１において、境界ＦＦ抽出部２５（図１２）は、上述したように、電源構成情報としての電源構成記述ファイル４３（図１２）および回路構成情報としてのネットリスト・データ５１（図１２）に基づき、各電源ドメインについて境界ＦＦ（入力側境界ＦＦおよび出力側境界ＦＦ）を抽出し、境界ＦＦインスタンス・データ４７（図１２）として記録する。設計装置１０１ａは、設計装置１０１と同様、図８に示されるように境界ＦＦを抽出することができる。境界ＦＦ抽出部２５は、境界ＦＦ６１および６３を抽出し、出力側境界ＦＦ６１、入力側境界ＦＦ６３を区別して抽出した境界ＦＦのインスタンス名を境界ＦＦインスタンス・データ４７に記録する。
【００８４】
ステップＳ２０３において、ＣＴＳ目印バッファ追加部２７（図１２）は、ネットリスト・データ５１および境界ＦＦインスタンス・データ４７を受け、各境界ＦＦのクロックラインに配置されたバッファ（ＣＴＳ目印バッファ）を抽出する。この、バッファ（ＣＴＳ目印バッファ）の抽出の方法は、例えばｓｄｃ（synopsys design constraints）と呼ばれる制約ファイルを使用する方法、論理トレースにより自動的に抽出する方法等が知られている。設計装置１０１ａは、設計装置１０１と同様、図９に示されるようにバッファを抽出することができる。そして、ＣＴＳ目印バッファ追加部２７は、抽出したバッファ６５（ＣＴＳ目印バッファ）に対する入力を当該バッファの手前で分岐させ、当該分岐が新たなバッファの入力に接続されるように新たなバッファを追加する。
【００８５】
ステップＳ３０１において、クロックライン再構成部２９（図１２）は、ステップＳ２０１にて抽出された境界ＦＦのクロックラインの再構成を行う。クロックライン再構成部２９は、出力境界ＦＦ６１用に追加された新たなバッファの出力が出力境界ＦＦ６１のクロックに接続され、入力境界ＦＦ６３用に追加された新たなバッファの出力が入力境界ＦＦ６３のクロックに接続されるように、クロックラインの再構成（繋ぎ換え）を行う。そして、再構成の結果を、回路構成情報としてのネットリスト・データ５１（図１２）に記録する。そしてさらに、クロックライン再構成部２９は、電源構成記述ファイル４７を参照してアイソレーションセル（図２における３）や、レベルシフタセル（図２における５）を追加するように、ネットリスト５１を変更して記録することもできる。
【００８６】
そして、ステップＳ１０７において回路チェックを行い、ステップＳ１０９においてＰ＆Ｒを実行する。本ステップにおいては併せてＣＴＳも実施される。Ｐ＆ＲおよびＣＴＳは、従来の手法に依ればよい。
【００８７】
本実施の形態による設計装置１０１ａは、ステップＳ１０９よりも後に、ステップＳ２０１、Ｓ２０３、Ｓ３０１において、境界ＦＦを抽出して境界ＦＦのみに作用するクロックラインを少なくとも１つ構成し、当該クロックラインにＣＴＳ目印バッファとしてのバッファを追加する。そのため、電源ドメインを跨ぐデータパスでタイミングマージンが小さい箇所が発見された場合にも、新たに追加されたＣＴＳ目印バッファに対して遅延バッファを挿入する等してタイミングの最適化を容易に行うことが可能である。
【００８８】
設計装置１０１ａにおいては、自動的に、境界ＦＦのクロックラインを独立させて当該クロックラインにＣＴＳ目印バッファを配置することが可能である。そのため、電源ドメインを跨ぐデータパスを流れる信号のタイミングのみに作用する遅延バッファの挿入が容易になっている。また、設計装置１０１ａは、電源構成情報であるネットリスト・データ５１（図１２）に基づいて境界ＦＦを抽出するため、ＬＳＩ回路の電源仕様と矛盾しないようにＣＴＳ目印バッファを追加することが可能である。
【００８９】
（第３の実施の形態）
次に第３の実施の形態による多電源集積回路設計装置について説明する。以下で詳細に説明する、本実施の形態による多電源集積回路設計装置は、さらに、回路構成情報であるネットリスト・データについてタイミング解析を行うタイミング解析部（ＳＴＡ部）を有する。そして、当該タイミング解析の結果に基づき、各境界ＦＦのタイミングマージンの多寡を評価し、タイミングマージンの多寡に従って境界ＦＦをグループ分けする。そして、境界ＦＦの上記グループを単位として新たなバッファの追加およびクロックラインの繋ぎ換えを行う。そうすることにより、タイミングマージンの多寡でグループ分けした境界ＦＦの各グループのクロックラインのバッファ（ＣＴＳ目印バッファ）が該グループ単位で独立される。これにより、異電源ドメイン間のタイミング収束性の改善がさらに容易になるという効果が奏される。
【００９０】
図１４は、本実施の形態による設計装置１０１ｂの機能を表すブロック図である。設計装置１０１ｂは、論理合成部３１が出力したネットリスト・データ５１に対してタイミング解析を行うＳＴＡ部３５を有する。ＳＴＡ部３５は、タイミング解析の結果をタイミング解析結果データ５５として出力する。ＳＴＡ部３５が行うタイミング解析手法は、静的タイミング解析（ＳＴＡ）である。しかしながら、タイミング解析の手法は、静的タイミング解析（ＳＴＡ）に限定されない。
【００９１】
図１５は、ＳＴＡ部３５が、論理合成部３１が出力したネットリスト・データ５１に対して行うタイミング解析を説明する図である。ＳＴＡ部３５は、論理合成部３１が出力したネットリスト・データ５１に基づき、データパスの伝播遅延を解析し、境界ＦＦにおけるタイミングマージンの多寡を評価する。例えば、ＳＴＡ部３５は、電源ドメイン内伝播遅延Ｔｉ（例えば、ＦＦ（Ｆ１３）の入力から境界ＦＦ（Ｆ２３）の出力までの伝播遅延）や異電源ドメイン間伝播遅延Ｔｔ（例えば、境界ＦＦ（Ｆ２３）の出力から境界ＦＦ（Ｆ３３）までの伝播遅延）等を求めることで、各境界ＦＦにおけるタイミングマージンの多寡を評価する。
【００９２】
ＳＴＡ部３５は、例えば、適当な閾値を用いてタイミングマージンの多寡を評価すればよい。例えば、タイミングマージンは、（マージンが）「十分にある」、「ややある」、「少し厳しい」、「大変厳しい」といった複数のレベルで評価されればよい。
【００９３】
図１４に戻り、境界ＦＦ抽出部２５は、上述の実施の形態と同様に、境界ＦＦを抽出し、抽出結果を境界ＦＦインタスタンスデータ４７として出力する。
【００９４】
そして、ＣＴＳ目印バッファ追加部２７は、回路構成情報としてのネットリスト・データ５１、タイミング解析結果データ５５等に基づき、バッファ（ＣＴＳ目印バッファ）を追加する。
【００９５】
図１６は、境界ＦＦ（出力側境界ＦＦおよび入力側境界ＦＦ）のタイミングマージンの多寡に基づくグループ分け、各グループに対するバッファの追加、および、クロックラインの繋ぎ換え、を説明する図である。
【００９６】
境界ＦＦ抽出部２５は、出力側境界ＦＦとして境界ＦＦ（６１ｇａおよび６１ｇｂ）を抽出し、入力側境界ＦＦとして境界ＦＦ（６３ｇａおよび６３ｇｂ）を抽出する。
【００９７】
ＣＴＳ目印バッファ追加部２７は、タイミング解析結果データ５５に基づき、タイミングマージンの多寡により出力側境界ＦＦ（６１ｇａおよび６１ｇｂ）を、ここでは、２つのグループ（６１ｇａおよび６１ｇｂ）に分けている。同様に、入力側境界ＦＦ（６３ｇａおよび６３ｇｂ）を、ここでは、２つのグループ（６３ｇａおよび６３ｇｂ）に分けている。そして、総計４つのグループそれぞれについて、バッファ（ＣＴＳ目印バッファ）（６１ｂａ、６１ｂｂ、６３ｂａ、６１ｂｂ）が追加される。
【００９８】
図１４に戻り、クロックライン再構成部２９は、上記グループのそれぞれに属する境界ＦＦのクロックに新たに追加されたバッファが接続されるように、クロックラインを繋ぎ換える。図１５を参照すれば、クロックラインの繋ぎ換えが完了した時点における回路構成が示されている。
【００９９】
本実施の形態による設計装置１０１ｂにおいては、タイミングマージンの多寡で境界ＦＦをグループ分けし、各グループのクロックラインのバッファ（ＣＴＳ目印バッファ）が該グループ単位で独立されるようにＣＴＳ目印バッファを自動的に追加する。これにより、異電源ドメイン間のタイミング収束性の改善がより一層容易になるという効果が奏される。
【０１００】
（第４の実施の形態）
次に第４の実施の形態による多電源集積回路設計装置について説明する。以下で詳細に説明する、本実施の形態による多電源集積回路設計装置では、設計の初期段階に検討され作成された、電源ドメインのおおまかな配置位置の情報であるレイアウト情報に基づき、異電源ドメインを跨ぐデータパスについてそれぞれの長さを求め、求めた長さ、回路構成情報、および、電源構成情報に基づき、抽出した境界ＦＦに対して新たなバッファの追加、および、境界ＦＦのクロックラインの当該新たなバッファへの繋ぎ換えを行う。
【０１０１】
図１７は、本実施の形態による設計装置１０１ｃの機能を表すブロック図である。設計装置１０１ｃは、予め、設計の初期段階に検討され作成された、電源ドメインのおおまかな配置位置の情報であるレイアウト情報５７を保持する。
【０１０２】
設計装置１０１ｃのＣＴＳ目印バッファ追加部２７は、境界ＦＦ抽出部２５が出力した境界ＦＦインスタンス・データ４７に加え、レイアウト情報５７を参照して、バッファの追加を行う。
【０１０３】
図１８は、ＣＴＳ目印バッファ追加部２７が行うバッファの追加を説明する例図である。ＣＴＳ目印バッファ追加部２７は、出力側境界ＦＦ（８１および８３）と入力側境界ＦＦ（８５および８７）のデータパスの長さを、レイアウト情報５７から算出する。ここでは、データパスＰａｂの長さ、データパスＰａｃの長さが算出される。算出されたデータパス長は、所定の閾値と比較される。ここでは、データパスＰａｂは該閾値よりも短く、データパスＰａｃは該閾値よりも長いと評価されたとする。
【０１０４】
図１９に示すように、ＣＴＳ目印バッファ追加部２７は、閾値よりも長いデータパスＰａｃの入力側境界ＦＦ８７に入力されるクロックラインのバッファ（ＣＴＳ目印バッファ）を独立させるように、新たなバッファを追加する。また、閾値よりも短いデータパスＰａｂにかかる境界ＦＦについては、新たなバッファを追加しない。つまり、ＣＴＳ目印バッファ追加部２７は、異電源ドメインを跨いだデータパスの長短に基づいて、新たなバッファの追加の要否を決定する。
【０１０５】
図１７に戻り、クロックライン再構成部２９は、新たに追加されたバッファと当該バッファの出力対象である境界ＦＦのクロックとが接続されるように、クロックラインを繋ぎ換える。そして、その結果をＲＴＬ記述ファイル４５に反映させる。
【０１０６】
このようにして、本実施の形態による設計回路１０１ｃは、多電源回路設計における階層レイアウトにおいても異電源ドメイン間のタイミング収束性の改善を容易にするという効果を奏する。
【０１０７】
なお、本実施の形態においても、論理合成後のネットリスト・データ５１に対して、境界ＦＦの抽出、バッファの追加、クロックラインの繋ぎ換えを行うようにしてもよい。
【０１０８】
また、上述した実施の形態それぞれの特徴を組み合わせて多電源集積回路設計装置を構成してもよい。
【０１０９】
（多電源集積回路の製造）
上述した本発明の実施の形態による多電源集積回路設計装置が出力するフロアプランおよび配線の情報を含んだＰ＆Ｒデータ（図５等における５３）に基づいて、多電源集積回路製造装置に多電源集積回路を製造させることも可能である。この場合、集積回路製造装置は、設計装置からＰ＆Ｒデータ５３（図５等）等を受け取り、当該Ｐ＆Ｒデータに基づいて、多電源集積回路用のフォトマスクパターン等を作成し、当該フォトマスクパターン等にしたがって多電源集積回路の基板上に回路パターンを形成し、必要に応じ、当該基板に対して不純物等のドーピングやエッチング等の処理を行うことにより、多電源集積回路を製造する。ここで、集積回路製造装置は、公知技術に基づいて更正された集積回路製造装置を使用することが可能である。
【産業上の利用可能性】
【０１１０】
集積回路の設計および製造分野において有用である。
【符号の説明】
【０１１１】
１      パワースイッチセル
３      アイソレーションセル
５      レベルシフタセル
１１      中央処理装置
１３ａ    主記憶装置
１３ｂ    補助記憶装置
１５      出力装置
１７      入力装置
２１      制御部
２３      ＲＴＬ生成／検証部
２５      電源ドメイン境界フリップフロップ抽出部
２７      ＣＴＳ目印バッファ追加部
２９      クロックライン再構成部
３１      論理合成部
３３      Ｐ＆Ｒ実行部
３５      ＳＴＡ部
４１      仕様情報データ
４３      電源構成記述ファイル
４５      ＲＴＬ記述ファイル
４７      境界ＦＦインスタンス・データ
４９      ライブラリ・データ
５１      ネットリスト・データ
５３      Ｐ＆Ｒデータ
５５      タイミング解析結果データ
５７      レイアウト情報データ
６１      出力側境界ＦＦ
６１ｂ    出力側境界ＦＦ群用に新たに追加されたバッファ（ＣＴＳ目印バッファ）
６１ｂａ  タイミングマージンの多寡による出力側境界ＦＦ第１グループ
６１ｂｂ  タイミングマージンの多寡による出力側境界ＦＦ第２グループ
６１ｇ    出力側境界ＦＦ群
６１ｇａ  タイミングマージンの多寡による入力側境界ＦＦ第１グループ
６１ｇｂ  タイミングマージンの多寡による入力側境界ＦＦ第２グループ
６１ｍｂ  遅延バッファ
６３      入力側境界ＦＦ
６３ｂ    入力側境界ＦＦ群用に新たに追加されたバッファ（ＣＴＳ目印バッファ）
６３ｂａ  出力側境界ＦＦ第１グループ用に新たに追加されたＣＴＳ目印バッファ
６３ｂｂ  出力側境界ＦＦ第２グループ用に新たに追加されたＣＴＳ目印バッファ
６３ｇ    入力側境界ＦＦ群
６３ｇａ  入力側境界ＦＦ第１グループ用に新たに追加されたＣＴＳ目印バッファ
６３ｇｂ  入力側境界ＦＦ第２グループ用に新たに追加されたＣＴＳ目印バッファ
６３ｍｂ  遅延バッファ
６５      抽出されたバッファ（抽出されたＣＴＳ目印バッファ）
７１      抽出されたＣＴＳ目印バッファ
７３      抽出されたＣＴＳ目印バッファ
７５      入力側境界ＦＦ群用に新たに追加されたＣＴＳ目印バッファ
８１      抽出された境界ＦＦ
８３      抽出された境界ＦＦ
８５      抽出された境界ＦＦ
８７      抽出された境界ＦＦ
Ｐａｂ    電源ドメインＡおよびＢを跨ぐデータパス
Ｐａｃ    電源ドメインＡおよびＣを跨ぐデータパス
【先行技術文献】
【特許文献】
【０１１２】
【特許文献１】特開２００８−２０４２７１号公報
【特許文献２】特開２００７−１６４４２７号公報
【図１】
2011180715.tif 000003
【図２】
2011180715.tif 000004
【図３】
2011180715.tif 000005
【図４】
2011180715.tif 000006
【図５】
2011180715.tif 000007
【図６】
2011180715.tif 000008
【図７】
2011180715.tif 000009
【図８】
2011180715.tif 000010
【図９】
2011180715.tif 000011
【図１０】
2011180715.tif 000012
【図１１】
2011180715.tif 000013
【図１２】
2011180715.tif 000014
【図１３】
2011180715.tif 000015
【図１４】
2011180715.tif 000016
【図１５】
2011180715.tif 000017
【図１６】
2011180715.tif 000018
【図１７】
2011180715.tif 000019
【図１８】
2011180715.tif 000020
【図１９】
2011180715.tif 000021