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

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

3天内不再提示

模拟IC设计的这些坑你都踩过吗?

Spinal FPGA 来源:速石科技 2023-03-06 15:51 次阅读

如果说数字IC像科学,那么模拟IC,就更像是一种魔法利用计算机来辅助模拟芯片设计,本质是在解一道又一道高阶微分方程题。

EDA工具就是干这个的,ta的价值,就不需要我们来解释了。

而我们今天的主题是:模拟IC设计不同阶段有哪些典型的业务特点,使用的EDA工具有哪些特性,我们如何利用计算机技术提升不同业务场景的计算效率,协助模拟芯片工程师更高效地完成芯片研发工作,提升整体效率。

本篇主要从EDA工具的计算任务视角出发。

而在计算角度之外,调度/管理/数据/协同/CAD等视角,那就是另外的(价钱)篇章了~ 先给大家一个模拟芯片设计全流程分析图:

57317f5e-bbd5-11ed-bfe3-dac502259ad0.jpg

1、前仿阶段:前端电路设计仿真

本阶段包括了设计需求/说明书架构、原理图输入、前仿结果比对设计需求3大步骤

前仿阶段本质上是数值计算,因此对主频要求很高,一旦资源无法满足,会直接造成CPU过载,且任务之间独立可切割,十分适合并行

基于设计图的设计与仿真,参数范围较少,对内存要求不高

此阶段多为多corner与蒙特卡罗Monte Carlo任务,峰值算力需求较高,存储需求一般。

2、中期:版图设计验证

本阶段包括版图设计、版图规则检查DRC/LVS两个步骤 版图绘制/验证同属规则检查,因为不涉及数值计算,对主频要求不高,重内存需求。

版图可以模块为单位进行切割,子任务间几乎无数据关联、适合并行。但版图检查量十分大,算力需求比前仿高推荐使用多核+大内存机型存储要求最高

3、后仿阶段:后端仿真

后仿包括寄生参数提取、后端仿真、GDS文件形成

后仿和前仿类似,多个任务可进行分布式处理。

但后仿阶段任务,因为有可能涉及电磁场仿真,本质虽为数值计算,但需在优先满足内存情况下,再满足高主频需求,因为加入了各类元器件的寄生参数,算力需求是三大阶段里最高的,存储比前仿要求高,有时会与版图阶段相当。

下图是我们某客户全生命周期月度算力实际用量曲线,可以看到后端的波峰相当明显

5752bca0-bbd5-11ed-bfe3-dac502259ad0.png

以下,我们选了三种典型场景,展开说说:

两大超常见数值计算场景

多corner又称为多工艺角,和蒙特卡罗Monte Carlo属于两种不同的电路性能与工艺误差的估计方法本质上都是数值计算,前仿和后仿都会大量使用这两种方法进行任务处理。

这两种方法里的单个任务间都独立、没有数据关联,不论是多corner 还是Monte Carlo都很适合进行
分布式并行计算

多corner是将元件的电阻、温度、电压等参数的误差上下限固定后,取每个参数的极值(误差上限或误差下限)进行排列组合,每一个组合都是一个独立的任务。

一种组合就是一个corner,全部的排列组合即多corner。

这就像你来到一家二选一奶茶店。这家店奶茶店的甜度、热度、加多少配料都只提供两个选择,你要么选择不甜,要么最甜。你每喝一次无非都在这些选项里排列组合(2*2*2种),比如超多糖、烫嘴、超多料;下次你换一种排列组合,无糖,多冰,无料;所有选项的排列组合全点了,那就是多corner。

蒙特卡罗Monte Carlo则是在上、下限之间无穷尽地取值进行排列组合。

这次你来到了一家新的奶茶店,名字叫无穷∞奶茶店,选项完全定制化。你可以在选择任意一个值,比如第一次你喝的是3分甜、少少冰、不加料;下一次觉得不够甜,不冰,你点了6.6分甜、7.8分冰、加两颗珍珠。

这样就会有出现无数种排列组合的奶茶,这就是蒙特卡罗Monte Carlo了。

可取无数个组合的蒙特卡罗Monte Carlo可以用来估算良率的范围,随着取值组合越多,对工艺偏差导致的误差估计范围越准确,对实际的成品良率预测范围越准确,当然计算量也会成倍提高。

不管是哪家奶茶店,这杯奶茶与那杯奶茶之间互相独立,你喝你的,我喝我的。

这就是多corner和蒙特卡罗Monte Carlo任务特别适合分布式并行计算的本质原因。

不同任务,你算你的,我算我的,分开算,人多力量大。 不论是前仿还是后仿阶段,都需要大量多corner与蒙特卡罗Monte Carlo仿真。

两者相比,蒙特卡罗Monte Carlo仿真因为取值选择多,组合多,计算量明显比多corner大。 而前仿和后仿之间,后仿因涉及更多的物理参数,两种算法的计算量都会呈几何倍增长,算力需求也更大。

整体来说,这两种数值计算方法任务间独立,算力需求大,是我们帮用户提高效率的典型场景之一。

“大家来找茬”之版图验证任务

版图设计,就是把设计好的电路原理图变成包含实际布局布线规划内容的掩模版图,设计师每天在电路图上画花花绿绿的MOS管,确定要用多少元件、用哪种排列方法,在保证芯片电气性能的前提下,怎么跨层使得芯片体积最小、最省钱。

版图验证就是把画好的版图和原理图进行比对,确保两者的拓扑连接关系一致,同时检查版图是否符合foundry的设计工艺

版图设计与验证,就像是在玩一个“大家来找茬”的游戏,首先几个版图设计师先一起把这张图分工合作给画出来。到了版图验证阶段,就开始正式玩找茬游戏了。目的是检查版图有哪些地方不对,有问题的话,打回去重新画。画完再继续检查,循环往复。

如果使用“小F影分身术(版图分割术),可以把小F分为9个影子,每个影子只需负责找茬九分之一个版图,影分身的数量越多(版图切割的任务数)越多,分配的资源数越多,单位效率越高(当然,版图大小有个物理上限,没必要走极端)。 更重要的一点,切割版图与找茬任务之间互不干扰,你改你的,我改我的。你改完了重新提交下一轮,也不影响我还在上一轮。中间也不用因为等待而停工。

579b28b4-bbd5-11ed-bfe3-dac502259ad0.jpg

切割版图并合理分配资源的检查方法,可以让版图设计师无需苦苦等待一台计算机对单个大版图各部分逐一检查,而可以让多台计算机并行检查同一张大版图的不同部分,并自动汇总结果

这样一来就能更快地完成任务。 版图、原理图对比与设计规则检查同属检查类任务,都是以模块为单位,本质上是数据对比工作、重内存需求、子任务间没有数据关联,是一种高并行度任务。

因此这一阶段很适合在云上使用内存优化型资源,通过暴力堆资源的方式快速完成任务。

模拟电路王冠上的明珠--射频电路

射频芯片作为模拟电路王冠上的明珠,一直被认为是芯片设计中的“华山之巅”。

一方面因为射频电路的物理形状和周围介质分布会对射频信号的传输造成很大影响,因此设计之路十分困难,前期需要进行大量仿真测试,而且为了保证高频性能,材料的选取也十分讲究,比如砷化镓和氮化镓

另一方面,为了保证射频芯片各类指标的性能均衡,很多指标的性能要求都需要挑战工艺极限或设计创新性的电路结构,十分考验工程师的经验积累。

射频需要使用电磁场仿真,需要计算三维空间向量

如果说版图是将二维世界切成一片片的,那射频就是将立体空间切成一粒粒的,当然更具挑战性,算力需求也会呈指数级增加。

57b0d3bc-bbd5-11ed-bfe3-dac502259ad0.png

当遇到CPU无法满足的情况,不妨尝试使用GPU处理,他们可是处理向量计算的一把好手

目前射频电路电磁场仿真的三种常用软件分别为:HFSS、EMX、ADS

HFSS处理智能制造/汽车制造场景下的电磁场仿真较多、也支持部分芯片设计场景,EMX和ADS处理芯片设计场景的电磁场仿真更为广泛。

其中,HFSS和19版之后的ADS支持GPU处理电磁场仿真任务,且通过并行化处理后,效率提升十分显著;EMX作为Cadence里的万能插件暂不支持GPU任务。

关于计算量级的本质

单模块、多模块和top级任务是三种计算量级的任务,从字面上就能猜到单模块任务,计算量最少;以此递增,top级任务计算量最多。

57e30ecc-bbd5-11ed-bfe3-dac502259ad0.png

单模块任务指的是单一模块的任务,比如单层上的某个元器件就是一个单模块任务,计算量级最小,可能可以继续拆,也可能是最小不可拆分任务;

多模块任务指的是多个单模块合并在一起的任务,比如一层上的多个元器件组合在一起的模块,计算量级中等,可将多个模块拆分进行多线程处理;

top级任务,字如其名,是整个芯片设计阶段最大规模的仿真,将整个芯片的全部功能模块聚在一起,做全功能验证。top级仿真是在顶视图下的一整套前仿或后仿,算力需求最高。

如果涉及到进工艺(28nm以下芯片),更小的空间,更多的模块,更复杂的PDK工艺库,计算量呈指数级增长。

而且先进制程芯片后仿时还要做IR Drop的独立性检查,是SignOff的一个必要步骤。业内在该步骤使用的工具大多为Redhawk,和DRC/LVS的算法流程基本一致。

关于模拟IC设计,从不同设计阶段的计算任务视角出发,我们总结了三点:

1、三大阶段的算力需求呈现前期<中期<后期的趋势。和波谷相比,峰值算力最高可达到百万级别,使用弹性云端资源可以高效且动态地满足峰值需求;

2、多corner、蒙特卡罗Monte Carlo以及DRC、LVS这类任务,非常适合直接用多机并行来提升任务效率;

3、基于单模块不可拆的任务,虽不能做到多机分布式处理,但可以通过上大内存、高主频机型,靠机器的性能实现任务效率的提升。





审核编辑:刘清

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

    关注

    7

    文章

    163

    浏览量

    29186
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102961
  • EDA工具
    +关注

    关注

    4

    文章

    252

    浏览量

    31287
  • 模拟信号
    +关注

    关注

    8

    文章

    962

    浏览量

    51847
  • PDK
    PDK
    +关注

    关注

    0

    文章

    14

    浏览量

    7589

原文标题:模拟IC设计的这些坑,你都踩过吗?

文章出处:【微信号:Spinal FPGA,微信公众号:Spinal FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用STM32采集电池电压的那些

    本文来解析一个盆友在使用STM32采集电池电压。以STM32F4 的ADC属于逐次逼近SAR 型ADC为例进行分析,参考STM32F405xxDatasheet,对于如何编写ADC程序就不做描述了。
    发表于 03-01 07:39

    开发STM32 USB HID

    记录一下 开发STM32 USB HID一、前言二、代码配置一、前言MCU: STM32F103C8T6CubeMX: STM32CubeMX 5.3.0二、代码配置引脚配置时钟树配置我
    发表于 08-24 07:15

    使用树莓派搭建stm32开发环境以及碰到的问题

    使用树莓派搭建stm32开发环境了很多,下面主要是记录一下,以及碰到的问题。##开发方式的选择1.使用Eclipse+GDB+O
    发表于 08-24 07:47

    有没有关于STM32入门经验分享

    有没有关于STM32入门经验分享
    发表于 10-13 06:52

    NodeMCU开发板经历分享

    写在前面今天入手了一个NodeMCU的板子,准备学习一下物联网相关的知识。不过由于博主学艺不精,在第一步烧写固件上就了,所以就想着把自己的经历写出来分享给大家,希望能有一些帮助
    发表于 11-01 07:55

    Linux学习过程与如何解决

    Linux记录记录Linux学习过程与如何解决
    发表于 11-04 08:44

    电源设计容易和线性稳压选型过程

    前文提到了一些线性稳压的主要特点,本文作者将结合NXP智能车大赛实际案例,说一下电源设计容易和线性稳压选型过程。文章目录主要参数输入电压输出电压主要参数在为实际应用电路设计电源的时候,首先要
    发表于 11-12 07:54

    移植debian系统

    基本的linux系统,板子的交叉编译器是arm-linux-gnueabihf-gcc,这给我带来了不少的麻烦,以至于想重新移植一下debian系统。ok,转入正题,说说这两天我吧。首先...
    发表于 12-14 08:42

    STM32编程常有哪些?

    STM32编程常有哪些?
    发表于 12-17 06:15

    使用MDK5时出现的一些error分享

    使用MDK5时出现的一些error分享
    发表于 12-17 07:49

    记录写SAM4S的bootloader所

    记录写SAM4S的bootloader所
    发表于 01-24 07:16

    总结一下GD32F13x移植

    奇奇怪怪的问题,下面总结一下。第一次移植GD时,没有完全移植,只是部分外设移植,导致配置混乱。STM和GD在寄存器命名上有区别,部分寄存器GD专用,导致配置困难,所以,最后进行了完全移植。GD和ST的一些差异执行速度差异
    发表于 02-11 07:54

    关于RK1808板子调试过程记录

    关于RK1808板子调试过程记录
    发表于 02-16 06:38

    STM32G070CB cubemx串口调试哪些

    使用G070CB时写的中断程序是怎样的?STM32G070CB cubemx串口调试哪些呢?
    发表于 02-18 06:08

    【国民技术N32项目移植】汇总一下我的那些

    【国民技术N32项目移植】汇总一下我的那些国民技术与电子发烧友联合举办的N32 MCU移植挑战赛,从10月份开始报名,到现在已经持续好几个月了,现在马上就接近最后交作品的日期了,我也要赶在
    发表于 02-28 16:42