(57)【要約】【課題】効率的なレイアウト設計をおこなって、レイアウトデータの秘密漏洩防止やＴＡＴの低減化を図ること。【解決手段】レイアウト設計サーバ１０１は、指定部３０２により、フレーム情報４００が指定された場合、フレーム情報抽出部３０３により、指定されたフレーム情報４００を抽出する。つぎに、設計テンプレート作成部３０４により、設計テンプレート３１２を作成する。そして、出力部３０５により、作成された設計テンプレート３１２を出力する。これにより、論理情報とのマッピングがおこなわれないテンプレート部品情報や秘密事項に関するテンプレート部品情報が含まれていない設計テンプレート３１２を、レイアウト設計端末１０２に提供することができる。また、レイアウト設計端末１０２からレイアウト処理結果３１３が入力された場合、最終レイアウトデータ作成部３０７により、最終レイアウトデータ３１４を作成する。【選択図】        図３
2006277418.tif 000002
【特許請求の範囲】
【請求項１】
任意のフレーム情報の指定を受け付ける指定手段と、
前記指定手段によって指定されたフレーム情報を構成するテンプレート部品情報の中から、設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成手段と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項２】
任意のフレーム情報の指定を受け付ける指定手段と、
前記指定手段によって指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成手段と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項３】
任意のフレーム情報の指定を受け付ける指定手段と、
前記指定手段によって指定されたフレーム情報に存在していないテンプレート部品情報を挿入することにより、設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成手段と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項４】
任意の設計テンプレートの入力を受け付ける入力手段と、
前記入力手段によって入力された設計テンプレートを構成するテンプレート部品情報の中から、設計対象回路のレイアウトに用いるテンプレート部品情報を抽出する抽出手段と、
前記抽出手段によって抽出されたテンプレート部品情報と、前記設計対象回路に関する論理情報とに基づいて、前記設計対象回路のレイアウトデータを作成するレイアウトデータ作成手段と、
前記レイアウトデータ作成手段によって作成されたレイアウトデータを用いて、レイアウト処理をおこなうレイアウト処理手段と、
前記レイアウト処理手段によって得られたレイアウト結果を出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【請求項５】
任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、前記設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【請求項６】
任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【請求項７】
任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報に存在していないテンプレート部品情報を挿入することにより、設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【請求項８】
任意のフレーム情報の指定を受け付けさせる指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、前記設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成させる設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【請求項９】
任意のフレーム情報の指定を受け付けさせる指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成させる設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【請求項１０】
任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報に存在していないテンプレート部品情報を挿入することにより、設計対象回路のレイアウトに用いる設計テンプレートを作成させる設計テンプレート作成工程と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、設計対象回路のレイアウトをおこなうレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムに関する。
【背景技術】
【０００２】
従来においては、ネットワークおよびアプリケーションを介し、データベースから設計資産の取得を行っているが、データベース内の設計資産がユーザの下に送付される際になんら編集を行うことはしていない（たとえば、下記特許文献１を参照。）。
【０００３】
また、従来の集積回路設計においては、レイアウトデータ内に含まれる全ての情報を、レイアウトを行うツールや設計者が必要とするものとは限らない。たとえば、配線処理を行うツールにとっては、配線処理のための情報さえあれば良く、インスタンスを配置する領域情報等を必要としない。
【０００４】
また、レイアウトデータ内には、レイアウトデータ作成者や作成者の属するグループ以外へ公開できない秘密事項やノウハウ等があるため、設計者がレイアウトデータ作成者の属するグループでない場合に、レイアウトデータを提供できない場合や、レイアウトデータを加工する必要が発生することがある。
【０００５】
【特許文献１】特表２００３−５３６１６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の集積回路設計で用いる、レイアウトデータは、ツールの性能を最大限に引き出すには不適切なものとなっている。たとえば、配線ツールが参照する必要のないデータの定義が存在しているため、データ読み込み処理時間に無駄が生じていたり、不必要な設計資源（メモリ領域、記憶領域）の使用が行われているという問題があった。
【０００７】
また、集積回路設計において、レイアウト処理を外部の設計者にて実行する場合は、外部の設計者に対しレイアウトデータを提供する必要がある。しかしながら、実際のレイアウトデータの中にはノウハウや秘密事項（Structured−ASICにおけるクロックツリー構成、テスト回路構成等）が挿入されているため、外部の設計者に対してレイアウトデータをそのまま提供すると、上述したノウハウや秘密事項が流出してしまうという問題があった。
【０００８】
また、ＬＳＩ設計でのプロトタイプレイアウトにおいて、レイアウト条件（電源ドロップと電流量とのトレードオフを考慮して複数の電源パタンでの実行等）を変更し、設計のプロトタイプレイアウトをおこなう場合、各レイアウト条件でのプロトタイプ設計用のレイアウトデータを作成する必要がある。この各レイアウト条件でのプロトタイプ設計用のレイアウトデータの作成は設計者ごとにおこなわれるものであることから、ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）の増加を招くという問題があった。
【０００９】
この発明は、上述した従来技術による問題点を解消するため、効率的なレイアウト設計をおこなって、レイアウトデータの秘密漏洩防止やＴＡＴの低減化を図ることができるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、この発明にかかるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムは、任意のフレーム情報の指定を受け付け、指定されたフレーム情報を構成するテンプレート部品情報の中から、前記設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成し、作成された設計テンプレートを出力することを特徴とする。
【００１１】
また、任意のフレーム情報の指定を受け付け、指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成し、作成された設計テンプレートを出力することを特徴とする。
【００１２】
また、上記発明において、削除されたテンプレート部品情報に替えて、あらたに配置／配線禁止領域に関するテンプレート部品情報を追加することにより、前記設計テンプレートを作成することとしてもよい。
【００１３】
また、上記発明において、前記設計テンプレートを用いることによって得られたレイアウト処理結果の入力を受け付け、入力されたレイアウト処理結果と、削除されたテンプレート部品とに基づいて、前記設計対象回路の完全なレイアウトデータを作成することとしてもよい。
【００１４】
また、任意の設計テンプレートの入力を受け付け、入力された設計テンプレートを構成するテンプレート部品情報の中から、設計対象回路のレイアウトに用いるテンプレート部品情報を抽出し、抽出されたテンプレート部品情報と、前記設計対象回路に関する論理情報とに基づいて、前記設計対象回路のレイアウトデータを作成し、作成されたレイアウトデータを用いてレイアウト処理（配置・配線処理や物理合成処理）をおこない、レイアウト結果を出力することを特徴とする。
【００１５】
また、上記発明において、前記論理情報とのマッピングをおこなわないテンプレート部品情報または秘密事項に関するテンプレート部品情報が削除された設計テンプレートの入力を受け付けることとしてもよく、また、削除されたテンプレート部品情報に替えて、あらたに配置／配線禁止領域に関するテンプレート部品情報が追加された設計テンプレートの入力を受け付けることとしてもよい。
【００１６】
これらの発明によれば、ユーザに対して整合性の取れた無駄のない設計テンプレートを提供することができる。また、この設計テンプレートを用いてレイアウト処理をおこなうことにより、最終的なレイアウトデータの作成効率の向上を図ることができる。
【発明の効果】
【００１７】
本発明にかかるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムによれば、効率的なレイアウト設計をおこなって、レイアウトデータの秘密漏洩防止やＴＡＴの低減化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明にかかるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムの好適な実施の形態を詳細に説明する。まず、この発明の実施の形態にかかるレイアウト設計システムについて説明する。図１は、この発明の実施の形態にかかるレイアウト設計システムを示すシステム構成図である。
【００１９】
（レイアウト設計システムを示すシステム構成）
図１において、レイアウト設計システムは、レイアウト設計サーバ１０１と、レイアウト設計端末１０２と、から構成されており、ＬＡＮ，ＷＡＮ，インターネットなどのネットワーク１０３を介して相互に交信可能に接続されている。レイアウト設計サーバ１０１およびレイアウト設計端末１０２は、それぞれ本発明でいうレイアウト設計装置に相当する。また、レイアウト設計サーバ１０１では、テンプレートデータおよび最終的なレイアウトデータの作成をおこなう。また、レイアウト設計端末１０２は、設計テンプレートを用いて中間的なレイアウトデータの作成やレイアウト処理をおこなう。
【００２０】
（レイアウト設計装置のハードウェア構成）
つぎに、この発明の実施の形態にかかるレイアウト設計サーバ１０１またはレイアウト設計端末１０２（以下、「レイアウト設計装置」という）のハードウェア構成について説明する。図２は、この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【００２１】
図２において、レイアウト設計装置は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、ＨＤＤ（ハードディスクドライブ）２０４と、ＨＤ（ハードディスク）２０５と、ＦＤＤ（フレキシブルディスクドライブ）２０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）２０７と、ディスプレイ２０８と、Ｉ／Ｆ（インターフェース）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を備えている。また、各構成部はバス２００によってそれぞれ接続されている。
【００２２】
ここで、ＣＰＵ２０１は、レイアウト設計装置の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＨＤＤ２０４は、ＣＰＵ２０１の制御にしたがってＨＤ２０５に対するデータのリード／ライトを制御する。ＨＤ２０５は、ＨＤＤ２０４の制御で書き込まれたデータを記憶する。
【００２３】
ＦＤＤ２０６は、ＣＰＵ２０１の制御にしたがってＦＤ２０７に対するデータのリード／ライトを制御する。ＦＤ２０７は、ＦＤＤ２０６の制御で書き込まれたデータを記憶したり、ＦＤ２０７に記憶されたデータをレイアウト設計装置に読み取らせたりする。
【００２４】
また、着脱可能な記録媒体として、ＦＤ２０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２５】
Ｉ／Ｆ２０９は、通信回線を通じてインターネットなどのネットワーク１０３に接続され、このネットワーク１０３を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク１０３と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２６】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００２７】
スキャナ２１２は、画像を光学的に読み取り、レイアウト設計装置内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００２８】
（レイアウト設計サーバ１０１の機能的構成）
つぎに、この発明の実施の形態にかかるレイアウト設計サーバ１０１の機能的構成について説明する。図３は、この発明の実施の形態にかかるレイアウト設計サーバ１０１の機能的構成を示すブロック図である。図３において、レイアウト設計サーバ１０１は、フレーム情報ＤＢ（データベース）３０１と、指定部３０２と、フレーム情報抽出部３０３と、設計テンプレート作成部３０４と、出力部３０５と、入力部３０６と、最終レイアウトデータ作成部３０７と、から構成されている。
【００２９】
フレーム情報ＤＢ３０１は、各種フレーム情報を記憶するデータベースである。ここで、フレーム情報の一例を示す。図４は、フレーム情報の一例を示す説明図である。フレーム情報４００において、符号４０１はチップサイズ定義を示しており、符号４０２は、ＩＯに関するインスタンス配置情報／配置領域情報を示しており、符号４０３は、電源に関するネット情報を示しており、符号４０４は、機能ブロックに関するインスタンス配置情報／ネット情報を示しており、符号４０５は、クロックツリーに関する特殊ネット情報を示しており、符号４０６は、マクロ用のインスタンス配置情報／配置領域情報を示している。フレーム情報ＤＢ３０１は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５などの記録媒体によって、その機能を実現する。
【００３０】
また、指定部３０２は、任意のフレーム情報４００の指定を受け付ける。フレーム情報４００の指定は、レイアウト設計サーバ１０１のキーボード２１０またはマウス２１１を操作することによって、またはレイアウト設計端末１０２からネットワーク１０３を介して受信することによって、受け付けられる。フレーム情報抽出部３０３は、指定部３０２によって指定されたフレーム情報４００を、フレーム情報ＤＢ３０１から抽出する。
【００３１】
また、設計テンプレート作成部３０４は、分割部３４１と、設計テンプレート編集部３４２と、変換部３４３と、から構成されており、フレーム情報抽出部３０３によって抽出されたフレーム情報４００を用いて、設計テンプレート３１２を作成する。まず、分割部３４１は、分割制御ファイル３１１が入力されることにより、分割制御ファイル３１１の記述内容にしたがって、フレーム情報４００内の各情報４０１〜４０６を分割する。この分割によってテンプレート部品情報が得られることとなる。
【００３２】
ここで、分割制御ファイル３１１について説明する。図５は、分割制御ファイル３１１を示す説明図である。分割制御ファイル３１１には、フレーム情報４００内の情報を分割する単位と、分割ルールが記述されている。この分割ルールを記述することで、任意のテンプレートの部品を作成することができる。また、分割ルールを編集することで分割単位を変更することもできる。
【００３３】
図５において、分割制御ファイル３１１は、ファイル名定義部５０１とルール定義部５０２から構成されている。ファイル名定義部５０１において、[情報種別定義]には、情報の種類が記述される。情報の種類とは、DEF(Design Exchange Format)での記述での、『DIEAREA』（チップサイズ）、『ROW』（配置領域）、『COMPONENTS』（配置情報）、『NETS』（配線情報）、『BLOCKAGES』（配置禁止情報）等に当てはまるものである。
【００３４】
また、[ルールID]には、ルール定義部５０２で記述されているルールＩＤが記述される。なお、ルールにマッチした場合の出力先を記述される。また、[部品情報出力ファイル名]には、情報の出力先（ファイル名）が記述される。
【００３５】
ルール定義部５０２において、[情報種別定義]には、ファイル定義部で定義された[情報種別定義]が記述される。また、[ルールID]には、ファイル分割のルールＩＤが記述される。このルールＩＤと、ファイル名定義部５０１での[ルールID]とが一致した場合、ファイル定義部で定義された出力先に出力される。
【００３６】
また、[ルール定義]には、情報を分割するためのルールが記述される。分割ルールは、たとえば、インスタンス定義部を分割するのであれば、インスタンス名、ライブラリ名、モジュール名、配置されている領域等により分割ルールを記載し、ネットであれば、ネット名、ネット属性、ネット種別での分割ルールを記載するなど、各情報を構成するあらゆる要素、属性を用いてルールを記載可能である。
【００３７】
また、設計テンプレート編集部３４２は、分割部３４１によって得られた各テンプレート部品情報を編集する。この編集処理では、分割されたテンプレート部品情報をテンプレートとして相応しい情報に変更する。この編集処理は、フレーム情報４００とテンプレート部品情報への分割処理で作成されたファイルとに基づいて自動的に実行される。
【００３８】
たとえば、ＩＯの配置を変更する場合、ＩＯの配置情報は、テンプレートデータからレイアウトデータを作成する際に入力された論理情報とピンアサイン情報を元に、ユーザの論理情報とのマッピングおよびピンアサインされた場所への配置をおこなう必要がある。そのため、ピンアサイン情報と設計テンプレート３１２上のＩＯとの比較がおこなえるようＩＤを追加する。
【００３９】
具体的には、まず、（１）ＩＯ定義に対し、ピンアサイン情報から、設計テンプレート３１２上のどのＩＯにユーザの論理のＩＯをマップすれば良いかを判断可能とするようＩＤを付加する。このＩＤは、ピンアサイン情報のＩＤのマッチングを取るための情報である。
【００４０】
つぎに、（２）フレーム情報４００の中には、不必要な情報もいくつか存在しているため、不必要な情報を削除する。たとえば、ユーザ論理とのマッピングをおこなわないＲＡＭやＦＦなどのインスタンスやネット情報を削除する。
【００４１】
そして、（３）フレーム情報４００内に不足情報がある場合に追加情報を付加する。たとえば、インスタンスが配置されている場所には、インスタンス用の配置領域情報が必ず必要とするツールも存在する。しかし、フレーム情報４００内にはインスタンスが配置されていても、インスタンス配置領域情報が格納されていないものも存在する場合がある。このような場合には、インスタンスの配置情報からあらたにインスタンス配置領域情報を作成する。
【００４２】
また、変換部３４３は、クロックツリー構造やテスト論理情報などの機密情報に関するテンプレート部品情報を、禁止領域に関するテンプレート部品情報に変換する。たとえば、クロックツリー構造の場合、ネット定義に該当するため、配線禁止領域に関するテンプレート部品情報に変換する。また、テスト論理情報は、セルの配置に関する情報であるため、配置禁止領域に関するテンプレート部品情報に変換する。
【００４３】
これにより、設計テンプレート３１２が作成される。出力部３０５は、このように作成された設計テンプレート３１２を出力する。出力形式としては、設計テンプレート３１２を、ネットワーク１０３を介してレイアウト設計端末１０２に送信することとしてもよく、ＲＡＭ２０３、ＨＤ２０５などの記録媒体に出力して、設計テンプレート３１２が記録された記録媒体をユーザに渡してもよい。
【００４４】
また、入力部３０６は、レイアウト処理結果３１３の入力を受け付ける。レイアウト処理結果３１３とは、設計テンプレート３１２を用いてレイアウト設計端末１０２で作成されたレイアウトデータ（以下、「中間レイアウトデータ」という）６１０や、設計対象回路の論理情報やピンアサイン情報が含まれる。
【００４５】
また、最終レイアウトデータ作成部３０７は、入力部３０６によって入力されたレイアウト処理結果３１３を用いてレイアウトデータ（以下、「最終レイアウトデータ」）３１４を作成する。この場合、設計テンプレート３１２から削除されたインスタンス、ネット情報や、秘密情報がマッピングされることで、設計対象回路の最終レイアウトデータ３１４が作成される。
【００４６】
また、最終レイアウトデータ作成部３０７は、レイアウト処理結果３１３に含まれている論理情報やピンアサイン情報と、各種設計テンプレートを用いて、プロトタイプ用レイアウトデータを作成する。この場合各種設計テンプレートに対応したテンプレート部品情報を選択／合成することにより、条件ごとのレイアウトデータが作成される。このように条件ごとのプロトタイプ用レイアウトデータを同時並行で作成することができる。そして、この中からレイアウト処理結果３１３に相応しいプロトタイプ用レイアウトデータを選定し、最終レイアウトデータ３１４を作成することもできる。
【００４７】
たとえば、ユーザが行いたいレイアウトの諸条件（電源構造変更、Structured-ASICでの埋め込みクロック数の変更等）が与えられた場合に、それらに対応したレイアウトデータを作成することで、各レイアウト条件での最終レイアウトデータ３１４の作成を短いＴＡＴでおこなうことができる。
【００４８】
なお、上述した指定部３０２、フレーム情報抽出部３０３、設計テンプレート作成部３０４、出力部３０５、入力部３０６、および最終レイアウトデータ作成部３０７は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５などの記録媒体に記録されたプログラムを、ＣＰＵ２０１が実行することによって、またはＩ／Ｆ２０９によって、その機能を実現する。
【００４９】
つぎに、この発明の実施の形態にかかるレイアウト設計端末１０２の機能的構成について説明する。図６は、この発明の実施の形態にかかるレイアウト設計端末１０２の機能的構成を示すブロック図である。図６において、レイアウト設計端末１０２は、ユーザ指示情報入力部６０１と、テンプレート部品情報抽出部６０２と、論理情報入力部６０３と、テンプレート部品情報編集部６０４と、結合部６０５と、レイアウト処理部６０６と、から構成されている。
【００５０】
まず、ユーザ指示情報入力部６０１は、ユーザ指示情報の入力を受け付ける。ここで、ユーザ指示情報について説明する。図７は、ユーザ指示情報７００を示す説明図である。図７において、符号７０１は基本情報を示しており、符号７０２はチップ領域情報を示しており、符号７０３は配置領域情報を示しており、符号７０４は配線トラック情報を示しており、符号７０５は配線グリッド情報を示しており、符号７０６は配置情報を示しており、符号７０７は配置禁止情報を示しており、符号７０８は特殊ネット情報を示しており、符号７０９はネット情報を示している。たとえば、符号７０６はDEF(Design  Exchange  Format)でのCOMPONENTS記述部であり、符号７０７はBLOCKAGES記述部である。
【００５１】
ユーザ指示情報７００には、使用するフレーム、パッケージ毎にどのテンプレート部品情報を使用するかが記述されており、ユーザは必要に応じてそのテンプレート部品情報を指定することができる。すなわち、ユーザ指示情報７００に使用するテンプレート部品情報ファイル名を指定することができる。
【００５２】
また、テンプレート部品情報抽出部６０２は、ユーザ指示情報入力部６０１によって入力されたユーザ指示情報７００に基づいて、テンプレート部品情報を抽出する。具体的には、ユーザ指示情報７００に記述されているテンプレート部品情報を、設計テンプレート３１２から抽出する。図８は、中間テンプレート作成処理を示す説明図である。
【００５３】
図８において、設計テンプレート３１２には、複数種類（ｎ種類）のテンプレート部品情報群Ｐ１〜Ｐｎがあり、各テンプレート部品情報群Ｐｉ（ｉ＝１〜ｎ）の中から、ユーザ指示情報７００に基づいて、テンプレート部品情報を抽出することができる。たとえば、図８では、テンプレート部品情報群Ｐ１からテンプレート部品情報Ｐ１１、テンプレート部品情報群Ｐｉからテンプレート部品情報Ｐｉ２，Ｐｉ３、テンプレート部品情報群Ｐｎからテンプレート部品情報Ｐｎ４が抽出される。
【００５４】
また、論理情報入力部６０３は、設計対象回路の論理情報の入力を受け付ける。ここで、論理情報とは、設計対象回路の論理情報やピンアサイン情報などが挙げられる。また、テンプレート部品情報編集部６０４は、論理情報入力部６０３によって入力された論理情報に基づいて、テンプレート部品情報抽出部６０２によって抽出されたテンプレート部品情報を編集する。具体的には、テンプレート部品情報と論理情報とをマッピングする。
【００５５】
ここで、抽出されたテンプレート部品情報であるＩＯ物理配置情報と、入力された論理情報をマッピングする。ＩＯ物理配置情報には下記の情報が含まれている。
【００５６】
・（フレーム情報４００上の）ＩＯ名
・（フレーム情報４００上の）ＩＯのライブラリ
・配置情報
・ピン番号
・その他情報
【００５７】
また、ピンアサイン情報は、ピン名と、このピンをどの場所に配置するかを示すピン番号で記述される。論理情報には、ピンとＩＯとの接続関係、ＩＯのライブラリが記述されている。そして、これらの情報を自動的に判断し、論理情報内のＩＯの配置場所を検索し、物理情報と論理情報をマップする。
【００５８】
このマッピングを具体的に説明する。図９は、物理情報と論理情報とのマッピングを示す説明図である。符号９０１はClock_1というピン名のピンがPINNO_Nというピン番号にアサインされているピンアサイン情報を示す。符号９０２はピン名Clock_1というピンがIO_CLK_1というIO名、IO_LIB_BというライブラリのIOセルと接続を持つ論理情報を示している。また、この論理情報はハードウェア記述言語によって記述される。符号９０３はテンプレート部品内のＩＯ配置部にて、IOセルの配置位置、IOセル名、IOライブラリ名、PIN番号の記述について説明したテンプレート部品情報（ＩＯ配置部）である。図９において、論理情報から、各ピンに接続するＩＯ名およびＩＯのライブラリを検索しデータベースを作成する。
【００５９】
つぎに、ピンアサイン情報内のピン番号とテンプレート部品情報（ＩＯ配置部）のピン番号の対応を検索する。そして、ピン番号の一致した設計テンプレート３１２上のＩＯ位置情報部のＩＯ名およびＩＯライブラリを論理情報に沿って編集し、編集されたテンプレート部品情報（ＩＯ配置部）を出力する。この編集結果９００が、論理情報がマップされた物理情報となる。
【００６０】
また、機能ブロックのマッピングに関しては、特定の機能ブロックの配置物理情報および配線物理情報を設計テンプレート３１２内に準備しておき、機能ブロックを使用する際にその物理情報と論理情報をマッピングすることで、機能ブロックのレイアウトをおこなうことができる。設計テンプレート３１２に準備された任意の機能ブロックは、以下の手順で試用することができる。
【００６１】
まず、論理情報に、機能ブロックの論理をインスタンスする。なお、機能ブロックの論理の記述に関しては、あらかじめレイアウト設計サーバ１０１から提供されている。つぎに、設計テンプレート３１２上にテンプレート部品情報として準備されている機能ブロック情報と論理情報上の機能ブロックの対応を取るファイルを作成する。そして、このファイルを参照し、テンプレート部品情報である機能ブロック情報を編集する。この編集とはたとえば、機能ブロック情報内のインスタンス名を論理情報のものに変更を行う。
【００６２】
たとえば、機能ブロックの設計テンプレート３１２上の機能ブロック情報内のインスタンス配置情報は以下の通りである。
- FUNCTＩON_A/INST1 LIBRARY1 配置座標1;
- FUNCTＩON_A/INST2 LIBRARY2 配置座標2;
- FUNCTＩON_A/INST3 LIBRARY1 配置座標3;
- FUNCTＩON_A/INST4 LIBRARY3 配置座標4;
【００６３】
また、論理情報上で、機能ブロックが『Module1/FUNCTＩON_A』という名称で定義されている。さらに、下記に示すような、設計テンプレート３１２内の機能ブロック情報と論理情報内の機能ブロックの対応を記載したファイルを準備しておく。
【００６４】
FUNCTＩON_A:Module1/FUNCTＩON_A
これは、設計テンプレート３１２上での機能ブロック情報の『FUNCTION_A』と論理情報上の『Module1/FUNCTION_A』が対応することを示している。
【００６５】
また、上記のような論理情報上と設計テンプレート３１２内の機能ブロック情報の機能ブロックの対応をとるファイルを入力し、設計テンプレート３１２上での機能ブロック情報が編集されたテンプレート部品情報を作成する。たとえば、下記のように機能ブロック情報のインスタンス配置情報は以下のようにインスタンス名が論理情報上のものに対応され変更される。
- Module1/FUNCTＩON_A/INST1 LIBRARY1 配置座標1 ;
- Module1/FUNCTＩON_A/INST2 LIBRARY2 配置座標2 ;
- Module1/FUNCTＩON_A/INST3 LIBRARY1 配置座標3 ;
- Module1/FUNCTＩON_A/INST4 LIBRARY3 配置座標4 ;
【００６６】
このように、抽出されたテンプレート部品情報は、テンプレート部品情報編集部６０４によって編集される。図８では、抽出されたテンプレート部品情報Ｐ１１，Ｐｉ２，Ｐｉ３，Ｐｎ４のうち、テンプレート部品情報Ｐｉ２が編集されて、テンプレート部品情報Ｐ´ｉ２とされている。
【００６７】
また、結合部６０５は、テンプレート部品情報抽出部６０２によって抽出されたテンプレート部品情報およびテンプレート部品情報編集部６０４によって編集されたテンプレート部品情報を結合する。すなわち、図８に示したテンプレート部品情報Ｐ１１，Ｐ´ｉ２，Ｐｉ３，Ｐｎ４を結合する。これにより、中間レイアウトデータ６１０を生成する。また、レイアウト処理部６０６は、中間レイアウトデータ６１０を入力し、レイアウト処理（配置・配線処理や物理合成処理）をおこない、レイアウト処理結果３１３を生成する。
【００６８】
具体的には、たとえば、ユーザ指示情報７００内の部品情報ファイル名の記述で指定されたテンプレート部品情報を、その記述された場所に挿入していくことでテンプレート部品情報を結合する。これにより、中間レイアウトデータ６１０を生成する。
【００６９】
なお、上述したユーザ指示情報入力部６０１、テンプレート部品情報抽出部６０２、論理情報入力部６０３、テンプレート部品情報編集部６０４、結合部６０５、およびレイアウト処理部６０６は、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、ＨＤ２０５などの記録媒体に記録されたプログラムを、ＣＰＵ２０１が実行することによって、またはＩ／Ｆ２０９によって、その機能を実現する。
【００７０】
（レイアウト設計サーバ１０１のレイアウト設計処理手順）
つぎに、図３に示したレイアウト設計サーバ１０１のレイアウト設計処理手順について説明する。図１０は、図３に示したレイアウト設計サーバ１０１のレイアウト設計処理手順を示すフローチャートである。図１０において、まず、指定部３０２により、フレーム情報４００が指定された場合（ステップＳ１００１：Ｙｅｓ）、フレーム情報抽出部３０３により、指定されたフレーム情報４００を抽出する（ステップＳ１００２）。
【００７１】
つぎに、設計テンプレート作成部３０４により、設計テンプレート３１２を作成する（ステップＳ１００３）。そして、出力部３０５により、作成された設計テンプレート３１２を出力する（ステップＳ１００４）。これにより、論理情報とのマッピングがおこなわれないテンプレート部品情報や秘密事項に関するテンプレート部品情報が含まれていない設計テンプレート３１２を、レイアウト設計端末１０２に提供することができる。
【００７２】
また、このあと、レイアウト設計端末１０２からレイアウト処理結果３１３が入力された場合（ステップＳ１００５：Ｙｅｓ）、最終レイアウトデータ作成部３０７により、最終レイアウトデータ３１４を作成する（ステップＳ１００６）。これにより、論理情報とのマッピングがおこなわれないテンプレート部品情報や秘密事項に関するテンプレート部品情報が含まれたユーザ嗜好のレイアウトデータを作成することができる。
【００７３】
（レイアウト設計端末１０２のレイアウト設計処理手順）
つぎに、図６に示したレイアウト設計端末１０２のレイアウト設計処理手順について説明する。図１１は、図６に示したレイアウト設計端末１０２のレイアウト設計処理手順を示すフローチャートである。図１１において、まず、設計テンプレート３１２が入力された場合（ステップＳ１１０１：Ｙｅｓ）、テンプレート部品情報抽出部６０２により、ユーザ指示情報７００にしたがって、テンプレート部品情報を抽出する（ステップＳ１１０２）。
【００７４】
つぎに、テンプレート部品情報編集部６０４および結合部６０５により、中間レイアウトデータ６１０を作成する（ステップＳ１１０３）。そして、レイアウト処理部６０６により、作成された中間レイアウトデータ６１０を用いてレイアウト処理を行い（ステップＳ１１０４）、レイアウト処理結果３１３をレイアウト設計サーバ１０１に出力する（ステップＳ１１０５）。
【００７５】
レイアウト設計端末１０２に提供される設計テンプレート３１２には、論理情報とのマッピングがおこなわれないテンプレート部品情報が含まれていないため、レイアウト設計端末１０２における中間レイアウトデータ６１０の作成において、不要なテンプレート部品に対するアクセスを防止することができ、ＴＡＴの短縮化を図ることができる。
【００７６】
また、レイアウト設計端末１０２に提供される設計テンプレート３１２には、秘密事項に関するテンプレート部品情報が含まれていないため、レイアウト設計サーバ１０１側で作成されたクロックツリーやテスト回路情報などの秘密事項の漏洩を防止することができる。また、このようなテンプレート部品情報を配置／配線禁止領域とすることで、重複したレイアウトを防止することができ、ＴＡＴの短縮化を図ることができる。
【００７７】
以上説明したように、この実施の形態にかかるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムによれば、効率的なレイアウト設計をおこなって、レイアウトデータの秘密漏洩防止やＴＡＴの低減化を図ることができる。
【００７８】
なお、本実施の形態で説明したレイアウト設計方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００７９】
（付記１）任意のフレーム情報の指定を受け付ける指定手段と、
前記指定手段によって指定されたフレーム情報を構成するテンプレート部品情報の中から、設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成手段と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【００８０】
（付記２）任意のフレーム情報の指定を受け付ける指定手段と、
前記指定手段によって指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成手段と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【００８１】
（付記３）前記秘密事項に関するテンプレート部品情報は、クロックツリーまたはテスト回路に関する情報であることを特徴とする付記２に記載のレイアウト設計装置。
【００８２】
（付記４）前記設計テンプレート作成手段は、
削除されたテンプレート部品情報に替えて、あらたに配置／配線禁止領域に関するテンプレート部品情報を追加することにより、前記設計テンプレートを作成することを特徴とする付記１〜３のいずれか一つに記載のレイアウト設計装置。
【００８３】
（付記５）前記設計テンプレートを用いることによって得られたレイアウト処理結果の入力を受け付ける入力手段と、
前記入力手段によって入力されたレイアウト処理結果と、前記設計テンプレート作成手段によって削除されたテンプレート部品とに基づいて、前記設計対象回路のレイアウトデータを作成するレイアウトデータ作成手段と、
を備えることを特徴とする付記４に記載のレイアウト設計装置。
【００８４】
（付記６）任意のフレーム情報の指定を受け付ける指定手段と、
前記指定手段によって指定されたフレーム情報に存在していないテンプレート部品情報を挿入することにより、設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成手段と、
前記設計テンプレート作成手段によって作成された設計テンプレートを出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【００８５】
（付記７）任意の設計テンプレートの入力を受け付ける入力手段と、
前記入力手段によって入力された設計テンプレートを構成するテンプレート部品情報の中から、設計対象回路のレイアウトに用いるテンプレート部品情報を抽出する抽出手段と、
前記抽出手段によって抽出されたテンプレート部品情報と、前記設計対象回路に関する論理情報とに基づいて、前記設計対象回路のレイアウトデータを作成するレイアウトデータ作成手段と、
前記レイアウトデータ作成手段によって作成されたレイアウトデータを用いてレイアウト処理をおこなうレイアウト処理手段と、
前記レイアウト処理手段によって得られたレイアウト処理結果を出力する出力手段と、
を備えることを特徴とするレイアウト設計装置。
【００８６】
（付記８）前記入力手段は、
前記論理情報とのマッピングをおこなわないテンプレート部品情報または秘密事項に関するテンプレート部品情報が削除された設計テンプレートの入力を受け付けることを特徴とする付記７に記載のレイアウト設計装置。
【００８７】
（付記９）前記入力手段は、
削除されたテンプレート部品情報に替えて、あらたに配置／配線禁止領域に関するテンプレート部品情報が追加された設計テンプレートの入力を受け付けることを特徴とする付記８に記載のレイアウト設計装置。
【００８８】
（付記１０）任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、前記設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【００８９】
（付記１１）任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【００９０】
（付記１２）任意の設計テンプレートの入力を受け付ける入力工程と、
前記入力工程によって入力された設計テンプレートを構成するテンプレート部品情報の中から、設計対象回路のレイアウトに用いるテンプレート部品情報を抽出する抽出工程と、
前記抽出工程によって抽出されたテンプレート部品情報と、前記設計対象回路に関する論理情報とに基づいて、前記設計対象回路のレイアウトデータを作成するレイアウトデータ作成工程と、
前記レイアウトデータ作成工程によって作成されたレイアウトデータを用いてレイアウト処理をおこなうレイアウト処理工程と、
前記レイアウト処理工程によって得られたレイアウト処理結果を出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【００９１】
（付記１３）任意のフレーム情報の指定を受け付ける指定工程と、
前記指定工程によって指定されたフレーム情報に存在していないテンプレート部品情報を挿入することにより、設計対象回路のレイアウトに用いる設計テンプレートを作成する設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力する出力工程と、
を含んだことを特徴とするレイアウト設計方法。
【００９２】
（付記１４）任意のフレーム情報の指定を受け付けさせる指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、前記設計対象回路に関する論理情報とのマッピングをおこなわないテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成させる設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００９３】
（付記１５）任意のフレーム情報の指定を受け付けさせる指定工程と、
前記指定工程によって指定されたフレーム情報を構成するテンプレート部品情報の中から、秘密事項に関するテンプレート部品情報を削除することにより、前記設計対象回路のレイアウトに用いる設計テンプレートを作成させる設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００９４】
（付記１６）任意の設計テンプレートの入力を受け付けさせる入力工程と、
前記入力工程によって入力された設計テンプレートを構成するテンプレート部品情報の中から、設計対象回路のレイアウトに用いるテンプレート部品情報を抽出させる抽出工程と、
前記抽出工程によって抽出されたテンプレート部品情報と、前記設計対象回路に関する論理情報とに基づいて、前記設計対象回路のレイアウトデータを作成させるレイアウトデータ作成工程と、
前記レイアウトデータ作成工程によって作成されたレイアウトデータを用いてレイアウト処理をおこなわせるレイアウト処理工程と、
前記レイアウト処理工程によって得られたレイアウト処理結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００９５】
（付記１７）任意のフレーム情報の指定を受け付けさせる指定工程と、
前記指定工程によって指定されたフレーム情報に存在していないテンプレート部品情報を挿入することにより、設計対象回路のレイアウトに用いる設計テンプレートを作成させる設計テンプレート作成工程と、
前記設計テンプレート作成工程によって作成された設計テンプレートを出力させる出力工程と、
をコンピュータに実行させることを特徴とするレイアウト設計プログラム。
【００９６】
（付記１８）付記１４〜１７のいずれか一つに記載のレイアウト設計プログラムを記録したコンピュータに読み取り可能な記録媒体。
【産業上の利用可能性】
【００９７】
以上のように、本発明にかかるレイアウト設計装置、レイアウト設計方法、およびレイアウト設計プログラムは、ＬＳＩのレイアウト設計に有用である。
【図面の簡単な説明】
【００９８】
【図１】この発明の実施の形態にかかるレイアウト設計システムを示すシステム構成図である。
【図２】この発明の実施の形態にかかるレイアウト設計装置のハードウェア構成を示すブロック図である。
【図３】この発明の実施の形態にかかるレイアウト設計サーバの機能的構成を示すブロック図である。
【図４】フレーム情報の一例を示す説明図である。
【図５】分割制御ファイルを示す説明図である。
【図６】この発明の実施の形態にかかるレイアウト設計端末の機能的構成を示すブロック図である。
【図７】ユーザ指示情報を示す説明図である。
【図８】中間テンプレート作成処理を示す説明図である。
【図９】物理情報と論理情報とのマッピングを示す説明図である。
【図１０】レイアウト設計サーバのレイアウト設計処理手順を示すフローチャートである。
【図１１】レイアウト設計端末のレイアウト設計処理手順を示すフローチャートである。
【符号の説明】
【００９９】
１０１  レイアウト設計サーバ
１０２  レイアウト設計端末
３０２  指定部
３０３  フレーム情報抽出部
３０４  設計テンプレート作成部
３０５  出力部
３０６  入力部
３０７  最終レイアウトデータ作成部
３１１  分割制御ファイル
３１２  設計テンプレート
３１３  レイアウト処理結果
３１４  最終レイアウトデータ
３４１  分割部
３４２  設計テンプレート編集部
３４３  変換部
４００  フレーム情報
６０１  ユーザ指示情報入力部
６０２  テンプレート部品情報抽出部
６０３  論理情報入力部
６０４  テンプレート部品情報編集部
６０５  結合部
６０６  レイアウト処理部
６１０  中間レイアウトデータ
７００  ユーザ指示情報
【図１】
2006277418.tif 000003
【図２】
2006277418.tif 000004
【図３】
2006277418.tif 000005
【図４】
2006277418.tif 000006
【図５】
2006277418.tif 000007
【図６】
2006277418.tif 000008
【図７】
2006277418.tif 000009
【図８】
2006277418.tif 000010
【図９】
2006277418.tif 000011
【図１０】
2006277418.tif 000012
【図１１】
2006277418.tif 000013