FPGA/ASIC技术
这个问题是老石在知乎上看到的,大家的回答都是“调板子”、“debug”、“硬件实现”等等。作为FPGA工程师,老石看了实在要报以一个礼貌的微笑。
换个角度看,难道其他硬件工程师就不具备调板子、debug、硬件实现的能力了?或者,为什么说这些是专属于FPGA工程师的核心竞争力?
老石认为,这个问题其实可以引申为以下两点:
什么是只有FPGA工程师能做的
作为FPGA工程师,我们应该如何培养这些能力
接下来就是老石的解答。
什么是只有FPGA工程师能做到的
对于上面提到的一些回答,的确是FPGA工程师不可或缺的能力,但老石总觉得没有说清楚这个问题的本质。
首先给出老石的回答:FPGA工程师最核心的就是全栈能力。
这里的全栈,指的是系统级的软硬件全栈能力。它既包括了在系统层面的架构设计、芯片开发的前后端流程,也包括了软件设计的全栈流程,甚至还有后期的项目维护、技术支持、与客户的沟通等等软技能。它可以看成是综合多种技能的技能树。
老石随手写了一下FPGA工程师的全栈技能树,见下图,尽管很不完整,但仍可供大家参考。之前很多人提到的,诸如调试与分析的能力,其实是这个全栈技能树里的一片树叶,或一个分支。
只有FPGA工程师能做到一人成团,在短时间内将想法落实到高质量的软硬件系统实现。这是其他系统架构师、ASIC工程师、单片机工程师、软件工程师等等都无法单独完成的。与这些工程师相比,FPGA工程师有着很强的单兵作战能力。当然,技能树过于庞大也是为什么很多人认为FPGA难学的本质原因。
有人会问,为什么其他类型的工程师没有这种全栈能力,或者换句话说,为什么只有FPGA工程师才能做到全栈?这和FPGA本身的特点有关。
在下图中,老石对比了FPGA与ASIC、CPU(或单片机)的特点与主要开发方式和风格。
全部0条评论
快来发表一下你的评论吧 !