掌桥专利:专业的专利平台
掌桥专利
首页

时钟树综合方法、电子设备及存储介质

文献发布时间:2024-04-18 19:58:30


时钟树综合方法、电子设备及存储介质

技术领域

本发明涉及电路设计技术领域,具体而言,涉及一种时钟树综合方法、电子设备及存储介质。

背景技术

在数字集成电路设计中,时钟信号协调和同步数字系统中每一个标准单元的动作,是数据传输的基准。由于目前集成电路规模逐渐增大,集成电路功能和延迟对时序信息的要求也逐渐增高,对于高频大规模电路来说,满足时序要求变得越来越具有挑战性,这一工作主要通过时钟树综合来完成。

目前的集成电路设计规模逐渐复杂,更加偏向于复杂的层次式设计电路,模块之间的差异大,针对复杂的设计电路,需要人工拆解内部的时钟结构,运行计算时间过长。

相关技术中,在时钟树综合的过程中存在效率低下的问题。

发明内容

本发明的目的在于,针对上述现有技术中的不足,提供一种时钟树综合方法、电子设备及存储介质,以便解决相关技术中所存在的上述问题。

为实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种时钟树综合方法,所述方法包括:

获取待处理时钟树的数据,所述待处理时钟树的数据用于表征所述待处理时钟树的结构;

采用目标网络模型,对所述待处理时钟树的数据进行处理,得到针对所述待处理时钟树的第一调整动作;

根据所述第一调整动作对所述待处理时钟树的结构进行调整,得到第一时钟树;

若所述第一时钟树满足预设终止条件,则将所述第一时钟树作为最终的时钟树。

可选的,所述方法还包括:

若所述第一时钟树不满足所述预设终止条件,则获取所述第一时钟树的数据;

采用所述目标网络模型,对所述第一时钟树的数据进行处理,得到针对所述第一时钟树的第二调整动作,根据所述第二调整动作对所述第一时钟树的结构进行调整,直至得到的第二时钟树满足所述预设终止条件,将所述第二时钟树作为最终的时钟树。

可选的,所述目标网络模型包括:图网络模型以及策略网络模型,所述采用目标网络模型,对所述待处理时钟树的数据进行处理,得到针对所述待处理时钟树的第一调整动作,包括:

采用所述图网络模型对所述待处理时钟树的数据进行特征提取,得到时钟树特征向量;

采用所述策略网络模型根据所述时钟树特征向量以及预设全局元数据进行处理,得到针对多个预设调整动作的概率分布,所述预设全局元数据用于表征所述待处理时钟树的全局状态;

根据所述多个预设调整动作的概率分布,从所述多个预设调整动作确定所述待处理时钟树的第一调整动作。

可选的,所述多个预设调整动作包括下述中的至少两项:时钟树遍历方向、用于选择下一节点的前进动作、用于对当前节点下的子节点聚类并添加新节点的聚类动作、用于当前节点与对应的父节点之间插入缓冲器的添加动作、用于删除当前节点并将当前节点按遍历方向置为下一节点的删除节点、用于将当前节点更换为强驱动器件的放大动作、用于将当前节点更换为弱驱动器件的缩小动作、用于增加当前节点和父节点间线长的迂回动作、用于绕过当前节点的父节点并连接祖节点的绕过动作。

可选的,所述目标网络模型采用以下方法训练得到:

根据样本时钟树的数据对初始图网络模型进行训练,得到所述图网络模型;

采用所述图网络模型,分别对所述样本时钟树的数据进行处理,得到样本时钟树特征向量;

根据所述样本时钟树特征向量以及所述样本时钟树的样本全局元数据,对初始策略网络模型和初始价值网络模型进行训练,直至满足强化训练终止条件,得到所述策略网络模型。

可选的,所述根据所述样本时钟树特征向量以及所述样本时钟树的样本全局元数据,对初始策略网络模型和初始价值网络模型的模型参数进行训练,直至满足训练终止条件,得到所述策略网络模型,包括:

采用所述初始策略网络模型,对所述样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一样本调整动作;

采用所述初始价值网络模型,对所述样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一价值信息;

根据所述一样本调整动作对所述样本时钟树的结构进行调整,得到调整后的样本时钟树,并根据所述一价值信息更新所述初始策略网络模型的模型参数;

采用更新后的所述初始策略网络模型,对所述调整后的样本时钟树进行处理,输出下一样本调整动作,直至得到的目标样本时钟树满足所述预设终止条件;

根据所述目标样本时钟树的数据对应的指标数据,对更新后的所述初始策略网络模型和所述初始价值网络模型的模型参数进行更新,直至满足所述强化训练终止条件,得到所述策略网络模型。

可选的,所述根据样本时钟树的数据对初始图网络模型进行训练,得到所述图网络模型,包括:

采用初始图网络模型,根据所述样本时钟树的数据以及对应的样本奖励值进行处理,得到所述样本时钟树的预测奖励值;

根据所述预测奖励值和所述样本奖励值,对所述初始图网络模型的模型参数更新,直至满足迁移训练终止条件,得到所述图网络模型。

可选的,在所述若所述第一时钟树满足预设终止条件,则将所述第一时钟树作为最终的时钟树之前,所述方法还包括:

判断所述第一时钟树的状态是否为预设状态,或者,从所述待处理时钟树至所述第一时钟树的调整次数是否大于或者等于预设调整次数;

若所述第一时钟树的状态为所述预设状态,或者,所述调整次数大于或者等于所述预设调整次数,则确定所述第一时钟树满足所述预设终止条件;

若所述第一时钟树的状态不为所述预设状态,或者,所述调整次数小于所述预设调整次数,则确定所述第一时钟树不满足所述预设终止条件。

第二方面,本发明实施例还提供了一种时钟树综合装置,所述装置包括:

第一获取模块,用于获取待处理时钟树的数据,所述待处理时钟树的数据用于表征所述待处理时钟树的结构;

第一处理模块,用于采用目标网络模型,对所述待处理时钟树的数据进行处理,得到针对所述待处理时钟树的第一调整动作;

调整模块,用于根据所述第一调整动作对所述待处理时钟树的结构进行调整,得到第一时钟树;若所述第一时钟树满足预设终止条件,则将所述第一时钟树作为最终的时钟树。

可选的,所述装置还包括:

第二获取模块,用于若所述第一时钟树不满足所述预设终止条件,则获取所述第一时钟树的数据;

第二处理模块,用于采用所述目标网络模型,对所述第一时钟树的数据进行处理,得到针对所述第一时钟树的第二调整动作,根据所述第二调整动作对所述第一时钟树的结构进行调整,直至得到的第二时钟树满足所述预设终止条件,将所述第二时钟树作为最终的时钟树。

可选的,所述目标网络模型包括:图网络模型以及策略网络模型,所述第一处理模块,具体用于采用所述图网络模型对所述待处理时钟树的数据进行特征提取,得到时钟树特征向量;采用所述策略网络模型根据所述时钟树特征向量以及预设全局元数据进行处理,得到针对多个预设调整动作的概率分布,所述预设全局元数据用于表征所述待处理时钟树的全局状态;根据所述多个预设调整动作的概率分布,从所述多个预设调整动作确定所述待处理时钟树的第一调整动作。

可选的,所述多个预设调整动作包括下述中的至少两项:时钟树遍历方向、用于选择下一节点的前进动作、用于对当前节点下的子节点聚类并添加新节点的聚类动作、用于当前节点与对应的父节点之间插入缓冲器的添加动作、用于删除当前节点并将当前节点按遍历方向置为下一节点的删除节点、用于将当前节点更换为强驱动器件的放大动作、用于将当前节点更换为弱驱动器件的缩小动作、用于增加当前节点和父节点间线长的迂回动作、用于绕过当前节点的父节点并连接祖节点的绕过动作。

可选的,所述目标网络模型采用以下装置训练得到:

第一训练模块,用于根据样本时钟树的数据对初始图网络模型进行训练,得到所述图网络模型;

第三处理模块,用于采用所述图网络模型,分别对所述样本时钟树的数据进行处理,得到样本时钟树特征向量;

第二训练模块,用于根据所述样本时钟树特征向量以及所述样本时钟树的样本全局元数据,对初始策略网络模型和初始价值网络模型进行训练,直至满足强化训练终止条件,得到所述策略网络模型。

可选的,所述第二训练模块,具体用于采用所述初始策略网络模型,对所述样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一样本调整动作;采用所述初始价值网络模型,对所述样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一价值信息;根据所述一样本调整动作对所述样本时钟树的结构进行调整,得到调整后的样本时钟树,并根据所述一价值信息更新所述初始策略网络模型的模型参数;采用更新后的所述初始策略网络模型,对所述调整后的样本时钟树进行处理,输出下一样本调整动作,直至得到的目标样本时钟树满足所述预设终止条件;根据所述目标样本时钟树的数据对应的指标数据,对更新后的所述初始策略网络模型和所述初始价值网络模型的模型参数进行更新,直至满足所述强化训练终止条件,得到所述策略网络模型。

可选的,所述第一训练模块,具体用于采用初始图网络模型,根据所述样本时钟树的数据以及对应的样本奖励值进行处理,得到所述样本时钟树的预测奖励值;根据所述预测奖励值和所述样本奖励值,对所述初始图网络模型的模型参数更新,直至满足迁移训练终止条件,得到所述图网络模型。

可选的,所述装置还包括:

判断模块,用于判断所述第一时钟树的状态是否为预设状态,或者,从所述待处理时钟树至所述第一时钟树的调整次数是否大于或者等于预设调整次数;

确定模块,用于若所述第一时钟树的状态为所述预设状态,或者,所述调整次数大于或者等于所述预设调整次数,则确定所述第一时钟树满足所述预设终止条件;若所述第一时钟树的状态不为所述预设状态,或者,所述调整次数小于所述预设调整次数,则确定所述第一时钟树不满足所述预设终止条件。

第三方面,本发明实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的时钟树综合方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的时钟树综合方法。

本发明的有益效果是:本发明实施例提供一种时钟树综合方法,包括:获取待处理时钟树的数据,待处理时钟树的数据用于表征待处理时钟树的结构;采用目标网络模型,对待处理时钟树的数据进行处理,得到针对待处理时钟树的第一调整动作;根据第一调整动作对待处理时钟树的结构进行调整,得到第一时钟树;若第一时钟树满足预设终止条件,则将第一时钟树作为最终的时钟树。无需人工拆解电路中复杂的时钟结构,采用训练好的目标网络模型对待处理时钟树的数据进行处理,高效的输出第一调整动作,根据第一调整动作便可以实现对待处理时钟树的高效调整,从而可以提高时钟树综合的效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种时钟树综合方法的流程示意图一;

图2为本发明实施例提供的一种时钟树的图结构示意图;

图3为本发明实施例提供的一种时钟树综合方法的流程示意图二;

图4为本发明实施例提供的一种时钟树的状态变化示意图;

图5为本申请实施例提供的一种时钟树综合方法的流程示意图三;

图6为本申请实施例提供的一种目标网络模型的结构示意图;

图7a和图7b为本申请实施例提供的一种时钟树遍历方向的示意图;

图8为本申请实施例提供的一种前进动作的示意图;

图9为本申请实施例提供的一种二分聚类动作的示意图;

图10为本申请实施例提供的一种添加动作的示意图;

图11为本申请实施例提供的一种删除动作的示意图;

图12为本申请实施例提供的一种放大动作的示意图;

图13为本申请实施例提供的一种缩小动作的示意图;

图14为本申请实施例提供的一种迂回动作的示意图;

图15为本申请实施例提供的一种绕过动作的示意图;

图16为本申请实施例提供的一种时钟树综合方法的流程示意图四;

图17为本申请实施例提供的一种图网络模型、初始策略网络模型和初始价值网络模型的连接结构示意图;

图18为本申请实施例提供的一种时钟树综合方法的流程示意图五;

图19为本申请实施例提供的一种时钟树综合方法的流程示意图六;

图20为本申请实施例提供的一种感知网络的结构示意图;

图21为本申请实施例提供的一种时钟树综合方法的流程示意图七;

图22为本申请实施例提供的一种时钟树综合装置的结构示意图;

图23为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。

本申请实施例提供一种时钟树综合方法,应用于电子设备,该电子设备为终端设备或者服务器,终端设备可以为下述中的任一项:台式电脑、笔记本电脑、平板电脑、智能手机等等。

以下对本申请实施例提供的一种时钟树综合方法进行解释说明。

图1为本发明实施例提供的一种时钟树综合方法的流程示意图一,如图1所示,该方法可以包括:

S101、获取待处理时钟树的数据。

其中,待处理时钟树的数据用于表征待处理时钟树的结构。

在一些实施方式中,获取待处理时钟树的结构,待处理时钟树可以用有向无环图的结构来表示,将待处理时钟树的结构转换为串联在一起的图节点属性向量以及图节点间的连接关系的邻接矩阵,得到待处理时钟树的数据,其中,图节点属性向量中存储了节点或节点连线的指标。

在本申请实施例中,采用以下方式获取节点或节点连接的指标:

当前节点的线长:先计算所有后继节点组成的包围矩形的中心,定义当前线长为当前节点到这个中心的距离。当前节点的负载:当前节点线长负载和后继节点的负载之和。不同类型后继节点的负载系数不同,后继节点总负载为各自负载系数与数量相乘。负载类型包括电容负载和电阻负载。当前节点的信号过渡时间:此指标由先驱节点的信号过渡时间和当前节点的负载作为输入进行计算。当前节点信号过渡时间违例:当前节点信号过渡时间与最大信号过渡时间之差。传播到当前节点的延时:已知当前节点以及后继节点的电容负载和电阻负载采用延时计算从时钟输入到当前节点的延时。最大偏斜:叶子节点的最大延时与最小延时之差。总过渡时间违例:所有节点过渡时间违例之和。总线长:所有节点储存的线长之和。各类型驱动单元总数:时钟树插入的驱动单元数量,表征消耗的面积资源。

图2为本发明实施例提供的一种时钟树的图结构示意图,如图2所示,该时钟树的图结构包括:具有连接关系的根节点、叶子节点和中间节点,其中,树的根节点表示时钟源,叶子节点表示寄存器等时钟的终端;中间节点表示缓冲器、门控单元等驱动器件,图的边作为时钟树的连线,信号从时钟输入一直到时钟的终端的传播都是以时钟连线作为媒介。

S102、采用目标网络模型,对待处理时钟树的数据进行处理,得到针对待处理时钟树的第一调整动作。

其中,目标网络模型是指根据样本时钟树的数据预先训练好的模型。

在本申请实施例中,将待处理时钟树的数据输入目标网络模型,目标网络模型对所述待处理时钟树的数据进行处理,输出针对多个预设调整动作的概率分布,从多个预设调整动作的概率分布中,确定概率最高的预设调整动作作为第一调整动作。

S103、根据第一调整动作对待处理时钟树的结构进行调整,得到第一时钟树。

S104、若第一时钟树满足预设终止条件,则将第一时钟树作为最终的时钟树。

其中,由于待处理时钟树的结构和第一时钟树的结构不同,待处理时钟树的状态和第一时钟树的状态也不同,待处理时钟树的状态可以表示为St,第一时钟树的状态可以表示为St+1。

在一些实施方式中,根据第一调整动作对待处理时钟树的结构进行调整,得到第一时钟树,判断第一时钟树是否满足预设终止条件,若第一时钟树满足预设终止条件,将第一时钟树作为最终的时钟树,若第一时钟树不满足预设终止条件,则需要对第一时钟树继续进行调整,直至最终的时钟树满足预设终止条件。

在本申请实施例中,最终的时钟树综合结果能保证在提供的工艺,电压,温度下,关键时序要求能够得到满足,从而可以提升数字集成电路的功能、性能和稳定性。

综上所述,本发明实施例提供一种时钟树综合方法,包括:获取待处理时钟树的数据,待处理时钟树的数据用于表征待处理时钟树的结构;采用目标网络模型,对待处理时钟树的数据进行处理,得到针对待处理时钟树的第一调整动作;根据第一调整动作对待处理时钟树的结构进行调整,得到第一时钟树;若第一时钟树满足预设终止条件,则将第一时钟树作为最终的时钟树。无需人工拆解电路中复杂的时钟结构,采用训练好的目标网络模型对待处理时钟树的数据进行处理,高效的输出第一调整动作,根据第一调整动作便可以实现对待处理时钟树的高效调整,从而可以提高时钟树综合的效率。

可选的,图3为本发明实施例提供的一种时钟树综合方法的流程示意图二,如图3所示,该方法还可以包括:

S201、若第一时钟树不满足预设终止条件,则获取第一时钟树的数据。

其中,若第一时钟树不满足预设终止条件,则根据第一时钟树的结构获取第一时钟树的数据,其中所采用的方式,与根据待处理时钟树的结构获取待处理时钟树的数据的方式类似,此处不再赘述。

S202、采用目标网络模型,对第一时钟树的数据进行处理,得到针对第一时钟树的第二调整动作,根据第二调整动作对第一时钟树的结构进行调整,直至得到的第二时钟树满足预设终止条件,将第二时钟树作为最终的时钟树。

在一些实施方式中,将第一时钟树的数据输入目标网络模型,目标网络模型对第一时钟树的数据进行处理,输出针对多个预设调整动作的概率分布,从多个预设调整动作的概率分布中,确定概率最高的预设调整动作作为第二调整动作;根据第二调整动作对第一时钟树的结构进行调整,得到第二时钟树,若第二时钟树满足预设终止条件,则将第二时钟树作为最终的时钟树。

另外,若第二时钟树不满预设终止条件,则将第二时钟树的数据输入目标网络模型,重复执行上述过程,直至最终的时钟树满足预设终止条件。

可选的,采用目标网络模型可以依次确定出t个调整动作。

图4为本发明实施例提供的一种时钟树的状态变化示意图,如图4所示,S0表示待处理时钟树(第0个时钟树)的状态,采用第一调整动作对待处理时钟树的结构进行调整,得到第一时钟树(第1个时钟树),S1表示第一时钟树的状态;采用第二调整动作对第一时钟树的结构进行调整,得到第二时钟树(第2个时钟树),S2表示第二时钟树的状态,以此类推,采用第t个调整动作对第t-1个时钟树的结构进行调整,得到第t个时钟树,St表示第t个时钟树的状态。

可选的,目标网络模型包括:图网络模型以及策略网络模型。

图5为本申请实施例提供的一种时钟树综合方法的流程示意图三,如图5所示,上述S102中采用目标网络模型,对待处理时钟树的数据进行处理,得到针对待处理时钟树的第一调整动作的过程,可以包括:

S301、采用图网络模型对待处理时钟树的数据进行特征提取,得到时钟树特征向量。

其中,将待处理时钟树的数据输入图网络模型中,图网络模型对待处理时钟树的数据进行特征提取,输出时钟树特征向量。

图6为本申请实施例提供的一种目标网络模型的结构示意图,如图6所示,目标网络模型包括:图网络模型,图网络模型中包括:依次连接的多组子网络和GAT(GraphAttention Networks,图注意力网络)层,每组子网络包括:依次连接的GAT层以及TopKPooling(K头部池化)层,待处理时钟树的数据输入图网络模型中第一组子网络中的GAT层。可选的,图网络模型中GAT层的数量可以为预设数量,示例的,预设数量可以为4,当然,可以根据实际需求进行选择,本申请实施例对此不进行具体限制。

其中,待处理时钟树是一个由N个节点组成的时钟树,GAT层是8个长度为64的注意力头部所组成的,经过GAT层进行处理后,可以得到512×N维的矩阵。每经过图网络模型中的一个GAT层都会从矩阵中抽取出全局均值以及最大池化向量,对每个GAT层输出的全局均值以及最大池化向量求和,输出时钟树特征向量。

需要说明的是,第一组子网络中的TopKPooling层可以对GAT层输出的512×N维的矩阵进一步做参数为0.8的K头部池化操作,即保留80%相对重要的节点信息,作为下一个GAT层的输入。

当然,还可以采用其他图神经网络来替代GAT层,例如,GCN(Graph ConvolutionalNetwork,图卷积网络)或者,GraphSAGE(Graph SAmple and aggreGatE,一种基于图的归纳学习方法);还可以采用其他池化层来代替TopKPooling层,例如,SAG Pooling (Self-Attention Pooling,自注意力池化)。

S302、采用策略网络模型根据时钟树特征向量以及预设全局元数据进行处理,得到针对多个预设调整动作的概率分布。预设全局元数据用于表征待处理时钟树的全局状态。

其中,获取预设全局元数据,如图6所示,将全局元数据输入第一全连接层中,第一全连接层可以向前馈网络输出处理后的全局元数据,将时钟树特征向量输入前馈网络中;前馈网络对处理后的全局元数据和时钟树特征向量进行连接,得到时钟树特征数据;前馈网络将时钟树特征数据输入至策略网络模型中。

另外,如图6所示,动作元数据输入第二全连接层中,第二全连接层可以输出处理后的动作元数据,并将处理后的动作元数据输入至策略网络模型中,策略网络模型可以输出多个预设调整动作的概率分布。

值得注意的是,全局元数据记录了待处理时钟树的全局状态的向量,如画布大小、最大扇出数量、当前图节点个数等等,针对同一个待处理时钟树,不论执行多少次调整动作,该待处理时钟树的全局元数据是相同的。动作原数据记录了遍历方向、当前节点允许的连续动作的次数,已经执行的动作次数等等。

S303、根据多个预设调整动作的概率分布,从多个预设调整动作确定待处理时钟树的第一调整动作。

在一些实施方式中,如图6所示,将多个预设调整动作的概率分布输入Softmax(归一化指数函数)层,Softmax层输出归一化后的概率分布,采用预设的动作掩码对归一化后的概率分布中,不合规的预设调整动作的概率置低处理,得到处理后的多个预设调整动作的概率分布,从处理后的多个预设调整动作的概率分布中选择概率最高的预设调整动作,作为待处理时钟树的第一调整动作。

在本申请实施例中,策略网络模型又可以称为智能体,多个预设调整动作是智能体可以对时钟树所采取的操作集合。理论上来讲,我们的目标是简单的在合适的位置添加上合适的时钟驱动器件,并合理的改变其连接关系即可。但由于实际应用中会遇到各种规模的网表拓扑结构,并且其画布尺寸和长宽比等等条件都有着巨大的差异,这对应着巨大的状态及动作空间。而巨大的状态及动作空间则代表着训练神经网络时需要巨大的资源以及难以收敛的结果。为了合理有效的减少动作空间,我们根据时钟树综合的特点,设计出了一系列可以改变当前时钟树状态的预设调整动作。

可选的,多个预设调整动作包括下述中的至少两项:时钟树遍历方向、用于选择下一节点的前进动作、用于对当前节点下的子节点聚类并添加新节点的聚类动作、用于当前节点与对应的父节点之间插入缓冲器的添加动作、用于删除当前节点并将当前节点按遍历方向置为下一节点的删除节点、用于将当前节点更换为强驱动器件的放大动作、用于将当前节点更换为弱驱动器件的缩小动作、用于增加当前节点和父节点间线长的迂回动作、用于绕过当前节点的父节点并连接祖节点的绕过动作。

其中,时钟树遍历方向,又可以称为时钟树遍历策略,由策略网络模型决定遍历时钟树节点的策略,时钟树遍历方向可以为自顶向下或自底向上层层遍历,图7a和图7b为本申请实施例提供的一种时钟树遍历方向的示意图,如图7a所示,时钟树遍历方向为自顶向下遍历,如图7b所示,时钟树遍历方向为自底向上遍历。前进动作是指根据时钟树的遍历方向,将下一个节点设置为当前节点,图8为本申请实施例提供的一种前进动作的示意图,如图8所示,针对左侧的图执行前进动作,将下一个节点作为当前节点。聚类工作可以为二分聚类动作,图9为本申请实施例提供的一种二分聚类动作的示意图,如图9所示,针对左侧的图执行二分聚类动作,可以将当前节点下的子节点聚为两个类,并在各自的质心处添加新的节点。

图10为本申请实施例提供的一种添加动作的示意图,如图10所示,针对左侧的图执行添加动作,在当前节点和其父节点之间插如缓冲器。图11为本申请实施例提供的一种删除动作的示意图,如图11所示,针对左侧的图执行删除动作,删除当前节点,并按照时钟树遍历方向将下一节点置为当前节点。图12为本申请实施例提供的一种放大动作的示意图,如图12所示,针对左侧的图执行放大动作,将当前节点更换为驱动能力更强的器件。图13为本申请实施例提供的一种缩小动作的示意图,如图13所示,针对左侧的图执行缩小动作,将当前节点更换为驱动能力更弱的器件。

图14为本申请实施例提供的一种迂回动作的示意图,如图14所示,左侧的图当前节点和父节点之间连接,针对左侧的图执行迂回动作,增加当前节点和父节点之间的线长。图15为本申请实施例提供的一种绕过动作的示意图,如图15所示,左侧的图中当前节点通过父节点与子节点连接,针对左侧的图执行绕过动作,将当前节点和祖节点直接连接。

在实际应用中,多个预设调整动作,可以根据实际需求进行设置,本申请实施例对此不进行具体限制。

需要说明的是,根据预设调整动作对待处理时钟树的结构进行调整,得到第一时钟树,待处理时钟的状态可以为St,第一时钟树的状态可以为St+1。

在本申请实施例中,目标网络模型是为了得到普遍使用的时钟树综合策略,尽管在设计时已经大幅优化了状态空间,但输入端的时钟树可以有非常巨大的差异,包括节点数量、拓扑结构、摆放位置、器件大小、布局的长宽等各种属性不同。为了应对这样的训练挑战,我们将整套系统按功能划分为两套神经网络,即可以感知时钟树状态的图网络模型,以及训练动作策略的强化学习网络,其中,强化学习网络包括:初始策略网络模型以及初始价值网络模型。我们采用迁移学习的方法首先训练状态感知网络,随后在此基础上再训练强化学习网络,从而能够大幅降低训练的复杂程度。

其中,感知网络是指由图网络模型、第一全连接层以及前馈网络所构成的网络。

可选的,目标网络模型采用以下方法训练得到:

图16为本申请实施例提供的一种时钟树综合方法的流程示意图四,如图16所示,该方法可以包括:

S401、根据样本时钟树的数据对初始图网络模型进行训练,得到图网络模型。

其中,图网络模型的训练过程为迁移学习的过程。图网络模型为上述中的感知网络。

S402、采用图网络模型,分别对样本时钟树的数据进行处理,得到样本时钟树特征向量。

其中,样本时钟树的数量为多个,相应的,本申请实施例中也存在多个样本时钟树的数据。

图17为本申请实施例提供的一种图网络模型、初始策略网络模型和初始价值网络模型的连接结构示意图,如图17所示,图网络模型的结构可以为上述图6中所示的图网络模型的结构相同,此处不再赘述;将样本时钟树的数据输入图网络模型中,图网络模型可以输出样本时钟树特征向量。

S403、根据样本时钟树特征向量以及样本时钟树的样本全局元数据,对初始策略网络模型和初始价值网络模型进行训练,直至满足强化训练终止条件,得到策略网络模型。

其中,对初始策略网络模型和初始价值网络模型的训练过程是强化学习的过程。

在本申请实施例中,在强化学习结束后,去掉初始价值网络模型便可以得到目标网络模型,目标网络模型便为图6中所示的结构,采用该目标网络模型可以在后续应用的过程中对待处理时钟树的数据进行处理,输出第一调整动作,即可以执行上述S101至S104的过程。其中,在强化学习结束后,图17中的初始策略网络模型为图6中的策略网络模型。

需要说明的是,满足强化训练终止条件是指,对初始策略网络模型和初始价值网络模型的迭代次数,大于或者等于预设次数。

可选的,图18为本申请实施例提供的一种时钟树综合方法的流程示意图五,如图18所示,根据样本时钟树特征向量以及样本时钟树的样本全局元数据,对初始策略网络模型和初始价值网络模型的模型参数进行训练,直至满足训练终止条件,得到策略网络模型,包括:

S501、采用初始策略网络模型,对样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一样本调整动作。

S502、采用初始价值网络模型,对样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一价值信息。

在本申请实施例中,可以同时执行上述S501以及S502的过程,也可以先执行S501的过程再执行S502的过程,还可以先执行S502的过程再执行S501的过程,本申请实施例对此不进行具体限制。

如图17所示,将图网络模型输出的样本时钟树特征向量输入前馈网络中,将样本全局元数据输入第一全连接层中,第一全连接层可以向前馈网络输出处理后的样本全局元数据,前馈网络对处理后的样本全局元数据和样本时钟树特征向量进行连接,得到样本时钟树特征数据;前馈网络将样本时钟树特征数据输入至初始策略网络模型中。

如图17所示,将样本动作元数据输入第二全连接层中,第二全连接层可以输出处理后的样本动作元数据,并将处理后的样本动作元数据输入至初始策略网络模型中,初始策略网络模型可以输出多个预设调整动作的样本概率分布。

如图17所示,将多个预设调整动作的样本概率分布输入Softmax(归一化指数函数)层,Softmax层输出归一化后的样本概率分布,采用预设的动作掩码对归一化后的样本概率分布中,不合规的预设调整动作的样本概率置低处理,得到处理后的多个预设调整动作的样本概率分布,从处理后的多个预设调整动作的样本概率分布中选择样本概率最高的预设调整动作,得到一样本调整动作。

S503、根据一样本调整动作对样本时钟树的结构进行调整,得到调整后的样本时钟树,并根据一价值信息更新初始策略网络模型的模型参数。

S504、采用更新后的初始策略网络模型,对调整后的样本时钟树进行处理,输出下一样本调整动作,直至得到的目标样本时钟树满足预设终止条件。

其中,得到调整后的样本时钟树之后,将调整后的样本时钟树的数据输入至图网络模型,继而采用更新后的初始策略网络模型、初始价值网络模型进行处理,得到更新后的初始策略网络模型输出的下一样本调整动作、初始价值网络模型输出的下一价值信息,继而根据下一价值信息对更新后的初始策略网络模型再次进行更新。

需要说明的是,重复执行上述过程,则可以实现采用多个样本调整动作进行调整,在本申请实施例中,可以对当前节点执行多次动作,直到前进动作被执行,或者连续被操作的次数超过了最大次数N时,将下一个节点设置为当前节点,在样本时钟树中的全部节点均被访问过,则代表一轮结束,如此重复多轮,得到最后一个样本时钟树为目标样本时钟树,目标样本时钟树的状态为预设状态,或者,从样本时钟树至目标样本时钟树的调整次数大于或者等于预设调整次数,则确定目标样本时钟树满足预设终止条件,完成一局,一局中包括多轮。

其中,在每一轮开始之前,需要执行确定时钟树遍历方向的动作,从而可以得到该轮的时钟树遍历方向,在该轮开始之后,可以根据该轮的时钟树遍历方向来遍历时钟树,直至该轮结束。

S505、根据目标样本时钟树的数据对应的指标数据,对更新后的初始策略网络模型和初始价值网络模型的模型参数进行更新,直至满足强化训练终止条件,得到策略网络模型。

在一些实施方式中,在一局的调整动作完成之后,得到一个目标样本时钟树,根据目标样本时钟树的最大偏斜、总过渡时间违例、总线长以及平均节点动作次数等指标计算负的加权和,得到目标样本时钟树的数据对应的指标数据,根据该指标数据对更新后的初始策略网络模型和初始价值网络模型的模型参数进行一次更新,可以进行多局的操作,最终可以得到多局的指标数据,根据多局的指标数据可以对更新后的初始策略网络模型和初始价值网络模型的模型参数进行多次更新,直至满足强化训练终止条件,得到策略网络模型。其中,多局的数量可以根据实际需求或者经验值预设设置。

需要说明的是,在进行多局操作时,针对每局可以从多个样本时钟树的数据中随机选择一个样本时钟树的数据,得到每局的样本时钟树的数据,采用图网络模型,分别对每局的样本时钟树的数据进行处理,得到每局的样本时钟树的特征向量,根据每局的样本时钟树的特征向量以及每局的样本时钟树的样本全局元数据,进行每局的操作。

在本申请实施例中,初始策略网络模型可以根据样本时钟树的数据确定样本时钟树的环境状态S,输出动作a的选择,而价值网络模型可以评估环境状态S的好坏。其中,初始策略网络模型根据样本时钟树的数据进行抽象后的特征向量、全局元数据以及动作元数据来感知当前环境的状态。

需要说明的是,在迁移学习的帮助下,我们可以通过已训练的感知网络(图网络模型)获取样本时钟树的特征向量。将该样本时钟树的特征向量与样本动作元数据的嵌入结果相连接,作为强化学习网络的输入,该强化学习网络由策略网络和价值网络构成,两者都是由两个全连接层组成的前馈网络。初始策略网络模型所输出的结果经过Softmax层、动作掩码进行处理后,得到最终输出的每个动作的概率分布,而初始价值网络模型最终输出为一维的值来评估当前状态。

其中,使用邻近策略优化方法来训练初始策略网络模型的模型参数θ,以及初始价值网络模型的模型参数W,使其在一局结束后所得到的最终奖励期望值最大。

可选的,图19为本申请实施例提供的一种时钟树综合方法的流程示意图六,如图19所示,根据样本时钟树的数据对初始图网络模型进行训练,得到图网络模型,包括:

S601、采用初始图网络模型,根据样本时钟树的数据以及对应的样本奖励值进行处理,得到样本时钟树的预测奖励值。

S602、根据预测奖励值和样本奖励值,对初始图网络模型的模型参数更新,直至满足迁移训练终止条件,得到图网络模型。

其中,样本时钟树的数据以及对应的样本奖励值可以构成数据集。将样本时钟树的数据、对应的样本奖励值,以及预设的样本全局元数据输入至初始图网络模型,初始图网络模型根据样本时钟树的数据,得到样本时钟树的预测奖励值。

需要说明的是,样本时钟树的数据对应的样本奖励值是标签值,由此,我们可以将训练状态感知网络转换为有监督学习的形式。图20为本申请实施例提供的一种感知网络的结构示意图,如图20所示,感知网络包括:初始图网络模型,预设的样本全局元数据输入值第一全连接层中,第一全连接层的输出与前馈网络连接,图神经网路的输出也与前馈网络连接,前馈网络还连接了奖励预测层。

其中,在训练的过程中,采用奖励预测层可以输出样本时钟树的预测奖励值,在训练完成后,将奖励预测层移除。

可选的,图21为本申请实施例提供的一种时钟树综合方法的流程示意图七,如图21所示,在上述S104中若第一时钟树满足预设终止条件,则将第一时钟树作为最终的时钟树的过程之前,该方法还可以包括:

S701、判断第一时钟树的状态是否为预设状态,或者,从待处理时钟树至第一时钟树的调整次数是否大于或者等于预设调整次数;

S702、若第一时钟树的状态为预设状态,或者,调整次数大于或者等于预设调整次数,则确定第一时钟树满足预设终止条件;

S703、若第一时钟树的状态不为预设状态,或者,调整次数小于预设调整次数,则确定第一时钟树不满足预设终止条件。

需要说明的是,本申请实施例中可以包括:目标网络模型以及环境这两个部分,可以采用环境执行S701至S703的过程,环境还可以对目标网络模型所输出的调整动作做出反应,对待处理时钟树的结构进行调整,由此将自身更新到新的状态,并反馈一个评估当前状态好坏的奖励值。在训练的过程中,一局完成之后,环境针对目标样本时钟树所计算出的奖励值就是目标样本时钟树的指标数据。

在本申请实施例中,采用强化学习的方法进行时钟树综合。随着训练样本的规模增加,智能体可以学习到更多的经验,不断地优化自身策略。与传统的依据人类经验所设计出的经验模式相比,本方法可以很好的抽象出当前时钟树的状态,借此选择出使最终结果最优化的动作,从而可以节省很多无效尝试,得到类似于传统方式甚至更好时钟树综合的结果。而且,无需人工拆解电路中复杂的时钟结构,采用训练好的目标网络模型对待处理时钟树的数据进行处理,高效的输出第一调整动作,根据第一调整动作便可以实现对待处理时钟树的高效调整,从而可以提高时钟树综合的效率。

下述对用以执行本申请所提供的时钟树综合方法的时钟树综合装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述时钟树综合方法的相关内容,下述不再赘述。

可选的,图22为本申请实施例提供的一种时钟树综合装置的结构示意图,如图22所示,该时钟树综合装置包括:

第一获取模块101,用于获取待处理时钟树的数据,所述待处理时钟树的数据用于表征所述待处理时钟树的结构;

第一处理模块102,用于采用目标网络模型,对所述待处理时钟树的数据进行处理,得到针对所述待处理时钟树的第一调整动作;

调整模块103,用于根据所述第一调整动作对所述待处理时钟树的结构进行调整,得到第一时钟树;若所述第一时钟树满足预设终止条件,则将所述第一时钟树作为最终的时钟树。

可选的,所述装置还包括:

第二获取模块,用于若所述第一时钟树不满足所述预设终止条件,则获取所述第一时钟树的数据;

第二处理模块,用于采用所述目标网络模型,对所述第一时钟树的数据进行处理,得到针对所述第一时钟树的第二调整动作,根据所述第二调整动作对所述第一时钟树的结构进行调整,直至得到的第二时钟树满足所述预设终止条件,将所述第二时钟树作为最终的时钟树。

可选的,所述目标网络模型包括:图网络模型以及策略网络模型,所述第一处理模块,具体用于采用所述图网络模型对所述待处理时钟树的数据进行特征提取,得到时钟树特征向量;采用所述策略网络模型根据所述时钟树特征向量以及预设全局元数据进行处理,得到针对多个预设调整动作的概率分布,所述预设全局元数据用于表征所述待处理时钟树的全局状态;根据所述多个预设调整动作的概率分布,从所述多个预设调整动作确定所述待处理时钟树的第一调整动作。

可选的,所述多个预设调整动作包括下述中的至少两项:时钟树遍历方向、用于选择下一节点的前进动作、用于对当前节点下的子节点聚类并添加新节点的聚类动作、用于当前节点与对应的父节点之间插入缓冲器的添加动作、用于删除当前节点并将当前节点按遍历方向置为下一节点的删除节点、用于将当前节点更换为强驱动器件的放大动作、用于将当前节点更换为弱驱动器件的缩小动作、用于增加当前节点和父节点间线长的迂回动作、用于绕过当前节点的父节点并连接祖节点的绕过动作。

可选的,所述目标网络模型采用以下装置训练得到:

第一训练模块,用于根据样本时钟树的数据对初始图网络模型进行训练,得到所述图网络模型;

第三处理模块,用于采用所述图网络模型,分别对所述样本时钟树的数据进行处理,得到样本时钟树特征向量;

第二训练模块,用于根据所述样本时钟树特征向量以及所述样本时钟树的样本全局元数据,对初始策略网络模型和初始价值网络模型进行训练,直至满足强化训练终止条件,得到所述策略网络模型。

可选的,所述第二训练模块,具体用于采用所述初始策略网络模型,对所述样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一样本调整动作;采用所述初始价值网络模型,对所述样本时钟树特征向量以及预设的样本全局元数据进行处理,输出一价值信息;根据所述一样本调整动作对所述样本时钟树的结构进行调整,得到调整后的样本时钟树,并根据所述一价值信息更新所述初始策略网络的模型参数;采用更新后的所述初始策略网络模型,对所述调整后的样本时钟树进行处理,输出下一样本调整动作,直至得到的目标样本时钟树满足所述预设终止条件;根据所述目标样本时钟树的数据对应的指标数据,对更新后的所述初始策略网络模型和所述初始价值网络模型的模型参数进行更新,直至满足所述强化训练终止条件,得到所述策略网络模型。

可选的,所述第一训练模块,具体用于采用初始图网络模型,根据所述样本时钟树的数据以及对应的样本奖励值进行处理,得到所述样本时钟树的预测奖励值;根据所述预测奖励值和所述样本奖励值,对所述初始图网络模型的模型参数进行更新,直至满足迁移训练终止条件,得到所述图网络模型。

可选的,所述装置还包括:

判断模块,用于判断所述第一时钟树的状态是否为预设状态,或者,从所述待处理时钟树至所述第一时钟树的调整次数是否大于或者等于预设调整次数;

确定模块,用于若所述第一时钟树的状态为所述预设状态,或者,所述调整次数大于或者等于所述预设调整次数,则确定所述第一时钟树满足所述预设终止条件;若所述第一时钟树的状态不为所述预设状态,或者,所述调整次数小于所述预设调整次数,则确定所述第一时钟树不满足所述预设终止条件。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。

图23为本申请实施例提供的一种电子设备的结构示意图,如图23所示,该装置包括:处理器201、存储器202。

存储器202用于存储程序,处理器201调用存储器202存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 存储方法、存储系统、电子设备及存储介质
  • 引导电子设备系统开机的方法,电子设备,可读存储介质
  • 电子设备的操作响应方法、电子设备及存储介质
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 电子设备控制方法及装置、电子设备及存储介质
  • 时钟树综合方法、装置、电子设备及计算机可读存储介质
  • 一种时钟树综合方法以及计算机可读存储介质
技术分类

06120116496696