首页> 中国专利> 工艺设计工具包开发方法、装置、电子设备及存储介质

工艺设计工具包开发方法、装置、电子设备及存储介质

摘要

本公开提供一种工艺设计工具包开发方法,包括:基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包;对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,得到目标工艺设计工具包。以多电子设计自动化工具平台为基础开发组件,提高工艺设计工具包的复用性,以预设工艺设计工具包为标准,验证修正相关组件,保证多工具平台下工艺数据的一致性。

著录项

  • 公开/公告号CN112270146A

    专利类型发明专利

  • 公开/公告日2021-01-26

    原文格式PDF

  • 申请/专利权人 中国科学院微电子研究所;

    申请/专利号CN202011175714.8

  • 申请日2020-10-28

  • 分类号G06F30/32(20200101);G06F8/20(20180101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人周天宇

  • 地址 100029 北京市朝阳区北土城西路3号

  • 入库时间 2023-06-19 09:41:38

说明书

技术领域

本公开涉及集成电路设计自动化领域,具体涉及一种工艺设计工具包开发方法、装置、电子设备及存储介质。

背景技术

工艺设计工具包(PDK,Process Design Kit)是基于集成电路(IC,IntegratedCircuit)生产工艺而开发的一整套包括器件信息、工艺信息和验证文件的设计数据包,也是工艺信息、IC设计方法、电子设计自动化(EDA,Electronics Design Automation)技术集合的有形载体。

随着芯片技术的不断发展,每个芯片生产厂都有众多不同的工艺线,为了有效地促进IC生产工艺的使用,必须建立与不同工艺线相对应的PDK,把生产工艺完整准确的迁移到EDA工具平台,保证芯片设计者获取到准确的工艺信息。不同的EDA平台电各自拥有不同的EDA工具,不同EDA工具之间的数据标准和底层函数不兼容。除此之外,PDK涵盖的内容组件繁多,后期对PDK进行更新和维护工作量也变得异常复杂。因此,为了让IC设计者能选择更多EDA工具进行芯片设计,芯片生产厂为每条工艺线开发多套适用于不同EDA工具并能保证工艺数据的一致性的PDK成为了一项艰巨的任务。

公开内容

为克服上述问题的至少一个方面,本公开提供了一种工艺设计工具包开发方法,包括:

基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包;

对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,得到目标工艺设计工具包。

可选地,所述基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包,包括:

基于Open Access数据库,构建多个共用组件;

基于多个电子设计自动化工具平台的底层函数库,构建所多个强相关组件;

将所述多个共用组件和所述多个强相关组件集成打包,生成所述标准工艺设计工具包。

可选地,所述多个共用组件包括Symbol View、CDF参数、Layout View和工艺文件;所述多个强相关组件包括器件网表和回调函数。

可选地,所述对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,包括:

利用所述标准工艺设计工具包生成实际电路原理图和实际版图,及利用预设工艺设计工具包生成参考电路原理图和参考版图;

对照所述参考电路原理图,修正所述实际电路原理图,得到修正后的实际电路原理图;

对照所述参考版图,修正所述实际版图,得到修正后的实际版图;

对所述修正后的实际电路原理图和所述修正后的实际版图进行物理规则检查和原理图与版图一致性检查。

可选地,所述对照所述参考电路原理图,修正所述实际电路原理图,包括:

导出与所述实际电路原理图对应的实际网表文件,以及导出与所述参考电路原理图对应的参考网表文件;

判断所述实际网表文件的定义参数与所述参考网表文件的定义参数是否相同;

若所述实际网表文件的定义参数与所述参考网表文件的定义参数相同,则保持所述实际网表文件的原始定义参数;

若所述实际网表文件的定义参数与所述参考网表文件的定义参数不相同,则对照所述参考网表文件的定义参数,修正所述实际网表文件的定义参数。

可选地,所述对照所述参考版图,修正所述实际版图,包括:

导出与所述实际版图对应的实际版图文件,以及导出与所述参考版图对应的参考版图文件;

判断所述实际版图文件的定义参数与所述参考版图文件的定义参数是否相同;

若所述实际版图文件的定义参数与所述参考版图文件的定义参数相同,则保持所述实际版图文件的原始定义参数;

若所述实际版图文件的定义参数与所述参考版图文件的定义参数不相同,则对照所述参考版图文件的定义参数,修正所述实际版图文件的定义参数。

可选地,在所述得到目标工艺设计工具包之前,对所述标准工艺设计工具包进行常规验证,包括基于设计规范Specs的验证和集成电路设计流程的验证。

本公开还提供一种工艺设计工具包开发装置,包括:

构建模块,用于基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包;

修正模块,用于对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,得到目标工艺设计工具包。

本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求任一项所述的工艺设计工具包开发方法。

本公开还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求任一项所述的工艺设计工具包开发方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性地示出了本公开实施例的工艺设计工具包开发方法的流程图;

图2示意性地示出了本公开另一实施例的工艺设计工具包开发方法的流程图;

图3示意性地示出了本公开另一实施例的工艺设计工具包开发方法的流程图;

图4示意性地示出了本公开另一实施例的工艺设计工具包开发方法的流程图;

图5示意性地示出了本公开另一实施例的工艺设计工具包开发方法的流程图;

图6示意性地示出了本公开实施例的工艺设计工具包开发装置的框图;

图7示意性地示出了本公开实施例的电子设备的硬件结构图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人上所理解的通常意义。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

参见图1,本公开提供了一种工艺设计工具包开发方法,包括:

步骤S101,基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包;

步骤S102,对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,得到目标工艺设计工具包。

基于不同的EDA工具平台的数据标准和底层函数构建标准工艺设计工具包,使得PDK兼容不同的EDA工具平台,保证不同EDA工具平台之间工艺数据的一致性。对照修正PDK的设置信息,进一步确保开发的PDK的可复用性和可兼容性,避免为每条工艺线下不同EDA开发不同的PDK,减少开发工作量,有利于后期维护和更新的有效实现。

作为一个可选实施例,参见图2,步骤S101,基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包,至少包括:

步骤S211,基于OpenAccess数据库,构建多个共用组件;

步骤S212,基于多个电子设计自动化工具平台的底层函数库,构建所多个强相关组件;

步骤S213,将所述多个共用组件和所述多个强相关组件集成打包,生成所述标准工艺设计工具包。

具体的,所述多个共用组件包括Symbol View、CDF参数、Layout View和工艺文件techfile等;所述多个强相关组件包括器件网表和回调函数等。

在本实施例中,PDK的共用组件是指在各个EDA工具平台下数据内容和/或表现形式相同的基本信息。所述基本信息来源于工艺数据和EDA设计标准相关的源信息。在步骤S211中,采用Open Access数据库开发共用组件,使得所述共用组件可在不同的EDA工具平台下直接读取和调用,避免需要额外通过EDA工具解析器实现调用,以保证PDK的可复用性。在步骤S212中,调用EDA工具平台的底层函数,并利用EDA工具的编程语言(例如Skill、Tcl)完成PDK强相关组件的开发,所述强相关组件可基于EDA工具内部的解释器进行工作。在步骤S2013,将PDK的所有共用组件和强相关组件集成打包生成完整的标准PDK,以进行对所述标准PDK组件的验证工作。

作为一种可选实施例,参见图3,在步骤S102中,对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,至少包括:

步骤S311,利用所述标准工艺设计工具包生成实际电路原理图和实际版图,及利用预设工艺设计工具包生成参考电路原理图和参考版图;

步骤S312,对照所述参考电路原理图,修正所述实际电路原理图,得到修正后的实际电路原理图;

步骤S313,对照所述参考版图,修正所述实际版图,得到修正后的实际版图;

步骤S314,对所述修正后的实际电路原理图和所述修正后的实际版图进行物理规则检查和原理图与版图一致性检查。

在本实施例中,对所述标准PDK的组件进行验证,即对基于标准PDK生成的参数化单元的电路原理和版图与基于预设PDK生成的参数化单元的电路原理图和版图进行对比验证。对比验证的设置信息具体包括电路原理图的CDF参数、Callback回调函数,auCDL网表、Hspice网表和Spectre网表等,以及版图的工艺图层、图形尺寸位置、物理设计规和Callback回调函数等。其中,所述参数化单元包括但不限于MOS管器件、电阻器件、电容器件、三极管器件、二极管器件、可变电容器件、电感器件、ESD器件、IO器件等。同时,在本公开中不对所述预设PDK的类型做具体的限制,本领域的技术人员可根据自身实际的需求,选择一个或多个不同的PDK作为预设PDK进行对比验证。

作为一种可选实施例,参见图4,在步骤S312中,对照所述参考电路原理图,修正所述实际电路原理图,至少包括:

步骤S4121,导出与所述实际电路原理图对应的实际网表文件,以及导出与所述参考电路原理图对应的参考网表文件;

步骤S4122,判断所述实际网表文件的定义参数与所述参考网表文件的定义参数是否相同,若相同,执行步骤S4123,若不相同,则执行步骤S4124;

步骤S4123,保持所述实际网表文件的原始定义参数;

步骤S4124,对照所述参考网表文件的定义参数,修正所述实际网表文件的定义参数。

在步骤S4121之前,还包括判断每个参数化单元的CDF参数是否与输出网表有关。所述输出网表具体是auCDL网表、Hspice网表和Spectre网表。如果与输出网表无关的CDF参数,直接保留默认值。如果是与输出网表有关的CDF参数,则对其进行实例化赋值,赋值包括但不限于最小值、中间值、最大值、默认值或特殊值,产生具有不同实例化的参数值组合的参数化单元的大批量测试符号图库。

在步骤S4121中,从基于实际电路原理图产生的大批量测试符号图库导出各种格式的网表文件为实际网表文件(Netlist_oa),从基于参考电路原理图产生的大批量测试符号图库导出各种格式的网表文件为参考网表文件(Netlist_Ref)。应用正则匹配方法对比实际网表文件和参考网表文件的差异,对比的主要内容为网表的定义参数,包括器件前缀、器件端口数量、器件模型名称、器件参数、器件参数值等,其中,器件参数中与仿真相关的CDF参数(例如,multi参数和m参数)需要在不同的赋值情况下进行对比,以证实回调函数正确执行并产生了准确的器件参数值。

在步骤S4122,判断所述实际网表文件的定义参数与所述参考网表文件的定义参数是否相同。为了更加清楚、完整地描述本实施例,现对实际网表和参考网表的对比方式进行具体的举例说明。

以电阻器件的CDL网表为例:

Netlist_Ref:RR2 net26 net25$[res_pp1]r=1.41219K length=80e-6width=15e-6

Netlist_oa:RR2 net28 net29$[res_pp1]r=1.41219K length=80u width=3u*5

以上两个CDL网表中器件端口名称不一样,但是器件的端口数量一致,可以通过验证(PASS);两个CDL网表中器件参数width的参数值格式不一致,但是代表的值一致,可以忽略(WAVE)差异。

以MOS器件的HSpice网表为例:

Netlist_Ref:xpm1 net082 net083 net084 net086 net085 pch_svt_iso_dnw_nbl_5p0v length=3e-6 width=20e-6 multi=2 m=3 ad=5.08e-12 as=8.96e-12 pd=20.508e-6 ps=40.896e-6 option_vop=7.7 dtemp=0 sa=1.37096e-6 sb=1.37096e-6 sca=0 scb=0 scc=0 nrd=12.7e-3 nrs=22.4e-3 isoring=0

Netlist_oa:XPM1 net78 net77 net76 net74 net75 pch_svt_iso_dnw_nbl_5p0v length=3u width=20u m=3multi=2 ad=5.08p as=8.96p pd=20.508u ps=40.896u option_vop=7.7 dtemp=0 sa=1.37096u sb=1.37096u sca=0 scb=0 scc=0 nrd=12.7m nrs=22.4m isormg=0

以上两个HSpice网表中器件前缀和器件名的大小写不一致,但是不影响仿真,可以忽略(WAVE);两个HSpice网表中器件参数area和参数pj出现的顺序不同,但是参数值相同,不影响仿真可以通过验证(PASS)。

以MOS器件的Spectre网表为例:

Netlist_Ref:D1(net0204 net0203)epdio_psd_sdnw area=479.5p pj=134.828u m=(3)*(8)*(2)trise=25

Netlist_oa:D1(netl94 net195)epdio_psd_sdnw area=479.5p pj=134.8284um=48 trise=25

以上两个Spectre网表中器件端口名称不一样,但是器件的端口数量一致,可以通过验证(PASS);参数m的参数值格式不一致,但是代表的值一致,可以忽略(WAVE)差异。

根据对比的差异结果,若所述实际网表文件的定义参数与所述参考网表文件的定义参数相同,执行步骤S4123,保持所述实际网表文件的原始定义参数;若所述实际网表文件的定义参数与所述参考网表文件的定义参数不相同,则执行步骤S4124,对照所述参考网表文件的定义参数,修正所述实际网表文件的定义参数。需要说明的是,在修正完成后,重复步骤S4121-S4124,直至所述网表文件与所述参考网表文件一致,则对比验证结束。

作为一种可选实施例,参见图5,在步骤S313中,对照所述参考版图,修正所述实际版图,至少包括:

步骤S5131,导出与所述实际版图对应的实际版图文件,以及导出与所述参考版图对应的参考版图文件;

步骤S5132,判断所述实际版图文件的定义参数与所述参考版图文件的定义参数是否相同,若相同,执行步骤S5133,若不相同,执行步骤S5134;

步骤S5133,保持所述实际版图文件的原始定义参数;

步骤S5134,对照所述参考版图文件的定义参数,修正所述实际版图文件的定义参数。

在步骤S5131之前,还包括判断每个参数化单元的CDF参数是否与器件版图有关。如果与器件版图无关的CDF参数,直接保留默认值。如果是与器件版图有关的CDF参数,则对其进行实例化赋值,赋值包括但不限于最小值、中间值、最大值、默认值或特殊值,产生具有不同实例化的参数值组合的参数化单元的大批量测试版图库。

在步骤S5131中,从基于实际版图产生的大批量测试版图库导出各种格式的版图文件为实际版图文件(GDS_oa),从基于参考版图产生的大批量测试版图库导出各种格式的版图文件为参考版图文件(GDS_Ref)。应用正则匹配方法对比实际版图文件和参考版图文件的差异,对比的主要内容为版图的定义参数,包括器件图层、器件物理尺寸、图形位置、器件参数、器件参数值等,其中,器件参数中与图形相关的CDF参数(例如,MOS管沟道长度length和沟道宽度width等参数)需要在不同的赋值情况下进行对比,以证实回调函数正确执行并产生了准确的器件版图。

在步骤S5132中,判断所述实际版图文件的定义参数与所述参考版图文件的定义参数是否相同,若相同,执行步骤S5133,保持所述实际版图文件的原始定义参数;若不相同,执行步骤S5134,据版图文件对比的差异结果,对照所述参考版图文件的定义参数,修正所述实际版图文件的定义参数。需要说明的是,在修正完成后,重复步骤S5131-S5134,直至所述网表文件与所述参考网表文件一致,则对比验证结束。在实际的版图验证过程中,器件版图图层、器件物理尺寸、图形位置、器件参数、器件参数值的差异非常明显,容易发现和修正。但器件图形的格点不一致的差异容易忽略,这个差异通常由不同EDA工具平台底层函数的行为不一致引起,作图程序内部调用的函数不同,导致了最终版图的格点不匹配,对于格点不一致的修正需要通过修改程序内部函数的行为来实现。

作为一种可选实施例,在步骤S102中,得到目标工艺设计工具包之前,还需要对所述标准工艺设计工具包进行常规验证,包括基于设计规范Specs的验证和集成电路设计流程的验证等。

参见图6,本公开还提供了一种工艺设计工具包开发装置600,至少包括:

构建模块601,用于基于多个电子设计自动化工具平台的底层函数库构建标准工艺设计工具包;

修正模块602,用于对照预设工艺设计工具包的设置信息,修正所述标准工艺设计工具包的设置信息,得到目标工艺设计工具包。

参见图7,图7示出了一种电子设备的硬件结构图。

本实施例中所描述的电子设备,包括:

存储器701、处理器702及存储在存储器701上并可在处理器702上运行的计算机程序,处理器702执行该程序时实现前述图1所示实施例中描述的工艺设计工具包开发方法。

进一步地,该电子设备还包括:

至少一个输入设备703;至少一个输出设备704。

上述存储器701、处理器702输入设备703和输出设备704通过总线705连接。

其中,输入设备703具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备704具体可为显示屏。

存储器701可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非易失的存储器(non-volatile memory),例如磁盘存储器。存储器701用于存储一组可执行程序代码,处理器702与存储器701耦合。

进一步地,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子设备中,该计算机可读存储介质可以是前述图7所示实施例中的电子设备。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1所示实施例中描述的工艺设计工具包开发方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本公开所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本公开所提供的一种工艺设计工具包开发方法、装置、电子设备及可读存储介质的描述,对于本领域的技术人员,依据本公开实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本公开的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号