CN101814106A - 一种分层次的电路提取方法 - Google Patents

一种分层次的电路提取方法 Download PDF

Info

Publication number
CN101814106A
CN101814106A CN 201010156889 CN201010156889A CN101814106A CN 101814106 A CN101814106 A CN 101814106A CN 201010156889 CN201010156889 CN 201010156889 CN 201010156889 A CN201010156889 A CN 201010156889A CN 101814106 A CN101814106 A CN 101814106A
Authority
CN
China
Prior art keywords
circuit
node
type tree
transistor
type
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.)
Pending
Application number
CN 201010156889
Other languages
English (en)
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.)
KUNSHAN CHUANGTONG MICROELECTRONICS CO Ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN 201010156889 priority Critical patent/CN101814106A/zh
Publication of CN101814106A publication Critical patent/CN101814106A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种结合了结构识别和模式匹配技术的分层次电路提取方法,属于集成电路自动设计技术领域。为解决现有技术中结构识别方式无法识别任意结构的电路以及模式匹配方式效率过低的问题,本发明所提供的分层次电路提取方法包括:利用结构识别方法从晶体管级电路中识别出各种逻辑门级电路;然后利用模式匹配方法从逻辑门级电路中识别出各种行为级电路模块。该识别方法结合了结构识别和模式匹配的优点,可以高效的从晶体管级的电路识别各种逻辑门以及更高一级的行为级电路,该方法适用于大规模集成电路的识别,甚至是千万级电路的识别,可以有效的加速集成电路的自动化设计进程。

Description

一种分层次的电路提取方法
技术领域
本发明属于集成电路自动设计技术领域,具体涉及一种结合了结构识别和模式匹配技术的分层次电路提取方法。
背景技术
随着集成电路技术的发展,CMOS电路的复杂度也越来越大,对一些电路识别软件的要求也越来越高。通常意义上,人们用几个不同的等级来表示电路,从低级到高级分别是晶体管级、门级以及行为模型级。晶体管级用晶体管以及它们之间的互联来描述整个电路,门级用各种逻辑门以及它们之间的互联表示电路,行为模型级用各种高层次的行为模型单元,比如寄存器和加法器等等,以及它们之间的互联表示整个电路。
在集成电路的自动设计过程中,能够自动的从晶体管级电路识别出各种门以及高层次的行为级模型单元非常重要,通常情况下,晶体管级的电路仿真耗时太长,而行为级电路仿真则要快很多。电路提取功能对于流片前的版图级仿真非常重要,它可以大大地加快仿真验证的时间。电路提取对于形式验证,电路诊断以及测试电路产生等应用也都非常重要。
目前现存的电路提取方法可以分为两类:结构识别和模式匹配。结构识别通过固有的电路规则识别技术来从电路中找到各种逻辑门,比如A.Lester,P.Bazargan-Sabet and A.Greiner,“YAGLE,a secondgeneration functional abstractor for CMOS VLSI circuits”,Proc.of theTenth International Conference on Microelectronics,pp.265-268,1998。结构识别方式虽然相对比较快,但是只能识别一些有规则的电路,比如反相器,与非门等,而对于那些并没有固定规则的电路,比如寄存器等,则难以识别。
模式匹配的方式把电路映射成为一个图,在图中晶体管被映射成为节点,晶体管之间的互联线被映射成为图中的连线。这样,从电路中识别子电路的问题就转变成为从图中识别一个子图的问题。比如G.Pelz and U.Roettcher,“Pattern matching and refinement hybrid approachto circuit comparison”,IEEE Transactions on Computer-Aided Design,pp.264-275,vol.13,no.2,Feb.1994。模式匹配的方式比较灵活,可以识别任何类型的电路。不过,与结构识别的方式相比,模式匹配方式比较复杂,而且要慢很多。模式匹配方式的复杂度取决于两个因素,第一个因素是如何把电路转换成为一个被标注的图,如果图中的每个节点都有一个特殊的标识,子电路的识别就变得相对简单。但是,晶体管级的电路如果转换为图很难为图中的每个节点配上一个相对独立的标识,因为电路就是由普通的PMOS管和NMOS管组成的,它们之间并不能形成标识的不同。第二个因素是如何能够有效地从电路中把子电路识别出来。因此,有效标识以及识别策略将会影响电路识别的效率。为了有效的进行电路识别,人们开发出了各种模式匹配方式,SubGemini就是其中的一个M.Ohlrich,C.Ebeling and E.Ginting,“SubGemini:Identifying subcircuits using a fast subgraph isomorphismalgorithm”,Proc.IEEE/ACM Design Automation Conference,pp.31-37,1993。这个方法把图中的节点以及节点的邻居节点进行标识,然后使用宽度优先搜索方式来在图中把子图搜索出来。
由于结构识别和模式匹配方式分别具有效率高和灵活的优点,但是通常的电路都比较复杂,只用结构识别方式并不能识别出其中所有的电路,而如果使用模式匹配方式则效率太低,时间太长而不适用于复杂的大规模集成电路。因此,人们正在力图找出一种更高效的电路识别方法。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是解决现有技术中结构识别方式无法识别任意结构的电路以及模式匹配方式效率过低的问题,从而高效的识别出门级以及各种行为级电路模块,加速集成电路的自动化设计进程的问题。
(二)技术方案
为解决上述技术方案,本发明提供一种分层次电路提取方法,包括如下步骤:
步骤1:利用结构识别方法从晶体管级电路中识别出各种逻辑门级电路;
步骤2:利用模式匹配方法从逻辑门级电路中识别出各种行为级电路模块。
所述步骤1具体包括如下步骤:
步骤1.1:将晶体管级电路中的晶体管合并为通过源极和漏极相连的晶体管沟道相连器件集合,所述晶体管沟道相连器件集合包括由P型晶体管组成的沟道相连器件集合以及由N型晶体管组成的沟道相连器件集合;由P型晶体管组成的沟道相连器件集合被称为P型树,由N型晶体管组成的沟道相连器件集合被称为N型树;
步骤1.2:对所述P型树以及N型树分别进行内部并联和/或串联晶体管的合并操作;
步骤1.3:对合并后的P型树以及N型树的逻辑功能进行确定以及鉴定操作,根据其逻辑功能类别将各个P型树和N型树合并成逻辑门电路。
所述步骤1.2具体包括:
步骤1.2.1:采用并行搜索方法对所述P型树以及N型树进行并行搜索,将所述P型树以及N型树所包含的并联晶体管均分别替换为伪晶体管;
步骤1.2.2:采用串行搜索方法对所述P型树以及N型树进行串行搜索,将所述P型树以及N型树所包含的串联晶体管均分别替换为伪晶体管;
步骤1.2.3:所述步骤1.2.1以及步骤1.2.2不断重复进行,直至所述P型树以及N型树经过合并后均只剩下最后一个大的伪晶体管。
所述步骤1.3中对合并后的P型树以及N型树的逻辑功能进行确定步骤具体包括:
步骤1.3.1:对于并联的晶体管,将其相互之间的逻辑关系定义为“或”;
步骤1.3.2:对于串联的晶体管,将其相互之间的逻辑关系定义为“与”;
步骤1.3.3:重复执行步骤1.3.1和/或步骤1.3.2,最终得到所述合并后的P型树以及N型树的逻辑功能关系式。
所述步骤1.3中对合并后的P型树以及N型树的逻辑功能进行鉴定操作,根据其逻辑功能类别将各个P型树和N型树合并成逻辑门电路的步骤具体包括:
步骤1.3.4:若所述合并后的P型树和N型树由PN节点相连,并且它们的逻辑功能具有互补的逻辑关系,则该P型树和N型树合并成为一个标准逻辑门电路;
步骤1.3.5:若所述通过PN节点相连的P型树和N型树的逻辑功能不具有互补的逻辑关系,则该P型树和N型树合并为一个伪逻辑门电路;
步骤1.3.6:对于传输管电路,将其单独分类为传输管逻辑门电路。
所述步骤2具体包括:
步骤2.1:将所述门级电路转换成为矢量图,所述矢量图为目标矢量图;将库中定义的行为级电路模块转换成为矢量图,所述矢量图为子矢量图;
步骤2.2:使用模式匹配方法在门级电路对应的目标矢量图里面结合所述子矢量图找出各个门级子电路所对应的匹配子矢量图,从而在目标待提取电路中提取出各个行为级电路模块。
所述步骤2.1中的矢量图中,包括节点、连线以及标注在节点上的节点属性,有如下定义:
所述节点代表各个逻辑门;
所述连线代表各个逻辑门电路之间的互联,连线的方向代表电流的流向;
所述节点属性代表各个逻辑门电路本身的属性。
所述连线包括有方向连线以及无方向连线,所述有方向连线代表从一个逻辑门的输出连接到另一个逻辑门的输入的电流方向,所述无方向连线代表传输管逻辑门之间的无方向连接;
所述节点属性包括逻辑门电路的类型、逻辑门电路的逻辑功能、逻辑门电路的输入数目、逻辑门电路的扇出数目以及扇出门电路属性。
所述步骤2.2中的匹配过程为渐进匹配过程,具体包括:
步骤2.2.1:在所述子矢量图中,根据子矢量图中连线的方向,找到起始源节点,所述起始源节点的判断依据为不存在有方向的连线指向该节点;若所述起始源节点不止一个,则在其中任选一个节点作为起始源节点;
步骤2.2.2:在所述目标电路转换的目标矢量图中找出与所述起始源节点具有相同节点属性的节点,将所述新找出来的具有相同节点属性的节点定义为候选节点,所述候选节点数量可为若干个;
步骤2.2.3:在子矢量图的源节点找到它指向的下一级节点,称为其儿子节点;同时在目标矢量图的候选节点找到它指向的下一级儿子节点;
步骤2.2.4:分别比较源节点的儿子节点以及候选节点的儿子节点,如果他们属性相同,则匹配成功,若没有任何一对节点属性相同,则匹配失败,更换步骤2.2.3中的候选节点后重复执行;
步骤2.2.5:若步骤2.2.4过程匹配成功,则从新找到的匹配节点出发,在子矢量图和目标矢量图分别找到这些节点的儿子节点进行匹配,也即重复所述步骤2.2.4的过程,直至所述子矢量图中所有的节点都在目标矢量图中找到对应匹配成功的节点,则在目标矢量图中找出来的节点对应形成的矢量图即为提取出来的行为级电路模块的匹配子矢量图,此时完成所述行为级电路模块的识别过程。
(三)有益效果
本发明技术方案提供了一个综合结构识别和模式匹配两种技术的两步电路提取方法。在第一步,在晶体管级电路中采用结构识别方式把各种逻辑门识别出来,第二步在第一步的基础上,把门级电路转换为矢量图,图中的每个节点代表一个逻辑门,每条连线代表门之间的互连,这样可以使用模式匹配方法找到各种用户定义的行为级模型子电路。这样的两步识别方法结合了结构识别和模式匹配的优点,可以高效的从晶体管级的电路识别各种逻辑门以及更高一级的行为级模型,本方法适用于大规模集成电路的识别,甚至是千万级电路的识别,可以有效的加速集成电路的自动化设计进程。
对比现有技术,本发明技术方案的有益效果在于:
1、适用于静态数字CMOS电路的二步电路提取方法。本发明技术方案综合了结构识别方法以及模式匹配方法,兼具两者的优点,不仅提取速度快,而且可以提取各种类型的子电路。该技术方案可以广泛应用于大规模集成电路电路提取的EDA软件中,用以加快版图级后仿真和形式验证等。
2、本发明技术方案把门级电路转换为矢量图,把逻辑门的属性对矢量图的节点进行标注,门级电路的电流方向代表矢量图中连线的方向,然后应用一种渐近匹配的方法进行子图的快速匹配。这种节点标注和渐近匹配的方法使得子电路提取效率比以往的方法大大提高。
3、使用本发明技术方案编写的软件进行电路提取,电路提取的时间和整个电路的规模能够达到线性的关系,改变了以往提取时间随着电路规模的增长呈非线性甚至指数增长的情况,因此能够应付目前超大规模集成电路设计的需要。
附图说明
图1为本发明技术方案流程概要图;
图2为本发明实施例中晶体管沟道相连器件的搜索和分类过程示意图;
图3为本发明实施例中一种伪逻辑门示例图;
图4为本发明实施例中传输管逻辑电路示意图;
图5-1为本发明实施例中寄存器的电路图以及它里面的门单元被识别之后的示意图;
图5-2为本发明实施例中寄存器的电路图转换而来的矢量图;
图6为本发明实施例中包含一个寄存器的目标电路图以及其中的门被识别之后的示意图;
图7为本发明实施例中附图6所指代的目标电路图以及其中的门被识别之后的示意图;
图8为本发明实施例中附图7所指代的目标电路图经过模式匹配之后的行为级模型示意图;
图9为本发明实施例中渐近匹配方式与回溯一起进行来进行子图的匹配过程示意图;
图10为本发明实施例中电路提取时间和电路规模的关系曲线示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例
本实施例首先具体描述本发明技术方案所提供的分层次电路提取方法的技术特征。
如图1所示,所述分层次电路提取方法,包括如下步骤:
步骤1:利用结构识别方法从晶体管级电路中识别出各种逻辑门级电路;
步骤2:利用模式匹配方法从逻辑门级电路中识别出各种行为级电路模块。
所述步骤1关于门级电路识别具体包括如下步骤:
步骤1.1:将晶体管级电路中的晶体管合并为通过源极和漏极相连的晶体管沟道相连器件集合,所述晶体管沟道相连器件集合包括由P型晶体管组成的沟道相连器件集合以及由N型晶体管组成的沟道相连器件集合;由P型晶体管组成的沟道相连器件集合被称为P型树,由N型晶体管组成的沟道相连器件集合被称为N型树;
将晶体管级电路被分为若干个沟道相连(CCC:Channel-Connected-Components)的部分,这些CCC是一些通过源极和漏极相连的晶体管器件。整个结构识别方法从电源VDD和地GND开始,终止于P型晶体管和N型晶体管连接的节点,称之为PN节点。
对所有的沟道位于这个搜索路径的P型晶体管以及N型晶体管进行分类,所述P型晶体管被分为P型树,所述N型晶体管被分为N型树;图2给出了整个搜索和分类过程;对以已经被分类的P型树和N型树,将采用接下来的步骤来识别其逻辑功能;
步骤1.2:对所述P型树以及N型树分别进行内部并联和/或串联晶体管的合并操作;
具体包括:
步骤1.2.1:采用并行搜索方法对所述P型树以及N型树进行并行搜索,将所述P型树以及N型树所包含的并联晶体管均分别替换为伪晶体管;
步骤1.2.2:采用串行搜索方法对所述P型树以及N型树进行串行搜索,将所述P型树以及N型树所包含的串联晶体管均分别替换为伪晶体管;
步骤1.2.3:所述步骤1.3.1以及步骤1.3.2不断重复进行,直至所述P型树以及N型树经过合并后均只剩下最后一个大的伪晶体管,例如,图2的P型树和N型树将被最终合并成一个伪晶体管。
步骤1.3:对合并后的P型树以及N型树的逻辑功能进行确定以及鉴定操作,根据其逻辑功能类别将各个P型树和N型树合并成逻辑门电路。
所述步骤1.3中对合并后的P型树以及N型树的逻辑功能进行确定步骤具体包括:
步骤1.3.1:对于并联的晶体管,将其相互之间的逻辑关系定义为“或”;
步骤1.3.2:对于串联的晶体管,将其相互之间的逻辑关系定义为“与”;
步骤1.3.3:结合图2重复执行步骤1.3.1和/或步骤1.3.2,最终得到所述合并后的P型树以及N型树的逻辑功能关系式:
f P - tree = ( a ‾ · b ‾ + c ‾ ) · d ‾ ;
以及,fN-tree=a·(b+c)+d;
所述步骤1.3中对合并后的P型树以及N型树的逻辑功能进行鉴定操作,根据其逻辑功能类别将各个P型树和N型树合并成逻辑门电路的步骤具体包括:
步骤1.3.4:若所述合并后的P型树和N型树由PN节点相连,并且它们的逻辑功能具有互补的逻辑关系,则该P型树和N型树合并成为一个标准逻辑门电路;
每一个晶体管沟道相连器件包含一个P型树和N型树,若所述合并后的P型树和N型树的逻辑功能具有互补的逻辑关系,则包含该P型树和N型树的晶体管沟道相连器件为一个标准逻辑门电路;
步骤1.3.5:若所述通过PN节点相连的P型树和N型树的逻辑功能不具有互补的逻辑关系,则该P型树和N型树合并为一个伪逻辑门电路;
若所述合并后的P型树和N型树的逻辑功能不具有互补的逻辑关系,则包含该P型树和N型树的晶体管沟道相连器件为伪逻辑门电路;图3给出了一种伪逻辑门,它实质上是一个锁存器里面的一个三态反相器,其P型树和N型树的逻辑并不互补。在静态数字CMOS电路中,伪逻辑门通常是作为寄存器,锁存器等更高一级电路模块的一部分而存在。
步骤1.3.6:对于传输管电路,将其单独分类为传输管逻辑门电路。
即使在所有的逻辑门和伪逻辑门被识别完之后,电路中还会有一些电路单元会被剩下,这些电路单元可能是一些非沟道相连的晶体管,比如传输管,如图4所示。
因此,静态CMOS数字电路在经过方法识别之后,将会被分为三类:逻辑门,伪逻辑门以及传输管逻辑。对于动态CMOS电路,将包含更多的种类。
所述步骤2关于行为级电路模块子电路的识别具体包括如下步骤:
步骤2.1:经过步骤1,晶体管级别的电路以及库里定义的各个待识别的行为级模块子电路都被转换为门级电路,将所述门级电路转换成为矢量图,所述矢量图为目标矢量图;将库中定义的行为级电路模块转换成为矢量图,所述矢量图为子矢量图;
所述步骤2.1中门级电路转换而成的矢量图中,包括节点、连线以及标注在节点上的节点属性,有如下定义:
所述节点代表各个逻辑门;
所述连线代表各个逻辑门电路之间的互联,连线的方向代表电流的流向;
所述节点属性,代表各个逻辑门电路本身的属性。
所述连线包括有方向连线以及无方向连线,所述有方向连线代表从一个逻辑门的输出连接到另一个逻辑门的输入的电流方向,所述无方向连线代表传输管逻辑门之间的无方向连接;
所述节点属性包括逻辑门电路的类型、逻辑门电路的逻辑功能、逻辑门电路的输入数目、逻辑门电路的扇出数目以及扇出门电路的属性等逻辑门本身的属性;
在这里,我们以图5-1的寄存器为例表示如何把它从一个电路图转换为一个矢量图。经过第一步的结构识别方法之后,里面的逻辑门被识别出来,于是整个寄存器电路被分为10个门。需要注意的是,编号为3的门是一个伪逻辑门,它是由两个时钟控制的三态反相器组成。编号为10的门是一个传输门,因此与它相连的连线都是无方向的;上述的寄存器电路可以被转换为图5-2所示的矢量图:
步骤2.2:使用模式匹配方法在门级电路对应的目标矢量图里面结合所述子矢量图找出各个门级子电路所对应的匹配子矢量图,从而在目标待提取电路中提取出各个行为级电路模块;
所述步骤2.2中的匹配过程为渐进匹配过程,具体包括:
步骤2.2.1:在行为级电路模块矢量图库预存的子矢量图中,根据子矢量图中连线的方向,找到起始源节点,所述起始源节点的判断依据为不存在有方向的连线指向该节点;若所述起始源节点不止一个,则在其中任选一个节点作为起始源节点;
步骤2.2.2:在所述目标电路转换的目标矢量图中找出与所述起始源节点具有相同节点属性的节点,将所述新找出来的具有相同节点属性的节点定义为候选节点,所述候选节点数量可为若干个;
步骤2.2.3:在子矢量图的源节点找到它指向的下一级节点,称为其儿子节点;同时在目标矢量图的候选节点找到它指向的下一级儿子节点;
步骤2.2.4:分别比较源节点的儿子节点以及候选节点的儿子节点,如果他们属性相同,则匹配成功,若没有任何一对节点属性相同,则匹配失败,更换步骤2.2.3中的候选节点后重复执行;
步骤2.2.5:若步骤2.2.4过程匹配成功,则从新找到的匹配节点出发,在子矢量图和目标矢量图分别找到这些节点的儿子节点进行匹配,也即重复所述步骤2.2.4的过程,直至所述子矢量图中所有的节点都在目标矢量图中找到对应匹配成功的节点,则在目标矢量图中找出来的节点对应形成的矢量图即为提取出来的行为级电路模块的匹配子矢量图,此时完成所述行为级电路模块的识别过程。
当目标电路以及预定义的库中要识别的子电路都被转换为矢量图之后,模式匹配的方法可以用来把子电路从整个目标电路中识别出来,如果我们在库文件里面定义了所有要识别的子电路,那么所有的子电路将被从整个目标电路中间识别出来。
为了清楚的阐述整个模式匹配的过程,我们以图6所示的电路图为例说明,这个电路图包含图5-1所示的寄存器。而整个电路图转换而成的矢量图如图7所示。这样一来,从图6的整个电路找到图5-1所示的寄存器子电路的问题,就转换成从图7中找到子图5-2的问题,也就是必须在图7中找到图5-2中每个节点的对应节点。整个模式匹配的过程被称之为渐近匹配。
渐近匹配方法的第一步是在子图中找到一个起始节点,从这个起始节点开始,子图中的所有其它节点都可以通过节点之间的连线而达到,这个起始节点也被叫做源节点。为了找出这个源节点,我们随意找出子图中的一个节点,然后从这个节点开始沿着有方向的连线向上回溯寻找其父亲节点,这个回溯过程不断持续直到我们找到一个不存在父亲节点的节点,这个节点就是我们要找的源节点。在如图四所示的子图中,我们找到的源节点是节点1。但是,有时候方法不能够找到源节点因为节点与节点有可能形成一个环形,在这种情况下,我们可以在环形中任意挑出一个节点作为源节点。
在子图中的源节点被找出之后,方法将在目标图的中找出所有与这个源节点具有相同属性的节点,每一个这样的节点附近都有可能存在一个子图,这样的节点被成为候选节点。然后渐近搜索方法从子图的源节点以及目标图的候选节点开始,分别找出它们的儿子节点,如果两者的儿子节点具有相同的属性,则这些儿子节点匹配成功。接着从这些匹配的儿子节点出发,分别找出它们的孙子节点来进行匹配。这个过程将被不断重复直到子图中的所有节点都在目标图中找到相应的节点,如果在其中的一步匹配失败,则本候选节点寻找子图失败,方法将移至下一个候选节点重新开始渐近匹配方法。在图7所示的目标图中找到图四所示的子图的渐近匹配过程如表一所示,经过四次循环之后,子图中的所有节点在目标图中都找到对应的节点,匹配成功。
下表显示在图7所示的目标图中寻找图5所示子图的渐近匹配过程:
表一:在图7所示的目标图中寻找图5所示子图的渐近匹配过程
通过上表,我们可以看出在目标矢量图中可以找到3-4-5-7-6-8-13-12-9-10所组成的匹配子矢量图对应库中预先定义的行为级电路模块子矢量图1-2-3-5-4-6-10-9-7-8,则依据找出来的匹配子矢量图即可对应提取所需要提取的行为级电路模块,在图6电路中的门电路和行为级电路模块都被找到之后,图6可以变成图8所示的行为级电路图,其中A和B为或非门1的输入,C和D为或非门2的输入,Out1为反相器11的输出,中间的方框则为寄存器。
在有些情况下,子图中有可能存在不止一个源节点,如图9所示,在图9中,节点1和节点2都有可能成为源节点,此时方法将从二者之中任选一个成为源节点。假若我们选择节点1为源节点,在渐近匹配方法的过程中,整个匹配路径将沿着节点1->3->5->6->7->8的顺序进行,因为节点2和节点4在这个过程中不能被搜索到,当方法发现整个渐近匹配过程完成,还有一些节点没有被匹配到,方法将进行回溯寻找。由于节点4和节点6相连,因此从沿着节点6->4->2的顺序将找到所有的节点。
为了验证本方法的效果,我们用C语言编写了一个用于静态CMOS数字电路提取的EDA软件,并把本软件应用于工业界进行大规模集成电路的提取,本软件运行在SUN Fire V480工作站上,工作站的CPU运行速度为900MHz。
在下表中,表现了电路的规模以及电路提取所耗CPU时间的情况,电路PSM,PSM-7,PSM-17,PSM-43,CEGRP,CEGRP-3,CEGRP-5,CEGRP-7,DFGRP,DFGRP-2,DFGRP-4,DFGRP-6是工业界的一些大规模集成电路,这些电路中不仅包含各种逻辑门,还包含大量的自定义的行为级子电路模块,比如DFF(寄存器),latch(锁存器),MUX(选择器),adder(加法器)等。表三给出了大规模电路中究竟包含多少个行为级的子电路模块,比如PSM电路包含三种结构的DFF寄存器,这些寄存器的总数量为122。
表二:电路的规模以及电路提取所耗CPU时间
Figure GSA00000080722700151
表三:行为级子电路模块的类型以及它们的数量
Figure GSA00000080722700152
从表二中可以看出,最大的测试电路CEGRP-7包含729652个晶体管,程序识别了74998个门以及19327个行为级模块子电路,只耗时CPU305.32秒。因此,整个方法可以非常有效地应用于现在的大规模集成电路。
整个电路提取的时间取决于两个因素:1)整个电路的规模;2)电路中包含的所要提取的子电路的数目。为了观察电路提取的耗时和电路规模的关系,我们把PSM电路规模加倍得到一组测试电路,整个提取耗时和电路规模的关系在图10中描绘。可以看出二者基本呈线性的关系,从而证明了方法的高效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (9)

1.一种分层次电路提取方法,其特征在于,所述方法包括如下步骤:
步骤1:利用结构识别方法从晶体管级电路中识别出各种逻辑门级电路;
步骤2:利用模式匹配方法从逻辑门级电路中识别出各种行为级电路模块。
2.如权利要求1所述的分层次电路提取方法,其特征在于,所述步骤1具体包括如下步骤:
步骤1.1:将晶体管级电路中的晶体管合并为通过源极和漏极相连的晶体管沟道相连器件集合,所述晶体管沟道相连器件集合包括由P型晶体管组成的沟道相连器件集合以及由N型晶体管组成的沟道相连器件集合;由P型晶体管组成的沟道相连器件集合被称为P型树,由N型晶体管组成的沟道相连器件集合被称为N型树;
步骤1.2:对所述P型树以及N型树分别进行内部并联和/或串联晶体管的合并操作;
步骤1.3:对合并后的P型树以及N型树的逻辑功能进行确定以及鉴定操作,根据其逻辑功能类别将各个P型树和N型树合并成逻辑门电路。
3.如权利要求2所述的分层次电路提取方法,其特征在于,所述步骤1.2具体包括:
步骤1.2.1:采用并行搜索方法对所述P型树以及N型树进行并行搜索,将所述P型树以及N型树所包含的并联晶体管均分别替换为伪晶体管;
步骤1.2.2:采用串行搜索方法对所述P型树以及N型树进行串行搜索,将所述P型树以及N型树所包含的串联晶体管均分别替换为伪晶体管;
步骤1.2.3:所述步骤1.2.1以及步骤1.2.2不断重复进行,直至所述P型树以及N型树经过合并后均只剩下最后一个大的伪晶体管。
4.如权利要求2所述的分层次电路提取方法,其特征在于,所述步骤1.3中对合并后的P型树以及N型树的逻辑功能进行确定步骤具体包括:
步骤1.3.1:对于并联的晶体管,将其相互之间的逻辑关系定义为“或”;
步骤1.3.2:对于串联的晶体管,将其相互之间的逻辑关系定义为“与”;
步骤1.3.3:重复执行步骤1.3.1和/或步骤1.3.2,最终得到所述合并后的P型树以及N型树的逻辑功能关系式。
5.如权利要求2所述的分层次电路提取方法,其特征在于,所述步骤1.3中对合并后的P型树以及N型树的逻辑功能进行鉴定操作,根据其逻辑功能类别将各个P型树和N型树合并成逻辑门电路的步骤具体包括:
步骤1.3.4:若所述合并后的P型树和N型树由PN节点相连,并且它们的逻辑功能具有互补的逻辑关系,则该P型树和N型树合并成为一个标准逻辑门电路;
步骤1.3.5:若所述通过PN节点相连的P型树和N型树的逻辑功能不具有互补的逻辑关系,则该P型树和N型树合并为一个伪逻辑门电路;
步骤1.3.6:对于传输管电路,将其单独分类为传输管逻辑门电路。
6.如权利要求1所述的分层次电路提取方法,其特征在于,所述步骤2具体包括:
步骤2.1:将所述门级电路转换成为矢量图,所述矢量图为目标矢量图;将库中定义的行为级电路模块转换成为矢量图,所述矢量图为子矢量图;
步骤2.2:使用模式匹配方法在门级电路对应的目标矢量图里面结合所述子矢量图找出各个门级子电路所对应的匹配子矢量图,从而在目标待提取电路中提取出各个行为级电路模块。
7.如权利要求6所述的分层次电路提取方法,其特征在于,所述步骤2.1中的矢量图中,包括节点、连线以及标注在节点上的节点属性,有如下定义:
所述节点代表各个逻辑门;
所述连线代表各个逻辑门电路之间的互联,连线的方向代表电流的流向;
所述节点属性代表各个逻辑门电路本身的属性。
8.如权利要求7所述的分层次电路提取方法,其特征在于,所述连线包括有方向连线以及无方向连线,所述有方向连线代表从一个逻辑门的输出连接到另一个逻辑门的输入的电流方向,所述无方向连线代表传输管逻辑门之间的无方向连接;
所述节点属性包括逻辑门电路的类型、逻辑门电路的逻辑功能、逻辑门电路的输入数目、逻辑门电路的扇出数目以及扇出门电路属性。
9.如权利要求8所述的分层次电路提取方法,其特征在于,所述步骤2.2中的匹配过程为渐进匹配过程,具体包括:
步骤2.2.1:在所述子矢量图中,根据子矢量图中连线的方向,找到起始源节点,所述起始源节点的判断依据为不存在有方向的连线指向该节点;若所述起始源节点不止一个,则在其中任选一个节点作为起始源节点;
步骤2.2.2:在所述目标电路转换的目标矢量图中找出与所述起始源节点具有相同节点属性的节点,将所述新找出来的具有相同节点属性的节点定义为候选节点,所述候选节点数量可为若干个;
步骤2.2.3:在子矢量图的源节点找到它指向的下一级节点,称为其儿子节点;同时在目标矢量图的候选节点找到它指向的下一级儿子节点;
步骤2.2.4:分别比较源节点的儿子节点以及候选节点的儿子节点,如果他们属性相同,则匹配成功,若没有任何一对节点属性相同,则匹配失败,更换步骤2.2.3中的候选节点后重复执行;
步骤2.2.5:若步骤2.2.4过程匹配成功,则从新找到的匹配节点出发,在子矢量图和目标矢量图分别找到这些节点的儿子节点进行匹配,也即重复所述步骤2.2.4的过程,直至所述子矢量图中所有的节点都在目标矢量图中找到对应匹配成功的节点,则在目标矢量图中找出来的节点对应形成的矢量图即为提取出来的行为级电路模块的匹配子矢量图,此时完成所述行为级电路模块的识别过程。
CN 201010156889 2010-04-27 2010-04-27 一种分层次的电路提取方法 Pending CN101814106A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010156889 CN101814106A (zh) 2010-04-27 2010-04-27 一种分层次的电路提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010156889 CN101814106A (zh) 2010-04-27 2010-04-27 一种分层次的电路提取方法

Publications (1)

Publication Number Publication Date
CN101814106A true CN101814106A (zh) 2010-08-25

Family

ID=42621358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010156889 Pending CN101814106A (zh) 2010-04-27 2010-04-27 一种分层次的电路提取方法

Country Status (1)

Country Link
CN (1) CN101814106A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411642A (zh) * 2010-09-26 2012-04-11 北京华大九天软件有限公司 一种集成电路门电路识别方法
CN102637225A (zh) * 2012-03-20 2012-08-15 苏州芯禾电子科技有限公司 射频集成电路的子电路模块管理方法
CN103034740A (zh) * 2011-09-30 2013-04-10 北京华大九天软件有限公司 一种原理图驱动版图的生成层次版图方法
CN105956178A (zh) * 2016-05-27 2016-09-21 西安电子科技大学 基于门级电路仿真的关键节点提取方法
CN107517055A (zh) * 2017-08-16 2017-12-26 宁波大学 一种cmos数字逻辑电路的设计方法
CN108804724A (zh) * 2017-04-27 2018-11-13 瑞昱半导体股份有限公司 电路编码方法与电路架构的辨识方法
CN113435158A (zh) * 2021-07-14 2021-09-24 成都华大九天科技有限公司 一种重建电路并联子结构的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Proceedings of 25th ACM/IEEE Design Automation Conference》 19881231 Michael Boehner LOGEX - An Automatic Logic Extractor from Transistor to Gate Level for CMOS Technology 517-522 2-5 , 2 *
《计算机辅助设计与图形学学报》 20060930 李长青 等 辐射路匹配:从门级到功能模块级的子电路提取算法 1377-1382 1-9 第18卷, 第9期 2 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102411642A (zh) * 2010-09-26 2012-04-11 北京华大九天软件有限公司 一种集成电路门电路识别方法
CN103034740A (zh) * 2011-09-30 2013-04-10 北京华大九天软件有限公司 一种原理图驱动版图的生成层次版图方法
CN102637225A (zh) * 2012-03-20 2012-08-15 苏州芯禾电子科技有限公司 射频集成电路的子电路模块管理方法
CN105956178A (zh) * 2016-05-27 2016-09-21 西安电子科技大学 基于门级电路仿真的关键节点提取方法
CN105956178B (zh) * 2016-05-27 2019-03-08 西安电子科技大学 基于门级电路仿真的关键节点提取方法
CN108804724A (zh) * 2017-04-27 2018-11-13 瑞昱半导体股份有限公司 电路编码方法与电路架构的辨识方法
CN108804724B (zh) * 2017-04-27 2021-12-10 瑞昱半导体股份有限公司 电路编码方法与电路架构的辨识方法
CN107517055A (zh) * 2017-08-16 2017-12-26 宁波大学 一种cmos数字逻辑电路的设计方法
CN107517055B (zh) * 2017-08-16 2020-07-03 宁波大学 一种cmos数字逻辑电路的设计方法
CN113435158A (zh) * 2021-07-14 2021-09-24 成都华大九天科技有限公司 一种重建电路并联子结构的方法

Similar Documents

Publication Publication Date Title
CN101814106A (zh) 一种分层次的电路提取方法
Devadas et al. On the verification of sequential machines at differing levels of abstraction
KR20170123708A (ko) 회로 스텐실들의 발생 및 인스턴스화를 이용한 집적 회로 설계
Rao et al. Switch-level timing simulation of MOS VLSI circuits
CN101753011B (zh) 适用于spice级仿真的电荷泵电路的行为级模型的建模方法
US20100153893A1 (en) Constraint management and validation for template-based circuit design
Cheremisinov et al. Extracting a logic gate network from a transistor-level CMOS circuit
CN1971535A (zh) 基于时间安全输入输出自动机的测试方法及系统
US7587305B2 (en) Transistor level verilog
Cheremisinov et al. Subcircuit pattern recognition in transistor level circuits
Bose et al. Logic systems for path delay test generation
CN102436525B (zh) 一种集成电路设计过程中多节点并行自动修复保持时间违例的方法
US7216321B2 (en) Pattern recognition in an integrated circuit design
Ramachandran An improved switch-level simulator for MOS circuits
Afonso et al. Analysis of short-circuit conditions in logic circuits
Paul et al. VERILAT: Verification using logic augmentation and transformations
Steinbach et al. Synthesis for full testability of partitioned combinational circuits using boolean differential calculus
Cheremisinova et al. Graph-Based Recognition of High-Level Structures in Transistor Circuits
Thatcher et al. Automatic partitioning and dynamic mixed-mode simulation
CN101609481B (zh) 一种基于直流通路模块和强联通分量的快速电路划分方法
CN102486806A (zh) 网表子电路多级交换信息的描述方法
US20050125185A1 (en) Multiple level transistor abstraction for dynamic circuits
CN1361428A (zh) 电路时延测试方法
Mishra Bidirectional edges problem: Part I—A simple algorithm
Chung et al. System identification of discrete event systems

Legal Events

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

Owner name: KUNSHAN CHUANGTONG MICRO-ELECTRONIC CO., LTD.

Free format text: FORMER OWNER: YANG LEI

Effective date: 20110328

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

Free format text: CORRECT: ADDRESS; FROM: 200001 12/F, NO. 61, NANJING EAST ROAD, HUANGPU DISTRICT, SHANGHAI TO: 215300 ROOM 619, TOWER A, MODERN PLAZA, NO. 18, WEIYE ROAD, KUNSHAN DEVELOPMENT ZONE, KUNSHAN CITY, JIANGSU PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20110328

Address after: Room 619, block A, Modern Plaza, 18 Albert Road, Kunshan Development Zone, Jiangsu, Kunshan, 215300

Applicant after: Kunshan Chuangtong Microelectronics Co.,Ltd.

Address before: 200001, 12 floor, No. 61 East Huangpu District Road, Shanghai, Nanjing

Applicant before: Yang Lei

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100825