(57)【要約】【課題】マスクレイアウトの論理変更において、タイミング制約を満足させるようにフリーズシリコンＥＣＯを行う。【解決手段】スペアセル方向範囲検知ブロック２２で置き換え対象スペアセルの方向範囲を検知し、その方向範囲の中でタイミング制約満足範囲検知ブロック２３でタイミング制約を満足する距離範囲を検知する。このタイミング制約を満足する距離範囲内にスペアセルが存在しない場合に、それと同種類の既使用インスタンスの中で、既使用置換セルインスタンス検知ブロック２４でスペアセルまたは接続対象に最も近い箇所に存在するインスタンスを検知し、既使用置換インスタンス置換ブロック２５でその検知したインスタンスの両端子を切り離し、スペアセルの代わりに使用する。基準端子座標再設定ブロック２６で、切り離された端子箇所（空いた回路部分）を置き換え対象として接続対象を再設定し、各処理を一または複数回繰り返す。【選択図】図１
2009003723.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続可能とするレイアウト設計方法において、
レイアウト設計補助コンピュータシステムが、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助ステップを有する半導体集積回路のレイアウト設計方法。
【請求項２】
前記レイアウト設計補助ステップは、
スペアセル検知手段が、前記接続対象に接続すべき冗長セルを検知するスペアセル検知ステップと、
スペアセル方向範囲検知手段が、該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知ステップと、
タイミング制約満足範囲検知手段が、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知ステップと、
既使用置換セルインスタンス検知手段が、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知ステップと、
既使用インスタンス置換手段が、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換ステップと、
置換伝播手段が、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各ステップを一または複数回繰り返し行わせる置換伝播ステップとを有する請求項１に記載の半導体集積回路のレイアウト設計方法。
【請求項３】
前記スペアセル検知ステップは、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項４】
前記スペアセル検知ステップは、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する請求項２または３に記載の半導体集積回路のレイアウト設計方法。
【請求項５】
前記スペアセル方向範囲検知ステップは、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項６】
前記スペアセル方向範囲検知ステップは、前記接続対象と前記冗長セルとの位置関係を検出する際に、回路図情報またはネットリスト上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する請求項５に記載の半導体集積回路のレイアウト設計方法。
【請求項７】
前記接続対象の所定位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象から該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する請求項２、５および６のいずれかに記載の半導体集積回路のレイアウト設計方法。
【請求項８】
前記スペアセル方向範囲検知ステップは、前記半径として、前記冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とを結ぶ直線の長さをそれぞれの座標から算出する請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項９】
前記スペアセル方向範囲検知ステップは、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とから三角関数を用いて該冗長セルの方向を角度として算出する請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項１０】
前記スペアセル方向範囲検知ステップは、前記正方向および負方向の所定範囲の角度としてそれぞれ、０度以上１８０度以下の範囲内の角度をそれぞれ指定する請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項１１】
前記スペアセル方向範囲検知ステップは、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する請求項７に記載の半導体集積回路のレイアウト設計方法。
【請求項１２】
前記タイミング制約満足範囲検知ステップは、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項１３】
前記タイミング制約満足範囲検知ステップは、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を２点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の２点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項１４】
前記既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項１５】
前記既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項１６】
前記既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルの端子が既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項１７】
前記既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ９０度以下の場合に、前記スペアセル方向範囲検知ステップに対して、該角度が８５度以下であれば５度加えて指定させ、該角度が８５度よりも大きく９０度以下であれば９０度に指定させる請求項１６に記載の半導体集積回路のレイアウト設計方法。
【請求項１８】
前記既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ９０度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する請求項１６または１７に記載の半導体集積回路のレイアウト設計方法。
【請求項１９】
前記既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルの両端子への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項２０】
前記既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項２１】
前記既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されるインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知ステップから該既使用インスタンス置換ステップまでの各処理を行う請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項２２】
前記置換伝播ステップは、前記スペアセル方向範囲検知ステップによる処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換ステップにより置き換えられるインスタンスの位置座標が設定される請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項２３】
前記置換伝播ステップは、前記既使用インスタンス置換ステップで切り離されたインスタンスを、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う請求項２２に記載の半導体集積回路のレイアウト設計方法。
【請求項２４】
前記置換伝播ステップは、前記既使用インスタンス置換ステップで切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う請求項２２に記載の半導体集積回路のレイアウト設計方法。
【請求項２５】
前記置換伝播ステップは、前記既使用インスタンス置換ステップで置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う請求項２２に記載の半導体集積回路のレイアウト設計方法。
【請求項２６】
半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続制御する半導体集積回路の自動レイアウト設計装置において、
自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助コンピュータシステムを有する半導体集積回路の自動レイアウト設計装置。
【請求項２７】
前記レイアウト設計補助コンピュータシステムは、
前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、
該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、
該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、
該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、
クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有する請求項２６に記載の半導体集積回路の自動レイアウト設計装置。
【請求項２８】
前記スペアセル検知手段は、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項２９】
前記スペアセル検知手段は、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する請求項２７または２８に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３０】
前記スペアセル方向範囲検知手段は、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３１】
前記スペアセル方向範囲検知手段は、前記接続対象と前記冗長セルとの位置関係を検出する際に、回路図情報またはネットリスト上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する請求項３０に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３２】
前記接続対象の位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象からの該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する請求項２６、３０および３１のいずれかに記載の半導体集積回路の自動レイアウト設計装置。
【請求項３３】
前記スペアセル方向範囲検知手段は、前記半径として、前記冗長セルの端子座標と前記接続対象の端子座標を結ぶ直線の長さをそれぞれの座標から算出する請求項３２に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３４】
前記スペアセル方向範囲検知手段は、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標と前記接続対象の端子座標から三角関数を用いて該冗長セルの方向を角度として算出する請求項３２に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３５】
前記スペアセル方向範囲検知手段は、前記正方向および負方向の所定範囲の角度としてそれぞれ、０度以上１８０度以下の範囲内の角度をそれぞれ指定する請求項３２に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３６】
前記スペアセル方向範囲検知手段は、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する請求項３２に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３７】
前記タイミング制約満足範囲検知手段は、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３８】
前記タイミング制約満足範囲検知手段は、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を２点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の２点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項３９】
前記既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４０】
前記既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４１】
前記既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４２】
前記既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ９０度以下の場合に、前記スペアセル方向範囲検知手段に対して、該角度が８５度以下であれば５度加えて指定させ、該角度が８５度よりも大きく９０度以下であれば９０度に指定させる請求項４１に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４３】
前記既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ９０度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する請求項４１または４２に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４４】
前記既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルの両端子への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４５】
前記既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４６】
前記既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されるインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知手段から該既使用インスタンス置換手段までの各処理を行う請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４７】
前記置換伝播手段は、前記スペアセル方向範囲検知手段による処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換手段により置き換えられるインスタンスの位置座標が設定される請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４８】
前記置換伝播手段は、前記既使用インスタンス置換手段で切り離されたインスタンスを、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う請求項４７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項４９】
前記置換伝播手段は、前記既使用インスタンス置換手段で切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う請求項４７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項５０】
前記置換伝播手段は、前記既使用インスタンス置換手段で置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う請求項４７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項５１】
前記レイアウト設計補助コンピュータシステムが搭載された演算処理装置と、該演算処理装置の演算処理に関する画面を表示可能とするディスプレイ部と、該演算処理装置の演算処理に対して操作入力指令を行うための操作入力部とを有する請求項２６または２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項５２】
クロック信号に係わるタイミング制約を満足させるような条件で最終的に前記冗長セルに置き換えるように、配線層およびコンタクト層について製造工程におけるマスク層のみを変更して、クロック信号に係わるタイミング制約を満足させるように論理変更処理を行う請求項２６または２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項５３】
マスクパターンデータベースに格納されたマスクパターンと、各セル間の接続関係が記述されたテキストデータであるネットリストとが入力されて、セルの配置および各セル間の配線をレイアウト設計する際の論理変更時に用いる冗長セルが配置された回路図情報またはネットリストを生成する自動配置配線処理部と、
該ネットリストが記憶されたネットリスト記憶部および前記スペアセル方向範囲検知手段への入力パラメータを外部から操作入力可能とされ、該マスクパターンデータベースからマスクパターンデータを外部へ出力可能とするインターフェース部と、
該自動配置配線処理部からの回路図情報またはネットリストを用いて静的タイミング解析を実行し、前記接続対象に接続される配線の長さ当たりの抵抗および容量から遅延値を割り出して前記タイミング制約満足範囲検知手段に供給する静的タイミング解析処理部とを有する請求項２７に記載の半導体集積回路の自動レイアウト設計装置。
【請求項５４】
コンピュータシステムで構成されており、
前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、
該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、
該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、
該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、
クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有する半導体集積回路のレイアウト設計補助システム。
【請求項５５】
請求項２６〜５３のいずれかに記載の半導体集積回路の自動レイアウト設計装置を用いて設計されたマスクパターン情報に基づいて作製されたフォトマスク。
【請求項５６】
請求項２６〜５３のいずれかに記載の半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしてフォトマスクを製造するフォトマスクの製造方法。
【請求項５７】
請求項５５に記載のフォトマスクを用いて製造された半導体集積回路。
【請求項５８】
請求項２６〜５３のいずれかに記載の半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて、半導体基板上または基板に設けられた半導体層上に半導体集積回路を形成する半導体集積回路の製造方法。
【請求項５９】
請求項１〜２５のいずれかに記載の半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための各処理手順が記録された制御プログラム。
【請求項６０】
請求項５９に記載の制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大規模半導体集積回路（ＬＳＩ）などのレイアウト設計において、論理変更が行われた箇所に対してのみ配置配線処理を行う手法（以下、ＥＣＯと呼ぶ）の中でも、レイアウト設計時に、論理変更の際に用いる置き換え用の冗長セル（以下、スペアセルと呼ぶ）を予め配置しておき、その配置素子（以下、インスタンスと呼ぶ）を用いて配線層およびコンタクト層について製造工程におけるマスク層を変更することにより論理変更を行うＥＣＯ手法（以下、フリーズシリコンＥＣＯと呼ぶ）において、設計装置内部で実行される静的タイミング解析によりタイミング制約を満足させることができなかった場合に、タイミング制約が満足されるようにフリーズシリコンＥＣＯを行う半導体集積回路のレイアウト設計方法、このレイアウト設計方法に用いる半導体集積回路のレイアウト設計補助システム、このレイアウト設計補助システムが搭載された半導体集積回路の自動レイアウト設計装置、この自動レイアウト設計装置を用いて生成されたマスクパターンを有するフォトマスク、このフォトマスクを製造するフォトマスクの製造方法、フォトマスクを用いて製造された半導体集積回路、フォトマスクを用いて半導体集積回路を製造する半導体集積回路の製造方法、上記半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための制御プログラムおよびこの制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体に関する。
【背景技術】
【０００２】
この種の半導体集積回路（以下、ＬＳＩという）のレイアウト設計に用いられるフリーズシリコンＥＣＯにおいて、例えば特許文献１に開示されているように、スペアセル（特許文献１内では回路変更用論理素子と呼ばれている）を用意するということが一般的に行われているが、通常、その使用に関しては、タイミング制約は考慮されていない。
【０００３】
例えば、特許文献１においては、図１５に示すように、実際の論理演算のために使用されている論理素子１０１の他に、回路変更用論理素子１０２を各スタンダードセルの列に配置し、コンタクト部１０３を用いて電源ライン１０４に各端子を接続させるという方法が記載されているが、そのスペアセルを使用する際にスペアセルを選択する方法やタイミング制約に関しては記載されていない。
【０００４】
また、例えば特許文献２においては、図１６に示すように、既存の論理素子１１１、１１２、１１３および１１４を用いた論理回路と組み合わせるようにスペアセル（特許文献２内ではダミー素子と呼ばれている）１１２ａおよび１１４ａを配置することによって、スペアセルを分散して配置させるという方法が記載されている。この方法では、論理変更を行う際にタイミング制約を満足させるような範囲でスペアセルが存在する可能性を高めることが可能であるが、それでも、タイミング制約を満足させないような論理変更が行われてしまうことが全く無いという保証はなく、特許文献１の場合と同様にスペアセルを選択する方法やタイミング制約に関しては記載されていない。
【０００５】
現在、フリーズシリコンＥＣＯ機能が実現されているＣＡＤツールの一つであるＳｙｎｏｐｓｙｓ社の「Ａｓｔｒｏ；アストロ」というソフトウェアでは、論理変更された入力ネットリスト（素子間の接続関係などを記述したテキストデータ）が読み込まれると、後述する図５に示すような現状のレイアウトのネットリストと、後述する図６に示すようなフリーズシリコンＥＣＯの入力ネットリストとの差異が検知される。
【０００６】
後述する図５および図７に示すように、１列目Ｘ１はＮＯＲセル２０１の入力がネットｎ１とｎ２に接続され、出力がネットｎ３に接続されている。また、２列目Ｘ２はＮＡＮＤセル２０２の入力がネットｎ３とｎ４に接続され、出力がネットｎ５に接続されている。さらに、３列目Ｘ３はＩＮＶセル２０３の入力がネットｎ６に接続され、その出力がネットｎ７に接続されている。さらに、４列目Ｘ４はＮＡＮＤセル２０４の入力がネットｎ８とｎ９に接続され、その出力がネットｎ１０に接続されている。さらに、５列目Ｘ５はＩＮＶセル２０５の入力がネットｎ１０に接続され、その出力がネットｎ１１に接続されている。さらに、６列目Ｘ６はＩＮＶセル２０８の入力がネットｎ１２に接続され、その出力がネットｎ１３に接続されている。さらに、７列目Ｘ７はＮＡＮＤセル２０６の入力がネットｎ１１とｎ１３に接続され、その出力がネットｎ１４に接続されている。さらに、８列目Ｘ８はＮＯＲセル２０９の入力がネットｎ１５とｎ１６に接続され、その出力がネットｎ１７に接続されている。さらに、９列目Ｘ９はＩＮＶセル２１０の入力がネットｎ１７に接続され、その出力がネットｎ１８に接続されている。さらに、１０列目Ｘ１０はＮＯＲセル２０７の入力がネットｎ１４とｎ１８に接続され、その出力がネットｎ１９に接続されている。
【０００７】
したがって、図５の１列目のＮＯＲセル２０１の出力端子２０１ｂと２行目のＮＡＮＤセル２０２の入力端子２０２ａがネットｎ３を介して接続され、４列目のＮＡＮＤセル２０４の出力端子２０４ｂと５列目のＩＮＶセル２０５の入力端子２０５ａがネットｎ１０を介して接続され、６列目のＩＮＶセル２０８の出力端子２０８ｂと７列目のＮＡＮＤセル２０６の入力端子２０６ａがネットｎ１３を介して接続され、８列目のＮＯＲセル２０９の出力端子２０９ｂと９列目のＩＮＶセル２１０の入力端子２１０ａがネットｎ１７を介して接続され、９列目のＩＮＶセル２１０の出力端子２１０ｂと１０列目のＮＯＲセル２０７の入力端子２０７ａとがネットｎ１８を介して接続されていることが分かる。
【０００８】
これに対して、図６では、１列目Ｘ１と２列目Ｘ２の間にＸ１１が挿入されて、Ｘ１１のＩＮＶセル２１１の入力がネットｎ３に接続され、その出力がネットｎｘ３に接続されている。また、Ｘ２のＮＡＮＤセル２０２の入力がネットｎｘ３に接続されている。したがって、１列目Ｘ１のＮＯＲセル２０１の出力端子２０１ｂと２行目Ｘ１１のＩＮＶセル２１１の入力端子２１１ａがネットｎ３を介して接続され、２列目Ｘ１１のＩＮＶセル２１１の出力端子２１１ｂと３列目Ｘ２のＮＡＮＤセル２０２の入力端子２０２ａがネットｎｘ３を介して接続されていることが分かる。
【０００９】
要するに、ＣＡＤベンダー各社の自動レイアウトツールにおける、メタル以降のレイヤのみを変更して論理変更を行うフリーズシリコンＥＣＯ機能では、予め論理変更の際に入れ替えを行うために冗長に配置されたスペアセルのみを対象としてする。例えば、図１７に示すように、配置されているスペアセルの中で、使用したいセルが近くになかった場合、遠くのスペアセルを使いに行かざるを得ず、クロック信号に係るタイミング制約を満足できる修正が不可能なケースも存在している。
【００１０】
図７において、検出されたインスタンス（図６ではＸ１１のインスタンスが相当）を変更するためには、その検出されたインスタンスから最も近くに存在するスペアセルのインスタンスが使用されるようになっている。しかしながら、その結果として得られるレイアウトがタイミング制約を満足させていなかったとしても、そのタイミング制約を満足させるために何か特別な処理が為されるということはない。
【００１１】
フリーズシリコンＥＣＯ実施後のレイアウトにおいて、タイミング制約を満足させることができなかった場合には、設計者が手作業によりフリーズシリコンＥＣＯの入力ネットリストを変更することによって、より能力が高いスペアセルのインスタンスを用いてタイミング制約を調整したり、近くに存在するスペアセルのインスタンスのみを用いるように論理の組み替えを行ったりしている。しかしながら、いずれの手法を用いても、人手による多大な労力が必要とされることになる。また、その場合、使用素子数が増加し、消費電力も増加することになり、さらに、複雑な作業を人手で行うことによる設計期間の増長や人為的ミスを招くことにもなり兼ねない。さらに、フリーズシリコンＥＣＯ機能を行わずに金属配線層およびコンタクト層以外の層を変更するということも考えられるが、その場合には、金属配線層およびコンタクト層以外の層を製造する工程においてマスクを再作成するためのコストが余分にかかる。
【００１２】
さらに、スペアセルのインスタンスを使用して、特許文献２により得られる以上の効果によりタイミング制約を高確率で満足させようとする場合、予め従来よりも多くのスペアセルのインスタンスをレイアウト上に配置しておくという解決方法も考えられる。しかしながら、現状では、使用セルのインスタンスに対するスペアセルのインスタンスの割合は、経験上、使用セルのインスタンスのみを配置した場合と比べて、チップ面積を増大させずにスペアセルのインスタンスを配置可能な範囲内という割合になっており、スペアセルのインスタンスを現在以上に配置するということは、即ち、チップ面積を増大させるということにつながる。チップ面積の増大は、ウェハに形成されるチップ数の減少につながり、１チップ当たりのコスト増大につながる。
【特許文献１】特開平２−７５４２号公報
【特許文献２】特開２００３−１３２１１０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記従来技術には、以下のような問題がある。
【００１４】
上述したように、従来技術では、特許文献１や特許文献２に開示されているか、もしくは既に製品化されているソフトウェアの機能としてのフリーズシリコンＥＣＯを行う際に、タイミング制約が満足されなかった場合に、そのままタイミング制約が満足されていないレイアウトが出力されてしまう。このため、人手によりフリーズシリコンＥＣＯの入力ネットリストを変更してフリーズシリコンＥＣＯを再実行することになる。したがって、これらの従来技術では、消費電力が増加し、設計期間が長大化し、さらに人為的な設計作業ミスを誘発することも懸念される。
【００１５】
また、フリーズシリコンＥＣＯ機能を行わず、金属配線層およびコンタクト層以外の層を変更する場合、マスクコストが増大するという問題がある。
【００１６】
さらに、特許文献１や特許文献２に開示されているようなスペアセルのインスタンスを、現状よりも多く配置しておく場合、実際に回路で使用しているセル数のおよそ１割程度をスペアセルとして配置しているのが現状であり、これではチップ面積が増大するため、チップのコストが増大し、さらに、フリーズシリコンＥＣＯ機能を行う際にタイミング制約が満足されない虞も残される。
【００１７】
本発明は、上記従来の問題を解決するもので、従来技術のようなスペアセルの配置においても、タイミング制約を満足させるように、フリーズシリコンＥＣＯにおける入力ネットリストを自動的に変更させ、そのネットリストを用いてフリーズシリコンＥＣＯを行うことができる半導体集積回路のレイアウト設計方法、これを用いた半導体集積回路の自動レイアウト設計装置、これに用いる半導体集積回路のレイアウト設計補助システム、この自動レイアウト設計装置を用いて製造されたフォトマスク、この自動レイアウト設計装置を用いたフォトマスクの製造方法、このフォトマスクを用いて製造された半導体集積回路、このフォトマスクを用いた半導体集積回路の製造方法、この半導体集積回路のレイアウト設計方法をコンピュータに実行させるための制御プログラムおよびこの制御プログラムが記録されたコンピュータ読み取り可能な可読記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の半導体集積回路のレイアウト設計方法は、半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続可能とするレイアウト設計方法において、レイアウト設計補助コンピュータシステムが、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助ステップを有するものであり、そのことにより上記目的が達成される。
【００１９】
また、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるレイアウト設計補助ステップは、スペアセル検知手段が、前記接続対象に接続すべき冗長セルを検知するスペアセル検知ステップと、スペアセル方向範囲検知手段が、該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知ステップと、タイミング制約満足範囲検知手段が、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知ステップと、既使用置換セルインスタンス検知手段が、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知ステップと、既使用インスタンス置換手段が、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換ステップと、置換伝播手段が、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各ステップを一または複数回繰り返し行わせる置換伝播ステップとを有する。
【００２０】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル検知ステップは、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する。
【００２１】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル検知ステップは、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する。
【００２２】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する。
【００２３】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記接続対象と前記冗長セルとの位置関係を検出する際に、ネットリストまたは回路図情報上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する。
【００２４】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記半径として、前記冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とを結ぶ直線の長さをそれぞれの座標から算出する。
【００２５】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における接続対象の所定位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象から該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する。
【００２６】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標とこれに接続されるべき前記接続対象の端子座標とから三角関数を用いて該冗長セルの方向を角度として算出する。
【００２７】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記正方向および負方向の所定範囲の角度としてそれぞれ、０度以上１８０度以下の範囲内の角度をそれぞれ指定する。
【００２８】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるスペアセル方向範囲検知ステップは、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する。
【００２９】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるタイミング制約満足範囲検知ステップは、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する。
【００３０】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法におけるタイミング制約満足範囲検知ステップは、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を２点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の２点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する。
【００３１】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する。
【００３２】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する。
【００３３】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記タイミング制約満足範囲検知ステップで検知された距離範囲に前記冗長セルと同種類のセルの端子が既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる。
【００３４】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ９０度以下の場合に、前記スペアセル方向範囲検知ステップに対して、該角度が８５度以下であれば５度加えて指定させ、該角度が８５度よりも大きく９０度以下であれば９０度に指定させる。
【００３５】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用置換セルインスタンス検知ステップは、前記正方向および負方向に指定された角度がそれぞれ９０度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する。
【００３６】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルの両端子（例えばインバータの入出力端子や、２入力ゲートの２入力端子または、２入力ゲートの２入力端子および出力端子などの場合を含む）への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する。
【００３７】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する。
【００３８】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における既使用インスタンス置換ステップは、前記既使用置換セルインスタンス検知ステップで検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されるインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知ステップから該既使用インスタンス置換ステップまでの各処理を行う。
【００３９】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記スペアセル方向範囲検知ステップによる処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換ステップにより置き換えられるインスタンスの位置座標が設定される。
【００４０】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記既使用インスタンス置換ステップで切り離されたインスタンスを、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う。
【００４１】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記既使用インスタンス置換ステップで切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う。
【００４２】
さらに、好ましくは、本発明の半導体集積回路のレイアウト設計方法における置換伝播ステップは、前記既使用インスタンス置換ステップで置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知ステップにおける新たな接続対象として再設定し、前記タイミング制約満足範囲検知ステップで前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知ステップから該既使用インスタンス置換ステップまでの各ステップの処理を繰り返し行う。
【００４３】
本発明の半導体集積回路の自動レイアウト設計装置は、半導体集積回路の自動レイアウト設計後に、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行うために、セルのレイアウト設計時に、論理変更時に用いる冗長セルを予め配置しておき、該冗長セルを接続対象に接続制御する半導体集積回路の自動レイアウト設計装置において、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、該冗長セルによりタイミング制約を満足させることができない場合に、該タイミング制約を満足させるような位置範囲にある、該冗長セルと同種類の既使用セルの中から、該接続対象または該冗長セルに最も近い既使用セルを検出し、該冗長セルの代わりに用いた検出既使用セルを新たな接続対象として、当該新たな接続対象または該冗長セルに最も近い既使用セルを接続する処理を、該タイミング制約を満足させるような位置範囲内に該冗長セルが現れるまで繰り返し行って、最後に該冗長セルを用いるレイアウト設計補助コンピュータシステムを有するものであり、そのことにより上記目的が達成される。
【００４４】
また、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるレイアウト設計補助コンピュータシステムは、前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有する。
【００４５】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル検知手段は、前記接続対象からの直線距離が最も近い箇所に存在する冗長セルを検知する。
【００４６】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル検知手段は、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて前記接続対象に接続されるべき冗長セルを検知する。
【００４７】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記方向範囲を、前記接続対象と前記冗長セルとの位置関係として検出する。
【００４８】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記接続対象と前記冗長セルとの位置関係を検出する際に、ネットリストまたは回路図情報上で、該冗長セルの端子と該接続対象の端子との間の関係を検出する。
【００４９】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における接続対象の位置を中心として、該冗長セルと該接続対象とを結ぶ直線距離を半径とし、該接続対象からの該冗長セルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度を指定してその合計を中心角とし、該冗長セル側を円弧側として、前記方向範囲を、該半径を有する扇形領域として算出する。
【００５０】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記半径として、前記冗長セルの端子座標と前記接続対象の端子座標を結ぶ直線の長さをそれぞれの座標から算出する。
【００５１】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記接続対象から前記冗長セルへの方向を、該冗長セルの端子座標と前記接続対象の端子座標から三角関数を用いて該冗長セルの方向を角度として算出する。
【００５２】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記正方向および負方向の所定範囲の角度としてそれぞれ、０度以上１８０度以下の範囲内の角度をそれぞれ指定する。
【００５３】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるスペアセル方向範囲検知手段は、前記扇形領域を図形演算処理により検出する際に、前記接続対象の中心座標を通る一次方程式の直線と、該中心座標を通る他の一次方程式の直線に挟まれた前記中心角の領域から、該中心座標からの距離が前記半径の値よりも小さい領域を検出する。
【００５４】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるタイミング制約満足範囲検知手段は、前記接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる該接続対象からの距離範囲を算出し、前記検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する。
【００５５】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置におけるタイミング制約満足範囲検知手段は、元の回路図に対して静的タイミング解析を実行することにより、前記接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、該余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、該接続対象と前記冗長セルの各座標の差の絶対値の総和を２点間の距離とするマンハッタン距離により算出後、該各座標の始点および終点の２点間の直線距離を算出し、算出された直線距離を前記中心からの距離として前記扇形領域内部の範囲を検知する。
【００５６】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に存在する、前記冗長セルと同種類のセルを全て探知し、それぞれの端子座標について前記接続対象の端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い該同種類のセルの端子座標を検知する。
【００５７】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知した距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理として既使用置換セルインスタンス検知処理を中止する。
【００５８】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記タイミング制約満足範囲検知手段で検知された距離範囲に前記冗長セルと同種類のセルが既に使用された状態で存在しなかった場合に、前記正方向および負方向の所定範囲の角度として指定される角度をより大きい値に変更して該距離範囲を広げる。
【００５９】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ９０度以下の場合に、前記スペアセル方向範囲検知手段に対して、該角度が８５度以下であれば５度加えて指定させ、該角度が８５度よりも大きく９０度以下であれば９０度に指定させる。
【００６０】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用置換セルインスタンス検知手段は、前記正方向および負方向に指定された角度がそれぞれ９０度よりも大きい場合にエラー処理として既使用置換セルインスタンス検知処理を中止処理する。
【００６１】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルの両端子（例えばインバータの入出力端子や、２入力ゲートの２入力端子または、２入力ゲートの２入力端子および出力端子などの場合を含む）への配線を切り離し、該切り離したセルの端子と、前記接続対象の端子とを配線により接続するように、自動配置配線処理に用いられるネットリストを変更する。
【００６２】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されないインスタンスを含む場合には、該次に論理変更されないインスタンスの直前のインスタンスの出力端子と該次に論理変更されないインスタンスの入力端子が接続されるように、自動配置配線処理に用いられるネットリストを変更する。
【００６３】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における既使用インスタンス置換手段は、前記既使用置換セルインスタンス検知手段で検知したセルのインスタンスとして次に論理変更されるインスタンスを含む場合には、該次に論理変更されたインスタンスの出力端子を、今回の論理変更が加えられる箇所の直前のインスタンスの出力端子として再設定して、前記スペアセル検知手段から該既使用インスタンス置換手段までの各処理を行う。
【００６４】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記スペアセル方向範囲検知手段による処理の際に方向を求める基準となる座標として、前記既使用インスタンス置換手段により置き換えられるインスタンスの位置座標が設定される。
【００６５】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記既使用インスタンス置換手段で切り離されたインスタンスを、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う。
【００６６】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記既使用インスタンス置換手段で切り離される直前のインスタンスの端子座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う。
【００６７】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置における置換伝播手段は、前記既使用インスタンス置換手段で置き換えられて空いた回路部分の座標を、前記スペアセル方向範囲検知手段における新たな接続対象として再設定し、前記タイミング制約満足範囲検知手段で前記冗長セルのインスタンスが検知されるまで、一または複数回、該スペアセル方向範囲検知手段から該既使用インスタンス置換手段までの各処理を繰り返し行う。
【００６８】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置において、前記レイアウト設計補助コンピュータシステムが搭載された演算処理装置と、該演算処理装置の演算処理に関する画面を表示可能とするディスプレイ部と、該演算処理装置の演算処理に対して操作入力指令を行うための操作入力部とを有する。
【００６９】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置において、クロック信号に係わるタイミング制約を満足させるような条件で最終的に前記冗長セルに置き換えるように、配線層およびコンタクト層について製造工程におけるマスク層のみを変更して、クロック信号に係わるタイミング制約を満足させるように論理変更処理を行う。
【００７０】
さらに、好ましくは、本発明の半導体集積回路の自動レイアウト設計装置において、マスクパターンデータベースに格納されたマスクパターンと、各セル間の接続関係が記述されたテキストデータであるネットリストとが入力されて、セルの配置および各セル間の配線をレイアウト設計する際の論理変更時に用いる冗長セルが配置された回路図情報またはネットリスト（概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト）を生成する自動配置配線処理部と、該ネットリストが記憶されたネットリスト記憶部および前記スペアセル方向範囲検知手段への入力パラメータを外部から操作入力可能とされ、該マスクパターンデータベースからマスクパターンデータを外部へ出力可能とするインターフェース部と、該自動配置配線処理部からの回路図情報またはネットリスト（概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト）を用いて静的タイミング解析を実行し、前記接続対象に接続される配線の長さ当たりの抵抗および容量から遅延値を割り出して前記タイミング制約満足範囲検知手段に供給する静的タイミング解析処理部とをさらに有する。
【００７１】
本発明の半導体集積回路のレイアウト設計補助システムは、コンピュータシステムで構成されており、前記接続対象に接続すべき冗長セルを検知するスペアセル検知手段と、
該接続対象の位置から該冗長セルの方向を含む方向範囲を検知するスペアセル方向範囲検知手段と、該検知された方向範囲の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲を検知するタイミング制約満足範囲検知手段と、該検知された距離範囲に該冗長セルが存在しない場合に、回路中に組み込まれて既に存在する、該冗長セルと同種類のセルの中から、該距離範囲内の該接続対象または該冗長セルから最も近いセルを検知する既使用置換セルインスタンス検知手段と、該検知されたセルを切り離して該接続対象に接続する既使用インスタンス置換手段と、クロック信号に係わるタイミング制約を満足させるように最終的に該冗長セルに置き換えを行うまで各処理を一または複数回繰り返し行わせる置換伝播手段とを有するものであり、そのことにより上記目的が達成される。
【００７２】
本発明のフォトマスクは、本発明の上記半導体集積回路の自動レイアウト設計装置を用いて設計されたマスクパターン情報に基づいて作製されたものであり、そのことにより上記目的が達成される。
【００７３】
本発明のフォトマスクの製造方法は、本発明の上記半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしてフォトマスクを製造するものであり、そのことにより上記目的が達成される。
【００７４】
本発明の半導体集積回路は、本発明の上記フォトマスクを用いて製造されたものであり、そのことにより上記目的が達成される。
【００７５】
本発明の半導体集積回路の製造方法は、本発明の上記半導体集積回路の自動レイアウト設計装置によりフォトマスクパターンを設計し、この設計情報によりパターニングしたレジストパターンを用いて、半導体基板上または基板に設けられた半導体層上に半導体集積回路を形成するものであり、そのことにより上記目的が達成される。
【００７６】
本発明の制御プログラムは、本発明の上記半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための各処理手順が記録されたものであり、そのことにより上記目的が達成される。
【００７７】
本発明の可読記憶媒体は、本発明の上記制御プログラムが格納されたコンピュータ読み取り可能なものであり、そのことにより上記目的が達成される。
【００７８】
上記構成により、以下に、本発明の作用について説明する。
【００７９】
本発明にあっては、冗長セル（スペアセル）を用いたフリーズシリコンＥＣＯ機能により論理変更を行う際に、置き換え対象となるスペアセルを用いた場合にタイミング制約を満足させることができないときに、タイミング制約を満足させることができるような範囲で、その代替となり得る、置き換え対象スペアセルと同種類の既使用セルの中から、接続対象またはスペアセルに最も近いセルの接続を切断し、置き換え対象スペアセルの代わりに接続するためのネットリストを作成する。この処理を、スペアセルがタイミング制約を満足させることができるような範囲に現れるまで繰り返し行うことによって、スペアセルと同種類の既使用セルを「玉突き式」に順次移植していくようなネットリストを作成することが可能となる。そのネットリストを入力してフリーズシリコンＥＣＯ機能を行うことによって、全てのタイミング制約を満足させることが可能となる。
【発明の効果】
【００８０】
以上により、本発明によれば、フリーズシリコンＥＣＯ機能においてタイミング制約が満足されなかった場合に、人手によりネットリスト変更をする必要がある従来技術のような膨大な手間が不要である。また、配線層およびコンタクト層以外の層を修正したり、現状以上に多くのスペアセルのインスタンスを予め配置しておくことなく、高確率でフリーズシリコンＥＣＯによってタイミング制約を満足させることができる。自動的にタイミング制約を満足させるようにフリーズシリコンＥＣＯを行うことができるため、論理変更における設計期間やマスクコストの増大、人為的ミスの発生、さらには初期設計のチップ面積の増大などを効果的に防ぐことができる。したがって、効率的に動作ミスが少ない半導体装置やその半導体装置が搭載された電子機器を低コストで作製することができて、このフリーズシリコンＥＣＯの普及に大いに貢献することができる。
【発明を実施するための最良の形態】
【００８１】
以下に、本発明のレイアウト設計補助システム部が搭載された半導体集積回路の自動レイアウト設計装置の実施形態について、図面を参照しながら詳細に説明する。
【００８２】
図１は、本発明の実施形態に係る半導体集積回路の自動レイアウト設計装置の要部機能構成例を示すブロック図である。
【００８３】
図１において、本実施形態の半導体集積回路の自動レイアウト設計装置１は、クロック信号に係わるタイミング制約を満足させるような条件で最終的に冗長セル（スペアセル）に置き換えを行い、配線層およびコンタクト層について製造工程におけるマスク層のみを変更して、クロック信号に係わるタイミング制約を満足させるように論理変更処理を行うことができる演算処理装置２と、この演算処理装置２の演算処理に関する画面を表示可能とする表示部としてのディスプレイ部３と、この演算処理装置２の演算処理に対して各種操作入力指令を行うための操作入力部としてのキーボード４およびマウス５とを備えている。
【００８４】
演算処理装置２には、マスクパターンデータベース１１と、自動配置配線処理部１２と、ネットリスト記憶部１３と、インターフェース部１４と、静的タイミング解析処理部１５と、レイアウト設計補助コンピュータシステムとしてのレイアウト設計補助システム部２０とが搭載されている。
【００８５】
自動配置配線処理部１２は、フリーズシリコンＥＣＯ機能が実装されている既存の自動配置配線ソフトウェアの処理部であり、マスクパターンデータベース１１に格納されたマスクパターンと、素子間（セル間）の接続関係が記述されたテキストデータであるネットリスト記憶部１３のネットリストとが入力され、素子（セル）の配置および素子間（セル間）の配線がレイアウト設計されるようになっている。さらに、自動配置配線処理部１２では、ネットリスト記憶部１３からの入力ネットリストと、マスクパターンデータベース１１からのマスクパターンとの差分から、論理変更時に置き換えるべきスペアセルが決定されて後述するスペアセル検知ブロック２１に供給されると共に、論理変更時に用いるスペアセルが配置された回路図情報またはネットリスト（概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト）が生成される。
【００８６】
インターフェース部１４では、ネットリスト記憶部１３や後述するスペアセル方向範囲検知ブロック２２への入力パラメータが入力操作手段としてのキーボード４およびマウス５などを介して外部から入力され、マスクパターンデータベース１１のマスクパターンデータが外部に出力可能とされる。
【００８７】
静的タイミング解析部１５は、自動配置配線処理部１２と連動している既存の静的タイミング解析ソフトウェアの処理部であり、自動配置配線処理部１２からの回路図情報またはネットリスト（概念的には回路図、実際の処理上は回路図が反映された回路図情報としてのネットリスト）とインターフェース部１４から入力されたタイミング制約などの入力データを用いて静的タイミング解析が実行される。この静的タイミング解析の結果、接続対象の箇所に接続される配線の長さ当たりの抵抗および容量が求められ、これによって遅延値が割り出されて、後述するタイミング制約満足範囲検知ブロック２３にその遅延値が供給される。
【００８８】
レイアウト設計補助システム部２０は、自動レイアウト設計後のマスクパターンに対してフリーズシリコンＥＣＯ機能により論理変更を行う際に、スペアセル（冗長セル）によりタイミング制約を満足させることができない場合に、タイミング制約を満足させるような位置範囲で、置き換え対象のスペアセルと同種類の既使用セルのインスタンスの中から、接続対象またはスペアセルに最も近い同種類の既使用セルを検出し、これをスペアセルのインスタンスの代わりに用いることによって空いた回路部分に、この空いた回路部分を新たな接続対象として、その接続対象またはスペアセルに最も近い同種類の既使用セルを用いる処理を、タイミング制約を満足させるような位置範囲に冗長セルが現れるまで繰り返し行って、冗長セルが現れた時点で最後に空いた回路部分に冗長セルを用いる。この処理により得られたネットリストを用いてフリーズシリコンＥＣＯ機能を行うことにより、全てのタイミング制約を満足させることができる。
【００８９】
このレイアウト設計補助システム部２０には、後述する制御プログラムによって、スペアセル検知手段としてのスペアセル検知ブロック２１と、スペアセル方向範囲検知手段としてのスペアセル方向範囲検知ブロック２２と、タイミング制約満足範囲検知手段としてのタイミング制約満足範囲検知ブロック２３と、既使用置換セルインスタンス検知手段としての既使用置換セルインスタンス検知ブロック２４と、既使用置換インスタンス置換手段としての既使用置換インスタンス置換ブロック２５と、置換伝播手段としての基準端子座標再設定ブロック２６との各機能を実行する。
【００９０】
スペアセル検知ブロック２１では、自動配置配線処理部１２によってネットリスト記憶部１３の入力ネットリストと、マスクパターンデータベース１１のマスクパターンデータとの差分から決定されたスペアセル（冗長セル）のインスタンスが検知される。この場合、スペアセル検知ブロック２１は、配線層およびコンタクト層について製造工程におけるマスク層を変更して論理変更を行う自動レイアウトツールを用いて、接続対象からの直線距離が最も近い箇所に存在するスペアセルを検知する。
【００９１】
スペアセル方向範囲検知ブロック２２では、スペアセル検知ブロック２１により検知されたスペアセルのインスタンスの端子に接続される接続対象からの適切な位置から、スペアセルのインスタンスへの方向を含む方向の範囲が検知される。この処理には、インターフェース部１４から入力された所定範囲の角度θ１がパラメータとして用いられる。
【００９２】
スペアセル方向範囲検知ブロック２２は、接続対象とスペアセルとの位置関係を検出する際に、マスクパターンデータベース１１上で、スペアセルの入力端子座標と接続対象の出力端子座標との間の位置関係を検出するものであり、接続対象の所定位置を中心として、スペアセルと接続対象とを結ぶ直線距離を半径とし、接続対象からスペアセルの方向を角度として算出し、算出された角度から正方向および負方向にそれぞれ所定範囲の角度θ１を外部または内部で指定してその合計を中心角とし、スペアセル側を円弧側として、その半径の値を有する扇形領域として方向範囲を算出する。その半径としては、スペアセルの入力端子座標とこれに接続されるべき接続対象の出力端子座標とを結ぶ直線の長さをそれぞれの座標から算出する。また、接続対象からスペアセルへの方向を、スペアセルの入力端子座標とこれに接続されるべき接続対象の出力端子座標とから三角関数を用いてスペアセルの方向を角度として算出することができる。
【００９３】
タイミング制約満足範囲検知ブロック２３では、スペアセル方向範囲検知ブロック２２により検知された方向範囲と、静的タイミング解析処理部１５による静的タイミング解析結果を用いて、マスクパターンデータベース１１から、クロック信号に係わるタイミング制約を満足させるような距離範囲が検知される。即ち、タイミング制約満足範囲検知ブロック２３は、静的タイミング解析の結果を用い、接続対象に接続される配線の幅と長さから抵抗および容量を試算して、クロック信号に係わるタイミング制約を満足させる接続対象からの距離範囲を算出し、検知された方向範囲の中で、タイミング制約を満足させる距離範囲を検知する。さらには、タイミング制約満足範囲検知ブロック２３は、元の回路図に対して静的タイミング解析を実行することにより、接続対象に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度を割り出し、この余裕度から割り出される、タイミング制約を満足させる範囲の配線長さを、接続対象とスペアセルの各座標の差の絶対値の総和を２点間の距離とするマンハッタン距離により算出後、各座標の始点および終点の２点間の直線距離を算出し、算出された直線距離を接続対象の中心からの距離として扇形領域内部の範囲を検知する。
【００９４】
既使用置換セルインスタンス検知ブロック２４では、タイミング制約満足範囲検知ブロック２３により検知された距離範囲と、スペアセルのインスタンスの位置とを用いて、マスクパターンデータベース１１のマスクパターンデータ内で置き換え対象が検知される。このとき、タイミング制約満足範囲検知ブロック２３により検知された距離範囲内にスペアセルが存在する場合には、そのスペアセルのインスタンスが検知される。この場合には、スペアセルが用いられ、スペアセルの代わりに既使用セルが用いられないため、次の既使用インスタンス置換ブロック２５による既使用セルとの置換処理は不要であるが、既使用インスタンス置換ブロック２５によって既使用セルの代わりに、接続対象（または、空いた回路部分を新たな接続対象として）にスペアセルが接続処理される。また、既使用置換セルインスタンス検知ブロック２４では、タイミング制約満足範囲検知ブロック２３により検知された距離範囲内にスペアセルが存在しなかった場合には、マスクパターンデータベース１１のマスクパターンデータから、回路中に組み込まれて存在するスペアセルと同種類のセルのインスタンスの中から、そのタイミング制約の満足範囲内において接続対象またはスペアセルから最も近い箇所に存在する同種類のセルのインスタンスが検知される。即ち、既使用置換セルインスタンス検知ブロック２４は、タイミング制約の満足範囲（距離範囲）に存在する、スペアセルと同種類のセルを全て探知し、それぞれの入力端子座標について接続対象の出力端子座標との直線距離をそれぞれ算出して、各直線距離の中で最も短いまたは最も長い同種類のセルの端子座標を検知する。また、既使用置換セルインスタンス検知ブロック２４は、タイミング制約の満足範囲（距離範囲）にスペアセルと同種類のセルが既に使用された状態で存在しなかった場合に、エラー処理としてこの既使用置換セルインスタンス検知処理を中止する。なお、タイミング制約の満足範囲内において、スペアセルから最も近い箇所に存在する、スペアセルと同種類のセルを検知する方が、接続対象から最も近い箇所（またはスペアセルから最も遠い箇所）に存在する、スペアセルと同種類のセルを検知するよりも、最終的にスペアセルを用いて接続を完了するまでの工程が簡略化されて好ましい。
【００９５】
既使用インスタンス置換ブロック２５では、既使用置換セルインスタンス検知ブロック２４により検知された結果を用いて、検知されたセルのインスタンスの両端子への配線が切り離されて、スペアセルの代わりとして使用されるように、検知したセルの入力端子と、接続対象の出力端子とを配線により接続することにより、自動配置配線処理に用いられるネットリスト記憶部１３のネットリストを変更する。また、詳細に後述するが、その検知されたセルのインスタンス以降の論理についても（検知されたセルが例えば二つのインバータや、一方はインバータで他方はナンドゲートなど複数のインスタンスである場合など）、論理変更の対象であった場合には、スペアセル検知ブロック２１に処理が引き継がれる。また、その検知されたセルのインスタンス以降の論理について、論理変更の対象ではない場合には、基準端子座標再設定ブロック２６に処理が引き継がれる。
【００９６】
基準端子座標再設定ブロック２６では、スペアセル方向範囲検知ブロック２２による処理の際に方向を求める基準となる座標（接続対象の出力座標；中心座標）として、既使用インスタンス置換ブロック２５により置き換えられたインスタンス（スペアセルと同種類のセルを新たな接続対象として）の出力端子座標が設定される。即ち、基準端子座標再設定ブロック２６は、既使用インスタンス置換ブロック２５で切り離されたインスタンス（スペアセルと同種類のセル）を、スペアセル方向範囲検知ブロック２２における接続対象として再設定し、前記タイミング制約満足範囲検知ブロック２２でスペアセルが検知されるまで、一または複数回、スペアセル方向範囲検知ブロック２２から既使用インスタンス置換ブロック２５までの各処理を繰り返し行うようにしてもよい。または、基準端子座標再設定ブロック２６は、既使用インスタンス置換ブロック２５で切り離される直前のインスタンスの出力端子座標を、スペアセル方向範囲検知ブロック２２における新たな接続対象として再設定し、タイミング制約満足範囲検知ブロック２２でスペアセルのインスタンスが検知されるまで、一または複数回、スペアセル方向範囲検知ブロック２２から既使用インスタンス置換ブロック２５までの各処理を繰り返し行うようにしてもよい。または、基準端子座標再設定ブロック２６は、既使用インスタンス置換ブロック２５で置き換えられて空いた回路部分の座標を、スペアセル方向範囲検知ブロック２２における新たな接続対象として再設定し、タイミング制約満足範囲検知ブロック２２でスペアセルのインスタンスが検知されるまで、一または複数回、スペアセル方向範囲検知ブロック２２から既使用インスタンス置換ブロック２５までの各処理を繰り返し行うようにしてもよい。
【００９７】
以上の図１の説明に対して、さらに、本発明の原理について図２を用いて簡単に説明する。
【００９８】
図２に示すように、論理変更の場合に接続対象に対して追加で使用したい、一番近いスペアセルを探し、それを使ったときにタイミング的に問題がある場合、クロック信号に係わるタイミング制約に問題がないギリギリの範囲で、既に元から回路に組み込まれて使用されている最も近いセル（ここではインバータＩＮＶ）をスペアセルの代わりに使用しに行く。そのスペアセルの代わりに使われるセルを、更にタイミングが遅延しない範囲で、最初に見つかったスペアセルの方向に探しに行き、既に元から回路に使われているセルがあればそのセルをさらに使用しに行く、という処理を繰り返して、玉突き式にセルを置き換えて順次移植し、最終的に最初に検出したスペアセルまで使用しに行くというフリーズシリコンＥＣＯ手法を用いている。
【００９９】
これによって、従来技術の図１７のように予め均等配置したスペアセルからのみの使用であると、使用したいスペアセルが遠くに存在する可能性があってタイミング的に問題がある場合があり得るが、本発明のようにタイミング制約に違反しない範囲で、そのスペアセルの方向に存在する回路に既に組み込まれているセル（スペアセルと同じ種類のセル）を使用するため、スペアセルを必要以上に多く配置しなくて済み、レイアウトのフリーズシリコンＥＣＯ機能でクロック信号に係わるタイミング制約の違反を減らしたり防止したりすることができる。
【０１００】
図３は、図１の半導体集積回路の自動レイアウト設計装置の要部ハード構成例を示すブロック図である。
【０１０１】
本実施形態の半導体集積回路の自動レイアウト設計装置１は、コンピュータシステムで構成されており、全体の制御を行う制御手段としてのＣＰＵ（中央演算処理装置）２Ａと、ＣＰＵ２Ａに対して入力指令を行うためのキーボード４、マウス５、タッチパネルおよびペン入力装置、さらには通信ネットワーク（例えばインターネットやイントラネット）を介して受信入力する入力装置などの操作入力部と、表示画面上に、各処理に関する初期画面、選択場面、ＣＰＵ２Ａによる制御結果画面および操作入力画面などを表示するＣＲＴや液晶表示装置、さらにはプラズマ表示装置、エレクトロルミネッセンス表示装置などの表示部としてのディスプレイ部３と、制御プログラムおよびそのデータなどが記憶されたコンピュータ読み出し可能な可読記録媒体としてのＲＯＭ６と、起動時に制御プログラムおよびそのデータなどが読み出されて、ＣＰＵ２Ａによる制御毎にデータを読み出し・記憶するワークメモリとして働く記憶部としてのＲＡＭ７とを有している。
【０１０２】
可読記録媒体としてのＲＯＭ６は、ハードディスクの他、携帯自在な光ディスク、光磁気ディスク、磁気ディスクおよびＩＣメモリのいずれかまたはこれらの組合せなどで構成されていてもよい。この制御プログラムおよびそのデータなどがＲＯＭ６に記憶されるが、この制御プログラムおよびそのデータは、他の可読記録媒体から、または、無線、有線またはインターネット、さらにはイントラネットなどを介してＲＯＭ６にダウンロードされてもよい。なお、マスクパターンデータベース１１およびネットリスト記憶部１３はＲＡＭ５と一体で同じ記憶手段として構成されていてもよく、別に構成されていてもよい。
【０１０３】
次に、本実施形態の半導体集積回路のレイアウト設計方法の処理手順について、図４〜図１４を用いて詳細に説明する。
【０１０４】
図４は、本実施形態の半導体集積回路のレイアウト設計方法における処理手順例を説明するためのフローチャートである。図５は、レイアウトのネットリストであり、図６は、フリーズシリコンＥＣＯ機能を実行するために、図１の自動配置配線処理部１２に入力される論理変更されたネットリストである。図７は、フリーズシリコンＥＣＯ処理前のマスクレイアウトを論理形式で簡略化して示す回路図である。図８は、図１のスペアセル方向範囲検知ブロック２２による処理を論理形式で簡略化して示す回路図であり、図９は、図１のタイミング制約満足範囲検知ブロック２３による処理を論理形式で簡略化して示す回路図である。図１０は、図１の既使用インスタンス置換ブロック２５による処理を論理形式で簡略化して示す回路図であり、図１１は、図１の既使用インスタンス置換ブロック２５により変更された自動配置配線処理部１２に入力されるネットリストである。図１２は、図１の基準端子座標再設定ブロック２６により各処理を１度または複数回繰り返し行わせた結果を論理形式で簡略化して示す回路図であり、図１３は、図１の既使用インスタンス置換ブロック２５により変更され、自動配置配線処理部１２に入力されるネットリストを示す図である。
【０１０５】
図７において、ＮＯＲセルの既使用インスタンス２０１は図５の１列目に記載され、ＮＡＮＤセルの既使用インスタンス２０２は図５の２列目に記載されており、ＮＯＲセルの既使用インスタンス２０１の出力端子２０１ｂはＮＡＮＤセルの既使用インスタンス２０２の入力端子２０２ａに接続されている。さらに、ＩＮＶセルの既使用インスタンス２０３は図５の３列目に記載されている。ＮＡＮＤセルの既使用インスタンス２０４は図５の４列目に記載され、ＩＮＶセルの既使用インスタンス２０５は図５の５列目に記載され、ＩＮＶセルの既使用インスタンス２０８は図５の６列目に記載され、ＮＡＮＤセルの既使用インスタンス２０６は図５の７列目に記載され、ＮＯＲセルの既使用インスタンス２０９は図５の８列目に記載され、ＩＮＶセルの既使用インスタンス２１０は図５の９列目に記載され、ＮＯＲセルの既使用インスタンス２０７は図４の１０列目に記載されている。２１１はスペアセルとしてのＩＮＶセルのインスタンスである。
【０１０６】
ＮＡＮＤセルの既使用インスタンス２０４の出力端子２０４ｂは、ＩＮＶセルの既使用インスタンス２０５の入力端子２０５ａに接続されている。また、ＩＮＶセルの既使用インスタンス２０５の出力端子２０５ｂはＮＡＮＤセルの既使用インスタンス２０６の一方の入力端子２０６ａに接続されている。また、ＩＮＶセルの既使用インスタンス２０８の出力端子２０８ｂはＮＡＮＤセルの既使用インスタンス２０６の他方の入力端子２０６ａに接続されている。さらに、ＮＯＲセルの既使用インスタンス２０９の出力端子２０９ｂは、ＩＮＶセルの既使用インスタンス２１０の入力端子２１０ａに接続されている。また、ＩＮＶセルの既使用インスタンス２１０の出力端子２１０ｂは、ＮＯＲセルの既使用インスタンス２０７の他方の入力端子２０７ａに接続されている。
【０１０７】
本実施形態において、レイアウト設計後に論理変更が加えられた場合にフリーズシリコンＥＣＯを行うために、まず、ステップＳ１において、スペアセル検知ブロック２１によって、通常のフリーズシリコンＥＣＯと同様に、置き換えるべきスペアセルのインスタンスが発見される。その際に用いられる探索アルゴリズムとしては、現在既に製品化されているフリーズシリコンＥＣＯ機能を有するソフトウェアに搭載されている技術を用いることができる。または、論理変更が加わえられる箇所の直前に配置されたインスタンスから最も直線距離が近い箇所に存在するスペアセルのインスタンスが検知される。
【０１０８】
次に、ステップＳ２において、スペアセル方向範囲検知ブロック２２によって、置き換え対象スペアセルのインスタンス２１１の入力端子２１１ａに接続される接続対象（ＮＯＲセルの既使用インスタンス２０１）の適切な位置（出力端子２０１ｂ）から、スペアセルのインスタンス２１１への方向を含む方向の範囲が検知される。この処理では、まず、置き換え対象スペアセルのインスタンス２１１の入力端子２１１ａと、接続対象のインスタンス２０１からの適切な位置（ここでは出力端子２０１ｂであるが、入力端子２０１でもよい）との間の位置関係を検出するために、マスクパターンデータベース１１のマスクパターンデータから、置き換え対象スペアセルのインスタンス２１１の入力端子座標と、論理変更が加わえられる箇所の直前のインスタンス（接続対象のインスタンス２０１）の出力端子座標とが検出される。論理変更が加わえられる箇所の直前のインスタンス（接続対象のインスタンス２０１）の出力端子２０１ｂが中心（中心座標）とされ、スペアセルのインスタンス２１１の入力端子２１１ａと論理変更が加わえらる箇所の直前のインスタンス（接続対象のインスタンス２０１）の出力端子２０１ｂとを結ぶ直線Ｌの距離が半径とされて、論理変更が加わえられる箇所の直前のインスタンス（接続対象のインスタンス２０１）の出力端子２０１ｂからスペアセルのインスタンス２１１の入力端子２１１ａへの方向が角度として算出される。算出された角度から正方向および負方向に各々所定範囲の角度θ１が指定されてそれらの合計が中心角２θ１とされ、スペアセルのインスタンス２１１の入力端子２１１ａ側を円弧として、上記スペアセル方向範囲が、上記半径を有する扇形領域Ａ１として算出される。
【０１０９】
例えば、図５に示すレイアウトのネットリストに対して図６に示すような論理変更が加えられた際に、図７に示すように、接続対象のインスタンス２０１の出力端子２０１ｂとインスタンス２０２の入力端子２０２ａとの間に新たな論理としてＩＮＶセルのインスタンスをスペアセルのインスタンス２１１により追加する場合には、出力端子２０１ｂの位置の座標が検出される。図８に示すように、スペアセルのインスタンス２１１の入力端子２１１ａが接続する側の位置が目標位置とされ、論理変更が加わえられる箇所の直前のインスタンス２０１の出力端子２０１ｂの座標が原点（中心座標）とされ、スペアセルのインスタンス２１１の入力端子２１１ａと論理変更が加わえられている箇所の直前のインスタンス２０１の出力端子２０１ｂとを結ぶ直線Ｌの距離が半径とされて、インスタンス２０１の出力端子２０１ｂの中心座標からスペアセルのインスタンス２１１の入力端子２１１ａの座標への方向が、２点間の関係から、三角関数を用いて直交座標上の角度として求められる。さらに、入力パラメータとして、この２点間の直線に対して中心振り分けとして、角度θ１が０度以上１８０度以下（通常は０度以上９０度以下であるが逆方向も含む場合として０度以上１８０度以下としている）の範囲内の所定角度、例えば４０度として指定され、求められた上記直線Ｌの角度が例えば３００度であった場合、その正方向および負方向それぞれに対してその指定角度４０度が加減算されてその合計が中心角とされる。この例では、２６０度から３４０度までの８０度が中心角となる。論理変更が加わえられる箇所の直前のインスタンス２０１の出力端子２０１ｂの座標を中心点とし、論理変更が加わえられている箇所の直前のインスタンス２０１の出力端子２０１ｂの座標から接続される側の位置２１１ａの座標の直線距離を半径とした扇形領域Ａ１が図形演算により求められる。この扇形領域Ａ１を求める図形演算においては、中心座標（接続対象のインスタンス２０１の出力端子２０１ｂ）を通る一次方程式の直線と、同じ中心座標を通る他の一次方程式の直線に挟まれた中心角２θ１の領域の中から、中心座標からの距離が半径の値よりも小さいものが検出される。
【０１１０】
さらに、ステップＳ３において、タイミング制約満足範囲検知ブロック２３によって、ステップ２により求められたスペアセル方向範囲（扇形領域Ａ１）の中で、さらに、クロック信号に係わるタイミング制約を満足させるような距離範囲が検知される。例えば、図９に示すように、配線長さがインスタンス２０１の出力端子２０１ｂとスペアセルのインスタンス２１１の入力端子２１１ａの座標の差の絶対値の総和を２点間の距離とするマンハッタン距離により算出された後、その始点および終点の２点間の直線Ｌの距離が算出されてそれが半径とされる。タイミング制約を満足させる距離範囲が、上記扇形領域Ａ１の内部に、接続される側の適切な位置の出力端子２０１ｂを中心とした扇形領域Ａ２として、図形演算により求められる。このとき、タイミング制約満足範囲検知ブロック２４では、静的タイミング解析処理部１５によって元の回路図またはネットリスト（概念的には回路図、実際の処理上は回路図が反映されたネットリスト）に対して静的タイミング解析が実行された結果として得られる、接続対象の箇所（出力端子２０１ｂ）に接続される配線の長さ当たりの抵抗および容量から割り出される遅延値を用いて、現状タイミングのセットアップタイムおよびホールドタイムからの余裕度が割り出される。その余裕度から割り出される、タイミング制約を満足させる範囲の配線長さがマンハッタン距離により算出され、その始点および終点の２点間の直線Ｌの距離が算出され、その直線距離が中心座標からの距離として上記扇形領域Ａ１の内部の範囲が検知されることにより、タイミング制約満足範囲（上記距離範囲）である扇形領域Ａ２が求められる。
【０１１１】
さらに、ステップＳ４において、タイミング制約満足範囲検知ブロック２３によって、ステップＳ３により求められた範囲内にスペアセルのインスタンス２１１の入力端子２１１ａが存在するか否かという判断が行われる。例えば、図９の例では、上記距離範囲である扇形領域Ａ２にスペアセルのインスタンス２１１の入力端子２１１ａは存在しない。この判断により、スペアセルのインスタンス２１１の入力端子２１１ａがステップＳ３により求められた上記距離範囲である扇形領域Ａ２内に存在する場合（ＹＥＳの場合）にはステップＳ８の処理へ進み、スペアセルのインスタンス２１１の入力端子２１１ａがステップＳ３により求められた上記距離範囲である扇形領域内に存在しない場合（ＮＯの場合）にはステップＳ５の処理へと移行する。
【０１１２】
次に、ステップＳ５においては、既使用置換セルインスタンス検知ブロック２４によって、ステップＳ３により求められた範囲内にスペアセルのインスタンス２１１と同一種類のセルのインスタンスの入力端子が既使用状態で存在するか否かという判断が行われる。例えば、図９の例では、上記距離範囲である扇形領域Ａ２内に、インスタンス２０３およびインスタンス２０５が存在する。この判断により、スペアセルと同一種類のセルのインスタンス（図９の例ではインスタンス２０３およびインスタンス２０５）の入力端子が既使用状態でステップＳ３により求められた扇形領域Ａ２内に存在する場合（ＹＥＳの場合）にはステップＳ６の処理へ進み、スペアセルと同一種類のセルのインスタンス（図９の例ではインスタンス２０３およびインスタンス２０５）の入力端子が既使用状態でステップＳ３により求められた扇形領域Ａ２内に存在しない場合（ＮＯの場合）にはエラーとして処理が中止される。エラーとして処理が中止された場合には、タイミング制約が満足されないレイアウトが出力される。その場合に、θ１をより大きい値に変更して処理を再実行することによって、エラーが生じない可能性もあるが、さらにエラーが生じる場合には、従来技術のように、能力が高いセルを用いるように入力ネットリストを手動により変更したり、フリーズシリコンＥＣＯを諦めて金属配線層およびコンタクト層以外の層を修正する必要がある。
【０１１３】
さらに、ステップＳ５において、既使用置換セルインスタンス検知ブロック２４によって（セル選択は既使用置換セルインスタンス検知ブロック２４で行われ、切断置換は既使用インスタンス置換ブロック２５で行われる）検知された、スペアセルのインスタンス２１１と同一種類のセルのインスタンスの入力端子の中で、スペアセルのインスタンス２１１の入力端子２１１ａに最も近いインスタンス２０５の入力端子２０５ａが選択される。このとき、ステップＳ５で既使用置換セルインスタンス検知ブロック２４によって検知された全てのインスタンスの入力端子座標と、置き換え対象スペアセルのインスタンス２１１の入力端子座標との直線Ｌの直線距離が算出されて、その距離が最も短い箇所に存在するインスタンスの入力端子座標が検知されて、その入力端子を有するインスタンスが選択される。図９の例では、インスタンス２０５が該当する。なお、接続対象のインスタンス２０１の出力端子２０１ｂに最も近い、スペアセルのインスタンス２１１と同一種類のセルのインスタンスの入力端子が選択されるのであれば、図９の例では、インスタンス２０３が該当する。
【０１１４】
さらに、ステップＳ６で、既使用インスタンス置換ブロック２５によって、ステップＳ５で検知されたインスタンス２０５が切り離されて、スペアセルのインスタンス２１１の代わりに接続対象のインスタンス２０１に接続されて用いられる。また、ステップＳ６で切断されたインスタンス２０５の出力端子２０５ｂに接続されるインスタンスを例えば別に含み、このインスタンスが論理変更されていないインスタンスである場合には、その論理変更されていないインスタンスの入力端子と、論理変更されていないインスタンスの直前のインスタンス２０５の出力端子２０５ｂとが接続されるように、ネットリスト記憶部１３のネットリストが変更される。
【０１１５】
例えば、ステップＳ５で図９に示すインスタンス２０５が選択された場合、図１０に示すように、インスタンス２０５の入出力端子への接続が全て切断される。その出力端子２０５ｂに接続されているインスタンスを別に含み、この別のインスタンスが次に論理的に変更されていないインスタンスであるため、次に論理的に変更されていないインスタンスの直前のインスタンス２０５の出力端子２０５ｂとその別のインスタンスの入力端子とが接続されるため、図１１に示すようなネットリストが作成される。図１１においては、５列目Ｘ５のＩＮＶセルの入力および出力が図６の６列目Ｘ５に示すｎ１０およびｎ１１からｎ３およびｎｘ３に変更されている。また、６列目Ｘ１１のＩＮＶセルの入力および出力が図６の２列目Ｘ１１に示すｎ３およびｎｘ３から図６の６列目Ｘ５に示されていたｎ１０およびｎ１１に変更されている。
【０１１６】
一方、変更された論理が複数インスタンスの複合論理であり、ステップＳ６で切断されたインスタンス２０５の出力端子２０５ｂに接続されているインスタンス２０６を別に含み、この別のインスタンスが次に論理変更されるインスタンスである場合には、その箇所についても以上と同様の処理を行う必要があるため、その論理変更されるインスタンスの出力端子が、今回の論理変更が加えられている箇所の直前のインスタンス２０５の出力端子２０５ｂとして再設定されて、ステップＳ１の処理に戻る。
【０１１７】
その後、ステップＳ７では、基準端子座標再設定ブロック２６によって、ステップＳ６により切り離されたインスタンス２０５の入力端子２０５ａからの適切な位置が、ステップ２のスペアセル方向範囲検知処理における接続対象の適切な位置（中心座標）として再設定されて、ステップＳ２の処理に戻る。例えば、図１０に示すように、出力端子２０４ｂと入力端子２０６ａのように、ステップＳ６により切断されて浮いた状態の端子（スペアセルの変わりにそれと同一種類のセルが用いられて空いた回路部分または配線部分）から、出力端子２０４ｂの位置が論理変更が加わえられている箇所の直前のインスタンスの出力端子として再設定される。このステップＳ７の処理が終了後、ステップＳ２の処理に移行することによって、タイミング制約満足範囲検知処理により置き換え対象となるスペアセルのインスタンスが検知されるまで、タイミング制約満足範囲検知処理以降の各処理が繰り返されることになる。
【０１１８】
さらに、ステップＳ８では、ステップＳ４により確認されたスペアセルのインスタンスの端子が接続対象に接続されるように、例えば図１３に示すようなネットリストが作成されて、既使用インスタンス置換ブロック２５からネットリスト記憶部１４に出力される。図１３において、２列目Ｘ２のＮＡＮＤセルの入力が図５の２列目Ｘ２に示すｎ３からｎｎｘ３に変更されている。また、５列目Ｘ５のＩＮＶセルの入力および出力が図５の５列目Ｘ５に示すｎ１０およびｎ１１からｎ３およびｎｘ３に変更されている。さらに、９列目Ｘ９のＩＮＶセルの入力および出力であるｎ１７およびｎ１８が図５の５列目Ｘ５に示すｎ１０およびｎ１１に変更されている。さらに、９列目と１０列目の間にＸ１１として入力がネットｎ１７に接続され、出力がネットｎ１８に接続されたＩＮＶセルが挿入されている。このようなネットリストを用いてフリーズシリコンＥＣＯを行うことにより、タイミング制約を全て満足させるように、論理変更を行うことができる。
【０１１９】
図１４は、本実施形態の半導体集積回路のレイアウト設計方法における他の処理手順例を説明するためのフローチャートである。
【０１２０】
ステップＳ５とステップＳ９以外は、上記図３に示すフローチャートの場合とその動作が同様であるため、ここではその説明を省略する。
【０１２１】
図１４に示すように、ステップＳ５では、既使用置換セルインスタンス検知ブロック２５によって、ステップＳ３により求められた範囲内に、スペアセルのインスタンス２１１と同一種類のセルのインスタンスの入力端子が既使用状態で存在するか否かという判断が行われる。例えば、図９の例では、インスタンス２０３およびインスタンス２０５が該当する。この判断により、スペアセルと同一種類のセルのインスタンスの入力端子が既使用状態でステップＳ３により求められた範囲内に存在する場合（ＹＥＳの場合）にはステップＳ６の処理に移行し、また、スペアセルと同一種類のセルのインスタンスの入力端子が既使用状態でステップＳ３により求められた範囲内に存在しない場合（ＮＯの場合）にはステップＳ９の処理に移行する。
【０１２２】
次に、ステップＳ９では、指定されたθ１が９０度以下であるかどうかが判定されて、θ１が９０度以下の場合にはステップＳ２のスペアセル方向範囲検知処理に移行して、指定されたθ１が８５度以下であればθ１に５度加えて設定し、θ１が８５度よりも大きく９０度以下であればθ１を９０度に設定する。また、ステップＳ９で、指定されたθ１が９０度よりも大きい場合（ＹＥＳの場合）はエラーとして処理が中止される。エラーとして処理が中止された場合には、タイミング制約が満足されないレイアウトが出力される。この場合には、従来技術のように、能力が高いセルを用いるように入力ネットリストを手動により変更したり、フリーズシリコンＥＣＯを諦めて金属配線層およびコンタクト層以外の層を修正する必要がある。
【０１２３】
以上のように、本実施形態によれば、レイアウト設計後のマスクパターンに論理変更をフリーズシリコンＥＣＯにて行う際に、スペアセル方向範囲検知ブロック２２で置き換え対象スペアセルの方向範囲を検知し、その方向範囲の中でタイミング制約満足範囲検知ブロック２３でタイミング制約を満足する距離範囲を検知する。このタイミング制約を満足する距離範囲内にスペアセルが存在しない場合に、それと同種類の既使用インスタンスの中で、既使用置換セルインスタンス検知ブロック２４でスペアセルまたは接続対象に最も近い箇所に存在するインスタンスを検知し、既使用置換インスタンス置換ブロック２５でその検知したインスタンスの両端子を切り離し、スペアセルの代わりに使用する。基準端子座標再設定ブロック２６で、切り離された端子箇所（空いた回路部分）を置き換え対象として接続対象を再設定し、各処理を一または複数回繰り返して、タイミング制約を満足させる条件で最終的にスペアセルまで置き換える。
【０１２４】
これによって、エラーとならない限り、手作業を介することなく、自動的に、クロック信号に係わるタイミング制約を全て満足させるような条件で最終的に置き換え可能なスペアセルのインスタンスに置き換えを行うことが可能となり、配線層およびコンタクト層について製造工程におけるマスク層を変更するフリーズシリコンＥＣＯにより、クロック信号に係わるタイミング制約を満足させるように論理変更を行うことができる。
【０１２５】
さらに、本実施形態のレイアウト設計補助システムを用いて生成されたマスクパターンを有するフォトマスクを用いることにより、回路面積を増大させることなく、フリーズシリコンＥＣＯによりクロック信号に係わるタイミング制約を満足させるように論理変更が行われた半導体集積回路を製造することができる。
【０１２６】
なお、上記実施形態でも説明したが、自動レイアウト設計後のマスクパターンに対して論理変更を行う際に、スペアセルによりタイミング制約を満足させることができない場合に、タイミング制約を満足させるような位置範囲にある、スペアセルと同種類の既使用セルの中から、接続対象またはスペアセルに最も近い既使用セルを検出し、スペアセルの代わりに用いた検出既使用セルを新たな接続対象として、新たな接続対象またはスペアセルに最も近い既使用セルを接続する処理を、タイミング制約を満足させるような位置範囲内にスペアセルが現れるまで繰り返し行って、最後にスペアセルを用いるレイアウト設計補助システム部２０を有すれば、従来技術のようなスペアセルの配置においても、タイミング制約を満足させるように、フリーズシリコンＥＣＯにおける入力ネットリストを自動的に変更させ、そのネットリストを用いてフリーズシリコンＥＣＯを行うことができる本発明の目的を達成することができる。
【０１２７】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【０１２８】
本発明は、大規模半導体集積回路（ＬＳＩ）などのレイアウト設計において、論理変更が行われた箇所に対してのみ配置配線処理を行う手法（以下、ＥＣＯと呼ぶ）の中でも、レイアウト設計時に、論理変更の際に用いる置き換え用の冗長セル（以下、スペアセルと呼ぶ）を予め配置しておき、その配置素子（以下、インスタンスと呼ぶ）を用いて配線層およびコンタクト層について製造工程におけるマスク層を変更することにより論理変更を行うＥＣＯ手法（以下、フリーズシリコンＥＣＯと呼ぶ）において、設計装置内部で実行される静的タイミング解析によりタイミング制約を満足させることができなかった場合に、タイミング制約が満足されるようにフリーズシリコンＥＣＯを行う半導体集積回路のレイアウト設計方法、このレイアウト設計方法に用いる半導体集積回路のレイアウト設計補助システム、このレイアウト設計補助システムが搭載された半導体集積回路の自動レイアウト設計装置、この自動レイアウト設計装置を用いて生成されたマスクパターンを有するフォトマスク、このフォトマスクを製造するフォトマスクの製造方法、フォトマスクを用いて製造された半導体集積回路、フォトマスクを用いて半導体集積回路を製造する半導体集積回路の製造方法、上記半導体集積回路のレイアウト設計方法の各工程をコンピュータに実行させるための制御プログラムおよびこの制御プログラムが格納されたコンピュータ読み取り可能な可読記憶媒体の分野において、フリーズシリコンＥＣＯ機能においてタイミング制約が満足されなかった場合に、人手によりネットリスト変更をする必要がある従来技術のような膨大な手間が不要である。また、配線層およびコンタクト層以外の層を修正したり、現状以上に多くのスペアセルのインスタンスを予め配置しておくことなく、高確率でフリーズシリコンＥＣＯによってタイミング制約を満足させることができる。自動的にタイミング制約を満足させるようにフリーズシリコンＥＣＯを行うことができるため、論理変更における設計期間やマスクコストの増大、人為的ミスの発生、さらには初期設計のチップ面積の増大などを効果的に防ぐことができる。したがって、効率的に動作ミスが少ない半導体装置やその半導体装置が搭載された電子機器を低コストで作製することができて、このフリーズシリコンＥＣＯの普及に大いに貢献することができる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施形態に係る半導体集積回路の自動レイアウト設計装置の要部機能構成例を示すブロック図である。
【図２】本発明の原理を簡単に説明するための回路構成例を示す模式図である。
【図３】図１の半導体集積回路の自動レイアウト設計装置の要部ハード構成例を示すブロック図である。
【図４】本発明の実施形態に係る半導体集積回路のレイアウト設計方法における処理手順例を説明するためのフローチャートである。
【図５】図４の半導体集積回路のレイアウト設計方法において、論理変更される前のレイアウトのネットリスト例を示す図である。
【図６】図４の半導体集積回路のレイアウト設計方法において、フリーズシリコンＥＣＯを行うために自動配置配線処理部に入力される論理変更されたネットリスト例を示す図である。
【図７】図４の半導体集積回路のレイアウト設計方法において、フリーズシリコンＥＣＯ処理前のマスクレイアウトを論理形式で簡略化して示す回路図である。
【図８】図４の半導体集積回路のレイアウト設計方法において、スペアセル方向範囲検知ブロックによる処理を論理形式で簡略化して示す回路図である。
【図９】図４の半導体集積回路のレイアウト設計方法において、タイミング制約満足範囲検知ブロックによる処理を論理形式で簡略化して示す回路図である。
【図１０】図４の半導体集積回路のレイアウト設計方法において、既使用インスタンス置換ブロックによる処理を論理形式で簡略化して示す回路図である。
【図１１】図４の半導体集積回路のレイアウト設計方法において、既使用インスタンス置換ブロックにより変更された自動配置配線処理部に入力されるネットリスト例を示す図である。
【図１２】図４の半導体集積回路のレイアウト設計方法において、置換伝播手段により各処理を一または複数回繰り返し行わせた結果を論理形式で簡略化して示す回路図である。
【図１３】図４の半導体集積回路のレイアウト設計方法において、置換伝播手段により変更された自動配置配線処理部に入力されるネットリスト例を示す図である。
【図１４】本発明の実施形態に係る半導体集積回路のレイアウト設計方法における他の処理手順例を説明するためのフローチャートである。
【図１５】特許文献１に開示されている従来の半導体集積回路のレイアウト設計方法について説明するための図である。
【図１６】特許文献２に開示されている従来の半導体集積回路のレイアウト設計方法について説明するための図である。
【図１７】従来技術の場合の原理を簡単に説明するための回路構成例を示す模式図である。
【符号の説明】
【０１３０】
１  自動レイアウト設計装置
２  演算処理装置
２０  レイアウト設計補助システム部（レイアウト設計補助コンピュータシステム）
２１  スペアセル検知ブロック（スペアセル検知手段）
２２  スペアセル方向範囲検知ブロック（スペアセル方向範囲検知手段）
２３  タイミング制約満足範囲検知ブロック（タイミング制約満足範囲検知手段）
２４  既使用置換セルインスタンス検知ブロック（既使用置換セルインスタンス検知手段）
２５  既使用置換インスタンス置換ブロック（既使用置換インスタンス置換手段）
２６  基準端子座標再設定ブロック（基準端子座標再設定手段；置換伝播手段）
３  ディスプレイ部
４  キーボード
５  マウス
６  ＲＯＭ（可読記録媒体）
７  ＲＡＭ
１１  マスクパターンデータベース
１２  自動配置配線処理部
１３  ネットリスト記憶部
１４  インターフェース部
１５  静的タイミング解析処理部
２０１  ＮＯＲセルの既使用インスタンス
２０２  ＮＡＮＤセルの既使用インスタンス
２０３  ＩＮＶセルの既使用インスタンス
２０４  ＮＡＮＤセルの既使用インスタンス
２０５  ＩＮＶセルの既使用インスタンス
２０６  ＮＡＮＤセルの既使用インスタンス
２０７  ＮＯＲセルの既使用インスタンス
２０８  ＩＮＶセルの既使用インスタンス
２０９  ＮＯＲセルの既使用インスタンス
２１０  ＩＮＶセルの既使用インスタンス
２１１  ＩＮＶセルのスペアセルのインスタンス（冗長セル）
Ａ１    スペアセルのインスタンス方向を含む方向範囲
Ａ２    タイミング制約を満足する距離範囲
θ１    スペアセルのインスタンス方向を含む方向の特定範囲に設定される角度
【図１】
2009003723.tif 000003
【図２】
2009003723.tif 000004
【図３】
2009003723.tif 000005
【図４】
2009003723.tif 000006
【図５】
2009003723.tif 000007
【図６】
2009003723.tif 000008
【図７】
2009003723.tif 000009
【図８】
2009003723.tif 000010
【図９】
2009003723.tif 000011
【図１０】
2009003723.tif 000012
【図１１】
2009003723.tif 000013
【図１２】
2009003723.tif 000014
【図１３】
2009003723.tif 000015
【図１４】
2009003723.tif 000016
【図１５】
2009003723.tif 000017
【図１６】
2009003723.tif 000018
【図１７】
2009003723.tif 000019