CN112307694A - 一种电路原理图差异对比的方法和装置 - Google Patents
一种电路原理图差异对比的方法和装置 Download PDFInfo
- Publication number
- CN112307694A CN112307694A CN202011106685.XA CN202011106685A CN112307694A CN 112307694 A CN112307694 A CN 112307694A CN 202011106685 A CN202011106685 A CN 202011106685A CN 112307694 A CN112307694 A CN 112307694A
- Authority
- CN
- China
- Prior art keywords
- logic
- circuit
- nodes
- schematic diagram
- circuit schematic
- 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.)
- Granted
Links
Images
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
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
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
本发明涉及电子设计领域,特别是涉及一种电路原理图差异对比的方法和装置。其中,方法的主要步骤为:获取需进行对比的电路原理图的网表;根据网表,获取电路原理图中每个电路节点的特征和逻辑连接关系;将每个电路节点的特征按照预设格式组织为逻辑节点,逻辑节点的特征与电路节点的特征相对应;根据每个电路节点的逻辑连接关系,将每个电路原理图中的逻辑节点组织为对应的逻辑表,其中,各电路原理图中相同的电路节点存放在其对应的逻辑表的同一位置;对比各电路原理图对应的逻辑表中的逻辑节点,查找存在差异的逻辑节点。本发明可以实现简单快速的电路逻辑连接关系对比,查找到不同电路原理图之间的差异。
Description
【技术领域】
本发明涉及电子设计领域,特别是涉及一种电路原理图差异对比的方法和装置。
【背景技术】
电路原理图设计阶段,常常需要对照电路标准原理图或现有电路原理图进行复制、重绘或组合。为了避免绘制错误,需要对新绘制的电路原理图和原电路原理图进行对比,进而检查是否有任何错漏。但是,由于大规模电路原理图的不同器件之间通常具有数万个逻辑连接关系,且逻辑连接关系杂乱复杂,人工对比难以准确快速的查找到每一个细节差异,因此需要使用自动对比工具进行对比。
目前,电子设计自动化(Electronic design automation,简写为:EDA)工具自带的常规对比检查项目只能对新绘制的原理图和电路标准原理图之间的基本连接逻辑差异进行检查,以Allegro Design Entry HDL工具为例,自带的电气规则检查仅有“PinDirection”、“Single Node Nets”、“Compatible Outputs”等基本检查项目,检查内容和准确性有限,非常依赖器件模型的规范建立。当进行大规模电路原理图设计时,由于标准原理图之外可能存在外围电路,或存在多个模块化电路组合,与标准电路区别较大,往往需要以模块化的电路为单位进行比较。这时,EDA工自带的检查项目不仅无法覆盖所有电路的连接逻辑,而且无法准确对比两张电路原理图的差异。
鉴于此,如何克服现有技术所存在的缺陷,解决大规模电路原理图设计时不同电路原理图之间对比困难的现象,是本技术领域待解决的问题。
【发明内容】
针对现有技术的以上缺陷或改进需求,本发明解决了现有EDA检查工具无法准确对比两张电路原理图的差异的问题。
本发明实施例采用如下技术方案:
第一方面,本发明提供了一种电路原理图差异对比的方法,具体为:获取需进行对比的电路原理图的网表;根据网表,获取电路原理图中每个电路节点的特征和逻辑连接关系;将每个电路节点的特征按照预设格式组织为逻辑节点,逻辑节点的特征与电路节点的特征相对应;根据每个电路节点的逻辑连接关系,将每个电路原理图中的逻辑节点组织为对应的逻辑表,其中,各电路原理图中相同的电路节点存放在其对应的逻辑表的同一位置;对比各电路原理图对应的逻辑表中的逻辑节点,查找存在差异的逻辑节点。
优选的,逻辑节点的特征包括:电路节点的物料号、引脚号、位号和延伸方向中的一项或多项。
优选的,将每个电路节点的特征按照预设格式组织为逻辑节点时,所述延伸方向使用点钟方向表示。
优选的,将每个电路原理图中的逻辑节点组织为对应的逻辑表,包括:将电路原理图中每一个芯片的每一个引脚逐一作为起始引脚;由每一个起始引脚开始,按照逻辑连接关系依次获取下一个相连的电路节点,直至相连的电路节点为另一个芯片引脚时终止,将终止处的芯片引脚作为终止引脚;获取每一组起始引脚和终止引脚之间所有的电路节点对应的逻辑节点,将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元;将逻辑单元按照预设规则放入逻辑表中。
优选的,将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元,包括:所述逻辑单元为二维结构,将逻辑节点按照连接的延伸层次组织为第一维度,将相同延伸层次上的逻辑节点按照连接的逻辑方位的顺序组织为第二维度。
优选的,将逻辑单元按照预设规则放入逻辑表中时,若起始引脚存在多路分支连接,将每一路分支连接中同一延伸层次的电路节点并列放入逻辑表中。
优选的,包括:将逻辑单元放入逻辑表中时,按照起始引脚所在芯片的物料号顺序排列,若多个起始引脚位于同一个芯片上,按照起始引脚的引脚号顺序排列。
优选的,还包括:将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元时,预留上拉器件和/或下拉器件的存放空间,若电路原理图中不存在上拉器件和/或下拉器件,所述将逻辑单元按照预设规则放入逻辑表中后,去掉上拉器件和/或下拉器件对应的未使用的预留存放空间。
优选的,对各电路原理图对应的逻辑表中的逻辑节点进行对比,查找存在差异的逻辑节点,包括:依次对比各电路原理图对应的逻辑表中每个相同位置的逻辑节点,判断相同位置的逻辑节点的内容是否相同;若逻辑节点的内容相同,表示该位置所对应的等价电路节点的特征和逻辑连接关系相同;若逻辑节点的内容不同,表示该位置所对应的电路节点的特征和逻辑连接关系不同。
另一方面,本发明提供了一种电路原理图差异对比的装置,具体为:包括至少一个处理器和存储器,至少一个处理器和存储器之间通过数据总线连接,存储器存储能被至少一个处理器执行的指令,指令在被处理器执行后,用于完成第一方面中的电路原理图差异对比的方法。
与现有技术相比,本发明实施例的有益效果在于:通过将EDA工具生成的网表中的电路逻辑连接关系转换为特定格式的逻辑节点和逻辑表,以模块化电路转换得到的逻辑单元为单位,将不同电路原理图按照统一的逻辑规则和格式进行整理,从而实现简单快速的电路逻辑连接关系对比,查找到不同电路原理图之间的差异。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种电路原理图差异对比的方法流程图;
图2为本发明实施例提供的一种电路原理图差异对比的方法使用的网表示意图;
图3为本发明实施例提供的一种电路原理图差异对比的方法电路延伸方向表示方式示意图;
图4为本发明实施例提供的另一种电路原理图差异对比的方法流程图;
图5为本发明实施例提供的另一种电路原理图差异对比的方法流程图;
图6为本发明实施例提供的一种电路原理图差异对比的方法使用的电路原理图示意图;
图7为图6提供的电路原理图对应的网表示意图;
图8为图6提供的电路原理图和图7提供的网表对应的逻辑表示意图;
图9为本发明实施例提供的一种电路原理图差异对比的方法使用的另一个电路原理图示意图;
图10为图9提供的电路原理图对应的逻辑表示意图;
图11为本发明实施例提供的一种电路原理图差异对比的装置结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
实施例1:
在进行大规模电路原理图设计时,为了提高电路集成度并降低设计复杂度,通常会使用一个或多个功能芯片进行集成。在进行芯片集成时,会以芯片的标准电路原理图或其它现有电路原理图为基础进行组合或修改。为了避免在复制或重画电路原理图时出现错漏,需要对电路原理图的连接逻辑进行检查。在对电路原理图的连接逻辑进行检查时,为了减少检查的工作量,仅对可能存在错漏的部分进行检查,首先需要查找两张或多张原理图中存在差异的部分。为了解决大规模电路原理图的对比问题,本发明实施例提供了一种对比方法,将电路原理图中每一个逻辑连接关系拆分为独立的包含足够信息的逻辑节点,将逻辑节点以芯片引脚为单位组织为逻辑单元,并将逻辑单元按照逻辑连接关系组织为逻辑表,最终只需要简单对比不同逻辑表中每一个相同位置的逻辑节点,即可获取不同电路原理图的差异信息。
如图1所示,本发明实施例提供的电路原理图差异对比的方法具体步骤如下:
步骤101:获取需进行对比的电路原理图的网表。
为了对电路原理图进行对比,需要获取电路原理图中所有的电路器件,以及电路器件之间的逻辑连接关系。对于使用EDA工具绘制的电路原理图,电路原理图中的每一个电路器件以及图中的每一根线都会存储在网表中,其中,每一根线称为一个网络。网表包含有电路原理图的网络名称、该网络连接的器件的位号、器件的引脚号、器件的描述信息等。其中,器件的描述信息包含器件的名称、物料号、封装等。获取网表后,即可从网表中收集到电路原理图中的每一个电路器件,以及各电路器件之间的连接关系。
如图2所示,为典型dialcnet.dat网表文件中的内容。电路原理图中的每个连接关系在网表中保存为一行,每行第一列为网络名称,第二列为该网络连接的电路器件的位号,第三列为电路器件的引脚号,第四列为电路器件的描述信息。以图中第一行内容:CTRL_3ICP30 9B
"BMR4642008-ICP0000469,ICP_BMR4B"为例,“CTRL_3”是网络名称,“ICP30”是这个网络连接的器件位号,“9B”是这个器件的引脚号,"BMR4642008-ICP0000469,ICP_BMR4B"指示器件名称为“BMR4642008”,物料号为“ICP0000469”。其中,网表的第一列的网络名由电路原理图设计者自行命名,无论是否主动命名在网表中均会显示出来,对于未命名网络的会自动命名为格式为“UNNAMED_*”的名称。
步骤102:根据网表,获取电路原理图中每个电路节点的特征和逻辑连接关系。
在本发明各实施例中,一个电路节点表示一个独立的电路连接点,包括但不限于芯片引脚、电阻、电容、电感、电源等。当一个电路器件中包含多个可以独立进行电路连接的连接点时,每一个可用的连接点作为一个电路节点,如一个芯片的每个引脚分别作为一个电路节点、串联电阻的两端分别作为一个电路节点等;当一个电路器件仅作为电路中一个逻辑点存在时,将电路器件的作为一个电路节点,如上拉电阻、电感、电源等。为了完整表示电路节点的电气特征和连接关系,在本实施例中使用的电路节点属性特征包括:电路节点的物料号、引脚号、位号和延伸方向。在本实施例的不同实施场景中,也可以根据电路原理图的特定需要使用其它属性特征。
经过步骤101获取的网表中,包含了每个电路节点的特征和连接关系。当原理图中的一个网络连接了两个或两个以上的节点,在网表中会逐行全部列出来。如图2所示的网表中,第一行第一列的网络名为CTRL_3,第二行第一列的网络名也为CTRL_3,说明这一个网络连接有R3542的PIN2和R3543的PIN2。以此类推,只要遍历整个网表中的CTRL_3网络,就能找到这一网络连接的所有电路节点,即找到这根线连接的所有电阻、电容或芯片引脚等电路节点。进一步的,通过网表第二列的位号和第四列的物料号,可以得到电路原理图中使用的所有芯片。再通过芯片与其它电路器件的连接关系,可以进一步从网表中获取电路原理图中使用的电阻、电容、电感等电路节点,这些电阻、电容、电感等与芯片相互连接,组成芯片之间的外围电路。具体的,每个芯片的所有引脚可以使用一个芯片数组表示,芯片数组的每一个元素表示芯片的一个引脚;每个芯片引脚所连接的外围电路中所有电路节点也可以使用一个连接数组表示,连接数组的每一个元素表示一个电路节点。
步骤103:将每个电路节点的特征按照预设格式组织为逻辑节点,逻辑节点的特征与电路节点的特征相对应。
在本发明实施例中,为了便于对比不同电路原理图中的节点,将电路节点的特征按照预设的固定格式组织为逻辑节点,每个逻辑节点对应电路原理图中的一个电路节点。逻辑节点中保存了电路节点自身的特征及与其它电路节点的延伸方向信息,包括电路节点的物料号、引脚号、位号和延伸方向等。在本实施例的具体使用场景中,根据不同电路节点的特性,逻辑节点中可以包括电路节点的所有特征,也可以仅包含一部分特征。对于芯片引脚,需要包含物料号和引脚号,同时由于本实施例中芯片引脚仅作为电路连接的起点和终点使用,因此不需要包含延伸方向。对于上拉电阻、下拉电阻、对地电容等,位号本身不是进行电路原理图对比时有意义的信息,为了简化逻辑节点的数据量,减少无意义的存储空间占用,因此不保留位号且不保留两个引脚,仅用电路器件的类型R或C表示。同样的,对于串联在电路中的电阻、电容、电感等器件,不保留位号,将电路器件的两个引脚分别视为一个电路节点。
进一步的,为了便于表示电路节点的延伸方向,本发明实施例中将延伸方向使用点钟方向表示。具体的,如图3所示,将不同的延伸方向按照点钟方向进行编号,由12点方向开始,按照顺时针顺序分别编号为0-11。按照点钟方向进行编号后,将每个电路节点的特征按照预设格式组织为逻辑节点时,仅需保存相应延伸方向的编号即可简便的表示出电路延伸的逻辑方向。具体的,对于芯片引脚,由于仅作为起点和终点,因此不包含延伸方向;对于电阻、电容、电感等器件,根据电路原理图中的逻辑连接方向,在逻辑节点中记入其对应的延伸方向;对于上拉电阻、下拉电阻、对地电容等,上拉记为“0”点钟方向,下拉和对地记为“6”点钟方向。
步骤104:根据每个电路节点的逻辑连接关系,将每个电路原理图中的逻辑节点组织为对应的逻辑表,其中,各电路原理图中相同的电路节点存放在其对应的逻辑表的同一位置。
在本实施例中,各电路节点的连接关系由逻辑表进行组织,每个电路节点为逻辑表中的一个栅格。在大规模电路设计的场景中,可能会使用多个功能芯片进行组合设计,但芯片的标准电路原理图一般仅包含芯片本身及芯片的外围电路,需对比的其它电路原理图中可能包含有不同的芯片组合。为了便于将包含多个芯片的电路原理图与每个芯片的标准电路原理图进行对比,或与不同芯片组合的电路进行对比,本实施例中以芯片为单位将电路原理图拆分为多个电路模块,将两个直接或间接相连的引脚间的电路作为一个逻辑单元进行组织。具体的,如图4所示,可以按照以下步骤将每个电路原理图中的逻辑节点组织为对应的逻辑表。
步骤201:将电路原理图中每一个芯片的每一个引脚逐一作为起始引脚。
本实施例提供的方法中,以芯片引脚为索引将电路原理图进行组织,为了保证逻辑表中完整的呈现全部电路连接关系,需要获取电路原理图中每一个芯片的每一个引脚所连接的电路,并将相应的电路组织为一个逻辑单元,再将逻辑单元按照芯片引脚的顺序进一步组织为逻辑表。因此,首先需要以与每一个芯片的每一个引脚为起始点获取相应电路结构。
步骤202:由每一个起始引脚开始,按照逻辑连接关系依次获取下一个相连的电路节点,直至相连的电路节点为另一个芯片引脚时终止,将终止处的芯片引脚作为终止引脚。
为了准确获取每个逻辑单元中各个电路节点,需要按照电路节点的逻辑连接关系逐一获取与起始引脚直接或间接相连的每一个电路节点。由于本实施例的方法中是以芯片为单位对电路结构进行拆分,因此在电路连接达到另一个芯片引脚时终止。在实际使用中,由于需要对每个芯片引脚连接的电路进行对比,如下两个场景:(1)芯片A的引脚1——芯片B的引脚2和(2)芯片B的引脚2——芯片A的引脚1,虽然为逻辑连接关系相同的电路,并且在电路原理图上仅呈现一次,但由于起始引脚不同,因此需要视为两个不同的逻辑单元,以便于分别使用芯片A和芯片B的标准原理图进行对比。若起始引脚并未直接连接至另一个芯片引脚,而是连接至电源等其它电路节点,以电路连接中的最后一个电路节点作为终止引脚。特别的,若芯片引脚悬空,为了保证电路的完整性和顺序正确,需要以表示悬空的符号表示,如float、NULL等。
步骤203:获取每一组起始引脚和终止引脚之间所有的电路节点对应的逻辑节点,将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元。
电路原理图的内容包括电路节点和连接关系,将电路节点的特征组织为逻辑节点后,即可表示电路节点本身的特征,将逻辑节点按照电路节点的逻辑连接关系进行组织后,即可表示电路节点的连接关系。完成逻辑单元的组织之后,每个逻辑单元即可完整的呈现起始引脚和终止引脚之间的所有信息。
步骤204:将逻辑单元按照预设规则放入逻辑表中。
获取各芯片引脚对应的逻辑单元后,将所有逻辑单元按照按照一定规则有序的放入逻辑表中,即可完成整个电路原理图信息的提取。组织逻辑单元的规则可以根据实际需要指定,例如:同一个芯片的引脚对应的逻辑单元可以按照引脚号、引脚位置等顺序排列,不同芯片之间可以按照物料号、芯片放置位置、芯片的连接关系等顺序排列。
通过步骤201-步骤204,可以将两个对应连接的引脚间的电路连接关系组织为逻辑单元,并进一步将逻辑单元组织为逻辑表。在进行对比时,将不同电路原理图对应的逻辑表中每个起始引脚对应的逻辑单元进行对比,即可简便的判断不同电路原理图是否存在差异。
在本实施例的具体实施场景中,可以使用二维结构对逻辑单元进行组织。在电路连接结构中,以一个电路节点作为起始点,可以直接或间接延伸连接一个或多个电路节点,与起始的电路节点直接延伸连接的电路节点位于第一个延伸层次,与直接延伸连接的电路节点直接连接的电路节点位于第二个延伸层次,依次类推形成多个延伸层次。将逻辑节点按照连接的延伸层次组织为第一维度,将相同延伸层次上的电路节点对应的逻辑节点存放在第一维度的同一坐标下,可以清楚的展示电路的逻辑连接层次,完整的重现电路原理图中各电路节点间的逻辑连接关系。将相同延伸层次上的逻辑节点按照连接的逻辑方位顺序组织为第二维度,按照连接的逻辑顺序对同一层次中的逻辑节点进行组织,可以保证每个逻辑方位中连接的电路节点相互对应,避免因逻辑节点的放置顺序不同造成的误判。进一步的,对于电阻、电容、电感等具有多个引脚的电路器件,将每一个引脚对应的电路节点按照从左到右的方向存放在不同的逻辑连接层次中,以区别不同引脚的连接关系。
在进行对比时,需要对不同电路原理图中同一型号芯片的同一管脚所连接的外围电路进行比较,为了快速准确的进行对比,需要将不同电路原理图中相同的电路节点存放在逻辑表中的同一栅格位置。在不同电路原理图的网表中,电路节点的排列顺序可能会不同,为了便于对比,需要将逻辑单元根据预设的限定规则进行排序,达到相同电路节点存放位置相同的效果。在本实施例的具体实施场景中,将逻辑单元按照预设规则放入逻辑表中时,可以按照起始引脚所在芯片的物料号顺序排列,若多个起始引脚位于同一芯片上,可以按照起始引脚的引脚号顺序排列。在不同的具体实施场景中,可以按照物料号和引脚号从大到小排列,也可以按照从到小排序,或者其他顺序进行排序,只要排序规则统一,排序完成后相同电路节点位于同一位置即可。
进一步的,在本实施例的具体实施场景中,某些芯片引脚或电路节点为悬空引脚,未与其它电路节点连接,为了保证电路逻辑的完整性和引脚排列顺序正确,也为了明确表示连接的终点,悬空引脚的下一延伸层次以float表示。
在某些具体实施场景中,若起始引脚存在多路分支连接,为了清楚的表示分支的逻辑连接关系,按照分支所在的延伸层次将每一路分支连接中同一延伸层次的电路节点并列放入逻辑表中。
在本实施例的某些具体实施场景中,可能存在上拉器件或下拉器件,也可能不存在上拉器件或下拉器件。为了确保每个逻辑单元中各逻辑节点的相对位置关系,并对逻辑单元的格式进行统一,将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元时,为每个用于延伸电路的引脚预留上拉器件和下拉器件的存放空间。若存在上拉器件或下拉器件,将上拉器件或下拉器件写入预留的存放空间内,确保其位置不会与其他逻辑节点的位置相冲突。另一方面,为了压缩逻辑表的大小,节约存储空间和对比分析时间,若某个逻辑单元中不存在上拉器件或下拉器件,将逻辑单元按照预设规则放入逻辑表中后,去掉上拉器件或下拉器件对应的未使用的预留存放空间。
步骤105:对比各电路原理图对应的逻辑表中的逻辑节点,查找存在差异的逻辑节点。
通过步骤101-步骤104,将电路原理图中的所有逻辑连接关系整理为逻辑表后,可以对各电路原理图对应的逻辑表中的逻辑节点进行对比,查找存在差异的逻辑节点。如图5所示,对比的具体步骤包括:
步骤301:依次对比各电路原理图对应的逻辑表中每个相同位置的逻辑节点,判断相同位置的逻辑节点的内容是否相同。
将电路原理图整理为逻辑表后,通过步骤101-步骤104进行电路节点和连接关系的特征提取、整理和排序后,逻辑表中通过逻辑节点的内容和存放位置完整呈现了电路原理图中每一个电路节点的特征和各电路节点的连接关系,因此只需判断不同电路原理图对应的逻辑表中每一个位置的逻辑节点是否相同,即可对电路原理图进行比较和判断。
步骤302:若逻辑节点的内容相同,表示该位置所对应的等价电路节点的特征和逻辑连接关系相同。
若两个电路原理图相同,逻辑表中同一个栅格位置应该存放有相同的逻辑节点,因此若不同电路原理图对应的逻辑表中每一个栅格位置的逻辑节点内容都相同,说明电路原理图中每一个电路节点和电路节点的连接关系都相同,即表明电路原理图相同。
步骤303:若逻辑节点的内容不同,表示该位置所对应的电路节点的特征和逻辑连接关系不同。
若逻辑节点的内容不同,表明相应电路节点的物料号、引脚号、位号或延伸方向不同;若相同内容的逻辑节点栅格位置不同,表明电路节点的连接关系不同。因此可以通过逻辑表准确快速的对比查找到不同电路原理图之间的差异部分。
由于逻辑表中已将电路原理图拆分为模块化的电路图、将每个电路节点组织为逻辑节点、将每个芯片引脚对应的连接电路组织为逻辑单元、并按照预设规则对所有逻辑节点和逻辑单元进行排序,在电路原理图相同的情况下,逻辑表中每个逻辑节点的位置和内容都应该相同。因此,仅需依次对比各电路原理图对应的逻辑表中每个相同位置的逻辑节点,判断相同位置的逻辑节点的内容是否相同,即可判断电路原理图中每个电路节点的器件型号和逻辑连接关系是否相同,从而查找到不同电路原理图之间的差异。
进一步的,为了便于对每个逻辑节点进行对比,在本实施例的具体实施方式中,逻辑节点可以使用特征字符串进行保存,仅需对每个逻辑节点的进行简单的字符串匹配,即可判断两个电路节点使用的电路器件及逻辑连接方式是否相同。
经过本实施例中提供的步骤101-步骤105后,可以快速简便的完成大规模电路原理图中数万个电路器件和连接关系的特征提取、分离、组合和整理,将难以直接对比的电路原理图转换为包含电路原理图完整逻辑特征且便于对比的逻辑表,并使用逻辑表对不同电路原理图的差异进行对比,从而实现了快速、准确、自动化的电路原理图差异对比,避免了电路原理图绘制时的错漏。
实施例2:
基于实施例1提供的电路原理图差异对比的方法,在不同的具体应用场景中,可以通过本实施例中的具体实施方式对实施例1中提供的电路原理图差异对比的方法进行实现。
在本实施例的某个具体实施场景中,需要比较如图6所示的电路原理图与IC4芯片的标准电路原理图。
根据步骤101,首先获取电路原理图对应的网表文件。具体的,网表文件的内容如图7所示。
根据步骤102,获取电路原理图中所有的电路节点。其中包括:芯片IC3、IC4、IC7和IC97;IC4的芯片引脚A1-A6,IC7的芯片引脚20,IC97的芯片引脚1和IC3的芯片引脚2;电阻R3、R76和R58。再获取电路节点之间的逻辑连接关系,以UNNAMED_A网络中IC4的A4引脚为起始引脚,第一延伸层次为IC4的A4引脚直接连接的R35的引脚1和R76。第二延伸层次为与R35的引脚2相连的R58、IC3的引脚2、IC7的引脚20和IC97的引脚3。IC3、IC7和IC97为芯片,IC4的A4引脚存在3路分支,分别以IC3的引脚2、IC7的引脚20和IC97的引脚3作为终点引脚。另一方面,R78和R58还与3.3V电源网络连接。
根据步骤103,将电路节点组织为逻辑节点。IC4的A4引脚使用物料号和引脚号表示为ICCP000048_PINA4;R78和R58与3.3V电源网络连接,说明R76和R58是上拉电阻,去掉位号76和58,延伸方向0点钟表示上拉,即0R_3V3;R35的另一个引脚连接的不是电源或接地网络,而是UNNAMED_B网络,所以R35为中间串联电阻,延伸方向为3点钟方向,其中,R35连接IC4的引脚记为3R_PIN1,另一引脚记为3R_PIN2;IC3的引脚2、IC7的引脚20和IC97的引脚3也使用物料号和引脚号进行表示,别记为ICSP000067_PIN2、ICIF000034_PIN20和ICSP000067_PIN2。
根据步骤104,将电路原理图组织为逻辑表。首先,将电路原理图组织为以IC4的A4作为起始引脚的逻辑单元。如图8所示,第一列为起始引脚IC4的A4对应的逻辑节点;第二列和第三列分别为两个芯片引脚之间同一延伸层次的逻辑节点,第二延伸层次的0R_3V3与3R_PIN1在同一列,第三延伸层次的OR_3V3与3R_PIN2在同一列,由于两个0R_3V3为上拉电阻,因此写在对应列的3R_PIN1和3R_PIN2的上方;第四延伸层次有IC7的引脚20、IC97的引脚1和IC3的引脚2,属于同一起始引脚的多路分支,并列写在同一列。
由于图6所提供的电路原理图实例中仅包含一个起始引脚,因此将起始引脚对应的逻辑单元写入逻辑表中即可。在另一些实际场景中,若存在多个起始引脚,则需要将每个起始引脚对应的逻辑单元并列写入逻辑表中。
在本实施例的具体实施场景中,需要比较如图9所示的电路原理图与XL1晶振的标准电路原理图。存在同一芯片中L11和K11之间经过其它电路节点间接相连的情况,由于按照字母顺序引脚号K11在L11之前,将K11作为起始引脚,记为ICCP000048_PINK11。与L11和K11相连的电路节点为电阻3R_PIN1,对于并联在引脚之间的器件R411存放在逻辑表格中的第一行,与该节点等价的电路节点还有原理图中的XL1的PIN1和电容C1857,其中C1857为对地电容,用6C_E表示,XL1的物料号为XS00000088,将XS00000088_PIN1存放在与3R_PIN1相同的列中;3R_PIN2也与一个对地电容连接,并与XS00000088_PIN3连接,将XS00000088的引脚与6C_E重新排序,得到如图10所示的逻辑表,其中3R_PIN1和XS00000088_PIN1、3R_PIN2和XS00000088_PIN3为同一延伸层次的等价电路节点。
将电路原理图组织为逻辑表后,即可对需要对比的电路原理图所对应的逻辑表中所有逻辑节点进行逐一对比,查找电路原理图的差异。
实施例3:
在上述实施例1至实施例2提供的电路原理图差异对比的方法的基础上,本发明还提供了一种可用于实现上述方法的电路原理图差异对比的装置,如图11所示,是本发明实施例的装置架构示意图。本实施例的电路原理图差异对比的装置包括一个或多个处理器21以及存储器22。其中,图11中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图11中以通过总线连接为例。
存储器22作为一种电路原理图差异对比方法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1至实施例2中的电路原理图差异对比方法。处理器21通过运行存储在存储器22中的非易失性软件程序、指令以及模块,从而执行电路原理图差异对比的装置的各种功能应用以及数据处理,即实现实施例1至实施例2的电路原理图差异对比的方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
程序指令/模块存储在存储器22中,当被一个或者多个处理器21执行时,执行上述实施例1至实施例2中的电路原理图差异对比的方法,例如,执行以上描述的图1、图4和图5所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为:ROM)、随机存取存储器(Random AccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电路原理图差异对比的方法,其特征在于:
获取需进行对比的电路原理图的网表;
根据网表,获取电路原理图中每个电路节点的特征和逻辑连接关系;
将每个电路节点的特征按照预设格式组织为逻辑节点,逻辑节点的特征与电路节点的特征相对应;
根据每个电路节点的逻辑连接关系,将每个电路原理图中的逻辑节点组织为对应的逻辑表,其中,各电路原理图中相同的电路节点存放在其对应的逻辑表的同一位置;
对比各电路原理图对应的逻辑表中的逻辑节点,查找存在差异的逻辑节点。
2.根据权利要求1所述的电路原理图差异对比的方法,其特征在于,所述逻辑节点的特征包括:电路节点的物料号、引脚号、位号和延伸方向中的一项或多项。
3.根据权利要求2所述的电路原理图差异对比的方法,其特征在于:所述将每个电路节点的特征按照预设格式组织为逻辑节点时,所述延伸方向使用点钟方向表示。
4.根据权利要求1所述的电路原理图差异对比的方法,其特征在于,所述将每个电路原理图中的逻辑节点组织为对应的逻辑表,包括:
将电路原理图中每一个芯片的每一个引脚逐一作为起始引脚;
由每一个起始引脚开始,按照逻辑连接关系依次获取下一个相连的电路节点,直至相连的电路节点为另一个芯片引脚时终止,将终止处的芯片引脚作为终止引脚;
获取每一组起始引脚和终止引脚之间所有的电路节点对应的逻辑节点,将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元;
将逻辑单元按照预设规则放入逻辑表中。
5.根据权利要求4所述的电路原理图差异对比的方法,其特征在于,所述将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元,包括:
所述逻辑单元为二维结构,将逻辑节点按照连接的延伸层次组织为第一维度,将相同延伸层次上的逻辑节点按照连接的逻辑方位的顺序组织为第二维度。
6.根据权利要求4所述的电路原理图差异对比的方法,其特征在于,所述将逻辑单元按照预设规则放入逻辑表中时,若起始引脚存在多路分支连接,将每一路分支连接中同一延伸层次的电路节点并列放入逻辑表中。
7.根据权利要求4所述的电路原理图差异对比的方法,其特征在于,包括:将逻辑单元放入逻辑表中时,按照起始引脚所在芯片的物料号顺序排列,若多个起始引脚位于同一个芯片上,按照起始引脚的引脚号顺序排列。
8.根据权利要求4所述的电路原理图差异对比的方法,其特征在于,还包括:将逻辑节点按照电路节点的逻辑连接关系组织为一个逻辑单元时,预留上拉器件和/或下拉器件的存放空间,若电路原理图中不存在上拉器件和/或下拉器件,所述将逻辑单元按照预设规则放入逻辑表中后,去掉上拉器件和/或下拉器件对应的未使用的预留存放空间。
9.根据权利要求1所述的电路原理图差异对比的方法,其特征在于,所述对各电路原理图对应的逻辑表中的逻辑节点进行对比,查找存在差异的逻辑节点,包括:
依次对比各电路原理图对应的逻辑表中每个相同位置的逻辑节点,判断相同位置的逻辑节点的内容是否相同;
若逻辑节点的内容相同,表示该位置所对应的等价电路节点的特征和逻辑连接关系相同;
若逻辑节点的内容不同,表示该位置所对应的电路节点的特征和逻辑连接关系不同。
10.一种电路原理图差异对比的装置,其特征在于:
包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成权利要求1-9中任一项所述的电路原理图差异对比的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011106685.XA CN112307694B (zh) | 2020-10-16 | 2020-10-16 | 一种电路原理图差异对比的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011106685.XA CN112307694B (zh) | 2020-10-16 | 2020-10-16 | 一种电路原理图差异对比的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307694A true CN112307694A (zh) | 2021-02-02 |
CN112307694B CN112307694B (zh) | 2022-04-26 |
Family
ID=74327700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011106685.XA Active CN112307694B (zh) | 2020-10-16 | 2020-10-16 | 一种电路原理图差异对比的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307694B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115659700A (zh) * | 2022-12-06 | 2023-01-31 | 北京云枢创新软件技术有限公司 | 基于信号依赖关系的波形自动对比分析方法、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1505270A (zh) * | 2002-12-04 | 2004-06-16 | 华为技术有限公司 | 一种用于硬件设计的原理图审查方法 |
CN1582088A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 检查比较电路原理图和pcb布线图一致性的方法和装置 |
CN1862267A (zh) * | 2005-09-19 | 2006-11-15 | 华为技术有限公司 | 对电路原理图进行审查的方法 |
WO2014145113A2 (en) * | 2013-03-15 | 2014-09-18 | Resonant Llc | Network synthesis design of microwave acoustic wave filters |
CN104091161A (zh) * | 2014-07-15 | 2014-10-08 | 山东超越数控电子有限公司 | 一种电路原理图网表比对方法 |
CN108228917A (zh) * | 2016-12-09 | 2018-06-29 | 展讯通信(上海)有限公司 | 电路原理图检查装置及方法 |
CN110941942A (zh) * | 2019-11-29 | 2020-03-31 | 紫光展讯通信(惠州)有限公司 | 电路原理图检查方法、装置及系统 |
-
2020
- 2020-10-16 CN CN202011106685.XA patent/CN112307694B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1505270A (zh) * | 2002-12-04 | 2004-06-16 | 华为技术有限公司 | 一种用于硬件设计的原理图审查方法 |
CN1582088A (zh) * | 2003-08-05 | 2005-02-16 | 华为技术有限公司 | 检查比较电路原理图和pcb布线图一致性的方法和装置 |
CN1862267A (zh) * | 2005-09-19 | 2006-11-15 | 华为技术有限公司 | 对电路原理图进行审查的方法 |
WO2014145113A2 (en) * | 2013-03-15 | 2014-09-18 | Resonant Llc | Network synthesis design of microwave acoustic wave filters |
CN104091161A (zh) * | 2014-07-15 | 2014-10-08 | 山东超越数控电子有限公司 | 一种电路原理图网表比对方法 |
CN108228917A (zh) * | 2016-12-09 | 2018-06-29 | 展讯通信(上海)有限公司 | 电路原理图检查装置及方法 |
CN110941942A (zh) * | 2019-11-29 | 2020-03-31 | 紫光展讯通信(惠州)有限公司 | 电路原理图检查方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
蔡斌君等: "基于BiCMOS工艺的版图与原理图匹配验证", 《半导体技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115659700A (zh) * | 2022-12-06 | 2023-01-31 | 北京云枢创新软件技术有限公司 | 基于信号依赖关系的波形自动对比分析方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112307694B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112559554B (zh) | 一种查询语句优化方法及装置 | |
US8332410B2 (en) | Bit string merge sort device, method, and program | |
CN107622080B (zh) | 一种数据处理方法及设备 | |
US11222067B2 (en) | Multi-index method and apparatus, cloud system and computer-readable storage medium | |
CN108470040A (zh) | 一种非结构化数据的入库方法及装置 | |
CN113673192B (zh) | 一种超大规模集成电路spef寄生参数的并行加速提取方法 | |
CN112307694B (zh) | 一种电路原理图差异对比的方法和装置 | |
WO2015010508A1 (zh) | 一种基于一维线性空间实现Trie树的词典存储管理方法 | |
US9304981B1 (en) | System and method for providing an inter-application overlay to communicate information between users and tools in the EDA design flow | |
KR20000027101A (ko) | 고차원 색인 구조의 동시성 제어 방법 | |
CN115238616A (zh) | 一种芯片网表自动修改方法、装置及电子设备 | |
CN103745050A (zh) | 一种管脚映射方法和系统 | |
CN104317536A (zh) | 存储地震数据体和读取地震道的地震数据的设备及方法 | |
CN103425829B (zh) | 一种快速读取版图的方法 | |
CN116662019B (zh) | 请求的分配方法、装置、存储介质及电子装置 | |
Kvet et al. | Master Index Access as a Data Tuple and Block Locator | |
CN111522820A (zh) | 数据存储结构、存储检索方法、系统、设备及存储介质 | |
US11829696B2 (en) | Connection analysis method for multi-port nesting model and storage medium | |
CN114004190B (zh) | 基于物理版图的多层级信息获取及可扩展操作的方法 | |
CN111858581A (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
CN111045948A (zh) | 模块间接口信号的检查方法、设备和存储介质 | |
CN112464636B (zh) | 约束文件的比较方法、装置、电子设备和存储介质 | |
CN114328486A (zh) | 基于模型的数据质量核查方法及装置 | |
CN113779029A (zh) | 一种数据查询的方法及装置 | |
CN112131432A (zh) | 数据网络设备的命令行多叉树获取方法及装置 |
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 |