IoTやAIといったテクノロジーの進歩とともに、最近では、これまでハードウェアに触れてこなかったソフトウェア・エンジニアもFPGAを知る必要がある……、としばし論じられるようになってきた。そうした現状を踏まえ、この連載では、なぜソフトウェア・エンジニアがFPGAを学ぶ必要があるのか、FPGAとは何か、またその基本的な仕組みや構造を3回に分けて紹介する。 なぜソフトウェアのエンジニアがFPGAを学ぶ必要があるのか? ソフトウェア・エンジニアがいまからFPGAを学ぶ必要性について定量的に論じることは難しい。FPGAの設計手法やコンパイラ(※1)は日々進歩しており、既存のソフトウェア(※2)をそのままFPGA用にコンパイルできるケースも増えてきた。CPU(※3)とFPGAが搭載されたシステム上で、どのプログラムをどちらのハードウェアで実行するかを最適化する研究も以前から行われており、近い将来、多