(57)【要約】      （修正有）【課題】複数の物理的インスタンスを複製しかつ論理マスタと同期させる方法を提供する。【解決手段】１個もしくはそれ以上のデータ・セットを複製し、マスタ・データ・セットと同期させるものを提供し、マスタ・データ・セットおよび少なくとも１個のクローン・データ・セットのデータ・デザイン管理を提供すること、およびマスタの物理的デザイン・データ・セットを１個もしくはそれ以上の物理的インスタンス中にコピーすることを含む。これにより前記１個もしくはそれ以上の物理的インスタンスのカスタマイゼーションを可能にする。このマスタ・データ・セットは、共通のデータ・セットに対して通常は実行される全ての実在する検証プロセスが、共通のデータ・セットおよびクローン間の自動同期によって、前記データ・セットのクローンにも等しく適用されるのを可能にする。【選択図】図３
2008059584.tif 000002
【特許請求の範囲】
【請求項１】
１つもしくはそれ以上のデータ・セットを複製し、マスタ・データ・セットと同期させる方法であって、
マスタ・データ・セットおよび少なくとも一つのクローン・データ・セットを管理するステップと、
一つもしくはそれ以上の物理的インスタンスのカスタマイゼーションを可能にするために、前記一つもしくはそれ以上の物理的インスタンスの中にマスタの物理的デザイン・データ・セットをコピーするステップと
を含む方法。
【請求項２】
前記マスタ・データ・セットが、デザイン・コンポーネンツ、回路マクロおよび回路エンティティのうちの少なくとも一つを記述し、かつ論理データ・セットおよび物理的デザイン・データ・セットを含む、請求項1に記載の方法。
【請求項３】
論理データ・セットを論理クローン・データ・セットのうちの一つもしくはそれ以上のインスタンスに複製するステップ
を含む、請求項２に記載の方法。
【請求項４】
前記管理するステップおよびコピーするステップが、前記マスタ・データ・セットとして機能するように一つもしくはそれ以上のデザイン・コンポーネンツを認識するステップと、
前記マスタ・データ・セットのために、
（ａ）前記マスタ・データ・セットの各々のための複数の前記クローン・データ・セットのデータ・タイプおよび数を定義し且つ（ｂ）前記クローンの各々のための名前およびインスタンス名を認識するステップと、
前記マスタ・データ・セットを複製することにより前記クローン・データ・セットを生じるように自動化プロセスを採用するステップと、
前記マスタ・データ・セットおよび前記クローン・データ・セット間のリンクを確立するように、関連するペディグリー情報を提供するステップと、
マスタ・クローン複製に参加している１個もしくはそれ以上のデザイン・エンティティに対応する追加のデータ・セットの保管を可能にするステップであって、
前記追加のデータ・セットが物理的デザイン・データ・セットを含むとともに、
（ａ）前記物理的デザイン・データ・セットを独立に変更し、または
（ｂ）前記クローン・データ・セットの夫々に属する前記物理的デザイン・データ・セットの各々をカスタマイズし、または
その変更およびカスタマイズの両方を行うようになっていて、前記保管を可能にするステップと、
マスタ・データ・セットへの更新を自動的に検知するために反復モニタを使用するステップとを含み、更に
対応するクローン・データ・セットの１個もしくはそれ以上の新規な反復中に前記更新されたマスタ・データ・セットを更に複製するステップと、
前記マスタ・データ・セットが各々の対応するクローン・データ・セットに適正に同期されるのを確保するようにデザイン・データ管理監査（オーディット）を採用するステップと
を含む請求項１に記載の方法。
【請求項５】
マスタ・データ・セットを定義する際に、マスタおよびクローンのデータ構造を提供するとともに、マスタごとに
（ａ）前記クローン・データ・セットごとに１個もしくはそれ以上のファイル・タイプを列挙するステップと、
（ｂ）前記クローン・データ・セットの各々の１個もしくはそれ以上の名称を列挙するステップと、
（ｃ）ファイル・タイプを特定し、かつ
（１）クローンを作られる全てのファイル・タイプを特定するショートカットとしてワイルドカードもしくは＊を使用することを許容し、一方で（２）複数のクローン・データ・セット・インスタンスを列挙するためのショートカットとしてカンマ、コロン、破線および他の共通に使用される反復文字を使用することを許容するステップと
を提供する、請求項４に記載の方法。
【請求項６】
前記マスタ・データ・セットを複製することにより前記クローン・データ・セットを生じるための自動化プロセスを採用するというクローン自動生成ステップが、グラフィカル・ユーザー・インターフェース（ＧＵＩ）の使用を通じて、あるいは自動化ライブラリ・プロセスの一部としてコマンド・シェル中に呼び出されるユーザー・プログラムによって実行可能である、請求項４に記載の方法。
【請求項７】
マスタ・データ・セットへの更新を自動的に検知するために反復モニタを使用する反復モニタ・ステップが、グラフィカル・ユーザー・インターフェース（ＧＵＩ）の使用を通じて、あるいは自動化ライブラリ・プロセスの一部としてコマンド・シェル中に呼び出されるユーザー・プログラムによって実行可能である、請求項４に記載の方法。
【請求項８】
デザイン・データ管理システムが自動化された複製ステップおよび反復モニタ・ステップが、自動化ライブラリ・プロセス、ポリシーおよびスクリプトのうちの１個もしくはそれ以上として構成されるのを許容し、
アプリケーション・ライブラリ・プロセスが、デザイン・データ管理システム（ＤＤＭ）中のマスタ・データ・セットのチェックアウト、チェックインおよびプロモーションを含む基本データ管理アクションを「オン」にトリガするようにプログラムされ、かつ
ライブラリ・プロセス・マネジャ（ＬＰＭ）が前記アプリケーション・ライブラリ・プロセスと相互作用してＤＤＭアクションによる作用をデータ・セットのメンバー・リストが受けるようにし、
前記ライブラリ・プロセスが前記マスタ／クローン・プロセスに参加していない任意のデータ・セットを、マスタ／クローン・データ構造と相互作用することによって自動的にフィルタで抽出し、かつ
前記マスタ／クローン・テーブル中の前記定義と合致する各メンバーが規定されたクローン・データ・セット中に処理されかつ複製され、かつ
結果として生じるクローン・データ・セットが前記ＤＤＭ中にインストールされるのが以下の（１）ないし（６）からなる方法であって、
（１）或るファイルが従来版の履歴のない新しいデータ・セットであるなら、前記ファイルを前記ＤＤＭに登録し、
（２）前記ファイル上に存在するかもしれないロックの状態をチェックし、
（３）前記ファイルの現在の版を、それがチェックアウト状態にあれば、チェックインし、
（４）新しいファイルをチェックインし、新しいファイルの版番号を得、
（５）ＤＤＭのファイル構造に基づき適正な位置のスペースにファイルを物理的に置き、そして
（６）成功／失敗復帰コード、タイムスタンプ情報および他の任意のメタ・データを含み得る、インストールされたクローン・データ・セットごとにライブラリ・プロセス結果をセットする、
請求項４に記載の方法。
【請求項９】
複製されるべきマスタ・データとして識別されるファイル・タイプが、ファイル・タイプについて制限のない、請求項４に記載の方法。
【請求項１０】
（１）対応するマスタ・データ・セットの版もしくは反復識別子およびタイムスタンプ情報を含むペディグリー情報を自動的に埋め込み。前記マスタ・データ・セットがテキスト・ベース・ファイルであるとき、コメントの形式で前記クローニングされたデータ・セット中に直接、前記ペディグリー情報データを埋め込むステップと、
（２）前記マスタ・データ・セットが、専属的ファイル・フォーマットであるとき、前記クローン・データの版識別子を、対応するマスタ・データの前記版識別子に関連付けるように版制御タグ付け方式を採用するステップと
を含む、請求項４に記載の方法。
【請求項１１】
前記テキスト・ベース・ファイルがＡＳＣＩＩ、ＶＨＤＬ、Ｖｅｒｉｌｏｇ、ＨＴＭＬもしくはＸＭＬである、請求項１０に記載の方法。
【請求項１２】
前記専属的ファイル・フォーマットが既存のソフトウエア・アプリケーションの形式である、請求項１０に記載の方法。
【請求項１３】
テープ・アウトの前に全てのマスタおよび対応するクローンが適正に同期されるのを確保するように対応するマスタ・データ・セットの最新のリリースされた版に、前記クローン・データ・セットのペディグリー情報を比較するのにデータ管理監査情報が使用される、請求項４に記載の方法。
【請求項１４】
マスタ・データ・セットが、論理クローン・データ・セットのインスタンスに複製され、前記マスタ・データ・セットとして働くように識別される論理データ・セットを含む、請求項１に記載の方法。
【請求項１５】
前記識別されたマスタ・データ・セットのために、前記マスタ・データ・セットごとに複数の前記クローン・データ・セットの数およびデータ・タイプを定義し、かつ前記クローンごとに名前およびインスタンス名を識別することを含む、請求項１４に記載の方法。
【請求項１６】
前記マスタ・データ・セットを複製することによって前記クローン・データ・セットを作成するために自動化プロセスを採用し、
前記マスタ・データ・セットおよびクローン・データ・セット間のリンクを確立するために関連するペディグリー情報を提供することを含む、請求項１５に記載の方法。
【請求項１７】
ａ．物理的なデザイン・データ・セットを含むデザイン・データ管理システムの中に、マスタからクローンへの複製の際に参加する１個もしくはそれ以上のデザイン・エンティティに対応する追加のデータ・セットを置き、
ｃ．前記物理的デザイン・データ・セットを独立に変更し、そして
ｄ．前記クローン・データ・セットの各々に属する前記物理的デザイン・データ・セットの各々をカスタマイズすることを含む、請求項１６に記載の方法。
【請求項１８】
マスタ・データ・セットへの更新を自動的に検地するように反復モニタを用いることを含む、請求項１７に記載の方法。
【請求項１９】
前記更新されたマスタ・データ・セットを、対応するクローン・データ・セットの１個もしくはそれ以上の新しい反復の中に複製し、かつ
各々の対応するクローン・データ・セットに前記マスタ・データ・セットが適正に同期されるのを確保するようにデザイン・データ管理監査を採用することを含む、請求項１８に記載の方法。
【請求項２０】
１つもしくはそれ以上のデータ・セットを複製し、マスタ・データ・セットと同期させるプログラムであって、該プログラムがコンピュータに、
マスタ・データ・セットおよび少なくとも一つのクローン・データ・セットを管理するステップと、
一つもしくはそれ以上の物理的インスタンスのカスタマイゼーションを可能にするために、前記一つもしくはそれ以上の物理的インスタンスの中にマスタの物理的デザイン・データ・セットをコピーするステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータおよびディジタル・システム用の集積回路のためのデザイン・データを管理するように改良された方法に関し、特に一つの論理エンティティの多くのユニークな物理的コピーに関連するデザイン・データの管理に関する。
【背景技術】
【０００２】
以下でＩＢＭはインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。ここで使用される他の名称も同社または他の会社の登録商標、商標または製品名であり得る。
また後述するソース同期インターフェイスの詳細が特許文献１に説明されている。
ＩＢＭ  Ｄｅｓｉｇｎ  Ｄａｔａ  Ｍａｎａｇｅｒ（ＤＤＭ）が、特許文献２および特許文献３に詳細に説明されている。
ＩＢＭ  ＤＤＭ  ライブラリ・プロセス・マネジャが、特許文献２、特許文献４、特許文献５、特許文献６に詳細に説明されている。
【特許文献１】米国特許６，４７０，４５８号
【特許文献２】米国特許６，６５４，７４７号
【特許文献３】米国特許５，９６６，７０７号
【特許文献４】米国特許６，０８８，６９３号
【特許文献５】米国特許５，９２０，８７３号
【特許文献６】米国特許５，８１２，１３０号
【０００３】
集積回路用の特定の構築ブロック、すなわちマクロの個別の物理的なコピーをカスタマイズする必要性が、これらの回路の複雑さおよび性能が増すにつれもっと一般的になってきている。これらのマクロはバッファもしくはＩＯブックと同じ位単純であるか、全体のマイクロプロセッサ・コアと同じ位複雑であるか、あるいはその中間位である。タイミング、パワー、物理的なフォーム・ファクタ、物理的なオリエンテーションおよび回路性能といったものに限定するものではないが、それらを含むカスタマイゼーションの必要性を促す多くのデザイン要求がある。
【０００４】
これまで世代のディジタル・デザインおよびコンピュータ・デザインでは、これは稀にしか問題にならず、インスタンスの全てを取り巻く物理的なコンストレインツおよび要求を満たすように容易に適応することができた。集積回路上に一つのマクロの複数の同一のコピーを置く単純な方法で、その頃のデザインの要求に合致させるには十分であった。
【０００５】
技術とデザイン（設計）が進化してくるにつれ、これは益々複雑になってくる。例えば、今日のマイクロプロセッサのクロック速度は、マクロのためだけでなく、各マクロの各インスタンスのためにカスタマイズされたタイミング・アサーションおよび解決策をしばしば必要とする。インスタンスのコピーの異なる物理的なオリエンテーションである。古いＣＭＯＳ技法はＣＭＯＳ  ＦＥＴゲートの種々のオリエンテーションに適応した。しかし、現在のＣＭＯＳ技法ではＦＥＴゲート群が全体の集積回路チップに跨る一つの方向にしばしば整列される必要がある。従って、平衡に整列されるＦＥＴ群を必要とする技法の場合、インスタンスの一つのコピーを９０度回転させるといったような簡単なチップ・フロア・プランニング動作は、オリジナルのオリエンテーションのゲートを持つそのコピーのために新しい物理的デザインを必要とすることになる。同様に、そのチップをフロア・プランニングする際、利用できるスペースはインスタンスの種々のコピーが異なるアスペクト比を有することが必要となるかもしれない。また、それもユニークな物理的インスタンスを作成する必要を生じる。他の例は、ＩＯブック・レジスタのチューニングであり、そこでは全てのＩＯブックが機能的に同一であるが、ラインのインピーダンスをマッチングさせるためにブック中に物理的に異なるレジスタ値が置かれるものである。これらのケースは全て物理的インスタンスのカスタマイゼーションを必要とする。
【０００６】
特定のマクロを記述するデータは、そのデータと同期し、そのデータのためのインターロックおよびアカウンタビリティを提供するデータベースに、デザイン・データ管理システム即ちデザイン・データ・マネジャ（ＤＤＭ）の指示の下で、一般に格納される。このデータは、ブックの論理的記述（ＶＨＤＬ、Ｖｅｒｉｌｏｇなどで以って作成される）、タイミング・ルール、監査（オーディット）状態、物理的な実装および特定のブロックに関連する他のデータ・セットからなってもよい。ＣＡＤ（コンピュータによる設計支援ツール）は集積回路チップを作成するためのデータを使用する。またそのデータ・セットはデザインのヒストリ（履歴）、有効性および信憑性についての情報を提供する。
【０００７】
全ての物理的コピーが同一である、何回も複製されるマクロの場合、全てのコピーが同じマスタ・データ・セットを参照することができるので、データ管理は単純である。しかし、コピーの物理的な実装がカスタマイズされる、これまでに説明したケースでは、物理的な実装を記述するユニークなデータ・セットがデータベースに維持されなければならない。残念ながら、多くのＣＡＤツールおよびＩＣデザイン方法はデザイン・エンティティの首尾一貫した命名が必要であり、デザイン・エンティティに亘ってデータ・セットを共有することをサポート（支援）しない。これらのリストリクションは、多くのデータ・セットが同一であるとしても、各々のユニークな物理的コピーごとに全てのデータ・セットの完全なコピーを必要とする。例えば、論理的な（ＶＨＤＬ）記述は全てのＩＯブックに対し同じであるかもしれないが、異なるレジスタ値を持ち、デザイン・データベース中に何百もの同一のエンティティの必要性を生じる何百もの物理的ブックがあるかもしれない。
【０００８】
歴史的には、共通の力任せのアプローチ（解決法）は、使用される夫々のカスタマイズされたコピーごとに全てのデータ・セットのコピーを作成することであった。このアプローチは単純であり、現存する方法およびデータ管理に適合する。しかし、論理的な更新があれば、必ず全てのコピーに亘って複製される必要がある。１個もしくは２個の論理的にユニークなブロックの１個もしくは２個のコピーの場合は、これらのアプローチは多くの追加的なオーバーヘッドなしに機能する。しかし、コピーを何百も何千も維持する必要の或る場合は困難となり、力任せのアプローチでは気が進まない。
【０００９】
他のアプローチは、共通であるデータ・セット（ＶＨＤＬデータ・セットのような論理的なデータ・セット）の唯一のコピーを維持しながら、必要なデータ・セット（物理的なデザイン・データ）を選択的にコピーすることである。このアプローチは、それが共通のデータが容易に管理され、維持されそして検証されることを可能にするので、望ましい。しかし、多くのこれまでにも述べたように、多くのＣＡＤツールおよびデザイン方法はデザイン・エンティティの首尾一貫した命名が必要であり、この選択的なアプローチを妨げている。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
必要なのは、データ・セットの単一のコピーを複数のインスタンスとともに維持することを許容し、しかも現存するデザイン・データベースのフレームワークの範囲内で、現存するＣＡＤツールで以って機能するこれらのインスタンスのユニークな特徴を記述するユニークなデータ・セットを許容する方法である。
【課題を解決するための手段】
【００１１】
発明の概要
本発明は、現存するデータベースおよび現存するＣＡＤツールを利用し続けながら、共通のデータ・セットの一つのコピーを複数のインスタンスとともに利用できるようにする。特に、この方法は共通のデータ・セットを１個もしくはそれよりも多いクローン・データ・セットを複製するための方法を用いることによって、その共通のデータ・セットを作成し、維持するためのユーザーの介在をできるだけ少なくするものを企図している。１個もしくはそれよりも多いデータ・セットを複製し、マスタ・データ・セットと同期させるためのここで開示する方法はマスタ・データ・セットおよび少なくとも一つのクローン・データ・セットのデータ・デザイン管理を提供し、マスタの物理的デザインのデータ・セットを１個もしくはそれよりも多い物理的インスタンス中にコピーして前記１個もしくはそれよりも多い物理的インスタンスのカスタマイゼーションを能動化する。そのマスタ・データ・セットはデザイン・コンポーネンツ、回路マクロおよび回路エンティティのうちの少なくとも１個を記述し、そしてそれは物理的デザインのデータ・セットを含む。論理データ・セットは論理クローン・データ・セットの１個もしくはそれよりも多いインスタンス中に複製されることができる。これは共通のデータ・セットに対し通常は実行される全ての実在する検証プロセスが前記データ・セットのクローンにも等しく適用されるのを許容する。これは共通のデータ・セットとクローンとの間の自動的な同期によって行われる。このようにして、品質保証プラクティスは何ら危険に晒されることはない。
【００１２】
これらの目的を達成しようとする本発明による態様は、ここで開示する方法ステップを適用することによるが、それらの方法ステップはその性質上、階層的なもしくはフラットな（即ち階層的でない）任意のデザイン構造に一般に適用され得る。更に、本発明は特定のデザイン・エンティティを表すデータ・セットのための首尾一貫した命名法(a consistent nomenclature) を必要とする多くの共通のデザイン環境で開示されるルールに従う。
【００１３】
ここで開示するのは複製もしくはクローニングのプロセスで使用されるマスタとして１個もしくはそれ以上のデザイン・エレメントを定義することから大よそ成る方法ステップである。更に、クローニングされたデータ・セットのための命名が、所望のクローンの数とともに定義される。一般に、本発明は任意のデータ・タイプがマスタとして参加することができるようにし、マスター・クローン関係の適正なデータ管理を確保するためにぺディグリー情報で以って、結果として生じるクローン・データ・セットをタグ付けする方法を提供する。
【００１４】
マスターおよびクローンを定義する際に、ユーザーとの明確な対話（相互作用）を通じて、あるいはデザイン・データ管理施設(facility)の完全な制御下で動作する自動ライブラリ・プロセスを使用することを通じて、そのクローニング手順を開始させるための複数の手段が存在する。最初に、前記手段がクローンを生じるが、これらの手段はそのデザイン・プロセスのコース中にマスタが変更される際それらのクローンへの対話式（双方向）の更新を行うのにも利用できる。
【００１５】
本発明の重要な側面は、論理デザイン・エレメントから物理的デザイン・エレメントを切り離し、これによって物理的なおよび回路のデザイン・チームが一つのデザイン・エレメント（回路、マクロ、ユニットなど）の複数のインスタンスを、対応する論理データ・セットへのデザイン変化を維持する必要なしにカスタマイズできるようにすることである。例えば、もしインターフェース・コントローラの３つのコピーが必要で、夫々異なる物理的属性を有するならば、そのオリジナルのデータ・セットをマスタと定義することができ、そして２個のクローンを作成することができる。この論理および検証のエンジニアはアーキテクトであって、そのコントローラ（即ちＶＨＤＬもしくはＶｅｒｉｌｏｇ記述）のマスタ論理記述をシミュレートし、反復することが必要なだけであり、一方で物理的なデザイン・チームはマスタおよびクローンの物理的なデータ・セットを独立に変更しカスタマイズすることができる。本発明のデータ管理の側面は、どんなに多くの回数、マスタが論理記述を必要とするかに拘わらず、マスタの論理記述が両方のクローンのために自動的に維持されるのを確保する。
【００１６】
適正なデータ管理が卓絶しているので、本発明は更に、ペディグリー情報および「Ｂｉｌｌ  ｏｆ  Ｍａｔｅｒｉａｌ」トラッキングを使用することによりマスタおよびクローンのデータ・セット間の適正な同期を確保する方法を用いる。更に、それはクローニングされた論理データ・セットとそのカスタマイズされた物理的デザイン・データ・セットとの間の機能的な等価性を証明するために最も普通で大きなＡＳＩＣ方法において見出されるブール式のステップを行う。
【００１７】
追加の特徴および効果は本発明の技法を通じて理解される。本発明の他の実施例および側面をここで詳細に説明するが、特許請求の範囲に示した発明の一部と理解されたい。本発明をその効果および本発明の特徴とともに、よりよく理解するためにその説明および図面に言及する。
【００１８】
本発明とみなせる主題を抽出し、特許請求の範囲に明示する。本発明の前記および他の目的、特徴および効果は添付図面と関連して以下の詳細な説明から明らかである。
【００１９】
前記および他の目的および効果とともに本発明は以下の詳細な説明および図面に示される本発明の好適な実施例から一層理解されよう。
【発明を実施するための最良の形態】
【００２０】
図面について詳細に述べると、図１は今後、マクロと呼ぶ複数の物理的エンティティを含む典型的な物理的デザイン構造を示すことが分かる。これらのマクロは典型的にはハードの物理的な境界を有し、絶対的な寸法、アスペクト比（縦横比）、ワイヤリング層とともに恣意的な論理構造を定義し、そしてそれらがフロア・プランニング演習(exercises)に参加するデザイン階層における最低レベルのオブジェクトとして機能する。図１では、３つのユニークな論理デザイン構造を例示するＭａｃｒｏ＿１（参照番号１０で示す）、Ｍａｃｒｏ＿２（１１）、Ｍａｃｒｏ＿３（１２）と名づけられた３つのユニークなマクロがある。一つのマクロ内の論理構造の複雑さは完全に恣意的であり得る。従って、前記マクロのうちの一つは入出力ブロックと同じ位簡潔な何かを代表し、一方で他のマクロはメモリ・コントローラのような複雑なエンティティを記述することができよう。これらのマクロの夫々はユニークな行動上のブロックであるだけでなく、各マクロはユニークなインスタンスとしてそのデザイン中にインスタンス化され、ｉｎｓｔ＿１、ｉｎｓｔ＿２、ｉｎｓｔ＿３という名称を与えられる。
【００２１】
図１に更に含まれるのは、Ｍａｃｒｏ＿１（参照番号１０で示す）の２つの追加のインスタンス、ｉｎｓｔ＿４（参照番号１３）およびｉｎｓｔ＿５（参照番号１４）である。ユニークなエンティティであるｉｎｓｔ＿２およびｉｎｓｔ＿３とは異なり、ｉｎｓｔ＿４およびｉｎｓｔ＿５はｉｎｓｔ＿１の同一のコピーである。長い機能ブロックを生じるために互いに論理的に縫合される必要がある記憶装置（アレイ）などのエレメントのために、低レベルの構築ブロックの幾つかのコピーがどのように共通に使用されるかを理解できる。コピー・インスタンスの他の共通の用法がチップ・トポロジー全体のネットをバッファするためである。コピー・インスタンスは複数の論理機能を能動化するための汎用の構築ブロックを再使用する非常に効果的な方法である。
【００２２】
コピー・インスタンスの一つの重要な側面は同じデータ・セットがインスタンスごとに使用される。図１では、Ｍａｃｒｏ＿１（参照番号１０、１３および１４）の３つのインスタンス全てが同じ論理記述（ＶＨＤＬなど）、レイアウト、ワイヤリング・コントラクトおよびタイミング・アサーションを使用する。
【００２３】
図１に示す他の例は、異なるアスペクト比を達成するためにＭａｃｒｏ＿１の他の例について９０度回転されるｉｎｓｔ＿５（参照番号１４）のオリエンテーションである。古い単純な技法では、単一のレイアウトを物理的に回転させることができた。しかし、今日の複雑な方法では、これはあまり現実的ではない。そして異なるアスペクト比のインスタンスを必要とする状況は、各インスタンスが、カスタマイズされたデータ・セットを持つ必要性に変換される。
【００２４】
図２は複数のコピー・マクロ間で物理的なデザイン変更を解決するための今日の産業で最も普通の解決策を示す。複製するのが望ましいデザイン・コンポーネントの一例としてＭａｃｒｏ＿１を用いると、Ｍａｃｒｏ＿１の３つのインスタンス（もしくはコピー）のための３つのデータ・セットを図面は示す。ＭＡＣ＿１Ａデータ・セット２０は機能行動を記述するための一片のＶＨＤＬと、その物理的位置付けおよびその下にあるゲートのワイヤリング・トポロジを記述するためのＬＡＹＯＵＴファイルと、タイミング・アサーション、フィードバックおよびコンストレインツの全てを列挙（エニュメレイト）するＴＩＭＩＮＧ（タイミング）ファイルとを含む。図２の例はそのデータ・セット中の３つのファイルを示すだけであるが、当業者はこのデータ・セットがそのデザイン方法論にどのように緊密に関係するかを認識し、そして境界コントラクト、ピン・リスティング、ドキュメンテーション、ゲート・レベル・ネットリスト、技法ルールなど複数の他のファイルを含むように容易に拡張できる。    
【００２５】
第２のインスタンス、ＭＡＣ＿１Ｂ（参照番号２１）は同じデータ・セットを含むが、普通の産業の解決策ではこれらのファイルのうちの幾つかがＭＡＣ＿１Ａカウンターパートとは区別され、他のものが同一のコピーとなるであろう。例えば、ＭＡＣ＿１Ｂのための物理的チャレンジが物理的オリエンテーションもしくはアスペクト比まわりにセンタリングされるなら、そのＬＡＹＯＵＴ（レイアウト）は、ＭＡＣ＿１Ａ  ＬＡＹＯＵＴとは異なるであろうが、そのＴＩＭＩＮＧファイルは同じになるかもしれない。同様に、もしＭＡＣ＿１Ｃ（２２）がユニークなタイミング・ソリューションを必要とするならば、それはカスタマイズされたＴＩＭＩＮＧファイルを用い、一方でそのＬＡＹＯＵＴは同じにとどまっているかも知れない。他の状況では、あるインスタンスがＬＡＹＯＵＴおよびＴＩＭＩＮＧファイルの両方へのカスタマイズを必要とするかも知れない。どのような場合にも、ほぼ常時一定に維持されるその一つのファイルは、図２のＶＨＤＬによって表される機能的記述である。これらの制限を解決するための最も普通のアプローチは、そのデザイン・チームが「マスタ」データ・セットの物理的コピーで以ってスタートし、それからその必要なファイルをカスタマイズすることである。この例では、ＭＡＣＲＯ＿１データ・セットがＭＡＣ＿１Ａ、ＭＡＣ＿１ＢおよびＭＡＣ＿１Ｃデータ・セットを生じるために、その参照マスタとして働くであろう。
【００２６】
残念ながら今日の物理的デザイン・ツールおよびプロセス、例えばＣａｄｅｎｃｅ  Ｄｅｓｉｇｎ  Ｆｒａｍｅｗｏｒｋ（米国Ｃａｄｅｎｃｅ  Ｄｅｓｉｇｎ社のフレームワーク、例えばＣａｄｅｎｃｅ  ＤＦ  ＩＩ）もしくはＡＵＴＯＣＡＤに共通の一つの特性は、同じマクロもしくは「セル」名を使用するようにセットされたデータを含む全てのファイルを必要とすることである。斯してＭＡＣ＿１ＢがＭＡＣ＿１Ａに機能的に同一であるけれども、このツールはＭＡＣ＿１Ａ  ＶＨＤＬをＭＡＣ＿１Ｂ物理的デザイン・データ・セットの中に含めるのを禁止する。このプロセス・リストリクション（制限）はＭＡＣ＿１ＢおよびＭＡＣ＿１ＣとしてＭＡＣ＿１Ａ  ＶＨＤＬを単純にコピーすることによって解決される。これらが機能的に同一なのでＭＡＣ＿１Ａが機能的に検証される限り、ＭＡＣ＿１ＢおよびＭＡＣ＿１Ｃが概念的なマナーで他動詞的に(transitively)検証される。少数のコピー・マクロによる、より小さなデザインのために、手動でそのＶＨＤＬ検証を追跡し、そのＶＨＤＬの全てのコピーが同一であることを確保するのは実現可能である。しかし、複雑な機能の上でコピー・マクロを用いる必要性が増すと、多くの問題が起こり得る。
【００２７】
第１の問題は基本マクロから多数のコピーを作り出さねばならない場合に起因して生じる。そのような状況の一例は本発明の好適な実施例でＢＲレジスタを含ませることである。ＢＲレジスタはポリシリコンから製造され、これらのトレランス（許容限度、耐性）にわたって大きな制御度合いを提供する。それらはドライバやレシーバーなどデータ伝送回路で普及している。ＢＲレジスタの各インスタンス化は、ユニークな物理的アトリビュートを必要とするが、これらは全てＶＨＤＬの比較的シンプルで一定のピースを参照する。非常に多くのＢＲレジスタのコピーが、ＶＨＤＬの物理的コピーの全てを手動でコピーし、管理するために、大量のリソースに伝授する。更に大部分のフロント・エンドの検証方法がＶＨＤＬの全てのピースを検証モデルに導入しようと努めるので、これは大量の不必要なオーバーヘッドをシミュレーション・モデルの構築に加え、全体のシミュレーション・パフォーマンスから潜在的に低下させる。
【００２８】
本発明の好適な実施例のように、複雑な（complex、 複合）デザインで生じる第２の問題は、ソース同期インターフェイス・マクロのような複雑なＩ．Ｐ．構造のためのコピー・マクロを使用したいという願望である。ソース同期インターフェイスは前述の特許文献１に更に説明されており、データ・ビットとともにバス・クロックを配信することによって非常に高速で高い帯域幅を提供するのに使用される。基本となる機能的マクロは非自明であり、その検証プロセス中、かなりの反復を必要とする。少数のコピー・マクロでさえ、マスタＶＨＤＬファイルに種々のコピーＶＨＤＬファイルを同期させるためにデザイン繰り返しを手動で管理することは、良くても退屈であり、悪くするとエラーを生じがちである。
【００２９】
本発明は、マスタとして指定される第１のデザイン・コンポーネントに属する１個もしくはそれ以上のデータ・セットが１個もしくはそれ以上の対応するクローン・データ・セットに自動的に複製される方法を使用することによって、これらの問題を解決しようとするものである。その方法の各ステップは図３に示す。ステップ１（参照番号３０）はどのデザイン・コンポーネントがマスタ・デザイン・コンポーネントとして働くかを識別することからなる。これはまた、複製されることになる１個もしくはそれ以上のデータ・セットを識別することを含む。本発明は、ＶＨＤＬを複製する用法を通じて本発明を教示する過半数の例を介してではあるが複数のデータ・セットが複製されるのを許容する。複製のための潜在的なデータ・セットの他の例は、Ａｄａ（エイダ）、Ｖｅｒｉｌｏｇ（ベリログ）もしくはテキスト・ベースのネットリストなど別の高レベルもしくはゲート・レベルの記述であろう。機能的もしくは論理的なデータ・セットのほかに本発明はＨＴＭＬ、ＸＭＬ、もしくはプレーンＡＳＣＩＩテキストを含む多数の潜在的なフォーマットでデザイン・ドキュメンテーションの複製を提供する。任意のテキスト・ベースのファイルがこの方法に参画できるので、タイミング・アサーション、ピン・リスト、および検証のためのテスト・ベンチなどのデータ・セットにも適用することができる。
【００３０】
図４は、いずれマスタとなるＩＮＶ  ４０として知られるコンポーネントを複製するための本発明の一実施例の用法を示す。この例では、本発明がそのリクエストされたデータ・セットをＩＮＶ＿Ｈ  ４１、ＩＮＶ＿Ｖ  ４２およびＩＮＶ＿Ｆ  ４３として知られる３つのクローンに自動的に複製する。そのような例のための実際的な状況はＩＮＶ＿Ｈ  ４１が水平のオリエンテーションを有し、ＩＮＶ＿Ｖ  ４２が垂直のオリエンテーションを有し、そしてＩＮＶ＿Ｆ  ４３が高パワー、高速の変形であるインバータの３つの変形のための必要性であろう。マスタ／クローン・テーブル４４はどのようにしてマスタが複製されることになるかを指図する情報を含む。この好適な実施例は、第１のカラムがマスタ・データ・セットを指示し、第２のカラムが複製されるべきであるデータ・セットをリストし、そして第３のカラムが全てのクローンの身分証明（ＩＤ、identities）を列挙する３カラム・テーブルとして構成されるデータ構造を使用する。図４の例では、前記テーブルの第１のレコードがＩＮＶ  ４０をマスタとして宣言し、３つのクローン、ＩＮＶ＿Ｈ、ＩＮＶ＿Ｖ、およびＩＮＶ＿Ｆを作成するように本発明に指示する。
【００３１】
マスタ／クローン・テーブル４４が、本発明の多くの特徴を示すようにデザインされた追加のレコードを含むことに留意されたい。例えば、各マスタは複製するためのユニークなリストのデータ・セットを有することができる。任意の数のデータ・タイプがあり得、そして好適な実施例がそれらを定義するのにカンマ（コロン、破線でもよい）で区切られたリストを用いる。最後のレコードは、ＩＯＲＥＳＩＳマスタのための全ての利用可能なデータ・セットが複製されるべきことを示すようにワイルドカードもしくは＊が使用される他の変形を示す。
【００３２】
クローンについては、好適な実施例は各クローンの名前が列挙されるのを許容する。クローンの数はもたらされる。ＩＯＲＥＳＩＳなどの状況の場合、１０００個のクローンを作成することが要求され、その好適な実施例は、ＩＯＲＥＳＩＳ１、ＩＯＲＥＳＩＳ２などの名前を用いるコピーを自動的に複製するように［１：１０００］のようなショートカットを使用できるようにする。図４がクローンを定義する幾つかの例を示すが、多様なフォーマットを持つ多数のデータ構造を用いてテーブルがどのように実装され得るかを当業者は容易に理解できよう。クローンおよびデータ・セットを列挙する本発明の方法がｓｅｄ、ａｗｋ、Ｐｅｒｌなどのように共通のプログラミング機能で発見されるもののようなパターン・マッチング方式を用いる他のショートカットを許容するように容易に拡張されることができる。
【００３３】
図３の方法ステップに戻ると、ステップ２（参照番号３１）は自動化クローニング（クローン作成）プロセスである。もっとも単純なケースでは、マスタのための簡単なテキスト・ファイルを複製するなど、このステップは、新しいファイル名としてそのクローン名を用いるソース・データ・セットの物理的コピーを作成することから殆ど成る。しかし、ＶＨＤＬなどのもっと複雑なケースでは、幾つかの追加の変形が必要である。図５はＩＮＶ＿Ｈ  ４１のためのＶＨＤＬのサンプル・ピースを示す。そこではエンティティ・セクション４６がＩＮＶをエンティティ宣言文中のＩＮＶ＿Ｈと置き換えるように更新されている。またアーキテクチャ・セクション４７がアーキテクチャ宣言に於ける同様な修正を含む。これらの修正がなければ、その結果生じるＶＨＤＬは典型的なＶＨＤＬコンパイラにＩＮＶ＿Ｈとして適正に登録されないであろう。
【００３４】
データ・タイプに関係なく作成されるクローン・ファイルごとに適用される更なる修正は図５の上部に示されるようなペディグリー情報（参照番号４５）である。この好適な実施例は、そのファイルに直接埋め込まれるペディグリー情報を許容するＶＨＤＬなどのテキスト・ベース・ファイルを使用することを説明している。本発明はこのセクションがそのファイル中のどこにでも位置付けられるのを許容し、ターゲット・データ・セットに依存する適正な文法に忠実なコメントとして挿入される。この場合は、マスタ・データ・セットの正確な版およびファイル名を示す情報がＶＨＤＬコメントとして実装される。好適な実施例では、そのペディグリー情報は、いつそのクローンが作成されたかを示すタイムスタンプをも含む。図示していないが、同様なペディグリー情報が簡易ＡＳＣＩＩテキスト・ファイル、ＨＴＭＬ、ＸＭＬ、もしくは任意の他のテキスト・ベース・ファイル中に埋め込まれることもできよう。
【００３５】
一度そのクローン・ファイルが作成されると、図３のステップ３（参照番号３２）はデータ管理レポジトリの中に新しく作成されたクローンをチェックすることを述べている。本発明の好適な実施例は特許文献２および特許文献３に詳細に説明されているＩＢＭ  Ｄｅｓｉｇｎ  Ｄａｔａ  Ｍａｎａｇｅｒを用いる。本発明の実施例ではＩＢＭ  ＤＤＭを使用することを企図しているが、当業者であれば、データ・セットを置いて問い合わせ（クエリ）をするための機構およびポリシーもしくは自動的な記述を定義するための手段とともに基本の版の制御能力を提供する、どのような工業標準のデザイン管理システムも使用することができることに留意されたい。このステップは到来するデータ管理監査（ＤＭオーディット）ステップのための重要なリンクを提供するので、本発明の重要なコンポーネントである。
【００３６】
本発明の他の重要な側面は反復モニタであるステップ４である。このステップはデータ・セットがデザイン・レポジトリ（貯蔵部）の中にチェックされて入るごとに実行する自動化ライブラリ・プロセスを用いる。反復モニタは好適にはＧＵＩを通じてコマンドシェル中に呼び出されるユーザー・プログラムにより実行される。マスタ／クローン・テーブル４４中で宣言されるどんなマスタのためにもそのライブラリ中に新しい版が現れるごとにこの反復モニタが起動する。この反復モニタはマスタ／クローン・テーブル４４中の情報に基づいてクローンの新しいセットを作成するためにステップ２（参照番号３１）のアルゴリズムを自動的に実行することになる。更に、新しく作成されたクローンはそのデザイン・レポジトリの中に自動的にチェックされて入る。本発明を教示する目的で図３が別個のステップとして反復モニタを示しているが、このステップがステップ２とステップ３の組合せであり、実際の実装の際も埋め込まれてもよいことを当業者は留意されたい。例えば、本発明の好適な実施例では、一旦、ステップ１が終了するとマスタ上の２ステップのチェックアウト／チェックイン手順を単に行うだけで、クローンが反復モニタによって初期に作成される。チェックアウト／チェックインは、ユーザーの介入の必要性なしに、ステップ２（参照番号３１）およびステップ３（参照番号３２）を実行するように反復モニタをキックオフするトリガ機構として働く。
【００３７】
図３の最後のステップはステップ５（参照番号３４）のデータ管理監査である。このステップは特定のレベルもしくはリリース（release）で全てのクローンについての版情報のためのデータ管理設備をクエリすることを必然的に伴う。全てのクローン（マスタ／クローン・テーブル４４に於ける定義に基づいて各クローンの全ての必要なデータ・セットを含む）の夫々の反復に対し、本発明は各クローンに於けるペディグリー情報を引き出す。それからそれは同じレベル（リリース）に於けるマスタ・データ・セットごとの版識別子のためのデータ・マネジャをクエリし、２つのエンティティを比較する。これらの版が等しくなければ、マスタ／クローン関係が侵されてしまっており、テープ・アウト(tape out)する前に修正されなければならない。そのようにし損なうと、アーキテクチャのそして機能の検証のために使用されるものを代表しないデザイン反復について物理的デザイン検証が行われてしまったというリスクを負う。追加のチェックとして、好適な実施例はまた、全てのコンテンツ（内容）が同じであることを確保するためにそのマスタに対してクローン・データ・セットをファイル比較する。
【００３８】
図６は従来技術に対する本発明の効果を実証する好適な実施例のデザイン・フロー（流れ）を示す。この例では、マクロＡＢＣは、マスタとして識別されるＶＨＤＬデータ・セット５０からなる。クローニング・プロセス５１（好適な実施例のための反復モニタよりなる）はＶＨＤＬの２つのクローン・ピース、ＡＢＣ＿１  ＶＨＤＬ（参照番号５２）およびＡＢＣ＿２  ＶＨＤＬ（参照番号５３）を作成するのに使用される。この物理的デザイン・チームは合成または手動ＰＤプロセス５４のいずれかを通じてＶＨＤＬの核ピースを自由に処理する。ここでの重要な側面は、３つのクローン全てを独立に処理しこれによって任意の物理的デザインの挑戦に合致するような完全なカスタム化を行える能力である。この合成／手動ＰＤプロセス５４の出力は、マスタＡＢＣ（参照番号５５）ならびにクローンＡＢＣ＿１（参照番号５６）およびＡＢＣ＿２（参照番号５７）のための物理的デザイン・データ・セットである。
【００３９】
本発明の他の重要な特徴は、マスタＡＢＣ  ＶＨＤＬ（参照番号５０）だけが機能的検証モデル５８に参加することである。これはＡＢＣ（０：２）という工業標準の命名法によって表されるように、ＡＢＣの伝統的なコピー・インスタンスをインスタンス化することによって達成される。この機能的検証モデルは、そのデザインがこのマクロの３つの同一のコピーを用いると想定する。これは、全てのクローンがマスタから引き出されたものであることをＤＭ監査ステップ３４が確認する限り、その機能モデルのための有効な想定である。図5の最後のステップは物理的デザイン・チームが、符合する論理実施例を実装したことを確保するために各クローンＶＨＤＬとその関連するＰＤデータ・セットとの間でブール式チェックを行うことよりなる。
【００４０】
本発明は生産性を改善し、手動でのデザイン・エラーを減少させようとする更なる試みを追加的な側面として企図している。これはデザイン・データ・マネジャ（ＤＤＭ）によって反復されるごとに全ての適切なマスタにクローニング手順を自動的に適用するという目的のライブラリ・プロセス（Ｌｉｂｒａｒｙ  Ｐｒｏｃｅｓｓ）の使用を必然的に伴う。これはデザイン変更を追跡し、図３に概略述べた方法ステップを手動で実行するデザイン・チームを楽にする。図３のクローニング方法が完全に手動プロセスとして実行されるのを本発明が一般に許容するが、この好適な実施例はライブラリ・プロセス・マネジャの制御下で全ての必要なステップを行う。自動化プロセス（時としてスクリプトまたはポリシーと呼ばれる）を実行する能力を備えた多くのデザイン・データ管理システムがマーケットにはあるが、本発明の実施例では特許文献２、特許文献４、特許文献５、特許文献６に説明されているＩＢＭ（登録商標）ＤＤＭライブラリ・プロセス・マネジャを用いる。その詳細な記述は、本発明の範囲を超えるものである。
【００４１】
図７はクローン・ライブラリ・プロセス（以下ではＬＰクローンと呼ぶ）を説明する。本発明はライブラリ・プロセス・マネジャの制御下で実行するアプリケーション・プログラムとして前記の方法ステップを具体的に含む。ＩＢＭ  ＤＤＭに於けるライブラリ・プロセス・マネジャはレポジトリ中の所望のデータ・セットに対して実行するための複数の自動化ステップをライブラリ管理者が定義するのを可能にする。このＩＢＭ  ＤＤＭ  ＬＰマネジャは管理者がチェックアウト、チェックイン、プロモート、削除などの種々のデータ管理アクション中に自動化ライブラリ・プロセスをトリガするのを許容する大きなフレキシビリティを有する。これは、データ・セットがライブラリ中にチェックして入れられるとき、データ・セットが特定のレベル（もしくはリリース）にプロモート（昇進）されるとき、あるいはその任意の組合せのときは必ずクローニング・プロセスをトリガすることによってそれらの特定の物理的デザイン方法に最も適合することをそのデザイン・チームが見出すのを可能にする。
【００４２】
図７のステップ１（参照番号６０）でＬＰクローン・プロセスが開始し、そこではアプリケーションがマスタ／クローン・テーブル４４のありかをつきとめ、内部データ構造中に読み込む。これは効率を上げるために主として行われる。そしてもしパフォーマンスが問題でなければ、このステップがその後に到来するステップとどのように対話式に実行することができるか当業者は認識できる。ステップ２（参照番号６１）はメンバー・ループを確立する。好適な実施例では、ＬＰマネジャがデザイン・データ管理システムと相互作用して、現在のＤＭアクションを受ける全てのデータ・セットのリストを得る。例えば、デザイナが4個のデザイン・コンポーネントをチェックインするなら、ＤＤＭはそれらの名前、ファイル・タイプ、ソース・ライブラリ・レベル、ターゲット・ライブラリ・レベル、タイムスタンプ情報などを示す全ての必要な情報を含むその4個のコンポーネントのリストを作成することになる。このリストはメンバー・リストとして知られており、ＬＰマネジャはそれをライブラリ・アプリケーション・プロセスに利用できるようにする。ステップ２はこのリスト中の各メンバーを処理するループをセットアップする。
【００４３】
ステップ３（参照番号６２）はそのメンバー・リスト中の各メンバーをチェックして、それがステップ１から生じた内部データ構造に基づくマスタ・コンポーネントか否かを調べる。更に、それは現在アクションを受けているデータ・セットが特定のマスタのためのマスタ／クローン・テーブル４４中に定義されたターゲット・データ・セットのうちの一つであるか調べる。もしいずれの条件にも合致しないなら、制御はステップ２（参照番号６１）のメンバー・リスト・ループの一番上に戻り、次のメンバーが処理される。もし両方の条件が一致するなら、ステップ４（参照番号６３）のクローニング・プロセスに処理が続行する。このステップは図３の必要なコンポーネントを含む。本発明の好適な実施例ではステップ４（参照番号６３）が以前説明した自動化クローン・プロセス３１として実際に実装される。このアプリケーション・プログラムは、図３のプロセスのフローに従うために、独立の方法ステップとしてユーザーによってそれが手動で引き起こされるかまたはステップ４（参照番号６３）のように自動化ライブラリ・プロセス中に埋め込まれることができる、といった態様で書き込まれる。このことでデザイン・コミュニティに最大のフレキシビリティを与えた。何故ならば同じアプリケーション・プログラムが、デザイナにより、もしその私的な作業空間でクローンを作成したいなら私的に実行できるか、あるいはデザイン・データ管理システムの制御下で実行できるからである。
【００４４】
次に、ステップ５はＤＤＭ中に出力ファイルをインストールする（参照番号６４）。このステップのために、好適な実施例はＩＢＭ  ＤＤＭ  Ｌｉｂｒａｒｙ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｒ中に存在するインストール機能を十分に利用する。このステップの詳細な挙動は前述のデータ管理の特許に記されているが、概略をいえば、このステップはあたかもそれらがユーザーによりレポジトリの中に手動でチェックされたかのようにして、新しく作成されたクローン・ファイルをＤＤＭ中に集積化を任される。その高レベルのステップは以下を伴う。
・このファイルを、もしそれが従来版の履歴にない新しい（入手したばかりの）データ・セットであるなら、ＤＤＭで以って登録する
・そのファイルに存在するかもしれないロックの状態をチェックする
・そのファイルの現在の版をチェックインする（それがチェックアウト状態にたまたまあれば）
・新しいファイルをチェックインし、新しい（ユニークな）ファイルの版番号を得る
・ＤＤＭのファイル構造に基づき適正な位置のスペースにファイルを物理的に置く。
【００４５】
最後に、ＬＰクローン・プロセスはステップ６の、ＬＰ結果をセットするプロセス（参照番号６５）で終了する。本発明の実施例に於けるＤＤＭのＬＰマネジャは簡易の成功／失敗復帰コードからその処理ステップの成果をコメント的に記述するテキストまでの全ての範囲にまたがる結果を記録するようなアプリケーション・プログラムのための能力を提供する。これらの「擬似処理結果(pseudo process results)」は、ＬＰ、タイムスタンプ情報もしくは他の形式のメタ・データの実行中に集められる統計的なデータなどの処理についての追加的な情報を含むこともできる。この情報はＤＤＭデータベース中に保持され、インストールされているデータ・セットの特定の版に関連する。ユーザーは、テープ・アウトする前にデザイン・コンポーネント上で成功裡に実行される必要なライブラリ・プロセスを確実にするための品質制御の手段としてこれらの結果をクエリすることができる。
【００４６】
本発明はまたマスタ・データ・セットとして非テキスト・ベースのファイルが参加するのを可能にすることを企図している。例えば、一つのデザイン・コンポーネントは複数のデータ・セットを含み、それらのうちの一つは既存のソフトウエア・アプリケーションであるＡｄｏｂｅ（Ｃ）  ＰＤＦもしくはＭｉｃｒｏｓｏｆｔ（Ｃ）  Ｗｏｒｄなどの専属的ファイル・フォーマットで記述されたデザイン・ドキュメンテーションであってよい。これらのファイル・フォーマットは容易に操作されるものではなく、これによって図５に示すような複製されたデータ・セット中に直接にペディグリー情報を埋め込むのを排除する。このタイプのデータ・セットに対応するために、好適な実施例はＩＢＭ  Ｄｅｓｉｇｎ  Ｄａｔａ  Ｍａｎａｇｅｒを用いるタグ付けスキームを用いる。そこではクローンを作成する元となったマスタ・データ・セットの版識別子およびタイムスタンプ情報を含む、複製されたクローン・データ・セットごとの「擬似処理(pseudo process )」結果をＬＰクローン・プロセスがセットする。この代替実施例では、そのファイルからペディグリー情報データを引き出すのとは異なり、図３のＤＭ監査ステップ（参照番号３４）がＤＤＭからのクローンの見掛けプロセスをクエリするだけである。いずれの場合でも、その成果は同じであり、クローンを作成するのに使用された、マスタに属するペディグリー情報が監査される。
【００４７】
以上の開示で本発明の幾つかの実施例を示したが、特許請求の範囲によって定義したような発明の範囲から外れずに種々の変更や改変をなし得ることは当業者に容易に理解できよう。更に本発明の要素が発明の詳細な説明や特許請求の範囲で単数で記載されているかもしれないが、１個は少なくとも１個を意味し、また単数と明示的に制限して述べていない限りは複数も意図している。
【図面の簡単な説明】
【００４８】
【図１】本発明を利用することが考えられる典型的なデザイン・トポロジを示す図である。
【図２】物理的なデザイン方法論におけるコピー・マクロを処理するための最も一般的なアプローチ（解決策）を記述する図である。
【図３】本発明の方法ステップを示す図である。
【図４】マスタ／クローン・テーブルの用法を教示するための一用例を示す図である。
【図５】図４からの同じ例でクローニングするＶＨＤＬを説明する図である。
【図６】本発明を用いる典型的なデザイン処理フローを示す図である。
【図７】このクローニング・プロセスを実行するための自動化「ライブラリ・プロセス（Library Process）」の用法を説明する図である。
【符号の説明】
【００４９】
２０  ＭＡＣ＿１Ａデータ・セット
２１  ＭＡＣ＿１Ｂデータ・セット
２２  ＭＡＣ＿１Ｃデータ・セット
４０  ＩＮＶ  （マスタ）
４１  ＩＮＶ＿Ｈ  （クローン１）
４２  ＩＮＶ＿Ｖ  （クローン２）
４３  ＩＮＶ＿Ｆ  （クローン３）
４４  マスタ／クローン・テーブル
４５  ペディグリー情報
４６  エンティティ・セクション
４７  アーキテクチャ・セクション
【図１】
2008059584.tif 000003
【図２】
2008059584.tif 000004
【図３】
2008059584.tif 000005
【図４】
2008059584.tif 000006
【図５】
2008059584.tif 000007
【図６】
2008059584.tif 000008
【図７】
2008059584.tif 000009