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

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

3天内不再提示

数字电路设计验证流程

发烧友研习社 来源:电子报 作者:h1654155268.1688 2022-06-02 10:01 次阅读

数字电路设计验证流程

数字集成电路芯片的设计流程由一系列的设计实现和验证测试过程组成(图1)。首先是功能定义,它描述了对芯片功能和性能参数的要求,我们使用系统设计工具设计出方案和架构,划分好芯片的模块功能。

然后是代码设计,我们使用硬件描述语言(HDL,如Verilog)将模块功能表示出来,形成电脑能理解的代码(行为级、RTL级)。经过仿真验证后,进行逻辑综合,把代码翻译成低一级别的门级网表,它对应于特定的面积和参数,并再次做仿真验证。这两个仿真可以是用电路模型验证逻辑功能(逻辑仿真),也可以用FPGA硬件电路来验证(原型仿真),其速度更快,与实际电路更接近。

设计和仿真验证是反复迭代的过程,直到验证结果完全符合规格要求。验证还包括静态时序分析、形式验证等,以检验电路的功能在设计转换和优化的过程中保持不变。可测性设计(DFT、ATPG)也在这一步完成。

下一步就是数字电路后端实现中最为关键的布局布线,它实现电路模块(如宏模块、存储器、引脚等)的布图规划、布局,实现电源时钟、标准单元之间信号线的布线。

在布局布线过程中及完成之后,需要对版图进行各种验证,包括形式验证、物理验证,如版图与逻辑电路图的对比、设计规则检查、电气规则检查等。最终输出GDS数据,转交芯片代工厂,在晶圆上进行加工,再进行封装和测试,就得到了我们实际看见的芯片。

f5d51b08-e209-11ec-ba43-dac502259ad0.png

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

数字后端实现过程

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

f5f74494-e209-11ec-ba43-dac502259ad0.png

图2数字后端实现过程

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

01

设计环境建立

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

02

布图规划Floorplan

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

03

电源及电源网络分析

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

04

静态时序分析

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

05

定义电源结构

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

06

布局及优化设计

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

07

时钟树综合

布局之后,就是布线工作。我们要首先完成时钟网络的布线,因为它们比普通数据通路上的线网更重要。在数字电路中,时序元件的数据传输是由时钟控制的。时钟频率决定了数据处理和传输的速度,时钟频率也就决定了电路的最终性能。决定时钟频率的主要因素有两个,一是组合逻辑部分的最长电路延时,二是时序元件内的时钟偏斜(clockskew)。

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

08

布线及设计优化

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

09

工程改动要求ECO

(EngineeringChangeOrder)

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

10

时序调试

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

11

数据导出

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

审核编辑 :李倩

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

    关注

    170

    文章

    5480

    浏览量

    169507
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132148
  • 数字电路
    +关注

    关注

    192

    文章

    1396

    浏览量

    79748

原文标题:【限时福利】一文读懂数字集成电路芯片设计流程

文章出处:【微信号:发烧友研习社,微信公众号:发烧友研习社】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字电路仿真元件符号是什么

    数字电路仿真元件通常用符号来表示。这些符号是通过简洁和易于理解的图形来表示元件的特性和功能。符号是数字电路设计和仿真过程中非常重要的一部分,帮助工程师和设计者有效地沟通和理解电路的功能。在本文
    的头像 发表于 04-21 09:20 149次阅读

    珠海南方集成电路设计服务中心引进芯华章全流程验证工具

    为更好地推动EDA工具国产化,加快构建产业生态体系,3月13日,芯华章科技宣布与珠海南方集成电路设计服务中心(珠海ICC)达成战略合作,后者将引进芯华章智V验证平台及数字验证
    的头像 发表于 03-13 10:01 168次阅读

    两位格雷码减法器数字电路设计

    目前,针对数字电路研究的主要目标都是为了提高电路的运算速度、降低电路的功耗和减少电路逻辑输出的误差,因此延时、功耗和误差是数字电路三个最重要
    的头像 发表于 02-19 13:36 385次阅读
    两位格雷码减法器<b class='flag-5'>数字电路设计</b>

    数字电路设计有哪些仿真验证流程

    数字电路设计的仿真验证流程是确保设计能够正确运行的重要步骤之一。在现代电子设备中,数字电路被广泛应用于各种应用领域,如计算机、通信设备、汽车电子等等。因此,设计师必须通过仿真
    的头像 发表于 01-02 17:00 365次阅读

    对话国产EDA和IP厂商,如何攻克大规模数字电路设计挑战?

    随着先进制程不断推进,以及AI、大数据、云计算等一系列新技术的快速发展,数字电路的处理能力越来越强,电路规模越来越大,对大规模数字芯片的需求也越来越多。因此,如何加速大规模数字电路设计
    的头像 发表于 12-28 08:23 716次阅读
    对话国产EDA和IP厂商,如何攻克大规模<b class='flag-5'>数字电路设计</b>挑战?

    数字电路和模拟电路的工作各有何特点?

    数字电路和模拟电路电路设计和控制中两种主要的电路类型。虽然它们都是电路的基本组成部分,但它们在工作原理、特点和应用方面有很大的区别。 首先
    的头像 发表于 12-08 10:06 862次阅读

    硬件电路设计之晶体与晶振电路设计

      晶体与晶振在电路设计中的应用十分广泛,对于数字电路,一个稳定的时钟信号,是系统稳定的前提。
    的头像 发表于 11-22 10:44 699次阅读
    硬件<b class='flag-5'>电路设计</b>之晶体与晶振<b class='flag-5'>电路设计</b>

    FPGA/CPLD数字电路设计经验分享

    电子发烧友网站提供《FPGA/CPLD数字电路设计经验分享.pdf》资料免费下载
    发表于 11-21 11:03 3次下载
    FPGA/CPLD<b class='flag-5'>数字电路设计</b>经验分享

    数字电路是什么

    数字电路是什么? 数字电路不同与模拟电路的连续信号,它是离散信号,在使用中只有两种波形,一种是高的,一种是低的。它具有逻辑运算和逻辑处理功能,所以又被叫做数字逻辑
    的头像 发表于 11-06 17:25 1249次阅读
    <b class='flag-5'>数字电路</b>是什么

    建立/保持时间对数字电路的影响

    建立/保持时间对数字电路的影响 数字电路是指使用数字信号进行连接和处理信息的电路数字电路是由一系列数字
    的头像 发表于 10-29 14:21 393次阅读

    数字电路用什么仪器测试

    数字电路用什么仪器测试  数字电路测试是数字电路设计的重要环节。它是验证数字电路功能是否按照所期望的方式工作的过程。在
    的头像 发表于 09-19 16:33 695次阅读

    数字电路如何实现倍频?

    数字电路如何实现倍频?  数字电路是由数字电子器件以及逻辑门电路组成,可以用于处理数字信号或数字
    的头像 发表于 09-18 10:37 3927次阅读

    为什么说数字电路无法取代模拟电路

    为什么说数字电路无法取代模拟电路 数字电路和模拟电路是两种不同的电路体系,它们各有优劣。数字电路
    的头像 发表于 08-27 15:37 1347次阅读

    高速数字电路设计资料分享

             这本书是专门为电路设计工程师写的。它主要描述了模拟电路原理在高速数字电路设计中 的分析应用。通过列举很多的实例,作者详细分析了一直困扰高速电路路设计工程师的铃流、串
    发表于 08-17 16:57 0次下载

    单片机入门之数字电路学习

    单片机是一种可编程的数字电路芯片。数字电路是单片机的基础,单片机是数字电路的发展。
    发表于 06-06 11:34 923次阅读
    单片机入门之<b class='flag-5'>数字电路</b>学习