CN1892661B - 基于等价类解决hlvs中短路问题的算法 - Google Patents

基于等价类解决hlvs中短路问题的算法 Download PDF

Info

Publication number
CN1892661B
CN1892661B CN2005100806466A CN200510080646A CN1892661B CN 1892661 B CN1892661 B CN 1892661B CN 2005100806466 A CN2005100806466 A CN 2005100806466A CN 200510080646 A CN200510080646 A CN 200510080646A CN 1892661 B CN1892661 B CN 1892661B
Authority
CN
China
Prior art keywords
short
unit
port
short circuit
circuit
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
CN2005100806466A
Other languages
English (en)
Other versions
CN1892661A (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.)
Beijing Empyrean Technology Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design Co Ltd
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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN2005100806466A priority Critical patent/CN1892661B/zh
Publication of CN1892661A publication Critical patent/CN1892661A/zh
Application granted granted Critical
Publication of CN1892661B publication Critical patent/CN1892661B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

基于等价类解决HLVS中短路问题的算法属于集成电路计算机辅助设计领域,尤其涉及版图验证领域。在HLVS中,短路检查仍是版图和原理图一致性验证的重要问题。由于层次化处理方法中端口可以传递连接关系信息,短路问题已经不仅仅局限在单元内,而是需要跨层次考虑的重要问题。本发明提出了将短路问题分为两种情况处理,即Inside Short和Outside Short。在HLVS中,无论是Inside Short,还是Outside Short,究其本质都是一个等价类问题,即它可以归结为按给定的等价关系将某集合划分为等价类的问题,从而正确表示电路连接关系。因此解决HLVS中短路的核心问题就转换为等价类的求解问题。主要用途:解决HLVS中的短路问题,为电路比较作准备。

Description

基于等价类解决HLVS中短路问题的算法
技术领域
基于等价类解决HLVS中短路问题的算法属于集成电路计算机辅助设计领域,尤其涉及版图验证领域。
背景技术
版图与原理图一致性检查(LVS)是版图验证领域的重要验证方法。它对于消除错误、降低设计成本和减少设计失败的风险具有重要意义。随着集成电路的器件特征尺寸不断缩小、集成度不断提高、规模迅速增大,层次LVS逐渐成为版图验证技术的未来趋势。其思想就是基于原理图和版图网表本身具有层次性的特点,充分利用了设计数据的层次化关系,避免了传统LVS中采用打散网表处理情况下,若一个单元被调用了n次,则对这个单元内电路节点、器件作n次重复比较的问题;或者若单元内有一个错,则对同一个错重复报告n次等各类情况。层次LVS无论在处理电路的规模、减少数据处理时间、减少内存占用、或减少错误结果数量等诸方面都有着极大的优越性。对规模达到或超过百万晶体管的芯片设计优势更加明显。在层次LVS中,短路检查仍是版图和原理图一致性验证的重要问题。由于层次化处理方法中端口可以传递连接关系信息;同一单元不同的调用环境对此单元内的节点连接关系,进而对比较结果的正确性都有着重要的影响。短路问题已经不仅仅局限在单元内,而是需要跨层次考虑的重要问题。在比较之前采用何种方法解决层次LVS中的短路问题,就目前已公布的研究中,并没有一个令人满意的方法和完备统一的解决方案。
参考文献:
[1]P.Batra and D.Cooke,“HCompare:A hierarchical netlist comparison program”,in Proc.29thDesign Automation Conf.,pp.299-304,1992.
[2]严蔚敏,吴伟明,《数据结构》,清华大学出版社,1997.
基本概念
HLVS:层次版图与原理图一致性检查(Hierarchical Layout Versus Schematic)。
Cell:指的是单元,单元内最重要的数据结构为二部图,即InstanceTable和NetTable,InstanceTable内记录着该单元的所有Instance以及每个Instance连接着哪些Net,NetTable中记录着该单元的所有Net以及每个Net连接着哪些Instance;HLVS基于对应单元(对应单元通常指Schematic和Layout中名称相同的单元,当然也可以人为指定对应单元)进行比较,参见文献[1]。父单元指的是调用当前单元的那些单元,子单元指的是当前单元调用的那些单元。
Instance:指的是单元内部的器件,可以是基本的器件,如电阻R1、R2、...,电容C1、C2、...,也可以是用单元定义的“黑盒子”(“黑盒子”可以看作一种抽象器件,仅能看到它的Pin,看不到里面的内容)。Instance通过它的Pin连接到Net。
Net:指的是单元内的节点,Net通过Instance的Pin连接到Instance。
Port和Pin:这两个概念类似面向对象语言中的类和对象,Port是一类特殊的Net,是一个Cell供外部调用的端口,Pin指的是Instance的管脚。例如,单元A有两个Port,分别是IN和OUT,单元TOP调用了单元A的两个Instance-XA1和XA2,则XA1和XA2分别有两个Pin,即IN和OUT。
发明内容
本发明提出了一种新的短路情况,即Outside Short,并给出了解决这种短路情况的算法;提出用等价类思想解决HLVS中的短路问题,短路问题本质上是一个等价问题,即它可以归结为按给定的等价关系划分某集合为等价类。
通过对层次网表深入分析,我们发现,在层次处理时,Port的短路可能由其父单元中的Net短路导致。这类短路问题需要站在全局的角度上进行分析、解决。因此,本发明提出了将短路问题分为两种情况处理的思想,提出了一种全新的跨单元短路的情况。这是本发明最重要的创新之处。
第一类短路情况(Inside Short):单元内部的两个或多个Net/Port短路,这些Net/Port就是等价的,选择其中一个Net/Port作为代表。
第二类短路情况(Outside Short):是一种跨单元的Port短路情况,一个单元的两个或多个Port在所有父单元中短路(指的是Cell定义的Instance的Pin短路),则认为该单元的这些Port短路,选择其中一个Port作为代表。
在HLVS中,无论是第一类短路(Inside Short)还是第二类短路(Outside Short),究其本质都是一个等价类问题,即它可以归结为按给定的等价关系将某集合划分为等价类的问题,从而正确表示电路连接关系。因此解决HLVS中短路的核心问题就转换为等价类的求解问题。等价关系和等价类的定义(参见文献[2]):
如果集合S中的关系R是自反的、对称的和传递的,则称它为一个等价关系。
设R是集合S的等价关系。对任何x∈S,由[x]R={y|y∈S∧xRy}给出的集合 [ x ] R ⊆ S 称为由x∈S生成的一个R等价类。若R是集合S上的一个等价关系,则由这个等价关系可产生这个集合的唯一划分。即可以按R将S划分为若干不相交的子集S1,S2,...,Si,...,它们的并即为S,则这些子集Si便称为S的R等价类。
结合上述等价类的思想,我们提出基于等价类解决上述两类短路问题的算法,这也是本发明的另一个创新之处。
算法1解决Inside Short算法(求等价类算法)
假设当前Cell有n个Net,m个形如“*.CONNECT Netk1,Netk2,Netk3,...”的语句确定的等价关系R,须求对当前Cell中Net的划分(参见文献[2])。
令Cell中的每个Net各自形成一个只含单个成员的等价类,记作S1,S2,S3,...,Sn。重复读入m个形如“*.CONNECT Netk1,Netk2,Netk3,...”的语句,判定Netk1,Netk2,Netk3,...所属等价类,假设Netk1∈Sk1,Netk2∈Sk2,Netk3∈Sk3,...,则将Sk1、Sk2、Sk3、...合并成一个等价类。
最后,从每个等价类中选择一个Net/Port作为代表。
图1给出了一个Inside Short的例子。已知Net1、Net2、Net3短路,Net3与Net4短路,Net5与Net6短路,得到两个等价类{Net1,Net2,Net3,Net4}和{Net5,Net6}。
算法2解决Outside Short算法(求等价类算法)
假设当前Cell有n个Port,m个形如“{Portk1,Portk2,Portk3,...}”的划分确定的等价关系Ψ,须求对当前Cell的Port划分。
令Cell中所有Port形成一个等价类,初始划分为Γ={P1},P1={Port1,Port2,...,Portn};
令Cell的Instance对n个Port的划分形成一个等价类集合Ψ={S1,S2,S3,...,Sk,...},其中Sk={Portk1,Portk2,Portk3,...};
求等价类
Foreach(S in Ψ)
{
tmpΓ=Φ;
Foreach(P in Γ)
{
V=P∩S;
If(V≠Φ)tmpΓ=tmpΓ∪{V};
V=P-S;
If(V≠Φ)tmpΓ=tmpΓ∪{V};
}
Γ=tmpΓ;
}
最后,从Γ中的每个等价类中选择一个Port作为代表。
注:在实际编程时,可以采用一些启发式方法:如对Ψ中的等价类按等价类中包含的Port数从小到大排序,这样可以加快划分速度;在Γ中等价类数目等于当前单元Port数(表明所有的Port都不短路)时即可以立即结束算法。
图2给出了一个Outside Short的例子,图2(a)给出了解决Outside Short前的电路图,仅给出了单元A的Instance的PIN连接关系。TOP单元调用单元A三次(XA1、XA2、XA3)。
Γ={P1},P1={PIN1,PIN2,PIN3,PIN4,PIN5}。考虑XA1,得划分{PIN1,PIN2,PIN3,PIN4,PIN5};考虑XA2,得划分{PIN1,PIN2,PIN5}和{PIN3,PIN4};考虑XA3,得划分{PIN1,PIN2}和{PIN3,PIN4,PIN5};故Ψ={S1,S2,S3,S4,S5},其中S1={PIN1,PIN2,PIN3,PIN4,PIN5},S2={PIN1,PIN2,PIN5},S3={PIN3,PIN4},S4={PIN1,PIN2},S5={PIN3,PIN4,PIN5}。
执行算法2,得Γ={{PIN1,PIN2},{PIN3,PIN4},{PIN5}},执行过程参见表1,解决了Outside Short后的电路图参见图2(b)。
表1 用算法2求解等价类的过程
总结:这两种短路情况有本质的区别:
第一种短路情况(Inside Short)研究的是单元内的Net/Port短路,Port是一种特殊的Net,是一个Cell供外部调用的端口。若Cell的两个或多个Port短路,那么用该Cell定义的Instance的相应的Pin就短路,这种情况显然成立。
第二种短路情况(Outside Short)是一种跨单元的Port短路情况,研究的是如何由Pin短路导出Port短路,即:一个单元的两个或多个Port在所有父单元中短路(指的是Cell定义的Instance的Pin短路),则认为该单元的这些Port短路。
附图说明
图1用等价类解决Inside Short问题
图2用等价类解决Outside Short问题
图3HLVS中Inside Short的处理流程
图4Inside Short例子
图5解决Layout单元A的Inside Short后的电路图
图6HLVS中Outside Short的处理流程
图7Outside Short例子
图8解决Layout单元B的Outside Short后的电路图
图9解决Layout单元A的Outside Short后的电路图
具体实施步骤
在正式解决短路问题前,须对Schematic和Layout中的对应单元进行拓扑和逆拓扑排序,排序结果分别记录在m_lTopologicalSortList和m_lNegTopologicalSortList中(仅记录CellID)。
打散比较可以看作是层次比较的特例,即Schematic和Layout仅顶层单元对应,则仅需解决第一种短路情况(Inside Short),不存在第二种短路情况(Outside Short)。本节结合两个简单的实例说明如何在HLVS中使用“基于等价类解决HLVS中短路问题的算法”。
第一种短路情况(Inside Short)的处理流程:
图3给出了第一种短路情况(Inside Short)的简化处理流程。Inside Short按拓扑次序来处理每个单元;用算法1求出当前单元内短路Net/Port的等价类并选出Net/Port代表;然后修改当前单元的InstanceTable和NetTable;若当前单元非顶层单元并且存在短路的Port,则向父单元追加等价类。
处理流程中的①②③步涉及到许多细节问题,这里我们结合一个例子(参见图4)来解释Inside Short的处理流程。如果我们直接比较单元A,会发现单元A是不相同的,因为Schematic中的A有两个Ports,而Layout中的单元A有三个Ports;然后比较单元TOP,单元TOP各调用了一次单元A,而Layout中的单元A和Schematic中的单元A比较失败,故单元TOP比较失败,即两个网表比较失败。若过滤掉Layout中单元A的无用电阻R1,再与Schematic作打散比较(打散比较指的是将所有单元打散到TOP单元再进行比较),会发现两个网表比较成功!即出现了矛盾。
HLVS在比较之前首先要对Schematic和Layout作预处理,解决短路问题是预处理的重要一步。对Schematic处理前后的结果是相同的。以下是对Layout的处理:
处理Layout中的单元A:①IN1和IN2短路,执行算法1得到两个等价类{IN1,IN2}和{OUT},不妨设IN1和OUT分别为这两个等价类的Net/Port代表;②修改当前单元的InstanceTable和NetTable:R2的POS端连接到IN1,过滤无用电阻R1;③因为IN1和IN2短路,导致TOP单元的Net1和Net2短路,向TOP单元追加等价类{Net1,Net2},删除掉当前单元的IN2。
处理Layout中的单元TOP:处理过程同(1),Net1和Net2短路,假设选Net1作为代表,删除Net2。
解决Layout单元A的Inside Short后的电路图参见图5。
HLVS按拓扑次序比较对应单元,首先比较Schematic中的单元A和Layout中的单元A,比较成功;再比较Schematic中的单元TOP和Layout中的单元TOP,比较成功;故Layout和Schematic一致。
第二种短路情况(Outside Short)的处理流程:
图6给出了第二种短路情况(Outside Short)的简化处理流程。Outside Short按逆拓扑次序来处理每个单元;用算法2求出当前单元短路Port的等价类并选出Port代表;然后修改当前单元的InstanceTable和NetTable;若当前单元非顶层单元并且存在短路的Port,则修改父单元的InstanceTable。
处理流程中的①②③步涉及到许多细节问题,这里我们结合一个例子(参见图7)来解释Outside Short的处理流程。单元A是一个INV,如果我们不解决Outside Short而直接按拓扑次序比较对应单元,会发现单元A是不相同的,因为Schematic中的A有两个Ports,而Layout中的单元A有三个Ports;比较单元B,同理比较失败;然后比较单元TOP,单元TOP各调用了两次单元B,而Layout中的单元B和Schematic中的单元B比较失败,故单元TOP比较失败,即两个网表比较失败。如果Layout和Schematic作打散比较(打散比较指的是将所有单元打散到TOP单元再进行比较),我们会发现两个网表比较成功!即出现了矛盾。
HLVS在比较之前首先要对Schematic和Layout作预处理,解决短路问题是预处理的重要一步。对Schematic处理前后的结果是相同的。以下是对Layout的处理:
处理Layout中的单元TOP:顶层单元无Port,不用处理。
处理Layout中的单元B:①单元B仅被单元TOP调用,XB1的两个Pins(BIN1和BIN2)短路,XB2的两个Pins(BIN1和BIN2)短路,执行算法2得到一个等价类{BIN1,BIN2},即单元B的两个Ports(BIN1和BIN2)短路,假设选BIN1作为Port代表,删除BIN2;②修改当前单元的InstanceTable和NetTable:XA1的AIN1和AIN2均连接到BIN1;③修改父单元的InstanceTable:只须将TOP单元的XB1和XB2的BIN2删除掉即可。参见图8。
处理Layout中的单元A:①单元A仅被单元B调用,XA1的两个Pins(AIN1和AIN2)短路,执行算法2得到一个等价类{AIN1,AIN2},即单元A的两个Ports(AIN1和AIN2)短路,假设选AIN1作为Port代表,删除AIN2;②修改当前单元的InstanceTable和NetTable:MP1和MN1的gate端均连接到AIN1;③修改父单元的InstanceTable:只须将B单元的XA1的AIN2删除掉即可。参见图9。
HLVS按拓扑次序比较对应单元,故应该首先比较Schematic中的单元A和Layout中的单元A,比较成功;再比较Schematic中的单元B和Layout中的单元B,比较成功;再比较Schematic中的单元TOP和Layout中的单元TOP,比较成功;故Layout和Schematic一致。

Claims (1)

1.一种用于解决层次版图与原理图一致性检查HLVS中短路问题的方法,其特征在于把短路分为单元内短路Inside Short和跨单元短路Outside Short两种情况,对于单元内短路Inside Short的情况,采用求单元内短路节点Net/端口Port等价类方法解决,具体处理步骤为:(1)对原理图和版图中的对应单元进行拓扑排序;(2)求出当前单元内短路的节点Net/端口Port的等价类并选出节点Net/端口Port代表;(3)修改当前单元的器件表InstanceTable和节点表NetTable;(4)若当前单元非顶层单元并且存在短路的端口Port,则向父单元中追加等价类;(5)按照拓扑顺序对每个对应单元重复上述步骤(2)、(3)、(4),对于跨单元短路Outside Short的情况,采用求跨单元短路端口Port等价类方法解决,具体处理步骤为:(i)对原理图和版图中的对应单元进行逆拓扑排序;(ii)求出当前单元短路端口Port的等价类并选出端口Port代表;(iii)修改当前单元的器件表InstanceTable和节点表NetTable(iv)若当前单元非顶层单元并且存在短路的端口Port,则修改父单元的器件表InstanceTable;(v)按对应单元的逆拓扑次序重复上述步骤(ii)(iii)(iv)。
CN2005100806466A 2005-07-06 2005-07-06 基于等价类解决hlvs中短路问题的算法 Active CN1892661B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2005100806466A CN1892661B (zh) 2005-07-06 2005-07-06 基于等价类解决hlvs中短路问题的算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2005100806466A CN1892661B (zh) 2005-07-06 2005-07-06 基于等价类解决hlvs中短路问题的算法

Publications (2)

Publication Number Publication Date
CN1892661A CN1892661A (zh) 2007-01-10
CN1892661B true CN1892661B (zh) 2011-07-27

Family

ID=37597532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100806466A Active CN1892661B (zh) 2005-07-06 2005-07-06 基于等价类解决hlvs中短路问题的算法

Country Status (1)

Country Link
CN (1) CN1892661B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452492B (zh) * 2007-11-29 2010-09-08 北京华大九天软件有限公司 集成电路版图与原理图一致性检查的局部重签名修复方法
CN102402631B (zh) * 2010-09-10 2013-04-17 北京华大九天软件有限公司 一种集成电路层次网表比较方法
CN102542083B (zh) * 2010-12-23 2015-12-02 深圳市同创国芯电子有限公司 基于连接关系树的层次化单元端口调整方法
CN106649895A (zh) * 2015-10-28 2017-05-10 北京华大九天软件有限公司 一种层次化的集成电路版图短路查找方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334100B1 (en) * 1998-10-09 2001-12-25 Agilent Technologies, Inc. Method and apparatus for electronic circuit model correction
CN1521622A (zh) * 2003-01-29 2004-08-18 上海芯华微电子有限公司 集成电路的版图识别方法
CN1521829A (zh) * 2003-01-29 2004-08-18 上海芯华微电子有限公司 集成电路的拓扑验证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6334100B1 (en) * 1998-10-09 2001-12-25 Agilent Technologies, Inc. Method and apparatus for electronic circuit model correction
CN1521622A (zh) * 2003-01-29 2004-08-18 上海芯华微电子有限公司 集成电路的版图识别方法
CN1521829A (zh) * 2003-01-29 2004-08-18 上海芯华微电子有限公司 集成电路的拓扑验证方法

Also Published As

Publication number Publication date
CN1892661A (zh) 2007-01-10

Similar Documents

Publication Publication Date Title
US7143021B1 (en) Systems and methods for efficiently simulating analog behavior of designs having hierarchical structure
Verbeek et al. Woflan 2.0 A petri-net-based workflow diagnosis tool
US8516418B2 (en) Application of a relational database in integrated circuit design
US7895551B2 (en) Generation of standard cell library components with increased signal routing resources
US5384710A (en) Circuit level netlist generation
US7111269B2 (en) Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout
US8234617B2 (en) Method and system for re-using digital assertions in a mixed signal design
CN100342381C (zh) 集成电路设计和整合方法
US8407638B2 (en) Methods and apparatus for boolean equivalency checking in the presence of voting logic
JP2006031687A (ja) 外部メタデータの処理
JP2000132417A (ja) Xリストに基づく多重エラ―及び故障を診断する方法並びにシステム
US7322017B2 (en) Method for verification using reachability overapproximation
CN1892661B (zh) 基于等价类解决hlvs中短路问题的算法
US20230289502A1 (en) Recovery of a hierarchical functional representation of an integrated circuit
US6829755B2 (en) Variable detail automatic invocation of transistor level timing for application specific integrated circuit static timing analysis
KR20010023096A (ko) 트랜지스터 회로의 타이밍 특성 추출 방법, 타이밍 특성 라이브러리를 기억한 기억 매체, lsi의 설계 방법, 및 게이트 추출 방법
Tsai et al. Swiss cheese test case generation for web services testing
US8533643B2 (en) Method and apparatus for performing template-based classification of a circuit design
US8782587B2 (en) Systems and methods for generating a higher level description of a circuit design based on connectivity strengths
US11467851B1 (en) Machine learning (ML)-based static verification for derived hardware-design elements
Mastroeni et al. An abstract interpretation-based model for safety semantics
Zapletina et al. Boolean Satisfiability Methods for Modern Computer-Aided Design Problems in Microelectronics
Enns et al. Designing FPGAs and Reconfigurable SoCs Using Methods of Program Analysis and Prototyping
van Blommestein Addressing Safety Critical FPGA Designs
US6701290B1 (en) Method and apparatus for evaluating the design quality of network nodes

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: BEIJING HUADAJIUTIAN SOFTWARE CO., LTD.

Free format text: FORMER OWNER: BEIJING ZHONGDIANHUADA ELEKTRON DESIGN LIMITED LIABILITY COMPANY

Effective date: 20090821

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090821

Address after: Beijing city Chaoyang District Gaojiayuan No. 1 post encoding: 100015

Applicant after: Beijing Jiutian Digital Technology Co., Ltd.

Address before: Beijing city Chaoyang District Gaojiayuan No. 1 post encoding: 100015

Applicant before: Beijing CEC Huada Electronic Design Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100102 Beijing city two Chaoyang District Lize Road No. 2 A block 2 layer

Patentee after: Beijing Huada Jiutian Technology Co.,Ltd.

Address before: 100102 Beijing city two Chaoyang District Lize Road No. 2 A block 2 layer

Patentee before: HUADA EMPYREAN SOFTWARE Co.,Ltd.

CP01 Change in the name or title of a patent holder