CN114139487A - 版图可视化开发工具及封装、使用方法 - Google Patents
版图可视化开发工具及封装、使用方法 Download PDFInfo
- Publication number
- CN114139487A CN114139487A CN202111241073.6A CN202111241073A CN114139487A CN 114139487 A CN114139487 A CN 114139487A CN 202111241073 A CN202111241073 A CN 202111241073A CN 114139487 A CN114139487 A CN 114139487A
- Authority
- CN
- China
- Prior art keywords
- layout
- module
- graph
- visualization
- development tool
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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)
- Architecture (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供了一种版图可视化开发工具及封装、使用方法,版图可视化开发工具包括版图可视化模块以及版图处理算法模块,版图可视化模块包括版图显示模块、配置窗口模块、版图编辑模块以及图形测量模块;版图处理算法模块包括文件模块、图形模块、异常处理模块以及设计规则检查模块。本申请结合计算光刻仿真等研发的实际需要,打造出拥有版图处理算法模块和版图可视化模块的开发工具包,以支持工程师二次开发版图可视化应用。解决了目前版图可视化仿真软件基础上,用户无法根据自身需求开发独立的版图可视化应用的问题。
Description
技术领域
本申请属于集成电路版图设计与显示技术领域,具体地,涉及一种版图可视化开发工具及封装、使用方法。
背景技术
目前,集成电路的元件数量已超过10万个以上,对应的版图图形数量高达百万以上,通常需要电子设计自动化EDA(Electronic Design Automation)工具才能显示如此巨量的图形。
目前EDA工具市场的主流软件提供了大而全的功能,几乎涵盖了集成电路从设计到生产的全部流程。但是这些软件版图可视化功能是嵌在软件主窗口中,导致用户很难在此基础上二次开发出独立的可视化应用,例如Mentor发布的Calibre等。尤其近几年大量芯片工程师使用python算法库和Qt的Pyside2开源界面库制作版图可视化仿真软件界面,用户无法根据自身需求开发独立的版图可视化应用,尤其是在自定义界面中嵌入版图显示的应用。因此,支持二次开发的版图可视化开发工具包需求日渐旺盛。但是,现有的python开发的版图可视化开源软件,在加载图形超过100万的版图显示效率极低,加载时间太长,甚至出现版图加载不完整的错误。
因此,亟需一种支持二次开发的版图可视化开发工具,实现根据自身需求开发独立的版图可视化应用,尤其是在自定义界面中嵌入版图显示。
发明内容
本发明提出了一种版图可视化开发工具及使用方法,旨在解决目前版图可视化仿真软件基础上,用户无法根据自身需求开发独立的版图可视化应用的问题。
根据本申请实施例的第一个方面,提供了一种版图可视化开发工具,包括版图可视化模块以及版图处理算法模块,版图可视化模块包括版图显示模块、配置窗口模块、版图编辑模块以及图形测量模块;版图处理算法模块包括文件模块、图形模块、异常处理模块以及设计规则检查模块。
在本申请一些实施方式中,版图可视化开发工具使用C++语言和Qt5.14.0开发环境。
在本申请一些实施方式中,版图可视化模块以及版图处理算法模块采用模块化设计,版图可视化模块以及版图处理算法模块包括的每一个模块采用独立封装方式。
在本申请一些实施方式中,版图显示模块用于处理版图显示交互,包括版图放大、缩小、层的展开和折叠以及查看图形的信息;配置窗口模块用于显示版图图形样式以及窗口网格;版图编辑模块用于在版图显示模块功能基础上,增加修改图形、添加图形以及删除图形功能;图形测量模块用于测量图形信息,图形信息包括宽度和高度。
在本申请一些实施方式中,文件模块用于扩展版图格式支持的类型,类型包括gds以及oas格式版图;图形模块用于定义或识别polygon、line和/或box图形;异常处理模块用于收集程序中的异常情况,并根据内部设计规则或经验去提示错误的信息;设计规则检查模块用于实现对图形中多边形的查找功能,包括检查图形线宽、查找图形的凹角凸角以及检查图形边的长度功能。
在本申请一些实施方式中,版图可视化开发工具通过python构建工具setup.py的方式,将版图算法和显示功能的编译后生成dll文件封装成wheel;
其中,由Qt开发的软件界面是通过依赖库shiboken2、pyside2以及shiboken2_generator封装,提供通过python语言去处理版图和在自定义QT界面中显示版图的能力。
根据本申请实施例的第二个方面,提供了一种版图可视化开发工具的使用方法,具体包括:
运行版图可视化开发工具的交互环境,交互环境包括Python和Qt 5.14.0开发环境;
进行版图预处理,包括通过文件模块扩展版图格式支持的类型,类型包括gds以及oas格式版图;版图预处理还包括通过图形模块定义或识别polygon、line和/或box图形;
进行版图异常处理,包括通过设计规则检查模块实现对图形中多边形的查找功能,包括检查图形线宽、查找图形的凹角凸角以及检查图形边的长度功能;版图异常处理还包括通过异常处理模块收集程序中的异常情况,并根据内部设计规则或经验去提示错误的信息;
进行版图显示,包括通过版图显示模块处理版图显示交互,包括版图放大、缩小、层的展开和折叠以及查看图形的信息;版图显示还包括通过配置窗口模块显示版图图形样式以及窗口网格;
进行版图编辑及其他版图操作,包括通过版图编辑模块在版图显示模块功能基础上,增加修改图形、添加图形以及删除图形功能;还包括通过图形测量模块测量图形信息,形信息包括宽度和高度;还包括通过设计规则检查模块实现对图形中多边形的查找功能,包括检查线宽、查找图形的凹角凸角以及检查图形边的长度。
根据本申请实施例的第三个方面,提供了一种版图可视化开发工具的封装方法,具体包括:
安装python3.7.5主依赖环境;开发工具使用python;
创建依赖库的虚拟环境;为python依赖库创建清洁的虚拟环境;
安装依赖库:包括安装shiboken2、pyside2以及shiboken2_generator依赖库;其中,shiboken2_generator是将c++程序转换为python库的生成库,可以和pyside2开发的界面无缝对接;
代码编译:使用cmake和nmake编译,通过cmake生成makefile文件,nmake命令是类似gcc的编译工具;
代码打包:切换到package目录执行打包命令,执行setuptools打包命令,生成wheel文件;
版本发布:切换到package\dist目录发布版本,生成的wheel文件存放在package\dist目录,将该生成的wheel文件发布给用户。
根据本申请实施例的第四个方面,提供了一种版图可视化开发工具的封装设备,包括:
存储器:用于存储可执行指令;以及
处理器:用于与存储器连接以执行可执行指令从而完成版图可视化开发工具的封装方法。
根据本申请实施例的第五个方面,提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现版图可视化开发工具的封装方法或者版图可视化开发工具的使用方法。
采用本申请实施例中的版图可视化开发工具及封装、使用方法,版图可视化开发工具包括版图可视化模块以及版图处理算法模块,版图可视化模块包括版图显示模块、配置窗口模块、版图编辑模块以及图形测量模块;版图处理算法模块包括文件模块、图形模块、异常处理模块以及设计规则检查模块。本申请结合计算光刻仿真等研发的实际需要,打造出拥有版图处理算法模块和版图可视化模块的开发工具包,以支持工程师二次开发版图可视化应用。解决了目前版图可视化仿真软件基础上,用户无法根据自身需求开发独立的版图可视化应用的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1中示出了现有技术中Calibre工具对版图检查DRC的可视化示例界面;
图2中示出了调用本申请在界面内操作版图的可视化示例界面;
图3中示出了根据本申请实施例的版图可视化开发工具的结构示意图;
图4中示出了根据本申请实施例的版图可视化开发工具的使用方法的流程示意图;
图5中示出了根据本申请实施例的版图可视化开发工具的封装方法的流程示意图;
图6中示出了在c++或python开发的应用中打开版图可视化查看窗口的效果图;
图7中示出了在c++或python开发的应用中嵌入版图可视化窗口的效果图;
图8中示出了根据本申请实施例的版图可视化开发工具的封装方法中代码打包的示意图;
图9中示出了根据本申请实施例的版图可视化开发工具的封装设备的结构示意图。
具体实施方式
在实现本申请的过程中,发明人发现现有的制作版图可视化仿真软件界面,用户无法根据自身需求开发独立的版图可视化应用,尤其是在自定义界面中嵌入版图显示的应用。
图1中示出了现有技术中Calibre工具对版图检查DRC的界面。
如图1所示,例如目前市场上常用的Calibre工具对版图检查DRC,使用的方式有两种,一种是用GUI界面对版图检查DRC,还有一种调用Calibre的接口编写脚本对版图检查DRC。
尽管Calibre提供了这两种强大的DRC软件能力,但是可以看出用户只能使用该工具内的界面进行操作,用户无法根据自身需求开发独立的版图可视化应用,尤其是在自定义界面中嵌入版图显示的应用。
图2中示出了调用本申请在界面内操作版图的可视化示例界面。
相比现有技术,如图2所示,通过调用本申请的版图可视化开发工具,可以轻松的将版图可视化窗口嵌入在自定义程序界面中,如图2的右侧框内,实现了在自定义界面预览版图,并且可以根据用户自身需要将该自定义界面打包成独立应用。
因此,将常用的Calibre工具和本申请的可视化开发工具包的后仿真阶段常用功能进行对比,如下表格1所示。
表1
具体的,本申请的版图可视化开发工具包括版图可视化模块以及版图处理算法模块,版图可视化模块包括版图显示模块、配置窗口模块、版图编辑模块以及图形测量模块;版图处理算法模块包括文件模块、图形模块、异常处理模块以及设计规则检查模块。
本申请结合计算光刻仿真等研发的实际需要,打造出拥有版图处理算法模块和版图可视化模块的开发工具包,以支持工程师二次开发版图可视化应用。解决了目前版图可视化仿真软件基础上,用户无法根据自身需求开发独立的版图可视化应用的问题。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例1
图3中示出了根据本申请实施例的版图可视化开发工具的结构示意图。
如图3所示,本申请实施例的版图可视化开发工具,包括版图可视化模块10以及版图处理算法模块20,版图可视化模块10包括版图显示模块101、配置窗口模块102、版图编辑模块103以及图形测量模块104;版图处理算法模块20包括文件模块201、图形模块202、异常处理模块203以及设计规则检查模块204。
优选的,如图3所示,本申请的版图可视化开发工具使用C++语言和Qt5.14.0开发环境。且,版图可视化模块10以及版图处理算法模块20采用模块化设计,版图可视化模块10以及版图处理算法模块20包括的每一个模块采用独立封装方式。
具体的,如图3所示,版图显示模块101用于处理版图显示交互,包括版图放大、缩小、层的展开和折叠以及查看图形的信息;配置窗口模块102用于显示版图图形样式以及窗口网格;版图编辑模块103用于在版图显示模块101功能基础上,增加修改图形、添加图形以及删除图形功能;图形测量模块104用于测量图形信息,图形信息包括宽度和高度。
具体的,如图3所示,文件模块201用于扩展版图格式支持的类型,类型包括gds以及oas格式版图;图形模块202用于定义或识别polygon、line和/或box图形;异常处理模块203用于收集程序中的异常情况,并根据内部设计规则或经验去提示错误的信息;设计规则检查模块204用于实现对图形中多边形的查找功能,包括检查图形线宽、查找图形的凹角凸角以及检查图形边的长度功能。
优选地,本申请封装版图处理算法与显示功能为python库。
版图可视化开发工具通过python构建工具setup.py的方式,将版图算法和显示功能的编译后生成dll文件封装成wheel;其中,由Qt开发的软件界面是通过依赖库shiboken2、pyside2以及shiboken2_generator封装,提供通过python语言去处理版图和在自定义QT界面中显示版图的能力。
本申请的集成电路版图可视化工具采用模块化设计,方便每一个模块可以独立封装,提供了独立的能力用于软件二次开发。
本申请的版图可视化开发工具在封装版图处理算法与显示功能为python库。版图可视化采用C++开发,但是python程序中是无法直接调用的。我们通过python构建工具setup.py的方式,将版图算法和显示功能的编译后生成dll文件封装成wheel,其中由Qt开发的软件界面是通过依赖库shiboken2、pyside2、shiboken2_generator封装,最终提供通过python语言去处理版图和在自定义QT界面中显示版图的能力。
如图6和7所示,开发工具包可以以dll库形式在C++中调用,也可以封装成包在python中调用。
图6中示出了在c++或python开发的应用中打开版图可视化查看窗口的效果图。图7中示出了在c++或python开发的应用中嵌入版图可视化窗口的效果图。
如图7所示,通过python或c++调用开发工具包,可以在自定义窗口中嵌入版图显示的窗口;本申请二次开发的自定义版图显示窗口与工具主窗口分离。
本申请实施例中的版图可视化开发工具包括版图可视化模块以及版图处理算法模块,版图可视化模块包括版图显示模块、配置窗口模块、版图编辑模块以及图形测量模块;版图处理算法模块包括文件模块、图形模块、异常处理模块以及设计规则检查模块。
本申请结合计算光刻仿真等研发的实际需要,打造出拥有版图处理算法模块和版图可视化模块的开发工具包,以支持工程师二次开发版图可视化应用。解决了目前版图可视化仿真软件基础上,用户无法根据自身需求开发独立的版图可视化应用的问题。
实施例2
本实施例提供了一种版图可视化开发工具的使用方法,对于本实施例的版图可视化开发工具的使用方法中未披露的细节,请参照其它实施例中的版图可视化开发工具的具体实施内容。
图4中示出了根据本申请实施例的版图可视化开发工具的使用方法的流程示意图。
如图4所示,本申请实施例的版图可视化开发工具的使用方法,具体包括:
运行版图可视化开发工具的交互环境,交互环境包括Python和Qt 5.14.0开发环境;
进行版图预处理,包括通过文件模块201扩展版图格式支持的类型,类型包括gds以及oas格式版图;版图预处理还包括通过图形模块202定义或识别polygon、line和/或box图形;
进行版图异常处理,包括通过设计规则检查模块204实现对图形中多边形的查找功能,包括检查图形线宽、查找图形的凹角凸角以及检查图形边的长度功能;版图异常处理还包括通过异常处理模块203收集程序中的异常情况,并根据内部设计规则或经验去提示错误的信息;
进行版图显示,包括通过版图显示模块101处理版图显示交互,包括版图放大、缩小、层的展开和折叠以及查看图形的信息;版图显示还包括通过配置窗口模块102显示版图图形样式以及窗口网格;
进行版图编辑及其他版图操作,包括通过版图编辑模块103在版图显示模块101功能基础上,增加修改图形、添加图形以及删除图形功能;还包括通过图形测量模块104测量图形信息,形信息包括宽度和高度;还包括通过设计规则检查模块204实现对图形中多边形的查找功能,包括检查线宽、查找图形的凹角凸角以及检查图形边的长度。
实施例3
本实施例提供了一种版图可视化开发工具的封装方法,对于本实施例的版图可视化开发工具的封装方法中未披露的细节,请参照其它实施例中的版图可视化开发工具的具体实施内容。
图5中示出了根据本申请实施例的版图可视化开发工具的封装方法的流程示意图。
如图5所示,本申请实施例的版图可视化开发工具的封装方法,具体包括:
安装python3.7.5主依赖环境;开发工具使用python;
创建依赖库的虚拟环境;为python依赖库创建清洁的虚拟环境;
安装依赖库:包括安装shiboken2、pyside2以及shiboken2_generator依赖库;其中,shiboken2_generator是将c++程序转换为python库的生成库,可以和pyside2开发的界面无缝对接;
代码编译:使用cmake和nmake编译,通过cmake生成makefile文件,nmake命令是类似gcc的编译工具;
代码打包:切换到package目录执行打包命令,执行setuptools打包命令,生成wheel文件。
打包是为了将源代码进一步封装,并且将所有的项目部署工作都事先安排好,这样使用者拿到后即装即用,不用再操心如何部署的问题,这里使用的Python包安装与分发工具是setuptools。
版本发布:切换到package\dist目录发布版本,生成的wheel文件存放在package\dist目录,将该生成的wheel文件发布给用户。
图8中示出了根据本申请实施例的版图可视化开发工具的封装方法中代码打包的示意图。
如图8所示,打包的关键代码包括:
1)cmake:负责查找C++版图处理软件的include和编译后的库文件。
2)examples:提供pylayout的使用示例,包括在自定义窗口中嵌入版图显示窗口。
3)package:封装后自动生成的目录,存放已封装的wheel文件。
4)bindings.h:配置C++版图处理软件的include文件。
5)bindings.xml:定义从C++版图处理软件需要封装的变量、函数、类、域。
6)CMakeLists.txt:pylayout封装的编译文件。
7)LICENSE.txt:授权信息文件。
8)pyside2_config.py:pyside2封装相关的配置。
9)setup.py:软件封装的入口代码,配置包名、开发者信息、软件版本和依赖库等信息。
实施例4
本实施例提供了一种版图可视化开发工具的封装设备,对于本实施例的版图可视化开发工具的封装设备中未披露的细节,请参照其它实施例中的基于行为与注意力机制的异常行为检测方法或系统具体的实施内容。
图9中示出了根据本申请实施例的版图可视化开发工具的封装设备400的结构示意图。
如图9所示,封装设备400,包括:
存储器402:用于存储可执行指令;以及
处理器401:用于与存储器402连接以执行可执行指令从而完成运动矢量预测方法。
本领域技术人员可以理解,示意图9仅仅是封装设备400的示例,并不构成对封装设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如封装设备400还可以包括输入输出设备、网络接入设备、总线等。
所称处理器401(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器401也可以是任何常规的处理器等,处理器401是封装设备400的控制中心,利用各种接口和线路连接整个封装设备400的各个部分。
存储器402可用于存储计算机可读指令,处理器401通过运行或执行存储在存储器402内的计算机可读指令或模块,以及调用存储在存储器402内的数据,实现封装设备400的各种功能。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据封装设备400使用所创建的数据等。此外,存储器402可以包括硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)或其他非易失性/易失性存储器件。
封装设备400集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
实施例5
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序;计算机程序被处理器执行以实现其他实施例中的基于行为与注意力机制的异常行为检测方法。
本申请实施例中的版图可视化开发工具的使用、封装设备及计算机存储介质,通过版图可视化开发工具解决了目前版图可视化仿真软件基础上,用户无法根据自身需求开发独立的版图可视化应用的问题。实现了结合计算光刻仿真等研发的实际需要,打造出拥有版图处理算法模块和版图可视化模块的开发工具包,以支持工程师二次开发版图可视化应用。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种版图可视化开发工具,其特征在于,包括版图可视化模块以及版图处理算法模块,所述版图可视化模块包括版图显示模块、配置窗口模块、版图编辑模块以及图形测量模块;所述版图处理算法模块包括文件模块、图形模块、异常处理模块以及设计规则检查模块。
2.根据权利要求1所述的版图可视化开发工具,其特征在于,所述版图可视化开发工具使用C++语言和Qt5.14.0开发环境。
3.根据权利要求1所述的版图可视化开发工具,其特征在于,所述版图可视化模块以及版图处理算法模块采用模块化设计,所述版图可视化模块以及版图处理算法模块包括的每一个模块采用独立封装方式。
4.根据权利要求1所述的版图可视化开发工具,其特征在于,所述版图显示模块用于处理版图显示交互,包括版图放大、缩小、层的展开和折叠以及查看图形的信息;所述配置窗口模块用于显示版图图形样式以及窗口网格;所述版图编辑模块用于在所述版图显示模块功能基础上,增加修改图形、添加图形以及删除图形功能;所述图形测量模块用于测量图形信息,图形信息包括宽度和高度。
5.根据权利要求1所述的版图可视化开发工具,其特征在于,所述文件模块用于扩展版图格式支持的类型,类型包括gds以及oas格式版图;所述图形模块用于定义或识别polygon、line和/或box图形;所述异常处理模块用于收集程序中的异常情况,并根据内部设计规则去提示错误的信息;所述设计规则检查模块用于实现对图形中多边形的查找功能,包括检查图形线宽、查找图形的凹角凸角以及检查图形边的长度功能。
6.根据权利要求1所述的版图可视化开发工具,其特征在于,所述版图可视化开发工具通过python构建工具setup.py的方式,将版图算法和显示功能的编译后生成dll文件封装成wheel;
其中,由Qt开发的软件界面是通过依赖库shiboken2、pyside2以及shiboken2_generator封装,提供通过python语言去处理版图和在自定义Qt界面中显示版图的能力。
7.一种版图可视化开发工具的使用方法,其特征在于,具体包括:
运行版图可视化开发工具的交互环境,交互环境包括Python和Qt 5.14.0开发环境;
进行版图预处理,包括通过文件模块扩展版图格式支持的类型,类型包括gds以及oas格式版图;版图预处理还包括通过图形模块定义或识别polygon、line和/或box图形;
进行版图异常处理,包括通过设计规则检查模块实现对图形中多边形的查找功能,包括检查图形线宽、查找图形的凹角凸角以及检查图形边的长度功能;版图异常处理还包括通过异常处理模块收集程序中的异常情况,并根据内部设计规则去提示错误的信息;
进行版图显示,包括通过版图显示模块处理版图显示交互,包括版图放大、缩小、层的展开和折叠以及查看图形的信息;版图显示还包括通过配置窗口模块显示版图图形样式以及窗口网格;
进行版图编辑及其他版图操作,包括通过版图编辑模块在所述版图显示模块功能基础上,增加修改图形、添加图形以及删除图形功能;还包括通过图形测量模块测量图形信息,图形信息包括宽度和高度;还包括通过设计规则检查模块实现对图形中多边形的查找功能,包括检查线宽、查找图形的凹角凸角以及检查图形边的长度。
8.一种版图可视化开发工具的封装方法,其特征在于,具体包括:
安装python3.7.5主依赖环境;开发工具使用python;
创建依赖库的虚拟环境;为python依赖库创建清洁的虚拟环境;
安装依赖库:包括安装shiboken2、pyside2以及shiboken2_generator依赖库;其中,shiboken2_generator是将c++程序转换为python库的生成库,和pyside2开发的界面无缝对接;
代码编译:使用cmake和nmake编译,通过cmake生成makefile文件;
代码打包:切换到package目录执行打包命令,执行setuptools打包命令,生成wheel文件;
版本发布:切换到package\dist目录发布版本,生成的wheel文件存放在所述package\dist目录,将该生成的wheel文件发布给用户。
9.一种版图可视化开发工具的封装设备,其特征在于,包括:
存储器:用于存储可执行指令;以及
处理器:用于与所述存储器连接以执行所述可执行指令从而完成权利要求8所述的版图可视化开发工具的封装方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序;计算机程序被处理器执行以实现如权利要求7或8所述的版图可视化开发工具的封装方法或者版图可视化开发工具的使用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111241073.6A CN114139487A (zh) | 2021-10-25 | 2021-10-25 | 版图可视化开发工具及封装、使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111241073.6A CN114139487A (zh) | 2021-10-25 | 2021-10-25 | 版图可视化开发工具及封装、使用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114139487A true CN114139487A (zh) | 2022-03-04 |
Family
ID=80395006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111241073.6A Pending CN114139487A (zh) | 2021-10-25 | 2021-10-25 | 版图可视化开发工具及封装、使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114139487A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116894422A (zh) * | 2023-07-28 | 2023-10-17 | 北京华大九天科技股份有限公司 | 一种基于python绘制芯片版图的方法 |
CN116991956A (zh) * | 2023-09-28 | 2023-11-03 | 北京云枢创新软件技术有限公司 | 一种基于eda的信号交互方法、电子设备及存储介质 |
-
2021
- 2021-10-25 CN CN202111241073.6A patent/CN114139487A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116894422A (zh) * | 2023-07-28 | 2023-10-17 | 北京华大九天科技股份有限公司 | 一种基于python绘制芯片版图的方法 |
CN116894422B (zh) * | 2023-07-28 | 2024-07-02 | 北京华大九天科技股份有限公司 | 一种基于python绘制芯片版图的方法 |
CN116991956A (zh) * | 2023-09-28 | 2023-11-03 | 北京云枢创新软件技术有限公司 | 一种基于eda的信号交互方法、电子设备及存储介质 |
CN116991956B (zh) * | 2023-09-28 | 2023-12-08 | 北京云枢创新软件技术有限公司 | 一种基于eda的信号交互方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9501269B2 (en) | Automatic source code generation for accelerated function calls | |
JP3571526B2 (ja) | システム設計/評価cadシステムおよびそのプログラム記憶媒体 | |
US6996790B2 (en) | System and method for generating a two-dimensional yield map for a full layout | |
JP5911562B2 (ja) | ユーザインターフェースおよび入力制御を適応させる方法 | |
CN114139487A (zh) | 版图可视化开发工具及封装、使用方法 | |
JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
US8156147B1 (en) | Sharing of instructions across model boundaries | |
US9047165B1 (en) | Multiversion model versioning system and method | |
US9424005B1 (en) | Templatized component | |
US9195435B2 (en) | Image processing software development method, image processing software development device, and image processing software development program | |
CN111985055B (zh) | 一种模型封装方法、装置及电子设备 | |
JP2013518321A (ja) | パターンベースのユーザインターフェース | |
US8843884B1 (en) | Interactive graphical construction of parametric components of typical cross section frameworks | |
CN114327776A (zh) | 用于智能合约的调试方法、调试设备和调试系统 | |
US8677300B2 (en) | Canonical signature generation for layout design data | |
Vanderperren et al. | Extending UML for electronic systems design: A code generation perspective | |
CN111506312B (zh) | 页面生成方法、装置、计算机设备及存储介质 | |
US20130024836A1 (en) | Interactive Graphical Construction of Parametric Components of Typical Cross Section Frameworks | |
US10706193B1 (en) | Computer processing during simulation of a circuit design | |
CN113177292B (zh) | 一种通用的bim二次开发实现方法和装置 | |
EP3542285B1 (en) | Integrated circuit design system and method | |
US11281834B1 (en) | Protection of high-level language simulation models | |
CN112181418B (zh) | 一种核反应堆计算软件图形界面的快速构建方法及系统 | |
US20170199729A1 (en) | Application developing method and system | |
CN103810312B (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 |