CN115469909B - 指令更新方法、软件平台的工作方法、装置、设备和介质 - Google Patents
指令更新方法、软件平台的工作方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN115469909B CN115469909B CN202211417470.9A CN202211417470A CN115469909B CN 115469909 B CN115469909 B CN 115469909B CN 202211417470 A CN202211417470 A CN 202211417470A CN 115469909 B CN115469909 B CN 115469909B
- Authority
- CN
- China
- Prior art keywords
- software platform
- eda software
- custom
- instruction
- algorithm
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000013461 design Methods 0.000 claims abstract description 58
- 230000006870 function Effects 0.000 claims description 66
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 description 15
- 238000011161 development Methods 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种指令更新方法、软件平台的工作方法、装置、设备和介质,所述方法包括:获取所述EDA(Electronic design automation,电子设计自动化)软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;基于开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;根据所述自定义指令更新所述EDA软件平台的指令列表。
Description
技术领域
本申请涉及信息处理领域,具体而言,涉及指令更新方法、软件平台的工作方法、装置、设备和介质。
背景技术
在电子设计自动化出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时所谓集成电路的复杂程度远不及现在。但是随着工业的发展,手工完成的集成电路逐渐达不到社会生产的需求,因此,电子设计自动化出现了。
电子设计自动化(Electronic design automation,EDA)是利用计算机辅助设计软件(也就是,EDA软件平台)来完成大规模的集成电路芯片的功能设计等。现阶段,EDA软件平台的功能是固定的,但是随着人们对电路设计的复杂度越来越高,某些开发人员根据实践累计的经验总结出的特定场景或步骤优化的算法,这些算法区别于EDA软件平台现有的功能,导致这些算法无法直接在现有的EDA软件平台中进行验证,只能采用第三方软件从EDA软件平台导出某些技术文件,然后利用这些技术文件集合自己的算法得出算法结果,然后再将算法结果输入到EDA软件平台进行验证,导致验证操作比较繁琐。
发明内容
有鉴于此,本申请的目的在于提供一种指令更新方法及工作方法,用于解决现有技术中用户利用EDA软件平台对自己开发的算法进行验证比较的繁琐的问题。
第一方面,本申请实施例提供了一种指令更新方法,应用于EDA(Electronicdesign automation,电子设计自动化)软件平台,包括:
获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
根据所述自定义指令更新所述EDA软件平台的指令列表。
可选的,在获取所述EDA软件平台能够识别的自定义算法之后,以及在基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令之前,所述方法还包括:
验证所述自定义算法的加载权限;
若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法不具有加载权限,则生成加载失败提示信息。
可选的,若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令,包括:
若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息。
可选的,所述方法还包括:
响应针对所述指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;
基于所述第一展示对象和所述第二展示对象,生成目标电路。
可选的,所述方法还包括:
响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
可选的,所述方法还包括:
响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
第二方面,本申请实施例提供了一种软件平台的工作方法,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
响应针对所述EDA软件平台的指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;所述自定义指令是基于所述EDA软件平台能够识别的自定义算法生成;
基于所述第一展示对象和所述第二展示对象,生成目标电路。
可选的,所述方法还包括:
响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
可选的,所述方法还包括:
响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
可选的,所述方法还包括:
获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
根据所述自定义指令更新所述EDA软件平台的指令列表。
可选的,在获取所述EDA软件平台能够识别的自定义算法之后,以及在基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令之前,所述方法还包括:
验证所述自定义算法的加载权限;
若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法不具有加载权限,则生成加载失败提示信息。
可选的,若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令,包括:
若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息。
第三方面,本申请实施例提供了一种EDA软件平台的指令更新装置,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
获取模块,用于获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
加载模块,用于基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
更新模块,用于根据所述自定义指令更新所述EDA软件平台的指令列表。
第四方面,本申请实施例提供了一种EDA软件平台的工作装置,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
第一响应模块,用于响应针对所述EDA软件平台的指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
第二响应模块,用于响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;所述自定义指令是基于所述EDA软件平台能够识别的自定义算法生成;
生成模块,用于基于所述第一展示对象和所述第二展示对象,生成目标电路。
第五方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法的步骤。
本申请实施例提供的指令更新方法,首先,获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;其次,基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;最后,根据所述自定义指令更新所述EDA软件平台的指令列表。
在某些实施例中,将EDA软件平台的开放接口提供给用户,使得用户能够根据开放接口开发能够执行特定功能的自定义算法,且用户自己根据开放接口自己开发的自定义算法能够加载到EDA软件平台中,相当于对EDA软件平台实现二次开发,进而使得用户在使用EDA软件平台时,可以通过自定义算法对应的自定义指令调用该自定义算法,从而在EDA软件平台中实现自己想要的功能,提高了用户利用EDA软件平台对自己开发的算法进行验证的验证效率,也拓宽了EDA软件平台的使用场景。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种指令更新方法的流程示意图;
图2为本申请实施例提供的第一种EDA软件平台的界面示意图;
图3为本申请实施例提供的第二种EDA软件平台的界面示意图;
图4为本申请实施例提供的第三种EDA软件平台的界面示意图;
图5为本申请实施例提供的一种软件平台的工作方法的流程示意图;
图6为本申请实施例提供的一种指令更新装置的结构示意图;
图7为本申请实施例提供的一种软件平台的工作装置的结构示意图;
图8为本申请实施例提供的一种计算机设备的结构示意图;
图9为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
现阶段,市场上的各个EDA软件平台之间所具有的基本功能几乎是一样的,EDA软件平台的功能是固定的,但是随着人们对电路设计的复杂度越来越高,某些开发人员根据实践累计的经验总结出的特定场景或步骤优化的算法,这些算法区别于EDA软件平台现有的功能,导致这些算法无法直接在现有的EDA软件平台中进行验证,只能采用第三方软件从EDA软件平台导出某些技术文件,然后利用这些技术文件集合自己的算法得出算法结果,然后再将算法结果输入到EDA软件平台进行验证,导致验证操作比较繁琐。
本申请实施例提供了一种指令更新方法,如图1所示,应用于EDA(Electronicdesign automation,电子设计自动化)软件平台,包括以下步骤:
S101,获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
S102,基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
S103,根据所述自定义指令更新所述EDA软件平台的指令列表。
在上述步骤S101中,EDA软件平台用于利用计算机实现对大规模集成电路芯片的设计。自定义算法可以是使用EDA软件平台的用户自己编辑的用于执行某种特定功能或应用于特定场景的程序代码,EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的,也就是,EDA软件平台能够识别的自定义算法是使用EDA软件平台的用户基于EDA软件平台的开放接口编辑的程序代码,其中,开放接口为应用程序编程接口,基于开放接口可以实现对EDA软件平台的再次开发。用户开发的自定义算法一般是存储在动态库中,动态库与EDA软件平台连接,从而步骤S101可以直接从动态库中获取自定义算法。
开放接口是由EDA软件平台的源代码生成的,具体的应用程序接口的生成过程包括如下步骤:
遍历所述EDA软件平台的源代码,确定所述EDA软件平台的源代码中的函数接口描述信息和用户接口描述信息;
根据所述函数接口描述信息和所述用户接口描述信息,生成开放接口。
函数接口描述信息表征一个程序的抽象方法,函数接口可以是在对EDA软件平台进行开发使用的,函数接口描述信息包括以下信息:导出后的函数接口名、函数接口的定义和函数接口的命名空间。用户接口描述信息表征的是EDA软件平台与用户之间进行交互和信息交换的媒介,用户接口可以是用户在使用EDA软件平台进行电路设计时所使用的,用户接口描述信息包括以下信息:导出后的用户接口名、用户接口的名称和参数列表。其中,导出后的用户接口名为该用户接口对应函数在开发接口中的名称,用户接口的名称是用户在使用EDA软件平台进行电路设计时所使用的该用户接口对应函数的名称,参数列表为该用户接口对应函数所需要输入的参数信息。
具体的,可以使用正则表达式从EDA软件平台的源代码中解析出函数接口描述信息和用户接口描述信息。
对于EDA软件平台来说,EDA软件平台中的源代码是复杂且需要保密的,如果用户需要EDA软件平台进行再次开发的话,是不会将EDA软件平台中的源代码提供给用户的,所以还需要对函数接口描述信息和用户接口描述信息进行进一步的处理得到提供给用户的开放接口,也就是,根据所述函数接口描述信息和所述用户接口描述信息,生成开放接口,包括:
根据所述函数接口描述信息和所述用户接口描述信息,基于内部接口模板生成内部接口;
根据所述函数接口描述信息、所述用户接口描述信息和所述内部接口,基于开放接口模板生成开放接口。
其中,内部接口模板和开放接口模板用于替换程序(这里的程序指的是函数接口所表征的程序和用户接口所表征的程序)中的参数的固定格式的代码。外部接口的函数名会出现在编译完成的可执行程序的符号表里,内部接口的函数名不会出现在编译完成的可执行程序的符号表里。出现在可执行程序的符号表中的外部接口的函数名可以被加载进EDA软件平台的自定义算法进行调用。
在上述步骤S102中,自定义指令用于在EDA软件平台中调用该自定义指令对应的自定义算法。
具体的,在获取到自定义算法后,需要将自定义算法加载到EDA软件平台中,为该自定义算法生成相匹配的自定义指令,该自定义指令用于将该自定义算法和其他算法进行区分的名称。自定义算法可以是EDA软件平台自动生成的,也可以是用户自己命名的。
基于上述步骤S101的内容可知,用户可以基于开放接口开发的自定义算法,开放接口中公开了EDA软件平台中有哪些接口可以使用,以及这些接口使用方法,因此,用户所开发的自定义算法相当于只是调用了对应的开放接口,而开放接口所对应的源代码是不会再自定义算法中体现的,因此,为了让自定义算法能够加载进EDA软件平台,会将开放接口对应的程序接口填充进了自定义算法中。
本申请中所提到的内部接口和开放接口是基于EDA软件平台的源代码生成的,软件平台的源代码非常庞大,遍历软件平台的源代码非常耗时,所以内部接口、外部接口和头文件可以是在执行本申请的指令更新方法之前,在EDA软件平台被开发完成时基于EDA软件平台的源代码生成的。也就是,内部接口和外部接口只需在EDA软件平台被开发完成时生成一次即可,无需在每次执行本申请所提供的指令更新方法时都生成一次,节约了计算资源。
在上述步骤S103中,指令列表用于存储在EDA软件平台中用户所能使用的指令。将自定义指令更新到EDA软件平台的指令列表,这样用户在使用EDA软件平台时,就可以知道有哪些指令可以使用。
在本申请所提供的实施例中,在上述三个步骤中,将EDA软件平台的开放接口提供给用户,使得用户能够根据开放接口开发出能够执行特定功能的自定义算法,且用户自己根据头文件自己开发的自定义算法能够加载到EDA软件平台中,相当于对EDA软件平台实现二次开发,进而使得用户在使用EDA软件平台时,可以通过自定义算法对应的自定义指令调用该自定义算法,从而在EDA软件平台中实现自己想要的功能,提高了用户利用EDA软件平台对自己开发的算法进行验证的验证效率,也拓宽了EDA软件平台的使用场景。
并不是所有的用户都可以实现对EDA软件平台的进一步开发,只有具有特定权限的用户才能将自己的自定义算法加载到EDA软件平台中,也就是,在步骤S101之后,以及在步骤S102之前,所述方法还包括:
步骤104,验证所述自定义算法的加载权限;若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法不具有加载权限,则生成加载失败提示信息。
当EDA软件平台的开发商将EDA软件平台发送给用户时,会给接收EDA软件平台的用户分配对应的加载权限,以保证EDA软件平台不会没有加载权限的用户对EDA软件平台进行二次开发。只有有加载权限的用户所编辑的自定义算法才能加载到EDA软件平台中,而没有加载权限的用户所编辑的自定义算法是不被允许加载到EDA软件平台中的。
在上述步骤104中,自定义算法中会携带有加载权限信息。加载失败提示信息用于提示用户自定义算法无法加载到EDA软件平台中。
具体实施中,EDA软件平台会对获取到的自定义算法的加载权限信息进行验证,如果自定义算法的加载权限信息中具有加载权限,则就会执行步骤S102,如果自定义算法的加载权限信息中不具有加载权限,则会生成加载失败提示信息,以提醒用户获取对EDA软件平台的加载权限。
本申请中EDA软件平台对自定义算法的加载权限的验证可以采用license验证算法,也可以采用其他的验证算法,这里不再具体限定。
自定义算法是用户基于EDA软件平台的开放接口编辑而成的,很可能会出现用户编辑失误导致自定义算法的格式与EDA软件平台的格式要求不匹配的情况,为了避免将与EDA软件平台的格式要求不匹配的自定义算法加载到EDA软件平台中,用户却无法使用的情况,本申请在加载自定义算法时,还会对自定义算法的格式进行检测,也就是,若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令,包括:
步骤1041,若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配的提示信息。
在上述步骤1041中,自定义算法的算法格式指的是自定义算法中使用开放接口的使用格式,EDA软件平台的格式要求指的是使用开放接口的标准格式。格式不匹配提示信息用于提示用户自定义算法中使用开放接口的使用格式与EDA软件平台中开放接口的标准格式不匹配。
具体的,在确定自定义算法具有加载权限后,就会检测自定义算法中使用开放接口时的使用格式是否与EDA软件平台中开放接口被使用时的标准格式是否一致,如果自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤S102,如果自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息,以提醒用户对自定义算法进行重新调整。
在将自定义算法加载到EDA软件平台后,用户可以通过对该自定义算法的自定义指令的操作调用该自定义算法,也就是,本申请所提供的方法还包括:
步骤105,响应针对所述指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
步骤106,响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;
步骤107,基于所述第一展示对象和所述第二展示对象,生成目标电路。
在上述步骤105中,所述基础指令为所述EDA软件平台所携带的原有指令,是EDA软件平台发送给用户之前就携带的指令,该指令可以是EDA软件平台的开发人员编辑得到的,该基础指令是使用EDA软件平台的用户无法进行更改的。第一操作是针对基础指令的选择操作,第一操作可以是触控操作,也可以是输入操作。当EDA软件平台中的展示界面中显示有指令列表中的指令对应的指令控件(如图2所示,图2中示出了EDA软件平台中的多个指令控件,多个指令控件分别表征了如下指令:指令1、指令2、指令3、指令4、指令5、指令6、指令7、指令8、指令9)时,则第一操作可以是针对指令控件的触控操作,触控操作可以是以下操作中的任意一种或多种:点击操作、长按操作、重按操作等。当EDA软件平台中的展示界面中显示有指令输入引擎(如图3所示,图3中示出了EDA软件平台中的指令输入引擎,在指令输入引擎中显示有“请输入指令”的提示信息)时,则第一操作可以是输入指令对应文本的操作,其中指令输入引擎可以是终端窗口,终端窗口也是可以用快捷指令打开的。因指令列表中的指令有很多,为了区分每个指令所能实现的不同功能,会为不同的指令设置不同的标识,该标识可以由以下任意一种或多种符号组成:数字、字母、文字、符号、图标等。如果用户是通过输入的方式选择指令的话,则用户可能会出现输错的情况,所以优选的,第一操作可以是用于对指令控件进行触控的触控操作,当然也可以选择在同一个EDA软件平台中设置两种指令选择操作,如图4所示,图4中示出了在同一个EDA软件平台中设置两种指令选择操作的操作方式,因指令列表中包括多个指令,因此,可以通过滑动控件选择在界面中展示出来的指令。
电路设计区域(如图2和图3中示出的EDA软件平台的电路设计区域)是用于显示EDA软件平台中被选择的指令(指令包括基础指令和自定义指令)对应的展示对象。第一展示对象表征了基础指令对应的展示对象。展示对象可以是目标电路中的元器件对应的图标。本申请所提到的EDA软件平台可以是板级EDA软件平台,也可以是芯片级EDA软件平台。利用EDA软件平台设计得到的目标电路是有多个元器件组成的导电回路。板级EDA软件平台设计的目标电路可以是基于PCB电路板和各种元器件组成的板级电路,芯片级EDA软件平台设计的目标电路可以是半导体芯片级电路。板级电路中的元器件可以是电阻、电容、电源、导线等,而半导体芯片级电路中的元器件可以包括半导体IP核(intellectual propertycore,知识产权核)、标准单元、导线等。
具体的,通过第一操作在指令列表中选择基础指令,EDA软件平台会调用该基础指令对应的算法,基于该基础指令对应的算法在EDA软件平台的电路设计区域显示所述基础指令的第一展示对象。
在上述步骤106中,第二操作是针对自定义指令的选择操作,第二操作可以是触控操作,也可以是输入操作。第二展示对象表征了自定义指令对应的展示对象。
具体的,通过第二操作在指令列表中选择自定义指令,EDA软件平台会调用该自定义指令对应的算法,基于该自定义指令对应的自定义算法在EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象。
在上述步骤107中,在EDA软件平台中第一展示对象和第二展示对象共同组成了目标电路。
本申请中自定义指令和自定义算法都是用户自己编辑并加载到EDA软件平台中的,当用户也可以卸载该自定义算法和自定义指令,也就是,本申请所提供的方法还包括:
步骤108,响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
在上述步骤108中,卸载操作是用于卸载指令列表中指令的操作。
具体的,卸载操作可以是以下操作的任意一种形式:
第一种形式:EDA软件平台中具有卸载控件。
响应针对所述指令列表中自定义指令的第三操作,确定待卸载的自定义指令;
响应针对所述卸载控件的第四操作,将所述待卸载的自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
在第一种形式中,第三操作可以是触控操作或输入操作,但第三操作是与第二操作不同的操作。第四操作为触控操作。
第二种形式:
响应针对所述指令列表中自定义指令的第五操作,确定待卸载的自定义指令,并显示卸载确认信息;
响应针对所述卸载确认信息的确认操作,则将所述待卸载的自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法;
响应针对所述卸载确认信息的取消操作,则取消对待卸载的自定义指令的卸载。
在第二种形式中,第五操作可以是触控操作或输入操作,但第五操作是与第二操作不同的操作。卸载确认信息用于让用户对卸载的自定义指令进行二次确认,避免用户卸载掉错误的自定义指令,在卸载确认信息中包括确认控件和取消控件,确认操作是作用于确认控件的操作,取消操作是作用于取消控件的操作。
第三种形式:
响应针对所述指令列表中自定义指令的第六操作,确定待卸载的自定义指令,并删除所述待卸载的自定义指令。
在第三种形式中,第六操作为输入操作,用户可以直接在指令输入引擎直接输入卸载待卸载的自定义指令的代码,实现直接卸载待卸载的自定义指令。
在指令列表中包括自定义指令,还包括基础指令,用户可能还会对基础指令做出卸载操作,基础指令是EDA软件平台的开发人员所编辑出的指令,该基础指令是EDA软件平台中较为常用的指令,为了避免删除基础指令会给用户带来操作上的麻烦,基础指令是不需要被卸载的,也就是,本申请所提供的方法还包括:
步骤109,响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
在上述步骤109中,针对基础指令的卸载操作可以参看上述步骤108中针对自定义指令的卸载操作,这里就不再赘述。
本申请还提供了一种软件平台的工作方法,如图5所示,应用于EDA软件平台,包括:
S501,响应针对所述EDA软件平台的指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
S502,响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;所述自定义指令是基于所述EDA软件平台能够识别的自定义算法生成;
S503,基于所述第一展示对象和所述第二展示对象,生成目标电路。
针对上述步骤S501至S503的详细解释可以参考上述步骤105至107。
本申请中自定义指令和自定义算法都是用户自己编辑并加载到EDA软件平台中的,当用户也可以卸载该自定义算法和自定义指令,也就是,本申请所提供的方法还包括:
步骤504,响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
上述步骤504的详细解释可以参考上述步骤108。
在指令列表中包括自定义指令,还包括基础指令,用户可能还会对基础指令做出卸载操作,基础指令是EDA软件平台的开发人员所编辑出的指令,该基础指令是EDA软件平台中较为常用的指令,为了避免删除基础指令会给用户带来操作上的麻烦,基础指令是不需要被卸载的,也就是,本申请所提供的方法还包括:
步骤505,响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
上述步骤505的详细解释可以参考上述步骤109。
用可以通过编辑自定义算法实现对EDA软件平台进行二次开发,以给EDA软件平台增加能够实现特定功能的自定义算法,也就是,本申请的方法还包括:
步骤506,获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
步骤507,基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
步骤508,根据所述自定义指令更新所述EDA软件平台的指令列表。
上述步骤506至508的详细解释可以参考上述步骤S101至S103。
并不是所有的用户都可以实现对EDA软件平台的进一步开发,只有具有特定权限的用户才能将自己的自定义算法加载到EDA软件平台中,也就是,在步骤506之后,以及在步骤507之前,所述方法还包括:
步骤509,验证所述自定义算法的加载权限;若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法不具有加载权限,则生成加载失败提示信息。
上述步骤509的详细解释可以参考上述步骤104。
自定义算法是用户基于EDA软件平台的头文件编辑而成的,很可能会出现用户编辑失误导致自定义算法的格式与EDA软件平台的格式要求不匹配的情况,为了避免将与EDA软件平台的格式要求不匹配的自定义算法加载到EDA软件平台中,用户却无法使用的情况,本申请在加载自定义算法时,还会对自定义算法的格式进行检测,也就是,若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令,包括:
步骤5091,若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配的提示信息。
上述步骤5091的详细解释可以参考上述步骤1041。
本申请实施例提供了一种EDA软件平台的指令更新装置,如图6所示,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
获取模块601,用于获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
加载模块602,用于基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
更新模块603,用于根据所述自定义指令更新所述EDA软件平台的指令列表。
可选的,所述装置还包括:
验证模块,用于验证所述自定义算法的加载权限;若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法不具有加载权限,则生成加载失败提示信息。
可选的,所述装置还包括:
检测模块,用于若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息。
可选的,所述装置还包括:
第一响应模块,用于响应针对所述指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
第二响应模块,用于响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;
生成模块,用于基于所述第一展示对象和所述第二展示对象,生成目标电路。
可选的,所述装置还包括:
第三响应模块,用于响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
可选的,所述装置还包括:
第四响应模块,用于响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
本申请实施例提供了一种EDA软件平台的工作装置,如图7所示,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
第一响应模块701,用于响应针对所述EDA软件平台的指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
第二响应模块702,用于响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;所述自定义指令是基于所述EDA软件平台能够识别的自定义算法生成;
生成模块703,用于基于所述第一展示对象和所述第二展示对象,生成目标电路。
可选的,所述装置还包括:
第三响应模块,用于响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
可选的,所述装置还包括:
第四响应模块,用于响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
可选的,所述装置还包括:
获取模块,用于获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
加载模块,用于基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
更新模块,用于根据所述自定义指令更新所述EDA软件平台的指令列表。
可选的,所述装置还包括:
验证模块,用于验证所述自定义算法的加载权限;若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法不具有加载权限,则生成加载失败提示信息。
可选的,所述装置还包括:
检测模块,用于若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述对开放口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息。
对应于图1中的指令更新方法,本申请实施例还提供了一种计算机设备800,如图8所示,该设备包括存储器801、处理器802及存储在该存储器801上并可在该处理器802上运行的计算机程序,其中,上述处理器802执行上述计算机程序时实现上述指令更新方法。
具体地,上述存储器801和处理器802能够为通用的存储器和处理器,这里不做具体限定,当处理器802运行存储器801存储的计算机程序时,能够执行上述指令更新方法,解决了现有技术中用户利用EDA软件平台对自己开发的算法进行验证比较的繁琐的问题。
对应于图1中的指令更新方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述指令更新方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述指令更新方法,解决了现有技术中用户利用EDA软件平台对自己开发的算法进行验证比较的繁琐的问题,本申请将EDA软件平台的开放接口提供给用户,使得用户能够根据开放接口开发能够执行特定功能的自定义算法,且用户自己根据开放接口自己开发的自定义算法能够加载到EDA软件平台中,相当于对EDA软件平台实现二次开发,进而使得用户在使用EDA软件平台时,可以通过自定义算法对应的自定义指令调用该自定义算法,从而在EDA软件平台中实现自己想要的功能,提高了用户利用EDA软件平台对自己开发的算法进行验证的验证效率,也拓宽了EDA软件平台的使用场景。
对应于图5中的软件平台的工作方法,本申请实施例还提供了一种计算机设备900,如图9所示,该设备包括存储器901、处理器902及存储在该存储器901上并可在该处理器902上运行的计算机程序,其中,上述处理器902执行上述计算机程序时实现上述软件平台的工作方法。
具体地,上述存储器901和处理器902能够为通用的存储器和处理器,这里不做具体限定,当处理器902运行存储器901存储的计算机程序时,能够执行上述软件平台的工作方法,解决了现有技术中用户利用EDA软件平台对自己开发的算法进行验证比较的繁琐的问题。
对应于图5中的软件平台的工作方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述软件平台的工作方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述软件平台的工作方法,解决了现有技术中用户利用EDA软件平台对自己开发的算法进行验证比较的繁琐的问题,本申请将EDA软件平台的开放接口提供给用户,使得用户能够根据开放接口开发能够执行特定功能的自定义算法,且用户自己根据开放接口自己开发的自定义算法能够加载到EDA软件平台中,相当于对EDA软件平台实现二次开发,进而使得用户在使用EDA软件平台时,可以通过自定义算法对应的自定义指令调用该自定义算法,从而在EDA软件平台中实现自己想要的功能,提高了用户利用EDA软件平台对自己开发的算法进行验证的验证效率,也拓宽了EDA软件平台的使用场景。
在本申请所提供的实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (16)
1.一种指令更新方法,其特征在于,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;所述EDA软件平台用于实现对大规模集成电路芯片的设计,EDA软件平台中的源代码是复杂且需要保密的;
基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是在EDA软件平台被开发完成时基于所述EDA软件平台的源代码生成的;
根据所述自定义指令更新所述EDA软件平台的指令列表;
所述开放接口的生成过程包括如下步骤:
遍历所述EDA软件平台的源代码,确定所述EDA软件平台的源代码中的函数接口描述信息和用户接口描述信息;
根据所述函数接口描述信息和所述用户接口描述信息,基于内部接口模板生成内部接口;
根据所述函数接口描述信息、所述用户接口描述信息和所述内部接口,基于开放接口模板生成开放接口;所述函数接口描述信息是在对EDA软件平台进行开发时使用的函数接口的描述信息;所述用户接口描述信息是用户在使用EDA软件平台进行电路设计时所使用的用户接口的描述信息;所述开放接口的函数名会出现在编译完成的可执行程序的符号表里,出现在可执行程序的符号表中的开放接口的函数名被加载进EDA软件平台的自定义算法进行调用。
2.根据权利要求1所述的方法,其特征在于,在获取所述EDA软件平台能够识别的自定义算法之后,以及在基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令之前,所述方法还包括:
验证所述自定义算法的加载权限;
若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法不具有加载权限,则生成加载失败提示信息。
3.根据权利要求2所述的方法,其特征在于,若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令,包括:
若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;
响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;
基于所述第一展示对象和所述第二展示对象,生成目标电路。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
7.一种软件平台的工作方法,其特征在于,应用于EDA(Electronic designautomation,电子设计自动化)软件平台,包括:
响应针对所述EDA软件平台的指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;所述EDA软件平台用于实现对大规模集成电路芯片的设计,EDA软件平台中的源代码是复杂且需要保密的;
响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;所述自定义指令是基于所述EDA软件平台能够识别的自定义算法生成;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;所述开放接口是在EDA软件平台被开发完成时基于所述EDA软件平台的源代码生成的;
基于所述第一展示对象和所述第二展示对象,生成目标电路;
所述开放接口的生成过程包括如下步骤:
遍历所述EDA软件平台的源代码,确定所述EDA软件平台的源代码中的函数接口描述信息和用户接口描述信息;
根据所述函数接口描述信息和所述用户接口描述信息,基于内部接口模板生成内部接口;
根据所述函数接口描述信息、所述用户接口描述信息和所述内部接口,基于开放接口模板生成开放接口;所述函数接口描述信息是在对EDA软件平台进行开发时使用的函数接口的描述信息;所述用户接口描述信息是用户在使用EDA软件平台进行电路设计时所使用的用户接口的描述信息;所述开放接口的函数名会出现在编译完成的可执行程序的符号表里,出现在可执行程序的符号表中的开放接口的函数名被加载进EDA软件平台的自定义算法进行调用。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应针对所述指令列表中所述自定义指令的卸载操作,将所述指令列表中的所述自定义指令删除,以及删除所述EDA软件平台中所述自定义指令对应的自定义算法。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
响应针对所述指令列表中基础指令的卸载操作,生成卸载失败提示信息。
10.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;
基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是基于所述EDA软件平台的源代码生成的;
根据所述自定义指令更新所述EDA软件平台的指令列表。
11.根据权利要求10所述的方法,其特征在于,在获取所述EDA软件平台能够识别的自定义算法之后,以及在基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令之前,所述方法还包括:
验证所述自定义算法的加载权限;
若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法不具有加载权限,则生成加载失败提示信息。
12.根据权利要求11所述的方法,其特征在于,若所述自定义算法具有加载权限,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令,包括:
若所述自定义算法具有加载权限,则检测所述自定义算法的算法格式是否符合所述EDA软件平台的格式要求;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式符合所述EDA软件平台的格式要求,则执行步骤基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;
若所述自定义算法具有加载权限,且所述自定义算法的算法格式不符合所述EDA软件平台的格式要求,则生成格式不匹配提示信息。
13.一种指令更新装置,其特征在于,应用于EDA(Electronic design automation,电子设计自动化)软件平台,包括:
获取模块,用于获取所述EDA软件平台能够识别的自定义算法;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;所述EDA软件平台用于实现对大规模集成电路芯片的设计,EDA软件平台中的源代码是复杂且需要保密的;
加载模块,用于基于所述开放接口将所述自定义算法加载至所述EDA软件平台,并生成所述自定义算法的自定义指令;所述开放接口是在EDA软件平台被开发完成时基于所述EDA软件平台的源代码生成的;所述开放接口的生成过程包括如下步骤:遍历所述EDA软件平台的源代码,确定所述EDA软件平台的源代码中的函数接口描述信息和用户接口描述信息;根据所述函数接口描述信息和所述用户接口描述信息,基于内部接口模板生成内部接口;根据所述函数接口描述信息、所述用户接口描述信息和所述内部接口,基于开放接口模板生成开放接口;所述函数接口描述信息是在对EDA软件平台进行开发时使用的函数接口的描述信息;所述用户接口描述信息是用户在使用EDA软件平台进行电路设计时所使用的用户接口的描述信息;所述开放接口的函数名会出现在编译完成的可执行程序的符号表里,出现在可执行程序的符号表中的开放接口的函数名被加载进EDA软件平台的自定义算法进行调用
更新模块,用于根据所述自定义指令更新所述EDA软件平台的指令列表。
14.一种软件平台的工作装置,其特征在于,应用于EDA(Electronic designautomation,电子设计自动化)软件平台,包括:
第一响应模块,用于响应针对所述EDA软件平台的指令列表中基础指令的第一操作,在所述EDA软件平台的电路设计区域显示所述基础指令的第一展示对象;所述基础指令为所述EDA软件平台所携带的原有指令;所述EDA软件平台用于实现对大规模集成电路芯片的设计,EDA软件平台中的源代码是复杂且需要保密的;
第二响应模块,用于响应针对所述指令列表中自定义指令的第二操作,在所述EDA软件平台的电路设计区域显示所述自定义指令的第二展示对象;所述自定义指令是基于所述EDA软件平台能够识别的自定义算法生成;所述EDA软件平台能够识别的自定义算法是基于所述EDA软件平台的开放接口生成的;所述开放接口是在EDA软件平台被开发完成时基于所述EDA软件平台的源代码生成的;所述开放接口的生成过程包括如下步骤:遍历所述EDA软件平台的源代码,确定所述EDA软件平台的源代码中的函数接口描述信息和用户接口描述信息;根据所述函数接口描述信息和所述用户接口描述信息,基于内部接口模板生成内部接口;根据所述函数接口描述信息、所述用户接口描述信息和所述内部接口,基于开放接口模板生成开放接口;所述函数接口描述信息是在对EDA软件平台进行开发时使用的函数接口的描述信息;所述用户接口描述信息是用户在使用EDA软件平台进行电路设计时所使用的用户接口的描述信息;所述开放接口的函数名会出现在编译完成的可执行程序的符号表里,出现在可执行程序的符号表中的开放接口的函数名被加载进EDA软件平台的自定义算法进行调用;
生成模块,用于基于所述第一展示对象和所述第二展示对象,生成目标电路。
15.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-6、7-12中任一项所述的方法的步骤。
16.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1-6、7-12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211417470.9A CN115469909B (zh) | 2022-11-14 | 2022-11-14 | 指令更新方法、软件平台的工作方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211417470.9A CN115469909B (zh) | 2022-11-14 | 2022-11-14 | 指令更新方法、软件平台的工作方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115469909A CN115469909A (zh) | 2022-12-13 |
CN115469909B true CN115469909B (zh) | 2023-06-20 |
Family
ID=84338191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211417470.9A Active CN115469909B (zh) | 2022-11-14 | 2022-11-14 | 指令更新方法、软件平台的工作方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115469909B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430530A (zh) * | 2015-01-29 | 2017-12-01 | 弩锋股份有限公司 | 在芯片计算系统上向网络处理器映射的过程 |
CN111431726A (zh) * | 2020-06-11 | 2020-07-17 | 深圳市友杰智新科技有限公司 | 算法授权方法、装置、计算机设备和存储介质 |
CN113851103A (zh) * | 2021-09-06 | 2021-12-28 | 重庆邮电大学 | 基于RISC v自定义指令集拓展的音频降噪加速器系统、方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110362306A (zh) * | 2018-04-11 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 图形化算法组件的自定义方法、模型生成方法及装置 |
KR101996842B1 (ko) * | 2018-12-26 | 2019-07-08 | (주)자람테크놀로지 | 사용자 정의 명령어 셋을 지원하는 하드웨어 고속 연산 결합형 risc-v 기반 연산 장치 및 그 방법 |
CN112560401B (zh) * | 2020-12-22 | 2024-04-09 | 成都海光微电子技术有限公司 | Verilog文件转换方法、装置、存储介质及设备 |
CN112988143B (zh) * | 2021-05-10 | 2021-08-13 | 苏州贝克微电子有限公司 | Eda软件在芯片版图设计中的图形化二次开发方法 |
-
2022
- 2022-11-14 CN CN202211417470.9A patent/CN115469909B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430530A (zh) * | 2015-01-29 | 2017-12-01 | 弩锋股份有限公司 | 在芯片计算系统上向网络处理器映射的过程 |
CN111431726A (zh) * | 2020-06-11 | 2020-07-17 | 深圳市友杰智新科技有限公司 | 算法授权方法、装置、计算机设备和存储介质 |
CN113851103A (zh) * | 2021-09-06 | 2021-12-28 | 重庆邮电大学 | 基于RISC v自定义指令集拓展的音频降噪加速器系统、方法 |
Non-Patent Citations (2)
Title |
---|
可扩展处理器的自定义指令自动识别综述;肖成龙;王珊珊;王心霖;林军;王晶玥;;电子学报(08);全文 * |
基于FPGA的自定义CPU架构设计;李俊;任连新;廖振雄;;电子技术应用(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115469909A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111881022A (zh) | 基于测试场景生成测试用例的方法、装置和设备 | |
CN108664471A (zh) | 文字识别纠错方法、装置、设备及计算机可读存储介质 | |
CN110928548B (zh) | 一种数据处理方法以及设备 | |
CN108536915B (zh) | 一种印刷电路板pcb设计图中焊盘设计方法和装置 | |
CN113138768B (zh) | 应用程序包生成方法、装置、电子设备以及可读存储介质 | |
CN115469937A (zh) | 插件运行方法、装置、电子设备及存储介质 | |
CN104268472A (zh) | 还原被第三方动态库修改函数地址的方法和装置 | |
CN108717357B (zh) | 页面展示代码转换方法、装置、设备及计算机存储介质 | |
CN111488144B (zh) | 一种数据处理方法以及设备 | |
CN115469909B (zh) | 指令更新方法、软件平台的工作方法、装置、设备和介质 | |
CN112965760A (zh) | 修改根目录的方法、装置、电子设备和可读存储介质 | |
CN115525534A (zh) | 基于swagger的接口测试的测试用例生成方法、生成平台 | |
CN111259620A (zh) | 一种检查pcb中盲埋孔的方法、系统、设备以及介质 | |
CN114579136A (zh) | 代码处理方法、装置、计算机设备和存储介质 | |
US10783020B2 (en) | Method for invoking component, and terminal | |
CN113900848A (zh) | 异常页面处理方法、装置、电子设备和存储介质 | |
CN112306723B (zh) | 一种应用于小程序的运行信息获取方法和装置 | |
CN108363614B (zh) | 一种应用的业务模块管理方法、装置及服务器 | |
CN117112047B (zh) | 一种usb设备的管控方法、设备及存储介质 | |
CN111324368A (zh) | 一种数据共享方法及服务器 | |
CN112733153B (zh) | 源代码扫描方法、装置、电子设备和存储介质 | |
CN114169268A (zh) | 规则设置方法、装置、计算机设备和存储介质 | |
CN112286826B (zh) | 一种vts测试方法、装置、存储介质及计算机设备 | |
CN115729641B (zh) | 一种自定义组件的元数据流转方法、装置及电子设备 | |
CN118377523A (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 |