【手続補正書】
【提出日】平成15年12月10日(2003.12.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
回路設計プラットフォームであって、
カタログデータベースを含むコンピュータシステムであって、該コンピュータシステムは分散型電子ネットワークでアクセス可能であり、該カタログデータベースは設計プロセスの異なる段階での使用のためのコンポーネントデータを格納している、コンピュータシステム；
該コンピュータシステム上で稼動するアプリケーションサーバであって、該アプリケーションサーバは該カタログデータベースに接続され、そして該アプリケーションサーバはさらに、
特定のコンポーネントデータについて該分散型電子ネットワークを検索する検索エンジン；
回路設計全体にコンポーネントを配置するための回路インテグレータ；
該回路設計全体に配置されたコンポーネントを接続するためのコンポーネントコネクタ；
チップ設計全体のソースコードネットリストを作成するネットリストジェネレータであって、該ソースコードネットリストはコンポーネントの位置および接続データを含む、ネットリストジェネレータ；
種々の論理シミュレータによってコンパイルされそして実行されるソースコードを作成する検証ソースコードジェネレータ
を含む、アプリケーションサーバ；および
該分散型電子ネットワークで他のコンピュータシステムに対して該コンポーネントデータにアクセスするリクエストを作成するためおよび受け取るために該コンピュータシステムによって管理されるネットワークインターフェース
を含む、回路設計プラットフォーム。
【請求項２】
前記設計プロセスの異なる段階での使用のための前記コンポーネントデータは、利用可能な電気コンポーネントのリストを含む、請求項１に記載の回路設計プラットフォーム。
【請求項３】
前記設計プロセスの異なる段階での使用のための前記コンポーネントデータは、利用可能な各電気コンポーネントと共に使用するためのサポートデータファイルを含む、請求項２に記載の回路設計プラットフォーム。
【請求項４】
前記サポートデータファイルは、コンポーネントデータシート、タイミングモデル、アプリケーションノート、シミュレーションモデル、Ｉ／Ｏピンデータ、レジスタマップデータ、検証ソースコード、パワーデータモデル、エリアデータモデル、テストベンチファイル、バグ追跡レポート、およびシグナルインテグリティモデルを含む、請求項３に記載の回路設計プラットフォーム。
【請求項５】
前記カタログデータベースは、１以上のサプライヤーデータベースへの電子リンクを含む、請求項１に記載の回路設計プラットフォーム。
【請求項６】
前記ネットワークインターフェースは、コンポーネント設計ファイルの移動のためのリクエストを受け取り、かつ、それに応答して、前記アプリケーションサーバは、分散型電子ネットワークを通じてアクセス可能な遠隔のコンピュータシステムに該コンポーネント設計ファイルを送る、請求項１に記載の回路設計プラットフォーム。
【請求項７】
前記コンポーネント設計ファイルは、指定料金の対価として遠隔のユーザにアクセス可能にされている、請求項６に記載の回路設計プラットフォーム。
【請求項８】
前記アプリケーションサーバは、ＪＡＶＡ（Ｒ）で書かれたソースコードを含む、請求項１に記載の回路設計プラットフォーム。
【請求項９】
前記アプリケーションサーバは、公開ポータルサイトをサポートする、請求項８に記載の回路設計プラットフォーム。
【請求項１０】
前記アプリケーションサーバは非公開ポータルサイトをサポートする、請求項８に記載の回路設計プラットフォーム。
【請求項１１】
複数のユーザからのリソースを使用して回路を設計する方法であって、
第１のユーザシステムに接続された第１のデータベースに複数のコンポーネントデータファイルを格納する工程；
要求に基づいて、分散型電子ネットワークで第２のユーザシステムを該第１のユーザシステムに接続する工程であって、該第１のユーザシステムは、該第１のデータベースと相互接続された第１のアプリケーションサーバを含み、該第２のユーザシステムは、第２のデータベースと相互接続された第２のアプリケーションサーバを含む、工程；
該第２のユーザシステムから、該第１のデータベースに格納された複数のコンポーネントデータファイルの任意のファイルへのアクセスのためのリクエストを受け取る工程；
該第２のユーザシステムによって、該第１のデータベースに格納された複数のコンポーネントデータファイルを検索する工程；
該分散型電子ネットワークで該第１のユーザシステムから、該利用可能な電子コンポーネントのうちの１つのコンポーネント選択を受け取る工程；
該第２のユーザシステムによって、該第１のデータベースに格納された複数のコンポーネントデータファイルの少なくとも１つを選択する工程；
該選択された電子コンポーネントに関するさらなる情報を引き出す工程；
該分散型電子ネットワークを介して、該第１のユーザシステムから該第２のユーザシステムへ少なくとも１つのコンポーネントデータファイルを送信する工程；
回路設計に、第１の送信されたデータファイルによって示された第１のコンポーネントを組み込む工程；
該第１のコンポーネントを該回路設計に存在する素子と相互接続する工程；
少なくとも１つのコンポーネントデータファイルを使用して、該回路設計のネットリストソースコードを作成する工程；
該送信されたコンポーネントデータファイルを使用して、該第１のコンポーネントの機能を検証する工程；および
該送信されたコンポーネントデータファイルから該回路設計の組み込まれ接続されたコンポーネントの検証ソースコードを作成する工程
を包含する、方法。
【請求項１２】
前記コンポーネントデータファイルを格納する工程は、ハードウェア言語、テキスト、Ｃ−コード、またはアセンブラ言語のいずれかで、リアルアクションインプリメンテーションコードおよびサポートデータファイルを格納することを包含する、請求項１１に記載の方法。
【請求項１３】
前記検索する工程、選択する工程、組み込む工程、相互接続する工程、引き出す工程、および、ネットリストおよび検証ファイルを作成する工程は、グラフィカルユーザインターフェースによってサポートされる、請求項１１に記載の方法。
【請求項１４】
前記相互接続する工程は、前記送信されたコンポーネントデータファイルを使用して、前記第２のユーザシステムによって自動的に実施される、請求項１１に記載の方法。
【請求項１５】
前記第１および第２のユーザシステムにおいてグラフィカルユーザインターフェースを提供する工程、該第１および第２のユーザシステムにおいて、前記コンポーネントデータファイルの１つに対応する入力選択を受け取る工程、および該第２のユーザシステムから該第１のユーザシステムへ該入力選択の指標を送信する工程をさらに包含し、
ここで、該第２のユーザシステムから、前記第１のデータベースに格納された前記複数のコンポーネントデータファイルの任意のファイルへのアクセスのリクエストを受け取る前記工程は、該第２のユーザシステムにおいて該入力選択の該指標を受け取る工程を包含する、請求項１１に記載の方法。
【請求項１６】
前記分散型電子ネットワークはインターネットを包含する、請求項１１に記載の方法。
【請求項１７】
前記アプリケーションサーバは、インターネットに接続された任意のユーザワークステーションへの公開アクセスを許可する公開ポータルサイトをサポートする、請求項１６に記載の方法。
【請求項１８】
前記アプリケーションサーバは、インターネットに接続されたユーザワークステーションを選択するために公開アクセスを許可する非公開ポータルサイトをサポートする、請求項１６に記載の方法。
【請求項１９】
前記第２のユーザシステムは、前記送信されたコンポーネントデータファイルに対して改変がなされた場合、前記第１のユーザシステムから、更新されたコンポーネントファイルを自動的に受け取る、請求項１１に記載の方法。
【請求項２０】
前記コンポーネントデータファイルは、前記利用可能な電子コンポーネントのサプライヤーへのリンクを含む、請求項１６に記載の方法。
【請求項２１】
複数のユーザからのリソースを使用して回路を設計するためのシステムであって、
第１のデータベースであって、第１のユーザシステムと接続された該第１のデータベースに複数のコンポーネントデータファイルを格納するための第１のデータベース；
要求に基づいて、分散型電子ネットワークで該第１のユーザシステムを第２のユーザシステムと接続するためのネットワークマネージャーであって、該第１のユーザシステムは、該第１のデータベースと相互接続された第１のアプリケーションサーバを含み、該第２のユーザシステムは、第２のデータベースと相互接続された第２のアプリケーションサーバを含む、ネットワークマネージャー；
該第２のユーザシステムから、該第１のデータベースに格納された複数のコンポーネントデータファイルの任意のファイルへのアクセスのためのリクエスト、および該第１のユーザシステムから該第２のユーザシステムへ該分散型電子ネットワークを介して少なくとも１つのコンポーネントデータファイルを送信するためのリクエストを受け取るためのネットワークインターフェース；
該第２のユーザシステムによって、該第１のデータベースに格納された該複数のコンポーネントデータファイルを検索するための検索エンジン；
該第２のユーザシステムによって、該第１のデータベースに格納された複数のコンポーネントデータファイルの少なくとも１つを選択する手段；
回路設計に、第１の送信されたデータファイルによって示された第１のコンポーネントを組み込むための回路インテグレータ；
該第１のコンポーネントを該回路設計に存在する素子と相互接続するための回路コンポーネントコネクタ；
該少なくとも１つのコンポーネントデータファイルを使用して該回路設計のネットリストソースコードを作成するためのネットリストソースコードジェネレータ；
該送信されたコンポーネントデータファイルを使用して、該第１のコンポーネントの機能を検証するためのコンポーネント機能ベリファイア；および
複数の論理シミュレータによってコンパイルされそして実行されるソースコードファイルを作成するための回路検証ファイルジェネレータ
を含む、システム。
【請求項２２】
前記第１のデータベースに格納された前記コンポーネントデータファイルは、ハードウェア言語でリアルアクションインプリメンテーションコードを含み、前記サポートデータファイルはアッセンブラ言語で格納される、請求項２１に記載のシステム。
【請求項２３】
前記検索エンジン、前記選択する手段、前記回路インテグレータ、前記回路コンポーネントコネクタ、および前記ネットリストジェネレータは、グラフィカルユーザインターフェースによってサポートされる、請求項２１に記載のシステム。
【請求項２４】
前記回路コンポーネントコネクタは、前記送信されたコンポーネントデータファイルを使用する自動コンポーネントコネクタをさらに含む、請求項２１に記載のシステム。
【請求項２５】
前記分散型電子ネットワークはインターネットを含む、請求項２１に記載のシステム。
【請求項２６】
前記アプリケーションサーバは、インターネットに接続された任意のユーザワークステーションへの公開アクセスを許可する公開ポータルサイトをサポートする、請求項２５に記載のシステム。
【請求項２７】
前記アプリケーションサーバは、インターネットに接続された任意のユーザワークステーションを選択するために公開アクセスを許可する非公開ポータルサイトをサポートする、請求項２５に記載のシステム。
【請求項２８】
前記送信されたコンポーネントデータファイル中にエラーが検出された場合、前記第１のユーザシステムから、更新されたコンポーネントファイルを前記第２のユーザシステムに自動的に送達するバグトラッカーをさらに含む、請求項２１に記載のシステム。
【請求項２９】
１またはそれ以上のプロセッサに一連の工程を実施させる、１セットのプログラムされた命令が含まれるコンピュータ読み取り可能な媒体であって、該工程は、
第１のユーザシステムに接続された第１のデータベースに複数のコンポーネントデータファイルを格納する工程；
要求に基づいて、分散型電子ネットワークで第２のユーザシステムを該第１のユーザシステムに接続する工程であって、該第１のユーザシステムは、該第１のデータベースと相互接続された第１のアプリケーションサーバを含み、該第２のユーザシステムは、第２のデータベースと相互接続された第２のアプリケーションサーバを含む、工程；
該第２のユーザシステムから、該第１のデータベースに格納された複数のコンポーネントデータファイルの任意のファイルへのアクセスのためのリクエストを受け取る工程；
該第２のユーザシステムによって、該第１のデータベースに格納された該複数のコンポーネントデータファイルを検索する工程；
該分散型電子ネットワークで該第１のユーザシステムから、該利用可能な電子コンポーネントの１つのコンポーネント選択を受け取る工程；
該第２のユーザシステムによって、該第１のデータベースに格納された複数のコンポーネントデータファイルの少なくとも１つを選択する工程；
該選択された電子コンポーネントに関するさらなる情報を引き出す工程；
少なくとも１つのコンポーネントデータファイルを、該分散型電子ネットワークを介して、該第１のユーザシステムから該第２のユーザシステムへ送信する工程；
回路設計に、第１の送信されたデータファイルによって示された第１のコンポーネントを組み込む工程；
該第１のコンポーネントを該回路設計に存在する素子と相互接続する工程；
該少なくとも１つのコンポーネントデータファイルを使用して該回路設計のネットリストソースコードを作成する工程；
該送信されたコンポーネントデータファイルを使用して第１のコンポーネントの機能を検証する工程；および
該送信されたコンポーネントデータファイルから該回路設計の組み込まれ接続されたコンポーネントの検証ソースコードを作成する工程
を包含する、コンピュータ読み取り可能な媒体。
【請求項３０】
前記プログラムされた命令のセットは、コンピュータシステム上で稼動するアプリケーションサーバに格納される、請求項２９に記載のコンピュータ読み取り可能な媒体。
【請求項３１】
前記プログラムされた命令のセットは、任意のコンピュータ言語で書かれた、請求項３０に記載のコンピュータ読み取り可能な媒体。
【請求項３２】
回路チップを設計するためのシステムであって、
カタログデータベースを含むコンピュータシステムであって、該コンピュータシステムは、分散型電子ネットワークでアクセス可能であり、該カタログデータベースは、設計プロセスの異なる段階での使用のためのコンポーネントデータを格納している、コンピュータシステム；
該コンピュータシステム上で稼動するアプリケーションサーバであって、該アプリケーションサーバは該カタログデータベースに接続され、そして該アプリケーションサーバはさらに、
回路設計プラットフォーム
を含む、アプリケーションサーバ；および
該分散型電子ネットワークで他のコンピュータシステムに対して該コンポーネントデータにアクセスするリクエストを作成するためおよび受け取るために該コンピュータシステムによって管理されるネットワークインターフェース
を含む、システム。
【請求項３３】
前記回路設計プラットフォームは、特定のコンポーネントデータについて前記分散型電子ネットワークを検索する検索エンジンをさらに含む、請求項３２に記載のシステム。
【請求項３４】
前記回路設計プラットフォームは、回路設計全体にコンポーネントを配置するための回路インテグレータをさらに含む、請求項３２に記載のシステム。
【請求項３５】
前記回路設計プラットフォームは、前記回路設計全体に配置されたコンポーネントを接続するためのコンポーネントコネクタをさらに含む、請求項３２に記載のシステム。
【請求項３６】
前記回路設計プラットフォームは、チップ設計全体のソースコードネットリストを作成するネットリストジェネレータをさらに含み、該ソースコードネットリストはコンポーネント位置および接続データを含む、請求項３２に記載のシステム。
【請求項３７】
前記回路設計プラットフォームは、種々の論理シミュレータによってコンパイルされ実行されるソースコードを作成する検証ソースコードジェネレータをさらに含む、請求項３２に記載のシステム。
【請求項３８】
複数のユーザからのリソースを使用して回路を設計する方法であって、
第１のユーザシステムに接続された第１のデータベースに複数のコンポーネントデータファイルを格納する工程；
要求に基づいて、分散型電子ネットワークで第２のユーザシステムを該第１のユーザシステムに接続する工程であって、該第１のユーザシステムは、該第１のデータベースと相互接続された第１のアプリケーションサーバを含み、該第２のユーザシステムは、第２のデータベースと相互接続された第２のアプリケーションサーバを含む、工程；
該第２のユーザシステムから、該第１のデータベースに格納された複数のコンポーネントデータファイルの任意のファイルへのアクセスのためのリクエストを受け取る工程；
該第２のユーザシステムによって、該第１のデータベースに格納された複数のコンポーネントデータファイルを検索する工程；
該分散型電子ネットワークで該第１のユーザシステムから、該利用可能な電子コンポーネントの１つのコンポーネント選択を受け取る工程；
該第２のユーザシステムによって、該第１のデータベースに格納された複数のコンポーネントデータファイルの少なくとも１つを選択する工程；
該選択された電子コンポーネントに関するさらなる情報を引き出す工程；
該分散型電子ネットワークを介して、該第１のユーザシステムから該第２のユーザシステムに少なくとも１つのコンポーネントデータファイルを送信する工程；および
回路設計全体を作成し、該送信されたデータファイルを使用して全体回路サポートファイルを添付する工程
を包含する、方法。
【請求項３９】
前記回路設計全体を作成する工程は、回路設計に、第１の送信されたデータファイルによって示された第１のコンポーネントを組み込むことをさらに包含する、請求項３８に記載の方法。
【請求項４０】
前記回路設計全体を作成する工程は、前記第１のコンポーネントを前記回路設計に存在する素子と相互接続することをさらに包含する、請求項３８に記載の方法。
【請求項４１】
前記回路設計全体を作成する工程は、前記少なくとも１つのコンポーネントデータファイルを使用して、該回路設計のネットリストソースコードを作成することをさらに包含する、請求項３８に記載の方法。
【請求項４２】
前記回路設計全体を作成する工程は、前記送信されたコンポーネントデータファイルを使用して、該第１のコンポーネントの機能を検証することをさらに包含する、請求項３８に記載の方法。
【請求項４３】
前記回路設計全体を作成する工程は、前記送信されたデータファイルから前記回路設計の組み込まれて接続されたコンポーネントの検証ソースコードを作成することをさらに包含する、請求項３８に記載の方法。
【請求項４４】
遠隔ＩＰコンポーネントリソースを使用する回路設計の方法であって、
分散型ネットワークを通じてリンクした遠隔データベースから、予め指定されたＩＰコンポーネントのソースコードファイルを取り込む工程；
単一回路設計において、既に設計されたＩＰコンポーネントの取り込まれたソースコードファイルを組み立てる工程；および
該単一回路設計を表すソースコードおよびサポートファイルを作成する工程
を包含する、方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
実施形態は、設計者が複数のＩＰ設計のカタログをサーチし、瞬間的に、ＩＰについての関連する情報の全てが、新たなＳｏＣの設計において用いられるように設計者のファイルに転送され得る設計プラットフォームを提供する。この実施形態のプラットフォームは、内部または外部ＩＰおよびＩＰソーシングのいずれかの選択をサポートする。設計プラットフォームをサポートするソフトウェアは、モジュラー形式で書かれ、例えば、ＶＨＤＬまたはＶｅｒｉｌｏｇで書かれた、関連するＩＰデータの全てを転送することをサポートするように、容易に適合されることができる。さらに、プラットフォームサポートソフトウェアのモジュラー形式は、設計プラットフォームが、Ｓｙｓｔｅｍ−Ｃのような開発言語を含む他のハードウェア言語をサポートする能力を有することを可能にする。この実施形態のプラットフォームはまた、設計者が、選択したＩＰの全てを設計全体の中で設定し、ＩＰを接続し、設計全体の中で用いられるコンポーネント全てのネットリストを生成する。この実施形態のプラットフォームは、さらに、適切な統合および接続、ならびに、設計全体の基本的な機能検証を確実にするため、コンパイルされ、多くの検証ツールのうちのいずれにおいても容易に用いられ得るＡＮＳＩ−Ｃコード出力を提供する。さらに、設計プラットフォームは、複数のアセンブリ言語のいずれかでソースコード出力を生成するように、カスタム化または変更され得る。ＩＰ選択、統合、および検証が行われた後、この実施形態のプラットフォームは、最終的な製造のため、コンピュータ援用合成、配置、およびルーティングツールを用いて、容易に統合され得る。設計プラットフォームにアクセスするユーザには、利用可能なツールおよびサービスを識別するメニューまたは他の簡便なフォーマットで、オプションが提示され、１つの場所で、幅広い種類のツールおよびサービスへのアクセスを有することによって、回路設計をより速く完成させることが出来る。設計プラットフォームは、プラットフォームを介して提供されるツールおよびサービスを購入すること、借りること、または他の方法で獲得することを容易にする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
一旦プロセス３００において作成される設計全体が完了すると（そしてその場合は、プロセス４００において外部ベンダから種々の選択されたＩＰコアを購買することが必要である）、設計プラットフォーム１０４はユーザ１０２に、例えば、出力されたＡＮＳＩ−Ｃにおけるソースコードまたはアセンブリ言語ソースコードを提供する。このソースコードは、検証の目的でユーザ１０２に提供され、そして種々の従来の論理シミュレータおよび検証ツールにおいて容易にコンパイルおよび使用され、設計全体の統合を確実にする。図５は、例えば、図２のシステムと関連して使用され得るような、設計検証のためのプロセス５００を例示するフローチャートである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
次にステップ５０４において、設計プラットフォーム１０４は、設計全体の統合および接続性を検証する。ステップ５０４の目的は、個々のＩＰコアブロックそれぞれの種々のＩ／Ｏポートのそれぞれが適正に設計全体において使用される他のＩＰコアブロックおよびバスに統合および接続されたことを保証することである。転送プロセス３００の間にリアルアクション実施コード（例えば、ＶＨＤＬまたはＶｅｒｉｌｏｇで書かれる）を伴うＩ／Ｏピンデータ、レジスタマップデータなどのサポートデータがステップ５０４において使用され、ＩＰコアブロックの適正な統合および接続性を検証する。ＩＰコア特定パラメータはユーザ１０２によって設計プラットフォーム１０４を介して構成され、かつ設計プラットフォーム１０４によって生成されるネットリストに含まれる。上記のように、設計プラットフォーム１０４は、全ＳｏＣネットリストに対するリアルアクション実施コードを、例えば、Ｖｅｒｉｌｏｇ、ＶＨＤＬ、または何か他のハードウェア言語で生成する。ステップ５０６において、設計プラットフォーム１０４は、リアルアクション実施コードネットリストを生成して、設計検証のために、例えば、ＡＮＳＩ−Ｃまたは任意のアセンブリ言語でソースコードファイルを生成する。上記のように、生成されたネットリストおよび検証ソースコードファイルは、コンパイルされ、そして種々の論理シミュレータによって利用され得る。論理シミュレータは、ステップ５０８において使用され、生成されたネットリストによって表される設計全体のＩＰコアブロックの統合および接続性を検証する。従来の方法は、種々の論理シミュレータによって利用するために、全体設計者が１つのＣコードまたはアセンブリ言語コードを書き、書かれたコードをコンパイルすることが必要である。本実施形態において、設計プラットフォームは、自動的に転送データファイルを利用して、統合および接続性検証のためのＣコード（またはアセンブリ言語コード）を生成する。