检查比较电路原理图和pcb布线图一致性的方法和装置的制作方法

文档序号:8035194阅读:844来源:国知局
专利名称:检查比较电路原理图和pcb布线图一致性的方法和装置的制作方法
技术领域
本发明涉及印刷线路板技术,具体涉及一种检查比较电路原理图和PCB(印刷线路板)布线图一致性的方法和装置。
背景技术
电路板的设计一般包括电路原理图和PCB布线图的设计,其中PCB布线图的设计是根据电路原理图设计进行并直接用于生产的图纸,PCB布线图的线路节点连接是否和电路原理图保持一致是产品开发设计能否正确实现的重要一环。
在现有技术中,存在电路原理图与PCB布线图的线路节点连接不一致,电路原理图的后续变化没有体现到PCB布线图中,或PCB布线图后续调整器件位置,更换器件封装等原因造成与电路原理图节点连接不一致等情况,造成不合格电路板的产生,进而造成大量的人力物力浪费,可见在电路板设计中如何确保两者线路节点连接的一致性,进而保证设计的正确性是相当重要的。
要满足上述要求,就得正确快速地检查出电路原理图与PCB布线图线路节点连接的一致性或反映二者间的差异,以供设计人员检查和修改。下面就参考图1对电路原理图及PCB布线图的设计流程作介绍图1示出了设计电路原理图与PCB布线图的流程的简要示意图。首先,设计人员设计电路原理图,通过仿真不断修改,设计完成电路原理图;然后,根据电路原理图设计PCB布线图,设计PCB布线图时,不断修改PCB布线图设计;根据PCB布线图设计的需要,修改电路原理图,如更换芯片型号等。这些过程不断反复,最后设计出PCB布线图。在设计出PCB布线图后,需要检测PCB布线图与电路原理图是否一致。
在现有技术中,有两种方法来比较电路原理图和PCB布线图线路节点连接的一致性1)人工比较法(通过器件管脚连线核对)通过人工来核对电路原理图上的每个器件的连接节点是否与PCB布线图上的一致,目前主要将PCB网表打印出来,再逐个对连线网络、节点与电路原理图上的器件和连线进行人工核对,通过比较电路原理图上节点连接的电子元器件的管脚和PCB布线图上的是否一致来确定。
很显然,这种方法只对于简单的电路板有效,复杂的多层电路板,十几页图纸,人工核对无法做到。
2)利用PCB工具比较法(通过网络名核对)图2示出了现有技术中的利用PCB工具比较法(通过网络名核对)的流程图。首先生成电路原理图网表,其格式必须严格和PCB工具要求的一致,再将电路原理图网表调入PCB布线图工具中,利用工具比较,主要算法为先判断网络名是否相同,若相同则判断下面的节点是否一致。
上述方法虽然在一定程度上降低了人力成本,但由于网络名系统工具会自动赋值和修改名称,所以往往出现两者连接上一致,但网络名不一致的情况,尤其是多次变更后,差异更大。可见,此方法的比较结果不可靠,还是需人工来核对,而且现在设计工具种类很多,每种设计工具的显示方式都不一样,判断起来也比较困难。
针对上述缺点,开发出一种能正确完全快速体现电路原理图与PCB布线图线路节点连接差异供开发人员使用的方法显得非常必要。

发明内容
本发明提供一种检查比较电路原理图和PCB布线图的方法和装置,以解决现有技术因需要人工操作而造成的效率及准确度低的问题。本发明主要从网络节点和网络名两方面进行,利用数据结构算法和计算机技术实现,汲取了PCB工具比较法的部分算法,并增加了算法和进行了优化,能快速直接比较每个网络节点连接和元器件管脚的连接的一致性,并体现元器件的差异和连接的不一致,将不一致的结果分成不同类别进行输出显示,把人工从这项工作中解脱出来,并能保证结果的准确性。
为解决上述问题,本发明提供如下的技术方案一种检查比较电路原理图和PCB布线图的方法,包括如下步骤提取整理电路原理图和PCB布线图网表中的网络和节点数据;提取电路原理图和/或PCB布线图网表中的一个连接网络的名称;判断所述提取的所述连接网络名称是否相同,并根据判断结果再去判断上述提取的节点数据是否相同。
可选地,根据判断结果再去判断上述提取的节点数据是否相同的步骤包括如果不相同,执行提取连接网络的名称的步骤;如果相同,比较节点数据,如果相同,则剔除,如果不同,则记录;判断是否所有的连接网络都进行了比较,如果否,返回提取连接网络的名称的步骤;如果是,判断电路原理图和PCB布线图的所述连接网络是否相同,如果不同,表明电路原理图和PCB布线图有差异,如果相同,继续判断下一个连接网络是否相同,直到全部连接网络比较完毕。
所述判断电路原理图和PCB布线图的所述连接网络是否相同的步骤包括取电路原理图的所述连接网络中的第一个节点与PCB布线图网表的节点比较,或取PCB布线图的所述连接网络中的第一个节点与电路原理图网表的节点比较如果没有相同节点,比较下一个连接网络;如果有相同节点,比较其他节点是否一致;如果全部节点一致,说明该连接网络相同;如果有节点不一致,记录和/或比较下一个连接网络。
本发明提供的方法还可包括如下步骤剔除只有一个节点的连接网络;判断是否存在经过所有查找都没有找到的网络和节点;如果有,记录并显示;如果没有,表明比较完毕,如果全部相同,表明电路原理图和PCB布线图,否则,表明电路原理图和PCB布线图有不同,记录并显示。
可选地,方法还包括步骤根据比较结果显示连接网络在电路原理图上而不在PCB布线图上;和/或连接网络在PCB布线图上而不在电路原理图上;和/或连接网络名相同但仍有部分节点不一致;和/或连接网络名不相同但只有部分节点一致。
优选地,所述方法适用于文本方式的网表,其中,电路原理图网表的格式包括CAPTURE`S TELESIS、CAPTURE`S PADSPCB、VIEWDRAW FORALLEGRO、VIEDRAW FOR PADS、orcad for DOS′s TELESIS;PCB工具网表的格式包括ALLEGRO`S NETIN(NO BACK)、POWERPCB`S NETLIST W/O PIN INFO格式。
可选地,所述电路原理图或PCB布线图网表中网络和节点数据包括表头,与所述表头有关电路原理图或PCB布线图网络和节点数据,所述数据包括至少一个子表头,该子表头下包括至少两个相关的节点,该网络和节点数据表示网络的结构。
优选地,还包括步骤利用表头格式自动判断工具和所述的网表格式,判断网络的异同。
可选地,所述电路原理图和PCB布线图网表中网络和节点数据的格式通过下述程序实现<pre listing-type="program-listing">  struct detail  {  char*ping;  struct detail*next;  };struct net  {  char*name;  struct net*next;  struct detail*daughter;  }。</pre>优选地,所述判断电路原理图和PCB布线图的所述连接网络是否相同的步骤包括判断电路原理图和PCB布线图中相同连接网络名的节点与连接是否相同,判断电路原理图和PCB布线图不同连接网络名的所有节点与连接是否相同。
一种检查比较电路原理图和PCB(印刷线路板)布线图的装置,其特征在于,包括提取装置,用于提取整理电路原理图和PCB布线图网表中网络和节点数据;和提取电路原理图和/或PCB布线图的网表中的一个连接网络的名称,判断装置,用于判断提取的电路原理图和/或PCB布线图的网表中的所述连接网络名称是否相同,且判断是否所有的连接网络都进行了比较;
节点比较装置,用于比较连接网络的节点数据;记录装置,用于记录判断结果与比较结果。
本发明的装置还可包括显示装置用于显示判断结果和比较结果。
优选地,所述提取装置包括用于生成电路原理图的网表的装置和用于生成PCB布线图网表的装置。
利用本发明,可以提高电路设计与制作的能力,减少了成本和生产时间,提高了成品率。


图1示出了现有技术中设计电路原理图与PCB布线图的流程的简要示意图;图2示出了现有技术中的利用PCB工具比较法(通过网络名核对)的流程图;图3是本发明的优选实施例的电路原理图和PCB布线图的网表数据以数据结构方式的数据表的示意图;图4为本发明的优选实施例的比较电路原理图和PCB布线图的流程图。
具体实施例方式
本发明主要从电路原理图和PCB布线图的节点和网络名来比较,通过电路原理图和PCB布线图的各自网表进行,用最简单有效的方法通过计算机实现,先将两者的网表数据以数据结构方式提取成数据表,一个节点一个单元,再通过每个节点进行比较,从而比较出各种情况下的差异。
下面结合附图及具体实施例对本发明作进一步详细说明。
参照图3,图3是本发明的优选实施例的电路原理图和PCB布线图的网表数据以数据结构方式的数据表的示意图。如图所示,本方法的数据结构采取结构加链表方式,将一个网表的连线网络和节点提取整理成两重链表,主链表为网络连接,子链表为节点连接,其中每个网络名用结构表表示,子链表的表头为网络结构表的一个属性。这样的数据结构能支持后续快速的查找、比较、自动剔除和数据重新整理。
在本发明的实施例中,考虑到一般电路图的网表大小一般都在3M以下,而内存通常至少64M,因此,数据不设硬盘上的暂存,数据的存储和使用均直接在内存中处理,以加快处理速度。
图4为本发明的优选实施例的比较电路原理图和PCB布线图的流程图。其流程为首先分同网络名的查找比较一次,如果相同的再比较节点是否一致,并从网络链表中剔除,此部分汲取了以前利用PCB工具比较方法;其次再将数据表中的网络按节点比较,相同的节点再比较此节点所在网络的其它节点一致性;然后将单节点的网络滤除,都比较完毕则表示一致,剩下为差异部分输出显示出来。
本发明的实施例中的显示包括a.连接网络在原理图上而不在PCB布线图上;b.连接网络在PCB布线图上而不在电路原理图上;c.连接网络名相同但仍有部分节点不一致;d.连接网络名不相同但只有部分节点一致。
本发明的实施例中,根据表头样式自动识别不同开发工具和网表的格式,再根据不同格式提取数据,判断和提取完全按模块方式组成程序,可扩展性强。其中开发工具包括目前华为公司用到的的电路原理图和PCB布线图工具,也基本涵盖了业界的几种通用工具。格式包括所有文本方式的网表a.电路原理图格式CAPTURE`S TELESIS、CAPTURE`S PADSPCB、VIEWDRAW FOR ALLEGRO、VIEDRAW FOR PADS、orcad for DOS′s TELESIS;b.PCB工具格式ALLEGRO`S NETIN(NO BACK)、POWERPCB`SNETLIST W/O PIN INFO七种格式。
本发明的实施例中的方法通过软件实现,利用用VC(一种计算机语言)开发,完全在Windows界面运行,动态链接库(DLL)直接固化到程序中,无须安装。
再参照图4,在步骤1,通过对话框选择获取网表路径。在步骤2,将网表进行处理和整理,按如下数据结构处理;<pre listing-type="program-listing">struct detail  {  char*ping;  struct detail*next;  };Struct net  {  char*name;  Struct net*next;  struct detail*daughter;  };</pre>在本发明的实施例中,电路原理图网表中的一个网络“DIN;J1.9R1004.1…”被整理成″detail XX1(J1.9,*XX2);detailXX2(R1004.1,*XX3);net X1(DIN,*X2,*XX1)″格式,其中X为系统自动分配的名称,XX1,XX2,XX3等形成一条同一连接网络下的节点子链;链头XX1的地址又作为一个属性挂到连接网络DIN的上,DIN的网络X1和其他连接网络X2形成连接网络的主链。利用本方法,适合于程序快速查找和剔除相同网络。
在步骤3,根据整理后的两个网表中每一个连接网络名称比较是否一致,在本发明的实施中,电路原理图中有“DIN”,需要看PCB中是否也有一个叫“DIN”的连接网络。如果有到步骤4,如果没有继续比较下一个连接网络。
在步骤4,如果找到DIN的连接网络,再比较下面的节点,如果相同,则剔除,如前面例子中,比较电路原理图与PCB是否有″J1.9,R1004.1″一致;如发现R1004.1一致,J1.9就修改成detail XX1(J1.9,*XX3),表示XX1下一个连接是XX3,XX2就从链上剔除掉。
在步骤5,判断所有连接网络是否比较完毕,如果完毕,进入下一步,否则,重复上述步骤。
在步骤6,取连接网络中的第一个节点到另一网表中比较,在本发明的实施例中,取电路原理图的J1.9到PCB中,看在PCB布线图的哪个连接网络中;在步骤7,找到后,比较连接网络中其他节点是否一致,在本发明的实施例中,继续比较原理图的R1004.1是否在PCB中和J1.9处于同一连接网络内。
在步骤8,直到所有连接网络都比较完毕;在步骤9,将电路原理图或PCB中只有一个节点的连接网络(空连接网络)剔除掉;在步骤10,判断是否存在电路原理图或PCB中经过所有查找都没有找到的网络和节点;在步骤11,如果电路原理图或PCB存在差异的节点,则显示;如果电路原理图或PCB没有差异,显示比较成功没有差异。在本发明的实施例中,输出的结果分类暂存在一个文本文件中,所有比较完成后再打开显示。在应用中,此处也可设计成用表格,图形等模式使输出,以使界面更加漂亮友好。
本发明实现了通过表头格式自动判断工具和网表格式的方法及模块化提取数据方法的可扩展性。例如通过如下表头的差异实现软件自动判断网表格式,头一个字符为“$”且头几行中存在“!”为“VIEWDRAW FORALLEGRO”格式,开头为“*C”为“POWERPCB`S NETLIST W/O PIN INFO”格式。
在本发明的实施例中,一种检查比较电路原理图和印刷线路板(PCB)布线图的装置,包括提取装置,用于提取整理电路原理图和PCB布线图网表中网络和节点数据;和提取电路原理图和/或PCB布线图的网表中的一个连接网络的名称,判断装置,用于判断提取的电路原理图和/或PCB布线图的网表中的所述连接网络名称是否相同,且判断是否所有的连接网络都进行了比较;节点比较装置,用于比较连接网络的节点数据;记录装置,用于记录判断结果与比较结果。
在实施例中,还包括显示装置用于显示判断结果和比较结果。在实施例中显示的内容包括连接网络在原理图上而不在PCB布线图上;连接网络在PCB布线图上而不在电路原理图上;连接网络名相同但仍有部分节点不一致;连接网络名不相同但只有部分节点一致。
在实施例中,提取装置包括用于生成电路原理图的网表的装置和用于生成PCB布线图网表的装置。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种检查比较电路原理图和印刷线路板(PCB)布线图的方法,其特征在于,所述方法包括步骤提取并整理电路原理图和PCB布线图网表中网络和节点数据;提取电路原理图和/或PCB布线图的网表中的一个连接网络的名称;判断提取的所述连接网络名称是否相同,并根据判断结果判断所述提取的节点数据是否相同。
2.如权利要求1所述的方法,其特征在于,所述根据判断结果判断所述提取的节点数据是否相同的步骤包括如果不相同,执行提取连接网络的名称的步骤;如果相同,比较节点数据,如果相同,则剔除,如果不同,则记录;判断是否所有的连接网络都进行了比较,如果否,返回提取连接网络的名称的步骤;如果是,判断电路原理图和PCB布线图的所述连接网络是否相同,如果不同,表明电路原理图和PCB布线图有差异,如果相同,继续判断下一个连接网络是否相同,直到全部连接网络比较完毕。
3.如权利要求2所述的方法,其特征在于,所述判断电路原理图和PCB布线图的所述连接网络是否相同的步骤包括取电路原理图的所述连接网络中的第一个节点与PCB布线图网表的节点比较,或取PCB布线图的所述连接网络中的第一个节点与电路原理图网表的节点比较如果没有相同节点,比较下一个连接网络;如果有相同节点,比较其他节点是否一致;如果全部节点一致,说明该连接网络相同;如果有节点不一致,记录和/或比较下一个连接网络。
4.如权利要求3所述的方法,其特征在于,还包括步骤剔除只有一个节点的连接网络;判断是否存在经过所有查找都没有找到的网络和节点;如果有,记录并显示;如果没有,表明比较完毕,如果全部相同,表明电路原理图和PCB布线图,否则,表明电路原理图和PCB布线图有不同,记录并显示。
5.如权利要求2所述的方法,其特征在于,还包括步骤根据比较结果显示连接网络在电路原理图上而不在PCB布线图上;和/或连接网络在PCB布线图上而不在电路原理图上;和/或连接网络名相同但仍有部分节点不一致;和/或连接网络名不相同但只有部分节点一致。
6.如权利要求1-5之一所述的方法,其特征在于,所述电路原理图或PCB布线图网表中网络和节点数据包括表头,与所述表头有关电路原理图或PCB布线图网络和节点数据,所述数据包括至少一个子表头,该子表头下包括至少两个相关的节点,该网络和节点数据表示网络的结构。
7.如权利要求6所述的方法,其特征在于,还包括步骤利用表头格式自动判断工具和所述的网表格式,判断网络的异同。
8.如权利要求1所述的方法,其特征在于,所述判断电路原理图和PCB布线图的所述连接网络是否相同的步骤包括判断电路原理图和PCB布线图中相同连接网络名的节点与连接是否相同,判断电路原理图和PCB布线图不同连接网络名的所有节点与连接是否相同。
9.一种检查比较电路原理图和印刷线路板(PCB)布线图的装置,其特征在于,包括提取装置,用于提取整理电路原理图和PCB布线图网表中网络和节点数据;和提取电路原理图和/或PCB布线图的网表中的一个连接网络的名称,判断装置,用于判断提取的电路原理图和/或PCB布线图的网表中的所述连接网络名称是否相同,且判断是否所有的连接网络都进行了比较;节点比较装置,用于比较连接网络的节点数据;记录装置,用于记录判断结果与比较结果。
10.如权利要求9所述的装置,其特征在于,还包括显示装置用于显示判断结果和比较结果。
11.如权利要求10所述的装置,其特征在于,所述提取装置包括用于生成电路原理图的网表的装置和用于生成PCB布线图网表的装置。
全文摘要
本发明提供了一种检查比较电路原理图和印刷线路板(PCB)布线图的方法,包括步骤提取并整理网络和节点数据;提取网表中的一个连接网络的名称,判断提取的网表中的所述连接网络名称是否相同,如果不相同,执行提取连接网络的名称的步骤;如果相同,比较节点数据,如果相同,则剔除,如果不同,则记录;判断是否所有的连接网络都进行了比较,如果否,返回提取连接网络的名称的步骤;如果是,判断连接网络是否相同,如果不同,表明有差异,如果相同,继续判断下一个连接网络是否相同,直到全部连接网络比较完毕。本发明提高了效率,减少了成本。
文档编号H05K3/00GK1582088SQ0314377
公开日2005年2月16日 申请日期2003年8月5日 优先权日2003年8月5日
发明者彭裕国 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1