一种利用可变参数化单元对实例进行缩放的方法与流程

文档序号:20579367发布日期:2020-04-29 01:21阅读:168来源:国知局
一种利用可变参数化单元对实例进行缩放的方法与流程

本发明涉及eda设计领域,特别涉及一种对实例进行缩放的方法。



背景技术:

集成电路是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、二极管、电阻、电容等元件通过布线互联一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构。

所有元器件在结构上已经组成一个整体,整个电路的体积大大减小,引出线和焊接点的数目也大为减小,使电子元件向着微型化、低功耗和高可靠性迈进了一大步。

集成电路的发展促进了eda工具的发展,当前的ic(集成电路,下同)设计面临着一系列挑战,当前的集成电路性能越来越强,规模越来越大,深亚微米工艺带来的设计困难,使整个集成电路设计的复杂度大大提高,对eda设计工具提出了更高的要求。

eda以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。设计人员完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。eda技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

在集成电路版图设计过程中,通过掩模进行光刻,有时可能需要放大图形,如在芯片logo上,根据芯片的大小,对logo进行缩放,与芯片大小匹配。然而,现有技术无法快速方便的对现有单元进行放缩。当工艺尺寸变化时,同样的设计单元需要根据不同的尺寸进行重新绘制版图。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种利用可变参数化单元对实例进行缩放的方法,利用构造好的可变参数化单元模板,在库中定义用于放大的可变参数化单元,该单元含有参数库、单元、视图、放大等参数,该单元作为内部实例化将要放大的单元用。脚本会从设计窗口中读取所有图形数据,依次进行缩放后放入新的实例化单元中。

为实现上述目的,本发明提出了利用可变参数化单元对实例进行缩放的方法,包括以下步骤:

1)实现可变参数化单元脚本模板,设定脚本解析参数及具体实现函数;

2)将需要缩放的实例作为参数传给可变参数化单元;

3)上述可变参数化单元脚本模板根据设定的参数及预设的实现函数进行计算,得到缩放后的虚拟设计单元;

4)使用所述缩放后的虚拟设计单元生成可放大实例。

进一步地,所述设定脚本解析参数包括:库、单元、视图、放大。

进一步地,所述设定具体实现函数包括:从指定的设计窗口中读取数据,以及依次对每个图形形状进行缩放。

进一步地,所述设定具体实现函数进一步包括:当在设计窗口中遇到引用其他设计单元时,需要循环展开这些其他设计单元的引用,把所有的图形虚拟地提升到当前设计单元中,然后进行缩放;经过缩放后产生新的图形存在到一个新虚拟设计单元中。

为实现上述目的,本发明至少一个实施例提供一种利用可变参数化单元对实例进行缩放的装置,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时,实现上述利用可变参数化单元对实例进行缩放的方法的步骤。

为实现上述目的,本发明至少一个实施例提供一种计算机可读存储介质,其上存储有程序,所述程序可被处理器执行,实现上述利用可变参数化单元对实例进行缩放的方法的步骤。

集成电路版图(iclayout)设计是集成电路设计中最为重要、最为关键的步骤,直接决定着整个芯片设计的成败。本发明是利用可变参数化单元对实例进行缩放的,在集成电路版图设计中,能对已有设计单元进行快速缩放,可以对之前设计库里面的某些设计单元进行重用,比如调用已有的logo(标识)单元进行缩放,可以放到新的芯片上。缩放操作非常简单,只需要用户指定一个放大的参数就可以完成芯片中logo单元的设计,在简单几十秒钟内就可以完成需要几小时、甚至一两天才能完成的logo图形绘制,使设计人员能有效地对实例进行放缩,提高了集成电路版图设计人员的效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的可变参数化单元生成的pmos基本器件示意图;

图2为根据本发明的可变参数化单元结构示意图;

图3为根据本发明的利用可变参数化单元对实例进行缩放的方法流程图;

图4为根据本发明的实例示意图;

图5为根据本发明的参数提取示意图;

图6为根据本发明的按照实际放大实例化后的实例的示意图;

图7为根据本发明的对实例进行缩放的装置框图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明的实施例中,当用户对设计单元进行引用——即创建实例时,利用可变参数化单元(variablecell,vcell,用于定义基本器件,这些基本器件可以根据不同的参数产生不同的大小、形状,且满足设计约束)方式直接对设计单元中图形进行缩放的方法。

①本发明利用可变参数化单元,是一种根据预先构造好的模型、通过配置参数快速生成版图(单元)的机制,来生成在集成电路版图中可放大实例。增加缩放功能,仅仅在改变放大数值的情况下可能够满足不同尺寸芯片的使用。

②通过可变参数化单元去实现该功能,先定义一个可变参数化单元实例,该实例的参数含有放大、库、单元、视图等,可变参数化单元内部脚本能解析设定的参数,能将指定的库/单元/视图从设计窗口读出,并按指定放大参数对该设计窗口里形状放大或缩小。当需要创建一个放大实例时,将该实例的库、单元、视图及放大作为参数传给可变参数化单元,将可变参数化单元实例化。

③由库/单元/视图指定的设计单元本身也可以是一个可变参数化单元;已有设计单元中引用其他的设计也可以跟着当前设计单元缩放;可根据需要对已有设计库中设计单元进行缩放,满足新设计工艺需求。

目前世界上主流的eda工具生产商底层数据都是应用的oa(开源数据库)数据,这样设计出来的产品用不同公司的软件也可打开,全世界实现了数据兼容,大大方便了设计人员。对实例放缩的方法还可以通过修改数据存储结构实现,但如果修改了底层存储模式可能造成数据不兼容,无法在不同的软件中打开,造成很大不便。可变参数化单元和普通单元在不同的名字空间,对可变参数化单元的管理,包括生成、删除、修改等操作都是在一个单独的管理器中进行,可变参数化单元以单元视图的形式存在,通过可变参数化单元实现,安全,快捷。

可变参数化单元(vcell)是一种根据预先构造好的模型、通过配置参数快速生成版图(单元)的机制,通常是用于针对某一个具体工艺尺寸实现其所有的基本器件,比如n型场效应管、p型场效应管、电阻等器件,图1为根据本发明的可变参数化单元生成的pmos基本器件示意图。

图2为根据本发明的可变参数化单元结构示意图,如图2所示,可变参数化单元脚本可采用tcl语言编写,一般会提供参数输入接口,脚本内根据输入参数,通过一定规则及算法计算出相应的图形形状及大小,被调用时,这些图形会被实例化成真正图形。

①通过文本编辑工具或图形化编辑工具编写一个可变参数化单元模型。

②配之以元器件描述格式(componentdescriptionformat,cdf)和拉伸控制(stretchhandles),实现相应的功能和特性。

③通过可变参数化单元解释器,将参数设置好并运行可变参数化单元模型以获得一个实际的单元。可变参数化单元的参数来源于可变参数化单元外部输入。

本发明的实施例中,利用构造好的vcell模板,在库中定义一个用于放大的vcell单元,该单元含有参数lib、cell、view、magnify等参数,该单元作为内部实例化将要放大的单元用。脚本会从design中读取所有图形数据,依次进行缩放后放入新的实例化单元中。

创建一个可变参数化单元实例,该实例的参数含有放大(magnify)、库(lib)、单元(cell)、视图(view)等信息,可变参数化单元内部脚本能解析这些设定的参数,能将指定的库/单元/视图从设计窗口读出,并按指定放大数值对该设计窗口里形状(shape)放大或缩小。当需要创建一个可放大实例时,将该实例的库、单元、视图及放大作为参数传给可变参数化单元,实例化实例,实例化时该可放大实例对应的设计单元以虚拟单元的形式存在于内存中。

图3为根据本发明的利用可变参数化单元对实例进行缩放的方法流程图,下面将参考图3,对本发明的利用可变参数化单元对实例进行缩放的方法进行详细描述。

首先,在步骤301,为实例实现一个可变参数化单元脚本模板。

设定脚本解析参数。内部的脚本会调用设定的参数,如库(lib)、单元(cell)、视图(view)、放大(magnify)、参数(params)等参数。

设定具体实现函数。如何从指定的设计窗口(design)中读取数据,以及依次对每个图形形状进行缩放。当在设计窗口中遇到引用其他设计单元时,需要循环展开这些其他设计单元的引用,把所有的图形虚拟地提升到当前设计单元中,然后进行缩放;经过缩放后产生新的图形存在到一个新虚拟设计单元中。

在步骤302,在实际调用时,将需要缩放的实例作为参数传给可变参数化单元。

在步骤303,根据设定的参数,可变参数化单元脚本模板会根据预设的实现函数进行计算,得到一个缩放后虚拟设计单元。

本发明实施例中,预设的实现函数遍历design中所有shape,取出shape的点列并进行存储;

预设的实现函数将数据(shape点列)进行处理,使其符合模板的格式;

magnify类型函数,基于参考点对读取到的shape点列按照magnify参数进行计算并进行放大或缩小,最后将放缩后的shape点列进行存储,创建出一个新的图形并予以显示。

例如:对一个rectangle(矩形,下同)进行放缩,预设的实现函数会取出rectangle这个shape的点列并存储,预设的实现函数会对数据进行处理,使其符合预设的实现函数参数格式;magnify类型函数会根据magnify参数把rectangle的长度和宽度进行放大或缩小,生成一个新的图形,最后显示。在模板中实现寻找函数,存储函数,

在步骤304,使用这个缩放后的虚拟设计单元产生一个引用实体,即可放大实例。

下面结合具体的实施方式,详细的阐述本发明的利用可变参数化单元对实例进行缩放的方法的具体实现过程。

图4为根据本发明的实例示意图,如图4所示,该实例为工艺库中普通实例,该实例各种参数都已设定好。

图5为根据本发明的参数提取示意图,如图5所示,从实例中参数提取出来,包括库(library)、单元(cell)、视图(view)、放大(magnify)以及其余各种参数。

对提取到的参数进行组合,处理成适合可变参数化单元的参数。

实例化可变参数化单元,创建实际实例。图6为根据本发明的按照实际放大实例化后的实例的示意图,如图6所示,将处理好的参数传递给可变参数化单元,进行实例化,创建出设计人员实际需要的实例。

图7为根据本发明的对实例进行缩放的装置框图,如图7所示,本发明的对实例进行缩放的装置70,包括处理器701和存储器702,所述存储器702存储有程序,所述程序在被所述处理器701读取执行时,执行以下操作:

实现可变参数化单元脚本模板,设定脚本解析参数及具体实现函数;

将需要缩放的实例作为参数传给可变参数化单元;

上述可变参数化单元脚本模板根据设定的参数及预设的实现函数进行计算,得到缩放后的虚拟设计单元;

使用所述缩放后的虚拟设计单元生成可放大实例。

本发明一实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序可被处理器执行,以实现上述任一实施例所述的利用可变参数化单元对实例进行缩放的方法的步骤。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1