基于Python的EDA软件二次开发系统的制作方法

文档序号:31660798发布日期:2022-09-27 23:02阅读:来源:国知局

技术特征:
1.一种基于python的eda软件二次开发系统,其特征在于,所述eda软件采用单机模式运行,所述系统包括预先定义的采用c++编写的底层的业务内核接口集合{a1,a2,

a
m
}、采用python编写的上层的用户接口集合{b1,b2,

b
n
}、映射表、存储有计算机程序的存储器和处理器;其中,a
i
为第i个业务内核接口,i的取值范围为1到m,m为业务内核接口总数;b
j
为第j个用户接口,j的取值范围为1到n,n为用户接口总数;所述映射表用于定义业务内核接口和用户接口的映射关系,a
i
与至少一个b
j
具有映射关系,b
j
与至少一个a
i
具有映射关系;当所述计算机程序被所述处理器执行时,实现以下步骤:步骤s1、运行所述系统,为每一a
i
分配内存地址;步骤s2、基于所述映射表将b
j
所对应的a
i
的内存地址与b
j
的名称绑定,将b
j
的函数与对应的a
i
的函数绑定;步骤s3、获取用户基于上层业务逻辑输入的python脚本,所述python脚本包括至少一个b
j
的名称;步骤s4、解析并执行所述python脚本,当执行至b
j
时,基于b
j
的名称绑定的a
i
的内存地址直接调用对应的a
i
的函数执行对应的业务操作。2.根据权利要求1所述的系统,其特征在于,a
i
按照最小粒度业务单元抽取生成。3.根据权利要求1所述的系统,其特征在于,所述步骤s1中,还包括为每一a
i
分配对应的cpu时间和硬盘资源。4.根据权利要求1所述的系统,其特征在于,b
j
基于预设的接口结构生成,所述预设的接口结构包括接口函数数据段,还包括输入参数数据段、返回值数据段中的一个或多个,所述函数数据段用于定义b
j
对应的函数,所述返回值数据段用于定义返回数据类型,所述返回数据类型包括对象类型、对象集合类型、枚举值类型、字符串类型和布尔类型。5.根据权利要求4所述的系统,其特征在于,所述步骤s2包括:步骤s21、采用pybind11_embedded_module接口为b
j
绑定添加主体模块定义,所述主体模块包括多个子模块,每一子模块对应一个业务类别;步骤s22、采用def_submodule接口为b
j
绑定对应的子模块定义;步骤s23、基于b
j
对应的主体模块定义、子模块定义和对应的接口结构生成b
j
对应的接口名称;步骤s24、基于b
j
与a
i
的映射关系,采用module::def内外部接口将b
j
所对应的a
i
的内存地址与b
j
的名称绑定,将b
j
的函数与对应的a
i
的函数绑定。6.根据权利要求5所述的系统,其特征在于,所述主体模块包括pcb模块,所述pcb模块对应的子模块包括设计子模块design、叠加子模块stackups、层级子模块layers、获取指定层对象类型子模块layer_type、获取指定层对象名称子模块layer_name和设置指定层子模块;所述设计子模块design对应的返回数据类型设置为对象类型,对应的函数设置为getdesign(),输入参数设置为空;
所述叠加子模块stackups对应的返回数据类型设置为对象集合,对应的函数设置为design.getstackups(),输入参数设置为空;所述层级子模块layers对应的返回数据类型设置为对象集合,对应的函数设置为stackup.getlayers(),输入参数设置为空;所述获取指定层对象类型子模块layer_type对应的返回数据类型设置为枚举值,对应的函数设置为layer.getlayertype(),输入参数设置为空;所述获取指定层对象名称子模块layer_name对应的返回数据类型设置为字符串,对应的函数设置为layer.getlayername(),输入参数设置为空;所述设置指定层子模块的返回数据类型设置为布尔类型,包括失败标识和成功标识,对应的函数设置为layer.setlayername(new_name),输入参数设置为需要设置的层名称new_name。7.根据权利要求4所述的系统,其特征在于,所述步骤s4包括:步骤s41、当执行至b
j
时,基于b
j
的名称绑定的a
i
的内存地址直接调用对应的a
i
的函数;步骤s42、若b
j
包括输入参数,则将b
j
的输入参数传给a
i
,在a
i
的内存地址中基于b
j
的输入参数调用并执行a
i
的函数,若b
j
中没有输入参数,则直接在a
i
的内存地址中调用并执行a
i
的函数;步骤s43、若b
j
中没有返回值,则执行步骤s44,若b
j
包括返回值,则执行步骤s45;步骤s44、在a
i
的内存地址中执行完a
i
的函数之后,直接继续执行所述python脚本的后续操作;步骤s45、在a
i
的内存地址中基于a
i
的函数的运行结果生成对应的返回值, b
j
从a
i
的内存地址中读取对应的返回值继续执行所述python脚本的后续操作。8.根据权利要求1所述的系统,其特征在于,所述系统还包括基于{b1,b2,

b
n
}和每一b
j
对应的主体模块定义和子模块定义生成的业务内核接口功能列表,所述功能列表包括b
j
名称和对应的功能信息;所述系统还包括python输入界面,用于接收用户输入的python脚本,所述python脚本基于预设的业务流程和所述业务内核接口功能列表生成。

技术总结
本发明涉及一种基于Python的EDA软件二次开发系统,所述系统包括预先定义的采用C++编写的底层的业务内核接口集合{A1,A2,


技术研发人员:廖志刚 曹立言 党晶涛
受保护的技术使用者:上海合见工业软件集团有限公司
技术研发日:2022.08.31
技术公布日:2022/9/26
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1