今天背着电脑回来的时候同事跟我开玩笑说,明天流片,今天怎么可以不通宵?(流片: 半导体行业术语,意味着设计阶段结束,可以交付工厂生产。)流片为什么要通宵? 这就要从芯片的设计流程来说起。
一般而言,IC(集成电路)产品的定义分两种,一种是通用芯片的定义,另一种是专用芯片的定义。
首先以专用芯片为例,市场部的人会研究特定客户需求,与客户接洽,进一步明确客户需求,定义产品(客户,市场,研发人员三方合作)。
以去年的市场需求为例,市场部的人发现,哎呀,最近大家手机快充需求很大呀,几个大客户都有这方面的需求,我们得快速动作起来。
平心而论,这个时候其实已经有点晚了,设计团队的人需要加班加点赶工来追赶市场的窗口期。没办法,华为新品发布时间就在那里,哪个芯片供应商能最快完成,就能越早可以进入手机系统的验证,获得订单的可能性与份额就越大。当然,质量也是硬道理,没有高的质量,前期的所有努力也都会付之东流。
所以,如果遇到这种类型的项目,项目工期一压再压,加班的基调基本从一开始就确定了,我们组一个博士哥哥从年轻时候的一头秀发,带过两次这类项目后,发际线已突破天际。
客户虐我千百遍,我待客户如初恋。我们为专用定制芯片如此的呕心沥血,因为,这些都是大客户呀,一旦上线,来年的销售额就不愁了。PS: 研发是第一生产力,又好又快又便宜。
再来聊聊通用型芯片。
通用型芯片的特点是大家都可能会用到,客户根据需求对照产品说明来自己挑选,我前面做的一款接口芯片就是这类产品。
这类产品定义一般会领先市场一段时间,上一代的产品还没有过时,新的产品已经上线,产品寿命也比较长,这样留给市场和研发的时间就相对宽裕,公司按照自己的roadmap做出产品,来引导客户消费。
按理说,这类产品不会产生疯狂加班的情形,事实其实不然。大家知道deadline是第一生产力,没有deadline很难做成事情。
在项目前期,我们的发散性思维更加活跃,这种状态可以帮助我们发现问题,解决问题,项目的中后期,思维处于收敛状态,帮助我们整理归纳,排查检验项目状态,可以更加安全高效走到结项的阶段。
如果没有deadline,人的发散思维会一直占统治地位,这就很难做好事情了。有了deadline,那么问题就来了,我们预估一个看似合理的项目周期,但是要知道做项目这个未知的旅程中,发现问题解决问题的频率总是超出预期的。
举个例子来简单说明下。我昨天为什么加班,流片前夕,我们主要的精力放在系统验证上(regression),基本上底层模块的任何变动,顶层要重新验证一遍,耗时较长。昨天在顶层验证的,发现了一个很奇怪的现象,模块和子系统验证从来没有出现过,而且在模块和子系统仿真中复现不了,我排查到了一整晚之后的结论是顶层仿真算法的区别导致的,最后时刻总算有了了结,没有影响今天的流片。
身体是疲惫的,内心是崩溃的,但是也有点小窃喜,终于可以按时流片了,后面是大好的假期啊,我爱你,祖国母亲!
360行,行行有艰辛,只有智慧可以助我们迈开前行的脚步,就像我老板说的话,办法总会比问题多一个。