(57)【特許請求の範囲】
【請求項１】
内部にマクロを備え、当該マクロを横切る配線を有する集積回路をコンピュータが設計する方法であり、
当該マクロの内部を設計する第一ステップと、
当該マクロを横切る配線を設計する第二ステップとを備え、
当該第一ステップは、
前記マクロ内の余剰スペースであるホワイトスペースのうち、配線の配置が可能な配線ホワイトスペースを識別するサブステップと、
当該配線ホワイトスペース中に当該マクロを横切る配線の配置が可能となるように当該ホワイトスペースを再配置するサブステップと
を含む方法。
【請求項２】
前記マクロを横切る配線を含むマクロ内の領域を配線トラックとし、
前記ホワイトスペースを再配置するサブステップは、
前記配線ホワイトスペースが少なくとも一つの配線トラックを構成するように当該配線ホワイトスペースを再配置する請求項１に記載の方法。
【請求項３】
前記配線トラックは、前記マクロの一方の側から他方の側へ延びる、請求項２に記載の方法。
【請求項４】
前記配線トラックの幅は、前記集積回路の最小配線幅より大きい、請求項２に記載の方法。
【請求項５】
内部にマクロを備え、当該マクロを横切る配線と当該マクロを横切る配線をサポートする回路とを有する集積回路をコンピュータが設計する方法であり、
当該マクロの内部を設計する第一ステップと、
当該マクロを横切る配線を設計する第二ステップとを備え、
当該第一ステップは、
前記マクロ内の余剰スペースであるホワイトスペースのうち、回路の配置が可能なシリコンホワイトスペースを識別するサブステップと、
当該シリコンホワイトスペース中に前記マクロを横切る配線をサポートする回路の配置が可能となるように当該ホワイトスペースを再配置するサブステップと
を含む請求項１に記載の方法。
【請求項６】
前記第一ステップは、
前記マクロを横切る配線を遮蔽するシールドを設計するサブステップを含む請求項１に記載の方法。
【請求項７】
前記第一ステップは、
当該回路へ電源を供給する電源バスを設計するサブステップを含む請求項５に記載の方法。
【請求項８】
前記回路は、前記配線の信号伝播を容易にする能動回路である請求項５に記載の方法。
【請求項９】
前記第一ステップは、
前記回路への接続用および前記配線への接続用のピン領域を設計するサブステップ
を含む請求項８に記載の方法。
【請求項１０】
コンピュータに、内部にマクロを備え、当該マクロを横切る配線を有する集積回路を設計させるコンピュータ・プログラ
ムであり、
当該コンピュータに、
当該マクロの内部を設計させる第一ステップと、
当該マクロを横切る配線を設計させる第二ステップとを実行させ、
当該第一ステップは、
前記マクロ内の余剰スペースであるホワイトスペースのうち、配線の配置が可能な配線ホワイトスペースを識別させるサブステップと、
当該配線ホワイトスペース中に当該マクロを横切る配線の配置が可能となるように当該ホワイトスペースを再配置させるサブステップと
を実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、集積回路に関するものである。さらに詳しくは、本発明は、集積回路内でハード・マクロその他の階層的に設計された構成要素を前もって設計することにより、マクロを横切る、次の段階の配線および回路挿入を容易にすることに関するものである。
【０００２】
【従来の技術】
集積回路チップ内の回路密度、タイミング要求、およびバスの容量が高まると、配線幅が狭められなければならないことは周知のことである。しかしながら、狭められた配線幅は、抵抗の増大を招き、配線のスルーレートおよびパス遅延に影響を及ぼす。配線は、要求されたタイミングに基づき、最大のスルーレートかつ最小の遅延でなければならない。マクロの”ブロック”が予定されている集積回路上のオープン・スペースを占有すると、この配線の問題が悪化される。これらのマクロは、しばしば、スルーレートおよび遅延の要件に従わなければならない、次に設計される配線パスの邪魔になる。
【０００３】
【発明が解決しようとする課題】
これらの問題を例示するために、図１を参照すると、ＩＣ１０は、残存のシリコン・ホワイトスペース領域または配線ホワイトスペース領域２４1−２４4を有する、埋め込みマクロ１２を含むことがある。ＩＣ配線がＩＣの領域１４から領域１６まで要求されることを想定する。設計ツールは、通常には、より高いレベルのＩＣ配線を配置して経路を定めるとき、変更することができない固定ブロックとしてマクロを見るため、マクロを横切り配線を走らせることが不可能な場合がある。この配線が走る距離（例えば、マクロ１２の水平幅）が最大のスルーレートおよび遅延で要求される以上である場合があるため、ホワイトスペースが利用でき、かつ設計ツールによって認められたと想定してさえも、マクロを横切り標準幅の配線１８を走らせることが不十分な場合がある。
【０００４】
別の選択は、マクロ周囲のより長いパス２０に沿って、再度、配線の経路を定めることを含み、そして過剰なパスの長さを補償すると同時に、要求されるスルーレートおよびパス遅延を保つために、再駆動回路２２1−２２5を用いることを含む。このアプローチは、しかしながら、再駆動回路をサポートするために、貴重なシリコン領域および電力の使用を必要とし、パス遅延の要求を満たすには十分でない場合もある。
【０００５】
そのために、要求されることは、大きな、固定されたマクロのブロックの存在のもとで、ＩＣ全体に渡り、要求される配線のスルーレートおよびパス遅延を保つ技術である。
【０００６】
【課題を解決するための手段】
本発明は、予想される次の段階の配線用にマクロを準備することによりマクロ自体の設計を通じて、上述の問題を解決する。マクロの中の配線ホワイトスペース領域およびシリコン・ホワイトスペース領域は、配線が可能になるように設計される。その事に関して、本発明は、配線が予定されているＩＣマクロを設計するための方法、システム、および対応するコンピュータ・プログラム製品（プログラム・コードおよびデータ構造）に関する。ＩＣ用に予定されるマクロが識別され、さらにそのマクロを横切る配線を容易にするために利用できるホワイトスペースが識別される。マクロ内のホワイトスペースは、マクロを横切る配線を可能にするように、特別に設計される。
【０００７】
マクロのホワイトスペースの設計は、配線を可能にするように、マクロ内の配線ホワイトスペースを少なくとも１つの経路トラックへ再配置することを含むことができる。経路トラックは、マクロの一方の側から他方の側へと延在することができ、また、抵抗を減らすために、経路トラックの幅をＩＣの最小配線幅より大きくすることができる。
【０００８】
マクロのホワイトスペースの設計中に、シリコン・ホワイトスペースを再配置された配線ホワイトスペースに対応可能な回路領域へ再配置することもできる。これらの回路領域の存在は、設計プロセスを介して次の段階の設計へ伝えられ、その設計の間に、次の段階の配線をサポートするために、能動回路がこれらの領域に”挿入”される。
【０００９】
マクロのホワイトスペースは、ホワイトスペースの境界を画定するマクロの領域から配線を保護するためにシールドを含むこともできる。本発明の１つの実施形態では、シールドは、同時にシールドをもたらすように配置されたマクロ電源バスまたはマクロ配線を含む。
【００１０】
次の段階の配線を可能にするようにマクロのホワイトスペースを設計する他の選択は、例として、次の段階の配線のサポート回路用に、電源バスをホワイトスペースに設計することを含む。少なくとも１つの能動回路が、配線内の信号を再駆動するために、ホワイトスペースの中に設計される。能動回路および配線への接続用にピン領域もマクロ内に設計され、それにより、チップ・レベルの設計ツールが次に配置される配線をこれらのアクセス可能なピンへ結合することができるようになる。能動回路は、例えば、再駆動バッファまたはインバータでもよい。
【００１１】
本発明に従って、オプションのシールド、電源バスまたは能動回路を含む、次の段階の配線を可能にするように、マクロのホワイトスペースを特別に設計することにより、配線は、スルーレートまたはパス遅延に悪影響を及ぼすことなく、マクロを横切り効果的に経路を定めることができる。
【００１２】
【発明の実施の形態】
上述したように、本発明は、マクロの設計に関するものであり、マクロを横切って延びる次の段階の配線を可能にするように、ＩＣの階層的に設計される後続段階で実装される。図２−図４は、この配線を可能にするように設計された領域を有する、マクロの色々な実施形態を示す。
【００１３】
図２を参照すると、本発明に従い、配線パス１１８および１２０を収容できるように、設計されたマクロ１１２を有する、ＩＣ１００が示されている。
【００１４】
公知のＩＣ設計システムは、階層的な設計をサポートしている。例えば、ＩＣ設計では、前回に設計した機能を繰り返して実行するために、前もって設計された”既製（off-the-shelf）”マクロを繰り返して用いることができる。ＩＣ設計は、階層設計段階で結合されると、所望のＩＣの機能を協力して実行する個々の機能を持つ、多数のカスタム・マクロの順次設計を含むこともできる。”マクロ”という用語は、設計された回路および配線を持つＩＣの任意の階層設計部分であって、所定の機能を持ち、その設計が実質的に完了段階にあって、さらなる重要な変更なしに、その機能を遂行することができるようなものを意味する。
【００１５】
本発明は、マクロを設計する際に、ＩＣの後続の階層設計段階において当該マクロを横切る配線が可能となるような設計を行う。マクロ設計の段階では、どのような配線が行われるかはわかっていなくても構わない。このことは、後続段階での配線の邪魔になるような大きいマクロにとって特に重要である。
【００１６】
本発明に従い、配線の必要なスルーレートおよびパス遅延を保つ一方で、配線トラック１３４、１４４および回路領域１３９、１４９は、後続の階層設計段階の配線パス１１８および１２０を収容できるように、マクロ１１２の中に前もって設計されている。（”横切る”という用語は、マクロの上、下、間などを含む、配線による任意のタイプのマクロ横断を意味する。後述するように、配線を可能にするように設計されたマクロ内の”ホワイトスペース”は、直線のパスは可能でないというような、制限を有する場合がある。そのため、経路トラックが、図示した直線のパスを取れない場合があるが、マクロを”横切る”回り道を取ることができる。）
【００１７】
配線トラック１３４、１４４および回路領域１３９、１４９は、本発明の原理に従い、マクロの残存ホワイトスペース（例えば、図１のマクロ１２のホワイトスペース領域２４1−２４4）を再配置することにより、マクロの中に設計されている。
【００１８】
再配置されたホワイトスペースは、配線ホワイトスペース、シリコン・ホワイトスペース、それらの組み合わせ、といったマクロ内の任意のタイプの余剰スペースとなることができる。シリコン・ホワイトスペースは、実際の回路をサポートできるものを意味し、一方、配線ホワイトスペースは、マクロ内の配線レベル上のオープン領域を意味する。
【００１９】
配線トラック１３４、１４４は、通常は、再配置された配線ホワイトスペースを含むが、シリコン・ホワイトスペースの付加的な領域は、（マクロ設計中または後続段階設計中に組み込まれる）付加的な配線サポート回路をサポートするために、再配置された配線ホワイトスペースに対応する回路領域１３９および１４９へ再配置することができる。
【００２０】
代替的に、シリコン・ホワイトスペースは、配線トラックへの配線ホワイトスペースの再配置なしに、（マクロ設計中またはより高い段階の設計中に組み込まれる）付加的な配線サポート回路をサポートするために、領域１３９および１４９へのみ再配置することができる。
【００２１】
配線は、例えば、配線パス１１８の部分１１９のように、通常は、ＩＣを横切って延びるように、最小幅のサイズにされる。本発明に従って、経路トラック１３４（および、このトラックを通過する配線部分１１８）は、ＩＣの最小配線幅より大きいサイズにされ（例えば、２倍の幅）、マクロを横切る適当なスルーレートおよび遅延をサポートする。
【００２２】
本発明に従い、付加的な構成要素が、マクロを横切る次の段階の配線をサポートするために、マクロの中に組み込まれてもよい。例えば、電源バス１３７および１４７が、配線をサポートするために用いられるサポート回路用の予定された配線領域の中に配置される。加えて、経路トラックは、マクロのセンシティブ領域と経路トラックとの間のシールド１３６、１３８、１４６、１４８により画定され、それらの領域間の干渉を最小にしている。１つの実施形態では、このシールドは、再配置されたマクロ配線または再配置されたマクロ電源バスとともに実装することができる。
【００２３】
半導体技術の配線の定義が、配線の抵抗および容量に起因して、大きなマクロ・セルを横切る経路をサポートできないとき、マクロ内部の配線をサポートするために特別に設計された領域の必要性は、非常に大きなマクロにとって特に有用である。これらの開口を必要とする、最小のマクロ幅を決定するためのプロセスは、複数の配線幅、電子移動、ならびに異なる配線長およびハイ・パワー・レベルのバッファまたはインバータ・セルについての出力のスルーレートの限界を検査することを含む。ハイ・パワー・レベルのバッファまたはインバータ・セルは、典型的には、大きなマクロ・セルを横切るために要求される。大きなマクロ・セルを横切らなければならない、クリティカル・パスの数を減少させるように試みることはできるが、完全にそれらを除去することはできない。最悪の場合のデータ・スイッチング周波数は、予想される最高クロック周波数の半分の値を用いて電子移動を計算することにより評価することができる。このような計算により、次の段階の配線のために、再設計されたホワイトスペースを要求しそうな、マクロの幅を決定することができる。
【００２４】
図２に示されたマクロに対する受動的な変更に加えて、あるいはその代わりに、本発明は、予想される、次の段階の配線をサポートするためにマクロ内に能動回路を配置する。
【００２５】
図３のＩＣ２００とマクロ２１２の組み合わせを参照すると、マクロ２１２には、例えば、２３８1と２３８2のペアおよび２４８1と２４８2のペアのような、能動回路が前もって設計されている。これらの能動回路（例えば、再駆動バッファやインバータ）は、特別に配置された入力および出力ピン２３６1および２３６2、そして２４６1および２４６2をそれぞれに含む。ピンは、次の段階の配線の配置および経路設定において、設計ツールによりアクセス可能である。埋め込み能動回路は、このようなピンがないと、次の配線の際にアクセスできない。（”ピン”という用語は、次の段階の配線レベルに対して導電性接続を形成することができる、回路の導電領域を意味する。）
【００２６】
これらの能動サポート回路は、マクロの設計において、再配置されたシリコン・ホワイトスペース領域２３０1、２３０2、および、２４０1、２４０2にそれぞれに配置することができ、それらは、上述したように、経路トラック２３４および２４４のそれぞれに対応して配置することができる。
【００２７】
代替的に、好ましい実施形態では、サポート回路は、後続の階層段階の設計中に、再配置されたシリコン・ホワイトスペース領域に配置することができる。ここでは、むしろ固定ブロックとしてマクロを見るよりも、設計システムは、マクロ内の再配置されたホワイトスペースの存在、および配線サポート回路に対するその使用可能性に注意が払われる。再駆動回路は、このホワイトスペースの中に設計することができる（例えば、適当な接点、ラッチ、バッファまたはインバータ）。１つの実施形態では、ラッチは、配線パスを介する複数サイクルの信号伝搬のために、配線パスに沿って直列に設計される。前もって配置された電力供給（例えば、図２のバス１３７、１４７）をこれらの回路で用いることができ、または付加的な電力供給路を配置することができる。
【００２８】
本発明の別の実施形態において、図４のＩＣ３００およびマクロ３１２の組み合わせを参照すると、経路トラック３３４および３４４は、それぞれに、先細にされた配線部分３１８および３２０を持っている。この配線では、配線のＲＣ応答を改善するために、大きい部分から小さい部分へと先細にされる。上述したように、もし、再駆動またはラッチ動作のために回路領域３３０または３４０に接続するのであれば、配線幅は、ＩＣの最小幅程度まで狭められる。先細にすることは、図４で示したように、次第に先細にするか、または階段状に先細にするかのいずれかでできる。
【００２９】
本発明のマクロの設計のステップは、図５のフロー図１０００で示される。ステップ１０１０では、次の階層設計段階で用いられることが予定されるマクロが識別され、マクロの設計が開始されるステップ１０２０に続く。ステップ１０３０では、マクロを横切る配線を容易にするために利用できる、ホワイトスペースがマクロ内で識別される。このホワイトスペースは、通常は、図１の領域２４のような、マクロ全体に渡って広がる残存ホワイトスペースである。このホワイトスペースは、次に、下記のオプションのいずれか１つあるいは任意の組み合わせを含むように、ステップ１０４０で次の段階の配線を容易にするように設計される。
配線ホワイトスペースを経路トラックへ再配置する（ステップ１０５０）。
シリコン・ホワイトスペースを、再配置された配線ホワイトスペースに対応可能な回路領域へ再配置する（ステップ１０６０）。
ホワイトスペースをシールドし、例えば、マクロ電源バスやマクロ配線をシールド領域へ再配置する（ステップ１０７０）。
電源バスでホワイトスペースへ給電する（ステップ１０８０）。
アクセス可能なピンを有する能動回路をホワイトスペースに挿入する（ステップ１０９０）。
上述のように、本発明の原理に従って、これらの設計オプションのいずれか１つ、または、これらの任意の組み合わせを呼び出すことができる。
【００３０】
図６の次の段階の設計のシーケンス２０００では、図５で設計されたマクロの存在を想定して、この段階の設計が開始される（ステップ２０１０）。マクロ内の設計されたホワイトスペースは、次に、マクロを横切る配線を容易にするために用いられる（ステップ２０２０）。オプションとして、ステップ２０３０では、図５のマクロ設計シーケンスのステップ１０５０−１０９０のいずれか、または全てに従って再配置されたシリコン・ホワイトスペースの中に能動回路が設計（挿入）される。
【００３１】
この時点で、ＩＣの設計を完了することができ（ステップ２０４０）、そして、中にマクロが埋め込まれており、かつそのマクロを横切る配線を有するＩＣが実装および生産される（ステップ２０５０）。
【００３２】
図７を参照すると、本発明は、例えば、コンピュータ・ワークステーション３０００上で実行するための設計ツール／コンピュータ・プログラム製品として、実施することができる。この実施形態において、実行可能コードおよび関連マクロ／ＩＣ設計データ構造はいかなるタイプのコンピュータ媒体３０１０にも保管することができる。
【００３３】
次の段階の配線の要求を予測して、マクロを前もって設計することにより、より大きな柔軟性が次の段階の設計に提供され、またスルーレートおよびパス遅延の要求に容易に応じることができる。
【図面の簡単な説明】
【図１】本発明が解決しようとする課題、すなわち、固定されたマクロ・ブロックの周辺に経路が設定される配線を要求する集積回路を示す。
【図２】本発明に従い、シールド、電源バス、およびシリコン・ホワイトスペースのような、他の前もって設計された構成要素を含むことができる経路トラックへ再配置されたマクロのホワイトスペースを示す。
【図３】本発明に従い、ＩＣ配線にアクセス可能なピンを有する、マクロのシリコン・ホワイトスペース内に前もって配置された能動回路を示す。
【図４】本発明に従い、マクロを横切る先細にされた配線を示す。
【図５】本発明に従う、マクロ設計ステップの典型的なシーケンスを示す。
【図６】完成されたマクロ設計を想定した、次の段階の設計ステップの典型的なシーケンスを示す。
【図７】本発明のコンピュータ・プログラム製品を格納して実行する典型的なデータ処理システムおよび関連媒体を示す。
【符号の説明】
１０  ＩＣ
１００  ＩＣ
１１２  マクロ
１１８  配線パス
１１９  配線部分
１２０  配線パス
１３４  配線トラック
１３６  シールド
１３７  電源バス
１３８  シールド
１３９  回路領域
１４４  配線トラック
１４６  シールド
１４７  電源バス
１４８  シールド
１４９  回路領域
２００  ＩＣ
２１２  マクロ
２３０1  シリコン・ホワイトスペース領域
２３０2  シリコン・ホワイトスペース領域
２３４  経路トラック
２３６1  入力ピン
２３６2  出力ピン
２３８1  能動回路
２３８2  能動回路
２４０1  シリコン・ホワイトスペース領域
２４０2  シリコン・ホワイトスペース領域
２４４  経路トラック
２４６1  入力ピン
２４６2  出力ピン
２４８1  能動回路
２４８2  能動回路
３００  ＩＣ
３１２  マクロ
３１８  配線部分
３２０  配線部分
３３０  回路領域
３３４  経路トラック
３４０  回路領域
３４４  経路トラック
【図１】
0004160733.tif 000002
【図２】
0004160733.tif 000003
【図３】
0004160733.tif 000004
【図４】
0004160733.tif 000005
【図５】
0004160733.tif 000006
【図６】
0004160733.tif 000007
【図７】
0004160733.tif 000008