微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 编写属于自己的PCB设计规则检查器

编写属于自己的PCB设计规则检查器

时间:11-06 来源:EETCHINA 点击:

ETERO_ATT ERR 0

但仍有一些问题既不能采用DRC,也不能采用pcbfwd进行检测,如PCB设计中的预期冗余。假定器件包含4个完全相同的 部分,其中两个部分用于设计,那么这些部分既可以封装在相同器件中,也可以出于冗余考虑将其封装在两个器件中。如果只需要一个器件,那么两部分用到的符号 将具有相同的参考标志符(如U4);如果需要两个器件,那么符号将具有不同的参考标志符(如U4和U5),设计人员必须有意识地加以标注。目前尚无检测这 类问题的便捷方法,因此只有通过严谨的设计进行保障。

此外,尽管DRC和/或pcbfwd可以检测符号是否具有所需的几何属性GEOM,但并不能检测其值是否与电路图符号相匹配。例如,ViewDraw符号指定的引脚数目就有可能与Allegro覆盖区的引脚数目不匹配。

这类特殊错误可由Allegro的dev_check进行检测。首先,在ViewDraw电路图上运行pcbfwd工具,创 建Allegro设备文件,该文件连同Allegro覆盖区文件将导入至dev_check。假定引脚68、69和70位于Allegro覆盖区而不在 ViewDraw上,那么dev_check就能检测到该错误。这些引脚可以是不相连引脚,安装孔引脚,甚至是由于失误而仍留在ViewDraw 符号外的POWER/GROUND引脚。不相连引脚和/或安装孔引脚必须赋以NC属性,而POWER/GROUND引脚则必须赋以SIGNAL属性。按这 种方式修正符号,然后重新运行pcbfwd 和dev_check。

最后,DRC输出的质量取决于电路图质量。例如,如果输入引脚被错误地指定为OUT属性,那么DRC将产生错误的出错消息。器件的符号质量应仔细而系统地进行控制,因为该质量将影响其它所有工具。

DRC的其它功能

除了检测违反规则的设计缺陷,DRC还可以创建有助于设计分析的附属输出文件,如前所述。输入切换可通知DRC在每次运行时 是否创建这些文件。尽管这些文件并不包含DRC出错或警告消息,但仍然能标示出潜在的设计问题。例如,一个文件包含了所有网路及每个网路上的负载数目信 息。如果负载数目超出允许值,那么就有可能导致信号完整性问题。PCB设计人员可以迅速地检查该文件以找到潜在的错误。设计人员可以获得尽可能多的附属文 件,下面给出了部分列表。

* 按网路名称排序的网路列表及每个网路所在图表的列表。此外,还可能包含引脚编号和网路连接的符号类型(及其参考标志符)。该文件由drc_net()函数创建并可用于查找网路所在的图表。

* 包含所有网路及每个网路上负载数目的列表,由drc_net()函数创建。为了获取更好的信号完整性,网路上的负载数不应超过8个。

* 跨越图表边界的网路列表。这有助于设计人员在调试中调整设计。

* 具有网路属性的网路及其属性。设计人员可以检验网路是否具有正确的属性,该文件由drc_net()函数创建,其基本代码实现如下:

[列表11]

这里,ignetatt()和igattnxt()是可以获取网路属性的ViewBase例程。igattnam()获取属性名,而net_att则是输出文件的文件指针。

* 未使用引脚列表,这些引脚可以是上拉引脚或下拉引脚。该文件由drc_inst()函数创建,可以报告上拉电阻和下拉电阻信息。

* 所有去耦电容及其容值列表,此外还可能包括这些电容所在的电路图表。设计人员应迅速检验该文件以确保PCB上具有足够多的去耦电容。该文件由drc_inst()函数创建。

* 所有离散器件及其值的列表,如上拉/下拉电阻、传输线终端匹配电阻/电容。此外,还可能包含这些器件所在的电路图表。设计人员可迅速检查器件数目是否合理,该文件由drc_inst()函数创建。

该列表的另一项重要应用则是PCB设计的信号完整性和时序分析[4]。该领域的大多数工具可以通过将所谓的串行元件功能合并 为传输线分析结果并从输出文件中取出这些元件,从而自动处理这些串行元件。图2中的R1就是一个串行终端匹配电阻。当信号完整性工具报告网路延迟时,由于 R1的存在,延迟将由u1.z到u2.i,而不是先从u1.z到 R1.1,再由R1.2到u2.i。这是正确处理时序分析的方法。

然而,为了使信号完整性工具自动识别串行元件,必须满足一些条件。例如,电阻的参考标志符必须以字母R开头,后面紧跟数字, 而电容则必须以字母C开头。另一条件则是每个串行元件符号都必须具有属性值为DISCRETE 的TYPE属性。没有这些条件,这些元件就无法得到正确地处理。

被许多其它的PCB复制的模板设计也是一个常见问题。为了避免可能的参考标志符冲突,模板设计中的电阻和电容通常可称为 XR1和XC1。在信号完整性工具数据库中,这些器件都必须更改为R10001和C10001(编号略大于原始PCB设计中

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top