CN112667024A - 延时计算电路、芯片运行频率获取方法、装置及电子设备 - Google Patents
延时计算电路、芯片运行频率获取方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112667024A CN112667024A CN202011623520.XA CN202011623520A CN112667024A CN 112667024 A CN112667024 A CN 112667024A CN 202011623520 A CN202011623520 A CN 202011623520A CN 112667024 A CN112667024 A CN 112667024A
- Authority
- CN
- China
- Prior art keywords
- target
- paths
- path
- chip
- obtaining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000004364 calculation method Methods 0.000 title claims abstract description 62
- 230000009471 action Effects 0.000 claims abstract description 15
- 230000010355 oscillation Effects 0.000 claims description 135
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 59
- 238000012512 characterization method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 15
- 238000013461 design Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 9
- 230000001934 delay Effects 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008054 signal transmission Effects 0.000 description 8
- 239000000872 buffer Substances 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请涉及一种延时计算电路、芯片运行频率获取方法、装置及电子设备。延时计算电路包括选择控制模块、行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接。多个振荡信号生成模块中,每个振荡信号生成模块用于在对应的目标关键路径的延时作用下生成振荡信号。选择控制模块用于分别选取出多个振荡信号生成模块中的每个振荡信号生成模块所生成的振荡信号,并发送给行波计数器。行波计数器用于对接收到的每条振荡信号进行计数,以获得多个振荡信号生成模块中,每个振荡信号生成模块所生成的振荡信号在目标计数时长内的信号计数值。延时计算电路能够降低获得目标芯片整体运行频率的难度。
Description
技术领域
本申请涉及芯片制作技术领域,具体而言,涉及一种延时计算电路、芯片运行频率获取方法、装置及电子设备。
背景技术
在芯片的设计制作过程中,往往需要获得芯片的整体运行频率,获得芯片的整体运行频率之后,若芯片的整体运行频率低于目标运行频率,则通过增加工作电压的方式,提升芯片的整体频率,若芯片的整体运行频率高于目标运行频率,则可以通过降低工作电压的方式,实现节省功耗的目的,从而保证芯片的正常运行。
现有技术中,通常是通过精确复制芯片中的每条路径,再计算复制的每条路径的路径延时,从而根据每条路径的路径延时,获得芯片的整体运行频率。该过程中,由于需要精确复制芯片中的每条路径,因此,延时计算电路的设计难度较大,从而增加了获得芯片整体运行频率的难度和效率。
发明内容
本申请的目的在于,提供一种延时计算电路、芯片运行频率获取方法、装置及电子设备,以解决上述问题。
第一方面,本申请提供的延时计算电路包括选择控制模块、行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径;
多个振荡信号生成模块中,每个振荡信号生成模块用于在对应的目标关键路径的延时作用下生成振荡信号;
选择控制模块用于分别选取出多个振荡信号生成模块中的每个振荡信号生成模块所生成的振荡信号,并发送给行波计数器;
行波计数器用于对接收到的每条振荡信号进行计数,以获得多个振荡信号生成模块中,每个振荡信号生成模块所生成的振荡信号在目标计数时长内的信号计数值,信号计数值用于表征振荡信号生成模块对应的目标关键路径的路径延时。
结合第一方面,本申请实施例还提供了第一方面的第一种可选的实施方式,多个振荡信号生成模块中,每个振荡信号生成模块包括第一选择器、反相器和第一控制器;
第一选择器的第一输入端用于接入初始信号值,第一选择器的输出端作为振荡信号生成模块的第一外接端口,第一外接端口用于接入振荡信号生成模块所对应目标关键路径的输入端;
反相器的输入端作为振荡信号生成模块的输出端和第二外接端口,第二外接端口用于接入振荡信号生成模块所对应目标关键路径的输出端,反相器的输出端与第一选择器的第二输入端连接;
第一控制器与第一选择器的控制输入端连接。
结合第一方面的第一种可选的实施方式,本申请实施例还提供了第一方面的第二种可选的实施方式,振荡信号生成模块还包括第一触发器;
第一触发器的时钟控制端接入系统时钟,第一触发器的输入端接入启动指示信号,第一触发器的输出端与第一选择器的第一输入端连接,用于输出初始信号值。
结合第一方面,本申请实施例还提供了第一方面的第三种可选的实施方式,选择控制模块包括第二选择器和第二控制器;
第二选择器包括多个输入端,第二选择器的多个输入端与多个振荡信号生成模块的输出端一一对应连接,第二选择器的输出端作为选择控制模块的输出端;
第二控制器与第二选择器的控制输入端连接。
结合第一方面,本申请实施例还提供了第一方面的第四种可选的实施方式,行波计数器包括计数控制器和多个第二触发器,多个第二触发器依次连接,且多个第二触发器中,首级触发器的时钟控制端通过计数控制器,与选择控制模块的输出端连接,多个第二触发器中,尾级触发器的输出端作为行波计数器的高位输出端。
结合第一方面的第四种可选的实施方式,本申请实施例还提供了第一方面的第五种可选的实施方式,针对多个第二触发器中任意两个相邻的第二触发器,位置在前的第二触发器的输出端与位置在后的第二触发器的时钟控制端连接,且针对多个第二触发器中的每个第二触发器,该第二触发器的反相输出端与该第二触发器的输入端连接。
结合第一方面的第四种可选的实施方式,本申请实施例还提供了第一方面的第六种可选的实施方式,计数控制器包括计数器和与门;
计数器的输入端接入系统时钟,计数器的输出端与与门的第一输入端连接;
与门的第二输入端作为行波计数器的输入端与选择控制模块的输出端连接,与门的输出端与首级触发器的时钟控制端连接。
第二方面,本申请实施例还提供了一种芯片运行频率获取方法,包括:
获取通过延时计算电路获得的多个信号计数值,延时计算电路包括行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中选取出的多条关键路径,针对多个信号计数值中的每个信号计数值,信号计数值为行波计数器对振荡信号生成模块在对应连接的目标关键路径的延时作用下生成的振荡信号进行计数获得的;
针对多条目标关键路径中的每条目标关键路径,根据该条目标关键路径对应的信号计数值,获取该条目标关键路径的单项频率值表征参数;
根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。
结合第二方面,本申请实施例还提供了第二方面的第一种可选的实施方式,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数,包括:
获取延时计算电路中行波计数器的计数时间窗口周期长度;
将目标关键路径对应的信号计数值和计数时间窗口周期长度代入预设的单项频率值表征参数计算公式,并将单项频率值表征参数计算公式输出的计算结果作为目标关键路径的单项频率值表征参数。
结合第二方面的第一种可选的实施方式,本申请实施例还提供了第二方面的第二种可选的实施方式,单项频率值表征参数计算公式为:
其中,CPO_nomal[i]为目标关键路径的单项频率值表征参数,CPOi为目标关键路径对应的信号计数值,N为计数时间窗口周期长度。
结合第二方面,本申请实施例还提供了第二方面的第三种可选的实施方式,根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率,包括:
计算出多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差;
根据中位数和标准差,获得目标芯片的整体运行频率。
结合第二方面的第三种,本申请实施例还提供了第二方面的第四种可选的实施方式,计算出多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差之前,根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率,还包括:
对多条目标关键路径中,每条目标关键路径的单项频率值表征参数进行归一化处理。
结合第二方面,本申请实施例还提供了第二方面的第五种可选的实施方式,针对多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数之前,芯片运行频率获取方法还包括:
从目标芯片包括的多条路径中,选取出多条目标关键路径。
结合第二方面的第五种可选的实施方式,本申请实施例还提供了第二方面的第六种可选的实施方式,从目标芯片包括的多条路径中,选取出多条目标关键路径,包括:
获取目标芯片包括的多条路径中,每条路径的路径特征;
根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足预设选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径;
从多条待选路径中选取出多条目标关键路径。
结合第二方面的第六种可选的实施方式,本申请实施例还提供了第二方面的第七种可选的实施方式,路径特征包括多条特征信息,从多条待选路径中选取出多条目标关键路径,包括:
获取与多条特征信息一一对应的多个预设数量值;
针对多条特征信息中的每条特征信息,确定出特征信息对应的预设数量值,作为目标数量,并根据特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值的目标数量条第一待选特征路径;
若多条特征信息均为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息,则将多条特征信息中,每条第一特征信息对应的目标数量条第一待选特征路径共同作为多条目标关键路径。
结合第二方面的第七中可选的实施方式,本申请实施例还提供了第二方面的第八种可选的实施方式,针对多条特征信息中的每条特征信息,确定出特征信息对应的预设数量值,作为目标数量,并根据特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值的目标数量条第一待选特征路径之后,从多条待选路径中选取出多条目标关键路径,还包括:
若多条特征信息中包括对应的目标数量条第一待选特征路径中存在相似的多条第一待选特征路径的第二目标特征信息,则针对多条特征信息中的每条第二目标特征信息,在第二目标特征信息对应的相似的多条第一待选特征路径中保留一条第一待选特征路径,而删除相似的多条第一待选特征路径中的其他第一待选特征路径,获得剩余的至少一条第一待选特征路径,并记录删除的第一待选特征路径的数量值,作为待补充数量;
针对多条特征信息中的每条第二目标特征信息,根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合第二目标特征信息对应的剩余的至少一条第一待选特征路径,共同作为第二目标特征信息对应的目标数量条第三待选特征路径;
将多条特征信息中,每条第一目标特征信息对应的目标数量条第一待选特征路径,以及多条特征信息中,每条第二目标特征信息对应的目标数量条第三待选特征路径共同作为多条目标关键路径。
结合第二方面的第八种可选的实施方式,本申请实施例还提供了第二方面的第九种可选的实施方式,针对多条特征信息中的每条第二目标特征信息,根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合第二目标特征信息对应的剩余的至少一条第一待选特征路径,共同作为第二目标特征信息对应的目标数量条第三待选特征路径之前,从多条待选路径中选取出多条目标关键路径,还包括:
针对多条特征信息中的任意第二目标特征信息,若无法根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,则对预设选取规则进行更新,获得二次选取规则;
根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足二次选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径,并重新执行从多条待选路径中选取出多条目标关键路径的步骤。
结合第二方面的第五种可选的实施方式,本申请实施例还提供了第二方面的第十种可选的实施方式,从目标芯片包括的多条路径中,选取出多条目标关键路径之后,芯片运行频率获取方法还包括:
针对多条目标关键路径中的每条目标关键路径,若目标关键路径的路径延时超出预设标准范围,则对目标关键路径进行延时补充操作,以使目标关键路径的路径延时位于预设标准范围内。
第三方面,本申请实施例还提供了一种芯片运行频率获取装置,包括:
计数值获取模块,用于获取通过延时计算电路获得的多个信号计数值,延时计算电路包括行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中选取出的多条关键路径,针对多个信号计数值中的每个信号计数值,信号计数值为行波计数器对振荡信号生成模块在对应连接的目标关键路径的延时作用下生成的振荡信号进行计数获得的;
参数计算模块,用于针对多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数;
频率计算模块,用于根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。
第四方面,本申请实施例还提供了一种电子设备,包括控制器和存储器,存储器上存储有计算机程序,控制器用于执行计算机程序,以实现第二方面,或第二方面的任意一种可选的实施方式所提供的芯片运行频率获取方法。
第五方面,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现第二方面,或第二方面的任意一种可选的实施方式所提供的芯片运行频率获取方法。
本申请实施例提供的延时计算电路包括选择控制模块、行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径,多个振荡信号生成模块中,每个振荡信号生成模块用于在对应的目标关键路径的延时作用下生成振荡信号,选择控制模块用于分别选取出多个振荡信号生成模块中的每个振荡信号生成模块所生成的振荡信号,并发送给行波计数器,行波计数器用于对接收到的每条振荡信号进行计数,以获得多个振荡信号生成模块中,每个振荡信号生成模块所生成的振荡信号在目标计数时长内的信号计数值,信号计数值用于表征振荡信号生成模块对应的目标关键路径的路径延时。由于多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径,而并未如现有技术般,精确复制芯片中的每条路径,因此,延时计算电路的设计难度较小,从而降低了获得目标芯片整体运行频率的难度,也可以理解为,提高了获得目标芯片整体运行频率的效率。
本申请实施例提供的芯片运行频率获取方法能够针对目标芯片包括的多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数,目标关键路径对应的信号计数值能够通过延时计算电路获得,此后,再根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。由于延时计算电路的设计难度较小,能够降低获得目标芯片整体运行频率的难度,因此,本申请实施例提供的芯片运行频率获取方法,能够快速获得目标芯片的整体运行频率,此外,本申请实施例提供的芯片运行频率获取方法具有计算难度较小的特点,因此,能够进一步提高获得目标芯片整体运行频率的效率。
本申请提供的芯片运行频率获取装置、电子设备及计算机可读存储介质具有与上述芯片运行频率获取方法相同的有益效果,此处不作赘述。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种延时计算电路的电路结构示意图。
图2为本申请实施例提供的一种延时计算电路应用场景示意图。
图3为本申请实施例提供的一种芯片频率获取方法的步骤流程图。
图4为本申请实施例提供的一种芯片频率获取方法的执行过程中,获得的一种Hist[j]的直方图。
图5为本申请实施例提供的一种芯片频率获取方法的执行过程中,绘制的一种Hist[j]的分布图。
图6为本申请实施例提供的一种芯片频率获取方法的执行过程辅助性说明图。
图7为本申请实施例提供的一种芯片运行频率获取装置的示意性结构框图。
附图标记:100-延时计算电路;110-选择控制模块;Mux21-第二选择器;111-第二控制器;120-行波计数器;121-计数控制器;1211-计数器;And-与门;DF1-第二触发器;130-振荡信号生成模块;Mux11-第一选择器;D-反相器;131-第一控制器;DF0-第一触发器;200-芯片运行频率获取装置;210-参数计算模块;220-频率计算模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。此外,应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
第一实施例:
请参阅图1,为本申请提供的一种延时计算电路100的电路结构示意图,本申请实施例提供的延时计算电路100包括选择控制模块110、行波计数器120和多个振荡信号生成模块130,多个振荡信号生成模块130用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径。
对于“路径”这一概念,其可以理解为与目标芯片中真实信号流对应的信号传输路径,而信号传输路径具有又由器件和连线组成。以目标芯片中存在信号流A为例,假设,信号流A由目标芯片中功能模块A1的a1端口输出,并经过延时器A2延时之后,再经过反相器A3反相,最后,输入到功能模块A4的a2端口,那么,信号流A对应的信号传输路径则包括a1端口与延时器A2之间的连线、延时器A2、延时器A2与反相器A3之间的连线、反相器A3,以及反相器A3与a2端口之间的连线。
本申请实施例中,多个振荡信号生成模块130中,每个振荡信号生成模块130用于在对应的目标关键路径的延时作用下生成振荡信号。选择控制模块110用于分别选取出多个振荡信号生成模块130中的每个振荡信号生成模块130所生成的振荡信号,并发送给行波计数器120。行波计数器120用于对接收到的每条振荡信号进行计数,以获得多个振荡信号生成模块130中,每个振荡信号生成模块130所生成的振荡信号在目标计数时长内的信号计数值,而信号计数值用于表征振荡信号生成模块130对应的目标关键路径的路径延时。
请结合图2,本申请实施例中,多个振荡信号生成模块130中,每个振荡信号生成模块130可以包括第一选择器Mux11、反相器D和第一控制器131。
第一选择器Mux11的第一输入端用于接入初始信号值,第一选择器Mux11的输出端作为振荡信号生成模块130的第一外接端口,振荡信号生成模块130的第一外接端口用于接入振荡信号生成模块130所对应目标关键路径的输入端。反相器D的输入端作为振荡信号生成模块130的输出端和第二外接端口,振荡信号生成模块130的第二外接端口用于接入所述振荡信号生成模块130所对应目标关键路径的输出端,反相器D的输出端与第一选择器Mux11的第二输入端连接。第一控制器131与第一选择器Mux11的控制输入端连接。
需要说明的是,本申请实施例中,第一选择器Mux11可以是二选一数据选择器。第一选择器Mux11的工作原理为:第一选择器Mux11的输出端能够根据控制输入端输入的第一控制信号,决定是选择第一输入端输入的信号值通过输出端输出,还是选择第二输入端输入的信号值通过输出端输出。此外,本申请实施例中,第一控制器131可以是寄存器,其内存储有预先配置的第一控制信号。
为实现选择控制模块110的自动控制启动,本申请实施例中,振荡信号生成模块130还可以包括第一触发器DF0。
第一触发器DF0的时钟控制端接入系统时钟,第一触发器DF0的输入端接入启动指示信号,第一触发器DF0的输出端与第一选择器Mux11的第一输入端连接,用于输出初始信号值。
本申请实施例中,第一触发器DF0可以是D触发器,具体可以是上升沿触发的D触发器,但需要说明的是,在实际实施时,第一触发器DF0也可以是下降沿触发的D触发器,本申请实施例对此不作具体限制。此外,本申请实施例中,启动指示信号可以为任意定值信号,例如,可以是高电平逻辑信号“1”,也可以是低电平逻辑信号“0”。
对于选择控制模块110,本申请实施例中,作为一种可选的实施方式,其可以包括第二选择器Mux21和第二控制器111。
第二选择器Mux21包括多个输入端,第二选择器Mux21的多个输入端与多个振荡信号生成模块130的输出端一一对应连接,第二选择器Mux21的输出端作为选择控制模块110的输出端。第二控制器111与第二选择器Mux21的控制输入端连接。
可以理解的是,本申请实施例中,第二选择器Mux21为包括多个输入端、一个输出端和一个控制输入端的多选一数据选择器。第二选择器Mux21的工作原理为:第二选择器Mux21的输出端能够根据控制输入端输入的第二控制信号,从多个输入端输入的信号值中,选取一个信号值从输出端输出。例如,第二选择器Mux21的输出端能够根据控制输入端输入的第二控制信号,在第一时段内,从多个输入端输入的信号值中,选取出第一个输入端输入的信号值从输出端输出,此后,在第二时段内,从多个输入端输入的信号值中,选取出第二个输入端输入的信号值从输出端输出,接着,在第三时段内,从多个输入端输入的信号值中,选取出第三个输入端输入的信号值从输出端输出,以此类推。其中,第一时段、第二时段和第三时段中,两两之间无交叉重合时间。此外,本申请实施例中,第二控制器111同样可以是寄存器,其内存储有预先配置的第二控制信号。
对于行波计数器120,本申请实施例中,作为一种可选的实施方式,其可以包括计数控制器121和多个第二触发器DF1,多个第二触发器DF1依次连接,且多个第二触发器DF1中,首级触发器的时钟控制端通过计数控制器121,与选择控制模块110的输出端连接,多个第二触发器DF1中,尾级触发器的输出端作为行波计数器120的高位输出端,对应的,多个第二触发器DF1中,首级触发器的输出端作为行波计数器120的低位输出端。
本申请实施例中,第二触发器DF1同样可以是D触发器,具体可以是上升沿触发的D触发器,但需要说明的是,在实际实施时,第二触发器DF1也可以是下降沿触发的D触发器,本申请实施例对此不作具体限制。
针对多个第二触发器DF1(包括首级触发器和尾级触发器)中任意两个相邻的第二触发器DF1,位置在前的第二触发器DF1的输出端与位置在后的第二触发器DF1的时钟控制端连接,且针对多个第二触发器DF1中的每个第二触发器DF1,该第二触发器DF1的反相输出端与该第二触发器DF1的输入端连接。此外,需要说明的是,本申请实施例中,首级触发器为多个第二触发器DF1中,位于信号传输路径上,位置最靠前的第二触发器DF1(也即,图2中最左侧的第二触发器DF1),而尾级触发器为信号传输路径上,位置最靠后的第二触发器DF1(也即,图2中最右侧的第二触发器DF1)。
多个第二触发器DF1中,每个第二触发器DF1的输出端输出的信号值会作为行波计数器120的1bit输出,而多个第二触发器DF1对应的多bit输出则共同作为行波计数器120最终输出的信号计数值,且该信号计数值为二进制数值,其最高位为尾级触发器的输出端输出的信号值,最低位为首级触发器的输出端输出的信号值。以行波计数器120中第二触发器DF1的具体数量为12为例,按照信号传输路径的前后顺序,将首级触发器(12个第二触发器DF1中的第一个第二触发器)到尾级触发器(第十二个第二触发器)的输出端输出的信号值分别记作Out1、Out2、Out3、Out4、Out5、Out6、Out7、Out8、Out9、Out10和Out11,那么,行波计数器120最终输出的信号计数值为二进制数值“Out11 Out10 Out9Out8,Out7 Out6 Out5Out4,Out3 Out2 Out1 Out0”。
进一步地,本申请实施例中,计数控制器121可以包括计数器1211和与门And。
计数器1211的输入端接入系统时钟,计数器1211的输出端与与门And的第一输入端连接。与门And的第二输入端作为行波计数器120的输入端与选择控制模块110的输出端连接,也即,与第二选择器Mux21的输出端连接,与门And的输出端与首级触发器的时钟控制端连接。
以下,将对图1和图3所示的延时计算电路100的工作原理进行描述。
针对多个振荡信号生成模块130中的每个振荡信号生成模块130,其包括的第一触发器DF0的时钟控制端接入系统时钟,第一触发器DF0的输入端接入启动指示信号,当系统时钟的上升沿到来时,第一触发器DF0将锁存当前时刻通过第一触发器DF0的输入端输入的启动指示信号,并将启动指示信号输出给第一触发器DF0的输出端,作为初始信号值。此后,第一控制器131根据预先配置的第一控制信号,控制第一选择器Mux11从第一输入端和第二输入端中,选取从第一输入端输入的信号值,并从输出端输出,也即,选取初始信号值,并从输出端输出。以启动指示信号为高电平逻辑信号“1”为例,初始信号值与启动指示信号相同,也为高电平逻辑信号“1”,因此,从第一选择器Mux11的输出端输出的信号值同样为高电平逻辑信号“1”。此后,高电平逻辑信号“1”经过目标关键路径的延时之后输出,同时,延时之后的高电平逻辑信号“1”经过反相器D反相之后,转换为低电平逻辑信号“0”,接着,第一控制器131根据预先配置的第一控制信号,控制第一选择器Mux11从第一输入端和第二输入端中,选取从第二输入端输入的信号值,并从输出端输出,也即,选取低电平逻辑信号“0”,并从输出端输出,低电平逻辑信号“0”经过目标关键路径的延时之后输出,同时,延时之后的低电平逻辑信号“0”经过反相器D反相之后,转换为高电平逻辑信号“1”,接着,第一控制器131根据预先配置的第一控制信号,控制第一选择器Mux11的输出端继续从第一输入端和第二输入端中,选取从第二输入端输入的信号值,并从输出端输出,也即,选取高电平逻辑信号“1”,并从输出端输出,高电平逻辑信号“1”经过目标关键路径的延时之后输出,并继续循环。
多个振荡信号生成模块130中的每个振荡信号生成模块130在进行上述工作的同时,第二控制器111根据预先配置的第二控制信号,分别控制第二选择器Mux21从多个输入端输入的信号值中,依次选取从每个输入端输入的信号值,并从输出端输出,例如,控制第二选择器Mux21在第一时段选取从多个输入端中的第一输入端输入的信号值,并从输出端输出,控制第二选择器Mux21在第二时段选取从多个输入端中的第二输入端输入的信号值,并从输出端输出,控制第二选择器Mux21在第三时段选取从多个输入端中的第三输入端输入的信号值,并从输出端输出,以此类推,其中,第一时段先于第二时段,而第二时段又先于第三时段。
同样,第二控制器111和第二选择器Mux21在进行上述工作的同时,计数器1211对输入的系统时钟进行计数,若计数值在预设计数范围内,则通过输出端输出高电平逻辑信号“1”,以使行波计数器120开始计数或继续计数,若计数值超出预设计数范围,则通过输出端输出低电平逻辑信号“0”,以使行波计数器120停止计数。
可以理解的是,本申请实施例中,对系统时钟进行计数获得的计数值在从1达到预设计数范围内的最大值这一过程所对应的时长即为目标计数时长。此外,本申请实施例中,预设计数范围可以根据行波计数器120中第二触发器DF1的具体数量设置,例如,预设计数范围可以是[1,2M],M为行波计数器120中第二触发器DF1的具体数量,那么,若M为12,则预设计数范围可以是[1,4096]。基于此,可以理解的是,本申请实施例中,行波计数器120在启动之后,主要对系统时钟的2M个周期内,由选择控制模块110选中的振荡信号生成模块130所生成的振荡信号进行计数,而系统时钟的2M个周期长度,即为目标计数时长。
此外,需要说明的是,本申请实施例中,若第二控制器111根据预先配置的第二控制信号,切换从输出端输出的信号值时,计数器1211复位清零,也即,计数器1211将重新开始对输入的系统时钟进行计数。例如,第二控制器111根据预先配置的第二控制信号,控制第二选择器Mux21在第一时段选取从多个输入端中的第一个输入端输入的信号值(也即,第一个振荡信号生成模块130所生成的振荡信号),并从输出端输出的过程中,若计数器1211的计数值超出预设计数范围,则计数器1211复位清零,并通过输出端输出低电平逻辑信号“0”,以使行波计数器120停止计数,此后,在第二控制器111根据预先配置的第二控制信号,切换到控制第二选择器Mux21在第二时段选取从多个输入端中的第二个输入端输入的信号值(也即,第二个振荡信号生成模块130所生成的振荡信号),并从输出端输出之后,第二计数器1211复位清零。
最终,行波计数器120对接收到的多个振荡信号生成模块130中,每个振荡信号生成模块130所生成的振荡信号进行计数,以获得多个振荡信号生成模块130中,每个振荡信号生成模块130所生成的振荡信号在目标计数时长内的信号计数值,而信号计数值可以用于表征振荡信号生成模块130对应的目标关键路径的路径延时,也即,根据信号计数值可以计算出振荡信号生成模块130对应的目标关键路径的路径延时。此外,可以理解的是,对于目标芯片,其包括的多条目标关键路径的路径延时最终会影响目标芯片的整体运行频率。
由于多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径,而并未如现有技术般,精确复制芯片中的每条路径,因此,延时计算电路的设计难度较小,从而降低了获得目标芯片整体运行频率的难度,也可以理解为,提高了获得目标芯片整体运行频率的效率。
第二实施例:
请参阅图3,为本申请实施例提供的芯片运行频率获取方法的流程示意图。需要说明的是,本申请实施例提供的芯片运行频率获取方法不以图3及以下所示的顺序为限制,以下结合图3对芯片运行频率获取方法的具体流程及步骤进行描述。
步骤S100,获取通过延时计算电路获得的多个信号计数值,延时计算电路包括行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中选取出的多条关键路径,针对多个信号计数值中的每个信号计数值,信号计数值为行波计数器对振荡信号生成模块在对应连接的目标关键路径的延时作用下生成的振荡信号进行计数获得的。可以理解的是,步骤S100中,延时计算电路可以由第一实施例提供。
步骤S200,针对多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数。
对于步骤S200,本申请实施例中,作为一种可选的实施方式,其可以包括步骤S210和步骤S220。
步骤S210,获取延时计算电路中行波计数器的计数时间窗口周期长度。
步骤S220,将目标关键路径对应的信号计数值和计数时间窗口周期长度代入预设的单项频率值表征参数计算公式,并将单项频率值表征参数计算公式输出的计算结果作为目标关键路径的单项频率值表征参数。
本申请实施例中,单项频率值表征参数计算公式,可以为:
其中,CPO_nomal[i]为多条目标关键路径中,第i条目标关键路径的单项频率值表征参数,CPOi为多条目标关键路径中,第i条目标关键路径对应的信号计数值,N为计数时间窗口周期长度,也即,第一实施例中的目标计数时长,但是,具体到单项频率值表征参数计算公式中,N实质为目标计数时长所对应的时钟周期数量,例如,若目标计数时长等于4096个系统时钟周期,则N的取值为4096。
此外,可以理解的是,本申请实施例中,对于多条目标关键路径中,第i条目标关键路径的单项频率值表征参数,其与多个振荡信号生成模块中,第i个振荡信号生成模块在对应的目标关键路径的延时作用下所生成的振荡信号的频率、系统时钟的频率存在以下逻辑关系:
其中,CPO_nomal[i]为多条目标关键路径中,第i条目标关键路径的单项频率值表征参数,CPOi为多条目标关键路径中,第i条目标关键路径对应的信号计数值,N为计数时间窗口周期长度,FCPOi为多个振荡信号生成模块中,第i个振荡信号生成模块在对应的目标关键路径的延时作用下所生成的振荡信号的频率,FCclk为系统时钟的频率。
步骤S300,根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。
本申请实施例中,由于多条目标关键路径的单项频率值表征参数符合正态分布,因此,根据多条目标关键路径的单项频率值表征参数的中位数和标准差,即可获得目标芯片的整体运行频率。基于此,本申请实施例中,步骤S300可以包括步骤S310和步骤S320。
步骤S310,计算出多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差。
步骤S320,根据中位数和标准差,获得目标芯片的整体运行频率。
本申请实施例中,在执行步骤S310之前,还可以包括步骤S301,以减少步骤S310的计算难度。
步骤S301,对多条目标关键路径中,每条目标关键路径的单项频率值表征参数进行归一化处理。
本申请实施例中,在执行步骤S310之后,可以根据目标关键路径的条数,将归一化取值区间划分为多个等大的子区间,例如,若目标关键路径的条数为32条,则可以将归一化取值区间划分为32个等大的子区间。
请结合图4,假设,在执行步骤S310之后,多条目标关键路径中,每条目标关键路径的单项频率值表征参数落在归一化取值区间[0.30,1.23]内,则将归一化取值区间[0.30,1.23]划分为32个等大的子区间(Range),记作BucketRange[i](j=0,1,2……31),其中,BucketRange[i]=0.30+j*0.03(j=0,1,2……31)。此后,判断CPO_normal[i]属于哪一个子区间(Range),若CPO_normal[i]属于第j个子区间(Range),那么,便存在(BucketRange[j-1]<CPO_normal[i]<=BucketRange[j]),则落入第j个子区间(Range)的频数增加1,也即,Hist[j]增加1,其中,Hist[j]即为第j个子区间(Range)的频数,最终,获得Hist[j]的直方图。获得Hist[j]的直方图之后,便可以根据Hist[j]的直方图,计算出多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差,再由中位数和标准差计算Fcpo,本申请实施例中,为方便描述,可以将中位数可以记作Median,标准差可以记作Sigma。
请结合图5和图6,首先,可以根据Hist[j]的直方图,绘制Hist[j]的分布图,对于该分布图中的每一项,存在:
分布图中HistDistribute[31]为直方图中所有值的累加,MedianNum=0.5*HistDistribute[31]是中位数在分布图中的Y值,根据差值法可以计算出Y=MedianNum对应的X值,从而计算出中位数,其具体计算过程可以为:
由于正态分布Median-Sigma位于正态分布概率密度函数面积0.16的点,由此,Median-Sigma在分布图中Y轴上的值SigmaNum可以为:
SigmaNum=HistDistribute[31]*0.16
与计算Median方法相同,可以通过线性插值法计算SigmaNum在分布图中对应的X轴坐标,记作X:
由于存在Sigma=Median-X,最终,获得目标芯片的整体运行频率:
FCPO=(a*Median+b*Sigma)*Fcclk
其中,a为Median的系数,b为Sigma的系数,而a和b具体可以通过仿真试验获得,本申请实施例对此不作具体限制。
进一步地,本申请实施例中,多条目标关键路径是需要从目标芯片包括的多条路径中预先选取的,只有从目标芯片包括的多条路径中选取出多条目标关键路径之后,才能够执行上述步骤S100、步骤S200和步骤S300。基于此,本申请实施例提供的芯片运行频率获取方法,在执行步骤S100之前,还可以包括步骤S001。
步骤S001,从目标芯片包括的多条路径中,选取出多条目标关键路径。
本申请实施例中,针对步骤S001中所描述的多条路径中的每条路径,其可以理解为目标芯片包括的所有信号传输路径中,能够体现其所在电路模块特性的信号传输路径,而是否能够体现其所在电路模块特性,主要可以通过判断其是否符合预设的特性标准。
本申请实施例中,特性标准至少包括以下四种:
(1)属于目标芯片的主时钟域;
(2)属于单周期路径;
(3)属于所在电路模块的功能相关路径;
(4)路径延时需要满足:(1-5%)*时钟周期<路径延时<1*时钟周期。
需要说明的是,本申请实施例中,针对某条路径,其时钟周期可以理解为目标芯片的时钟周期。此外,还需要说明的是,本申请实施例中,特性标准可以根据目标芯片的实际设计需求调整,本申请实施例对此不作具体限制。
在确定出目标芯片包括的多条路径的同时,针对多条路径中的每条路径,可以根据其相对于特性标准的符合程度,设置其在路径备选池中的位置,例如,相对于特性标准的符合程度越高,则在路径备选池中的位置越靠前。在确定出目标芯片包括的多条路径之后,便可以执行步骤S001,以从目标芯片包括的多条路径中,选取出多条目标关键路径,而对于步骤S001,本申请实施例中,作为一种可选的实施方式,其可以包括步骤S0011、步骤S0012和步骤S0013。
步骤S0011,获取目标芯片包括的多条路径中,每条路径的路径特征。
本申请实施例中,路径特征可以包括特征参数和设计规则检查(Design RuleCheck,DRC)特性。
其中,特征参数至少可以包括以下六种:
(1)路径上缓冲器和反相器的个数之和;
(2)路径上相邻两个电路单元距离之和,电路单元为组合逻辑单元;
(3)路径的组合逻辑延时,也即,路径上所有组合逻辑单元的延时和路径上所有组合逻辑单元之间的连线延时之和;
(4)路径上所有电路单元的延时之和;
(5)路径上所有电路单元之间的连线延时之和;
(6)路径上所有电路单元中最小逻辑块的器件类型,例如,可以进一步区分出缓冲器、反相器、加法器、与门等,以进一步了解每条路径的特性。
DRC特性至少可以包括:路径上所有电路单元的最大转换时间(Max-Trans-Time),其中,“转换”可以理解为逻辑电平High/Low的跳变,也即,高电平逻辑信号“1”和低电平逻辑信号“0”之间的跳变。
步骤S0012,根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足预设选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径。
本申请实施例中,路径特征包括多条特征信息,结合步骤S0011的相关描述,多条特征信息至少可以包括以下七种:
(1)路径上缓冲器和反相器的个数之和,记作第一特征信息;
(2)路径上相邻两个电路单元距离之和,记作第二特征信息;
(3)路径的组合逻辑延时,记作第三特征信息;
(4)路径上所有电路单元的延时之和,记作第四征信息;
(5)路径上所有电路单元之间的连线延时之和,记作第五征信息;
(6)路径上所有电路单元中最小逻辑块的器件类型,记作第六特征信息;
(7)路径上所有电路单元的最大转换时间(Max-Trans-Time),记作第七特征信息。
在确定出路径特征包括多条特征信息之后,针对多条特征信息中的每条特征信息,都可以设置一条与其对应的子选取规则,也即,预设选取规则包括多条子选取规则,多条特征信息中,每条特征信息对应多条子选取规则中的一条子选取规则,当然,也可以两条特征信息对应多条子选取规则中的一条子选取规则,本申请实施例对此不作具体限制。
例如,对于第一特征信息,其对应的子选取规则可以是:路径上缓冲器和反相器的个数之和大于预设数值,而预设数值的具体数量可以根据目标芯片的实际设计需求调整,本申请实施例对此不作具体限制,第一特征信息对应的子选取规则也可以是:路径上缓冲器和反相器的个数之和较大的多条路径,其具体数量可以根据目标芯片的实际设计需求调整,本申请实施例对此不作具体限制。
再例如,对于第二特征信息,其对应的子选取规则可以是:路径上相邻两个电路单元距离之和位于预设距离区间,而预设距离区间的具体范围可以根据目标芯片的实际设计需求调整,本申请实施例对此不作具体限制。
再例如,对于第三特征信息,其对应的子选取规则可以是:80%*时钟周期<路径的组合逻辑延时<120%*时钟周期。
再例如,对于第四特征信息和第五特征信息,其可以对应一条子选取规则:路径上所有电路单元的延时之和<2*路径上所有电路单元之间的连线延时之和。
再例如,对于第六特征信息,其对应的子选取规则可以是:路径上所有电路单元中存在器件类型为模拟模块的最小逻辑块。
再例如,对于第七特征信息,其对应的子选取规则可以是:路径上所有电路单元的最大转换时间(Max-Trans-Time)<20%*时钟周期。
基于以上描述,在执行步骤S0012时,便可以根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足以上七条子选取规则中任意一条预设选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径。
步骤S0013,从多条待选路径中选取出多条目标关键路径。
本申请实施例中,在获取到多条待选路径之后,还需要执行步骤S0013,以从多条待选路径中选取出多条目标关键路径,而对于步骤S0013,本申请实施例中,作为一种可选的实施方式,其可以包括步骤S00131、步骤S00132和步骤S00133。
步骤S00131,获取与多条特征信息一一对应的多个预设数量值。
本申请实施例中,针对多条特征信息中的每条特征信息,其对应的预设数量值可以根据目标芯片的实际设计需求调整,本申请实施例对此不作具体限制。
步骤S00132,针对多条特征信息中的每条特征信息,确定出特征信息对应的预设数量值,作为目标数量,并根据特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值的目标数量条第一待选特征路径。
本申请实施例中,针对多条特征信息中的每条特征信息,可以预先根据该条特征信息对应的子选取规则,对多条待选路径进行降序排列。假设,多条待选路径中包括路径1、路径2、路径3、路径4、路径5、路径6、路径7、路径8、路径9和路径10(实际实施过程中,多条待选路径的数量远大于10条),而多条待选路径与第一特征信息,也即,路径上缓冲器和反相器的个数之和的对应关系如表1所示。
表1
那么,根据第一特征信息对应的子选取规则,对多条待选路径进行降序排列之后,获得的排列顺序为:路径4>路径10>路径2>路径9>路径6>路径7>路径1>路径5>路径8>路径3。
如此,在执行步骤S00132时,针对第一特征信息,若第一特征信息对应的预设数量值为3,也即,目标数量为3,则可以根据上述排列顺序,再从多条待选路径中选取出在第一特征信息方面具有最大度量值的3条第一待选特征路径,也即,选取出路径4、路径10和路径2作为第一待选特征路径。
步骤S00133,若多条特征信息均为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息,则将多条特征信息中,每条第一特征信息对应的目标数量条第一待选特征路径共同作为多条目标关键路径。
同样,以多条待选路径中包括路径1、路径2、路径3、路径4、路径5、路径6、路径7、路径8、路径9和路径10为例,若根据第一特征信息对应的子选取规则,对多条待选路径进行降序排列之后,获得的排列顺序为:路径4>路径10>路径2>路径9>路径6>路径7>路径1>路径5>路径8>路径3,且第一特征信息对应的预设数量值为3,也即,目标数量为3,那么,第一特征信息对应的3条第一待选特征路径为路径4、路径10和路径2,其中,路径4的第一特征信息为16,路径10的第一特征信息为15,路径4的第一特征信息为12。基于此,可以判定第一特征信息为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息。
同理,可以判断多条特征信息中的其他特征信息是否为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息,若多条特征信息中的其他特征信息均为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息,则将多条特征信息中,每条第一特征信息对应的目标数量条第一待选特征路径共同作为多条目标关键路径。当然,实际实施过程中,多条特征信息中通常会包括对应的目标数量条第一待选特征路径中存在相似的多条第一待选特征路径的第二目标特征信息。基于此,对于步骤S0013,本申请实施例中,作为一种可选的实施方式,其在步骤S00132之后,还可以包括步骤S00134、步骤S00135和步骤S00136。
步骤S00134,若多条特征信息中包括对应的目标数量条第一待选特征路径中存在相似的多条第一待选特征路径的第二目标特征信息,则针对多条特征信息中的每条第二目标特征信息,在第二目标特征信息对应的相似的多条第一待选特征路径中保留一条第一待选特征路径,而删除相似的多条第一待选特征路径中的其他第一待选特征路径,获得剩余的至少一条第一待选特征路径,并记录删除的第一待选特征路径的数量值,作为待补充数量。
继续以多条待选路径中包括路径1、路径2、路径3、路径4、路径5、路径6、路径7、路径8、路径9和路径10为例,若多条待选路径与第一特征信息,也即,路径上缓冲器和反相器的个数之和的对应关系如表2所示。
表2
那么,根据第一特征信息对应的子选取规则,对多条待选路径进行降序排列之后,获得的排列顺序为:路径4=路径10>路径2>路径9>路径6>路径7>路径1>路径5>路径8>路径3。
若第一特征信息对应的预设数量值为3,也即,目标数量为3,那么,第一特征信息对应的3条第一待选特征路径为路径4、路径10和路径2,其中,路径4的第一特征信息为16,路径10的第一特征信息为16,路径4的第一特征信息为12。基于此,可以判定第一特征信息为对应的目标数量条第一待选特征路径中存在相似的多条第一待选特征路径的第二目标特征信息,具体存在相似的两条第一待选特征路径,也即,路径4和路径10。
在上述情况下,针对该条第二目标特征信息,需要在路径4和路径10中保留一条第一待选特征路径,而删除路径4和路径10中其他的第一待选特征路径,获得剩余的至少一条第一待选特征路径,并记录删除的第一待选特征路径的数量值,作为待补充数量。实际实施时,可以保留的第一待选特征路径为备选池中位置相对靠前的路径,而删除的第一待选特征路径为备选池中位置相对靠后的路径,假设,路径4刚好为备选池中位置相对靠前的路径,而路径10刚好为备选池中位置相对靠后的路径,则最终获得剩余的至少一条第一待选特征路径包括路径4和路径2,删除的第一待选特征路径的数量值为1,也即,待补充数量为1。
步骤S00135,针对多条特征信息中的每条第二目标特征信息,根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合第二目标特征信息对应的剩余的至少一条第一待选特征路径,共同作为第二目标特征信息对应的目标数量条第三待选特征路径。
继续步骤S00134中的相关示例,第一特征信息为实质为第二目标特征信息,根据该条第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径可以为:从路径9、路径6、路径7、路径1、路径5、路径8和路径3中选取出路径9,再结合该条第二目标特征信息对应的剩余的至少一条第一待选特征路径,也即,路径4和路径2,共同作为该条第二目标特征信息对应的3条第三待选特征路径。
需要说明的是,本申请实施例中,在针对多条特征信息中的每条第二目标特征信息,根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合第二目标特征信息对应的剩余的至少一条第一待选特征路径,共同作为第二目标特征信息对应的目标数量条第三待选特征路径之后,实质还需要判断目标数量条第三待选特征路径中是否存在相似的多条第三待选特征路径。若目标数量条第三待选特征路径中不存在相似的多条第三待选特征路径,则执行步骤S00136,若目标数量条第三待选特征路径中存在相似的多条第三待选特征路径,则根据步骤S00134和步骤S00135的发明构思继续删除并补充选取待选特征路径,直至选取出的目标数量条待选特征路径中不存在相似的多条待选特征路径为止。
步骤S00136,将多条特征信息中,每条第一目标特征信息对应的目标数量条第一待选特征路径,以及多条特征信息中,每条第二目标特征信息对应的目标数量条第三待选特征路径共同作为多条目标关键路径。
需要说明的是,本申请实施例中,针对多条特征信息中的每条特征信息,执行步骤S00131、步骤S00132和步骤S00133,或执行步骤S00131、步骤S00132、步骤S00134、步骤S00135和步骤S00136,以从多条待选路径中,选取出该条特征信息最终对应的目标数量条待选特征路径的过程并非同时进行的,也即,针对多条特征信息中的每条特征信息执行前述步骤,以从多条待选路径中,选取出该条特征信息最终对应的目标数量条待选特征路径的过程是存在先后顺序的。如此,针对多条特征信息中的某条特征信息,在执行前述步骤,以从多条待选路径中,选取出该条特征信息最终对应的目标数量条待选特征路径之后,便可以将当前选取出的目标数量条待选特征路径从路径备选池中删除,也即,将从多条待选路径中被选取出的目标数量条待选特征路径删除,以避免后续再次被选取,而使得多条目标关键路径中存在相同路径的情况出现。
此外,还需要说明的是,本申请实施例中,在执行步骤S00135时,还可能出现一种情况:针对多条特征信息中的任意第二目标特征信息,无法根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,那么,说明执行步骤S0012时所采用的预设选取规则过于局限。基于此,本申请实施例中,在执行步骤S00135之前,步骤S0013还可以包括步骤S00137和步骤S00138,用于对预设选取规则进行更新,以提高多条目标关键路径的选取成功率。
步骤S00137,针对多条特征信息中的任意第二目标特征信息,若无法根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,则对预设选取规则进行更新,获得二次选取规则。
步骤S00138,根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足二次选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径,并重新执行从多条待选路径中选取出多条目标关键路径的步骤。
本申请实施例中,在对预设选取规则进行更新时,具体可以根据目标芯片的实际设计需求进行更新,本申请实施例对此不作具体限制。
进一步地,本申请实施例提供的芯片运行频率获取方法,在执行步骤S001之后,还可以包括步骤S002,以保证选取出的多条目标关键路径的可用性。
步骤S002,针对多条目标关键路径中的每条目标关键路径,若目标关键路径的路径延时超出预设标准范围,则对目标关键路径进行延时补充操作,以使目标关键路径的路径延时位于预设标准范围内。
本申请实施例中,预设标准范围可以是延时区间(80%*时钟周期,100%*时钟周期),也即,针对多条目标关键路径中的某条目标关键路径,若其路径延时不满足80%*时钟周期<路径延时<100%*时钟周期,例如,位于延时区间(40%*时钟周期,80%*时钟周期)内,则认为其路径延时超出预设标准范围。为方便描述,本申请实施例中,可以将路径延时超出预设标准范围的目标关键路径定义为待补充路径。此外,需要说明的是,本申请实施例中,对待补充路径进行延时补充操作也就是对待补充路径进行工程更改命令(EngineeringChange Order,ECO)操作。以下将对本申请实施例中,对待补充路径进行延时补充操作的过程进行描述。
确定出待补充路径对应的特征信息,作为第三目标特征信息,也即,确定出待补充路径是根据哪条特征信息从多条待选路径中选取出的,再将该条特征信息作为第三目标特征信息。此后,根据第三目标特征信息,确定出对待补充路径进行延时补充操作所需要添加的器件,例如,确定出需要添加的器件是反相器、加法器,还是与门。在确定出需要添加的器件之后,获得对应器件的负载延时表,例如,确定出需要添加的器件是与门之后,可以获得与门的负载延时表。
对于某个器件,其负载延时表的获取需要结合该器件的前级驱动和后级负载综合获得。以与门为例,首先,可以构件一个包括5级与门的第一延时补充路径,假设,第一延时补充路径中,第三级与门的驱动为一个与门,第三级与门的负载为另一个与门,通过时序分析工具获取该情况下第三级与门的器件延时,作为第一延时信息,此后,再次构造一个包括多级与门的第二延时补充路径,假设,第二延时补充路径中,第三级与门的负载扩展为5个与门,通过时序分析工具获取该种情况下,第三级与门的器件延时,此后,重复前述操作,构造出多种不同情况的延时补充路径,并获得对应的延时信息,再将所有关于与门的延时信息存储于预设表格中,获得与门的负载延时表。同理,可以获得反相器、加法器、非门等器件的负载延时表,本申请实施例对此不作赘述。
在确定出对待补充路径进行延时补充操作所需要添加的器件,并获得该器件的负载延时表之后,将该负载延时表作为目标延时表。此后,计算出待补充路径的原始路径延时和预设标准范围之间的延时差异值,并从目标延时表中,选取出与该延时差异值最接近甚至相等的目标延时信息,同时,确定出与目标延时信息对应的目标延时补充路径,并将目标延时补充路径添加到对待补充路径进行复制而获得的待添加路径中,以获得与待补充路径对应的新的目标关键路径,且其路径延时满足80%*时钟周期<路径延时<100%*时钟周期。此外,需要说明的是,本申请实施例中,将目标延时补充路径添加到对待补充路径进行复制而获得的待添加路径中,以获得与待补充路径对应的新的目标关键路径的过程,即为生成对应电路网表的过程。
为提高芯片运行频率获取方法的执行效率,本申请实施例中,在对待补充路径进行复制时,可以采用不完全复制的方式。例如,待补充路径1中,待复制与门的输出端口Z上,连接有很多个负载,分别为L1、L2、L3……,若采用不完全复制的方式,则不会将这些负载完全复制,而是把这些负载量化获得一个延时数值,假设,延时数值为15,而一个反相器的负载量化是3,那么,就相当于待复制与门的输出端口Z连接有5个反相器,用于等效负载L1、L2、L3……。而不完全复制的方式具体可以理解为,由于时序分析工具给出的负载量化往往偏悲观,所以,原本的负载量化若为15,则复制时,可以将原本的负载量化乘以一个小于1的系数,例如,0.85,获得实际需要的负载量化:12.75,此后,在对待补充路径1进行复制时,待复制与门的输出端口Z即可直接连接4个反相器。另外,在对待补充路径进行复制时还可以将待补充路径中,器件的无效端口删除,也即,将未连接有负载的端口删除,以提高芯片运行频率获取方法的可靠性。
在通过步骤S001和步骤S002,获得最终的多条目标关键路径之后,可以根据最终的多条目标关键路径,生成对应的正态分布表,以表征最终的多条目标关键路径的路径延时分布,并确定路径延时分布在延时中值有效区间内的目标关键路径比例是否超过预设比例数值,若路径延时分布在有效延时区间内的目标关键路径比例超过预设比例数值,则表征最终的多条目标关键路径具有可用性,若路径延时分布在延时中值有效区间内的目标关键路径比例未超过预设比例数值,则可以调整步骤S002执行过程中的相关策略,例如,负载延时表的获取方式,并重新执行步骤S002。此外,本申请实施例中,有效延时区间可以为(X-Y,X+Y),其中,X为最终的多条目标关键路径中路径延时的中位数,Y为预设延时浮动值,其可以根据目标芯片的实际设计需求调整,本申请实施例对此不作具体限制。
总结来说,本申请实施例提供的芯片运行频率获取方法能够针对目标芯片包括的多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数,目标关键路径对应的信号计数值能够通过延时计算电路获得,此后,再根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。由于延时计算电路的设计难度较小,能够降低获得目标芯片整体运行频率的难度,因此,本申请实施例提供的芯片运行频率获取方法,能够快速获得目标芯片的整体运行频率,此外,本申请实施例提供的芯片运行频率获取方法具有计算难度较小的特点,因此,能够进一步提高获得目标芯片整体运行频率的效率。
第三实施例:
基于与第二实施例提供的芯片运行频率获取方法同样的发明构思,本申请实施例还提供了一种芯片运行频率获取装置200。请参阅图7,本申请实施例提供的芯片运行频率获取装置200包括计数值获取模块210、参数计算模块220和频率计算模块230。
计数值获取模块210,用于获取通过延时计算电路获得的多个信号计数值,延时计算电路包括行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中选取出的多条关键路径,针对多个信号计数值中的每个信号计数值,信号计数值为行波计数器对振荡信号生成模块在对应连接的目标关键路径的延时作用下生成的振荡信号进行计数获得的。
参数计算模块220,用于针对多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数。
频率计算模块230,用于根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。
本申请实施例中,参数计算模块220可以包括窗口长度获取单元和单项频率值表征参数计算单元。
窗口长度获取单元,用于获取延时计算电路中行波计数器的计数时间窗口周期长度。
单项频率值表征参数计算单元,用于将目标关键路径对应的信号计数值和计数时间窗口周期长度代入预设的单项频率值表征参数计算公式,并将单项频率值表征参数计算公式输出的计算结果作为目标关键路径的单项频率值表征参数。
本申请实施例中,单项频率值表征参数计算公式可以为:
其中,CPO_nomal[i]为目标关键路径的单项频率值表征参数,CPOi为目标关键路径对应的信号计数值,N为计数时间窗口周期长度。
本申请实施例中,频率计算模块230可以包括第一整体运行频率计算单元和第二整体运行频率计算单元。
第一整体运行频率计算单元,用于计算出多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差。
第二整体运行频率计算单元,用于根据中位数和标准差,获得目标芯片的整体运行频率。
本申请实施例中,频率计算模块230包括还包括归一化处理单元。
归一化处理单元,用于对多条目标关键路径中,每条目标关键路径的单项频率值表征参数进行归一化处理。
本申请实施例提供的芯片运行频率获取装置200还可以包括目标关键路径选取模块。
目标关键路径选取模块,用于从目标芯片包括的多条路径中,选取出多条目标关键路径。
本申请实施例中,目标关键路径选取模块可以包括路径特征获取单元、第一待选路径确定单元和目标关键路径选取单元。
路径特征获取单元,用于获取目标芯片包括的多条路径中,每条路径的路径特征。
第一待选路径确定单元,用于根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足预设选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径。
目标关键路径选取单元,用于从多条待选路径中选取出多条目标关键路径。
路径特征可以包括多条特征信息,预设选取规则包括多条子选取规则,多条特征信息中,每条特征信息对应多条子选取规则中的一条子选取规则。基于此,本申请实施例中,目标关键路径选取单元可以包括预设数量值获取子单元、第一待选特征路径选取子单元和第一目标关键路径选取子单元。
预设数量值获取子单元,用于获取与多条特征信息一一对应的多个预设数量值。
第一待选特征路径选取子单元,用于针对多条特征信息中的每条特征信息,确定出特征信息对应的预设数量值,作为目标数量,并根据特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值的目标数量条第一待选特征路径。
目标关键路径选取子单元,用于在多条特征信息均为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息时,将多条特征信息中,每条第一特征信息对应的目标数量条第一待选特征路径共同作为多条目标关键路径。
本申请实施例中,目标关键路径选取单元还可以包括第二待选特征路径选取子单元、第三待选特征路径选取子单元和第二目标关键路径选取子单元。
第二待选特征路径选取子单元,用于在多条特征信息中包括对应的目标数量条第一待选特征路径中存在相似的多条第一待选特征路径的第二目标特征信息时,针对多条特征信息中的每条第二目标特征信息,在第二目标特征信息对应的相似的多条第一待选特征路径中保留一条第一待选特征路径,而删除相似的多条第一待选特征路径中的其他第一待选特征路径,获得剩余的至少一条第一待选特征路径,并记录删除的第一待选特征路径的数量值,作为待补充数量。
第三待选特征路径选取子单元,用于针对多条特征信息中的每条第二目标特征信息,根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合第二目标特征信息对应的剩余的至少一条第一待选特征路径,共同作为第二目标特征信息对应的目标数量条第三待选特征路径。
第二目标关键路径选取子单元,用于将多条特征信息中,每条第一目标特征信息对应的目标数量条第一待选特征路径,以及多条特征信息中,每条第二目标特征信息对应的目标数量条第三待选特征路径共同作为多条目标关键路径。
本申请实施例中,目标关键路径选取单元还可以包括预设选取规则更新单元和第二待选路径确定单元。
预设选取规则更新单元,用于针对多条特征信息中的任意第二目标特征信息,若无法根据第二目标特征信息对应的子选取规则,从多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,则对预设选取规则进行更新,获得二次选取规则。
第二待选路径确定单元,用于根据多条路径中,每条路径的路径特征,确定出多条路径中,不满足二次选取规则的待删除路径,以将多条路径中除待删除路径之外的其他多条路径作为多条待选路径,并重新执行从多条待选路径中选取出多条目标关键路径的步骤。
本申请实施例提供的芯片运行频率获取装置还可以包括延时补充操作模块。
延时补充操作模块,用于针对多条目标关键路径中的每条目标关键路径,若目标关键路径的路径延时超出预设标准范围,则对目标关键路径进行延时补充操作,以使目标关键路径的路径延时位于预设标准范围内。
由于本申请实施例提供的芯片运行频率获取装置200是基于与第二实施例提供的芯片运行频率获取方法同样的发明构思实现的,因此,芯片运行频率获取装置200中,每个软件模块的具体描述,均可参见第二实施例中对应步骤的相关描述,此处不作赘述。
第四实施例:
本申请实施例还提供了一种电子设备,包括控制器和存储器,存储器上存储有计算机程序,控制器用于执行计算机程序,以实现第二实施例提供的芯片运行频率获取方法。
本申请实施例中,电子设备可以是终端设备,例如,电脑、个人数字助理(PersonalDigital Assistant,PAD),电子设备还可以是服务器,本申请实施例对此不作具体限制。
在结构上,电子设备可以包括处理器和存储器。
处理器和存储器直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。芯片运行频率获取装置包括至少一个可以软件或固件(Firmware)的形式存储在存储器中的软件模块。处理器用于执行存储器中存储的可执行模块,例如,芯片运行频率获取装置所包括的软件功能模块及计算机程序等,以实现芯片运行频率获取方法。
处理器可以在接收到执行指令后,执行计算机程序。其中,处理器可以是一种集成电路芯片,具有信号处理能力。处理器也可以是通用处理器,例如,可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图,此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。存储器用于存储程序,处理器在接收到执行指令后,执行该程序。
第五实施例:
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被执行时,实现第二实施例提供的芯片运行频率获取方法,具体可参见第二实施例,此处不作赘述。
综上所述,本申请实施例提供的延时计算电路包括选择控制模块、行波计数器和多个振荡信号生成模块,多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径,多个振荡信号生成模块中,每个振荡信号生成模块用于在对应的目标关键路径的延时作用下生成振荡信号,选择控制模块用于分别选取出多个振荡信号生成模块中的每个振荡信号生成模块所生成的振荡信号,并发送给行波计数器,行波计数器用于对接收到的每条振荡信号进行计数,以获得多个振荡信号生成模块中,每个振荡信号生成模块所生成的振荡信号在目标计数时长内的信号计数值,信号计数值用于表征振荡信号生成模块对应的目标关键路径的路径延时。由于多条目标关键路径为从目标芯片包括的多条路径中,选取出的多条关键路径,因此,延时计算电路的设计难度较小,从而降低了获得目标芯片整体运行频率的难度,也可以理解为,提高了获得目标芯片整体运行频率的效率。
本申请实施例提供的芯片运行频率获取方法能够针对目标芯片包括的多条目标关键路径中的每条目标关键路径,根据目标关键路径对应的信号计数值,获取目标关键路径的单项频率值表征参数,目标关键路径对应的信号计数值能够通过延时计算电路获得,此后,再根据多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得目标芯片的整体运行频率。由于延时计算电路的设计难度较小,能够降低获得目标芯片整体运行频率的难度,因此,本申请实施例提供的芯片运行频率获取方法,能够快速获得目标芯片的整体运行频率,此外,本申请实施例提供的芯片运行频率获取方法具有计算难度较小的特点,因此,能够进一步提高获得目标芯片整体运行频率的效率。
进一步地,本申请提供的芯片运行频率获取装置、电子设备及计算机可读存储介质具有与上述芯片运行频率获取方法相同的有益效果,此处不作赘述。
在本申请实施例所提供的几个实施方式中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。此外,在本申请每个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是每个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
进一步地,所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
还需要说明的是,在本文中,诸如“第一”、“第二”、“第三”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
Claims (21)
1.一种延时计算电路,其特征在于,包括选择控制模块、行波计数器和多个振荡信号生成模块,所述多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,所述多条目标关键路径为从所述目标芯片包括的多条路径中,选取出的多条关键路径;
所述多个振荡信号生成模块中,每个振荡信号生成模块用于在对应的目标关键路径的延时作用下生成振荡信号;
所述选择控制模块用于分别选取出多个所述振荡信号生成模块中的每个所述振荡信号生成模块所生成的振荡信号,并发送给所述行波计数器;
所述行波计数器用于对接收到的每条所述振荡信号进行计数,以获得所述多个振荡信号生成模块中,每个振荡信号生成模块所生成的振荡信号在目标计数时长内的信号计数值,所述信号计数值用于表征所述振荡信号生成模块对应的目标关键路径的路径延时。
2.根据权利要求1所述的延时计算电路,其特征在于,所述多个振荡信号生成模块中,每个振荡信号生成模块包括第一选择器、反相器和第一控制器;
所述第一选择器的第一输入端用于接入初始信号值,所述第一选择器的输出端作为所述振荡信号生成模块的第一外接端口,所述第一外接端口用于接入所述振荡信号生成模块所对应目标关键路径的输入端;
所述反相器的输入端作为所述振荡信号生成模块的输出端和第二外接端口,所述第二外接端口用于接入所述振荡信号生成模块所对应目标关键路径的输出端,所述反相器的输出端与所述第一选择器的第二输入端连接;
所述第一控制器与所述第一选择器的控制输入端连接。
3.根据权利要求2所述的延时计算电路,其特征在于,所述振荡信号生成模块还包括第一触发器;
所述第一触发器的时钟控制端接入系统时钟,所述第一触发器的输入端接入启动指示信号,所述第一触发器的输出端与所述第一选择器的第一输入端连接,用于输出所述初始信号值。
4.根据权利要求1所述的延时计算电路,其特征在于,所述选择控制模块包括第二选择器和第二控制器;
所述第二选择器包括多个输入端,所述第二选择器的多个输入端与所述多个振荡信号生成模块的输出端一一对应连接,所述第二选择器的输出端作为所述选择控制模块的输出端;
所述第二控制器与所述第二选择器的控制输入端连接。
5.根据权利要求1所述的延时计算电路,其特征在于,所述行波计数器包括计数控制器和多个第二触发器,所述多个第二触发器依次连接,且所述多个第二触发器中,首级触发器的时钟控制端通过所述计数控制器与所述选择控制模块的输出端连接,所述多个第二触发器中,尾级触发器的输出端作为所述行波计数器的高位输出端。
6.根据权利要求5所述的延时计算电路,其特征在于,针对所述多个第二触发器中任意两个相邻的第二触发器,位置在前的第二触发器的输出端与位置在后的第二触发器的时钟控制端连接,且针对所述多个第二触发器中的每个第二触发器,所述第二触发器的反相输出端与所述第二触发器的输入端连接。
7.根据权利要求5所述的延时计算电路,其特征在于,所述计数控制器包括计数器和与门;
所述计数器的输入端接入系统时钟,所述计数器的输出端与所述与门的第一输入端连接;
所述与门的第二输入端作为所述行波计数器的输入端与所述选择控制模块的输出端连接,所述与门的输出端与所述首级触发器的时钟控制端连接。
8.一种芯片运行频率获取方法,其特征在于,包括:
获取通过延时计算电路获得的多个信号计数值,所述延时计算电路包括行波计数器和多个振荡信号生成模块,所述多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,所述多条目标关键路径为从所述目标芯片包括的多条路径中选取出的多条关键路径,针对所述多个信号计数值中的每个信号计数值,所述信号计数值为所述行波计数器对所述振荡信号生成模块在对应连接的目标关键路径的延时作用下生成的振荡信号进行计数获得的;
针对所述多条目标关键路径中的每条目标关键路径,根据所述目标关键路径对应的信号计数值,获取所述目标关键路径的单项频率值表征参数;
根据所述多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得所述目标芯片的整体运行频率。
9.根据权利要求8所述的芯片运行频率获取方法,其特征在于,所述根据所述目标关键路径对应的信号计数值,获取所述目标关键路径的单项频率值表征参数,包括:
获取所述延时计算电路中行波计数器的计数时间窗口周期长度;
将所述目标关键路径对应的信号计数值和所述计数时间窗口周期长度代入预设的单项频率值表征参数计算公式,并将所述单项频率值表征参数计算公式输出的计算结果作为所述目标关键路径的单项频率值表征参数。
11.根据权利要求8所述的芯片运行频率获取方法,其特征在于,所述根据所述多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得所述目标芯片的整体运行频率,包括:
计算出所述多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差;
根据所述中位数和所述标准差,获得所述目标芯片的整体运行频率。
12.根据权利要求11所述的芯片运行频率获取方法,其特征在于,所述计算出所述多条目标关键路径对应的多个单项频率值表征参数的中位数和标准差之前,所述根据所述多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得所述目标芯片的整体运行频率还包括:
对所述多条目标关键路径中,每条目标关键路径的单项频率值表征参数进行归一化处理。
13.根据权利要求8所述的芯片运行频率获取方法,其特征在于,所述针对所述多条目标关键路径中的每条目标关键路径,根据所述目标关键路径对应的信号计数值,获取所述目标关键路径的单项频率值表征参数之前,所述芯片运行频率获取方法还包括:
从所述目标芯片包括的多条路径中,选取出所述多条目标关键路径。
14.根据权利要求13所述的芯片运行频率获取方法,其特征在于,所述从所述目标芯片包括的多条路径中,选取出所述多条目标关键路径,包括:
获取所述目标芯片包括的多条路径中,每条路径的路径特征;
根据所述多条路径中,每条路径的路径特征,确定出所述多条路径中,不满足预设选取规则的待删除路径,以将所述多条路径中除所述待删除路径之外的其他多条路径作为多条待选路径;
从所述多条待选路径中选取出所述多条目标关键路径。
15.根据权利要求14所述的芯片运行频率获取方法,其特征在于,所述路径特征包括多条特征信息,所述预设选取规则包括多条子选取规则,所述多条特征信息中,每条特征信息对应所述多条子选取规则中的一条子选取规则,所述从所述多条待选路径中选取出所述多条目标关键路径,包括:
获取与所述多条特征信息一一对应的多个预设数量值;
针对所述多条特征信息中的每条特征信息,确定出所述特征信息对应的预设数量值,作为目标数量,并根据所述特征信息对应的子选取规则,从所述多条待选路径中选取出具有最大度量值的目标数量条第一待选特征路径;
若所述多条特征信息均为对应的目标数量条第一待选特征路径中不存在相似的多条第一待选特征路径的第一目标特征信息,则将所述多条特征信息中,每条第一特征信息对应的目标数量条第一待选特征路径共同作为所述多条目标关键路径。
16.根据权利要求15所述的芯片运行频率获取方法,其特征在于,所述针对所述多条特征信息中的每条特征信息,确定出所述特征信息对应的预设数量值,作为目标数量,并根据所述特征信息对应的子选取规则,从所述多条待选路径中选取出具有最大度量值的目标数量条第一待选特征路径之后,所述从所述多条待选路径中选取出所述多条目标关键路径,还包括:
若所述多条特征信息中包括对应的目标数量条第一待选特征路径中存在相似的多条第一待选特征路径的第二目标特征信息,则针对所述多条特征信息中的每条所述第二目标特征信息,在所述第二目标特征信息对应的所述相似的多条第一待选特征路径中保留一条第一待选特征路径,而删除所述相似的多条第一待选特征路径中的其他第一待选特征路径,获得剩余的至少一条第一待选特征路径,并记录删除的第一待选特征路径的数量值,作为待补充数量;
针对所述多条特征信息中的每条第二目标特征信息,根据所述第二目标特征信息对应的子选取规则,从所述多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合所述第二目标特征信息对应的所述剩余的至少一条第一待选特征路径,共同作为所述第二目标特征信息对应的目标数量条第三待选特征路径;
将所述多条特征信息中,每条所述第一目标特征信息对应的目标数量条第一待选特征路径,以及所述多条特征信息中,每条第二目标特征信息对应的目标数量条第三待选特征路径共同作为所述多条目标关键路径。
17.根据权利要求16所述的芯片运行频率获取方法,其特征在于,所述针对所述多条特征信息中的每条第二目标特征信息,根据所述第二目标特征信息对应的子选取规则,从所述多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,并结合所述第二目标特征信息对应的所述剩余的至少一条第一待选特征路径,共同作为所述第二目标特征信息对应的目标数量条第三待选特征路径之前,所述从所述多条待选路径中选取出所述多条目标关键路径,还包括:
针对所述多条特征信息中的任意第二目标特征信息,若无法根据所述第二目标特征信息对应的子选取规则,从所述多条待选路径中选取出具有最大度量值,且未被选取过的待补充数量条第二待选特征路径,则对所述预设选取规则进行更新,获得二次选取规则;
根据所述多条路径中,每条路径的路径特征,确定出所述多条路径中,不满足所述二次选取规则的待删除路径,以将所述多条路径中除所述待删除路径之外的其他多条路径作为多条待选路径,并重新执行所述从所述多条待选路径中选取出所述多条目标关键路径的步骤。
18.根据权利要求13所述的芯片运行频率获取方法,其特征在于,所述从所述目标芯片包括的多条路径中,选取出所述多条目标关键路径之后,所述芯片运行频率获取方法还包括:
针对所述多条目标关键路径中的每条目标关键路径,若所述目标关键路径的路径延时超出预设标准范围,则对所述目标关键路径进行延时补充操作,以使所述目标关键路径的路径延时位于所述预设标准范围内。
19.一种芯片运行频率获取装置,其特征在于,包括:
计数值获取模块,用于获取通过延时计算电路获得的多个信号计数值,所述延时计算电路包括行波计数器和多个振荡信号生成模块,所述多个振荡信号生成模块用于与目标芯片中包括的多条目标关键路径一一对应连接,所述多条目标关键路径为从所述目标芯片包括的多条路径中选取出的多条关键路径,针对所述多个信号计数值中的每个信号计数值,所述信号计数值为所述行波计数器对所述振荡信号生成模块在对应连接的目标关键路径的延时作用下生成的振荡信号进行计数获得的;
参数计算模块,用于针对所述多条目标关键路径中的每条目标关键路径,根据所述目标关键路径对应的信号计数值,获取所述目标关键路径的单项频率值表征参数;
频率计算模块,用于根据所述多条目标关键路径中,每条目标关键路径的单项频率值表征参数,获得所述目标芯片的整体运行频率。
20.一种电子设备,其特征在于,包括控制器和存储器,所述存储器上存储有计算机程序,所述控制器用于执行所述计算机程序,以实现权利要求8~18中任意一项所述的芯片运行频率获取方法。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时,实现权利要求8~18中任意一项所述的芯片运行频率获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011623520.XA CN112667024B (zh) | 2020-12-31 | 2020-12-31 | 延时计算电路、芯片运行频率获取方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011623520.XA CN112667024B (zh) | 2020-12-31 | 2020-12-31 | 延时计算电路、芯片运行频率获取方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667024A true CN112667024A (zh) | 2021-04-16 |
CN112667024B CN112667024B (zh) | 2023-10-20 |
Family
ID=75412267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011623520.XA Active CN112667024B (zh) | 2020-12-31 | 2020-12-31 | 延时计算电路、芯片运行频率获取方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667024B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449477A (zh) * | 2021-06-29 | 2021-09-28 | 海光信息技术股份有限公司 | 数字电路的连接方法、装置、电子设备和存储介质 |
CN114546090A (zh) * | 2022-02-21 | 2022-05-27 | 上海壁仞智能科技有限公司 | 自适应电压频率调整方法和装置 |
WO2024060478A1 (zh) * | 2022-09-21 | 2024-03-28 | 长鑫存储技术有限公司 | 一种数据采样电路、延时检测电路及存储器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050068110A1 (en) * | 2003-09-25 | 2005-03-31 | Keven Hui | Digital programmable delay scheme with automatic calibration |
CN202043085U (zh) * | 2011-04-02 | 2011-11-16 | 东南大学 | 基于振荡环电路的全程可调数字脉宽调制器 |
CN104660240A (zh) * | 2015-01-04 | 2015-05-27 | 北京化工大学 | 超速时延测试时钟生成器 |
CN109766233A (zh) * | 2019-03-08 | 2019-05-17 | 江南大学 | 一种感知处理器nbti效应延时的检测电路及其方法 |
-
2020
- 2020-12-31 CN CN202011623520.XA patent/CN112667024B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050068110A1 (en) * | 2003-09-25 | 2005-03-31 | Keven Hui | Digital programmable delay scheme with automatic calibration |
CN202043085U (zh) * | 2011-04-02 | 2011-11-16 | 东南大学 | 基于振荡环电路的全程可调数字脉宽调制器 |
CN104660240A (zh) * | 2015-01-04 | 2015-05-27 | 北京化工大学 | 超速时延测试时钟生成器 |
CN109766233A (zh) * | 2019-03-08 | 2019-05-17 | 江南大学 | 一种感知处理器nbti效应延时的检测电路及其方法 |
Non-Patent Citations (1)
Title |
---|
王月爱;: "数字集成芯片构成的频率计数器设计", 现代电子技术 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449477A (zh) * | 2021-06-29 | 2021-09-28 | 海光信息技术股份有限公司 | 数字电路的连接方法、装置、电子设备和存储介质 |
CN113449477B (zh) * | 2021-06-29 | 2023-08-04 | 海光信息技术股份有限公司 | 数字电路的连接方法、装置、电子设备和存储介质 |
CN114546090A (zh) * | 2022-02-21 | 2022-05-27 | 上海壁仞智能科技有限公司 | 自适应电压频率调整方法和装置 |
WO2024060478A1 (zh) * | 2022-09-21 | 2024-03-28 | 长鑫存储技术有限公司 | 一种数据采样电路、延时检测电路及存储器 |
CN117784882A (zh) * | 2022-09-21 | 2024-03-29 | 长鑫存储技术有限公司 | 一种数据采样电路、延时检测电路及存储器 |
CN117784882B (zh) * | 2022-09-21 | 2025-03-28 | 长鑫存储技术有限公司 | 一种数据采样电路、延时检测电路及存储器 |
Also Published As
Publication number | Publication date |
---|---|
CN112667024B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6701505B1 (en) | Circuit optimization for minimum path timing violations | |
CN112667024A (zh) | 延时计算电路、芯片运行频率获取方法、装置及电子设备 | |
WO2018136156A1 (en) | Neural network based physical synthesis for circuit designs | |
US8347249B2 (en) | Incremental timing optimization and placement | |
US8407654B2 (en) | Glitch power reduction | |
CN115796116B (zh) | 一种集成电路优化方法、装置、存储介质及电子设备 | |
CN115017846A (zh) | 基于接口的时序修复方法、设备及介质 | |
US20040123249A1 (en) | Apparatus and method for estimating power consumption | |
CN111046624A (zh) | 芯片模块接口时钟结构的构建方法、装置、设备及介质 | |
CN112100950B (zh) | 用于芯片设计的方法、系统、设备以及存储介质 | |
CN117933156B (zh) | 基于门级网表的毛刺功耗优化方法、电子设备和介质 | |
HK40049844A (zh) | 延時計算電路、芯片運行頻率獲取方法、裝置及電子設備 | |
US6378113B1 (en) | Black box transparency in a circuit timing model | |
US11914603B2 (en) | Data layout model generation system | |
JP3992947B2 (ja) | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム | |
US11188696B1 (en) | Method, system, and product for deferred merge based method for graph based analysis pessimism reduction | |
JP4131871B2 (ja) | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム | |
CN117151015B (zh) | 集成电路布局布线方法、装置、集成电路芯片 | |
US20160154056A1 (en) | Circuit division method for test pattern generation and circuit division device for test pattern generation | |
CN115062567B (zh) | 图数据中邻接节点集合的缩合操作方法、装置及电子设备 | |
US20080288905A1 (en) | Method and Apparatus for Congestion Based Physical Synthesis | |
US20250077760A1 (en) | Control set optimization for circuit designs by detection of registers with redundant resets | |
JP4219969B2 (ja) | 論理回路遅延最適化システム、論理回路遅延最適化方法、及びプログラム | |
US20250005249A1 (en) | Smart predictor circuitry insertion based on structural analysis and switching activity | |
US7853907B2 (en) | Over approximation of integrated circuit based clock gating logic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049844 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |