(57)【要約】      （修正有）【課題】冗長配線の低減によって配線効率を向上させる半導体装置の設計方法を提供する。【解決手段】繰り返し配置される回路単位であるスタンダードセルを複数個配置する工程S100と、第１のコンタクトに接続された接続端子を縮小化する工程S101と、縮小化される前の接続端子のうち縮小化された後の接続端子以外の部分を、仮想配線に変換する工程S102と、入力端子及び出力端子に接続される上層配線を配置する工程S103と、仮想配線のうち縮小化された後の接続端子と仮想配線上に配置された第２のコンタクトとを接続するのに必要な部分を、マスク処理される実配線に変換する工程S104とを含む。【選択図】図５
2013242755.tif 000002
【特許請求の範囲】
【請求項１】
スタンダードセルが複数個配置され、前記スタンダードセルは、繰り返し配置される回路単位であり、かつ第１の内部素子と、前記第１の内部素子に接続された第１のコンタクトと、前記第１のコンタクトに接続された接続端子とを有し、
前記接続端子を前記第１のコンタクトと前記接続端子とを考慮して必要な長さに縮小化する工程と、
縮小化される前の接続端子のうち縮小化された後の接続端子以外の部分を、仮想配線に変換する工程と、
前記仮想配線のうち前記縮小化された後の接続端子と前記仮想配線上に配置された第２のコンタクトとを接続するのに必要な部分を、マスク処理される実配線に変換する工程と、
を具備することを特徴とする半導体装置の設計方法。
【請求項２】
前記スタンダードセルは、第２の内部素子と、前記第２の内部素子及び前記接続端子に接続される第３のコンタクトとをさらに具備し、
前記縮小化する工程は、前記接続端子を前記第１及び第３のコンタクトを接続するのに必要な長さにすることを特徴とする請求項１に記載の半導体装置の設計方法。
【請求項３】
スタンダードセルが複数個配置され、前記スタンダードセルは、繰り返し配置される回路単位であり、かつ第１の内部素子と、前記第１の内部素子に接続された第１のコンタクトと、前記第１のコンタクトに接続された接続端子とを有し、
前記接続端子を前記第１のコンタクトと前記接続端子とを考慮して必要な長さに縮小化する工程と、
縮小化される前の接続端子のうち縮小化された後の接続端子以外の部分を、仮想配線に変換する工程と、
前記仮想配線のうち前記縮小化された後の接続端子と前記仮想配線上に配置された第２のコンタクトとを接続するのに必要な部分を、マスク処理される実配線に変換する工程と、
をコンピュータに実行させるためのプログラム。
【請求項４】
前記スタンダードセルは、第２の内部素子と、前記第２の内部素子及び前記接続端子に接続される第３のコンタクトとをさらに具備し、
前記縮小化する工程は、前記接続端子を前記第１及び第３のコンタクトを接続するのに必要な長さにすることを特徴とする請求項３に記載のプログラム。
【請求項５】
繰り返し配置される回路単位であり、第１の内部素子と、前記第１の内部素子に接続された第１のコンタクトと、前記第１のコンタクトに接続された接続端子とを有するスタンダードセルと、
前記接続端子上に設けられた第２のコンタクトと、
前記第２のコンタクト上に設けられた上層配線と、
を具備し、
前記接続端子は、前記第１及び第２のコンタクトを接続するのに必要な最小の長さまで縮小化されていることを特徴とする半導体装置のレイアウト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体装置の設計方法、プログラム、及び半導体装置のレイアウトに関する。
【背景技術】
【０００２】
近年の半導体装置の微細化及び大規模化に伴い、その設計手法はより複雑さを増している。大規模な回路の設計には、例えばセルベースの設計手法が用いられる。セルベース設計では、基本ゲートや使用頻度の高い論理回路のパターンをスタンダードセルとして予め登録しておき、スタンダードセルを複数個配置し、スタンダードセル間を配線することでレイアウト設計を行う。
【０００３】
半導体装置の設計は、一部が自動設計で行われるようになっている。自動設計で配置するスタンダードセルは、配線の接続位置によっては冗長配線が形成されてしまう。そして、冗長配線に起因する配線抵抗や配線容量の増加により、信号の遅延が発生したり、スタンダードセルに含まれる内部素子（例えばトランジスタ）の特性が劣化してしまう可能性がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−９７２５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実施形態は、配線効率を向上させることが可能な半導体装置の設計方法、プログラム、及び半導体装置のレイアウトを提供する。
【課題を解決するための手段】
【０００６】
実施形態に係る半導体装置の設計方法は、スタンダードセルが複数個配置され、前記スタンダードセルは、繰り返し配置される回路単位であり、かつ第１の内部素子と、前記第１の内部素子に接続された第１のコンタクトと、前記第１のコンタクトに接続された接続端子とを有し、前記接続端子を前記第１のコンタクトと前記接続端子とを考慮して必要な長さに縮小化する工程と、縮小化される前の接続端子のうち縮小化された後の接続端子以外の部分を、仮想配線に変換する工程と、前記仮想配線のうち前記縮小化された後の接続端子と前記仮想配線上に配置された第２のコンタクトとを接続するのに必要な部分を、マスク処理される実配線に変換する工程とを具備する。
【０００７】
実施形態に係る半導体装置のレイアウトは、繰り返し配置される回路単位であり、第１の内部素子と、前記第１の内部素子に接続された第１のコンタクトと、前記第１のコンタクトに接続された接続端子とを有するスタンダードセルと、前記接続端子上に設けられた第２のコンタクトと、前記第２のコンタクト上に設けられた上層配線とを具備し、前記接続端子は、前記第１及び第２のコンタクトを接続するのに必要な最小の長さまで縮小化されている。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る設計装置のブロック図。
【図２】スタンダードセルのレイアウト図。
【図３】図２のＡ−Ａ´線に沿ったスタンダードセルの断面図。
【図４】スタンダードセルの回路図。
【図５】本実施形態に係る半導体装置の設計方法を示すフローチャート。
【図６】入力端子及び出力端子の縮小化処理を説明するレイアウト図。
【図７】上層配線の配置処理を説明するレイアウト図。
【図８】仮想配線を部分的に実配線に変換する処理を説明するレイアウト図。
【図９】図８のＡ−Ａ´線に沿ったスタンダードセルの断面図。
【図１０】比較例に係るスタンダードセルのレイアウト図。
【図１１】本実施形態の変形例に係る半導体装置の設計方法を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、実施形態について図面を参照して説明する。ただし、図面は模式的または概念的なものであり、各図面の寸法および比率などは必ずしも現実のものと同一とは限らない。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置などによって、本発明の技術思想が特定されるものではない。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１０】
［１］  構成
図１は、本実施形態に係る設計装置１のブロック図である。設計装置１は、制御部２、記憶部３、入力部４、及び表示部５を備えている。
【００１１】
入力部４は、ユーザ（設計者）がデータを入力するために使用され、例えばキーボード及びマウスにより構成される。表示部５は、制御部１７による処理結果をユーザに伝えるために使用され、例えばディスプレイにより構成される。ユーザは、表示部５に表示された情報を参照しながら、入力部４を用いて様々なデータやコマンドを入力することが可能である。
【００１２】
記憶部３は、回路の構成に関する情報を含む回路情報８を格納する領域と、及び各回路のパターンに関する情報を含むレイアウト情報９を格納する領域とを備えている。これら回路情報８及びレイアウト情報９がレイアウト構築のための基本データとなる。
【００１３】
制御部２は、プログラムを格納するためのメモリ（ＲＯＭ）７と、プログラムに基づいて所定の処理を実行するＣＰＵ（Central Processing Unit）６とを備えている。制御部２は、ユーザにより動作指示が入力されると、回路情報８及びレイアウト情報９を記憶部３から読み出し、セル配置や配線設計などの各処理を実行する。
【００１４】
上記のように構成された設計装置１を用いて、ユーザは、記憶部３に格納された複数種類のスタンダードセルを適宜組み合わせて半導体装置を設計する。スタンダードセルは、半導体装置を設計する際に繰り返し配置（使用）される機能ブロック（回路単位）である。スタンダードセルは、複数種類が用意され、各スタンダードセルは、トランジスタ、論理ゲート、複数の論理ゲートが組み合わされた論理回路、抵抗素子、容量素子、及びメモリセルなどから構成される。さらに、繰り返し配置される機能ブロックには、複数のスタンダードセルを組み合わせた機能ブロックや、さらにそれらを組み合わせた中規模及び大規模システムなども含まれる。
【００１５】
以下に、半導体装置を設計する際に使用するスタンダードセルの一例について説明する。図２は、スタンダードセル１０のレイアウト図である。図３は、図２のＡ−Ａ´線に沿ったスタンダードセル１０の断面図である。図４は、スタンダードセル１０の回路図である。スタンダードセル１０は、インバータ回路により構成される。スタンダードセル１０は、ＰチャネルＭＯＳトランジスタ（ＰＭＯＳトランジスタ）１１及びＮチャネルＭＯＳトランジスタ（ＮＭＯＳトランジスタ）１２を備えている。
【００１６】
ＰＭＯＳトランジスタ１１は、半導体基板１３に設けられたアクティブ領域ＡＡ１に形成される。アクティブ領域ＡＡ１は、素子分離絶縁層１４によって隣接セルと電気的に分離される。アクティブ領域ＡＡ１には、ソース領域Ｓ１及びドレイン領域Ｄ１が設けられている。ソース領域Ｓ１及びドレイン領域Ｄ１間かつアクティブ領域ＡＡ１上には、Ｙ方向に延在するゲート電極ＣＧ１がゲート絶縁膜を介して設けられている。
【００１７】
ソース領域Ｓ１上には、例えば６個のコンタクトＣ_Ｓ１が設けられ、コンタクトＣ_Ｓ１上には、Ｙ方向に延在する電源端子ＶＤＤが設けられている。ドレイン領域Ｄ１上には、例えば６個のコンタクトＣ_Ｄ１が設けられ、コンタクトＣ_Ｄ１上には、Ｙ方向に延在する出力端子Ｏｕｔ_Ｒが設けられている。ゲート電極ＣＧ１上には、コンタクトＣ_ＣＧ１が設けられ、コンタクトＣ_ＣＧ１上には、Ｙ方向に延在する入力端子Ｉｎ_Ｒが設けられている。コンタクトＣ_ＣＧ１は、ＮＭＯＳトランジスタ１２に近い側のゲート電極ＣＧ１の端部に設けられている。入力端子Ｉｎ_Ｒ、出力端子Ｏｕｔ_Ｒ及び電源端子ＶＤＤは、第１レベル配線層に含まれる。
【００１８】
ＮＭＯＳトランジスタ１２は、導電型が異なる以外は、ＰＭＯＳトランジスタ１１とほぼ同様に構成される。ＮＭＯＳトランジスタ１２は、アクティブ領域ＡＡ２、ゲート電極ＣＧ２、ソース領域Ｓ２及びドレイン領域Ｄ２を備えている。なお、アクティブ領域ＡＡ２の大きさ、ゲート電極ＣＧの大きさは、ＮＭＯＳトランジスタ１２とＰＭＯＳトランジスタ１１とで異なる場合がある。
【００１９】
ソース領域Ｓ２上には、例えば５個のコンタクトＣ_Ｓ２が設けられ、コンタクトＣ_Ｓ２上には、Ｙ方向に延在する接地端子ＶＳＳが設けられている。ドレイン領域Ｄ２上には、例えば５個のコンタクトＣ_Ｄ２が設けられ、コンタクトＣ_Ｄ２上には、ＰＭＯＳトランジスタ１１と共通の出力端子Ｏｕｔ_Ｒが設けられている。ゲート電極ＣＧ２上には、コンタクトＣ_ＣＧ２が設けられ、コンタクトＣ_ＣＧ２上には、ＰＭＯＳトランジスタ１１と共通の入力端子Ｉｎ_Ｒが設けられている。コンタクトＣ_ＣＧ２は、ＰＭＯＳトランジスタ１１に近い側のゲート電極ＣＧ１の端部に設けられている。接地端子ＶＳＳは、第１レベル配線層に含まれる。
【００２０】
なお、スタンダードセル１０の接続用配線（入力端子Ｉｎ_Ｒ、出力端子Ｏｕｔ_Ｒ、電源端子ＶＤＤ及び接地端子ＶＳＳ）は、配線効率を向上させるために、スタンダードセル１０を規定する枠（スタンダードセル１０を包含する枠）１５の端部まで延在している。これは、レイアウト設計時に結線の自由度を上げるためである。
【００２１】
［２］  設計方法
次に、半導体装置の設計方法について図面を参照しながら説明する。図５は、本実施形態に係る半導体装置の設計方法を示すフローチャートである。以下に説明する設計方法は、各工程を実行可能なプログラムをメモリ７に格納し、このプログラムをコンピュータ（ＣＰＵ６）に実行させることで実現可能である。
【００２２】
まず、制御部２は、ユーザによる指示に基づいて、指定されたスタンダードセル１０の回路情報８及びレイアウト情報９を記憶部３から読み出し、メモリ７に格納されたプログラムに含まれる自動配置配線ツールを用いて表示部５（実際の半導体装置では半導体基板上に相当する）にスタンダードセル１０を配置する（ステップＳ１００）。例えば、自動配置配線ツールは、設計者がスタンダードセル１０をＸ方向に１０００個連続して並べる、という指示を入力部４に入力すると制御部２が記憶部３からスタンダードセル１０の情報を取り出しスタンダードセル１０をＸ方向に１０００個連続して並べ、表示部５に表示するものである。また、設計者が入力部４のキーボード及びマウスを用いてスタンダードセル１０を複数個配置することも可能である。
【００２３】
続いて、制御部２は、スタンダードセル１０の実配線を縮小化する（ステップＳ１０１）。図６は、入力端子Ｉｎ_Ｒ及び出力端子Ｏｕｔ_Ｒの縮小化処理を説明するレイアウト図である。図６（ａ）が実配線を縮小化する前のレイアウト図であり、図６（ｂ）が実配線を縮小化した後のレイアウト図である。スタンダードセル１０に含まれる入力端子Ｉｎ_Ｒ、出力端子Ｏｕｔ_Ｒ、電源端子ＶＤＤ及び接地端子ＶＳＳは、実配線で構成されている。実配線は、最終的にマスクパターンとして使用される（マスク処理される）配線である。換言すると、実配線は、半導体装置に実際に配線として形成される配線である。
【００２４】
図６において、実配線を斜線で示している。ステップＳ１００においてスタンダードセル１０を配置した段階では、スタンダードセル１０の入力端子Ｉｎ_Ｒ、出力端子Ｏｕｔ_Ｒ、電源端子ＶＤＤ及び接地端子ＶＳＳは、実配線で構成されている。また、これらの実配線は、Ｙ方向においてスタンダードセル１０を規定する枠１５の端部まで延在している。以下では、スタンダードセル１０の実配線のうち入力端子Ｉｎ_Ｒ及び出力端子Ｏｕｔ_Ｒを縮小化する工程について説明する。
【００２５】
入力端子Ｉｎ_Ｒは、セル内部においてゲート電極ＣＧ１及びＣＧ２を電気的に接続する。このため、入力端子Ｉｎ_Ｒのうちセル内部で必要最小限の部分は、図６の部分Ｉｎ−Ａである。この必要最小限の部分は、例えば、制御部２がデザインルールに基づき計算する。よって、制御部２は、入力端子Ｉｎ_ＲをコンタクトＣ_ＣＧ１及びＣ_ＣＧ２を接続可能な必要最小限の長さまで縮小化し、入力端子Ｉｎ_Ｒを最短化する。この縮小化された入力端子をＩｎ_Ｒ１と表記する。また、セル内部において部分Ｉｎ−Ａ以外の部分を部分Ｉｎ−Ｂ（ＰＭＯＳトランジスタ側）、部分Ｉｎ−Ｃ（ＮＭＯＳトランジスタ側）とする。
【００２６】
続いて、制御部２は、縮小化される前の入力端子Ｉｎ_Ｒのうち縮小化された入力端子Ｉｎ_Ｒ１以外の部分を仮想配線Ｉｎ_Ｖ１及びＩｎ_Ｖ２に変換する（ステップＳ１０２）。すなわち、縮小化される前の入力端子Ｉｎ_Ｒは、仮想化後には、仮想配線Ｉｎ_Ｖ１、入力端子Ｉｎ_Ｒ１及び仮想配線Ｉｎ_Ｖ２に変換される。図６に示すように、仮想配線Ｉｎ_Ｖ１は、入力端子Ｉｎ_Ｒのうち部分Ｉｎ−Ｂに対応し、仮想配線Ｉｎ_Ｖ２は、入力端子Ｉｎ_Ｒのうち部分Ｉｎ−Ｃに対応する。
【００２７】
また、スタンダードセル１０にＰＭＯＳトランジスタ１１のみ配置されている場合の入力端子Ｉｎ_Ｒの必要最小限の部分は、入力端子Ｉｎ_ＲとコンタクトＣ＿ＣＧ１とが重なる部分、及びこの重なる部分にデザインルールを考慮して入力端子Ｉｎ_Ｒを拡張した部分を加えたものである。ここで「デザインルールを考慮し」とは、最低限デザインルールを満たすように拡張する部分を設けるという意味であり、「デザインルールの限界値を拡張する部分とする」という意味ではない。よって、制御部２は、入力端子Ｉｎ_Ｒを、デザインルールを考慮して、必要最小限の長さまで縮小化し、入力端子Ｉｎ_Ｒを最短化する。続いて、制御部２は、縮小化される前の入力端子Ｉｎ_Ｒのうち縮小化された入力端子Ｉｎ_Ｒ１以外の部分を仮想配線Ｉｎ_Ｖ１及びＩｎ_Ｖ２に変換する（ステップＳ１０２）。この場合、仮想配線Ｉｎ_Ｖ１、Ｉｎ_Ｖ２は、スタンダードセルのＹ方向の端部から入力端子Ｉｎ_Ｒの部分に配置されることになる。
【００２８】
仮想配線は、最終的にマスクパターンとして使用されない（マスク処理されない）配線である。換言すると、仮想配線は、実際に配線として形成されない配線である。仮想配線は、自動配置配線ツール、及び配線幅や配線間隔などがプロセス上必要な基準を満たしているかどうかを検証するＤＲＣ（Design Rule Check）では実配線と同等に扱われる。これは、後の工程にて仮想配線が実配線に再度置き換えられる可能性があるからである。また、最終的に仮想配線となる配線は、マスク処理されないため、レイアウトパターンから抽出される回路接続情報と設計上の回路図とが一致しているがどうかを検証するＬＶＳ（Layout Versus Schematic）においては認識されないものである。
【００２９】
同様に、出力端子Ｏｕｔ_Ｒは、セル内部においてドレイン領域Ｄ１及びＤ２を電気的に接続する。このため、出力端子Ｏｕｔ_Ｒのうちセル内部で必要最小限の部分は、図６の部分Ｏｕｔ−Ａである。この必要最小限の部分は、例えば、制御部２がデザインルールに基づき計算する。制御部２は、出力端子Ｏｕｔ_ＲをコンタクトＣ_Ｄ１及びＣ_Ｄ２を接続可能な必要最小限の長さまで縮小化し、出力端子Ｏｕｔ_Ｒを最短化する。この縮小化された出力端子をＯｕｔ_Ｒ１と表記する。また、セル内部において部分Ｉｎ−Ａ以外の部分を部分Ｏｕｔ−Ｂ（ＰＭＯＳトランジスタ側）、部分Ｏｕｔ−Ｃ（ＮＭＯＳトランジスタ側）とする。
【００３０】
さらに、制御部２は、縮小化される前の出力端子Ｏｕｔ_Ｒのうち縮小化された出力端子Ｏｕｔ_Ｒ１以外の部分を仮想配線Ｏｕｔ_Ｖ１及びＯｕｔ_Ｖ２に変換する。すなわち、縮小化される前の出力端子Ｏｕｔ_Ｒは、仮想化後には、仮想配線Ｏｕｔ_Ｖ１、出力端子Ｏｕｔ_Ｒ１及び仮想配線Ｏｕｔ_Ｖ２に変換される。図６に示すように、仮想配線Ｏｕｔ_Ｖ１は、出力端子Ｏｕｔ_Ｒのうち部分Ｏｕｔ−Ｂに対応し、仮想配線Ｏｕｔ_Ｖ２は、出力端子Ｏｕｔ_Ｒのうち部分Ｏｕｔ−Ｃに対応する。
【００３１】
また、スタンダードセル１０にＰＭＯＳトランジスタ１１のみ配置されている場合の出力端子Ｏｕｔ_Ｒの必要最小限の部分は、出力端子Ｏｕｔ_ＲとコンタクトＣ＿Ｄ１〜ＣＤ＿２までの間の部分、及び出力端子Ｏｕｔ_ＲとコンタクトＣ＿Ｄ１〜ＣＤ＿２とが重なる部分にデザインルールを考慮して出力端子Ｏｕｔ_Ｒを拡張した部分を加えたものである。よって、制御部２は、出力端子Ｏｕｔ_Ｒを、デザインルールを考慮して、必要最小限の長さまで縮小化し、出力端子Ｏｕｔ_Ｒを最短化する。続いて、制御部２は、縮小化される前の出力端子Ｏｕｔ_Ｒのうち縮小化された出力端子Ｏｕｔ_Ｒ１以外の部分を仮想配線Ｏｕｔ_Ｖ１及びＯｕｔ_Ｖ２に変換する（ステップＳ１０２）。この場合、仮想配線Ｏｕｔ_Ｖ１、Ｏｕｔ_Ｖ２は、スタンダードセルのＹ方向の端部から出力端子Ｏｕｔ_Ｒの部分に配置されることになる。
【００３２】
続いて、制御部２は、例えば、自動配置配線ツールを用いて、スタンダードセル１０の実配線（入力端子及び出力端子）に接続される上層配線を配置する（ステップＳ１０３）。上層配線は、スタンダードセル１０と周辺回路との位置関係及び回路情報を考慮して、最適な位置に自動配置される。図７は、上層配線の配置処理を説明するレイアウト図である。また、設計者が入力部４のキーボード及びマウスを用いて上層配線及びコンタクトを配置することも可能である。なお、必要に応じて、ステップＳ１００又はステップＳ１０３の後にスタンダードセルを展開することができる。スタンダードセルを展開する場合としては、例えば、隣接する回路素子とのＤＲＣを満たさない場合を回避するため、または、上層配線のレイアウトの都合上などである。
【００３３】
入力端子Ｉｎ_Ｒには、Ｘ方向に延在する上層配線Ｌ_Ｉｎが接続される。上層配線Ｌ_Ｉｎは、入力端子Ｉｎ_Ｒが含まれる第１レベル配線層の上方の第２レベル配線層に含まれる。例えば、上層配線Ｌ_Ｉｎは、仮想配線Ｉｎ_Ｖ１の上方に配置される。上層配線Ｌ_Ｉｎ及び仮想配線Ｉｎ_Ｖ１間には、コンタクトＣ_Ｉｎが配置される。すなわち、上層配線Ｌ_Ｉｎの自動配置配線処理は、仮想配線Ｉｎ_Ｖ１に対して行われる。この状態では、上層配線Ｌ_Ｉｎは、入力端子Ｉｎ_Ｒ１に接続されていない。
【００３４】
出力端子Ｏｕｔ_Ｒには、Ｘ方向に延在する上層配線Ｌ_Ｏｕｔが接続される。上層配線Ｌ_Ｏｕｔは、出力端子Ｏｕｔ_Ｒが含まれる第１レベル配線層の上方の第２レベル配線層に含まれる。例えば、上層配線Ｌ_Ｏｕｔは、仮想配線Ｏｕｔ_Ｖ１の上方に配置される。上層配線Ｌ_Ｏｕｔ及び仮想配線Ｏｕｔ_Ｖ１間には、コンタクトＣ_Ｏｕｔが配置される。すなわち、上層配線Ｌ_Ｏｕｔの自動配置配線処理は、仮想配線Ｏｕｔ_Ｖ１に対して行われる。この状態では、上層配線Ｌ_Ｏｕｔは、出力端子Ｏｕｔ_Ｒ１に接続されていない。
【００３５】
続いて、制御部２は、仮想配線を部分的に実配線に変換し、スタンダードセル１０の実配線（入力端子及び出力端子）と上層配線とを接続する（ステップＳ１０４）。図８は、仮想配線を部分的に実配線に変換する処理を説明するレイアウト図である。図９は、図８のＡ−Ａ´線に沿ったスタンダードセル１０の断面図である。
【００３６】
制御部２は、仮想配線Ｉｎ_Ｖ１のうち入力端子Ｉｎ_Ｒ１とコンタクトＣ_Ｉｎとを接続可能な必要最小限の部分Ｉｎ−Ｄを算出する。続いて、制御部２は、仮想配線Ｉｎ_Ｖ１のうち部分Ｉｎ−Ｄを実配線Ｉｎ_Ｒ２に変換する。これにより、入力端子Ｉｎ_Ｒ１は、上層配線Ｌ_Ｉｎと接続される。この時、入力端子Ｉｎ_Ｒ１及び実配線Ｉｎ_Ｒ２は、コンタクトＣ_Ｉｎ、Ｃ_ＣＧ１及びＣ_ＣＧ２を互いに接続するのに必要な最小の長さまで縮小化される。
【００３７】
同様に、制御部２は、仮想配線Ｏｕｔ_Ｖ１のうち出力端子Ｏｕｔ_Ｒ１とコンタクトＣ_Ｏｕｔとを接続可能な必要最小限の部分Ｏｕｔ−Ｄを算出する。続いて、制御部２は、仮想配線Ｏｕｔ_Ｖ１のうち部分Ｏｕｔ−Ｄを実配線Ｏｕｔ_Ｒ２に変換する。これにより、出力端子Ｏｕｔ_Ｒ１は、上層配線Ｌ_Ｏｕｔと接続される。この時、出力端子Ｏｕｔ_Ｒ１及び実配線Ｏｕｔ_Ｒ２は、コンタクトＣ_Ｏｕｔ、Ｃ_Ｄ１及びＣ_Ｄ２を接続するのに必要な最小の長さまで縮小化される。
【００３８】
このようにして、半導体基板上に配置されたスタンダードセル１０において、冗長配線を生成することなく、自動配置された上部配線Ｌ_Ｉｎと入力端子Ｉｎ_Ｒとを接続することが可能となる。同様に、冗長配線を生成することなく、自動配置された上部配線Ｌ_Ｏｕｔと出力端子Ｏｕｔ_Ｒとを接続することが可能となる。
【００３９】
その後、スタンダードセル内の入出力端子の縮小化を行う手順１と、入出力端子に上層配線を結線する手順２とをレイアウト階層を組み上げながら実施していく。これにより、必要最小限の配線を足し込んでいくことで、半導体装置内の全てのスタンダードセルの入出力端子において、冗長配線を低減することができる。
【００４０】
なお、本実施形態の手順１及び手順２を実施したレイアウトにおいて、仮想配線を実配線に変換すると、本実施形態を実施しない場合と同じマスク形状となる。これを利用し、別の回路ブロックと共通で使用しているスタンダードセルがある場合でも、特定の回路ブロックのみ本実施形態を適用しないことが可能となる。例えば、レイアウトの修正が想定される回路ブロックについて、その回路ブロック上で仮想配線を実配線に変換することで、第２レベル配線層での結線の自由度を保障することができる。
【００４１】
［３］  比較例
図１０は、比較例に係るスタンダードセルのレイアウト図である。比較例では、本実施形態のような実配線の縮小化工程、及び実配線の仮想化工程を行っていない。
【００４２】
まず、半導体基板上にスタンダードセルを配置する。レイアウト設計時に結線の自由度を上げるために、入力端子Ｉｎ_Ｒ及び出力端子Ｏｕｔ_Ｒはそれぞれ、スタンダードセルの枠の端部まで延在している。
【００４３】
続いて、入力端子Ｉｎ_Ｒ上にコンタクトＣ_Ｉｎを配置し、さらに、コンタクトＣ_Ｉｎ上に上層配線Ｌ_Ｉｎを配置する。これにより、上層配線Ｌ_Ｉｎが入力端子Ｉｎ_Ｒに接続される。同様に、出力端子Ｏｕｔ_Ｒ上にコンタクトＣ_Ｏｕｔを配置し、さらに、コンタクトＣ_Ｏｕｔ上に上層配線Ｌ_Ｏｕｔを配置する。これにより、上層配線Ｌ_Ｏｕｔが出力端子Ｏｕｔ_Ｒに接続される。
【００４４】
ここで、入力端子Ｉｎ_Ｒに関して、コンタクトＣ_ＩｎからコンタクトＣ_ＣＧ２までの部分Ｉｎ−Ａ以外の部分Ｉｎ−Ｂ及びＩｎ−Ｃは不要な部分であり、冗長配線となる。同様に、出力端子Ｏｕｔ_Ｒに関して、コンタクトＣ_ＯｕｔからコンタクトＣ_Ｄ２までの部分Ｏｕｔ−Ａ以外の部分Ｏｕｔ−Ｂ及びＯｕｔ−Ｃは不要な部分であり、冗長配線となる。従って、比較例では、冗長配線に起因する配線抵抗や配線容量の増加により、信号の遅延が発生したり、スタンダードセルに含まれるＭＯＳトランジスタの特性が劣化してしまう可能性がある。
【００４５】
比較例において冗長配線を低減するには、上層配線やコンタクトを配置する領域を特定の位置に制限したり、冗長配線を削除するためにスタンダードセルを展開する必要がある。スタンダードセルを展開せず、スタンダードセルのレイアウト（上層配線やコンタクト配置）を変更すると、表示部５に配置した全てのスタンダードセルのレイアウトが変更されてしまう。ここで、複数のスタンダードセルの上層配線はそれぞれ異なるレイアウトを有する場合が多い。すなわち、スタンダードセルを展開せずにスタンダードセルのレイアウトを変更すると、複数のスタンダードセルのうちいくつかは意図せず回路素子の接続が変更されてしまう可能性が高い。一方、スタンダードセルに接続される上層配線やコンタクトの配置を制限すると、上層配線に関して結線の自由度が低下するため配線効率が低下する。また、多数の回路ブロックで使用されているスタンダードセルを展開して冗長配線を削除することは困難である。例えば、スタンダードセルが１０００個配置された場合、スタンダードセルを展開して冗長配線を削除すると、１０００カ所以上のレイアウト修正を設計者の手で行う必要がある。
【００４６】
これに対して、本実施形態では、実配線の縮小化工程、及び実配線の仮想化工程を導入することで、冗長配線をより低減することができる。また、スタンダードセルを回路ブロックごとに展開して設計者により修正する必要もない。このため、比較例のような問題が生じることがない。
【００４７】
［４］  効果
以上詳述したように本実施形態では、スタンダードセルは、繰り返し配置される回路単位であり、かつ第１及び第２の内部素子と、上記第１及び第２の内部素子にそれぞれ接続された第１及び第２のコンタクトと、上記第１及び第２のコンタクトを接続する接続端子（入力端子及び出力端子を含む）とを有する。そして、入力端子を上記第１及び第２のコンタクトを接続するのに必要な長さに縮小化する工程と、縮小化される前の入力端子のうち縮小化された後の入力端子以外の部分を、マスク処理されない仮想配線に変換する工程と、入力端子と上層配線とを接続するために上記仮想配線を部分的に実配線に変換する工程とを実施するようにしている。出力端子についても同様である。
【００４８】
従って本実施形態によれば、スタンダードセル内の入力端子及び出力端子に関して冗長配線を低減することができるので、配線効率を向上させることができる。結果として、冗長配線に起因する配線抵抗や配線容量の増加により、信号の遅延が発生したり、スタンダードセルに含まれるＭＯＳトランジスタの特性が劣化したりするのを防ぐことができる。
【００４９】
また、本実施形態の設計方法は、既存のレイアウトに対して、特に修正を行うことなく実施することが可能であるため、既存のレイアウト資源の有効活用を図ることができる。
【００５０】
なお、本実施形態では、ＭＯＳＦＥＴで構成された内部素子を有するスタンダードセルを例に挙げて説明したが、バイポーラトランジスタで構成されたスタンダードセルや、ガリウム・ヒ素ＦＥＴで構成されたスタンダードセルを用いてもよい。また、ゲートアレイを構成するスタンダードセルに応用してもよい。また、スタンダードセルは設計者が自分で作成し、記憶部３に保存することもできる。
【００５１】
［５］  変形例
図１１に示すように、設計者がスタンダードセルを配置し（ステップＳ１００）、設計者が上層配線を配置する（ステップＳ１０３）。その後、制御部２により、スタンダードセル１０の実配線を縮小化する（ステップＳ１０１）、実配線を部分的に仮想配線に変換する（ステップＳ１０２）、スタンダードセル１０の実配線（入力端子及び出力端子）と上層配線とを接続する（ステップＳ１０４）を行ってもよい。その結果、制御部２が一括してレイアウトを変換することができ、処理効率が向上する。
【００５２】
本実施形態ではスタンダードセルを例に挙げて説明したが、スタンダードセルに適用する場合に限られない。例えば、スタンダードセルを階層構造的に組み合わせたシステムセルにも適用できる。システムセルの一例として次のような構成が考えられる。第１スタンダードセルと第２スタンダードセルを有する第１リーフセルを第１階層とし、第１リーフセルと第３スタンダードセルを第２階層として有するシステムセルである。この場合、第１リーフセルに本実施形態を適用することができるし、システムセルに本実施形態を適用することもできる。さらには、リーフセル中の第１スタンダードセルのみに適用することもできる。また、リーフセルの第１スタンダードセルと第２スタンダードセルを展開して第４スタンダードセルとし、第４スタンダードセルに本実施形態を適用することもできる。
【００５３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５４】
１…設計装置、２…制御部、３…記憶部、４…入力部、５…表示部、６…ＣＰＵ、７…メモリ、８…回路情報、９…レイアウト情報、１０…スタンダードセル、１１…ＰＭＯＳトランジスタ、１２…ＮＭＯＳトランジスタ、１３…半導体基板、１４…素子分離絶縁層、１５…スタンダードセル枠。
【図１】
2013242755.tif 000003
【図２】
2013242755.tif 000004
【図３】
2013242755.tif 000005
【図４】
2013242755.tif 000006
【図５】
2013242755.tif 000007
【図６】
2013242755.tif 000008
【図７】
2013242755.tif 000009
【図８】
2013242755.tif 000010
【図９】
2013242755.tif 000011
【図１０】
2013242755.tif 000012
【図１１】
2013242755.tif 000013