插入门控时钟的训练和确定方法、系统、设备和介质技术方案

技术编号:38769348 阅读:10 留言:0更新日期:2023-09-10 10:42
提供一种训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型以及利用机器学习模型确定是否插入门控时钟的方法、系统、设备、介质。训练方法包括:获得在存在时序违例的芯片分块之间插入的多个流水线寄存器电路模型,其中每个流水线寄存器电路模型包括与一个使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;获得训练数据,训练数据包括针对流水线寄存器电路模型的影响功耗的参数集合的不同取值、以及对应的是否应该插入门控时钟的结果标签,其中,结果标签通过仿真获得在参数集合的不同取值的情况下向流水线寄存器电路模型插入门控时钟是否能减少功耗来得到;利用训练数据来得到训练好的机器学习模型。练好的机器学习模型。练好的机器学习模型。

【技术实现步骤摘要】
插入门控时钟的训练和确定方法、系统、设备和介质


[0001]本申请涉及集成电路领域,且更具体地,涉及训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型的方法、系统、电子设备、非暂时存储介质以及利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟的方法、系统、电子设备、非暂时存储介质。

技术介绍

[0002]随着日益增长的算力需求,芯片规模越来越大,芯片的功耗也越来越高。当前芯片设计中一般都会采用多种低功耗技术来降低芯片的功耗,门控时钟就是一种非常常见而且有效的低功耗技术。芯片的功耗分为动态功耗和静态功耗,其中静态功耗主要来自晶体管的漏电。而动态功耗主要来自芯片中电路的翻转,对电容进行充放电从而产生的功耗消耗。芯片在活动的时候一般动态功耗远大于静态功耗,为了降低动态功耗,需要减少芯片中电路的翻转。而时钟网络是芯片中翻转最多的电路,因此减少时钟网络的翻转,可以大大降低芯片中的功耗。而门控时钟技术就是利用了这一特性,当时钟网络驱动的寄存器不需要进行数据采样时,关闭这些寄存器的时钟网络,从而减少寄存器时钟网络上的功耗消耗。

技术实现思路

[0003]根据本申请的一个方面,提供一种训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型的方法,包括如下步骤:获得在存在时序违例的芯片分块之间插入的多个流水线寄存器电路模型,其中每个流水线寄存器电路模型包括与一个使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;获得训练数据,所述训练数据包括针对所述流水线寄存器电路模型的影响功耗的参数集合的不同取值、以及对应的是否应该对所述流水线寄存器电路模型插入门控时钟的结果标签,其中,所述结果标签通过仿真获得在所述参数集合的不同取值的情况下向所述流水线寄存器电路模型插入门控时钟是否能减少功耗来得到;利用所述训练数据来训练机器学习模型来得到训练好的机器学习模型。
[0004]根据本申请的另一个方面,提供一种利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟的方法,包括如下步骤:获得在芯片分块之间的待预测流水线寄存器电路模型的影响功耗的参数集合的取值,其中所述待预测流水线寄存器电路模型包括与一个使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;将所述参数集合的取值输入到所述训练好的机器学习模型来预测在所述待预测流水线寄存器电路模型中插入门控时钟的概率;根据所述概率来确定是否在所述待预测流水线寄存器电路模型中插入门控时钟。
[0005]根据本申请的另一个方面,提供一种训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型的系统,包括:模型获得装置,被配置为获得在存在时序违例的芯片分块之间插入的多个流水线寄存器电路模型,其中每个流水线寄存器电路模型包括与一个
使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;训练数据获得装置,被配置为获得训练数据,所述训练数据包括针对所述流水线寄存器电路模型的影响功耗的参数集合的不同取值、以及对应的是否应该对所述流水线寄存器电路模型插入门控时钟的结果标签,其中,所述结果标签通过仿真获得在所述参数集合的不同取值的情况下向所述流水线寄存器电路模型插入门控时钟是否能减少功耗来得到;训练装置,被配置为利用所述训练数据来训练机器学习模型来得到训练好的机器学习模型。
[0006]根据本申请的另一个方面,提供一种利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟的系统,包括:获得装置,被配置为获得在芯片分块之间的待预测流水线寄存器电路模型的影响功耗的参数集合的取值,其中所述待预测流水线寄存器电路模型包括与一个使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;预测装置,被配置为将所述参数集合的取值输入到所述训练好的机器学习模型来预测在所述待预测流水线寄存器电路模型中插入门控时钟的概率;确定装置,被配置为根据所述概率来确定是否在所述待预测流水线寄存器电路模型中插入门控时钟。
[0007]根据本申请的另一个方面,提供一种电子设备,包括:存储器,用于存储指令;处理器,用于读取所述存储器中的指令,并执行根据本申请的实施例的方法。
[0008]根据本申请的另一个方面,提供一种非暂时存储介质,其上存储有指令,其中,所述指令在被处理器读取时,使得所述处理器执行根据本申请的实施例的方法。
[0009]如此,可以通过训练机器学习模型并利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟。
附图说明
[0010]为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1示出了现有技术的门控时钟的原理。
[0012]图2A、2B和3示出了现有技术的芯片分块划分和分块间长距离绕线通道插入流水线寄存器的示意图。
[0013]图4示出了技术方案1的芯片设计以及解决分块之间时序违例的流程图。
[0014]图5示出了一个门控比率为70%且使能信号翻转率为20%的波形图例子。
[0015]图6示出了一个门控比率为70%且使能信号翻转率为60%的波形图例子。
[0016]图7示出了根据本申请的实施例的被抽象成的电路模型的电路图。
[0017]图8示出了根据本申请的实施例的被抽象成的另一种电路模型的电路图。
[0018]图9示出了根据本申请的实施例的训练为芯片分块之间的流水线寄存器插入门控时钟的神经网络模型的过程和利用训练好的神经网络模型来确定是否在所述待预测流水线寄存器电路模型中插入门控时钟的过程的示意图。
[0019]图10示出了根据本申请的实施例的训练的深度神经网络模型对20000个样本进行预测的预测相对误差分布图。
[0020]图11示出了根据本申请的实施例的训练的深度神经网络模型对20000个样本进行预测的预测误差概率分布图。
[0021]图12示出了根据本申请的实施例的如何决定两组流水线寄存器是否插入门控时钟的具体例子。
[0022]图13示出了根据本申请的实施例的训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型的方法的流程图。
[0023]图14示出了根据本申请的实施例的利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟的方法的流程图。
[0024]图15示出了根据本申请的实施例的训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型的系统的方框图。
[0025]图16示出了根据本申请的实施例的利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟的系统的方框图。
[0026]图17示出了适于用来实现本申请的实施例的示例性电子本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种训练为芯片分块之间的流水线寄存器插入门控时钟的机器学习模型的方法,包括如下步骤:获得在存在时序违例的芯片分块之间插入的多个流水线寄存器电路模型,其中每个流水线寄存器电路模型包括与一个使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;获得训练数据,所述训练数据包括针对所述流水线寄存器电路模型的影响功耗的参数集合的不同取值、以及对应的是否应该对所述流水线寄存器电路模型插入门控时钟的结果标签,其中,所述结果标签通过仿真获得在所述参数集合的不同取值的情况下向所述流水线寄存器电路模型插入门控时钟是否能减少功耗来得到;利用所述训练数据来训练机器学习模型来得到训练好的机器学习模型。2.根据权利要求1所述的方法,其中,所述参数集合包括如下中的至少一个参数:流水线寄存器宽度,表示所述流水线寄存器电路模型中插入的每个数据流水线寄存器的比特宽度,其中所述流水线寄存器宽度越宽,所述流水线寄存器电路模型消耗的功耗越大;流水线寄存器深度,表示所述流水线寄存器电路模型中插入的预定数量个数据流水线寄存器的个数,其中,所述流水线寄存器深度越多,所述流水线寄存器电路模型消耗的功耗越大;门控比率,表示单位时间内所述流水线寄存器能够关断时钟的时间比率,其中所述门控比率越高,插入门控时钟节约的功耗越大;使能信号翻转率,表示单位时间内使能信号翻转的次数,其中所述使能信号翻转率越多,插入门控时钟消耗的功耗越大;门控扇出数,表示一个门控时钟驱动流水线寄存器的个数,其中门控扇出数越大,插入门控时钟节约的功耗越大;工作电压,其中所述工作电压越大,所述流水线寄存器电路模型消耗的功耗越大;工作频率,其中所述工作频率越大,所述流水线寄存器电路模型消耗的功耗越大。3.根据权利要求1所述的方法,其中,通过仿真获得在所述参数集合的不同取值的情况下不向所述流水线寄存器电路模型插入门控时钟的所述流水线寄存器电路模型的功耗以及向所述流水线寄存器电路模型插入门控时钟的所述流水线寄存器电路模型的功耗,并比较插入门控时钟的功耗与不插入门控时钟的功耗,使得所述结果标签为第一值,表示插入门控时钟能减少功耗,所述结果标签为第二值,表示插入门控时钟不能减少功耗。4.根据权利要求1所述的方法,其中,所述流水线寄存器电路模型包括根据使能信号在存在时序违例的两个芯片分块之间插入的预定数量个数据流水线寄存器和对应的预定数量个使能流水线寄存器。5.根据权利要求4所述的方法,其中,所述对应的所述预定数量个使能流水线寄存器包括:如果在所述两个芯片分块之间不存在接收使能信号的使能信号线连接、从所述两个芯片分块之一中的使能信号中引出使能信号线以在所述两个芯片分块之间插入的以与所述使能信号线连接的相互连接的所述预定数量个使能流水线寄存器。6.根据权利要求4或5所述的方法,其中,所述流水线寄存器电路模型包括在所述数据流水线寄存器和对应的使能流水线寄存器之间插入的门控时钟,其中所述门控时钟的使能
输入端连接到所述数据流水线寄存器的前一级数据流水线寄存器相同级的使能流水线寄存器的输出端,所述门控时钟的时钟输入端连接到时钟信号,且所述门控时钟的输出端连接到所述数据流水线寄存器的时钟输入端。7.根据权利要求4或5所述的方法,其中,所述预定数量等于ROUNDUP(D/T

1),其中D表示存在时序违例的两个芯片分块之间的数据连线的延时,T表示时钟周期,ROUNDUP表示上取整。8.一种利用训练好的机器学习模型来确定是否为芯片分块之间的流水线寄存器插入门控时钟的方法,包括如下步骤:获得在芯片分块之间的待预测流水线寄存器电路模型的影响功耗的参数集合的取值,其中所述待预测流水线寄存器电路模型包括与一个使能信号对应的预定数量个数据流水线寄存器和预定数量个使能流水线寄存器;将所述参数集合的取值输入到所述训练好的机器学习模型来预测在所述待预测流水线寄存器电路模型中插入门控时钟的概率;根据所述概率来确定是否在所述待预测流水线寄存器电路模型中插入门控时钟。9.根据权利要求8所述的方法,其中,所述训练好的机器学习模型是通过权利要求1

7中任一所述的方法来训练的。10.根据权利要求8所述的方法,其中,所述参数集合包括如下中的至少一个参数:流水线寄存器宽度,表示所述待预测流水线寄存器电路模型中插入的每个数据流水线寄存器的比特宽度,其中所述流水线寄存器宽度越宽,所述流水线寄存器电路模型消耗的功耗越大;流水...

【专利技术属性】
技术研发人员:陶昱良代开勇潘于
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1