JP2007272686A - 半導体集積回路装置の修正方法及び修正装置 - Google Patents
半導体集積回路装置の修正方法及び修正装置 Download PDFInfo
- Publication number
- JP2007272686A JP2007272686A JP2006099246A JP2006099246A JP2007272686A JP 2007272686 A JP2007272686 A JP 2007272686A JP 2006099246 A JP2006099246 A JP 2006099246A JP 2006099246 A JP2006099246 A JP 2006099246A JP 2007272686 A JP2007272686 A JP 2007272686A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- layer
- net
- error
- integrated circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】ダミー配線を用いることなく、少ないマスクの改版により回路修正を短時間で行なうことができる半導体集積回路装置の修正方法を提供すること。
【解決手段】修正されたネットリストを読み込み(ステップ21)、レイアウトデータとネットリストとを比較する(ステップ23)。比較結果に基づいてエラーが発生しているエラーネットを確認し(ステップ24)、エラーネットの配線要素に基づいて改版対象層を設定する(ステップ25)。そして、設定した改版対象層においてエラーネットの配線を修正する(ステップ28)。
【選択図】図1
【解決手段】修正されたネットリストを読み込み(ステップ21)、レイアウトデータとネットリストとを比較する(ステップ23)。比較結果に基づいてエラーが発生しているエラーネットを確認し(ステップ24)、エラーネットの配線要素に基づいて改版対象層を設定する(ステップ25)。そして、設定した改版対象層においてエラーネットの配線を修正する(ステップ28)。
【選択図】図1
Description
本発明は、半導体集積回路装置の修正方法及び修正装置に関するものである。
近年、半導体集積回路装置は、(LSI)は大規模化・高集積化が進められ、多くの配線層を利用して素子が接続されている。そして、半導体集積回路装置の作成後、仕様の変更等により、回路を修正する必要が生じる場合がある。この回路修正は、半導体集積回路装置の作成に用いられるマスクを改版することにより行なわれることが多い。そして、少ないマスク層の改版により回路修正を行なうことが求められている。
近年、半導体集積回路装置は、(LSI)は大規模化・高集積化が進められ、多くの配線層を利用して素子が接続されている。そして、半導体集積回路装置の作成後、仕様の変更等により、回路を修正する必要が生じる場合がある。この回路修正は、半導体集積回路装置の作成に用いられるマスクを改版することにより行なわれることが多い。そして、少ないマスク層の改版により回路修正を行なうことが求められている。
従来、半導体集積回路装置の回路修正をマスクの改版を自動で行なう方法として、迂回配線(ダミー配線)を所定の配線層に予め挿入し、該迂回配線を利用することで、少ないマスク層の改版にて回路修正を行なう方法が開示されている(例えば、特許文献1,特許文献2参照)。
ところが、上記の方法では、迂回配線の配置位置、長さを最適化する手段が開示されていないため、必ずしも配線修正に適した配線があるとは限らず、改版するマスクの数が増加する虞があった。迂回配線の利用率を高めるために、空き領域に可能な限り迂回配線を挿入することが考えられる。しかしながら、利用した迂回配線において不要な配線部分が配線に付加されるため、その回路に対して大きな配線容量が付加されることになり、遅延が増大するため、迂回配線を利用することが難しい。
回路修正をマスクの改版で行う別の方法として、例えば図13に示す方法がある。この方法では、先ず、CAD装置の表示装置に表示されたレイアウトデータとネットリストに基づく作業者の目視確認により、修正する箇所を確認し(ステップ201)、作業者が改版層を決定する(ステップ202)。次にCAD装置に修正されたネット(新Net)を読み込み(ステップ203)、作業者はCAD装置に改版層の設定を入力し(ステップ204)、画面上でレイアウトと異なるネットの配線(エラーネット)を修正する(ステップ205)。そして、CAD装置にてエラーがないか、つまり新ネットリストとレイアウトデータとが一致するか否かをチェックし(ステップ206)、エラーが無い場合(YES)には処理を終了し、エラーが存在する(NO)場合にはステップ201に戻る。この方法によれば、迂回配線を予め挿入することなく回路修正が可能である。
特開平11−176939号公報
特開2000−252360号公報
ところが、図13に示す従来方法では、その処理の多くが作業者によるものであり、その作業の難易度は高い。このため、膨大な作業時間を必要とし、検証も困難であった。つまり、半導体集積回路装置のレイアウト修正に時間がかかり、修正後の半導体集積回路装置を速やかに提供することができないという問題があった。
本発明は上記問題点を解決するためになされたものであって、その目的は、ダミー配線を用いることなく、少ないマスクの改版により回路修正を短時間で行なうことができる半導体集積回路装置の修正方法及び修正装置を提供することにある。
上記目的を達成するため、請求項1に記載の発明によれば、修正されたネットリストを読み込む工程と、レイアウトデータと前記ネットリストとを比較する工程と、前記比較結果に基づいてエラーが発生しているエラーネットを確認する工程と、前記エラーネットの配線要素に基づいて改版対象層を設定する工程と、前記改版対象層において前記エラーネットの配線を修正する工程と、が備えられる。従って、エラーネットの配線要素が存在する配線層に基づいて改版対象層を設定することにより、改版対象層の数が少なく設定でき、修正を短時間で行うことができる。
請求項2に記載の発明によれば、前記エラーネットの配線を修正する工程は、前記エラーネットの配線要素のうち、前記改版対象層に含まれる配線要素を削除する工程と、前記エラーネットに対する結線処理を行う工程と、から構成される。従って、改版対象層の配線要素を削除することにより修正されたネットリストに応じた結線を行うことができるようになる。
請求項3に記載の発明によれば、前記エラーネットの配線要素を浮きワイヤ候補として記憶し、前記改版対象層以外の配線層に存在する前記浮きワイヤ候補の配線要素を未結線のネットに割り当て、前記結線処理を行う工程において、割り当てられた配線要素を利用して結線が行われる。従って、既存の配線要素を利用することができ、結線処理に要する時間が短くなる。
請求項4に記載の発明によれば、前記改版対象層に対する修正の結果にエラーがないか否かを確認する工程を備え、エラーがある場合には前記改版対象層を変更し、変更した改版対象層において前記エラーネットの配線が修正される。従って、改版対象層を変更することにより、エラーを解消することができ、確実に結線することができるようになる。
請求項5に記載の発明によれば、前記レイアウトデータ及び修正されたネットリストを記憶する手段と、修正されたネットリストを読み込む手段と、レイアウトデータと前記ネットリストとを比較する手段と、前記比較結果に基づいてエラーが発生しているエラーネットを確認する手段と、前記エラーネットの配線要素に基づいて改版対象層を設定する手段と、前記改版対象層において前記エラーネットの配線を修正する手段と、が備えられる。従って、エラーネットの配線要素が存在する配線層に基づいて改版対象層を設定することにより、改版対象層の数が少なく設定でき、修正を短時間で行うことができる。
本発明によれば、ダミー配線を用いることなく、少ないマスクの改版により回路修正を短時間で行なうことが可能な半導体集積回路装置の修正方法及び修正装置を提供することができる。
以下、本発明を具体化した一実施形態を図面に従って説明する。
図2は、半導体集積回路装置のマスク修正処理を実行するためのコンピュータシステム11の概略構成図である。
図2は、半導体集積回路装置のマスク修正処理を実行するためのコンピュータシステム11の概略構成図である。
このコンピュータ11は、一般的なCAD(Computer Aided Design )装置からなり、中央処理装置(以下、CPUという)12、メモリ13、記憶装置14、表示装置15、入力装置16、及び、ドライブ装置17により構成され、それらはバス18を介して相互に接続されている。
CPU12は、メモリ13を利用してプログラムを実行し、半導体集積回路装置のマスク修正処理を実行する。メモリ13には、各種処理を提供するために必要なプログラムとデータが格納される。メモリ13としては、通常、キャッシュ・メモリ、システム・メモリおよびディスプレイ・メモリを含む。
表示装置15は、レイアウト表示、パラメータ入力画面等の表示に用いられ、これにはCRT,LCD,PDP等が用いられる。入力装置16は、ユーザからの要求や指示,パラメータの入力に用いられ、これにはキーボードおよびマウス装置(図示せず)等が用いられる。
記憶装置14は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置を含む。この記憶装置14には、半導体集積回路装置のマスク修正処理のためのプログラムデータ、ネットリストやレイアウトデータ等の各種データが格納されている。CPU12は、入力装置16等による指示に応答してプログラム,データをメモリ13へ転送し、それを実行する。
CPU12が実行するプログラムデータは、記録媒体19にて提供される。ドライブ装置17は、記録媒体19を駆動し、その記憶内容にアクセスする。CPU12は、ドライブ装置17を介して記録媒体19からプログラムデータを読み出し、それを記憶装置14にインストールする。
記録媒体19としては、磁気テープ(MT)、メモリカード、フレキシブルディスク、光ディスク(CD-ROM,DVD-ROM,… )、光磁気ディスク(MO,MD,…)等、任意のコンピュータ読み取り可能な記録媒体を使用することができる。尚、半導体メモリや外部接続されるハードディスク装置等が用いられても良い。この記録媒体19に、上述のプログラム,データを格納しておき、必要に応じて、メモリ13にロードして使用することもできる。
尚、記録媒体19には、通信媒体を介してアップロード又はダウンロードされたプログラムデータを記録した媒体、ディスク装置、通信媒体を介してコンピュータ11が接続されるサーバ装置の記憶装置、を含む。更に、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、いったん他の記録媒体(ハードディスク等)にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体も含む。
次に、半導体集積回路装置のマスク修正処理を説明する。
図1は、半導体集積回路装置に対するマスク修正処理のフローチャートである。
ステップ21において、CPU12は、半導体集積回路装置に対して修正されたネットリスト(新Net)を読み込む。半導体集積回路装置に対する修正は、配線接続の変更、セルの追加、等である。ステップ22において、CPU12は、新ネットリストに基づいて、追加セルの確認(セルの追加が必要か否かの確認)を行う。
図1は、半導体集積回路装置に対するマスク修正処理のフローチャートである。
ステップ21において、CPU12は、半導体集積回路装置に対して修正されたネットリスト(新Net)を読み込む。半導体集積回路装置に対する修正は、配線接続の変更、セルの追加、等である。ステップ22において、CPU12は、新ネットリストに基づいて、追加セルの確認(セルの追加が必要か否かの確認)を行う。
ステップ23において、CPU12は、ネットリストと半導体集積回路装置のレイアウトデータ(旧レイアウト)とを比較し、結線チェックを行う。ネットリストにおいて接続が変更されたネットや追加されたセルは、レイアウトデータには存在しないため、これらのネットリストと旧レイアウトとの間で異なる部分が、チェック結果においてエラー(ショートエラー又はオープンエラー)が存在するネット(エラーネット)として出力される。
ステップ24において、CPU12は、各エラーネットの範囲(Min,Max)を確認し、エラーネットを浮きワイヤ候補としてメモリ13に記憶する。浮きワイヤは、何れのネット名(又はネット番号)を持たない(例えば、ヌルのネット名、又は「0」(ゼロ)のネット番号を持つ)配線要素(配線、ビア、コンタクト)である。
ステップ25において、CPU12は、エラーネットの情報に基づいてレイアウトを修正するマスクの層(改版対象層)を設定する。このとき、CPU12は、エラーと判断したネットの要素(配線、ビア)が含まれるマスク層をレイアウトデータ基づいて確認し、エラーネットの配線が存在するマスク層を改版対象層と設定する。
また、CPU12は、非改版対象層(改版対象層以外の層)のデータをロックする。データのロックは、形状や位置の変更、削除を禁止するものである。非改版対象層をロックすることにより、不用意なデータの変更・削除を防止することができる。尚、データのロックにおいて、ネット番号の変更は可能としている。
ステップ26において、CPU12は、改版対象層において、メモリ13に記憶した浮きワイヤ候補のデータのうち、設定された改版対象層に存在するデータを削除する。この時、浮きワイヤ候補のデータが改版対象層以外の層に存在する場合、そのデータを浮きワイヤデータとして設定し、この設定された浮きワイヤデータをメモリ13に記憶する。レイアウトデータに含まれる各要素(配線(ワイヤ)、ビア(Via))は、座標値、形状、ネット番号、マスクの層番号、を有している。CPU12は、マスクの層番号に基づいて、当該要素が存在する層が改版対象層かそれ以外かを判断する。
ステップ27において、CPU12は、新ネットリストに基づいて、メモリ13に記憶した浮きワイヤにネット番号を割り当てる。例えば、2つのゲート(第1ゲート及び第2ゲート)間にゲート(第3ゲート)を追加する場合、第1ゲートと第3ゲートとを接続する配線のネット番号と、第3ゲートと第2ゲートを接続する配線のネット番号とを異なる番号に設定しなければならない。同じネット番号の場合、自動配線処理では、第1ゲートの出力端子と第2ゲートの入力端子と第3ゲートの入力端子及び出力端子が全て接続されてしまう。また、レイアウトチェック(LVS)等において、そのネット番号が未接続である旨のエラーが出力されるからである。
浮きワイヤのネット割り当てにおいて、CPU12は、接続する点(セルの端子、配線の端点、ビア、等)に基づいて検索領域(検索ウインド)を設定し、そのウインド内の浮きワイヤに、接続点のネット番号を割り当てる。このように、接続点に近い浮きワイヤを検索して利用することにより、非改版対象層の配線を利用することができ、配線を余分に引き回すことがなくなるため、信号に対するスキュー(skew)等の発生を抑えることができる。
ステップ28において、CPU12は、エラーワイヤに対する修正を行う。この修正において、CPU12は、ステップ24においてエラーネットとして確認したネットに対して、配線、ビア等を追加し、新ネットリストに対応する配線データを作成し、レイアウトデータに格納する。この時、ステップ22において追加セルが必要とした場合、空き領域にセルを追加し、既存のセルと追加セルとを接続する配線を作成する。
ステップ29において、CPU12は、エラーがないか、つまり新ネットリストとレイアウトデータとが一致するか否かをチェックし、エラーが無い場合(YES)には処理を終了し、エラーが存在する(NO)場合にはステップ25に戻る。
ステップ25において、CPU12は、改版対象層の設定を変更する。この時、CPU12は、改版対象層の総数を増加させることなく改版対象層の設定変更が可能か否かを判断し、その判断結果に基づいて、改版対象層の追加又は変更する。そして、追加又は変更した改版対象層に対して、ステップ26以後の処理を行う。
図3は、セルの追加がある場合における改版対象層の設定処理の詳細を示すフローチャートである。
ステップ31は図1のステップ24と同じ処理であり、図2のCPU12は、エラーネットの発生層を確認する。ステップ32は図1のステップ25と同じ処理であり、CPU12は、改版対象層を設定する。半導体集積回路装置のマスクには、拡散層を形成するためのマスク、ゲート配線等のポリシリコンを形成するためのマスク、セル間の接続等の金属配線(主にアルミニウムの配線)を形成するためのマスクがあり、金属配線を形成するためのマスク層は、半導体集積回路装置の仕様等によって複数(例えば7層)設定されている。CPU12は、エラーネットの発生層のうち、最上層を確認する。セルを追加した場合、金属配線層の最下層(メタル1層)の変更は必至である。従って、CPU12は、設定する改版対象層の1層目を最下層に設定し、その最下層を含む複数層(例えば3層)を改版対象層に設定する。
ステップ31は図1のステップ24と同じ処理であり、図2のCPU12は、エラーネットの発生層を確認する。ステップ32は図1のステップ25と同じ処理であり、CPU12は、改版対象層を設定する。半導体集積回路装置のマスクには、拡散層を形成するためのマスク、ゲート配線等のポリシリコンを形成するためのマスク、セル間の接続等の金属配線(主にアルミニウムの配線)を形成するためのマスクがあり、金属配線を形成するためのマスク層は、半導体集積回路装置の仕様等によって複数(例えば7層)設定されている。CPU12は、エラーネットの発生層のうち、最上層を確認する。セルを追加した場合、金属配線層の最下層(メタル1層)の変更は必至である。従って、CPU12は、設定する改版対象層の1層目を最下層に設定し、その最下層を含む複数層(例えば3層)を改版対象層に設定する。
次に、ステップ33は結線処理であり、CPU12は、図1のステップ27及び28の処理を実行する。次に、ステップ34は図1のステップ29と同じ処理であり、CPU12は、エラーの有無、即ち結線ができたか否かを判断する。そのステップ34においてエラーがある場合(NO)、CPU12は、ステップ35の処理を実行する。
ステップ35は図1のステップ25における処理であり、ステップ35a〜35cから構成される。
ステップ35aにおいて、CPU12は、層数を増加させることなく改版対象層の設定変更が可能か否かを判断する。変更不可能(NO)の場合にはCPU12はステップ35bの処理を実行し、変更可能(YES)の場合にはCPU12はステップ35cの処理を実行する。
ステップ35aにおいて、CPU12は、層数を増加させることなく改版対象層の設定変更が可能か否かを判断する。変更不可能(NO)の場合にはCPU12はステップ35bの処理を実行し、変更可能(YES)の場合にはCPU12はステップ35cの処理を実行する。
ステップ35bにおいて、CPU12は、改版の対象層を追加する。例えば改版対象層がn層(nは整数)の場合、CPU12は、(n+1)層を改版の対象層に設定する。そして、CPU12は、対象層が配線全層となった場合には処理を中止する。
ステップ35cにおいて、CPU12は、改版の対象層を変更する。上記したように、セルの追加がある場合のように改版が必須な層がある場合、その必須層を固定し、他の層をステップ31にて確認した最上層までの範囲で変更する。例えば、配線層の総数が7であり、最上層が第6層、対象層を3とする。この場合、初期状態では金属配線層の第1〜第3層が改版対象層に設定される。対象層の変更において、第1層を固定し、他の2層を最上層である第6層までの範囲で順次変更する、つまり、1回目の対象層変更では第1層と第2層と第4層を対象層に設定し、2回目の対象層変更では、第1層と第2層と第5層を対象層に設定する。変更の順序を単なる層の数字のみで表すと、「123=>124=>125=>126=>134=>135=>136=>145=>146=>156」となる。このように、改版の対象層を変更することで、配線層数を増加することなく、配線可能な配線層を検索することができ、確実に配線を行うことができる。
図4は、セルの追加がない場合における改版対象層の設定処理の詳細を示すフローチャートである。
ステップ41は図1のステップ24と同じ処理であり、図2のCPU12は、エラーネットの発生層を確認する。ステップ42は図1のステップ25と同じ処理であり、CPU12は、改版対象層を設定する。この場合、CPU12は、エラーが発生している複数のネットに共通な最上層を改版対象層に設定する。尚、改版対象層に、共通な最上層とともに、設定に応じた層を含めてもよい。
ステップ41は図1のステップ24と同じ処理であり、図2のCPU12は、エラーネットの発生層を確認する。ステップ42は図1のステップ25と同じ処理であり、CPU12は、改版対象層を設定する。この場合、CPU12は、エラーが発生している複数のネットに共通な最上層を改版対象層に設定する。尚、改版対象層に、共通な最上層とともに、設定に応じた層を含めてもよい。
次に、ステップ43は図1のステップ26と同じ処理であり、CPU12は、設定した改版対象層に含まれエラーのあったネットのデータを削除する。そして、非改版対象層に存在するエラーネットのワイヤ等を浮きワイヤとして記憶する。
次に、ステップ44において、CPU12は、結線チェックを行う。このチェック結果において、CPU12は、端子に接続されている配線(ワイヤ)は、端子のネット番号を割り当てる。そして、ステップ45において、CPU12は、ステップ44における結線チェックにおいてエラーがあるか否かを判断する。このとき対象とするエラーはショートエラーであり、オープンエラーは次の結線処理を行っているため無視する。このステップにおいてエラーがある場合、CPU12はステップ48に移行して改版対象層の設定を行う。ステップ43において、エラーが発生しているネットの配線のうち、改版対象層のワイヤ(配線)を削除している。従って、改版対象層の設定を変更する(改版する対象層を変更又は追加)することで、新しいネット間のショートエラーを解消する。言い換えれば、新しいネット間のショートエラーを解消するように改版対象層を設定する。一方、ステップ45においてエラーがない場合、CPU12は次のステップに移行する。
次に、ステップ46は結線処理であり、CPU12は、図1のステップ27及び28の処理を実行する。次に、ステップ47は図1のステップ29と同じ処理であり、CPU12は、エラーの有無、即ち結線ができたか否かを判断する。そのステップ44においてエラーがある場合(NO)、CPU12は、ステップ48の処理を実行する。
ステップ48は図3のステップ35と同様の処理であり、CPU12は改版する処理における対象層を変更する。
ステップ48aにおいて、CPU12は、層数を増加させることなく改版対象層の設定変更が可能か否かを判断する。変更不可能(NO)の場合にはCPU12はステップ48bの処理を実行し、変更可能(YES)の場合にはCPU12はステップ48cの処理を実行する。
ステップ48aにおいて、CPU12は、層数を増加させることなく改版対象層の設定変更が可能か否かを判断する。変更不可能(NO)の場合にはCPU12はステップ48bの処理を実行し、変更可能(YES)の場合にはCPU12はステップ48cの処理を実行する。
ステップ48bにおいて、CPU12は、改版の対象層を追加する。例えば、改版対象層数がn(nは整数)でありエラー発生最上層がm層の場合、(m+n−1)層又は全層の最上層から下位のn層を対象層に設定する。例えば、金属配線層の全総数を7とし、エラー発生対象層が第3層であり、対象とする層数が3の場合、第5層(=3+3−1)を対象層に追加する。また、金属配線層の全総数を7とし、エラー発生対象層が第3層であり、対象とする層数が3の場合、追加層は第8層(=6+3−1)であるが、全層数が7であるため、第7層から下位の3層、つまり第5〜第7層を対象層に設定する。そして、CPU12は、対象層が配線全層となった場合には処理を中止する。
ステップ48cにおいて、CPU12は、改版の対象層を変更する。この時、CPU12は、対象とする配線層を最上層から下位の層に向かって順番に変更する。例えば、エラー発生最上層が第6層、配線層の総数が7、対象層数が3の場合、最上層から対象層数の配線層を順次変更する。つまり、1回目の対象層変更では第7層と第6層と第5層を対象層に設定し、2回目の対象層変更では、第7層と第6層と第4層を対象層に設定する。変更の順序を単なる層の数字のみで表すと、「765=>764=>763=>762=>761=>754=>753=>・・・・=>321」となる。このように、改版の対象層を変更することで、配線層数を増加することなく、配線可能な配線層を検索することができ、確実に配線を行うことができる。
尚、改版の対象層を変更した場合、例えば基のレイアウトデータ(マスク修正処理開始前のレイアウトデータ)を読み込むことで、配線等の削除をキャンセルするようにしている。
次に、レイアウト図を用いて、半導体集積回路装置のマスク修正処理を説明する。
<第1の例>
一例として、図5(a)に示すように、セルC1の出力端子AとセルC2の入力端子Bとの間が配線L1〜L5、ビアV1〜V4を介して接続されている。以下、配線等のネット名を、便宜上、出力端子名を用いる。つまり、レイアウトデータでは、セルC1の端子AとセルC2の端子Bは、ネット名Aの配線L1〜L5及びビアV1〜V4により接続されている。
<第1の例>
一例として、図5(a)に示すように、セルC1の出力端子AとセルC2の入力端子Bとの間が配線L1〜L5、ビアV1〜V4を介して接続されている。以下、配線等のネット名を、便宜上、出力端子名を用いる。つまり、レイアウトデータでは、セルC1の端子AとセルC2の端子Bは、ネット名Aの配線L1〜L5及びビアV1〜V4により接続されている。
この端子A,B間に図5(b)に示すようにセルC3を挿入接続する。従って、新ネットリストには、セルC1の端子AとセルC3の端子Cとを接続するネットAの情報と、セルC3の端子DとセルC2の端子Bとを接続するネットDの情報が含まれる。
図1のステップ23における結線チェック処理を実行すると、新ネットリストにおけるネットA,Dがエラーネットとして出力される。各エラーネットについて使用している層名をチェックする。配線L1,L5は金属配線層の第1層(以下、LA層)に形成され、配線L2,L4は金属配線層の第2層(以下、LB層)に形成され、配線L3は金属配線層の第3層(以下、LC層)に形成されている。ビアV1,V4はLA層とLB層とを接続するよう形成され、ビアV2,V3はLB層とLC層とを接続するように形成されている。従って、エラー発生層の最上層配線はLC層であり、このLC層の層番号(又は層名)を記憶する。
次に、最下位層であるLA層の配線L1,L5を削除し(ステップ26)(図5(c)参照)、LB層の配線L2,L4、LC層の配線L3及びビアV1〜V4を浮きワイヤとして記憶する。
次に、結線チェックを行い、浮きワイヤのネット割り当てを行う(ステップ27)。結線チェックにおいて、各ネットA,Dの接続点の座標値の最大値(Max)及び最小値(Min)を求める。次に、図5(d)に破線で示すように、各ネットの接続点の座標値から、それぞれの最大値及び最小値に所定値(例えば3グリッド)を加算又は減算し、最大値の座標点と最小値の座標点により設定される矩形を所定値拡大した検索領域KA,KDを設定する。そして、検索領域KA,KDそれぞれに含まれる浮きワイヤを検索し、検索領域に含まれる浮きワイヤをそれぞれのネット割り当てる。図5(d)において、配線L2〜L4及びビアV1〜V4が検索領域KDに含まれるため、これら配線L2〜L4及びビアV1〜V4をネットDに割り当てる。
次に、結線処理を実行する。この時、図5(e)に示すように、ネットAにあっては、セルC1の端子AとセルC3の端子Cの間が未接続であり、ネットDにあっては、セルC3の端子DとビアV1の間、ビアV4とセルC2の端子Bの間が未接続である。従って、図2のCPU12は、セルC1の端子AとセルC3の端子Cの間をLA層でありネットAの配線L11により接続する。更に、CPU12は、セルC3の端子DとビアV1の間、ビアV4とセルC2の端子Bの間を、それぞれLA層であるネットDの配線L12,L13により接続する。
以上のように作成された半導体集積回路装置のレイアウトデータは、新ネットリストの接続と一致する。従って、結線チェック(ステップ29)においてエラーが無いため、マスク修正処理を終了する。また、このマスク修正処理において、セルC3を追加しているため、セルC3を形成するために必要な拡散層、ポリシリコン層、及び金属配線第1層の改版のみで回路修正した半導体集積回路装置を製造することができる。
<第2の例>
別の例として、図6(a)に示すように、セルC1の出力端子AとセルC2の入力端子BがネットAの配線及びビアにより接続され、セルC3の出力端子CとセルC4及びC5の入力端子D,EがネットCの配線及びビアにより接続されている。新ネットリストには、セルC1の出力端子AをセルC4及びC5の入力端子D,Eと接続するネットAと、セルC3の出力端子CをセルC2の入力端子Bと接続するネットCが記述されている。
別の例として、図6(a)に示すように、セルC1の出力端子AとセルC2の入力端子BがネットAの配線及びビアにより接続され、セルC3の出力端子CとセルC4及びC5の入力端子D,EがネットCの配線及びビアにより接続されている。新ネットリストには、セルC1の出力端子AをセルC4及びC5の入力端子D,Eと接続するネットAと、セルC3の出力端子CをセルC2の入力端子Bと接続するネットCが記述されている。
結線チェックを行った結果、ネットA,Cがエラーネットとなる。エラーネットについて使用しているマスク層をチェックする。図6(a)において、セルC1〜C5は、LA層〜LC層の配線により接続されている。従って、この場合には、エラーネットの最上層としてLC層を記憶する。そして、エラーネットの最上層(LC層)を改版の対象層とし、そのLC層の配線L1〜L4を削除し、LA層,LB層の配線を浮きワイヤ候補として記憶する。
次に、結線チェックを行い、浮きワイヤのネット割り当てを行う。この時、それぞれ端子に接続された浮きワイヤ候補には、端子のネット名を割り当てる。図6(b)に示すように、セルC1,C4,C5の端子A,D,Eは同じネット(ネットA)であり、セルC2,C3の端子B,Cは同じネット(ネットC)である。従って、端子Aに接続された配線L11,L12、端子Dに接続された配線L13,L14、端子Eに接続された配線L15,L16、及びビアをネットAに割り当て、端子Bに接続された配線L17,L18、端子Cに接続された配線L19,L20、及びビアをネットCに割り当てる。図6(b)において、配線L21は何れの端子にも接続されていないため、そのまま浮きワイヤとする。
尚、この割り当てにおいて、浮きワイヤ候補である配線の状態によって、1つの配線が異なるネットに割り当てられる、即ち1つの配線を介して異なるネットの端子同士が接続されていることがある。この場合、ネットの割り当て、結線処理が不可能となるため、異なるネットの端子同士が接続されないよう、改版する対象層を変更する。
次に、結線処理を実行する。この時、図6(c)に示すように、ビアV1,V2,V3間をLC層の配線L22,L23により接続し、ビアV4,V5間をLC層の配線L24により接続する。尚、図6(c)において、配線L21は何れのネットにも接続する必要がないため、そのままとする。
<第3の例>
別の例として、図7(a)に示すように、セルC1の出力端子AとセルC2の入力端子BがネットAの配線及びビアにより接続され、セルC3の出力端子CとセルC4及びC5の入力端子D,EがネットCの配線及びビアにより接続されている。新ネットリストには、セルC1の出力端子AをセルC5の入力端子Eと接続するネットAと、セルC3の出力端子CをセルC2及びC4の入力端子Dと接続するネットCが記述されている。
別の例として、図7(a)に示すように、セルC1の出力端子AとセルC2の入力端子BがネットAの配線及びビアにより接続され、セルC3の出力端子CとセルC4及びC5の入力端子D,EがネットCの配線及びビアにより接続されている。新ネットリストには、セルC1の出力端子AをセルC5の入力端子Eと接続するネットAと、セルC3の出力端子CをセルC2及びC4の入力端子Dと接続するネットCが記述されている。
結線チェックを行った結果、ネットA,Cがエラーネットとなる。エラーネットについて使用しているマスク層をチェックする。図7(a)において、セルC1〜C5は、LA層〜LC層の配線により接続されている。従って、この場合には、エラーネットの最上層としてLC層を記憶する。そして、エラーネットの最上層(LC層)を改版の対象層とし、そのLC層の配線L1,L2を削除し、LA層,LB層の配線を浮きワイヤ候補として記憶する。
次に、結線チェックを行う。この場合、図7(b)に示すように、セルC4の入力端子DとセルC5の入力端子EがLA層の配線L3,L4、LB層の配線L5及び配線間のビアにより接続されており、これら端子D,Eは異なるネットである。従って、結線チェックにおいてショートエラーが発生する。
このため、改版対象層をビアNC層に変更する。NC層は、LB層の配線とLC層の配線とを接続するビアを形成するためのマスク層である。つまり、図7(a)において、ビアV1〜V4を削除する。そして、結線チェックを行う。この場合、図7(c)に示すように、図7(b)と同様に、セルC4の入力端子DとセルC5の入力端子EがLA層の配線L3,L4、LB層の配線L5及び配線間のビアにより接続されている。このため、LC層のみの改版は不可能と判断し、次の配線層を対象とする。
次の配線層としてLB層を改版の対象層とし、図8(a)に示すように、LB層の配線を削除し、結線チェックを行う。この場合、ショートエラーは発生していないため、次の処理である浮きワイヤの割り当て処理を行う。この場合、各端子A〜Eに接続された配線L11〜L15及びビアに対してそれぞれの端子のネット名を割り当て、未接続である配線L16,L17及びビアを浮きネットとしておく。
次に、結線処理を行う。このとき、図8(b)に示すように、LB層の配線L21により端子A,D間を接続し、LB層の配線L22により端子B,C,E間を接続する。尚、配線L16,L17は接続する必要がないため、浮きワイヤとしておく。
尚、図8(a)における浮きワイヤである配線L16,L17、ビアV1,V2を利用しても良い。この場合、図8(c)に示すように、ビアV1,V2が形成された経路を通過するようにネットAの配線L23を形成することにより、配線L23が直線状となり、ネット長が短く、余分な配線チャネルを使用しないため、配線効率が上がる。
<第4の例>
図9(a)〜(d)はマスク修正処理における浮きワイヤの割り当て方法の説明図である。
図9(a)〜(d)はマスク修正処理における浮きワイヤの割り当て方法の説明図である。
別の例として、図9(a)に示すように、セルC1の出力端子AとセルC2の入力端子BがネットAの配線及びビアにより接続されている。新ネットリストには、セルC1の出力端子AをセルC3の入力端子Cと接続するネットAと、セルC3の出力端子DをセルC2の入力端子Bと接続するネットDが記述されている(図9(b)参照)。
結線チェックを行った結果、ネットA,Dがエラーネットとなる。エラーネットについて使用しているマスク層をチェックする。図9(a)において、セルC3を追加しているため、金属配線層の第1層であるLA層を改版対象層として設定し、図9(b)に示すように、LA層の配線を削除する。
次に、結線チェックを行い、浮きワイヤのネット割り当てを行う。結線チェックにおいて、各ネットA,Dの接続点の座標値の最大値(Max)及び最小値(Min)を求める。次に、図9(c)に破線で示すように、各ネットの接続点の座標値により設定された検索領域KA,KDを設定する。そして、検索領域KA,KDそれぞれに包含される浮きワイヤを検索し、検索領域に含まれる浮きワイヤをそれぞれのネット割り当てる。図9(c)において、ビアにより接続されている配線L2〜L4は、一部が検索領域KAからはみ出しているため、現時点ではネットの割り当てを保留する。配線L6は検索領域KDに含まれるため、この配線L6をネットDに割り当てる。
次に、図9(d)に示すように、検索領域KAの枠を、所定値(例えば2グリッド)シフトして検索領域KAを拡大した領域K2を設定する。この場合、配線L2〜L4が拡大領域K2に包含されるため、これら配線L2〜L4及びビアをネットAに割り当てる。
このように、接続点に応じた検索領域に包含される浮きワイヤをネットに割り当てることで、非改版対象層の配線を利用することができ、配線を余分に引き回すことがなくなるため、信号に対するスキュー(skew)等の発生を抑えることができる。
<第5の例>
図10,図11は、マスク修正処理における浮きワイヤの割り当て方法の説明図である。
図10,図11は、マスク修正処理における浮きワイヤの割り当て方法の説明図である。
別の例として、図10(a)に示すように、セルC1の出力端子AとセルC2の出力端子Bが、それぞれネットA,Bの配線及びビアによりセルCの入力端子C,Dと接続されている。セルC1の出力端子AとセルC3の入力端子Cとの間にセルC4(図10(b)参照)を挿入接続し、セルC2の出力端子BとセルC3の入力端子Dとの間にセルC5(図10(b)参照)を挿入接続する修正を行う。即ち、新ネットリストには、セルC1の端子AとC4の端子E、セルC2の端子BとセルC5の端子G、セルC4の端子FとセルC3の端子C、セルC5の端子HとセルC3の端子D、をそれぞれ接続するネットが記述されている。
結線チェックを行った結果、ネットA,B,F,Hがエラーネットとなる。エラーネットについて使用しているマスク層をチェックする。図10(b)に示すように、セルC4,C5を追加しているため、金属配線層の第1層であるLA層を改版対象層として設定し、LA層の配線を削除する。その結果、配線L1〜L5が浮きワイヤ候補となる。
次に、結線チェックを行い、浮きワイヤのネット割り当てを行う。結線チェックにおいて、各ネットA,B,F,Hの接続点の座標値により設定された検索領域KA,KB,KF,KHを設定する。そして、検索領域KA,KB,KF,KHそれぞれに包含される浮きワイヤを検索し、検索領域に含まれる浮きワイヤをそれぞれのネット割り当てる。図10(c)において、配線L1,L2が検索領域KAに包含され、配線L4,L5が検索領域KFに包含され、配線L2〜L4が検索領域KHに包含され、検索領域KBに包含される配線は存在しない。各配線L1〜L5のうち、1つの検索領域KAに包含される配線L1をそれぞれ該当するネットに割り当て、複数の検索領域に包含される配線L2〜L5の割り当てを保留する。そして、配線を包含しない検索領域KBのネットBを割り当て対象から除外する。
次に、複数の検索領域に包含される配線を、各検索領域の面積に応じて割り当てる。例えば、各検索領域の面積を比較し、小さな検索領域のネットを配線に割り当てる。図10(d)において、検索領域KF,KA,KHの順に面積が大きくなるため、この順番で配線にネットを割り当てる。
図11(a)に示すように、先ず、検索領域KFに対する割り当てを行う。この時、検索領域KFに包含される配線L4,L5が対象となる。そして割当ての決定に際し、対象となる配線を用いて仮に配線を行い、その仮配線結果に基づいて割当てを決定する。配線L5を利用した場合、ネットHを第1層(LA層)のみの追加により接続することができる。しかし、配線L4を利用した場合、第2層(LB層)を追加しないとうまく接続することができない。両配線L4,L5を利用しても、配線効率が上がらない。このため、配線L5のみをネットFに割り当てる。
次に、図11(b)に、検索領域KAに対する割り当てを行う。検索領域KAに包含される配線L1,L2が対象となる。配線L1は既にネットAに対して割り当てを行なっているため、配線L2について検討する。配線L2をネットAに割り当てた場合、接続に都合がよく、配線L2をネットAに割り当てなかった場合、接続をうまく完了することができない。従って、配線L2をネットAに割り当てる。
次に、図11(c)に示すように、検索領域KHに包含され他のネットに割り当てられていない配線L3,L4をネットHに割り当てる。
上記のようにして各ネットA,F,Hに割り当てた配線L1〜L5を用いて、図11(d)に示すように、結線を行なう。
上記のようにして各ネットA,F,Hに割り当てた配線L1〜L5を用いて、図11(d)に示すように、結線を行なう。
このように、配線が複数の検索領域に包含される場合、各検索領域の面積に応じて順次割り当てることで、検索領域の面積、即ち端子間の距離が短いネットに優先的に浮きワイヤを割り当てる。この結果、接続点に近い浮きワイヤを検索して利用することにより、非改版対象層の配線を利用することができ、配線を余分に引き回すことがなくなるため、信号に対するスキュー(skew)等の発生を抑えることができる。
更に、割り当てを決定する際に、割り当てようとする配線を用いて仮に配線を行ない、配線をそのネットに割り当てるか否かを判断するようにした。その結果、割り当てられた配線を利用してネットの結線を行うことにより、配線を確実に行うことができる。
<第6の例>
図12はマスク修正処理における浮きワイヤの割り当て方法の説明図である。
別の例として、図12(a)に示すように、セルC1の出力端子AとセルC2の出力端子Bが、それぞれネットA,Bの配線及びビアによりセルCの入力端子C,Dと接続されている。セルC1の出力端子AとセルC3の入力端子Cとの間にセルC4(図12(b)参照)を挿入接続し、セルC2の出力端子BとセルC3の入力端子Dとの間にセルC5(図12(b)参照)を挿入接続する修正を行う。即ち、新ネットリストには、セルC1の端子AとC4の端子E、セルC2の端子BとセルC5の端子G、セルC4の端子FとセルC3の端子C、セルC5の端子HとセルC3の端子D、をそれぞれ接続するネットが記述されている。
図12はマスク修正処理における浮きワイヤの割り当て方法の説明図である。
別の例として、図12(a)に示すように、セルC1の出力端子AとセルC2の出力端子Bが、それぞれネットA,Bの配線及びビアによりセルCの入力端子C,Dと接続されている。セルC1の出力端子AとセルC3の入力端子Cとの間にセルC4(図12(b)参照)を挿入接続し、セルC2の出力端子BとセルC3の入力端子Dとの間にセルC5(図12(b)参照)を挿入接続する修正を行う。即ち、新ネットリストには、セルC1の端子AとC4の端子E、セルC2の端子BとセルC5の端子G、セルC4の端子FとセルC3の端子C、セルC5の端子HとセルC3の端子D、をそれぞれ接続するネットが記述されている。
結線チェックを行った結果、ネットA,B,F,Hがエラーネットとなる。エラーネットについて使用しているマスク層をチェックする。図12(b)に示すように、セルC4,C5を追加しているため、金属配線層の第1層であるLA層を改版対象層として設定し、LA層の配線を削除する。その結果、配線L1〜L5が浮きワイヤ候補となる。
次に、結線チェックを行い、浮きワイヤのネット割り当てを行う。結線チェックにおいて、各ネットに対してスルーエラー(Slew Error)が発生しない範囲に設定された検索領域を設定する。スルーエラーの発生しない範囲は、プロセス条件、駆動能力、論理上の端子負荷とセルの配置位置からスルーエラーが発生しない配線長を求め、その配線長を範囲とする。そして、その範囲内の配線(浮きワイヤ候補)をネットに仮に割り当てる。例えば、図12(c)に示すように、配線L1,L2をネットAに仮に割り当てる。
次に、ネットに割り当てた配線により、改版対象層のみで結線が可能か否かを確認し、結線が可能であれば割当てを確定し、結線が不可能な場合にはネットに対する割当てを解除する。配線の可否判断として、既存の配線を障害物(Blockage)とし、各ネットで配線ルール違反無しで結線できるときに結線可能と判断する。ネットAの場合、セルC1の端子Aと配線L1との間、配線L1と配線L2との間、配線L2とセルC4の端子Eとの間は、改版対象層(LA層及びLC層)の配線により、配線ルール違反なしで結線できるため、結線可能と判断する。
ネットに浮きワイヤの割当てを終了すると、浮きワイヤを含むネットの仮想配線長を算出する。そして、ネットと浮きワイヤの割当て、仮想配線長をメモリ13に記憶する。例えば、ネットAの場合、セルC1の端子Aと配線L1との間の距離、配線L1の長さ、配線L1と配線L2との間の距離、配線L2の長さ、配線L2とセルC4の端子Eと間の距離の合計を仮想配線長(総配線長)とする。
全てのネットについて浮きワイヤの割当て、仮想配線長の算出を終了すると、仮想配線長の短いネットから順に結線を行う。各ネットについて結線可能と判断しているが、この判断には他のネットにおける結線結果を考慮していない。従って、後から処理するネットにおいて、予定していた経路に既に配線が形成されている場合がある。このような場合、予定していた経路とは異なり配線可能な経路を検索する。仮想配線長が短いネットは、他の経路を見つけにくく、また、スルーエラーの発生しない範囲の配線を割り当てているにもかかわらず経路を変更することにより、迂回するために配線長が長くなりスルーエラーが発生する虞がある。このため、仮想配線長の短いネットから確実に結線することで、スルーエラーの発生を抑えることができる。
このように、各ネットに対して、スルーエラーが発生しない範囲の検索領域を設定し、その検索領域に包含される配線(浮きネット)をネットに割り当てることで、修正後の回路においてスルーエラーの発生を抑えることができる。
更に、各ネットの仮想配線長を算出し、該仮想配線長が短いネットから結線を行うようにした。その結果、割り当てを決定する際に、割り当てようとする配線を用いて仮に配線を行ない、配線をそのネットに割り当てるか否かを判断するようにした。その結果、接続点に近い浮きワイヤを検索して利用することにより、非改版対象層の配線を利用することができ、配線を余分に引き回すことがなくなるため、信号に対するスキュー(skew)等の発生を抑えることができる。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)修正されたネットリストを読み込み、レイアウトデータとネットリストとを比較する。その比較結果に基づいてエラーが発生しているエラーネットを確認し、エラーネットの配線要素に基づいて改版対象層を設定する。そして、改版対象層においてエラーネットの配線を修正するようにした。その結果、エラーネットの配線要素が存在する配線層に基づいて改版対象層を設定することにより、改版対象層の数が少なく設定でき、修正を短時間で行うことができる。
(1)修正されたネットリストを読み込み、レイアウトデータとネットリストとを比較する。その比較結果に基づいてエラーが発生しているエラーネットを確認し、エラーネットの配線要素に基づいて改版対象層を設定する。そして、改版対象層においてエラーネットの配線を修正するようにした。その結果、エラーネットの配線要素が存在する配線層に基づいて改版対象層を設定することにより、改版対象層の数が少なく設定でき、修正を短時間で行うことができる。
(2)エラーネットの配線を修正するときに、エラーネットの配線要素のうち、改版対象層に含まれる配線要素を削除し、エラーネットに対する結線処理を行うようにした。その結果、改版対象層の配線要素を削除することにより障害となる配線等がなくなり、修正されたネットリストに応じた結線を行うことができるようになる。また、一旦、配線等を削除することにより、ショートエラーが解消されるため、結線においてエラーの有無を容易に確認することができるようになる。
(3)エラーネットの配線要素を浮きワイヤ候補として記憶し、改版対象層以外の配線層に存在する浮きワイヤ候補の配線要素を未結線のネットに割り当て、結線処理を行う工程において、割り当てられた配線要素を利用して結線を行うようにした。その結果、既存の配線要素を利用することができ、結線処理を短時間で行うことができる。
(4)改版対象層に対する修正の結果にエラーがないか否かを確認し、エラーがある場合には改版対象層を変更し、変更した改版対象層においてエラーネットの配線を修正するようにした。その結果、改版対象層を変更することにより、エラーを解消することができ、確実に結線することができるようになる。
上記各実施の形態から把握できる技術的思想を以下に記載する。
(付記1)
レイアウトデータに基づいて作成された半導体集積回路装置に対する修正内容に従って前記レイアウトデータを修正する半導体集積回路装置の修正方法であって、
修正されたネットリストを読み込む工程と、
レイアウトデータと前記ネットリストとを比較する工程と、
前記比較結果に基づいてエラーが発生しているエラーネットを確認する工程と、
前記エラーネットの配線要素に基づいて改版対象層を設定する工程と、
前記改版対象層において前記エラーネットの配線を修正する工程と、
を備えたことを特徴とする半導体集積回路装置の修正方法。
(付記2)
前記エラーネットの配線を修正する工程は、
前記エラーネットの配線要素のうち、前記改版対象層に含まれる配線要素を削除する工程と、
前記エラーネットに対する結線処理を行う工程と、
から構成されたことを特徴とする付記1記載の半導体集積回路装置の修正方法。
(付記3)
前記エラーネットの配線要素を浮きワイヤ候補として記憶し、
前記改版対象層以外の配線層に存在する前記浮きワイヤ候補の配線要素を未結線のネットに割り当て、
前記結線処理を行う工程において、割り当てられた配線要素を利用して結線を行うようにしたことを特徴とする付記2記載の半導体集積回路装置の修正方法。
(付記4)
前記改版対象層に対する修正の結果にエラーがないか否かを確認する工程を備え、エラーがある場合には前記改版対象層を変更し、変更した改版対象層において前記エラーネットの配線を修正することを特徴とする付記1〜3のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記5)
前記改版対象層を設定する工程において、
追加セルがある場合には、複数の配線層のうちの最も最下位の配線層を改版対象層に設定する、ことを特徴とする付記1〜4のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記6)
前記改版対象層を設定する工程において、
追加セルがない場合には、前記エラーネットの配線要素が形成された配線層のうち、エラーが発生している複数のネットに共通な最上層を前記改版対象層に設定する、ことを特徴とする付記1〜5のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記7)
前記修正の結果にエラーがある場合には、層数を増加させることなく前記改版対象層の設定変更が可能か否かを判断し、変更可能であれば対象層を変更し、変更不可能であれば対象層を追加する、ことを特徴とする付記4記載の半導体集積回路装置の修正方法。
(付記8)
前記対象層を追加する場合に、追加後の対象層が配線層の全てを改版対象層に設定する場合には処理を中止する、ことを特徴とする付記7記載の半導体集積回路装置の修正方法。
(付記9)
前記浮きワイヤ候補をネットに割り当てる工程において、各ネットに対して検索領域を設定し、該検索領域に包含される浮きワイヤ候補を当該検索領域のネットに割り当てるようにした、ことを特徴とする付記3記載の半導体集積回路装置の修正方法。
(付記10)
前記ネットにより接続される端子の座標値に基づいて前記検索領域を設定するようにした、ことを特徴とする付記9記載の半導体集積回路装置の修正方法。
(付記11)
前記検索領域を、スルーエラーが発生しない大きさに応じて設定するようにした、ことを特徴とする付記1〜9記載の半導体集積回路装置の修正方法。
(付記12)
前記浮きワイヤ候補が前記検索領域からはみ出す場合には、前記検索領域の大きさを所定値拡大し、該拡大した領域に包含される浮きワイヤ候補を該当するネットに割り当てるようにした、ことを特徴とする付記9〜11のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記13)
前記浮きワイヤ候補が複数の検索領域に包含される場合、面積の小さな検索領域から順番に前記浮きワイヤ候補を割り当てるか否かを確認する、ことを特徴とする付記9〜12のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記14)
割り当ての確認は、前記浮きワイヤ候補を用いた仮配線を行い、その仮配線の状態に基づいて判断する、ことを特徴とする付記13記載の半導体集積回路装置の修正方法。
(付記15)
レイアウトデータに基づいて作成された半導体集積回路装置に対する修正内容に従って前記レイアウトデータを修正する半導体集積回路装置の修正装置であって、
前記レイアウトデータ及び修正されたネットリストを記憶する手段と、
修正されたネットリストを読み込む手段と、
レイアウトデータと前記ネットリストとを比較する手段と、
前記比較結果に基づいてエラーが発生しているエラーネットを確認する手段と、
前記エラーネットの配線要素に基づいて改版対象層を設定する手段と、
前記改版対象層において前記エラーネットの配線を修正する手段と、
を備えたことを特徴とする半導体集積回路装置の修正装置。
(付記1)
レイアウトデータに基づいて作成された半導体集積回路装置に対する修正内容に従って前記レイアウトデータを修正する半導体集積回路装置の修正方法であって、
修正されたネットリストを読み込む工程と、
レイアウトデータと前記ネットリストとを比較する工程と、
前記比較結果に基づいてエラーが発生しているエラーネットを確認する工程と、
前記エラーネットの配線要素に基づいて改版対象層を設定する工程と、
前記改版対象層において前記エラーネットの配線を修正する工程と、
を備えたことを特徴とする半導体集積回路装置の修正方法。
(付記2)
前記エラーネットの配線を修正する工程は、
前記エラーネットの配線要素のうち、前記改版対象層に含まれる配線要素を削除する工程と、
前記エラーネットに対する結線処理を行う工程と、
から構成されたことを特徴とする付記1記載の半導体集積回路装置の修正方法。
(付記3)
前記エラーネットの配線要素を浮きワイヤ候補として記憶し、
前記改版対象層以外の配線層に存在する前記浮きワイヤ候補の配線要素を未結線のネットに割り当て、
前記結線処理を行う工程において、割り当てられた配線要素を利用して結線を行うようにしたことを特徴とする付記2記載の半導体集積回路装置の修正方法。
(付記4)
前記改版対象層に対する修正の結果にエラーがないか否かを確認する工程を備え、エラーがある場合には前記改版対象層を変更し、変更した改版対象層において前記エラーネットの配線を修正することを特徴とする付記1〜3のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記5)
前記改版対象層を設定する工程において、
追加セルがある場合には、複数の配線層のうちの最も最下位の配線層を改版対象層に設定する、ことを特徴とする付記1〜4のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記6)
前記改版対象層を設定する工程において、
追加セルがない場合には、前記エラーネットの配線要素が形成された配線層のうち、エラーが発生している複数のネットに共通な最上層を前記改版対象層に設定する、ことを特徴とする付記1〜5のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記7)
前記修正の結果にエラーがある場合には、層数を増加させることなく前記改版対象層の設定変更が可能か否かを判断し、変更可能であれば対象層を変更し、変更不可能であれば対象層を追加する、ことを特徴とする付記4記載の半導体集積回路装置の修正方法。
(付記8)
前記対象層を追加する場合に、追加後の対象層が配線層の全てを改版対象層に設定する場合には処理を中止する、ことを特徴とする付記7記載の半導体集積回路装置の修正方法。
(付記9)
前記浮きワイヤ候補をネットに割り当てる工程において、各ネットに対して検索領域を設定し、該検索領域に包含される浮きワイヤ候補を当該検索領域のネットに割り当てるようにした、ことを特徴とする付記3記載の半導体集積回路装置の修正方法。
(付記10)
前記ネットにより接続される端子の座標値に基づいて前記検索領域を設定するようにした、ことを特徴とする付記9記載の半導体集積回路装置の修正方法。
(付記11)
前記検索領域を、スルーエラーが発生しない大きさに応じて設定するようにした、ことを特徴とする付記1〜9記載の半導体集積回路装置の修正方法。
(付記12)
前記浮きワイヤ候補が前記検索領域からはみ出す場合には、前記検索領域の大きさを所定値拡大し、該拡大した領域に包含される浮きワイヤ候補を該当するネットに割り当てるようにした、ことを特徴とする付記9〜11のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記13)
前記浮きワイヤ候補が複数の検索領域に包含される場合、面積の小さな検索領域から順番に前記浮きワイヤ候補を割り当てるか否かを確認する、ことを特徴とする付記9〜12のうちの何れか一項に記載の半導体集積回路装置の修正方法。
(付記14)
割り当ての確認は、前記浮きワイヤ候補を用いた仮配線を行い、その仮配線の状態に基づいて判断する、ことを特徴とする付記13記載の半導体集積回路装置の修正方法。
(付記15)
レイアウトデータに基づいて作成された半導体集積回路装置に対する修正内容に従って前記レイアウトデータを修正する半導体集積回路装置の修正装置であって、
前記レイアウトデータ及び修正されたネットリストを記憶する手段と、
修正されたネットリストを読み込む手段と、
レイアウトデータと前記ネットリストとを比較する手段と、
前記比較結果に基づいてエラーが発生しているエラーネットを確認する手段と、
前記エラーネットの配線要素に基づいて改版対象層を設定する手段と、
前記改版対象層において前記エラーネットの配線を修正する手段と、
を備えたことを特徴とする半導体集積回路装置の修正装置。
A,B,C,D,F,H ネット
L1〜L24 配線
L1〜L24 配線
Claims (5)
- レイアウトデータに基づいて作成された半導体集積回路装置に対する修正内容に従って前記レイアウトデータを修正する半導体集積回路装置の修正方法であって、
修正されたネットリストを読み込む工程と、
レイアウトデータと前記ネットリストとを比較する工程と、
前記比較結果に基づいてエラーが発生しているエラーネットを確認する工程と、
前記エラーネットの配線要素に基づいて改版対象層を設定する工程と、
前記改版対象層において前記エラーネットの配線を修正する工程と、
を備えたことを特徴とする半導体集積回路装置の修正方法。 - 前記エラーネットの配線を修正する工程は、
前記エラーネットの配線要素のうち、前記改版対象層に含まれる配線要素を削除する工程と、
前記エラーネットに対する結線処理を行う工程と、
から構成されたことを特徴とする請求項1記載の半導体集積回路装置の修正方法。 - 前記エラーネットの配線要素を浮きワイヤ候補として記憶し、
前記改版対象層以外の配線層に存在する前記浮きワイヤ候補の配線要素を未結線のネットに割り当て、
前記結線処理を行う工程において、割り当てられた配線要素を利用して結線を行うようにしたことを特徴とする請求項2記載の半導体集積回路装置の修正方法。 - 前記改版対象層に対する修正の結果にエラーがないか否かを確認する工程を備え、エラーがある場合には前記改版対象層を変更し、変更した改版対象層において前記エラーネットの配線を修正することを特徴とする請求項1〜3のうちの何れか一項に記載の半導体集積回路装置の修正方法。
- レイアウトデータに基づいて作成された半導体集積回路装置に対する修正内容に従って前記レイアウトデータを修正する半導体集積回路装置の修正装置であって、
前記レイアウトデータ及び修正されたネットリストを記憶する手段と、
修正されたネットリストを読み込む手段と、
レイアウトデータと前記ネットリストとを比較する手段と、
前記比較結果に基づいてエラーが発生しているエラーネットを確認する手段と、
前記エラーネットの配線要素に基づいて改版対象層を設定する手段と、
前記改版対象層において前記エラーネットの配線を修正する手段と、
を備えたことを特徴とする半導体集積回路装置の修正装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006099246A JP2007272686A (ja) | 2006-03-31 | 2006-03-31 | 半導体集積回路装置の修正方法及び修正装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006099246A JP2007272686A (ja) | 2006-03-31 | 2006-03-31 | 半導体集積回路装置の修正方法及び修正装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007272686A true JP2007272686A (ja) | 2007-10-18 |
Family
ID=38675412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006099246A Pending JP2007272686A (ja) | 2006-03-31 | 2006-03-31 | 半導体集積回路装置の修正方法及び修正装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007272686A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010061514A (ja) * | 2008-09-05 | 2010-03-18 | Fujitsu Microelectronics Ltd | 半導体集積回路の設計方法及び設計装置 |
-
2006
- 2006-03-31 JP JP2006099246A patent/JP2007272686A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010061514A (ja) * | 2008-09-05 | 2010-03-18 | Fujitsu Microelectronics Ltd | 半導体集積回路の設計方法及び設計装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10049175B1 (en) | Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns | |
US8984465B1 (en) | Methods, systems, and articles of manufacture for automatically assigning track patterns to regions for physical implementation of an electronic design | |
US9003349B1 (en) | Methods, systems, and articles of manufacture for implementing a physical electronic design with area-bounded tracks | |
US9251299B1 (en) | Methods, systems, and articles of manufacture for associating track patterns with rules for electronic designs | |
JPH07334565A (ja) | 物体の配置方法 | |
US8051400B2 (en) | Modifying integrated circuit layout | |
JP4769687B2 (ja) | タイミング検証方法、タイミング検証装置及びタイミング検証プログラム | |
US7960836B2 (en) | Redundant micro-loop structure for use in an integrated circuit physical design process and method of forming the same | |
US8015529B1 (en) | Methods and apparatus for diagonal route shielding | |
JP2015166981A (ja) | レイアウト検証方法、検証装置、及び検証プログラム | |
Debacker et al. | Vertical M1 routing-aware detailed placement for congestion and wirelength reduction in sub-10nm nodes | |
JP6798318B2 (ja) | 設計支援装置、設計支援方法、および設計支援プログラム | |
JP2007272686A (ja) | 半導体集積回路装置の修正方法及び修正装置 | |
JP5136371B2 (ja) | 設計支援方法 | |
JPH09223744A (ja) | Vlsiチップへの回路の配置方法 | |
JP4733059B2 (ja) | 集積回路設計装置、集積回路設計方法及び集積回路設計プログラム | |
US20090158231A1 (en) | Design Structure for a Redundant Micro-Loop Structure for use in an Integrated Circuit Physical Design Process and Method of Forming the Same | |
CN116167322B (zh) | 电路仿真方法及装置、服务器和存储介质 | |
US11126770B2 (en) | Method of semiconductor integrated circuit, circuit design system, and non-transitory computer-readable medium | |
US8286115B2 (en) | Fast routing of custom macros | |
JP5187217B2 (ja) | 半導体レイアウトシステム、方法、及び、プログラム | |
JP4778339B2 (ja) | 自動配置方法、装置、及びプログラム | |
JP2007273847A (ja) | 半導体集積回路装置の設計方法及び設計装置 | |
US10853553B1 (en) | Vias with multiconnection via structures | |
JP4509703B2 (ja) | 配線容量算出装置、配線容量算出方法および配線容量算出プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |