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

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

3天内不再提示

如何在模拟芯片设计的不同阶段帮助工程师完成吟唱施法

智能计算芯世界 来源:速石科技 2023-02-15 09:57 次阅读

上一集我们已经说了,模拟IC,更像是一种魔法

我们深度解释了这种魔法的本质,以及如何在模拟芯片设计的不同阶段,根据常见的EDA工具特性和原理,从计算角度帮助模拟工程师更高效地完成吟唱施法

芯片设计五部曲之一 | 声光魔法师——模拟IC

第二集:数字IC

假如我们想要录制一段声音,模拟信号的做法是把所有的声音信息用一段连续变化的电磁波或电压信号原原本本地记录下来。而按照一定的规则将其转换为一串二进制数0和1,然后用两种状态的信号来表示它们,这叫数字信号

处理数字信号的芯片就是数字芯片,比如常见的CPUGPU

df2450b6-a862-11ed-bfe3-dac502259ad0.png

当声音变大或变小了,模拟信号都会跟着变化,所以模拟信号有无数种状态。状态之间微妙的差异,需要人的经验判断,有点玄学的成分

而数字信号永远只有0和1两种状态,信号的转换严格遵循逻辑关系,一个输出对应唯一确定的结果,程序完全依照输出指令执行,这是科学

数字IC设计工程师的设计目标:在PPA(Power、Performance、Area)三个指标上追求完美的平衡。

怎么玩转这门科学?

这,是一种艺术。

今天,我们就从资源需求、并行特征、数据敏感度等角度展开聊聊在数字芯片设计各阶段,如何利用不同EDA工具的特点,让数字芯片的设计研发效率获得显著提升

和模拟芯片相呼应,这篇还是从计算角度出发,至于调度/管理/数据/协同/CAD等视角,会在后面的文章里体现~(比如第三集

和模拟相比,数字芯片需要使用EDA工具的场景更多,IC工程师们对于计算机的使用天然比较亲近。但就跟《解密一颗芯片设计的全生命周期算力需求》一样,只负责某项工作的研发可能不关心,或者只了解自己的这部分,IT对业务所知有限,也不一定清楚。除非有大佬坐镇,大多数公司的日常大概是以拍脑袋经验论为主

我们先来看一下大画面,数字芯片设计全流程分析图

df38f2be-a862-11ed-bfe3-dac502259ad0.png

01

数字前端:前端设计/验证

这一阶段包含了规格制定、架构设计、RTL编码等步骤。 数字前端算法仿真和功能验证场景有大量中小任务并行,这一阶段,对于资源类型和用量通常无特殊需求。 不过需注意若大量使用现有IP通常没有算法仿真这一步。而且每家公司业务不同,算法仿真需求量差异非常大(下一集主角就是ta)。

02

数字中端:逻辑综合与DFT实现

这一阶段可分为逻辑综合、形式验证、门级仿真、ATPG验证等业务场景。 数字中端呈现单、多任务混合的特点,因为计算的输入数据中包含门延迟信息,输入数据变多,对内存的需求相比前端有一定增长。ATPG验证建议内存优化型,其他三种场景更加偏计算密集型。

03

数字后端:物理实现

这一阶段包括布局布线、形式验证、版图验证、寄生参数提取、后仿、ATPG验证、静态时序分析和IR分析等业务场景。 数字后端基本都是多任务,由于包含版图的寄生参数,信息量非常大,普遍需要大内存机器。其中,布局布线、后仿、静态时序分析、IR分析的大任务数量非常多,对主频也有要求,需要兼具高主频和大内存的资源

资源需求

后端>中端>前端,数字后端·真·资源黑洞

把数字IC设计前、中、后端三大阶段进行资源需求对比。

df6aaffc-a862-11ed-bfe3-dac502259ad0.png

可以看到无论是任务运算时间、所需计算资源、存储需求还是IP与输入数据量级上,数字前中后端形成了非常明显的阶梯结构,整体资源需求呈现前端<中端<后端的趋势。 这是由三个阶段的具体工作内容决定的:

数字前端,用RTL代码将芯片架构师的设计写出来,前端验证也主要是针对RTL的功能进行验证,偏逻辑功能

数字中端,需要将RTL代码综合成网表并规划、插入各种用于芯片测试的逻辑电路,需要加入Foundry厂提供的标准单元库的工艺参数,验证也到了逻辑门这一级。

数字后端负责芯片的物理实现,先将电路网表通过自动布局布线画成版图,再进行寄生参数提取,创建一个可以精确模拟数字电路响应的模型,这一阶段会加入版图的寄生参数

从代码到逻辑门电路再到物理层,随着阶段的演进,信息量逐级递增,计算时所需消耗的资源量也随之增加

而在28nm以及更先进制程下,包含的工艺参数更多,电路更复杂,前中后端每一阶段的信息量级还会被进一步放大。

哪怕前端RTL基本一致,中端和后端因为Foundry厂工艺参数更多更复杂,同样的代码计算量也是更大的。

换个思路,我们举个栗子

通过一个在数字前中后端都会出场的EDA工具来看看三大阶段的资源需求

VCS的主要作用是将Verilog HDL(一种硬件描述语言)转成C语言,编译出来并执行。作为一个翻译官,ta的工作量取决于双方对话的频率,以及需要翻译的文本量。

VCS在前端的功能验证、中端的门级仿真、后端仿真中都有出场,在不同阶段对任务资源的需求完全不同:

df92cbe0-a862-11ed-bfe3-dac502259ad0.png

从前端到中端再到后端,虽然VCS的工作性质没变,但整体来说,消耗的资源越来越多了。

综上,数字后端设计与验证环节相比中端和前端资源需求更高、运算时间更长、数据量更大,往往会占据整个项目周期资源需求量的50%以上。

下图是我们某客户全生命周期月度算力实际用量曲线,可以看到后端的波峰相当明显,详情戳:解密一颗芯片设计的全生命周期算力需求

dfa93baa-a862-11ed-bfe3-dac502259ad0.png

这也就意味着,数字后端对IC设计公司的压力相当大,能否在这一阶段获取充足的资源,是提升研发效率、保障项目进度的关键。

典型并行场景

静态时序验证&版图验证

并行度是我们评估任务能否通过分布式计算完成,提升效率的标准之一。 这里涉及到两个重要的判断标准:可拆分,互不干扰可拆分指的是,大任务可以分解为小任务,原任务目标不变。

互不干扰指的是,拆分为小任务之后,任务之间互相不干扰,可以不同步。

从前端到中端再到后端,任务数量越来越多。

任务的并行度决定了速度提升的空间。

静态时序验证:最常见且并行度较高

静态时序验证是最常见的设计场景之一,基本原理是检查各信号通路上经过的门电路,然后累加门延迟,求取整个路径的信号延迟。

沿信号通路求Delay Time的过程,就是沿信号通路不停做简单加法。

在静态时序验证过程中,有一个PVT的概念。

我们需要验证逻辑门在不同的工艺(Process)、电压(Voltage)、温度(Temperature)条件下的延迟。

首先,列出可能的条件,如:

工艺:TT、FF、SS……

电压:0.9V、1.0V、1.1V……

温度:-40°C、0°C、25°C……

随后,穷举每一种可能性,如:

PVT1=TT、0.9V、-40°C

PVT2=TT、1.0V、25°C

PVT3=TT、1.0V、0°C

……

最后,验证逻辑门在每一种PVT条件下的延迟:

dfd4dbf2-a862-11ed-bfe3-dac502259ad0.png

数字芯片中有着无数这样的逻辑门,每一个PVT下,逻辑门都有对应的Delay Time,而P、V、T之间可以有很多种组合,就会有很多个Delay Time的情况需要验证。

这一场景,天然适合暴力堆机器。

版图验证:最高并行度

模拟芯片和数字芯片,这一场景的原理一模一样,使用的EDA工具也完全相同。

版图验证属于检查类任务,以模块为单位,本质上是数据对比工作,重内存需求,子任务间没有数据关联,是数字芯片设计与验证中并行度最高的场景。

这一阶段很适合利用云上的内存优化型资源,使用“小F影分身术(版图分割术),通过暴力堆资源的方式快速完成任务。

dffdc7e2-a862-11ed-bfe3-dac502259ad0.jpg

关于版图验证,我们在芯片设计五部曲之一 | 声光魔法师——模拟IC》中有更详细的说明。

数据敏感度

前端>中端>后端,但是不用担心

我们按照数据敏感度从高到低的顺序给各类设计数据排了个序: RTL数据 > IP、PDK和版图> Netlist、Session、过程波形、归档数据和Report

好了,接下来我们看看这些数据都会出现在哪些阶段:

e0122b74-a862-11ed-bfe3-dac502259ad0.png

数字前端有大量RTL代码,甚至部分公司在此过程中还自己开发了IP,属于数据安全等级最高的那一拨。许多公司都会严格管理这部分数据,设置一定的保密等级,甚至固定放在某几台机器上。

中端则涉及到部分的RTL代码、IP和PDK数据,以及一些Netlist、Session和Report。

后端彻底告别了代码,以IP、PDK、版图和数据敏感度较低的数据为主。

如果你要做一款游戏,前端相当于游戏的源代码,中端是详细的角色形象设计稿,后端就是玩家拿到手的游戏光碟了。

e02b9744-a862-11ed-bfe3-dac502259ad0.jpg

前端泄密,恭喜你的对手达成“代码级抄袭”;

中端泄密,别人能照着样子把仿品做出来,但没有源代码参考,知其然不知其所以然;

后端泄密,等对方逆向明白,大半年时间也过去了,你的下一代产品已经在路上了。

值得一提的是,如果使用的是先进工艺,Foundry厂也会对IP/PDK数据有保密要求。

所以在选择云上业务场景的时候,我们一般优先推荐数字后端先来。当然,会根据每家公司的实际情况进行具体分析。(以后会写到,这次一定

那么,前端或者中端是不是就适合用云了呢?

甚至,在某些情况下,IC设计公司会面临全部数据无论敏感度高低必须存放在本地的情况,比如一些高保密项目(军工项目或国家重点项目),或者有点微妙的竞争关系,怎么办?

我们有针对性的存算分离解决方案欢迎来对号入座。

存算分离解决方案到底是什么?我们是如何实现的?扫描文末二维码关注小F,对暗号“存算分离”抢先了解~

这里还有燧原科技的一手体验,戳此先睹为快:【案例】燧原科技:芯片设计“存算分离”混合云实践

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

1、与模拟芯片相似,数字芯片三大阶段的资源需求同样呈现前期<中期<后期的趋势,但数字芯片需要使用EDA工具的场景更多,整体资源需求更大;

2、版图验证并行度最高,静态时序验证出场率非常高且并行度很高,都适合用暴力堆机器的方式提高任务效率;

3、数字后端往往会占据整个项目周期资源需求量的50%以上,兼具资源需求高、计算时间长、数据量级大,数据敏感度相对低的特征,是提升数字芯片整体研发效率的关键;

4、数据敏感度高?必须放本地?没关系,我们有解决办法。





审核编辑:刘清

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

    关注

    4

    文章

    266

    浏览量

    31764
  • 电磁波
    +关注

    关注

    21

    文章

    1453

    浏览量

    53794
  • 电压信号
    +关注

    关注

    0

    文章

    214

    浏览量

    13354
  • 数字芯片
    +关注

    关注

    1

    文章

    109

    浏览量

    18382

原文标题:干货分享:数字芯片设计全流程分析

文章出处:【微信号:AI_Architect,微信公众号:智能计算芯世界】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    新手走向电子工程师或者硬件工程师具备条件?

    我目前处于电子行业学习的初级阶段,想从事电子工程师或者硬件工程师行业,请问需要具备哪些知识,要学哪些东西?希望各位能帮助我成长
    发表于 04-25 11:24

    高薪诚聘IC版图工程师

    岗位职责: 1、根据项目要求熟悉相关代工厂的工艺设计规则及版图相关要求; 2、根据设计工程师的要求完成芯片各电路的版图设计; 3、参与模块版图会议,根据设计工程师的反馈意见修改版图;
    发表于 07-03 17:59

    资深工程师的进阶之道

    ARM嵌入式和单片机学习有着密不可分的关系,在学习单片机的过程中积累必要的学习经验和知识是非常有必要的,如何在这一过程中逐渐成为高级嵌入式工程师呢?本文将为大家介绍如何在学习过程中,积累成为高级
    发表于 09-27 15:15

    猎头职位:硬件工程师

    猎头职位:硬件工程师【成都】岗位职责:1.独立完成原理图绘制;2.撰写布局布线规则,协同layout工程师完成PCB绘制,并完成其评审工作;
    发表于 06-20 16:53

    诚聘硬件工程师

    猎头职位:硬件工程师【武汉】岗位职责:1、负责承担从原理图设计到产品量产的各阶段硬件工作,完成相关的项目文档和技术文档; 2、负责硬件产品维护以及硬件升级的设计等工作。任职资格:1、计算机、通信
    发表于 08-17 14:20

    全网首套且唯一一部全系列运控9点标定,帮助工程师快速完成机器视觉的职业进阶。

    ,你就越有打破它的必要。小编诚恳地推荐这门《labview+运动控制教程》,这是全网首套且唯一一部全系列运控9点标定课程,能帮助工程师快速完成机器视觉的职业进阶。可能你会问:1、哪些人群可以学习?需要
    发表于 07-02 10:23

    网首套且唯一一部全系列运控9点标定课程,能帮助工程师快速完成机器视觉的职业进阶。

    就越有打破它的必要。小编诚恳地推荐这门《labview+运动控制教程》,这是全网首套且唯一一部全系列运控9点标定课程,能帮助工程师快速完成机器视觉的职业进阶。可能你会问:1、哪些人群可以学习?需要具备
    发表于 07-02 13:55

    模拟工程师招聘

    参与IC产品的架构定义和Spec的撰写;2.负责完成相关模拟电路的设计,验证,测试,debug等工作,总结相关文档;3.可以完成自己设计相关模块的layout,或指导layout工程师
    发表于 08-10 19:23

    FPGA工程师需要具备哪些技能?

    在一定条件下的运行情况,来判断电路的正确性。经常使用的动态观测技术包括各种漏斗测试和信号探针。 仿真是FPGA工程师进行测试验证工作的重要方法。仿真可以帮助工程师确定是否有设计缺陷、时序问题或电流漏失等
    发表于 11-09 11:03

    IR新型SmartRectifier解决方案帮助工程师体验高

    IR新型SmartRectifier解决方案帮助工程师体验高效率 国际整流器公司(International Rectifier,简称IR)推出IR11672A SmartRectifier IC。新器件为节能AC/DC电源转换器设计,拥有先进的
    发表于 12-09 08:51 693次阅读
    IR新型SmartRectifier解决方案<b class='flag-5'>帮助工程师</b>体验高

    帮助工程师解决三个难题的iSimTM Active Filt

    帮助工程师解决三个难题的iSimTM Active Filter Designer设计工具 免费的在线设计工具提供了能立刻用到电路板上的、基于运算放大器的有源滤波器解决方案,
    发表于 04-21 13:55 839次阅读

    简化PMIC仿真设计 帮助工程师快速检查电路

    PMIC,Power Management IC---电源管理集成电路。正如题目所说,我们这篇文章会给大家讲一讲PMIC仿真,以及其如何帮助工程师快速检查电路。
    发表于 05-17 10:51 2487次阅读
    简化PMIC仿真设计 <b class='flag-5'>帮助工程师</b>快速检查电路

    RS Components 提供多种解决方案,更好帮助工程师探索智能互联工厂

    服务于全球工程师的分销商 Electrocomponents plc 集团旗下的贸易品牌RS Components (RS) (LSE:ECM) 提供了多种解决方案,帮助工程师探索智能互联工厂带来
    的头像 发表于 01-30 07:07 5889次阅读

    分享一篇关于硬件工程师几个阶段的事情

    不同阶段工程师,所做的事其实是不同的,今天就来分享一篇关于硬件工程师几个阶段的事情。
    的头像 发表于 07-04 15:19 4985次阅读

    振弦采集仪:帮助工程师准确评估结构健康状况的利器

    振弦采集仪:帮助工程师准确评估结构健康状况的利器 振弦采集仪是一种用于评估结构健康状况的重要工具。它能够准确地测量结构的振动特性,并通过数据分析和处理,提供有关结构健康状况的可靠信息。在工程领域
    的头像 发表于 07-05 10:41 228次阅读
    振弦采集仪:<b class='flag-5'>帮助工程师</b>准确评估结构健康状况的利器