基于回溯算法确定信号相关性的系统的制作方法

文档序号:33032411发布日期:2023-01-20 21:10阅读:27来源:国知局
基于回溯算法确定信号相关性的系统的制作方法

1.本发明涉及计算机技术领域,尤其涉及一种基于回溯算法确定信号相关性的系统。


背景技术:

2.在芯片设计与验证过程中,在进行调试工作的时候,需要关注一个目标信号和与其相关联信号之间的关系,从而判断设计的正确性。电子设计中的trace driver /load(追踪驱动/负载)功能,用于查询信号之间的相互驱动关系的功能,通过该功能,可以获取信号在某个时间点的静态关系以及信号值,也可以查看信号在时间线上的动态关系以及对应的信号值变化。但是,现有技术都是基于仿真结果来查看运行后的结果,是一种静态结果,且无法直接修改电子设计中的信号值,若需修改,还需基于目标信号修改值做出复杂的推算,改变初始条件,重新仿真整个设计,来获取信号相关性。由此可知,现有的获取信号相关性的方式具有局限性,且获取效率低,从而导致芯片设计与验证过程中调试效率低。


技术实现要素:

3.本发明目的在于,提供一种基于回溯算法确定信号相关性的系统,无需重新运行仿真设计,即可获取全部符合条件的信号相关性结果,提高了信号相关性的获取效率。
4.根据本发明一方面,提供了一种基于回溯算法确定信号相关性的系统,包括待处理电子设计,存储有计算机程序的存储器和处理器,当将所述处理器执行计算机程序时,实现以下步骤:步骤s1、选取所述待处理电子设计中的一个信号节点作为目标信号节点,设置目标信号节点对应的目标信号值、第一回溯方向、第一回溯深度和第一回溯限制条件;步骤s2、以所述目标信号节点作为起点,沿着第一回溯方向从所述待处理电子设计抽取第一回溯深度内与所述目标信号节点相关联的信号节点以及对应的连接关系,生成第一目标驱动电路;步骤s3、根据目标信号值、第一回溯方向、第一回溯深度和第一回溯限制条件回溯所述第一目标驱动电路,获取所有符合所述第一回溯限制条件的第一信号值组合,生成第一信号值组合集合。
5.本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于回溯算法确定信号相关性的系统可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:本发明基于电子设计中信号间的连接驱动关系,允许用户设定任意位置的信号值,无需重新运行仿真设计,采用回溯算法推演出其前后相连接驱动信号的可能值,并且支持向前或向后递归,即可获取全部符合条件的信号相关性结果,提高了信号相关性的获取效率,从而提高了芯片设计与验证过程中调试效率。
附图说明
6.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
7.图1为本发明实施例提供的基于回溯算法确定信号相关性流程图;图2为本发明实施例基于实施方式一提供的呈现信号相关性示意图;图3为本发明实施例基于实施方式二提供的呈现信号相关性示意图;图4为本发明实施例图3对应的信号节点信号值的设置概率示意图。
具体实施方式
8.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
9.本发明实施例提供了一种基于回溯算法确定信号相关性的系统,包括待处理电子设计,存储有计算机程序的存储器和处理器,其中,待处理的电子设计可以为芯片设计,具体可以为用于芯片设计阶段或验证阶段的芯片设计,通过确定信号系相关性,为调试过程提供参考。
10.当将所述处理器执行计算机程序时,实现以下步骤,如图1所示:步骤s1、选取所述待处理电子设计中的一个信号节点作为目标信号节点,设置目标信号节点对应的目标信号值、第一回溯方向、第一回溯深度和第一回溯限制条件。
11.需要说明的是,第一回溯方向为向前或向后,本发明支持前向回溯,也支持后向回溯。第一回溯深度基于具体的应用需求以及所需的处理速度等综合设定,回溯深度越深,所需的处理时间越长。第一回溯限制条件根据处理电子设计的硬件设计需求来设定。目标信号值可以设置为0或1,目标信号节点以及对应的目标信号节点可以由用户指定。第一回溯限制条件对应的是针对所述待处理电子设计中沿着第一回溯方向在第一回溯深度内,部分与所述目标信号节点相关联的信号节点所设置的限制条件。
12.步骤s2、以所述目标信号节点作为起点,沿着第一回溯方向从所述待处理电子设计抽取第一回溯深度内与所述目标信号节点相关联的信号节点以及对应的连接关系,生成第一目标驱动电路。
13.其中,具体可以采用电子设计中的trace driver/load功能,以所述目标信号节点作为起点,沿着第一回溯方向查询所述待处理电子设计中信号之间的驱动关系,生成第一目标驱动电路。
14.步骤s3、根据目标信号值、第一回溯方向、第一回溯深度和第一回溯限制条件回溯所述第一目标驱动电路,获取所有符合所述第一回溯限制条件的第一信号值组合,生成第一信号值组合集合。
15.本发明所述系统仅需要在第一目标驱动电路回溯目标信号节点相关的信号,无需重新仿真整个设计,提高了信号相关信性的获取效率,且目标信号值可以根据需求任意设
置,从而回溯出所有可能的第一信号值组合,具有很高的灵活性。
16.需要说明的是,本发明所述系统可以同时设置向第一回溯方向相反的方向第二回溯方向进行回溯,获取位于目标信号节点前后两个方向的信号相关性,作为一种示例,当将所述处理器执行计算机程序时,还实现以下步骤:步骤c1、设置第二回溯方向、第二回溯深度和第二回溯限制条件,所述第二回溯方向和第一回溯方向相反。
17.其中,第二回溯深度和第一回溯深度可以相同,也可以不同,根据两个方向上的信号相关性具体获取需求来设定。第二回溯限制条件对应的是针对所述待处理电子设计中沿着第二回溯方向在第二回溯深度内,部分与所述目标信号节点相关联的信号节点所设置的限制条件。
18.步骤c2、以所述目标信号节点作为起点,沿着第二回溯方向从所述待处理电子设计抽取第二回溯深度内与所述目标信号节点相关联的信号节点以及对应的连接关系,生成第二目标驱动电路。
19.其中,具体可以采用电子设计中的trace driver/load功能,以所述目标信号节点作为起点,沿着第二回溯方向查询所述待处理电子设计中信号之间的驱动关系,生成第二目标驱动电路。
20.步骤c3、根据目标信号值、第二回溯方向、第二回溯深度和第二回溯限制条件回溯所述第二目标驱动电路,获取所有符合所述第二回溯限制条件的第二信号值组合,生成第二信号值组合集合。
21.作为一种示例,所述步骤c3之后还包括:步骤c4、基于所述第一信号值组合和第二信号值组合生成第一目标驱动电路和第二目标驱动电路拼接生成的第三目标驱动电路对应的第三信号值组合,生成第三信号值组合集合。
22.需要说明的是,第一信号值组合和第二信号值组合以目标信号节点为连接点,第三信号值组合集合包括了所有第一信号值组合和所有第二信号值组合能够组合生成的所有第三信号值组合。
23.为了进一步展示信号相关性,可以获取每一信号值对应的设置概率,作为一种示例,所述步骤s3、步骤c3或步骤c4之后还包括:步骤s4、基于第r信号值组合集合获取第r目标驱动电路每一信号节点所可能设置的信号值以及对应的设置概率:p
ir
(y)= m
ir
(y)/nr;其中,m
ir
(y)为第r信号值组合集合中第r目标驱动电路第i个信号节点取值为y时的数量,nr为第r信号值组合集合中信号值组合总数量,y=0、1、x或z,需要说明的是,在硬件描述语言中,x表示不定值,z表示高阻态;i的取值范围为1到f(r),f(r)为第r目标驱动电路中除目标信号节点之外的信号节点数量。
24.需要说明的是,当步骤s4用于限定步骤s3时,r=1,即第r信号值组合集合为第一信号值组合集合,第r目标驱动电路为第一目标驱动电路等;当步骤s4用于限定步骤c3时,r=2,即第r信号值组合集合为第二信号值组合集合,第r目标驱动电路为第二目标驱动电路等;当步骤s4用于限定步骤s4时,r=3,即第r信号值组合集合为第三信号值组合集合,第r目
标驱动电路为第三目标驱动电路等。
25.第r信号值组合集合可以通过不同的方式进行展示,以通过两个实施方式进行说明:实施方式一、所述步骤s3、步骤c3或步骤c4之后还包括:步骤s5、按照预设的显示数据结构在显示界面上呈现所有第r信号值组合,其中,所述预设的显示数据结构包括g(r)个列区域,r=1时,g(r)等于第一回溯深度加1;r=2时,g(r)等于第二回溯深度加1;r=3时,g(r)等于第一回溯深度与第二回溯深度加之和再加1,目标信号节点对应一个列区域,每一级回溯深度对应一个列区域。
26.每一列区域包括一个或多个行区域每一列区域用于显示每一级回溯深度的回溯深度标识、信号节点标识、信号值以及对应的设置概率的一个或多个;具体的,可以将回溯深度标识设置在一个单独的行区域,优选的,可以设置在顶部,其他行区域用于设置信号节点标识、信号值以及对应的设置概率。行区域满足:h
jr
=h
k1r
+h
k2r
+

+h
kvr

+h
ku(j)r
,其中,h
jr
为第r目标驱动电路中位于第j回溯深度的一个信号节点a
jr
的行高,h
kvr
为第r目标驱动电路中位于第k回溯深度的受h
jr
影响的第v个信号节点b
kvr
的行高,v的取值范围为1到u(j), u(j)为第r目标驱动电路中位于第k回溯深度的受h
jr
影响的信号节点总数,j≠k,b
kvr
的行区域能够沿水平方向延伸至a
jr
的行区域中。通过上述行区域和列区域的布局,可以清晰展示驱动电路中信号值至之间的对应关系,以及每一信号值的设置概率,直观体现信号相关性。可以理解的是,芯片设计通常规模巨大且复杂,因此,驱动电路也可能庞大而复杂,通过预设的显示数据结构在显示界面上呈现所有第r信号值组合,能够清晰展示信号相关性,为调试等应用提供支撑,进而可以提高芯片设计和验证的效率。显示界面具体可以为gui界面。
27.为了进一步说明,图2示出了一种简单的基于实施方式一的显示效果,需要说明的是,图2仅为简化说明按照预设的显示数据结构的显示效果,实际应用中,通常更为复杂。图2中所示示例,向后回溯了2级,向前回溯了1级,其中,x为目标信号节点标识,clk0为回溯深度为-1的相关信号的信号节点标识,y为回溯深度1的相关一个信号节点标识,m1、m2为回溯深度2的相关信号的节点标识,图2中,信号节点标识之后的括号内为对应的信号值,p的取值为设置该信号值对应的概率。图2能够清晰地展示信号相关性。
28.实施方式二、所述步骤s3、步骤c3或步骤c4之后还包括:步骤s6、按照预设的显示数据结构在显示界面上呈现所有第r信号值组合,其中,所述预设的显示数据结构包括q(r)个列区域。
29.r=1时,q(r)=x1+x2+

+xj+

x
h1
+1, xj为第一回溯方向第j级回溯深度对应的信号节点数,j的取值范围为1到h1,h1为第一回溯深度。
30.r=2时,q(r)=b1+b2+

+bf+
…bh2
+1, bf为第二回溯方向第f级回溯深度对应的信号节点数,f的取值范围为1到h2,h2为第二回溯深度。
31.r=3时,q(r)=x1+x2+

+xj+

x
h1
+b1+b2+

+bf+
…bh2
+1。
32.每一信号节点对应一个列区域,每一列区域用于显示每一信号节点对应的回溯深度标识、信号节点标识、信号值和设置概率中的一个或多个,每一列区域包括w个单位行,r=1或2时,w=1+nr;r=3时,w=1+n1*n2,每一列区域的其中一个单位行用于存储信号节点对应的
回溯深度标识,其他单位行用于存储该行对应的信号节点标识、信号值和设置概率中的一个或多个,所有列区域除回溯深度标识所在单位行之外的其他每一单位行连接组成的行,对应一个第r信号值组合。所述到单位行为每一列区域对应的预设的最小行单位。
33.作为一种优选示例,当列区域中存在多个连续的单位行的信号值相等时,可以将信号值相等的多个连续的单位行合并为一合并行,合并行的高度等于所合并的多个单位行的和。
34.通过上述行区域和列区域的布局,可以清晰展示驱动电路中信号值至之间的对应关系,以及每一信号值的设置概率,直观体现信号相关性。可以理解的是,芯片设计通常规模巨大且复杂,因此,驱动电路也可能庞大而复杂,通过预设的显示数据结构在显示界面上呈现所有第r信号值组合,能够清晰展示信号相关性,为调试等应用提供支撑,进而可以提高芯片设计和验证的效率。显示界面具体可以为gui界面。
35.为了进一步说明,图3示出了一种简单的基于实施方式二的显示效果,需要说明的是,图3仅为简化说明按照预设的显示数据结构的显示效果,实际应用中,通常更为复杂。此外,图3中并未将每一信号的设置概率进行显示,实际使用中可以直接在图3中显示,也可以以图4所示的方式来显示概率。图3中,x为目标信号节点标识,y1_1、y1_2为回溯深度1的信号节点标识,y2_1、y2_2、y2_3是回溯深度2的信号节点标识,信号节点标识之后的括号内为对应的信号值。可以理解的是,并非所有的连续的单位行的信号值相等时均需合并,为了更清晰展示驱动电路中信号值至之间的对应关系,连续的单位行的信号值相等时也可以选择不合并,如图3中的第4列的中的部分连续单位行所示。
36.图4示出了基于图3得到的每一节点设置对应信号值的设置概率。
37.作为一种示例,步骤s3或步骤c3包括:步骤s31、将目标信号节点设置为回溯算法的初始回溯起点,将第f回溯方向设置为回溯算法的方向,将第f回溯深度设置为回溯算法的深度,将第f回溯限制条件设置为限制条件。
38.步骤s32、根据目标信号值、目标信号节点与第f回溯深度的信号节点对应的硬件驱动关系预测第一回溯深度的信号节点的信号值,根据第t回溯深度的当前所选的预测信号值,以及第t回溯深度和第(t+1)回溯深度对应的硬件驱动关系预测第(t+1)回溯深度的信号节点的信号值,基于回溯算法进行回溯,获取第f目标驱动电路中所有符合第一回溯限制条件第f信号值组合,t的取值范围为2到(e-1),e为第f回溯深度,其中,当步骤s31和步骤s32用于限定步骤s3时,f=1;当步骤s31和步骤s32用于限定步骤c3时,f=2。
39.需要说明的是,硬件驱动关系能够基于对应的第f目标驱动电路直接获取,根据待预测节点与直接相关的信号节点之间的硬件驱动关系,以及直接相关的信号节点的信号值,可以预测出待预测节点的信号值。例如,待预测信号节点处设置有锁存器,则待预测节点的值不变。若待预测信号节点和直接相关的信号节点之间为电平连接,则基于直接相关的信号节点的值同步改动待预测信号节点的值。此外,现有的回溯算法全部落入本发明保护范围之内,回溯算法是一种类枚举的搜索尝试算法。在满足条件限制的情况下,算法会基于回溯点向前或后尝试搜索并寻找问题的解。当算法发现当前路径已不满足求解条件时,就回溯返回至上一个回溯点,并尝试剩余的其他路径。回溯算法细节在此不再展开描述。
40.作为一种示例,所述系统在执行回溯过程时,处于运行所述待处理电子设计仿真
的情况下,或者不处于运行所述待处理电子设计仿真的情况下,即不用必须以待处理电子设计仿真为前提;第f回溯限制条件包括以下限制条件中的一个或多个:第f目标驱动电路中的第一指定信号节点值必须为q1、第f目标驱动电路中的第二指定信号节点值不能为q2,f为1或2,f为1时,第f回溯限制条件为第一回溯限制条件,f为2时,第f回溯限制条件为第二回溯限制条件。q1为0或1,q2为0或1。
41.作为一种示例,可以将限制条件设置与时序相关,与时序相关时,所述系统在执行回溯过程时,处于运行所述待处理电子设计仿真的情况下;第f回溯限制条件包括以下限制条件中的一个或多个:第f目标驱动电路中的第一指定信号节点值必须为q1,第f目标驱动电路中的第二指定信号节点值不能为q2,第f目标驱动电路中的第三指定信号节点值在第一指定信号时间点必须为q3,第f目标驱动电路中的第四指定信号节点值在第一指定信号时间点不能为q4,第f回溯限制条件为第一回溯限制条件,f为2时,f为1或2,f为1时,第f回溯限制条件为第二回溯限制条件p为1或2,q1为0或1,q2为0或1,q3为0或1,q4为0或1。
42.本发明所述系统基于电子设计中信号间的连接驱动关系,允许用户设定任意位置的信号值,无需重新运行仿真设计,采用回溯算法推演出其前后相连接驱动信号的可能值,并且支持向前或向后递归,即可获取全部符合条件的信号相关性结果,提高了信号相关性的获取效率,从而提高了芯片设计与验证过程中调试效率。
43.需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
44.以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1