最近跟几位芯片朋友聊天,都在吐槽公司强制加班、缺人手、招不到人什么的。这个现象的背后原因,一方面是现在芯片竞争激烈,抢夺时间就是抢夺市场,芯片创业公司需要快速迭代推出自己的产品占领市场;另一方面在于人才的供给跟不上芯片企业创立的速度。
在我之前的文章有谈到,中国近年来成立了近4万多家芯片设计类企业,但是目前人才的供给显然跟不上这些企业创立速度。所以,大部分芯片公司存在缺人的情况。
(图片来源:百度百科)
现如今,如何在有限的资源和时间里让一颗芯片顺利量产,已成为各家创业公司不得不面对的问题。
当这个问题放在各位眼前的时候,你们觉得该如何解决?首先想到的当然是招人,但是现在人真的很难招;其次想到的是请外包,然而目前外包公司的订单也已爆满,能不能按时按量交付也成问题;再次想到的是牺牲芯片的一些功能或者降低芯片的验证质量来达到目标,这可能是最后的手段了。
除了这些,还有其他方法吗?在我本人经历以及和很多工程师交流的时候发现,芯片创业公司内部普遍存一些问题。这些问题导致了众多工程师工作效率低,从而影响了项目进度。
下面,让我们从上到下看看创业公司都有哪些问题,各位引以为戒。
(图片来源:某芯片Spec)
首先是芯片规格书制定混乱。对于芯片需要的功能和指标,缺乏科学的分析和评估方法。很多指标的制定,通常都是参考竞争对手芯片进行设计,然而对这些指标后面的意义不是很了解,这就引起了很多问题。
一是制定的指标很难实现,很多设计在快完成的时候去跑性能仿真发现指标实现不了,然后回头再去改指标改设计,浪费了研发人员大量时间。
二是制定的指标过高,已经远远超过市场应用需求,为了实现这些指标花费很多的财力人力。
三是制定的功能当时虽然满足市场需求,并且很有竞争力,但是等芯片设计到一半的时候,却发现同类产品已经出来,自己家设计的功能不及其他家,从而不得不放弃自己家的设计方案。
四是没有考虑应用者的需求,有些场景没考虑全,无法实现,或者是让软件设计人员在某些场景实现的时候非常麻烦,增加了软件研发人员的工作量。
其次是芯片设计流程不规范。在市场上能够完整走一遍流程的研发人员凤毛麟角,而具备该种能力主导一颗芯片设计的管理人员更是少之又少。因此,缺乏此类人才的芯片公司中大量存在流程不规范,不专业的问题。
比如异步电路可以通过Lint、CDC去检查发现异常,但是非得用动态仿真的方式去检查,从而漏掉很多需要注意的点。亦或是综合后网表需要通过功能一致性检查而没有认真完成,致使后端实现的时候电路功能有异常也没有被发现。总结起来就是,对芯片设计流程掌握的不够深入,让芯片不断返工甚至流片失败。
(图片来源:百度百科)
第三是代码管理混乱。这个是工程师吐槽最多的地方,代码更改没有上传到代码库里面,或是错误的设计代码误上传到代码库里面,亦或是综合的时候拿到的不是最新版本等这类问题数不胜数,研发人员不得不花费大量时间在代码的维护上面。
第四是缺乏科学的验证方法学。科学的验证方法学可以快速高效的收敛验证,而对验证方法学掌握不够透彻就会导致采取低效的测试手段片面的验证设计。
比如在对一些bus mutrix验证的时候,如果不懂得formal验证,只是通过动态仿真验证,需要造大量的测试用例去覆盖各种情况,造成了验证人员大量时间的浪费。
第五是缺乏自动化的管理环境。当人力不足的时候,高效的运用脚本自动化的处理一些事情可以省下不少人力,但是很多创业公司完全靠人力去完成一些本该机器可以实现的一些事情,比如定期跑regression、定期收集coverage等,还需要安排单独的一个员工去做,这对人力资源是种极大的浪费。
(图片来源:百度百科)
第六是文山会海。白天开会,晚上加班,说到底还是工作效率低。特别是主持会议的人员缺乏会议主持经验,让会议主题发散,不能控制会议时间,不能有效地在会议上制定可执行点,没有做相关的会议纪要,后续也没有及时跟踪会议实施的反馈,让会议开成了茶话会。这样不仅没有解决项目问题,反而浪费了与会人员的时间。那么,有没有解决方法?当然有,很多大公司经验都可以借鉴。
第七是与合作方协同工作效率低,往往处于被动状态。合作方可能是后端服务厂商,也可能是IP厂商,或者是设计服务厂商。在与这些厂商沟通的时候,缺乏沟通技巧,从而导致无法争取对自己有利的资源。
比如在与后端沟通的时候,因为缺乏对后端工作了解,对后端的工作量无法做出正确评估,在谈判的时候不占据优势,让后端厂商占据太多时间做布局布线,从而压缩了前端的工作时间,让本就紧张的资源更加紧张。
(图片来源:百度百科)
第八是缺乏时间管理的概念。很多研发人员对紧急重要任务、紧急非重要任务、不紧急重要任务、不紧急非重要的任务的处理混乱,这体现在一天工作量都是一些杂活。因为主次不分,工作经常被打断,从而工作效率低,不能按时按量的完成任务。
第九是团队成员缺乏责任感。我觉得这是创业团队里最大的问题,大公司因为人多、部门多,工作的时候容易形成“部门墙”,研发人员往往把自己的事情做好,对于不是自己的事情想办法推脱。而这些工程师将这种职业习惯带到创业公司里面,会降低整个团队的工作效率。
因为创业团队分工不会那么明细,很多模块都有改动,如果设计验证人员仅仅抱着自己的一亩三分地,而没有想过对整个项目负责,那么在面对新的模块改动的时候,就会以各种借口推脱,这种行为将大大降低团队的作战能力。
END
来源:处芯积律
版权归原作者所有,如有侵权,请联系删除。
▍推荐阅读
脏话越多,代码越好!
我把ST-Link当做J-link用
单片机哪些方面不能替代PLC?