現在、いくつかのRTLをテストしており、ncverilogを使用していますが、非常に遅いです。ある種のFPGAボードを使用すると、処理が速くなると聞いています。本当ですか?
5 に答える
Altera SignalTap や Xilinx ChipScope などの「組み込みロジック アナライザー」ソフトウェア ツールを使用して、実行中の FPGA デザインの信号のアクティビティをトレースできます。RTL をデバイスに合成/マッピングする前に、これらのツールを使用して、監視する信号にソフト プローブを接続します。特定の条件下でのみ信号の値が記録されるようにトリガーを設定できます。次に、ビットファイルを生成し、JTAG を使用してデバイスをプログラムします。ロジック アナライザーは、JTAG を介して PC と通信し、プローブのアクティビティをログに記録します。これを分析できます。
これらのツールは特に使いやすいわけではないため、セットアップは少し複雑ですが、RTL シミュレーションよりもはるかに高速に結果を得ることができます。
あなたは2つの異なることについて話している.
NCVerilog はシミュレーション ツールですが、FPGA ボードは実際のハードウェアです。したがって、違いがあります。実際のハードウェアは一般的に高速ですが、シミュレーターを使用すると、あらゆる種類のデバッグを楽しむことができます。特定の信号をプローブしようとするのは、テストベンチに行を追加するだけです。また、FPGA ボードを再設計する代わりに、シミュレートされたモデルを簡単に変更できます。
十分に強力なマシンでシミュレーションを実行すると、実際のパフォーマンスを近似できる場合があります (FPGA が遅いものであると仮定します)。
全体として、両方を行う必要があります。シミュレーターを使用して、基本的な開発と評価を行います。デザインが十分に明確に定義されたら、FPGA ハードウェアに移行します。
どのような種類の RTL をテストしていますか? FPGA ボードを使用する場合、適切な FPGA に適切なツールがあれば、コードをコンパイルできます。FPGA は再プログラム可能であるため、もちろんボード上でコードをテストし、ターゲット (FPGA) にコード (RTL) を実行させることができます。
しかし、これはもはやシミュレーションではなく、特定のハードウェアを特定のクロック速度で使用するテストです。また、画面上で良い結果が得られない場合は、物理的なプローブとスコープを使用する必要があります。さらに、コードの内部がどのように機能しているかを確認することはできません。
Verilog または VHDL シミュレーションは、デバッガーを使用してコードを実行するようなものです。FPGA テストは、printf を使用したデバッグに似ています。大きな違いは、シミュレートするとき、CPU はコードの結果であるすべての論理ゲートの動作をシミュレートする必要があることです。FPGA では、シミュレーションはなく、コードを「実行」するだけなので、はるかに高速ですが、情報は少なくなります。
非常に小さなコンポーネントにはシミュレーションを使用してから、FPGA でプログラム全体をテストする必要があります。
おそらく、ハードウェア シミュレーション アクセラレータについて尋ねているでしょう。ここにそれらの1つがあります:GateRocket