(57)【要約】【課題】チップやブロックを対象として半導体集積回路のレイアウト設計を行う場合に用いる半導体集積回路のレイアウト方法に関し、レイアウトを最初からやり直すことなく、レイアウト途中でチップやブロックのサイズ変更を行うことができるようにし、レイアウトのＴＡＴを短縮化することができるようにする。【解決手段】ブロッケージ作成プログラムを使用してＶ／Ｈブロッケージ２、３を作成する。そして、配置・配線領域が不足したときは、ブロッケージ縮小・削除プログラムを使用してＶ／Ｈブロッケージ２、３の縮小又は削除を行い、不足領域を補う。新たに配置・配線領域を必要としない状態になったときは、コンパクション処理プログラムを使用してＶ／Ｈブロッケージ２、３の領域を削除してチップのコンパクション処理を行う。【選択図】          図１
2005293449.tif 000002
【特許請求の範囲】
【請求項１】
表示装置面に作成されたレイアウト領域に仮領域設定用ブロッケージを作成するブロッケージ作成手段と、
指示された仮領域設定用ブロッケージの縮小又は削除を行うブロッケージ縮小・削除手段と、
指示された仮領域設定用ブロッケージ領域を削除してレイアウト領域のコンパクション処理を行うコンパクション処理手段を有する
ことを特徴とする半導体集積回路のレイアウト装置。
【請求項２】
前記仮領域設定用ブロッケージの配置可能面積を計算する仮領域設定用ブロッケージ配置可能面積計算手段を有する
ことを特徴とする請求項１記載の半導体集積回路のレイアウト装置。
【請求項３】
表示装置面に作成されたレイアウト領域に仮領域設定用ブロッケージがコンピュータにより作成されるブロッケージ作成工程を有し、
必要に応じて、仮領域設定用ブロッケージの縮小又は削除や、仮領域設定用ブロッケージ領域の削除及び前記レイアウト領域のコンパクション処理が前記コンピュータにより行われる
ことを特徴とする半導体集積回路のレイアウト方法。
【請求項４】
前記仮領域設定用ブロッケージとして、縦方向に延びる帯形状を有する垂直ブロッケージと、横方向に延びる帯形状を有する水平ブロッケージが使用される
ことを特徴とする請求項３記載の半導体集積回路のレイアウト方法。
【請求項５】
レイアウト領域に仮領域設定用ブロッケージを作成するブロッケージ作成手段と、
配置あるいは配線領域として必要となった領域の仮領域設定用ブロッケージの縮小又は削除を行って空いた領域で配置あるいは配線を行うブロッケージ縮小・削除手段と、
配置及び配線領域として不要となった領域の仮領域設定用ブロッケージを削除して空いた領域のコンパクション処理を行うコンパクション処理手段を有することを特徴とする半導体集積回路のレイアウト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップやブロックを対象として半導体集積回路のレイアウト設計を行う場合に使用して好適な半導体集積回路のレイアウト装置及び方法に関する。
【背景技術】
【０００２】
図１７は従来の半導体集積回路のレイアウト方法の一例を示すフローチャートであり、Ｓ１〜Ｓ１４は工程番号を示している。図１７に示す従来の半導体集積回路のレイアウト方法では、チップ（ブロック）サイズの見積もり、Ｉ／Ｏセル・マクロ配置、電源配線、ユニットセル配置、信号配線、クロックツリー挿入、タイミング解析、タイミングＥＣＯ（engineering change orders）が順に実施される（ステップＳ１〜Ｓ１４）。
【０００３】
タイミングＥＣＯでは、まず、ネットリスト作成、ユニットセル配置、ユニットセル配置が破綻したか否かの判断が順に実施される（ステップＳ８〜Ｓ１０）。ユニットセル配置が破綻したと判断される場合には、チップ（ブロック）サイズを変更しないと、ユニットセル配置破綻が回避できないものとし、ステップＳ１に戻り、チップ（ブロック）サイズの再見積もりが行われる。
【０００４】
ユニットセル配置が破綻していないと判断される場合には、信号配線、信号配線が破綻したか否かの判断が順に実施される（ステップＳ１１、Ｓ１２）。信号配線が破綻したと判断される場合には、チップ（ブロック）サイズを変更しないと、信号配線の破綻が回避できないものとし、ステップＳ１に戻り、チップ（ブロック）サイズの再見積もりが行われる。
【０００５】
信号配線が破綻していないと判断される場合には、タイミング解析が行われ、タイミングエラーがあるか否かが判断される（ステップＳ１３、Ｓ１４）。タイミングエラーがないと判断された場合には、タイミングＥＣＯは完了とされ、レイアウトは終了する。これに対して、タイミングエラーがあると判断された場合には、２回目のタイミングＥＣＯが行われる。なお、この例では、タイミングＥＣＯは、タイミングエラーがなくなるまで行われる。
【０００６】
このように、図１７に示す従来の半導体集積回路のレイアウト方法では、レイアウト途中で配置又は配線が破綻した場合、ステップＳ１に戻り、チップ（ブロック）サイズの再見積もりを行い、チップ（ブロック）サイズを大きくし、レイアウトを最初からやり直すことになる。この場合、出戻りにより、ＴＡＴ（turn-around time）は大幅に増大することになる。
【０００７】
また、図１７に示す従来の半導体集積回路のレイアウト方法では、レイアウト途中で配置・配線に余裕があり、チップ（ブロック）サイズの縮小化が可能であることが判明した場合においても、チップ（ブロック）サイズの縮小化を行うためには、ステップＳ１に戻り、チップ（ブロック）サイズを小さくし、レイアウトを最初からやり直すことが必要になる。この場合も、出戻りにより、ＴＡＴは大幅に増大する。
【０００８】
なお、レイアウト設計時におけるチップサイズの縮小化手法として、例えば、チップに相当する領域に基本セルを水平方向及び垂直方向に規則的に配列し、論理回路を構成するように配線設計を行った後、未使用の基本セルを削除し、チップに相当する領域を縮小する技術が提案されている（特許文献１参照）。
【特許文献１】特開昭６０―２６２４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述したように、図１７に示す従来の半導体集積回路のレイアウト方法では、レイアウト途中でチップ（ブロック）サイズの変更を行う場合、チップ（ブロック）サイズを大きくする場合であっても、小さくする場合であっても、チップ（ブロック）サイズ見積もり工程に戻り、レイアウトを最初からやり直さなければならないため、チップ（ブロック）サイズ変更によるＴＡＴが大幅に増大するという問題点があった。
【００１０】
本発明は、かかる点に鑑み、レイアウトを最初からやり直すことなく、レイアウト途中でレイアウト領域のサイズ変更を行うことができるようにし、レイアウトのＴＡＴを短縮化することができるようにした半導体集積回路のレイアウト装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の半導体集積回路のレイアウト装置は、表示装置面に作成されたレイアウト領域に仮領域設定用ブロッケージを作成するブロッケージ作成手段と、指示された仮領域設定用ブロッケージの縮小又は削除を行うブロッケージ縮小・削除手段と、指示された仮領域設定用ブロッケージ領域を削除してレイアウト領域のコンパクション処理を行うコンパクション処理手段を有するものである。
【００１２】
本発明の半導体集積回路のレイアウト方法は、表示装置面に作成されたレイアウト領域に仮領域設定用ブロッケージがコンピュータにより作成されるブロッケージ作成工程を有し、必要に応じて、仮領域設定用ブロッケージの縮小又は削除や、仮領域設定用ブロッケージ領域の削除及びレイアウト領域のコンパクション処理がコンピュータにより行われるものである。
【発明の効果】
【００１３】
本発明の半導体集積回路のレイアウト装置によれば、ブロッケージ作成手段を介して、仮領域設定用ブロッケージを作成することができる。そして、レイアウト中に配置・配線領域が不足したときは、ブロッケージ縮小・削除手段を介して、指示した仮領域設定用ブロッケージの縮小又は削除を行うことで不足領域を補うことができる。
【００１４】
また、新たに配置・配線領域を必要としない状態になったときは、コンパクション処理手段を介して、指示した仮領域設定用ブロッケージ領域を削除してレイアウト領域のコンパクション処理を行うことができる。
【００１５】
また、本発明の半導体集積回路のレイアウト方法によれば、レイアウト領域に仮領域設定用ブロッケージがコンピュータにより作成される。そして、必要に応じて、仮領域設定用ブロッケージの縮小又は削除がコンピュータにより行われる。レイアウト中に配置・配線領域が不足したときは、この工程により、配線・配置領域の不足領域を補うことができる。
【００１６】
また、必要に応じて、仮領域設定用ブロッケージ領域の削除及びレイアウト領域のコンパクション処理がコンピュータにより行われる。新たに配置・配線領域を必要としない状態になったときは、この工程により、レイアウト領域のコンパクション処理を行うことができる。
【００１７】
したがって、本発明の半導体集積回路のレイアウト装置によっても、本発明の半導体集積回路のレイアウト方法によっても、レイアウトを最初からやり直すことなく、レイアウト途中でレイアウト領域のサイズ変更を行うことができるので、レイアウトのＴＡＴの短縮化を図ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図１〜図１６を参照して、本発明の半導体集積回路のレイアウト装置及び方法の一実施形態について説明する。
【００１９】
本発明の半導体集積回路のレイアウト装置の一実施形態は、本発明の半導体集積回路のレイアウト方法の一実施形態を実行するための装置であるが、本発明の半導体集積回路のレイアウト方法の一実施形態においては、仮領域設定用ブロッケージとして、Ｖ（垂直）ブロッケージ及びＨ（水平）ブロッケージを使用する。そこで、まず、Ｖ／Ｈブロッケージについて説明する。
【００２０】
図１はＶ／Ｈブロッケージの形状を示す平面図である。図１中、１は表示装置面に表示されたレイアウト領域であるチップ、２はチップ１上に配置されたＶブロッケージ、３はチップ１上に配置されたＨブロッケージである。Ｖブロッケージ２は、縦方向に延びる帯形状を有し、チップ１を縦方向に横切るように配置されて使用される。Ｈブロッケージ３は、チップ１を横方向に延びる帯形状を有し、チップ１を横方向に横切るように配置されて使用される。
【００２１】
ここで、Ｖブロッケージ２に覆われているチップ領域及びＨブロッケージ３に覆われているチップ領域は共にレイアウトの仮領域とされるが、レイアウト中に配置・配線が破綻した場合には、必要に応じて、Ｖブロッケージ２及びＨブロッケージ３のいずれか一方又は両方が削除され、削除されたブロッケージにより覆われていた仮領域はレイアウトの本領域とされる。
【００２２】
例えば、図２（Ａ）はＶブロッケージ２が削除され、Ｖブロッケージ２に覆われていた仮領域４がレイアウトの本領域とされた場合を示し、図２（Ｂ）はＨブロッケージ３が削除され、Ｈブロッケージ３に覆われていた仮領域５がレイアウトの本領域とされた場合を示している。
【００２３】
また、レイアウト途中でチップ１のコンパクション処理（サイズ縮小処理）をする場合には、Ｖブロッケージ２及びＨブロッケージ３のいずれか一方又は両方の領域が削除され（Ｖブロッケージ２及びＨブロッケージ３のいずれか一方又は両方が削除され、かつ、削除されたブロッケージに覆われていたチップ領域が削除され）、チップ１のコンパクション処理が行われる。
【００２４】
例えば、図３（Ａ）はＶブロッケージ２及びＨブロッケージ３の領域が削除された場合を示し、図３（Ｂ）はチップ１のコンパクション処理が行われた場合を示している。図３中、６〜９はＶブロッケージ２及びＨブロッケージ３の領域が削除された後のチップ１の残部を示し、１０はコンパクション処理が行われた後のチップを示している。
【００２５】
図４はＶブロッケージ領域への配置・配線の制約を説明するための平面図である。図４中、１１、１２はＩ／Ｏ（入出力）セル、１３はＲＡＭマクロ、１４、１５はＶＤＤ電源配線、１６、１７はＶＳＳ電源配線、１８はＲＯＷ、１９はＶブロッケージであり、Ｖブロッケージ１９には、セルは配置されておらず、電源配線は横方向のみが行われており、電源配線にはＶＩＡ（ビア）は打たれていない。
【００２６】
即ち、Ｖブロッケージ領域は、レイアウト途中又はレイアウトの最終段階で削除されることがあることから、Ｖブロッケージ領域には、（１）セルは配置できない、（２）配線を行うことはできるが、横方向の配線のみが許される、（３）配線にはＶＩＡを打ってはならない、という配置・配線上の制約がある。
【００２７】
図５はＨブロッケージ領域への配置・配線の制約を説明するための平面図である。図５中、２０、２１はＩ／Ｏセル、２２、２３はＶＤＤ電源配線、２４、２５はＶＳＳ電源配線、２６はＲＯＷ、２７、２８はＨブロッケージであり、Ｈブロッケージ２７、２８には、セルは配置されておらず、電源配線は縦方向のみが行われており、電源配線にはＶＩＡは打たれていない。
【００２８】
即ち、Ｈブロッケージ領域は、レイアウト途中又はレイアウトの最終段階で削除されることがあることから、Ｈブロッケージ領域には、（１）セルは配置できない、（２）配線を行うことはできるが、縦方向の配線のみが許される、（３）配線にはＶＩＡを打ってはならない、という配置・配線上の制約がある。
【００２９】
図６は本発明の半導体集積回路のレイアウト装置の一実施形態の概念図である。本発明の半導体集積回路のレイアウト装置の一実施形態はコンピュータにより構成される。図６中、２９はＣＰＵ、３０はバス、３１はキーボードやマウス等の入力手段、３２はチップ面の表示等を行う表示装置、３３は半導体集積回路のネットリストを格納する格納手段、３４は作成されるレイアウト図を格納するレイアウト格納手段である。
【００３０】
３５はチップサイズ見積プログラム格納手段、３６はＩ／Ｏセル・ＨＬＢ（Hierarchical Logic Block）・マクロ・ユニットセル等の各種セルを格納するセル格納手段、３７はセルをチップ面に配置させる配置プログラムを格納する配置プログラム格納手段、３８はＶ／Ｈブロッケージ配置可能面積計算プログラム格納手段である。
【００３１】
３９はＶ／Ｈブロッケージ作成プログラム格納手段、４０は電源配線や信号配線を作成する配線作成プログラムを格納する配線作成プログラム格納手段、４１はタイミング解析プログラム格納手段、４２はネットリスト作成プログラム格納手段、４３はＶ／Ｈブロッケージ縮小・削除プログラム格納手段、４４はコンパクション処理プログラム格納手段、４５はクロックツリー挿入プログラムを格納するクロックツリー挿入プログラム格納手段である。
【００３２】
図７〜図９は本発明の半導体集積回路のレイアウト装置の一実施形態を使用して行われる本発明の半導体集積回路のレイアウト方法の一実施形態を示すフローチャートであり、Ｐ１〜Ｐ２３は工程番号である。
【００３３】
本発明の半導体集積回路のレイアウト方法の一実施形態を行う場合には、まず、チップサイズを従来通り見積もる（ステップＰ１）。この工程は、チップサイズ見積プログラム格納手段３５に格納されているチップサイズ見積プログラムを使用し、ＣＰＵ２９をチップサイズ見積手段として、入力手段３１を介して指示することにより行うことができる。
【００３４】
次に、チップ面積が見積チップサイズよりも数％大きくなるようにチップサイズを変更する（ステップＰ２）。これは、見積チップサイズが小さすぎたために、レイアウトが途中で破綻することを防止するためである。
【００３５】
次に、Ｖ／ＨブロッケージをＶ／Ｈブロッケージ領域への配置・配線の制約に違反しないで配置できる面積（Ｖ／Ｈブロッケージ配置可能面積）が十分確保できるように、Ｉ／Ｏセル・マクロを配置する（ステップＰ３）。図１０はＩ／Ｏセル・マクロの配置例を示す平面図であり、４６はチップ、４７はＩ／Ｏセル、４８はマクロである。
【００３６】
なお、Ｉ／Ｏセル・マクロの配置は、セル格納手段３６に格納されているＩ／Ｏセル・マクロ及び配置プログラム格納手段３７に格納されている配置プログラムを使用し、ＣＰＵ２９をＩ／Ｏセル・マクロ配置手段として、入力手段３１を介して指示することにより行うことができる。
【００３７】
次に、Ｖ／Ｈブロッケージ配置可能面積は十分確保できたか否かを判断する（ステップＰ４）。なお、Ｖ／Ｈブロッケージ配置可能面積の計算は、Ｖ／Ｈブロッケージ配置可能面積計算プログラム格納手段３８に格納されているＶ／Ｈブロッケージ配置可能面積計算プログラムを使用し、ＣＰＵ２９をＶ／Ｈブロッケージ配置可能面積計算手段として、入力手段３１を介して指示することにより行うことができる。
【００３８】
そして、Ｖ／Ｈブロッケージ配置可能面積が十分に確保できなかった場合（ステップＰ４でＮＯの場合）には、本発明の半導体集積回路のレイアウト方法の一実施形態を使用したレイアウトを行うメリットが小さいため、本発明の半導体集積回路のレイアウト方法の一実施形態を利用したレイアウトを行わない。
【００３９】
これに対して、Ｖ／Ｈブロッケージ配置可能面積を十分に確保できた場合（ステップＰ４でＹＥＳの場合）には、Ｉ／Ｏセル及びマクロに重ならないように、Ｖブロッケージ及びＨブロッケージを配置する（ステップＰ５）。この場合、Ｖブロッケージは、チップを縦方向に横切るように配置し、Ｈブロッケージは、チップを横方向に横切るように配置するものとする。
【００４０】
なお、Ｖ／Ｈブロッケージの挿入量は、チップ面積からＶ／Ｈブロッケージがチップを覆う面積を差し引いた値が、見積チップサイズより小さくなるように調整する。このようにしないと、本発明の半導体集積回路のレイアウト方法の一実施形態を実行するメリットがないからである。
【００４１】
図１１はＶ／Ｈブロッケージの作成例を示す平面図であり、４９〜５２はＶブロッケージ、５３〜５７はＨブロッケージである。なお、Ｖ／Ｈブロッケージの作成は、Ｖ／Ｈブロッケージ作成プログラム格納手段３９に格納されているＶ／Ｈブロッケージ作成プログラムを使用し、ＣＰＵ２９をＶ／Ｈブロッケージ作成手段として、入力手段３１を介して指示することにより行うことができる。
【００４２】
次に、電源配線を実施する（ステップＰ６）。この場合、Ｖブロッケージには、「配線は横方向のみが許される」、「配線にはＶＩＡを打ってはならない」という制約があること、Ｈブロッケージには、「配線は縦方向のみが許される」、「配線にはＶＩＡを打ってはならない」という制約があることに留意する必要がある。なお、電源配線の作成は、配線作成プログラム格納手段４０に格納されている配線作成プログラムを使用し、ＣＰＵ２９を電源配線作成手段として、入力手段３１を介して指示することにより行うことができる。
【００４３】
次に、ユニットセル配置を実施する（ステップＰ７）。この場合、Ｖ／Ｈブロッケージには、「セルは配置できない」という制約があることに留意する必要がある。なお、ユニットセルの配置は、セル格納手段３６に格納されているユニットセル及び配置プログラム格納手段３７に格納されている配置プログラムを使用し、ＣＰＵ２９をユニットセル配置手段として行うことができる。
【００４４】
次に、クロックツリー挿入を実施する（ステップＰ８）。この場合、Ｖ／Ｈブロッケージには、「セルは配置できない」という制約があることに留意する必要がある。なお、クロックツリーの挿入は、クロックツリー挿入プログラム格納手段４５に格納されているクロックツリー挿入プログラムを使用し、ＣＰＵ２９をクロックツリー挿入手段として、入力手段３１を介して指示することにより行うことができる。
【００４５】
次に、信号配線を実施する（ステップＰ９）。この場合、Ｖブロッケージには、「配線は横方向のみが許される」、「配線にはＶＩＡを打ってはならない」という制約があること、Ｈブロッケージには、「配線は縦方向のみが許される」、「配線にはＶＩＡを打ってはならない」という制約があることに留意する必要がある。なお、信号配線の作成は、配線作成プログラム格納手段４０に格納されている配線作成プログラムを使用し、ＣＰＵ２９を信号配線作成手段として、入力手段３１を介して指示することにより行うことができる。
【００４６】
次に、タイミング解析を実施し、タイミングエラーを抽出する（ステップＰ１０）。タイミング解析は、タイミング解析プログラム格納手段４１に格納されているタイミング解析プログラムを使用し、ＣＰＵ２９をタイミング解析手段として、入力手段３１を介して指示することにより行うことができる。
【００４７】
次に、タイミングＥＣＯを実施する。タイミングＥＣＯでは、まず、ネットリストを作成する（ステップＰ１１）。例えば、ホールドエラー修正のためのバッファを追加したネットリストを作成する。ネットリストの作成は、ネットリスト作成プログラム格納手段４２に格納されているネットリスト作成プログラムを使用し、ＣＰＵ２９をネットリスト作成手段として、入力手段３１を介して指示することにより行うことができる。
【００４８】
次に、ユニットセル配置を実施する（ステップＰ１２）。例えば、追加バッファを配置する。この場合、Ｖ／Ｈブロッケージには「セルは配置できない」という制約があることに留意する必要がある。ユニットセル配置は、セル格納領域３６に格納されているユニットセル及び配置プログラム格納手段３７に格納されている配置プログラムを使用し、ＣＰＵ２９をユニットセル配置手段として、入力手段３１を介して指示することにより行うことができる。
【００４９】
次に、ユニットセル配置は破綻したか否かを判断する（ステップＰ１３）。ユニットセル配置が破綻した場合（ステップＰ１３でＹＥＳの場合）には、Ｖ／Ｈブロッケージの幅の縮小又は削除を行うことにより、ユニットセル配置スペースを確保し（ステップＰ１４）、ステップＰ１２に戻る。この場合、出戻りによるロスＴＡＴは、ほぼ直前の配置ＴＡＴのみである。
【００５０】
Ｖ／Ｈブロッケージの幅の縮小又は削除は、Ｖ／Ｈブロッケージ縮小・削除プログラム格納手段４３に格納されているＶ／Ｈブロッケージ縮小・削除プログラムを使用し、ＣＰＵ２９をＶ／Ｈブロッケージ縮小・削除手段として、入力手段３１を介して指示することにより行うことができる。
【００５１】
図１２はＶ／Ｈブロッケージの削除例を示す平面図である。Ｖ／Ｈブロッケージの幅の縮小または削除は、ユニットセル配置領域不足を補うことができる程度に行うが、図１２に示す例では、図１１に示すＶブロッケージ５０〜５２及びＨブロッケージ５４、５６が削除されている。この場合、Ｖブロッケージ５０〜５２に覆われていた領域（仮領域）及びＨブロッケージ５４、５６に覆われていた領域（仮領域）はレイアウトの本領域として扱われる。
【００５２】
ユニットセル配置は破綻したか否かの判断（ステップＰ１３）の結果、ユニットセル配置が破綻していない場合（ステップＰ１３でＮＯの場合）には、信号配線を行う（ステップＰ１５）。この場合、Ｖブロッケージには、「配線は横方向のみが許される」、「配線にはＶＩＡを打ってはならない」という制約があること、Ｈブロッケージには、「配線は縦方向のみが許される」、「配線にはＶＩＡを打ってはならない」という制約があることに留意する必要がある。
【００５３】
なお、信号配線の作成は、配線作成プログラム格納手段４０に格納されている配線作成プログラムを使用し、ＣＰＵ２９を信号配線作成手段として、入力手段３１を介して指示することにより行うことができる。
【００５４】
次に、信号配線が破綻したか否かを判断する（ステップＰ１６）。ここで、バイオレーション（Violation）が１個でもあれば、破綻と判断する。信号配線が破綻した場合（ステップＰ１６でＹＥＳの場合）には、Ｖ／Ｈブロッケージの幅の縮小又は削除を行うことにより、信号配線スペースを確保し（ステップＰ１７）、ステップＰ１２又はＰ１５に戻る。ステップＰ１２に戻る場合には、ロスＴＡＴは、多くても直前の配置・配線ＴＡＴのみであり、ステップＰ１５に戻る場合には、ロスＴＡＴは、ほぼ直前の配線ＴＡＴのみである。
【００５５】
これに対して、信号配線が破綻していない場合（ステップＰ１６でＮＯの場合）には、タイミング解析を行う（ステップＰ１８）。タイミング解析は、タイミング解析プログラム格納手段４１に格納されているタイミング解析プログラムを使用し、ＣＰＵ２９をタイミング解析手段として、入力手段３１を介して指示することにより行うことができる。
【００５６】
次に、タイミングエラーがあるか否かを判断する（ステップＰ１９）。タイミングエラーがない場合（ステップＰ１９でＮＯの場合）には、Ｖ／Ｈブロッケージが残っているか否かを判断する（ステップＰ２０）。Ｖ／Ｈブロッケージが残っていない場合には（ステップＰ２０でＮＯの場合）には、タイミングＥＣＯを完了し、レイアウトを終了する。
【００５７】
これに対して、Ｖ／Ｈブロッケージが残っている場合（ステップＰ２０でＹＥＳの場合）には、チップのコンパクション処理を行い（ステップＰ２１）、ステップＰ１８に戻る。チップのコンパクション処理は、コンパクション処理プログラム格納手段４４に格納されているコンパクション処理プログラムを使用し、ＣＰＵ２９をコンパクション処理手段として、入力手段３１を介して指示することにより行うことができる。
【００５８】
図１３及び図１４はチップのコンパクション処理例を示す平面図である。チップのコンパクション処理は、例えば、レイアウトが図１２に示す状態にある場合には、残っているＶブロッケージ４９及びＨブロッケージ５３、５５、５７の各領域を図１３に示すように削除し（Ｖブロッケージ４９及びＨブロッケージ５３、５５、５７を削除し、かつ、これらＶブロッケージ４９及びＨブロッケージ５３、５５、５７に覆われていた各チップ領域を削除し）、更に、図１４に示すように、チップ４６の残部を平行移動させ、チップサイズを縮小したチップ５８を作成することにより行う。
【００５９】
図１５はＶブロッケージの領域削除による具体的なチップのコンパクション処理例を示す平面図であり、（Ａ）はコンパクション処理前、（Ｂ）はコンパクション処理後を示している。図１５中、５９はＲＡＭ、６０はＶＤＤ電源配線、６１はＶＳＳ電源配線、６２〜６４は信号配線、６５はＲＯＷ、６６はＶブロッケージである。
【００６０】
即ち、Ｖブロッケージ６６の領域削除によるチップのコンパクション処理は、Ｖブロッケージ６６の領域を削除し、残部のチップを横方向に平行移動し、Ｖブロッケージ６６の領域削除により生じるＶブロッケージ６６の長辺部に生じる断面６６Ａ、６６Ｂを接続することにより行うことができる。この場合、Ｖブロッケージ領域に対する配置・配線上の制約を遵守している限り、チップの平行移動によって、電源配線や信号配線は問題なく接続され、電源配線や信号配線に断絶などの不都合は生じない。
【００６１】
図１６はＨブロッケージの領域削除による具体的なチップのコンパクション処理例を示すレイアウト図であり、（Ａ）はコンパクション処理前、（Ｂ）はコンパクション処理後を示している。図１６中、６７はＶＤＤ電源配線、６８はＶＳＳ電源配線、６９、７０は信号配線、７１はＲＯＷ、７２はＨブロッケージである。
【００６２】
即ち、Ｈブロッケージ７２の領域削除によるチップのコンパクション処理は、Ｈブロッケージ７２の領域を削除し、残部のチップを縦方向に平行移動し、Ｈブロッケージ７２の領域削除により生じるＨブロッケージ７２の長辺部に生じる断面７２Ａ、７２Ｂを接続することにより行うことができる。この場合、Ｈブロッケージ領域に対する配置・配線上の制約を遵守している限り、チップの平行移動によって、電源配線や信号配線は問題なく接続され、電源配線や信号配線に断絶などの不都合は生じない。
【００６３】
なお、Ｖ／Ｈブロッケージの領域を削除してチップのコンパクション処理を行う場合、これによって、配線間スペーシングエラー（例えば、ＶＤＤ電源配線とＶＳＳ電源配線の短絡）などの新たなＤＲＣ（design rule checking）エラーが発生しないように、予め、Ｖ／Ｈブロッケージの幅を決定しておく必要がある。
【００６４】
また、タイミングエラーがあったか否かの判断（ステップＰ１９）の結果、タイミングエラーがあった場合（ステップＰ１９でＹＥＳの場合）には、Ｖ／Ｈブロッケージが残っているか否かを判断する（ステップＰ２２）。
【００６５】
Ｖ／Ｈブロッケージが残っていない場合（ステップＰ２２でＮＯの場合）には、第２回目のタイミングＥＣＯを行い、Ｖ／Ｈブロッケージが残っている場合（ステップＰ２２でＹＥＳの場合）には、チップサイズ縮小処理を行っても配置・配線で破綻しないか否かを判断する（ステップＰ２３）。破綻しないと判断する場合（ステップＰ２３でＹＥＳの場合）には、ステップＰ２１に移行し、破綻すると判断する場合（ステップＰ２３でＮＯの場合）には、第２回目のタイミングＥＣＯを行う。なお、この例では、タイミングエラーがなくなるまで、タイミングＥＣＯを行う。
【００６６】
本発明の半導体集積回路のレイアウト装置及び方法の一実施形態では、チップ・レイアウトを行う場合を例にして説明したが、本発明のレイアウト装置及び方法の一実施形態はブロック・レイアウトを行う場合にも適用することができる。
【００６７】
ここで、表１、表２は同一の半導体集積回路をチップにレイアウトした場合の具体例を示すものであり、表１は本発明の半導体集積回路のレイアウト方法の一実施形態による場合、表２は図１７に示す従来の半導体集積回路のレイアウト方法による場合である。
【００６８】
表１、表２の例は、タイミングＥＣＯ中に配線で破綻し、チップサイズを大きくすることになった場合である。なお、ＣＴＳは、clock tree synthesisの略である。この例では、図１７に示す従来の半導体集積回路のレイアウト方法による場合のＴＡＴの合計は２６.２日である。これに対して、本発明の半導体集積回路のレイアウト方法の一実施形態による場合には、ＴＡＴの合計は１６.７日であり、９.５日短縮している。
【００６９】
【表１】
2005293449.tif 000003
【００７０】
【表２】
2005293449.tif 000004
【００７１】
また、表３、表４は同一の半導体集積回路（部分回路）をブロックにレイアウトした場合の具体例を示すものであり、表３は本発明の半導体集積回路のレイアウト方法の一実施形態による場合、表４は図１７に示す従来の半導体集積回路のレイアウト方法による場合である。
【００７２】
表３、表４の例は、タイミングＥＣＯの完了時に、配置・配線に余裕があり、見積ブロックサイズが大きすぎたことが判明し、ブロックサイズを小さくすることになった場合である。この例では、図１７に示す従来の半導体集積回路のレイアウト方法による場合のＴＡＴの合計は１１.７日である。これに対して、本発明の半導体集積回路のレイアウト方法の一実施形態による場合には、ＴＡＴの合計は７.２日であり、４.５日短縮している。
【００７３】
【表３】
2005293449.tif 000005
【００７４】
【表４】
2005293449.tif 000006
【００７５】
以上のように、本発明の半導体集積回路のレイアウト装置の一実施形態によれば、Ｖ／Ｈブロッケージを作成することができる。そして、レイアウト中に配置・配線領域が不足したときは、指示したＶ／Ｈブロッケージの幅の縮小又は削除を行うことで不足領域を補うことができる。また、新たに配置・配線領域を必要としない状態になったときは、指示したＶ／Ｈブロッケージの領域を削除してチップ（ブロック）サイズのコンパクション処理を行うことができる。
【００７６】
また、本発明の半導体集積回路のレイアウト方法の一実施形態によれば、本発明の半導体集積回路のレイアウト装置の一実施形態を使用し、Ｖ／Ｈブロッケージを作成するとしている。そして、配置・配線領域が不足したときは、Ｖ／Ｈブロッケージの幅の縮小又は削除を行い、不足領域を補うとしている。また、新たに配置・配線領域を必要としない状態になったときは、Ｖ／Ｈブロッケージの領域を削除してコンパクション処理を行うとしている。
【００７７】
したがって、本発明の半導体集積回路のレイアウト装置の一実施形態によっても、本発明の半導体集積回路のレイアウト方法の一実施形態によっても、レイアウトを最初からやり直すことなく、レイアウト途中でレイアウト領域のサイズ変更を行うことができるので、レイアウトのＴＡＴの短縮化を図ることができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の半導体集積回路のレイアウト方法の一実施形態で使用するＶ／Ｈブロッケージの形状を示す平面図である。
【図２】本発明の半導体集積回路のレイアウト方法の一実施形態で使用するＶ／Ｈブロッケージの機能を説明するための平面図である。
【図３】本発明の半導体集積回路のレイアウト方法の一実施形態で使用するＶ／Ｈブロッケージの機能を説明するための平面図である。
【図４】本発明の半導体集積回路のレイアウト方法の一実施形態で設定されるＶブロッケージ領域への配置・配線の制約を説明するための平面図である。
【図５】本発明の半導体集積回路のレイアウト方法の一実施形態で設定されるＨブロッケージ領域への配置・配線の制約を説明するための平面図である。
【図６】本発明の半導体集積回路のレイアウト装置の一実施形態の概念図である。
【図７】本発明の半導体集積回路のレイアウト方法の一実施形態を示すフローチャートである。
【図８】本発明の半導体集積回路のレイアウト方法の一実施形態を示すフローチャートである。
【図９】本発明の半導体集積回路のレイアウト方法の一実施形態を示すフローチャートである。
【図１０】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（Ｉ／Ｏセル・マクロの配置例を示す平面図）である。
【図１１】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（Ｖ／Ｈブロックの作成例を示す平面図）である。
【図１２】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（Ｖ／Ｈブロッケージの削除例を示す平面図）である。
【図１３】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（チップのコンパクション処理例を示す平面図）である。
【図１４】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（チップのコンパクション処理例を示す平面図）である。
【図１５】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（Ｖブロッケージの領域削除による具体的なチップのコンパクション処理例を示す平面図）である。
【図１６】本発明の半導体集積回路のレイアウト方法の一実施形態を説明するための平面図（Ｈブロッケージの領域削除による具体的なチップのコンパクション処理例を示す平面図）である。
【図１７】従来の半導体集積回路のレイアウト方法の一例を示すフローチャートである。
【符号の説明】
【００７９】
１…チップ
２…Ｖブロッケージ
３…Ｈブロッケージ
１０…サイズを縮小されたチップ
１４、１５…ＶＤＤ電源配線
１６、１７…ＶＳＳ電源配線
１９…Ｖブロッケージ
２２、２３…ＶＤＤ電源配線
２４、２５…ＶＳＳ電源配線
２７、２８…Ｈブロッケージ
２９…ＣＰＵ
３０…バス
３１…入力手段
３２…表示装置
３３…ネットリスト格納手段
３４…レイアウト格納手段
３５…チップサイズ見積プログラム格納手段
３６…セル格納手段
３７…配置プログラム
３８…Ｖ／Ｈブロッケージ配置可能面積計算プログラム格納手段
３９…Ｖ／Ｈブロッケージ作成プログラム格納手段
４０…配線作成プログラム格納手段
４１…タイミング解析プログラム格納手段
４２…ネットリスト作成プログラム格納手段
４３…Ｖ／Ｈブロッケージ縮小・削除プログラム格納手段
４４…コンパクション処理プログラム格納手段
４５…クロックツリー挿入プログラム格納手段
【図１】
2005293449.tif 000007
【図２】
2005293449.tif 000008
【図３】
2005293449.tif 000009
【図４】
2005293449.tif 000010
【図５】
2005293449.tif 000011
【図６】
2005293449.tif 000012
【図７】
2005293449.tif 000013
【図８】
2005293449.tif 000014
【図９】
2005293449.tif 000015
【図１０】
2005293449.tif 000016
【図１１】
2005293449.tif 000017
【図１２】
2005293449.tif 000018
【図１３】
2005293449.tif 000019
【図１４】
2005293449.tif 000020
【図１５】
2005293449.tif 000021
【図１６】
2005293449.tif 000022
【図１７】
2005293449.tif 000023