(57)【要約】【課題】設計の対象回路の製造時に使用するマスク層の特定に要する時間の短縮化を図る。【解決手段】設計支援装置１００は、複数のマクロから対象回路の機能によって選択したマクロについての記憶部１０１に記憶されたレイアウトデータ１１２と、記憶部１０１に記憶された素子情報１１３と、に基づいて、選択したマクロに含まれる素子を特定する。設計支援装置１００は、記憶部１０１に記憶されたマスク情報１１４に基づいて、特定した素子を製造する際に用いるマスク層を特定する。設計支援装置１００は、特定した素子ｅ１についてはマスク層Ｍ０１を特定する。設計支援装置１００は、特定した素子ｅ２についてはマスク層Ｍ０２とマスク層Ｍ０３とを特定する。設計支援装置１００は、特定した素子ｅ３についてはマスク層Ｍ０６とマスク層Ｍ０８とを特定する。【選択図】図１
2016139341.tif 000002
【特許請求の範囲】
【請求項１】
複数のマクロの各々について前記マクロを形成する物理層の組み合わせを示すレイアウトデータと、複数種類の素子の各々について前記素子と前記素子を形成する物理層とを対応付けた素子情報と、前記複数種類の素子の一部と前記複数種類の素子のうちの一部の素子の組み合わせとの各々について前記素子または前記素子の組み合わせを製造する際に用いるマスク層を示すマスク情報と、を記憶する記憶部と、
前記複数のマクロから設計の対象回路の仕様に規定された前記対象回路の機能によって選択したマクロについての前記記憶部に記憶された前記レイアウトデータと、前記記憶部に記憶された前記素子情報と、に基づいて、選択した前記マクロに含まれる素子を特定し、
前記記憶部に記憶された前記マスク情報に基づいて、特定した前記素子を製造する際に用いるマスク層を特定する、
制御部を有することを特徴とする設計支援装置。
【請求項２】
前記記憶部は、
前記マスク情報が示すマスク層の各々についての前記マスク層の価格を示す価格情報を記憶し、
前記制御部は、
前記価格情報に基づいて、特定した前記マスク層の合計の価格を算出する、
ことを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記記憶部は、
前記マスク情報が示すマスク層の各々についての前記マスク層を用いる製造工程に要する時間を示す時間情報を記憶し、
前記制御部は、
前記時間情報に基づいて、特定した前記マスク層を用いる製造工程に要する合計の時間を算出する、
ことを特徴とする請求項１または２に記載の設計支援装置。
【請求項４】
前記制御部は、
特定した前記素子と、前記仕様に規定された製造時の条件と、が、製造時に組み合わせなければならない特定の条件を満たすか否かを判断し、
前記特定の条件を満たさないと判断した場合、前記マスク層を特定する処理を行わず、前記特定の条件を満たすと判断した場合、前記マスク層を特定する処理を行う、
ことを特徴とする請求項１〜３のいずれか一つに記載の設計支援装置。
【請求項５】
前記制御部は、
特定した前記素子と、前記仕様に規定された製造時の条件と、が、製造時に組み合わせてはいけない特定の条件を満たすか否かを判断し、
前記特定の条件を満たすと判断した場合、前記マスク層を特定する処理を行わず、前記特定の条件を満たさないと判断した場合、前記マスク層を特定する処理を行う、
ことを特徴とする請求項１〜４のいずれか一つに記載の設計支援装置。
【請求項６】
前記記憶部は、前記複数種類の素子の一部の組み合わせの各々についての評価値を示す評価情報を記憶し、
前記機能が第１機能と第２機能であって、前記第１機能について選択した前記マクロが第１マクロであり、前記第２機能について選択した前記マクロが第２マクロである場合に、
前記制御部は、
前記第１マクロについて特定した前記素子と、前記第２マクロについて特定した前記素子と、の組み合わせについての評価値を、前記記憶部に記憶された前記評価情報に基づき導出し、
導出した前記評価値と、特定した前記マスク層と、を関連付けて表示する、
ことを特徴とする請求項１〜５のいずれか一つに記載の設計支援装置。
【請求項７】
前記記憶部は、前記複数種類の素子の一部の組み合わせの各々についての評価値を示す評価情報を記憶し、
特定した前記素子が複数ある場合に、
前記制御部は、
特定した複数の素子についての評価値を、前記記憶部に記憶された前記評価情報に基づき導出し、
導出した前記評価値と、特定した前記マスク層と、を関連付けて表示する、
ことを特徴とする請求項１〜６のいずれか一つに記載の設計支援装置。
【請求項８】
複数のマクロの各々について前記マクロを形成する物理層の組み合わせを示すレイアウトデータと、複数種類の素子の各々について前記素子と前記素子を形成する物理層とを対応付けた素子情報と、前記複数種類の素子の一部と前記複数種類の素子のうちの一部の素子の組み合わせとの各々について前記素子または前記素子の組み合わせを製造する際に用いるマスク層を示すマスク情報と、を記憶する記憶装置にアクセス可能なコンピュータが、
前記複数のマクロから設計の対象回路の仕様に規定された前記対象回路の機能によって選択したマクロについての前記記憶装置に記憶された前記レイアウトデータと、前記記憶装置に記憶された前記素子情報と、に基づいて、選択した前記マクロに含まれる素子を特定し、
前記記憶装置に記憶された前記マスク情報に基づいて、特定した前記素子を製造する際に用いるマスク層を特定する、
処理を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援装置、および設計支援方法に関する。
【背景技術】
【０００２】
従来、半導体集積回路の製造方法において、フォトマスクを利用して露光などの処理が行われる。半導体集積回路を製造する前に、マスク費用を見積もる技術が公知である。例えば、マスク費用は、マスクレイアウトを実施した上でレイアウトデータを生成後に見積もりが行われる（例えば、以下特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−６４０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、製造時に利用されるフォトマスクは、マスクレイアウトを実施した上でレイアウトデータを生成した後に特定されるため、フォトマスクを特定するのに時間がかかるという問題点がある。
【０００５】
１つの側面では、本発明は、製造時に利用されるフォトマスクの特定に要する時間の短縮化を図ることができる設計支援装置、および設計支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面によれば、複数のマクロの各々について前記マクロを形成する物理層の組み合わせを示すレイアウトデータと、複数種類の素子の各々について前記素子と前記素子を形成する物理層とを対応付けた素子情報と、前記複数種類の素子の一部と前記複数種類の素子のうちの一部の素子の組み合わせとの各々について前記素子または前記素子の組み合わせを製造する際に用いるマスク層を示すマスク情報と、を記憶する記憶部と、前記複数のマクロから設計の対象回路の仕様に規定された前記対象回路の機能によって選択したマクロについての前記記憶部に記憶された前記レイアウトデータと、前記記憶部に記憶された前記素子情報と、に基づいて、選択した前記マクロに含まれる素子を特定し、前記記憶部に記憶された前記マスク情報に基づいて、特定した前記素子を製造する際に用いるマスク層を特定する設計支援装置、および設計支援方法が提案される。
【発明の効果】
【０００７】
本発明の一態様によれば、製造時に利用されるフォトマスクの特定に要する時間の短縮化を図ることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、設計支援装置による一動作例を示す説明図である。
【図２】図２は、ＬＳＩ設計処理例を示す説明図である。
【図３】図３は、設計支援装置のハードウェア構成例を示すブロック図である。
【図４】図４は、設計支援装置の機能的構成例を示すブロック図である。
【図５】図５は、要求仕様例を示す説明図である。
【図６】図６は、素子抽出ルール情報例を示す説明図である。
【図７】図７は、素子抽出処理例を示す説明図である。
【図８】図８は、機能マクロと素子との対応テーブル例を示す説明図である。
【図９】図９は、変換ルール例を示す説明図である。
【図１０】図１０は、価格対応テーブル例を示す説明図である。
【図１１】図１１は、時間対応テーブル例を示す説明図である。
【図１２】図１２は、表示例を示す説明図である。
【図１３】図１３は、実施例１にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。
【図１４】図１４は、組み合わせ必須情報例を示す説明図である。
【図１５】図１５は、実施例２にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。
【図１６】図１６は、組み合わせ禁止情報例を示す説明図である。
【図１７】図１７は、実施例３にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。
【図１８】図１８は、組み合わせ相性情報例１を示す説明図である。
【図１９】図１９は、組み合わせ相性情報例２を示す説明図である。
【図２０】図２０は、相性度に基づく画面例を示す説明図である。
【図２１】図２１は、実施例４にかかる設計支援装置による設計支援処理手順例を示すフローチャート（その１）である。
【図２２】図２２は、実施例４にかかる設計支援装置による設計支援処理手順例を示すフローチャート（その２）である。
【図２３】図２３は、設計支援装置がサーバの場合の例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本発明にかかる設計支援装置、および設計支援方法の実施の形態を詳細に説明する。
【００１０】
図１は、設計支援装置による一動作例を示す説明図である。まず、設計支援装置１００は、例えば、設計の対象回路の仕様に基づいて製造時に使用するフォトマスクを推定するコンピュータである。
【００１１】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の製造工程では、半導体集積回路のパターン原版をガラスなどに形成したフォトマスクが使用される。ＬＳＩ設計において、フォトマスクは半導体の素子の種類などによって決まる。半導体の素子とは、トランジスタ、ダイオード、抵抗、容量などである。そして、素子の種類はＬＳＩに搭載される機能マクロの種類や性能によって決まる。そのため、フォトマスクの製造コストは機能マクロのそれぞれに対して単純に価格が設定されているものではない。例えば、ベースとなるスタンダードセルと搭載する機能マクロとの組み合わせや機能マクロ同士の組み合わせなどによってフォトマスクの数、フォトマスクの種類が決定される。そして、製造コストはフォトマスクの数、フォトマスクの種類によって定まる。
【００１２】
しかしながら、従来、製造時に利用する配線層や部品層のフォトマスクはマスクレイアウトを実施した上でレイアウトデータ１１２を生成した後に特定されるため、利用されるフォトマスクを特定するのに時間がかかるという問題点がある。そのため、利用されるフォトマスクに基づく製造コストの見積にも時間がかかるという問題点がある。
【００１３】
本実施の形態では、設計支援装置１００は、所望の回路の機能により選択したマクロを形成する物理層から素子を特定し、特定した素子に基づき対象回路を製造する際に用いるマスク層を特定する。これにより、所望の回路の製造時に使用されるマスク層が、レイアウトを行うことなく特定される。したがって、マスク層の特定に要する時間の短縮化を図ることができる。
【００１４】
まず、記憶部１０１は、複数のマクロの各々についてマクロを形成する物理層の組み合わせを示すレイアウトデータ１１２と、複数種類の素子の各々について素子と素子を形成する物理層とを対応付けた素子情報１１３と、を記憶する。物理層とは、金属配線層、不純物拡散層、ポリシリコン配線層、ビア層、などである。金属配線層は、メタル層とも称する。また、記憶部１０１は、複数種類の素子の一部と複数種類の素子のうちの一部の素子の組み合わせとの各々について素子または素子の組み合わせを製造する際に用いるマスク層を示すマスク情報１１４と、を記憶する。素子の組み合わせとは、複数種類の素子である。例えば、素子ｅ１０を製造する際には、マスク層Ｍ０１を用いるが、素子ｅ１１と素子ｅ１０とを製造する際には、マスク層Ｍ１０を用いるなど、２つの種類の素子が揃った場合に異なるマスク層を用いる場合がある。この素子ｅ１０と素子ｅ１１とが素子の組み合わせである。
【００１５】
設計支援装置１００は、複数のマクロから対象回路の機能によって選択したマクロについての記憶部１０１に記憶されたレイアウトデータ１１２と、記憶部１０１に記憶された素子情報１１３と、に基づいて、選択したマクロに含まれる素子を特定する。対象回路の機能は、複数のマクロから設計の対象回路の仕様に規定される。仕様は、例えば、利用者の操作によって入力される要求仕様情報１１１などに記述される。
【００１６】
図１（１）に示すように、設計支援装置１００は、複数のマクロから対象回路の機能によって選択したマクロについての記憶部１０１に記憶されたレイアウトデータ１１２に基づいてマクロを形成する物理層を特定する。例えば、選択されたマクロＡは物理層Ｌ１と物理層Ｌ２とによって形成され、選択されたマクロＢは物理層Ｌ４によって形成される。
【００１７】
そして、設計支援装置１００は、素子情報１１３に基づいて、特定した物理層によって形成される素子を特定する。つぎに、特定された物理層Ｌ１は例えば素子ｅ１を形成し、特定された物理層Ｌ２は例えば素子ｅ２を形成し、特定された物理層Ｌ４は例えば素子ｅ３を形成する。ここでは、物理層と素子とが１対１で対応しているが、これに限らず、複数の物理層が１つの素子を形成する場合もある。
【００１８】
つぎに、図１（２）に示すように、設計支援装置１００は、記憶部１０１に記憶されたマスク情報１１４に基づいて、特定した素子を製造する際に用いるマスク層を特定する。設計支援装置１００は、特定した素子ｅ１についてはマスク層Ｍ０１を特定する。設計支援装置１００は、特定した素子ｅ２についてはマスク層Ｍ０２とマスク層Ｍ０３とを特定する。設計支援装置１００は、特定した素子ｅ３についてはマスク層Ｍ０６とマスク層Ｍ０８とを特定する。
【００１９】
これにより、設計の対象回路を製造する場合のマスク層の特定にかかる時間の短縮化を図ることができる。
【００２０】
また、図１（３）に示すように、設計支援装置１００は、価格情報１１５に基づいて、特定したマスク層の価格の合計値を算出する。例えば、マスク層Ｍ０１は１００万円であり、マスク層Ｍ０２は５０万円である。マスク層Ｍ０３は２０万円であり、マスク層Ｍ０６は１５万円である。マスク層Ｍ０８は３０万円である。マスク層の価格の合計値は２１５万円である。設計支援装置１００は、算出結果を特定したマスク層に関連付けて記憶部１０１に記憶してもよいし、算出結果を特定したマスク層に関連付けてディスプレイなどに表示してもよい。
【００２１】
これにより、設計の対象回路を製造する場合のマスク層の価格の合計値の見積もり時間の短縮化を図ることができる。
【００２２】
図２は、ＬＳＩ設計処理例を示す説明図である。上述したように、スタンダードセルとマクロの組み合わせ、マクロ同士の組み合わせなどによってＬＳＩ全体が設計される。図２のＬＳＩ設計処理では、スタンダードセルとマクロＤとを合成、マクロＡとマクロＢとを合成してＬＳＩ全体を設計してある。そのため、上述したように、機能マクロ同士の組み合わせなどによってフォトマスクの数や種類が定まり、製造コストが定まる。
【００２３】
（設計支援装置１００のハードウェア構成例）
図３は、設計支援装置のハードウェア構成例を示すブロック図である。図３において、設計支援装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。設計支援装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９と、を有する。また、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、ディスクドライブ３０４と、Ｉ／Ｆ３０６と、キーボード３０７と、マウス３０８と、ディスプレイ３０９とは、バス３００によってそれぞれ接続されている。
【００２４】
ここで、ＣＰＵ３０１は、設計支援装置１００の全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、磁気ディスク、光ディスクなどが挙げられる。
【００２５】
Ｉ／Ｆ３０６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク３１０に接続され、このネットワーク３１０を介して他の装置に接続される。そして、Ｉ／Ｆ３０６は、ネットワーク３１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ３０６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００２６】
キーボード３０７やマウス３０８は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ３０９は、ＣＰＵ３０１の指示により、データを表示するインターフェースである。
【００２７】
また、図示省略するが、設計支援装置１００は、例えば、カメラから画像や動画を取り込むことができる入力装置、マイクから音声を取り込むことができる入力装置などが設けられていてもよい。また、設計支援装置１００は、例えば、プリンタなどの出力装置が設けられていてもよい。
【００２８】
また、図３のハードウェア構成例では、設計支援装置１００がデスクトップ型のＰＣやノート型のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）である場合を例に挙げているが、これに限らず、図２３で後述するように設計支援装置１００はサーバであってもよい。設計支援装置１００がサーバである場合、例えば、設計支援装置１００が、ネットワーク３１０を介して利用者が操作可能な装置にアクセス可能とする。この場合、各処理の処理結果は、例えば、設計支援装置１００のＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されてもよいし、利用者が操作可能な装置の記憶装置に記憶されてもよい。また、設計支援装置１００は、ネットワーク３１０を介して、利用者が操作可能な装置が有するディスプレイ３０９などに処理結果を表示してもよい。
【００２９】
（設計支援装置１００の機能的構成例）
図４は、設計支援装置の機能的構成例を示すブロック図である。設計支援装置１００は、記憶部１０１と、選択部４０１と、第１特定部４０２と、第２特定部４０３と、第３特定部４０６と、表示部４０９と、を有する。選択部４０１から表示部４０９までの制御部の処理は、例えば、図３に示すＣＰＵ３０１がアクセス可能なＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶されたプログラムにコーディングされている。そして、ＣＰＵ３０１が記憶装置から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。
【００３０】
本実施の形態では、各部の詳細な処理について、実施例１〜実施例４を用いて詳細に説明する。
【００３１】
（実施例１）
実施例１では、設計支援装置１００は、要求仕様に規定の対象回路の機能を実現するマクロを選択し、選択したマクロを示すレイアウトデータからレイヤーコードを特定する。そして、設計支援装置１００は、特定したレイヤーコードからマクロに含まれる素子を特定し、特定した素子に基づいて素子の製造時のマスク層を特定する。これにより、レイアウト処理を行うことなく対象回路のマスクセットを特定できる。マスクセットとは、特定されたマスクの組み合わせである。したがって、マスクセットの特定に要する時間の短縮化を図ることができる。また、レイアウト処理を行わなくてよいため、マスクセットの特定を簡単に行うことができる。
【００３２】
図５は、要求仕様例を示す説明図である。要求仕様情報１１１は、例えば、コモン情報、設計の対象回路に含めるメモリマクロの情報、機能マクロの情報を含む。
【００３３】
コモン情報では、テクノロジーノード、ＬＳＩサイズ、周波数、電源電圧などが規定される。例えば、テクノロジーノードは６５［ｎｍ］であり、ＬＳＩサイズは１０［ｍｍ］×１０［ｍｍ］であり、周波数は５００［ＭＨｚ］〜８００［ＭＨｚ］であり、電源電圧は１．２［Ｖ］である。また、図示省略するが、コモン情報には、使用予定の配線層の種類や使用予定のパッケージなどを指定する情報が含まれていてもよい。
【００３４】
メモリマクロの情報では、アドレスの入力ポート、データ読み出し／書き込みポート、スリープモードなどが規定される。アドレスの入力ポートと、データ読み出し／書き込みポートとは数が規定され、スリープモードは「あり」または「なし」が規定される。例えば、アドレスの入力ポートは２であり、データ読み出し／書き込みポートは２であり、スリープモードはありである。
【００３５】
選択部４０１は、要求仕様情報１１１が示す要求仕様によって対象回路の機能に対応する機能マクロを選択する。例えば、選択部４０１は、暗号化を行う暗号化マクロを含めることが要求仕様に規定されている場合、機能マクロのアーキテクチャーから暗号化マクロを選択する。実施例１では、要求仕様に規定されている機能が１つであり、機能マクロのアーキテクチャーから規定された機能に対応する機能マクロが１つとする。
【００３６】
マクロ情報管理データベース４１１には、マクロの各々について、マクロの機能を示す情報が含まれる。これにより、選択部４０１は、マクロ情報管理データベース４１１にマクロの機能を示す情報を検索キーとして入力することによって、入力された検索キーに応じた機能マクロを選択することができる。これにより、利用者は要求仕様情報１１１によって機能を指定するだけで設計支援装置１００によって製造時に利用されるマスク層が推定される。
【００３７】
また、マクロ情報管理データベース４１１は、ＬＳＩの設計に用いられるライブラリである。マクロ情報管理データベース４１１には、例えば、マクロの各々について、マクロを形成する物理層によってマクロを示すレイアウトデータ１１２が含まれる。レイアウトデータ１１２は、例えば、ＧＤＳ（Ｇｒａｐｈｉｃ  Ｄａｔａ  Ｓｙｓｔｅｍ）データである。ＧＤＳでは、（レイヤー，データタイプ）によって表される物理層に基づきマクロが表される。
【００３８】
また、選択部４０１は、選択したマクロを示す識別情報を、機能ごとに機能を示す識別情報に関連付けて、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶してもよい。
【００３９】
つぎに、第１特定部４０２および第２特定部４０３は、選択されたマクロについての記憶部１０１に記憶されたレイアウトデータ１１２と、記憶部１０１に記憶された素子情報１１３と、に基づいて、選択されたマクロに含まれる素子を特定する。
【００４０】
図６は、素子抽出ルール情報例を示す説明図である。素子抽出ルール情報４１２は、例えば、物理層から素子を特定するための条件が規定された素子情報１１３である。各素子は、物理層の組み合わせの図形によって表される。例えば、素子抽出ルール情報４１２によれば、「１．２Ｖ  Ｓｖｔ  Ｔｒ．」という素子は、（レイヤー，データタイプ）が（１，０）と（２，０）と（０，７）の組み合わせの図形によって表される。
【００４１】
素子抽出ルール情報４１２は、素子、レイヤー構造のフィールドを有す。素子のフィールドには、素子を特定可能な識別情報が設定される。レイヤー構造のフィールドには、素子を特定可能な物理層を示すレイヤーコードが設定される。各フィールドに情報が設定されることによりレコード（例えば、６００−１，６００−２など）として記憶される。
【００４２】
図７は、素子抽出処理例を示す説明図である。選択部４０１は、マクロ情報管理データベース４１１に登録された複数種類のマクロのうち、要求仕様情報１１１によって規定された機能に応じたマクロを選択する。例えば、要求仕様情報１１１によって画像処理マクロを使用することが規定されているため、選択部４０１は、画像処理マクロとして、例えば、ＭＡＣＲＯ＿Ａを選択する。また、図７の例では、他にＭＡＣＲＯ＿Ｃが選択される。
【００４３】
つぎに、第１特定部４０２は、選択されたマクロについて、マクロ情報管理データベース４１１に登録されたマクロについてのレイアウトデータに基づいて、マクロを形成する物理層を特定する。例えば、選択されたＭＡＣＲＯ＿Ａについては、ＭＡＣＲＯ＿Ａを形成する物理層を示すレイヤーコードである（レイヤー，データタイプ）として、（１，０）と（２，０）と（５，０）と（０，７）などが特定される。
【００４４】
つぎに、第２特定部４０３は、素子抽出ルール情報４１２に基づいて、複数種類の素子から、第１特定部４０２によって特定された物理層によって形成される素子を特定する。第２特定部４０３は、例えば、ＭＡＣＲＯ＿Ａを形成する物理層である（１，０）と（２，０）と（０，７）によって、「１．２［Ｖ］  Ｓｖｔ  Ｔｒ．」を特定する。また、図７の例では、例えば、「１．２［Ｖ］  Ｓｖｔ  Ｔｒ．」、「Ｐｒｏｔｅｃｔ  Ｄｉｏｄｅ．」、「ＭＦＣ」が特定される。そして、第２特定部４０３は、選択されたマクロについて特定した素子と、要求仕様情報１１１によって規定された製造オプションと、を対応テーブルとしてＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶部１０１に格納する。
【００４５】
図８は、機能マクロと素子との対応テーブル例を示す説明図である。対応テーブル８００は、選択された機能マクロの各々について特定した素子と、製造オプションと、を示す。
【００４６】
例えば、対応テーブル８００において、ＭＡＣＲＯ＿Ａについて特定した素子は、「ＤＥＶＩＣＥ」と「ＥＮＤ＿ＤＥＶＩＣＥ」との間に記述される。例えば、対応テーブル８００において、特定した素子は、「’１．２Ｖ  Ｓｖｔ  Ｔｒ．’：’’」と「’Ｐｒｏｔｅｃｔ  Ｄｉｏｄｅ’：’’」と「’ＭＦＣ（Ｈｉｇｈ  ｄｅｎｓｉｔｙ）’：’’」のように記述される。
【００４７】
また、対応テーブル８００には、さらに、要求仕様情報１１１に規定の製造オプションについても記述される。
【００４８】
つぎに、第３特定部４０６は、複数のマスク層のうち、第２特定部４０３によって特定された素子を製造する際に用いるマスク層を特定する。
【００４９】
図９は、変換ルール例を示す説明図である。変換ルール４１３は、複数種類の素子と、複数種類の素子に含まれる一部の素子の組み合わせと、の各々について製造時に利用するマスク層を特定可能なマスク情報１１４である。第３特定部４０６は、例えば、特定された素子が素子ｅ１であれば、マスク層Ｍ０５を特定する。また、第３特定部４０６は、特定された素子が素子ｅ２と素子ｅ３とであれば、マスク層Ｍ０６を特定する。第３特定部４０６は、特定された素子が素子ｅ２と素子ｅ３と素子ｅ４とであれば、マスク層Ｍ０６を特定せずにマスク層Ｍ０７を特定する。
【００５０】
また、第３特定部４０６は、特定された素子と、要求仕様情報１１１に規定された製造オプションと、の組み合わせによってマスク層を特定してもよい。例えば、特定された素子が素子ｅ３と素子ｅ４とであり、製造オプションが製造オプションＯＡであれば、第３特定部４０６は、マスク層Ｍ０８を特定する。
【００５１】
そして、表示部４０９は、第３特定部４０６によって特定されたマスクセットを表示する。表示部４０９は、例えば、特定されたマスクセットをディスプレイ３０９に表示する。また、表示部４０９は、例えば、要求仕様情報１１１に規定の機能と、選択された機能マクロと、特定された素子と、特定されたマスクセットと、を関連付けて表示してもよい。また、表示部４０９は、例えば、要求仕様情報１１１に規定の機能ごとに、選択された機能マクロと、特定された素子と、を表示してもよい。
【００５２】
記憶部１０１には、マスク情報１１４が示すマスク層の各々についてのマスク層の価格を示す価格情報１１５を記憶する。そして、見積もり部４０８は、価格情報１１５に基づいて、特定されたマスク層の価格の合計値を算出する。
【００５３】
図１０は、価格対応テーブル例を示す説明図である。価格対応テーブル４１７は、マスク情報１１４が示すマスク層の各々についてのマスク層の価格を示す価格情報１１５である。価格対応テーブル４１７は、マスク層、価格のフィールドを有する。各フィールドに情報が設定されることにより、レコード（例えば、１０００−１，１０００−２など）として登録される。価格対応テーブル４１７は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。レコード１０００−１を例に挙げると、マスク層Ｍ０１の価格は５００万円である。
【００５４】
見積もり部４０８は、例えば、価格対応テーブル４１７に基づいて、特定したマスク層の各々についての価格を抽出する。見積もり部４０８は、例えば、抽出した価格を合計する。
【００５５】
また、価格対応テーブル４１７については、複数用意しておいてもよい。そして、見積もり部４０８は、複数の価格対応テーブル４１７の各々について合計値を算出してもよい。価格対応テーブル４１７が複数あるとは、ＬＳＩ製造メーカが複数ある場合などが挙げられる。これにより、より利用者のニーズにあった価格での製造コストを見積もることができる。
【００５６】
また、見積もり部４０８は、例えば、記憶部１０１には、マスク情報１１４が示すマスク層の各々についてのマスク層を用いる製造工程に要する時間を示す時間情報を記憶する。見積もり部４０８は、時間情報に基づいて、特定したマスク層を用いる製造工程に要する合計の時間を算出する。
【００５７】
図１１は、時間対応テーブル例を示す説明図である。時間対応テーブル４１８は、マスク情報１１４が示すマスク層の各々についてのマスク層を用いる製造工程に要する時間を示す時間情報である。時間対応テーブル４１８は、マスク層、製造時間のフィールドを有する。各フィールドに情報が設定されることにより、レコード（１１００−１，１１００−２など）として登録される。時間対応テーブル４１８は、例えば、ＲＯＭ３０２、ＲＡＭ３０３、ディスク３０５などの記憶装置に記憶される。レコード１１００−１を例に挙げると、マスク層Ｍ０１の製造時間は１０［ｍｉｎｓ］である。
【００５８】
見積もり部４０８は、例えば、時間対応テーブル４１８に基づいて、特定したマスク層の各々についての製造時間を抽出する。そして、見積もり部４０８は、例えば、抽出した製造時間を合計する。
【００５９】
また、表示部４０９は、見積もり部４０８による見積もり結果を表示する。表示部４０９は、特定されたマスクセットと、見積もり結果と、を関連付けて表示してもよい。
【００６０】
図１２は、表示例を示す説明図である。図１２（１）には、表示部４０９が、価格対応テーブル４１７と特定されたマスクセットとに基づいて算出されたマスク層の合計値を表示する例を示す。
【００６１】
また、図１２（２）には、表示部４０９が、価格対応テーブル４１７−１〜４１７−３の各々について見積もり部４０８によって算出されたマスク層の合計値を表示する例を示す。
【００６２】
また、図１２（３）では、表示部４０９が、時間対応テーブル４１８と、特定されたマスクセットとに基づいて見積もり部４０８によって算出された製造時間を表示する例を示す。
【００６３】
（実施例１にかかる設計支援装置１００による設計支援処理手順）
図１３は、実施例１にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、要求仕様情報１１１に規定された機能によってマクロを選択する（ステップＳ１３０１）。
【００６４】
つぎに、設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、選択したマクロについて、マクロを形成する物理層を示すレイヤーコードを特定する（ステップＳ１３０２）。そして、設計支援装置１００は、素子抽出ルール情報４１２に基づいて、特定したレイヤーコードに対応する素子を特定する（ステップＳ１３０３）。
【００６５】
設計支援装置１００は、変換ルール４１３に基づいて、特定した素子から素子を形成するマスク層の組み合わせを特定する（ステップＳ１３０４）。つぎに、設計支援装置１００は、価格対応テーブル４１７に基づいて特定したマスク層の組み合わせに応じたマスク費用の合計値を見積もる（ステップＳ１３０５）。
【００６６】
そして、設計支援装置１００は、特定したマスク層の組み合わせと見積もったマスク費用の合計値とを表示し（ステップＳ１３０６）、一連の処理を終了する。
【００６７】
（実施例２）
実施例２では、設計支援装置１００は、実施例１のように特定した素子と要求仕様に規定の製造オプションとが、製造時に組み合わせなければならない条件を満たしている場合に、マスク層を特定する処理を行う。一方、実施例２では、製造時に組み合わせなければならない条件を満たしていない場合に、マスク層を特定する処理を行わない。これにより、実際に使用するマスク層の特定精度の向上を図ることができる。
【００６８】
第１判断部４０４は、第２特定部４０３によって特定された素子と、仕様に規定された製造時の条件とが、製造時に組み合わせなければならない特定の条件を満たすか否かを判断する。特定の条件とは、特定された素子について同時に使用しなければならない素子や製造時の条件である。製造時の条件とは、製造オプションとも称する。製造オプションは、例えば、配線層についていずれの配線層を使用するか、いずれのパッケージを使用するかなどである。図８の対応テーブルには、「＃  Ｍｅｔａｌ  ｔｙｐｅ  ｏｐｔｉｏｎｓ」や「＃  Ｐａｃｋａｇｅ  ｔｙｐｅ  ｏｐｔｉｏｎｓ」などの製造オプションが記述されてある。
【００６９】
図１４は、組み合わせ必須情報例を示す説明図である。組み合わせ必須情報４１４には、同時に使用しなければならない素子の組み合わせ、同時に使用しなければならない素子と製造オプションの組み合わせなどが規定される。例えば、素子ｅ１と素子ｅ２とは同時に使用しなければならない。また、例えば、素子ｅ６と素子ｅ７と製造オプションＯＣとは同時に使用しなければならない。例えば、素子ｅ６と素子ｅ７とはメタルレイヤー９層を使用する製造オプションがなければ使用することができない場合などに、要求仕様情報１１１によってメタルレイヤー８層を使用する製造オプションが指定された場合、素子ｅ６と素子ｅ７とは使用できない。
【００７０】
例えば、第２特定部４０３によって特定された素子が素子ｅ６と素子ｅ７である場合、第１判断部４０４は、要求仕様に規定の製造オプションが製造オプションＯＣであるか否かを判断する。第１判断部４０４は、要求仕様に規定の製造オプションが製造オプションＯＣでないと判断した場合、選択したマクロにおいて製造できないことを示す情報を出力する。出力形式は、例えば、表示部４０９によるディスプレイへの表示でもよいし、記憶部１０１などへの記憶でもよい。
【００７１】
第３特定部４０６は、例えば、第１判断部４０４によって要求仕様に規定の製造オプションが製造オプションＯＣでないと判断された場合に、特定された素子ｅ６と素子ｅ７についてマスク層を特定しない。一方、第３特定部４０６は、例えば、第１判断部４０４によって要求仕様に規定の製造オプションが製造オプションＯＣであると判断された場合に、特定された素子ｅ６と素子ｅ７についてマスク層を特定する。
【００７２】
（実施例２にかかる設計支援装置１００による設計支援処理手順）
図１５は、実施例２にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、要求仕様情報１１１に規定の機能によってマクロを選択する（ステップＳ１５０１）。つぎに、設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、選択したマクロのうち、未対象のマクロがあるか否かを判断する（ステップＳ１５０２）。
【００７３】
未対象のマクロがあると判断された場合（ステップＳ１５０２：Ｙｅｓ）、設計支援装置１００は、未対象のマクロからいずれかのマクロを処理の対象マクロとして選択する（ステップＳ１５０３）。設計支援装置１００は、対象マクロが使用する物理層を示すレイヤーコードを特定する（ステップＳ１５０４）。設計支援装置１００は、素子抽出ルール情報４１２に基づいて、特定したレイヤーコードに対応する素子を特定する（ステップＳ１５０５）。
【００７４】
設計支援装置１００は、特定した素子のうち組み合わせ必須条件のある素子があるか否かを判断する（ステップＳ１５０６）。組み合わせ必須条件のある素子がないと判断された場合（ステップＳ１５０６：Ｎｏ）、設計支援装置１００は、ステップＳ１５０８へ移行する。一方、組み合わせ必須条件のある素子があると判断された場合（ステップＳ１５０６：Ｙｅｓ）、設計支援装置１００は、特定した素子と製造オプションとが組み合わせ必須条件を満たすか否かを判断する（ステップＳ１５０７）。
【００７５】
特定した素子と製造オプションとが条件に合致すると判断された場合（ステップＳ１５０７：Ｙｅｓ）、設計支援装置１００は、変換ルール４１３に基づいて、特定した素子から素子を形成するマスク層の組み合わせを特定し（ステップＳ１５０８）、ステップＳ１５０２へ戻る。特定した素子と製造オプションとが条件に合致しないと判断された場合（ステップＳ１５０７：Ｎｏ）、設計支援装置１００は、対象マクロについて製造できないことを示す情報を生成して出力し（ステップＳ１５０９）、ステップＳ１５０２へ戻る。
【００７６】
ステップＳ１５０２において、未対象のマクロがないと判断された場合（ステップＳ１５０２：Ｎｏ）、設計支援装置１００は、価格対応テーブル４１７に基づいて特定したマスク層の組み合わせに応じたマスク費用の合計値を見積もる（ステップＳ１５１０）。設計支援装置１００は、特定したマスク層の組み合わせと推定したマスク費用とを表示し（ステップＳ１５１１）、一連の処理を終了する。
【００７７】
（実施例３）
実施例３では、実施例１のように特定した素子と、要求仕様に規定の製造オプションとが製造時に組み合わせてはいけない条件を満たしているか否かを判断する。これにより、実際に使用するマスク層の特定精度の向上を図ることができる。
【００７８】
図４の説明に戻って、第２判断部４０５は、特定した素子と、要求仕様に規定の製造オプションとが製造時に組み合わせてはいけない特定の条件を満たしているか否かを判断する。特定の条件は、予め利用者によって定められ、組み合わせ禁止情報４１５に示す。
【００７９】
図１６は、組み合わせ禁止情報例を示す説明図である。組み合わせ禁止情報４１５には、製造時に組み合わせてはいけない条件が記述される。例えば、素子ｅ１と素子ｅ３とは組み合わせてはいけない。例えば、素子ｅ３と素子ｅ５と製造オプションＯＡとは組み合わせてはいけない。
【００８０】
また、組み合わせ禁止情報４１５と、図１４に示す組み合わせ必須情報４１４とを組み合わせてもよい。図１４に示す組み合わせ必須情報４１４によれば、素子ｅ６と素子ｅ７とを同時に使用する場合には製造オプションＯＣが必須である。そのため、組み合わせ禁止情報４１５では、例えば、素子ｅ６と素子ｅ７とだけでは、組み合わせてはいけない。
【００８１】
例えば、素子ｅ６と素子ｅ７とは、メタルレイヤー９層を使用する製造オプションがなければ使用できないが、要求仕様情報１１１によってメタルレイヤー９層を使用する製造オプションが指定されていない場合、素子ｅ６と素子ｅ７とは使用することができない。
【００８２】
第３特定部４０６は、第２判断部４０５によって特定の条件を満たすと判断された場合、マスク層を特定する処理を行わない。一方、第３特定部４０６は、第２判断部４０５によって特定の条件を満たさないと判断された場合、マスク層を特定する処理を行う。
【００８３】
（実施例３にかかる設計支援装置１００による設計支援処理手順例）
図１７は、実施例３にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、要求仕様情報１１１に規定の機能によってマクロを選択する（ステップＳ１７０１）。ここでは、機能ごとに１つのマクロが選択された例である。設計支援装置１００は、選択したマクロのうち、処理の未対象のマクロがあるか否かを判断する（ステップＳ１７０２）。
【００８４】
未対象のマクロがあると判断された場合（ステップＳ１７０２：Ｙｅｓ）、設計支援装置１００は、未対象のマクロからいずれかのマクロを処理の対象マクロとして選択する（ステップＳ１７０３）。設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、対象マクロが使用する物理層を示すレイヤーコードを特定する（ステップＳ１７０４）。設計支援装置１００は、素子抽出ルール情報４１２に基づいて、特定したレイヤーコードに対応する素子を特定し（ステップＳ１７０５）、ステップＳ１７０２へ戻る。
【００８５】
一方、ステップＳ１７０２において、未対象のマクロがないと判断された場合（ステップＳ１７０２：Ｎｏ）、設計支援装置１００は、特定した素子と製造オプションとが、組み合わせ禁止の条件を満たすか否かを判断する（ステップＳ１７０６）。
【００８６】
組み合わせ禁止の条件を満たす場合（ステップＳ１７０６：Ｙｅｓ）、設計支援装置１００は、特定した素子と要求仕様情報１１１に基づく製造オプションとでは製造できないことを示す情報を生成し（ステップＳ１７１０）、一連の処理を終了する。
【００８７】
組み合わせ禁止の条件を満たさない場合（ステップＳ１７０６：Ｎｏ）、設計支援装置１００は、変換ルール４１３に基づいて、特定した素子から素子を形成するマスク層の組み合わせを特定する（ステップＳ１７０７）。ここでは、機能ごとに選択した機能マクロが１つであるが、選択した機能マクロが複数ある場合、設計支援装置１００は、異なる機能において選択した機能マクロの組み合わせごとにマスク層の組み合わせを特定する。設計支援装置１００が、機能１が機能マクロＡと機能マクロＢ、機能２が機能マクロＣを選択した場合に以下のようにマスク層の組み合わせを特定する。設計支援装置１００は、例えば、機能マクロＡと機能マクロＣとの各々について特定した素子のマスク層の組み合わせと、機能マクロＢと機能マクロＣとの各々について特定した素子のマスク層の組み合わせと、を特定する。
【００８８】
そして、設計支援装置１００は、価格対応テーブル４１７に基づいて特定したマスク層の組み合わせに応じたマスク費用の合計値を見積もる（ステップＳ１７０８）。つぎに、設計支援装置１００は、特定したマスク層の組み合わせと推定したマスク費用とを表示し（ステップＳ１７０９）、一連の処理を終了する。
【００８９】
（実施例４）
実施例４は、特定した複数の素子の組み合わせや異なる機能において選択した機能マクロについての素子の組み合わせについて評価値を導出して特定したマスクセットとともに表示してもよい。評価値は、組み合わせの相性を示すため、評価値は、相性度とも称する。利用者が使用するマスクセットを選ぶ際の指標が表示される。例えば、評価値がコストに基づく場合には、コスト費用の比較が可能となり、コストパフォーマンスの高い設計支援が可能となる。また、相性度が過去の歩留まりに基づく場合には、歩留まりの向上を図ることができる。また、相性度が過去の利用実績に基づく場合には、マスクセットを選択し易くなる。
【００９０】
記憶部１０１は、複数種類の素子の一部の組み合わせの各々についての相性度を示す評価情報を記憶する。相性度は、上述したように、例えば、歩留まり、製造コスト、過去の利用実績などによって定まる。設計支援装置１００の開発者や利用者は、相性度を製品が開発される際に更新してもよい。相性度情報の具体例は、図１８と図１９に示す。
【００９１】
導出部４０７は、特定した素子が複数ある場合に、特定した複数の素子についての相性度を、記憶部１０１に記憶された評価情報に基づき導出する。そして、表示部４０９は、導出部４０７によって導出された相性度と、第３特定部４０６によって特定されたマスク層と、を関連付けて表示する。
【００９２】
つぎに、機能が第１機能と第２機能であって、第１機能について選択したマクロが第１マクロであり、第２機能について選択したマクロが第２マクロである場合について説明する。導出部４０７は、第１マクロについて第２特定部４０３によって特定された素子と、第３マクロについて第２特定部４０３によって特定された素子と、の組み合わせについての相性度を、記憶部１０１に記憶された評価情報に基づき導出する。
【００９３】
例えば、要求仕様情報１１１に規定の機能が機能１と機能２である場合について、機能ごとに以下のマクロが選択されたとする。
【００９４】
・機能１について選択されたマクロ：マクロＡ，Ｂ
・機能２について選択されたマクロ：マクロＣ
【００９５】
そのため、素子の組み合わせは、「マクロＡについて特定した素子とマクロＣについて特定した素子との組み合わせ」と「マクロＢについて特定した素子とマクロＣについて特定した素子との組み合わせ」とがある。そして、導出部４０７は、素子の組み合わせごとに組み合わせについての相性度を導出する。
【００９６】
図１８は、組み合わせ相性情報例１を示す説明図である。組み合わせ相性情報４１６−１には、例えば、製造コストや歩留まりなどに基づいて設定された素子の組み合わせの相性度が登録される評価情報である。また、組み合わせ相性情報４１６−１は、組み合わせの相性度の比較対象として、素子単体の相性度も登録される。例えば、素子ｅ１０と素子ｅ１１との組み合わせと、素子ｅ１１と素子ｅ１２との組み合わせは、同一機能であるが、素子ｅ１０と素子ｅ１１との組み合わせの相性度が素子ｅ１１と素子ｅ１２との組み合わせの相性度よりも高いことを示す。ここでは、相性度についてはスコアを付す。
【００９７】
導出部４０７は、素子の組み合わせごとに組み合わせについてのスコアの合計値を算出することによって相性度を導出する。表示部４０９は、導出部４０７によって導出された相性度と、第２特定部４０３によって特定されたマスク層と、を関連付けて表示する。表示部４０９は、導出された相性度を段階的に表してもよい。
【００９８】
図１９は、組み合わせ相性情報例２を示す説明図である。組み合わせ相性情報４１６−２には、例えば、素子の組み合わせの相性度として実績が登録される評価情報である。例えば、素子ｅ１０と素子ｅ１１との組み合わせは５品種に用いられたことがある。例えば、素子ｅ１１と素子ｅ１２との組み合わせは８品種に用いられたことがある。例えば、素子ｅ１３と素子ｅ１４との組み合わせは２品種に用いられたことがある。例えば、素子ｅ１５は１品種について用いられたことがある。
【００９９】
導出部４０７は、素子の組み合わせごとに組み合わせについての実績を特定する。導出部４０７は、素子の組み合わせごとに組み合わせについて特定した実績の合計値を相性度として導出してもよいし、素子の組み合わせごとに、特定した実績の中で最も大きい数値を相性度として導出してもよい。表示部４０９は、導出部４０７によって導出された相性度と、第２特定部４０３によって特定されたマスク層と、を関連付けて表示する。
【０１００】
図２０は、相性度に基づく画面例を示す説明図である。画面２０００は、マスクセットケース１と、マスクセットケース２と、が特定された場合にディスプレイ３０９に表示される例である。画面２０００は、マスクセットケース１とマスクセットケース２との各々について特定されたマスク層と、マスク層に応じた価格と、価格の合計値とを示す。
【０１０１】
また、画面２０００は、上述した組み合わせ相性情報４１６ごとに相性度を示す。例えば、画面２０００は、マスクセットケースごとに組み合わせ相性情報４１６−２に基づく素子の組み合わせについての実績を示す。画面２０００は、マスクセットケース１とマスクセットケース２とで異なるマスク層についてマスク層を特定する際の素子の組み合わせについての実績を導出部４０７が導出した場合の例である。
【０１０２】
また、例えば、画面２０００は、マスクセットケースごとに組み合わせ相性情報４１６−１に基づく素子の組み合わせについての相性度を示す。ここでは、相性度が高いほど、星の数が多く、相性度が低いほど、星の数が少ない。画面２０００は、マスクセットケース１とマスクセットケース２とで異なるマスク層についてマスク層を特定する際の素子の組み合わせについての相性度を導出部４０７が導出した場合の例である。
【０１０３】
画面２０００のように、異なる評価値ごとに表示することによって、利用者が製造時に使用されるマスクセットの検討をし易くでき、設計の効率化を図ることができる。
【０１０４】
また、図示省略するが、設計支援装置１００は、相性度に基づいてマスクセットを並べて表示してもよい。また、設計支援装置１００は、相性度に基づいて、複数のマスクセットから一意にマスクセットを特定してもよい。
【０１０５】
（実施例４にかかる設計支援装置１００による設計支援処理手順例）
図２１，図２２は、実施例４にかかる設計支援装置による設計支援処理手順例を示すフローチャートである。設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、要求仕様情報１１１に規定の機能の各々について、マクロを選択する（ステップＳ２１０１）。つぎに、設計支援装置１００は、選択したマクロのうち、未対象のマクロがあるか否かを判断する（ステップＳ２１０２）。
【０１０６】
未対象のマクロがあると判断された場合（ステップＳ２１０２：Ｙｅｓ）、設計支援装置１００は、未対象のマクロからいずれかのマクロを処理の対象マクロとして選択する（ステップＳ２１０３）。設計支援装置１００は、マクロ情報管理データベース４１１に基づいて、対象マクロが使用する物理層を示すレイヤーコードを特定する（ステップＳ２１０４）。そして、素子抽出ルール情報４１２に基づいて、特定したレイヤーコードに対応する素子を特定し（ステップＳ２１０５）、ステップＳ２１０２へ戻る。
【０１０７】
ステップＳ２１０２において、未対象のマクロがないと判断された場合（ステップＳ２１０２：Ｎｏ）、ステップＳ２２０１へ移行する。
【０１０８】
つぎに、設計支援装置１００は、異なる機能におけるマクロの組み合わせのうち、未選択な組み合わせがあるかを判断する（ステップＳ２２０１）。未選択な組み合わせがあると判断された場合（ステップＳ２２０１：Ｙｅｓ）、設計支援装置１００は、未選択なマクロの組み合わせから１つのマクロの組み合わせを選択する（ステップＳ２２０２）。つづいて、設計支援装置１００は、変換ルール４１３に基づいて、マクロの組み合わせについて特定した素子から素子を形成するマスク層の組み合わせを特定する（ステップＳ２２０３）。
【０１０９】
そして、設計支援装置１００は、組み合わせの相性度を導出する（ステップＳ２２０４）。つぎに、設計支援装置１００は、価格対応テーブル４１７に基づいて特定したマスク層の組み合わせに応じたマスク費用を見積もり（ステップＳ２２０５）、ステップＳ２２０１へ戻る。
【０１１０】
未選択な組み合わせがないと判断された場合（ステップＳ２２０１：Ｎｏ）、設計支援装置１００は、マクロの組み合わせの各々について、特定したマスク層の組み合わせと導出した相性度と、見積もったマスク費用とを表示し（ステップＳ２２０６）、一連の処理を終了する。
【０１１１】
実施例１〜実施例４とは組み合わせてもよい。設計支援装置１００は、実施例２や実施例３と実施例４とを組み合わせる際、選択された機能に応じた機能マクロが複数有る場合、実施例２や実施例３において使用できない機能マクロを除いた後に、実施例４によって相性度などを調べてもよい。これにより、より使用する可能性の高いマスクセットを推定できる。
【０１１２】
図２３は、設計支援装置がサーバの場合の例を示す説明図である。上述したように、設計支援装置１００がサーバであってもよい。サーバの場合、設計支援装置１００は、ネットワーク３１０を介して利用者の通信端末装置２３００と接続される。利用者の通信端末装置２３００のハードウェア構成は、例えば、図３に示したような構成である。そして、設計支援装置１００は、各制御部の処理結果を利用者の通信端末装置２３００に出力してもよい。また、設計支援装置１００は、上述した表示部４０９による処理は利用者の通信端末装置２３００に実行させ、利用者の通信端末装置２３００が有するディスプレイ２３０１に表示させてもよい。
【０１１３】
以上説明したように、設計支援装置１００は、所望の回路の機能により選択したマクロを形成する物理層から素子を特定し、特定した素子に基づき対象回路を製造する際に用いるマスク層を特定する。これにより、製造時に使用するマスク層をレイアウトせずに特定できる。したがって、製造時に使用するマスク層の特定にかかる時間の短縮化を図ることができる。
【０１１４】
また、設計支援装置１００は、マスク情報が示すマスク層の各々についてのマスク層の価格を示す価格情報に基づいて、特定したマスク層の合計の価格を算出する。これにより、製造コストの見積もりに要する時間の短縮化を図ることができる。
【０１１５】
また、設計支援装置１００は、マスク情報が示すマスク層の各々についてのマスク層を用いる製造工程に要する時間を示す時間情報に基づいて、特定したマスク層を用いる製造工程に要する合計の時間を算出する。これにより、製造時間の見積もりに要する時間の短縮化を図ることができる。
【０１１６】
また、設計支援装置１００は、特定した素子と仕様に規定された製造時の条件とが、製造時に組み合わせなければならない特定の条件を満たさない場合に、マスク層を特定する処理を行わず、条件を満たす場合に、マスク層を特定する処理を行う。これにより、より使用する可能性の高いマスクセットを特定することができる。
【０１１７】
また、設計支援装置１００は、特定した素子と仕様に規定された製造時の条件とが、製造時に組み合わせてはいけない特定の条件を満たすと判断した場合、マスク層を特定する処理を行わず、特定の条件を満たさないと判断した場合、マスク層を特定する処理を行う。これにより、より使用する可能性の高いマスクセットを特定することができる。
【０１１８】
また、設計支援装置１００は、複数種類の素子の一部の組み合わせの各々についての評価値を示す評価情報に基づいて、２つの異なる機能において選択したマクロについて特定した素子の組み合わせについての評価値を導出して表示する。これにより、より使用する可能性の高いマスクセットを特定することができる。
【０１１９】
また、設計支援装置１００は、複数種類の素子の一部の組み合わせの各々についての評価値を示す評価情報に基づいて、特定した複数の素子の組み合わせについての評価値を、記憶部に記憶された評価情報に基づき導出して表示する。これにより、より使用する可能性の高いマスクセットを特定することができる。
【０１２０】
なお、本実施の形態で説明した設計支援方法は、予め用意された設計支援プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、設計支援プログラムは、インターネット等のネットワーク３１０を介して配布してもよい。
【０１２１】
上述した実施例１〜実施例４に関し、さらに以下の付記を開示する。
【０１２２】
（付記１）複数のマクロの各々について前記マクロを形成する物理層の組み合わせを示すレイアウトデータと、複数種類の素子の各々について前記素子と前記素子を形成する物理層とを対応付けた素子情報と、前記複数種類の素子の一部と前記複数種類の素子のうちの一部の素子の組み合わせとの各々について前記素子または前記素子の組み合わせを製造する際に用いるマスク層を示すマスク情報と、を記憶する記憶部と、
前記複数のマクロから設計の対象回路の仕様に規定された前記対象回路の機能によって選択したマクロについての前記記憶部に記憶された前記レイアウトデータと、前記記憶部に記憶された前記素子情報と、に基づいて、選択した前記マクロに含まれる素子を特定し、
前記記憶部に記憶された前記マスク情報に基づいて、特定した前記素子を製造する際に用いるマスク層を特定する、
制御部を有することを特徴とする設計支援装置。
【０１２３】
（付記２）前記記憶部は、
前記マスク情報が示すマスク層の各々についての前記マスク層の価格を示す価格情報を記憶し、
前記制御部は、
前記価格情報に基づいて、特定した前記マスク層の合計の価格を算出する、
ことを特徴とする付記１に記載の設計支援装置。
【０１２４】
（付記３）前記記憶部は、
前記マスク情報が示すマスク層の各々についての前記マスク層を用いる製造工程に要する時間を示す時間情報を記憶し、
前記制御部は、
前記時間情報に基づいて、特定した前記マスク層を用いる製造工程に要する合計の時間を算出する、
ことを特徴とする付記１または２に記載の設計支援装置。
【０１２５】
（付記４）前記制御部は、
特定した前記素子と、前記仕様に規定された製造時の条件と、が、製造時に組み合わせなければならない特定の条件を満たすか否かを判断し、
前記特定の条件を満たさないと判断した場合、前記マスク層を特定する処理を行わず、前記特定の条件を満たすと判断した場合、前記マスク層を特定する処理を行う、
ことを特徴とする付記１〜３のいずれか一つに記載の設計支援装置。
【０１２６】
（付記５）前記制御部は、
特定した前記素子と、前記仕様に規定された製造時の条件と、が、製造時に組み合わせてはいけない特定の条件を満たすか否かを判断し、
前記特定の条件を満たすと判断した場合、前記マスク層を特定する処理を行わず、前記特定の条件を満たさないと判断した場合、前記マスク層を特定する処理を行う、
ことを特徴とする付記１〜４のいずれか一つに記載の設計支援装置。
【０１２７】
（付記６）前記記憶部は、前記複数種類の素子の一部の組み合わせの各々についての評価値を示す評価情報を記憶し、
前記機能が第１機能と第２機能であって、前記第１機能について選択した前記マクロが第１マクロであり、前記第２機能について選択した前記マクロが第２マクロである場合に、
前記制御部は、
前記第１マクロについて特定した前記素子と、前記第２マクロについて特定した前記素子と、の組み合わせについての評価値を、前記記憶部に記憶された前記評価情報に基づき導出し、
導出した前記評価値と、特定した前記マスク層と、を関連付けて表示する、
ことを特徴とする付記１〜５のいずれか一つに記載の設計支援装置。
【０１２８】
（付記７）前記記憶部は、前記複数種類の素子の一部の組み合わせの各々についての評価値を示す評価情報を記憶し、
特定した前記素子が複数ある場合に、
前記制御部は、
特定した複数の素子についての評価値を、前記記憶部に記憶された前記評価情報に基づき導出し、
導出した前記評価値と、特定した前記マスク層と、を関連付けて表示する、
ことを特徴とする付記１〜６のいずれか一つに記載の設計支援装置。
【０１２９】
（付記８）複数のマクロの各々について前記マクロを形成する物理層の組み合わせを示すレイアウトデータと、複数種類の素子の各々について前記素子と前記素子を形成する物理層とを対応付けた素子情報と、前記複数種類の素子の一部と前記複数種類の素子のうちの一部の素子の組み合わせとの各々について前記素子または前記素子の組み合わせを製造する際に用いるマスク層を示すマスク情報と、を記憶する記憶装置にアクセス可能なコンピュータが、
前記複数のマクロから設計の対象回路の仕様に規定された前記対象回路の機能によって選択したマクロについての前記記憶装置に記憶された前記レイアウトデータと、前記記憶装置に記憶された前記素子情報と、に基づいて、選択した前記マクロに含まれる素子を特定し、
前記記憶装置に記憶された前記マスク情報に基づいて、特定した前記素子を製造する際に用いるマスク層を特定する、
処理を実行することを特徴とする設計支援方法。
【０１３０】
（付記９）複数のマクロの各々について前記マクロを形成する物理層の組み合わせを示すレイアウトデータと、複数種類の素子の各々について前記素子と前記素子を形成する物理層とを対応付けた素子情報と、前記複数種類の素子の一部と前記複数種類の素子のうちの一部の素子の組み合わせとの各々について前記素子または前記素子の組み合わせを製造する際に用いるマスク層を示すマスク情報と、を記憶する記憶装置にアクセス可能なコンピュータに、
前記複数のマクロから設計の対象回路の仕様に規定された前記対象回路の機能によって選択したマクロについての前記記憶装置に記憶された前記レイアウトデータと、前記記憶装置に記憶された前記素子情報と、に基づいて、選択した前記マクロに含まれる素子を特定し、
前記記憶装置に記憶された前記マスク情報に基づいて、特定した前記素子を製造する際に用いるマスク層を特定する、
処理を実行させることを特徴とする設計支援プログラム。
【符号の説明】
【０１３１】
１００  設計支援装置
１０１  記憶部
１１１  要求仕様情報
１１２  レイアウトデータ
１１３  素子情報
１１４  マスク情報
１１５  価格情報
４０１  選択部
４０２  第１特定部
４０３  第２特定部
４０４  第１判断部
４０５  第２判断部
４０６  第３特定部
４０７  導出部
４０８  見積もり部
４０９  表示部
４１１  マクロ情報管理データベース
４１２  素子抽出ルール情報
４１３  変換ルール
４１４  組み合わせ必須情報
４１５  組み合わせ禁止情報
４１６  組み合わせ相性情報
４１７  価格対応テーブル
４１８  時間対応テーブル
【図１】
2016139341.tif 000003
【図２】
2016139341.tif 000004
【図３】
2016139341.tif 000005
【図４】
2016139341.tif 000006
【図５】
2016139341.tif 000007
【図６】
2016139341.tif 000008
【図７】
2016139341.tif 000009
【図８】
2016139341.tif 000010
【図９】
2016139341.tif 000011
【図１０】
2016139341.tif 000012
【図１１】
2016139341.tif 000013
【図１２】
2016139341.tif 000014
【図１３】
2016139341.tif 000015
【図１４】
2016139341.tif 000016
【図１５】
2016139341.tif 000017
【図１６】
2016139341.tif 000018
【図１７】
2016139341.tif 000019
【図１８】
2016139341.tif 000020
【図１９】
2016139341.tif 000021
【図２０】
2016139341.tif 000022
【図２１】
2016139341.tif 000023
【図２２】
2016139341.tif 000024
【図２３】
2016139341.tif 000025