JP2006269945A - 半導体集積回路のレイアウト設計方法及び設計装置 - Google Patents

半導体集積回路のレイアウト設計方法及び設計装置 Download PDF

Info

Publication number
JP2006269945A
JP2006269945A JP2005089011A JP2005089011A JP2006269945A JP 2006269945 A JP2006269945 A JP 2006269945A JP 2005089011 A JP2005089011 A JP 2005089011A JP 2005089011 A JP2005089011 A JP 2005089011A JP 2006269945 A JP2006269945 A JP 2006269945A
Authority
JP
Japan
Prior art keywords
chip capacitor
function block
chip
overlap
integrated circuit
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.)
Granted
Application number
JP2005089011A
Other languages
English (en)
Other versions
JP4725155B2 (ja
Inventor
Kohei Uchida
広平 内田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005089011A priority Critical patent/JP4725155B2/ja
Priority to US11/376,178 priority patent/US7454734B2/en
Publication of JP2006269945A publication Critical patent/JP2006269945A/ja
Application granted granted Critical
Publication of JP4725155B2 publication Critical patent/JP4725155B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Landscapes

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

Abstract

【課題】 従来よりも電気的ノイズを低減することが可能な半導体集積回路のレイアウト設計方法を提供する。
【解決手段】 ファンクションブロックを配置する第1の過程を行う。次に、第1の過程の後も空き地となっている領域にオンチップキャパシタを配置する第2の過程を行う。次に、第1の過程により配置されたファンクションブロックの一部と第2の過程により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせる第3の過程を行う。次に、第3の過程を行うことによって生じた空き地にもオンチップキャパシタを配置する第4の過程を行う。
【選択図】 図2

Description

本発明は、半導体集積回路のレイアウト設計方法、そのプログラム、半導体集積回路の製造方法及び半導体集積回路のレイアウト設計装置に関する。
近年、例えばLSI(Large Scale Integration)などの半導体集積回路の内部回路が動作することによって発生する電気的ノイズによる遅延の変動や誤動作が問題になっている。
電気的ノイズとしては、例えば、トランジスタのオン・オフ動作によって電源線に電位の“ゆれ”に起因するものが挙げられる。
そのような電気的ノイズを低減する手法としては、LSI内部にオンチップキャパシタを配置する手法がある。
オンチップキャパシタは、ファンクションブロック間の空き地に配置されるが、例えばファンクションブロック間の空き地が小さい場合はオンチップキャパシタが配置できずに単にスペースを埋めるためのフィルセルが配置される場合があった。
従来のLSI設計におけるファンクションブロック及びオンチップキャパシタの配置方法が、例えば特許文献1に記載されている。
図18は特許文献1の配置方法を示すフローチャートである。
図18に示すように、特許文献1の技術では、先ず、ファンクションブロックの配置場所を、ネットリスト上の接続関係や、与えられた遅延制約や、ブロックの密度などの制約を満足するように決定する(ステップS201)。
そして、ファンクションブロックが配置されなかった空き地(隙間)の寸法に合わせた寸法のオンチップキャパシタを、大きい順番に生成し、該生成したオンチップキャパシタを各空き地に配置する(ステップS202)。
その後、余った空き地(寸法が小さくオンチップキャパシタを配置できなかった空き地)にフィルセルを生成する(ステップS203)。
従って、特許文献1の技術では、オンチップキャパシタの配置を考慮する(ステップS202)以前に、ファンクションブロックの配置が決定される(ステップS201)。
なお、特許文献1に記載されているように、オンチップキャパシタは、ファンクションブロックの近傍に配置することが、電気的ノイズを低減するために好ましい。
特開平11−168177号公報(図1、図2)
しかしながら、特許文献1の技術では、ファンクションブロックが配置されなかった空き地にオンチップキャパシタを配置するため、オンチップキャパシタは、必ずしもファンクションブロックの近傍に配置されるわけではなく、電気的ノイズの低減効果が十分ではなかった。
更に、特許文献1の技術では、単位面積当たりのファンクションブロックの敷き詰め度合いが高まるにつれ、ファンクションブロック間の非常に小さな空き地が散在するようになってしまうが、オンチップキャパシタを配置するには、ある程度の幅(面積)の空き地を必要とするため、小さな空き地が散在するような状況では、オンチップキャパシタを効率的に配置できず、電気的ノイズの低減効果が十分ではなかった。
本発明は、上記のような問題点を解決するためになされたもので、従来よりも電気的ノイズを低減することが可能な半導体集積回路のレイアウト設計方法、そのプログラム、半導体集積回路の製造方法及び半導体集積回路のレイアウト設計装置を提供することを目的とする。
上記課題を解決するため、本発明の半導体集積回路のレイアウト設計方法は、半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する方法において、ファンクションブロックを配置する第1の過程と、前記第1の過程の後も空き地となっている領域にオンチップキャパシタを配置する第2の過程と、前記第1の過程により配置されたファンクションブロックの一部と前記第2の過程により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせる第3の過程と、前記第3の過程を行うことによって生じた空き地にもオンチップキャパシタを配置する第4の過程と、をこの順に行うことを特徴としている。
また、本発明のプログラムは、本発明の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであることを特徴としている。
また、本発明の半導体集積回路の製造方法は、基板又は絶縁層上に形成されたファンクションブロック及びオンチップキャパシタを備える半導体集積回路を製造する方法において、本発明の半導体集積回路のレイアウト設計方法により決定されたレイアウトでファンクションブロック及びオンチップキャパシタを基板又は絶縁層上に形成する過程を備えることを特徴としている。
また、本発明の半導体集積回路のレイアウト設計装置は、半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する装置において、ファンクションブロックを配置する配置手段と、前記配置手段によりファンクションブロックが配置された後も空き地となっている領域にオンチップキャパシタを配置する第1のオンチップキャパシタ配置手段と、前記配置手段により配置されたファンクションブロックの一部と前記オンチップキャパシタ配置手段により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせるオーバーラップ手段と、前記オーバーラップ手段によるオーバーラップを行うことによって生じた空き地にオンチップキャパシタを配置する第2のオンチップキャパシタ配置手段と、を備えることを特徴としている。
本発明によれば、ファンクションブロックの一部とオンチップキャパシタの一部とを相互にオーバーラップさせることが可能な場合に、これらを相互にオーバーラップさせるので、オーバーラップした領域に相当する面積の空き地を発生させることができる。更に、この空き地にもオンチップキャパシタを配置するので、配置されるオンチップキャパシタの総量を従来よりも増加させることができ、従来よりも電気的ノイズを低減することが可能となる。
具体的には、例えば、ファンクションブロックの出力インバータ部のレイアウト形状と、オンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、相互に対応する形式のオンチップキャパシタの電源端子部とファンクションブロックの出力インバータ部とをオーバーラップさせて配置したり、2つのオンチップキャパシタの電源端子部どうしをオーバーラップさせて配置したりすることが可能となり、オーバーラップにより生じた空き地にオンチップキャパシタを更に配置することにより、より多くのオンチップキャパシタを配置することが可能となる。
以下、図面を参照して、本発明に係る実施形態について説明する。
〔第1の実施形態〕
図1は第1の実施形態に係るファンクションブロック配置装置1を示すブロック図である。
図1に示すように、第1の実施形態に係るファンクションブロック配置装置1は、半導体集積回路(例えば、LSI)の基板上又は絶縁層上におけるファンクションブロックの配置検討を行う装置であり、データを記憶する記憶装置100と、記憶装置100に記憶されたデータを用いて配置検討の処理を行う制御装置110と、を備えて構成されている。
なお、ファンクションブロック配置装置1は、例えば、一般的なCAD(Computer Aided Design)装置からなり、記憶装置100及び制御装置110の他に、例えば、制御装置110の制御下で各種の表示動作を行う表示部(図示略)や、オペレータが操作を行うための操作部(図示略)を備えている。
記憶装置100は、制御装置110に対するデータの供給などを行うものであり、ネットリストデータベース101と、オーバーラップ可能要素ライブラリデータベース102と、その他のライブラリデータベース103と、オーバーラップ用ライブラリデータベース104と、配置完了データベース105と、を格納(記憶保持)している。
このうち、ネットリストデータベース101は、ファンクションブロック間の結合情報(接続関係の情報)であるネットリストを記憶保持する。
オーバーラップ可能要素ライブラリデータベース102は、オーバーラップが可能な各種のファンクションブロックのライブラリ(レイアウトライブラリ)と、オーバーラップが可能な各種サイズ(幅)のオンチップキャパシタのライブラリと、を記憶保持している。
図6及び図7はオーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたファンクションブロックの例を示す平面図であり、図8及び図9はオーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたオンチップキャパシタの例を示す平面図である。
例えばCMOSのファンクションブロックは、例えば、図6及び図7に示すように、機能部分601と、出力インバータ部602と、を電源配線603とグランド配線604との間の領域に備えて構成されていることが多い。
なお、ファンクションブロックとしては、例えば、フリップフロップ、セレクタ、EX−OR(XOR)、マルチプレクサなどが挙げられる。
本実施形態において、オーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたファンクションブロックにおいては、出力インバータ部602の配置及び形式が規格化されている。
すなわち、出力インバータ部602は、ファンクションブロックの右端部に配置されているか、左端部に配置されているか、或いは、左右両端部にそれぞれ配置されている。
例えば、図6に例示するファンクションブロック600は、機能部分601の片側(例えば、右側)にのみ出力インバータ部602を備えている。
また、図7に例示するファンクションブロック700は、機能部分601の両側(右側及び左側)にそれぞれ出力インバータ部602を備えている。
また、図示は省略するが、機能部分601の左側にのみ出力インバータ部602を備えているタイプのファンクションブロックも存在するものとする。
更に、オーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたファンクションブロックにおいては、出力インバータ部602のレイアウト形状が、規格化された幾つかの形式のうちの何れかの形式(タイプ)に設定されている(詳細後述)。
他方、オンチップキャパシタは、例えば、図8及び図9に示すように、容量部801と、この容量部801の片側或いは両側に配置された電源端子部802と、を電源配線603とグランド配線604との間の領域に備えて構成されている。
例えば、図8及び図9に示すオンチップキャパシタ800、900は、それぞれ容量部801の両側(右側及び左側)に電源端子部802を備えている。
なお、図8に示すオンチップキャパシタ800と図9に示すオンチップキャパシタ900とは、例えば、その容量部801のサイズが相互に異なる点の他は、互いに同様に構成されている。
また、図示は省略するが、容量部801の片側(右側又は左側のうちの何れか一方)にのみ電源端子部802を備えるタイプのオンチップキャパシタを用意しても良い。
ここで、オーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたオンチップキャパシタの電源端子部802の形式としては、オーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたファンクションブロックの出力インバータ部602の各形式と対応する形式が用意されている。
そして、オンチップキャパシタの電源端子部802の形式と、ファンクションブロックの出力インバータ部602の形式とが対応する場合に、該ファンクションブロックの出力インバータ部602と該オンチップキャパシタの電源端子部802とを相互にオーバーラップさせて配置することができるようになっている。
例えば、図8に示すオンチップキャパシタ800の電源端子部802の形式と、図6に示すファンクションブロック600の出力インバータ部602の形式と、は相互に対応しているものとする。
この場合、例えば、図10に示すように、オンチップキャパシタ800の電源端子部802をファンクションブロック600の出力インバータ部602にオーバーラップさせて(重ねて)配置することができる。
更に、電源端子部802のビアホールの配置と出力インバータ部602のビアホールの配置とが一致する場合、例えば、電源端子部802のビアホールと出力インバータ部602のビアホールとを接続することもできる。
また、2つのオンチップキャパシタの電源端子部802どうしの形式が対応する場合には、該2つのオンチップキャパシタの電源端子部802どうしをオーバーラップさせて配置することができるようになっている。
このように、本実施形態においては、オーバーラップ可能要素ライブラリデータベース102内にライブラリが記憶されたファンクションブロックの出力インバータ部のレイアウト形状と、オーバーラップ可能要素ライブラリデータベース102内にライブラリがあるオンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、対応する形式の出力インバータ部と電源端子部、並びに、対応する形式の電源端子部どうしを相互にオーバーラップさせて配置することが可能となっている。
なお、図8及び図9には、それらの電源端子部802の形式が互いに同一であるオンチップキャパシタ800、900を示しているが、オーバーラップ可能要素ライブラリデータベース102は、電源端子部802の形式が相互に異なるファンクションブロックのライブラリをも記憶保持していても良い。
また、図6及び図7には、それらの出力インバータ部602の形式が互いに同一であるファンクションブロック600、700を示しているが、オーバーラップ可能要素ライブラリデータベース102は、出力インバータ部602の形式が相互に異なるファンクションブロックのライブラリをも記憶保持していても良い。
次に、相互に形式が対応し、相互にオーバーラップ可能なファンクションブロックの出力インバータ部と、オンチップキャパシタの電源端子部とで一致する条件(オーバーラップ可能となる条件)の例について、図11を参照して説明する。
図11には、ファンクションブロックの出力インバータ部の平面図を示している。
ファンクションブロックの出力インバータ部とオンチップキャパシタの電源端子部とがオーバーラップ可能となる条件の例を以下に列挙する。すなわち、例えば、以下に列挙する条件の全てが一致するか、或いはこれらの条件のうちの何れか必要最小限の条件が一致する場合に、ファンクションブロックの出力インバータ部とオンチップキャパシタの電源端子部とが相互にオーバーラップ可能となる。
(1)ファンクションブロックの出力インバータ部のビアホール1111、1116の位置及び個数と、オンチップキャパシタの電源端子部のビアホールの位置及び個数とが一致する。
(2)ファンクションブロック出力インバータ部のソース側配線1112、1115のY座標位置(図11における上下位置)と、オンチップキャパシタの電源端子部のソース側配線のY座標位置とが一致する。
(3)ファンクションブロック出力インバータ部のソース側配線1112、1115のブロック端(該ファンクションブロックの端)からの距離と、オンチップキャパシタの電源端子部のソース側配線のブロック端(該オンチップキャパシタの端)からの距離とが一致する。
(4)ファンクションブロック出力インバータ部のソース側配線1112、1115の幅と、オンチップキャパシタの電源端子部のソース側配線の幅とが一致する。
(5)ファンクションブロック出力インバータ部のP型トランジスタ1113のY座標位置と、オンチップキャパシタの電源端子部のP型トランジスタのY座標位置とが一致する。
(6)ファンクションブロック出力インバータ部のP型トランジスタ1113のブロック端からの距離と、オンチップキャパシタの電源端子部のP型トランジスタのブロック端からの距離とが一致する。
(7)ファンクションブロック出力インバータ部のN型トランジスタ1114のY座標位置と、オンチップキャパシタの電源端子部のN型トランジスタのY座標位置とが一致する。
(8)ファンクションブロック出力インバータ部のN型トランジスタ1114のブロック端からの距離と、オンチップキャパシタの電源端子部のN型トランジスタのブロック端からの距離とが一致する。
また、2つのオンチップキャパシタの電源端子部どうしがオーバーラップ可能となる条件についても、上記(1)〜(8)と同様である。すなわち、例えば、以下に列挙する(11)〜(18)の条件の全てが一致するか、或いはこれらの条件のうちの何れか必要最小限の条件が一致する場合に、2つのオンチップキャパシタの電源端子部どうしがオーバーラップ可能となる。
(11)2つのオンチップキャパシタの電源端子部のビアホールの位置及び個数が一致する。
(12)2つのオンチップキャパシタの電源端子部のソース側配線のY座標位置が一致する。
(13)2つのオンチップキャパシタの電源端子部のソース側配線のブロック端(オンチップキャパシタの端)からの距離が一致する。
(14)2つのオンチップキャパシタの電源端子部のソース側配線の幅が一致する。
(15)2つのオンチップキャパシタの電源端子部のP型トランジスタのY座標位置が一致する。
(16)2つのオンチップキャパシタの電源端子部のP型トランジスタのブロック端からの距離が一致する。
(17)2つのオンチップキャパシタの電源端子部のN型トランジスタのY座標位置が一致する。
(18)2つのオンチップキャパシタの電源端子部のN型トランジスタのブロック端からの距離が一致する。
なお、上記の条件の他に、ファンクションブロック及びオンチップキャパシタのソース側配線を、端部寄りの位置に(外向き)に配置する必要がある。
ファンクションブロックは、それぞれ出力インバータのレイアウト形状によって、各形式に分類され、オーバーラップ可能要素ライブラリデータベース102に記憶されている。
また、オンチップキャパシタは出力インバータ部の形式の数だけ、その電源端子部の形式が各出力インバータ部の形式に合わせて作成され、オーバーラップ可能要素ライブラリデータベース102に記憶されている。
更に、各形式毎に、各種サイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102に記憶されている。
なお、以下では、簡単のため、オーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたファンクションブロックの出力インバータ部602と、オーバーラップ可能要素ライブラリデータベース102にライブラリが記憶保持されたオンチップキャパシタの電源端子部802と、を「オーバーラップ可能部」と総称することがある。
オーバーラップ用ライブラリデータベース104には、例えば図12に示すようなオーバーラップ用ライブラリが記憶保持されている。
図12に示すように、オーバーラップ用ライブラリには、例えば、「要素名」、「優先順位」、「オーバーラップ可能部の配置」及び「オーバーラップ可能部の形式」の4つの項目のデータが含まれている。
このうち「要素名」の欄には、オーバーラップが可能な配置要素(オーバーラップ可能部を備えるファンクションブロック及びオンチップキャパシタ)のリストが記述されている。
また、「優先順位」の欄には、オーバーラップが可能な配置要素のリストに含まれる各ファンクションブロックに対し設定された優先順位が記述されている。
ここで、ファンクションブロックの優先順位は、より多くのオンチップキャパシタを近傍に配置することが好ましいファンクションブロックであるほど、優先順位が高くなるように、予め定めた順位である。
また、「オーバーラップ可能部の配置」の欄には、各配置要素毎に、オーバーラップ可能部の配置が記述されている。
また、「オーバーラップ可能部の形式」の欄には、各配置要素毎に、オーバーラップ可能部の形式(第1のタイプ、第2のタイプ、・・・)が記述されている。なお、対応する形式(第1のタイプどうし、第2のタイプどうし、・・・)のオーバーラップ可能部を有するファンクションブロックとオンチップキャパシタ、並びに、対応する形式(第1のタイプどうし、第2のタイプどうし、・・・)のオーバーラップ可能部を有するオンチップキャパシタどうしは、それぞれオーバーラップ可能である。
また、その他のライブラリデータベース103は、オーバーラップ可能要素ライブラリデータベース102に記憶されている以外の各種のファンクションブロックやフィルセルなどのライブラリ(通常のレイアウト設計で使用されるライブラリ)を記憶保持している。
また、配置完了データベース105は、ファンクションブロック、オンチップキャパシタ及びフィルセルの配置が終了した配置データを記憶保持する。この配置完了データベース105内に記憶された配置データは、後にLSI設計における配線処理(各ファンクションブロック間を配線する処理)に用いられる。なお、本実施形態では、直接関係しないため配線処理の詳細な説明を省略する。
制御装置110は、例えば、各種の制御動作を行うCPUと、このCPUの制御用プログラムを記憶保持したROMと、CPUの作業領域などとして機能するRAMと、を備えて構成されている。
制御装置110は、そのROMに記憶されたプログラムに従って動作し、ネットリスト取得手段111、配置手段112、オンチップキャパシタ生成手段113、ファンクションブロック並び替え手段114、オーバーラップ手段115、オンチップキャパシタ置き換え手段116、オンチップキャパシタマージ手段117、フィルセル配置手段118及び配置完了データ格納手段119として機能する。
このうちネットリスト取得手段111は、記憶装置100のネットリストデータベース101からネットリストを取得する。
配置手段112は、ネットリスト取得手段111により取得したネットリスト中の各ファンクションブロックを、該ネットリスト101に記述されたファンクションブロック間の結合情報に基づいて、ファンクションブロック間の遅延や配線の混雑度が最適になるようにしてチップ内に配置する。
オンチップキャパシタ発生手段112は、配置手段111によってファンクションブロックが配置された後も空き地となっている領域にオンチップキャパシタを発生する。
ファンクションブロック並び替え手段114は、配置手段112によって配置されたファンクションブロックのうち、チップ内において同一の列に配置されたファンクションブロックを、オーバーラップ用ライブラリ(図12)に記述された優先順位に従って、昇順にソートする(並び替える)。つまり、ファンクションブロック並び替え手段114は、各列毎に、ファンクションブロックを優先順位の順に並び替える。なお、この並び替えは、配置上の並び替えではなく、その後の処理順序を決定するための並び替えである。
オーバーラップ手段115は、各ファンクションブロックについて、ファンクションブロック並び替え手段114による並び替え後の順序に従って、隣のオンチップキャパシタをオーバーラップさせるオーバーラップ処理を行う。
オンチップキャパシタ置き換え手段116は、オーバーラップ手段115によってオーバーラップされたオンチップキャパシタと、オーバーラップ手段115によって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在する場合に、オーバーラップ115手段によってオーバーラップされたオンチップキャパシタを、該空き地と足したサイズのオンチップキャパシタに置き換える処理を行う。
オンチップキャパシタマージ手段117は、相互に隣り合って配置された2つのオンチップキャパシタが存在する場合に、該2つのオンチップキャパシタを、該足したサイズのオンチップキャパシタに置き換える処理を行うか、該2つのオンチップキャパシタの双方にオーバーラップするオンチップキャパシタを配置する処理を行う。
次に、図2を参照して動作を説明する。
図2はファンクションブロック配置装置1によるファンクションブロック及びオンチップキャパシタの配置処理を示すフローチャートである。
先ず、制御装置110は、ネットリスト取得手段111として機能し、ネットリストデータベース101からネットリストを取得する(ステップS300)。
次に、制御装置110は、配置手段111として機能し、ネットリスト中の各ファンクションブロックを半導体集積回路内に配置する(ステップS301:第1の過程)。
次に、制御装置110は、オンチップキャパシタ生成手段113として機能し、先のステップS301にてファンクションブロックが配置された後も空き地となっている各領域内に、オンチップキャパシタを大きい順に生成する(ステップS302:第2の過程)。
次に、制御装置110は、ファンクションブロック並び替え手段115として機能する。すなわち、配置されたファンクションブロックの種類をチェックする処理(ステップS304)と、これらファンクションブロックをオーバーラップ用ライブラリデータベース104を参照してオーバーラップの優先順位の高い順にソートする(並び替える)処理(ステップS305:後述する第2の実施形態において第7の過程を構成する)と、を各列毎に行う。そして、何れかの列を一番目に処理する列として設定し、更に、この列に配置されたファンクションブロックのうち最も優先順位の高いファンクションブロックを、当初の処理対象ファンクションブロックとして設定する(後述する第2の実施形態において第8の過程の一部を構成する)。
その後、オーバーラップ処理(ステップS307:第3の過程)及びオンチップキャパシタ置き換え処理(ステップS309)を、先のステップS305にてソートされた順に行う。
すなわち、先ず、ステップS307では、優先順位の高いファンクションブロックから順にオーバーラップ処理を実行し、続くステップS309では、優先順位の高い順にオンチップキャパシタ置き換え処理を実行する。
その後、オンチップキャパシタマージ処理(ステップS310)を実行する。
次に、制御装置110は、フィルセル配置手段118として機能し、先のステップS310の後も空き地が残っている場合は、該空き地にフィルセルを配置する(ステップS311)。
これにより、配置完了データができあがる。
次に、制御装置110は、配置完了データ格納手段119として機能し、配置完了データを配置完了データベース105に格納(記憶保持)する。
次に、図3を参照して、オーバーラップ処理(図2のステップS307)の詳細を説明する。
オーバーラップ処理では、先ず、処理の対象となっているファンクションブロック(例えば、一巡目のオーバーラップ処理では、先のステップS304にて処理の対象として設定されたファンクションブロック)の右側部分がオーバーラップ可能であるか否かを判定する(ステップS401)。すなわち、処理の対象となっているファンクションブロック(以下、処理対象ファンクションブロック)が、その機能部分601の右側にオーバーラップ可能部を備えているか否かを判定する。
オーバーラップ可能である場合(ステップS401のY)、処理対象ファンクションブロックの右隣のオンチップキャパシタの左側部分を、該ファンクションブロックにオーバーラップさせることが可能であるか否かを判定する(ステップS402)。すなわち、処理対象ファンクションブロックの右隣にオンチップキャパシタが配置されており、且つ、該オンチップキャパシタの左側部分(つまり処理対象ファンクションブロック側の部分)が、処理対象ファンクションブロックの右側のオーバーラップ可能部にオーバーラップさせることが可能な形式のオーバーラップ可能部であるか否かを判定する。
オーバーラップ可能な場合(ステップS402のY)、処理対象ファンクションブロックの右隣のオンチップキャパシタの左側部分を、該ファンクションブロックにオーバーラップさせる(ステップS405)。すなわち、例えば、処理対象ファンクションブロックの右隣のオンチップキャパシタを、そのオーバーラップ可能部の幅に相当する距離だけ、左側にずらす。これにより、該オーバーラップ可能部の幅に相当する幅の空き地が、該オンチップキャパシタの右隣に新たに生じる。
また、処理対象ファンクションブロックの右隣のオンチップキャパシタの左側部分を、該ファンクションブロックにオーバーラップさせることができない場合(ステップS402のN)、ステップS403に移行する。
ステップS403では、処理対象ファンクションブロックの右隣のオンチップキャパシタの右側部分(処理対象ファンクションブロックから遠い側)をチェックし、該オンチップキャパシタの右側部分が処理対象ファンクションブロックの右側部分にオーバーラップさせることが可能な形式のオーバーラップ可能部であり、且つ、未使用(未だオーバーラップされていない)であるか否かを判定する。
処理対象ファンクションブロックの右隣のオンチップキャパシタの右側部分がオーバーラップ可能で未使用の場合(ステップS403のY)、該オンチップキャパシタを左右フリップし(ステップS404)、処理対象ファンクションブロックにオーバーラップさせる(ステップS405)。ここで、左右フリップとは、左右対称に反転させることである。すなわち、ステップS404では、処理対象ファンクションブロックの右隣のオンチップキャパシタを左右フリップさせることにより、該オンチップキャパシタを処理対象ファンクションブロックにオーバーラップさせることが可能となる。
ステップS405に続いては、ステップS406に移行する。また、ステップS401にて、オーバーラップ可能でないと判定された場合(ステップS401のN)も、ステップS406に移行する。
ステップS406からステップS410では、上記ステップS401〜S405にて処理対象ファンクションブロックの右側部分について行ったのと同様の処理を、該ファンクションブロックの左側部分について行う。
すなわち、先ず、ステップS406では、処理対象ファンクションブロックの左側部分がオーバーラップ可能であるか否かを判定する。
オーバーラップ可能である場合(ステップS406のY)、処理対象ファンクションブロックの左隣のオンチップキャパシタの右側部分を、該ファンクションブロックにオーバーラップさせることが可能であるか否かを判定する(ステップS407)。
オーバーラップ可能な場合(ステップS407のY)、処理対象ファンクションブロックの左隣のオンチップキャパシタの右側部分を、該ファンクションブロックにオーバーラップさせる(ステップS408)。これにより、処理対象ファンクションブロックの左隣のオンチップキャパシタのオーバーラップ可能部の幅に相当する幅の空き地が、該オンチップキャパシタの右隣に新たに生じる。
また、処理対象ファンクションブロックの左隣のオンチップキャパシタの右側部分を、該ファンクションブロックにオーバーラップさせることができない場合(ステップS407のN)、ステップS408に移行する。
ステップS408では、処理対象ファンクションブロックの左隣のオンチップキャパシタの左側部分(処理対象ファンクションブロックから遠い側)をチェックし、該オンチップキャパシタの左側部分が処理対象ファンクションブロックの左側部分にオーバーラップさせることが可能な形式のオーバーラップ可能部であり、且つ、未使用(未だオーバーラップされていない)であるか否かを判定する。
処理対象ファンクションブロックの左隣のオンチップキャパシタの左側部分がオーバーラップ可能で未使用の場合(ステップS408のY)、該オンチップキャパシタを左右フリップし(ステップS409)、処理対象ファンクションブロックにオーバーラップさせる(ステップS410)。
ステップS410に続いては、ステップS411に移行する。また、ステップS406にて、オーバーラップ可能でないと判定された場合(ステップS406のN)も、ステップS411に移行する。
ステップS411では、ステップS401〜S410の処理が全てのファンクションブロックについて終了したか否かを判定する。
未だ全てのファンクションブロックについてはステップS401〜S410の処理を行っていない場合(ステップS411のN)、処理対象ファンクションブロックを優先順位に従って変更する(ステップS412)。
すなわち、現在の処理の対象となっている列に配置されているファンクションブロックのうち、優先順位が次のファンクションブロックが存在する場合には、該ファンクションブロックを新たな処理対象ファンクションブロックに設定する。また、現在の処理の対象となっている列に配置されているファンクションブロックの全てについて既にステップS401〜S410の処理を行った場合には、次に処理の対象とする列に配置されたファンクションブロックのうち、優先順位が最も高いファンクションブロックを新たな処理対象ファンクションブロックに設定する。
ステップS412に続いては、新たに処理対象ファンクションブロックとして設定されたファンクションブロックについて、ステップS401以降の処理を上記と同様に行う。
その後、ステップS401〜S410の処理が全てのファンクションブロック(全ての列の全てのファンクションブロック)について終了すると(ステップS411のY)、図3のオーバーラップ処理を終了し、図2のオンチップキャパシタ置き換え処理(ステップS309)以降の処理を行う。
次に、図4を参照して、オンチップキャパシタ置き換え処理(図2のステップS309)の詳細を説明する。
オンチップキャパシタ置き換え処理では、先ず、先のステップS305(図2)による並び替えによって当初の処理対象ファンクションブロックに設定されたファンクションブロックを、改めて処理対象ファンクションブロックに設定する(ステップS500)。
次に、処理対象ファンクションブロックの処理対象ファンクションブロックの右隣にオンチップキャパシタが配置されているか否かを判定する(ステップS501)。
配置されている場合(ステップS501のY)、そのオンチップキャパシタの右隣に空き地が存在するか否かを判定する(ステップS502)。
空き地が存在する場合(ステップS502のY)、すなわち、処理対象ファンクションブロックの右隣に、オンチップキャパシタと空き地が、処理対象ファンクションブロックから見てこの順に並んで存在する場合、そのオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102内に記憶されているか否かを判定する(ステップS503)。
処理対象ファンクションブロックの右隣のオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102内に記憶されている場合(ステップS503のY)、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタと空き地とを足したサイズのオンチップキャパシタに置き換える(ステップS505:第5の過程)。
他方、適当なサイズ(処理対象ファンクションブロックの右隣のオンチップキャパシタと空き地とを足したサイズ)のオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102に無い場合(ステップS503のN)、処理対象ファンクションブロックの右隣のオンチップキャパシタの更に右隣の空き地に適当なサイズのオンチップキャパシタを配置する(ステップS504:第6の過程)。ここで、ステップS504では、空き地に配置するオンチップキャパシタを、処理対象ファンクションブロックの右隣のオンチップキャパシタにオーバーラップさせて配置する。
ステップS504及びステップS505に続いては、ステップS506に移行する。また、ステップS501にて、処理対象ファンクションブロックの右隣にはオンチップキャパシタが配置されていないと判定された場合(ステップS501のN)も、ステップS506に移行する。
ステップS506からステップS510では、上記ステップS501〜S505にて処理対象ファンクションブロックの右側について行ったのと同様の処理を、該ファンクションブロックの左側について行う。
すなわち、先ず、ステップS506では、処理対象ファンクションブロックの処理対象ファンクションブロックの左隣にオンチップキャパシタが配置されているか否かを判定する。
配置されている場合(ステップS506のY)、そのオンチップキャパシタの左隣に空き地が存在するか否かを判定する(ステップS507)。
空き地が存在する場合(ステップS507のY)、すなわち、処理対象ファンクションブロックの左隣に、オンチップキャパシタと空き地が、処理対象ファンクションブロックから見てこの順に並んで存在する場合、そのオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102内に記憶されているか否かを判定する(ステップS508)。
処理対象ファンクションブロックの左隣のオンチップキャパシタと空き地とを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102内に記憶されている場合(ステップS508のY)、処理対象ファンクションブロックの左隣のオンチップキャパシタを、該オンチップキャパシタと空き地とを足したサイズのオンチップキャパシタに置き換える(ステップS510:第5の過程)。
他方、適当なサイズ(処理対象ファンクションブロックの左隣のオンチップキャパシタと空き地とを足したサイズ)のオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102に無い場合(ステップS508のN)、処理対象ファンクションブロックの左隣のオンチップキャパシタの更に左隣の空き地に適当なサイズのオンチップキャパシタを配置する(ステップS509:第6の過程)。ここで、ステップS509では、空き地に配置するオンチップキャパシタを、処理対象ファンクションブロックの左隣のオンチップキャパシタにオーバーラップさせて配置する。
ステップS509及びステップS510に続いては、ステップS511に移行する。また、ステップS506にて、処理対象ファンクションブロックの左隣にはオンチップキャパシタが配置されていないと判定された場合(ステップS506のN)も、ステップS511に移行する。
ステップS511では、ステップS501〜S510の処理が全てのファンクションブロックについて終了したか否かを判定する。
未だ全てのファンクションブロックについてはステップS501〜S510の処理を行っていない場合(ステップS511のN)、処理対象ファンクションブロックを優先順位に従って変更する(ステップS512)。
すなわち、現在の処理の対象となっている列に配置されているファンクションブロックのうち、優先順位が次のファンクションブロックが存在する場合には、該ファンクションブロックを新たな処理対象ファンクションブロックに設定する。また、現在の処理の対象となっている列に配置されているファンクションブロックの全てについて既にステップS501〜S510の処理を行った場合には、次に処理の対象とする列に配置されたファンクションブロックのうち、優先順位が最も高いファンクションブロックを新たな処理対象ファンクションブロックに設定する。
ステップS512に続いては、新たに処理対象ファンクションブロックとして設定されたファンクションブロックについて、ステップS501以降の処理を上記と同様に行う。
その後、ステップS501〜S510の処理が全てのファンクションブロック(全ての列の全てのファンクションブロック)について終了すると(ステップS511のY)、図4のオンチップキャパシタ置き換え処理を終了し、図2のオンチップキャパシタマージ処理(ステップS310)以降の処理を行う。
次に、図5を参照して、オンチップキャパシタマージ処理(図2のステップS310)の詳細を説明する。
オンチップキャパシタマージ処理では、先ず、チップ内の全てのオンチップキャパシタをサーチし、オンチップキャパシタの隣もオンチップキャパシタである配置箇所を抽出する(ステップS701)。
オンチップキャパシタの隣もオンチップキャパシタである配置箇所が存在した場合(ステップS702のY)、相互に隣り合って配置された2つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリがオーバーラップ可能要素ライブラリデータベース102内に存在するか否かを判定する(ステップS703)。
隣り合う2つのオンチップキャパシタを足したサイズのオンチップキャパシタが存在する場合(ステップS703のY)、それら2つのオンチップキャパシタを、それら2つのオンチップキャパシタを足したサイズの(つまり大きい)1つのオンチップキャパシタに置き換える(ステップS704)。
他方、隣り合う2つのオンチップキャパシタを足したサイズのオンチップキャパシタが存在しない場合(ステップS703のN)、その隣り合う2つのオンチップキャパシタの間に、該2つのオンチップキャパシタの双方に対してオーバーラップするオンチップキャパシタを発生し、敷き詰める(ステップS705)。
なお、ステップS703〜S705の処理は、チップ内の全範囲について、一括して行う。すなわち、チップ内の複数箇所が、オンチップキャパシタの隣もオンチップキャパシタである配置箇所となっている場合、それら複数箇所について、ステップS703の処理と、ステップS704又はステップS705の処理と、をそれぞれ行う。
ステップS704又はステップS705の後は、図5のオンチップキャパシタマージ処理を終了し、図2のステップS311以降の処理を行う。
図13乃至図16は、図2のフローチャートにおける処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。なお、図13乃至図16においては、簡単のため、チップ内における1つの列についてのみ図示している。
先ず、ファンクションブロックを配置するステップS301(図2)が終了した段階では、例えば、図13に示すように、ファンクションブロック1401、1402、1403、1404、1405が所望のレイアウトで配置されている。
なお、ファンクションブロック1402及び1405は優先順位が高く、ファンクションブロック1401、1403、1404は優先順位が低いものとする。
次に、ステップS301により配置されたファンクションブロック間の空き地へのオンチップキャパシタの配置が終了した段階では、例えば、図14に示すように、ファンクションブロック1401〜1405間或いは、ファンクションブロック1401〜1405の脇の空き地にオンチップキャパシタ1411、1412、1413、1414、1415が配置されている。
その後、ステップS307のオーバーラップ処理により、オーバーラップ可能なオンチップキャパシタを、各々隣のファンクションブロックに対してオーバーラップさせた段階では、例えば、図15に示すように、各オンチップキャパシタ1411〜1415が隣のファンクションブロックに対してオーバーラップし、その結果として、各オンチップキャパシタ1411〜1415に隣接する空き地1421、1422、1423、1424、1425が新たに生じている。
なお、図15に示すように、優先順位が低いファンクションブロック1401と優先順位が高いファンクションブロック1402との間に位置しているオンチップキャパシタ1412は、優先順位が高いファンクションブロック1402に対して優先的にオーバーラップされている。同様に、オンチップキャパシタ1414は、ファンクションブロック1414に対してではなく、オンチップキャパシタ1415に対して優先的にオーバーラップしている。
その後、ステップS310のオンチップキャパシタマージ処理が終了した段階では、例えば、図16に示すように、オンチップキャパシタ1412(図15)がオンチップキャパシタ1431に置き換わり、新たなオンチップキャパシタ1432がファンクションブロック1403とオンチップキャパシタ1413との間に、該ファンクションブロック1403及びオンチップキャパシタ1413の双方に対してオーバーラップして配置され、オンチップキャパシタ1414(図15)がオンチップキャパシタ1433に置き換わり、オンチップキャパシタ1415の隣に新たなオンチップキャパシタ1434が該オンチップキャパシタ1415にオーバーラップして配置された状態となっている。
以上のような第1の実施形態によれば、ファンクションブロックとオンチップキャパシタとを相互にオーバーラップさせることが可能な場合に、これらを相互にオーバーラップさせるので、オーバーラップした領域に相当する面積(オーバーラップ可能部に相当する面積)の空き地を発生させることができる。更に、この空き地にもオンチップキャパシタを配置するので、配置されるオンチップキャパシタの総量を従来よりも増加させることができ、従来よりも電気的ノイズを低減することが可能となる。
すなわち、ファンクションブロックの出力インバータのレイアウト形状と、オンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、オンチップキャパシタをファンクションブロックにオーバーラップさせて配置したり、オンチップキャパシタを他のオンチップキャパシタにオーバーラップさせて配置したりすることが可能となり、オーバーラップにより生じた空き地にオンチップキャパシタを更に配置することにより、より多くのオンチップキャパシタを配置することが可能となる。
具体的には、例えば、ファンクションブロックの隣に配置されたオンチップキャパシタと、オーバーラップ処理によってそのオンチップキャパシタの隣に新たに生じた空き地と、を足した大きいサイズのオンチップキャパシタがオーバーラップ可能要素ライブラリデータベース102に登録されている場合、ファンクションブロックの隣のオンチップキャパシタを、その登録されている大きいサイズのオンチップキャパシタに置き換えることにより、オーバーラップにより生じた空き地にもオンチップキャパシタを配置することができる。
或いは、ファンクションブロックの隣に配置されたオンチップキャパシタと、オーバーラップ処理によって生じた空き地と、を足した大きいサイズのオンチップキャパシタがオーバーラップ可能要素ライブラリデータベース102に登録されていない場合に、空き地のサイズのオンチップキャパシタを新たに配置することにより、オーバーラップにより生じた空き地にもオンチップキャパシタを配置することができる。しかも、このように新たに配置するオンチップキャパシタを、既存のオンチップキャパシタにオーバーラップさせて配置するので、できるだけ大きいサイズの容量部を備えるオンチップキャパシタを新たに配置することができる。
更に、オンチップキャパシタマージ処理によって、隣り合う2つのオンチップキャパシタを大きなサイズの1つオンチップキャパシタに置き換えることができる場合には、総体としては、それまで2つのオンチップキャパシタの互いに対向する端部にそれぞれ存在していたオーバーラップ可能部(電源端子部)に相当する幅だけ、大きな容量部を備えるオンチップキャパシタに変更することができる。
或いは、オンチップキャパシタマージ処理において、隣り合う2つのオンチップキャパシタを大きなサイズの1つオンチップキャパシタに置き換えることができない場合にも、これら2つのオンチップキャパシタの間に新たなオンチップキャパシタを既存の双方のオンチップキャパシタにそれぞれオーバーラップさせて配置するので、極力多くのオンチップキャパシタをチップ内に配設することができる。
このように、できるだけ多くの容量のオンチップキャパシタをチップ内に配設することができるので、LSIなどの半導体集積回路において問題となる電気的ノイズの発生を好適に抑制することができる。
なお、オンチップキャパシタはMOSトランジスタなどの何らかのデバイスで作成するため、従来は最小幅の空き地(1サイト分の空き地)には作成できずにその空き地にフィルセルを発生していたが、本実施形態では、オンチップキャパシタを左右のオンチップキャパシタとそれぞれオーバーラップさせて配置することにより、最小幅の空き地しかない場所でもオンチップキャパシタを配置することができる。
更に、ファンクションブロックに可能な限りオーバーラップさせてオンチップキャパシタを配置することにより、オンチップキャパシタとファンクションブロックとの距離を縮めることができ、遅延悪化や誤動作といった諸問題を回避可能となる。
〔第2の実施形態〕
次に、第2の実施形態について説明する。
第2の実施形態では、オンチップキャパシタ置き換え処理(図2のステップS309)が上記の第1の実施形態と異なる点の他は、上記の第1の実施形態と同様である。
図17は第2の実施形態の場合のオンチップキャパシタ置き換え処理(図2のステップS309)を示すフローチャートである。
以下、図17を参照して、第2の実施形態の場合のオンチップキャパシタ置き換え処理の詳細を説明する。
オンチップキャパシタ置き換え処理では、先ず、先のステップS305(図2)による並び替えによって当初の処理対象ファンクションブロックに設定されたファンクションブロックを、改めて処理対象ファンクションブロックに設定する(ステップS600)。
次に、処理対象ファンクションブロックの処理対象ファンクションブロックの右隣にオンチップキャパシタが配置されているか否かを判定する(ステップS601:第9の過程)。
配置されている場合(ステップS601のY)、そのオンチップキャパシタの右隣に空き地が存在するか否かを判定する(ステップS602:第9の過程)。
空き地が存在する場合(ステップS602のY)、その空き地の更に右隣にファンクションブロックが配置されているか否かを判定する(ステップS603:第9の過程)。
配置されている場合(ステップS603のY)、空き地の右のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低いか否かを判定する(ステップS604:第10の過程)。
低い場合(ステップS604のY)、すなわち、処理対象ファンクションブロックの方が優先順位が高い場合、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地を合わせたサイズのオンチップキャパシタに置き換える(ステップS605:第11の過程)。
他方、空き地の右のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低くはない場合(ステップ604のN)、これら2つのファンクションブロックの優先順位が同一であるか否かを判定する(ステップS606:第10の過程)。
同一である場合(ステップS606のY)、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を合わせたサイズのオンチップキャパシタに置き換える(ステップS607:第12の過程)。
また、先のステップS603にて、空き地の右がファンクションブロックではないと判定された場合も(ステップS603のN)、ステップS605の処理を上記と同様に行う。
ステップS605、ステップS607に続いては、並びに、ステップS601、ステップS602、ステップS606にてそれぞれNと判定された場合には、ステップS608に移行する(第13の過程)。
ステップS608からステップS614では、上記ステップS601〜S607にて処理対象ファンクションブロックの右側について行ったのと同様の処理を、該ファンクションブロックの左側について行う。
すなわち、先ず、ステップS608では、処理対象ファンクションブロックの処理対象ファンクションブロックの左隣にオンチップキャパシタが配置されているか否かを判定する(第9の過程)。
配置されている場合(ステップS608のY)、そのオンチップキャパシタの左隣に空き地が存在するか否かを判定する(ステップS609:第9の過程)。
空き地が存在する場合(ステップS609のY)、その空き地の更に左隣にファンクションブロックが配置されているか否かを判定する(ステップS610:第9の過程)。
配置されている場合(ステップS610のY)、空き地の左のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低いか否かを判定する(ステップS611:第10の過程)。
低い場合(ステップS611のY)、すなわち、処理対象ファンクションブロックの方が優先順位が高い場合、処理対象ファンクションブロックの左隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地を合わせたサイズのオンチップキャパシタに置き換える(ステップS612:第11の過程)。
他方、空き地の左のファンクションブロックの優先順位が処理対象ファンクションブロックよりも低くはない場合(ステップ611のN)、これら2つのファンクションブロックの優先順位が同一であるか否かを判定する(ステップS613:第10の過程)。
同一である場合(ステップS613のY)、処理対象ファンクションブロックの右隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を合わせたサイズのオンチップキャパシタに置き換える(ステップS614:第12の過程)。
また、先のステップS610にて、空き地の右がファンクションブロックではないと判定された場合も(ステップS610のN)、ステップS612の処理を上記と同様に行う。
ステップS612、ステップS614に続いては、並びに、ステップS608、ステップS609、ステップS613にてそれぞれNと判定された場合には、ステップS615に移行する(第13の過程)。
ステップS615では、ステップS601〜S614の処理が全てのファンクションブロックについて終了したか否かを判定する。
未だ全てのファンクションブロックについてはステップS601〜S614の処理を行っていない場合(ステップS615のN)、処理対象ファンクションブロックを優先順位に従って変更する(ステップS616:第8の過程)。
すなわち、現在の処理の対象となっている列に配置されているファンクションブロックのうち、優先順位が次のファンクションブロックが存在する場合には、該ファンクションブロックを新たな処理対象ファンクションブロックに設定する。また、現在の処理の対象となっている列に配置されているファンクションブロックの全てについて既にステップS601〜S614の処理を行った場合には、次に処理の対象とする列に配置されたファンクションブロックのうち、優先順位が最も高いファンクションブロックを新たな処理対象ファンクションブロックに設定する。
ステップS616に続いては、新たに処理対象ファンクションブロックとして設定されたファンクションブロックについて、ステップS601以降の処理を上記と同様に行う。
その後、ステップS601〜S614の処理が全てのファンクションブロック(全ての列の全てのファンクションブロック)について終了すると(ステップS615のY)、図17のオンチップキャパシタ置き換え処理を終了し、図2のオンチップキャパシタマージ処理(ステップS310)以降の処理を行う。
以上のような第2の実施形態によれば、置き換え処理の際に、処理対象ファンクションブロックの隣にオンチップキャパシタが配置されており、且つ、そのオンチップキャパシタの隣が空き地である場合に、その空き地の隣には別のファンクションブロックが配置されているか否かを判定し、別のファンクションブロックが配置されている場合、該ファンクションブロックと処理対象ファンクションブロックとの優先順位を比較する。
比較の結果、処理対象ファンクションブロックの方が優先順位が高ければ、該処理対象ファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地と合わせたサイズのオンチップキャパシタに置き換える。
また、比較の結果、優先順位が同一であれば、該処理対象ファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分と合わせたサイズのオンチップキャパシタに置き換える。
なお、半分残された空き地は、後のオンチップキャパシタマージ処理(図2のステップS310、図5)により、別のファンクションブロックに隣接するオンチップキャパシタの配置領域として使用されることとなる。つまり、処理対象ファンクションブロックの優先順位と、該ファンクションブロックに最も近接した別のファンクションブロックの優先順位が同一の場合には、これら2つのファンクションブロックに対して平等に、隣接するオンチップキャパシタを配置するために、空き地が使用される。
また、処理対象ファンクションブロックの方が優先順位が低ければ、該処理対象ファンクションブロックの隣のオンチップキャパシタの更に隣の空き地をそのまま残しておく。
なお、残された空き地は、後のオンチップキャパシタマージ処理(図2のステップS310、図5)により、別のファンクションブロックに隣接するオンチップキャパシタの配置領域として使用されることとなる。つまり、処理対象ファンクションブロックの優先順位が、該ファンクションブロックに最も近接した別のファンクションブロックよりも低い場合には、処理対象ファンクションブロックの隣のオンチップキャパシタの更に隣の空き地をそのまま残しておくので、その空き地を、該ファンクションブロックに最も近接した別のファンクションブロックに隣接して配置されるオンチップキャパシタのため配置領域として確保することができる。
なお、上記の各実施形態においては、オーバーラップ処理及びオンチップキャパシタ置き換え処理にて、何れも、処理対象ファンクションブロックの右側についての処理(図3のステップS401〜ステップS405、図4のステップS501〜ステップS505、図17のステップS601からS607)を先に、左側に付いての処理(図3のステップS406〜ステップS410、図4のステップS506〜ステップS510、図17のステップS608からS614を後に行う例を説明したが、これとは反対に、処理対象ファンクションブロックの左側についての処理を先に、右側に付いての処理を後に行うようにしても良い。
また、上記の各実施形態では、オンチップキャパシタマージ処理(図2のステップS310、図5)を行う例を説明したが、オンチップキャパシタマージ処理は行わなくてもほぼ同様の効果が得られる。
本発明の実施形態に係るファンクションブロック配置装置の構成を示すブロック図である。 図1のファンクションブロック配置装置の動作を示すフローチャートである。 図2におけるオーバーラップ処理を示すフローチャートである。 図2におけるオンチップキャパシタ置き換え処理を示すフローチャートである。 図2におけるオンチップキャパシタマージ処理を示すフローチャートである。 オーバーラップが可能なファンクションブロックの例を示す平面図である。 オーバーラップが可能なファンクションブロックの例を示す平面図である。 オーバーラップが可能なオンチップキャパシタの例を示す平面図である。 オーバーラップが可能なオンチップキャパシタの例を示す平面図である。 ファンクションブロックとオンチップキャパシタとをオーバーラップさせた状態を示す平面図である。 オーバーラップ可能な条件を説明するための、インバータ出力部を示す平面図である。 オーバーラップ用ライブラリの例を示す図である。 図2の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。 図2の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。 図2の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。 図2の処理に従って、順次、チップ内におけるファンクションブロック及びオンチップキャパシタの配置が変化していく様子を説明するための平面図である。 第2の実施形態の場合のオンチップキャパシタ置き換え処理の流れを示すフローチャートである。 従来のファンクションブロック配置方法を示すフローチャートである。
符号の説明
1 ファンクションブロック配置装置(半導体集積回路のレイアウト設計装置)
112 配置手段
115 オーバーラップ手段
116 オンチップキャパシタ置き換え手段(第2のオンチップキャパシタ配置手段、第3のオンチップキャパシタ配置手段)
117 オンチップキャパシタマージ手段
102 オーバーラップ可能要素ライブラリデータベース(データベース)

Claims (26)

  1. 半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する方法において、
    ファンクションブロックを配置する第1の過程と、
    前記第1の過程の後も空き地となっている領域にオンチップキャパシタを配置する第2の過程と、
    前記第1の過程により配置されたファンクションブロックの一部と前記第2の過程により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせる第3の過程と、
    前記第3の過程を行うことによって生じた空き地にもオンチップキャパシタを配置する第4の過程と、
    をこの順に行うことを特徴とする半導体集積回路のレイアウト設計方法。
  2. 前記第3の過程では、前記第1の過程により配置された全てのファンクションブロックに対して、予め設定された優先順位に従った順番で、
    前記第2の過程により配置されたオンチップキャパシタとオーバーラップ可能か否かの判定と、
    オーバーラップ可能な場合にオーバーラップさせる処理と、
    を行うことを特徴とする請求項1に記載の半導体集積回路のレイアウト設計方法。
  3. 前記第4の過程は、前記第3の過程によってオーバーラップされたオンチップキャパシタと、前記第3の過程を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在する場合に、前記第3の過程によってオーバーラップされたオンチップキャパシタを、該空き地と足したサイズのオンチップキャパシタに置き換える第5の過程を備えていることを特徴とする請求項1又は2に記載の半導体集積回路のレイアウト設計方法。
  4. 前記第5の過程は、前記第2の過程によって配置された全てのオンチップキャパシタに対して、隣に配置されているファンクションブロックの優先順位が高いものから順番に行うことを特徴とする請求項3に記載の半導体集積回路のレイアウト設計方法。
  5. 前記第4の過程は、前記第3の過程によってオーバーラップされたオンチップキャパシタと、前記第3の過程を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在しない場合に、該空き地に合うサイズのオンチップキャパシタを該空き地に配置する第6の過程を備えていることを特徴とする請求項3又は4に記載の半導体集積回路のレイアウト設計方法。
  6. 前記第6の過程にて配置するオンチップキャパシタは、該オンチップキャパシタの隣に位置するオンチップキャパシタとオーバーラップさせて配置することを特徴とする請求項5に記載の半導体集積回路のレイアウト設計方法。
  7. 前記第4の過程は、
    前記第1の過程により配置された全てのファンクションブロックを、予め設定された優先順位に従って並び替える第7の過程と、
    前記第7の過程による並び替え後の順序に従って、順次、処理対象のファンクションブロックを変更していく第8の過程と、
    処理対象のファンクションブロックの隣にオンチップキャパシタが配置され、且つ、該オンチップキャパシタの更に隣が空き地であり、且つ、該空き地の更に隣が別のファンクションブロックであるか否かを判定する第9の過程と、
    前記第9の過程により、空き地の更に隣が別のファンクションブロックであると判定された場合に、該別のファンクションブロックと前記処理対象のファンクションブロックの優先順位を比較する第10の過程と、
    前記第10の過程により前記処理対象のファンクションブロックの方が優先順位が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地と足したサイズのオンチップキャパシタに置き換える第11の過程と、
    を備えることを特徴とする請求項1又は2に記載の半導体集積回路のレイアウト設計方法。
  8. 前記第4の過程は、前記第10の過程により前記処理対象のファンクションブロックと前記別のファンクションブロックの優先順位が同一であると判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を足したサイズのオンチップキャパシタに置き換える第12の過程を備えることを特徴とする請求項7に記載の半導体集積回路のレイアウト設計方法。
  9. 前記第4の過程は、前記第10の過程により前記処理対象のファンクションブロックよりも前記別のファンクションブロックの優先順位の方が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタの更に隣の前記空き地を残す第13の過程を備えることを特徴とする請求項7又は8に記載の半導体集積回路のレイアウト設計方法。
  10. 相互に隣り合って配置された2つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在する場合に、該2つのオンチップキャパシタを、該足したサイズのオンチップキャパシタに置き換える第14の過程を行うことを特徴とする請求項3乃至9の何れか一項に記載の半導体集積回路のレイアウト設計方法。
  11. 相互に隣り合って配置された2つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在せず、該2つのオンチップキャパシタの間に空き地がある場合には、該空き地に、該2つのオンチップキャパシタの双方にオーバーラップさせてオンチップキャパシタを配置する第15の過程を行うことを特徴とする請求項3乃至10の何れか一項に記載の半導体集積回路のレイアウト設計方法。
  12. 各種のファンクションブロックのライブラリ及び各種サイズのオンチップキャパシタのライブラリを記憶保持したデータベースを予め生成し、
    前記データベース内にライブラリがあるファンクションブロックの出力インバータ部のレイアウト形状と、前記データベース内にライブラリがあるオンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、
    対応する形式の出力インバータ部と電源端子部、並びに、対応する形式の電源端子部どうしを相互にオーバーラップさせて配置可能としたことを特徴とする請求項1乃至11の何れか一項に記載の半導体集積回路のレイアウト設計方法。
  13. 請求項1乃至12の何れか一項に記載の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラム。
  14. 基板又は絶縁層上に形成されたファンクションブロック及びオンチップキャパシタを備える半導体集積回路を製造する方法において、
    請求項1乃至12のいずれか一項に記載の半導体集積回路のレイアウト設計方法により決定されたレイアウトでファンクションブロック及びオンチップキャパシタを基板又は絶縁層上に形成する過程を備えることを特徴とする半導体集積回路の製造方法。
  15. 半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する装置において、
    ファンクションブロックを配置する配置手段と、
    前記配置手段によりファンクションブロックが配置された後も空き地となっている領域にオンチップキャパシタを配置する第1のオンチップキャパシタ配置手段と、
    前記配置手段により配置されたファンクションブロックの一部と前記オンチップキャパシタ配置手段により配置されたオンチップキャパシタの一部とを相互にオーバーラップ可能な場合にオーバーラップさせるオーバーラップ手段と、
    前記オーバーラップ手段によるオーバーラップを行うことによって生じた空き地にオンチップキャパシタを配置する第2のオンチップキャパシタ配置手段と、
    を備えることを特徴とする半導体集積回路のレイアウト設計装置。
  16. 前記オーバーラップ手段は、前記配置手段により配置された全てのファンクションブロックに対して、予め設定された優先順位に従った順番で、
    前記第1のオンチップキャパシタ配置手段により配置されたオンチップキャパシタとオーバーラップ可能か否かの判定と、
    オーバーラップ可能な場合にオーバーラップさせる処理と、
    を行うことを特徴とする請求項15に記載の半導体集積回路のレイアウト設計装置。
  17. 前記第2のオンチップキャパシタ配置手段は、前記オーバーラップ手段によってオーバーラップされたオンチップキャパシタと、前記オーバーラップ処理を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在する場合に、前記オーバーラップ手段によってオーバーラップされたオンチップキャパシタを、該空き地と足したサイズのオンチップキャパシタに置き換える置き換え処理を行うオンチップキャパシタ置き換え手段を備えていることを特徴とする請求項15又は16に記載の半導体集積回路のレイアウト設計装置。
  18. 前記オンチップキャパシタ置き換え手段による処理を、前記第1のオンチップキャパシタ配置手段によって配置された全てのオンチップキャパシタに対して、隣に配置されているファンクションブロックの優先順位が高いものから順番に行うことを特徴とする請求項17に記載の半導体集積回路のレイアウト設計装置。
  19. 前記第2のオンチップキャパシタ配置手段は、前記オーバーラップ手段によってオーバーラップされたオンチップキャパシタと、前記オーバーラップ処理を行うことによって生じた空き地と、を足したサイズのオンチップキャパシタのライブラリが存在しない場合に、該空き地に合うサイズのオンチップキャパシタを該空き地に配置する第3のオンチップキャパシタ配置手段を備えていることを特徴とする請求項17又は18に記載の半導体集積回路のレイアウト設計装置。
  20. 前記第3のオンチップキャパシタ配置手段は、該第3のオンチップキャパシタ配置手段により配置するオンチップキャパシタを、該オンチップキャパシタの隣に位置するオンチップキャパシタとオーバーラップさせて配置することを特徴とする請求項19に記載の半導体集積回路のレイアウト設計装置。
  21. 前記第2のオンチップキャパシタ配置手段は、
    前記配置手段により配置された全てのファンクションブロックを、予め設定された優先順位に従って並び替える処理と、
    並び替え後の順序に従って、順次、処理対象のファンクションブロックを変更していく処理と、
    処理対象のファンクションブロックの隣にオンチップキャパシタが配置され、且つ、該オンチップキャパシタの更に隣が空き地であり、且つ、該空き地の更に隣が別のファンクションブロックであるか否かを判定する判定処理と、
    前記判定過程により、空き地の更に隣が別のファンクションブロックであると判定された場合に、該別のファンクションブロックと前記処理対象のファンクションブロックの優先順位を比較する比較処理と、
    前記比較処理により前記処理対象のファンクションブロックの方が優先順位が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地と足したサイズのオンチップキャパシタに置き換える処理と、
    を行うことを特徴とする請求項15又は16に記載の半導体集積回路のレイアウト設計装置。
  22. 前記第2のオンチップキャパシタ配置手段は、前記比較処理により前記処理対象のファンクションブロックと前記別のファンクションブロックの優先順位が同一であると判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタを、該オンチップキャパシタの隣の空き地の半分を足したサイズのオンチップキャパシタに置き換える処理を行うことを特徴とする請求項21に記載の半導体集積回路のレイアウト設計装置。
  23. 前記第2のオンチップキャパシタ配置手段は、前記比較処理により前記処理対象のファンクションブロックよりも前記別のファンクションブロックの優先順位の方が高いと判定された場合に、前記処理対象のファンクションブロックの隣のオンチップキャパシタの更に隣の前記空き地を残す処理を行うことを特徴とする請求項21又は22に記載の半導体集積回路のレイアウト設計装置。
  24. 相互に隣り合って配置された2つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在する場合に、該2つのオンチップキャパシタを、該足したサイズのオンチップキャパシタに置き換えるオンチップキャパシタマージ手段を備えることを特徴とする請求項17乃至23の何れか一項に記載の半導体集積回路のレイアウト設計装置。
  25. 前記オンチップキャパシタマージ手段は、相互に隣り合って配置された2つのオンチップキャパシタを足したサイズのオンチップキャパシタのライブラリが存在せず、該2つのオンチップキャパシタの間に空き地がある場合には、該空き地に、該2つのオンチップキャパシタの双方にオーバーラップさせてオンチップキャパシタを配置することを特徴とする請求項24に記載の半導体集積回路のレイアウト設計装置。
  26. 各種のファンクションブロックのライブラリ及び各種サイズのオンチップキャパシタのライブラリを記憶保持したデータベースを備え、
    前記データベース内にライブラリがあるファンクションブロックの出力インバータ部のレイアウト形状と、前記データベース内にライブラリがあるオンチップキャパシタの電源端子部のレイアウト形状と、をそれぞれ規格化された幾つかの形式に設定することにより、
    対応する形式の出力インバータ部と電源端子部、並びに、対応する形式の電源端子部どうしを相互にオーバーラップさせて配置可能としたことを特徴とする請求項15乃至25の何れか一項に記載の半導体集積回路のレイアウト設計装置。

JP2005089011A 2005-03-25 2005-03-25 半導体集積回路のレイアウト設計方法及び設計装置 Expired - Fee Related JP4725155B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005089011A JP4725155B2 (ja) 2005-03-25 2005-03-25 半導体集積回路のレイアウト設計方法及び設計装置
US11/376,178 US7454734B2 (en) 2005-03-25 2006-03-16 Method of designing layout of semiconductor integrated circuit and apparatus for doing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005089011A JP4725155B2 (ja) 2005-03-25 2005-03-25 半導体集積回路のレイアウト設計方法及び設計装置

Publications (2)

Publication Number Publication Date
JP2006269945A true JP2006269945A (ja) 2006-10-05
JP4725155B2 JP4725155B2 (ja) 2011-07-13

Family

ID=37110049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005089011A Expired - Fee Related JP4725155B2 (ja) 2005-03-25 2005-03-25 半導体集積回路のレイアウト設計方法及び設計装置

Country Status (2)

Country Link
US (1) US7454734B2 (ja)
JP (1) JP4725155B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2133911B1 (en) * 2007-03-29 2014-11-19 Fujitsu Limited Capacitor cell, integrated circuit, integrated circuit designing method, and integrated circuit manufacturing method
US8086991B1 (en) * 2007-07-25 2011-12-27 AWR Corporation Automatic creation of vias in electrical circuit design
JP5266826B2 (ja) * 2008-03-25 2013-08-21 日本電気株式会社 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路の設計支援装置
US9378326B2 (en) * 2014-09-09 2016-06-28 International Business Machines Corporation Critical region identification
JP6245295B2 (ja) * 2016-03-15 2017-12-13 日本電気株式会社 集積回路、その設計方法、設計装置、設計プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04247657A (ja) * 1991-02-04 1992-09-03 Hokuriku Nippon Denki Software Kk ゲートアレイlsiの分散配置方式
JPH0563081A (ja) * 1991-09-02 1993-03-12 Mitsubishi Denki Eng Kk 集積回路装置のレイアウト方法
JP2001358221A (ja) * 2000-06-14 2001-12-26 Fujitsu Ltd レイアウト方法、レイアウト装置及び記録媒体
JP2004070721A (ja) * 2002-08-07 2004-03-04 Renesas Technology Corp 自動配置配線装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2682397B2 (ja) 1993-10-07 1997-11-26 日本電気株式会社 セルベース設計半導体集積回路装置
JP3093692B2 (ja) 1996-09-12 2000-10-03 松下電器産業株式会社 半導体集積回路,その設計方法及び記録媒体
JP3178399B2 (ja) * 1997-12-04 2001-06-18 日本電気株式会社 半導体集積回路、その素子配置方法およびその製造方法
US6480992B1 (en) * 1999-11-08 2002-11-12 International Business Machines Corporation Method, apparatus, and program product for laying out capacitors in an integrated circuit
JP2001203272A (ja) 2000-01-20 2001-07-27 Matsushita Electric Ind Co Ltd 半導体集積回路のレイアウト設計方法
US6546538B1 (en) * 2000-03-10 2003-04-08 Lsi Logic Corporation Integrated circuit having on-chip capacitors for supplying power to portions of the circuit requiring high-transient peak power

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04247657A (ja) * 1991-02-04 1992-09-03 Hokuriku Nippon Denki Software Kk ゲートアレイlsiの分散配置方式
JPH0563081A (ja) * 1991-09-02 1993-03-12 Mitsubishi Denki Eng Kk 集積回路装置のレイアウト方法
JP2001358221A (ja) * 2000-06-14 2001-12-26 Fujitsu Ltd レイアウト方法、レイアウト装置及び記録媒体
JP2004070721A (ja) * 2002-08-07 2004-03-04 Renesas Technology Corp 自動配置配線装置

Also Published As

Publication number Publication date
US7454734B2 (en) 2008-11-18
JP4725155B2 (ja) 2011-07-13
US20060236283A1 (en) 2006-10-19

Similar Documents

Publication Publication Date Title
US10997346B2 (en) Conception of a 3D circuit comprising macros
US7269803B2 (en) System and method for mapping logical components to physical locations in an integrated circuit design environment
US10127344B2 (en) Automation for monolithic 3D devices
US11030371B2 (en) Automation for monolithic 3D devices
US10396063B2 (en) Circuit with combined cells and method for manufacturing the same
JP4761859B2 (ja) 半導体集積回路のレイアウト設計方法
US11106853B1 (en) Automation for monolithic 3D devices
US11205034B2 (en) Automation for monolithic 3D devices
JP2006196627A (ja) 半導体装置、及び半導体装置の設計プログラム
US11270055B1 (en) Automation for monolithic 3D devices
US11341309B1 (en) Automation for monolithic 3D devices
JP4725155B2 (ja) 半導体集積回路のレイアウト設計方法及び設計装置
US11487928B2 (en) Automation for monolithic 3D devices
US11514221B2 (en) Automation for monolithic 3D devices
US11615228B1 (en) Automation methods for 3D integrated circuits and devices
US20110024869A1 (en) Design method, design program and design support device for semiconductor integrated circuit, and semiconductor integrated circuit
US11720736B2 (en) Automation methods for 3D integrated circuits and devices
US20230237236A1 (en) Method of designing layout of semiconductor integrated circuit, method of designing and manufacturing semiconductor integrated circuit using the same, and design system performing same
US20230267261A1 (en) Design system, design method and method of manufacture of semiconductor device
JPH11312185A (ja) レイアウトデータの作成方法
US20240169137A1 (en) Integrated circuit including standard cells and method of designing the same
JP4734981B2 (ja) 半導体集積回路のレイアウト設計方法及び設計装置
US20230229842A1 (en) Method of fabricating semiconductor device
CN113779923A (zh) 具有最佳化胞元布置的装置布局

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080825

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20090701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees