説明

遠隔に位置するリソースを用いてチップ設計を行う方法およびシステム

【課題】遠隔に位置するリソースを用いてチップ設計を行う方法およびシステムを提供すること。
【解決手段】多面的な設計プラットフォーム(104)は、チップ上の複雑なコアベースシステムを設計するフロントエンドハードウェアIC設計者に対するツールとして動作する。設計プラットフォーム(104)は、ネットワークを利用して、既に設計された仮想コアブロックへのアクセスをサーチし、達成する。設計プラットフォーム(104)は、選択された仮想コアブロックについての全ての関連情報を選択(306)かつ転送(308)する手段を提供して、設計者がすぐに仮想コアブロックを新たなSoC設計へ組み込めるようにする。設計プラットフォーム(104)はさらに、複数の公知の検証ツールによる即時の利用のために、適切な安全なコアファイル(320)を生成して、仮想コアブロックおよび基本のSoC設計の機能の統合および接続の両方を検証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の分野は、電子設計ツールおよび自動化、より具体的には、インターネットなど
の分散型電子ネットワークを介してアクセス可能なリソースを用いて電子回路およびチッ
プ設計を容易にする方法およびシステムに関する。
【背景技術】
【0002】
電子産業においては、連続的に向上する設計および検証ツールの助けにより、以前より
進んだチップおよび回路設計が生成されている。チップ設計、特にシステムオンチップ(
SoC)設計は、チップあたり数千万のゲートを含み得、すぐに、チップあたり数億のゲ
ートの範囲に達する。エンジニアは、概して、チップ設計のレイアウトを行い、関連する
大量の情報の管理に役立てるために、進んだソフトウェアツールを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【0003】
電子設計プロセスの高いレベルでの観点から、設計チームは、製品アイディアの着想か
ら完成まで、「販売までの時間」と呼ばれる期間をかける。競争が激しくなることにより
、新たな製品の販売までの時間を短くするという大きなプレッシャーがかかるようになる
。なぜなら、最初に新たな製品を販売する企業が、典型的には、後続の競合相手に対して
大きな市場占有率を確保し、維持することが出来ることが予測されるからである。このよ
うな環境においては、製品の予定の出荷日と、実際の出荷日との間の数日のような小さな
差が、利潤率および発生する収益に大きな差になり得る。
【0004】
大規模回路および複雑なチップを設計する、現在の環境において、時間および職員は不
足し、予算は厳しい。設計速度および効率を上げる最近の傾向には、電子回路ブロックま
たはサブシステムを再使用またはリサイクルすることが含まれる。電子回路ブロックまた
はサブシステムは、代わりに、「コア」「仮想コンポーネントブロック」、または「IP
」(これらのパッケージ済み回路ブロックの専有的な性質を表す「知的財産」の頭字語で
ある)と呼ばれる。仮想コンポーネントブロックの設計がテストされ、検証された後、仮
想コンポーネントブロックは、もともとの作成につながったアプリケーションとはまった
く別のアプリケーションにおいて再使用され得る。元の設計者と同じ企業内の他の設計グ
ループは、この再使用を達成し得る。あるいは、この再使用は、IPを購入するか、使用
許諾を得るか、または移管されて、新たな設計にIPを組み込む、他の第三者によって達
成され得る。例えば、携帯電話サブシステムにおいて用いられる、アプリケーション専用
集積回路(ASIC)は、マイクロコントローラ、デジタル信号プロセッサおよび他のコ
ンポーネントなどの数個のコアを含み得る。ASICは、全体で、携帯電話サブシステム
としての専用機能を行うが、ASIC設計内のコアのそれぞれは、他のASICにおいて
用いられ得る総称的な用途を有し得る。携帯電話サブシステムの設計がテストされ、検証
された後、コアの各々は、例えば、自動車のアプリケーションにおいて(仮想コンポーネ
ントブロックとして)再使用され得る。仮想コンポーネントブロックの設計再使用は、設
計者が設計全体を始めから作る場合よりも早く設計を完成させることを可能にし、仮想コ
ンポーネントブロックにおいて実現されるサブシステムのデバッグ、テスト、および検証
の必要をなくす。現在市販されている仮想回路ブロックまたはIPコアの例としていくつ
か挙げると、Viterbiデコーダ、マイクロコントローラ、デジタル/アナログコン
バータおよび暗号化/解読プロセッサがある。
【0005】
仮想回路ブロック(すなわち、IPコア)は、標準的なコードのブロックの購入を可能
にすることによって販売されるまでの時間を短くする手段を提供するが、仮想回路ブロッ
クの簡便な販売および使用には、いくつかの障害がある。以前のコア設計の再使用は、設
計の総時間を短くするが、新たなASIC設計の設計基準を満たす以前のコア設計の初期
サーチは、それ自体時間がかかり、退屈なものである。品質保証については、設計者が、
仮想回路ブロックの品質および特定の設計に対する適合性を確かめる標準的な方法は、ほ
とんどない。反対に、仮想回路ブロックの販売者が、製品の品質を将来の顧客に示す標準
的な方法がほとんどない。他の障害は、仮想回路ブロックを構成するコードおよび/また
はデータの保護である。仮想回路ブロックを提供する企業は、製品の使用を追い、それら
のブロック内のコードおよび/またはデータを盗難から守る方法を必要としている。この
ような方法は、好ましくは、控えめなものであり、かつ、これらのIPコアを設計に組み
込むために必要な情報への完全なアクセスを可能にするものである。他の問題としてデー
タフォーマットがある。回路設計において用いられるために購入される仮想回路ブロック
は、その設計において用いられるデータフォーマットに適合する必要がある。しかし、仮
想回路ブロックとインターフェースする規格は、そういう規格が存在するとすれば、いま
だ進化しているものである。結果として、仮想回路ブロックのインターフェースフォーマ
ットを熟知するためには、仮想回路ブロックを回路設計に統合するだけでなく、大量の作
業が必要となり得、したがって、仮想回路ブロックの使用を通じて得られる時間的な利点
が低減される。また、高い販売および法的費用の形での取引のオーバーヘッドが、仮想回
路ブロックの販売および使用を妨げている。例えば、仮想回路ブロックのライセンシング
について、一方または両者が法的な検討をすることが、しばしば必要とされる。
【0006】
設計および検証ツールが獲得され、使用される現在の方法の他の欠点は、技術的なサポ
ートに関する。販売業者は、しばしば、所与のソフトウェアツールについて技術的なサポ
ートを必要とするユーザが利用できるヘルプ回線を有する。しかし、エンジニアが、いら
いらするようなボイスメールの迷路、および、1人以上の販売業者のヘルプ回線にありが
ちなより知識が少ない最初の回線のサポート職員を通り過ぎなければならないとすると、
複雑な回路に適用された複雑なツールについての問題点を、エンジニアが説明し、サポー
ト職員が解決するまでには、しばしば、時間がかかることになる。深刻な問題については
、販売業者は、フィールドアプリケーションエンジニアを、仕事の場所に送り得るが、こ
れを行うことは高価であり、フィールドアプリケーションエンジニアが到着するまでに数
日が過ぎることがあり得る。
【0007】
コンポーネント選択はまた、不十分および不必要な遅れが問題となる領域である。エン
ジニアは、コンポーネント卸売業者が発行した印刷されたカタログを見て、パートについ
て調べ、選択するか、または、インターネットを用いて、製造者の供給業者のウェブサイ
トを見て、そこでコンポーネントについての情報を見つけるか、または、サーチエンジン
を用いて、インターネット上で製品情報を集めようとし得る。しかし、個々のコンポーネ
ントについてインターネットでサーチすることは、時間がかかり、退屈である場合がある
。さらに、現在のサーチエンジンおよび方法は、不十分、かつ不完全であり、したがって
、設計者が設計において有用に用いることができるコンポーネントを提供するウェブサイ
トを含まない結果を出し得る。エンジニアはまた、求めていないデータシートを製造業者
から受け取り得るが、このようなデータシートは、しばしば、無視されるか、失われるか
または、忘れられる。反対に、エンジニアは、IP I/O図または他のトップレベル情
報を容易に受け取り得るが、選択したコンポーネントについてのきわめて重要な設計情報
を受け取ることは困難であり得る。設計プロセスの一部として、エンジニアが、選択した
コンポーネントのそれぞれについて、サポートデータを入手することが必要である。販売
までの時間を短くするプレッシャーが増大するにつれて、エンジニアは、供給業者または
卸売業者の販売員と話す時間をとることがより困難になり、コンポーネントについての情
報を集めるという問題が悪化する。
【0008】
チップ設計プロセスにおいて発生する他の問題として、設計および検証プロセスについ
ての知識が細分されており、このような知識を得て、維持することが困難であることがあ
る。多くの個々のエンジニアの設計プロセスを、観察を通じて認識し、学ぼうとすること
は、非常に難しいことである。さらに、設計プロセスは、最終的な青写真または製品から
認識されることはほとんど出来ず、概して、設計図または作業用の書類から判定すること
は困難である。異なる設計者は、異なる様式で設計に取り組み、これらの異なる様式は組
織化することさえできないことがあり得る。エンジニアに会って、設計プロセスを実行す
ることについてのデータを得ることは、非生産的である可能性が高く、比較的小さい成果
に対して、非常に多くの時間がかかる。したがって、設計プロセスを実行することについ
てのメトリックから得られるトレーニングおよび向上した方法における利点は、実現され
ないままである。
【0009】
細分化された設計および検証プロセスによって生じる問題に対処する試みのいくつかは
、エンジニアが学ぶ必要があり、内部技術スタッフがサポートする、製品およびサービス
の範囲を狭めるため、設計および検証プロセスの異なる領域が専門である企業間の排他的
なパートナー契約が含まれる。例えば、電子設計企業のパートナーシップには、設計検証
ツールのプロバイダ、電子コンポーネントのプロバイダ、それらを結びつける企業が含ま
れる。パートナーシップモデルにおいて、適合性の問題は、より容易に対処され得る。な
ぜなら、含まれる企業の数が少ないからである。さらに、設計プロセスのある段階におけ
るあるパートナーの顧客が、設計プロセスの異なる段階での他のパートナーの製品または
サービスを利用するように影響することによって、収益が増大する。しかし、パートナー
契約は、設計チームにとって利用可能な選択肢を劇的に減らし、もっとも最適な製品が用
いられることを妨げ得る。
【0010】
設計プロセスを促進する取り組みの1つとして、ある特定のタイプの設計および検証ツ
ール、特に、FPGA合成ツールを、インターネットを介してアクセスされ得る遠隔のコ
ンピュータ会社において提供することがある。このような取り組みのもとで、FPGA合
成ツールは、1つのアプリケーションサービスプロバイダが所有する、中央サーバファー
ム、またはコンピュータファームにおいて実行される。サーバファーム、またはコンピュ
ータファームは、概して、より高い強度の計算タスクを達成するために、リンクされたプ
ロセッサのネットワークである。この取り組みを利用する例示的なシステムにおいて、ア
プリケーションサービスプロバイダは、提供されたFPGA合成ツールのそれぞれのイン
ターフェースをJava(登録商標)計算言語に書き換え、標準的な市販されているインターネットブラウザを通じて、幅広い種類の計算プラットフォームおよびオペレーティングシステムでツールが用いられることを可能にする。この取り組みの欠点は、ユーザが、インターフェースコードがそのために書かれたアプリケーションサービスプロバイダのサーバファームにあるFPGA合成ツールに限られることである。さらに、Java(登録商標)言語は、遅いことで有名であり、エンジニアが不満を抱き、設計および検証プロセスが遅くなり得る。
【0011】
エンドユーザおよび供給業者を含む電子設計プロセスの参加者を、情報交換および商取
引を容易にする1つのポータルサイトを介して、接続することは、有用である。さらに、
幅広い種類の設計および検証ツールを、容易かつ簡便に、エンジニアが利用できるように
し、このようなツールを、ソフトウェアまたはハードウェアのいずれにおいても、大きな
初期資本支出なしに用いることを可能にすることは、有用である。さらに、チップ技術、
アプリケーション、製品およびツールについての知識および情報を蓄積するメカニズムを
提供することが有用である。また、エンジニアが仮想ブロックコンポーネントを設計に組
み込むことを可能にする簡便な手段を提供することが有用である。
【課題を解決するための手段】
【0012】
(発明の要旨)
本発明は、IPコア設計を交換するか、新たな複合回路設計に組み込むために、分散型
電子ネットワーク、例えばインターネットを介して、複数のエンドユーザへの接続を可能
にするプラットフォームを提供する。
【0013】
実施形態において、設計者が複数のIP設計のカタログをサーチし、瞬間的に、IPに
ついての関連する情報の全てが、新たなSoCの設計において用いられるように設計者の
ファイルに転送され得る設計プラットフォームが提供される。この実施形態のプラットフ
ォームは、内部または外部IPおよびIPソーシングのいずれかの選択をサポートする。
設計プラットフォームをサポートするソフトウェアは、モジュラー形式で書かれ、例えば
、VHDLまたはVerilogで書かれた、関連するIPデータの全てを転送すること
をサポートするように、容易に適合されることができる。さらに、プラットフォームサポ
ートソフトウェアのモジュラー形式は、設計プラットフォームが、System−Cのよ
うな開発言語を含む他のハードウェア言語をサポートする能力を有することを可能にする
。この実施形態のプラットフォームはまた、設計者が、選択したIPの全てを設計全体の
中で設定し、IPを接続し、設計全体の中で用いられるコンポーネント全てのネットリス
トを生成する。この実施形態のプラットフォームは、さらに、適切な統合および接続、な
らびに、設計全体の基本的な機能検証を確実にするため、コンパイルされ、多くの検証ツ
ールのうちのいずれにおいても容易に用いられ得るANSI−Cコード出力を提供する。
さらに、設計プラットフォームは、複数のアセンブラ言語のいずれかでソースコード出力
を生成するように、カスタム化または変更され得る。IP選択、統合、および検証が行わ
れた後、この実施形態のプラットフォームは、最終的な製造のため、コンピュータ援用合
成、配置、およびルーティングツールを用いて、容易に統合され得る。設計プラットフォ
ームにアクセスするユーザには、利用可能なツールおよびサービスを識別するメニューま
たは他の簡便なフォーマットで、オプションが提示され、1つの場所で、幅広い種類のツ
ールおよびサービスへのアクセスを有することによって、回路設計をより速く完成させる
ことが出来る。設計プラットフォームは、プラットフォームを介して提供されるツールお
よびサービスを購入すること、借りること、または他の方法で獲得することを容易にする

【0014】
ある実施形態において、設計プラットフォームは、nティアーのクライアント/サーバ
ネットワークのコンテキストにおいて、サーバとして機能し、電子設計者および設計チー
ムが幅広い種類の以前に設計されたIPを用いることを可能にする、オープンポータルサ
イトを介して実現される。本発明のある局面におけるオープンポータルサイトは、IPコ
ア設計を交換し、新たな複合回路設計に組み込むために、インターネットなどの分散型電
子ネットワークを介する、複数のエンドユーザへの接続を可能にするプラットフォームを
提供する。この実施形態において、ポータルサイトは、フロントエンドハードウェア設計
者に、内部および外部販売者ソースの両方から、ハードウェアコンポーネントのIPをサ
ーチし、そのIPへのアクセスを得る手段を提供する。ポータルサイトは、チップ設計者
が、新たな設計に組み込むために、各種のIPをサーチし、アクセスすることを可能にす
る。さらに、この実施形態は、直接、IPを選択し、ソーシングし、設定し、各種IP間
を接続し、ネットリストを生成するために、チップ設計者が、IPデータおよびコードを
、直接ポータルサイトを介して転送することを可能にする。さらに、実施形態は、チップ
設計者が、統合および接続検証、ならびに基本的な機能検証を、直接、ポータルサイト内
で行うことを可能にする。ポータルサイトを容易にするためのプラットフォームは、JA
VA(R)で書かれて、任意のコンピュータ上で実行され、VHDLまたはVerilo
gのような各種のハードウェアインプリメンテーション言語で書かれたIPをサポートす
る。プラットフォームをサポートするソフトウェアは、モジュラー形式で書かれて、開発
System−C言語のような新たな記述インプリメンテーション言語のサポートを可能
にする。
【0015】
他の実施形態において、閉じられたユーザのグループ内で用いられるイントラネットの
ようなネットワーク上で、閉じられたポータルサイトが提供される。この実施形態は、選
ばれた数のユーザにとってのみアクセス可能な閉じられたポータルサイトとして提供され
得る。
【0016】
他の実施形態において、設計プラットフォームは、あるLANで共に動作するユーザワ
ークステーションのネットワーク上で提供される。設計プラットフォームは、Java(登録商標)で書かれて、各ユーザワークステーション上で直接動作する。
(項目1)
回路設計プラットフォームであって、
カタログデータベースを含むコンピュータシステムであって、該コンピュータシステム
は分散型電子ネットワークでアクセス可能であり、該カタログデータベースは設計プロセ
スの異なる段階での使用のためのコンポーネントデータを格納している、コンピュータシ
ステム;
該コンピュータシステム上で稼動するアプリケーションサーバであって、該アプリケー
ションサーバは該カタログデータベースに接続され、そして該アプリケーションサーバは
さらに、
特定のコンポーネントデータについて該分散型電子ネットワークを検索し得る検索エ
ンジン;
回路設計全体にコンポーネントを配置するための回路インテグレータ;
該回路設計全体に配置されたコンポーネントを接続するためのコンポーネントコネク
タ;
チップ設計全体のソースコードネットリストを作成し得るネットリストジェネレータ
であって、該ソースコードネットリストはコンポーネントの位置および接続データを含む
、ネットリストジェネレータ;
種々の論理シミュレータによってコンパイルされそして実行されるソースコードを作
成し得る検証ソースコードジェネレータ
を含む、アプリケーションサーバ;および
該分散型電子ネットワークで他のコンピュータシステムに対して該コンポーネントデー
タにアクセスするリクエストを作成するためおよび受け取るために該コンピュータシステ
ムによって管理されるネットワークインターフェース
を含む、回路設計プラットフォーム。
(項目2)
前記設計プロセスの異なる段階での使用のための前記コンポーネントデータは、利用可能
な電気コンポーネントのリストを含む、項目1に記載の回路設計プラットフォーム。
(項目3)
さらに、前記設計プロセスの異なる段階での使用のための前記コンポーネントデータは、
利用可能な各電気コンポーネントと共に使用するためのサポートデータファイルを含む、
項目2に記載の回路設計プラットフォーム。
(項目4)
前記サポートデータファイルは、コンポーネントデータシート、タイミングモデル、アプ
リケーションノート、シミュレーションモデル、I/Oピンデータ、レジスタマップデー
タ、検証ソースコード、パワーデータモデル、エリアデータモデル、テストベンチファイ
ル、バグ追跡レポート、およびシグナルインテグリティモデルを含む、項目3に記載の
回路設計プラットフォーム。
(項目5)
前記カタログデータベースは、1以上のサプライヤーデータベースへの電子リンクを含む
、項目1に記載の回路設計プラットフォーム。
(項目6)
前記ネットワークインターフェースは、コンポーネント設計ファイルの移動のためのリク
エストを受け取り、それに応答して、前記アプリケーションサーバは、分散型電子ネット
ワークを通じてアクセス可能な遠隔のコンピュータシステムに該コンポーネント設計ファ
イルを送る、項目1に記載の回路設計プラットフォーム。
(項目7)
前記コンポーネント設計ファイルは、指定料金の対価として遠隔のユーザにアクセス可能
にされている、項目6に記載の回路設計プラットフォーム。
(項目8)
前記アプリケーションサーバは、JAVA(登録商標)で書かれたソースコードを含む、項目
1に記載の回路設計プラットフォーム。
(項目9)
前記アプリケーションサーバは、公開ポータルサイトをサポートする、項目8に記載の
回路設計プラットフォーム。
(項目10)
前記アプリケーションサーバは非公開ポータルサイトをサポートする、項目8に記載の
回路設計プラットフォーム。
(項目11)
複数のユーザからのリソースを使用して回路を設計する方法であって、
第1のユーザシステムに接続された第1のデータベースに複数のコンポーネントデータ
ファイルを格納する工程;
要求に基づいて、分散型電子ネットワークで第2のユーザシステムを該第1のユーザシ
ステムに接続する工程であって、該第1のユーザシステムは、該第1のデータベースと相
互接続された第1のアプリケーションサーバを含み、該第2のユーザシステムは、第2の
データベースと相互接続された第2のアプリケーションサーバを含む、工程;
該第2のユーザシステムから、該第1のデータベースに格納された複数のコンポーネン
トデータファイルの任意のファイルへのアクセスのためのリクエストを受け取る工程;
該第2のユーザシステムによって、該第1のデータベースに格納された複数のコンポー
ネントデータファイルを検索する工程;
該分散型電子ネットワークで該第1のユーザシステムから、該利用可能な電子コンポー
ネントのうちの1つのコンポーネント選択を受け取る工程;
該第2のユーザシステムによって、該第1のデータベースに格納された複数のコンポー
ネントデータファイルの少なくとも1つを選択する工程;
該選択された電子コンポーネントに関するさらなる情報を引き出す工程;および
該分散型電子ネットワークを介して、該第1のユーザシステムから該第2のユーザシス
テムへ少なくとも1つのコンポーネントデータファイルを送信する工程;
回路設計に、第1の送信されたデータファイルによって示された第1のコンポーネント
を組み込む工程;
該第1のコンポーネントを該回路設計に存在する素子と相互接続する工程;
少なくとも1つのコンポーネントデータファイルを使用して、該回路設計のネットリス
トソースコードを作成する工程;
該送信されたコンポーネントデータファイルを使用して、該第1のコンポーネント機能
の機能を検証する工程;および
該送信されたデータファイルから該回路設計の組み込まれ接続されたコンポーネントの
検証ソースコードを作成する工程
を包含する、方法。
(項目12)
前記コンポーネントデータファイルを格納する工程は、ハードウェア言語、テキスト、c
−コード、またはアセンブラ言語のいずれかで、リアルアクションインプリメンテーショ
ンコードおよびサポートデータファイルを格納することを包含する、項目11に記載の
方法。
(項目13)
前記検索する工程、選択する工程、組み込む工程、相互接続する工程、引き出す工程、お
よび、ネットリストおよび検証ファイルを作成する工程は、グラフィカルユーザインター
フェースによってサポートされる、項目11に記載の方法。
(項目14)
前記相互接続する工程は、前記送信されたコンポーネントデータファイルを使用して、前
記回路設計プラットフォームによって自動的に実施される、項目11に記載の方法。
(項目15)
前記第1および第2のユーザシステムにおいてグラフィカルインターフェースを提供する
工程、該第1および第2のユーザシステムにおいて、前記コンポーネントデータファイル
の1つに対応する入力選択を受け取る工程、および該第2のユーザシステムから該第1の
ユーザシステムへ該入力選択の指標を送信する工程をさらに包含し、
ここで、該第2のユーザシステムから、第1のデータベースに格納された前記複数のコ
ンポーネントデータファイルの任意のファイルへのアクセスのリクエストを受け取る前記
工程は、該第2のユーザシステムにおいて該入力選択の該指標を受け取る工程を包含する
、項目11に記載の方法。
(項目16)
前記分散型電子ネットワークはインターネットを包含する、項目11に記載の方法。
(項目17)
前記アプリケーションサーバは、インターネットに接続された任意のユーザワークステー
ションへの公開アクセスを許可する公開ポータルサイトをサポートする、項目16に記
載の方法。
(項目18)
前記アプリケーションサーバは、インターネットに接続されたユーザワークステーション
を選択するために公開アクセスを許可する非公開ポータルサイトをサポートする、項目
16に記載の方法。
(項目19)
前記第2のユーザは、前記送信されたコンポーネントデータファイルに対して改変がなさ
れた場合、前記第1のユーザシステムによって、更新されたコンポーネントファイルを自
動的に受け取る、項目11に記載の方法。
(項目20)
前記コンポーネントデータは、前記利用可能な電子コンポーネントのサプライヤーへのリ
ンクを含む、項目16に記載の方法。
(項目21)
複数のユーザからのリソースを使用して回路を設計するためのシステムであって、
第1のデータベースであって、第1のユーザシステムと接続された該第1のデータベー
スに複数のコンポーネントデータファイルを格納するための第1のデータベース;
要求に基づいて、分散型電子ネットワークで該第1のユーザシステムを第2のユーザシ
ステムと接続するためのネットワークマネージャーであって、該第1のユーザシステムは
、該第1のデータベースと相互接続されたアプリケーションサーバを含み、該第2のユー
ザシステムは、第2のデータベースと相互接続されたアプリケーションサーバを含む、ネ
ットワークマネージャー;
該第2のユーザシステムから、該第1のデータベースに格納された複数のコンポーネン
トデータファイルの任意のファイルへのアクセスのためのリクエスト、および該第1のユ
ーザシステムから該第2のユーザシステムへ該分散型電子ネットワークを介して少なくと
も1つのコンポーネントデータファイルを送信するためのリクエストを受け取るためのネ
ットワークインターフェース;
該第2のユーザシステムによって、該第1のデータベースに格納された該複数のコンポ
ーネントデータファイルを検索するための検索エンジン;
該第2のユーザシステムによって、該第1のデータベースに格納された複数のコンポー
ネントデータファイルの少なくとも1つを選択する手段;
回路設計に、第1の送信されたデータファイルによって示された第1のコンポーネント
を組み込むための回路インテグレータ;
該第1のコンポーネントを該回路設計に存在する素子と相互接続するための回路コンポ
ーネントコネクタ;
該複数のコンポーネントデータファイルを使用して該回路設計を作成するためのネット
リストソースコードジェネレータ;
該送信されたコンポーネントデータファイルを使用して、該第1のコンポーネント機能
の機能を検証するためのコンポーネント機能ベリファイア;および
複数の論理シミュレータによってコンパイルされそして実行されるソースコードファイ
ルを作成するための回路検証ファイルジェネレータ
を含む、システム。
(項目22)
前記第1のデータベースに格納された前記コンポーネントデータファイルは、ハードウェ
ア言語でリアルアクションインプリメンテーションコードを含み、さらに、前記サポート
データファイルはアッセンブラ言語で格納される、項目21に記載のシステム。
(項目23)
前記検索エンジン、前記選択する手段、前記回路インテグレータ、前記回路コンポーネン
トコネクタ、および前記ネットリストジェネレータは、グラフィカルユーザインターフェ
ースによってサポートされる、項目21に記載のシステム。
(項目24)
回路コンポーネントコネクタは、前記送信されたコンポーネントデータファイルを使用す
る自動コンポーネントコネクタをさらに含む、項目21に記載のシステム。
(項目25)
前記分散型電子ネットワークはインターネットを含む、項目21に記載のシステム。
(項目26)
前記アプリケーションサーバは、インターネットに接続された任意のユーザワークステー
ションへの公開アクセスを許可する公開ポータルサイトをサポートする、項目25に記
載のシステム。
(項目27)
前記アプリケーションサーバは、インターネットに接続された任意のユーザワークステー
ションへの公開アクセスを許可する非公開ポータルサイトをサポートする、項目25に
記載のシステム。
(項目28)
前記送信されたコンポーネントデータファイル中にエラーが検出された場合、前記第1の
ユーザシステムによって、更新されたコンポーネントファイルを前記第2のユーザシステ
ムに自動的に送達するバグトラッカーをさらに含む、項目21に記載のシステム。
(項目29)
1またはそれ以上のプロセッサに一連の工程を実施させる、1セットのプログラムされた
命令が含まれるコンピュータ読み取り可能な媒体であって、該工程は、
第1のユーザシステムに接続された第1のデータベースに複数のコンポーネントデータ
ファイルを格納する工程;
要求に基づいて、分散型電子ネットワークで第2のユーザシステムを該第1のユーザシ
ステムに接続する工程であって、該第1のユーザシステムは、該第1のデータベースと相
互接続された第1のアプリケーションサーバを含み、該第2のユーザシステムは、第2の
データベースと相互接続された第2のアプリケーションサーバを含む、工程;
該第2のユーザシステムから、該第1のデータベースに格納された複数のコンポーネン
トデータファイルの任意のファイルへのアクセスのためのリクエストを受け取る工程;
該第2のユーザシステムによって、該第1のデータベースに格納された該複数のコンポ
ーネントデータファイルを検索する工程;
該分散型電子ネットワークで該第1のユーザシステムから、該利用可能な電子コンポー
ネントの1つのコンポーネント選択を受け取る工程;
該第2のユーザシステムによって、該第1のデータベースに格納された複数のコンポー
ネントデータファイルの少なくとも1つを選択する工程;
該選択された電子コンポーネントに関するさらなる情報を引き出す工程;および
少なくとも1つのコンポーネントデータファイルを、該分散型電子ネットワークを介し
て、該第1のユーザシステムから該第2のユーザシステムへ送信する工程;
回路設計に、第1の送信されたデータファイルによって示された第1のコンポーネント
を組み込む工程;
該第1のコンポーネントを該回路設計に存在する素子と相互接続する工程;
該少なくとも1つのコンポーネントデータファイルを使用して該回路設計のネットリス
トソースコードを作成する工程;
該送信されたコンポーネントデータファイルを使用して第1のコンポーネント機能の機
能を検証する工程;および
該送信されたデータファイルから該回路設計の組み込まれ接続されたコンポーネントの
検証ソースコードを作成する工程
を包含する、コンピュータ読み取り可能な媒体。
(項目30)
コンピュータシステム上で稼動するアプリケーションサーバに格納される、項目29に
記載のコンピュータ読み取り可能な媒体。
(項目31)
任意のコンピュータ言語で書かれた、項目30に記載のコンピュータ読み取り可能な媒
体。
(項目32)
回路チップを設計するためのシステムであって、
カタログデータベースを含むコンピュータシステムであって、該コンピュータシステム
は、分散型電子ネットワークでアクセス可能であり、該カタログデータベースは、設計プ
ロセスの異なる段階での使用のためのコンポーネントデータを格納している、コンピュー
タシステム;
該コンピュータシステム上で稼動するアプリケーションサーバであって、該アプリケー
ションサーバは該カタログデータベースに接続され、そして該アプリケーションサーバは
さらに、
回路設計プラットフォーム
を含む、アプリケーションサーバ;および
該分散型電子ネットワークで他のコンピュータシステムに対して該コンポーネントデー
タにアクセスするリクエストを作成するためおよび受け取るために該コンピュータシステ
ムによって管理されるネットワークインターフェース
を含む、システム。
(項目33)
前記回路設計プラットフォームは、特定のコンポーネントデータについて前記分散型電子
ネットワークを検索し得る検索エンジンをさらに含む、項目32に記載のシステム。
(項目34)
前記回路設計プラットフォームは、回路設計全体にコンポーネントを配置するための回路
インテグレータをさらに含む、項目32に記載のシステム。
(項目35)
前記回路設計プラットフォームは、前記回路設計全体に配置されたコンポーネントを接続
するためのコンポーネントコネクタをさらに含む、項目32に記載のシステム。
(項目36)
前記回路設計プラットフォームは、チップ設計全体のソースコードネットリストを作成し
得るネットリストジェネレータをさらに含み、該ソースコードネットリストはコンポーネ
ント位置および接続データを含む、項目32に記載のシステム。
(項目37)
前記回路設計プラットフォームは、種々の論理シミュレータによってコンパイルされ実行
されるソースコードを作成し得る検証ソースコードジェネレータをさらに含む、項目3
2に記載のシステム。
(項目38)
複数のユーザからのリソースを使用して回路を設計する方法であって、
第1のユーザシステムに接続された第1のデータベースに複数のコンポーネントデータ
ファイルを格納する工程;
要求に基づいて、分散型電子ネットワークで第2のユーザシステムを該第1のユーザシ
ステムに接続する工程であって、該第1のユーザシステムは、該第1のデータベースと相
互接続された第1のアプリケーションサーバを含み、該第2のユーザシステムは、第2の
データベースと相互接続された第2のアプリケーションサーバを含む、工程;
該第2のユーザシステムから、該第1のデータベースに格納された複数のコンポーネン
トデータファイルの任意のファイルへのアクセスのためのリクエストを受け取る工程;
該第2のユーザシステムによって、該第1のデータベースに格納された複数のコンポー
ネントデータファイルを検索する工程;
該分散型電子ネットワークで該第1のユーザシステムから、該利用可能な電子コンポー
ネントの1つのコンポーネント選択を受け取る工程;
該第2のユーザシステムによって、該第1のデータベースに格納された複数のコンポー
ネントデータファイルの少なくとも1つを選択する工程;
該選択された電子コンポーネントに関するさらなる情報を引き出す工程;および
該分散型電子ネットワークを介して、該第1のユーザシステムから該第2のユーザシス
テムに少なくとも1つのコンポーネントデータファイルを送信する工程;および
回路設計全体を作成し、該送信されたデータファイルを使用して全体回路サポートファ
イルを添付する工程
を包含する、方法。
(項目39)
前記回路設計全体を作成する工程は、回路設計に、第1の送信されたデータファイルによ
って示された第1のコンポーネントを組み込むことをさらに包含する、項目38に記載
の方法。
(項目40)
前記回路設計全体を作成する工程は、前記第1のコンポーネントを前記回路設計に存在す
る素子と相互接続することをさらに包含する、項目38に記載の方法。
(項目41)
前記回路設計全体を作成する工程は、前記少なくとも1つのコンポーネントデータファイ
ルを使用して、該回路設計のネットリストソースコードを作成することをさらに包含する
、項目38に記載の方法。
(項目42)
前記回路設計全体を作成する工程は、前記送信されたコンポーネントデータファイルを使
用して、該第1のコンポーネント機能の機能を検証することをさらに包含する、項目3
8に記載の方法。
(項目43)
前記回路設計全体を作成する工程は、前記送信されたデータファイルから前記回路設計の
組み込まれて接続されたコンポーネントの検証ソースコードを作成することをさらに包含
する、項目38に記載の方法。
(項目44)
遠隔IPコンポーネントリソースを使用する回路設計の方法であって、
分散型ネットワークを通じてリンクした遠隔データベースから、予め指定されたIPコ
ンポーネントのソースコードファイルを取り込む工程;
単一回路設計において、取り込んだIPコンポーネントを組み立てる工程;および
該単一回路設計を表すソースコードおよびサポートファイルを作成する工程
を包含する、方法。
【0017】
さらなる実施形態、変形例、および改良例がまた、本明細書中に記載される。
【図面の簡単な説明】
【0018】
【図1】図1は、電子設計ツールおよびサービスのエンドユーザと供給業者とを接続するポータルの抽象的な図である。
【図2】図2は、電子設計ツール、サービス、情報および/または他のリソースのエンドユーザと供給業者とを接続することによって、電子設計を容易にするシステムのより詳細な図である。
【図3】図3は、例えば、図2のシステムと共に用いられ得る、電子設計におけるコンポーネントを選択し、管理するプロセスを示すフローチャートである。
【図4】図4は、分散型電子ネットワークを介して、図2に示すようなポータルサイトにアクセスすることによって、コンポーネントを購入するプロセスを示すフローチャートである。
【図5】図5は、選択したIPコアブロックを、個別に、または、集合的に検証するプロセスを示すフローチャートである。
【図6】図6は、電子設計ツール、サービス、情報および/または他のリソースのエンドユーザと供給業者とを接続することによって、電子設計を容易にする、代替的なシステムのより詳細な図である。
【図7】図7は、全体的に高いレベルで模式化された選択したIPコアブロックを示す、生成されたグラフィカル高レベルネットリストの一例を示す図である。
【図8A】図8aは、本発明を用いる、回路チップ設計プラットフォームの様々な工程のユーザに対して表される、グラフィカルユーザインターフェースの一例を示す図である。
【図8B】図8bは、本発明を用いる、回路チップ設計プラットフォームの様々な工程のユーザに対して表される、グラフィカルユーザインターフェースの一例を示す図である。
【図8C】図8cは、本発明を用いる、回路チップ設計プラットフォームの様々な工程のユーザに対して表される、グラフィカルユーザインターフェースの一例を示す図である。
【図8D】図8dは、本発明を用いる、回路チップ設計プラットフォームの様々な工程のユーザに対して表される、グラフィカルユーザインターフェースの一例を示す図である。
【図9】図9は、コンポーネントの生成されたネットリストのユーザに対して表される、グラフィカルユーザインターフェースの一例を示す図である。
【図10】図10は、本発明の回路設計プラットフォームに含まれ得る各種の機能およびインプリメンテーションのブロック図である。
【発明を実施するための形態】
【0019】
図1は、有用な品物、サービス、情報および他のリソースを提供することによって、電
子設計を容易にする、電子設計自動化リソースシステム100の実施形態による、抽象的
な図である。図1に示すように、複数のエンドユーザ102および複数の供給業者106
が、インターネットなどの分散型電子ネットワークを介して、設計プラットフォーム10
4に接続されている。エンドユーザ102には、典型的には、回路設計者および電子設計
自動化(EDA)ソフトウェアツールのユーザが含まれるが、本明細書中により詳細に記
載されるように、他のタイプの各種のユーザも含まれ得る。供給業者106には、典型的
には、EDAソフトウェアツール、仮想コンポーネントブロックまたはIPコア、ファウ
ンドリサービス、ハードウェアコンポーネント、専門的設計サービス、および他の各種の
リソース(形態は、品物、サービス、情報、または他のリソースのいずれであってもよい
)のプロバイダが含まれる。これらは、本明細書中、より詳細に説明される。あるいは、
各エンドユーザが、他のエンドユーザのためのIPコア設計の供給業者としての役割を果
たしてもよい。さらに、各供給業者は、交替で、エンドユーザ設計者としての役割を果た
してもよい。
【0020】
一実施形態において、設計プラットフォーム104は、あらゆるコンピュータで実行さ
れるようにJAVA(登録商標)で書かれる。設計プラットフォーム104は、エンジニアおよび他のユーザ102に、電子コンポーネント上の情報へのアクセスを提供し、エンドユーザ102と供給業者106との間の電子コンポーネントの商取引を可能にする。この実施形態において、電子コンポーネントデータは、標準的なシンボルおよびフットプリントデータでのグラフィカル表現を、エンドユーザの設計に転送(例えば、コピー)される準備ができた状態にして、「ダイナミックパート」の形式で、遠隔データベースに格納される。遠隔電子コンポーネントデータベースからエンドユーザのワークステーション(または設計データベース)にコピーされた情報の一部は、遠隔データベースまたは供給業者のデータベースへのリンクを含み、パートリード時間、利用可能性およびコストなどの情報の提供を含む各種の有用な能力を実現する。電子コンポーネントについてのデータシート、タイミング情報などがまた、設計者の役に立つように、利用可能にされ得る。さらに、設計プラットフォーム104は、VHDLまたはVerilogのいずれかで書かれた電子コンポーネント設計データをサポートする。このようにして、設計プラットフォーム104は、直接インターフェースのためのあらゆるフォーマットのIP、および他のベンダーのIPを1つのSoC設計に統合することをサポートする。さらに、モジュラー形態で設計プラットフォームをサポートするソフトウェアを設計することによって、System−Cなどの新たなインプリメンテーション言語が、将来サポートされ得る。遠隔データベースまたは供給業者のデータベースへのリンクを介して、フロントエンドユーザは、新たなSoC設計における統合、接続、および検証についての関連する設計データ全てを転送し得る。このデータは、この実施形態が、電力消費、ゲートカウント、および完全なSoC設計のための面積を推測することを可能にする。
【0021】
他の実施形態において、設計プラットフォーム104は、関連するIP設計データの全
ての転送を介して、設計者が新たなSoC設計内のIPコア設計を設定することを可能に
する統合ツールを提供する。設計プラットフォーム104は、各種のIPコアの間の必要
な接続をサポートし、新たなSoC設計内のIPコアコンポーネントの全てのネットリス
トを生成する。
【0022】
他の実施形態において、設計プラットフォーム104は、全てのIPコアの統合および
IPコア間の接続の検証をサポートする。設計プラットフォーム104は、各新たなSo
C設計内に位置する基本的な機能的要素の検証をさらにサポートする。これらの基本的な
機能的要素には、アドレスデコーダ、バスアービター、バスブリッジなどが含まれる。設
計プラットフォーム104は、従来の論理シミュレータがIPコアの統合および接続を検
証する能力を可能にする、例えば、ANSI−Cコードでソースコードを出力する。
【0023】
他の実施形態において、設計プラットフォーム104は、仮想ブロックまたはIPコア
についての情報を探している、または購入しようと考えている、エンドユーザ102を、
仮想回路ブロックまたはIPコアを提供する供給業者106に接続する。設計プラットフ
ォーム104は、例えば、入手可能なIPコアのカタログ、IPコアについての情報、お
よびIPコアを検証されていないユーザまたはコピーから保護するメカニズムへのアクセ
ス提供することによって、適切な仮想回路ブロックまたはIPコアを見つけ、獲得するこ
とを容易にし得る。
【0024】
他の実施形態において、上記の設計プラットフォーム104の特徴のうちの複数が、回
路設計および開発プロセスについて総合的なサポートを提供する、オープンポータルサイ
ト204において組み合わせられる。
【0025】
図2は、オープンポータルサイトとして提供される設計プラットフォーム204を特徴
とする実施形態のより詳細な図である。図2は、エンドユーザを電子設計ツール、サービ
ス、情報および/または他のリソースに接続することによって、電子設計を容易にするシ
ステム200を表す。図2に示すように、各種のユーザおよびリソースプロバイダは、電
子設計を容易にするために、インターネット230などの分散型電子ネットワークを介し
て、ポータルサイト204に接続される。図2に示すシステム200において、ユーザシ
ステム220は、サポートプラットフォームを用いて、インターネット230を介して、
ポータルサイト204に接続する。図2においては、例示のため、1つのユーザシステム
220のみしか示されていないが、数百または数千のオーダーの多くのユーザシステムが
、インターネット230または他の分散型電子ネットワークを介して、ポータルサイト2
04に同様に接続し得る。以下の説明において、ユーザシステムは、インターネット23
0を介してポータルサイト204に接続しているとするが、このような接続のために、他
のタイプの分散型電子ネットワークを利用してもよいことが理解される。標準的なオブジ
ェクトデータモデルが、インターネット230を介してユーザシステム220をポータル
サイト204にリンクするために用いられ得る。
【0026】
インターネット230を介してポータルサイト204に接続されたユーザシステム22
0は、スタンドアロンコンピュータまたはワークステーションを含み得る。スタンドアロ
ンコンピュータまたはワークステーションは、直接インターネット230に接続されても
よいし、インターネット230に接続するように設計されたネットワークハードウェアお
よび/またはソフトウェアを含むローカルエリアネットワーク(LAN)の一部であって
もよいし、他の手段でポータルサイト204に接続していてもよい。ユーザシステム22
0は、好ましくは、ウェブブラウザ224などのインターネット230をナビゲートする
手段を含む。ウェブブラウザ224には、例えば、標準的な市販の製品、例えば、Mic
rosoftのInternet Explorer(R)、NetscapeのCom
municator(R)、Opera SoftwareのOpera(R)などが含
まれ得る。ユーザシステム220はまた、好ましくは、1つ以上の供給業者アプリケーシ
ョン226を、例えば、California、San JoseのCadence D
esign Systems製の商品、E−Capture(R)などのコンピュータプ
ログラムまたはソフトウェアパッケージの形で実行する。また、「設計コンソール」イン
ターフェース228が、好ましくは、ユーザシステム220の一部として提供される。設
計コンソールインターフェース228は、ユーザシステム228にインストールされ、そ
こで実行される、スタンドアロンクライアントアプリケーションソフトウェアプログラム
を含み得る。設計コンソールインターフェース228は、ポータルサイト204とのイン
ターフェースとして機能し、好ましくは、ポータルサイト204によって提供される機能
およびプロセスを、設計コンソールインターフェース228がない場合に標準的なウェブ
ブラウザによって提供されるよりも、速く、ロバストに、かつ、効率的に、インターリン
クするように最適化される。ユニバーサルデータインターフェースフォーマットまたはマ
ークアップ言語、例えば、XMLは、好ましくは、システム200の各種のコンポーネン
トの間の一次的なデータインターフェースとして用いられる。XMLの詳細は、コンピュ
ータプログラミングの分野の当業者にとっては周知である。
【0027】
次に、システムのポータルサイト204に目を向けると、ポータルサイト204は、場
合によっては大きく異なるドメインにある多くの供給業者106(図1参照)が集められ
る点として機能する。ポータルサイト204は、好ましくは、ポータルサイト204への
アクセスをシークする外部のエンティティ(例えば、ユーザシステム220)とインター
フェースするウェブサーバ260を含み、このような外部のエンティティと、ポータルサ
イト204において利用可能な各種のアプリケーションとの間の仲介役として機能する。
ポータルサイト204はまた、好ましくは、ウェブサーバ260通過した外部のエンティ
ティからのリクエストを受信し、ポータルサイト204に含まれるか、またはポータルサ
イト204を介してアクセス可能なデータベースまたは他のリソースにアクセスすること
によってそのリクエストに応答する、アプリケーションサーバ232を含む。アプリケー
ションサーバ232はまた、ポータルサイト204内で、コマンドおよびコントロール機
能を提供する。
【0028】
アプリケーションサーバ232は、好ましくは、設計エンジニアにとって有用な情報を
含む1つ以上のデータベースにアクセスする。このようなデータベースには、例えば、ユ
ーザデータベース235、メトリックデータベース238、カタログデータベース240
、およびビジネスデータベース244が含まれる。これらのデータベースの機能は以下に
記載される。ユーザデータベース235は共同サーバ234を介してアクセスされ、メト
リックデータベース238はメトリックサーバ236を介してアクセスされ、カタログデ
ータベース242はカタログサーバ240を介してアクセスされ、ビジネスデータベース
246はビジネスサーバ244を介してアクセスされる。所望される場合、さらなるデー
タベースおよびサーバが含まれ得る。また、インターネット230を介してポータルサイ
ト204に接続されることが好ましいものとして、1つ以上のコンポーネント供給業者デ
ータベース209、IPコアデータベース208がある。これらの役割は、図3〜10を
参照しながら、より詳細に説明される。
【0029】
オープンポータルサイト204によってサポートされる設計プラットフォーム104は
、さらに、選択したIPコアブロックを設定し、IPコアブロックの各種のI/Oピンを
適切に接続し、完全なSoC設計のグラフィックおよびテキストでのネットリストを生成
する、設計ツールを含む。さらに、ポータルサイト204は、SoC設計全体の中で、I
Pコアの適切な統合および接続を確実なものにする検証ツールをさらに含む。ポータルサ
イト204は、SoC設計の基本的な機能を検証する手段をさらに提供する。これらは、
SoC設計で利用される基本的なアドレスデコーダ、バスアービター、バスブリッジなど
の機能を含む。これらの各種のツールの役割は、図3〜7を参照しながら以下でより詳細
に説明される。
【0030】
ポータルサイト204によって提供されるデータベース235、238、242および
246のうちの1つ以上は、ポータルサイト204が安全なXMLトンネルを介して他の
サイトからの情報にアクセスする状態で、分散型アーキテクチャを用いて設定され得る。
特に、カタログデータベース242は、ポータルサイト204が安全なXMLトンネルを
介して遠隔データベース(例えば、208および209)からのカタログ情報にアクセス
する状態で、分散型アーキテクチャを用いて有用に設定され得る。データベースアーキテ
クチャが分散される場合、アクセス性能を向上させるように、キャッシングが用いられ得
る。
【0031】
一般的な見地から、共同サーバ234は、エンドユーザ102および供給業者106(
図1参照)の両方に対する共同サービスを提供する。共同サーバ234は、好ましくは、
共同型のアプリケーション、例えば、チャット、カレンダー、電子メール、オンラインセ
ミナー、オンライン会議、アプリケーションおよびデスクトップシェアリングを統合し、
提供する。共同サーバ234はまた、好ましくは、専門家と設計者との間のリアルタイム
のインタラクションを可能にする「仮想」デスクトップの存在によって、専門的な設計ア
シスタンスのためのインフラストラクチャサポートを提供する。
【0032】
メトリックサーバ236は、ポータルサイト204および供給業者サービスの使用につ
いての情報を収集することに役立つ。1つの局面において、メトリックサーバ236は、
ポータルサイト204で測定されるデータのための高性能、高容量データ格納装置を含み
得る。このようなデータには、例えば、ウェブトラフィックパターン、アプリケーション
使用、(例えば、マテリアルの電子ビルをモニタリングすることによって)コンポーネン
ト使用、ユーザ評価フィードバックなどが含まれる。メトリックサーバ236は、好まし
くは、このような情報を、専用ポータルデータマイニングアプリケーションに提供する。
【0033】
カタログサーバ240は、好ましくは、「電子カタログ」サービスを、ユーザシステム
220にあるクライアント側ソフトウェアに提供する。上述したように、カタログデータ
ベース242は、分散型アーキテクチャによって設定され得、カタログサーバ240およ
び/またはカタログデータベース242によって、リンクおよび他のリソースを介して統
合される。供給業者カタログの統合は、好ましくは、XMLなどの一般的なデータフォー
マットモデルを用いることによって達成される。
【0034】
ビジネスサーバ244は、以下にさらに説明するように、ユーザと供給業者との間の商
取引をサポートする。
【0035】
ある実施形態において、ポータルサイト204は、各種の有用なリソースを設計エンジ
ニアに提供する。このようなリソースへのアクセスは、図3〜10を参照しながら、簡便
に説明される。図3〜10のそれぞれは、設計、開発または製造の特定の分野に関係する
、情報または他の設計リソースにアクセスするプロセスを示す。従って、ポータルサイト
204は、1つの局面において、設計エンジニアに対して、統合されたリソースのセット
を提供し得る。
【0036】
図3は、例えば、図2のシステムとともに用いられ得る、各種のIPソースからSoC
を設計するプロセス300を示すフローチャートである。図3に示すプロセス300の第
1の工程302において、ユーザシステム220のユーザは、適切なUnified L
ocator Resource(URL)または他の適切なアドレスを入力することに
よって、インターネット230を介してポータルサイト204にアクセスし、それに応答
して、設計コンソールクライアントソフトウェア228がメイン設計コンソールメニュー
画面をユーザシステム220のコンピュータ画面に表示する。記載されるプロセス300
、および以下に記載される他のプロセスを通じて、ユーザシステム220におけるデータ
の表示が、好ましくは、ポータルサイト204からインターネット230を介して適切な
コマンドを送信することによって達成される。すなわち、ポータルサイト204は、デー
タを、適切なフォーマット(例えば、ハイパーテキストマークアップ言語(HTML)ま
たは類似のフォーマット)で、インターネット230を介してユーザシステム220に送
信し、その後、データはユーザシステム220で表示される。インターネット230を介
して、情報をフォーマットし、送信する手段は、コンピュータプログラミングの分野の当
業者にとって周知である。
【0037】
図3に示すように、プロセス300の次の工程304において、ユーザシステム220
におけるユーザは、好ましくは、SoC設計の必要な設計基準を満たす各種のIPコア設
計を検索する、アイコン、リンク、または他のしるしを選択する。例えば、ユーザは、適
切なIPコア設計をサーチするために、設計コンソールメイン画面に表示される、適切な
アイコンまたはリンクをクリックし得る。このようなアイコンまたはリンクは、一般的に
、インターネットアプリケーションソフトウェアにおいて用いられ、アイコンまたはリン
クをグラフィカルユーザインターフェースに配置する技術は、コンピュータ技術の分野の
当業者にとって周知である。あるいは、コンポーネント選択サーチは、テキストベースの
環境において、適切なコマンドをタイピングまたは入力することによって、アクセスされ
てもよい。ポータルサイト204を通じて接続された各種のデータベースをサーチした後
、ポータルサイト204のグラフィカル表示は、ユーザによって入力される必要な設計基
準を満たすIPコア設計の各種の選択を表示する。IPコア設計のユーザのサーチに応答
して、使用または購入することができる異なるIPコア設計のリストが、ポータルサイト
204において、カタログデータベース242から取り出され、その後、ユーザシステム
220に送信され、ユーザシステム220において表示される。リストに挙げられるIP
コアブロックには、例えば、仮想マイクロコア、フィールドプログラマブルゲートアレイ
(FPGA)、デジタル信号プロセッサ(DSP)、複合処理コア、および設計エンジニ
アが有用であると思うような任意の他のコンポーネントが含まれ得る。あるいは、コンポ
ーネントは、上記のもの、すなわち、リストに挙げられたIPコアブロックのうち多くを
含み得る、SoCのプリント回路基板(PCB)プロトタイプのためのものであってもよ
い。リストに挙げられたコンポーネントは、IPコアが新たなSoC設計内での使用に適
するか否かをユーザが判定できるようにする、基本的な設計パラメータおよび設計基準を
含み得る。このような情報は、好ましくは、比較的高いレベルのデータを構成し、概して
、ユーザ102が選択したIPコアを設計に含めるべきか、ランク付けされたリストから
異なるパートを探すべきか、または、選択したパートについてさらなる情報を集めるべき
かを、ユーザ102が比較的速く判定できるようにすることが意図される。好ましくは、
ユーザ102には、選択したパートをユーザ102の設計に直ちに組み込むか、ランク付
けされたリストに戻って異なるパートを探すか、または、選択したパートについてのさら
なる情報を引き出すかを簡便に選択する、アイコンまたは他のインターフェース機能が提
示される。ユーザ102がさらなる情報に関心を持つ場合、プロセス300は、工程30
6および308に進む。工程306および308において、ユーザ102は、適切なイン
ターフェース機能(例えば、アイコンまたはメニュー選択入力)を選択して、選択したパ
ートについてさらなる情報を受け取る。
【0038】
1つのコンポーネントに対して、1つより多い特定のタイプのパートが利用可能である
場合、工程306において、ユーザは、工程304において提供されたリストからコンポ
ーネントを選択し得る。それにより、工程310について以下で説明される命令において
、特定のコンポーネントに対応する利用可能なパートを表示させる。例えば、ユーザが、
IPコアブロックとしてDSPコアを選択する場合、ユーザシステム220は、DSPコ
アコード名、周波数、消費電力、ゲートカウントなどを表示し得る。あるいは、ユーザは
、例えば、普通のデータベースクエリを用いて、特定の基準を満たす全てのコンポーネン
トをサーチすることを可能にするように、サーチ基準を入力することを許可され得る。例
えば、ユーザは、300MHzよりも高い周波数で動作する全てのDSPコアブロックに
ついて、サーチし得る。ユーザのサーチ基準は、インターネット230を介して、ポータ
ルサイト204に提供され得、それにより、適切なデータベースサーチクエリが実行され
る。サーチの結果は、ポータルサイト204からインターネット230を介してユーザシ
ステム202に返され得る。工程306において、ユーザは、表示されたIP設計のリス
トの中から、新たなSoC設計に組み込まれるものを選択する。利用可能なコンポーネン
ト設計のリストは、例えば、選択可能なストリング、「ホットリンク」、またはアイコン
のリストとして、表示され得る。ユーザは、選択肢のリストを検討し、工程306におい
て、例えば、入力を強調表示して、キーボードのキー(例えば、リターンキー)を打つこ
と、コンピュータマウスで入力をクリックすること、所望のパートのランキングに対応す
る数を選択すること、または、任意の他の選択手段によって、利用可能な選択肢のうちの
1つを選択する。選択手段の詳細は、本明細書に記載の発明の概念の動作にとって重要な
ものではない。ユーザの選択は、ユーザシステム220からポータルサイト204に送信
される。
【0039】
プロセス300は、その後、工程308に進む。工程308において、選択したIPに
ついての詳細なデータがユーザに転送される。次の工程310において、工程306にお
いて選択したパートのさらなる情報がユーザに対して表示される。その後、ユーザ102
は、ユーザ102のワークステーションおよび設計への最終的なインポートのため、外部
のソース(208、209)からポータルサイト204へのさらなる情報の送信をリクエ
ストする。ポータルサイト204によってサポートされている設計プラットフォーム10
4は、さらなる情報を収集し、情報をエンドユーザ102に送信する。この208、20
9から転送されたさらなる情報は、設計シミュレーションを実行するために必要なデータ
だけでなく、統合および接続の検証だけでなく、VHDLまたはVerilogリアルア
クションインプリメンテーションコードを含む。工程310において、選択したパートに
ついてのさらなる情報が表示される。このような情報には、コンポーネントデータシート
、タイミングモデル、アプリケーションノート、シミュレーションモデル、信号保全性モ
デル(例えば、IBISモデル)、製造情報、または他の情報などの詳細なパート情報が
含まれ得る。また、好ましくは、設計全体の中のコンポーネントの配置について、ユーザ
がより情報を得た上で決定することを可能にする、選択したパートについてのシンボルお
よびフットプリント設定が提供される。また、工程310において表示される情報は、コ
ンポーネントおよびアプリケーションについてのアプリケーションノートを含み得る。そ
の後、所望される場合、ユーザの設計に組み込まれる他のIPコアについて、特定のIP
コアを選択する工程が繰り返される。従って、プロセス300は、ユーザが、プラットフ
ォーム設計104に接続されたリソースを用いて、サーチし、選択することを所望する残
りのIPコアのそれぞれについて、工程302に戻る。最終的に、ユーザが、IPコアを
設計に追加することをやめたときに、プロセス300は、普通の設計コンソールメニュー
に戻る。
【0040】
図3のプロセス300の使用は、供給業者およびユーザの両方にとって役立つことが期
待される。例えば、IPコアの選択および管理プロセス300を用いることによって、I
Pコアの品質および機能についてのデータを交換することが容易になる。これは、このよ
うな品質および機能をエンドユーザに対して実証することができる供給業者にとって有益
であり、あるIPの品質および機能についてより保証を得るユーザにとって有益である。
IPコア選択および管理プロセス300はまた、IPコアを保護する。これは、供給業者
のIP市場への参入を容易にし、供給業者が開発したIPコアの知的財産権を保護するこ
とおいて重要である。さらに、IPコア選択および管理プロセス300は、IPコア販売
およびライセンシング取引についてのオーバーヘッドを有用に低減し得る。これは、この
ような取引が、設計者と供給業者との間で、設計プラットフォーム104を介して、販売
、マーケティングまたは法務部門からの他の職員の介在を必要とすることなく、行われる
からである。さらに、このような設計プラットフォーム104は、IPコア作成、および
SoC設計レベルの両方において、会社全体、または、産業全体さえにわたる規格の実施
を奨励するものである。
【0041】
ある実施形態において、設計者が、選択し、選択したIPについての関連する情報を全
て転送した後、プロセスは、工程312から継続する。工程312において、ユーザ10
2は、IPコアを、SoC設計全体に配置する。IPコア配置工程312は、設計全体に
おける、転送されたIPコアのそれぞれの適切な位置座標を表すテーブル入力を作成する
ことによって達成され得る。さらに、ユーザ102は、手動で、適切なIPコア接続に対
するIPコア、およびバス接続に対するIPコアを表すテーブル入力を入力し得る。ある
いは、設計プラットフォーム104はまた、IPコアを、SoC設計内の他のIPコアま
たはバスのどちらかに、自動で接続してもよい。この自動接続は、工程308において、
設計プラットフォーム104によってユーザ102に転送されるサポートデータファイル
を利用する。さらに、設計プラットフォーム104は、ユーザ102が、SoC設計内で
IPコアを配置し、移動させられるように、グラフィカルユーザインターフェース(GU
I)を組込み得る。ユーザ102は、選択したIPコアのグラフィカル表現(例えば、シ
ンボル)を、選択したIPコアのシンボルを、設計を開発するために用いられた概略的な
プログラムに移動させるか、コピーするか、またはドラッグすることによって、SoC設
計に配置し、移動させる。このようなGUIを可能にするため、IPコアの元の設計者は
、IPコアのシンボルおよびそれに伴うグラフィカル表現サポートファイルも作成する必
要がある。このグラフィカルサポートファイルは、工程308において、他のサポートデ
ータとともに転送され得る。選択したパートを概略的なプログラムへと動かすプロセスの
一部として、選択したパートについての情報が、好ましくは、設計データベース225内
のユーザシステム220に、コピーされ、格納される。このような情報には、例えば、選
択したパートについての仕様、ならびに、製造情報、および、ポータルサイト204と選
択したパートの供給業者もしくは販売業者のコンポーネント供給業者データベース209
とのいずれかへのハイパーリンクが含まれ得る。遠隔データベースへのリンクのため、ポ
ータルサイト204から選択され、ユーザシステム220における設計データベース22
5に格納されるパートは、ダイナミックパートと呼ばれる。選択したパートについての情
報は、設計データベース225に格納される代わりに、例えば、ユーザの物理的な位置、
または何らかの遠隔の位置における別個のデータベースに格納されてもよい。
【0042】
最終的に、ユーザがコンポーネントを設計に追加し終えたときに、プロセス300は、
工程314へと移る。工程314において、設計は、完了したと考えられる。工程316
において、各種のI/Oピンの間の接続は、各種のIPコアの間で作成される。オープン
ポータルサイト204によってサポートされる設計プラットフォーム104は、自動接続
機能を提供する。自動接続機能を用いることによって、設計プラットフォーム104は、
自動的に、それぞれのIPコアのI/Oピンをバスに接続するため、転送されたそれぞれ
のIPコアについてのデータを用いる。あるいは、ユーザ102は、手動で、IPコアを
バスに接続してもよい。最終的に、工程318において、高レベルネットリスト700が
生成される。ポータルサイト204によってサポートされる設計プラットフォーム104
は、記述言語、例えば、VerilogまたはVHDLなどでネットリスト700を出力
する。さらに、設計プラットフォーム104は、ユーザ102にネットリスト700のグ
ラフィカル表現を提供し得る。図7は、ポータルサイト204に含まれる設計ツールによ
って、グラフィカル形態で生成される高レベルネットリストの一例を示す。高レベルネッ
トリストの生成において、ポータルサイト204は、選択したIPコアについて、検証プ
ロセス400において用いられる、転送されたソフトウェアコードをさらに含む。図7に
おいて、各種のIPコア701は、高レベルネットリスト700においてグラフィカル表
現されている。各IPコア701は、複合IP設計、例えば、DRAMまたはDSPを表
し得る。ネットリスト700は、設計プラットフォーム104による出力として、さらな
る論理シミュレーションおよび検証テストのため、記述言語で提供される。図7における
グラフィカル表現はまた、ユーザ102に提供される。
【0043】
設計プラットフォーム104がオープンポータルサイト204によってサポートされて
いる実施形態において、または、外部のIPコアソースが設計プラットフォーム104に
接続され得るようにする実施形態において、実施形態は、次の工程320およびプロセス
400を行い得る。設計を製造する準備において、後の時点で、プロセス300は、必要
に応じて、工程320に進む。工程320において、マテリアルのビルが、設計の中のコ
ンポーネントから自動的に生成される。マテリアルのビルの生成に加えて、SoC設計に
ついての関連する全てのサポートデータは、対応するインデックスファイルとともにドキ
ュメンテーションディレクトリにパックされ得る。ユーザは、設計コンソールクライアン
トソフトウェア228を用いて適切なメニュー選択を行うこと、または、ユーザシステム
220におけるアプリケーション226によって、あるいは、他の方法で、マテリアルの
ビルの自動生成を開始し得る。
【0044】
図4は、図2において示すようなポータルサイト204にアクセスすることによってコ
ンポーネントを購買するためのプロセス400を例示するフローチャートである。購買プ
ロセス400は、ユーザがポータルサイト204にアクセスして一つ以上の商品を購買す
ることによって直接起動され得るか、または他に、図3に示すコンポーネント選択および
管理プロセス300などのより大きなプロセスに全部または一部が関係して自動的に起動
され得る。図4に示す購買プロセス400の第1ステップ416において、ユーザは、ユ
ーザシステム220上でユーザに表示されるコンポーネントまたは部品に対する購買オプ
ションを選択する。ユーザは、図3に例示されるステップ304および306と同様のや
り方で利用可能な部品が提供されるか、あるいは別に、ユーザは、所望の部品をすでに知
っているならば(型番または名称を)単に入力し、そして入力された部品情報は、ポータ
ルサイトにおいて格納されるかまたは供給者データベース209において利用可能な部品
情報と比較される。ユーザは、例えば、購買アイコンまたは指定リンクをコンピュータマ
ウスを用いてクリックするか、または購買コマンドをコンピュータキーボード上に入力す
ることによって特定の部品に対する購買オプションを選択し得る。特定のコンポーネント
に対する購買オプションを選択する前に、ポータルサイト204は、IPコアデータ利用
可能性および/または特定のユーザ102の要求するIPコア設計に対するカスタマイズ
または変更に必要なリードタイムについての情報をユーザ102へ提供し得る。ポータル
サイト204はまた、どのデータがポータルサイト204において定期的に格納および更
新されるかに関する情報をユーザ102に提供するか、または他に、適切な供給者データ
ベース209から必要とされる場合に、実行中にアプリケーションサーバ232によって
取り出され得る。
【0045】
購買オプションのユーザ選択は、指し値(quote)に対するリクエストを生成する
。指し値は、ステップ418で、ポータルサイト204にユーザシステム220からイン
ターネット230を介して送信される。ポータルサイト204において、アプリケーショ
ンサーバ232は指し値に対するリクエストを受信し、そしてビジネスサーバ248を起
動する。ビジネスサーバ248は、ビジネスデータベース246にアクセスしてトランザ
クションレコードを生成する。購買トランザクションの初期に生成されたトランザクショ
ンレコードは、最終トランザクションに向かって各ステップが完了する際に更新され得る
。次のステップ420において、アプリケーションサーバ232は、供給者指し値に対す
るリクエストを生成し、そしてこのリクエストをインターネット230を介して適切な供
給者(通常、供給者データベース209を含むサイトであり得る)に送信する。供給者指
し値に対するリクエストは、指し値をリクエストしているユーザ102に関する特定事項
およびユーザ102の従事するビジネスの規模ならびにユーザ102が考慮を希望するラ
イセンスモデルを含む。本実施形態において、そのような情報は、とりわけ、購買者が数
量割引または優先供給者またはユーザ割引などの当該産業において一般に提供されるよう
な特定の割引に対して適格かどうかを供給者が決定し得るために、含まれる。供給者指し
値に対するリクエストは、トランザクション識別子が付与され、供給者からの応答価格指
し値の照合(match−up)を容易にし得る。
【0046】
次のステップ422において、供給者は、好ましくは、価格指し値およびライセンスモ
デルを含む提示された電子契約をポータルサイト204にインターネット230を介して
送信する。提示された電子契約は、供給者価格指し値に対するリクエストの一部として送
信されたトランザクション識別子によって少なくとも部分的に同定される。ステップ42
4において、提示された電子契約はポータルサイト204からユーザシステム220へ送
信される。本実施形態において、供給者指し値は、ユーザおよび供給者によって売りの提
示として考慮され、そしてこの提示がユーザによって受理されるとユーザと供給者との間
に拘束力のある契約が生じる。但し、そのような契約が生じるのは、ユーザがそのような
契約を行う権限を有する場合である。
【0047】
次のステップ426において、認証手順が行われ、ユーザが所望の購買ができるように
認証されることを確実にする。1つの実施形態において、例えば、設計コンソールクライ
アントソフトウェア228は、ユーザが購買をできるように認証されているかどうかを決
定する手順を開始する。そのようなファクタはユーザ毎および会社毎に変化し、かつなさ
れるべき購買の金額、リクエストする個人の先任順位(seniority)などのファ
クタ、および他のそのようなファクタに依存し得る。設計コンソールクライアントソフト
ウェア228は、好ましくは、ユーザの認証レベルに関するデータを格納するか、または
アクセスする。認証データは、例えば、ユーザの雇用者によって稼働される独立のデータ
ベース(ローカルまたはリモート)に格納され得る。支払いを必要とするトランザクショ
ンは、認証のためにこのデータベースをパスしなければならない。あるいは、認証決定が
なされる場所は本明細書中に記載される実施形態の機能に重要ではないので、認証機能は
アプリケーションサーバ232において提供され得る。認証手順の結果として、設計コン
ソールクライアントソフトウェア228は、ユーザが選択された部品を購買することを可
能にしなくてもよいか、またはユーザが所定のドル合計値まで部品を購買することを可能
にし得る。
【0048】
ユーザが購買できるように認証されていない場合、ステップ428によって示されるよ
うにユーザは認証を得る。この認証ステップ428は、電子認証、紙認証、公式の認可プ
ロセスなどの広範囲の形態を取り得る。ユーザが認証を得ない場合、プロセス400はス
テップ428において終了し得る。
【0049】
ステップ430において、一旦ユーザが購買できるように認証されると、注文が供給者
に対して生成され、そして所望の製品およびサービスの購買および配送についての契約が
ユーザと供給者との間で作成される。次いで、ステップ432に示すように、注文は供給
者にポータルサイト204を介して送信される。
【0050】
ポータルサイト204は、ビジネストランザクションに異なるレベルで関与し得る。ス
テップ434において、例えば、ポータルサイト204がトランザクションについての請
求書発送を取り扱っているかどうかを決定する。取り扱っていなければ、ステップ436
で、アプリケーションサーバ232は、ポータルサイト204を通過したトランザクショ
ンのコストの一部に対する請求書(例えば、ユーザおよび供給者を引き合わせる手数料)
が生成され、そしてポータルサイト204からインターネット230を介して供給者へ送
信されるようにし得る。請求書上に反映されるような手数料の額は、全トランザクション
値のパーセンテージ、トランザクション毎、または特定の供給者とポータルサイト204
のオペレータとの相互間で合意可能な条項上で計算された別の基準に基づいて生成され得
る。次のステップ438において、次いで供給者は、請求された額をポータルサイト20
4に代償として送信する。本実施形態において、請求書発送および支払いは、両方ともに
本質的に電子的なものである。しかし、これらのうちの1つまたは両方は、紙形態であり
得る。簡単のために、供給者はポータルサイト204においてアカウントを維持し得る。
アカウントは、請求書発送されるはずであった額だけ自動的に借方記入される。
【0051】
ステップ434に戻って、ポータルサイト204が請求書発送を取り扱っている場合、
プロセス400はステップ440に進む。ステップ440において、アプリケーションサ
ーバ232は請求書を生成し、そして請求書をポータルサイト204からユーザへインタ
ーネット230を介して送信する。次のステップ442において、次いでユーザはその請
求書に対する送金をポータルサイト204へ送信する。送金は電子的にまたは紙を介して
なされ得る。あるいは、ユーザは、ポータルサイト204においてアカウントを維持し得
る。アカウントは自動的に借方記入され得る。次に、ステップ444において、ポータル
サイト204は、仲介として機能するために、必要に応じて送金額の一部を代償として差
し引き、そして送金の残を供給者に(電子的にまたは紙の形態で)送信する。この時点で
、購買プロセス400は完了する。
【0052】
一旦プロセス300において作成される設計全体が完了すると(そしてその場合は、プ
ロセス400において外部ベンダから種々の選択されたIPコアを購買することが必要で
ある)、設計プラットフォーム104はユーザ102に、例えば、出力されたANSI−
Cにおけるソースコードまたは同様のアセンブリ言語ソースコードを提供する。このソー
スコードは、検証の目的でユーザ102に提供され、そして種々の従来の論理シミュレー
タおよび検証ツールにおいて容易にコンパイルおよび使用され、設計全体の統合を確実に
する。図5は、例えば、図2のシステムと関連して使用され得るような、設計検証のため
のプロセス500を例示するフローチャートである。
【0053】
一旦個々の選択されたIPコアデータがプロセス300において送信されたら、設計者
は個々に、ステップ502において各転送されたIPコアの機能をテストおよび検証し得
る。ブロックレベル検証プロセスを行うために、IPコアの元の設計者は、IPコアのタ
イプだけでなくIPコア設計の目的もまた同定するファイルを含まなければならない。そ
のようなファイルは、さらなるサポートデータとしてVerilogまたはVHDLファ
イルとともに転送され得る。ブロックレベル検証ファイルは、例えば、Verilog、
VHDL、またはANSI−Cにおける元のIPコア作成者によって容易に作製されるソ
ースコードファイルである。これらのブロックレベル検証ファイルは、テストベンチファ
イルと一般に称される。現在、ブロックレベル検証ファイルは外部で行われる。なぜなら
、設計者は通常、IPコアを設計する際にテストベンチファイルを含まないからである。
なぜなら、ほとんどのユーザはブロックレベルIPコアの機能が何であるか知らず、かつ
そのような機能の検証は簡単だからである。通常、そのようなテストベンチファイルは不
要である。なぜなら、ほとんどのユーザ102はブロックレベルIPコア設計を容易に同
定およびテストし得るからである。しかし、本発明の設計プラットフォーム104におけ
る改良がなされ、かつ設計プラットフォーム104の使用が増えるので、すべての検証機
能を完全自動化するのが好ましい。したがって、IPコアの将来の設計は、IPコアおよ
びその機能を同定するように書かれたテストベンチファイルを有し得る。より多くのIP
コアがそのようなテストベンチファイルを含むように設計されるので、設計プラットフォ
ーム104は、IPコアの機能およびその完全かつ正確な転送を検証し得る。ブロックレ
ベル検証は、個々のIPコアブロックをそれぞれ単独でテストベンチに置く工程を含む。
ブロックレベル検証は、プロセス300の間にすべてのIPコアブロックデータの完全か
つ正確な転送を検証することによって設計全体の統合を保証する。特定のIPコア設計を
有するすべてのサポートデータファイルを転送することによって、設計プラットフォーム
104は、種々の従来の検証および論理シミュレーションツールにおいてコンパイルおよ
び実行される、例えばANSI−Cにおける、ソースコードファイルを出力する。
【0054】
次にステップ504において、設計プラットフォーム104は、設計全体の統合および
接続性を検証する。ステップ504の目的は、個々のIPコアブロックそれぞれの種々の
I/Oポートのそれぞれが適正に設計全体において使用される他のIPコアブロックおよ
びバスに統合および接続されたことを保証することである。転送プロセス300の間にリ
アルアクション実施コード(例えば、VHDLまたはVerilogで書かれる)を伴う
I/Oピンデータ、レジスタマップデータなどのサポートデータがステップ504におい
て使用され、IPコアブロックの適正な統合および接続性を検証する。IPコア特定パラ
メータはユーザ102によって設計プラットフォーム104を介して構成され、かつ設計
プラットフォーム104によって生成されるネットリストに含まれる。上記のように、設
計プラットフォーム104は、全SoCネットリストに対するリアルアクション実施コー
ドを、例えば、Verilog、VHDL、または何か他のハードウェア言語で生成する
。ステップ506において、設計プラットフォーム104は、リアルアクション実施コー
ドネットリストを生成して、設計検証のために、例えば、ANSI−Cまたは任意の他の
アセンブリ言語でソースコードファイルを生成する。上記のように、生成されたネットリ
ストおよび検証ソースコードファイルは、コンパイルされ、そして種々の論理シミュレー
タによって利用され得る。論理シミュレータは、ステップ508において使用され、生成
されたネットリストによって表される設計全体のIPコアブロックの統合および接続性を
検証する。従来の方法は、種々の論理シミュレータによって利用するために、全体設計者
が1つのCコードまたは他のアセンブリ言語コードを書き、書かれたコードをコンパイル
することが必要である。本実施形態において、設計プラットフォームは、自動的に転送デ
ータファイルを利用して、統合および接続性検証のためのCコード(または他のアセンブ
リ言語コード)を生成する。
【0055】
一旦設計全体の統合および接続性が検証されると、設計プラットフォーム104は、ス
テップ510において全体設計機能検証を提供する。どのSoC設計においても、基本機
能要素は設計上に配置され、アドレスデコーダ、バスアービタ、バスブリッジなどの基本
タスクを行う。これらの基本コンポーネントの機能を検証する必要がある。設計プラット
フォーム104は、これらの基本要素の動作をシミュレートするための適正な検証ツール
を含む。
【0056】
検証プロセス500のいずれかの間にIPコアブロック設計においてエラーが発生する
場合、設計プラットフォーム104は、元のIPコアブロック設計者へのネットワーク(
例えば、インターネット230)を介するアクセスを提供して、IPコアブロック設計者
およびエラーのIPコアブロックを使用する任意の他の設計者に通知する。一旦元のIP
コアブロック設計者への訂正がなされると、設計プラットフォーム104は自動的に訂正
されたIPコア設計を、新しいSoC設計にIPコアを組み込んだすべてのユーザ102
に転送する。したがって、1つの実施形態は、IPコアブロック設計における欠陥を追跡
する手段を提供する。さらに、一旦IPコアブロックにおける欠陥が訂正されると、設計
プラットフォーム104はIPコアブロックのすべてのユーザへ訂正を伝達する手段を提
供する。
【0057】
一旦全体SoC設計ネットリストが生成されたら、設計プラットフォーム104は、各
フロントエンドユーザ102がネットリスト設計出力および種々の周知の合成、配置、お
よびルートツールを有する添付のソフトウェアを組み込んで最終設計を作製することを可
能にする。
【0058】
回路設計者および技術者を供給者およびデザインプロセスに有用な他のリソースに接続
するための種々の機能および大きな柔軟性を有する設計プラットフォーム104が記載さ
れたことが理解される。設計プラットフォーム104は、好ましくは、増加する数のユー
ザおよび供給者を収容し得るオープンインフラストラクチャを提供する。実際に、供給者
の数が増えるにつれ、システムの効率および利用性は増加すると考えられる。供給者の数
が増えるにつれ、さらに多くのサービスおよび商品が利用可能となり、かつシステムはよ
りよくユーザの包括的な要求を満たし得る。システムはまた、小規模の供給者の参加を容
易にする。なぜなら、ポータルサイトにリンクする前払いコストは、供給者がそれを行わ
ない場合にすべての販売およびマーケティング努力に費やすものよりもはるかに少なくあ
り得る。ユーザの観点からは、ユーザまたは他の短期ごとのより大きな数のEDAソフト
ウェアツールへのアクセスは大きく拡大され、そのようなツールをより手頃にし、かつそ
れらをより多くの数のエンドユーザに利用可能とする。
【0059】
1つの実施形態において、ポータルサイト204は、ポータルサイト204を介して提
示される異なるサービスとプロセスとの適切な接続を容易にする。例えば、ユーザは、ポ
ータルサイト204の機能を使用してIPコア供給者208からIPコアのライセンスを
取得し、ライセンスされたIPコアをより大きな設計に統合するために設計エキスパート
203(ポータルサイト204を介して位置づけられ、そして連絡される)からのエキス
パート協力を要求し、設計全体(ライセンスされたIPコアを含む)をポータルサイト2
04を介してEDAツール供給者210から得られたソフトウェアを使用してシミュレー
トし、そしてまたポータルサイト204を介して利用可能なコンピュータ会社205上で
シミュレーションを実行する。
【0060】
1つの実施形態が、インターネット230を介したオープンアクセスを有するポータル
サイト204によってサポートされる設計プラットフォーム104として図2〜5におい
て検討された。本発明の別の実施形態は、インターネット230を介した閉じたポータル
サイトを提供し得る。閉じたポータルサイトは選択されたグループのユーザ102および
供給者106のみによってアクセス可能である。このユーザ102および供給者106は
、1つのエンティティのワークステーション220のネットワークを有する、全体として
は、内部設計グループであり得、またはインターネット230を介して互いにリンクされ
る種々の外部のユーザ102および供給者106を含み得る。さらに、図6は、設計プラ
ットフォーム104がユーザワークステーション620のアプリケーションメモリコア6
26上にロードされる本発明の実施形態を例示する。ユーザワークステーション620が
2つだけ示されるが、明らかに複数のユーザワークステーション620がLANまたはイ
ンターネット/イントラネット630を介して接続され得る。各ワークステーション62
0は、他のワークステーション220のIPコア設計にインターネット230またはイン
トラネットを介してアクセスし得る。設計プラットフォーム104はJAVA(登録商標)で書かれているので、設計プラットフォームは任意のタイプのコンピュータワークステーション620上で動作し得る。各ユーザワークステーション620はまた、ユーザIPコア設計およびサポートファイルを格納する設計のカタログ635を含み得る。したがって、オープンポータルサイト104によってサポートされる設計プラットフォーム104の機能は、この種々の実施形態によって等しくサポートされる。ポータルサイトによってサポートされる回路設計プラットフォームの例は、例えば、2000年2月28日出願の米国特許出願第09/514,757号(代理人整理番号No.247/237)に開示される。米国特許出願第09/514,757号(代理人整理番号No.247/237)は本明細書中にて参考として援用される。
【0061】
さらに、上記本発明の種々の実施形態および機能は、グラフィカルユーザインタフェー
ス(GUI)を介してユーザに与えられ得る。図8a〜8dおよび図9は、回路設計プラ
ットフォームの種々の段階のGUI画面をとった例を例示する。例えば、図8aは、IP
コアを作成するか、またはSoc設計へインポートするための適切なIPコアをサーチす
るかのいずれかの場合に、ユーザに与えられるGUIを図示する。GUI画面800は、
キーボードまたはマウスのいずれかを介して選択され得る種々のアイコンおよびツールバ
ー805、810を含む。ツールバー810上に見いだされるアイコン805またはツー
ルの選択は、例えば、ユーザ102にウィンドウ815を提供する。ウィンドウ815は
、新たに作成されたIPコアを分類するのに役立ち得る種々の設計パラメータをユーザ1
02に提供するか、またはIPコアのサーチ中に所望のキー機能を提供するための手段を
ユーザ102に提供する。ステップ304において、ユーザ102は、設計プラットフォ
ームによってサポートされるサーチエンジンを使用して、種々のリモートに位置付けられ
るIPコアリソースを見つける。ウィンドウ815は、種々のIPコアから所望のキー設
計機能を選択する手段をユーザ102に提供する。一旦IPコアが作成されると、IPコ
アは種々のユーザワークステーションに接続されたデータベース225に格納される。一
旦IPコアが作成および格納されると、IPコアは、例えば、図8bに示されるようなG
UIページに表示される。図8bに示すように、画面800は、格納されたIPコアデー
タへの種々のリンクを表示し得る。図8bは、IPコア作成者がIPコア設計を公開する
ためのGUIページの例を例示する。SoC設計者/ユーザ102は、特定の設計基準を
満たすIPコアを求めてユーザワークステーションのネットワークをサーチし得る。次に
、ユーザ102は、図8bに示すIP公開ページ上で適切なリンクを選択し、コンポーネ
ントデータファイル転送を開始し得る。図8cに例示されたGUIページは、コンポーネ
ントデータファイル送信が完了した場合を決定するための手段をユーザ102に提供し得
る。ユーザ102は、図8cに示すような転送された種々のIPコアデータファイルをリ
ストするGUIページを提供される。図8cにおいて、ユーザ102は、種々のIPコン
ポーネントデータファイルフォルダ825を表すアイコンを提供される。各フォルダ82
5に格納されたデータの特定事項は、GUIウィンドウ830においてユーザ102に与
えられる。
【0062】
一旦すべてのIPコアデータファイルのインポートが完了すると、ユーザはSoC統合
および接続を介し得る。図8dは、どのIPコアがSoC設計全体を用いて配置されるか
をユーザ102に示すための可能なGUIの例を提供する。一旦IPコアがユーザ102
のSoC設計内に配置および統合されると、回路設計プラットフォームは、SoC設計全
体内に含まれるすべてのコンポーネントのネットリストを生成する。図9は、ネットリス
ト出力のGUI例を例示する。図9に示すように、画面800はアイコン805およびツ
ールバー810を含む。さらに、図9は、各IPコアの種々のコンポーネントデータファ
イルを表すフォルダアイコン825を図示する。各フォルダ825は、各IPコアコンポ
ーネントデータファイルをサポートするすべてのソースコードファイルのリスト830を
さらに表示するように選択され得る。ソースコードファイルの表示されたリスト830は
、パワー使用モデル、ピン図、検証ファイルなどのファイルを含み得る。加えて、これら
のソースコードファイルの各々の選択は、その後、実際のソースコードをユーザ102に
表示するように選択される。GUIを介するソースコードファイルの変更および編集は、
ユーザがIPコア設計を変更またはカスタマイズしてSoC設計パラメータを満足するこ
とを可能にし得る。
【0063】
図10は、ブロック図の形態で、本発明に含まれる種々の機能を例示する。システム1
000は、中心に、プラットフォームビルダ1001を含む。プラットフォームビルダ1
001は、種々の機能にリンクされ、その機能の任意の組み合わせは本発明の種々の実施
形態を含み得る。例えば、プラットフォームビルダ1001はデータベース1002にリ
ンクされる。データベース1002は、作成およびインポートされたIPコアコンポーネ
ントデータファイルの両方を含むフォルダ1003を格納する。データベース1002は
また、コンプライアンスチェッカ1004に接続され、新しいSoC設計がクライアント
または会社の設計基準に従うことを保証し得る。コンプライアンスチェッカ1004は、
IPクリエータパッケージ1005に接続され得、したがって各新しく作成されたIPコ
アはすべての会社の基準に従う。プラットフォームビルダ1001は、IPコアサーチエ
ンジン1006にさらに接続され得る。サーチエンジンは、プラットフォームビルダ10
01を使用するユーザ102がリモートソースによって作成されたIPコアを求めてサー
チすることを可能にし得る。IPコアサーチエンジン1006は、ユーザ102と第三者
ベンダ103との間の生じる簡単な技術移転またはライセンシングを提供する契約ビルダ
1007にさらにリンクされ得る。プラットフォームビルダ1001は、パワー/エリア
推定1008および/またはバグ報告通知システム1009のいずれかにさらに接続され
得る。さらに、プラットフォームビルダ1001は、プラットフォームビューア1010
に接続され得るか、またはVCC1011にリンクされ得る。さらに、プラットフォーム
ビルダ1001はまた、インタフェースコンプライアンスチェッカ1012およびテスト
生成器1013に接続され得る。インタフェースコンプライアンスチェッカ1012は、
ネットリスト生成器1014にさらに接続され、SoC設計全体上に存在するすべての要
素のソースコード出力を提供する。
【0064】
回路設計を容易にし、かつ設計ツールおよびサービスをユーザに商業ベースで提供する
ための方法が、その方法に付随する利点のいくつかとともに開示された。しかし、種々の
変更が、本システムおよび/またはプロセスステップの形態、内容および構成において、
本発明の精神および範囲を逸脱せずになされ得、本明細書中に上記記載の本システムおよ
び方法は単にその好適または例示の実施形態であることが明らかである。したがって、本
発明は、添付の請求項およびその法的な均等物に従う以外は限定または制限されない。

【特許請求の範囲】
【請求項1】
本明細書に記載の回路設計プラットフォーム。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−104645(P2009−104645A)
【公開日】平成21年5月14日(2009.5.14)
【国際特許分類】
【出願番号】特願2009−22053(P2009−22053)
【出願日】平成21年2月2日(2009.2.2)
【分割の表示】特願2003−509259(P2003−509259)の分割
【原出願日】平成14年6月6日(2002.6.6)
【出願人】(502319730)ケイデンス デザイン システムズ,インコーポレイテッド (2)
【Fターム(参考)】