質問: FPGAのプログラミング(hdl)は、容量が許す限り、どんな複雑な処理でも可能なのですか?
回答: 回路に収まるのであれば、どんな複雑な処理も可能ですが、可能なことと、得意な(性能が出る)ことは、違います。 複雑な分岐処理や、ランダムなメモリアクセスがある処理かつ並列化できない処理は、CPUで処理した方が、速いです。 極論、FPGAにCPU機能を実装することが可能ですが、CPUとして専用に作られたものの方がよっぽど速い訳です。 FPGAは、工場のパイプラインように並列/工程別の処理が得意です。 FPGAのクロックは、精々数100MHzですが、CPUはその10倍程度はありますね。 敢えて単純化して言うと、FPGAの方が10倍遅いのです。 しかし、FPGAの方が速い処理ができることがあるのは、CPUに比べて並列度を、例えば、10倍〜100倍などに上げて処理することができるからです。