本技术涉及集成电路,特别是涉及电路的翻转概率信息计算方法、装置和计算机设备。
背景技术:
1、随着目前集成电路的集成度和功耗密度的增加,集成电路的功耗是集成电路设计的重要考量因素。目前集成电路工作时,动态功耗占重要部分,而动态功耗评估中,需要获取集成电路中逻辑单元的翻转率。
2、目前,针对逻辑单元的翻转率的评估,常常采用以下两种方式来实现:一种是由电路设计人员基于以往设计经验,手动指定逻辑单元的翻转率,该种方式所获得的翻转率为估计值,准确度较低,进而无法实现功耗的准确计算。另一种方式是基于仿真工具对电路进行仿真,从而计算得到翻转率。在只有部分节点标注了翻转概率信息的情况下,无法准确地计算出其他节点的翻转概率信息。因此,相关技术中存在计算翻转概率信息的准确度较低的问题。
技术实现思路
1、在本实施例中提供了一种电路的翻转概率信息计算方法、装置和计算机设备,以解决相关技术中针对门级网表计算翻转概率信息的准确度较低的问题。
2、第一个方面,在本实施例中提供了一种电路的翻转概率信息计算方法,包括:
3、获取目标电路中节点的翻转概率信息;
4、基于所述目标电路中不同节点之间的信号相关性,从所述目标电路中筛选至少一个目标节点;
5、根据所述目标节点和所述目标节点的上游节点间的逻辑关系,修正所述至少一个目标节点的翻转概率信息。
6、在其中的一些实施例中,所述方法还包括:
7、根据修正后的所述目标节点的翻转概率信息,更新所述目标节点的下游节点的翻转概率信息。
8、在其中的一些实施例中,所述根据所述目标节点和所述目标节点的上游节点间的逻辑关系,修正所述至少一个目标节点的翻转概率信息,包括:
9、根据所述目标节点的上级节点的信号相关性确定待修正的子电路,根据所述子电路中的所述目标节点的上游节点间的逻辑关系,为所述目标节点建立修正模型;
10、至少根据所述修正模型,修正所述至少一个目标节点的翻转概率信息。
11、在其中的一些实施例中,所述根据所述目标节点的上级节点的信号相关性确定待修正的子电路,包括:
12、根据所述目标节点的上级节点的信号相关性,从所述目标节点向所述目标节点的上游节点进行追溯,根据终止条件确定追溯终止节点;
13、根据所述追溯终止节点与所述目标节点之间的电路确定待修正的子电路;
14、其中,所述终止条件为:所述子电路达到预设长度,和/或,所述追溯终止节点间不存在信号相关性。
15、在其中的一些实施例中,所述根据所述子电路中的所述目标节点的上游节点间的逻辑关系,为所述目标节点建立修正模型,包括:
16、利用待修正的子电路中的追溯终止节点为所述目标节点建立修正模型,其中,所述待修正的子电路中最上游的节点为追溯终止节点,所述修正模型用于表征所述追溯终止节点与所述目标节点的逻辑关系。
17、在其中的一些实施例中,所述至少根据所述修正模型,修正所述至少一个目标节点的翻转概率信息,包括:
18、利用所述追溯终止节点的传播状态集以及所述修正模型修正所述至少一个目标节点的翻转概率信息。
19、在其中的一些实施例中,所述方法还包括:
20、将各所述目标节点在更新前的翻转概率信息,以及各所述目标节点的下游节点在更新前的翻转概率信息均识别为第一翻转概率信息;
21、将各所述目标节点在更新后的翻转概率信息,以及各所述目标节点的下游节点在更新后的翻转概率信息均识别为第二翻转概率信息;
22、将第一翻转概率信息和第二翻转概率信息的差值大于预设相差阈值的任意所述目标节点,以及第一翻转概率信息和第二翻转概率信息的差值大于所述预设相差阈值的任意所述下游节点,均识别为新的目标节点;
23、继续基于所述新的目标节点和所述新的目标节点的上游节点间的逻辑关系,修正所述新的目标节点的翻转概率信息。
24、在其中的一些实施例中,所述获取目标电路中节点的翻转概率信息,包括:
25、获取目标电路中关键节点的翻转概率信息,其中,所述关键节点包括原始输入节点和/或寄存器节点;
26、根据所述关键节点的翻转概率信息从所述关键节点逐级传播获得所述目标电路中各个节点的翻转概率信息。
27、在其中的一些实施例中,所述根据所述关键节点的翻转概率信息从所述关键节点逐级传播获得所述目标电路中各个节点的翻转概率信息,包括:
28、根据所述关键节点的翻转概率信息建立所述目标电路中各个节点的传播状态集;
29、根据所述关键节点的传播状态集,以及所述目标电路中各个逻辑单元的单元模型,逐级求解所述目标电路中各个节点的翻转概率信息。
30、在其中的一些实施例中,所述根据所述关键节点的传播状态集,以及所述目标电路中各个逻辑单元的单元模型,逐级求解所述目标电路中各个节点的翻转概率信息,包括:
31、根据所述目标电路的当前逻辑单元的单元模型,确定所述当前逻辑单元中,当前输出节点的各传播状态对应的所述当前逻辑单元的输入节点的传播状态,得到当前对应关系;其中,所述当前逻辑单元的输入节点,为所述当前逻辑单元的上一级逻辑单元的输出节点;所述当前输出节点,为所述当前逻辑单元的下一逻辑单元的输入节点;
32、根据所述当前逻辑单元的当前对应关系,和所述当前逻辑单元的输入节点的传播状态集,计算所述当前输出节点的传播状态概率,得到所述当前输出节点的翻转概率信息。
33、在其中的一些实施例中,在基于所述目标电路中不同节点之间的信号相关性,从所述目标电路中筛选至少一个目标节点前,所述方法还包括:
34、针对所述目标电路中的每一节点,判断各个节点的上级节点是否存在信号相关性,将上级节点存在信号相关性的节点确定为所述目标节点。
35、在其中的一些实施例中,所述方法还包括:
36、在所述目标电路的一组节点中的上游节点和下游节点均为目标节点的情况下,先修正所述一组节点中作为上游节点的所述目标节点的翻转概率信息。
37、在其中的一些实施例中,所述基于所述目标电路中不同节点之间的信号相关性,从所述目标电路的所有节点中筛选至少一个目标节点,包括:
38、计算所述目标电路中各个节点的上级节点之间的信号相关系数,得到上级相关系数;
39、将所述上级相关系数高于预设相关性阈值的节点识别为所述目标节点。
40、第二个方面,在本实施例中提供了一种电路的翻转概率信息计算装置,包括:求解模块、筛选模块以及修正模块;其中:
41、所述求解模块,用于获取目标电路中节点的翻转概率信息;
42、所述筛选模块,用于基于所述目标电路中不同节点之间的信号相关性,从所述目标电路中筛选至少一个目标节点;
43、所述修正模块,用于根据所述目标节点和所述目标节点的上游节点间的逻辑关系,修正所述至少一个目标节点的翻转概率信息。
44、第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述电路的翻转概率信息计算方法。
45、第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的电路的翻转概率信息计算方法。
46、与相关技术相比,在本实施例中提供的电路的翻转概率信息计算方法、装置和计算机设备,首先获取目标电路中节点的翻转概率信息;再基于目标电路中不同节点之间的信号相关性,从目标电路中筛选至少一个目标节点;最后根据目标节点和目标节点的上游节点间的逻辑关系,修正至少一个目标节点的翻转概率信息。其能够通过实现快速的翻转概率信息的计算,进而再基于相关性对节点的筛选,实现对翻转概率信息的修正,从而能够实现对翻转概率信息的准确计算,进而提高了门级网表的翻转概率信息的计算准确度。
47、本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。