(57)【要約】【課題】効率的なレイアウト設計を行うことができるとともに、回路とレイアウト設計が同時に開発可能な半導体設計装置を提供する。【解決手段】半導体のメモリ回路やアナログ回路のレイアウト設計を手動による半自動で行う際に、機能毎にレイアウトを発生することで構成素子内部の配置及び結線を省略可能にし、また素子構成を分離可能にすることで構成素子内部の形状変更を容易にし、また素子の属性を変更することで設計の自由度を向上し、また素子にインスタンス追加を可能にすることで回路図に依存しない基板コンタクトなどの挿入を任意の箇所へ追加可能にし、また回路図が決まる前にレイアウト設計を開始し後でネット接続の一致を確認することで回路とレイアウトの同時設計を可能にすることで設計期間の短縮を可能にする。【選択図】図１
2005115802.tif 000002
【特許請求の範囲】
【請求項１】
入力手段から入力した情報でデータを処理するデータ処理手段と、回路図データを蓄積した回路図データベースと、レイアウトデータを蓄積したレイアウトデータベースと、前記データ処理手段で処理されたデータに対して前記回路図データベースを用いて回路編集を行う回路編集手段と、前記データ処理手段で処理されたデータに対して前記レイアウトデータベースを用いてレイアウト編集を行うレイアウト編集手段とを具備する半導体設計装置において、前記データ処理手段が入力したデータの中の回路データから機能毎にサブサーキットを認識するサブサーキット認識手段を備えた半導体設計装置。
【請求項２】
前記サブサーキットの素子構成を素子毎に分離する素子構成分離手段を備えた請求項１に記載の半導体設計装置。
【請求項３】
前記素子の属性を変更する素子属性指定手段を備えた請求項２に記載の半導体設計装置。
【請求項４】
前記素子にインスタンスの追加を行うインスタンス追加手段を備えた請求項２又は請求項３のいずれかに記載の半導体設計装置。
【請求項５】
前記入力手段から回路図のないレイアウト作成指示があって前記レイアウト編集手段にて新規のレイアウトの作成が行われると共に前記回路編集手段にて回路の作成が行われた場合に、仮のネットリスト名を生成する仮ネット名生成手段と、回路とレイアウトのネットリスト名の相関関係を判断する回路ネット名判断手段と、を備えた請求項１乃至請求項４のいずれかに記載の半導体設計装置。
【請求項６】
前記入力手段から回路とレイアウトのネットリスト名を一致させる指示があった場合に、回路とレイアウトのネットリスト名を一致させるネット名調整手段を備えた請求項１乃至請求項５のいずれかに記載の半導体設計装置。
【請求項７】
前記入力手段から回路とレイアウトの相違点を表示させる指示があった場合に、前記回路編集手段の回路図情報と前記レイアウト編集手段のレイアウト情報とから回路とレイアウトの接続状態を確認にてそれらにおける相違点を判断し、その相違点をハイライトさせる相違点判断手段を備えた請求項１乃至請求項６のいずれかに記載の半導体設計装置。
【請求項８】
前記入力手段から回路図の作成指示があって前記回路編集手段にて回路の作成が行われる際に、禁止入力を判断し、禁止入力の項目について前記回路編集手段での編集を禁止する禁止入力判断手段を備えた請求項１乃至請求項７のいずれかに記載の半導体設計装置。
【請求項９】
回路編集又はレイアウト編集時に、編集画面上に各種素子の機能を表したアイコン画面を表示し、当該画面中でユーザによって指定された素子に対応するレイアウトを発生し表示するアイコンリンク手段を備えた請求項１乃至請求項８のいずれかに記載の半導体設計装置。
【請求項１０】
前記データ処理手段から作成指示があった場合、前記回路図データベースと前記レイアウトデータベースそれぞれのデータをライブラリ化し、ライブラリ化した回路データは前記回路編集手段にて使用可能とし、ライブラリ化したレイアウトデータは前記レイアウト編集手段で使用可能とするライブラリ指定手段と、を備えた請求項１乃至請求項９のいずれかに記載の半導体設計装置。
【請求項１１】
前記入力手段からレイアウトの作成指示があって前記レイアウト編集手段にてグリッド設定無しでレイアウト作成が行われた後、前記入力手段からグリッド指定の指示があった場合、前記レイアウトデータベースのレイアウトデータのグリッド指定を行う設計グリッド修正手段を備えた請求項１乃至請求項１０のいずれかに記載の半導体設計装置。
【請求項１２】
回路では未確定の未確定部を、レイアウトではネットリストと関係のないポリゴンデータとして作成する機能未定箇所作成手段を備えた請求項１乃至請求項１１のいずれかに記載の半導体設計装置。
【請求項１３】
前記ポリゴンデータのセル化を行うセル化実施手段を備えた請求項１２に記載の半導体設計装置。
【請求項１４】
前記入力手段からレイアウトの作成指示があって前記レイアウト編集手段にてレイアウトの作成が行われた後、前記入力手段から回路とレイアウトを選択的に表示させる指示があった場合、選択的に回路とレイアウトの表示を混在させる相互表示手段を備えた請求項１乃至請求項１３のいずれかに記載の半導体設計装置。
【請求項１５】
前記入力手段から回路又はレイアウトでロックをかける指示があった場合、対応する回路とレイアウトに対し、前記回路図データベースと前記レイアウトデータベースの対象箇所にロックをかけるロック指定手段を備えた請求項１乃至請求項１４のいずれかに記載の半導体設計装置。
【請求項１６】
前記入力手段から回路又はレイアウトにコメントを入力する指示があった場合、対応する回路とレイアウトに対し、前記回路図データベースと前記レイアウトデータベースの対象箇所にコメントを入力するコメント入力手段を備えた請求項１乃至請求項１５のいずれかに記載の半導体設計装置。
【請求項１７】
配線層のレイアウトデータを蓄積したレイアウトデータベースと、前記入力手段からレイアウトの作成指示があって前記レイアウト編集手段にてレイアウトの作成が行われた後、前記入力手段から、使用する配線層を指定する指示があった場合、対応する配線層のレイアウトデータを前記レイアウトデータベースから選択して前記レイアウト編集手段に与える使用セル選択手段を備えた請求項１乃至請求項１６のいずれかに記載の半導体設計装置。
【請求項１８】
前記入力手段からレイアウトの作成指示があって、前記レイアウト編集手段にて、最初に定義されたプロセス条件でレイアウト作成が行われた後、前記入力手段からプロセス条件変更指示があった場合、前記レイアウトデータベースのレイアウトデータにプロセス条件の変更を行う設計プロセス変更手段を備えた請求項１乃至請求項１７のいずれかに記載の半導体設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体回路を設計する半導体設計装置に関する。
【背景技術】
【０００２】
従来、半導体のメモリ回路やアナログ回路のレイアウト設計を実施する場合は、手動による半自動で設計を行っていた。図２５は、従来の半導体設計装置の構成を示すブロック図である。この図に示す半導体設計装置は、回路図のネットリスト情報とレイアウト情報とを基にレイアウト編集部でレイアウト設計する手法を用いている。
【０００３】
図２５において、１は入力部、２は入力部１より入力された情報でデータを処理するＣＰＵ、３はＣＰＵ２で処理された入力データに回路編集を実行する回路編集部、４は回路編集部３が使用する回路図が蓄積された回路図データベース、５はＣＰＵ２で処理された入力データに対してレイアウト編集を実行するレイアウト編集部、６はレイアウト編集部５が使用するレイアウトが蓄積されたレイアウトデータベース、７はレイアウト編集部５が作成したレイアウトのデザインルールをチェックするデザインルール判断部、８は回路編集部３の回路データとレイアウト編集部５のレイアウトデータの接続情報を抽出する接続抽出部、９はＣＰＵ２の結果を出力する出力部である。
【０００４】
ここで、図２６はゲートレベルの回路図である。図２６において、ＩＧ１は２入力ＮＯＲであり、ａ１，ａ２が入力、ｂ１が出力である。ＩＧ２は２入力ＮＡＮＤであり、ｂ１，ｂ２が入力、ｃ１が出力である。ＩＧ３はインバータであり、ｃ１が入力、ｃ２が出力である。
【０００５】
図２７はトランジスタレベルの回路図である。図２７において、ＩＴ１は２入力ＮＯＲであり、ａ１，ａ２が入力、ｂ１が出力である。トランジスタレベルでは、ＰＭＯＳトランジスタｐａ１，ｐａ２、ＮＭＯＳトランジスタｎａ１，ｎａ２で構成され、ｐａ１のゲートにａ１、ソースにａ３、ドレインにｂ１、ｐａ２のゲートにａ２、ソースにｖｄｄ（供給電位）、ドレインにａ３、ｎａ１のゲートにａ１、ソースにｖｓｓ（接地電位）、ドレインにｂ１、ｎａ２のゲートにａ２、ソースにｖｓｓ（接地電位）、ドレインにｂ１である。
【０００６】
ＩＴ２は２入力ＮＡＮＤであり、ｂ１，ｂ２が入力、ｃ１が出力である。トランジスタレベルでは、ＰＭＯＳトランジスタｐｂ１，ｐｂ２、ＮＭＯＳトランジスタｎｂ１，ｎｂ２で構成され、ｐｂ１のゲートにｂ１、ソースにｖｄｄ（供給電位）、ドレインにｃ１、ｐａ２のゲートにｂ２、ソースにｖｄｄ（供給電位）、ドレインにｃ１、ｎｂ１のゲートにｂ１、ソースにｂ３、ドレインにｃ１、ｎｂ２のゲートにｂ２、ソースにｖｓｓ（接地電位）、ドレインにｂ３である。
【０００７】
ＩＴ３はインバータであり、ｃ１が入力、ｃ２が出力である。トランジスタレベルでは、ＰＭＯＳトランジスタｐｃ１、ＮＭＯＳトランジスタｎｃ１で構成され、ｐｃ１のゲートにｃ１、ソースにｖｄｄ（供給電位）、ドレインにｃ２、ｎｃ１のゲートにｃ１、ソースにｖｓｓ（接地電位）、ドレインにｃ２である。
【０００８】
図２８はトランジスタレベルのレイアウトの構成図である。図２８において、ＰＭＯＳトランジスタｐａ１，ｐａ２，ｐｂ１，ｐｂ２，ｐｃ１、ＮＭＯＳトランジスタｎａ１，ｎａ２，ｎｂ１，ｎｂ２，ｎｃ１から構成され、ｐａ１のゲートにａ１、ソースにａ３、ドレインにｂ１、ｐａ２のゲートにａ２、ソースにｖｄｄ（供給電位）、ドレインにａ３、ｎａ１のゲートにａ１、ソースにｖｓｓ（接地電位）、ドレインにｂ１、ｎａ２のゲートにａ２、ソースにｖｓｓ（接地電位）、ドレインにｂ１、ｐｂ１のゲートにｂ１、ソースにｖｄｄ（供給電位）、ドレインにｃ１、ｐａ２のゲートにｂ２、ソースにｖｄｄ（供給電位）、ドレインにｃ１、ｎｂ１のゲートにｂ１、ソースにｂ３、ドレインにｃ１、ｎｂ２のゲートにｂ２、ソースにｖｓｓ（接地電位）、ドレインにｂ３、ｐｃ１のゲートにｃ１、ソースにｖｄｄ（供給電位）、ドレインにｃ２、ｎｃ１のゲートにｃ１、ソースにｖｓｓ（接地電位）、ドレインにｃ２であり、各ノードの接続箇所はフライラインで示される。
【０００９】
図２９はレイアウト中の構成図である。図２９において、ＩＬ１は２入力ＮＯＲであり、ａ１，ａ２が入力、ｂ１が出力である。トランジスタレベルでは、ＰＭＯＳトランジスタｐａ１，ｐａ２、ＮＭＯＳトランジスタｎａ１，ｎａ２で構成される。ＩＬ２は２入力ＮＡＮＤであり、ｂ１，ｂ２が入力、ｃ１が出力である。トランジスタレベルでは、ＰＭＯＳトランジスタｐｂ１，ｐｂ２、ＮＭＯＳトランジスタｎｂ１，ｎｂ２で構成される。ＩＬ３はインバータであり、ｃ１が入力、ｃ２が出力である。トランジスタレベルでは、ＰＭＯＳトランジスタｐｃ１、ＮＭＯＳトランジスタｎｃ１で構成される。各ノードの接続箇所はフライラインで示される。
【００１０】
図３０はレイアウト完了後のレイアウト構成図である。図３０において、２入力ＮＯＲで、ａ１，ａ２が入力、ｂ１が出力である。２入力ＮＡＮＤで、ｂ１，ｂ２が入力、ｃ１が出力であり、インバータで、ｃ１が入力、ｃ２が出力である。
【００１１】
図３１〜図３３は、図２６の回路に含まれているサブサーキットの例である。図３１は２入力ＮＯＲの構成図であり、（１）はマスクパターン、（２）はゲートレベルの回路図、（３）はトランジスタレベルの回路図である。図３２は２入力ＮＡＮＤの構成図であり、（１）はマスクパターン、（２）はゲートレベルの回路図、（３）はトランジスタレベルの回路図である。図３３はインバータの構成図であり、（１）はマスクパターン、（２）はゲートレベルの回路図、（３）はトランジスタレベルの回路図である。
【００１２】
従来の半導体設計装置における手法では、図２６のゲートレベルの回路図から、回路編集部３で図２７のトランジスタレベルの回路図に直すか、もしくは図２７のトランジスタレベルの回路図から設計を行い、レイアウト編集部５にデータを送り、図２８のトランジスタレベルのレイアウトを、各素子毎に配置と配線を半自動で行い、図３０のようにレイアウトを構成している。
【００１３】
次に、上記構成の従来の半導体設計装置の動作を説明する。まず、図２５の入力部１より入力された回路図がＣＰＵ２で選択される。この時、ＣＰＵ２は、入力部１より入力された回路図情報を回路編集部３に入力する。次いで、入力部１より入力された編集指示により編集し、回路図データベース４に保持する。次に、入力部１より入力されたレイアウト情報をレイアウト編集部５に入力する。次いで、入力部１より入力された編集指示により編集し、レイアウトデータベース６に保持する。この時、入力部１よりデザインルール判断指示が入力された場合、デザインルール制御部７で、レイアウト編集部５で編集されたレイアウトのデザインルールのチェックが行われる。また、入力部１より接続抽出部指示が入力された場合、接続抽出部８が回路編集部３の回路データとレイアウト編集部５のレイアウトデータの接続情報を抽出する。その結果、回路図情報、レイアウト情報、デザインルールのチェック結果、接続抽出結果を出力部９から出力する。
【００１４】
なお、従来のレイアウト設計は、ポリゴンレイアウトで設計されている（例えば、非特許文献１参照）。
【００１５】
【非特許文献１】日経エレクトロニクス（１０−１４）１９９６増刊号  特集：これでわかった！電子設計用ＥＤＡ（Ｐ．１２５）ポリゴン・エディタ
【発明の開示】
【発明が解決しようとする課題】
【００１６】
しかしながら、上述した従来の半導体設計装置においては、以下に述べる問題がある。
（１）回路中の構成素子内部の配置及び結線をしなくてはならず、同じ構成の回路を使用する場合でもその都度構成素子内部の配置及び結線を繰り返さなくてはならず設計期間が長くなる。
（２）構成素子の構造を決めてしまった場合は構成素子内部の形状を変更することができない。
（３）素子の属性を変更できないので、レイアウトの自由度が限定される。
（４）素子にインスタンス追加ができないので、回路図に依存しない基板コンタクトなどが入力できない。
【００１７】
（５）回路図が決まるまでレイアウト設計を開始できない。
（６）回路とレイアウトのネット名やインスタンス名が一致しておらず、デバッグが難しい。
（７）回路とレイアウトの相違点を容易に検索できず、デバッグが難しい。
（８）禁止されるべき入力を事前に回避できず誤設計が起こる。
（９）レイアウトデータは習熟した人でないと認識が難しいため、レイアウトの設計習熟には時間がかかる。
【００１８】
（１０）機能を持ったレイアウトデータの実現には各種の形状があるが、設計箇所の特性に合わせて自由にレイアウトを選択できない。
（１１）デザインルールがなかなか決まらないため、レイアウト設計を開始できない。
（１２）機能未確定のデータが入った場合にレイアウト設計ができない。
（１３）機能未確定のデータで暫定のデータを作った場合、そのデータは再利用できない。
【００１９】
（１４）回路編集の際には回路のデータしか表示できず、またレイアウト編集の際にはレイアウトのデータしか表示できず、回路とレイアウトの相互で認識性が悪い。
（１５）変更してはいけない箇所を指定できず、誤修正をしてしまう。
【００２０】
（１６）回路とレイアウトにまたがるコメントを付けることができないため、回路設計者とレイアウト設計者間で充分に設計情報が引き継げない。
（１７）設計配線層にあわせてレイアウトが準備できていないため、設計配線層毎にレイアウトを作成しなくてはならず、設計工数がかかる。
（１８）プロセス毎に設計データを作成しなくてはならないので、同様の回路であっても違うプロセスに適用できない。
【００２１】
本発明は、かかる点に鑑みてなされたものであり、効率的なレイアウト設計を行うことができるとともに、回路とレイアウト設計が同時に開発可能な半導体設計装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記課題を解決するために、請求項１に係る発明の半導体設計装置は、入力手段から入力した情報でデータを処理するデータ処理手段と、回路図データを蓄積した回路図データベースと、レイアウトデータを蓄積したレイアウトデータベースと、前記データ処理手段で処理されたデータに対して前記回路図データベースを用いて回路編集を行う回路編集手段と、前記データ処理手段で処理されたデータに対して前記レイアウトデータベースを用いてレイアウト編集を行うレイアウト編集手段とを具備する半導体設計装置において、前記データ処理手段が入力したデータの中の回路データから機能毎にサブサーキットを認識するサブサーキット認識手段を備えている。
【００２３】
この構成によれば、機能毎にレイアウトを発生できるので、構成素子内部の配置及び結線が省略可能になり、設計期間の短縮が可能となる。
【００２４】
また、請求項２に係る発明の半導体設計装置は、請求項１に係る発明の半導体設計装置において、前記サブサーキットの素子構成を素子毎に分離する素子構成分離手段を備えている。
【００２５】
この構成によれば、素子構成を分離可能にしたので、構成素子内部の形状の変更が容易になり、設計の自由度が向上する。
【００２６】
また、請求項３に係る発明の半導体設計装置は、請求項２に係る発明の半導体設計装置において、前記素子の属性を変更する素子属性指定手段を備えている。
【００２７】
この構成によれば、素子の属性を変更可能にしたので、構成素子内部の形状の変更が容易になり、設計の自由度が向上する。
【００２８】
また、請求項４に係る発明の半導体設計装置は、請求項２又は請求項３のいずれかに係る発明の半導体設計装置において、前記素子にインスタンスの追加を行うインスタンス追加手段を備えている。
【００２９】
この構成によれば、素子にインスタンス追加が可能になるので、回路図に依存しない基板コンタクトなどの挿入を任意の箇所に追加することができる。
【００３０】
また、請求項５に係る発明の半導体設計装置は、請求項１乃至請求項４のいずれかに係る発明の半導体設計装置において、前記入力手段から回路図のないレイアウト作成指示があって前記レイアウト編集手段にて新規のレイアウトの作成が行われると共に前記回路編集手段にて回路の作成が行われた場合に、仮のネットリスト名を生成する仮ネット名生成手段と、回路とレイアウトのネットリスト名の相関関係を判断する回路ネット名判断手段と、を備えている。
【００３１】
この構成によれば、回路図が決まる前にレイアウト設計を開始し、後でネット接続の一致を確認することができるので、回路とレイアウトの同時設計を可能にし設計期間の短縮が図れる。
【００３２】
また、請求項６に係る発明の半導体設計装置は、請求項１乃至請求項５のいずれかに係る発明の半導体設計装置において、前記入力手段から回路とレイアウトのネットリスト名を一致させる指示があった場合に、回路とレイアウトのネットリスト名を一致させるネット名調整手段を備えている。
【００３３】
この構成によれば、回路図とレイアウトのネットリストやインスタンスの名前を自動で一致させることができるので、デバッグが容易になる。
【００３４】
また、請求項７に係る発明の半導体設計装置は、請求項１乃至請求項６のいずれかに係る発明の半導体設計装置において、前記入力手段から回路とレイアウトの相違点を表示させる指示があった場合に、前記回路編集手段の回路図情報と前記レイアウト編集手段のレイアウト情報とから回路とレイアウトの接続状態を確認にてそれらにおける相違点を判断し、その相違点をハイライトさせる相違点判断手段を備えている。
【００３５】
この構成によれば、回路とレイアウトの相違点をハイライトすることができるので、デバッグが容易になる。
【００３６】
また、請求項８に係る発明の半導体設計装置は、請求項１乃至請求項７のいずれかに係る発明の半導体設計装置において、前記入力手段から回路図の作成指示があって前記回路編集手段にて回路の作成が行われる際に、禁止入力を判断し、禁止入力の項目について前記回路編集手段での編集を禁止する禁止入力判断手段を備えている。
【００３７】
この構成によれば、禁止入力を事前に回避することができるので、誤設計を防止することができる。
【００３８】
また、請求項９に係る発明の半導体設計装置は、請求項１乃至請求項８のいずれかに係る発明の半導体設計装置において、回路編集又はレイアウト編集時に、編集画面上に各種素子の機能を表したアイコン画面を表示し、当該画面中でユーザによって指定された素子に対応するレイアウトを発生し表示するアイコンリンク手段を備えている。
【００３９】
この構成によれば、機能を表したアイコンをユーザが選択することで、選択されたアイコンに対応するレイアウトを発生するので、設計時の認識性が向上し、開発期間の短縮化が図れる。
【００４０】
また、請求項１０に係る発明の半導体設計装置は、請求項１乃至請求項９のいずれかに係る発明の半導体設計装置において、前記データ処理手段から作成指示があった場合、前記回路図データベースと前記レイアウトデータベースそれぞれのデータをライブラリ化し、ライブラリ化した回路データは前記回路編集手段にて使用可能とし、ライブラリ化したレイアウトデータは前記レイアウト編集手段で使用可能とするライブラリ指定手段と、を備えている。
【００４１】
この構成によれば、機能毎のレイアウトをライブラリ化できるので、各種形状の発生が容易になり、設計工数の削減が可能となる。
【００４２】
また、請求項１１に係る発明の半導体設計装置は、請求項１乃至請求項１０のいずれかに係る発明の半導体設計装置において、前記入力手段からレイアウトの作成指示があって前記レイアウト編集手段にてグリッド設定無しでレイアウト作成が行われた後、前記入力手段からグリッド指定の指示があった場合、前記レイアウトデータベースのレイアウトデータのグリッド指定を行う設計グリッド修正手段を備えている。
【００４３】
この構成によれば、設計グリッドを後に決めることができるので、デザインルール確定前の設計着手が可能となる。
【００４４】
また、請求項１２に係る発明の半導体設計装置は、請求項１乃至請求項１１のいずれかに係る発明の半導体設計装置において、回路では未確定の未確定部を、レイアウトではネットリストと関係のないポリゴンデータとして作成する機能未定箇所作成手段を備えている。
【００４５】
この構成によれば、ネットリストの無いポリゴンデータとの接続を行うことができるので、機能未確定のデータの取扱いが可能になる。
【００４６】
また、請求項１３に係る発明の半導体設計装置は、請求項１２に係る発明の半導体設計装置において、前記ポリゴンデータのセル化を行うセル化実施手段を備えている。
【００４７】
この構成によれば、ポリゴンデータをセル化できるので、機能未確定データの再利用が可能になる。
【００４８】
また、請求項１４に係る発明の半導体設計装置は、請求項１乃至請求項１３のいずれかに係る発明の半導体設計装置において、前記入力手段からレイアウトの作成指示があって前記レイアウト編集手段にてレイアウトの作成が行われた後、前記入力手段から回路とレイアウトを選択的に表示させる指示があった場合、選択的に回路とレイアウトの表示を混在させる相互表示手段を備えている。
【００４９】
この構成によれば、選択的に回路とレイアウトの表示を混在させることができるので、設計時の回路認識性が向上し、誤設計を防止することができる。
【００５０】
また、請求項１５に係る発明の半導体設計装置は、請求項１乃至請求項１４のいずれかに係る発明の半導体設計装置において、前記入力手段から回路又はレイアウトでロックをかける指示があった場合、対応する回路とレイアウトに対し、前記回路図データベースと前記レイアウトデータベースの対象箇所にロックをかけるロック指定手段を備えている。
【００５１】
この構成によれば、指定したセルにロックをかけることができるので、ロックのかかったセルが編集不可になり、変更してはいけないセルの誤修正を防止することができる。
【００５２】
また、請求項１６に係る発明の半導体設計装置は、請求項１乃至請求項１５のいずれかに係る発明の半導体設計装置において、前記入力手段から回路又はレイアウトにコメントを入力する指示があった場合、対応する回路とレイアウトに対し、前記回路図データベースと前記レイアウトデータベースの対象箇所にコメントを入力するコメント入力手段を備えている。
【００５３】
この構成によれば、回路とレイアウトとのコメント入力がリンクできるので、回路設計者とレイアウト設計者の誤引継ぎを防止することができる。
【００５４】
また、請求項１７に係る発明の半導体設計装置は、請求項１乃至請求項１６のいずれかに係る発明の半導体設計装置において、配線層のレイアウトデータを蓄積したレイアウトデータベースと、前記入力手段からレイアウトの作成指示があって前記レイアウト編集手段にてレイアウトの作成が行われた後、前記入力手段から、使用する配線層を指定する指示があった場合、対応する配線層のレイアウトデータを前記レイアウトデータベースから選択して前記レイアウト編集手段に与える使用セル選択手段を備えている。
【００５５】
この構成によれば、配線層毎に自動的にセルを使い分けることができるので、設計配線層毎に最適なセル選択を行うことができる。
【００５６】
また、請求項１８に係る発明の半導体設計装置は、請求項１乃至請求項１７のいずれかに係る発明の半導体設計装置において、前記入力手段からレイアウトの作成指示があって、前記レイアウト編集手段にて、最初に定義されたプロセス条件でレイアウト作成が行われた後、前記入力手段からプロセス条件変更指示があった場合、前記レイアウトデータベースのレイアウトデータにプロセス条件の変更を行う設計プロセス変更手段を備えている。
【００５７】
この構成によれば、データを各種プロセス用データに変換することができるので、違うプロセスに対する応用展開が可能になる。
【発明の効果】
【００５８】
本発明によれば、回路データから機能毎にサブサーキットを認識するサブサーキット認識手段を設けて機能毎にレイアウトを発生できるようにしたので、構成素子内部の配置及び結線が省略可能となり、設計期間の短縮が可能となる。
【発明を実施するための最良の形態】
【００５９】
以下、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
【００６０】
図１は、本発明の一実施の形態に係る半導体設計装置の構成を示すブロック図である。なお、本実施の形態の説明においては、従来技術の説明で用いた図２６〜図３３が必要な場合はこれらの図を援用することとする。
【００６１】
図１において、本実施の形態に係る半導体設計装置は、入力部１、ＣＰＵ（データ処理手段）２、回路編集部（回路編集手段）３、回路図データベース４、レイアウト編集部（レイアウト編集手段）５、レイアウトデータベース６、デザインルール判断部７、接続抽出部８、出力部９、サブサーキット認識部（サブサーキット認識手段）１０、素子構成分離部（素子構成分離手段）１１、素子属性指定部（素子属性指定手段）１２、インスタンス追加部（インスタンス追加手段）１３、仮ネット名生成部（仮ネット名生成手段）１４、回路ネット名判断部（回路ネット名判断手段）１５、ネット名調整部（ネット名調整手段）１６、相違点判断部１７、禁止入力判断部（禁止入力判断手段）１８、禁止入力データベース１９、アイコンリンク部（アイコンリンク手段）２０、表示用データベース２１、ライブラリ指定部（ライブラリ指定手段）２２、設計グリッド修正部（設計グリッド修正手段）２３、機能未確定箇所作成部（機能未確定箇所作成手段）２４、素子情報抽出部２５、セル化実施部（セル化実施手段）２６、相互表示部（相互表示手段）２７、ロック指定部（ロック指定手段）２８、コメント入力部（コメント入力手段）２９、使用セル選択部（使用セル選択手段）３０及び設計プロセス変更部（設計プロセス変更手段）３１を備えている。上記接続抽出部８及び相違点抽出部１７は相違点判断手段を構成する。
【００６２】
サブサーキット認識部１０は機能毎にレイアウトを発生することで構成素子内部の配置及び結線を省略可能にする。素子構成分離部１１は素子構成を分離可能にすることで構成素子内部の形状変更を容易にする。素子属性指定部１２は素子の属性を変更することで設計の自由度を向上させる。インスタンス追加部１３は素子にインスタンス追加を可能にすることで、回路図に依存しない基板コンタクトなどの挿入を任意の箇所に追加する。仮ネット名生成部１４は設計中のネットリストやインスタンスに仮の名前を付ける。回路ネット名判断部１５は回路図とレイアウトのネットリストやインスタンスの名前を相互に判断する。
【００６３】
ネット名調整部１６は回路図とレイアウトのネットリストやインスタンスの名前を自動で一致させる。相違点判断部１７は回路とレイアウトの相違点をハイライトする。禁止入力判断部１８は禁止入力を事前に回避する。禁止入力データベース１９は禁止入力を保管する。アイコンリンク部２０は機能を表したアイコンを押しレイアウトを発生する。ライブラリ指定部２２は機能毎のレイアウトをライブラリ化する。設計グリッド修正部２３は設計グリッドを後決めにすることで、デザインルール確定前に設計着手を可能にする。機能未確定箇所作成部２４はネットリストの無いポリゴンデータとの接続を行うことで、機能未確定のデータの取扱いを可能にする。
【００６４】
セル化実施部２６はポリゴンデータをセル化する。素子情報抽出部２５は機能未確定データの再利用を可能にする。相互表示部２７は選択的に回路とレイアウトの表示を混在させる。ロック指定部２８は指定したセルにロックをかけ、そのセルを編集不可にすることで変更してはいけないセルの誤修正を防止する。コメント入力部２９は回路とレイアウトとのコメント入力をリンクすることで、回路設計者とレイアウト設計者の誤引継ぎを防止する。使用セル選択部３０は配線層毎に自動的にセルを使い分けることで、設計配線層毎に最適なセルを選択する。設計プロセス変更部３１はデータを各種プロセス用データに変換させることで、違うプロセスに対しても応用展開を可能にする。
【００６５】
図２は本実施の形態に係る半導体設計装置における構成図であり、（１）は素子分離前、（２）は素子分離中、（３）は素子分離後の構成図である。図３は本実施の形態に係る半導体設計装置における構成図であり、（１）はＭ＝１、（２）はＭ＝２の構成図である。図４は本実施の形態に係る半導体設計装置における構成図であり、（１）はインスタンス追加前、（２）はインスタンス追加後の構成図である。図５は本実施の形態における説明図であり、従来と本実施の形態の回路設計とレイアウト設計を設計時間の関係で示した説明図である。
【００６６】
図６は本実施の形態に係る半導体設計装置における構成図であり、回路とレイアウトをマッチにより一致を確認している例の構成図である。図７及び図８は本実施の形態に係る半導体設計装置における構成図であり、回路とレイアウトのネットリスト名を一致させている例で、（１）はネットリスト名変更前、（２）はネットリスト名変更後の構成図である。この例では、レイアウトのｂｂというネットリスト名がｂ１に、ｃｃというネットリスト名がｃ１に変更されている。
【００６７】
図９は本実施の形態に係る半導体設計装置における構成図であり、回路とレイアウトの相違点をハイライトさせている例で、回路中の２入力ＮＯＲであるＩＧ２Ｂと、レイアウト中の２入力ＮＡＮＤであるＩＬ２Ｂが相違しているためハイライトされた。図１０は本実施の形態に係る半導体設計装置における構成図であり、禁止入力ファイルで、セルの出力ピン同士の接続を禁止した例を示す。図１１は本実施の形態に係る半導体設計装置における構成図であり、セルの出力ピン同士の接続を禁止した例で、（１）は禁止入力を事前に回避前、（２）は禁止入力を事前に回避後の回路とレイアウトの状態を示す。インバータセルＩＧ１Ｃ，ＩＧ２Ｃの出力ＰＯが互いに接続されなかった。
【００６８】
図１２は本実施の形態に係る半導体設計装置における構成図であり、アイコン画面からインバータの機能が描かれたアイコンＢ３をクリックで選択して、レイアウト編集画面にインバータのレイアウトが発生した例である。図１３は本実施の形態に係る半導体設計装置における構成図であり、（１）回路図にあるインバータの機能には、（２）ＩＮＶ，（３）ＩＮＶＲ，（４）ＩＮＶ２，（５）ＩＮＶ２Ｒのレイアウトがライブラリとしてある。
【００６９】
図１４は本実施の形態に係る半導体設計装置における構成図であり、グリッド指定ファイルから、実際のグリッドを決定した後の例を示す。図１５は本実施の形態に係る半導体設計装置における構成図であり、（１）はグリッド決定前、（２）はグリッド決定後のレイアウトの状態を示す。図１６は本実施の形態に係る半導体設計装置における構成図であり、回路の未確定部をレイアウトの中ではネットリストと関係ないポリンゴンデータで扱っている状態を示す。図１７は本実施の形態に係る半導体設計装置における構成図であり、回路の未確定部をレイアウトの中ではネットリストと関係ないポリンゴンデータで扱い、更にそのポリゴンデータはセル化してある状態を示す。
【００７０】
図１８及び図１９は本実施の形態に係る半導体設計装置における構成図であり、回路とレイアウトの編集画面で、（１）は混在表示前、（２）は混在表示後の状態を示す。この例では、回路中にある２入力ＮＡＮＤのＩＧ２Ｆを選択した場合、２入力ＮＡＮＤのレイアウトＩＬ２Ｆが表示される。また、レイアウト中にある２入力ＮＡＮＤのＩＬ２Ｆを選択した場合、２入力ＮＡＮＤの回路ＩＧ２Ｆが表示される。図２０は本実施の形態に係る半導体設計装置における構成図であり、回路中にある２入力ＮＡＮＤのＩＧ２Ｇにロックをかけると、レイアウトで相当するＩＬ２Ｇにも連動してロックがかかる編集できない状態を示す。
【００７１】
図２１は本実施の形態に係る半導体設計装置における構成図であり、回路中にある２入力ＮＡＮＤのＩＧ１Ｈの出力ｂ１にコメントを付けると、レイアウトで相当するＩＬ１Ｈの出力ｂ１にも連動してコメントが付く状態を示す。図２２は本実施の形態に係る半導体設計装置における構成図であり、回路に対し、（１）は配線層２層用、（２）は配線層３層用のレイアウト状態を示す。図２３は本実施の形態に係る半導体設計装置における構成図であり、設計プロセスファイルで、２．０μｍプロセスの場合と、１．０μｍプロセスの場合で、トランジスタのゲート長設定例を示した。図２４は本実施の形態に係る半導体設計装置における構成図であり、回路に対し、（１）は２．０μｍプロセスの場合、（２）は３．０μｍプロセスの場合のレイアウト状態を示す。
【００７２】
次に、上記構成の本実施の形態に係る半導体設計装置について、以下その動作を説明する。
【００７３】
〈サブサーキット認識部１０を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。そして、ＣＰＵ２は選択したデータを、回路編集部３を通してサブサーキット認識部１０に送る。サブサーキット認識部１０は、ＣＰＵ２から送られてきたデータの中で、回路のネットリスト情報からサブサーキット回路を認識する。そして、ＣＰＵ２は、レイアウト編集部５を通して、サブサーキット認識部１０によって認識されたサブサーキット回路に相当するレイアウトデータをレイアウトデータベース６から取り出し、レイアウト編集部５に送る。レイアウト編集部５は、レイアウトのデータを元にレイアウトの編集を行う。そして、レイアウト編集の結果をＣＰＵ２に送り、ＣＰＵ３はそれを出力部９から外部へ出力する。
【００７４】
従来の半導体設計装置では、図２６のゲートレベルの回路図から、回路編集部３で図２７のトランジスタレベルの回路図に直すか、もしくは図２７のトランジスタレベルの回路図から設計を行い、レイアウト編集部５にデータを送り、図２８のトランジスタレベルのレイアウトを各素子毎に配置と配線を半自動で行い、図３０のようにレイアウトを構成していた。
【００７５】
これに対し本実施の形態の半導体設計装置では、サブサーキット認識部１０により、図２６のゲートレベルの回路図から、２入力ＮＯＲのＩＧ１、２入力ＮＡＮＤのＩＧ２、インバータのＩＧ３を認識し、図２９のレイアウトの構成図にあるように、２入力ＮＯＲのＩＬ１、２入力ＮＡＮＤのＩＬ２、インバータのＩＬ３をレイアウトデータベース６から取り出し、レイアウト編集部５で配置と配線を半自動で行う。この時、サブサーキット毎にレイアウトを発生するので、ＩＬ１を構成するｐａ１，ｐａ２，ｎａ１，ｎａ２の配置と、ａ１，ａ２，ａ３の配線と、ＩＬ２を構成するｐｂ１，ｐｂ２，ｎｂ１，ｎｂ２の配置と、ｂ１，ｂ２，ｂ３の配線と、ＩＬ３を構成するｐｃ１，ｎｃ１の配置と、ｃ１，ｃ２の配線は既に行われており、構成素子内部の配置及び配線が省略でき、構成素子同士の配置及び配線だけで設計できるため設計期間を短縮できる。
【００７６】
〈素子構成分離部１１を中心とする動作〉
入力部１に入力されたデータがＣＰＵ２で選択される。そして、ＣＰＵ２は選択したデータを、レイアウト編集部５を通して素子構成分離部１１に送る。素子構成分離部１１は、ＣＰＵ２から送られてきたデータの中で、レイアウトデータの素子間の接続情報を保持したまま素子構成を分離する。レイアウト編集部５は、当該レイアウトのデータを元にレイアウトの編集を行う。レイアウト編集の結果は出力部９から出力される。例えば、図２はレイアウトの構成図で、インバータのレイアウトを例に説明すると、素子構成分離部１１で（１）素子分離前のレイアウトを、（２）素子分離中の図にあるように、ｐｄ１とｐｄ２に分離する。次に、レイウト編集部５で、（３）素子分離後のように配置と配線を半自動で行う。素子構成分離部１１で素子構成を分離するため、構成素子内部の形状変更が容易になる。
【００７７】
〈素子属性指定部１２を中心とする動作〉
入力部１に入力されたデータがＣＰＵ２で選択される。そして、ＣＰＵ２は選択したデータを、レイアウト編集部５を通して素子属性指定部１２に送る。素子属性指定部１２は、ＣＰＵ２から送られてきたデータの中で、レイアウトデータの素子間の接続情報を保持したまま素子の属性を変更する。レイアウト編集部５は、当該レイアウトのデータを元にレイアウトの編集を行う。レイアウト編集の結果は出力部９から出力される。例えば、図３はレイアウトの構成図で、インバータのレイアウトを例に説明すると、入力部１からインバータの素子属性をＭ＝１からＭ＝２に変更する入力があった場合、素子属性指定部１２で（１）Ｍ＝１のレイアウトを、（２）Ｍ＝２のレイアウトに変更する。素子属性指定部１２で素子の属性を変更できるため、レイアウトの自由度が向上する。
【００７８】
〈インスタンス追加部１３を中心とする動作〉
入力部１に入力されたデータがＣＰＵ２で選択される。そして、ＣＰＵ２は選択したデータを、レイアウト編集部５を通してインスタンス追加部１３に送る。インスタンス追加部１３は、ＣＰＵ２から送られてきたデータの中で、レイアウトデータの素子間の接続情報を保持したままインスタンスを追加する。レイアウト編集部５は、当該レイアウトのデータを元にレイアウトの編集を行う。レイアウト編集の結果は出力部９から出力される。例えば、図４はレイアウトの構成図で、インバータのレイアウトを例に説明すると、入力部１からインバータに基板コンタクトというインスタンスを追加するように入力があった場合、インスタンス追加部１３で（１）インスタンス追加前のレイアウトを、（２）インスタンス追加後のレイアウトに変更する。インスタンス追加部１３で任意の箇所にインスタンスに追加可能になるため、回路図に依存しない、基板コンタクトや観測用のＰＡＤを自由に挿入できる。
【００７９】
〈仮ネット名生成部１４及び回路ネット名判断部１５を中心とする動作〉
入力部１に入力されたデータがＣＰＵ２で選択される。ＣＰＵ２は選択したデータを、レイアウト編集部５を通してレイアウトデータベース６にデータを保存する。入力部１から、回路図がない場合のレイアウトの作成指示があった場合、レイアウト編集部５は、作成中のレイアウトに、仮ネット名生成部１４で付加された仮のネット名で新規レイアウトの作成を行う。
【００８０】
仮ネット名作成部１４は、作成中のレイアウトに仮のネット名を付加する。回路データは回路編集部３に送られ、回路データベース４に保存される。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。次に、回路設計とレイアウト設計が終わった時に、入力部１から回路とレイアウトが一致しているか指示の入力があった場合、回路ネット名判断部１５で回路とレイアウトの関連している名前を判断する。次に、回路の設計結果、レイアウトの設計結果、回路とレイアウトで相互に関連している名前を判断した結果は出力部９から出力される。
【００８１】
図５は本実施の形態における説明図であり、従来は回路設計が完了しなければレイアウト設計に取りかかれないが、本発明では回路設計とレイアウト設計を同時に着手することができ、最後にマッチで回路とレイアウトの一致を確認することで設計期間を短縮の効果を示している。図６は構成図で、回路は回路で設計を開始し、レイアウトはレイアウトで設計を開始し、マッチを行って回路とレイアウトの一致を確認している状態を示している。回路が決まる前にレイアウト設計ができるため、開発期間が短縮できる。
【００８２】
〈ネット名調整部１６を中心とする動作〉
入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３に送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。
【００８３】
入力部１から回路とレイアウトのネットリスト名を一致させる指示があった場合、回路編集部３からネット名調整部１６を通じて回路とレイアウトのネットリストを分析して、レイアウトには回路と同じネットリスト名を付ける指示を行う。この時、レイアウト編集部５でレイアウトに回路と同じネットリスト名を付け直す。次に、回路の設計結果、レイアウトの設計結果が出力部９から出力される。例えば、図７及び図８は本実施の形態に係る半導体設計装置における構成図であり、（１）はネットリスト名変更前のレイアウト、（２）はネットリスト名変更後のレイアウトであり、回路に合わせてレイアウトのネットリスト名ｂｂがｂ１に、ｃｃがｃ１になっている例である。回路とレイアウトのネットリスト名統一が可能になるので、デバッグが容易になる。
【００８４】
〈相違点判断部１７を中心とする動作〉
入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３へ送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。
【００８５】
入力部１から回路とレイアウトの相違点を表示させる指示があった場合、回路編集部３及びレイアト編集部５からの情報を接続抽出部８が回路とレイアウトの接続状態を確認し、相違点判断部１７が回路とレイアウトの相違点を判断する。そして、回路とレイアウトの相違点の結果がハイライトして出力部９から出力される。例えば、図９は本実施の形態に係る半導体設計装置における構成図であり、回路とレイアウトの相違点をハイライトしている状態を示す。例では、回路の２入力ＮＯＲのＩＧ２Ｂと、レイアウトの２入力ＮＡＮＤのＩＬ２Ｂが相違していることをハイライトしている。回路とレイアウトの相違点をハイライトすることでデバッグが容易になる。
【００８６】
〈禁止入力判断部１８を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、禁止入力データを禁止入力データベース１９に保存し、回路データを回路編集部３へ送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。この時、禁止入力データに相当する場合を禁止入力判断部１８で判断し、禁止入力の項目について回路編集部３で編集が行えないようにする。
【００８７】
レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。入力部１からレイアウトの作成指示があった場合、レイアウト編集部５で回路の作成が行われる。この時、禁止入力データに相当する場合を禁止入力判断部１８が判断し、禁止入力の項目についてレイアウト編集部５が編集を行えないようにする。次に、回路の設計結果、レイアウトの設計結果が出力部９から出力される。
【００８８】
例えば、図１０は本実施の形態に係る半導体設計装置における構成図であり、セルの出力ピン同士は接続を禁止し、インバータセルの出力ピンはＰＯであることを定義した禁止入力ファイルである。図１１の構成図では、回路とレイアウトで各々、（１）は禁止入力を事前に回避前、（２）は禁止入力を事前に回避後の状態を示す。インバータの出力結果が、回路ではＩＧ１ＣとＩＧ２Ｃが、レイアウトではＩＬ１ＣとＩＬ２Ｃが接続されていない。禁止入力を事前に回避できるため、誤設計が防止できる。
【００８９】
〈アイコンリンク部２０を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、入力されたデータを選択し、回路やレイアウト編集を行う場合、アイコンリンク部２０を指定する。アイコンリンク部２０は表示用データベース２１からアイコン用のデータを取り込む。この時、回路編集部３とレイアウト編集部５にはアイコンリンク部２０の状態が表示される。
【００９０】
アイコンリンク部２０にて、回路図データベース４とレイアウトデータベース６がリンクされており、回路編集部３とレイアウト編集部５でアイコンリンク部２０の項目を選択すると、選択されたデータが回路編集部３とレイアウト編集部５それぞれ取り込まれる。この時、回路の編集は回路編集部３が行い、レイアウトの編集はレイアウト編集部５が行う。そして、回路編集及びレイアウト編集の結果が出力部９から出力される。例えば、図１２は構成図で、レイアウトの編集画面にアイコン画面が現れ、アイコン画面中のインバータの機能を表示したボタンＢ３を選択すると、レイアウトの編集画面にインバータのレイアウトが現れる例を示す。機能を表したアイコンを押しデータを発生することで設計時の認識性を向上させることができ、開発期間の短縮化が図れる。
【００９１】
〈ライブラリ指定部２２を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、入力されたデータを選択し、ライブラリ作成指示をライブラリ指定部２２に送る。ライブラリ指定部２２は、回路図データベース４とレイアウトデータベース６のデータ各々をライブラリ化する。ライブラリ化した回路データは回路編集部３で使用可能になり、レイアウトデータはレイアウト編集部５で使用可能になる。
【００９２】
次に、回路編集部３で作成された回路の設計結果とレイアウト編集部５で作成されたレイアウトの設計結果が出力部９から出力される。例えば、図１３は本実施の形態に係る半導体設計装置における構成図であり、インバータの（１）回路図、（２）ＩＮＶという名で構成されたレイアウト図、（３）ＩＮＶＲという名で構成されたレイアウト図、（４）ＩＮＶ２という名で構成されたレイアウト図、（５）ＩＮＶ２Ｒという名で構成されたレイアウト図で、ライブラリ化されて自由に使用できる。機能毎のレイアウトをライブラリ化することで、同一機能に対する各種形状の発生が容易になり、設計期間の短縮化が図れる。
【００９３】
〈設計グリッド修正部２３を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、入力されたデータを選択し、レイアウトデータをレイアウト編集部５に送り、レイアウトデータベース６に保存する。入力部１からレイアウトの作成指示があった場合、レイアウト編集部５で回路の作成が行われる。この時、レイアウト編集部５ではグリッド設定なしでレイアウト作成が行われる。入力部１からグリッド指定の指示があった場合、設計グリッド修正部２３に指示が与えられ、設計グリッド修正部２３は、レイアウトデータベース６のレイアウトデータのグリッド指定を行う。そして、レイアウトの設計結果が出力部９から出力される。
【００９４】
例えば、図１４は本実施の形態に係る半導体設計装置における構成図であり、グリッド指定ファイルにグリッドを設定するための定義がされており、この例ではコンタクトホールのマスクパターン幅からゲート電極のマスクパターン幅が算出できることが記述され、グリッドの決定はグリッド決定後に示される数式で定義されている。図１５の構成図では、インバータのレイアウトで（１）はグリッド決定前、（２）はグリッド決定後の状態を示す。グリッド決定前のＷＣ，ＷＧ１，ＷＧ２がグリッド決定後ＧＷＣ，ＧＷＧ１，ＧＷＧ２に設定された状態を示す。設計グリッドの後決めができるので、デザインルール確定前にレイアウト設計着手が可能になる。
【００９５】
〈機能未定箇所作成部２４を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３に送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。回路の未確定部の箇所をレイアウトではネットリストと関係のないポリゴンデータとして機能未確定箇所作成部２４が作成する。そして、回路とレイアウトの設計結果が出力部９から出力される。
【００９６】
例えば、図１６は本実施の形態に係る半導体設計装置における構成図であり、回路の未確定部ＩＧ２Ｄが、レイアウトではＩＬ２Ｄとしてネットリストとは関係のないポリゴンデータで設計されている状態を示す。この例では回路の未確定部には未確定部ピン位置を持つこと、レイアウトのポリゴンデータではポリゴンデータピン位置を持つことで、他との接続状態を保持している。ネットリストのないポリゴンデータとの接続を行うことで、機能未確定のデータの取扱いが可能になる。
【００９７】
〈セル化実施部２６を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３に送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。回路の未確定部の箇所をレイアウトではネットリストと関係のないポリゴンデータとして機能未確定箇所作成部２４が作成する。
【００９８】
次に、セル化実施部２６でポリゴンデータのセル化を行う。この時、素子情報抽出部２５を使用してポリゴンデータの抽出を行い、ネットリストの抽出を行うことも可能である。セル化を行ったデータは引き続き回路修正部３及びレイアウト修正部５で使用可能である。そして、回路とレイアウトの設計結果が出力部９から出力される。例えば、図１７は本実施の形態における構成図であり、回路の未確定部ＩＧ２Ｅを再びＩＧ４Ｅとして使用しており、レイアウトではＩＬ２Ｅとしてネットリストとは関係のないポリゴンデータで設計され、再びＩＬ４Ｅとして使用されている状態を示す。ポリゴンデータをセル化して再利用することで、未確定データの再利用が可能になる。
【００９９】
〈相互表示部２７を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３に送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。入力部１からレイアウト作成の指示があった場合、レイアウト編集部５でレイアウトの作成が行われる。この時、入力部１から回路とレイアウトを選択的に表示させる指示があった場合、相互表示部２７で回路図データベース４と、レイアウトデータベース６を選択的に合成する。そして、回路とレイアウトの混在した表示状態が出力部９から出力される。
【０１００】
例えば、図１８及び図１９は本実施の形態に係る半導体設計装置における構成図であり、（１）は混在表示前の回路とレイアウト、（２）は混在表示後の回路とレイアウトで、回路の２入力ＮＡＮＤのＩＧ２Ｆをレイアウト表示で混在させた場合に２入力ＮＡＮＤのＩＬ２Ｆが表示された状態を、また、レイアウトの２入力ＮＡＮＤのＩＬ２Ｆを回路表示で混在させた場合に２入力ＮＡＮＤのＩＧ２Ｆが表示された状態を示す。選択的に回路とレイアウトの表示を混在させることで、設計時の回路認識性を向上させ誤設計を防止できる。
【０１０１】
〈ロック指定部２８を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３に送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。入力部１からレイアウト作成の指示があった場合、レイアウト編集部５でレイアウトの作成が行われる。この時、入力部１から回路もしくはレイアウトでロックをかける指示があった場合、ロック指定部２８は、対応する回路とレイアウトに対し、それぞれ回路図データベース４とレイアウトデータベース６の相互に対象箇所にロックをかける。そして、ロック指定部２８でロックが掛けられた回路とレイアウトは、回路編集部３及びレイアウト編集部５で、ロック指定部２８がロックを解除するまで編集不能になる。そして、回路とレイアウトのデータが出力部９から出力される。
【０１０２】
例えば、図２０は本実施の形態に係る半導体設計装置における構成図であり、回路で２入力ＮＡＮＤのＩＧ２Ｇにロックがかかった場合、対応するレイアウトの２入力ＮＡＮＤのＩＬ２Ｇにもロックがかかり編集できなくなっている状態を示す。指定したセルにロックをかけることで、変更してはいけないセルの誤修正を防止する。
【０１０３】
〈コメント入力部２９を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、回路データを回路編集部３に送り、回路データベース４に保存する。入力部１から回路図の作成指示があった場合、回路編集部３で回路の作成が行われる。レイアウトデータはレイアウト編集部５に送られ、レイアウトデータベース６に保存される。入力部１からレイアウト作成の指示があった場合、レイアウト編集部５でレイアウトの作成が行われる。この時、入力部１から回路もしくはレイアウトにコメントを入力する指示があった場合、コメント入力部２９は、対応する回路とレイアウトに対し、それぞれ回路図データベース４とレイアウトデータベース６の対象箇所にコメントを入力する。
【０１０４】
コメント入力部２９でコメントが入れられた回路とレイアウトは、回路編集部３及びレイアウト編集部５で相互にコメント内容を共有することができる。そして、回路とレイアウトのデータが出力部９から出力される。例えば、図２１は本実施の形態に係る半導体設計装置における構成図であり、回路で２入力ＮＡＮＤのＩＧ２Ｈの入力ｂ１に長配線禁止とのコメントが付加された場合、対応するレイアウトの、２入力ＮＡＮＤのＩＬ２Ｈの入力ｂ１にも自動的に連動して長配線禁止とコメントが付加された状態を示す。コメントを入力することで、回路的な注意点を記述し、回路設計者とレイアウト設計者の誤引継ぎを防止できる。
【０１０５】
〈使用セル選択部３０を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、入力部１からレイアウト作成の指示があった場合、レイアウト編集部５でレイアウトの作成が行われる。この時、入力部１から使用する配線層の指定があった場合、使用セル選択部３０で対応する配線層のレイアウトデータをレイアウトデータベース６から選択し、レイアウト編集部５に送る。レイアウト編集部５では、使用する配線層に対し最適なデータでレイアウト設計を行える。そして、レイアウトのデータが出力部９から出力される。
【０１０６】
例えば、図２２は本実施の形態に係る半導体設計装置における構成図であり、回路に対し、レイアウトは（１）配線層２層用、（２）配線層３層用を選択した場合を示す。回路の２入力ＮＯＲのＩＧ１Ｉ、２入力ＮＡＮＤのＩＧ２Ｉ、インバータのＩＧ３Ｉが、配線層が２層のレイアウトでは、それぞれ配線層２層用に適したＩＬ１Ｉ，ＩＬ２Ｉ，ＩＬ３Ｉ、配線層が３層のレイアウトでは、それぞれ配線層３層用に適したＩＬ１Ｊ，ＩＬ２Ｊ，ＩＬ３Ｊと、使用する配線層で最適なセルを使用して設計できることを示す。配線層毎に自動的にセルを使い分けることで、設計配線層に合わせた最適なレイアウト設計ができる。
【０１０７】
〈設計プロセス変更部３１を中心とする動作〉
まず、入力部１に入力されたデータがＣＰＵ２で選択される。この時、レイアウトデータをレイアウト編集部５に送り、レイアウトデータベース６に保存する。入力部１からレイアウトの作成指示があった場合、レイアウト編集部５で回路の作成が行われる。この時、レイアウト編集部５では最初に定義されたプロセス条件でレイアウト作成が行われる。
【０１０８】
次に、入力部１からプロセス条件変更の指示があった場合、設計プロセス変更部３１に指示が行われ、設計プロセス変更部３１は、レイアウトデータベース６のレイアウトデータにプロセス条件の変更を行う。そして、レイアウトの設計結果が出力部９から出力される。例えば、図２３は本実施の形態に係る半導体設計装置における構成図であり、設計プロセスファイルにトタランジスタのゲート長を変更する場合の条件が定義されている。この例では、最初に２．０μｍプロセスの場合にトランジスタのゲート長ＴＲＬは２μｍであることが定義されており、プロセス変更後の１．０μｍプロセスの場合にトランジスタのゲート長ＴＲＬは１μｍであることが定義されている。
【０１０９】
図２４の構成図では、インバータのレイアウトで（１）は２．０μｍプロセスの場合、（２）は１．０μｍプロセスの場合の状態を示す。２．０μｍプロセスの場合にトランジスタのゲート長ＴＲＬは２μｍであったのが、１．０μｍプロセスの場合にトランジスタのゲート長ＴＲＬは１μｍになった状態を示す。データを各種プロセス用データに変換させることができるようになり、違うプロセスに対する応用展開が可能になる。
【０１１０】
以上のように本実施の形態に係る半導体設計装置によれば、回路データから機能毎にサブサーキットを認識するサブサーキット認識部１０を設けることにより、機能毎にレイアウトを発生することができるため、構成素子内部の配置及び結線が省略可能になり設計期間の短縮が可能になる。
【０１１１】
また、回路データから機能毎にサブサーキットを認識するサブサーキット認識部１０及びサブサーキットの素子構成を素子毎に分離する素子構成分離部１１を設けることにより、素子構成を分離可能にし、構成素子内部の形状変更が容易になることで設計の自由度が向上する。
【０１１２】
また、素子の属性を変更する素子属性指定部１２を設けることにより、素子の属性を変更可能にし、構成素子内部の形状変更が容易になることで設計の自由度を向上する。
【０１１３】
また、素子にインスタンスの追加を行うインスタンス追加部１３を設けることにより、素子にインスタンス追加が可能になるので、回路図に依存しない基板コンタクトなどの挿入が任意の箇所に追加できる。
【０１１４】
また、作成中の仮ネットリスト名を作成する仮ネット名生成部１４及び回路とレイアウトのネットリスト名の相関関係を判断する回路ネット名判断部１５を設けることにより、回路図が決まる前にレイアウト設計を開始し、後でネット接続の一致を確認することができるようになり、回路とレイアウトの同時設計を可能にし設計期間の短縮ができる。
【０１１５】
また、回路とレイアウトのネットリスト名を自動で一致させるネット名調整部１６を設けることにより、回路図とレイアウトのネットリストやインスタンスの名前を自動で一致させることができるため、デバッグが容易になる。
【０１１６】
また、回路とレイアウトの相違点を判断しハイライトさせる相違点判断部１７を設けることにより、回路とレイアウトの相違点をハイライトすることができるようになり、デバッグが容易になる。
【０１１７】
また、禁止入力を事前に回避する禁止入力判断部１８を設けることにより、禁止入力を事前に回避できるので、誤設計が防止できる。
【０１１８】
また、機能を表したアイコンを押せば対応するレイアウトを発生するアイコンリンク部２０を設けることにより、機能を表したアイコンを押しレイアウトを発生できるようになり、設計時の認識性が向上し開発期間が短縮できる。
【０１１９】
また、機能毎のレイアウトをライブラリ化するライブラリ指定部２２を設けることにより、機能毎のレイアウトをライブラリ化できるので、各種形状の発生が容易になり設計工数が削減できる。
【０１２０】
また、設計グリッドを修正する設計グリッド修正部２３を設けることで、設計グリッドを後で決めることができるようになり、デザインルール確定前の設計着手が可能になる。
【０１２１】
また、回路では未確定で、ネットリストのないポリゴンデータとの接続を行う機能未定箇所作成部２４を設けることで、ネットリストの無いポリゴンデータとの接続を行うことができるようになり、機能未確定のデータの取扱いが可能になる。
【０１２２】
また、回路では未確定で、ネットリストのないポリゴンデータのセル化を行うセル化実施部２６を設けることにより、ポリゴンデータをセル化できるようになり、機能未確定データの再利用が可能になる。
【０１２３】
また、選択的に回路とレイアウトの表示を混在させる相互表示部２７を設けることで、選択的に回路とレイアウトの表示を混在させることができるようになり、設計時の回路認識性が向上し誤設計を防止できる。
【０１２４】
また、指定したセルにロックをかけるロック指定部２８を設けることで、指定したセルにロックをかけることができるようになり、ロックのかかったセルが編集不可になり変更してはいけないセルの誤修正を防止できる。
【０１２５】
また、コメントを入力するコメント入力部２９を設けることで、回路とレイアウトとのコメント入力がリンクしてできるようになり、回路設計者とレイアウト設計者の誤引継ぎを防止できる。
【０１２６】
また、設計配線層にあわせ自動的にセルを使い分ける使用セル選択部３０を設けることで、配線層毎に自動的にセルを使い分けることができるようになり、設計配線層毎に最適なセルが選択できる。
【０１２７】
また、プロセス条件の選択により使用プロセスの設計データを自動的に適合させる設計プロセス変更部３１を設けることで、データを各種プロセス用データに変換させることができるようになり、違うプロセスに対する応用展開が可能になる。
【０１２８】
なお、上記実施の形態では、半導体回路の設計装置の場合としたが、プリント基板回路の設計装置の場合としてもよい。
【産業上の利用可能性】
【０１２９】
本発明は、半導体のメモリ回路やアナログ回路のレイアウト設計を行う用途への適用が可能である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の一実施の形態に係る半導体設計装置の構成を示すブロック図
【図２】本発明の一実施の形態に係る半導体設計装置における構成図
【図３】本発明の一実施の形態に係る半導体設計装置における構成図
【図４】本発明の一実施の形態に係る半導体設計装置における構成図
【図５】本発明の一実施の形態に係る半導体設計装置における構成図
【図６】本発明の一実施の形態に係る半導体設計装置における構成図
【図７】本発明の一実施の形態に係る半導体設計装置における構成図
【図８】本発明の一実施の形態に係る半導体設計装置における構成図
【図９】本発明の一実施の形態に係る半導体設計装置における構成図
【図１０】本発明の一実施の形態に係る半導体設計装置における構成図
【図１１】本発明の一実施の形態に係る半導体設計装置における構成図
【図１２】本発明の一実施の形態に係る半導体設計装置における構成図
【図１３】本発明の一実施の形態に係る半導体設計装置における構成図
【図１４】本発明の一実施の形態に係る半導体設計装置における構成図
【図１５】本発明の一実施の形態に係る半導体設計装置における構成図
【図１６】本発明の一実施の形態に係る半導体設計装置における構成図
【図１７】本発明の一実施の形態に係る半導体設計装置における構成図
【図１８】本発明の一実施の形態に係る半導体設計装置における構成図
【図１９】本発明の一実施の形態に係る半導体設計装置における構成図
【図２０】本発明の一実施の形態に係る半導体設計装置における構成図
【図２１】本発明の一実施の形態に係る半導体設計装置における構成図
【図２２】本発明の一実施の形態に係る半導体設計装置における構成図
【図２３】本発明の一実施の形態に係る半導体設計装置における構成図
【図２４】本発明の一実施の形態に係る半導体設計装置における構成図
【図２５】従来の半導体設計装置における構成図
【図２６】従来の半導体設計装置における構成図
【図２７】従来の半導体設計装置における構成図
【図２８】従来の半導体設計装置における構成図
【図２９】従来の半導体設計装置における構成図
【図３０】従来の半導体設計装置における構成図
【図３１】従来の半導体設計装置における構成図
【図３２】従来の半導体設計装置における構成図
【図３３】従来の半導体設計装置における構成図
【符号の説明】
【０１３１】
１  入力部
２  ＣＰＵ
３  回路編集部
４  回路図データベース
５  レイアウト編集部
６  レイアウトデータベース
７  デザインルール判断部
８  接続抽出部
９    出力部
１０  サブサーキット認識部
１１  素子構成分離部
１２  素子属性指定部
１３  インスタンス追加部
１４  仮ネット名生成部
１５  回路ネット名判断部
１６  ネット名調整部
１７  相違点判断部
１８  禁止入力判断部
１９  禁止入力データベース
２０  アイコンリンク部
２１  表示用データベース
２２  ライブラリ指定部
２３  設計グリッド修正部
２４  機能未定箇所作成部
２５  素子情報抽出部
２６  セル化実施部
２７  相互表示部
２８  ロック指定部
２９  コメント入力部
３０  使用セル選択部
３１  設計プロセス変更部
【図１】
2005115802.tif 000003
【図２】
2005115802.tif 000004
【図３】
2005115802.tif 000005
【図４】
2005115802.tif 000006
【図５】
2005115802.tif 000007
【図６】
2005115802.tif 000008
【図７】
2005115802.tif 000009
【図８】
2005115802.tif 000010
【図９】
2005115802.tif 000011
【図１０】
2005115802.tif 000012
【図１１】
2005115802.tif 000013
【図１２】
2005115802.tif 000014
【図１３】
2005115802.tif 000015
【図１４】
2005115802.tif 000016
【図１５】
2005115802.tif 000017
【図１６】
2005115802.tif 000018
【図１７】
2005115802.tif 000019
【図１８】
2005115802.tif 000020
【図１９】
2005115802.tif 000021
【図２０】
2005115802.tif 000022
【図２１】
2005115802.tif 000023
【図２２】
2005115802.tif 000024
【図２３】
2005115802.tif 000025
【図２４】
2005115802.tif 000026
【図２５】
2005115802.tif 000027
【図２６】
2005115802.tif 000028
【図２７】
2005115802.tif 000029
【図２８】
2005115802.tif 000030
【図２９】
2005115802.tif 000031
【図３０】
2005115802.tif 000032
【図３１】
2005115802.tif 000033
【図３２】
2005115802.tif 000034
【図３３】
2005115802.tif 000035