找回密码
 注册
关于网站域名变更的通知
查看: 534|回复: 1
打印 上一主题 下一主题

华为内部硬件开发设计流程(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-29 10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
NO.1 文 档,评 审,设 计) ?; o) ~/ `8 J0 ~3 [
当时刚入职时,三个人做一个电路板。虽然电路复杂一些,还是有一些人力过剩的。所以,我就被安排去写一个PCI转UART的逻辑。" G" [: o6 z" }% q  V0 y- R

2 p0 U9 e* u9 T4 e6 ]* d3 o我当时是新员工,也急于表现自己,利用周末的时间,估计用了一周的时间,就写完代码,开始仿真了。我以为我的导师兼主管会表扬一下,结果没有,他说:“你为什么没有召集大家讨论?然后再写方案,评审?然后再动手写代码?”我当时是不理解的,觉得我一个人就搞定的事情,为啥要这样劳师动众?
( C( w. e& [9 d, f& }; f7 z# x' ], Z: U( t: m! j
后来反思过后发现了以下问题:2 X) T! o" W) {4 c2 @
3 d, S6 E' M$ _" y9 \
第一、 从主管的角度,不知道新员工的个人能力,你能把做的事情讲清楚了,他才放心。
+ K8 ?% F) e; M3 ^& b# O0 I6 }第二、 从公司的角度,有一套流程来保证项目的交付。那么则不再太依赖某个人的个人能力,任何一个人的离职,都不会影响项目的交付。这也是华为最了不起的地方,把复杂的项目拆得非常细碎,这样不需要特别牛的人来交付项目。这是为什么华为的工程师的收入是思科的N分之一。& ^" n7 J, O- U, V* S& x  m& V. \
第三、 从效果角度,毕竟一个人的想法是有限的,把想法文档化的过程,就是整理思路的过程;讨论的过程,就是收集你自己没有想到的过程。正式的评审,是大家达成意见的过程。提前讨论,让相关的人都参与到你的设计中,总比你设计完了,被别人指出一个致命的问题要强得多。* ?7 k* {/ u: X( k# o$ o
就是因为华为把一项工作拆散了,所以沟通,文档,评审,讨论,变得非常重要。这个工作模式的缺点,也是显而易见,沟通成本高,工作效率低。4 t9 [% _6 t* H9 s7 x0 B  I  y
NO.2 硬件领域的人员构成4 U$ T$ B' L3 S0 L
在华为内部里面,人员角色非常多。硬件的人是对产品开发阶段,端到端负责的。做单板硬件工程师,可以涉猎最多的领域,同时也是工作内容最杂,接触人最多,扯皮的最多的工种。
; b% i0 ^: ]& Z7 T5 [% e5 H- ~0 R, H+ d# A
但是也因为有人专门负责画PCB、EMC、电源、逻辑,原本硬件工程师应该做的领域。那么硬件工程师就武功尽废,变成“连连线”。
9 K: _% w9 @2 Q2 {  f3 |- L0 p5 A4 Y
$ K& X5 U5 b* G4 M8 l: e$ o3 L其实不然,正是由于每个人都是一个小的领域,没有人统领,所以一个好的硬件经理的作用非常的重要,是贯穿所有领域和全部流程的关键角色。正如原来华为内部论坛上有一个人比喻的,硬件工程师更像是处理器里面的“Cache”,是所有环节的中转站。大公司把人的分工分的这么细,也是防止某一拨掌握了太多公司的核心技术,出去单搞了。
9 x$ f1 X' l6 N, s: \5 R) b: [
6 b  L9 N- o8 c5 ?/ ^NO.3 华为的流程
0 O! ]8 Q" f& ~4 q; {8 V$ o1 D其实华为的流程,很多人都知道IPD流程是从IBM来的,我个人理解:IPD流程已经在华为变种,结合了中国人的特点,华为的企业特点进行了变通和优化。如果华为僵硬的套用IBM的这套流程,也必定不会这么成功。0 I3 F; n3 i9 T$ _5 c+ U8 D

2 G& `/ q/ p6 H那么概括一下华为的硬件开发流程:
: t! M: W; o5 J3 s! S4 ]8 H! \5 m% S6 c, i* a7 O8 K
需求分析→总体设计→专题分析→详细设计→逻辑详设→原理图→PCB→检视→粘合逻辑→投板→生产试制→回板调试→单元测试→专业实验→系统联调→小批量试制→硬件稳定→维护。( s0 ]  |) ?% y* i, X* x8 G$ ^
流程的根本在于,这个环节做好了,再进入下一个环节。所有的环节其实跟其他公司并没有太大的区别,只不过严格把握了进入下一个环节的考核条件。令硬件工程师最纠结的是“没有个节点跟’投板’对应”。; s: C1 K& Q+ L. r/ I  N; Q
, D* e( U' y, y1 u& C) i
华为支撑IPD流程的系统是PDM(又名爬的慢)
: I. C" T' F, `6 w! v
8 w" b4 \$ a% F* ?' C: D6 C. Z* PPDM的中文名称为产品数据管理(Product DataManagement)。PDM是一门用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程(包括过程定义和管理)的技术。华为所有的器件资料,产品部件,工具,文档,原理图,PCB,逻辑代码等都存在这个系统上。但是系统过于庞杂,其实比较难使用,跟服务器归档、SVN归档、也容易搞混淆。& a+ ~' M' {, j; m
  l% ]( w' T: S: L, g7 X
NO.4 归一化
4 p7 O' \% L9 {$ m器件归一化- G. _5 N: r& h, R  x8 k! K

3 ^4 q' z- y) c) ?, Y, u$ P! g硬件工程师一般都能够理解,在一个板子上面的,尽可能的选择成本更低的器件,选择更少种类的器件,便于集中采购,同时也便于加工。但是其他公司可能没有对器件归一化的工作做得那么细致和严格。; m/ o, X6 N, ]4 |8 N( I

( I: ^0 l& O7 {8 P* V0 Y第一, 由于华为整个公司使用的器件种类非常的多,所以如果减小一个器件编码,带来的收益是十万人民币到几百万,而其他公司可能达不到这个高的收益。所以如果能减少一个编码,宁愿选择可能成本更高的器件。但是这个也需要按照每年的器件直接成本收益*器件发货数量,与编码成本+加工成本差异,进行对比的。不过器件归一化之后,器件的价格又可以跟供应商重新谈价格,这个收益是迭代的。所以,有时即使是成本占优,也会倾向去器件归一化的结论。例如,逐步去除了5%精度的电阻,归一化到1%。6 c! z5 K$ s2 p+ `8 X9 I5 n
第二, 器件归一化,都是需要进行专题分析的。因为也有工程师为了归一化,对电路原理没有充分分析,导致的归一化带来“问题引入”。所以,当时我的部门当时有一个表格,“器件归一化分析.xls”的excel表格,把每个器件,原来选型,归一化的选型,更改的原因,都做好记录和原因分析。一是让每个做归一化的员工都充分考虑分析,二是问题都有记录,便于评审,三是出了问题,好打板子。
4 m/ N/ X0 s2 G( H1 M2 Q. x# L: `  H  k8 o! D* P
单板归一化- n/ R( ?" c8 l6 b$ Y, m, n
  {& e2 R3 \3 J
除了器件归一化,更高一个层次的归一化,就是单板归一化。(单板这个概念,我稍微澄清一下,我刚到华为的时候,也觉得这个词很奇怪。因为通信设备,都是机框,背板,加各个功能模块的电路板,各个功能模块的电路就叫做“单板”,硬件工程师,一般也叫做“单板硬件”)/ s# F1 x+ z5 w* Q. Q) n
单板归一化带来的好处,首先是电路的种类少,电路的种类少的好处有三个:
7 p6 N2 Z. V1 a' l( j! A3 t; x, p' M8 o6 C8 J: K7 L6 ]
一是生产成本降低;
& t1 l$ z$ r! d# A二是硬件维护成本降低;6 t7 W$ f$ `- j* Z% `  j
三是软件开发和维护的成本降低。
) u; d* ?7 r5 _% `5 l% i; R第一、单板归一化的先决条件首先是处理器归一化。其实,华为的有的产品这点做得其实不好,X86、MIPS、ARM、PPC全部都用个遍,所以一个硬件平台,需要配备各种软件人员,操作系统搞N套,VxWorks和Linux,BIOS各种配套。5 l- a& M! ]6 f9 d' x
" d  p* u0 W1 q- S& J
第二、单板的归一化,要注意产品的衍生。第一个版本的机框上的单板所实现的功能,如果后续的产品可以使用,应该直接可以用,不需要再开发。如果不注意这点,第一个版本的单板,到第二版本时,发现不能相互借用。反过来,再修改第一个版本的电路板,来适应新版本。有时问题更糟糕,就是完全不能兼容,只好重新开发。单板的规划显得非常重要。
9 G: Z1 _9 h( P; z2 `& x1 C4 F1 W3 z: J$ T% s
第三、单板归一化时,虽然电路部分兼容了,但是结构件不兼容。对于市场人员的配置来说,仍然是两种配置。一样是失败的。
! y. }$ s1 u5 c3 `
, O( o! X+ W2 P9 v7 `: Y平台归一化
' U& t1 R9 S: T; E
6 ?- a* {- [* ~5 T那么如果发现不同的硬件平台的架构雷同,功能类似。那么机框也可以归一化。只需要制作不同的电路功能模块,就可以实现不同的功能需求。
( J  p9 G* G8 [0 i) \, l8 E
6 n" k7 I6 G7 `) y: L6 k  S但是不同的硬件形态都是有他存在的意义的,如果强行归一,市场未必会接受这种事情的发生。例如用一个运营商的平台去归一一个企业应用或者家庭应用的产品,可能就未必能够成功。
1 H% W% z8 M. V" I, W+ f% l, ^& y8 }3 r. M, [" L1 P
网络架构归一化+ H5 C; a5 J1 f- b7 E9 R
* c" K  q, d) W2 {
这个说法是我自己想的,早在08年的时候,华为就在讨论“云管端战略”了,当时不是很理解。当我们一个运营商平台部门,跟“服务器”的部门合并的时候,似乎理解了点什么。
& e0 d8 G, u, o  w7 U当X86处理器足够强大的时候,所有的运算,不管是否性价比最高,都送到云端进行处理,那么所有中间的存储和计算都显得不重要了。那么整个网络的结构,就是终端+管道+云存储和云计算。
! Q2 g' s* ~3 X- S* v. I; I: F9 v- d. n# ~" r8 N9 y* r- k2 u! A

/ ]% t, J2 w. D  a* o. f5 Y3 H
0 ^& r) @% O" v  G既然计算和存储设备都是一样的,那作为运算和存储的设备,也就不需要那么多样化了。这时网络存储设备,和服务器就显得尤为重要。这也是华为成立IT产品线,做重点战略投资的重要原因。所以现在也就不需要那么多网络节点和网络平台了,只需要超强的处理和存储能力和宽广的通道,多样的终端。+ ?) ?1 e! g9 X; q9 }" j

5 m* e0 K) U0 PNO.5专题分析
+ D- x1 b  N5 m2 X我觉得很多硬件工程师有个误区,觉得自己的核心竞争力是在于会使用几个软件(cadenceprotel),画画原理图,画画PCB。我早期的一份工作就这样,最大的本事就是照葫芦画瓢,抄Demo板,抄以前成熟的电路,如果碰到了新的电路设计,一般是按照参考电路先画出电路,再通过调试,去尝试,碰到问题,再去解决问题。
9 S$ w0 V2 u( q+ g  H
) Q$ ?3 o+ I" A0 d那么我现在的观念是,硬件工程师最值钱的地方是在于懂硬件原理,懂得电路分析,模电数电原理,电磁场理论,而不是会使用画图软件。* u6 M/ A' p+ K6 Q* s1 ]
' q( P) O" D' l# x
那么华为是怎样做电路设计的呢?为什么会有专题分析的说法呢?为什么电路设计的时候要做专题分析?1 W) l  q6 ^# u; t

- _* Z  T$ N3 {4 M; s7 H4 a7 o4 C4 |3 ^, ^. k# v

8 c8 s0 z8 h9 {" ^第一、例行的,每个电路一般都会做几个必选的专题:电源、时钟、小系统;把每个管脚怎么用,怎么接,对接的管脚的电平是否满足要求,都需要文档化,分析清楚。在选用新器件的话,对应硬件工程师的工作量还是比较大的。但是如果是其他公司,直接按照推荐电路设计就完事了。电源专题,需要分析电源需求,每种电源的电压范围,电流需求,动态响应,上电时序;时钟专题,针对每个时钟的输入的电平标准,频率,抖动等参数,时钟时序,并按照各种时钟解决方案进行优化;6 G9 x; P) a2 q- F6 |

7 [& d: C* d. A3 t+ V3 R8 p第二、当电路设计过程中,碰到一些新的问题,之前团队中没有接触过的问题,或者认为是重点,难点的内容,会专门做这个问题点的专题分析:例如我们做过的一些双BIOS启动,摄像头的红外LED的驱动,主备倒换啊,之类的,就会把一个问题点分析透,然后再动手做画原理图。2 {7 U2 V# f; O

, W* e8 g/ z0 A, H, o- z第三、那么在开发硬件的时候,Demo只是作为参考,每一个依据都是来自于datasheet,除了看芯片的数据手册之外,还要仔细查看数据手册的勘误表errata,核对datasheet与Demo的差一点,如果器件有checklist还得核对checklist。曾经开发AMD的时候,datasheet、Demo、checklist,三个文档对不上的情况。也出现过,一个比较难复现的问题,后来查看了Errata,发现是厂家芯片升级了,修正了bug,而我们还在采购老版本的芯片。, t* S' J9 d( C2 [# ?6 D5 N

: e; y& X- \2 M5 F; d第四、由于项目本身有交付时间要求,那么在有限时间内其实不可能做到每个问题点都做得深入透彻。那么问题来了:% \/ k4 I+ D" V; l$ g6 x

3 h  V9 x$ T! W) J1 v# n8 i是怎么做到的呢?首先,每个项目都有《问题跟踪表》,而硬件团队由于事情非常的杂,所以把这个表要用的非常好,不然丢东拉西很正常。我曾经把这个表应用到家里装修。这个表的原理很简单,就是记录,问题内容,责任人,完成状态,完成时间。但是只要你坚持用,你会发现,你问题不会跟踪丢,做事情会比较有条理,而且会有成就感。用了这个表以后,发现问题之后,先记录下来,即使现在不解决,那么也会识别他要不要解决,什么时候解决。其次、问题分优先级,任何项目都是带着风险前进的,那么识别出高风险的问题,优先解决高风险的问题,带着低风险的问题继续走。这也是华为电路设计中“0欧姆”电阻用的比较多的有一个原因,识别出风险之后,但是又分析不清楚,或者来不及分析,只好做兼容设计。这里不得不感慨一句,在你的设计过程中,你马虎对待,没有分析清楚的问题,最后一定会暴露出来。+ e% ^! A% \, j$ L# H! k9 _5 X% L

" n+ K: Y9 L  s5 J! V8 _所以,在“菊花厂”做硬件工程师,“专题分析”是设计硬件最核心的工作,而不是画原理图。通过这个方法,用1~2个月做电路分析,而用1~2周时间画原理图,取代了,画图,调试,改版,再调试,在改版的形式。多快好省,是不可能同时实现的,那么硬件工程师有责任做很好的折衷和权衡。
- \5 i; U* e: a" H& N4 g( X1 |6 e% g; n+ Q# p
NO.6 专题攻关:器件选型规范一、关于“器件选型规范”:
- x  ]% ~* P, L' |# [% o" e: Z在我进入华为的时候,当时整个公司都在“规范”运动,什么都写规范,人人都写规范,什么任职、绩效、技术等级都看规范。(大公司用KPI来引导,容易搞成“运动”)。所以当时,按照器件种类,很多人写了各种器件选型规范。当时,原理图评审的时候,听得最多的就是“规范就是这样写的”,这里面有一些问题:) t0 k. U# ~" o0 P4 \0 M" _
, [' Q5 y2 F9 s: f
1、写规范的人不一定水平高,或者写得不细致,如果出现错误那就更是害人了。
) C# _( a9 T  H' M2、规范有时抑制了开发人的思维,什么都按照规范来,不一定适合实际的设计场景;例如我需要低成本设计,但是规范强调的是高质量,就不一定适用。7 i1 b4 ?( k& c0 _# v# g
3、有了规范之后,也会导致部分开发人员不思考,例如晶振要求在50MHz以上,放pF级的电容进行电源滤波,而低于50MHz的不用。大家都不想为什么,自然也不知道为什么;再例如网口变压器防护,室内室外,按照各种EMC标准的设计要求,直接照着画就可以;但是很少有人想为什么,也不知道测试的结果怎样,等实际碰到困难时就抓瞎了。的确在有的时候提高了工作效率和产品质量,但是工具也发达,人也就越退化,这是必然。0 Z' V- r& [1 I4 Q4 ^! @8 q
4、有些器件的选型,不适合写规范,因为器件发展太快,有可能等你规范写好,器件都淘汰了。例如:在X86处理器进入通信领域了之后,处理器选型规范就显得多余。' U4 z; g+ M; f+ v3 j) x/ ?6 e% o9 K) B
规范确实能带来好处。但是,并不是所有工作都适合用规范来约束。硬件工程师要能跳出“参考电路”、跳出“规范”,从原理思考问题和设计。
. b$ v  d* M% D) g/ v9 h. Y
% z. s& S8 A9 ^% x( D/ |* x当然规范还是非常有用的一个手段,是大量的理论分析+经验积累+实践数据的精华。我觉得当时我看得最多的规范,是《器件选型的降额规范》,这是基于大量试验,实际案例,总结出来的器件选型的时候,需要考虑的内容。, l7 A* A& u1 l9 v( P. R% \5 O* C: K

9 {7 [* P! \0 z  g/ A6 e例如:规定选用铝电解电容的时候,需要考虑稳态的工作电压低于额定耐压90%;而钽电容,稳态的降额要求在50%;而陶瓷电容,稳态的降额要求在85%;因为这里考虑了一些器件的实效模式、最恶劣环境(高温、低温、最大功耗),稳态功率和瞬态功率的差异……等等因素。
/ m3 B( a* A, W  C* F) \& T二、器件选型需要考虑的因素:* I: m' l+ k) Q- T
在华为的PDM系统上,器件都有一个优选等级“优选”“非优选”“禁选”“终端专用”等几个等级。工程师可以根据这个优选等级来直观的感受到器件是否优选。
. r; g7 J' \) `, R. o' u) I2 m: A9 f6 P; Y. l$ b
那么器件的优选等级,是考虑了哪些因素呢?
2 I  F1 ^& g2 N3 B
) J6 ^9 G: q' @6 K+ O1 ]1.可供应性:特别是华为这样厂家,有大量发货的产品。慎选生命周期处于衰落的器件,禁止选用停产的器件。我2005年时曾设计过一个电路,设计的时候就是拷贝别人的电路,结果加工的时候发现器件根本买不着,由于器件停产了,只能在电子市场买翻新的器件。对于关键器件,至少有两个品牌的型号可以互相替代,有的还要考虑方案级替代。这点很重要,如果是独家供货的产品,是需要层层汇报,决策,评估风险的。# z* z6 I( m. Q$ m5 j5 i
. m7 I. d9 ~6 @6 n1 f# g0 B4 E3 `
2.可靠性:
, F( M) V& Y; [$ ]7 P3 x0 j7 ^8 L6 Z! l6 |5 ]
散热:功率器件优先选用RjA热阻小,Tj结温更大的封装型号;处理器选型,在性能满足的情况下,尽量选择功耗更小的器件。但是如果是Intel这样垄断的器件,你也只有忍受,加散热器,加风扇。4 U. r0 j: }. d; ^
, j  O. ~  u1 C. D$ t+ O' s7 c
ESD:所选元器件抗静电能力至少达到250V。对于特殊的器件如:射频器件,抗ESD能力至少100V,并要求设计做防静电措施。(注:华为是严格要求,禁止裸手拿板的。我本来也不理解,后来我带团队之后,发现兄弟们花大量的时间在维修单板;我们的团队就非常严格要求这一点,看似降低效率,其实还是提高效率的。至少不用总怀疑器件被静电打坏了。)
& D2 @4 r  d" w+ e- z* [: `6 p# J# B+ t0 D- b5 N) P( X
所选元器件考虑更高的湿敏等级。
* }2 u6 ~6 h- A! P# }* Q3 U2 N6 ^; T- V( R8 ^5 _8 Y; \$ w
安全:使用的材料要求满足抗静电、阻燃、防锈蚀、抗氧化以及安规等要求。3 p) }2 F+ o* H* M# @( _4 _
失效率:避免失效率高的器件,例如标贴的拨码开关。尽量不要选择裸Die的器件,容易开裂。不要选择玻璃封装的器件。大封装的陶瓷电容不要选择。
+ H& y, o( p" \, G* O( q2 U% g9 L失效模式:需要考虑一些器件的失效模式是,开路还是断路,会造成什么后果,都需要评估。这也是钽电容慎选的一个重要原因。
& F" h9 R+ O7 `3 p% }3.可生产性:不选用封装尺寸小于0402的器件。
( {  c' {: {, z) R1 F7 W3 N1 |7 \
. B' @9 {4 O* q( E2 P尽量选择表贴器件,只做一次回流焊,就完成焊接,不需要进行波峰焊。部分插件器件不可避免选用的话,需要考虑,能否采用通孔回流焊的工艺完成焊接。减少焊接的工序和成本。
! P$ H+ o4 E; A8 |# N: u: l1 W+ G: \6 j
4.环保:由于华为大量的产品是发往欧洲的,所以环保的要求也比较严格。由于欧盟提出无铅化要求,曾经整个公司的几乎所有的硬件工程师都在做无铅化的整改。
6 d" \, p7 V( [/ i0 U# J( q0 S5 [% C4 A, Z$ j# M
5.考虑归一化:例如某产品已经选用了这个器件,并且在大量出货的时候,往往有时这个器件的选型并不是很适合,也会选择,因为不但可以通过数量的增多来重新谈成本,还可以放心的选用,因为经过了大批量的验证。这也是为什么倾向于选用成熟期的器件,而慎选导入期和衰落期的原因。& V. N/ j# [0 h
9 o% T( s( ]/ }1 [
6.行业管理:某一个大类,例如:电源、时钟、处理器、内存、Flash等等都是有专门的人做整个公司的使用的规划和协调,提前进行市场调研,分析,编写规范。他们会参与到新器件的选型上来。
: r0 ?  `4 Q1 p4 U9 j8 y! L9 |! d  k  Q8 O& K# L+ X
7、器件部门:专门有器件部门的同事,会分析器件的失效原因,可靠性分析,拍摄器件的X光,评估器件寿命等等工作。
( ]" R4 u4 C2 y: v! Y5 Y
1 Y2 U/ M3 T/ h8 B3 k6 d# V8、成本:如果在上述因素都不是致命的情况下——上述的因素都是浮云,紧盯第八条。
: I3 V+ e) n2 X$ o
! O0 X; r$ K; Z' v

该用户从未签到

2#
发表于 2020-7-29 10:43 | 只看该作者
我当时是新员工,也急于表现自己,利用周末的时间,估计用了一周的时间,就写完代码,开始仿真了。我以为我的导师兼主管会表扬一下,结果没有,他说:“你为什么没有召集大家讨论?然后再写方案,评审?然后再动手写代码?”我当时是不理解的,觉得我一个人就搞定的事情,为啥要这样劳师动众?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-21 04:05 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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