JP2004318716A - 半導体装置の配置配線方法 - Google Patents
半導体装置の配置配線方法 Download PDFInfo
- Publication number
- JP2004318716A JP2004318716A JP2003114612A JP2003114612A JP2004318716A JP 2004318716 A JP2004318716 A JP 2004318716A JP 2003114612 A JP2003114612 A JP 2003114612A JP 2003114612 A JP2003114612 A JP 2003114612A JP 2004318716 A JP2004318716 A JP 2004318716A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- scale
- macro cell
- cell
- overlap
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】タイミング制約違反の発生を抑え、消費電力が少なくサイズが小さい半導体チップにおけるセルの配置およびセル間の配線を設計する。
【解決手段】半導体チップの配置配線方法は、基準セルの間を最短経路で接続するステップ(S100)と、最短経路と大規模マクロセルとの重なりを抽出するステップ(S120)と、重なりを形成する最短経路の中で、大規模マクロセルの左右の辺を通過するセル(S140にてYES)または上下の辺を通過するセル(S180にてYES)を大規模マクロセルの周辺領域に優先的に配置することにより重なりを回避するステップ(S160、S170、S200、S210)と、その周辺領域を配線禁止領域に設定するステップ(S230)と、その配線禁止領域を回避して配線を配置するステップ(S240)とを含む。
【選択図】 図3
【解決手段】半導体チップの配置配線方法は、基準セルの間を最短経路で接続するステップ(S100)と、最短経路と大規模マクロセルとの重なりを抽出するステップ(S120)と、重なりを形成する最短経路の中で、大規模マクロセルの左右の辺を通過するセル(S140にてYES)または上下の辺を通過するセル(S180にてYES)を大規模マクロセルの周辺領域に優先的に配置することにより重なりを回避するステップ(S160、S170、S200、S210)と、その周辺領域を配線禁止領域に設定するステップ(S230)と、その配線禁止領域を回避して配線を配置するステップ(S240)とを含む。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、半導体装置における配置配線方法に関し、特に大規模マクロセルを有する半導体装置における配置配線方法に関する。
【0002】
【従来の技術】
従来、半導体装置(たとえば大規模集積回路であるLSI(Large Scale Integrated circuit))における自動配置配線方法は、LSIのマスク設計において人手による設計をCAD(Computer Aided Design)により自動化して、開発期間の短縮が行なわれてきた。
【0003】
たとえば、従来の自動配置配線は、LSIのネット情報、LSIに使用されるブロックデータを、自動配置配線プログラムにより自動配置配線処理を実行して、LSIのマスク情報を出力する。
【0004】
このような自動配置配線処理においては、第1の工程においてネット情報の読み込みを行ない、次に第2の工程においてブロックデータの読み込みを行ない、次に第3の工程においてブロックの配置を行なう。第4の工程においてブロック間の配線を行なう。
【0005】
この第4の工程の配線処理をさらに詳述すると、自動配置配線装置がネット情報の各ノードの座標を認識して、ネット情報および各ブロックの配置結果から、配線するべき各ブロックの端子の座標を割り出す。次に、自動配置配線装置がノード間の最短経路を検索して、既に先に割り出された各ブロックの端子の座標から最も配線が短くなる経路を割り出す。次に、自動配置配線装置が、配線禁止領域と配線の重なりがないかを検索するため、既に配置されたブロックの配線禁止領域と先に割り出した配線の経路が重なっていないかを比較する。
【0006】
次に、自動配置配線装置は、配線の経路と配線禁止情報との重なりがある場合、配線禁止領域を迂回するように配線の経路を再設定する。自動配置配線装置は、このような工程をネット情報のもつ情報数だけ繰り返して実行する。
【0007】
このように、LSIのマクロセルおよび機能ブロックセルを含むLSIの自動配線を行なう場合において、マクロセルの上を被覆するマクロセルの上位の階層の配線の配線禁止領域をもつ配線禁止情報を準備する。これにより、マクロセルの上位の階層の配線で自動配線を行なうと、このマクロセルを迂回する配線が形成される。
【0008】
このような自動配線配置において、各配線がマクロセルを被覆する配線禁止領域を迂回するために、配線領域の確保が必要となり、高集積化が妨げられるという問題点がある。
【0009】
特開平10−107149号公報(特許文献1)は、このような問題点を解決する半導体集積回路の自動配線配置方法を開示する。この自動配線配置方法は、複数の機能ブロックを配置配線してなる半導体集積回路の機能ブロックの配置情報から各々のブロックの端子の座標値とノード名を読み出すステップと、この読み出された複数のノード名の中から同一ノード名を抽出し、このノード名に対応した座標値から設計ルールに基づいた最短経路を計算するステップと、この計算より求められた最短経路と配線禁止領域との重なりを検出するステップと、最短経路と配線禁止領域とが重なった場合設計ルールに基づいた迂回経路を計算するステップと、読み出された複数のノード名全てが処理されるまで繰り返し計算を行なうステップと、配線禁止領域に予め与えた属性と、ノード名に予め与えた属性との比較をするステップと、その比較結果により迂回経路を計算するステップとを含む。
特許文献1に開示された自動配線配置方法によると、ネット情報および配線禁止情報に属性を付加し、これを自動配置配線装置が認識して、比較判断する。このため、マクロセルの上位の階層を特定の配線が通過できるようになり、マクロセル周辺を迂回する配線が減少する。迂回配線数の削減により配線領域を減少させることができる。
【0010】
【特許文献1】
特開平10−107149号公報
【0011】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示された自動配線配置方法には、配線禁止情報の設定について詳細な言及がなく、この配線禁止情報を如何に設定するかが課題である。この配線禁止情報により配線禁止領域を大きくすると適切な配線配置を実現できない。
【0012】
さらに、すべての配線に優先度がなく、一律に配線禁止領域外に配線を配置するので、大規模マクロセルの周辺を迂回する配線が多くなり、そのためにタイミング制約違反を招くこともある。すなわち、大規模マクロセルの周辺の配線領域を使用しなければならない配線以外も(大規模マクロセルの周辺の配線領域を使用しなくても構わない配線までも)大規模マクロセル周辺の配線領域を使用していた。このような状態では、タイミング制約違反を招き、その解消のために迂回した配線の途中に中継用の素子を追加しなければならず消費電力が増加する等の問題があった。
【0013】
本発明は、上述の課題を解決するためになされたものであって、その目的は、タイミング制約違反の発生を抑え、タイミング制約違反解消のための素子を削減して消費電力の削減し、チップサイズを小さくすることができる半導体装置の配置配線方法を提供することである。
【0014】
【課題を解決するための手段】
この発明に係る半導体装置の配置配線方法は、セルの間を最短経路で接続する接続ステップと、最短経路と特定のセルとの重なりを抽出する抽出ステップと、重なりを形成する最短経路の中で、予め定められた条件を満足する経路を、特定のセルの周辺領域に配置させることにより重なりを回避する回避ステップと、周辺領域を配線禁止領域に設定する設定ステップと、配線禁止領域を回避して、配線を配置する配置ステップとを含む。
【0015】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【0016】
図1に、自動配線配置装置を実現するハードウェアの一例であるコンピュータシステムの外観を示す。図1を参照してこのコンピュータシステム100は、FD(Flexible Disk)駆動装置106およびCD−ROM(Compact Disc−Read Only Memory)駆動装置108を備えたコンピュータ102と、モニタ104と、キーボード110と、マウス112とを含む。
【0017】
図2に、このコンピュータシステム100の構成をブロック図形式で示す。図2に示すように、コンピュータ102は、上述したFD駆動装置106およびCD−ROM駆動装置108に加えて、相互にバスで接続されたCPU(Central Processing Unit)120と、メモリ122と、固定ディスク124とを含む。FD駆動装置106にはFD116が装着される。CD−ROM駆動装置108にはCD−ROM118が装着される。
【0018】
本実施の形態に係る自動配線配置装置は、コンピュータハードウェアとCPU120により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、FD116、CD−ROM118などの記録媒体に格納されて流通し、FD駆動装置106またはCD−ROM駆動装置108などにより記録媒体から読取られて固定ディスク124に一旦格納される。さらに固定ディスク124からメモリ122に読出されて、CPU120により実行される。図1および図2に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の本質的な部分は、FD116、CD−ROM118、固定ディスク124などの記録媒体に記録されたソフトウェアであるとも言える。
【0019】
なお、図1および図2に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【0020】
図3を参照して、本実施の形態に係る自動配線配置装置を実現するコンピュータシステム100のCPU120で実行されるプログラムの制御構造について説明する。
【0021】
ステップ(以下、ステップをSと略す。)100にて、CPU120は、すべてのネットを最短経路で接続した配線情報を作成する。このときの最短経路とは、図4に示すように標準セル1200と標準セル1300とを接続する最短経路は、経路1400または経路1500で示すとおり、縦方向および横方向のみの経路を示し、斜め方向の経路は使用しないものと想定する。
【0022】
S110にてCPU120は、大規模マクロセル上に配置された配線を抽出する。S120にて、CPU120は、抽出された配線が存在するか否かを判断する。このとき、大規模マクロセル上に配置された配線とは、大規模マクロセルの縦方向の二辺ともを通過および横方向の二辺ともを通過のいずれかであって、それらを回避する経路がないものである。
【0023】
たとえば、図5に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の二辺の双方と交差する。また、図6に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の横方向の二辺の双方と交差する。これらの図5および図6に示す場合には、大規模マクロセル1900上に配置された配線が存在すると判断される。
【0024】
一方、図7に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の一辺と横方向の一辺とに交差する。また、図8に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の一辺と横方向の一辺とに交差する。図7および図8に示すような、最短配線1800が、縦方向および横方向のそれぞれ一辺のみとしか交差しない場合には、この最短配線1800は大規模マクロセル1900上に配置された配線ではないと判断される。これらの図7および図8に示す場合には、大規模マクロセル1900上に配置された配線が存在しないと判断される。
【0025】
また、図9に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の二辺と交差する。しかしながら、標準セル1600と標準セル1700とを接続するもう1つの最短配線1850は、大規模マクロセル1900上に配置されていないため、図9に示す場合は大規模マクロセル1900上に配置された配線が存在しないと判断される。
【0026】
大規模マクロセル1900上に配置された配線が抽出されると(S120にてYES)、処理はS130へ移される。もしそうでないと(S120にてNO)、処理はS230へ移される。
【0027】
S130にて、CPU120は、大規模マクロセル1900上に配置された配線のネット名と大規模マクロセル1900のインスタンス名とを、固定ディスク124に記憶する。
【0028】
S140にて、CPU120は、抽出された配線が大規模マクロセル1900の左右の辺を通過するか否かを判断する。抽出された配線が大規模マクロセル1900の左右の辺を通過する場合には(S140にてYES)、処理はS150へ移される。もしそうでないと(S140にてNO)、処理はS180へ移される。
【0029】
S150にて、CPU120は、通過位置はマクロセル1900の上側であるか否かを判断する。通過位置がマクロセル1900の上側であると(S150にてYES)、処理はS160へ移される。もしそうでないと(S150にてNOS)、処理はS170へ移される。
【0030】
S160にて、CPU120は、その配線を大規模マクロセル1900の上側に回避して配置する。S170にて、CPU120は、その配線を大規模マクロセル1900の下側に回避して配置する。S160およびS170の処理後、処理はS220へ移される。
【0031】
S180にて、CPU120は、抽出された配線が、大規模マクロセル1900の上下の辺を通過するか否かを判断する。抽出された配線が、大規模マクロセル1900の上下の辺を通過する場合には(S180にてYES)、処理はS190へ移される。もしそうでないと(S180にてNO)、処理はS220へ移される。
【0032】
S190にて、CPU120は、通過位置はマクロセルの左側であるか否かを判断する。通過位置がマクロセルの左側であると(S190にてYES)、処理はS200へ移される。もしそうでないと(S190にてNO)、処理はS210へ移される。
【0033】
S200にて、CPU120は、その配線を大規模マクロセル190の左側に回避して配置する。S210にて、CPU120は、その配線を大規模マクロセル1900の右側に回避して配置する。S200およびS210の処理後、処理はS220へ移される。
【0034】
S220にて、CPU120は、抽出されたすべての配線の処理が完了したか否かを判断する。抽出されたすべての配線についての処理が終了すると(S220にてYES)、処理はS230へ移される。もしそうでないと(S220にてNO)、処理はS140へ戻される。
【0035】
S230にて、CPU120は、大規模マクロセル1900の周辺に配線禁止領域を設定する。S240にて、CPU120は、残りのネットの配線を配置する。
【0036】
以上のような構造およびフローチャートに基づく、本実施の形態に係る自動配線配置装置の動作について説明する。
【0037】
すべてのネットを、図4に示すような最短経路である最短配線で接続した配線情報が作成され(S100)、それらの配線情報に基づいて、大規模マクロセル1900上に配置された配線が抽出される(S110)。このとき、図5および図6に示すような場合には、大規模マクロセル1900上に最短配線1800が配置されているとして抽出される。一方、図7〜図9に示すような場合は、大規模マクロセル1900上に最短配線1800が配置されていないとして、処理される。
【0038】
抽出された配線が1つでもあると(S120にてYES)、大規模マクロセル1900上に配置された配線のネット名と、大規模マクロセル1900のインスタンス名とが固定ディスク124に記憶される(S130)。
【0039】
図10および図11に示すように、抽出された配線が大規模マクロセル1900の左右の辺を通過していると(S140にてYES)、通過位置がマクロセルの上側であるか否かが判断される(S150)。図10に示すように、通過位置がマクロセル1900の上側であると(S150にてYES)、その配線は大規模マクロセル1900の上側に回避した接続配線2100として配置する。図11に示すように、通過位置がマクロセル1900の上側でないと(S150にてNO)、その配線を大規模マクロセル1900の下側に回避した接続配線2100として配置する。
【0040】
図12および図13に示すように、抽出された配線が大規模マクロセル1900の上下の辺を通過していると(S180にてYES)、通過位置がマクロセルの左側であるか否かが判断される(S190)。図12に示すように、通過位置がマクロセル1900の左側であると(S190にてYES)、その配線は大規模マクロセル1900の左側に回避した接続配線2100として配置する。図13に示すように、通過位置がマクロセル1900の左側でないと(S190にてNO)、その配線を大規模マクロセル1900の右側に回避して接続配線2100として配置する。
【0041】
このようにして抽出されたすべての配線の処理が終了すると(S220にてYES)、図14に示すように、大規模マクロセル1900の周辺に配線禁止領域2200を設定する。この配線禁止領域2200には、優先的に配置された、図10〜図13に示す接続配線2100が含まれる。
【0042】
残りのネットの配線が配置され(S240)、図15に示すような配線結果が得られる。このとき、配線禁止領域2200の領域内に、標準セル1000と標準セル4000とを接続する接続配線7000および標準セル2000と標準セル5000とを接続する接続配線8000が含まれている。一方、図16に示すように、従来の自動配線配置方法によると、大規模マクロセル1900の周辺には、接続配線7000および接続配線8000に加えて、標準セル3000と標準セル6000とを接続する接続配線9000が配置されている。この接続配線9000は、本来は、配線禁止領域2200の領域内である大規模マクロセル1900の周辺に配置されなくてもよいものである。
【0043】
以上のようにして、本実施の形態に係る自動配線配置方法によると、大規模マクロセルを有する半導体チップの配置配線時に、大規模マクロセルの周辺の配線領域を使用できる配線を制限して、優先的に配線を配置して、大規模マクロセルを迂回する配線が生じることを抑制することができる。迂回配線が生じることにより発生するタイミング制約違反の発生を抑えることができる。さらに、タイミング制約違反解消のために追加される素子を最小限に抑えることができる。その結果、半導体チップのチップサイズや消費電力の削減を実現することができる。
【0044】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る自動配線配置装置を実現するコンピュータの外観図である。
【図2】図1に示すコンピュータシステムの制御ブロック図である。
【図3】本発明の実施の形態に係る自動配線配置装置で実行されるプログラムの制御構造を示すフローチャートである。
【図4】配線配置を示す図(その1)である。
【図5】配線配置を示す図(その2)である。
【図6】配線配置を示す図(その3)である。
【図7】配線配置を示す図(その4)である。
【図8】配線配置を示す図(その5)である。
【図9】配線配置を示す図(その6)である。
【図10】配線配置を示す図(その7)である。
【図11】配線配置を示す図(その8)である。
【図12】配線配置を示す図(その9)である。
【図13】配線配置を示す図(その10)である。
【図14】配線配置を示す図(その11)である。
【図15】配線配置を示す図(その12)である。
【図16】配線配置を示す図(その13)である。
【符号の説明】
100 コンピュータシステム、102 コンピュータ、104 モニタ、106 FD駆動装置、108 CD−ROM駆動装置、110 キーボード、112 マウス、1000,1200,1300,1600,1700,3000,4000,5000,6000 標準セル、1400,1500 経路、2100,7000,8000,9000 接続配線、1800,1850 最短配線、1900 大規模マクロセル、2200 配線禁止領域。
【発明の属する技術分野】
本発明は、半導体装置における配置配線方法に関し、特に大規模マクロセルを有する半導体装置における配置配線方法に関する。
【0002】
【従来の技術】
従来、半導体装置(たとえば大規模集積回路であるLSI(Large Scale Integrated circuit))における自動配置配線方法は、LSIのマスク設計において人手による設計をCAD(Computer Aided Design)により自動化して、開発期間の短縮が行なわれてきた。
【0003】
たとえば、従来の自動配置配線は、LSIのネット情報、LSIに使用されるブロックデータを、自動配置配線プログラムにより自動配置配線処理を実行して、LSIのマスク情報を出力する。
【0004】
このような自動配置配線処理においては、第1の工程においてネット情報の読み込みを行ない、次に第2の工程においてブロックデータの読み込みを行ない、次に第3の工程においてブロックの配置を行なう。第4の工程においてブロック間の配線を行なう。
【0005】
この第4の工程の配線処理をさらに詳述すると、自動配置配線装置がネット情報の各ノードの座標を認識して、ネット情報および各ブロックの配置結果から、配線するべき各ブロックの端子の座標を割り出す。次に、自動配置配線装置がノード間の最短経路を検索して、既に先に割り出された各ブロックの端子の座標から最も配線が短くなる経路を割り出す。次に、自動配置配線装置が、配線禁止領域と配線の重なりがないかを検索するため、既に配置されたブロックの配線禁止領域と先に割り出した配線の経路が重なっていないかを比較する。
【0006】
次に、自動配置配線装置は、配線の経路と配線禁止情報との重なりがある場合、配線禁止領域を迂回するように配線の経路を再設定する。自動配置配線装置は、このような工程をネット情報のもつ情報数だけ繰り返して実行する。
【0007】
このように、LSIのマクロセルおよび機能ブロックセルを含むLSIの自動配線を行なう場合において、マクロセルの上を被覆するマクロセルの上位の階層の配線の配線禁止領域をもつ配線禁止情報を準備する。これにより、マクロセルの上位の階層の配線で自動配線を行なうと、このマクロセルを迂回する配線が形成される。
【0008】
このような自動配線配置において、各配線がマクロセルを被覆する配線禁止領域を迂回するために、配線領域の確保が必要となり、高集積化が妨げられるという問題点がある。
【0009】
特開平10−107149号公報(特許文献1)は、このような問題点を解決する半導体集積回路の自動配線配置方法を開示する。この自動配線配置方法は、複数の機能ブロックを配置配線してなる半導体集積回路の機能ブロックの配置情報から各々のブロックの端子の座標値とノード名を読み出すステップと、この読み出された複数のノード名の中から同一ノード名を抽出し、このノード名に対応した座標値から設計ルールに基づいた最短経路を計算するステップと、この計算より求められた最短経路と配線禁止領域との重なりを検出するステップと、最短経路と配線禁止領域とが重なった場合設計ルールに基づいた迂回経路を計算するステップと、読み出された複数のノード名全てが処理されるまで繰り返し計算を行なうステップと、配線禁止領域に予め与えた属性と、ノード名に予め与えた属性との比較をするステップと、その比較結果により迂回経路を計算するステップとを含む。
特許文献1に開示された自動配線配置方法によると、ネット情報および配線禁止情報に属性を付加し、これを自動配置配線装置が認識して、比較判断する。このため、マクロセルの上位の階層を特定の配線が通過できるようになり、マクロセル周辺を迂回する配線が減少する。迂回配線数の削減により配線領域を減少させることができる。
【0010】
【特許文献1】
特開平10−107149号公報
【0011】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示された自動配線配置方法には、配線禁止情報の設定について詳細な言及がなく、この配線禁止情報を如何に設定するかが課題である。この配線禁止情報により配線禁止領域を大きくすると適切な配線配置を実現できない。
【0012】
さらに、すべての配線に優先度がなく、一律に配線禁止領域外に配線を配置するので、大規模マクロセルの周辺を迂回する配線が多くなり、そのためにタイミング制約違反を招くこともある。すなわち、大規模マクロセルの周辺の配線領域を使用しなければならない配線以外も(大規模マクロセルの周辺の配線領域を使用しなくても構わない配線までも)大規模マクロセル周辺の配線領域を使用していた。このような状態では、タイミング制約違反を招き、その解消のために迂回した配線の途中に中継用の素子を追加しなければならず消費電力が増加する等の問題があった。
【0013】
本発明は、上述の課題を解決するためになされたものであって、その目的は、タイミング制約違反の発生を抑え、タイミング制約違反解消のための素子を削減して消費電力の削減し、チップサイズを小さくすることができる半導体装置の配置配線方法を提供することである。
【0014】
【課題を解決するための手段】
この発明に係る半導体装置の配置配線方法は、セルの間を最短経路で接続する接続ステップと、最短経路と特定のセルとの重なりを抽出する抽出ステップと、重なりを形成する最短経路の中で、予め定められた条件を満足する経路を、特定のセルの周辺領域に配置させることにより重なりを回避する回避ステップと、周辺領域を配線禁止領域に設定する設定ステップと、配線禁止領域を回避して、配線を配置する配置ステップとを含む。
【0015】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【0016】
図1に、自動配線配置装置を実現するハードウェアの一例であるコンピュータシステムの外観を示す。図1を参照してこのコンピュータシステム100は、FD(Flexible Disk)駆動装置106およびCD−ROM(Compact Disc−Read Only Memory)駆動装置108を備えたコンピュータ102と、モニタ104と、キーボード110と、マウス112とを含む。
【0017】
図2に、このコンピュータシステム100の構成をブロック図形式で示す。図2に示すように、コンピュータ102は、上述したFD駆動装置106およびCD−ROM駆動装置108に加えて、相互にバスで接続されたCPU(Central Processing Unit)120と、メモリ122と、固定ディスク124とを含む。FD駆動装置106にはFD116が装着される。CD−ROM駆動装置108にはCD−ROM118が装着される。
【0018】
本実施の形態に係る自動配線配置装置は、コンピュータハードウェアとCPU120により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、FD116、CD−ROM118などの記録媒体に格納されて流通し、FD駆動装置106またはCD−ROM駆動装置108などにより記録媒体から読取られて固定ディスク124に一旦格納される。さらに固定ディスク124からメモリ122に読出されて、CPU120により実行される。図1および図2に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の本質的な部分は、FD116、CD−ROM118、固定ディスク124などの記録媒体に記録されたソフトウェアであるとも言える。
【0019】
なお、図1および図2に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【0020】
図3を参照して、本実施の形態に係る自動配線配置装置を実現するコンピュータシステム100のCPU120で実行されるプログラムの制御構造について説明する。
【0021】
ステップ(以下、ステップをSと略す。)100にて、CPU120は、すべてのネットを最短経路で接続した配線情報を作成する。このときの最短経路とは、図4に示すように標準セル1200と標準セル1300とを接続する最短経路は、経路1400または経路1500で示すとおり、縦方向および横方向のみの経路を示し、斜め方向の経路は使用しないものと想定する。
【0022】
S110にてCPU120は、大規模マクロセル上に配置された配線を抽出する。S120にて、CPU120は、抽出された配線が存在するか否かを判断する。このとき、大規模マクロセル上に配置された配線とは、大規模マクロセルの縦方向の二辺ともを通過および横方向の二辺ともを通過のいずれかであって、それらを回避する経路がないものである。
【0023】
たとえば、図5に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の二辺の双方と交差する。また、図6に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の横方向の二辺の双方と交差する。これらの図5および図6に示す場合には、大規模マクロセル1900上に配置された配線が存在すると判断される。
【0024】
一方、図7に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の一辺と横方向の一辺とに交差する。また、図8に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の一辺と横方向の一辺とに交差する。図7および図8に示すような、最短配線1800が、縦方向および横方向のそれぞれ一辺のみとしか交差しない場合には、この最短配線1800は大規模マクロセル1900上に配置された配線ではないと判断される。これらの図7および図8に示す場合には、大規模マクロセル1900上に配置された配線が存在しないと判断される。
【0025】
また、図9に示すように、標準セル1600と標準セル1700とを接続する最短配線1800は、大規模マクロセル1900の縦方向の二辺と交差する。しかしながら、標準セル1600と標準セル1700とを接続するもう1つの最短配線1850は、大規模マクロセル1900上に配置されていないため、図9に示す場合は大規模マクロセル1900上に配置された配線が存在しないと判断される。
【0026】
大規模マクロセル1900上に配置された配線が抽出されると(S120にてYES)、処理はS130へ移される。もしそうでないと(S120にてNO)、処理はS230へ移される。
【0027】
S130にて、CPU120は、大規模マクロセル1900上に配置された配線のネット名と大規模マクロセル1900のインスタンス名とを、固定ディスク124に記憶する。
【0028】
S140にて、CPU120は、抽出された配線が大規模マクロセル1900の左右の辺を通過するか否かを判断する。抽出された配線が大規模マクロセル1900の左右の辺を通過する場合には(S140にてYES)、処理はS150へ移される。もしそうでないと(S140にてNO)、処理はS180へ移される。
【0029】
S150にて、CPU120は、通過位置はマクロセル1900の上側であるか否かを判断する。通過位置がマクロセル1900の上側であると(S150にてYES)、処理はS160へ移される。もしそうでないと(S150にてNOS)、処理はS170へ移される。
【0030】
S160にて、CPU120は、その配線を大規模マクロセル1900の上側に回避して配置する。S170にて、CPU120は、その配線を大規模マクロセル1900の下側に回避して配置する。S160およびS170の処理後、処理はS220へ移される。
【0031】
S180にて、CPU120は、抽出された配線が、大規模マクロセル1900の上下の辺を通過するか否かを判断する。抽出された配線が、大規模マクロセル1900の上下の辺を通過する場合には(S180にてYES)、処理はS190へ移される。もしそうでないと(S180にてNO)、処理はS220へ移される。
【0032】
S190にて、CPU120は、通過位置はマクロセルの左側であるか否かを判断する。通過位置がマクロセルの左側であると(S190にてYES)、処理はS200へ移される。もしそうでないと(S190にてNO)、処理はS210へ移される。
【0033】
S200にて、CPU120は、その配線を大規模マクロセル190の左側に回避して配置する。S210にて、CPU120は、その配線を大規模マクロセル1900の右側に回避して配置する。S200およびS210の処理後、処理はS220へ移される。
【0034】
S220にて、CPU120は、抽出されたすべての配線の処理が完了したか否かを判断する。抽出されたすべての配線についての処理が終了すると(S220にてYES)、処理はS230へ移される。もしそうでないと(S220にてNO)、処理はS140へ戻される。
【0035】
S230にて、CPU120は、大規模マクロセル1900の周辺に配線禁止領域を設定する。S240にて、CPU120は、残りのネットの配線を配置する。
【0036】
以上のような構造およびフローチャートに基づく、本実施の形態に係る自動配線配置装置の動作について説明する。
【0037】
すべてのネットを、図4に示すような最短経路である最短配線で接続した配線情報が作成され(S100)、それらの配線情報に基づいて、大規模マクロセル1900上に配置された配線が抽出される(S110)。このとき、図5および図6に示すような場合には、大規模マクロセル1900上に最短配線1800が配置されているとして抽出される。一方、図7〜図9に示すような場合は、大規模マクロセル1900上に最短配線1800が配置されていないとして、処理される。
【0038】
抽出された配線が1つでもあると(S120にてYES)、大規模マクロセル1900上に配置された配線のネット名と、大規模マクロセル1900のインスタンス名とが固定ディスク124に記憶される(S130)。
【0039】
図10および図11に示すように、抽出された配線が大規模マクロセル1900の左右の辺を通過していると(S140にてYES)、通過位置がマクロセルの上側であるか否かが判断される(S150)。図10に示すように、通過位置がマクロセル1900の上側であると(S150にてYES)、その配線は大規模マクロセル1900の上側に回避した接続配線2100として配置する。図11に示すように、通過位置がマクロセル1900の上側でないと(S150にてNO)、その配線を大規模マクロセル1900の下側に回避した接続配線2100として配置する。
【0040】
図12および図13に示すように、抽出された配線が大規模マクロセル1900の上下の辺を通過していると(S180にてYES)、通過位置がマクロセルの左側であるか否かが判断される(S190)。図12に示すように、通過位置がマクロセル1900の左側であると(S190にてYES)、その配線は大規模マクロセル1900の左側に回避した接続配線2100として配置する。図13に示すように、通過位置がマクロセル1900の左側でないと(S190にてNO)、その配線を大規模マクロセル1900の右側に回避して接続配線2100として配置する。
【0041】
このようにして抽出されたすべての配線の処理が終了すると(S220にてYES)、図14に示すように、大規模マクロセル1900の周辺に配線禁止領域2200を設定する。この配線禁止領域2200には、優先的に配置された、図10〜図13に示す接続配線2100が含まれる。
【0042】
残りのネットの配線が配置され(S240)、図15に示すような配線結果が得られる。このとき、配線禁止領域2200の領域内に、標準セル1000と標準セル4000とを接続する接続配線7000および標準セル2000と標準セル5000とを接続する接続配線8000が含まれている。一方、図16に示すように、従来の自動配線配置方法によると、大規模マクロセル1900の周辺には、接続配線7000および接続配線8000に加えて、標準セル3000と標準セル6000とを接続する接続配線9000が配置されている。この接続配線9000は、本来は、配線禁止領域2200の領域内である大規模マクロセル1900の周辺に配置されなくてもよいものである。
【0043】
以上のようにして、本実施の形態に係る自動配線配置方法によると、大規模マクロセルを有する半導体チップの配置配線時に、大規模マクロセルの周辺の配線領域を使用できる配線を制限して、優先的に配線を配置して、大規模マクロセルを迂回する配線が生じることを抑制することができる。迂回配線が生じることにより発生するタイミング制約違反の発生を抑えることができる。さらに、タイミング制約違反解消のために追加される素子を最小限に抑えることができる。その結果、半導体チップのチップサイズや消費電力の削減を実現することができる。
【0044】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る自動配線配置装置を実現するコンピュータの外観図である。
【図2】図1に示すコンピュータシステムの制御ブロック図である。
【図3】本発明の実施の形態に係る自動配線配置装置で実行されるプログラムの制御構造を示すフローチャートである。
【図4】配線配置を示す図(その1)である。
【図5】配線配置を示す図(その2)である。
【図6】配線配置を示す図(その3)である。
【図7】配線配置を示す図(その4)である。
【図8】配線配置を示す図(その5)である。
【図9】配線配置を示す図(その6)である。
【図10】配線配置を示す図(その7)である。
【図11】配線配置を示す図(その8)である。
【図12】配線配置を示す図(その9)である。
【図13】配線配置を示す図(その10)である。
【図14】配線配置を示す図(その11)である。
【図15】配線配置を示す図(その12)である。
【図16】配線配置を示す図(その13)である。
【符号の説明】
100 コンピュータシステム、102 コンピュータ、104 モニタ、106 FD駆動装置、108 CD−ROM駆動装置、110 キーボード、112 マウス、1000,1200,1300,1600,1700,3000,4000,5000,6000 標準セル、1400,1500 経路、2100,7000,8000,9000 接続配線、1800,1850 最短配線、1900 大規模マクロセル、2200 配線禁止領域。
Claims (4)
- 複数のセルが配置された半導体装置の配置配線方法であって、
前記セルの間を最短経路で接続する接続ステップと、
前記最短経路と特定のセルとの重なりを抽出する抽出ステップと、
前記重なりを形成する最短経路の中で、予め定められた条件を満足する経路を、前記特定のセルの周辺領域に配置させることにより前記重なりを回避する回避ステップと、
前記周辺領域を配線禁止領域に設定する設定ステップと、
前記配線禁止領域を回避して、配線を配置する配置ステップとを含む、半導体装置の配置配線方法。 - 前記特定のセルをその上面から見た形状は直方形であって、
前記接続ステップは、前記直方形の直交する二辺のいずれかに平行な配線により、前記セルの間を最短経路で接続するステップを含む、請求項1に記載の半導体装置の配置配線方法。 - 前記予め定められた条件は、経路が前記特定のセルの平行な二辺の両方に交わるという条件である、請求項2に記載の半導体装置の配置配線方法。
- 前記特定のセルは、大規模マクロセルである、請求項1〜3のいずれかに記載の半導体装置の配置配線方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003114612A JP2004318716A (ja) | 2003-04-18 | 2003-04-18 | 半導体装置の配置配線方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003114612A JP2004318716A (ja) | 2003-04-18 | 2003-04-18 | 半導体装置の配置配線方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004318716A true JP2004318716A (ja) | 2004-11-11 |
Family
ID=33474140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003114612A Withdrawn JP2004318716A (ja) | 2003-04-18 | 2003-04-18 | 半導体装置の配置配線方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004318716A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008017208A (ja) * | 2006-07-06 | 2008-01-24 | Fujifilm Corp | 画像表示方法及び装置及びプログラム、及び記憶媒体 |
-
2003
- 2003-04-18 JP JP2003114612A patent/JP2004318716A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008017208A (ja) * | 2006-07-06 | 2008-01-24 | Fujifilm Corp | 画像表示方法及び装置及びプログラム、及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5242103B2 (ja) | 半導体集積回路のレイアウト方法 | |
US7823113B1 (en) | Automatic integrated circuit routing using spines | |
US6951007B2 (en) | Wire layout design apparatus and method for integrated circuits | |
JPH10270563A (ja) | 集積回路の自動概略配線方法 | |
KR20190018542A (ko) | 전지 경계로부터 연장되는 금속층 부분을 가진 표준 전지를 구현하는 집적 회로 | |
JP2007072960A (ja) | 半導体集積回路装置のレイアウト方法及びそのレイアウトプログラム | |
JP4274814B2 (ja) | 半導体集積回路の設計方法、設計装置、セルライブラリのデータ構造および自動レイアウトプログラム | |
US6075934A (en) | Method for optimizing contact pin placement in an integrated circuit | |
JP4410088B2 (ja) | 半導体装置の設計支援方法、プログラム及び装置 | |
KR20170094744A (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 | |
JP2004318716A (ja) | 半導体装置の配置配線方法 | |
JPH10173058A (ja) | 配置配線方法 | |
US8132141B2 (en) | Method and apparatus for generating a centerline connectivity representation | |
JP4071507B2 (ja) | 半導体集積回路の階層レイアウト方法 | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 | |
JPH1167923A (ja) | 半導体集積回路とその配線配置方法、および該方法を記録した記録媒体 | |
JP4186890B2 (ja) | 半導体集積回路の素子配置システム、素子配置方法、及びプログラム | |
US20170061063A1 (en) | Integrated circuit with reduced routing congestion | |
Yao et al. | Multilevel routing with redundant via insertion | |
JP2000057175A (ja) | 半導体集積回路装置の自動配線方式 | |
JP2910730B2 (ja) | 階層レイアウト設計方法および階層レイアウト設計装置 | |
JP2006331006A (ja) | Lsiレイアウトの配線混雑抑制方法 | |
JP3204381B2 (ja) | 半導体装置の自動配置配線方法 | |
JPH07147324A (ja) | Cad装置による自動配置配線処理方法 | |
EP2741221A2 (en) | Apparatus, method, and program for crosstalk computation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |