您当前的位置:五五电子网电子知识单片机-工控设备综合-其它编写属于自己的PCB设计规则检查器 正文
编写属于自己的PCB设计规则检查器

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

点击数:7425 次   录入时间:03-04 11:41:52   整理:http://www.55dianzi.com   综合-其它

  CHKBRD _HETERO_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()函数创建,其基本代码实现如下:

www.55dianzi.com

   [列表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。这是正确处理时序分析的方法。

串联终端匹配电阻

图2:串联终端匹配电阻

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

  被许多其它的PCB复制的模板设计也是一个常见问题。为了避免可能的参考标志符冲突,模板设计中的电阻和电容通常可称为 XR1和XC1。在信号完整性工具数据库中,这些器件都必须更改为R10001和C10001(编号略大于原始PCB设计中使用的任何参考标志符)。设计人员可采用由DRC创建的离散器件列表检查到XR和XC参考标志符。

  参考文献:

  1. Luke L. Chang, "Transient Analysis of the VAX 9000 Memory Power Distribution System", Digital Power SystEMS, Fall/Winter 1990

  2. Brian W. Kernighan & Dennis M. Ritchie, "The C Programming Language", 2nd Edition, PrentICe Hall, 1988

  3. Bjarne Stroustrup, "The C++ Programming Language", 3rd Edition, Addison-Wesley, 1997

  4. Luke L. Chang, "Static Timing Analysis of High-speed Boards", IEEE SpeCTRum, March 1997

  Luke L. Chang is a Senior Verification Leader in the Storage Component Division of Intel (HuDSOn, MA). Previously, he has hELD both engineering and management positions at several high-tech companies, in the areas of hardware design/verification and of electronic design automation (EDA).



上一页  [1] [2] [3] 


本文关键字:暂无联系方式综合-其它单片机-工控设备 - 综合-其它

《编写属于自己的PCB设计规则检查器》相关文章>>>