时间:2024-08-01 来源:网络搜集 关于我们 0
FPGA的开发者往往会遇到瓶颈,虽然3年足以入行,但与软件开发不同,FPGA的学习并不如软件那样有众多项目可以频繁尝试。FPGA的开发周期长,机会往往来自于具体的项目实践。针对这一特点,以下是大体上几个可探索的方向:
接口协议类
低速接口:如UART、IIC、SPI以及百兆网等,这些是许多产品开发中常用的接口。
高速接口:包括PCIe、DDR3/DDR4存储、SRIO、千兆网以及光口等。这些接口的学习离不开项目实践,单纯的IP调用只是入门级别,真正掌握需要深入理解并与实际项目结合。
图像类接口:像图像传感器控制的IIC接口、摄像头MIPI接口、CMOS接口,以及HDMI、DP等显示接口。这些接口是基础,若未能成功调试,再优秀的算法也无法在工程中实现。
AXI协议类:基于AXI协议的固件开发也是必须掌握的技能。
算法实现类这个范畴就比较大了,包括工业上的PID控制算法、图像视频处理算法(如压缩、坏点处理、ISP等)、数字通信方向的算法,以及涉及高速ADDA数据处理等。工作中需要的是能落地的算法,而不仅仅是理论支持。当然,在高校、研究所或预研项目中,深厚的理论基础(如高数、矩阵、概率等)和专业知识是不可或缺的。其实大体上无外乎就这两条路的方向。其他的话还有为IC服务的,如原型验证、前端设计等,这些方向与FPGA的许多内容有所不同,FPGA开发者通常不需要设计最顶层的硬核core,而是调用厂家的硬core,并根据公司业务进行适配开发。目前还有ARM+FPGA,即嵌入式与FPGA的结合,这种方向对人的全栈能力要求很高,后期还可能涉及Linux平台开发等,都是不断积累的过程。
算法招聘现在起步基本都是研究生,需要数学和专业基础课程扎实,工具运用熟练。
(转自:飞翔比特,有改动)
(扫码进入我们的答疑群,一起探讨FPGA课程及社区使用各类问题)👇