JP2014044560A - 半導体装置の設計方法、設計プログラム及び設計装置 - Google Patents

半導体装置の設計方法、設計プログラム及び設計装置 Download PDF

Info

Publication number
JP2014044560A
JP2014044560A JP2012186436A JP2012186436A JP2014044560A JP 2014044560 A JP2014044560 A JP 2014044560A JP 2012186436 A JP2012186436 A JP 2012186436A JP 2012186436 A JP2012186436 A JP 2012186436A JP 2014044560 A JP2014044560 A JP 2014044560A
Authority
JP
Japan
Prior art keywords
layout
macro
cell
cost
macros
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.)
Pending
Application number
JP2012186436A
Other languages
English (en)
Inventor
Kyosuke Hirabayashi
京介 平林
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012186436A priority Critical patent/JP2014044560A/ja
Publication of JP2014044560A publication Critical patent/JP2014044560A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】半導体装置の特性ばらつきを効果的に抑制する。
【解決手段】半導体装置の設計装置は、レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する記憶部1と、フロアプラン工程時に、複数のマクロを半導体チップ上に自動配置するマクロ配置部2と、記憶された複数のマクロのレイアウトパラメータに基づいて、配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出するコスト算出部3と、算出されたコストに基づいて、隣接するマクロのいずれかを再配置するマクロ再配置部4と、を備えるものである。
【選択図】図1

Description

本発明は、半導体装置の設計方法、設計プログラム及び設計装置に関し、例えば、マクロやセルを半導体チップ上に配置する半導体装置の設計方法、設計プログラム及び設計装置に好適に利用できるものである。
近年、半導体装置における製造プロセスの微細化が進み、半導体装置の小型化や高機能化が実現されている。一方で、製造プロセスの微細化に伴い、製造時において発生する半導体素子の構造上のばらつきを抑制することが難しくなるため、半導体装置の特性ばらつきが増加するという問題が生じている。そこで、微細化プロセスにより生じる半導体装置の特性ばらつきを抑制するための設計方法が強く望まれている。
例えば、関連する技術として、特許文献1〜5が知られている。
特開2011−091245号公報 特開2008−171170号公報 特開2004−221231号公報 特開2006−344176号公報 特許第3415565号公報
特許文献1には、半導体素子の拡散領域に不純物を拡散させるアニール工程でばらつきが発生することが記載されている。近年、90nm世代以降の製造プロセスでは、アニールの短時間化等により、半導体素子(MOSトランジスタ)を構成する拡散領域(拡散層)やゲート電極(ポリシリコン)のレイアウトパターンに起因する特性ばらつきが増大している。
この特性ばらつきは、主に、拡散層やポリシリコン、メタル配線のレイアウトパターンのばらつきによって生じている。レイアウトパターンのばらつきは、レイアウトパターンのデータ率(パターン密度)や、周囲長、表面積比などのレイアウトパラメータによって指標される。
例えば、特許文献1には、表面積比によりMOSトランジスタの特性がばらつくことが記載されている。図26は、特許文献1に記載された、半導体装置における面積比RatioAとMOSトランジスタの電流駆動能力との関係を示している。図26では、電流駆動能力の指標として、MOSトランジスタにより構成したリングオシレータの発振周波数の変化率を用いている。発振周波数が高ければMOSトランジスタの電流駆動能力が高く、発振周波数が低ければMOSトランジスタの電流駆動能力が低いことを意味する。図26は、面積比が低くなるとMOSトランジスタの電流駆動能力が低くなり、面積比が高くなるとMOSトランジスタの電流駆動能力が高くなること、すなわち、面積比に応じてMOSトランジスタの特性が変動することを示している。
特許文献1では、ダミーパターンとしてダミー素子を配置することで拡散層の表面積比を一定の範囲に抑え、特性ばらつきを抑止している。特許文献2では、ダミーパターンとしてダミーメタルを配置することでメタル層のデータ率及び周囲長を一定の範囲に抑え、特性ばらつきを抑止している。特許文献3では、ダミーパターンとしてフィルセルを配置することで拡散層のデータ率を一定の範囲に抑え、特性ばらつきを抑止している。
しかしながら、いずれの特許文献も、フィルセルやダミーメタルなどのダミーパターンを挿入(配置)することで特性ばらつきを抑制するものであるため、ダミーパターンを挿入するダミー挿入工程の前の段階で特性ばらつきを抑制することについて考慮されていなかった。
したがって、ダミー挿入工程の前の段階で大きくレイアウトパラメータの偏りが発生してしまっている場合、ダミーパターンの挿入のみでレイアウトパラメータの偏りを補正することは困難な場合がある。このように、従来、ダミーパターンの挿入によりばらつきを抑制しようとすると、広範囲にわたる改善が難しいため、特性ばらつきを効果的に抑制することができないという問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置の設計装置は、記憶部、マクロ配置部、コスト算出部、マクロ再配置部を備えている。記憶部は、レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する。マクロ配置部は、フロアプラン工程時に、複数のマクロを半導体チップ上に自動配置する。コスト算出部は、記憶された複数のマクロのレイアウトパラメータに基づいて、配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出する。マクロ再配置部は、算出されたコストに基づいて、隣接するマクロのいずれかを再配置する。
前記一実施の形態によれば、半導体装置の特性ばらつきを効果的に抑制することができる。
実施の形態に係る半導体装置の設計装置の主要な特徴を示す構成図である。 実施の形態1に係る半導体チップ設計装置を実現するためのコンピュータシステムのハードウェア構成を示す構成図である。 実施の形態1に係る半導体チップ設計装置の構成を示すブロック図である。 実施の形態1に係る半導体チップ設計装置で用いるレイアウトパラメータを説明するための説明図である。 実施の形態1に係る半導体チップの設計方法を示すフローチャートである。 実施の形態1に係る半導体チップの設計方法を説明するための説明図である。 実施の形態1に係るフロアプラン処理部の構成を示すブロック図である。 実施の形態1に係るフロアプラン工程における設計方法を示すフローチャートである。 実施の形態1に係るフロアプラン工程における設計方法で用いるレイアウトパラメータとパラメータレベルの関連付けを示す表である。 実施の形態1に係るフロアプラン工程における設計方法で用いるパラメータレベルとコストの関連付けを示す表である。 実施の形態1に係るフロアプラン工程における設計方法を説明するための具体例を示す図である。 実施の形態1に係るフロアプラン工程における設計方法を説明するための具体例を示す図である。 実施の形態2に係るセル配置処理部の構成を示すブロック図である。 実施の形態2に係るセル配置工程における設計方法を示すフローチャートである。 実施の形態2に係るセル配置工程における設計方法を説明するための具体例を示す図である。 実施の形態3に係るダミー挿入処理部の構成を示すブロック図である。 実施の形態3に係るダミー挿入工程における設計方法を示すフローチャートである。 実施の形態3に係るダミー挿入工程における設計方法で用いるフィルセルライブラリの一例を示す図である。 実施の形態3に係るダミー挿入工程における設計方法で用いるフィルセルライブラリの一例を示す図である。 実施の形態3に係るダミー挿入工程における設計方法を説明するための具体例を示す図である。 実施の形態3に係るダミー挿入工程におけるフィルセル選択方法を示すフローチャートである。 実施の形態3に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。 実施の形態3に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。 実施の形態3に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。 実施の形態3に係るダミー挿入工程におけるフィルセル選択方法を説明するための説明図である。 特許文献1に記載された表面積比と特性ばらつきの関係を示すグラフである。
(実施の形態の概要)
実施の形態の説明に先立って、図1を用いて、実施の形態の主要な特徴についてその概要を説明する。
図1に示すように、実施の形態に係る半導体装置の設計装置は、記憶部1、マクロ配置部2、コスト算出部3、マクロ再配置部4を備えている。記憶部1は、レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する。レイアウトパターンは、拡散層やポリシリコン、メタル配線等のパターンである。レイアウトパラメータは、レイアウトパターンのデータ率(パターン密度)や、周囲長、表面積比などである。
マクロ配置部2は、フロアプラン工程時に、複数のマクロを半導体チップ上に自動配置する。コスト算出部3は、記憶された複数のマクロのレイアウトパラメータに基づいて、配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出する。マクロ再配置部4は、算出されたコストに基づいて、隣接するマクロのいずれかを再配置する。
このように、実施の形態では、ダミー挿入工程よりも前のフロアプラン工程時に、マクロのレイアウトパラメータに応じたコストを算出し、このコストに基づいてマクロを配置するようにした。ダミー挿入前の段階で、レイアウトパラメータを考慮してマクロを配置するため、特性ばらつきを効果的に抑制することができる。ダミー挿入前にあらかじめ特性ばらつきを抑えるように配置するため、ダミー挿入による補正量を少なくでき、ダミー挿入の段階になってからの困難な補正を無くすることができる。また、レイアウトパラメータに基づいたコストを用いるため、レイアウトパラメータそのものを用いる場合と比べて、計算量が少なくなり、マクロの配置を簡易に最適化することができる。
(実施の形態1)
以下、図面を参照して実施の形態1について説明する。図2は、本実施の形態に係る半導体チップ設計装置(半導体装置の設計装置)を実現するコンピュータシステムのハードウェア構成を示している。なお、後述する他の実施の形態においても、図2と同様のコンピュータシステムにより半導体チップ設計装置が実現される。
このコンピュータシステム10は、パーソナルコンピュータやワークステーション等の情報処理装置である。図に示されるように、コンピュータシステム10は、CPU12、メインメモリ13、ハードディスク14等を内蔵した本体部11、本体部11からの指示により画面表示を行う表示装置15、このコンピュータシステム10にユーザの指示や文字情報を入力するためのキーボード16、および表示装置15の画面上における任意の位置を指定し、その位置に表示されていたアイコン等に応じた指示を入力するマウス17から構成される。
CPU12及びメインメモリ13は、プログラムを実行し各部を制御する制御部の一例であり、ハードディスク14は、プログラム等を記憶する記憶部の一例である。制御部と記憶部は、一つの装置でもよいし、複数の装置であってもよい。例えば、複数の制御装置や複数の記憶装置に分散されていてもよい。また、表示装置15は、ユーザに対し種々の出力を行う出力装置の一例であり、キーボード16、マウス17は、ユーザが種々の入力操作を行う入力装置の一例である。
ハードディスク14には、本実施形態に係る半導体チップ設計装置を実現するための半導体チップ設計プログラム18、半導体チップ設計処理等に必要なその他の各種データ19が格納される。半導体チップ設計プログラム18は、図5や図8に後述する半導体チップ設計方法の処理を実行するためのプログラムである。各種データ19は、図3に後述する各格納部に格納されるデータである。
コンピュータシステム10が、半導体チップ設計プログラム18および各種データ19をメインメモリ13にロードし、CPU12はメインメモリ13にロードされた半導体チップ設計プログラム18を実行することで、本実施形態に係る半導体チップ設計方法の各処理が実施されて、半導体チップ設計装置(図3や図7に後述する機能構成)が実現される。
なお、コンピュータシステム10の基本動作は、ハードディスク14に格納された基本プログラムであるオペレーティングシステム(OS)を介して実行される。
図3は、本実施の形態に係る半導体チップ設計装置(半導体装置の設計装置)の構成を示している。半導体チップ設計装置20は、コンピュータシステム10上でプログラムが実行されて実現される処理部として、レイアウトチェック処理部(レイアウトチェックツール)100、半導体チップ設計処理部(半導体チップ設計ツール)110を備えている。なお、レイアウトチェック処理部100と半導体チップ設計処理部110は、1つのコンピュータシステム10により実現してもよいし、別々のコンピュータシステム10により実現してもよい。
また、半導体チップ設計装置20は、コンピュータシステム10のキーボード16やマウス17等に相当する入力装置201及び211、コンピュータシステム10の表示装置15に相当する表示装置202及び212を備えている。入力装置201はレイアウトチェック処理部100にデータ等を入力するための入力装置であり、表示装置202はレイアウトチェック処理部100の処理結果等を表示するための表示装置である。入力装置211は半導体チップ設計処理部110にデータ等を入力するための入力装置であり、表示装置212は半導体チップ設計処理部110の処理結果等を表示するための表示装置である。レイアウトチェック処理部100及び半導体チップ設計処理部110と同様に、入力装置201及び211、表示装置202及び212は1つの装置により構成しても良いし、複数の装置により構成してもよい。
さらに、半導体チップ設計装置20は、コンピュータシステム10のハードディスク14等に相当する各種データの格納部として、マクロライブラリ格納部203、マクロレイアウトデータ格納部204、パラメータ付きマクロライブラリ格納部205、処理前レイアウトデータ格納部213、処理後レイアウトデータ格納部214を備えている。
マクロライブラリ格納部203は、予め設計されたマクロライブラリが格納される格納部である。マクロライブラリは、マクロの概略構成が定義されたデータであり、例えば、マクロ名、機能、サイズ、端子位置等が記述されている。
マクロレイアウトデータ格納部204は、予め設計されたマクロレイアウトデータが格納される格納部である。マクロレイアウトデータは、マクロの詳細な構成が定義されたデータであり、例えば、マクロ内部の回路素子や配線のレイアウト等が記述されている。
パラメータ付きマクロライブラリ格納部205は、レイアウトチェック処理部100によりパラメータ付きマクロライブラリが格納される格納部である。パラメータ付きマクロライブラリは、レイアウトチェック処理部100の処理結果であり、マクロライブラリ内の各マクロにレイアウトパラメータを付加したデータである。
処理前レイアウトデータ格納部213は、予め設計された処理前レイアウトデータが格納される格納部である。処理前レイアウトデータは、レイアウト前の設計段階(論理設計工程)で設計された、1チップの設計データである。例えば、処理前レイアウトデータには、1チップに必要なマクロやセルの構成及び接続関係が記述されている。
処理後レイアウトデータ格納部214は、半導体チップ設計処理部110により処理後レイアウトデータが格納される格納部である。処理後レイアウトデータは、半導体チップ設計処理部110の処理結果であり、1チップ上のレイアウト結果を示すデータである。例えば、処理後レイアウトデータには、1チップ上のマクロ及びセルの配置位置、マクロ及びセルを接続する配線の位置が記述されている。
レイアウトチェック処理部100は、フロアプラン及び配置配線された半導体チップのレイアウトが所定の設計基準を満たすか否かチェック(検査)するチェックツールである。また、レイアウトチェック処理部100は、マクロライブラリ格納部203のマクロライブラリとマクロレイアウトデータ格納部204のマクロレイアウトデータとが入力され、これらのデータに基づいてパラメータ付きマクロライブラリを生成し、生成したパラメータ付きマクロライブラリをパラメータ付きマクロライブラリ格納部205へ格納する。
レイアウトチェック処理部100は、レイアウトパラメータ算出部101、レイアウトパラメータ作成部102、レイアウトパラメータ挿入部103を備えている。レイアウトパラメータ算出部101は、マクロレイアウトデータに基づいてレイアウトパラメータを算出する。
レイアウトパラメータ作成部102は、レイアウトパラメータ算出部101が算出したレイアウトパラメータに基づいて、マクロライブラリに付加すべき情報を作成する。この例では、後述するように、コストを求めるためのコストパラメータを作成する。
レイアウトパラメータ挿入部103は、レイアウトパラメータ算出部101が算出したレイアウトパラメータをマクロライブラリに挿入し、パラメータ付きマクロライブライを生成する。また、レイアウトパラメータ作成部102が作成したコストパラメータも、レイアウトパラメータとともにマクロライブラリに挿入する。なお、算出したレイアウトパラメータのみをマクロライブラリに挿入して、パラメータ付きマクロライブラリを格納してもよい。
半導体チップ設計処理部110は、半導体チップ上にフロアプラン及び配置配線を実施するレイアウトツール(フロアプランツール及び配置配線ツール)である。半導体チップ設計処理部110は、パラメータ付きマクロライブラリ格納部205のパラメータ付きマクロライブラリと処理前レイアウトデータ格納部213の処理前レイアウトデータとが入力され、これらのデータに基づいて処理後レイアウトデータを生成し、生成した処理後レイアウトデータを処理後レイアウトデータ格納部214へ格納する。
半導体チップ設計処理部110は、検査領域設定部111、レイアウトパラメータ算出部112、考慮対象領域抽出部113、フロアプラン・配置処理部114、結果確認部119を備えている。検査領域設定部111は、フロアプランまたは配置配線を行ったレイアウトのレイアウトパラメータをチェック(検査)するための領域(検査領域)を設定する。
レイアウトパラメータ算出部112は、検査領域設定部111が設定した領域のレイアウトパラメータを算出する。なお、本実施の形態でレイアウトパラメータを算出する場合、レイアウトチェック処理部100のレイアウトパラメータ算出部101で算出してもよいし、半導体チップ設計処理部110のレイアウトパラメータ算出部112で算出してもよい。レイアウトチェック処理部100のレイアウトパラメータ算出部101では、マクロレイアウトデータに基づいてレイアウトパラメータが算出され、半導体チップ設計処理部110のレイアウトパラメータ算出部112では、パラメータ付きマクロライブラリに基づいてレイアウトパラメータが算出され、いずれでも同様のレイアウトパラメータが算出可能である。
考慮対象領域抽出部113は、フロアプランや配置配線を行う際に、マクロやセルの配置に関して考慮が必要な領域を抽出する。結果確認部119は、フロアプラン及び配置配線を行って生成されたレイアウトデータが所定の設計基準を満たすか否か最終確認する。
フロアプラン・配置処理部114は、半導体チップ設計処理部110の主要な処理部であり、処理前レイアウトデータに対しフロアプラン及び配置配線を行う処理部である。フロアプラン・配置処理部114は、フロアプラン処理部115、セル配置処理部116、配線処理部117、ダミー挿入処理部118を備えている。
フロアプラン処理部115は、パラメータ付きマクロライブラリを参照しつつ、処理前レイアウトデータに対しフロアプランを行い、マクロを配置したレイアウトデータを生成する。後述するようにフロアプラン処理部115は、レイアウトパラメータに応じたコストを生成し、コストに基づいてマクロの配置を最適化する。
セル配置処理部116は、フロアプラン処理部115が生成したマクロ配置後のレイアウトデータに対しセル配置を行い、マクロ及びセルを配置したレイアウトデータを生成する。配線処理部117は、セル配置処理部116が生成したマクロ及びセル配置後のレイアウトデータに対し配線を行い、配置配線したレイアウトデータを生成する。ダミー挿入処理部118は、配線処理部117が生成した配置配線後のレイアウトデータに対しダミー挿入を行い、ダミーパターンを配置したレイアウトデータを処理後レイアウトデータとして出力する。
次に、図4を用いて、本実施の形態のレイアウトで使用するレイアウトパラメータについて説明する。図4(a)は半導体チップの斜視図であり、図4(b)は半導体チップのメタル配線を含む層の平面図であり、図4(c)は半導体チップの拡散層及びポリシリコン層を含む層の平面図であり、図4(d)はレイアウトパターンの拡大斜視図である。
図4(a)に示すように、半導体チップ300は、シリコン基板301上に複数の配線層306が積層形成されている。シリコン基板301の表面に、MOSトランジスタのソースまたはドレインを構成する複数の拡散層(拡散領域)302が形成されている。拡散層302の間のシリコン基板301上に、MOSトランジスタのゲート電極を構成するポリシリコン層303が形成されている。複数の配線層306の最上位層(メタル層)には、メタル配線305が形成されており、ポリシリコン層303とメタル配線305とは、コンタクトホール304を介して接続されている。
本実施の形態では、図4(a)のような半導体チップ300における拡散層302、ポリシリコン層303、メタル配線305のレイアウトパターンに対するレイアウトパラメータとして、データ率、周囲長、表面積比の3つのパラメータを使用する。なお、データ率、周囲長、表面積比のうちいずれかのパラメータを用いてもよいし、複数のパラメータを使用してもよい。
第1のレイアウトパラメータであるデータ率(パターン密度)は、次の(式1)に表されるように、単位面積に対するレイアウトパターンの割合、すなわち、単位面積中のレイアウトパターンの密度である。
Figure 2014044560
図4(b)のようにメタル層310に複数のメタル配線が配置されており、単位領域311内にメタル配線312が配置されている場合、メタル層のデータ率は、単位領域311の面積(平面視の単位面積)に対するメタル配線312の面積(平面視のパターン面積)の割合となる。なお、データ率には、単位領域311外のメタル配線(レイアウトパターン)、すなわち、単位領域311と重ならないメタル配線(312a)の面積は含まれない。
図4(c)のように下地層(拡散層及びポリシリコン層を含む層)320に、複数の拡散層322及びポリシリコン層323が配置されており、単位領域321内に拡散層322及びポリシリコン層323が配置されている場合、拡散層のデータ率は、単位領域321の面積に対する拡散層322の面積の割合となり、ポリシリコン層のデータ率は、単位領域321の面積に対するポリシリコン層323の面積の割合となる。
第2のレイアウトパラメータである周囲長(総周囲長)は、次の(式2)に表されるように、単位面積当たりのレイアウトパターンの周囲長の合計である。
Figure 2014044560
図4(b)のようにメタル層310に複数のメタル配線が配置されており、単位領域311内にメタル配線312が配置されている場合、メタル層の周囲長は、メタル配線312の周囲長(平面視のパターン周囲の長さ)の合計である。なお、周囲長には、単位領域311外のメタル配線(レイアウトパターン)、すなわち、単位領域311と重ならないメタル配線(312a)の周囲長は含まれない。
図4(c)のように下地層(拡散層及びポリシリコン層を含む層)320に、複数の拡散層322及びポリシリコン層323が配置されており、単位領域321内に拡散層322及びポリシリコン層323が配置されている場合、拡散層の周囲長は、拡散層322の周囲長の合計となり、ポリシリコン層の周囲長は、ポリシリコン層323の周囲長の合計となる。
第3のレイアウトパラメータである表面積比は、次の(式3)に表されるように、単位面積に対する、単位面積当たりのレイアウトパターンの総表面積の割合である。
Figure 2014044560
このレイアウトパターンの総表面積は、レイアウトパターンが有する6面のうち底面(基板側の面)を除く5つの面の面積の合計である。図4(d)のようなレイアウトパターン331(拡散層、ポリシリコン層、メタル配線のいずれか)の場合、上面の面積S1、4つの側面の面積S2〜S5、底面の面積S6のうち、表面積はS1〜S5の合計であり、S6は含まれない。図4(d)では、表面積比は、単位領域330の面積に対するレイアウトパターン331の表面積(S1〜S5の合計)の割合となる。なお、本実施の形態では、底面の面積を除いているが、底面の面積を含む全ての面の面積の合計を総表面積としてもよい。なお、本実施の形態では、単位面積に対するレイアウトパターンの総表面積の比である面積比をレイアウトパラメータとしているが、単位面積当たりのレイアウトパターンの総表面積をレイアウトパラメータとしてもよい。
図4(b)のようにメタル層310に複数のメタル配線が配置されており、単位領域311内にメタル配線312が配置されている場合、メタル層の表面積比は、単位領域311の面積に対するメタル配線312の総表面積の割合となる。なお、表面積比には、単位領域311外のメタル配線(レイアウトパターン)、すなわち、単位領域311と重ならないメタル配線(312a)の総表面積は含まれない。
図4(c)のように下地層(拡散層及びポリシリコン層を含む層)320に、複数の拡散層322及びポリシリコン層323が配置されており、単位領域321内に拡散層322及びポリシリコン層323が配置されている場合、拡散層の表面積比は、単位領域321の面積に対する拡散層322の総表面積の割合となり、ポリシリコン層の表面積比は、単位領域321の面積に対するポリシリコン層323の総表面積の割合となる。
次に、図5及び図6を用いて、本実施の形態に係る半導体チップ設計方法の全体の流れについて説明する。
レイアウト設計工程(S100)の前に、予め、マクロ設計工程(S10)においてマクロライブラリ及びマクロレイアウトデータが生成されて、マクロライブラリ格納部203及びマクロレイアウトデータ格納部204に格納される。図5の例では、マクロM1〜M3が設計され、マクロライブライ格納部203にマクロM1〜M3を含むマクロライブラリが格納され、マクロレイアウトデータ格納部204にマクロM1〜M3を含むマクロレイアウトデータが格納される。また、論理設計工程において処理前レイアウトデータ(1チップ設計データ)が生成されて処理前レイアウトデータ格納部213に格納される。
レイアウト設計工程(S100)では、フロアプラン工程(S101)、セル配置工程(S102)、配線工程(S103)、ダミー挿入工程(S104)の順に設計処理が実行され、半導体チップが設計される。その後、最終チェック工程(S105)が実行されて、半導体チップの設計が完了する。
フロアプラン工程(S101)では、半導体チップ設計処理部110のフロアプラン処理部115は、図6(a)に示すように、半導体チップ400上にマクロ401を自動配置する。フロアプラン処理部115は、処理前レイアウトデータ格納部213の処理前レイアウトデータにより半導体チップ400上に配置するマクロ401を把握し、マクロライブラリ格納部203のマクロライブラリによりマクロ401のサイズ等を認識して、半導体チップ400上にマクロ401を配置する。図6(a)の例では、半導体チップ400の周辺部に、マクロライブラリに含まれるM1〜M3を配置している。半導体チップ400の一辺方向に沿ってマクロM1、M3、M1が配置され、一方のマクロM1に対し該一辺の垂直方向側の隣にマクロM2が配置されている。フロアプラン処理部115は、マクロ401を配置した半導体チップ400のレイアウトデータを生成する。なお、フロアプラン処理部115における、レイアウトパラメータを考慮したマクロの配置処理については後述する。
セル配置工程(S102)では、半導体チップ設計処理部110のセル配置処理部116は、図6(b)に示すように、半導体チップ上にセル402を自動配置する。セル配置処理部116は、フロアプラン工程で生成された半導体チップ400上にマクロ401が配置されたレイアウトデータに基づいて、半導体チップ400上に配置するセル402を把握するとともに、セルの配置可能な領域を特定し、特定した半導体チップ400上にセル402を配置する。セル配置処理部116は、セル402を配置することで、マクロ401及びセル402が配置された半導体チップ400のレイアウトデータを生成する。
配線工程(S103)では、半導体チップ設計処理部110の配線処理部117は、図6(c)に示すように、半導体チップ400上のマクロ401及びセル402間をメタル配線403で接続(敷設)するように自動配線する。配線処理部117は、セル配置工程で生成された半導体チップ400上にマクロ401及びセル402が配置されたレイアウトデータに基づいて、マクロ401及びセル402間の接続関係及び端子位置を把握し、メタル配線403の敷設可能な領域を特定し、マクロ401及びセル402間を配線する。図6(c)の例では、一方のマクロM1とマクロM2との間を配線し、マクロM2と隣接するセル402との間を配線し、マクロM3と隣接するセル402との間を配線し、他方のマクロM1と隣接するセル402との間を配線する。配線処理部117は、マクロ401及びセル402が配置され、メタル配線403が敷設された半導体チップ400のレイアウトデータを生成する。
ダミー挿入工程(S104)では、半導体チップ設計処理部110のダミー挿入処理部118は、図6(d)に示すように、半導体チップ400上にダミーメタル404及びフィルセル405を挿入する。ダミー挿入処理部118は、配線工程で生成された、半導体チップ400上にマクロ401、セル402及びメタル配線403が配置されたレイアウトデータに基づいて、レイアウトパラメータが所定の基準を満たすようにダミーメタル404及びフィルセル405を配置する領域を特定し、特定した半導体チップ400上にダミーメタル404及びフィルセル405を配置する。ダミー挿入処理部118は、マクロ401、セル402、メタル配線403、ダミーメタル404及びフィルセル405が配置された半導体チップ400のレイアウトデータを生成する。
なお、ダミーメタル及びフィルセルは、半導体装置の機能を構成する回路として動作せず、設計基準を満たすために配置されるダミー素子である。ダミーメタルは、メタル配線と同様に形成されたダミーのメタル素子である。フィルセルは、複数の配線層(拡散層及びポリシリコン層含む)から構成されたダミーのセルである。
最終チェック工程(S105)では、レイアウトチェック処理部100は、レイアウト設計されたレイアウトデータのレイアウトをチェック(検査)する。レイアウトチェック処理部100は、ダミー挿入工程で生成された、半導体チップ400上にマクロ401、セル402、メタル配線403、ダミーメタル404及びフィルセル405が配置されたレイアウトデータに対して、レイアウトパラメータやタイミング等が設計基準を満たすか否か判定する。レイアウトデータが設計基準を満たさない場合、再度レイアウト設計が行われ、設計基準を満たす場合、検査したレイアウトデータが処理後レイアウトデータ格納部214へ格納される。
次に、本実施の形態の主要な特徴であるフロアプラン工程を実現する構成及び動作について説明する。
図7は、本実施の形態に係るフロアプラン・配置処理部114のうちのフロアプラン処理部115の内部構成を詳細に示している。図7に示すように、フロアプラン処理部115は、マクロ配置部121、コスト算出部122、配置変更部123、コスト変更部124を備えている。
マクロ配置部121は、処理前レイアウトデータ及びパラメータ付きマクロライブラリに基づいて、半導体チップ上にマクロを自動配置する。コスト算出部122は、パラメータ付きマクロライブラリに基づいて、隣接するマクロ間のコストを算出する。
配置変更部123は、コスト算出部122が算出したコストに基づいて、マクロ配置部121が配置したマクロの配置を変更する。コスト変更部124は、配置変更部123がマクロの配置変更したレイアウトに対し、基準違反を解消するためにコストを変更する。
図8は、本実施の形態に係るフロアプラン工程におけるフロアプラン処理を示している。フロアプラン工程(S101)の前に、準備工程(S11)が行われる。
準備工程(S11)では、レイアウトチェック処理部100は、マクロライブラリ格納部203のマクロライブラリとマクロレイアウトデータ格納部204のマクロレイアウトデータとに基づいてパラメータ付きマクロライブラリを生成する。なお、マクロライブラリにレイアウトパラメータを付加してパラメータ付きマクロライブラリを作成してもよいし、予めパラメータ付きマクロライブラリを格納部に格納しておいてもよい。
具体的には、レイアウトパラメータ算出部101はレイアウトパラメータをチェックする(S111)。レイアウトパラメータ算出部101は、マクロレイアウトデータを参照し、全てのマクロのレイアウトパターンについてのレイアウトパラメータを算出する。レイアウトパラメータ算出部101は、マクロの拡散層、ポリシリコン層、メタル配線のそれぞれについて、データ率、周囲長及び表面積比を算出する。
続いて、レイアウトパラメータ作成部102はコストパラメータを作成する(S112)。レイアウトパラメータ作成部102は、算出されたデータ率、周囲長及び表面積比のレイアウトパラメータに基づいて、コストパラメータを作成する。コストパラメータは、フロアプラン工程でコストの算出に使用されるデータである。ここでは、コストパラメータとして図9に示すようなパラメータレベルを生成する。
図9は、レイアウトパラメータであるデータ率とパラメータレベルとの関係を示している。すなわち、図9に示すように、データ率を複数の範囲に区分し、各データ率の範囲にパラメータレベルを設定する。図9の例では、データ率を5つの範囲に区分し、データ率の範囲の順にパラメータレベル1〜5が設定される。レイアウトパラメータ作成部102は、各マクロのデータ率が属する範囲に応じて、図9のパラメータレベル(コストパラメータ)を特定する。なお、図9のパラメータレベルは、準備工程で算出してもよいし、フロアプラン工程におけるコスト算出時に算出してもよい。
続いて、レイアウトパラメータ挿入部103はマクロライブラリにレイアウトパラメータ及びコストパラメータを付加する(S113)。レイアウトパラメータ挿入部103は、マクロごとに生成されたレイアウトパラメータである拡散層、ポリシリコン層及びメタル配線のデータ率、周囲長及び表面積比と、コストパラメータであるパラメータレベルとを、マクロライブラリの各マクロに関連付けて、パラメータ付きマクロライブラリを生成する。
本実施の形態に係るフロアプラン工程(S101)では、半導体チップ設計処理部110のフロアプラン処理部115は、処理前レイアウトデータ及びパラメータ付きマクロライブラリに基づき、マクロを配置したレイアウトデータを生成する。
フロアプラン工程(S101)には、主に、Prevention工程、Check工程、Correction工程が含まれる。Prevention工程では、それぞれのレイアウトパラメータの影響度に応じて、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比の偏りに対するコスト値を用意する。そして、自動フロアプランを行う際に、設定したコストが低くなるようにマクロ配置の最適化を行う。
ここで、コストは、隣接するマクロ間における特性ばらつきの度合いを示す値であり、そのマクロを配置した際にレイアウトに与える負の影響の大きさを指標化した値である。コスト半導体チップ内のコストの総和が大きいほど、データ率、周辺長及び表面積比の偏りが発生しており、半導体チップ内の特性ばらつきが大きくなる事を意味する。
Check工程では、特定領域毎の拡散層およびポリシリコン層のデータ率、周囲長及び表面積比を計算し、設定した基準値と比較する。Correction工程では、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比が基準値を満たしていない箇所は、コストが低くなるように、マクロ配置を修正する。
具体的には、図8に示すように、フロアプラン工程(S101)では、フロアプラン処理部115のマクロ配置部121は、Pre配置(仮配置)を実施する(S114)。マクロ配置部121は、処理前レイアウトデータ格納部213の処理前レイアウトデータにより半導体チップ上に配置するマクロを把握し、パラメータ付きマクロライブラリ格納部205のパラメータ付きマクロライブラリによりマクロのサイズ等を認識して、半導体チップ上にマクロを配置する。
続いて、フロアプラン処理部115のコスト算出部122は、コストを算出する(S115)。コスト算出部122は、パラメータ付きマクロライブラリでマクロに付加されているレイアウトパラメータに基づいてコストを算出する。ここでは、準備工程でパラメータレベルが生成されているため、パラメータレベルを使用してコストを算出する。なお、S115においてコスト算出部122が、レイアウトパラメータに応じてパラメータレベルを生成し、生成したパラメータレベルに基づいてコストを算出してもよい。
コストは、レイアウトパラメータごとに算出される。すなわち、拡散層、ポリシリコン層及びメタル配線のそれぞれのデータ率、周囲長及び表面積比についてコストが算出される。コストは、隣接するマクロ間に設定され、拡散層、ポリシリコン層及びメタル配線のデータ率、周囲長及び表面積比の偏りに応じてコストが算出される。
コストは、隣接するコストのパラメータレベルに応じて与えられる。図10は、図9のデータ率のパラメータレベルに対応するコストテーブルである。コストテーブルは、隣接するマクロのパラメータレベルとコストとを関連付けている。データ率の高いマクロ同士が隣接する場合や、データ率の低いマクロ同士が隣接する場合、データ率に偏りが生じするため、コストは高くなる。このコストテーブルを予め記憶部に記憶しておき、コスト算出部122はコストテーブルを参照して、隣接する一方のマクロのパラメータレベルと他方のマクロのパラメータレベルとから、コストを求める。
拡散層、ポリシリコン層及びメタル層におけるデータ率、周囲長及び表面積比の偏りの考慮をバランスよく行うには、それぞれのコストにそれぞれのばらつきに対する影響度を乗じて、総和することで考慮することが望ましい。これにより、拡散層、ポリシリコン層及びメタル層についてのデータ率、周囲長及び表面積比を最適値とすることができる。例えば、次の式4のようにメタル層のコスト、ポリシリコン層のコスト、拡散層のコストを合計する。
Figure 2014044560
式4では、メタル層、ポリシリコン層、拡散層のそれぞれについて、データ率のコストにデータ率の係数k1(コスト係数)を乗算し、周囲長のコストに周囲長の係数k2を乗算し、表面積比のコストに表面積比の係数k3を乗算し、これらの合計値する。さらに、メタル層の係数α、ポリシリコン層の係数β、拡散層の係数γを乗算して、これらを合計して全体のコストとする。
また、さらに最適なコストを求めるため、隣接しているマクロ間の距離やお互いのマクロの大きさによってコストの値を変更することが望ましい。例えば、マクロ間の距離が短くなるほどコストを大きくし、マクロの大きさが大きくなるほどコストを大きくする。例えば次の式5のように、コスト係数をマクロ間の距離で除算することでコストを求める。例えば、式5のCkは、式4のk1〜k3に相当する。
Figure 2014044560
続いて、フロアプラン処理部121の配置変更部123はマクロの配置変更が必要か否か判定する(S116)。配置変更部123は、コスト算出部122が算出したコストについて、所定値よりも大きいコストがあるか否か判定し、所定値よりもコストが大きい場合に配置変更が必要と判断し、所定値よりもコストが小さい場合に配置変更不要と判断する。
S116でマクロの配置変更が必要な場合、配置変更部123はコストに基づいてマクロの配置を変更する(S117)。配置変更部123は、コスト算出部122が算出したコストについて、所定値よりも大きいコストの箇所の隣接マクロを特定し、これらのマクロの距離が離れるように配置を変更する。また、レイアウトパラメータが大きいマクロの近くに、レイアウトパラメータが小さいマクロを配置することでコストが小さくなるようにする。
マクロの配置変更後、さらにコスト算出部122がコストを算出し(S115)、配置変更が不要となるまで、配置変更とコスト算出を繰り返す。これにより、コストが小さくなるまで繰り返すことでマクロの配置が最適化され、半導体チップ内のレイアウトパラメータが均一化される。
なお、レイアウトパラメータ以外の要素を考慮してコストの算出やマクロの配置を行ってもよい。タイミングや電力、ノイズ等の最適化を考慮してコストの算出やマクロの配置を行うことが好ましい。例えば、タイミング制約が厳しいため隣接させる必要があるマクロは1つのまとまったマクロ群として、コストの算出やマクロの配置を行ってもよい。あるいは、タイミング制約が厳しいため隣接させる必要があるマクロ間では、コストを与えず、コストに基づいた配置変更も行わなくてよい。
また、コストの算出やレイアウトパラメータのチェックは、1つの半導体チップに限らず、複数の半導体チップが隣接した状態を考慮して行ってもよい。ダイシング前の半導体ウェハの状態では、同じ半導体チップが隣接しているため、半導体チップを縦×横=3×3の9個の半導体チップを並べた状態で、中心に位置する半導体チップに対して、コストの算出やデータ率のチェックを行うことが望ましい。
図11は、S114〜S117のコストに基づく配置変更の具体例を示している。図11(a)はマクロ配置前の準備の状態を示している。この例では、半導体チップ410の上にマクロA〜Dを配置する。パラメータ付きマクロライブラリによって、予めマクロA〜Dのそれぞれにデータ率及びパラメータレベルが設定される。
次に、図11(b)のようにマクロを仮配置する(S114)。半導体チップ410のレイアウト面上にマクロA〜Dを配置する。そして、この状態で隣接マクロ間のコストを計算する(S115)。
ここでは、図10のコストテーブルのみでコストを求める場合について説明する。マクロA−マクロB間では、マクロAのパラメータレベルが5、マクロBのパラメータレベルが3のため、コストは1となる。マクロA−マクロD間では、マクロAのパラメータレベルが5、マクロDのパラメータレベルが5のため、コストは10となる。マクロB−マクロC間では、マクロBのパラメータレベルが3、マクロCのパラメータレベルが2のため、コストは3となる。マクロC−マクロD間では、マクロCのパラメータレベルが2、マクロDのパラメータレベルが5のため、コストは0となる。
算出したコストにより配置変更が必要かどうか判定する(S116)。この例ではマクロA−マクロD間のコストが10と高いため、配置変更が必要と判断し、図11(c)のようにマクロの配置を変更する(S117)。
マクロAとマクロD間のコストが大きいため、マクロAとマクロDが離れるようにし、さらに、データ率の高いマクロの近くにデータ率の低いマクロを配置するようにする。ここでは、マクロCとマクロDの配置を入れ替えている。
配置変更した状態で、さらに、コストを再計算する(S115)。マクロA−マクロB間は、変わらないためコストは1であり、マクロC−マクロD間は、変わらないためコストは0である。マクロA−マクロC間では、マクロAのパラメータレベルが5、マクロCのパラメータレベルが2のため、コストは0となる。マクロB−マクロD間では、マクロBのパラメータレベルが3、マクロDのパラメータレベルが5のため、コストは1となる。これにより、全てのコストが0か1と低く抑えられたため、配置変更が不要と判断される(S116)。
図8に戻り、S116でマクロの配置変更が不要となり、コストに基づくマクロの配置変更が終了すると、特定領域毎のレイアウトパラメータをチェックし(S118)、レイアウトパラメータを基準と比較する(S119)。このレイアウトパラメータのチェックは、レイアウトチェック処理部100で行ってもよいし、半導体チップ設計処理部110で行ってもよい。例えば、半導体チップ設計処理部110の検査領域設定部111が、検査するための特定領域を設定し、レイアウトパラメータ算出部112が、設定された特定領域ごとに拡散層、ポリシリコン層及びメタル層それぞれのデータ率、周囲長及び表面積比を算出し、基準を満たすか否か判定する。これにより、データ率、周囲長及び表面積比の偏りを抑制するための設計基準に対して、マクロ配置の段階で問題を確認し、レイアウトの修正を可能にする。
なお、特定領域のレイアウトパラメータをチェックする際に、マクロの配置に限らず、セルの配置を考慮することが好ましい。例えば、マクロ配置領域以外のセル配置領域には、一般的なデータ率等のレイアウトパラメータを持ったセルが配置されることを想定して、特定領域のレイアウトパラメータをチェックする。
また、特定領域のレイアウトパラメータをチェックするための基準は、実際の設計基準である必要はなく、ある程度緩和された基準であってもよい。その後、セル配置である程度考慮が可能であるため、厳密な基準を満たさなくてもよい。
S119で基準違反が有ると判定された場合、コスト変更部124は、違反箇所のマクロのコスト(コスト係数)を変更する(S120)。コスト変更部124は、基準を満たせるように配置変更するため、違反箇所のマクロのコストを変更する(S120)。例えば、違反箇所の領域内のコストを上げる(大きくする)。コストの変更方法は、S115の算出結果であるコストそのものを変更してもよいし、図10のコストテーブルを変更したり、式4の係数を変更してもよい。拡散層のデータ率が違反している場合には、拡散層のデータ率のコストを変更する。
続いて、コストを計算し(S115)、新たなコストに基づいてマクロ配置を変更する(S117)。例えば、違反箇所のコストが大きく変更されると、隣接するマクロの距離が離れるように配置が最適化されるため、基準違反が解消する。
S119で基準違反が無いと判定された場合、フロアプラン工程が終了し、マクロが配置されたレイアウトデータが生成され、その後、図5のようにセル配置工程(S102)、配線工程(S103)、ダミー挿入工程(S104)が行われて、処理後レイアウトデータが生成される。
図12は、S118〜S120のレイアウトパラメータのチェック及び配置変更の具体例を示している。図12(a)に示すように、検査領域毎にデータ率の違反をチェック(検査)する(S118、S119)。レイアウトパラメータのチェックは一定の領域(ウィンドウ)で行われ、この領域を一定のステップで移動させ、半導体チップ全体に対し実施される。
例えば、半導体チップ410上にマクロA,B,D,Eが配置されている。半導体チップ410の角部と検査領域411の角部を一致させて、検査領域411内のデータ率を算出し違反の有無を検査する。順次、検査領域411をレイアウト面400の辺方向に沿って移動させ、データ率の違反を検査する。
この例では、検査領域412において、拡散層のデータ率が違反しているとする。そうすると、検査領域412のコストを変更し(S120)、図12(b)のようにマクロの配置を変更する(S117)。
例えば、検査領域412内には、マクロE及びマクロDが含まれているため、マクロE及びマクロD間のコストを大きくする。マクロE−マクロD間のコストが10の場合、例えば、コストを10から15に変更する。コストを変更したため、図12(b)のようにマクロEとマクロDが離れるように配置が変更される。
例えば、拡散層のデータ率で基準違反が発生した場合、拡散層のデータ率のコストを大きくする。そうすると、拡散層のデータ率の考慮が最優先となるため、発生した基準違反が改善される。ただし、他のパラメータの基準に対する考慮の効果が低くなる場合がある。
以上のように本実施の形態では、レイアウトパラメータとして、マクロの拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比を計算し、このレイアウトパラメータをマクロ自身または格納部に与えておく。また、拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比に対して与えたコストに対して配置の最適化を行う。さらに、マクロ配置の状態で特定の領域の拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比の値を算出する。データ率、周囲長及び表面積比が一定の値を超えている場合は、コストを変更し、マクロの再配置を行う。
本実施の形態では、ダミー挿入の前のフロアプランの段階で、レイアウトパラメータを考慮してマクロを配置するようにした。特性ばらつきは主にデータ率や周囲長、表面積比により発生しているため、これらのパラメータの均一化をフロアプランの段階で行うことで特性ばらつきを抑制することができる。半導体チップ内の拡散層及びポリシリコン層のデータ率や周囲長、表面積比を一定にすることで、短時間アニールによる特性ばらつきを抑えることができる。
また、ダミー挿入によりレイアウトパラメータが補正できない場合に影響が及ぶ範囲が広範囲となるため、フロアプランの段階でレイアウトパラメータのばらつきを効果的に抑えることができ、半導体チップの広範囲にわたるレイアウトパラメータの均一化を実現することができる。ダミー挿入など後の工程では修正できる範囲は限られるため、マクロ配置という早い段階でレイアウトパラメータを考慮することで、広範囲にわたってばらつきを抑えることができる。
なお、拡散層、ポリシリコン層及びメタル層の全てのレイアウトパラメータを考慮してもよいし、これらのうちの1つもしくは2つのみのパラメータを考慮してもよい。いずれの組み合わせでも特性ばらつきを抑制することができる。拡散層及びポリシリコン層のばらつきを抑えることでアニールによる特性ばらつきを抑えることができる。メタル層のばらつきを抑えることでCMPやエッチングによる特性ばらつきを抑えることができる。
(実施の形態2)
以下、図面を参照して実施の形態2について説明する。実施の形態1では、主に、フロアプラン工程における最適化に関して説明したのに対し、本実施の形態では、実施の形態1のフロアプラン工程に続いて行われるセル配置工程における最適化に関して説明する。なお、セル配置工程以外については、実施の形態1と同様であるため、説明を省略する。
図13は、本実施の形態に係るフロアプラン・配置処理部114のうちのセル配置処理部116の内部構成を詳細に示している。図13に示すように、セル配置処理部116は、領域抽出部131、領域設定部132、セル配置部133を備えている。
領域抽出部131は、フロアプラン工程で生成された、フロアプラン後のレイアウトデータに基づいて、レイアウトパラメータの影響をおさえるためにセルの配置に関し考慮する必要のある領域を抽出する。
領域設定部132は、セルレイアウトパラメータ等に基づいて、領域抽出部131が抽出した領域に対し、配置すべきセルや配置すべきではないセル設定する。セル配置部133は、領域抽出部131が抽出した領域と領域設定部132が設定したセルにしたがってセルを配置し、セル配置後のレイアウトデータを生成する。
図14は、本実施の形態に係るセル配置工程におけるセル配置処理を示している。セル配置工程の前に必要な準備として、セルレイアウトパラメータ格納部221にセルレイアウトパラメータを格納し、また、セルリスト格納部222にセルリストを格納する。
セルレイアウトパラメータは、セル配置工程で配置される複数のセルとレイアウトパラメータが関連付けられたデータである。セルレイアウトパラメータは、実施の形態1のマクロのレイアウトパラメータと同様に、各セルの拡散層、ポリシリコン層、メタル配線のそれぞれについてのデータ率、周囲長及び表面積比である。セルレイアウトパラメータは、実施の形態1と同様に、レイアウトチェック処理部100が、セルレイアウトパラメータを算出して生成してもよいし、予めセルの設計段階で生成されて格納部に格納されてもよい。
セルリスト格納部222に格納されるセルリストは、ばらつきを与えたくないセルのリストである。例えば、ばらつきを与えたくないセルは、タイミング制約の厳しいセルであり、クリティカルパスのセルやクロックパスのセル等である。なお、セルリスト格納部222にばらつきを与えてもよいセルのリストを格納してもよい。例えば、ばらつきを与えてもよいセルは、タイミング制約の緩いセルであり、テスト回路等である。
本実施形態に係るセル配置工程(S102)では、半導体チップ設計処理部110のセル配置処理部116は、フロアプラン工程で生成されたフロアプラン後のレイアウトデータ、パラメータ付きマクロライブラリ格納部205のパラメータ付きマクロライブラリ、セルレイアウトパラメータ格納部221のセルレイアウトパラメータ、セルリスト格納部222のセルリストに基づいて、セルを配置したレイアウトデータを生成する。
セル配置工程(S102)には、主に、Check工程、Marking工程、Cell配置工程が含まれる。Check工程では、特定領域毎の拡散層およびポリシリコン層のデータ率、周囲長及び表面積比を計算し、設定した基準値と比較する。
Marking工程では、基準を満たしていない領域を抽出する。Cell配置工程では、抽出した領域に、基準に対してさらに悪化させる恐れがあるセルの挿入を極力行わない。または、抽出した領域にあるセルを影響の小さいセルへと入れ替える(Swapする)。さらに、抽出した領域に、特性の影響を受けやすいセル、特性の影響があると問題となるセルの挿入を極力行わない。
具体的には、図14に示すように、配置工程(S102)では、特定領域のレイアウトパラメータをチェックする(S201)。このレイアウトパラメータのチェックは、実施の形態1のフロアプラン工程のレイアウトチェックと同様に、レイアウトチェック処理部100で行ってもよいし、半導体チップ設計処理部110で行ってもよい。例えば、半導体チップ設計処理部110の検査領域設定部111が、検査するための特定領域を設定し、レイアウトパラメータ算出部112が、設定された特定領域ごとに拡散層、ポリシリコン層及びメタル層それぞれのデータ率、周囲長及び表面積比を算出する。
続いて、領域抽出部131は、レイアウトパラメータの基準を満たすことが困難な箇所(領域)を抽出する(S202)。領域抽出部131は、算出されたデータ率、周囲長及び表面積比について所定の基準と比較し、セルを配置すると基準違反となる可能性のある領域を抽出する。
また、領域抽出部131は、レイアウトパラメータに偏りのあるマクロの周辺領域を抽出する(S203)。領域抽出部131は、パラメータ付きマクロライブラリに基づいて、データ率、周囲長及び表面積比に偏りのあるマクロと特定し、偏りのあるマクロの周辺領域を抽出する。偏りの有無は、所定の基準と比較して判断される。
続いて、領域設定部132は、抽出した領域に、基準を満たすことを助けるセルを優先的に配置する設定を与える(S204)。領域設定部132は、セルレイアウトパラメータに基づいて、基準を満たすことが困難な領域に配置することで、基準を満たすようにすることが可能なセルを設定する。例えば、データ率が高い領域に対しては、データ率の低いセルを配置するように設定することで、データ率を均一化できる。
続いて、領域設定部132は、抽出した領域に、ばらつきの影響を受けると困るセルを配置しない設定を与える(S205)。領域設定部132は、セルリスト格納部222のセルリストに基づいて、基準を満たすことが困難な領域に対して、クリティカルパスやクロックパス等のセルを配置しないように設定する。これにより、さらに基準違反が発生することを防ぐことができる。なお、基準を満たすことが困難な領域に対して、ばらつきの影響を受けてもよいセルを配置するように設定してもよい。
続いて、セル配置部133は、セルを配置する(S206)。セル配置部133は、S202及びS203で抽出した領域に対し、S204で設定されたセルを配置し、また、S205で設定されたセルを配置しないように、配置処理を行う。
図15は、本実施の形態に係るセル配置の具体例を示している。図15(a)に示すように、実施の形態1と同様に、半導体チップ410上で検査領域411を移動させながら、拡散層、ポリシリコン層及びメタル配線のデータ率、周囲長及び表面積比を算出し、基準と比較する。この例では、領域413で基準違反となったため、危険個所の領域であるとマーキングする。
そうすると、図15(b)に示すように、領域抽出部131は、チェックの結果としてテキストデータ414を生成する。テキストデータ414は、マーキングした危険個所(抽出領域)の座標(X1,Y1,X2,Y2)が含まれている。この座標は半導体チップ410上のX軸、Y軸の座標(チップレイアウト座標)であり、X1及びY1は危険個所の最小値(左下端)の座標を示し、X2及びY2は危険個所の最大値(右上端)の座標を示している。
さらに、図15(c)に示すように、セル415が配置される。セル配置部133は、テキストデータ414により危険個所413を認識する。セル配置部133は、危険箇所としてマーキングされた箇所に対してさらに危険度の高いセルや影響を受けやすいセルを配置しないように考慮する。または、セル配置部133は、危険箇所内のセルを影響の小さい同様の機能を持ったセルに置き換えてもよい。
以上のように本実施の形態では、セルの拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比を計算し、このレイアウトパラメータをセル自身または格納部に与えておく。また、マクロ配置後の拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比の偏りがある箇所に対して、同じ方向の偏りがあるセル、特性を重視するセル、拡散層抵抗/ポリシリコン抵抗を配置することにコストを与えて、セル配置をおこなう。
実施の形態1のマクロ配置と同様に、セル配置工程においてレイアウトパラメータを考慮してセルを配置するようにした。これにより、実施の形態1と同様に、ダミー挿入の前の段階で効果的にばらつきの発生を抑えることができる。
セル配置では、マクロ配置のようにセル毎の考慮ではきりがないので、マクロ配置後、基準を満たすことが困難な領域や特性に影響を与える領域を認識し、その箇所に影響を悪化させるセルや特性の影響があると困るセルを置かないように考慮することで、効率よくばらつきを抑制する。
マクロ配置の段階で拡散層、ポリシリコン層及びメタル層のデータ率、周囲長及び表面積比に偏りがある場合に、その偏りを認識し、セル配置を行うことで、更なる偏りの増加や影響を受けやすいセルの特性悪化を防止できる。
(実施の形態3)
以下、図面を参照して実施の形態3について説明する。実施の形態1及び2では、主に、フロアプラン工程及びセル配置における最適化に関して説明したのに対し、本実施の形態では、実施の形態1のフロアプラン工程、実施の形態2のセル配置工程の後に行われるダミー挿入工程における最適化に関して説明する。なお、ダミー挿入工程以外については、実施の形態1及び2と同様であるため、説明を省略する。
本実施の形態に係るダミー挿入処理は、実施の形態1に係るフロアプラン処理(図8)、実施の形態2に係るセル配置処理(図14)の後に実行されることで、実施の形態1及び2に加えて本実施の形態による効果を得ることができる。また、実施の形態1及び実施の形態2に限らず、一般的なフロアプラン処理及びセル配置処理の後に、本実施の形態に係るダミー挿入処理を実行してもよい。これにより、少なくとも、本実施の形態による効果を得ることが可能である。
図16は、本実施の形態に係るフロアプラン・配置処理部114のうちのダミー挿入処理部118の内部構成を詳細に示している。図16に示すように、ダミー挿入処理部118は、フィルセル挿入処理部140、ダミーメタル挿入処理部150を備えており、さらに、フィルセル挿入処理部140は、フィルセル選択部141、フィルセル挿入部142を備えている。
フィルセル挿入処理部140は、フロアプラン工程、セル配置工程及び配線工程により生成された、マクロ、セル及びメタル配線が配置されたレイアウトデータに基づいて、空き領域にフィルセルを配置する。ダミーメタル挿入処理部150は、マクロ、セル及びメタル配線に加えてフィルセルが配置されたレイアウトデータに基づいて、空き領域にダミーメタルを配置する。
フィルセル選択部141は、本実施の形態に係るフィルセルライブラリから、配置に最適なフィルセルを選択する。フィルセル挿入部142は、フィルセル選択部141が選択したフィルセルを、半導体チップの空き領域に配置する。
図17は、本実施の形態に係るダミー挿入工程におけるダミー挿入処理(フィルセル挿入処理)を示している。実施の形態1及び2のようにフロアプラン工程(S101)、セル配置工程(S102)が行われ、さらに配線工程(S103)が行われた後、本実施の形態に係るダミー挿入工程が行われる。ダミー挿入工程の前に必要な準備として、フィルセルライブラリ格納部231にフィルセルライブラリを格納する。フィルセルライブラリは、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比が異なるフィルセルのラインナップデータである。最適なフィルセルを選択可能にするため、フィルセルライブラリには、レイアウトパラメータが異なるさまざまなバリエーションのフィルセルが含まれる。例えば、実施の形態1の図6のようにマクロM1〜M3が配置され、または、実施の形態1の図12のようにマクロA〜マクロDが配置され、さらに、実施の形態2の図15のようにセルが配置された後、半導体チップ400の空き領域に以下のフィルセルが配置される。
図18は、拡散層及びポリシリコンのデータ率が異なるフィルセルを含むフィルセルライブラリのフィルセルライブラリテーブル(ラインナップデータ)の例である。図18では、各フィルセル(505−1〜505−9)はセルサイズが同一である。また、フィルセルライブラリテーブルは、各行または各列に、ポリシリコン層や拡散層のデータ率の一方を同じに他方が異なるような関係にあるファイルセルを用意したものである。
図18に示すように、ポリシリコン層501のデータ率が異なる複数のポリシリコンセル502(502−1〜502−3)を用意し、データ率の高いセルから低いセルへ順に配置する。この例は、ポリシリコンセルのデータ率が3パターンの例である。ポリシリコンセル502−1は、データ率が最も高いセルであり、ポリシリコンセル502−3は、データ率が最も低いセルであり、ポリシリコンセル502−2は、データ率がポリシリコンセル502−1とポリシリコンセル502−3との中間のセルである。拡散層503のデータ率が異なる複数の拡散層セル504(504−1〜504−3)を用意し、データ率の高いセルから低いセルへ順に配置する。この例は、拡散層503のデータ率が3パターンの例である。拡散層セル504−1は、データ率が最も高いセルであり、拡散層セル504−3は、データ率が最も低いセルであり、拡散層セル504−2は、データ率が拡散層セル504−1と拡散層セル504−3との中間のセルである。
データ率が異なる複数のポリシリコンセル502(502−1〜502−3)と、データ率が異なる複数の拡散層セル504(504−1〜504−2)とを組み合わせた、ポリシリコン及び拡散層のデータ率が異なる複数のフィルセル505(505−1〜505−9)をテーブルに配列する。この例では、3パターンのデータ率のポリシリコン層501と、3パターンのデータ率の拡散層503とを組み合わせるため、9パターンのフィルセル505となる。フィルセル505−1〜505−3は、拡散層503のデータ率が最も高いセルであり、そのうちフィルセル505−1はポリシリコン層501のデータ率が最も高く、フィルセル505−2はポリシリコン層501のデータ率が中間であり、フィルセル505−3はポリシリコン層501のデータ率が最も低い。フィルセル505−4〜505−6は、拡散層503のデータ率が中間のセルであり、そのうちフィルセル505−4はポリシリコン層501のデータ率が最も高く、フィルセル505−5はポリシリコン層501のデータ率が中間であり、フィルセル505−6はポリシリコン層501のデータ率が最も低い。フィルセル505−7〜505−9は、拡散層503のデータ率が最も高いセルであり、そのうちフィルセル505−7はポリシリコン層501のデータ率が最も高く、フィルセル505−8はポリシリコン層501のデータ率が中間であり、フィルセル505−9はポリシリコン層501のデータ率が最も低い。
図18のようなフィルセルライブラリテーブルをあらかじめ記憶部に記憶しておくことより、所望の拡散層のデータ率と所望のポリシリコンのデータ率とを有する最適なフィルセルを選択することができる。
図19は、拡散層及びポリシリコンの周囲長が異なるフィルセルのラインナップデータの例である。図19では、各フィルセル(511、512−1〜512−3、513−1〜3)はセルサイズが同一である。また、本実施の形態にあっては、各フィルセル(511、512−1〜512−3、513−1〜3)はポリシリコン層や拡散層のデータ率が同じで、ポリシリコン層または拡散層の周囲長が異なるセルである。このようなフィルセルを用意することにより、データ率を最適化したのち、周囲長の異なるフィルセルに置き換えることによって周囲長の最適化が計れる。
図19に示すように、基本となる標準的な周囲長のポリシリコン層501及び拡散層503を有するフィルセルを通常のフィルセル511とする。通常のフィルセル511に対し、ポリシリコン層501の周囲長は一定で、拡散層503の周囲長が異なる複数のフィルセルを拡散層の周囲長調整用のフィルセル512(512−1〜512−3)とする。この例は、拡散層503の周囲長が3パターンの例である。フィルセル512−1は、フィルセル511と同じセルである。フィルセル512−2は、フィルセル511の拡散層503を半分に切断している。すなわち、フィルセル512−2は、ポリシリコン層501の周囲長がフィルセル511と同じであり、拡散層503の周囲長がフィルセル511よりも小さいセルである。フィルセル512−3は、フィルセル512−2の拡散層503をさらに半分に切断している。すなわち、フィルセル512−3は、ポリシリコン層501の周囲長がフィルセル511と同じであり、拡散層503の周囲長がフィルセル512−2よりもさらに小さいセルである。
通常のフィルセル511に対し、拡散層503の周囲長は一定で、ポリシリコン層501の周囲長が異なる複数のフィルセルをポリシリコン層の周囲長調整用のフィルセル513(513−1〜513−3)とする。この例は、ポリシリコン層501の周囲長が3パターンの例である。フィルセル513−1は、フィルセル511のポリシリコン層501を半分に切断している。すなわち、フィルセル513−1は、拡散層502の周囲長がフィルセル511と同じであり、ポリシリコン層501の周囲長がフィルセル511よりも小さいセルである。フィルセル513−2は、フィルセル513−1と同じセルである。フィルセル513−3は、フィルセル513−1のポリシリコン層501をさらに半分に切断している。すなわち、フィルセル513−3は、拡散層502の周囲長がフィルセル511と同じであり、ポリシリコン層501の周囲長がフィルセル513−1よりもさらに小さいセルである。
図19のようなフィルセルのラインナップデータをあらかじめ記憶部に記憶しておくことにより、通常のフィルセルを基本として、拡散層の周囲長、または、ポリシリコン層の周囲長を所望の長さに設定できる。
なお、図18,19では、同一セルサイズのフィルセルで説明をしたが、セルサイズの異なるフィルセルそれぞれについて、上記と同様に複数のフィルセルを作成してもよい。また作成する数やバリエーションも様々な組み合わせが可能である。
本実施の形態に係るダミー挿入工程(S104)では、半導体チップ設計処理部110のダミー挿入処理部118は、配線工程で生成された配線工程後のレイアウトデータ、フィルセルライブラリ格納部231のフィルセルライブラリに基づいて、フィルセルを配置したレイアウトデータを生成する。
ダミー挿入工程(S104)には、主に、Check工程、フィルセル選択工程、フィルセル配置工程が含まれる。Check工程では、特定領域毎の拡散層およびポリシリコン層のデータ率、周囲長及び表面積比を計算する。フィルセル選択工程では、データ率、周囲長及び表面積比の計算結果から対象領域に挿入するフィルセルを選択する。フィルセル配置工程では、フィルセルの選択に基づいて、決められたフィルセルを対象領域に挿入する。
具体的には、図17に示すように、ダミー挿入工程(S104)では、各領域のデータ率及び周囲長をチェックする(S301)。また、チップ全体のデータ率及び周囲長をチェックする(S302)。このレイアウトパラメータのチェックは、実施の形態1のフロアプラン工程や実施の形態2のセル配置のレイアウトチェックと同様に、レイアウトチェック処理部100で行ってもよいし、半導体チップ設計処理部110で行ってもよい。例えば、半導体チップ設計処理部110の検査領域設定部111が、検査するための特定領域を設定し、レイアウトパラメータ算出部112が、設定された特定領域ごとに拡散層、ポリシリコン層及びメタル層それぞれのデータ率及び周囲長を算出する。
続いて、フィルセル選択部141は、各領域で挿入するフィルセルを選択する(S303)。フィルセル選択部141は、算出された各領域のデータ率及び周囲長、チップ全体のデータ率及び周囲長に基づいて必要となるフィルセルのデータ率及び周囲長を決定し、決定したデータ率及び周囲長を有するフィルセルをフィルセルライブラリから選択する。フィルセルライブラリからのフィルセルの選択方法については後述する。
続いて、フィルセル挿入部142は、選択したフィルセルを埋め込む(S304)。フィルセル挿入部142は、配線後のレイアウトデータから半導体チップ上の空き領域を特定し、空き領域にフィルセル選択部141が選択したフィルセルを配置する。
図20は、本実施の形態に係るダミー挿入(フィルセル挿入)の具体例を示している。図20(a)に示すように、実施の形態1と同様に、半導体チップ410上で検査領域411を設定し、拡散層、ポリシリコン層及びメタル配線のデータ率及び周囲長をチェック(検査)する。
図20(b)に示すように、チェックの結果としてテキストデータ521が生成される。テキストデータ521には、拡散層のデータ率、ポリシリコン層のデータ率、表面積比、拡散層の周囲長、ポリシリコンの周囲長が含まれている。
図20(b)のテキストデータ521に対し、図20(c)に示すように、チェック結果に対し各パラメータの補正方向を示すデータが付加される。チェック結果を基準値と比較し、フィルセルにより各パラメータをどのように補正するか決定する。
この補正方向に基づいて、図20(d)のようなフィルセル523が選択され、図20(e)に示すように、選択されたフィルセル523が領域411に挿入される。
次に、図21〜図25を用いて、本実施の形態に係るフィルセルの選択方法について説明する。このフィルセルの選択方法は、図17のS303で実行される方法である。
図21に示すように、まず、フィルセル選択部141は、拡散層のデータ率を基準と比較し(S311)、比較結果に応じてフィルセルの拡散層のデータ率の範囲を決定する(S312)。フィルセル選択部141は、算出されている特定領域の拡散層のデータ率を基準と比較して、基準を満たすために必要となるフィルセルの拡散層のデータ率の範囲を決定する。図22に示すように、フィルセルライブラリテーブルにおいて、必要な拡散層のデータ率の範囲531を決定する。図22では、データ率の範囲531に含まれるフィルセル505−1〜505−6が選択される。
続いて、フィルセル選択部141は、ポリシリコン層のデータ率を基準と比較し(S313)、比較結果に応じてフィルセルのポリシリコン層のデータ率の範囲を決定する(S314)。フィルセル選択部141は、算出されている特定領域のポリシリコン層のデータ率を基準と比較して、基準を満たすために必要となるフィルセルのポリシリコン層のデータ率の範囲を決定する。図23に示すように、フィルセルライブラリテーブルにおいて、必要なポリシリコン層のデータ率の範囲532を決定する。図23では、データ率の範囲532に含まれるフィルセル505−2、505−3、505−5、505−6、505−8、505−9が選択される。
続いて、フィルセル選択部141は、決定された拡散層のデータ率とポリシリコン層のデータ率の範囲内で、フィルセルの表面積比を基準と比較し(S315)、比較結果に応じて最適な表面積比のフィルセルを選択する(S316)。フィルセル選択部141は、図24に示すように、フィルセルライブラリテーブルにおいて、決定した拡散層のデータ率の範囲531と、決定したポリシリコン層のデータ率の範囲532とが重なる範囲内のフィルセルについて、表面積比を基準と比較し、この範囲内で基準を満たすフィルセル533を選択する。これにより、データ率及び表面積比が最適なフィルセルを選択できる。図24では、まず、データ率の範囲531及び532に含まれるフィルセル505−2、505−3、505−5、505−6が選択され、その中で表面積の基準を満たすフィルセル505−3が選択される。
続いて、フィルセル選択部141は、選択したフィルセルの拡散層の周囲長を基準と比較し(S317)、周囲長を増加させる場合は拡散層を切断する(S318)。フィルセル選択部141は、S316で選択したデータ率及び表面積比が基準を満たすフィルセルについて、拡散層の周囲長を基準と比較し、基準を満たすように拡散層の周囲長を調整する。図25に示すように、選択されたフィルセル540について、拡散層の周囲長が基準を満たさない場合、フィルセル541のように拡散層を切断し周囲長を増加させる。これにより、フィルセルお周囲長を最適値に設定できる。なお、図19のように、予め用意されたフィルセルライブラリから拡散層の周囲長が最適なフィルセルを選択してもよい。
続いて、フィルセル選択部141は、選択したフィルセルのポリシリコン層の周囲長を基準と比較し(S319)、周囲長を増加させる場合はポリシリコン層を切断する(S320)。フィルセル選択部141は、S316で選択したデータ率及び表面積比が基準を満たすフィルセルについて、ポリシリコン層の周囲長を基準と比較し、基準を満たすようにポリシリコン層の周囲長を調整する。図25に示すように、選択されたフィルセル540について、ポリシリコン層の周囲長が基準を満たさない場合、フィルセル542のようにポリシリコン層を切断し周囲長を増加させる。フィルセルお周囲長を最適値に設定できる。なお、図19のように、予め用意されたフィルセルライブラリからポリシリコン層の周囲長が最適なフィルセルを選択してもよい。
以上のように本実施の形態では、設計フローの最終段階であるフィルセル挿入時に、ある特定領域の拡散層及びポリシリコン層のデータ率、周囲長及び表面積比を計算し、特定の基準と比較することで挿入するフィルセルを選択し、特定領域の空き領域に選択したフィルセルを挿入する。
通常のフィルセル挿入では、単一構造のフィルセルを空きエリアの大きさに合わせて埋めている。本実施の形態では、各領域で挿入するフィルセルを変更することで、拡散層およびポリシリコン層のデータ率、周囲長及び表面積比の均一化を図ることができる。
設計フローの最終段階で、拡散層やポリシリコン層のデータ率及び周囲長を最適化できるので、ある程度の問題であれば、マクロ配置やセル配置への後戻りを防ぐことが出来る。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で 種々変更可能であることはいうまでもない。
1 記憶部
2 マクロ配置部
3 コスト算出部
4 マクロ再配置部
10 コンピュータシステム
11 本体部
13 メインメモリ
14 ハードディスク
15 表示装置
16 キーボード
17 マウス
18 半導体チップ設計プログラム
19 各種データ
20 半導体チップ設計装置
100 レイアウトチェック処理部
101 レイアウトパラメータ算出部
102 レイアウトパラメータ作成部
103 レイアウトパラメータ挿入部
110 半導体チップ設計処理部
111 検査領域設定部
112 レイアウトパラメータ算出部
113 考慮対象領域抽出部
114 フロアプラン・配置処理部
115 フロアプラン処理部
116 セル配置処理部
117 配線処理部
118 ダミー挿入処理部
119 結果確認部
121 マクロ配置部
121 フロアプラン処理部
122 コスト算出部
123 配置変更部
124 コスト変更部
131 領域抽出部
132 領域設定部
133 セル配置部
140 フィルセル挿入処理部
141 フィルセル選択部
142 フィルセル挿入部
150 ダミーメタル挿入処理部
201 入力装置
202 表示装置
203 マクロライブラリ格納部
204 マクロレイアウトデータ格納部
205 パラメータ付きマクロライブラリ格納部
211 入力装置
212 表示装置
213 処理前レイアウトデータ格納部
214 処理後レイアウトデータ格納部
221 セルレイアウトパラメータ格納部
222 セルリスト格納部
231 フィルセルライブラリ格納部

Claims (19)

  1. レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶部に記憶し、
    フロアプラン工程時に、前記複数のマクロを半導体チップ上に自動配置し、
    前記記憶された複数のマクロのレイアウトパラメータに基づいて、前記配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出し、
    前記算出されたコストに基づいて、前記隣接するマクロのいずれかを再配置する、
    半導体装置の設計方法。
  2. 前記レイアウトパラメータは、所定領域における前記レイアウトパターンが占める割合を示すパターン密度、前記所定領域における前記レイアウトパターンの周囲長の合計値を示す周囲長、前記所定領域の面積と前記レイアウトパターンの表面積との比を示す表面積比、のいずれか、または、複数を含む、
    請求項1に記載の半導体装置の設計方法。
  3. 前記コストの算出では、前記パターン密度に基づくコスト、前記周囲長に基づくコスト、前記表面積比に基づくコスト、のうち複数のコストを合計する、
    請求項2に記載の半導体装置の設計方法。
  4. 前記レイアウトパラメータは、半導体素子を構成する拡散領域のパターン、前記半導体素子を構成するゲート電極のパターン、前記半導体素子に接続される配線のパターン、のいずれか、または、複数に応じたパラメータである、
    請求項1に記載の半導体装置の設計方法。
  5. 前記コストの算出では、前記拡散領域のパターンに基づくコスト、前記ゲート電極のパターンに基づくコスト、前記配線のパターンに基づくコスト、のうち複数のコストを合計する、
    請求項4に記載の半導体装置の設計方法。
  6. 前記コストの算出では、前記隣接するマクロのレイアウトパラメータと、前記隣接するマクロ間の距離とに基づいてコストを算出する、
    請求項1に記載の半導体装置の設計方法。
  7. 前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータが所定の基準を満たすか否か判定し、
    前記レイアウトパラメータが前記基準を満たさない場合、前記複数のマクロのいずれかをさらに再配置する、
    請求項1に記載の半導体装置の設計方法。
  8. 前記複数のマクロのいずれかの再配置では、前記レイアウトパラメータが前記基準を満たさない場合、前記算出したコストを変更し、
    前記変更されたコストに基づいて、前記複数のマクロのいずれかを再配置する、
    請求項7に記載の半導体装置の設計方法。
  9. 前記レイアウトパラメータを複数のセルごとに前記記憶部に記憶し、
    前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータが所定の基準を満たすか否か判定し、
    前記レイアウトパラメータが前記基準を満たさない可能性のある場合、前記基準を満たさない可能性のある領域に対し、前記記憶された複数のセルのレイアウトパラメータに基づいて、前記基準を満たすように前記半導体チップ上に前記複数のセルを配置する、
    請求項1に記載の半導体装置の設計方法。
  10. 前記セルの配置では、前記レイアウトパラメータが前記基準を満たさない可能性のある場合、前記基準を満たさない可能性のある領域を示す領域情報を生成し、
    前記生成された領域情報が示す領域に対し、前記基準を満たすような前記レイアウトパターンのセルを優先的に配置する、
    請求項9に記載の半導体装置の設計方法。
  11. 特性ばらつきの影響を受け易いセルリストを前記記憶部に記憶し、
    前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータが所定の基準を満たすか否か判定し、
    前記レイアウトパラメータが前記基準を満たさない場合、前記基準を満たさない領域の周辺領域に対し、前記記憶されたセルリストに含まれるセルが特性ばらつきの影響を受けないように、前記半導体チップ上に前記複数のセルを配置する、
    請求項1に記載の半導体装置の設計方法。
  12. 前記セルの配置では、前記レイアウトパラメータが前記基準を満たさない場合、前記基準を満たさない領域の周辺領域を示す領域情報を生成し、
    前記生成された領域情報が示す領域に対し、前記セルリストに含まれるセルを配置しない、
    請求項11に記載の半導体装置の設計方法。
  13. 前記レイアウトパラメータの値がそれぞれ異なる複数のフィルセルを前記記憶部に記憶し、
    前記マクロの再配置の後、所定の領域毎に前記レイアウトパラメータを算出し、
    前記算出したレイアウトパラメータが所定の基準を満たすように、前記記憶された複数のフィルセルの中から最適なフィルセルを選択し、
    前記選択されたフィルセルを前記半導体チップ上の空き領域に配置する、
    請求項1に記載の半導体装置の設計方法。
  14. 前記レイアウトパラメータは、半導体素子を構成する拡散領域のパターンに基づくレイアウトパラメータと、前記半導体素子を構成するゲート電極のパターンに基づくレイアウトパラメータを含み、
    前記レイアウトパラメータの値がそれぞれ異なる複数の前記拡散領域のパターンと、前記レイアウトパラメータの値がそれぞれ異なる複数の前記ゲート電極のパターンとを組み合わせた前記複数のフィルセルを前記記憶部に記憶する、
    請求項13に記載の半導体装置の設計方法。
  15. 前記フィルセルの選択では、前記拡散領域のレイアウトパラメータが前記所定の基準を満たす第1のフィルセルの範囲と特定し、
    前記ゲート電極のレイアウトパラメータが前記所定の基準を満たす第2のフィルセルの範囲を特定し、
    前記第1のフィルセルの範囲と前記第2のフィルセルの範囲とが重複する範囲から前記フィルセルを選択する、
    請求項14に記載の半導体装置の設計方法。
  16. 前記レイアウトパラメータは、所定領域における前記レイアウトパターンが占める割合を示すパターン密度と、前記所定領域の面積と前記レイアウトパターンの表面積との比を示す表面積比とを含み、
    前記フィルセルの選択では、前記拡散領域のパターン密度が前記所定の基準を満たし、かつ、前記ゲート電極のパターン密度が前記所定の基準を満たす前記複数のフィルセルを特定し、
    前記特定した複数のフィルセルから、前記拡散領域及び前記ゲート電極の前記表面積比が前記所定の基準を満たすフィルセルを選択する、
    請求項15に記載の半導体装置の設計方法。
  17. 前記レイアウトパターンは、前記所定領域における前記レイアウトパターンの周囲長の合計値を示す周囲長を含み、
    前記フィルセルの選択では、前記表面積比が前記所定の基準を満たすフィルセルに対し、前記拡散領域及び前記ゲート電極の前記周囲長が最適となるように、前記拡散領域または前記ゲート電極の前記レイアウトパターンを切断する、
    請求項16に記載の半導体装置の設計方法。
  18. コンピュータに半導体装置の設計処理を実行させる半導体装置の設計プログラムであって、
    レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶部に記憶し、
    フロアプラン工程時に、前記複数のマクロを半導体チップ上に自動配置し、
    前記記憶された複数のマクロのレイアウトパラメータに基づいて、前記配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出し、
    前記算出されたコストに基づいて、前記隣接するマクロのいずれかを再配置する、
    半導体装置の設計プログラム。
  19. レイアウトパターンに応じた特性ばらつきの指標となるレイアウトパラメータを複数のマクロごとに記憶する記憶部と、
    フロアプラン工程時に、前記複数のマクロを半導体チップ上に自動配置するマクロ配置部と、
    前記記憶された複数のマクロのレイアウトパラメータに基づいて、前記配置された複数のマクロのうち隣接するマクロ間における特性ばらつきの度合いを示すコストを算出するコスト算出部と、
    前記算出されたコストに基づいて、前記隣接するマクロのいずれかを再配置するマクロ再配置部と、
    を備える半導体装置の設計装置。
JP2012186436A 2012-08-27 2012-08-27 半導体装置の設計方法、設計プログラム及び設計装置 Pending JP2014044560A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012186436A JP2014044560A (ja) 2012-08-27 2012-08-27 半導体装置の設計方法、設計プログラム及び設計装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012186436A JP2014044560A (ja) 2012-08-27 2012-08-27 半導体装置の設計方法、設計プログラム及び設計装置

Publications (1)

Publication Number Publication Date
JP2014044560A true JP2014044560A (ja) 2014-03-13

Family

ID=50395779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012186436A Pending JP2014044560A (ja) 2012-08-27 2012-08-27 半導体装置の設計方法、設計プログラム及び設計装置

Country Status (1)

Country Link
JP (1) JP2014044560A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515915A (zh) * 2021-04-23 2021-10-19 成都海光集成电路设计有限公司 插入填充单元的方法、装置、设备以及存储介质
CN115310400A (zh) * 2022-09-27 2022-11-08 成都复锦功率半导体技术发展有限公司 一种版图拼版设计成效分析方法、芯片及终端
KR102596062B1 (ko) * 2023-01-25 2023-10-31 주식회사 마키나락스 핀 방향 최적화를 통한 집적 회로 설계 방법
KR102597210B1 (ko) * 2023-01-26 2023-11-02 주식회사 마키나락스 매크로 셀들을 그룹화하는 것에 기초하여 반도체를 설계하는 방법
KR102597811B1 (ko) * 2023-01-25 2023-11-03 주식회사 마키나락스 매크로 소자로부터의 거리 정보를 고려하여 반도체 소자를 배치하는 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113515915A (zh) * 2021-04-23 2021-10-19 成都海光集成电路设计有限公司 插入填充单元的方法、装置、设备以及存储介质
CN113515915B (zh) * 2021-04-23 2023-04-25 成都海光集成电路设计有限公司 插入填充单元的方法、装置、设备以及存储介质
CN115310400A (zh) * 2022-09-27 2022-11-08 成都复锦功率半导体技术发展有限公司 一种版图拼版设计成效分析方法、芯片及终端
KR102596062B1 (ko) * 2023-01-25 2023-10-31 주식회사 마키나락스 핀 방향 최적화를 통한 집적 회로 설계 방법
KR102597811B1 (ko) * 2023-01-25 2023-11-03 주식회사 마키나락스 매크로 소자로부터의 거리 정보를 고려하여 반도체 소자를 배치하는 방법
KR102597210B1 (ko) * 2023-01-26 2023-11-02 주식회사 마키나락스 매크로 셀들을 그룹화하는 것에 기초하여 반도체를 설계하는 방법

Similar Documents

Publication Publication Date Title
JP4620942B2 (ja) 半導体集積回路のレイアウト方法、そのレイアウト構造、およびフォトマスク
US8775998B2 (en) Support device of three-dimensional integrated circuit and method thereof
US8020121B2 (en) Layout method and layout apparatus for semiconductor integrated circuit
US8276109B2 (en) Mixed-height high speed reduced area cell library
US8074187B2 (en) Method and apparatus for inserting metal fill in an integrated circuit (“IC”) layout
JP2014044560A (ja) 半導体装置の設計方法、設計プログラム及び設計装置
US20090138840A1 (en) Cell, standard cell, standard cell library, a placement method using standard cell, and a semiconductor integrated circuit
JP2006196627A (ja) 半導体装置、及び半導体装置の設計プログラム
KR102255450B1 (ko) 반도체 장치의 레이아웃 설계 방법
WO2019126032A1 (en) Integrated circuit (ic) design methods using engineering change order (eco) cell architectures
JP2013109498A (ja) 設計支援装置
JP4220932B2 (ja) 半導体集積回路の設計支援方法
US9892226B2 (en) Methods for providing macro placement of IC
US20030131333A1 (en) Method and apparatus for exact relative positioning of devices in a semiconductor circuit layout
US8839177B1 (en) Method and system allowing for semiconductor design rule optimization
US9601478B2 (en) Oxide definition (OD) gradient reduced semiconductor device
JPWO2013146276A1 (ja) 電源系統ツリー設計支援システム及び電源系統ツリー設計方法
CN103714188A (zh) 用于优化在晶片上制造的管芯数目的系统
US8716869B2 (en) Cell array and density features with decoupling capacitors
US20100122226A1 (en) Layout density verification system and layout density verification method
JP4464218B2 (ja) Lsi設計システム、lsi設計方法、及びレイアウトデータ構造
Shomalnasab et al. Density-uniformity-aware analog layout retargeting
CN115828801A (zh) 一种功率器件版图的设计方法和系统
JP2009123966A (ja) 半導体集積回路のレイアウトパターン設計方法、レイアウトパターン設計装置およびレイアウトパターン設計用プログラム
JP2009130228A (ja) レイアウト設計方法、レイアウト設計プログラム、及びレイアウト設計装置