現在、RTLをテストしていますが、ncverilogを使用していますが、非常に遅いです。 FPGAボードを使用すると、処理速度が向上すると聞いています。本当ですか?FPGAベースのRTL評価
答えて
あなたは2つの異なることを話しています。
NCVerilogはシミュレーションツールで、FPGAボードは実際のハードウェアです。だから違いがあります。実際のハードウェアは一般的に高速ですが、シミュレータを使用すると、あらゆる種類のデバッグを楽しむことができます。特定の信号を探知しようとするのは、テストベンチにラインを追加するだけです。また、FPGAボードを再設計する代わりに、シミュレートされたモデルを簡単に変更することができます。
あなたは十分に強力なマシン上でシミュレーションを実行した場合、あなたは時々(FPGAが遅いものであると仮定して)実世界でのパフォーマンスを近似することができます。
すべての場合、両方を行う必要があります。シミュレータを使用して、基本的な開発と評価を行います。デザインが十分に定義されたら、FPGAハードウェアに移動してください。
良い答え(私のような初心者にとっては分かりやすい)。ありがとうございました! – Alphaneo
どのような種類のRTLをテストしていますか? FPGAボードを使用している場合は、正しいFPGAに適したツールがあれば、 コードをコンパイルできます。 FPGAは再書き込み可能であるため、ボード上でコードをテストし、ターゲット(FPGA)にコード(RTL)を実行させることができます
しかし、これ以上シミュレーションではありません。ハードウェアを所定のクロック速度で動作させる。 あなたは画面上で良い結果を得られないので、物理的なプローブとスコープを使用する必要があります。さらに、コードの内部がどのように機能しているのかも分かりません。
VerilogまたはVHDLシミュレーションは、デバッガを使用した実行コードのようなものです。 FPGAテストは、printfを使ったデバッグに似ています。大きな違いは、シミュレーションするときに、CPUがその結果であるすべてのロジックゲートの動作をシミュレートしなければならないことです。 FPGAでは、シミュレーションはなく、コードを実行するだけです。したがって、はるかに高速ですが、情報が少なくなります。
非常に小さなコンポーネントにはシミュレーションを使用し、FPGA上でプログラム全体をテストする必要があります。
シミュレーション速度に関しても同じ問題がありました。しかし、私たちは検証の大部分についてシミュレーションを続けます。各シムは特定の機能をチェックし、システムレベルのシムよりもはるかに高速です。また、それらを自己チェックし、回帰テスト(単体テスト)にも役立ちます。
シミュレートに時間がかかりすぎる実際の信号の長いシステムテストでは、できるだけこれらをFPGAに移動します。コードを変更した後、これらのテストケースをすべて手動で再チェックする必要があるため、独自の方法で処理が遅くなる可能性があります。
ただし、デザインをFPGA化することはできません。フル・デザインが大きすぎてFPGAに収まらない場合や、クロック・レートが高すぎる場合があります。しかし、必ずしもFPGA全体を設計する必要はないことを覚えておいてください。重要なブロックを取得してこれを完全にチェックするだけで十分です。
あなたは、アルテラのSignalTapまたはザイリンクスのChipScopeのような「エンベデッド・ロジック・アナライザ」ソフトウェアツールを使用して実行しているFPGAデザインの信号上の活動を追跡することができます。 RTLをデバイスに合成/マッピングする前に、これらのツールを使用して、監視したい信号にソフトプローブを接続します。信号の値が特定の条件下でのみ記録されるようにトリガーを設定できます。次に、ビットファイルを生成し、JTAGでデバイスをプログラムします。ロジック・アナライザは、JTAGを介してPCと通信し、プローブ上のアクティビティを記録します。
これらのツールは特に使いやすいわけではありませんが、RTLシミュレーションよりもはるかに高速な結果を得ることができます。
- 1. 評価
- 2. 評価
- 3. 評価関数
- 4. Ajax評価星
- 5. 遅延評価
- 6. Python socket.recv評価
- 7. MonoDroid評価System.UnauthorizedAccessException()
- 8. 評価引数
- 9. 評価truthy値
非常に遅いと思いますか?分または時間。 –
@Brian:1回のテストでは、時間差は1分単位です。しかし、包括的なテストを実行すると、その差は数日〜(私はそれを意味し、日~~) – Alphaneo