組み込みシステムを設計するとき、FPGAのどの側面を考慮する必要がありますか?
非常に重要な考慮事項は、設計を計画しているシステムに必要なものです。複数の異なるタイプのシステムを設計する場合、共通のハードウェア設計ツールが最適かもしれません。これらのツールを使用する専門家になるのに多くの時間を費やす多くの人々がいます、そして、あなたは彼らに加わることができます。範囲を絞りたい場合は、これらの「通常の」問題に対処するためのツールがあり、付加価値のある場所に集中できます。たとえば、信号処理システムを迅速に開発し、FPGAに構成するのに役立つツールが多数あります。また、測定と制御を追加するために設計されたいくつかの最適化されたツールもあります。
システム構成の設定方法の問題も考慮する必要があります。どんなサイズがありますか? PCに接続されていますか? FPGA開発ツールの中には、FPGAを中心にすべてのハードウェアを開発する必要があるものもあれば、FPGAを内蔵した特別なボードが必要なものもあります。ノイズ耐性、整定時間、クロストークなどに注意する必要がないため、開発プロセスを大幅にスピードアップできます。このようなシステムの場合、I / Oへの接続にいくつかの単純な機能のみが含まれていることを確認する必要があります。システムでWindowsまたはRTOSを実行しているPCへの多くの接続が必要な場合は、クロスプラットフォームの設計ツールを選択する必要があります。 PC側のインターフェースの開発に使用されるAPIが非常に限られている場合、設計の効率はある程度影響を受けます。
l設計システム
完全なシステムを設計するための最初のステップは、アルゴリズムのどの部分をFPGAに配置して実行する必要があるかを判断することです。いくつかの可能性があります。
まず、アプリケーション全体をFPGAで実行できます。キーボード、モニター、またはマウスを介してユーザーと対話する必要はありません。この場合、すべての作業はソフトウェア開発で行うことができます。
次に、アプリケーションをFPGAに埋め込むこともできますが、PCでWindowsユーザーインターフェイスを実行する必要があります。つまり、FPGAと通信するにはWindowsで実行するプログラムを開発する必要があります。開発ツールがこの方法で開発されているかどうかによります。トリッキーまたはシンプルな場合があります。
3番目に、もう1つの一般的な状況は、FPGAとシングルボードやRTOSを実行する組み込みPCなどのマイクロプロセッサプラットフォームとの間でアプリケーションを配布することです。この場合、Windowsユーザーも必要になることがあります。インタフェース。
アプリケーション全体をFPGAに埋め込むことができない理由はいくつかあります。アプリケーションのサイズはそれらの1つです。 FPGAのロジックゲートの数には制限があり、最終的にFPGAに配置されるコードは、プログラマーとコードを生成する自動システムにより、非常に効率的または低い場合があります。さらに、ユーザーはFPGAを使用できます。 RAM容量も制限されており、PCベースのプラットフォームは一般に比較的大きなメモリとハードディスク容量を持っています。考慮すべきもう1つの問題は、FPGAデザインでは浮動小数点演算を実行できないことが多いことです。 FPGAで浮動小数点演算を実行する市場にはツールがありますが、使用している開発ツールと互換性がある場合とそうでない場合があります。 。 PCは、ファイルI / O、ネットワーク操作、印刷機能、グラフィックス認識/処理、GPIB / VXIツール制御などのPCベースの測定および制御機能など、FPGAに簡単に実装できない他の利点も提供できます。また、CAN、RS-232、RS-485などの産業用バスへのインターフェース。
FPGAは、組み込みシステムにサイズ、コスト、パフォーマンスの面で利点をもたらします。 I / O処理にインテリジェント機能を追加する場合に特に役立ちます。 FPGAを使用して、RTOSを実行しているソフトウェアベースのシステムでは達成できないタイミングと同期を実装できます。マイクロプロセッサおよび組み込みPCなどのRTOSプラットフォームを介してほとんどのアプリケーションを実行できますが、出力情報のデコードとエンコードまたは出力情報の生成にはチップレベルのソリューションが必要です。同様に、ほとんどのアプリケーションをFPGAで実行できますが、より高度なタスクを完了するには別のプラットフォームが必要です。 FPGAの使用にはいくつかの課題がありますが、FPGAの解決に役立つツールは多数あります。主な考慮事項は、技術的特性、システムが実行する必要のあるタスク、およびシステムのセットアップ方法です。