一种时序约束检查方法与流程

文档序号:11134219阅读:645来源:国知局
一种时序约束检查方法与制造工艺

本发明涉及版图设计技术领域,尤其涉及一种时序约束检查方法。



背景技术:

现有的集成电路布图设计技术领域中,对于布图设计的时序约束检查通常需要在布线布局之后才能被执行。换言之,现有技术中,对于布图设计的时序约束检查的执行时间较晚,更靠近于最终的流片过程。则在时序约束检查中若出现问题,则由于更靠近芯片流片过程,因此会产生巨大的影响,一般会导致芯片流片延期,并且为此付出较多额外的人力成本。



技术实现要素:

根据现有技术中存在的问题,现提供一种时序约束检查方法的技术方案,旨在将时序约束检查过程提前至与布线布局过程同时进行,解决时序约束问题发现较晚导致的错误影响较大,需要付出额外的人力成本等问题。

上述技术方案具体包括:

一种时序约束检查方法,适用于集成电路芯片的布图设计过程;其中,具体包括:

步骤A1,根据关联于所述布图设计的硬件代码处理得到相应的网络表;

步骤A2,根据所述网络表模拟生成相应的标准延时数据;

步骤A3,根据所述标准延时数据对所述布图设计做后仿真操作,以与用于表征所述布图设计的设计约束的时序约束文件进行匹配,并输出匹配结果;

步骤A4,根据所述匹配结果调整所述时序约束文件,直至所述匹配结果表示后仿真合格,随后转至步骤A5;

步骤A5,对所述布图设计进行相应的时序检查,随后退出。

优选的,该时序约束检查方法,其中,执行所述步骤A1之后,于执行所述步骤A2-A4的同时并行执行下述步骤:

步骤B1,根据所述网络表处理得到相应的布局布线版图;

步骤B2,对所述布局布线版图进行静态时序分析,并在所述静态时序分析合格后转至所述步骤A5。

优选的,该时序约束检查方法,其中,所述步骤A2具体包括:

步骤A21,根据所述网络表进行时序状况分析,以得到对应每条时序路径的余量数据;

步骤A22,根据预设的第一规则判断所述余量数据是否合格:

若所述余量数据合格,则根据关联于合格的所述余量数据的所述时序路径,生成相应的所述标准延时数据,随后转向所述步骤A3;

步骤A23,重新调整对应的所述时序路径的所述余量数据,并返回所述步骤A22。

优选的,该时序约束检查方法,其中,所述步骤A21中,采用一静态时序分析单元对所述网络表进行所述时序状况分析,以得到所述余量数据。

优选的,该时序约束检查方法,其中,所述步骤A21中,判断对应一条所述时序路径,是否能够获得相应的所述余量数据,并在能够获得所述余量数据时转向所述步骤A22;

所述余量数据包括建立余量数据和保持余量数据;

则所述步骤A22中,根据所述预设的第一规则判断所述余量数据是否合格的步骤具体包括:

步骤A221,判断对应所述时序路径的所述余量数据是否为正:

若所述余量数据不为正,则判断所述余量数据不合格,随后转向所述步骤A23;

步骤A222,判断对应所述时序路径的所述建立余量数据和所述保持余量数据是否均满足下述的判断条件:

S1=min(Period1,Period2);

S2=min(Period1,Period2);

其中,

Period1表示所述时序路径的起始点发起时钟的时钟周期;

Period2表示所述时序路径的结束点采样时钟的时钟周期;

若所述建立余量数据小于S1并且大于0,则表示所述建立余量数据满足 所述判断条件;

若所述保持余量数据小于S2并且大于0,则表示所述保持余量数据满足所述判断条件;

若所述建立余量数据和/或所述保持余量数据不满足所述判断条件,则转至步骤A224;

步骤A223,判断余量数据合格,并根据所述余量数据生成相应的所述标准延时数据;

步骤A224,分别生成关联于符合所述判断条件的所述建立余量数据的第一标准延时数据,以及关联于符合所述判断条件的所述保持余量数据的第二标准延时数据,随后根据所述第一标准延时数据和所述第二标准延时数据合成相应的所述标准延时数据。

优选的,该时序约束检查方法,其中,所述步骤A23中:

在不合格的所述余量数据所对应的所述时序路径中加入相应的缓冲延迟,和/或

调整不合格的所述余量数据所对应的所述时序路径的延时,

从而完成对所述时序路径的所对应的所述余量数据的重新调整。

优选的,该时序约束检查方法,其中,所述步骤A21中,若所述时序路径中无法获取相应的所述余量数据,则执行下述步骤

步骤A211,获取所述时序路径对应的数据传输路径;

步骤A212,根据预设的第二规则,判断所述数据传输路径的延时是否合格:

所述预设的第二规则为:

其中,

D1表示所述数据传输路径的路径长度;

D2表示根据所述数据传输路径修正斜率后的路径长度;

Latency1表示所述时序路径的终止点上的时序电路的时钟长度;

Latency2表示所述时序路径的起始点上的时序电路的时钟长度;

Period3表示所述时序路径的终止点上的时序电路的时钟周期;

若所述数据传输路径的延时大于D,则表示所述数据传输路径的延时符合所述预设的第二规则,对应的所述时序路径合格,并根据合格的所述时序路径生成相应的所述标准延时数据,随后转向所述步骤A3。

上述技术方案的有益效果是:提供一种时序约束检查方法,能够将时序约束检查过程提前至与布线布局过程同时进行,解决时序约束问题发现较晚导致的错误影响较大,需要付出额外的人力成本等问题。

附图说明

图1是现有技术中,对时序约束进行检查的流程示意图;

图2是本发明的较佳的实施例中,一种时序约束检查方法的总体流程示意图;

图3-5是本发明的较佳的实施例中,于图2的基础上,一种时序约束检查方法的分步骤流程示意图;

图6是本发明的较佳的实施例中,于时序约束检查过程的同时进行布线布局过程的流程示意图;

图7是本发明的较佳的实施例中,结合图2与图5形成的布图设计时序检查的总体流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

现有的集成电路布图设计的时序检查过程如图1所示,可以包括:

步骤S1,根据RTL文件生成相应的网络表(Netlist);

该步骤中,RTL文件为布图设计的文件格式。网络表(Netlist)是一种生成集成电路的条件检测表格,其中包括集成电路中各元件的封装、名字、大小等基本属性,是对各元件之间电气连接的定义。

步骤S2,根据网络表执行布局布线处理(Place&Route,P&R);

该步骤中,所谓布局布线处理(P&R),是指将前面的文件(包括Netlist)放入指定的目标器件中,并做适当的布线以尽量满足设计者的要求。

步骤S3,根据布局布线处理后生成的标准时序(Standard Delay Format,SDF)文件,进行时序约束检查;

该步骤中,由于时序约束检查需要用到的SDF文件必须在P&R处理之后才能得到,因此步骤S3具体在步骤S2完成之后才能进行。

步骤S4,根据通过时序约束检查的SDF文件进行后仿真(Post Simulation)处理,随后转向步骤S6;

步骤S5,在上述步骤S2完成之后,对布局布线处理后产生的SDF文件进行静态时序分析(Static Timing Analysis,STA),随后转向步骤S6;

即该步骤与上述步骤S3-S4同时进行。

步骤S6,进行时序检查(Timing Signoff),随后根据检查结果进行最终的流片(Tapout)处理。

现有的上述步骤中,由于时序约束检查需要的SDF文件必须在P&R处理之后才能得到。换言之,时序约束检查只能在P&R之后进行,而P&R之后就离流片很近了,在这个时间点再进行时序约束检查并发现问题的话,对于整个布图设计的影响是非常巨大的,即问题发现越晚影响越大,若在这个时间点发现问题,极有可能导致流片处理延期,并且会耗费相当大的人力成本。

则本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种时序约束检查方法,其适用于集成电路芯片的布图设计过程。

具体地,本发明的较佳的实施例中,如图2所示,上述时序约束检查方法具体包括:

步骤A1,根据关联于布图设计的硬件代码处理得到相应的网络表;

本发明的较佳的实施例中,所谓处理,可以采用现有技术中的综合处理方法,从RTL文件中经过处理得到关联于该布图设计的网络表(Netlist)。 步骤A1在现有技术中存在各种用于通过综合处理得到网络表的方式,在此不再赘述。

步骤A2,根据网络表模拟生成相应的标准延时数据;

本发明的较佳的实施例中,于现有技术中不同的地方在于,上述步骤A2中,直接通过网络表模拟得到相应的标准延时数据,即通过Netlist模拟得到SDF文件,而不是如现有技术中所做的通过P&R处理之后才能得到时序约束检查所需的SDF文件。

本发明的较佳的实施例中,同时根据网络表和表征时序信息(Synopsys Design Constraints,SDC)的文件模拟生成相应的SDF文件。

则本发明的较佳的实施例中,如图3所示,上述步骤A2具体包括:

步骤A21,根据网络表进行时序状况分析,以得到对应每条时序路径的余量数据;

本发明的较佳的实施例中,上述步骤S21中,采用一静态时序分析单元对网络表进行时序状况分析,以得到余量数据。换言之,本发明的较佳的实施例中,上述步骤S21中,将上述网络表放入一STA工具中,并采用该STA工具进行时序状况分析,并得到对应于每条时序路径的余量数据(Slack)。

具体地,本发明的较佳的实施例中,上述时序状况分析过程中,由于是模拟形成SDF文件,并没有后端可以使用,因此可以先模拟处理由后端工具生成的时钟网络(Clock Tree Synthesis,CTS)以及高扇出(High Fanout)的网络(net),具体可以为根据上述数据模拟出一个简单的树形结构,以满足时钟分组以及时钟偏斜(skew)的要求。

本发明的较佳的实施例中,若从时序路径(Timing path)中无法获取相应的余量数据,则执行如图4所示的步骤:

步骤A211,获取时序路径对应的数据传输路径;

本发明的较佳的实施例中,时序路径对应于数据传输路径(data path)。则若于该时序路径中,通过静态时序分析,无法获得相应的余量数据(例如一些特殊的路径set_case_analysis和set_false_path)时,则直接根据相应的数据传输路径进行分析。

步骤A212,根据预设的第二规则,判断数据传输路径的延时是否合格:

若数据传输路径的延时符合预设的第二规则,则表示对应的时序路径合 格,并根据合格的时序路径生成相应的标准延时数据,随后转向步骤A3。

本发明的较佳的实施例中,上述预设的第二规则为:

其中,

D1表示数据传输路径的路径长度(data path 1);

D2表示根据数据传输路径修正斜率(slew)后的路径长度(data path 2);上述公式(1)中包括的10ns为本发明的一个较佳的实施例中的预设值,该预设值可以根据实际情况进行相应调整,在此不再赘述。

Latency1表示时序路径的终止点上的时序电路的时钟长度(Destination Clock Latency);

Latency2表示时序路径的起始点上的时序电路的时钟长度(Source Clock Latency);Period3表示时序路径的终止点上的时序电路的时钟周期(Destination Clock Period);

则本发明的较佳的实施例中,若数据传输路径的延时(Delay)大于D,则表示数据传输路径的延时符合预设的第二规则。

换言之,本发明的较佳的实施例中,依据时序关系,为了剔除一个周期的干扰,将上述数据传输路径的延时限定在上文中所述的两个路径长度中的最大值,因此可以将这些数据传输路径的延时延长到上述数值,从而可以模拟真实情形。

本发明的较佳的实施例中,若无法满足预设的第二规则,则可以对数据传输路径进行重新调整,例如延长其延时,以达到相应的路径长度等,并将经过调整的数据传输路径重新送回步骤A212中进行判断,以最终符合预设的第二规则。

本发明的较佳的实施例中,若根据STA分析能够找到对应的时序路径的余量数据,则转向下述步骤A22。

步骤A22,根据预设的第一规则判断余量数据是否合格:

若余量数据合格,则根据关联于合格的余量数据的时序路径,生成相应的标准延时数据,随后转向步骤A3;

本发明的较佳的实施例中,上述步骤A22中,根据预设的第一规则判断余量数据是否合格的过程如图5所示,即上述预设的第一规则如下文中所述,具体包括;

步骤A221,判断对应时序路径的余量数据是否为正:

若余量数据不为正,则判断余量数据不合格,随后转向步骤A23;

本发明的较佳的实施例中,余量数据为正即表明相应的时序路径是符合时序(Timing)约束的,可以根据该时序路径进行后续的后仿真(Post Simulation)操作。

本发明的较佳的实施例中,若余量数据不为正,则表示相应的时序路径不符合时序约束的要求,此时需要转至下述步骤A23进行相应的调整,以使余量数据最终符合时序约束的要求。调整方式在下文中会详述。

步骤A222,判断对应时序路径的建立余量数据和保持余量数据是否均满足下述的判断条件:

若建立余量数据和/或保持余量数据不满足判断条件,则转至步骤A224;

本发明的较佳的实施例中,上述判断条件如下文中所述,具体包括:

S1=min(Period1,Period2); (2)

S2=min(Period1,Period2); (3)

其中,

Period1表示时序路径的起始点发起时钟的时钟周期;

Period2表示时序路径的结束点采样时钟的时钟周期;

本发明的较佳的实施例中,对应于一条时序路径的余量数据中包括建立余量数据(Setup Slack)和保持余量数据(Hold Slack)。关于Setup/Hold Slack的计算方式在现有技术中有相应的实现方法,在此不再赘述。

因此,本发明的较佳的实施例中,上述公式(2)和(3)中,上述Setup Slack必须小于S1(并且大于0),即Setup Slack必须满足min(Period1,Period2),即取Period1和Period2中的最小值。同样地,上述Hold Slack也必须小于S2(并且大于0),即Hold Slack需要取Period1和Period2中的最小值,这样是为了防止上述取值边缘(Margin)导致在SDC文件下的约束不能正确反映到之后模拟生成的SDF文件中。

换言之,本发明的较佳的实施例中,上述预设的第一规则即为:

1)所有Slack数值均为正(包括Setup/Hold Slack);

2)Setup/Hold Slack均满足上述公式(2)和(3)。

满足上述预设的第一规则,才认为该时序路径是合格的。

本发明的较佳的实施例中,针对上述预设的第一规则中的第二条,若其中Setup Slack满足条件,但Hold Slack没有满足条件,又或者Hold Slack满足条件,而Setup Slack不满足条件,即Setup/Hold Slack依据第二条预设的第一规则出现互斥的情况时,则分别根据Setup Slack产生一第一标准延时数据,以及根据Hold Slack产生一第二标准延时数据,随后将这两个数据相互覆盖,以产生最终的标准延时数据(前提条件是Setup/Hold Slack均为正)。

步骤A223,判断余量数据合格,并根据余量数据生成相应的标准延时数据;

步骤A224,分别生成关联于符合判断条件的建立余量数据的第一标准延时数据,以及关联于符合判断条件的保持余量数据的第二标准延时数据,随后根据第一标准延时数据和第二标准延时数据合成相应的标准延时数据;

则本发明的较佳的实施例中,最终根据:

关联于合格的余量数据的时序路径生成相应的标准延时数据;和/或

根据第一标准延时数据和第二标准延时数据合成相应的标准延时数据;

随后转至步骤A3。

步骤A23,重新调整对应的时序路径的余量数据,并返回步骤A22。

本发明的较佳的实施例中,重新调整的方式包括:在余量数据不满足第一规则的对应的时序路径上的点插入缓冲延迟(buffer),比如插入10ps/100ps/200ps不等的buffer。又或者将某些不符合第一规则的点减少其延时(delay),例如可以减少某些点的delay,最多减少到0。应用上述两种重新调整的方式的最终目的在于重新调整相应的余量数据,以使其符合上述预设的第一规则。

本发明的较佳的实施例中,经过重新调整后,返回到上述步骤A22,以继续根据预设的第一规则对时序路径中的余量数据进行判断。上述过程可以循环进行,直到余量数据满足预设的第一规则。

步骤A3,根据标准延时数据对布图设计做后仿真操作,以与用于表征布图设计的设计约束的时序约束文件进行匹配,并输出匹配结果;

本发明的较佳的实施例中,上述步骤A3中,根据上文中判断合格的时序路径形成SDF文件,并根据SDF文件进行相应的Post Simulation。

本发明的较佳的实施例中,所谓时序约束文件,即指SDC文件。

步骤A4,根据匹配结果调整时序约束文件,直至匹配结果表示后仿真合格,随后转至步骤A5;

本发明的较佳的实施例中,上述步骤A3-A4表示,根据SDF文件进行相应的Post Simulation,并根据仿真结果判断是否匹配时序约束文件。

本发明的较佳的实施例中,若上述匹配结果表示仿真结果不匹配相应的时序约束文件,则直接返回上述步骤A2,以进行重新调整。

本发明的较佳的实施例中,若上述匹配结果表示仿真结果匹配相应的时序约束文件,则转至下述步骤A5,即表示后仿真成功(Pass)。

步骤A5,对布图设计进行相应的时序检查,随后退出。

本发明的较佳的实施例中,上述步骤A5中,执行流片(Tapout)之前的时序检查(Timing Signoff),随后进行流片。

本发明的较佳的实施例中,于上述步骤A2-A4进行处理的同时,执行如图6所示的下述步骤:

步骤B1,根据网络表处理得到相应的布局布线版图;

步骤B2,对布局布线版图进行静态时序分析,并在静态时序分析合格后转至步骤A5。

换言之,本发明的较佳的实施例中,根据网络表模拟生成SDF文件并直接进行后仿真处理的过程,与现有技术中进行布局布线处理的过程同时进行,其最终的完整处理过程如图7所示。

因此,本发明技术方案中,可以在进行布局布线处理之前,根据网络表模拟生成相应的SDF文件,并直接进行后仿真处理,以及早发现针对时序约束的设计问题。同时可以进行P&R处理,以及相应后续的STA分析。两个过程同时进行,与现有技术中必须将SDF文件的后仿真放在P&R处理之后不同,能够及早暴露时序约束问题,及早处理,无需放至快要流片时才发现并处理相应问题,有效减少最后阶段进行后仿真的时间,降低从后仿真到流片的时间,并节省大量的人力成本,保证集成电路布图设计的顺利流片。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

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