CN116108778B - 用于数字电路原理图的元器件分层方法、设备和介质 - Google Patents
用于数字电路原理图的元器件分层方法、设备和介质 Download PDFInfo
- Publication number
- CN116108778B CN116108778B CN202310039466.1A CN202310039466A CN116108778B CN 116108778 B CN116108778 B CN 116108778B CN 202310039466 A CN202310039466 A CN 202310039466A CN 116108778 B CN116108778 B CN 116108778B
- Authority
- CN
- China
- Prior art keywords
- component
- components
- netlist
- free
- processed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000010586 diagram Methods 0.000 title claims abstract description 32
- 239000002243 precursor Substances 0.000 claims description 35
- 238000007781 pre-processing Methods 0.000 claims description 8
- 239000000758 substrate Substances 0.000 claims 4
- 238000005452 bending Methods 0.000 abstract description 9
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 101100072652 Xenopus laevis ins-b gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明涉及集成电路技术领域,尤其涉及一种用于数字电路原理图的元器件分层方法、设备和介质,方法包括步骤S1、获取待处理网表;步骤S2、将所述待处理网表中的关联元器件划分至同一个关联元器件组;步骤S3、将待处理网表的关联元器件组替换为一个关联元器件,将原始连接至关联元器件组中元器件的信号线连接至所述关联元器件,生成预处理网表;步骤S4、基于信号深度将所述预处理网表中的元器件进行分层,将遍历路径的深度确定为元器件的层次,对于具有多个遍历路径的元器件,将最深深度确定为元器件的层次。本发明能够合理将元器件分层,减少布线时的弯折、跨越情况,提高了数字电路原理图的可读性。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种用于数字电路原理图的元器件分层方法、设备和介质。
背景技术
电路原理图是数字电路设计日常工作中常用的一种调试手段,现有的调试工具一般基于元器件网表,通过一定的布局布线算法自动生成数字电路原理图并展示给用户。现有技术在生成数字电路原理图时并没有充分考虑如何合理对元器件分层,导致后续元器件间针脚对齐和布线时的弯折、跨越情况多,数字电路原理图的可读性差,调试效率低。由此可知,如何合理地将元器件分层,减少后续元器件间针脚对齐和布线时的弯折、跨越情况,提高数字电路原理图的可读性,使得用户能够更好地理解数字电路的原理结构,提高调试分析效率,成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种用于数字电路原理图的元器件分层方法、设备和介质,能够将元器件合理分层,减少布线时的弯折、跨越情况,提高了数字电路原理图的可读性。
根据本发明第一方面,提供了一种用于数字电路原理图的元器件分层方法,包括:
步骤S1、获取待处理网表,所述待处理网表包括多个元器件和多个信号线。
步骤S2、将所述待处理网表中的关联元器件划分至同一个关联元器件组,所述关联元器件为同一选择信号线驱动的元器件,或者为相互构成反馈结构的元器件,所述关联元器件组中的元器件需要被划分至同一层次。
步骤S3、将所述待处理网表的关联元器件组替换为一个关联元器件,将原始连接至关联元器件组中元器件的信号线连接至所述关联元器件,生成预处理网表。
步骤S4、基于信号深度将所述预处理网表中的元器件进行分层,将遍历路径的深度确定为元器件的层次,对于具有多个遍历路径的元器件,将最深深度确定为元器件的层次。
根据本发明第二方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明第一方面所述的方法。
根据本发明第三方面,提供一种计算机可读存储介质,所述计算机指令用于执行本发明第一方面所述的方法。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种用于数字电路原理图的元器件分层方法、设备和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明基于数字电路中元器件间的关联关系,结合图的深度遍历方法,将原始数字电路网表中的元器件按照其驱动与负载关系合理地划分到于不同层次,基于本发明进行元器件网表分层后绘制的数字电路原理图能够更为清晰地表示数字电路中的信号流向,减少弯折与跨越,使电路原理图具有更好可读性,进而提高终端用户通过原理图进行调试分析的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的用于数字电路原理图的元器件分层方法流程图;
图2为本发明实施例提供的同一选择信号线驱动的元器件示意图;
图3为本发明实施例提供的相互构成反馈结构的元器件示意图;
图4为本发明实施例提供的预处理网表示意图;
图5为本发明实施例提供的以预处理网的输出端out1开始遍历得到的分层状态示意图;
图6为本发明实施例提供的以预处理网的输出端out2开始遍历得到的分层状态示意图;
图7为本发明实施例提供的用于数字电路原理图的游离元器件分层方法流程图;
图8为本发明实施例提供的示例一的网表示意图;
图9为本发明实施例提供的示例二的网表示意图;
图10为本发明实施例提供的示例三的网表示意图;
图11为本发明实施例提供的示例四的网表示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一、
实施例一提供了一种用于数字电路原理图的元器件分层方法,如图1所示,包括:
步骤S1、获取待处理网表,所述待处理网表包括多个元器件和多个信号线。
其中,待处理网表基于硬件描述语言编写的生成的电子设计,通过综合工具综合生成。
步骤S2、将所述待处理网表中的关联元器件划分至同一个关联元器件组,所述关联元器件为同一选择信号线驱动的元器件,或者为相互构成反馈结构的元器件,所述关联元器件组中的元器件需要被划分至同一层次。
需要说明的是,将步骤S2所述的具有关联关系的元器件绘制在同一竖直位置,即划分至同一层次上,能够增强数字电路原理图可读性,便于用户更好地理解电路结构。图2示出了同一选择信号线驱动的一组关联元器件:mux1、mux2和mux3。图3示出了一组相互构成反馈结构的元器件ins1和ins2。
步骤S3、将所述待处理网表的关联元器件组替换为一个关联元器件,将原始连接至关联元器件组中元器件的信号线连接至所述关联元器件,生成预处理网表。
可以理解的是,后续处理过程中,将关联元器件组中的所有元器件替换成同一个关联元器件进行分层处理,所有元器件之间的连接关系是不变的。
步骤S4、基于信号深度将所述预处理网表中的元器件进行分层,将遍历路径的深度确定为元器件的层次,对于具有多个遍历路径的元器件,将最深深度确定为元器件的层次。
作为一种示例,所述步骤S2包括:
步骤S21、从待处理网表中获取当前未遍历的一根信号线。
步骤S22、若当前获取的信号线为选择信号线,则将当前获取的信号线的输出端所连接的元器件划分至同一关联元器件组中。
可以理解的是,若当前获取的信号线为选择信号线,不是选择信号线,则直接执行步骤S23的判断。
步骤S23、检查当前获取的信号线的所有输出器件,若存在输出器件驱动了当前获取的信号线的源器件,则将该输出器件和当前获取的信号线的源器件划分至同一关联元器件组中。
步骤S24、返回执行步骤S21,直至所述待处理网表中所有信号线均遍历完毕。
需要说明的是,最终生成的关联元器件组是并集的结果。例如,通过步骤S22将元器件1、元器件2、元器件3、元器件4划分至同一关联元器件组,通过步骤S23又将元器件4和元器件5划分至同一关联元器件组,那么元器件1、元器件2、元器件3、元器件4、元器件5都会被划分至同一关联器件组中。
作为一种示例,所述步骤S4包括:
步骤S41、将所述预处理网表中输出端所连接的器件标识为初始器件,并将初始器件的层数标识为预设的起始层次数。
其中,所述预设的起始层次数可以设置为1。
步骤S42、选择一个未遍历的初始器件作为第一元器件,将所选择的第一元器件加入第一遍历路径。
步骤S43、根据器件驱动关系,选择一个第一元器件对应的第二元器件,所述第二元器件为第一遍历路径未遍历过的且为第一元器件的前驱元器件的元器件。
步骤S44、若所述第二元器件尚未分层,或者所述第二元器件已分层数标识小于等于第一元器件的层数标识,则将所述第二元器件层数标识更新为所述第一元器件层数标识加1,并将所述第二元器件标识加入所述第一遍历路径。
其中,所述第二元器件已分层数标识小于等于第一元器件的层数标识时,将所述第二元器件层数标识更新为所述第一元器件层数标识加1,最终能够实现将最深深度确定为元器件的层次,减少数字电路原理图的弯折和跨越。
步骤S45、将所述第二元器件作为所述第一元器件,返回执行步骤S43,直至所述第一元器件没有前驱元器件为止,执行步骤S46。
步骤S46、若第一遍历路径存在分叉元器件,则将分叉元器件作为第一元器件,返回执行步骤S43,直至所有的分叉路径遍历完成,执行步骤S47。
步骤S47、返回执行步骤S42,直至所有初始器件均被遍历完,确定所述预处理网表中所有元器件对应的层次。
作为一种示例,所述步骤S44中,若所述第二元器件已分层数标识小于等于第一元器件的层数标识,则将所述第二元器件层数标识更新为所述第一元器件层数标识加1时,需要同步更新相关的已遍历过的前驱元器件,并继续往前追溯更新,直至不存在前驱元器件,具体的,所述步骤S44还包括:
步骤S441、若已遍历的路径中的元器件的层数标识更新,则将该元器件作为第三元器件,并将属于已遍历的路径的且为第三元器件的前驱元器件的层数标识更新为第三元器件的层数标识加1。
步骤S442、返回执行步骤S441,直至第三元器件在已遍历的路径中不存在前驱元器件。
以下通过一具体示例对步骤S41-步骤S47进行进一步说明,如图4所示示例,为预处理网表示意图,可以理解的是,图4中的元器件可能存在替换过的关联元器件。图4中有两个输出端out1、输出端out2。选择输出端out1作为第一元器件,开始依次遍历D和C,直至输入端in,进行分层,得到图5所示的分层状态,D位于层数1,C位于层数2。然后再以输出端out2开始遍历,先依次遍历元器件E、元器件F、元器件B、元器件C,得到元器件E位于层数1,元器件F位于层数2,元器件B位于层数3,由于元器件C已经位于层数2,且小于层数3,因此,将元器件C更新为层数4。B为分叉元器件,在元器件E、元器件F、元器件B、元器件C遍历完之后,返回元器件B,依次遍历元器件B和元器件A,确定元器件A位于层数4,得到图6所示的分层状态。
作为一种示例,所述步骤S4之后还包括:
步骤S5、根据所述预处理网表中的元器件的层次将元器件划分至对应的层次,将关联元器件恢复为关联元器件组中对应的元器件,并将关联元器件上的信号线恢复连接至关联元器件组中对应的元器件上,生成数字电路原理图。
实施例一基于数字电路中元器件间的关联关系,结合图的深度遍历方法,将原始数字电路网表中的元器件按照其驱动与负载关系合理地划分到于不同层次,基于本发明进行元器件网表分层后绘制的数字电路原理图能够更为清晰地表示数字电路中的信号流向,减少弯折与跨越,使电路原理图具有更好可读性,进而提高终端用户通过原理图进行调试分析的效率。
但在一些场景下,待处理网表中可能存在一些游离元器件,例如未与非游离元器件建立连接的测试平台模块的元器件,或者是与非游离元器件存在连接,但是根据元器件前驱的单向关系不能够遍历到的元器件,这些游离元器件通过实施例一的方法无法实现直接分层,因此,本发明进一步提出了实施例二,在对非游离元器件已经划分好层次的基础上,实现对游离元器件的分层。但需要说明的是,非游离元器件划分层次并不仅限于采用实施例一所述的方法,也可以采用现有技术中的其他分层方法实现。
实施例二、
实施例二提供了一种用于数字电路原理图的游离元器件分层方法,所述游离元器件为数字电路原理图对应的待处理网表中根据元器件前驱的单向关系无法遍历到的元器件,所述待处理网表中根据元器件前驱的单向关系能够遍历到的元器件为非游离元器件。所述非游离元器件预先基于元器件前驱的单向关系确定好层次标识,具体可以采用实施例一中的方式确定非游离元器件的层次标识,也可以采用现有的其他层次划分方式来确定,在此不做限定,均落入本发明保护范围之内。若游离元器件存在直接相连的非游离元器件,则直接相连的非游离元器件一定是该游离元器件的前驱元器件。
如图7所示,所述方法包括:
步骤C1、获取第一游离元器件集合I={A1,A2,...,Am,...,AM},Am为第m个第一游离元器件,m的取值范围为1到M,M为第一游离元器件的总数,第一游离元器件集合I中存在至少一个Am与至少一个非游离元器件直接相连,A1,A2,...,Am,...,AM具有互联关系,其他未与非游离元器件直接相连的游离元器,通过游离器件之间的互联,间接连接至至少一个非游离器件。
需要说明的是,第一游离元器件集合I中存在至少一个Am与至少一个非游离元器件直接相连,指的是,第一游离元器件集合I中可以有一个或多个游离器件与至少一个非游离元器件直接相连。其他未与非游离元器件直接相连的游离元器,指的是第一游离元器件集合I中除与非游离元器件直接相连的游离器件之外的其他游离器件。
步骤C2、每一Am在初始时刻均未分层,初始化Am属于任意层次标识j的权重Wm,j=0,初始化Am对应的已分层邻接元器件集合Km为空集。
其中,j的取值范围为1到J,J为层次总数。
步骤C3、遍历第一游离元器件集合I,对于未分层的第一游离元器件Ai,若Ai与任意已分层的元器件相连,则获取所有Ai邻接的已分层元器件,生成对应的已分层邻接元器件集合Ki={B1 i,B2 i,...,Bx i,...Bf(i) i},Bx i为Ai的第x个邻接的已分层元器件,x的取值范围为1到f(i),f(i)为Ai邻接的已分层元器件总数,Bx i为非游离元器件或游离元器件。
需要说明的是,一个元器件的邻接元器件指的是与该元器件直接相连的前驱元器件或后继元器件。可以理解的是,如果Ai存在与其直接相连的非游离元器件,则Ai的邻接元器件可能为非游离元器件或游离元器件,且邻接的非游离元器件一定为Ai的前驱元器件。如果Ai不存在与其直接相连的非游离元器件,则Ai的邻接元器件全部为非游离元器件。
步骤C4、遍历Ai对应的已分层邻接元器件集合Ki,若Bx i为Ai的前驱元器件,则更新Ai属于[g(xi)-1]层的权重Wi,[g(xi)-1]=Wi,[g(xi)-1]+1;若Bx i为Ai的后继元器件,则更新Ai属于[g(xi)+1]层的权重Wi,[g(xi)+1]=Wi,[g(xi)+1]+1,g(xi)为Bx i的层次标识,生成Ai属于任意层次标识j的权重Wi,j。
步骤C5、若仅存在一个最大的Wi,j,则将最大的Wi,j对应的层次标识j确定为Ai的层次标识;若存在多个相等的最大的Wi,j,且Ki中的已分层邻接元器件全部为Ai的前驱元器件,则将多个相等的最大的Wi,j对应的层次标识j中最小的层次标识确定为Ai的层次标识,否则,将多个相等的最大的Wi,j对应的层次标识j中最大的层次标识确定为Ai的层次标识。
需要说明的是,生成Ai属于任意层次标识j的权重Wi,j之后,可能存在多个相等的最大的Wi,j,也可能只有一个最大的Wi,j。当只有一个最大的Wi,j时,直接将最大的Wi,j对应的层次标识j确定为Ai的层次标识即可。非游离元器件基于元器件前驱的单向关系确定好层次标识,是通过后继元器件找前驱元器件,所以通常新找到的是前驱元器件,因此需要尽可能划分到靠前的层次。但是对于游离元器件,如果对应的已分层邻接元器件都是前驱元器件,则是通过前驱找后继,应该尽可能划分到靠后的层次,因此,当存在多个相等的最大的Wi,j,且Ki中的已分层邻接元器件全部为Ai的前驱元器件时,将多个相等的最大的Wi,j对应的层次标识j中最小的层次标识确定为Ai的层次标识。
步骤C6、将Ai从I中删除,返回执行步骤C3,直至第一游离元器件集合I为空。
如实施例一中将关联元器件划分至一个关联元器件组中,并替换为一个关联元器件再进行划分,能够提高非游离元器件层次划分的效率和准确性,作为一种示例,所述步骤C1还包括:
步骤C11、获取待处理第二游离元器件集合I1={A11,A12,...,A1h,...,AH},A1h为第h个待处理第二游离元器件,h的取值范围为1到H,H为第二游离元器件的总数。
步骤C12、若存在多个第二游离元器件为同一选择信号线驱动的元器件,则将同一选择信号线驱动的多个第二游离元器件划分至同一个关联元器件组,同一关联元器件组中的元器件需要被划分至同一层次。
步骤C13、若存在两个第二游离元器件相互构成反馈结构,则将相互构成反馈结构的两个第二游离元器件划分至同一关联元器件组。
步骤C14、将属于同一关联元器件组的所有第二游离元器件采用一个第一游离元器件代替,将没有被划分关联元器件组的第二游离元器件采用一个第一游离元器件代替,生成所述第一游离元器件集合I={A1,A2,...,Am,...,AM}。
需要说明的是,具体可以通过步骤S21-步骤S24的方式来划分关联元器件组,在此不再赘述。
作为一种示例,所述步骤C6之后还包括,将对应关联元器件组的第一游离元器件的层次标识确定为对应关联元器件组的所有第二游离元器件的层次标识。
通过步骤C1-步骤C6够将与非游离元器件有连接的,具有互联关系的游离元器件进行层次划分,接下进一步与游离元器件没有直接相连的游离元器件进行层次划分,作为一种示例,所述方法还包括:
步骤C10、获取第三游离元器件集合R={D1,D2,...,Dn,...,DN},Dn为第n个第三游离元器件,n的取值范围为1到N,N为第三游离元器件的总数,第三游离元器件集合R中不存在与非游离元器件直接相连的第三游离元器件,D1,D2,...,Dn,...,DN具有互联关系。
步骤C20、从第三游离元器件集合R中任选一个Dn,将所选择的Dn的层次标识设置为预设的起始层次数。
其中,所述预设的起始层次数可以设置为1。
步骤C30、基于信号深度将第三游离元器件集合R的第三游离元器件进行分层,将遍历路径的深度确定为第三游离元器件的层次,对于具有多个遍历路径的第三游离元器件,将最深深度确定为第三游离元器件的层次。
作为一种示例,步骤C30具体可通过实施例一中的方法实现基于信号深度将第三游离元器件集合R的第三游离元器件进行分层,具体可包括:
步骤C301、选择一个未遍历的Dn作为第一元器件,将所选择的第一元器件加入第一遍历路径。
步骤C302、根据器件驱动关系,从{D1,D2,...,Dn,...,DN}中选择一个第一元器件对应的第二元器件,所述第二元器件为第一遍历路径未遍历过的且为第一元器件的前驱元器件的元器件。
步骤C303、若所述第二元器件尚未分层,或者所述第二元器件已分层数标识小于等于第一元器件的层数标识,则将所述第二元器件层数标识更新为所述第一元器件层数标识加1,并将所述第二元器件标识加入所述第一遍历路径。
其中,所述第二元器件已分层数标识小于等于第一元器件的层数标识时,将所述第二元器件层数标识更新为所述第一元器件层数标识加1,最终能够实现将最深深度确定为元器件的层次,减少数字电路原理图的弯折和跨越。
步骤C304、将所述第二元器件作为所述第一元器件,返回执行步骤C302,直至所述第一元器件没有前驱元器件为止,执行步骤C305。
步骤C305、若第一遍历路径存在分叉元器件,则将分叉元器件作为第一元器件,返回执行步骤C302,直至所有的分叉路径遍历完成,执行步骤C306。
步骤C306、返回执行步骤C301,直至所有Dn均被遍历完,确定所述第三游离元器件集合中所有元器件对应的层次。
作为一种示例,所述步骤C303中,若所述第二元器件已分层数标识小于等于第一元器件的层数标识,则将所述第二元器件层数标识更新为所述第一元器件层数标识加1时,需要同步更新相关的已遍历过的前驱元器件,并继续往前追溯更新,直至不存在前驱元器件,具体的,所述步骤C303还包括:
步骤C3031、若已遍历的路径中的元器件的层数标识更新,则将该元器件作为第三元器件,并将属于已遍历的路径的且为第三元器件的前驱元器件的层数标识更新为第三元器件的层数标识加1。
步骤C3032、返回执行步骤C3031,直至第三元器件在已遍历的路径中不存在前驱元器件。
如实施例一中将关联元器件划分至一个关联元器件组中,并替换为一个关联元器件再进行划分,能够提高非游离元器件层次划分的效率和准确性,作为一种示例,所述步骤C10还包括:
步骤C101、获取待处理第四游离元器件集合R1={D11,D12,...,D1v,...,D1V},D1v为第v个待处理第四游离元器件,v的取值范围为1到V,V为第四游离元器件的总数。
步骤C102、若存在多个第四游离元器件为同一选择信号线驱动的元器件,则将同一选择信号线驱动的多个第四游离元器件划分至同一个关联元器件组,同一关联元器件组中的元器件需要被划分至同一层次。
步骤C103、若存在两个第四游离元器件相互构成反馈结构,则将相互构成反馈结构的两个第四游离元器件划分至同一关联元器件组。
步骤C104、将属于同一关联元器件组的所有第四游离元器件采用一个第三游离元器件代替,将没有被划分关联元器件组的第四游离元器件采用一个第三游离元器件代替,生成所述第三游离元器件集合R={D1,D2,...,Dn,...,DN}。
需要说明的是,具体可以通过步骤S21-步骤S24的方式来划分关联元器件组,在此不再赘述。
作为一种示例,所述步骤C6之后还包括,将对应关联元器件组的第三游离元器件的层次标识确定为对应关联元器件组的所有第四游离元器件的层次标识。
以下通过几个具体示例对游离器件分层进行进一步说明:
示例一、
如图8所示的网表,元器件A、元器件B、元器件C为非游离器件,元器件A、元器件B、元器件C已分别别划分在y-1、y、y+1层上。元器件D和元器件E为游离器件。
对于元器件D,通过步骤C1-步骤C6可得到:元器件D属于第y-1层的权重WD,y-1=0,元器件D属于第y层的权重WD,y=1,元器件D属于第y+1层的权重WD,y+1=0,仅存在一个最大的权重WD,y,因此将元器件D的层次确定为y。
对于元器件E,通过步骤C1-步骤C6可得到:元器件E属于第y-1层的权重WE,y-1=1,元器件E属于第y层的权重WE,y=1,元器件E属于第y+1层的权重WE,y+1=0,存在两个最大的权重WE,y-1和WE,y,且元器件E的邻接已分层元器件B和元器件C均为元器件E的前驱元器件,因此,将元器件E的层次确定为y-1。
示例二、
如图9所示,示例二在示例一的基础上增加了元器件G和元器件F。
在示例一的基础上,对于元器件F,通过步骤C1-步骤C6可得到:元器件F属于第y层的权重WF,y=1,元器件F属于第y+1层的权重WF,y+1=1,其他权重为0,存在两个最大的权重WF,y和WF,y+1,且元器件F的邻接已分层元器件D和元器件E均为元器件F的后继元器件,因此,将元器件F的层次确定为y+1。
元器件F被分层后,通过步骤C1-步骤C6可得到:元器件G属于第y+2的权重WG,y+2=1,其他权重为0,存在一个最大的权重,因此直接将元器件G的层次确定为y+2。
示例三、
如图10所示,示例三在示例一的基础上,增加了元器件H和元器件I。
在示例一的基础上,对于元器件H,通过步骤C1-步骤C6可得到:元器件H属于第y-1层的权重WH,y-1=1,元器件H属于第y-2层的权重WH,y-2=1,其他权重为0,存在两个最大的权重WH,y-1、WH,y-2,且元器件H的邻接已分层元器件D和元器件E均为元器件H前驱器件,因此,将元器件H的层次确定为y-2。
元器件H被分层后,通过步骤C1-步骤C6可得到:元器件I属于第y-3层的权重为WI,y-3=1,其他权重为0,存在一个最大的权重,因此直接将元器件I的层次确定为y-3。
示例四、
如图11所示,示例四在示例一的基础上,增加了元器件P和元器件Q。
在示例一的基础上,对于元器件P,通过步骤C1-步骤C6可得到:元器件P属于第y-1层的权重WP,y-1=1,元器件P属于第y层的权重WP,y=1,其他权重为0,存在两个最大的权重WP,y-1和WP,y-1,元器件P的邻接已分层元器件D为元器件P的前驱元器件,元器件P的邻接已分层元器件E为元器件P的后继元器件,因此将元器件P的层次确定为y。
元器件P被分层后,通过步骤C1-步骤C6可得到:元器件Q属于y+1层的权重为WQ,y+1=1,其他权重为0,因此直接将元器件Q的层次确定为y+1。
实施例二基于数字电路中元器件间的关联关系,根据已分层元器件对未分层游离元器件的贡献度调整未分层游离元器件属于对应层级标识的权重,将原始数字电路网表中的游离元器件按照其驱动与负载关系合理地划分到于不同层次。基于本发明进行游离元器件网表分层后绘制的数字电路原理图能够更为清晰地表示数字电路中的信号流向,减少弯折与跨越,使电路原理图具有更好可读性,进而提高终端用户通过原理图进行调试分析的效率。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明实施例所述的方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机指令用于执行本发明实施例所述的方法。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (7)
1.一种用于数字电路原理图的元器件分层方法,其特征在于,包括:
步骤S1、获取待处理网表,所述待处理网表包括多个元器件和多个信号线;
步骤S2、将所述待处理网表中的关联元器件划分至同一个关联元器件组,所述关联元器件为同一选择信号线驱动的元器件,或者为相互构成反馈结构的元器件,所述关联元器件组中的元器件需要被划分至同一层次;
步骤S3、将所述待处理网表的关联元器件组替换为一个关联元器件,将原始连接至关联元器件组中元器件的信号线连接至所述关联元器件,生成预处理网表;
步骤S4、基于信号深度将所述预处理网表中的元器件进行分层,将遍历路径的深度确定为元器件的层次,对于具有多个遍历路径的元器件,将最深深度确定为元器件的层次;
所述步骤S4包括:
步骤S41、将所述预处理网表中输出端所连接的器件标识为初始器件,并将初始器件的层数标识为预设的起始层次数;
步骤S42、选择一个未遍历的初始器件作为第一元器件,将所选择的第一元器件加入第一遍历路径;
步骤S43、根据器件驱动关系,选择一个第一元器件对应的第二元器件,所述第二元器件为第一遍历路径未遍历过的且为第一元器件的前驱元器件的元器件;
步骤S44、若所述第二元器件尚未分层,或者所述第二元器件已分层数标识小于等于第一元器件的层数标识,则将所述第二元器件层数标识更新为所述第一元器件层数标识加1,并将所述第二元器件标识加入所述第一遍历路径;
步骤S45、将所述第二元器件作为所述第一元器件,返回执行步骤S43,直至所述第一元器件没有前驱元器件为止,执行步骤S46;
步骤S46、若第一遍历路径存在分叉元器件,则将分叉元器件作为第一元器件,返回执行步骤S43,直至所有的分叉路径遍历完成,执行步骤S47;
步骤S47、返回执行步骤S42,直至所有初始器件均被遍历完,确定所述预处理网表中所有元器件对应的层次。
2.根据权利要求1所述的方法,其特征在于,
所述步骤S2包括:
步骤S21、从待处理网表中获取当前未遍历的一根信号线;
步骤S22、若当前获取的信号线为选择信号线,则将当前获取的信号线的输出端所连接的元器件划分至同一关联元器件组中;
步骤S23、检查当前获取的信号线的所有输出器件,若存在输出器件驱动了当前获取的信号线的源器件,则将该输出器件和当前获取的信号线的源器件划分至同一关联元器件组中;
步骤S24、返回执行步骤S21,直至所述待处理网表中所有信号线均遍历完毕。
3.根据权利要求1所述的方法,其特征在于,
所述预设的起始层次数设置为1。
4.根据权利要求1所述的方法,其特征在于,
所述步骤S44包括:
步骤S441、若已遍历的路径中的元器件的层数标识更新,则将该元器件作为第三元器件,并将属于已遍历的路径的且为第三元器件的前驱元器件的层数标识更新为第三元器件的层数标识加1;
步骤S442、返回执行步骤S441,直至第三元器件在已遍历的路径中不存在前驱元器件。
5.根据权利要求1所述的方法,其特征在于,
所述步骤S4之后还包括:
步骤S5、根据所述预处理网表中的元器件的层次将元器件划分至对应的层次,将关联元器件恢复为关联元器件组中对应的元器件,并将关联元器件上的信号线恢复连接至关联元器件组中对应的元器件上,生成数字电路原理图。
6.一种电子设备,其特征在于,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行前述权利要求1-5任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行前述权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310039466.1A CN116108778B (zh) | 2023-01-12 | 2023-01-12 | 用于数字电路原理图的元器件分层方法、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310039466.1A CN116108778B (zh) | 2023-01-12 | 2023-01-12 | 用于数字电路原理图的元器件分层方法、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116108778A CN116108778A (zh) | 2023-05-12 |
CN116108778B true CN116108778B (zh) | 2024-03-01 |
Family
ID=86257587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310039466.1A Active CN116108778B (zh) | 2023-01-12 | 2023-01-12 | 用于数字电路原理图的元器件分层方法、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116108778B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10120081A1 (de) * | 2001-04-24 | 2002-11-07 | Infineon Technologies Ag | Verfahren zur Generierung einer hierarchischen Netzliste zur Simulation einer Schaltung |
CN102024066A (zh) * | 2009-09-09 | 2011-04-20 | 中国科学院微电子研究所 | 从模拟电路网表自动生成模拟电路原理图的方法 |
CN103034740A (zh) * | 2011-09-30 | 2013-04-10 | 北京华大九天软件有限公司 | 一种原理图驱动版图的生成层次版图方法 |
WO2019018589A1 (en) * | 2017-07-19 | 2019-01-24 | Zipalog, Inc. | COMPUTERIZED SYSTEM AND METHOD FOR TRANSLATION OF VERIFICATION INSTRUCTIONS OF AN ELECTRONIC DESIGN |
CN110750954A (zh) * | 2019-10-29 | 2020-02-04 | 上海安路信息科技有限公司 | 电路原理图生成方法及生成系统 |
CN115348731A (zh) * | 2022-06-28 | 2022-11-15 | 北京邮电大学 | 一种多层结构的pcb的频率响应建模方法 |
CN115455871A (zh) * | 2022-11-10 | 2022-12-09 | 北京云枢创新软件技术有限公司 | 大规模集成电路层次树展示系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110768513B (zh) * | 2019-11-06 | 2020-07-24 | 哈尔滨工业大学 | 基于布线优化的碳化硅功率开关器件并联设计方法 |
-
2023
- 2023-01-12 CN CN202310039466.1A patent/CN116108778B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10120081A1 (de) * | 2001-04-24 | 2002-11-07 | Infineon Technologies Ag | Verfahren zur Generierung einer hierarchischen Netzliste zur Simulation einer Schaltung |
CN102024066A (zh) * | 2009-09-09 | 2011-04-20 | 中国科学院微电子研究所 | 从模拟电路网表自动生成模拟电路原理图的方法 |
CN103034740A (zh) * | 2011-09-30 | 2013-04-10 | 北京华大九天软件有限公司 | 一种原理图驱动版图的生成层次版图方法 |
WO2019018589A1 (en) * | 2017-07-19 | 2019-01-24 | Zipalog, Inc. | COMPUTERIZED SYSTEM AND METHOD FOR TRANSLATION OF VERIFICATION INSTRUCTIONS OF AN ELECTRONIC DESIGN |
CN110750954A (zh) * | 2019-10-29 | 2020-02-04 | 上海安路信息科技有限公司 | 电路原理图生成方法及生成系统 |
CN115348731A (zh) * | 2022-06-28 | 2022-11-15 | 北京邮电大学 | 一种多层结构的pcb的频率响应建模方法 |
CN115455871A (zh) * | 2022-11-10 | 2022-12-09 | 北京云枢创新软件技术有限公司 | 大规模集成电路层次树展示系统 |
Non-Patent Citations (1)
Title |
---|
《Protel与AutoCAD电路辅助设计的对比及互补》;朱晓娟;《计算机辅助工程 》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116108778A (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4000198B2 (ja) | 会話型回路設計装置 | |
US20070094204A1 (en) | Rule processing method and apparatus providing automatic user input selections | |
US10176077B2 (en) | Generating breakpoints for cross-layer debugging | |
US8495561B2 (en) | Apparatus and method for designing a system specification for testability | |
CN107203676B (zh) | 用以提升集成电路设计的时序性能的方法及数据处理系统 | |
US6477689B1 (en) | Architectural structure of a process netlist design tool | |
US20100063953A1 (en) | Converting unordered graphs to oblivious read once ordered graph representation | |
CN116108778B (zh) | 用于数字电路原理图的元器件分层方法、设备和介质 | |
CN115983164B (zh) | 用于数字电路原理图的游离元器件分层方法、设备和介质 | |
Bogdanov et al. | Automated test set generation for statecharts | |
US20060080576A1 (en) | Test point insertion method | |
US7693694B2 (en) | Shape simulation method, program and apparatus | |
US7676781B1 (en) | Method and mechanism for implementing a minimum spanning tree | |
US7571409B2 (en) | Circuit design device and circuit design program | |
US20090064079A1 (en) | Apparatus and method for circuit layout | |
US9489284B2 (en) | Debugging method and computer program product | |
JP2022124240A (ja) | 診断パターン生成方法及び計算機 | |
JP4891807B2 (ja) | 高位合成装置および高位合成方法 | |
JP4733059B2 (ja) | 集積回路設計装置、集積回路設計方法及び集積回路設計プログラム | |
Cheng | Single clock partial scan | |
US6886144B2 (en) | Logic verification method for semiconductor device | |
JP2011053764A (ja) | 動作合成検証補助装置、動作合成検証補助方法、プログラム、及び記録媒体 | |
US7761835B2 (en) | Semiconductor device design method, semiconductor device design system, and computer program for extracting parasitic parameters | |
JP4268694B2 (ja) | 配線処理方法及び配線処理装置並びに配線処理プログラム用記録媒体 | |
JP3805298B2 (ja) | 集積回路のテスト容易化設計方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |