华为硬件开发过程揭秘:原理图检视篇

发表时间: 2020-03-16 20:44

首先,说下什么是检视:检验查看。(检查、光动眼睛嘴巴,不动手)

说文解字一番:

《明史·林应骢传》:“部疏,臣司检视,即有误,当罪臣。” 郭沫若《游西安》:“﹝蒋介石﹞逃跑过的路,我们约略检视了一下。”


所以如果是原理图检查,很多朋友说了,我们也检查啊,这有什么稀奇的?

但是一般公司的原理图检查,有几个特点:

1、 自己只检查自己的原理图。

2、 检查原理图的时间比重在项目中占的非常小。

3、 一般检查出的问题有限,大多数是依靠调试,发现和解决问题。


那么我来说说华为的硬件,一般是怎么检视原理图的。

首先,有些工作,尽量是在画图之前解决的,或者是在画图的过程中解决的。

例如:多人画一张图,我们需要约定好symbol需要统一,不要各人用各人的,最后器件不能归一化。一种做法是把常用的器件(特别是阻容)放在每一页的原理图的图纸边框外面,需要使用时,就拷贝,不重复到器件库里面去找。

例如:一些网络名,需要统一和规范,例如:PCIe的正负是用N、P,还是+、-;PCIe的收发信号的定义方法,需要提前约定,否则命名容易乱掉。

例如:电源、GND(模拟、数字)的命名方法,3V3,还是3.3V?都需要提前明确好。避免由于某个网络名命名不规范,使得某一块网络成为孤岛。等开始画PCB的时候,再发现,返工的工作量就极其的多。

所以,如果是多人协同,我们建议先检查,这些不同图纸页数之间,容易出错的点。

以下是个人观点,仅作参考:

如果是电路图规模不大,建议尽量一个人完成,免得:合并图纸的时间比画图的时间还长。如果图纸规模比较大,一个人完成的时间较长,可以由一个人将一些模块分给其他人来完成。切忌为了公平,平均分配,一定要有主次,要有责任主体,即:华为说的板主,要担当整理质量把控,监控模块的质量,重要的内容不要分配给其他人(CPU小系统,电源,时钟,这些强耦合的部件,要由板主主动担当)。其他人积极配合板主,第一从风格和器件选型方面需要与板主统一,第二页间的网络名,主动规范统一。

第二步:自检,这个阶段需要绘图者自己去保证原理图的质量,这个阶段如果不去仔细的检查,原理图的低级错误就容易流入后续环节,容易造成问题不收敛。后续环节检视出来的问题如果太多,板主就会疲于奔命的去修改问题,没有精力去挖掘电路的深层次问题。最容易造成交付质量差,回板后调试出很多问题,造成改板等现象。

第三步,项目组自检:所有参与原理图绘制的人员,进行自我检查。如果电路板就一个人完成,就邀请同一个机柜,或者做过相同工作的,同一个项目组的同事,总之是利益相关人员进行检视。这个阶段还处于原理图早期,会有很多低级的问题,所以责任主体和利益相关的人员,现阶段去检查,会很容易发现这样那样的问题。另外,由于这个阶段的责任主体是利益相关人,也就是说如果这个电路出了问题会影响这个团队的绩效,自然影响在团队中的绩效的比例分配,影响大家的奖金等利益,所以大家的投入度从某种程度上来说,是可以得到保证的。所以这个阶段,板主要充分调动所有人员的参与度,并提前做好准备,把电路的原理和设计思路与参与检视的人员沟通清楚,文档、datasheet整理好,以便参与者最小代价完成投入,发现问题,产生效果。

第三步,领域专家投入检视、专项检视

这个阶段,首先你拿出来的电路质量是需要过硬的。因为质量是研发的自尊心。你这个版本是需要给周边领域的相关人员进行检视,这个版本的质量代表了你部门的水平和颜面。所以,不要把低级错误留给相关的人员。

工艺、装备测试、互连、背板、结构、热设计、EMC、器件、安规、环境等人员会从自己的专业角度,对原理图进行检视,给出其专业领域的认知,相对的深度会比较深,但是他们只会从自己的专业角度去看问题,往往广度和全面性没有那么好。当几个维度出现矛盾时,需要硬件人员进行协调,折中,分析和决策。这里的决策不是拍大腿的决策,而是基于数据和理论分析的决策。

曾经一个会议上,一位同事很果决的说:“这事我定了,就怎么怎么样……”,结果话音刚落,我们几个人就跳起来了:“你凭什么决策,你有数据么?你有足够的理由么?”

所以在这个阶段,硬件人员的协调力和项目管理能力就非常讲究。

同步的,这个阶段,责任主体(板主和参与者)都在进行专项的检视,例如JTAG专项,电平匹配专项,信号完整性的专项,电源专项、归一化等等……也在按照某个领域,逐步进行检视。每个领域,都按照规范一一排查,然后再检查部门的案例,再检查公司使用过器件的相关案例。(特别是本部门没有涉及过电路设计,新器件、新功能模块等等。)

第四步,公司专家检视

这个阶段,是邀请公司或者部门的一些高手,来看看电路设计上有没有什么不妥的地方。这些高手往往工作都比较忙,其实没有太多的精力帮助你来检视原理图。但是如何用好这些稀缺资源呢。第一、要熟悉专家的擅长点,让专家检视自己擅长的模块,而不用全板去检查;第二、多让专家从宏观上把握一下方案,往往这个比细节发现的一些错误更为可贵,毕竟专家常年积累,他们的技术悟性和敏感性还是很强的;第三、多交流,多给专家讲解你的电路,引导对方的思考和投入。

第五步,封闭检视,这个阶段是再次利用部门的资源,搞个“小黑屋子”,安排好电脑,提前把原理图、PCB、设计文档、datasheet,拷贝到电脑上,然后把电脑断网。把项目组里面的小伙伴,分批次请到小黑屋“坐牢”,当然备好巧克力、咖啡、龙井茶、香烟等等。让检视的人员关闭手机,下指标,检查出多少问题,然后才可以离开。但是这个刚性不是那么好执行,是基于你平时为别人原理图检视贡献的力量,别人欠你的人情,另外呢,就是部门的主管需要构建这种互帮互助的氛围。

第六步,原理图走读,这个阶段就是投板前,这个阶段,大家对原理图已经滚瓜烂熟了,每个线,每个网络,每个器件,都烂熟于胸了。所有的利益相关人员,坐在一起,一个网络一个网络的点击,然后讲解为什么这样设计。这个方法看似效率低,但是只要投入有保证,是非常有效果的,因为只有讨论,才能把问题暴露。

第七部分,测试人员的检视,相对与其他公司,华为对测试的投入力度非常大。一个项目,底层软件:硬件:硬测:软测比例=4:2:1:2,可见测试的投入占到开发的一半。测试人员,在早期就会涉及电路的测试方案,在电路图阶段就会参与检视,并思考测试方案针对当前设计可能的后果。然后测试人员会针对电路了的“故障注入测试”“FMEA”“降额”等可靠性方面,进行检视。这个环节贯穿整个硬件设计过程,所以我写得是第七部分,不是第七步。由于测试人员也是利益相关人员,责任主体,会非常投入和负责。

华为的领导说:有本事你们找中兴的人来检视原理图

以上都是原理图的检视的各种方法的形态,不拘于形式,也不拘于顺序(以上是我推荐的顺序,是我实践出来觉得不错的顺序),主要是把问题尽早的暴露,因为问题越早发现,解决起来的代价就越小。以前有位领导说过:“如果信息安全允许,有本事你们找中兴的人来检视原理图;为了一个好的结果,应该发动你所有的社会(公司)关系才对。”

善用《原理图问题跟踪表》

原理图问题发现了之后,需要记录,华为有“在线检视”工具,一般公司可能没有这样的条件。但是可以通过excel进行记录,例如问题的类型,页数,是否修改等关键信息。防止问题漏改,错改,忘记修改理由等情况。

善用《度量表》

对于超完美主义者来说,原理图的问题永远都找不完的,所以我们什么时候停止开展新一轮的检视呢?就是查看问题的收敛程度。我们通过度量表,查看一轮一轮的问题是否呈现出收敛状态,(每轮的检视规模没有减少,参与的人数没有减少,检视时间没有减少,但是发现的问题逐步减少),如果收敛到问题已经非常少了,呈现出十几个、或者个位数问题。基本能够说明原理图的质量非常好了,反之,则需要组织更大规模的检视。另外,所有轮次发现的问题,汇总起来,与整个公司的的统计的该阶段,平均缺陷密度/新增规模,在公司的统计值附近,在上限和下限之间。当然很多公司没有这么好的条件,但是建议正在处于成长期的公司可以尝试慢慢建立起来。


另外,检视这件事情,应该是从上而下的一种公司文化,公司有奖励机制,鼓励员工在完成本职工作的同时,互帮互助。例如华为的一些部门会在绩效上,对这个维度进行考核,同时,整个公司会对员工检视问题进行统计,折算出技术积分的一个方面,用于技术等级的佐证(至少公司在面子上是这么做的)。

所有的板主,都应该对检视的人员有一种感激之情,即在平常多帮助别人,积累“人品”,另外对于别人提出的问题,都应该首先感谢,然后再讨论问题是否修改,这样别人才愿意说问题。


总之,投板前,好好研究研究原理图,好好研究研究PCB,再投板,是非常有好处的;一版成功不是我们追求的最终目标,但是为了做到一版成功,我们做出的努力,会让我们对单板的每个细枝末节都非常理解的透彻深入,使得电路的达到意想不到的质量高度。