(57)【要約】      （修正有）【課題】レイアウトの素子使用効率が良く、所望の特性を満足する新たな半導体集積回路のレイアウト期間を短縮する。【解決手段】レイアウト済みの半導体集積回路をマスターレイアウトとして、配線層のみの変更で新たな半導体集積回路のレイアウト設計を行う。マスターレイアウトとするレイアウト済みの半導体集積回路は、新たな半導体集積回路の回路図で使用する素子が全て割り当て可能であるだけでなく、未使用素子が少なく素子使用効率の良いものを絞り込みデータベース検索を行う。さらに、新たな半導体集積回路の回路図の素子がマスターレイアウトのどの素子に割り当てられたのかを示す素子対応表により、レイアウトエディタ上で配線変更が必要な箇所を強調表示してガイドする機能を備える。【選択図】図３
2019021123.tif 000002
【特許請求の範囲】
【請求項１】
マスタースライス方式を用いた半導体集積回路のレイアウト設計方法であって、
レイアウト済みの半導体集積回路の製品データベースを作成する工程と、
新たな半導体集積回路の回路図情報を作成する工程と、
レイアウト済みの半導体集積回路の製品データベースと前記新たな半導体集積回路の回路図情報を比較して素子割り当てを行う工程と、
前記素子割り当ての結果から、マスターレイアウトとする製品データベースを決定し、配線変更する箇所をレイアウトエディタ上で強調表示してガイドする工程と、
を有することを特徴とする半導体集積回路のレイアウト設計方法。
【請求項２】
前記素子割り当てを行う工程は、
プロセスが一致する製品データベースを絞り込む工程と、
前記製品データベースと前記新たな半導体集積回路の回路図情報とを比較するデータベース検索を行う工程と、
前記データベース検索にて一致した素子の割り当て情報を記載した素子対応表を作成する工程と、
を有することを特徴とする請求項１に記載の半導体集積回路のレイアウト設計方法。
【請求項３】
前記データベース検索を行う工程は、
前記新たな半導体集積回路のネットリストの機能ブロックが割り当て可能か判断する工程と、
前記新たな半導体集積回路のネットリストの素子が割り当て可能か判断する工程と、
条件変更により前記新たな半導体集積回路のネットリストの素子が割り当て可能か判断する工程と、  
マニュアル作業により前記新たな半導体集積回路のネットリストの素子が割り当て可能か判断する工程と、
回路変更が可能かを判断する工程と、
を有することを特徴とする請求項２に記載の半導体集積回路のレイアウト設計方法。
【請求項４】
前記素子割り当てを行う工程は、
レイアウト済みの半導体集積回路のレイアウトデータと新たな半導体集積回路の回路図情報と配線変更を行った新たな半導体集積回路のレイアウトデータの関係を機械学習し、レイアウト済みの半導体集積回路の製品データベースに重みづけを行い、その後の新たな半導体集積回路のレイアウト設計時に素子割り当てが可能か判断する工程を有することを特徴とする請求項１に記載の半導体集積回路のレイアウト設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配線層をカスタマイズするマスタースライス方式を用いた半導体集積回路の設計方法に関し、既存のレイアウトデータをもとに新規に開発する新たな半導体集積回路をレイアウトする方法に関する。
【背景技術】
【０００２】
近年、アナログ半導体集積回路の分野において開発期間の短縮が強く求められている。レイアウト設計期間短縮のための方法として、マスタースライス方式がある。
【０００３】
マスタースライス方式とは、図１１に示すように、半導体基板１０上にパッド１１、容量素子１２、抵抗素子１３、ＰＮＰトランジスタ１４、ＮＰＮトランジスタ１５等の素子をそれぞれ所定の数だけ予め準備して、新たに開発する半導体集積回路の機能に合わせて必要な半導体素子間の配線のみを行うレイアウト手法である。（例えば特許文献１，２）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３２１４３３２号公報
【特許文献２】特許第３１７１４３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、マスタースライス方式はレイアウト期間の短縮には有効である。しかし特定の回路を想定しておらず、予め素子数に余裕を持たせて形成し、配線容易性を優先させるため配置も余裕を持たせている。そのため、回路によっては素子使用効率が悪く、カスタムＩＣと比べて集積度が低くなりチップサイズが拡大するというデメリットがある。チップサイズの拡大は半導体集積回路の製造コストが増大するという問題があるだけでなく、レイアウトによる特性依存性が大きいアナログ回路では、配線の寄生抵抗や寄生容量などにより、所望の特性が得られないといった問題が発生する可能性がある。
【０００６】
本発明は上記問題点を解消し、レイアウトの素子使用効率が良く、所望の特性を持つ半導体集積回路のレイアウト設計期間を短縮することが可能なマスタースライス方式のレイアウト方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１にかかる発明は、マスタースライス方式を用いた半導体集積回路のレイアウト設計方法であって、レイアウト済みの半導体集積回路の製品データベースを作成する工程と、新たな半導体集積回路の回路図情報を作成する工程と、レイアウト済みの半導体集積回路の製品データベースと前記新たな半導体集積回路の回路図情報を比較して素子割り当てを行う工程と、前記素子割り当ての結果から、マスターレイアウトとする製品データベースを決定し、配線変更する箇所をレイアウトエディタ上で強調表示してガイドする工程とを有することを特徴とする。
【０００８】
請求項２にかかる発明は、前記素子割り当てを行う工程は、プロセスが一致する製品データベースを絞り込む工程と、前記製品データベースと前記新たな半導体集積回路の回路図情報とを比較するデータベース検索を行う工程と、前記データベース検索にて一致した素子の割り当て情報を記載した素子対応表を作成する工程とを有することを特徴とする。
【０００９】
請求項３にかかる発明は、前記データベース検索を行う工程は、前記新たな半導体集積回路のネットリストの機能ブロックが割り当て可能か判断する工程と、前記新たな半導体集積回路のネットリストの素子が割り当て可能か判断する工程と、条件変更により前記新たな半導体集積回路のネットリストの素子が割り当て可能か判断する工程と、マニュアル作業により前記新たな半導体集積回路のネットリストの素子が割り当て可能か判断する工程と、回路変更が可能かを判断する工程とを有することを特徴とする。
【００１０】
請求項４にかかる発明は、前記素子割り当てを行う工程は、レイアウト済みの半導体集積回路のレイアウトデータと新たな半導体集積回路の回路図情報と配線変更を行った新たな半導体集積回路のレイアウトデータの関係を機械学習し、レイアウト済みの半導体集積回路の製品データベースに重みづけを行い、その後の新たな半導体集積回路のレイアウト設計時に素子割り当てが可能か判断する工程を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、レイアウト済みの半導体集積回路をマスターレイアウトとし、配線層の変更により新たな半導体集積回路をレイアウトすることで、素子使用効率の良いレイアウトとなり製造コストが抑えられる。所望の回路特性を得られることが確認された回路構成とすることができるため、レイアウトによる特性依存性が大きいアナログ回路の設計に好適である。また、レイアウト設計の際には配線の変更を行う部分についてガイドが示されるため、レイアウト設計期間を短縮することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明のレイアウト装置のシステム構成図である。
【図２】階層情報の説明図である。
【図３】本発明のレイアウト設計のフロー図である。
【図４】本発明の製品データベースの絞り込みを示す図である。
【図５】本発明のデータベース検索のフロー図である。
【図６】本発明の実施例を示す図で、レイアウト済みの半導体集積回路の図である。
【図７】本発明の実施例を示す図で、新たな半導体集積回路の回路図とネットリストである。
【図８】本発明の実施例を示す図で、素子割り当ての段階の説明図である。
【図９】本発明の実施例を示す図で、新たな半導体集積回路をマスターレイアウトに割り付けた例である。
【図１０】本発明の実施例を示す図で、新たな半導体集積回路の回路図とレイアウトの関連を示す図である。
【図１１】従来例であるマスタースライスレイアウトの例である。
【発明を実施するための形態】
【００１３】
以下、本発明のレイアウト方法について、図面を参照しながら説明する。図１は本発明のレイアウト装置のシステム構成図であり、レイアウト済みの半導体集積回路の製品データベース（以下、「製品ＤＢ」という）を作成し（ステップ１）、新たな半導体集積回路の回路図と比較し素子割り当てを行って、その比較結果を新たな半導体集積回路の配線レイアウトに反映してレイアウト設計を行うことができる装置を示している。
【００１４】
レイアウト済みの半導体集積回路の製品ＤＢ作成（ステップ１）では、回路図のネットリスト情報から端子名、インスタンス名、階層情報、機能ブロック名、素子モデル名、各種パラメータの情報を収集し、レイアウトデータから機能ブロックおよび素子や各端子の座標の情報を収集し、それらの情報にプロセス（デザインルール）とパッケージと製造コスト、各端子の最大定格の情報の他、使用済みフラグの情報も収集する。階層情報とは、図２に示すように、素子レベルを階層１とし、機能セルを階層２、機能ブロックを階層３というようにレベル分けを示す情報であり、素子割り当ての際にユーザーが予め検索する階層のレベルを指定することが可能である。使用済みフラグは、製品ＤＢと新たな半導体集積回路の回路図情報を比較するデータベース検索（ステップ４）で用いる情報で、初期値はＦＡＬＳＥ（以下、「Ｆ」という）と設定する。レイアウトデータの素子や各端子の座標データは、市販のソフトウェアで抽出可能である。また、この製品ＤＢは一般的な関係データベース管理システム（ＲＤＢＭＳ）などに構築可能である。なお、機能セルとしてレイアウトされたＤＦＦなどロジックセルの一部は、トランジスタ単体として新たな半導体集積回路への再利用に向かない。このようなセルはトランジスタレベルの記述はせず、機能セルを一単位として扱う。
【００１５】
図３は本発明のレイアウト設計のフロー図である。まず、新たな半導体集積回路の回路図情報を作成する（ステップ２）。次いでプロセスやパッケージ情報、各端子の最大定格といった新たな半導体集積回路の回路図情報データをもとにマスターレイアウトの候補となる製品ＤＢを絞り込み、新たな半導体集積回路の回路図情報と比較する優先順位を決める（ステップ３）。その後、新たな半導体集積回路の回路図に使用されている全ての機能ブロックや素子が製品ＤＢに存在するかデータベース検索を行う（ステップ４）。新たな半導体集積回路の回路図の全ての素子が割り当て可能な製品ＤＢが見つかった場合には、素子の一致情報を記載した素子対応表を作成する（ステップ５）。続いて素子対応表をレイアウトエディタに読み込み、そのガイドに従って配線データの変更を行い（ステップ６）、ＤＲＣ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  Ｃｈｅｃｋ）／ＬＶＳ（Ｌａｙｏｕｔ  Ｖｅｒｓｕｓ  Ｓｃｈｅｍａｔｉｃ）といった各種検証を行い（ステップ７）、レイアウト設計を完了する。なお、ステップ３で絞り込んだ全ての製品ＤＢで素子割り当てができなかった場合は、配線層の変更によるレイアウト設計は不可能と判断する。
【００１６】
以下、各ステップについて詳細に説明する。まず、新たな半導体集積回路の回路図情報作成（ステップ２）では、回路図エディタから得られるネットリストに含まれる端子名、インスタンス名、階層情報、機能ブロック名、素子モデル名、各種パラメータ、プロセス（デザインルール）といった情報の他に、製品ＤＢの絞り込み（ステップ３）の際に必要なデータとなるパッケージや各端子の最大定格の情報も加えた一覧を作成する。
【００１７】
製品ＤＢの絞り込み（ステップ３）では、図４に示すように、新たな半導体集積回路のネットリストの他にプロセス（デザインルール）やパッケージ、各端子の最大定格といった回路図情報のデータをもとに、マスターレイアウトの候補となる製品ＤＢを絞り込み、新たな半導体集積回路の回路図情報と比較する優先順位を決定する。プロセス（デザインルール）の情報のみでは合致する製品ＤＢが多くある場合も、パッケージや端子の最大定格の情報を加えて比較することにより、より類似した製品ＤＢを選択することができる。また、配線データの変更が容易そうな製品ＤＢが予めわかっている場合は、優先的にデータベース検索を行うよう指定することも可能である。
【００１８】
データベース検索（ステップ４）では、図５に示すように、まず新たな半導体集積回路の上位の階層である機能ブロックが全て製品ＤＢ内に存在し、割り当て可能かどうかを判断する（ステップ４１）。一致する機能ブロックが見つかった場合、製品ＤＢ内の使用済みフラグをＦからＴＲＵＥ（以下、「Ｔ」という）に設定し、一致一覧に記述する。使用済みフラグがＴに設定された機能ブロックは、それ以降の検索対象から除外される。新たな半導体集積回路ネットリスト内にマスターレイアウトと一致する機能ブロックが予め判っている場合は、その機能ブロックを検索対象から除外するように、事前に使用済みフラグをＴとしておくことも可能である。あるいは、回路図の変更箇所ではなく、且つＬＶＳで一致している部分も検索対象から除外するように、事前に使用済みフラグをＴとしておくことも可能である。全ての検索が完了した後、使用済みフラグがＦの未使用素子一覧を作成する。なお、機能ブロックとして割り当て済みであっても、その機能ブロック内に未使用素子がある場合には、未使用素子一覧に加えられ、ステップ４２の素子レベルでの検索の際には機能ブロック間で素子を融通して割り当てをすることが可能となる。この段階で全ての機能ブロックが一致した場合には、素子対応表の作成（ステップ５）に進む。製品ＤＢに一致する機能ブロックが見つからなかった場合は、その機能ブロックおよびインスタンスを不一致一覧に記述する。
【００１９】
ステップ４１のデータベース検索後に不一致一覧に素子が存在する場合は、素子レベルでの検索を行う（ステップ４２）。新たな半導体集積回路の回路図情報の一覧にある素子モデル名、パラメータの全てが一致する素子が製品ＤＢ内に存在し、割り当て可能かどうかを判断する。一致する素子が見つかった場合、製品ＤＢ内の使用済みフラグをＦからＴに設定し、一致一覧に記述する。使用済みフラグがＴに設定された素子は、それ以降の検索対象から除外される。新たな半導体集積回路ネットリスト内にマスターレイアウトと一致する素子が予め判っている場合は、その素子を検索対象から除外するよう事前にマニュアル作業により使用済みフラグをＴとしておいてもよい。全ての検索が完了した後、使用済みフラグがＦの未使用素子一覧を作成する。全ての機能ブロックや素子が一致した場合には、続いて素子対応表の作成（ステップ５）に進む。製品ＤＢに一致する素子が見つからなかった場合は、そのインスタンスを不一致一覧に記述する。
【００２０】
ステップ４１およびステップ４２のデータベース検索後に不一致一覧に素子が存在する場合は、条件変更すれば割り当て可能か判断する（ステップ４３）。条件変更とは、素子パラメータの合わせこみを指す。ＭＯＳトランジスタのゲート幅はゲート幅（Ｗ）と個数（Ｍ）の積であるＷ×Ｍで表現され、回路図ではＷ＝１０ｕｍのトランジスタ１個（Ｍ＝１）と表記されているものをレイアウトではＷ＝５ｕｍのトランジスタ２個（Ｍ＝２）使用するといったように、ＷとＭが異なる場合がある。このように、ＷとＭとを単純比較するのみでは、一致しないインスタンスが増えてしまう。抵抗や容量も同様に、回路図で１個の抵抗値、容量値で表現されているものをレイアウトで複数個の抵抗、容量で実現できる場合にも単純比較では一致しない。そこで、ＭＯＳトランジスタは、図６（ｄ）の製品ＤＢの記述例に示すように、同一階層で同一ゲート長（Ｌ）のものはグループプロパティを付与して予めグルーピングしておく。抵抗については、単位抵抗セルを複数個組み合わせることで実現可能な抵抗テーブルを予め作成しておく。例えば、単位抵抗セルの抵抗値が１０ｋΩの場合、２本の並列で５ｋΩ、直列で２０ｋΩ、３本の並列で３．３ｋΩ、直列で３０ｋΩ、直並列で１５ｋΩが実現可能である。容量値については複数個の容量で回路図の容量となるよう演算して必要数を求める。
【００２１】
ステップ４３の条件変更で割り当てが不可能で、不一致一覧に素子が存在する場合は、マニュアル作業で割り当てが可能かどうか判断する（ステップ４４）。マニュアル作業での割り当てとは、例えばステップ４１の機能ブロックの検索で、回路図とレイアウトが一致しているもののレイアウト側に未使用の素子が含まれている場合に、この未使用の素子を使用することで、別の機能ブロックの素子が割り当て可能となる場合などである。この場合は一致一覧への記述、不一致一覧からの削除、使用フラグの設定はユーザーがマニュアルで変更する。
【００２２】
マニュアル作業での割り当てを行っても不一致一覧に素子が存在する場合は、回路設計に戻り、回路変更が可能かどうか不足素子の扱いを判断する（ステップ４５）。不足解消の見込みがある場合には、ネットリストを変更し回路図情報を更新して、再度ステップ４１の機能ブロックのデータベース検索から順次処理を行い、マスターレイアウトとする製品ＤＢを決定する。
【００２３】
選択した全ての製品ＤＢに対してデータベース検索を行って、新たな半導体集積回路の回路図の全ての素子が一致した場合には、一致一覧をもとに素子の割り当て情報を記載した素子対応表を作成する（ステップ５）。なお、新たな半導体集積回路の回路図情報と一致する製品ＤＢが複数存在した場合は、未使用素子が少ないもの、あるいは製造コストが低いものを優先してマスターレイアウトとする製品ＤＢを決定する。
【００２４】
マスターレイアウトとする製品ＤＢが決定すると、素子対応表と製品ＤＢの情報から各素子の位置座標を取得し、回路図エディタで選択した回路素子がレイアウトエディタ上で強調表示（ハイライト）され、そのガイドに従ってマニュアル作業で配線データの変更を行う（ステップ６）。なお、回路図の１つの素子に対して複数の未使用素子が該当する場合は、製品のアナログ特性に最適な素子をマニュアル作業で選択する。さらに、配線データの変更を行う際、未使用素子一覧と製品ＤＢの情報から未使用素子の位置座標を取得し、レイアウトエディタ上で確認することも可能であり、素子対応表に割り当てられた素子以外に製品特性に適した素子がないかどうかを確認して選択することもできる。
【００２５】
配線データを変更した後、ＤＲＣ／ＬＶＳといった各種検証を行い（ステップ７）、新たな半導体集積回路のレイアウト設計が終了する。
【００２６】
また、レイアウト済みの半導体集積回路のレイアウトデータと新たな半導体集積回路の回路図情報および配線変更を行った新たな半導体集積回路のレイアウトデータを機械学習し、レイアウト済みの半導体集積回路の製品ＤＢに重みづけを行う。その後の新たな半導体集積回路のレイアウト設計時に、この重みづけに基づいてレイアウト済みの半導体集積回路の製品ＤＢの絞り込みが可能となるようにしてもよい。
【実施例】
【００２７】
次に、本発明の実施例を用いて詳細に説明する。図６乃至図１０は本発明の実施例である。図６（ａ）はレイアウト済みの半導体集積回路の回路図、図６（ｂ）はレイアウト済みの半導体集積回路のネットリスト、図６（ｃ）はレイアウト済みの半導体集積回路の配線層を除いたレイアウト図面（マスターレイアウト）である。ここでは、説明のため、レイアウト図面にマスターレイアウトでのインスタンス名と、レイアウト済みの半導体集積回路の回路図インスタンス名を併記してある。図６（ｄ）は、レイアウト済みの半導体集積回路のネットリスト情報と、レイアウトデータから抽出した素子や各端子の座標と、プロセス（デザインルール）、パッケージ、製造コスト、各端子の最大定格の情報を加えた製品ＤＢの記述例である。
【００２８】
図７は新たな半導体集積回路の回路図とネットリストで、図６（ａ）の回路図からトランジスタサイズが変更になった回路である。これを図６（ｄ）の製品ＤＢの素子に割り当てる流れを説明する。図８（ａ）は製品ＤＢの記述で、使用済みフラグが全てＦとなった初期状態である。ステップ４２のデータベース検索で、新たな半導体集積回路の回路図情報と製品ＤＢとで素子タイプやＬおよびＷなどのパラメータが一致する素子が見つかり、使用済みフラグがＴとなった状態が図８（ｂ）である。次に、ステップ４３の条件変更を行い、素子パラメータＬが等しくＷをＮ倍してパラメータが一致する素子が見つかり使用済みフラグがＴに設定された状態が図８（ｃ）である。この時、Ｔに設定される素子はＮ個である。
【００２９】
図７の新たな半導体集積回路を図６（ｃ）のマスターレイアウトに割り当てた際のレイアウト図面が図９（ａ）、素子一覧表が図９（ｂ）である。ここでは、説明のため、レイアウト図面にマスターレイアウトでのインスタンス名と、割り当てられた新たな半導体集積回路の回路図インスタンス名を併記してある。次に、素子割り当ての結果得られた素子一覧表を回路図エディタおよびレイアウトエディタに読み込み、配線データの変更を行う。図１０は割り当てが可能と判明した新たな半導体集積回路の回路図とマスターレイアウトの関連を確認する例で、図１０（ａ）は新たな半導体集積回路の回路図であり、回路図エディタ上でＭＳ３を選択すると、図１０（ｂ）の素子一覧表にてＭＳ３を検索し、マスターレイアウトのインスタンス名Ｘ０／Ｍ２４およびＸ０／Ｍ２５に変換される。そして図１０（ｃ）のマスターレイアウトの製品ＤＢから位置情報を取得し、図１０（ｄ）のようにレイアウトエディタ上で該当する素子が強調表示（ハイライト）され、配線のガイドが示される。
【００３０】
以上のように、本発明によれば、レイアウト済みの半導体集積回路をマスターレイアウトとし、配線層の変更により新たな半導体集積回路をレイアウトすることで、素子使用効率の良いレイアウトとなり製造コストが抑えられ、且つレイアウトによる特性依存性が大きいアナログ回路において所望の特性を得ることができる。また、レイアウト設計の際には配線変更を行う部分についてガイドが示されるため、レイアウト設計期間を短縮することができる。
【符号の説明】
【００３１】
ＭＳ１、ＭＳ２、ＭＳ２’、ＭＳ３、ＭＳ３’：ＰＭＯＳトランジスタ
ＭＳ４、ＭＳ５：ＮＭＯＳトランジスタ
ＶＤＤ：電源端子
ＧＮＤ：接地端子
１：ＰＭＯＳトランジスタ
２：ＮＭＯＳトランジスタ
３：ゲート
４：ソース
５：ドレイン
６：電極
７：第１の配線
８：第２の配線
９：第３の配線
１０：半導体基板
１１：パッド
１２：容量素子
１３：抵抗素子
１４：ＰＮＰトランジスタ
１５：ＮＰＮトランジスタ
【図１】
2019021123.tif 000003
【図２】
2019021123.tif 000004
【図３】
2019021123.tif 000005
【図４】
2019021123.tif 000006
【図５】
2019021123.tif 000007
【図６】
2019021123.tif 000008
【図７】
2019021123.tif 000009
【図８】
2019021123.tif 000010
【図９】
2019021123.tif 000011
【図１０】
2019021123.tif 000012
【図１１】
2019021123.tif 000013