仅从技术上考量,都是本领域内比较尖端的技术,但都只是工具,掌握工具的最终还是做码农。
从技术的职业发展考虑,工具是要掌握的,但是更重要的是算法和系统,这方面软件有天然的优势,因为它更上层,而且FPGA界也在往让软件工程师能方便操作硬件的方向努力。
从微观上说,做FPGA的有做软件算法硬件化的,有些接口时序的,有做系统集成的,分工明确的还有专门做仿真的,专门做验证的,专门做时序收敛的;前卫一点的还有在FPGA上做嵌入式软/硬核的,做HLS (High Level Synthesis) 的。前端的越了解算法、协议和系统越值钱,后端的越了解工具和方法学越值钱。
同样,做嵌入式软件的(不是最熟),也分做BSP的,做专用硬件驱动开发的,做操作系统移植和性能优化的,做应用软件开发的等等。越底层越需要了解硬件,越上层越需要了解算法。
如果有心做嵌入式,最佳路径是在了解硬件的基础上做软件,这样对系统构架有充分的认识,将来挖掘系统性能潜力也越有底气。
如果必选其一,那还是做软件吧,毕竟硬件有摩尔定律撑着,软件的发展才决定着与人类共同存在着的机器们的智商,其实就是决定着我们的生存环境。它的发展,暂时看不到上限。
— 完 —
本文作者:Ricky Su
【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)
此问题还有 2 个回答,查看全部。
延伸阅读:
选择知名外企的优劣势是什么?有哪些可能的职业发展路径或方向?
嵌入式领域的职业发展方向是什么?