FPGA是个工具,为了实现目的的工具。如果你的目的是玩一玩,搞搞流水等,交通灯,那你没必要搞算法。但是你想要在FPGA这条路上走下去,想去工作的话,你就要了解到单纯FPGA干不了太多工作,无论是视频图像领域、通信领域或者接口类开发、人工智能等工作方向大多需要用到以FPGA+算法的形式去工作。
可能刚接触FPGA的人一听觉得算法是个非常非常高大上的东西,其实算法没有那么神秘,算法就是分前后步骤的一个或者一系列数学公式。以往的算法开发是软件开发居多,但是随着技术发展工程算法越来越复杂,对算力要求越来越高,对速度性要求越来越高。就有了越来越多的算法工程迁移到了FPGA上选择使用FPGA去实现,这是一种趋势。
在公司工作,可能FPGA工程师的职责划分没有那么清晰,中小公司可能也不会专门去配一个算法工程师来配合你工作,那这就需要FPGA工程师可以自己看懂算法并且转换成、RTL代码。这是对你的能力要求。
传统硬件开发要做的芯片选型、画电路图、画pcb、焊接电路板的工作可能学fpga的人在公司都要做。传统硬件开发当中也有算法实现工作。这是一种现实。
做个总结
FPGA 的应用不仅限于传统的硬件开发领域,还广泛涉及到高性能计算、通信系统、视频图像处理和人工智能等前沿技术领域。随着技术的不断发展,FPGA 的性能和可编程性将继续提高,这将使得更多复杂的算法能够在 FPGA 上实现。
对于 FPGA 工程师来说,了解和掌握相关的算法,并能够将其高效地实现到 FPGA 上,是非常重要的技能。这不仅要求工程师具备硬件设计能力,还需要具备一定的算法理解和优化能力。在公司工作中,FPGA 工程师可能需要独立完成从算法理解到硬件实现的整个过程,这对个人的综合能力提出了更高的要求。
未来,随着FPGA技术的不断进步,其在各个领域的应用将更加广泛和深入。