CN115906749A - 数据处理方法、装置、终端设备及存储介质 - Google Patents
数据处理方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN115906749A CN115906749A CN202310135623.9A CN202310135623A CN115906749A CN 115906749 A CN115906749 A CN 115906749A CN 202310135623 A CN202310135623 A CN 202310135623A CN 115906749 A CN115906749 A CN 115906749A
- Authority
- CN
- China
- Prior art keywords
- node
- slave
- target node
- target
- slave nodes
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理方法、装置、终端设备及存储介质,涉及计算机技术领域。该数据处理方法包括:根据输入的设计操作,生成执行指令;根据执行指令以及多个从节点的属性信息,从多个从节点中确定至少一个第一目标节点;向至少一个第一目标节点发送执行指令,以使至少一个第一目标节点根据执行指令,以及至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向主节点发送至少一个处理结果;根据至少一个处理结果进行芯片版图设计,以得到目标芯片版图。第一目标节点根据设计物理数据和执行指令进行处理,得到处理结果,继而由主节点根据处理结果进行设计,无需第三方云平台计算参与,使得芯片版图的设计更加安全。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据处理方法、装置、终端设备及存储介质。
背景技术
随着科技的进步与发展,各种各样的软件也越来越多,自动电子设计软件是一个用于进行芯片物理版图设计的软件,自动电子设计软件进行芯片物理版图设计时涉及大量的数据需要管理,对这些数据的管理也成为了研究的热点。
相关技术中,芯片物理版图设计时涉及大量的数据,由于所涉及到的数据量较多,通常采用第三方云计算平台进行计算,以便进行芯片物理版图设计,得到芯片物理版图。
但是,相关技术中,采用第三方云计算平台进行芯片物理版图设计运算,存在数据安全隐患。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种数据处理方法、装置、终端设备及存储介质,以便解决相关技术中所存在的上述技术问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据处理方法,应用于数据处理系统中的主节点,所述数据处理系统还包括:多个从节点,所述主节点与各从节点通信连接,所述各从节点上部署有对应的设计物理数据,所述设计物理数据为芯片设计时数据,所述方法包括:
根据输入的设计操作,获取执行指令;
根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点;
向所述至少一个第一目标节点发送所述执行指令,以使所述至少一个第一目标节点根据所述执行指令,以及所述至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向所述主节点发送所述至少一个处理结果;
根据所述至少一个处理结果进行芯片版图设计,以得到目标芯片版图。
可选的,所述根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点,包括:
根据所述多个从节点之间的层级关系以及所述多个从节点上部署的设计物理数据的属性信息,从所述多个从节点中确定所述至少一个第一目标节点。
可选的,所述方法还包括:
获取针对所述目标芯片版图的修改信息;
根据所述修改信息以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第二目标节点;
向所述至少一个第二目标节点发送所述修改信息,以使所述至少一个第二目标节点根据所述修改信息对所述处理结果进行修改,得到至少一个修改结果,并向所述主节点发送所述至少一个修改结果;
根据所述至少一个修改结果进行所述目标芯片版图进行修改。
可选的,所述根据所述修改信息以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第二目标节点,包括:
根据所述修改信息以及所述多个从节点上部署的设计物理数据的属性信息,确定与所述修改信息直接相关的第二目标节点;
根据所述第二目标节点以及所述多个从节点之间的层级关系,确定与所述修改信息间接相关的第二目标节点。
可选的,所述方法还包括:
响应输入的芯片项目数据查询操作获取芯片项目数据查询指令,并向所述各从节点发送所述芯片项目数据查询指令,以使所述各从节点从所述各从节点上部署的设计物理数据中确定所述各从节点上的芯片项目数据,并向所述主节点发送所述各从节点上的芯片项目数据;
接收所述各从节点上的芯片项目数据;
展示所述各从节点上的芯片项目数据。
可选的,所述各从节点之间通信连接,所述多个从节点上均部署有所述多个从节点的属性信息;所述至少一个第一目标节点用于根据所述执行指令和所述多个从节点的属性信息,确定所述执行指令相关的至少一个第三目标节点,并向所述至少一个第三目标节点发送所述执行指令。
可选的,所述向所述至少一个第一目标节点发送所述执行指令,包括:
对所述执行指令进行序列化处理,得到序列化后的执行指令;
向所述至少一个第一目标节点发送所述序列化后的执行指令;
所述根据所述至少一个处理结果进行芯片版图设计,以得到所述目标芯片版图,包括:
接收所述至少一个第一目标节点发送的序列化后的至少一个处理结果;
对所述序列化后的至少一个处理结果进行反序列化处理,得到所述至少一个处理结果;
根据所述至少一个处理结果进行目标芯片的设计,以得到所述目标芯片版图。
第二方面,本发明实施例还提供了一种数据处理装置,应用于数据处理系统中的主节点,所述数据处理系统还包括:多个从节点,所述主节点与各从节点通信连接,所述各从节点上部署有对应的设计物理数据,所述设计物理数据为芯片设计时数据,所述装置包括:
生成模块,用于根据输入的设计操作,获取执行指令;
确定模块,用于根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点;
发送模块,用于向所述至少一个第一目标节点发送所述执行指令,以使所述至少一个第一目标节点根据所述执行指令,以及所述至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向所述主节点发送所述至少一个处理结果;
设计模块,用于根据所述至少一个处理结果进行芯片版图设计,以得到目标芯片版图。
可选的,所述确定模块,具体用于根据所述多个从节点之间的层级关系以及所述多个从节点上部署的设计物理数据的属性信息,从所述多个从节点中确定所述至少一个第一目标节点。
可选的,所述装置还包括:
获取模块,用于获取针对所述目标芯片版图的修改信息;
第一确定模块,用于根据所述修改信息以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第二目标节点;
第一发送模块,用于向所述至少一个第二目标节点发送所述修改信息,以使所述至少一个第二目标节点根据所述修改信息对所述处理结果进行修改,得到至少一个修改结果,并向所述主节点发送所述至少一个修改结果;
修改模块,用于根据所述至少一个修改结果进行所述目标芯片版图进行修改。
可选的,所述第一确定模块,具体用于根据所述修改信息以及所述多个从节点上部署的设计物理数据的属性信息,确定与所述修改信息直接相关的第二目标节点;根据所述第二目标节点以及所述多个从节点之间的层级关系,确定与所述修改信息间接相关的第二目标节点。
可选的,所述装置还包括:
第二发送模块,用于响应输入的芯片项目数据查询操作获取芯片项目数据查询指令,并向所述各从节点发送所述芯片项目数据查询指令,以使所述各从节点从所述各从节点上部署的设计物理数据中确定所述各从节点上的芯片项目数据,并向所述主节点发送所述各从节点上的芯片项目数据;
接收模块,用于接收所述各从节点上的芯片项目数据;
展示模块,用于展示所述各从节点上的芯片项目数据。
可选的,所述各从节点之间通信连接,所述多个从节点上均部署有所述多个从节点的属性信息;所述至少一个第一目标节点用于根据所述执行指令和所述多个从节点的属性信息,确定所述执行指令相关的至少一个第三目标节点,并向所述至少一个第三目标节点发送所述执行指令。
可选的,所述发送模块,具体用于对所述执行指令进行序列化处理,得到序列化后的执行指令;向所述至少一个第一目标节点发送所述序列化后的执行指令;
所述设计模块,具体用于接收所述至少一个第一目标节点发送的序列化后的至少一个处理结果;对所述序列化后的至少一个处理结果进行反序列化处理,得到所述至少一个处理结果;根据所述至少一个处理结果进行目标芯片的设计,以得到所述目标芯片版图。
第三方面,本发明实施例还提供了一种终端设备,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述第一方面任一项所述的数据处理方法。
本发明的有益效果是:本发明实施例提供一种数据处理方法,该方法包括:根据输入的设计操作,生成执行指令;根据执行指令以及多个从节点的属性信息,从多个从节点中确定至少一个第一目标节点;向至少一个第一目标节点发送执行指令,以使至少一个第一目标节点根据执行指令,以及至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向主节点发送至少一个处理结果;根据至少一个处理结果进行芯片版图设计,以得到目标芯片版图。采用主节点根据执行指令以及多个从节点的属性信息,将执行指令发送至多个从节点中的至少一个第一目标节点,对于大量的设计物理数据在各从节点上分别部署,第一目标节点根据设计物理数据和执行指令进行处理,得到处理结果,继而由主节点根据处理结果进行设计得到目标芯片版图,实现了由各从节点进行芯片设计过程中的处理,无需第三方云平台计算参与,使得芯片版图的设计更加安全。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种数据处理方法的流程示意图一;
图2为本发明实施例提供的一种数据处理方法的流程示意图二;
图3为本发明实施例提供的一种数据处理方法的流程示意图三;
图4为本发明实施例提供的一种数据处理方法的流程示意图四;
图5为本发明实施例提供的一种数据处理方法的流程示意图五;
图6为本发明实施例提供的一种数据处理装置的结构示意图;
图7为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
在本申请实施例提供一种数据处理方法,应用于数据处理系统中的主节点,数据处理系统还包括:多个从节点,主节点与各从节点通信连接,各从节点上部署有对应的设计物理数据,设计物理数据为芯片设计时数据。
其中,不同的从节点上部署的设计物理数据不同,多个从节点上部署的设计物理数据可以满足不同规模的、不同种类的芯片版图的设计。
另外,主节点可以部署在一终端设备上,多个从节点中的部分从节点可以与主节点部署在同一终端设备中,多个从节点中的其余从节点可以部署在其它的至少一个处理设备上,其中,至少一个处理设备可以和终端设备一样设置在本地,或者,至少一个处理设备可以设置在远程,本申请实施例对此不进行具体限制。
以下对本申请实施例提供的一种数据处理方法进行解释说明。
图1为本发明实施例提供的一种数据处理方法的流程示意图一,如图1所示,该方法可以包括:
S101、根据输入的设计操作,获取执行指令。
在本申请实施例中,当用户需要设计目标芯片版图的时,可以在终端设备上输入设计操作,终端设备响应输入的设计操作,获取执行指令。其中,设计操作可以为直接输入执行指令的操作,或者用于生成执行指令的操作。
其中,终端设备上可以安装有芯片设计应用程序,可选的,芯片设计应用程序可以为EDA(Electronicdesign automation,电子设计自动化)应用程序。可选的,本申请实施例提供的方法,可以应用于终端设备上芯片设计应用程序。
需要说明的是,终端设备可以通过主节点提供用户交互界面,用户可以在用户交互界面上进行设计操作。
S102、根据执行指令以及多个从节点的属性信息,从多个从节点中确定至少一个第一目标节点。
其中,主节点上可以预设有多个从节点的属性信息。每个从节点均具有存储和计算的能力。
在一些实施方式中,根据执行指令以及多个从节点的属性信息,从多个从节点中,确定需要针对执行指令进行处理的至少一个第一目标节点。
需要说明的是,多个从节点的属性信息可以表征各从节点的计算能力范围。
S103、向至少一个第一目标节点发送执行指令,以使至少一个第一目标节点根据执行指令,以及至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向主节点发送至少一个处理结果。
在一些实施方式中,终端设备可以向至少一个第一目标节点发送执行指令,至少一个第一目标节点可以接收执行指令,并根据执行指令,以及至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,继而向主节点发送至少一个处理结果,主节点可以接收至少一个处理结果。
需要说明的是,主节点以及多个从节点均可以为针对芯片设计应用程序的节点,一个节点上可以部署有一个进程。可选的,该进程可以为EDA进程,从节点可以采用其上设置的进程,进行处理得到至少一个处理结果。
在本申请实施例中,主节点可以生成执行指令,也可以根据实际需求生成设计脚本,本申请实施例对此不进行具体限制。当然,在生成设计脚本后,也可以向与设计脚本相关的从节点发送设计脚本,以便与设计脚本相关的从节点可以根据设计脚本和设计物理数据进行处理得到至少一个处理结果,并向主节点发送至少一个处理结果。
S104、根据至少一个处理结果进行芯片版图设计,以得到目标芯片版图。
其中,芯片版图设计可以包括:芯片版图绘制以及芯片版图的参数设置等,当然,也可以包括目标芯片版图的其它内容,本申请实施例对此不进行具体限制。
在本申请实施例中,根据至少一个处理结果进行芯片版图设计,可以直接得到完整的目标芯片版图或者部分的目标芯片版图;若得到部分的目标芯片版图,用户可以继续输入其它设计操作,生成其它执行指令,终端设备可以根据其它执行指令执行上述过程,直到得到完整的目标芯片版图。
综上所述,本发明实施例提供一种数据处理方法,该方法包括:根据输入的设计操作,生成执行指令;根据执行指令以及多个从节点的属性信息,从多个从节点中确定至少一个第一目标节点;向至少一个第一目标节点发送执行指令,以使至少一个第一目标节点根据执行指令,以及至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向主节点发送至少一个处理结果;根据至少一个处理结果进行芯片版图设计,以得到目标芯片版图。采用主节点根据执行指令以及多个从节点的属性信息,将执行指令发送至多个从节点中的至少一个第一目标节点,对于大量的设计物理数据在各从节点上分别部署,第一目标节点根据设计物理数据和执行指令进行处理,得到处理结果,继而由主节点根据处理结果进行设计得到目标芯片版图,实现了由各从节点进行芯片设计过程中的处理,无需第三方云平台计算参与,使得芯片版图的设计更加安全。
在实际应用中,进程可以为EDA进程,当一个EDA进程实例被以分布式模式启动后,该EDA进程实例会以主节点(又可称为根节点)的模式被打开,主节点会作为中枢用于部署其他分布式从节点以及作为所有命令操作的入口。通过主节点提供两种方式进行其他分布式EDA进程实例的部署;第一种方式,可以在终端上复制当前的EDA进程实例,复制的EDA进程实例分别部署在多个从节点上。第二种方式,向集群管理服务系统申请分配一个或多个从节点用以部署新的EDA进程实例。其中,可以在建立网络连接后,将网表中的从节点映射到新部署的进程实例中。
可选的,上述S102中根据执行指令以及多个从节点的属性信息,从多个从节点中确定至少一个第一目标节点的过程,可以包括:
根据多个从节点之间的层级关系以及多个从节点上部署的设计物理数据的属性信息,从多个从节点中确定至少一个第一目标节点。
其中,多个从节点的属性信息,可以用于表征多个从节点之间的层级关系以及多个从节点上部署的设计物理数据的属性信息。
需要说明的是,多个从节点之间的层级关系可以称为多个从节点之间的层次关系图,多个从节点上部署的设计物理数据的属性信息可以表征多个从节点上所具有的设计物理数据的类型、摘要或者标识等等,当然,多个从节点的属性信息还可以表征各从节点为本地节点还是远程节点。
在本申请实施例中,将所有的设计物理数据,分别自由地分布到各个分布式从节点,利用不同从节点的计算能力和存储能力,来实现芯片设计过程中的分布式计算。
图2为本发明实施例提供的一种数据处理方法的流程示意图二,如图2所示,该方法还可以包括:
S201、获取针对目标芯片版图的修改信息。
其中,响应输入的修改操作,获取针对目标芯片版图的修改信息。可选的,终端设备可以提供用户交互界面,用户可以在用户界面上输入修改操作。
S202、根据修改信息以及多个从节点的属性信息,从多个从节点中确定至少一个第二目标节点。
在本申请实施例中,根据修改信息以及多个从节点的属性信息,可以从多个从节点中确定出与修改信息相关的第二目标节点,其中,第二目标节点可以为与第一目标节点相同的节点,也可以为与第一目标节点不同的节点,本申请实施例对此不进行具体限制。
S203、向至少一个第一目标节点发送修改信息,以使至少一个第一目标节点根据修改信息对处理结果进行修改,得到至少一个修改结果,并向主节点发送至少一个修改结果。
在一些实施方式中,主节点可以向至少一个第一目标节点发送修改信息,第一目标节点可以接收修改信息,根据修改信息查找对应的处理结果,并对处理结果进行修改,得到至少一个修改结果;或者,第一目标节点可以根据修改信息修改参数信息,并基于修改后的参数信息重新执行,得到修改结果。
相应的,各第一目标节点可以向主节点发送修改结果,主节点可以接收各修改结果。
S204、根据至少一个修改结果进行目标芯片的设计图进行修改。
需要说明的是,可以根据至少一个修改结果对目标芯片版图中的芯片结构进行修改,也可以根据至少一个修改结果对目标芯片版图中的器件配置参数进行修改,还可以对目标芯片版图中的其它内容进行修改,本申请实施例对此不进行具体限制。
可选的,图3为本发明实施例提供的一种数据处理方法的流程示意图三,如图3所示,上述S202中根据修改信息以及多个从节点的属性信息,从多个从节点中确定至少一个第二目标节点的过程,可以包括:
S301、根据修改信息以及多个从节点上部署的设计物理数据的属性信息,确定与修改信息直接相关的第二目标节点。
其中,与修改信息直接相关的第二目标节点是指:修改信息指示需要对第二目标节点上的处理结果进行修改。
在一些实施方式中,根据修改信息以及多个从节点上部署的设计物理数据的属性信息,确定出修改信息所对应需要修改的内容所对应的从节点,继而确定出与修改信息直接相关的第二目标节点。
S302、根据第二目标节点以及多个从节点之间的层级关系,确定与修改信息间接相关的第二目标节点。
在本申请实施例中,多个从节点之间的结构可以呈树型结构或者环形结构;多个从节点之间存在包含关系。示例的,从节点top可以包括:从节点A以及从节点B,从节点B中可以包括从节点C。
在一些实施方式中,根据第二目标节点以及多个从节点之间的层级关系,可以确定出在对一第二目标节点上的处理结果进行修改时,由于一第二目标节点和另一第二目标节点之间存在关联关系,因此,也要对另一第二目标节点上的处理结果进行修改,另一第二目标节点为与修改信息间接相关的第二目标节点。
示例的,Power Stripe(电源板)电源网络的线会跨越多个从节点,这些跨越多个从节点的Power Stripe在各个从节点的边界需要总是保证对齐,既不同从节点之间的数据需要保持一致性,同时考虑到芯片设计通常会采用多轮迭代的方式设计,那么对于设计的实时性和容易修改的需求在采用分布式实例的交互方式后能够提供非常高效地设计流程。
综上所述,针对修改信息,不仅可以确定出与修改信息直接相关的第二目标节点,也可以确定与修改信息间接相关的第二目标节点,实现了修改芯片版图中的一处内容,也自动适应性修改芯片版图中的其它相关内容,实现了目标芯片版图的高效修改,无需人工进行频繁的手动修改。
在本申请实施例中,主节点和各从节点之间的网络通信可以采用RPC(RemoteProcedure Call,远程过程调用)的形式进行通信。
可选的,图4为本发明实施例提供的一种数据处理方法的流程示意图四,如图4所示,该方法还可以包括:
S401、响应输入芯片项目数据查询操作获取芯片项目数据查询指令,并向各从节点发送芯片项目数据查询指令,以使各从节点从各从节点上部署的设计物理数据中确定各从节点上的芯片项目数据,并向主节点发送各从节点上的芯片项目数据。
可选的,芯片项目数据查询操作可以为元器件查询操作,芯片项目数据查询指令可以为元器件查询指令,芯片项目数据可以为元器件属性信息。
在一些实施方式中,主节点响应输入元器件查询操作获取元器件查询指令,并向各个从节点发送元器件查询指令,各个从节点接收元器件查询指令,并根据元器件查询指令从各从节点上部署的设计物理数据中确定各从节点上的元器件属性信息,并向主节点发送各从节点上的元器件属性信息,主节点可以接收各从节点上的元器件属性信息。
当然,若元器件查询操作还指示对部分从节点上的元器件进行查询,则响应输入元器件查询操作获取元器件查询指令,并向各从节点发送元器件查询指令,以使各从节点从各从节点上部署的设计物理数据中确定各从节点上的元器件属性信息,并向主节点发送各从节点上的元器件属性信息。
S402、接收各从节点上的芯片项目数据。
可选的,芯片项目数据可以为元器件属性信息,元器件属性信息可以为元器件实例(cellinstance),元器件属性信息还可以表征元器件所属的从节点、元器件在从节点上的具体位置,以及元器件的名称等。
S403、展示各从节点上的芯片项目数据。
其中,可以在终端设备提供的用户交互界面中,展示各从节点上的芯片项目数据。
示例的,上述元器件查询指令可以为get_cell * -distributed。
可选的,各从节点之间通信连接,多个从节点上均部署有多个从节点的属性信息;至少一个第一目标节点用于根据执行指令和多个从节点的属性信息,确定执行指令相关的至少一个第三目标节点,并向至少一个第三目标节点发送执行指令。
其中,第一目标节点向至少一个第三目标节点发送执行指令,至少一个第三目标节点可以接收执行指令,并根据执行指令和第三目标节点所部署的设计物理数据进行处理,得到处理结果;至少一个第三目标节点可以向主节点发送处理结果,主节点可以接收该处理结果,并根据处理结果进行芯片版图设计,以得到目标芯片版图。
在本申请实施例中,各从节点之间的网络通信可以采用RPC的形式进行通信。主节点和各个从节点之间可以形成一个星型连接的拓扑结构,允许任意从节点通过主节点的路由将命令或数据发送到任意其他的从节点,实现任意节点之间的通信。
可选的,图5为本发明实施例提供的一种数据处理方法的流程示意图五,如图5所示,上述S101中根据输入的设计操作,生成执行指令的过程,可以包括:
S501、对执行指令进行序列化处理,得到序列化后的执行指令。
S502、向至少一个第一目标节点发送序列化后的执行指令。
在一些实施方式中,对执行指令先进行序列化处理,得到序列化后的执行指令,再进行压缩处理,生成压缩后的执行指令;其中,序列化后的执行指令可以为可传输的、数据量更小的二进制格式。
上述S104中根据至少一个处理结果进行芯片版图设计,以得到目标芯片版图的过程,可以包括:
接收至少一个第一目标节点发送的序列化后的至少一个处理结果;对序列化后的至少一个处理结果进行反序列化处理,得到至少一个处理结果;根据至少一个处理结果进行目标芯片的设计,以得到目标芯片版图。
其中,对先进行解压缩处理,继而进行反序列化处理,得到至少一个处理结果,继而根据至少一个处理结果进行目标芯片的设计,以得到目标芯片版图。
在本申请实施例中,对于一些数据量较大或较复杂的数据结构,允许回复对应远程数据的引用。
例如,get_cells(获取元器件的信息)从各个节点得到的数据类型不只是cell(元器件)的标识,而是一个包括从节点信息和cell位置信息的结构DistType(距离类型),DistType能够在分布式系统中唯一确定一个数据对象的位置。因此,支持DistType输入格式的EDA命令能够自动处理远程返回的数据。
另外,如果命令返回是一个集合Collection,命令的返回既包括了本地的数据对象,也包括了远程的数据对象,那么返回的Collection集合内也可以同时包含不同从节点的数据对象。这些返回的对象同时又可以作为下一条指令的输入数据。例如,想要得到返回的各个cell instance的attribute(属性)信息,可以通过输入以下级联命令实现:get_obj_attr [get_cell *-distribute]。
在本申请实施例中,对于远程数据的访问,也可能以非数据引用的方式进行回复。例如,将所有涉及的对象数据都进行序列化回传等。
综上所述,本申请实施例提供一种数据处理方法,采用主节点根据执行指令以及多个从节点的属性信息,将执行指令发送至多个从节点中的至少一个第一目标节点,对于大量的设计物理数据在各从节点上分别部署,第一目标节点根据设计物理数据和执行指令进行处理,得到处理结果,继而由主节点根据处理结果进行设计得到目标芯片版图,实现了由各从节点进行芯片设计过程中的处理,无需第三方云平台计算参与,使得芯片版图的设计更加安全。
而且,不同节点之间可以通过其他IPC(进程间通信)方式连接,可以扩展来扩展单机EDA的内存和计算能力,允许对远端数据进行查询、修改和命令分发等。两个节点对应的进程运行在同一终端设备上,可以通过共享内存或管道等进程间通信的方式进行连接,任意节点都可作为路由的中转节点参与消息传输。基于主节点的项目设计流程能够减少传统设计流程中针对模块和子模块之间数据一致性所需要的步骤,提供更高效的设计流程。
下述对用以执行本申请所提供的数据处理方法的数据处理装置、终端设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述数据处理方法的相关内容,下述不再赘述。
图6为本发明实施例提供的一种数据处理装置的结构示意图,如图6所示,该装置应用于数据处理系统中的主节点,所述数据处理系统还包括:多个从节点,所述主节点与各从节点通信连接,所述各从节点上部署有对应的设计物理数据,所述设计物理数据为芯片设计时数据,所述装置包括:
生成模块601,用于根据输入的设计操作,获取执行指令;
确定模块602,用于根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点;
发送模块603,用于向所述至少一个第一目标节点发送所述执行指令,以使所述至少一个第一目标节点根据所述执行指令,以及所述至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向所述主节点发送所述至少一个处理结果;
设计模块604,用于根据所述至少一个处理结果进行芯片版图设计,以得到目标芯片版图。
可选的,所述确定模块602,具体用于根据所述多个从节点之间的层级关系以及所述多个从节点上部署的设计物理数据的属性信息,从所述多个从节点中确定所述至少一个第一目标节点。
可选的,所述装置还包括:
获取模块,用于获取针对所述目标芯片版图的修改信息;
第一确定模块,用于根据所述修改信息以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第二目标节点;
第一发送模块,用于向所述至少一个第二目标节点发送所述修改信息,以使所述至少一个第二目标节点根据所述修改信息对所述处理结果进行修改,得到至少一个修改结果,并向所述主节点发送所述至少一个修改结果;
修改模块,用于根据所述至少一个修改结果进行所述目标芯片版图进行修改。
可选的,所述第一确定模块,具体用于根据所述修改信息以及所述多个从节点上部署的设计物理数据的属性信息,确定与所述修改信息直接相关的第二目标节点;根据所述第二目标节点以及所述多个从节点之间的层级关系,确定与所述修改信息间接相关的第二目标节点。
可选的,所述装置还包括:
第二发送模块,用于响应输入的芯片项目数据查询操作获取芯片项目数据查询指令,并向所述各从节点发送所述芯片项目数据指令,以使所述各从节点从所述各从节点上部署的设计物理数据中确定所述各从节点上的元器件属性信息,并向所述主节点发送所述各从节点上的芯片项目数据;
接收模块,用于接收所述各从节点上的芯片项目数据;
展示模块,用于展示所述各从节点上的芯片项目数据。
可选的,所述各从节点之间通信连接,所述多个从节点上均部署有所述多个从节点的属性信息;所述至少一个第一目标节点用于根据所述执行指令和所述多个从节点的属性信息,确定所述执行指令相关的至少一个第三目标节点,并向所述至少一个第三目标节点发送所述执行指令。
可选的,所述发送模块603,具体用于对所述执行指令进行序列化处理,得到序列化后的执行指令;向所述至少一个第一目标节点发送所述序列化后的执行指令;所述设计模块604,具体用于接收所述至少一个第一目标节点发送的序列化后的至少一个处理结果;对所述序列化后的至少一个处理结果进行反序列化处理,得到所述至少一个处理结果;根据所述至少一个处理结果进行目标芯片的设计,以得到所述目标芯片版图。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图7为本发明实施例提供的一种终端设备的结构示意图,如图7所示,该终端设备可以包括:处理器701、存储器702。
其中,存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:RandomAccess Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,应用于数据处理系统中的主节点,所述数据处理系统还包括:多个从节点,所述主节点与各从节点通信连接,所述各从节点上部署有对应的设计物理数据,所述设计物理数据为芯片设计时数据,所述方法包括:
根据输入的设计操作,获取执行指令;
根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点;
向所述至少一个第一目标节点发送所述执行指令,以使所述至少一个第一目标节点根据所述执行指令,以及所述至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向所述主节点发送所述至少一个处理结果;
根据所述至少一个处理结果进行芯片版图设计,以得到目标芯片版图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点,包括:
根据所述多个从节点之间的层级关系以及所述多个从节点上部署的设计物理数据的属性信息,从所述多个从节点中确定所述至少一个第一目标节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取针对所述目标芯片版图的修改信息;
根据所述修改信息以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第二目标节点;
向所述至少一个第二目标节点发送所述修改信息,以使所述至少一个第二目标节点根据所述修改信息对所述处理结果进行修改,得到至少一个修改结果,并向所述主节点发送所述至少一个修改结果;
根据所述至少一个修改结果进行所述目标芯片版图进行修改。
4.根据权利要求3所述的方法,其特征在于,所述根据所述修改信息以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第二目标节点,包括:
根据所述修改信息以及所述多个从节点上部署的设计物理数据的属性信息,确定与所述修改信息直接相关的第二目标节点;
根据所述第二目标节点以及所述多个从节点之间的层级关系,确定与所述修改信息间接相关的第二目标节点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应输入的芯片项目数据查询操作获取芯片项目数据查询指令,并向所述各从节点发送所述芯片项目数据查询指令,以使所述各从节点从所述各从节点上部署的设计物理数据中确定所述各从节点上的芯片项目数据,并向所述主节点发送所述各从节点上的芯片项目数据;
接收所述各从节点上的芯片项目数据;
展示所述各从节点上的芯片项目数据。
6.根据权利要求1所述的方法,其特征在于,所述各从节点之间通信连接,所述多个从节点上均部署有所述多个从节点的属性信息;所述至少一个第一目标节点用于根据所述执行指令和所述多个从节点的属性信息,确定所述执行指令相关的至少一个第三目标节点,并向所述至少一个第三目标节点发送所述执行指令。
7.根据权利要求1所述的方法,其特征在于,所述向所述至少一个第一目标节点发送所述执行指令,包括:
对所述执行指令进行序列化处理,得到序列化后的执行指令;
向所述至少一个第一目标节点发送所述序列化后的执行指令;
所述根据所述至少一个处理结果进行芯片版图设计,以得到所述目标芯片版图,包括:
接收所述至少一个第一目标节点发送的序列化后的至少一个处理结果;
对所述序列化后的至少一个处理结果进行反序列化处理,得到所述至少一个处理结果;
根据所述至少一个处理结果进行目标芯片的设计,以得到所述目标芯片版图。
8.一种数据处理装置,其特征在于,应用于数据处理系统中的主节点,所述数据处理系统还包括:多个从节点,所述主节点与各从节点通信连接,所述各从节点上部署有对应的设计物理数据,所述设计物理数据为芯片设计时数据,所述装置包括:
生成模块,用于根据输入的设计操作,获取执行指令;
确定模块,用于根据所述执行指令以及所述多个从节点的属性信息,从所述多个从节点中确定至少一个第一目标节点;
发送模块,用于向所述至少一个第一目标节点发送所述执行指令,以使所述至少一个第一目标节点根据所述执行指令,以及所述至少一个第一目标节点部署的设计物理数据进行处理得到至少一个处理结果,并向所述主节点发送所述至少一个处理结果;
设计模块,用于根据所述至少一个处理结果进行芯片版图设计,以得到目标芯片版图。
9.一种终端设备,其特征在于,包括:存储器和处理器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被读取并执行时,实现上述权利要求1-7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135623.9A CN115906749B (zh) | 2023-02-09 | 2023-02-09 | 数据处理方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310135623.9A CN115906749B (zh) | 2023-02-09 | 2023-02-09 | 数据处理方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115906749A true CN115906749A (zh) | 2023-04-04 |
CN115906749B CN115906749B (zh) | 2023-06-27 |
Family
ID=86479112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310135623.9A Active CN115906749B (zh) | 2023-02-09 | 2023-02-09 | 数据处理方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906749B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188271A1 (en) * | 2002-04-02 | 2003-10-02 | Institute Of High Performance Computing | System and method for integrated circuit design |
CN104035817A (zh) * | 2014-07-08 | 2014-09-10 | 领佰思自动化科技(上海)有限公司 | 大规模集成电路物理实现的分布式并行计算方法及其系统 |
US20180075107A1 (en) * | 2016-09-15 | 2018-03-15 | Oracle International Corporation | Data serialization in a distributed event processing system |
CN110262901A (zh) * | 2019-06-27 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种数据处理方法及数据处理系统 |
CN110515916A (zh) * | 2019-07-26 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种主从分布式文件处理方法、主节点、从节点及系统 |
CN114528139A (zh) * | 2022-02-11 | 2022-05-24 | 京东科技信息技术有限公司 | 数据处理和节点部署的方法、装置、电子设备及介质 |
CN115408468A (zh) * | 2022-08-02 | 2022-11-29 | 支付宝(杭州)信息技术有限公司 | 一种数据同步方法、装置、可读存储介质及电子设备 |
WO2022252862A1 (zh) * | 2021-06-02 | 2022-12-08 | 北京字节跳动网络技术有限公司 | 计算存储分离系统及其数据访问方法、介质和电子设备 |
-
2023
- 2023-02-09 CN CN202310135623.9A patent/CN115906749B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030188271A1 (en) * | 2002-04-02 | 2003-10-02 | Institute Of High Performance Computing | System and method for integrated circuit design |
CN104035817A (zh) * | 2014-07-08 | 2014-09-10 | 领佰思自动化科技(上海)有限公司 | 大规模集成电路物理实现的分布式并行计算方法及其系统 |
US20180075107A1 (en) * | 2016-09-15 | 2018-03-15 | Oracle International Corporation | Data serialization in a distributed event processing system |
CN110262901A (zh) * | 2019-06-27 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种数据处理方法及数据处理系统 |
CN110515916A (zh) * | 2019-07-26 | 2019-11-29 | 济南浪潮数据技术有限公司 | 一种主从分布式文件处理方法、主节点、从节点及系统 |
WO2022252862A1 (zh) * | 2021-06-02 | 2022-12-08 | 北京字节跳动网络技术有限公司 | 计算存储分离系统及其数据访问方法、介质和电子设备 |
CN114528139A (zh) * | 2022-02-11 | 2022-05-24 | 京东科技信息技术有限公司 | 数据处理和节点部署的方法、装置、电子设备及介质 |
CN115408468A (zh) * | 2022-08-02 | 2022-11-29 | 支付宝(杭州)信息技术有限公司 | 一种数据同步方法、装置、可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115906749B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200285528A1 (en) | Application program interface lists | |
CN103345386A (zh) | 一种软件生产方法、装置及运行系统 | |
CN103914307A (zh) | 一种基于可复用库的交互界面快速实现方法 | |
CN111159897A (zh) | 基于系统建模应用的目标优化方法和装置 | |
CN106371869B (zh) | 一种智能变电站间隔层设备的iec61850配置软件实现方法 | |
CN111026014A (zh) | 一种现场设备自动化控制系统和方法 | |
CN112788112A (zh) | 设备健康管理微服务自动发布方法、装置和平台 | |
CN115016784B (zh) | 低代码应用复用方法、应用解析系统、设备及存储介质 | |
CN113094125A (zh) | 业务流程处理方法、装置、服务器及存储介质 | |
CN112882764A (zh) | 组件加载方法、装置、计算机设备及存储介质 | |
CN115391427A (zh) | Impala自动化伸缩的系统、方法、介质及设备 | |
CN107436839B (zh) | 进程负载获取方法、电子终端及计算机可读存储介质 | |
CN111143408B (zh) | 一种基于业务规则的事件处理方法和装置 | |
CN115906749A (zh) | 数据处理方法、装置、终端设备及存储介质 | |
CN104714923A (zh) | 一种实现设备共享的方法和装置 | |
CN116204554A (zh) | 数据处理方法、系统、电子设备和存储介质 | |
CN114860346B (zh) | 建模任务的管理方法和建模任务的运行方法 | |
KR102597248B1 (ko) | 계량데이터 통합관리시스템 | |
CN112162731B (zh) | 数据扩展方法、装置、存储介质及电子装置 | |
CN114282029A (zh) | 一种图元管理方法、装置、电子设备及存储介质 | |
CN113296913A (zh) | 基于单集群的数据处理方法、装置、设备及存储介质 | |
CN103023740A (zh) | 一种信息交互总线系统及电力数据传输方法 | |
CN111984710A (zh) | 数据计算方法、装置、计算机存储介质和电子设备 | |
CN113986305B (zh) | B/s模型升级的检测方法、装置、设备和存储介质 | |
CN114327425A (zh) | 视图生成方法、装置、电子设备和存储介质 |
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 |