説明

レイアウト検証装置、方法及びプログラム

【課題】LVS検証においてチップの一部にレイアウトの変更が発生した場合にレイアウト検証処理の負担を軽減すること。
【解決手段】レイアウト検証装置は、半導体集積回路のレイアウトを検証するものであり、論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータと、を記憶する記憶部と、回路情報と第1のレイアウトデータとの比較検証においてエラーとなったことに起因して、当該第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを記憶部に格納する格納部と、記憶部を参照し、第1のレイアウトデータと第2のレイアウトデータとに基づいて、修正されたレイアウト領域である修正レイアウト領域を抽出する修正領域抽出部と、修正レイアウト領域と回路情報とを用いて再度の比較検証を行う比較検証部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レイアウト検証装置、方法及びプログラムに関し、特に、半導体集積回路のレイアウトを検証するレイアウト検証装置、方法及びプログラムに関する。
【背景技術】
【0002】
近年、半導体集積回路(以降、「LSI」(Large Scale Integration)と称す。)の微細化や大規模化に伴い、レイアウトデータ情報と回路情報の比較検証(以降、「LVS(Layout Versus Schematic)検証」と称す。)において、検証対象となるレイアウトデータが大量になっている。そのため、LSIのLVS検証に長時間を要するようになった。また、LVS検証は製品開発の中でコスト及び納期に影響が大きい。よって、LSIの早期の市場投入のためにLVS検証時間を短くする必要性が高まってきた。
【0003】
さらに、一般的にレイアウト検証後にエラーや変更が発生した場合、レイアウト修正を行い、再度LVS検証を実行するという過程を繰り返す必要がある。そのため、LSIのLVS検証にかかる時間は増大している。特にLVS検証において、レイアウト上のレイアウト層やレイアウト層の構成から素子の認識と電位的接続情報を抽出するために等電位追跡を行う必要がある。これに実行時間を要しているため、検証時間を短くする必要性が高まってきた。
【0004】
特許文献1は、多層構造の半導体装置を製造する製造プロセスに基づいて、複数層のレイアウトデータを検証するレイアウト検証処理のプロセスを適宜変更し、レイアウト検証処理の負担を軽減し、レイアウトデータの品質を向上させる半導体集積回路のレイアウト作成装置及びレイアウト作成方法を目的としている。
【0005】
以下では、多層構造の半導体装置の製造において、層毎に作成するレイアウトデータのうち、隣接する2つの層のレイアウトデータに対してLVL(Layout Versus Layout)によるレイアウト検証処理を実行し、レイアウト検証後のレイアウトデータに対してDRC(Design Rule Checking)及びLVSによるレイアウト検証処理を実行し、これらのレイアウト検証処理を複数の層毎に分割して実行する場合について、図23を用いて説明する。
【0006】
図23は、特許文献1にかかるレイアウト作成装置92の構成例を示すブロック図である。レイアウト作成装置92は、論理回路図設計部93と、レイアウトデータ作成部94と、レイアウトデータ検証部95と、検証プロセス設定部98と、データ入出力部99と、を備える。
【0007】
また、レイアウト作成装置92の外部には、LVL検証部(層間レイアウト検証部)900と、マスク作成データ作成部910と、フォトマスク製造装置920と、半導体装置製造装置930と、を備える。LVL検証部900は、隣接する2つの層のレイアウトデータ間のLVLを実行する。マスク作成データ作成部910は、レイアウトデータからフォトマスク製造用のマスク作成データを作成する。フォトマスク製造装置920は、LVLを実行後の各層のマスク作成データに基づいて各層のフォトマスクを製造する。半導体装置製造装置930は、製造された各層のフォトマスクに基づいて半導体装置を製造する。
【0008】
論理回路図設計部93は、半導体集積回路仕様情報91に基づいて論理回路図を設計する。レイアウトデータ作成部94は、論理回路図設計部93により設計された論理回路図の情報に基づいてレイアウトデータを作成する。また、レイアウトデータ検証部95は、LVS検証部(論理接続検証部)96及びDRC検証部(デザインルール検証部)97を備える。
【0009】
LVS検証部96は、LVSを実行し、レイアウトデータからゲートレベルの接続情報を復元し、さらにゲートレベルの接続情報をトランジスタレベルの接続情報へ変換した後、このトランジスタレベルの接続情報と論理回路図の情報とが一致するか否かを照合確認する。
【0010】
DRC検証部97は、DRCを実行し、レイアウトデータから検証すべき図形の幅、2つの図形間の距離、およびある図形が他の図形の内部に包含される場合の規格値(許容最小・最大間隔値)等のデザインルールを認識し、レイアウトデータの図形の幅やスペースがデザインルールを満たしているか否かを判定する。
【0011】
検証プロセス設定部98は、多層構造の半導体装置をチップ化する際の製造プロセスに基づいて、LVS検証部96、DRC検証部97及びLVL検証部900において実行される検証処理のプロセスを設定する機能を有する。また、検証プロセス設定部98は、その設定情報をLVS検証部96、DRC検証部97及びLVL検証部900に設定する機能を有する。例えば、検証プロセス設定部98は、検証処理の対象となる複数の層毎のレイアウトデータを分割する層を設定する。そして、検証プロセス設定部98は、当該分割した層に応じて検証処理のプロセスを設定する。また、検証プロセス設定部98は、検証処理のプロセス中に抽出されるエラー箇所レポートの出力タイミング等を設定する。
【0012】
LVL検証部900は、隣接する2つの層のレイアウトデータ間のLVLを実行した際に、エラー箇所を抽出した場合は、そのエラー箇所レポートをデータ入出力部99に出力する。データ入出力部99は、レイアウトデータ作成部94から入力されるレイアウトデータをLVL検証部900に出力し、LVL検証部900から入力されるエラー箇所レポートをレイアウトデータ作成部94に出力する入出力処理を実行する。
【0013】
特許文献2〜5には、半導体集積回路のレイアウト設計の検証方法等に関する技術が開示されている。特許文献2にかかる検証方法は、既存の検証済みのレイアウト・ネットリストを切り貼りして新規ブロックの検証を行うものである。特許文献3にかかるレイアウト作成装置は、LVSでの情報を元にDRCで部分的な擬似エラーを消す(特殊基準を用いる)ものである。特許文献4にかかる設計検証装置は、論理回路とレイアウトとの比較時に、クロスリファレンス情報を生成し、最適な論理回路とレイアウトの対応情報の検索等を容易にするためのものである。特許文献5にかかるレイアウト検証方法は、LVLで差が出た周辺領域のみのDRCを実行するものである。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2009−146054号公報
【特許文献2】特開平4−076940号公報
【特許文献3】特開2008−009964号公報
【特許文献4】特開2004−102772号公報
【特許文献5】特開2003−337843号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
ここで、図24は、特許文献1にかかるレイアウト作成装置92において実行されるレイアウトデータ作成処理の流れを示すフローチャートである。図24では、ステップS908(又はステップS905)においてエラー有と判定された場合、エラー箇所をレポートし(ステップS906)、レイアウトを修正する(ステップS907)。そして、ステップS903に戻って実行を繰り返す。このとき、ステップS908において再度、レイアウトの各層に対して素子および素子間の接続情報を抽出している。
【0016】
そのため、上述した特許文献1には、LVS検証においてチップの一部変更が発生した場合にレイアウト検証処理の負担が軽減できないという問題点がある。その理由は、層毎のレイアウトデータから素子および素子間の接続情報を抽出しているため、レイアウトデータに素子の追加もしくは削除や、接続の追加もしくは削除が行われた場合には、再度全ての層毎のレイアウトデータからの素子および素子間の接続情報を抽出しなおさなければならないためである。
【0017】
尚、特許文献2では、既存の検証済みブロックが存在していなければならない。特許文献3は、回路特性情報を基にしたDRCへのフィードバックである。特許文献4は、LPE制御のための技術である。特許文献5は、LVSを網羅していない。よって、特許文献2〜5では、上述した問題点を解決することはできない。
【課題を解決するための手段】
【0018】
本発明の第1の態様にかかるレイアウト検証装置は、
半導体集積回路のレイアウトを検証するレイアウト検証装置であって、
論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータと、を記憶する記憶部と、
前記回路情報と前記第1のレイアウトデータとの比較検証においてエラーとなったことに起因して、当該第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを前記記憶部に格納する格納部と、
前記記憶部を参照し、前記第1のレイアウトデータと前記第2のレイアウトデータとに基づいて、前記修正されたレイアウト領域である修正レイアウト領域を抽出する修正領域抽出部と、
前記修正レイアウト領域と前記回路情報とを用いて再度の比較検証を行う比較検証部と、
を備える。
【0019】
本発明の第2の態様にかかるレイアウト検証方法は、
半導体集積回路のレイアウトを検証するレイアウト検証方法であって、
論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータとを比較検証し、
前記比較検証の結果エラーとなったことに起因して、当該第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを受け付け、
前記第1のレイアウトデータと前記第2のレイアウトデータとに基づいて、前記修正されたレイアウト領域である修正レイアウト領域を抽出し、
前記修正レイアウト領域と前記回路情報とを用いて再度の比較検証を行う。
【0020】
本発明の第3の態様にかかるレイアウト検証プログラムは、
論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータと、を記憶する記憶部を備えるコンピュータに、半導体集積回路のレイアウトを検証する処理を実行させるレイアウト検証プログラムであって、
前記記憶部に記憶された前記回路情報と、前記第1のレイアウトデータとを比較検証する処理と、
前記比較検証の結果エラーとなったことに起因して、前記第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを前記記憶部に格納する格納処理と、
前記記憶部を参照し、前記第1のレイアウトデータと前記第2のレイアウトデータとに基づいて、前記修正されたレイアウト領域である修正レイアウト領域を抽出する修正領域抽出処理と、
前記修正レイアウト領域と前記回路情報とを用いて再度の比較検証を行う再検証処理と、
を前記コンピュータに実行させる。
【0021】
本発明の第1乃至第3の態様により、再度の比較検証において本来は、第2のレイアウトデータ全体と回路情報との比較検証が必要であるところ、第2のレイアウトデータのうち抽出された修正レイアウト領域のみを比較検証の対象とするため、比較検証処理時間を短縮することができる。
【発明の効果】
【0022】
本発明により、LVS検証においてチップの一部にレイアウトの変更が発生した場合にレイアウト検証処理の負担を軽減するためのレイアウト検証装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施の形態1にかかるレイアウト検証装置の構成を示すブロック図である。
【図2】本発明の実施の形態1にかかるレイアウト検証処理の流れを示すフローチャートである。
【図3】本発明の実施の形態1による比較検証対象を概念的に説明する図である。
【図4】本発明の実施の形態1によるレイアウト検証装置のハードウェア構成の例を示すブロック図である。
【図5】本発明の実施の形態2にかかるレイアウト作成装置を含むシステム構成を示すブロック図である。
【図6】本発明の実施の形態2にかかるレイアウト作成処理の流れを示すフローチャートである。
【図7】本発明の実施の形態2にかかるLVSの実行処理の流れを示すフローチャートである。
【図8】本発明の実施の形態2にかかる回路情報の例を示す図である。
【図9】本発明の実施の形態2にかかるレイアウト作成装置により作成された初回(修正前)のレイアウトデータの模式図である。
【図10】本発明の実施の形態2にかかる初回レイアウトデータに基づいて生成される対応テーブルの例を示す図である。
【図11】本発明の実施の形態2にかかる初回レイアウトデータがLVSでエラーとなったことにより修正された修正後のレイアウトデータの模式図である。
【図12】本発明の実施の形態2にかかる修正前と修正後のレイアウトデータの差分領域の模式図である。
【図13】本発明の実施の形態2にかかる修正レイアウト領域の模式図である。
【図14】本発明の実施の形態2にかかる比較検証対象を概念的に示す図である。
【図15】本発明の実施の形態3にかかるレイアウト作成装置を含むシステム構成を示すブロック図である。
【図16】本発明の実施の形態3にかかるLVSの実行処理の流れを示すフローチャートである。
【図17】本発明の実施の形態3にかかる初回レイアウトデータに基づいて生成される対応テーブルの例を示す図である。
【図18】本発明の実施の形態3にかかる絞り込み後の回路情報の例を示す図である。
【図19】本発明の実施の形態3にかかる比較検証対象を概念的に示す図である。
【図20】本発明の実施の形態4にかかるレイアウト作成装置を含むシステム構成を示すブロック図である。
【図21】本発明の実施の形態4にかかるLVSの実行処理の流れを示すフローチャートである。
【図22】本発明の実施の形態4にかかる比較検証対象を概念的に示す図である。
【図23】関連技術にかかるレイアウト作成装置の構成を示すブロック図である。
【図24】関連技術にかかるレイアウト作成処理の流れを示すフローチャートである。
【図25】関連技術にかかる比較検証対象を概念的に説明する図である。
【発明を実施するための形態】
【0024】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【0025】
<発明の実施の形態1>
図1は、本発明の実施の形態1にかかるレイアウト検証装置100の構成を示すブロック図である。レイアウト検証装置100は、半導体集積回路のレイアウトを検証するための装置である。レイアウト検証装置100は、記憶部110と、格納部120と、修正領域抽出部130と、比較検証部140とを備える。
【0026】
記憶部110は、回路情報111と、第1レイアウトデータ112と、第2レイアウトデータ113とを記憶する。記憶部110は、例えば、不揮発性の記憶装置である。回路情報111は、論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報114を含む。第1レイアウトデータ112は、回路情報111に基づき複数層のレイアウト領域が設計された情報である。第2レイアウトデータ113は、回路情報111と第1のレイアウトデータ112との比較検証においてエラーとなったことに起因して、第1のレイアウトデータ112のレイアウト領域が修正された修正後のレイアウトデータである。そのため、第2レイアウトデータ113は、予め記憶部110に記憶されているものではない。
【0027】
格納部120は、第2レイアウトデータ113を記憶部110に格納する。修正領域抽出部130は、記憶部110を参照し、第1レイアウトデータ112と第2レイアウトデータ113とに基づいて、修正されたレイアウト領域である修正レイアウト領域を抽出する。比較検証部140は、修正レイアウト領域と回路情報111とを用いて再度の比較検証を行う。
【0028】
図2は、本発明の実施の形態1にかかるレイアウト検証処理の流れを示すフローチャートである。まず、比較検証部140は、記憶部110を参照し、回路情報111と第1レイアウトデータ112とを比較検証する(ステップS101)。尚、ステップS101は、レイアウト検証装置100の外部で実行しても構わない。そして、ステップS101の比較検証の結果エラーとなったことに起因して、ユーザにより当該第1のレイアウトデータのレイアウト領域が修正される。尚、ステップS101の比較検証処理及びその修正処理は、レイアウト検証装置100の外部で実行しても構わない。また、当該修正処理は、ユーザが比較検証結果に応じて回路情報111に基づいて、第1レイアウトデータ112にレイアウトデータに素子の追加もしくは削除又は接続の追加もしくは削除が行われるものとする。つまり、修正処理によりレイアウト領域の範囲や位置等の修正がされるものとする。
【0029】
次に、格納部120は、第2レイアウトデータ113を受け付けて格納する(ステップS102)。例えば、格納部120は、外部から修正済みの第2レイアウトデータ113を受け付けて、記憶部110に格納する。
【0030】
次に、修正領域抽出部130は、第1のレイアウトデータ112と第2のレイアウトデータ113とに基づいて、修正されたレイアウト領域である修正レイアウト領域を抽出する(ステップS103)。その後、比較検証部140は、修正レイアウト領域と回路情報111とを用いて再度の比較検証を行う(ステップS104)。
【0031】
ここで、上述した特許文献1と本発明の実施の形態1とにおける比較検証対象の違いについて概念的に説明する。図25は、特許文献1にかかる比較検証対象を概念的に説明する図である。レイアウトデータLは、第1レイアウトデータ112に対して修正された修正領域LA0を含み、第2レイアウトデータ113に相当する。修正領域LA0は、回路情報111と第1レイアウトデータ112との比較検証結果、エラーとなったことにより修正されたレイアウト領域を示す。図25では、特許文献1においては、レイアウトデータL全体のうち修正領域LA0が一部であっても、常に回路情報C全体と比較検証を行うことを示す。
【0032】
図3は、本発明の実施の形態1による比較検証対象を概念的に説明する図である。本発明の実施の形態1では、レイアウトデータLの中から、少なくとも修正領域LA0を含むような抽出領域LA1を抽出し、レイアウトデータL全体のうち一部である抽出領域LA1と回路情報C全体とを再度の比較検証の対象とする。そのため、本発明の実施の形態1では、特許文献1に比べて再度の比較検証対象のレイアウトデータが絞り込まれており、比較検証部140における再度の比較検証処理の計算量を削減し、比較検証処理時間を短縮することができる。
【0033】
そのため、本発明の実施の形態1にかかるレイアウト検証装置100により、LVS検証においてチップの一部にレイアウトの変更が発生した場合にレイアウト検証処理の負担を軽減することができる。
【0034】
図4は、本発明の実施の形態1によるレイアウト検証装置100のハードウェア構成の例を示すブロック図である。レイアウト検証装置100は、例えば、汎用的なコンピュータシステムにより実現可能である。レイアウト検証装置100は、例えば、CPU(Central Processing Unit)101等の制御装置と、RAM(Random Access Memory)102及びROM(Read Only Memory)103等のメモリと、通信部104と、HDD105とを備えるものである。レイアウト検証装置100は、その他図示しない構成として、キーボードやマウス等の入力装置やディスプレイ等の表示装置を備える。通信部104は、ネットワークを介して外部とのデータの送受信を行うインタフェースである。
【0035】
HDD105は、OS(Operating System)(不図示)と、レイアウト検証プログラム106と、回路情報107と、レイアウトデータ108とが記憶されている。レイアウト検証プログラム106は、本発明の実施の形態1にかかるレイアウト検証処理が実装されたコンピュータプログラムである。回路情報107は、図1の回路情報111に相当し、レイアウトデータ108は、図1の第1レイアウトデータ112及び第2レイアウトデータ113に相当する。
【0036】
CPU101は、レイアウト検証装置100における各種処理、RAM102、ROM103、通信部104及びHDD105へのアクセス等を制御する。レイアウト検証装置100は、CPU101がHDD105に記憶されたOS及びレイアウト検証プログラム106を読み込み、実行する。これにより、レイアウト検証装置100は、本発明の実施の形態1にかかるレイアウト検証処理を実現する。
【0037】
<発明の実施の形態2>
図5は、本発明の実施の形態2にかかるレイアウト作成装置300を含むシステム構成を示すブロック図である。図5には、記憶装置200と、レイアウト作成装置300と、マスク作成データ作成部370と、フォトマスク製造装置380と、半導体装置製造装置390とが含まれる。
【0038】
記憶装置200は、レイアウト作成装置300に対する入出力データを記憶する記憶装置である。具体的には、記憶装置200は、半導体集積回路仕様情報210と、回路情報220と、修正前レイアウトデータ230と、修正後レイアウトデータ240と、対応テーブル250と、LVS用制御ファイル260とを記憶する。
【0039】
半導体集積回路仕様情報210は、製造しようとする半導体装置の動作仕様を記述した情報である。回路情報220は、回路情報111の一例であり、複数の素子情報を含むものである。素子情報は、素子の識別情報である素子ID、ドレイン、ゲート及びソースの各端子に接続される接続情報名(ネット名)並びに当該素子の種別を含む情報である。尚、回路情報220に含まれる情報はこれに限定されない。
【0040】
修正前レイアウトデータ230は、第1レイアウトデータ112の一例であり、半導体集積回路仕様情報210を入力としてレイアウト作成装置300によって作成されたレイアウトデータのうち、初回に作成されたレイアウトデータを示す。ここで、レイアウトデータの作成は、一般的に、ユーザにとって難易度が高い。そのため、ユーザが回路情報220に基づいて素子の配置等を行ったとしても、初回に作成されたレイアウトデータに誤りが含まれることが多い。つまり、修正前レイアウトデータ230には、回路情報220との乖離があり、後述するLVS検証においてエラーとなるものとする。
【0041】
修正後レイアウトデータ240は、第2レイアウトデータ113の一例であり、回路情報220と修正前レイアウトデータ230とのLVS検証においてエラーとなった後に、ユーザにより修正前レイアウトデータ230のレイアウト領域が修正された修正後のレイアウトデータである。つまり、修正後レイアウトデータ240は、修正前レイアウトデータ230に素子の追加もしくは削除又は接続の追加もしくは削除が行われるものとする。つまり、当該修正によりレイアウト領域の範囲や位置等の修正がされるものとする。尚、一回で修正が完了するとは限らないため、修正後レイアウトデータ240は、修正前レイアウトデータ230から複数回の修正が行われた後のデータであってもよい。さらに、修正前レイアウトデータ230自体が、初回のレイアウトデータから何回かの修正後のレイアウトデータであっても構わない。
【0042】
対応テーブル250は、修正前レイアウトデータ230に含まれるレイアウト領域と接続関係とを対応付けた対応付情報である。対応テーブル250は、例えば、レイアウト領域の種別、識別情報、所属する層及び配置された座標と、当該レイアウト領域が構成する接続情報とを対応付けたもののリストである。尚、対応テーブル250に含まれる情報はこれに限定されない。
【0043】
LVS用制御ファイル260は、LVS検証部342の動作を制御する情報である。LVS用制御ファイル260には、レイアウト層からの素子定義および接続定義が規定されている。
【0044】
レイアウト作成装置300は、半導体集積回路仕様情報210を入力としてレイアウトデータを生成し、その検証を行う。マスク作成データ作成部370は、レイアウト作成装置300により検証済みのレイアウトデータを入力し、レイアウトデータからフォトマスク製造用のマスク作成データを作成し、フォトマスク製造装置380にフォトマスク製造用マスク作成データを出力する。フォトマスク製造装置380は、フォトマスク製造用マスク作成データをマスク作成データ作成部370より入力し、マスク作成データからフォトマスクを製造し、半導体装置製造装置390にフォトマスクを出力する。半導体装置製造装置390は、フォトマスクをフォトマスク製造装置380より入力し、フォトマスクを使って半導体装置を製造し、半導体装置を出力する。尚、マスク作成データ作成部370、フォトマスク製造装置380及び半導体装置製造装置390は、上述した図23のマスク作成データ作成部910、フォトマスク製造装置920及び半導体装置製造装置930と同等のものを用いても構わない。
【0045】
レイアウト作成装置300は、論理回路図設計部310と、レイアウトデータ作成部320と、レイアウトデータ修正情報抽出部330と、レイアウトデータ検証部340と、検証プロセス設定部350と、データ出力部360とを備える。
【0046】
論理回路図設計部310は、半導体集積回路仕様情報210に基づいて論理回路図を設計する。例えば、論理回路図設計部310は、記憶装置200より半導体集積回路仕様情報210を読み出し、表示装置等を介して半導体集積回路仕様情報210を出力する。そして、半導体集積回路の設計者であるユーザが半導体集積回路仕様情報210に基づき論理回路図を設計する。その後、論理回路図設計部310は、入力装置を介してユーザが設計した論理回路図を受け付ける。または、論理回路図設計部310は、記憶装置200から読み出した半導体集積回路仕様情報210に基づいて論理回路図を生成しても構わない。尚、論理回路図には、少なくともレイアウト作成に必要なレイアウト規定及び層情報が含まれる。
【0047】
そして、論理回路図設計部310は、受け付け又は設計された論理回路図を回路情報220として記憶装置200に格納する。また、論理回路図設計部310は、レイアウトデータ作成部320に対してレイアウト作成の可否情報等を出力する。尚、論理回路図設計部310は、図23の論理回路図設計部93を用いても構わない。
【0048】
レイアウトデータ作成部320は、記憶装置200に格納された回路情報220に基づいてレイアウトデータを作成する。例えば、レイアウトデータ作成部320は、論理回路図設計部310よりレイアウト作成が可である旨を受け付け、記憶装置200から回路情報220を読み出し、表示装置等を介して回路情報220を出力する。そして、ユーザが回路情報220に基づき層ごとにレイアウト領域の配置位置等を指定して、レイアウトデータを作成する。その後、レイアウトデータ作成部320は、入力装置を介してユーザが作成したレイアウトデータを受け付ける。または、レイアウトデータ作成部320は、記憶装置200から読み出した回路情報220に基づいてレイアウトデータを生成しても構わない。
【0049】
そして、レイアウトデータ作成部320は、受け付け又は作成されたレイアウトデータを記憶装置200に格納する。その際、当該レイアウトデータが初回に作成されたものである場合、レイアウトデータ作成部320は、修正前レイアウトデータ230として記憶装置200に格納する。また、当該レイアウトデータが修正前レイアウトデータ230から修正されたものである場合、レイアウトデータ作成部320は、修正後レイアウトデータ240として記憶装置200に格納する。例えば、後述するDRC検証部341又はLVS検証部342においてエラーとなった場合、ユーザが当該エラーを示す情報に基づいて修正前レイアウトデータ230のレイアウト領域の修正を行う。そして、レイアウトデータ作成部320は、修正後のレイアウトデータを修正後レイアウトデータ240として記憶装置200に格納する。言い換えると、レイアウトデータ作成部320は、既に修正前レイアウトデータ230が格納済みの場合、修正後レイアウトデータ240として記憶装置200に格納する。
【0050】
さらに、記憶装置200に修正後レイアウトデータ240が格納済みの場合、レイアウトデータ作成部320は、修正後レイアウトデータ240を上書きする。または、レイアウトデータ作成部320は、記憶装置200に格納済みの修正後レイアウトデータ240を修正前レイアウトデータ230として上書きした上で、新たに修正後レイアウトデータ240を格納してもよい。また、レイアウトデータ作成部320は、レイアウトデータを上書きせずに、修正の度に修正後レイアウトデータ240を別途、記憶装置200に格納するようにしても構わない。つまり、レイアウトデータ作成部320は、少なくとも修正後レイアウトデータ240の修正元となった修正前レイアウトデータ230を1つ以上保持するように、記憶装置200に対して修正後レイアウトデータ240の格納を行うものとする。
【0051】
レイアウトデータ検証部340は、検証プロセス設定部350からの指示に応じて、レイアウトデータ作成部320から出力されたレイアウトデータに対してレイアウト検証を行う。レイアウトデータ検証部340は、DRC検証部341と、LVS検証部342とを備える。
【0052】
DRC検証部341は、DRCの実行によりレイアウトデータが層同士の間隔や幅などのレイアウト規定に従っているか否かを確認する。尚、DRC検証部341は、図23のDRC検証部97を用いても構わない。ここでは、DRC検証部341は、レイアウトデータ作成部320により作成されたレイアウトデータを入力としてレイアウト基準に従っているか否かを検証するとともに、LVS検証部342へレイアウトデータを出力する。または、DRC検証部341は、LVS検証部342の検証後のレイアウトデータを入力としてレイアウト基準に従っているか否かを検証するとともに、DRC検証結果をレイアウトデータ作成部320へ出力する。
【0053】
LVS検証部342は、LVS用制御ファイル260に基づいて修正前レイアウトデータ230又は修正後レイアウトデータ240と、回路情報220との比較検証処理を行い、比較検証結果をレイアウトデータ作成部320及びデータ出力部360へ出力する。具体的には、LVS検証部342は、記憶装置200からLVS用制御ファイル260を読み出し、また、修正後レイアウトデータ240が存在しない場合には記憶装置200から修正前レイアウトデータ230を読み出す。そして、LVS検証部342は、修正前レイアウトデータ230に対応する素子情報を生成し、回路情報220内の素子情報との照合を行う。当該照合としては、例えば、LVS検証部342は、修正前レイアウトデータ230からゲートレベルの接続情報を復元する。そして、LVS検証部342は、ゲートレベルの接続情報をトランジスタレベルの接続情報へ変換する。その後、LVS検証部342は、トランジスタレベルの接続情報と回路情報220内の素子情報に含まれる接続情報とが一致するか否かを照合確認する。
【0054】
比較検証結果がエラーの場合、レイアウトデータ作成部320へその旨通知し、表示装置を介してエラー内容等が出力される。これにより、ユーザがエラー内容に応じて修正前レイアウトデータ230に対してレイアウト領域の修正を行う。
【0055】
また、LVS検証部342は、比較検証処理において照合された修正前レイアウトデータ230に含まれる図形情報と接続情報との対応付けを対応テーブル250として生成して記憶装置200に格納する。LVS検証部342は、いわば対応付情報生成部としても機能する。例えば、LVS検証部342は、修正前レイアウトデータ230の比較検証時に、修正前レイアウトデータ230における対応テーブル250を生成する。これにより、既存の比較検証処理の結果を流用して効率的に対応テーブルを生成できる。
【0056】
または、LVS検証部342は、比較検証結果がエラーの場合に、修正後レイアウトデータ240に対する再度の比較検証が行われる前までに、修正前レイアウトデータ230における対応テーブル250を生成してもよい。これにより、レイアウトデータの修正が複数回行われる場合などに、対応テーブル250の生成処理を最小限にすることができ、LVS検証処理の負荷をさらに軽減できる。例えば、LVS検証部342は、レイアウトデータ作成部320により記憶装置200に修正後レイアウトデータ240が格納されたことを契機として、記憶装置200から修正前レイアウトデータ230を読み出して、修正前レイアウトデータ230における対応テーブル250を生成してもよい。
【0057】
検証プロセス設定部350は、半導体装置をチップ化する際の製造プロセスに基づいてLVS検証部342及びレイアウトデータ修正情報抽出部330において実行される検証処理のプロセスを設定する。検証プロセス設定部350は、作成する半導体に対してプロセス的な規定を行ったものであり、レイアウトデータ検証部340に含まれるDRC検証部341にレイアウトが許可される層及び配置規定を入力するとともに、データ出力部360にマスク作成データ作成に必要なレイアウトデータの情報を出力する。
【0058】
レイアウトデータ修正情報抽出部330は、修正領域抽出部130の一例である。レイアウトデータ修正情報抽出部330は、レイアウトデータ作成部320により記憶装置200に修正後レイアウトデータ240が格納され、DRC検証部341において修正後レイアウトデータ240がエラーでなかった場合に処理を行う。
【0059】
この場合、レイアウトデータ修正情報抽出部330は、修正後レイアウトデータ240に含まれる各層の図形的位置情報の変更情報と当該図形的位置情報の変更にともなう接続情報の変更情報を抽出する。すなわち、レイアウトデータ修正情報抽出部330は、検証プロセス設定部350により設定された対象層の情報を基に修正前レイアウトデータ230と修正後レイアウトデータ240との間で修正されたレイアウト領域である修正レイアウト領域の抽出を行う。具体的には、レイアウトデータ修正情報抽出部330は、修正前レイアウトデータ230と修正後レイアウトデータ240との間のレイアウト領域の差分領域を特定する。そして、レイアウトデータ修正情報抽出部330は、当該差分領域と電気的に関係する領域を修正レイアウト領域として抽出する。これにより、修正レイアウト領域を精度良く抽出することができる。
【0060】
さらに、レイアウトデータ修正情報抽出部330は、差分領域に基づいて対応テーブル250の中から修正レイアウト領域を抽出する。例えば、レイアウトデータ修正情報抽出部330は、対応テーブル250の中から、差分領域に隣接するレイアウト領域を特定し、当該隣接するレイアウト領域に対応付けられた接続情報を特定し、特定された接続情報が対応付けられたレイアウト領域を特定する。そして、これらの特定されたレイアウト領域を修正レイアウト領域とすることができる。これにより、修正後レイアウトデータ240内の複数のレイアウト領域のうち、修正前レイアウトデータ230から修正されたレイアウト領域のみを抽出することができる。つまり、修正前レイアウトデータ230における対応テーブル250を予め生成して保持しておくことで、修正レイアウト領域を効率的に抽出できる。このため、実施の形態1に比べてさらに修正レイアウト領域を精度良く絞り込むことができる。
【0061】
そして、レイアウトデータ修正情報抽出部330は、LVS検証部342に修正レイアウト領域を出力する。その後、LVS検証部342は、LVS用制御ファイル260に基づいて修正後レイアウトデータ240のうち修正レイアウト領域と、回路情報220との比較検証処理を行い、比較検証結果をレイアウトデータ作成部320及びデータ出力部360へ出力する。このとき、LVS検証部342は、例えば、修正レイアウト領域に対応付けられた接続情報を特定し、特定された接続情報をトランジスタレベルの接続情報へ変換し、その後にトランジスタレベルの接続情報と回路情報220内の素子情報に含まれる接続情報とが一致するか否かを照合確認する。つまり、LVS検証部342は、2回目以降の比較検証処理について、LVS検証処理を部分的に実行しているということができる。そのため、LVS検証処理の負荷を軽減できる。
【0062】
さらに、LVS検証部342は、修正後レイアウトデータ240に対する再度の比較検証によりエラーとなった場合に、対応テーブル250のうち修正レイアウト領域における対応付けを更新する。対応テーブル250を差分更新することで、さらにLVS検証処理を効率化できる。
【0063】
データ出力部360は、レイアウト検証を終えたレイアウトデータを入力とし、マスク作成データ作成部370へマスク作成用データを出力する。
【0064】
ここで、図6を用いて本発明の実施の形態2にかかるレイアウト作成処理の流れを説明する。以下の説明では、検証プロセス設定部350により予め設定された設定情報に基づいて、LVS検証部342が各レイアウト検証処理のプロセスを実行するものとする。また、記憶装置200には、予めLVS用制御ファイル260が格納されているものとする。
【0065】
まず、半導体集積回路の設計者であるユーザは、半導体集積回路の仕様を決定する(ステップS201)。そのため、レイアウト作成装置300は、ユーザから入力装置等を介して仕様を受け付けて、半導体集積回路仕様情報210として記憶装置200に格納する。
【0066】
次に、ユーザは、半導体集積回路仕様情報210に基づいて回路情報220を作成する(ステップS202)。そのため、論理回路図設計部310は、ユーザから入力装置等を介して回路情報220を受け付けて、記憶装置200に格納する。ここで、図8は、本発明の実施の形態2にかかる回路情報の例を示す図である。図8には、複数の素子情報を行単位で示すものである。例えば、一行目の素子情報は、素子IDC1が"M001"、ドレインネット名C2が"NET_100"、ゲートネット名C3が"NET_103"、ソースネット名C4が"NET_101"、素子種別C5が"NMOS"であることを示す。
【0067】
図6に戻り説明する。ユーザは、回路情報220に基づいてレイアウトデータを作成する(ステップS203)。ここでは、レイアウトデータ作成部320は、ユーザから入力装置等を介して初回のレイアウトデータを受け付けて、記憶装置200に修正前レイアウトデータ230として格納する。
【0068】
ここで、図9は、本発明の実施の形態2にかかるレイアウト作成装置300により作成された初回(修正前)のレイアウトデータの模式図である。図9では、POLY層411及び412、拡散層421、422、423及び424、コンタクト層431、432、433及び434並びにメタル層441、443及び444により構成されていることを示す。尚、図9は、修正前レイアウトデータ230の一部である。
【0069】
図6に戻り説明する。その後、DRC検証部341は、検証プロセス設定部350の規定に基づいてDRCを実行する(ステップS204)。そして、DRC検証部341は、DRC結果でエラー発生したか否かを判定する(ステップS205)。エラーが発生した場合には、ステップS203へ戻る。ステップS205でエラーが発生していない場合、LVS検証部342は、LVSを実行する(ステップS206)。
【0070】
図7は、本発明の実施の形態2にかかるLVSの実行処理の流れを示すフローチャートである。まず、LVS検証部342は、LVS実行処理が初回であるか否かを判定する(ステップS211)。ここでは、初回であると判定されたものとする。次に、LVS検証部342は、修正前レイアウトデータ230全体から素子情報を生成する(ステップS212)。すなわち、LVS検証部342は、修正前レイアウトデータ230からゲートレベルの接続情報を復元し、ゲートレベルの接続情報をトランジスタレベルの接続情報へ変換する。
【0071】
具体的には、LVS検証部342は、LVS用制御ファイル260に基づいて素子情報を生成する。例えば、LVS検証部342は、LVS用制御ファイル260により拡散層421とメタル層441とがコンタクト層431により接続していると認識する。同様に、LVS検証部342は、LVS用制御ファイル260により拡散層422とメタル層441とがコンタクト層432により接続していると認識する。そのため、図9のメタル層441、コンタクト層431、拡散層421、コンタクト層432及び拡散層422が接続情報であるネットNET_100と認識される。また、LVS検証部342は、LVS用制御ファイル260によりメタル層441,443及び444は、電位的に異なっていると認識する。つまり、図9では、修正前レイアウトデータ230に含まれる伝導層に、照合された回路情報上のネット情報が含まれている。よって、図9は、各層の図形の位置情報及びネット情報を示している。例えば、メタル層の電位的違いによりメタル層441は、ネットNET_100の情報を持ち、同様に、メタル層443はネットNET_101、メタル層444はネットNET_111の情報を持つといえる。また、図示しないものとして、POLY層411はNET_103、POLY層412はNET_113の情報を持つものとする。
【0072】
そして、図9の例においては、LVS検証部342は、素子IDC1"M001"についてドレインネット名C2"NET_100"、ゲートネット名C3"NET_103"、ゲートネット名C3"NET_101"である素子情報を生成する。同様に、LVS検証部342は、素子IDC1"M002"についてドレインネット名C2"NET_100"、ゲートネット名C3"NET_113"、ゲートネット名C3"NET_111"である素子情報を生成する。
【0073】
その後、LVS検証部342は、生成後の素子情報と回路情報内の素子情報とを照合して比較検証する(ステップS213)。すなわち、LVS検証部342は、トランジスタレベルの接続情報と回路情報220内の素子情報に含まれる接続情報とが一致するか否かを照合確認する。例えば、図8の回路情報220内の素子情報"M002"は、ドレインネット名C2"NET_104"であるため、上記生成された素子情報"M002"のドレインネット名C2"NET_100"とは一致しない。
【0074】
そして、LVS検証部342は、ステップS213における比較検証時の情報を基に、修正前レイアウトデータ230における対応テーブル250を生成(ステップS214)し、記憶装置200に格納する。その後、ステップS207へ進む。
【0075】
図10は、本発明の実施の形態2にかかる初回レイアウトデータに基づいて生成される対応テーブルの例を示す図である。図10は、図9に示す修正前レイアウトデータ230の各レイアウト領域について接続情報(ネット名)と対応付けてテーブル形式で記述したものである。例えば、一行目のレイアウト領域は、1カラム目の種別P1が"POLYGON"つまり多角形の領域を示し、2及び3カラム目の領域IDP2が"FIG 441"、4及び5カラム目の層P3が"LAY 40"つまり、層の番号が"40"であることを示し、6及び7カラム目の接続情報P4が"netname NET_100"、8カラム目以降の座標P5が"Xa1、Ya1、Xa2、Ya2、・・・"であることを示す。
【0076】
図6に戻り説明する。LVS検証部342は、LVSの照合結果が不一致であるか否かを判定する(ステップS207)。不一致である場合には、ステップS203へ戻り、一致した場合には、ステップS208へ進む。ここでは、ステップS207で不一致であるものとし、LVS検証部342は、表示装置に照合結果等を出力する。
【0077】
そこで、ユーザは、照合結果に基づいて修正前レイアウトデータ230のレイアウト領域の修正を行い、修正後レイアウトデータ240を作成する。そして、レイアウトデータ作成部320は、ユーザから入力装置等を介して修正後のレイアウトデータを受け付けて、記憶装置200に修正後レイアウトデータ240として格納する(ステップS203)。ここでは、修正後レイアウトデータ240はDRCでエラーがないものとし(ステップS204及びS205でNO)、ステップS206へ進む。
【0078】
図11は、本発明の実施の形態2にかかる初回レイアウトデータがLVSでエラーとなったことにより修正された修正後のレイアウトデータの模式図である。図11では、POLY層511及び512、拡散層521、522、523及び524、コンタクト層531、532、533及び534並びにメタル層541、542、543及び544により構成されていることを示す。尚、図11は、修正後レイアウトデータ240の一部である。
【0079】
続いて、LVS検証部342は、LVS実行処理が初回でないと判定する(ステップS211でNO)。そのため、レイアウトデータ修正情報抽出部330は、差分領域を検出する(ステップS215)。具体的には、レイアウトデータ修正情報抽出部330は、記憶装置200から修正前レイアウトデータ230及び修正後レイアウトデータ240を読み出して、図形的修正箇所を抽出する。
【0080】
図12は、本発明の実施の形態2にかかる修正前と修正後のレイアウトデータの差分領域の模式図である。つまり、図9の修正前レイアウトデータ230と図11の修正後レイアウトデータ240との図形を比較した結果、差分領域545が抽出されることを示す。
【0081】
図7に戻り説明する。レイアウトデータ修正情報抽出部330は、差分領域545に基づいて対応テーブル250の中から修正領域を抽出する(ステップS216)。例えば、レイアウトデータ修正情報抽出部330は、図10の"FIG 441"の座標P5により、差分領域545がメタル層441内であることを特定する。つまり、修正前レイアウトデータ230におけるメタル層441が修正されたものと特定される。そして、レイアウトデータ修正情報抽出部330は、図10の"FIG 441"における接続情報P4からNET_100を特定する。そして、レイアウトデータ修正情報抽出部330は、図10の中から、NET_100と対応付けられているコンタクト層431及び432並びに拡散層421及び422を特定する。つまり、レイアウトデータ修正情報抽出部330は、修正前レイアウトデータ230のうち、メタル層441、コンタクト層431及び432並びに拡散層421及び422が修正領域であると特定する。そして、レイアウトデータ修正情報抽出部330は、これらに対応する修正後レイアウトデータ240内の領域としてメタル層541及び542、コンタクト層531及び532並びに拡散層521及び拡散層522を修正レイアウト領域として抽出する。いわば、レイアウトデータ修正情報抽出部330は、差分領域545と対応テーブル250によってLVS検証における電気的接続情報の再抽出が必要なレイアウトデータの抽出を行う。
【0082】
その後、LVS検証部342は、抽出された修正領域から修正後の素子情報を生成する(ステップS217)。図13は、本発明の実施の形態2にかかる修正レイアウト領域の模式図である。図13は、修正前レイアウトデータ230と修正後レイアウトデータ240の差分領域545が、修正後のレイアウトに対して電気的影響を及ぼしている図形を示す模式図である。LVS検証部342は、LVS用制御ファイル260に基づいてメタル層541、コンタクト層531及び拡散層521をネットNET_100として認識する。また、LVS検証部342は、LVS用制御ファイル260に基づいてメタル層542、コンタクト層532及び拡散層522をネットNET_104として認識する。そして、LVS検証部342は、例えば、素子IDC1"M002"についてドレインネット名C2"NET_104"、ゲートネット名C3"NET_113"、ゲートネット名C3"NET_111"である素子情報を生成する。
【0083】
図7に戻り説明する。LVS検証部342は、修正後の素子情報と回路情報内の素子情報とを照合して比較検証する(ステップS218)。ここでは、例えば、図8の回路情報220内の素子IDC1"M002"のドレインネット名C2が"NET_104"であるため、上記修正後の素子情報と一致する。
【0084】
その後、LVS検証部342は、対応テーブル250を更新する(ステップS219)。このとき、LVS検証部342は、修正レイアウト領域に関する情報のみを更新するとよい。
【0085】
図6に戻り説明する。ここでは、ステップS207でLVSの照合結果が一致であるものとなり、LVS検証部342は、表示装置にその旨を出力する。そのため、LVS検証部342は、修正後レイアウトデータ240についてデータ出力部360を介してマスク作成データ作成部370へ出力する。
【0086】
その後、マスク作成データ作成部370は、修正後レイアウトデータ240の層を合成することによりマスク作成用データを作成し(ステップS208)、マスク用データへ変換する(ステップS209)。以降、フォトマスク製造装置380及び半導体装置製造装置390により半導体装置が製造される。
【0087】
図14は、本発明の実施の形態2にかかる比較検証対象を概念的に示す図である。本発明の実施の形態2では、レイアウトデータLの中から、修正領域LA0そのものを抽出領域として抽出し、レイアウトデータL全体のうち一部である修正領域LA0と回路情報C全体とを再度の比較検証の対象とする。これは、レイアウトデータ修正情報抽出部330において差分領域545を特定した上で、電気的に関係する領域を修正レイアウト領域として抽出するためである。そして、修正前レイアウトデータ230から対応テーブル250を生成しており、対応テーブル250を用いることで、差分領域545に基づく修正レイアウト領域の抽出を効率的に行うことができる。
【0088】
そのため、本発明の実施の形態2では、実施の形態1に比べて再度の比較検証対象のレイアウトデータがさらに絞り込まれており、比較検証部140における再度の比較検証処理の計算量を削減し、比較検証処理時間を短縮することができる。
【0089】
ここで、図9、図11、図12及び図13を用いて本発明の実施の形態2のメカニズムを説明する。最初に図9及び図11を用いて、図6のステップS203で作成された修正前レイアウトデータ230と、修正された修正後レイアウトデータ240との図形情報及びネット情報の比較について説明する。図7のステップS215は、レイアウトデータ同士の位置情報の差分図形抽出のために、一般的な技術であるLVLを用いることが可能である。
【0090】
ステップS215において、レイアウトデータ修正情報抽出部330は、修正前レイアウトデータ230と修正後レイアウトデータ240に対してLVLを行った場合の差分図形を、図9のメタル層441と図11のメタル層541及び542との図形的差分の差分領域545として抽出することができる。図12は、図9と図11のLVLによるメタル層の差分領域545を図11のレイアウトデータに重ねたものである。
【0091】
ステップS216において、レイアウトデータ修正情報抽出部330は、検証プロセス設定部350により、レイアウトデータ上の各層の電位的接続情報を得ることができるため、修正前レイアウトデータ230と修正後レイアウトデータ240とのLVLによって抽出された差分領域545によって、修正後レイアウトデータ240への電位的影響を受ける図形を抽出することができる。
【0092】
すなわちステップS216において、レイアウトデータ修正情報抽出部330は、対応テーブル250の座標P5に基づいて、差分領域545が対応テーブル250に含まれるレイアウト領域の図形情報の一部であることが判断できる。また、図10に示す対応テーブル250の1行目であるFIG 441の行に示す図形の一部であることを判断することができる。このFIG 441の行で示された図形が影響する回路情報220上のネット名は、NET_100であることが対応テーブル250から判断することができる。同時に、ネットNET_100に接続されている図形が対応テーブル250の2行目から5行目に示すFIG 441、FIG 431、FIG 421、FIG 432、FIG 422であると判断できる。よって、図9に示す修正前レイアウトデータ230に対するレイアウト修正によって電気的接続の変化があった図11の修正後レイアウトデータ240の修正レイアウト領域として抽出することが可能となる。この電気的接続の変化があった図形と、図11で示す修正後レイアウトデータ240との図形的な比較を行うことによって、ステップS216において、レイアウトデータ修正情報抽出部330は、図11の修正後レイアウトデータ240の中から、レイアウト修正によって電気的影響をうける図形を図13に実線で示す図形として抽出することができる。図13に示したレイアウト修正による電気的影響をうける図形情報と、記憶装置200の各素子情報とでLVS検証を行うことによって、LVS検証部342は、レイアウト修正後のチップデータに対してのLVS検証を行うことができる。
【0093】
特許文献1にかかるLVS検証においては、LVS用制御ファイル260に従ってチップのレイアウトデータ全体から素子及び接続情報の抽出を行う必要がある。一方、本発明の実施の形態2では、その抽出対象図形を修正した図形が電気的に影響している箇所だけに限定することができる。そのため、チップ全体のレイアウトデータと比較して少ないデータ処理でLVS検証が可能となるためLVS検証におけるTATを削減することができるという効果がある。それは、レイアウト修正箇所からチップ全体のレイアウトデータに対して、電気的に影響を与えている箇所を、レイアウト領域と電気的接続情報の対応テーブルを用いて、必要最小限のデータに限定することができるためである。
【0094】
<発明の実施の形態3>
本発明の実施の形態3では、比較検証対象の回路情報220についても絞り込むことで、上述した発明の実施の形態2よりもさらにLVS検証処理時間を軽減するものである。図15は、本発明の実施の形態3にかかるレイアウト作成装置301を含むシステム構成を示すブロック図である。図15では図5と比べて、記憶装置200に対応テーブル251とLVS用制御ファイル261とを記憶し、レイアウト作成装置301にレイアウトデータ修正情報抽出部331とLVS検証部343とを備える。また、レイアウトデータ修正情報抽出部331は、レイアウトデータ修正情報抽出部330との違いとして、記憶装置200に格納された回路情報220を読み込む。LVS用制御ファイル261は、LVS検証部343に対して、回路情報220から絞り込み後の素子情報を対象として比較検証を実行させる。
【0095】
LVS検証部343は、修正前レイアウトデータ230の比較検証時に生成される修正前レイアウトデータ230に含まれる素子情報を含めて対応テーブル251を生成し、記憶装置200に格納する。
【0096】
図17は、本発明の実施の形態3にかかる初回レイアウトデータに基づいて生成される対応テーブルの例を示す図である。図17においては図10に加えて、後半に1カラム目が"M"で始まる行が追加されている。これらの行は、LVS検証部343が修正前レイアウトデータ230全体から生成した素子情報である。1カラム目のC1は接続されるトランジスタの識別情報を示しており、2カラム目のC2はドレインのネット名を示し、3カラム目のC3はゲートのネット名を示し、4カラム目のC4はソースのネット名を示し、5カラム目のC5は素子種別を示している。尚、対応テーブル251に含まれる素子情報の形式は、回路情報220の素子情報と同形式であることが望ましいが、同様の内容が含まれていればこれに限定されない。
【0097】
図15に戻り説明する。レイアウトデータ修正情報抽出部331は、対応テーブル251の中から修正レイアウト領域と対応付けられた接続関係を特定し、当該特定された接続関係を含む素子情報を選択する。そして、レイアウトデータ修正情報抽出部331は、回路情報220の中から当該選択された素子情報に対応する素子情報を抽出する。また、LVS検証部343は、修正レイアウト領域から、修正後レイアウトデータ240における修正後の素子情報を生成し、修正後の素子情報と抽出された素子情報とを照合することにより再度の比較検証を行う。
【0098】
図16は、本発明の実施の形態3にかかるLVSの実行処理の流れを示すフローチャートである。図16では、図7のうち変更部分のみ示している。また、以下では、図7のステップS211でLVS実行処理が初回でないと判定された場合について説明する。
【0099】
まず、レイアウトデータ修正情報抽出部331は、修正前レイアウトデータ230と修正後レイアウトデータ240との差分領域を検出し(ステップS215)、差分領域に基づいて対応テーブル251の中から修正領域を抽出する(ステップS216)。
【0100】
そして、レイアウトデータ修正情報抽出部331は、抽出された修正領域から接続関係を特定する(ステップS311)。図17の例では、NET_100が特定される。続いて、レイアウトデータ修正情報抽出部331は、特定された接続関係を含む素子情報を対応テーブル251の中から選択する(ステップS312)。図17の例では、対応テーブル251と電気的影響をうけたネット名から、電気的影響をうける素子は、対応テーブル251のドレインネット名C2にNET_100が設定されている素子情報"M001"及び"M002"が選択される。
【0101】
そして、LVS検証部343は、ステップS217と同様に、修正領域から修正後の素子情報を生成する(ステップS313)。ここでは、上述した実施の形態2と同様に、LVS検証部342は、例えば、素子IDC1"M002"についてドレインネット名C2"NET_104"、ゲートネット名C3"NET_113"、ゲートネット名C3"NET_111"である素子情報を生成する。
【0102】
また、レイアウトデータ修正情報抽出部331は、ステップS312で選択された素子情報に対応する素子情報を回路情報220の中から抽出する(ステップS314)。すなわち、レイアウトデータ修正情報抽出部331は、ステップS312の結果と対応テーブル251及び回路情報220から電気的に変更があった素子情報を抽出する。図18は、本発明の実施の形態3にかかる絞り込み後の回路情報の例を示す図である。図18では、図8の中から素子情報"M001"及び"M002"に絞り込まれたことを示す。
【0103】
図16に戻り説明する。LVS検証部343は、修正後の素子情報と抽出された素子情報とを照合して比較検証する(ステップS315)。図13に示したレイアウト修正による電気的影響をうける図形情報と、ステップS314で対応テーブル251と図形的差分情報から抽出された、レイアウト修正による電気的影響をうける素子情報とのLVS検証を行うことによって、LVS検証部343は、レイアウト修正後のチップデータに対してのLVS検証を行うことができる。すなわち、LVS検証部343は、LVS用制御ファイル261に従い、ステップS215及びS216の結果である再度のLVS検証が必要な修正レイアウト領域と、ステップS311及びS312の結果である再度のLVS検証が必要な絞り込み後の素子情報によって、再度のLVS検証を実行する。ここでは、修正後の素子情報と抽出された素子情報とが一致する。その後、LVS検証部343は、対応テーブル251を更新する(ステップS316)。
【0104】
図19は、本発明の実施の形態3にかかる比較検証対象を概念的に示す図である。本発明の実施の形態3では、レイアウトデータLの中から、修正領域LA0そのものを抽出領域として抽出すると共に、回路情報Cの中から素子情報CA0を抽出する。つまり、レイアウトデータL全体のうち一部である修正領域LA0と回路情報Cのうち一部である抽出した素子情報CA0とを再度の比較検証の対象とする。これは、対応テーブル251に素子情報を含めているため、修正レイアウト領域に対応付けられた接続関係を辿ることで、絞り込み対象の素子情報を抽出できるからである。
【0105】
そのため、本発明の実施の形態3では、実施の形態2に比べて再度の比較検証対象の回路情報側の素子情報が絞り込まれており、比較検証部140における再度の比較検証処理の計算量を削減し、比較検証処理時間を短縮することができる。
【0106】
<発明の実施の形態4>
本発明の実施の形態4では、上述した発明の実施の形態2とは異なる方法で、比較検証対象のレイアウト領域を絞り込むことで、上述した発明の実施の形態1よりもLVS検証処理時間を軽減するものである。図20は、本発明の実施の形態4にかかるレイアウト検証装置の構成を示すブロック図である。図20では図5と比べて、記憶装置200に対応テーブル25を有さず、レイアウト作成装置302にレイアウトデータ修正情報抽出部332とLVS検証部344とを備える。
【0107】
レイアウトデータ修正情報抽出部332は、修正後レイアウトデータ240の中から特定された差分領域と隣接する隣接領域を特定し、当該隣接領域と二次元座標上で配置された領域が重なる重複領域を特定し、当該隣接領域及び当該重複領域を前記修正レイアウト領域として抽出する。
【0108】
さらに、LVS検証部344は、修正レイアウト領域からゲートレベルの接続情報を復元し、当該ゲートレベルの接続情報を素子レベルの素子情報へ変換して修正後の素子情報を生成し、修正後の素子情報と回路情報220に含まれる素子情報とを照合することにより再度の比較検証を行う。
【0109】
図21は、本発明の実施の形態4にかかるLVSの実行処理の流れを示すフローチャートである。まず、LVS検証部344は、ステップS211と同様に、LVS実行処理が初回であるか否かを判定する(ステップS411)。
【0110】
ステップS411で初回であると判定された場合、LVS検証部344は、ステップS212と同様に、修正前レイアウトデータ230全体から素子情報を生成する(ステップS412)。その後、LVS検証部344は、ステップS213と同様に、生成後の素子情報と回路情報内の素子情報とを照合して比較検証する(ステップS413)。この後、上述した実施の形態2又は3と異なり、本発明の実施の形態3では、対応テーブルの作成を行わない。これにより、当該対応テーブルの作成処理の負荷及び記憶装置200の記憶領域の削減を実現できる。
【0111】
また、ステップS411で2回目以降であると判定された場合、レイアウトデータ修正情報抽出部332は、ステップS215と同様に、差分領域を検出する(ステップS414)。そして、レイアウトデータ修正情報抽出部332は、差分領域に基づいて修正領域を抽出する(ステップS415)。すなわち、まず、レイアウトデータ修正情報抽出部332は、ステップS414により特定された差分領域と隣接する隣接領域を修正後レイアウトデータ240の中から特定する。次に、レイアウトデータ修正情報抽出部332は、当該隣接領域と二次元座標上で配置された領域が重なる重複領域を修正後レイアウトデータ240の中から特定する。そして、レイアウトデータ修正情報抽出部332は、当該隣接領域及び当該重複領域を修正レイアウト領域として抽出する。
【0112】
続いて、LVS検証部344は、ステップS217と同様に、抽出された修正領域から修正後の素子情報を生成する(ステップS416)。すなわち、LVS検証部344は、修正レイアウト領域からゲートレベルの接続情報を復元し、当該ゲートレベルの接続情報を素子レベルの素子情報へ変換して修正後の素子情報を生成する。
【0113】
その後、LVS検証部344は、ステップS218と同様に、修正後の素子情報と回路情報内の素子情報とを照合して比較検証する(ステップS417)。すなわち、LVS検証部344は、修正後の素子情報と回路情報220に含まれる素子情報とを照合することにより再度の比較検証を行う。この後、上述した実施の形態2又は3と異なり、本発明の実施の形態3では、対応テーブルの更新を行わない。
【0114】
図22は、本発明の実施の形態4にかかる比較検証対象を概念的に示す図である。本発明の実施の形態4では、レイアウトデータLの中から、少なくとも修正領域LA0を含み、かつ、差分領域545に電気的に関係のある抽出領域LA2を抽出し、レイアウトデータL全体のうち一部である抽出領域LA2と回路情報C全体とを再度の比較検証の対象とする。これは、レイアウトデータ修正情報抽出部332において差分領域545を特定した上で、電気的に関係する領域を図形上隣接する領域と、当該隣接領域と重なる領域とを修正レイアウト領域として抽出するためである。
【0115】
そのため、本発明の実施の形態4では、実施の形態1に比べて再度の比較検証対象のレイアウトデータがさらに絞り込まれており、比較検証部140における再度の比較検証処理の計算量を削減し、比較検証処理時間を短縮することができる。
【0116】
<その他の発明の実施の形態>
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した修正前レイアウトデータ230は、修正が複数回行われた場合において修正後レイアウトデータ240の直前に修正されたものであることが望ましい。修正前レイアウトデータ230に直近のものを用いることで、修正後レイアウトデータ240との差分が最小限となり、LVS検証処理時間をさらに軽減することができる。また、本発明の実施の形態1〜4における各構成要素は互いに一部を適用することも組み合わせることも可能である。
【0117】
本発明は、半導体集積回路のレイアウト検証装置及び方法に関し、特に半導体集積回路のレイアウト変更後のレイアウト検証に関するレイアウト検証装置及び方法ということができる。
【0118】
また、本発明は次のように表現することもできる。すなわち、本発明にかかるレイアウト検証装置は、半導体集積回路のレイアウトデータ情報と回路情報の比較検証(以降、LVS検証と称す)であって、部分的にレイアウト変更を行う際のLVS検証時を対象とする。この場合において、レイアウト検証装置は、レイアウト上のレイアウト層、前記レイアウト層の位置、そのレイアウト層がLVSにおいて対応する回路情報上の接続関係のある素子、電気的接続情報とを記述した対応テーブルを生成するLVS検証部と、レイアウトデータの修正箇所からレイアウト全体に対して電気的に影響を与えている箇所を、前記対応テーブルを使って図形的に抽出して素子および電気的接続の再抽出を行うレイアウトデータ修正情報抽出部を有する。そして、本発明にかかるレイアウト検証装置は、修正が行われたレイアウトに対して、再LVS検証を行う際に必要最小限の図形を選択することと、その図形から再LVS検証に必要なネットリストの抽出を行うように動作することにより、再LVS検証の実行に必要な素子情報および接続情報の抽出にかかる処理時間を最小限にすることができる効果がある。
【0119】
また、本発明は以下のように表現することもできる。すなわち、半導体集積回路のレイアウト設計をするためのレイアウト装置であって、LVS検証を行なう場合において、LVSを実行して対応テーブルを作成するステップと、前記対応テーブルと修正前レイアウトデータ情報と修正後レイアウトデータ情報と回路情報からレイアウトデータ修正情報を抽出するステップと、前記抽出したデータを用いてLVS検証するステップと、レイアウトデータ結果を照合をするステップと、前記照合結果よりLVS結果の照合で不一致の場合にレイアウトデータの変更をするステップとを有することを特徴とするレイアウト検証方法。
【0120】
さらに、上記対応テーブルを作成するステップにおいて、修正前レイアウトデータ情報に含まれるレイアウト層の抽出と、前記レイアウト層の位置の抽出と、前記レイアウト層がLVSにおいて対応する回路情報上の接続関係のある素子を含むレイアウトデータ情報を抽出するステップと、回路情報に含まれる接続情報および素子情報の対応を示した電気的接続情報を抽出するステップと、前記2つのステップで抽出した情報を、行単位として対応テーブルを生成するステップとを有することを特徴とするレイアウト検証方法。
【0121】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
【0122】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【0123】
100 レイアウト検証装置
110 記憶部
111 回路情報
112 第1レイアウトデータ
113 第2レイアウトデータ
114 素子情報
120 格納部
130 修正領域抽出部
140 比較検証部
101 CPU
102 RAM
103 ROM
104 通信部
105 HDD
106 レイアウト検証プログラム
107 回路情報
108 レイアウトデータ
200 記憶装置
210 半導体集積回路仕様情報
220 回路情報
230 修正前レイアウトデータ
240 修正後レイアウトデータ
250 対応テーブル
251 対応テーブル
260 LVS用制御ファイル
261 LVS用制御ファイル
300 レイアウト作成装置
301 レイアウト作成装置
302 レイアウト作成装置
310 論理回路図設計部
320 レイアウトデータ作成部
330 レイアウトデータ修正情報抽出部
331 レイアウトデータ修正情報抽出部
332 レイアウトデータ修正情報抽出部
340 レイアウトデータ検証部
341 DRC検証部
342 LVS検証部
343 LVS検証部
344 LVS検証部
350 検証プロセス設定部
360 データ出力部
370 マスク作成データ作成部
380 フォトマスク製造装置
390 半導体装置製造装置
C1 素子ID
C2 ドレインネット名
C3 ゲートネット名
C4 ソースネット名
C5 素子種別
P1 種別
P2 領域ID
P3 層
P4 接続情報
P5 座標
411 POLY層
412 POLY層
421 拡散層
422 拡散層
423 拡散層
424 拡散層
431 コンタクト層
432 コンタクト層
433 コンタクト層
434 コンタクト層
441 メタル層
443 メタル層
444 メタル層
511 POLY層
512 POLY層
521 拡散層
522 拡散層
523 拡散層
524 拡散層
531 コンタクト層
532 コンタクト層
533 コンタクト層
534 コンタクト層
541 メタル層
542 メタル層
543 メタル層
544 メタル層
545 差分領域
NET_100 ネット
NET_101 ネット
NET_104 ネット
NET_111 ネット
91 半導体集積回路仕様情報
92 レイアウト作成装置
93 論理回路図設計部
94 レイアウトデータ作成部
95 レイアウトデータ検証部
96 LVS検証部
97 DRC検証部
98 検証プロセス設定部
99 データ入出力部
900 LVL検証部
910 マスク作成データ作成部
920 フォトマスク製造装置
930 半導体装置製造装置
L レイアウトデータ
LA0 修正領域
LA1 抽出領域
LA2 抽出領域
C 回路情報
CA0 抽出した素子情報

【特許請求の範囲】
【請求項1】
半導体集積回路のレイアウトを検証するレイアウト検証装置であって、
論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータと、を記憶する記憶部と、
前記回路情報と前記第1のレイアウトデータとの比較検証においてエラーとなったことに起因して、当該第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを前記記憶部に格納する格納部と、
前記記憶部を参照し、前記第1のレイアウトデータと前記第2のレイアウトデータとに基づいて、前記修正されたレイアウト領域である修正レイアウト領域を抽出する修正領域抽出部と、
前記修正レイアウト領域と前記回路情報とを用いて再度の比較検証を行う比較検証部と、
を備えるレイアウト検証装置。
【請求項2】
前記修正領域抽出部は、
前記第1のレイアウトデータと前記第2のレイアウトデータとの間のレイアウト領域の差分領域を特定し、
当該差分領域と電気的に関係する領域を前記修正レイアウト領域として抽出する
ことを特徴とする請求項1に記載のレイアウト検証装置。
【請求項3】
前記第1のレイアウトデータに含まれるレイアウト領域と接続関係とを対応付けた対応付情報を生成し、前記記憶部へ格納する対応付情報生成部をさらに備え、
前記修正領域抽出部は、
前記差分領域に基づいて前記対応付情報の中から前記修正レイアウト領域を抽出する
ことを特徴とする請求項2に記載のレイアウト検証装置。
【請求項4】
前記対応付情報生成部は、
前記第1のレイアウトデータの比較検証時に、前記対応付情報を生成する
ことを特徴とする請求項3に記載のレイアウト検証装置。
【請求項5】
前記対応付情報生成部は、
前記再度の比較検証によりエラーとなった場合に、前記対応付情報のうち前記修正レイアウト領域における対応付けを更新する
ことを特徴とする請求項3又は4に記載のレイアウト検証装置。
【請求項6】
前記対応付情報生成部は、
前記第1のレイアウトデータの比較検証時に生成される当該第1のレイアウトデータに含まれる素子情報を含めて前記対応付情報を生成し、
前記修正領域抽出部は、
前記対応付情報の中から前記修正レイアウト領域と対応付けられた接続関係を特定し、当該特定された接続関係を含む素子情報を選択し、
前記回路情報の中から当該選択された素子情報に対応する素子情報を抽出し、
前記比較検証部は、
前記修正レイアウト領域から、前記第2のレイアウトデータにおける修正後の素子情報を生成し、
前記修正後の素子情報と前記抽出された素子情報とを照合することにより前記再度の比較検証を行う
ことを特徴とする請求項3乃至5のいずれか1項に記載のレイアウト検証装置。
【請求項7】
前記修正領域抽出部は、
前記第2のレイアウトデータの中から前記特定された差分領域と隣接する隣接領域を特定し、
当該隣接領域と二次元座標上で配置された領域が重なる重複領域を特定し、
当該隣接領域及び当該重複領域を前記修正レイアウト領域として抽出する
ことを特徴とする請求項2に記載のレイアウト検証装置。
【請求項8】
前記比較検証部は、
前記修正レイアウト領域からゲートレベルの接続情報を復元し、当該ゲートレベルの接続情報を素子レベルの素子情報へ変換して修正後の素子情報を生成し、
前記修正後の素子情報と前記回路情報に含まれる素子情報とを照合することにより前記再度の比較検証を行う
ことを特徴とする請求項7に記載のレイアウト検証装置。
【請求項9】
前記第1のレイアウトデータは、前記修正が複数回行われた場合において前記第2のレイアウトデータの直前に修正されたものである
ことを特徴とする請求項1乃至8のいずれか1項に記載のレイアウト検証装置。
【請求項10】
半導体集積回路のレイアウトを検証するレイアウト検証方法であって、
論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータとを比較検証し、
前記比較検証の結果エラーとなったことに起因して、当該第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを受け付け、
前記第1のレイアウトデータと前記第2のレイアウトデータとに基づいて、前記修正されたレイアウト領域である修正レイアウト領域を抽出し、
前記修正レイアウト領域と前記回路情報とを用いて再度の比較検証を行う
レイアウト検証方法。
【請求項11】
論理回路の素子及び当該素子間の接続関係を定義した複数の素子情報を含む回路情報と、当該回路情報に基づき複数層のレイアウト領域が設計された第1のレイアウトデータと、を記憶する記憶部を備えるコンピュータに、半導体集積回路のレイアウトを検証する処理を実行させるレイアウト検証プログラムであって、
前記記憶部に記憶された前記回路情報と、前記第1のレイアウトデータとを比較検証する処理と、
前記比較検証の結果エラーとなったことに起因して、前記第1のレイアウトデータのレイアウト領域が修正された第2のレイアウトデータを前記記憶部に格納する格納処理と、
前記記憶部を参照し、前記第1のレイアウトデータと前記第2のレイアウトデータとに基づいて、前記修正されたレイアウト領域である修正レイアウト領域を抽出する修正領域抽出処理と、
前記修正レイアウト領域と前記回路情報とを用いて再度の比較検証を行う再検証処理と、
を前記コンピュータに実行させるレイアウト検証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2013−109545(P2013−109545A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−253484(P2011−253484)
【出願日】平成23年11月21日(2011.11.21)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】