ืืชื ืื ืฆืจืื ืืืืืช ืืขืฆื ืฉืืืื ืืื ืืชืื ืช ืขืืืจ FPGAs, ืืืืืง ืืื ืฉืืชื ืื ืฆืจืื ืืืืืช ืืชืื ืช C++ ืืื ืืืชืื ืงืื ื-Java. ืขื ืืืช, ืืฉื ื ืืืงืจืื ืื ืื ืจืื ืืืื ืฉืืืืฉื.
ืืืืจื ืฉื ืืกืืืจ ืื ืืื ืืืืืืืช Java ืืื FPGA ืืื ืืืคืจืื ืืช ืืืขื ื ืืืืจืื ื. ืืืฉืืช ืืืืืช ืขืืืจ FPGAs - ืฉืืืืฉ ืืฉืืืืช ืืืคืฉืื ืืืขืจืืช ืืืืื ืื ืืื ืื, ื-35 ืืฉื ืื ืืืืจืื ืืช ืืื ืืืฆืืช ืืชืงื ืืืืืืงื ืื ืืชื ืืชืื ืืช, ืืฆืืจืช ืืืืืจืืชืืื ืืืจืืืืช ื ืชืื ืื ืขืืืจ FPGAs ืืืงืื CPUs, DSPs, GPUs ืื ืื ืฆืืจื ืืืจืช ืฉื ASIC ืืืชืืืื ืืืฉืืช ืืคืื ืืืชืจ ืืืืชืจ ื ืคืืฅ. ืงื ืืืชืจ.
ืืขืืื ืืืช ืืืืืืื ืฉื ืืฆืืจืชื ื ืืืจืช ืืขืืืื ืฉืืืืืง ืืืฉืจ ืืขืืื ืืืขืืืื ืืืจ ืื ืืืื ืืืืฉืืจ ืืืืื ืืืืฉืื ืืืืื ืฉื ืืจืืื ื ืชืื ืื ืืืืฆืืข ืืฉืืืืช ืจืืืช - ืืืืืื ืกืืืืช - ืจืืืื FPGA ืืฉืืื ืืช ืืืขืืืืช ืฉืืื, ืืืฆืืขื ืืืืจืืช, ืืืืื ื ืืื ืืืืืืืช ืจืฉืช. ืืืืืจืื - ืืืืืืช ืืืฉืื ืืืจืืื ืืืช ืฉื ืจืืืื FPGA ืืืืจื ืืื, ืฉืื ืืขืจืืืช ืืืฉืื ืืืขื ืืืืืช. ืขื ืืืช, FPGAs ืืฉืืืืื ืืืฆืืื ืื ืขื ืืืฉืืจืื ืืืจืื ืืืขืจืืืช ืืืืจืืืืืช, ืืืืขืชื ื, ืื ืจืง ืืชืืืืื ืืืฆืื ืืช ืืงืืื ืืจืืื ืืืืจืจืืืืช ืืืืฉืื.
ืื ืืกืืื ืฉืืจืื ื ืืช ืื ืก ืคืืืคืืจืืช FPGA Next ืืกื ืืืื ื-22 ืืื ืืืจ. ืืืืข ืืืืจืื, ืืื ืืกืคืงื ื-FPGA ืืขืืงืจืืื ืืขืืื ืืืืืฆื ืืชืืื ืืื Xilinx. Ivo Bolsens, ืกืื ื ืฉืื ืืืืจ ืืงืฆืื ืืื ืืืืืื ืจืืฉื ื- Xilinx, ื ืื ืืื ืก ืื ืชื ืื ื ืืช ืืืฉืืืชืื ืืืื ืขื ืืืืคื ืฉืื Xilinx ืขืืืจืช ืืืฆืืจ ืืขืจืืืช ืืืฉืื ืื ืืชื ืืช ืืฉืื ืื ืขืืืจ ืืจืืื ื ืชืื ืื.
ืืงื ืืืจืืืืงืืื ืืืชืื ืชืื ืฉื ืืขืจืืืช ืืจืื ืืื ืืืืฆืื ืืจืื ื ืชืื ืื ืืืจืืื ื, ืฉืืืืื ืกืืืื ืฉืื ืื ืฉื ืืื ืืืฉื ืฉืืคืชืืจ ืืขืืืช ืืืืฉืื, ืืืกืื ืืจืฉืช. ืื ื ืจืื ืืืจืื ืืฉื ืืขืืืื ืฉื ืขืฉื ืงืฉื ืืืชืจ ืืืืชืจ ืืืฆืข ืืช ืืืง ืืืจ ืืืืฆืขืืช ืืชืงื ื CMOS ืฉืื ืื. ืืขืช ืขืชื, ืืฉืคื ืฉืื ื ืขืืืื ืืชืืงืืช ืืืขืื, ืืื ืื ื ืขืืืื ืืืืจืื ืขื "ืืืฆืช ืืืฉืืืื", ืืืืืจ ืืืจืื ืืชืืื ืืืช ืืคืขืื ืืื ืืืชืจ ืืื ืฉื ืืชื ืืขืฉืืช ืืืขืืืื ืืืื. ืขื ืืืื, ืืจืืื ื ืชืื ืื ืืืคืื ืืืืกืคืื ืฉื ืืื ืืืฉืื, ืืืกืื ื ืชืื ืื ืืคืจืืืืงืืืื ืฉืงืืฉืจืื ืืื ืืื, ืื ืืืืจ ืืืื ืืื ืืื "ืืืฉืื" ื"ืืืฉืืืื". ืืืฉืื ืืืืจืืื ืืืคืื ืื ืืจืืื ืืื ืฉืืจืืชื ืืขื ื ืฉื ืืืื ืืคืืขืืื ืขื ืืืฉืืื ืฉืืืื ืืื ืื ืืืจืืืืืืื, ืืืฉืื ืืกืืื ืคืฉืื ื ืฉืชืืฉ ืืืืื "ืืืฉืื" ืืื ืืชืืจ ืืื ืื ืขืืืืื. ืืฉืื ืืกืืื - ืืกืืืจ ืืื ืื ืฉ-FPGAs ืืกืืืขื ืืคืชื ืขืืื ืื - ื ืงืจื ืืื ืฉืื ืขืืืื ื ืชืื ืื.
ืืืืืฅ FPGAs ืืืจืืื ื ืชืื ืื ืืืจืืฉ ืฉืื ืื ืืฉืืื. "ืืฉืืืฉืืื ืขื ืืจืืื ืืืืืฅ ืืช ืืืืฉืืืื ืฉื ืืืื, ืืชื ืฆืจืื ืืจืืช ืืืกืืืืช ืฉื ืืื ืื ืคืืขืืื, ืืืืื ืืฉืืืื ืืฉืชืืฉืื, ืืืคื ืืืื ืืืฉืงืข", ืืกืืืจ ืืืื ืก. - ืืชื ืฆืจืื ืืืืื ืืช ืืืขืื ืืืืืืช ืฉืืชื ืื ืกื ืืคืชืืจ. ืืืฉืืืื ืจืืื ืืคืืขืืื ืืืจืืื ื ืชืื ืื ืืืื ืืชืจืืืื ืืฆืจืื ืืืืืืช ืืืืืืช ืฉื ืืฉืืืื. ืงืื ืืืฉื ืืืืืช ืืืื ื, ืืืฉืชืืฉืช ืืืกืคืจ ืขืฆืื ืฉื ืฆืืชื ืืืฉืื. ืืื ืืฉืื ืื ื ืืืืจืื ืขื ืืืฆื, ืื ืื ื ืฆืจืืืื ืืืฉืื ืื ืจืง ืขื ืืืฆืช ืืืืฉืื, ืืื ืื ืขื ืืืฆืช ืืชืฉืชืืืช".
ืืืืืื, ืืกืื ืฉื ืคืขืืืืช ืืืืืช ืืืื ื ืฉืืงืจ ืืืืกื ืก ืืคืืขื, ื-50% ืืืืื ืืืฉืงืข ืืืขืืจืช ื ืชืื ืื ืืืื ืืฉืื ืืื ืืื ืืืฉืื ืืคืืืจ, ืืจืง ืืช ืืืฆืืช ืืืื ืื ืืชืจ ืืืฉืงืข ืืืืฉืืืื ืขืฆืื.
"ืื ืืืงืื ืฉืื ืื ื ืืืฉื ืฉ-FPGA ืืืื ืืขืืืจ, ืื ืื ืื ื ืืืืืื ืืืืืื ืฉืื ืืืืืืื ืืืืฉืืืืื ืืืชืงืฉืืจืชืืื ืฉื ืืืคืืืงืฆืื ืืืื ืืืคืืืืืืื. ืืื ืื ื ืืืืืื ืืขืฉืืช ืืืช ืืจืืช ืืชืฉืชืืช ืืืืืืช, ืืืจืืช ืืฉืืืื. ืืื ืืื ืืืชืจืื ืืช ืืืืืืื ืฉื FPGAs, ืืืืคืฉืจ ืื ืืืฆืืจ ืจืฉืชืืช ืชืงืฉืืจืช ืืฆืจืื ืืืฉืืืื ืกืคืฆืืคืืื. ืืืชืืกืก ืขื ืืคืืกืื ืืืคืืกืืื ืฉื ืชื ืืขืช ื ืชืื ืื ืืขืืืกื ืขืืืื ืฉื AI, ืื ื ืื ืจืืื ืฆืืจื ืืืจืืืืงืืืจื ืืืจืืืช ืืืืกืกืช ืืชืืื. ืืชื ืืืื ืืื ืืช ืจืฉืช ืขื ืืจืืืช ื ืชืื ืื ืืืืื. ืื ืื ืืืื ืืฉืืืืช ืืืืื ืืจืฉืช ืขืฆืืืช - ื ืืชื ืืื ืืช ืจืฉืช ืจืฉืช ืขื ืืืื ืื ืืช ืืืืชืืืื ืืืฉืืื ืกืคืฆืืคืืช. ืืืืฆืขืืช FPGA, ืคืจืืืืงืืื ืืขืืจืช ื ืชืื ืื ืืืืคืืืืืืืช ืืขืืืื ื ืืชื ืื ืืงื ื ืืืื ืืืืืง ืืืื ืืืืชืืื ืืืืฉืื ืกืคืฆืืคื. ืืืืงืจื ืฉื ืืืืืช ืืืื ื, ืืจืืจ ืื ืฉืื ืื ื ืื ืฆืจืืืื ืืกืคืจื ื ืงืืื ืฆืคื ืขื ืืืืง ืืคืื, ืืื ืื ื ืืืืืื ืืืชืืื ืื ืืช ืื".
ืืืืื ืืื FPGA ื-CPU ืื ASIC ืืืชืื ืืืฉืืช ืืื ืฉืืืืจืื ืื ืืชืืื ืชืื ืืืคืขื, ืืืืืจ ืืื ืืื ื ืืืื ืขืื ืืฉื ืืช ืืช ืืขืชื ืืืื ืกืืื ืื ืชืื ืื ืืืืืฉืืื ืื ืืืืื ืืื ืืืืืฉืืื, ืื ืืืื ืืืคื ืื ืชืื ืื. ืืืจืื ืืจื ืืืืฉืืจ. FPGAs ืืืคืฉืจืื ืื ืืฉื ืืช ืืช ืืขืชื ืื ืชื ืื ืืืคืขืื ืืฉืชื ืื.
ืืขืืจ, ืืืชืจืื ืืื ืืื ืืขื ืืืืจ, ืืืฉืจ ืชืื ืืช FPGA ืื ืืื ืืืขืื ืื ืืืฉ. ืืฆืืจื ืืื ืืคืชืื ืืืืจืื ืฉื FPGA ืืื ืืืฉืชืื ืืื ืืืชืจ ืขื ืืืืื ืฉืืชืื ืชืื ืืฉืชืืฉืื ืืื ืืื ืืืชืื ืืืฉืืืื ืืงืืืืื ืืืขืื ื-C, C++ ืื Python, ืืืืขืืืจ ืืืง ืืืขืืืื ืืืืงืืจ ืืืฅ ืืกืคืจืืืช ืฉืืืืฆืืช ื ืืืื ื-FPGA. ืื ืื ืฉืขืืฉื ืืืกื ืืช ืืืืืื ืืืืื ื ืฉื Vitis, ืืื ืืขื ืคืืืคืืจืืืช ML ืืื Caffe ื-TensorFlow, ืขื ืกืคืจืืืช ืืืคืขืืช ืืืืืื AI ืงืื ืื ืฆืืื ืืืื ืื ืืืกืคืช ืืืืืืช FPGA ืืืฉืืืืช ืืื ืืืจืช ืงืืืื ืืืืื, ืืืืื ืืืืืืงืื ืืืืื ืื ืืชืื ื ืชืื ืื. , ื ืืืื ืกืืืื ืื ืคืื ื ืกืืื ืืื ืฉืืืฉืื -ืกืคืจืืืช ืืคืืืืช.
ืืงืื ืกืคื ืืื ืืื ื ืฉืื ื ืืืจืื ืืคืจืืืงื CUDA ืฉื Nvidia, ืฉืืืฉืง ืืคื ื ืขืฉืืจ, ืืฉืจ ืืืจืื ืืืฉืื ืืงืืื ืืืืืฆื GPU, ืื ืืขืจื ืืืืื ROCm ืฉื AMD, ืื ืืืืืืื ืฉื ืคืจืืืงื OneAPI ืฉื ืืื ืื, ืฉืืืืจ ืืจืืฅ ืขื ืืขืืืื, GPUs ื-FPGA ืฉืื ืื.
ืืฉืืื ืืืืืื ืืื ืืืฆื ืื ืืืืื ืืืื ืืืืืจื ืืื ืื ืฉืื ืืื ืืืื ืืชืื ืช ืกื ืฉื ืืืืืช ืืืฉืื ืืคื ืฉืืงืื ืืขืชื. ืื ืืฉืื ืื FPGAs ืืคืื ืืืจืืืื ืืืชืจ, ืืจืื ืืืชืจ ืืืจืืืื ืืื ืืืขืืืื ืืืืื ืื. ืื ืืืืฆืจืื ืืชืืืืื ืืืืฆืืจ ืืืชืงืืืื ืืืืชืจ ืืืืื ืืืืืืืช ืืจืืืช ืืฉืืืื ืืืืืจื ืืืช ืืืืชืจ. ืืื ืืืฆืื ืืช ืื ืืฉื ืฉืืื, ืื ืื ืื ื ืืืจ ืื ืืืืืื ืืืืื ืืื, ืืกืฃ, ืื ืจืืื ืืืื ืืืืื ืฆืื - ืื ืืื ืื ืืฉืืืื ืืงืจืื ืืื.
"ืจืืืื FPGA ืืฆืืขืื ืืชืจืื ืืช ืืื ืืืืืืื", ืืืืจ ืืืืกื ืก. - ืืื ืื ืจืง ืืคืจืกืื ืืจืืื ืขื ืืชืืื ืืืชืืื ืืืืฉ. ืืื ืืืืฉืืืื ืืืฉืืืื - ืืืืืช ืืืื ื, ื ืืชืื ืืจืคืื, ืืกืืจ ืืืืืจืืช ืืืืื ืืื'. - ืืฉ ืืื ืืช ืืืืืืช ืืืชืืื ืืืฉืืื ืกืคืฆืืคืืช ืื ืจืง ืืช ื ืชืื ืืคืฆืช ืื ืชืื ืื, ืืื ืื ืืช ืืจืืืืงืืืจืช ืืืืืจืื - ืืื ื ืชืื ืื ืืืื ืืชืื ืืฉืื. ืืจืืืื FPGA ืืฉ ืื ืืจืื ืืืชืจ ืืืืจืื ืืืื ื ืืืืฉืืจืื ืืืจืื. ืืื ืื, ืืฉ ืืงืืช ืืืฉืืื ืฉืื ืืฉืืื ืืื ื ืืชืืืื ื-FPGA ืืื, ืืชื ืืืื ืืฉื ืืช ืืืชื ืขื ืคื ื ืืกืคืจ ืฉืืืื ืืืื ืืืืชืงื ืืืกืจืื ืืช ืฉืืืืื ืื ืืขืช ืฉืื ืื ืงื ื ืืืื ืฉื ืืฉืืืืช ืขื ืคื ื ืืกืคืจ ืืขืืืื ืื GPUs."
ืืงืืจ: www.habr.com