(57)【要約】【課題】タイミング制約違反の発生を抑え、消費電力が少なくサイズが小さい半導体チップにおけるセルの配置およびセル間の配線を設計する。【解決手段】半導体チップの配置配線方法は、基準セルの間を最短経路で接続するステップ（Ｓ１００）と、最短経路と大規模マクロセルとの重なりを抽出するステップ（Ｓ１２０）と、重なりを形成する最短経路の中で、大規模マクロセルの左右の辺を通過するセル（Ｓ１４０にてＹＥＳ）または上下の辺を通過するセル（Ｓ１８０にてＹＥＳ）を大規模マクロセルの周辺領域に優先的に配置することにより重なりを回避するステップ（Ｓ１６０、Ｓ１７０、Ｓ２００、Ｓ２１０）と、その周辺領域を配線禁止領域に設定するステップ（Ｓ２３０）と、その配線禁止領域を回避して配線を配置するステップ（Ｓ２４０）とを含む。【選択図】        図３
2004318716.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルが配置された半導体装置の配置配線方法であって、
前記セルの間を最短経路で接続する接続ステップと、
前記最短経路と特定のセルとの重なりを抽出する抽出ステップと、
前記重なりを形成する最短経路の中で、予め定められた条件を満足する経路を、前記特定のセルの周辺領域に配置させることにより前記重なりを回避する回避ステップと、
前記周辺領域を配線禁止領域に設定する設定ステップと、
前記配線禁止領域を回避して、配線を配置する配置ステップとを含む、半導体装置の配置配線方法。
【請求項２】
前記特定のセルをその上面から見た形状は直方形であって、
前記接続ステップは、前記直方形の直交する二辺のいずれかに平行な配線により、前記セルの間を最短経路で接続するステップを含む、請求項１に記載の半導体装置の配置配線方法。
【請求項３】
前記予め定められた条件は、経路が前記特定のセルの平行な二辺の両方に交わるという条件である、請求項２に記載の半導体装置の配置配線方法。
【請求項４】
前記特定のセルは、大規模マクロセルである、請求項１〜３のいずれかに記載の半導体装置の配置配線方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体装置における配置配線方法に関し、特に大規模マクロセルを有する半導体装置における配置配線方法に関する。
【０００２】
【従来の技術】
従来、半導体装置（たとえば大規模集積回路であるＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ））における自動配置配線方法は、ＬＳＩのマスク設計において人手による設計をＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）により自動化して、開発期間の短縮が行なわれてきた。
【０００３】
たとえば、従来の自動配置配線は、ＬＳＩのネット情報、ＬＳＩに使用されるブロックデータを、自動配置配線プログラムにより自動配置配線処理を実行して、ＬＳＩのマスク情報を出力する。
【０００４】
このような自動配置配線処理においては、第１の工程においてネット情報の読み込みを行ない、次に第２の工程においてブロックデータの読み込みを行ない、次に第３の工程においてブロックの配置を行なう。第４の工程においてブロック間の配線を行なう。
【０００５】
この第４の工程の配線処理をさらに詳述すると、自動配置配線装置がネット情報の各ノードの座標を認識して、ネット情報および各ブロックの配置結果から、配線するべき各ブロックの端子の座標を割り出す。次に、自動配置配線装置がノード間の最短経路を検索して、既に先に割り出された各ブロックの端子の座標から最も配線が短くなる経路を割り出す。次に、自動配置配線装置が、配線禁止領域と配線の重なりがないかを検索するため、既に配置されたブロックの配線禁止領域と先に割り出した配線の経路が重なっていないかを比較する。
【０００６】
次に、自動配置配線装置は、配線の経路と配線禁止情報との重なりがある場合、配線禁止領域を迂回するように配線の経路を再設定する。自動配置配線装置は、このような工程をネット情報のもつ情報数だけ繰り返して実行する。
【０００７】
このように、ＬＳＩのマクロセルおよび機能ブロックセルを含むＬＳＩの自動配線を行なう場合において、マクロセルの上を被覆するマクロセルの上位の階層の配線の配線禁止領域をもつ配線禁止情報を準備する。これにより、マクロセルの上位の階層の配線で自動配線を行なうと、このマクロセルを迂回する配線が形成される。
【０００８】
このような自動配線配置において、各配線がマクロセルを被覆する配線禁止領域を迂回するために、配線領域の確保が必要となり、高集積化が妨げられるという問題点がある。
【０００９】
特開平１０−１０７１４９号公報（特許文献１）は、このような問題点を解決する半導体集積回路の自動配線配置方法を開示する。この自動配線配置方法は、複数の機能ブロックを配置配線してなる半導体集積回路の機能ブロックの配置情報から各々のブロックの端子の座標値とノード名を読み出すステップと、この読み出された複数のノード名の中から同一ノード名を抽出し、このノード名に対応した座標値から設計ルールに基づいた最短経路を計算するステップと、この計算より求められた最短経路と配線禁止領域との重なりを検出するステップと、最短経路と配線禁止領域とが重なった場合設計ルールに基づいた迂回経路を計算するステップと、読み出された複数のノード名全てが処理されるまで繰り返し計算を行なうステップと、配線禁止領域に予め与えた属性と、ノード名に予め与えた属性との比較をするステップと、その比較結果により迂回経路を計算するステップとを含む。
特許文献１に開示された自動配線配置方法によると、ネット情報および配線禁止情報に属性を付加し、これを自動配置配線装置が認識して、比較判断する。このため、マクロセルの上位の階層を特定の配線が通過できるようになり、マクロセル周辺を迂回する配線が減少する。迂回配線数の削減により配線領域を減少させることができる。
【００１０】
【特許文献１】
特開平１０−１０７１４９号公報
【００１１】
【発明が解決しようとする課題】
しかしながら、特許文献１に開示された自動配線配置方法には、配線禁止情報の設定について詳細な言及がなく、この配線禁止情報を如何に設定するかが課題である。この配線禁止情報により配線禁止領域を大きくすると適切な配線配置を実現できない。
【００１２】
さらに、すべての配線に優先度がなく、一律に配線禁止領域外に配線を配置するので、大規模マクロセルの周辺を迂回する配線が多くなり、そのためにタイミング制約違反を招くこともある。すなわち、大規模マクロセルの周辺の配線領域を使用しなければならない配線以外も（大規模マクロセルの周辺の配線領域を使用しなくても構わない配線までも）大規模マクロセル周辺の配線領域を使用していた。このような状態では、タイミング制約違反を招き、その解消のために迂回した配線の途中に中継用の素子を追加しなければならず消費電力が増加する等の問題があった。
【００１３】
本発明は、上述の課題を解決するためになされたものであって、その目的は、タイミング制約違反の発生を抑え、タイミング制約違反解消のための素子を削減して消費電力の削減し、チップサイズを小さくすることができる半導体装置の配置配線方法を提供することである。
【００１４】
【課題を解決するための手段】
この発明に係る半導体装置の配置配線方法は、セルの間を最短経路で接続する接続ステップと、最短経路と特定のセルとの重なりを抽出する抽出ステップと、重なりを形成する最短経路の中で、予め定められた条件を満足する経路を、特定のセルの周辺領域に配置させることにより重なりを回避する回避ステップと、周辺領域を配線禁止領域に設定する設定ステップと、配線禁止領域を回避して、配線を配置する配置ステップとを含む。
【００１５】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１６】
図１に、自動配線配置装置を実現するハードウェアの一例であるコンピュータシステムの外観を示す。図１を参照してこのコンピュータシステム１００は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）駆動装置１０６およびＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）駆動装置１０８を備えたコンピュータ１０２と、モニタ１０４と、キーボード１１０と、マウス１１２とを含む。
【００１７】
図２に、このコンピュータシステム１００の構成をブロック図形式で示す。図２に示すように、コンピュータ１０２は、上述したＦＤ駆動装置１０６およびＣＤ−ＲＯＭ駆動装置１０８に加えて、相互にバスで接続されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２０と、メモリ１２２と、固定ディスク１２４とを含む。ＦＤ駆動装置１０６にはＦＤ１１６が装着される。ＣＤ−ＲＯＭ駆動装置１０８にはＣＤ−ＲＯＭ１１８が装着される。
【００１８】
本実施の形態に係る自動配線配置装置は、コンピュータハードウェアとＣＰＵ１２０により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、ＦＤ１１６、ＣＤ−ＲＯＭ１１８などの記録媒体に格納されて流通し、ＦＤ駆動装置１０６またはＣＤ−ＲＯＭ駆動装置１０８などにより記録媒体から読取られて固定ディスク１２４に一旦格納される。さらに固定ディスク１２４からメモリ１２２に読出されて、ＣＰＵ１２０により実行される。図１および図２に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の本質的な部分は、ＦＤ１１６、ＣＤ−ＲＯＭ１１８、固定ディスク１２４などの記録媒体に記録されたソフトウェアであるとも言える。
【００１９】
なお、図１および図２に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【００２０】
図３を参照して、本実施の形態に係る自動配線配置装置を実現するコンピュータシステム１００のＣＰＵ１２０で実行されるプログラムの制御構造について説明する。
【００２１】
ステップ（以下、ステップをＳと略す。）１００にて、ＣＰＵ１２０は、すべてのネットを最短経路で接続した配線情報を作成する。このときの最短経路とは、図４に示すように標準セル１２００と標準セル１３００とを接続する最短経路は、経路１４００または経路１５００で示すとおり、縦方向および横方向のみの経路を示し、斜め方向の経路は使用しないものと想定する。
【００２２】
Ｓ１１０にてＣＰＵ１２０は、大規模マクロセル上に配置された配線を抽出する。Ｓ１２０にて、ＣＰＵ１２０は、抽出された配線が存在するか否かを判断する。このとき、大規模マクロセル上に配置された配線とは、大規模マクロセルの縦方向の二辺ともを通過および横方向の二辺ともを通過のいずれかであって、それらを回避する経路がないものである。
【００２３】
たとえば、図５に示すように、標準セル１６００と標準セル１７００とを接続する最短配線１８００は、大規模マクロセル１９００の縦方向の二辺の双方と交差する。また、図６に示すように、標準セル１６００と標準セル１７００とを接続する最短配線１８００は、大規模マクロセル１９００の横方向の二辺の双方と交差する。これらの図５および図６に示す場合には、大規模マクロセル１９００上に配置された配線が存在すると判断される。
【００２４】
一方、図７に示すように、標準セル１６００と標準セル１７００とを接続する最短配線１８００は、大規模マクロセル１９００の縦方向の一辺と横方向の一辺とに交差する。また、図８に示すように、標準セル１６００と標準セル１７００とを接続する最短配線１８００は、大規模マクロセル１９００の縦方向の一辺と横方向の一辺とに交差する。図７および図８に示すような、最短配線１８００が、縦方向および横方向のそれぞれ一辺のみとしか交差しない場合には、この最短配線１８００は大規模マクロセル１９００上に配置された配線ではないと判断される。これらの図７および図８に示す場合には、大規模マクロセル１９００上に配置された配線が存在しないと判断される。
【００２５】
また、図９に示すように、標準セル１６００と標準セル１７００とを接続する最短配線１８００は、大規模マクロセル１９００の縦方向の二辺と交差する。しかしながら、標準セル１６００と標準セル１７００とを接続するもう１つの最短配線１８５０は、大規模マクロセル１９００上に配置されていないため、図９に示す場合は大規模マクロセル１９００上に配置された配線が存在しないと判断される。
【００２６】
大規模マクロセル１９００上に配置された配線が抽出されると（Ｓ１２０にてＹＥＳ）、処理はＳ１３０へ移される。もしそうでないと（Ｓ１２０にてＮＯ）、処理はＳ２３０へ移される。
【００２７】
Ｓ１３０にて、ＣＰＵ１２０は、大規模マクロセル１９００上に配置された配線のネット名と大規模マクロセル１９００のインスタンス名とを、固定ディスク１２４に記憶する。
【００２８】
Ｓ１４０にて、ＣＰＵ１２０は、抽出された配線が大規模マクロセル１９００の左右の辺を通過するか否かを判断する。抽出された配線が大規模マクロセル１９００の左右の辺を通過する場合には（Ｓ１４０にてＹＥＳ）、処理はＳ１５０へ移される。もしそうでないと（Ｓ１４０にてＮＯ）、処理はＳ１８０へ移される。
【００２９】
Ｓ１５０にて、ＣＰＵ１２０は、通過位置はマクロセル１９００の上側であるか否かを判断する。通過位置がマクロセル１９００の上側であると（Ｓ１５０にてＹＥＳ）、処理はＳ１６０へ移される。もしそうでないと（Ｓ１５０にてＮＯＳ）、処理はＳ１７０へ移される。
【００３０】
Ｓ１６０にて、ＣＰＵ１２０は、その配線を大規模マクロセル１９００の上側に回避して配置する。Ｓ１７０にて、ＣＰＵ１２０は、その配線を大規模マクロセル１９００の下側に回避して配置する。Ｓ１６０およびＳ１７０の処理後、処理はＳ２２０へ移される。
【００３１】
Ｓ１８０にて、ＣＰＵ１２０は、抽出された配線が、大規模マクロセル１９００の上下の辺を通過するか否かを判断する。抽出された配線が、大規模マクロセル１９００の上下の辺を通過する場合には（Ｓ１８０にてＹＥＳ）、処理はＳ１９０へ移される。もしそうでないと（Ｓ１８０にてＮＯ）、処理はＳ２２０へ移される。
【００３２】
Ｓ１９０にて、ＣＰＵ１２０は、通過位置はマクロセルの左側であるか否かを判断する。通過位置がマクロセルの左側であると（Ｓ１９０にてＹＥＳ）、処理はＳ２００へ移される。もしそうでないと（Ｓ１９０にてＮＯ）、処理はＳ２１０へ移される。
【００３３】
Ｓ２００にて、ＣＰＵ１２０は、その配線を大規模マクロセル１９０の左側に回避して配置する。Ｓ２１０にて、ＣＰＵ１２０は、その配線を大規模マクロセル１９００の右側に回避して配置する。Ｓ２００およびＳ２１０の処理後、処理はＳ２２０へ移される。
【００３４】
Ｓ２２０にて、ＣＰＵ１２０は、抽出されたすべての配線の処理が完了したか否かを判断する。抽出されたすべての配線についての処理が終了すると（Ｓ２２０にてＹＥＳ）、処理はＳ２３０へ移される。もしそうでないと（Ｓ２２０にてＮＯ）、処理はＳ１４０へ戻される。
【００３５】
Ｓ２３０にて、ＣＰＵ１２０は、大規模マクロセル１９００の周辺に配線禁止領域を設定する。Ｓ２４０にて、ＣＰＵ１２０は、残りのネットの配線を配置する。
【００３６】
以上のような構造およびフローチャートに基づく、本実施の形態に係る自動配線配置装置の動作について説明する。
【００３７】
すべてのネットを、図４に示すような最短経路である最短配線で接続した配線情報が作成され（Ｓ１００）、それらの配線情報に基づいて、大規模マクロセル１９００上に配置された配線が抽出される（Ｓ１１０）。このとき、図５および図６に示すような場合には、大規模マクロセル１９００上に最短配線１８００が配置されているとして抽出される。一方、図７〜図９に示すような場合は、大規模マクロセル１９００上に最短配線１８００が配置されていないとして、処理される。
【００３８】
抽出された配線が１つでもあると（Ｓ１２０にてＹＥＳ）、大規模マクロセル１９００上に配置された配線のネット名と、大規模マクロセル１９００のインスタンス名とが固定ディスク１２４に記憶される（Ｓ１３０）。
【００３９】
図１０および図１１に示すように、抽出された配線が大規模マクロセル１９００の左右の辺を通過していると（Ｓ１４０にてＹＥＳ）、通過位置がマクロセルの上側であるか否かが判断される（Ｓ１５０）。図１０に示すように、通過位置がマクロセル１９００の上側であると（Ｓ１５０にてＹＥＳ）、その配線は大規模マクロセル１９００の上側に回避した接続配線２１００として配置する。図１１に示すように、通過位置がマクロセル１９００の上側でないと（Ｓ１５０にてＮＯ）、その配線を大規模マクロセル１９００の下側に回避した接続配線２１００として配置する。
【００４０】
図１２および図１３に示すように、抽出された配線が大規模マクロセル１９００の上下の辺を通過していると（Ｓ１８０にてＹＥＳ）、通過位置がマクロセルの左側であるか否かが判断される（Ｓ１９０）。図１２に示すように、通過位置がマクロセル１９００の左側であると（Ｓ１９０にてＹＥＳ）、その配線は大規模マクロセル１９００の左側に回避した接続配線２１００として配置する。図１３に示すように、通過位置がマクロセル１９００の左側でないと（Ｓ１９０にてＮＯ）、その配線を大規模マクロセル１９００の右側に回避して接続配線２１００として配置する。
【００４１】
このようにして抽出されたすべての配線の処理が終了すると（Ｓ２２０にてＹＥＳ）、図１４に示すように、大規模マクロセル１９００の周辺に配線禁止領域２２００を設定する。この配線禁止領域２２００には、優先的に配置された、図１０〜図１３に示す接続配線２１００が含まれる。
【００４２】
残りのネットの配線が配置され（Ｓ２４０）、図１５に示すような配線結果が得られる。このとき、配線禁止領域２２００の領域内に、標準セル１０００と標準セル４０００とを接続する接続配線７０００および標準セル２０００と標準セル５０００とを接続する接続配線８０００が含まれている。一方、図１６に示すように、従来の自動配線配置方法によると、大規模マクロセル１９００の周辺には、接続配線７０００および接続配線８０００に加えて、標準セル３０００と標準セル６０００とを接続する接続配線９０００が配置されている。この接続配線９０００は、本来は、配線禁止領域２２００の領域内である大規模マクロセル１９００の周辺に配置されなくてもよいものである。
【００４３】
以上のようにして、本実施の形態に係る自動配線配置方法によると、大規模マクロセルを有する半導体チップの配置配線時に、大規模マクロセルの周辺の配線領域を使用できる配線を制限して、優先的に配線を配置して、大規模マクロセルを迂回する配線が生じることを抑制することができる。迂回配線が生じることにより発生するタイミング制約違反の発生を抑えることができる。さらに、タイミング制約違反解消のために追加される素子を最小限に抑えることができる。その結果、半導体チップのチップサイズや消費電力の削減を実現することができる。
【００４４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る自動配線配置装置を実現するコンピュータの外観図である。
【図２】図１に示すコンピュータシステムの制御ブロック図である。
【図３】本発明の実施の形態に係る自動配線配置装置で実行されるプログラムの制御構造を示すフローチャートである。
【図４】配線配置を示す図（その１）である。
【図５】配線配置を示す図（その２）である。
【図６】配線配置を示す図（その３）である。
【図７】配線配置を示す図（その４）である。
【図８】配線配置を示す図（その５）である。
【図９】配線配置を示す図（その６）である。
【図１０】配線配置を示す図（その７）である。
【図１１】配線配置を示す図（その８）である。
【図１２】配線配置を示す図（その９）である。
【図１３】配線配置を示す図（その１０）である。
【図１４】配線配置を示す図（その１１）である。
【図１５】配線配置を示す図（その１２）である。
【図１６】配線配置を示す図（その１３）である。
【符号の説明】
１００  コンピュータシステム、１０２  コンピュータ、１０４  モニタ、１０６  ＦＤ駆動装置、１０８  ＣＤ−ＲＯＭ駆動装置、１１０  キーボード、１１２  マウス、１０００，１２００，１３００，１６００，１７００，３０００，４０００，５０００，６０００  標準セル、１４００，１５００  経路、２１００，７０００，８０００，９０００  接続配線、１８００，１８５０  最短配線、１９００  大規模マクロセル、２２００  配線禁止領域。
【図１】
2004318716.tif 000003
【図２】
2004318716.tif 000004
【図３】
2004318716.tif 000005
【図４】
2004318716.tif 000006
【図５】
2004318716.tif 000007
【図６】
2004318716.tif 000008
【図７】
2004318716.tif 000009
【図８】
2004318716.tif 000010
【図９】
2004318716.tif 000011
【図１０】
2004318716.tif 000012
【図１１】
2004318716.tif 000013
【図１２】
2004318716.tif 000014
【図１３】
2004318716.tif 000015
【図１４】
2004318716.tif 000016
【図１５】
2004318716.tif 000017
【図１６】
2004318716.tif 000018