(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-14
(45)【発行日】2022-01-25
(54)【発明の名称】半導体集積回路のレイアウト設計装置及びレイアウト設計用プログラム
(51)【国際特許分類】
G06F 30/392 20200101AFI20220118BHJP
G06F 30/398 20200101ALI20220118BHJP
H01L 21/82 20060101ALI20220118BHJP
【FI】
G06F30/392
G06F30/398
H01L21/82 D
H01L21/82 T
H01L21/82 B
(21)【出願番号】P 2018097293
(22)【出願日】2018-05-21
【審査請求日】2020-10-27
(73)【特許権者】
【識別番号】391016358
【氏名又は名称】東芝情報システム株式会社
(74)【代理人】
【識別番号】100090169
【氏名又は名称】松浦 孝
(74)【代理人】
【識別番号】100074147
【氏名又は名称】本田 崇
(74)【代理人】
【識別番号】100124497
【氏名又は名称】小倉 洋樹
(72)【発明者】
【氏名】湯目 孝夫
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2008-299686(JP,A)
【文献】特開2006-277668(JP,A)
【文献】特開2006-155119(JP,A)
【文献】特開平04-257253(JP,A)
【文献】特開平11-306208(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
H01L 21/82
(57)【特許請求の範囲】
【請求項1】
マクロセルを規定する回路図情報と回路レイアウト情報とが含まれた階層データを用い、マクロセルを階層的に組み上げて半導体集積回路のレイアウト設計を行うレイアウト設計装置において、
回路図情報に基づきマクロセルに含まれる素子数を算出する素子数算出手段と、
回路レイアウト情報と素子数情報とに基づくマクロセル領域の面積を算出する面積算出手段と、
1つの面積に対応してマクロセル領域の複数の形状情報がセットになったセット情報が、複数の面積に対応して複数セット記憶された領域形状データファイルと、
半導体集積回路チップ内で隣接するマクロセル領域の形状情報を解析し、前記領域形状データファイルから最適な形状情報を選択する形状情報選択手段と
を具備することを特徴とするレイアウト設計装置。
【請求項2】
形状情報が選択されたときに、適切なレイアウトとなったかを検証する検証手段と、
前記検証手段により適切なレイアウトでないことが検出された場合に、前記形状情報選択手段による解析と選択とを改めて行わせる再試行指示手段と
を具備することを特徴とする請求項1に記載のレイアウト設計装置。
【請求項3】
前記形状情報選択手段は、面積と素子数とに基づき配置効率を求め、配置効率の高い形状情報を選択することを特徴とする請求項1または2に記載のレイアウト設計装置。
【請求項4】
マクロセル領域の形状情報には、四角形の形状情報以外に、四角形の一辺から別の四角形が突出した形状の情報、四角形の一辺から別の四角形の領域を削除した形状の情報が含まれることを特徴とする
請求項1乃至3のいずれか1項に記載のレイアウト設計装置。
【請求項5】
チップ内にマクロセル領域間の間隙エリアであるデッドスペースを検出するデッドスペース検出手段を備え、
前記再試行指示手段は、検出されたデッドスペースが所定以上の面積の場合に適切なレイアウトでない、ことを検出することを特徴とする請求項2に記載のレイアウト設計装置。
【請求項6】
デッドスペースの面積形状を求める空面積形状取得手段と、
デッドスペースに配置すべき素子毎に面積形状情報が記憶された素子形状データファイルと、
前記空面積形状取得手段により求められた面積形状に基づき前記素子形状データファイルを検索して適応する素子を選択して前記デッドスペースに配置する素子配置手段と
を具備することを特徴とする
請求項5に記載のレイアウト設計装置。
【請求項7】
1つの面積に対応してマクロセル領域の複数の形状情報がセットになったセット情報が、複数の面積に対応して複数セット記憶された領域形状データファイルを有し、マクロセルを規定する回路図情報と回路レイアウト情報とが含まれた階層データを用い、マクロセルを階層的に組み上げて半導体集積回路のレイアウト設計を行うレイアウト設計装置のコンピュータを、
回路図情報に基づきマクロセルに含まれる素子数を算出する素子数算出手段、
回路レイアウト情報と素子数情報とに基づくマクロセル領域の面積を算出する面積算出手段、
半導体集積回路チップ内で隣接するマクロセル領域の形状情報を解析し、前記領域形状データファイルから最適な形状情報を選択する形状情報選択手段
として機能させることを特徴とするレイアウト設計用プログラム。
【請求項8】
前記コンピュータを更に、
形状情報が選択されたときに、適切なレイアウトとなったかを検証する検証手段、
検証手段により適切なレイアウトでないことが検出された場合に、前記形状情報選択手段による解析と選択とを改めて行わせる再試行指示手段
として機能させることを特徴とする
請求項7に記載のレイアウト設計用プログラム。
【請求項9】
前記コンピュータを前記形状情報選択手段として、面積と素子数とに基づき配置効率を求め、配置効率の高い形状情報を選択するように機能させることを特徴とする
請求項7または8に記載のレイアウト設計用プログラム。
【請求項10】
前記コンピュータを更に、チップ内にマクロセル領域間の間隙エリアであるデッドスペースを検出するデッドスペース検出手段として機能させ、
前記コンピュータを
前記再試行指示手段として、検出されたデッドスペースが所定以上の面積の場合に適切なレイアウトでない、ことを検出するように機能させることを特徴とする
請求項8に記載のレイアウト設計用プログラム。
【請求項11】
前記コンピュータは、デッドスペースに配置すべき素子毎に面積形状情報が記憶された素子形状データファイルを備え、
前記コンピュータを更に、
デッドスペースの面積形状を求める空面積形状取得手段、
前記空面積形状取得手段により求められた面積形状に基づき前記素子形状データファイルを検索して適応する素子を選択して前記デッドスペースに配置する素子配置手段
として機能させることを特徴とする
請求項10に記載のレイアウト設計用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、半導体集積回路のレイアウト設計装置及びレイアウト設計用プログラムに関するものである。
【背景技術】
【0002】
従来の半導体集積回路のレイアウト設計装置においては、マクロセルと称される所要量の論理回路を主な構成要素とする回路集合体を1単位として、このマクロセルを階層的に組み上げて半導体集積回路のレイアウト設計を行うものが知られている。例えば、
図1には、インバータ11と、NANDゲート12とフリップフロップ13とにより構成される論理回路をマクロセルM1としたものが示されている。また、
図2には、インバータ11と、NANDゲート12とNORゲート14とD型ラッチ15により構成される回路をマクロセルM2としたものが示されている。
【0003】
上記
図1や
図2の回路図情報に対し、レイアウト設計されたレイアウト情報は次のようである。
図1に対応するレイアウト情報は
図3のように、所要の面積を有するマクロセルの領域における所要位置にインバータ11と、NANDゲート12とフリップフロップ13とが位置付けられて構成され、
図2に対応するレイアウト情報は
図4のように、所要の面積を有するマクロセルの領域における所要位置にインバータ11とNANDゲート12とNORゲート14とD型ラッチ15とが位置付けられて構成される。このように、レイアウト情報は、所要面積のマクロセル領域のどの位置に素子が配置されているかを示す位置情報である。
【0004】
以上のようなマクロセル中の集積回路において最初に信号が入力されるマクロセルをマクロセルM11とし、このマクロセルM11の出力を入力とするマクロセルをマクロセルM12とし、このマクロセルM12の出力を入力とするマクロセルをマクロセルM13とし、・・・、最終段のマクロセルをマクロセルM1Nとする。これらのマクロセルは、第1段から第2段、更に第3段、…、第N段と、
図5に示すように接続されることになり、階層的に組み上げられてレイアウト設計が行われる。
【0005】
従来のレイアウト設計においては、回路図とレイアウトの階層に等価性を持たせたマクロセルとなっているため、回路図通りのレイアウトとならざるを得なかった。このため、
回路図の素子規模によって、配置面積の大小さまざまな形状のマクロセルをチップ状に配置する場合にデッドスペースが増加することになった。これによって、レイアウト面積当たりのトランジスタ集積率の低下を招来することになり、場合によっては決められたチップ面積に全てのマクロセルが収まりきらないことにつながるものであった。
【0006】
上記に対し、マクロセルの希望セル使用率を設定し、マクロセルの配置範囲を求め、配置範囲内のセル使用率が上記で設定した使用率を満足するか判定し、設定した使用率を満足するように配置領域を設定し、更に設定領域内にマクロセルを再配置する。そして、配置領域内に他の機能マクロセルが含まれているかを判定して、含まれている他の機能マクロセルを排除し、配置領域内のマクロセルの再配置を行うことが特許文献1に開示されている。
【0007】
また、特許文献2には、マクロセルに配置補助領域を設定し、コア領域からマクロセルと配置補助領域を除く最大スタンダードセル領域の面積を求め、複数のマクロセルを配置してフロアプラン結果から実スタンダードセル領域の面積を算出し、最大スタンダードセル領域の面積とスタンダードセル領域の面積に基づきフロアプランにおけるデッドスペース率を算出することが開示されている。更に、この特許文献2の発明では、デッドスペース率に基づきマクロセルの再配置を行うか判断して、デッドスペース率を基準値以下とするようにフロアプランのマクロセルの配置変更を行うものである。
【0008】
また、高さ或いは幅が等しい複数の領域を規則的に配置して形成されたサブ・チップ領域と、ブラックボックス化されたブロックとをチップ状に配置することが特許文献3に記載されている。これによりサブ・チップを複数の設計者でレイアウトする効率化を得ると共に、サブ・チップをデッドスペースが最小となるようにチップ配置することに予知、高密度化を実現する。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2004‐13205号公報
【文献】特開2006‐277668号公報
【文献】特開2005‐191035号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記特許文献1の手法では、スタンダードセルを配置する領域が小さくなり、スタンダードセルが配置できなくなったり、配線を行う領域が少なくなり未結線が生じたりするという問題がある。
【0011】
特許文献2の手法によれば、デッドスペース率を基準値以下とすることができるものの、レイアウト面積当たりのトランジスタ集積率を高めるという観点からの手法ではなく、トランジスタ集積率が必ずしも高くならない可能性があった。
【0012】
更に、特許文献3の手法では、サブ・チップにおいてデッドスペースを少なくし、高密度化を実現するが、回路の素子に関する解析がなされていない。従って、この引用文献3の手法も引用文献2の手法と同じく、レイアウト面積当たりのトランジスタ集積率を高めるという観点からの手法ではなく、トランジスタ集積率が必ずしも高くならない可能性を残すものであった。
【0013】
本発明は、上記のような従来のレイアウト設計装置が有している問題点に鑑みてなされたもので、その目的は、デッドスペースをより小さくすることが可能であるばかりか、トランジスタ集積率の向上を図ることができるレイアウト設計装置及びレイアウト設計用プログラムを提供することである。
【課題を解決するための手段】
【0014】
本発明に係るレイアウト設計装置は、マクロセルを規定する回路図情報と回路レイアウト情報とが含まれた階層データを用い、マクロセルを階層的に組み上げて半導体集積回路のレイアウト設計を行うレイアウト設計装置において、回路図情報に基づきマクロセルに含まれる素子数を算出する素子数算出手段と、回路レイアウト情報と素子数情報とに基づくマクロセル領域の面積を算出する面積算出手段と、1つの面積に対応してマクロセル領域の複数の形状情報がセットになったセット情報が、複数の面積に対応して複数セット記憶された領域形状データファイルと、半導体集積回路チップ内で隣接するマクロセル領域の形状情報を解析し、前記領域形状データファイルから最適な形状情報を選択する形状情報選択手段とを具備することを特徴とする。
【0015】
本発明に係るレイアウト設計装置では、形状情報が選択されたときに、適切なレイアウトとなったかを検証する検証手段と、検証手段により適切なレイアウトでないことが検出された場合に、前記形状情報選択手段による解析と選択とを改めて行わせる再試行指示手段とを具備することを特徴とする。
【0016】
本発明に係るレイアウト設計装置では、前記形状情報選択手段は、面積と素子数とに基づき配置効率を求め、配置効率の高い形状情報を選択することを特徴とする。
【0018】
本発明に係るレイアウト設計装置では、マクロセル領域の形状情報には、四角形の形状情報以外に、四角形の一辺から別の四角形が突出した形状の情報、四角形の一辺から別の四角形の領域を削除した形状の情報が含まれることを特徴とする。
【0019】
本発明に係るレイアウト設計装置では、チップ内にマクロセル領域間の間隙エリアであるデッドスペースを検出するデッドスペース検出手段を備え、再試行指示手段は、検出されたデッドスペースが所定以上の面積の場合に適切なレイアウトでない、ことを検出する。
【0020】
本発明に係るレイアウト設計装置では、デッドスペースの面積形状を求める空面積形状取得手段と、デッドスペースに配置すべき素子毎に面積形状情報が記憶された素子形状データファイルと、前記空面積形状取得手段により求められた面積形状に基づき前記素子形状データファイルを検索して適応する素子を選択して前記デッドスペースに配置する素子配置手段とを具備することを特徴とする。
【0021】
本発明に係るレイアウト設計用プログラムは、1つの面積に対応してマクロセル領域の複数の形状情報がセットになったセット情報が、複数の面積に対応して複数セット記憶された領域形状データファイルを有し、マクロセルを規定する回路図情報と回路レイアウト情報とが含まれた階層データを用い、マクロセルを階層的に組み上げて半導体集積回路のレイアウト設計を行うレイアウト設計装置のコンピュータを、回路図情報に基づきマクロセルに含まれる素子数を算出する素子数算出手段、回路レイアウト情報と素子数情報とに基づくマクロセル領域の面積を算出する面積算出手段、半導体集積回路チップ内で隣接するマクロセル領域の形状情報を解析し、前記領域形状データファイルから最適な形状情報を選択する形状情報選択手段として機能させることを特徴とする。
【0022】
本発明に係るレイアウト設計用プログラムでは、前記コンピュータを更に、形状情報が選択されたときに、適切なレイアウトとなったかを検証する検証手段、検証手段により適切なレイアウトでないことが検出された場合に、前記形状情報選択手段による解析と選択とを改めて行わせる再試行指示手段として機能させることを特徴とする。
【0023】
本発明に係るレイアウト設計用プログラムでは、前記コンピュータを前記形状情報選択手段として、面積と素子数とに基づき配置効率を求め、配置効率の高い形状情報を選択するように機能させることを特徴とする。
【0024】
本発明に係るレイアウト設計用プログラムでは、前記コンピュータを更に、チップ内にマクロセル領域間の間隙エリアであるデッドスペースを検出するデッドスペース検出手段として機能させ、前記コンピュータを再試行指示手段として、検出されたデッドスペースが所定以上の面積の場合に適切なレイアウトでない、ことを検出するように機能させることを特徴とする。
【0025】
本発明に係るレイアウト設計用プログラムでは、前記コンピュータは、デッドスペースに配置すべき素子毎に面積形状情報が記憶された素子形状データファイルを備えており、前記コンピュータを更に、デッドスペースの面積形状を求める空面積形状取得手段、前記空面積形状取得手段により求められた面積形状に基づき前記素子形状データファイルを検索して適応する素子を選択して前記デッドスペースに配置する素子配置手段として機能させることを特徴とする。
【発明の効果】
【0026】
本発明によれば、回路図情報に基づきマクロセルに含まれる素子数を算出し、回路レイアウト情報と素子数情報とに基づくマクロセル領域の面積を算出し、半導体集積回路チップ内で隣接するマクロセル領域の形状情報を解析し、前記領域形状データファイルから最適な形状情報を選択するので、デッドスペースをより小さくすることが可能であるばかりか、トランジスタ集積率の向上を図ることができるという効果を奏するものである。
【図面の簡単な説明】
【0027】
【
図6】本発明に係るレイアウト設計装置を実現するコンピュータの構成例のブロック図。
【
図7】本発明に係るレイアウト設計装置が備えている領域形状データファイルの記憶内容の一例を示す図。
【
図8】本発明に係るレイアウト設計装置が備えている素子形状データファイルの記憶内容の一例を示す図。
【
図9】本発明に係るレイアウト設計装置の動作を説明するためのフローチャート。
【
図10】本発明に係るレイアウト設計装置において用いるマクロセル領域の形状を示す図。
【発明を実施するための形態】
【0028】
以下添付図面を参照して、本発明に係るレイアウト設計装置及びレイアウト設計用プログラムの実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。
図6には、本発明の実施形態に係るレイアウト設計装置の構成図が示されている。レイアウト設計装置は、パーソナルコンピュータやワークステーションなどのコンピュータシステムにより実現される。
【0029】
レイアウト設計装置は、CPU31が主メモリ32にプログラムやデータを読み込んで処理を実行する構成のコンピュータである。CPU31には、バス33を介して外部記憶コントローラ34、入力コントローラ35、ディスプレイコントローラ36、プリンタコントローラ37、ネットワークコントローラ38が接続されている。ネットワークコントローラ38には、例えばLANが接続され、他のコンピュータから必要な情報を取得し、或いは完成したレイアウトデータを送信するなどが可能となっている。
【0030】
外部記憶コントローラ34には、大容量の外部記憶装置41が接続されている。外部記憶装置41には、レイアウト設計用プログラムと領域形状データファイルと素子形状データファイルが備えられている。領域形状データファイルは、面積に対応してマクロセル領域の形状情報が記憶されたものである。具体的には、
図7に示されるように1つの面積(aaやbbなど)に対応してマクロセル領域の複数の形状情報a1、a2、a3、b1、b2、b3、・・・がセットになったセット情報が、複数の面積に対応して複数セット備えられている。
【0031】
マクロセル領域の形状情報には、a1や、b1などのような四角形の形状情報以外に、四角形の一辺から別の四角形が突出した形状の情報(a2、a3、b3など)、四角形の一辺から別の四角形の領域を削除した形状の情報(b2など)が含まれる。
【0032】
また、素子形状データファイルは、デッドスペースに配置すべき素子毎に面積形状情報が記憶されたものである。具体的には、
図8に示すように、素子名が、インバータ、NANDゲート、CAPなどであるのに対し、素子名のそれぞれに○○、○△、○△△で示されている面積情報と複数の四角形のアスペクト比(縦横比)を示す形状情報が対応付けられている。ここの素子としては、スタンダードセルに配置されるゲート素子や受動素子を挙げることができる。
【0033】
入力コントローラ35には、キーボード入力装置42やポインティングデバイスであるマウス43が接続されている。また、ディスプレイコントローラ36には、LCDなどのディスプレイ装置44が接続されて必要な情報が表示されるように構成されている。更に、プリンタコントローラ37には、プリンタ装置45が接続されており、必要な情報のプリントアウトが可能に構成されている。
【0034】
以上のように構成されたコンピュータにおいて、CPU31が外部記憶装置41からレイアウト設計用プログラムを主メモリ32にロードし、これを実行することによりレイアウト設計装置として動作を行うものである。勿論、レイアウト設計用プログラムについては、主メモリ32に記憶されているものでもよい。
【0035】
CPU31が、
図9に示すフローチャートに対応するレイアウト設計用プログラムを実行することによりレイアウト設計装置として動作が行われるので、
図9に示すフローチャートを参照しながら動作説明を行う。
【0036】
階層データの回路図情報が入力され(S11)、また、階層データの回路レイアウト情報が入力される(S12)。ここで用いられる回路図情報や回路レイアウト情報は、予め例えばネットワークコントローラ38を介してLANに存在する他のコンピュータから得て外部記憶装置41へ記憶しておくようにすることができる。
【0037】
次にステップS13において、回路図情報に基づきマクロセルに含まれる素子数を算出する(素子数算出手段)。ステップS13に続いてステップS14において、回路レイアウト情報と素子数情報とに基づくマクロセル領域の面積を算出する(面積算出手段)。
【0038】
更にステップS14に続いてステップS15において、半導体集積回路チップ内で隣接するマクロセル領域の形状情報を解析し、更に次のステップS16において上記領域形状データファイルF1から最適な形状情報を選択する(形状情報選択手段)。このステップS16における処理としての形状情報選択手段は、面積と素子数とに基づき配置効率(例えば、素子数/面積)を求め、配置効率の高い形状情報を選択することができる。従って、
図7の形状情報a1、a2、a3、b1、b2、b3、・・・中から、例えば形状情報a3や形状情報b2が選択されることになる。
【0039】
ステップS16の次には、即ち、形状情報が選択されたときには、ステップS17において、適切なレイアウトとなったかを検証する(検証手段)。例えば、隣接するマクロセルの領域の形状として、
図10(A)~(D)に示す形状情報LK1~LK4が選択されている場合には、現在選択を行っているマクロセルの領域の形状として、
図10(A)~(D)に示す形状情報RK1~RK4が選択されるべきであり、このような選択がなされると、
図10(A)~(D)の矢印の右側のように2つの領域が隙間なく結合して1つの領域となる。このような選択ではなく、現在選択を行っているマクロセルの領域の形状として形状情報LK1~LK4と同じ高さを持つ四角形が選択された場合には、適切なレイアウトでないことが検出される。或いは、隣接するマクロセルの領域との間に所定以上の(現在選択を行っているマクロセル領域の面積の例えば50%以上)のデッドスペースが生じる場合には、適切なレイアウトでないことが検出される。
【0040】
ステップS17において適切なレイアウトでない(不適切)ことが検出されると(検証手段により適切なレイアウトでないことが検出された場合)、上記形状情報選択手段による解析であるステップS15の処理とステップS16の選択とを改めて行わせる(再試行指示手段)。
【0041】
上記ステップS17において適切なレイアウトであることが検出される(検証手段)と、上記選択でデッドスペースができたのかを検出する(S18)。ここでデッドスペースが生じている場合には、ステップS21において、デッドスペースの面積形状を求める(空面積形状取得手段)。
【0042】
ステップS21に続いてステップS22では、上記ステップS21により求められた面積形状に基づき上記素子形状データファイルF2を検索して適応する素子を選択して上記デッドスペースに配置する(素子配置手段)。即ち、デッドスペースの面積と形状はステップS21において求められているため、素子名に対応して素子の面積と形状の情報が記憶されている素子形状データファイルF2から適切な素子を選択することは容易である。
【0043】
以上のようにしてこの度の設計に係るマクロセルのレイアウトに関する処理が終了すると、チップ上に配置すべき全てのマクロセルのレイアウトに関する処理を上記と同様にして行い、全てのマクロセルのレイアウトに関する処理が終了すると、配線接続処理を行う(S31)。
【0044】
配線接続処理については様々な提案がなされており、本実施形態では公知の手法により配線接続を行う。配線接続処理が終了すると、設計した半導体集積回路の動作に関する検証作業が実施される(S32)。この検証作業は公知のシミュレータによるシミュレーションによって実施することができる。検証作業が終了すると、完成したレイアウトデータをディスプレイ装置44やプリンタ装置45から出力する(S33)。この完成したレイアウトデータについては、ネットワークコントローラ38を介してLANに存在する他のコンピュータへ送るようにしても良い。
【符号の説明】
【0045】
S13 素子数算出手段
S14 面積算出手段
S15、S16 形状情報選択手段
S17 検証手段
S18 デッドスペース検出手段
S21 空面積形状取得手段
S22 素子配置手段