本申请提供的一种芯片的功耗波形文件生成方法、设备及存储介质,涉及功耗分析技术领域。该方法通过获取芯片的源代码文件,并将源代码文件输入至波形仿真工具中,生成第一波形文件;根据第一波形文件,计算芯片中每一个模块的翻转数;根据芯片中每一个模块的翻转数,确定芯片的空载模块数和/或低功耗模块数,若空载模块数和/或低功耗模块数符合预设数量条件,则根据芯片中每一个模块的翻转数,确定芯片中各个模块之间的相关度;根据芯片中各个模块之间的相关度,生成第二波形文件。采用本技术方案,能够确定出最差功耗情况,进而避免芯片在实际使用过程中发热,导致芯片无法正常使用,甚至烧坏的情况出现。
【技术实现步骤摘要】
本申请涉及功耗分析,尤其涉及一种芯片的功耗波形文件生成方法、设备及存储介质。
技术介绍
1、功耗分析是芯片后端设计中的一个重要环节。为了减少设计迭代次数并保证最终的版图满足功耗相关的设计约束,往往需要在设计的早期就对各个模块的功耗做出评估,以指导后续的布局优化。
2、因此,业界很多eda工具都推出了rtl阶段的功耗估算功能,即仅通过模块的rtl网表和时序约束信息估算模块内的总翻转计数的变化波形,从而估算模块的功耗。
3、然而,此类方法的准确性依赖于rtl仿真文件中输入的工作状态。现有的早期功耗评估工具仅能估计在当前输入的工作状态下各个模块的功耗情况。然而,前端输入的工作状态严重依赖于设计经验,往往不能很好地覆盖实际的最差功耗情况,即有可能存在当前没有考虑到的工作状态,其在整体或局部上会产生更大的功耗。然而,现有的早期功耗评估工具只能被动地对预设的工作状态进行分析,既难以估计出真实的最差功耗,也不能主动地做出反馈以帮助完善输入的工作状态。
4、因此,亟需一种芯片的功耗波形文件生成方法,能够确定出最差功耗情况,进而避免芯片在实际使用过程中发热,导致芯片无法正常使用,甚至烧坏的情况出现。
技术实现思路
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、第一确定模块本文档来自技高网
...
【技术保护点】
1.一种芯片的功耗波形文件生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述芯片中每一个模块的翻转数,确定所述芯片中各个模块之间的相关度,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述每一个模块的活动向量,确定所述芯片中各个模块之间的相关度,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求2或3所述的方法,其特征在于,根据所述芯片中各个模块之间的相关度,生成第二波形文件,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一平均一致性数值、所述第二平均一致性数值以及所述第三波形文件中各个模块的总翻转数,生成第二波形文件,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述违反度与所述第三波形文件中各个模块的总翻转数,确定所述第三波形文件中各个模块下选择的时间窗口的序号值,包括:
8.一种芯片的功耗波形文件生成装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-7中任一项所述的方法。
...
【技术特征摘要】
1.一种芯片的功耗波形文件生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述芯片中每一个模块的翻转数,确定所述芯片中各个模块之间的相关度,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述每一个模块的活动向量,确定所述芯片中各个模块之间的相关度,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求2或3所述的方法,其特征在于,根据所述芯片中各个模块之间的相关度,生成第二波形文件,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一平均一致性数值、...
【专利技术属性】
技术研发人员:文一涵,何鸥,万力涛,魏少雄,崔兵兵,
申请(专利权)人:深圳市合芯数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。