JP2006338144A - Emulation system of processor base - Google Patents
Emulation system of processor base Download PDFInfo
- Publication number
- JP2006338144A JP2006338144A JP2005159567A JP2005159567A JP2006338144A JP 2006338144 A JP2006338144 A JP 2006338144A JP 2005159567 A JP2005159567 A JP 2005159567A JP 2005159567 A JP2005159567 A JP 2005159567A JP 2006338144 A JP2006338144 A JP 2006338144A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- emulation
- data
- capture
- integrated circuit
- 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.)
- Pending
Links
Images
Abstract
Description
本出願は、2004年6月1日に出願された米国仮出願番号60/576123に対する優先権を主張する。この仮出願に対する優先権は、明白に請求され、また、仮出願の開示は、その全てを参照として本明細書に組み込まれている。 This application claims priority to US Provisional Application No. 60/576123, filed June 1, 2004. The priority to this provisional application is expressly claimed, and the disclosure of the provisional application is hereby incorporated by reference in its entirety.
本明細書の開示は、プロセッサベースのエミュレーションシステム(processor-based emulation system)に関し、特に、専用の捕獲回路(capture circuitry)を有するプロセッサベースのエミュレーションシステムに関する。また、プロセッサベースのエミュレーションシステムの可視化方法に関する。 The disclosure herein relates to a processor-based emulation system, and more particularly to a processor-based emulation system having dedicated capture circuitry. The present invention also relates to a visualization method for a processor-based emulation system.
ハードウェアエミュレーションシステムは、電子回路設計を、チップあるいは印刷回路ボードとして組み立てる前に検証するために設計される。典型的なエミュレーションシステムは、プログラム可能な相互接続チップによって相互接続されたプログラム可能な論理チップあるいはプログラム可能に相互接続されるプロセッサチップを用いる。
プログラム可能な論理チップ(例えば、フィールドプログラマブルゲートアレイ,FPGA)ベースのエミュレーションシステムでは、ユーザ設計(しばしば、“検証対象の設計”(”DUV“)あるいは“検査対象の設計”(“DUT”)と呼ばれる)に含まれている論理は、DUV内に実装された論理が、プログラム可能な論理装置内で実際の動作形態をとるように、論理チップ内にプログラムされる。
プロセッサベースのエミュレーションシステムでは、ユーザ設計は、設計の出力を計算することによって、その機能がプロセッサ内に生成されているように処理される。論理自身は、プロセッサベースのエミュレーションシステム内に実装されない。これは、DUVが、プロセッサ内で、実際の動作形態をとらないことを意味する。しかしながら、プロセッサの出力は、実際の装置内の論理の出力と等しい。
プログラム可能な論理装置を用いる、ハードウェア論理エミュレーションシステムの例は、例えば、米国特許第5109353号、5036473号、5475830号及び5960191号で見ることができる。米国特許第5109353号、5036473号、5475830号及び5960191号は、参照として本明細書に組み込まれている。
プロセッサチップを用いるハードウェア論理エミュレーションシステムの例は、例えば、米国特許第5551013号、第6035117号及び6051030号に開示されている。米国特許第5551013号、第6035117号及び6051030号は、参照として本明細書に組み込まれている。
In programmable logic chip (eg, field programmable gate array, FPGA) based emulation systems, user design (often “design to be verified” (“DUV”) or “design to be tested” (“DUT”)) The logic contained in the logic chip is programmed in the logic chip so that the logic implemented in the DUV takes the actual form of operation in the programmable logic device.
In a processor-based emulation system, a user design is processed as its functionality is generated in the processor by calculating the output of the design. The logic itself is not implemented in a processor-based emulation system. This means that the DUV does not take the actual form of operation within the processor. However, the processor output is equal to the logic output in the actual device.
Examples of hardware logic emulation systems using programmable logic devices can be found, for example, in US Pat. Nos. 5,093,353, 5,036,473, 5,475,830, and 5,960,191. U.S. Pat. Nos. 5,093,353, 5,036,473, 5,475,830 and 5,960,191 are hereby incorporated by reference.
Examples of hardware logic emulation systems that use processor chips are disclosed, for example, in US Pat. Nos. 5,510,013, 6,035,117 and 6,510,030. U.S. Pat. Nos. 5,510,003, 6,035,117 and 6,510,030 are incorporated herein by reference.
トレーシング(tracing)とも呼ばれている可視化は、プロセッサベースのエミュレーションシステムでは重要な特徴である。可視化は、ユーザに、エミュレートされる設計内の要素の状態を捕獲及び観察させるための能力である。
ケイデンスデザインシステムズが“フル−ビジョン(Full-Vision)”と呼んでいる、特別の集積回路設計の全てのノードの状態(すなわち、プロセッサ出力)を観察する能力は、機能検証システムにとって非常に重要な特徴である。フル−ビジョンは、ある時間期間、すなわち、多くのクロックサイクルに亘って必要である。エミュレーションの間にノードの内部状態を捕獲することによって、ユーザは、エミュレートされる設計内の行動を観察することができ、それによって、設計をデバッグすることができる。エミュレーションの間にノードの内部状態を観察する能力が無いと、ユーザは、設計内のバグ(欠陥)の原因を理解するのが非常に困難である。
Visualization, also called tracing, is an important feature in processor-based emulation systems. Visualization is the ability to let the user capture and observe the state of the elements in the emulated design.
The ability to observe the state (ie processor output) of all nodes in a particular integrated circuit design, which Cadence Design Systems calls “Full-Vision”, is very important for functional verification systems. It is a feature. Full-vision is necessary over a period of time, i.e. many clock cycles. By capturing the internal state of the node during emulation, the user can observe behavior within the emulated design, thereby debugging the design. Without the ability to observe the internal state of the node during emulation, it is very difficult for the user to understand the cause of the bug (defect) in the design.
典型的には、フル−ビジョンは、システム内のノードの戦略的な部分を捕獲することによって達成される。そして、それらの出力は、システム内の他のノードの値を計算するために用いられる。これにより、ユーザは、設計の全てのノード上の行動を観察することができる。なお、いくつかの値は、物理的な抽出値(サンプル)であり、他の値は、計算から導き出される。
この戦略的な抽出技術は、ユーザに対して、システム内の任意のノード上の行動の観察を許容しながら、システム内の全てのノードを捕獲するための回路を必要としないため、有利である。
Typically, full-vision is achieved by capturing strategic parts of the nodes in the system. These outputs are then used to calculate values for other nodes in the system. This allows the user to observe the behavior on all nodes of the design. Some values are physical extracted values (samples), and other values are derived from calculations.
This strategic extraction technique is advantageous because it allows the user to observe behavior on any node in the system, while not requiring a circuit to capture all the nodes in the system. .
一般的なプロセッサベースのエミュレーションシステムは、設計内の要素の状態を捕獲するためにエミュレーションリソースを用いる。エミュレーションリソースは、検査される集積回路設計(例えば、エミュレーションプロセッサ)をエミュレートするために用いられる回路である。
設計の内部状態を捕獲するために必要なエミュレーションリソースの量は、ささいな量ではない。例えば、フル−ビジョンを達成するためには、エミュレーションリソースの約20%が用いられる。フル−ビジョンが要求されない場合でも、エミュレーションリソースのかなりの量を、設計の内部状態を捕獲するために用いなければならない。
同様に、エミュレーションに対して使用可能なメモリリソースのかなりの量が、設計の内部状態を捕獲するために用いられる。
したがって、ユーザは、エミュレーション機能あるいは捕獲機能を実行するために、プロセッサリソースの使用とメモリリソースの使用の間で交換を行わなければならない。
A typical processor-based emulation system uses emulation resources to capture the state of elements in the design. An emulation resource is a circuit that is used to emulate an integrated circuit design (eg, an emulation processor) to be tested.
The amount of emulation resources needed to capture the internal state of the design is not a trivial amount. For example, about 20% of emulation resources are used to achieve full-vision. Even when full-vision is not required, a significant amount of emulation resources must be used to capture the internal state of the design.
Similarly, a significant amount of memory resources available for emulation are used to capture the internal state of the design.
Thus, the user must exchange between using processor resources and using memory resources to perform the emulation or capture function.
状態獲得は、プロセッサベースのエミュレーションシステムにおける他の重要な特徴である。状態獲得によって、ユーザは、一方ではトリガに基づいて他の時間からのデータを無視しながら、“興味がある”時間点でデータを捕獲することができる。トリガは、データの捕獲を開始させる、予め設定されたイベントである。また、状態獲得は、システム内の利用可能な捕獲リソースを用いるための効率の良い方法を提供する。 State acquisition is another important feature in processor-based emulation systems. State acquisition allows the user to capture data at “interesting” time points while ignoring data from other times based on triggers. A trigger is a preset event that starts capturing data. State acquisition also provides an efficient way to use available capture resources in the system.
また、一般的なプロセッサベースのエミュレーションシステムは、状態獲得のためにエミュレーションリソースを用いる。特に、エミュレーションリソースは、トリガ状態が計算されるまで、エミュレーションプロセッサから出力されるデータを蓄積するために用いられる。エミュレーションプロセッサから出力されるデータは、通常、そのデータはトリガ状態が計算される前に利用可能であるため、蓄積されなければならない。 Also, a typical processor-based emulation system uses emulation resources for state acquisition. In particular, the emulation resource is used to store data output from the emulation processor until the trigger state is calculated. Data output from the emulation processor must usually be stored because the data is available before the trigger state is calculated.
したがって、プロセッサベースのエミュレーションシステムで生成されるデータを捕獲するための、改良された方法及び装置に対する要求がある。 Accordingly, there is a need for an improved method and apparatus for capturing data generated by a processor-based emulation system.
本明細書に開示されているさまざまの実施の形態は、改良されたプロセッサベースのエミュレーションシステムを提供する。エミュレーションシステムは、エミュレーションプロセッサ、専用の捕獲リソース及びメモリを有するエミュレーションエンジンを含んでいる。
専用の捕獲リソースは、エミュレーションプロセッサによって生成されたデータを捕獲し、捕獲したデータをメモリに供給するために用いられる。そして、ユーザは、集積回路設計のデバッグを援助するために、メモリ内の捕獲されたデータを検査することができる。
専用の捕獲リソースを提供することによって、エミュレーションプロセッサは、データ捕獲のために用いられない。これにより、より大きな集積回路設計が、定められたエミュレーションエンジン内でエミュレート可能である。
The various embodiments disclosed herein provide an improved processor-based emulation system. The emulation system includes an emulation engine having an emulation processor, dedicated capture resources, and memory.
A dedicated capture resource is used to capture the data generated by the emulation processor and supply the captured data to the memory. The user can then examine the captured data in the memory to assist in debugging the integrated circuit design.
By providing a dedicated capture resource, the emulation processor is not used for data capture. This allows larger integrated circuit designs to be emulated within a defined emulation engine.
装置及び要素の組み合わせの種々の独創性がある詳細を含む、本明細書に開示されている種々の実施の形態の前述した及び他の好ましい特徴及び利点は、添付の図面を参照してより詳しく説明されており、また、請求項に記載されている。特別の方法及び回路が、例示のためにのみ示され、制限のために示されていないことが理解される。当業者に理解されるように、本明細書に開示されている原理及び特徴は、本発明の概念から逸脱することなく、種々のまた多くの実施の形態で実現可能である。 The foregoing and other preferred features and advantages of various embodiments disclosed herein, including various inventive details of combinations of devices and elements, will be more fully described with reference to the accompanying drawings. As well as in the claims. It will be understood that the particular methods and circuits are shown by way of example only and not by way of limitation. As will be appreciated by those skilled in the art, the principles and features disclosed herein can be implemented in various and many embodiments without departing from the inventive concept.
図面を参照して、本発明の実施の形態を説明する。 Embodiments of the present invention will be described with reference to the drawings.
プロセッサベースのエミュレーションシステム100の一例が、図1に示されている。プロセッサベースのエミュレーションシステム100は、集積回路設計が集積回路内に実際に実装される前に、集積回路設計が、所期のターゲットシステム内でテストされることを可能とする。
プロセッサベースのエミュレーションシステム100は、ホストコンピュータ102と、ターゲットシステム106に順次接続されるエミュレーションエンジン104を含んでいる。ホストコンピュータ102とエミュレーションエンジン104は、通信リンク108を介して互いに通信する。エミュレーションエンジン104とターゲットシステム106は、通信リンク110を介して互いに通信する。
通信リンクは、電気的、光学的あるいは無線の通信リンク等の、データを転送可能なあらゆる種類のリンクであってよい。ホストコンピュータ102は、エミュレーションエンジン104と通信可能なあらゆる種類のコンピュータであってよい。エミュレーションエンジン104は、以下で詳述するように、集積回路設計の機能をエミュレートし、集積回路設計がターゲットシステム106内でどのように動作するかをユーザが観察することを可能とする。
An example of a processor-based
The processor-based
The communication link may be any type of link capable of transferring data, such as an electrical, optical or wireless communication link. The
ターゲットシステム106は、典型的には、メモリ、マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)等の多くの装置112を含んでいる。また、ターゲットシステム106は、入力/出力114を含んでいる。入力/出力114は、エミュレートされる集積回路の入力及び出力に対応し、通信リンク110と電気的に通信可能である。
集積回路設計をエミュレートするために、ユーザは、先ず、典型的には、集積回路設計ソフトウェアを用いて完成される集積回路設計を生成する。ユーザ設計は、時には、“検査対象の設計”(“DUT”)あるいは“検証対処の設計”(“DUV”)と呼ばれる。集積回路設計ソフトウェアは、ホストコンピュータ101あるいは他のコンピュータ上で動作する。
ユーザが、集積回路設計を完成させると、設計は、エミュレーションエンジン104と互換性があるデータフォーマットにコンパイルされる。
次に、コンパイルされた設計は、ホストコンピュータ102を介してエミュレーションエンジン104にロードされる。そして、集積回路設計をエミュレートするエミュレーションエンジン104は、集積回路設計がターゲットシステム106内で適切に動作するか否かを決定するために、ターゲットシステム106と共に動作する。ターゲットシステム106に接続されると、集積回路設計の入力及び出力は、ターゲットシステム106内の入力/出力114を通り、通信リンク110を介して伝送される。
To emulate an integrated circuit design, a user first generates an integrated circuit design that is typically completed using integrated circuit design software. User design is sometimes referred to as “design for inspection” (“DUT”) or “design for verification” (“DUV”). The integrated circuit design software runs on the host computer 101 or another computer.
When the user completes the integrated circuit design, the design is compiled into a data format that is compatible with the
The compiled design is then loaded into the
プロセッサベースのエミュレーションシステム100を用いて集積回路設計を検査し、機能的に検証することにより、集積回路設計内に機能的なエラーが存在する時に、時間と費用を大幅に節約することができる。これは、一般的なことであるが、集積回路設計内の機能エラーが、集積回路設計が実際の集積回路装置内に実装される前に確認及び決定することができるからである。
By examining and functionally verifying the integrated circuit design using the processor-based
集積回路設計内の機能エラーを確認するために、エミュレーションシステムは、エミュレーションの間に、デバッグ情報(すなわち、集積回路設計の内部状態に関する情報)を捕獲する。捕獲されると、この情報は、通信リンク108を介してホストコンピュータ102に転送される。そして、ホストコンピュータ102を用いて、ユーザは、デバッグ情報を観察し、設計内の機能エラーを確認及び決定するためにこの情報を用いることができる。
To verify functional errors in the integrated circuit design, the emulation system captures debug information (ie, information about the internal state of the integrated circuit design) during emulation. Once captured, this information is transferred to the
図2は、一般的なプロセッサベースのエミュレーションエンジン200を示している。一般的なプロセッサベースのエミュレーションエンジンは、図1に示されているプロセッサベースのエミュレーションシステム100のような、プロセッサベースのエミュレーションシステム内に実装可能である。
一般的なプロセッサベースのエミュレーションエンジン200は、プロセッサシステム(processor system)202とメモリ204を含んでいる。プロセッサシステム202は、典型的には、多くのエミュレーションプロセッサ(図示省略)と他の論理(図示省略)を含んでいる。
通信リンク210は、エミュレーションプロセッサ202からメモリ204へのエミュレーションデータ及びトレースデータを転送するために用いられる。通信リンク212は、エミュレーションプロセッサ202からメモリ204へのエミュレーションアドレス信号及びトレースアドレス信号を転送するために用いられる。同様に、通信リンク214は、エミュレーションプロセッサ202からメモリ204へのエミュレーションコントロール信号及びトレースコントロール信号を転送するために用いられる。
FIG. 2 shows a typical processor-based
A typical processor-based
エミュレーションエンジン200のような、一般的なプロセッサベースのエミュレーションエンジンでは、プロセッサシステム202内のエミュレーションプロセッサは、集積回路設計をエミュレートするために用いられる。しかしながら、エミュレーションプロセッサは、エミュレーションの間に、集積回路設計の内部状態を捕獲するためにも用いられる。
前述したように、エミュレーションに対して使用可能なエミュレーションリソースの量を著しく減少させるため、設計の内部状態を捕獲するためにエミュレーションプロセッサを用いることは好ましくない。
これは、定められた大きさのエミュレーションエンジン内でエミュレート可能な集積回路設計の大きさを制限する。このことは、集積回路設計が絶えずより大きくまたより複雑になっているため、非常に不利である。したがって、エミュレーションプロセッサは、捕獲回路に対して用いるよりも、設計内でブーラン論理を実行するために用いるのが好ましい。
In a typical processor-based emulation engine, such as
As previously mentioned, it is not desirable to use an emulation processor to capture the internal state of the design, as it significantly reduces the amount of emulation resources available for emulation.
This limits the size of integrated circuit designs that can be emulated within a defined size emulation engine. This is very disadvantageous because integrated circuit designs are constantly becoming larger and more complex. Thus, the emulation processor is preferably used to perform Boolean logic in the design rather than to the capture circuit.
図3は、本明細書に開示されている種々の実施の形態に対応するプロセッサベースのエミュレーションエンジン300を示している。プロセッサベースのエミュレーションエンジン300は、図1に示されているプロセッサベースのエミュレーションシステム100のような、プロセッサベースのエミュレーションシステム内に実装可能である。
プロセッサベースのエミュレーションエンジン300は、プロセッサシステム302、メモリ304及び捕獲リソース306を含んでいる。プロセッサシステム302は、多くのエミュレーションプロセッサ(図示省略)を含んでいる。エミュレーションプロセッサは、集積回路設計をエミュレートするように設計された特別な回路である。
捕獲リソース306によって、プロセッサベースのエミュレーションエンジン300は、前述した一般的なプロセッサベースのエミュレーションエンジンの不利な点を克服することができる。
プロセッサシステム302、捕獲リソース306及びメモリ304は、同じ集積回路あるいは共通のサブストレート(substrate)やバックプレーン(backplane)のいずれかに製造するのが好ましい。
FIG. 3 illustrates a processor-based
The processor-based
The processor system 302, capture
捕獲リソース306は、プロセッサシステム302内でエミュレーションプロセッサによって生成されたデータを捕獲し、そして、捕獲されたデータをメモリ304に転送するために用いられる。捕獲リソース306は、集積回路設計をエミュレートするためには用いられない。捕獲リソース306が集積回路設計をエミュレートするために用いられないため、プロセッサシステム302内のエミュレーションプロセッサは、集積回路設計の機能をエミュレートするためにのみ使用可能である。これにより、より大きくまたより複雑な集積回路設計が、定められた大きさのエミュレーションエンジン内でエミュレート可能となる。
エミュレーションデータ及びトレースデータは、通信リンク310を介してプロセッサ302と捕獲リソース306との間で転送され、また、通信リンク311を介して捕獲リソース306とメモリ304との間で転送される。エミュレーションアドレス信号及びトレースアドレス信号は、通信リンク312を介してプロセッサ302と捕獲リソース306との間で転送され、また、通信リンク313を介して捕獲リソース306とメモリ304との間で転送される。エミュレーションコントロール信号及びトレースコントロール信号は、通信リンク314を介してプロセッサ302と捕獲リソース306との間で転送され、また、通信リンク315を介して捕獲リソース306とメモリ304との間で転送される。
Emulation data and trace data are transferred between the processor 302 and the
捕獲リソース306は、プロセッサシステム302内の、選択されたエミュレーションプロセッサの出力を捕獲する。捕獲されるデータの量は、ユーザの要求に応じて変化する。例えば、ユーザが設計内への制限された可視性のみを必要とする場合には、捕獲リソース306は、制限されたデータ量を捕獲し、そのデータをメモリ304に供給可能である。また、捕獲リソース306は、トリガに基づいてデータを捕獲、すなわち、1あるいは多くの予め定められている状態が発生する時にデータを捕獲することができる。
図4Aは、例示的なプロセッサベースのエミュレーションエンジン400を示している。プロセッサベースのエミュレーションエンジン400は、図1に示されているプロセッサベースのエミュレーションシステム100のような、プロセッサベースのエミュレーションシステム内に実装可能である。
エミュレーションエンジン400は、処理システム(processing system)402、トレースアレイ(trace array)404、メモリ406、トレース論理(trace logic)408、RAMコントロール論理410、マルチプレクサ412及び414を含んでいる。
処理システム402は、複数のプロセッサクラスタ(processor cluster)416を含んでいる。プロセッサクラスタ16は、ブーラン式を実行するように設計された特別の回路であり、多くのエミュレーションプロセッサ(図4B参照)を含んでいる。図示されている実施の形態では、各プロセッサクラスタ416は、8つのエミュレーションプロセッサを含んでいる。プロセッサクラスタ416は、通信リンク417を介して互いにデータを転送可能である。
メモリ406は、プロセッサベースのエミュレーションエンジン400内の他の構成要素と同じ集積回路上に配設可能であり、または、1つあるいはより多くの別々の集積回路装置を有していてもよい。
FIG. 4A shows an exemplary processor-based
The
The
The
エミュレーションデータ、すなわち、ユーザ設計を実行する時にエミュレーションプロセッサによって生成されるデータは、通信リンク421を介して処理システム402とマルチプレクサ412との間で転送される。
トレースデータは、通信リンク422を介して処理システム402とトレースアレイ404との間で転送される。各通信リンク422は、特別のプロセッサクラスタ416とトレースアレイ404との間での専用の接続を提供する。トレースデータは、通信リンク423を介してトレースアレイ404とマルチプレクサ412との間で転送される。
エミュレーションデータあるいはトレースデータは、選択信号424の値に応じて、通信回線425を介してマルチプレクサ412とメモリ406との間で転送される。
Emulation data, ie, data generated by the emulation processor when performing a user design, is transferred between
Trace data is transferred between
The emulation data or trace data is transferred between the
エミュレーションアドレス信号は、通信リンク426を介して処理システム402とマルチプレクサ414との間で転送される。
トリガ信号は、通信リンク427を介して処理システム402とトレース論理408との間で転送される。
トレースアドレス信号は、通信リンク428を介してRAMコントロール論理410とマルチプレクサ414との間で転送される。
エミュレーションアドレス信号あるいはトレースアドレス信号は、選択信号424の値に応じて、通信リンク429を介してマルチプレクサ414とメモリ406との間で転送される。
Emulation address signals are transferred between
The trigger signal is transferred between
The trace address signal is transferred between the RAM control logic 410 and the
The emulation address signal or the trace address signal is transferred between the
エミュレーションコントロール信号は、通信リンク430を介して処理システム402とRAMコントロール論理410との間で転送される。
トレースコントロール信号は、通信リンク431を介してトレース論理408とRAMコントロール論理410との間で転送される。
RAMコントロール信号は、通信リンク432を介してRAMコントロール論理410とメモリ406との間で転送される。
Emulation control signals are transferred between
Trace control signals are transferred between
RAM control signals are transferred between RAM control logic 410 and
図4Bは、本明細書に開示されている実施の形態とともに用いられる、例示的なプロセッサクラスタ416を示している。
プロセッサクラスタ416は、8つのエミュレーションプロセッサ450、データスタック(data stack)452、マルチプレクサ454及び456、捕獲レジスタ458及び460を含んでいる。
エミュレーションプロセッサ450及びデータスタック452は、集積回路設計をエミュレートするためにのみ用いられるエミュレーションリソースとして作用する。すなわち、それらは、エミュレーションの間、集積回路設計の内部状態を捕獲するために用いられない。
これに比べて、マルチプレクサ454及び456、捕獲レジスタ458及び460は、エミュレーションの間、集積回路設計の内部状態を捕獲するための捕獲リソースとして作用する。すなわち、それらは、集積回路設計をエミュレートするために用いられない。
プロセッサクラスタ416は、単一の集積回路内に実装可能である。例えば、単一の集積回路は、1クラスタ当たり8つのプロセッサを有している96のプロセッサクラスタを包含可能である。
FIG. 4B illustrates an example processor cluster 416 for use with the embodiments disclosed herein.
The processor cluster 416 includes eight
In contrast,
The processor cluster 416 can be implemented in a single integrated circuit. For example, a single integrated circuit can include 96 processor clusters with 8 processors per cluster.
各エミュレーションプロセッサ450は、通信リンク470を介して4つの入力ビットを受信する。各エミュレーションプロセッサは1ビットのデータを出力し、それは、8ビットの通信リンク471を介してデータスタック452に供給される、1ビットのデータを出力する。同様に、1あるいはより多くの他のプロセッサクラスタ(図示省略)から、エミュレーションプロセッサの1ビットの出力が、8ビットの通信リンク472を介してデータスタック452に供給される。データスタック452の32ビットの出力は、32ビットの通信リンク473を介してマルチプレクサ454及び456に転送される。
マルチプレクサ454は、選択信号476の値に応じて32の入力ビットの1つを選択し、そして、1ビットの通信リンク474を介して、選択されたビットをレジスタ458に供給する。同様に、マルチプレクサ456は、選択信号477の値に応じて32の入力ビットの1つを選択し、そして、1ビットの通信リンク475を介して、選択されたビットをレジスタ460に供給する。選択信号476と477は、独立している。これにより、32ビットのうちの2ビットが、レジスタ458と460に供給可能である。
以下に詳述するように、レジスタ458と460によって捕獲されたデータは、集積回路設計の内部状態を決定するために用いることができるトレースデータである。トレースデータは、2ビットの通信リンク422を介して、プロセッサクラスタ416とトレースアレイ404(図4A)との間で転送される。
Each
As described in detail below, the data captured by registers 458 and 460 is trace data that can be used to determine the internal state of the integrated circuit design. Trace data is transferred between the processor cluster 416 and the trace array 404 (FIG. 4A) via a 2-
プロセッサクラスタ416のようなプロセッサクラスタや、エミュレーションプロセッサ450のような、プロセッサクラスタ内のエミュレーションに関する更なる詳細は、Beausoleilらに特許された米国特許第6618698号やBeausolilらに特許された米国特許第5551013号に開示されている。これらの双方は、参照として本明細書に組み込まれている。
エミュレーションプロセッサをクラスタ内に配置することによって、各クラスタ内のプロセッサは、共通のエミュレーションリソース(例えば、入力及びデータスタック)を分配する。これにより、相互の通信が改善され、米国特許第6618698号に説明されているように、エミュレーションの効率と速度が増大する。
For further details regarding processor clusters such as processor cluster 416 and emulation within processor clusters such as
By placing emulation processors in a cluster, the processors in each cluster distribute common emulation resources (eg, input and data stacks). This improves mutual communication and increases the efficiency and speed of emulation as described in US Pat. No. 6,618,698.
エミュレーションエンジン400及びプロセッサクラスタ416の動作は、図4A及び4Bを参照して説明されている。
ユーザが集積回路設計を完成した後、ユーザは、ホストコンピュータ102(図1)あるいは他のコンピュータ上で動作する特別のコンピュータソフトウェアを用いて、設計をコンパイルする。そして、コンパイルされた集積回路設計は、エミュレーションエンジン400内のエミュレーションプロセッサ450にロードされる。
一般的なエミュレーションエンジンと違って、捕獲論理は、コンパイルされた集積回路設計内に構築されず、したがって、エミュレーションプロセッサ450内にロードされないということを知ることが重要である。これにより、エミュレーションプロセッサ450は、集積回路設計内の論理を実行するためにのみ使用され、より大きくまたより複雑な集積回路設計が、定められた大きさのエミュレーショエンジン400内でエミュレートされることが可能となる。
The operation of
After the user completes the integrated circuit design, the user compiles the design using host computer 102 (FIG. 1) or special computer software running on another computer. The compiled integrated circuit design is then loaded into the
Unlike typical emulation engines, it is important to know that the capture logic is not built into the compiled integrated circuit design and is therefore not loaded into the
集積回路設計は、メインサイクルとして参照されている、予め定められた数のステップ(例えば、256)を順次実行することによってエミュレートされる。各メインサイクルは、動作環境の単一のクロックサイクル(例えば、ターゲットシステム内のクロックサイクル)に対応する。各ステップは、エミュレートされる集積回路設計内のクロックサイクルに対応する。
図4Bを参照すると、4ビットが、各エミュレーションステップの間に、各エミュレーションプロセッサ450の入力に供給される。接続は示されていないが、各エミュレーションプロセッサ450に対する4ビットの入力は、データスタック452からの32ビットの出力のいくつかから選択可能である。各エミュレーションプロセッサ450は、4つの入力ビットの値に基づいて、論理機能(例えば、AND、OR、XOR、NOT、NOR、NAND等)あるいはメモリアクセス機能を実行する。そして、各エミュレーションプロセッサ450は、論理あるいはメモリ動作の結果に対応する1ビットの結果を出力する。
そして、プロセッサクラスタ416内の8つのエミュレーションプロセッサ450の1ビットの出力は、通信リンク471を介して、プロセッサクラスタのデータスタック452に書き込まれる。
さらに、1つあるいはより多くの他のプロセッサクラスタ(図示省略)から、エミュレーションプロセッサの1ビットの出力が、8ビットの通信リンク472を介してデータスタック452に書き込まれる。
An integrated circuit design is emulated by sequentially executing a predetermined number of steps (eg, 256), referred to as the main cycle. Each main cycle corresponds to a single clock cycle of the operating environment (eg, a clock cycle in the target system). Each step corresponds to a clock cycle within the emulated integrated circuit design.
Referring to FIG. 4B, 4 bits are provided to the input of each
The 1-bit output of the eight
In addition, the 1-bit output of the emulation processor from one or more other processor clusters (not shown) is written to the data stack 452 via the 8-
データスタック452は、16ビットの幅で160ステップの深さであり、したがって、2560ビットのデータを蓄積可能である。
データスタック452の最初の8ビットは、8つのローカルエミュレーションプロセッサ450の1ビットの出力を蓄積するために用いられる。また、2番目の8ビットは、1あるいはより多くの他のプロセッサクラスタ(図示省略)からのエミュレーションプロセッサの8つの1ビットの出力を蓄積するために用いられる。これにより、16ビットが、エミュレーション内の各ステップに対して、データスタック452内に蓄積される。
The data stack 452 is 16 bits wide and 160 steps deep, and therefore can store 2560 bits of data.
The first 8 bits of data stack 452 are used to store the 1-bit output of 8
集積回路設計の内部状態は、各プロセッサクラスタ416内の捕獲リソースを用いて、各エミュレーションステップ(エミュレーションエンジンのクロックサイクルに等しい)で捕獲可能である。特に、選択論理(図示省略)は、データスタック452内の2560ビットの中の32ビットを選択し、これらビットを、通信リンク473を介してマルチプレクサ454と456に供給する。
マルチプレクサ454は、選択信号476の値に応じて、32ビットの中の1ビットを選択する。そのビットは、レジスタ458に蓄積される。同様に、マルチプレクサ456は、選択信号477の値に応じて、32ビットの中の1ビットを選択する。そのビットは、レジスタ460に蓄積される。そして、2つの蓄積されたビットは、通信リンク422を介してトレースアレイ404に供給される。
The internal state of the integrated circuit design can be captured at each emulation step (equal to the emulation engine clock cycle) using capture resources within each processor cluster 416. In particular, selection logic (not shown) selects 32 of the 2560 bits in
The
エミュレーションエンジン400は、各エミュレーションステップの間に、エミュレーションプロセッサ450の出力(8つの出力の中の2つ)の25%を捕獲可能であることを認識することが重要である。分析では、フル−ビジョンは、エミュレーションプロセッサ450の出力の約20%を捕獲することによって実行可能であることが示されている。したがって、エミュレーションエンジン400は、フル−ビジョン能力を提供する。
さらに、エミュレーションエンジン400は、エミュレーションエンジン400が、専用の捕獲リソースを含んでいるため、エミュレーションリソース(例えば、エミュレーションプロセッサ450)を用いることなく、フル−ビジョン能力を提供する。
It is important to recognize that the
Further, the
図4Aに示されているように、エミュレーションデータあるいはトレースデータの一方は、メモリ406に供給可能である。ユーザは、ホストコンピュータ102を介して、メモリ406内に蓄積されているエミュレーションデータあるいはトレースデータを読み出し可能である。
エミュレーションデータは、以下のようにして、メモリ406に蓄積される。
処理システム402内のエミュレーションプロセッサ450によって生成されたエミュレーションデータは、通信リンク421を介してマルチプレクサ412に供給される。選択信号424は、エミュレーションデータ入力を選択する。そして、マルチプレクサ412は、エミュレーションデータを、通信リンク425を介してメモリ406に供給し、蓄積する。
同時に、処理システム402は、通信リンク426を介して、エミュレーションアドレス信号をマルチプレクサ414に供給する。選択信号424は、エミュレーションアドレス入力を選択する。そして、マルチプレクサ414は、エミュレーションアドレス信号を、通信リンク429を介してメモリ406に供給する。
また、処理システム402は、エミュレーションコントロール信号を、通信リンク430を介してRAMコントロール論理410に供給する。RAMコントロール論理410は、RAMコントロール信号を、通信リンク432を介してメモリ406に順に供給する。
As shown in FIG. 4A, either emulation data or trace data can be supplied to the
The emulation data is stored in the
Emulation data generated by the
At the same time,
トレースデータは、以下のようにして、メモリ406に蓄積される。
トレースデータは、2ビットの通信リンク422を介してトレースアレイ404に供給される。トレースアレイ404は、トリガ状態の計算の間、トレースデータを一時的に蓄積するメモリ装置である。トレースアレイ404は、例えば、FIFO(ファーストイン−ファーストアウト)メモリ装置である。トレースアレイ404は、専用の捕獲リソースであり、集積回路設計のエミュレートに対しては用いられない。
トレースアレイ404が利用できない場合には、エミュレーションプロセッサ450のようなエミュレーションリソースが、トリガ状態の計算の間、トレースデータを一時的に蓄積するために用いられなければならない。
トリガ状態は、トレースデータがメモリ406に蓄積されるか否か、あるいは、トレースデータが廃棄されるか否かを決定する。トリガ状態は、トレースデータを捕獲するか否かを決定するために必要であるが、その状態の評価は、メモリ406に蓄積されるデータがトレースアレイ404に対して利用可能となった後に到来する。このトリガの評価における遅れは、トリガが、エミュレーションエンジン内の他のチップあるいはボードを含む、離れたか場所から到来する信号を用いているという事実に起因する。
トレースデータは、専用の捕獲リソースであるトレースアレイ404に蓄積されるが、トリガ状態は、エミュレーションリソースを用いて計算される。
The trace data is stored in the
Trace data is provided to trace array 404 via a 2-
If trace array 404 is not available, emulation resources such as
The trigger state determines whether trace data is stored in the
Trace data is stored in a trace array 404, which is a dedicated capture resource, but the trigger state is calculated using emulation resources.
トリガ状態が有効である場合には、トレースアレイ404に蓄積されているトレースデータは、メモリ406に書き込まれる。これを完成させるために、選択信号424が、マルチプレクサ412へのトレースデータ入力とマルチプレクサ414へのトレースアドレス信号を選択する。そして、適切なトレースアドレス信号とトレースコントロール信号が生成され、それぞれ通信リンク429及び432を介してメモリに供給される。
フル−ビジョンモードで動作する場合、トリガ状態は、常に有効であり、全てのトレースデータがメモリ406に蓄積される。
When the trigger state is valid, the trace data stored in the trace array 404 is written into the
When operating in full-vision mode, the trigger state is always valid and all trace data is stored in the
RAMアドレス及びRAMコントロール線は、処理システム402内の特別の論理(図示省略)によって生成される。RAMアドレス及びRAMコントロール線は、メモリ406自身が捕獲データ及びエミュレーションデータを蓄積するために用いられるため、捕獲使用とエミュレーション使用との間で分配される。捕獲モードで動作する場合には、アドレス及びコントロール信号は、専用の捕獲リソースで生成され、したがって、エミュレーションリソースは用いられない。
The RAM address and RAM control lines are generated by special logic (not shown) within the
いくつかの実施の形態では、メモリ406はDRAMである。エミュレーションサイクルの始めでは、DRAM406は、バーストモードに設定可能である。バーストモードであるが、トレースデータは、エミュレーションサイクル内の全てのステップでDRAMに書き込み可能である。エミュレーションサイクルの終わりでは、DRAM406は、バーストモードから解除され、リフレッシュ可能である。
In some embodiments, the
当業者は、エミュレーションエンジン400が、一般的なエミュレーションエンジンを越える多くの利益を提供することを認識する。
第一に、トレースデータを捕獲するための専用のリソースを用いることは、トレースが、エミュレーションリソースを用いる場合と比べて高速で実行可能であることを意味する。これらの捕獲リソースが、他のプロセッサの出力だけでなく、数ステップ前に対するローカルプロセッサクラスタの出力から選択することができるとう事実は、効率を改善する。また、トレースを作動させることは、エミュレーション目的に利用可能なプロセッサの数に影響を及ぼさない。メモリは依然として分配されるが、メモリの数は、ユーザが、フル−ビジョンモード時でも利用可能なメモリを有するように、増加可能である。状態獲得に対してトレースアレイを用いることによって、非常に多くのエミュレーションリソースが節約される。トリガ状態計算の結果を待機しながら、エミュレーションプロセッサを用いてトレースデータを蓄積する必要が無いことは、これらのプロセッサがエミュレーションリソースとして使用可能であることを意味する。
Those skilled in the art will recognize that the
First, using a dedicated resource for capturing trace data means that tracing can be performed faster than when using emulation resources. The fact that these capture resources can be selected not only from the output of other processors, but also from the output of the local processor cluster over several steps ago, improves the efficiency. Also, activating trace does not affect the number of processors available for emulation purposes. Although the memory is still distributed, the number of memories can be increased so that the user has memory available even in full-vision mode. By using a trace array for state acquisition, a great deal of emulation resources are saved. The fact that there is no need to accumulate trace data using the emulation processor while waiting for the result of the trigger state calculation means that these processors can be used as emulation resources.
第二に、エミュレーションエンジン400は、エミュレートされる設計を修正する必要なしに、異なるデータが捕獲されるのを可能とする。ユーザは、選択信号476及び477に対して異なる値を用いることによって、異なるデータを捕獲可能である。一般的なプロセッサベースのエミュレーションシステムでは、捕獲されるデータが変化すると、設計を再コンパイルする必要がある。なぜなら、蓄積される必要があるデータは、正しいエミュレーションプロセッサに再方向付けされる必要があり、また、そのエミュレーションプロセッサ内で実行される論理機能が、他のエミュレーションプロセッサに移されなければならないからである。
Second, the
最後に、エミュレーションエンジン400は、実際に達成するのが非常に困難である、非常に大規模のエミュレーションシステムにおいて、フル−ビジョンを達成するために使用可能である。例えば、ケイデンスデザインシステムズによって開発中の大規模のエミュレーションシステムは、約2億5千6百万個のASICゲートと等しい機能である、合計884736個のエミュレーションプロセッサを含んでいる。このシステム内のエミュレーションプロセッサは、約200MHzで動作する。本明細書に開示されているものと同様の実施の形態を用いることによって、このエミュレーションシステムは、200MHzにおいて1クロック当たり221184ビットである、全てのプロセッサ出力の約25%を捕獲することができる。このデータを捕獲するためには、エミュレーションシステムは、それぞれ400MHz(すなわち、200MHzのエミュレーションプロセッサクロックの2倍の速さ)で動作する、多くの一般的なRAMチップを用いる。各RAMチップは、エミュレーションクロックサイクル当たり64ビットを捕獲することができる。したがって、プロセッサからの221184ビットの出力を捕獲するためには、合計3456個のRAMチップが使用される。
Finally, the
このシステムの帯域幅(1秒当たりのビット)は、44トリロン(1012)ビット/秒(すなわち、211184ビット×200MHz)に等しい。さらに、このシステムで用いられるメモリの深さは2Mである。このことは、エミュレーションシステムが、合計450ビリオン(109)ビットのデータを捕獲する能力を有していることを意味する。当業者が認識するように、このエミュレーションシステムによって捕獲可能なデータ量は、非常に大きく、また、大規模エミュレーションシステム内でフル−ビジョンを達成するための能力は、重要な技術業績である。 The bandwidth (bits per second) of this system is equal to 44 torrons (10 12 ) bits / second (ie 211184 bits × 200 MHz). Furthermore, the depth of the memory used in this system is 2M. This means that the emulation system has the ability to capture a total of 450 virion (10 9 ) bits of data. As those skilled in the art will appreciate, the amount of data that can be captured by this emulation system is very large, and the ability to achieve full vision within a large emulation system is an important technical achievement.
当業者は、多くの修正が、エミュレーションエンジン400に対して実行可能であることを認識する。前述したように、エミュレーションエンジン400は、エミュレーションプロセッサ出力の25%を捕獲することができる。したがって、エミュレーションエンジンは、エミュレーションプロセッサの出力の大体20%がフル−ビジョンを達成するために捕獲される必要があるため、フル−ビジョンを実行することができる。
しかしながら、エミュレーションエンジン400は、必要であれば、他のデータを捕獲するように容易に修正することができる。例えば、捕獲されるビットの数が増加可能であり、および/または、データスタック452の深さが増加可能である。より多くの出力ビットが捕獲される場合には、フル−ビジョンを達成するために必要な計算が少なくなり、システムの速度を潜在的に増大させることができる。
また、修正は、捕獲レジスタ458及び460が、データを捕獲するために用いられる回路の量を増加させることなく、より多くのデータの捕獲を可能とする増大された速度で作動するように実行可能である。
また、トレースアレイ404は、より洗練された方法で、トレースデータを捕獲するために用いることができる。例えば、トレースアレイ404は、エミュレーションの全ステップの間ではないが、フル−ビジョンに対して必要な、エミュレーションプロセッサの出力の量を捕獲することができる。
トリガを用いることによって、任意のステップのみ捕獲することができる。これにより、“興味がある”サイクルでのみフル−ビジョンを提供する。
また、エミュレーションエンジン400は、エミュレーションが停止し、そして、捕獲リソースが、エミュレーションエンジン400内の全てのデータスタック452をメモリ406内にダンプするために用いられるように修正可能である。これは、ユーザに、最後の数サイクルに対する、チップ内の全ての単一のプロセッサの出力を提供する。これは、フル−ビジョンのようなものに対して必要とされる値だけでなく、任意のプロセッサ出力の値を再生成する必要なしに、ユーザに設計の可視性を与える、全ての中間値を含んでいる。
Those skilled in the art will recognize that many modifications can be made to the
However, the
Modifications can also be made so that capture registers 458 and 460 operate at an increased rate that allows more data to be captured without increasing the amount of circuitry used to capture the data. It is.
Trace array 404 can also be used to capture trace data in a more sophisticated manner. For example, the trace array 404 can capture the amount of emulation processor output required for full-vision, but not during every step of emulation.
By using a trigger, only an arbitrary step can be captured. This provides full-vision only on “interesting” cycles.
また、当業者は、本明細書に開示されている実施の形態が、エミュレーションエンジン及びシミュレーションアクセラレータに適用可能であることを認識する。双方における根本的な技術は、プロセッサの使用であるため、本明細書に開示されている実施の形態は、双方の適用に有益である。 Those skilled in the art will also recognize that the embodiments disclosed herein are applicable to emulation engines and simulation accelerators. Since the underlying technology in both is the use of a processor, the embodiments disclosed herein are beneficial for both applications.
種々の独創性がある概念が、前述の特別な実施の形態を参照にして説明されている。しかしながら、本明細書に開示されている独創性がある概念のより広い精神及び範囲から逸脱することなく、種々の修正及び変更がそれらに対して実行可能であることは明らかである。例えば、読み手は、本明細書に開示されているプロセッサ行動の特別な順序や組み合わせは、単に例示であり、独創性がある概念は、異なるあるいは追加の処理行動、処理行動の異なる組み合わせあるいは順序を用いて実行可能であることを理解すべきである。したがって、明細書及び図面は、限定の意味ではなく例示の意味で認識され、独創性がある概念は、請求項及びそれらの法律上の均等物に対応する場合を除いて、限定あるいは制限されない。 Various inventive concepts have been described with reference to the specific embodiments described above. It will be apparent, however, that various modifications and changes can be made thereto without departing from the broader spirit and scope of the inventive concepts disclosed herein. For example, readers may note that the particular order or combination of processor behaviors disclosed herein is merely an example, and the inventive concept is for different or additional processing behaviors, different combinations or orders of processing behaviors. It should be understood that it is feasible to use. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense, and the inventive concept is not limited or restricted except as it corresponds to the claims and their legal equivalents.
102 ホストコンピュータ
104、200、300、400 エミュレーションエンジン
106 ターゲットシステム
202、302 プロセッサシステム
204、304、406 メモリ
306 捕獲リソース
402 処理システム
404 トレースアレイ
408 トレース論理
410 RAMコントロール論理
412、414、454、456 マルチプレクサ
416 プロセッサクラスタ
450 エミュレーションプロセッサ
452 データスタック
458、460 レジスタ
102
Claims (18)
集積回路設計をエミュレートするための複数のプロセッサクラスタと、
集積回路設計のエミュレーションの間にデータを捕獲するための捕獲回路と、
捕獲されたデータを蓄積するためのメモリとを備え、
各プロセッサクラスタは、捕獲回路と電気的に通信可能であり、捕獲回路は、メモリと電気的に通信可能である。 A system for emulating an integrated circuit design,
Multiple processor clusters to emulate an integrated circuit design;
A capture circuit for capturing data during emulation of an integrated circuit design;
A memory for storing captured data;
Each processor cluster is in electrical communication with the capture circuit, and the capture circuit is in electrical communication with the memory.
複数のプロセッサと、
複数のプロセッサと電気的に通信可能であるデータスタックを含んでいる。 The system of claim 1, wherein each processor cluster is
Multiple processors,
A data stack that is in electrical communication with a plurality of processors is included.
複数のプロセッサと、
複数のプロセッサと電気的に通信可能であるデータスタックと、
データスタックと電気的に通信可能である複数のマルチプレクサを含んでいる。 The system of claim 1, wherein each processor cluster is
Multiple processors,
A data stack capable of electrical communication with multiple processors;
A plurality of multiplexers that are in electrical communication with the data stack are included.
複数のプロセッサと、
複数のプロセッサと電気的に通信可能であるデータスタックと、
データスタックと電気的に通信可能である複数のマルチプレクサと、
複数のマルチプレクサと電気的に通信可能である複数のレジスタを含んでいる。 The system of claim 1, wherein each processor cluster is
Multiple processors,
A data stack capable of electrical communication with multiple processors;
A plurality of multiplexers in electrical communication with the data stack;
A plurality of registers that are in electrical communication with the plurality of multiplexers are included.
集積回路設計からの論理を実行する複数のエミュレーションプロセッサを有する複数のプロセッサクラスタと、
集積回路設計のエミュレーションの間に、プロセッサクラスタによって生成されるデータを捕獲するように動作可能な捕獲回路とを備え、
各プロセッサクラスタは、捕獲回路に対する専用の接続を有している。 A processor-based emulation system,
A plurality of processor clusters having a plurality of emulation processors executing logic from an integrated circuit design;
A capture circuit operable to capture data generated by the processor cluster during emulation of the integrated circuit design;
Each processor cluster has a dedicated connection to the capture circuit.
複数のプロセッサと、
複数のプロセッサと電気的に通信可能であるデータスタックを含んでいる。 11. The processor-based emulation system of claim 10, wherein each processor cluster is
Multiple processors,
A data stack that is in electrical communication with a plurality of processors is included.
複数のプロセッサと、
複数のプロセッサと電気的に通信可能であるデータスタックと、
データスタックと電気的に通信可能である複数のマルチプレクサを含んでいる。 11. The processor-based emulation system of claim 10, wherein each processor cluster is
Multiple processors,
A data stack capable of electrical communication with multiple processors;
A plurality of multiplexers that are in electrical communication with the data stack are included.
複数のプロセッサと、
複数のプロセッサと電気的に通信可能であるデータスタックと、
データスタックと電気的に通信可能である複数のマルチプレクサと、
複数のマルチプレクサと電気的に通信可能である複数のレジスタを含んでいる。 11. The processor-based emulation system of claim 10, wherein each processor cluster is
Multiple processors,
A data stack capable of electrical communication with multiple processors;
A plurality of multiplexers in electrical communication with the data stack;
A plurality of registers that are in electrical communication with the plurality of multiplexers are included.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005159567A JP2006338144A (en) | 2005-05-31 | 2005-05-31 | Emulation system of processor base |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005159567A JP2006338144A (en) | 2005-05-31 | 2005-05-31 | Emulation system of processor base |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006338144A true JP2006338144A (en) | 2006-12-14 |
Family
ID=37558674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005159567A Pending JP2006338144A (en) | 2005-05-31 | 2005-05-31 | Emulation system of processor base |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006338144A (en) |
-
2005
- 2005-05-31 JP JP2005159567A patent/JP2006338144A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7739093B2 (en) | Method of visualization in processor based emulation system | |
US10503848B2 (en) | Target capture and replay in emulation | |
US9703579B2 (en) | Debug environment for a multi user hardware assisted verification system | |
US9081925B1 (en) | Estimating system performance using an integrated circuit | |
US11475193B2 (en) | Control path verification of hardware design for pipelined process | |
US7054802B2 (en) | Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading | |
JP2002358340A (en) | Circuit for logical emulation, logical board with the circuit, logical emulator, and communication method in logical emulation | |
US8626965B2 (en) | Using a DMA engine to automatically validate DMA data paths | |
US10664563B2 (en) | Concurrent testbench and software driven verification | |
US8027828B2 (en) | Method and apparatus for synchronizing processors in a hardware emulation system | |
US10664637B2 (en) | Testbench restoration based on capture and replay | |
US20060212768A1 (en) | Verification circuitry for master-slave system | |
US20180120379A1 (en) | Driving pervasive commands using breakpoints in a hardware-accelerated simulation environment | |
US10546081B2 (en) | Full memory logical erase for circuit verification | |
US20110239067A1 (en) | Verification of design information for controlling manufacture of a system on a chip | |
US11176018B1 (en) | Inline hardware compression subsystem for emulation trace data | |
US20110307239A1 (en) | Hardware Emulation Proxy for Hardware Software Co-Emulation | |
US10409624B1 (en) | Data array compaction in an emulation system | |
US7389455B2 (en) | Register file initialization to prevent unknown outputs during test | |
US11113441B1 (en) | Reduce/broadcast computation-enabled switching elements in an emulation network | |
US20130054218A1 (en) | Method and Software Tool for Automatically Testing a Circuit Design | |
JP2006338144A (en) | Emulation system of processor base | |
US10410713B1 (en) | Content addressable memory modeling in emulation and prototyping | |
US9721048B1 (en) | Multiprocessing subsystem with FIFO/buffer modes for flexible input/output processing in an emulation system | |
KR100439073B1 (en) | A semiconductor device comprising a function evaluation function |