一种集成电路门电路识别方法

文档序号:6332628阅读:599来源:国知局
专利名称:一种集成电路门电路识别方法
技术领域
一种集成电路门电路识别方法属于半导体集成电路自动化设计领域,主要涉及后端版图设计和验证,尤其是版图与原理图一致性检查(LVS-Lay0Ut Versus khematic)。
背景技术
版图设计与验证是集成电路设计流程中重要的一环,高效准确的验证能够有效的提高集成电路设计的效率,极大降低设计失败的风险。然而随着工艺不断的向着纳米级进展,在超大规模乃至甚大规模集成电路设计中,版图规模急剧膨胀,传统的晶体管级验证方法在计算速度和内存使用方面都远远落后于用户的需求。因而门电路的识别方法受到了重视,它的优点是禾_版图在设计过程中使用了大量标准门电路的特点,将门电路看作一个黑盒子,减少冗余的操作和运算,从而有效提高计算效率。版图与原理图一致性检查工具(LVS)将版图和原理图从晶体管级提升到门电路级再执行比较,既可以基于晶体管级也可以基于门级报告比较结果。集成电路中绝大多数元器件为晶体管,假设一个门电路平均由四个晶体管组成,则网表规模可以缩小到原来的四分之一。由此可见,LVS基于门电路级比较可以显著降低网表规模,从而在处理电路的规模、减少数据处理时间、减少内存占用等诸方面有着极大的优越性。对规模达到或超过百万晶体管的芯片设计优势更加明显。基本概念(I)LVS 版图与原理图一致性检查(Layout Versus Schematic);(2) PMOS =P 沟道晶体管;(3)匪OS =N沟道晶体管;(4) PULL-UP-STRUCTURE 上拉结构;(5) PULL-DOWN-STRUCTURE 下拉结构;(6) NAND 与非门;(7) NOR:或非门。(8) INV:反相器;

发明内容
本发明提供一种集成电路门电路识别方法,能够充分利用门电路的特点,快速准确地识别出门电路,从而加快LVS验证速度。本发明的总体思路是先识别复杂门电路-与非门(NAND)和或非门(N0R),再识别简单门电路-反相器(INV),具体识别步骤如图1所示。在实际电路中,通常会遇到一些有歧义的情况,如图2所示,既可以识别出一个与非门(NAND),也可以识别出一个反相器(INV), 为了最大限度地降低网表的规模,本发明采用了先识别复杂门电路,再识别简单门电路的方法。图2(a)为识别门电路前的电路,图2(b)为识别了门电路后的电路。对于复杂门电路-与非门(NAND)和或非门(N0R),采用“自底向上”的方法逐级识别先识别串联结构(SERIES-STRUCTURE);如果由PM0S/NM0S生成的串联结构的源端所连的线网为电源/地,漏端所连线网既非电源也非地,则将该串联结构识别为上拉结构(PULL-UP-STRUCTURE) /下拉结构(PULL-DOWN-STRUCTURE);由上拉结构 (PULL-UP-STRUCTURE)/下拉结构(PULL-DOWN-STRUCTURE)出发,检查它的输出端线网所连的NM0S/PM0S,生成与非门(NAND)/或非门(NOR)。对于简单门电路-反相器(INV),采用“对线网哈希”的方法进行识别对PMOS/ NMOS进行哈希,哈希的关键字为PM0S/NM0S栅端连接的线网和漏端连接的线网,检查哈希表中的每个桶中的PM0S/NM0S,生成反相器(INV)。本发明所述的方法,具有以下优点优先识别复杂门电路,再识别简单门电路,有利于减小网表规模;门电路识别方法简单、高效。


图1门电路识别步骤图2优先识别复杂门电路图3识别与非门(NAND)图4识别或非门(NOR)图5识别反相器(INV)
具体实施例方式具体实施方式
包括四个步骤1.识别串联结构(SERIES-STRUCTURE)按以下两个步骤识别串联结构⑴从电路中选取一个晶体管作为“种子”。(2)沿 “种子”的源端/漏端扩展,检查它的源端/漏端所连的线网,若该线网的度为2且该线网不是电源或地,则检查该线网所连的另外一个器件,若该器件的类型和“种子”的类型相同,则将新找到的这个器件“吸收”到“种子”中,此时的“种子”已经不再是一个简单的晶体管,而是一个串联结构。重复执行该步,直至遇到了度不为2的线网、非电源线网或非地线网。然后用该串联结构替代电路中的这组晶体管。图3 (a)为识别串联结构前的电路。串联结构(SERIES-STRUCTURE)的识别过程如下(1)由丽1出发,沿源端和漏端扩展,生成串联结构(MN1,丽2,丽3)并用该串联结构替代这三个晶体管;(2)由MN4出发,沿源端和漏端扩展,生成串联结构(MN4,丽5)并用该串联结构替代这两个晶体管;(3)由MP1/MP2/MP3/MP4出发,发现电源的度为4,线网OUT的度为6,不能进行串联扩展。图4(a)为识别串联结构前的电路。识别过程同上,识别后生成的串联结构有 (MP1, MP2, MP3),(MP4, MP5)。2.识别上拉结构(PULL-UP-STRUCTURE)和下拉结构(PULL-DOWN-STRUCTURE)按以下两个步骤识别上拉结构(PULL-UP-STRUCTURE)和下拉结构 (PULL-DOWN-STRUCTURE) :(1)识别上拉结构(PULL-UP-STRUCTURE)对电路中的每个由 PMOS生成的串联结构,检查当前串联结构的漏端所连的线网,若漏端连电源,则源端和漏端交换;再检查当前串联结构的源端和漏端所连线网,若源端连电源,而漏端连非电源且非地的普通线网,则将该串联结构识别为上拉结构。(2)识别下拉结构(PULL-DOWN-STRUCTURE) 对电路中的每个由NMOS生成的串联结构,检查当前串联结构的漏端所连的线网,若漏端连地,则源端和漏端交换;再检查当前串联结构的源端和漏端所连线网,若源端连地,而漏端连非电源且非地的普通线网,则将该串联结构识别为下拉结构。对于图3 (a),经过第1步识别出两个串联结构(MNl,MN2, MN3),_,MN5)。由于这两个串联结构一端连地,另一端连线网OUT,经过该步的识别,将这两个串联结构识别为两个下拉结构。对于图4(a),经过第1步识别出两个串联结构(MP1,MP2,MP3)和(MP4,MP5)。由于(MP1,MP2,MP3)和(MP4,MP5) 一端连电源,另一端连线网OUT,经过该步的识别,将这两个串联结构识别为两个上拉结构。3.识别与非门(NAND)和或非门(NOR)按以下四步骤识别与非门(NAND) (1)首先创建一张哈希表,哈希表的关键字为下拉结构/PMOS的栅端连接的线网和漏端连接的线网,下拉结构和PMOS也存放在哈希表中。(2)对电路中的每个下拉结构,按下拉结构每个栅端连接的线网和下拉结构的漏端连接的线网对下拉结构进行哈希。(3)对电路中的每个PM0S,检查PMOS的源漏是否和电源相连,若漏端和电源相连,则首先交换PMOS的源漏;若PMOS的源端和电源相连,则将该PMOS 放入哈希表,否则该PMOS不放入哈希表。(4)检查哈希表中的每个下拉结构,若当前下拉结构的每个栅端都能找到唯一的一个PM0S,则生成一个与非门(NAND)并取代该下拉结构和这组PMOS。按以下四步骤识别或非门(NOR) (1)首先创建一张哈希表,哈希表的关键字为上拉结构/NMOS的栅端连接的线网和漏端连接的线网,上拉结构和NMOS也存放在哈希表中。 (2)对电路中的每个上拉结构,按上拉结构每个栅端连接的线网和上拉结构的漏端连接的线网对上拉结构进行哈希。(3)对电路中的每个NM0S,检查NMOS的源漏是否和地相连,若漏端和地相连,则首先交换NMOS的源漏;若NMOS的源端和地相连,则将该NMOS放入哈希表, 否则该NMOS不放入哈希表。(4)检查哈希表中的每个上拉结构,若当前上拉结构的每个栅端都能找到唯一的一个NM0S,则生成一个或非门(NOR)并取代该上拉结构和这组NM0S。图3(a)为识别与非门(NAND)前的电路。与非门(NAND)的识别过程如下(1)创建哈希表,用于辅助识别与非门(NAND)。(2)将这两个下拉结构(MN1,丽2,丽3),(MN4, 丽5)按每个栅端连接的线网和漏端连接的线网进行哈希。(3)由于MP1,MP2,MP3,MP4的源端均和电源相连,将这四个PMOS进行哈希。(4)检查哈希表中的桶,由于下拉结构(MN1, 丽2,丽3)和MP1,MP2,MP3落入同一个桶中,修改电路的连接关系并生成一个新的与非门 (NAND)。图3(b)为识别了与非门(NAND)后的电路。图4(a)为识别或非门(NOR)前的电路。或非门(NOR)的识别过程如下(1)创建哈希表,用于辅助识别或非门(NOR)。(2)将这两个上拉结构(MP1,MP2,MP3),(MP4,MP5) 按每个栅端连接的线网和漏端连接的线网进行哈希。( 由于丽1,丽2,丽3,MN4的源端均和地相连,将这四个NMOS进行哈希。(4)检查哈希表中的桶,由于上拉结构(MP1,MP2,MP3) 和丽1,丽2,丽3落入同一个桶中,修改电路的连接关系并生成一个新的或非门(NOR)。图 4(b)为识别了或非门(NOR)后的电路。4.识别反相器(INV)
按以下四步骤识别反相器(1)首先创建一张哈希表,哈希表的关键字为PMOS/ NMOS的栅端连接的线网和漏端连接的线网,PMOS和NMOS也存放在哈希表中。(2)对电路中的每个PM0S,检查PMOS的源漏是否和电源相连,若漏端和电源相连,则首先交换PMOS的源漏;若PMOS的源端和电源相连,则将该PMOS放入哈希表,否则该PMOS不放入哈希表。(3) 对电路中的每个NM0S,检查NMOS的源漏是否和地相连,若漏端和地相连,则首先交换NMOS 的源漏;若NMOS的源端和地相连,则将该NMOS放入哈希表,否则该NMOS不放入哈希表。(4) 检查哈希表中的每个桶,若当前桶仅包含一个PMOS和一个NM0S,则生成一个反相器(INV) 并取代该PMOS和匪OS。图5(a)为识别前的电路。反相器(INV)的识别过程如下(1)创建哈希表,用于辅助识别反相器(INV)。(2)由于MP1,MP2,MP3的源端均和电源相连,将这三个PMOS放入哈希表。( 由于丽1,丽2,丽3的源端均和地相连,将这三个NMOS放入哈希表。(4)检查哈希表中的桶,由于(MP1,丽1)落入同一个桶中,修改电路的连接关系并生成一个新的反相器INVl ;由于(MP2,丽2)落入同一个桶中,修改电路的连接关系并生成一个新的反相器 INV2 ;MP3和MN3未落在同一个桶中,不能生成新反相器。图5 (b)为识别了反相器(INV)后的电路。
权利要求
1.本发明提供一种集成电路门电路识别方法,其特征是先识别复杂门电路-与非门 (NAND)和或非门(NOR),再识别简单门电路-反相器(INV)。
2.根据权利要求1所述的“识别复杂门电路-与非门(NAND)和或非门(N0R)”,其特征是采用“自底向上”的方法逐级识别先识别串联结构(SERIES-STRUCTURE);如果由PMOS/ NMOS生成的串联结构的源端所连的线网为电源/地,漏端所连线网既非电源也非地,则将该串联结构识别为上拉结构(PULL-UP-STRUCTURE) /下拉结构(PULL-DOWN-STRUCTURE);由上拉结构(PULL-UP-STRUCTURE) /下拉结构(PULL-DOWN-STRUCTURE)出发,检查它的输出端线网所连的NM0S/PM0S,生成与非门(NAND)/或非门(NOR)。
3.根据权利要求1所述的“识别简单门电路-反相器(INV)”,其特征是采用“对线网哈希”的方法进行识别对PM0S/NM0S进行哈希,哈希的关键字为PM0S/NM0S栅端连接的线网和漏端连接的线网,检查哈希表中的每个桶中的PM0S/NM0S,生成反相器(INV)。
全文摘要
本发明公开了一种集成电路门电路识别方法,属于半导体集成电路设计自动化领域,主要用于后端版图设计时的版图与原理图一致性检查(LVS-Layout Versus Schematic)。在超大规模乃至甚大规模集成电路设计中,版图规模急剧膨胀,识别门电路可以降低LVS的数据处理规模,从而提高效率,有效缩短版图设计的迭代周期。本发明从电路网表中识别串联结构(SERIES-STRUCTURE)、上拉结构(PULL-UP-STRUCTURE)和下拉结构(PULL-DOWN-STRUCTURE)、与非门(NAND)和或非门(NOR)、反相器(INV)。
文档编号G06F17/50GK102411642SQ20101029105
公开日2012年4月11日 申请日期2010年9月26日 优先权日2010年9月26日
发明者戴文华, 李志梁, 李桢荣 申请人:北京华大九天软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1