一种时序电路优化方法、装置及其存储介质转让专利
申请号 : CN202110025436.6
文献号 : CN112783065B
文献日 : 2022-01-28
发明人 : 吴景生 , 葛颖峰 , 徐祎喆 , 朱勇
申请人 : 重庆百瑞互联电子技术有限公司
摘要 :
权利要求 :
1.一种时序电路优化方法,其特征在于,包括:对在时序传递的方向上具有连续多条违例时序路径以及所述连续多条违例路径后面具有至少一条富裕时序路径的连续多条时序路径,根据所述连续多条时序路径中每条所述时序路径的时间裕量值对所述连续多条时序路径进行分组得到至少一个可优化时序路径组;以及,
根据所述至少一个可优化时序路径组中每组可优化时序路径组的每条所述时序路径的时间裕量值对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置;
其中,所述根据所述连续多条时序路径中每条所述时序路径的时间裕量值对所述连续多条时序路径进行分组得到至少一个可优化时序路径组的过程包括,按照与所述时序传递方向相反的顺序,根据所述连续多条时序路径中所述至少一条富裕时序路径的富裕时间裕量值与所述连续多条违例路径的违例时间裕量值的和,对所述连续多条时序路径依次进行分组;
利用与所述富裕时间裕量值之和大于0的多个所述违例时间裕量值对应的所述连续多条违例时序路径以及所述至少一条富裕时序路径得到至少一个所述可优化时序路径组。
2.根据权利要求1所述的时序电路优化方法,其特征在于,所述根据所述至少一个可优化时序路径组中每组可优化时序路径组的每条所述时序路径的时间裕量值对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的过程包括,
根据每条所述时序路径的时间裕量值以及每组所述可优化时序路径组中每条所述时序路径的所述时间裕量值的时间裕量平均值,对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置。
3.根据权利要求2所述的时序电路优化方法,其特征在于,所述根据每条所述时序路径的时间裕量值以及每组所述可优化时序路径组中每条所述时序路径的所述时间裕量值的时间裕量平均值,对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的过程包括,在每组所述可优化时序路径组中按照时序传递的方向,将第一条所述时序路径后的第一个所述触发器的本地时钟端的时钟延迟设置为所述时间裕量平均值与所述第一条所述时序路径的时间裕量值的差值。
4.根据权利要求2所述的时序电路优化方法,其特征在于,所述根据每条所述时序路径的时间裕量值以及每组所述可优化时序路径组中每条所述时序路径的所述时间裕量值的时间裕量平均值,对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的过程包括,在每组所述可优化时序路径组中按照时序传递的方向,根据第i条所述时序路径的时间裕量值、所述时间裕量平均值以及第i条所述时序路径前面第一个所述触发器的设置值,对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置;
其中i为大于等于2的整数。
5.根据权利要求4所述的时序电路优化方法,其特征在于,所述根据第i条所述时序路径的时间裕量值、所述时间裕量平均值以及第i条所述时序路径前面第一个所述触发器的设置值,对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的过程包括,
将第i条所述时序路径后的第一个所述触发器的本地时钟端的时钟延迟设置为,所述时间裕量平均值与第i条所述时序路径的时间裕量值与第i条所述时序路径前面所述第一个触发器的设置值之差的差值。
6.一种时序电路优化装置,其特征在于,包括:用于对在时序传递的方向上具有连续多条违例时序路径以及所述连续多条违例路径后面具有至少一条富裕时序路径的连续多条时序路径,根据所述连续多条时序路径中每条所述时序路径的时间裕量值对所述连续多条时序路径进行分组得到至少一个可优化时序路径组的模块;以及,
用于根据所述至少一个可优化时序路径组中每组可优化时序路径组的每条所述时序路径的时间裕量值对每组所述可优化时序路径组中每条所述时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的模块;
其中,所述根据所述连续多条时序路径中每条所述时序路径的时间裕量值对所述连续多条时序路径进行分组得到至少一个可优化时序路径组的过程包括,按照与所述时序传递方向相反的顺序,根据所述连续多条时序路径中所述至少一条富裕时序路径的富裕时间裕量值与所述连续多条违例路径的违例时间裕量值的和,对所述连续多条时序路径依次进行分组;
利用与所述富裕时间裕量值之和大于0的多个所述违例时间裕量值对应的所述连续多条违例时序路径以及所述至少一条富裕时序路径得到至少一个所述可优化时序路径组。
7.一种计算机可读存储介质,其存储有计算机指令,其特征在于,所述计算机指令被操作以执行权利要求1‑5中任一项所述的时序电路优化方法。
说明书 :
一种时序电路优化方法、装置及其存储介质
技术领域
背景技术
架构达到时序收敛的目的。但是在集成电路设计的中后段流程中,当寄存器传输级代码已
经合理时,如果此时电路中的时序仍未收敛,采取优化系统架构和提高工艺节点将会耗费
大量的时间。现有技术中在出现时序违例(timing‑violation)的点设置时钟的延时
(latency)来优化时序的方式,对连续出现多处时序违例路径的情况,只能优化最靠近无时
序违例处的时序违例路径,不能对所有的时序违例路径进行优化。
发明内容
路径的时间裕量对违例时序路径后第一个触发器的本地时钟端进行设置,实现时序电路的
优化。
有至少一条富裕时序路径的连续多条时序路径,根据连续多条时序路径中每条时序路径的
时间裕量值对连续多条时序路径进行分组得到至少一个可优化时序路径组;
延迟进行设置。
路径的时间裕量值对连续多条时序路径进行分组得到至少一个可优化时序路径组的模块;
以及,
时钟延迟进行设置的模块
第一个触发器的本地时钟端进行设置,实现对时序电路中连续出现的多处时序违例路径进
行优化。
附图说明
明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根
据这些附图获得其他的附图。
技术人员说明本发明的概念。
具体实施方式
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖
非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括
所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
(violation),可以在FF2的本地CK端插入一个延时(delay)值为200ps的缓存(BUF),或者设
置CK2的时钟延时(Latency)的值为100ps,使得CK2—>D3的时钟周期减小100ps,而CK1—>
D2的时钟周期增加100ps,相当于总体时钟周期不变的前提下将富裕时序路径的时间借用
给违例的时序路径。时钟关系如图3所示。优化前,由于CK1—>D2的路径延迟较大,所以CK2
采不到data2,优化后CK2’能采到data2。
大于0,但是并不能消除CK1—>D2的violation。
例时序路径。
的概念或过程可能在某些实施例中不再赘述。
序路径中每条时序路径的时间裕量值对连续多条时序路径进行分组得到至少一个可优化
时序路径组的过程,以利于在得到的每个分组内,根据各时序路径的时间裕量,相应的设置
时钟延迟从而优化其中的违例时序路径。
与时序传递方向相反的顺序,根据连续多条时序路径中至少一条富裕时序路径的富裕时间
裕量值与连续多条违例路径的违例时间裕量值的和,对连续多条时序路径依次进行分组,
得到至少一个可优化时序路径组,以利于在得到的各个可优化时序路径组内,根据每个时
序路径的时间裕量,相应的设置时钟延迟,从而优化其中的违例时序路径。
间裕量值的和,对连续多条时序路径依次进行分组,得到至少一个可优化时序路径组的过
程包括,利用与富裕时间裕量值之和大于0的多个违例时间裕量值对应的连续多条违例时
序路径以及至少一条富裕时序路径得到至少一个可优化时序路径组,即需要满足:
路径进行优化的前提。
表示分组编号)开始,按照与时序传递方向相反的方向进行分组,如果Pk‑1与第N组的{Pk}时
间裕量之和大于0,则将Pk‑1并入第N组,否则Pk‑1另成第N+1组,继续剩余的时间裕量进行分
组,最后按照时间裕量的分组对相应的时序路径进行分组。
器的本地时钟端的时钟延迟进行设置的过程,根据可优化时序路径组中每组路径的时间裕
量值,对相应的时钟延迟进行合理设置,就能够优化组内所有违例的时序路径,而不仅仅只
是离富裕时间裕量最近的一条时序路径。
第一个触发器的本地时钟端的时钟延迟进行设置的过程,根据可优化时序路径组中每组路
径的时间裕量值,对相应的时钟延迟进行合理设置的过程包括,根据每条时序路径的时间
裕量值以及每组可优化时序路径组中每条时序路径的时间裕量值的时间裕量平均值,对每
组可优化时序路径组中每条时序路径后第一个触发器的本地时钟端的时钟延迟进行设置,
根据可优化时序路径组组内时间裕量平均值对相应的时钟延迟进设置,能够使时钟延迟的
设置更加合理地进行。
组中每条时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的过程包括,在每组
可优化时序路径组中按照时序传递的方向,将第一条时序路径后的第一个触发器的本地时
钟端的时钟延迟设置为时间裕量平均值与第一条时序路径的时间裕量值的差值,即满足下
列公式:
组中每条时序路径后第一个触发器的本地时钟端的时钟延迟进行设置的过程包括,在每组
可优化时序路径组中按照时序传递的方向,根据第i条时序路径的时间裕量值、时间裕量平
均值以及第i条时序路径前面第一个触发器的设置值,对每组可优化时序路径组中每条时
序路径后第一个触发器的本地时钟端的时钟延迟进行设置,其中i为大于等于2的整数。根
据可优化时序路径组组内时间裕量平均值,该时序路径的时间裕量以及前面一个时钟延迟
的设置值对相应的时钟延迟进设置,能够使相应的时钟延迟的设置更加合理地进行,保证
每个可优化时序路径组内的违例时序路径都能够得以优化。
触发器的设置值,对每组可优化时序路径组中每条时序路径后第一个触发器的本地时钟端
的时钟延迟进行设置的过程包括,将第i条时序路径后的第一个触发器的本地时钟端的时
钟延迟设置为,时间裕量平均值与第i条时序路径的时间裕量值与第i条时序路径前面第一
个触发器的设置值之差的差值,即满足下列公式:
延迟的设置值对相应的时钟延迟进设置,能够使相应的时钟延迟的设置更加合理地进行。
均值为0.8。
可优化时序路径组内总体的时钟延迟为0。
续多条时序路径中每条时序路径的时间裕量值对连续多条时序路径进行分组得到至少一
个可优化时序路径组的模块,模块601得到的每个可优化时序路径组分组组内,可以根据各
时序路径的时间裕量,相应的设置时钟延迟从而优化其中的违例时序路径。
违例时间裕量值的和,对连续多条时序路径依次进行分组,得到至少一个可优化时序路径
组,以利于在得到的各个可优化时序路径组内,根据每个时序路径的时间裕量,相应的设置
时钟延迟,从而优化其中的违例时序路径。
一个可优化时序路径组。只有当一组时序路径的时间裕量值满足和大于0的条件时,才说明
富裕的时间裕量足够用来优化违例的时序路径。分组得到可优化时序路径组是对可优化时
序路径组内所有违例时序路径进行优化的前提。
一个触发器的本地时钟端的时钟延迟进行设置的模块,能够优化组内所有违例的时序路
径,而不仅仅只是离富裕时间裕量最近的一条时序路径。
时序路径组中每条时序路径后第一个触发器的本地时钟端的时钟延迟进行设置,根据可优
化时序路径组组内时间裕量平均值对相应的时钟延迟进设置,能够使时钟延迟的设置更加
合理地进行。
裕量平均值与第一条时序路径的时间裕量值的差值,并且在每组可优化时序路径组中按照
时序传递的方向,根据第i条时序路径的时间裕量值、时间裕量平均值以及第i条时序路径
前面第一个触发器的设置值,将第i条时序路径后的第一个触发器的本地时钟端的时钟延
迟设置为,时间裕量平均值与第i条时序路径的时间裕量值与第i条时序路径前面第一个触
发器的设置值之差的差值,其中i为大于等于2的整数,根据可优化时序路径组组内时间裕
量平均值,第i条时序路径的时间裕量以及前面一个时钟延迟的设置值对相应的时钟延迟
进设置,能够使相应的时钟延迟的设置更加合理地进行,保证每个可优化时序路径组内的
违例时序路径都能够得以优化。
性存储介质耦合到处理器,使得处理器可从存储介质读取信息和向存储介质写入信息。
用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)、现场可编程
门阵列(英文:Field Programmable Gate Array,简称:FPGA)或其它可编程逻辑装置、离散
门或晶体管逻辑、离散硬件组件或其任何组合等。通用处理器可以是微处理器,但在替代方
案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算
装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微
处理器或任何其它此类配置。在替代方案中,存储介质可与处理器成一体式。处理器和存储
介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替代方案中,处理器和存储介质可作为
离散组件驻留在用户终端中。
仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结
合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的
相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通
信连接,可以是电性,机械或其它的形式。
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
同理包括在本发明的专利保护范围内。