约束管理器用户手册.docx
- 文档编号:5446795
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:82
- 大小:1.05MB
约束管理器用户手册.docx
《约束管理器用户手册.docx》由会员分享,可在线阅读,更多相关《约束管理器用户手册.docx(82页珍藏版)》请在冰点文库上搜索。
约束管理器用户手册
约束管理器用户手册
本部EDA设计室
2004年3月
第1章约束管理器介绍4
1.1约束管理器简介4
1.2约束管理器界面简介6
1.2.1worksheetselector6
1.2.2用户接口7
1.2.3View选项7
1.3启动约束管理器8
第2章Objects介绍9
2.1Pin-Pairs10
2.1.1Pin-Pair规则10
2.2Nets和Xnets11
2.3Buses11
2.4MatchGroups11
2.4.1如何确定targetpinpair12
2.4.2相对/匹配的群组规则12
2.5DiffPairs13
2.5.1差分对工作表13
2.5.2差分计算器(DifferentialCalculator)的使用方法15
2.5.3差分对规则15
2.6DesignsandSystems16
第3章设置网络的走线约束17
3.1.1设置网络的最大最小传输延迟17
3.1.2设置网络相对传输延迟20
3.1.3设置差分对约束22
3.1.4查看网络规范格式和物理格式24
第4章设置网络的时序和信号完整性约束25
4.1设置时序约束25
4.2设置信号完整性约束26
4.2.1设置电气属性约束27
4.2.2设置反射属性约束28
第5章电子约束创建和应用30
5.1创建ECSet30
5.2指定ECSet给网络35
5.3不考虑ECSet的缺省约束值35
5.4在原理图中查看ECSet36
第6章ECOs实现38
6.1在原理图中增加网络38
6.2在原理图中修改约束40
6.3在约束管理器中修改约束40
6.4在约束管理器中删除约束41
6.5在原理图中重新命名网络41
第7章在原理图和PCB之间同步约束45
7.1从原理图中输出约束45
7.2在Allegro中查看和添加约束45
7.3在原理图中导入并查看约束45
7.4在PCB和原理图之间同步约束的两种模式45
7.4.1用原理图中的约束重写PCB中的约束45
7.4.2在原理图中导入PCB中变更的约束45
第8章约束分析45
8.1查看工作表单元格和对象45
8.2定制约束、定制测量和定制激励45
8.2.1定制约束45
8.2.1.1用户定义的属性45
8.2.1.2约束的定制测量45
第9章SchedulingNets45
9.1SchedulingNets45
9.2SchedulingNets-Revisited45
第10章相对传输延迟45
第11章MatchDelay45
第12章解决DRC冲突45
第13章术语表45
第1章约束管理器介绍
约束管理器是一个交叉的平台,以工作簿和工作表的形式在CadencePCB设计流程中用于管理所有工具的高速电子约束。
约束管理器让你定义、查看和校验从原理图到分析到PCB设计实现的设计流程中每一步的约束。
可以使用约束管理器和SigXplorerExpert开发电路的拓扑并得出电子约束,可以包含定制约束、定制测量和定制激励。
本培训教材描述的主要是怎样在约束管理器中提取约束,并且约束如何与原理图和PCB的属性同步。
本教材的内容是约束管理器、ConceptHDL和Allegro的紧密集成的集锦。
所谓约束就是用户定义的限制条件,当在板上走线和放置元件时会遵守这些约束。
电子约束(ECSets)就是限制PCB上与电行为有关的对象,比如可以设置某个网络最大传输延迟为2ns。
教材主要内容如下:
∙第1章~第7章主要关于原理图约束管理器使用:
∙在约束管理器中提取ECs(电子约束);
∙在原理图和约束管理器中执行ECO;
∙在Concept和Allegro中传递ECs。
这部分面向ConceptHDL的约束管理器的初学者,但是要熟悉ConceptHDL和Allegro。
此教材不讨论ConceptHDL和Allegro不同模式和属性的细节,但是会详细地讨论约束管理器过程。
为了快速理解约束管理器的主要特点,可以看看ConceptHDL的多媒体教材。
请见Help–LearningConceptHDL–DemosinConceptHDL。
将练习文件project.zip解压缩到一个空的路径\design。
确认设置环境变量CONCEPT_INST_DIR到Cadence安装路径(一般安装时设置好了)。
∙第8章~第12章主要关于PCB约束管理器使用,但是省略了与原理图相同的部分。
∙本培训教材附两个练习文件:
project.zip和golderboard.rar。
1.1约束管理器简介
约束管理器是以表格为基础的应用,很容易使用,并且允许创建通用的约束并将其同时应用到很多网络上,如果需求发生改变,可以编辑通用的约束并自动更新用到此约束的网络。
请见图1-1约束管理器界面。
图1-1约束管理器用户界面
在约束管理器,你可以工作在对象(objects)(比如网络、管脚对)和ECSets(Electricalconstraintsets电子约束集)。
你可以以电子约束的形式定义一个或者多个约束以满足设计需求,然后指定合适的约束给设计中对象,如果需求变更可以交换ECSets或者重新定义当前的指定。
一个ECSets可以被很多对象应用,对象和ECSets对于整个设计可以是通用的,或者仅设计中的指定网络应用。
约束管理器的特点请见表1-1:
表1-1约束管理器的特点
特色
优点
对象分组
可以对对象进行分组成为容易管理的单位,例如bus或者matchnet,可以比较容易应用约束给成员
概念性定义
可以先定义概念性的约束,之后再应用于物理的、网络的对象
重新定义约束
不用一一修改每个网络的约束,只要重新定义ECSets,那么所有应用这个约束的对象被同时更新。
交叉检查
你可以用其他工具比如ConceptHDL,SPECCTRAQuest或者Allegro运行约束管理器,在约束管理器中选择Net查看相关的对象,它在原理图、分析、布线里都是动态更新的。
相反,当在某个工具中更改了约束,约束管理器会更新它的值。
拓扑开发(注1)
在约束管理器中可以启动SigXplorer来确定管脚顺序并得出通用的、网络相关的约束。
可以包含定制约束、定制测量和定制激励。
拓扑样本可以导入约束管理器。
设计重用
约束可以被导出被重用。
克隆约束
可以拷贝并修改参数存为另外一个约束。
分析
约束管理器可以完成设计规则检查,有必要的话,还可以进行仿真分析。
分析结果以DRC标记,结果也可以在工作表中显示,还可以与定义的约束进行比较,显示出裕量。
系统级约束
约束管理器能够提取板到板的互连约束。
永久保存
可以保存在板数据中,原理图数据中。
注1:
拓扑模板的存在比约束管理器早,拓扑模板与约束管理器的集成提供一个优选的创建和编辑ECSets的环境。
拓扑模板除了提供图形环境来访问指定的管脚对和定义网络节点排序(scheduling)也可以使用电子约束。
拓扑模板和ECSets可能会交换使用,但是应该注意此功能是可选的。
在约束管理器中可以管理所有的ECSets,并且ECSets可能仅包含规则而没有相关的拓扑。
1.2约束管理器界面简介
请见图1-1,约束管理器包含以下几个部分:
∙menu和icon命令选择
∙worksheetselector用于选择合适的工作表
∙worksheets用于提取、编辑和校验约束
∙statusbar反馈对象选择和约束进程
注意当在约束管理器中选择一个目标时,按右键可以弹出一个上下文敏感的菜单,选择命令执行。
1.2.1worksheetselector
使用worksheetselector启动想要编辑的合适的工作表。
在约束管理器中通过worksheetselector通过Objecttype管理约束和属性。
Objecttype就是最上层的文件夹ElectricalConstraintSet和Net。
请见图1-2。
图1-2Objecttype和Workbooks
在ElectricalConstraintSet文件夹中定义通用的规则,创建通用的对象分组(比如相对或者匹配群组和pin-pair),然后再将这些约束ECSets指定给相应的对象。
在Net文件夹可以创建针对指定网络对象分组(symtem,design,bus,diff-pair,Xnet,net,relativeormatchgroup,andpin-pair)。
也可以创建基于网络相关属性的ECSet。
这个ECSet将放在ElectricalConstraintSet文件夹中。
当扩展ElectricalConstraintSet或者Net文件夹时,工作簿通过设计规则组织这些对象,比如SignalIntegrity,Timing,Routing,andCustomMeasurements,此外在ElectricalConstraintSet文件夹还有一个AllConstraints工作簿,包含所有工作表中的约束。
在AllConstraints的下面有一个User-defined文件夹包含SigXplorer定义的独特的约束。
一般,你定义一个约束在某个指定的工作表中,那么只能设置这个工作表相关的约束,不能设置其他工作表中包含的约束,你可以在AllConstraints工作簿中定义这个约束的其他设置,而不用另外再建一个约束。
在AllConstraints工作簿也可以用于不同工作表中约束的比较。
1.2.2用户接口
Cadence约束管理器的基本操作与Windows基本操作基本相同。
下面仅将快捷键介绍一下。
提供的快捷键如下:
表1-2快捷键
快捷键
功能
F3
FindNext
F9
Analyze
Cntrl+F9
AnalysisModes
Shift+F9
AnalysisSettings
Cntrl+F6
ViewOptions
1.2.3View选项
约束管理器提供很多选项以定义自己的用户界面。
设置View选项
1.在启动约束管理器之前,首先打开项目文件project.cpm,然后打开原理图。
2.在ConceptHDL界面,选择【Tools】/【Constraints】/【Edit】。
弹出约束管理器对话框,提醒使用约束管理器要考虑兼容性。
3.选择【Don’tshowmethemessageagain】单选框。
4.点击OK按钮。
5.点击Yes按钮。
在设计展开之后,启动约束管理器界面。
注意在约束管理器标题栏标识“connectedtoConceptHDL”,表示约束管理器中的约束来自ConceptHDL。
请见图1-3。
图1-3约束管理器界面
6.选择【View】/【Option】命令,进入【ViewOptions】对话框。
【Colors】栏的几个颜色选择对应不用状态的颜色选择:
【Pass】:
当分析结果与指定的约束匹配时显示的颜色。
【Fail】:
当分析结果与指定的约束不匹配时显示的颜色。
【Analysiserror】:
当分析不能完成时显示的颜色,在状态栏会显示错误的原因。
【Directlyset】:
直接对网络相关的约束设置时显示的颜色。
【Usedefaults】:
选择此选项时表示使用缺省设置,如果不选使用用户的设置。
【Usecolors】:
选择此选项时表示使用颜色设置,如果不选不分类显示颜色。
关于【Names】栏的意思以后章节会详细解释。
1.3启动约束管理器
上一节讲了一个启动约束管理器的方法,可以从以下几个工具启动约束管理器:
工具
菜单命令
SPECCTRAQuest,Allegro,
AdvancedPackageDesigner,or
ChipI/OPlanner(后边两个工具我们不用)
Setup–ElectricalConstraintSpreadsheet
ConceptHDL
Tools–Constraints–Edit
也可以点击约束管理器图标
进入约束管理器。
第2章
Objects介绍
上一章已经提过对象(objects)这个词,本章将具体介绍objects。
约束管理器强制执行objects的优先顺序,最顶层的是System,最底层的是pin-pair。
为顶层对象指定的约束会被底层的对象继承,为底层对象指定的同样的约束优先级高于从上层继承的约束。
尽量在高层次指定约束,层次关系如下:
图2-1objects层次图
注意此object层次图描述的是网络相关的对象类型,电子约束对象类型不包括网络相关的信息(Xnet和Net),但是与网络对象类型有同样的优先级。
对象的排序让你尽可能定义约束在最高层次,在低层次仅设置要覆盖的约束。
注意在某个工作表中,对象的子层次反映的分析结果,不会被用于约束优先的层次。
这些对象结果与一般的约束层次是不区分的,但是可以读,不能编辑这些约束。
图2-2多板结构对象层次举例
图2-2描绘了多板system结构,包括主板A_TO_B和两个子板设计A和B。
也包含net,Xnet,diff-pair,和bus对象分组。
2.1Pin-Pairs
Pin-Pair代表一对逻辑连接的管脚,一般是驱动和接收。
Pin-Pairs可能不是直接连接的,但是肯定存在于同一个net或者Xnet(所谓Xnet即网络的中间可能串接电阻或者接插件,比如图2-3中的U1.8到U3.8的连接中间经过了一个电阻,即Xnet,在2.2节会详细讲解。
)。
可以使用pin-pairs来获取net或者Xnet指定的pin-to-pin约束,也可以使用pin-pairs来获取ECSets通用的pin-to-pin约束,如果参考了某个ECSets会自动定义net或者Xnet的pin-pairs。
可以指定pin-pairs(比如U1.8U3.8)或者基于下面的格式直接提取。
当从SigXplorer导入拓扑并应用ECSets给net,约束管理器基于导入的拓扑文件创建net或者Xnet的pin-pairs。
∙Longestpin-pair
∙Longestdriver-receiverpair
∙Alldriver-receiverpairs
图2-3Longestpin-pair
注意:
ConceptHDL数据库不能直接支持pin-pair对象,约束管理器能够更新和校验原理图中的pin-pair约束。
创建pin-pair的方法请见3.1.1节15~19步具体操作。
2.1.1Pin-Pair规则
下面的规则应用于创建Pin-Pairs,Pin-Pairs仅能在以下工作表中创建。
工作簿
工作表
AllConstraints(不可以)
SignalIntegrity/Timing/Routing
Timing
Switch/SettleDelay
Setup/Hold
Routing
Impedance
Min/MaxPropagationdelay
RelativePropagationDelay
∙在对象中一定要存在某个管脚,才能创建相应的pin-pair。
∙在AllConstraints和Timing工作表中的对象一定要有驱动和接收。
∙Pin-pairlength如果已经完成走线则是两个管脚之前走线的长度,如果没走线,就是连接两个管脚的鼠线的曼哈顿距离。
∙约束管理器确定longest/shortestpin-pairlength是基于驱动和接收,如果没有任何驱动和接收,就考虑Xnet。
∙对于相对传输延迟约束,仅仅确定longestpin-pair。
2.2Nets和Xnets
请见图2-4很容易理解Cadence的Nets和Xnets的区别。
所谓nets就是从一个管脚到其他管脚的电子连接。
如果net的中间串了被动的、分立的器件比如电阻、电容或者电感,那么在数据库中每个网络段通过一个独立的net来表示。
约束管理器解释这些网络段作为相邻的扩展的网络或者Xnet。
Xnets在多板连接的结构中也可以贯穿连接器和电缆。
可以将Nets和Xnets与ECSets联系起来。
图2-4Nets和Xnets的区别
2.3Buses
总线代表diff-pairs,Xnets或者nets的指定的集合。
在总线上获取的约束可以被所有总线的成员继承。
,可以通过SigXplorer定义管脚的连接顺序并增加约束信息。
∙Bus规则
∙可以在所有网络相关的工作表中创建总线。
∙当与ConceptHDL关联时,约束管理器不能创建总线。
∙总线一定是design-level,不能是symstem-level。
2.4MatchGroups
MatchGroup是nets,Xnets或者pin-pairs的集合,此集合一定要都匹配(delay或者length)或者相对于组内的一个明确的目标。
如果delta值没有定义,组内的所有成员都将是绝对匹配的,并允许有一定的偏差。
如果定义了delta值,那么组内所有成员将相对匹配于明确的目标网络。
下面的是MatchGroup的必要属性:
∙Target-组内其他pin-pairs都要参考的pin-pair就是目标(Target),可以是默认的也可以是明确指定的pin-pair,其他的pin-pairs都要与这个目标比较。
∙Delta-每个pin-pair成员与目标pin-pair的差值,如果没有指定此差值,那么所有成员就需要匹配,如果定义了此值不为0,则此群组就是一个相对匹配的群组。
∙Tolerance-允许匹配的偏差值。
下面用三个例子来说明不同情况下的匹配群组(绝对的和相对的)。
例1
Net
Target
Delta
Tolerance
Comments
Data1
未指定
未指定
10mil
这个例子中没有参考,所有的网络都必须彼此匹配在10mil之内,如果三个网络中的一个是1000mil,其他两个网络必须在990mil~1010mil之间,delta值未指定(不是0)是绝对的匹配延迟,target也未指定。
Data2
未指定
未指定
10mil
Data3
未指定
未指定
10mil
例2
Net
Target
Delta
Tolerance
Comments
Data1
0mil
10mil
Data3是此群组参考值,所有的网络都必须匹配Data3在10mil之内,如果Data3是1000mil,其他两个网络必须在990mil~1010mil之间,delta值被指定是相对的匹配(传输)延迟。
Data2
0mil
10mil
Data3
X
0mil
10mil
例3
Net
Target
Delta
Tolerance
Comments
Data1
X
100mil
10mil
Data1此群组参考值,所有的网络都必须匹配Data1在100mil之内并加上或者减去指定的偏差值10mil。
如果Data1是1000mil,其他两个网络必须在990mil~1110mil之间,对于相对的匹配(传输)延迟delta和tolerance值被指定。
Data2
100mil
10mil
Data3
100mil
10mil
2.4.1如何确定targetpinpair
一旦pin-pairs中的一对被选择作为目标,其他的pin-pairs都要与此目标以给定的delta和tolerance内来匹配。
约束管理器决定目标pin-pairs的方法如下:
∙明确指定的pin-pair。
∙如果所有的pin-pairs都有delta值,那么有最小delta值的网络就是目标。
如果超过一对管脚对有同样的最小的delta值,那么有最长的曼哈顿长度的网络被选为目标。
∙如果所有的管脚对都没有delta值,那么就没有选择目标,所有的管脚对就进行相互比较。
2.4.2相对/匹配的群组规则
∙MatchGroup仅能在Routing工作簿的RelativePropagationDelay工作表中的指定。
∙可以为整个群组设置相对的/匹配的群组约束,群组中每个成员可以根据要求修改tolerance。
∙相对/匹配的群组之间的延迟可以在system和design一级设置。
∙匹配延迟约束从14.0板数据库升级Delta值为0,暗示所有的群组成员都要匹配一个指定的目标管脚对。
2.5DiffPairs
约束管理器支持两种类型的差分对:
∙模型定义的差分对
可以在器件信号模型中指定差分对,可以使用Allegro,SPECCTRAQuest,SigXplores来将模型指定给相应的元件。
∙用户定义的差分对
可以在约束管理器中Net一级的对象中创建差分对,可以灵活的更改差分对命名和更改差分对成员,但是没有模型指定差分对的精确性。
注意约束管理器不支持系统级的差分对。
2.5.1差分对工作表
可以在Routing工作薄中的DifferentialPair工作表中指定差分对约束,参考图2-5形象的描述出差分对规则检查和分析边界值和事件。
请见图2-6约束管理器差分对工作表界面。
图2-5差分对GatherPoints和CouplingBands
∙UncoupledLength
此值限制差分对的一对网络之间的不匹配的长度。
如果gathercontrol被设置为ignore,则实际不耦合长度包括两个gatherpoint之间的耦合带之外的长度,当超过Max值时,就会产生冲突。
LengthIgnored包含p43。
∙PhaseTolerance
PhaseTolerance约束确保差分对成员在转换时是同向的和同步的。
单位是时间ns或者长度mil。
Actual值反映的是差分对成员间的时间或者长度的差值,当差值超出tolerance值时,就会有冲突。
∙LineSpacing
最小线间距约束指的是差分对之间的最小距离,在分析之后actual指的是间距最小值,如果小于Min值,则会报告冲突。
注意:
设置的最小间距值一定要小于或者等于PrimaryGap减去(-)Tolerance值,也一定要小于或者等于NeckGap减去(-)Tolerance的值。
图2-6差分对工作表
∙Coupling
根据Coupling的约束确定已经完成走线的不耦合事件。
约束管理器使用这些事件去决定不耦合的长度和相位偏差。
差分计算器可以帮助你确定输入进primarygap,neckgap和tolerance的值。
∙PrimaryWidth-设置的是差分对成员的理想宽度。
∙Prima
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 约束 管理器 用户手册