5

FPGA での開発を検討していますが、Python または Scala でコードを記述し、VHDL または Verilog に変換する方が簡単です。

多くのセンサーをデバイスに接続したいのですが、データが入ってくると計算が非常に迅速に行われるため、ビデオ ウォールに表示できます。そのため、FPGA は入力として数十のセンサーといくつかのビデオ コントローラーを使用します。壁。

Scalaで書かれたコードのライブラリです。これについては、コードが Java で記述されていて、Scala が生成するものに影響を与えるかどうかに興味があります。

http://simplifide.com/drupal6/

これは Python から VHDL へのコンバーターです。

http://www.myhdl.org/doku.php

これらの両方で、制限について興味があります。

私は Python よりも Scala に強いので、simplifide を好みますが、いくつかの基本的な見回すだけで、myhdl はより堅牢なプラットフォームのようです。

アップデート:

FPGAの理由は、一度に複数のタスクを非常にうまく実行できるため、データが入ってくると、ユーザーのニーズに応じて、実験に基づいてFPGAのコードを変更するのは簡単です.ニーズに適応することができます。

たとえば、オフィス ビルの各フロアに 8 x 3 の異なる気象センサーがある場合、温度、風速、気圧センサー (各フロアに 8 個の各センサー) があり、センサーを追加して変形をテストします。これらの壁を同時に読み取り、視覚的表示を更新し続けるリアルタイム インターフェイスが役立つ場合があります。

これはでっち上げの例ですが、FPGA が役立つ理由を説明できます。それ以外の場合は、多くの異なる DSP が必要になり、それをコンピューターに入力してビジュアル表示を行いますが、FPGA はハードウェアであるため、より高速に実行できます。 、電力の必要性が低くなります。

開発を容易にするオープンソース ライブラリが 2 つありますが、プログラムを VHDL/Verilog に変換するのにどちらが適しているかはわかりません。

これはほんの一例です。この記事が示唆するように、FPGA で量子回路シミュレーションを実行したい場合 ( http://www.cc.gatech.edu/computing/nano/documents/Radecka%20-%20FPGA%20Emulation%20of%20Quantum%20Circuits .pdf ) であれば、手で大規模な回路を構築するよりも、プログラムとしてこれを行う方が簡単です。

4

5 に答える 5

3

余裕があれば、ナショナル インスツルメンツの LabView 用 FPGA アドオンほど楽になるものはないと思います。LabView のビジュアル環境は、FPGA プログラミングに適度に適合し、面倒な詳細の多くを処理してくれます (クロック速度の目標を達成するためのパイプラインを構築するなど、アルゴリズムの一部として心配する必要がある場合を除きます)。また、NI のリアルタイム (FPGA 以外)、DSP、DAQ、またはその他のソリューションがニーズに適している場合もあります。

于 2012-10-14T16:23:24.440 に答える
1

これはでっち上げの例ですが、FPGA が役立つ理由を説明できます。それ以外の場合は、多くの異なる DSP が必要になり、それをコンピューターに入力してビジュアル表示を行いますが、FPGA はハードウェアであるため、より高速に実行できます。 、電力の必要性が低くなります。

これは、実行する必要があるアルゴリズムの正確な性質に完全に依存します。

開発を容易にするオープンソース ライブラリが 2 つありますが、プログラムを VHDL/Verilog に変換するのにどちらが適しているかはわかりません。

これはほんの一例です。この記事が示唆するように、FPGA で量子回路シミュレーションを実行したい場合 (http://www.cc.gatech.edu/computing/nano/documents/Radecka%20-%20FPGA%20Emulation%20of%20Quantum%20Circuits .pdf) であれば、手で大規模な回路を構築するよりも、プログラムとしてこれを行う方が簡単です。

どちらでもない高位合成ツールを探しているようです。アルゴリズムの RTL を生成するには、コード ジェネレーターが確実に役立ちますが、他のことのために HDL をいじる必要があります。

于 2012-10-14T17:41:23.817 に答える
1

Modaë Technologies がここで提供しているツールを探していると思います。アルゴリズム/動作レベルで、Ruby または Python コードから始めることができます。彼らのツールは、データ型を自動的に推測し、RTL レベルでコードを HDL (現在は VHDL) に変換することができます。

于 2014-09-29T18:25:33.513 に答える
0

1、2 年前、私は MyHDL と LabVIEW を使用していました。HDL を MyHDL に記述し、VHDL としてエクスポートして、LabVIEW に外部 IP としてインポートしました。

ラボビュー

グラフィカルな表現により、順次分岐ごとに消費されるクロックを追跡できるため、FPGA 開発に適しています。アルゴリズムをグラフィカルにパイプライン化してスライスすることは、正しい値が一緒に処理されるようにするために非常に価値があります。ただし、定数の生成、初期化リストの生成、または再帰構造の生成に関しては、ビジュアルから実際のハードウェアへのマッピングは、このアプローチは...最適ではありません。

MyHDL

これは基本的には python ですが、構文は V​​erilog によく似ており、@always などのステートメントとして使用される専用のデコレーターを備えています。HDL コードでは、Python で有効なコードを自由に使用できます。テスト目的で、レジスタ転送レベル (RTL) で実際に実装する前に、Python でテスト関数を作成することが適切な場合があります。再帰構造を生成するときは、通常の for ステートメントがあります。アルゴリズムのルックアップ テーブル (LUT) が必要ですか? リスト内包表記の 1 行: 完了。機能の完全なリストについては、Web サイトを参照してください。

概要

LabVIEW は、実際の実装に集中できるため、初心者に最適です。並行して RTL で考える方法を習得し、より複雑なアルゴリズムの実装を検討するとすぐに、MyHDL の方が優れていることに気付くかもしれません。

  • 独自のプラットフォームに縛られることなく IP を管理
  • 完全な Python パワーでコードをテストする
  • 共有、バージョン管理など
于 2018-03-07T10:09:35.343 に答える