1、111EDA工具手册约束管理器分册2第1章 在原理图和PCB之间同步约束本章学习如何同步从原理图中获取的约束或者从PCB中获取的约束。主要内容如下: 传送电子约束从原理图到PCB 传送电子约束从PCB到原理图 在原理图中重写电子约束加到板上,或者反过来 仅传送变更的电子约束从原理图到PCB或者反过来1.1 从原理图中输出约束一旦完成原理图设计并加了所有的约束,可以传送逻辑到PCB Design板,当创建了PCB板,电子约束也可以传递给PCB。下面就打包一个设计并创建一个PCB文件,此板文件将包含在原理图中添加的所有的约束。从原理图中输出约束1. 点击Concept HDL窗口,选择【File】
2、/【Export Physical】,出现【Export Physical】对话框。2. 确认选择了【Package Design】选项,注意如果原理图中加了新的约束,一定要打包设计,以便约束传递到相关的板。3. 选择【Update Allegro Board (Netrev)】选项。4. 在【Output Board File】栏输入“my_board”。5. 点击按钮。6. 点击按钮,不查看报告。1.2 在PCB Design中查看和添加约束约束管理器是与Concept HDL和PCB Design集成在一起的。PCB工程师可以在PCB Design中启动约束管理器来查看原理图中获取的约束
3、,除了查看,还可以进行以下工作: 在PCB中获取相关的布局和走线的约束 万一发现约束与板上的走线情况不一致时,更新原理图中获取的约束 分析不同约束的值 输出分析结果,原理图设计者可以在约束管理器中查看有没有冲突下面将在PCB Design中启动约束管理器,查看网络RESETL的约束,编辑此网络的Min First Switch约束,并增加Max Xtalk约束在网络上,并将分析这个约束和输出结果。在PCB Design中查看和添加约束7. 点击【Project Manager】界面,点击Layout图标,进入PCB Design界面。8. 选择【Setup】/【Electrical Const
4、raint Spreadsheet】命令,启动约束管理器,注意标题是连接到PCB。9. 在【Net】工作簿,双击【Timing】,打开【Switch/Settle Delays】查找网络RESETL并查看网络属性。10. 改变【Min First Switch】的【Min】值为“0.2500:0.2900”。11. 双击【Signal Integrity】,打开【Estimated Xtalk】工作表,查找网络RESETL。12. 在【Xtalk】的【Max】输入“30:30”。13. 回到PCB Design窗口,选择【File】/【Save】命令。14. 点击按钮,确认覆盖原文件。15.
5、在约束管理器中,选择【Analyze】/【Analyze】命令,查看是否有冲突发生。16. 选择【File】/【Export】/【Analysis results】。17. 点击按钮。1.3 在原理图中导入并查看约束在PCB上添加的约束也要导入原理图中,这就需要保持原理图的逻辑和物理设计同步。可以通过原理图的导入功能来实现物理信息传递到原理中。下面将从原理图中启动导入对话框,导入物理设计信息。并在原理图中查看导入的约束信息。在原理图中导入和查看约束18. 点击原理图窗口,选择【File】/【Import Physical】。19. 选择【Generate Feedback Files】选项。注
6、意板文件为my_board.brd,将要从此文件中读入约束。20. 确认选择了【Backannotate Schematic】选项。21. 点击按钮。22. 点击按钮。23. 选择【Tools】/【Expand Design】命令。24. 在设计ps0的第1页找到网络RESETL。25. 选择【Text】/【Attributes】,并点击网络RESETL,弹出【Attributes】对话框,请见图7-1。图7-1 【Attributes】对话框26. 将属性MAX_XTALK设置为显示。27. 点击按钮。28. 选择【Tools】/【Constraints】/【Update Schematic
7、】命令。29. 点击按钮,确认保存。30. 放大网络RESETL约束显示区域,请见图7-2。图7-2 网络RESETL约束显示1.4 在PCB和原理图之间同步约束的两种模式以下情况很可能发生,在PCB已经创建之后已经附带这所有的约束,可能原理图约束有改动,而同时PCB上的约束也有改动,这时原理图和PCB就没有保持同步。可以使用下面两种模式传递变更: 重写当前的约束当从原理图传递变更到PCB,设计同步会用原理图中的约束将PCB文件中的电子约束全部重写。相似的,当从PCB传递到原理图,设计同步会用PCB中的约束重写原理图中的约束。 仅传递变更的约束当从原理图传递变更到PCB,设计同步仅重写PCB中
8、上次传递之后原理图中变更的约束。相似的,当从PCB传递到原理图,设计同步仅重写原理图中上次传递之后PCB中变更的约束。1.4.1 用原理图中的约束重写PCB中的约束在PCB Design中启动约束管理器增加网络CLK的Min First Switch约束,然后将变更原理图中约束管理器的下列约束: 删除Min Noise Margin 改变Max Overshoot 增加Max Xtalk下面将重写原理图中的变更到PCB中。用原理图中的约束重写PCB中的约束31. 在PCB Design界面启动约束管理器。32. 打开【Switch/Settle Delays】工作表,在网络CLK的【Min F
9、irst Switch】栏的【Min】输入“0.24:0.24”。33. 在约束管理器中选择【File】/【Export】/【Analysis results】。34. 点击PCB Design窗口,选择【File】/【Save】。35. 点击覆盖保存。36. 选择【File】/【Exit】退出PCB Design。37. 进入Concept HDL界面,启动约束管理器。38. 选择【File】/【Import】/【Analysis results】命令,启动【Import Actuals】对话框。39. 双击“my_board.acf”,在PCB Design中的分析结果被导入。40. 打开
10、【Reflection】工作表,针对网络CLK做如下修改:(1) 更改【Overshoot】栏【Max】值为“5200:-600”。(2) 删除【Noise Margin】栏【Min】值。41. 打开【Estimated XTalk】工作表,针对网络CLK设置【XTalk】栏【Max】为“26:25”。42. 选择【File】/【Save】。43. 回到Concept HDL界面,选择【File】/【Save】。44. 选择【File】/【Export Physical】,启动【Export Physical】对话框。45. 在【Electrical Constraints】栏选择【Overw
11、rite current constraints】选项,请见图7-3。图7-3 【Export Physical】对话框设置46. 点击按钮。47. 点击按钮。48. 启动PCB Design,选择【Setup】/【Electrical Constraint Spreadsheet】命令。49. 打开【Reflection】工作表查看,可以看到。【Overshoot】栏【Max】值已经更改为“5200:-600”,并删除【Noise Margin】栏【Min】值。请见图7-4。图7-4 【Reflection】工作表已经被更改50. 打开【Estimated XTalk】工作表,查看网络CLK
12、【XTalk】栏【Max】为“26:25” 已经被设置。51. 打开【Switch/Settle Delays】工作表,之前在PCB Design中添加的网络CLK的【Min First Switch】栏的【Min】的“0.24:0.24”的值已经被删除了,因为此值在原理图中并不存在。 控制约束管理器中的对象如何继承约束信息选择【Tools】/【Option】,打开【Options】对话框,请见图7-5。图7-5 【Options】对话框 Automatic topology update缺省是选择的。当设计变更或者最初参考约束时,控制应用拓扑相关的约束。当选择时,约束管理器随着设计变更会更新
13、约束,当不选择时,需要执行【Tools】/【Update Topology】来更新变更。如果从不选择变为选择,约束管理器提示一个确认信息用更新的拓扑来更新网络的信息。什么时候不希望自动更新呢,当设计变更频繁时和参考比较复杂的ECSets时。 Overwrite existing constraints缺省是不选择的。控制当重新应用ECSet时,ECSet中的约束只是否覆盖已经存在的网络的相关约束。当使用【Audit】/【Topology Templates】命令移植14.0的设计时,一定要选择Overwrite existing constraints。这将确保14.0的拓扑样本被覆盖。 Ri
14、p up etch when mapping topology缺省是不选择的。控制当ECSet重新应用和网络的schedule变更时是否走线和过孔会被移走。1.4.2 在原理图中导入PCB中变更的约束在PCB Design中启动约束管理器变更约束管理器的下列约束: 改变Min First Switch 删除Max Final Settle 增加Max Overshoot下面将变更到PCB的约束导入原理图中。在原理图中导入PCB中变更的约束52. 在PCB Design界面,打开约束管理器。53. 打开【Switch/Settle Delays】工作表,针对网络RESETL改变【Min Firs
15、t Switch】栏的【Min】的“0.25:0.26”,删除【Max Final Settle】栏的【Max】值。54. 打开【Reflection】工作表,针对网络RESETL更改【Overshoot】栏【Max】值为“5200:-600”。55. 回到PCB Design界面,选择【File】/【Save】。56. 点击覆盖保存文件。57. 回到Concept HDL界面,选择【File】/【Import Physical】命令,启动【Import Physical】对话框。58. 在【Electrical constraints】栏,选择【Import changes only】选项,
16、请见图7-5。选择此选项,设计同步会仅导入在PCB Design中电子约束变更的部分。图7-5 【Import Physical】对话框59. 点击按钮。60. 点击按钮。61. 选择【Tools】/【Constraints】/【Update Schematic】命令。62. 选择【Text】/【Attributes】,然后点击网络RESETL,启动属性对话框,请见图7-6。查看属性,MIN_FIRST_SWITCH已经变更,增加了MAX_OVERSHOOT约束,而MAX_FINAL_SETTLE仅有占位符。图7-6 属性对话框63. 点击按钮。第2章 约束分析约束管理器有两种方法分析设计中的
17、约束: 设计规则检查实时设计规则检测是针对routing工作表中的约束,与布局布线做比较结果返回给工作表。如果发生设计规则冲突,约束管理器中相应的单元格显示就会变成红色,此外也会在layout中以蝴蝶结标识出冲突的位置。约束管理器有三种模式的设计规则检查。可以用约束模式对话框的DRC控制(【Analyze】/【Analysis Mode】),也可以指定分析设置,DRC模式和输出期望的报告。这些将在以后的章节详细介绍。 仿真分析仿真分析是针对Signal integrity和timing工作表的。比较计算值和约束值分析结果返回工作表单元格。Margin是差值,Actual是实际值。分析仿真基础的
18、约束,一定要运行在PCB Design或者PCB SI。2.1 查看工作表单元格和对象因为设计的复杂度越来越高,设计中的对象也是越来越多,相应的ECSets的数量也越来越多,约束管理器提供了一些简单的方法改变视图,从而容易的找到关注的对象。任务命令行动定位一个object,一个result或者一个ECSet【Edit】/【Find】查找指定的object可以按照如下内容过滤: Match whole word only Expand hierarchy可以点击或者按F3查找下一个。【Edit】/【Go to source】定位拥有ECSet的上一级对象,比如总线中的一位继承了总线的ECSet,
19、则总线就是parent object。【View】/【Options】/【Row Numbers】在工作表中显示出行号。【Objects】/【Filter】选择显示或者隐藏工作表中的下列对象: net Xnet Pin-pair Results Diff pair Bus Match group控制工作表或者对象的层次【Objects】/【Expand/Collapse】或者使用+或者-扩展或者折叠工作表最差的结果显示在折叠的对象。【View】/【Show All Rows】扩展或者折叠所有的工作表工作在列【Column】/【Sort】或者双击列的表头排列对象或者约束的顺序【View】/【Hi
20、de/Show Column】Resize调整列的宽度比较单元格【Window】/【Tile】比较两个或者更多不同的工作表中的单元格。【Window】/【New Window】比较同一个工作表中的单元格。2.2 定制约束、定制测量和定制激励约束管理器支持定制约束、定制测量和定制激励。如果没有约束管理器,只能从PCB提取网络,然后在SigXplorer中定义定制约束、定制测量和定制激励,每次都要做这些工作很可能会发生错误或者很厌烦。因为约束管理器可以对PCB上所有的网络进行全局的查看,所以应用定制约束、定制测量和定制激励是很简单的。不用在约束管理器中定义定制约束、定制测量和定制激励,仅仅指定、管
21、理和分析它们。在SigXplorer中定义定制约束、定制测量和定制激励,然后保存位拓扑文件然后作为一个ECSet导入约束管理器或者刷新当前的ECSet参考。任何参考ECSet的网络相关的对象都会继承ECSet中定制约束、定制测量和定制激励数据。2.2.1 定制约束除了预先定义的约束,约束管理器也支持用户定义的属性和约束定制测量。2.2.1.1 用户定义的属性可以使用用户定义的属性来获取对象的特性。约束管理器不能完成这些属性的设计规则检查或者分析。可以在PCB Design,PCB SI中使用【Setup】/【Property Definitions】命令来定义属性,也可以在SigXplorer
22、中使用【Set】/【Constraints】/【User-Defined】来定义属性,现在也可以直接在约束管理器中直接定义属性。对于约束管理器去显示或者报告用户定义的属性,一定要用【Column】/【Add】命令在Net相关的工作表中增加一列,并从对话框中选择期望的属性。约束管理器加一列在工作表的最右边并以属性名称作为列的标签。没有Actual和Margin与用户定义的属性相关联。此外,属性显示在ECSet文件夹的All Constraints工作薄中请见图8-1。2.2.1.2 约束的定制测量可以使用定制的测量和定制的激励指定自己的约束,这些约束不同于约束管理器中用户定义的属性,它可以通过设
23、计规则检查和分析校验。可以在SigXplorer中使用表达式编辑器用定义非约束的定制测量的方法来创建约束的定制测量。当选择None作为约束类型时,SigXplorer创建非约束的定制测量。当选择minimum、maximum、min-max或者target:tolerance作为约束类型时,SigXplorer创建约束的定制测量,实际上时用户定义的约束。第3章 Scheduling Nets网络中的节点排序3.1 Scheduling Nets可以使用PCB Design和约束管理器将schedule应用于多个网络。在这一节中将根据图8-1重新调整网络A3的节点顺序,并使用约束管理器将拓扑传递
24、给相似的网络。图9-1 简单的网络节点排序网络中的节点排序64. 启动PCB Design打开文件lesson1.brd。65. 选择【Display】/【Blank Rats】/【All】,隐藏所有网络鼠线。66. 选择【Setup】/【Electrical Constraint Spreadsheet】启动约束管理器,点击按钮。67. 选择【Net】文件夹【Routing】工作簿下面的【Wiring】工作表,请见图9-2。图9-2 选择【Wiring】工作表68. 回到PCB Design界面,选择【Display】/【Show Rats】/【Net】。69. 回到约束管理器,右键点击【O
25、bjects】栏下面的网络A3,在弹出的菜单选择【select】命令。70. 回到PCB Design界面,查看网络A3的鼠线已经显示出来,右键点击在弹出的菜单选择【Done】。下面将完成网络节点的重新排序,请见图9-3是排序前和重新排序后的网络鼠线。图9-3 排序前和重新排序后的网络鼠线71. 选择【Logic】/【Net Schedule】。72. 点击J1的pin 64,移动鼠标,鼠线附在鼠标上。73. 点击U2的pin 52。74. 点击U18的pin 10。75. 再点击U2的pin 52。76. 右键点击在弹出的菜单选择【Insert T】命令。77. 点击加上T-point。78
26、. 点击U14的pin 8。79. 点击T-point。80. 点击U15的pin 8。81. 右键点击在弹出的菜单选择【Done】命令。下面开始创建一个ECSet以便将此网络排序应用到相似的网络。82. 回到约束管理器界面,注意网络A3的topology schedule已经被定义为“UserDefined”,并显示为蓝色。83. 右键点击网络A3选择【Creat】/【Electrical CSet】命令,在弹出的菜单选择【Creat】/【Electrical CSet】命令,出现了【Creat Electrical CSet】对话框。84. 确认选择了【Copy Constraints F
27、rom:】选项,输入ECSet名“a_constraints”,点击按钮。新创建的ECSet继承了网络A3的信息。85. 选择网络A2A23,右键点击在弹出的菜单选择【Electrical Cset References】。出现【Electrical Cset References】对话框。86. 在下拉菜单选择“a_constraints”,点击按钮。出现【Electrical Cset Apply Information】对话框。87. 查看报告文件,网络A16到A23都有error,网络的管脚数量与ECSet的管脚数不匹配。点击按钮,关闭报告。请见图9-4。图9-4 约束显示88. 注意
28、网络A16到A23对应的【Referenced Electrical CSet】都是红色显示的,将鼠标放在网络A16对应的【Referenced Electrical CSet】栏,查看状态栏显示信息。89. 右键点击网络A16对应的【Referenced Electrical CSet】栏,在弹出的菜单选择【Audit Electrical CSet】,查看报告,点击按钮,关闭报告。90. 注意查看网络A3的【Schedule】的信息为“UserDefined”。因为网络A16A23不能映射ECSet的schedule,下面将参考的ECSet去掉。91. 选择网络A16A23的【Refere
29、nced Electrical CSet】栏,点击右键在弹出的菜单选择【Clear】。注意:约束管理器中网络A2A15的【Actual】和【Margin】栏是黄色的,暗示着不对当前的设置做分析。有些约束(信号完整性和时序)需要仿真来计算【Actual】值。当【Actual】值被计算并返回工作表,此值与指定的约束值做比较,差值显示在【Margin】栏。其他的约束比如topology schedule简单的生成一个pass/fail状态。92. 移动鼠标放在网络A2A15的【Actual】栏,查看状态栏显示“DRC analysis mode is not on”。选择【Analyze】/【Ana
30、lysis Modes】命令,出现【Annlysis Mode】对话框。93. 选择【Stub length/Net】选项“On”,确认选择了【on-line DRC】。94. 点击按钮。95. 右键点击【Topology】的【Actual】栏,在弹出的菜单选择【Analyze】命令分析拓扑。查看此栏显示依然为黄色。96. 将鼠标放在黄色区域,观察状态栏显示“Verify scheduleis not set to YES”。可以用几种方法将【Verify Schedule】栏设置为“YES”。Net-by-net即每次点击一个网络的【Verify Schedule】栏,在下拉列表选择“YES
31、”。By range即一次选中很多网络,然后点击网络的【Verify Schedule】栏,在下拉列表选择“YES”。By object grouping先创建一个“bus”然后点击网络的【Verify Schedule】栏,在下拉列表选择“YES”。Alter an ECSet在【Electrical Constraint Set】文件夹的【All Constraints】工作薄,点击ECSet的【Verify Schedule】栏选择“YES”。所有的参考此ECSet的网络都会继承这个信息并更新。97. 按照上述第4个方法将【Verify Schedule】栏选择“YES”。查看约束管理器【Net】文件夹下面的网络A2A15的显示已经有分析的结果。请见图9-5。图9-5 分析结果3.2 Scheduling Nets-Revisi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1