0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探究为什么有些项目出来结果会失败?

8ECz_icstudy 来源:互联网 作者:佚名 2018-05-02 09:26 次阅读

在做这个项目的过程中,IC君一直在反思,工作7年以来,为什么绝大部分的项目都很忙?每到tapeout的时候总是手忙脚乱?为什么有些项目出来的结果会失败?

《穷查理宝典》

巴菲特的搭档查理芒格认为凡事要反过来想:

“如果要明白人生如何得到幸福,首先是研究人生如何才能变得痛苦;要研究企业如何做强做大,首先研究企业是如何衰败的。”

要想做一个成功的项目,首先是研究如何做一个“失败”的IC项目。

这儿定义的失败,是指项目执行的过程很混乱,大家做得辛苦,但是最后出来芯片的bug却很多,甚至完全不能工作。

至于芯片生产出来之后,市场定位准不准确、好不好卖或者赚不赚钱不在我们的讨论之列。

我们IC的项目流程往往如下所示:

这个图的步骤分类比较粗犷,具体各部分的功能以前的文章也说过新入职IC工程师必备技能——数模混合篇。比较细致的流程可以参考之前的文章一个前端数字IC工程师的一天。下面就从这几个步骤探讨一下如何做一个“失败”的项目。

1

架构设计决定了一个芯片的功能和设计划分,是最重要的一环,它决定了我们以后的努力方向。如果努力的方向错了,做得越多,错的越多!

想把项目搞失败,这一步最容易。

比如项目执行的过程中,架构不停地变换,但是tapeout的日期没变:

  1. 本来想做高速芯片,后面突然想把功耗做到最低;

  2. 起初想做一颗很小的芯片,后面变成一颗很大的芯片,期间添加了无数的功能。tapeout前添加的功能最容易出问题哦!

  3. 某个中等模块的风险一开始没有评估充分,做到后面发现冒出来的bug越来越多。如果彻底解决需要改动很多block,最后只能修修补补;

  4. 对spec的理解发生错误,项目执行的中后期发现了这个问题,为了实现正确的spec需要改动很多电路;

  5. 没有正确评估封装的可行性,比如做到后面突然发现8SOP封装包不进去,pad位置需要大改,之前做的很多评估工作完全白做。

架构设计主要是在项目leader主导下完成,当然有些东西也不完全由leader决定,老板很多时候也会参与其中。有时候架构的变化是市场导致的,果断的改架构可能对公司而言是一个正确的决定。比如某段时间穿戴式产品的兴起,低功耗突然变成大家迫切需要的特性,对于speed不太那么care。

架构的改变对于IC工程师而言,只能接受并做出更多仿真来确保架构的改动是没问题的。不管是基于何种原因,频繁的改动架构是最容易导致项目失败的!

2

小模块的设计和仿真验证就是广大的IC工程师的工作内容,做好自己负责的部分。对于一个失败的项目而言,这一步的危害性相对于架构设计小很多。如果你想把项目做失败,可以通过以下方法来实现:

  1. 负责的模块经过自己评估之后,发现工作量巨大或者难度巨高,但是又希望完全通过自己的努力去完成它,默默的做了几个月而没有及时向leader highlight这些问题;

  2. 在没有搞清楚电路功能的情况下,随意修改继承项目的电路。以前的项目怎么做得这么笨啊,不行我要改改它,让它的gate数目少一点,面积更小prefect!

  3. 实现功能的时候没有想清楚各种意外case,只是简单的实现spec的功能;

  4. 时序检查的时候没有留下足够的margin,在post layout仿真的时候很容易出错;

  5. 有些模块可能要跑所有的工艺角,实际做的时候只跑了一个TT 工艺,后续芯片级验证的时候也不可能跑所有的工艺,有可能芯片的工艺稍微飘一飘就不能正常工作了。比如你做了一个RC的delay在TT工艺下是5ns,但是工艺飘一飘就到15ns了,有可能电路就fail了;

  6. 设计没有冗余,自认为将面积做到了最小。tapeout前期修改电路的时候根本没有gate让你用。这也是IC君容易犯的错误。

  7. 不遵守一些既定的设计规则。比如在电路综合的时候,不希望出现latch,必须遵守特定的RTL代码写法。

3

芯片仿真就是把所有模块都包含进来的仿真验证。通常整合之后,会发现很多小模块设计时没考虑的问题。这一步通常会有多位工程师参与,所以前一步的问题很多在这边能cover掉,项目想要失败似乎也没那么容易。

  1. 仿真环境和电路实际工作环境不match,不带dspf没有任何寄生效应,看起来工作的棒棒的,tapeout出来之后fail了;

  2. 行为模型编写错误,你看到的仿真行为根本和实际芯片不一致,验证结果很完美,实际结果没法看。这个危害真的挺大的;

  3. 由于芯片仿真也是由不同的人负责的,所以如果负责人没有按照既定的flow 验证一些该check的东西,遗漏了很多情况,就加大了失败的概率;

  4. 负责check的人不够资深,即使看到错误的仿真结果仍然发现不了问题;

  5. 仿真时间特别长,没有使用提高仿真速度的方法,做一次仿真需要很长时间,等你仿真结果出来黄花菜都凉了。如何避免这个问题,可以参考我们之前的文章如何减少IC设计和验证的仿真时间。

4

寄生参数仿真(layout后仿真)就是考虑实际的layout提取寄生参数后,进行的仿真。

这一步通常跟做第二步的是同一批的人,如果项目要做失败,可能是以下原因导致的:

  1. 根本就没有做寄生参数的仿真,前仿的时候电路的节点根本没有寄生的RC,仿真结果看起来特别好,但是layout有可能走了很长的金属线,有可能setup时间就违例了;

  2. 对抽取寄生参数的工具使用不当:比如使用calibre的工具去抽寄生参数,有很多option需要设置。有可能寄生结果的提取比实际layout过重或者过轻,导致仿真结果的不正确;

  3. 没有做layout检查,有些模块需要特殊的layout比如电流镜、bandgap、放大器等等;还有一些特殊的走线(特殊线宽),也需要做layout检查,以确保tapeout的版本跟你仿真的版本一致。

5

其它原因主要是指一些跟工厂相关的问题,以前的文章也提到过一部分聊一聊tapeout失败的事。这些问题通常都很严重,一招致命的类型:

  1. mask给你出错了,少出了一层或者拿成前一版的;

  2. 某些器件用得好好的,突然建议你不要用了;

  3. 工厂产能不够,需要换工艺或者换工厂。

  4. 和PAD直接连接的电路不考虑ESD的问题

  5. 每家公司可能都有tapeout的checklist,tapeout前没有check这些规则,很可能就会fail。

我只想知道将来我会死在什么地方,这样我就不去那儿了。

由于个人知识有限,上面列举了一些项目失败的原因,大家还可以在微信文章或者知乎文章留言,IC君会对文章进行修改和补充。

最后希望大家在项目执行过程中不要犯这些错误,轻松愉快地流片成功!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5319

    文章

    10713

    浏览量

    353266

原文标题:如何做一个”失败”的IC项目

文章出处:【微信号:icstudy,微信公众号:跟IC君一起学习集成电路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    protel有些地方布线很粗壮,是怎么布出来的??

    `protel有些地方布线很粗壮,是怎么布出来的??如图`
    发表于 03-09 16:04

    WCH_Link RISC-V模式烧写CH32V203C8T6失败是为什么?

    重新更新固件,结果这个下载器就和之前那个一样也是下载失败->通讯错误->下载成功,已经彻底消耗我的耐心了,我甚至想骂娘了,这是什么东西?你们自己人都没用过吗?就拿出来更新
    发表于 09-09 06:34

    基于PlatformIO创建ESP32项目为什么失败

    基于PlatformIO创建ESP32的项目,选择arduino可以创建成功,选择espidf创建失败
    发表于 09-14 11:36

    STM32H753引导加载程序在SFU_BOOT_Init中失败为什么这样?

    我一直在尝试将 STM32H753 SBSFU 项目移植到 STM32H735G-DK。由于 SE_Init() 失败,引导加载程序在 SFU_BOOT_Init 中失败。这是
    发表于 01-06 08:51

    ESP-IDF-V4,4版本SmartConfig配网上报配网结果失败的原因?

    用ESP-IDF-V4.4,SmartConfig配网,设备可以拿到SSID和PASSWORD,但是设备上报配网结果失败报错。导致APP端无法收到配网结果
    发表于 02-15 07:11

    ad7490读出来结果后12位组成的数据不对,为什么这样?

    我用的是ad7490芯片,发现读出来结果中前四位表示的通道地址是对的,但后12位组成的数据不对,转换出的电压与实际值由较大偏差。请问为什么这样?
    发表于 12-08 06:40

    探究外包软件失败原因

    在写这篇文章之前,我阅读了几十篇关于为什么外包会失败的文章,我发现了很多所谓的“原因”。不过,我觉得他们都搞错了关键点,因为他们只从消费客户的角度来考虑问题。我将从双方的立场来剖析问题,告诉你隐藏其中的丑陋真相。下面,就让我们一起来探究这些原因吧。
    的头像 发表于 02-02 14:18 2156次阅读

    企业物联网项目失败的原因是什么?

    尽管物联网带来了诸多好处,但仍有一些项目未能达到预定目标。物联网项目很难管理,并且有一些突出原因经常导致此类项目失败
    的头像 发表于 07-26 10:46 3037次阅读

    数据科学项目失败9个最常见的原因

    本文总结了数据科学项目失败的最常见原因,希望能够帮助你避免陷阱。
    的头像 发表于 08-15 15:48 3352次阅读

    为什么大多数的物联网项目都会失败

    Toby McClean:我们在市场、分析师调查和用户反馈中看到的是,很多项目失败是因为他们没有明确的业务目标。他们着手实施物联网项目,其中唯一的目标是在没有考虑任何业务问题情况下收集数据。所以
    发表于 05-29 15:19 1079次阅读

    物联网项目失败的原因有哪些

    物联网是许多公司的战略重点,但根据2017年思科的一份报告显示,仅有26%的受访者认为有1个物联网项目取得了成功。这意味着,至少有75%的物联网项目失败了。
    发表于 12-14 09:59 976次阅读

    避免人工智能项目失败的三大措施

    为什么这么多人工智能项目失败了,企业领导者如何避免这种情况?需要打破三个领导陷阱,并说明成功的人工智能工作如何避免这些错误。
    的头像 发表于 01-05 15:39 1938次阅读

    为什么软件定制项目失败的概率高达80%?

    软件定制项目存在失败的可能,但是很多人都不知道,失败的概率高达80%以上,主要问题有:沟通不充分,预算太少,测试不到位,技术能力不足
    的头像 发表于 08-12 22:28 505次阅读

    FTP连接服务器失败的原因有哪些

      为了使网站能够在搜索结果中拥有较好的排名,站长需要对网站进行日常更新,而网站内容的更新,便需要用到网站数据文件的上传与下载,FTP是最常用的软件。有些站长在使用FTP连接服务器时出现连接失败,从而导致没有办法对网站进行正常的
    的头像 发表于 05-17 15:32 1.1w次阅读

    哪些因素会导致人工智能AI项目失败

    当分析人工智能(AI)项目失败的原因时,我们会发现,永远不会只有一个错误——业务和技术团队都有人工智能项目失败的不同点。本文将讨论导致AI项目
    发表于 08-30 16:35 335次阅读