0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为14年硬件工程师:做单板就像做品牌,不放过任何一个细节

lPCU_elecfans 来源:电子发烧友网 作者:电子发烧友网 2020-12-04 10:30 次阅读

多年前加入华为,至今我已经连续做了14年的硬件,还算做了一些让人满意的单板,也有幸参与海思芯片的设计和开发,见证了网络芯片的成长。然而这当中也没什么高深的大招,只有一点一滴的积累。

10年整理600多页的“红宝书”

有人说,做硬件很容易,会拧螺丝会连线画原理图就行,但在我看来,这充其量只是连线工程师、画图工程师,不能叫硬件工程师。硬件工程师要懂的东西很多且很杂,PI电源完整性)、SI(信号完整性)、时序……小到电阻电容,大到协议标准,遇到问题要能够有自己的判断而不是茫然无措。当时我们的老大说过一句话,“只要是看得见的,硬件都要管”,言下之意是硬件工程师要了解和单板硬件相关的所有领域,并对相关的技术问题做出判断,现在看来就是整个大硬件域。

在加入华为前,我已经在广州的一家公司做了两年的硬件了,当时做的单板规模很小、很简单,远不及华为单板的规模和专业性,接触华为单板后发现自己了解的那点硬件知识真不够用,于是就一边硬啃各种文档资料,一边追着专家请教。在工作中逐步学习PI/SI,学习高速设计,学习工艺,学习结构,学习散热,学习可靠性,总之只要和硬件相关的都会去学。虽然不如该领域工程深入,但也能够和对应领域工程师无障碍沟通并共同解决涉及的问题,到后来无论是做单板还是看别人的单板都会游刃有余。

这么多年的工作让我养成了一个习惯,在看器件手册和技术文档时,如果看到一个没见过的技术名词,就会立刻去google一下。即便是看不明白,也会硬着头皮从头到尾读一遍,在后续的工作中再去慢慢揣摩,同时会把在这个过程中看到的相关技术信息摘出来,专门放到两个文档中(一个word文档,信息记录较详细;一个是excel,方便查阅),这样后续查阅就不需要再翻箱倒柜了。新知识、新技术永远在不停地发展,目前我的“红宝书”还在陆续更新中。10年来,我的word文档已经足足有六百多页的干货了,细看下来,除了技术解释,标准摘要外,典型设计、设计中易犯的错误、各种器件的设计注意事项、等等内容也收集在里面。

除了查阅的便利外,这个过程其实也是我个人学习总结的一个过程,现在只要是我的电脑开着,我的这两个文档就是开着的。我也无偿把红宝书分享给一些有需要的同事,希望也能方便他们的工作。

攻关像创作艺术作品,

需要坚持也需要灵感

问题攻关几乎成了我司硬件人员的成长必经之路,既磨练意志也开阔眼界,这十几年我主导和参与过的攻关不计其数。

几年前带领过一个芯片接口误码攻关,这个攻关在我投入前已经攻关了月余,完全是被供应商牵着鼻子走,不断给他们测各种数据,然后等他们答复,反复很多次却没看到任何实质性的进展。

加入并带领攻关后,我先将已有的数据梳理了一下,然后和供应商交流了几次,基于这些数据我判断他们的方向是错误的,但他们却坚持己见,认为是我们提供的参考时钟抖动有问题,但从测量数据上分析抖动是正常的,这样一来攻关便陷入了僵局,于是我决定撇开供应商进行问题攻关。

经过对问题的分析和测试,我们判断DDR控制器的读写采样窗口小导致了这个问题,进一步设计实验发现是“读”方向有问题,但是窗口到底有多大,示波器无法准确的测试。通过和海思交流,我们利用芯片已有的寄存器很巧妙的设计了实验,准确的测定了DDR接口的窗口大小,出问题时的窗口确实很小,可是奇怪的是控制器启动后都会做读写窗口的扫描,理论上不应该出现这个问题。于是我把DDR的手册又啃了一遍,分析了DDR的窗口扫描算法,结合示波器的测试,最后发现是供应商集成的DDR窗口扫描算法太简陋,扫出来的窗口比实际的大很多,并且我们使用的某厂家DDR在高温下窗口会缩小,至此整个问题水落石出。

针对此问题供应商的算法已无法修改,因此我们设计了一个巧妙的软件算法对窗口进行补偿,同时更换某厂家最新版本的DDR芯片,彻底解决了这个问题。

在最终问题定位之前,供应商始终认为是我们的问题,如果继续由他们控制整个攻关进程,问题定位结果必然跑偏,因此攻关中要有必要的坚持。

最近一次问题攻关在上个月,单板逻辑的兄弟遇到刷表出错的问题跑来问我,当时由于工作太忙无暇顾及,帮忙出了些点子就放在一边。过了几周正在成研出差突然就被呼到一个电话会上,原来这个问题一直没解决,还愈演愈烈了。第二天和逻辑兄弟走读了一上午的代码没有发现问题,一下进入了死胡同。这一天刚好是周末,实验室很安静,完全没了思路之后决定起来走走,绕着整层楼绕圈,同时在脑子里将这个问题现象串一遍。两种类型的单板,C板A片出问题,X板B片出问题,几乎完全一样的硬件设计,逻辑设计几乎完全一样,差别只是逻辑中状态机判断条件C板B片在前,X板A片在前,问题似乎就在这里,但是代码上却看不出问题,会不会是两块单板上两个芯片接口走线的延时差导致出问题?立刻回去查看PCB图,果然是这样,两颗芯片的延时刚好一个是A片长,一个是B片长,至此彻底打开了攻关思路,经过一周的艰苦攻关彻底解决了这个问题。

攻关最常遇到的情况是感觉好像所有招使尽了却难前进半步了,这种时候需要放松休息一下,攻关和创作艺术品一样,需要灵感。

平时的工作中由于时间关系,对于很多接口协议/硬件标准等了解并不深入,但到了攻关的时候为了解决问题,就必须沉下心来硬啃文档,所以每次攻关结束,都会发现自己在某些领域又深入了很多,或者是对协议标准,或者是工程领域最新的技术或问题,因此虽然过程很艰辛,但对于攻关还是乐此不疲。

单板要是做砸了,

以后没人敢用你

生活中我是一个特别仔细小心,甚至有点强迫症的人,一件事件经常会反复确认,在工作中也是如此,对于关键问题会反复确认和分析,确保无误。以前跟海思一个项目经理一起做芯片,我从别人那听到他评价我时说,“你别看这个杨勇长得五大三粗的,但心思却非常细!”

硬件绝大部分的问题攻关过程艰辛,但最终的问题根因往往很简单,有的甚至很低级,一分钟犯的错误要用千百倍的时间来解决,一个连线错误就要导致单板花三个月来重新改板,成本巨大。刚入职路由器时,硬件老前辈给我们新人说,“优秀的硬件工程师就是要一根飞线都没有”、“好的单板就是你的品牌,板子要是做砸了,以后是没人敢用你”。因此从做单板以来一直都谨记前辈的教诲,小心翼翼、战战兢兢,用如履薄冰的态度做单板设计,不放过设计中的任何一个细节,有疑问的地方都是多次确认。40Kpin规模单板的原理图和PCB,一遍一遍,一根线一根线地点着看,查完原理图查网表,甚至连原理图设计工具的提示信息也每条都确认。从我的角度来说,要做一个好的单板其实没有捷径,就是每根线都点到,每个器件都看到,每一处设计都分析。

当时我所做的单板是路由器规模最大的一块单板,编译网表时原理图设计工具给出的warning和notes有几千条,我们也坚持每条都点一次确认一下,而且是编译一次点一次,有时感觉看得都有点想吐了,但仍然坚持看完。工作辛苦细致一点,风险就可以小一点,万一这些无效问题中隐藏着一条真正的问题没被看到,那就意味着单板可能要改板。曾经有QA问我如何保证单板质量,我给他开玩笑说“检视,检视,再检视”。

因为看得很仔细,以至于当时原理图设计工具的一些问题都被找了出来,虽然过程很辛苦,但是单板成功了就是对这些辛苦最大的奖励,这块单板是路由器当时最复杂的单板,如今成了路由器发货时间最长,赚钱最多单板之一,前年才终止发货。

我觉得,硬件工程师对待每一块经自己手设计的单板,都要当艺术品一样,设计规范整齐,精益求精。好的单板设计看起来应该给人一种很舒服的感觉,连线整齐,命名规范,标示详细,看一眼网标名称就知道这个信号是什么,从哪来到哪去,方便检视还不容易出错,原理图中详细标注设计细节,这样检视原理图就不用再去翻详细设计报告和数据手册。

这么多年来,但凡经我手的单板从没出过问题。我觉得也许强迫症是硬件工程师的必备素质之一。

转战中国芯

作为硬件工程师,除了做单板我还有幸参加了网络芯片的设计和验证工作,见证了网络芯片设计/验证的团队从无到有,从涓涓细流到如太平洋般宽广的成长。

在交付完路由器最复杂的单板之后,我被抽调去参与路由器40G芯片设计,承担40G芯片的硬件和工程需求的梳理及验证方案的设计,工作从单板硬件转到芯片设计有一定的跨度,有很多芯片板级应用方案、需求分析和决策,每天都是忙于各种硬件方案的分析设计,追着产品的SE和芯片SE确认问题,硬啃最新的芯片工程技术,决策芯片的硬件和工程需求。当时加班多到领导都看不下去了,唯一一次过年没有回家就是这次支持40G芯片回片的验证测试。

40G芯片的成功使华为核心路由器有了中国芯,全面具备了赶超世界一流IP芯片的能力,使路由器硬件竞争力显著提升。能有幸参与这种划时代的项目是人生最宝贵的经历。

现在我的工作也是一半单板交付,一半芯片开发,涉及网络产品线的所有网板和大部分芯片,随着技术的发展,芯片的设计和应用已经全面挑战工程技术极限,参与芯片设计让我能够接触到最新的技术,不断更新自己的知识体系。

在华为工作14年大小奖励也获得很多,金牌个人、金牌团队、总裁奖、明日之星等等,现在公司越来越重视专家的价值,在职级岗位等方面都给予了更大的发展空间,我也就更坚定了专家这条路线。公司重视,专家更应该回归到专家应有之道,在具体的技术领域要持续耕耘,做广做深,既能够承担具体的开发工作也能够洞察业界的发展方向。现在的我在做好单板和芯片的同时,也适时地抽身出来学习,期望能站在更高的视角来看待硬件领域,为硬件将来的发展做出更大的贡献。

作为硬件工程师的你,看完上述的研发设计故事,是不是也特别深有体会?根据编者的了解,从事硬件设计的工程师,大多要经历多年在基础技能和职能岗位上磨砺,学会一切跟硬件单板有关的东西,譬如:电路原理数字电路模拟电路,信号系统,天线设计,电源设计,通信原理,封装技术,生产工艺,电磁场电磁波,信号完整性分析,电源完整性分析……这些内容你都需要掌握。

除此之外,作为硬件工程师的基础动手技能和工作能力:原理图工具使用、绘制,硬件常用电路设计,VHDL语言及代码开发,ISE FPGA开发工具熟悉使用,FPGA/Modelsim仿真工具与代码仿真,PCB信号完整性,单板调试步骤与技巧... 也务必要完全精通,熟悉流程,能够做到信手拈来。

责任编辑:xj

原文标题:10+年硬件工程师独白:做单板就像做品牌,不放过任何一个细节

文章出处:【微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    215

    文章

    33564

    浏览量

    247031
  • 硬件
    +关注

    关注

    11

    文章

    2917

    浏览量

    64712
  • 单板机
    +关注

    关注

    1

    文章

    25

    浏览量

    17729

原文标题:10+年硬件工程师独白:做单板就像做品牌,不放过任何一个细节

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何入门硬件工程师

    想跨行业硬件设计工程师,应该如何学习规划呢
    发表于 03-17 21:49

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    如何搞崩硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    #人工智能 #FPGA 怎么成为合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    硬件工程师:2023的小目标,也算是全部完成了吧? #搞笑 #2023小目标 #电子 #扬兴科技

    硬件工程师扬兴科技
    扬兴科技
    发布于 :2023年12月15日 19:44:50

    硬件工程师面试时最常被问到的8问题,看看你能答对几个

    晶振硬件工程师
    扬兴科技
    发布于 :2023年12月08日 18:21:15

    FPGA工程师需要具备哪些技能?

    ,需要具备系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能。
    发表于 11-09 11:03

    【社区之星】彭仲维:扎实的基本功与时间的沉淀才是工程师成功的关键!

    之星回顾:第78期: 【社区之星】李海:要想长期从事工作,没有兴趣推动是不会有成就的 第77期: 【社区之星】杨永胜:兴趣加努力,就是嵌入式工程师最好的前进之路 第76期: 【社区之星】谢小龙:五
    发表于 10-13 14:15

    硬件工程师手册

    测,必要时修改原理图并作记录。第五,软硬件系统联调,般的单板硬件人员、单板软件人员的配合,特殊的单板
    发表于 10-11 06:15

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程般可分为:原理图设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为名优秀的硬件
    发表于 06-21 10:15

    【社区工程师专题系列第期】坚持兴趣成就嵌入式工程师——杨永胜

    发烧友社区之星 2022参与全志开源硬件大赛入围打板 优秀工程师评语 杨永胜积极参与社区试用评测活动、硬件设计比赛,提交了许多优秀的作品,并且作为年度技术专场直播的嘉宾,给
    发表于 05-19 10:25

    锂电池的硬件工程师需要具备哪些技能?

    请教各位大佬:这种要求熟练使用Altium Designer或 protel99,有 PCBLayout经验; 做过4层以上 PCB的设计包括 BGA封装芯片的设计制作;是哪些方向的?锂电池的硬件工程师应该从哪些关键技能看?技
    发表于 04-20 17:09