CN112613262B - 快速验证ip关键路径时序的方法、装置及电子设备 - Google Patents

快速验证ip关键路径时序的方法、装置及电子设备 Download PDF

Info

Publication number
CN112613262B
CN112613262B CN202011469534.0A CN202011469534A CN112613262B CN 112613262 B CN112613262 B CN 112613262B CN 202011469534 A CN202011469534 A CN 202011469534A CN 112613262 B CN112613262 B CN 112613262B
Authority
CN
China
Prior art keywords
delay
time sequence
current
critical path
timing
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.)
Active
Application number
CN202011469534.0A
Other languages
English (en)
Other versions
CN112613262A (zh
Inventor
张伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011469534.0A priority Critical patent/CN112613262B/zh
Publication of CN112613262A publication Critical patent/CN112613262A/zh
Application granted granted Critical
Publication of CN112613262B publication Critical patent/CN112613262B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/337Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明的实施例公开了一种快速验证IP关键路径时序的方法、装置及电子设备,涉及集成电路技术领域,用于缩短传统验证IP关键路径时序所需要的时间。所述快速验证IP关键路径时序的方法包括:获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟;根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;根据所述时序余量,验证IP关键路径的时序。本发明适用于需要验证IP关键路径时序的场合。

Description

快速验证IP关键路径时序的方法、装置及电子设备
技术领域
本发明涉及集成电路技术领域,尤其涉及一种快速验证IP关键路径时序的方法、装置、电子设备及存储介质。
背景技术
目前,集成电路设计模式分为Top-down(自顶向下)模式和Bottom-up(自底向上)模式。Top-down设计模式中,直接在顶层设计所有的电路模块,所有的电路模块同时被编译以及验证。这种设计模式的优点是能够一次性对整个电路进行设计和优化,缺点是当电路中晶体管的数量较为庞大时,设计流程中仿真以及验证时间非常长,整个电路的时序也很难收敛,所以只适合于较小规模集成电路设计。大规模集成电路设计中,一般都会选择Bottom-up设计模式。Bottom-up设计模式中,首先会将底层较小规模的电路模块制作成小的IP(Intellectual Property,知识产权核,本文中指的是设计者拥有知识产权的集成电路),然后按照预先设计的功能,将IP组合在一起形成较大规模的集成电路,再将较大规模的集成电路制作成较大的IP,然后再组合形成规模更大的集成电路。按照这个流程不断向上集成,最终在顶层设计成为超大规模集成电路。
根据电路功能制作的IP,在向上层交付的数据包中,一份重要的文件是liberty文件。Liberty文件包含了IP端口的时序参数,顶层设计中一般通过静态时序分析(StaticTiming Analysis,STA)的方式来验证IP端口的时序是否满足设计要求。静态时序分析,即通过静态数学计算的方法来验证电路路径的时序,是目前主流的验证大规模集成电路时序的分析方法。通过验证IP端口上的路径是否存在时序违例(timing violation),来判断IP的功能是否符合顶层的设计需求,如果IP端口的时序不存在违例,即认为电路的功能符合预期,如果IP端口的时序存在违例,则意味着IP的电路设计需要优化,重新生成新的liberty文件,然后再通过STA的方法再次验证IP端口的时序。通过这种迭代的方法,最终消除IP端口上所有的时序违例。
IP设计完成后,生成的liberty文件一般包含输入端口的setup值和输出端口的delay值。顶层设计中,IP端口的时序违例一般出现在时序约束紧张的端口上,输入端口上出现时序违例的原因是端口的setup值太大,输出端口上出现时序违例的原因是端口的delay值太大。IP端口容易出现时序违例,意味着这些端口处在关键路径(critical path)上。关键路径指的是电路中容易出现时序违例的路径,关键路径上的延迟通常比较大,是制约电路工作频率的瓶颈,也是电路中较难优化设计的部分,所以减小关键路径上的延迟是提升电路工作性能的重要方案。IP端口出现在关键路径上,意味着要对IP端口电路做设计优化,最终使得端口的时序满足要求。现有技术中,完全验证IP关键路径的时序会消耗很长的时间,拉长整个芯片的设计周期。
发明内容
有鉴于此,本发明实施例提供一种快速验证IP关键路径时序的方法、装置、电子设备及存储介质,以缩短传统验证IP关键路径时序所需要的时间。
第一方面,本发明实施例提供一种快速验证IP关键路径时序的方法,包括:
获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;
根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟;
根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;
根据所述时序余量,验证IP关键路径的时序。
结合第一方面,在第一方面的一种实施方式中,所述根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟,包括:
对于IP输入端口,其在参考工艺中的输入延迟为:参考工作周期与该IP输入端口的setup值之差,该IP输入端口的setup值从所述参考liberty文件中提取得到;
对于IP输出端口,其在参考工艺中的输出延迟为:参考工作周期与该IP输出端口的delay值之差,该IP输出端口的delay值从所述参考liberty文件中提取得到。
结合第一方面,在第一方面的另一种实施方式中,所述根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟,包括:
根据电路仿真,计算标准单元在当前工艺中的延迟相比于该标准单元在参考工艺中的延迟的比值;
根据所述比值和IP在参考工艺中的延迟,计算IP在当前工艺中的延迟。
结合第一方面,在第一方面的再一种实施方式中,所述根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量,包括:
获取IP的当前liberty文件和当前工作周期;
对于IP输入端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输入端口的setup值之差,该IP输入端口的setup值从当前liberty文件中提取得到;
对于IP输出端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输出端口的delay值之差,该IP输出端口的delay值从当前liberty文件中提取得到。
结合第一方面,在第一方面的又一种实施方式中,所述根据所述时序余量,验证IP关键路径的时序,包括:
若所述时序余量大于零,则表明IP关键路径的时序满足要求,不需要优化IP电路;
若所述时序余量小于零,则表明IP关键路径的时序不满足要求,需要优化IP端口的电路,电路优化之后重新执行上述步骤,直至所述时序余量大于零。
第二方面,本发明实施例提供一种快速验证IP关键路径时序的装置,包括:
获取模块,用于获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;
第一计算模块,用于根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟;
第二计算模块,用于根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
第三计算模块,用于根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;
验证模块,用于根据所述时序余量,验证IP关键路径的时序。
结合第二方面,在第二方面的一种实施方式中,所述第一计算模块中,对于IP输入端口,其在参考工艺中的输入延迟为:参考工作周期与该IP输入端口的setup值之差,该IP输入端口的setup值从所述参考liberty文件中提取得到;对于IP输出端口,其在参考工艺中的输出延迟为:参考工作周期与该IP输出端口的delay值之差,该IP输出端口的delay值从所述参考liberty文件中提取得到。
结合第二方面,在第二方面的另一种实施方式中,所述第二计算模块,还用于根据电路仿真,计算标准单元在当前工艺中的延迟相比于该标准单元在参考工艺中的延迟的比值;根据所述比值和IP在参考工艺中的延迟,计算IP在当前工艺中的延迟。
结合第二方面,在第二方面的再一种实施方式中,所述第三计算模块,还用于获取IP的当前liberty文件和当前工作周期;对于IP输入端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输入端口的setup值之差,该IP输入端口的setup值从当前liberty文件中提取得到;对于IP输出端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输出端口的delay值之差,该IP输出端口的delay值从当前liberty文件中提取得到。
结合第二方面,在第二方面的又一种实施方式中,所述验证模块中,若所述时序余量大于零,则表明IP关键路径的时序满足要求,不需要优化IP电路;若所述时序余量小于零,则表明IP关键路径的时序不满足要求,需要优化IP端口的电路,电路优化之后转至所述获取模块重新执行,直至所述时序余量大于零。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一所述的方法。
本发明实施例提供的一种快速验证IP关键路径时序的方法、装置、电子设备及存储介质,避开了传统的物理设计流程中花费很长的时间来进行芯片布局布线的步骤,利用参考工艺中的参考liberty文件和参考工作周期,再结合工艺演进过程不同工艺之间延迟比值,可以快速的计算IP关键路径端口的输入延迟和输出延迟,再利用STA的算法,可以快速的计算IP关键路径的时序余量Slack;根据计算得到的Slack,在IP设计阶段,直接进行IP电路的优化设计。这样能够极大的缩短验证IP关键路径时序的时间,保证第一次就能够将优化之后的IP数据包交付给后端设计部门,缩短了IP关键路径上时序验证的时间,也缩短了整个芯片的设计时间,同时可以提高IP设计的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中IP端口时序验证示例图;
图2为现有技术中IP端口时序验证流程图;
图3为本发明的快速验证IP关键路径时序的方法一个实施例的流程示意图;
图4为本发明的快速验证IP关键路径时序的方法的原理图;
图5为本发明的快速验证IP关键路径时序的装置一个实施例的结构示意图;
图6为本发明的电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先,对现有技术中验证IP关键路径的时序会消耗很长时间的原因进行详细说明。
图1展示了常规的IP端口时序验证的示例图,IP的时钟信号端口为CLK,输入信号端口为Da,输出信号端口为Qb。DFF1与DFF2是两个主从逻辑触发器,触发器的时钟信号为CLK,DFF1在CLK上升沿的时候将数据发送到端口Q1,DFF2在CLK上升沿的时候将数据接收到端口D2。考虑端口Da与Qb均位于关键路径上的情况,与Da有关的时序路径timing path1由DFF1时钟信号CLK发起,将数据发送到Q1,再经过组合逻辑Comb1传输到IP输入端口Da,与Qb有关的时序路径timing path2由IP时钟信号CLK发起,将数据发送到Qb,再经过组合逻辑Comb2传输到DFF2的输入端口D2。一般情况下,信号需要在一个时钟周期内从DFF1传输到IP的Da端口,或者从IP传输到DFF2的输入端口D2,才能保证整个电路的时序不会出现差错。
设定IP的工作时钟周期等于Tcyc,根据STA的算法,Da的时序路径timing path1的余量Slack:
Slack=Tcyc-(delay_CLK_Q1+delay_Comb1+setup_Da)
其中,delay_CLK_Q1是DFF1中CLK到输出端口Q1的延迟时间,delay_Comb1是Q1到IP端口Da之间组合逻辑Comb1的延迟时间,setup_Da是IP输入端口Da的信号约束时间,Da必须要满足setup_Da的约束才能保证IP接收到准确的数据。如果Slack>0,则说明timingpath1不存在时序违例,时序满足设计要求;如果Slack<0,则说明timing path1存在时序违例,时序不满足要求,需对timing pathl上的延迟做优化。
对于端口Da而言,delay_CLK_Q1的延迟加上delay_Comb1等于Da的输入延迟。
对于输出端口Qb而言,根据STA的算法,时序路径timing path2的余量Slack:
Slack=Tcyc-(delay_CLK_Qb+delay_Comb2+setup_D2)
其中,delay_CLK_Qb是IP中CLK到输出端口Qb的延迟时间,delay_Comb2是Qb到DFF2端口D2之间组合逻辑Comb2的延迟时间,setup_D2是DFF2输入端口D2的信号约束时间,D2必须要满足setup_D2的约束才能保证DFF2接收到准确的数据。如果Slack>0,则说明timing path2不存在时序违例,时序满足设计要求;如果Slack<0,则说明timing path2存在时序违例,时序不满足要求,需对timing path2上的延迟做优化。
对于端口Qb而言,delay_Comb2的延迟加上setup_D2等于Qb的输出延迟。
图2展示了常规的IP端口时序验证的流程图,IP设计完成后,制作成数据包交付给后端设计部门(Back-end)做物理设计。物理设计指的是芯片实际布局布线的设计步骤,大约包括三个步骤:芯片的布局规划、时钟树设计和芯片的信号布线。第一步芯片的布局规划,指的是按照功能将IP摆放在最合适的位置,第二步时钟树设计,指的是整个芯片的时序逻辑器件的时钟网络设计,第三步芯片的信号布线,指的是将所有电路模块的端口用实际的金属线连接起来。
布局布线完成后,再抽取信号线的寄生参数,然后对电路中所有时序路径做STA分析,报告关键路径上的时序。STA分析中的delay以及setup值是从IP和标准单元的liberty文件中提取出来的,如果一条时序路径中存在违例,首先会对组合逻辑的延迟进行优化,如果组合逻辑的延迟已经无法继续优化,而时序路径上仍然存在较大的违例,则意味着关键路径上IP端口电路需要设计优化。
以图1中IP为例,如果Da位于关键路径上,timing path1存在时序违例,首先会去优化端口Da的输入延迟,即delay_CLK_Q1加上delay_Comb1的值,如果优化之后,timingpath1仍然存在较大的时序违例,则意味着Da的setup_Da值太大,是制约timing path1的关键因素,需要对Da相关的电路重新进行优化设计,才能满足timing path1的时序要求。
如果Qb位于关键路径上,timing path2存在时序违例,首先会去优化Qb的输出延迟,即delay_Comb2加上setup_D2的值,如果优化之后,timing path2仍然存在较大的时序违例,则意味着Qb的delay_CLK_Qb值太大,是制约timing path2的关键因素,需要对Qb相关的电路重新进行优化设计,才能满足timing path2的时序要求。
生成关键路径的时序报告之后,后端设计部门会将IP关键路径上的时序违例报告反馈给IP设计者。IP设计者根据时序违例,分析IP端口出现时序违例的原因,重新设计IP的端口电路,优化IP端口的时序,然后重新产生数据包,交付给后端设计部门使用。后端设计部门按照上述芯片布局布线的步骤,再次完成整个芯片的物理设计流程,然后报告IP关键路径上的时序,验证IP端口是否存在时序违例。如果仍然存在时序违例,则意味着需要再次反馈给IP设计者,继续对IP端口的电路做优化,反复迭代,直到IP端口的时序最终满足要求,清除所有的时序违例。
常规的IP关键路径时序的验证流程会花费很长的时间,因为IP设计完成后,后端设计部门在执行物理设计流程时,需要完成芯片的布局规划、时钟树设计、芯片的信号布线三个步骤,对于大型逻辑电路,上述三个步骤会花费非常长的时间。
一般大型逻辑电路,会包含数百个IP以及百万个标准单元,芯片的布局规划、时钟树设计、以及芯片的信号布线,会花费非常长的时间才能完成一版设计流程,设计完成后,还需要花费很长的时间进行电路优化,然后才能产生一版时序报告。产生时序报告之后,才能将存在违例的时序路径反馈给IP设计者。IP设计者根据时序违例报告,重新设计端口电路,优化端口的时序,完成后再将数据包交付给后端设计部门,重新花费很长的时间做布局布线,然后再产生时序报告,查看关键路径上的时序违例是否仍然存在。
无论后端设计部门做布局布线,生成IP端口的时序报告,还是IP设计者重新设计电路,优化IP端口的时序,每一步都需要花费大量的时间,而且通常情况下,需要迭代几次才能将IP关键路径上的时序违例彻底清除掉。每一次迭代都会花费大量的时间和精力,所以完全验证IP关键路径的时序会消耗很长的时间,拉长整个芯片的设计周期。
本发明旨在提出一种能够快速验证IP关键路径时序的方法,缩短传统的验证IP关键路径时序所需要的时间。传统的IP关键路径时序的验证方法,需要将IP数据包交付给后端设计部门,完成芯片的布局布线设计。大规模的芯片布局布线设计,需要花费非常长的时间,才能得到IP端口关键路径的时序报告。
本发明跳过传统的物理设计流程,快速产生IP端口的时序报告,在IP设计阶段,就能产生IP端口虚拟的时序报告。IP设计者,可以根据虚拟的时序报告,优化IP电路设计,设计完成后再将优化之后IP数据包交付给后端设计部门。后端设计部门拿到优化之后的IP数据包,完成芯片的布局布线,因为IP关键路径上的时序已经得到了优化,不需要IP设计者再去重新优化电路,也不再需要IP的迭代验证流程,节省了整个芯片的设计时间,同时提高了IP的设计质量。
一方面,本发明实施例提供一种快速验证IP关键路径时序的方法,如图3-4所示,本实施例的方法可以包括:
步骤101:获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;
与传统的验证IP关键路径时序的方法不同,本发明实施例的方法避开了交付给后端设计部门做物理设计的流程,而是利用参考liberty文件和参考工作周期来完成传统的IP验证流程,具体的,参考liberty文件和参考工作周期一般来自于IP工艺演进过程中上一个版本的设计数据包。其中,工艺演进例如为从28nm演进为22nm,从22nm演进为14nm等。在上一个版本的设计数据包中,已经验证过参考liberty文件满足了参考工作周期,IP端口关键路径上已经没有时序违例。
步骤102:根据所述参考liberty文件和参考工作周期,计算IP在参考工艺(即IP工艺演进过程中上一个版本所采用的工艺)中的延迟;
作为一种可选的实施例,所述根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟(步骤102),可以包括:
对于IP输入端口,其在参考工艺中的输入延迟为:参考工作周期与该IP输入端口的setup值之差,该IP输入端口的setup值从所述参考liberty文件中提取得到;
对于IP输出端口,其在参考工艺中的输出延迟为:参考工作周期与该IP输出端口的delay值之差,该IP输出端口的delay值从所述参考liberty文件中提取得到。
具体的,以图1中IP关键路径上的输入端口Da为例,根据参考liberty文件和参考工作周期Ref_tcyc,可以计算出来参考工艺中Da的参考输入延迟为:
Ref_Input_delay=Ref_tcyc-Ref_setup_Da
其中,Ref_tcyc是参考工艺中IP的工作周期,Ref_setup_Da是从参考liberty文件中提取的Da的setup值。
同样的,以图1中IP关键路径上的输出端口Qb为例,根据参考liberty文件和参考工作周期Ref_tcyc,可以计算出来参考工艺中Qb的参考输出延迟为:
Ref_Output_delay=Ref_tcyc-Ref_delay_CLK_Qb
其中,Ref_tcyc是参考工艺中IP的工作周期,Ref_delay_CLK_Qb是从参考liberty文件中提取的Qb的delay值。
步骤103:根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
作为一种可选的实施例,所述根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟(步骤103),可以包括:
步骤1031:根据电路仿真,计算标准单元在当前工艺中的延迟相比于该标准单元在参考工艺中的延迟的比值R;
其中,标准单元例如为缓存、反相器、与门、寄存器、选择器、全加器等。标准单元可以从现有的标准单元库中获取得到。
步骤1032:根据所述比值R和IP在参考工艺中的延迟,计算IP在当前工艺中的延迟。
这样,在工艺演进的过程中,可以根据电路仿真,计算得出某一标准单元在目前工艺中的延迟相比于其在参考工艺中的延迟的比值R(取值范围通常为0.6-1),然后可以计算得出目前工艺中输入端口Da的输入延迟为:
Input_delay=R*Ref_Input_delay
同样的,根据某一标准单元在目前工艺中的延迟相比于其在参考工艺中的延迟的比值R,可以计算得出目前工艺中输出端口Qb的输出延迟为:
Output_delay=R*Ref_Output_delay
步骤104:根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;
作为一种可选的实施例,所述根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量(步骤104),可以包括:
步骤1041:获取IP的当前liberty文件和当前工作周期;
由于IP已经设计完成,故从IP的设计数据包中可以得到IP的当前liberty文件和当前工作周期。
步骤1042:对于IP输入端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输入端口的setup值之差,该IP输入端口的setup值从当前liberty文件中提取得到;对于IP输出端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输出端口的delay值之差,该IP输出端口的delay值从当前liberty文件中提取得到。
具体的,根据STA的算法,图1中输入端口Da时序路径的余量Slack为:
Slack=New_tcyc-(Input_delay+setup_Da)
其中,NeW_tcyc是目前工艺中IP的工作周期,setup_Da是Da端口的setup值,可以从当前liberty文件中提取得到。
同样的,根据STA的算法,图1中输出端口Qb时序路径的余量Slack为:
Slack=New_tcyc-(Output_delay+delay_CLK_Qb)
其中,New_tcyc是目前工艺中IP的工作周期,delay_CLK_Qb是Qb端口的delay值,可以从当前liberty文件中提取得到。
步骤105:根据所述时序余量,验证IP关键路径的时序。
作为一种可选的实施例,所述根据所述时序余量,验证IP关键路径的时序(步骤105),可以包括:
若所述时序余量大于零,则表明IP关键路径的时序满足要求,不需要优化IP电路;
若所述时序余量小于零,则表明IP关键路径的时序不满足要求,需要优化IP端口的电路,电路优化之后重新执行上述步骤,直至所述时序余量大于零。
具体的,对于图1中输入端口Da时序路径的余量Slack,如果Slack>0,表明关键路径上Da的setup值满足要求,不需要继续优化Da相关的电路,如果Slack<0,表明Da的setup值太大,需要优化Da相关的电路,重新产生IP的liberty文件,重新按照上述的步骤,报告Da上时序路径的Slack,直到Da的Slack>0为止。
对于图1中输出端口Qb时序路径的余量Slack,如果Slack>0,表明关键路径上Qb的delay值满足要求,不需要继续优化Qb的时序,如果Slack<0,表明Qb的delay值太大,需要重新设计电路,优化Qb的时序,重新产生IP的liberty文件,重新按照上述的步骤,报告Qb的Slack,直到Qb的Slack>0为止。
这样,IP设计者在IP设计阶段,就能够将IP端口相关的时序路径上的时序违例报告出来。根据时序违例,对IP端口相关的电路做设计优化,然后重新验证IP端口的时序违例是否被清除掉。经过几次迭代,直到所有IP端口的时序路径均不存在时序违例,表明整个IP已经优化设计完成,可以将优化之后的IP交付给后端设计部门做物理设计。
本发明实施例的快速验证IP关键路径时序的方法,避开了传统的物理设计流程中花费很长的时间来进行芯片布局布线的步骤,利用参考工艺中的参考liberty文件和参考工作周期,再结合工艺演进过程不同工艺之间延迟比值,可以快速的计算IP关键路径端口的输入延迟和输出延迟,再利用STA的算法,可以快速的计算IP关键路径的时序余量Slack;根据计算得到的Slack,在IP设计阶段,直接进行IP电路的优化设计。这样能够极大的缩短验证IP关键路径时序的时间,保证第一次就能够将优化之后的IP数据包交付给后端设计部门,缩短了IP关键路径上时序验证的时间,也缩短了整个芯片的设计时间,同时可以提高IP设计的质量。
另一方面,本发明实施例提供一种快速验证IP关键路径时序的装置,如图5所示,本实施例的装置可以包括:
获取模块11,用于获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;
第一计算模块12,用于根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟;
第二计算模块13,用于根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
第三计算模块14,用于根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;
验证模块15,用于根据所述时序余量,验证IP关键路径的时序。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
优选的,所述第一计算模块12中,对于IP输入端口,其在参考工艺中的输入延迟为:参考工作周期与该IP输入端口的setup值之差,该IP输入端口的setup值从所述参考liberty文件中提取得到;对于IP输出端口,其在参考工艺中的输出延迟为:参考工作周期与该IP输出端口的delay值之差,该IP输出端口的delay值从所述参考liberty文件中提取得到。
优选的,所述第二计算模块13,还用于根据电路仿真,计算标准单元在当前工艺中的延迟相比于该标准单元在参考工艺中的延迟的比值;根据所述比值和IP在参考工艺中的延迟,计算IP在当前工艺中的延迟。
优选的,所述第三计算模块14,还用于获取IP的当前liberty文件和当前工作周期;对于IP输入端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输入端口的setup值之差,该IP输入端口的setup值从当前liberty文件中提取得到;对于IP输出端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输出端口的delay值之差,该IP输出端口的delay值从当前liberty文件中提取得到。
优选的,所述验证模块15中,若所述时序余量大于零,则表明IP关键路径的时序满足要求,不需要优化IP电路;若所述时序余量小于零,则表明IP关键路径的时序不满足要求,需要优化IP端口的电路,电路优化之后转至所述获取模块11重新执行,直至所述时序余量大于零。
本发明实施例还提供一种电子设备,图6为本发明电子设备一个实施例的结构示意图,可以实现本发明图3所示实施例的流程,如图6所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一方法实施例所述的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图3所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例所述的方法步骤。
本发明的实施例还提供一种应用程序,所述应用程序被执行以实现本发明任一方法实施例提供的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种快速验证IP关键路径时序的方法,其特征在于,包括:
获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;
根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟;
根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;
根据所述时序余量,验证IP关键路径的时序;
其中,所述根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟,包括:
对于IP输入端口,其在参考工艺中的输入延迟为:参考工作周期与该IP输入端口的setup值之差,该IP输入端口的setup值从所述参考liberty文件中提取得到;
对于IP输出端口,其在参考工艺中的输出延迟为:参考工作周期与该IP输出端口的delay值之差,该IP输出端口的delay值从所述参考liberty文件中提取得到;
其中,所述根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟,包括:
根据电路仿真,计算标准单元在当前工艺中的延迟相比于该标准单元在参考工艺中的延迟的比值;
根据所述比值和IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
其中,所述根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量,包括:
获取IP的当前liberty文件和当前工作周期;
对于IP输入端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输入端口的setup值之差,该IP输入端口的setup值从当前liberty文件中提取得到;
对于IP输出端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输出端口的delay值之差,该IP输出端口的delay值从当前liberty文件中提取得到。
2.根据权利要求1所述的方法,其特征在于,所述根据所述时序余量,验证IP关键路径的时序,包括:
若所述时序余量大于零,则表明IP关键路径的时序满足要求,不需要优化IP电路;
若所述时序余量小于零,则表明IP关键路径的时序不满足要求,需要优化IP端口的电路,电路优化之后转至所述获取IP的参考liberty文件和参考工作周期步骤重新执行,直至所述时序余量大于零。
3.一种快速验证IP关键路径时序的装置,其特征在于,包括:
获取模块,用于获取IP的参考liberty文件和参考工作周期,所述参考liberty文件和参考工作周期来自于IP工艺演进过程中上一个版本的设计数据包;
第一计算模块,用于根据所述参考liberty文件和参考工作周期,计算IP在参考工艺中的延迟;
第二计算模块,用于根据所述IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
第三计算模块,用于根据所述IP在当前工艺中的延迟,计算IP关键路径的时序余量;
验证模块,用于根据所述时序余量,验证IP关键路径的时序;
其中,所述第一计算模块中,对于IP输入端口,其在参考工艺中的输入延迟为:参考工作周期与该IP输入端口的setup值之差,该IP输入端口的setup值从所述参考liberty文件中提取得到;对于IP输出端口,其在参考工艺中的输出延迟为:参考工作周期与该IP输出端口的delay值之差,该IP输出端口的delay值从所述参考liberty文件中提取得到;
其中,所述第二计算模块,还用于根据电路仿真,计算标准单元在当前工艺中的延迟相比于该标准单元在参考工艺中的延迟的比值;根据所述比值和IP在参考工艺中的延迟,计算IP在当前工艺中的延迟;
其中,所述第三计算模块,还用于获取IP的当前liberty文件和当前工作周期;对于IP输入端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输入端口的setup值之差,该IP输入端口的setup值从当前liberty文件中提取得到;对于IP输出端口,其所在关键路径的时序余量为:当前工作周期与所述IP在当前工艺中的延迟和该IP输出端口的delay值之差,该IP输出端口的delay值从当前liberty文件中提取得到。
4.根据权利要求3所述的装置,其特征在于,所述验证模块中,若所述时序余量大于零,则表明IP关键路径的时序满足要求,不需要优化IP电路;若所述时序余量小于零,则表明IP关键路径的时序不满足要求,需要优化IP端口的电路,电路优化之后转至所述获取模块重新执行,直至所述时序余量大于零。
5.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-2中任一所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1-2中任一所述的方法。
CN202011469534.0A 2020-12-14 2020-12-14 快速验证ip关键路径时序的方法、装置及电子设备 Active CN112613262B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011469534.0A CN112613262B (zh) 2020-12-14 2020-12-14 快速验证ip关键路径时序的方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011469534.0A CN112613262B (zh) 2020-12-14 2020-12-14 快速验证ip关键路径时序的方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112613262A CN112613262A (zh) 2021-04-06
CN112613262B true CN112613262B (zh) 2023-03-24

Family

ID=75233803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011469534.0A Active CN112613262B (zh) 2020-12-14 2020-12-14 快速验证ip关键路径时序的方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112613262B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182570A (zh) * 2014-08-01 2014-12-03 三星半导体(中国)研究开发有限公司 用于实现集成电路的逻辑综合的方法和设备
CN106096171A (zh) * 2016-06-22 2016-11-09 深圳市紫光同创电子有限公司 基于静态分析的异步电路时序检查方法
US9881123B1 (en) * 2016-06-30 2018-01-30 Cadence Design Systems, Inc. Method and system for timing analysis with adaptive timing window optimization for determining signal integrity impact
CN107844678A (zh) * 2017-12-21 2018-03-27 北京华大九天软件有限公司 包含IP/Memory时序路径的spice仿真方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182570A (zh) * 2014-08-01 2014-12-03 三星半导体(中国)研究开发有限公司 用于实现集成电路的逻辑综合的方法和设备
CN106096171A (zh) * 2016-06-22 2016-11-09 深圳市紫光同创电子有限公司 基于静态分析的异步电路时序检查方法
US9881123B1 (en) * 2016-06-30 2018-01-30 Cadence Design Systems, Inc. Method and system for timing analysis with adaptive timing window optimization for determining signal integrity impact
CN107844678A (zh) * 2017-12-21 2018-03-27 北京华大九天软件有限公司 包含IP/Memory时序路径的spice仿真方法

Also Published As

Publication number Publication date
CN112613262A (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
Rashinkar et al. System-on-a-chip Verification: Methodology and Techniques
US9117044B2 (en) Hierarchical verification of clock domain crossings
CN112100158B (zh) 一种标准单元库的建立方法、装置、电子设备及存储介质
US8566767B1 (en) System and method for parametric intercoupling of static and dynamic analyses for synergistic integration in electronic design automation
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
US11836425B2 (en) Engineering change orders with consideration of adversely affected constraints
CN112163394A (zh) 一种cpu芯片设计方法、装置及电子设备
Gibiluka et al. A bundled-data asynchronous circuit synthesis flow using a commercial EDA framework
CN104598699A (zh) 面向SystemC电路模型的软错误敏感度分析方法
CN116776793A (zh) 静态时序分析和前仿真相结合的多周期路径约束验证方法
CN114626323A (zh) 集成电路的时序收敛方法、装置、服务器及可读存储介质
CN114357939A (zh) 芯片ip准入验证方法、装置、电子设备及存储介质
US11222155B1 (en) Method and apparatus for reducing pessimism of graph based static timing analysis
CN112613262B (zh) 快速验证ip关键路径时序的方法、装置及电子设备
CN112270156B (zh) 一种时序分析方法、装置、电子设备及存储介质
US8713500B2 (en) Computer program and apparatus for evaluating signal propagation delays
JP5444985B2 (ja) 情報処理装置
CN105808403A (zh) 基于pli-vpi和专用加速硬件的仿真硬件加速器
US11914939B1 (en) Clock re-convergence pessimism removal through pin sharing during clock tree planning
US11658684B2 (en) Multi-port—multi mode Reed Solomon decoder
US11816407B1 (en) Automatic channel identification of high-bandwidth memory channels for auto-routing
US11868694B1 (en) System and method for optimizing emulation throughput by selective application of a clock pattern
Lee Implementation of VLSI design flow for MIPS-based SOC
US8938705B1 (en) Systems and methods for partial retention synthesis
US7131088B2 (en) Reliability based characterization using bisection

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