9年FPGA工作经验,转行了,苦海无涯……

2024-02-09 19:59

本文主要是介绍9年FPGA工作经验,转行了,苦海无涯……,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

整理:付斌,内容来自网络

01

9年峥嵘岁月

我很少说话,因为怕被人鄙视。工作了9年的fpga,总要总结……

其实说我的fpga经验,也是一坨屎。三年的,用altera的c3和c4 做led控制卡。2年的用lattice的MACHXO-XO2和ECP2做了视频和网络光端机,3年的XILINX的SPARTAN 6 做了视频ISP处理,现在一年的xilinx的ZYNQ做机器视觉。

俊龙和艾瑞面试我,说我这种人太垃圾了,高端芯片没用过,技术支持只能拿四位数,当场我就发飙了,什么鸟玩意。老子才不会销售狗奴才。一气之下,去了一个公司转行做硬件工程师。


话说转行也没想象的费尽。刚毕业那会儿在冠捷被虐画pcb 画了一年,现在隔了几年再搞,也不是难事。而且过了几年,思想沉淀,做的还好的。公司招了一个另外硬件工程师,工作了10年,比我更垃圾,要不是做板子有pcb 炒,这个硬件工程师必死无疑。

有时候想想,年纪这么大了,去打工老被人鄙视,32岁的人,没用过高端器件,以前的行业也不是菊花大公司和高科技。       

第一个,9年的fpga,说起来,给我感觉fpga写代码牛逼的人,都是写着看不懂的代码。基本上的代码都是小逻辑做的。大逻辑做的都是沙雕。

第二个,知道各类高速接口,做fpga只会玩玩串口,I2C,SPI还有DVI,这种低能儿工资也就是低于几千块钱。高速总线,列入DDR3控制,双边沿,SERDRES,这个是必须知道怎么用,怎么调试。好多沙雕就知道下载代码,有问题也不知道从哪里入手。

第三个,知道时序约束,fpga很傻的元件,你经常发现,他自己不知道哪个是时钟,要求跑多少。还有各类并行总线,要求相位抖动控制多少。还有不同时钟不要去约束。特别是用低端器件,用上了60%资源的人,经常无缘无故的bug的,低于五位数的工资基本不知道啥原因的。

第四个,也就是我一直遗憾的东西,行业的算法和需求了。有些沙雕一辈子就是打工的命。一年除去房租和吃饭,回去大农村还被邻居鄙视大学生读书无用。所以有些时候,要学会沉淀。也许我当年在led行业待了9年,我估计现在已经接无数的兼职和订单,少数一年买个宝马x1没有问题。哪像现在,自己出来真怕死。

就说这些。我转行了。一把眼泪。有人问我,是不是工资太少了。拿着别人要饭的钱,都是吊丝。想想你农村的父母和还有孩子吧。好好想点更快的路子。做硬件工程师,是做产品的第一步。因为你要面对很多销售沙雕,他们很有钱,但是天花乱坠的需求,这个时候,你只有学会硬件才能制造硬件方案。然后找软件工程师一起协作做项目。我以前的兼职项目就死在这里了。(小编注:其实楼主的工资不算低)

而且FPGA工程师,也必须熟悉硬件。连原理图都看不懂,你还做啥这么没前途的东西。

还有一个ZYNQ平台,fpga 工程师要学会arm的裸跑系统。因为我被傻x害惨了。

这个世界,你只会学会别人,才能不会被傻逼坑你。在任何交叉问题上,你只有自己分析自己才能做好。

不过,我还是一句话,看钱重一点,技术浅一点。明明白白人生,不是别人的狗,是养狗的人。

02

类似岗位还有哪些?

曾经我以为我可以成为一名FPGA工程师。后来面试过了数字前端岗位,不熟练Linux基本命令,没用过DC、NC、PT等,却趁着某某事件后的IC就业潮进入了IC行业。

本文就来盘盘在学校里玩的都是FPGA,如何转行做ASIC。


岗位对比


据我了解,涉及FPGA逻辑开发和ASIC相关的岗位主要有,


FPGA相关岗位
  • FPGA算法工程师

  • 逻辑开发工程师

  • FPGA验证工程师


ASIC相关岗位
  • ASIC算法工程师

  • 数字前端工程师

  • IC验证工程师



03
FPGA算法工程师 VS ASIC算法工程师


ASIC算法工程师主要工作职责有:协议学习、文献调研、系统整体框架和接口确定、算法仿真、RTL实现与数据对比、FPGA验证。


FPGA算法工程师主要的要求对基础知识的掌握能力,如通信、信号处理、图像相关知识的运用,对于算法RTL实现和FPGA验证这是都需要具备的能力,对于这个岗位之间没有实质上的区别。匹配度高达100%。


04
逻辑开发工程师 VS 数字前端工程师


数字前端工程师分为做IP的和做应用的,主要技能是RTL的设计,数字电路的基础以及使用处理器IP和总线的能力。这些同样是逻辑开发工程师具备的技能。FPGA厂商工具中有众多自己的IP,提供应用开发速度。ASIC设计中也会用到众多IP,来缩短产品开发周期。


IC设计里几乎所有工具都在Linux下,Linux的基本命令,TCL/Shell等脚本是前端工程师必备技能。逻辑工程师Windows平台用的多,TCL也是常用脚本,所以更多只是工具不同而已,逻辑开发工程师可以转型为数字前端工程师。


05
FPGA验证工程师 VS IC验证工程师


这两个职位差别还是很大的,FPGA验证工程师也是属于IC行业,主要工作内容是将前端设计好的RTL代码,进行分割成子模块或子系统放在FPGA上进行验证,提高验证速度。进行分割的原因是系统过大,普通的FPGA片子单片装不下。


IC验证工程师主要是基于一套叫UVM的方法学,主要使用语言是SV进行验证测试用例的开发,这一点与FPGA验证工程师有本质的区别。


现在由于电路的集成度越来越高,IC验证工程师也越加重要,需求也更多,但是IC验证有自己专有的方法学和知识体系,所以要想转成IC验证工程师还是需要系统的进行学习。这两种岗位无法互换。


06

选择FPGA还是IC行业

当然芯片的设计是个庞大而且复杂的工程,上文所说的还都是些皮毛。对于学生而言,在学校利用课余时间将书本上的知识运用到实践中,偶尔参加个竞赛升华下,跟着导师做做项目。其实学到的还是皮毛,达到了入行的标准。在学校能有流片机会的学生并不多,多数情况都是在仿真阶段或者是用FPGA验证验证。


很多非微电子相关专业的学生也都开始玩起了FPGA,准确来说,这类学生应该归到硬件工程师的类别。用FPGA做应用开发,还需要具备的调试开发板、各类测试仪器的使用等能力。用FPGA做应用我们都清楚,是针对于低成本,需求量小,更新快的应用。涉及到大规模的量产,单片的成本还是做成ASIC更划算。


我认为行业没有好坏,不过是有兴衰,但任何行业只要做到Top级别的人都可以实现自己的个人价值。众所周知,IC行业在美国已经是夕阳产业,硅谷早已无硅,在中国这两年推动发展看还不错,尤其是XX事件后,我觉得可以投身一下。


选择FPGA还是IC还是看个人选择,我还挺喜欢玩FPGA,选择IC一是当时这方面很热,二是想去参与设计一款芯片,感觉应该会比较有意思,三是其实IC的公司和岗位还是非常多,甚多于FPGA方向岗位,而数字IC前端,我们玩FPGA的也是完全可以胜任的。

参考文献

【1】《胡说IC—菜鸟工程师完美进阶》——胡运旺

【2】论坛主题帖

-END-

猜你喜欢

详解MOS管、IGBT管,不看就亏大了!

闲来无事,拆个示波器玩玩。

单片机开发设计之"十层功力"

 最 后  

 

若觉得文章不错,转发分享,也是我们继续更新的动力。

5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等

在公众号内回复「更多资源」,即可免费获取,期待你的关注~

长按识别图中二维码关注

这篇关于9年FPGA工作经验,转行了,苦海无涯……的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695165

相关文章

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

未来工作趋势:零工小程序在共享经济中的作用

经济在不断发展的同时,科技也在飞速发展。零工经济作为一种新兴的工作模式,正在全球范围内迅速崛起。特别是在中国,随着数字经济的蓬勃发展和共享经济模式的深入推广,零工小程序在促进就业、提升资源利用效率方面显示出了巨大的潜力和价值。 一、零工经济的定义及现状 零工经济是指通过临时性、自由职业或项目制的工作形式,利用互联网平台快速匹配供需双方的新型经济模式。这种模式打破了传统全职工作的界限,为劳动

Smarty模板引擎工作机制(一)

深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解。 在没有使用Smarty模板引擎的情况下,我们都是将PHP程序和网页模板合在一起编辑的,好比下面的源代码: <?php$title="深处浅出之Smarty模板引擎工作机制";$content=

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据

以太网交换机工作原理学习笔记

在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网上的传输标准,了解以太网协议是充分理解数据链路层通信的基础。以太网交换机是实现数据链路层通信的主要设备,了解以太网交换机的工作原理也是十分必要的。 1、以太网协议介绍 1.1以太网协议 以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,该标准定义了在局域网中采用的电缆类型和信号

FPGA编译与部署方法全方位介绍

FPGA编译与部署是FPGA开发中的核心环节,涉及从代码编写、调试到将设计部署到FPGA硬件的全过程。这个流程需要经过创建项目、编写FPGA VI、模拟调试、编译生成比特流文件,最后将设计部署到硬件上运行。编译的特点在于并行执行能力、定制化硬件实现以及复杂的时钟管理。通过LabVIEW的FPGA模块和NI硬件,可以快速完成开发和部署,尤其适用于复杂控制与高性能数据处理系统。 1. FPG

JVM工作过程

将JVM工作过程粗略分为5个阶段,包括加载阶段、链接阶段、初始化阶段、执行阶段、回收阶段 其中, (1)加载阶段、链接阶段的解析部分主要由类加载器完成 (2)初始化阶段是由JVM的类加载机制在类加载过程的最后阶段自动触发的。 (3)执行阶段主要由执行引擎负责 (4)回收阶段主要是垃圾收集器(Garbage Collector)负责。 所以,在Java虚拟机(JVM)中,读取字节码文件、解析字节码

FPGA开发:条件语句 × 循环语句

条件语句 if_else语句 if_else语句,用来判断是否满足所给定的条件,根据判断的结果(真或假)决定执行给出的两种操作之一。 if(表达式)语句; 例如: if(a>b) out1=int1; if(表达式)         语句1; else         语句2; 例如: if(a>b)out1=int1;elseout1=int2; if(表达式1) 语句1; els