FPGA市場は非常に複雑ですが、VerilogまたはVHDLを学習するために、数十万の論理ゲートを備えた複雑なFPGAを使用する必要はなく、非常に高い価格で、非常に単純なものでそれだけの価値があります。 そのため、初心者の場合は、最初のFPGAを選択する際に一連のヒントを提供します。
何かを学ぶXNUMXつの方法は、その何かを開発することです。ハードウェア記述言語を使用することでFPGAが可能にするものであり、Cのような構文でその論理部分のすべてを記述できます。 FPGAは、マイクロコントローラーとは異なり、ソフトウェアを実行しませんが、ハードウェア自体のように動作します。

FPGAの利点

FPGAがマイクロコントローラーと比較した利点のXNUMXつは、マイクロコントローラーと比較した場合のその巨大なパワーと汎用性です。 FPGAを使用すると、仕様から完全に必要なハードウェアを使用できます。FPGAを文字通りその部分のように動作させるため、同時に複数の異なる部分のように動作させることもできます。
ただし、それらをプログラムするには、VerilogやVHDLなどのハードウェア記述言語を知っている必要があります。これらのハードウェアの処理方法を学習するときにコードをテストできるサポートプラットフォームとFPGAがないと学習できません。説明言語。
FPGAはメーカーと結びついています

VHDLまたはVerilogを学ぶことにしました。このため、学ぶべき例がたくさんある本があります。 彼らは特定のモデルを推奨しており、私たちの推奨はあなたが手紙に注意を払うことです。
この理由は、これらの教科書が特定のモデルでコードをテストしており、別のブランドのFPGAで動作することを保証しておらず、一部の演習ではそのボードの専用要素を使用しているためです。
つまり、たとえば、アルテラ、ザイリンクス、またはその他のブランドのモデルを選択した場合、ビジネスモデルの一部は開発ツールの販売に由来するため、開発ツールとポリシーに一生閉じ込められてしまいます。 。
問題はどこにありますか? コードがハードウェア記述言語で記述されている場合、コードは特定の形式に「コンパイル」されます。これはメーカーごとに異なります。 ツールがFPGAのメーカーに関連付けられる原因は何ですか?
SoC FPGAまたはFPGAは単純ですか?

いいえ、比較するつもりはありませんが、単独ではなく、スマートフォンと同じタイプのSoCを組み込んだFPGAと相互作用するFPGAが多数あることを覚えておく必要があります。
もうXNUMXつの安価なオプションは、FPGAのみを搭載し、SoCを搭載しないボードを選択することです。 最初のケースでは、SoCのコンポーネントとFPGAを組み合わせたコンポーネント間の可能性を学ぶことが理想的です。 しかし、他のフリルなしでFPGAをプログラムする方法を学びたい場合は、FPGAだけのボードに興味があるかもしれません。
XNUMX番目のタイプを選択することをお勧めします。これにより、SoCがすでに統合しているI / Oインターフェイスを個別に購入したり、プログラムしたりする代わりに、それらと対話できるようになります。
初心者に最適:Raspbery Pi + FPGA

最も安全なことは、あなたの多くが持っているということです ラズベリーパイ 特定のプロジェクトを実行するために、IcoBoardはRaspberry Pi 2B以降のさまざまなモデルのピンと互換性があるため、Raspberry Piにインストールして新しい機能を追加し、Verilogを学習するために使用するのは非常に簡単です。
icoBoardで使用されるFPGAは、7680 LUTS8メガビットSRAMLatticeiCE40-HX8Kです。 Rasperry Piと一緒に使用するように設計されているという事実は、SoCを節約できることを意味しますが、他のモデルではなくこのモデルを推奨する理由はいくつかあります。
また、多くの人がさまざまなプロジェクトでRaspberry Piを使用してプロジェクトを実行していることを考えると、FPGAを使用すると、Raspberry Piを使用してプロジェクトに新しい機能が追加され、ハードウェアが実際にどのように機能するかを学習しながら、機能が大幅に拡張されます。動作します。
FPGA初心者にこの推奨を行うのはなぜですか?

初心者の方にicoBoardの使用をお勧めする理由は、FPGAであるLattice iCE40-HX8Kが、このライセンスでの開発に完全に無料でオープンなツールを使用できるようにリバースエンジニアリングされているためです。プレート。 すべての欠点は? あなたは持っている必要があります Linux それを実行できるようにディストリビューションがインストールされていますが、その瞬間から、RaspberryPiでディストリビューションが実行されている可能性があります。
Lattice ICE40-HX8KのリバースエンジニアリングプロジェクトはIceStormと呼ばれます。この記事の最後に、特に最後に添付するソースにリンクがあります。