IC的电压降和电迁移的分析方法及计算机可读存储介质与流程

文档序号:13031392阅读:379来源:国知局
IC的电压降和电迁移的分析方法及计算机可读存储介质与流程

本发明涉及集成电路(integratedcircuit,ic)设计,尤其涉及一种ic的电压降和电迁移的分析方法及计算机可读存储介质。



背景技术:

近年来,ic,如slsi(superlargerscaleintegratedcircuit,超大规模集成电路),的开发过程普遍采用cad(computerassisteddesign,计算机辅助设计)。根据这种基于cad的开发过程,使用所谓的hdl(hardwaredescriptionlanguage,硬件描述语言)来定义抽像的电路数据,该抽像的电路数据对应待开发的ic的功能,并且该定义的电路用来形成要安装在芯片上的具体电路结构。

在制造(或实现)ic芯片之前,首先考虑ic芯片的配置(placement)、平面规划(floorplan)以及布局面积(layoutarea),从而确定每个ic芯片的晶粒尺寸。一般地,晶粒尺寸将影响ic芯片的制造成本。因此本领域期望最小化ic芯片的布局面积。



技术实现要素:

有鉴于此,本发明实施例提供了一种ic的电压降和电迁移的分析方法及计算机可读存储介质,可以进一步缩小布局的尺寸并降低设计人力和成本。

本发明实施例提供了一种集成电路的电压降和电迁移的分析方法,包括:得到该集成电路的布局,其中该布局被划分为多个块且每个块对应特定的功能;根据该多个块的功率相关信息,得到多个操作功率和多个工作温度,其中该多个块中的每个块具有单独的操作功率和单独的工作温度;以及根据该每个块对应的操作功率和工作温度,来验证该每个块。

其中,进一步包括:当验证完该每个块之后,检查在该多个块中是否存在电压降违规或者电迁移违规。

其中,进一步包括:当在该多个块中存在该电压降违规或该电迁移违规时,调整该布局。

其中,调整该布局的步骤包括:对于该多个块中的第一块,增加该第一块中的至少一条导线的宽度,其中该第一块为存在该电压降违规或该电迁移违规的块。

其中,进一步包括:根据该第一块对应的操作功率和工作温度,再次验证该第一块。

其中,进一步包括:当在该多个块中的每一个中均不存在该电压降违规或者该电迁移违规时,根据该布局制造该集成电路。

其中,根据该多个块的功率相关信息,得到多个操作功率和多个工作温度的步骤包括:根据该多个块中的每个块的功率消耗,来确定该每个块对应的操作功率和对应的工作温度。

其中,在该多个块中,不同块的对应的操作功率和工作温度不同。

其中,该多个块中,不同块的功能不同。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性的,且用于存储可由计算机执行的并且能够导致该计算机执行上述的分析方法的指令。

本发明实施例的有益效果是:

本发明实施例,由于根据每个块对应的操作功率和工作温度,来验证每个块,因此可以进一步缩小布局的尺寸并降低设计人力和成本。

附图说明

通过阅读接下来的详细描述及参考附图所做的示例可以更全面地理解本发明,其中:

图1为ic的层次化(hierarchical)设计过程的流程示意图;

图2为根据本发明一些实施例的集成电路的电压降和电迁移的分析方法的流程示意图;

图3为ic的布局的示意图;

图4为根据本发明实施例的计算机系统的示意图。

具体实施方式

以下描述为实现本发明的较佳方式。该描述仅作为说明本发明的一般原理的目的,而不应视为限制。本发明的范围可参考所附的权利要求来确定。本发明涉及集成电路的电压降(irdrop)和电迁移(electromigration,em)的分析方法,例如ic中每个块的ir降和em的分析方法。

图1示出了ic的层次化(hierarchical)设计过程的流程图。首先,在步骤s110中,得到rtl(register-transferlevel,寄存器传输级)代码,该rtl代码用来描述ic执行的功能。接着,在步骤s120中,综合(synthesized)该rtl代码来产生ic的门。一般地,ic包括:多个块,并且每个块提供ic的重要功能,诸如专用处理器(如应用处理器,视频处理器,音频处理器,或者控制器),内存(如sram(staticrandomaccessmemory,静态随机存取存储器)模块),等等。另外,每个块具有对应的rtl代码,于是综合每个块的rtl代码以产生每个块的门。接着,在步骤s130中,执行配置和绕线(placementandrouting)步骤以在ic的芯片区域内产生全部块的布局(layout)。例如,假设ic包括n个块,根据该n个块的rtl代码,分别产生该n个块的n个配置。如此,根据该n个块的n个配置以及不属于该n个块的门,执行芯片配置和绕线步骤并且得到布局。在一些实施例中,该布局为整个芯片布局。在一些实施例中,该布局为整个芯片布局的一部分,该部分关于ic的一些数字电路。接着,执行分析步骤,并验证该布局,以检查该布局是否违反各种约束或规则中的任何一个(步骤s140)。如果在布局中不存在违规,则根据该布局来制造(或实现)该ic(步骤s150)。如果,在该布局中存在违规,则必须修改该ic的布局以处理该违规直至没有违规存在。

在分析步骤中,根据布局,得到诸如寄生电阻和电容值等结构数据。此外,执行布局后(post-layout)仿真以确保正确的功能。布局后仿真用来通过严格地测试电路和电力总线线路的真实负载来预测ic的真实性能。根据在布局后模拟中得到的结果,可以发现一些问题,诸如过多的电力总线电压降(如ir降)和电迁移(em),该ir降和电迁移通常在rtl模拟期间不可发现。

通常,em指的是从ic的金属线排出离子。当流过导线的电子随机地碰撞到导线中的原子时,原子沿着电子的路径被携带,从而导致导线劣化(wiredeterioration)。此外,em导致导线逐渐变薄,以及em可能导致导线上的电压降,并最终导致导线断线。特别地,em是由于电流密度(电流除以金属宽度)超过阈值引起的。例如,em通常在具有相对大电流流动的细线(高电流密度)中最显著。em阻碍了金属导电的能力,从而降低了寿命。相应地,如果金属线的电流密度超过特定阈值,那么在ic布局的金属线中则存在em违规。如果不能够忽视该em违规,那么执行校正来处理该em违规。

ir(电压)降一般指的是在电源节点(powernode)处的电源电压(如vdd)的电压差,并且一般是由电压源(提供该电源电压)和电源节点之间存在的电阻(由于寄生电阻或由于金属线中的其他器件)引起的。因此,连接至除了电源节点之外的其他节点的器件可以接收小于电源电压的端子电压(terminalvoltage)。如果该端子电压小于允许的阈值电压,那么器件将不会工作在正常模式。例如,电路可能变得不可工作或者工作在更低的频率(相比于最优频率)。相应地,如果电压降超过了特定阈值电压,那么在ic布局的金属线中存在ir降违规。类似地,如果ir降违规不可以被忽视,那么执行校正来处理该ir降违规。另外,通过执行模拟可以确定该布局的每个节点处的ir降以及每条路径上流过的电流。确定的值可以用来确保设计符合各种em和ir降要求。

在分析步骤中,在没有不可以被忽略的em或ir降违规之后,在布局上执行drc(designrulecheck,设计规则检验)以确定是否违反与给定工艺相关联的设计规则。在drc成功之后,执行lvs(layout-versus-schematic,布局与原理图比较),以便于确定布局是否对应ic设计的原始原理图、电路图或rtl代码。如上所述,在完全地验证布局之后,根据该布局制造多个ic。

图2为根据本发明一些实施例的ic的ir降和em的分析方法的流程示意图。其中图2的方法可以由能够运行eda(electronicdesignautomation,电子设计自动化)工具的计算机来执行。首先,在步骤s210中,计算机的处理器获得ic布局,并且在gui(graphicaluserinterface,图形化用户界面)中显示该布局。接着,在步骤s220中,处理器根据ic的电路功能信息,将该布局划分为多个块,并且每个块对应ic的重要功能,诸如专用处理器(如应用处理器,视频处理器,音频处理器,或者控制器),内存(如sram模块),等等。接着,在步骤s230中,处理器根据该多个块的功率相关(power-related)信息,获得关于该多个块的多个操作功率(电压和电流)以及该多个块的多个工作温度的信息;其中,每个块具有单独的操作功率(电压和电流)和单独的工作温度。在一些实施例中,单独的操作功率和单独的工作温度为块的最大操作功率和最大工作温度。在一些实施例中,根据块的功率消耗,来确定该单独的操作功率和单独的工作温度。接着,处理器使用与验证块相对应的单独的操作功率和单独的工作温度,来对每个块进行验证(步骤s240),以便检验在验证块中是否存在ir降违规或em违规。在一些实施例中,该多个块被同时验证。在一些实施例中,该多个块以特定的顺序被验证。如果在验证块中存在ir降违规或者em违规,并且该违规不可被忽略,那么处理器修改该块以修复该违规(步骤s270),并且接着ic的布局被改变。在一些实施例中,处理器修改布局中的块,以增加与块中的违规相对应的导线的宽度。在一些实施例中,处理器可以增加布局的面积或者改变布局的形状,以便于修复该违规。在块被修改完并且布局的面积或形状没有改变之后,再次验证该修改后的块(步骤280、步骤s240)。如果布局的面积或形状改变了,则方法从步骤s210再次执行。相反地,如果在验证块中没有ir降违规或em违规或者该违规可忽略,那么验收(signoff)布局(步骤s260)以执行接下来的步骤,诸如drc或lvs。

图3为ic的布局300的示意图。在得到ic的电路功能信息之后,将布局300划分为多个块310~350(步骤s220)。在得到ic300的块310~350的功率相关信息之后,得到块310~350中每一个的操作功率(电压和电流)以及工作温度。例如,块310具有第一操作功率p1和第一工作温度t1,块320具有第二操作功率p2和第二工作温度t2,块330具有第三操作功率p3和第一工作温度t3,块340具有第四操作功率p4和第四工作温度t4,以及块350具有第五操作功率p5和第五工作温度t5。在一些实施例中,块310~350的操作功率p1~p5和工作温度t1~t5为各个块的最大操作功率和最大工作温度。一般地,可以根据块中的门的数量和门的工作频率,确定最大操作功率和最大工作温度。由于各个块中的门的数量和门的工作频率可以不相同,因此块310~350的操作功率和工作温度也可以不同。通过使用对应的功率和对应的温度来验证每个块,可以优化块的每条导线,使得每条电源线的宽度具有最小值,因此可以在布局面积方面最小化布局中的每个块。

对于传统的分析步骤,由于其使用全部块的最大操作功率和全部块的最大工作温度来验证布局中的所有块,因此每个块的电源线的宽度将由全部块的最大操作功率和全部块的最大工作温度来限定。相比于传统的分析步骤,本发明的方法使用块对应的操作功率和工作温度来验证每个块以最小化布局的尺寸并降低设计人力和成本。例如,可以优化每个块中的每条线的宽度,特别是块中的电源线。

图4示出了根据本发明实施例的计算机系统的结构示意图。该计算机系统400包括:计算机410,显示器420和用户输入端口430。其中该计算机410包括:处理器440,内存450,以及存储器460。该计算机410耦接至该显示器420和该用户输入端口430,其中该计算机410能够运行eda工具。而且,该计算机410能够接收来自用户输入端口430的输入指令或信息(如电路功能信息和功率相关信息),以及在显示器420上显示ic的布局和布局中的块。在一个实施例中,该显示器为用于计算机410的gui。另外,该显示器420和该用户输入端口430可以在计算机410中实现。该用户输入端口430可以为键盘、鼠标,等等。在计算机410中,存储器460可以存储os(operatingsystems,操作系统)、应用程序、信息(如电路功能信息和功率相关信息)以及数据(包含应用程序所需的输入和/或应用程序产生的输出)。计算机410的处理器440可以以本公开暗示或明确描述的方式来执行一个或更多的操作(自动化地或者使用用户输入)。例如,在操作期间,处理器440可以将存储器460中的应用程序装载进内存450中,接着通过用户使用该应用程序来创建、浏览和/或编辑ic设计的配置、平面规划和物理布局。

本公开中描述的数据结构和代码可以部分地或完全地存储在计算机可读存储介质和/或硬件模块和/或硬件装置上。计算机可读存储介质可以是但不限于易失性存储器,非易失性存储器,磁和光存储器,例如磁盘驱动器,磁带,cd(光盘),dvd(数字通用盘或数字视频光盘)或现在已知或稍后开发的其他能够存储代码和/或数据的介质。在本公开中描述的硬件模块或装置的示例包括但不限于专用集成电路(application-specificintegratedcircuits,asic),现场可编程门阵列(field-programmablegatearrays,fpga),专用或共享处理器和/或其他已知或以后开发的硬件模块或装置。

在本公开中描述的方法和过程可以被部分地或完全地体现为存储在计算机可读存储介质或设备中的代码和/或数据,使得当计算机系统读取并执行该代码和/或数据时,计算机系统执行相关的方法和过程。该方法和过程也可以部分或完全地体现在硬件模块或设备中,使得当硬件模块或设备被启动时,它们执行相关联的方法和过程。注意,方法和过程可以使用代码,数据和硬件模块或装置的组合来实现。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1