一种寄存器时序优化方法、装置、电子设备和存储介质与流程

文档序号:36976655发布日期:2024-02-07 13:29阅读:20来源:国知局
一种寄存器时序优化方法、装置、电子设备和存储介质与流程

本技术属于电子科学,具体涉及一种寄存器时序优化方法、装置、电子设备和存储介质。


背景技术:

1、目前,规模日益增大的集成电路设计中同步电路占绝大部分,时钟信号连线长、负载的寄存器多,要求时钟偏差(clock skew)很小也即时钟信号到达同步寄存器的时钟端口的时间基本一致以保证电路正常工作,设计中存在的时钟偏差不一定意味着时序恶化,电路正常工作的最小时钟周期随时钟偏差的增大而减小,因此正的时钟偏差具有改善电路性能的作用。如何有效利用有用偏差在建立时钟树综合之后进行时序修复与优化是一个值得研究的问题。

2、相关技术中,可以通过借助eda工具在时序电路中插入缓冲器,以平衡电路中的时钟偏差。

3、但是这种方法容易使电路的整体性能下降,导致电路的实用性不高。


技术实现思路

1、本技术实施例的目的是提供一种寄存器时序优化方法、装置、电子设备及可读存储介质,能够解决相关技术中电路性能下降的问题。

2、第一方面,本技术实施例提供了一种寄存器时序优化方法,所述方法包括:

3、基于时序违例的第一寄存器所在第一时序电路的寄存器信息生成多个初始向量集;其中,所述初始向量集包括多个寄存器向量,且与所述第一寄存器对应,所述寄存器向量包括相同数量的数值元素,所述数值元素的数值表示寄存器添加的缓冲器数量;

4、将所述多个初始向量集中所包含的各个寄存器向量分别与第一差分向量相加,得到所述多个初始向量集分别对应的临近向量集;

5、基于模拟退火算法,计算所述临近向量集分别对应的适应度并筛选得到所述适应度中的最大适应度对应的第一临近向量集;

6、基于所述第一临近向量集对应的寄存器时序,调整所述第一寄存器的时序。

7、可选地,所述基于时序违例的第一寄存器所在第一时序电路的寄存器信息生成多个初始向量集,包括:

8、从所述寄存器信息中确定所述第一时序电路的寄存器级数和第一支路数量;

9、基于所述寄存器级数和所述第一支路数量生成所述多个初始向量集;其中,所述初始向量集包含的寄存器向量的数量与所述第一支路数量相同,所述寄存器向量包含的数值元素数量与所述寄存器级数相同,且所述寄存器向量中的数值元素的位置与所述第一时序电路的各个寄存器的位置相对应。

10、可选地,所述方法还包括:

11、确定所述初始向量集中单个寄存器向量的数值元素数量;

12、基于所述第一寄存器在所述第一时序电路中的第一位置和所述数值元素数量,生成所述第一差分向量。

13、可选地,所述基于模拟退火算法,计算所述临近向量集分别对应的适应度并筛选得到所述适应度中的最大适应度对应的第一临近向量集,包括:

14、将寄存器对应时序的建立时间作为适应度函数;

15、基于模拟退火算法和所述适应度函数,计算所述临近向量集分别对应的适应度并筛选得到所述适应度中的最大适应度对应的第一临近向量集;其中,所述建立时间与所述缓冲器数量正相关。

16、可选地,所述基于模拟退火算法和所述适应度函数,计算所述临近向量集分别对应的适应度并筛选得到所述适应度中的最大适应度对应的第一临近向量集,包括:

17、基于所述模拟退火算法和所述适应度函数,计算所述临近向量集的适应度并从所述临近向量集中确定满足第一预设条件的第二临近向量集;

18、按照第一预设规则对所述第二临近向量集进行预设轮数的变异,得到第三临近向量集并计算所述第三临近向量集的适应度;

19、从所述第二临近向量集和所述第三临近向量集中确定所得到的所有适应度中的最大适应度对应的第一临近向量集。

20、可选地,所述从所述临近向量集中确定满足第一预设条件的第二临近向量集,包括:

21、将所述第一寄存器对应的第一建立时间作为迭代参数的初始值;

22、确定所述适应度的变化值大于0的临近向量集为第四临近向量集;

23、在所述适应度的变化值小于0的情况下,按照metropolis准则从所述临近向量集中确定第五临近向量集;

24、按照第二预设规则更新所述迭代参数,得到第一迭代参数并执行所述确定所述适应度的变化值大于0的临近向量集为第四临近向量集的步骤;

25、在所述第一迭代参数满足第二预设条件的情况下,确定所述第四临近向量集和所述第五临近向量集为满足第一预设条件的第二临近向量集。

26、可选地,所述将所述多个初始向量集中所包含的各个寄存器向量分别与第一差分向量相加,得到所述多个初始向量集分别对应的临近向量集,包括:

27、获取第一差分向量对应的第一选取概率;其中,所述第一选取概率用于确定所述的第一差分向量中的第一数值元素;

28、基于所述第一选取概率,将所述多个初始向量集中所包含的寄存器向量的各个数值元素分别与所述第一差分向量的第一数值元素对应相加,得到所述多个初始向量集分别对应的临近向量集。

29、第二方面,本技术实施例提供一种寄存器时序优化装置,所述装置包括:

30、第一生成模块,用于基于时序违例的第一寄存器所在第一时序电路的寄存器信息生成多个初始向量集;其中,所述初始向量集包括多个寄存器向量,且与所述第一寄存器对应,所述寄存器向量包括相同数量的数值元素,所述数值元素的数值表示寄存器添加的缓冲器数量;

31、第一计算模块,用于将所述多个初始向量集中所包含的各个寄存器向量分别与第一差分向量相加,得到所述多个初始向量集分别对应的临近向量集;

32、第二计算模块,用于基于模拟退火算法,计算所述临近向量集分别对应的适应度并筛选得到所述适应度中的最大适应度对应的第一临近向量集;

33、优化模块,用于基于所述第一临近向量集对应的寄存器时序,调整所述第一寄存器的时序。

34、可选地,所述第一生成模块,包括:

35、第一确定子模块,用于从所述寄存器信息中确定所述第一时序电路的寄存器级数和第一支路数量;

36、生成子模块,用于基于所述寄存器级数和所述第一支路数量生成所述多个初始向量集;其中,所述初始向量集包含的寄存器向量的数量与所述第一支路数量相同,所述寄存器向量包含的数值元素数量与所述寄存器级数相同,且所述寄存器向量中的数值元素的位置与所述第一时序电路的各个寄存器的位置相对应。

37、可选地,所述装置还包括:

38、确定模块,用于确定所述初始向量集中单个寄存器向量的数值元素数量;

39、第二生成模块,用于基于所述第一寄存器在所述第一时序电路中的第一位置和所述数值元素数量,生成所述第一差分向量。

40、可选地,所述第二计算模块,包括:

41、第二确定子模块,用于将寄存器对应时序的建立时间作为适应度函数;

42、第一计算子模块,用于基于模拟退火算法和所述适应度函数,计算所述临近向量集分别对应的适应度并筛选得到所述适应度中的最大适应度对应的第一临近向量集;其中,所述建立时间与所述缓冲器数量正相关。

43、可选地,所述第一计算子模块,包括:

44、第一计算单元,用于基于所述模拟退火算法和所述适应度函数,计算所述临近向量集的适应度并从所述临近向量集中确定满足第一预设条件的第二临近向量集;

45、第二计算单元,用于按照第一预设规则对所述第二临近向量集进行预设轮数的变异,得到第三临近向量集并计算所述第三临近向量集的适应度;

46、确定单元,用于从所述第二临近向量集和所述第三临近向量集中确定所得到的所有适应度中的最大适应度对应的第一临近向量集。

47、可选地,所述第一计算单元,包括:

48、第一确定子单元,用于将所述第一寄存器对应的第一建立时间作为迭代参数的初始值;

49、第二确定子单元,用于确定所述适应度的变化值大于0的临近向量集为第四临近向量集;

50、第三确定子单元,用于在所述适应度的变化值小于0的情况下,按照metropolis准则从所述临近向量集中确定第五临近向量集;

51、迭代子单元,用于按照第二预设规则更新所述迭代参数,得到第一迭代参数并执行所述确定所述适应度的变化值大于0的临近向量集为第四临近向量集的步骤;

52、第四确定子单元,用于在所述第一迭代参数满足第二预设条件的情况下,确定所述第四临近向量集和所述第五临近向量集为满足第一预设条件的第二临近向量集。

53、可选地,所述第一计算模块,包括:

54、获取子模块,用于获取第一差分向量对应的第一选取概率;其中,所述第一选取概率用于确定所述的第一差分向量中的第一数值元素;

55、第二计算子模块,用于基于所述第一选取概率,将所述多个初始向量集中所包含的寄存器向量的各个数值元素分别与所述第一差分向量的第一数值元素对应相加,得到所述多个初始向量集分别对应的临近向量集。

56、第三方面,本技术实施例提供了一种电子设备,包括如上所述的寄存器时序优化装置,用以实现如上任一所述的寄存器时序优化方法。

57、第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如上任一所述的寄存器时序优化方法。

58、在本技术实施例中,提供一种寄存器时序优化方法,包括:基于时序违例的第一寄存器所在第一时序电路的寄存器信息生成多个初始向量集;其中,初始向量集包括多个寄存器向量,且与第一寄存器对应,寄存器向量包括相同数量的数值元素,数值元素的数值表示寄存器添加的缓冲器数量;将多个初始向量集中所包含的各个寄存器向量分别与第一差分向量相加,得到多个初始向量集分别对应的临近向量集;基于模拟退火算法,计算临近向量集分别对应的适应度并筛选得到适应度的最大值对应的第一临近向量集;基于第一临近向量集对应的寄存器时序,调整第一寄存器的时序,可以对时序违例的寄存器进行最优时序调整,一定程度上提升了时序电路的性能。

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