寄存器接入方法、装置、电子设备及计算机可读存储介质与流程

文档序号:33888794发布日期:2023-04-21 00:46阅读:77来源:国知局
寄存器接入方法、装置、电子设备及计算机可读存储介质与流程

本技术涉及芯片设计,具体而言,涉及一种寄存器接入方法、装置、电子设备及计算机可读存储介质。


背景技术:

1、随着技术的发展,数字ic(integrated circuit,集成电路)的规模已经突破千万级。而当项目需要进行eco(engineering change orde,工程变更)时,一般需要新增的寄存器,且需要新增的寄存器的数量可能达到了上百甚至上千之数。且由于eco时芯片设计中的scan chain(扫描链测试中所形成的扫描链)已经成形,无法再通过现有工具重新生成替代,但作为eco改动的一部分,这些新增寄存器却更需要被加入scan chain中。

2、目前,为了将eco后产生的新增的寄存器加入scan chain中,通常是由中后端工程师通过人工方式进行加入,这就导致需要消耗大量的人力成本,且效率低下。此外,人工操作难免会出现一些失误,且这些失误出现的地方是无法预测的,因此会导致将eco后产生的新增的寄存器加入scan chain中时出错率高。


技术实现思路

1、本技术实施例的目的在于提供一种寄存器接入方法、装置、电子设备及计算机可读存储介质,用以提高寄存器接入效率。

2、本技术实施例提供了一种寄存器接入方法,包括:将待接入的各寄存器按照所属时钟域和逻辑层次进行分组,得到至少一个寄存器组;针对每个寄存器组:从各扫描链中选出目标扫描链;所述目标扫描链为包括目标链段的扫描链;所述目标链段为所述扫描链中与该寄存器组属于相同时钟域和逻辑层次的寄存器段,或为所述扫描链中与该寄存器组属于相同时钟域的寄存器段;按照该寄存器组对应的各所述目标扫描链可接入寄存器的余量,将该寄存器组中的各所述寄存器接入各所述目标扫描链的目标链段中。

3、在上述实现方式中,通过将待接入的各寄存器按照所属时钟域和逻辑层次进行分组,并针对每个寄存器组,选择具有与该寄存器组属于相同时钟域和逻辑层次的扫描链或者与该寄存器组属于相同时钟域的扫描链来作为被加入的目标扫描链,这样在将待接入的各寄存器接入目标扫描链的目标链段中后,由于被接入的目标扫描链的目标链段与接入的寄存器至少属于相同的时钟域,因此可以利于加入寄存器后的扫描链中各寄存器的时序收敛。且由于被接入的目标扫描链与接入的寄存器至少属于相同的时钟域,因此在接入的寄存器与扫描链的目标链段中各寄存器在版图中的物理距离通常不会很远(尤其是在目标链段与接入的寄存器逻辑层次也一致时,距离通常不会很远),从而也利于减少不必要的drv(design rule violation,设计规则违反)。同时,在本技术实施例中是按照该寄存器组对应的各所述目标扫描链可接入寄存器的余量,将该寄存器组中的各所述寄存器接入各所述目标扫描链的目标链段中,因此也可以避免加入寄存器后的目标扫描链超长,避免增加测试时间与成本。同时,采用本技术实施例的方案,可以实现待接入的各寄存器到目标扫描链的自动化接入,从而可以有效减少人力成本,提高接入效率,并且可以规避掉人工操作所存在的失误,降低将eco后产生的新增的寄存器(即待接入的各寄存器)加入scan chain中时出错率。

4、进一步地,在按照该寄存器组对应的各所述目标扫描链的可接入寄存器的余量,将该寄存器组中的各所述寄存器接入各所述目标扫描链的目标链段中之前,所述方法还包括:获取各所述扫描链的长度;根据各所述扫描链的长度以及各所述扫描链的长度中的最大长度,确定各所述扫描链可接入寄存器的余量。

5、在上述实现方式中,通过根据各扫描链的长度以及各扫描链的长度中的最大长度,确定各扫描链可接入寄存器的余量,这样就可以保证在按照该寄存器组对应的各所述目标扫描链可接入寄存器的余量,将该寄存器组中的各所述寄存器接入各目标扫描链的目标链段中时,避免加入寄存器后的目标扫描链超长(即避免超过及各扫描链的长度中的最大长度),避免增加测试时间与成本。

6、进一步地,从各扫描链中选出目标扫描链,包括:从各所述扫描链中选出可接入寄存器的余量不为0的,且包含与该寄存器组属于相同时钟域和逻辑层次的寄存器段的第一扫描链;从所述第一扫描链中选择出可接入寄存器的总余量大于等于该寄存器组中的寄存器数量的各所述目标扫描链。

7、进一步地,从各扫描链中选出目标扫描链,还包括:在所有所述第一扫描链的可接入寄存器的总余量小于所述寄存器组中的寄存器数量时,将所有所述第一扫描链确定为所述目标扫描链;从除所述第一扫描链外的其余扫描链中选出可接入寄存器的余量不为0的,且包含与该寄存器组属于相同时钟域的寄存器段的第二扫描链;从所述第二扫描链中选择出可接入寄存器的总余量大于等于该寄存器组的剩余寄存器数量的各所述目标扫描链;其中,该寄存器组的剩余寄存器数量等于该寄存器组的总寄存器数量与所有所述第一扫描链的可接入寄存器的总余量之差。

8、在上述实现方式中,优先从包含与寄存器组属于相同时钟域和逻辑层次的寄存器段、且可接入寄存器的余量不为0的第一扫描链选出目标扫描链。在第一扫描链的总余量不足时,再从包含与该寄存器组属于相同时钟域的寄存器段、且可接入寄存器的余量不为0的第二扫描链继续选出目标扫描链,这样就可以尽可能地使得待接入的寄存器与其接入的目标扫描链在版图上的物理位置是相近的,从而在利于时序收敛的同时,也利于减少不必要的drv。

9、进一步地,在所述从各扫描链中选出目标扫描链之前,所述方法还包括:从各所述扫描链中去除occ chain(on-chip clock controllers chain,片上时钟控制器链)。

10、可以理解,在扫描链测试中,occ chain是用于进行扫描控制的,因此在接入寄存器时,一般不在occ chain中接入寄存器,以免影响测试效果。而在上述实现方式中,通过先从各所述扫描链中去除occ chain,然后再从各扫描链中选出目标扫描链进行待接入的寄存器的接入,这样就可以保证待接入的寄存器不会接入到occ chain中。

11、进一步地,按照该寄存器组对应的各所述目标扫描链可接入寄存器的余量,将该寄存器组中的各所述寄存器接入各所述目标扫描链的目标链段中,包括:

12、针对任意一个所述目标扫描链,采用以下方式将该寄存器组中的各所述寄存器接入该目标扫描链的目标链段中:

13、若该寄存器组中的目标寄存器数量大于该目标扫描链可接入寄存器的余量n,则执行以下操作,其中所述目标寄存器为该寄存器组中未接入扫描链的寄存器:从该寄存器组的目标寄存器中确定出第一目标寄存器和第二目标寄存器,并从该目标扫描链的目标链段中确定出第一寄存器和第二寄存器;从该寄存器组的目标寄存器中确定出包含所述第一目标寄存器和所述第二目标寄存器在内的n个第三目标寄存器;以所述第一目标寄存器为起点,所述第二目标寄存器为终点,依次连接n个所述第三目标寄存器,并将所述第一目标寄存器的输入端与所述第一寄存器的输出端连接,将所述第二目标寄存器的输出端与所述第二寄存器的输入端连接;

14、若该寄存器组中未接入扫描链的目标寄存器数量小于等于该目标扫描链可接入寄存器的余量n,则执行以下操作:

15、从该寄存器组的目标寄存器中确定出第一目标寄存器和第二目标寄存器,并从该目标扫描链的目标链段中确定出第一寄存器和第二寄存器;以所述第一目标寄存器为起点,所述第二目标寄存器为终点,依次连接该寄存器组中的所有目标寄存器,并将所述第一目标寄存器的输入端与所述第一寄存器的输出端连接,将所述第二目标寄存器的输出端与所述第二寄存器的输入端连接。

16、在上述实现方式中,通过从寄存器组的目标寄存器中确定出第一目标寄存器和第二目标寄存器,并从该目标扫描链的目标链段中确定出第一寄存器和第二寄存器,进而以第一目标寄存器为起点,第二目标寄存器为终点,依次连接该寄存器组中的所有第三目标寄存器或所有目标寄存器,并将所述第一目标寄存器的输入端与所述第一寄存器的输出端连接,将所述第二目标寄存器的输出端与所述第二寄存器的输入端连接,这样就可以自动化地实现所有第三目标寄存器或所有目标寄存器到目标扫描链的目标链段的接入,降低人工成本并提高接入效率。

17、进一步地,从该寄存器组的目标寄存器中确定出第一目标寄存器和第二目标寄存器,并从该目标扫描链的目标链段中确定出第一寄存器和第二寄存器,包括:计算该寄存器组中每一目标寄存器与该目标扫描链的目标链段中每一寄存器之间的距离;将最小距离对应的目标寄存器确定为所述第一目标寄存器,将最小距离对应的该目标扫描链的目标链段中的寄存器确定为所述第一寄存器,将该目标扫描链中与所述第一寄存器的输出端连接的寄存器确定为所述第二寄存器,将与所述第二寄存器距离最小的目标寄存器确定为所述第二目标寄存器。

18、在上述实现方式中,取最小距离对应的目标寄存器确定为第一目标寄存器,最小距离对应的该目标扫描链的目标链段中的寄存器确定为第一寄存器,并取与第二寄存器距离最小的目标寄存器确定为第二目标寄存器,这样就可以保证寄存器接入点的距离是最短的,从而在一定程度上降低待接入的寄存器接入目标扫描链时所带来的走线距离的影响,从而利于接入寄存器后的扫描链的时序收敛,也利于减少不必要的drv。

19、进一步地,以所述第一目标寄存器为起点,所述第二目标寄存器为终点,依次连接n个所述第三目标寄存器,包括:以所述第一目标寄存器和所述第二目标寄存器之间的中间点为原点,将n个所述第三目标寄存器划分至四个象限;将每个象限内的各第三目标寄存器按照距离最短原则进行连接,并按照第一象限、第二象限、第三象限和第四象限的顺序,依次将一个象限的最后一个第三目标寄存器的输出端与另一个象限内第一个第三目标寄存器的输入端连接,且第一象限的第一个第三目标寄存器的输入端与所述第一目标寄存器的输出端连接,第四象限的最后一个第三目标寄存器的输出端与所述第二目标寄存器的输入端连接;其中,所述第一象限的第一个第三目标寄存器为:与所述第一目标寄存器的距离最近的第三目标寄存器;其中,所述第一象限为与所述第一目标寄存器的距离最近的第三目标寄存器所在的象限;所述第二象限为与所述第一象限相邻,且不与所述第一目标寄存器相交的象限;所述第三象限为与所述第二象限相对的象限;所述距离最短原则为:两个寄存器在连接时,该两个寄存器在所有可连接的寄存器中距离最短。

20、进一步地,以所述第一目标寄存器为起点,所述第二目标寄存器为终点,依次连接该寄存器组中的所有目标寄存器,包括:

21、以所述第一目标寄存器和所述第二目标寄存器之间的中间点为原点,将所述目标寄存器划分至四个象限;

22、将每个象限内的各目标寄存器按照距离最短原则进行连接,并按照第一象限、第二象限、第三象限和第四象限的顺序,依次将一个象限的最后一个目标寄存器的输出端与另一个象限内第一个目标寄存器的输入端连接,且第一象限的第一个目标寄存器的输入端与所述第一目标寄存器的输出端连接,第四象限的最后一个目标寄存器的输出端与所述第二目标寄存器的输入端连接;其中,所述第一象限的第一个目标寄存器为:与所述第一目标寄存器的距离最近的目标寄存器;其中,所述第一象限为与所述第一目标寄存器的距离最近的目标寄存器所在的象限;所述第二象限为与所述第一象限相邻,且不与所述第一目标寄存器相交的象限;所述第三象限为与所述第二象限相对的象限;所述距离最短原则为:两个寄存器在连接时,该两个寄存器在所有可连接的寄存器中距离最短。

23、在上述实现方式中,以第一目标寄存器和第二目标寄存器之间的中间点为原点,将第三目标寄存器或目标寄存器划分至四个象限,并将每个象限内的各第三目标寄存器或目标寄存器按照距离最短原则进行连接,并连接各象限之间的第三目标寄存器或目标寄存器,这样由于每个象限内的第三目标寄存器或目标寄存器都是按照距离最短原则进行的连接,可以尽可能的使得连接后的各第三目标寄存器或目标寄存器的距离最短,从而利于接入寄存器后的扫描链的时序收敛,也利于减少不必要的drv。

24、本技术实施例还提供了一种寄存器接入装置,包括:获取模块,用于将待接入的各寄存器按照所属时钟域和逻辑层次进行分组,得到至少一个寄存器组;接入模块,用于针对每个寄存器组:从各扫描链中选出目标扫描链,并按照该寄存器组对应的各所述目标扫描链可接入寄存器的余量,将该寄存器组中的各所述寄存器接入各所述目标扫描链的目标链段中;其中,所述目标扫描链为包括目标链段的扫描链;所述目标链段为所述扫描链中与该寄存器组属于相同时钟域和逻辑层次的寄存器段,或为所述扫描链中与该寄存器组属于相同时钟域的寄存器段。

25、本技术实施例还提供了一种电子设备,包括处理器、存储器;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的寄存器接入方法。

26、本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述任一种的寄存器接入方法。

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