(57)【要約】【課題】最適のパワー配分を可能にする集積回路のレイアウト内のネットのルーティング方法及びシステムを提供する。【解決手段】本発明の電子システムによるルーティング方法は、周囲長を有する形状を含む集積回路のレイアウトを受信する段階と、周囲長からオフセットセグメントを生成するように形状の周囲長のセグメントの少なくとも一部をオフセットする段階と、オフセットセグメントに応答して経路セグメントを形成する段階と、経路セグメントを含む経路の少なくとも一部を生成する段階と、経路の少なくとも一部を用いて集積回路のレイアウト内のネットをルーティングする段階と、を有する。【選択図】図１Ｂ
2014186734.tif 000002
【特許請求の範囲】
【請求項１】
少なくともメモリとプロセッサを含む電子システムによるネットのルーティング方法であって、
周囲長を有する形状を含む集積回路のレイアウトを受信する段階と、
前記周囲長からオフセットセグメントを生成するように前記形状の周囲長のセグメントの少なくとも一部をオフセットする段階と、
前記オフセットセグメントに応答して経路セグメントを形成する段階と、
前記経路セグメントを含む経路の少なくとも一部を生成する段階と、
前記経路の少なくとも一部を用いて前記集積回路のレイアウト内のネットをルーティングする段階と、を有することを特徴とするルーティング方法。
【請求項２】
前記周囲長のセグメントの少なくとも一部は、前記周囲長の全てのセグメントより少ないことを特徴とする請求項１に記載のルーティング方法。
【請求項３】
前記周囲長のセグメントの少なくとも一部は、円弧であることを特徴とする請求項１に記載のルーティング方法。
【請求項４】
前記周囲長のセグメントの少なくとも一部を用いて頂点を生成する段階と、
前記頂点からセグメントを延長する段階と、を更に含み、
前記ネットをルーティングする段階は、前記頂点から延長されたセグメントを用いて前記ネットをルーティングすることを特徴とする請求項１に記載のルーティング方法。
【請求項５】
前記頂点から延長されたセグメントは、前記周囲長に対して直角方向であることを特徴とする請求項４に記載のルーティング方法。
【請求項６】
前記形状の周囲長のセグメントの少なくとも一部をオフセットする段階は、
前記形状の複数のセグメントを選択する段階と、
対応する前記形状のエッジに対して直角方向に前記形状の前記選択されたセグメントを各々オフセットする段階と、を含み、
前記ルーティング方法は、少なくとも１つの他のオフセットセグメントと交わるように前記形状の前記オフセットセグメントを各々延長する段階を更に含むことを特徴とする請求項１に記載のルーティング方法。
【請求項７】
前記形状は、八角形であることを特徴とする請求項１に記載のルーティング方法。
【請求項８】
前記形状は、バンプであることを特徴とする請求項１に記載のルーティング方法。
【請求項９】
前記形状は、第２ネットであることを特徴とする請求項１に記載のルーティング方法。
【請求項１０】
前記レイアウト内のネットは、第１ネットであり、
前記ルーティング方法は、バンプからピンに第２ネットをルーティングする段階を更に含み、
前記形状は、前記バンプ及び前記第２ネットのうちの少なくとも１つを含むことを特徴とする請求項１に記載のルーティング方法。
【請求項１１】
前記第１ネットを前記バンプに隣接するバイアスにルーティングする段階を更に含むことを特徴とする請求項１０に記載のルーティング方法。
【請求項１２】
第３形状の少なくとも１つのセグメントを生成するように第２形状の周囲長を拡張する段階と、
前記第３形状の少なくとも１つのセグメントを用いて前記ネットをルーティングする段階と、を更に含むことを特徴とする請求項１に記載のルーティング方法。
【請求項１３】
前記集積回路の再配線レイヤ上に前記ネットをルーティングする段階を更に含むことを特徴とする請求項１に記載のルーティング方法。
【請求項１４】
前記オフセットセグメントに応答して経路セグメントを形成する段階は、前記形状の非隣接頂点に基づく頂点を用いて前記経路セグメントを形成することを特徴とする請求項１に記載のルーティング方法。
【請求項１５】
少なくともメモリとプロセッサを含む電子システムによるネットのルーティング方法であって、
周囲長を有する形状を含む集積回路のレイアウトを受信する段階と、
拡張されたセグメントを生成するように前記形状のセグメントの少なくとも一部を拡張する段階と、
前記拡張されたセグメントに応答して経路セグメントを形成する段階と、
前記経路セグメントを含む経路の少なくとも一部を生成する段階と、
前記経路の一部を用いて前記集積回路のレイアウト内のネットをルーティングする段階と、を有することを特徴とするルーティング方法。
【請求項１６】
前記周囲長のセグメントの少なくとも一部は、前記形状の複数のセグメントを含むことを特徴とする請求項１５に記載のルーティング方法。
【請求項１７】
前記周囲長のセグメントの少なくとも一部は、前記形状の全てのセグメントより少ないことを特徴とする請求項１５に記載のルーティング方法。
【請求項１８】
前記拡張された前記周囲長のセグメントの少なくとも一部の座標を見つける段階と、
前記座標を用いて前記ネットをルーティングする段階と、を更に含むことを特徴とする請求項１５に記載のルーティング方法。
【請求項１９】
メモリと、
プロセッサと、を備え、
前記メモリは、周囲長を有する形状を含む集積回路のレイアウトを格納し、
前記プロセッサは、
前記周囲長からオフセットセグメントを生成するように前記形状の周囲長のセグメントの少なくとも一部をオフセットし、
前記オフセットセグメントに応答して経路セグメントを形成し、
前記経路セグメントを含む経路の少なくとも一部を生成し、
前記経路の少なくとも一部を用いて前記集積回路のレイアウト内のネットをルーティングすることを特徴とするルーティングシステム。
【請求項２０】
前記周囲長のセグメントの少なくとも一部は、前記周囲長の全てのセグメントより少ないことを特徴とする請求項１９に記載のルーティングシステム。
【請求項２１】
前記周囲長のセグメントの少なくとも一部は、円弧であることを特徴とする請求項１９に記載のルーティングシステム。
【請求項２２】
前記プロセッサは、
前記周囲長のセグメントの少なくとも一部を用いて頂点を生成し、
前記頂点からセグメントを延長し、
前記頂点から延長されたセグメントを用いて前記ネットをルーティングすることを特徴とする請求項１９に記載のルーティングシステム。
【請求項２３】
前記頂点から延長されたセグメントは、前記周囲長に対して直角方向であることを特徴とする請求項２２に記載のルーティングシステム。
【請求項２４】
前記プロセッサは、
前記形状の複数のセグメントを選択し、
対応する前記形状のエッジに対して直角方向に前記形状の前記選択されたセグメントを各々オフセットし、
少なくとも１つの他のオフセットセグメントと交わるように前記形状の前記オフセットセグメントを各々延長することを特徴とする請求項１９に記載のルーティングシステム。
【請求項２５】
前記形状は、八角形であることを特徴とする請求項１９に記載のルーティングシステム。
【請求項２６】
前記形状は、バンプであることを特徴とする請求項１９に記載のルーティングシステム。
【請求項２７】
前記形状は、第２ネットであることを特徴とする請求項１９に記載のルーティングシステム。
【請求項２８】
前記レイアウト内のネットは、第１ネットであり、
前記プロセッサは、バンプからピンに第２ネットをルーティングし、
前記形状は、前記バンプ及び前記第２ネットのうちの少なくとも１つを含むことを特徴とする請求項１９に記載のルーティングシステム。
【請求項２９】
前記プロセッサは、前記第１ネットを前記バンプに隣接するバイアスにルーティングすることを特徴とする請求項１９に記載のルーティングシステム。
【請求項３０】
前記プロセッサは、
第３形状の少なくとも１つのセグメントを生成するように第２形状の周囲長を拡張し、
前記第３形状の少なくとも１つのセグメントを用いて前記ネットをルーティングすることを特徴とする請求項１９に記載のルーティングシステム。
【請求項３１】
前記プロセッサは、前記集積回路の再配線レイヤ上に前記ネットをルーティングすることを特徴とする請求項１９に記載のルーティングシステム。
【請求項３２】
少なくともメモリとプロセッサを含む電子システムにネットのルーティング方法を実行させるための命令語を有するコンピュータ読み取り可能な記録媒体であって、
前記命令語は、
周囲長を有する形状を含む集積回路のレイアウトを受信し、
前記周囲長からオフセットセグメントを生成するように前記形状の周囲長のセグメントの少なくとも一部をオフセットし、
前記オフセットセグメントに応答して経路セグメントを形成し、
前記経路セグメントを含む経路の少なくとも一部を生成し、
前記経路の少なくとも一部を用いて前記集積回路のレイアウト内のネットをルーティングする命令語を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項３３】
前記周囲長のセグメントの少なくとも一部は、前記周囲長の全てのセグメントより少ないことを特徴とする請求項３２に記載のコンピュータ読み取り可能な記録媒体。
【請求項３４】
前記周囲長のセグメントの少なくとも一部は、円弧であることを特徴とする請求項３２に記載のコンピュータ読み取り可能な記録媒体。
【請求項３５】
前記命令語は、
前記周囲長のセグメントの少なくとも一部を用いて頂点を生成し、
前記頂点からセグメントを延長する命令語を更に含み、
前記命令語は、前記ネットをルーティングする際に、前記頂点から延長されたセグメントを用いて前記ネットをルーティングする命令語を含むことを特徴とする請求項３２に記載のコンピュータ読み取り可能な記録媒体。
【請求項３６】
前記頂点から延長されたセグメントは、前記周囲長に対して直角方向であることを特徴とする請求項３５に記載のコンピュータ読み取り可能な記録媒体。
【請求項３７】
前記命令語は、
前記形状の周囲長のセグメントの少なくとも一部をオフセットする際に、
前記形状の複数のセグメントを選択し、
対応する前記形状のエッジに対して直角方向に前記形状の前記選択されたセグメントを各々オフセットする命令語を含み、
前記命令語は、前記経路の少なくとも一部を形成するために、少なくとも１つの他のオフセットセグメントと交わるように前記形状の前記オフセットセグメントを各々延長する命令語を更に含むことを特徴とする請求項３２に記載のコンピュータ読み取り可能な記録媒体。
【請求項３８】
前記レイアウト内のネットは、第１ネットであり、
前記命令語は、バンプからピンに第２ネットをルーティングする命令語を更に含み、
前記形状は、前記バンプ及び前記第２ネットのうちの少なくとも１つを含むことを特徴とする請求項３２に記載のコンピュータ読み取り可能な記録媒体。
【請求項３９】
前記命令語は、前記第１ネットを前記バンプに隣接するバイアスにルーティングする命令語を更に含むことを特徴とする請求項３８に記載のコンピュータ読み取り可能な記録媒体。
【請求項４０】
前記命令語は、
第３形状の少なくとも１つのセグメントを生成するように第２形状の周囲長を拡張し、
前記第３形状の少なくとも１つのセグメントを用いて前記ネットをルーティングする命令語を更に含むことを特徴とする請求項３２に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路（ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ、以下「ＩＣｓ」）に関し、より詳細には、集積回路のレイアウト内のパワー、接地、信号ネットのルーティング（ｒｏｕｔｉｎｇ）方法及びシステムに関する。
【背景技術】
【０００２】
内部信号（ｉｎｔｅｒｎａｌ  ｓｉｇｎａｌｓ）は、ＩＣｓインターフェースからＩＯパッド、ＩＯセルのような入出力回路（ＩＯ）を介して外部に出力される。銅金属レイヤの上部の２乃至３のレイヤは、チップの内部でパワー又は接地配線のために使用される。９ＬＭ−１ＲＤＬ金属スキームでは、内部配線のための９つの銅金属レイヤ、再配線レイヤ（ｒｅｄｉｓｔｒｉｂｕｔｉｏｎ  ｌａｙｅｒ：ＲＤＬ）のための１つのアルミニウムレイヤがある。ＲＤＬのすぐ下に位置する最上部銅レイヤｍｅｔａｌ−９（又はＭ９）、ｍｅｔａｌ−８（又はＭ８）は、パワー又は接地のメッシュ状のネットワークを作成するために使用される。ＲＤＬレイヤは、フリップチップバンプ（ｆｌｉｐ−ｃｈｉｐ  ｂｕｍｐｓ）の間を接合するために使用され、パワー、接地、及び信号に対応する。信号バンプ（ｓｉｇｎａｌ  ｂｕｍｐｓ）は、パッケージルーティングを容易にするために、チップの端に配置され、コアパワー及び接地バンプは、チップのコア（ｃｏｒｅ）部分に向かって配置される。信号バンプとＶＤＤ／ＶＳＳストラップ（ｓｔｒａｐｓ）下で円滑なパワー伝送のために、バンプは、高速のデジタル回路を具備することが要求される。
【０００３】
しかし、信号バンプ下のパワーのためのネット及びそのような回路の接地は、抵抗を増加させる。更に、信号、パワー、接地ネットをルーティングすることは、最適のＲＤＬルーティングリソースが利用されずに、コアＶＤＤ／ＶＳＳバンプをＭ９とＭ８のストラップに接続する。これらのマニュアルアクセス方式（ｍａｎｕａｌ  ａｐｐｒｏａｃｈ）は、最適のパワー配分を達成することができず、また、均一的でも再現的でもない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第８，２２７，９２６号明細書
【特許文献１】米国特許第８，０８４，８７１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、最適のパワー配分を可能にする集積回路のレイアウト内のネットのルーティング方法及びシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明の一態様による少なくともメモリとプロセッサを含む電子システムによるネットのルーティング方法は、周囲長を有する形状を含む集積回路のレイアウトを受信する段階と、前記周囲長からオフセットセグメントを生成するように前記形状の周囲長のセグメントの少なくとも一部をオフセットする段階と、前記オフセットセグメントに応答して経路セグメントを形成する段階と、前記経路セグメントを含む経路の少なくとも一部を生成する段階と、前記経路の少なくとも一部を用いて前記集積回路のレイアウト内のネットをルーティングする段階と、を有する。
【０００７】
前記周囲長のセグメントの少なくとも一部は、前記周囲長の全てのセグメントより少なくあり得る。
前記周囲長のセグメントの少なくとも一部は、円弧であり得る。
前記ルーティング方法は、前記周囲長のセグメントの少なくとも一部を用いて頂点を生成する段階と、前記頂点からセグメントを延長する段階と、を更に含み、前記ネットをルーティングする段階は、前記頂点から延長されたセグメントを用いて前記ネットをルーティングし得る。
前記頂点から延長されたセグメントは、前記周囲長に対して直角方向であり得る。
前記形状の周囲長のセグメントの少なくとも一部をオフセットする段階は、前記形状の複数のセグメントを選択する段階と、対応する前記形状のエッジに対して直角方向に前記形状の前記選択されたセグメントを各々オフセットする段階と、を含み、前記ルーティング方法は、少なくとも１つの他のオフセットセグメントと交わるように前記形状の前記オフセットセグメントを各々延長する段階を更に含むことができる。
前記形状は、八角形であり得る。
前記形状は、バンプであり得る。
前記形状は、第２ネットであり得る。
前記レイアウト内のネットは、第１ネットであり、前記ルーティング方法は、バンプからピンに第２ネットをルーティングする段階を更に含み、前記形状は、前記バンプ及び前記第２ネットのうちの少なくとも１つを含み得る。
前記ルーティング方法は、前記第１ネットを前記バンプに隣接するバイアスにルーティングする段階を更に含むことができる。
前記ルーティング方法は、第３形状の少なくとも１つのセグメントを生成するように第２形状の周囲長を拡張する段階と、前記第３形状の少なくとも１つのセグメントを用いて前記ネットをルーティングする段階と、を更に含むことができる。
前記ルーティング方法は、前記集積回路の再配線レイヤ上に前記ネットをルーティングする段階を更に含むことができる。
前記オフセットセグメントに応答して経路セグメントを形成する段階は、前記形状の非隣接頂点に基づく頂点を用いて前記経路セグメントを形成し得る。
【０００８】
上記目的を達成するためになされた本発明の他の態様による少なくともメモリとプロセッサを含む電子システムによるネットのルーティング方法は、周囲長を有する形状を含む集積回路のレイアウトを受信する段階と、拡張されたセグメントを生成するように前記形状のセグメントの少なくとも一部を拡張する段階と、前記拡張されたセグメントに応答して経路セグメントを形成する段階と、前記経路セグメントを含む経路の少なくとも一部を生成する段階と、前記経路の一部を用いて前記集積回路のレイアウト内のネットをルーティングする段階と、を有する。
【０００９】
前記周囲長のセグメントの少なくとも一部は、前記形状の複数のセグメントを含み得る。
前記周囲長のセグメントの少なくとも一部は、前記形状の全てのセグメントより少なくあり得る。
前記ルーティング方法は、前記拡張された前記周囲長のセグメントの少なくとも一部の座標を見つける段階と、前記座標を用いて前記ネットをルーティングする段階と、を更に含むことができる。
【００１０】
上記目的を達成するためになされた本発明の一態様によるルーティングシステムは、メモリと、プロセッサと、を備え、前記メモリは、周囲長を有する形状を含む集積回路のレイアウトを格納し、前記プロセッサは、前記周囲長からオフセットセグメントを生成するように前記形状の周囲長のセグメントの少なくとも一部をオフセットし、前記オフセットセグメントに応答して経路セグメントを形成し、前記経路セグメントを含む経路の少なくとも一部を生成し、前記経路の少なくとも一部を用いて前記集積回路のレイアウト内のネットをルーティングする。
【００１１】
前記周囲長のセグメントの少なくとも一部は、前記周囲長の全てのセグメントより少なくあり得る。
前記周囲長のセグメントの少なくとも一部は、円弧であり得る。
前記プロセッサは、前記周囲長のセグメントの少なくとも一部を用いて頂点を生成し、前記頂点からセグメントを延長し、前記頂点から延長されたセグメントを用いて前記ネットをルーティングし得る。
前記頂点から延長されたセグメントは、前記周囲長に対して直角方向であり得る。
前記プロセッサは、前記形状の複数のセグメントを選択し、対応する前記形状のエッジに対して直角方向に前記形状の前記選択されたセグメントを各々オフセットし、少なくとも１つの他のオフセットセグメントと交わるように前記形状の前記オフセットセグメントを各々延長し得る。
前記形状は、八角形であり得る。
前記形状は、バンプであり得る。
前記形状は、第２ネットであり得る。
前記レイアウト内のネットは、第１ネットであり、前記プロセッサは、バンプからピンに第２ネットをルーティングし、前記形状は、前記バンプ及び前記第２ネットのうちの少なくとも１つを含み得る。
前記プロセッサは、前記第１ネットを前記バンプに隣接するバイアスにルーティングし得る。
前記プロセッサは、第３形状の少なくとも１つのセグメントを生成するように第２形状の周囲長を拡張し、前記第３形状の少なくとも１つのセグメントを用いて前記ネットをルーティングし得る。
前記プロセッサは、前記集積回路の再配線レイヤ上に前記ネットをルーティングし得る。
【００１２】
上記目的を達成するためになされた本発明の一態様による少なくともメモリとプロセッサを含む電子システムにネットのルーティング方法を実行させるための命令語を有するコンピュータ読み取り可能な記録媒体であって、前記命令語は、周囲長を有する形状を含む集積回路のレイアウトを受信し、前記周囲長からオフセットセグメントを生成するように前記形状の周囲長のセグメントの少なくとも一部をオフセットし、前記オフセットセグメントに応答して経路セグメントを形成し、前記経路セグメントを含む経路の少なくとも一部を生成し、前記経路の少なくとも一部を用いて前記集積回路のレイアウト内のネットをルーティングする命令語を含む。
【００１３】
前記周囲長のセグメントの少なくとも一部は、前記周囲長の全てのセグメントより少なくあり得る。
前記周囲長のセグメントの少なくとも一部は、円弧であり得る。
前記命令語は、前記周囲長のセグメントの少なくとも一部を用いて頂点を生成し、前記頂点からセグメントを延長する命令語を更に含み、前記命令語は、前記ネットをルーティングする際に、前記頂点から延長されたセグメントを用いて前記ネットをルーティングする命令語を含み得る。
前記頂点から延長されたセグメントは、前記周囲長に対して直角方向であり得る。
前記命令語は、前記形状の周囲長のセグメントの少なくとも一部をオフセットする際に、前記形状の複数のセグメントを選択し、対応する前記形状のエッジに対して直角方向に前記形状の前記選択されたセグメントを各々オフセットする命令語を含み、前記命令語は、前記経路の少なくとも一部を形成するために、少なくとも１つの他のオフセットセグメントと交わるように前記形状の前記オフセットセグメントを各々延長する命令語を更に含み得る。
前記レイアウト内のネットは、第１ネットであり、前記命令語は、バンプからピンに第２ネットをルーティングする命令語を更に含み、前記形状は、前記バンプ及び前記第２ネットのうちの少なくとも１つを含み得る。
前記命令語は、前記第１ネットを前記バンプに隣接するバイアスにルーティングする命令語を更に含み得る。
前記命令語は、第３形状の少なくとも１つのセグメントを生成するように第２形状の周囲長を拡張し、前記第３形状の少なくとも１つのセグメントを用いて前記ネットをルーティングする命令語を更に含み得る。
【発明の効果】
【００１４】
本発明のルーティング方法及びシステムによれば、集積回路のレイアウト内のネットの改善されたパワー配分を達成することができる。
【図面の簡単な説明】
【００１５】
【図１Ａ】本発明の一実施形態による形状のオフセットの周囲長のセグメントを示す図である。
【図１Ｂ】本発明の他の実施形態による形状のオフセットの周囲長のセグメントを示す図である。
【図２】図１Ａのセグメントが拡張された例を示す図である。
【図３】図２のセグメントを用いて生成された経路セグメントの一例を示す図である。
【図４Ａ】図２のセグメントの頂点を用いて生成された経路セグメントの一例を示す図である。
【図４Ｂ】図２のセグメントの頂点を用いて生成された経路セグメントの他の例を示す図である。
【図５】図３、図４Ａ、図４Ｂの経路セグメントを用いて生成された多様な実施形態による経路の一部を示す図である。
【図６】図３、図４Ａ、図４Ｂの経路セグメントを用いて生成された多様な実施形態による経路の一部を示す図である。
【図７】図３、図４Ａ、図４Ｂの経路セグメントを使用して生成された多様な実施形態による経路の一部を示す図である。
【図８】図３、図４Ａ、図４Ｂの経路セグメントを使用して生成された多様な実施形態による経路の一部を示す図である。
【図９】図３、図４Ａ、図４Ｂの経路セグメントを使用して生成された多様な実施形態による経路の一部を示す図である。
【図１０】図３、図４Ａ、図４Ｂの経路セグメントを使用して生成された多様な実施形態による経路の一部を示す図である。
【図１１】本発明の多様な実施形態による多様な形状で生成された経路セグメントを示す図である。
【図１２】本発明の多様な実施形態による多様な形状で生成された経路セグメントを示す図である。
【図１３】本発明の多様な実施形態による様々な形状で生成された経路セグメントを示す図である。
【図１４】本発明の多様な実施形態による様々な形状で生成された経路セグメントを示す図である。
【図１５】本発明の多様な実施形態による様々な形状で生成された経路セグメントを示す図である。
【図１６】本発明の一実施形態によって設定された経路を有する集積回路レイアウトの平面図である。
【図１７】本発明の他の実施形態によって生成された経路セグメントの例を示す図である。
【図１８】本発明の多様な実施形態による経路セグメントを使用して生成された経路の一部の一例を示す図である。
【図１９】本発明の多様な実施形態による経路セグメントを使用して生成された経路の一部の他の例を示す図である。
【図２０】本発明の一実施形態によるルーティングを実行する電子システムを示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００１７】
本発明の実施形態は、集積回路のルーティング（ｒｏｕｔｉｎｇ）に関するものであり、以下の実施形態は、本発明の技術分野の通常の知識を有する者にとって、本発明を実現して利用することを可能にし、特許出願及びその必須要素に対する内容として提供する。ここで説明する実施形態、一般的な原則、及びその特徴に対する多様な変形は、明確且つ明白である。本発明の実施形態は、主に具体的な実施形態における具体的な方法とシステムを使用して説明する。
【００１８】
図１Ａは、本発明の一実施形態による形状のオフセットの周囲長のセグメントを示す図である。本実施形態は、経路（ｒｏｕｔｅ）の少なくとも一部を生成するために、所定の形状（ｓｈａｐｅ）の周囲長の少なくとも一部分を周囲長（ｐｅｒｉｍｅｔｅｒ）からオフセット（ｏｆｆｓｅｔ）する。本実施形態において、形状１００は八角形である。周囲長は、八角形の周囲長１０２である。
【００１９】
形状１００は、複数の側線（ｓｉｄｅｓ）１０２を含む。本実施形態において、八角形は、８つの側線を含む。側線１０２は、周囲長の少なくとも一部を形成する。以下の説明では、８つの側線の全てを実施形態として使用する。しかし、全ての側線１０２の数より少ない数の側線又は側線１０２の一部を使用し得る。
【００２０】
各側線１０２は、対応するセグメント（ｓｅｇｍｅｎｔ）１０４を生成するためにオフセットされる。ここで、側線１０２は、距離１０６にオフセットされる。側線１０２が同じ距離１０６にオフセットされるとして説明するが、側線１０２は、それぞれ異なる距離及び量（ａｍｏｕｎｔ）にオフセットされ得る。
【００２１】
本実施形態において、形状１００の各セグメント１０３は、対応する形状１００のエッジ（ｅｄｇｅ）に対して実質的に直角方向にオフセットされる。しかし、他の実施形態において、セグメント１０３は、別の方向にオフセットされ得る。
【００２２】
図１Ｂは、本発明の他の実施形態による形状のオフセットの周囲長のセグメントを示す図である。本実施形態において、形状１００は、図１Ａの説明と同様に、側線１０２とセグメント１０３とを含む。セグメント１０３は、対応するセグメント１０４を生成するために、距離１０６で同様にオフセットされる。しかし、形状１００の各セグメントは、同じ距離、又は同じ量にオフセットされる必要はない。
【００２３】
例えば、形状１００のセグメント１０９は、セグメント１０５を生成するために距離１０７にオフセットされる。即ち、図示するように、形状１００のいくつかのセグメントは、距離１０６にオフセットされ、他のセグメントは、距離１０７にオフセットされる。しかし、他の実施形態において、形状１００の各セグメントは、それぞれ異なる距離でオフセットされ得る。或いは１つ又はそれ以上のセグメントは、同じ距離にオフセットされ、他のセグメントは、それぞれ異なる距離にオフセットされ得る。更に、以下で説明するように、新しいセグメントを生成するために形状１００の全てのセグメントがオフセットされる必要はない。
【００２４】
図２は、図１Ａのセグメントが拡張された例を示す図である。本実施形態において、一旦セグメント１０３が生成され、形状１００からオフセットされると、セグメント１０４は、長さ方向に延長される。ここで、セグメント１０４は、点線で示した延長されたセグメント１０８を生成するために長く伸びる。
【００２５】
本実施形態において、延長されたセグメント１０８は、セグメント１０４を含む線（ｌｉｎｅｓ）が交差する頂点（ｖｅｒｔｉｃｅｓ）１２０まで延長される。しかし、他の実施形態において、延長されたセグメント１０８は、これらの頂点１２０まで延長されないか又はこれを超えて延長され得る。
【００２６】
一実施形態において、少なくとも１つのセグメント１０８を生成するために、形状１００の周囲長１０２の少なくとも一部を延長する。本実施形態において、複数の延長されたセグメント１０８によって作られる形状を生成するように、周囲長１０２の全部又は一部を延長する。即ち、セグメント１０８を生成するためにセグメント１０３がオフセットされる例を一実施形態として説明したが、本実施形態において、周囲長１０２は、所望するセグメント１０８を作るために延長され得る。
【００２７】
以下で説明するように、ネット（ｎｅｔ）は、１つ又は複数のセグメント１０８を使用するか、又はセグメント１０８の一部を使用するなどの方法によって、ルーティング（ｒｏｕｔｅｄ）される。本実施形態において、ネットのルーティングは自動的（ａｕｔｏｍａｔｉｃａｌｌｙ）に行われる。即ち、ユーザは、障害物、バンプ（ｂｕｍｐ）の周りに手動でネットをルーティングする必要がない。このように、ネットの経路は、より均一であり、空間をより効果的に使用することができ、ユーザ又はユーザの好みなどに対してより少ない依存性を有する。一方、八角形の形状１００を例として用いたが、以下で説明するように、形状１００は、他の形態を有し得る。
【００２８】
図１Ａのセグメント１０４が延長されたセグメント１０８を例として用いたが、他のセグメントも同様に延長され得る。例えば、図１Ｂのセグメント１０５は、一致する拡張された形状の頂点（ｖｅｒｔｅｘ）に延長され、頂点１２０からのオフセットに整列されるか、又は同様に延長される。
【００２９】
図３は、図２のセグメントを用いて生成された経路セグメント（ｒｏｕｔｅ  ｓｅｇｍｅｎｔｓ）の一例を示す図である。本実施形態において、セグメント１０８は、経路セグメント１１０を生成するために使用される。ここで、各セグメント１０８は、対応する経路セグメント１１０−１〜１１０−８を生成するために使用される。商業的目的で用いられる経路ツール（ｒｏｕｔｅ  ｔｏｏｌ）において、経路セグメントは、その末端が設計ルールチェック（ｄｅｓｉｇｎ  ｒｕｌｅ  ｃｈｅｃｋｉｎｇ：ＤＲＣ）に抵触することを避けるため、長方形ではなく、八角形又は他の形状になる。
【００３０】
経路セグメント１１０−１〜１１０−８が、対応するセグメント１０８の末端から末端に延長される例を示しているが、経路セグメント１１０−１〜１１０−８は、対応するセグメント１０８の末端まで、又は末端を越えて延長され得る。例えば、経路セグメント１１０は、実質的に均一な移動経路を生成するために、他の経路セグメントに適切に接続されるように、長くなるか又は短くなる。
【００３１】
図４Ａは、図２のセグメント１０８の頂点を用いて生成された経路セグメントの一例を示す図である。本実施形態において、経路セグメント１２２は頂点（ｖｅｒｔｉｃｅｓ）１２０を使用して生成される。例えば、経路セグメント１２２は頂点１２０から延長される。複数の経路セグメント１２２は、同じ頂点１２０から生成される。同じ頂点１２０から生成された各経路セグメント１２２は、互いに異なる方向に延長される。例えば、第１経路セグメント１２２−９は頂点１２０を使用する１つのセグメント１０８から実質的に直角方向に延長される。他の経路セグメント１２２−１３は頂点１２０を使用する他のセグメント１０８に実質的に直角方向に延長される。経路セグメント１２２−１〜１２２−１６は頂点（ｖｅｒｔｉｃｅｓ）１２０を使用して生成された経路セグメントの実施形態を示す。
【００３２】
経路セグメント１２２がセグメント１０８に対して実質的に直角方向であるとして説明したが、他の実施形態において、経路セグメント１２０は、他の方向に延長され得る。例えば、経路セグメント１２２は、形状に対して実質的に独立した方向に延長される。他の例として、経路セグメント１２２は頂点１２０の角度を二分する方向に延長される。他の実施形態において、経路セグメント１２２は、２つのセグメント１０８によって形成された角度に全く関連しない方向に延長され得る。
【００３３】
図４Ｂは、図２のセグメントの頂点を用いて生成された経路セグメントの他の例を示す図である。本実施形態において、経路セグメント１２２は、図４Ａと同様に、頂点１２０から延長される。しかし、本実施形態において、経路セグメント１２３は、拡張された形状の頂点ではなく、頂点１２１から延長される。ここで、頂点１２１は、セグメント１０８上に位置し、セグメント１０８の末端に位置しない。
【００３４】
経路セグメント１２３は頂点１２１から様々な方向に延長される。例えば、経路セグメント１２３−１は、対応するセグメント１０８に対して実質的に直角方向に頂点１２１から延長される。経路セグメント１２３−２、１２３−３は、隣接するセグメント１０８に対して実質的に直角方向に延長される。
【００３５】
経路セグメント１２３が、対応するセグメント１０８に対して実質的に直角方向に延長されるとして説明したが、経路セグメント１２３は、上述の経路セグメント１２２と同様に、任意の角度に延長され得る。更に、１つの頂点１２１に対応する経路セグメント１２３を実施形態として用いたが、様々な数の頂点１２１が、同じセグメント１０８上に位置してもよく、別のセグメント上に位置してもよく、対応する経路セグメント１２３を生成するために使用される。
【００３６】
図５〜図１０は、図３、図４Ａ、図４Ｂの経路セグメントを用いて生成された多様な実施形態による経路の一部を示す図である。一実施形態において、上述の様々な経路セグメントが少なくとも１つの経路の一部を形成するために、様々な方法で結合される。
【００３７】
図５を参照すると、経路セグメント１１０、１２２が２つの経路セグメント１３０、１３２を生成するために結合される。図３から、経路セグメント１１０−１、１１０−２、１１０−３が経路セグメント１３０の一部を形成するために使用され、もう一方の、経路セグメント１１０−５、１１０−６、１１０−７は経路セグメント１３２の一部を形成するために使用される。図４から、経路セグメント１２２−１、１２２−３が経路セグメント１３０の一部を形成するために使用され、もう一方の、経路セグメント１２２−２、１２２−４は経路セグメント１３２の一部を形成するために使用される。経路セグメント１３０、１３２の全ては形状１００を回避する。具体的に、形状１００からオフセットされたセグメントから経路セグメント１３０、１３２の構成成分が形成されることにより、経路セグメント１３０、１３２は、形状１００を回避する。一実施形態において、経路セグメント１３０、１３２は、他のネット（ｎｅｔ）の一部である。しかし、他の実施形態において、経路セグメント１３０、１３２は、同じネットの一部である。
【００３８】
図６の経路セグメント１３４、１３６は、図５の経路セグメント１３０、１３２と類似している。しかし、経路セグメント１３４、１３６は、図３及び図４の別の経路セグメントから形成される。図３から、経路セグメント１１０−１、１１０−２、１１０−８が経路セグメント１３４の一部を形成するために使用され、もう一方の、経路セグメント１１０−４、１１０−５、１１０−６は経路セグメント１３６の一部を形成するために使用される。図４から、経路セグメント１２２−５、１２２−７が経路セグメント１３４の一部を形成するために使用され、もう一方の、経路セグメント１２２−６、１２２−８は経路セグメント１３６の一部を形成するために使用される。
【００３９】
同様に、図７の経路セグメント１３８、１４０は、図５の経路セグメント１３０、１３２と類似しており、また、図３及び図４のそれぞれ異なる経路セグメントから形成される。図３から、経路セグメント１１０−１、１１０−７、１１０−８が経路セグメント１３８の一部を形成するために使用され、もう一方の、経路セグメント１１０−３、１１０−４、１１０−５は経路セグメント１４０の一部を形成するために使用される。図４から、経路セグメント１２２−９、１２２−１１が経路セグメント１３８の一部を形成するために使用され、もう一方の、経路セグメント１２２−１０、１２２−１２は経路セグメント１４０の一部を形成するために使用される。
【００４０】
図８の経路セグメント１４２は、図５の経路セグメント１３０と類似している。しかし、本実施形態では、別の経路セグメントが形成されない。即ち、経路セグメント１３２と同様の経路セグメントが形成される必要はない。
【００４１】
図９の経路セグメント１４４、１４６は、図５の経路セグメント１３０、１３２と類似している。しかし、経路セグメント１４４は、その末端に経路セグメント１１０−１、１２２−３を含まない。経路セグメント１４４は、図５、図６、図８の経路セグメント１１０−２と類似しているが、より延長された経路セグメント１４８を含む。即ち、新しい経路セグメントを形成するため、形状１００に関連なく、他の方法に関連する他の経路セグメントが図３及び図４の経路セグメントに結合される。
【００４２】
図１０の経路セグメント１５０は、図８の経路セグメント１４２と類似している。しかし、本実施形態において、経路セグメント１５０は、経路セグメント１２２−１を含まない。これに代わって、経路セグメント１５０は、経路セグメント１１１−１、１２３−３を含む。経路セグメント１１１−１は、上述の図４Ｂの頂点１２０、１２１を使用して生成された経路セグメントの一例である。即ち、経路セグメント１１１−１は、拡張された形状の頂点１２０からセグメント１０８上の頂点１２１に延長されたものである。経路セグメント１２３−３は頂点１２１から延長されたものである。頂点１２１と類似の頂点に関連する経路セグメントを使用した例を実施形態として用いたが、他の実施形態において、様々なセグメントに沿って他の頂点から形成された経路セグメント、又は他のセグメントが使用される。
【００４３】
上述のように、経路セグメントに不連続（ｄｉｓｃｏｎｔｉｎｕｉｔｉｅｓ）が存在することを示したが、所定の構造を経路セグメント間で独立した経路セグメントとして使用することができる。従って、経路セグメントは、このような不連続なしに形成することができる。
【００４４】
図１１〜図１５は、本発明の多様な実施形態による多様な形状で生成された経路セグメントを示す図である。図１１を参照すると、形状は六角形である。点線２０２は形状２００からオフセットされて延長されたセグメントの一例を示す。複数の経路セグメント２０４、２０６、２０８、２１０が拡張された形状２０２のセグメントを使用する例を示す。
【００４５】
図１２を参照すると、形状３００は五角形である。形状３００のセグメントが２つの互いに異なる形状３０２、３０４に整列されたセグメントに拡張される。経路セグメント３０６は形状３０２の一セグメント及び形状３０２の頂点（ｖｅｒｔｉｃｅｓ）を使用して形成されたセグメントから形成される。経路セグメント３０８は形状３０４のセグメント及び頂点（ｖｅｒｔｉｃｅｓ）を使用して形成される。即ち、本来の形状３００から異なる距離にオフセットされたセグメントが同じ形状３００の周辺の経路を作るために使用される。
【００４６】
図１３を参照すると、形状４００は円である。即ち、一実施形態において、形状は、限られた数の側線を有する多角形である必要はなく、連続したカーブ（ｃｕｒｖｅｓ）を含むことができる。形状４００は、頂点を持たないので、経路セグメント４０２、４０４を生成するためにセグメントの頂点を形状４０６から生成する。例えば、円４００の弧（ａｒｃ）は、オフセットされて、経路セグメント４０２の弧又は経路セグメント４０４の弧に拡張される。このように、経路セグメント４０２、４０４は、拡張された円４０６の少なくとも一部の弧を含む。
【００４７】
図１４において、形状４００は、図１３と同様の円である。経路セグメント４０２、４０４の弧を図１３で説明したが、形状４０６に沿って頂点（ｖｅｒｔｉｃｅｓ）を使用する別の経路セグメントを生成する。例えば、経路セグメント４１４は、経路セグメント４０８として、弦（ｃｈｏｒｄ）を含む。経路セグメント４０８の弦は形状４０６に沿って頂点４１０、４１２の間に延長される。しかし、バンプ（ｂｕｍｐ）から経路セグメント４０８までの最短距離が接する場合、多角形に延長することもできる。
【００４８】
形状４０６に関連する弦（ｃｈｏｒｄ）と弧（ａｒｃ）を実施形態として用いたが、対応する頂点（ｖｅｒｔｉｃｅｓ）の間の経路セグメントは、他の形を形成することができる。例えば、経路セグメントは、頂点４１０、４１２の間に延長されるが、形状４０６と一致しない弦を形成する。他の例として、経路セグメントは、他の経路セグメントや形状に基づかない頂点４１０、４１２の間の任意の経路（ｐａｔｈ）を有する。
【００４９】
図１５を参照すると、形状５００は、不規則な形状である。即ち、形状５００は、弧と直線セグメント（ｓｔｒａｉｇｈｔ  ｓｅｇｍｅｎｔ）とを含む。１つの弧と１つのセグメントを有する不規則な形状を具体的な実施形態として用いたが、どのような数の弧、セグメント、カーブなども、形状を作るために使用することができる。
【００５０】
形状５００を使用する一実施形態として、弧セグメント（ａｒｃ  ｓｅｇｍｅｎｔ）５０８が拡張された形状５０２に沿って形成される。直線セグメント（ｓｔｒａｉｇｈｔ  ｓｅｇｍｅｎｔ）５０４は、拡張された形状５０２に沿って形成される。弧セグメント５０８と同様に、直線セグメント５０４の末端は、対応する拡張された形状５０２のセグメントの末端まで延長されない。セグメント５０６は、所望する直線セグメント５０４の末端から延長される。
【００５１】
即ち、経路セグメントを生成するために使用される形状５０２の周囲長の少なくとも一部は、対応する形状５００のセグメントの全部を含む必要はない。即ち、対応する形状５００の全てのセグメントより少ない部分を使用する。
【００５２】
１つのセグメントは、１つの弧、１つのカーブが形状の特徴を明確にするために使用されたが、その各々は、セグメントに対してオフセットされたり、拡張されたり、長くなったり、短くなったり、又は上述のようになる。
【００５３】
図１６は、本発明の一実施形態によって設定された経路を有する集積回路レイアウトの平面図である。本実施形態において、レイアウト６００は、集積回路の内部の回路６２６とインターフェースするために使用される相互接続レイヤ（ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  ｌａｙｅｒｓ）を示す。回路６２６は、デジタル回路であり得る。ここで、レイアウト６００は、バンプ（ｂｕｍｐｓ）６０２、６０４、６０６を含む。回路６２６は、バンプ６０２、６０４、６０６の下に配置される。他の実施形態において、回路６２６は、単にバンプ６０６の下にのみ配置される。
【００５４】
本実施形態において、バンプ６０２、６０４は、パワー（電源）接続のために使用される。バンプ６０６は、入力又は出力のような信号の接続のために使用される。より明確に、参照符号を使用して表示していないが、バンプ６０６と類似の六角形の形状が信号の接続のために使用される。
【００５５】
ＶｓｓとＶｄｄを使用する実施形態において、バンプ６０２とバンプ６０４は、各々ＶｓｓとＶｄｄに接続するために使用される。ストラップ（ｓｔｒａｐｓ）６０８、６１０は、パワーを集積回路の周辺部上の回路６２６に伝送するためにレイヤ上に配置される。バンプ６０６は、集積回路のエッジ６２２の上又は近所に配置される。ストラップ６０８、６１０は、エッジ６２２の近所で回路６２６にパワーを供給する。しかし、バンプ６０６が実質的にエッジ６２２付近のバンプ位置を大部分占めるため、バンプ６０２、６０４を通じたパワーの接続は、パワーを必要とする回路６２６からオフセットされる。ネット６１２、６１４は、各々バイアス６１６、６２４を通じてＶｓｓとＶｄｄをストラップ６１０、６０８に接続する。このようなネット６１２、６１４は、バンプだけでなく、バンプ６０６を集積回路のピン６２０に接続するネット６１８の周りでも、ルーティングされる。
【００５６】
ネット６１２、６１４、６１８を形成する場合、受信したレイアウトに対して上述の技術を使用して実行する。例えば、直線経路は、エッジ６２２に最も近いバンプ６０６を対応するピン６２０に接続するために使用する。しかし、エッジ６２２から遠く離れたバンプ６０６のために、上述のように、バンプ６０６の形状は経路セグメントを生成するために使用される。他の実施形態において、エッジ６２２から、よりオフセットされたバンプ６０６のために、上述のように、他のバンプ６０６に対応する経路セグメント６１８が経路セグメントを生成するための形状に使用される。
【００５７】
例えば、設計ルール（ｄｅｓｉｇｎ  ｒｕｌｅ）がネット６１８のための経路の幅Ｗを具体化する。同様に、設計ルールが経路と隣接する導電体構造の間の最小距離Ｄを具体化する。図１〜図３及び図１６を参照すると、例えば、距離１０６は、Ｄ＋Ｗ／２と同一である。即ち、セグメント１０４は、Ｄ＋Ｗ／２によるオフセットである。経路セグメント１１０は、対応するセグメント１０８の中心の幅Ｗを有するように生成される。結果として、設計ルールを満足させる経路が形成される。
【００５８】
一実施形態において、一旦ネット６１８が形成されると、ネット６１２、６１４が形成される。バンプ６０６は、ネット６１２、６１４の経路セグメントを生成するための形状として使用される。即ち、バンプ６０６とネット６１８の形状は、経路セグメントを形成するセグメントを生成するために使用される。経路セグメントを使用して、ネット６１２、６１４は、バンプ６０６に実質的に隣接した対応するバイアス６１６、６２４にルーティングされる。
【００５９】
一実施形態において、ネット６１２、６１４、６１８は、集積回路の再配線レイヤ（ｒｅｄｉｓｔｒｉｂｕｔｉｏｎ  ｌａｙｅｒ）にルーティングされる。しかし、他の実施形態において、ネットは他のレイヤにルーティングされる。また、集積回路の入力／出力インターフェースをルーティングすることを実施形態として用いたが、ここで説明するルーティング技術は、集積回路の他の部分又は他の類似の構造に適用される。
【００６０】
一実施形態において、フリップチップ（Ｆｌｉｐ−Ｃｈｉｐ）を使用する集積回路は、外部とインターフェースするＩＯパッドとバンプとＲＤＬ（Ｒｅｄｉｓｔｒｉｂｕｔｉｏｎ  Ｌａｙｅｒ）金属レイヤで構成される。ＲＤＬレイヤは、パッドとバンプに接続される。バンプは、コアパワー及び接地バンプ（ｃｏｒｅ  ｐｏｗｅｒ  ａｎｄ  ｇｒｏｕｎｄ  ｂｕｍｐ）とＩＯ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）バンプに分類される。コアパワー及び接地バンプはチップの中央に位置し、ＩＯバンプはチップの周辺に位置する。ＩＯバンプの下に位置する回路６２６は、ＩＲ降下（ｄｒｏｐ）によって、より少ないパワー（電力）を受信する。ＩＲ降下を減らして効果的にＲＤＬレイヤを利用するために、最も近いパワー及び接地バンプからＩＯバンプへの自動スニーキング（ａｕｔｏｍａｔｉｃ  ｓｎｅａｋｉｎｇ）（迂回）が実行される。
【００６１】
一実施形態において、信号、パワー及び接地信号のためにＲＤＬレイヤを使用することは、より向上させて改善させた方法に該当する。更に、ＩＣチップのＩＲ降下が減る。このようなルーティングは自動的に実行される。
【００６２】
上述のように、これらのルーティングは、多角形と円とを拡張し、新しく組織し、新しい形状を生成するために実行される。パイプ（ｐｉｐｅｓ）のような新しい金属の形状が１つの座標（ｃｏｏｒｄｉｎａｔｅ）から別の方向に延長されるか又は他の座標に延長されて形成される。パイプは、上述の経路セグメントに類似する。例えば、パイプは、上述の図４Ａ及び図４Ｂに関連する経路セグメント１２２、１２３などに類似する。
【００６３】
一実施形態において、コアパワー及び接地バンプは、主にチップの中央に集中する。（階層的なデザインで）ＩＯバンプ領域（ＩＯ  ｂｕｍｐ  ｒｅｇｉｏｎ）の下に物理的な場所と経路パーティション（ｒｏｕｔｅ  ｐａｒｔｉｔｉｏｎｓ）が位置する。このような場所と経路パーティションは、ＩＯバンプ領域で、十分なパワー及び接地バンプが不足するために十分なパワーが供給されない。パワーを供給するため、図１６に示すように、パワー及び接地ネットが一番近いパワー及び接地バンプからルーティングされる。これらのパワー及び接地ＲＤＬ経路は、図１６に示すように、バイアス６１６、６２４を使用してストラップ６０８、６１０の低レベルパワーメッシュ（ｍｅｓｈ）に接続される。
【００６４】
一実施形態において、ルーティングの効率を改善し、ＩＯ  ＲＤＬネットのオープン（ｏｐｅｎ）を防止し、コア領域からＩＯ領域へのコアパワー及び接地ネットのスニーキング（ｓｎｅａｋｉｎｇ）を十分に許容するため、スネークルーティング（ｓｎａｋｅｒｏｕｔｉｎｇ）を用いることができる。スネークルーティングは、ＲＤＬに移動する蛇形状のようなジグザグパターンでネットをルーティングすることをいう。ＩＯネットは、（直線の経路に代わり）バンプ形状のスタッガードバンプ（ｓｔａｇｇｅｒｅｄ  ｂｕｍｐｓ）の周辺にルーティングされる。これはスネーク形状のルーティングパターンを生成する。
【００６５】
一実施形態において、このような種類のスネークルーティングは、ＩＯネット、コア及び接地ネットのような様々なタイプのネットのために行われる。ＩＯｓに関連するネットに関連して、ネットは、一般的に、ＩＯパッド上の領域でルーティングされ、ＩＯを最も近いバンプに接続する。このようなネットは、一般的に、優先的に最も短く、きれいな経路を選択するようにルーティングされる。コアパワー及び接地のネットにおいて、ネットはコア領域からＩＯパッド領域にルーティングされたＶＤＤ／ＶＳＳネットである。これらのネットは、最後にルーティングされ、一般的になるように、ＩＯ領域に対して“スニーク（ｓｎｅａｋｅｄ）”される。このようなルーティングは、単にＩＯ領域の近くのＩＲ降下を減らすために必要である。上記説明でスニーキング（ｓｎｅａｋｉｎｇ）とスネーキング（ｓｎａｋｉｎｇ）経路が分離されるとして説明したが、上述のルーティング技術は、スニーキングとスネーキング経路の全てに使用することができる。
【００６６】
スネークルーティング（ｓｎａｋｅ  ｒｏｕｔｉｎｇ）を達成するために、バンプ形状（ｂｕｍｐ  ｓｈａｐｅ）を考慮すると仮定した場合、上述のように、バンプは、一連のスタッガード状（ｓｔａｇｇｅｒｅｄ  ｆａｓｈｉｏｎ）又は線状（ｌｉｎｅａｒ  ｆａｓｈｉｏｎ）に置かれた一般的な八角形を含む。通常、八角形は、長さ（Ｓ）を有する８つのエッジと８つの頂点（ｖｅｒｔｉｃｅｓ）を有する。Ｘ０とＹ０の座標（ｃｏｏｒｄｉｎａｔｅ）が与えられるとした場合、八角形の座標は、表１のように示される。
【００６７】
【表１】
2014186734.tif 000003
【００６８】
表１で、０．７０７を１／√２を表すために使用する。しかし、他の実施形態において、より正確な値を使用することができる。
【００６９】
一旦、座標が計算されると、八角形は、表１に示すように、対応するＸとＹの座標を有する頂点のリストによって物理的な空間で表される。“ｃｒｅａｔｅ＿ｏｃｔａｇｏｎ”と称される関数が、上記公式を使用して、所定の基点（Ｘ，Ｙ）と長さ“Ｓ”を有する八角形を生成するために使用される。
【００７０】
“ｃｒｅａｔｅ＿ｏｃｔａｇｏｎ＿ｅｄｇｅｓ”関数が、所定の八角形の座標のリストから八角形のエッジを生成するために使用される。例えば、上述の各近接する座標の対が八角形のセグメントを生成するために使用される。
【００７１】
金属形状又は別の経路セグメントを生成するために、Ｘ，Ｙ座標の対が生成される。ネット６１８と同様のスニークパターン（ｓｎｅａｋ  ｐａｔｔｅｒｎｓ）を生成するために、所定の距離ｄにオフセットされた八角形の周りの座標が生成される。そして所定の幅Ｗの金属形状が、各エッジのオフセットエッジ（ｏｆｆｓｅｔ  ｅｄｇｅｓ）のために生成される。
【００７２】
一実施形態において、ｄ＋Ｗ／２の距離の八角形の周囲の座標が確認される。例えば、図１のセグメント１０４の座標が確認される。この後、このような座標は、金属形状を生成するために使用される。これを達成するために、八角形の座標は、新しい座標を取得するために拡張されるか又は新たにサイズが調節される。先ず、八角形の個々のエッジは、距離ｄ＋Ｗ／２の実質的に平行なエッジを見つけるように拡張される。平行なエッジの新しい座標は、対応するエッジのＸとＹの座標から値を加算又は減算によって得られる。水平及び垂直のエッジの新しい座標はｄ＋Ｗ／２を加算又は減算によって得られ、一方、４５°のエッジは、該当エッジの直角三角形に依存する（（ｄ＋Ｗ／２×ｓｉｎ４５°）又は（ｄ＋Ｗ／２×ｃｏｓ４５°）の）加算及び／又は減算によって得られる。ここでｓｉｎ４５°がｃｏｓ４５°と同一であるが、別の角度を有する他の実施形態において、その値は同一ではない。従って、直角三角形の適切な辺の長さは、必要に応じて増加又は減少する。
【００７３】
次に、これらのエッジの交点が新たに拡張された座標を見つけるために使用される。これらのエッジの交点は、他の直角三角形を使用することによって見つけることができる。これらの三角形の反対側又は近接する辺は２つの隣接するエッジの間のＸ座標とＹ座標に違いがある。これらの違いは、２つの隣接する拡張されたエッジが交差する新しいＸ座標とＹ座標を計算するために使用される。
【００７４】
座標を見つけるために特定の技術を上述したが、他の技術を使用してもよい。例えば、基点（ｏｒｉｇｉｎ）の八角形の頂点が拡張され、拡張された頂点が拡張された多角形の頂点のために使用される。
【００７５】
一旦拡張された多角形が生成されると、バンプの周りの金属形状が生成される。しかし、パイプ（ｐｉｐｅｓ）と称される金属形状を生成することを所望する場合もある。パイプは、個々の八角形のエッジの頂点から始まる金属の一部分であり、パイプ長さ（ｐｉｐｅ＿ｌｅｎｇｔｈ）と称される長さに延長されたものである。パイプは、バンプに接近するための空間を提供する。パイプは、上述の経路セグメント１２２と類似する。
【００７６】
八角形のバンプの周りの金属形状を生成するために、“ｃｒｅａｔｅ＿ｍｅｔａｌ＿ｓｈａｐｅｓ＿ａｒｏｕｎｄ＿ｂｕｍｐ”と称される関数が、次の入力を行う。１）エッジ（ｅｄｇｅｓ）−エッジの座標の接続のために生成する必要がある金属形状のエッジのリストであり、各エッジに対して、その値は０〜７である。２）パイプ＿エッジ（ｐｉｐｅ＿ｅｄｇｅｓ）−生成される必要があるパイプ金属形状のエッジのリストであり、各エッジに対して、その値は０〜７である。３）パイプ＿長さ（ｐｉｐｅ＿ｌｅｎｇｔｈ）−パイプ金属形状の長さであり、その値は実数（ｆｌｏａｔ）又は整数（ｉｎｔｅｇｅｒ）である。４）距離（ｄｉｓｔａｎｃｅ）−八角形のバンプの境界からの金属の距離であり、その値は実数又は整数である。５）幅（ｗｉｄｔｈ）−金属の幅であり、その値は、実数又は整数である。６）ネット＿ネーム（Ｎｅｔ＿ｎａｍｅ）−ＶＤＤ、ＶＳＳなどのように生成する必要がある金属形状のためのネットの名前である。７）オクタゴン（Ｏｃｔａｇｏｎ）−八角形の座標である。
【００７７】
関数の結果は、提供された入力の選択に基づいたバンプの周りの一般的な金属形状の生成である。エッジ（ｅｄｇｅｓ）とパイプ＿エッジ（ｐｉｐｅ＿ｅｄｇｅｓ）の全ての順列（Ｐｅｒｍｕｔａｔｉｏｎｓ）と組み合わせ（Ｃｏｍｂｉｎａｔｉｏｎｓ）は、形状を生成するために使用される。上述の図５〜図１０は、関数の出力を示す。
【００７８】
実数と整数のような特定のパラメータタイプを上述したが、他のタイプを、要求される正確性、レイアウトシステムの能力などのために使用することができる。
【００７９】
一実施形態において、このような関数のためのコードは、様々な言語で書かれる。例えば、コードは、ＴＣＬ（Ｔｏｏｌ  ｃｏｍｍａｎｄ  Ｌａｎｇｕａｇｅ）で書かれ、使用されるツールは、商業的目的で用いられる経路ツールである。
【００８０】
従って、一実施形態において、コアパワー及び接地スニーキング（ｃｏｒｅ  ｐｏｗｅｒ  ａｎｄ  ｇｒｏｕｎｄ  ｓｎｅａｋｉｎｇ）は、スネーク（ｓｎａｋｅ）のようなパターンを使用して生成される。これらの経路は、図１６に示すように、ネットをスネークパターンにルーティングするＲＤＬルータのためのガイドのように動作する。スネークルーティングパターンは、図１６の例と類似な達成されたネット（ａｃｈｉｅｖｅｄ  ｎｅｔ）である。より多いコアＶＤＤ／ＶＳＳの一般的なスネーキングがあり得る。そして前のオープンＩＯネットのうちの１つがきれいにルーティングされる。
【００８１】
図１７は、本発明の他の実施形態によって生成された経路セグメントの例を示す図である。本実施形態において、形状７００は、拡張された形状７０２及び／又は頂点７０４、７０６を生成するために使用される。本実施形態の形状７００は、上述の形状１００と類似している。しかし、他の形状も使用可能である。経路セグメント７０７は頂点７０４と頂点７０６のうちの対応する１つの間に形成される。例えば、経路セグメント７０７＿１は頂点７０４と頂点７０６＿１との間に形成され、経路セグメント７０７＿２は頂点７０４と頂点７０６＿２との間に形成される。
【００８２】
上述の経路セグメントと異なり、経路セグメント７０７は、拡張された形状７０２に従う必要はない。即ち、経路セグメント７０７を生成するために使用される頂点は、拡張された形状７０２に従う頂点に隣接しない。これは、経路セグメント７０７が隣接する頂点で構成された経路セグメントと共に使用できないことを意味するものではなく、経路セグメントが代替、及び／又は補充経路セグメントであることを意味する。
【００８３】
経路セグメント７０７が１つの頂点７０４を共通に有するとして説明したが、他のセグメントは、他の頂点を共通に有することができる。即ち、頂点７０４を使用する例は単に一実施形態に過ぎず、他の経路セグメントが、他の隣接しない頂点に延長された他の頂点を使用して生成され得る。
【００８４】
図１８及び図１９は、本発明の多様な実施形態による経路セグメントを使用して生成された経路の一部の例を示す図である。図１７及び図１８を参照すると、経路セグメント７０８は、経路セグメント７０７＿２と同様に生成される。経路セグメント７０７＿２は頂点７０４から頂点７０６＿２に延長される。
【００８５】
本実施形態において、経路セグメント７０８は形状７００と重なる。しかし、経路セグメント７０８は形状７００と異なるレイヤ上にルーティングされる。例えば、経路セグメント７０８は、マルチレイヤＲＤＬを有するレイアウト内の他のＲＤＬレイヤ上にルーティングされる。ここで、バイアス７１０、７１２は、経路セグメント７０８を経路セグメント７１４、７１６に接続する。
【００８６】
２つのバイアス７１０、７１２を示しているが、他の実施形態では、別の経路セグメントを経路セグメント７０８として、同じレイヤ上に配置することができる。例えば、経路セグメント７１６を経路セグメント７０８と同じレイヤに配置する。経路セグメント７０８、７１６は、バイアス７１２なしで接続される。
【００８７】
図１７及び１９を参照すると、経路セグメント７１８は、頂点７０４から頂点７０６＿２に延長され、経路セグメント７１４、７１６に接続される。しかし、経路セグメント７１８は形状７００と同じレイヤ上に生成される。その結果、経路セグメント７１８は形状７００にショートされる。一実施形態において、形状７００と経路セグメント７１８は、ＶＳＳネットのような同一のネットの一部である。従って、形状７００と交わる経路セグメント７１８が選択される。
【００８８】
経路セグメント７１４、７１６、７１８が長方形の末端を有するものとして示しているが、末端は、要求される形に選択される。また、経路セグメントと形状の様々な大きさ、位置などを上述したが、大きさ、位置などは、設計ルールの制約に符合するように選択される。
【００８９】
図２０は、本発明の一実施形態によるルーティングを実行する電子システムを示す図である。電子システム２０００は、ノートパソコン、Ｕｌｔｒａ−Ｍｏｂｉｌｅ  ＰＣｓ（ＵＭＰＣ）、タブレットＰＣ、サーバ、ワークステーション、モバイル通信装置などを含むコンピュータのような広い範囲の電子装置の一部である。例えば、電子システム２０００は、バス２０２０を利用してデータ通信を行うメモリシステム２０１２、プロセッサ２０１４、ＲＡＭ２０１６、及びユーザインターフェース２０１８を含む。ユーザインターフェース２０１８は、上述の技術を利用して、設計者がレイアウトをルーティングすることを可能にする。
【００９０】
プロセッサ２０１４は、マイクロプロセッサ又はモバイルプロセッサ（ＡＰ）である。プロセッサ２０１４は、ＦＰＵ（ｆｌｏａｔｉｎｇ  ｐｏｉｎｔ  ｕｎｉｔ）、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｉｎｔ）、ＧＰＵ（ｇｒａｐｈｉｃ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＤＳＰ  ｃｏｒｅ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｃｏｒｅ）、又はその組み合わせを含むプロセッサコア（図示せず）を含む。プロセッサ２０１４は、プログラムを実行して電子システム２０００を制御する。
【００９１】
ＲＡＭ２０１６は、プロセッサ２０１４の動作メモリとして使用される。代わりに、プロセッサ２０１４とＲＡＭ２０１６は、シングルパッケージボディ（ｓｉｎｇｌｅ  ｐａｃｋａｇｅ  ｂｏｄｙ）にパッケージされ得る。
【００９２】
ユーザインターフェース２０１８は、電子システム２０００からデータを出力するか又は電子システム２０００にデータを入力するために使用される。例えば、ユーザインターフェース２０１８は、レイアウトを見るためのディスプレイ、経路を調整するための入力装置と出力装置、初期化自動ルーティング（ｉｎｉｔｉａｔｅ  ａｕｔｏｍａｔｉｃ  ｒｏｕｔｉｎｇ）、又は上述のものを含む。
【００９３】
メモリシステム２０１２は、集積回路のレイアウトのように、プロセッサ２０１４を駆動するためのコード、プロセッサ２０１４によって処理されるデータ、又は外部入力データを格納する。メモリシステム２０１２は、コントローラとメモリとを含む。メモリシステムは、ハードドライブ、ソリッドステートドライブ、光学ドライブ、フラッシュメモリ、ネットワークに接続されたストレージ装置のようなコンピュータ読み取り可能な記録媒体に対するインターフェースを含む。このようなコンピュータ読み取り可能な記録媒体は、上述の様々な動作を実行するための命令を格納する。
【００９４】
本明細書において、一つの実施形態又は一実施形態における特定の特徴、構造、特性が本発明の少なくとも一つの実施形態を意味する。従って、上述の内容のうち、多様な箇所で使用した一つの実施形態又は一実施形態という用語は同一実施形態を示すものではない。更に、所定の特定、構造、又は特徴は適切な方法で一つ又は複数の実施形態と結合され得る。
【００９５】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００９６】
１００、２００、３００、３０２、３０４、４００、４０６、５００、５０２、７００    形状
１０２    側線
１０３、１０４、１０５、１０８、１０９、５０６    セグメント
１０６、１０７    距離
１１０−１〜１１０−８、１１１−１、１２２−１〜１２２−１６、１２３−１〜１２３−３、１３０、１３２、１３４、１３６、１３８、１４０、１４２、１４４、１４６、１４８、１５０、２０４、２０６、２０８、２１０、３０６、３０８、４０２、４０４、４０８、４１４、７０７−１〜７０７−５、７０８、７１４、７１６、７１８    経路セグメント
１２０、１２１、４１０、４１２、７０４、７０６−１〜７０６−５    頂点
２０２    点線
５０４    直線セグメント
５０８    弧セグメント
６００    レイアウト
６０２、６０４、６０６    バンプ
６０８、６１０    ストラップ
６１２、６１４、６１８    ネット
６１６、６２４、７１０、７１２    バイアス
６２０    ピン
６２２    エッジ
６２６    回路
２０００    電子システム
２０１２    メモリシステム
２０１４    プロセッサ
２０１６    ＲＡＭ
２０１８    ユーザインターフェース
２０２０    バス
【図１Ａ】
2014186734.tif 000004
【図１Ｂ】
2014186734.tif 000005
【図２】
2014186734.tif 000006
【図３】
2014186734.tif 000007
【図４Ａ】
2014186734.tif 000008
【図４Ｂ】
2014186734.tif 000009
【図５】
2014186734.tif 000010
【図６】
2014186734.tif 000011
【図７】
2014186734.tif 000012
【図８】
2014186734.tif 000013
【図９】
2014186734.tif 000014
【図１０】
2014186734.tif 000015
【図１１】
2014186734.tif 000016
【図１２】
2014186734.tif 000017
【図１３】
2014186734.tif 000018
【図１４】
2014186734.tif 000019
【図１５】
2014186734.tif 000020
【図１６】
2014186734.tif 000021
【図１７】
2014186734.tif 000022
【図１８】
2014186734.tif 000023
【図１９】
2014186734.tif 000024
【図２０】
2014186734.tif 000025