CN102323964B - 一种数字电路网表数据的处理方法 - Google Patents
一种数字电路网表数据的处理方法 Download PDFInfo
- Publication number
- CN102323964B CN102323964B CN201110234347.9A CN201110234347A CN102323964B CN 102323964 B CN102323964 B CN 102323964B CN 201110234347 A CN201110234347 A CN 201110234347A CN 102323964 B CN102323964 B CN 102323964B
- Authority
- CN
- China
- Prior art keywords
- gauze
- pin
- component type
- type
- attribute information
- 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
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种数字电路网表数据的处理方法,包括:从平面电路图中提取网表数据;所述网表数据包括所述平面电路图中各元件的属性信息和各线网的属性信息;所述元件的属性信息包括:元件标识、元件类型;所述线网的属性信息包括线网标识;根据元件类型和标准元件类型之间的对应关系,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型。本发明的技术方案能够通过对网表数据的处理,在保持逻辑功能不改变的情况下对平面电路图进行简化;应用在数字电路层次化整理过程中,可简化初始平面电路图,从而使后继的层次化整理步骤更易于实施。
Description
技术领域
本发明涉及集成电路计算机辅助设计领域,具体涉及一种数字电路网表数据的处理方法。
背景技术
在采用计算机进行集成电路设计时,有时会需要根据芯片或背景图像提取出逻辑上的电路图,比如在进行专利侵权分析时,可以用提取出的电路图和专利文件中的进行对比;再比如要进行系统分析或改进,而原始设计文件丢失时,可以根据提取出的电路图进行还原。
目前常用的提取方法的过程包括:
翻译、读入电路的RTL(寄存器传输级)描述,并将语言描述翻译成相应的功能块以及功能块之间的拓扑结构;生成电路的布尔函数表达式,不做任何逻辑重组和优化。
优化、根据所施加的时序和面积约束,按照一定的算法对翻译得到的布尔函数表达式进行逻辑重组和优化。
映射、根据所施加的时序和面积约束,从目标工艺库中搜索符合条件的单元来构成实际电路的逻辑网表,从而得到一平面电路图。
在数字集成电路芯片的反向分析过程中,当平面电路图提取出来以后,为了进一步还原和理解原芯片的设计原理和思想,还需要对平面电路图进行数字电路层次化整理。层次化整理(hierarchical organization)是指在平面电路图中识别出功能模块,自底向上地重构出层次化的电路结构,并且将各个层次的电路图绘制成相对易读、直观形式的过程。
提取出来的平面电路图称为“初始平面电路图”;现有的集成电路反向分析工具均直接针对初始平面电路图进行数字电路层次化整理。
发明内容
本发明要解决的技术问题是如何利用网表数据简化数字电路图。
为了解决上述问题,本发明提供了一种数字电路网表数据的处理方法,包括:
从平面电路图中提取网表数据;所述网表数据包括所述平面电路图中各元件的属性信息和各线网的属性信息;所述元件的属性信息包括:元件标识、元件类型;所述线网的属性信息包括线网标识;
根据元件类型和标准元件类型之间的对应关系,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型。
进一步地,所述线网的属性信息还包括连接到该线网的各元件的连接信息,该连接信息包括元件标识和引脚;
所述元件的属性信息还包括:一个或多个引脚,各引脚的类型,以及各引脚所在的线网;引脚的类型包括输入、输出和双向;引脚所在的线网以该引脚对应的线网标识表示。
进一步地,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还包括:
在网表数据中,判断各元件的属性信息里的标准元件类型是否为缓冲器;如果一元件为缓冲器,则将缓冲器的输出引脚所在的线网合并到缓冲器输入引脚所在的线网,并从网表数据中删除该元件。
进一步地,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还包括:
在网表数据中,如果一个元件的属性信息里类型为输出和类型为双向的所有引脚都悬空,则从网表数据中删除该元件;引脚悬空是指该引脚对应的线网标识为空,或是连接到该引脚所在的线网的引脚仅有该引脚本身。
进一步地,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还包括:
在网表数据中,比较各元件的属性数据,如果两个或两个以上元件的属性数据中,标准元件类型相同,且类型为输入和类型为双向的引脚所在的线网都相同,则合并该两个或两个以上元件;
合并方式是保留该两个或两个以上元件中任一个元件的属性信息,分别将未保留元件各个引脚所在的线网合并到保留元件的相对应引脚所在的线网;然后从所述网表数据中删除所述未保留元件。
进一步地,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还包括:
在网表数据中,如果连接到一个线网的元件的标准元件类型均为反相器,且连接到该线网的引脚既包括类型为输入的引脚,也包括类型为输出的引脚,则将该线网作为待删除线网;
从连接到该待删除线网的反相器中,挑选出以输入引脚连接该线网的反相器;对于各挑选出的反相器,分别将其输出引脚所在的线网合并到未被挑选的反相器输入引脚所在的线网;
从网表数据中删除该待删除线网的属性信息、以及连接到该待删除线网的各反相器。
进一步地,从网表数据中删除元件的步骤包括:
在网表数据中查找到待删除元件的属性信息,从中得到元件标识、及每个引脚所在的线网;
分别从该元件各引脚所在线网的属性信息中,删除包含有所得到的元件标识的连接信息;
从网表数据中删除该元件的属性信息。
进一步地,连接到线网的元件的连接信息为一个二元组列表;该二元组列表的每一项为一个元件标识和一个引脚构成的二元组;
将第一线网合并到第二线网的步骤包括:
将第一线网的二元组列表中的二元组全部添加到第二线网的二元组列表,根据所述第一线网的二元组列表中各二元组的元件标识和引脚,分别将相应元件的属性数据中相应引脚所在的线网修改为所述第二线网;然后从网表数据中删除所述第一线网的属性信息。
进一步地,所述元件的属性信息还包括:逻辑描述信息;所述逻辑描述信息用于描述当本元件的一个引脚接到逻辑信号“0”和“1”时,类型为输出或双向的引脚输出信号的情况;
将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还包括:
将电路的外接信号设定为“0”或者“1”,更新接收外接信号的元件的逻辑描述信息,仅保留当该接收外接信号的引脚收到该设定的外接信号时,类型为输出或双向的引脚输出信号的情况;更新该接收外接信号的元件的引脚,删除更新后的逻辑描述信息中未涉及的引脚及其类型。
进一步地,采用一个标准单元库保存标准元件类型,以及标准元件类型对应的引脚、引脚类型和逻辑描述信息;
更新接收外接信号的元件的逻辑描述信息和引脚的步骤后还包括:
根据更新后的引脚、引脚类型及逻辑描述信息,在所述标准单元库中查找对应的标准元件类型,如果查找到则以该查找到的标准元件类型替换原有的标准元件类型。
本发明的技术方案能够通过对网表数据的处理,在保持逻辑功能不改变的情况下对平面电路图进行简化;应用在数字电路层次化整理过程中,可简化初始平面电路图,从而使后继的层次化整理步骤更易于实施。
附图说明
图1是实施例一的例子的流程示意图;
图2是实施例一的例子中的初始平面电路图;
图3实施例一的例子中完成了“单元库映射”后的平面电路图;
图4是实施例一的例子中删除了时钟树以后的平面电路图;
图5 实施例一的例子中删除了DFT扫描链以后的平面电路图;
图6(a)是实施例一的例子中完成层次化整理后的顶层电路图;
图6(b)是实施例一的例子中完成层次化整理后的宏单元实例的电路图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一、一种数字电路网表数据的处理方法,包括:
从平面电路图中提取网表数据;所述网表数据包括所述平面电路图中各元件的属性信息和各线网的属性信息;所述元件的属性信息包括:元件标识、元件类型;所述线网的属性信息包括线网标识;
根据元件类型和标准元件类型之间的对应关系,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型。
同一个平面电路图的网表数据中,任何两个元件的元件标识均是不同的,任何两个线网的线网标识也是不同的。
本实施例中,所述标准元件类型可以但不限于采用一个标准单元库保存;标准单元库可以利用一个已经建立好的单元库,也可以针对要整理的平面电路图重新创建及修改。对同一种功能,标准单元库仅包含唯一的一个标准元件类型。换言之,标准单元库中的任何两个标准元件类型的功能均是不同的。数字电路中的标准元件类型通常主要但不限于包括:反相器(INV)、缓冲器(BUF)、与非门(NAND)、或非门(NOR)、多路选择器(MUX)、异或门(XOR)、触发器(Flip-Flop)、锁存器(LATCH)等。
提取出来的初始平面电路图包含了多种基本的元件类型,这些基本的元件类型除了包含功能信息外,还包含了工艺信息。换言之,对于功能相同但是驱动能力不同的元件,其属性信息中的元件类型可能并不相同,其版图可能是不同的;比如INV、INVX1、INVX2、INVX4、INVX6等实现的都是反相器的功能,但元件类型不同。由于初始平面电路图中的基本元件类型是某具体工艺库中的元件类型,直接对其进行整理和分析时会使得整理困难且整理结果难以理解。
本实施例中,根据对应关系进行替换,将功能相同的多种元件类型映射为一个与工艺无关的标准单元库中的标准元件类型,这样基于任何工艺库的网表数据将一致化为仅包含标准元件类型的网表数据。例如,多种不同驱动能力的二输入与非门可以替换为同一个标准的二输入与非门。另外,初始平面电路图中可能会包含一些非标准功能的元件,这些元件需要用两个或以上标准元件类型的组合来表示,也就是说,这些元件的元件类型对应的将是标准元件类型的组合。
所述元件类型和标准元件类型之间的对应关系可以是根据元件的功能设置,在相同功能的元件类型和标准元件类型之间建立对应关系;也可以人为预先定义,还可以根据实际情况进行修改更新,包括一对一、多对一的对应关系;每个元件类型在这个对应关系中都可以找到唯一对应的标准元件类型或标准元件类型的组合。
在原始设计的逻辑综合过程中,由于时序和面积约束,在逻辑优化和逻辑映射中引入了时钟树、DFT扫描链等类型的冗余逻辑,这些逻辑的存在影响了对于原始电路设计的理解。因此,还需要进行逻辑等价化简。
逻辑等价化简分为两种:一种是不带预设输入值的逻辑等价化简;第二种是带预设输入值的逻辑等价化简。不带预设输入值的逻辑等价化简是根据若干个单元实例的连接组合,根据逻辑功能,用简化的电路来代替原有的电路。例如,两个串联的反相器可以简化掉而不影响原有电路的功能。
带预设输入值的逻辑等价化简是指将原有电路中的某些信号预设为逻辑“0”或者逻辑“1”,从而达到化简的目的。例如,将一个二输入与非门的一个输入信号预设为逻辑“1”,就可以将这个与非门化简为一个反相器。
下面将详细介绍逻辑等价化简的具体方案。
首先,本实施例中所述线网的属性信息还可以包括连接到该线网的各元件的连接信息,该连接信息包括元件标识和引脚;可以但不限于采用一个二元组列表来记录连接到线网的元件的连接信息,该二元组列表的每一项为一个元件标识和一个引脚构成的二元组。线网的二元组列表实际上就是连接到该线网上的所有元件引脚。例如:元件X1的引脚A、元件X2的引脚A和元件X3的引脚ZN均连接到了线网NET1,那么这个线网NET1的二元组列表为:((X1, A), (X2, A), (X3, ZN))。
所述元件的属性信息还可以包括:一个或多个引脚(也可称为端口),各引脚的类型,以及各引脚所在的线网;引脚的类型包括输入、输出和双向。类型为输入/输出的引脚即输入引脚/输出引脚。
本实施例中,可用线网标识来表示引脚所在的线网;当一个引脚非悬空时,该引脚对应于唯一的一个线网标识,表示该引脚连接到具有指定线网标识的线网上;若引脚悬空时,该引脚对应的线网标识为空,即不对应于任何线网标识,或是该引脚所在的线网中只连接了该引脚本身。
本实施例中,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还可以包括:
A、在网表数据中,判断各元件的属性信息里的标准元件类型是否为缓冲器;如果一元件为缓冲器,则将该缓冲器输出引脚所在的线网合并到该缓冲器输入引脚所在的线网,并从网表数据中删除该元件。
这是因为从功能角度,缓冲器的输入和输出相等,所以可以删除缓冲器。
本实施例中,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还可以包括:
B、在网表数据中,如果一个元件的属性信息里类型为输出和类型为双向的所有引脚都悬空,则从网表数据中删除该元件;所述引脚悬空是指该引脚对应的线网标识为空,或是连接到该引脚所在的线网的引脚仅有该引脚本身。
这样就可以将输出悬空的元件直接删除。
本实施例中,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还可以包括:
C、在网表数据中,比较各元件的属性数据,如果两个或两个以上元件的属性数据中,标准元件类型相同,且类型为输入和类型为双向的引脚所在的线网都相同(比如一元件共有两个类型为输入的引脚A和B,A所在的线网为M,B所在线网为N,另一元件的引脚A所在线网也是M,引脚B所在的线网也是N),则合并该两个或两个以上元件;
合并方式是保留该两个或两个以上元件中任一个元件的属性信息,分别将未保留元件各个引脚所在的线网合并到保留元件的相对应引脚所在的线网,然后从所述网表数据中删除所述未保留元件。
比如合并元件X1和X2, X1和X2的引脚包括A和B;其中,X1的引脚A和B所在的线网分别是O1和P1,X2的引脚A和B所在的线网分别是O2和P2;假设保留元件X1,则将线网O2合并到线网O1,将线网P2合并到线网P1,具体来说,就是将线网O2中的二元组都添加到线网O1的属性信息中,将线网P2中的二元组都添加到线网P1的属性信息中;相应地,分别将线网O2和P2的二元组中引脚所在的线网从O2/P2修改为O1/P1。如果X2的引脚A所在的线网也是O1,则可以不用合并。
这样做是为了简化等效单元。所有输入信号均相同的同类单元,其输出必然相同,可以将这些同类单元简化为一个。
本实施例中,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还可以包括:
D、在网表数据中,如果连接到一个线网的元件的标准元件类型均为反相器,且连接到该线网的引脚既包括类型为输入的引脚,也包括类型为输出的引脚,则将该线网作为待删除线网;
从连接到该待删除线网的反相器中,挑选出以输入引脚连接该线网的反相器;对于各挑选出的反相器,分别将其输出引脚所在的线网合并到未被挑选的反相器输入引脚所在的线网;
从网表数据中删除该待删除线网的属性信息、以及连接到该待删除线网的各反相器。
这是进行反相器链的简化。从功能角度,两级反相器的输入和输出相等,可以将第二个反相器的输出端直接连接到第一个反相器的输入端。时钟树就是反相器链简化的最典型的应用例。
比如线网N0的二元组列表为((X1, ZN), (X2,A), (X3, A)),其中X1、X2和X3的标准元件类型均为反相器,反相器的输入引脚是A,输出引脚是ZN;则将元件X2的引脚ZN所在的线网N2、以及元件X3的引脚ZN所在的线网N3,全部合并到元件X1的引脚A所在的线网N1;然后删除线网N0、元件X1、X2和X3。
本实施例中,删除一个元件的属性信息相当于将根据网表数据所得到的电路图中该元件删去。从网表数据中删除元件的步骤具体可以包括:
在网表数据中查找到待删除元件的属性信息,从中得到元件标识X、及每个引脚所在的线网;
分别从该元件各引脚所在线网的属性信息中,删除包含有所得到的元件标识X的连接信息;当连接信息为二元组列表时,就是删除包含有所得到的元件标识X的二元组;
最后,从网表数据中删除该元件的属性信息。
若一个线网的二元组列表变为空,则说明该线网上不再有任何元件连接,可从网表数据中删除这个线网的属性信息。
将第一线网合并到第二线网的步骤包括:
将第一线网的二元组列表中的二元组全部添加到第二线网的二元组列表,根据第一线网的二元组列表中各二元组的元件标识和引脚,分别将相应元件的属性数据中相应引脚所在的线网修改为所述第二线网;然后从网表数据中删除所述第一线网的属性信息。
比如要将线网Y合并到线网X,则先将Y中的二元组都添加(可以是单纯的添加,也可以是移动,即删去Y中所有二元组,将这些二元组都添加到X的属性信息中)到X的属性信息中;假设线网Y的二元组列表为((X1, D), (X2, S),(X3,ZN)),则将元件X1的属性数据中引脚D所在线网从Y修改为X,将元件X2的属性数据中引脚S所在线网从Y修改为X,将元件X3的属性数据中引脚ZN所在线网从Y修改为X。
本实施例中,所述元件的属性信息还可以包括:逻辑描述信息;所述逻辑描述信息用于描述当本元件的一个引脚接到逻辑信号“0”和“1”时,类型为输出或双向的引脚输出信号的情况。
元件属性信息中的引脚、引脚类型和逻辑描述信息也可以保存在所述标准单元库中,与标准元件类型相对应;在将网表数据中属性信息的元件类型替换为标准元件类型时,可以同时将属性信息中的引脚、引脚类型和逻辑描述信息更新为该标准元件类型对应的引脚、引脚类型和逻辑描述信息。
本实施例中,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还可以包括:
E、将电路的外接信号设定为“0”或者“1”,更新接收外接信号的元件的逻辑描述信息,仅保留当该接收外接信号的引脚收到该设定的外接信号(“0”或者“1”)时,类型为输出或双向的引脚输出信号的情况;更新该接收外接信号的元件的引脚,删除更新后的逻辑描述信息中未涉及的引脚(包括接收外接信号的引脚)及其类型。
这里的将电路的外接信号设定为“0”或者“1”,对于各外接信号,可以是只得到设定为“0”和设定为“1”中一种情况下更新后的网表数据,也可以是既得到设定为“0”时更新后的网表数据,也得到设定为“1”时更新后的网表数据;有多个外接信号时,对于各外接信号的设定可以不同。
所述步骤E中后还可以包括:
F、根据更新后的引脚、引脚类型及逻辑描述信息,在所述标准单元库中查找对应的标准元件类型,如果查找到则以该查找到的标准元件类型替换原有的标准元件类型。
上述步骤A到E可以不分先后,并且可以只执行其中的任一步或任几步;执行步骤F有可能会导致一些元件的标准元件类型发生改变,因此可以在进行步骤F后执行一下步骤A和C(即使之前执行过),以删除缓冲器并简化同类单元。
例如一个二输入与非门,原先的引脚包括第一、第二输入端和输出端,逻辑描述信息是:
当第一、第二输入端均接到逻辑信号“0”时,输出端输出1;当第一、第二输入端均接到逻辑信号“1”时,输出端输出0;当第一输入端接到逻辑信号“0”、第二输入端接到逻辑信号“1”时,输出端输出1;当第一输入端接到逻辑信号“1”、第二输入端接到逻辑信号“0”时,输出端输出1。
当该二输入与非门的第一输入端接收的是电路的外接信号,并且假设该外接信号为“1”时,其逻辑描述信息可以简化为:
当第二输入端接到逻辑信号“1”时,输出端输出0;当第二输入端接到逻辑信号“0”时,输出端输出1。
引脚简化为第二输入端和输出端;在标准单元库中,查找到的标准元件类型为反相器。
再例如一个多路选择器,引脚包括选择端、第一、第二输入端和输出端;逻辑描述信息
当选择端接到逻辑信号“0”时,输出端输出第一输入端的信号;当选择端接到逻辑信号“1”时,输出端输出第二输入端的信号。
当该多路选择器的选择端接收的是电路的外接信号,并且假设该外接信号为“0”时,其逻辑描述信息可以简化为:
输出端输出第一输入端的信号。
引脚简化为第一输入端和输出端。
由于只剩余第一输入端和输出端,而这两个引脚的信号完全相同,因此在标准单元库中,查找到的标准元件类型为缓冲器,最后的简化结果是从网表数据中删除该元件的属性信息。
由于初始平面电路图中包含了时钟树、DFT(可测性设计)扫描链等电路结构,这些电路结构对理解原芯片的设计原理和思想没有实质性帮助,却对层次化整理中的宏单元搜索、信号跟踪等操作带来了困难;而本实施例针对初始平面电路图中存在的大量版图实现细节信息(包括不同驱动能力而功能相同的单元、时钟树、DFT扫描链等)的问题,对初始平面电路图的网表数据进行处理,将这些版图实现细节信息删除,从而可简化后续操作。
下面用一个具体例子说明本实施例,流程如图1所示,包括:
首先建立如下一个标准单元库,该标准单元库中包含了三个单元类型,分别为反相器INV、多路选择器MUX和D触发器DFF。这三个单元类型的引脚及功能描述如下:
表1、标准单元库
标准元件类型 | 引脚 | 功能说明 |
INV | A ZN | 这是一个反相器:输出引脚ZN对输入引脚A取反 |
MUX | A0 A1 S Z | 这是一个多路选择器:当输入引脚S=0时,输出引脚Z取值A0;当输入引脚S=1时,输出引脚Z取值A1 |
DEF | D CLK Q | 这是一个D触发器:引脚CLK为时钟输入,引脚D为数据输入,引脚Q为数据输出 |
该例子中的初始平面电路图如图2所示,包含了六种不同的元件类型:
INV_24_12、INV_48_24、MUX_20_12、MUX_30_20、DFF_S1和DFF_S2。
进行“单元库化简”操作,将平面电路图中这六种元件类型替换为标准单元库中的标准元件类型。具体而言,初始平面电路图中的元件类型为INV_24_12和INV_48_24的反相器3、4、5、6、7可以映射为标准单元库中的反相器INV;元件类型为MUX_20_12和MUX_30_20的多路选择器1、2可以映射为标准单元库中的多路选择器MUX;元件类型为DFF_S1和DFF_S2的D触发器8、9可映射为标准单元库中的D触发器DFF。
根据替换成标准元件类型后的网表数据得到的平面电路图如图3所示,可以看到,化简后的平面电路图仅包含了标准单元库中的三种标准元件类型。
下面说明对图3所示电路的网表数据进行逻辑等价化简的过程。
首先删除时钟树。
时钟树(clock tree)通常是由反相器和缓冲器组成的一个树形电路结构。将时钟树删除后,平面电路的逻辑功能并未发生改变,却有利于后继的层次化整理。通过使用不带预设输入值的逻辑等价化简操作,时钟树可以被删除。
图3中的时钟树如虚线框中所示,在图3所示平面电路图对应的网表数据中,删除了直接相连的两个反相器5和反相器6,以及反相器5和反相器7,也就是进行了时钟树删除;删除后所得到的网表数据对应的平面电路图如图4所示。
接下来删除DFT扫描链。
DFT扫描链是通过在每一个触发器的输入端引入多路选择器实现的。通过使用带预设输入值的逻辑等价化简操作,可以将扫描链删除。在本实施例中,引脚SCAN用于激活扫描链。当SCAN取值“1”时,整个扫描链处于激活状态。当SCAN取值为“0”时,整个扫描链处于非激活状态。
图4中的DFT扫描链如虚线框中所示,在图4所示平面电路图对应的网表数据中,若设定SCAN取值为“0”,则多路选择器MUX的输入引脚S为“0”,因此各多路选择器将选择A0引脚的信号(即图4中两个多路选择器1和2分别选择信号D0和信号D1),从而可以将多路选择器1和2化简删除。当SCAN设置为0时,扫描链删除后的网表数据所对应的平面电路图如图5所示。
依此类推,也可以得到设定SCAN取值为“1”时将多路选择器MUX化简删除后的网表数据对应的平面电路图。
初始平面电路图在经过了上述替换和逻辑等价化简后,可以得到极大的简化;以图2所示的初始平面电路图为例,按照上述方法对由该初始平面电路图提取出的网表数据简化,根据简化后得到的网表数据所绘制的平面电路图包含了两个宏单元实例10和11,对这两个宏单元实例进行层次化打包,即可得到完成层次化整理后的顶层电路图,如图6(a)所示,其中两个宏单元实例10和11的电路图如图6(b)所示。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (5)
1.一种数字电路网表数据的处理方法,包括:
从平面电路图中提取网表数据;所述网表数据包括所述平面电路图中各元件的属性信息和各线网的属性信息;所述元件的属性信息包括:元件标识、元件类型,一个或多个引脚,各引脚的类型,以及各引脚所在的线网;引脚的类型包括输入、输出和双向;引脚所在的线网以该引脚对应的线网标识表示;所述线网的属性信息包括线网标识、连接到该线网的各元件的连接信息,该连接信息包括元件标识和引脚;
根据元件类型和标准元件类型之间的对应关系查找标准元件类型,将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型,并从网表数据中删除该元件;
在网表数据中,判断各元件的属性信息里的标准元件类型是否为缓冲器;如果一元件为缓冲器,则将缓冲器的输出引脚所在的线网合并到缓冲器输入引脚所在的线网,并从网表数据中删除该元件;
在网表数据中,如果一个元件的属性信息里类型为输出和类型为双向的所有引脚都悬空,则从网表数据中删除该元件;引脚悬空是指该引脚对应的线网标识为空,或是连接到该引脚所在的线网的引脚仅有该引脚本身;
在网表数据中,比较各元件的属性数据,如果两个或两个以上元件的属性数据中,标准元件类型相同,且类型为输入和类型为双向的引脚所在的线网都相同,则合并该两个或两个以上元件;
合并方式是保留该两个或两个以上元件中任一个元件的属性信息,分别将未保留元件各个引脚所在的线网合并到保留元件的相对应引脚所在的线网;然后从所述网表数据中删除所述未保留元件;
在网表数据中,如果连接到一个线网的元件的标准元件类型均为反相器,且连接到该线网的引脚既包括类型为输入的引脚,也包括类型为输出的引脚,则将该线网作为待删除线网;
从连接到该待删除线网的反相器中,挑选出以输入引脚连接该线网的反相器;对于各挑选出的反相器,分别将其输出引脚所在的线网合并到未被挑选的反相器输入引脚所在的线网;
从网表数据中删除该待删除线网的属性信息、以及连接到该待删除线网的各反相器。
2.如权利要求1中所述的方法,其特征在于,从网表数据中删除元件的步骤包括:
在网表数据中查找到待删除元件的属性信息,从中得到元件标识、及每个引脚所在的线网;
分别从该元件各引脚所在线网的属性信息中,删除包含有所得到的元件标识的连接信息;
从网表数据中删除该元件的属性信息。
3.如权利要求1中所述的方法,其特征在于:
连接到线网的元件的连接信息为一个二元组列表;该二元组列表的每一项为一个元件标识和一个引脚构成的二元组;
将第一线网合并到第二线网的步骤包括:
将第一线网的二元组列表中的二元组全部添加到第二线网的二元组列表,根据所述第一线网的二元组列表中各二元组的元件标识和引脚,分别将相应元件的属性数据中相应引脚所在的线网修改为所述第二线网;然后从网表数据中删除所述第一线网的属性信息;
其中,缓冲器的输出引脚所在的线网为第一线网时,则缓冲器输入引脚所在的线网为第二线网;
未保留元件各个引脚所在的线网为第一线网时,则保留元件的相对应引脚所在的线网为第二线网;
各挑选出的反相器输出引脚所在的线网为第一线网时,则未被挑选的反相器输入引脚所在的线网为第二线网。
4.如权利要求1所述的方法,其特征在于:
所述元件的属性信息还包括:逻辑描述信息;所述逻辑描述信息用于描述当本元件的一个引脚接到逻辑信号“0”和“1”时,类型为输出或双向的引脚输出信号的情况;
将所述网表数据中的各元件类型替换成该元件类型对应的标准元件类型的步骤后还包括:
将电路的外接信号设定为“0”或者“1”,更新接收外接信号的元件的逻辑描述信息,仅保留当该接收外接信号的引脚收到该设定的外接信号时,类型为输出或双向的引脚输出信号的情况;更新该接收外接信号的元件的引脚,删除更新后的逻辑描述信息中未涉及的引脚及其类型。
5.如权利要求4所述的方法,其特征在于:
采用一个标准单元库保存标准元件类型,以及标准元件类型对应的引脚、引脚类型和逻辑描述信息;
更新接收外接信号的元件的逻辑描述信息和引脚的步骤后还包括:
根据更新后的引脚、引脚类型及逻辑描述信息,在所述标准单元库中查找对应的标准元件类型,如果查找到则以该查找到的标准元件类型替换原有的标准元件类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110234347.9A CN102323964B (zh) | 2011-08-16 | 2011-08-16 | 一种数字电路网表数据的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110234347.9A CN102323964B (zh) | 2011-08-16 | 2011-08-16 | 一种数字电路网表数据的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102323964A CN102323964A (zh) | 2012-01-18 |
CN102323964B true CN102323964B (zh) | 2014-06-25 |
Family
ID=45451707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110234347.9A Active CN102323964B (zh) | 2011-08-16 | 2011-08-16 | 一种数字电路网表数据的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102323964B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259531A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种反相器消除的方法 |
CN104573147A (zh) * | 2013-10-17 | 2015-04-29 | 北京华大九天软件有限公司 | 基于波形相关性比较标准单元库的方法 |
CN103970945A (zh) * | 2014-04-28 | 2014-08-06 | 奇瑞汽车股份有限公司 | 一种电路图绘制方法和装置 |
CN103942079B (zh) * | 2014-05-12 | 2017-06-20 | 张家港市复安电子科技有限公司 | 网表构建和加载方法及其系统 |
CN104540314B (zh) * | 2014-12-31 | 2018-01-16 | 记忆科技(深圳)有限公司 | 一种sata接口的金手指及金手指连接端子 |
CN105575234B (zh) * | 2016-01-19 | 2018-05-25 | 广西职业技术学院 | 一种电路图特征字符串的编码比对方法 |
CN107622157B (zh) * | 2017-09-15 | 2020-07-10 | 北京华大九天软件有限公司 | 一种追踪电路时序路径连接性的方法 |
CN109508676B (zh) * | 2018-11-14 | 2021-07-09 | 武汉万安智能技术有限公司 | 一种逻辑电路图信息提取的机器视觉检测算法 |
CN109948226B (zh) * | 2019-03-13 | 2020-12-25 | 上海安路信息科技有限公司 | 驱动信息的处理方法及处理系统 |
CN112926281B (zh) * | 2019-12-06 | 2022-06-03 | 杭州起盈科技有限公司 | 一种数字集成电路的智能模块分析方法 |
CN111079362A (zh) * | 2019-12-18 | 2020-04-28 | 京微齐力(北京)科技有限公司 | 一种利用层次化信息的并行综合算法 |
CN112069754B (zh) * | 2020-09-08 | 2021-08-24 | 海光信息技术股份有限公司 | 芯片设计方法、系统、设备以及存储介质 |
CN115345095A (zh) * | 2022-10-18 | 2022-11-15 | 北京芯愿景软件技术股份有限公司 | 数字电路分析、电路图显示方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523663A (zh) * | 2003-02-19 | 2004-08-25 | 上海芯华微电子有限公司 | 双极型集成电路设计中的版图/电路提取方法 |
CN1755697A (zh) * | 2004-09-30 | 2006-04-05 | 华为技术有限公司 | 一种系统级电路审查方法及工具 |
CN1834967A (zh) * | 2005-03-14 | 2006-09-20 | 北京中电华大电子设计有限责任公司 | 集成电路版图的层次网表提取方法 |
CN101419642A (zh) * | 2008-11-18 | 2009-04-29 | 北京巨数数字技术开发有限公司 | 一种从网表文件提取器件连接关系的装置和方法 |
CN101833590A (zh) * | 2009-03-11 | 2010-09-15 | 新思科技有限公司 | 使用简化网表来生成布图规划的方法和设备 |
-
2011
- 2011-08-16 CN CN201110234347.9A patent/CN102323964B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1523663A (zh) * | 2003-02-19 | 2004-08-25 | 上海芯华微电子有限公司 | 双极型集成电路设计中的版图/电路提取方法 |
CN1755697A (zh) * | 2004-09-30 | 2006-04-05 | 华为技术有限公司 | 一种系统级电路审查方法及工具 |
CN1834967A (zh) * | 2005-03-14 | 2006-09-20 | 北京中电华大电子设计有限责任公司 | 集成电路版图的层次网表提取方法 |
CN101419642A (zh) * | 2008-11-18 | 2009-04-29 | 北京巨数数字技术开发有限公司 | 一种从网表文件提取器件连接关系的装置和方法 |
CN101833590A (zh) * | 2009-03-11 | 2010-09-15 | 新思科技有限公司 | 使用简化网表来生成布图规划的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102323964A (zh) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102323964B (zh) | 一种数字电路网表数据的处理方法 | |
US8407635B2 (en) | System and method for automatic extraction of power intent from custom analog/custom digital/mixed signal schematic designs | |
US7111269B2 (en) | Comparison of two hierarchical netlist to generate change orders for updating an integrated circuit layout | |
US7434180B2 (en) | Virtual data representation through selective bidirectional translation | |
US7921389B2 (en) | Controlling operation of a digital system utilizing register entities | |
US20070294647A1 (en) | Transferring software assertions to hardware design language code | |
US6826732B2 (en) | Method, system and program product for utilizing a configuration database to configure a hardware digital system | |
US7404161B2 (en) | Fullchip functional equivalency and physical verification | |
US8028273B2 (en) | Program product providing a configuration specification language having clone latch support | |
US8793633B1 (en) | In-hierarchy circuit analysis and modification | |
US20050050509A1 (en) | Method, system and program product providing a configuration specification language that supports the definition of links between configuration constructs | |
US20200050714A1 (en) | Systemc model generation method and computer-readable recording medium recording systemc model generation program | |
US8160857B2 (en) | Selective compilation of a simulation model in view of unavailable higher level signals | |
US8108199B2 (en) | Phase events in a simulation model of a digital system | |
US20150269049A1 (en) | Verification system and method for automated verification of register information for an electronic system | |
US20220075920A1 (en) | Automated Debug of Falsified Power-Aware Formal Properties using Static Checker Results | |
US7249330B2 (en) | Method, system and program product providing a configuration specification language having split latch support | |
US10437946B1 (en) | Using implemented core sources for simulation | |
US7552043B2 (en) | Method, system and program product for selectively removing instrumentation logic from a simulation model | |
US8418095B1 (en) | Compilation and simulation of a circuit design | |
CN104636509A (zh) | 门级仿真中验证时序问题的方法 | |
CN103150408B (zh) | 实时数据库中根据点名找到数据库并访问的系统与方法 | |
US7840930B2 (en) | Signal connection program, method, and device of hierarchical logic circuit | |
US8667434B1 (en) | System, method, and computer program product for altering a hardware description based on an instruction file | |
US7441209B2 (en) | Method, system and program product for providing a configuration specification language supporting error checking dials |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 100095 1, 102, 2 building, 1 High Court Road, Haidian District, Beijing. Patentee after: Beijing core vision software technology Co., Ltd Address before: 100192, Beijing, Haidian District Qinghe Longgang Road 27, North building, 4 floor Patentee before: BEIJING CELLIX REVEALING TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |