私はプログラミングのバックグラウンドを持っており、ハードウェアやファームウェア(せいぜい少し電子機器とArduino)をいじりすぎてはいません。
Cやアセンブリなどのプログラミング言語で、VerilogやVHDLなどのハードウェア記述言語(HDL)を使用する動機は何ですか?
この問題は選択の問題ですか?
ファームウェアがHDLで記述されているハードウェアを読むと、命令を並行して実行できるという明らかな利点があります。ただし、ファームウェアをCで書くかアセンブリで書くか(CPUが必ずしも必要ない場合、アセンブリはどのように適切ですか?)
したがって、いくつか質問があります(何かを説明することをheしないでください):
ファームウェアは、実際にはHDLまたはソフトウェアプログラミング言語で記述できますか、それとも同じミッションを実行するための別の方法ですか?実世界の例が欲しいです。各オプションから生じる制約は何ですか?
ソフトウェアを介したファームウェアの一般的な使用は、ハードウェアアクセラレータ(GPU、ネットワークアダプタ、SSLアクセラレータなど)で使用されることを知っています。私が理解しているように、この加速は必ずしも必要ではありませんが、推奨されるだけです(たとえば、SSLや複雑なアルゴリズムの加速の場合)。すべての場合にファームウェアとソフトウェアのいずれかを選択できますか?そうでない場合は、ファームウェアが明確かつ明確に適切であるケースに満足しています。
ファームウェアのほとんどがROMまたはフラッシュに焼き付けられていることを読みました。そこにどのように表されていますか?ソフトウェアのようなビットで?もしそうなら、深遠な違いは何ですか?ファームウェアの場合、適応回路が利用可能ですか?
いくつかの仮定であちこちで間違いを犯したと思いますが、ご容赦ください。ありがとうございました!