淘金的执念
缺陷就在哪里,静静地躺在哪里。没错,一定在,而且马上就能看到!!执念,这是一种执念!!作为验证人员,一定要有这种强烈的,不可动摇的执念或者说饥渴感,而且是和设计人员强烈对抗的执念。
实际上,目前看到的所有芯片,都已经证明,投片后,依旧有缺陷遗留在其中,没有被发现。所以,这种执念,无比正确。只有疯子,才能发现隐藏得最深的金子。
我开始做设计之后,这种执念消失了很多,总是希望系统确实在完美地运行。不过对他人设计的模块,以及不是我负责的项目,这种执念还是非常强烈,呵呵,这也是我在1380和P600中疯狂创造问题单的原动力。
这跟淘金的人,可能是差不多的。金子就在这里,一切的希望都在这里,再挖一锄头,就找到了。只有疯子,才能成功。
淘金的技巧
指定找一块地,疯狂地朝下挖?No,No,疯子都会B4你,淘金也是有技巧的。很多方法,其实说白了,很简单的。
表层的土是最容易挖的,那么,别人没有挖过的地方,最有可能找到金子。为什么别人没有挖?很简单,盲区。两种盲区:
1)明明每天都能看到,却没有人想到去挖一挖的地方。以1380为例,天天都有人跑ARM,就硬是没有人去分析一下ARM,如果最开始,就能多看看ARM的ACP代码,宝藏啊,宝藏啊,ACP虽然没有错,可是上游会冲下来多少金子积累在这里啊。
2)别人不屑于去挖的地方。IO\_CFG简单吧?TEST\_MUX简单吧?TOP层的IO互联简单吧?不屑啊,多少验证人员对此不屑一顾啊,那眼神就是在说,真TMD没技术含量。是啊,再TMD没有技术含量,也是金子啊。
对于表层土的挖掘,不要太固执于一点,广撒网,多捕鱼。如果十锄头都没有挖到金子,马上换地方,对于别人刚挖过,还没深挖的地方,也来上几锄头,说不定就可以让前一个家伙悔到死。
表层土都差不多了,就需要找关键部分深挖了。如何找关键部分,是非常讲究的事情,兼顾风水、心理、外交、直觉等多方面知识,很难给出综合性的分析。
下面几点可作为Hint
1)如前面所说的,只知道跑TC,跑错后让设计人员定位的验证人员负责的区域;
2)对实现没什么概念的设计人员设计的模块;
3)责任人变来变去的地方;
4)DFT相关的地方(验证人员的DFT知识严重缺乏);
5)规格老是变来变去的地方及其可能影响的地方;
6)第一次做代码集成人员连接的顶层位置;
7)浮浮躁躁、毛毛糙糙的新员工负责的地方;
8)时钟域(几乎当前所有的验证人员都不关心时钟正确性,只要能跑TC);
9)所有人都认为没有问题的地方;
10)验证人员宣称放弃的地方;
11)技术难度比较高的地方;
12)你以前项目发生过问题的地方(相同或类似的问题很大几率存在);
13)整个系统中相关性非常高的一连串区域;
14)协议和时钟转换的区域;
15)其他隐藏在内心深处的秘密。
需要注意的是,在挖掘这些Hint点的时候,并不一定能保证挖到金子,而且即使有金子,你也并不一定能够挖到,人品,人品很重要。
OK,关键部分都挖得差不多了,剩余的金子基本上就埋藏得比较深了,这个时候发现的金子都将比较可观。再不济,也能够成为荣誉奖、星星奖之类,要搞得恰当了,直接拿A也不是梦想。当然,如果没能发现金子,一无所获的可能性也很大。
收益和风险是成正比的,淘金人在这个阶段一定要能够沉下心来,冷静思考。楼上提了这么多Hint,哪个地方还比较薄弱?整个项目统观下来,还有哪里有薄弱的?你在思考,项目经理也在思考,验证经理也在思考,SE也在思考。如何超越项目经理、SE、验证经理的思考发现金子?我非常、非常难以回答。提供我已有的两个经验是:
1)反向思考。最后阶段,大部分人员的思路都已经固化了,像一条绳子一样,不断的朝一个方向缠绕、缠绕。反向的思考往往能突破这个限制。当然,反向思考这个东西,很多时候就是忽悠,难以做到。我的一个经验是可以多听取一下局外人的一些意见,例如软件人员的意见。当然,这其中大部分的意见都是无关痛痒的瞎扯,但偶尔、偶尔会出现一些能够引发进一步思索的缺口。
2)和谐。这里没有任何问题,芯片运作一切正常,没有任何差错。但是你拿着架构图看、或者拿着时钟结构图看、或者打开最复杂的ST波形看,心中却总是有一种说不清道不明的感觉,没错,虽然一切正常,但是某个地方,却有那么一点点不和谐,就像合唱团中插入了一个走调的家伙一样。可能是非常微妙的一个路径,可能是波形上非常诡异的一个脉冲。对了,就是这个地方,追下去,即使工作正常,这里也可能存在和设计意图不符的东西存在。
往期精彩
转夏晶帖:http://bbs.eetop.cn/thread-274126-1-1.html?id=2930135447473&23=mV7I
更多数字IC设计技术干货等请关注数字芯片实验室专栏。添加极术小姐姐(微信:aijishu20)微信可申请加入IC设计交流群。