一个芯片从构想到完成电路设计的过程是怎样的?

如果只是科普/大流程的话, 从199X年硅片的制作流程就没怎么变过, 唯一对芯片设计造成比较大的影响的是随着MOS管变小增加的Design Rule

6f4cf4545d84553881f97362729773c3.jpeg

我来简单的说一下模拟电路和数字电路设计/制作方面的差别吧:

首先明确一点: 所有的ASIC(Application-Specific Integrated Circuit), 也即应用芯片, 都是有一个Design的目的, 如果是在工厂里就是乙方提的要求; 在PhD生涯里就是老板布置的活...

要成功通关, 待我细细道来:

小怪. 数字电路电路图
推荐武器: Verilog


数字电路一般用Verilog写, 主要是因为方便(我才不告诉你我手动垒Standard Cell呢) . 比如说CPU级别的芯片, 动辄上亿的MOS管, 就算一秒画一个, 不计连线时间, 你得画38个月.

小怪: 数字电路仿真
推荐武器:VCS, MMSIM


写完了Verilog, 就要跑数字仿真了. 一般会用到Synopsys 的VCS或者Mentor Graphics的MMSIM之类的.
这个仿真非常快, 因为每一个MOS管都被看成是开关, 然后加上一些非常粗糙的模拟出来的延迟时间. 目的是看你写出来的玩意能不能正常工作.

小怪. 模拟电路电路图
推荐武器: Cadence (允许准确击打), SPICE(自由度高, 可长可短)等


这个就比较复杂了. 因为模拟电路的自由度非常高! 比方说, 一个MOS管在数字电路条件下就是一个开关, 但是在模拟电路里面, 根据栅极电压和电路结构不一样, 分分钟完成 开路-大电阻-放大器-电流源-导通各种功能.
所以呢, 模拟电路基本就得手画了.

小怪.模拟电路仿真
推荐武器: Spectre(精度最高), HSPICE, PSpice, HFSS等
最好跟打小怪.模拟电路电路图小怪用一样的武器.


模拟电路的仿真包括但不限于: 调节分压, 仿真, 模拟工作点等... 而且千万记住! 设计过程中, 精细(Swing <= 100 mV)的模拟电路要做噪声分析! 不然各种地方的噪音分分钟教你做人...

好, 现在假设我们有电路图啦~

数字电路的电路图长这样:

4de9d4dd7921500a257aa94975141c06.png

模拟电路的电路图长这样:
7a2d4f6268fb07349ac1d7d56d32d1a0.png
下一步, 就是要把这些东西变成实实在在的电路:

小Boss.综合电路:
推荐武器: Design Compiler (DC)


数字电路需要用到Design Compiler, Synopsys公司出的大杀器, 一招把Verilog转成Verilog !
这一步叫做Synthesis (综合).
综合出来的电路也是Verilog格式, 但是长这样:

2dffdf591a115b67d979ced4b7322063.jpeg

把一堆描述性质的语言转换成真正的Standard Cell (标准门电路)
Standard Cell长这样:

9d96159a4ea545de76fdf664a96753e8.png

小Boss.模拟电路Layout

必杀: 无. 但是血厚.
推荐武器: Cadence Layout Editor等.


模拟电路就比较烦了, 一般会手画, 大概长这样:
573295e703cacff1b66d545aa763f49e.jpeg
。。这一个是比较规整的Design, 来个不规整的:
e10c41a8429f0044c52d0d6e51e10a80.jpeg

师兄有云: 画模拟电路的Layout是体力活.

我表示师兄说的太对了!

小Boss.数字电路Layout
必杀: 向门神告状(DRC/LVS Fail).
推荐武器: IC-compiler, Encounter


数字电路接下来就需要Place and Route (布线)了. 一般这个步骤由IC-Compiler / Encounter 等工具来完成. 具体就是, 把综合过的Verilog 中的每个Standard Cell找到对应的Standard Cell Layout, 布置在用户指定的范围内, 然后自动连线.

这个自动连线就很讲究:
自动布线要先连时钟信号, 然后连电源网络, 最后连其他的数字信号等.

时钟信号默认会使用双倍线宽, 如有分支, 尽量使用对称的结构;

然后使用用户的方式架设电源网络. 为什么叫电源网络呢? 因为一般片上的电源长这样:

4f112bd6f5db7114ebdf0ccc5a2fc79d.jpeg
power net 这名字不是白起的...

自动布线就不展开讲了... 学问太多了(主要是制作工艺...)

之后, 还有一个很重要的步骤:Filler Cell

什么意思呢?

数字电路的Standard Cell放完了, 连好线了, 大致长这样:

74d785aad6ed9f438dc28b7888a41fc6.jpeg
图中的那几个淡蓝色的Cell就是Standard Cell, 连线未显示.

你要敢把这个Design交到Fab去做, 人家分分钟咒你死全家.

为什么呢? 打个比方: 我想让你帮我剪一个窗花, 给你一张A4纸(大概58800mm2), 然后说, 我想要剪个窗花, 但是窗花的总面积不要超过1mm2, 最好还要有镂空, 有个人.. blah blah blah...

恩. 差不多一个意思..

所以为了让厂家和你不要那么难过, 需要在片上没东西的地方加上Filler, 也就是长得像Standard Cell但是里面就是一坨没有连线的金属和轻掺杂层的东西.

之后, 两大门神决定了你能不能提交:

门神1: Design Rule Check (DRC)
必杀1: Area XX too small
必杀2: XX to XX must be greater than or equal to 0.038
必杀3: ...
推荐武器: Calibre RVE, ASSURA, 仔细检查+喊师兄帮忙


每一招都对应的是(由于技术原因或者安全原因)无法被制作出来的部分.

反正招招必死. 想击败他必须一招都不能中(No Design Rule Violation).


门神2: Layout Versus Schematic check (LVS)
必杀: Layout does not match Schematic.
推荐武器: Calibre RVE, ASSURE, 喊老板帮忙


恩. 就是确定你画的这个奇形怪状的Layout跟一开始的电路图是对的上号的.

虽然此门神仅有一招, 但是这招千变万化, 难以招架.

两大门神都开心了之后, 你就可以把你做出来的这个Graphic Database System II (GDSII) 文件交到厂商的手里了.

附: Synopsys 武器一览:
463cd51efd2f6ed28967645d3b6ff3b5.jpeg

Cadence武器一览:

374c95e8e4391af86f94878b36c42f47.jpeg

70bf79a328d28c488a9116c00567f311.jpeg

3952d79815713fbb539a09ea77b6a9b9.jpeg

9cbc20083e5cb7711f5e03e0ea29491e.jpeg

21848f3dd936a34f6884a8dc45a82289.jpeg



从Fab回来以后, 战斗还没结束..

Boss.Bonding & Packaging(封装)
必杀: 两个pad黏一块儿了!!!, pad金属掉了!!!, 金属丝断了!!!.
基础武器: Bonding Machine


8fde35061a00d9956c4ff56ef10bbdc1.jpeg
凡人即使有武器, 挑战这个Boss也属不易. 需要花重金升级武器才行, 比如说:

f34e45c5c2c0d2776b7e264b935a60fc.jpeg
实在不行, 亦可祭出大杀器: 让厂商Bond!

这一步, 将芯片变成我们认识的模样:

从:

2f65e26cbcc3262a78f3689ed706cd03.jpeg

变成:
84e7dc8a3f4a61fb39de1eab03269743.jpeg
Boss.PCB Design
必杀: 信号太多, 面积太小; 驱动太弱, 电容太大; 烧Chip.
推荐武器:Altium Design, Eagle等.

做出了Chip之后, 就需要画一个配套的PCB, 将外围电路在板上搭建好, 或者引至其他外设等.

最终Boss.System Design
必杀: 此Boss神通广大, 一切外部设备都可以唤来作为必杀.
推荐武器: The best weapon is the one between your ears. USE IT.

最终, 我们需要这个芯片在应用中展现它的实力, 所以一个不满足需求的芯片就是渣渣。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电子课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值