説明

半導体集積回路の設計方法、設計プログラム、及び設計支援装置

【課題】半導体集積回路の設計TATを短縮する。
【解決手段】本発明による半導体集積回路の設計方法は、コンピュータ装置10によって実行される半導体集積回路の設計方法であって、論理セル500と配線セル400をチップ上に配置するステップと、論理セル500内のゲート505に対するアンテナルール122を配線セル400の第1アンテナ用ライブラリ101に追加することで、第1アンテナ用ライブラリ101を第2アンテナ用ライブラリ201に変更するステップと、配線セル400と他の論理セル510を第1配線550で接続するステップと、第2アンテナ用ライブラリ201に規定されたアンテナルール122に従い、ゲート505の面積に対する前記第1配線550の面積の比を検証する第1検証ステップとを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体集積回路の設計方法、設計プログラム、及び設計支援装置に関し、特に、半導体集積回路の自動レイアウト設計に関する。
【背景技術】
【0002】
半導体集積回路などの薄膜デバイス製造には、エッチング、アッシング、イオン注入やプラズマCVD(Chemical Vapor Deposition)など多くのプラズマプロセスが用いられている。こうしたプラズマプロセスでは、チャージアップ現象によるゲート絶縁膜の破壊や損傷(プラズマダメージ)が問題となっている。プラズマダメージは、プラズマ中に露出した導電体(例えば金属配線)によって、プラズマ中の荷電粒子が捕獲され、捕獲された電荷がトランジスタのゲート電極に達することで発生する。例えば、信号配線を形成するエッチングプロセスでは、信号配線がプラズマからの電荷を捕獲するアンテナとして作用する。信号配線で捕獲された電荷によるチャージ電流は、ゲート電極を介してゲート絶縁膜に集中し、ゲート絶縁膜を損傷する。
【0003】
プラズマダメージの大きさは、ゲート絶縁膜を流れるチャージ電流の電流密度に応じて決まるため、アンテナとして機能する金属配線の面積や、ゲート電極の面積を制御することによって、製造プロセスにおけるプラズマダメージを軽減することが可能となる。詳細には、半導体集積回路を設計する際、アンテナ比が所定の閾値(アンテナ基準)以下となるようにレイアウトパタンが設計される。ここで、アンテナ比とは、トランジスタにおけるゲート電極の面積(ゲート面積)に対する当該ゲートに接続される信号配線(金属配線)の面積の比率を示す。通常、半導体集積回路のレイアウト設計後のパタン検証において、アンテナ比がアンテナ基準を満たすかどうかが検証される。この際、アンテナ比がアンテナ基準を超える場合(アンテナエラー)、アンテナ比がアンテナ基準を満足するようにレイアウトパタンが修正される。このようなパタン検証及びレイアウト修正により、製造プロセスにおけるプラズマダメージを受けにくい半導体集積回路を設計することができる。
【0004】
プラズマダメージを軽減するために行われるレイアウト修正方法が、例えば、特開2001−15605に記載されている(特許文献1参照)。特許文献1には、アンテナエラーのあるセルに接続する配線を上層に変更するとともに当該セルの端子位置を変更することでアンテナエラーを除去する技術が記載されている。
【0005】
一方、一般的なロジック製品における自動レイアウト設計では、配置・配線を自動で行い、素子−素子間のタイミングエラーや、クロストークノイズエラー、アンテナエラー(絶縁破壊)を起こさない様に設計される。しかし、大容量メモリ製品は、メモリセルのロウ/カラムの数が増加するため、自動配置配線領域が横長形状や十字形状といった特殊な形状となる。従って、メモリ製品におけるメタル配線は、一般のロジック製品に比べて長距離配線となり、かつ、長距離配線を介して高速でデータ信号を伝播させる必要がある。このような製品を設計する際、ランダムな自動配線が行われると、多ビットのバス配線のクロストークノイズ収束やタイミング同期を行うことがむずかしくなる。このため、クロストークノイズを考慮した信号順に配線を並べたバス配線や、上層の低抵抗層のみの配線など理想の配線をセル化した配線セルを使用することで、高速動作信号配線、クロストークノイズ対策配線、あるいは、バス配線のタイミング同期が容易化されている。
【0006】
例えば、特開2005−268437には、クロストーク対策、配線遅延改善を目的とした配線セルを利用した自動配線レイアウト方法が記載されている(特許文献2参照)。特許文献2では、アンテナエラーが発生しない程度の配線を備える配線セルを予め用意し、これを回路セルの間に挿入することで、アンテナエラーのない自動配線を可能としている。
【0007】
しかし、配線セルを使用して論理セル間を接続した場合、セルサイズやセルを配置する配線領域の形状によっては、論理セルと配線セルとの間を配線で接続する必要がある。例えば、上述のように特殊な形状の配線領域に、決まった形状の配線セルが配置された場合、当該配線セルと論理セルとの間とを配線する必要がある。特許文献2では、セル間を接続する配線によるアンテナ効果を考慮していないため、配置配線後のアンテナ検証においてアンテナエラーとなり、レイアウト修正が必要となる場合がある。
【0008】
配置配線後のレイアウト修正の回数を減少させることで、設計TATを短縮することができる。従って、配置配線後のDRC(Design Rule Checking)においてエラーとなる確率を減らすため、デザインルールや設計制約を満足するように配置配線が可能な自動配置配線ツールが望まれている。
【0009】
例えば、配置配線フェーズにおいて、アンテナ検証やクロストークノイズ検証を行う技術が、特開2004−171363に記載されている(特許文献3参照)。特許文献3では、アンテナ検証対象となるゲートに接続する配線面積が、当該ゲートに設定されたアンテナ基準を満足するようにアンテナ検証を行いながら、セルへの配線が実施される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2001−15605
【特許文献2】特開2005−268437
【特許文献3】特開2004−171363
【発明の概要】
【発明が解決しようとする課題】
【0011】
特許文献3に記載の技術には、アンテナ効果を考慮して配線を行う技術が記載されているが、アンテナ効果を考慮して配線セルを配置することは記載されていない。特許文献3では、論理セル内のゲートに対してアンテナエラーを起こさないように配線するため、当該ゲートに対するアンテナルール(アンテナ基準)を考慮して配線面積が決められる。例えば、論理セル内のゲートに配線セルを接続する場合、当該論理セルのアンテナ用ライブラリに規定されたアンテナ基準を満足するように、当該ゲートに接続される配線面積を有する配線セルが配置される。又、当該ゲートと当該配線セルとの間に配線する場合も、当該アンテナ基準を考慮した面積で配線される。しかし、配置された配線セルと他の論理セルとの間の配線面積は、当該配線セルのアンテナ用ライブラリに基づいて決められるため、当該ゲートに対してアンテナエラーとなる大きさの配線が成される恐れがある。
【0012】
例えば、図14に示すように、論理セル500においてゲート505と入力端子501とを接続する配線503、論理セル500の入力端子501と配線セル400との間の配線551、及び配線セル400に含まれる配線403の総面積は、ゲート503に対して規定されたアンテナルール(アンテナ基準)を考慮して自動配線時に設定され得る。しかし、配線セル400の入力端子401と他の論理セル510の出力端子512との間を自動配線する場合、配線セル400にゲートが存在しないため、ゲート503に対して規定されたアンテナルールを考慮せずに配線される。このため、自動配置配線後のアンテナ検証の際、配線セル400と他の論理セル510との間の配線800によって、アンテナエラーと判定される可能性がある。
【0013】
上述のように、レイアウト後のDRCにおいてエラーとなる箇所を配置配線フェーズにおいて減じることが望まれている。しかし、短TAT化を図るために配線セルを利用して設計した場合、アンテナエラーとなる箇所を配置配線フェーズにおいて除去できない場合があった。従って、更なる短TAT化のため、配線セルを利用した場合でも、配置配線フェーズにおいてアンテナエラーを排除できる技術が望まれている。
【課題を解決するための手段】
【0014】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための形態]の記載との対応関係を明らかにするために、[発明を実施するための形態]で使用される番号・符号が付加されている。ただし、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【0015】
本発明による半導体集積回路の設計方法は、コンピュータ装置(10)によって実行される半導体集積回路の設計方法であって、記憶装置(13)に記録されたネットリスト(100)に従い、論理セル(500)と配線セル(400)をチップ上に配置するステップと、論理セル(500)内のゲート(505)に対するアンテナルール(122)を配線セル(400)の第1アンテナ用ライブラリ(101)に追加することで、第1アンテナ用ライブラリ(101)を第2アンテナ用ライブラリ(201)に変更するステップと、配線セル(400)と他の論理セル(510)を第1配線(550)で接続するステップと、第2アンテナ用ライブラリ(201)に規定されたアンテナルール(122)に従い、ゲート(505)の面積に対する前記第1配線(550)の面積の比を検証する第1検証ステップとを具備する。
【0016】
上記設計方法は、コンピュータによって実行される設計プログラムによって実現されることが好ましい。
【発明の効果】
【0017】
本発明によれば、半導体集積回路の設計TATを短縮することができる。
【図面の簡単な説明】
【0018】
【図1】図1は、本発明による半導体集積回路の設計支援装置の構成の一例を示す平面図である。
【図2】図2は、本発明による設計支援装置によって配置される配線セルの構造の一例を示す平面図である。
【図3】図3は、本発明による設計支援装置に予め記録された、図2に示す配線セルのアンテナ用ライブラリの一例を示す図である。
【図4】図4は、本発明による設計支援装置によって配置される論理セルの構造の一例を示す図である。
【図5】図5は、図4に示す論理セルのアンテナ用ライブラリの一例を示す図である。
【図6】図6は、本発明における半導体集積回路の設計動作の一例を示すフロー図である。
【図7A】図7Aは、自動配置配線中のチップレイアウトの一例を示す平面図である。
【図7B】図7Bは、自動配置配線中のチップレイアウトの一例を示す平面図である。
【図7C】図7Cは、自動配置配線後のチップレイアウトの一例を示す平面図である。
【図8】図8は、本発明に係る組合せ抽出データの一例を示す図である。
【図9】図9は、配置配線中に変更された配線セルのアンテナ用ライブラリの一例を示す図である。
【図10A】図10Aは、自動配置配線中のチップレイアウトの他の一例を示す平面図である。
【図10B】図10Bは、自動配置配線後のチップレイアウトの他の一例を示す平面図である。
【図11】図11は、配置配線中に変更された配線セルのアンテナ用ライブラリの他の一例を示す図である。
【図12】図12は、本発明における半導体集積回路の設計動作の他の一例を示すフロー図である。
【図13】図13は、本発明による半導体集積回路の設計支援装置の構成の他の一例を示す図である。
【図14】図14は、従来技術によって配線セルを配置したときのアンテナエラーの発生メカニズムを示す図である。
【発明を実施するための形態】
【0019】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。
【0020】
以下、添付図面を参照して、本発明による半導体集積回路の設計方法、設計プログラム、設計支援装置の実施の形態を説明する。本実施の形態では、セルベースIC(Integrated Circuit)を設計する半導体集積回路設計支援装置を一例に説明する。
【0021】
(構成)
図1から図5を参照して、本発明による半導体集積回路設計支援装置10(以下、設計支援装置10と称す)の実施の形態における構成を説明する。図1は、本発明による設計支援装置10の実施の形態における構成図である。設計支援装置10は、バス16を介して相互に接続されるCPU11、RAM12、記憶装置13、入力装置14、出力装置15を具備する。記憶装置13はハードディスクやメモリ等に例示される外部記憶装置である。又、入力装置14は、キーボードやマウス等のユーザによって操作されることで、各種データをCPU11や記憶装置13に出力する。出力装置15は、モニタやプリンタに例示され、CPU11から出力される半導体装置のレイアウト結果をユーザに対し視認可能に出力する。
【0022】
記憶装置13は、配置配線データ100、アンテナ用ライブラリ101(以下、アンテナ用ライブラリ101と称す)、設計プログラム300を格納する。CPU11は、入力装置14からの入力に応答して、記憶装置13内の設計プログラム300を実行し、セルレイアウトやチップレイアウトを行なう。この際、記憶装置13からの各種データやプログラムはRAM12に一時格納され、CPU11は、RAM12内のデータを用いて各種処理を実行する。
【0023】
配置配線データ100は、論理回路設計結果であるネットリストを含む。詳細には、配置配線データ100は、セル(回路)を構成する素子や配線の接続関係や種類、サイズ(素子数)等に関する素子情報と、当該回路を構成する素子のうちで、ダイオードやトランジスタなどの非線形能動素子の動作条件に関する素子情報を含む。
【0024】
アンテナ用ライブラリ101は、セルに含まれる端子や配線の位置や配線面積を示す情報を含む。詳細には、アンテナ用ライブラリ101は、セルに含まれる端子のうち、アンテナとなり得る配線(アンテナ配線)に接続する端子の識別子(端子情報111)、セルに含まれる配線のうちアンテナとなり得る配線が形成される位置(配線層)を特定する情報や、当該配線が形成される領域の面積(配線面積)を含むアンテナ配線情報112を備える。又、ゲートを備える論理セルのアンテナ用ライブラリ101は、端子情報111やアンテナ配線情報112の他に、ゲートが形成される領域の面積(ゲート面積121)や、当該ゲートに対して配線層毎に規定されたアンテナルール122を備える。
【0025】
図2及び図3を参照して、配線セルのアンテナ用ライブラリ101の一例を説明する。図2は、本発明による設計支援装置によって配置される配線セル400の構造の一例を示す図である。図2を参照して、配線セル400は、入力端子401、出力端子402、及び配線403(第2配線)を備える。配線403は、例えばタイミングエラーやクロストークエラーが発生しないような長さや配線間隔でセル内に設けられていることが好ましい。
【0026】
図2に示す配線セル400のアンテナ用ライブラリ101の一例を図3に示す。配線セル400のアンテナ用ライブラリ101には、端子情報111として、アンテナ配線となり得る配線403に接続される入力端子401を示す“Pin401”が規定され、アンテナ配線情報112として、アンテナ配線となり得る配線403の配線面積“7”や配線403が形成される第1配線層“M1”を示す情報が規定される。
【0027】
図4及び図5を参照して、ゲートを有する論理セルのアンテナ用ライブラリ101の一例を説明する。図4は、本発明による設計支援装置によっては位置される論理セル500(インバータセル)の構造の一例を示す平面図である。図4を参照して、論理セル500は、入力端子501、出力端子502、配線503(第3配線)、504、ゲート505、拡散層506、507を備える。ゲート505は、配線503を介して入力端子501に接続される。拡散層506、507は配線504によって出力端子502に接続される。このような構成により、論理セル500は、入力端子501からの入力信号を反転して出力端子502に出力するインバータとして機能する。ここで、ゲート505に接続する配線503や入力端子501に接続される配線(図示なし)は、ゲート505に対するアンテナ配線となり得る。
【0028】
図4に示す論理セル500のアンテナ用ライブラリ101の一例を図5に示す。論理セル500のアンテナ用ライブラリ101には、端子情報111として、ゲート505に接続された入力端子501を示す“Pin501”が規定され、アンテナ配線情報112として、アンテナ配線となり得る配線503の配線面積“2”や配線503が形成される第1配線層“M1”を示す情報が規定される。更に、論理セル500のアンテナ用ライブラリ101には、ゲート面積としてゲート505が形成される領域の面積“2”が規定され、アンテナルール122として、ゲート505の面積に対する、ゲート505に接続する配線の面積の比の基準値が配線層毎に規定される。ここでは、ゲート505のゲート面積に対する第1配線層“M1”の配線面積の比(アンテナ基準)が“500”に規定され、ゲート505のゲート面積に対する第2配線層“M1”の配線面積の比(アンテナ基準)が“500”に規定される。これにより、第1配線層、第2配線層ともに、アンテナエラーなしにゲート505に接続可能な配線の面積は、ゲート面積“2”の500倍“1000”以内と規定される。尚、アンテナルール122によって評価を受けない場合(アンテナ検証の対象とならない配線層には、“0”が設定される。
【0029】
(動作)
本発明による設計支援装置10は、設計プログラム300を実行することで、図6に示す動作を実行し、半導体集積回路の自動配置配線を行う。以下、図6から図11を参照して、本発明によるレイアウト設計動作(自動配置配線動作)の詳細を説明する。図6は、本発明における半導体集積回路の設計動作の一例を示すフロー図である。
【0030】
先ず、設計支援装置10は、配置配線データ100を用いて論理セルや配線セルをチップ上に配置する(ステップS10)。ここでは、図7Aに示すように、論理セル500と論理セル510との間に配線セル400が配置される。ステップS10では、論理セル500、510、配線セル400以外のセル(図示なし)もチップ上に配置されることは言うまでもない。
【0031】
図7Aを参照して、論理セル510は、入力端子511、出力端子512、配線513、514、ゲート515、拡散層516、517を備える。ゲート515は、配線513を介して入力端子511に接続される。拡散層516、517は配線514によって出力端子512に接続される。このような構成により、論理セル510は、入力端子511からの入力信号を反転して出力端子512に出力するインバータとして機能する。ここで、ゲート515に接続する配線513や入力端子511に接続される配線(図示なし)は、ゲート515に対するアンテナ配線となり得る。
【0032】
論理セルや配線セルの配置が完了すると、設計支援装置10は、配置された論理セルの入力端子と配線セルの出力端子との組合せをシリアル(1対1)に抽出する(ステップS11)。詳細には、設計支援装置10は、アンテナ対策配線が必要なゲートを特定し、当該ゲートに接続する端子と、当該端子の接続対象となる配線セルの端子との組合せを、組合せ抽出データ210として抽出する。論理セル内に複数のゲートがある場合、複数のゲートのそれぞれに接続される端子毎に、接続対象となる配線セルの端子との組合せが抽出される。図7Aに示す一例では、先ず、アンテナ対策配線が必要なゲートとして論理セル500のゲート505が選択される。そして、ゲート505に接続する入力端子501と、入力端子501の接続対象となる配線セル400の出力端子402が、組合せ抽出データ210として抽出される。
【0033】
図8は、本発明に係る組合せ抽出データ210の一例を示す図である。組合せ抽出データ210は、配線セル名211、論理セル名212、ネット名213、配線セルサイズ214、配線セル配置座標215、論理セルサイズ216、論理セル配置座標217を含む。論理セル名212は、アンテナ対策配線対象として選択されたゲートを有する論理セルの名称であり、論理セルサイズ216、論理セル配置座標217は、当該論理セルのサイズ及び配置位置を示す。又、配線セル名211は、アンテナ対策配線対象として選択されたゲートに接続する配線セルの名称であり、配線セルサイズ214、配線セル配置座標215は、当該配線セルのサイズ及び配置位置を示す。ネット名213は、組合せとして抽出された端子対を特定する情報である。例えば論理セル500の入力端子501と配線セル400の出力端子402とを対応付けた情報“551”がネット名213として抽出される。
【0034】
ステップS11では、アンテナ対策配線対象となるゲートに接続される論理セル内の端子と、当該端子に接続される配線セルの端子との組合せが特定される。あるいは、アンテナ対策配線対象となるゲートを有する論理セルと当該論理セルに接続される配線セルの組合せが特定される。又、組合せ抽出データ210には、アンテナ対策配線対象となるゲートを有する論理セルと、当該ゲートに接続される配線セルのチップ上の位置を特定する情報が含まれる。
【0035】
ステップS11において組合せ抽出データ210が抽出されると、組合せ抽出データ210が抽出されたことを示す変数Nに“1”が代入される。又、組合せ抽出データ210が抽出されない場合、変数Nに“0”が代入される。すなわち、配置された全てのセルにおいて、アンテナ対策配線が必要なゲートを有する論理セルと当該ゲートに接続される配線セルの組合せの全てが抽出されると、変数Nに“0”が代入される。
【0036】
設計支援装置10は、変数Nが“1”か“0”かで、チップ上に配置されたセルのうち、アンテナ対策配線対象となるゲートを有する論理セルと当該論理セル接続する配線セルの組合せの全てを抽出したか否かを判断する(ステップS12)。詳細には、組合せ抽出工程(ステップS11)において組合せ抽出データ210が抽出される場合(変数Nが“1”)、設計支援装置10は、全てのセルの組合せ(端子の組合せ)の抽出が終了していないと判断し、抽出した組合せ抽出データ210を参照して、抽出された2つのセルが隣接しているか否かを確認する(ステップS15)。一方、組合せ抽出工程(ステップS11)において組合せ抽出データ210が抽出されない場合(変数Nが“0”)、全てのセルの組合せ(端子の組合せ)の抽出が完了したと判断し、ステップS23に移行する。すなわち、セルの配置が完了したチップ上において、アンテナ対策配線が必要なゲートに接続する論理セル内の端子と、配線セルの端子との組合せの全てが抽出された場合、ステップS23に移行する。
【0037】
隣接セルの確認工程(ステップS15)では、組合せ抽出データ210の配線セルサイズ214、配線セル配置座標215、論理セルサイズ216、論理セル配置座標217から、論理セルと配線セルとの位置関係が確認される。このとき論理セルと配線セルが隣接している場合、設計支援装置10は変数Mに“1”を代入し、論理セルと配線セルが離隔している場合変数Mに“0”を代入する。図7Aに示す一例では、論理セル500と配線セル400とが、所定の間隔だけ離隔しているため、変数Mに“1”が代入される。尚、隣接セルの確認工程は、後述する配線セルの配線面積抽出工程(ステップS17)の後に行われても良い。
【0038】
設計支援装置10は、ステップS11において特定した論理セルのアンテナ用ライブラリ101から、アンテナ配線情報112、ゲート面積121、アンテナルール122を抽出する(ステップS16)。ここでは一例として、図5に示す論理セル500のアンテナ用ライブラリ101から、第1配線層の配線の面積が“2”であることを示すアンテナ配線情報112と、ゲート面積が“2”であることを示すゲート面積121と、第1配線層のアンテナ基準が“500”、及び第2配線層のアンテナ基準が“500”であることを示すアンテナルール122が、抽出される。
【0039】
又、設計支援装置10は、ステップS11において抽出した配線セルにおける配線面積を、当該配線セルのアンテナ用ライブラリ101から抽出する(ステップS17)。ここでは一例として、図3に示す配線セル400のアンテナ用ライブラリ101から、第1配線層の配線面積が“7”であることを示すアンテナ配線情報112が抽出される。
【0040】
続いて、設計支援装置10は、ステップS15で代入された変数Mが“0”か“1”かによって、論理セルと配線セルとが隣接しているか否かを判定する(ステップS18)。変数Mが“0”に設定されている場合、設計支援装置10は、論理セルと配線セルが離隔していると判定し、当該セルの端子間を配線で接続する処理に移行する(ステップS20)。ここでは一例として、変数Mが“0”に設定されているため、図7Bに示すように、論理セル500の入力端子501と、配線セル400の出力端子402との間を配線551(第4配線)によって接続する。ステップS20の配線工程では、配置配線データ100、アンテナ用ライブラリ101を利用して配線が行われる。詳細には、設計支援装置10は、論理セル500のアンテナ用ライブラリ101を参照して、論理セル500の入力端子501(Pin501)に接続する配線面積が、アンテナルール122に従った面積となるように、出力端子501と配線セル400(出力端子402)との間を配線する。例えば、図5を参照して、端子情報111に示される入力端子“Pin501”に接続するゲート面積“2”とアンテナルール122で規定される配線面積“500”との積“1000”が、当該入力端子“Pin501”に接続可能な配線層毎の配線面積の最大値となる。設計支援装置10は、この最大値を越えないように、当該入力端子“Pin501”と配線セル400の出力端子“Pin402”との間を配線する。尚、ステップS20では、ステップS11において抽出された端子間のみの配線が行われる。
【0041】
配線後、設計支援装置10は、セル間を接続した配線の面積を算出する(ステップS21)。ここでは、図7Bに示す配線551の面積が算出される。
【0042】
続いて、設計支援装置10は、論理セルのアンテナルール等に基づいて配線セルのアンテナ用ライブラリ101を変更する(ステップS22)。詳細には、設計支援装置10は、ステップS16において抽出した、論理セルのアンテナ配線情報112、ゲート面積121、及びアンテナルール122と、ステップS17において抽出した、配線セルのアンテナ配線情報112と、ステップS21で算出した配線面積とを、配線セルのアンテナ用ライブラリ101に追加して、新たなアンテナ用ライブラリ201を生成する。この際、同一の配線層毎に、配線セルの配線面積に対して論理セルの配線面積や、ステップS21で算出された配線面積が加算される。尚、アンテナ用ライブラリ201は、記憶装置13に記録される。
【0043】
例えば、図3に示す配線セル400のアンテナ用ライブラリ101に対し、図5に示す論理セル500のアンテナ配線情報112“2(第1配線層)”、ゲート面積121“2”、アンテナルール122“500(第1配線層)”、“500(第2配線層)”が追加されるとともに、図7Bに示す配線551の面積“2”が追加される。ここでは、配線セル400の配線403の配線面積“7(第1配線層)”に対し、配線403と同じ第1配線層の配線503の配線面積“2”が加算される。又、ステップS20において追加された配線553が第1配線層に形成される場合、配線403と配線503の面積の合計“9”に、更に配線553の面積“2”が加算される。このようにして、配線セル400のアンテナ用ライブラリ101が、図9に示すような新たなアンテナ用ライブラリ201として変更される。
【0044】
図9を参照して、変更後のアンテナ用ライブラリ201には、端子情報111として、入力端子401を示す“Pin401”が規定され、アンテナ配線情報112として、アンテナ配線となり得る配線503、配線553、配線403の配線面積の合計“11”と、配線503、配線553、配線403が形成される第1配線層“M1”を示す情報が規定される。更に、変更後のアンテナ用ライブラリ201には、ゲート面積としてゲート505が形成される領域の面積“2”が規定され、アンテナルール122として、ゲート505の面積に対する、ゲート505に接続する配線の面積の比の基準値が配線層毎に規定される。ここでは、ゲート505のゲート面積に対する第1配線層“M1”の配線面積の比(アンテナ基準)が“500”に規定され、ゲート505のゲート面積に対する第2配線層“M1”の配線面積の比(アンテナ基準)が“500”に規定される。これにより、第1配線層、第2配線層ともに、アンテナエラーなしにゲート505に接続可能な配線の面積は、ゲート面積“2”の500倍“1000”以内と規定される。
【0045】
一方、ステップS11において、図10Aに示される配線セル400の出力端子402と論理セル500の入力端子501との組合せが抽出された場合、設計支援装置10は、ステップS15において配線セル400と論理セル500が隣接しているとして変数Mに“1”を代入する。この場合、ステップS18において、設計支援装置10は、論理セルと配線セルが隣接していると判定し、当該セル間の配線を行わずに、配線セルのアンテナ用ライブラリの変更処理を行う(ステップS19)。
【0046】
ステップS19において設計支援装置10は、ステップS22と同様に、論理セル500のアンテナルール等に基づいて配線セル400のアンテナ用ライブラリ101を変更する。ただし、ここでは、論理セル500と配線セル400との間には配線が形成されないため、ステップS22で行われた追加配線の面積を配線セル400の配線面積に加算する処理は省略される。
【0047】
例えば、図3に示す配線セル400のアンテナ用ライブラリ101に対し、図5に示す論理セル500のアンテナ配線情報112“2(第1配線層)”、ゲート面積121“2”、アンテナルール122“500(第1配線層)”、“500(第2配線層)”が追加される。ここでは、配線セル400の配線403の配線面積“7(第1配線層)”に対し、配線403と同じ第1配線層の配線503の配線面積“2”が加算される。このようにして、配線セル400のアンテナ用ライブラリ101が、図11に示すような新たなアンテナ用ライブラリ201として変更される。
【0048】
図11を参照して、変更後のアンテナ用ライブラリ201には、端子情報111として、入力端子401を示す“Pin401”が規定され、アンテナ配線情報112として、アンテナ配線となり得る配線503、配線403の配線面積の合計“9”と、配線503、配線403が形成される第1配線層“M1”を示す情報が規定される。更に、変更後のアンテナ用ライブラリ201には、ゲート面積としてゲート505が形成される領域の面積“2”が規定され、アンテナルール122として、ゲート505の面積に対する、ゲート505に接続する配線の面積の比の基準値が配線層毎に規定される。ここでは、ゲート505のゲート面積に対する第1配線層“M1”の配線面積の比(アンテナ基準)が“500”に規定され、ゲート505のゲート面積に対する第2配線層“M1”の配線面積の比(アンテナ基準)が“500”に規定される。これにより、第1配線層、第2配線層ともに、アンテナエラーなしにゲート505に接続可能な配線の面積は、ゲート面積“2”の500倍“1000”以内と規定される。
【0049】
ステップS19やステップS22において配線セルのアンテナ用ライブラリ101が変更されると、ステップS11の組合せ抽出工程に移行し、アンテナ検証対象となるゲートを有する論理セルの端子と当該ゲートに接続する端子を有する配線セルとの組合せが抽出されなくなるまで、上述の処理が繰り返される。尚、ステップS19、S22では、ステップS11において抽出された配線セルのアンテナ用ライブラリ101のみがアンテナ用ライブラリ201として変更され、他のセルのアンテナ用ライブラリ101は、変更されずに後述する配線処理(ステップS24)やアンテナ検証(ステップS25)に利用される。
【0050】
以上のような動作により、論理セル500のアンテナ用ライブラリ101に規定されたゲート面積121やアンテナルール122、及び論理セル500内の配線面積が、配線セル400のアンテナ用ライブラリ101に追加され、アンテナ用ライブラリ201が生成される。
【0051】
組合せ抽出工程(ステップS11)において組合せ抽出データ210が抽出されない場合(変数Nが“0”)、設計支援装置10は、全てのセルの組合せ(端子の組合せ)の抽出が完了したと判断し、ステップS23に移行する。設計支援装置10は、ステップS10からS22において配置されたセルや配線の配置座標を配置配線データ100に追加し、配置配線データ200として出力する(ステップS23)。
【0052】
続いて、設計支援装置10は、配置配線データ200、アンテナ用ライブラリ101、201を使用して未配線領域の配線を行い、アンテナ検証を行う(ステップS24、S25)。ここでは、ステップS20において配線した領域以外の配線を必要とする箇所を配線する。例えば、図7Bに示す配線セル400の入力端子401と論理セル510の出力端子513との間が、アンテナ用ライブラリ201の情報に基づいて配線550(第1配線)で接続され、図7Cに示すレイアウトとなる。あるいは、図10Aに示す配線セル400の入力端子401と論理セル510の出力端子513との間が、アンテナ用ライブラリ201の情報に基づいて配線550で接続され、図10Bに示すレイアウトとなる。更に、ステップS11において抽出された端子対以外の端子間が配線される。この際、必要に応じて、ステップS20と同様にアンテナ用ライブラリ101に従った配線面積で配線される。
【0053】
全ての配線が終了すると、設計支援装置10は、ステップS24において接続された配線に対してアンテナ検証を行う(ステップS25)。ここでは、ステップS24の前に配置されたセルや配線、タイミング規格等により置き換えられた配線が、アンテナルールを満足しているか否かが確認される。詳細には、設計支援装置10は、記憶装置13に記録されたアンテナ用ライブラリ101、201から、ステップS24において配線が接続されたセルのアンテナ用ライブラリを抽出し、これを用いて当該配線のアンテナ検証を行う。ここでは、設計支援装置10は、抽出されたアンテナ用ライブラリから、アンテナ検証対象となるゲート及びアンテナルールを特定し、当該ゲートに接続された配線面積が、当該アンテナルールを満足するか否かを、配線層毎に検証する。
【0054】
例えば、ステップS24において第1論理セルと第2論理セルとが配線で接続された場合、第1論理セルのアンテナ用ライブラリ101が抽出され、第1論理セルのゲートがアンテナ検証対象となる。この場合、設計支援装置10は、第1論理セルのアンテナ用ライブラリ101に従って当該配線の面積を検証する。
【0055】
一方、ステップS24において配線セルに配線が接続された場合、当該配線セルのアンテナ用ライブラリ201が抽出され、アンテナ用ライブラリ201に規定されたゲートがアンテナ検証対象となる。この場合、設計支援装置10は、ステップS19やステップS22によって変更された配線セルのアンテナ用ライブラリ201に従って、ステップS24において接続された配線の面積を検証する。例えば、図7Cに示すゲート505に対するアンテナ検証では、図9に示す配線セル400のアンテナ用ライブラリ201に従って、配線550の面積が検証される。図9に示すアンテナ用ライブラリ201には、ゲート505に接続される第1配線層のアンテナ配線の面積“11”が含まれるため、ゲート面積121“2”に対する、配線550の面積“X”と面積“11”の和の比が、アンテナルール122で規定される“500”以下となるかが検証される。あるいは、図10Bに示すゲート505に対するアンテナ検証では、図11に示す配線セル400のアンテナ用ライブラリ201に従って、配線550の面積が検証される。図11に示すアンテナ用ライブラリ201には、ゲート505に接続される第1配線層のアンテナ配線の面積“9”が含まれるため、ゲート面積121“2”に対する、配線550の面積“Y”と面積“9”の和の比が、アンテナルール122で規定される“500”以下となるかが検証される。
【0056】
ステップS25のアンテナ検証工程において、アンテナエラーを検出した場合、設計支援装置10は、エラー箇所をレポートしてエラー箇所の配線を修正する(ステップS25Yes、ステップS26)。配線の修正後は、再びアンテナ検証工程(ステップS25)に移行する。設計支援装置10は、アンテナエラーが検出されなくなるまで、配線(修正)工程(ステップS24)とアンテナ検証工程(ステップS25)を繰り返し、アンテナエラーが検出されなった時点の配置配線結果を、例えばGDS(Graphic Data System)形式のチップレイアウト情報として記憶装置13に記録する。
【0057】
例えば、図7Cに示すレイアウトにおいて、ゲート面積121“2”に対する、配線550の面積“X”と面積“11”の和の比“(X+11)/2”が、アンテナルールである“500”より大きい場合、アンテナエラーと判定され、配線550は修正される。又、“(X+11)/2”が“500”以下である場合、アンテナエラーなしと判定される。あるいは、図10Bに示すレイアウトにおいて、ゲート面積121“2”に対する、配線550の面積“Y”と面積“9”の和の比“(Y+9)/2”が、アンテナルールである“500”より大きい場合、アンテナエラーと判定され、配線550は修正される。又、“(Y+9)/2”が“500”以下である場合、アンテナエラーなしと判定される。
【0058】
従来、配線セルのアンテナ用ライブラリには、アンテナ検証対象となるゲートの面積やアンテナルールが規定されていない。このため、配線セルの入力端子と論理セルの出力端子との間を接続する配線が、アンテナエラーとなるか否かを、配置配線フェーズにおいて検証することはできなかった。しかし、本発明では、配線セルのアンテナ用ライブラリ201に、ゲートに接続された既配線の配線面積(アンテナ配線情報112)、ゲート面積121、アンテナルール122が規定されている。設計支援装置10は、このアンテナ用ライブラリ201を利用することで、配線セルから延設される配線に対するアンテナ検証を実施することができる。すなわち、本発明では、配置配線フェーズにおいて、アンテナルールを満足しながら配線セルの配置及び当該配線セルと他の論理セルとの間の配線を行うことができる。このように、本発明によれば、自動配置配線工程においてアンテナエラーを収束することができるため、GDS出力後のDRCにおいてアンテナエラーによる手戻りは無くなり、設計工数は削減される。
【0059】
上述の実施例では、配線セル400や、アンテナ検証対象のゲートと配線セル400とを接続する配線551に対するアンテナ検証は、ステップS24の配線工程の後に、他の配線に対するアンテナ検証と同時に行われているが、これに限らない。例えば、配線セル400や配線551に対するアンテナ検証は、図12に示す設計方法のように、ステップS19やステップS22のアンテナ用ライブラリ変更工程の前に行われても良い。
【0060】
図12は、配線セルのアンテナ用ライブラリの変更工程の前にアンテナ検証が行われる場合の設計動作の一例を示すフロー図である。図12を参照して、ステップS10からステップS18までは、図6に示す設計動作と同様であるので、その説明は省略する。
【0061】
ステップS18のセル隣接確認工程において、変数Mが“0”に設定されている場合、設計支援装置10は、論理セルと配線セルが離隔していると判定し、当該セルの端子間を配線で接続する処理に移行する(ステップS20)。ステップS20以降を、図7Aに示すレイアウトに対する処理を一例に説明する。ステップS20の配線工程では、図6に示す一例と同様に、配置配線データ100、アンテナ用ライブラリ101を利用して配線セル400の出力端子402と論理セル500の入力端子501との間が配線551によって接続される。
【0062】
続いて、論理セル500のアンテナ用ライブラリ101に従い、配線セル400における配線403、及び配線551に対するアンテナ検証が行われる(ステップS72)。例えば、図5に示す論理セル500のアンテナ用ライブラリ101に従って、配線551と配線403の面積の総和が検証される。ここでは、図5に示すアンテナ用ライブラリ101には、ゲート505に接続される第1配線層のアンテナ配線の面積“7”が含まれるため、ゲート面積121“2”に対する、配線551と配線403の面積の総和“X1”と面積“7”の和の比が、アンテナルール122で規定される“500”以下となるかが検証される。
【0063】
ステップS72のアンテナ検証工程において、アンテナエラーを検出した場合、設計支援装置10は、エラー箇所をレポートしてステップS10の配置工程まで戻り、配線セル400や論理セル500の配置位置の調整や、論理セル500を変更する(ステップS72Yes、ステップS73)。ここで、設計支援装置10は、配線セル400と論理セル500の配置距離を縮めるか、論理セル500を入力ゲート505の面積が大きい論理セルに変更することが好ましい。
【0064】
ステップS72のアンテナ検証工程において、アンテナエラーを検出しない場合、設計支援装置10は、セル間を接続した配線の面積を算出する(ステップS72No、S21)。ここでは、図7Bに示す配線551の面積が算出される。
【0065】
続いて、設計支援装置10は、図6に示す一例と同様に、論理セルのアンテナルール等に基づいて配線セルのアンテナ用ライブラリ101を変更する(ステップS22)。詳細には、設計支援装置10は、ステップS16において抽出した、論理セルのアンテナ配線情報112、ゲート面積121、及びアンテナルール122と、ステップS17において抽出した、配線セルのアンテナ配線情報112と、ステップS21で算出した配線面積とを、配線セルのアンテナ用ライブラリ101に追加して、新たなアンテナ用ライブラリ201を生成する。この際、同一の配線層毎に、配線セルの配線面積に対して論理セルの配線面積や、ステップS21で算出された配線面積が加算される。尚、アンテナ用ライブラリ201は、記憶装置13に記録される。
【0066】
一方、ステップS11において、図10Aに示される配線セル400の出力端子402と論理セル500の入力端子501との組合せが抽出された場合、設計支援装置10は、ステップS15において配線セル400と論理セル500が隣接しているとして変数Mに“1”を代入する。この場合、ステップS18において、設計支援装置10は、論理セルと配線セルが隣接していると判定し、当該セル間の配線を行わずに、ゲート505に接続する配線セル400に対してアンテナ検証を行う(ステップS70)。
【0067】
ステップS70では、例えば、図5に示す論理セル500のアンテナ用ライブラリ101に従って、配線551と配線403の面積の総和が検証される。ここでは、図5に示すアンテナ用ライブラリ101には、ゲート505に接続される第1配線層のアンテナ配線の面積“7”が含まれるため、ゲート面積121“2”に対する、配線403の面積“Y1”と面積“7”の和の比が、アンテナルール122で規定される“500”以下となるかが検証される。
【0068】
ステップS70のアンテナ検証工程において、アンテナエラーを検出した場合、設計支援装置10は、エラー箇所をレポートしてステップS10の配置工程まで戻り、配線面積の小さい配線セル400に変更するか、論理セル500を入力ゲート505の面積が大きい論理セルに変更する(ステップS70Yes、ステップS71)。尚、ここでは、配線セル400や論理セル500の配置位置の調整や、論理セル500のサイズ調整が行われても良い。
【0069】
一方、ステップS72のアンテナ検証工程において、アンテナエラーを検出しない場合、設計支援装置10は、図6に示す一例と同様に、論理セルのアンテナルール等に基づいて配線セルのアンテナ用ライブラリ101を変更する(ステップS19)。ステップS19において設計支援装置10は、ステップS22と同様に、論理セル500のアンテナルール等に基づいて配線セル400のアンテナ用ライブラリ101を変更する。ただし、ここでは、論理セル500と配線セル400との間には配線が形成されないため、ステップS22で行われた追加配線の面積を配線セル400の配線面積に加算する処理は省略される。
【0070】
ステップS19やステップS22において配線セルのアンテナ用ライブラリ101が変更されると、ステップS11の組合せ抽出工程に移行し、アンテナ検証対象となるゲートを有する論理セルの端子と当該ゲートに接続する端子を有する配線セルとの組合せが抽出されなくなるまで、上述の処理が繰り返される。尚、ステップS19、S22では、ステップS11において抽出された配線セルのアンテナ用ライブラリ101のみがアンテナ用ライブラリ201として変更され、他のセルのアンテナ用ライブラリ101は、変更されずに後述する配線処理(ステップS24)やアンテナ検証(ステップS25)に利用される。
【0071】
以上のような動作により、論理セル500のアンテナ用ライブラリ101に規定されたゲート面積121やアンテナルール122、及び論理セル500内の配線面積が、配線セル400のアンテナ用ライブラリ101に追加され、アンテナ用ライブラリ201が生成される。本実施例において生成されるアンテナ用ライブラリ201は、アンテナ検証によってアンテナエラーがないと判定された配線面積を含むこととなる。
【0072】
組合せ抽出工程(ステップS11)において組合せ抽出データ210が抽出されない場合(変数Nが“0”)、設計支援装置10は、全てのセルの組合せ(端子の組合せ)の抽出が完了したと判断し、ステップS23に移行する。ステップS23以降の処理は、図6に示す一例と同様に行われるが、本実施例では、ステップS24の配線工程の前に、ゲート505から配線セル400に至る配線面積が、当該ゲート505に規定されたアンテナルールを満足するように予め設定されている。このため、ステップS25においてアンテナエラーとなる可能性が低くなる。この結果、ステップS25からステップS25への手戻り回数が少なくなり、設計TATを更に短縮することが可能となる。
【0073】
以上のように本発明によれば、配線セルのアンテナ用ライブラリにゲート面積、アンテナルールが追加されるため、配置配線工程においても配線セルから延設される配線に対し、アンテナ検証を行うことが可能となる。これにより、レイアウト情報(GDSデータ)出力後のDRCにおいてアンテナエラーとなる可能性が低くなり、DRCから配置配線工程への手戻り回数が削減される。
【0074】
本レイアウト設計後における製造プロセスでは、DRCを終えたレイアウト情報を用いてシリコン基板表面にマスクが形成され、エッチング等の処理を経て半導体集積回路が作製される。
【0075】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、ステップS19、S22、S25、S70、S72におけるアンテナ検証では、配線面積のみならずビアサイズ等も考慮され得る。この場合、アンテナ用ライブラリ201には、ゲート505から配線セル400までに形成されるビアのサイズも追加される。
【0076】
又、図13に示すように、設計支援装置10は、インターネット20を介して、記憶装置13を有するサーバ30に接続されていても良い。この場合、設計支援装置10は、サーバ30内の記憶装置13から、配置配線データ100やアンテナ用ライブラリ101を取得して、レイアウト設計を行う。
【符号の説明】
【0077】
10:設計支援装置
13:記憶装置
14:入力装置
15:出力装置
16:バス
20:インターネット
30:サーバ
100、200:配置配線データ
101、201:アンテナ用ライブラリ
111:端子情報
112:アンテナ配線情報
121:ゲート面積
122:アンテナルール
210:組合せ抽出データ
211:配線セル名
212:論理セル名
213:ネット名
214:配線セルサイズ
215:配線セル配置座標
216:論理セルサイズ
217:論理セル配置座標
300:設計プログラム
400:配線セル
401、501、511:入力端子
402、502、512:出力端子
403、503、504、513、514、550、551::配線
500:論理セル
505、515:ゲート
506、507、516、517:拡散層

【特許請求の範囲】
【請求項1】
コンピュータ装置によって実行される半導体集積回路の設計方法であって、
記憶装置に記録されたネットリストに従い、論理セルと配線セルをチップ上に配置するステップと、
前記論理セル内のゲートに対するアンテナルールを前記配線セルの第1アンテナ用ライブラリに追加することで、前記第1アンテナ用ライブラリを第2アンテナ用ライブラリに変更するステップと、
前記配線セルと他の論理セルとを第1配線で接続するステップと、
前記第2アンテナ用ライブラリに規定されたアンテナルールに従い、前記ゲートの面積に対する前記第1配線の面積の比を検証する第1検証ステップと
を具備する
半導体集積回路の設計方法。
【請求項2】
請求項1に記載の半導体集積回路の設計方法において、
前記第1アンテナ用ライブラリには、前記配線セル内の第2配線の面積が規定され、
前記論理セルの第3アンテナ用ライブラリには、前記ゲートの面積と、前記論理セル内において前記ゲートに接続される第3配線の面積と、前記アンテナルールが規定され、
前記第2アンテナ用ライブラリに変更するステップは、
前記第1アンテナ用ライブラリに、前記ゲート面積及び前記アンテナルールを追加するステップと、
前記第1アンテナ用ライブラリにおいて、前記第2配線の面積に前記第3配線の面積を加算するステップと
を備え、
前記第1検証ステップは、前記第2アンテナ用ライブラリに規定された配線面積と前記第1面積との和と、前記第2アンテナ用ライブラリに規定されたゲート面積との比が前記アンテナルールを満足するかを検証するステップを備える
半導体集積回路の設計方法。
【請求項3】
請求項2に記載の半導体集積回路の設計方法において、
前記論理セルと前記配線セルとを第4配線によって接続するステップを更に具備し、
前記第2アンテナ用ライブラリに変更するステップは、
前記第4配線の面積を算出するステップと、
前記第1アンテナ用ライブラリにおいて、前記第2配線の面積に前記第3配線の面積及び前記第4配線の面積を加算するステップと
を備える
半導体集積回路の設計方法。
【請求項4】
請求項3に記載の半導体集積回路の設計方法において、
前記ゲートを備える前記論理セルを特定するステップと、
前記ゲートに接続される前記配線セルを特定するステップと、
前記論理セルと前記配線セルとが離隔しているか否かを判定するステップと
を更に具備し、
前記論理セルと前記配線セルとが離隔している場合、前記ゲートと前記配線セルとを前記第4配線によって接続するステップを備える
半導体集積回路の設計方法。
【請求項5】
請求項2から4のいずれか1項に記載の半導体集積回路の設計方法において、
前記第2アンテナ用ライブラリに変更するステップの前に、前記第3アンテナ用ライブラリに規定されたアンテナルールに従い、前記ゲートの面積に対する、第2配線と前記第4配線の面積和の比を検証する第2検証ステップを更に具備し、
前記第2検証ステップにおいて、アンテナエラーと判定された場合、前記論理セルと配線セルの少なくとも一方を変更する
半導体集積回路の設計方法。
【請求項6】
請求項2から5のいずれか1項に記載の半導体集積回路の設計方法において、
前記第2アンテナ用ライブラリに変更するステップの前に、前記第3アンテナ用ライブラリに規定されたアンテナルールに従い、前記ゲートの面積に対する第2配線の比を検証する第3検証ステップを更に具備し、
前記第3検証ステップにおいて、アンテナエラーと判定された場合、前記論理セルと配線セルの少なくとも一方を変更する
半導体集積回路の設計方法。
【請求項7】
請求項1から6のいずれか1項に記載の半導体集積回路の設計方法をコンピュータに実行させる設計プログラム。
【請求項8】
請求項7に記載の設計プログラムが記録された記憶装置と、
前記設計プログラムを実行するCPUと
を具備する
半導体集積回路の設計支援装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−212393(P2012−212393A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−78557(P2011−78557)
【出願日】平成23年3月31日(2011.3.31)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】