一种参数化器件单元的快速实体化方法
技术领域
本发明涉及模拟集成电路的设计自动化领域,具体涉及到一种参数化器件单元的快速实体化方法。
背景技术
在模拟集成电路物理版图的设计自动化技术中,利用集成电路版图中器件所指定的参数值去调用参数化器件单元生成具体的器件物理版图结构和数据的过程称为参数化器件单元的实体化。
在同一模拟集成电路设计过程中,如果集成电路版图中的多个器件,其所调用的参数化器件单元名相同,且调用时的全部参数值完全相同,则其对应的器件物理版图相同,这种情况很普遍。
在典型的模拟集成电路设计中,电路中器件可以分为若干组,每组器件的参数化器件单元名和参数值完全相同,即需要赋予相同的参数值去重复调用参数化器件单元以生成若干完全相同的器件物理版图结构。但是,在当前技术下,没有考虑到版图中的若干器件之间参数化器件单元名相同且全部参数值也相同的情况,因此调用参数化器件单元的次数与器件数相同。即在当前技术的设计过程中,对于版图中参数化器件单元名和参数值完全相同的若干器件,仍然要以相同的参数值多次调用同一参数化器件单元得到完全相同的器件物理版图结构和数据,这是一个重复过程,且每一次重复是复杂的几何计算过程,这种重复比较浪费时间。
因此,现有技术需要一种对于版图中参数化器件单元名和参数值完全相同的若干器件,能够避免反复调用参数化器件单元进行复杂几何计算的设计方法,从而有效地提高器件物理版图实体化速度。
发明内容
利用内存建立一个器件物理版图结构,并对参数化器件单元名和参数值完全相同的若干器件,通过内存拷贝生成其物理版图结构,其速度要远远的快于利用参数化器件单元进行复杂几何计算生成器件物理版图的速度。本发明正是基于这一思想,提供了一种参数化器件单元的快速实体化方法,能够加速生成具体器件物理版图。
在本发明的方法中,对参数化器件单元名和参数值完全相同的同一组器件,可以调用一次参数化器件单元生成器件物理版图结构,而组内其它器件的物理版图结构通过内存拷贝得到。在一个模拟集成电路物理版图设计内,参数化器件单元的调用次数取决于按参数化器件单元名和参数值归类的器件组数而不是器件数,考虑到设计中参数化器件单元名和参数值完全相同的器件比较多,因此器件分组数要成倍地小于器件数,因此调用参数化器件单元的次数将小于器件数,从而提高器件物理版图的生成时间。
本发明方法的具体步骤包括:
步骤1:建立器件版图哈希表,所述器件版图哈希表包括记号值和参数化器件实体化的器件物理版图结构;
步骤2:对于集成电路版图中的器件,基于该器件的参数化器件单元名和参数值创建记号值;
步骤3:依据记号值访问所述器件版图哈希表得到指向所述器件物理版图结构的指针;
步骤4:若指针非空,拷贝所述器件物理版图结构赋予该器件生成所述器件的实体化器件版图。
优选地,所述步骤4还包括:并修改拷贝获得的所述器件物理版图结构中的器件名作为所述实体化器件版图名称。
优选地,本发明的方法进一步包括:步骤5:若所述指针为空,调用参数化器件单元生成所述器件物理版图结构,并将该结构存储到所述器件版图哈希表中对应的记号处。
优选地,本发明的方法进一步包括:在器件的参数值发生变化之后,重新生成记号值,并重复所述步骤3、4、和5。
其中,所述记号值包括参数器件单元名和参数值。步骤2中所述基于该器件的参数化器件单元名和参数值创建记号值包括:对参数化器件的参数依据参数名字进行排序;对参数化器件的每一参数,建立参数名值字符串;依据参数排序构建总参数名值字符串;复合参数化器件单元名和总参数名值串形成记号值。
优选地,本发明的方法还包括:将所述器件版图哈希表中的所述记号值和器件物理版图结构保存为计算机文件或数据库记录。进一步优选地,步骤1中所述的建立器件版图哈希表为:在进行器件物理版图生成之前,从所述计算机文件或数据库记录中读入所述记号值和对应的所述器件物理版图结构到所述器件版图哈希表。
本发明的方法采用器件版图哈希表存储已创建得器件物理版图数据,因此对于集成电路版图中的相同的器件组可以采用内存拷贝的方式直接生成相应的器件物理版图,避免了重复调用参数化器件的复杂运算,节约了模拟集成电路设计的时间和计算量。
附图说明
为使本发明的上述和其他目的、特征和优点更加明显易懂,下面将详细介绍本发明一优选实施例,并配合附图做详细说明。附图中:
图1为本发明实施例中利用器件版图哈希表的器件物理版图快速实体化流程图;
图2为本发明实施例的创建访问器件物理版图记号值的流程图;
图3为本发明实施例的支持多次打开设计进行增量设计的器件物理版图快速实体化流程图。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案作详细说明。
如上文所述,本发明的原理在于:对同一模拟集成电路设计中,版图中的多个器件,如果其生成物理版图的参数化器件相同且调用时的全部参数值完全相同,则对于参数化器件相同且全部参数值完全相同的所有器件只需实际调用一次参数化器件单元去生成具体的物理版图,从而加速模拟集成电路物理版图设计中参数化器件单元实体化过程。
参见图1,示出了本发明实施例中利用器件版图哈希表的器件物理版图快速实体化流程。本发明方法的具体步骤是:
步骤101,在为利用参数化器件单元为器件创建物理版图之前,首先建立器件版图哈希表。所述器件版图哈希表包括记号值和参数化器件实体化的器件物理版图结构。器件版图哈希表用来存储已创建的器件物理版图结构的数据,同时又以记号值为索引,从而能够根据参数器件单元名和参数值以快速访问已创建的器件物理版图结构的数据和结构,作为本发明的基础支撑。这里提到的记号值在下文中详细介绍。
步骤102,在参数化器件单元实体化之前,基于参数化器件单元名和参数值创建记号。在集成电路版图设计过程中,对于集成电路版图中的某一个器件,在本步骤中基于的该器件的参数化器件单元名和参数值创建记号值。
步骤103,依据步骤102中生成的记号值去访问所述器件版图哈希表,得到指向器件物理版图结构的指针;该指针指示哈希表中用于存储的该记号相应的器件物理版图结构的数据的内存空间。
步骤104,若指针非空,拷贝器件物理版图结构赋予该器件,生成所述器件的实体化器件版图。并且所述步骤104中还修改拷贝获得的所述器件物理版图结构中的器件名从而实现利用参数化器件单元为该器件物理版图实体化的过程。
步骤105,若指针为空,调用参数化器件单元生成器件物理版图结构,并将该结构存储到器件版图哈希表中对应的记号值处;
步骤106,在器件的参数值发生变化之后,重新生成记号值,重复步骤103、104、和105。
这里,用于访问器件版图哈希表的关键字我们称之为记号值。所述记号值是由参数器件单元名和参数值唯一确定。步骤102中确定记号值的步骤如图2所示,具体包括为:
步骤201,对参数化器件的参数依据名字进行排序;
步骤202,对参数化器件的每一参数,建立参数名值字符串,如“参数名=值字符串”,‘=’做为参数名和参数值之间的分隔符;
步骤203,依据参数排序构建总参数名值串,如“参数名值字符串1::参数名值字符串2::…::参数名值字符串N”,其中符号‘::’做为参数名值字符串之间的分隔符;
步骤204,复合参数化器件单元名和总的参数名值串构建记号值串,该记号值串即为所述记号值,其形式如“参数化器件单元名(总参数名值串)”。
模拟集成电路设计是一个多迭代的设计过程,电路设计到物理设计再到电路设计再到物理设计,如此重复若干次,直至最后的物理设计电路性能满足设计指标的要求。在这种重复中,电路的器件参数值会进行修改,对应物理设计中的器件物理版图数据/结构也会随之改变,而大部分器件则保持不变,因此我们称这种重复为增量设计。
进一步地,对于多次利用工具对模拟集成电路进行增量设计的情形,可以重复的利用上一次设计时生成的器件物理单元,具体步骤如图3所示,包括:
步骤301:在进行器件物理版图生成之前,从计算机文件或数据库记录读入记号值和对应的器件物理版图结构的数据到所述器件版图哈希表;
步骤302:执行图1所示的器件物理版图快速实体化流程;
步骤303:在本次设计结束时,将目前的哈希表内容,即将记号值和对应的器件物理版图结构输出为一计算机文件或数据库记录,以便供下一次使用从而实现加速。
综上所述,本发明的方法以在内存中建立一个器件版图哈希表为基础,存储已创建的器件物理版图数据,以记号值为索引查找并拷贝已有的器件物理版图结构用于对相同类型的器件的版图设计。通过对于集成电路版图中的相同的器件组可以直接生成相应的器件物理版图,避免了重复调用参数化器件的复杂运算,节约了模拟集成电路设计的时间和计算量。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护范围内。