(57)【要約】【課題】解析を受けるデータモデルが解析中に変更された場合に、E-CADツールが、信頼できない結果を生成しないことを保証すること。【解決手段】データモデル(105)に関して、E-CADツール(107)内のサブモジュール(107(*))間の一貫性を確認するための方法(201-240)とシステム(100)。データモデル(105)の対象となる各ブロックの少なくとも１つの一貫性指示子を含む一貫性データベース(113)が最初に作成される(201)。次いで、サブモジュールの１つまたは複数が実行され(215)、データモデル(105)の現バージョンの解析が行われる。解析されるデータモデルの現バージョンのソースファイルにおいて対象となる各ブロックの一貫性指示子(103)に対応する少なくとも１つのデータフィールド値が、一貫性データベースの対応する一貫性指示子と比較され、それらの間に相違が検出された場合に、データの不一致の可能性を示す警告が発行される。【選択図】図２
2005071372.tif 000002
【特許請求の範囲】
【請求項１】
データモデル（１０５）に関して、Ｅ−ＣＡＤツール（１０７）内のサブモジュール（１０７（＊））間の一貫性を確認するための方法（２０１〜２４０）であって、
前記データモデル（１０５）の対象となる各ブロックの少なくとも１つの一貫性指示子（１０３）を含む一貫性データベース（１１３）を作成するステップ（２０１）と、
前記データモデル（１０５）の現バージョンの解析を行うために、前記サブモジュール（１０７（＊））の１つを実行するステップ（２１５）と、
解析される前記データモデル（１０５）の現バージョンのソースファイルにおいて対象となる各ブロックの前記一貫性指示子（１０３）に対応する少なくとも１つのデータフィールド値を、前記一貫性データベース（１１３）の対応する一貫性指示子（１０３）と比較するステップ（２２５）と、および
前記解析されるデータモデル（１０５）の現バージョンの前記少なくとも１つのデータフィールド値と、前記対応する一貫性指示子（１０３）との間に相違が検出されたこと（２３５）に応じて、前記データモデル（１０５）の現バージョンのデータと、前記データモデルの以前のバージョンの対応するデータとの間の不一致の可能性を示す警告を発行するステップ（２４０）とを含む、方法。
【請求項２】
前記一貫性指示子（１０３）が、前記ソースファイルの１つの作成時を示すタイムスタンプ情報を含む、請求項１に記載の方法。
【請求項３】
前記一貫性指示子（１０３）が、前記データモデル（１０５）の前記ソースファイルのファイルサイズを示す付加的な情報をさらに含む、請求項２に記載の方法。
【請求項４】
複数の前記サブモジュール（１０７（＊））が、同時に動作可能である、請求項１に記載の方法。
【請求項５】
データモデル（１０５）に関して、Ｅ−ＣＡＤツール（１０７）内のサブモジュール（１０７（＊））間の一貫性を確認するための方法（２０１〜２４０）であって、
前記データモデル（１０５）の対象となる各ブロックの少なくとも１つの一貫性指示子（１０３）を含む一貫性データベース（１１３）を作成するステップ（２０１）と、
前記データモデル（１０５）の現バージョンの解析を行うために、前記サブモジュール（１０７（＊））の１つを実行するステップ（２１５）と、
解析される前記データモデル（１０５）の現バージョンのソースファイルにおいて対象となる各ブロックの前記一貫性指示子（１０３）に対応するデータフィールド値を、前記一貫性データベース（１１３）の対応する一貫性指示子（１０３）と比較するステップと、
前記一貫性指示子（１０３）が、前記ソースファイルのうちの１つの作成時、または変更時のいずれかを示すタイムスタンプ情報を含むことと、および
解析される前記データモデルの現バージョンの前記データフィールド値と、前記対応する一貫性指示子（１０３）との間に相違が検出されたことに応じて、解析される前記データモデル（１０５）の現バージョンのデータと、前記データモデルの以前のバージョンの対応するデータとの間の不一致の可能性を示す警告を発行するステップ（２４０）とを含む、方法。
【請求項６】
前記一貫性指示子（１０３）が、前記データモデル（１０５）の前記ソースファイルのファイルサイズを示す付加的な情報をさらに含む、請求項５に記載の方法。
【請求項７】
データモデル（１０５）に関して、Ｅ−ＣＡＤツール（１０７）内のサブモジュール（１０７（＊））間の一貫性を確認するためのシステム（１００）であって、
プロセッサ（１０２）と、
前記プロセッサ（１０２）によってアクセス可能であり、前記データモデル（１０５）の対象となる各ブロックの一貫性情報（１０３）を格納するための一貫性データベース（１１３）と、
前記一貫性データベース（１１３）にアクセスでき、前記プロセッサ（１０２）を介して実行可能な比較モジュール（１１１）であって、前記一貫性情報（１０３）に対応する少なくとも１つのデータフィールド値を、前記一貫性データベース（１１３）の対応する一貫性情報（１０３）と比較する、比較モジュール（１１１）と、および
解析される前記データモデル（１０５）の現バージョンの前記データフィールド値と、対応する前記一貫性情報（１０３）との間の相違の比較に応じて、前記データモデル（１０５）の現バージョンのデータと、前記データモデルの以前のバージョンの対応するデータとの間の不一致の可能性を示す警告を発行するためのインターフェースモジュール（１１２）とを備える、システム。
【請求項８】
前記一貫性情報（１０３）が、前記ソースファイルのうちの１つの変更時を示すタイムスタンプ情報を含む、請求項７に記載のシステム。
【請求項９】
前記一貫性情報（１０３）が、前記データモデルの前記ソースファイルのファイルサイズを示す付加的な情報をさらに含む、請求項８に記載のシステム。
【請求項１０】
前記比較モジュール（１１１）が、複数のサブモジュール（１０７（＊））のそれぞれに機能的に組み込まれる、請求項７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ支援設計ツールのデータモデルの一貫性を確認するためのシステムおよび方法に関する。
【０００２】
関連出願
本発明は、同日付けで出願され同時係属中の以下の米国特許出願の題材に関係した要素を含む。すなわち、係る米国特許出願は、System And Method For Determining Wire Capacitance For A VLSI Circuitと題する米国特許出願第１０／６４７，５９７号、System And Method For Determining Applicable Configuration Information For Use In Analysis Of A Computer Aided Designと題する米国特許出願第１０／６４７，５９５号、Systems And Methods Utilizing Fast Analysis Information During Detailed Analysis Of A Circuit Designと題する米国特許出願第１０／６４７，６８７号、Systems And Methods For Determining Activity Factors Of A Circuit Designと題する米国特許出願第１０／６４７，５９４号、System And Method For Determining A Highest Level Signal Name In A Hierarchical VLSI Designと題する米国特許出願第１０／６４７，７６８号、System And Method For Determining Connectivity Of Nets In A Hierarchical Circuit Designと題する米国特許出願第１０／６４７，６０６号、System And Method Analyzing Design Elements In Computer Aided Design Toolsと題する米国特許出願第１０／６４７，５９６号、System And Method For Determining Unmatched Design Elements In A Computer-Automated Designと題する米国特許出願第１０／６４７，６０８号、Computer Aided Design Systems And Methods With Reduced Memory Utilizationと題する米国特許出願第１０／６４７，５９８号、System And Method For Iteratively Traversing A Hierarchical Circuit Designと題する米国特許出願第１０／６４７，６８８号、Systems And Methods For Identifying Data Sources Associated With A Circuit Designと題する米国特許出願第１０／６４７，６０７号、Systems And Methods For Performing Circuit Analysis On A Circuit Designと題する米国特許出願第１０／６４７，６０５号である。これらの米国特許出願のすべては、２００３年８月２５日に出願されている。
【背景技術】
【０００３】
Ｅ−ＣＡＤ（電子コンピュータ支援設計）ツールのユーザは、ＶＬＳＩデータモデルの解析中にそのモデルに変更が行われると、予期しない結果に遭遇することがある。一般に、Ｅ−ＣＡＤツールは、データモデルの所与の解析中に、後続する実行のさまざまなサブツール間のデータの一貫性をチェックしない。一般に、データモデルに対する責任を負っているＶＬＳＩ設計技術者が、解析の実行中にモデルを変更しないと想定されている。しかしながら、実際には、データモデルは、解析の実行中に頻繁に変更され、結果として予期しない挙動が生じ、解析ツールから異常な出力がたびたび生じる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、予期しない、および／または異常な結果の原因を調べようとすることに、設計技術者の貴重な時間および資源が費やされる可能性がある。解析を受けるデータモデルが解析中に変更された場合に、Ｅ−ＣＡＤツールが、信頼できない結果を生成しないことを保証する方法が必要とされている。代案として、ソースデータをその解析中にロックダウンして、解析中に変更を行えないようにすることを保証することができる。もちろん、この代替案は、解析の進行中に設計者がチップの設計を進めることを妨げるので、不都合である。
【課題を解決するための手段】
【０００５】
開示される実施形態は、データモデルに関して、Ｅ−ＣＡＤツール内のサブモジュール間の一貫性を確認するためのシステムを含む。データモデルの対象となる各ブロックの少なくとも１つの一貫性指示子を含む一貫性データベースが最初に作成される。次いで、サブモジュールの１つまたは複数が実行され、データモデルの現バージョンの解析が行われる。解析されるデータモデルの現バージョンのソースファイルにおいて対象となる各ブロックの一貫性指示子に対応する少なくとも１つのデータフィールド値が、一貫性データベースの対応する一貫性指示子と比較される。解析されるデータモデルの現バージョンにおける少なくとも１つのデータフィールド値と、対応する一貫性指示子との間に相違が検出される場合、データモデルの現バージョンのデータと、データモデルの以前のバージョンの対応するデータとの間の不一致の可能性を示す警告が発行される。
【０００６】
図面を参照することによって、本システムおよび本方法のより完全な理解を得ることができる。
【発明の効果】
【０００７】
本発明によれば、Ｅ−ＣＡＤツール内の１つまたは複数のモジュールにわたってデータモデルの一貫性を確認するように構成されたデータモデル一貫性システムが提供され、設計データに一貫性がないことに起因して、解析の結果が正確でない可能性があることを設計技術者に示すことにより、設計技術者の貴重な時間および資源の浪費が防止される。
【発明を実施するための最良の形態】
【０００８】
図１は、マルチプログラムＥ−ＣＡＤ（電子コンピュータ支援設計）ツール１０７内の１つまたは複数のモジュールにわたってデータモデルの一貫性を確認するように構成されたデータモデル一貫性システム１００の例示的な実施形態を示す。データモデル一貫性システム１００は、コンピュータシステム１０１およびＥ−ＣＡＤツール１０７を含む。コンピュータシステム１０１は、Ｅ−ＣＡＤサブツール１０７（＊）を関連して動作するように制御して、ＶＬＳＩ回路設計１０９を解析する。コンピュータシステム１０１は、プロセッサ１０２、コンピュータメモリ１０４、および記憶ユニット１０６を含む。例示的な実施形態において、比較モジュール１１１が、１つまたは複数の回路解析プログラム、すなわち「サブツール」１０７（＊）に組み込まれおり、これらのサブツール１０７（＊）は、Ｅ−ＣＡＤツール１０７のサブモジュールであり、最初に記憶ユニット１０６に存在する。比較モジュール１１１は、必要に応じて、Ｅ−ＣＡＤサブツール１０７（＊）から呼び出されるスタンドアローン（機能的に独立した）モジュールとすることができる。
【０００９】
初期化時に、Ｅ−ＣＡＤサブツール１０７（＊）は、コンピュータメモリ１０４にロードされる。プロセッサ１０２は、サブツール１０７（＊）によって実行されるＥ−ＣＡＤ命令セットの一部として、比較モジュール１１１を実行する。また、解析を受ける回路設計１０９の少なくとも一部も、コンピュータメモリ１０４にロードされる。設計１０９は、データモデル１０５を含み、データモデル１０５は、その設計の解析中に時折変更されるさまざまなコンポーネントを含む。例示的な実施形態において、システム１００は、ユーザインターフェースモジュール１１２を含む。このユーザインターフェースモジュール１１２は、データモデル１０５の一貫性データ（後述される）と、前回の解析によって決定されたデータベース１１３の対応する一貫性データとの間の相違を示すために使用される。
【００１０】
例示的な実施形態において、比較モジュール１１１は、データモデル１０５のタイムスタンプおよび他のオプションの一貫性データを含む、一貫性指示子１０３を読み出し、そして、データモデルの前回の解析によって決定された同様のタイプの情報を含む一貫性データベース１１３に格納されたデータと比較するように構成される。比較モジュール１１１は、一貫性データベース１１３に問い合わせをして、データモデル１０５が一貫性データベース１１３において最後に更新されてから、その特定のデータモデルの設計データが変更されていないことを保証する。データモデル１０５と一貫性データベース１１３との間で一貫性情報に何らかの不一致がある場合、ユーザインターフェースモジュール１１２は、ユーザに警告を発行し、設計データに一貫性がないことにより、結果が正確でない可能性があることを示す。
【００１１】
図２は、図１のシステムの動作において実行される例示的な１組のステップを示すフローチャートである。図２に示されるように、セクション２０１のステップは、データモデル１０５において対象となる各ブロック（すなわち、回路設計１０９の階層ブロック）ごとに実行されて、一貫性データベース１１３が作成される。この一貫性データベース１１３は、データモデル１０５の後続のバージョンの一貫性をチェックする際に付き合わされる比較標準である。データモデル１０５は、ＶＬＳＩ回路設計１０９のサブセットである。本方法の初期段階を含むセクション２０１において、比較モジュール１１１は、設計１０９に関係する他のデータ（例えば、ソースファイル）と共に、データモデル１０５において対象となる各ブロックの一貫性指示子１０３を含む一貫性データを格納することによって、一貫性データベース１１３を生成する。各一貫性指示子１０３は、データモデル１０５の「ベースライン」バージョンのブロックに関連付けられた特定のデータフィールドを含む。例示的な実施形態において、比較モジュール１１１は、１つまたは複数の解析サブツールに組み込まれる。代案として、比較モジュール１１１は、スタンドアローンの「一貫性チェック」ツールとして使用されてもよい。
【００１２】
ステップ２０５において、比較モジュール１１１は、１つまたは複数の一貫性指示子１０３を一貫性データベース１１３に格納し、係る一貫性指示子１１３は、ブロックの前回の解析中に決定された際のベースラインのデータモデル１０５の各ブロックに対するソースファイルのタイムスタンプ値を含む。各解析ツール１０７のそれぞれの実行ごとに、新たな一貫性データベース１１３が作成され、各解析ツール１０７は、同じ一貫性データベース１１３とソースファイルにすべてがアクセスする複数のモジュール（サブツール）１０７（＊）を有することができる。ステップ２０５において格納された一貫性指示子１０３は、タイムスタンプ情報を含み、このタイプスタンプ情報は、データモデル１０５の特定のブロックのデータを含むファイルの作成時または最後の変更時を示す。より具体的には、このタイプスタンプ情報は、プロセッサのマシンタイムを含み、必要に応じて、日付および／または２４時間時刻を含む。
【００１３】
ステップ２１０において、データモデル１０５のソースファイルのファイルサイズなどの付加的な一貫性指示子１０３も、そのデータモデルの対象となる各ブロックごとに一貫性データベース１１３に格納され得る。
【００１４】
一貫性データベース１１３に格納され得るデータのタイプの例を以下の表１に示す。
【００１５】
【表１】
2005071372.tif 000003
【００１６】
表１の一貫性データベースのサンプルに示されるように、見出し「BdlFile」の下の各ファイルは、見出し「DataType」の下の表項目によって示されるさまざまなデータのタイプ（例えば、ワイヤの静電容量［「wire_cap」］データ）を含むソースファイルの名前である。また、Ｅ−ＣＡＤツール１０７またはサブツール１０７（＊）は、一貫性データベース１１３の「DataType」情報、さらには「RepType」（データ源、例えばアートワーク）情報も使用して、データモデル１０５の解析に使用されるファイルを決定する。「BdlMachTime」、「BdlDate」、および「BdlTime」として示される表１の項目は、その関連付けられた「BdlFile」ファイルの作成または最後の変更のいずれかが行われた時のプロセッサマシンタイム、日付、および２４時間時刻をそれぞれ表す一貫性指示子１０３である。
【００１７】
ステップ２１５において、Ｅ−ＣＡＤツール１０７の少なくとも１つのサブツール１０７（＊）が動作して（プロセッサ１０２によって実行されて）、データモデルの対象となる各ブロックごとにセクション２２０のステップを実行することにより、データモデル１０５の現バージョンを解析する。ステップ２２５において、現在動作しているサブツール１０７（＊）によって、組み込まれた（または関連付けられた）比較モジュール１１１が実行される。次いで、比較モジュール１１１は、現在解析中のデータモデル１０５のソースファイルにおける対象となる各ブロックのタイムスタンプ値を含むデータフィールド値を、一貫性データベース１１３の一貫性指示子１０３のタイムスタンプと比較する。より具体的には、表１の一貫性データベースサンプルの用語を使用すると、データモデル１０５のソースBdlFileにおけるBdlMachTimeを表すデータフィールド、ならびにオプションのBdlDateを表すデータフィールドおよびBdlTimeを表すデータフィールドは、一貫性データベース１１３の対応する一貫性指示子１０３と照らし合わされる。例示的な実施形態において、これらの「対応する一貫性指示子」１０３は、現在解析中のデータモデル１０５において、対応する同一のフィールドである。複数のサブツール１０７（＊）を同時に動作させることができ、この場合、本システム１００は、比較モジュール１１１を現在実行している可能性のあるサブツール以外のサブツール１０７（＊）によってデータモデル１０５になされた変更を検出するメカニズムを提供する。
【００１８】
一実施形態においてオプションであるステップ２３０において、データモデル１０５のソースファイルのファイルサイズなどの付加的な一貫性データも、一貫性データベース１１３の対応する一貫性指示子１０３と比較され得る。
【００１９】
ステップ２３５において、比較モジュール１１１は、ステップ２２５で行われたブロックデータの比較に応じて、各ブロックをさらに処理し、オプションとして、付加的な一貫性データがステップ２１０で一貫性データベース１１３に格納された場合には、ステップ２３０で行われた比較に応じて、各ブロックをさらに処理する。１つまたは複数の一貫性指示子１０３に関して、現データモデル１０５と一貫性データベース１１３との間でタイムスタンプまたは他の不一致が検出されると、ユーザインターフェースモジュール１１２は、ステップ２４０において、現データモデル１０５とそのデータモデルの前バージョンとの間にデータの不一致の可能性があることを示す警告を発行する。例えば、インターフェースモジュール１１２によって生成された警告は、データモデル１０５の特定のブロックをＥ−ＣＡＤツール１０７またはサブツール１０７（＊）によって再計算または再解析すべきことをユーザに警告することができる。
【００２０】
図２に関して説明された動作を実行する命令は、コンピュータ読取り可能記憶媒体に格納され得る。これらの命令は、図１のプロセッサ１０２などのプロセッサによって検索されて実行され、本システムに従って動作するようにそのプロセッサに命令することができる。また、これらの命令は、ファームウェアに格納されてもよい。記憶媒体の例として、メモリデバイス、テープ、ディスク、集積回路、およびサーバなどがある。
【００２１】
本システムの範囲から逸脱することなく、上記の方法およびシステムに何らかの変更を行うことができる。上記の説明に含まれるすべての事項または添付図面に図示されるすべての事項は、例示として解釈されるべきであって、限定の意味に解釈されるべきでないことに留意すべきである。例えば、図１に示されるアイテムは、本発明の思想から逸脱することなく、他の構成で構築され、接続され、構成され、および／または組み合わされることができ、図２に示された１組のステップは、本発明の思想から逸脱することなく、図示されたものとは異なる順序で実行され得る。
【図面の簡単な説明】
【００２２】
【図１】データモデル一貫性システムの例示的な実施形態を示す図である。
【図２】図１のシステムの動作において実行される例示的な１組のステップを示すフローチャートである。
【符号の説明】
【００２３】
100  データモデル一貫性システム
102  プロセッサ
103  一貫性指示子
104  コンピュータメモリ
105  データモデル
106  記憶ユニット
107  Ｅ−ＣＡＤツール
107（＊）  Ｅ−ＣＡＤサブツール
111  比較モジュール
113  一貫性データベース
【図１】
2005071372.tif 000004
【図２】
2005071372.tif 000005