查看: 3857|回复: 0

成为一个优秀FPGA工程师的七层技术修炼之道

[复制链接]
  • TA的每日心情
    开心
    2022-1-5 20:54
  • 签到天数: 21 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2021-12-22 22:25:16 | 显示全部楼层 |阅读模式
    分享到:
    如何成长为一个合格的FPGA工程师?
    武林中,乾坤大挪移有七层的修炼境界,FPGA工程师技术修炼之路也是如此。
    第一层:熟悉代码,能做仿真。
    作为FPGA初级工程师,首先应该要会写veriog代码,会写testbench。会用modelsim或者VCS仿真工具。能够写模块级别的代码,能够仿真,算是精通第一层。
    虽然第一层看似简单,但是修炼不好就会影响进阶之路,主要是verilog设计基本功,电路模块设计思想,而不是简单凑时序。代码编程质量以及设计的高内聚,低耦合的模块划分原则。这一层是后续修炼的基础。
    第二层:熟悉架构,能写约束
    对于FPGA内部资源如数家珍,能够有效利用FPGA内部资源,例如各种类型的RAM,LUT,BUG,serdes等等。通过熟悉这些知识,工程师可以进行FPGA选型。
    根据需要约束设计:
    (1)IO的约束:这个相对简单;
    (2)时序的约束:这个需要对外部芯片接口时序非常熟悉;
    (3)位置的约束:这个需要在布局布线不通时,或者时序比较紧张时,通过位置约束来满足设计需求;
    精通此层的人,可以称得上算是会FPGA了,略窥门径,有所小成。
    第三层:熟悉接口,能担项目
    此层的工程师熟悉掌握XILINX等FPGA的IP。例如PCIE的IP,XDMA, SATA,rapid IO,Ethernet等等。
    可以把XILILNX厂商的用例跑通,可以在用例的基础上,通过添加及修改实现用户需求及功能。
    客户有需求,工程师可以很快接手,进行功能分解,完成代码开发,交付项目。
    精通此层的人,可以成为FPGA项目负责人。
    第四层:定位问题,解决问题
    可以通过各种调试解决问题,熟悉使用各种硬件,软件,FPGA内部逻辑分析仪等调试手段。
    解决包括且不限于硬件问题,软件问题,FPGA问题。一句话:解决别人解决不了的问题。
    在公司里面,大家有FPGA解决不了的问题就找他解决。专业解决各种疑难杂症。
    精通此层的人,通常在公司被称为大牛。
    第五层:略懂算法,庖丁解牛;
    此层境界,可以将某些算法协议,创造性实现在FPGA上。
    这些算法协议经常的例子包括:
    AI的inference。这种能力可以将AI的python程序变成verilog在FPGA上高效实现。
    TCP的offload。这种能力可以将系统kernel级别的C程序,别人不知道如何下手,可以在FPGA上干净利索的实现。
    核心指标是在FPGA上能够完成别人搞不定的算法,或者别人达不到的性能。(注意:这个复杂度是AI的性能指标比被人强或者TCP卸载并发数据流比别人多来衡量的,并不是一般的算法实现)
    精通此层的人,经常被称为架构师或者技术专家。
    第六层:体系结构,软硬划分。
    修炼此层境界的人才精通体系结构,实现软硬件划分。熟悉例如kernel,虚拟化,容器,SRIOV,virtIO等。了解如何这些需求和FPGA的硬件能力配合,
    精通此层的人,可以实现例如虚拟化OVS卸载,P4协议实现,裸金属云管理,云端AI加速等等。
    此层大神可以通过FPGA实现类似DPU的卸载,目前的确也有很多公司做FPGA来实现做DPU。
    的确FPGA挺合适来做DPU的,尤其是在DPU功能比较不确定的情况下。ASPLOS 2020阿里案例的裸金属云bm-hypervisor管理网卡,就是FPGA实现(见云端芯片之战-小乌云还是大风暴)。
    精通此层的人,可以去技术创业,大公司做研究员,小公司可以做技术总监。
    第七层:“日盈昃,月满亏蚀”。
    乾坤大挪移的第七层,张无忌也没有练成过,
    “原来当年创制乾坤大挪移心法的那位高人,内力虽强,却也未到相当于九阳神功的地步,只能练到第六层而止。他所写的第七层心法,自己已无法修炼,只不过是凭着聪明智慧,纵其想象,力求变化而已。张无忌所练不通的那一十九句,正是那位高人单凭空想而想错了的,似是而非,已然误入歧途。”
    电影《苏乞儿》中,周星驰扮演的主人公苏乞儿最后一掌“亢龙有悔”解决掉大boss,悟到了第十八掌是前十七掌的组合。苏乞儿通过这些基本招式的组合成额外的一招,提升了掌法的威力,通过上述案例,类比一下。
    那么,FPGA的第七层,那就是能够融汇贯通前面6层的能力,实现的从顶层到底层全栈能力。
    精通此层人,通常被称之为“大神”。
    不过大神啥都做,就会比较累
    “日盈昃,月满亏蚀”。
    把握一个方向,勤于修炼,总能不断精进。
    但行好事,莫问前程,心之所向,无问西东。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 01:54 , Processed in 0.109588 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.