14

棋子 · 2022年06月29日

关于大芯片与小芯片设计的一些思考

image.png

关于大芯片和小芯片设计的一些思考

原文链接:博客
作者:charlie_zhang
非常感谢前辈的分享~
本文来自: IC媛

1.大芯片的三个层次

如果一个应届生,进入大型团队中,如果不进行深入的思考,或者力度不够,仅仅被项目schedule推着向前走。

a.参加架构讨论,似懂非懂,更多记住了结论,去实施;

b.主要精力在集成上,然后集成方案画图,各自review,最后实施集成,利用平台工具脚本,陷入其中不能自拔;

c.过了很久,能够达到3个层次。

层次1

特别适应大厂的工作节奏,善于集成。利用各种工具去集成,对方案背后原因略知一二,对基本的RTL设计技巧略知一二。

层次2

  • 仍然适应大厂节奏,但对方案理解较透彻,但无法高屋建瓴融汇贯通;
  • 由于写了较多的IP,且接触了成熟高效的做法,所以对RTL技巧较熟练,由于较专一,比小厂熟练的RTL coder考虑更加全面细致,配合各种来自SoC的需求,例如test/debug/robust 等。

层次3 

RTL code达到层次2的水平后,没有多少上涨空间了,优势不在RTL code,而是对标准协议,架构的理解非常深刻,且融汇贯通;

能够站在产品的高度往下看,对应用场景,架构方案设计权衡取舍游刃有余,支持芯片全周期(bring up,测试,量产,失效分析)且对设计风险有敏感的认识,能够组织把控风险,这点对于芯片设计非常重要

2.小芯片三个层次

如果一个应届生,进入小型团队,小规模芯片中,也会有三个层次。

层次1

  • 对于基础概念都不牢靠,似是而非例如对于基本的亚稳态都理解不到位,对异步处理理解也不透彻,只要涉及较subtle的东西都模棱两可,工作处于应付状态,思想处于神游状态,仅能够支持一些基础简单的事务性工作。
  • 例如这个寄存器什么含义,去查IP文档,费劲力气或者在外部支持下才解决一个常规问题,没有沉淀总结思考。

层次2

  • 基础概念理解透彻牢靠,负责IP的设计,负责SoC子系统的集成与设计,参与制定方案并实施,对其中的细节特别清楚,但由于需求原因,设计完备性,各种corner考虑略显不足;
  • 由于复杂性不高,对鲁棒性设计高亮不够;由于不需要较复杂的协议,架构,所以数字设计水平停留在这里,主要是因为需求不高;
  • 但由于接触了不少中后端,模拟,原型验证,实验室调试等工作,所及技能树会很杂,缺乏highlevel思考统筹的能力,陷在底层解决具体问题,而这些问题在大厂里都是有专门的岗位去做,会把这些基础工作都做到很完善,总之只有较少时间去专注数字相关的协议,架构设计;
  • 较多的精力去解决杂散的问题,每个问题阈值都不高,但挡不住问题多,所以看起来很忙。

层次3 

在长时间处于层次2以后,意识到问题了,因为层次2无法保证芯片的质量,疲于应付,培养了几个骨干去对几个方向处理常规性事务后,终于回头思考一个问题,如何保证小型芯片的成功,这个才是核心竞争力。不是ACE总线,虚拟化,片上高速互联网络,最新的服务器架构。那是什么呢?首先必须经过层次2,这样在各个方向上都积累了足够的经验,但是又能从中脱离出来,对如下问题深入研究:

  •  典型模拟设计的架构,typical电路结构所能达到PPA,不去纠结过于细节结构优化,但应对背后设计的基础理论相当熟悉,例如稳定性分析相位裕度,以此知道模拟需要做每种仿真的目的都清楚,并且很全面。例如LDO稳定性仿真时,知道除了外部电容外,整个数字cell寄生电容都是其负载。即从high-level看待模拟设计。在理解模拟之后,会结合要实现的具体需求,灵活的对模拟,数字,软件功能进行划分,使得设计复杂度,成本,功耗之间找到最佳平衡点;
  •  从用户角度考虑问题,保证好用,充分和软件沟通,充分理解终端客户的使用习惯,例如调试器,一个健壮高效的调试器能够简化客户开发过程;例如一个简单硬件功能的添加与软件配合后大大提升了效率;
  •  一些简单IP feature烂熟于心,对他们的典型使用场景非常熟悉,不会因为数字设计简单而排斥,因为看到最终用户使用时发挥的巨大作用。例如PWM,从数字设计角度会吐槽,这个有什么很简单嘛,一些小的feature一点难度也没有;但是这些feature客户用起来能够灵活的控制电机,灯...各种东西,这其中会遇到很多具体细节的问题,正是依赖数字一行小小代码改动而实现的;
  •   一些较复杂的IP,例如sdio/usb等,不会因为其相对复杂性而排斥,能够highlevel理解其协议的初衷与能力,能力是通过软硬件结合实现的,对这些IP出现问题 时能够给与工程师以指导,必要时亲自debug,快速解决问题;
  •  站在品质测试角度思考问题,多站一会,体会其中的方法论哲学 
  •  对于ESD latchup等基础问题也要多揣摩思考,把半导体物理拿过来当作兴趣多看看 ;
  • 对于TO之前的关键阶段,多想问题:在数模混合仿真的基础上,每个人的checklist等通用方法学外,多想想是否还有什么漏洞,或者没有检查到的地方和下面工程师反复推演,增加checklist item。

3.总结

大芯片总结

  • 很明显大型数字芯片重在逻辑的复杂性,因为牵扯到复杂的协议与架构,要满足PRD,架构设计是很关键的,要平衡很多东西,包括团队的能力,已有经验的继承, 可实现性,TO的窗口,PMIC的限制,一个优秀的架构师是在既有条件下平衡各方约束,给出一个解决方案,就类似要设计一款优秀的航空发动机,几十甚至上百个子系统之间相互牵扯关联,每个子系统目前积累水平高度不一,有的短时间都无法实现突破,但项目仍需要向前推进,在资源足够情况下,各个子系统多去研究摸索实验他们的工作规律,可行性方案尝试,等待稳定后集成进入系统,然后与其他子系统打磨,甚至再走回头路。
  • 可以深入去研究子系统,或者若干个子系统相互协调的优化控制,例如CPU,NoC,DDR,Camera之类;或者单纯对高速接口进行定制化研究,使得其性能在specific需求下得到优化,而不是general东西。

小芯片总结

  • 而小型芯片重在每个细节的打磨,虽有权衡,但相对独立。
  • 小型IP feature 准确定义,每行代码都细扣以降低成本且满足市场需要;模拟数字软件和合理划分,特别是他们之间耦合工作过程;关键模拟模块的成本性能优势,例如在成本控制下得到设计PVT偏差较小的OSC电路;一致性好,耐操且精度良好的ADC;低功耗的成功也很大程度依赖快速起振的OSC,弱LDO的工程校准能力,模拟模块standby/running 低功耗设计。

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10967
内容数
1216
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息