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

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

Info

Publication number
JP2006261365A
JP2006261365A JP2005076404A JP2005076404A JP2006261365A JP 2006261365 A JP2006261365 A JP 2006261365A JP 2005076404 A JP2005076404 A JP 2005076404A JP 2005076404 A JP2005076404 A JP 2005076404A JP 2006261365 A JP2006261365 A JP 2006261365A
Authority
JP
Japan
Prior art keywords
function
function block
capacitor
library
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
JP2005076404A
Other languages
English (en)
Other versions
JP4734981B2 (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 JP2005076404A priority Critical patent/JP4734981B2/ja
Priority to US11/365,593 priority patent/US7458047B2/en
Publication of JP2006261365A publication Critical patent/JP2006261365A/ja
Application granted granted Critical
Publication of JP4734981B2 publication Critical patent/JP4734981B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】 従来よりも電気的ノイズを低減することが可能な半導体集積回路のレイアウト設計方法を提供する。
【解決手段】 各機能のファンクションブロックについて、付加されたオンチップキャパシタの容量が相互に異なる複数種類のキャパシタ付きファンクションブロックのライブラリをそれぞれ用意する。先ず、各機能のファンクションブロックについて、それぞれ前記ライブラリのうち最大サイズの容量を有するキャパシタ付きファンクションブロックのライブラリを選択した状態で、配置の検討を行う。配置結果が所定の制約を満足できないと判定される場合に限り、順次、付加されたオンチップキャパシタの容量を小さくして、キャパシタ付きファンクションブロックの配置を検討する。
【選択図】 図2

Description

本発明は、半導体集積回路のレイアウト設計方法、そのプログラム、半導体集積回路の製造方法及び半導体集積回路のレイアウト設計装置に関する。
近年、例えばLSI(Large Scale Integration)などの半導体集積回路の内部回路が動作することによって発生する電気的ノイズによる遅延の変動や誤動作が問題になっている。
電気的ノイズとしては、例えば、トランジスタのオン・オフ動作によって電源線に電位の“ゆれ”に起因するものが挙げられる。
そのような電気的ノイズを低減する手法としては、LSI内部にオンチップキャパシタを配置する手法がある。
従来のLSI設計におけるファンクションブロック及びオンチップキャパシタの配置方法が、例えば特許文献1に記載されている。
図9は特許文献1の配置方法を示すフローチャートである。
図9に示すように、特許文献1の技術では、先ず、ファンクションブロックの配置場所を、ネットリスト上の接続関係や、与えられた遅延制約や、ブロックの密度などの制約を満足するように決定する(ステップS201)。
そして、ファンクションブロックが配置されなかった空き地(隙間)の寸法に合わせた寸法のオンチップキャパシタをそれぞれ生成し、該生成したオンチップキャパシタを各空き地に配置する(ステップS202)。
その後、ファンクションブロック間の配線を行う(ステップS203)。
従って、特許文献1の技術では、オンチップキャパシタの配置を考慮する(ステップS202)以前に、ファンクションブロックの配置が決定される(ステップS201)。
なお、特許文献1に記載されているように、オンチップキャパシタは、ファンクションブロックの近傍に配置することが、電気的ノイズを低減するために好ましい。
特開11−168177号公報(図1、図2)
しかしながら、特許文献1の技術では、ファンクションブロックが配置されなかった空き地にオンチップキャパシタを配置するため、オンチップキャパシタは、必ずしもファンクションブロックの近傍に配置されるわけではなく、電気的ノイズの低減効果が十分ではなかった。
更に、特許文献1の技術によるファンクションブロックの配置結果は、上記の制約を満足するものであるが、制約を最低限満足するのに留まらず、過剰に満足してしまう結果として、ファンクションブロックの集積度が過剰に高くなる場合があった。そして、そのように過剰な集積度でのファンクションブロックの配置を決定した後で、オンチップキャパシタの配置を考慮する場合には、本来は、遅延に余裕があり、もう少しファンクションブロック間の隙間を空けることによりオンチップキャパシタを配置できた場合でも、オンチップキャパシタを配置することができず、電気的ノイズの低減効果が十分に得られないという問題があった。
本発明は、上記のような問題点を解決するためになされたもので、従来よりも電気的ノイズを低減することが可能な半導体集積回路のレイアウト設計方法、そのプログラム、半導体集積回路の製造方法及び半導体集積回路のレイアウト設計装置を提供することを目的とする。
上記課題を解決するため、本発明の半導体集積回路のレイアウト設計方法は、半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する方法において、それぞれ所定の容量のオンチップキャパシタがファンクションブロックに隣設した状態に付加されてなるキャパシタ付きファンクションブロックの配置を検討する第1の過程と、前記第1の過程での配置結果が所定の制約を満足するものであるか否かを判定する第2の過程と、を少なくとも備え、前記所定の制約を満足できないと判定される場合に限り、順次、付加されたオンチップキャパシタの容量を小さくして、前記キャパシタ付きファンクションブロックの配置を検討する第3の過程と、該第3の過程での配置結果が前記所定の制約を満足するものであるか否かを判定する第4の過程と、を繰り返し実行することを特徴としている。
また、本発明のプログラムは、本発明の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラムであることを特徴としている。
また、本発明の半導体集積回路の製造方法は、基板又は絶縁層上に形成されたファンクションブロック及びオンチップキャパシタを備える半導体集積回路を製造する方法において、本発明の半導体集積回路のレイアウト設計方法により決定されたレイアウトでファンクションブロック及びオンチップキャパシタを基板又は絶縁層上に形成する過程を備えることを特徴としている。
また、本発明の半導体集積回路のレイアウト設計装置は、半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する装置において、オンチップキャパシタがファンクションブロックに隣設した状態に付加されてなるキャパシタ付きファンクションブロックの配置を検討する配置手段と、前記配置手段による配置結果が所定の制約を満足するものであるか否かを判定する判定手段と、前記所定の制約を満足できないと判定される場合に、付加されたオンチップキャパシタの容量を小さくする容量縮小手段と、を備え、前記配置手段は、先ず、それぞれ所定の容量のオンチップキャパシタがファンクションブロックに隣設した状態に付加されるキャパシタ付きファンクションブロックの配置を検討し、前記所定の制約を満足できないと判定される場合に限り、順次、前記容量縮小手段により容量が小さくされたキャパシタ付きファンクションブロックの配置を検討することを特徴としている。
本発明によれば、それぞれ所定の容量のオンチップキャパシタがファンクションブロックに隣設した状態に付加されてなるキャパシタ付きファンクションブロックの配置を検討する第1の過程と、第1の過程での配置結果が所定の制約を満足するものであるか否かを判定する第2の過程と、を少なくとも備え、所定の制約を満足できないと判定される場合に限り、順次、付加されたオンチップキャパシタの容量を小さくして、キャパシタ付きファンクションブロックの配置を検討する第3の過程と、該第3の過程での配置結果が所定の制約を満足するものであるか否かを判定する第4の過程と、を繰り返し実行するので、所定の制約を満足する範囲内で、最大サイズの容量が付加されたキャパシタ付きファンクションブロックを配置することができる。
より具体的には、収容性や遅延が制約を満足しない場合に限り、付加されたオンチップキャパシタの容量が小さいキャパシタ付きファンクションブロックに置き換えるので、収容性や遅延に余裕がある限りにおいては、最大サイズのオンチップキャパシタが、ファンクションブロックに隣設して配置されることとなる。
よって、オンチップキャパシタの効果が最大限発揮されるので、電気的ノイズによる遅延悪化や誤動作といった諸問題を、従来よりも好適に抑制することができる。
なお、収容性や遅延が満足できない場合には、キャパシタ付きファンクションブロックを、付加されたオンチップキャパシタの容量が小さいものに置き換えるため、遅延制約や収容性は従来と同程度である。
以下、図面を参照して、本発明に係る実施形態について説明する。
〔第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は、各機能のファンクションブロックについて、付加されたオンチップキャパシタのサイズが相互に異なる複数種類のキャパシタ付きファンクションブロックのライブラリを記憶保持している。
すなわち、ファンクションブロックライブラリデータベース102は、例えば、図5に示すように、各機能のファンクションブロックについて、比較的大容量のキャパシタ(オンチップキャパシタ)が隣設された大容量キャパシタ付きファンクションブロック803のライブラリと、比較的小容量のキャパシタが隣設された小容量キャパシタ付きファンクションブロック802のライブラリと、をそれぞれ記憶保持している。
なお、キャパシタは、容量が大きいほど、寸法も大きいため、付加されたキャパシタの容量が大きいファンクションブロックほど、寸法も大きい。
更に、本実施形態の場合、ファンクションブロックライブラリデータベース102は、例えば、キャパシタが付加されていないキャパシタ無しファンクションブロック801も、各機能のファンクションブロックについて、それぞれ記憶保持している。
つまり、例えば、簡単のために、ファンクションブロックを機能別に分類した種類が10種類であるとすると、その10種類の機能のファンクションブロックについて、それぞれ、キャパシタ無しファンクションブロック801、小容量キャパシタ付きファンクションブロック802及び大容量キャパシタ付きファンクションブロック803の3種類のライブラリが(すなわち、例えば合計30個のライブラリが)、ファンクションブロックライブラリデータベース102に記憶されている。
なお、本実施形態では、簡単のため、キャパシタ付きファンクションブロックに付加されているオンチップキャパシタのサイズが2種類である例を説明するが、実際には、オンチップキャパシタのサイズが多数(例えば、十種類、百種類、千種類、一万種類など)であることを、本発明では想定している。
また、本実施形態では、各機能のファンクションブロックについて、それぞれキャパシタ無しファンクションブロック801を用意している例を説明するが、キャパシタ無しファンクションブロック801が用意されていない種類のファンクションブロックが含まれていても良い。
また、その他のライブラリデータベース103は、一般的なLSI設計で使用されるライブラリ(但し、キャパシタ付きファンクションブロックライブラリデータベース102に記憶されているライブラリは除く)を記憶保持したデータベースである。
優先順位ライブラリデータベース104は、図6に示すように、ファンクションブロックの種類に応じた優先順位を示す情報を記憶保持する。
ここで、ファンクションブロックの優先順位は、より大容量のキャパシタを隣設配置する(付加する)ことが好ましいファンクションブロックであるほど、優先順位が高くなるように定めた順位である。
更に、優先順位ライブラリデータベース104には、優先順位の情報の他に、置き換え比率(後述)の増加単位を示す情報を記憶保持する。
配置配線完了データベース105は、LSI設計において“マスクデータ”と呼ばれるものと同一のデータを記憶保持する。
制御装置110は、例えば、各種の制御動作を行うCPUと、このCPUの制御用プログラムを記憶保持したROMと、CPUの作業領域などとして機能するRAMと、を備えて構成されている。
制御装置110は、そのROMに記憶されたプログラムに従って動作し、ネットリスト取得手段111、配置手段112、配置検証手段(判定手段、収容性判定手段、原因判定手段)113、オンチップキャパシタ生成手段114、配線手段115、遅延検証手段(判定手段、遅延判定手段、原因判定手段)116、ファンクションブロック置き換え手段(容量縮小手段)117、置き換え比率管理手段(目標値設定手段)118、ファンクションブロック並び替え手段119及び回路変更手段120として機能する。
このうちネットリスト取得手段111は、記憶装置100のネットリストデータベース101からネットリストを取得する。
配置手段112は、ネットリスト取得手段111により取得したネットリスト中の各ファンクションブロック間の結合情報に従って、ファンクションブロック間の遅延や配線の混雑度が最適になるように、各ファンクションブロックを配置する。
配置検証手段113は、ネットリスト中の全てのファンクションブロックが指定されたエリア内に収まるように配置できたか否かの判定と、ネットリスト中の全てのファンクションブロックが指定されたエリア内に収まるように配置できなかった場合(配置がオーバーフローした場合)における原因の判定と、を行う。
オンチップキャパシタ生成手段114は、ファンクションブロック間の空き地サイズにそれぞれ合うオンチップキャパシタを生成し、該生成したオンチップキャパシタを各空き地に配置する。
配線手段115は、配置手段112によって配置されたファンクションブロック間をネットリストに記述された通りに配線する。
遅延検証手段116は、ファンクションブロックの配置及び配線の結果(配置配線結果)に基づく回路の遅延の計算、遅延が目標の範囲内に収まっているか否かの判定と、遅延が目標の範囲内に収まらなかった場合における原因の判定と、を行う。
ファンクションブロック置き換え手段117は、ファンクションブロックライブラリデータベース102を参照して、現在選択されているキャパシタ付きファンクションブロックを段階的にキャパシタの容量が小さなものへと置き換える。
置き換え比率管理手段118は、現在の置き換え比率(置き換え比率については後述)の管理や、条件が成立するたびに置き換え比率を所定の増加単位(図6の優先順位ライブラリ参照)分だけ増加させる処理を行う。
本実施形態において、「置き換え比率」とは、最もキャパシタの容量が大きいキャパシタ付きファンクションブロックから、それよりも容量が小さい(又は容量が付加されていない)ファンクションブロックへと置き換えるべきファンクションブロックの数の比率である。
具体的には、例えば、ネットリスト中のファンクションブロックの数が全部で1万個で、置き換え比率が10%の場合、千個のファンクションブロックを、付加された容量が小さい(又は容量が付加されていない)ファンクションブロックへと置き換える必要がある。
ここで、あるファンクションブロックを、(1)大容量キャパシタ付きファンクションブロック803から小容量キャパシタ付きファンクションブロック802に置き換えただけの場合には、1個の置き換えとしてカウントする。
他方、あるファンクションブロックを、(2)大容量キャパシタ付きファンクションブロック803から小容量キャパシタ付きファンクションブロック802に置き換えた後で、更に、小容量キャパシタ付きファンクションブロック802からキャパシタ無しファンクションブロック801に置き換えた場合には、大容量キャパシタ付きファンクションブロック803から小容量キャパシタ付きファンクションブロック802に置き換える際に、1個の置き換えを行った旨のカウントを行い、更に、その後で同一のファンクションブロックを(小容量キャパシタ付きファンクションブロック802から)キャパシタ無しファンクションブロック801に置き換える際にも、1個の置き換えを行った旨のカウントを行う。つまり、大容量キャパシタ付きファンクションブロック803から、小容量キャパシタ付きファンクションブロック802→キャパシタ無しファンクションブロック801へと順次に置き換えた場合には、便宜的に、合計2個の置き換えを行ったものとしてカウントする。
すなわち、置き換え比率に応じて必要となるファンクションブロックの置き換え数は、置き換えの“のべ回数”に相当する。
ファンクションブロック並び替え手段119は、優先順位ライブラリデータベース104を参照して、ネットリスト中の各ファンクションブロックを優先順位に基づき、降順にソート(並び替え)する。
回路変更手段120は、ネットリストデータベース101のデータを書き換える。
なお、制御装置110の各手段112、114、115、117、120は、何れも、実際のものについての配置、生成、配線、置き換え、回路変更を行うのではなく、あくまで設計に際してのシミュレーションを行う。
次に、動作を説明する。
図2はファンクションブロック配置装置1によるファンクションブロックの配置検討処理を示すフローチャートである。
先ず、制御装置110は、ネットリスト取得手段111として機能し、ネットリストデータベース101からネットリストを取得する(ステップS300)。
ここで、初期状態においては、ネットリスト101中の各ファンクションブロックは、最もキャパシタの容量が大きいキャパシタ付きファンクションブロック(例えば、図5に示す大容量キャパシタ付きファンクションブロック803)となっている。
次に、制御装置110は、置き換え比率管理手段118として機能し、初期設定として、ネットリストに記述されているファンクションブロックの置き換え比率を0%に設定する(ステップS301)。このように当初の置き換え比率を0%に設定するのは、ファンクションブロックの当初の配置検討を、最大の容量が付加されたキャパシタ付きファンクションブロックで試みるためである。
次に、制御装置110は、配置手段111として機能し、ネットリスト中の各ファンクションブロックを、ネットリスト中の結合情報に従って、各ファンクションブロック間の遅延や配線の混雑度が最適になるように、半導体集積回路内に配置する(ステップS302)。
次に、制御装置110は、配置検証手段113として機能し、全てのファンクションブロックが指定されたエリア内に収まるように配置できたか否かを判定する(ステップS303)。
配置がオーバーフローしたと判定した場合(ステップS303のN)、ファンクションブロックのサイズが大きいのが原因でオーバーフローしたのか否かを判定する(ステップS304)。
ファンクションブロックのサイズが原因でオーバーフローしたと判定した場合(ステップS304のY)、制御装置110は、ファンクションブロック置き換え手段117などとして機能し、ファンクションブロックを置き換える処理(詳細後述)を行い(ステップS305)、再びステップS302の配置処理からやり直す。
つまり、ステップS305のファンクションブロック置き換え処理は、ファンクションブロックのサイズが大きいことが原因で配置の制約を満足できないと判定されるたびに、繰り返し実行される。
他方、オーバーフローした原因が、ファンクションブロックのサイズが大きいためではないと判定した場合(ステップS304のN)、制御装置110は、回路変更手段120として機能し、回路図の変更や論理合成のやり直しといった一般的なLSI設計で使用されている手法によってネットリストを更新し(ステップS306)、再びステップS302の配置処理からやり直す。
全てのファンクションブロックを指定されたエリア内に収まるように配置できたと判定した場合(ステップS303のY)、制御装置110は、オンチップキャパシタ生成手段114として機能し、オンチップキャパシタを生成及び配置する(ステップS307)。ここで生成及び配置するオンチップキャパシタは、ファンクションブロックに付加されたキャパシタとは別のオンチップキャパシタであり、従来と同様に空き地に配置されるため、必ずしもファンクションブロックに隣設されない。
こうして、本実施形態の場合、収容性や遅延に余裕がある限り、最大サイズのオンチップキャパシタが、ファンクションブロックに隣設して、もしくは、空き地に配置されることとなる。
続いて、制御装置110は、配線手段115として機能し、全てのファンクションブロックをネットリストに記述されたとおりに配線する(ステップS308)。
次に、制御装置110は、遅延検証手段116として機能し、遅延検証を行う。すなわち、ファンクションブロックの配置配線結果に基づき回路の遅延を算出し(ステップS309)、該算出した遅延が目標の範囲内であるか否かを判定する(ステップS310)。
なお、この遅延検証(ステップS309〜S310)は、一般的なLSI設計で使用されている普通の手法で行う。
遅延検証の結果、遅延が目標の範囲内に収まらなかった場合(ステップS310のN)、その原因が、ファンクションブロックのサイズが大きいことにより配線長が長くなってしまったことである否かを判定する(ステップS311)。
ファンクションブロックのサイズが大きいことにより配線長が長くなってしまったことが原因で、遅延が目標範囲内に収まらなかったと判定した場合(ステップS311のY)、制御装置110は、ファンクションブロック置き換え手段117などとして機能してファンクションブロックを置き換える処理(詳細後述)を行い(ステップS312)、ステップS302の配置処理からやり直す。
つまり、ステップS312のファンクションブロック置き換え処理は、ファンクションブロックのサイズが大きいことが原因で遅延の制約を満足できないと判定されるたびに繰り返し実行される。
更に、ステップS305のファンクションブロック置き換え処理は、ファンクションブロックのサイズが大きいことが原因で配置の制約を満足できないと判定されるたびに繰り返し実行されるだけでなく、ファンクションブロックのサイズが大きいことが原因で遅延の制約を満足できないと判定されるたびに繰り返し実行される。
遅延が目標範囲内に収まらなかった原因が、ファンクションブロックのサイズ以外のことであると判定した場合(ステップS311のN)、制御装置110は、回路変更手段120として機能して回路図の変更や論理合成のやり直しといった一般的なLSI設計で使用されている手法によってネットリストを更新し(ステップS313)、再びステップS302の配置処理からやり直す。
なお、配置がオーバーフローした場合(ステップS303のN)と、遅延が目標範囲内に収まらなかった場合(ステップS310のN)の何れの場合にも、2度目以降の配置処理(ステップS302)は、回路の変更規模に応じて最初から(全体を)やり直しても良いし、或いは、LSIのレイアウト設計で一般的に行われるECO(Engineering Change Order)処理により、変更箇所近傍のみやり直しても良い。
また、遅延が目標範囲内に収まったら(ステップS310のY)、図1の処理、すなわち、ファンクションブロックの配置検討処理を終了する。
次に、ファンクションブロック置き換え処理(図2のステップS305、ステップS312)について、図3及び図4を参照して詳細に説明する。
図3はファンクションブロック置き換え処理(図2のステップS305、ステップS312)の詳細なフローチャートであり、図4は図3の処理を更に詳細に示すフローチャートである。
図3に示すように、ファンクションブロック置き換え処理では、制御装置110は、先ず、置き換え比率管理手段118として機能し、管理している置き換え比率を優先順位ライブラリに記憶された所定の増加単位の分だけ増加させる(ステップS401)。
すなわち、本実施形態の場合、例えば、図6に示すように、優先順位ライブラリに記憶された置き換え比率の増加単位は0.1%であるので、1回目のファンクションブロック置き換え処理では、置き換え比率を当初の0%から0.1%に増加させる。
なお、置き換え比率は、ファンクションブロック置き換え処理が実行されるたびに、増加単位分(例えば、0.1%)ずつ増加される。
ステップS401に続いては、制御装置110は、ファンクションブロックを、付加されたキャパシタの容量が小さいものへと置き換える処理を、置き換え比率管理手段118により管理された置き換え比率に相当する数のファンクションブロックが置き換えられるまで、優先順位の低いファンクションブロックから順に実行する(ステップS402)。
次に、図4を参照して、ファンクションブロック置き換え処理をより詳細に説明する。
図4に示すように、ファンクションブロック置き換え処理では、制御装置110は、先ず、置き換え比率管理手段118として機能し、管理している置き換え比率を優先順位ライブラリに記憶された所定の増加単位の分だけ増加させる(管理している置き換え比率を更新する)(ステップS401:図3のステップS401と同じ)。
次に、制御装置110は、ファンクションブロック並び替え手段119として機能し、ネットリスト中の全てのファンクションブロックを、優先順位ライブラリに記憶された優先順位に従って、降順に並び替える(優先順位が下位のものから順に並ぶように並び替える)(ステップS601)。
すなわち、例えば、図6に示すように、優先順位が1番目のファンクションブロックとして、第1のインバータ回路、第1及び第2のNand回路があり、優先順位が2番目のファンクションブロックとして、第2のインバータ回路があり、優先順位が3番目のファンクションブロックとして、第3のインバータ回路があり、優先順位が4番目のファンクションブロックとして、第1及び第2のフリップフロップ(FF)があるような場合、これらファンクションブロックを、第1のFF→第2のFF→第2のインバータ回路→第3のインバータ回路→第1のインバータ回路→第1のNand回路→第2のNand回路の順に並び替える。
なお、第1のインバータ回路、第1のNand回路及び第2のNand回路のように、同一の優先順位のファンクションブロックが複数種類存在する場合、それら同一の優先順位のファンクションブロックの並び順は、例えば、ネットリストにおいてリストアップされている順序に従うようにしても良いし、或いは、ランダムに順序を設定しても良い。
なお、ステップS601の並び替え処理は、初回のファンクションブロック置き換え処理(ステップS305又はS312)でのみ実行すればよい。
また、ステップS601の並び替え処理は、配置上の並び替えを行うのではなく、その後の処理順序を決定するための並び替えを行う処理である。
更に、制御装置110は、このような並び替えがなされた後、ファンクションブロック置き換え手段117として機能し、その並び順における1番目のファンクションブロックを、置き換え対象のファンクションブロックに設定する。
次に、ファンクションブロック置き換え手段117は、現在までに置き換えられたファンクションブロックの比率が、置き換え比率管理手段118により管理されている置き換え比率に達したか否かを判定する(ステップS602)。
なお、当然ながら、ステップS602の処理の初回実行時には、未だファンクションブロックの置き換えがなされていないので、置き換え比率(例えば、0.1%)に相当する数のファンクションブロックは置き換えられていないと判定され(ステップS602のN)、ステップS603に移行する。
ステップS603では、置き換え対象のファンクションブロックを、キャパシタのサイズが1つ小さいファンクションブロックへと置き換える。
ここで、置き換え対象となっているファンクションブロックが複数個の場合、例えば、これら複数個のファンクションブロックに対して、一括して置き換え処理を行う。
また、ここで、置き換え対象のファンクションブロックが、既にキャパシタ無しファンクションブロック801に置き換えられている場合や、キャパシタ無しファンクションブロック801が用意されていない種類のファンクションブロックが既に最小サイズのキャパシタ付きファンクションブロック(例えば、小容量キャパシタ付きファンクションブロック802)に置き換えられている場合のように、キャパシタのサイズを現在よりも小さくすることができない場合には、ステップS603での置き換え処理を実行しない。
次に、現在までに置き換えられたファンクションブロックの総数(上記の“のべ数”)を算出し、その総数に基づいて、現在までに置き換えられた比率を算出する(ステップS604)。
次に、置き換え対象のファンクションブロックを、先のステップS601での並び替え後の順序に従って、変更する。すなわち、置き換え対象のファンクションブロックを、並び替え後の順序において1つ進める(ステップS605)。
つまり、それまで置き換え対象として設定されていたファンクションブロックが、例えば、第2のフリップフロップであった場合、第1のフリップフロップを新たな置き換え対象として設定する。
次に、ステップS602に戻り、先のステップS604にて算出された、現在までに置き換えられた比率が、管理されている置き換え比率に達したか否かを判定する。
ステップS602にて管理されている置き換え比率(目標値)に達したと判定された場合(ステップS602のY)、図2のフローチャートにおける続きの処理を実行する。
他方、ステップS602にて管理されている置き換え比率に達したと判定されるまでは(ステップS602にてNと判定される限りは)、以後同様に、ステップS603→ステップS604→ステップS605→ステップS602の処理を繰り返し行う。
ステップS603→ステップS604→ステップS605→ステップS602の処理を繰り返す過程では、先ず、ステップS601での並び順が1番目のファンクションブロックが1段階小さいサイズのブロックへと置き換えられる(ただし、キャパシタのサイズを現在よりも小さくすることができる場合)。
この置き換えによっても置き換え比率が目標値に達しない場合には、ステップS601での並び順が2番目のファンクションブロックが1段階小さいサイズのブロックへと置き換えられる(ただし、キャパシタのサイズを現在よりも小さくすることができる場合)。
以後、同様に、ステップS601での並び順が最後のファンクションブロックまでが1段階小さいサイズのブロックへと置き換えられても、置き換え比率が目標値に達しない場合には、ステップS601での並び順が1番目のファンクションブロックが更にもう1段階(当初からは2段階)小さいサイズのブロックへと置き換えられる。
以後、同様に、ステップS601での並び順が最後のファンクションブロックまでが更にもう1段階(当初からは2段階)小さいサイズのブロックへと置き換えられても、置き換え比率が目標値に達しない場合には、ステップS601での並び順が1番目のファンクションブロックが更にもう1段階(当初からは3段階)小さいサイズのブロックへと置き換え、以後、同様に、置き換え比率が目標値に達しない限りは、ステップS601での並び順が下位のファンクションブロックについての置き換え処理が実行される。
以上のような第1の実施形態によれば、収容性や遅延に余裕がある限りにおいては、最大サイズのオンチップキャパシタが、ファンクションブロックに隣設して配置されることとなる。
すなわち、具体的には、例えば、予め、ファンクションブロックにオンチップキャパシタを隣設して配置し、ファンクションブロックとオンチップキャパシタとを一体化させた“キャパシタ付きファンクションブロック”のライブラリを生成しておく。
しかも、同一の機能のファンクションブロックについて、付加されたオンチップキャパシタのサイズが相互に異なる複数種類のキャパシタ付きファンクションブロックのライブラリを、それぞれ生成しておく。
そして、これらキャパシタ付きファンクションブロックのライブラリを用いて配置検討を行い、配置や遅延などの制約を満足できない場合は、順次、付加されたオンチップキャパシタのサイズが小さいファンクションブロックへと変更していく。
つまり、オンチップキャパシタとして、ファンクションブロックに付加された状態のものが、遅延制約などに余裕がある限りにおいて、優先的に配置されるので、オンチップキャパシタをファンクションブロックに可能な限り隣設して配置することができる。
よって、オンチップキャパシタの効果が最大限発揮され、電気的ノイズによる遅延悪化や誤動作といった諸問題を好適に抑制することができる。
なお、収容性や遅延が満足できない場合には、キャパシタ付きファンクションブロックを、付加されたオンチップキャパシタの容量が小さいものに置き換えるため、遅延制約や収容性は従来と同程度である。
また、本実施形態の場合、より具体的には、各機能のファンクションブロックのうち、優先順位の低いファンクションブロックから順に、1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換え、該置き換えを、前記優先順位が最も高いファンクションブロックのライブラリまで繰り返しても未だ目標値に相当するファンクションブロックが置き換えられない場合には、優先順位の低いファンクションブロックから順に、もう1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えることを、目標値に相当するファンクションブロックが置き換えられるまで繰り返すので、各優先順位のファンクションブロックについて、ほぼ均等に容量を隣設して付加することができる。
〔第2の実施形態〕
第2の実施形態の場合、ファンクションブロック配置装置1の構成は、上記の第1の実施形態と同様である。
また、第2の実施形態の場合の動作は、上記の第1の実施形態と同様に、図2のフローチャートに従って行われるが、そのファンクションブロック置き換え処理(ステップS305、S312)のみが上記の第1の実施形態(図4)と異なり、図7に示すフローチャートに従って行われる。
以下、図7を参照して、第2の実施形態の場合の具体的な動作を説明する。
図7に示すように、ステップS401から初回のステップS602までは、上記の第1の実施形態と同様である。
第2の実施形態の場合、ステップS602に続いては、置き換え対象のファンクションブロックを、キャパシタのサイズが1つ小さいファンクションブロックへと置き換えることが可能であるか否かを判定する(ステップS701)。
すなわち、置き換え対象のファンクションブロックが、既にキャパシタ無しファンクションブロック801に置き換えられている場合や、キャパシタ無しファンクションブロック801が用意されていない種類のファンクションブロックが既に最小サイズのキャパシタ付きファンクションブロック(例えば、小容量キャパシタ付きファンクションブロック802)に置き換えられている場合には、ステップS701にて「可能でない」と判定される一方で、それ以外の場合には「可能である」と判定される。
ステップS701にて、「可能である」と判定された場合(ステップS701のY)、ステップS603に移行し、置き換え対象のファンクションブロックを、キャパシタのサイズが1つ小さいファンクションブロックへと置き換える。
ここで、置き換え対象となっているファンクションブロックが複数個の場合、例えば、これら複数個のファンクションブロックに対して、一括して置き換え処理を行う。
次に、現在までに置き換えられたファンクションブロックの総数(上記の“のべ数”)を算出し、その総数に基づいて、現在までに置き換えられた比率を算出する(ステップS604)。
次に、ステップS602に戻り、先のステップS604にて算出された、現在までに置き換えられた比率が、管理されている置き換え比率に達したか否かを判定する。
ステップS602にて管理されている置き換え比率(目標値)に達したと判定された場合(ステップS602のY)、図2のフローチャートにおける続きの処理を実行する。
他方、ステップS602にて管理されている置き換え比率に達していないと判定された場合(ステップS602のN)、再びステップS701以降の処理を実行する。
また、ステップS701にて、「可能でない」と判定された場合(ステップS701のN)、置き換え対象のファンクションブロックを、先のステップS601での並び替え後の順序に従って変更する。すなわち、置き換え対象のファンクションブロックを、並び替え後の順序において1つ進める(ステップS605)。
ステップS605の後は、ステップS602以降の処理を実行する。
従って、第2の実施形態の場合、優先順位が低いファンクションブロックから順に、キャパシタなしのファンクションブロックまで置き換えられ、それでも置き換え比率が目標値に達しなければ、優先順位の高いファンクションブロックを置き換えていく。
すなわち、上記の第1の実施形態では、例えば、全てのファンクションブロックに対して均等に容量が付加された結果になるのに対し、第2の実施形態の場合は、例えば、優先順位の低いファンクションブロックには全く容量が付加されておらず、優先順位の高いファンクションブロックには一番大きな容量が付加されたままになる。
以上のような第2の実施形態によれば、上記の第1の実施形態と同様の効果が得られる他に、優先順位の低いファンクションブロックから順に、付加されたオンチップキャパシタの容量を最小サイズまで置き換えるので、優先順位の高いファンクションブロックに対して、優先的にオンチップキャパシタを隣設して配置することが可能となるという効果が得られる。
〔第3の実施形態〕
第3の実施形態の場合の動作は、上記の第1の実施形態と同様に、図2のフローチャートに従って行われるが、そのファンクションブロック置き換え処理(ステップS305、S312)のみが上記の第1の実施形態(図3、図4)と異なり、図8に示すフローチャートに従って行われる。
以下、図8を参照して、第3の実施形態の場合の具体的な動作を説明する。
第3の実施形態の場合、図8に示すように、上記の第1の実施形態と同様に、管理している置き換え比率を優先順位ライブラリに記憶された所定の増加単位の分だけ増加させる処理を行う(ステップS401)。
次に、ステップS401に続いては、制御装置110は、ファンクションブロックを、付加されたキャパシタの容量が小さいものへと置き換える処理を、置き換え比率管理手段118により管理された置き換え比率に相当する数のファンクションブロックが置き換えられるまで、優先順位に関係なくランダムに実行する(ステップS502)。
なお、第3の実施形態の場合のファンクションブロック配置装置1の構成は、優先順位ライブラリデータベース104及びファンクションブロック並び替え手段119を備える必要がない点で、上記の第1の実施形態と異なり、その他の点では、上記の第1の実施形態と同様である。
ただし、第3の実施形態の場合、優先順位ライブラリデータベース104に含まれる情報のうち、置き換え比率の増加単位を示す情報だけは、記憶装置100に記憶保持しておく必要がある。
上記の第3の実施形態によれば、「各優先順位のファンクションブロックについて、ほぼ均等に容量を隣設して付加することができる」という点を除いて、上記の第1の実施形態と同様の効果が得られる。
本発明の実施形態に係るファンクションブロック配置装置の構成を示すブロック図である。 図1のファンクションブロック配置装置の動作を示すフローチャートである。 第1の実施形態の場合のファンクションブロック置き換え処理の概略を示すフローチャートである。 第1の実施形態の場合のファンクションブロック置き換え処理の詳細を示すフローチャートである。 ファンクションブロックライブラリデータベースの記憶内容の例を示す図である。 優先順位ライブラリデータベースの記憶内容の例を示す図である。 第2の実施形態の場合のファンクションブロック置き換え処理を示すフローチャートである。 第3の実施形態の場合のファンクションブロック置き換え処理を示すフローチャートである。 従来のファンクションブロック配置方法を示すフローチャートである。
符号の説明
1 ファンクションブロック配置装置(半導体集積回路のレイアウト設計装置)
102 ファンクションブロックライブラリデータベース
104 優先順位ライブラリデータベース(優先順位データベース)
112 配置手段
113 配置検証手段(判定手段、収容性判定手段、原因判定手段)
116 遅延検証手段(判定手段、遅延判定手段、原因判定手段)
117 ファンクションブロック置き換え手段(容量縮小手段)
118 置き換え比率管理手段(目標値設定手段)

Claims (19)

  1. 半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する方法において、
    それぞれ所定の容量のオンチップキャパシタがファンクションブロックに隣設した状態に付加されてなるキャパシタ付きファンクションブロックの配置を検討する第1の過程と、
    前記第1の過程での配置結果が所定の制約を満足するものであるか否かを判定する第2の過程と、
    を少なくとも備え、
    前記所定の制約を満足できないと判定される場合に限り、順次、付加されたオンチップキャパシタの容量を小さくして、前記キャパシタ付きファンクションブロックの配置を検討する第3の過程と、該第3の過程での配置結果が前記所定の制約を満足するものであるか否かを判定する第4の過程と、を繰り返し実行することを特徴とする半導体集積回路のレイアウト設計方法。
  2. 前記所定の制約には、収容性及び遅延のうちの少なくとも何れか一方の制約が含まれていることを特徴とする請求項1に記載の半導体集積回路のレイアウト設計方法。
  3. 前記所定の制約を満足できないと判定される場合に、満足できない原因が、前記ファンクションブロックに付加されたオンチップキャパシタのサイズが大きいことであるか否かを判定する第5の過程を行い、
    前記ファンクションブロックに付加されたオンチップキャパシタのサイズが大きいことが原因で前記所定の制約を満足できないと判定された場合に、前記第3の過程以降の過程を実行することを特徴とする請求項1又は2に記載の半導体集積回路のレイアウト設計方法。
  4. 予め、各機能のファンクションブロックについて、付加されたオンチップキャパシタの容量が相互に異なる複数種類のキャパシタ付きファンクションブロックのライブラリをそれぞれ用意しておく第6の過程を備え、
    前記第1の過程では、各機能のファンクションブロックについて、それぞれ前記ライブラリのうち最大サイズの容量を有するキャパシタ付きファンクションブロックのライブラリを選択した状態で、配置の検討を行い、
    前記第3の過程では、各機能のファンクションブロックのうち所要のファンクションブロックのライブラリを、小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えた状態で、配置の検討を行うことを特徴とする請求項1乃至3の何れか一項に記載の半導体集積回路のレイアウト設計方法。
  5. 前記第3の過程は、
    小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えるべきファンクションブロックの数ないしはその割合の目標値を設定する第7の過程と、
    前記目標値に相当するファンクションブロックが小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えられるまで、該置き換えを繰り返す第8の過程と、
    を備えて構成されていることを特徴とする請求項4に記載の半導体集積回路のレイアウト設計方法。
  6. 前記第3の過程が実行されるたびに、前記第7の過程では、前記目標値を所定値ずつ増加させることを特徴とする請求項5に記載の半導体集積回路のレイアウト設計方法。
  7. 予め、各機能のファンクションブロックについて、優先順位を設定する第9の過程を更に備え、
    前記第8の過程では、各機能のファンクションブロックのうち、前記優先順位の低いファンクションブロックから順に、1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換え、該置き換えを、前記優先順位が最も高いファンクションブロックのライブラリまで繰り返しても未だ前記目標値に相当するファンクションブロックが置き換えられない場合には、前記優先順位の低いファンクションブロックから順に、もう1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えることを、前記目標値に相当するファンクションブロックが置き換えられるまで繰り返すことを特徴とする請求項5又は6に記載の半導体集積回路のレイアウト設計方法。
  8. 予め、各機能のファンクションブロックについて、優先順位を設定する第9の過程を更に備え、
    前記第8の過程では、各機能のファンクションブロックのうち、前記優先順位の低いファンクションブロックを、1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換え、当該優先順位の低いファンクションブロックを最小サイズの容量を有するキャパシタ付きファンクションブロックのライブラリに置き換えても未だ前記目標値に相当するファンクションブロックが置き換えられない場合には、順次、前記優先順位が1つ高いファンクションブロックについて同様の置き換え処理を実行することを特徴とする請求項5又は6に記載の半導体集積回路のレイアウト設計方法。
  9. 前記第8の過程では、前記目標値に相当するファンクションブロックが小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えられるまで該置き換えを繰り返すことを、各機能のファンクションブロックについてランダムに実行することを特徴とする請求項5又は6に記載の半導体集積回路のレイアウト設計方法。
  10. 請求項1乃至9のいずれか一項に記載の半導体集積回路のレイアウト設計方法をコンピュータに実行させるためのプログラム。
  11. 基板又は絶縁層上に形成されたファンクションブロック及びオンチップキャパシタを備える半導体集積回路を製造する方法において、
    請求項1乃至9のいずれか一項に記載の半導体集積回路のレイアウト設計方法により決定されたレイアウトでファンクションブロック及びオンチップキャパシタを基板又は絶縁層上に形成する過程を備えることを特徴とする半導体集積回路の製造方法。
  12. 半導体集積回路におけるファンクションブロック及びオンチップキャパシタのレイアウトを設計する装置において、
    オンチップキャパシタがファンクションブロックに隣設した状態に付加されてなるキャパシタ付きファンクションブロックの配置を検討する配置手段と、
    前記配置手段による配置結果が所定の制約を満足するものであるか否かを判定する判定手段と、
    前記所定の制約を満足できないと判定される場合に、付加されたオンチップキャパシタの容量を小さくする容量縮小手段と、
    を備え、
    前記配置手段は、先ず、それぞれ所定の容量のオンチップキャパシタがファンクションブロックに隣設した状態に付加されるキャパシタ付きファンクションブロックの配置を検討し、前記所定の制約を満足できないと判定される場合に限り、順次、前記容量縮小手段により容量が小さくされたキャパシタ付きファンクションブロックの配置を検討することを特徴とする半導体集積回路のレイアウト設計装置。
  13. 前記判定手段には、
    前記配置手段による配置結果が収容性を満足するか否かを判定する収容性判定手段と、
    前記配置手段による配置結果が遅延を満足するか否かを判定する遅延判定手段と、
    のうちの少なくとも何れか一方が含まれていることを特徴とする請求項12に記載の半導体集積回路のレイアウト設計装置。
  14. 前記判定手段により前記所定の制約を満足できないと判定される場合に、満足できない原因が、前記ファンクションブロックに付加されたオンチップキャパシタのサイズが大きいことであるか否かを判定する原因判定手段を備え、
    前記容量縮小手段は、前記原因判定手段により、前記ファンクションブロックに付加されたオンチップキャパシタのサイズが大きいことが原因で前記所定の制約を満足できないと判定された場合に、付加されたオンチップキャパシタの容量を小さくすることを特徴とする請求項12又は13に記載の半導体集積回路のレイアウト設計装置。
  15. 各機能のファンクションブロックについて、付加されたオンチップキャパシタの容量が相互に異なる複数種類のキャパシタ付きファンクションブロックのライブラリをそれぞれ記憶保持したファンクションブロックライブラリデータベースを備え、
    前記配置手段は、先ず、各機能のファンクションブロックについて、それぞれ前記ライブラリのうち最大サイズの容量を有するキャパシタ付きファンクションブロックのライブラリを選択した状態で、配置の検討を行い、
    前記容量縮小手段は、前記所定の制約を満足できないと判定される場合に、各機能のファンクションブロックのうち所要のファンクションブロックのライブラリを、小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えることを特徴とする請求項12乃至14の何れか一項に記載の半導体集積回路のレイアウト設計装置。
  16. 小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えるべきファンクションブロックの数ないしはその割合の目標値を設定する目標値設定手段を更に備え、
    前記容量縮小手段は、前記目標値に相当するファンクションブロックが小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えられるまで、該置き換えを繰り返すことを特徴とする請求項15に記載の半導体集積回路のレイアウト設計装置。
  17. 各機能のファンクションブロックについての優先順位を記憶保持した優先順位データベースを更に備え、
    前記容量縮小手段は、各機能のファンクションブロックのうち、前記優先順位の低いファンクションブロックから順に、1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換え、該置き換えを、前記優先順位が最も高いファンクションブロックのライブラリまで繰り返しても未だ前記目標値に相当するファンクションブロックが置き換えられない場合には、前記優先順位の低いファンクションブロックから順に、もう1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えることを、前記目標値に相当するファンクションブロックが置き換えられるまで繰り返すことを特徴とする請求項16に記載の半導体集積回路のレイアウト設計装置。
  18. 各機能のファンクションブロックについての優先順位を記憶保持した優先順位データベースを更に備え、
    前記容量縮小手段は、各機能のファンクションブロックのうち、前記優先順位の低いファンクションブロックを、1段階ずつ小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換え、当該優先順位の低いファンクションブロックを最小サイズの容量を有するキャパシタ付きファンクションブロックのライブラリに置き換えても未だ前記目標値に相当するファンクションブロックが置き換えられない場合には、順次、前記優先順位が1つ高いファンクションブロックについて同様の置き換え処理を実行することを特徴とする請求項16に記載の半導体集積回路のレイアウト設計装置。
  19. 前記容量縮小手段は、前記目標値に相当するファンクションブロックが小さいサイズの容量を有するキャパシタ付きファンクションブロックのライブラリへと置き換えられるまで該置き換えを繰り返すことを、各機能のファンクションブロックについてランダムに実行することを特徴とする請求項16に記載の半導体集積回路のレイアウト設計装置。

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

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005076404A JP4734981B2 (ja) 2005-03-17 2005-03-17 半導体集積回路のレイアウト設計方法及び設計装置
US11/365,593 US7458047B2 (en) 2005-03-17 2006-03-02 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
JP2005076404A JP4734981B2 (ja) 2005-03-17 2005-03-17 半導体集積回路のレイアウト設計方法及び設計装置

Publications (2)

Publication Number Publication Date
JP2006261365A true JP2006261365A (ja) 2006-09-28
JP4734981B2 JP4734981B2 (ja) 2011-07-27

Family

ID=37010132

Family Applications (1)

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

Country Status (2)

Country Link
US (1) US7458047B2 (ja)
JP (1) JP4734981B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122418B2 (en) 2008-10-09 2012-02-21 Nec Corporation Capacitor arrangement method and layout apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004055873A (ja) * 2002-07-22 2004-02-19 Matsushita Electric Ind Co Ltd 半導体集積回路装置およびその設計方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631492A (en) * 1994-01-21 1997-05-20 Motorola Standard cell having a capacitor and a power supply capacitor for reducing noise and method of formation
US5883814A (en) * 1997-03-13 1999-03-16 International Business Machines Corporation System-on-chip layout compilation
JP3178399B2 (ja) 1997-12-04 2001-06-18 日本電気株式会社 半導体集積回路、その素子配置方法およびその製造方法
US6037621A (en) * 1998-07-29 2000-03-14 Lucent Technologies Inc. On-chip capacitor structure
US6320237B1 (en) * 1999-11-08 2001-11-20 International Business Machines Corporation Decoupling capacitor structure
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
US6424058B1 (en) * 1999-11-27 2002-07-23 International Business Machines Corporation Testable on-chip capacity
US6442041B2 (en) * 1999-12-21 2002-08-27 International Business Machines Corporation MCM—MLC technology
JP3544356B2 (ja) 2000-04-06 2004-07-21 松下電器産業株式会社 半導体集積回路のレイアウト方法および設計システム
US6370678B1 (en) * 2000-04-27 2002-04-09 Agilent Technologies, Inc. System and method for adjusting logic synthesis based on power supply circuit models
US6635916B2 (en) * 2000-08-31 2003-10-21 Texas Instruments Incorporated On-chip capacitor
US6980414B1 (en) * 2004-06-16 2005-12-27 Marvell International, Ltd. Capacitor structure in a semiconductor device
AU2003225048A1 (en) * 2002-04-19 2003-11-03 Integrated Magnetoelectronics Corporation Interfaces between semiconductor circuitry and transpinnor-based circuitry
US6608365B1 (en) * 2002-06-04 2003-08-19 Lsi Logic Corporation Low leakage PMOS on-chip decoupling capacitor cells compatible with standard CMOS cells
JP2004086881A (ja) 2002-06-27 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路の製造方法および可読記録媒体
US6807656B1 (en) * 2003-04-03 2004-10-19 Lsi Logic Corporation Decoupling capacitance estimation and insertion flow for ASIC designs
US7086026B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Decoupling capacitance analysis method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004055873A (ja) * 2002-07-22 2004-02-19 Matsushita Electric Ind Co Ltd 半導体集積回路装置およびその設計方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122418B2 (en) 2008-10-09 2012-02-21 Nec Corporation Capacitor arrangement method and layout apparatus
KR101141986B1 (ko) 2008-10-09 2012-05-21 닛본 덴끼 가부시끼가이샤 캐패시터 배열 방법 및 레이아웃 장치
TWI454951B (zh) * 2008-10-09 2014-10-01 Nec Corp 電容器配置方法、佈設裝置、及其電腦程式產品

Also Published As

Publication number Publication date
JP4734981B2 (ja) 2011-07-27
US7458047B2 (en) 2008-11-25
US20060209614A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
JP4761859B2 (ja) 半導体集積回路のレイアウト設計方法
KR100249251B1 (ko) 논리회로 최적화 장치 및 그 방법
JP2011124423A (ja) セルライブラリ、レイアウト方法およびレイアウト装置
US8219959B2 (en) Generating integrated circuit floorplan layouts
JP2006040962A (ja) デカップリング容量の配置方法
JP2001358221A (ja) レイアウト方法、レイアウト装置及び記録媒体
US8187924B2 (en) Method, design program and design support device for semiconductor integrated circuit, and semiconductor integrated circuit
US20120060138A1 (en) Method and System for Adaptive Physical Design
JP4725155B2 (ja) 半導体集積回路のレイアウト設計方法及び設計装置
JP4734981B2 (ja) 半導体集積回路のレイアウト設計方法及び設計装置
JP2009231675A (ja) 半導体集積回路の設計方法、半導体集積回路の設計プログラム、及び半導体集積回路の設計支援装置
KR20170094744A (ko) 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법
JP4999379B2 (ja) 半導体集積回路設計方法、半導体集積回路設計装置
JP2004086881A (ja) 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路の製造方法および可読記録媒体
JP3954633B2 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路の製造方法および可読記録媒体
Qiu et al. Routing challenges for designs with super high pin density
JP3954627B2 (ja) 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路の製造方法および可読記録媒体
LU503256B1 (en) 2.5d chiplet arrangement method for optimizing communication power consumption
JP2004228156A (ja) 半導体集積回路の自動レイアウト方法、及び半導体集積回路の自動レイアウトプログラム
JP4845400B2 (ja) 半導体装置の設計方法および半導体装置
JP4186890B2 (ja) 半導体集積回路の素子配置システム、素子配置方法、及びプログラム
JP2005183758A (ja) 半導体集積装置のレイアウト設計方法及びコンピュータプログラム
KR20230125436A (ko) 반도체 집적 회로의 레이아웃 설계 방법 및 이를 수행하는 설계 시스템
Sabbavarapu et al. A novel physical synthesis methodology in the VLSI design automation by introducing dynamic library concept
JP5832759B2 (ja) 半導体集積回路の設計方法

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees