JP2009003723A - 半導体集積回路のレイアウト設計方法、半導体集積回路の自動レイアウト設計装置、半導体集積回路のレイアウト設計補助システム、フォトマスク、フォトマスクの製造方法、半導体集積回路、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 - Google Patents
半導体集積回路のレイアウト設計方法、半導体集積回路の自動レイアウト設計装置、半導体集積回路のレイアウト設計補助システム、フォトマスク、フォトマスクの製造方法、半導体集積回路、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 Download PDFInfo
- Publication number
- JP2009003723A JP2009003723A JP2007164418A JP2007164418A JP2009003723A JP 2009003723 A JP2009003723 A JP 2009003723A JP 2007164418 A JP2007164418 A JP 2007164418A JP 2007164418 A JP2007164418 A JP 2007164418A JP 2009003723 A JP2009003723 A JP 2009003723A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- instance
- integrated circuit
- semiconductor integrated
- layout design
- 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.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】マスクレイアウトの論理変更において、タイミング制約を満足させるようにフリーズシリコンECOを行う。
【解決手段】スペアセル方向範囲検知ブロック22で置き換え対象スペアセルの方向範囲を検知し、その方向範囲の中でタイミング制約満足範囲検知ブロック23でタイミング制約を満足する距離範囲を検知する。このタイミング制約を満足する距離範囲内にスペアセルが存在しない場合に、それと同種類の既使用インスタンスの中で、既使用置換セルインスタンス検知ブロック24でスペアセルまたは接続対象に最も近い箇所に存在するインスタンスを検知し、既使用置換インスタンス置換ブロック25でその検知したインスタンスの両端子を切り離し、スペアセルの代わりに使用する。基準端子座標再設定ブロック26で、切り離された端子箇所(空いた回路部分)を置き換え対象として接続対象を再設定し、各処理を一または複数回繰り返す。
【選択図】図1
【解決手段】スペアセル方向範囲検知ブロック22で置き換え対象スペアセルの方向範囲を検知し、その方向範囲の中でタイミング制約満足範囲検知ブロック23でタイミング制約を満足する距離範囲を検知する。このタイミング制約を満足する距離範囲内にスペアセルが存在しない場合に、それと同種類の既使用インスタンスの中で、既使用置換セルインスタンス検知ブロック24でスペアセルまたは接続対象に最も近い箇所に存在するインスタンスを検知し、既使用置換インスタンス置換ブロック25でその検知したインスタンスの両端子を切り離し、スペアセルの代わりに使用する。基準端子座標再設定ブロック26で、切り離された端子箇所(空いた回路部分)を置き換え対象として接続対象を再設定し、各処理を一または複数回繰り返す。
【選択図】図1
Description
本発明は、大規模半導体集積回路(LSI)などのレイアウト設計において、論理変更が行われた箇所に対してのみ配置配線処理を行う手法(以下、ECOと呼ぶ)の中でも、レイアウト設計時に、論理変更の際に用いる置き換え用の冗長セル(以下、スペアセルと呼ぶ)を予め配置しておき、その配置素子(以下、インスタンスと呼ぶ)を用いて配線層およびコンタクト層について製造工程におけるマスク層を変更することにより論理変更を行うECO手法(以下、フリーズシリコンECOと呼ぶ)において、設計装置内部で実行される静的タイミング解析によりタイミング制約を満足させることができなかった場合に、タイミング制約が満足されるようにフリーズシリコンECOを行う半導体集積回路のレイアウト設計方法、このレイアウト設計方法に用いる半導体集積回路のレイアウト設計補助システム、このレイアウト設計補助システムが搭載された半導体集積回路の自動レイアウト設計装置、この自動レイアウト設計装置を用いて生成されたマスクパターンを有するフォトマスク、このフォトマスクを製造するフォトマスクの製造方法、フォトマスクを用いて製造された半導体集積回路、フォトマスクを用いて半導体集積回路を製造する半導体集積回路の製造方法、上記半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための制御プログラムおよびこの制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体に関する。
この種の半導体集積回路(以下、LSIという)のレイアウト設計に用いられるフリーズシリコンECOにおいて、例えば特許文献1に開示されているように、スペアセル(特許文献1内では回路変更用論理素子と呼ばれている)を用意するということが一般的に行われているが、通常、その使用に関しては、タイミング制約は考慮されていない。
例えば、特許文献1においては、図15に示すように、実際の論理演算のために使用されている論理素子101の他に、回路変更用論理素子102を各スタンダードセルの列に配置し、コンタクト部103を用いて電源ライン104に各端子を接続させるという方法が記載されているが、そのスペアセルを使用する際にスペアセルを選択する方法やタイミング制約に関しては記載されていない。
また、例えば特許文献2においては、図16に示すように、既存の論理素子111、112、113および114を用いた論理回路と組み合わせるようにスペアセル(特許文献2内ではダミー素子と呼ばれている)112aおよび114aを配置することによって、スペアセルを分散して配置させるという方法が記載されている。この方法では、論理変更を行う際にタイミング制約を満足させるような範囲でスペアセルが存在する可能性を高めることが可能であるが、それでも、タイミング制約を満足させないような論理変更が行われてしまうことが全く無いという保証はなく、特許文献1の場合と同様にスペアセルを選択する方法やタイミング制約に関しては記載されていない。
現在、フリーズシリコンECO機能が実現されているCADツールの一つであるSynopsys社の「Astro;アストロ」というソフトウェアでは、論理変更された入力ネットリスト(素子間の接続関係などを記述したテキストデータ)が読み込まれると、後述する図5に示すような現状のレイアウトのネットリストと、後述する図6に示すようなフリーズシリコンECOの入力ネットリストとの差異が検知される。
後述する図5および図7に示すように、1列目X1はNORセル201の入力がネットn1とn2に接続され、出力がネットn3に接続されている。また、2列目X2はNANDセル202の入力がネットn3とn4に接続され、出力がネットn5に接続されている。さらに、3列目X3はINVセル203の入力がネットn6に接続され、その出力がネットn7に接続されている。さらに、4列目X4はNANDセル204の入力がネットn8とn9に接続され、その出力がネットn10に接続されている。さらに、5列目X5はINVセル205の入力がネットn10に接続され、その出力がネットn11に接続されている。さらに、6列目X6はINVセル208の入力がネットn12に接続され、その出力がネットn13に接続されている。さらに、7列目X7はNANDセル206の入力がネットn11とn13に接続され、その出力がネットn14に接続されている。さらに、8列目X8はNORセル209の入力がネットn15とn16に接続され、その出力がネットn17に接続されている。さらに、9列目X9はINVセル210の入力がネットn17に接続され、その出力がネットn18に接続されている。さらに、10列目X10はNORセル207の入力がネットn14とn18に接続され、その出力がネットn19に接続されている。
したがって、図5の1列目のNORセル201の出力端子201bと2行目のNANDセル202の入力端子202aがネットn3を介して接続され、4列目のNANDセル204の出力端子204bと5列目のINVセル205の入力端子205aがネットn10を介して接続され、6列目のINVセル208の出力端子208bと7列目のNANDセル206の入力端子206aがネットn13を介して接続され、8列目のNORセル209の出力端子209bと9列目のINVセル210の入力端子210aがネットn17を介して接続され、9列目のINVセル210の出力端子210bと10列目のNORセル207の入力端子207aとがネットn18を介して接続されていることが分かる。
これに対して、図6では、1列目X1と2列目X2の間にX11が挿入されて、X11のINVセル211の入力がネットn3に接続され、その出力がネットnx3に接続されている。また、X2のNANDセル202の入力がネットnx3に接続されている。したがって、1列目X1のNORセル201の出力端子201bと2行目X11のINVセル211の入力端子211aがネットn3を介して接続され、2列目X11のINVセル211の出力端子211bと3列目X2のNANDセル202の入力端子202aがネットnx3を介して接続されていることが分かる。
要するに、CADベンダー各社の自動レイアウトツールにおける、メタル以降のレイヤのみを変更して論理変更を行うフリーズシリコンECO機能では、予め論理変更の際に入れ替えを行うために冗長に配置されたスペアセルのみを対象としてする。例えば、図17に示すように、配置されているスペアセルの中で、使用したいセルが近くになかった場合、遠くのスペアセルを使いに行かざるを得ず、クロック信号に係るタイミング制約を満足できる修正が不可能なケースも存在している。
図7において、検出されたインスタンス(図6ではX11のインスタンスが相当)を変更するためには、その検出されたインスタンスから最も近くに存在するスペアセルのインスタンスが使用されるようになっている。しかしながら、その結果として得られるレイアウトがタイミング制約を満足させていなかったとしても、そのタイミング制約を満足させるために何か特別な処理が為されるということはない。
フリーズシリコンECO実施後のレイアウトにおいて、タイミング制約を満足させることができなかった場合には、設計者が手作業によりフリーズシリコンECOの入力ネットリストを変更することによって、より能力が高いスペアセルのインスタンスを用いてタイミング制約を調整したり、近くに存在するスペアセルのインスタンスのみを用いるように論理の組み替えを行ったりしている。しかしながら、いずれの手法を用いても、人手による多大な労力が必要とされることになる。また、その場合、使用素子数が増加し、消費電力も増加することになり、さらに、複雑な作業を人手で行うことによる設計期間の増長や人為的ミスを招くことにもなり兼ねない。さらに、フリーズシリコンECO機能を行わずに金属配線層およびコンタクト層以外の層を変更するということも考えられるが、その場合には、金属配線層およびコンタクト層以外の層を製造する工程においてマスクを再作成するためのコストが余分にかかる。
さらに、スペアセルのインスタンスを使用して、特許文献2により得られる以上の効果によりタイミング制約を高確率で満足させようとする場合、予め従来よりも多くのスペアセルのインスタンスをレイアウト上に配置しておくという解決方法も考えられる。しかしながら、現状では、使用セルのインスタンスに対するスペアセルのインスタンスの割合は、経験上、使用セルのインスタンスのみを配置した場合と比べて、チップ面積を増大させずにスペアセルのインスタンスを配置可能な範囲内という割合になっており、スペアセルのインスタンスを現在以上に配置するということは、即ち、チップ面積を増大させるということにつながる。チップ面積の増大は、ウェハに形成されるチップ数の減少につながり、1チップ当たりのコスト増大につながる。
特開平2−7542号公報
特開2003−132110号公報
しかしながら、上記従来技術には、以下のような問題がある。
上述したように、従来技術では、特許文献1や特許文献2に開示されているか、もしくは既に製品化されているソフトウェアの機能としてのフリーズシリコンECOを行う際に、タイミング制約が満足されなかった場合に、そのままタイミング制約が満足されていないレイアウトが出力されてしまう。このため、人手によりフリーズシリコンECOの入力ネットリストを変更してフリーズシリコンECOを再実行することになる。したがって、これらの従来技術では、消費電力が増加し、設計期間が長大化し、さらに人為的な設計作業ミスを誘発することも懸念される。
また、フリーズシリコンECO機能を行わず、金属配線層およびコンタクト層以外の層を変更する場合、マスクコストが増大するという問題がある。
さらに、特許文献1や特許文献2に開示されているようなスペアセルのインスタンスを、現状よりも多く配置しておく場合、実際に回路で使用しているセル数のおよそ1割程度をスペアセルとして配置しているのが現状であり、これではチップ面積が増大するため、チップのコストが増大し、さらに、フリーズシリコンECO機能を行う際にタイミング制約が満足されない虞も残される。
本発明は、上記従来の問題を解決するもので、従来技術のようなスペアセルの配置においても、タイミング制約を満足させるように、フリーズシリコンECOにおける入力ネットリストを自動的に変更させ、そのネットリストを用いてフリーズシリコンECOを行うことができる半導体集積回路のレイアウト設計方法、これを用いた半導体集積回路の自動レイアウト設計装置、これに用いる半導体集積回路のレイアウト設計補助システム、この自動レイアウト設計装置を用いて製造されたフォトマスク、この自動レイアウト設計装置を用いたフォトマスクの製造方法、このフォトマスクを用いて製造された半導体集積回路、このフォトマスクを用いた半導体集積回路の製造方法、この半導体集積回路のレイアウト設計方法をコンピュータに実行させるための制御プログラムおよびこの制御プログラムが記録されたコンピュータ読み取り可能な可読記憶媒体を提供することを目的とする。
本発明の半導体集積回路のレイアウト設計方法は、半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続可能とするレイアウト設計方法において、レイアウト設計補助コンピュータシステムが、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助ステップを有するものであり、そのことにより上記目的が達成される。
また、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるレイアウト設計補助ステップは、スペアセル検知手段が、前記接続対象に接続すべき冗長セルを検知するスペアセル検知ステップと、スペアセル方向範囲検知手段が、該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知ステップと、タイミング制約満足範囲検知手段が、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知ステップと、既使用置換セルインスタンス検知手段が、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知ステップと、既使用インスタンス置換手段が、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換ステップと、置換伝播手段が、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各ステップを一または複数回繰り返し行わせる置換伝播ステップとを有する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル検知ステップは、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル検知ステップは、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記接続対象と前記冗長セルとの位置関係を検出する際に、ネットリストまたは回路図情報上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記半径として、前記冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とを結ぶ直線の長さをそれぞれの座標から算出する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における接続対象の所定位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象から該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とから三角関数を用いて該冗長セルの方向を角度として算出する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記正方向および負方向の所定範囲の角度としてそれぞれ、0度以上180度以下の範囲内の角度をそれぞれ指定する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるタイミング制約満足範囲検知ステップは、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるタイミング制約満足範囲検知ステップは、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を2点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の2点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルの端子が既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ90度以下の場合に、前記スペアセル方向範囲検知ステップに対して、該角度が85度以下であれば5度加えて指定させ、該角度が85度よりも大きく90度以下であれば90度に指定させる。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ90度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルの両端子(例えばインバータの入出力端子や、2入力ゲートの2入力端子または、2入力ゲートの2入力端子および出力端子などの場合を含む)への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されるインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知ステップから該既使用インスタンス置換ステップまでの各処理を行う。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記スペアセル方向範囲検知ステップによる処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換ステップにより置き換えられるインスタンスの位置座標が設定される。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記既使用インスタンス置換ステップで切り離されたインスタンスを、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記既使用インスタンス置換ステップで切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う。
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記既使用インスタンス置換ステップで置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う。
本発明の半導体集積回路の自動レイアウト設計装置は、半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続制御する半導体集積回路の自動レイアウト設計装置において、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助コンピュータシステムを有するものであり、そのことにより上記目的が達成される。
また、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるレイアウト設計補助コンピュータシステムは、前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル検知手段は、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル検知手段は、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記接続対象と前記冗長セルとの位置関係を検出する際に、ネットリストまたは回路図情報上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における接続対象の位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象からの該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記半径として、前記冗長セルの端子座標と前記接続対象の端子座標を結ぶ直線の長さをそれぞれの座標から算出する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標と前記接続対象の端子座標から三角関数を用いて該冗長セルの方向を角度として算出する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記正方向および負方向の所定範囲の角度としてそれぞれ、0度以上180度以下の範囲内の角度をそれぞれ指定する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるタイミング制約満足範囲検知手段は、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるタイミング制約満足範囲検知手段は、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を2点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の2点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ90度以下の場合に、前記スペアセル方向範囲検知手段に対して、該角度が85度以下であれば5度加えて指定させ、該角度が85度よりも大きく90度以下であれば90度に指定させる。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ90度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルの両端子(例えばインバータの入出力端子や、2入力ゲートの2入力端子または、2入力ゲートの2入力端子および出力端子などの場合を含む)への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されたインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知手段から該既使用インスタンス置換手段までの各処理を行う。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記スペアセル方向範囲検知手段による処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換手段により置き換えられるインスタンスの位置座標が設定される。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記既使用インスタンス置換手段で切り離されたインスタンスを、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記既使用インスタンス置換手段で切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記既使用インスタンス置換手段で置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置において、前記レイアウト設計補助コンピュータシステムが搭載された演算処理装置と、該演算処理装置の演算処理に関する画面を表示可能とするディスプレイ部と、該演算処理装置の演算処理に対して操作入力指令を行うための操作入力部とを有する。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置において、クロック信号に係わるタイミング制約を満足させるような条件で最終的に前記冗長セルに置き換えるように、配線層およびコンタクト層について製造工程におけるマスク層のみを変更して、クロック信号に係わるタイミング制約を満足させるように論理変更処理を行う。
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置において、マスクパターンデータベースに格納されたマスクパターンと、各セル間の接続関係が記述されたテキストデータであるネットリストとが入力されて、セルの配置および各セル間の配線をレイアウト設計する際の論理変更時に用いる冗長セルが配置された回路図情報またはネットリスト(概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト)を生成する自動配置配線処理部と、該ネットリストが記憶されたネットリスト記憶部および前記スペアセル方向範囲検知手段への入力パラメータを外部から操作入力可能とされ、該マスクパターンデータベースからマスクパターンデータを外部へ出力可能とするインターフェース部と、該自動配置配線処理部からの回路図情報またはネットリスト(概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト)を用いて静的タイミング解析を実行し、前記接続対象に接続される配線の長さ当たりの抵抗および容量から遅延値を割り出して前記タイミング制約満足範囲検知手段に供給する静的タイミング解析処理部とをさらに有する。
本発明の半導体集積回路のレイアウト設計補助システムは、コンピュータシステムで構成されており、前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有するものであり、そのことにより上記目的が達成される。
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有するものであり、そのことにより上記目的が達成される。
本発明のフォトマスクは、本発明の上記半導体集積回路の自動レイアウト設計装置を用いて設計されたマスクパターン情報に基づいて作製されたものであり、そのことにより上記目的が達成される。
本発明のフォトマスクの製造方法は、本発明の上記半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしてフォトマスクを製造するものであり、そのことにより上記目的が達成される。
本発明の半導体集積回路は、本発明の上記フォトマスクを用いて製造されたものであり、そのことにより上記目的が達成される。
本発明の半導体集積回路の製造方法は、本発明の上記半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて、半導体基板上または基板に設けられた半導体層上に半導体集積回路を形成するものであり、そのことにより上記目的が達成される。
本発明の制御プログラムは、本発明の上記半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための各処理手順が記録されたものであり、そのことにより上記目的が達成される。
本発明の可読記憶媒体は、本発明の上記制御プログラムが格納されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
上記構成により、以下に、本発明の作用について説明する。
本発明にあっては、冗長セル(スペアセル)を用いたフリーズシリコンECO機能により論理変更を行う際に、置き換え対象となるスペアセルを用いた場合にタイミング制約を満足させることができないときに、タイミング制約を満足させることができるような範囲で、その代替となり得る、置き換え対象スペアセルと同種類の既使用セルの中から、接続対象またはスペアセルに最も近いセルの接続を切断し、置き換え対象スペアセルの代わりに接続するためのネットリストを作成する。この処理を、スペアセルがタイミング制約を満足させることができるような範囲に現れるまで繰り返し行うことによって、スペアセルと同種類の既使用セルを「玉突き式」に順次移植していくようなネットリストを作成することが可能となる。そのネットリストを入力してフリーズシリコンECO機能を行うことによって、全てのタイミング制約を満足させることが可能となる。
以上により、本発明によれば、フリーズシリコンECO機能においてタイミング制約が満足されなかった場合に、人手によりネットリスト変更をする必要がある従来技術のような膨大な手間が不要である。また、配線層およびコンタクト層以外の層を修正したり、現状以上に多くのスペアセルのインスタンスを予め配置しておくことなく、高確率でフリーズシリコンECOによってタイミング制約を満足させることができる。自動的にタイミング制約を満足させるようにフリーズシリコンECOを行うことができるため、論理変更における設計期間やマスクコストの増大、人為的ミスの発生、さらには初期設計のチップ面積の増大などを効果的に防ぐことができる。したがって、効率的に動作ミスが少ない半導体装置やその半導体装置が搭載された電子機器を低コストで作製することができて、このフリーズシリコンECOの普及に大いに貢献することができる。
以下に、本発明のレイアウト設計補助システム部が搭載された半導体集積回路の自動レイアウト設計装置の実施形態について、図面を参照しながら詳細に説明する。
図1は、本発明の実施形態に係る半導体集積回路の自動レイアウト設計装置の要部機能構成例を示すブロック図である。
図1において、本実施形態の半導体集積回路の自動レイアウト設計装置1は、クロック信号に係わるタイミング制約を満足させるような条件で最終的に冗長セル(スペアセル)に置き換えを行い、配線層およびコンタクト層について製造工程におけるマスク層のみを変更して、クロック信号に係わるタイミング制約を満足させるように論理変更処理を行うことができる演算処理装置2と、この演算処理装置2の演算処理に関する画面を表示可能とする表示部としてのディスプレイ部3と、この演算処理装置2の演算処理に対して各種操作入力指令を行うための操作入力部としてのキーボード4およびマウス5とを備えている。
演算処理装置2には、マスクパターンデータベース11と、自動配置配線処理部12と、ネットリスト記憶部13と、インターフェース部14と、静的タイミング解析処理部15と、レイアウト設計補助コンピュータシステムとしてのレイアウト設計補助システム部20とが搭載されている。
自動配置配線処理部12は、フリーズシリコンECO機能が実装されている既存の自動配置配線ソフトウェアの処理部であり、マスクパターンデータベース11に格納されたマスクパターンと、素子間(セル間)の接続関係が記述されたテキストデータであるネットリスト記憶部13のネットリストとが入力され、素子(セル)の配置および素子間(セル間)の配線がレイアウト設計されるようになっている。さらに、自動配置配線処理部12では、ネットリスト記憶部13からの入力ネットリストと、マスクパターンデータベース11からのマスクパターンとの差分から、論理変更時に置き換えるべきスペアセルが決定されて後述するスペアセル検知ブロック21に供給されると共に、論理変更時に用いるスペアセルが配置された回路図情報またはネットリスト(概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト)が生成される。
インターフェース部14では、ネットリスト記憶部13や後述するスペアセル方向範囲検知ブロック22への入力パラメータが入力操作手段としてのキーボード4およびマウス5などを介して外部から入力され、マスクパターンデータベース11のマスクパターンデータが外部に出力可能とされる。
静的タイミング解析部15は、自動配置配線処理部12と連動している既存の静的タイミング解析ソフトウェアの処理部であり、自動配置配線処理部12からの回路図情報またはネットリスト(概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト)とインターフェース部14から入力されたタイミング制約などの入力データを用いて静的タイミング解析が実行される。この静的タイミング解析の結果、接続対象の箇所に接続される配線の長さ当たりの抵抗および容量が求められ、これによって遅延値が割り出されて、後述するタイミング制約満足範囲検知ブロック23にその遅延値が供給される。
レイアウト設計補助システム部20は、自動レイアウト設計後のマスクパターンに対してフリーズシリコンECO機能により論理変更を行う際に、スペアセル(冗長セル)によりタイミング制約を満足させることができない場合に、タイミング制約を満足させるような位置範囲で、置き換え対象のスペアセルと同種類の既使用セルのインスタンスの中から、接続対象またはスペアセルに最も近い同種類の既使用セルを検出し、これをスペアセルのインスタンスの代わりに用いることによって空いた回路部分に、この空いた回路部分を新たな接続対象として、その接続対象またはスペアセルに最も近い同種類の既使用セルを用いる処理を、タイミング制約を満足させるような位置範囲に冗長セルが現れるまで繰り返し行って、冗長セルが現れた時点で最後に空いた回路部分に冗長セルを用いる。この処理により得られたネットリストを用いてフリーズシリコンECO機能を行うことにより、全てのタイミング制約を満足させることができる。
このレイアウト設計補助システム部20には、後述する制御プログラムによって、スペアセル検知手段としてのスペアセル検知ブロック21と、スペアセル方向範囲検知手段としてのスペアセル方向範囲検知ブロック22と、タイミング制約満足範囲検知手段としてのタイミング制約満足範囲検知ブロック23と、既使用置換セルインスタンス検知手段としての既使用置換セルインスタンス検知ブロック24と、既使用置換インスタンス置換手段としての既使用置換インスタンス置換ブロック25と、置換伝播手段としての基準端子座標再設定ブロック26との各機能を実行する。
スペアセル検知ブロック21では、自動配置配線処理部12によってネットリスト記憶部13の入力ネットリストと、マスクパターンデータベース11のマスクパターンデータとの差分から決定されたスペアセル(冗長セル)のインスタンスが検知される。この場合、スペアセル検知ブロック21は、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて、接続対象からの直線距離が最も近い箇所に存在するスペアセルを検知する。
スペアセル方向範囲検知ブロック22では、スペアセル検知ブロック21により検知されたスペアセルのインスタンスの端子に接続される接続対象からの適切な位置から、スペアセルのインスタンスへの方向を含む方向の範囲が検知される。この処理には、インターフェース部14から入力された所定範囲の角度θ1がパラメータとして用いられる。
スペアセル方向範囲検知ブロック22は、接続対象とスペアセルとの位置関係を検出する際に、マスクパターンデータベース11上で、スペアセルの入力端子座標と接続対象の出力端子座標との間の位置関係を検出するものであり、接続対象の所定位置を中心として、スペアセルと接続対象とを結ぶ直線距離を半径とし、接続対象からスペアセルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度θ1を外部または内部で指定してその合計を中心角とし、スペアセル側を円弧側として、その半径の値を有する扇形領域として方向範囲を算出する。その半径としては、スペアセルの入力端子座標とこれに接続されるべき接続対象の出力端子座標とを結ぶ直線の長さをそれぞれの座標から算出する。また、接続対象からスペアセルへの方向を、スペアセルの入力端子座標とこれに接続されるべき接続対象の出力端子座標とから三角関数を用いてスペアセルの方向を角度として算出することができる。
タイミング制約満足範囲検知ブロック23では、スペアセル方向範囲検知ブロック22により検知された方向範囲と、静的タイミング解析処理部15による静的タイミング解析結果を用いて、マスクパターンデータベース11から、クロック信号に係わるタイミング制約を満足させるような距離範囲が検知される。即ち、タイミング制約満足範囲検知ブロック23は、静的タイミング解析の結果を用い、接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる接続対象からの距離範囲を算出し、検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する。さらには、タイミング制約満足範囲検知ブロック23は、元の回路図に対して静的タイミング解析を実行することにより、接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、この余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、接続対象とスペアセルの各座標の差の絶対値の総和を2点間の距離とするマンハッタン距離により算出後、各座標の始点および終点の2点間の直線距離を算出し、算出された直線距離を接続対象の中心からの距離として扇形領域内部の範囲を検知する。
既使用置換セルインスタンス検知ブロック24では、タイミング制約満足範囲検知ブロック23により検知された距離範囲と、スペアセルのインスタンスの位置とを用いて、マスクパターンデータベース11のマスクパターンデータ内で置き換え対象が検知される。このとき、タイミング制約満足範囲検知ブロック23により検知された距離範囲内にスペアセルが存在する場合には、そのスペアセルのインスタンスが検知される。この場合には、スペアセルが用いられ、スペアセルの代わりに既使用セルが用いられないため、次の既使用インスタンス置換ブロック25による既使用セルとの置換処理は不要であるが、既使用インスタンス置換ブロック25によって既使用セルの代わりに、接続対象(または、空いた回路部分を新たな接続対象として)にスペアセルが接続処理される。また、既使用置換セルインスタンス検知ブロック24では、タイミング制約満足範囲検知ブロック23により検知された距離範囲内にスペアセルが存在しなかった場合には、マスクパターンデータベース11のマスクパターンデータから、回路中に組み込まれて存在するスペアセルと同種類のセルのインスタンスの中から、そのタイミング制約の満足範囲内において接続対象またはスペアセルから最も近い箇所に存在する同種類のセルのインスタンスが検知される。即ち、既使用置換セルインスタンス検知ブロック24は、タイミング制約の満足範囲(距離範囲)に存在する、スペアセルと同種類のセルを全て探知し、それぞれの入力端子座標について接続対象の出力端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い同種類のセルの端子座標を検知する。また、既使用置換セルインスタンス検知ブロック24は、タイミング制約の満足範囲(距離範囲)にスペアセルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理としてこの既使用置換セルインスタンス検知処理を中止する。なお、タイミング制約の満足範囲内において、スペアセルから最も近い箇所に存在する、スペアセルと同種類のセルを検知する方が、接続対象から最も近い箇所(またはスペアセルから最も遠い箇所)に存在する、スペアセルと同種類のセルを検知するよりも、最終的にスペアセルを用いて接続を完了するまでの工程が簡略化されて好ましい。
既使用インスタンス置換ブロック25では、既使用置換セルインスタンス検知ブロック24により検知された結果を用いて、検知されたセルのインスタンスの両端子への配線が切り離されて、スペアセルの代わりとして使用されるように、検知したセルの入力端子と、接続対象の出力端子とを配線により接続することにより、自動配置配線処理に用いられるネットリスト記憶部13のネットリストを変更する。また、詳細に後述するが、その検知されたセルのインスタンス以降の論理についても(検知されたセルが例えば二つのインバータや、一方はインバータで他方はナンドゲートなど複数のインスタンスである場合など)、論理変更の対象であった場合には、スペアセル検知ブロック21に処理が引き継がれる。また、その検知されたセルのインスタンス以降の論理について、論理変更の対象ではない場合には、基準端子座標再設定ブロック26に処理が引き継がれる。
基準端子座標再設定ブロック26では、スペアセル方向範囲検知ブロック22による処理の際に方向を求める基準となる座標(接続対象の出力座標;中心座標)として、既使用インスタンス置換ブロック25により置き換えられたインスタンス(スペアセルと同種類のセルを新たな接続対象として)の出力端子座標が設定される。即ち、基準端子座標再設定ブロック26は、既使用インスタンス置換ブロック25で切り離されたインスタンス(スペアセルと同種類のセル)を、スペアセル方向範囲検知ブロック22における接続対象として再設定し、前記タイミング制約満足範囲検知ブロック22でスペアセルが検知されるまで、一または複数回、スペアセル方向範囲検知ブロック22から既使用インスタンス置換ブロック25までの各処理を繰り返し行うようにしてもよい。または、基準端子座標再設定ブロック26は、既使用インスタンス置換ブロック25で切り離される直前のインスタンスの出力端子座標を、スペアセル方向範囲検知ブロック22における新たな接続対象として再設定し、タイミング制約満足範囲検知ブロック22でスペアセルのインスタンスが検知されるまで、一または複数回、スペアセル方向範囲検知ブロック22から既使用インスタンス置換ブロック25までの各処理を繰り返し行うようにしてもよい。または、基準端子座標再設定ブロック26は、既使用インスタンス置換ブロック25で置き換えられて空いた回路部分の座標を、スペアセル方向範囲検知ブロック22における新たな接続対象として再設定し、タイミング制約満足範囲検知ブロック22でスペアセルのインスタンスが検知されるまで、一または複数回、スペアセル方向範囲検知ブロック22から既使用インスタンス置換ブロック25までの各処理を繰り返し行うようにしてもよい。
以上の図1の説明に対して、さらに、本発明の原理について図2を用いて簡単に説明する。
図2に示すように、論理変更の場合に接続対象に対して追加で使用したい、一番近いスペアセルを探し、それを使ったときにタイミング的に問題がある場合、クロック信号に係わるタイミング制約に問題がないギリギリの範囲で、既に元から回路に組み込まれて使用されている最も近いセル(ここではインバータINV)をスペアセルの代わりに使用しに行く。そのスペアセルの代わりに使われるセルを、更にタイミングが遅延しない範囲で、最初に見つかったスペアセルの方向に探しに行き、既に元から回路に使われているセルがあればそのセルをさらに使用しに行く、という処理を繰り返して、玉突き式にセルを置き換えて順次移植し、最終的に最初に検出したスペアセルまで使用しに行くというフリーズシリコンECO手法を用いている。
これによって、従来技術の図17のように予め均等配置したスペアセルからのみの使用であると、使用したいスペアセルが遠くに存在する可能性があってタイミング的に問題がある場合があり得るが、本発明のようにタイミング制約に違反しない範囲で、そのスペアセルの方向に存在する回路に既に組み込まれているセル(スペアセルと同じ種類のセル)を使用するため、スペアセルを必要以上に多く配置しなくて済み、レイアウトのフリーズシリコンECO機能でクロック信号に係わるタイミング制約の違反を減らしたり防止したりすることができる。
図3は、図1の半導体集積回路の自動レイアウト設計装置の要部ハード構成例を示すブロック図である。
本実施形態の半導体集積回路の自動レイアウト設計装置1は、コンピュータシステムで構成されており、全体の制御を行う制御手段としてのCPU(中央演算処理装置)2Aと、CPU2Aに対して入力指令を行うためのキーボード4、マウス5、タッチパネルおよびペン入力装置、さらには通信ネットワーク(例えばインターネットやイントラネット)を介して受信入力する入力装置などの操作入力部と、表示画面上に、各処理に関する初期画面、選択場面、CPU2Aによる制御結果画面および操作入力画面などを表示するCRTや液晶表示装置、さらにはプラズマ表示装置、エレクトロルミネッセンス表示装置などの表示部としてのディスプレイ部3と、制御プログラムおよびそのデータなどが記憶されたコンピュータ読み出し可能な可読記録媒体としてのROM6と、起動時に制御プログラムおよびそのデータなどが読み出されて、CPU2Aによる制御毎にデータを読み出し・記憶するワークメモリとして働く記憶部としてのRAM7とを有している。
可読記録媒体としてのROM6は、ハードディスクの他、携帯自在な光ディスク、光磁気ディスク、磁気ディスクおよびICメモリのいずれかまたはこれらの組合せなどで構成されていてもよい。この制御プログラムおよびそのデータなどがROM6に記憶されるが、この制御プログラムおよびそのデータは、他の可読記録媒体から、または、無線、有線またはインターネット、さらにはイントラネットなどを介してROM6にダウンロードされてもよい。なお、マスクパターンデータベース11およびネットリスト記憶部13はRAM5と一体で同じ記憶手段として構成されていてもよく、別に構成されていてもよい。
次に、本実施形態の半導体集積回路のレイアウト設計方法の処理手順について、図4〜図14を用いて詳細に説明する。
図4は、本実施形態の半導体集積回路のレイアウト設計方法における処理手順例を説明するためのフローチャートである。図5は、レイアウトのネットリストであり、図6は、フリーズシリコンECO機能を実行するために、図1の自動配置配線処理部12に入力される論理変更されたネットリストである。図7は、フリーズシリコンECO処理前のマスクレイアウトを論理形式で簡略化して示す回路図である。図8は、図1のスペアセル方向範囲検知ブロック22による処理を論理形式で簡略化して示す回路図であり、図9は、図1のタイミング制約満足範囲検知ブロック23による処理を論理形式で簡略化して示す回路図である。図10は、図1の既使用インスタンス置換ブロック25による処理を論理形式で簡略化して示す回路図であり、図11は、図1の既使用インスタンス置換ブロック25により変更された自動配置配線処理部12に入力されるネットリストである。図12は、図1の基準端子座標再設定ブロック26により各処理を1度または複数回繰り返し行わせた結果を論理形式で簡略化して示す回路図であり、図13は、図1の既使用インスタンス置換ブロック25により変更され、自動配置配線処理部12に入力されるネットリストを示す図である。
図7において、NORセルの既使用インスタンス201は図5の1列目に記載され、NANDセルの既使用インスタンス202は図5の2列目に記載されており、NORセルの既使用インスタンス201の出力端子201bはNANDセルの既使用インスタンス202の入力端子202aに接続されている。さらに、INVセルの既使用インスタンス203は図5の3列目に記載されている。NANDセルの既使用インスタンス204は図5の4列目に記載され、INVセルの既使用インスタンス205は図5の5列目に記載され、INVセルの既使用インスタンス208は図5の6列目に記載され、NANDセルの既使用インスタンス206は図5の7列目に記載され、NORセルの既使用インスタンス209は図5の8列目に記載され、INVセルの既使用インスタンス210は図5の9列目に記載され、NORセルの既使用インスタンス207は図4の10列目に記載されている。211はスペアセルとしてのINVセルのインスタンスである。
NANDセルの既使用インスタンス204の出力端子204bは、INVセルの既使用インスタンス205の入力端子205aに接続されている。また、INVセルの既使用インスタンス205の出力端子205bはNANDセルの既使用インスタンス206の一方の入力端子206aに接続されている。また、INVセルの既使用インスタンス208の出力端子208bはNANDセルの既使用インスタンス206の他方の入力端子206aに接続されている。さらに、NORセルの既使用インスタンス209の出力端子209bは、INVセルの既使用インスタンス210の入力端子210aに接続されている。また、INVセルの既使用インスタンス210の出力端子210bは、NORセルの既使用インスタンス207の他方の入力端子207aに接続されている。
本実施形態において、レイアウト設計後に論理変更が加えられた場合にフリーズシリコンECOを行うために、まず、ステップS1において、スペアセル検知ブロック21によって、通常のフリーズシリコンECOと同様に、置き換えるべきスペアセルのインスタンスが発見される。その際に用いられる探索アルゴリズムとしては、現在既に製品化されているフリーズシリコンECO機能を有するソフトウェアに搭載されている技術を用いることができる。または、論理変更が加わえられる箇所の直前に配置されたインスタンスから最も直線距離が近い箇所に存在するスペアセルのインスタンスが検知される。
次に、ステップS2において、スペアセル方向範囲検知ブロック22によって、置き換え対象スペアセルのインスタンス211の入力端子211aに接続される接続対象(NORセルの既使用インスタンス201)の適切な位置(出力端子201b)から、スペアセルのインスタンス211への方向を含む方向の範囲が検知される。この処理では、まず、置き換え対象スペアセルのインスタンス211の入力端子211aと、接続対象のインスタンス201からの適切な位置(ここでは出力端子201bであるが、入力端子201でもよい)との間の位置関係を検出するために、マスクパターンデータベース11のマスクパターンデータから、置き換え対象スペアセルのインスタンス211の入力端子座標と、論理変更が加わえられる箇所の直前のインスタンス(接続対象のインスタンス201)の出力端子座標とが検出される。論理変更が加わえられる箇所の直前のインスタンス(接続対象のインスタンス201)の出力端子201bが中心(中心座標)とされ、スペアセルのインスタンス211の入力端子211aと論理変更が加わえらる箇所の直前のインスタンス(接続対象のインスタンス201)の出力端子201bとを結ぶ直線Lの距離が半径とされて、論理変更が加わえられる箇所の直前のインスタンス(接続対象のインスタンス201)の出力端子201bからスペアセルのインスタンス211の入力端子211aへの方向が角度として算出される。算出された角度から正方向および負方向に各々所定範囲の角度θ1が指定されてそれらの合計が中心角2θ1とされ、スペアセルのインスタンス211の入力端子211a側を円弧として、上記スペアセル方向範囲が、上記半径を有する扇形領域A1として算出される。
例えば、図5に示すレイアウトのネットリストに対して図6に示すような論理変更が加えられた際に、図7に示すように、接続対象のインスタンス201の出力端子201bとインスタンス202の入力端子202aとの間に新たな論理としてINVセルのインスタンスをスペアセルのインスタンス211により追加する場合には、出力端子201bの位置の座標が検出される。図8に示すように、スペアセルのインスタンス211の入力端子211aが接続する側の位置が目標位置とされ、論理変更が加わえられる箇所の直前のインスタンス201の出力端子201bの座標が原点(中心座標)とされ、スペアセルのインスタンス211の入力端子211aと論理変更が加わえられている箇所の直前のインスタンス201の出力端子201bとを結ぶ直線Lの距離が半径とされて、インスタンス201の出力端子201bの中心座標からスペアセルのインスタンス211の入力端子211aの座標への方向が、2点間の関係から、三角関数を用いて直交座標上の角度として求められる。さらに、入力パラメータとして、この2点間の直線に対して中心振り分けとして、角度θ1が0度以上180度以下(通常は0度以上90度以下であるが逆方向も含む場合として0度以上180度以下としている)の範囲内の所定角度、例えば40度として指定され、求められた上記直線Lの角度が例えば300度であった場合、その正方向および負方向それぞれに対してその指定角度40度が加減算されてその合計が中心角とされる。この例では、260度から340度までの80度が中心角となる。論理変更が加わえられる箇所の直前のインスタンス201の出力端子201bの座標を中心点とし、論理変更が加わえられている箇所の直前のインスタンス201の出力端子201bの座標から接続される側の位置211aの座標の直線距離を半径とした扇形領域A1が図形演算により求められる。この扇形領域A1を求める図形演算においては、中心座標(接続対象のインスタンス201の出力端子201b)を通る一次方程式の直線と、同じ中心座標を通る他の一次方程式の直線に挟まれた中心角2θ1の領域の中から、中心座標からの距離が半径の値よりも小さいものが検出される。
さらに、ステップS3において、タイミング制約満足範囲検知ブロック23によって、ステップ2により求められたスペアセル方向範囲(扇形領域A1)の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲が検知される。例えば、図9に示すように、配線長さがインスタンス201の出力端子201bとスペアセルのインスタンス211の入力端子211aの座標の差の絶対値の総和を2点間の距離とするマンハッタン距離により算出された後、その始点および終点の2点間の直線Lの距離が算出されてそれが半径とされる。タイミング制約を満足させる距離範囲が、上記扇形領域A1の内部に、接続される側の適切な位置の出力端子201bを中心とした扇形領域A2として、図形演算により求められる。このとき、タイミング制約満足範囲検知ブロック24では、静的タイミング解析処理部15によって元の回路図またはネットリスト(概念的には回路図、実際の処理上は回路図が反映されたネットリスト)に対して静的タイミング解析が実行された結果として得られる、接続対象の箇所(出力端子201b)に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度が割り出される。その余裕度から割り出される、タイミング制約を満足させる範囲の配線長さがマンハッタン距離により算出され、その始点および終点の2点間の直線Lの距離が算出され、その直線距離が中心座標からの距離として上記扇形領域A1の内部の範囲が検知されることにより、タイミング制約満足範囲(上記距離範囲)である扇形領域A2が求められる。
さらに、ステップS4において、タイミング制約満足範囲検知ブロック23によって、ステップS3により求められた範囲内にスペアセルのインスタンス211の入力端子211aが存在するか否かという判断が行われる。例えば、図9の例では、上記距離範囲である扇形領域A2にスペアセルのインスタンス211の入力端子211aは存在しない。この判断により、スペアセルのインスタンス211の入力端子211aがステップS3により求められた上記距離範囲である扇形領域A2内に存在する場合(YESの場合)にはステップS8の処理へ進み、スペアセルのインスタンス211の入力端子211aがステップS3により求められた上記距離範囲である扇形領域内に存在しない場合(NOの場合)にはステップS5の処理へと移行する。
次に、ステップS5においては、既使用置換セルインスタンス検知ブロック24によって、ステップS3により求められた範囲内にスペアセルのインスタンス211と同一種類のセルのインスタンスの入力端子が既使用状態で存在するか否かという判断が行われる。例えば、図9の例では、上記距離範囲である扇形領域A2内に、インスタンス203およびインスタンス205が存在する。この判断により、スペアセルと同一種類のセルのインスタンス(図9の例ではインスタンス203およびインスタンス205)の入力端子が既使用状態でステップS3により求められた扇形領域A2内に存在する場合(YESの場合)にはステップS6の処理へ進み、スペアセルと同一種類のセルのインスタンス(図9の例ではインスタンス203およびインスタンス205)の入力端子が既使用状態でステップS3により求められた扇形領域A2内に存在しない場合(NOの場合)にはエラーとして処理が中止される。エラーとして処理が中止された場合には、タイミング制約が満足されないレイアウトが出力される。その場合に、θ1をより大きい値に変更して処理を再実行することによって、エラーが生じない可能性もあるが、さらにエラーが生じる場合には、従来技術のように、能力が高いセルを用いるように入力ネットリストを手動により変更したり、フリーズシリコンECOを諦めて金属配線層およびコンタクト層以外の層を修正する必要がある。
さらに、ステップS5において、既使用置換セルインスタンス検知ブロック24によって(セル選択は既使用置換セルインスタンス検知ブロック24で行われ、切断置換は既使用インスタンス置換ブロック25で行われる)検知された、スペアセルのインスタンス211と同一種類のセルのインスタンスの入力端子の中で、スペアセルのインスタンス211の入力端子211aに最も近いインスタンス205の入力端子205aが選択される。このとき、ステップS5で既使用置換セルインスタンス検知ブロック24によって検知された全てのインスタンスの入力端子座標と、置き換え対象スペアセルのインスタンス211の入力端子座標との直線Lの直線距離が算出されて、その距離が最も短い箇所に存在するインスタンスの入力端子座標が検知されて、その入力端子を有するインスタンスが選択される。図9の例では、インスタンス205が該当する。なお、接続対象のインスタンス201の出力端子201bに最も近い、スペアセルのインスタンス211と同一種類のセルのインスタンスの入力端子が選択されるのであれば、図9の例では、インスタンス203が該当する。
さらに、ステップS6で、既使用インスタンス置換ブロック25によって、ステップS5で検知されたインスタンス205が切り離されて、スペアセルのインスタンス211の代わりに接続対象のインスタンス201に接続されて用いられる。また、ステップS6で切断されたインスタンス205の出力端子205bに接続されるインスタンスを例えば別に含み、このインスタンスが論理変更されていないインスタンスである場合には、その論理変更されていないインスタンスの入力端子と、論理変更されていないインスタンスの直前のインスタンス205の出力端子205bとが接続されるように、ネットリスト記憶部13のネットリストが変更される。
例えば、ステップS5で図9に示すインスタンス205が選択された場合、図10に示すように、インスタンス205の入出力端子への接続が全て切断される。その出力端子205bに接続されているインスタンスを別に含み、この別のインスタンスが次に論理的に変更されていないインスタンスであるため、次に論理的に変更されていないインスタンスの直前のインスタンス205の出力端子205bとその別のインスタンスの入力端子とが接続されるため、図11に示すようなネットリストが作成される。図11においては、5列目X5のINVセルの入力および出力が図6の6列目X5に示すn10およびn11からn3およびnx3に変更されている。また、6列目X11のINVセルの入力および出力が図6の2列目X11に示すn3およびnx3から図6の6列目X5に示されていたn10およびn11に変更されている。
一方、変更された論理が複数インスタンスの複合論理であり、ステップS6で切断されたインスタンス205の出力端子205bに接続されているインスタンス206を別に含み、この別のインスタンスが次に論理変更されるインスタンスである場合には、その箇所についても以上と同様の処理を行う必要があるため、その論理変更されるインスタンスの出力端子が、今回の論理変更が加えられている箇所の直前のインスタンス205の出力端子205bとして再設定されて、ステップS1の処理に戻る。
その後、ステップS7では、基準端子座標再設定ブロック26によって、ステップS6により切り離されたインスタンス205の入力端子205aからの適切な位置が、ステップ2のスペアセル方向範囲検知処理における接続対象の適切な位置(中心座標)として再設定されて、ステップS2の処理に戻る。例えば、図10に示すように、出力端子204bと入力端子206aのように、ステップS6により切断されて浮いた状態の端子(スペアセルの変わりにそれと同一種類のセルが用いられて空いた回路部分または配線部分)から、出力端子204bの位置が論理変更が加わえられている箇所の直前のインスタンスの出力端子として再設定される。このステップS7の処理が終了後、ステップS2の処理に移行することによって、タイミング制約満足範囲検知処理により置き換え対象となるスペアセルのインスタンスが検知されるまで、タイミング制約満足範囲検知処理以降の各処理が繰り返されることになる。
さらに、ステップS8では、ステップS4により確認されたスペアセルのインスタンスの端子が接続対象に接続されるように、例えば図13に示すようなネットリストが作成されて、既使用インスタンス置換ブロック25からネットリスト記憶部14に出力される。図13において、2列目X2のNANDセルの入力が図5の2列目X2に示すn3からnnx3に変更されている。また、5列目X5のINVセルの入力および出力が図5の5列目X5に示すn10およびn11からn3およびnx3に変更されている。さらに、9列目X9のINVセルの入力および出力であるn17およびn18が図5の5列目X5に示すn10およびn11に変更されている。さらに、9列目と10列目の間にX11として入力がネットn17に接続され、出力がネットn18に接続されたINVセルが挿入されている。このようなネットリストを用いてフリーズシリコンECOを行うことにより、タイミング制約を全て満足させるように、論理変更を行うことができる。
図14は、本実施形態の半導体集積回路のレイアウト設計方法における他の処理手順例を説明するためのフローチャートである。
ステップS5とステップS9以外は、上記図3に示すフローチャートの場合とその動作が同様であるため、ここではその説明を省略する。
図14に示すように、ステップS5では、既使用置換セルインスタンス検知ブロック25によって、ステップS3により求められた範囲内に、スペアセルのインスタンス211と同一種類のセルのインスタンスの入力端子が既使用状態で存在するか否かという判断が行われる。例えば、図9の例では、インスタンス203およびインスタンス205が該当する。この判断により、スペアセルと同一種類のセルのインスタンスの入力端子が既使用状態でステップS3により求められた範囲内に存在する場合(YESの場合)にはステップS6の処理に移行し、また、スペアセルと同一種類のセルのインスタンスの入力端子が既使用状態でステップS3により求められた範囲内に存在しない場合(NOの場合)にはステップS9の処理に移行する。
次に、ステップS9では、指定されたθ1が90度以下であるかどうかが判定されて、θ1が90度以下の場合にはステップS2のスペアセル方向範囲検知処理に移行して、指定されたθ1が85度以下であればθ1に5度加えて設定し、θ1が85度よりも大きく90度以下であればθ1を90度に設定する。また、ステップS9で、指定されたθ1が90度よりも大きい場合(YESの場合)はエラーとして処理が中止される。エラーとして処理が中止された場合には、タイミング制約が満足されないレイアウトが出力される。この場合には、従来技術のように、能力が高いセルを用いるように入力ネットリストを手動により変更したり、フリーズシリコンECOを諦めて金属配線層およびコンタクト層以外の層を修正する必要がある。
以上のように、本実施形態によれば、レイアウト設計後のマスクパターンに論理変更をフリーズシリコンECOにて行う際に、スペアセル方向範囲検知ブロック22で置き換え対象スペアセルの方向範囲を検知し、その方向範囲の中でタイミング制約満足範囲検知ブロック23でタイミング制約を満足する距離範囲を検知する。このタイミング制約を満足する距離範囲内にスペアセルが存在しない場合に、それと同種類の既使用インスタンスの中で、既使用置換セルインスタンス検知ブロック24でスペアセルまたは接続対象に最も近い箇所に存在するインスタンスを検知し、既使用置換インスタンス置換ブロック25でその検知したインスタンスの両端子を切り離し、スペアセルの代わりに使用する。基準端子座標再設定ブロック26で、切り離された端子箇所(空いた回路部分)を置き換え対象として接続対象を再設定し、各処理を一または複数回繰り返して、タイミング制約を満足させる条件で最終的にスペアセルまで置き換える。
これによって、エラーとならない限り、手作業を介することなく、自動的に、クロック信号に係わるタイミング制約を全て満足させるような条件で最終的に置き換え可能なスペアセルのインスタンスに置き換えを行うことが可能となり、配線層およびコンタクト層について製造工程におけるマスク層を変更するフリーズシリコンECOにより、クロック信号に係わるタイミング制約を満足させるように論理変更を行うことができる。
さらに、本実施形態のレイアウト設計補助システムを用いて生成されたマスクパターンを有するフォトマスクを用いることにより、回路面積を増大させることなく、フリーズシリコンECOによりクロック信号に係わるタイミング制約を満足させるように論理変更が行われた半導体集積回路を製造することができる。
なお、上記実施形態でも説明したが、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、スペアセルによりタイミング制約を満足させることができない場合に、タイミング制約を満足させるような位置範囲にある、スペアセルと同種類の既使用セルの中から、接続対象またはスペアセルに最も近い既使用セルを検出し、スペアセルの代わりに用いた検出既使用セルを新たな接続対象として、新たな接続対象またはスペアセルに最も近い既使用セルを接続する処理を、タイミング制約を満足させるような位置範囲内にスペアセルが現れるまで繰り返し行って、最後にスペアセルを用いるレイアウト設計補助システム部20を有すれば、従来技術のようなスペアセルの配置においても、タイミング制約を満足させるように、フリーズシリコンECOにおける入力ネットリストを自動的に変更させ、そのネットリストを用いてフリーズシリコンECOを行うことができる本発明の目的を達成することができる。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
本発明は、大規模半導体集積回路(LSI)などのレイアウト設計において、論理変更が行われた箇所に対してのみ配置配線処理を行う手法(以下、ECOと呼ぶ)の中でも、レイアウト設計時に、論理変更の際に用いる置き換え用の冗長セル(以下、スペアセルと呼ぶ)を予め配置しておき、その配置素子(以下、インスタンスと呼ぶ)を用いて配線層およびコンタクト層について製造工程におけるマスク層を変更することにより論理変更を行うECO手法(以下、フリーズシリコンECOと呼ぶ)において、設計装置内部で実行される静的タイミング解析によりタイミング制約を満足させることができなかった場合に、タイミング制約が満足されるようにフリーズシリコンECOを行う半導体集積回路のレイアウト設計方法、このレイアウト設計方法に用いる半導体集積回路のレイアウト設計補助システム、このレイアウト設計補助システムが搭載された半導体集積回路の自動レイアウト設計装置、この自動レイアウト設計装置を用いて生成されたマスクパターンを有するフォトマスク、このフォトマスクを製造するフォトマスクの製造方法、フォトマスクを用いて製造された半導体集積回路、フォトマスクを用いて半導体集積回路を製造する半導体集積回路の製造方法、上記半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための制御プログラムおよびこの制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体の分野において、フリーズシリコンECO機能においてタイミング制約が満足されなかった場合に、人手によりネットリスト変更をする必要がある従来技術のような膨大な手間が不要である。また、配線層およびコンタクト層以外の層を修正したり、現状以上に多くのスペアセルのインスタンスを予め配置しておくことなく、高確率でフリーズシリコンECOによってタイミング制約を満足させることができる。自動的にタイミング制約を満足させるようにフリーズシリコンECOを行うことができるため、論理変更における設計期間やマスクコストの増大、人為的ミスの発生、さらには初期設計のチップ面積の増大などを効果的に防ぐことができる。したがって、効率的に動作ミスが少ない半導体装置やその半導体装置が搭載された電子機器を低コストで作製することができて、このフリーズシリコンECOの普及に大いに貢献することができる。
1 自動レイアウト設計装置
2 演算処理装置
20 レイアウト設計補助システム部(レイアウト設計補助コンピュータシステム)
21 スペアセル検知ブロック(スペアセル検知手段)
22 スペアセル方向範囲検知ブロック(スペアセル方向範囲検知手段)
23 タイミング制約満足範囲検知ブロック(タイミング制約満足範囲検知手段)
24 既使用置換セルインスタンス検知ブロック(既使用置換セルインスタンス検知手段)
25 既使用置換インスタンス置換ブロック(既使用置換インスタンス置換手段)
26 基準端子座標再設定ブロック(基準端子座標再設定手段;置換伝播手段)
3 ディスプレイ部
4 キーボード
5 マウス
6 ROM(可読記録媒体)
7 RAM
11 マスクパターンデータベース
12 自動配置配線処理部
13 ネットリスト記憶部
14 インターフェース部
15 静的タイミング解析処理部
201 NORセルの既使用インスタンス
202 NANDセルの既使用インスタンス
203 INVセルの既使用インスタンス
204 NANDセルの既使用インスタンス
205 INVセルの既使用インスタンス
206 NANDセルの既使用インスタンス
207 NORセルの既使用インスタンス
208 INVセルの既使用インスタンス
209 NORセルの既使用インスタンス
210 INVセルの既使用インスタンス
211 INVセルのスペアセルのインスタンス(冗長セル)
A1 スペアセルのインスタンス方向を含む方向範囲
A2 タイミング制約を満足する距離範囲
θ1 スペアセルのインスタンス方向を含む方向の特定範囲に設定される角度
2 演算処理装置
20 レイアウト設計補助システム部(レイアウト設計補助コンピュータシステム)
21 スペアセル検知ブロック(スペアセル検知手段)
22 スペアセル方向範囲検知ブロック(スペアセル方向範囲検知手段)
23 タイミング制約満足範囲検知ブロック(タイミング制約満足範囲検知手段)
24 既使用置換セルインスタンス検知ブロック(既使用置換セルインスタンス検知手段)
25 既使用置換インスタンス置換ブロック(既使用置換インスタンス置換手段)
26 基準端子座標再設定ブロック(基準端子座標再設定手段;置換伝播手段)
3 ディスプレイ部
4 キーボード
5 マウス
6 ROM(可読記録媒体)
7 RAM
11 マスクパターンデータベース
12 自動配置配線処理部
13 ネットリスト記憶部
14 インターフェース部
15 静的タイミング解析処理部
201 NORセルの既使用インスタンス
202 NANDセルの既使用インスタンス
203 INVセルの既使用インスタンス
204 NANDセルの既使用インスタンス
205 INVセルの既使用インスタンス
206 NANDセルの既使用インスタンス
207 NORセルの既使用インスタンス
208 INVセルの既使用インスタンス
209 NORセルの既使用インスタンス
210 INVセルの既使用インスタンス
211 INVセルのスペアセルのインスタンス(冗長セル)
A1 スペアセルのインスタンス方向を含む方向範囲
A2 タイミング制約を満足する距離範囲
θ1 スペアセルのインスタンス方向を含む方向の特定範囲に設定される角度
Claims (60)
- 半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続可能とするレイアウト設計方法において、
レイアウト設計補助コンピュータシステムが、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助ステップを有する半導体集積回路のレイアウト設計方法。 - 前記レイアウト設計補助ステップは、
スペアセル検知手段が、前記接続対象に接続すべき冗長セルを検知するスペアセル検知ステップと、
スペアセル方向範囲検知手段が、該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知ステップと、
タイミング制約満足範囲検知手段が、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知ステップと、
既使用置換セルインスタンス検知手段が、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知ステップと、
既使用インスタンス置換手段が、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換ステップと、
置換伝播手段が、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各ステップを一または複数回繰り返し行わせる置換伝播ステップとを有する請求項1に記載の半導体集積回路のレイアウト設計方法。 - 前記スペアセル検知ステップは、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル検知ステップは、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する請求項2または3に記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル方向範囲検知ステップは、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル方向範囲検知ステップは、前記接続対象と前記冗長セルとの位置関係を検出する際に、回路図情報またはネットリスト上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する請求項5に記載の半導体集積回路のレイアウト設計方法。
- 前記接続対象の所定位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象から該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する請求項2、5および6のいずれかに記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル方向範囲検知ステップは、前記半径として、前記冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とを結ぶ直線の長さをそれぞれの座標から算出する請求項7に記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル方向範囲検知ステップは、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とから三角関数を用いて該冗長セルの方向を角度として算出する請求項7に記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル方向範囲検知ステップは、前記正方向および負方向の所定範囲の角度としてそれぞれ、0度以上180度以下の範囲内の角度をそれぞれ指定する請求項7に記載の半導体集積回路のレイアウト設計方法。
- 前記スペアセル方向範囲検知ステップは、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する請求項7に記載の半導体集積回路のレイアウト設計方法。
- 前記タイミング制約満足範囲検知ステップは、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記タイミング制約満足範囲検知ステップは、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を2点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の2点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルの端子が既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ90度以下の場合に、前記スペアセル方向範囲検知ステップに対して、該角度が85度以下であれば5度加えて指定させ、該角度が85度よりも大きく90度以下であれば90度に指定させる請求項16に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ90度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する請求項16または17に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルの両端子への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されるインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知ステップから該既使用インスタンス置換ステップまでの各処理を行う請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記置換伝播ステップは、前記スペアセル方向範囲検知ステップによる処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換ステップにより置き換えられるインスタンスの位置座標が設定される請求項2に記載の半導体集積回路のレイアウト設計方法。
- 前記置換伝播ステップは、前記既使用インスタンス置換ステップで切り離されたインスタンスを、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う請求項22に記載の半導体集積回路のレイアウト設計方法。
- 前記置換伝播ステップは、前記既使用インスタンス置換ステップで切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う請求項22に記載の半導体集積回路のレイアウト設計方法。
- 前記置換伝播ステップは、前記既使用インスタンス置換ステップで置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う請求項22に記載の半導体集積回路のレイアウト設計方法。
- 半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続制御する半導体集積回路の自動レイアウト設計装置において、
自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助コンピュータシステムを有する半導体集積回路の自動レイアウト設計装置。 - 前記レイアウト設計補助コンピュータシステムは、
前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、
該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、
該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、
該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、
クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有する請求項26に記載の半導体集積回路の自動レイアウト設計装置。 - 前記スペアセル検知手段は、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル検知手段は、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する請求項27または28に記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル方向範囲検知手段は、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル方向範囲検知手段は、前記接続対象と前記冗長セルとの位置関係を検出する際に、回路図情報またはネットリスト上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する請求項30に記載の半導体集積回路の自動レイアウト設計装置。
- 前記接続対象の位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象からの該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する請求項26、30および31のいずれかに記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル方向範囲検知手段は、前記半径として、前記冗長セルの端子座標と前記接続対象の端子座標を結ぶ直線の長さをそれぞれの座標から算出する請求項32に記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル方向範囲検知手段は、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標と前記接続対象の端子座標から三角関数を用いて該冗長セルの方向を角度として算出する請求項32に記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル方向範囲検知手段は、前記正方向および負方向の所定範囲の角度としてそれぞれ、0度以上180度以下の範囲内の角度をそれぞれ指定する請求項32に記載の半導体集積回路の自動レイアウト設計装置。
- 前記スペアセル方向範囲検知手段は、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する請求項32に記載の半導体集積回路の自動レイアウト設計装置。
- 前記タイミング制約満足範囲検知手段は、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記タイミング制約満足範囲検知手段は、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を2点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の2点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ90度以下の場合に、前記スペアセル方向範囲検知手段に対して、該角度が85度以下であれば5度加えて指定させ、該角度が85度よりも大きく90度以下であれば90度に指定させる請求項41に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ90度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する請求項41または42に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルの両端子への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されるインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知手段から該既使用インスタンス置換手段までの各処理を行う請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記置換伝播手段は、前記スペアセル方向範囲検知手段による処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換手段により置き換えられるインスタンスの位置座標が設定される請求項27に記載の半導体集積回路の自動レイアウト設計装置。
- 前記置換伝播手段は、前記既使用インスタンス置換手段で切り離されたインスタンスを、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う請求項47に記載の半導体集積回路の自動レイアウト設計装置。
- 前記置換伝播手段は、前記既使用インスタンス置換手段で切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う請求項47に記載の半導体集積回路の自動レイアウト設計装置。
- 前記置換伝播手段は、前記既使用インスタンス置換手段で置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う請求項47に記載の半導体集積回路の自動レイアウト設計装置。
- 前記レイアウト設計補助コンピュータシステムが搭載された演算処理装置と、該演算処理装置の演算処理に関する画面を表示可能とするディスプレイ部と、該演算処理装置の演算処理に対して操作入力指令を行うための操作入力部とを有する請求項26または27に記載の半導体集積回路の自動レイアウト設計装置。
- クロック信号に係わるタイミング制約を満足させるような条件で最終的に前記冗長セルに置き換えるように、配線層およびコンタクト層について製造工程におけるマスク層のみを変更して、クロック信号に係わるタイミング制約を満足させるように論理変更処理を行う請求項26または27に記載の半導体集積回路の自動レイアウト設計装置。
- マスクパターンデータベースに格納されたマスクパターンと、各セル間の接続関係が記述されたテキストデータであるネットリストとが入力されて、セルの配置および各セル間の配線をレイアウト設計する際の論理変更時に用いる冗長セルが配置された回路図情報またはネットリストを生成する自動配置配線処理部と、
該ネットリストが記憶されたネットリスト記憶部および前記スペアセル方向範囲検知手段への入力パラメータを外部から操作入力可能とされ、該マスクパターンデータベースからマスクパターンデータを外部へ出力可能とするインターフェース部と、
該自動配置配線処理部からの回路図情報またはネットリストを用いて静的タイミング解析を実行し、前記接続対象に接続される配線の長さ当たりの抵抗および容量から遅延値を割り出して前記タイミング制約満足範囲検知手段に供給する静的タイミング解析処理部とを有する請求項27に記載の半導体集積回路の自動レイアウト設計装置。 - コンピュータシステムで構成されており、
前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、
該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、
該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、
該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、
クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有する半導体集積回路のレイアウト設計補助システム。 - 請求項26〜53のいずれかに記載の半導体集積回路の自動レイアウト設計装置を用いて設計されたマスクパターン情報に基づいて作製されたフォトマスク。
- 請求項26〜53のいずれかに記載の半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしてフォトマスクを製造するフォトマスクの製造方法。
- 請求項55に記載のフォトマスクを用いて製造された半導体集積回路。
- 請求項26〜53のいずれかに記載の半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて、半導体基板上または基板に設けられた半導体層上に半導体集積回路を形成する半導体集積回路の製造方法。
- 請求項1〜25のいずれかに記載の半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための各処理手順が記録された制御プログラム。
- 請求項59に記載の制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007164418A JP2009003723A (ja) | 2007-06-21 | 2007-06-21 | 半導体集積回路のレイアウト設計方法、半導体集積回路の自動レイアウト設計装置、半導体集積回路のレイアウト設計補助システム、フォトマスク、フォトマスクの製造方法、半導体集積回路、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007164418A JP2009003723A (ja) | 2007-06-21 | 2007-06-21 | 半導体集積回路のレイアウト設計方法、半導体集積回路の自動レイアウト設計装置、半導体集積回路のレイアウト設計補助システム、フォトマスク、フォトマスクの製造方法、半導体集積回路、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2009003723A true JP2009003723A (ja) | 2009-01-08 |
Family
ID=40320038
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007164418A Withdrawn JP2009003723A (ja) | 2007-06-21 | 2007-06-21 | 半導体集積回路のレイアウト設計方法、半導体集積回路の自動レイアウト設計装置、半導体集積回路のレイアウト設計補助システム、フォトマスク、フォトマスクの製造方法、半導体集積回路、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2009003723A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016130919A (ja) * | 2015-01-13 | 2016-07-21 | 株式会社ソシオネクスト | 半導体装置の設計方法及び半導体装置の製造方法 |
| KR102260150B1 (ko) * | 2021-01-20 | 2021-06-03 | 위더맥스(주) | Eco 작업의 효율성 제고를 위한 예비 셀 로직 회로 구현 및 레이아웃 생성 시스템 및 그 방법 |
| CN114548007A (zh) * | 2020-11-24 | 2022-05-27 | 珠海格力电器股份有限公司 | 一种芯片电路中设置固定电位单元的方法及装置 |
-
2007
- 2007-06-21 JP JP2007164418A patent/JP2009003723A/ja not_active Withdrawn
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016130919A (ja) * | 2015-01-13 | 2016-07-21 | 株式会社ソシオネクスト | 半導体装置の設計方法及び半導体装置の製造方法 |
| CN114548007A (zh) * | 2020-11-24 | 2022-05-27 | 珠海格力电器股份有限公司 | 一种芯片电路中设置固定电位单元的方法及装置 |
| KR102260150B1 (ko) * | 2021-01-20 | 2021-06-03 | 위더맥스(주) | Eco 작업의 효율성 제고를 위한 예비 셀 로직 회로 구현 및 레이아웃 생성 시스템 및 그 방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101669121B (zh) | 增量式布局分析 | |
| CN101542488A (zh) | 电子设计自动化中的属性 | |
| US8572533B2 (en) | Waiving density violations | |
| JP2004502259A (ja) | 階層型金属末端、包囲、および曝露をチェックする方法およびシステム | |
| KR102458359B1 (ko) | 적응적 메탈 필을 이용한 레이아웃 설계 방법 및 이에 기반하여 제조되는 반도체 장치 | |
| US9965579B2 (en) | Method for designing and manufacturing an integrated circuit, system for carrying out the method, and system for verifying an integrated circuit | |
| US8281269B2 (en) | Method of semiconductor integrated circuit device and program | |
| CN109074412B (zh) | 使用自动焊接和自动克隆的电路中的连接的交互式布线 | |
| US9262574B2 (en) | Voltage-related analysis of layout design data | |
| CN114117990A (zh) | 用于电容提取的系统和方法以及计算机可读存储介质 | |
| US10360331B2 (en) | Scoped simulation for electrostatic discharge protection verification | |
| JP2009003723A (ja) | 半導体集積回路のレイアウト設計方法、半導体集積回路の自動レイアウト設計装置、半導体集積回路のレイアウト設計補助システム、フォトマスク、フォトマスクの製造方法、半導体集積回路、半導体集積回路の製造方法、制御プログラムおよび可読記憶媒体 | |
| JP2018109884A (ja) | 設計支援装置、設計支援方法、および設計支援プログラム | |
| US20130132917A1 (en) | Pattern Matching Hints | |
| US7926005B1 (en) | Pattern-driven routing | |
| JP2006155524A (ja) | 半導体集積回路の検証方法、検証装置および検証プログラム | |
| US10372870B2 (en) | Homotopy optimized parasitic extraction | |
| US11387144B2 (en) | Semiconductor device and method of manufacturing the same | |
| JP4668974B2 (ja) | 半導体装置の設計方法、半導体装置設計システム及びコンピュータプログラム | |
| US20110119544A1 (en) | User Guided Short Correction And Schematic Fix Visualization | |
| US20120192134A1 (en) | User Guided Short Correction And Schematic Fix Visualization | |
| US20240411973A1 (en) | Circuit layout checking method and circuit layout checking system | |
| US9026974B2 (en) | Semiconductor integrated circuit partitioning and timing | |
| US20080141197A1 (en) | Semiconductor device design method, semiconductor device design system, and computer program | |
| JP5246244B2 (ja) | 集積回路設計装置、集積回路設計方法、及び集積回路設計用プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100907 |