(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022157030
(43)【公開日】2022-10-14
(54)【発明の名称】設計支援プログラム、設計支援方法および設計支援装置
(51)【国際特許分類】
H01L 21/82 20060101AFI20221006BHJP
G06F 30/32 20200101ALI20221006BHJP
G06F 30/394 20200101ALI20221006BHJP
【FI】
H01L21/82 C
G06F30/32
G06F30/394
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021061032
(22)【出願日】2021-03-31
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】山藤 盛行
【テーマコード(参考)】
5B146
5F064
【Fターム(参考)】
5B146AA22
5B146GC23
5B146GC27
5F064BB09
5F064EE02
5F064EE43
5F064EE46
5F064HH06
(57)【要約】
【課題】効率的にクロストークノイズを低減するカットメタルの配置位置を決定すること。
【解決手段】設計支援装置101は、設計対象回路に関するレイアウトデータ110を取得する。設計支援装置101は、取得したレイアウトデータ110に基づいて、マルチパターニング配線層120の信号配線121を特定し、特定した信号配線121に隣接し、信号配線121と平行する部分を有するフローティング配線122を検出する。設計支援装置101は、特定した信号配線121の両端に配置されたカットメタル131,132の配置位置に基づいて、検出したフローティング配線122を分割するカットメタルの配置位置を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、
前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、
処理をコンピュータに実行させることを特徴とする設計支援プログラム。
【請求項2】
前記決定する処理は、
前記両端に配置されたカットメタルそれぞれに対向する前記フローティング配線上の位置を、前記フローティング配線を分割するカットメタルの配置位置に決定する、ことを特徴とする請求項1に記載の設計支援プログラム。
【請求項3】
決定した前記配置位置にカットメタルを配置する、
処理を前記コンピュータに実行させることを特徴とする請求項1または2に記載の設計支援プログラム。
【請求項4】
決定した前記配置位置に配置したカットメタルに関して、前記設計対象回路のデザインルールを満たしているか否かを判断し、
前記デザインルールを満たしていない場合、前記配置したカットメタルの配置位置を、前記デザインルールを満たし、かつ、修正前後の位置間の距離が最小となるように、前記フローティング配線上のいずれかの位置に修正する、
処理を前記コンピュータに実行させることを特徴とする請求項3に記載の設計支援プログラム。
【請求項5】
前記検出する処理は、
前記マルチパターニング配線層において、前記信号配線を基準として、当該信号配線に隣接する配線方向に所定の探索範囲を設定し、設定した前記探索範囲と重なるフローティング配線を検出し、
前記信号配線から検出した前記フローティング配線までの距離が規定値以上となるまで、前記マルチパターニング配線層において、当該フローティング配線のうち、前記配置したカットメタルに挟まれた配線部分を基準として、当該配線部分に隣接する配線方向に前記探索範囲を設定し、設定した前記探索範囲と重なるフローティング配線を検出する、
ことを特徴とする請求項3または4に記載の設計支援プログラム。
【請求項6】
前記配置したカットメタルにより分割された前記フローティング配線上の配線部分に、前記設計対象回路のデザインルールを満たすように、1または複数のカットメタルを配置する、
処理を前記コンピュータに実行させることを特徴とする請求項3~5のいずれか一つに記載の設計支援プログラム。
【請求項7】
決定した前記配置位置にカットメタルを配置した前記レイアウトデータを出力する、処理を前記コンピュータに実行させることを特徴とする請求項3~6のいずれか一つに記載の設計支援プログラム。
【請求項8】
前記両端に配置されたカットメタルそれぞれに対向する前記フローティング配線上の位置を基準として、前記フローティング配線上にカットメタルの配置可能範囲を設定する、処理を前記コンピュータに実行させ、
前記決定する処理は、
設定した前記配置可能範囲内のいずれかの位置を、前記フローティング配線を分割するカットメタルの配置位置に決定する、ことを特徴とする請求項1~7のいずれか一つに記載の設計支援プログラム。
【請求項9】
設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、
前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、
処理をコンピュータが実行することを特徴とする設計支援方法。
【請求項10】
設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、
前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、
制御部を有することを特徴とする設計支援装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設計支援プログラム、設計支援方法および設計支援装置に関する。
【背景技術】
【0002】
近年、高密度配線のプロセステクノロジーとして、SADP(Self Aligned Double Patterning)などのマルチパターニング技術が用いられることがある。マルチパターニング技術では、配線チャネル上に敷き詰められたメタル配線を分割して、ゲート間の結線に使用する。メタル配線の分割は、例えば、CAD(Computer-Aided Design)上で、メタル配線を分断するための認識レイヤー(カットメタル)を配置することで行われる。
【0003】
先行技術としては、例えば、フローティングメタルが信号配線とカップリング容量を形成している場合に、フローティングメタルを電源電位またはグランド電位と接続するものがある。また、溝内に配線を埋め込む際に層間絶縁膜の表面に深い凹部が生じるのを防止するための技術がある。また、多層金属配線構造を有する半導体装置におけるダミーパターンの形成方法に関する技術がある。また、ラインパターン構造物の形成方法に関する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-222854号公報
【特許文献2】特開2011-049426号公報
【特許文献3】特開平06-326106号公報
【特許文献4】特開2012-044184号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、マルチパターニング技術を用いたレイアウト設計において、フローティング配線を介して離れた位置の信号配線間で容量結合することで生じるクロストークノイズを防ぐことが難しい。
【0006】
一つの側面では、本発明は、効率的にクロストークノイズを低減するカットメタルの配置位置を決定することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、設計支援プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、効率的にクロストークノイズを低減するカットメタルの配置位置を決定することができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1にかかる設計支援方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200のシステム構成例を示す説明図である。
【
図3】
図3は、設計支援装置101のハードウェア構成例を示すブロック図である。
【
図4】
図4は、設計支援装置101の機能的構成例を示すブロック図である。
【
図5】
図5は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その1)である。
【
図6】
図6は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その2)である。
【
図7】
図7は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その3)である。
【
図8】
図8は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その4)である。
【
図9】
図9は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その5)である。
【
図10】
図10は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その6)である。
【
図11】
図11は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その7)である。
【
図12】
図12は、実施の形態2にかかる設計支援装置101の動作例を示す説明図(その8)である。
【
図13】
図13は、実施の形態2にかかる設計支援装置101の設計支援処理手順の一例を示すフローチャートである。
【
図14】
図14は、第1のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
【
図15】
図15は、第2のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
【
図16】
図16は、実施の形態3にかかる設計支援装置101の動作例を示す説明図(その1)である。
【
図17】
図17は、実施の形態3にかかる設計支援装置101の動作例を示す説明図(その2)である。
【
図18】
図18は、第3のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
【
図19】
図19は、実施の形態4にかかる設計支援装置101の動作例を示す説明図(その1)である。
【
図20】
図20は、実施の形態4にかかる設計支援装置101の動作例を示す説明図(その2)である。
【
図21】
図21は、実施の形態4にかかる設計支援装置101の動作例を示す説明図(その3)である。
【
図22】
図22は、実施の形態4にかかる設計支援装置101の設計支援処理手順の一例を示すフローチャートである。
【
図23】
図23は、第4のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかる設計支援プログラム、設計支援方法および設計支援装置の実施の形態を詳細に説明する。
【0011】
(実施の形態1)
図1は、実施の形態1にかかる設計支援方法の一実施例を示す説明図である。
図1において、設計支援装置101は、設計対象回路の設計を支援するコンピュータである。設計支援装置101は、例えば、PC(Personal Computer)やサーバなどにより実現される。設計対象回路は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、メモリなどの半導体集積回路である。
【0012】
ここで、CPU設計などのレイアウトに使われる高密度配線のプロセステクノロジーとして、マルチパターニング技術が用いられることがある。マルチパターニング技術では、ゲート間を結線するために必要なメタル配線の図形を描く手法とは異なり、配線チャネル上に敷き詰められたメタル配線を分割して得られる配線部分を、ゲート間の結線に使用する。
【0013】
配線チャネル上に敷き詰められた配線を異なる信号として分割するには、カットメタルと呼ばれる、メタル配線を分断するための認識レイヤーをCAD上に配置する。マルチパターニング技術で生成される配線は延在配線のため、信号配線として使われない部分がフローティング配線として配線チャネルに存在する。
【0014】
このため、ある信号配線が隣接するフローティング配線を介して離れた位置の信号配線と容量結合することで、クロストークノイズが増加する傾向がある。クロストークノイズは、誤動作や高速動作を妨げる要因となるため、レイアウト設計においてクロストークノイズを回避するための対策を施すことは重要である。
【0015】
例えば、既存のレイアウトツールの中には、回路上の異なる信号が同一配線上にある場合に、自動でカットメタルを配置する機能を有するものがある。しかしながら、クロストークノイズを低減するために、カットメタルの配置位置を修正したり、新たなカットメタルを挿入したりすることはできない。
【0016】
また、クロストークノイズを抑制するために、フローティングメタルが信号配線とカップリング容量を形成している場合に、フローティングメタルを電源電位と接続し、残存するカップリング容量値が予め定められた容量値よりも大きければ、残存するフローティングメタルを削除する従来技術がある。
【0017】
しかし、マルチパターニング技術で生成される配線は、隣接するフローティング配線が多い。このため、従来技術では、フローティング配線を電源へ接続することで、配線チャネルがひっ迫することになりデメリットが大きい。また、カップリング容量を削減するために延在配線の削除ができないため、マルチパターニング配線に従来技術を使用することができない。
【0018】
また、クロストークノイズを抑制するために、ノイズ耐性の強いトランジスタを使って設計することが考えられる。しかしながら、ノイズ耐性の強いトランジスタを使うことは、チップ性能に対してデメリットになる(例えば、動作速度が遅くなる)。
【0019】
また、チップ上のフローティング配線に、できるだけ、もしくは、ランダムにカットメタルを挿入することが考えられる。しかし、カットメタルを挿入可能な位置に関するデザインルールは複雑であり、網羅的に処理することは工数の増大を招く。一方で、カットメタルをランダムに挿入すると、効果が得られないこともあるため現実的ではない。
【0020】
また、隣接するフローティング配線を介して離れた位置の信号との間で発生するクロストークを評価してから、適切なカットメタルを挿入することも考えられる。しかしながら、設計対象回路に対して網羅的にクロストークを評価するには、非常に多くの時間や手間がかかる。
【0021】
そこで、実施の形態1では、信号線として使用されるメタル配線(信号配線)が、それに隣接するフローティング配線を介して形成する容量結合に着目して、その容量結合を分断するためのカットメタルの配置位置を決定する設計支援方法について説明する。以下、設計支援装置101の処理例について説明する。
【0022】
(1)設計支援装置101は、設計対象回路に関するレイアウトデータを取得する。ここで、設計対象回路に関するレイアウトデータは、ゲート(素子)間の論理的な結線が完了した情報であり、例えば、論理情報に基づいて、各ゲートを配置し、ゲート間を結線した情報である。設計対象回路に関するレイアウトデータは、例えば、ディレイ評価後のレイアウトデータであってもよい。
【0023】
ディレイ評価とは、設計対象回路のタイミングを検証する処理である。ディレイ評価では、例えば、レイアウトデータに基づく静的タイミング解析(STA:Static Timing Analysis)が行われ、その解析結果に基づいて、ディレイ目標を満たしているかどうかが評価される。ディレイ目標を満たしていなければ、例えば、配置、配線修正などが行われ、再度ディレイ評価が行われる。
【0024】
図1の例では、設計対象回路に関するレイアウトデータ110が取得された場合を想定する。レイアウトデータ110は、ディレイ評価後の設計対象回路に関するレイアウトデータであり、ディレイ目標を満たすように、ゲートの位置やゲート間の配線などの修正が行われたレイアウトデータである。
【0025】
(2)設計支援装置101は、取得したレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定する。また、設計支援装置101は、特定した信号配線に隣接し、当該信号配線と平行する部分を有するフローティング配線をマルチパターニング配線層から検出する。
【0026】
ここで、特定される信号配線は、例えば、対象信号についての信号配線である。対象信号は、処理対象となる信号であり、任意に指定可能である。対象信号としては、例えば、ディレイの厳しい信号、すなわち、ターゲット周波数に対して余裕のない、slackの小さい信号が指定される。信号配線は、信号線として使用されるメタル配線である。
【0027】
マルチパターニング配線層は、マルチパターニング技術を用いて配線設計される配線層である。マルチパターニング配線層にはメタル配線(延在配線)が敷き詰められており、カットメタル(CM:Cut Metal)を配置することで、例えば、カットメタルに挟まれた配線部分を信号配線として分割することができる。マルチパターニング配線層は、例えば、微細化が求められる下層(第1~第3層など)の配線層に適用される。フローティング配線は、信号配線として使われない配線部分である。
【0028】
図1の例では、レイアウトデータ110に基づいて、対象信号について、マルチパターニング配線層120の信号配線121が特定された場合を想定する。この場合、設計支援装置101は、信号配線121に隣接し、信号配線121と平行する部分を有するフローティング配線122をマルチパターニング配線層120から検出する。なお、マルチパターニング配線層120において、実線で示す配線部分は、信号配線を示す。また、一点鎖線で示す配線部分は、フローティング配線を示す。
【0029】
ここで、信号配線121は、カットメタル131,132に挟まれた部分であり、フローティング配線122を介して、別の信号配線123との間に容量結合を形成している。ただし、
図1では、マルチパターニング配線層120の一部を抜粋して表示している。このため、信号配線121は、
図1で示されていないエリアにある信号配線と、フローティング配線122を介して容量結合を形成している可能性もある。
【0030】
(3)設計支援装置101は、特定した信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出したフローティング配線を分割するカットメタルの配置位置を決定する。具体的には、例えば、設計支援装置101は、特定した信号配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を、フローティング配線を分割するカットメタルの配置位置に決定する。
【0031】
図1の例では、設計支援装置101は、例えば、フローティング配線122上の位置p1,p2(
図1中、点線枠)を、フローティング配線122を分割するカットメタルの配置位置に決定する。位置p1は、信号配線121の一端に配置されたカットメタル131に対向するフローティング配線122上の位置である。位置p2は、信号配線121の他端に配置されたカットメタル132に対向するフローティング配線122上の位置である。すなわち、設計支援装置101は、フローティング配線122を介した容量結合を回避するために、フローティング配線122の信号配線121と平行する部分を分断するように、カットメタルの配置位置を決定する。
【0032】
このように、実施の形態1にかかる設計支援装置101によれば、マルチパターニング技術を用いたレイアウト設計において、フローティング配線を介した容量結合を分断する効果的なカットメタルの配置位置を決定することができる。また、その配置位置にカットメタルを配置することにより、効率的にクロストークノイズを低減することができる。
【0033】
図1の例では、決定された位置p1,p2に、例えば、カットメタルをそれぞれ配置すると、フローティング配線122が、フローティング配線122-1,122-2,122-3に分断される。フローティング配線122-1,122-3は、信号配線121との間に平行する部分がない。このため、位置p1より左側と位置p2より右側のフローティング配線を介した容量結合を分断することができ、クロストークノイズを低減することができる。
【0034】
なお、決定された配置位置へのカットメタルの配置処理は、設計支援装置101とは異なるコンピュータで実行することにしてもよい。例えば、設計支援装置101は、レイアウトデータ110と対応付けて、フローティング配線122を分割するカットメタルの配置位置p1,p2を示す情報を出力することにしてもよい。これにより、他のコンピュータにおいて、レイアウトデータ110に基づいて、配置位置p1,p2を示す情報を参照して、フローティング配線122を分割するカットメタルの配置処理を実行することができる。
【0035】
(実施の形態2)
つぎに、実施の形態2にかかる設計支援装置101について説明する。まず、
図2を用いて、実施の形態2にかかる設計支援装置101を含む情報処理システム200のシステム構成例について説明する。情報処理システム200は、例えば、クロストークノイズを低減するためにレイアウトデータに対して追加処理を施すサービスに適用される。なお、実施の形態1で説明した箇所と同様の箇所については説明を省略する。
【0036】
図2は、情報処理システム200のシステム構成例を示す説明図である。
図2において、情報処理システム200は、設計支援装置101と、クライアント装置201と、を含む。情報処理システム200において、設計支援装置101およびクライアント装置201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
【0037】
設計支援装置101は、例えば、サーバである。クライアント装置201は、情報処理システム200のユーザが使用するコンピュータである。ユーザは、例えば、半導体集積回路の設計者である。クライアント装置201は、例えば、PC(Personal Computer)、タブレットPCなどである。
【0038】
なお、ここでは、設計支援装置101とクライアント装置201とを別体に設けることにしたが、これに限らない。例えば、設計支援装置101は、クライアント装置201により実現されることにしてもよい。また、情報処理システム200には、複数のクライアント装置201が含まれることにしてもよい。
【0039】
(設計支援装置101のハードウェア構成例)
図3は、設計支援装置101のハードウェア構成例を示すブロック図である。
図3において、設計支援装置101は、CPU301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0040】
ここで、CPU301は、設計支援装置101の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0041】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0042】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、
図2に示したクライアント装置201)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0043】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0044】
なお、設計支援装置101は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有することにしてもよい。また、
図2に示したクライアント装置201についても、設計支援装置101と同様のハードウェア構成により実現することができる。ただし、クライアント装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
【0045】
(設計支援装置101の機能的構成例)
つぎに、実施の形態2にかかる設計支援装置101の機能的構成例について説明する。
【0046】
図4は、設計支援装置101の機能的構成例を示すブロック図である。
図4において、設計支援装置101は、取得部401と、特定部402と、検出部403と、決定部404と、配置部405と、出力部406と、を含む。取得部401~出力部406は制御部となる機能であり、具体的には、例えば、
図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
【0047】
取得部401は、設計対象回路に関するレイアウトデータRDを取得する。レイアウトデータRDは、ゲート間の論理的な結線が完了した情報であり、例えば、設計対象回路に関するディレイ評価後のレイアウトデータである。また、取得部401は、レイアウトデータRDとともに、設計対象回路に関するディレイ評価結果(STA結果)を取得してもよい。ディレイ評価結果は、例えば、設計対象回路の信号名と対応付けて、STAの結果であるディレイ値を示す。
【0048】
具体的には、例えば、取得部401は、
図2に示したクライアント装置201から受信することにより、レイアウトデータRDとディレイ評価結果とを取得する。また、取得部401は、不図示の入力装置を用いたユーザの操作入力により、レイアウトデータRDとディレイ評価結果とを取得することにしてもよい。
【0049】
特定部402は、設計対象回路に関するレイアウトデータRDに基づいて、対象信号についてマルチパターニング配線層の信号配線を特定する。具体的には、例えば、まず、特定部402は、設計対象回路内の信号から、対象信号(処理対象の信号)を選択する。例えば、特定部402は、予め指定された信号を対象信号として選択してもよい。対象信号の指定は、例えば、クライアント装置201から受け付ける。
【0050】
ディレイの厳しい信号は、クロストークノイズによって誤った値を順序回路に取り込む可能性が高い。このため、特定部402は、例えば、設計対象回路に関するディレイ評価結果を参照して、ディレイの厳しい信号から順に、対象信号として選択してもよい。この際、ディレイの厳しさに応じて処理する信号数を制限してもよい。例えば、特定部402は、ディレイ評価結果を参照して、ディレイ値が閾値以上の信号を、ディレイの厳しい信号から順に対象信号として選択してもよい。
【0051】
つぎに、特定部402は、取得されたレイアウトデータRDに基づいて、選択した対象信号について、マルチパターニング配線層の信号配線を特定する。より詳細に説明すると、例えば、特定部402は、信号配線を形成するマルチパターニング配線層ごとに、カットメタルに挟まれた配線部分であって、ビア(VIA)が配置された配線部分を信号配線として特定する。ビアは、異なる配線層の間を接続するものである。
【0052】
信号配線の特定例については、
図5を用いて後述する。
【0053】
なお、レイアウトデータRDには、配線ごとに、信号配線であるか、フローティング配線であるかを特定する属性情報が含まれていてもよい。この場合、特定部402は、配線ごとの属性情報を参照して、選択した対象信号について、マルチパターニング配線層の信号配線を特定することにしてもよい。
【0054】
以下の説明では、対象信号について特定されたマルチパターニング配線層の信号配線を「着目配線」と表記する場合がある。
【0055】
検出部403は、取得されたレイアウトデータRDに基づいて、特定された着目配線に隣接し、着目配線と平行する部分を有するフローティング配線をマルチパターニング配線層から検出する。具体的には、例えば、検出部403は、マルチパターニング配線層において、着目配線を基準として、着目配線に隣接する配線方向に所定の探索範囲ARを設定する。
【0056】
ここで、探索範囲ARは、任意に設定可能である。探索範囲ARは、例えば、設計対象回路の配線間距離および配線幅に基づいて設定される。より詳細に説明すると、例えば、検出部403は、着目配線を、隣接する配線方向両側に、「配線間距離*1.5+配線幅」分それぞれ広げた図形を探索範囲に設定する。
【0057】
探索範囲ARの設定例については、
図6を用いて後述する。
【0058】
そして、検出部403は、設定した探索範囲ARと重なるフローティング配線を検出する。より詳細に説明すると、例えば、検出部403は、レイアウトデータRDを参照して、探索範囲ARと一部または全部が重なる配線を検出する。つぎに、検出部403は、検出した配線がフローティング配線であるか否かを判断する。
【0059】
例えば、検出した配線が信号配線として使われる配線部分の場合、検出部403は、フローティング配線ではないと判断する。一方、検出した配線が信号配線として使われない配線部分の場合、検出部403は、フローティング配線であると判断し、その配線をフローティング配線として検出する。
【0060】
フローティング配線の検出例については、
図6を用いて後述する。
【0061】
決定部404は、着目配線の両端に配置されたカットメタルの配置位置に基づいて、検出されたフローティング配線を分割するカットメタルの配置位置を決定する。着目配線の両端に配置されたカットメタルの配置位置は、レイアウトデータRDから特定される。具体的には、例えば、決定部404は、着目配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を、フローティング配線を分割するカットメタルの配置位置に決定してもよい。
【0062】
例えば、着目配線の両端に配置されたカットメタルを、着目配線に直交するように配置された矩形のオブジェクトであるとする。この場合、決定部404は、検出されたフローティング配線上で、着目配線の両端に配置されたカットメタルそれぞれの延長上の位置を、フローティング配線を分割するカットメタルの配置位置に決定してもよい。
【0063】
すなわち、決定部404は、フローティング配線上で、着目配線の一端に配置されたカットメタルの延長上の位置と、着目配線の他端に配置されたカットメタルの延長上の位置とを特定する。そして、決定部404は、特定した各位置を、フローティング配線を分割するカットメタルの配置位置に決定する。
【0064】
カットメタルの配置位置の決定例については、
図7を用いて後述する。
【0065】
配置部405は、決定された配置位置にカットメタルを配置する。具体的には、例えば、配置部405は、取得されたレイアウトデータRDにおいて、決定された配置位置それぞれに新たなカットメタルを配置することにしてもよい。また、配置部405は、取得されたレイアウトデータRDにおいて、着目配線の両端に配置されたカットメタルを、当該カットメタルそれぞれに対応する、決定された配置位置まで延長することにしてもよい。
【0066】
例えば、フローティング配線上で、着目配線の一端に配置されたカットメタルの延長上の第1位置と、着目配線の他端に配置されたカットメタルの延長上の第2位置とが、フローティング配線を分割するカットメタルの配置位置に決定されたとする。この場合、配置部405は、第1位置および第2位置それぞれに新たなカットメタルを配置してもよい。また、配置部405は、着目配線の一端に配置されたカットメタルを第1位置まで延長するとともに、着目配線の他端に配置されたカットメタルを第2位置まで延長することにしてもよい。すなわち、カットメタルを別途配置するのではなく、検出されたフローティング配線を分断するまで、着目配線の両端のカットメタルを延長することで代替してもよい。
【0067】
新たなカットメタルの配置例については、
図8を用いて後述する。
【0068】
また、配置部405は、決定された配置位置に配置したカットメタルに関して、設計対象回路のデザインルールを満たしているか否かを判断することにしてもよい。デザインルールとは、回路を設計する際に満たすべき制約である。制約としては、例えば、線の最小幅、線間の最小間隔、図形を重ねる場合の余裕の最小幅などがある。
【0069】
ここで、デザインルールを満たしていない場合、配置部405は、配置したカットメタルの配置位置を、デザインルールを満たし、かつ、修正前後の位置間の距離が最小となるように、フローティング配線上のいずれかの位置に修正することにしてもよい。
【0070】
具体的には、例えば、配置部405は、フローティング配線上の第1位置に配置したカットメタルに関して、デザインルールを満たしていない場合、そのカットメタルの配置位置を、第1位置を基準として、デザインルールを満たす最小幅の移動距離となる位置に修正する。
【0071】
また、フローティング配線上の第2位置に配置したカットメタルに関して、デザインルールを満たしていない場合、配置部405は、そのカットメタルの配置位置を、第2位置を基準として、デザインルールを満たす最小幅の移動距離となる位置に修正する。
【0072】
また、配置部405は、第1位置、第2位置に配置されたカットメタルの配置位置を修正するにあたり、フローティング配線上のカットメタルにより分割される配線部分が少なくならないように、カットメタルを移動させることにしてもよい。これにより、着目配線と平行するフローティング配線上の配線部分が少なくならないように、カットメタルの配置位置を修正することができる。
【0073】
カットメタルの配置位置の修正例については、
図11および
図12を用いて後述する。
【0074】
なお、カットメタルを別途配置するのではなく、着目配線の両端のカットメタルを延長することで、フローティング配線を分断した場合に、デザインルール違反になったとする。この場合、配置部405は、例えば、着目配線の両端のカットメタルを延長前の状態に戻し、フローティング配線上に新たなカットメタルを配置することにより修正を行う。
【0075】
また、検出部403は、着目配線から検出したフローティング配線までの距離が規定値以上となるまで、マルチパターニング配線層において、検出したフローティング配線のうち、配置したカットメタルに挟まれた配線部分を基準として、当該配線部分に隣接する配線方向に探索範囲ARを設定することにしてもよい。そして、検出部403は、設定した探索範囲ARと重なるフローティング配線を検出することにしてもよい。
【0076】
すなわち、クロストークノイズをより低減するため、着目配線に平行する1つ隣のフローティング配線だけでなく、規定された距離内の複数のフローティング配線をピックアップして、同様の処理を実施してもよい。規定値は、任意に設定可能であり、例えば、クロストークノイズの影響の大きさと処理時間を考慮して設定される。
【0077】
また、1つの着目配線に対して、2つ以上隣のフローティング配線をピックアップする代わりに、1つ隣のフローティング配線に対してカットメタルを挿入後、そのフローティング配線に平行するさらに隣のフローティング配線をピックアップして、同様の処理を実施してもよい。この場合も、着目配線に対してどの程度の配線まで処理するかは、例えば、クロストークノイズの影響の大きさと処理時間を考慮して設定する。
【0078】
フローティング配線上に配置されたカットメタルに挟まれた配線部分を基準として設定される探索範囲ARの設定例については、
図10を用いて後述する。
【0079】
出力部406は、修正後のレイアウトデータRD’を出力する。ここで、修正後のレイアウトデータRD’は、決定された配置位置にカットメタルを配置したレイアウトデータRDである。出力部406の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータへの送信などがある。
【0080】
また、出力部406は、レイアウトデータRDと対応付けて、決定されたカットメタルの配置位置を示す情報を出力することにしてもよい。これにより、他のコンピュータ(例えば、クライアント装置201)において、レイアウトデータRDに基づいて、決定されたカットメタルの配置位置を示す情報を参照して、フローティング配線を分割するカットメタルの配置処理を実行することができる。
【0081】
なお、上述した設計支援装置101の機能部(取得部401~出力部406)は、情報処理システム200内の複数のコンピュータ(例えば、設計支援装置101、クライアント装置201)により実現されることにしてもよい。
【0082】
(設計支援装置101の動作例)
つぎに、
図5~
図12を用いて、実施の形態2にかかる設計支援装置101の動作例について説明する。ここでは、論理的な結線が完了後のレイアウトデータRDに対して、ディレイ評価結果でディレイの厳しい信号を対象信号とする場合について説明する。
【0083】
図5~
図12は、実施の形態2にかかる設計支援装置101の動作例を示す説明図である。
図5において、マルチパターニング配線層M#は、対象信号の信号配線を含む配線層の一例である。ただし、
図5~
図12では、マルチパターニング配線層M#の一部を抜粋して表示している。例えば、マルチパターニング配線層M#について、図面上の水平方向(左右方向)に伸びる配線のみ示し、垂直方向(上下方向)に伸びる配線は省略している。
【0084】
マルチパターニング配線層M#には、メタル配線が敷き詰められており、カットメタルを配置することで、信号配線等に使用する配線部分を分割することができる。カットメタルは、配線に直交するように配置される矩形のオブジェクトである。マルチパターニング配線層M#において、実線で示す配線部分は、信号配線を示す。また、一点鎖線で示す配線部分は、フローティング配線を示す。配線上の模様入り正方形は、VIAを示す。白抜き矩形のカットメタルは、論理的な結線時に配置されたカットメタルを示す。
【0085】
ここで、対象信号の信号配線として、着目配線Aが特定された場合を想定する。着目配線Aは、カットメタルCM11,CM12に挟まれた配線部分であり、隣接するフローティング配線Bを介して別の信号配線Dとの間に容量結合を形成する。ただし、着目信号Aは、
図5に示されていないエリアにある信号配線とフローティング配線Bを介して容量結合を形成する可能性もある。
【0086】
図6において、検出部403は、マルチパターニング配線層M#において、着目配線Aを基準として、着目配線Aに隣接する配線方向(図面上の上下方向)に探索範囲AR1を設定する。探索範囲AR1は、着目配線Aを、隣接する配線方向両側に、「配線間距離*1.5+配線幅」だけ広げた図形である。
【0087】
検出部403は、設定した探索範囲AR1と重なるフローティング配線を検出する。ここでは、フローティング配線Bが検出された場合を想定する。なお、探索エリアAR1と重なるフローティング配線がない場合は、着目配線Aに対する処理は終了となる。
【0088】
図7において、決定部404は、着目配線Aの両端に配置されたカットメタルCM11,CM12の配置位置に基づいて、検出されたフローティング配線Bを分割するカットメタルの配置位置を決定する。着目配線Aの両端に配置されたカットメタルCM11,CM12の配置位置は、レイアウトデータRDから特定される。
【0089】
ここでは、決定部404は、フローティング配線B上で、着目配線Aの一端に配置されたカットメタルCM11の延長上の位置701を、フローティング配線Bを分割するカットメタルの配置位置に決定する。また、決定部404は、着目配線Aの他端に配置されたカットメタルCM12の延長上の位置702を、フローティング配線Bを分割するカットメタルの配置位置に決定する。
【0090】
図8において、配置部405は、決定された配置位置に新たなカットメタルを配置する。ここでは、カットメタルCM11の延長上の位置701にカットメタルCM21が配置され、カットメタルCM12の延長上の位置702にカットメタルCM22が配置される。
【0091】
新たに配置されるカットメタルCM21,CM22の大きさは、フローティング配線Bを分割しつつ、他の配線に重ならない大きさに設定される。なお、配置部405は、新たなカットメタルを配置する代わりに、着目配線Aの両端に配置された各カットメタルCM11,CM12を、各カットメタルCM11,CM12に対向するフローティング配線B上の位置まで延長することにしてもよい。
【0092】
また、配置部405は、配置したカットメタルCM21,CM22に関して、設計対象回路のデザインルールを満たしているか否かを判断する。ここでは、カットメタルCM21,CM22に関して、デザインルールを満たしているとする。なお、デザインルールを満たしていない場合は、カットメタルCM21,CM22の配置位置が修正される。
【0093】
図9において、カットメタルCM21、CM22が配置されたことにより、フローティング配線Bが、フローティング配線B1,B2,B3に分断されている。フローティング配線B1,B3は、着目配線Aとの間に平行する部分がない。このため、カットメタルCM21より左側と、カットメタルCM22より右側のフローティング配線を介した容量結合を分断することができ、クロストークノイズを低減することができる。
【0094】
図10において、検出部403は、マルチパターニング配線層M#において、フローティング配線B2を基準として、フローティング配線B2に隣接する配線方向(図面上の上下方向)に探索範囲AR2を設定する。探索範囲AR2は、フローティング配線B2を、隣接する配線方向両側に、「配線間距離*1.5+配線幅」だけ広げた図形である。
【0095】
検出部403は、設定した探索範囲AR2と重なるフローティング配線を検出する。ここでは、フローティング配線Fが検出された場合を想定する。なお、探索エリアAR2と重なるフローティング配線がない場合は、着目配線Aに対する処理は終了となる。
【0096】
図11において、決定部404は、着目配線Aの両端に配置されたカットメタルCM11,CM12の配置位置に基づいて、検出されたフローティング配線F(
図10参照)を分割するカットメタルの配置位置を決定する。ここでは、決定部404は、フローティング配線F上で、着目配線Aの一端に配置されたカットメタルCM11の延長上の位置を、フローティング配線Fを分割するカットメタルの配置位置に決定する。
【0097】
また、決定部404は、着目配線Aの他端に配置されたカットメタルCM12の延長上の位置を、フローティング配線Fを分割するカットメタルの配置位置に決定する。そして、配置部405は、決定された配置位置に新たなカットメタルを配置する。ここでは、カットメタルCM11の延長上の位置にカットメタルCM31が配置され、カットメタルCM12の延長上の位置にカットメタルCM32が配置される。カットメタルCM31、CM32が配置されたことにより、フローティング配線Fから、フローティング配線F2が分断されている。
【0098】
また、配置部405は、配置したカットメタルCM31,CM32に関して、設計対象回路のデザインルールを満たしているか否かを判断する。ここでは、カットメタルCM31,CM32のうち、カットメタルCM31に関して、別の信号配線Gの一端のカットメタルCM13との相対位置にデザインルール違反があり、デザインルールを満たしていないと判断された場合を想定する。
【0099】
図12において、配置部405は、カットメタルCM31の配置位置を、デザインルールを満たすように修正する。カットメタルCM13は、既存の信号配線Gの一端であり、動かしてしまうと、既存の信号配線Gのディレイ等の評価の結果が悪化する可能性があるため変更しない。ここでは、カットメタルCM31の配置位置が、着目配線Aと平行するフローティング配線F2の配線部分が少なくならないように、デザインルールを満たし、かつ、修正前後の位置間の距離が最小となる位置に修正されている。
【0100】
ここで、着目配線Aから検出されたフローティング配線F(
図10参照)までの距離(例えば、距離d)が規定値以上となった場合、着目配線Aに対する処理は終了となる。これにより、着目配線Aと信号配線Dとの間の容量結合は、信号配線Dを意識することなく分断され、信号配線Dによるクロストークの影響を削減することができる。
【0101】
(設計支援装置101の設計支援処理手順)
つぎに、
図13を用いて、実施の形態2にかかる設計支援装置101の設計支援処理手順について説明する。
【0102】
図13は、実施の形態2にかかる設計支援装置101の設計支援処理手順の一例を示すフローチャートである。
図13のフローチャートにおいて、まず、設計支援装置101は、設計対象回路に関するレイアウトデータRDを取得したか否かを判断する(ステップS1301)。
【0103】
ここで、設計支援装置101は、レイアウトデータRDを取得するのを待つ(ステップS1301:No)。そして、設計支援装置101は、レイアウトデータRDを取得した場合(ステップS1301:Yes)、設計対象回路に関するディレイ評価結果(STA結果)を参照して、対象信号を選択する(ステップS1302)。
【0104】
なお、ディレイ評価結果(STA結果)は、例えば、ステップS1301においてレイアウトデータRDとともに取得される。また、ステップS1302において、設計支援装置101は、ディレイの厳しい信号から順に対象信号として選択してもよく、また、ディレイの厳しさに応じて処理する信号数を制限してもよい。
【0105】
つぎに、設計支援装置101は、取得したレイアウトデータRDに基づいて、対象信号についてマルチパターニング配線層の信号配線を特定する(ステップS1303)。そして、設計支援装置101は、特定した信号配線である着目配線に関するカットメタル配置処理を実行する(ステップS1304)。
【0106】
カットメタル配置処理としては、例えば、第1のカットメタル配置処理と第2のカットメタル配置処理とがある。ステップS1304において、第1および第2のカットメタル配置処理のいずれを実行するかは、任意に設定可能である。第1のカットメタル配置処理の具体的な処理手順については、
図14を用いて後述する。第2のカットメタル配置処理の具体的な処理手順については、
図15を用いて後述する。
【0107】
つぎに、設計支援装置101は、取得したレイアウトデータRDに基づいて、対象信号についてマルチパターニング配線層の特定されていない未特定の信号配線があるか否かを判断する(ステップS1305)。ここで、未特定の信号配線がある場合(ステップS1305:Yes)、設計支援装置101は、ステップS1303に戻る。
【0108】
一方、未特定の信号配線がない場合(ステップS1305:No)、設計支援装置101は、設計対象回路に関するディレイ評価結果を参照して、選択されていない未選択の対象信号があるか否かを判断する(ステップS1306)。ここで、未選択の対象信号がある場合(ステップS1306:Yes)、設計支援装置101は、ステップS1302に戻る。
【0109】
一方、未選択の対象信号がない場合(ステップS1306:No)、設計支援装置101は、修正後のレイアウトデータRD’を出力して(ステップS1307)、本フローチャートによる一連の処理を終了する。修正後のレイアウトデータRD’は、レイアウトデータRDに対して、決定された配置位置にカットメタルを配置したレイアウトデータである。
【0110】
これにより、信号配線(着目配線)に隣接するフローティング配線を介した容量結合を回避して、クロストークノイズを低減することができる。
【0111】
つぎに、ステップS1304のカットメタル配置処理の具体的な処理手順について説明する。ここでは、フローティング配線上にカットメタルを配置する処理として、新たなカットメタルを配置する場合を例に挙げて説明する。
【0112】
まず、
図14を用いて、第1のカットメタル配置処理の具体的な処理手順について説明する。第1のカットメタル配置処理は、ステップS1301において取得されたレイアウトデータRDに基づいて実行される。
【0113】
図14は、第1のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
図14のフローチャートにおいて、まず、設計支援装置101は、着目配線に隣接し、着目配線と平行する部分を有するフローティング配線をマルチパターニング配線層から検出する(ステップS1401)。
【0114】
つぎに、設計支援装置101は、着目配線の両端に配置されたカットメタルの配置位置に基づいて、検出したフローティング配線を分割するカットメタルの配置位置を決定する(ステップS1402)。例えば、設計支援装置101は、検出したフローティング配線上の、着目配線の両端に配置されたカットメタルそれぞれに対向する位置を、フローティング配線を分割するカットメタルの配置位置に決定する。
【0115】
そして、設計支援装置101は、決定した配置位置に新たなカットメタルを配置して(ステップS1403)、第1のカットメタル配置処理を呼び出したステップに戻る。
【0116】
これにより、信号配線(着目配線)に隣接するフローティング配線を介した容量結合を形成しないように、効率的にカットメタルを挿入することができる。
【0117】
つぎに、
図15を用いて、第2のカットメタル配置処理の具体的な処理手順について説明する。第2のカットメタル配置処理は、ステップS1301において取得されたレイアウトデータRDに基づいて実行される。
【0118】
図15は、第2のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、設計支援装置101は、マルチパターニング配線層において、着目配線を基準として、着目配線に隣接する配線方向に探索範囲ARを設定する(ステップS1501)。
【0119】
つぎに、設計支援装置101は、設定した探索範囲ARと重なるフローティング配線を検出する(ステップS1502)。そして、設計支援装置101は、着目配線の両端に配置されたカットメタルの配置位置に基づいて、検出したフローティング配線を分割するカットメタルの配置位置を決定する(ステップS1503)。
【0120】
例えば、設計支援装置101は、検出したフローティング配線上の、着目配線の両端に配置されたカットメタルそれぞれに対向する位置を、フローティング配線を分割するカットメタルの配置位置に決定する。つぎに、設計支援装置101は、決定した配置位置に新たなカットメタルを配置する(ステップS1504)。
【0121】
そして、設計支援装置101は、配置したカットメタルに関して、設計対象回路のデザインルールを満たしているか否かを判断する(ステップS1505)。ここで、デザインルールを満たしていない場合(ステップS1505:No)、設計支援装置101は、配置したカットメタルの配置位置を修正して(ステップS1506)、ステップS1505に戻る。例えば、設計支援装置101は、配置したカットメタルの配置位置を、デザインルールを満たし、かつ、修正前後の位置間の距離が最小となるように、フローティング配線上のいずれかの位置に修正する。
【0122】
一方、デザインルールを満たしている場合(ステップS1505:Yes)、設計支援装置101は、着目配線から検出したフローティング配線までの距離を算出する(ステップS1507)。そして、設計支援装置101は、算出した距離が規定値以上か否かを判断する(ステップS1508)。
【0123】
ここで、距離が規定値未満の場合(ステップS1508:No)、設計支援装置101は、マルチパターニング配線層において、検出したフローティング配線のうち、配置したカットメタルに挟まれた配線部分を基準として、当該配線部分に隣接する配線方向に探索範囲ARを設定して(ステップS1509)、ステップS1502に戻る。
【0124】
一方、距離が規定値以上の場合(ステップS1508:Yes)、設計支援装置101は、第1のカットメタル配置処理を呼び出したステップに戻る。
【0125】
これにより、クロストークノイズをより低減するために、着目配線に平行する1つ隣のフローティング配線だけでなく、規定された距離内の複数のフローティング配線をピックアップして、効率的にカットメタルを挿入することができる。また、新たなカットメタルを配置するたびにデザインルールチェックを行うことで、クロストークノイズを回避するためにデザインルール違反となることを防ぐことができる。
【0126】
以上説明したように、実施の形態2にかかる設計支援装置101によれば、設計対象回路に関するレイアウトデータRDに基づいて、マルチパターニング配線層の信号配線を特定し、特定した信号配線(着目配線)に隣接し、着目配線と平行する部分を有するフローティング配線を検出し、着目配線の両端に配置されたカットメタルの配置位置に基づいて、検出したフローティング配線を分割するカットメタルの配置位置を決定することができる。
【0127】
これにより、マルチパターニング技術を用いたレイアウト設計において、着目配線に隣接するフローティング配線を介した容量結合を分断する効果的なカットメタルの配置位置を決定することができる。
【0128】
また、設計支援装置101によれば、着目配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を、フローティング配線を分割するカットメタルの配置位置に決定することができる。例えば、着目配線の両端に配置されたカットメタルを、着目配線に直交するように配置された矩形のオブジェクトとする。この場合、設計支援装置101は、例えば、フローティング配線上で、着目配線の両端に配置されたカットメタルそれぞれの延長上の位置を、フローティング配線を分割するカットメタルの配置位置に決定する。
【0129】
これにより、着目配線に隣接するフローティング配線を介した容量結合を分断するためのより効果的なカットメタルの配置位置を決定することができる。
【0130】
また、設計支援装置101によれば、決定した配置位置にカットメタルを配置することができる。
【0131】
これにより、着目配線に隣接するフローティング配線を介した容量結合を分断する効果的な場所にカットメタルを挿入して、着目配線との間で容量結合を形成する別の信号配線を意識することなく、効率的にクロストークノイズを低減することができる。
【0132】
また、設計支援装置101によれば、決定した配置位置それぞれに新たなカットメタルを配置する、または、着目配線の両端に配置されたカットメタルを、当該カットメタルそれぞれに対応する、決定した配置位置まで延長することができる。
【0133】
これにより、新たなカットメタルを配置する、あるいは、着目配線の両端に配置済みのカットメタルを利用して、フローティング配線を分割することができる。
【0134】
また、設計支援装置101によれば、決定した配置位置に配置したカットメタルに関して、設計対象回路のデザインルールを満たしているか否かを判断し、デザインルールを満たしていない場合、配置したカットメタルの配置位置を、デザインルールを満たし、かつ、修正前後の位置間の距離が最小となるように、フローティング配線上のいずれかの位置に修正することができる。
【0135】
これにより、カットメタルを配置後にデザインルールチェックを行って、クロストークノイズを回避するためにデザインルール違反となることを防ぐことができる。
【0136】
また、設計支援装置101によれば、マルチパターニング配線層において、着目配線を基準として、着目配線に隣接する配線方向に探索範囲ARを設定し、設定した探索範囲ARと重なるフローティング配線を検出することができる。また、設計支援装置101によれば、着目配線から、検出したフローティング配線までの距離が規定値以上となるまで、マルチパターニング配線層において、検出したフローティング配線のうち、配置したカットメタルに挟まれた配線部分を基準として、当該配線部分に隣接する配線方向に探索範囲ARを設定し、設定した探索範囲ARと重なるフローティング配線を検出することができる。
【0137】
これにより、クロストークノイズを抑制するにあたり、着目配線に影響を及ぼす可能性があるフローティング配線を適切に検出することができる。例えば、クロストークノイズをより低減するために、着目配線に平行する1つ隣のフローティング配線だけでなく、規定された距離内の複数のフローティング配線をピックアップして、効率的にカットメタルを挿入することができる。
【0138】
また、設計支援装置101によれば、設計対象回路の配線間距離および配線幅に基づいて、探索範囲ARを設定することができる。
【0139】
これにより、マルチパターニング配線層において、基準とする配線に平行する1つ隣のフローティング配線を検出可能な範囲を設定することができる。
【0140】
また、設計支援装置101によれば、決定した配置位置にカットメタルを配置したレイアウトデータRD(修正後のレイアウトデータRD’)を出力することができる。
【0141】
これにより、着目配線に隣接するフローティング配線を介した容量結合を形成しないようにカットメタルが挿入されたレイアウトデータを提供することができる。
【0142】
また、設計支援装置101によれば、設計対象回路に関するディレイ評価結果に基づいて、対象信号を選択し、設計対象回路に関するディレイ評価後のレイアウトデータRDに基づいて、選択した対象信号について、マルチパターニング配線層の信号配線を特定し、特定した信号配線(着目配線)に隣接し、着目配線と平行する部分を有するフローティング配線をマルチパターニング配線層から検出することができる。
【0143】
これにより、クロストークノイズによって誤った値を順序回路に取り込む可能性が高いディレイの厳しい信号を優先して、クロストークノイズ対策を施すことができる。
【0144】
(実施の形態3)
つぎに、実施の形態3にかかる設計支援装置101について説明する。実施の形態3では、着目配線に隣接するフローティング配線上で、着目配線との隣接箇所にカットメタルをさらに追加することにより、クロストークノイズおよびディレイを削減する設計支援方法について説明する。なお、実施の形態1,2で説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
【0145】
(設計支援装置101の機能的構成例)
まず、実施の形態3にかかる設計支援装置101の機能的構成例について説明する。ただし、実施の形態3にかかる設計支援装置101の機能的構成例は、実施の形態2にかかる設計支援装置101の機能的構成例と同様のため、図示を省略する。以下、実施の形態2にかかる設計支援装置101と異なる機能について説明する。
【0146】
配置部405は、決定された配置位置に配置したカットメタルにより分割されたフローティング配線上の配線部分に、設計対象回路のデザインルールを満たすように、1または複数のカットメタルを配置する。カットメタルを追加することにより、着目配線に隣接するフローティング配線上の着目配線と隣接する配線部分の長さを、追加したカットメタルの幅分減らして、着目配線のカップリング容量を減少させる。
【0147】
具体的には、例えば、配置部405は、カットメタルにより分割されたフローティング配線上の配線部分を等分するように、当該配線部分にカットメタルを順次配置していくことにしてもよい。この際、配置部405は、カットメタルを配置するたびにデザインルールチェックを行うことで、デザインルール違反となることを防ぎつつ、カットメタルを追加することができる。
【0148】
1または複数のカットメタルの追加が行われた場合、出力部406によって出力される修正後のレイアウトデータRD’は、例えば、決定された配置位置にカットメタルを配置し、そのカットメタルに挟まれたフローティング配線上の配線部分にカットメタルをさらに追加したレイアウトデータRDとなる。
【0149】
(設計支援装置101の動作例)
つぎに、
図16および
図17を用いて、実施の形態3にかかる設計支援装置101の動作例について説明する。ここでは、
図9に示した配線レイアウトを例に挙げて、着目配線Aに隣接するフローティング配線B2(カットメタルCM21,CM22に挟まれた配線部分)上に、カットメタルを追加する場合について説明する。
【0150】
図16および
図17は、実施の形態3にかかる設計支援装置101の動作例を示す説明図である。
図16において、配置部405は、フローティング配線B2上に、デザインルールを満たすように、1または複数のカットメタルを配置する。フローティング配線B2は、着目配線Aに隣接するフローティング配線B(
図6参照)上に配置したカットメタルCM21,CM22により分割された配線部分である。
【0151】
ここでは、フローティング配線B2上にカットメタルCM23が配置された場合を想定する。カットメタルCM23を追加することにより、フローティング配線B2がフローティング配線B21とフローティング配線B22とに分割される。これにより、着目配線Aとフローティング配線B2との隣接する長さが、追加したカットメタルCM23の幅分減り、着目配線Aのカップリング容量が減少する。
【0152】
すなわち、ディレイの厳しい対象信号の信号配線Aの寄生容量を低減することができるため、ディレイ削減の効果が見込まれる。また、フローティング配線Fとフローティング配線B2の間のカップリング容量も減るため、例えば、フローティング配線Fが他の信号配線だった場合においては、フローティング配線B2を介した着目配線Aのクロストークノイズを削減することができる。
【0153】
また、ここではフローティング配線B2上に1つのカットメタルを配置する場合について説明したが、デザインルールを満たす範囲で、より多くのカットメタルを配置することで、高いクロストークノイズ削減効果が期待できる。ただし、着目配線Aを有する信号のディレイが削減されることが問題になる場合、例えば、レーシングする場合は、カットメタルの追加は行わないことにしてもよい。
【0154】
図17において、検出部403は、フローティング配線B2上にカットメタルCM23が配置された場合、マルチパターニング配線層M#において、フローティング配線B21,B22を基準として、フローティング配線B21,B22に隣接する配線方向に探索範囲AR21,AR22を設定する。
【0155】
具体的には、例えば、検出部403は、フローティング配線B21を、隣接する配線方向両側に、「配線間距離*1.5+配線幅」分それぞれ広げた図形を探索範囲AR21に設定する。また、検出部403は、フローティング配線B22を、隣接する配線方向両側に、「配線間距離*1.5+配線幅」分それぞれ広げた図形を探索範囲AR22に設定する。
【0156】
そして、検出部403は、設定した探索範囲AR21,AR22と重なるフローティング配線を検出する。以降の処理は、フローティング配線B2を基準として探索範囲AR2(例えば、
図10参照)を設定した場合と同様のため、図示および説明を省略する。
【0157】
(設計支援装置101の設計支援処理手順)
つぎに、実施の形態3にかかる設計支援装置101の設計支援処理手順について説明する。ただし、実施の形態3にかかる設計支援装置101の設計支援処理手順のうち、
図13に示したステップS1304のカットメタル配置処理以外の処理手順は、実施の形態2にかかる設計支援装置101の設計支援処理手順と同様である。このため、実施の形態3にかかる設計支援装置101のカットメタル配置処理(第3のカットメタル配置処理)の具体的な処理手順について説明する。
【0158】
図18は、第3のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
図18のフローチャートにおいて、まず、設計支援装置101は、マルチパターニング配線層において、着目配線を基準として、着目配線に隣接する配線方向に探索範囲ARを設定する(ステップS1801)。
【0159】
つぎに、設計支援装置101は、設定した探索範囲ARと重なるフローティング配線を検出する(ステップS1802)。そして、設計支援装置101は、着目配線の両端に配置されたカットメタルの配置位置に基づいて、検出したフローティング配線を分割するカットメタルの配置位置を決定する(ステップS1803)。
【0160】
つぎに、設計支援装置101は、決定した配置位置に新たなカットメタルを配置する(ステップS1804)。そして、設計支援装置101は、配置したカットメタルに関して、設計対象回路のデザインルールを満たしているか否かを判断する(ステップS1805)。ここで、デザインルールを満たしていない場合(ステップS1805:No)、設計支援装置101は、配置したカットメタルの配置位置を修正して(ステップS1806)、ステップS1805に戻る。
【0161】
一方、デザインルールを満たしている場合(ステップS1805:Yes)、設計支援装置101は、フローティング配線上に配置した新たなカットメタルに挟まれた配線部分に、デザインルールを満たすように、1または複数のカットメタルを配置する(ステップS1807)。
【0162】
つぎに、設計支援装置101は、着目配線から検出したフローティング配線までの距離を算出する(ステップS1808)。そして、設計支援装置101は、算出した距離が規定値以上か否かを判断する(ステップS1809)。
【0163】
ここで、距離が規定値未満の場合(ステップS1809:No)、設計支援装置101は、マルチパターニング配線層において、検出したフローティング配線のうち、配置したカットメタルに挟まれた配線部分それぞれを基準として、当該配線部分に隣接する配線方向に探索範囲ARを設定して(ステップS1810)、ステップS1802に戻る。
【0164】
一方、距離が規定値以上の場合(ステップS1809:Yes)、設計支援装置101は、第1のカットメタル配置処理を呼び出したステップに戻る。
【0165】
これにより、着目配線に隣接するフローティング配線上で、着目配線との隣接箇所にカットメタルをさらに追加することができる。
【0166】
以上説明したように、実施の形態3にかかる設計支援装置101によれば、配置したカットメタルにより分割されたフローティング配線上の配線部分に、設計対象回路のデザインルールを満たすように、1または複数のカットメタルを配置することができる。
【0167】
これにより、着目配線とフローティング配線との隣接する長さを追加したカットメタルの幅分減らして、着目配線のカップリング容量を減少させることができる。この結果、例えば、ディレイの厳しい対象信号の信号配線の寄生容量を低減させ、ディレイを削減することができる。また、フローティング配線がさらに別の信号配線と隣接している場合に、フローティング配線を介した着目配線のクロストークノイズについても削減することができる。
【0168】
(実施の形態4)
つぎに、実施の形態4にかかる設計支援装置101について説明する。実施の形態4では、着目配線に隣接するフローティング配線上にカットメタルを配置可能な許容範囲を設定する場合について説明する。なお、実施の形態1~3で説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
【0169】
(設計支援装置101の機能的構成例)
まず、実施の形態4にかかる設計支援装置101の機能的構成例について説明する。ただし、実施の形態4にかかる設計支援装置101の機能的構成例は、実施の形態2にかかる設計支援装置101の機能的構成例と同様のため、図示を省略する。以下、実施の形態2にかかる設計支援装置101と異なる機能について説明する。
【0170】
決定部404は、検出されたフローティング配線を分割するカットメタルの配置位置を決定するにあたり、フローティング配線上にカットメタルの配置可能範囲を設定する。具体的には、例えば、決定部404は、着目配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を基準として、フローティング配線上にカットメタルの配置可能範囲を設定する。
【0171】
カットメタルの配置可能範囲は、任意に設定可能であり、例えば、許容可能な隣接配線間容量値に基づいて設定される。具体的には、例えば、決定部404は、予めノイズの影響が許容できる隣接配線間容量値の閾値を決め、その容量値以下となる隣接配線の長さL1を算出する。
【0172】
ここで、長さL1の算出例について説明する。まず、決定部404は、シミュレーションによりINV,NANDなどのゲートの出力配線とLXの平行配線長を持つ隣接配線間のノイズ量NXと配線間容量値CXを測定する。つぎに、決定部404は、例えば、チップ設計で決められたノイズ制限値NLとして、下記式(1)を用いて、ノイズ量NXと配線間容量値CXの測定結果から、ノイズ制限値NLとなる隣接配線間容量値の閾値CLを求める。この閾値CLは、例えば、ゲート間の結線時のノイズ対策に使用される。
【0173】
【0174】
ここで、影響を許容できるノイズ量をノイズ制限値の1/10とする。マルチパターニング配線層では、配線幅、配線間距離が固定のため、平行配線長と配線間の容量値は比例する。このため、ノイズの影響を許容できる隣接配線長の長さL1は、下記式(2)を用いて求めることができる。
【0175】
【0176】
決定部404は、着目配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を基準として、算出した長さL1分、配線方向両側に広げた範囲を、配置可能範囲に設定する。そして、決定部404は、設定した配置可能範囲内のいずれかの位置を、フローティング配線を分割するカットメタルの配置位置に決定する。
【0177】
具体的には、例えば、決定部404は、設計対象回路のデザインルールを満たすように、配置可能範囲内のいずれかの位置を、カットメタルの配置位置に決定する。より詳細に説明すると、例えば、決定部404は、デザインルールを満たし、かつ、基準とした位置からの距離が最小となるように、配置可能範囲内のいずれかの位置に決定してもよい。
【0178】
なお、決定部404は、例えば、着目配線の両端に配置されたカットメタルに対向するフローティング配線上の位置にカットメタルを配置できない場合に、フローティング配線上にカットメタルの配置可能範囲を設定することにしてもよい。
【0179】
(設計支援装置101の動作例)
つぎに、
図19~
図21を用いて、実施の形態4にかかる設計支援装置101の動作例について説明する。ここでは、
図6に示した配線レイアウトを例に挙げて、着目配線Aに隣接するフローティング配線B上に、カットメタルの配置可能範囲を設定する場合について説明する。
【0180】
図19~
図21は、実施の形態4にかかる設計支援装置101の動作例を示す説明図である。
図19において、決定部404は、着目配線Aの両端に配置されたカットメタルCM11,CM12それぞれに対向するフローティング配線B上の位置1901,1902を基準とする。
【0181】
そして、決定部404は、フローティング配線B上の位置1901,1902を基準として、フローティング配線B上にカットメタルの配置可能範囲を設定する。具体的には、例えば、決定部404は、フローティング配線B上の位置1901を基準として、配線方向両側に長さL1分広げた範囲H1を配置可能範囲に設定する。また、決定部404は、フローティング配線B上の位置1902を基準として、配線方向両側に長さL1分広げた範囲H2を配置可能範囲に設定する。
【0182】
図20において、決定部404は、設定した各配置可能範囲H1,H2内のいずれかの位置を、フローティング配線Bを分割するカットメタルの配置位置に決定する。ここでは、デザインルールを満たす、配置可能範囲H1内の位置2001と、配置可能範囲H2内の位置2002とが、カットメタルの配置位置に決定された場合を想定する。
【0183】
図21において、配置部405は、決定された配置位置に新たなカットメタルを配置する。ここでは、フローティング配線B上の位置2001(
図20参照)にカットメタルCM21が配置され、フローティング配線B上の位置2002(
図20参照)にカットメタルCM22が配置される。この結果、フローティング配線Bが、フローティング配線B1,B2,B3に分断される。
【0184】
ここで、フローティング配線B1,B3は、着目配線Aとの間に平行する部分がない。このため、カットメタルCM21より左側と、カットメタルCM22より右側のフローティング配線を介した容量結合を分断することができ、クロストークノイズを低減することができる。
【0185】
(設計支援装置101の設計支援処理手順)
つぎに、実施の形態4にかかる設計支援装置101の設計支援処理手順について説明する。
【0186】
図22は、実施の形態4にかかる設計支援装置101の設計支援処理手順の一例を示すフローチャートである。
図22のフローチャートにおいて、まず、設計支援装置101は、設計対象回路に関するレイアウトデータRDを取得したか否かを判断する(ステップS2201)。
【0187】
ここで、設計支援装置101は、レイアウトデータRDを取得するのを待つ(ステップS2201:No)。そして、設計支援装置101は、レイアウトデータRDを取得した場合(ステップS2201:Yes)、隣接配線の長さL1を算出する(ステップS2202)。
【0188】
そして、設計支援装置101は、設計対象回路に関するディレイ評価結果(STA結果)を参照して、対象信号を選択する(ステップS2203)。つぎに、設計支援装置101は、取得したレイアウトデータRDに基づいて、対象信号についてマルチパターニング配線層の信号配線を特定する(ステップS2204)。
【0189】
そして、設計支援装置101は、特定した信号配線である着目配線に関する第4のカットメタル配置処理を実行する(ステップS2205)。第4のカットメタル配置処理の具体的な処理手順については、
図23を用いて後述する。
【0190】
つぎに、設計支援装置101は、取得したレイアウトデータRDに基づいて、対象信号についてマルチパターニング配線層の特定されていない未特定の信号配線があるか否かを判断する(ステップS2206)。ここで、未特定の信号配線がある場合(ステップS2206:Yes)、設計支援装置101は、ステップS2204に戻る。
【0191】
一方、未特定の信号配線がない場合(ステップS2206:No)、設計支援装置101は、設計対象回路に関するディレイ評価結果を参照して、選択されていない未選択の対象信号があるか否かを判断する(ステップS2207)。ここで、未選択の対象信号がある場合(ステップS2207:Yes)、設計支援装置101は、ステップS2203に戻る。
【0192】
一方、未選択の対象信号がない場合(ステップS2207:No)、設計支援装置101は、修正後のレイアウトデータRD’を出力して(ステップS2208)、本フローチャートによる一連の処理を終了する。
【0193】
これにより、信号配線(着目配線)に隣接するフローティング配線を介した容量結合を回避して、クロストークノイズを低減することができる。
【0194】
つぎに、
図23を用いて、ステップS2205の第4のカットメタル配置処理の具体的な処理手順について説明する。ここでは、フローティング配線上にカットメタルを配置する処理として、新たなカットメタルを配置する場合を例に挙げて説明する。
【0195】
図23は、第4のカットメタル配置処理の具体的処理手順の一例を示すフローチャートである。
図23のフローチャートにおいて、まず、設計支援装置101は、マルチパターニング配線層において、着目配線を基準として、着目配線に隣接する配線方向に探索範囲ARを設定する(ステップS2301)。
【0196】
つぎに、設計支援装置101は、設定した探索範囲ARと重なるフローティング配線を検出する(ステップS2302)。そして、設計支援装置101は、着目配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を基準として、検出したフローティング配線上にカットメタルの配置可能範囲を設定する(ステップS2303)。
【0197】
つぎに、設計支援装置101は、設定した配置可能範囲内のいずれかの位置を、フローティング配線を分割するカットメタルの配置位置に決定する(ステップS2304)。そして、設計支援装置101は、決定した配置位置に新たなカットメタルを配置する(ステップS2305)。
【0198】
つぎに、設計支援装置101は、配置したカットメタルに関して、設計対象回路のデザインルールを満たしているか否かを判断する(ステップS2306)。ここで、デザインルールを満たしていない場合(ステップS2306:No)、設計支援装置101は、配置したカットメタルの配置位置を修正して(ステップS2307)、ステップS2306に戻る。
【0199】
一方、デザインルールを満たしている場合(ステップS2306:Yes)、設計支援装置101は、着目配線から検出したフローティング配線までの距離を算出する(ステップS2308)。そして、設計支援装置101は、算出した距離が規定値以上か否かを判断する(ステップS2309)。
【0200】
ここで、距離が規定値未満の場合(ステップS2309:No)、設計支援装置101は、マルチパターニング配線層において、検出したフローティング配線のうち、配置したカットメタルに挟まれた配線部分を基準として、当該配線部分に隣接する配線方向に探索範囲ARを設定して(ステップS2310)、ステップS2302に戻る。
【0201】
一方、距離が規定値以上の場合(ステップS2309:Yes)、設計支援装置101は、第1のカットメタル配置処理を呼び出したステップに戻る。
【0202】
これにより、着目配線に隣接するフローティング配線上にカットメタルを配置可能な許容範囲を設定して、その許容範囲内でフローティング配線を分割するカットメタルの配置位置を決定することができる。
【0203】
以上説明したように、実施の形態4にかかる設計支援装置101によれば、着目配線の両端に配置されたカットメタルそれぞれに対向するフローティング配線上の位置を基準として、フローティング配線上にカットメタルの配置可能範囲を設定することができる。そして、設計支援装置101によれば、設定した配置可能範囲内のいずれかの位置を、フローティング配線を分割するカットメタルの配置位置に決定することができる。
【0204】
これにより、フローティング配線において、着目配線の両端のカットメタルの延長線上に、新たなカットメタルを配置できないような場合であっても、デザインルール等のクロストークノイズ以外の配置制約を考慮しながら柔軟に対応することができる。
【0205】
これらのことから、実施の形態1~4にかかる設計支援装置101によれば、マルチパターニング技術による配線を用いる設計対象回路について、フローティング配線を介した容量結合を分断するための効果的な場所を決定して、その場所にカットメタルを挿入することで、効率的にクロストークノイズを低減することができる。
【0206】
なお、各実施の形態1~4は、矛盾の無い範囲で組み合わせて実施することができる。例えば、実施の形態4にかかる設計支援装置101は、実施の形態3にかかる設計支援装置101と同一の機能を有することにしてもよい。
【0207】
また、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【0208】
また、本実施の形態で説明した設計支援装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0209】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0210】
(付記1)設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、
前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、
処理をコンピュータに実行させることを特徴とする設計支援プログラム。
【0211】
(付記2)前記決定する処理は、
前記両端に配置されたカットメタルそれぞれに対向する前記フローティング配線上の位置を、前記フローティング配線を分割するカットメタルの配置位置に決定する、ことを特徴とする付記1に記載の設計支援プログラム。
【0212】
(付記3)前記両端に配置されたカットメタルは、前記信号配線に直交するように配置された矩形のオブジェクトであり、
前記決定する処理は、
前記フローティング配線上で、前記両端に配置されたカットメタルそれぞれの延長上の位置を、前記フローティング配線を分割するカットメタルの配置位置に決定する、ことを特徴とする付記1または2に記載の設計支援プログラム。
【0213】
(付記4)決定した前記配置位置にカットメタルを配置する、
処理を前記コンピュータに実行させることを特徴とする付記1~3のいずれか一つに記載の設計支援プログラム。
【0214】
(付記5)前記配置する処理は、
決定した前記配置位置それぞれに新たなカットメタルを配置する、または、前記両端に配置されたカットメタルを当該カットメタルそれぞれに対応する前記配置位置まで延長する、ことを特徴とする付記4に記載の設計支援プログラム。
【0215】
(付記6)決定した前記配置位置に配置したカットメタルに関して、前記設計対象回路のデザインルールを満たしているか否かを判断し、
前記デザインルールを満たしていない場合、前記配置したカットメタルの配置位置を、前記デザインルールを満たし、かつ、修正前後の位置間の距離が最小となるように、前記フローティング配線上のいずれかの位置に修正する、
処理を前記コンピュータに実行させることを特徴とする付記4または5に記載の設計支援プログラム。
【0216】
(付記7)前記検出する処理は、
前記マルチパターニング配線層において、前記信号配線を基準として、当該信号配線に隣接する配線方向に所定の探索範囲を設定し、設定した前記探索範囲と重なるフローティング配線を検出し、
前記信号配線から検出した前記フローティング配線までの距離が規定値以上となるまで、前記マルチパターニング配線層において、当該フローティング配線のうち、前記配置したカットメタルに挟まれた配線部分を基準として、当該配線部分に隣接する配線方向に前記探索範囲を設定し、設定した前記探索範囲と重なるフローティング配線を検出する、
ことを特徴とする付記4~6のいずれか一つに記載の設計支援プログラム。
【0217】
(付記8)前記探索範囲は、前記設計対象回路の配線間距離および配線幅に基づいて設定される、ことを特徴とする付記7に記載の設計支援プログラム。
【0218】
(付記9)前記配置したカットメタルにより分割された前記フローティング配線上の配線部分に、前記設計対象回路のデザインルールを満たすように、1または複数のカットメタルを配置する、
処理を前記コンピュータに実行させることを特徴とする付記4~8のいずれか一つに記載の設計支援プログラム。
【0219】
(付記10)決定した前記配置位置にカットメタルを配置した前記レイアウトデータを出力する、処理を前記コンピュータに実行させることを特徴とする付記4~9のいずれか一つに記載の設計支援プログラム。
【0220】
(付記11)前記両端に配置されたカットメタルそれぞれに対向する前記フローティング配線上の位置を基準として、前記フローティング配線上にカットメタルの配置可能範囲を設定する、処理を前記コンピュータに実行させ、
前記決定する処理は、
設定した前記配置可能範囲内のいずれかの位置を、前記フローティング配線を分割するカットメタルの配置位置に決定する、ことを特徴とする付記1~10のいずれか一つに記載の設計支援プログラム。
【0221】
(付記12)前記配置可能範囲は、許容可能な隣接配線間容量値に基づいて設定される、ことを特徴とする付記11に記載の設計支援プログラム。
【0222】
(付記13)前記レイアウトデータは、前記設計対象回路に関するディレイ評価後のレイアウトデータであり、
前記設計対象回路に関するディレイ評価結果に基づいて、前記設計対象回路内の信号から処理対象の信号を選択し、
前記レイアウトデータに基づいて、選択した前記処理対象の信号について、マルチパターニング配線層の信号配線を特定する、
処理を前記コンピュータに実行させ、
前記検出する処理は、
特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を前記マルチパターニング配線層から検出する、ことを特徴とする付記1~12のいずれか一つに記載の設計支援プログラム。
【0223】
(付記14)設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、
前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、
処理をコンピュータが実行することを特徴とする設計支援方法。
【0224】
(付記15)設計対象回路に関するレイアウトデータに基づいて、マルチパターニング配線層の信号配線を特定し、特定した前記信号配線に隣接し、前記信号配線と平行する部分を有するフローティング配線を検出し、
前記信号配線の両端に配置されたカットメタルの配置位置に基づいて、検出した前記フローティング配線を分割するカットメタルの配置位置を決定する、
制御部を有することを特徴とする設計支援装置。
【符号の説明】
【0225】
101 設計支援装置
110,RD レイアウトデータ
120 マルチパターニング配線層
121,123 信号配線
122,122-1,122-2,122-3 フローティング配線
131,132 カットメタル
200 情報処理システム
201 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
401 取得部
402 特定部
403 検出部
404 決定部
405 配置部
406 出力部
AR 探索範囲
RD’ 修正後のレイアウトデータ