CN114880982A - 时钟树生成方法、装置、设备、存储介质和芯片 - Google Patents

时钟树生成方法、装置、设备、存储介质和芯片 Download PDF

Info

Publication number
CN114880982A
CN114880982A CN202210412173.9A CN202210412173A CN114880982A CN 114880982 A CN114880982 A CN 114880982A CN 202210412173 A CN202210412173 A CN 202210412173A CN 114880982 A CN114880982 A CN 114880982A
Authority
CN
China
Prior art keywords
clock tree
network
chip
driving
determining
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.)
Pending
Application number
CN202210412173.9A
Other languages
English (en)
Inventor
李峰
杨超
李昆明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yunbao Intelligent Co ltd
Original Assignee
Shenzhen Yunbao Intelligent Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Yunbao Intelligent Co ltd filed Critical Shenzhen Yunbao Intelligent Co ltd
Priority to CN202210412173.9A priority Critical patent/CN114880982A/zh
Publication of CN114880982A publication Critical patent/CN114880982A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请涉及一种时钟树生成方法、装置、设备、存储介质和芯片。所述方法包括:根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;基于目标网络结构类型,确定主干时钟树的驱动单元;根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和所述子时钟树,得到片上网络的时钟树。其中,通过根据片上网络上的网络节点数量和总线覆盖面积,灵活的选择主干时钟树的目标网络结构类型,并基于选择的目标网络结构类型确定主干时钟树的驱动单元以及生成时钟树,克服了传统时钟树的时钟延迟高的问题,提高了片上网络的性能。

Description

时钟树生成方法、装置、设备、存储介质和芯片
技术领域
本申请涉及芯片设计技术领域,特别是涉及一种时钟树生成方法、装置、设备、存储介质和芯片。
背景技术
随着高性能异构计算和众核处理器并行计算技术的发展,片内互联总线的性能成为限制芯片性能的关键因素。为了高效解决片内不同计算单元之间的数据传输,以及支持高并发的数据一致性维护,片上网络应运而生。
片上网络用于连接功能不同的计算单元和输入输出设备,例如,通用处理器、加速器、高速串并行接口等。通常,各类不同的计算单元采用异步时钟来保证不同单元之间的相对独立状态,而片上网络可以通过时钟树实现各个计算单元的同步时钟。
然而,相关技术中片上网络生成的时钟树存在时钟延迟较大的问题,导致整个片上网络的性能较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高片上网络性能的时钟树生成方法、装置、设备、存储介质和芯片。
第一方面,本申请提供了一种时钟树生成方法。时钟树生成方法包括:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于目标网络结构类型,确定主干时钟树的驱动单元;
根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
在其中一个实施例中,根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型,包括:
在网络节点数量大于第一预设值,或者,总线覆盖面积大于第二预设值的情况下,确定目标网络结构类型为混合网络结构,否则确定目标网络结构类型为H型结构;其中,混合网络结构为H型驱动的网络型时钟结构。
在其中一个实施例中,基于目标网络结构类型,确定主干时钟树的驱动单元,包括:
获取多个候选驱动单元的最佳驱动距离范围;
根据目标网络结构类型确定主干时钟树每一级的驱动距离;
根据驱动距离和各候选驱动单元的最佳驱动距离范围从各候选驱动单元中确定主干时钟树的驱动单元。
在其中一个实施例中,根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树,包括:
根据目标网络结构类型和各连接点的位置插入驱动单元;
将片上网络的时钟源连接至插入的驱动单元,以得到主干时钟树。
在其中一个实施例中,根据目标网络结构类型、驱动单元和各连接点,构建子时钟树,包括:
对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围;
根据各连接点的位置和各连接点对应的驱动范围,确定各连接点对应的时序单元;
通过执行预设的连接程序生成各连接点到各连接点对应的时序单元之间的子时钟树。
在其中一个实施例中,对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围,包括:
获取连接点的位置对应的区域内的功能模块之间的数据交互关系;
根据数据交互关系确定连接点对应的驱动范围。
在其中一个实施例中,时钟树生成方法还包括:
根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
在其中一个实施例中,时钟树生成方法还包括:
获取片上网络的时钟树的性能评估结果;
若性能评估结果不满足标准性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
第二方面,本申请还提供了一种芯片,包括时钟树,时钟树为通过上述的方法生成的。
第三方面,本申请还提供了一种时钟树生成装置。时钟树生成装置包括:
结构类型确定模块,用于根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
驱动单元确定模块,用于基于目标网络结构类型,确定主干时钟树的驱动单元;
连接点确定模块,用于根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
时钟树连接模块,用于根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
第四方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于目标网络结构类型,确定主干时钟树的驱动单元;
根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
第五方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于目标网络结构类型,确定主干时钟树的驱动单元;
根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
上述时钟树生成方法、装置、设备、存储介质和芯片,通过根据片上网络上的网络节点数量和总线覆盖面积,灵活的选择主干时钟树的目标网络结构类型,并基于选择的目标网络结构类型确定主干时钟树的驱动单元以及生成时钟树,克服了传统时钟树的时钟延迟高的问题,提高了片上网络的性能。
附图说明
图1为一个实施例中时钟树生成方法的流程示意图;
图2为一个实施例中片上网络的布局示意图;
图3为一个实施例中目标网络结构类型的结构示意图;
图4为另一个实施例中目标网络结构类型的结构示意图;
图5为一个实施例中主干时钟树的分布示意图;
图6为另一个实施例中主干时钟树的分布示意图;
图7(a)为一个实施例中驱动单元实现主干时钟树的时钟树拓扑结构示意图;
图7(b)为另一个实施例中驱动单元实现主干时钟树的时钟树拓扑结构示意图;
图8为另一个实施例中时钟树生成方法的流程示意图;
图9为一个实施例中时钟树生成装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种时钟树生成方法,本实施例以该方法应用于芯片进行举例说明,可以理解的是,该芯片可以是设计芯片、服务器芯片或片上网络芯片等。本实施例中,该方法包括以下步骤:
步骤102,根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型。
应当理解的是,片上网络通过网络节点实现通信功能,图2为一个实施例中片上网络的布局示意图,一并参考图2,片上网络包括分布式共享缓存、计算核心、路由节点和中继单元等,其中,片上网络的网络节点可以是图2中的路由节点,此时,网络节点数量指片上网络上的路由节点的数量。
目标网络结构类型是需要构建的主干时钟树的结构的类型,例如H型结构、时钟网络结构或者混合网络结构。图3为一个实施例中目标网络结构类型的结构示意图,一并参考图3,该目标网络结构类型为H型结构,其物理形态与字母H相似。图4为另一个实施例中目标网络结构类型的结构示意图,一并参考图4,该目标网络结构类型为由H型结构和时钟网络型结构组成的混合网络结构,是通过H型驱动的网络型时钟树结构。
本实施例可以根据网络节点数量,或者,总线覆盖面积的大小确定采用哪种目标网络结构类型。在一个示例中,可以在网络节点数量大于第一预设值,或者,总线覆盖面积大于第二预设值的情况下,确定目标网络结构类型为混合网络结构,否则确定目标网络结构类型为H型结构。
在具体实现中,第一预设值可以为36,第二预设值可以为300平方毫米,例如,在片上网络的网络节点数量大于36,或者,总线覆盖面积大于300平方毫米的情况下,采用混合网络结构,否则采用H型结构。
应当理解的是,H型结构的时钟树具有时钟偏斜低的特点,而时钟网络型结构的时钟树具有时钟延迟小、消耗面积和绕线资源多、功耗高的特点,对于网络节点数量较多、片上网络上总线覆盖面积较大的情况,主干时钟树采用混合网络结构可以有效降低时钟延迟,对于网络节点数量较少、片上网络上总线覆盖面积较小的情况,主干时钟树仅采用H型结构可以有效降低时钟网络的功耗。
步骤104,基于目标网络结构类型,确定主干时钟树的驱动单元。
其中,驱动单元是驱动时钟树负载的设备,可以是缓冲器或反相器。
应当理解的是,不同类型的目标网络结构的驱动距离并不相同,不同驱动单元的驱动强度和驱动距离也有着较大的区别。例如以某先进工艺为例,H型结构比时钟网络结构的驱动距离更远,驱动强度为D16的驱动单元,其驱动距离大约为332um,驱动强度为D20的驱动单元,其驱动距离大约为365um,驱动强度为D24的驱动单元,其驱动距离大约为402um,驱动强度为D60的驱动单元,其驱动距离大约为1200um。
本实施例中,可以结合目标网络结构类型以及驱动单元的驱动强度,选择驱动强度较为合适的驱动单元作为主干时钟树的驱动单元,例如,当主干时钟树的目标网络结构类型为H型结构时,可以采用驱动强度较强的驱动单元。
步骤106,根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点。
其中,网络节点分布信息指网络节点在片上网络上的分布信息,例如路由节点的位置信息,连接点指主干时钟树与子时钟树相连接的点,是主干时钟树的终点,也称TAP点。
具体地,可以根据片上网络的网络节点分布信息,确定各TAP点的位置,例如可以将TAP点设置在路由节点处,也可以将TAP点设置在路由节点以及连接路由节点的中继单元处,以减小片上网络上交互的功能模块之间的时钟偏差。当然,在具体实现中,为了尽量降低时钟树的延迟,还可以结合片上网络的性能要求,例如工作频率要求,以及网络节点分布信息,共同确定TAP点的位置。
步骤108,根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
应当理解的是,在确定目标网络结构类型、驱动单元和TAP点后,可以根据目标网络结构类型在时钟源和TAP点之间以及TAP点的位置插入驱动单元,通过连线构建主干时钟树,再通过连线构建TAP点到片上网络的时序单元之间的子时钟树,进而得到片上网络的时钟树。
图5和图6分别为两个实施例中主干时钟树的分布示意图,一并参考图5和图6,黑色圆圈为时钟源,线的端点为TAP点的位置,黑色的点为时钟源到TAP点的驱动单元,通过在时钟源和TAP点之间以及TAP点的位置插入驱动单元,将时钟源和驱动单元连接,形成了主干时钟树。
本实施例通过根据片上网络上的网络节点数量和总线覆盖面积,灵活的选择主干时钟树的目标网络结构类型,并基于选择的目标网络结构类型确定主干时钟树的驱动单元以及生成时钟树,克服了传统时钟树的时钟延迟高的问题,提高了片上网络的性能。
在一个实施例中,上述步骤104,基于目标网络结构类型,确定主干时钟树的驱动单元,可以包括:获取多个候选驱动单元的最佳驱动距离范围;根据目标网络结构类型确定主干时钟树每一级的驱动距离;根据驱动距离和各候选驱动单元的最佳驱动距离范围从各候选驱动单元中确定主干时钟树的驱动单元。
其中,候选驱动单元是待选择的驱动单元,通常标准单元库中有多个不同驱动强度的候选驱动单元供选择。
在具体实现中,由于H型结构与时钟网络结构的驱动距离不同,不同目标网络结构类型的主干时钟树,每一级的驱动距离可能并不相同,因此主干时钟树每一级的驱动距离是选择驱动单元时需要考虑的因素之一。
由于不同候选驱动单元的驱动强度和最佳驱动距离范围存在对应关系,例如以某一先进工艺为例,驱动强度为D24的候选驱动单元,其最佳驱动距离大约为402um,驱动强度为D60的候选驱动单元,其最佳驱动距离大约为1200um,本实施例可以根据候选驱动单元的驱动强度确定候选驱动单元的最佳驱动距离范围,再根据主干时钟树每一级的驱动距离以及候选驱动单元的最佳驱动距离范围确定主干时钟树的驱动单元。
以主干时钟树的目标网络结构类型是H型结构为例,通常先进工艺FinFET标准单元库中的候选驱动单元的驱动强度最大为D24或者D32,最佳驱动距离范围在300~500um,而H型主干时钟树需要的驱动距离较远,此时可以选择定制的驱动能力较高的缓冲器作为驱动单元,例如选择驱动能力大于D64的超高驱动能力的缓冲器,其驱动距离可以达到1000um,如此可以有效降低时钟延时,进而降低片上偏差的影响。图7(a)和图7(b)分别为一个实施例中不同驱动单元实现主干时钟树的时钟树拓扑结构示意图,其中图7(a)是采用标准单元库中的驱动单元实现主干时钟树的时钟树拓扑结构,整体时钟延迟约900ps,从时钟源到主要TAP点的延时约810ps,图7(b)是采用定制的大驱动能力的驱动单元实现主干时钟树的时钟树拓扑结构,整体时钟延迟约390ps,从时钟源到主要TAP点的延迟约290ps,通过采用定制的大驱动能力的驱动单元,从时钟源到主要TAP点的延时从810ps降低到390ps。
本实施例通过根据主干时钟树每一级的驱动距离和候选驱动单元的最佳驱动距离范围从各候选驱动单元中选择主干时钟树的驱动单元,可以有效降低主干时钟树的级数,减少驱动单元的数量,大幅减少了主干时钟树的时钟延迟。
在一个实施例中,上述步骤108中,根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树,可以包括:根据目标网络结构类型以及各连接点的位置插入驱动单元;将片上网络的时钟源连接至插入的驱动单元,以得到主干时钟树。
具体地,可以根据目标网络结构类型以及驱动单元的驱动距离确定时钟源至TAP点之间的驱动单元的数量和位置,在时钟源和TAP点之间,以及TAP点的位置插入驱动单元,并对时钟源和驱动单元进行人工布线或利用工具绕线,使时钟源和插入的驱动单元连接,形成主干时钟树。
需要说明的是,对时钟源和驱动单元进行人工布线,可以保障主干时钟树的对称性,进而保障各TAP点较低的延迟以及降低时钟偏差。
本实施例通过根据目标网络结构类型和TAP点的位置插入驱动单元,进而形成主干时钟树,减小了主干时钟树的延时。
在一个实施例中,上述步骤108中,根据目标网络结构类型、驱动单元和各连接点,构建子时钟树,可以包括:对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围;根据各连接点的位置和各连接点对应的驱动范围,确定各连接点对应的时序单元;通过执行预设的连接程序生成各连接点到各连接点对应的时序单元之间的子时钟树。
应当理解的是,片上网络上的各个功能模块中均设置有时序单元,为了实现各功能模块之间存在数据交互,各功能模块的时序单元的时钟偏差要尽量较小。在对片上网络进行区域划分后,可以根据不同区域内功能模块的数据交互关系等因素确定各TAP点对应的驱动范围,使得同一个TAP点驱动范围内的时序单元的时钟偏差较小。
在一个示例中,可以获取连接点的位置对应的区域内的功能模块之间的数据交互关系;根据数据交互关系确定连接点对应的驱动范围。
在另一个示例中,还可以获取连接点的位置对应的区域内的功能模块的逻辑功能,以及模块之间的数据交互关系,根据逻辑功能和数据交互关系确定连接点对应的驱动范围。
在具体实现中,各TAP点到其对应的时序单元之间的子时钟树可以通过预设的连接程序实现,例如通过电子设计自动化(Electronic design automation,EDA)工具自动实现。
本实施例通过根据片上网络的特点确定TAP点的驱动范围,提高了片上网络各功能模块的交互效率,通过执行预设的连接程序生成子时钟树,减少了大量的手动工作,能高效快速的得到更高质量的子时钟树。
在一个实施例中,时钟树生成方法还可以包括以下步骤:
步骤101,根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
应当理解的是,由于H型结构的时钟网络对片上网络的整体布局和负载的对称性要求较高,在构建时钟树之前,可以对片上网络进行对称性布局,使得片上网络上每一个网络节点到相邻网络节点的距离相差不大。
具体地,可以获取片上网络上的各功能模块的物理位置信息和数据流信息,根据物理位置信息和数据流信息将片上网络划分成多个区块,获取每个区块的时钟单元数量和片上网络的整体负载强度,根据时钟单元数量和整体负载强度对区块内的功能模块进行调整,在兼顾物理位置的对称性同时,保障每一个区块的时钟单元数量差别不大。
需要说明的是,预设值可以根据片上网络的实际情况进行设置,在一个示例中,预设值可以是200微米,即控制片上网络上相邻网络节点的距离之间的差异小于200微米,可以避免因片上网络上各功能模块的物理距离太远导致难以获得对称的主干时钟树。
本实施例通过对片上网络进行对称性布局,降低了不同区块之间的时钟偏斜。
在一个实施例中,时钟树生成方法还可以包括以下步骤:
步骤110,获取片上网络的时钟树的性能评估结果。
其中,性能评估结果指时钟树的性能的评估结果,例如对时钟树的时钟延迟、时钟抖动、时钟偏斜等的评估结果。具体地,在生成时钟树后,可以通过静态时序分析等技术手段得到性能评估结果。
步骤112,若性能评估结果不满足预设性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
应当理解的是,在性能评估结果不满足预设性能时,可以对目标网络结构类型、驱动单元和TAP点进行调整,例如,调整时钟树上的驱动单元的驱动强度、驱动距离、数量和位置等,具体地,可以调整TAP点的驱动单元的驱动强度、TAP点的位置、子时钟树的路径上的驱动单元的驱动强度、子时钟树的驱动单元的数量等,以确保整个时钟树的平衡性。
在一个实施例中,如图8所示,时钟树生成方法可以包括以下步骤:
步骤101,根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
步骤102,根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型。
步骤104,基于目标网络结构类型,确定主干时钟树的驱动单元。
步骤106,根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点。
步骤108,根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
步骤110,获取片上网络的时钟树的性能评估结果。
步骤112,若性能评估结果不满足预设性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种芯片,包括时钟树,时钟树为通过上述的时钟树生成方法生成的。
在一个实施例中,如图9所示,提供了一种时钟树生成装置,包括:结构类型确定模块902、驱动单元确定模块904、连接点确定模块906和时钟树连接模块908,其中:
结构类型确定模块902,用于根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
驱动单元确定模块904,用于基于目标网络结构类型,确定主干时钟树的驱动单元;
连接点确定模块906,用于根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
时钟树连接模块908,用于根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
在一个实施例中,结构类型确定模块902,还用于在路由节点数量大于第一预设值,或者,总线覆盖面积大于第二预设值的情况下,确定目标网络结构类型为混合网络结构,否则确定目标网络结构类型为H型结构;其中,混合网络结构为H型驱动的网络型时钟结构。
在一个实施例中,驱动单元确定模块904,还用于获取多个候选驱动单元的最佳驱动距离范围;根据目标网络结构类型确定主干时钟树每一级的驱动距离;根据驱动距离、负载数量和各候选驱动单元的最佳驱动距离从各候选驱动单元中确定主干时钟树的驱动单元。
在一个实施例中,时钟树连接模块908,还用于根据目标网络结构类型和各连接点的位置插入驱动单元;将片上网络的时钟源连接至插入的驱动单元,以得到主干时钟树。
在一个实施例中,时钟树连接模块908,还用于对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围;根据各连接点的位置和各连接点对应的驱动范围,确定各连接点对应的时序单元;通过执行预设的连接程序生成各连接点到各连接点对应的时序单元之间的子时钟树。
在一个实施例中,时钟树连接模块908,还用于获取连接点的位置对应的区域内的功能模块之间的数据交互关系;根据数据交互关系确定连接点对应的驱动范围。
在一个实施例中,时钟树生成装置还包括布局模块(图未示),用于根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
在一个实施例中,时钟树生成装置还包括调整模块(图未示),用于获取片上网络的时钟树的性能评估结果;若性能评估结果不满足预设性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
上述时钟树生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络节点数量、总线覆盖面积、网络节点分布信息等信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种时钟树生成方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于目标网络结构类型,确定主干时钟树的驱动单元;
根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在网络节点数量大于第一预设值,或者,总线覆盖面积大于第二预设值的情况下,确定目标网络结构类型为混合网络结构,否则确定目标网络结构类型为H型结构;其中,混合网络结构为H型驱动的网络型时钟结构。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取多个候选驱动单元的最佳驱动距离范围;根据目标网络结构类型确定主干时钟树每一级的驱动距离;根据驱动距离、负载数量和各候选驱动单元的最佳驱动距离范围从各候选驱动单元中确定主干时钟树的驱动单元。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据目标网络结构类型和各连接点的位置插入驱动单元;将片上网络的时钟源连接至插入的驱动单元,以得到主干时钟树。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围;根据各连接点的位置和各连接点对应的驱动范围,确定各连接点对应的时序单元;通过执行预设的连接程序生成各连接点到各连接点对应的时序单元之间的子时钟树。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取连接点的位置对应的区域内的功能模块之间的数据交互关系;根据数据交互关系确定连接点对应的驱动范围。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取片上网络的时钟树的性能评估结果;若性能评估结果不满足预设性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于目标网络结构类型,确定主干时钟树的驱动单元;
根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在网络节点数量大于第一预设值,或者,总线覆盖面积大于第二预设值的情况下,确定目标网络结构类型为混合网络结构,否则确定目标网络结构类型为H型结构;其中,混合网络结构为H型驱动的网络型时钟结构。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取多个候选驱动单元的最佳驱动距离范围;根据目标网络结构类型确定主干时钟树每一级的驱动距离;根据驱动距离、负载数量和各候选驱动单元的最佳驱动距离范围从各候选驱动单元中确定主干时钟树的驱动单元。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据目标网络结构类型和各连接点的位置插入驱动单元;将片上网络的时钟源连接至插入的驱动单元,以得到主干时钟树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围;根据各连接点的位置和各连接点对应的驱动范围,确定各连接点对应的时序单元;通过执行预设的连接程序生成各连接点到各连接点对应的时序单元之间的子时钟树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取连接点的位置对应的区域内的功能模块之间的数据交互关系;根据数据交互关系确定连接点对应的驱动范围。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取片上网络的时钟树的性能评估结果;若性能评估结果不满足预设性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于目标网络结构类型,确定主干时钟树的驱动单元;
根据片上网络的网络节点分布信息,确定主干时钟树和子时钟树之间的多个连接点;
根据目标网络结构类型、驱动单元和各连接点,构建主干时钟树和子时钟树,得到片上网络的时钟树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在网络节点数量大于第一预设值,或者,总线覆盖面积大于第二预设值的情况下,确定目标网络结构类型为混合网络结构,否则确定目标网络结构类型为H型结构;其中,混合网络结构为H型驱动的网络型时钟结构。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取多个候选驱动单元的最佳驱动距离范围;根据目标网络结构类型确定主干时钟树每一级的驱动距离;根据驱动距离、负载数量和各候选驱动单元的最佳驱动距离范围从各候选驱动单元中确定主干时钟树的驱动单元。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据目标网络结构类型和各连接点的位置插入驱动单元;将片上网络的时钟源连接至插入的驱动单元,以得到主干时钟树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对片上网络进行区域划分,并根据划分结果确定各连接点对应的驱动范围;根据各连接点的位置和各连接点对应的驱动范围,确定各连接点对应的时序单元;通过执行预设的连接程序生成各连接点到各连接点对应的时序单元之间的子时钟树。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取连接点的位置对应的区域内的功能模块之间的数据交互关系;根据数据交互关系确定连接点对应的驱动范围。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据预设的布局规则,对片上网络进行布局;其中,布局后的片上网络上相邻网络节点的距离之间的差异小于预设值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取片上网络的时钟树的性能评估结果;若性能评估结果不满足预设性能,则对时钟树执行调整操作;其中,调整操作包括:更新时钟树上的驱动单元的驱动强度、更新时钟树上的驱动单元的驱动距离、调整时钟树上的驱动单元的数量、调整时钟树上的驱动单元的位置、调整连接点的位置、或者更新目标网络结构类型中的至少一种。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (12)

1.一种时钟树生成方法,其特征在于,所述方法包括:
根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
基于所述目标网络结构类型,确定所述主干时钟树的驱动单元;
根据所述片上网络的网络节点分布信息,确定所述主干时钟树和子时钟树之间的多个连接点;
根据所述目标网络结构类型、所述驱动单元和各所述连接点,构建所述主干时钟树和所述子时钟树,得到所述片上网络的时钟树。
2.根据权利要求1所述的方法,其特征在于,所述根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型,包括:
在所述网络节点数量大于第一预设值,或者,所述总线覆盖面积大于第二预设值的情况下,确定所述目标网络结构类型为混合网络结构,否则确定所述目标网络结构类型为H型结构;其中,所述混合网络结构为H型驱动的网络型时钟结构。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述目标网络结构类型,确定所述主干时钟树的驱动单元,包括:
获取多个候选驱动单元的最佳驱动距离范围;
根据所述目标网络结构类型确定所述主干时钟树每一级的驱动距离;
根据所述驱动距离和各所述候选驱动单元的最佳驱动距离范围从各所述候选驱动单元中确定所述主干时钟树的驱动单元。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述目标网络结构类型、所述驱动单元和各所述连接点,构建所述主干时钟树,包括:
根据所述目标网络结构类型和各所述连接点的位置插入所述驱动单元;
将所述片上网络的时钟源连接至插入的驱动单元,以得到所述主干时钟树。
5.根据权利要求4所述的方法,其特征在于,根据所述目标网络结构类型、所述驱动单元和各所述连接点,构建所述子时钟树,包括:
对所述片上网络进行区域划分,并根据划分结果确定各所述连接点对应的驱动范围;
根据各所述连接点的位置和各所述连接点对应的驱动范围,确定各所述连接点对应的时序单元;
通过执行预设的连接程序生成各所述连接点到各所述连接点对应的时序单元之间的子时钟树。
6.根据权利要求5所述的方法,其特征在于,所述对所述片上网络进行区域划分,并根据划分结果确定各所述连接点对应的驱动范围,包括:
获取所述连接点的位置对应的区域内的功能模块之间的数据交互关系;
根据所述数据交互关系确定所述连接点对应的驱动范围。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据预设的布局规则,对所述片上网络进行布局;其中,布局后的所述片上网络上相邻网络节点的距离之间的差异小于预设值。
8.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述片上网络的时钟树的性能评估结果;
若所述性能评估结果不满足预设性能,则对所述时钟树执行调整操作;其中,所述调整操作包括:更新所述时钟树上的驱动单元的驱动强度、更新所述时钟树上的驱动单元的驱动距离、调整所述时钟树上的驱动单元的数量、调整所述时钟树上的驱动单元的位置、调整所述连接点的位置、或者更新所述目标网络结构类型中的至少一种。
9.一种芯片,其特征在于,包括时钟树,所述时钟树为通过权利要求1至8中任意一项所述的方法生成的。
10.一种时钟树生成装置,其特征在于,所述装置包括:
结构类型确定模块,用于根据片上网络上的网络节点数量和总线覆盖面积,确定主干时钟树的目标网络结构类型;
驱动单元确定模块,用于基于所述目标网络结构类型,确定所述主干时钟树的驱动单元;
连接点确定模块,用于根据所述片上网络的网络节点分布信息,确定所述主干时钟树与子时钟树之间的多个连接点;
时钟树连接模块,用于根据所述目标网络结构类型、所述驱动单元和各所述连接点,构建所述主干时钟树和所述子时钟树,得到所述片上网络的时钟树。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任意一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任意一项所述的方法的步骤。
CN202210412173.9A 2022-04-19 2022-04-19 时钟树生成方法、装置、设备、存储介质和芯片 Pending CN114880982A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210412173.9A CN114880982A (zh) 2022-04-19 2022-04-19 时钟树生成方法、装置、设备、存储介质和芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210412173.9A CN114880982A (zh) 2022-04-19 2022-04-19 时钟树生成方法、装置、设备、存储介质和芯片

Publications (1)

Publication Number Publication Date
CN114880982A true CN114880982A (zh) 2022-08-09

Family

ID=82672158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210412173.9A Pending CN114880982A (zh) 2022-04-19 2022-04-19 时钟树生成方法、装置、设备、存储介质和芯片

Country Status (1)

Country Link
CN (1) CN114880982A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024208159A1 (zh) * 2023-04-06 2024-10-10 北京有竹居网络技术有限公司 用于评估时钟树的方法、装置、设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024208159A1 (zh) * 2023-04-06 2024-10-10 北京有竹居网络技术有限公司 用于评估时钟树的方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN113900810A (zh) 分布式图处理方法、系统及存储介质
CN111767144B (zh) 交易数据的交易路由确定方法、装置、设备及系统
WO2022247201A1 (zh) 一种数据查询方法及装置
WO2023207035A1 (zh) 一种数据同步方法、装置、设备及存储介质
CN109101338A (zh) 一种基于多路芯片扩展的区块链处理架构及其方法
CN114880982A (zh) 时钟树生成方法、装置、设备、存储介质和芯片
CN115392501A (zh) 数据采集方法、装置、电子设备及存储介质
CN103488699A (zh) 基于内存数据网格的数据处理装置和方法
CN106155822A (zh) 一种处理能力评估方法及装置
CN118013177A (zh) 一种旋转因子的生成方法、芯片及存储介质
US20230403232A1 (en) Data Transmission System and Method, and Related Device
CN111695701B (zh) 基于联邦学习实现数据集构建处理的系统及其构建生成方法
CN117370460A (zh) 基于双链存储的区块链存储优化方法及装置
US10289788B1 (en) System and method for suggesting components associated with an electronic design
CN111985181A (zh) 一种节点布局方法、装置、计算机设备及存储介质
CN109038543B (zh) 一种基于cpu+gpu混合异构的状态估计计算方法
CN116932421A (zh) 一种数据存储方法、装置、设备及存储介质
Zhu et al. A new parallel and distributed shortest path algorithm for hierarchically clustered data networks
WO2022052986A1 (zh) 路径搜索的方法、电子设备及存储介质
CN116702689A (zh) 量子芯片版图的构建方法和装置及存储介质
CN114416329A (zh) 计算任务部署方法、装置、电子设备及存储介质
US7519938B1 (en) Strategies for generating an implementation of an electronic design
CN112306675A (zh) 数据处理方法、相关设备以及计算机可读存储介质
JP6961950B2 (ja) 格納方法、格納装置および格納プログラム
Odendahl et al. Optimized buffer allocation in multicore platforms

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