作者T3T (G.S.M.W)
看板Engineer
标题Re: [讨论] how to be a star engineer
时间Sun Jul 8 17:28:55 2018
※ 引述《doggob (happy)》之铭言:
: 看到这个版就让我想到,我第一份工作,第一天上班我师父就拿这份给我K。板上各位肥
: 仔应该都要拜读一下
: 看我只有一个感想 靠 这样也能发IEEE
: https://ieeexplore.ieee.org/document/795608/
转贴一个 中国华为工程师的文章
硬体的看了应该会比较有感触
因为作者是硬体的
http://m.5yedu.com/d622168.html
1
10年整理600多页的“红宝书”
有人说,做硬体很容易,会拧螺丝会连线画原理图就行,但在杨勇看来,这充其量只是连
线工程师、画图工程师,不能叫硬体工程师。硬体工程师要懂的东西很多且很杂,PI(电
源完整性)、SI(信号完整性)、时序……小到电阻电容,大到协议标准,遇到问题要能
够有自己的判断而不是茫然无措。当时杨勇所在小组的老大说过一句话,“只要是看得见
的,硬体都要管”,言下之意是硬体工程师要了解和单板硬体相关的所有领域,并对相关
的技术问题做出判断,现在看来就是整个大硬体域。
在加入华为前,杨勇已经在广州的一家公司做了两年的硬体了,当时做的单板规模很小、
很简单,远不及华为单板的规模和专业性,接触华为单板後发现自己了解的那点硬体知识
真不够用,於是就一边硬啃各种文档资料,一边追着专家请教。在工作中逐步学习PI/SI
,学习高速设计,学习工艺,学习结构,学习散热,学习可靠性,总之只要和硬体相关的
都会去学。虽然不如该领域工程深入,但也能够和对应领域工程师无障碍沟通并共同解决
涉及的问题,到後来无论是做单板还是看别人的单板都会游刃有余。
这麽多年的工作让杨勇养成了一个习惯,在看器件手册和技术文档时,如果看到一个没见
过的技术名词,就会立刻去google一下。即便是看不明白,也会硬着头皮从头到尾读一遍
,在後续的工作中再去慢慢揣摩,同时会把在这个过程中看到的相关技术资讯摘出来,专
门放到两个文档中(一个word文档,资讯记录较详细;一个是excel,方便查阅),这样
後续查阅就不需要再翻箱倒柜了。新知识、新技术永远在不停地发展,目前杨勇的“红宝
书”还在陆续更新中。10年来,杨勇的word文档已经足足有六百多页的乾货了,细看下来
,除了技术解释,标准摘要外,典型设计、设计中易犯的错误、各种器件的设计注意事项
、等等内容也收集在里面。
“除了查阅的便利外,这个过程其实也是我个人学习和总结的一个过程。”现在只要是杨
勇的电脑开着,他的这两个文档就是开着的。杨勇也无偿把红宝书分享给一些有需要的同
事,希望也能方便他们的工作。
2
攻关像艺术创作,需要坚持也需要灵感
问题攻关几乎成了华为硬体人员的成长必经之路,既磨练意志也开阔眼界,这十几年杨勇
主导和参与过的攻关不计其数。
“几年前带领过一个晶片介面误码攻关,这个攻关在杨勇投入前已经攻关了月余,完全是
被供应商牵着鼻子走,不断给他们测各种资料,然後等他们答覆,反复很多次却没看到任
何实质性的进展。”
加入并带领攻关後,杨勇先将已有的资料梳理了一下,然後和供应商交流了几次,基於这
些资料杨勇判断他们的方向是错误的,但他们却坚持己见,认为是华为提供的参考时钟抖
动有问题,但从测量资料上分析抖动是正常的,这样一来攻关便陷入了僵局,於是杨勇决
定撇开供应商进行问题攻关。
“经过对问题的分析和测试,我们判断DDR控制器的读写采样视窗小导致了这个问题,进
一步设计实验发现是“读”方向有问题,但是视窗到底有多大,示波器无法准确的测试。
”通过和海思交流,杨勇利用晶片已有的寄存器很巧妙的设计了实验,准确的测定了DDR
介面的视窗大小,出问题时的视窗确实很小,可是奇怪的是控制器启动後都会做读写视窗
的扫描,理论上不应该出现这个问题。於是杨勇把DDR的手册又啃了一遍,分析了DDR的视
窗扫描演算法,结合示波器的测试,最後发现是供应商集成的DDR视窗扫描演算法太简陋
,扫出来的视窗比实际的大很多,并且华为使用的某厂家DDR在高温下视窗会缩小,至此
整个问题水落石出。针对此问题供应商的演算法已无法修改,因此杨勇和工程师设计了一
个巧妙的软体演算法对视窗进行补偿,同时更换某厂家最新版本的DDR晶片,彻底解决了
这个问题。
在最终问题定位之前,供应商始终认为是华为的问题,如果继续由他们控制整个攻关进程
,问题定位结果必然跑偏,因此攻关中要有必要的坚持。
最近一次问题攻关在上个月,单板逻辑的兄弟遇到刷表出错的问题跑来问杨勇,当时由於
工作太忙无暇顾及,帮忙出了些点子就放在一边。过了几周正在成研出差突然就被呼到一
个电话会上,原来这个问题一直没解决,还愈演愈烈了。第二天和逻辑兄弟走读了一上午
的代码没有发现问题,一下进入了死胡同。这一天刚好是周末,实验室很安静,完全没了
思路之後决定起来走走,绕着整层楼绕圈,同时在脑子里将这个问题现象串一遍。两种类
型的单板,C板A片出问题,X板B片出问题,几乎完全一样的硬体设计,逻辑设计几乎完全
一样,差别只是逻辑中状态机判断条件C板B片在前,X板A片在前,问题似乎就在这里,但
是代码上却看不出问题,会不会是两块单板上两个晶片介面走线的延时差导致出问题?立
刻回去查看PCB图,果然是这样,两颗晶片的延时刚好一个是A片长,一个是B片长,至此
彻底打开了攻关思路,经过一周的艰苦攻关彻底解决了这个问题。
攻关最常遇到的情况是感觉好像所有招使尽了却难前进半步了,这种时候需要放松休息一
下,攻关和创作艺术品一样,需要灵感。
平时的工作中由於时间关系,对於很多介面协定/硬体标准等了解并不深入,但到了攻关
的时候为了解决问题,就必须沉下心来硬啃文档,所以每次攻关结束,都会发现自己在某
些领域又深入了很多,或者是对协定标准,或者是工程领域最新的技术或问题,因此虽然
过程很艰辛,但对於攻关还是乐此不疲。
3
单板要是做砸了,以後没人敢用你
生活中杨勇是一个特别仔细小心,甚至有点强迫症的人,一件事件经常会反复确认,在工
作中也是如此,对於关键问题会反复确认和分析,确保无误。以前跟海思一个专案经理一
起做晶片,对他的评价是:“你别看这个杨勇长得五大三粗的,但心思却非常细!”
硬体绝大部分的问题攻关过程艰辛,但最终的问题根因往往很简单,有的甚至很低级,一
分钟犯的错误要用千百倍的时间来解决,一个连线错误就要导致单板花三个月来重新改板
,成本巨大。刚入职路由器时,硬体老前辈给新人说,“优秀的硬体工程师就是要一根飞
线都没有”、“好的单板就是你的品牌,板子要是做砸了,以後是没人敢用你”。因此从
做单板以来一直都谨记前辈的教诲,小心翼翼、战战兢兢,用如履薄冰的态度做单板设计
,不放过设计中的任何一个细节,有疑问的地方都是多次确认。40Kpin规模单板的原理图
和PCB,一遍一遍,一根线一根线地点着看,查完原理图查网表,甚至连原理图设计工具
的提示资讯也每条都确认。从杨勇的角度来说,要做一个好的单板其实没有捷径,就是每
根线都点到,每个器件都看到,每一处设计都分析。
当时杨勇所做的单板是路由器规模最大的一块单板,编译网表时原理图设计工具给出的
warning和notes有几千条,他也坚持每条都点一次确认一下,而且是编译一次点一次,有
时感觉看得都有点想吐了,但仍然坚持看完。工作辛苦细致一点,风险就可以小一点,万
一这些无效问题中隐藏着一条真正的问题没被看到,那就意味着单板可能要改板。曾经有
QA问杨勇如何保证单板品质,他就开玩笑说“检视,检视,再检视”。
因为看得很仔细,以至於当时原理图设计工具的一些问题都被找了出来,虽然过程很辛苦
,但是单板成功了就是对这些辛苦最大的奖励,这块单板是路由器当时最复杂的单板,如
今成了路由器发货时间最长,赚钱最多单板之一,前年才终止发货。
杨勇觉得,硬体工程师对待每一块经自己手设计的单板,都要当艺术品一样,设计规范整
齐,精益求精。好的单板设计看起来应该给人一种很舒服的感觉,连线整齐,命名规范,
标示详细,看一眼网标名称就知道这个信号是什麽,从哪来到哪去,方便检视还不容易出
错,原理图中详细标注设计细节,这样检视原理图就不用再去翻详细设计报告和资料手册
。
这麽多年来,但凡经杨勇手的单板从没出过问题。他觉得也许强迫症是硬体工程师的必备
素质之一。
--
推 obov: 有人卖脑 有人卖肝 有人天天给人家干
1F:→ obov: 行行出状元喇 大概这样
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.210.181
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Engineer/M.1531042144.A.35D.html
2F:→ l75cm: 他只是仔细一点而已,没什麽特别 07/09 01:31
3F:推 pxycho: 能一直都很仔细也挺厉害的,确实出错要补救时间成本很重 07/09 08:32
4F:推 biubiuBOT: 推 07/09 17:37
5F:推 Sex5F: 我竟然看完了,不错 07/09 23:11
6F:推 codehard: 问题是时程老早就压在哪 不出老板也是压着你出 出问题再 07/10 19:05
7F:→ codehard: 飙你 QQ 07/10 19:05
8F:推 Sex5F: 但是时间是乱压的也很可怕 07/11 02:20
9F:→ Sex5F: 半年案子要组员用三个月吞下来 07/11 02:21
10F:→ Sex5F: 又不赚钱的案子,不拒绝只是让客户得了便宜又卖乖 07/11 02:22
11F:推 xam: 系统厂也只需要仔细一点就能电 70% 的庸才了.. 07/13 21:49
12F:推 vitoman: push 07/22 13:33