找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 141|回复: 6
打印 上一主题 下一主题

华为14年,凡经过我手的单板从没出过问题

[复制链接]

2179

主题

2288

帖子

3435

积分

版务助理

Rank: 6Rank: 6

积分
3435
跳转到指定楼层
1#
发表于 2018-7-9 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
硬件研发是相对枯燥且繁杂的工作,而这也恰恰是攻城狮们一直苦恼的地方。每个人心中都有这样的想法:世界这么大,总想出去看看。而没有时间和金钱是扼制此想法的根本原因。把枯燥乏味的工作做成兴趣并能够逐步提升成就感的生活方式,就更能难能可贵了。以下这篇文章来自一位在华为工作14年的老鸟,内容中充满了自豪与成就感,干硬件也可以“干一行爱一行”。



华为14年,凡经过我手的单板从没出过问题

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

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

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

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

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

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

02
攻关像艺术创作,需要坚持也需要灵感

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

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

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

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

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

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

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

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

03
单板要是做砸了,以后没人敢用你

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

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

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

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

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

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

04
转战中国芯

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

40G芯片的成功使华为核心路由器有了中国芯,全面具备了赶超世界一流IP芯片的能力,使路由器硬件竞争力显著提升。能有幸参与这种划时代的项目是人生最宝贵的经历。
      
现在我的工作也是一半单板交付,一半芯片开发,涉及网络产品线的所有网板和大部分芯片,随着技术的发展,芯片的设计和应用已经全面挑战工程技术极限,参与芯片设计让我能够接触到最新的技术,不断更新自己的知识体系。


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

2179

主题

2288

帖子

3435

积分

版务助理

Rank: 6Rank: 6

积分
3435
推荐
 楼主| 发表于 2018-7-12 09:20 | 只看该作者
不语 发表于 2018-7-12 08:38
感谢楼主分享,同做硬件,也想往芯片方向靠拢,该学习那些方面呢

芯片这方面楼主也是门外汉,Amao版主是这方面专家,不过之前看过有人这样说过:

初阶:数字电路 模拟电路 C语言 verilog 单片机 以上必须灵活运用
中阶:芯片工艺全部流程 芯片版图设计 芯片电路设计 各大芯片模拟软件 各大芯片仿真软件(前仿后仿) CDL文件格式(netlist) 有多余时间学学GDSii文件解密 Tcl/Tk语言 perl语言 python语言 ESD Latch-up…
高阶:帮助Foundry厂完善工艺 芯片版图(hole chip)floor-plan 与客户一起制定芯片的需求 设计ESD 制定Latch-up设计文件 QT语言 ESD测试 系统级ESD测试 跟着一个芯片从制定需求到整机应用 …


点评

感谢  详情 回复 发表于 2018-7-12 19:28
助力硬件研发

97

主题

710

帖子

2971

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2971
2#
发表于 2018-7-11 16:10 | 只看该作者
这个家伙很懒,从来不写个人签名。

7

主题

47

帖子

875

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
875
3#
发表于 2018-7-11 17:58 | 只看该作者
大牛人呀

2179

主题

2288

帖子

3435

积分

版务助理

Rank: 6Rank: 6

积分
3435
4#
 楼主| 发表于 2018-7-11 18:24 | 只看该作者
可谓是厚积薄发
助力硬件研发

0

主题

4

帖子

53

积分

二级会员(20)

Rank: 2Rank: 2

积分
53
5#
发表于 2018-7-12 08:38 | 只看该作者
感谢楼主分享,同做硬件,也想往芯片方向靠拢,该学习那些方面呢

点评

芯片这方面楼主也是门外汉,Amao版主是这方面专家,不过之前看过有人这样说过: 初阶:数字电路 模拟电路 C语言 verilog 单片机 以上必须灵活运用 中阶:芯片工艺全部流程 芯片版图设计 芯片电路设计 各大芯  详情 回复 发表于 2018-7-12 09:20

0

主题

4

帖子

53

积分

二级会员(20)

Rank: 2Rank: 2

积分
53
7#
发表于 2018-7-12 19:28 | 只看该作者
alexwang 发表于 2018-7-12 09:20
芯片这方面楼主也是门外汉,Amao版主是这方面专家,不过之前看过有人这样说过:

初阶:数字电路  ...

感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-9-8 12:20 , Processed in 0.063940 second(s), 37 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表