JP2003500716A - エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置 - Google Patents

エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置

Info

Publication number
JP2003500716A
JP2003500716A JP2000620177A JP2000620177A JP2003500716A JP 2003500716 A JP2003500716 A JP 2003500716A JP 2000620177 A JP2000620177 A JP 2000620177A JP 2000620177 A JP2000620177 A JP 2000620177A JP 2003500716 A JP2003500716 A JP 2003500716A
Authority
JP
Japan
Prior art keywords
emulation
circuit design
logic
circuit
netlist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000620177A
Other languages
English (en)
Other versions
JP3355184B1 (ja
Inventor
レブルスキィ,フレデリック
Original Assignee
メンター・グラフィクス・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23604652&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2003500716(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by メンター・グラフィクス・コーポレーション filed Critical メンター・グラフィクス・コーポレーション
Application granted granted Critical
Publication of JP3355184B1 publication Critical patent/JP3355184B1/ja
Publication of JP2003500716A publication Critical patent/JP2003500716A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

Abstract

(57)【要約】 複数の回路設計を同時にエミュレートすることができるように構成されたエミュレーションシステムである。このエミュレーションシステムは、回路設計をエミュレートするための再コンフィグレーション可能なエミュレーションリソースを有するエミュレータと、再コンフィグレーション可能なエミュレーションリソースを複数の回路設計を同時にエミュレートすることができるよう調整された仕方でコンフィギュレーション(コンフィグレーション)することができるようにするために、それら複数の回路設計に関する調整されたコンフィギュレーション情報を生成するよう動作するプログラミング命令でプログラムされるホストシステムとを具有したものである。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は、回路設計エミュレーションの技術分野に関するものである。より詳
しくは、本発明はエミュレーションシステムの利用効率を改善するための技術に
関する。
【0002】 (背景技術) 集積回路技術の進歩に伴って、非常に複雑な集積回路を設計し、そのデバッグ
作業を行う回路設計技術者を支援する種々のツールが開発されてきた。特に、回
路設計技術者が自己の設計をいちはやく「実現」して、回路の動作をエミュレー
トできるようにするために、再コンフィグレーション可能(コンフィグレーショ
ン変更可能)な論理回路チップ、再コンフィグレーション可能な相互接続等のよ
うな再コンフィグレーション可能なエミュレーションリソースを具有するエミュ
レーションシステムが開発されている。
【0003】 当技術分野で知られているエミュレーションシステムは全て、一時に1つの回
路設計をエミュレートすることができるだけの備えしかないという点で少なくと
も1つの共通した短所がある。必ずしも全ての回路設計がそれらをエミュレート
するのに全エミュレーションシステムの全てのエミュレーションリソースを必要
とするわけではないため、従来技術のエミュレーションシステムは、利用可能な
エミュレーションリソースの利用を容易にするという点において非効率的である
。この非効率性は、かってないほど複雑に集積された回路が設計されるようにな
り、それをエミュレーションするために、新しいエミュレーションシステムにま
すます多数のエミュレーションリソースが詰め込まれるにつれて、この数年増大
している。残念ながら、この望ましくない非効率性の増大傾向は近い将来少しも
弱まるようには見えない。従って、エミュレーションシステムのエミュレーショ
ンリソースを利用する、より効率的な技術の開発が望まれる情況にある。
【0004】 (発明の開示) 本発明は、複数の回路設計を同時にエミュレートすることができるよう構成さ
れたエミュレーションシステムにある。本発明のエミュレーションシステムは、
回路設計をエミュレートするための再コンフィグレーション可能なエミュレーシ
ョンリソースを有するエミュレータと、再コンフィグレーション可能なエミュレ
ーションリソースを複数の回路設計を同時にエミュレートすることができるよう
調整された仕方でコンフィギュレーションすることができるようにするために、
それら複数の回路設計に関する調整されたコンフィギュレーション情報を生成す
るよう動作するプログラミング命令でプログラムされるホストシステムとを具有
したものである。
【0005】 以下、本発明を添付図面に示す実施形態により詳細に説明するが、これらの実
施形態は限定的な意味を有するものではない。図中、同じ参照符号は同じもしく
は同様の構成要素を指示する。
【0006】
【発明を実施するための最良の形態】
以下の説明においては、本発明の種々の態様を説明する。しかしながら、本発
明はその一部の態様だけでもあるいはその全ての態様によってでも実施すること
が可能なことは当業者にとって明白であろう。本発明の完全な理解を期すために
、例示説明を目的として特定の数、原料・材料及びコンフィギュレーション(環
境設定、構成設定)が記載される。しかしながら、本発明がこれら特定の詳細事
項なしでも実施可能であることは当業者とってやはり明白であろう。その他の場
合で、周知の特徴については本発明が不明瞭になるのを避けるため、説明を省く
かあるいは簡略化する。
【0007】 説明の一部は、当業者が自己の仕事や業務の内容を他の当業者に伝えるために
一般的に使用する形態と整合性のあるデータ、フラグ、ビット、値、文字、スト
リング(文字列)、数等のような用語を用いて、コンピュータシステムにより行
われる動作の形で記載する。やはり当業者ならば理解できるように、これらの用
語に関連する量は、コンピュータシステムの機械的・電機的構成要素によって記
憶(保存)、転送、結合、さらには他の形で処理することができる電気信号、磁
気信号、または光信号の形を取る。本願でコンピュータシステムという用語の意
味は、スタンドアローン型、補助用あるいは組込み型の汎用並びに特殊用途デー
タ処理機械、システム等を包含するものとする。
【0008】 種々の動作は、本発明を理解する上において最も役立つ仕方で多数のそれぞれ
別個のステップとして順次説明することになるが、その説明順序はこれらの動作
が必然的にこれらの説明順序に依存することを暗に意味するものと解釈するべき
ではない。特に、これらの動作は必ずしも説明の記載順序に行われる必要はない
【0009】 図1には、本発明の開示技術が組み込まれた一例のエミュレーションシステム
を図解したブロック図が描かれている。図示のように、エミュレーションシステ
ム10はホストシステム12とエミュレータ14を具有する。より具体的には、
ホストシステム12は本発明の開示技術が組み込まれた回路設計マッピングソフ
トウェア22を具有し、他方エミュレータ14はコンフィギュレーション・ユニ
ット18、ホストインタフェース20、及びエミュレーションアレイ及び相互接
続16という名称で示されているエミュレーションリソースを具有する。これら
のエミュレータの構成要素は図示のように互いに接続されている。本発明によれ
ば、回路設計マッピングソフトウェア22は、その特徴的長所として、複数の回
路設計を同時にエミュレートすることができるように調整された形でエミュレー
タ14のエミュレーションリソース16をコンフィグレーションするためにそれ
ら複数の回路設計に関する調整されたコンフィギュレーション情報を生成し、こ
れによってエミュレーションシステム10の利用効率を従来技術のエミュレーシ
ョンシステムに対して改善するものである。
【0010】 次に、図3〜11を参照して、回路設計マッピングソフトウェア22の種々の
実施形態を詳細に説明する。回路設計マッピングソフトウェア22を除いて、ホ
ストシステム12は、従来のエミュレーションシステムに見られる広範なカテゴ
リーのホストシステムを表すことを意図したものである。従って、マッピングソ
フトウェアについて22を除き、ホストシステム12についてはこれ以上別途に
は説明しない。
【0011】 同様に、本発明の新規な回路設計マッピングソフトウェア22の結果としてエ
ミュレータ14がより効率的に使用されるようになったその方法を除いて、エミ
ュレータ14は、当技術分野で知られている広範なカテゴリーのエミュレータ、
並び本願発明と発明者を同じくする米国特許出願第<SimExpress(シ
ムエクスプレス)、プロメテウス(Prometheus)及びサード・ジェン
(Third Gen)の出願番号を入れる>号を含む本願と同時係属になる種
々の米国特許出願に開示された新しいエミュレータを表すことを意図したもので
ある。換言すれば、コンフィギュレーション・ユニット18及びホストインタフ
ェース20は従来の機能を果たし、また従来同様に構成されている。エミュレー
ションリソースあるいはエミュレーションアレイ及び相互接続16についても、
従来の機能を果たし、かつ再コンフィグレーション可能な相互接続108によっ
て相互に接続された再コンフィグレーション可能な論理回路チップ102、I/
Oリソース(入出力リソース)104及びサービスリソース106を用いて構成
されている(図2参照)。これらの要素102〜108は、多くのアーキテクチ
ャの中の任意の1つアーキテクチャで相互に接続することができ、また多くのフ
ォームファクタ(形状係数)の中の任意の1つのフォームファクタで実装するこ
とが可能であり、例えば再コンフィグレーション可能な論理回路チップ102は
いくつかの論理回路基板に分散実装した上で、さらにいくつかのクレート(cr
ate)に分散実装する等の実装形態が可能である。再コンフィグレーション可
能な論理回路チップ102自体は、例えばキシリンクス(Xilinx)のFP
GAのような汎用のフィールド・プログラム可能なゲートアレイ(FPGA)で
あってよく、あるいは米国特許出願第08/xxx,xxx号に開示されている
ような統合エミュレーションデバッグ機構を有する特殊用途用の再コンフィグレ
ーション可能なエミュレーション論理回路チップでもよい。同様に、再コンフィ
グレーション可能な相互接続108は、汎用もしくは特殊用途用相互接続チップ
を用いることができる。さらに、エミュレーションシステム10で利用可能な種
々のエミュレーションリソースは、全体的に対称的にでも、あるいは非対称的に
でも相互接続することが可能である(例えばクレートレベルでは対称状、クレー
ト内では非対称状の部分対称状相互接続の場合を含む)。これらのエミュレーシ
ョンリソース間の信号は、従来技術の大半のエミュレーションシステムにおける
ように非多重化方式でルーティング(経路設定)することもできれば、<引用文
献名を入れる>に開示されているように全体的ないしは大域的に多重化すること
も、あるいは米国特許出願第08/xxx,xxx号に開示されているように局
部的ないしは小域的に多重化することも可能である。
【0012】 図1に戻って、図示実施形態の場合、回路設計マッピングソフトウェア22は
ホストシステム12のディスク(図示省略)のような適切な記憶媒体にプレイン
ストールされて保存され、動作時にホストシステム12のプロセッサ(図示省略
)による実行のためホストシステム12のメモリ(図示省略)にロードされる。
別の実施形態においては、回路設計マッピングソフトウェア22はCDのような
当技術分野で周知の多くの配布媒体の中の任意の媒体、あるいはサーバを通して
の遠隔配布を利用して配布し、そしてカスタマのサイトのホストシステム12に
ロードすることができる。さらに、別の実施形態では、回路設計マッピングソフ
トウェア22は全部あるいは一部をハードウェアの形で実装することも可能であ
る。
【0013】 次に、図3には回路設計マッピングソフトウェア22の一実施形態を図解した
ブロック図が描かれている。図示実施形態の場合、回路設計マッピングソフトウ
ェア22aは、設計リーダ130、基本要素コンバータ132、パーティショナ
ー134、ネットリスト及び相互接続ジェネレータ136、論理及び相互接続要
素コンフィギュレーション・ジェネレータ138、エミュレーションリソース利
用度/利用可能度データベース137及びエミュレーションリソース利用度/利
用可能度リポートジェネレータ139を具有する。この場合、ネットリスト及び
相互接続ジェネレータ136、エミュレーションリソース利用度/利用可能度デ
ータベース137及びエミュレーションリソース利用度/利用可能度リポートジ
ェネレータ139を除き、設計リーダ130、基本要素コンバータ132、パー
ティショナー134及び論理及び相互接続要素コンフィギュレーション・ジェネ
レータ138は当技術分野において周知の広範なカテゴリーにおけるこれらの要
素を表すことを意図したものである。このネットリスト及び相互接続ジェネレー
タ136の場合、同時にエミュレートされる他の回路設計必要とするエミュレー
ションリソースを考慮に入れる機能を果たすということ以外、ネットリスト及び
相互接続ジェネレータ136はやはり当技術分野において周知の広範なカテゴリ
ーのこの種のジェネレータを表すことを意図したものである。別の実施形態にお
いては、ネットリスト及び相互接続ジェネレータ136は、同時にエミュレート
される他の回路設計のエミュレーション用に割り当てられていない残余のエミュ
レーションリソースを考慮してその機能を実施する。図示実施形態の場合、ネッ
トリスト及び相互接続ジェネレータ136は、同時にエミュレートされる他の回
路設計のエミュレーション用に割り当てられたエミュレーションリソース、ある
いは同時にエミュレートされる他の回路設計のエミュレーション用に割り当てら
れていない残余のエミュレーションリソースの状況をエミュレーションリソース
利用度/利用可能度データベース137で常時把握し続ける。マッピングソフト
ウェア22aは、上記の他、エミュレーションシステム10のユーザのためにエ
ミュレーションリソース利用度/利用可能度リポート154を生成するためのエ
ミュレーションリソース利用度/利用可能度リポートジェネレータ139を具有
する。
【0014】 換言すれば、従来技術のエミュレーションシステムにおけるように、設計リー
ダ130が形式的に表された回路設計120を処理するために用いられるのに対
して、基本要素コンバータ132は回路設計120で記述された種々の回路基本
要素を変換するために使用される。同様に、パーティショナー134は変換され
た回路設計をエミュレータ14の種々のエミュレーションリソースにマップする
ために区切るのに用いられ、ネットリスト及び相互接続ジェネレータ136は回
路設計を「実現」するためにエミュレータ14のエミュレーションリソースの論
理及び相互接続ネットリスト150を生成するのに用いられる。本発明によれば
、同時にエミュレートされる各々の回路設計の組を除いて、ネットリスト及び相
互接続ジェネレータ136は、同時にエミュレートされる他の回路設計のエミュ
レーション用に割り当てられたエミュレーションリソースか、あるいは同時にエ
ミュレートされる他の回路設計のエミュレーション用に割り当てられていない残
余のエミュレーションリソースの状況をエミュレーションリソース利用度/利用
可能度データベース137で常に把握し続ける。図示実施形態の場合、同時にエ
ミュレートされるいくつかの異なる回路設計のエミュレーションセットへの回路
設計の組分けはユーザ制御によって行われる。しかしながら、他の実施形態にお
いては、回路設計のエミュレーションセットの帰属情報をマッピングソフトウェ
ア22aに供給すると共に、ネットリスト及び相互接続ジェネレータ136を、
さらに、エミュレーションセット毎にエミュレーションリソース利用度/利用可
能度情報を常に把握し続けることができるように構成することも可能である。論
理及び相互接続要素コンフィギュレーション・ジェネレータ138は、回路設計
の論理及び相互接続ネットリストに150に入っている再コンフィグレーション
可能なエミュレーションリソースに関するコンフィギュレーション情報を生成す
るというその従来の機能を果たす。
【0015】 次に、図4にはエミュレーションリソース利用度/利用可能度データベース1
37の一実施形態が描かれている。図示実施形態においては、エミュレーション
リソース利用度/利用可能度データベース137はいくつかのテーブル137a
〜137dよりなる。これらの各テーブル137a、...、あるいは137d
は1つのエミュレーションリソース・タイプ、例えば論理回路チップ、I/Oリ
ソース等のトラック利用度/利用可能度情報を常に把握し続けるために使用され
る。各エミュレーションリソース・タイプについて、それぞれ対応するテーブル
には、リソース識別情報(Res ID)、リソース位置(Res Loc)、
リソース状態(Res Status)すなわち使用中かあるいは利用可能かの
情報のような情報を含めてそのリソース・タイプの各リソース要素のリソースレ
コードが記入される。別の実施形態では、他のデータ構造を用いることも可能で
ある。
【0016】 図3に戻って、エミュレーションリソース利用度/利用可能度リポートジェネ
レータ139は、エミュレーションシステム10のユーザのためにエミュレーシ
ョンリソース利用度/利用可能度リポート154を生成し、ユーザが種々のエミ
ュレーションセットが効率的にエミュレータ14のエミュレーションリソースを
利用しているかどうかを判断し、必要ならば、種々の同時エミュレーションセッ
トを編成し直すことができるようにする。リポートジェネレータ139は多くの
周知の技術的方法の中の任意の方法で実装することができ、エミュレーションリ
ソース利用度/利用可能度リポート154も多くのフォーマットの中の任意のフ
ォーマットで生成することが可能であり、できればユーザフレンドリなフォーマ
ットで生成することが望ましい。
【0017】 次に、図5には本発明の方法ステップの一実施形態(図3のマッピングソフト
ウェア22aの実施形態と共に使用される)を図解したフローチャートが描かれ
ている。図示のように、まずステップ202で、同時にエミュレートされる他の
回路設計のエミュレーション用に割り当てられたエミュレーションリソースか、
あるいは同時にエミュレートされる他の回路設計のエミュレーション用に割り当
てられていない残余のエミュレーションリソースのいずれかに基づいて回路設計
がコンパイルされる。コンパイルが首尾よく行われたならば(ステップ204)
、エミュレーションリソース利用度/利用可能度データベースに保持されている
エミュレーションリソース利用度/利用可能度の情報がエミュレーションリソー
スのインクリメント的に割当てを反映するよう更新される(ステップ206)。
【0018】 コンパイルされる回路設計、すなわち同時にエミュレートされる回路設計がさ
らに他にある場合は、ステップ202〜206が繰り返される(ステップ208
)。図示実施形態の場合、ステップ202〜206の反復はさらに残余エミュレ
ーションリソース量に基づいて行われる(ステップの210)。次のコンパイル
作業をするに足るだけの十分なエミュレーションリソースが残っているどうかを
判断するためには、例えば使われていない論理回路チップの数等々、多くの判断
基準の中の任意の基準を用いることができ、その判断基準におけるスレッショル
ド値は回路設計の複雑さによって経験的に設定することが可能である。
【0019】 いずれにしても、同時にエミュレートされる種々の回路設計の調整されたコン
パイルが「終了」したならば(言い換えると、所望の全てのコンパイルが実際に
終了するか、あるいは全てのエミュレーションリソースが使い尽くされた結果コ
ンパイルが事実上終了すると)、エミュレータ14のエミュレーションリソース
は上記調整された仕方で生成されたコンフィギュレーション情報を用いて調整さ
れた仕方でコンフィグレーションされる(ステップ212)。このように調整さ
れた仕方でコンフィグレーションがなされたならば、種々の回路設計を同時にエ
ミュレートすることができる(ステップ214)。(ここで、回路設計を同時に
エミュレートできるということは、回路設計を同時にエミュレートしなければな
らないことを意味するものではない)。ステップ214は、回路設計のエミュレ
ーションが「終了」するまで続けられる(ステップ216)。本願に関しては、
上記の「終了」は異なる回路設計のエミュレーションセットを同時にエミュレー
トしようとする場合にも起こり得る。「新しい」セットは「古い」セットに入っ
ていた回路設計を含む場合もある。従って、図3のマッピングソフトウェア22
aを具有するエミュレーションシステム10によれば、従来技術のエミュレーシ
ョンシステムと比較してエミュレーションリソースの利用効率が改善される。
【0020】 次に、図6には回路設計マッピングソフトウェア22のもう一つの実施形態を
図解したブロック図が描かれている。図示実施形態においては、回路設計マッピ
ングソフトウェア22bは回路設計マッピングソフトウェア22aと同様の構成
を有する。ただし、回路設計マッピングソフトウェア22bは、エミュレーショ
ンリソース利用度/利用可能度データベース137及びエミュレーションリソー
ス利用度/利用可能度リポートジェネレータ139の代わりに、複合論理及び相
互接続ネットリストジェネレータ141を具有する。また、ネットリスト及び相
互接続ジェネレータ136は従来同様のその機能を果たす(すなわち同時にエミ
ュレートされる他の回路設計によって使用されるエミュレーションリソースを考
慮することなく)。より詳しく言うと、複合論理及び相互接続ネットリストジェ
ネレータ141は、独立に生成された多数の論理及び相互接続ネットリスト15
0のための複合論理及び相互接続ネットリスト154を生成するために使用され
る。
【0021】 言い換えると、前に説明したように、従来技術のエミュレーションシステム同
様、設計リーダ130は形式的に表された回路設計120を処理するために使用
されるのに対して、基本要素コンバータ132は、回路設計120で記述された
種々の回路基本要素を変換するために使用される。一方、パーティショナー13
4は変換された回路設計をエミュレータ14の種々のエミュレーションリソース
にマップするために区切るのに使用される。しかしながら、ネットリスト及び相
互接続ジェネレータ136は、同時にエミュレートされる回路設計間の調整なし
で、回路設計を「実現」するためエミュレータ14のエミュレーションリソース
の論理及び相互接続ネットリスト150を互いに独立に生成するために使用され
る。
【0022】 種々の回路設計用の論理及び相互接続ネットリスト150が互いに独立に生成
されたならば、同時にエミュレートされるそれらの回路設計の論理及び相互接続
ネットリスト150は複合論理及び相互接続ネットリストジェネレータ141に
供給され、これに応答して、論理及び相互接続ネットリスト150は同時にエミ
ュレートすることができる回路設計用の複合論理及び相互接続ネットリスト15
4を生成する。この複合論理及び相互接続ネットリスト154は、次いで、従来
の論理及び相互接続要素コンフィギュレーション・ジェネレータ138に与え、
それらの回路設計を同時にエミュレートするためにエミュレータ14のエミュレ
ーションリソースを調整された仕方でコンフィグレーションする調整されたコン
フィギュレーション情報156を生成する。
【0023】 次に、図7には複合論理及び相互接続ネットリストジェネレータ141の動作
の流れの一実施形態が示されている。図示のように、ステップ222で、他の回
路設計と同時にエミュレートされる回路設計の論理及び相互接続ネットリストか
らリソースステートメントが読み取られる。ステップ224では、指定されたリ
ソースが利用可能であるか否かの判断が行われる。指定されたリソースが利用可
能ならば、複合論理及び相互接続ネットリスト141はそれらのリソースの利用
状態または残余利用可能性の状況を常に把握し続け、他に処理すべきリソースス
テートメントがあるかどうかを判断するステップに進む(ステップ236)。こ
こで、エミュレータ14のエミュレーションリソースが対称的に編成されている
場合は、リソース間の移行プロセスは単なる「仮想−物理」形のマッピングプロ
セスでしかない。これに対して、エミュレータ14のエミュレーションリソース
が非対称的に編成されている場合は、多くのインクリメンタルサーチ技術の中の
任意の技術を用いることが可能である。リソース利用状態あるいはリソースの残
余利用可能性を把握し続ける動作は、前に説明したのと同様の方法で達成するこ
とができる。ステップ222〜230は、論理及び相互接続ネットリストの全て
のリソースステートメントが処理されるか、あるいは利用できない必要リソース
から次に移行しようとする際、ステップ228でその不首尾に到るまで繰り返さ
れる。
【0024】 上記の前者の場合は、複合論理及び相互接続ネットリストジェネレータ141
はステップ236から直接ステップ238へ進む。後者の場合は、複合論理及び
相互接続ネットリストジェネレータ141はステップ232及び234を行って
からステップ238へ進む。ステップ232で、複合論理及び相互接続ネットリ
ストジェネレータ141は当該回路設計に他の回路設計との同時エミュレーショ
ンに不適であるというマークを付ける。次に、ステップ234では、複合論理及
び相互接続ネットリスト141は、保持しているリソース利用度/利用可能度情
報を更新する。すなわち、前にその不適切な回路設計に割り当てられた全てのリ
ソースについて割当を解除する。
【0025】 いずれにしても、ステップ238で、複合論理及び相互接続ネットリストジェ
ネレータ141は他に処理するべき論理及び相互接続ネットリストがあるかどう
かを判断する。ここで、ある回路設計に対応できなかったということは、検討し
ようとする他の回路設計は衝突しているリソース要求がより小さいかもしれない
ので、同時にエミュレートされる回路設計のエミュレーションセットにそれ以上
他の回路設計入れることはできないということを意味するものではない。他に処
理すべき論理及び相互接続ネットリストがある場合は、複合論理及び相互接続ネ
ットリストジェネレータ141は前に説明したようにステップ222の動作を続
け、他に処理すべき論理及び相互接続ネットリストがなければ、同時にエミュレ
ートするのに適した回路設計用の複合論理及び相互接続ネットリストを出力する
(ステップ240)。
【0026】 次に、図8には、本発明の方法ステップの一実施形態(図6のマッピングソフ
トウェア22bの実施形態共に使用される)を図解したフローチャートが描かれ
ている。図示のように、まずステップ242では、回路設計が互いに独立にコン
パイルされて、調整なしでエミュレータ14のエミュレーションリソースの対応
する論理及び相互接続ネットリストが生成される。ステップ244では、同時に
エミュレートされる回路設計についてのユーザ選択が複合論理及び相互接続ネッ
トリストジェネレータ141に供給される。これに応答して、ステップ246で
は、複合論理及び相互接続ネットリストジェネレータ141が、前に説明したよ
うに、選択された回路設計の中の同時エミュレーションに適した回路設計用の複
合論理及び相互接続ネットリストを生成する。
【0027】 これが生成されると、上に説明した調整された仕方で生成されたコンフィギュ
レーション情報を用いてエミュレータ14のエミュレーションリソースが調整さ
れた仕方でコンフィグレーションされる(ステップ248)。このように調整さ
れた仕方でコンフィグレーションされたならば、種々の回路設計は同時にエミュ
レートすることが可能になる(ステップ250)。(ここでも、同時にエミュレ
ートするのに適した回路設計であっても、それらの回路設計が同時にエミュレー
トされなければならないということを意味するものではない。)ステップ250
は、全ての回路設計のエミュレーションが「終了」するまで続けられる(ステッ
プ252)。(やはり、この「終了」はユーザが別の回路設計のエミュレーショ
ンセットをエミュレートするようにエミュレーションシステムをコンフィギュレ
ーション変更したい場合にも起こり得る。)従って、図6のマッピングソフトウ
ェア22bを具有するエミュレーションシステム10も従来技術のエミュレーシ
ョンシステムと比較して改善された利用効率が得られる。
【0028】 次に、図9には回路設計マッピングソフトウェア22のもう一つの実施形態を
図解したブロック図が描かれている。図示実施形態の場合、回路設計マッピング
ソフトウェア22cは回路設計マッピングソフトウェア22bと同様に構成され
ている。ただし、回路設計マッピングソフトウェア22cは、複合論理及び相互
接続ネットリストジェネレータ141の代わりに、エミュレーションリソース・
マネージャ140及び同時にエミュレートされる回路設計のキュー(「共用キュ
ー」とも称する)142を具有する。より詳しく言うと、エミュレーションリソ
ース・マネージャ140はエミュレータ14のエミュレーションリソースのイン
クリメント的にコンフィギュレーションを動的に管理するために使用されるのに
対して、同時にエミュレートされる回路設計のキュー142は同時にエミュレー
トされる回路設計のユーザ選択及び選択解除の情報をエミュレーションリソース
・マネージャ140に供給するために使用される。ここで、他の実施形態では、
キュー142に代えて、同時エミュレーションのための回路設計のユーザ選択及
び選択解除の情報を伝えるために他の適切なデータ構造を使用することも可能で
ある。
【0029】 言い換えると、第2の実施形態に関して前に説明したように、従来技術のエミ
ュレーションシステム同様、設計リーダ130は形式的に表された回路設計12
0を処理するために使用されるのに対して、基本要素コンバータ132は回路設
計120で記述された種々の回路基本要素を変換するために使用される。同様に
、パーティショナー134は変換された回路設計をエミュレータ14の種々のエ
ミュレーションリソースにマップするために区切るのに使用され、ネットリスト
及び相互接続ジェネレータ136は、同時にエミュレートされる回路設計間の調
整なしに回路設計を「実現」するようエミュレータ14のエミュレーションリソ
ースの論理及び相互接続ネットリスト150を独立に生成するために使用される
。ただし、上記第2の実施形態と異なり、同時にエミュレートされる回路設計の
独立した論理及び相互接続ネットリスト150は、エミュレーションが始まる前
にその全部が生成される必要はない。換言すると、回路設計の論理及び相互接続
ネットリスト150は時間的にも互いに独立に生成することが可能である。
【0030】 ある回路設計用の論理及び相互接続ネットリスト150が生成されたならば、
ユーザは同時エミュレーションするための回路設計を選択し、その選択を同時に
エミュレートされる回路設計のキュー142を介してエミュレーションリソース
・マネージャ140に知らせることも可能である。これに応答して、エミュレー
ションリソース・マネージャ140はその回路設計の論理及び相互接続ネットリ
スト150を処理して「共用調整済みの」論理及び相互接続ネットリスト158
を生成し、必要に応じて所要のエミュレーションリソースを調整するか、あるい
は他に移行する。さらに、エミュレーションリソース・マネージャ140は割り
当てられた累積エミュレーションリソースを更新し、その状況を絶えず把握し続
ける。このリソース調整または移行プロセスは前に説明した複合論理及び相互接
続要素ネットリストジェネレータ141によって用いられる移行プロセスと同様
であり、リソース利用度あるいは残余のリソース利用可能性の状態を絶えず把握
し続ける動作は前に説明した方法と同様にして行うことができる。
【0031】 この回路設計の「共用調整済みの」論理及び相互接続ネットリスト158は次
に論理及び相互接続要素コンフィギュレーション・ジェネレータ138に供給さ
れる。これに応答して、論理及び相互接続要素コンフィギュレーション・ジェネ
レータ138は、エミュレータ14が既にそれに対してコンフィグレーションさ
れた回路設計について対応して、回路設計を同時にエミュレートするよう調整さ
れた仕方でエミュレータ14のエミュレーションリソースをコンフィグレーショ
ンするために「共用調整済みの」コンフィギュレーション情報160を生成する
。一実施形態においては、新しい「共用」回路設計のコンフィギュレーションが
行われるとき、前にコンフィグレーションされた回路設計のエミュレーションは
一時停止される。他の実施形態では、エミュレータ14のエミュレーションリソ
ースでダイナミック・コンフィギュレーションが可能な場合、新しい「共用」回
路設計のコンフィギュレーションは前にコンフィグレーションされた回路設計の
エミュレーションを停止することなく行われる。
【0032】 次に、図10にはエミュレーションリソース・マネージャ140の動作の流れ
の一実施形態が示されている。図示のように、まずステップ262で、エミュレ
ーションリソース・マネージャ140は、コンフィグレーション済みの回路設計
がある場合に、それらに加えてもう一つの回路設計をエミュレートするのにエミ
ュレーションリソースがインクリメント的にコンフィギュレーションを行うこと
ができるかどうかを考慮するに足る十分なリソースが利用できるか否かを判断す
る。前に説明したように、この判断を行うには多くの中の任意の判断基準及びス
レッショルドを用いることができる。もう一つの回路設計を考慮に入れるのにリ
ソースが不十分な場合は、エミュレーションリソース・マネージャ140はステ
ップ272に進んで、ユーザがコンフィグレーション済みの回路設計のエミュレ
ーションを終了し、同時にエミュレートされる回路設計の中におけるそのコンフ
ィグレーション済みの回路設計の選択解除を表示したかどうかを確認する。この
選択解除が検知されると、エミュレーションリソース・マネージャ140は、維
持しているリソース利用度/利用可能度情報を更新し、選択解除された回路設計
に割り当てられたエミュレーションリソースの割当を解除する(ステップ274
)。どちらの場合も、すなわち選択解除が検出されなかった場合も、あるいは割
り当て解除が終了した場合も、エミュレーションリソース・マネージャ140は
ステップ262に戻る。
【0033】 他方、ステップ262でもう一つの回路設計を考察するのにリソースが利用可
能であると判断された場合は、エミュレーションリソース・マネージャ140は
ステップ264に進んで、コンフィギュレーション待ちのユーザ選択された回路
設計があるかどうかを判断する。コンフィギュレーション待ちの回路設計がない
場合は、エミュレーションリソース・マネージャ140はステップ262に戻り
、コンフィギュレーション待ちの回路設計があれば、エミュレーションリソース
・マネージャ140はステップ266に進む。
【0034】 ステップ266で、エミュレーションリソース・マネージャ140は、前に説
明したように、選択された回路設計用の「共用調整済みの」論理及び相互接続ネ
ットリストを生成する。次に、エミュレーションリソース・マネージャ140は
、前に説明したように、「共用調整済みの」論理及び相互接続コンフィギュレー
ション情報を生成させる(ステップ268)。その後、エミュレーションリソー
ス・マネージャ140は、選択された回路設計に対してエミュレータ14のエミ
ュレーションリソースをインクリメント的にコンフィグレーションさせ、これに
よってそのリソース利用を前にコンフィグレーションされた回路設計と調整して
、それらの回路設計を同時にエミュレートできるようにする。選択された回路設
計に対してエミュレーションリソースがインクリメント的にコンフィグレーショ
ンされたならば、エミュレーションリソース・マネージャ140は再度ステップ
262に戻る。
【0035】 次に、図11には、本発明の方法ステップの一実施形態(図9のマッピングソ
フトウェア22cの実施形態と共に使用される)を図解したフローチャートが描
かれている。図示のように、まずステップ282で、回路設計は互いに独立にコ
ンパイルされて、同時にエミュレートされる他の回路設計との調整なしでエミュ
レータ14のエミュレーションリソースの対応する論理及び相互接続ネットリス
トが生成される。ステップ284では、ユーザが他のコンフィグレーションされ
た回路設計を同時にエミュレートされる回路設計の選択を示す情報をエミュレー
ションリソース・マネージャ140に供給する。これに応答して、ステップ28
6で、エミュレーションリソース・マネージャ140は、前に説明したように、
エミュレータ14のコンフィグレーションされたエミュレーションリソースをイ
ンクリメント的にコンフィグレーションしようと試みる。
【0036】 そのインクリメント的にコンフィギュレーションが首尾よく行われれば、回路
設計は前にコンフィグレーションされた他の回路設計と同時にエミュレートする
ことができる(ステップ290)。ステップ290は、回路設計のエミュレーシ
ョンが終了するまで続けられる(ステップ292)。回路設計のエミュレーショ
ンが終了した時点で、ユーザは同時エミュレーションするための回路設計の選択
解除の指示情報をエミュレーションリソース・マネージャ140に供給する。従
って、図6のマッピングソフトウェア22cを有するエミュレーションシステム
10も従来技術のエミュレーションシステムと比較してエミュレーションリソー
スの利用効率が改善される。
【0037】 発明を理解し易くするために、本発明は上記の図示実施形態によって詳細に説
明したが、当業者にとっては本発明が以上説明した実施形態に限定されるもので
はないことは理解されよう。本発明は、特許請求の範囲に記載する発明の精神並
びに範囲内で修正態様及び変更態様を実施することができる。従って、本願の説
明は本発明を限定する意味ではなく、例示説明を目的とした意味に解釈されるべ
きものである。
【0038】 以上、本願では、エミュレーションシステムにおける複数の回路設計の同時エ
ミュレーションのための方法及び装置について説明した。
【図面の簡単な説明】
【図1】 本発明の開示技術により実装されるエミュレーションシステム一実施形態を示
すブロック図である。
【図2】 エミュレーションリソースをより詳細に示すブロック図である。
【図3】 図1の回路設計マッピングソフトウェアの一実施形態を示すブロック図である
【図4】 エミュレーションリソースの利用状態を常に把握し続けるためのテーブルの集
群の一実施形態を示すブロック図である。
【図5】 本発明の方法ステップの一実施形態を示すフローチャートである。
【図6】 図1の回路設計マッピングソフトウェアのもう一つの実施形態を示すブロック
図である。
【図7】 図6の複合論理及び相互接続ネットリストの動作の流れの一実施形態を示すフ
ローチャートである。
【図8】 本発明の方法ステップのもう一つの実施形態を示すフローチャートである。
【図9】 図1の回路設計マッピングソフトウェアのさらにもう一つの実施形態を示すブ
ロック図である。
【図10】 図9のエミュレーションリソース・マネージャの一実施形態を示すフローチャ
ートである。
【図11】 本発明の方法ステップのもう一つの実施形態を示すフローチャートである。
【手続補正書】
【提出日】平成14年5月31日(2002.5.31)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正の内容】
【図10】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正の内容】
【図11】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AG,AL,AM,AT,AU, AZ,BA,BB,BG,BR,BY,CA,CH,C N,CR,CU,CZ,DE,DK,DM,DZ,EE ,ES,FI,GB,GD,GE,GH,GM,HR, HU,ID,IL,IN,IS,JP,KE,KG,K P,KR,KZ,LC,LK,LR,LS,LT,LU ,LV,MA,MD,MG,MK,MN,MW,MX, NO,NZ,PL,PT,RO,RU,SD,SE,S G,SI,SK,SL,TJ,TM,TR,TT,TZ ,UA,UG,UZ,VN,YU,ZA,ZW

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 (a)回路設計をエミュレートするように再コンフィグレー
    ション可能な再コンフィグレーション可能エミュレーションリソースを有するエ
    ミュレータと; (b)第1及び第2の回路設計を同時にエミュレートすることができるように
    該再コンフィグレーション可能エミュレーションリソースを調整された仕方でコ
    ンフィグレーションするための、第1及び第2の回路設計用の調整されたコンフ
    ィギュレーション情報を生成するよう動作するプログラミング命令でプログラム
    されるホストシステムと; を具有したことを特徴とするエミュレーションシステム。
  2. 【請求項2】 上記プログラミング命令が、シリアルに生成された上記第1
    及び第2の回路設計の論理及び相互接続ネットリストから上記第1及び第2の回
    路設計に関するコンフィギュレーション情報を生成するよう動作し、その際該第
    2の回路設計の論理及び相互接続ネットリストは第1の回路設計のエミュレーシ
    ョン用に割り当てられた再コンフィグレーション可能エミュレーションリソース
    を考慮に入れて生成されることを特徴とする請求項1記載のエミュレーションシ
    ステム。
  3. 【請求項3】 上記プログラミング命令が、さらに、上記第1の回路設計の
    エミュレーション用に割り当てられた上記再コンフィグレーション可能エミュレ
    ーションリソースの状況を常に把握し続けることによって上記第1の回路設計の
    論理及び相互接続ネットリストを生成するよう動作する請求項2記載のエミュレ
    ーションシステム。
  4. 【請求項4】 上記プログラミング命令が、シリアルに生成された上記第1
    及び第2の回路設計の論理及び相互接続ネットリストから上記第1及び第2の回
    路設計に関するコンフィギュレーション情報を生成するよう動作し、その際該第
    2の回路設計の論理及び相互接続ネットリストは該第1の回路設計のエミュレー
    ション用に割り当てられていない残余の再コンフィグレーション可能エミュレー
    ションリソースを考慮して生成されることを特徴とする請求項1記載のエミュレ
    ーションシステム。
  5. 【請求項5】 上記プログラミング命令が、さらに、上記第1の回路設計の
    エミュレーション用に割り当てられていない上記残余の再コンフィグレーション
    可能エミュレーションリソースの状況を常に把握し続けることによって上記第1
    の回路設計の論理及び相互接続ネットリストを生成するよう動作することを特徴
    とする請求項4記載のエミュレーションシステム。
  6. 【請求項6】 上記プログラミング命令が、上記第1の回路設計をエミュレ
    ートするために割り当てた再コンフィグレーション可能エミュレーションリソー
    スを考慮して上記第2の回路設計をエミュレートするために必要な再コンフィグ
    レーション可能エミュレーションリソースを割り当て直すことによって、上記第
    1及び第2の回路設計の複合論理及び相互接続ネットリストから上記調整された
    コンフィギュレーション情報を生成するよう動作し、その際該複合論理及び相互
    接続ネットリストは該第1及び第2の回路設計の独立に生成された論理及び相互
    接続ネットリストから生成されることを特徴とする請求項1記載のエミュレーシ
    ョンシステム。
  7. 【請求項7】 プログラミング命令が、上記第1の回路設計をエミュレート
    するために割り当てられた再コンフィグレーション可能エミュレーションリソー
    スを考慮して上記第2の回路設計をエミュレートするために必要な再コンフィグ
    レーション可能エミュレーションリソースを割り当て直すことによって、該第2
    の回路設計の共用調整済み論理及び相互接続ネットリストから該第2の回路設計
    に関するコンフィギュレーション情報を生成するよう動作し、その際該第2の回
    路設計の共用調整済み論理及び相互接続ネットリストはエミュレーション対象と
    しての第2の回路設計のユーザ選択に応答して該第2の回路設計の独立に生成さ
    れた論理及び相互接続ネットリストから生成されることを特徴とする請求項1記
    載のエミュレーションシステム。
  8. 【請求項8】 上記プログラミング命令が、さらに、エミュレーション対象
    としての上記第1の回路設計のユーザ選択に応答して、かつ該第1の回路設計の
    エミュレーション用に割り当てられた上記再コンフィグレーション可能エミュレ
    ーションリソースの状況を常に把握し続けることによって、該第1の回路設計に
    関するコンフィギュレーション情報を生成するよう動作することを特徴とする請
    求項7記載のエミュレーションシステム。
  9. 【請求項9】 プログラミング命令が、上記第1の回路設計をエミュレート
    するために割り当てられていない再コンフィグレーション可能エミュレーション
    リソースを考慮して上記第2の回路設計をエミュレートするために必要な再コン
    フィグレーション可能エミュレーションリソースを割り当て直すことによって、
    該第2の回路設計の共用調整済み論理及び相互接続ネットリストから該第2の回
    路設計に関するコンフィギュレーション情報を生成するよう動作し、その際該第
    2の回路設計の共用調整済み論理及び相互接続ネットリストはエミュレーション
    対象としての第2の回路設計のユーザ選択に応答して該第2の回路設計の独立に
    生成された論理及び相互接続ネットリストから生成されることを特徴とする請求
    項1記載のエミュレーションシステム。
  10. 【請求項10】 上記プログラミング命令が、さらに、エミュレーション対
    象としての上記第1の回路設計のユーザ選択に応答して、かつ該第1の回路設計
    のエミュレーション用に割り当てられていない上記再コンフィグレーション可能
    エミュレーションリソースの状況を常に把握し続けることによって、該第1の回
    路設計に関するコンフィギュレーション情報を生成するよう動作することを特徴
    とする請求項9記載のエミュレーションシステム。
  11. 【請求項11】 上記再コンフィグレーション可能エミュレーションリソー
    スが対称状編成されていることを特徴とする請求項1記載のエミュレーションシ
    ステム。
  12. 【請求項12】 上記再コンフィグレーション可能エミュレーションリソー
    スが非対称的に編成されていることを特徴とする請求項1記載のエミュレーショ
    ンシステム。
  13. 【請求項13】 上記再コンフィグレーション可能エミュレーションリソー
    スが汎用フィールド・プログラム可能ゲートアレイ(FPGA)を含むことを特
    徴とする請求項1記載のエミュレーションシステム。
  14. 【請求項14】 上記再コンフィグレーション可能エミュレーションリソー
    スが、再コンフィグレーション可能なロジックブロック及びエミュレーションシ
    ステム用の統合エミュレーションデバッグ機構を有する集積回路を含むことを特
    徴とする請求項1記載のエミュレーションシステム。
  15. 【請求項15】 a)第1及び第2の回路設計に関する調整されたコンフィ
    ギュレーション情報を生成するステップと; b)その生成された第1及び第2の回路設計の調整されたコンフィギュレーシ
    ョン情報を用いてエミュレーションシステムの再コンフィグレーション可能エミ
    ュレーションリソースを調整された仕方でコンフィグレーションするステップと
    ; c)該第1及び第2の回路設計を少なくとも一部同時にエミュレートするステ
    ップと; を具有したことを特徴とする方法。
  16. 【請求項16】 上記ステップ(a)が、 (a.1)上記第1及び第2の回路設計の論理及び相互接続ネットリストをシ
    リアルに生成し、その際該第2の回路設計の論理及び相互接続ネットリストの生
    成は該第1の回路設計のエミュレーション用に割り当てられた再コンフィグレー
    ション可能エミュレーションリソースを考慮して行われるステップと; (a.2)シリアルに生成された該第1及び第2の回路設計の論理及び相互接
    続ネットリストから該第1及び第2の回路設計に関するコンフィギュレーション
    情報を生成するステップと; を具備することを特徴とする請求項15記載の方法。
  17. 【請求項17】 上記ステップ(a.1)が、さらに、第1の回路設計の論
    理及び相互接続ネットリストを生成するステップ、及び上記第1の回路設計のエ
    ミュレーション用に割り当てた上記再コンフィグレーション可能エミュレーショ
    ンリソースの状況を常に把握し続けるステップを具有することを特徴とする請求
    項16記載の方法。
  18. 【請求項18】 上記ステップ(a)が、 (a.1)上記第1及び第2の回路設計の論理及び相互接続ネットリストをシ
    リアルに生成し、その際該第2の回路設計の論理及び相互接続ネットリストの生
    成は該第1の回路設計のエミュレーション用に割り当てられていない再コンフィ
    グレーション可能エミュレーションリソースを考慮して行われるステップと; (a.2)シリアルに生成された該第1及び第2の回路設計の論理及び相互接
    続ネットリストから該第1及び第2の回路設計に関するコンフィギュレーション
    情報を生成するステップと; を具有することを特徴とする請求項15記載の方法。
  19. 【請求項19】 上記ステップ(a.1)が、さらに、第1の回路設計の論
    理及び相互接続ネットリストを生成するステップ、及び上記第1の回路設計のエ
    ミュレーション用に割り当てられていない上記再コンフィグレーション可能エミ
    ュレーションリソースの状況を常に把握し続けるステップを具有することを特徴
    とする請求項18記載の方法。
  20. 【請求項20】 上記ステップ(a)が、 (a.1)上記第1の回路設計をエミュレートするために割り当てられた再コ
    ンフィグレーション可能エミュレーションリソースを考慮して上記第2の回路設
    計をエミュレートするために必要な再コンフィグレーション可能エミュレーショ
    ンリソースを割り当て直すことによって、該第1及び第2の回路設計の独立に生
    成された論理及び相互接続ネットリストから該第1及び第2の回路設計に関する
    複合論理及び相互接続ネットリストを生成するステップと; (a.2)上記第1及び第2の回路設計の複合論理及び相互接続ネットリスト
    から上記調整されたコンフィギュレーション情報を生成するステップと; を具有することを特徴とする請求項15記載の方法。
  21. 【請求項21】 上記ステップ(a)が、 (a.1)上記第1の回路設計をエミュレートするために割り当てた再コンフ
    ィグレーション可能エミュレーションリソースを考慮して上記第2の回路設計を
    エミュレートするために必要な再コンフィグレーション可能エミュレーションリ
    ソースを割り当て直すことによって、エミュレーション対象としての該第2の回
    路設計のユーザ選択に応答して該第2の回路設計の独立に生成された論理及び相
    互接続ネットリストから該第2の回路設計の共用調整済み論理及び相互接続ネッ
    トリストを生成するステップと; (a.2)該第2の回路設計の共用調整済み論理及び相互接続ネットリストか
    ら該第2の回路設計に関するコンフィギュレーション情報を生成するステップと
    ; を具有することを特徴とする請求項15記載の方法。
  22. 【請求項22】 上記ステップ(a.1)が、さらに、エミュレーション対
    象としての上記第1の回路設計のユーザ選択に応答して該第1の回路設計に関す
    るコンフィギュレーション情報を生成するステップ、及び該第1の回路設計のエ
    ミュレーション用に割り当てた再コンフィグレーション可能エミュレーションリ
    ソースの状況を常に把握し続けるステップを具有することを特徴とする請求項2
    1記載の方法。
  23. 【請求項23】 上記ステップ(a)が、 (a.1)上記第1の回路設計をエミュレートするために割り当てられていな
    い再コンフィグレーション可能エミュレーションリソースを考慮して上記第2の
    回路設計をエミュレートするために必要な再コンフィグレーション可能エミュレ
    ーションリソースを割り当て直すことによって、エミュレーション対象としての
    該第2の回路設計のユーザ選択に応答して該第2の回路設計の独立に生成された
    論理及び相互接続ネットリストから該第2の回路設計の共用調整済み論理及び相
    互接続ネットリストを生成するステップと; (a.2)該第2の回路設計の共用調整済み論理及び相互接続ネットリストか
    ら該第2の回路設計に関するコンフィギュレーション情報を生成するステップと
    ; を具有することを特徴とする請求項15記載の方法。
  24. 【請求項24】 上記ステップ(a.1)が、さらに、エミュレーション対
    象としての上記第1の回路設計のユーザ選択に応答して該第1の回路設計に関す
    るコンフィギュレーション情報を生成するステップ、及び該第1の回路設計のエ
    ミュレーション用に割り当てた再コンフィグレーション可能エミュレーションリ
    ソースの状況を常に把握し続けるステップを具有することを特徴とする請求項2
    3記載の方法。
  25. 【請求項25】 実行装置によって実行される複数のプログラミング命令が
    記憶された記憶媒体であって、該プログラミング命令が、実行時に、エミュレー
    ションシステム上で第1及び第2の回路設計を同時にエミュレートすることがで
    きるよう調整された仕方で該エミュレーションシステムの再コンフィグレーショ
    ン可能エミュレーションリソースをコンフィグレーションすることができるよう
    に、該第1及び第2の回路設計に関する調整されたコンフィギュレーション情報
    を生成するよう動作することを特徴とする記憶媒体。
  26. 【請求項26】 上記プログラミング命令が、シリアルに生成された上記第
    1及び第2の回路設計の論理及び相互接続ネットリストから上記第1及び第2の
    回路設計に関するコンフィギュレーション情報を生成するよう動作し、その際該
    第2の回路設計の論理及び相互接続ネットリストは該第1の回路設計のエミュレ
    ーション用に割り当てられた再コンフィグレーション可能エミュレーションリソ
    ースを考慮に入れて生成されることを特徴とする請求項25記載の記憶媒体。
  27. 【請求項27】 上記プログラミング命令が、シリアルに生成された上記第
    1及び第2の回路設計の論理及び相互接続ネットリストから上記第1及び第2の
    回路設計に関するコンフィギュレーション情報を生成するよう動作し、その際該
    第2の回路設計の論理及び相互接続ネットリストは該第1の回路設計のエミュレ
    ーション用に割り当てられていない残余の再コンフィグレーション可能エミュレ
    ーションリソースを考慮して生成されることを特徴とする請求項25記載の記憶
    媒体。
  28. 【請求項28】 上記プログラミング命令が、上記第1の回路設計をエミュ
    レートするために割り当てた再コンフィグレーション可能エミュレーションリソ
    ースを考慮して上記第2の回路設計をエミュレートするために必要な再コンフィ
    グレーション可能エミュレーションリソースを割り当て直すことによって、上記
    第1及び第2の回路設計の複合論理及び相互接続ネットリストから上記調整され
    たコンフィギュレーション情報を生成するよう動作し、その際、該複合論理及び
    相互接続ネットリストは該第1及び第2の回路設計の独立に生成された論理及び
    相互接続ネットリストから生成されることを特徴とする請求項25記載の記憶媒
    体。
  29. 【請求項29】 プログラミング命令が、上記第1の回路設計をエミュレー
    トするために割り当てられた再コンフィグレーション可能エミュレーションリソ
    ースを考慮して上記第2の回路設計をエミュレートするために必要な再コンフィ
    グレーション可能エミュレーションリソースを割り当て直すことによって、該第
    2の回路設計の共用調整済み論理及び相互接続ネットリストから該第2の回路設
    計に関するコンフィギュレーション情報を生成するよう動作し、その際該第2の
    回路設計の共用調整済み論理及び相互接続ネットリストはエミュレーション対象
    としての第2の回路設計のユーザ選択に応答して該第2の回路設計の独立に生成
    された論理及び相互接続ネットリストから生成されることを特徴とする請求項2
    5記載の記憶媒体。
  30. 【請求項30】 プログラミング命令が、上記第1の回路設計をエミュレー
    トするために割り当てられていない再コンフィグレーション可能エミュレーショ
    ンリソースを考慮して上記第2の回路設計をエミュレートするために必要な再コ
    ンフィグレーション可能エミュレーションリソースを割り当て直すことによって
    、該第2の回路設計の共用調整済み論理及び相互接続ネットリストから該第2の
    回路設計に関するコンフィギュレーション情報を生成するよう動作し、その際該
    第2の回路設計の共用調整済み論理及び相互接続ネットリストはエミュレーショ
    ン対象としての第2の回路設計のユーザ選択に応答して該第2の回路設計の独立
    に生成された論理及び相互接続ネットリストから生成されることを特徴とする請
    求項25記載の記憶媒体。
JP2000620177A 1999-09-24 2000-05-08 エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置 Expired - Fee Related JP3355184B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/405,659 1999-09-24
US09/405,659 US6473726B1 (en) 1999-09-24 1999-09-24 Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system
PCT/US2000/012626 WO2001024065A1 (en) 1999-09-24 2000-05-08 Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system

Publications (2)

Publication Number Publication Date
JP3355184B1 JP3355184B1 (ja) 2002-12-09
JP2003500716A true JP2003500716A (ja) 2003-01-07

Family

ID=23604652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000620177A Expired - Fee Related JP3355184B1 (ja) 1999-09-24 2000-05-08 エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置

Country Status (5)

Country Link
US (2) US6473726B1 (ja)
EP (1) EP1135736B1 (ja)
JP (1) JP3355184B1 (ja)
AU (1) AU4830600A (ja)
WO (1) WO2001024065A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752635B2 (en) 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473726B1 (en) * 1999-09-24 2002-10-29 Frederic Reblewski Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system
US7266490B2 (en) 2000-12-28 2007-09-04 Robert Marc Zeidman Apparatus and method for connecting hardware to a circuit simulation
US8160863B2 (en) * 2000-03-28 2012-04-17 Ionipas Transfer Company, Llc System and method for connecting a logic circuit simulation to a network
US7379859B2 (en) * 2001-04-24 2008-05-27 Mentor Graphics Corporation Emulator with switching network connections
US20070016396A9 (en) * 2000-12-28 2007-01-18 Zeidman Robert M Apparatus and method for connecting a hardware emulator to a computer peripheral
US7130788B2 (en) * 2001-10-30 2006-10-31 Mentor Graphics Corporation Emulation components and system including distributed event monitoring, and testing of an IC design under emulation
US7035787B2 (en) * 2001-10-30 2006-04-25 Mentor Graphics Corporation Emulation components and system including distributed routing and configuration of emulation resources
US7305633B2 (en) * 2001-10-30 2007-12-04 Mentor Graphics Corporation Distributed configuration of integrated circuits in an emulation system
US6817001B1 (en) 2002-03-20 2004-11-09 Kudlugi Muralidhar R Functional verification of logic and memory circuits with multiple asynchronous domains
FR2841668B1 (fr) * 2002-06-26 2006-08-11 Emulation And Verification Eng Procede et systeme d'emulation d'un circuit sous test associe a un environnement de test
US7286976B2 (en) 2003-06-10 2007-10-23 Mentor Graphics (Holding) Ltd. Emulation of circuits with in-circuit memory
US7082592B1 (en) * 2003-06-16 2006-07-25 Altera Corporation Method for programming programmable logic device having specialized functional blocks
US20040267489A1 (en) * 2003-06-24 2004-12-30 Frederic Reblewski Data compaction and pin assignment
US7693703B2 (en) * 2003-08-01 2010-04-06 Mentor Graphics Corporation Configuration of reconfigurable interconnect portions
US7587649B2 (en) * 2003-09-30 2009-09-08 Mentor Graphics Corporation Testing of reconfigurable logic and interconnect sources
US7924845B2 (en) * 2003-09-30 2011-04-12 Mentor Graphics Corporation Message-based low latency circuit emulation signal transfer
DE102004037403B4 (de) * 2004-07-30 2008-11-20 Certess S.A. Verfahren zur Bewertung der Güte eines Computerprogrammes
US8214192B2 (en) 2008-02-27 2012-07-03 Mentor Graphics Corporation Resource remapping in a hardware emulation environment
US8694948B2 (en) * 2008-11-28 2014-04-08 Nec Corporation Reconfigurable circuit generation device, method, and program
US8843861B2 (en) 2012-02-16 2014-09-23 Mentor Graphics Corporation Third party component debugging for integrated circuit design
US9703579B2 (en) 2012-04-27 2017-07-11 Mentor Graphics Corporation Debug environment for a multi user hardware assisted verification system
US20140052430A1 (en) * 2012-04-27 2014-02-20 Mentor Graphics Corporation Partitionless Multi User Support For Hardware Assisted Verification

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE131643T1 (de) 1988-10-05 1995-12-15 Quickturn Systems Inc Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät
US5109353A (en) 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
AU2561192A (en) 1992-08-28 1994-03-29 Prabhakar Goel Multichip ic design using tdm
US6265894B1 (en) * 1995-10-13 2001-07-24 Frederic Reblewski Reconfigurable integrated circuit with integrated debugging facilities for use in an emulation system
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US6473726B1 (en) * 1999-09-24 2002-10-29 Frederic Reblewski Method and apparatus for concurrent emulation of multiple circuit designs on an emulation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752635B2 (en) 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card

Also Published As

Publication number Publication date
US6473726B1 (en) 2002-10-29
US20030055622A1 (en) 2003-03-20
US6876962B2 (en) 2005-04-05
JP3355184B1 (ja) 2002-12-09
EP1135736A1 (en) 2001-09-26
AU4830600A (en) 2001-04-30
WO2001024065A1 (en) 2001-04-05
EP1135736B1 (en) 2014-06-04

Similar Documents

Publication Publication Date Title
JP2003500716A (ja) エミュレーションシステム上における複数の回路設計の同時エミュレーションのための方法及び装置
CN101233489B (zh) 自适应进程分派的方法和系统
CN104778083B (zh) 异构多核可重构计算平台上任务调度的方法和装置
US7010769B2 (en) Methods and apparatuses for designing integrated circuits
JP5050069B2 (ja) 再構成可能なプログラマブルロジックデバイスコンピュータシステム
US5452239A (en) Method of removing gated clocks from the clock nets of a netlist for timing sensitive implementation of the netlist in a hardware emulation system
US7552415B2 (en) Method and system for creating a customized support package for an FPGA-based system-on-chip (SoC)
JP6228294B2 (ja) マルチプロセッサ組込みシステム上でのアプリケーションの動的再構成
US7676787B2 (en) Component based design time architecture
CN100495310C (zh) 设计存储器控制器的方法和信息处理系统
JPH04330520A (ja) ワークステーション内にソフトウェア・ファイルを設置する方法及び装置
EP1168168A2 (en) Virtual hardware machine methods and devices
CN112005211A (zh) 用于异构片上系统的软件定义多域创建和隔离
US10782995B2 (en) Flexible physical function and virtual function mapping
JPH06502941A (ja) 異種オペレーティングシステムを有する高レベル仮想コンピュータのシステム
CN104321742A (zh) 用于提供多核心编程平台的装置和方法
EP0847022A2 (en) Method for designing an architectural system
EP1171774A2 (en) Interface independent test system
US20010041972A1 (en) Transaction class
US7707543B2 (en) Architecture for a computer-based development environment with self-contained components and a threading model
CN106843973A (zh) 一种移植嵌入式系统并在sd卡启动的方法
CN111310638A (zh) 一种数据处理方法、装置及计算机可读存储介质
JP2001265726A (ja) コンピュータ作業負荷の高速リカバリおよび再配置を可能にする自動化アプリケーションおよび手順
Chivukula et al. Customizing the configuration process of an operating system using hierarchy and clustering
US6625782B1 (en) Software structure methodology description of programmable phase-locked loop die and device presentation techniques

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees