前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于INNOVUS平台的云端训练AI芯片设计

基于INNOVUS平台的云端训练AI芯片设计

作者头像
老秃胖驴
发布2019-10-15 15:40:33
2.5K0
发布2019-10-15 15:40:33
举报
文章被收录于专栏:陌上风骑驴看IC陌上风骑驴看IC

本文作者

Enflame公司:顾东华,陆伟, 陈天宇

Cadence公司:辜建伟,李彪,陈泽发,聂笔剑

摘要

近年来,随着人工智能技术开始广泛应用,大规模和超大规模逻辑复杂的人工智能(Artificial Intelligence)芯片设计需求日渐增加,后端物理实现在布局布线方面的挑战也随之而来。由于复杂的数据交互给传统的后端宏单元布局规划工作带来很大的挑战。在宏单元的摆放,绕线阻塞的评估和低功耗的实现等方面的难度越来越大,需要增加迭代次数来寻求最优方案,从而需要较长的设计周期。为了满足市场应用的需求,如何提高设计效率就成为AI芯片设计的一个重要课题。

本文主要介绍基于Cadence新一代布局布线工具Innovus平台,为了实现高标准的PPA (Power Performance Area),引入新的方法学—混合摆放 (Mix-Place),并提出了一套快速布局规划 (Floorplan) ,兼顾时序的压降优化 (Timing Aware IR Drop Eco) 和光刻坏点修复 (Fix Litho Hotspot) 相结合的一体化完整解决方案。采用先进的FinFet工艺,完成了Enflame自主研发的云端训练AI芯片设计后端物理实现的快速迭代工作。在保证时序收敛的基础上,降低功耗,提高面积的利用率和绕线的可预测性,有效地缩短了设计周期,完成投片,并推进产品的更新换代。

关键字:INNOVUS AI Mix-Place PPA IR Drop 混合摆放 功耗 时序 面积 压降

1

云端训练人工智能 (Artificial Intelligence)

芯片设计在物理实现中的挑战

定制化人工智能芯片 (AI芯片) 是为了加速计算机在特定应用场景实现模拟人的思维和智能行为的过程。AI芯片的算法复杂度高AI芯片的算法复杂度高,宏单元以及标准单元之间的数据交互关系也变得复杂,当前设计主要面临两方面的挑战:

1.1

如何快速得到设计模块的可参考的布局规划版图

这是保证产品快速进入市场的重要一环。大规模AI芯片设计中,通常采用层次化设计的后端实现方式,从而有大量的模块需要分别去完成布局布线工作。本文采用的设计一共包含50个子模块,每一个模块都需要投入工程师去完成布局规划和面积评估等工作,是整个设计中花费时间最多的一个阶段。因此,有效地减少这个阶段的时间,加快设计进程就变得尤为重要。

1.2

如何保证时序收敛并实现AI芯片的低功耗设计

人工智能引入神经网络算法,使得计算量急剧增加。在神经网络进行训练的过程中,需要大量的分析数据,进行迭代计算处理,这就对计算机的算力有了更高的要求。为了解决深度学习算法的巨大计算量问题,引入了AI芯片,其作用就是加速深度学习算法。面对巨大的计算量,AI芯片在后端物理实现中,需要使用更多的逻辑运算单元,进而需要更多的绕线资源以及物理面积,同时功耗的大小也是决定芯片能否高性能工作的重要指标。所以AI芯片对PPA (Power Performance Area) 的要求尤为显著。这是在物理实现过程中的难点和必须要解决的问题。同时如何快速的实现芯片设计,也是后端工程师需要考虑的问题。

我们基于Cadence后端工具Innovus平台,结合集成于Innovus平台中的混合摆放 (Mix-place) 算法,采用In-Design 优化修正流程,我们能够解决上述的难点和问题,成功的实现了芯片的最终投片。

2

Innovus平台设计内 (In-Design )

全流程解决方案

传统后端流程需要多种优化修正 (Eco) 工具和签核 (Sign-off) 工具共同完成分析和修正工作,反复迭代。在完成布局布线后,需要用单独的时序签核 (Timing Sign-off) 工具对时序进行检查,不满足则需要对时序进一步优化。然后用功耗签核 (Power Sign-off) 工具做功耗和压降的分析,不满足则需要返回布局布线阶段进行优化。接着,再用设计规则签核 (Drc Sign-off ) 工具进行检查,有违例则需要返回布局布线工具或者用版图工具进行修正,然后再做时序和功耗的签核检查,直到全部通过。而Innovus的设计内全流程解决方案可以在Innovus工具中自动摆放宏单元,并在布局布线过程中在保持时序收敛的基础上进行功耗和压降分析,同时完成修正工作。而且,可以在绕线之后进行光刻坏点的修正,布局布线完成后只需做签核检查或少量优化,从流程上减少不同工具间地切换,优化了迭代过程,进一步提高工作效率,缩短设计周期。

2.1

传统流程与Innovus全流程解决方案对比

图1 传统流程

图2 Innovus全流程解决方案

图1和图2流程对比可以看出,传统流程需要多个不同工具之间进行数据传递,不满足签核条件即需要返回布局布线工具进行修复工作,或者借助第三方工具完成修复工作再传递给布局布线工具。而借助Cadence的Innovus平台的设计内全流程解决方案,可以实现基于Innovus平台在布局布线阶段即可进行各项签核标准的分析与违例修正工作,减少工具间的切换迭代。

2.2

应用全流程解决方案完成AI芯片设计物理实现

2.2.1

高效性和低功耗性的混合摆放流程

(Mix-Place Flow)

传统的布局规划 (Floorplan) 需要后端工程师熟悉设计的数据流向,并根据产品的特定要求和工程师自身的经验去确定宏单元的位置顺序的摆放,为了得到一个最优方案往往需要反复迭代,是整个IC物理设计的起点和难点所在。而内部宏单元的位置和顺序的摆放是影响设计良莠的关键环节,通常需要划分逻辑关系组,并规则的摆放于芯片边缘,留出中间区域放置标准单元。

混合摆放 (Mix-Place) 是Cadence Innovus工具新研发和推出的功能,即打破传统的先由人工摆放宏单元,再由工具摆放标准单元的流程,而采用工具将宏单元和标准单元标准单元同时摆放的新算法,自动化地计算宏单元和标准单元之间的数据交互关系,从而推算出一个在时序,功耗和面积三方面均衡合理的布局方案,减少人工迭代工作。

混合摆放基本的操作流程如图3所示。

图3 混合摆放流程图

具体的操作步骤

(1) 初始数据准备,设定约束条件

在准备传统流程需要导入设计的初始文件数据外,还需准备在运行混合摆放时需要的初始文件数据。首先要确定芯片的尺寸,并对宏单元进行初步摆放,并进行电源线的布局规划,Innovus工具自动计算出电源线在各层绕线资源中的占比信息,保存为独立文件,提供给工具做自动布局流程的参考。接着按以下步骤操作:

  • 清除所有初始布局信息和电源布线信息。包括布局禁止区域,布线禁止区域。
  • 定义用户要求的布局约束。包括固定引脚顺序和位置,设定宏单元之间的间距等。
  • 特定宏单元的约束设定。例如,对特殊宏单元进行固定 (Fixed) ,其它均为Unplaced状态。
  • 根据用户的设计要求,确定摆放模式,优化模式,绕线设置和时序约束条件等。

(2) 宏单元的混合摆放以及调整

  • 导入初始化阶段生成的电源布线的资源使用数据。
  • 约束条件设定完成,初始化数据读入之后,工具开始使用命令进行混合摆放: place_design -concurrent_macros -no_refine_macro 该命令可以自动地将宏单元与标准单元混合摆放。注意摆放完成后宏单元和标准单元均为摆放 (Placed) 状态,此时的标准单元可以重叠堆放,在后续步骤进一步优化摆放。
  • 优化宏单元位置,固定宏单元,保存同时摆放的标准单元的物理信息。这一步可以根据设置的宏单元摆放约束条件对宏单元的位置进行优化调整,然后设置为固定 (Fixed) 状态,再将标准单元的物理信息保存为DEF文件,供后续步骤使用。

(3) 电源线的布局规划

  • 将标准单元设置为未摆放 (Unplaced) 状态。
  • 添加物理标准单元 (Endcap和Welltap) 。
  • 设置布线约束区域,继续完成电源布线规划。

(4) 标准单元的摆放以及后续流程

电源布线完成之后,读入标准单元物理信息文件,在Seed模式下进行标准单元的进一步摆放优 化。完成标准单元的摆放和优化之后,继续进行后续的时钟树综合,绕线等后端流程,完成整个芯片项目的设计签核工作。

本文主要在Enflame自主研发的AI芯片后端项目中应用Cadence推出的设计内全流程解决方案,在时序收敛前提下,研究如何缩短设计流程和周期和降低芯片功耗。这里采用前端工程师推荐的存储器访问模块的布局规划作为参照组,来对比Mix-place流程的应用效果。参照组数据流信息进行反复试验和流程的迭代最终确定的版图布局规划。而混合摆放,不需试验迭代,工具在一次流程内自动化计算出一个合理的版图布局,快速完成宏单元的摆放工作。图4和图5是人工摆放的布局版图和工具自动摆放版图的对比:

图4 人工摆放的宏单元布局

图5 混合摆放的宏单元布局

表2是存储器访问模块的两种布局版图在绕线之后的各项数据统计表:

表2 存储器访问模块各阶段数据对比

图6 功耗变化趋势

在保证时序收敛的前提下,混合摆放流程在功耗,密度和绕线DRC方面有明显的优势。本文的项目设计中,在1400µm x 650µm的尺寸,2.3M的标准单元数量级的模块中,如图6,可比传统流程节省5.6%的功耗,密度降低1.3%左右。特别地,本文所涉及的芯片项目包含50个子模块,每个子模块有包含50~100个宏单元,需要分别完成后端物理实现工作,工作量较大。因此,混合摆放流程在高效完成设计物理实现工作方面有很突出的优势。

2.2.2

保证时序收敛的设计内优化流程

(Timing Aware In-Design Eco Flow)

图7 设计内优化流程图

为了避免传统流程在每一次功耗修正和DRC 修正之后由于不同工具之间切换和数据传递过程而产生新的时序违例,Cadence推出了一套保证时许收敛的设计内优化流程,在Innovus平台整合签核检查工具和优化修正工具,实现在布局布线阶段进行兼顾时序的功耗,压降以及DRC的检查和修正工作。在PostCTS和PostRoute阶段即可进行压降分析,调用Voltus工具进行签核标准检查,Innovus自动根据分析结果进行自动摆放调整工作来修正压降问题,并保证时序不受影响。另外,可在PostRoute阶段可以读入工厂提供的模型数据进行光刻坏点的匹配和修正工作。最后,在不影响时序收敛的情况下添加金属填充物,完成金属密度的补充和检查工作。

(1)AI芯片设计中的In-Design IR Drop 优化

在绕线和时序优化后,调用集成于Innovus平台的Voltus工具进行压降分析,然后进行针对IR的refinePlace动作。图8,图9分别是压降优化前后的压降违例分布图。

图8 IR Drop 优化前

图9 IR Drop 优化后

图10 IR Drop违例单元数量变化图

如图10,经过三轮优化之后,存储器访问模块的动态压降违例单元数不断减少,满足签核检查要求的10%以下的标准,同时时序保持收敛。

(2)AI芯片设计中Timing Aware 的DRC修复

先进工艺制程中,除了常规的设计规则约束 (DRC) 外,光刻坏点 (Litho Hotspot ) 也是一个重要的生产规则检查指标,即某些特殊形状的金属不符合光刻生产的标准,需要工厂提供相应的参照模型数据,进行匹配检查,并修改对应的金属形状以达到光刻要求。本文采用GF 14nm工艺库,根据GF公司提供的光刻参照样本数据,使用Cadence的Innovus平台的Lpa引擎进行设计内光刻坏点的检查与修正,节约优化流程。

图11 LPA修正光刻坏点

如图11所示,使用Innovus平台调用Lpa工具,对设计中物理版图的光刻坏点进行修正,L1的坏点可全部修正,L2的坏点经过修正之后保持在一个可控范围内,同时不影响时序收敛,减少了切换工具等不必要的迭代工作。

最后阶段,使用Innovus平台调用PVS工具添加金属填充层,满足设计的金属密度要求,并且时序依然保持收敛状态不受影响,完成签核检查工作,各项指标都达到设计和生产要求,最终进行投片生产工作。

3

总 结

本文采用Cadence的基于Innovus平台的In-Design全流程解决方案应用在Enflame的云端训练AI芯片设计中,使用自动混合摆放进行布局规划,缩短设计周期,为后期设计产品的优化节约出来更多的资源。同时在保证时序收敛的前提下,降低设计的功耗,压缩面积,减少绕线违例等性能提升方面也取得了重要突破。并且在布局布线阶段兼顾时序收敛的情况下完成了压降的分析和修正,光刻坏点的修正,以及金属填充等满足签核要求的工作,最终顺利完成物理实现工作,进入投片生产。In-Design全流程解决方案,在大规模的模块化设计中可以极大地提高工作效率,缩短了设计周期,在产品更新换代日益频繁的商业化设计中是一个非常巨大的突破。从设计的高效性和性能提升等方面来看,基于Innovus平台的全流程解决方案值得在更多的设计项目中进行应用和推广。

参考文献

[1] Mixed Placer Flow – Concurrent Placement of Macros and Standard Cells,资料来源support.cadence.com

[2] Introduction to Innovus Implementation System 18.1 ,资料来源 support.cadence.com

[3] InDesign opt guide 18.1,资料来源 support.cadence.com

[4] Litho physical Analysis User Guide 17.21,资料来源 support.cadence.com

[5] Hierarchical Metal Fill RAK 16.1,资料来源 support.cadence.com

谢辞

本文的项目研究工作得到了Enflame (燧原智能科技)和Cadence (楷登电子科技)的鼎力支持,特此表示诚挚地感谢!

关于Cadence

Cadence 公司致力于推动电子系统和半导体公司设计创新的终端产品,以改变人们的工作、生活和娱乐方式。客户采用 Cadence的软件、硬件、IP 和服务,覆盖从半导体芯片到电路板设计乃至整个系统,帮助他们能更快速向市场交付产品。Cadence 公司创新的“智能系统设计” (Intelligent System Design)战略,将帮助客户开发出更具差异化的产品,无论是在移动设备、消费电子、云计算、数据中心、汽车电子、航空、物联网、工业应用等其他的应用市场。Cadence 公司同时被财富杂志评选为“全球年度最适宜工作的100家公司”之一。了解更多,请访问公司网站 www.cadence.com。

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档