(57)【要約】【課題】歩留まりの低下を防止することができる。【解決手段】コンピュータ１は、以下の機能を有する。検証手段２は、レイアウト設計によって所定の配線部位３に配設されている複数のビア４、５より少ないビアの個数でタイミング検証を行う。レイアウト修正手段６は、タイミング検証の結果、遅延時間が所定時間を満たさない場合、配線部位３のビアの個数を調整してレイアウトを修正する。ビアの切断時等においてもタイミングエラーの発生を防止することができ、歩留まりや信頼性の向上を図ることができる。【選択図】図１
2009075971.tif 000002
【特許請求の範囲】
【請求項１】
デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証プログラムにおいて、
コンピュータを、
レイアウト情報格納部に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行う検証手段、
前記タイミング検証の結果、遅延時間が所定時間を満たさない場合、前記配線部位のビアの個数を調整してレイアウトを修正するレイアウト修正手段、
として機能させることを特徴とするレイアウト検証プログラム。
【請求項２】
前記レイアウト修正手段は、遅延時間が所定時間以上の場合、前記配線部位のビアの個数を増やしてレイアウトを修正することを特徴とする請求項１記載のレイアウト検証プログラム。
【請求項３】
前記検証手段は、クリティカルパスに含まれる前記配線部位のビアより少ないビアの個数で前記タイミング検証を行うことを特徴とする請求項１記載のレイアウト検証プログラム。
【請求項４】
デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証方法において、
検証手段が、レイアウト情報格納部に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行い、
レイアウト修正手段が、前記タイミング検証の結果、遅延時間が所定時間を満たさない場合、前記配線部位のビアの個数を調整してレイアウトを修正する、
ことを特徴とするレイアウト検証方法。
【請求項５】
デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証装置において、
レイアウト情報格納部に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行う検証手段と、
前記タイミング検証の結果、遅延時間が所定時間を満たさない場合、前記配線部位のビアの個数を調整してレイアウトを修正するレイアウト修正手段と、
を有することを特徴とするレイアウト検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はレイアウト検証プログラム、レイアウト検証方法およびレイアウト検証装置に関し、特に、デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証プログラム、レイアウト検証方法およびレイアウト検証装置に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large Scale Integration）のレイアウト工程において、歩留まり向上やストレスマイグレーションによる影響（ビア切断等）を考慮するため、単一ビアではなくできる限り多くの冗長ビア（マルチビア）を配線層に挿入する手法が取られており、レイアウトツール等に実装されている（例えば、特許文献１、２参照）。
【特許文献１】特開平９−４５７７８号公報
【特許文献２】特開２００５−２６３９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＬＳＩの設計時に行うタイミング検証は、冗長ビアの全てが有効に存在していることを前提として抵抗成分と容量成分とを抽出している。
しかしながら、実際に作製されたＬＳＩにおいて、冗長ビアを導入した箇所のビアの一部が切断したり、一部に欠陥が発生したりした場合、設計時に想定していた期待値に比べ、抵抗値が増大する結果となってしまう。
【０００４】
抵抗値の増大が、特にクリティカルパスで発生すると、タイミングエラー発生などを引き起こし、歩留まり低下の原因となる可能性が高い。
本発明はこのような点に鑑みてなされたものであり、歩留まりの低下を防止することができるレイアウト検証プログラム、レイアウト検証方法およびレイアウト検証装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明では上記課題を解決するために、図１に示すような処理をコンピュータ１に実行させるためのレイアウト検証プログラムが提供される。
本発明に係るレイアウト検証プログラムは、デバイス間のタイミングを検証してレイアウトを検証するプログラムである。
【０００６】
このレイアウト検証プログラムを実行するコンピュータ１は、以下の機能を有する。
検証手段２は、レイアウト情報格納部８に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位３に配設されている複数のビア４、５より少ないビアの個数でタイミング検証を行う。
【０００７】
レイアウト修正手段６は、タイミング検証の結果、遅延時間が所定時間を満たさない場合、配線部位３のビアの個数を調整してレイアウトを修正する。
このようなレイアウト検証プログラムによれば、検証手段２により、レイアウト情報格納部８に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位３に配設されている複数のビア４、５より少ないビアの個数でタイミング検証が行われる。タイミング検証の結果、遅延時間が所定時間を満たさない場合、レイアウト修正手段６により、配線部位３のビアの個数が調整され、レイアウトが修正される。
【発明の効果】
【０００８】
本発明は、配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行うようにしたので、ビアの切断時等においてもタイミングエラーの発生を防止することができ、歩留まりや信頼性の向上を図ることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。
【００１０】
レイアウト検証プログラムは、コンピュータ１を、検証手段２、レイアウト修正手段６、レイアウト情報格納部８として機能させる。
検証手段２は、レイアウト情報格納部８に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位３に配設されている複数のビア４、５より少ないビアの個数でタイミング検証を行う。
【００１１】
少なくするビアの個数は特に限定されないが、例えばビアの個数が２つ以上の場合、１つ少なくするのが好ましい。これにより、検証時間を短縮することができる。
レイアウト修正手段６は、タイミング検証の結果、遅延時間が所定時間を満たさない場合、この配線部位のビアの個数を調整してレイアウトを修正する。例えば、所定時間以上の場合、図１に示すように配線部位３にビア７を追加する修正を行う。
【００１２】
このようなレイアウト検証プログラムによれば、検証手段２により、レイアウト設計によって所定の配線部位３に配設されている複数のビア４、５より少ないビアの個数でタイミング検証が行われる。タイミング検証の結果、遅延時間が所定時間を満たさない場合、レイアウト修正手段６により、配線部位３のビアの個数が調整され、レイアウトが修正される。
【００１３】
以下、本発明の実施の形態を説明する。
図２は、レイアウト検証装置のハードウェア構成例を示す図である。
レイアウト検証装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００１４】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。また、ＨＤＤ１０３内には、プログラムファイルが格納される。
【００１５】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００１６】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００１７】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成のシステムにおいてレイアウトの検証を行うために、レイアウト検証装置１００内には、以下のような機能が設けられる。
【００１８】
図３は、レイアウト検証装置の機能を示すブロック図である。
レイアウト検証装置１００は、レイアウト情報格納部１１０と、クリティカルパス検出部１２０とタイミング検証部１３０とを有している。
【００１９】
レイアウト情報格納部１１０は、レイアウト検証装置１００内で作成された、または、外部から与えられたＬＳＩのレイアウト情報を格納する。
クリティカルパス検出部１２０は、レイアウト情報格納部１１０に格納されているレイアウト情報を取り出し、クリティカルパスの検出条件に従ってクリティカルパスを検出する。
【００２０】
クリティカルパスの検出条件としては特に限定されないが、例えばレイアウト情報の全パス内の、タイミングマージンの少ない上位±Ｘ％のパスをクリティカルパスとして検出する、タイミングマージンが所定時間内のパスをクリティカルパスとして検出する、クロックパスをクリティカルパスとして検出する、等が挙げられる。
【００２１】
タイミング検証部１３０は、レイアウト情報格納部１１０に格納されているレイアウト情報を取り出し、冗長ビアを配設した全ての配線部位に対し、タイミング検証を行い、デバイス間の遅延時間が所定のタイミングを満足するように、必要に応じてビアを追加してレイアウト情報を修正する。なお、タイミング検証とはＳＴＡ（Static Timing Analysis）に代表されるような論理回路内の静的タイミング検証を指す。
【００２２】
さらに、タイミング検証部１３０は、検出したクリティカルパス上の（クリティカルパスに含まれる配線部位の）冗長ビアを含むデバイス間に対してタイミング検証を行い、遅延時間が所定のタイミングを満足するように、必要に応じてクリティカルパス上のビアを追加してレイアウト情報を修正する。
【００２３】
図４は、タイミング検証の具体例を示す図である。
図４に示す回路では、クロック発生器２１とＤ−ＦＦ２２との間のゲート遅延や配線遅延の総和を計算して、セットアップマージンやホールドマージンが守られているか否かの検証を行う。具体的には、クロック発生器２１からバッファ２３、バッファ２４、Ｄ−ＦＦ２５、バッファ２６、バッファ２７を介してＤ−ＦＦ２２に至る経路およびクロック発生器２１からバッファ２３、バッファ２８を介してＤ−ＦＦ２２に至る経路それぞれのセットアップマージンおよびホールドマージンを測定することにより、検証を行う。
【００２４】
再び図３に戻って説明する。
また、タイミング検証部１３０は、タイミング検証によって修正したレイアウト情報をレイアウト情報格納部１１０に格納する。
【００２５】
このレイアウト検証装置１００によれば、クリティカルパス検出部１２０により、レイアウト情報格納部１１０に格納されたレイアウト情報からタイミング検証の対象となるクリティカルパスが検出される。
【００２６】
そして、タイミング検証部１３０により、冗長ビアを配設した全ての配線部位に対し、タイミング検証が行われ、必要に応じてビアが追加されてレイアウト情報が修正される。また、検出したクリティカルパス上の冗長ビアを含むデバイス間に対してタイミング検証が行われ、必要に応じてビアが追加されてレイアウト情報が修正される。そして、タイミング検証によって修正されたレイアウト情報がレイアウト情報格納部１１０に格納される。
【００２７】
次に、タイミング検証部の処理（タイミング検証処理）を詳しく説明する。
図５は、タイミング検証処理を示すフローチャートである。
まず、冗長ビアＮ個を配設した全ての配線部位に対しタイミング検証を行う（ステップＳ１）。
【００２８】
タイミング検証の結果、遅延時間が所定時間以内か否かを判断する（ステップＳ２）。
遅延時間が所定時間以上（ステップＳ２のＮｏ）の配線部位について、ビアを増加してレイアウトを修正し（ステップＳ３）、ステップＳ１に移行して再びタイミング検証を行う。
【００２９】
遅延時間が所定時間以内の場合（ステップＳ２のＹｅｓ）、クリティカルパス上の冗長ビアを（Ｎ−１）個にしてタイミング検証を行う（ステップＳ４）。
タイミング検証の結果、遅延時間が所定時間以内か否かを判断する（ステップＳ５）。
【００３０】
遅延時間が所定時間以上（ステップＳ５のＮｏ）のクリティカルパス上の配線部位について、ビアを増加してレイアウトを修正し（ステップＳ６）、ステップＳ４に移行して再びタイミング検証を行う。
【００３１】
遅延時間が所定時間以内の場合（ステップＳ５のＹｅｓ）、処理を終了する。
次に、タイミング検証処理の具体例を説明する。
図６は、タイミング検証処理の具体例を示す図である。なお、図６（ａ）〜図６（ｄ）それぞれの左側の図は、配線部位に配設された冗長ビアを示す平面図であり、右側の図は、平面図のＡ−Ａ線での断面図である。
【００３２】
レイアウト情報では、図６（ａ）に示すように、配線層３１、３２間にビアＶ１、Ｖ２（Ｎ＝２）が配設されている。
まず、この配線部位についてＳＴＡによるタイミング検証を行う。ここでは、タイミング検証の結果、遅延時間が所定時間以内であるものとする。
【００３３】
次に、ビアＶ１、Ｖ２のうちいずれか１つを欠落させてＳＴＡによるタイミング検証を行う。ここで、ビアの欠落の方法は図６（ｂ）、（ｃ）に示すように２通り（Ｎ通り）考えられるが、どのビアを欠落させるかは特に限定されない。
【００３４】
タイミング検証の結果、遅延時間が所定時間以上の場合は、図６（ｄ）に示すように、遅延時間を満足させるため、ビアＶ３を追加してレイアウトを修正する。
以上述べたように、本実施の形態のレイアウト検証装置１００によれば、クリティカルパス上の冗長ビアを（Ｎ−１）個にしてタイミング検証を行い、条件を満たさない箇所について、ビアを追加するようにした。すなわち、現在の設計においては要求されるタイミングを満たすものの、冗長ビアを（Ｎ−１）個にすることで要求されるタイミングを満たさなくなる箇所について、ビアを追加するようにした。
【００３５】
これにより、冗長ビアを配設した箇所においてビアの切断や欠陥発生など、実際に作製されるＬＳＩの出来上がり状況を考慮したタイミング検証が事前に可能となり、歩留まりや信頼性の向上を見込むことができる。
【００３６】
また、ステップＳ４〜ステップＳ６の処理は、冗長ビアを配設した配線部位全てについて行うのではなく、クリティカルパス上の冗長ビアについてのみ行うため、実行時間の最小化を図りつつ、歩留まり向上を見込むことができる。
【００３７】
なお、本実施の形態では、クリティカルパス上の冗長ビアを（Ｎ−１）個にしてタイミング検証を行い、遅延時間が所定時間以内の場合、処理を終了したが、本発明はこれに限定されず、クリティカルパス上の冗長ビアを（Ｎ−１）個、（Ｎ−２）個、（Ｎ−３）個、・・・のように漸減していって、遅延時間が所定時間以上になった冗長ビアの個数より１つ多い個数を、実際に配設する冗長ビアの個数とするようレイアウト情報を修正するようにしてもよい。
【００３８】
また、本実施の形態では、クリティカルパス上の冗長ビアを（Ｎ−１）個にしてタイミング検証を行ったが、本発明はこれに限定されず、例えばクリティカルパス上の冗長ビアを（Ｎ−１）個より少なくしてタイミング検証を行い、遅延時間が所定時間以上の場合、冗長ビアの個数を増やし、遅延時間が所定時間以内となった冗長ビアの個数より１つ多い個数を実際に配設する冗長ビアの個数とするようレイアウトを修正するようにしてもよい。
【００３９】
これにより、歩留まりや信頼性の向上を図りつつ、ビアの個数を減らすことができる。
以上、本発明のレイアウト検証プログラム、レイアウト検証方法およびレイアウト検証装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００４０】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、レイアウト検証装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００４１】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００４２】
レイアウト検証プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００４３】
（付記１）  デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証プログラムにおいて、
コンピュータを、
レイアウト情報格納部に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行う検証手段、
前記タイミング検証の結果、遅延時間が所定時間を満たさない場合、前記配線部位のビアの個数を調整してレイアウトを修正するレイアウト修正手段、
として機能させることを特徴とするレイアウト検証プログラム。
【００４４】
（付記２）  前記レイアウト修正手段は、遅延時間が所定時間以上の場合、前記配線部位のビアの個数を増やしてレイアウトを修正することを特徴とする付記１記載のレイアウト検証プログラム。
【００４５】
（付記３）  前記検証手段は、前記所定の配線部位に配設されている複数のビアの個数でタイミング検証を行った後に、前記複数のビアより少ないビアの個数でタイミング検証を行うことを特徴とする付記１記載のレイアウト検証プログラム。
【００４６】
（付記４）  前記検証手段は、クリティカルパスに含まれる前記配線部位のビアより少ないビアの個数で前記タイミング検証を行うことを特徴とする付記１記載のレイアウト検証プログラム。
【００４７】
（付記５）  前記検証手段は、クリティカルパス上の複数の前記ビアより１つ少ないビアの個数で前記タイミング検証を行うことを特徴とする付記１記載のレイアウト検証プログラム。
【００４８】
（付記６）  デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証方法において、
検証手段が、レイアウト情報格納部に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行い、
レイアウト修正手段が、前記タイミング検証の結果、遅延時間が所定時間を満たさない場合、前記配線部位のビアの個数を調整してレイアウトを修正する、
ことを特徴とするレイアウト検証方法。
【００４９】
（付記７）  デバイス間のタイミングを検証してレイアウトを検証するレイアウト検証装置において、
レイアウト情報格納部に格納されているレイアウト情報を取り出し、レイアウト設計によって所定の配線部位に配設されている複数のビアより少ないビアの個数でタイミング検証を行う検証手段と、
前記タイミング検証の結果、遅延時間が所定時間を満たさない場合、前記配線部位のビアの個数を調整してレイアウトを修正するレイアウト修正手段と、
を有することを特徴とするレイアウト検証装置。
【図面の簡単な説明】
【００５０】
【図１】本発明の概要を示す図である。
【図２】レイアウト検証装置のハードウェア構成例を示す図である。
【図３】レイアウト検証装置の機能を示すブロック図である。
【図４】タイミング検証の具体例を示す図である。
【図５】タイミング検証処理を示すフローチャートである。
【図６】タイミング検証処理の具体例を示す図である。
【符号の説明】
【００５１】
１  コンピュータ
２  検証手段
３  配線部位
４、５、７  ビア
６  レイアウト修正手段
１００  レイアウト検証装置
１１０  レイアウト情報格納部
１２０  クリティカルパス検出部
１３０  タイミング検証部
Ｖ１〜Ｖ３  ビア
【図１】
2009075971.tif 000003
【図２】
2009075971.tif 000004
【図３】
2009075971.tif 000005
【図４】
2009075971.tif 000006
【図５】
2009075971.tif 000007
【図６】
2009075971.tif 000008