CN103123656B - 对简化电路网表进行负载反标的方法 - Google Patents

对简化电路网表进行负载反标的方法 Download PDF

Info

Publication number
CN103123656B
CN103123656B CN201110370490.0A CN201110370490A CN103123656B CN 103123656 B CN103123656 B CN 103123656B CN 201110370490 A CN201110370490 A CN 201110370490A CN 103123656 B CN103123656 B CN 103123656B
Authority
CN
China
Prior art keywords
circuit
oxide
semiconductor
metal
port
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
Application number
CN201110370490.0A
Other languages
English (en)
Other versions
CN103123656A (zh
Inventor
潘炯
倪凌云
孙长江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huahong Grace Semiconductor Manufacturing Corp
Original Assignee
Shanghai Huahong Grace Semiconductor Manufacturing Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Huahong Grace Semiconductor Manufacturing Corp filed Critical Shanghai Huahong Grace Semiconductor Manufacturing Corp
Priority to CN201110370490.0A priority Critical patent/CN103123656B/zh
Publication of CN103123656A publication Critical patent/CN103123656A/zh
Application granted granted Critical
Publication of CN103123656B publication Critical patent/CN103123656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种对简化电路网表进行负载反标的方法,包括以下步骤:第一步,从原始电路网表抽取出仅包含简化电路线路的简化电路网表;第二步,解读并存储简化电路网表,并将关键路径的线路负载保存为三个树状阶层结构的数据;第三步,解读原始电路网表,将解析出来的值存储于原始电路网表的三个树状阶层结构中,并对原始电路网表中对应于简化电路网表的简化路线上关键路径的负载进行计算;第四步,对原始电路网表与简化电路网表的关键路径上负载的差值进行计算;第五步,简化电路网表的关键路径负载反标。本发明利用原始电路网表对简化电路网表中各简化线路上的相关负载进行反标,从而生成能够大大提高仿真速度的简化电路网表,减少无法仿真的风险。

Description

对简化电路网表进行负载反标的方法
技术领域
本发明涉及一种集成电路的仿真方法,具体涉及一种对简化电路网表进行负载反标的方法。
背景技术
在集成电路的设计过程中,由于电路越来越大,由物理版图抽取的电路网表也越来越大。现有的仿真器对于大的电路网表仿真速度很慢,超过一定的程度就仿真不了。为了解决这一问题,采用业界通用工具Virtuoso从原始电路网表抽取出仅包含简化电路线路的简化电路网表,使得电路网表被简化,从而实现对大型电路的仿真。其中,原始电路网表是指包含所有线路及其负载信息的网表;简化电路网表是指为了减小电路网表的大小,去除了对仿真结果影响较小的线路的网表,简化电路网表除了子电路外,不包含任何负载信息。电路网表为文本文件。
但是,由于简化电路网表缺少很多负载信息,无法实现对电路的准确仿真。为此,需要利用原始电路网表对简化电路网表进行负载反标,也就是将原始电路网表中对仿真结果有影响的负载反向加入简化电路网表中,使简化电路网表能够准确模拟电路。但是,现有的具有反标功能的工具的局限性很大,有的只对特定电路有用,有的对电路网表有要求,无法满足灵活的需要。
发明内容
本发明所要解决的技术问题是提供一种对简化电路网表进行负载反标的方法,它可以实现对电路的准确仿真。
为解决上述技术问题,本发明对简化电路网表进行负载反标的方法的技术解决方案为,包括以下步骤:
第一步,从原始电路网表抽取出仅包含简化电路线路的简化电路网表;
第二步,解读并存储简化电路网表,将简化电路网表按照子网表和顶层网表分开解读,并将关键路径的线路负载保存为三个树状阶层结构的数据;
所述第二步具体包括以下步骤:
步骤(1)、解读并存储简化电路网表中的子网表;
存储简化电路网表中的子网表采用以下三个树状阶层结构:子电路的第一树状阶层结构、子电路的第二树状阶层结构和子电路的第三树状阶层结构;
将用于存储简化电路网表中子电路端口耦合电容的数值的树状阶层结构定义为子电路的第一树状阶层结构,子电路的第一树状阶层结构如下所示:
子单元名----------电容列表序列号
                    |_______值
                    |_______搜索标记
其中的搜索标记用于防止反复读取关键路径上的耦合电容值;
将用于存储简化电路网表中子电路子电路多端口同时调用同一个MOS情况的树状阶层结构定义为子电路的第二树状阶层结构,子电路的第二树状阶层结构如下所示:
其中,SA代表MOS管源端的宽度;
      SB代表MOS管漏端的宽度;
      nrs代表MOS管源端的电阻值;
      nrd代表MOS管漏端的电阻值;
      ps代表MOS管源端的周长;
      pd代表MOS管漏端的周长;
      as代表源端的面积;
      ad代表漏端的面积;
      WL代表沟道宽度和长度;
将用于存储简化电路网表中子电路单一端口调用的各项负载的树状阶层结构定义为子电路的第三树状阶层结构,子电路的第三树状阶层结构如下所示:
对于以字符串.SUBCKT为起始并且第二个字符为非顶层电路名称的行,进入子电路端口识别模式:
所述子电路端口识别模式为:第一个字符串为子电路标示符,第二个字符串为子电路名,存入子电路的第三树状阶层结构中作为关键字,第三个字符串开始为子电路的输入输出端口,将名字和数字序列号存入子电路的第三树状阶层结构中;
对于字母C开头的行,进入电容识别模式:
所述电容识别模式为:第一个字符串为电容标示符,第二、第三个字符串为电容正负极,第四项为电容值;如果正负极都为子电路输入端口,则将端口序列号和值存入子电路的第一树状阶层结构中,如果仅一个端口为子电路输入输出端口,则存入子电路的第三树状阶层结构中;
对于字母X开头的行,进入MOS管识别模式:
所述MOS管识别模式为:首6个字符串为MOS管接入部分,模式匹配为:第一个字符串为MOS管识别符,第二个字符串为漏端接口,第三个字符串为栅端接口,第四个字符串为源端接口,第五个字符串为衬底端接口,第六个字符串为MOS管类型;后面所有字符串为MOS管负载属性,“=”号前字符为属性名,“=”后为属性值;对属性名进行模式识别,获得该属性的属性名后将“=”后方的值存入该属性中;如果漏端、栅端、源端接口中仅有一个为子电路输入输出接口,则存入子电路的第三树状阶层结构中,如果有大于一个电路输入输出接口,则存入子电路的第二树状阶层结构中。
计算子网表上各端口上的负载,并对端口与端口间的耦合电容与共有MOS管进行存储;
计算子网表上各端口上的负载,并对端口与端口间的耦合电容与共有MOS管进行存储的方法是:
对于同一个端口上的多个电容,将多个电容值相加,存储在子电路的第三树状阶层结构中的电容值部分;
对于不同端口的耦合电容,利用两个端口的数字名为关键字,存储在子电路的第一树状阶层结构中,并将子电路的第一树状阶层结构的相关地址返回给该端口的子电路的第三树状阶层结构中的耦合电容表序列号部分;
对于同一个端口的普通MOS管的负载参数,使用如下计算公式来进行MOS管负载运算叠加,并存入子电路的第三树状阶层结构中,公式中的字符Value用来代表SA/SB/as/ad/nrs/nrd/ps/pd中的任一个:
Value=(Value_old×M_old+Value_new×M_new)/(M_old+M_new)
其中:M代表MOS管个数;
      _old表示原来的值;_new表示新添加的值;两者使用该公式得出总的Value值;
对于不同端口调用的同一个MOS管,将MOS负载存储在子电路的第二树状阶层结构中,并将子电路的第二树状阶层结构的相关地址返回给该端口的子电路的第三树状阶层结构中的特殊MOS管部分。
步骤(2)、调用并存储简化电路网表中的顶层网表;
a、调用上述三个子电路的树状阶层结构数据,以实现对子电路的调用,形成顶层网表;
b、存储顶层网表;
对于顶层网表,对调用过该子电路的关键路径进行负载计算,得到包含子电路负载的简化电路网表中的关键路径负载数据结构;简化电路网表中的关键路径负载数据结构包括以下三个树状阶层结构:
简化电路网表中的关键路径普通负载存储结构:
简化电路网表中的关键路径耦合电容存储结构:
电容端口名
        |_____搜索标记
        |_____值
简化电路网表中的关键路径特殊MOS管存储结构:
对于该关键路径对应的普通电容与单端MOS管,调取后存储于关键路径普通负载存储结构中;
对于该关键路径对应的特殊电容,查看是否两端都为关键路径,“是”则调取信息存储于简化电路网表中的关键路径耦合电容存储结构,“不是”则存入简化电路网表中的关键路径普通负载存储结构;
对于该关键路径对应的特殊MOS管,查看Source/Gate/Drain是否有多个连接了关键路径,“是”则存入简化电路网表中的关键路径特殊MOS管存储结构,“不是”则存入简化电路网表中的关键路径普通负载存储结构。
步骤(3),对MOS管的端口互换问题进行预处理,将关键路径上的源端统一换到漏端;对于进行了关键路径端口互换的MOS管,将端口上的负载也进行互换。
第三步,解读原始电路网表,将解析出来的值存储于原始电路网表的三个树状阶层结构中,并对原始电路网表中对应于简化电路网表的简化路线上关键路径的负载进行计算;
所述第三步具体包括以下步骤:
步骤(i)、解读并存储原始电路网表;
原始电路网表采用以下三个树状阶层结构:
原始电路网表中的关键路径普通负载存储结构:
原始电路网表中的关键路径耦合电容存储结构:
关键路径名____电容端口名
                   |____值
原始电路网表中的关键路径特殊MOS管存储结构:
对于字母C开头的行,进入电容识别模式;
所述电容识别模式为:第一个字符串为电容标示符,第二第三个字符串为电容正负极,第四项为电容值,如果正负极都为子电路输入端口,则将端口序列号和值存入原始电路网表中的关键路径耦合电容存储结构中,如果仅一个端口为子电路输入输出端口,则存入原始电路网表中的关键路径普通负载存储结构中;
对于字母X开头的行,进入MOS管识别模式;
所述MOS管识别模式为:首6个字符串为MOS管接入部分,模式匹配为:第一个字符串为MOS管识别符,第二个字符串为Drain端接口,第三个字符串为Gate端接口,第四个字符串为Source端接口,第五个字符串为Bulk端接口,第六个字符串为MOS管类型;后面所有字符串为MOS管负载属性,“=”号前字符为属性名,“=”后为属性值;对属性名进行模式识别,获得该属性的属性名后将“=”后方的值存入该属性中;如果Drain端、Gate端、Source端接口仅有一个为子电路输入输出接口,则存入原始电路网表中的关键路径普通负载存储结构中;如果有大于一个电路输入输出接口,则存入原始电路网表中的关键路径特殊MOS管存储结构中。
步骤(ii),对MOS管的端口互换问题进行预处理,将关键路径上的源端统一换到漏端;对于进行了关键路径端口互换的MOS管,将端口上的负载也进行互换。
第四步,对原始电路网表与简化电路网表的关键路径上负载的差值进行计算;
对原始电路网表与简化电路网表的端口进行比较,如果端口一致,则判断为同一关键路径,对二者的差值进行计算;
所述对原始电路网表与简化电路网表的端口差值进行计算的方法是:
同一个路径上的普通电容的差值计算公式为:
Cap反标=Cap原始-Cap简化;
同一个路径上具有相同W/L值的MOS管的差值计算公式为:
Value反标=(Value原始×M原始-Value简化×M简化)/(M原始-M简化)
其中,Value表示SA/SB/nrd/nrs/ps/pd/as/ad中的任何一个值;
“原始”表示原始网表中的值;
“简化”表示简化网表中的值;
M表示MOS管个数。
第五步,简化电路网表的关键路径负载反标;
将第四步中计算出的差值添加进简化电路网表中,实现负载反标。
本发明可以达到的技术效果是:
本发明通过解析原始电路网表和简化电路网表,利用原始电路网表对简化电路网表中各简化线路上的相关负载进行反标,从而生成能够大大提高仿真速度的简化电路网表,减少无法仿真的风险。
本发明通过特殊的数据存储结构以及算法,对于指定的电路线路上的相关电容、MOS管等负载进行反标。
本发明能够准确计算出简化电路网表中简化线路上的寄生参数,能够实现对电路的准确仿真。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1是本发明对简化电路网表进行负载反标的方法的流程图;
图2是本发明的负载计算的流程图。
具体实施方式
如图1、图2所示,本发明对简化电路网表进行负载反标的方法,包括以下步骤:
第一步,利用现有业界通用工具,从原始电路网表抽取出仅包含简化电路线路的简化电路网表;
第二步,解读并存储简化电路网表,将简化电路网表按照子网表和顶层网表分开解读,并将关键路径的线路负载保存为三个树状阶层结构的数据;
将简化电路网表中的各子电路(简化线路)定义为关键路径,关键路径即为影响电路仿真结果的电路线路;
解读简化电路网表,对于电路网表中的数据,每条有效记录以空格为标志位进行分割并以模式识别的方法进行抽取;
步骤(1)、解读并存储简化电路网表中的子网表(子电路模块);
存储简化电路网表中的子网表采用以下三个树状阶层结构:子电路的第一树状阶层结构、子电路的第二树状阶层结构和子电路的第三树状阶层结构;
将用于存储简化电路网表中子电路端口耦合电容的数值的树状阶层结构定义为子电路的第一树状阶层结构,子电路的第一树状阶层结构如下所示:
子单元名----------电容列表序列号
                     |______值
                     |______搜索标记
其中的搜索标记用于防止反复读取关键路径上的耦合电容值;
例如:SUBCKT{“Circuit1”}->{1}->{Value}=1e-10
      SUBCKT{“Circuit1”}->{1}->{Searched}=0
将用于存储简化电路网表中子电路子电路多端口同时调用同一个MOS情况的树状阶层结构定义为子电路的第二树状阶层结构,子电路的第二树状阶层结构如下所示:
其中,SA代表MOS管源端的宽度;
      SB代表MOS管漏端的宽度;
      nrs代表MOS管源端的电阻值;
      nrd代表MOS管漏端的电阻值;
      ps代表MOS管源端的周长;
      pd代表MOS管漏端的周长;
      as代表源端的面积;
      ad代表漏端的面积;
      WL代表沟道宽度和长度值;
例如:
SUBCKT{“Circuit1”}->{1}->{Port}=“0 2 3”这里0 2 3为子电路端口号
SUBCKT{“Circuit1”}->{1}->{SA}=3e-10
SUBCKT{“Circuit1”}->{1}->{WL}=0.42e-6_0.15e-6
SUBCKT{“Circuit1”}->{1}->{Searched}=0
将用于存储简化电路网表中子电路单一端口调用的各项负载的树状阶层结构定义为子电路的第三树状阶层结构,子电路的第三树状阶层结构如下所示:
例如:
SUBCKT{“Circuit1”}->{PORTLIST}->{“IN”}=0用来储存端口名对应的序列号
SUBCKT{“Circuit1”}->{PNUM}->{0}->{Name}=“IN”;
SUBCKT{“Circuit1”}->{PNUM}->{0}->{Cap}=1e-15用来储存一端接地CAP电容
SUBCKT{“Circuit1”}->{PNUM}->{0}->{SCap}->{1}=2用来储存耦合电容地址信息
SUBCKT{“Circuit1”}->{PNUM}->{0}->{MOS}->{NDRN}->{“VDD”}->{0.42e-6_0.15e-6}->{SA}=4e-6
SUBCKT{“Circuit1”}->{PNUM}->{0}->{SMOS}->{0}=1用来储存特殊MOS地址位
对于以字符串.SUBCKT为起始并且第二个字符为非顶层电路名称的行,进入子电路端口识别模式:
第一个字符串为子电路标示符,第二个字符串为子电路名,存入子电路的第三树状阶层结构中作为关键字,第三个字符串开始为子电路的输入输出端口,将名字和数字序列号存入子电路的第三树状阶层结构中,如下所示:
.SUBCKT        字符串2    字符串3        字符串4……
子电路标示符   子电路名   输入输出端口   输入输出端口
对于字母C开头的行,进入电容识别模式:
第一个字符串为电容标示符,第二、第三个字符串为电容正负极,第四项为电容值;如果正负极都为子电路输入端口,则将端口序列号和值存入子电路的第一树状阶层结构中,如果仅一个端口为子电路输入输出端口,则存入子电路的第三树状阶层结构中;
C开头字符串  字符串2    字符串3   字符串4
电容标示符   正极       负极      值
对于字母X开头的行,进入MOS管识别模式:
首6个字符串为MOS管接入部分,模式匹配为:第一个字符串为MOS管识别符,第二个字符串为Drain(漏)端接口,第三个字符串为Gate(栅)端接口,第四个字符串为Source(源)端接口,第五个字符串为Bulk(衬底)端接口,第六个字符串为MOS管类型;后面所有字符串为MOS管负载属性,“=”号前字符为属性名,“=”后为属性值;对属性名进行模式识别,获得该属性的属性名后将“=”后方的值存入该属性中;如果Drain端、Gate端、Source端接口中仅有一个为子电路输入输出接口,则存入子电路的第三树状阶层结构中,如果有大于一个电路输入输出接口,则存入子电路的第二树状阶层结构中;
X开头字符串    字符串2    字符串3    字符串4    字符串5    字符串6    字符串7
MOS管标示符    Drain端    Gate端     Source端   衬底       管类型     参数值
对于电路网表中的子电路,由于关键路径可能会调用到,所以计算出子网表上各端口上的电容、MOS管等负载,并考虑到可能会出现关键路径调用的不同端口可能连接同一个负载,所以对端口与端口间的耦合电容与共有MOS管进行特殊存储,以备顶层网表调用;
对于同一个端口上的多个电容,将多个电容值相加,即使用公式:Cap总=Cap1+Cap2,存储在子电路的第三树状阶层结构中的电容值部分;
对于不同端口的耦合电容,利用两个端口的数字名为关键字(须考虑端口SWAP),存储在子电路的第一树状阶层结构中,并将子电路的第一树状阶层结构的相关地址返回给该端口的子电路的第三树状阶层结构中的耦合电容表序列号部分;
对于同一个端口的普通MOS管的负载参数,使用如下计算公式来进行MOS管负载运算叠加,并存入子电路的第三树状阶层结构中,公式中的字符Value用来代表SA/SB/as/ad/nrs/nrd/ps/pd中的任一个:
Value=(Value_old×M_old+Value_new×M_new)/(M_old+M_new)
其中:M代表MOS管个数;
     _old表示原来的值;_new表示新添加的值;两者使用该公式得出总的Value值;
对于不同端口调用的同一个MOS管,将MOS负载存储在子电路的第二树状阶层结构中,并将子电路的第二树状阶层结构的相关地址返回给该端口的子电路的第三树状阶层结构中的特殊MOS管部分;
步骤(2)、调用并存储简化电路网表中的顶层网表;
a、调用上述三个子电路的树状阶层结构数据,以实现对子电路的调用,形成顶层网表;
调用方法是:
对于主电路行,以“/”先行分割成字符串1和字符串2,然后再以空格对字符串1和字符串2进行二次分割;
字符串1中第一个字符串为标示符,第二个开始为该电路调用的实际输入端;
字符串2中第一个字符串为被调用的子电路名A;如下所示:
X开头标示符    左字符串1   左字符串2… / 右字符串1   右字符串2    右字符串3
调用标示符     调用端口1   调用端口2     子电路名    调用值1      调用值2
如果实际输入端中存在关键路径,则以子电路名A为关键字并按照关键路径的序列号调取子电路的第三树状阶层结构中相应的负载值;
b、存储顶层网表;
对于顶层网表,对调用过该子电路的关键路径进行负载计算,得到包含子电路负载的简化电路网表中的关键路径负载数据结构;简化电路网表中的关键路径负载数据结构包括以下三个树状阶层结构:
简化电路网表中的关键路径普通负载存储结构:
例如:
SNET{“Net1”}->{MOS}->{NDRN}->{0.42e-6_0.15e-6}->{SA}=4e-6
简化电路网表中的关键路径耦合电容存储结构:
电容端口名
        |_____搜索标记
        |_____值
例如:SNETCAP{“Net1 Net2”}->{Value}=1e-15
简化电路网表中的关键路径特殊MOS管存储结构:
例如:
SNETMOS{“Net1 Net2 Net3”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}->{SA}=4e-6
对于该关键路径对应的普通电容与单端MOS管,调取后存储于关键路径普通负载存储结构中;
对于该关键路径对应的特殊电容,查看是否两端都为关键路径,“是”则调取信息存储于简化电路网表中的关键路径耦合电容存储结构,“不是”则存入简化电路网表中的关键路径普通负载存储结构;
对于该关键路径对应的特殊MOS管,查看Source/Gate/Drain是否有多个连接了关键路径,“是”则存入简化电路网表中的关键路径特殊MOS管存储结构,“不是”则存入简化电路网表中的关键路径普通负载存储结构;
步骤(3)、对MOS管的SWAP(端口互换)问题进行预处理,即进行网表端口同一化的调整;
如果原始电路网表与简化电路网表的电容端口一致但正负极相反,如简化电路网表的电容端口为net1 net2,而原始电路网表为net2 net1,则在差值计算之前需要进行一次网表端口同一化的调整;
另外,简化电路网表与原始电路网表的MOS管存在SWAP(端口互换)的情况,如简化电路网表MOS端口为net1 net2 net3,而原始电路网表为net3 net2 net1,因此也需要在差值计算之前进行一次网表端口同一化的调整;
网表端口同一化的调整方法是:
由于MOS管的Source(源)和Drain(漏)端口可以互换,为了计算方便以及后期的反标,将关键路径上的Source端统一换到Drain端,以方便处理;
将关键路径上的Source端换到Drain端的方法是:
对于源端接关键路径而漏端未接关键路径的MOS管,统一将源、漏两端连接进行互换,即将子电路的第二树状阶层结构中的端口分布部分中的Source(源)端换到Drain(漏)端;对于进行了关键路径端口互换的MOS管,将端口上的负载也进行互换,即将Source端与Drain端上的面积值、周长值以及电阻值等进行互换,以保证关键路径都接在漏端,从而方便计算;
相应算法如下:
SNET{“Net1”}->{MOS}->{NDRN}->{0.42e-6_0.15e-6}->{SA}=SB
SNET{“Net1”}->{MOS}->{NDRN}->{0.42e-6_0.15e-6}->{SB}=SA
SNETMOS{“Net1 Net2 Other”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}->{SA}=
SNETMOS{“Other Net2 Net1”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}->{SB}
Delete SNETMOS{“Other Net2 Net1”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}
第三步,解读原始电路网表,将解析出来的值存储于原始电路网表的三个树状阶层结构中,并对原始电路网表中对应于简化电路网表的简化路线上关键路径的负载进行计算;
步骤(1)、解读并存储原始电路网表;
原始电路网表采用以下三个树状阶层结构:
原始电路网表中的关键路径普通负载存储结构:
例如:
CNET{Net1}->{MOS}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}->{SA}=6e-6
原始电路网表中的关键路径耦合电容存储结构:
关键路径名____电容端口名
                   |____值
例如:
CNETCAP{Net1 Net2}=10e-15
原始电路网表中的关键路径特殊MOS管存储结构:
例如:
CNETMOS{Net1 Net2 Net3}->{NDRN}->{0.42e-6_0.15e-6}->{SA}=6e-6
对于字母C开头的行,进入电容识别模式:
第一个字符串为电容标示符,第二第三个字符串为电容正负极,第四项为电容值,如果正负极都为子电路输入端口,则将端口序列号和值存入原始电路网表中的关键路径耦合电容存储结构中,如果仅一个端口为子电路输入输出端口,则存入原始电路网表中的关键路径普通负载存储结构中;
对于字母X开头的行,进入MOS管识别模式:
首6个字符串为MOS管接入部分,模式匹配为:第一个字符串为MOS管识别符,第二个字符串为Drain端接口,第三个字符串为Gate端接口,第四个字符串为Source端接口,第五个字符串为Bulk端接口,第六个字符串为MOS管类型;后面所有字符串为MOS管负载属性,“=”号前字符为属性名,“=”后为属性值;对属性名进行模式识别,获得该属性的属性名后将“=”后方的值存入该属性中;如果Drain端、Gate端、Source端接口仅有一个为子电路输入输出接口,则存入原始电路网表中的关键路径普通负载存储结构中;如果有大于一个电路输入输出接口,则存入原始电路网表中的关键路径特殊MOS管存储结构中;
步骤(2)、对MOS管的SWAP(端口互换)问题进行预处理;
为了计算方便以及后期的反标,将关键路径上的Source端统一换到Drain端,以方便处理;
相应算法如下:
CNET{“Net1”}->{MOS}->{NDRN}->{0.42e-6_0.15e-6}->{SA}=SB
CNET{“Net1”}->{MOS}->{NDRN}->{0.42e-6_0.15e-6}->{SB}=SA
CNETMOS{“Net1 Net2 Other”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}->{SA}=
CNETMOS{“Other Net2 Net1”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}->{SB}
Delete CNETMOS{“Other Net2 Net1”}->{NDRN}->{VPWRA}->{0.42e-6_0.15e-6}
第四步,对原始电路网表与简化电路网表的关键路径上负载的差值进行计算;
对原始电路网表与简化电路网表的端口进行比较,如果端口一致,则判断为同一关键路径,对二者(即原始电路网表的端口与简化电路网表的端口)的差值进行计算;
同一个路径上的普通电容的差值计算公式为:
Cap反标=Cap原始-Cap简化;
同一个路径上具有相同W/L值(沟道宽度值/沟道长度值)的MOS管的差值计算公式为:
Value反标=(Value原始×M原始-Value简化×M简化)/(M原始-M简化);
其中,Value表示SA/SB/nrd/nrs/ps/pd/as/ad中的任何一个值;
“原始”表示原始网表中的值;
“简化”表示简化网表中的值;
M表示MOS管个数。
第五步,简化电路网表的关键路径负载反标;
将第四步中计算出的差值添加进简化电路网表中,实现负载反标。
本发明可采用Perl程序语言来实现电路网表的反标。

Claims (7)

1.一种对简化电路网表进行负载反标的方法,其特征在于,包括以下步骤:
第一步,从原始电路网表抽取出仅包含简化电路线路的简化电路网表;
第二步,解读并存储简化电路网表,将简化电路网表按照子网表和顶层网表分开解读,并将关键路径的线路负载保存为三个树状阶层结构的数据;
具体包括以下步骤:
步骤(1)、解读并存储简化电路网表中的子网表;
存储简化电路网表中的子网表采用以下三个树状阶层结构:子电路的第一树状阶层结构、子电路的第二树状阶层结构和子电路的第三树状阶层结构;
将用于存储简化电路网表中子电路端口耦合电容的数值的树状阶层结构定义为子电路的第一树状阶层结构;
将用于存储简化电路网表中子电路多端口同时调用同一个MOS情况的树状阶层结构定义为子电路的第二树状阶层结构;
将用于存储简化电路网表中子电路单一端口调用的各项负载的树状阶层结构定义为子电路的第三树状阶层结构;
在简化电路网表中,对于以字符串.SUBCKT为起始并且第二个字符为非顶层电路名称的行,进入子电路端口识别模式;
在简化电路网表中,对于字母C开头的行,进入电容识别模式;
在简化电路网表中,对于字母X开头的行,进入MOS管识别模式;
计算子网表上各端口上的负载,并对端口与端口间的耦合电容与共有MOS管进行存储;
步骤(2)、调用并存储简化电路网表中的顶层网表;
a、调用上述三个子电路的树状阶层结构数据,以实现对子电路的调用,形成顶层网表;
b、存储顶层网表;
对于顶层网表,对调用过该子电路的关键路径进行负载计算,得到包含子电路负载的简化电路网表中的关键路径负载数据结构;简化电路网表中的关键路径负载数据结构包括以下三个树状阶层结构:
简化电路网表中的关键路径普通负载存储结构;
简化电路网表中的关键路径耦合电容存储结构;
简化电路网表中的关键路径特殊MOS管存储结构;
对于该关键路径对应的普通电容与单端MOS管,调取后存储于关键路径普通负载存储结构中;
对于该关键路径对应的特殊电容,查看是否两端都为关键路径,“是”则调取信息并存储于简化电路网表中的关键路径耦合电容存储结构,“不是”则存入简化电路网表中的关键路径普通负载存储结构;
对于该关键路径对应的特殊MOS管,查看源端Source、栅端Gate、漏端Drain是否有多个连接了关键路径,“是”则存入简化电路网表中的关键路径特殊MOS管存储结构,“不是”则存入简化电路网表中的关键路径普通负载存储结构;
第三步,解读原始电路网表,将解析出来的值存储于原始电路网表的三个树状阶层结构中,并对原始电路网表中对应于简化电路网表的简化线路上关键路径的负载进行计算;
具体包括以下步骤:
步骤(i)、解读并存储原始电路网表;原始电路网表采用以下三个树状阶层结构;
原始电路网表中的关键路径普通负载存储结构;
原始电路网表中的关键路径耦合电容存储结构;
原始电路网表中的关键路径特殊MOS管存储结构;
在原始电路网表中,对于字母C开头的行,进入电容识别模式;
在原始电路网表中,对于字母X开头的行,进入MOS管识别模式;
第四步,对原始电路网表与简化电路网表的关键路径上负载的差值进行计算;
对原始电路网表与简化电路网表的端口进行比较,如果端口一致,则判断为同一关键路径,对二者的差值进行计算;
第五步,简化电路网表的关键路径负载反标;
将第四步中计算出的差值添加进简化电路网表中,实现负载反标。
2.根据权利要求1所述的对简化电路网表进行负载反标的方法,其特征在于:所述第二步的步骤(2)之后执行步骤(3),对MOS管的端口互换问题进行预处理,将关键路径上的源端统一换到漏端;对于进行了关键路径端口互换的MOS管,将端口上的负载也进行互换。
3.根据权利要求1所述的对简化电路网表进行负载反标的方法,其特征在于:所述第二步的步骤(1)中,所述子电路端口识别模式为:第一个字符串为子电路标示符,第二个字符串为子电路名,存入子电路的第三树状阶层结构中作为关键字,第三个字符串开始为子电路的输入输出端口,将名字和数字序列号存入子电路的第三树状阶层结构中;
所述电容识别模式为:第一个字符串为电容标示符,第二、第三个字符串为电容正负极,第四项为电容值;如果正负极都为子电路输入端口,则将端口序列号和值存入子电路的第一树状阶层结构中,如果仅一个端口为子电路输入输出端口,则存入子电路的第三树状阶层结构中;
所述MOS管识别模式为:首6个字符串为MOS管接入部分,模式匹配为:第一个字符串为MOS管识别符,第二个字符串为漏端接口,第三个字符串为栅端接口,第四个字符串为源端接口,第五个字符串为衬底端接口,第六个字符串为MOS管类型;后面所有字符串为MOS管负载属性,“=”号前字符为属性名,“=”后为属性值;对属性名进行模式识别,获得该属性的属性名后将“=”后方的值存入该属性中;如果漏端、栅端、源端接口中仅有一个为子电路输入输出接口,则存入子电路的第三树状阶层结构中,如果有大于一个电路输入输出接口,则存入子电路的第二树状阶层结构中。
4.根据权利要求1所述的对简化电路网表进行负载反标的方法,其特征在于:所述第二步的步骤(1)中,计算子网表上各端口上的负载,并对端口与端口间的耦合电容与共有MOS管进行存储的方法是:
对于同一个端口上的多个电容,将多个电容值相加,存储在子电路的第三树状阶层结构中的电容值部分;
对于不同端口的耦合电容,利用两个端口的数字名为关键字,存储在子电路的第一树状阶层结构中,并将子电路的第一树状阶层结构的相关地址返回给该端口的子电路的第三树状阶层结构中的耦合电容表序列号部分;
对于同一个端口的普通MOS管的负载参数,使用如下计算公式来进行MOS管负载运算叠加,并存入子电路的第三树状阶层结构中,公式中的字符Value用来代表SA/SB/as/ad/nrs/nrd/ps/pd中的任一个:
Value=(Value_old×M_old+Value_new×M_new)/(M_old+M_new)
其中:M代表MOS管个数;
_old表示原来的值;
_new表示新添加的值;
SA代表MOS管源端的宽度;
SB代表MOS管漏端的宽度;
as代表源端的面积;
ad代表漏端的面积;
nrs代表MOS管源端的电阻值;
nrd代表MOS管漏端的电阻值;
ps代表MOS管源端的周长;
pd代表MOS管漏端的周长;对于不同端口调用的同一个MOS管,将MOS负载存储在子电路的第二树状阶层结构中,并将子电路的第二树状阶层结构的相关地址返回给该端口的子电路的第三树状阶层结构中的特殊MOS管部分。
5.根据权利要求1所述的对简化电路网表进行负载反标的方法,其特征在于:所述第三步的步骤(i)之后执行步骤(ii),对MOS管的端口互换问题进行预处理,将关键路径上的源端统一换到漏端;对于进行了关键路径端口互换的MOS管,将端口上的负载也进行互换。
6.根据权利要求1所述的对简化电路网表进行负载反标的方法,其特征在于:所述第三步的步骤(i)中,所述电容识别模式为:第一个字符串为电容标示符,第二、第三个字符串为电容正负极,第四项为电容值,如果正负极都为子电路输入端口,则将端口序列号和值存入原始电路网表中的关键路径耦合电容存储结构中,如果仅一个端口为子电路输入输出端口,则存入原始电路网表中的关键路径普通负载存储结构中;
所述MOS管识别模式为:首6个字符串为MOS管接入部分,模式匹配为:第一个字符串为MOS管识别符,第二个字符串为Drain端接口,第三个字符串为Gate端接口,第四个字符串为Source端接口,第五个字符串为Bulk端接口,第六个字符串为MOS管类型;后面所有字符串为MOS管负载属性,“=”号前字符为属性名,“=”后为属性值;对属性名进行模式识别,获得该属性的属性名后将“=”后方的值存入该属性中;如果Drain端、Gate端、Source端接口仅有一个为子电路输入输出接口,则存入原始电路网表中的关键路径普通负载存储结构中;如果有大于一个子电路输入输出接口,则存入原始电路网表中的关键路径特殊MOS管存储结构中。
7.根据权利要求1所述的对简化电路网表进行负载反标的方法,其特征在于:所述第四步中对原始电路网表与简化电路网表的端口差值进行计算的方法是:
同一个路径上的普通电容的差值计算公式为:
Cap反标=Cap原始-Cap简化
同一个路径上具有相同沟道宽度值或沟道长度值的MOS管的差值计算公式为:
Value反标=(Value原始×M原始-Value简化×M简化)/(M原始-M简化)
其中,Value表示SA/SB/nrd/nrs/ps/pd/as/ad中的任何一个值;
“原始”表示原始网表中的值;
“简化”表示简化网表中的值;
M表示MOS管个数;
SA代表MOS管源端的宽度;
SB代表MOS管漏端的宽度;
nrd代表MOS管漏端的电阻值;
nrs代表MOS管源端的电阻值;
ps代表MOS管源端的周长;
pd代表MOS管漏端的周长;
as代表源端的面积;
ad代表漏端的面积。
CN201110370490.0A 2011-11-21 2011-11-21 对简化电路网表进行负载反标的方法 Active CN103123656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110370490.0A CN103123656B (zh) 2011-11-21 2011-11-21 对简化电路网表进行负载反标的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110370490.0A CN103123656B (zh) 2011-11-21 2011-11-21 对简化电路网表进行负载反标的方法

Publications (2)

Publication Number Publication Date
CN103123656A CN103123656A (zh) 2013-05-29
CN103123656B true CN103123656B (zh) 2015-10-14

Family

ID=48454632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110370490.0A Active CN103123656B (zh) 2011-11-21 2011-11-21 对简化电路网表进行负载反标的方法

Country Status (1)

Country Link
CN (1) CN103123656B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808806B (zh) * 2014-12-31 2019-05-31 瑞昱半导体股份有限公司 集成电路的时序分析方法及集成电路的时序分析装置
CN106875979B (zh) * 2015-12-11 2020-04-14 展讯通信(上海)有限公司 一种测量存储器ip核管脚电容的方法及装置
CN107977533B (zh) * 2017-12-21 2020-06-16 北京华大九天软件有限公司 一种集成电路设计中降低方程组计算复杂度的方法
CN111428436B (zh) * 2019-01-09 2023-09-15 杭州起盈科技有限公司 一种程序化分析集成电路线路结构的方法
CN110046394B (zh) * 2019-03-20 2019-12-27 广东高云半导体科技股份有限公司 集成电路网表生成方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924872A (zh) * 2005-09-01 2007-03-07 北京中电华大电子设计有限责任公司 集成电路版图寄生参数的反标/分析流程
CN101201866A (zh) * 2006-12-14 2008-06-18 英业达股份有限公司 电路布设文件的管理系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7212960B2 (en) * 2003-02-13 2007-05-01 Hewlett-Packard Development Company, L.P. Computer program product and method of simulating circuits using a balanced, lossy, transmission line circuit model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1924872A (zh) * 2005-09-01 2007-03-07 北京中电华大电子设计有限责任公司 集成电路版图寄生参数的反标/分析流程
CN101201866A (zh) * 2006-12-14 2008-06-18 英业达股份有限公司 电路布设文件的管理系统及方法

Also Published As

Publication number Publication date
CN103123656A (zh) 2013-05-29

Similar Documents

Publication Publication Date Title
CN103123656B (zh) 对简化电路网表进行负载反标的方法
US9361415B1 (en) Method, system, and computer program product for implementing a multi-fabric electronic design spanning across multiple design fabrics
CN105069560B (zh) 一种基于知识库和规则库的履历信息抽取与特征标识分析系统及方法
US6865721B1 (en) Optimization of the top level in abutted-pin hierarchical physical design
CN107220300B (zh) 信息挖掘方法、电子装置及可读存储介质
CN102254029B (zh) 一种基于视图的数据访问系统及其方法
CN106202028B (zh) 一种地址信息识别方法及装置
CN101923595B (zh) 模拟集成电路版图寄生器件提取系统及方法
CN102323964B (zh) 一种数字电路网表数据的处理方法
CN105893349A (zh) 类目标签匹配映射方法及装置
CN105843796A (zh) 一种微博情感倾向分析方法及装置
CN103136281A (zh) 网页搜寻结果显示系统及其方法
US7272805B2 (en) System and method for converting a flat netlist into a hierarchical netlist
CN106339481A (zh) 基于最大置信度的中文复合新词发现方法
CN100562872C (zh) 针对结构化网页的自动模板信息定位方法
CN106354721A (zh) 基于权限的检索方法和装置
CN110297994A (zh) 网页数据的采集方法、装置、计算机设备和存储介质
CN103559177A (zh) 一种地名识别方法及装置
CN117610491A (zh) 一种芯片设计方法、装置、设备及计算机可读存储介质
WO2021207021A1 (en) Method for automated standard cell design
CN104462151A (zh) 评估网页发布时间的方法和相关装置
CN115983196A (zh) 一种通过lvs检查分析芯片物理版图噪声耦合与屏蔽的方法
US11354477B1 (en) System and method for performance estimation for electronic designs using subcircuit matching and data-reuse
CN107908724A (zh) 一种数据模型匹配方法、装置、设备及存储介质
CN110019829A (zh) 数据属性确定方法、装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHANGHAI HUAHONG GRACE SEMICONDUCTOR MANUFACTURING

Free format text: FORMER OWNER: HUAHONG NEC ELECTRONICS CO LTD, SHANGHAI

Effective date: 20140107

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 201206 PUDONG NEW AREA, SHANGHAI TO: 201203 PUDONG NEW AREA, SHANGHAI

TA01 Transfer of patent application right

Effective date of registration: 20140107

Address after: 201203 Shanghai city Zuchongzhi road Pudong New Area Zhangjiang hi tech Park No. 1399

Applicant after: Shanghai Huahong Grace Semiconductor Manufacturing Corporation

Address before: 201206, Shanghai, Pudong New Area, Sichuan Road, No. 1188 Bridge

Applicant before: Shanghai Huahong NEC Electronics Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant