《eda工具手册》约束管理器分册

上传人:e****s 文档编号:139106364 上传时间:2022-08-22 格式:DOC 页数:77 大小:1.78MB
返回 下载 相关 举报
《eda工具手册》约束管理器分册_第1页
第1页 / 共77页
《eda工具手册》约束管理器分册_第2页
第2页 / 共77页
《eda工具手册》约束管理器分册_第3页
第3页 / 共77页
点击查看更多>>
资源描述
目录第一章 约束管理器介绍41.1约束管理器简介41.2约束管理器界面简介81.2.1worksheet selector81.2.2用户接口91.2.3View选项91.3启动约束管理器11第2章OBJECTS介绍122.1Pin-Pairs132.1.1Pin-Pair规则142.2Nets和Xnets142.3Buses152.4Match Groups152.4.1如何确定target pin pair162.4.2相对/匹配的群组规则162.5Diff Pairs162.5.1差分对工作表172.5.2差分计算器(Differential Calculator)的使用方法192.5.3差分对规则192.6Designs and Systems20第3章设置网络的走线约束213.1.1设置网络的最大最小传输延迟213.1.2设置网络相对传输延迟243.1.3设置差分对约束263.1.4查看网络规范格式和物理格式28第4章设置网络的时序和信号完整性约束304.1设置时序约束304.2设置信号完整性约束324.2.1设置电气属性约束324.2.2设置反射属性约束33第5章电子约束创建和应用355.1创建ECSet355.2指定ECSet给网络405.3不考虑ECSet的缺省约束值415.4在原理图中查看ECSet41第6章ECOS实现436.1在原理图中增加网络436.2在原理图中修改约束456.3在约束管理器中修改约束466.4在约束管理器中删除约束466.5在原理图中重新命名网络47第7章在原理图和PCB之间同步约束507.1从原理图中输出约束507.2在PCB Design中查看和添加约束507.3在原理图中导入并查看约束517.4在PCB和原理图之间同步约束的两种模式527.4.1用原理图中的约束重写PCB中的约束537.4.2在原理图中导入PCB中变更的约束56第8章约束分析588.1查看工作表单元格和对象588.2定制约束、定制测量和定制激励598.2.1定制约束598.2.1.1 用户定义的属性598.2.1.2 约束的定制测量59第9章SCHEDULING NETS619.1Scheduling Nets619.2Scheduling Nets-Revisited65第10章相对传输延迟68第11章MATCH DELAY73第12章解决DRC冲突74第13章约束管理器7613.1层次设计中的电子约束76第一章 约束管理器介绍约束管理器是一个交叉的平台,以工作簿和工作表的形式在Cadence PCB设计流程中用于管理所有工具的高速电子约束。约束管理器让你定义、查看和校验从原理图到分析到PCB设计实现的设计流程中每一步的约束。可以使用约束管理器和SigXplorer Expert开发电路的拓扑并得出电子约束,可以包含定制约束、定制测量和定制激励。本培训教材描述的主要是怎样在约束管理器中提取约束,并且约束如何与原理图和PCB的属性同步。本教材的内容是约束管理器、Concept HDL和PCB Design的紧密集成的集锦。所谓约束就是用户定义的限制条件,当在板上走线和放置元件时会遵守这些约束。电子约束(ECSets)就是限制PCB上与电行为有关的对象,比如可以设置某个网络最大传输延迟为2ns。教材主要内容如下: 第1章第7章主要关于原理图约束管理器使用: 在约束管理器中提取ECs(电子约束); 在原理图和约束管理器中执行ECO; 在Concept和PCB Design中传递ECs。这部分面向Concept HDL的约束管理器的初学者,但是要熟悉Concept HDL和PCB Design。此教材不讨论Concept HDL和PCB Design不同模式和属性的细节,但是会详细地讨论约束管理器过程。为了快速理解约束管理器的主要特点,可以看看Concept HDL的多媒体教材。请见Help Learning Concept HDL Demos in Concept HDL。将练习文件project.zip解压缩到一个空的路径design。确认设置环境变量CONCEPT_INST_DIR到Cadence安装路径(一般安装时设置好了)。 第8章第12章主要关于PCB约束管理器使用,但是省略了与原理图相同的部分。 本培训教材附两个练习文件:project.zip和golderboard.rar。1.1 约束管理器简介约束即用户定义的附加到网络或者管脚对上的要求,电子约束管理着网络和管脚对的行为。可以使用约束管理器来提取和管理电子约束。Cadence推荐使用约束管理器来提取约束,因为约束管理器有下列特性: 提供工作表为基础的用户接口,允许快速的提取、修改、删除约束。 支持语法检查 支持约束继承,高层的约束可以被继承,低层的约束可以覆盖高层约束。 可以定义电子约束集。 创建约束报告。约束管理器在流程中的位置和作用请见下图:加入约束管理器的设计流程请见下图:在下图中约束管理器保存电子约束信息在根设计一个新的目录下,约束视图包含*.dcf文件,里面包含设计的电子约束信息。在此流程中,在打包时Packager-XL创建5个pst*.dat文件,包含传统设计流程中的3个文件(pstchip.dat, pstxprt.dat, pstxnet.dat),还有两个文件pstcmdb.dat, pstcmbc.dat。pstcmdb.dat包含当前设计中的电子约束,是constraints视图中的*.dcf文件的拷贝。pstcmbc.dat包含的是板中的约束,在执行import physical时产生的。如果没有*.dcf存在,Packager-XL就允许在传统的流程。约束管理器是以表格为基础的应用,很容易使用,并且允许创建通用的约束并将其同时应用到很多网络上,如果需求发生改变,可以编辑通用的约束并自动更新用到此约束的网络。请见图1-1约束管理器界面。 图1-1 约束管理器用户界面在约束管理器,你可以工作在对象(objects)(比如网络、管脚对)和ECSets(Electrical constraint sets电子约束集)。你可以以电子约束的形式定义一个或者多个约束以满足设计需求,然后指定合适的约束给设计中对象,如果需求变更可以交换ECSets或者重新定义当前的指定。一个ECSets可以被很多对象应用,对象和ECSets对于整个设计可以是通用的,或者仅设计中的指定网络应用。约束管理器的特点请见表1-1:表1-1 约束管理器的特点特色优点对象分组可以对对象进行分组成为容易管理的单位,例如bus或者match net,可以比较容易应用约束给成员概念性定义可以先定义概念性的约束,之后再应用于物理的、网络的对象重新定义约束不用一一修改每个网络的约束,只要重新定义ECSets,那么所有应用这个约束的对象被同时更新。交叉检查你可以用其他工具比如Concept HDL,PCB SI或者PCB Design运行约束管理器,在约束管理器中选择Net查看相关的对象,它在原理图、分析、布线里都是动态更新的。相反,当在某个工具中更改了约束,约束管理器会更新它的值。拓扑开发(注1)在约束管理器中可以启动SigXplorer来确定管脚顺序并得出通用的、网络相关的约束。可以包含定制约束、定制测量和定制激励。拓扑样本可以导入约束管理器。设计重用约束可以被导出被重用。克隆约束可以拷贝并修改参数存为另外一个约束。分析约束管理器可以完成设计规则检查,有必要的话,还可以进行仿真分析。分析结果以DRC标记,结果也可以在工作表中显示,还可以与定义的约束进行比较,显示出裕量。系统级约束约束管理器能够提取板到板的互连约束。永久保存可以保存在板数据中,原理图数据中。注1: 拓扑模板的存在比约束管理器早,拓扑模板与约束管理器的集成提供一个优选的创建和编辑ECSets的环境。拓扑模板除了提供图形环境来访问指定的管脚对和定义网络节点排序(scheduling)也可以使用电子约束。拓扑模板和ECSets可能会交换使用,但是应该注意此功能是可选的。在约束管理器中可以管理所有的ECSets,并且ECSets可能仅包含规则而没有相关的拓扑。1.2 约束管理器界面简介请见图1-1,约束管理器包含以下几个部分: menu和icon命令选择 worksheet selector用于选择合适的工作表 worksheets用于提取、编辑和校验约束 status bar反馈对象选择和约束进程注意当在约束管理器中选择一个目标时,按右键可以弹出一个上下文敏感的菜单,选择命令执行。1.2.1 worksheet selector使用worksheet selector启动想要编辑的合适的工作表。在约束管理器中通过worksheet selector通过Object type管理约束和属性。Object type就是最上层的文件夹Electrical Constraint Set和Net。请见图1-2。图1-2 Object type 和Workbooks在Electrical Constraint Set文件夹中定义通用的规则,创建通用的对象分组(比如相对或者匹配群组和pin-pair),然后再将这些约束ECSets指定给相应的对象。在Net文件夹可以创建针对指定网络对象分组(symtem,design,bus,diff-pair,Xnet,net,relative or match group,and pin-pair)。也可以创建基于网络相关属性的ECSet。这个ECSet将放在Electrical Constraint Set文件夹中。当扩展Electrical Constraint Set或者Net文件夹时,工作簿通过设计规则组织这些对象,比如Signal Integrity, Timing, Routing, and Custom Measurements,此外在Electrical Constraint Set文件夹还有一个All Constraints工作簿,包含所有工作表中的约束。在All Constraints的下面有一个User-defined文件夹包含SigXplorer定义的独特的约束。一般,你定义一个约束在某个指定的工作表中,那么只能设置这个工作表相关的约束,不能设置其他工作表中包含的约束,你可以在All Constraints工作簿中定义这个约束的其他设置,而不用另外再建一个约束。在All Constraints工作簿也可以用于不同工作表中约束的比较。1.2.2 用户接口Cadence约束管理器的基本操作与Windows基本操作基本相同。下面仅将快捷键介绍一下。提供的快捷键如下:表1-2 快捷键快捷键功能F3Find NextF9AnalyzeCntrl+F9Analysis ModesShift+F9Analysis SettingsCntrl+F6View Options1.2.3 View选项约束管理器提供很多选项以定义自己的用户界面。设置View选项1. 在启动约束管理器之前,首先打开项目文件project.cpm,然后打开原理图。2. 在Concept HDL界面,选择【Tools】/【Constraints】/【Edit】。弹出约束管理器对话框,提醒使用约束管理器要考虑兼容性。3. 选择【Dont show me the message again】单选框。4. 点击OK按钮。5. 点击Yes按钮。在设计展开之后,启动约束管理器界面。注意在约束管理器标题栏标识“connected to Concept HDL”,表示约束管理器中的约束来自Concept HDL。请见图1-3。图1-3 约束管理器界面6. 选择【View】/【Option】命令,进入【View Options】对话框。【Colors】栏的几个颜色选择对应不用状态的颜色选择:【Pass】:当分析结果与指定的约束匹配时显示的颜色。【Fail】:当分析结果与指定的约束不匹配时显示的颜色。【Analysis error】:当分析不能完成时显示的颜色,在状态栏会显示错误的原因。【Directly set】:直接对网络相关的约束设置时显示的颜色。【Dividers】:规定Objects集的分隔显示的颜色。【Use defaults】:选择此选项时表示使用缺省设置,如果不选使用用户的设置。【Use colors】:选择此选项时表示使用颜色设置,如果不选不分类显示颜色。关于【Names】栏的意思以后章节会详细解释。1.3 启动约束管理器上一节讲了一个启动约束管理器的方法,可以从以下几个工具启动约束管理器:工具菜单命令PCB SI, PCB Design,Advanced Package Designer, orChip I/O Planner(后边两个工具我们不用)Setup Electrical Constraint SpreadsheetConcept HDL Tools Constraints Edit也可以点击约束管理器图标进入约束管理器。第2章 Objects介绍上一章已经提过对象(objects)这个词,本章将具体介绍objects。约束管理器强制执行objects的优先顺序,最顶层的是System,最底层的是pin-pair。为顶层对象指定的约束会被底层的对象继承,为底层对象指定的同样的约束优先级高于从上层继承的约束。尽量在高层次指定约束,层次关系如下:图2-1 Objects层次图注意此Object层次图描述的是网络相关的对象类型,电子约束对象类型不包括网络相关的信息(Xnet和Net),但是与网络对象类型有同样的优先级。对象的排序让你尽可能定义约束在最高层次,在低层次仅设置要覆盖的约束。注意在某个工作表中,对象的子层次反映的分析结果,不会被用于约束优先的层次。这些对象结果与一般的约束层次是不区分的,但是可以读,不能编辑这些约束。图2-2 多板结构对象层次举例图2-2描绘了多板system结构,包括主板A_TO_B和两个子板设计A和B。也包含net,Xnet,diff-pair,和bus对象分组。2.1 Pin-PairsPin-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.8 U3.8)或者基于下面的格式直接提取。当从SigXplorer导入拓扑并应用ECSets给net,约束管理器基于导入的拓扑文件创建net或者Xnet的pin-pairs。 Longest pin-pair Longest driver-receiver pair All driver-receiver pairs图2-3 Longest pin-pair注意:Concept HDL数据库不能直接支持pin-pair对象,约束管理器能够更新和校验原理图中的pin-pair约束。创建pin-pair的方法请见3.1.1节1519步具体操作。2.1.1 Pin-Pair规则下面的规则应用于创建Pin-Pairs,Pin-Pairs仅能在以下工作表中创建。工作簿工作表All Constraints(不可以)Signal Integrity/Timing/RoutingTimingSwitch/Settle DelaySetup/HoldRoutingImpedanceMin/Max Propagation delayRelative Propagation Delay 在对象中一定要存在某个管脚,才能创建相应的pin-pair。 在All Constraints和Timing工作表中的对象一定要有驱动和接收。 Pin-pair length如果已经完成走线则是两个管脚之前走线的长度,如果没走线,就是连接两个管脚的鼠线的曼哈顿距离。 约束管理器确定longest/shortest pin-pair length是基于驱动和接收,如果没有任何驱动和接收,就考虑Xnet。 对于相对传输延迟约束,仅仅确定longest pin-pair。2.2 Nets和Xnets请见图2-4很容易理解Cadence的Nets和Xnets的区别。所谓nets就是从一个管脚到其他管脚的电子连接。如果net的中间串了无源的、分立的器件,比如电阻、电容或者电感,那么在数据库中每个网络段通过一个独立的net来表示。约束管理器解释这些网络段作为相邻的扩展的网络或者Xnet,Xnets在多板连接的结构中也可以贯穿连接器和电缆。可以将Nets和Xnets与ECSets联系起来。图2-4 Nets和Xnets的区别2.3 Buses总线代表diff-pairs,Xnets或者nets的指定的集合。在总线上获取的约束可以被所有总线的成员继承,可以通过SigXplorer定义管脚的连接顺序并增加约束信息。 Bus规则 可以在所有网络相关的工作表中创建总线。 当与Concept HDL关联时,约束管理器不能创建总线。 总线一定是design-level,不能是system-level。2.4 Match GroupsMatch Group是nets,Xnets或者pin-pairs的集合,此集合一定要都匹配(delay或者length)或者相对于组内的一个明确的目标。如果delta值没有定义,组内的所有成员都将是绝对匹配的,并允许有一定的偏差。如果定义了delta值,那么组内所有成员将相对匹配于明确的目标网络。下面的是Match Group的必要属性: Target组内其他pin-pairs都要参考的pin-pair就是目标(Target),可以是默认的也可以是明确指定的pin-pair,其他的pin-pairs都要与这个目标比较。 Delta每个pin-pair成员与目标pin-pair的差值,如果没有指定此差值,那么所有成员就需要匹配,如果定义了此值不为0,则此群组就是一个相对匹配的群组。 Tolerance允许匹配的偏差值。下面用三个例子来说明不同情况下的匹配群组(绝对的和相对的)。例1NetTargetDeltaToleranceCommentsData1未指定未指定10mil这个例子中没有参考,所有的网络都必须彼此匹配在10mil之内,如果三个网络中的一个是1000mil,其他两个网络必须在990mil1010mil之间,delta值未指定(不是0)是绝对的匹配延迟,target也未指定。Data2未指定未指定10milData3未指定未指定10mil例2NetTargetDeltaToleranceCommentsData10mil10milData3是此群组参考值,所有的网络都必须匹配Data3在10mil之内,如果Data3是1000mil,其他两个网络必须在990mil1010mil之间,delta值被指定是相对的匹配(传输)延迟。Data20mil10milData3X0mil10mil例3NetTargetDeltaToleranceCommentsData1X100mil10milData1此群组参考值,所有的网络都必须匹配Data1在100mil之内并加上或者减去指定的偏差值10mil。如果Data1是1000mil,其他两个网络必须在990mil1110mil之间,对于相对的匹配(传输)延迟delta和tolerance值被指定。Data2100mil10milData3100mil10mil2.4.1 如何确定target pin pair一旦pin-pairs中的一对被选择作为目标,其他的pin-pairs都要与此目标以给定的delta和tolerance内来匹配。约束管理器决定目标pin-pairs的方法如下: 明确指定的pin-pair。 如果所有的pin-pairs都有delta值,那么有最小delta值的网络就是目标。如果超过一对管脚对有同样的最小的delta值,那么有最长的曼哈顿长度的网络被选为目标。 如果所有的管脚对都没有delta值,那么就没有选择目标,所有的管脚对就进行相互比较。2.4.2 相对/匹配的群组规则 Match Group仅能在Routing工作簿的Relative Propagation Delay工作表中的指定。 可以为整个群组设置相对的/匹配的群组约束,群组中每个成员可以根据要求修改tolerance。 相对/匹配的群组之间的延迟可以在system和design一级设置。 匹配延迟约束从14.0版数据库升级Delta值为0,暗示所有的群组成员都要匹配一个指定的目标管脚对。2.5 Diff Pairs约束管理器支持两种类型的差分对: 模型定义的差分对可以在器件信号模型中指定差分对,可以使用PCB Design,PCB SI,SigXplores来将模型指定给相应的元件。 用户定义的差分对可以在约束管理器中Net一级的对象中创建差分对,可以灵活的更改差分对命名和更改差分对成员,但是没有模型指定差分对的精确性。注意约束管理器不支持系统级的差分对。2.5.1 差分对工作表可以在Routing工作薄中的Differential Pair工作表中指定差分对约束,参考图2-5形象的描述出差分对规则检查和分析边界值和事件。请见图2-6约束管理器差分对工作表界面。图2-5 差分对Gather Points和Coupling Bands Pin Delay此值指一对网络之间管脚封装上的延迟,单位是时间ns或者长度mil。 Uncoupled Length此值限制差分对的一对网络之间的不匹配的长度。如果gather control被设置为ignore,则实际不耦合长度包括两个gather point之间的耦合带之外的长度,当超过Max值时,就会产生冲突。Length Ignored包含p43。 Phase TolerancePhase Tolerance约束确保差分对成员在转换时是同向的和同步的 。单位是时间ns或者长度mil。Actual值反映的是差分对成员间的时间或者长度的差值 ,当差值超出tolerance值时,就会有冲突。 Line Spacing最小线间距约束指的是差分对之间的最小距离,在分析之后actual指的是间距最小值,如果小于Min值,则会报告冲突。注意:设置的最小间距值一定要小于或者等于Primary Gap减去(-)Tolerance值,也一定要小于或者等于Neck Gap减去(-)Tolerance的值。图2-6 差分对工作表 Coupling根据Coupling 的约束确定已经完成走线的不耦合事件。约束管理器使用这些事件去决定不耦合的长度和相位偏差。差分计算器可以帮助你确定输入进primary gap,neck gap和tolerance的值。 Primary Width设置的是差分对成员的理想宽度。 Primary Gap设置的是差分对之间的边到边理想间距。(+/-)tolerance值是允许的偏差值,如果间距偏差在范围内,差分对被认为是耦合的。 Neck Width设置的是最小可允许的差分线宽度,当在比较密集的区域走线时,要切换到Neck模式。 Neck Gap设置的是最小可允许的边到边差分线间距,当在比较密集的区域走线时,要切换到Neck模式。最小可允许的gap包括Neck Gap减去(-)Tolerance。当差分对的间距低于ECSet指定给差分对网络的Min neck width规则值时,Neck Gap覆盖任何Primary Gap值。 确保neck gap不要低于任何Min line spaing值。 如果设置了(-)tolerance值,不需要定义neck gap ,因为已经说明了需要的neck gap。2.5.2 差分计算器(Differential Calculator)的使用方法使用差分计算器可以完成综合线宽和线距的计算以获得特殊的差分阻抗。在约束管理器中右键点击Primary Gap,Neck Gap,或者(+/-)tolerance相应的单元格,在弹出的菜单选择Change命令,然后点击按钮,即可启动差分计算器。图2-7 差分计算器差分计算器仅能完成边对边耦合的差分对计算。2.5.3 差分对规则分模型定义的差分对和用户定义的差分对来说明:模型定义的差分对用户定义的差分对可以在PCB Design,PCB SI中使用Analyze-SI/EMIsim-Model命令进行创建。(注1)可以PCB Design,PCB SI中在约束管理器中使用Creat-Differential Pair命令创建,也可以使用Logic-Assign Differential Pair命令创建。在高速设计流程中首选采用模型定义差分对,因为带有独特的差分对的成员特性比如管脚寄生、启动延迟、逻辑门限和缓冲延迟。用户定义的差分对没有模型指定的精确,因为模型指定的有IBIS器件值。差分对成员不能作为其他差分对的成员。差分对成员不能作为其他差分对的成员。模型定义的差分对可以被提取进SigXplorer 而带有耦合性。用户定义的差分对仅单根线被提取进SigXplorer。模型定义的差分对有优先级。如果通过用户定义的方法定义了一个差分对,稍后用模型定义的方法又定义了同样的差分对,则模型定义的差分对有优先级。用户定义的差分对与模型定义的差分对相比没有优先级。在约束管理器中不能改变模型定义差分对成员,只能通过编辑模型的方法更改。在约束管理器中可以对用户定义的差分对成员进行更改。不能在Concept HDL创建模型定义的差分对。可以在Concept HDL创建用户定义的差分对。在这种模式下,不支持分析和DRC检查。模型定义的差分对,参考同样器件类型的任何器件都将继承指定的模型中差分对。这个是可以重用的就像创建ECSet和指定ECSet到很多设计对象。在约束管理器中要分别创建用户定义的差分对,虽然自动设置简化了这个过程,与模型定义的差分对不同。注1: 如果要做分析,首先需要进行设置包含设置叠层、指定DC 网络、指定元件CLASS、指定模型等等。具体请看关于仿真的PCB SI操作。2.6 Designs and SystemsDesign代表一个单板或者系统中的一块单板,在多板结构中,每块板都是系统中的一个单独的设计。System代表设计结构包括贯穿这些设计的Xnets 和互连电缆和连接器。第3章 设置网络的走线约束该章节内容学习如何使用约束管理器设置网络的走线约束,并且在Concept HDL原理图中查看约束。经过学习,掌握以下内容: Set the minimum and maximum delay for a net(最小和最大传输延迟) Navigate to a net(查找网络) Create a pin-pair(设置pin-pair) Create a matched group(设置匹配网络) Set the delay for a net relative to another net(设置网络间相对传输延迟) Create a differential pair(设置差分对) Set constraints on a differential pair(设置差分对约束) View a constraint in Concept HDL(在Concept HDL中查看约束) View nets in physical and canonical format(用物理的和规范的格式查看网络)3.1.1 设置网络的最大最小传输延迟当设计原理图时,可能有些关键网络需要加约束比如阻抗和长度等等。下面将设置网络HLDA的最小和最大传输延迟,这个约束在Net工作簿的Routing工作表中。设置网络的最大最小传输延迟1. 在【Net】工作簿中点击【Routing】工作表,在右边的窗口中显示“ps0”设计的所有的网络和总线。注意:你看到的是物理格式的网络,这是因为你的设计已经经过打包。如果设计没有打包,网络将显示成规范的格式。在本章后面将讲解如何转换这两种格式。2. 双击【Routing】展开工作表。在这个工作表中有【Wiring】【Impedance】【Min/Max Propagation Delays】【Total Etch Length】【Differential Pair】【Relative Propagation Delay】几种表格。3. 点击【Min/Max Propagation Delays】显示相关的表格。4. 满屏显示表格。5. 在原理图编辑界面,选择【Tools】/【Global Find】命令,进入【Glbal Find】对话框。6. 输入网络名“HLDA”,确认选择【Net】选项,其他不选择。7. 点击按钮。8. 在【Results】栏显示查找结果,点击“project_lib.ps0(sch_1):page1_hlda”,相应的网络被高亮显示。9. 点击按钮,关闭【Glbal Find】对话框。10. 在原理图编辑界面,点击高亮的网络“HLDA”。11. 回到约束管理器窗口,可以看到“HLDA”网络已经被选择了。下面开始设置最大最小传输延迟,一般这个数据是由仿真得到的。对于关键网络有可能给所有的驱动和接收或者指定的管脚对设置约束,下面的练习是怎样给整个网络设置约束和给指定的驱动接收管脚对设置约束。12. 在【Prop Delay】列下面的【Min】列,输入最小值“0.9”,注意缺省单位是“ns”,意即网络“HLDA”上的信号到达任何一个目标最小传输延迟都要有0.9ns。13. 按Tab键。在【Pin Pairs】列自动选择了“All Drivers/All Receivers”,也就是说网络“HLDA”上的信号所有的的驱动和接收都被设置了传输延迟。14. 在【Prop Delay】列下面的【Max】列,输入最小值“1.1”,注意缺省单位是“ns”,意即网络“HLDA”上的信号到达任何一个目标最大传输延迟不能超过1.1ns。请见图3-1。图3-1 约束管理器最小最大传输延迟15. 选择网络“HLDA”,然后在菜单选择【Objects】/【Creat】/【Pin Pair】命令,进入【Creat Pin Pairs of HLDA for propagation delay】对话框。或者点击右键在弹出的菜单选择【Creat】/【Pin Pair】命令。16. 在【First Pins】列,点击“J1.25(In)”。17. 在【Second Pins】列,点击“U2.3(Out)”。18. 点击按钮。产生的管脚对显示出来,并且继承了网络“HLDA”的设置。19. 将【Min】的值从“0.9ns”改为“0.8ns”。20. 将【Max】的值从“1.1ns”改为“1.0ns”。(这表示这一对Pin Pair单独被设定Min/Max Propagation Delays值。)21. 在约束管理器界面,选择【File】/【Save】,将约束管理器中的约束保存。22. 注意在约束管理器中增加的约束是设计中的“occurrence”属性是作为电子约束属性。约束将会自动在Concept HDL中显示。电子约束属性可以从“occurrence”模式传递给“hierarchy”模式。“Min/Max propagation delay”属性映射成“PROPAGATION_DELAY”属性,在原理图中以“occurrence”模式查看此属性。23. 在Concept HDL窗口,选择【Tools】/【Occurrence Edit】命令。24. 选择【Text】/【Attributes】命令。25. 点击网络“HLDA”,出现【Attributes】对话框,请见图3-2。有两个值,下面将值显示出来看看。图3-2 属性对话框26. 在“PROPAGATION_DELAY”一行【Visible】下拉菜单选择“Both”。27. 点击按钮,退出【Attributes】对话框。28. 调整显示比例查看“PROPAGATION_DELAY”属性,如图3-3。图3-3 “PROPAGATION_DELAY”属性显示29. 选择【Tools】/【Constraints】/【Update Schematic】命令,弹出【Concept-HDL】对话框。30. 点击按钮,保存原理图。你可以转换成“hierarchy”模式查看网络的“PROPAGATION_DELAY”属性。3.1.2 设置网络相对传输延迟可以设置网络或者管脚对的相对于其他网络的传输延迟,所有这些网络或者管脚对可以形成一个匹配的群组,有目标管脚对或者网络,一个“delta”值,一个偏差值。下面将设置目标网络D的传输延迟,并生成一个匹配的网络,然后增加D和D到匹配的群组并设置相对于网络D的传输延迟。 设置步骤如下: 设置目标网络的最小、最大传输延迟 创建匹配的群组 增加网络D和D到匹配的群组 为D和D设置相对传输延迟值设置网络相对传输延迟1. 打开约束管理器,在【Min/Max Propagation Delays】工作表中找到总线“D”,然后展开总线“D”。2. 在D行,【Min】列,输入值1.0。3. 在D行,【Max】列,输入值1.2。4. 在【Routing】工作簿选择【Relative Propagation Delay】工作表,找到总线“D”,然后展开总线“D”。5. 选择D,然后选择【Objects】/【Create】/【Match Group】命令(或者按右键在弹出的菜单选择【Create】/【Match Group】命令),出现【Creat Match Group】对话框。6. 在【Match Group】栏输入名称“MY_GROUP”,请见图3-4。图3-4 【Creat Match Group】对话框7. 点击按钮。8. 在约束管理器界面,右键点击“MY_GROUP”,在弹出菜单选择【Membership】/【Match Group】,进入【Match Group Membership for MY_GROUP】对话框,请见图3-5。图3-5 【Match Group Membership for MY_GROUP】对话框9. 在【All Nets】栏,找到并点击D。10. 点击按钮将D移到【Members】栏。11. 在【All Nets】栏,找到并点击D。12. 点击按钮将D移到【Members】栏。13. 点击按钮,请见图3-6约束管理器界面。图3-6 约束管理器显示界面14. 针对网络D,点击【Scope】栏空格,在下拉选项选择“Global”。意思是要匹配群组中的所有的管脚对要匹配。而【Delta:Tolerance】栏,值自动设置为“0ns:5%”,“0ns”意思是约束管理器选择此网络作为目标网络。15. 针对网络D,点击【Scope】栏空格,在下拉选项选择“Global”。而【Pin Pairs】栏自动设置为“All Drivers/All Receivers”。16. 点击【Pin Pairs】栏在下拉菜单选择“Longest Pin Pair”。“Longest Pin Pair”的设置是最严格的,如果最长的管脚对都匹配了约束,那么可以确保网络中的所有其他管脚对都匹配此约束。17. 在【Delta:Tolerance】栏输入“0.3ns:5%”。意思是信号D要比D多延时0.3ns,并且在误差“+/-5%”之内。18. 针对网络D,点击【Scope】栏空格,在下拉选项选择“Global”。而【Pin Pairs】栏自动设置为“All Drivers/All Receivers”。19. 在【Delta:Tolerance】栏输入“-0.03ns:0.06ns”。意思是信号D要比D短0.03ns,并且在误差“+/-0.06ns”之内。请见图3-7。20. 在约束管理器界面,选择【File】/【Save】命令。图3-7 设置显示3.1.3 设置差分对约束可以创建差分对和设置约束。设置差分对约束1. 在约束管理器界面选择【Routing】工作薄的【Differential Pair】工作表。2. 选择网络CLK1+和CLK1-。3. 在约束管理器菜单选择【Objects】/【Create】/【Differential Pair】命令(或者按右键在弹出的菜单选择【Create】/【Differential Pair】命令),出现【Create Differential Pair】对话框。请见图3-8。图3-8 【Create Differential Pair】对话框注意:如果网络格式是A+和A-,差分对的名称设置为A。对于网络中的其他网络对,差分对名字的格式是DPn。4. 点击按钮。5. 点击按钮。查找生成的差分对,请见图3-9。图3-9 差分对显示6. 选择【File】/【Save】。7. 点击Concept HDL窗口。8. 按照前面介绍的方法显示网络CLK1+和CLK1-的差分对属性。9. 选择【Tools】/【Constraints】/【Update Schematic】命令。注意:在差分对工作表中的差分对约束仅仅应用于差分对,不会针对差分对的单个成员。并且在约束管理器中添加的差分对约束仅保存在约束管理器数据库中,不会被传递到原理图,因此,在原理图中不能查看到这些约束。10. 在约束管理器界面,针对CLK1进行设置。点击【Uncoupled Length】列下面的【Gether Control】列空格,在下拉菜单选择“Ignore”。这个选项“Ignore”或者“Include”决定计算不耦合长度是否包括从管脚出来的一段。11. 设置【Max】为“200”,mil为缺省单位。12. 在【Phase Tolerance】栏设置【Tolerance】值为“0.2ns”。13. 在【Line Spacing】栏,设置【Min】为“6mil”。14. 在【Coupling】栏设置【Primary Gap】为“8mil”,设置【Primary Width】为“6mil”,设置【Neck Gap】为“4mil”,设置【Neck Width】为“6mil”,设置【(+)Tolerance】为“2mil”,设置【(-)Tolerance】为“2mil”。如果知道这一对管脚的封装延迟,就在【Pin Delay】中填入相应的值。16. 选择【File】/【Save】,请见图3-10。图3-10 差分对设置结果3.1.4 查看网络规范格式和物理格式如果没有打包原理图而在原理图界面启动约束管理器,网络名缺省显示为规范的(逻辑的)格式。两种格式可以相互转换。查看网络规范格式和物理格式1. 在约束管理器界面选择【View】/【Options】命令。请见图3-11。图3-11 【View Options】界面2. 在【Names】栏选择“Logical”,查看网络名显示有什么不同。3. 在【Names】栏选择“Physical”,点击退出。第4章 设置网络的时序和信号完整性约束本章学习如何在设计中使用约束管理器设置网络的时序和信号完整性约束并在原理图中查看这些约束。 设置信号的转换和建立时间 控制信号的电气属性 设置信号最大过冲 设置信号的噪声裕量4.1 设置时序约束找到RESETL网络,添加建立和转换时间约束,然后保存约束并在原理图中查看相关属性。设置时序约束1. 在约束管理器界面【Net】文件夹,点击【Timing】。2. 双击【Timing】展开工作簿。3. 点击【Switch/Settle Delays】工作表,调整工作表为满屏显示。4. 在Concept HDL界面,选择【Tools】/【Global Find】命令。输入网络名“RESETL”确保选择【Net】单选框。5. 点击按钮。6. 在【Results】栏点击“project_lib.ps0(sch_1):page1_resetl”。7. 点击按钮。8. 在原理图界面点击网络“RESETL”。回到约束管理器窗口,发现“RESETL”已经被选择了。9. 在【Min First Switch】栏,设置网络“RESETL”【Min】值为“0.25:0.26”,即设置信号上升沿为0.25ns,下降沿为0.26ns。10. 在【Max Final Settle】栏,设置网络“RESETL”【Max】值为“3.25:3.25”,即设置信号最大的最终建立时间对于上升沿为3.25ns,对于下降沿为3.25ns。请见图4-1。11. 选择【File】/【Save】。在约束管理器中Min First Switch对应原理图中MIN_FIRST_SWITCH属性,Max Final Settle对应原理图中MAX_FINAL_SETTLE属性。图4-1 时序设置界面12. 进入Concept HDL界面,选择【Text】/【Attributes】命令。13. 点击网络“RESETL”。出现【Attributes】对话框,请见图4-2。图4-2 【Attributes】对话框14. 在MIN_FIRST_SWITCH行的【Visible】栏下拉菜单选择“Both”。15. 同样在MIN_FINAL_SETTLE行的【Visible】栏下拉菜单选择“Both”。16. 点击按钮。17. 选择【Tools】/【Occurrence Edit】,点击按钮,查看属性的显示。4.2 设置信号完整性约束在设计中如何设置电属性、反射约束、最大过冲和噪声裕量。下面的练习针对网络CLK。4.2.1 设置电气属性约束设置信号完整性约束1. 点击图标,进入约束管理器。2. 点击【Net】文件夹的【Signal Integrity】。3. 双击【Signal Integrity】工作薄,展开工作表,注意有【Electrical Properties】、【Reflection】、【Edge Distortions】、【Estimated Xtalk】、【Simulated XTalk and SSN】几个工作表显示。4. 点击【Electrical Properties】,显示【Electrical Properties】工作表,找到网络CLK。5. 在CLK行【Frequency】列输入“66”,单位是MHz。6. 缺省的【Duty Cycle】是“50%”,改为“60%”。7. 缺省的【Jitter】是“0”,改为“20”, 缺省的单位是“ps”。8. 缺省的【Cycle to Measure】是“1”,改为“2”。请见图4-3。图4-3 设置信号完整性约束9. 选择【File】/【Save】。【Electrical Properties】对应原理图中的“PULSE_PARAM”属性。10. 回到Concept HDL窗口,选择【Tools】/【Global Navigate】命令。11. 再转到约束管理器窗口,调整窗口大小也可以看到原理图界面。12. 右键点击网络CLK,在下拉菜单选择【Select】命令,在【Global Navigate】对话框的【Results】显示“project_lib.ps0(sch_1):page3_i1project_lib.4_bit_counter(sch_1):page1_clk”。13. 在原理图界面点击【Global Navigate】对话框的【Results】显示“project_lib.ps0(sch_1):page3_i1project_lib.4_bit_counter(sch_1):page1_clk”。14. 点击按钮,关闭【Global Navigate】对话框。15. 点击图标,然后点击网络CLK,将“PULSE_PARAM”属性显示出来。16. 在原理图界面选择【Tools】/【Constraints】/【Update Schematic】命令,将约束传递给每一个canvas。4.2.2 设置反射属性约束设置反射属性约束,然后保存约束
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!