JP4326462B2 - 半導体集積回路の設計を支援する設計支援装置、設計支援プログラム、及び設計支援方法 - Google Patents
半導体集積回路の設計を支援する設計支援装置、設計支援プログラム、及び設計支援方法 Download PDFInfo
- Publication number
- JP4326462B2 JP4326462B2 JP2004336329A JP2004336329A JP4326462B2 JP 4326462 B2 JP4326462 B2 JP 4326462B2 JP 2004336329 A JP2004336329 A JP 2004336329A JP 2004336329 A JP2004336329 A JP 2004336329A JP 4326462 B2 JP4326462 B2 JP 4326462B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- driver
- net
- diagonal
- reference point
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
例えば、楕円の式をf(x,y)=x^2/a+y^2/b−cとすると、レシーバRの入力端子のxy座標を代入して、f(x、y)<0となるようなa、b、cは探せば済む。ドライバDが、その楕円の外部にあるかどうかについても、ドライバDの出力端子のxy座標を代入してf(x、y)>0となれば外部にあると簡単に判定することができる。
ここで、y1は、ドライバの出力端子のy座標と基準点のy座標のうち値が小さい方の値、y2は、ドライバの出力端子のy座標と基準点のy座標のうち値が大きい方の値である。
第2の実施形態と異なる箇所は、ステップS31の前段に、斜め配線の傾きを決定するステップが設けられている点であり、それ以外の箇所は、第2の実施形態における動作フロー(図16)と同じであるため説明は省略する。
論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定するレイアウトプログラムが格納される記憶部と、前記記憶部から前記レイアウトプログラムを読み出して実行する制御部とを有する設計支援装置であって、
前記記憶部には、前記複数のセルが配置される位置を特定する位置情報が格納され、
前記制御部は、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行う位置判定機能と、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置するレイアウト機能とを前記レイアウトプログラムを実行して実現することを特徴とする設計支援装置。
付記1において、
前記制御部は、更に、前記ドライバの前記出力端子と前記基準点とを結ぶ線分の傾き、及び、前記斜め配線の傾きに基づき、該斜め配線に隣接する配線の方向を縦方向又は横方向と決定し、前記斜め配線を前記決定された隣接配線方向に平行移動させて、前記斜め配線を配置可能な範囲を見つける探索を行う探索機能を、前記レイアウトプログラムを実行して実現し、
前記レイアウト機能では、前記探索された範囲において選択された位置に前記斜め配線を配置すると仮定するとき、それぞれ、前記仮配置された前記斜め配線の両端のうち前記ドライバに近い端点は前記ドライバの前記出力端子と、前記基準点に近い端点は前記基準点と、縦方向及び/又は横方向の配線により接続可能かが確認される接続判定が行われ、接続可能であれば該選択された位置に前記斜め配線が配置されることを特徴とする設計支援装置。
付記2において、
前記探索機能では、前記斜め配線の長さを予め設定された所定の初期値として前記探索が開始され、前記斜め配線を配置可能な範囲がない場合、該斜め配線の長さを前記所定の初期値より短くして再探索が行われることを特徴とする設計支援装置。
付記3において、
前記探索機能では、前記斜め配線の長さが第1の閾値以下となる場合、前記探索が中止されることを特徴とする設計支援装置。
付記1又は2において、
前記所定の領域は、前記1つ又は複数のレシーバを囲む最小の矩形であることを特徴とする設計支援装置。
付記1又は2において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記位置判定機能では、前記複数のネットのうち、前記遅延時間が第2の閾値以上である前記経路を含む前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。
付記1又は2において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記位置判定機能では、前記遅延時間が長い前記ネットから順に前記位置判定が行われることを特徴とする設計支援装置。
付記1又は2において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記位置判定機能では、前記複数のネットのうち、前記差が第3の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。(6)
(付記9)
付記1又は2において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記位置判定機能では、前記差が大きい前記ネットから順に前記位置判定が行われることを特徴とする設計支援装置。
付記1又は2において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間と、前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差とが、それぞれ前記ネット毎に算出されており、
前記位置判定機能では、前記遅延時間と前記差とに重み付き係数を掛けて算出される評価値に基づき前記ネットの順位が決定され、前記順位の高い前記ネットから順に前記位置判定が行われることを特徴とする設計支援装置。
付記1又は2において、
前記位置判定機能では、前記ネットに含まれる前記ドライバから前記レシーバまでの最長距離が前記ネット毎に算出され、前記複数のネットのうち、前記最長距離が第4の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。
付記1又は2において、
前記位置判定機能では、前記ネットに含まれる前記1つ又は複数のレシーバを接続する木が探索され、前記木の全長が前記ネット毎に算出され、前記全長が第5の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。
付記1又は2において、
前記位置判定機能では、前記ネット毎に前記所定の領域の面積が算出され、前記面積が第6の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。
付記1又は2において、
前記配線レイアウトは、互いに直交するx軸とy軸とによって形成される2次元平面にて決定され、
前記斜め配線は、前記x軸に対してα度(0<α<90)をなす第1の斜め配線と前記x軸に対してβ度(90<β<180)をなす第2の斜め配線とを含み、
前記レイアウト機能では、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さい場合には、前記第1の斜め配線が使用され、該線分が前記x軸となす角が90度より大きい場合には、前記第2の斜め配線が使用されることを特徴とする設計支援装置。
付記1又は2において、
前記第1の斜め配線の傾きは、前記第1の斜め配線の傾きを変化させて第1の合計値を算出するとき、前記第1の合計値を最大にする傾きであり、
前記第2の斜め配線の傾きは、前記第2の斜め配線の傾きを変化させて第2の合計値を算出するとき、前記第2の合計値を最大にする傾きであって、
前記第1の合計値は、前記第1の斜め配線の傾きを固定するとき、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さいという第1の条件を満たす前記基準点に対して、前記ドライバの前記出力端子と前記第1の条件を満たす基準点とのマンハッタン距離と、前記ドライバから前記条件を満たす基準点までを該傾きの固定された第1の斜め配線を用いた配線で接続する場合の配線長との差の前記複数のネットでの合計値として算出され、
前記第2の合計値は、前記第2の斜め配線の傾きを固定するとき、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が90度より大きいという第2の条件を満たす前記基準点に対して、前記ドライバの前記出力端子と前記第2の条件を満たす基準点とのマンハッタン距離と、前記ドライバから前記第2の条件を満たす基準点までを該傾きの固定された第2の斜め配線を用いた配線で接続する場合の配線長との差の前記複数のネットでの合計値として算出されることを特徴とする設計支援装置。
論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定する配線設計支援装置であって、
前記複数のセルが配置される位置を特定する位置情報が格納される記憶部と、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行う位置判定部と、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置するレイアウト部とを有することを特徴とする設計支援装置。
付記16において、更に、
前記ドライバの前記出力端子と前記基準点とを結ぶ線分の傾き、及び、前記斜め配線の傾きに基づき、該斜め配線に隣接する配線の方向を縦方向又は横方向と決定し、前記斜め配線を前記決定された隣接配線方向に平行移動させて、前記斜め配線を配置可能な範囲を見つける探索を行う探索部を有し、
前記レイアウト部は、前記探索された範囲において選択された位置に前記斜め配線を配置すると仮定するとき、それぞれ、前記仮配置された前記斜め配線の両端のうち前記ドライバに近い端点は前記ドライバの前記出力端子と、前記基準点に近い端点は前記基準点と、縦方向及び/又は横方向の配線により接続可能かを確認する接続判定が行われ、接続可能であれば該選択された位置に前記斜め配線を配置することを特徴とする設計支援装置。
論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定し、かつ、前記複数のセルが配置される位置を特定する位置情報が格納されるコンピュータに、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行う位置判定機能と、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置するレイアウト機能とを実現させるためのプログラム。
付記18において、
更に、前記ドライバの前記出力端子と前記基準点とを結ぶ線分の傾き、及び、前記斜め配線の傾きに基づき、該斜め配線に隣接する配線の方向を縦方向又は横方向と決定し、前記斜め配線を前記決定された隣接配線方向に平行移動させて、前記斜め配線を配置可能な範囲を見つける探索を行う探索機能を実現させ、
前記レイアウト機能では、前記探索された範囲において選択された位置に前記斜め配線を配置すると仮定するとき、それぞれ、前記仮配置された前記斜め配線の両端のうち前記ドライバに近い端点は前記ドライバの前記出力端子と、前記基準点に近い端点は前記基準点と、縦方向及び/又は横方向の配線により接続可能かが確認される接続判定が行われ、接続可能であれば該選択された位置に前記斜め配線が配置されることを特徴とするプログラム。
付記19において、
前記探索機能では、前記斜め配線の長さを予め設定された所定の初期値として前記探索が開始され、前記斜め配線を配置可能な範囲がない場合、該斜め配線の長さを前記所定の初期値より短くして再探索が行われることを特徴とするプログラム。
付記20において、
前記探索機能では、前記斜め配線の長さが第1の閾値以下となる場合、前記探索が中止されることを特徴とするプログラム。
付記18又は19において、
前記所定の領域は、前記1つ又は複数のレシーバを囲む最小の矩形であることを特徴とするプログラム。
付記18又は19において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記位置判定機能では、前記複数のネットのうち、前記遅延時間が第2の閾値以上である前記経路を含む前記ネットが前記位置判定の対象とされることを特徴とするプログラム。
付記18又は19において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記位置判定機能では、前記遅延時間が長い前記ネットから順に前記位置判定が行われることを特徴とするプログラム。
付記18又は19において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記位置判定機能では、前記複数のネットのうち、前記差が第3の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とするプログラム。
付記18又は19において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記位置判定機能では、前記差が大きい前記ネットから順に前記位置判定が行われることを特徴とするプログラム。
付記18又は19において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間と、前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差とが、それぞれ前記ネット毎に算出されており、
前記位置判定機能では、前記遅延時間と前記差とに重み付き係数を掛けて算出される評価値に基づき前記ネットの順位が決定され、前記順位の高い前記ネットから順に前記位置判定が行われることを特徴とするプログラム。
付記18又は19において、
前記位置判定機能では、前記ネットに含まれる前記ドライバから前記レシーバまでの最長距離が前記ネット毎に算出され、前記複数のネットのうち、前記最長距離が第4の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とするプログラム。
付記18又は19において、
前記位置判定機能では、前記ネットに含まれる前記1つ又は複数のレシーバを接続する木が探索され、前記木の全長が前記ネット毎に算出され、前記全長が第5の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とするプログラム。
付記18又は19において、
前記位置判定機能では、前記ネット毎に前記所定の領域の面積が算出され、前記面積が第6の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とするプログラム。
付記18又は19において、
前記配線レイアウトは、互いに直交するx軸とy軸とによって形成される2次元平面にて決定され、
前記斜め配線は、前記x軸に対してα度(0<α<90)をなす第1の斜め配線と前記x軸に対してβ度(90<β<180)をなす第2の斜め配線とを含み、
前記レイアウト機能では、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さい場合には、前記第1の斜め配線が使用され、該線分が前記x軸となす角が90度より大きい場合には、前記第2の斜め配線が使用されることを特徴とするプログラム。
付記18又は19において、
前記第1の斜め配線の傾きは、前記第1の斜め配線の傾きを変化させて第1の合計値を算出するとき、前記第1の合計値を最大にする傾きであり、
前記第2の斜め配線の傾きは、前記第2の斜め配線の傾きを変化させて第2の合計値を算出するとき、前記第2の合計値を最大にする傾きであって、
前記第1の合計値は、前記第1の斜め配線の傾きを固定するとき、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さいという第1の条件を満たす前記基準点に対して、前記ドライバの前記出力端子と前記第1の条件を満たす基準点とのマンハッタン距離と、前記ドライバから前記条件を満たす基準点までを該傾きの固定された第1の斜め配線を用いた配線で接続する場合の配線長との差の前記複数のネットでの合計値として算出され、
前記第2の合計値は、前記第2の斜め配線の傾きを固定するとき、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が90度より大きいという第2の条件を満たす前記基準点に対して、前記ドライバの前記出力端子と前記第2の条件を満たす基準点とのマンハッタン距離と、前記ドライバから前記第2の条件を満たす基準点までを該傾きの固定された第2の斜め配線を用いた配線で接続する場合の配線長との差の前記複数のネットでの合計値として算出されることを特徴とするプログラム。
論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定する設計支援方法であって、
予め前記複数のセルが配置される位置を特定する位置情報が記憶されており、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、
前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行い、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、
前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置することを特徴とする設計支援方法。
付記33において、更に、
前記ドライバの前記出力端子と前記基準点とを結ぶ線分の傾き、及び、前記斜め配線の傾きに基づき、該斜め配線に隣接する配線の方向を縦方向又は横方向と決定し、
前記斜め配線を前記決定された隣接配線方向に平行移動させて、前記斜め配線を配置可能な範囲を見つける探索を行い、
前記探索された範囲において選択された位置に前記斜め配線を配置すると仮定するとき、それぞれ、前記仮配置された前記斜め配線の両端のうち前記ドライバに近い端点は前記ドライバの前記出力端子と、前記基準点に近い端点は前記基準点と、縦方向及び/又は横方向の配線により接続可能かを確認する接続判定を行い、
接続可能であれば該選択された位置に前記斜め配線を配置することを特徴とする設計支援方法。
付記34において、
前記斜め配線の長さを予め設定された所定の初期値として前記探索が開始され、前記斜め配線を配置可能な範囲がない場合、該斜め配線の長さを前記所定の初期値より短くして再探索が行われることを特徴とする設計支援方法。
付記35において、
前記斜め配線の長さが第1の閾値以下となる場合、前記探索が中止されることを特徴とする設計支援方法。
付記33又は34において、
前記所定の領域は、前記1つ又は複数のレシーバを囲む最小の矩形であることを特徴とする設計支援方法。
付記33又は34において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記複数のネットのうち、前記遅延時間が第2の閾値以上である前記経路を含む前記ネットが前記位置判定の対象とされることを特徴とする設計支援方法。
付記33又は34において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記遅延時間が長い前記ネットから順に前記位置判定が行われることを特徴とするレイアウ方法。ト
(付記40)
付記33又は34において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記複数のネットのうち、前記差が第3の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援方法。
付記33又は34において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記差が大きい前記ネットから順に前記位置判定が行われることを特徴とする設計支援方法。
付記33又は34において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間と、前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差とが、それぞれ前記ネット毎に算出されており、
前記遅延時間と前記差とに重み付き係数を掛けて算出される評価値に基づき前記ネットの順位が決定され、前記順位の高い前記ネットから順に前記位置判定が行われることを特徴とする設計支援方法。
付記33又は34において、
前記ネットに含まれる前記ドライバから前記レシーバまでの最長距離が前記ネット毎に算出され、前記複数のネットのうち、前記最長距離が第4の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援方法。
付記33又は34において、
前記ネットに含まれる前記1つ又は複数のレシーバを接続する木が探索され、前記木の全長が前記ネット毎に算出され、前記全長が第5の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援方法。
付記33又は34において、
前記ネット毎に前記所定の領域の面積が算出され、前記面積が第6の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援方法。
付記33又は34において、
前記配線レイアウトは、互いに直交するx軸とy軸とによって形成される2次元平面にて決定され、
前記斜め配線は、前記x軸に対してα度(0<α<90)をなす第1の斜め配線と前記x軸に対してβ度(90<β<180)をなす第2の斜め配線とを含み、
前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さい場合には、前記第1の斜め配線が使用され、該線分が前記x軸となす角が90度より大きい場合には、前記第2の斜め配線が使用されることを特徴とする設計支援方法。
付記33又は34において、
前記第1の斜め配線の傾きは、前記第1の斜め配線の傾きを変化させて第1の合計値を算出するとき、前記第1の合計値を最大にする傾きであり、
前記第2の斜め配線の傾きは、前記第2の斜め配線の傾きを変化させて第2の合計値を算出するとき、前記第2の合計値を最大にする傾きであって、
前記第1の合計値は、前記第1の斜め配線の傾きを固定するとき、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さいという第1の条件を満たす前記基準点に対して、前記ドライバの前記出力端子と前記第1の条件を満たす基準点とのマンハッタン距離と、前記ドライバから前記条件を満たす基準点までを該傾きの固定された第1の斜め配線を用いた配線で接続する場合の配線長との差の前記複数のネットでの合計値として算出され、
前記第2の合計値は、前記第2の斜め配線の傾きを固定するとき、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が90度より大きいという第2の条件を満たす前記基準点に対して、前記ドライバの前記出力端子と前記第2の条件を満たす基準点とのマンハッタン距離と、前記ドライバから前記第2の条件を満たす基準点までを該傾きの固定された第2の斜め配線を用いた配線で接続する場合の配線長との差の前記複数のネットでの合計値として算出されることを特徴とする設計支援方法。
Claims (10)
- 論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定するレイアウトプログラムが格納される記憶部と、前記記憶部から前記レイアウトプログラムを読み出して実行する制御部とを有する設計支援装置であって、
前記記憶部には、前記複数のセルが配置される位置を特定する位置情報が格納され、
前記制御部は、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行う位置判定機能と、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置するレイアウト機能とを前記レイアウトプログラムを実行して実現することを特徴とする設計支援装置。 - 請求項1において、
前記制御部は、更に、前記ドライバの前記出力端子と前記基準点とを結ぶ線分の傾き、及び、前記斜め配線の傾きに基づき、該斜め配線に隣接する配線の方向を縦方向又は横方向と決定し、前記斜め配線を前記決定された隣接配線方向に平行移動させて、前記斜め配線を配置可能な範囲を見つける探索を行う探索機能を、前記レイアウトプログラムを実行して実現し、
前記レイアウト機能では、前記探索された範囲において選択された位置に前記斜め配線を配置すると仮定するとき、それぞれ、前記仮配置された前記斜め配線の両端のうち前記ドライバに近い端点は前記ドライバの前記出力端子と、前記基準点に近い端点は前記基準点と、縦方向及び/又は横方向の配線により接続可能かが確認される接続判定が行われ、接続可能であれば該選択された位置に前記斜め配線が配置されることを特徴とする設計支援装置。 - 請求項2において、
前記探索機能では、前記斜め配線の長さを予め設定された所定の初期値として前記探索が開始され、前記斜め配線を配置可能な範囲がない場合、該斜め配線の長さを前記所定の初期値より短くして再探索が行われることを特徴とする設計支援装置。 - 請求項1又は2において、
前記所定の領域は、前記1つ又は複数のレシーバを囲む最小の矩形であることを特徴とする設計支援装置。 - 請求項1又は2において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間が、前記ネット毎に算出されており、
前記位置判定機能では、前記複数のネットのうち、前記遅延時間が第2の閾値以上である前記経路を含む前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。 - 請求項1又は2において、
前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差が前記ネット毎に算出されており、
前記位置判定機能では、前記複数のネットのうち、前記差が第3の閾値以上である前記ネットが前記位置判定の対象とされることを特徴とする設計支援装置。 - 請求項1又は2において、
前記ドライバから前記レシーバまでを縦方向及び/又は横方向の配線により接続するとき、前記ドライバと前記レシーバ間の各経路に生じる遅延時間と、前記ドライバと前記基準点とのマンハッタン距離と、前記ドライバから前記基準点までを前記斜め配線を用いた配線で接続する場合の配線長との差とが、それぞれ前記ネット毎に算出されており、
前記位置判定機能では、前記遅延時間と前記差とに重み付き係数を掛けて算出される評価値に基づき前記ネットの順位が決定され、前記順位の高い前記ネットから順に前記位置判定が行われることを特徴とする設計支援装置。 - 請求項1又は2において、
前記配線レイアウトは、互いに直交するx軸とy軸とによって形成される2次元平面にて決定され、
前記斜め配線は、前記x軸に対してα度(0<α<90)をなす第1の斜め配線と前記x軸に対してβ度(90<β<180)をなす第2の斜め配線とを含み、
前記レイアウト機能では、前記ドライバの前記出力端子と前記基準点とを結ぶ線分が前記x軸となす角が0度より大きく90度より小さい場合には、前記第1の斜め配線が使用され、該線分が前記x軸となす角が90度より大きい場合には、前記第2の斜め配線が使用されることを特徴とする設計支援装置。 - 論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定し、かつ、前記複数のセルが配置される位置を特定する位置情報が格納されるコンピュータに、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行う位置判定機能と、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置するレイアウト機能とを実現させるためのプログラム。 - 論理ゲートを複数組み合わせて、それぞれ異なる機能を実現する複数のセルを持つ集積回路において、予め傾きが定められた斜め配線を用いて前記複数のセルを接続するときの配線レイアウトを決定するレイアウトプログラムが格納される記憶部と、前記記憶部から前記レイアウトプログラムを読み出して実行する制御部とを有する設計支援装置における設計支援方法であって、
前記記憶部には、予め前記複数のセルが配置される位置を特定する位置情報が記憶されており、
前記制御部は、
一のセルと、該一のセルの出力端子を介して駆動される1つ又は複数のセルとから形成されるネットにおいて、該一のセルをドライバとし、前記ドライバにより駆動される前記1つ又は複数のセルをそれぞれレシーバとするとき、前記位置情報に基づき前記ネット毎に前記ネットに含まれる前記1つ又は複数のレシーバの全体を囲む所定の領域を求め、
前記ネット毎に前記ドライバが前記所定の領域の外部にあるかを確認する位置判定を行い、
前記ドライバが前記所定の領域の外部にあると判定された前記ネットに対して、前記所定領域の内部から基準点を決定し、
前記基準点と前記レシーバの入力端子とを縦方向及び/又は横方向の配線により接続可能な場合に、前記ドライバの前記出力端子と前記基準点とを接続する配線に前記斜め配線を配置することを特徴とする設計支援方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004336329A JP4326462B2 (ja) | 2004-11-19 | 2004-11-19 | 半導体集積回路の設計を支援する設計支援装置、設計支援プログラム、及び設計支援方法 |
US11/059,556 US7328422B2 (en) | 2004-11-19 | 2005-02-17 | Design support apparatus, design support program and design support method for supporting design of semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004336329A JP4326462B2 (ja) | 2004-11-19 | 2004-11-19 | 半導体集積回路の設計を支援する設計支援装置、設計支援プログラム、及び設計支援方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006146594A JP2006146594A (ja) | 2006-06-08 |
JP4326462B2 true JP4326462B2 (ja) | 2009-09-09 |
Family
ID=36462316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004336329A Expired - Fee Related JP4326462B2 (ja) | 2004-11-19 | 2004-11-19 | 半導体集積回路の設計を支援する設計支援装置、設計支援プログラム、及び設計支援方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7328422B2 (ja) |
JP (1) | JP4326462B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005093044A1 (en) * | 2004-03-22 | 2005-10-06 | Osiris Therapeutics, Inc. | Mesenchymal stem cells and uses therefor |
US20080095749A1 (en) * | 2004-03-22 | 2008-04-24 | Sudeepta Aggarwal | Mesenchymal stem cells and uses therefor |
JP5075008B2 (ja) * | 2008-05-15 | 2012-11-14 | ルネサスエレクトロニクス株式会社 | 回路解析方法、回路解析プログラム、及び回路解析装置 |
US11501052B1 (en) * | 2021-05-27 | 2022-11-15 | Taiwan Semiconductor Manufacturing Company, Ltd | Conductor scheme selection and track planning for mixed-diagonal-Manhattan routing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01112749A (ja) | 1987-10-27 | 1989-05-01 | Fujitsu Ltd | 半導体集積回路 |
JPH02216533A (ja) | 1989-02-17 | 1990-08-29 | Mitsubishi Electric Corp | ルールベース実行装置及び方法 |
JPH05243379A (ja) | 1992-02-27 | 1993-09-21 | Nec Ic Microcomput Syst Ltd | 半導体集積回路装置 |
US6262487B1 (en) | 1998-06-23 | 2001-07-17 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device, semiconductor integrated circuit wiring method, and cell arranging method |
JP3964575B2 (ja) | 1998-06-23 | 2007-08-22 | 株式会社東芝 | 半導体集積回路装置、半導体集積回路配線方法およびセル配置方法 |
US6858928B1 (en) * | 2000-12-07 | 2005-02-22 | Cadence Design Systems, Inc. | Multi-directional wiring on a single metal layer |
US7594196B2 (en) * | 2000-12-07 | 2009-09-22 | Cadence Design Systems, Inc. | Block interstitching using local preferred direction architectures, tools, and apparatus |
US7155697B2 (en) * | 2001-08-23 | 2006-12-26 | Cadence Design Systems, Inc. | Routing method and apparatus |
-
2004
- 2004-11-19 JP JP2004336329A patent/JP4326462B2/ja not_active Expired - Fee Related
-
2005
- 2005-02-17 US US11/059,556 patent/US7328422B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060112365A1 (en) | 2006-05-25 |
US7328422B2 (en) | 2008-02-05 |
JP2006146594A (ja) | 2006-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455654B (zh) | 基于机器学习的数据路径提取 | |
CN107066681B (zh) | 集成电路和制造集成电路的计算机实现方法 | |
US8769468B1 (en) | Automatic generation of wire tag lists for a metal stack | |
US9064082B2 (en) | Updating pin locations in a graphical user interface of an electronic design automation tool | |
US20020144227A1 (en) | Datapath design methodology and routing apparatus | |
JPH10163330A (ja) | レイアウト考慮遅延最適化装置および方法 | |
US9147030B2 (en) | Multiple-instantiated-module (mim) aware pin assignment | |
JP4326462B2 (ja) | 半導体集積回路の設計を支援する設計支援装置、設計支援プログラム、及び設計支援方法 | |
JP2018112865A (ja) | 情報処理装置、プログラム、および情報処理方法 | |
KR20180028252A (ko) | 집적 회로 설계 시스템 및 집적 회로의 제조 방법 | |
US10885260B1 (en) | Fin-based fill cell optimization | |
US8015532B2 (en) | Optimal timing-driven cloning under linear delay model | |
US9940422B2 (en) | Methods for reducing congestion region in layout area of IC | |
US9892226B2 (en) | Methods for providing macro placement of IC | |
JP2016212627A (ja) | 経路探索プログラム、情報処理装置、及び経路探索方法 | |
JP2005149273A (ja) | 半導体集積回路のフロアプラン装置及びフロアプラン方法 | |
US9817936B2 (en) | Methods for minimizing layout area of IC | |
Kubo et al. | Global routing by iterative improvements for two-layer ball grid array packages | |
US10970452B2 (en) | System for designing semiconductor circuit and operating method of the same | |
US20110041112A1 (en) | Method and apparatus for generating a centerline connectivity representation | |
JP4778339B2 (ja) | 自動配置方法、装置、及びプログラム | |
US20070136712A1 (en) | Semiconductor design support apparatus | |
US20240281584A1 (en) | Physical layout synthesis for standard cells using slice layouts | |
US20250005251A1 (en) | Equivalent wire codes for routing nets in an integrated circuit design | |
JP5883633B2 (ja) | レイアウト装置及びレイアウト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061218 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090416 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090609 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090609 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120619 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130619 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |