网站大量收购闲置独家精品文档,联系QQ:2885784924

电子设计自动化软件:OrCAD二次开发_(6).OrCAD电气规则检查定制.docx

电子设计自动化软件:OrCAD二次开发_(6).OrCAD电气规则检查定制.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

OrCAD电气规则检查定制

在电子设计自动化(EDA)软件中,电气规则检查(ERC,ElectricalRuleCheck)是确保电路设计正确性和可靠性的重要步骤。OrCAD提供了强大的ERC功能,但有时候默认的检查规则可能无法满足特定项目的需求。因此,了解如何定制ERC规则对于提高设计质量和效率至关重要。

1.ERC的基本概念

ERC是一种自动化的检查工具,可以检测电路设计中可能存在的电气问题,比如短路、开路、未连接的网络、不匹配的电源和地等。通过ERC,设计人员可以快速发现并修复这些问题,从而节省大量时间和精力。

2.OrCAD中的默认ERC规则

OrCAD默认提供了一套基础的ERC规则,这些规则涵盖了大多数常见的电气问题。默认规则包括但不限于:

短路检测:检测同一网络上是否有多个电源或接地符号。

开路检测:检测是否有未连接的网络。

未使用的引脚检测:检测是否有未连接的引脚。

不匹配的电源和地检测:检测电源和地是否正确连接。

飞线检测:检测是否有飞线(即未连接的线段)。

这些规则可以通过OrCAD的ERC设置进行查看和调整。具体步骤如下:

打开OrCADCapture。

选择Tools-ERC。

在弹出的对话框中,选择Rules选项卡。

查看并调整默认规则。

3.定制ERC规则的需求

尽管OrCAD提供了丰富的默认ERC规则,但在实际项目中,设计人员可能需要根据特定的需求定制ERC规则。常见的定制需求包括:

特定项目的要求:不同项目可能有不同的电气规则,例如某些项目要求所有电源引脚必须有滤波电容。

公司标准:公司可能有一套标准的电气规则,需要在所有项目中统一应用。

特殊器件的要求:某些特殊器件可能有特定的电气规则,例如某些模拟器件要求特定的引脚连接方式。

4.定制ERC规则的方法

定制ERC规则可以通过以下几种方法实现:

4.1使用OrCAD的内置规则编辑器

OrCAD提供了一个内置的规则编辑器,可以方便地添加、删除或修改ERC规则。

打开OrCADCapture。

选择Tools-ERC。

在弹出的对话框中,选择Rules选项卡。

点击AddRule按钮,添加新的规则。

选择规则类型,并设置相应的参数。

例如,如果需要添加一个新的规则来检测所有电源引脚是否连接了滤波电容,可以按照以下步骤进行:

点击AddRule按钮。

选择PintoComponent规则类型。

设置PinType为Power。

设置ComponentType为Capacitor。

保存规则。

4.2使用脚本进行规则定制

对于更复杂的规则,可以使用OrCAD的脚本功能来定制。OrCAD支持使用Lisp语言编写脚本,通过脚本可以实现更高级的规则检查。

4.2.1Lisp脚本基础

Lisp是一种功能强大的编程语言,广泛用于电子设计自动化软件的定制。以下是一些基本的Lisp语法:

定义变量:

(setqmy-variable10)

条件判断:

(if(condition)

(do-something)

(do-something-else))

循环:

(dolist(itemlist)

(do-somethingitem))

函数定义:

(defunmy-function(arg1arg2)

(do-somethingarg1arg2))

4.2.2定制ERC规则的脚本示例

假设我们需要定制一个规则,检测所有电源引脚是否连接了滤波电容。以下是一个Lisp脚本示例:

;;定义一个函数来检测电源引脚是否连接了滤波电容

(defuncheck-power-pin-capacitors()

;;获取所有电源引脚

(setqpower-pins(get-pinsPower))

;;遍历每个电源引脚

(dolist(pinpower-pins)

;;获取与电源引脚连接的网络

(setqnet(get-netpin))

;;获取网络上的所有组件

(setqcomponents(get-componentsnet))

;;检查是否有滤波电容

(setqhas-capacitornil)

(dolist(compcomponents)

(if(equal(get-component-typecomp)Capacitor)

(setqhas-capacitort)))

;;如果没有滤波电容,生成错误信息

(if(noth

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档