CN114861575B - 元素集合的获取方法、装置、设备及存储介质 - Google Patents

元素集合的获取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114861575B
CN114861575B CN202210791743.XA CN202210791743A CN114861575B CN 114861575 B CN114861575 B CN 114861575B CN 202210791743 A CN202210791743 A CN 202210791743A CN 114861575 B CN114861575 B CN 114861575B
Authority
CN
China
Prior art keywords
command
elements
reference data
option
target
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.)
Active
Application number
CN202210791743.XA
Other languages
English (en)
Other versions
CN114861575A (zh
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.)
Innoda Chengdu Electronic Technology Co ltd
Original Assignee
Innoda Chengdu Electronic Technology 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 Innoda Chengdu Electronic Technology Co ltd filed Critical Innoda Chengdu Electronic Technology Co ltd
Priority to CN202210791743.XA priority Critical patent/CN114861575B/zh
Publication of CN114861575A publication Critical patent/CN114861575A/zh
Application granted granted Critical
Publication of CN114861575B publication Critical patent/CN114861575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种元素集合的获取方法、装置、设备及存储介质,方法包括:每获取到UPF文件中的命令时,获取各个元素的最新的引用数据,引用数据指示引用元素的命令来源;获取并根据命令管辖的所有元素,对各个元素的引用数据进行一次更新;通过一次更新后的引用数据,确定引用数据中存在至少两条命令来源的第一目标元素;获取引用第一目标元素的至少两条命令来源的优先级;剔除一次更新后的引用数据中目标优先级的命令来源,以对各个元素的引用数据进行二次更新;通过二次更新后的引用数据,输出最终元素集合。本申请能够解决相关技术中某些元素被多条命令指向导致电子电路出现运行冲突的技术问题。

Description

元素集合的获取方法、装置、设备及存储介质
技术领域
本申请属于集成电路设计技术领域,尤其涉及一种元素集合的获取方法、装置、设备及存储介质。
背景技术
随着电子电路制造工艺的不断进步,电子电路的设计和运用范围也越来越广,此时作为设计约束之一的“功耗”在设计时被重点关注。
目前,电子电路的功耗设计和校验过程已被IEEE(电气与电子工程师协会,Institute of Electrical and Electronics Engineers)纳入标准IEEE Std 1801-2018™。
在该标准中,UPF(统一电源格式,Unified Power Format)文件可以通过有关命令定义供电的元素,但在实际运用时,可能存在某些元素被多条命令所指向的情况,由此导致电子电路出现运行冲突的问题。
发明内容
本申请实施例提供一种元素集合的获取方法、装置、设备及计算机可读存储介质,提供一种简洁方便的方法来计算命令所包含的元素,以解决相关技术中某些元素被多条命令指向,所导致的电子电路出现运行冲突的技术问题。
一方面,本申请实施例提供一种元素集合的获取方法,方法包括:
每获取到统一电源格式UPF文件中的命令时,获取UPF文件对应的元素记录表,元素记录表中记录有各个元素的最新的引用数据,引用数据指示引用元素的命令来源;
获取命令管辖的所有元素;
根据命令管辖的所有元素,对各个元素的引用数据进行一次更新;
通过一次更新后的引用数据,确定第一目标元素,第一目标元素为引用数据中存在至少两条命令来源的元素;
获取引用第一目标元素的至少两条命令来源的优先级;
剔除一次更新后的引用数据中目标优先级的命令来源,以对各个元素的引用数据进行二次更新,优先级包括目标优先级;
通过二次更新后的引用数据,输出最终元素集合。
可选地,获取命令管辖的所有元素,包括:
获取多叉树,多叉树通过UPF文件对应的硬件描述语言HDL文件构建,多叉树描述有各个元素的连接关系;
根据命令的命令选项,对多叉树进行深度优先遍历,得到命令管辖的所有元素。
可选地,根据命令的命令选项,对多叉树进行深度优先遍历,得到命令管辖的所有元素,包括:
对多叉树进行深度优先遍历,得到命令的每个命令选项对应管辖的元素所分别构成的初始元素集合;
对所有初始元素集合取并集,得到总元素集合,总元素集合中的元素为命令管辖的所有元素。
可选地,对所有初始元素集合取并集,得到总元素集合,包括:
在排除选项对应的初始元素集合与目标元素选项对应的初始元素集合中的元素匹配时,将匹配的元素从目标元素选项对应的初始元素集合中删除,命令选项包括元素选项和排除选项,元素选项包括目标元素选项;
将命令中所有元素选项对应的最新的初始元素集合取并集,得到总元素集合。
可选地,命令管辖元素时具有对应的备选优先级,备选优先级根据命令选项以及多叉树记录的各个元素的原始深度值确定,原始深度值与元素在HDL文件中的层级相关;
获取命令管辖的所有元素之后,获取引用第一目标元素的至少两条命令来源的优先级之前,方法还包括:
在命令管辖第二目标元素时,若命令具有至少两个对应的备选优先级,则命令作为引用第二目标元素的命令来源时的优先级为最高备选优先级,各个元素包括第二目标元素。
可选地,通过一次更新后的引用数据,确定第一目标元素,包括:
通过一次更新后的引用数据,输出有效元素列表;
遍历有效元素列表,获取第一目标元素。
可选地,目标优先级为第一目标元素的命令来源中除最高优先级以外的其他优先级。
另一方面,本申请实施例提供了一种元素集合的获取装置,该装置包括:
第一获取模块,用于每获取到统一电源格式UPF文件中的命令时,获取UPF文件对应的元素记录表,元素记录表中记录有各个元素的最新的引用数据,引用数据指示引用元素的命令来源;
第二获取模块,用于获取命令管辖的所有元素;
更新模块,用于根据命令管辖的所有元素,对各个元素的引用数据进行一次更新;
确定模块,用于通过一次更新后的引用数据,确定第一目标元素,第一目标元素为引用数据中存在至少两条命令来源的元素;
第三获取模块,用于获取引用第一目标元素的至少两条命令来源的优先级;
剔除模块,用于剔除一次更新后的引用数据中目标优先级的命令来源,以对各个元素的引用数据进行二次更新,优先级包括目标优先级;
输出模块,用于通过二次更新后的引用数据,输出最终元素集合。
再一方面,本申请实施例提供了一种元素集合的获取设备,该元素集合的获取设备包括:
处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现上述方面的元素集合的获取方法的步骤。
再一方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述方面的元素集合的获取方法的步骤。
再一方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述方面的元素集合的获取方法的步骤。
本申请实施例的元素集合的获取方法、装置、设备及计算机可读存储介质,通过每获取到统一电源格式UPF文件中的命令时,获取UPF文件对应的元素记录表,元素记录表中记录有各个元素的最新的引用数据,引用数据指示引用元素的命令来源;获取命令管辖的所有元素;根据命令管辖的所有元素,对各个元素的引用数据进行一次更新;通过一次更新后的引用数据,确定第一目标元素,第一目标元素为引用数据中存在至少两条命令来源的元素;获取引用第一目标元素的至少两条命令来源的优先级;剔除一次更新后的引用数据中目标优先级的命令来源,以对各个元素的引用数据进行二次更新,优先级包括目标优先级;通过二次更新后的引用数据,输出最终元素集合。其中,因为设置有引用数据,且是在每获取到命令后,经命令管辖的所有元素对各元素的引用数据进行更新,进而依此找到第一目标元素,根据第一目标元素的优先级进行部分命令来源的剔除,所以由此输出的最终元素集合,能够防止某些元素被多条命令指向的情况,避免了由此导致的电子电路出现运行冲突的技术问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的元素集合的获取方法的流程示意图;
图2是本申请一个实施例提供的元素集合的获取方法涉及的HDL文件的示例性代码;
图3是根据图2中的示例性代码构建的多叉树的一可选结构示意图;
图4是本申请一个实施例提供的元素集合的获取方法涉及的UPF文件中功耗域的元素示意图;
图5是本申请一个实施例提供的元素集合的获取方法的最终元素集合的可选示意图;
图6是本申请另一个实施例提供的元素集合的获取装置的结构示意图;
图7是本申请又一个实施例提供的元素集合的获取设备的结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
数字电子芯片是内含集成电路(Integrated Circuit,IC)的硅片,其体积很小,常常是计算机或其他电子设备的一部分。相应地,在进行数字电子芯片设计时有其相应的设计标准。
在设计标准制定之初,功耗被认为是简单且容易实现的。因此在此种情况下,数字电子芯片中涉及的电子电路的功能、行为等均是通过硬件描述语言(HardwareDescription Language,HDL)来描述的。
示例性地,上述硬件描述语言包括VHDL(Very-High-Speed Integrated CircuitHardware Description Language,超高速集成电路硬件描述语言)和Verilog,其作为通用目标硬件描述语言,逐渐成为工业标准硬件描述语言,它们可以被允许使用抽象的数据类型,在门级、寄存器传输级(Register-Transfer Level,RTL)或行为级进行硬件模型的定义。
但随着手机、笔记本等设备越来越多,数字电子芯片相关的电子电路制造工艺也不断进步,使得电子电路在设计尺寸和功能范围上逐渐增加,由此功耗作为设计约束之一,在现行的电子电路设计中显得越来越重要。
IEEE更是在2018年将功耗列入了标准,即IEEE Std 1801-2018™(低功耗、功耗敏感的电子系统的设计和校验)。
在考虑功耗的电子电路设计中,需要考虑电子电路所在系统的使用,进而指定电子电路中的元素供电,UPF(Unified Power Format,统一电源格式)文件由此诞生。
UPF文件主要用来描述整个数字电子芯片中,不同寄存器传输级结构的供电关系,在UPF文件中可以包括有电源域、电源开关以及电源隔离等等模块。
需要说明的是,在使用UPF文件进行供电定义时,通常采用上述提及的IEEE Std1801-2018™中披露的UPF指定命令涉及的元素的方法。该方法首先根据UPF文件中的UPF命令和命令选项计算出对应的有效元素列表(effective_element_list),在遇到某一元素被多条UPF命令所指向造成运行冲突时,采用做标记的手段,实现UPF的全局计算,以决策得到最终的元素集合(resolved_element_list)。
但这也就意味着,相关技术在实际运用时,是多条UPF命令指向同一些元素导致运行冲突后所做出的决策,这种处理方式增加了计算复杂度,且使用做标记的方式进行元素调整,通用性差,也不够便捷。
综上,目前亟待出现一种全新的元素集合获取方式,能够在保证通用性、便捷性以及降低计算难度的情况下,防止某些元素被多条命令所指向的情况。
为此,本申请的发明人在对集成电路设计的长期研究过程中,发现了一种可以将元素集合获取和决策作为一个完整过程的实现方案,并由此提出一种元素集合的获取方法、装置、设备及计算机可读存储介质,最终能够防止某些元素被多条命令指向所导致的运行冲突的问题,同时保证通用性、便捷性,且能够降低计算难度。
下面首先对本申请实施例所提供的元素集合的获取方法进行介绍。
图1示出了本申请一个实施例提供的元素集合的获取方法的流程示意图。如图1所示,该方法应用于电子设计自动化软件(EDA软件),该方法可以包括以下步骤:
步骤110,每获取到UPF文件中的命令时,获取UPF文件对应的元素记录表,元素记录表中记录有各个元素的最新的引用数据,引用数据指示引用元素的命令来源。
步骤120,获取命令管辖的所有元素。
步骤130,根据命令管辖的所有元素,对各个元素的引用数据进行一次更新。
步骤140,通过一次更新后的引用数据,确定第一目标元素,第一目标元素为引用数据中存在至少两条命令来源的元素。
步骤150,获取引用第一目标元素的至少两条命令来源的优先级。
步骤160,剔除一次更新后的引用数据中目标优先级的命令来源,以对各个元素的引用数据进行二次更新,优先级包括目标优先级。
步骤170,通过二次更新后的引用数据,输出最终元素集合。
本申请实施例通过设置引用数据,且是在每获取到命令后,经命令管辖的所有元素对各元素的引用数据进行更新,进而依此找到第一目标元素,根据第一目标元素的优先级进行部分命令来源的剔除,所以由此输出的最终元素集合,能够防止某些元素被多条命令指向的情况,避免了由此导致的电子电路出现运行冲突的技术问题。
另一方面,本申请实施例以每获取到UPF文件中命令为契机,将各个元素的引用数据的更新获取和冲突情况的剔除作为一个完整过程进行结合处理,无需借用相关标准中的逐一标记手段,整个过程的计算方式是相对统一的,计算方便,降低了计算难度,且通用性、便捷性高。
在一些可选示例中,在步骤110中,可以依次读取UPF文件中的命令,在每次获取到UPF文件中的命令时,启动UPF文件对应的元素记录表的获取操作。
需要说明的是,在UPF文件执行过程中,存在多条命令,除UPF文件的首条命令以外,其余该方法的执行时机均是在执行两条命令之间实现的,由此能够保证每条命令执行完后,始终不存在运行冲突的情况。
上述元素记录表会随着方案的实现即时更新,其中始终记录有各个元素的最新的引用数据。在一可选示例中,引用数据可以用每个元素对应的对象树表示,当然也可以是其它数据结构。
示例性地,可以在读取UPF文件之前,构建多叉树,多叉树上保存着UPF文件涉及的各个元素的位置和连接关系,进而在多叉树的基础上可以建立每个对象(即元素)的对象树。
其中,上述多叉树可以通过HDL文件构建,该HDL文件与UPF文件对应。可以理解的是,上述多叉树具有多个节点,每个节点填充的是一个元素,这些元素即是HDL文件中定义的多个元素。在多叉树中,每个节点(元素)所在的位置与HDL文件中每个元素所在的层级结构相关。
进一步地,可以通过HDL文件中每个元素的层级结构定义多叉树中各元素的原始深度值,该原始深度值能够指代元素起始状态的优先级,后续可以依据该原始深度值实现元素的引用数据的更新和优先级的计算。
在一具体示例中,请一并参看图1至图3,其中图2示出了本申请实施例的HDL文件的示例性代码,该示例性代码通过Verilog语言描述;图3的虚线框示出了根据图2中的代码构建的多叉树的一可选结构示意图。
其中,图2中的Verilog代码由5个模块(Module)组成,这5个模块分别为top,mid1,mid2,bot,mid3。在UPF文件中,这5个模块被称为netlist,即用来描述一个元素或模块的具体实现。而图2中的m1,m2,m3,b1, b2, b3在UPF文件中被称为instance,即用来描述已经连接信号线的一个元素或者单元。本文中UPF文件/HDL文件中的元素即包括netlist和instance,可以根据HDL文件中的元素连接结构形成多叉树。
请一并参看图2和图3,以元素“top”为例进行示例说明,该元素在图2中属于顶层,因此在图3中元素“top”处在多叉树的根节点,该元素“top”的原始深度值即为0。进一步可以在图3所示的多叉树中标识出每个对象的原始深度值。
继续以对象树实现引用数据的表示进行举例说明,该引用数据能够指示引用元素的命令来源,即在UPF文件的命令执行时,某一些元素处在该执行的命令的管辖范围内,需要被命令引用到。但如若同一元素被多条命令指向,则可能存在运行冲突的情况,因此引用数据的设置能够实现运行冲突情况的避免。
以图3为例进行继续说明,其中元素“top”的对象树中存在的引用数据为“extent1”,即此时该引用数据指向该元素“top”,该引用数据所在的命令“PD1”为引用数据指示的命令来源。
在一些可选示例中,在步骤120中,可以针对读取到的命令,获取该命令管辖范围内的所有元素。可选地,具体可以是通过获取前述多叉树,根据命令中包括的命令选项,对多叉树进行深度优先遍历,进而得到命令管辖的所有元素。
需要说明的是,UPF文件中的命令存在命令选项,该命令选项可以指定命令涉及的范围,而多叉树又包括有UPF文件涉及的各个元素及其连接关系,因此通过深度优先遍历技术,能够以命令选项为参考,找到多叉树中的命令管辖范围内的所有元素。
为了得到命令管辖的所有元素,可以依据命令的每个命令选项依次对多叉树进行深度优先遍历,从而得到每个命令选项对应初始元素集合,每个命令选项对应的初始元素集合由该命令选项对应管辖的所有元素构成。再对所有得到的初始元素集合取并集,得到总元素集合,该总元素集合中的元素即为命令管辖的所有元素。
在上述可选示例中,通过获取命令管辖范围内的所有元素,有利于后续引用数据的更新整合,为及时发现同一元素被多条命令指向提供了数据参考。
请参看图4,并请一并参看图1至图3,其中图4示出了本申请可选实施例中涉及的UPF文件中功耗域的元素示意图。其中,以命令“PD1”为例,命令选项均为元素选项,包括元素选项“top”和“top/m2/m3”,通过对图3的多叉树进行深度优先遍历,可以得到元素选项“top”对应的初始元素集合由多叉树中的所有元素组成,而元素选项“top/m2/m3”对应的初始元素集合由“m2、m3、b3”组成。经过对前述两个初始元素集合取并集,可以发现命令“PD1”涉及多叉树中的所有元素。同理,命令“PD2”涉及多叉树中的元素“m2、b3”。
在另一些可选实施例中,命令选项除可以包括元素选项以外,还可以包括排除选项,或者称为排除元素(exclude_elements)选项,在相关技术的标记手段处理时,通常可以用斜线标记为对某些元素的删除。
在本实施例中,在命令选项包括元素选项和排除选项的基础上,通过对多叉树的深度优先遍历,分别得到了各元素选项对应的初始元素集合和各排除选项对应的初始元素集合。
可以使用排除选项对应的初始元素集合进行匹配。一旦发现某个或某些元素选项(即目标元素选项)对应的初始元素集合中存在排除选项对应的初始元素集合中的元素时,指示排除选项对应的初始元素集合与目标元素选项对应的初始元素集合中的元素匹配。
此时,可以将匹配的元素从目标元素选项对应的初始元素集合中删除,以实现对目标元素选项对应的初始元素集合的更新。后续可以对命令中所有元素选项对应的最新的初始元素集合取并集,得到总元素集合。
在这些实施例中,考虑到了命令选项的不同类型,使得本申请最终的元素集合获取方案,相对于相关技术均存在相应的替代手段,通用性强,计算量少,操作便捷。
在一些可选示例中,在步骤130中,可以根据前述得到的命令管辖的所有元素,对各个元素的引用数据进行一次更新。
可以理解的是,获取到新命令,新命令管辖了UPF文件中的部分或全部元素,意味着针对引用各个元素的命令来源存在更新,此时各个元素的引用数据也相应需要更新。该引用数据的更新,具体可以是针对获取到的命令,对各个元素的引用数据中命令来源的新增。
在一些可选示例中,基于前述一次更新后的引用数据,可以确定存在至少两条命令来源的元素(即第一目标元素),该第一目标元素相关的两条命令来源即是后续执行命令时,可能存在运行冲突的位置。
在另一些可选示例中,可以通过一次更新后的引用数据,输出有效元素列表(effective_element_list),进而通过遍历有效元素列表,获取第一目标元素。
仍以前述图1至图4进行示例说明,其中命令“PD1”和“PD2”均指向元素“m2”和“b3”,即表示这两条命令均会对元素“m2”和“b3”存在引用,说明它们可能存在运行冲突的情况,元素“m2”和“b3”即是第一目标元素。后续可以通过获取元素“m2”和“b3”在不同命令中的优先级进行优先级的选择处理。
需要说明的是,由于前述在得到多叉树时,记录了各个元素的原始深度值,该原始深度值能够指代初始情况下各个元素的优先级。因此,可以基于命令的命令选项以及各个元素的原始深度值,进一步确定在可能存在运行冲突的情况下,第一目标元素在各个命令中的优先级,由此实现优先级的选择。
在一可选示例中,在UPF文件对应的元素记录表中,可以记录各个元素在之前被引用时,各命令来源的优先级(深度值)。而在本次获取到命令后,在比较优先级之前,也可以获取到该命令引用各元素时对应的优先级。
需要说明的是,类似于两个命令出现运行冲突的情况,在同一命令的不同命令选项中也可能存在同一元素被多个命令选项引用的情况。
此时,可以通过备选优先级实现选择,即命令管辖元素时具有对应的备选优先级,备选优先级根据命令选项以及多叉树记录的各个元素的原始深度值确定。相应的处理的原则是备选优先级越高,引用的几率越高。
若一个元素在同一命令中只存在一个备选优先级,则该备选优先级即是该命令作为引用该元素的命令来源时的优先级。而在命令管辖某些元素(例如第二目标元素)时,若命令具有至少两个对应的备选优先级,则命令作为引用第二目标元素的命令来源时的优先级为最高备选优先级。
仍以图1至图4为例进行举例说明,在元素“b3”被元素选项“top”和“top/m2/m3”所引用,存在两个备选优先级,分别为“0”和“2”,通过选择最大备选优先级,则在命令“PD1”作为管辖元素“b3”的命令来源时的优先级为2。
在步骤160中,可以理解的是,引用第一目标元素的至少两条命令来源的优先级获取到之后,可以选择其中一个作为保留优先级,而将其他优先级作为目标优先级,以将目标优先级的命令来源剔除,保证程序运行正常,避免元素被多重命令指向的情况。
示例性地,该保留优先级可以是最高优先级,目标优先级可以是第一目标元素的命令来源中除最高优先级以外的其他优先级。
在这些示例中,对第一目标元素的引用数据中命令来源进行了更新,筛除了一部分优先级冲突的命令来源,对各个元素的引用数据实现了二次更新,最终据此输出的元素集合可以作为命令执行时的最终元素集合(resolved_element_list),由此能够保证在执行时不会出现运行冲突的情况。
请参看图5,并请一并参看图1至图4,其中图5示出了筛除了元素“m2”和“b3”的一部分冲突命令来源后得到的最终元素集合。
图6示出了本申请实施例提供的元素集合的获取装置的硬件结构示意图。在图6中,该元素集合的获取装置包括:
第一获取模块610,用于每获取到统一电源格式UPF文件中的命令时,获取UPF文件对应的元素记录表,元素记录表中记录有各个元素的最新的引用数据,引用数据指示引用元素的命令来源;
第二获取模块620,用于获取命令管辖的所有元素;
更新模块630,用于根据命令管辖的所有元素,对各个元素的引用数据进行一次更新;
确定模块640,用于通过一次更新后的引用数据,确定第一目标元素,第一目标元素为引用数据中存在至少两条命令来源的元素;
第三获取模块650,用于获取引用第一目标元素的至少两条命令来源的优先级;
剔除模块660,用于剔除一次更新后的引用数据中目标优先级的命令来源,以对各个元素的引用数据进行二次更新,优先级包括目标优先级;
输出模块670,用于通过二次更新后的引用数据,输出最终元素集合。
可选地,第二获取模块620包括:
获取单元,可以用于获取多叉树,多叉树通过UPF文件对应的硬件描述语言HDL文件构建,多叉树描述有各个元素的连接关系;
遍历单元,可以用于根据命令的命令选项,对多叉树进行深度优先遍历,得到命令管辖的所有元素。
可选地,遍历单元,可以包括:
遍历子单元,用于对多叉树进行深度优先遍历,得到命令的每个命令选项对应管辖的元素所分别构成的初始元素集合;
处理子单元,用于对所有初始元素集合取并集,得到总元素集合,总元素集合中的元素为命令管辖的所有元素。
可选地,处理子单元,具体可以在排除选项对应的初始元素集合与目标元素选项对应的初始元素集合中的元素匹配时,将匹配的元素从目标元素选项对应的初始元素集合中删除,命令选项包括元素选项和排除选项,元素选项包括目标元素选项;将命令中所有元素选项对应的最新的初始元素集合取并集,得到总元素集合。
可选地,命令管辖元素时具有对应的备选优先级,备选优先级根据命令选项以及多叉树记录的各个元素的原始深度值确定,原始深度值与元素在HDL文件中的层级相关。
该装置还可以包括设置模块,该设置模块在第二获取模块610获取命令管辖的所有元素之后,第三获取模块650获取引用第一目标元素的至少两条命令来源的优先级之前,可以用于在命令管辖第二目标元素时,若命令具有至少两个对应的备选优先级,则命令作为引用第二目标元素的命令来源时的优先级为最高备选优先级,各个元素包括第二目标元素。
可选地,确定模块640,具体可以用于通过一次更新后的引用数据,输出有效元素列表;遍历有效元素列表,获取第一目标元素。
可选地,目标优先级为第一目标元素的命令来源中除最高优先级以外的其他优先级。
图7示出了本申请实施例提供的元素集合的获取设备的硬件结构示意图。其中,元素集合的获取设备可以为计算机、服务器和芯片验证专用设备中的至少一种。该元素集合的获取设备包括处理器701以及存储有计算机程序指令的存储器702。
具体地,上述处理器701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit ,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。
存储器702可包括只读存储器(ROM),闪存设备,随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器702包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的上述方面的方法所描述的操作。
处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的任意一种元素集合的获取方法。
在一个示例中,元素集合的获取设备还可包括通信接口703和总线710。其中,如图7所示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。
通信接口703,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线710包括硬件、软件或两者,将元素集合的获取设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该元素集合的获取设备可以基于元素集合的获取方法,从而实现结合图1至图6描述的元素集合的获取方法和装置。
另外,结合上述实施例中的元素集合的获取方法,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种元素集合的获取方法。
另外,本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (7)

1.一种元素集合的获取方法,其特征在于,所述方法包括:
每获取到统一电源格式UPF文件中的命令时,获取所述UPF文件对应的元素记录表,所述元素记录表中记录有各个元素的最新的引用数据,所述引用数据指示引用所述元素的命令来源;
获取所述命令管辖的所有元素,其中,所述获取所述命令管辖的所有元素包括:获取多叉树,所述多叉树通过所述UPF文件对应的硬件描述语言HDL文件构建,所述多叉树描述有各个所述元素的连接关系;根据所述命令的命令选项,对所述多叉树进行深度优先遍历,得到所述命令管辖的所有元素;
其中,所述根据所述命令的命令选项,对所述多叉树进行深度优先遍历,得到所述命令管辖的所有元素,包括:对所述多叉树进行深度优先遍历,得到所述命令的每个命令选项对应管辖的元素所分别构成的初始元素集合;对所有所述初始元素集合取并集,得到总元素集合,所述总元素集合中的元素为所述命令管辖的所有元素;
其中,所述对所有所述初始元素集合取并集,得到总元素集合,包括:在排除选项对应的初始元素集合与目标元素选项对应的初始元素集合中的元素匹配时,将匹配的元素从所述目标元素选项对应的初始元素集合中删除,所述命令选项包括元素选项和所述排除选项,所述元素选项包括所述目标元素选项;将所述命令中所有元素选项对应的最新的初始元素集合取并集,得到所述总元素集合;
根据所述命令管辖的所有元素,对各个元素的所述引用数据进行一次更新;
通过一次更新后的所述引用数据,确定第一目标元素,所述第一目标元素为引用数据中存在至少两条所述命令来源的所述元素;
获取引用所述第一目标元素的至少两条所述命令来源的优先级;
剔除一次更新后的所述引用数据中目标优先级的命令来源,以对各个元素的所述引用数据进行二次更新,所述优先级包括所述目标优先级;
通过二次更新后的所述引用数据,输出最终元素集合。
2.根据权利要求1所述的方法,其特征在于,所述命令管辖元素时具有对应的备选优先级,所述备选优先级根据所述命令选项以及所述多叉树记录的各个元素的原始深度值确定,所述原始深度值与所述元素在所述HDL文件中的层级相关;
所述获取所述命令管辖的所有元素之后,所述获取引用所述第一目标元素的至少两条所述命令来源的优先级之前,所述方法还包括:
在所述命令管辖第二目标元素时,若所述命令具有至少两个对应的备选优先级,则所述命令作为引用所述第二目标元素的命令来源时的优先级为最高备选优先级,各个所述元素包括所述第二目标元素。
3.根据权利要求1所述的方法,其特征在于,所述通过一次更新后的所述引用数据,确定第一目标元素,包括:
通过一次更新后的所述引用数据,输出有效元素列表;
遍历所述有效元素列表,获取所述第一目标元素。
4.根据权利要求1所述的方法,其特征在于,所述目标优先级为所述第一目标元素的命令来源中除最高优先级以外的其他优先级。
5.一种元素集合的获取装置,其特征在于,所述装置包括:
第一获取模块,用于每获取到统一电源格式UPF文件中的命令时,获取所述UPF文件对应的元素记录表,所述元素记录表中记录有各个元素的最新的引用数据,所述引用数据指示引用所述元素的命令来源;
第二获取模块,用于获取所述命令管辖的所有元素,其中第二获取模块包括:获取单元,用于获取多叉树,多叉树通过UPF文件对应的硬件描述语言HDL文件构建,多叉树描述有各个元素的连接关系;遍历单元,用于根据命令的命令选项,对多叉树进行深度优先遍历,得到命令管辖的所有元素;
其中,遍历单元,包括:遍历子单元,用于对多叉树进行深度优先遍历,得到命令的每个命令选项对应管辖的元素所分别构成的初始元素集合;处理子单元,用于对所有初始元素集合取并集,得到总元素集合,总元素集合中的元素为命令管辖的所有元素;
其中,处理子单元,具体用于在排除选项对应的初始元素集合与目标元素选项对应的初始元素集合中的元素匹配时,将匹配的元素从目标元素选项对应的初始元素集合中删除,命令选项包括元素选项和排除选项,元素选项包括目标元素选项;将命令中所有元素选项对应的最新的初始元素集合取并集,得到总元素集合;
更新模块,用于根据所述命令管辖的所有元素,对各个元素的所述引用数据进行一次更新;
确定模块,用于通过一次更新后的所述引用数据,确定第一目标元素,所述第一目标元素为引用数据中存在至少两条所述命令来源的所述元素;
第三获取模块,用于获取引用所述第一目标元素的至少两条所述命令来源的优先级;
剔除模块,用于剔除一次更新后的所述引用数据中目标优先级的命令来源,以对各个元素的所述引用数据进行二次更新,所述优先级包括所述目标优先级;
输出模块,用于通过二次更新后的所述引用数据,输出最终元素集合。
6.一种元素集合的获取设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-4任意一项所述的元素集合的获取方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-4任意一项所述的元素集合的获取方法的步骤。
CN202210791743.XA 2022-07-07 2022-07-07 元素集合的获取方法、装置、设备及存储介质 Active CN114861575B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210791743.XA CN114861575B (zh) 2022-07-07 2022-07-07 元素集合的获取方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210791743.XA CN114861575B (zh) 2022-07-07 2022-07-07 元素集合的获取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114861575A CN114861575A (zh) 2022-08-05
CN114861575B true CN114861575B (zh) 2022-09-30

Family

ID=82626872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210791743.XA Active CN114861575B (zh) 2022-07-07 2022-07-07 元素集合的获取方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114861575B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115563910B (zh) * 2022-11-24 2023-02-03 英诺达(成都)电子科技有限公司 Upf命令的执行方法、装置、设备及存储介质
CN116205171B (zh) * 2023-05-06 2023-07-18 英诺达(成都)电子科技有限公司 电源开关单元的匹配方法、装置、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739629B2 (en) * 2006-04-14 2010-06-15 Cadence Design Systems, Inc. Method and mechanism for implementing electronic designs having power information specifications background
US9298869B2 (en) * 2013-12-20 2016-03-29 Mediatek Inc. Method for showing hierarchical structure for a given power intent described in a power intent description language with a design described in a hardware design description language, and associated apparatus and associated computer program product
CN110149675B (zh) * 2018-02-11 2020-12-04 大唐移动通信设备有限公司 一种upf选择方法和装置
US10990735B2 (en) * 2019-05-25 2021-04-27 Synopsys, Inc. System and method for generating a cluster-based power architecture user interface
WO2021223236A1 (en) * 2020-05-08 2021-11-11 Qualcomm Incorporated Unequal erasure protection for prioritized data transmission
CN113986936A (zh) * 2021-10-19 2022-01-28 北京达佳互联信息技术有限公司 一种数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114861575A (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN114861575B (zh) 元素集合的获取方法、装置、设备及存储介质
US8239795B2 (en) Timing analyzing system for clock delay
US9165102B1 (en) Routing standard cell-based integrated circuits
KR102398596B1 (ko) 집적 회로의 수율 예측 방법 및 집적 회로의 설계 최적화 방법
CN116205171B (zh) 电源开关单元的匹配方法、装置、设备及存储介质
US9569575B2 (en) Digital circuit design method and associated computer program product
CN115563910B (zh) Upf命令的执行方法、装置、设备及存储介质
EP3239865A1 (en) Method for analyzing ir drop and electromigration of ic
US9436795B2 (en) Layout verification method and verification apparatus
US10073944B2 (en) Clock tree synthesis based on computing critical clock latency probabilities
US9542523B2 (en) Method and apparatus for selecting data path elements for cloning
JP2010049386A (ja) 遅延解析装置、遅延解析方法、及びプログラム
CN105868438A (zh) 重新分配单元密度的方法及计算机
US9965581B1 (en) Fanout optimization to facilitate timing improvement in circuit designs
CN116301775A (zh) 基于复位树原型图的代码生成方法、装置、设备及介质
US9454632B1 (en) Context specific spare cell determination during physical design
US11068632B2 (en) Simulation apparatus, description conversion method and simulation method
US20160117179A1 (en) Command replacement for communication at a processor
CN117436401B (zh) 电源状态表的数据处理方法、装置、设备及存储介质
CN117421324B (zh) 电源状态表的合并方法、装置、设备及存储介质
JP2007011477A (ja) 論理回路動作モデル生成装置及び論理回路動作モデル生成方法
Singh et al. Pessimism Reduction in Voltage-Aware DRC using Simulation Results for Functionally Correlated Nets
CN115905550A (zh) 一种标注数据的扩充方法、装置及电子设备
JP2011258092A (ja) 論理記述差分抽出方法、論理設計支援装置および論理記述差分抽出プログラム
US9792399B2 (en) Integrated circuit hierarchical design tool apparatus and method of hierarchically designing an integrated circuit

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
GR01 Patent grant
GR01 Patent grant