UPF文件的删除方法、装置、设备及存储介质制造方法及图纸

技术编号:38819444 阅读:16 留言:0更新日期:2023-09-15 19:58
本申请公开了一种UPF文件的删除方法、装置、设备及存储介质,方法包括:在获取UPF文件全局删除命令时,从多个UPF类对象中确定起始删除对象;其中,起始删除对象以外的任一UPF类对象为同一UPF类对象直接或间接包含的成员变量;删除起始删除对象的UPF数据;从起始删除对象直接包含的成员变量开始,删除每个成员变量的UPF数据以及每个成员变量直接包含的所有成员变量的UPF数据,直至遍历并删除所有UPF类对象的UPF数据;其中,在遍历过程中对每个UPF类对象进行第一次访问时删除其对应的UPF数据。本申请能够通过遍历访问所有UPF类对象,实现原有UPF数据的全局删除,为重新加载UPF文件提供便利,提升集成电路的设计效率。提升集成电路的设计效率。提升集成电路的设计效率。

【技术实现步骤摘要】
UPF文件的删除方法、装置、设备及存储介质


[0001]本申请属于集成电路设计
,尤其涉及一种UPF文件的删除方法、装置、设备及存储介质。

技术介绍

[0002]电子设计自动化(Electronic design automation,简称EDA)是指利用计算机辅助设计软件,来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等流程的设计方式。
[0003]UPF文件(Unified Power Format,统一低功耗标准)是基于低功耗集成电路设计验证标准(IEEE Std 1801

2018

),由设计人员提供的用以实现低功耗设计的低功耗电源描述文件。
[0004]EDA软件在读入UPF文件后会创建相关联的信息,但在需要更新UPF文件的情况下,通常需要将EDA软件中与UPF文件相关联的数据进行清理后,才能重新读入更新后的UPF文件。然而,上述与UPF文件相关联的数据十分庞大、混乱,无法保障全部有效清除。因此,更新UPF文件通常采用重新启动EDA软件、重新加载UPF文件的方式来实现,而重启EDA软件耗时较长,影响总体设计效率。

技术实现思路

[0005]本申请实施例提供一种UPF文件的删除方法、装置、设备及存储介质,能够改善EDA软件中清理已读入的UPF文件耗时较长的技术问题。
[0006]第一方面,本申请实施例提供一种UPF文件的删除方法,在获取UPF文件全局删除命令时,从多个UPF类对象中确定起始删除对象;其中,起始删除对象以外的任一UPF类对象为同一UPF类对象直接或间接包含的成员变量;删除起始删除对象的UPF数据;从起始删除对象直接包含的成员变量开始,删除每个成员变量的UPF数据以及每个成员变量直接包含的所有成员变量的UPF数据,直至遍历并删除所有UPF类对象的UPF数据;其中,在遍历过程中对每个UPF类对象进行第一次访问时删除其对应的UPF数据。
[0007]在一些实施例中,删除每个成员变量的UPF数据以及每个成员变量直接包含的所有成员变量的UPF数据,直至遍历并删除所有UPF类对象的UPF数据,包括:确定每个第一成员变量直接包含的第二成员变量;在第一成员变量未包含第二成员变量时,通过删除检验函数删除第一成员变量包含的UPF数据;删除检验函数用于在第一成员变量对应的UPF类对象为第一次访问时删除对应的UPF数据;在第一成员变量包含至少一个第二成员变量时,通过删除检验函数删除第一成员变量包含的UPF数据,并将每个第二成员变量作为新的第一成员变量,返回执行步骤:确定每个第一成员变量直接包含的第二成员变量,直至遍历所有成员变量。
[0008]在一些实施例中,通过删除检验函数删除第一成员变量包含的UPF数据,包括:获取第一成员变量的UPF指针;将UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录;在删除记录容器中包含第一成员变量的删除记录时,将UPF指针置空;在删除记录容器中未包含第一成员变量的删除记录时,删除UPF指针。
[0009]在一些实施例中,将UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录,包括:将UPF指针插入删除记录容器;在插入成功时,确定删除记录容器中未包含第一成员变量的删除记录;其中,插入删除记录容器的UPF指针用于作为第一成员变量的删除记录;在插入失败时,确定删除记录容器中包含第一成员变量的删除记录。
[0010]在一些实施例中,将UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录,包括:判断删除记录容器是否为空;在删除记录容器为空的情况下,删除UPF指针,并将UPF指针置为空;在删除记录容器不为空的情况下,将UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录。
[0011]在一些实施例中,在删除记录容器中未包含第一成员变量的删除记录时,删除UPF指针之后,还包括:在第一成员变量具有保存第二成员变量的成员变量容器、第二成员变量直接或间接包含的成员变量均遍历完成时,删除成员变量容器中的元素,并将成员变量容器置空。
[0012]在一些实施例中,UPF文件的删除方法还包括:在获取UPF文件单体删除命令时,确定用户指定的目标UPF类对象;删除目标UPF类对象对应的成员变量容器中的元素,并将目标UPF类对象对应的成员变量容器置空。
[0013]在一些实施例中,在获取UPF文件单体删除命令时,确定用户指定的目标UPF类对象之前,还包括:创建第一析构函数;第一析构函数用于在传入参数为空时,执行步骤:确定用户指定的目标UPF类对象;在传入参数为删除记录容器的指针时,执行步骤:从多个UPF类对象中确定起始删除对象;获取用户触发的删除命令;在删除命令为UPF文件单体删除命令时,调用传入参数为空的第一析构函数;在删除命令为UPF文件全局删除命令时,调用传入参数为删除记录容器的指针的第一析构函数。
[0014]在一些实施例中,传入参数为删除记录容器的指针的第一析构函数用于调用删除检验函数遍历删除所有UPF类对象;传入参数为空的第一析构函数用于调用delete运算符删除目标UPF类对象对应的成员变量容器中的元素。
[0015]在一些实施例中,通过删除检验函数删除第一成员变量包含的UPF数据之前,还包括:确定第一成员变量对应的基类成员变量;通过删除检验函数删除基类成员变量包含的UPF数据;将每个基类成员变量作为新的第一成员变量,返回执行步骤:确定每个第一成员变量直接包含的第二成员变量,直至基类成员变量为所有UPF类对象共同的基类成员变量。
[0016]在一些实施例中,其特征在于,多个UPF类对象中的任一个UPF类对象继承于基类upfBaseT。
[0017]在一些实施例中,其特征在于,起始删除对象对应的UPF类对象为程序的单例。
[0018]在一些实施例中,其特征在于,直至遍历并删除所有UPF类对象的UPF数据之后,还包括:在获取UPF文件重新读入命令时,读入更新后的UPF文件。
[0019]第二方面,本申请实施例提供了一种UPF文件的删除装置,包括:获取模块,用于在获取UPF文件全局删除命令时,从多个UPF类对象中确定起始删除对象;其中,起始删除对象以外的任一UPF类对象为起始删除对象直接或间接包含的成员变量;起始模块,用于删除起始删除对象的UPF数据;遍历模块,用于从起始删除对象直接包含的成员变量开始,删除每个成员变量的UPF数据以及每个成员变量直接包含的所有成员变量的UPF数据,直至遍历并删除所有UPF类对象的UPF数据;其中,在遍历过程中对每个UPF类对象进行第一次访问时删除其对应的UPF数据。
[0020]第三方面,本申请实施例提供了一种UPF文件的删除设备,该UPF文件的删除设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现上述第一方面的UPF文件的删除方法的步骤。...

【技术保护点】

【技术特征摘要】
1.一种UPF文件的删除方法,其特征在于,包括:在获取UPF文件全局删除命令时,从多个UPF类对象中确定起始删除对象;其中,所述起始删除对象以外的任一UPF类对象为同一UPF类对象直接或间接包含的成员变量;删除所述起始删除对象的UPF数据;从所述起始删除对象直接包含的成员变量开始,删除每个成员变量的UPF数据以及每个成员变量直接包含的所有成员变量的UPF数据,直至遍历并删除所有UPF类对象的UPF数据;其中,在遍历过程中对每个UPF类对象进行第一次访问时删除其对应的UPF数据。2.根据权利要求1所述的UPF文件的删除方法,其特征在于,所述删除每个成员变量的UPF数据以及每个成员变量直接包含的所有成员变量的UPF数据,直至遍历并删除所有UPF类对象的UPF数据,包括:确定每个第一成员变量直接包含的第二成员变量;在第一成员变量未包含第二成员变量时,通过删除检验函数删除第一成员变量包含的UPF数据;所述删除检验函数用于在所述第一成员变量对应的UPF类对象为第一次访问时删除对应的UPF数据;在第一成员变量包含至少一个第二成员变量时,通过删除检验函数删除第一成员变量包含的UPF数据,并将每个第二成员变量作为新的第一成员变量,返回执行步骤:确定每个第一成员变量直接包含的第二成员变量,直至遍历所有成员变量。3.根据权利要求2所述的UPF文件的删除方法,其特征在于,所述通过删除检验函数删除第一成员变量包含的UPF数据,包括:获取第一成员变量的UPF指针;将所述UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录;在删除记录容器中包含第一成员变量的删除记录时,将所述UPF指针置空;在删除记录容器中未包含第一成员变量的删除记录时,删除所述UPF指针。4.根据权利要求3所述的UPF文件的删除方法,其特征在于,所述将所述UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录,包括:将所述UPF指针插入所述删除记录容器;在插入成功时,确定所述删除记录容器中未包含第一成员变量的删除记录;其中,插入所述删除记录容器的UPF指针用于作为第一成员变量的删除记录;在插入失败时,确定所述删除记录容器中包含第一成员变量的删除记录。5.根据权利要求4所述的UPF文件的删除方法,其特征在于,所述将所述UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录,包括:判断所述删除记录容器是否为空;在所述删除记录容器为空的情况下,删除所述UPF指针,并将所述UPF指针置为空;在所述删除记录容器不为空的情况下,将所述UPF指针与删除记录容器中存储的指针进行比较,得到第一成员变量的删除记录。6.根据权利要求3所述的UPF文件的删除方法,其特征在于,所述在删除记录容器中未包含第一成员变量的删除记录时,删除所述UPF指针之后,还包括:在所述第一成员变量具有保存第二成员变量的成员变量容器、所述第二成员变量直接
或间接包含的成员变量均遍历完成时,删除所述成员变量容器中的元素,并将所述成员变量容器置空。7.根据权利要求3所述的UPF文件的删除方法,其特征在于,所述UPF文件的删除方法还包括:在获取UPF文件单体删除命令时,确定用户指定的目标UPF类对象;删除所述目标UPF类对象对...

【专利技术属性】
技术研发人员:王仑
申请(专利权)人:英诺达成都电子科技有限公司
类型:发明
国别省市:

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

1