- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE1
PAGE1
PCB规则与约束二次开发
在PCB设计中,规则和约束是确保电路板的可靠性和性能的重要因素。AltiumNEXUS提供了强大的规则和约束系统,可以自动检查和验证设计中的各种条件,如间距、布线宽度、层数等。然而,对于复杂的设计需求,标准的规则和约束可能无法完全满足。因此,二次开发成为了一种有效的方式来扩展和定制这些规则和约束,以适应特定的设计要求。
1.规则和约束的基本概念
在AltiumNEXUS中,规则和约束是通过设计规则(DesignRules)来实现的。设计规则定义了在PCB设计过程中需要遵守的各种条件,这些条件可以应用于不同类型的对象,如网络、元件、层等。设计规则可以分为多个类别,包括电气规则、放置规则、布线规则、物理规则等。
电气规则:确保电路的电气性能,如最小间距、短路检测、环路检测等。
放置规则:控制元件的放置位置和方向,如元件间距、元件对齐等。
布线规则:定义布线的宽度、间距、层数等,如差分对布线、高速信号布线等。
物理规则:控制PCB的物理特性,如板边间距、钻孔尺寸等。
2.规则与约束的管理
AltiumNEXUS提供了一个规则管理器(RuleManager),可以在其中创建、编辑和删除规则。规则管理器允许用户设置规则的优先级,确保在多个规则冲突时,系统能够正确地应用优先级较高的规则。
2.1创建新的规则
打开PCB编辑器。
选择设计-规则(Design-Rules)。
在规则管理器中,选择要添加规则的类别。
点击新建规则(NewRule)按钮。
设置规则的名称和优先级。
在范围(Scope)选项卡中,定义规则应用的对象范围。
在约束(Constraints)选项卡中,设置具体的约束条件。
例如,创建一个最小间距规则:
规则名称:MinSpacing
优先级:1
范围:所有网络(AllNets)
约束:
-最小间距:10mil
2.2编辑现有规则
打开规则管理器。
选择要编辑的规则。
点击编辑规则(EditRule)按钮。
修改规则的名称、优先级、范围和约束条件。
例如,编辑一个现有布线宽度规则:
规则名称:WidthRule
优先级:2
范围:高速信号网络(HighSpeedSignalNets)
约束:
-布线宽度:20mil
-最小间距:15mil
3.规则与约束的脚本开发
AltiumNEXUS支持通过脚本(Script)来扩展和自定义规则和约束。脚本开发可以使用JavaScript(JScript)或Delphi(DelphiScript)语言。脚本可以动态地创建和应用规则,也可以在设计过程中实时检查和验证设计。
3.1JScript脚本示例
以下是一个JScript脚本示例,用于创建一个最小间距规则:
//创建最小间距规则
varboard=PCBServer.GetCurrentPCBBoard();
varrules=board.Rules;
varminSpacingRule=rules.AddRule(MinSpacing,1);
//设置规则范围
minSpacingRule.SetScope(AllNets);
//设置约束条件
varconstraint=minSpacingRule.Constraints.AddConstraint(MinimumSpacing);
constraint.Value=10*1000;//10mil,单位为纳米
//应用规则
board.ApplyRules();
3.2DelphiScript脚本示例
以下是一个DelphiScript脚本示例,用于创建一个布线宽度规则:
//创建布线宽度规则
var
Board:IPCB_Board;
Rules:IPCB_Rules;
WidthRule:IPCB_Rule;
Constraint:IPCB_Constraint;
begin
Board:=PCBServer.GetCurrentPCBBoard;
Rules:=Board.Rules;
WidthRule:=Rules.AddRule(WidthRule,1);
//设置规则范围
WidthRule.SetScope(HighSpeedSignalNets);
//设置约束条件
Constraint:=WidthRule.Constraints.AddConstraint(Width);
Constraint.Va
您可能关注的文档
- 电力系统优化与调度软件:GAMS二次开发_(10).多目标优化与GAMS实现.docx
- 电力系统优化与调度软件:GAMS二次开发_(11).分布式电源优化调度二次开发.docx
- 电力系统优化与调度软件:GAMS二次开发_(12).电力系统短期与中长期优化调度.docx
- 电力系统优化与调度软件:GAMS二次开发_(13).GAMS二次开发中的高级算法应用.docx
- 电力系统优化与调度软件:GAMS二次开发_(14).电力系统优化案例分析与实践.docx
- 电力系统优化与调度软件:GAMS二次开发_(15).GAMS二次开发工具与环境配置.docx
- 电力系统优化与调度软件:GAMS二次开发_(16).电力系统优化调度的并行计算.docx
- 电力系统优化与调度软件:GAMS二次开发_(17).GAMS二次开发的界面设计与用户交互.docx
- 电力系统优化与调度软件:GAMS二次开发_(18).电力系统优化调度的仿真与验证.docx
- 电力系统优化与调度软件:GAMS二次开发_(19).GAMS二次开发项目管理与版本控制.docx
文档评论(0)