非资深业内人士的芯片物理设计扫盲

  • 听弦
    刚刚逛论坛,发现了一个资深业内人士关于“fabness”的海思陷入困境困境是因为它没有技术含量,只是从别处买来“芯片设计图”做饭似的混在一起再让厨房炒出来。。。看得我哭笑不得。好吧,下午开会的间隙开帖来讲一下芯片物理设计扫盲吧,定位科普性质,尽量不涉及很容易唬人,类似Fabness这种看起来好像很高深的专有名词,也只做概念性的模糊介绍,毕竟物理设计方面稍微的谈得深入一些的话难免牵涉到各方面的敏感信息。而且D版来自各行业各领域的键盘高手太多,我作为一个假的资深业内人士,肯定不够资格侃侃而谈的。毕竟是一时兴起,想到哪里写到哪里,也许看起来会很凌乱。

    怎么开头呢?倒着来吧,首先你想要自己的芯片最后长成什么样子,什么形状什么尺寸?大家应该都知道尽管晶圆本身是圆形的,这是我们的晶体生长理论决定的。为了晶圆利用率的最大化,几乎所有的芯片都会是四方形的。但是,也不是你想要形状大小就可以的。比如台积电,就提供了很多预定义的参考尺寸,学名叫做G...算了不提专有名词。这个参考尺寸也不是说完全就不能动,但这是很多后期约束共同决定的,你得配合着人家来。同时芯片的最终尺寸约束一般有两大方向,大家可以理解成尺寸优先和引脚优先。尺寸优先很容易理解,谁都希望把芯片尽量做小一些。但也不是多小都行,既要考虑前面说过的参考尺寸,同时也要考虑有没有足够的空间把所有的引脚都拉出来,这在最顶层决定了后续的物理设计方向。

    现在大家看得起的芯片,集成度基本上都是及几十上百亿个晶体管了,这种规模没有什么工具可以一口气把全芯片的电路描述全吃进去,然后给你吐出可以给你拿去流片的版图了。你需要把全芯片给拆小了来分开来做物理设计,比如天然的按照不同的功能模块来分,其实大部分的主要功能模块也都太大了,自己也要继续往下拆得更小点。当然也有很多小点模块我们可以把它跟别点大块合并起来。当然你还要考虑很多约束因素,比如内存控制器的物理层因为片外引脚太多,你就得把它靠做旁边放。块头最大的呢我们一般得把它摆在靠中间,不然免得没地方放了。同一个功能模块的不同部分我们也尽量把它们摆在一起,连线太多隔得远了会导致很多麻烦。如此种种,你就有了最初期的全芯片布局。然后,魔法就开始了。

    现代全芯片物理设计中,最依赖个人经验而非机器工具的就是全芯片布局布线了,上面提到的那些小块,在一定程度上都能把它们捏橡皮泥一样的挤扁拉长,很多时候根本就不是正经的四方形,毕竟针对下一级的子模块并没有参考尺寸一说,现有的工具也能比较从容的随便收拾。但是你要面对的是几十乃至几百个都有一定灵活度的小块,怎么把它们最优化的摆到一起那就是一门艺术了。而且偏偏到了这一步绝大部分布局布线的改变都可能需要几天或者几星期工具运行时间,因为这里面各种约束条件是天文数字。这一步也是芯片设计的劳动密集型步骤。 这里面最狠的当属Apple,A系列处理器里面有几版把全芯片布局放大了看,里面能看到明显的不规则边缘,那不是大规模工具生成的成果,而肯定是难以想象的人力和极其老到的经验优化出来的结果。这里的学问,大的很咧。

    到目前为止谈到都还只是总体设计,再往下就更复杂了,首先是分层,普通电路板一般双层4层,8层就已经很高端昂贵了。现代芯片的层数则多得多,包含很多个逻辑层,金属层以及一些特殊层,比如为了寄存器而专门设计的寄存器传输层。我得开会去了,有机会再聊吧。有心写这个只是希望能够起一点科普作用,对这个行业,能够多几分敬畏之心,不至于可以张嘴就来。

    ---------------------------------------------------------------------------------------------------------------------------

    D版真是越来越没有意思了,一知半解什么就都能张嘴就来的,真是好为人师啊。。。一起床看到这种评论忍不住又乐了,牙也不刷了,咱就来解刨一下这只麻雀。

    “ RTL (regester transfer level) 你竟然认为是某一种实际的层???

    大家退散吧,又一个一知半解的和fabness没有本质区别的小白。
    即使你在按摩店也是一个混子,鉴定完毕。”

    回复 80# mavers
    那除了rtl 还有什么叫寄存器传输层?
    这是教科书教的,也是行业约定俗成的叫法,没有第二个意思。你去问任何一个ic设计的人员都不会有歧义。

    ---------------------------------------------------------------------------------------------------------------------------

    一般的金属层上各种信号混杂在一起,电气环境比较复杂,对信号完整性,哦不,担心哪怕低概率的把0传啊传啊莫名其妙变成1了,对于一些特别敏感的部分比如寄存器啊,IO的信号传输,设计上可以单独的拿出金属层来专门给它们用,甚至于在层外还能够继续进行隔离保护,从而尽量保证不出错。这种设计呢,不是你想当然的RTL,而学名叫做RDL,全称叫做Re-distribution layer, 咱不仅竟然要认为它是某一种实际的层,还是挺重要的,挺普遍的技术。

    这里有一篇发布在IEEE的论文解释得更加详细,希望这位愤愤不平的朋友有机会看一下,https://ieeexplore.ieee.org/document/6176727还有问题吗?
  • n
    nanguaye
    3点几开会是什么行业,在哪个时区啊 iOS fly ~
  • p
    pigital
    回复2#nanguaye

    mark,学习了。
    lz是打入美的的按摩店大佬。
  • g
    galaxyhere
    在美国的资深大佬好,小白问个弱智问题,您文章中反复出现好几次的单词应该是fabness还是fabless?
  • o
    ouyuu
    看情况。逻辑区的问题基本就挂了,存储等其他区域有冗余设计 iOS fly ~
  • z
    zengdragon
    涨姿势,谢谢楼主。 会将白发倚庭树
  • 竹影
    回复5#galaxyhere

    fabless ,原文作者拼写错误。这个的意思是从fab延伸过来的,fab-less 就是无晶圆厂设计公司的意思。而fab是fabrication的缩写
  • 听弦
    如果我们什么都不干,很不幸这是真的有可能的。但是幸运的是我们在很多不同层面上有很多办法,最终使得即便是上百亿晶体管规模的芯片,总体良品率也能稳定在9x.x%
  • f
    fy883
    感觉有点像设计超级微型多层pcb板子
  • r
    rochester
    这才是地板应有的精神。同是业内人士的说
  • g
    ghostdsb
    再多科普科普吧,海思那么多人十几年苦心耕耘的成果,让这些人说的一文不值
  • j
    jiandanbill
    回复10#fy883

    你好 你是对的 就是密度要高很多 层数也多很多
  • v
    viaj
    前排吸收德味。HiPDA·NG
  • s
    scpj
    厉害 iOS fly ~
  • f
    forwhat
    就是如此。
    芯片不仅设计的整个思路像PCB,制造的时候整个思路也像PCB。
    所以,芯片设计这玩意说高深也高深,因为确实涉及面颇广。但也没有那么复杂,相较于电路设计,芯片设计的供应链短多了。
    芯片设计的门槛最大的是流片的费用问题。。。制程越高,则流片的一次性的费用越高。如果芯片流片的费用和PCB一样的话。。。
  • h
    hanbing135
    咨询俩问题 1.芯片上的局部功能模块能人工关闭吗 比如10M的存储模块能不能关闭其中的2M 2.如果有些功能模块是坏的 比如soc里面的GPU是坏的 有办法换么 还是这个soc就丢弃了
  • s
    secitou
    回复17#hanbing135


    1.理论上来说可行,如果客户有要求可以做这样的功能。
    2.SOC里面的模块更换是不能的,因为这个情况是一颗芯片上的一个BLOCK坏掉了,整个芯片都没用了。
  • m
    mijuu
    理论是这样,但量变已经导致质变了,整个SoC的设计方向和容错率都不一样,一件事情一旦追求到极致,必定要比平时多付出十倍甚至百倍努力。
    就像光刻发展到制程比激光光波还短,就不是成品率低的事情了。
  • w
    waterfish007
    假如做出来的cpu里面显卡模块坏了,还可以屏蔽掉当没核显的cpu卖吧。
    一开始我是拒绝的
  • n
    nahcoiii
    回复21#waterfish007
    可以,坏的部分电源关掉。 _(:_」∠)_
  • m
    mijuu
    你好像@错了。

    不过intel的很多es芯片就是屏蔽核显的,所以这种设计有实际案例。
  • l
    lanwater
    拿350高铁和120慢车相比更恰当。 iOS fly ~
  • l
    lanwater
    存储模块当然可以,在晶元制造后的测试和封装成品测试都有专门站别去测试模块的功能状况,这时候会烧efuse或写代码把坏的部分屏蔽。 iOS fly ~
  • l
    listtoyou
    你引用小蘑菇的帖子真是太抬举他了,小蘑菇看到后笑得合不拢腿
  • l
    listtoyou
    集成电路本意如此
  • x
    xiaomao88
    如果用alphago这样的ai工具来设计总体布局会不会有大突破?HiPDA·NG
  • b
    beyond291
    楼主,感觉一大波AK47键盘侠在路上
  • s
    sharpmaster
    我感觉未来肯定可以,因为这个地方的规则是相对比较固定的,有不少大的原则可以模式化,然后让他自己乱尝试,模拟运行,每个地方能不能点亮,发热多不多,不知道是不是这思路,然后人工从里面把不靠谱的方案扔掉?
  • j
    jumby
    回复1#听弦

    普通电路板4层。。。。你说我们动不动设计32层,36层板的。。咋想这句话?
  • o
    ovisland
    前排markHiPDA怪兽版
  • a
    abuyaoa
    楼主的科普深入浅出九浅一深 涨姿势了
  • 疯狂的馒头
    楼主辛苦了!
  • x
    xczy
    感谢lz科普。写得很好~ iOS fly ~
  • t
    tubage
    马克,科普不错
  • x
    xaviervon
    设计芯片真是太厉害了
  • m
    mslmz
    30多层板是用在啥设备上…
  • 烂人村村民
    把集成电路设计看一下就行,这行业比码农辛苦多了,也耗人工。当年我有个老师也画了三月的电路图就不干了,转行当老师,太辛苦了。
  • h
    hsri
    楼主是amd大拿,微波的微组装更是复杂,几十g的频率的芯片,硅基氮基异构芯片注塑再次互联。
  • h
    hookgao
    mark收藏
  • a
    abcbcafe
    回复4#jpcboy
    比如intel,生产时基本都是按i9来的,然后把出问题的模块屏蔽,根据体质又设定频率……就有了i3、i5、i7、i9……
  • g
    guangjian
    Mark一下
  • 油抹布
    估计快开完会了吧
  • k
    keetian
    回复17#hanbing135

    2就是典型的cpu问题吧,一个核不良就四核当双核卖,gpu不良当没有gpu的卖
  • j
    jumby
    回复38#mslmz


    交换机,路由器
  • B
    BRN
    先马克, 这是小尾巴
  • 雅典娜婀娜典雅
    非常需要 谢谢兄弟分享心想事成
  • z
    zy3242016
    mark一下,曾经只做过芯片里面的算法,对很多概念现在我都不清楚 iOS fly ~