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工作经验,转行了,苦海无涯……的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/best_xiaolong/article/details/105401027
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/695165

相关文章

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

工作常用指令与快捷键

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 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

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

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