JP5640712B2 - 半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム - Google Patents

半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム Download PDF

Info

Publication number
JP5640712B2
JP5640712B2 JP2010275524A JP2010275524A JP5640712B2 JP 5640712 B2 JP5640712 B2 JP 5640712B2 JP 2010275524 A JP2010275524 A JP 2010275524A JP 2010275524 A JP2010275524 A JP 2010275524A JP 5640712 B2 JP5640712 B2 JP 5640712B2
Authority
JP
Japan
Prior art keywords
capacitor
cell
semiconductor device
unit
logic cell
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
JP2010275524A
Other languages
English (en)
Other versions
JP2012123710A (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.)
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 JP2010275524A priority Critical patent/JP5640712B2/ja
Publication of JP2012123710A publication Critical patent/JP2012123710A/ja
Application granted granted Critical
Publication of JP5640712B2 publication Critical patent/JP5640712B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、半導体装置の設計支援装置及びキャパシタ配置方法、並びにこのキャパシタ配置方法を実現するためのプログラムに関する。
微細プロセスで高速動作するLSI(Large Scale Integrated)の設計を行う場合、オンチップデカップリングキャパシタを電源ラインに配置する技術が知られている。オンチップデカップリングキャパシタは、キャパシタが持つ充放電機能を利用し、LSIの電源端子を結ぶ配線である電源ラインに発生するノイズ(電圧変動)を吸収するために、電源ラインに配置されるキャパシタである。
この種のキャパシタの配置方法としては、例えば、特許文献1に記載されているものがある。特許文献1に記載されたキャパシタの配置方法では、指定された周波数特性及び配置エリアの組み合わせごとに周波数特性の異なるキャパシタセルを配置している。
特開2010−93110号公報
しかしながら、特許文献1に記載されたキャパシタの配置方法では、同一配置エリア内に複数の周波数特性を持つ回路が混在している場合において、周波数帯域(=ノイズ感度)の高いキャパシタを選択して挿入するなど、必ずしも回路の周波数特性に応じたキャパシタが適切に配置されず、電源ノイズ耐性の高い半導体装置を設計することが困難であった。
また、一般に周波数帯域の高いキャパシタは低いキャパシタに比べ単位面積当たりの容量値が低いため、必要な容量を満たすためにより多くのキャパシタセルを挿入する必要があった。
本発明の目的は、上述した課題を解決する半導体装置の設計支援装置、キャパシタ配置方法及びプログラムを提供することにある。
上述した課題を解決するために、本発明の一態様による半導体装置の設計支援装置は、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出部と、前記負荷容量値算出部で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置部とを備えたことを特徴とする。
また、本発明の一態様によるキャパシタ配置方法は、コンピュータシステムのキャパシタ配置方法であって、前記コンピュータシステムが備える負荷容量値算出部が、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出ステップと、前記コンピュータシステムが備えるキャパシタ配置部が、前記負荷容量値算出ステップで算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置ステップとを備えたことを特徴とする。
また、本発明の一態様によるプログラムは、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出手順と、前記負荷容量値算出手順で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置手順とをコンピュータに実行させるためのプログラムである。
本発明によれば、ノイズの周波数帯域に適したキャパシタを配置することができ、電源ノイズ耐性の高い半導体装置を設計することが可能になる。また、配置するキャパシタ数の増加を抑制することができる。
第1の実施形態に係る半導体装置の設計支援装置の構成ブロック図である。 配置配線情報の内容例を示す簡略図である。 各セル間に接続されるネットの配線長情報の一例を示す表形式図である。 遅延ライブラリ情報の内容例を示す表形式図である。 設計規則情報の内容例を示す表形式図である。 デカップリングキャパシタセルの物理情報を示す模式図である。 第1の実施形態の全体の動作を示すフローチャートである。 キャパシタ配置処理の詳細を示すフローチャートである。 キャパシタ配置処理を説明するための説明図である。 キャパシタ配置処理を説明するための説明図である。 キャパシタ配置処理を説明するための説明図である。 キャパシタ配置処理を説明するための説明図である。 第2の実施形態に係る半導体装置の設計支援装置の構成ブロック図である。 第2の実施形態の動作を示すフローチャートである。 論理ゲートのスイッチング時の電圧波形と電流波形を示すグラフである。 デカップリングキャパシタの周波数特性等の一例を示す表形式図である。
以下、本発明の実施形態について、図面を参照しながら説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係る半導体装置の設計支援装置1の概略構成を示すブロック図である。
この図において、半導体装置の設計支援装置1(以下、設計支援装置という)は、配置配線情報/各種ライブラリ情報入力部101と、設計規則入力部102と、負荷容量値算出部103と、デカップリングキャパシタ配置部104と、レイアウト情報出力部105と、制御部106と、メモリ200とを備えている。また、配置配線情報/各種ライブラリ情報入力部101と、設計規則入力部102と、負荷容量値算出部103と、デカップリングキャパシタ配置部104と、レイアウト情報出力部105との各部がバスを介してメモリ200に接続されている。そして、制御部106が、配置配線情報/各種ライブラリ情報入力部101、設計規則入力部102、負荷容量値算出部103、デカップリングキャパシタ配置部104、及びレイアウト情報出力部105の各部の処理を制御する。
配置配線情報/各種ライブラリ情報入力部101は、LSI(半導体装置と呼ぶこともある)のレイアウトを行う際に必要な情報として、配置配線情報201(レイアウト情報と呼ぶこともある)、及び遅延ライブラリ情報202が入力され、メモリ200に記憶させる。ここで、配置配線情報201及び遅延ライブラリ情報202には、負荷容量値算出部103によって参照される内容が含まれており、配置配線情報201の内容については図2及び図3を参照し、遅延ライブラリ情報202の内容については図4を参照して、後述する。
設計規則入力部102は、LSIレイアウト中にデカップリングキャパシタセルを配置するための設計規則情報203が入力され、メモリ200に記憶させる。ここで、設計規則情報203は、デカップリングキャパシタ配置部104で参照する情報が記載され、その内容については図5及び図6を参照して、後述する。
負荷容量値算出部103は、配置配線情報201(LSIのレイアウト情報)、及びLSIの遅延要素から成る遅延ライブラリ情報202に基づき、LSI内に配置されている各論理セル(以下、単にセルと呼ぶこともある)の負荷容量値をそれぞれ算出する。すなわち、負荷容量値算出部103は、メモリ200に記憶された配置配線情報201と遅延ライブラリ情報202を参照して各セルの負荷容量値を求める。
なお、LSIの遅延要素とは、例えば、論理セルの入力端子容量、論理セルの出力能力(ドライブ能力)、配線容量などである。
キャパシタ配置部、つまり、デカップリングキャパシタ配置部104は、負荷容量値算出部103で算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、その判定結果に対応した周波数特性を有するデカップリングキャパシタを、対象となる論理セルの周辺部の空き領域に配置する。すなわち、デカップリングキャパシタ配置部104は、負荷容量値算出部103によって算出した各セルの負荷容量値に基づき、メモリ200に記憶された配置配線情報201におけるLSIレイアウトの空き領域にデカップリングキャパシタを配置して配置配線情報201を更新(変更)する、ここで、対象となる論理セルとは、デカップリングキャパシタを配置する対象となる論理セルのことである。
また、デカップリングキャパシタ配置部104は、領域設定部104aとキャパシタ配置実行部104bとを備えている。
領域設定部104aは、上述の各論理セルの周波数帯域をそれぞれ判定する判定結果に基づいて、対応する周波数特性を有するデカップリングキャパシタを配置する対象となる論理セルを選定し、対象となる論理セルの位置に基づいた領域を設定する。
キャパシタ配置実行部104bは、領域設定部104aで設定された領域の空き部分に、上述の判定結果に対応する周波数特性を有するデカップリングキャパシタを配置する。また、キャパシタ配置実行部104bは、上述の領域以外の領域の空き部分に、上述の領域の空き部分に配置したデカップリングキャパシタとは周波数特性が異なるデカップリングキャパシタを配置する。すなわち、キャパシタ配置実行部104bは、例えば、領域設定部104aで設定された領域の空き部分に高周波用のデカップリングキャパシタを配置し、上述の領域以外の領域の空き部分に低周波用のデカップリングキャパシタを配置する。
レイアウト情報出力部105は、デカップリングキャパシタ配置部104により更新された配置配線情報201を画面等に出力する。
次に、配置配線情報201、遅延ライブラリ情報202及び設計規則情報203の内容について説明する。
図2は、配置配線情報201の内容例を示す簡略図である。
図2に示すように、セルA〜Gと配線(ネット)N1〜N5が、入力端子IA1〜IG1、出力端子OA1〜OG1を経由して接続されている。尚、この図2の例は、当該発明の説明に必要な要素のみを簡略化して表示しているものであり、実際のLSIレイアウトの構造をそのまま表しているものではなく、図示した構成要素以外のセルや端子、それら端子への配線も存在している。
図3は、各セル間に接続されるネットの配線長情報の一例を示す表形式図である。この配線長情報は、配置配線情報201の1つとしてレイアウト完了後に確定する情報である。
図4(a)、(b)は、遅延ライブラリ情報202の内容例を示す表形式図であり、同図(a)は各セルの入力端子容量を示し、同図(b)はLSI内配線の単位長当たりの配線容量を示し、負荷容量値算出部103で参照する内容が含まれている。
図5及び図6は、設計規則情報203の内容例を示す図である。
図5に示す例は、5種類のデカップリングキャパシタセルDH4、DH2、DH1、DL4、及びDL2について、対応する周波数特性(近傍に配置すべきセルの負荷容量値)とセルサイズを示し、図6に示す例は、デカップリングキャパシタセルDH4、DH2、DH1、DL4、及びDL2の物理情報を示している。
次に、本実施形態の動作について、図7〜図12を参照して説明する。
図7は、本実施形態の全体の動作を示すフローチャートである。
まず、制御部106は、配置配線情報/各種ライブラリ情報入力部101を用いて、LSIレイアウトを行う際に必要な情報として配置配線情報201及び遅延ライブラリ情報202を入力させ、メモリ200に記憶させる(ステップS11)。
次に、制御部106は、設計規則入力部102を用いて、LSIレイアウト中にデカップリングキャパシタセルを配置するための設計規則情報203を入力させ、メモリ200に記憶させる。(ステップS12)。
続いて、制御部106は、負荷容量値算出部103を用いて、メモリ200に記憶されている配置配線情報201と遅延ライブラリ情報202を参照して各セルの負荷容量値を求める(ステップS13)。この負荷容量値は、出力端子に繋がる配線の配線容量と接続先セルの入力端子容量との和で求めることができる。配線容量は単位長さ当たりの配線容量値(図4(a)参照)と配線長(図3参照)の積で計算され、入力端子容量は端子ごとに固有の値(図4(b)参照)を持つ。図2に示したLSIレイアウト内におけるセルでの計算例を示すと、セルAについて、出力端子OA1に繋がるネットN1の配線長は、図3を参照すると8であるため、配線容量は8×3=24となる。また、接続される端子IB1の入力端子容量は3であるため、負荷容量は24+3=27と計算される。同様の計算方法によって、セルB、セルC、セルD、セルEの負荷容量はそれぞれ9、12、32、23と計算される。
次に、制御部106は、デカップリングキャパシタ配置部104を用いて、負荷容量値算出部103によって算出した各セルの負荷容量値に基づき、LSIレイアウトの空き領域、つまり配置配線情報201の空き領域にデカップリングキャパシタを配置して、配置配線情報201を更新(変更)する(ステップS14)。
このキャパシタ配置処理においては、負荷容量値算出部103で計算された各セルの負荷容量値に対応したデカップリングキャパシタを、周波数特性の高いものから順にセルの近傍に配置して配置配線情報201を更新(変更)する。すなわち、本実施形態では、デカップリングキャパシタセルとして、周波数特性が異なる2種類を用意している。つまり第1のキャパシタとして高周波用のデカップリングキャパシタ、第2のキャパシタとして低周波用のデカップリングキャパシタの2種類を用意してあるものとする。すなわち、デカップリングキャパシタは、周波数特性の異なる複数種類(この例では、高周波用と低周波用の2種類)のデカップリングキャパシタに分類される。
そして、デカップリングキャパシタ配置部104の領域設定部104aは、対象となる論理セルの位置に基づいた領域を設定する。また、デカップリングキャパシタ配置部104のキャパシタ配置実行部104bは、領域設定部104aで設定された領域の空き部分に高周波用のデカップリングキャパシタを配置し、上記の領域以外の領域の空き部分に低周波用のデカップリングキャパシタを配置する。
以下、このキャパシタ配置処理について、図8を参照して詳細に説明する。
図8は、本実施形態におけるキャパシタ配置処理(図7のステップS14)の詳細を示すフローチャートである。
はじめに、デカップリングキャパシタ配置部104は、メモリ200に記憶されている設計規則情報203を参照し、高周波用のデカップリングキャパシタDH4、DH2、DH1から配置を行う。具体的には、まず、デカップリングキャパシタ配置部104は、負荷容量値算出部103で算出された各論理セルの負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、キャパシタが配置される対象となるセルを選定する(ステップS21)。つまり、デカップリングキャパシタ配置部104は、負荷容量値算出部103で算出された各論理セルの負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定する。そして、デカップリングキャパシタ配置部104の領域設定部104aは、その判定結果に基づいて、デカップリングキャパシタを配置する対象となる論理セルを選定する。本例では、図5に示す設計規則情報203により、高周波用のデカップリングキャパシタの対象となるセルの負荷容量値は、20未満であることが判るので、セルB、セルCが対象となるセルとなる。
次に、デカップリングキャパシタ配置部104の領域設定部104aは、図9に示すように、対象となるセルであるセルB、セルCを中心とした、長さLとなる領域を設定する(ステップS22)。つまり、領域設定部104aは、対象となる論理セルの位置に基づいた領域を設定する。長さLの値については、事前に作成されたデカップリングキャパシタの容量値やシミュレーションもしくはテスト用LSIによって計測された充電電流の平均値、及びデカップリングキャパシタを配置するLSI内部の配置密度(自動レイアウトでは約40%〜50%)から総合的に決定される。長さLは、周波数特性毎に異なる値でもよく、また縦横で別々の長さを用いてもよい。
次に、デカップリングキャパシタ配置部104のキャパシタ配置実行部104bは、それら設定された領域の空き部分に高周波用のデカップリングキャパシタを配置する(ステップS23)。配置についてキャパシタ配置実行部104bは、図10に示すようにセルサイズの大きいものから順に配置する。図10に示す例では、空き領域の左側から順に高周波用のデカップリングキャパシタであるDH4、DH2、DH1が埋められている。
次に、デカップリングキャパシタ配置部104のキャパシタ配置実行部104bは、図11に示すように、残りの領域(上述の設定された領域以外のLSIレイアウト内の領域)について、低周波用のデカップリングキャパシタDL4、DL2を配置する(ステップS24)。配置の方法としては、先の高速帯域用デカップリングキャパシタと同様、セルサイズの大きいものから順に(DL4、DL2の順に)配置していく。
なお、本例では、若干の空き領域が残っているので、図12に示すように、さらに、キャパシタ配置実行部104bは、セルサイズの小さいデカップリングキャパシタセル(この場合はセルDH1)を任意で配置してもよい。これにより、空き領域を有効に使用することができ、デカップリングキャパシタの容量値を増やすことができる。そのため、LSI動作中に発生する電源ノイズを抑える効果を向上することができる。
また、本実施形態では、デカップリングキャパシタを高周波用、低周波用の2種類としているが、3種類以上ある場合でも、高周波用のセルから順にデカップリングキャパシタの配置領域を設定し、対応するデカップリングキャパシタを配置していけばよい。すなわち、この場合、デカップリングキャパシタ配置部104は、複数種類のデカップリングキャパシタのうち、高い周波数特性を有するキャパシタから低い周波数特性を有するキャパシタの順に配置する。
<第1の実施形態における利点>
以上のように、本実施形態によれば、設計支援装置1は、負荷容量値算出部103とデカップリングキャパシタ配置部104(キャパシタ配置部)を備える。負荷容量値算出部103が、配置配線情報201(LSIのレイアウト情報)、及びLSIの遅延要素から成る遅延ライブラリ情報202に基づき、LSI内に配置されている各論理セルの負荷容量値をそれぞれ算出する。また、デカップリングキャパシタ配置部104が、負荷容量値算出部103で算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定する。そして、デカップリングキャパシタ配置部104は、その判定結果に対応した周波数特性を有するデカップリングキャパシタ(キャパシタ)を、対象となる論理セルの周辺部の空き領域に配置する。すなわち、設計支援装置1では、周波数特性の異なるデカップリングキャパシタセルを複数準備し、それらをLSI内部領域に配置する際、論理回路内の各セルの負荷容量値から、そのセル(ノイズ源)の周波数帯域を判定し、その周波数帯域に応じたデカップリングキャパシタを配置するようにした。
これにより、設計支援装置1は、ノイズ源の周波数帯域に適したデカップリングキャパシタをそのノイズ源の周辺部に配置することができる。そのため、デカップリングキャパシタを配置する数を増加させなくても、デカップリングキャパシタは、論理セルの充電期間(後述する充電期間tr)に応じて電源ノイズ(IR(アイアール)ドロップ)を効率的に吸収することができる。よって、LSI動作中に発生する電源ノイズを抑える電源ノイズ耐性の高いLSIを設計することが可能となる。なお、IRドロップとは、LSI上の論理回路が動作する際に発生する電流パルスによって、電源電圧が一時的に降下する現象である。
また、本実施形態において、デカップリングキャパシタ配置部104は、領域設定部104aが、上述の周波数帯域の判定結果に基づいて、対応する周波数特性を有するデカップリングキャパシタを配置する対象となる論理セルを選定し、対象となる論理セルの位置に基づいた領域を設定する。そして、デカップリングキャパシタ配置部104のキャパシタ配置実行部104bは、領域設定部104aで設定された領域の空き部分に、対応する周波数特性を有するデカップリングキャパシタ(高周波用のデカップリングキャパシタ)を配置する。
これにより、対象となる論理セルの周波数帯域に対応した周波数特性を有するデカップリングキャパシタを、該対象となる論理セルの周辺部の空き領域に簡易且つ適切に配置することができる。対象となる論理セルの周辺部の空き領域にデカップリングキャパシタを適切に配置できるため、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ(IRドロップ)をさらに効率的に吸収することができる。
また、本実施形態において、キャパシタ配置実行部104bは、上述の領域以外の領域の空き部分に、領域の空き部分に配置したデカップリングキャパシタとは周波数特性が異なるデカップリングキャパシタ(低周波用のデカップリングキャパシタ)を配置する。
これにより、対象となる論理セルの周辺部以外に、異なる周波数特性を執するデカップリングキャパシタを簡易に配置することができる。そのため、設計支援装置1は、複数の周波数特性を持つ回路において、論理セルの充電期間に応じて電源ノイズ(IRドロップ)を効率的に低減することができる。
また、本実施形態において、デカップリングキャパシタは、周波数特性の異なる複数種類(高周波用セルと低周波用セル)のキャパシタに分類され、デカップリングキャパシタ配置部104は、複数種類のキャパシタのうち、高い周波数特性を有するデカップリングキャパシタ(高周波用セル)から低い周波数特性を有するデカップリングキャパシタ(低周波用セル)の順に配置する。
一般に、高周波用のデカップリングキャパシタは、低周波用のデカップリングキャパシタに比べて単位面積当たりの容量値が小さい。そのため、必要な容量を満たすために、高周波用のデカップリングキャパシタは、低周波用より多くのデカップリングキャパシタセルを配置する必要がある。したがって、上述のように、高周波用セルから低周波用セルの順に配置することにより、空き領域により多くのデカップリングキャパシタセルを効率的に配置することができる。すまり、デカップリングキャパシタの総容量値を大きくすることができる。
また、本実施形態において、デカップリングキャパシタ配置部104は、デカップリングキャパシタセルをサイズの大きいデカップリングキャパシタセル(例えば、DH4)から小さいデカップリングキャパシタセル(例えば、DH1)の順に配置する。
これにより、デカップリングキャパシタ配置部104は、空き領域により多くのデカップリングキャパシタセルを効率的に配置することができる。すまり、デカップリングキャパシタの総容量値を大きくすることができる。
また、本実施形態において、遅延ライブラリ情報202には、論理セルの入力端子容量、及びLSI(半導体装置)内配線の単位配線長当たりの配線容量が含まれる。そして、負荷容量値算出部103は、配置配線情報201(レイアウト情報)及び遅延ライブラリ情報202に基づき、各論理セルの出力端子の負荷容量値を算出する。
これにより、負荷容量値算出部103は、論理セルの出力端子の負荷容量値を的確に算出することができる。したがって、負荷容量値算出部103は、より正確に負荷容量値の算出することができる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
図13は、本発明の第2の実施形態に係る半導体装置の設計支援装置1の概略構成を示すブロック図である。この図において、図1と共通する要素には同一の符号を付し、その説明を省略する。
本実施形態は、図1の構成において、デカップリングキャパシタ配置部104の構成のみが異なり、その他の構成は同一である。
本実施形態のデカップリングキャパシタ配置部104は、セル比率算出部104cとキャパシタ配置実行部104dとを備えている。
セル比率算出部104cは、各論理セルの周波数帯域に基づいて各論理セルを、第1の論理セルとしての高周波帯域用セルと、第2の論理セルとしての低周波帯域用セルに分類し、単位エリア内の高周波帯域用セルと低周波帯域用セルの比率を求める。すなわち、セル比率算出部104cは、各論理セルの周波数帯域に基づいて、各論理セルを周波数帯域の異なる複数のセルグループ(高周波帯域用セルと低周波帯域用セル)に分類する。そして、セル比率算出部104cは、予め定められた単位エリア内における各セルグループの比率(例えば、高周波帯域用セルと低周波帯域用セルとの使用比率)を求める。
キャパシタ配置実行部104dは、単位エリア内の高周波帯域用セルと低周波帯域用セルの比率にしたがって、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、対象論理セルの周辺部の空き領域にそれぞれ配置する。すなわち、キャパシタ配置実行部104dは、各セルグループの比率にしたがって、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、対象となる論理セルの周辺部の空き領域にそれぞれ配置する。
次に、本実施形態の動作について図14を参照しつつ説明する。
図14は、第2の実施形態の動作を示すフローチャートである。
まず、制御部106は、第1の実施形態と同様に、配置配線情報/各種ライブラリ情報入力部101を用いて、配置配線情報201及び遅延ライブラリ情報202を入力させ、メモリ200に記憶させる(ステップS31)。
次に、制御部106は、設計規則入力部102を用いて、LSIレイアウト中にデカップリングキャパシタセルを設置するための設計規則情報203を入力させ、メモリ200に記憶させる(ステップS32)。
次に、制御部106は、配置配線情報201から、単位エリア内に存在するセルについて、セル出力端子側に繋がる他セルの種類、セル数及びそれらに繋がる実配線長(もしくは予測配線長)を求める(ステップS33)。
続いてセル比率算出部104cは、遅延ライブラリ情報202に記憶される各セルの入力端子容量、単位配線長当たりの配線容量及び回路内遅延情報を用い、対象となるセルの負荷容量値を求め、その負荷容量値から対象となるセルにおける信号波形の立ち上がり時間(信号が0レベルから1レベルに動くまでの時間)を算出する(ステップS34)。そして、セル比率算出部104cは、信号波形の立ち上がり時間が一定値より速いものを高速帯域用セル、遅いものを低速帯域用セルに分類する(ステップS35)。
さらに、セル比率算出部104cは、全てのセルについて、ステップS33からステップS34までの処理を繰り返し、単位エリア内の高速帯域用セル数、低速帯域用セル数を求める(ステップS36)。そして、セル比率算出部104cは、単位エリア内に存在する高速帯域用セルと低速帯域用セルの比率から、単位エリア内に必要なデカップリングキャパシタの比率を求め、キャパシタ配置実行部104dは、その比率にしたがって単位エリア内にデカップリングキャパシタを配置する(ステップS38)。この配置においては、高速帯域用キャパシタセルを高速帯域用セルの周辺に、低速帯域用キャパシタセルを低速帯域用セルの周辺にそれぞれ配置する。
なお、デカップリングキャパシタとして高速帯域用セル、低速帯域用セルの2種類を予め準備しておいたが、2種類以上用意しても構わない。また、上述のキャパシタ配置処理では、単位エリア内に存在する高速帯域用セルと低速帯域用セルの比率に基づいて、単位エリア内にデカップリングキャパシタを配置するようにしたが、単位エリア内の高速帯域用セル、低速帯域用セルの総負荷容量値を求め、その比率にしたがってデカップリングキャパシタを配置するようにしてもよい。すなわち、上述の各セルグループの比率を、単位エリア内における各セルグループの総負荷容量値の比率としてもよい。
<第2の実施形態における利点>
以上のように、第2の実施形態によれば、周波数特性の異なるデカップリングキャパシタセルを複数用意し、それらをLSI内部領域に挿入する際、論理回路内の各セルの立ち上がり時間から対象となるセル(ノイズ源)の周波数帯域を求め、その帯域に応じたデカップリングキャパシタを配置する。これにより、ノイズの周波数帯域に適したキャパシタを設置することができ、キャパシタは、配置する数を増加させなくても、論理セルの立ち上がり時間に応じて電源ノイズ(IRドロップ)を効率的に吸収することができる。電源ノイズ耐性の高いLSIを設計することが可能となる。
また、本実施形態において、デカップリングキャパシタ配置部104は、セル比率算出部104cとキャパシタ配置実行部104dとを備えている。セル比率算出部104cが、各論理セルの周波数帯域に基づいて、各論理セルを周波数帯域の異なる複数のセルグループ(高周波帯域用セルと低周波帯域用セル)に分類する。さらに、セル比率算出部104cが、予め定められた単位エリア内における各セルグループの比率(高周波帯域用セルと低周波帯域用セルとの使用比率)を求める。そして、キャパシタ配置実行部104dが、各セルグループの比率にしたがって、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、対象となる論理セルの周辺部の空き領域にそれぞれ配置する。
これにより、対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、該対象論理セルの周辺部の空き領域に簡易且つ適切に配置することができる。対象となる論理セルの周辺部の空き領域にデカップリングキャパシタを適切に配置できるため、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ(IRドロップ)をさらに効率的に吸収することができる。
また、本実施形態において、上述の各セルグループの比率を、単位エリア内における各セルグループの総負荷容量値の比率としてもよい。これにより、上述の各セルグループの比率を各セルグループの使用比率とした場合と同等の作用効果を奏する。
なお、本発明の技術的原理について補足説明する。
論理回路の動作時に発生する電源パルスの詳細については「デジタルシステム工学 基礎編」(丸善株式会社)に記載されている。図15(a)〜(d)は、同書に掲載された、論理ゲート(インバータ)がスイッチングしたときの電圧波形と電流波形を示すグラフである。
この4つのグラフ(a)〜(d)は、それぞれ入力電圧、出力電圧、貫通電流、充電電流を示す。電流波形のうち、貫通電流は充電電流より充分小さい値であるため、充電電流が電流パルスと等しいとみなせる。個々の回路のスイッチング時に発生する充電電流が局所的に過大となることがIRドロップの直接の原因であり、デカップリングキャパシタの持つ充放電機能が論理回路のスイッチングによる充電電流の過大を抑える働きをもつ。
また、同書において、前述の充電電流の波形は、電流の最大値Ipkを高さとした形を持つ三角形で示され、充電電流が流れる期間(充電期間)をtr、入力電圧の最大値をVp、論理ゲートの出力端子に接続する負荷容量をCldとする以下の式(1)で示すことができると記載されている。
Ipk = 1.1 × Cld × Vp / tr ・・・ (1)
この式(1)をtrについて変形すると、式(2)となる。
tr = 1.1 × Cld × Vp / Ipk ・・・ (2)
このことは、充電電流が流れる期間trは負荷容量Cldと比例の関係であることを表している。デカップリングキャパシタの充放電時間は、回路のスイッチングによる充電期間であるtrより速い値であることが求められる。尚、デカップリングキャパシタの周波数特性とはtrの逆数をそのまま示している。
一方、0.35μm(マイクロメートル)プロセスで設計されたデカップリングキャパシタの周波数特性(fRC)及び容量値(C)の一例を図16に示す。容量値と周波数特性はゲート幅Wとゲート長Lに依存しており、高い周波数特性を示すキャパシタセルでは容量値は低くなっている。このことは、単に反応速度の速い(高い周波数特性を持つ)デカップリングキャパシタだけを用意すればよい訳ではなく、前述した論理回路の充電期間(すなわち負荷容量Cldの値)に見合った特性を持つデカップリングキャパシタをノイズ源である論理回路の近傍に配置することが容量効率の面では重要となることを示している。
なお、本発明の実施形態によれば、キャパシタ配置方法は、LSI(半導体装置)の配置配線情報201(レイアウト情報)、及びLSIの遅延要素から成る遅延ライブラリ情報202に基づき、LSI内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出ステップ(S13)と、負荷容量値算出ステップで算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置ステップ(S14)とを備える。
これにより、キャパシタ配置方法では、ノイズ源の周波数帯域に適したデカップリングキャパシタをそのノイズ源の周辺部に配置することができる。そのため、デカップリングキャパシタを配置する数を増加させなくても、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ(IRドロップ)を効率的に吸収することができる。よって、LSI動作中に発生する電源ノイズを抑える電源ノイズ耐性の高いLSIを設計することが可能となる。
また、本発明の実施形態によれば、プログラムは、LSI(半導体装置)の配置配線情報201(レイアウト情報)、及びLSIの遅延要素から成る遅延ライブラリ情報202に基づき、LSI内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出手順と、負荷容量値算出手順で算出された負荷容量値に基づいて、各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置手順とをコンピュータに実行させるためのプログラムである。
これにより、デカップリングキャパシタを配置する数を増加させなくても、デカップリングキャパシタは、論理セルの充電期間に応じて電源ノイズ(IRドロップ)を効率的に吸収することができる。よって、LSI動作中に発生する電源ノイズを抑える電源ノイズ耐性の高いLSIを設計することが可能となる。
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
上述の半導体装置の設計支援装置1は内部に、コンピュータシステムを有している。そして、上述した半導体装置の設計支援装置1の処理過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
1 半導体装置の設計支援装置
101 配置配線情報/各種ライブラリ情報入力部
102 設計規則入力部
103 負荷容量値算出部
104 デカップリングキャパシタ配置部
104a 領域設定部
104b、104d キャパシタ配置実行部
104c セル比率算出部
105 レイアウト情報出力部
106 制御部
200 メモリ
201 配置配線情報
202 遅延ライブラリ情報
203 設計規則情報

Claims (9)

  1. 半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出部と、
    前記負荷容量値算出部で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置部とを備えたことを特徴とする半導体装置の設計支援装置。
  2. 前記キャパシタ配置部は、
    前記判定結果に基づいて、前記周波数特性を有するキャパシタを配置する対象となる論理セルを選定し、前記対象となる論理セルの位置に基づいた領域を設定する領域設定部と、
    前記領域設定部で設定された領域の空き部分に、前記周波数特性を有するキャパシタを配置するキャパシタ配置実行部と
    を備えることを特徴とする請求項1に記載の半導体装置の設計支援装置。
  3. 前記キャパシタ配置実行部は、
    前記領域以外の領域の空き部分に、前記領域の空き部分に配置したキャパシタとは周波数特性が異なるキャパシタを配置する
    ことを特徴とする請求項2に記載の半導体装置の設計支援装置。
  4. 前記周波数特性を有するキャパシタは、周波数特性の異なる複数種類のキャパシタに分類され、
    前記キャパシタ配置部は、
    前記複数種類のキャパシタのうち、高い周波数特性を有するキャパシタから低い周波数特性を有するキャパシタの順に配置する
    ことを特徴とする請求項1から請求項3のいずれか1項に記載の半導体装置の設計支援装置。
  5. 前記キャパシタ配置部は、
    前記各論理セルの周波数帯域に基づいて、前記各論理セルを周波数帯域の異なる複数のセルグループに分類し、予め定められた単位エリア内における各セルグループの比率を求めるセル比率算出部と、
    前記各セルグループの比率にしたがって、前記対象となる論理セルの周波数帯域に対応した周波数特性を有するキャパシタを、前記対象となる論理セルの周辺部の空き領域にそれぞれ配置するキャパシタ配置実行部と
    を備えることを特徴とする請求項1に記載の半導体装置の設計支援装置。
  6. 前記各セルグループの比率を、前記単位エリア内における各セルグループの総負荷容量値の比率としたことを特徴とする請求項5に記載の半導体装置の設計支援装置。
  7. 前記遅延ライブラリ情報には、論理セルの入力端子容量、及び前記半導体装置内配線の単位配線長当たりの配線容量が含まれ、
    前記負荷容量値算出部は、前記レイアウト情報及び前記遅延ライブラリ情報に基づき、前記各論理セルの出力端子の負荷容量値を算出することを特徴とする請求項1から請求項6のいずれか1項に記載の半導体装置の設計支援装置。
  8. コンピュータシステムのキャパシタ配置方法であって、
    前記コンピュータシステムが備える負荷容量値算出部が、半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出ステップと、
    前記コンピュータシステムが備えるキャパシタ配置部が、前記負荷容量値算出ステップで算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置ステップとを備えたことを特徴とするキャパシタ配置方法。
  9. 半導体装置のレイアウト情報、及び前記半導体装置の遅延要素から成る遅延ライブラリ情報に基づき、前記半導体装置内に配置されている各論理セルの負荷容量値をそれぞれ算出する負荷容量値算出手順と、
    前記負荷容量値算出手順で算出された負荷容量値に基づいて、前記各論理セルの周波数帯域をそれぞれ判定し、キャパシタを配置する対象となる論理セルの周辺部の空き領域に、当該判定結果に対応した周波数特性を有するキャパシタを配置するキャパシタ配置手順とを
    コンピュータに実行させるためのプログラム。
JP2010275524A 2010-12-10 2010-12-10 半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム Expired - Fee Related JP5640712B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010275524A JP5640712B2 (ja) 2010-12-10 2010-12-10 半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010275524A JP5640712B2 (ja) 2010-12-10 2010-12-10 半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2012123710A JP2012123710A (ja) 2012-06-28
JP5640712B2 true JP5640712B2 (ja) 2014-12-17

Family

ID=46505063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010275524A Expired - Fee Related JP5640712B2 (ja) 2010-12-10 2010-12-10 半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5640712B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3450739B2 (ja) * 1999-03-24 2003-09-29 松下電器産業株式会社 Lsi配置方法
JP2001125943A (ja) * 1999-10-28 2001-05-11 Nec Corp 電源デカップリング回路の設計方法および設計支援システム
JP4649047B2 (ja) * 2000-01-27 2011-03-09 パナソニック株式会社 ノイズ低減に適したプリント配線基板の設計を支援する設計支援装置
JP4156827B2 (ja) * 2001-11-21 2008-09-24 松下電器産業株式会社 半導体装置、半導体装置用パターンの生成方法、半導体装置の製造方法、および半導体装置用パターン生成装置
JP4605550B2 (ja) * 2008-10-09 2011-01-05 日本電気株式会社 キャパシタ配置方法

Also Published As

Publication number Publication date
JP2012123710A (ja) 2012-06-28

Similar Documents

Publication Publication Date Title
JP4719265B2 (ja) 確率的相互接続構造設計のためのシステムおよび方法
US8458629B2 (en) Decision modules in integrated circuit design
JP2011209793A (ja) 半導体集積回路装置の設計方法
JP2004139181A (ja) レイアウト装置及びプログラム
JP2016110205A (ja) 半導体装置の設計方法及びプログラム
JP2008250630A (ja) デカップリングセル配置方法及びデカップリングセル配置装置
US8978004B2 (en) Cell routability prioritization
JP5640712B2 (ja) 半導体装置の設計支援装置、キャパシタ配置方法、及びプログラム
JP2005316647A (ja) 集積回路の配線解析方法、論理合成方法、回路分割方法
JP6965675B2 (ja) 半導体装置の設計支援装置
US7185299B1 (en) Methods of estimating routing delays during the placement process in programmable logic devices
JP6326756B2 (ja) スキャンパスを構成するための情報処理装置、スキャンパス接続方法及びプログラム
Liu et al. Timing‐Driven NonuniformDepopulation‐Based Clustering
JPWO2014111969A1 (ja) 設計方法、プログラム、メモリ媒体および設計装置
JP6015456B2 (ja) 半導体装置の設計方法及びプログラム
US8386989B2 (en) Semiconductor circuit design support technique
JP6428207B2 (ja) 設計方法、設計装置及びプログラム
JP2004062598A (ja) 半導体装置、半導体装置の設計方法及び設計装置、並びに半導体装置の設計プログラム
JP2011238011A (ja) 半導体集積回路設計装置、半導体集積回路設計方法及びプログラム
JP2005183758A (ja) 半導体集積装置のレイアウト設計方法及びコンピュータプログラム
JP2013003945A (ja) レイアウト装置及びレイアウト方法
JP2008205399A (ja) 半導体集積回路の設計方法
JP4059668B2 (ja) 集積回路の設計方法及び集積回路の設計支援装置
JP2001034644A (ja) 回路素子を配置する配置装置および方法
JP4762326B2 (ja) 集積回路の配線解析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141013

R150 Certificate of patent or registration of utility model

Ref document number: 5640712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees