* 非法网路名。如果网路名由ViewDraw自动分配,那么将具有如下格式:$#...#N#...#,第一个#...#表示图表编号,第二个#...#则表示网路号。PCB设计人员指定的网路名必须以字母开头,其后的字符数不多于30。
drc_net()函数应调用legal_net_name()函数执行该任务。在UNIX系统中,利用包含在DRC程序中的regexp.h头文件可以极大地简化采用C语言编写的常规表达式匹配/校验程序。drc_net()应将网路名称共模电感变量和违反设计规则的文件指针存储在legal_net_name()函数中,该函数具有如下形式:
[列表5]
后端封装工具pcbfwd也可检测非法网路名,但其功能受限于简单的常规表达式。上述代码可处理任何常规表达式,同样地,如何在运行pcbfwd工具之前或之后找到非法网路名称也需要权衡。对于简单的网路名称,可以使用pcbfwd。
* 网路上的总线竞争也是严重问题。总线竞争有两类:一类是图腾柱输出间的总线竞争,而另一类则是图腾柱与三态输出间的总线竞争。基本代码实现如下所示:
[列表6]
这里,ignetpin()和igpinnnx()函数是在网路上检查每个引脚的ViewBase例程。igpinown()例程返回引脚实例(系主)指针。函数get_inst_attr()、get_pin_attr() 和get_sheet_num()则返回请求实例属性(参考标志符REFDES)、引脚属性(PINTYPE)及引脚实例所在的图表编号。get_pin_attr()函数的基本代码如下:
薄膜电感
[列表7]
get_inst_attr()函数的基本代码如下:
[列表8]
电感器生产
get_sheet_num()函数的基本代码如下:
[列表9]
* POWER和GROUND网路中的非法名称。这些名称将与存储在内部数据结构中的信息(如链接列表)进行比较。
* 报告那些具有负载但不具有驱动程序或者具有驱动程序但不具有负载的网路。这可以通过标注网路上每个引脚的类型加以实现。网路应当带有1个输出引脚或多个三态输出引脚及最少一个输入引脚,此外还可提供与网路全部器件和引脚相关的参考标志符和符号。
* 报告那些不带上拉电阻或所带上拉电阻未连接到POWER的所有集电极开路输出。
* 一旦网路的负载超过常规数目(良好的信号完整性条件下限额为8),那么将打印警告信息。
DRC开发:drc_inst()函数
drc_inst()函数与drc_net()函数类似,不同的是,前者遍历了全部电路图表及PCB设计中电路图表上的所有实例,从而检测违反规则的设电感生产厂家计缺共模电感陷或创建附属的输出文件。其代码实现如下:
[列表10]
上面关于drc_net()函数的讨论提供了充分的C和ViewBase代码示例,这里就不在赘述。下面给出了drc_inst()函数可检测的部分违反规则的设计缺陷:
* 非法或遗漏的符号库混淆。PCB设计中的所有符号必须来自共同符号库,使用来自错误符号库的符号是一个极为常见的错误,尤其是对于那些只依赖于符号进行设计的后端处理工具。
* 遗失符号和/或引脚属性,例如那些描述器件几何结构和引脚类型(in、out、bi和tri)的特性。
用示波器测量福特福克斯智能交流发电机波形什么是福克斯智能交流发电机:福特福克斯智能交流发电机是第一个引进由发动机的ECM或动力控制模块(PCM)电子控制的交流发电机系统,这种称为“智能充电”系统,现在大多数汽车厂都是 柔性屏幕的优点与未来挑战 4月08日 第三届·无线通信技术研讨会 立即报名 12月04日 2015•第二届中国IoT大会 精彩回顾 10月30日ETF•智能硬件开发技术培训会 精彩回顾 10月23日ETF•第三届 消费 基于MCU+DSP的运动控制硬件平台设计 引言开放式控制器体系结构源于“开放式”的PC(个人计算机) 技术, 目前的开放式运动控制器多为PC+运动控制卡结构, 随着MCU(微控制器) 和DSP(数字信号处理器)性能的增强, MUC和DSP取
5/7 首页 上一页 3 4 5 6 7 下一页 尾页
|