CN116069726B - 一种集成电路设计库的管理方法、设备及介质 - Google Patents
一种集成电路设计库的管理方法、设备及介质 Download PDFInfo
- Publication number
- CN116069726B CN116069726B CN202310209011.XA CN202310209011A CN116069726B CN 116069726 B CN116069726 B CN 116069726B CN 202310209011 A CN202310209011 A CN 202310209011A CN 116069726 B CN116069726 B CN 116069726B
- Authority
- CN
- China
- Prior art keywords
- design
- parameterized
- data
- integrated circuit
- file format
- 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
- 238000013461 design Methods 0.000 title claims abstract description 438
- 238000007726 management method Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 81
- 230000008676 import Effects 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 28
- 238000003860 storage Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005669 field effect Effects 0.000 claims description 11
- 230000002441 reversible effect Effects 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 9
- 239000003990 capacitor Substances 0.000 claims description 4
- 241000208829 Sambucus Species 0.000 claims description 2
- 235000008995 european elder Nutrition 0.000 claims description 2
- 238000009877 rendering Methods 0.000 claims 2
- 238000012795 verification Methods 0.000 description 25
- 238000004088 simulation Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 15
- 238000004519 manufacturing process Methods 0.000 description 14
- 238000013499 data model Methods 0.000 description 12
- 239000004065 semiconductor Substances 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 230000003071 parasitic effect Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供一种集成电路设计库的管理方法、设备及介质。方法包括:响应于数据导出请求,根据相关联的第一电路版图文件格式和集成电路设计库所支持的参数化单元类型,将与其对应的第一设计数据中的可参数化部分导出为参数化单元以及将剩余部分导出为非参数化单元;响应于数据导入请求,根据相关联的第二电路版图文件格式和参数化单元类型,确定与其对应的第二设计数据中的可参数化部分,然后将该可参数化部分导入对应的参数化单元,以及确定非参数化部分并进行复现操作以得到复现结果,然后将该复现结果导入设计库。复现操作包括根据参数化单元类型对非参数化部分进行分类并根据分类结果进行参数提取。如此提升设计效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种集成电路设计库的管理方法、设备及介质。
背景技术
集成电路(integrated circuit,IC)指的是将数量巨大的晶体管、二极管、电阻、电容和电感等各种元件以及布线通过半导体工艺集成在晶圆片上成为具有特定功能的电路。随着集成电路的复杂度和集成度的提升,需要借助电子设计自动化(electronicdesign automation,EDA)工具来完成芯片的设计和验证直到生产制造。但是,不同的EDA工具供应商提供有差异的EDA工具流程、数据模型、设计数据存储格式或者设计平台等,而且也存在开源EDA工具和开放标准数据等。在进行集成电路设计开发的过程中经常需要更改设计或者引入已有设计方案,而这些可能涉及到不同的EDA工具、数据模型、设计数据存储格式或者设计平台之间的数据如何统一化和规范化,这样给版图修改和设计带来不便。另外,即使对于单供应商流程也受到通用数据库的限制而缺乏灵活性,影响了设计的流畅度。
为此,本申请提供了一种集成电路设计库的管理方法、设备及介质,用于提升集成电路设计效率,提供设计上的灵活性以及有利于集成电路设计库的规范化。
发明内容
本申请实施例提供了一种集成电路设计库的管理方法、设备及介质,用于解决现有技术中存在的问题。
第一方面,本申请提供了一种集成电路设计库的管理方法。所述管理方法包括:响应于接收到所述集成电路设计库的数据导出请求,根据与所述数据导出请求相关联的第一电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,将所述集成电路设计库中的与所述数据导出请求对应的第一设计数据中的可参数化部分导出为以所述第一电路版图文件格式存储的参数化单元,以及将该第一设计数据中的剩余部分导出为以所述第一电路版图文件格式存储的非参数化单元;响应于接收到所述集成电路设计库的数据导入请求,根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,确定与所述数据导入请求对应的以所述第二电路版图文件格式存储的第二设计数据中的可参数化部分,然后将该第二设计数据中的可参数化部分导入所述集成电路设计库中与该第二设计数据中的可参数化部分对应的参数化单元,以及确定该第二设计数据中的非参数化部分并对该第二设计数据中的非参数化部分进行复现操作以得到该第二设计数据中的非参数化部分的复现结果,然后将该复现结果导入所述集成电路设计库。其中,所述复现操作至少包括根据所述集成电路设计库所支持的参数化单元类型对该第二设计数据中的非参数化部分进行分类并根据分类结果进行参数提取。
通过本申请的第一方面,实现了分别基于与数据导出请求相关联的第一电路版图文件格式进行导出操作以及基于与数据导入请求相关联的第二电路版图文件格式进行导入操作,这样使得根据所述集成电路设计库所支持的参数化单元类型实现了统一化和规范化,有助于尽量降低导出的文件的数据规模和导入后的集成电路设计库的数据规模,而且尽量利用了集成电路设计库自身所提供的标准通用数据模型的支持也就是所支持的参数化单元类型,有利于整合不同的EDA工具供应商所提供的各种技术和产品,在提供设计灵活性同时也保证了设计效率。
在本申请的第一方面的一种可能的实现方式中,所述第一电路版图文件格式与所述第二电路版图文件格式不同,所述第一设计数据与所述第二设计数据对应同一集成电路版图。
在本申请的第一方面的一种可能的实现方式中,所述第一电路版图文件格式与所述第二电路版图文件格式不同,所述第一设计数据与所述第二设计数据对应不同集成电路版图。
在本申请的第一方面的一种可能的实现方式中,所述第一电路版图文件格式与所述第二电路版图文件格式相同,所述第一设计数据与所述第二设计数据相同。
在本申请的第一方面的一种可能的实现方式中,该第二设计数据中的非参数化部分对应该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元。
在本申请的第一方面的一种可能的实现方式中,所述复现操作是反向复现操作,所述反向复现操作包括将该第二设计数据中的非参数化部分分类为该第一设计数据中的剩余部分所对应的参数化单元类型。
在本申请的第一方面的一种可能的实现方式中,该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元是通过比较所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。
在本申请的第一方面的一种可能的实现方式中,该第一设计数据中的可参数化部分被导出得到的以所述第一电路版图文件格式存储的参数化单元是通过比较所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。
在本申请的第一方面的一种可能的实现方式中,该第二设计数据中的非参数化部分是通过比较所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。
在本申请的第一方面的一种可能的实现方式中,该第二设计数据中的可参数化部分是通过比较所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。
在本申请的第一方面的一种可能的实现方式中,所述集成电路设计库是开放获取库,银河库,或者来自开源设计平台。
在本申请的第一方面的一种可能的实现方式中,该第一设计数据中的可参数化部分和该第二设计数据中的可参数化部分用于制程设计套件,所述制程设计套件是Synopsys,Cadence,Mentor,Empyrean,或者华大九天。
在本申请的第一方面的一种可能的实现方式中,该第一设计数据中的可参数化部分和该第二设计数据中的可参数化部分用于同一制程设计套件或者不同制程设计套件。
在本申请的第一方面的一种可能的实现方式中,所述复现操作还包括对该第二设计数据中的非参数化部分根据所述制程设计套件进行命名。
在本申请的第一方面的一种可能的实现方式中,所述第一电路版图文件格式和/或第二电路版图文件格式是GDS,GDSII,或者OASIS。
在本申请的第一方面的一种可能的实现方式中,所述集成电路设计库所支持的参数化单元类型包括场效应管、三极管、电阻、电容、孔、保护环。
在本申请的第一方面的一种可能的实现方式中,当该第二设计数据中的非参数化部分的分类结果包括场效应管时,根据所述分类结果进行参数提取包括提取场效应管的长度,宽度,原点或者方向。
在本申请的第一方面的一种可能的实现方式中,所述复现操作还包括用参数提取结果替换该第二设计数据中的非参数化部分。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种芯片设计流程的示意图;
图2为本申请实施例提供的一种集成电路设计库的管理方法的流程图;
图3为本申请实施例提供的一种反向复现自动化流程的示意图;
图4为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
本申请实施例提供了一种集成电路设计库的管理方法、设备及介质,用于解决现有技术中存在的问题。其中,本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为本申请实施例提供的一种芯片设计流程的示意图。如图1所示,芯片设计流程包括前端设计102,前仿真104,后端设计106,验证108,后仿真110以及数据包交付112。其中,前端设计102指的是在规格制定的基础上,也就是对芯片的目的和效能以及需要满足的协定标准等作出设定并且进行功能分配和单元划分的基础上,用硬件描述语言(hardwaredescription language,HDL)例如常见的Verilog HDL对电路***的硬件行为、结构及数据流进行描述。在前端设计102中一般以代码形式例如HDL来进行描述,也可能对于特定的模拟电路设计通过电路形式进行描述。在前端设计102之前可能进行专门的规格定义和***设计环节来确定芯片的需求分析和确定整体设计方向,例如确定成本控制水平、功耗敏感程度、所支持的联接方式、***安全等级等,以及进一步确定芯片架构、业务模块、供电***等设计,也就是进行功能分配和单元划分,例如确定各个***之间的交互、具体接口等。在前端设计102之后,进行前仿真104。前仿真104主要对前端设计102的设计方案进行功能和性能仿真,例如根据待测设计(design under test,DUT)制定验证方案,通过验证平台所提供的平台工具对环境框图进行绘制和配置并生成验证环境。前仿真104也叫前端仿真,有助于在芯片生产之前验证芯片设计是否符合需求例如逻辑时序的正确性等,并且通过验证方法学来提供相应标准的规范、统一化验证平台的编码风格和环境架构等。常见的验证方法学包括通用验证方法学(universal verification methodology,UVM),验证方法学手册(verification methodology manual,VMM)和开放验证方法学(open verificationmethodology,OVM)。在前仿真104之后进行后端设计106,后端设计106一般通过电子设计自动化(electronic design automation,EDA)工具,将HDL代码转换成逻辑电路图,并进行仿真验证;最后通过EDA工具的自动综合功能将逻辑电路图转换到门级电路网表(netlist),进行电路布局(floor plan)和绕线(routing)从而得到具体电路布线结构。后端设计106包括物理设计和版图设计(相对的,前端设计102包括逻辑设计),用于将经过前端设计102和前仿真104所得到的前端数据,其中所包括的器件符号、代码等,转换为可以用于后续环节的物理图形。也即,在前端设计102中使用HDL对电路***的硬件行为、结构及数据流进行寄存器传输级别(Register Transfer Level,RTL)的代码描述;这样生成的RTL代码经过前仿真104来验证代码设计的正确性,在后端设计106时通过逻辑综合工具例如EDA工具的自动综合功能,将RTL的代码描述转换成门级网表。后端设计106生成集成电路版图(integratedcircuit layout)用于后续生产厂商制作掩膜(Mask)的依据。集成电路版图是集成电路设计中最底层步骤物理设计的成果,在物理设计基础上通过布局、布线技术将逻辑综合的成果(门级网表)转换成物理版图文件,这个文件包含了各个硬件单元在芯片上的形状、面积和位置信息。版图设计必须遵守制造工艺的相关设计规则要求,并满足时序、面积、功耗等的约束。在后端设计106完成集成电路版图的设计后,进行验证108,包括进行设计规则检测(Design Rule Check,DRC)验证和版图逻辑图匹配(Layout Versus Schematics,LVS)验证。为了确保在后端设计106得到的集成电路版图的设计满足有关设计规则要求以及匹配前仿真104得到的逻辑图,DRC验证包括检査版图是否存在因违反设计规则而引起潜在断路、短路或不良效应,这些设计规则体现了代工厂对不同工艺参数制定出满足芯片制造良率的几何尺寸等方面的约束,例如确定满足最小宽度、最小间距等设计规则;LVS验证包括在晶体管级比较版图和逻辑图的连接性,如通过比较网表的器件类型、尺寸、连线等,并且发现版图和逻辑图之间不一致的地方,如节点不一致、器件不一致等。在验证108之后,进行后仿真110,也叫后端仿真。前端设计102一般对寄生电容、寄生电阻以及工艺参数等条件等做出一定预估并在设计上提供一定容限,在后端设计106时也就是生成物理图形时会引入实际的寄生电容、寄生电阻等,为了避免影响最终芯片产品的性能功耗,在后仿真110确定走线等对寄生电容、寄生电阻等的影响,并且反馈到前端设计102和后端设计106。在后仿真110之后,整个集成电路设计流程基本结束,接着进行数据包交付112,也就是将用于生产制造的版图文件交付给半导体加工厂,由后者利用半导体器件制造设备和技术来制造实际的硬件芯片。芯片制造包括在硅晶圆片上加工生成电路(前段生产)和在已经加工好电路的硅晶圆片基础上,填充通孔和制作晶体管间电连接线,进行切割和封装得到芯片成品(后段生产)。图1示出的芯片设计流程可以存在各种变体,可能对其中环节的复杂度进行增加或者减小,但是基本的设计流程包括进行前端设计和仿真以及随后进行后端设计和仿真。另外芯片设计数据中往往有各项签核(sign off)检查,这些代表了在前端设计和后端设计完成后的最后一次规则验证。
继续参阅图1,随着***级芯片(system on chip,SOC)的广泛应用以及单个芯片上集成的硬件规模和复杂程度增加还有更先进的工艺制程的发展,在芯片设计阶段就提前发现潜在问题并降低芯片流片失败风险变得非常重要,因此使得芯片验证占据了整个芯片设计流程的大部分工作量,也意味着芯片验证效率的提升和芯片验证环境的改进对芯片项目的研发周期以及后续生产效率有重大影响。上述的从前端设计102到数据包交付112之前的各个环节,构成了芯片设计的基本流程,其中各个环节可能使用到各种不同的EDA工具或者软件等,例如用于电路及版图设计的工具、用于版图物理验证的工具、用于RTL代码综合的工具、用于对时序功耗噪声等进行分析的工具等。有的EDA工具供应商提供设计平台化的产品,对芯片设计流程的各个环节提供整套的产品从而构成产品闭环。有的EDA工具供应商在某些环节上提供的技术和产品有突出的性能甚至成为业界标准。在进行集成电路设计开发的过程中,可能采用来自单一供应商的产品例如设计平台化的整套产品,也可能从多个供应商处选购每个环节最适合的技术和产品,因此可能需要集成具有差异化的工具,也面临数据模型的差异,例如不同EDA工具可能提供不同的标准模型和不同的设计库。另外,即使采用单个EDA工具供应商提供的设计平台化的产品,也面临通用数据库、通用数据模型带来的限制,因此影响设计上灵活性和设计流畅度。下面结合本申请其它实施例详细说明如何解决上述挑战。
图2为本申请实施例提供的一种集成电路设计库的管理方法的流程图。如图2所示,管理方法包括以下步骤。
步骤S210:响应于接收到所述集成电路设计库的数据导出请求,根据与所述数据导出请求相关联的第一电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,将所述集成电路设计库中的与所述数据导出请求对应的第一设计数据中的可参数化部分导出为以所述第一电路版图文件格式存储的参数化单元,以及将该第一设计数据中的剩余部分导出为以所述第一电路版图文件格式存储的非参数化单元。
步骤S220:响应于接收到所述集成电路设计库的数据导入请求,根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,确定与所述数据导入请求对应的以所述第二电路版图文件格式存储的第二设计数据中的可参数化部分,然后将该第二设计数据中的可参数化部分导入所述集成电路设计库中与该第二设计数据中的可参数化部分对应的参数化单元,以及确定该第二设计数据中的非参数化部分并对该第二设计数据中的非参数化部分进行复现操作以得到该第二设计数据中的非参数化部分的复现结果,然后将该复现结果导入所述集成电路设计库。
其中,所述复现操作至少包括根据所述集成电路设计库所支持的参数化单元类型对该第二设计数据中的非参数化部分进行分类并根据分类结果进行参数提取。
参阅上述集成电路设计库的管理方法的各个步骤以及附图2,集成电路设计库是在芯片设计流程中所使用的参考数据库,其一般包括标准的用程序编程接口(ApplicationProgramming Interface,API)用于EDA厂商、半导体设计者以及半导体制造商之间进行交互。EDA工具供应商可以通过提供集成电路设计库来提供标准数据模型和统一的设计数据存储格式,例如Cadence公司提供的开放获取库(OpenAccess,OA)也叫OA库,是提供了开放标准的数据API 和支持IC设计的API 的参考数据库用于在集成电路设计工具之间进行统一数据交换;还有Synopsys公司提供的银河(Milkway)库提供了统一设计的存储格式设计平台。类似的还有Empyrean,或者华大九天等提供的产品或者服务。集成电路设计库中一般包括参数化单元(Parameterized Cell,Pcell),这是可以进行参数化修改的电路单元,其描述了如晶体管和其它器件的可能的定制方法,这样半导体设计者可以在使用EDA工具中使用Pcell来快速定制器件提高设计效率。图1所示的芯片设计流程中,在前端设计102中生成的设计方案也即逻辑设计(例如RTL代码)需要在后端设计106被转换为版图文件并用于后续的制造环节。为了确保晶圆厂能够基于设计生产芯片且保证达到预期功能和性能,需要结合具体的半导体工艺有关细节提供一套反映半导体工艺细节的文档资料给EDA工具厂商用于物理验证。这种设计所需要的技术文件包叫做制程设计套件(Process Design Kit,PDK),PDK包含了反映制造工艺基本的元素,如晶体管、接触孔,互连线等。PDK的内容一般包括设计规则文件、电学规则文件、版图层次定义文件、SPICE仿真模型、器件版图和器件定制参数等。集成电路设计库中的Pcell也就是参数化单元就是PDK的内容中的便于修改设计参数、例化并重复调用的电路单元。另外,在后端设计106得到的集成电路版图设计的版图文件,一般有特定的文件格式,例如图形设计***(Graphic Design System,GDS)。GDS是一种用于存储掩膜图像的文件存储标准,GDS文件通过二进制编码来表示平面的几何图形、文字,以及图形的图层和属性等数据。当需要将设计数据从集成电路设计库例如OA库中导出时,一般导出为特定的文件格式例如GDS格式,这样作为EDA工具的输入资料使得EDA以二维方式呈现各层级电路设计版图。PDK的内容包含技术文件,用于版图设计和验证的工艺文件,其中包含特定文件格式如GDS格式的设计数据层和工艺层的映射关系定义、设计数据层的属性定义、在线设计规则、电气规则、色彩显示定义和图形格式定义等。上面提到,在进行集成电路设计开发的过程中,可能采用来自单一供应商的产品例如设计平台化的整套产品,也可能从多个供应商处选购每个环节最适合的技术和产品,因此可能涉及到不同的EDA工具、数据模型、设计数据存储格式或者设计平台,另外同一个EDA工具供应商的产品一般提供标准的通用数据模型和设计库,这样意味着在具体的芯片设计中可能面临设计数据在规范化和灵活性方面的问题。例如,在一些应用场景下,当设计数据从集成电路设计库例如OA库中导出为特定电路版图文件格式如GDS格式后,需要对导出的集成电路设计进行修改,而修改后的设计数据再次导入集成电路设计库时可能发现其中有些设计并不对应集成电路设计库中的参数化单元,这些设计可能是因为做出的改动超出了参数化单元所支持的范围也可能是因为在对设计数据进行修改时引入了其它的EDA工具,最后这些无法对应参数化单元的设计部分可能作为独立的单元存储在集成电路设计库中,并且后续再次导出这些独立的单元时也依然时作为独立的单元存储于集成电路版图设计文件中。但是,因为在最初从集成电路设计库中导出设计数据时,难以对设计数据所面临的修改和其它EDA工具的介入做出准确预估,所以需要通过大量的存储空间来存储这样的难以参数化的设计单元,从而给服务器带来负担也影响设计效率。此外,随着芯片上集成的硬件规模和复杂程度增加,芯片设计过程中可能需要面临多次类似的将GDS格式存储的数据导入集成电路设计库以及将设计数据从集成电路设计库导出为GDS格式存储的数据,而且每次导入导出操作之间也可能需要对集成电路设计做出修改也可能需要引入其它的EDA工具的影响。另外,来自不同的EDA工具供应商的技术和产品,可能采用不同的标准数据模型,因此使得各自的设计库中所支持的参数化单元的范围可能不一致,给定设计单元可能在一个设计库中是可参数化的而在另一个设计库中是不可参数化的。另外,不同的EDA工具或者不同的晶圆厂,可能提供不同的PDK的内容,这也有可能导致给定设计单元可能在一个设计库中是可参数化的而在另一个设计库中是不可参数化的。另外,不同的工具和产品可能采用不同的版图文件的存储格式,同一个集成电路设计可能导出为一种格式的版图文件然后以另一种格式的版图文件被导入,而受到格式差异的影响也可能产生难以参数化的设计单元或者用标准通用的参数化单元难以描述的设计单元。即使对于同一个EDA工具供应商的产品例如设计平台化的整套EDA工具,也可能因为对电路版图设计的改动超出了参数化单元所支持的范围而产生难以参数化的设计单元。此外,集成电路设计库,也即在芯片设计流程中所使用的参考数据库,一般由EDA工具供应商提供,但是其所支持的参数化单元的覆盖范围可能与导出设计数据后存储的文件格式并不一致,也就使得某些在PDK的内容中原本是以参数化单元方式存储的设计单元最后在导出后也作为不能参数化的独立单元存储在版图设计文件中,这样就使得后续导入时,这些在导出前以参数化单元方式存储的设计单元最后以不能参数化的独立单元方式存储在设计库中,从而增加了服务器负载和影响了设计效率。
继续参阅图2,在步骤S210中,响应于接收到所述集成电路设计库的数据导出请求,根据与所述数据导出请求相关联的第一电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,将所述集成电路设计库中的与所述数据导出请求对应的第一设计数据中的可参数化部分导出为以所述第一电路版图文件格式存储的参数化单元,以及将该第一设计数据中的剩余部分导出为以所述第一电路版图文件格式存储的非参数化单元。如此,考虑到了第一电路版图文件格式和所述集成电路设计库所支持的参数化单元类型之间的可能存在的差异,通过将所述集成电路设计库中的与所述数据导出请求对应的第一设计数据中的可参数化部分导出为以所述第一电路版图文件格式存储的参数化单元,实现了尽可能的压缩导出的版图文件的数据规模,以及通过将该第一设计数据中的剩余部分导出为以所述第一电路版图文件格式存储的非参数化单元,实现了适配第一电路版图文件格式。其中,第一电路版图文件格式是数据导出请求相关联的文件格式,可以是例如GDS格式或者任意的其它文件格式。数据导出请求代表了从集成电路设计库中导出设计数据的任意可能请求,可能是为了修改设计、或者为了功能验证或者为了与其它EDA工具进行联合或者任意其它需求。在步骤S220中,响应于接收到所述集成电路设计库的数据导入请求,根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,确定与所述数据导入请求对应的以所述第二电路版图文件格式存储的第二设计数据中的可参数化部分,然后将该第二设计数据中的可参数化部分导入所述集成电路设计库中与该第二设计数据中的可参数化部分对应的参数化单元。这里,第二电路版图文件格式与数据导入请求相关联,指代的是要导入集成电路设计库的文件的存储格式。第二电路版图文件格式可能与第一电路版图文件格式相同也可能不相同。因此,与所述数据导入请求相关联的第二电路版图文件格式代表了任意的可能的数据导入需求,也因此可以适用于上述的各种情况,例如不同的工具和产品可能采用不同的版图文件的存储格式等。并且,根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,确定与所述数据导入请求对应的以所述第二电路版图文件格式存储的第二设计数据中的可参数化部分,这样意味着,考虑到了第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型之间的可能存在的差异,确定了第二设计数据中的可参数化部分从而尽可能的压缩导入后的集成电路设计库的数据规模也适配了第二电路版图文件格式,因此可以应对任意的可能的数据导入需求。并且,在步骤S220中,确定该第二设计数据中的非参数化部分并对该第二设计数据中的非参数化部分进行复现操作以得到该第二设计数据中的非参数化部分的复现结果,然后将该复现结果导入所述集成电路设计库。这里,所述复现操作至少包括根据所述集成电路设计库所支持的参数化单元类型对该第二设计数据中的非参数化部分进行分类并根据分类结果进行参数提取。如此,通过确定第二设计数据中的可参数化部分也就确定了该第二设计数据中的非参数化部分,接着通过对该第二设计数据中的非参数化部分进行复现操作以得到该第二设计数据中的非参数化部分的复现结果,实现了根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,来对第二设计数据进行针对性的处理,将其中的可参数化部分导入对应的参数化单元从而压缩数据规模,以及将其中的非参数化部分进行复现操作包括对非参数化部分进行分类并根据分类结果进行参数提取,这样就等效于将非参数化部分也统一规范化。通过对数据导出请求进行如步骤S210所描述的操作,以及对数据导入请求进行如步骤S220所描述的操作,实现了分别基于与数据导出请求相关联的第一电路版图文件格式进行导出操作(包括将所述集成电路设计库中的与所述数据导出请求对应的第一设计数据中的可参数化部分导出为以所述第一电路版图文件格式存储的参数化单元,以及将该第一设计数据中的剩余部分导出为以所述第一电路版图文件格式存储的非参数化单元)以及基于与数据导入请求相关联的第二电路版图文件格式进行导入操作(包括根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,确定与所述数据导入请求对应的以所述第二电路版图文件格式存储的第二设计数据中的可参数化部分,然后将该第二设计数据中的可参数化部分导入所述集成电路设计库中与该第二设计数据中的可参数化部分对应的参数化单元,以及确定该第二设计数据中的非参数化部分并对该第二设计数据中的非参数化部分进行复现操作以得到该第二设计数据中的非参数化部分的复现结果,然后将该复现结果导入所述集成电路设计库),这样使得,无论第一电路版图文件格式是否与第二电路版图文件格式一致,也无论第一设计数据和第二设计数据之间的差异,都根据所述集成电路设计库所支持的参数化单元类型实现了统一化和规范化,有助于尽量降低导出的文件的数据规模和导入后的集成电路设计库的数据规模,而且尽量利用了集成电路设计库自身所提供的标准通用数据模型的支持也就是所支持的参数化单元类型,有利于整合不同的EDA工具供应商所提供的各种技术和产品,在提供设计灵活性同时也保证了设计效率。
继续参阅图2,上面提到,对于多个EDA工具供应商的应用场景,不同的EDA工具供应商的技术和产品可能采用不同的标准数据模型并且导致各自的设计库中所支持的参数化单元的范围可能不一致,另外不同的PDK的内容也可能导致给定设计单元可能在一个设计库中是可参数化的而在另一个设计库中是不可参数化的,另外不同的工具和产品可能采用不同的版图文件的存储格式而且格式差异也可能产生难以参数化的设计单元或者用标准通用的参数化单元难以描述的设计单元。对于同一个EDA工具供应商的应用场景,也可能因为对电路版图设计的改动超出了参数化单元所支持的范围而产生难以参数化的设计单元。面对这些应用场景,上述的一种集成电路设计库的管理方法提供了可靠的解决方案。具体地,在一种可能的实施方式中,所述第一电路版图文件格式与所述第二电路版图文件格式不同,所述第一设计数据与所述第二设计数据对应同一集成电路版图。这样意味着本申请实施例至少适用于版图文件格式发生变化的应用场景,这可能是采用不同的EDA工具或者PDK导致的。在一种可能的实施方式中,所述第一电路版图文件格式与所述第二电路版图文件格式不同,所述第一设计数据与所述第二设计数据对应不同集成电路版图。这样意味着本申请实施例至少适用于在版图文件格式发生变化同时也改动了原来的集成电路版图的应用场景,或者,对应了。在一种可能的实施方式中,所述第一电路版图文件格式与所述第二电路版图文件格式相同,所述第一设计数据与所述第二设计数据相同。这意味着本申请实施例至少适用于同一个EDA工具供应商的应用场景,或者对应了例如将设计数据导出后进行仿真验证然后又导入设计库的应用场景。上面提到,对于同一个EDA工具供应商的应用场景,也可能因为对电路版图设计的改动超出了参数化单元所支持的范围而产生难以参数化的设计单元。另外,对于同一个EDA工具供应商的应用场景,由EDA工具供应商提供的设计库,其所支持的参数化单元的覆盖范围可能与导出设计数据后存储的文件格式并不一致,也就使得某些在PDK的内容中原本是以参数化单元方式存储的设计单元最后在导出后也作为不能参数化的独立单元存储在版图设计文件中,这样就使得后续导入时,这些在导出前以参数化单元方式存储的设计单元最后以不能参数化的独立单元方式存储在设计库中。在一些实施例中,该第二设计数据中的非参数化部分对应该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元。这样意味着,当所述第一电路版图文件格式与所述第二电路版图文件格式相同且所述第一设计数据与所述第二设计数据相同时,通过该第二设计数据中的非参数化部分对应该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元,可以避免出现因为导入导出操作而产生难以参数化的设计单元,有利于降低服务器负载和提升设计效率。在一些实施例中,所述复现操作是反向复现操作,所述反向复现操作包括将该第二设计数据中的非参数化部分分类为该第一设计数据中的剩余部分所对应的参数化单元类型。如此,通过反向复现操作,有利于避免出现因为导入导出操作而产生难以参数化的设计单元,有利于降低服务器负载和提升设计效率。
在一种可能的实施方式中,该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元是通过比较所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。如此实现了适配所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型之间的差异。
在一种可能的实施方式中,该第一设计数据中的可参数化部分被导出得到的以所述第一电路版图文件格式存储的参数化单元是通过比较所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。如此实现了适配所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型之间的差异。
在一种可能的实施方式中,该第二设计数据中的非参数化部分是通过比较所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。如此实现了适配所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型之间的差异。
在一种可能的实施方式中,该第二设计数据中的可参数化部分是通过比较所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。如此实现了适配所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型之间的差异。
在一种可能的实施方式中,所述集成电路设计库是开放获取库,银河库,或者来自开源设计平台。这里,Cadence公司提供的开放获取库(OpenAccess,OA)也叫OA库,是提供了开放标准的数据API 和支持IC设计的API 的参考数据库用于在集成电路设计工具之间进行统一数据交换。Synopsys公司提供的银河(Milkway)库提供了统一设计的存储格式设计平台。开源设计平台可以是任意开源的标准数据库或者开源EDA工具。
在一种可能的实施方式中,该第一设计数据中的可参数化部分和该第二设计数据中的可参数化部分用于制程设计套件,所述制程设计套件是Synopsys,Cadence,Mentor,Empyrean,或者华大九天。在一些实施例中,该第一设计数据中的可参数化部分和该第二设计数据中的可参数化部分用于同一制程设计套件或者不同制程设计套件。在一些实施例中,所述复现操作还包括对该第二设计数据中的非参数化部分根据所述制程设计套件进行命名。如此,通过特定的命名规则,可以更好地实现分类和应黑色,例如在设备名称上加上工具名称和数字。
在一种可能的实施方式中,所述第一电路版图文件格式和/或第二电路版图文件格式是GDS,GDSII,或者OASIS。这里,还可以采用任意的版图设计文件的存储格式。
在一种可能的实施方式中,所述集成电路设计库所支持的参数化单元类型包括场效应管、三极管、电阻、电容、孔、保护环。在一些实施中,当该第二设计数据中的非参数化部分的分类结果包括场效应管时,根据所述分类结果进行参数提取包括提取场效应管的长度,宽度,原点或者方向。在一些实施中,所述复现操作还包括用参数提取结果替换该第二设计数据中的非参数化部分。这里,对于场效应管的数据模型,可以通过提取场效应管的长度,宽度,原点或者方向来进行参数提取,并且由此得到的复现结果还可以用来替换该第二设计数据中的非参数化部分,从而完成等效的对非参数化部分的统一规范化。
图3为本申请实施例提供的一种反向复现自动化流程的示意图。如图3所示,反向复现自动化流程包括以下步骤。
步骤S302:导入GDS。
步骤S304:获得带有打散的Pcell的OA库。
步骤S306:对打散的Pcell进行分类。
步骤S308:按照分类分别建立映射。
步骤S310:反向复现Pcell。
步骤S312:获得带有打散的Pcell的OA库。
参阅图2的有关细节,所述第一电路版图文件格式与所述第二电路版图文件格式相同且所述第一设计数据与所述第二设计数据相同时,通过该第二设计数据中的非参数化部分对应该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元,可以避免出现因为导入导出操作而产生难以参数化的设计单元,有利于降低服务器负载和提升设计效率。因此,所述复现操作是反向复现操作,所述反向复现操作包括将该第二设计数据中的非参数化部分分类为该第一设计数据中的剩余部分所对应的参数化单元类型。如此,通过反向复现操作,有利于避免出现因为导入导出操作而产生难以参数化的设计单元,有利于降低服务器负载和提升设计效率。具体地,设所述第一电路版图文件格式与所述第二电路版图文件格式相同且同为GDS格式,所述集成电路设计库是OA库。打散的Pcell指的是非参数化部分也就是设计数据中难以参数化的设计单元。通过图3所示的各个步骤,最后实现反向复现,从而避免了将难以参数化的设计单元以独立单元的方式存储在OA库中,有利于降低服务器负载和提升设计效率。
参见图4,图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者***实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷***部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种***,该***包括多个计算设备,每个计算设备的结构可以参照上述的计算设备的结构。该***可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行上述方法实施例中的方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例***中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种集成电路设计库的管理方法,其特征在于,所述管理方法包括:
响应于接收到所述集成电路设计库的数据导出请求,根据与所述数据导出请求相关联的第一电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,将所述集成电路设计库中的与所述数据导出请求对应的第一设计数据中的可参数化部分导出为以所述第一电路版图文件格式存储的参数化单元,以及将该第一设计数据中的剩余部分导出为以所述第一电路版图文件格式存储的非参数化单元;
响应于接收到所述集成电路设计库的数据导入请求,根据与所述数据导入请求相关联的第二电路版图文件格式和所述集成电路设计库所支持的参数化单元类型,确定与所述数据导入请求对应的以所述第二电路版图文件格式存储的第二设计数据中的可参数化部分,然后将该第二设计数据中的可参数化部分导入所述集成电路设计库中与该第二设计数据中的可参数化部分对应的参数化单元,以及确定该第二设计数据中的非参数化部分并对该第二设计数据中的非参数化部分进行复现操作以得到该第二设计数据中的非参数化部分的复现结果,然后将该复现结果导入所述集成电路设计库,
其中,所述复现操作至少包括根据所述集成电路设计库所支持的参数化单元类型对该第二设计数据中的非参数化部分进行分类并根据分类结果进行参数提取,
所述数据导出请求对应第一文件,所述第一文件的存储格式是所述第一电路版图文件格式,所述数据导入请求对应第二文件,所述第二文件的存储格式是所述第二电路版图文件格式,
该第二设计数据中的非参数化部分对应该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元,所述复现操作是反向复现操作,所述反向复现操作包括将该第二设计数据中的非参数化部分分类为该第一设计数据中的剩余部分所对应的参数化单元类型,
该第一设计数据中的剩余部分被导出得到的以所述第一电路版图文件格式存储的非参数化单元是通过比较所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定,该第一设计数据中的可参数化部分被导出得到的以所述第一电路版图文件格式存储的参数化单元是通过比较所述第一电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定,
该第二设计数据中的非参数化部分是通过比较所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定,该第二设计数据中的可参数化部分是通过比较所述第二电路版图文件格式所支持的参数化单元类型和所述集成电路设计库所支持的参数化单元类型确定。
2.根据权利要求1所述的管理方法,其特征在于,所述第一电路版图文件格式与所述第二电路版图文件格式不同,所述第一设计数据与所述第二设计数据对应同一集成电路版图。
3.根据权利要求1所述的管理方法,其特征在于,所述第一电路版图文件格式与所述第二电路版图文件格式不同,所述第一设计数据与所述第二设计数据对应不同集成电路版图。
4.根据权利要求1所述的管理方法,其特征在于,所述第一电路版图文件格式与所述第二电路版图文件格式相同,所述第一设计数据与所述第二设计数据相同。
5.根据权利要求1所述的管理方法,其特征在于,所述集成电路设计库是开放获取库,银河库,或者来自开源设计平台。
6.根据权利要求1所述的管理方法,其特征在于,该第一设计数据中的可参数化部分和该第二设计数据中的可参数化部分用于制程设计套件,所述制程设计套件是Synopsys,Cadence,Mentor,Empyrean,或者华大九天。
7.根据权利要求6所述的管理方法,其特征在于,该第一设计数据中的可参数化部分和该第二设计数据中的可参数化部分用于同一制程设计套件或者不同制程设计套件。
8.根据权利要求6所述的管理方法,其特征在于,所述复现操作还包括对该第二设计数据中的非参数化部分根据所述制程设计套件进行命名。
9.根据权利要求1所述的管理方法,其特征在于,所述第一电路版图文件格式和/或第二电路版图文件格式是GDS,GDSII,或者OASIS。
10.根据权利要求1所述的管理方法,其特征在于,所述集成电路设计库所支持的参数化单元类型包括场效应管、三极管、电阻、电容、孔、保护环。
11.根据权利要求10所述的管理方法,其特征在于,当该第二设计数据中的非参数化部分的分类结果包括场效应管时,根据所述分类结果进行参数提取包括提取场效应管的长度,宽度,原点或者方向。
12.根据权利要求10所述的管理方法,其特征在于,所述复现操作还包括用参数提取结果替换该第二设计数据中的非参数化部分。
13.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至12中任一项所述的方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209011.XA CN116069726B (zh) | 2023-03-07 | 2023-03-07 | 一种集成电路设计库的管理方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310209011.XA CN116069726B (zh) | 2023-03-07 | 2023-03-07 | 一种集成电路设计库的管理方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116069726A CN116069726A (zh) | 2023-05-05 |
CN116069726B true CN116069726B (zh) | 2023-06-06 |
Family
ID=86178622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310209011.XA Active CN116069726B (zh) | 2023-03-07 | 2023-03-07 | 一种集成电路设计库的管理方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069726B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757145B (zh) * | 2023-08-16 | 2024-04-30 | 合肥奎芯集成电路设计有限公司 | 集成电路设计版图处理方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838930A (zh) * | 2014-03-12 | 2014-06-04 | 中国科学院微电子研究所 | 一种基于图形技术编辑器实现参数化单元的方法及*** |
CN113919259A (zh) * | 2021-12-13 | 2022-01-11 | 深圳市华杰智通科技有限公司 | 集成电路版图设计***及方法 |
CN114519328A (zh) * | 2020-11-19 | 2022-05-20 | Tcl科技集团股份有限公司 | 一种集成电路参数化方法、装置、存储介质及终端设备 |
-
2023
- 2023-03-07 CN CN202310209011.XA patent/CN116069726B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838930A (zh) * | 2014-03-12 | 2014-06-04 | 中国科学院微电子研究所 | 一种基于图形技术编辑器实现参数化单元的方法及*** |
CN114519328A (zh) * | 2020-11-19 | 2022-05-20 | Tcl科技集团股份有限公司 | 一种集成电路参数化方法、装置、存储介质及终端设备 |
CN113919259A (zh) * | 2021-12-13 | 2022-01-11 | 深圳市华杰智通科技有限公司 | 集成电路版图设计***及方法 |
Non-Patent Citations (1)
Title |
---|
一种适用于IC-CAD***的集成数据管理***―IDMI;薛华,李劲松,童家榕,章开和,唐璞山;计算机辅助设计与图形学学报(第03期);11-12 * |
Also Published As
Publication number | Publication date |
---|---|
CN116069726A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
US8788988B2 (en) | Managing consistency of multiple-source fabrication data in an electronic design environment | |
US11922106B2 (en) | Memory efficient scalable distributed static timing analysis using structure based self-aligned parallel partitioning | |
US8196075B1 (en) | Generation of input/output models | |
CN112100949A (zh) | 集成电路芯片的自动开发方法及装置、电子设备 | |
US11994979B2 (en) | Smart regression test selection for software development | |
CN116069726B (zh) | 一种集成电路设计库的管理方法、设备及介质 | |
US10437946B1 (en) | Using implemented core sources for simulation | |
CN113343629B (zh) | 集成电路验证方法、代码生成方法、***、设备和介质 | |
US7496861B2 (en) | Method for generalizing design attributes in a design capture environment | |
CN115455877B (zh) | 一种验证平台生成装置、方法、介质及电子设备 | |
CN112464636B (zh) | 约束文件的比较方法、装置、电子设备和存储介质 | |
US11734489B2 (en) | Circuit layout verification | |
US8782587B2 (en) | Systems and methods for generating a higher level description of a circuit design based on connectivity strengths | |
US20220082620A1 (en) | Secure and configurable test interace for an intellectual property (ip) block in a system on a chip (soc) | |
US11416661B2 (en) | Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow | |
CN118153517B (zh) | 用于芯片设计的自动化布局方法、计算机设备及介质 | |
US20230016865A1 (en) | Diagnosis of inconsistent constraints in a power intent for an integrated circuit design | |
US20240176943A1 (en) | Auto-creation of custom standard cells | |
CN117574822B (zh) | 用于芯片的面向优化设计测试方法、计算机设备及介质 | |
US20240169134A1 (en) | Transistor-level synthesis | |
US11429773B1 (en) | Methods, systems, and computer program product for implementing an electronic design using connect modules with dynamic and interactive control | |
CN111539174B (zh) | 一种基于证明核的回归测试方法、存储介质及*** | |
US20220284161A1 (en) | Automated design hierarchy identification and simplified reduced model generation for static verification of circuit designs | |
US20220327266A1 (en) | Generating a reduced block model view on-the-fly |
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 |