(57)【要約】    【課題】  チップレイアウト後の検証段階での密度チェックのエラーを極力なくすことができるチップのレイアウト密度検証方法を提供する。    【解決手段】  チップ上への各種回路部品を表すマクロを配置するレイアウトにおける密度検証方法であって、チップ１００へ配置するマクロ１１０のレイアウトデータ作成の段階で、マクロの特定層のデータ密度を算出し、マクロのレイアウトデータ作成の段階で作成されるマクロの端子情報やサイズ情報を含むファイルに、パラメータとして当該マクロに対応付けて付与し、マクロの端子情報やサイズ情報を元にチップへマクロの配置をするレイアウト段階で、パラメータを参照することにより、マクロの密度を反映したチップ上における密度の検証を行う。【選択図】    図２
2005228208.tif 000002
【特許請求の範囲】
【請求項１】
チップ上へ各種回路部品を表すマクロを配置するレイアウトにおける密度検証方法であって、
チップへ配置するマクロのレイアウトデータ作成の段階で、当該マクロの特定層のデータ密度を算出し、パラメータとして当該マクロに対応付けた情報を予め作成し、
前記チップへマクロを配置をするレイアウト段階で、前記パラメータを参照することにより、前記マクロの密度を反映したチップ上における密度の検証を行うことを特徴とするチップのレイアウト密度検証方法。
【請求項２】
前記マクロの特定層のデータ密度を、前記マクロのレイアウトデータ作成の段階で作成される前記マクロの端子情報やサイズ情報を有するファイルに、パラメータとして当該マクロに対応付けて付与し、
前記マクロの端子情報やサイズ情報を元に前記チップへマクロを配置するレイアウト段階で、前記パラメータを参照して密度の検証を行うことを特徴とする請求項１に記載のチップのレイアウト密度検証方法。
【請求項３】
前記マクロを形成する特定の層毎に、前記密度を算出しパラメータとして当該マクロに対応付けた情報を作成することを特徴とする請求項１又は請求項２に記載のレイアウト密度検証方法。
【請求項４】
チップ上へ各種回路部品を表すマクロを配置するレイアウトにおける密度検証方法であって、
チップへ配置するマクロのレイアウトデータ作成の段階で、前記マクロを小領域に細分化し、当該小領域毎に特定層のデータ密度を算出してパラメータとして当該小領域毎に対応付けた情報を作成し、
前記チップへマクロを配置するレイアウト段階で、前記パラメータを参照することにより、前記マクロの密度を反映したチップ上の前記各小領域の密度検証を行うことを特徴とするチップのレイアウト密度検証方法。
【請求項５】
前記マクロの前記小領域の密度を、前記マクロのレイアウトデータ作成の段階で作成される前記マクロの端子情報やサイズ情報を有するファイルに、パラメータとして当該マクロに対応付けて付与し、
前記マクロの端子情報やサイズ情報を元に前記チップへマクロを配置するレイアウト段階で、前記パラメータを参照して密度の検証を行うことを特徴とする請求項４に記載のチップのレイアウト密度検証方法。
【請求項６】
前記小領域は、ローカルルールに準拠して密度チェックを行う前記チップを区切る基準領域と同じ大きさであることを特徴とする請求項４または請求項５に記載のチップのレイアウト密度検証方法。
【請求項７】
前記小領域は、前記基準領域をさらに細かいメッシュで分割した領域であるメッシュ領域であることを特徴とする請求項４または請求項５に記載のチップのレイアウト密度検証方法。
【請求項８】
前記マクロの最外郭を形成する前記小領域のみを前記メッシュに分割することを特徴とする請求項７に記載のチップのレイアウト密度検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップのレイアウト密度検証方法に関し、特にチップ設計後の検証段階での密度チェックエラーをなくすことができるチップのレイアウト密度検証方法に関する。
【背景技術】
【０００２】
従来、集積回路のレイアウト設計においては、レイアウト段階で、自動レイアウトツール（プログラム）にて、回路設計データであるネットリストに基づいてチップのセルベース上に回路部品（メモリ、USBインタフェースなど）のマクロを配置することにより、１チップレイアウトデータ（１チップＧＤＳファイル）を生成し、マージ段階で、マージツールにてその１チップレイアウトデータにマクロレイアウトデータの情報を組み込むマージを行い、レイアウト検証段階で、検証ツールであるDRC(Design Rule Check)ツールにて１チップレイアウトデータについて予め規定される基準に適合しているかどうかのチェックを行う。
【０００３】
このレイアウト検証では、例えばチップ上のデータ率（密度）のチェックが行われる。このデータ率のチェックでは、ある特定の層（例えば、配線層）で、データ（配線）がチップにどのような密度で分布しているかをチェックするものであり、その密度が予め所定のルールに規定される基準を満たしているかどうかを判別するものである。
【０００４】
例えば、配線層の密度が基準以下の場合、その配線層の上に形成した層間絶縁膜を、ＣＭＰ研磨すると密度が疎なところにおいて密なところよりよりも研磨され易く、へこんでしまう。その上に上層配線を形成すると、へこんだ所では配線間容量が増して、回路設計時に予想した容量にならず、その配線を通る信号に遅延を生ずる問題がある。
【０００５】
レイアウト検証で、例えば、密度チェックでエラーが発生した場合には、再度レイアウト段階に戻って必要に応じてコア領域にデータ（配線）を埋める等の対応（リペア）を行い、マージ段階を経て再度レイアウト検証を行うことになる。
【０００６】
また、従来のレイアウト密度検証方法としては、例えば特開２００３−６７４４１号公報（特許文献１）に開示される方法がある。この特許文献１に示されるレイアウト密度検証方法においては、マクロレイアウトデータについて仮想レイアウトを形成して、実際のレイアウト前にマクロのデータ率のチェックを行うものである。
【特許文献１】特開２００３−６７４４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した従来のレイアウト密度検証方法にあっては、以下に述べるような種々の問題点がある。
【０００８】
チップにマクロをレイアウト配置する段階では、マクロ内の配線データはチップ上に展開されておらず、マクロ内のデータ率を考慮することができないため、１チップ上の密度分布でみると存在するデータ率のエラーをレイアウト段階で発見することができない。その理由は、マクロ内部のデータ率を見積もってレイアウトを行っていないためである。
【０００９】
上記のように、レイアウト段階で、マクロ内部のデータ率を考慮したチェックを行うことができないため、１チップレイアウトデータにマクロ内部のデータをマージした後のレイアウト検証段階における１チップレイアウトデータのチェックで初めてマクロのデータ率を考慮したチェックが行われることになり、最終段階のレイアウト検証でデータ率のエラーが発生し、データ率確保のために前の段階（レイアウト段階）への後戻りが発生し、再レイアウト及び再マージに多大な時間を要することとなる。
【００１０】
また、特許文献１に開示されるレイアウト密度検証方法を用いた場合でも、マクロをレイアウトした段階におけるデータ率のチェックは完全に行われず、レイアウト後の最終段階のレイアウト検証においてデータ率のエラーがチェックされる可能性が残る。
【００１１】
本発明の目的は、チップレイアウト後の検証段階での密度チェックのエラーを極力なくすことができるチップのレイアウト密度検証方法を提供することにある。
【００１２】
また、本発明の他の目的は、ローカルルールに準拠した基準領域（小領域）よるチェックが実施される場合でも、レイアウト段階で正確なデータ率のチェックが行えるチップのレイアウト密度検証方法を提供することにある。
【００１３】
さらに、本発明の目的は、チップのローカルルールに準拠した基準領域にマクロの一部分が入り込んだ場合でも、レイアウト段階で基準領域のデータ率を正確に見積もることができるチップのレイアウト密度検証方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成する本発明は、チップ上への各種回路部品を表すマクロを配置するレイアウトにおける密度検証方法であって、チップへ配置するマクロのレイアウトデータ作成の段階で、当該マクロの特定層のデータ密度を算出し、前記マクロのレイアウトデータ作成の段階で作成されるマクロの端子情報やサイズ情報を含むファイルに、パラメータとして当該マクロに対応て付与し、マクロの端子情報やサイズ情報を元にチップへマクロの配置をするレイアウト段階で、パラメータを参照することにより、マクロの密度を反映したチップ上における密度の検証を行う。
【００１５】
また、他の態様によれば、各マクロのマクロレイアウトデータの作成の段階で、各マクロ内のデータ率をローカルルールに準拠した基準領域（小領域）に細分化することにより、その基準領域毎に密度を算出し、パラメータとして付与し、チップへマクロの配置をするレイアウト段階で、パラメータを参照することにより、マクロの密度を反映したチップ上における密度の検証を行う。
【００１６】
さらに、他の態様では、各マクロのマクロレイアウトデータの作成の段階で、各マクロ内をローカルルール（小領域毎に密度チェックを行うルール）に準拠した基準領域で細分化すると共に、さらにそのマクロの外周（最外郭）を形成する基準領域をさらに細かなメッシュに分割し、分割したメッシュ毎に密度を算出しパラメータとして付与する。
【発明の効果】
【００１７】
本発明のチップのレイアウト密度検証方法によれば、以下に述べるような優れた効果が得られる。
【００１８】
チップレイアウト後の検証段階での密度チェックのエラー発生を極力なくすことができる。その理由は、マクロのレイアウトデータ作成の段階で、当該マクロの密度をパラメータとして付与し、チップへマクロを配置するレイアウト段階で、パラメータを参照してマクロの密度を反映したチップ上における密度の検証を行うことができるためである。
【００１９】
また、ローカルルールに準拠した基準領域（小領域）よるチェックが実施される場合でも、レイアウト段階で正確なデータ率のチェックが行える。その理由は、各マクロのマクロレイアウトデータの作成の段階で、各マクロ内のデータ率をローカルルールに準拠した基準領域（小領域）に細分化することにより、その基準領域毎にデータ率を算出し、パラメータとして付与するためである。
【００２０】
さらに、チップのローカルルールに準拠した基準領域にマクロの一部分が入り込んだ場合でも、レイアウト段階で基準領域のデータ率を正確に見積もることができる。その理由は、マクロを基準領域で細分化すると共に、さらにそのマクロの外周（最外郭）を形成する基準領域をさらに細かなメッシュに分割し、分割したメッシュ毎にデータ率を算出してパラメータとして付与するためである。
【実施例１】
【００２１】
以下、本発明の好ましい実施例について図面を参照して詳細に説明する。
【００２２】
図１は、１チップのレイアウト設計における、レイアウト段階、マージ段階及びレイアウト検証段階の内容を示す図である。
【００２３】
図１を参照すると、レイアウト段階においては、自動レイアウトツール（プログラム）４０を使用して、回路設計データであるネットリスト３０（ＤＥＦファイルで提供される）に基づいて、１チップのセルベース５０をレイアウトし、そのレイアウトする中でマクロ毎の端子とサイズの情報を保持するＬＥＦライブラリ２０に従ってマクロを配置する。これにより、１チップレイアウトデータ６０が生成される。この段階では、セルベース５０のレイアウトデータの中にマクロの中のレイアウトデータそのものは存在していない。
【００２４】
次いで、マージ段階においては、マージツール７０（プログラム）を使用して、上記生成された１チップレイアウトデータ６０に対して、各マクロの構造を定義したマクロレイアウトデータ１０の情報を組み込むマージを行い、最終的な１チップレイアウトデータ８０を生成する。
【００２５】
最後に、レイアウト検証段階においては、マージが終了した１チップレイアウトデータ８０について、レイアウト検証ツール（ＤＲＣ(Design Rule Check)９０（プログラム）を使用して、予め規定される種々の基準に適合しているかどうかのチェックを行う。例えば、ある特定の層、例えば配線層で、配線がチップにどのような密度で分布しているかをチェックするデータ率（レイアウト密度）のチェックがなされ、配線の密度が予め規定される基準を満たしているかどうかを判別する。
【００２６】
本発明の第１の実施例では、図２に示すように、各マクロのマクロレイアウトデータ１０の作成の段階で、当該マクロ内部のデータ率を情報であるパラメータとして当該マクロに対応付けて付与したＬＥＦライブラリ２０を作成する。
【００２７】
まず、各マクロのマクロレイアウトデータ１０が作成され（ステップ２０１）、そのマクロレイアウトデータ１０の検証がなされる（ステップ２０２）。
【００２８】
検証後のマクロレイアウトデータ１０に基づいて、マクロの各端子の情報やサイズの情報が抽出され、それらの情報を含むＬＥＦライブラリ２０が作成される（ステップ２０３）。
【００２９】
ここまでの段階は従来通りであるが、本実施例においては、マクロレイアウトデータ１０のマクロ内部のデータ率を求めて、作成したＬＥＦライブラリに、このマクロ内部のデータ率を新たなパラメータとして対応するマクロの情報に付与するものである（ステップ２０４）。なお、この段階でマクロ毎のデータ率が予め規定される基準を満たすようにマクロのレイアウトがなされることが一般的である。
【００３０】
これにより、マクロレイアウトデータ１０と、ＬＥＦライブラリ２０が作成される。
【００３１】
マクロが複数の層で形成される場合には、マクロのサイズと、各層毎のデータ率をＬＥＦライブラリ２０に新たなパラメータとして付与する。
【００３２】
ＬＥＦライブラリ２０に付与されるパラメータの一例を以下に示す。
【００３３】
＃METALAREA 200554 M1 0.6 M2 0.3 M3 0.12 M4 0.4 M5 0.3 M6 0.1;
このパラメータにおいては、「METALAREA」は本パラメータの指定のキーワードで、後に続く「200554」はマクロ全体の面積、「Ｍ１〜Ｍ６」はマクロを構成する各配線層を示しており、この場合はＭ１〜Ｍ６の６層からなる。Ｍ１〜Ｍ６に続く数字は各層のデータ率（配線面積／マクロ全体の面積）を示している。
【００３４】
本実施例では、上記のようにＬＥＦライブラリ２０に、マクロの各層毎のデータ率を各マクロ毎の情報に付与したことにより、自動レイアウトツール４０で、ネットリスト３０に基づいて、１チップのセルベースに、マクロ毎の端子情報やサイズの情報を示すＬＥＦライブラリ２０に従ってマクロを配置する際に、上記新たなパラメータで示される各マクロのデータ率を考慮したマクロの配置が可能となる。
【００３５】
これにより、図１のレイアウト段階で、マクロのデータ率を考慮したチップ上におけるデータ率のチェックが可能となり、１チップレイアウトデータ生成後のレイアウト検証において、データ率のチェックでエラーが発生する可能性を極力少なくすることが可能となる。
【００３６】
このレイアウト段階でのグローバルルール（チップ全体でｘ％以上ｙ％以下のデータ率を確保すべきとするルール）によるデータ率のチェックでは、自動レイアウトツールにおいて、ＬＥＦライブラリに新たに付与されたマクロのデータ率であるパラメータの記述を参照しながら、１チップ上のデータ率に関して問題ないかを確認し、必要に応じてマクロの配置を変更したり、マクロ以外の領域にデータ（配線）を埋めたり、レイアウトを変更する対応（リペア）を行うことができる。このため、多大な処理時間のかかるマージ段階での処理前にレイアウトツール（レイアウト段階）上でのエラー回避が可能となる。従って、（レイアウト検証で用いる）データ率のルールを満たすレイアウトを、従来よりもはるかに短時間で容易に得られる。
【実施例２】
【００３７】
第１の実施例による方法では、マクロのサイズが大きい場合、チップ内を便宜的に区切った小領域（基準領域）毎にｘ％以上ｙ％以下のデータ率を確保するといったローカルルールによるチェックが実施された場合、マクロ部分のデータ率についてはマクロ全体平均が反映されるため、マクロ内の実際のデータ率にムラがあると、レイアウト段階でのデータ率のチェックが正確に行えず、エラー検出が適正になされないまま、レイアウト検証段階でのデータ率のチェックでエラーが見つかりやすくなるという問題が発生する。
【００３８】
例えば、チップ１００内でデータ率のチェックがなされる基準領域が図３に示すように規定されている場合、このチップ上に図４に示すような位置にマクロ１１０が配置された場合を考える。
【００３９】
チップ１００上のマクロ１１０に入り込まない基準領域Ａでは、レイアウト結果が正確に反映されデータ率の正確なチェックがなされるが、マクロ１１０の一部分が入り込んだ基準領域Ｂでは、マクロ部分のデータ率として全体平均でのデータ率が用いられるため、マクロ１１０上で実際のデータ率にムラがあると、基準領域Ｂの正確なデータ率の見積もりが行えない。従って、この場合、マクロレイアウトデータをマージした後のレイアウト検証段階におけるデータ率のチェックでエラーが発生する可能性が残ることになる。
【００４０】
そこで、この問題を解消するために第２の実施例では、さらに改良を加えたレイアウト密度検証方法を提案する。
【００４１】
第２の実施例では、図５に示すように、各マクロのマクロレイアウトデータの作成の段階で、各マクロ１１０内のレイアウトデータを全体チップに適応されるローカルルールに準拠した基準領域（小領域）と同じ大きさに細分化し（ステップ３０１）、その基準領域毎にデータ率を算出し、算出した基準領域毎のデータ率をパラメータとしてＬＥＦライブラリに各基準領域に対応付けて付与する（ステップ３０２）。この段階で、マクロ内の基準領域毎のデータ率が予め規定される基準を満たすように各マクロのレイアウトを行っておく。
【００４２】
データ率の算出に関しては、各マクロのマクロレイアウトデータに基づき、レイアウト検証ツールを使用することにより、各基準領域毎のデータ率を計算する。計算した各基準領域毎のデータ率をパラメータとして付与する。
【００４３】
図６には、このようにして付与したパラメータの例を（Ｘ，Ｙ）の位置情報毎に示している（Ｘ；縦並びの位置，Ｙ；横並びの位置）。３×４の基準領域に細分化したマクロにおいて、各基準領域について各層毎にデータ率（基準領域に占める配線面積／基準領域の面積）が示されている。
【００４４】
レイアウト段階において、マクロに入り込まれたチップ上の基準領域のデータ率は、入り込まれたチップ上の基準領域の位置にあるマクロ内の基準領域のデータ率を参照して算出される。従って、マクロをチップに配置するレイアウト段階で、マクロに入り込まれたチップ上の基準領域毎にレイアウト段階でのデータ率のチェックを実施例１より正確に行え、更にリペアを行える。
【実施例３】
【００４５】
第２の実施例の場合、ある程度マクロ内部のデータ率のムラを考慮したデータ率チェックが可能である。しかし、この場合も以下のような２つの問題点が存在する。
（１）さらに基準領域が小さくなった場合に、マクロ内部のデータ率をパラメータとして保持するために、大量のデータが必要となり、ＬＥＦファイルのデータサイズが大きくなりデータ率をチェックする為に用いる情報としては無駄が多くなる。
（２）マクロの外周（最外郭）を形成する基準領域の１領域については、外側からの入り込み量によらずその領域の平均値でしか計算できず、例えば、図４の基準領域Ｂについては基準領域Ｂに入り込んでいるマクロ部分について、マクロの基準領域の平均値が基準領域Ｂのデータ率の計算に利用される。よって、この場合でも、基準領域Ｂのデータ率の算出を、更に正確に求められる場合がある。
【００４６】
そこで、この問題を解消するために第３の実施例では、さらに改良を加えたレイアウト密度検証方法を提案する。
【００４７】
第３の実施例では、図７に示すように、各マクロのマクロレイアウトデータの作成の段階で、各マクロ内を全体チップに適用されるローカルルール（小領域毎にデータ率チェックを行うルール）に準拠した基準領域で細分化する（ステップ４０１）。
【００４８】
さらにそのマクロの外周（最外郭）を形成する基準領域についてさらに細かなメッシュで区切られたメッシュ領域に分割する（ステップ４０２）。
【００４９】
そして、分割したメッシュ領域毎にデータ率を算出し、算出したメッシュ領域毎のデータ率をパラメータとして各メッシュ領域に対応付けてＬＥＦライブラリに付与する（ステップ４０３）。この段階で、マクロの基準領域内のメッシュ領域毎のデータ率が予め規定される基準を満たすように各マクロのレイアウトを行っておくこともできる。
【００５０】
データ率の算出に関しては、マクロレイアウトデータに基づいて、レイアウト検証ツールを使用して各メッシュ領域毎のデータ率を計算する。
【００５１】
マクロの最外郭より内側の基準領域については、メッシュによる分割もデータ率の算出も行わない。これにより、マクロ上の全ての基準領域についてデータ率を算出して保持する場合より、データ量を少なくすることができる。
【００５２】
図８には、３×４の基準領域に細分化したマクロにおいて、マクロの外周（最外郭）を形成する基準領域をさらに細かなメッシュに分割した例を示している。チップの基準領域にマクロの一部分が入り込んだ場合に、チップの基準領域のデータ率を正確に見積もることができるように、このメッシュの大きさは、基準領域に比較して十分小さな寸法とする。
【００５３】
レイアウト段階においては、マクロに入り込まれたチップ上の基準領域のデータ率は、入り込まれたチップ上の基準領域の位置にある各メッシュ領域のデータ率を参照して算出される。従って、マクロをチップに配置するレイアウト段階で、１チップ上のデータ率に関して問題がないかを確認する時に、マクロに入り込まれたチップ上の基準領域毎にデータ率のチェックを実施例２よりも更に正確に行うことができ、必要であればデータ（配線）を埋める対応（リペア）を行う。
【００５４】
例えば、図９に示すように、チップ１００上にマクロ１１０が配置された場合、ローカルルールに準拠した基準領域Ｄでは、マクロ１１０の一部分（メッシュ領域６個分）が入り込んでいるが、上記のように各メッシュ領域毎にデータ率が付与されているため、例えマクロの基準領域内でデータ率にムラがあっても、基準領域より細かいメッシュ領域のデータ率を参照することで、当該基準領域Ｄのデータ率を実施例２よりも正確に見積もることができる。これにより、データ率のチェックも精度よく行うことができる。
【００５５】
以上好ましい実施例をあげて本発明を説明したが、本発明は必ずしも上記実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。
【図面の簡単な説明】
【００５６】
【図１】本発明が適用されるチップレイアウトとレイアウト検証のためのシステム構成を示す図である。
【図２】本発明の第１の実施例によるマクロレイアウトデータの作成段階における手順を示すフローチャートである。
【図３】１チップをローカルルールに準拠した基準領域に細分化した状態を示す図である。
【図４】ローカルルールに準拠した基準領域に細分化した１チップ上にマクロを配置した状態を示す図である。
【図５】本発明の第２の実施例によるマクロレイアウトデータの作成段階における手順を示すフローチャートである。
【図６】本発明の第２の実施例によって付与されるパラメータの例を示す図である。
【図７】本発明の第３の実施例によるマクロレイアウトデータの作成段階における手順を示すフローチャートである。
【図８】ローカルルールに準拠した基準領域に細分化したマクロとその最外郭を形成する各基準領域をさらに細かなメッシュに分割した状態を示す図である。
【図９】ローカルルールに準拠した基準領域に細分化した１チップ上に最外郭を形成する各基準領域をさらに細かなメッシュに分割したマクロを配置した状態を示す図である。
【符号の説明】
【００５７】
１０：マクロレイアウトデータ
２０：ＬＥＦライブラリ
３０：ネットリスト
４０：自動レイアウトツール
５０：チップのセルベース
６０：１チップレイアウトデータ
７０：マージツール
８０：マージ後の１チップレイアウトデータ
９０：レイアウト検証ツール
１００：チップ
１１０：マクロ
【図１】
2005228208.tif 000003
【図２】
2005228208.tif 000004
【図３】
2005228208.tif 000005
【図４】
2005228208.tif 000006
【図５】
2005228208.tif 000007
【図６】
2005228208.tif 000008
【図７】
2005228208.tif 000009
【図８】
2005228208.tif 000010
【図９】
2005228208.tif 000011