(57)【要約】【課題】  集積回路のためのデザイン・フローに関してユーザを自動的に誘導する方法及びシステムを提供すること。【解決手段】  高速チップ管理システム（１０）に含まれるプロジェクト・コーディネータ（１２）より、デザイン・フローのユーザ・インターフェースをユーザのコンピュータ上に表示し、このユーザ・インターフェースは、デザイン・フロー・プロセスにおける各ステップに対応するシンボルを含む。これらのステップは、ルールの組として定義され、それぞれのステップに対するユーザの入力は、これらの規則に従っているかどうかが解析される。各ステップが成功裏のうちに完了したと判断されると、ユーザは次の段階に進むことができる。【選択図】  図１
2004171576.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のためのデザイン・フローの中をユーザを自動的に誘導するコンピュータに実装された方法であって、
（ａ）デザイン・フローのユーザ・インターフェースをユーザのコンピュータ上に表示するステップであって、前記ユーザ・インターフェースはデザイン・フロー・プロセス・ステップに対応するシンボルを含む、ステップと、
（ｂ）１組のルールを用いて前記デザイン・フロー・プロセス・ステップを定義し、それぞれのステップへのユーザ入力が前記規則に従っているかどうかを解析するステップと、
（ｃ）先行するステップが成功裏のうちに完了していると判断される場合には、ユーザが次のステップに進むことを許容するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、ウェブ・ベースのエキスパート・システムを含むことを特徴とする方法。
【請求項３】
請求項２記載の方法において、高速チップに対するデザイン・フローの中をユーザを誘導するステップを更に含み、前記デザイン・フロー・プロセス・ステップは、「初期解析及びスライスへの適合」、「コア及びＩＰのインポート」、「ラピッドワークス・ツール」、「シミュレーション及びタイミング・モデル」、「チップ配置及びルート」及び「製造のためのデータ・チェック及び準備」を含むことを特徴とする方法。
【請求項４】
請求項２記載の方法において、ＡＳＩＣに対するデザイン・フローの中をユーザを誘導するステップを更に含み、前記デザイン・フロー・プロセス・ステップは、「デザインの入力」、「ロジック統合」、「システム分割」、「プレレイアウト・シミュレーション」、「フロア・プラニング」、「配置」、「ルーティング」、「回路抽出」及び「ポストレイアウト・シミュレーション」を含むことを特徴とする方法。
【請求項５】
請求項２記載の方法において、デザイン、在庫状態更新を含むビジネス・システム及び製造ステップへのリリースを含むデザイン・フロー・プロセス・ステップを定義するステップを更に含み、前記エキスパート・システムは前記集積回路のデザイン及び製造の両方を管理することを特徴とする方法。
【請求項６】
請求項５記載の方法において、前記シンボルはプロセス・ブロックとして表示され、前記ステップ（ａ）は、それぞれのプロセス・ブロックにおいて前記プロセス・ブロックの完了状態をユーザに指示する状態インジケータを表示するステップを更に含むことを特徴とする方法。
【請求項７】
請求項６記載の方法において、前記ステップ（ａ）は、それぞれのプロセス・ブロックに入れ子状のレベルのプロセス・スクリーンを提供するステップを更に含むことを特徴とする方法。
【請求項８】
請求項７記載の方法において、前記ステップ（ａ）は、上位レベルのプロセス・ブロックのサムネイル・イメージを示す案内ツリーを前記ユーザ・インターフェース上に表示して、フロー全体との関係でどのステップが表示されているのかに関するクイック・リファレンスをユーザに提供するステップを更に含むことを特徴とする方法。
【請求項９】
請求項８記載の方法において、前記ステップ（ａ）は、完了したプロセス・ブロックを示す色符号化されたサムネイルを表示するステップを更に含むことを特徴とする方法。
【請求項１０】
集積回路のためのデザイン・フローの中をユーザを自動的に誘導するウェブ・ベースのエキスパート・システムであって、
カスタム・チップのデザインのための開始点として機能する複数の基準チップ・デザインを記憶するマスタ・データベースと、
前記カスタム・チップを定義するデザイン・パラメータ値を記憶する特定デザイン・データベースと、
１組のルールであって、
前記ユーザが前記カスタム・デザインに対するデザイン・パラメータ値を以下に入力するかを定義し、
前記値が、選択された基準チップ・デザインに対するデザイン仕様に従うことを確認し、
前記フローの中の複数の点で、解析、確認及びシミュレーションのためにサードパーティ製のＥＤＡツールを呼び出し、
前記デザイン・フローにおけるステップと前記ステップが完了されるシーケンスとをグラフィカルに示すユーザに対するユーザ・インターフェースの表示を制御して、前記ユーザが前記フローにおけるステップを正確に実行したと判断されるときにのみ前記ユーザは前記フローにおける次のステップに進むことが許容する、
という１組のルールと、
を備えていることを特徴とするシステム。
【請求項１１】
請求項１０記載のシステムにおいて、在庫状態を含むビジネス・システムをチェックし、材料と製造能力とに関して要求されている在庫が特定の数の前記カスタム・チップを前記ユーザによって特定される時間フレームで製造するのに利用可能であるかどうかを前記ユーザに告知するルールを更に含むことを特徴とするシステム。
【請求項１２】
請求項１１記載のシステムにおいて、前記ユーザは、前記フローの中の完了したステップに戻り先の入力を修正し、変更が前記カスタム・チップに対して生じる影響を評価できることを特徴とするシステム。
【請求項１３】
請求項１２記載のシステムにおいて、ユーザ口座情報を記憶しユーザのアクセス特権を制御するユーザ口座データベースを更に含むことを特徴とするシステム。
【請求項１４】
請求項１３記載のシステムにおいて、サーバ上で実行されネットワークを介しウェブ・ブラウザを用いて前記ユーザによってアクセスされるプロジェクト・コーディネータ・アプリケーションを更に含み、前記プロジェクト・コーディネータは前記プロセス・フローを容易化しファイル管理及びチェックを実行することを特徴とするシステム。
【請求項１５】
請求項１４記載のシステムにおいて、前記プロジェクト・コーディネータは、ツールのコンパイラ制約条件を読み出し前記制約条件を前記デザインのパラメータ値と比較するか、又は、成功裏に完了したのかエラーなのかを指示するＥＤＡツールによって戻されたリターン・コードを読み出すかのいずれかによって、前記ＥＤＡツールの中の１つを呼び出した後に前記カスタム・デザインの順守をチェックすることを特徴とするシステム。
【請求項１６】
請求項１４記載のシステムにおいて、前記１組のルールは、ユーザ・インターフェース・ルールとフロー・コンプライアンス・ルールと電気ルールとインフラストラクチャ・ルールとを含むことを特徴とするシステム。
【請求項１７】
請求項１６記載のシステムにおいて、前記ユーザが前記カスタム・チップに対するパラメータ値を入力した後に、前記入力されたデザイン・パラメータ値と最も近似的に基準デザインと一致するパラメータに対する値との比較を前記ユーザに示すスクリーンが表示され、前記ユーザは、前記基準デザインの中から自己のカスタム・デザインが基礎を置くことになる基準デザインを１つ選択できることを特徴とするシステム。
【請求項１８】
集積回路のためのデザイン・フローの中をユーザを自動的に誘導するプログラミング命令を含むコンピュータ可読媒体であって、前記プログラミング命令は、
（ａ）デザイン・フローのユーザ・インターフェースをユーザのコンピュータ上に表示する命令であって、前記ユーザ・インターフェースはデザイン・フロー・プロセス・命令に対応するシンボルを含む、命令と、
（ｂ）１組のルールを用いて前記デザイン・フロー・プロセス命令を定義し、それぞれの命令へのユーザ入力が前記規則に従っているかどうかを解析する命令と、
（ｃ）先行する命令が成功裏のうちに完了していると判断される場合には、ユーザが次の命令に進むことを許容する命令と、
を含むことを特徴とするコンピュータ可読媒体。
【請求項１９】
請求項１８記載のコンピュータ可読媒体において、前記プログラミング命令はウェブ・ベースのエキスパート・システムを含むことを特徴とするコンピュータ可読媒体。
【請求項２０】
請求項１９記載のコンピュータ可読媒体において、高速チップに対するデザイン・フローの中をユーザを誘導する命令を更に含み、前記デザイン・フロー・プロセス命令は、「初期解析及びスライスへの適合」、「コア及びＩＰのインポート」、「ラピッドワークス・ツール」、「シミュレーション及びタイミング・モデル」、「チップ配置及びルート」及び「製造のためのデータ・チェック及び準備」を含むことを特徴とするコンピュータ可読媒体。
【請求項２１】
請求項１９記載のコンピュータ可読媒体において、ＡＳＩＣに対するデザイン・フローの中をユーザを誘導する命令を更に含み、前記デザイン・フロー・プロセス命令は、「デザインの入力」、「ロジック統合」、「システム分割」、「プレレイアウト・シミュレーション」、「フロア・プラニング」、「配置」、「ルーティング」、「回路抽出」及び「ポストレイアウト・シミュレーション」を含むことを特徴とするコンピュータ可読媒体。
【請求項２２】
請求項１９記載のコンピュータ可読媒体において、デザイン、在庫状態更新を含むビジネス・システム及び製造命令へのリリースを含むデザイン・フロー・プロセス命令を定義する命令を更に含み、前記エキスパート・システムは前記集積回路のデザイン及び製造の両方を管理することを特徴とするコンピュータ可読媒体。
【請求項２３】
請求項２２記載のコンピュータ可読媒体において、前記シンボルはプロセス・ブロックとして表示され、前記命令（ａ）は、それぞれのプロセス・ブロックにおいて前記プロセス・ブロックの完了状態をユーザに指示する状態インジケータを表示する命令を更に含むことを特徴とするコンピュータ可読媒体。
【請求項２４】
請求項２３記載のコンピュータ可読媒体において、前記命令（ａ）は、それぞれのプロセス・ブロックに入れ子状のレベルのプロセス・スクリーンを提供する命令を更に含むことを特徴とするコンピュータ可読媒体。
【請求項２５】
請求項２４記載のコンピュータ可読媒体において、前記命令（ａ）は、上位レベルのプロセス・ブロックのサムネイル・イメージを示す案内ツリーを前記ユーザ・インターフェース上に表示して、フロー全体との関係でどの命令が表示されているのかに関するクイック・リファレンスをユーザに提供する命令を更に含むことを特徴とするコンピュータ可読媒体。
【請求項２６】
請求項２５記載のコンピュータ可読媒体において、前記命令（ａ）は、完了したプロセス・ブロックを示す色符号化されたサムネイルを表示する命令を更に含むことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【関連出願への相互参照】
【０００１】
本発明は、本特許出願の譲受人により２００１年１１月２０日に出願され同時継続中であり"Method and Apparatus for Implementing a Metamethodology"と題する米国特許出願第０１５１９４号と関連している。この米国特許出願はその全体をこの出願において援用する。
【技術分野】
【０００２】
本発明は、広くは集積回路デザインの分野に関し、更に詳しくは集積回路（ＩＣ）のためのデザイン・フローを通じてユーザを自動的に導く方法に関する。
【背景技術】
【０００３】
集積回路は、今日の社会における毎日の必要な一部となっている。携帯電話からコンピュータまで、そして、家庭用品から自動車まで、広範囲の集積回路が広範囲の機能を提供するのに用いられている。この機能を提供するため、集積回路は、所望の結果の達成に必要な機能を有するための特化を要する場合がある。更に、より多くの機能がそれぞれの集積回路に含まれつつある。
【０００４】
しかし、この結果、デザインのレベルが、従来では想像されなかった程に複雑化している。例えば、所望の機能を達成するために、複数のベンダが用いられ、電子的デザイン自動化（ＥＤＡ）ソフトウェア・ツールが提供されている。様々なそのようなツールは複数のソースから供給されており、その結果として、互換性及び管理の問題が生じている。
【０００５】
更に、所望の製品レンジを提供するため、異なるプロジェクトが異なる方法を必要とすることがありうる。例えば、コストの問題、含ませる特徴の数、性能に関する考慮などは、すべて、消費者が１つのチップの中に希望するパラメータを決定する。複雑なチップをデザインすることは、あまりに遍在的となりあまりに広範囲となったため、「１つのサイズですべてに適合する」式のＩＣを提供することは、実装において望まれる機能が拡大するに連れて、見込みのないものになりつつある。
【０００６】
更に、ＥＤＡツール・ベンダは、現在のデザインを実行するために必要とされるツールの開発において、「流行に取り残されている」ことが多い。ＥＤＡツールのデザイナは、ツール・デザインを訂正し改良するためには、ツールのユーザからのフィードバックを受け取ることが必要である。例えば、効率的なツール・デザインの性質により、新たなＥＤＡツールがいったん制作されると、複数のフィードバック・サイクルにわたって用いられるのが一般的である。そのツールが成熟する時期までには、デザイナとプロセスのそれ以外の要素とは１世代分だけ先に行っていることがあり、従って、フィードバック・サイクルにちょうど入ってくる新たなＥＤＡツールが必要とされる。
【０００７】
集積回路デザイン・プロセスに関係する詳細のレベルのために、デザイナの仕事が更に複雑になることがある。従来は、遭遇する複雑さのレベルへの対応を開始するために、問題は小問題に分割され、ツールと手順とはそれぞれの小問題に対応するようにデザインされていた。しかし、既存のツールでは、手直しの間に遭遇される問題に対応することができず、急いで書かれたツールを準備してそれらの問題に「パッチを当てる」ことがなされていた。その結果として生じるのは、様々なソースからのソフトウェア・ツール、ツール・インターフェース、プロシージャなどの集合物の爆発的な増加である。これらは、それぞれが、指数関数的に増加する複雑性に関するデザイン・プロジェクトから生じる恒常的に変化しながら求められている状態に対処しようと必死になっている。
【０００８】
従って、デザイン・フロー及びプロシージャを管理し、ビジネス及び製造システムを調整してそれらとの意志疎通を図る包括的なシステムや、フロー及びプロシージャを実装するのに必要なコンピュータ及びソフトウェアを作ることが必要である。
【発明の開示】
【０００９】
本発明は、集積回路のためのデザイン・フローに関してユーザを自動的に誘導する方法及びシステムを提供する。本発明による方法及びシステムは、ユーザのコンピュータ上にデザイン・フローのユーザ・インターフェースを表示することを含む。ここで、ユーザ・インターフェースは、デザイン・フロー・プロセス・ステップに対応するシンボルを含んでいる。デザイン・フロー・プロセス・ステップは、１組のルールを用いて定義され、それぞれのステップに対するユーザ入力は、それらのルールに従っているかどうかに関して解析がなされる。ユーザは、先行するステップが成功裏のうちに改良されたと判断されると、フローの次のステップに進むことが許される。
【００１０】
この出願において開示されているシステム及び方法によると、本発明は、サードパーティ製のＥＤＡツールによってサポートされているデザイン・フローに焦点を合わせたメタ方法（メタメソドロジー）を採用することによってデザイン生産性を改善するウェブ・ベースのエキスパート・システムとして実現される。このエキスパート・システムは、ＩＣのデザイン及び構築に要求される機能を統合する、決定論的で統一されたユーザ・インターフェースを提供する。例えば、このエキスパート・システムは、ユーザに現在のデザイン・ステータスを提供し、一般的なデザイン規則を用いることによって複雑性を管理し、生産を通じてプロジェクトを追跡して保存し、スケジュールや予算などにより生産結果を測定することができる。これらの機能は、すべてのデザイン・プロジェクトに共通であるから、メタ方法の定義の範囲内に収まる。
【発明を実施するための最良の形態】
【００１１】
本発明は、集積回路の自動化されたデザイン方法に関係する。以下の説明は、この技術分野の当業者が本発明を作成し用いることを可能にするようになされ、特許出願としてその要件を満足するように提供されている。好適実施例やここで説明されている包括的な原理及び特徴に対する修正は、この技術分野の当業者には容易に明らかとなるだろう。従って、本発明を、ここで示されている実施例に限定することは意図されていない。そうではなく、本発明は、この出願で説明されている原理及び特徴と一致する最も広い範囲が与えられる。
【００１２】
本発明によって解決される基本的な問題は、製造業者に、デザイナから多様な顧客による広範囲なＩＣ製品を提供する能力を与えることである。例えば、本発明は、実際の可変半導体製品を達成するシステムである、例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、特定用途向けＩＣ（ＡＳＩＣ）、特定用途向け標準化製品（ＡＳＳＰ）などを含む広範囲な製品を提供する。そして、これらは、それぞれが、これらの高度で複雑なデザイン要素の駆動に関する異なる構成も含む。
【００１３】
製品をデザインするシステムを駆動するには、非常の異なる種類のデザイナたちが用いられるが、エキスパート・レベルから初心者までが含まれ、また、特定の訓練を受けたデザイナが存在するのに対し、一般的な訓練を受けたデザイナも存在する。更に、製造業者は、それぞれが異なる要求や期待を有する多種多様な顧客と遭遇しうる。従って、効果的であるためには、デザイン・システムは、デザイン上の要求が非常に広範囲に変動する他種類の製品に取り組んでいる（スキルや専門知識に関して）多様なデザイナに対応できなければならない。
【００１４】
本発明を用いることにより、依然としてトレースが可能で一貫性を有しルール・ベースで定義可能な形式を理解可能な一般的な環境が提供される。その最も一般的な形態では極度に複雑な多体問題にアプローチするため、上述した可変性及びそれ以外の可変性を定義することを可能にする方法及び装置が提供される。そして、これは、ここでの議論では、メタ方法と称される。
【００１５】
メタ方法には、与えられた領域における特定の問題を解決するために適用される一連のプロシージャが含まれうる。更に、その領域の問題が多数ある場合には、問題解決のためには、多くの異なる方法が必要となる。従って、「メタ方法」というのは、当該領域の内部にありうるすべての方法に共通する方法の集合を指し、また、その集合が組織化され操作される原理を指す。このようにして、製造業者は、多様な異なる顧客、多数の異なるデザイナ、異なるサードパーティ製の及び内部で開発されたソフトウェアやハードウェアなど、あらゆる種類の異なるターゲット・プロセス、あらゆるタイプの異なるターゲット製品などに、１つの統一されたフレームワークの中で対応することができる。
【００１６】
本発明は、ここでは「高速チップ管理システム」と称するウェブ・ベースのエキスパート・システムを提供する。このシステムは、デザインから製造を通じた集積回路チップに対する全製造プロセスのフローを通じて、ユーザを誘導する。この高速チップ管理システムは、上述した同時出願中の"Method and Apparatus for Implementing a Metamethodology"と題する米国特許出願に記載されているメタストリーム（MetaStream）インテリジェント・フロー管理システムに基礎をおいている。この高速チップ管理システムは、デザイン、ＥＤＡツール調整、ビジネス・システム、在庫状態更新及び製造部門へのリリースを含むプロセスを管理することにより、顧客に向けた集積回路製品のデザイン及び製造に要求されるすべてのコンポーネントを管理する。
【００１７】
好適実施例では、ＲＣＭＳは、カスタム・チップのデザインのための開始点として機能する多数の基準チップ・デザインを記憶している。ＲＣＭＳは、複数の組のルールを含んでおり、これらのルールが、フローにおける必要なステップとこれらのステップが完了されるシーケンスとをグラフィカルに表すユーザへのユーザ・インターフェースの表示を制御する。これらのルールは、また、カスタム・デザインのための初期デザイン・パラメータをユーザがどのように入力するのかを定めており、また、入力パラメータに対する値が基準チップ・デザインのためのデザイン仕様に従うことを確認する。ＲＣＭＳは、解析、検証及びシミュレーションのために、フローにおける複数の地点でサードパーティによるＥＤＡツールを呼び出す。ユーザがフローにおけるあるステップを正確に実行したことをシステムが判断した場合にだけ、ユーザは次のステップに進むことが許される。ユーザは、任意の時点で完了したステップに戻り先の入力を修正し、その変更がカスタム・チップに対して生じるであろう影響を評価することができる。要求されているデザイン及びシミュレーションのステップがすべて検証され完了されると、ＲＣＭＳは、必要なビジネス・システムをチェックし、材料と製造能力に関して要求されている在庫がユーザによって特定された時間フレームにおいて特定の数のカスタム・チップを製造するのに利用可能でるかどうかを、ユーザに告知する。
【００１８】
図１は、本発明のある好適実施例による高速チップ管理システム（ＲＣＭＳ）のブロック図である。ＲＣＭＳ１０は、サーバ１４上で実行されユーザによって従来型のウェブ・ブラウザ２０を用いインターネットなどのネットワークを介してアクセスされるプロジェクト・コーディネータ・アプリケーション１２を含む。プロジェクト・コーディネータ１２は、マスタ・スライス基準データベース２２と特定デザイン・データベース２４とユーザ口座データベース２６とルール・データベース２８とを含む複数のデータベースと通信する。サーバ１４は、エンジニアリング・デザイン・ツール３０や１又は複数のビジネス・システム・インフラストラクチャ・データベース３２と通信することができる。エンジニアリング・デザイン・ツール３０は、ＥＤＡツール３４と、ラピッドワークス（RapidWorks）ツール３６と、ネットリスト・データベース３８とを含む。ビジネス・システム・データベース３２は、在庫状態、スケジュリング、製造及び会計を制御することが好ましい。本発明によるプロジェクト・コーディネータ１２は、背景で連続的に動作し、すべてのファイル、ステップ及びそれ以外の項目に問題がないことをチェックする。これは、メタストリーム（MetaStream）の主たる特徴である。というのは、データ、ファイル及びセッションに関するすべての情報はそれぞれのデザインの最初において補足され、ユーザ又は製造者がデザイン又はビジネス条件の重要な変更などすべての活動をトラッキングすることを可能にするからである。
【００１９】
マスタ・スライス基準データベース２２は、静的なデータベースであり、マスタ・スライスと称され１又は複数の製品ファミリを表す基準チップ・デザインを定義する電気的及び物理的パラメータを記憶する。マスタ・スライスの例示的なパラメータには、ダイ・サイズ、パッケージ、パワー・グリッド構造、相互接続部、信号の完全性、Ｉ／Ｏレーティング、クロック・スキュー管理などが含まれる。それぞれの一意的なマスタ・スライスは、同じ組のパラメータに対する値の異なる組合せを有する。ある好適実施例では、マスタ・スライス・データベース２２における基準デザインに対するほとんどのパラメータは、複数の製品ラインで固定されたパラメータ値を有することで、複雑性を減少させている。また、ある好適実施例では、それぞれのマスタ・スライスは、別個の「スライス」として記憶されているものとして参照される。
【００２０】
ユーザ口座データベース２６は、ユーザのＩＤ及びパスワードを含むそれぞれのユーザに対する口座情報を記憶している。ユーザ口座データベースは、また、ユーザ口座と特定のプロジェクトとの両方へのアクセス特権を管理する。従って、それぞれのユーザ口座は、ユーザ・アクセス設定とプロジェクト設定とを有する。例えば、特定の口座へのアクセス特権は、マルチ・ユーザ及びマルチ・プロジェクト、マルチ・ユーザ及びシングル・プロジェクト、シングル・ユーザ及びシングル・プロジェクト、又は、シングル・ユーザ及びマルチ・プロジェクトとして定義することができる。好適実施例では、ユーザ口座データベース２６は、また、特定のセッションの間のデザイン・フローにおけるあるユーザの進歩を記憶し、それによってユーザが再度ログオンする場合にユーザはプロセス・フローの中の前回に終了した時点から再度継続することができるという、再開（リスタート）という特徴を含む。
【００２１】
ユーザは、一般的に、ネットリスト・データベース３８を作成することによって、カスタム・チップをデザインするプロセスを開始する。特定デザイン・データベースは、ユーザによって入力されネットリスト・データベース３８における統計データを反映するカスタム・デザイン・パラメータ値を記憶しているという点で動的である。
【００２２】
ルール・データベース２８は、複数の組のルールを含んでおり、ＲＣＭＳ１０は、これらのルールによって、ユーザをプロセス・フローに誘導し、プロセス・フローにおけるそれぞれのステップの順守（コンプライアンス）を確認する。ある好適実施例では、ルール・データベース２８は、ユーザ・インターフェース・ルール、フロー・コンプライアンス・ルール、電気ルール及びインフラストラクチャ・ルールを含む。別の実施例では、これらのルールは、別個のルール・データベース２８ではなく、特定デザイン・データベース２４に記憶させることも可能である。
【００２３】
動作においては、ユーザは、まず、ＲＣＭＳ１０にログインし、特定のプロジェクトを選択する。ユーザが認証されると、ＲＣＭＳ１０は、図２に示されているように、異なるプロセス・フロー・ステップを表すシンボルとステップを実行すべきシーケンスとを含むメイン・プロセス・フロー・スクリーンを表示する。
【００２４】
図２は、ＲＣＭＳの例示的なメイン・プロセス・フロー・スクリーンを図解しているブロック図である。ある好適実施例では、メイン・プロセス・フロー・スクリーン４０は、一連のプロセス・ブロック５２として高速チップ・ベース・デザインをデザインするのに必要なプロセス・フロー・ステップを表示する。最も高いレベルでは、それぞれのプロセス・ブロック５２は、１又は複数のタスクを完了するのに必要なステップを識別し、多くのサブブロック／ステップを有している可能性がある。タスクの例には、ＥＤＡツールの実行、デザイン・マイルストーンのロギング、レポートの検討などが含まれうる。ルール・データベース２８のルールは、それぞれのブロック５２の振る舞い及び動作を定義するが、これには、要求される入力と予測される出力とが含まれる。
【００２５】
示されている例では、高速チップをデザインするトップ・レベルのプロセス・ブロック５２が表示されており、これには、「初期解析及びスライスへの適合」、「コア及びＩＰのインポート」、「ラピッドワークス・ツール」、「シミュレーション及びタイミング・モデル」、「チップ配置及びルート」、そして、「製造のためのデータ・チェック及び準備」が含まれる。
【００２６】
「初期解析及びスライスへの適合」は、特定デザイン・データベースを充実させるために初期デザイン・パラメータを入力することを促されるステップである。「コア及びＩＰのインポート」は、特定顧客又はサードパーティ製のコアと知的財産（ＩＰ）とをインポートして回路ロジックを確立するステップである。「ラピッドワークス・ツール」とは、ロジックをサードパーティ製のツールとワイア接続するステップである。「シミュレーション及びタイミング・モデル」は、プロジェクト・コーディネータ１２がＥＤＡツール３４を呼び出し終了したデザインをシミュレートするステップであり、ユーザはそのデザインが必要なタイミング・ゴールに合致するかどうかを判断する。「チップ配置及びルート」は、プロジェクト・コーディネータ１２がＥＤＡツール３４を呼び出しセル配置と相互接続部のルーティングとを実行するステップである。そして、「製造のためのデータ・チェック及び準備」は、プロジェクト・コーディネータ１２が最終的な確認を実行して、デザインを製造にリリースするステップである。
【００２７】
本発明の好適実施例ではＲＣＭＳ１０が高速チップをデザインする処理ステップをモデル化しているように示されているが、ＲＣＭＳ１０は、ＡＳＩＣなど任意のタイプの集積回路をモデル化するようにプログラムすることができる。ＡＳＩＣのためのデザイン・フローでは、ＲＣＭＳによって表示されるプロセス・ブロック５２には、例えば、「デザインの入力」、「ロジック統合」、「システム分割」、「プレレイアウト・シミュレーション」、「フロア・プラニング」、「配置」、「ルーティング」、「回路抽出」及び「ポストレイアウト・シミュレーション」が含まれる。
【００２８】
複数のプロセス・ブロック５２がメイン・デザイン・スクリーンに示されているが、これらのブロック５２に対する予め必要なステップが完了されルールによって特定されているように検証されなければ、ユーザは、特定のブロック５２を選択することはできない。例えば、ユーザは、新たな高速チップ・デザインを開始しているのであれば、第１のプロセス・ブロックである「初期解析及びスライスへの適合」を選択することしかできない。
【００２９】
どのブロック５２が成功裏のうちに完了されたのかをユーザが判断するのを支援するために、それぞれのブロック５２には、それぞれのステップの完了状態を指示する状態インジケータ５４が提供される。好適実施例では、色を用いてブロック５２の現在の状態を指示している（例えば、緑は完了したステップを、黄色は完了されていないステップを、赤は深刻なエラーを示す等である）。しかし、テキスト及び／又はアイコンを用いて状態を指示することもできる。それぞれのブロック５２は、また、ユーザが検討する準備ができているファイルをリスト化する最終レポート・インジケータ５６と、現在のステップに関するリアルタイムでのヘルプをユーザに向けて表示するヘルプ・ボタン５８とを含むこともありうる。
【００３０】
それぞれのプロセス・ブロック５２はプロセス・スクリーンのレベルを入れ子状（nested）にしている場合もあるので、ユーザに向けて表示されたユーザ・インターフェースは、上位レベルのプロセス・ブロック５２のサムネイル・イメージを示す案内ツリー６０を含むこともある。これにより、ユーザには、どの１又は複数のステップが全体のフロートの関係で現在メイン・スクリーン５０に表示されているのかに関するクイック・リファレンス（迅速な参照手段）が提供される。案内ツリー６０の第１のコラムはメイン・スクリーンに表示されているブロック５２に対応し、第２のコラムは第２のレベルにおいて表示されているブロックに対応する、等である。サムネイルは、完了したプロセス・ブロック５２を指示するように色符号化することもできる。
【００３１】
ユーザ・インターフェース・ルールとフロー・コンプライアンス・ルールとは、相互に協同して機能して、ユーザに向けて表示されるグラフィカルなＧＵＩを更新する。例えば、フロー・コンプライアンス・ルールには、後継者（サクセサ）と称されるプロセスにおいてコールされるべき次のブロック５２と前任者（プレデセサ）と称される前のブロック５２とを指示するそれぞれのブロック５２に対応するレコードが含まれる場合がある。このレコードは、更に、ブロック５２の色、ブロック５２の名称、表示されているジフ、完了したプロパティ・フラグなどを含むこともある。ユーザ・インターフェース・ルールは、これらのレコードにアクセスして、ユーザのウェブ・ブラウザ２０へのユーザ・インターフェースを与える。
【００３２】
ユーザが「初期解析及びスライスへの適合」の上をクリックすることに応答して、プロジェクト・コーディネータ１２は、図３Ａに示されているように、「スライス・フィッタ」と称されるこのブロック５２に対するサブレベルのスクリーンを表示する。
【００３３】
図３Ａは、ユーザが特定デザイン・データベースを充実させる「スライス・フィッタ」スクリーン６２を図解している。この「スライス・フィッタ」スクリーン６２は、プロセス・ブロックである「デザイン・パラメータ入力」及び「評価及び報告」を表示する。スクリーン６２は、また、メイン・デザイン・フローのスクリーン５０に戻るリンクと、メイン・デザイン・フローにおける次のステップに進むリンクとを含む。再び、このサブレベルのために示されているフローは、チップ中心であるが、任意のデザイン・プロセスに適合するように変更が可能である。この「スライス・フィッタ」のページ６２の中で、ユーザは、「デザイン・パラメータ入力」（ＥＤＰ）のブロックをクリックして先に進む。
【００３４】
図４Ａは、カスタム・デザイン・パラメータの情報がいかにしてＲＣＭＳ１０によって入力され記憶され用いられるかを示す流れ図である。ユーザがステップ２００において「スライス・フィッタ」スクリーン６２から「デザイン・パラメータ入力」（ＥＤＰ）ブロックをクリックすることに応答して、ユーザは、ステップ２０２において、デザイン・パラメータに対する値をテーブル駆動式のフォーム６４に入力するように促される。ユーザは、最初に、値を入力するためのパラメータのタイプをプルダウン式のＨＴＭＬメニュから選択することができる。異なるタイプのパラメータは、プロセッサ、メモリなどＩＣデザインにおける異なる要素を定義するか、又は、ユーザがセルなどの要素を追加することを可能にする。示されている例では、ユーザは、セルを定義するパラメータ値を入力しており、これには、ゲート・カウント、Ｉ／Ｏの数、クロック・ドメインの数、クロック周波数及び全体のメモリ・サイズが含まれる。いったん提出されると、ステップ２０４において、特定デザイン・データベースはデザイン・パラメータ値を有することになり、ルール・データベース２８は、ユーザによって入力されたパラメータが適切な電気的ルールに従うことを検証する。次に、ステップ２０６では、キー・デザイン・パラメータ値がラピッドワークス・ツール３６（図１）に入力され、そして、ラピッドワークス・ツール３６はこの値をＥＤＡツール３４に入力する。
【００３５】
図３Ｂを参照すると、ユーザが要求されているすべてのパラメータ値を入力すると、ＥＤＰブロック上の状態インジケータ５４が緑色に表示され、ステップが完了し正しく実行されたことを示す。ユーザは、次に、「評価及び報告」のブロックの上をクリックすることによって先に進むことができる。
【００３６】
上述したように、マスタ・スライス基準データベース２２におけるそれぞれのスライスは、カスタム・チップをその上に構築することができるマスタ・スライスを定義するパラメータ値を記憶している。「評価及び報告」のブロックは、ユーザによって入力されたデザイン・パラメータ値を解析し、利用可能なマスタ・スライスの中のどれがカスタム・デザインに最も近似して一致するのかを判断する。これを行うために、プロジェクト・コーディネータ１２の中のアルゴリズムが、カスタム・デザインに対する入力パラメータ値と基準マスタ・スライスの対応するパラメータの値とを比較する。この比較の後で、スクリーンがユーザに向けて表示され、最も近似して一致しているマスタ・スライスのパラメータに対して比較された入力デザイン・パラメータ値が示される。
【００３７】
図４Ｂは、例示的なカスタム・デザインとマスタ・スライスとの比較を図解している。この比較に基づいて、ユーザには、どのマスタ・スライスがカスタム・デザインに最もよく「適合」するかどうかが示される。これが、ユーザのカスタム・デザインがその上に構築されるマスタ・スライスである。この例では、入力デザイン・パラメータ値は、マスタ・スライス「Ｌ７９３０４」に適合し、このマスタ・スライスは、より小さなマスタ・スライスとより大きなマスタ・スライスとの間に存在している。ユーザは、次に、デザイン・パラメータ値を減少させてより小さなマスタ・スライスを選択することによって、自分自身のデザインをダウンサイズすることを選択できるし、又は、より大きなそしてより高価なマスタ・スライスに追加的な資金を費やすことを選択することもできる。
【００３８】
最良の適合を与えるマスタ・スライスが１つ選択されると、「評価及び報告」ブロックは、ビジネス・システム・データベース３２にアクセスしてビジネス条件をチェックし、また、製造部門に質問を出して選択された基準デザインに対する在庫状態を検索する（例えば、必要な数のウエハが利用可能であるかどうかを判断するため等）。ビジネス条件と在庫状態とが問題ないと想定すると、図５に示されているように、キー入力デザイン・パラメータがラピッドワークス・ツール３６に出力され、「評価及び報告」ブロックの上の状態インジケータ５４が緑色に変化し、完了を示す。
【００３９】
再び図２を参照すると、ユーザは、次に、メイン・プロセス・フロー・スクリーンに戻るが、この上では、この時点までに、「初期解析及びスライスへの適合」ブロック５２の上に緑色の状態インジケータ５４が表示されている。「初期解析及びスライスへの適合」ブロック５２に対応する案内ツリーにおけるトップレベル及びサブレベルのサムネイルも同様に緑色に表示されている。
【００４０】
ここで、ルール・データベース２８の中のフロー・コンプライアンス・ルールにより、ユーザは、プロセス・フローの中の次のステップに進むことが可能になるが、これは、このケースでは、「コア及びＩＰのインポート」である。ユーザが「コア及びＩＰのインポート」のブロック５２をクリックすると、サブレベルの「コア及びＩＰのインポート」のスクリーンが、図６に示されているように、表示される。
【００４１】
図６は、「コア及びＩＰのインポート」のスクリーンを図解しており、これには、２つの処理ブロック５２である「デザイン・コア」と「インポート・コア」とが含まれる。「コア及びＩＰのインポート」のプロセス・ブロックが例えばＦＰＧＡをプログラムする既知のフロー及び方法を表すと想定すると、ユーザは、インテリジェントなフロー・ブロック５２のドラッグ・アンド・ドロップによってこのフローの中を誘導される。接続は適切な場合だけ許容され、様々なステップは順序に依存することに注意してほしい。
【００４２】
ある好適実施例では、ユーザが「デザイン・コア」のブロックをクリックすることに応答して、ユーザは、「フュージョン（融合）」（図示せず）と称されＦＰＧＡをアセンブル及びロードすることを通じてユーザを誘導する（ＶＧＡコントローラ）決定論的なフローを実行することを促される。このフュージョン・プロセスには、ＦＰＧＡエクスプレス、ＮＧＤビルド、ＭＡＰ、配置及びルート、ビットゲン（BitGen）及びロードなどこの技術分野で周知の処理ブロックが含まれる。異なるＥＤＡツール３４は、プロジェクト・コーディネータ１２によって呼び出されるのであるが、それぞれのステップを実装することができる。ＦＰＧＡエクスプレスのブロックは、ＶＨＤＬからゲートへのネットリストを、リアルタイムでＦＰＧＡ開発キットの中で統合する。ＮＧＤビルド・ブロックは、ゲートをネットリスト・フォーマットに変換し、次のステップであるＭＡＰに送り、そして、ＭＡＰがネットリストをＦＰＧＡのために最適化する。配置及びルートのブロックは、所望のタイミングが達成されうることを保証するが、また、そのタイミングを達成する他の相互接続方式を選択することもできる。ビットゲン・ブロックは、すべての情報を取得し、それを、Ｘｉｌｉｎｘ部分をプログラムしてＶＧＡコントローラになるビット・ストリームに変換する。ＶＧＡコントローラは、約５０Ｋのゲート関数である。ロード・ブロックは、このビット・ストリームをＦＰＧＡハードウェア・ボードにダウンロードし、その結果はユーザに向けて表示される。
【００４３】
この時点で理解すべきことは、ＲＣＭＳ１０はサードパーティ製のデザイン・ツール３０のためのソフトウェア・ラッパーとして作用すると言うことであり、このデザイン・ツール３０はプロジェクト・コーディネータ１２によって呼び出される。すなわち、プロジェクト・コーディネータ１２は、サードパーティ製のツールを呼び出し、必要な入力をそのツールに供給し、デザイン・ツール３０の出力とのカスタム・デザインのコンプライアンスをチェックするようにデザインされている。プロジェクト・コーディネータ１２は、カスタム・デザインのコンプライアンスを２つの方法の一方でチェックする。プロジェクト・コーディネータ１２は、ツールのコンパイラ制約条件を読み出しこれらの制約条件をデザインのパラメータ値と比較するか、又は、成功裏に完了したのかエラーなのかを指示するツール３０のリターン・コードを読み出すかのいずれかである。
【００４４】
ＦＰＧＡデザイン・フローは、セーブ及び再利用が可能であり、プロセスの最後で、コアは、チップ・レベルで用いることができるユーザの口座と関連付けられる。フュージョン・フローの最後では、デイ・スタンプの時刻を伴うフォームが表示され、デザイン・フローをリターンせよとのユーザへのプロンプトが与えられる。これにより、ユーザは、コア及びＩＰのインポートのページに戻り、ここで、「デザイン・コア」ブロックと「インポート・コア」ブロックとの両方に対する状態インジケータは緑色である。
【００４５】
再び図２を参照すると、簡単のために、ユーザが「コア及びＩＰのインポート」ブロックを完了した後では、ユーザは「ラピッドワークス・ツール」ブロックと「シミュレート及びタイミング・モデル」ブロックとの両方を完了していて、これらは共に緑色の状態インジケータ５４を表示するように更新されていると想定する。これは、ラピッドワークス・ツール３６は適切なデータを与えられており、シミュレート及びタイミング・モデルに問題がないということを示している。カスタム・デザインは、これで、ユーザがデザインにおける残りのステップに進むために必要な情報をすべて有していることになる。
【００４６】
ユーザが「チップＰＡＲ（配置（プレイス）及びルート）」をクリックすると、供給されたすべてのデータの監査（オーディット）関数が呼び出される。換言すると、これは、すべてのデザイン・データ（ＲＴＬ、ロジックＤＲＣ、タイミング制約条件、マスタ・スライス上で用いられるリソースなど）の最終チェックであり、ユーザが受諾すれば、最終的なＰＡＲが開始することができる。チップ評価器（エスティメータ）が始動され、すべてのデータがチェックされ、すべてのデザイン・ファイルが再度計算される。最初のスライス・フィッタ・レポートと類似のレポートが表示され、ただし、最初のカスタム・デザイン・パラメータの設定と現在のデザイン統計との関係を示すスナップショットをユーザに提供する更新済／付加済の情報を伴っている。図７は、チップ評価器の一例を図解している。注意すべきは、このレポートでは、選択された基準デザイン又はマスタ・スライスが当初のものとは変更されている可能性があるという点である。現在のカスタム・デザイン・パラメータが選択された基準デザインのリソースを超えないことをレポートが示している限りは、ユーザは、意図する通りに先に進むことができる。
【００４７】
メイン・デザイン・フローにおけるすべての状態インジケータ５４が緑色になれば、ユーザは、カスタム・デザインを製造にリリースすることができる。このステップへの案内は、メイン・デザイン・フロー・スクリーン５０又はより低レベルのページで達成することができ、これは、環境の柔軟性と状態を迅速にチェックする能力とを示している。
【００４８】
図８は、ユーザがカスタム・デザインを製造にリリースした後のメイン・デザイン・フロー・スクリーン５０を図解している。すべてのプロセス・ブロックの状態インジケータ５４は完了を示しており、案内ツリー６０における対応するサムネイルも同様である。
【００４９】
このように、本発明は、ＩＣデザイン・フローを取得し、それを扱い可能なブロック５２に分割し、ブロック５２をプログラミングによってインテリジェントにし、ブロック５２をユーザによって利用可能とする更に、このフローはメタストリームに基づいているので、ＥＤＡツール３４は、通常のシミュレータ、ハードウェア・シミュレータ又はその両方を含みうる。次に示されている表１は、本発明のＲＣＭＳ１０の好適な実装に用いられるサードパーティ製のデザイン・ツールを示すリストである。
【００５０】
【表１−ａ】
2004171576.tif 000003
【００５１】
【表１−ｂ】
2004171576.tif 000004
【００５２】
【表１−ｃ】
2004171576.tif 000005
【００５３】
【表１−ｄ】
2004171576.tif 000006
【００５４】
【表１−ｅ】
2004171576.tif 000007
【００５５】
【表１−ｆ】
2004171576.tif 000008
【００５６】
【表１−ｇ】
2004171576.tif 000009
【００５７】
【表１−ｈ】
2004171576.tif 000010
【００５８】
【表１−ｉ】
2004171576.tif 000011
【００５９】
【表１−ｊ】
2004171576.tif 000012
【００６０】
以上で、ユーザをプロセス・デザイン・フローの中を誘導する方法を説明したが、これは、本発明のメタストリーム・ベースのＲＣＭＳの価値を示すものであり、全体のプロセス・フローを直感的で使用が容易なデザイン環境としている。
【００６１】
本発明は、示された実施例に従って説明したが、この技術分野の当業者であれば、これらの実施例を変更しうることを容易に理解するはずである。どのような変更例も、本発明の精神及び範囲に含まれる。更に、本発明に従って書かれたソフトウェアは、ハードディスクや携帯可能なメモリなどコンピュータ可読な媒体に記憶することが可能であるし、実行させるためにサーバにロードすることもできる。このように、特許請求の範囲の精神及び範囲から逸脱することなく、この技術分野の当業者であれば、多くの改変をなすことが可能である。
【図面の簡単な説明】
【００６２】
【図１】本発明の１つの好適実施例による高速チップ管理システム（ＲＣＭＳ）のブロック図である。
【図２】ＲＣＭＳの例示的なメイン・プロセス・フロー・スクリーンを図解するブロック図である。
【図３】図３Ａ及び図３Ｂは、ＲＣＭＳの「スライス・フィッタ」スクリーンの図解であり、ユーザが、特定デザインのデータベースを利用している。
【図４Ａ】図４Ａ−１と図４Ａ−２との関係を示す。
【図４Ａ−１】図４Ａ−２と共に、デザイン・パラメータ情報がＲＣＭＳによってどのように入力され記憶され用いられるかを示す流れ図である図４Ａを構成する。
【図４Ａ−２】図４Ａ−１と共に、デザイン・パラメータ情報がＲＣＭＳによってどのように入力され記憶され用いられるかを示す流れ図である図４Ａを構成する。
【図４Ｂ】例示的なカスタム・デザインとマスタ・スライスとの比較の図解である。
【図５】図３Ａ及び図３Ｂと同じく、ＲＣＭＳの「スライス・フィッタ」スクリーンの図解であり、ユーザが、特定デザインのデータベースを利用している。
【図６】ＲＣＭＳによって表示される「インポート・コア及びＩＰ」スクリーンの図解である。
【図７】チップ・エスティメータ・レポートの一例の図解である。
【図８】ユーザがカスタム・デザインを製造のためにリリースした後のメイン・デザイン・フロー・スクリーンの図解である。
【図１】
2004171576.tif 000013
【図２】
2004171576.tif 000014
【図３】
2004171576.tif 000015
【図４Ａ】
2004171576.tif 000016
【図４Ａ−１】
2004171576.tif 000017
【図４Ａ−２】
2004171576.tif 000018
【図４Ｂ】
2004171576.tif 000019
【図５】
2004171576.tif 000020
【図６】
2004171576.tif 000021
【図７】
2004171576.tif 000022
【図８】
2004171576.tif 000023
【手続補正書】
【提出日】平成15年12月4日(2003.12.4)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2004171576.tif 000024
【図２】
2004171576.tif 000025
【図３】
2004171576.tif 000026
【図４Ａ】
2004171576.tif 000027
【図４Ａ−１】
2004171576.tif 000028
【図４Ａ−２】
2004171576.tif 000029
【図４Ｂ】
2004171576.tif 000030
【図５】
2004171576.tif 000031
【図６】
2004171576.tif 000032
【図７】
2004171576.tif 000033
【図８】
2004171576.tif 000034