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

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

3天内不再提示

数字集成电路芯片的设计流程详解

h1654155282.3538 来源:电子报 作者:h1654155268.1688 2021-06-06 16:56 次阅读

数字集成电路芯片的设计流程由一系列的设计实现和验证测试过程组成(图1)。首先是功能定义,它描述了对芯片功能和性能参数的要求,我们使用系统设计工具设计出方案和架构,划分好芯片的模块功能。然后是代码设计,我们使用硬件描述语言(HDL,如Verilog)将模块功能表示出来,形成电脑能理解的代码(行为级、RTL级)。经过仿真验证后,进行逻辑综合,把代码翻译成低一级别的门级网表,它对应于特定的面积和参数,并再次做仿真验证。这两个仿真可以是用电路模型验证逻辑功能(逻辑仿真),也可以用FPGA硬件电路来验证(原型仿真),其速度更快,与实际电路更接近。设计和仿真验证是反复迭代的过程,直到验证结果完全符合规格要求。验证还包括静态时序分析、形式验证等,以检验电路的功能在设计转换和优化的过程中保持不变。可测性设计(DFT、ATPG)也在这一步完成。下一步就是数字电路后端实现中最为关键的布局布线,它实现电路模块(如宏模块、存储器、引脚等)的布图规划、布局,实现电源时钟、标准单元之间信号线的布线。在布局布线过程中及完成之后,需要对版图进行各种验证,包括形式验证、物理验证,如版图与逻辑电路图的对比、设计规则检查、电气规则检查等。最终输出GDS数据,转交芯片代工厂,在晶圆上进行加工,再进行封装和测试,就得到了我们实际看见的芯片。

poYBAGC8jbGAA0YmAAD5oPR1lS8865.png

图1数字电路设计验证流程

本文所指的后端实现工具主要是指布图规划(Floorplan)和布局布线(Place&Route)两个阶段所使用到的工具集合。目前芯片设计公司使用的主要软件有SynopsysICC2/FusionCompiler,CadenceEncounter/Innovus,MentorGraphicsNitro-Soc等。

pYYBAGC8jcGAKl26AAB32g6vLY0325.png

图2数字后端实现过程

数字后端的设计过程,是把逻辑综合映射后的电路网表转换为GDS的过程,也就是把电路从逻辑网表转换为几何版图的过程。业界各个工具系统的实现大同小异,一般可以细分为设计环境建立、布图规划、布局、时钟树综合、布线、调试完善等步骤(图2)。

1.设计环境建立

设计环境的建立是把后端设计所需的数据读入到数据库,然后检查数据的完整性与一致性。后端设计的输入数据包括门级网表、设计约束和工艺库文件三部分。其中,门级网表(GLN,GateLevelNetlist)是逻辑综合工具把设计从RTL(RegisterTransferLevel)映射到GLN所得,它同时满足时序、面积、功耗等约束。设计约束SDC(SynopsysDesignConstraints)则描述了时钟、延迟、电源、面积、设计规则、工作条件等等对芯片的约束条件。工艺库主要是时序库文件和模型库文件,如物理抽象库文件LEF、物理详细库文件GDS/OASIS、时序库文件.lib、RLC模型文件.rlc、EM规则文件、DEF文件等等。

2.布图规划Floorplan

布图规划是后端实现中需要手工活的惟一阶段,其它阶段都是通过修改脚本和约束,然后让工具自动完成的。布图规划的好坏,直接决定了后续布局布线的收敛、芯片的面积性能功耗。Floorplan一般都是由经验丰富的设计师来完成。现在Cadence、谷歌也在探索使用AI来实现Floorplan。它包括初始化、布放宏模块和布放输入输出脚等过程。我们需要根据设计前端所给的数据流向,了解设计中各个模块之间的交互、各个时钟之间的关系等信息,以规划模块的位置和模块接口的位置。模块形状与设计类型相关,也影响到绕线资源的使用,这在前端中只考虑逻辑功能不同,需要仔细规划。低功耗设计则需要提前规划好各个电源域的划分区域、隔离岛等。在布放电源地时,需要根据芯片功耗估算,添加芯片核心的电源地;根据SSO、ESD、EM估算,添加输入输出脚的电源地。输入输出脚添加完成后,根据宏模块、IP、IO的面积就可以估算出芯片的面积了。

3.电源及电源网络分析

在现代低功耗芯片设计中,电源设计是非常重要的一步,包括分析计算所有单元的功耗、静态IRDrop和电迁移EM分析。它可以在多个阶段进行,如布图后、电源地布线后、全局布局后、详细布线后等。它分析电源设计是否合规。分析计算过程包括线网活动因子计算、电源分析、电源网分析、电网电阻分析、阻抗失配分析、IRDrop分析、EM分析等等。

4.静态时序分析

通过建立和使用静态时序分析器,以验证设计符合所有的设计约束,如满足在所有要求操作条件下的建立和保持时间,或者识别出违反时序的原因所在。静态时序分析主要包括数据准备、分析条件设置、生成时序报告、分析报告。所需要的数据(电路网表、时序库、约束文件、寄生模型及外部寄生文件)在第一步已经读入到数据库中,这里也可以补充读取。分析条件则是在一个或多个模式下,考虑PVT、RCX、OCV、CRPR等诸多因素进行设置。根据分析所需,控制分析器执行适当的命令,得到时序分析报告。对报告进行分析后,执行相应的操作。例如,从时序路径分析报告中,可以看到设计的关键路径,进而执行增量式的修改以符合时序需求。

5.定义电源结构

这一步是为电源的绕线创建禁区,创建电源带、电源环、标准单元rail等,定义如何连接到宏模块的电源脚等,完成电源的绕线,报告电源的状况。

6.布局及优化设计

这一过程包括为布局和优化作准备(布局指南和布局分组)、进行无优化的布局、插入备用单元(为ECO做准备)和Tap单元、管理扫描链(重排或拆分)、进行布局和优化、分析布局和优化结果,决定是否需要迭代。传统的时序驱动的布局算法通常会留下很多时序违反,因为它们不能仅仅由布局修正。时序违反由布局后优化工具找到后,它就会做很多修改,以符合时序约束的要求,如修改单元尺寸、插入缓冲、分解驱动等,这些操作会逐步降低原始布局的质量。因此,为满足时序和拥挤约束的目标,需要进行多次布局迭代和优化。我们工具的布局和优化引擎是并行的,从宏固定的预布局开始,就能得到一个最好时序质量和最低拥挤程度的全布局。布局和设计优化也能在一个布局好的设计上增量式地进行。

7.时钟树综合

布局之后,就是布线工作。我们要首先完成时钟网络的布线,因为它们比普通数据通路上的线网更重要。在数字电路中,时序元件的数据传输是由时钟控制的。时钟频率决定了数据处理和传输的速度,时钟频率也就决定了电路的最终性能。决定时钟频率的主要因素有两个,一是组合逻辑部分的最长电路延时,二是时序元件内的时钟偏斜(clockskew)。组合逻辑部分可以优化的延时不多,时钟偏斜成为影响电路性能的制约因素。时钟树综合的一个主要目的就是减小时钟偏斜。时钟信号是数字芯片中最长最复杂的信号,从一个时钟源到达各个时序元件的终端节点,能形成了一棵树状的结构。从时钟源的扇出很大,负载很大,需要一个时钟树结构,通过一级级的器件去驱动最终的叶子节点。时钟树综合的另一个目的,就是要使同一个时钟信号到达各个终端节点的时间相同。采用的办法也很简单:在时钟信号线网上插入buffer或者inverter来平衡信号的延迟。时钟树综合的准备包括标记可用于时钟树的buffer/inverter、定义时钟结构规则(如绕线、时钟单元周边间距、buffer等)、生成时钟skew约束(即定义各种skew组和时序约束),然后综合时钟树,再对综合结果进行分析和优化,如修复setup时间违反、额外的功耗和面积收复等等。

8.布线及设计优化

这一步虽然是一个自动化进行的步骤,但也需要创建布线指南,以指导布线器的运作。过程包括全局布线、总线布线、详细布线、手动优化、添加防护、金属填充、天线效应修复、光刻修复、绕线到bump等等。

9.工程改动要求ECO(EngineeringChangeOrder)

ECO是在一个完成或接近完成的设计上,进行一个增量式的改变。可能是对设计网表、布局或绕线作一个小的改变,而设计的主体部分中不变的部分无须重建。ECO可能涉及到所有层的改变,或者仅仅涉及到金属层的改变。假若修改的门数不到整体的5%,那么ECO是值得的。另外,使用usefulskew来进行手工的时钟树ECO,也是一项重要的技能。

10.时序调试

时序调试的目的,是找到一个方法去修复所有约束违反。我们需要用不同的选项去运行时序分析器,分析各种时序报告,识别可能的时序问题,在GUI和版图上同时查看关键路径,提升设计的时序。时序的优化贯穿着整个数字电路后端设计全过程。

11.数据导出

设计的最后一步,就是电路版图数据GDS的导出。GDS描述了晶体管大小和物理位置、连线的宽度和位置等制造芯片所需的全部信息。对GDS的要求是功能与RTL一致、性能满足指标、规格满足代工厂要求、功耗性能面积(PPA)优良。EDA工具强调的是A,Automation,也就是自动化。这在数字集成电路后端设计工具中表现尤为突出。要处理规模大至数十亿晶体管的电路,对所涉及算法的性能、效率、资源占用等都有极高的要求。目前,我们正在努力探索在数字芯片全流程中应用最新AI技术云计算技术等,以满足各种现代芯片的设计要求。
责任编辑人:CC

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

    关注

    5317

    文章

    10679

    浏览量

    353104
  • 数字集成电路

    关注

    11

    文章

    85

    浏览量

    21682
收藏 人收藏

    评论

    相关推荐

    数字集成电路测试流程

    数字集成电路的测试主要包括直流参数测试 (DC Test)、交流参数测试(AC Test)、功能测试(Function Test)、可测性设计(DFT)测试等。典型的数字集成电路测试顺序如图所示。
    的头像 发表于 05-26 10:08 2418次阅读
    <b class='flag-5'>数字集成电路</b>测试<b class='flag-5'>流程</b>

    数字集成电路-电路、系统与设计 免费下载

    和低功耗设计、设计验证、芯片测试和可测性设计等主题,着重探讨了深亚微米数字集成电路设计面临的挑战和启示。本书可作为高等院校电子科学与技术(包括微电子与光电子)、电子与信息工程、计算机科学与技术、自动化等
    发表于 02-12 09:51

    数字集成电路速查

    数字集成电路速查,比较详细,有兴趣的还可添加内容。
    发表于 01-31 14:57

    数字集成电路设计流程.ppt——独家资料

    ` 本帖最后由 gk320830 于 2015-3-4 20:25 编辑 数字集成电路设计流程设计输入:以电路图或HDL语言的形式形成电路文件;输入的文件经过编译后,可以形成对
    发表于 11-22 15:57

    数字集成电路 应用+制作 PDF+2

    数字集成电路小制作    https://pan.baidu.com/s/1hsjrZpE 数字集成电路应用260例 https://pan.baidu.com/s/1nvpTvZj
    发表于 09-26 11:17

    数字集成电路应用260例

    `数字集成电路应用260例`
    发表于 02-07 16:01

    数字电路实战精选——数字集成电路应用260例

    其他电路的综合应用实例。在每个实例中,采用“电路组成与功能”、“工作原理”、“典型芯片介绍”的方式,使读者一目了然,易读易懂。书中的实例具有简便实用的价值,能使读者应用到自己的电路中。
    发表于 04-08 17:09

    什么是数字集成电路IC

    什么是数字集成电路IC?
    发表于 03-03 06:57

    CMOS数字集成电路是什么?CMOS数字集成电路有什么特点?

    CMOS数字集成电路是什么?CMOS数字集成电路有什么特点?CMOS数字集成电路的使用注意事项是什么?
    发表于 06-22 07:46

    数字集成电路简介

       数字集成电路产品的种类很多种。数字集成电路构成了各种逻辑电路,如各种门
    发表于 04-16 23:46 2163次阅读

    数字集成电路的类别

    数字集成电路的类别 数字集成电路产品的种类很多,若按电路结构来分,可分成TTL和MOS 两大系列。TTL 数字集成电路是利用电子和空穴两种载流子导电的,所以又
    发表于 09-19 16:10 1354次阅读

    数字集成电路设计的里程表

    数字集成电路设计的里程表 0 引言    随着数字技术的不断发展,数字集成电路在各个领域的应用越来越广泛。本文介绍一种用数字集成电路、霍尔集成电
    发表于 11-03 10:25 1681次阅读
    用<b class='flag-5'>数字集成电路</b>设计的里程表

    数字集成电路_什么是数字集成电路

    数字集成电路是将元器件和连线集成于同一半导体芯片上而制成的数字逻辑电路或系统。根据数字集成电路
    发表于 10-28 11:39 3838次阅读

    数字集成电路应用300例

    数字集成电路应用300例》介绍了实用、有趣的数字集成电路的应用实例300个。书中按功能将电路分为15大类,它们分别是:信号产生电路、电源和保护电路
    发表于 10-28 11:44 7808次阅读

    数字集成电路版图提取

    数字集成电路产品应用领域十分广泛,数字集成电路的设计技术已经成熟。集成电路反向设计是一种重要的集成电路设计方法,数字集成电路版图的反向提取是
    发表于 10-28 14:05 0次下载