Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GPGPU: C记 RTL 到Signoff 流程全解密

GPGPU: C记 RTL 到Signoff 流程全解密

作者头像
老秃胖驴
发布于 2021-07-20 08:29:40
发布于 2021-07-20 08:29:40
2.5K0
举报
文章被收录于专栏:陌上风骑驴看IC陌上风骑驴看IC

题记:7月15 号,浦东嘉里城,跟大神面对面,如果你还未注册可以dian点击链接注册:【上海线下】报名中!2021 CadenceCONNECT:异构计算设计——GPGPU完整解决方案

近年来,随着 GPU 在通用计算领域的高速发展,逐渐将应用范围扩展到图形之外,例如人工智能深度学习自动驾驶。这些领域的特点要求 GPU 在并行处理海量数据的同时提供更高的访存速度和浮点运算能力。

在这种计算密集度越来越高的情况下,我们也面临越来越严峻的挑战,比如在后端摆放和绕线阶段的拥塞问题,如何比较精确地在较早阶段考虑物理信息,提前预测 RTL 的质量,还有提前预测布局变得尤其重要;在并行同步的信号会增多,大量的矩阵运算引入的情况下,Glitch Power 占比会显著提高,如何在较前阶段去分析和避免 Glitch 功耗是我们避不开的难题;同时由于 GPU 重运算和流水线的设计加上众多旁路分支结构,OCV 影响会更加显著,如何评估和解决时钟上 OCV 是解决时序收敛的关键因素。

针对以上 GPGPU 面临的挑战和痛点,Cadence 提供了一整套从 RTL 到 Signoff 的全流程解决方案。

关键字:GPGPU 预测布局 Glitch Power OCV

概要

1

Overview of GPU

在谈论 GPGPU 之前,我们先聊下 GPU。GPU 即图形处理器,又称显示芯片,主要负责在 PC、服务器、游戏机和移动设备上做图像和图像相关运算工作的处理器。

GPU 内部组成一般包括图形显存控制器、压缩单元、BIOS、图像和计算阵列、总线接口、电源管理单元、视频管理单元、显示接口,从图 1-1 可以直观观察到:GPU 的控制单元比较简单,但是图像和计算阵列占据了 GPU 的大部分面积,其中计算阵列采用设计简单的逻辑运算单元,通过大量复用的方式来并行执行高强度的运算。

每个 ALU 单元都配有独立的缓存单元,同时还有统一的内存来实现多线程并行任务。因此 GPU 有着较大的吞吐量和并行处理数据的能力。

图 1-1 GPU 内部组成

1.1 从 GPU 的应用领域来看

图像处理器 GPU 作为芯片的重要组成部分被广泛地应用于 PC、高性能服务器、自动驾驶汽车和以智能手机为主的移动设备等。无论是在工作生活还是娱乐方面,GPU 都发挥着不可替代的作用,极大地方便了我们的生活。

图 1-2 GPU 类型

在不同的应用领域中,根据其工作特点,衍生出不同类型的 GPU,如图 1-2 所示,主要分为独立 GPU 和集成 GPU,独立 GPU 拥有独立显存,一般作为一个独立的组件封装在显卡电路板上,它的特点是性能高,具有较强的专业图片处理能力,提供较高的计算速度,所以独立 GPU 一般较多地应用于重计算的服务器、高性能游戏电脑、人工智能等;而集成 GPU 常和 CPU 共用一个 Die,共享系统内存。它的特点是注重能效比,即可以牺牲一定计算速度的条件下,尽可能地节省空间和功耗,这也是由便携式的移动设备一直追求的更轻更强续航能力。图 1-3 是关于集成 GPU 和独立 GPU 的对比:

图 1-3 独立/集成 GPU 比较

1.2 GPGPU 发展及未来趋势

近年来,在摩尔定律严谨的放缓和 GPU 在通用计算领域高速发展的此消彼长之下,通用图形处理器(GPGPU)逐渐反客为主,将应用范围扩展到图形之外,无论是科研教育、财务计算,还是在工业领域,GPGPU 都得到广泛的使用,关于它的科研成果和新应用模式也层出不穷,其主要应用和发展趋势主要分为以下两个方面:

高能效:

GPGPU 擅长处理计算密集型任务,但大部分应用场景都需要在满足计算或者图形处理的条件下尽量降低功耗。尤其是在核心数和工作频率,接口带宽不断提升的情况下,追求高能效是 GPGPU 未来发展的趋势。

人工智能和深度学习:

人工智能时代需要大量的多媒体与 3D 图形,所以更高的浮点计算能力意味着对图形与媒体的快速处理。深度学习算法需要处理海量数据,需要进行大量的简单运算。GPGPU 拥有较强的优势,第一,GPGPU 提供了多个并行计算的基础结构,可以执行海量数据的并行计算;第二,GPGPU 拥有更高的访存速度;第三,GPGPU 拥有更高的浮点运算能力。

2

GPGPU 所面临的挑战

就从 GPU 本身的特性而言,如图 2-1 所示,GPU 设计的高带宽、计算密集、管道/旁路等复杂结构往往导致后端放置和路由阶段出现拥塞问题。尤其是在前面介绍的 GPGPU 的未来发展趋势的情况下,设计的布局会越来越复杂,这会大大增加前端和后端之间的沟通迭代周期,所以在综合阶段提供一套高效的预测布局解决方案是目前 GPU 所面临的一大挑战。

图 2-1 GPU 高带宽特点

同时深度学习和自动驾驶对海量的数据进行并行处理的需求,使得 GPU 同时并行同步的信号会增多,加以大量的矩阵运算,Glitch Power 占比会显著提高,这类功耗常常和周围的环境有关,比如 Cell type、绕线等,如何能在较前阶段准确地预测和避免 Glitch 功耗是我们面临的又一挑战。

由于 GPU 重运算和流水线的设计加上众多旁路分支结构,时序路径上,数据通路长短差异非常明显,时钟树结构的要求会比较高,OCV 影响会更加显著,如何评估和解决时钟上 OCV 是解决时序收敛的关键因素。

3

Cadence GPGPU 解决方案

从 GPGPU 未来趋势和眼下所面临的挑战出发,Cadence 提供了从 RTL 到 Signoff 的一系列完整的解决方案,每套解决方案,都从全局出发,在解决每项挑战的情况下,综合考虑对其他指标的影响,实现性能、功耗和面积全面提升。

3.1 RTL 质量预测

对于 RTL 工程师来说,在 GPGPU 芯片结构越来越复杂的情况下,如何提前预测 RTL 最终实现的 PPA 是我们面临的最大挑战。

传统 Flow 中我们一般需要后端提供一个 Floorplan 给前端去做综合,基于 Floorplan 做完综合之后再传给后端,这就需要前端和后端进行不断的的沟通修改的迭代,大大增加了设计周期和人力资源。

基于此,Predict_Floorplan 应运而生,即在 Genus 中调用 Innovus 的 Floorplan 引擎,在前端给出一个合理的 Floorplan。这不仅可以较早去判断 RTL 的可行性,及时对 RTL 进行修改,并且简化了前后端的交互,大大缩短了迭代周期。与传统流程相比,这种解决方案在实现相同的最终平面布局情况下,可以减少约 80% 的设计周期。并且让前端工程师不用熟悉后端的相关知识,就可以提前预测 RTL 的 Timing-Power-Area 具体信息。

3.2 Power driven full flow

GPU 擅长处理计算密集型的任务,特别是随着核数、工作频率和接口带宽的不断增加,追求高能效是 GPGPU 未来的发展趋势。Cadence 提供了从 RTL 到 Signoff 的 Power Aware 全设计流程。其中需要重点指出是对 Glitch power 的分析和修复,Glitch 功耗在 GPGPU 总功耗中占据越来越大的比例,而这类功耗常常受周围环境的影响较大,Cadence 在综合阶段通过调用拥有强大的波形处理能力的 Joules,可在 RTL 阶段实现功耗分析和预估,并对早期网表进行 Glitch 功耗分析,实现早期芯片功耗评估。

3.3 时钟树 OCV

由于 GPU 重运算和流水线的设计加上众多旁路分支结构,时序路径上,数据通路长短差异非常明,如何减小时钟树 OCV 是实现时序收敛的关键。

Innovus Flexible H Tree 的优势是 H 型树在电对称和平衡线长前提下同时放宽了几何对称的要求,因此即使在布局受限的平面图中也可以实现自动合成。多抽头时钟树综合与灵活的H树功能完全集成,扩展了常规时钟综合,并在树的结构化顶部和时钟接收器之间保持平衡。它可以很好的减少时钟上的 OCV,更容易时实现时序收敛。

3.4 Signoff Fixing Solutions

Signoff 作为整个设计流程的最后一步,同时也是关乎芯片是否能够成功流片的关键,Cadence 提供了一套高效的 Signoff Fixing/Check Solutions,在Timing Signoff 方面,通过先进的技术可以对较多 Analysis View 的设计做智能处理,提供快速的精确的 Timing 分析和优化;在 IR-Drop 方面,实现了 Timing Aware 的 IR-Drop Fix;同时可以在在 PR 阶段进行 DRC/LVS Check,提高了整个 Flow 的一致性;对于越来越复杂的设计,Netlist 中常常会出现较长的 Data Path,Conformal 提供了一套完整的成熟的解决方案。

4

小结

本文主要在基于对 GPU 发展和未来趋势的分析,指出了 GPGPU 设计所面临的一系列挑战和难题。面对这些挑战,Cadence 提供了一套完善的从前端到后端的解决方案,解决了布局、功耗、时钟树 OCV 和 Signoff 所面临的难题。

如想了解更多,敬请关注在 7 月 15 日在上海举办的 Cadence GPGPU 解决方案研讨会。

关于 Cadence

Cadence 在计算软件领域拥有超过 30 年的专业经验,是电子设计产业的关键领导者。基于公司的智能系统设计战略,Cadence 致力于提供软件、硬件和 IP 产品,助力电子设计概念成为现实。Cadence 的客户遍布全球,皆为最具创新能力的企业,他们向消费电子、超大规模计算、5G 通讯、汽车、移动、航空、工业和医疗等最具活力的应用市场交付从芯片、电路板到系统的卓越电子产品。Cadence 已连续七年名列美国财富杂志评选的 100 家最适合工作的公司。如需了解更多信息,请访问公司网站 cadence.com。

© 2021 Cadence Design Systems, Inc. 版权所有。在全球范围保留所有权利。Cadence、Cadence 徽标和 www.cadence.com/go/trademarks 中列出的其他 Cadence 标志均为 Cadence Design Systems, Inc. 的商标或注册商标。所有其他标识均为其各自所有者的资产。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陌上风骑驴看IC 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
综合 | 分工,方法学可讨论的点
“分工”是任何群居生物的基本合作模式,最原始的分工目的无非是为了提高效率、最大化群体效益、提高群体存活几率。人类社会得益于“吃铁丝拉笊篱”的编故事能力,分工可谓五花八门,且不可避免地会受“人为因素”的影响,安陵容使尽了浑身解数,都给雍正下了迷情药也没得到“协理六宫”的职位!
老秃胖驴
2020/06/09
9380
综合 | 分工,方法学可讨论的点
SoC设计之功耗 – RTL/netlist功耗计算
书接上回,今天我们来聊一聊RTL级功耗计算的问题。上篇讲到有很多种低功耗设计方法,那么在项目中选择哪些来做呢?在抉择前如果有数据支撑那是最好,可以根据数据来判断要实现何种复杂度的低功耗设计。如果是迭代产品,可以参考上一代芯片的实测数据。可要是新项目呢?这时候就需要基于RTL做功耗分析了。
空白的贝塔
2021/09/08
3.1K0
SoC设计之功耗 – RTL/netlist功耗计算
从EDA 使用,捋数字芯片设计实现流程 | 实现
接着《从EDA 使用,捋数字芯片设计实现流程 | 上》和《从EDA 使用,捋数字芯片设计实现流程 | 验证》继续捋数字芯片设计实现流程,今天进入实现阶段,对于这一段驴只熟悉其中的综合、形式验证、低功耗验证、RTL 功耗分析、STA, 其他部分都是一知半解,故无深究,只捋流程。
老秃胖驴
2019/07/17
1.8K0
从EDA 使用,捋数字芯片设计实现流程 | 实现
在系统级优化功耗
功耗是一个无处不在的问题,如果不考虑整个系统,就不可能优化系统的能耗。在硬件实现的优化方面已经取得了巨大的进步,但这完全不够。
AsicWonder
2024/04/15
2690
在系统级优化功耗
详解ASIC设计流程
参考资料[1]博客首页[2]还记得去年应届生秋招,出身于FPGA的同学大多数都去找了IC前端设计的工作,由于都是逻辑设计,都是相通的,倒是没有什么问题,但对于IC的基础知识还是有必要了解一二。今天所讲的主题是ASIC设计流程,据回忆,这是笔试出场率很高的一个问题。且从我个人的经验来看,能清晰了解这一个完整过程的人寥寥无几。这里参考中外文以及互联网资料,写一篇ASIC设计流程文章供大家参考,文中有不妥之处,还望批评指正,谢谢!
Reborn Lee
2020/06/29
1.9K0
基于INNOVUS平台的云端训练AI芯片设计
近年来,随着人工智能技术开始广泛应用,大规模和超大规模逻辑复杂的人工智能(Artificial Intelligence)芯片设计需求日渐增加,后端物理实现在布局布线方面的挑战也随之而来。由于复杂的数据交互给传统的后端宏单元布局规划工作带来很大的挑战。在宏单元的摆放,绕线阻塞的评估和低功耗的实现等方面的难度越来越大,需要增加迭代次数来寻求最优方案,从而需要较长的设计周期。为了满足市场应用的需求,如何提高设计效率就成为AI芯片设计的一个重要课题。
老秃胖驴
2019/10/15
3K0
基于INNOVUS平台的云端训练AI芯片设计
DC综合流程
① 设计之前,准备好库、HDL代码的思想、约束生成;然后根据设计思想用 RTL 源码详细地、完整地为设计建立模型、定义设计中寄存器结构和数目、定义设计中的组合电路功能、定义设计中寄存器时钟等等的设计规格和实现。
数字芯片社区
2020/07/20
1.9K0
DC综合流程
谷歌会超越三大巨头垄断芯片EDA设计工具吗?
文章开头提到的谷歌研究论文题目为《芯片布局与深度强化学习 (Chip Placement with Deep Reinforcement Learning)》。文中研究人员针对芯片设计流程中最复杂耗时的布局布线阶段提出了一种基于深度强化学习的芯片布局方法,目标是将宏(如SRAM)和标准单元(逻辑门,如NAND、NOR和XOR)的网表节点映射到一个芯片版图上,从而优化功率、性能和面积(PPA),同时遵守对布局密度和布线拥塞的约束。
网络交换FPGA
2020/05/08
1.9K0
谷歌会超越三大巨头垄断芯片EDA设计工具吗?
place和routing流程
place和routing(P&R)过程是电子设计自动化(EDA)流程的关键阶段,它塑造了集成电路(IC)和印刷电路板(PCB)的最终性能和功能。这个错综复杂的过程包括一系列步骤,将高级电路设计转化为准备制造的物理表现形式。关键阶段包括前端设计、逻辑综合、网表生成、时序分析、物理实施以及place和routing的核心活动。每个步骤都遵循严格的准则,以满足电气和物理限制,确保电路符合所有操作规格。
AsicWonder
2024/07/12
2430
place和routing流程
一文懂 | 数字实现流程各步骤的输入输出
应某友人要求,写一篇总结数字电路实现流程各个步骤的输入输出文件都有哪些。本文所有输入输出都基于Cadence 数字实现工具,其他厂家对应工具需要的输入文件也都大同小异,驴只补充所知道的一些小异,未补充的不代表没有,只代表驴不知。通常在项目起始就需要跟各家vendor 搜集输入数据,故每一步将所涉及到的tech file 单独列出,因为所涉及文件种类巨多,难免遗漏错误,恳请广大驴友补充更正。
老秃胖驴
2019/07/30
1.3K0
一文懂 | 数字实现流程各步骤的输入输出
【日更计划122】数字IC基础题-功耗
静态功耗是电路中没有开关活动时消耗的功耗。它是漏电功耗。例如:打开电路时,由于电流流动,电池开始漏电。
空白的贝塔
2021/07/16
7650
如何在RTL级别电路建模优化congestion问题?
在最初芯片设计之前主要考虑PPA,即power、performance和area,但是实际项目中还存在仿真、测试及后端实现的问题。
AsicWonder
2020/06/11
1.6K0
Joules Xreplay
胖友们大家好,太久不见,大家都还好吗?发量减少了多少?脂肪堆积了多少?核酸码绿着吗?股票红着吗?大部分驴友都深陷在口罩围起的囹圄之中,辗转徘徊无可奈何却又不得不逆来顺受,接受这时代落下的粒粒灰尘,背负着转圈或是前行。遥想三年之前,我们踏海攀山远渡重洋去欣赏历史遗留的美好跟自然赠予的壮阔,跟陌生人聚在一起喝酒聊天畅想无尽的未来。如今,核酸码禁锢了一切,“病毒”扰乱了一切的秩序,每个人都成了“饿汉”只能顾着眼前,似乎今天的码还绿着就已是最大的幸运跟恩赐,连回家探亲这么理所应当的事都成了大逆不道贪得无厌,得谢深刻严肃真诚的谢!
老秃胖驴
2023/01/11
1.5K1
通过优化RTL减少功耗
随着各种消费类设备智能化的巨大增长,这些应用正变得更加以数据为中心data-centric和计算密集型computation intensive。从IC设计的角度来看,这增强了早已经存在的power vs area trade-off的挑战。
AsicWonder
2024/04/01
4520
通过优化RTL减少功耗
AI 在芯片设计方法学与 EDA 工具的应用
聊起 AI,画面都充斥着机械语言:精密高级的芯片,光怪陆离的智能产业……你眼中的 AI 有什么样的能力?能给传统行业带来哪些变革与发展?基于此,云加社区联手知乎科技,从知乎AI 与传统行业相关话题中精选内容落地社区专题「 AI 与传统行业的融合 」。
腾讯云开发者社区
2020/04/14
4.2K0
为什么EDA软件对芯片设计如此重要?
对于系统厂商而言,如果说芯片是子弹,是粮食的话,那么芯片EDA工具则是制造子弹,加工粮食的工具,其重要性可见一斑。
数字芯片社区
2020/07/15
1.5K0
为什么EDA软件对芯片设计如此重要?
SoC设计流程关键技术及应用案例
SoC设计是高度复杂的多学科交叉领域,它要求设计师具备深厚的硬件知识、软件能力以及对系统级需求的深刻理解。随着摩尔定律的推进,SoC的设计难度和成本也在不断攀升。因此,选择合适的工具和技术至关重要。
用户7353950
2024/11/23
2770
SoC设计流程关键技术及应用案例
2023届数字IC面经 | 双非科班如何斩获数字后端offer?
我本硕均就读于普通双非学校,本科微电子科学与工程,硕士集成电路工程(考的本校)。本科期间的课程涵盖了器件、工艺、数字IC设计、数字后端、模拟IC设计、版图设计、版图逆向分析等课程,学校的教学是采用理论课+实验课的模式。
数字芯片社区
2022/12/18
2K1
2023届数字IC面经 | 双非科班如何斩获数字后端offer?
数字IC设计 | 入门到放弃指南
Verilog语言与软件语言最大的区别就是,因为它是用于描述电路的,因此它的写法是非常固定的,因为电路的变化是非常有限的。学习Verilog的时候,很多时候我们并不是在学习这门语言本身,而是学习其对应的电路特征,以及如何对这个电路进行描述。如果心中没有电路,那么你是不可能写好Verilog的。
数字芯片社区
2022/04/06
2.6K0
数字IC设计 | 入门到放弃指南
ASIC数字设计:前端设计、验证、后端实现
数字系统设计中有三个重要的设计级别概念:行为级(Behavior Level)、寄存器传输级(Register Transfer Level)和门级(Gate level)。其中,
AsicWonder
2023/09/01
1K0
ASIC数字设计:前端设计、验证、后端实现
推荐阅读
相关推荐
综合 | 分工,方法学可讨论的点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档