(57)【要約】【課題】チップ上の任意のレイアウト領域を切り出して再設計を行う階層設計において、チップの元の論理階層構造を保持できるようにする。【解決手段】半導体集積回路の設計装置は、チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力する入力手段と、チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化するブロック化手段と、チップの論理階層構造を切り出されたブロックに分割して落とし込み、該ブロックに対応する部分論理階層構造を生成する落とし込み手段と、切り出されたブロック毎に論理階層構造を保持した再設計を行う再設計手段と、再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行うレイアウト変更手段と、各ブロックの論理階層構造を元の論理階層構造が復元されるように統合する統合手段と、を有する。【選択図】図１
2010170418.tif 000002
【特許請求の範囲】
【請求項１】
チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力する入力手段と、
前記チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化するブロック化手段と、
前記チップの論理階層構造を前記切り出されたブロックに分割して落とし込み、前記ブロックに対応する部分論理階層構造を生成する落とし込み手段と、
前記切り出されたブロック毎に論理階層構造を保持した再設計を行う再設計手段と、
前記再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行うレイアウト変更手段と、
前記各ブロックの論理階層構造を元の論理階層構造が復元されるように統合する統合手段と、
を有することを特徴とする半導体集積回路の設計装置。
【請求項２】
前記落とし込み手段により生成された部分論理階層構造と、ブロック境界端子として選択されたゲートの配置位置及び該ゲート間の配線位置の情報とともに、前記ブロック化手段により切り出されたブロック内の論理回路情報を出力する回路情報出力手段と、
前記選択されたゲートの内側の論理回路のタイミング制約を求め、タイミング制約情報を出力するタイミング制約生成手段と、
を有し、
前記再設計手段は、前記論理回路情報及び前記タイミング制約を用いて、前記論理階層構造を保持した再設計を行うことを特徴とする請求項１に記載の半導体集積回路の設計装置。
【請求項３】
チップレベルのタイミング解析、配線性解析及びシングルインテグリティ解析を行う解析手段を有し、
前記ブロック化手段は、前記解析手段による解析結果が所定の要求仕様を満たしていない場合、前記要求仕様を満たしていない箇所を含むレイアウト領域を切り出してブロック化することを特徴とする請求項１又は２に記載の半導体集積回路の設計装置。
【請求項４】
チップレベルのタイミング解析、配線性解析及びシングルインテグリティ解析を行う解析手段を有し、
前記解析手段は、前記統合手段による前記各ブロックの論理階層構造の統合が行われた後、前記各解析を行うことを特徴とする請求項１から３のいずれか１項に記載の半導体集積回路の設計装置。
【請求項５】
前記ブロック化手段により切り出された各ブロックについて、ブロック境界端子として使用するゲートを選択するゲート選択手段を有することを特徴とする請求項１から４のいずれか１項に記載の半導体集積回路の設計装置。
【請求項６】
前記ブロック化手段により切り出された各ブロックの境界とブロック境界端子として選択されたゲートとの間に存在する論理回路のレイアウトを固定するレイアウト固定手段を有することを特徴とする請求項１から５のいずれか１項に記載の半導体集積回路の設計装置。
【請求項７】
チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力するステップと、
前記チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化するステップと、
前記チップの論理階層構造を前記切り出したブロックに分割して落とし込み、前記ブロックに対応する部分論理階層構造を生成するステップと、
前記切り出したブロック毎に論理階層構造を保持した再設計を行うステップと、
前記再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行うステップと、
前記各ブロックの論理階層構造を元の論理階層構造が復元されるように統合するステップと、
を有することを特徴とする半導体集積回路の設計方法。
【請求項８】
コンピュータに、
チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力する処理と、
前記チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化する処理と、
前記チップの論理階層構造を前記切り出したブロックに分割して落とし込み、前記ブロックに対応する部分論理階層構造を生成する処理と、
前記切り出したブロック毎に論理階層構造を保持した再設計を行う処理と、
前記再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行う処理と、
前記各ブロックの論理階層構造を元の論理階層構造が復元されるように統合する処理と、
を実行させることを特徴とするプログラム。
【請求項９】
請求項８に記載のプログラムを記録しコンピュータ読み取り可能なことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計装置、その設計方法、プログラム及び記録媒体に関し、特に、階層的な設計を行う装置及び方法に関する。
【背景技術】
【０００２】
半導体集積回路の階層設計では、設計対象の回路を複数の部分回路（以後、ブロックとも呼ぶ）に分割し、各ブロックを設計した後、全てのブロックをひとつに統合することにより全体の設計を完成させる方法が採用されている。階層設計手法には、このような分割統治設計を行うことにより、一括処理、一括最適化が困難な大規模集積回路の設計を小メモリ、短時間で効率よく行うことができるというメリットがある。そして、当該手法を用いた階層設計装置の例が、例えば特許文献１や特許文献２に記載されている。
【０００３】
ここで、階層設計において、問題を分割して解くための処理について図１２を参照して説明する。図１２に示す例では、ゲート１０４、フリップフロップ１０５等を備えるブロック１（１０１）及びブロック２（１０２）についての階層設計を行う場合の処理について示すものであり、下記２つの処理が必要となる。
１．各ブロックの境界端子１０３の生成と位置決定
２．各ブロックの境界端子１０３に接続する論理回路のタイミング制約の決定（ブロック１（１０１）におけるタイミング制約１０６、ブロック２（１０２）におけるタイミング制約１０７及び各ブロック間の遅延１０８で定義されるタイミング制約１１０が本来のタイミング制約１０９を満たすものとする処理）
【０００４】
これまでの階層設計装置においては、回路の分割は主として論理設計階層に基づいて行われ、回路分割後の階層処理は、ボトムアップあるいはトップダウンのいずれかの方法で行われている。ボトムアップ階層設計方法では、まず、ブロック毎に内部のレイアウト設計を行い、次に、設計済みブロックをチップ上に配置し（位置や回転方向の決定を含む）、その間のブロック間配線を行い、チップ設計を完了する。一方、トップダウン階層設計手法では、まず、チップ上のブロックの位置を決めた後、ブロック間の配線が最適となるように各ブロックの入出力境界端子位置を決定し、ブロック間の配線設計を行う。次に、ブロック毎にブロック内部の設計を行い、チップ設計を完了する。
【０００５】
ボトムアップ階層設計手法には、ブロックの境界端子位置を、各ブロックが１チップ上に集積された時点での位置関係を考慮して決めることが不可能なため、ブロック間配線長が増大し、配線が困難になってしまう、あるいは、配線遅延が大きくなってしまうという問題がある。また、トップダウン階層設計手法は、ブロック端子位置が、ブロック内部の論理構造を考慮して決められていないため、その状態でブロック内のレイアウト設計を行っても、ブロック端子位置が不適切となり、配線不可能になってしまう、あるいは、タイミング制約を満たすレイアウトを得ることができなくなる可能性がある、という問題点がある。
【０００６】
このように、上述したボトムアップまたはトップダウン階層設計方法には、本来一括して最適化すべき問題が分割されることにより、結果の全体的な最適性が失われてしまうという問題が存在する。また、各ブロックの設計を統合し、全体の設計を終了した時点で、タイミング制約違反、配線性違反、またはシグナルインテグリティ違反が生じている場合、違反箇所の局所的かつインクリメンタルな再設計を行う必要があるが、その違反が複数のブロックにまたがっている場合、これまでの論理階層を基本とした階層設計手法では、チップ全体を設計対象として、再設計処理を行う必要があり、使用メモリと処理時間が大きくなってしまうという問題が存在する。なぜなら、論理階層を基本とした回路分割手法では、違反箇所を含む最適化に適切な規模のブロックを切り出すことが必ずしも可能ではないためである。
【０００７】
このような問題に対処するために、特許文献３では、チップのゲートレベル配置または配線終了後、チップ上の任意のレイアウト領域を１つまたは複数切り出してそれぞれをブロック化し、前記切り出したブロック毎に再設計を行い、前記ブロック化した領域の設計を、前記再設計による結果と置換して、チップのレイアウト設計変更を行う方法が提案されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１９２２２７号公報
【特許文献２】特開２００４−３０２８１９号公報
【特許文献３】特開２００７−２５７２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献３で提案された「チップ上の任意のレイアウト領域を切り出して再設計を行う方法」は、問題分割により結果の全体最適性が失われてしまうという階層設計の問題点を解決することが可能であるが、その反面、チップの元の論理階層が崩れてしまい、フラットな設計データになってしまうという課題が存在する。
【００１０】
半導体集積回路は、通常、図１３及び図１４に示すような論理階層構造を持っている。図１３は論理階層構造をツリーで表現した図であり、図１４は論理改造構造をチップ上のレイアウトイメージで表現した図である。この例では、チップは論理モジュールＡ、Ｂ、Ｃからなり、Ａ、Ｂ、Ｃのそれぞれが更に階層構造を持っていることを示している。
【００１１】
ここで、チップ上の任意のレイアウト領域を切り出して再設計を行う場合、まず、設計データは、図１５及び図１６に示すように、論理階層構造が展開され、フラット化される。次に、図１７及び図１８に示すように、論理階層構造を考慮することなく、領域が切り出され、それぞれの領域がブロック化される。ここでは、チップから３つの領域がブロックとして切り出されていることを示している。次に、図１９に示すように、それぞれのブロックの再設計を行い、最後に、図２０及び図２１に示すように、再設計結果を統合して最終のチップ設計データを得る。図２０及び図２１に示すように最終チップデータは、図１３及び図１４の論理階層構造が展開されてしまい、保存されていない。
【００１２】
チップ設計では、再設計後のチップの論理が元のチップの論理と一致していることを検証する必要があるが、通常、この検証は、論理階層モジュール毎に行われることが多い。すなわち、図１３及び図１４の例では、論理モジュールＡ、Ｂ、Ｃ毎に、論理の検証を行う必要がある。このため、最終設計結果が元の論理階層を保持していないと、元のチップと、任意にレイアウト領域を切り出して再設計を行った結果のチップで、その論理の一致を検証することが困難になってしまうことになる。
【００１３】
本発明は、上述したような従来の技術が有する課題に鑑みてなされたものであって、チップ上の任意のレイアウト領域を切り出して再設計を行う階層設計において、チップの元の論理階層構造を保持できるようにすることを目的とする。
【課題を解決するための手段】
【００１４】
本発明の半導体集積回路の設計装置は、チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力する入力手段と、チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化するブロック化手段と、チップの論理階層構造を切り出されたブロックに分割して落とし込み、該ブロックに対応する部分論理階層構造を生成する落とし込み手段と、切り出されたブロック毎に論理階層構造を保持した再設計を行う再設計手段と、再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行うレイアウト変更手段と、各ブロックの論理階層構造を元の論理階層構造が復元されるように統合する統合手段と、を有する。
【００１５】
本発明の半導体集積回路の設計方法は、チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力するステップと、チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化するステップと、チップの論理階層構造を切り出したブロックに分割して落とし込み、該ブロックに対応する部分論理階層構造を生成するステップと、切り出したブロック毎に論理階層構造を保持した再設計を行うステップと、再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行うステップと、各ブロックの論理階層構造を元の論理階層構造が復元されるように統合するステップと、を有する。
【００１６】
本発明のプログラムは、コンピュータに、チップのゲートレベルの配置又は配線を示すチップレイアウト情報を入力する処理と、チップレイアウト情報に示されるチップ上の任意のレイアウト領域を切り出してブロック化する処理と、チップの論理階層構造を切り出したブロックに分割して落とし込み、該ブロックに対応する部分論理階層構造を生成する処理と、切り出したブロック毎に論理階層構造を保持した再設計を行う処理と、再設計による各ブロックの結果を、対応する元のチップ上のレイアウト領域に置き換え、チップのレイアウト変更を行う処理と、各ブロックの論理階層構造を元の論理階層構造が復元されるように統合する処理と、を実行させる。
【００１７】
本発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１８】
本発明によれば、チップ上の任意のレイアウト領域を切り出して再設計を行う階層設計において、チップの元の論理階層構造を保持することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る半導体集積回路の設計装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る半導体集積回路の設計装置の動作概要を説明するための図である。
【図３】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（入力されたチップレイアウトを示した図）である。
【図４】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（ブロック領域が選択された状態を示した図）である。
【図５】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（再設計用ブロックとして切り出された状態を示した図）である。
【図６】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（再設計用ブロックの論理階層構造を示した図）である。
【図７】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（論理階層構造を保持した再設計後のブロックの状態を示した図）である。
【図８】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（再設計後ブロックの論理階層構造を示した図）である。
【図９】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（再設計後ブロックがチップ上に統合された状態を示した図）である。
【図１０】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（チップの元の論理階層構造が復元された状態を示した図（レイアウト））である。
【図１１】本発明の実施形態に係る半導体集積回路の設計装置の各動作を説明するための図（チップの元の論理階層構造が復元された状態を示した図（ツリー））である。
【図１２】分割統治による階層設計方法の処理を説明するための図である。
【図１３】チップの論理階層構造をツリーで表現した図である。
【図１４】チップの論理階層構造をレイアウトで表現した図である。
【図１５】展開したチップの論理階層構造をツリーで表現した図である。
【図１６】展開したチップの論理階層構造をレイアウトで表現した図である。
【図１７】選択されたブロック領域を示した図である。
【図１８】再設計用ブロックを示した図である。
【図１９】再設計後のブロックを示した図である。
【図２０】再設計後ブロックの論理階層構造をツリーで表現した図である。
【図２１】再設計後ブロックの論理階層構造をレイアウトで表現した図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【００２１】
図１は、本発明の実施形態である半導体集積回路の設計装置の構成をその動作とともに示す図である。本実施形態の設計装置は、図１に示すように、チップレイアウト情報入力手段４０１と、タイミング・配線性・シグナルインテグリティ解析手段４０２と、タイミング制約充足性・配線性・シグナルインテグリティ判定手段４０３と、任意レイアウト領域ブロック化手段４０４と、論理階層構造のブロックへの落とし込み手段４０５と、境界端子用ゲート選択手段４０６と、ブロック境界論理回路レイアウト固定手段４０７と、ブロック内回路情報出力手段４０８と、ブロックタイミング制約生成手段４０９と、論理階層構造を保持した再設計手段４１０と、チップレイアウト変更手段４１１と、各ブロックの論理階層構造の統合手段４１２と、を有する。
【００２２】
なお、本実施形態の設計装置は、特に図示はしないが、制御装置、記憶装置、入力装置及び表示装置からなる一般的なコンピュータにより構成されるものである。そして、上記の各手段は、記憶装置に格納されたプログラムにより動作する制御装置により、ＲＯＭ、ＲＡＭ等の記憶装置上に構築され、概略、以下のように動作する。
【００２３】
チップレイアウト情報入力手段４０１は、設計対象となるチップの配置後または配線後の情報を記憶装置に入力する。
【００２４】
タイミング解析・配線性・シグナルインテグリティ解析手段４０２は、チップレイアウト情報入力手段４０１により入力された回路に対して、チップ全体のタイミング解析、配線性解析、シグナルインテグリティ解析を行う。入力された回路の状態が配置後の場合は、ゲート配置位置に基づいて、スタイナ木、最小木を生成して配線経路を見積もり、配線遅延、配線性、シグナルインテグリティの解析を行う。入力された回路の状態が配線後の場合は、入力された実配線結果に基づいて配線遅延、配線性、シグナルインテグリティの解析を行う。
【００２５】
タイミング制約充足性・配線性・シグナルインテグリティ判定手段４０３は、タイミング解析及び配線性解析の結果に基づいて、結果が要求仕様を満たしているかどうかを調べ、要求仕様を満たしていれば処理を終了、満たしていなければ処理を継続、という判断を下す。
【００２６】
任意レイアウト領域ブロック化手段４０４は、タイミングエラー、配線エラーあるいはシグナルインテグリティエラーを生じている箇所を包含する矩形領域を切り出し、ブロック化する。この場合のブロック領域の選択方法としては、任意レイアウト領域ブロック化手段４０４が自動で選択する方法と、ＧＵＩ上で設計者が指定することにより選択する方法がある。ブロック化する領域は１つのみとは限らず、チップ上の複数箇所で、タイミングエラー、配線エラー、シグナルインテグリティエラーを起こしている場合は、各エラーを起こしている領域を包含する複数の領域を同時にブロック化する。ただし、複数の領域を同時にブロック化する場合は、領域間に重なりが生じないような領域の集合を選択する。
【００２７】
論理階層構造のブロックへの落とし込み手段４０５は、チップの論理階層構造を分割して、任意レイアウト領域ブロック化手段４０４で生成されたブロックに対応する部分論理階層構造を生成する。
【００２８】
境界端子用ゲート選択手段４０６は、任意レイアウト領域ブロック化手段４０４が切り出した各ブロックについて、ブロック境界端子として使用するゲートを選択する。ブロック境界端子として使用するゲートとしては、ブロック境界から設計者が指定した段数番目にあるゲート、あるいはブロック境界から内部の論理回路をたどり最初に現れるフリップフロップを選択する。
【００２９】
ブロック境界論理回路レイアウト固定手段４０７は、ブロック境界と境界端子用ゲート選択手段４０６で境界端子として選択されたゲートの間に存在する論理回路のレイアウトを固定する。チップレイアウト情報入力手段４０１で入力されたチップの状態が配置後の場合は、ゲートの配置位置を固定し、チップレイアウト情報入力手段４０１で入力されたチップの状態が配線後の場合は、ゲートの配置位置とゲート間の配線を固定する。
【００３０】
ブロック内回路情報出力手段４０８は、任意レイアウト領域ブロック化手段４０４で生成したブロック内部の論理回路情報に、論理階層構造のブロックへの落とし込み手段４０５が生成した部分論理階層構造と、境界端子用ゲート選択手段４０６で固定した配置配線情報を付加して、レイアウトツール用標準インタフェイスファイルの形式で出力する。
【００３１】
ブロックタイミング制約生成手段４０９は、本来のタイミング制約から境界端子用ゲート選択手段４０５で配置配線を固定した部分の遅延を減じた値を、ブロック境界端子として選択したゲートの内側の論理回路に対するタイミング制約として、レイアウト用標準インタフェイス形式で出力する。
【００３２】
論理階層構造を保持した再設計手段４１０は、任意レイアウト領域ブロック化手段４０４で切り出されたブロックの論理階層構造を保持した再設計を、ブロック内回路情報出力手段手段４０８で生成した論理回路情報とブロックタイミング制約生成手段手段４０９で生成したタイミング制約を用い、外部の配置配線ツールを用いて行う。任意レイアウト領域ブロック化手段４０４で複数のブロックが切り出されている場合、これらのブロックは外部の配置配線ツールを用いて並列に再設計を行うことが可能である。
【００３３】
チップレイアウト変更手段４１１は、論理階層構造を保持した再設計手段４１０で再設計された各ブロックの結果を、対応する元のチップ上のレイアウト領域に置換入力することによりチップレイアウトを変更する。
【００３４】
各ブロックの論理階層構造の統合手段４１２は、各ブロックの部分論理階層構造を統合し、元のチップの論理階層構造を復元する。
【００３５】
以上の動作の概要を図２に示す。まず、タイミング違反等、設計上の問題がある部分５０１を特定し、該部分５０１を包含する矩形領域をブロック化する領域５０２として指定する。次に、指定された領域５０２を切り出してブロック化してブロック５０３とする。このとき、チップの論理階層構造を分割して、ブロックに落とし込む。切り出されたブロック５０３に対して、ブロック境界周囲のレイアウトを固定してブロック境界論理回路５０４を作成し、論理階層構造を保持した内部回路の再設計を行って再設計結果５０５を得る。最後に、再設計結果をチップに置換入力し、論理階層構造を統合することにより変更されたチップレイアウト変更結果５０６を得る。
【００３６】
次に、図１、図３から図１１を参照して本実施形態の設計装置が行う全体の動作について詳細に説明する。
【００３７】
まず、チップレイアウト情報入力手段４０１により、チップレイアウト６０１の情報が入力される（図３）。
【００３８】
次に、タイミング・配線性・シグナルインテグリティ解析手段４０２により、チップレイアウト６０１中のタイミング解析、配線性解析、シグナルインテグリティ解析を行う。タイミング、配線、シグナルインテグリティのいずれかに違反が生じている場合、タイミング制約充足性・配線性・シグナルインテグリティ判定手段４０３は、処理を継続すべきと判断し、任意レイアウト領域ブロック化手段４０４は、制約違反部分を包含する領域１、領域２、領域３を選択し（図４）、それぞれブロック１、ブロック２、ブロック３のように再設計用のブロックとして切り出す（図５）。
【００３９】
このとき、論理階層構造のブロックへの落とし込み手段４０５は、チップの論理階層構造を分割して、任意レイアウト領域ブロック化手段４０４で生成されたブロックに対応する部分論理階層構造を生成する（図６）。
【００４０】
次に、境界端子用ゲート選択手段４０６は、ブロック境界から指定された段数目にあるゲートをブロック境界端子として選択し、ブロック境界論理回路レイアウト固定手段４０７は、ブロック境界端子として選択されたゲートとブロックの境界にいたる経路をレイアウト固定部分とし、この中の回路のレイアウトを固定する。
【００４１】
図５におけるブロック内論理回路情報は、境界周辺回路の固定レイアウト情報及び図６の部分論理階層構造とともに、ブロック内回路情報出力手段４０８によってレイアウトツール用標準インタフェイスファイルの形式で出力される。
【００４２】
ブロックタイミング制約生成手段４０８は、境界端子として固定したゲートの内側の論理回路に対する制約を、本来のタイミング制約から境界端子用ゲート選択手段４０５で配置配線を固定した部分の実際の遅延時間である実遅延を減じた値を、ブロック境界端子として選択したゲートの内側の論理回路のタイミング制約として、レイアウト用標準インタフェイス形式で出力する。
【００４３】
以上のようにして、任意レイアウト領域ブロック化手段４０４で切り出されたブロック１、ブロック２は、論理回路情報、部分的配置配線情報及びタイミング制約情報を含むファイルに変換され、このファイルを入力として、外部の「論理階層構造を保持した配置配線ツール」により、論理階層構造を保持した再設計手段４１０にて各ブロック内の再設計が行なわれる。この再設計処理自体は従来から提案されている配置配線手法を用いて行うことが可能である。図７は、ブロック１、ブロック２、ブロック３に対して、それぞれ、論理階層構造を保持した再設計を行った例である。図８は、ブロック１、ブロック２、ブロック３の再設計後の論理階層構造を示している。
【００４４】
任意レイアウト領域ブロック化手段４０４で複数のブロックが切り出されている場合、これらのブロックは外部の配置配線ツールを用いて並列に再設計を行うことが可能である。チップレイアウト変更手段４１１は、外部レイアウトツールで再設計した各ブロックの結果を、対応する元のチップ上のレイアウト領域に置換入力することによりチップレイアウトを変更する。
【００４５】
各ブロックの論理階層構造の統合手段４１２は、各ブロックの部分論理階層構造を統合し、元のチップの論理階層構造を復元する。
【００４６】
まず、図９に示すように各ブロックをチップ上に統合し、次に、図１０に示すように、各ブロックの論理階層構造を組み換え、チップの元の論理階層構造を復元する。図１１は、図２０の論理階層構造をツリーで表現した図であり、図１３に示すチップの元の論理階層構造が復元されていることが分かる。
【００４７】
次に、レイアウト変更されたチップのタイミング充足性、配線性、及びシグナルインテグリティの解析がタイミング・配線性・シグナルインテグリティ解析手段４０２により再度実行され、違反が生じている場合は、図４における領域１、領域２、領域３とは異なる領域がブロックとして切り出され、上述と同様のブロック再設計、チップ上への置換入力が行われる。この処理が、タイミング制約充足性・配線性・シグナルインテグリティ判定手段４０３において、タイミング制約違反なし、配線性違反なし、シグナルインテグリティ違反なし、と判断されるまで繰り返される。
【００４８】
上記実施形態で説明したように、本発明では、チップ上の任意のレイアウト領域を１つまたは複数切り出してそれぞれをブロック化する際に、元のチップの全体の論理階層構造が分割されて、各ブロックに落とし込まれるため、各ブロックの再設計時に、元の論理階層構造を考慮して、論理階層構造を崩さない再設計が可能となる。そして、再設計後の各ブロックが、元の論理階層構造を保持しているため、再設計したブロックを元のチップの対応する領域の設計と置換する際に、各ブロックの論理階層を統合することにより、元のチップの論理階層構造を復元することが可能となる。
【００４９】
また、本発明では、タイミング解析、配線性解析、シグナルインテグリティ解析に基づいて、任意のレイアウト領域ブロック化し、再設計を行うことによって、チップの元の論理階層構造を崩すことなく、論理階層をまたがる回路の一括最適化を行うことが可能となる。
【００５０】
また、本発明では、任意のレイアウト領域のブロック化とその最適化を繰り返すことによって、チップ全体を処理対象とすることなく、また論理階層構造を崩すことなく、回路の全体的な最適化を行うことが可能となる。
【００５１】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００５２】
すなわち、本実施形態の設計装置を構成するコンピュータで実行されるプログラムは、先に述べた各手段（任意レイアウト領域ブロック化手段４０４、論理階層構造のブロックへの落とし込み手段４０６、論理階層構造を保持した再設計手段４１０、チップレイアウト変更手段４１１、各ブロックの論理階層構造の統合手段４１２）を含むモジュール構成となっており、実際のハードウエアを用いて具体的手段を実現する。すなわち、制御装置（ＣＰＵ）が記憶装置に格納されたプログラムを読み出して実行することにより、上記各手段が主記憶装置上にロードされて構築される。
【００５３】
本実施形態の設計装置を構成するコンピュータで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００５４】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００５５】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【符号の説明】
【００５６】
４０１    チップレイアウト情報入力手段
４０２    タイミング・配線性・シグナルインテグリティ解析手段
４０３    タイミング制約充足性・配線性・シグナルインテグリティ判定手段
４０４    任意レイアウト領域ブロック化手段
４０５    論理階層構造のブロックへの落とし込み手段
４０６    境界端子用ゲート選択手段
４０７    ブロック境界論理回路レイアウト固定手段
４０８    ブロック内回路情報出力手段
４０９    ブロックタイミング制約生成手段
４１０    論理階層構造を保持した再設計手段
４１１    チップレイアウト変更手段
４１２    各ブロックの論理階層構造の統合手段
５０１    設計上の問題がある部分
５０２    ブロック化する領域
５０３    切り出されたブロック
５０４    ブロック境界論理回路
５０５    再設計結果
５０６    チップレイアウト変更
【図１】
2010170418.tif 000003
【図２】
2010170418.tif 000004
【図３】
2010170418.tif 000005
【図４】
2010170418.tif 000006
【図５】
2010170418.tif 000007
【図６】
2010170418.tif 000008
【図７】
2010170418.tif 000009
【図８】
2010170418.tif 000010
【図９】
2010170418.tif 000011
【図１０】
2010170418.tif 000012
【図１１】
2010170418.tif 000013
【図１２】
2010170418.tif 000014
【図１３】
2010170418.tif 000015
【図１４】
2010170418.tif 000016
【図１５】
2010170418.tif 000017
【図１６】
2010170418.tif 000018
【図１７】
2010170418.tif 000019
【図１８】
2010170418.tif 000020
【図１９】
2010170418.tif 000021
【図２０】
2010170418.tif 000022
【図２１】
2010170418.tif 000023