CN113361084A - 芯片设计方法、装置、设备、可读存储介质以及程序产品 - Google Patents
芯片设计方法、装置、设备、可读存储介质以及程序产品 Download PDFInfo
- Publication number
- CN113361084A CN113361084A CN202110579520.2A CN202110579520A CN113361084A CN 113361084 A CN113361084 A CN 113361084A CN 202110579520 A CN202110579520 A CN 202110579520A CN 113361084 A CN113361084 A CN 113361084A
- Authority
- CN
- China
- Prior art keywords
- sequential
- devices
- candidate
- chip design
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本公开提供一种芯片设计方法、装置、设备、可读存储介质以及程序产品。该芯片设计方法包括:通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数;至少基于当前设计的时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对M个候选时序器件进行筛选,以从中确定满足时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数;以及对N个待测试时序器件进行最终筛选过程,以确定最终时序器件。利用根据本公开实施例提供的芯片设计方法,能够提高芯片设计的效率,缩短芯片设计周期。
Description
技术领域
本公开的实施例涉及芯片设计技术领域,更具体地,涉及一种芯片设计方法、装置、设备、可读存储介质以及程序产品。
背景技术
随着数字集成电路系统的复杂性不断增加,电路设计复杂度也不断提高。例如,对于系统级芯片(System-on-a-Chip,SoC),组成SOC的功能模块的种类和数量也不断增加,系统中各个模块之间的数据交互也越来越复杂。在芯片设计过程中,需要基于设计要求来确定具体的器件。然而,诸如编译器等设计工具基于设定的设计要求能够遍历出许多个满足该要求的器件,为了从中确定满足当前设计要求且符合后端设计的最适合器件,需要对遍历得到的多个器件进行大量的筛选测试过程,这将耗费大量的设计时间和设计测试成本,降低了芯片设计效率且增加了芯片设计周期。
发明内容
本公开实施例提供了一种芯片设计方法、装置、设备、可读存储介质以及程序产品,用于提高芯片设计的效率,缩短芯片设计周期。
根据本公开的一方面,提供了一种芯片设计方法。该芯片设计方法包括:通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数;至少基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对M个候选时序器件进行筛选,以从中确定满足时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数;以及对N个待测试时序器件进行最终筛选过程,以确定最终时序器件。
根据本公开的一些实施例,时序器件包括存储器,约束条件包括存储器的容量、端口类型中的至少一个。
根据本公开的一些实施例,至少基于时钟周期、时序器件的建立时间和保持时间间,利用时序分析条件,对M个候选时序器件进行筛选包括:基于以下时序分析公式,对M个候选时序器件进行时序分析条件的约束,以从中确定满足时序分析公式的N个待测试时序器件,
T-2*Tu>Ts+Th,
其中,T表示时钟周期,其中,时钟周期为设计频率的倒数,Tu表示设计缺省时间,Ts表示时序器件的建立时间,Th表示时序器件的保持时间。
根据本公开的一些实施例,芯片设计方法还包括:对于M个候选时序器件中的候选时序器件,通过编译器获取该候选时序器件不同工艺角下的建立时间和保持时间。
根据本公开的一些实施例,对N个待测试时序器件进行最终筛选过程,以确定最终时序器件包括:对于N个待测试时序器件中的待测试时序器件,基于待测试时序器件的参数进行测试过程以确定最终时序器件,其中,参数包括以下中的至少一种:形状、面积、时序、功耗。
根据本公开的另一方面,还提供了一种芯片设计装置。该芯片设计装置包括:包括编译单元、时序分析单元和最终筛选单元,其中,编译单元配置成:通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数;时序分析单元配置成:至少基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对M个候选时序器件进行筛选,以从中确定满足时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数;以及最终筛选单元配置成:对N个待测试时序器件进行最终筛选过程,以确定最终时序器件。
根据本公开的一些实施例,时序器件包括存储器,约束条件包括存储器的容量、端口类型中的至少一个。
根据本公开的一些实施例,为了确定N个待测试时序器件,时序分析单元配置成:基于以下时序分析公式,对M个候选时序器件进行时序分析条件的约束,以从中确定满足时序分析公式的N个待测试时序器件,
T-2*Tu>Ts+Th,
其中,T表示时钟周期,其中,时钟周期为设计频率的倒数,Tu表示设计缺省时间,Ts表示时序器件的建立时间,Th表示时序器件的保持时间。
根据本公开的一些实施例,编译单元还配置成:对于M个候选时序器件中的候选时序器件,通过编译器获取该候选时序器件不同工艺角下的建立时间和保持时间。
根据本公开的一些实施例,为了确定最终时序器件,最终筛选单元配置成:对于N个待测试时序器件中的待测试时序器件,基于待测试时序器件的参数进行测试过程以确定最终时序器件,其中,参数包括以下中的至少一种:形状、面积、时序、功耗。
根据本公开的又一方面,还提供了一种用于芯片设计的设备。该用于芯片设计的设备包括:处理器;和存储器,其中,存储器中存储有计算机可读代码,计算机可读代码在由处理器运行时,执行如上所述的芯片设计方法。
根据本公开的又一方面,还提供了一种非暂时性计算机可读存储介质,其上存储有指令,指令在被处理器执行时,使得处理器执行如上所述的芯片设计方法。
根据本公开的又一方面,还提供了一种计算机程序产品,其包括计算机可读指令,计算机可读指令在被处理器执行时,使得处理器执行如上所述的芯片设计方法。
利用本公开实施例提供的芯片设计方法、装置、设备、可读存储介质以及程序产品,能够基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对由编译器确定的多个候选时序器件进行筛选,从中筛选出满足时序分析条件的待测试时序器件,由此排除了不满足时序分析条件的时序器件并避免了对此类时序器件的测试过程,从而实现提高芯片设计的效率,缩短芯片设计周期。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本公开实施例的芯片设计方法流程图;
图2示出了根据本公开实施例的示例时序示意图;
图3示出了根据本公开实施例的芯片设计装置的示意性框图;
图4示出了根据本公开实施例的芯片设计设备的示意性框图;
图5示出了根据本公开实施例的示例性计算设备的架构的示意图;
图6示出了根据本公开实施例的非暂时性计算机可读存储介质的示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
此外,如本公开和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
受性能驱动的设计电路(诸如Soc)规模不断增大,且手持移动类设计、嵌入式医疗、航天通信等产品在对功能要求提升的同时,对芯片设计效率的要求也不断增加,这使得芯片产品推向市场的时间周期不断被压缩。并且,随着数字集成电路复杂度的增加使得电路设计的复杂度也不断提高,如何有效提高设计效率、缩短芯片设计周期变得至关重要。
在芯片的设计阶段,基本流程主要包括寄存器传输级(Register TransistorLogic,RTL)代码设计、功能仿真、逻辑综合、时序分析等步骤。在逻辑综合阶段,需要依据设计的约束条件来基于器件库(例如工艺库等)确定器件的型号。例如,约束条件可以是电路在面积、时序等目标参数上需要达到的标准。然而,诸如编译器等工具基于约束条件能够遍历出许多个满足该要求的器件,为了从中确定满足设计要求的最适合的器件,需要对遍历得到的多个器件进行大量的筛选测试过程。
以存储器作为器件的具体示例,在现有芯片设计过程中,需要首先确定存储器关于容量和端口类型的约束条件,然后基于确定的容量和端口类型利用诸如存储器编译器(Compiler)来得到符合设计要求的存储器型号。然而,通常编译器可以遍历出多个(例如,几百个)满足要求的存储器,不同存储器的选择对后端芯片设计来说,影响非常大。为了从编译器遍历得到的多个存储器中确定满足设计需求且最适合的存储器(例如,最合适后端物理设计的存储器),还需要进一步地依据存储器的形状、面积、时序、功耗等物理信息进行大量的筛选测试过程,这将耗费大量的设计时间和设计测试成本,降低了芯片设计效率且增加了芯片设计周期。
为解决以上描述的以及相关技术问题,本公开的一些实施例提供了一种芯片设计方法,用于缩短器件筛选时间,提高芯片设计的效率,以在保证设计效果的同时缩短设计时间。具体的,在本文中涉及的芯片泛指各种类型的集成电路结构,诸如Soc、微处理器等,在此不作限制。所筛选的器件涉及需要满足时序约束的器件,例如存储器等,在此也不作限制。可以理解的是,除非另有定义,本文中使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。
为了更清楚地说明根据本公开实施例的芯片设计方法,图1示出了根据本公开实施例的芯片设计方法流程图。以下将结合图1来描述根据本公开实施例的芯片设计方法的实施过程。
如图1所示,首先在步骤S110,通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数。编译器可以是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。例如,在芯片设计过程中将使用各类编译器来选择器件,作为示例,编译器可以是集成电路编译器(IC Compiler)、存储器编译器(Memory Compiler)等,在此不作限制。
在此步骤S110中,可以理解的是,已经基于芯片设计要求获得了针对时序器件的非时序的设计要求来作为上述约束条件。此处的约束条件可以理解为设计过程中期望该器件所能达到的标准。例如,时序器件可以包括存储器,针对存储器的约束条件例如可以包括存储器的容量、端口类型中的至少一个,在此情形下,约束条件为该存储器目标应实现的容量以及端口类型。此外,约束条件还可以是设计频率等,在此不作限制。根据本公开的其他实施例,时序器件也可以是除存储器之外的其他器件,例如,触发器、计数器、寄存器等,在此不再一一列举。
由此在步骤S110中,利用编译器可以在诸如器件库中遍历得到满足约束条件的多个候选时序器件,一般地,遍历得到的候选时序器件的个数比较多,诸如几百个。为了对获得的多个候选时序器件进行进一步地筛选,进行以下步骤S120。
如图1所示,在步骤S120中,至少基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对M个候选时序器件进行筛选,以从中确定满足时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数。
根据本公开的一些实施例,时钟周期可以是芯片设计过程中针对该时序器件的设计频率的倒数。根据本公开的一些实施例,建立时间(setup)可以是指触发器的输入在时钟边缘之前保持稳定所需的时间量,保持时间(hold)可以是指触发器的输入在一个时钟边沿后保持稳定所需的最小时间量,此处的时序器件的建立时间和保持时间可以是该时序器件自身的建立时间以及其自身的保持时间(hold),这两者对于触发器来说是固定的参数。例如,可以通过编译器来获取该候选时序器件不同工艺角下的建立时间和保持时间。
根据本公开的一些实施例,芯片设计方法还可以包括:对于M个候选时序器件中的候选时序器件,通过编译器获取该候选时序器件不同工艺角下的建立时间和保持时间。例如,在利用编译器基于约束条件遍历得到候选时序器件之后,可以获得该候选时序器件的建立时间以及该候选时序器件的保持时间,以用于步骤S120中的基于时序分析条件的筛选过程。
此外,关于时序分析条件将在下文详细。
接着如图1所示,在步骤S130,对N个待测试时序器件进行最终筛选过程,以确定最终时序器件。根据本公开的一些实施例,对N个待测试时序器件进行最终筛选过程,以确定最终时序器件可以包括:对于N个待测试时序器件中的待测试时序器件,基于待测试时序器件的参数进行测试过程以确定最终时序器件,其中,参数包括以下中的至少一种:形状参数、面积参数、时序参数、功耗参数。
以时序器件为存储器作为示例,不同型号的存储器在形状、时序、面积、功耗等参数各不相同,选择不同参数的存储器对后端设计来说具有很大影响。由此,对于经过约束条件、时序分析条件确定的待测试存储器,可以基于存储器的面积、时序、功耗等物理信息,进一步从中筛选出满足物理设计需求的存储器。例如,此处的时序参数可以是指时序器件的一些固有时序参数,例如一个时钟周期内的低电平脉宽、高电平脉宽、自身延时等。物理设计需求例如可以是PPA(Performance,Power,Area),其中综合考虑了器件的性能、低功耗表现以及面积(影响成本)等,以尽可能地确定出最合适的时序器件,优化芯片设计效果。可以理解的是,在最终筛选过程中所依据的参数还可以是时序器件的其他参数,例如,存储器的漏流(Leakage)参数、外围参数(Periphery)等,在此不作限制。
在根据本公开的其他实施例中,对N个待测试时序器件进行最终筛选过程以确定最终时序器件还可以依据基于所述时序分析条件所确定的时序分析参数,关于时序分析参数,将在下文介绍。
根据本公开实施例,在步骤S120中,利用时序分析条件,可以实现对于M个候选时序器件的进一步筛选过程,即,从中确定满足时序分析条件的N个待测试时序器件,N小于M。也就是说,基于时序分析条件来提前剔除不符合时序分析的器件,以避免对此类不符合时序条件的器件进行最终筛选过程,从而节约了芯片设计时间。另一方面,设计人员也可以将更多的设计重点放在从确定的待测试时序器件中进行最终筛选过程,避免在不满足时序约束条件的器件上花费设计时间。
在根据本公开一些实施例的芯片设计方法中,首先,将时序器件的设计要求作为约束条件,通过编译器来初步筛选出符合设计要求的时序器件作为候选时序器件,例如,通过存储器编译器筛选出满足存储容量和端口类型的一些存储器作为候选。接着,在根据本公开的一些实施例中,为了进一步减少候选时序器件的数量,还基于时序分析条件,对由编译器确定的多个候选时序器件进行再次筛选,从中筛选出满足时序分析条件的待测试时序器件,关于基于时序分析条件进行筛选的过程将在下文详细介绍。最后,对于N个待测试时序器件进行最终筛选过程,以确定最终时序器件。最终筛选过程可以包括基于待测试时序器件的物理参数(例如,形状、面积、功耗等参数)来最终确定满足物理设计需求的最合适的时序器件。
在芯片设计的相关技术中,一般在逻辑综合过程之后进行静态时序分析(StaticTiming Analysis)过程,即,在针对芯片确定了各类器件之后,对芯片整体或某些时序器件进行时序分析。时序分析的主要目是在可能的电路偏移(skew)情况存在的情况下,验证所有信号能够准时到达对应接口,并保证电路的正常功能。
在根据本公开的实施例中,在时序器件的选择过程中就提前考虑了时序器件的时序分析条件,以尽早地排除可能不符合时序要求的器件,节约了芯片设计的时间成本以及分析、验证成本。
接下来,将详细描述以上步骤S120中利用时序分析条件确定待测试时序器件的过程。
根据本公开的一些实施例,至少基于时钟周期、时序器件的建立时间和保持时间间,利用时序分析条件,对M个候选时序器件进行筛选包括:基于以下时序分析公式,对M个候选时序器件进行时序分析条件的约束,以从中确定满足时序分析公式的N个待测试时序器件,
T-2*Tu>Ts+Th (1)
其中,T表示时钟周期,其中,时钟周期为设计频率的倒数,Tu表示设计缺省时间,Ts表示时序器件的建立时间,Th表示时序器件的保持时间。
关于以上时序分析条件(1),以下给出其推导过程,其中,图2示出了根据本公开实施例的示例时序示意图。
在对于时序器件的静态分析过程中,通常需要评估时序器件的建立时间裕量(setup slack)以及保持时间裕量(hold slack),其中,时序器件的建立时间裕量可以表示在时钟信号到来之前数据保持稳定不变的时间,例如,如果时序器件的建立时间不够长,数据将不能在这个时钟跳变沿被打入时序器件。根据本公开的一些实施例,时序器件的保持时间裕量可以表示在时钟信号到来之后数据保持稳定不变的时间,例如,如果时序器件的保持时间不够长,数据同样不能被打入时序器件。
由此,在进行静态分析过程中需要计算时序器件的建立时间裕量以及保持时间裕量以确定该时序器件是否存在时序违例,如果存在违例则可能需要通过更改设计或约束、降频等方式来进行修正,以使得时序器件满足静态时序分析要求。
在根据本公开的一些实施例中,将建立时间裕量以及保持时间裕量总结为以下公式(2)-(3):
Setupslack=(skew+T-Tu+CPPR)-(Tr+Tdata+Ts)(2)
Holdslack=(-skew+Tr+Tdata)-(Tu+Th-CPPR) (3)
其中,Setupslack表示建立时间裕量,Hold slack表示保持时间裕量。skew表示时钟偏移,是指两个相同的系统时钟之间的偏移。T表示时钟周期,其可以是设计频率的倒数。Tu表示设计缺省时间,例如,Tu可以是时序分析中需要考虑的时序信号在时序器件时钟引脚上的不确定性(clock uncertainty)。CPPR表示共同路径悲观去除(Clock PathPessimism Removal)。Tr表示时序器件之间的时钟延迟,例如,如图2所示,Tr可以是两个寄存器(REG1与REG2)之间的时钟延迟。Tdata表示两个时序器件之间的数据延迟,例如,如图2所示,Tdata可以是两个寄存器(REG1与REG2)之间的数据延迟。
在静态时序分析过程中,基于以上公式(2)-(3)可以确定时序器件的时钟是否存在违例,其中需要考虑诸如skew、Tu、CPPR、Tr、Tdata等各个时钟相关参数对于设计的影响。
在根据本公开实施例的方法中,在进行时序器件的筛选阶段即将时序分析中需要考虑的部分条件引用进来,以排除掉不符合时序约束的器件。具体的,在不存在时序违例的情况下,对于以上公式(2)-(3),Setupslack和Holdslack需要大于0,并且,在此筛选阶段由于并没有实际的时钟,因此去除时钟本身带来的影响,将时钟完全做平,以使得skew和CPPR等于0,从而去掉skew和CPPR的实际影响,基于以上,对公式(2)-(3)进行化简以得到公式(4)-(5):
Setupslack=T-Tu-Tr-Tdata-Ts>0 (4)
Holdslack=Tr+Tdata-Tu-Th>0 (5)
接着,对以上公式(4)-(5)进行调整得到公式(6)-(7):
T-Tu-Ts>Tr+Tdata(6)
Tr+Tdata>Tu+Th (7)
基于以上公式(6)-(7),通过将公式(7)代入公式(6)可以得到以下公式(8):
T-Tu-Ts>Tu+Th (8)
进一步地,调整公式(8)可以得到公式(9):
T-2*Tu>Ts+Th (9)
此处推导得到的公式(9)与上文列出的公式(1)是一致的,即作为时序分析公式。基于该时序分析公式,可以对由编译器基于约束条件确定的候选时序器件进行筛选以确定待测试时序器件,即,排除掉不符合时序分析公式的器件。可以理解的是,此处用于时序器件筛选的时序分析条件并不等同于上述静态时序分析过程。时序分析条件用于在例如逻辑综合阶段进行器件筛选,以减少候选时序器件的数量,其中,并未考虑真实的时钟,例如,将skew和CPPR设置为等于0。
在以上时序分析公式(9)中,作为示例,T为设计频率的倒数,例如等于625ps,可以将Tu设置为固定值,例如Tu等于50ps,Ts以及Th可以由编译器获得。
以下以时序器件为静态随机存取存储器(StaticRandom-AccessMemory,SRAM)作为示例来具体描述利用时序分析公式来进行器件筛选的过程。
首先,基于包括容量和端口类型的约束条件,通过Memory Compiler可以筛选得到M个候选SRAM,例如,针对3种类型的SRAM得到以下表1中示出的器件:
表1基于约束条件筛选时序器件
SRAM类型 | 数目 |
32768×72 | 32 |
16384×72(高密度,HD) | 28 |
16384×72(高速率,HS) | 36 |
其中,在表1中,共包括M=96个SRAM,即基于约束条件编译器筛选得到96个候选时序器件。
接着,例如可以从编译器获得以上候选时序器件的建立时间和保持时间,以基于时序分析条件来从该96个候选时序器件中筛选出满足时序要求的待测试时序器件。针对表1中示出的三种SRAM,具体时钟分析筛选结果示出在表2中:
表2基于时序分析条件筛选时序器件
SRAM类型 | Ts | Th | T-2*Tu | Ts+Th | 差值 |
32768×72 | 436 | 162 | 625-2*50=525 | 598 | -73 |
16384×72(HD) | 387 | 139 | 625-2*50=525 | 526 | -1 |
16384×72(HS) | 100 | 115 | 625-2*50=525 | 215 | 310 |
基于以上示出的表2可以确定,由于32768×72类型的SRAM以及16384×72(HD)类型的SRAM的自身的建立时间和保持时间无法满足以上如公式(9)示出的时序分析条件,因此均无法满足设计要求,其将在后续的静态时序分析中将产生时序违例而无法实现预期功能。对于16384×72(HS)类型的SRAM,由于其T-2*Tu>Ts+Th而可以满足设计要求,从而可以作为待检测时序器件,以用于进行最终筛选过程。例如,进一步基于物理参数来进行筛选以确定更合适的器件。
以上基于时序分析条件计算得到的参数可以表示为时序分析参数,例如,时序分析参数可以是表2中示出的差值。根据本公开的一些实施例中,对N个待测试时序器件进行最终筛选过程以确定最终时序器件,还可以依据基于所述时序分析条件所确定的时序分析参数,例如,以上差值的数值越大则表示时序器件越可能尽量满足后续的静态时序分析的要求,由此,最终筛选过程以确定最终时序器件还可以基于该时序分析参数,例如,选择时序分析参数的数值较大的时序器件作为所述最终时序器件。
在以上基于表1和表2的示例中,通过利用建立的时序分析条件能够将候选时序器件的数目从M=96个减少到N=36个,由此可以在时序器件的选择过程中即考虑时序器件的时序分析条件,以尽早地排除可能不符合时序要求的器件,节约了芯片设计的时间成本以及分析、验证成本。
利用本公开实施例提供的芯片设计方法,能够基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对由编译器确定的多个候选时序器件进行筛选,从中筛选出满足时序分析条件的待测试时序器件,由此排除了不满足时序分析条件的时序器件并避免了对此类时序器件的测试过程,从而在设计前期就排除掉不符合时序要求的器件,从而减少候选时序器件的数量,以实现提高芯片设计的效率,缩短芯片设计周期。
根据本公开的另一方面,还提供了一种芯片设计装置,用于提高芯片设计效率,缩短芯片设计周期。具体的,在根据本公开实施例的芯片设计装置中,能够基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对由编译器确定的多个候选时序器件进行筛选,从中筛选出满足时序分析条件的待测试时序器件,由此排除了不满足时序分析条件的时序器件并避免了对此类时序器件的测试过程,即在设计前期就排除掉不符合时序要求的器件,由此节约芯片设计的时间成本以及分析、验证成本。
图3示出了根据本公开实施例的芯片设计装置的示意性框图。如图3所示,芯片设计装置1000可以包括编译单元1010、时序分析单元1020以及最终筛选单元1030。
根据本公开的一些实施例,编译单元1010可以配置成:通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数。根据本公开的一些实施例,时序分析单元1020可以配置成:至少基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对M个候选时序器件进行筛选,以从中确定满足时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数。根据本公开的一些实施例,最终筛选单元1030可以配置成:对N个待测试时序器件进行最终筛选过程,以确定最终时序器件。
根据本公开的一些实施例,时序器件包括存储器,约束条件包括存储器的容量、端口类型中的至少一个。
根据本公开的一些实施例,为了确定N个待测试时序器件,时序分析单元1020可以配置成:基于以下时序分析公式,对M个候选时序器件进行时序分析条件的约束,以从中确定满足时序分析公式的N个待测试时序器件,
T-2*Tu>Ts+Th
其中,T表示时钟周期,其中,时钟周期为设计频率的倒数,Tu表示设计缺省时间,Ts表示时序器件的建立时间,Th表示时序器件的保持时间。
根据本公开的一些实施例,编译单元1010还可以配置成:对于M个候选时序器件中的候选时序器件,通过编译器获取该候选时序器件不同工艺角下的建立时间和保持时间。
根据本公开的一些实施例,为了确定最终时序器件,最终筛选单元1030可以配置成:对于N个待测试时序器件中的待测试时序器件,基于待测试时序器件的参数进行测试过程以确定最终时序器件,其中,参数包括以下中的至少一种:形状、面积、时序、功耗。
关于芯片设计装置1000执行的步骤可以参照以上结合附图描述的根据本公开的芯片设计方法,在此不再重复描述。
根据本公开的又一方面,还提供了一种芯片设计设备。图4示出了根据本公开实施例的芯片设计设备的示意性框图。
如图4所示,芯片设计设备2000可以包括处理器2010以及存储器2020。根据本公开实施例,存储器2020中存储有计算机可读代码,该计算机可读代码当由处理器2010运行时,执行如上所述的芯片设计方法。
处理器2010可以根据存储在存储器2020中的程序执行各种动作和处理。具体地,处理器2010可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或者是ARM架构等。
存储器2020存储有计算机可执行指令代码,该指令代码在被处理器2010执行时用于实现根据本公开实施例的芯片设计方法。存储器2020可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本公开实施例的方法或装置也可以借助于图5所示的计算设备3000的架构来实现。如图5所示,计算设备3000可以包括总线3010、一个或多个CPU 3020、只读存储器(ROM)3030、随机存取存储器(RAM)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如ROM 3030或硬盘3070可以存储本公开提供的芯片设计方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图5所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图5示出的计算设备中的一个或多个组件。作为示例,上述计算设备3000可以实现为安装有芯片设计应用程序的计算机,芯片设计应用程序例如可以是集成电路编译器(IC Compiler)、存储器编译器(Memory Compiler),又例如,设计应用程序也可以是其他应用程序,在此不作限制。
根据本公开的又一方面,还提供了一种非暂时性计算机可读存储介质。图6示出了根据本公开实施例的非暂时性计算机可读存储介质的示意图。
如图6所示,计算机可读存储介质4020上存储有指令,指令例如是计算机可读指令4010。当计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的芯片设计方法。计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。例如,计算机可读存储介质4020可以连接于诸如计算机等的计算设备,接着,在计算设备运行计算机可读存储介质4020上存储的计算机可读指令4010的情况下,可以进行如上所述的芯片设计方法。
根据本公开的又一方面,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序包括计算机可读指令,该计算机可读指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机可读指令,处理器执行该计算机可读指令,使得该计算机设备执行上述各个实施例中描述的芯片设计方法。
利用本公开实施例提供的芯片设计方法、装置、设备、可读存储介质以及程序产品,能够基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对由编译器确定的多个候选时序器件进行筛选,从中筛选出满足时序分析条件的待测试时序器件,由此排除了不满足时序分析条件的时序器件并避免了对此类时序器件的测试过程,从而在设计前期就排除掉不符合时序要求的器件,从而减少候选时序器件的数量,以实现提高芯片设计的效率,缩短芯片设计周期。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (13)
1.一种芯片设计方法,包括:
通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数;
至少基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对所述M个候选时序器件进行筛选,以从中确定满足所述时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数;
对所述N个待测试时序器件进行最终筛选过程,以确定最终时序器件。
2.根据权利要求1所述的方法,其中,所述时序器件包括存储器,所述约束条件包括所述存储器的容量、端口类型中的至少一个。
3.根据权利要求1所述的方法,其中,所述至少基于时钟周期、时序器件的建立时间和保持时间间,利用时序分析条件,对所述M个候选时序器件进行筛选包括:
基于以下时序分析公式,对所述M个候选时序器件进行时序分析条件的约束,以从中确定满足所述时序分析公式的N个待测试时序器件,
T-2*Tu>Ts+Th,
其中,T表示所述时钟周期,其中,所述时钟周期为设计频率的倒数,Tu表示设计缺省时间,Ts表示时序器件的建立时间,Th表示时序器件的保持时间。
4.根据权利要求3所述的方法,还包括:
对于所述M个候选时序器件中的候选时序器件,通过所述编译器获取该候选时序器件不同工艺角下的建立时间和保持时间。
5.根据权利要求1所述的方法,其中,对所述N个待测试时序器件进行最终筛选过程,以确定最终时序器件包括:
对于所述N个待测试时序器件中的待测试时序器件,基于所述待测试时序器件的参数进行所述测试过程以确定所述最终时序器件,其中,所述参数包括以下中的至少一种:形状、面积、时序、功耗。
6.一种芯片设计装置,包括编译单元、时序分析单元和最终筛选单元,其中,
所述编译单元配置成:通过编译器确定满足约束条件的M个候选时序器件,其中,M为大于1的整数;
所述时序分析单元配置成:至少基于时钟周期、时序器件的建立时间和保持时间,利用时序分析条件,对所述M个候选时序器件进行筛选,以从中确定满足所述时序分析条件的N个待测试时序器件,其中,N为大于或等于1且小于M的整数;
所述最终筛选单元配置成:对所述N个待测试时序器件进行最终筛选过程,以确定最终时序器件。
7.根据权利要求6所述的装置,其中,所述时序器件包括存储器,所述约束条件包括所述存储器的容量、端口类型中的至少一个。
8.根据权利要求6所述的装置,其中,为了确定所述N个待测试时序器件,所述时序分析单元配置成:
基于以下时序分析公式,对所述M个候选时序器件进行时序分析条件的约束,以从中确定满足所述时序分析公式的N个待测试时序器件,
T-2*Tu>Ts+Th,
其中,T表示所述时钟周期,其中,所述时钟周期为设计频率的倒数,Tu表示设计缺省时间,Ts表示时序器件的建立时间,Th表示时序器件的保持时间。
9.根据权利要求8所述的装置,其中,所述编译单元还配置成:
对于所述M个候选时序器件中的候选时序器件,通过所述编译器获取该候选时序器件不同工艺角下的建立时间和保持时间。
10.根据权利要求6所述的装置,其中,为了确定所述最终时序器件,所述最终筛选单元配置成:
对于所述N个待测试时序器件中的待测试时序器件,基于所述待测试时序器件的参数进行所述测试过程以确定所述最终时序器件,其中,所述参数包括以下中的至少一种:形状、面积、时序、功耗。
11.一种芯片设计设备,包括:
处理器;和存储器,其中,所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述处理器运行时,执行如权利要求1-5中任一项所述的芯片设计方法。
12.一种非暂时性计算机可读存储介质,其上存储有指令,所述指令在被处理器执行时,使得所述处理器执行如权利要求1-5中任一项所述的芯片设计方法。
13.一种计算机程序产品,其包括计算机可读指令,所述计算机可读指令在被处理器执行时,使得所述处理器执行如权利要求1-5中任一项所述的芯片设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110579520.2A CN113361084B (zh) | 2021-05-26 | 2021-05-26 | 芯片设计方法、装置、设备、可读存储介质以及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110579520.2A CN113361084B (zh) | 2021-05-26 | 2021-05-26 | 芯片设计方法、装置、设备、可读存储介质以及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113361084A true CN113361084A (zh) | 2021-09-07 |
CN113361084B CN113361084B (zh) | 2023-02-07 |
Family
ID=77527678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110579520.2A Active CN113361084B (zh) | 2021-05-26 | 2021-05-26 | 芯片设计方法、装置、设备、可读存储介质以及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361084B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639124A (zh) * | 2013-11-08 | 2015-05-20 | 联芯科技有限公司 | 提高时序器件输入信号的建立时间和保持时间裕量的方法和电路 |
CN105759195A (zh) * | 2016-02-24 | 2016-07-13 | 复旦大学 | 基于精细调相的建立保持时间测试系统和方法 |
CN111579959A (zh) * | 2019-02-15 | 2020-08-25 | 深圳市汇顶科技股份有限公司 | 芯片验证方法、装置及存储介质 |
CN111858412A (zh) * | 2020-06-23 | 2020-10-30 | 深圳市飞仙智能科技有限公司 | 调整时序的方法、装置、计算机设备及介质 |
US10956639B1 (en) * | 2019-12-31 | 2021-03-23 | Arcadia Innovation Incorporated | Method to reduce full-chip timing violation through time budgeting in integrated circuit design |
-
2021
- 2021-05-26 CN CN202110579520.2A patent/CN113361084B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639124A (zh) * | 2013-11-08 | 2015-05-20 | 联芯科技有限公司 | 提高时序器件输入信号的建立时间和保持时间裕量的方法和电路 |
CN105759195A (zh) * | 2016-02-24 | 2016-07-13 | 复旦大学 | 基于精细调相的建立保持时间测试系统和方法 |
CN111579959A (zh) * | 2019-02-15 | 2020-08-25 | 深圳市汇顶科技股份有限公司 | 芯片验证方法、装置及存储介质 |
US10956639B1 (en) * | 2019-12-31 | 2021-03-23 | Arcadia Innovation Incorporated | Method to reduce full-chip timing violation through time budgeting in integrated circuit design |
CN111858412A (zh) * | 2020-06-23 | 2020-10-30 | 深圳市飞仙智能科技有限公司 | 调整时序的方法、装置、计算机设备及介质 |
Non-Patent Citations (2)
Title |
---|
徐雁玲.: "抗辐射MCU芯片的物理设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》, no. 01, 15 January 2021 (2021-01-15), pages 135 - 352 * |
杨展悌,等.: "基于先进 FDSOI SRAM的存内计算架构实现快速与低功耗的CNN处理", 《微纳电子与智能制造》, vol. 3, no. 1, 31 March 2021 (2021-03-31), pages 159 - 173 * |
Also Published As
Publication number | Publication date |
---|---|
CN113361084B (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8336010B1 (en) | Design-specific on chip variation de-rating factors for static timing analysis of integrated circuits | |
US20130179142A1 (en) | Distributed parallel simulation method and recording medium for storing the method | |
US10423742B2 (en) | Method to perform full accuracy hierarchical block level timing analysis with parameterized chip level contexts | |
US10740520B2 (en) | Pessimism in static timing analysis | |
US7882483B2 (en) | Method for checking constraints equivalence of an integrated circuit design | |
CN112818621B (zh) | 用于预测软ip部件的性能、功率和面积表现的系统和方法 | |
US8539413B1 (en) | Frequency optimization using useful skew timing | |
US7487483B2 (en) | Clock model for formal verification of a digital circuit description | |
Li et al. | On timing model extraction and hierarchical statistical timing analysis | |
US8423843B2 (en) | Method and system thereof for optimization of power consumption of scan chains of an integrated circuit for test | |
May et al. | Voltage over-scaling in sequential circuits for approximate computing | |
US20040210861A1 (en) | System and method for optimizing exceptions | |
CN117350208A (zh) | 时序逻辑元件性能检查方法及设备 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
US10162917B1 (en) | Method and system for implementing selective transformation for low power verification | |
CN113723045A (zh) | 数字集成电路的设计方法 | |
CN113361084B (zh) | 芯片设计方法、装置、设备、可读存储介质以及程序产品 | |
Seo et al. | Clock skew optimization for maximizing time margin by utilizing flexible flip-flop timing | |
Garg | Common path pessimism removal: An industry perspective: Special session: Common path pessimism removal | |
US8350620B2 (en) | Integrated circuit power consumption calculating apparatus and processing method | |
US12073159B2 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US11531803B1 (en) | IPBA-driven full-depth EPBA of operational timing for circuit design | |
US11068632B2 (en) | Simulation apparatus, description conversion method and simulation method | |
CN113640575A (zh) | 功率估计系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |