下冰雹 · 5月13日

FPGA工程师如何提升自己的算法能力?

我们常说一句话:工欲善其事,必先利其器。

作为一名FPGA工程师,我们的任务就是把某些特定的逻辑行为雕刻到FPGA芯片上,通过设计逻辑电路达到预期目的。

FPGA的两个擅长领域:信号处理与高速接口。在产业界,企业也根据不同的应用需求,招聘从事信号处理或高速接口方向的工程师。

492596d5c8286eeeec369c3f76941a63.png

Xilinx公司FPGA产品类别

我们都很清楚,FPGA作为一种现场可编程芯片,高度灵活的设计实现,使得产品周期大大缩短,在产品形成批量投入市场前具有先天优势。

在接口方面,常用的有:CPRI、PCIe、GTH、Ethernet、SATA、DDR、Aurora、JESD204、I2C、SPI、UART等,在无线通信、图像、数据中心等领域到广泛使用。

例如,CPRI,我们可以去下载相应的规范进行了解。

前面写过的文章连接:《无线高速接口:什么是CPRI?

大部分接口均由行业标准规范限定,以便于实现设备之间互联。部分特殊接口以某些厂家特定提供,适配指定的芯片及型号。

同时,我们利用FPGA内部丰富的LUT、DSP、RAM等资源,可以实现大规模复杂的系统设计。

人尽其才,物尽其用。FPGA适合拿来做流水和并行处理,因此大部分的数字信号处理都可以通过FPGA来实现。

对于数字信号处理,大部分集中在无线通信和图像处理领域,根据行业相关标准和工程需求,制定相应的信号处理过程和实现方案。

信号处理过程,即为算法链路的设计,需考虑整个系统的功能需求。算法人员根据功能需求进行算法设计,并将经仿真验证的算法提供给逻辑实现人员进行硬件电路实现。

FPGA工程师的主要任务,就是进行相应的逻辑实现和接口开发。但同时应该看到,从职业生涯成长角度看,我们既需要熟悉常用接口的应用,掌握逻辑实现方法和技巧,而算法设计也必不可少。

前面,我们探讨过提升FPGA工程师的核心竞争力,掌握基本功和设计方法学,极为重要。

1652412476(1).png

对于接口和具体链路模块设计,我们只有通过具体的实践过程获取经验,同时了解相应的标准和规范,也大有益处。

然而,对于相关的信号处理过程,特别是涉及算法,我们怎样去比较深入的学习和实践呢?

我们知道MATLAB是一款工科神器,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

因此,我们可以根据这一常用的数学软件,进行持续性学习。

d17c3f5ed1e8da6ee75b0639a21315a7.png

MATLAB应用领域

随着MATLAB的功能越来越强大,以至于美国为了制裁国内某些高校,禁止其使用MATLAB软件。国内目前尚无相关产品,能够替代MATLAB的强大能力。

不可否认的是,MATLAB确实为推动产业进步做出了巨大贡献。

当前常用的MATLAB版本有:

50816f694d643a1f58d727a038eb3147.png

最新的MATLAB版本为R2021b,是R2021a的更新版,主要在激光雷达、RF PCB、信号完整性等方面进行更新和添加。

8659db27e600fd9d99b501d13a75d2dc.png

如果我们想学习关于数学统计、深度学习、信号处理、无线通信、图像处理、SOC开发、验证测试、图形仿真等方面的MATLAB实现,加深对相关技术的掌握程度,那么我们可以通过访问下面的网站:

https://ww2.mathworks.cn/help/

例如,我们可通过Deep Learning Toolbox,基于MATLAB软件设计、训练和分析深度学习网络。

5cea7534f65a47084bf14e0ffea29234.png

1385c4dd198ee63f4066f978fe4773a5.png

此外,作为MATLAB的重要应用,信号处理与无线通信自然也是必不可少的重要一环。

be0694e6afc8bbf1950afd172df0d324.png

例如5G 、LTE、天线、相控阵、雷达、射频、卫星通信、信号完整性、WLAN等业界技术热点,具有相应的Toolbox,提供相关的设计方案和Demo,加快应用部署。

3aed6298c7509ba63a355e94ce6524b5.png

同样地,在图像处理和计算机视觉领域,我们可以获取相应的Toolbox进行设计和开发。

cd7963d6c50d02c9195541a4210482b3.png

908061315adf46b325f6a82eb8237c47.png

若对FPGA、ASIC和SoC方向感兴趣,我们可以通过以下的Toolbox进行滤波器设计、定点化、HDL源码设计等,大幅度提高生产力。

2c04d12fd83edd66c60981f33ec13334.png

d54946dfe4d119ec94f960e15cab710b.png

其他应用在此不一一例举,我们希望可以通过一些公开的资源和平台,提升自己的硬实力,并获得相应的回报。

FPGA工程师相比于IC设计工程师,可能会承担更多的工作项,除了都非常关心具体设计实现、时序约束和资源利用等因素外,我们还需要了解系统级设计方法、架构设计、系统调试和相关的算法知识。

在此祝愿朋友们,在新的一年,升职加薪,干出一番大事业!

---END---

来源: FPGA算法工程师
作者: Duoqiang Liu
原文链接:FPGA算法工程师

推荐阅读

更多IC设计技术干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
3 阅读 260
推荐阅读
0 条评论
关注数
8324
内容数
282
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息