JP2009031933A - Scalable reconfigurable prototype system and method - Google Patents

Scalable reconfigurable prototype system and method Download PDF

Info

Publication number
JP2009031933A
JP2009031933A JP2007193721A JP2007193721A JP2009031933A JP 2009031933 A JP2009031933 A JP 2009031933A JP 2007193721 A JP2007193721 A JP 2007193721A JP 2007193721 A JP2007193721 A JP 2007193721A JP 2009031933 A JP2009031933 A JP 2009031933A
Authority
JP
Japan
Prior art keywords
tool
programmable logic
user
signal
output
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
Application number
JP2007193721A
Other languages
Japanese (ja)
Inventor
▲黄▼八揆
Hachiki Ko
Mon-Ren Chene
陳睦仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
S2C Inc
Original Assignee
S2C Inc
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
Application filed by S2C Inc filed Critical S2C Inc
Priority to JP2007193721A priority Critical patent/JP2009031933A/en
Publication of JP2009031933A publication Critical patent/JP2009031933A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Microcomputers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a system and a method for use in the design and emulation of user design via a reconfigurable platform. <P>SOLUTION: A system and a method are provided for use in the design and emulation of user designs via a reconfigurable platform. The system and the method enable user design of a system-on-chip type to be designed and emulated more easily. A netlist in the user design uses a platform including a plurality of field programmable gate array devices and can be included in a netlist of customized or optimized third-party circuits. Various customized circuits are configured to interact with the user design to provide functions such as debugging, performance analysis, connection to a simulator, etc. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は回路設計の自動化と検証(validation)技術に関し、特に、本発明はシステム・オン・チップ型(SoC)回路の設計の自動化と検証技術に関する。   The present invention relates to circuit design automation and validation techniques, and in particular, the present invention relates to system on-chip (SoC) circuit design automation and validation techniques.

集積度の向上に伴い、多くの複雑な論理システムが現在1つの集積回路上で実現される。このような集積回路はシステム・オン・チップ(SoC)と呼ばれる。SoCには一般に、マイクロプロセッサや周辺設備、メモリコントローラ等、いくつかの複雑なユニットが含まれる。多くのSoCはいくつかの他メーカーの既存の回路設計を採用しており、これらの回路設計を業界では「IPコア」と呼んでいる。   With increasing integration, many complex logic systems are currently implemented on a single integrated circuit. Such an integrated circuit is called a system on chip (SoC). The SoC generally includes several complex units such as a microprocessor, peripheral equipment, and a memory controller. Many SoCs employ existing circuit designs from several other manufacturers, and these circuit designs are referred to in the industry as “IP cores”.

現有技術においては、ユーザデザインを含む1つまたは複数のサードパーティのIPコアを統合したシステムにデバッグを行なうことは非常に困難であり、これは、ユーザが往々にしてユーザデザインとIPコアのインターフェースを介しIPコアのタイミングと論理動作を完全に制御できないからである。例えば、ユーザデザインの不正確な出力信号がIPコアに予期できない動作を発生させ、さらにIPコアの動作がユーザデザインにフィードバックされてユーザデザインを予期できない状態にさせてしまう。このようなエラーは診断とポジショニングが極めて難しい。このため、設計者がユーザデザインとIPコア間のインターフェースを制御できるようにする設計ツールが必要とされている。   In current technology, it is very difficult to debug into a system that integrates one or more third party IP cores, including user designs, which is often the user interface between user designs and IP cores. This is because the timing and logic operation of the IP core cannot be completely controlled via the network. For example, an incorrect output signal of the user design causes an unexpected operation in the IP core, and the operation of the IP core is fed back to the user design to make the user design in an unpredictable state. Such errors are extremely difficult to diagnose and position. For this reason, there is a need for a design tool that allows the designer to control the interface between the user design and the IP core.

本発明の目的は、再構成可能型プラットフォームを介しユーザデザインの設計とエミュレーションに用いるシステム及びその方法を提供することにある。   It is an object of the present invention to provide a system and method for use in user design design and emulation via a reconfigurable platform.

本発明の方法は特にIPベースの設計方法学に適用でき、例えばユーザが自己設計したユーザデザインとサードパーティのIPコアを実行できるSoCタイプの設計に適用することができる。本発明はメモリと一定数量のフィールド・プログラマブル・ロジック・デバイス(field programmable logic device)から構成されるプラットフォーム上で実現することができる。ここにおけるフィールド・プログラマブル・ロジック・デバイスは、プログラマブル・ゲート・アレイ(programmable gate array)とすることができる。さまざまなカスタマイズされた回路をユーザデザインと相互作用させて構成し、デバッグやパフォーマンス分析、シミュレータとの接続等の機能を提供することができる。   The method of the present invention is particularly applicable to IP-based design methodology, for example, a user design self-designed by a user and a SoC type design capable of executing a third party IP core. The present invention can be implemented on a platform composed of a memory and a certain number of field programmable logic devices. The field programmable logic device herein can be a programmable gate array. Various customized circuits can be configured to interact with the user design to provide functions such as debugging, performance analysis, and simulator connection.

本発明の具体的な一実施例において、ユーザデザインの設計とエミュレーションに用いるシステムは、(1)ユーザワークステーションと接続されるインターフェースとデータ通信インターフェースを備えたシステムコントローラと、(2)前記データ通信インターフェースと接続される模擬プラットフォームを含み、前記模擬プラットフォームが複数のフィールド・プログラマブル・ロジック・デバイスとメモリデバイスを含み、ユーザデザインとサードパーティIPコアの実現に用いられ、前記プラットフォームはさらにターゲットシステムに接続するインターフェースを含み、実行時にユーザデザインと相互作用する。前記データ通信インターフェースは一組のコンフィギュレーションバス、一組のシステムアクセスバス、一組のクロックバスを含む。前記のターゲットシステムに接続するインターフェースは一組プログラマブルデバイスの入力/出力ポートからの信号を含む。   In a specific embodiment of the present invention, a system used for designing and emulating a user design includes (1) a system controller having an interface connected to a user workstation and a data communication interface, and (2) the data communication. Including a simulated platform connected to an interface, wherein the simulated platform includes a plurality of field programmable logic devices and memory devices and is used to implement a user design and a third party IP core, the platform further connected to a target system Interface that interacts with the user design at runtime. The data communication interface includes a set of configuration buses, a set of system access buses, and a set of clock buses. The interface connected to the target system includes signals from the input / output ports of a set of programmable devices.

本発明の具体的な一実施例に基づき、ユーザデザインの設計とエミュレーションに用いるシステムを使用して、ユーザはユーザデザインと1つまたは複数のサードパーティIPコアを含む最上位モジュールを生成する。続いてユーザはユーザデザインを統合することができる。ユーザデザインとサードパーティIPコアは合理的に複数のブロックに区分され、各ブロックは1つまたは複数のプログラマブル・ロジック・デバイスで実現される。このほか、各プログラマブル・ロジック・デバイスと各IPコアはすべて1つのインターフェースモジュールが割り当てられる。前記インターフェースモジュールを介していずれかのプログラマブル・ロジック・デバイス内に実現されたIPコアに別のいずれかの同じプログラマブル・ロジック・デバイス内のブロック、または別のプログラマブル・ロジック・デバイス内のいずれかのブロックと通信させることもできる。これらブロックとインターフェースモジュールは後に配線され、プログラマブル・ロジック・デバイス内に物理的に実現される。   In accordance with a specific embodiment of the present invention, using the system used for user design design and emulation, the user generates a top-level module that includes the user design and one or more third-party IP cores. The user can then integrate the user design. The user design and the third party IP core are reasonably partitioned into multiple blocks, each block being implemented with one or more programmable logic devices. In addition, each programmable logic device and each IP core are all assigned one interface module. Any of the blocks in any one of the same programmable logic devices to the IP core implemented in any of the programmable logic devices via the interface module, or in any of the other programmable logic devices You can also communicate with the block. These blocks and interface modules are later wired and physically implemented in the programmable logic device.

本発明の具体的な一実施例に基づき、前記各IPコアまたは各プログラマブル・ロジック・デバイス内に割り当てられるインターフェースモジュールは、制御回路と一組の可変数量の入力/出力ユニットを含み、各ユニットが1ビット(1−bit)の相互接続ポートを提供する。前記実施例において、各入力/出力ユニットは動的再構成可能型のメモリモジュール、1ビットの相互接続ポートに出力する出力信号を選択するためのマルチパスセレクタ及び一定数量のラッチを含み、各ラッチは1ビットの相互接続ポートから受信される信号を選択的に捕らえることができる。前記マルチパスセレクタとラッチは動的再構成可能型メモリモジュールのメモリに保存された数値で制御することができる。前記動的再構成可能型メモリモジュールは1つまたは複数の動的再構成可能型メモリユニットから構成することができ、且つステートマシン(例:カウンター)が生成するアドレスにアクセスする。動的再構成可能型メモリモジュールは通常ユーザデザインで使用するクロック周波数より高いクロックを使用して操作することができる。   In accordance with a specific embodiment of the present invention, the interface module allocated within each IP core or each programmable logic device includes a control circuit and a set of variable quantity input / output units, each unit comprising: Provides a 1-bit interconnect port. In the embodiment, each input / output unit includes a dynamically reconfigurable memory module, a multipath selector for selecting an output signal to be output to a 1-bit interconnection port, and a certain number of latches. Can selectively capture signals received from a 1-bit interconnect port. The multi-pass selector and the latch can be controlled by numerical values stored in the memory of the dynamically reconfigurable memory module. The dynamically reconfigurable memory module may be composed of one or more dynamically reconfigurable memory units and accesses an address generated by a state machine (eg, a counter). A dynamically reconfigurable memory module can be operated using a clock that is higher than the clock frequency normally used in the user design.

前記インターフェースモジュールは出力ポート、入力ポート、双方向ポートまたは3ステートポートを実現するために用いることができる。また、インターフェースモジュール内に実現されるポートのタイプは動態的に変更することができる。根據指定のテストまたはデバッグ状況(例えばバウンダリスキャン操作中など)に基づき、インターフェースモジュールは1つのプログラマブル・ロジック・デバイス中のIPコアとその他同一または異なるプログラマブル・ロジック・デバイス中のIPコアを隔離するよう構成して用いることもできる。   The interface module can be used to implement an output port, an input port, a bidirectional port, or a three-state port. Also, the type of port implemented in the interface module can be dynamically changed. Based on a definitive test or debug situation (such as during a boundary scan operation), the interface module may isolate an IP core in one programmable logic device from another in the same or different programmable logic device. It can also be configured and used.

本発明の具体的な一実施例に基づき、1つまたは複数のプログラマブル・ロジック・デバイスは検証IPコアに割り当て、ユーザ回路の機能検証に用いることができる。例えば、このような検証IPコアは業界標準バスのシミュレーション操作を含むことができる。   In accordance with a specific embodiment of the present invention, one or more programmable logic devices can be assigned to a verification IP core and used for functional verification of a user circuit. For example, such a verification IP core can include industry standard bus simulation operations.

本発明の別の具体的な一実施例に基づき、1つまたは複数のプログラマブル・ロジック・デバイスはパフォーマンス分析IPコアに割り当てることができる。例えば、パフォーマンス分析IPコアはバス帯域幅を分析するために用いるIPコアを含むことができる。   In accordance with another specific embodiment of the present invention, one or more programmable logic devices can be assigned to a performance analysis IP core. For example, the performance analysis IP core can include an IP core used to analyze bus bandwidth.

本発明の具体的な一実施例に基づき、前記システムは選択したプログラマブル・ロジック・デバイス中の論理回路の動的再構成に用いるコンフィギュレーションツールを提供する。前記コンフィギュレーションツールは、複数のプログラマブル・ロジック・デバイスを備えた回路板上のバスを動的再構成するために用いるバックプレーンコンフィギュレーションツールを含むことができる。   In accordance with a specific embodiment of the present invention, the system provides a configuration tool for use in dynamic reconfiguration of logic circuits in selected programmable logic devices. The configuration tool may include a backplane configuration tool used to dynamically reconfigure a bus on a circuit board with a plurality of programmable logic devices.

本発明の具体的な一実施例に基づき、前記システムは進行時に複数のプログラマブル・ロジック・デバイス間の信号を監視測定し分析するシステムデバッグツールを提供する。前記システムデバッグツールは、FPGA(フィールド・プログラマブル・ゲート・アレイ)リードバックツール、システムアクセスバス操作ツール、内部ロジックアナライザツール、帯域幅分析ツール、コード/イベント抽出ツールとシミュレータ接続ツールを含むことができる。前記内部ロジックアナライザツールは1つまたは複数のプログラマブル・ロジック・デバイス中にロジックアナライザ回路を挿入する。コード/イベント抽出ツールはユーザに1つまたは複数の信号を関連付け、1つのコード名を設定するか、複数の信号から構成する1つのイベントを設定させることができる。1つのイベントは一定時間内の一組の信号波形で設定することができる。デバッグツールはイベントの発生を検知し、且つコード名の方式でユーザに報告することができる。シミュレータ接続ツールはユーザにユーザワークステーション上で実行されるシミュレーションプログラムと相互作用させ、共同でソフト/ハードウェア協調検証環境を構築することができる。   In accordance with a specific embodiment of the present invention, the system provides a system debug tool that monitors and measures signals between multiple programmable logic devices as they progress. The system debug tools may include an FPGA (Field Programmable Gate Array) readback tool, a system access bus operation tool, an internal logic analyzer tool, a bandwidth analysis tool, a code / event extraction tool, and a simulator connection tool. . The internal logic analyzer tool inserts a logic analyzer circuit in one or more programmable logic devices. The code / event extraction tool can associate one or more signals with a user, set one code name, or set one event composed of multiple signals. One event can be set by a set of signal waveforms within a certain period of time. The debug tool can detect the occurrence of an event and report it to the user in a code name manner. The simulator connection tool allows the user to interact with a simulation program executed on the user workstation and jointly construct a software / hardware co-verification environment.

本発明のシステムと方法はシステム・オン・チップタイプのユーザデザインをより容易に設計し、エミュレーションできるようにする。ユーザデザインのうちのネットリストは複数のフィールド・プログラマブル・ゲート・アレイ・デバイスを含むプラットフォームを使用し、カスタマイズされたまたは最適化されたサードパーティ回路のネットリストに含むことができ、さまざまなカスタマイズされた回路をユーザデザインと相互作用させて構成し、デバッグやパフォーマンス分析、シミュレータとの接続等の機能を提供することができる。   The system and method of the present invention allows system on chip type user designs to be designed and emulated more easily. Netlists in user designs can be included in customized or optimized third-party circuit netlists using platforms that include multiple field programmable gate array devices, and can be customized The circuit can be configured by interacting with the user design, and functions such as debugging, performance analysis, and simulator connection can be provided.

図1に本発明の具体的な実施例の電気再構成可能型プロトタイプシステム100を示す。この図に示すように、電気再構成可能型プロトタイプシステム100はスケーラブル再構成可能型プロトタイププラットフォーム103を含み、前記プロトタイププラットフォーム1031つまたは複数のFPGA回路から構成することができる。スケーラブル再構成可能型プロトタイププラットフォーム103はターゲットシステム104とプログラマブルな入力/出力ポート105を介して相互作用を行なうことができる。これら入力/出力ポートはFPGAにより駆動することができる。スケーラブル再構成可能型プロトタイププラットフォーム103はシステムコントローラ102により一組または複数組のデータバスを介して制御される。本実施例において、これらデータバスは、システムコンフィギュレーションバス108、システムアクセスバス(SUB)107、クロックバス(パルスバス)106を含む。システムコンフィギュレーションバス108はFPGA回路のコンフィギュレーションに用いられる。システムアクセスバス(SUB)107はシステムコントローラ102とスケーラブル再構成可能型プロトタイププラットフォーム103間でのデータ通信に用いられる。パルスバス106はスケーラブル再構成可能型プロトタイププラットフォーム103の操作に1つまたは複数の時間基準を提供する。   FIG. 1 shows an electrically reconfigurable prototype system 100 according to a specific embodiment of the present invention. As shown in this figure, an electrically reconfigurable prototype system 100 includes a scalable reconfigurable prototype platform 103 and can be constructed from the prototype platform 1031 or a plurality of FPGA circuits. The scalable reconfigurable prototype platform 103 can interact with the target system 104 via programmable input / output ports 105. These input / output ports can be driven by an FPGA. The scalable reconfigurable prototype platform 103 is controlled by the system controller 102 via one or more sets of data buses. In this embodiment, these data buses include a system configuration bus 108, a system access bus (SUB) 107, and a clock bus (pulse bus) 106. The system configuration bus 108 is used for configuration of the FPGA circuit. A system access bus (SUB) 107 is used for data communication between the system controller 102 and the scalable reconfigurable prototype platform 103. The pulse bus 106 provides one or more time references for the operation of the scalable reconfigurable prototype platform 103.

ユーザワークステーション101はユーザに図形化されたユーザインターフェースを提供し、電気再構成可能型プロトタイプシステム100の動作を制御する。この図形化されたインターフェースを介して、ユーザワークステーション101のユーザはユーザデザインにアクセスし、ユーザデザインをスケーラブル再構成可能型プロトタイププラットフォーム103に適用するコンフィギュレーション信号に変換するコンパイラを操作して、各種IPライブラリを使用し、電子設計自動化ソフトウェアと実行時のソフトウェアを使用することができる。ユーザワークステーション101はエンジニアリングワークステーションまたはパーソナルコンピュータとすることができる。本実施例において、ユーザワークステーション101とシステムコントローラ102は業界標準通信インターフェース109を介して通信を行なう。前記インターフェース109はUSB、PCI、IEEE−1394(「ファイアワイヤ」とも呼ばれる)またはその他各種業界標準通信バスとすることができる。   User workstation 101 provides a user with a graphical user interface and controls the operation of electrically reconfigurable prototype system 100. Through this graphical interface, the user of the user workstation 101 accesses the user design, operates a compiler that converts the user design into a configuration signal that is applied to the scalable reconfigurable prototype platform 103, and performs various operations. Using an IP library, electronic design automation software and runtime software can be used. User workstation 101 may be an engineering workstation or a personal computer. In this embodiment, the user workstation 101 and the system controller 102 communicate via an industry standard communication interface 109. The interface 109 may be USB, PCI, IEEE-1394 (also referred to as “firewire”) or any other industry standard communication bus.

本実施例において、ユーザデザインは一般的な回路図ツールを介して入力または編集するか、動作(Behavior)またはハードウェア記述言語(例:SystemC、 Verilog、System Verilog、VHDL等)を用いて表現することができ、その後論理ゲートレベルの回路図に統合される。本発明はハードウェアプロトタイプシステム、すなわち電気再構成可能型プロトタイプシステム100内に統合済みの回路に対するエミュレーションと検証を実現することができる。   In this embodiment, the user design is input or edited through a general circuit diagram tool, or expressed using an operation (Behavior) or a hardware description language (eg, SystemC, Verilog, System Verilog, VHDL, etc.). Can then be integrated into a logic gate level circuit diagram. The present invention can provide emulation and verification of a circuit integrated within a hardware prototype system, ie, an electrically reconfigurable prototype system 100.

図2にシステムコントローラ102のダイアグラムを示す。システムコントローラ102は、通信インターフェース204、システムアクセスバスコントローラ202、パルス生成器(クロック生成器)203、コンフィギュレーションコントローラ201を含む。コンフィギュレーションコントローラ201はコンフィギュレーション信号プロトコルを処理し、且つユーザワークステーション101からコンフィギュレーションバス108を介しコンフィギュレーションデータをスケーラブル再構成可能型プロトタイププラットフォーム103に伝送する。これにより、コンフィギュレーションコントローラ201は定義された形式のユーザデザインをスケーラブル再構成可能型プロトタイププラットフォーム103中のFPGAにコンフィギュレーションまたはダウンロードすることができる。システムコンフィギュレーションバス108も各FPGA中の設計をリードバックし、検証するため用いたり、或いは実行時ユーザデザイン中の状態情報とデータを取得するために用いることができる。リードバック操作は通常一般的な技術を介して、またはSelectMapやJTAG(バウンダリスキャン)など、供給元が提供するプロトコルを使用する。本実施例において、システムコンフィギュレーションバス108は電気再構成可能型プロトタイプシステム100中のスケーラブル再構成可能型プロトタイププラットフォーム103のプログラマブル・ゲート・アレイをテストするために用いることができる。   FIG. 2 shows a diagram of the system controller 102. The system controller 102 includes a communication interface 204, a system access bus controller 202, a pulse generator (clock generator) 203, and a configuration controller 201. The configuration controller 201 processes the configuration signal protocol and transmits configuration data from the user workstation 101 to the scalable reconfigurable prototype platform 103 via the configuration bus 108. This allows the configuration controller 201 to configure or download a defined form of user design to the FPGA in the scalable reconfigurable prototype platform 103. The system configuration bus 108 can also be used to read back and verify the design in each FPGA, or to obtain status information and data in the runtime user design. The readback operation usually uses a protocol provided by the supplier, such as a general technique, or SelectMap or JTAG (boundary scan). In this embodiment, the system configuration bus 108 can be used to test the programmable gate array of the scalable reconfigurable prototype platform 103 in the electrically reconfigurable prototype system 100.

システムアクセスバスコントローラ202は通過システムアクセスバス(SUB)を介し実行時にデザインとシステム特定部材中のレジスタ、FIFO(先入れ先出しキュー)、メモリ、およびコンパイラからユーザデザインに挿入された特殊論理ユニットなどその他状態ユニットにアクセスする。システムアクセスバス107もスケーラブル再構成可能型プロトタイププラットフォーム103中のFPGAを特定の動作状態に戻すまたは初期化するために用いることができる。   The system access bus controller 202 is a state and other state unit such as a register in the design and system specific components, FIFO (first in first out queue), memory, and special logic units inserted into the user design from the compiler via the transit system access bus (SUB). To access. The system access bus 107 can also be used to return or initialize the FPGA in the scalable reconfigurable prototype platform 103 to a specific operating state.

パルス生成器203はパルスバス106を駆動しFPGAに各種クロック信号を提供する。これらクロック信号の周波数とデューティサイクルはすべてプログラマブルであるものとする。これらクロックがスケーラブル再構成可能型プロトタイププラットフォーム103中のユーザデザインにダウンロードされて使用される。   The pulse generator 203 drives the pulse bus 106 and provides various clock signals to the FPGA. The frequency and duty cycle of these clock signals are all programmable. These clocks are downloaded to the user design in the scalable reconfigurable prototype platform 103 and used.

上述のように、スケーラブル再構成可能型プロトタイププラットフォーム103は1つまたは複数のスケーラブルパネル(または回路板)、FPGA、動的再構成可能型のスイッチから構成することができる。スケーラブル再構成可能型プロトタイププラットフォーム103は任意の数量のFPGAとスイッチを含むことができる。図3にスケーラブル再構成可能型プロトタイププラットフォーム103の構成を示す。図3に示すように、スケーラブル再構成可能型プロトタイププラットフォームはFPGA304−1から304−nより構成される。304−1から304−n中の各FPGAはすべて一組以上の接続線を有し、その他FPGAと相互に接続される。本実施例においては、1つまたは複数のバス(例えばバス301−303)がFPGA 304−1から304−nの接続に用いられる。このような方式において、信号はいずれかのFPGAからその他任意のFPGAに接続することができる。バス301−303は「ユニバーサルバス」(即ち、各FPGAがすべてアクセスできるバス)として設置することができる。または、バス301−303は各種コンフィギュレーションに割り当てることもでき、この場合各バスはある一組の特定のFPGA専用にコンフィギュレーションすることができる。これらバスは、動的再構成可能な回路スイッチを介して相互に接続することもできる。これら回路スイッチは特殊なスイッチ回路により提供するか、またはFPGA304−1から304−n中にコンフィギュレーションすることができる。これらFPGAはレイヤ化した構造にコンフィギュレーションすることができる。この構造において、FPGAはグループ分けすることができる。この場合、各グループ中のFPGAは「局部」的相互接続バスにより相互に接続され、これら局部の相互接続バスは一層または多層の動的再構成可能型スイッチにより相互に接続される。このほか、各FPGAは1つまたは複数の入力或いは出力信号が入力/出力ポート105上に接続され、ターゲットシステム104と通信することができる。これら入力/出力信号も一層または多層の動的再構成可能型スイッチにより相互に接続し、FPGA間で信号を相互接続させることができる。いずれにしても、技術の進化と向上に伴い、これら相互接続する数量は制限されない。これら相互接続バスとスイッチは通常1つまたは複数のパネルまたは回路板上に実現することが望ましい。また、あらゆる相互接続バス(例えばバス301−303、システムコンフィギュレーションバス108、SUBバス107またはパルスバス106中のいずれか)はケーブル、光ファイバ、その他相互接続方法で実現することもできる。   As described above, the scalable reconfigurable prototype platform 103 can be composed of one or more scalable panels (or circuit boards), FPGAs, and dynamically reconfigurable switches. The scalable reconfigurable prototype platform 103 can include any number of FPGAs and switches. FIG. 3 shows the configuration of the scalable reconfigurable prototype platform 103. As shown in FIG. 3, the scalable reconfigurable prototype platform comprises FPGAs 304-1 to 304-n. Each FPGA in 304-1 to 304-n has at least one set of connection lines, and is interconnected with other FPGAs. In this embodiment, one or a plurality of buses (for example, buses 301-303) are used to connect the FPGAs 304-1 to 304-n. In such a scheme, the signal can be connected from any FPGA to any other FPGA. The buses 301-303 can be installed as "universal buses" (i.e., buses that can be accessed by all FPGAs). Alternatively, buses 301-303 can be assigned to various configurations, in which case each bus can be dedicated to a set of specific FPGAs. These buses can also be connected to each other through dynamically reconfigurable circuit switches. These circuit switches can be provided by special switch circuits or can be configured in FPGAs 304-1 to 304-n. These FPGAs can be configured in a layered structure. In this structure, FPGAs can be grouped. In this case, the FPGAs in each group are interconnected by “local” interconnection buses, which are interconnected by one or more layers of dynamically reconfigurable switches. In addition, each FPGA can have one or more input or output signals connected to the input / output port 105 to communicate with the target system 104. These input / output signals can also be interconnected by a single layer or multiple layer dynamically reconfigurable switch to allow signals to be interconnected between FPGAs. In any case, as the technology evolves and improves, the number of these interconnects is not limited. These interconnection buses and switches are usually preferably implemented on one or more panels or circuit boards. Also, any interconnect bus (eg, any of bus 301-303, system configuration bus 108, SUB bus 107 or pulse bus 106) can be implemented with cables, optical fibers, or other interconnect methods.

一つの複雑な数字システム(例えば1つのSoC或いは1つの専用回路)は通常複数のサブシステムを含む。例えば、1つのSoC設計はマルチメディアサブシステム、信号処理サブシステム、外部制御システムと中央処理装置などを含むことができる。各サブシステムは1本の共用の局部バスにより接続された一組のFPGAにコンフィギュレーションすることができる。そして動的再構成可能型スイッチでこの局部バスをシステムのその他バスに接続する。この共用局部バスを「オフ」モード(接続切断)のユニバーサルバスに設定すると、サブシステム中専用の局部バスとなる。各本の局部バス間のスイッチを「オン」モードに設定すると、サブシステム間の通信を行なうことができる。ユニバーサルバスはサブシステム間の通信またはFPGA間の点対点の通信に用いることができる。   One complex number system (eg, one SoC or one dedicated circuit) typically includes multiple subsystems. For example, one SoC design can include a multimedia subsystem, a signal processing subsystem, an external control system, a central processing unit, and the like. Each subsystem can be configured into a set of FPGAs connected by a single shared local bus. The local bus is then connected to the other buses of the system with a dynamically reconfigurable switch. When this shared local bus is set as a universal bus in the “off” mode (disconnected), it becomes a local bus dedicated to the subsystem. When the switches between the local buses of each book are set to the “on” mode, communication between subsystems can be performed. The universal bus can be used for communication between subsystems or point-to-point communication between FPGAs.

1つのユーザデザインをスケーラブル再構成可能型プロトタイププラットフォーム103中で実現するため、ユーザはユーザワークステーション101上でコンパイラを使用する。図4に本発明の一実施例のコンパイラプログラムのフロー図を示す。図4に示すように、手順401においてシステム設計者は最上位モジュール生成器を使用しユーザデザインに1つの最上位モジュールを生成することができる。ユーザデザインは特殊な設計ユニットとサードパーティIPコアを含むことができる。この最上位モジュール生成器はユーザ自身のライブラリとサードパーティ供給元からの各種デザインとIPコアの説明と集成に用いられる。前記生成器は標準のバス定義とユーザ自ら定義するバスと信号の相互接続関係に基づき、ユーザデザインユニットとサードパーティIPコアを自動接続する。また、システム設計者は最上位モジュールを手動で構築し、自動最上位モジュール生成器を使用しなくてもよい。   To implement a single user design in the scalable reconfigurable prototype platform 103, the user uses a compiler on the user workstation 101. FIG. 4 is a flowchart of the compiler program according to the embodiment of the present invention. As shown in FIG. 4, in step 401, the system designer can use the top module generator to generate one top module for the user design. User designs can include special design units and third party IP cores. This top-level module generator is used to describe and assemble various designs and IP cores from the user's own library and third party suppliers. The generator automatically connects the user design unit and the third party IP core based on the standard bus definition and the user-defined bus and signal interconnection relationship. Also, the system designer does not need to manually build the top module and use an automatic top module generator.

手順402において、システムまたは回路設計者はコンパイラを使用して最上位モジュール中の各デザインユニットを導入する(例えば「デザイン導入」コマンドを使用する)。このデザインは通常あるハードウェア記述言語またはネットリストで記述される。コンパイラがデザインの語法、統合可能性、完全性を検査する(例えばデザインソースコード中のすべての論理ユニットがあらかじめ定義されたライブラリまたは論理データベース内で利用可能または接続して取得可能か否かなど)。導入したデザイン中にエラーが存在する、またはある論理ブロックが利用できない場合、コンパイラソフトウェアが導入エラーを報告する。必要に応じ、手順402はすべての入力ソースコードが検査で正確であると確認され、且つコンパイラに受け入れられるまで何度も繰り返すことができる。   In step 402, the system or circuit designer uses a compiler to install each design unit in the top module (eg, using a “design install” command). This design is usually written in some hardware description language or netlist. The compiler checks the wording, integrity, and completeness of the design (for example, whether all logical units in the design source code are available in a pre-defined library or logical database or can be obtained by connecting) . If there is an error in the installed design, or if a certain logic block is not available, the compiler software will report an installation error. If necessary, procedure 402 can be repeated any number of times until all input source code is verified to be correct and accepted by the compiler.

デザインが導入された後、手順403では例えばコンパイラ中の「統合」コマンドまたはコンパイラにより使用されるサードパーティ統合ツールの使用を介して、設計者がデザイン中のすべてのハードウェア記述(ハードウェア記述言語またはその他形式)を統合することができる。実施例において、コンパイラは下から上に向かう方法でサードパーティIPコアを統合し、サードパーティIPコアのバウンダリ信号を保持すると共に、実行時の性能を保持する。統合後のデザインはスケーラブル再構成可能型プロトタイププラットフォーム103中のFPGA内にコンフィギュレーションするために用いることができるネットリスト(例:EDIFファイル)を含む。実施例において、コンパイラはすべてのEDIFファイルを1つのEDIF文書に併合してユーザデザインを代表する。   After the design has been introduced, in step 403, all the hardware descriptions (hardware description language) that the designer is designing, such as through the use of an “integration” command in the compiler or a third-party integration tool used by the compiler. Or other formats). In an embodiment, the compiler integrates third-party IP cores in a bottom-to-top manner, maintains the third-party IP core boundary signals, and maintains runtime performance. The integrated design includes a netlist (eg, EDIF file) that can be used to configure within the FPGA in the scalable reconfigurable prototype platform 103. In an embodiment, the compiler merges all EDIF files into one EDIF document to represent the user design.

本実施例において、手順404では1つのデザインが統合された後、設計者はコンパイラ中の「コード定義」コマンドを用いてコード定義過程を開始することができる。コード定義過程でユーザはあらゆる1つの単独の信号または一組の信号を定義1つのコードとして定義することができる。任意の数量の信号を1つのコードとして定義することができる。このほか、ユーザは1つのイベント、すなわち、一組の特定のコードまたは信号の一連のイベント、または一組の任意の長さの波形を定義することもできる。信号またはコードの状態がイベントにおいて指定される一定長さの波形に合うものに変わると、前記イベントが発生したとみなす。例えば、図5に1つの保存デバイスの典型的「書き込み操作」のイベント波形を示す。図5に示すように、この「書き込み操作」イベントは5つのコードの波形を含む:単独の信号「パルス(clk)」、「書き込み(write)」、「チップ選択(chipselect)」、バス信号「アドレス(address)」、「データ(data)」である。この例において、このイベントは2つのパルス周期長さである。図5に示すように、周期1と周期2は0ナノ秒から100ナノ秒の間である。この時間内に「チップ選択(chipselect)」と「書き込み(write)」制御信号が有効な1つの「パルス(clk)」信号の周期長さに置かれる。これら2つのパルス周期内の信号波形がこのイベントを定義する。イベントの発生を検査するため、電気再構成可能型プロトタイプシステム100は実行時に指定の信号を検査し、信号の変化とあらかじめ定めたイベント中の信号変化を比較するよう設定してもよい。現有技術と異なるのは、イベントの発生が検知されると、ソフトウェアがユーザに対してイベントの発生を報告する点であり、ユーザにたくさんの信号状態を解読させるのではない点である。この方法において、イベントはハイレベルの抽象的方法でユーザに報告され、デバッグの説明に用いられる。1つの実施例において、信号状態はサンプリングされてボード上のメモリに保存されるか、或いはユーザワークステーション101上のメモリまたは文書に保存され、更なる分析の実施に用いられる。コードとイベントはデバッグモード下で特に有用であり、デバッグ模式下での信号比較とイベント検出メカニズムはすべて前述の実行時と完全に一致する。回路設計者は必要に応じて任意の数のコードとイベントを定義し、これにより、大量実行時の信号情報がハイレベルの抽象レイヤで定義され、デバッグに便利になる。デバッグモード下で定義されるコードとイベントは変換されて実行時に使用と観察を行なうことができる。   In this embodiment, after one design is integrated in step 404, the designer can start the code definition process using the "code definition" command in the compiler. In the code definition process, the user can define any one single signal or set of signals as a defined code. Any number of signals can be defined as one code. Alternatively, the user can define a single event, ie, a set of specific codes or signal sequences, or a set of arbitrary length waveforms. The event is considered to have occurred when the state of the signal or code changes to match a certain length of waveform specified in the event. For example, FIG. 5 shows a typical “write operation” event waveform for one storage device. As shown in FIG. 5, this “write operation” event includes five code waveforms: a single signal “pulse”, “write”, “chip select”, and a bus signal “ Address (address) "and" data (data) ". In this example, this event is two pulse period lengths. As shown in FIG. 5, period 1 and period 2 are between 0 nanoseconds and 100 nanoseconds. Within this time, the “chip select” and “write” control signals are placed at the period length of one valid “clk” signal. The signal waveform within these two pulse periods defines this event. To test for the occurrence of an event, the electrically reconfigurable prototype system 100 may be configured to check a specified signal at run time and compare the change in signal with the change in signal during a predetermined event. Unlike current technology, when an event occurrence is detected, the software reports the occurrence of the event to the user and does not cause the user to decode many signal states. In this way, events are reported to the user in a high level abstract way and used to explain debugging. In one embodiment, the signal state is sampled and stored in a memory on the board, or stored in a memory or document on the user workstation 101 and used to perform further analysis. Code and events are particularly useful under debug mode, and the signal comparison and event detection mechanisms under the debug model are all exactly the same as described above. Circuit designers define an arbitrary number of codes and events as needed, so that signal information at the time of mass execution is defined in a high level abstraction layer, which is useful for debugging. Code and events defined under debug mode are converted and can be used and observed at runtime.

手順405において、ユーザはコンパイラ中の「分割」コマンドでデザインを複数のブロックに分割することができ、各ブロックは1つの単独のFPGA中で実現される。サードパーティIPコアも分割され、各FPGA中で実現される。大きいIPコアは複数のFPGA中に分割することができる。一実施例において、分割コマンドはサードパーティの分割ツールを用いる。後述する「TAI−IPユニット」の相互接続方法のため、電気再構成可能型プロトタイプシステム100中の分割ツールはFPGAの容量利用率を最大化しFPGAのピンに制限される必要がないという原則に沿って最適化して分割することができる。分割ツールはスケーラブルFPGA中の各FPGAの単独のネットリストを生成する。分割手順405はあらゆるユーザデザインの情報と機能すべてを維持する。または、サードパーティ分割器或いは手動分割もデザインの分割に用いることができる。分割器は制限条件の設定を受け入れることができ、分割器に指示してスケーラブル再構成可能型プロトタイププラットフォーム103のハードウェアに対するネットリストを生成させるために用いることができる。   In step 405, the user can divide the design into multiple blocks with a “split” command in the compiler, each block being implemented in one single FPGA. Third-party IP cores are also split and implemented in each FPGA. A large IP core can be divided into multiple FPGAs. In one embodiment, the split command uses a third party split tool. Due to the “TAI-IP unit” interconnection method described below, the split tool in the electrically reconfigurable prototype system 100 maximizes the capacity utilization of the FPGA and does not need to be restricted to the FPGA pins. Can be optimized and divided. The split tool generates a single netlist for each FPGA in the scalable FPGA. Split procedure 405 maintains all user-designed information and functions. Alternatively, third party dividers or manual divisions can also be used for design division. The divider can accept the setting of the limiting condition and can be used to instruct the divider to generate a netlist for the scalable reconfigurable prototype platform 103 hardware.

手順406において、ユーザデザインが分割された後、コンパイラが各FPGAブロック中に特製の回路構造を挿入し「測定可能性」、「分析可能性」、「相互接続」機能を提供する。この「TAI−IP」と呼ばれる特製の回路構造はまた、各IPまたは複数のFPGAに分割された1つのIPの各部分に挿入される。図6(a)に分割後の回路トポロジー構造の論理図を示す。図6(a)に示すように、本発明の一実施例において、ユーザデザイン回路とサードパーティIPを含むシステム・オン・チップ設計620は、デザインが回路625−1から625−n中に分割され、TAI−IP626−1から626−nにそれぞれ対応する。625−1から625−n中の各回路がそれぞれ1つのFPGA中に実現されるユーザデザインの1つのブロック、1つのIP或いは1つのIPの1つの部分である。いくつかの実施例において、1つのユーザデザインのブロックは同一のFPGAに割り当てられる。625−1から625−n中の各ブロックの回路はそれらに関連するTAI−IP626−1から626−n及び1本または複数本の通信バス或いは経路(図に示すバス630−1から630−02など)を通過してその他部分と相互通信を行なう。(図6(a)中には2本のバスのみしか示していないが、ユーザの選択と回路間の相互接続関係に基づき、1つの通信経路は1本または複数本の信号バスを含むことができる。)   In step 406, after the user design is split, the compiler inserts a custom circuit structure into each FPGA block to provide "measurable", "analysable", and "interconnect" functions. This special circuit structure called “TAI-IP” is also inserted in each part of one IP divided into each IP or multiple FPGAs. FIG. 6A shows a logic diagram of the circuit topology structure after division. As shown in FIG. 6 (a), in one embodiment of the present invention, a system-on-chip design 620 including a user design circuit and a third party IP is divided into circuits 625-1 to 625-n. , TAI-IP626-1 to 626-n, respectively. Each circuit in 625-1 to 625-n is one block of user design, one IP, or one part of one IP, each implemented in one FPGA. In some embodiments, one user-designed block is assigned to the same FPGA. The circuits of each block in 625-1 to 625-n are associated with TAI-IP 626-1 to 626-n and one or more communication buses or paths (buses 630-1 to 630-02 shown in the figure). Etc.) to communicate with other parts. (Only two buses are shown in FIG. 6 (a), but one communication path may include one or a plurality of signal buses based on the user selection and the interconnection relationship between the circuits. it can.)

図6(b)に構造ブロック図を示す。この図においてはTAI−IP602−1から601−nがスケーラブル再構成可能型プロトタイププラットフォーム103中に実現され、FPGA602−1から602−n間のインターフェースとなる。図6(b)に示すように、各FPGA中のTAI−IPとその他FPGA中のTAI−IPは相互に接続され、スケーラブル再構成可能型プロトタイププラットフォーム103中のFPGA間の相互接続を提供する。1つのFPGA中の各IPもそれに関連するTAI−IPと前記FPGA中に割り当てられたその他回路及びその他FPGA中の回路を経由して通信する。このような構造において、1つのIPの入力と出力はTAI−IPを介して制御される。例えば、IPの各出力信号はユーザデザイン上から隔離されることができ、信号状態はデバッグに便利なように固定値に変換されることができる。このほか、IPの入力と出力信号は独立して監視測定され、測定可能性を向上することができる。   FIG. 6B shows a structural block diagram. In this figure, TAI-IPs 602-1 to 601-n are implemented in the scalable reconfigurable prototype platform 103 and serve as an interface between the FPGAs 602-1 to 602-n. As shown in FIG. 6 (b), the TAI-IP in each FPGA and the TAI-IP in the other FPGA are connected to each other to provide interconnection between the FPGAs in the scalable reconfigurable prototype platform 103. Each IP in one FPGA also communicates with its associated TAI-IP via other circuits assigned in the FPGA and other circuits in the FPGA. In such a structure, the input and output of one IP is controlled via TAI-IP. For example, each IP output signal can be isolated from the user design, and the signal state can be converted to a fixed value for convenience in debugging. In addition, the input and output signals of the IP are monitored and measured independently, so that the measurement possibility can be improved.

図7に本発明の一実施例のTAI−IP700のダイアグラムを示す。図7に示すように、TAI−IP700は制御回路701を含み、TAI−IP構造ブロック回路(「TAI−IPユニット」)702−1から702−nを制御するために用いられる。各TAI−IP中のTAI−IPユニットの数量は1つのプログラマブルな設計パラメータであり、通常はFPGA回路板上の相互接続が必要なFPGAの数量、ユーザデザインの入力出力要求、ユーザの指定に基づいて決定される。各TAI−IPユニットは1つの1ビットの相互接続ポート(例えば相互接続ポート703−1から703−n中のいずれか)を介してスケーラブル再構成可能型プロトタイププラットフォーム103回路板上の1本のバスに接続される。これら要求に基づき、コンパイラが必要なTAI−IPユニットの数量を決定し、且つ必要な各FPGA中のTAI−IP中のTAI−IPユニットと制御回路を生成する。   FIG. 7 shows a diagram of a TAI-IP 700 according to an embodiment of the present invention. As shown in FIG. 7, the TAI-IP 700 includes a control circuit 701 and is used to control the TAI-IP structural block circuits (“TAI-IP units”) 702-1 to 702-n. The number of TAI-IP units in each TAI-IP is one programmable design parameter, usually based on the number of FPGAs that need to be interconnected on the FPGA circuit board, user design input / output requirements, and user specifications. Determined. Each TAI-IP unit is a single bus on the scalable reconfigurable prototype platform 103 circuit board via one 1-bit interconnect port (eg, any of interconnect ports 703-1 through 703-n). Connected to. Based on these requirements, the compiler determines the required number of TAI-IP units and generates the TAI-IP units and control circuits in the TAI-IP in each required FPGA.

図8に本発明の一実施例のTAI−IPユニット800を示す。図8に示すように、TAI−IPユニット800は動的再構成可能型タグメモリ801と802、マルチパス信号セレクタ803、双方向バッファ806(出力バッファ806aと入力バッファ806bを含む)、信号ラッチ807を含む。動的再構成可能型タグメモリ801が制御するデータ出力信号808とそれに対応する出力イネーブル信号805のマルチパス選択である。データ出力信号809と対応する出力イネーブル信号805はFPGA中にコンフィギュレーションされたユーザデザインの出力信号と指定の内部論理ノード信号を含む。このほか、固定信号810(1つの固定の「0」と1つの固定の「1」を含む)も信号出力マルチパスセレクタにより選択され相互接続ポート703を介して伝送されることができる。このような構造において、1つの出力信号はあらゆるときに相互接続ポート703上に出力されることができる。データ出力信号809中の割り当てられていない信号は任意の値にリンクすることができる。後述するように、このような構成は実行時の増加信号コンフィギュレーションに完全な再コンパイルを必要としない。未使用の出力イネーブル信号は「ディスエーブル」の信号状態が割り当てられ、これにより意図せず値が相互接続ポート703に出力されるのを防ぐ。   FIG. 8 shows a TAI-IP unit 800 according to an embodiment of the present invention. As shown in FIG. 8, the TAI-IP unit 800 includes dynamically reconfigurable tag memories 801 and 802, a multipath signal selector 803, a bidirectional buffer 806 (including an output buffer 806a and an input buffer 806b), and a signal latch 807. including. This is multipath selection of the data output signal 808 controlled by the dynamically reconfigurable tag memory 801 and the output enable signal 805 corresponding thereto. The output enable signal 805 corresponding to the data output signal 809 includes a user-designed output signal configured in the FPGA and a designated internal logic node signal. In addition, a fixed signal 810 (including one fixed “0” and one fixed “1”) can be selected by the signal output multipath selector and transmitted via the interconnection port 703. In such a structure, one output signal can be output on the interconnect port 703 at any time. Unassigned signals in the data output signal 809 can be linked to any value. As described below, such a configuration does not require a complete recompilation for incremental signal configuration at runtime. Unused output enable signals are assigned a “disabled” signal state, thereby preventing unintentional output of values to interconnect port 703.

動的再構成可能型タグメモリ802は一組の信号ラッチを制御し、各ラッチは選択されて相互接続ポート703上の入力信号をラッチすることができる。上述のように、相互接続ポート703は1ビットの相互接続バスを介してその他FPGAから信号を受信する。信号ラッチ807の出力信号がデータ出力信号808を駆動し、データ出力信号808がユーザデザイン中のデバイスの入力ポートに接続される。データ出力信号808中の割り当てられていない信号は空きとしておくことができる。   The dynamically reconfigurable tag memory 802 controls a set of signal latches, each of which can be selected to latch the input signal on the interconnect port 703. As described above, interconnect port 703 receives signals from other FPGAs via a 1-bit interconnect bus. The output signal of signal latch 807 drives data output signal 808, which is connected to the input port of the device under user design. Unassigned signals in the data output signal 808 can be left empty.

動的再構成可能型タグメモリ801、802は制御カウンターによりアドレッシングが行なわれ、これにより動的再構成可能型タグメモリ801、802は実行時にSUBバス107よりロードすることができる。マルチパスセレクタ804が双方向バッファ806の方向を制御し、これにより相互接続ポート703を入力ポート、出力ポート或いは双方向ポートとするかが決定される。マルチパスセレクタ804の選択信号は実行時に動的割当てポートタイプが変更される。図8に示す実施例において、マルチパス信号セレクタ803、マルチパスセレクタ804は同時に動的再構成可能型タグメモリ801が生成する制御信号により制御され、且つ同じ数量の信号が選択される。このようなコンフィギュレーション下で対応するマルチパス信号セレクタ803、マルチパスセレクタ804の入力信号が選択される。このような構造は当然必須ではない。複数のマルチパスセレクタも動的再構成可能型タグメモリ801の出力文字列中の異なるフィールドで制御することができ、データ出力信号809と出力イネーブル信号805の選択設計に用いることができる。   The dynamically reconfigurable tag memories 801 and 802 are addressed by a control counter, so that the dynamically reconfigurable tag memories 801 and 802 can be loaded from the SUB bus 107 at the time of execution. Multipath selector 804 controls the direction of bi-directional buffer 806, which determines whether interconnect port 703 is an input port, output port or bi-directional port. The dynamic allocation port type of the selection signal of the multipath selector 804 is changed during execution. In the embodiment shown in FIG. 8, the multipath signal selector 803 and the multipath selector 804 are simultaneously controlled by control signals generated by the dynamically reconfigurable tag memory 801, and the same number of signals are selected. Under such a configuration, the input signals of the corresponding multipath signal selector 803 and multipath selector 804 are selected. Such a structure is naturally not essential. A plurality of multipath selectors can also be controlled by different fields in the output character string of the dynamically reconfigurable tag memory 801, and can be used for design selection of the data output signal 809 and the output enable signal 805.

3ステート出力ポートはデータ出力信号をデータ出力信号809中の1つとし、且つ対応する出力イネーブル信号を対応する出力イネーブル信号805中の1つとして実現することができる。対応する出力イネーブル信号が無効にされるとハイインピーダンス状態が得られる。同様に、双方向信号は同時にデータ出力信号809とデータ出力信号808とし、及び対応する出力イネーブル信号を出力イネーブル信号805中の1つとすることで実現することができる。コンパイラは双方向ポートが正確にマップされるよう確保し、これにより対応する動的再構成可能型タグメモリ中の対応するアドレスが常に同時に選択される。一実施例において、双方向信号は動的再構成可能型タグメモリ801、802中の同じアドレスにマッピングされる。   A three-state output port can be implemented with a data output signal as one of the data output signals 809 and a corresponding output enable signal as one of the corresponding output enable signals 805. A high impedance state is obtained when the corresponding output enable signal is disabled. Similarly, the bidirectional signal can be realized by simultaneously using the data output signal 809 and the data output signal 808 and the corresponding output enable signal as one of the output enable signals 805. The compiler ensures that the bidirectional port is mapped correctly, so that the corresponding address in the corresponding dynamically reconfigurable tag memory is always selected simultaneously. In one embodiment, the bi-directional signal is mapped to the same address in the dynamically reconfigurable tag memory 801, 802.

1つのTAI−IP(例えばTAI−IP601−1から601−nのうちのいずれか)はユーザデザインより速いパルスで動作することができる。この速いパルスでカウンターの増減を制御し、且つカウンターが動的再構成可能型タグメモリ801、802のアクセスに用いるアドレスを生成する。各カウンターはプログラマブルな最大と最小の計数値を有する。通常、カウンターに最大または最小計数値が選択されると、カウンターは戻って計数を行なう。計数上限が選択されると、カウンターは0に戻される。カウンターが1つのユーザデザインのパルス周期内で少なくとも1回0に戻され、ユーザデザインの入力出力信号とラッチされる信号が共にすでに正確に伝送されたことになる。この実施例において、各カウンター中の最大または最小計数値はSUB107を介して実行時にプログラミングすることができる。これにより、速いパルスの各周期内で相互作用される信号を動態的に変えることができる。動的再構成可能型タグメモリ801、802はユーザまたはリアルタイムソフトウェアによりSUB107を介して書き込みを行なうことができ、相互接続ポート703の入力または出力信号をユーザのパルスに基づき動態的に調整することができる。このような能力で信号値または接続をテスト或いはデバッグモード下で変化させることができる。   One TAI-IP (eg, any of TAI-IP 601-1 to 601-n) can operate with faster pulses than the user design. The increase / decrease of the counter is controlled by this fast pulse, and the counter generates an address used for accessing the dynamically reconfigurable tag memories 801 and 802. Each counter has a programmable maximum and minimum count. Normally, when the maximum or minimum count value is selected for the counter, the counter returns and counts. When the upper limit is selected, the counter is reset to zero. The counter is reset to 0 at least once within one user-designed pulse period, and both the user-designed input output signal and the latched signal have already been correctly transmitted. In this embodiment, the maximum or minimum count value in each counter can be programmed at run time through SUB 107. This can dynamically change the signals that are interacted within each period of the fast pulse. The dynamically reconfigurable tag memory 801, 802 can be written via the SUB 107 by the user or real-time software, and the input or output signal of the interconnect port 703 can be dynamically adjusted based on the user's pulse. it can. With this capability, the signal value or connection can be changed under test or debug mode.

TAI−IPが挿入された後、手順407において、コンパイラが配線プログラムを使用して各FPGAのネットリストを処理する。配線プログラムは通常FPGA供給元の定めるプログラムであり、各ネットリストをバイナリファイルまたはテキストファイルに変換するために用いられる。この出力されたファイルをスケーラブル再構成可能型プロトタイププラットフォーム103中のFPGAにダウンロードすることができる。一実施例において、配線プログラムは1つ以上のユーザワークステーションまたはプロセッサ上で実行され、FPGAの配線を平行処理することができる。配線後のバイナリまたはテキストファイルはユーザワークステーション101上に保存し、リアルタイムソフトウェアの更なる処理を待つことができる。   After the TAI-IP is inserted, in step 407, the compiler processes the netlist of each FPGA using a wiring program. The wiring program is usually a program determined by the FPGA supplier, and is used to convert each netlist into a binary file or a text file. This output file can be downloaded to the FPGA in the scalable reconfigurable prototype platform 103. In one embodiment, the wiring program can be executed on one or more user workstations or processors to process FPGA wiring in parallel. The wired binary or text file can be saved on the user workstation 101 and awaiting further processing of the real-time software.

1つのIPライブラリはTAI−IPのほか、その他の提供される回路検証、回路デバッグ、パフォーマンス分析機能のIPを含むことができる。システム設計者は1つまたは複数のこのようなIPをユーザデザインに加えることができる。このようなIPのユーザデザインへの追加は、システム設計者がコンパイラに指示または手動でユーザデザインのソースコード中にこれらIPをインスタンス化して行なうことができる。   One IP library can include TAI-IP as well as other provided IP for circuit verification, circuit debugging, and performance analysis functions. The system designer can add one or more such IPs to the user design. Such addition of IP to the user design can be performed by instructing the compiler by the system designer or by instantiating these IPs in the source code of the user design.

回路検証に用いるIP(検証IP)はUSBバスまたはPCIバスをシミュレーションした回路を含み、USBバスまたはPCIバスに相互作用のあるユーザデザインの動作の検証に用いることができる。電気再構成可能型プロトタイプシステム100中に用いられる検証IPはユーザまたはリアルタイムソフトウェアにSUB107を介して検証IPの作成者或いは供給元が提供する動作情報にアクセスさせることができる。通常、検証IPはユーザデザインの動作を検出し、ユーザデザインと標準通信または信号プロトコルの互換性をチェックするか、ユーザデザインの動作と特定の動作モード(正確なモード)を比較する。検証IPは分析報告とエラーまたは警告情報をユーザまたはリアルタイムソフトウェアに提供することができる。   The IP used for circuit verification (verification IP) includes a circuit that simulates a USB bus or a PCI bus, and can be used for verification of user-designed operations that interact with the USB bus or the PCI bus. The verification IP used in the electrically reconfigurable prototype system 100 allows a user or real-time software to access operation information provided by the creator or supplier of the verification IP via the SUB 107. Typically, the verification IP detects the user design operation and checks the compatibility of the user design with standard communication or signal protocol, or compares the user design operation with a specific operation mode (exact mode). The verification IP can provide analysis reports and error or warning information to the user or real-time software.

例えば、デバッグに用いるIPコア(デバッグIPコア)は内部ロジックアナライザ機能のIPコア(内部ロジックアナライザIPコア)或いはデータフロー/状態分析器を含む。これらIPコアはシステム設計者に実行時すでにコンフィギュレーションが完了したシステムのデバッグを行なわせることができる。例えば、内部ロジックアナライザIPコアは指定のトリガポイントでユーザデザイン中の信号値をサンプリングしてメモリユニットに保存し、後続の分析に用いることができる。実行ソフトウェアは実行時にこれらデバッグIPコアにアクセスし、操作することができる。   For example, an IP core used for debugging (debug IP core) includes an IP core having an internal logic analyzer function (internal logic analyzer IP core) or a data flow / state analyzer. These IP cores allow system designers to debug systems that have already been configured at runtime. For example, the internal logic analyzer IP core can sample a signal value in the user design at a specified trigger point and store it in a memory unit for subsequent analysis. Execution software can access and manipulate these debug IP cores at runtime.

パフォーマンス分析に用いるIPコア(パフォーマンス分析IPコア)は、帯域幅分析に用いるIPコアを含むことができる。これらIPコアはパフォーマンス情報の収集とユーザデザインのパフォーマンス分析に用いることができる。その他IPコアと同様に、パフォーマンス分析IPコアはSUB107を介してユーザまたは実行時ソフトウェアと通信し共同でパフォーマンス分析を完了することができる。   The IP core used for performance analysis (performance analysis IP core) may include an IP core used for bandwidth analysis. These IP cores can be used for performance information collection and user design performance analysis. Like other IP cores, the performance analysis IP core can communicate with the user or runtime software via the SUB 107 to collaborate to complete the performance analysis.

電気再構成可能型プロトタイプシステム100中の実行ソフトウェアは動的コンフィギュレーションキットとシステムデバッグキットを含むことができる。動的コンフィギュレーションキットはユーザのコマンドを受けてスケーラブル再構成可能型プロトタイププラットフォーム103中のFPGA、バックプレーンとTAI−IPをコンフィギュレーションして操作モード、相互作用、さらにはリアルタイムのデザイン機能を修正する。一実施例において、FPGAコマンドに対して応答した後、FPGAコンフィギュレーションツールがバイナリまたはASCIIのFPGAコンフィギュレーションファイルを読取り、且つファイルをシステムコントローラ102中のコンフィギュレーションコントローラ201に伝送する。FPGAコンフィギュレーションツールは単独で1つまたは複数のスケーラブル再構成可能型プロトタイププラットフォーム103中のFPGA、さらには必要なFPGA中の部分をコンフィギュレーションすることができる。例えば、ユーザはFPGA中の論理ブロックを修正することができる。FPGAコンフィギュレーションツールを使用して修正した論理ブロックをFPGA中にダウンロードすることができ、別のFPGAを再構成する必要はない。   Execution software in the electrically reconfigurable prototype system 100 can include a dynamic configuration kit and a system debug kit. Dynamic configuration kit accepts user commands to configure FPGA, backplane and TAI-IP in scalable reconfigurable prototype platform 103 to modify operating mode, interaction, and real-time design functions . In one embodiment, after responding to the FPGA command, the FPGA configuration tool reads the binary or ASCII FPGA configuration file and transmits the file to the configuration controller 201 in the system controller 102. The FPGA configuration tool can independently configure the FPGA in one or more scalable reconfigurable prototype platforms 103, as well as the parts in the required FPGA. For example, the user can modify a logic block in the FPGA. The logic block modified using the FPGA configuration tool can be downloaded into the FPGA without the need to reconfigure another FPGA.

回路板コンフィギュレーションコマンドに応答し、パネルコンフィギュレーションツールは回路板上またはスケーラブル再構成可能型プロトタイププラットフォーム103中のバックプレーン上のプログラマブルスイッチをコンフィギュレーションする。典型では、いずれのスイッチも「オン」状態または「オフ」状態に設置することができる。スイッチが「オン」状態のとき、スイッチは導通される。スイッチが「オフ」状態のとき、スイッチは開となる。パネルコンフィギュレーションツールは、選択的に一部の相互接続バスをローカルバスにコンフィギュレーションするなどのことができる。   In response to the circuit board configuration command, the panel configuration tool configures programmable switches on the circuit board or on the backplane in the scalable reconfigurable prototype platform 103. Typically, any switch can be placed in the “on” or “off” state. When the switch is in the “on” state, the switch is conductive. When the switch is in the “off” state, the switch is open. The panel configuration tool can selectively configure some interconnect buses to local buses, and the like.

TAI−IPコンフィギュレーションコマンドに応答し、TAI−IPコンフィギュレーションツールはSUB107を介してTAI−IPユニット中に保存する1つまたは複数の動的再構成可能型タグメモリ中のデータを生成する。これらデータはFPGA間の相互関係またはユーザの特殊要求を代表する。例えば、あるユーザは指定のFPGAのある入力信号に「1」の値を提供し、リコンパイルしないことを希望するかもしれない。このような効果を選択できるようにするため、TAI−IPコンフィギュレーションツールは必要なタグメモリ内の値を再計算してこの入力値を生成し、同時に修正後のタグメモリの値を特定の動的再構成可能型タグメモリに書き込む。   In response to the TAI-IP configuration command, the TAI-IP configuration tool generates data in one or more dynamically reconfigurable tag memories that are stored in the TAI-IP unit via the SUB 107. These data represent interrelationships between FPGAs or user special requirements. For example, a user may wish to provide a value of “1” for certain input signals of a specified FPGA and not recompile. In order to be able to select such an effect, the TAI-IP configuration tool recalculates the required value in the tag memory to generate this input value, and at the same time changes the value in the modified tag memory to a specific action. Write to dynamically reconfigurable tag memory.

システムデバッグキットはデザインとデバッグ情報を収集・分析し、且つ特殊な条件と信号を設置してリアルタイムでユーザデザインの動作を制御する。一実施例において、システムデバッグキットは(a)FPGAリードバックツール、(b)SUBアクセスツール、(c)内部ロジックアナライザツール、(d)帯域幅分析ツール、(e)コード/イベント抽出ツール、(f)シミュレータ接続ツールを含む。   The system debug kit collects and analyzes design and debug information, and sets special conditions and signals to control the operation of the user design in real time. In one embodiment, the system debug kit includes (a) an FPGA readback tool, (b) a SUB access tool, (c) an internal logic analyzer tool, (d) a bandwidth analysis tool, (e) a code / event extraction tool, ( f) Includes simulator connection tool.

FPGAリードバックツールは、実行時指定のFPGAの内容またはユーザデザイン中の指定の信号の状態を読み取る。FPGAリードバックツールは供給元から得ることができ、且つJTAGやSelectMAPなど、供給元が指定するプロトコルを使用して指定のFPGAの内容を読み取ることができる。多くのFPGA供給元はツールを提供してFPGA中のあらゆるレジスタ或いはメモリユニットの内容を読み取るようにしている。この実施例において、データがFPGAからリードバックされた後、FPGAリードバックツールがこれら情報を信号値に変換し、且つユーザデザイン中の信号名とコードにマッピングする。このような方法を通してFPGA内のあらゆる信号の完全な観察可能性を得ることができる。   The FPGA readback tool reads the contents of the FPGA specified at the time of execution or the state of the specified signal in the user design. The FPGA readback tool can be obtained from the supplier, and can read the contents of the specified FPGA using a protocol specified by the supplier, such as JTAG or SelectMAP. Many FPGA suppliers provide tools to read the contents of every register or memory unit in the FPGA. In this embodiment, after data is read back from the FPGA, the FPGA readback tool converts these information into signal values and maps them to signal names and codes in the user design. Through such a method, full observability of any signal in the FPGA can be obtained.

SUBアクセスツールはSUB107と相互に接続されたユーザデザイン中の、または電気再構成可能型プロトタイプシステム100中のデバイスにアクセスするために用いられる。デバイスはすべてアドレス空間にマッピングされ、これによりSUBアクセスツールを用いてデバイスにアクセスし、即ち、コマンド、アドレスとデータをシステムコントローラ102中のSUBコントローラ202に発してデバイスのデータの読取りまたは書き込みを行う。一実施例において、SUB107は読み書き可能なスケーラブル再構成可能型プロトタイププラットフォーム103回路板中のあらゆるデバイスに拡張される。   The SUB access tool is used to access devices in the user design interconnected with the SUB 107 or in the electrically reconfigurable prototype system 100. All devices are mapped into the address space, thereby accessing the device using a SUB access tool, i.e. issuing commands, addresses and data to the SUB controller 202 in the system controller 102 to read or write device data. . In one embodiment, the SUB 107 extends to any device in the read / write scalable reconfigurable prototype platform 103 circuit board.

内部ロジックアナライザツールは電気再構成可能型プロトタイプシステム100中に組み込まれたロジックアナライザにトリガ条件を設定する。このロジックアナライザはスケーラブル再構成可能型プロトタイププラットフォーム103中にダウンロードされる1つまたは複数のFPGA内の特殊なIP(内部ロジックアナライザIP)である。このロジックアナライザIPは従来のロジックアナライザと同じ機能を提供することができる。FPGA内でTAI−IPと共同で作用し、このロジックアナライザIPは大量な信号のサンプリングを提供し、且つ大量のトリガ条件を処理することができる。一実施例において、この内部ロジックアナライザツールは組み込まれたロジックアナライザIP内にトリガ条件を設定し、トリガ条件またはイベントの発生を待ち、その後ロジックアナライザIP中に組み込まれたサンプリングメモリ中からサンプリングされた信号データを読み取り、関連のサンプリングデータをユーザ定義のコードの形式に変換する。一実施例において、この内部ロジックアナライザツールはロジックアナライザIPに組み込まれた複雑なイベントステートマシンを設置する。このイベントステートマシンは取得された信号データ動作に基づきデバッグを説明する。内部ロジックアナライザツールとロジックアナライザIPは共同でユーザにリアルタイムの信号モニタリング機能を提供し(例えばオンライン実行モード下で)、ユーザデザインの実行状況に干渉しない。   The internal logic analyzer tool sets trigger conditions on the logic analyzer incorporated in the electrically reconfigurable prototype system 100. This logic analyzer is a special IP (internal logic analyzer IP) in one or more FPGAs downloaded into the scalable reconfigurable prototype platform 103. This logic analyzer IP can provide the same function as a conventional logic analyzer. Working with TAI-IP in an FPGA, this logic analyzer IP can provide a large amount of signal sampling and handle a large amount of trigger conditions. In one embodiment, the internal logic analyzer tool sets a trigger condition in the embedded logic analyzer IP, waits for the trigger condition or event to occur, and is then sampled from the sampling memory embedded in the logic analyzer IP. Read the signal data and convert the associated sampling data into a user-defined code format. In one embodiment, this internal logic analyzer tool installs a complex event state machine embedded in the logic analyzer IP. This event state machine describes debugging based on the acquired signal data behavior. The internal logic analyzer tool and the logic analyzer IP jointly provide the user with a real-time signal monitoring function (eg, in an online execution mode) and do not interfere with the execution status of the user design.

コード/イベント抽出ツールはサンプリングで得られた信号データをコードとイベントレベルの情報に解釈する。コード/イベント抽出ツールはサンプリングで得られた信号データをコードとイベントにマッピングし、且つコードの形式でユーザに対し表現する。例えば、前文で描写したバスの「書込み操作」イベントにおいて、コード/イベント抽出ツールが1つの「書込み操作」イベントの実例を見つけると、1つの情報が作成されてユーザバスに「書込み操作」イベントの発生時間、「書込み操作」イベント中の書込み操作のアドレスとデータを提供する。このような能力は、例えばファームウェア設計者がファームウェアプログラムの設計とデバッグを行なうときなど、非常に価値がある。   The code / event extraction tool interprets signal data obtained by sampling into code and event level information. The code / event extraction tool maps signal data obtained by sampling to codes and events, and expresses them to the user in the form of codes. For example, in the “write operation” event of the bus described in the previous sentence, when the code / event extraction tool finds an example of one “write operation” event, one piece of information is created and the “write operation” event of the user bus is created. Provides the time of occurrence, the address and data of the write operation during the "write operation" event. Such a capability is very valuable, for example, when a firmware designer designs and debugs a firmware program.

シミュレータ接続ツールはユーザワークステーション101上で実行されるシミュレータとスケーラブル再構成可能型プロトタイププラットフォーム103内のコンフィギュレーションしたユーザデザインを相互に接続し、ハードウェア/ソフトウェアの強調検証を完了する。シミュレータ接続ツールは各種現有の方式でシミュレータにアクセスすることができる。例えば、一実施例において、PLIまたはVPIインターフェースを用いてVerilogシミュレータとの通信を提供したり、FLIインターフェースを用いてVHDLシミュレータとの通信を提供したり、SCEMIインターフェースを用いてSCEMIインターフェースを有するシミュレータとの通信を提供する。シミュレータ接続ツールはその他標準インターフェース或いはユーザが定義するインターフェースをサポートすることもできる。   The simulator connection tool connects the simulator executed on the user workstation 101 and the configured user design in the scalable reconfigurable prototype platform 103 to complete the hardware / software emphasis verification. The simulator connection tool can access the simulator in various existing ways. For example, in one embodiment, a PLI or VPI interface is used to provide communication with a Verilog simulator, a FLI interface is used to provide communication with a VHDL simulator, and a SCEMI interface is used to provide a simulator having an SCEMI interface. Provide communication. The simulator connection tool can also support other standard interfaces or user-defined interfaces.

上文の詳細な説明は、本発明のいくつかの特定の実施例を描写したものであるが、本発明はこれら実施例に制限されない。本発明の範囲内において多くの変更と代替が可能であり、これらはすべて本発明の開示と保護範囲を逸脱しないものとみなす。   While the above detailed description depicts several specific embodiments of the invention, the invention is not limited to these embodiments. Many variations and substitutions are possible within the scope of the present invention, all of which are deemed not to depart from the disclosure and protection scope of the present invention.

本発明の具体的な一実施例の電気再構成可能型プロトタイプシステム100である。1 is an electrically reconfigurable prototype system 100 of one specific embodiment of the present invention. 本発明の電気再構成可能型プロトタイプシステム100のシステムコントローラ102のダイアグラムである。1 is a diagram of a system controller 102 of an electrically reconfigurable prototype system 100 of the present invention. 本発明のスケーラブル再構成可能型プロトタイププラットフォーム103の構成図である。It is a block diagram of the scalable reconfigurable prototype platform 103 of this invention. 本発明の具体的な一実施例のコンパイルフロー例である。It is an example of the compilation flow of one specific Example of this invention. 本発明のメモリデバイス中によく見受けられる「書込み操作(write)」のイベント波形である。4 is an event waveform of a “write operation” often found in the memory device of the present invention. (a)は、本発明の具体的な一実施例のSoC設計620の構成図であり、前記SoC設計はユーザデザイン回路とIPを含み、前記ユーザデザインとIPは回路625−1から625−n上に区分され、TAI−IP626−1から626−nとそれぞれ接続される。(b)は、本発明のダイアグラムであり、TAI−IP601−1から601−nがスケーラブル再構成可能型プロトタイププラットフォーム103内に実現され、且つFPGA602−1から602−nのインターフェースとして用いられる状態を示す。(A) is a block diagram of a SoC design 620 according to a specific embodiment of the present invention, where the SoC design includes a user design circuit and IP, and the user design and IP are circuits 625-1 to 625-n. It is divided in the upper part and connected to TAI-IP 626-1 to 626-n, respectively. (B) is a diagram of the present invention, where TAI-IPs 601-1 to 601-n are implemented in the scalable reconfigurable prototype platform 103 and used as interfaces of FPGAs 602-1 to 602-n. Show. 本発明の具体的な一実施例のTAI−IP700のダイアグラムである。6 is a diagram of a TAI-IP 700 according to a specific embodiment of the present invention. 本発明の具体的な一実施例のTAI−IPユニット800のダイアグラムである。6 is a diagram of a TAI-IP unit 800 according to an exemplary embodiment of the present invention.

符号の説明Explanation of symbols

100 電気再構成可能型プロトタイプシステム
101 ユーザワークステーション
102 システムコントローラ
103 スケーラブル再構成可能型プロトタイププラットフォーム
104 ターゲットシステム
105 プログラマブルな入力/出力ポート
106 パルスバス
107 システムアクセスバス(SUB)
108 システムコンフィギュレーションバス
109 業界標準通信インターフェース
201 コンフィギュレーションコントローラ
202 システムアクセスバスコントローラ
203 パルス生成器
204 通信インターフェース
301,302,303 バス
304−1〜304−n FPGA
601−1〜601−n TAI−IP
602−1〜602−n FPGA
620 システム・オン・チップ設計
625−1〜625−n 回路
626−1〜626−n TAI−IP
630−1〜630−2 バス
700 TAI IP
701 制御回路
702−1・702−n TAI−IP構造ブロック回路
703 相互接続ポート
703−703−n 相互接続ポート
801、802 動的再構成可能型タグメモリ
803 マルチパス信号セレクタ
804 マルチパスセレクタ
805 出力イネーブル信号
806 双方向バッファ
806a 双方向バッファ
806b 入力バッファ
807 信号ラッチ
808 データ出力信号
809 データ出力信号
810 固定信号
100 Electrically Reconfigurable Prototype System 101 User Workstation 102 System Controller 103 Scalable Reconfigurable Prototype Platform
104 Target system 105 Programmable input / output port 106 Pulse bus 107 System access bus (SUB)
108 system configuration bus 109 industry standard communication interface 201 configuration controller 202 system access bus controller 203 pulse generator 204 communication interface 301, 302, 303 bus 304-1 to 304-n FPGA
601-1 to 601-n TAI-IP
602-1 to 602-n FPGA
620 system on chip design 625-1 to 625 -n circuit 626-1 to 626 -n TAI-IP
630-1 to 630-2 Bus 700 TAI IP
701 Control circuit 702-1 / 702-n TAI-IP structure block circuit 703 Interconnection port 703-703-n Interconnection port 801, 802 Dynamically reconfigurable tag memory 803 Multipath signal selector 804 Multipath selector 805 Output Enable signal 806 Bidirectional buffer 806a Bidirectional buffer 806b Input buffer 807 Signal latch 808 Data output signal 809 Data output signal 810 Fixed signal

Claims (64)

ユーザデザインの設計とエミュレーションに用いるシステムであって、システムコントローラとシミュレーションプラットフォームを含み、
前記システムコントローラが、
(a)ユーザワークステーションと相互接続されたインターフェースと;
(b)データ通信インターフェースと;
を含み、前記シミュレーションプラットフォームが前記データ通信インターフェースと相互接続され、さらに、
(a)ユーザデザインとサードパーティIPコアを実現することができる複数のフィールド・プログラマブル・ロジック・デバイスと;
(b)実行時にユーザデザインと相互作用し、ターゲットシステムに接続されたインターフェースと;
を含むことを特徴とする、ユーザデザインの設計とエミュレーションに用いるシステム。
A system for user design and emulation, including a system controller and simulation platform,
The system controller is
(A) an interface interconnected with a user workstation;
(B) a data communication interface;
The simulation platform is interconnected with the data communication interface; and
(A) a plurality of field programmable logic devices capable of implementing a user design and a third party IP core;
(B) an interface that interacts with the user design at runtime and connected to the target system;
A system used for design and emulation of user designs, characterized in that
前記データ通信インターフェースがコンフィギュレーションバスを含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein the data communication interface includes a configuration bus. 前記データ通信インターフェースがシステムアクセスバスを含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein the data communication interface includes a system access bus. 前記データ通信インターフェースがパルス信号バスを含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein the data communication interface includes a pulse signal bus. 前記ターゲットシステムに接続されるインターフェースが、プログラマブル・ロジック・デバイスをソースとするプログラマブル入力/出力ターミナルの信号を含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein the interface connected to the target system comprises a programmable input / output terminal signal sourced from a programmable logic device. 前記フィールド・プログラマブル・ロジック・デバイスが、フィールドプログラマブル論理ゲートアレイを含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein the field programmable logic device comprises a field programmable logic gate array. 前記各プログラマブル・ロジック・デバイスが、1つのインターフェースモジュールを割り当てられ、前記インターフェースモジュールを介して前記プログラマブル・ロジック・デバイスに割り当てる一部ユーザデザインとその他プログラマブル・ロジック・デバイスのその他部分に割り当てるユーザデザイン間の通信を実現することを特徴とする、請求項1に記載のシステム。   Each programmable logic device is assigned one interface module, and between the user design assigned to the other part of the programmable logic device and the other user design assigned to the programmable logic device via the interface module The system according to claim 1, wherein the communication is realized. 前記インターフェースモジュールが、
(a)制御回路と;
(b)複数の入力/出力ユニットと;
を含み、前記各入力/出力ユニットが1ビット(1−bit)の相互接続ポートを提供することを特徴とする、請求項1に記載のシステム。
The interface module is
(A) a control circuit;
(B) a plurality of input / output units;
The system of claim 1, wherein each input / output unit provides a 1-bit interconnect port.
前記各入力/出力ユニットが、
(a) 動的再構成可能型メモリモジュールと;
(b) 前記動的再構成可能型メモリモジュールにより制御され、複数のプログラマブル・ロジック・デバイスのコンフィギュレーション信号中から前記1ビットの相互接続ポートに出力する1つの出力信号を選択する、第一マルチパスセレクタと;
(c) 複数の動的再構成可能型メモリモジュールにより選択され、1ビット相互接続ポートの信号を受信するラッチと;
を含むことを特徴とする、請求項8に記載のシステム。
Each of the input / output units is
(A) a dynamically reconfigurable memory module;
(B) a first multi which is controlled by the dynamically reconfigurable memory module and selects one output signal to be output to the 1-bit interconnect port from among a plurality of programmable logic device configuration signals; With a path selector;
(C) a latch that is selected by a plurality of dynamically reconfigurable memory modules and receives a signal of a 1-bit interconnect port;
The system of claim 8, comprising:
前記動的再構成可能型メモリモジュールが、1つまたは複数の動的再構成可能型メモリユニットを含むことを特徴とする、請求項9に記載のシステム。   The system of claim 9, wherein the dynamically reconfigurable memory module includes one or more dynamically reconfigurable memory units. 前記動的再構成可能型メモリモジュールがさらに、動的再構成可能型メモリモジュールにより制御される第二マルチパスセレクタを含み、前記第二マルチパスセレクタが複数の出力イネーブル信号中から1つの出力イネーブル信号を選択し、バッファを制御して信号を1ビット相互接続ポートに出力することを特徴とする、請求項9に記載のシステム。   The dynamically reconfigurable memory module further includes a second multipath selector controlled by the dynamically reconfigurable memory module, wherein the second multipath selector has one output enable from among a plurality of output enable signals. The system of claim 9, wherein the signal is selected and the buffer is controlled to output the signal to a 1-bit interconnect port. 前記バッファがハイインピーダンス状態を呈することを特徴とする、請求項11に記載のシステム。   The system of claim 11, wherein the buffer exhibits a high impedance state. 前記各出力信号が1つの出力イネーブル信号に対応することを特徴とする、請求項11に記載のシステム。   The system of claim 11, wherein each output signal corresponds to one output enable signal. 前記出力信号が固定の信号を含むことを特徴とする、請求項11に記載のシステム。   The system of claim 11, wherein the output signal comprises a fixed signal. 複数の選択されたプログラマブル・ロジック・デバイスがサードパーティIPコアに割り当てられることを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein a plurality of selected programmable logic devices are assigned to a third party IP core. 1つまたは複数のプログラマブル・ロジック・デバイスが1つのユーザ回路機能を検証する検証IPコアに割り当てられることを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein one or more programmable logic devices are assigned to a verification IP core that verifies one user circuit function. 前記検証IPコアが、業界標準データバス操作をシミュレーションする回路を含むことを特徴とする、請求項16に記載のシステム。   The system of claim 16, wherein the verification IP core includes circuitry for simulating industry standard data bus operations. 1つまたは複数のプログラマブル・ロジック・デバイスが1つのパフォーマンス分析IPコアに割り当てられることを特徴とする、請求項1に記載のシステム。   The system of claim 1, wherein one or more programmable logic devices are assigned to one performance analysis IP core. 前記パフォーマンス分析IPコアが帯域幅分析IPコアを含むことを特徴とする、請求項18に記載のシステム。   The system of claim 18, wherein the performance analysis IP core comprises a bandwidth analysis IP core. 前記システムがさらに、動的再構成可能型論理回路を1つの選択されたプログラマブル・ロジック・デバイスに割り当てることができるコンフィギュレーションツールを含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, further comprising a configuration tool capable of assigning a dynamically reconfigurable logic circuit to one selected programmable logic device. 前記システムがさらに、複数のプログラマブル・ロジック・デバイスが設置された回路板上のバスを動的に再構成することができるパネルコンフィギュレーションツールを含むことを特徴とする、請求項1に記載のシステム。   The system of claim 1, further comprising a panel configuration tool capable of dynamically reconfiguring a bus on a circuit board on which a plurality of programmable logic devices are installed. . 前記システムがさらに、システムデバッグツールを含み、前記システムデバッグツールが実行時にプログラマブル・ロジック・デバイス内部と複数のプログラマブル・ロジック・デバイス間の信号を監視し、分析することを特徴とする、請求項1に記載のシステム。   The system further includes a system debug tool, wherein the system debug tool monitors and analyzes signals within the programmable logic device and between the plurality of programmable logic devices at run time. The system described in. 前記システムデバッグツールがフィールド・プログラマブル・ゲート・アレイ(FPGA)リードバックツールを含むことを特徴とする、請求項22に記載のシステム。   The system of claim 22, wherein the system debug tool comprises a field programmable gate array (FPGA) readback tool. 前記システムデバッグツールがシステムアクセスバスアクセスツールを含むことを特徴とする、請求項22に記載のシステム。   The system of claim 22, wherein the system debug tool comprises a system access bus access tool. 前記システムデバッグツールが内部ロジックアナライザツールを含むことを特徴とする、請求項22に記載のシステム。   The system of claim 22, wherein the system debug tool includes an internal logic analyzer tool. 前記内部ロジックアナライザツールが1つまたは複数のプログラマブル・ロジック・デバイス中にロジックアナライザ回路を挿入することを特徴とする、請求項25に記載のシステム。   26. The system of claim 25, wherein the internal logic analyzer tool inserts a logic analyzer circuit into one or more programmable logic devices. 前記システムデバッグツールが帯域幅分析ツールを含むことを特徴とする、請求項22に記載のシステム。   23. The system of claim 22, wherein the system debug tool includes a bandwidth analysis tool. 前記システムデバッグツールがコード/イベント抽出ツールを含むことを特徴とする、請求項22に記載のシステム。   23. The system of claim 22, wherein the system debug tool includes a code / event extraction tool. 前記コード/イベント抽出ツールが、ユーザに1つまたは複数の信号をコード名と関連付けることを可能にすることを特徴とする、請求項28に記載のシステム。   29. The system of claim 28, wherein the code / event extraction tool allows a user to associate one or more signals with a code name. 前記コード/イベント抽出ツールが、ユーザに信号イベントを設定する方式を介して信号波形中に複数の信号を含むイベントを設定することを可能にすることを特徴とする、請求項29に記載のシステム。   30. The system of claim 29, wherein the code / event extraction tool allows a user to set an event including multiple signals in a signal waveform via a method for setting a signal event. . 前記コード/イベント抽出ツールが、関連するコード名を介して設定イベントの検知結果を報告することを特徴とする、請求項30に記載のシステム。   31. The system of claim 30, wherein the code / event extraction tool reports a configuration event detection result via an associated code name. 前記システムデバッグツールがシミュレータ接続ツールを含むことを特徴とする、請求項22に記載のシステム。   The system of claim 22, wherein the system debug tool includes a simulator connection tool. 前記シミュレータ接続ツールが、ユーザデザインに協調検証環境下においてユーザワークステーションで実行されるシミュレータプログラムとの相互作用を可能にすることを特徴とする、請求項32に記載のシステム。   33. The system of claim 32, wherein the simulator connection tool allows user design to interact with a simulator program executed on a user workstation in a collaborative verification environment. ユーザデザインをエミュレーションする方法であって、次の手順を含む:
システムコントローラを提供し、前記システムコントローラが、
(a)ユーザワークステーションと相互に接続されたインターフェースと;
(b)データ通信インターフェースと;を含み、
前記データ通信インターフェースと相互に接続されたシミュレーションプラットフォームを提供し、前記シミュレーションプラットフォームが、
(a)ユーザデザインを実現可能な複数のフィールド・プログラマブル・ロジック・デバイスと;
(b)ターゲットシステムに接続され、実行時にユーザデザインと相互作用するインターフェースと;を含み、
ユーザデザインと1つまたは複数のサードパーティIPコアを含む最上位モジュールを生成し、
ユーザデザインを統合し、
ユーザデザインとサードパーティIPコアをいくつかのブロックに分け、各ブロックが1つのプログラマブル・ロジック・デバイスにより実現され、
各プログラマブル・ロジック・デバイスに1つのインターフェースモジュールを割り当て、インターフェースモジュールを介してプログラマブル・ロジック・デバイス内で実現されるブロックにその他プログラマブル・ロジック・デバイス内のその他ブロックとの通信を実現させ、
前記ブロックと前記インターフェースモジュールを配線し、
プログラマブル・ロジック・デバイス内に配線されたブロックを実現する。
A method for emulating a user design, which includes the following steps:
Providing a system controller, the system controller comprising:
(A) an interface interconnected with the user workstation;
(B) a data communication interface;
Providing a simulation platform interconnected with the data communication interface, the simulation platform comprising:
(A) a plurality of field programmable logic devices capable of realizing a user design;
(B) an interface connected to the target system and interacting with the user design at runtime;
Generate a top-level module containing the user design and one or more third-party IP cores;
Integrate user design,
Dividing user design and third party IP core into several blocks, each block is realized by one programmable logic device,
One interface module is allocated to each programmable logic device, and a block realized in the programmable logic device via the interface module is allowed to communicate with other blocks in the other programmable logic device.
Wiring the block and the interface module;
Implements a wired block in a programmable logic device.
前記データ通信インターフェースがコンフィギュレーションバスを含むことを特徴とする、請求項34に記載の方法。   The method of claim 34, wherein the data communication interface includes a configuration bus. 前記データ通信インターフェースがシステムアクセスバスを含むことを特徴とする、請求項34に記載の方法。   The method of claim 34, wherein the data communication interface includes a system access bus. 前記データ通信インターフェースがパルス信号バスを含むことを特徴とする、請求項34に記載の方法。   The method of claim 34, wherein the data communication interface includes a pulse signal bus. 前記ターゲットシステムに接続されるインターフェースが、プログラマブル・ロジック・デバイスをソースとするプログラマブル入力/出力ターミナルの信号を含むことを特徴とする、請求項34に記載の方法。   35. The method of claim 34, wherein the interface connected to the target system comprises a programmable input / output terminal signal sourced from a programmable logic device. 前記フィールド・プログラマブル・ロジック・デバイスが、フィールドプログラマブル論理ゲートアレイを含むことを特徴とする、請求項34に記載の方法。   The method of claim 34, wherein the field programmable logic device comprises a field programmable logic gate array. 前記インターフェースモジュールが、
(a) 制御回路と;
(b) 複数の入力/出力ユニットと;を含み、各ユニットが1つの1ビットの相互接続ポートを提供することを特徴とする、請求項34に記載の方法。
The interface module is
(A) a control circuit;
35. The method of claim 34, comprising: (b) a plurality of input / output units; each unit providing one 1-bit interconnect port.
前記各入力/出力ユニットが、
(a) 動的再構成可能型メモリモジュールと;
(b) 動的再構成可能型メモリモジュールに制御され、複数のプログラマブル・ロジック・デバイスのコンフィギュレーション信号から1ビット相互接続ポートに出力する出力信号を選択する第一マルチパスセレクタと;
(c) 複数の動的再構成可能型メモリモジュールに選択されるラッチと;
を含み、1ビット相互接続ポートの信号を受信することを特徴とする、請求項40に記載の方法。
Each of the input / output units is
(A) a dynamically reconfigurable memory module;
(B) a first multipath selector that is controlled by the dynamically reconfigurable memory module and selects an output signal to be output to a 1-bit interconnect port from a configuration signal of a plurality of programmable logic devices;
(C) a latch selected for a plurality of dynamically reconfigurable memory modules;
41. The method of claim 40, comprising receiving a signal of a 1-bit interconnect port.
前記動的再構成可能型メモリモジュールが、1つまたは複数の動的再構成可能型メモリユニットを含むことを特徴とする、請求項41に記載の方法。   42. The method of claim 41, wherein the dynamically reconfigurable memory module includes one or more dynamically reconfigurable memory units. 前記動的再構成可能型メモリモジュールがさらに、動的再構成可能型メモリモジュールにより制御される第二マルチパスセレクタを含み、前記第二マルチパスセレクタが、複数の出力イネーブル信号の中から1つの出力イネーブル信号を選択し、バッファを制御して信号を1ビット相互接続ポートに出力することを特徴とする、請求項41に記載の方法。   The dynamically reconfigurable memory module further includes a second multipath selector controlled by the dynamically reconfigurable memory module, and the second multipath selector includes one of a plurality of output enable signals. 42. The method of claim 41, wherein the output enable signal is selected and the buffer is controlled to output the signal to a 1-bit interconnect port. 前記バッファがハイインピーダンス状態を呈することを特徴とする、請求項43に記載の方法。   44. The method of claim 43, wherein the buffer exhibits a high impedance state. 前記各出力信号が1つの出力イネーブル信号に対応することを特徴とする、請求項43に記載の方法。   44. The method of claim 43, wherein each output signal corresponds to an output enable signal. 前記出力信号が固定の信号を含むことを特徴とする、請求項41に記載の方法。   42. The method of claim 41, wherein the output signal comprises a fixed signal. 前記方法がさらに、1つまたは複数のプログラマブル・ロジック・デバイスに1つのユーザ回路検証機能を持つ検証IPコアを割り当てる、という手順を含むことを特徴とする、請求項34に記載の方法。   35. The method of claim 34, further comprising the step of assigning a verification IP core having one user circuit verification function to one or more programmable logic devices. 前記検証IPコアが、業界標準データバス操作をシミュレーションする回路を含むことを特徴とする、請求項47に記載の方法。   48. The method of claim 47, wherein the verification IP core includes circuitry that simulates industry standard data bus operations. 前記方法がさらに、1つまたは複数のプログラマブル・ロジック・デバイスにパフォーマンス分析IPコアを割り当てる、という手順を含むことを特徴とする、請求項34に記載の方法。   35. The method of claim 34, wherein the method further comprises the step of assigning a performance analysis IP core to one or more programmable logic devices. 前記パフォーマンス分析IPコアが、帯域幅分析IPコアを含むことを特徴とする、請求項49に記載の方法。   50. The method of claim 49, wherein the performance analysis IP core comprises a bandwidth analysis IP core. 前記方法がさらに、動的再構成可能型論理回路を選択されたプログラマブル・ロジック・デバイスに割り当てることができるコンフィギュレーションツールを提供する、という手順を含むことを特徴とする、請求項34に記載の方法。   35. The method of claim 34, further comprising providing a configuration tool that can assign a dynamically reconfigurable logic circuit to a selected programmable logic device. Method. 前記方法がさらに、複数のプログラマブル・ロジック・デバイスが設置された回路板上のバスを動的に再構成することができるパネルコンフィギュレーションツールを提供する、という手順を含むことを特徴とする、請求項34に記載の方法。   The method further comprises providing a panel configuration tool capable of dynamically reconfiguring a bus on a circuit board on which a plurality of programmable logic devices are installed. Item 35. The method according to Item 34. 前記方法がさらに、システムデバッグツールを提供するという手順を含み、前記システムデバッグツールが実行時にプログラマブル・ロジック・デバイス内部と複数のプログラマブル・ロジック・デバイス間の信号を監視・分析することを特徴とする、請求項34に記載の方法。   The method further includes the step of providing a system debug tool, wherein the system debug tool monitors and analyzes signals within the programmable logic device and between the plurality of programmable logic devices at runtime. 35. The method of claim 34. 前記システムデバッグツールが、フィールド・プログラマブル・ゲート・アレイのリードバックツールを含むことを特徴とする、請求項53に記載の方法。   54. The method of claim 53, wherein the system debug tool comprises a field programmable gate array readback tool. 前記システムデバッグツールがシステムアクセスバスアクセスツールを含むことを特徴とする、請求項53に記載の方法。   54. The method of claim 53, wherein the system debug tool comprises a system access bus access tool. 前記システムデバッグツールが内部ロジックアナライザツールを含むことを特徴とする、請求項53に記載の方法。   54. The method of claim 53, wherein the system debug tool includes an internal logic analyzer tool. ロジックアナライザ回路中に1つまたは複数のプログラマブル・ロジック・デバイスを含むことを特徴とする、請求項56に記載の方法。   57. The method of claim 56, comprising one or more programmable logic devices in the logic analyzer circuit. 前記システムデバッグツールが帯域幅分析ツールを含むことを特徴とする、請求項53に記載の方法。   54. The method of claim 53, wherein the system debug tool includes a bandwidth analysis tool. 前記システムデバッグツールがコード/イベント抽出ツールを含むことを特徴とする、請求項53に記載の方法。   54. The method of claim 53, wherein the system debug tool includes a code / event extraction tool. 前記コード/イベント抽出ツールが、ユーザに1つまたは複数の信号を1つのコード名と関連付けることを可能にすることを特徴とする、請求項59に記載の方法。   60. The method of claim 59, wherein the code / event extraction tool allows a user to associate one or more signals with a code name. 前記コード/イベント抽出ツールが、ユーザに設定信号イベントを設定する方式で信号波形中に1つの複数の信号を含むイベントを設定することを可能にすることを特徴とする、請求項59に記載の方法。   60. The code / event extraction tool of claim 59, wherein the code / event extraction tool allows a user to set an event that includes a plurality of signals in a signal waveform in a manner that sets a set signal event to a user. Method. 前記コード/イベント抽出ツールが、関連するコード名を介して設定イベントの検知結果を報告することを特徴とする、請求項59に記載の方法。   60. The method of claim 59, wherein the code / event extraction tool reports a configuration event detection result via an associated code name. 前記システムデバッグツールがシミュレータ接続ツールを含むことを特徴とする、請求項53に記載の方法。   54. The method of claim 53, wherein the system debug tool includes a simulator connection tool. 前記シミュレータ接続ツールが、ユーザデザインに協調検証環境下においてユーザワークステーションで実行されるシミュレータプログラムとの相互作用を可能にすることを特徴とする、請求項63に記載の方法。   64. The method of claim 63, wherein the simulator connection tool allows a user design to interact with a simulator program executed on a user workstation in a collaborative verification environment.
JP2007193721A 2007-07-25 2007-07-25 Scalable reconfigurable prototype system and method Pending JP2009031933A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007193721A JP2009031933A (en) 2007-07-25 2007-07-25 Scalable reconfigurable prototype system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007193721A JP2009031933A (en) 2007-07-25 2007-07-25 Scalable reconfigurable prototype system and method

Publications (1)

Publication Number Publication Date
JP2009031933A true JP2009031933A (en) 2009-02-12

Family

ID=40402389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007193721A Pending JP2009031933A (en) 2007-07-25 2007-07-25 Scalable reconfigurable prototype system and method

Country Status (1)

Country Link
JP (1) JP2009031933A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012168946A (en) * 2011-02-11 2012-09-06 Springsoft Inc Method and apparatus for versatile controllability and observability in prototype system
WO2013062692A1 (en) * 2011-10-28 2013-05-02 Teradyne, Inc. Test instrument having a configurable interface
WO2013062691A1 (en) * 2011-10-28 2013-05-02 Teradyne, Inc. Programmable test instrument
JP2014154173A (en) * 2013-02-11 2014-08-25 Dspace Digital Signal Processing & Control Engineering Gmbh Method for randomly accessing signal value of fpga at runtime, data processing device, computer program, digital storage medium, and method for executing fpga build
US9449138B2 (en) 2010-02-12 2016-09-20 Synopsys, Inc. Prototype and emulation system for multiple custom prototype boards
US10311193B2 (en) 2013-02-11 2019-06-04 Dspace Digital Signal Processing And Control Engineering Gmbh Alteration of a signal value for an FPGA at runtime
CN110262342A (en) * 2019-06-21 2019-09-20 深圳市三旺通信股份有限公司 CAN server based on programmable logic device online acquisition CAN signal
US10776233B2 (en) 2011-10-28 2020-09-15 Teradyne, Inc. Programmable test instrument

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9449138B2 (en) 2010-02-12 2016-09-20 Synopsys, Inc. Prototype and emulation system for multiple custom prototype boards
JP2012168946A (en) * 2011-02-11 2012-09-06 Springsoft Inc Method and apparatus for versatile controllability and observability in prototype system
WO2013062692A1 (en) * 2011-10-28 2013-05-02 Teradyne, Inc. Test instrument having a configurable interface
WO2013062691A1 (en) * 2011-10-28 2013-05-02 Teradyne, Inc. Programmable test instrument
US9470759B2 (en) 2011-10-28 2016-10-18 Teradyne, Inc. Test instrument having a configurable interface
US9759772B2 (en) 2011-10-28 2017-09-12 Teradyne, Inc. Programmable test instrument
US10776233B2 (en) 2011-10-28 2020-09-15 Teradyne, Inc. Programmable test instrument
JP2014154173A (en) * 2013-02-11 2014-08-25 Dspace Digital Signal Processing & Control Engineering Gmbh Method for randomly accessing signal value of fpga at runtime, data processing device, computer program, digital storage medium, and method for executing fpga build
US10083043B2 (en) 2013-02-11 2018-09-25 Dspace Digital Signal Processing And Control Engineering Gmbh Random access to signal values of an FPGA at runtime
US10311193B2 (en) 2013-02-11 2019-06-04 Dspace Digital Signal Processing And Control Engineering Gmbh Alteration of a signal value for an FPGA at runtime
CN110262342A (en) * 2019-06-21 2019-09-20 深圳市三旺通信股份有限公司 CAN server based on programmable logic device online acquisition CAN signal

Similar Documents

Publication Publication Date Title
US7353162B2 (en) Scalable reconfigurable prototyping system and method
US7340693B2 (en) System for designing re-programmable digital hardware platforms
US7072825B2 (en) Hierarchical, network-based emulation system
US8997034B2 (en) Emulation-based functional qualification
US6389558B1 (en) Embedded logic analyzer for a programmable logic device
US8136065B2 (en) Integrated prototyping system for validating an electronic system design
JP2009031933A (en) Scalable reconfigurable prototype system and method
US8645118B2 (en) Fault support in an emulation environment
US7185293B1 (en) Universal hardware device and method and tools for use therewith
JPH0773066A (en) Method and apparatus for constitution of memory circuit
TW201428521A (en) System, device and method for designing and emulating
US8214195B2 (en) Testing in a hardware emulation environment
KR20070020247A (en) Method and system for simulating a modular test system
US20130035925A1 (en) Method and apparatus for versatile controllability and observability in prototype system
CN103870390A (en) Method and Apparatus For Supporting Unified Debug Environment
US10235485B1 (en) Partial reconfiguration debugging using hybrid models
US20020108094A1 (en) System and method for designing integrated circuits
US8073672B2 (en) Managing communication bandwidth in co-verification of circuit designs
US20080288236A1 (en) Communication Scheme Between Programmable Sub-Cores in an Emulation Environment
US20070195716A1 (en) Ring bus in an emulation environment
US20090182544A1 (en) Multiple chassis emulation environment
US7703054B2 (en) Circuit emulation and debugging method
EP1233341B1 (en) Embedded logic analyser
EP1236222B1 (en) Universal hardware device and method and tools for use therewith
US11474844B1 (en) Emulator synchronization subsystem with enhanced slave mode

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100112