JP5136393B2 - 設計支援方法および設計支援装置 - Google Patents

設計支援方法および設計支援装置 Download PDF

Info

Publication number
JP5136393B2
JP5136393B2 JP2008330112A JP2008330112A JP5136393B2 JP 5136393 B2 JP5136393 B2 JP 5136393B2 JP 2008330112 A JP2008330112 A JP 2008330112A JP 2008330112 A JP2008330112 A JP 2008330112A JP 5136393 B2 JP5136393 B2 JP 5136393B2
Authority
JP
Japan
Prior art keywords
power supply
macro
supply wiring
wiring
layer
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
Application number
JP2008330112A
Other languages
English (en)
Other versions
JP2010152644A (ja
Inventor
憲二 熊谷
潤 須田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008330112A priority Critical patent/JP5136393B2/ja
Priority to US12/642,044 priority patent/US8230376B2/en
Publication of JP2010152644A publication Critical patent/JP2010152644A/ja
Priority to US13/528,369 priority patent/US8347253B2/en
Application granted granted Critical
Publication of JP5136393B2 publication Critical patent/JP5136393B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/528Geometry or layout of the interconnection structure
    • H01L23/5286Arrangements of power or ground buses
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/0001Technical content checked by a classifier
    • H01L2924/0002Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00

Landscapes

  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

この発明は、半導体集積回路の電源配線を実行するための設計支援方法および設計支援装置に関する。
従来、半導体集積回路のレイアウト設計において、マクロの配置位置を決定後、電源配線を配線層ごとに一定間隔で自動的に行っている。これにより、電源配線が未配線となるROW領域やマクロが発生し、電源配線の挿入・接続処理を手動で行っていた。
そのため、手動による電源配線の挿入し忘れや、接続間違いを抑制するため、電源配線終了後に結線確認、さらには電流密度および電圧低下量をシミュレーションする電源網解析を実施し、電源配線の修正が必要な箇所を検索することで、配線を修正する技術が知られている(たとえば、下記特許文献1を参照。)。
特開平10−199987号公報
しかしながら、上述した電源配線の挿入・接続処理を手動で行う従来技術では、手動による電源配線をレイアウトする手間が生じるという問題点があった。
また、電源配線終了後に行う結線確認では、結線されていない箇所は検出しても、電圧低下する箇所は検出できない。電源低下を検出するための電源網解析では、電源配線の抵抗値、容量値の抽出、消費電力計算の処理に時間が掛かる。そのため電源修正の都度、レイアウト設計の手戻りが生じ、設計者の負担が増大するとともに、レイアウト設計期間の長期化を招くという問題点があった。
この発明は、上述した従来技術による問題点を解消するため、半導体集積回路の適切な電源配線レイアウトを容易かつ短期間で実現することができる設計支援方法および設計支援装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1の設計支援方法および設計支援装置は、マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータにアクセスし、レイアウトデータの中から隣接しあうマクロの組み合わせを抽出し、レイアウトデータに含まれているROW領域の中から、抽出された組み合わせを構成するマクロ間の領域を特定し、特定された領域から上方の投影領域内において、レイアウトデータの最下層よりも上の特定の配線層の電源配線を検出し、特定の配線層の電源配線が検出されなかった領域を出力することを要件とする。
第1の設計支援方法および設計支援装置によれば、一定間隔で電源配線を行うことにより電源配線が未配線となるROW領域を自動検出することができる。また、検出したROW領域に電源供給するために必要な電源配線を挿入・接続することができる。
また、第2の設計支援方法および設計支援装置は、マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータにアクセスし、レイアウトデータに含まれる各マクロに接続指定されている配線層を特定し、レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域に特定された各マクロに接続指定されている配線層の電源配線がないマクロを抽出し、接続指定されている配線層の電源配線群の中から、抽出されたマクロを挟む電源配線の組み合わせを検出し、検出された検出結果を出力することを要件とする。
第2の設計支援方法および設計支援装置によれば、一定間隔で電源配線を行うことにより電源配線が未配線となるマクロを自動検出することができる。また、検出したマクロに電源供給するために必要な電源配線を挿入・接続することができる。
第1および第2の設計支援方法および設計支援装置によれば、半導体集積回路の適切な電源配線レイアウトを容易かつ短期間で実現することができるという効果を奏する。
以下に添付図面を参照して、第1および第2の設計支援方法および設計支援装置の好適な実施の形態を詳細に説明する。本実施の形態では半導体集積回路の適切な電源配線レイアウトを容易かつ短期間で実現する。その場合、マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータに対して、1つは、電源配線の未配線により電源供給がされていないROW領域を検出し、当該ROW領域に電源配線を行う。もう1つは、電源配線の未配線により電源供給がされていないマクロを検出し、当該マクロに電源配線を行う。以下、前者を実施の形態1で説明し、後者を実施の形態2で説明する。
(実施の形態1の概要)
まず、実施の形態1について説明する。実施の形態1では、レイアウトデータに存在するROW領域の中から、電源配線の未配線により電源供給がされていないROW領域を検出する。検出ROW領域の上方に接続対象となる電源配線が存在しない場合、検出ROW領域には電源供給されないこととなる。したがって、手作業で電源供給がされていないROW領域を探す手間を省くことができる。さらに、電源供給がされていないROW領域を早期に発見することができる。
また、このような電源配線が接続されていない検出ROW領域に電源配線を自動挿入することで、必要とされていた箇所に電源配線を配線することができ、適切な電源供給を行うことができる。
(レイアウトデータ)
図1は、半導体集積回路の電源配線のレイアウトデータを示す説明図である。図1の電源配線レイアウトデータ100では、層Aの電源配線102、層Bの電源配線103、層Cの電源配線104が形成されている。この3つの層の電源配線は、それぞれの層ごとに一定の間隔により配置されている。電源配線は、下の階層から層Aの電源配線102、層Bの電源配線103、層Cの電源配線104の順に配置されている。
また、ROW領域101はスタンダードセルの配置領域である。ROW領域101に配置されるスタンダードセルは、最下層の電源配線と接続される。この最下層の電源配線と接続される上位層の電源配線(特定の層の電源配線)が、層Aの電源配線102である。
電源配線は、下の層から上の層まで交互に、X軸方向とY軸方向に平行となるよう配線される。たとえば、最下層の電源配線がX軸方向に平行であると、次の層Aの電源配線102はY軸方向に平行である。そして、最下層の電源配線と層Aの電源配線102は交差する。同電源となる2つの層の電源配線には、その交差する箇所にビア112が配置されている。同電源となる2つの層の電源配線は、ビア112を介して接続されている。層Aの電源配線102と層Bの電源配線103、層Bの電源配線103と層Cの電源配線104も同様に配置・接続されている。
レイアウトデータ100で使用されているマクロは、マクロ111とマクロ110である。マクロ110は、層Bより下位の層の配線により内部が構成されている。したがって、層Aの電源配線102と層Bの電源配線103は、マクロ110の上を横切っていない。一方、マクロ111は、層Aより下位の層の配線により内部が構成されている。したがって、層Aの電源配線102は、マクロ111の上を横切っている。マクロ108とマクロ109(点線の□で囲われたマクロ)はマクロ111と同じ配線層までで構成されたマクロである。
また、マクロ108とマクロ109は、電源配線が未配線なマクロである。層Aの電源配線102はマクロ108とマクロ109の上を通っていない。そのため、マクロの電源端子が上層の電源配線と接続されていない。したがって、マクロ108とマクロ109に電源供給がされていないため、マクロ108とマクロ109の動作に不具合が生じる。
後述する本実施の形態2では、レイアウトデータ100に含まれるマクロの中からマクロ108とマクロ109(点線の□で囲われたマクロ)を抽出し、電源配線を行う。
また、ROW領域101内の一部のROW領域106と一部のROW領域107(点線の□で囲われたROW領域)は、電源配線が未接続な領域である。ROW領域106とROW領域107の領域はマクロに挟まれた領域、かつ層Aの電源配線102が上を通っていない領域である。そのため、最下層の電源配線は上層の電源配線と接続されていない。したがって、この領域に電源供給がされていないため、スタンダードセルを配置してしまうと、当該スタンダードセルの動作に不具合が生じる。
そのため、実施の形態1では、レイアウトデータ100に含まれるROW領域101の中からROW領域106とROW領域107(点線で囲われたROW領域)を検出し、電源配線を行う。
(物理情報)
図2は、レイアウトデータの物理情報の一例を示す説明図である。たとえば、物理情報200には、電源配線接続情報201と、マクロ配置情報202と、各マクロの使用配線層範囲情報203が記述されている。電源配線接続情報201では、各配線のMETAL層番号、配線幅、配線の始点座標(X,Y)と終点座標(X,Y)が記述されている。物理情報200では、層Aの電源配線102がMETAL4、層Bの電源配線103がMETAL5、層Cの電源配線104がMETAL6となっている。
なお、物理情報200は後述するROM、RAM、磁気ディスク、光ディスクなどの記憶装置に記憶されている。
ここで、層Aの電源配線102と層Bの電源配線103の交差している情報を例に挙げると、METAL4が幅を5[μm]で、始点座標(100,70)から終点座標(100,165)まで配線されている。そして、METAL5が幅を5[μm]で、始点座標(70,100)から終点座標(450,100)まで配線されている。VIA45が、座標(100,100)の位置で2つの配線を接続している。
つぎに、たとえば、マクロ配置情報202には、マクロの配置位置が記述されている。RAMのマクロであるRAM_MACRO1は、原点に近いマクロの端の座標を(80,320)として配置されている。そして、各マクロの使用配線層範囲情報203には、使用配線層範囲とマクロのサイズが記述されている。RAM_MACRO1は、METALの層1〜3の配線を使用している。したがって、RAM_MACRO1は、層4の電源配線と接続することにより電源供給を得られる。
また、MacroXはマクロのX方向のサイズである。MacroYはマクロのY方向のサイズである。よって、原点に近いマクロの端の座標とマクロのサイズからマクロの端のすべての座標を算出することができる。
なお、マクロ110の内部は、層Cより下の層の配線を用いて配線されている。よって、マクロ110は、層Cの電源配線104と接続することにより電源供給を得られることとする。また、マクロ111の内部は、層Aより下の層の配線を用いて配線されている。よって、マクロ111は、層Aの電源配線102と接続することにより電源供給を得られることとする。
(設計支援装置のハードウェア構成)
図3は、実施の形態1にかかる設計支援装置のハードウェア構成を示すブロック図である。図3において、設計支援装置は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、設計支援装置の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
インターフェース(以下、「I/F」と略する。)309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(設計支援装置の機能的構成)
図4は、実施の形態1にかかる設計支援装置の機能的構成を示すブロック図である。設計支援装置400は、抽出部401と、特定部402と、検出部403と、挿入部404と、判断部405と、接続部406と、出力部407と、を含む構成である。
なお、抽出部401と、特定部402と、検出部403と、挿入部404と、判断部405と、接続部406と、出力部407は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
抽出部401は、隣接しあうマクロの組み合わせを抽出する。具体的には、たとえば、CPU301が、物理情報200のマクロ配置情報202の中から各マクロの座標を検索する。そして、検索した座標により各マクロと隣接するマクロとをマクロの組み合わせとして抽出する。抽出されたマクロの組み合わせは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に保持される。
つぎに、特定部402は、抽出部401により抽出されたマクロの組み合わせを構成するマクロ間の領域を特定する。具体的には、たとえば、CPU301が、記憶装置に保持されている、抽出したマクロの組み合わせを読み出す。つぎに、隣接するマクロの側面の辺の端点を検出する。そして、2つのマクロに挟まれた4つの端点で構成される領域を特定する。特定された領域は、ROW領域101内の領域である。なお、特定されたROW領域はRAM303、磁気ディスク305、光ディスク307などの記憶装置に保持される。図5−1を用いて、ROW領域の特定方法を説明する。
図5−1は、特定部402により特定されたROW領域106を示す説明図である。ここでは、理解の容易化のため、層Cの電源配線104やビアを省略している。隣接しあうマクロ111が、抽出部401により抽出されたマクロの組み合わせの1つである。この組み合わせのマクロ間に挟まれた領域がROW領域106である。したがって、特定部402は、一方のマクロ111の辺の端点a,dの座標と、もう一方のマクロ111の辺の端点b,cを求めることで、ROW領域106を特定する。
図4に戻って、検出部403は、特定部402により特定された領域から上方の投影領域内において、最下層の電源配線よりも上の特定の配線層の電源配線を検出する。特定の配線層の電源配線とは、最下層の電源配線と接続される電源配線である。本例では、層Aの電源配線102となる。具体的には、たとえば、CPU301が、特定されたROW領域内の座標である層Aの電源配線102を物理情報200の電源配線接続情報201の中から検出する。
層Aの電源配線102が検出されなかったROW領域は、電源配線が接続されていないために電源供給がされていないROW領域である。実施の形態1では、検出部403により電源配線が検出されなかったROW領域が電源配線の挿入・接続処理の対象となる領域である。なお、特定の配線層の電源配線が検出されなかったROW領域の情報はRAM303、磁気ディスク305、光ディスク307などの記憶装置に保持される。図5−2、図6−1および図6−2を用いて、特定の電源配線が検出されない領域を説明する。
図5−2は、ROW領域106の上方の投影領域の3次元イメージ図である。ここでは、理解の容易化のため、層Cの電源配線104やビアを省略している。たとえば、ROW領域106の上方の投影領域は、四角い点線の箱である。検出部403は、この四角い点線の箱の領域の中に、層Aの電源配線102が存在するか否かを検出する。
四角い点線の箱には、層Aの電源配線102が存在しない。つまり、ROW領域106は、上方の投影領域に層Aの電源配線102が検出されない領域である。したがって、ROW領域106は電源配線の未配線により電源供給がされていない領域である。
図6−1は、ROW領域107の上方の投影領域の3次元イメージ図である。たとえば、ROW領域107は、隣接しあうマクロ111に挟まれた領域である。ROW領域107の上方の投影領域は、四角い点線の箱である。検出部403は、この四角い点線の箱の領域の中に、層Aの電源配線102が存在するか否かを検出する。つぎに、図6−2を用いて、層Aの電源配線102が検出されない領域を示す。
図6−2は、検出部403により電源配線が検出されなかったROW領域107を示す説明図である。ROW領域107は、e,h,g,fの4つの点に囲われた領域である。検出部403は、物理情報200の電源配線接続情報201の中からROW領域107内の座標である層Aの電源配線102を検出する。ROW領域107には、層Aの電源配線102が重なっていない。よって、ROW領域107は、上方の投影領域の中から層Aの電源配線102が検出されなかった領域である。したがって、ROW領域107は電源配線の未配線により電源供給がされていない領域である。つぎに、図7を用いて、特定の層の電源配線が検出される領域を説明する。
図7は、検出部403により電源配線が検出されたROW領域105を示す説明図である。ROW領域105は、隣接しあうマクロ110に挟まれた領域である。また、j,k,l,mの4つの点に囲われた領域である。検出部403は、物理情報200の電源配線接続情報201の中からROW領域105内の座標である層Aの電源配線102を検出する。ROW領域105には、層Aの電源配線102が重なっている。よって、ROW領域105は、上方の投影領域の中から層Aの電源配線102が検出される領域である。したがって、ROW領域105は電源供給がされている領域である。
このように、レイアウトデータ100に含まれているROW領域101の中から、電源配線が存在する領域が自動検出される。これにより、手作業で電源供給がされていないROW領域(たとえば、ROW領域106およびROW領域107)を探す手間を省くことができる。また、電源供給がされていないROW領域を早期に発見することができる。したがって、半導体集積回路の適切な電源配線レイアウトを容易かつ短期間で実現することができる。
図4に戻って、挿入部404は、検出部403により電源配線が検出されなかったROW領域に、接続可能な電源配線を挿入する。具体的には、たとえば、CPU301が、物理情報200の電源配線接続情報201の中から層Aの電源配線102の配線幅を読み出す。そして、挿入する層Aの電源配線102の幅を読み出した配線幅に設定する。つぎに、始点と終点のX座標をROW領域の中心のX座標に設定する。
さらに、CPU301は、始点のY座標をROW領域の一番小さいY座標の値に設定する。そして、終点のY座標をROW領域の一番大きいY座標の値に設定する。つぎに、設定した層Aの電源配線102の情報を物理情報200の電源配線接続情報201に記述する。図8−1に特定の層の電源配線が挿入された例を示す。
図8−1は、層Aの電源配線102が挿入されたROW領域106を示す説明図である。ここでは、理解の容易化のため、層Cの電源配線104を省略している。層Aの電源配線102はY軸方向に挿入されている。
たとえば、挿入部404は、物理情報200の電源配線接続情報201の中から他の層Aの電源配線102の幅5[μm]を読み出す。つぎに、挿入する層Aの電源配線102の幅を5[μm]に設定する。そして、始点と終点のX座標を(bのX座標−aのX座標)/2とする。さらに、始点のY座標をaとbの座標で大きい方の値とする。つぎに、終点のY座標をcとdの座標で小さい方の値とする。そして、層Aの電源配線102を挿入する。
このように、挿入部404は、層Aの電源配線102を挿入することにより、電源供給がされていないROW領域にのみ電源配線を挿入することができる。したがって、足りない配線だけを挿入することができ、領域内に配線を効率よく行うことができる。
図4に戻って、判断部405は、挿入部404により挿入された電源配線を伸張することにより、マクロの組み合わせ以外の他のマクロと重複するか否かを判断する。他のマクロと重複する場合とは、挿入した電源配線の延長上に同層以上の配線を使用しているマクロが存在している場合である。たとえば、後述するROW領域106に挿入される層Aの電源配線102は、伸張されても他のマクロと重複しない。一方、たとえば、後述するROW領域107に挿入される層Aの電源配線102は、伸張されると他のマクロと重複する。
具体的には、たとえば、CPU301が、挿入した層Aの電源配線102の始点のY軸延長上に存在するマクロを物理情報200のマクロ配置情報202の中から検出する。そして、マクロが検出されない場合、他のマクロと重複しないと判断する。
一方、マクロが検出された場合、検出したマクロの使用層範囲の最大層番号を物理情報200の各マクロの使用配線層範囲情報203の中から読み出す。そして、読み出した最大層番号が層Aの番号よりも小さい場合、他のマクロと重複しないと判断する。また、読み出した最大層番号が層Aの番号以上の場合、以下の処理をする。
たとえば、CPU301が、検出したマクロから挿入した層Aの電源配線102の始点までの長さを算出する。その結果をE[μm]とする。つぎに、挿入した層Aの電源配線102の始点のY軸延長上に存在する層Bの電源配線103を、物理情報200の電源配線接続情報201の中から検出する。そして、一番短い距離に存在する層Bの電源配線103から挿入した層Aの電源配線102の始点までの距離を算出する。その結果をD[μm]とする。
そして、CPU301が、EがDより大きい場合、他のマクロと重複しないと判断する。一方、EがD以下の場合、他のマクロと重複すると判断する。さらに、挿入した層Aの電源配線102の終点の延長上において、他のマクロと重複するか否かを同様の処理を実行し判断する。
たとえば、CPU301は、挿入した電源配線が上位層の電源配線と接続されるまで、挿入部404と判断部405の処理を繰り返し行う。これにより、マクロの配置位置を意識することなく、電源配線をROW領域に接続することができる。
また、挿入された電源配線を伸張してマクロと重複するか判断する処理は、既存のレイアウト設計ツールにより実現することもできる。
つぎに、接続部406は、判断部405により他のマクロと重複しないと判断された場合、層Aの電源配線102と層Bの電源配線103を接続する。具体的には、たとえば、CPU301が、挿入した層Aの電源配線102の始点と終点のそれぞれの延長上において、層Bの電源配線103と交差する箇所を物理情報200の電源配線接続情報201の中から検出する。つぎに、挿入した層Aの電源配線102の始点と終点の座標をそれぞれの交差する箇所の座標に設定する。そして、交差する箇所にビア112を配置する。図8−2に、判断部405により他のマクロと重複しないと判断された場合の配線の接続例を示す。
図8−2は、電源配線が接続されたROW領域106を示す説明図である。ここでは、理解の容易化のため、層Cの電源配線104を省略している。挿入された層Aの電源配線102の始点および終点の延長上にはマクロが存在しない。そのため、層Aの電源配線102は他のマクロと重複しないと判断される。そして、挿入された層Aの電源配線102は、一番近い距離に存在する層Bの電源配線103と交差する箇所まで伸張される。さらに、層Aの電源配線102と層Bの電源配線103は、ビア112を介して接続される。つぎに、図9−1〜図9−3に他のマクロと重複すると判断された場合の配線の接続例を示す。
図9−1は、層Aの電源配線102が挿入されたROW領域107を示す説明図である。図9−1では、ROW領域106に電源配線が挿入された処理と同様の処理により、層Aの電源配線102がROW領域107に挿入されている。
図9−2は、層Bの電源配線103が挿入されたROW領域107を示す説明図である。挿入された層Aの電源配線102の始点および終点の延長上にはマクロ110が存在する。マクロ110の内部は、層Cより下の層の配線を用いて配線されている。そのため、判断部405により、挿入された層Aの電源配線102は伸張されると他のマクロと重複すると判断される。
よって、接続部406は、挿入された層Aの電源配線102と層Bの電源配線103を接続できない。そのため、層Aの電源配線102の挿入と同様の処理により層Bの電源配線103が挿入される。
図9−3は、電源配線が接続されたROW領域107を示す説明図である。挿入された層Bの電源配線103の始点および終点の延長上には他のマクロが存在しない。図9−3では、挿入された層Bの電源配線103の延長上にはマクロ111が存在しているようにみえる。実際には、マクロ111の内部は、層Aより下の層の配線を用いて配線されている。そのため、層Bの電源配線103の延長上にはマクロ111が存在しない。
そのため、判断部405は、挿入された層Bの電源配線103が伸張しても他のマクロと重複しないと判断する。そして、挿入された層Bの電源配線103が層Cの電源配線104と交差する箇所まで伸張される。さらに、挿入された層Bの電源配線103と層Cの電源配線104は、ビア112を介して接続される。そして、先に挿入された層Aの電源配線102と挿入された層Bの電源配線103は、ビア112を介して接続される。
これにより、電源配線の未配線により電源供給がされていないROW領域に電源配線が接続される。そして、手作業により電源配線を挿入する手間を省くことができる。
したがって、半導体集積回路の電源配線レイアウトを短期間で実現することができる。また、電源供給がされていないことにより起因する不具合をなくすことができる。
図4に戻って、出力部407は、検出部403により電源配線が検出されなかったROW領域を出力する。さらに、挿入部404と接続部406によりそのROW領域に電源配線を挿入・接続された結果を出力する。具体的には、たとえば、CPU301が、ROW領域の座標を出力する。また、そのROW領域に電源配線の挿入と接続を行ったレイアウトデータを出力する。なお、出力されたROW領域の座標とレイアウトデータは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。または、ディスプレイ308に表示される。
(設計支援装置の設計支援処理手順)
つぎに、実施の形態1にかかる設計支援装置400の設計支援処理手順について説明する。図10は、実施の形態1にかかる設計支援装置400の設計支援処理手順を示すフローチャートである。図10において、まず、マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータの中から、電源配線が未配線であるROW領域検出処理(ステップS1001)を行う。つぎに、抽出したROW領域への電源配線挿入接続処理(ステップS1002)を行い、一連の処理を終了する。
つぎに、上述したROW領域検出処理(ステップS1001)について説明する。図11は、ROW領域検出処理手順を示すフローチャートである。まず、抽出部401により、隣接しあうマクロの組み合わせを抽出し(ステップS1101)、特定部402により、ROW領域の中からマクロ間の領域を特定する(ステップS1102)。特定したROW領域の中で、電源配線の検出処理をしていない領域はあるか否かを判断する(ステップS1103)。
特定したROW領域の中で、電源配線の検出処理をしていない領域はないと判断された場合(ステップS1103:No)、つぎに、ステップS1002に移行する。特定したROW領域の中で、電源配線の検出処理をしていない領域はあると判断された場合(ステップS1103:Yes)、検出部403により、特定したROW領域の上方の投影領域内に、特定の配線層の電源配線を検出し(ステップS1104)、判断部405により特定の電源配線が検出されたか否かを判断する(ステップS1105)。
特定の電源配線が検出されたと判断された場合(ステップS1105:Yes)、ステップS1103に移行する。一方、特定の電源配線が検出されなかったと判断された場合(ステップS1105:No)、ROW領域の情報を保存し(ステップS1106)、ステップS1103に移行する。
つぎに、上述した電源配線挿入接続処理の(ステップS1002)について説明する。図12は、電源配線挿入接続処理を示すフローチャートである。まず、t=最大の使用層番号(ステップS1201)とする。最大の使用層番号とは、電源配線として使用している層番号の中で一番階層の高い層の番号である。つぎに、i=特定の層番号とし(ステップS1202)とする。そして、検出したROW領域の中で、電源配線の挿入未処理の領域はあるか否かを判断する(ステップS1203)。検出したROW領域の中で、電源配線の挿入未処理の領域はあると判断された場合(ステップS1203:Yes)、つぎに挿入部404により、ROW領域の上方の投影領域内にi層の電源配線を挿入する(ステップS1204)。
つぎに、判断部405により、挿入した電源配線の延長上にマクロが重複しているか否かを判断する(ステップS1205)。挿入した電源配線の延長上にマクロが重複していないと判断された場合(ステップS1205:No)、接続部406により、挿入した電源配線を延長し、上位層の電源配線と接続し(ステップS1206)、ステップS1202に戻る。
また、挿入した電源配線の延長上にマクロが重複していると判断された場合(ステップS1205:Yes)、i=i+1を行い(ステップS1207)、i≦tを判断する(ステップS1208)。i>tの場合(ステップS1208:No)、電源配線を接続できないROW領域として領域を保存し(ステップS1209)、ステップS1202に戻る。また、i≦tの場合(ステップS1208:Yes)、ステップS1204へ戻る。
一方、検出したROW領域の中で、電源配線の挿入未処理の領域はないと判断された場合(ステップS1203:No)、電源配線を挿入したレイアウトデータを保存し(ステップS1210)、一連の流れを終了する。
実施の形態1によれば、電源配線の未配線により電源供給がされていないROW領域を自動検出することができる。また、検出したROW領域に電源供給するために必要な電源配線を挿入・接続することができる。
(実施の形態2の概要)
つぎに、実施の形態2について説明する。実施の形態1では、レイアウトデータに存在するROW領域の中から、電源配線の未配線により電源供給がされていないROW領域を検出したが、実施の形態2では、レイアウトデータに存在するマクロの中から、電源配線の未配線により電源供給がされていないマクロを抽出する。抽出マクロの上方にマクロの電源と接続する電源配線が存在しない場合、抽出マクロには電源供給されないこととなる。したがって、手作業で電源供給がされていないマクロを探す手間を省くことができる。さらに、電源供給がされていないマクロを早期に発見することができる。
また、このような電源配線がない抽出マクロに電源配線を自動挿入することで、必要とされていた箇所に電源配線を配線することができ、適切な電源供給を行うことができる。また、実施の形態2では、実施の形態1で用いたレイアウトデータ100と物理情報200を用いて説明する。そのほか、実施の形態1で説明した構成と同一構成には同一符号を付し、その説明を省略する。
(設計支援装置の機能的構成)
図13は、実施の形態2にかかる設計支援装置の機能的構成を示すブロック図である。設計支援装置1300は、特定部1301と、抽出部1302と、検出部1303と、挿入部1304と、判断部1305と、接続部1306と、出力部1307と、を含む構成である。
なお、特定部1301と、抽出部1302と、検出部1303と、挿入部1304と、判断部1305と、接続部1306と、出力部1307は、具体的には、たとえば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
特定部1301は、レイアウトデータに含まれている各マクロと接続可能な電源配線を特定する。具体的には、たとえば、CPU301が、レイアウトデータ内のマクロの使用層情報を物理情報200の各マクロの使用配線層範囲情報203の中から探索する。そして、マクロ内で使用している最大層よりも上位の層であり、かつ使用している層の中で一番層間が近い層をマクロと接続可能な電源配線の層番号とする。
実際には、使用している層の中で2番目に近い層であってもマクロの電源と接続可能である。しかし、本実施の形態では、理解の容易化のために一番層間が近い層のみをマクロの電源と接続可能な電源配線の層とする。なお、特定された層番号はマクロと関連づけられRAM303、磁気ディスク305、光ディスク307などの記憶装置に保持される。
抽出部1302は、レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域の中に特定部1301により特定された層番号の電源配線がないマクロを抽出する。具体的には、たとえば、CPU301が、記憶装置にアクセスして、特定された層番号を読み出す。そして、物理情報200のマクロ配置情報202の中から各マクロの座標を検索する。つぎに、各マクロの座標と重なる特定された層番号の電源配線を物理情報200の電源配線接続情報201の中から検索する。そして、特定された層番号の電源配線のないマクロを抽出する。
この抽出されたマクロが電源供給されていないマクロである。したがって、本実施の形態2では、このマクロを自動抽出する。さらに、このマクロに電源配線を自動挿入・接続する。なお、抽出されたマクロは、RAM303、磁気ディスク305、光ディスク307などの記憶装置に保持される。
つぎに、検出部1303は、特定部1301により特定された層番号の電源配線群の中から、抽出されたマクロを挟む電源配線の組み合わせを検出する。具体的には、たとえば、CPU301が、物理情報200のマクロ配置情報202の中から抽出したマクロの座標を検出する。そして、マクロの一番小さいX座標(または、Y座標)からX軸方向(または、Y軸方向)のプラス方向に、一番近い距離に存在する特定した層番号の電源配線を物理情報200の電源配線接続情報201の中から検出する。
つぎに、マクロの端からX軸方向(または、Y軸方向)のプラス方向に、一番近い距離に存在する特定した層の電源配線を物理情報200の電源配線接続情報201の中から検出する。検出した電源配線を、マクロを挟む電源配線の組み合わせとする。なお、マクロを挟む電源配線の組み合わせは、当該マクロと関連づけられRAM303、磁気ディスク305、光ディスク307などの記憶装置に保持される。図14に特定の電源配線の組み合わせの検出方法を示す。
図14は、マクロ108を挟む特定の電源配線の組み合わせを示す説明図である。マクロ108の特定の電源配線は、層Aの電源配線102である。マクロ108は、上方の投影領域の中に特定した層の電源配線が存在しないマクロである。また、マクロ108は、o,p,q,rの点で囲われた領域である。まず、検出部1303は、o,p,q,rの座標を算出する。
そして、o(またはr)のX座標からマイナス方向に向かって、特定した層の電源配線で一番近い距離にある電源配線を探索する。つぎに、p(またはq)のX座標からプラス方向に向かって、特定した層の電源配線で一番近い距離にある電源配線を検出する。
図13に戻って、挿入部1304は、抽出部1302により抽出されたマクロの上方の投影領域に、特定部1301により特定された層番号の電源配線を挿入する。具体的には、たとえば、CPU301が、物理情報200の電源配線接続情報201の中からその他の層Aの電源配線102の配線幅を読み出す。そして、挿入する層Aの電源配線102の幅を読み出した配線幅に設定する。つぎに、始点と終点のX座標をマクロの中心のX座標に設定する。
さらに、CPU301は、始点のY座標をマクロの一番小さいY座標の値に設定する。そして、終点のY座標をマクロの一番大きいY座標の値に設定する。そして、設定した層Aの電源配線102の情報を物理情報200の電源配線接続情報201に記述する。図15に特定の層の電源配線の挿入の説明を示す。
図15は、層Aの電源配線102が挿入されたマクロ108を示す説明図である。層Aの電源配線102はY軸方向に挿入されている。
たとえば、挿入部1304は、物理情報200の電源配線接続情報201の中から他の層Aの電源配線102の幅5[μm]を読み出す。つぎに、挿入する層Aの電源配線102の幅を5[μm]に設定する。そして、始点と終点のX座標を(pのX座標−oのX座標)/2とする。さらに、始点のY座標をoとpの座標で大きい方の値とする。つぎに、終点のY座標をqとrの座標で小さい方の値とする。そして、層Aの電源配線102を挿入する。
このように、挿入部1304は、層Aの電源配線102を挿入することにより、電源供給がされていないマクロにのみ電源配線を挿入することができる。したがって、足りない配線だけを挿入することができ、領域内に配線を効率よく行うことができる。
図13に戻って、判断部1305は、挿入部1304により挿入された電源配線を伸張することにより、他のマクロと重複するか否かを判断する。他のマクロと重複する場合とは、挿入した電源配線の延長上に同層以上の配線を使用しているマクロが存在している場合である。たとえば、後述するマクロ108に挿入される層Aの電源配線102は、伸張されても他のマクロと重複しない。一方、たとえば、後述するマクロ109に挿入される層Aの電源配線102は、伸張されると他のマクロと重複する。
具体的には、たとえば、CPU301が、挿入した層Aの電源配線102の始点のY軸延長上に存在するマクロを物理情報200のマクロ配置情報202の中から検出する。そして、マクロが検出されない場合、他のマクロと重複しないと判断される。
一方、マクロが検出された場合、検出したマクロの使用層範囲の最大層番号を物理情報200の各マクロの使用配線層範囲情報203の中から読み出す。つぎに、読み出した最大層番号が層Aの番号よりも小さい場合、他のマクロと重複しないと判断される。また、読み出した最大層番号が層Aの番号以上の場合、以下の処理をする。
たとえば、CPU301が、検出したマクロと挿入した層Aの電源配線102の始点までの長さを算出する。その結果をF[μm]とする。つぎに、挿入した層Aの電源配線102の始点の延長上に存在する層Bの電源配線103を、物理情報200の電源配線接続情報201の中から検出する。そして、一番短い距離に存在する層Bの電源配線103と挿入した層Aの電源配線102の始点までの距離を算出する。その結果をG[μm]とする。
そして、FがGより大きい場合、挿入した層Aの電源配線102を伸張することにより、他のマクロと重複しないと判断される。一方、FがG以下の場合、他のマクロと重複すると判断される。さらに、挿入した層Aの電源配線102の終点の延長上において、他のマクロと重複するか否かを、同様の処理を実行し判断する。
たとえば、CPU301は、挿入した電源配線が上位層の電源配線と接続されるまで、挿入部1304と判断部1305の処理を繰り返し行う。これにより、マクロの配置位置を意識することなく、電源配線が未配線のマクロに、電源配線を接続することができる。
また、挿入された電源配線を伸張して他のマクロと重複するか判断する処理は、既存のレイアウト設計ツールにより実現することもできる。
つぎに、接続部1306は、判断部1305により他のマクロと重複しないと判断された場合、層Aの電源配線102と層Bの電源配線103を接続する。具体的には、たとえば、CPU301が、挿入した層Aの電源配線102の始点と終点のそれぞれの延長上において、層Bの電源配線103と交差する箇所を物理情報200の電源配線接続情報201の中から検出する。つぎに、層Aの電源配線102の始点と終点の座標をそれぞれの交差する箇所の座標に設定する。そして、交差する箇所にビア112を配置する。図16に、判断部1305により他のマクロと重複しないと判断された場合の配線の接続例を示す。
図16は、電源配線が接続されたマクロ108を示す説明図である。挿入された層Aの電源配線102の始点および終点の延長上には他のマクロが存在しない。そのため、層Aの電源配線102は、層Bの電源配線103と交差する箇所まで伸張される。さらに、層Aの電源配線102と層Bの電源配線103は、ビア112を介して接続される。つぎに、図17−1〜図17−4に他のマクロと重複すると判断された場合の配線の接続例を示す。
図17−1は、層Aの電源配線102が挿入されたマクロ109を示す説明図である。図17−1では、マクロ108に電源配線が挿入された処理と同様の処理により、層Aの電源配線102がマクロ109の上方に挿入されている。
図17−2は、層Bの電源配線103が挿入されたマクロ109を示す説明図である。挿入された層Aの電源配線102の始点および終点の延長上には、マクロ110が存在する。マクロ110の内部は、層Aより下の層の配線を用いて配線されている。そのため、判断部1305により、他のマクロと重複すると判断される。
よって、接続部1306は、挿入した層Aの電源配線102と層Bの電源配線103とを接続できない。そのため、挿入部1304により、層Aの電源配線102の挿入と同様の処理を用いて層Bの電源配線103が挿入される。
図17−3は、層Cの電源配線104が挿入されたマクロ109を示す説明図である。挿入された層Bの電源配線103の始点および終点の延長上には、マクロ110が存在する。マクロ110の内部は、層Bより下の層の配線を用いて配線されている。そのため、判断部1305により、他のマクロと重複すると判断される。
よって、接続部1306は、挿入した層Bの電源配線103と層Cの電源配線104とを接続できない。そのため、挿入部1304により、層Bの電源配線103の挿入と同様の処理を用いて層Cの電源配線104が挿入される。
図17−4は、電源配線が接続されたマクロ109を示す説明図である。挿入された層Cの電源配線104の始点および終点の延長上にはその他のマクロが存在しない。図17−4では、挿入された層Cの電源配線104の延長上にはマクロ110が存在しているようにみえる。実際には、マクロ110は層Cより下の層により内部が配線されている。そのため、挿入された層Cの電源配線104の延長上にはマクロ110が存在しない。
そのため、判断部1305は、層Cの電源配線104が他のマクロと重複しないと判断する。そして、挿入された層Cの電源配線104は、層Bの電源配線103と交差する箇所まで伸張されている。さらに、挿入された層Cの電源配線104と延長上の層Bの電源配線103は、ビア112を介して接続される。そして、先に挿入された層Aの電源配線102と挿入された層Bの電源配線103は、ビア112を介して接続される。さらに、挿入された層Bの電源配線103と挿入された層Cの電源配線104は、ビア112を介して接続される。
これにより、電源配線の未配線により電源供給がされていないマクロに電源配線が接続され、電源供給がされていないことに起因する不具合がなくなる。そして、手作業により電源配線を挿入する手間を省くことができる。したがって、半導体集積回路の電源配線レイアウトを短期間で実現することができる。
図13に戻って、出力部1307は、検出部1303により検出された電源配線が未配線のマクロと当該マクロを挟む電源配線の組み合わせを出力する。さらに、挿入部1304と接続部1306により、そのマクロに電源配線を挿入・接続した結果を出力する。具体的には、たとえば、CPU301が、記憶装置にアクセスして、抽出したマクロの座標と当該マクロを挟む電源配線の組み合わせを出力する。また、そのマクロに電源配線の挿入と接続を行ったレイアウトデータを出力する。なお、出力結果は、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶される。または、ディスプレイ308に表示される。
(設計支援装置の設計支援処理手順)
つぎに、実施の形態2にかかる設計支援装置1300の設計支援処理手順について説明する。図18は、実施の形態2にかかる設計支援装置1300の設計支援処理手順を示すフローチャートである。図18において、まず、マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータの中から、電源配線が未配線であるマクロを抽出するマクロ抽出処理(ステップS1801)を行う。つぎに、検出したマクロに電源配線挿入接続処理(ステップS1802)を行い、一連の処理を終了する。
つぎに、上述したマクロ抽出処理(ステップS1801)について説明する。図19は、マクロ抽出処理手順を示すフローチャートである。まず、抽出処理を行っていないマクロがあるか否かを判断する(ステップS1901)。抽出処理を行っていないマクロがあると判断された場合(ステップS1901:Yes)、特定部1301により、接続指定されている配線層を特定する(ステップS1902)。つぎに、抽出部1302により、マクロの上方の投影領域に特定された配線層の電源配線があるか否かを判断する(ステップS1903)。マクロの上方の投影領域に特定された配線層の電源配線があると判断された場合(ステップS1903:Yes)、ステップS1901に戻る。
また、マクロの上方の投影領域に特定された配線層の電源配線がないと判断された場合(ステップS1903:No)、検出部1303により、特定された配線層の電源配線から抽出されたマクロを挟む組み合わせを検出し(ステップS1904)、検出した電源配線の組み合わせと、抽出したマクロの情報を保存し(ステップS1905)、ステップS1901に戻る。
一方、抽出処理を行っていないマクロがないと判断された場合(ステップS1901:No)、ステップS1802に移行する。
つぎに、上述した電源配線挿入接続処理(ステップS1802)について説明する。図20は、電源配線挿入接続処理手順を示すフローチャートである。まず、u=最大の使用層番号(ステップS2001)とする。最大の使用層番号とは、電源配線として使用している層番号の中で一番階層の高い層の番号である。つぎに、抽出したマクロの中で、電源配線の挿入未処理のマクロがあるか否かを判断する(ステップS2002)。挿入未処理のマクロがあると判断された場合(ステップS2002:Yes)、s=接続可能な電源配線の層番号(ステップS2003)とし、挿入部1304により、マクロの上方の投影領域にs層の電源配線を挿入する(ステップS2004)。
つぎに、判断部1305により、挿入した電源配線の延長上にマクロが重複するか否かを判断する(ステップS2005)。挿入した電源配線の延長上にマクロが重複しないと判断された場合(ステップS2005:No)、接続部1306により、挿入した電源配線を延長し、上位層の電源配線と接続し(ステップS2006)、ステップS2002に戻る。
また、挿入した電源配線の延長上にマクロが重複していると判断された場合(ステップS2005:Yes)、s=s+1を行い(ステップS2007)、s≦uを判断する(ステップS2008)。s>uの場合(ステップS2008:No)、電源配線を接続不可マクロとして保存し(ステップS2009)、ステップS2002に戻る。s≦uの場合(ステップS2008:Yes)、ステップS2004へ戻る。
一方、検出したマクロの中で、電源配線の挿入未処理のマクロはないと判断された場合(ステップS2002:No)、電源配線を挿入したレイアウトデータを保存し(ステップS2010)、一連の流れを終了する。
実施の形態2では、マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータにアクセス可能なコンピュータを、レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域にマクロに接続する電源配線がないマクロを抽出し、検出された検出結果を出力することができる。また、検出したマクロから上方の投影領域に電源供給するために必要な電源配線を挿入・接続することができる。
実施の形態1によれば、一定間隔で電源配線を行うことにより電源配線が未配線となるROW領域を自動検出することができる。また、検出したROW領域に電源供給するために必要な電源配線を挿入・接続することができる。
実施の形態2によれば、一定間隔で電源配線を行うことにより電源配線が未配線となる電源供給がされていないマクロを自動検出することができる。また、検出したマクロに電源供給するために必要な電源配線を挿入・接続することができる。
第1および第2の設計支援方法および設計支援装置によれば、半導体集積回路の適切な電源配線レイアウトを容易かつ短期間で実現することができるという効果を奏する。
なお、本実施の形態1および2で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な媒体であってもよい。
上述した実施の形態1および2に関し、さらに以下の付記を開示する。
(付記1)マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータを記憶する記憶装置にアクセス可能なコンピュータが、
前記レイアウトデータの中から隣接しあうマクロの組み合わせを抽出する抽出工程と、
前記レイアウトデータに含まれているROW領域の中から、前記抽出工程によって抽出された組み合わせを構成するマクロ間の領域を特定する特定工程と、
前記特定工程によって特定された領域から上方の投影領域内において、前記レイアウトデータの最下層よりも上の特定の配線層の電源配線を検出する検出工程と、
前記検出工程によって前記特定の配線層の電源配線が検出されなかった領域を出力する出力工程と、
を実行することを特徴とする設計支援方法。
(付記2)前記コンピュータが、
前記特定の配線層の電源配線が検出されなかった領域に前記ROW領域に接続可能な電源配線を挿入する挿入工程と、
前記挿入工程により挿入した電源配線を伸長することにより、前記特定の配線層の電源配線と接続する接続工程と、を実行し、
前記出力工程は、
前記接続工程によって前記ROW領域に接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする付記1に記載の設計支援方法。
(付記3)前記コンピュータが、
前記ROW領域に接続可能な電源配線を伸長することにより、前記組み合わせを構成するマクロ以外の他のマクロと重複するか否かを判断する判断工程を実行し、
前記挿入工程は、
前記判断工程によって前記他のマクロと重複すると判断された場合、前記特定の配線層の電源配線が検出されなかった領域のうち前記ROW領域に接続可能な電源配線(以下、「第1の接続可能な電源配線」という)から上方の領域内において、前記第1の接続可能な電源配線に接続可能な第2の電源配線を挿入し、
前記出力工程は、
前記接続工程によって前記ROW領域に接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする付記2に記載の設計支援方法。
(付記4)マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータにアクセス可能なコンピュータが、
前記レイアウトデータに含まれる各マクロに接続指定されている配線層を特定する特定工程と、
前記レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域に前記特定工程によって特定された各マクロに接続指定されている配線層の電源配線がないマクロを抽出する抽出工程と、
前記接続指定されている配線層の電源配線群の中から、前記抽出されたマクロを挟む電源配線の組み合わせを検出する検出工程と、
前記検出工程によって検出された検出結果を出力する出力工程と、
を実行することを特徴とする設計支援方法。
(付記5)前記コンピュータが
前記抽出されたマクロの上方の投影領域に、前記抽出されたマクロに接続可能な電源配線を挿入する挿入工程と、
前記挿入工程により挿入された電源配線を伸長することにより、前記特定の配線層の電源配線と接続する接続工程と、を実行し、
前記出力工程は、
前記接続工程によって前記抽出されたマクロに接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする付記4に記載の設計支援方法。
(付記6)前記コンピュータが
前記抽出されたマクロに接続可能な電源配線を伸長することにより、他のマクロと重複するか否かを判断する判断工程を実行し、
前記挿入工程は、
前記判断工程によって前記他のマクロと重複すると判断された場合、前記特定の配線層の電源配線が検出されなかった領域のうち前記抽出されたマクロに接続可能な電源配線(以下、「第1の接続可能な電源配線」という)から上方の領域内において、前記第1の接続可能な電源配線に接続可能な第2の電源配線を挿入し、
前記出力工程は、
前記接続工程によってマクロに接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする付記5に記載の設計支援方法。
(付記7)マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータの中から隣接しあうマクロの組み合わせを抽出する抽出手段と、
前記レイアウトデータに含まれているROW領域の中から、前記抽出手段によって抽出された組み合わせを構成するマクロ間の領域を特定する特定手段と、
前記特定手段によって特定された領域から上方の投影領域内において、前記レイアウトデータの最下層よりも上の特定の配線層の電源配線を検出する検出手段と、
前記検出手段によって前記特定の配線層の電源配線が検出されなかった領域を出力する出力手段と、
を備えることを特徴とする設計支援装置。
(付記8)マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータに含まれる各マクロに接続指定されている配線層を特定する特定手段と、
前記レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域に前記特定手段によって特定された各マクロに接続指定されている配線層の電源配線がないマクロを抽出する抽出手段と、
前記接続指定されている配線層の電源配線群の中から、前記抽出されたマクロを挟む電源配線の組み合わせを検出する検出手段と、
前記検出手段によって検出された検出結果を出力する出力手段と、
を備えることを特徴とする設計支援装置。
(付記9)マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータを記憶する記憶装置にアクセス可能なコンピュータを、
前記レイアウトデータの中から隣接しあうマクロの組み合わせを抽出する抽出手段、
前記レイアウトデータに含まれているROW領域の中から、前記抽出手段によって抽出された組み合わせを構成するマクロ間の領域を特定する特定手段、
前記特定手段によって特定された領域から上方の投影領域内において、前記レイアウトデータの最下層よりも上の特定の配線層の電源配線を検出する検出手段、
前記検出手段によって前記特定の配線層の電源配線が検出されなかった領域を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
(付記10)マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータにアクセス可能なコンピュータを、
前記レイアウトデータに含まれる各マクロに接続指定されている配線層を特定する特定手段、
前記レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域に前記特定手段によって特定された各マクロに接続指定されている配線層の電源配線がないマクロを抽出する抽出手段、
前記接続指定されている配線層の電源配線群の中から、前記抽出されたマクロを挟む電源配線の組み合わせを検出する検出手段、
前記検出手段によって検出された検出結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
半導体集積回路の電源配線のレイアウトデータを示す説明図である。 レイアウトデータの物理情報の一例を示す説明図である。 実施の形態1にかかる設計支援装置のハードウェア構成を示すブロック図である。 実施の形態1にかかる設計支援装置の機能的構成を示すブロック図である。 特定部402により特定されたROW領域106を示す説明図である。 ROW領域106の上方の投影領域の3次元イメージ図である。 ROW領域107の上方の投影領域の3次元イメージ図である。 検出部403により電源配線が検出されなかったROW領域107を示す説明図である。 検出部403により電源配線が検出されたROW領域105を示す説明図である。 層Aの電源配線102が挿入されたROW領域106を示す説明図である。 電源配線が接続されたROW領域106を示す説明図である。 層Aの電源配線102が挿入されたROW領域107を示す説明図である。 層Bの電源配線103が挿入されたROW領域107を示す説明図である。 電源配線が接続されたROW領域107を示す説明図である。 実施の形態1にかかる設計支援装置の設計支援処理手順を示すフローチャートである。 ROW領域検出処理手順を示すフローチャートである。 電源配線挿入接続処理を示すフローチャートである。 実施の形態2にかかる設計支援装置の機能的構成を示すブロック図である。 マクロ108を挟む特定の電源配線の組み合わせを示す説明図である。 層Aの電源配線102が挿入されたマクロ108を示す説明図である。 電源配線が接続されたマクロ108を示す説明図である。 層Aの電源配線102が挿入されたマクロ109を示す説明図である。 層Bの電源配線103が挿入されたマクロ109を示す説明図である。 層Cの電源配線104が挿入されたマクロ109を示す説明図である。 電源配線が接続されたマクロ109を示す説明図である。 実施の形態2にかかる設計支援装置の設計支援処理手順を示すフローチャートである。 マクロ抽出処理手順を示すフローチャートである。 電源配線挿入接続処理手順を示すフローチャートである。
符号の説明
100 レイアウトデータ
101,106,107 ROW領域
108,109,110,111 マクロ
400,1300 設計支援装置
401,1302 抽出部
402,1301 特定部
403,1303 検出部
404,1304 挿入部
405,1305 判断部
406,1306 接続部
407,1307 出力部

Claims (8)

  1. マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータを記憶する記憶装置にアクセス可能なコンピュータが、
    前記レイアウトデータの中から隣接しあうマクロの組み合わせを抽出する抽出工程と、
    前記レイアウトデータに含まれているROW領域の中から、前記抽出工程によって抽出された組み合わせを構成するマクロ間の領域を特定する特定工程と、
    前記特定工程によって特定された領域から上方の投影領域内において、前記レイアウトデータの最下層よりも上の特定の配線層の電源配線を検出する検出工程と、
    前記検出工程によって前記特定の配線層の電源配線が検出されなかった領域を出力する出力工程と、
    を実行することを特徴とする設計支援方法。
  2. 前記コンピュータが、
    前記特定の配線層の電源配線が検出されなかった領域に前記ROW領域に接続可能な電源配線を挿入する挿入工程と、
    前記挿入工程により挿入した電源配線を伸長することにより、前記特定の配線層の電源配線と接続する接続工程と、を実行し、
    前記出力工程は、
    前記接続工程によって前記ROW領域に接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする請求項1に記載の設計支援方法。
  3. 前記コンピュータが、
    前記ROW領域に接続可能な電源配線を伸長することにより、前記組み合わせを構成するマクロ以外の他のマクロと重複するか否かを判断する判断工程を実行し、
    前記挿入工程は、
    前記判断工程によって前記他のマクロと重複すると判断された場合、前記特定の配線層の電源配線が検出されなかった領域のうち前記ROW領域に接続可能な電源配線(以下、「第1の接続可能な電源配線」という)から上方の領域内において、前記第1の接続可能な電源配線に接続可能な第2の電源配線を挿入し、
    前記出力工程は、
    前記接続工程によって前記ROW領域に接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする請求項2に記載の設計支援方法。
  4. マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータにアクセス可能なコンピュータが、
    前記レイアウトデータに含まれる各マクロに接続指定されている配線層を特定する特定工程と、
    前記レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域に前記特定工程によって特定された各マクロに接続指定されている配線層の電源配線がないマクロを抽出する抽出工程と、
    前記接続指定されている配線層の電源配線群の中から、前記抽出されたマクロを挟む電源配線の組み合わせを検出する検出工程と、
    前記検出工程によって検出された検出結果を出力する出力工程と、
    を実行することを特徴とする設計支援方法。
  5. 前記コンピュータが
    前記抽出されたマクロの上方の投影領域に、前記抽出されたマクロに接続可能な電源配線を挿入する挿入工程と、
    前記挿入工程により挿入された電源配線を伸長することにより、前記特定の配線層の電源配線と接続する接続工程と、を実行し、
    前記出力工程は、
    前記接続工程によって前記抽出されたマクロに接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする請求項4に記載の設計支援方法。
  6. 前記コンピュータが
    前記抽出されたマクロに接続可能な電源配線を伸長することにより、他のマクロと重複するか否かを判断する判断工程を実行し、
    前記挿入工程は、
    前記判断工程によって前記他のマクロと重複すると判断された場合、前記特定の配線層の電源配線が検出されなかった領域のうち前記抽出されたマクロに接続可能な電源配線(以下、「第1の接続可能な電源配線」という)から上方の領域内において、前記第1の接続可能な電源配線に接続可能な第2の電源配線を挿入し、
    前記出力工程は、
    前記接続工程によってマクロに接続可能な電源配線が接続されたレイアウトデータを出力することを特徴とする請求項5に記載の設計支援方法。
  7. マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータの中から隣接しあうマクロの組み合わせを抽出する抽出手段と、
    前記レイアウトデータに含まれているROW領域の中から、前記抽出手段によって抽出された組み合わせを構成するマクロ間の領域を特定する特定手段と、
    前記特定手段によって特定された領域から上方の投影領域内において、前記レイアウトデータの最下層よりも上の特定の配線層の電源配線を検出する検出手段と、
    前記検出手段によって前記特定の配線層の電源配線が検出されなかった領域を出力する出力手段と、
    を備えることを特徴とする設計支援装置。
  8. マクロが配置されかつ電源配線が配線層ごとに一定間隔でレイアウトされたレイアウトデータに含まれる各マクロに接続指定されている配線層を特定する特定手段と、
    前記レイアウトデータに含まれるマクロ群の中から、当該各マクロから上方の投影領域に前記特定手段によって特定された各マクロに接続指定されている配線層の電源配線がないマクロを抽出する抽出手段と、
    前記接続指定されている配線層の電源配線群の中から、前記抽出されたマクロを挟む電源配線の組み合わせを検出する検出手段と、
    前記検出手段によって検出された検出結果を出力する出力手段と、
    を備えることを特徴とする設計支援装置。
JP2008330112A 2008-12-25 2008-12-25 設計支援方法および設計支援装置 Expired - Fee Related JP5136393B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008330112A JP5136393B2 (ja) 2008-12-25 2008-12-25 設計支援方法および設計支援装置
US12/642,044 US8230376B2 (en) 2008-12-25 2009-12-18 Designing supply wirings in semiconductor integrated circuit by detecting power supply wiring of specific wiring layer in projection area
US13/528,369 US8347253B2 (en) 2008-12-25 2012-06-20 Designing supply wirings in semiconductor integrated circuit by detecting power supply wiring of specific wiring layer in projection area

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008330112A JP5136393B2 (ja) 2008-12-25 2008-12-25 設計支援方法および設計支援装置

Publications (2)

Publication Number Publication Date
JP2010152644A JP2010152644A (ja) 2010-07-08
JP5136393B2 true JP5136393B2 (ja) 2013-02-06

Family

ID=42286479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008330112A Expired - Fee Related JP5136393B2 (ja) 2008-12-25 2008-12-25 設計支援方法および設計支援装置

Country Status (2)

Country Link
US (2) US8230376B2 (ja)
JP (1) JP5136393B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5136393B2 (ja) * 2008-12-25 2013-02-06 富士通セミコンダクター株式会社 設計支援方法および設計支援装置
JP2012231004A (ja) * 2011-04-26 2012-11-22 Honda Elesys Co Ltd 導通端子半田ストレス防止構造
CN103853861B (zh) * 2012-11-30 2016-12-21 国际商业机器公司 评估3d ic的电源供应的方法和装置
US10199283B1 (en) * 2015-02-03 2019-02-05 Pdf Solutions, Inc. Method for processing a semiconductor wager using non-contact electrical measurements indicative of a resistance through a stitch, where such measurements are obtained by scanning a pad comprised of at least three parallel conductive stripes using a moving stage with beam deflection to account for motion of the stage
KR102369511B1 (ko) * 2015-07-08 2022-03-03 삼성전자주식회사 반도체 집적 회로 및 이를 포함하는 전자 시스템
KR102374846B1 (ko) 2015-12-14 2022-03-16 삼성전자주식회사 파워 메쉬 변경 방법
US10978438B1 (en) 2015-12-16 2021-04-13 Pdf Solutions, Inc. IC with test structures and E-beam pads embedded within a contiguous standard cell area
US10275559B2 (en) 2016-11-18 2019-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Method for legalizing mixed-cell height standard cells of IC
CN111540735B (zh) * 2020-05-09 2021-03-19 安徽省东科半导体有限公司 一种提升芯片硬宏供电能力的方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1019987A (ja) 1996-07-03 1998-01-23 Advantest Corp デバイス・インターフェース機能試験方法及び装置
JPH1022394A (ja) * 1996-07-08 1998-01-23 Oki Lsi Technol Kansai:Kk 半導体集積回路、及びメガマクロセル電源配線の位置決め方法
JPH10199987A (ja) 1997-01-13 1998-07-31 Hitachi Ltd 設計支援装置及び半導体装置
JP3461443B2 (ja) * 1998-04-07 2003-10-27 松下電器産業株式会社 半導体装置、半導体装置の設計方法、記録媒体および半導体装置の設計支援装置
JP2002134623A (ja) * 2000-10-30 2002-05-10 Sanyo Electric Co Ltd 半導体集積回路およびそのレイアウト設計方法
US6609242B1 (en) * 2001-07-20 2003-08-19 Hewlett-Packard Development Company, L.P. Automated creation of power distribution grids for tiled cell arrays in integrated circuit designs
JP4287294B2 (ja) * 2004-01-21 2009-07-01 株式会社東芝 自動設計方法、自動設計装置、及び半導体集積回路
JP2005243886A (ja) * 2004-02-26 2005-09-08 Matsushita Electric Ind Co Ltd 半導体集積回路の配線レイアウト設計装置および方法
JP4628709B2 (ja) * 2004-07-07 2011-02-09 ルネサスエレクトロニクス株式会社 半導体集積回路のレイアウト設計方法
JP4272647B2 (ja) * 2005-09-09 2009-06-03 富士通マイクロエレクトロニクス株式会社 半導体集積回路装置のレイアウト方法及びそのレイアウトプログラム
JP2009111119A (ja) * 2007-10-30 2009-05-21 Nec Electronics Corp 半導体集積回路のレイアウト設計方法、レイアウト設計プログラム、及びレイアウト設計支援装置
JP5136393B2 (ja) * 2008-12-25 2013-02-06 富士通セミコンダクター株式会社 設計支援方法および設計支援装置
JP5299198B2 (ja) * 2009-09-29 2013-09-25 富士通セミコンダクター株式会社 設計支援プログラム、設計支援装置、および設計支援方法

Also Published As

Publication number Publication date
US8347253B2 (en) 2013-01-01
US8230376B2 (en) 2012-07-24
US20120260226A1 (en) 2012-10-11
US20100169851A1 (en) 2010-07-01
JP2010152644A (ja) 2010-07-08

Similar Documents

Publication Publication Date Title
JP5136393B2 (ja) 設計支援方法および設計支援装置
US7921390B2 (en) Method and system for creating, viewing, editing, and sharing output from a design checking system
KR20100135281A (ko) 손으로 그려진 표를 인식하기 위한 방법 및 툴
JP4707191B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP4769687B2 (ja) タイミング検証方法、タイミング検証装置及びタイミング検証プログラム
TWI277058B (en) Font processing device, terminal, font processing method and font processing program
CN103365968B (zh) 网页内容放大方法及网页内容放大镜
JP5418341B2 (ja) 設計支援プログラム、設計支援装置および設計支援方法
JP5035066B2 (ja) 表示位置決定プログラム、該プログラムを記録した記録媒体、表示位置決定装置および表示位置決定方法
US7627815B2 (en) Object editing system
JP5299198B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
US8060853B2 (en) Semiconductor integrated circuit designing apparatus, semiconductor integrated circuit designing method and semiconductor device
JP5239766B2 (ja) レイアウト設計方法
JP5136371B2 (ja) 設計支援方法
JP6476144B2 (ja) 画面差異確認支援装置、画面差異確認支援方法、及びプログラム
US8468481B2 (en) Support program, design support system, and design support method
KR20100105407A (ko) 반도체 장치의 설계 검증 장치
JP2008204349A (ja) レイアウト設計プログラム、該プログラムを記録した記録媒体、レイアウト設計方法、およびレイアウト設計装置
JP4967934B2 (ja) 画像処理装置及びプログラム
JP2010039679A (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP4935009B2 (ja) タンパク質表面形状検索装置、タンパク質表面形状検索方法、およびタンパク質表面形状検索プログラム
JP5212218B2 (ja) 設計支援プログラム、設計支援装置、および設計支援方法
JP4774911B2 (ja) 作図処理プログラム、作図処理プログラムを記録した記録媒体、作図処理方法及び作図処理システム
JP4324122B2 (ja) 設計ルール検証プログラム、該プログラムを記録した記録媒体、および設計ルール検証装置
US10140410B1 (en) Representing a routing strip in an integrated circuit design using a digit pattern

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121002

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: 20121016

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: 20121029

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: 20151122

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees