Cadence等长处理
高速电路设计中,走线的等长、关键信号的阻抗控制、差分走线的设置 -- infohunter...(转载)
![高速电路设计中,走线的等长、关键信号的阻抗控制、差分走线的设置 -- infohunter...(转载)](https://img.taocdn.com/s3/m/a38c36ce050876323112123e.png)
摘要:本文首先简述了高性能ARM9微处理器EP9315集成的外设接口及硬件结构框架,提出了当前高速电路设计中的问题;然后,详细介绍了利用Allegro实现嵌入式系统中SDRAM和IDE总线接口的电路设计;最后以Cirrus Logic公司的CS8952为例,阐述了物理层接口芯片的布线准则及其在Allegro中的实现。
关键词:嵌入式系统; Allegro;等长;差分对;阻抗控制引言随着嵌入式微处理器主频的不断提高,信号的传输处理速度越来越快,当系统时钟频率达到100 MHZ以上,传统的电路设计方法和软件已无法满足高速电路设计的要求。
在高速电路设计中,走线的等长、关键信号的阻抗控制、差分走线的设置等越来越重要。
笔者所在的武汉华中科技大学与武汉中科院岩土力学所智能仪器室合作,以ARM9微处理器EP9315为核心的嵌入式系统完成工程检测仪的开发。
其中在该嵌入式系统硬件电路设计中的SDRAM和IDE等长走线、关键信号的阻抗控制和差分走线是本文的重点,同时以cirrus logic公司的网络物理层接口芯片cs8952为例详细介绍了网络部分的硬件电路设计,为同类高速硬件电路设计提供了一种可借鉴的方法。
2 硬件平台2.1 主要芯片本设计采用的嵌入式微处理器是Cirrus Logic公司2004年7月推出的EP93XX系列中的高端产品EP9315。
该微处理器是高度集成的片上系统处理器,拥有200兆赫工作频率的ARM920T内核,它具有ARM920T内核所有的优异性能,其中丰富的集成外设接口包括PCMCIA、接口图形加速器、可接两组设备的EIDE、1/10/100Mbps以太网MAC、3个2.0全速HOST USB、专用SDRAM通道的LCD接口、触摸屏接口、SPI串行外设接口、AC97接口、6通道I2S接口和8*8键盘扫描接口,并且支持4组32位SDRAM的无缝连接等。
主芯片丰富的外设接口大大简化了系统硬件电路,除了网络控制部分配合使用Cirrus Logic 公司的100Base-X/10Base-T物理层(PHY)接口芯片CS8952外,其他功能模块无需增加额外的控制芯片。
Cadence16.6平台新技术
![Cadence16.6平台新技术](https://img.taocdn.com/s3/m/ee2db4d54028915f804dc22b.png)
Cadence 16.6新功能Cadence致力于为用户提供最先进、功能强大的便捷的电路设计解决方案,每个新版本都将带给用户全新的设计体验,最新的版本,更是加强了数据管理、文档管理、DFM检查、高速总线交互式自动布线等一系列全新的PCB设计技术,将最大化提高电路设计效率,并降低研发成本。
NewOrCADFeaturesCadenceOrCAD系列设计工具不断得到性能提升,此外,LibraryBuilder自动建库工具、EngineeringDataManagement项目数据管理工具、ComponentInformationPortal建库流程管理工具等,为用户提供了各类提高设计与项目管理效率的电子研发工具。
1.OrCAD新功能(1)无引脚机械辅料添加与BOM支持没有引脚信息的机械辅料零部件,可以在OrCADCapture原理图设计环境中直接添加。
这些机械零部件可以通过网表与PCB设计保持一致,同时可以导出至BOM清单。
(2)原理图高速数字电路信号完整性前仿真(3)Find查找功能加强可以根据属性值与表达式的方法,快速批量查找器件,如:搜索R[2-9]即可快速定位R2/R3-R9的所有位号对应的器件。
(4)PSpice新增FrequencyResponseAnalysis频率响应分析(5)理论与仿真方法配合提高PSpice学习效率2.OrCAD新版新增模块CadenceOrCAD系列PCB设计分析工具,为了不断提高工程师的设计效率,新增了很多额外的工具,辅助设计与数据管理,加速研发的效率,减小设计成本。
(1)CIP在线中心库管理OrCADComponentInformationPortal (CIP) 是一款基于CIS的在线企业中心库管理工具,通过设计团队角色与权限的合理分配,达到中心库的合理管理,防止冗余库与冲突器件库的存在,提高器件的准确性。
此外,CIP集成Cadence提供的在线数据库,工程师可以快速合理的查找并调用网络资源。
PCBEditor(CadencePCB绘制)
![PCBEditor(CadencePCB绘制)](https://img.taocdn.com/s3/m/f1706e5904a1b0717ed5dd46.png)
PCB Editor(Cadence PCB绘制)1.打开软件 (2)2.创建电路板 (3)1. 设置图纸大小 (4)2. 创建板框 (4)3. 设置允许摆放区域 (6)4. 设置允许布线区域 (7)5. 设置禁止布线区域 (7)6.添加安装孔 (8)3.输入网络表 (9)1. 设置格点 (11)2. 电路板显示设置 (11)4.摆放元件 (12)5.摆放元件操作 (13)1.器件对齐操作 (14)2.模块复用 (14)3.器件交换命令 (16)6.设置层叠结构 (16)7.规则设置 (17)1.设置线宽,差分间距,选择过孔规则 (18)1.新增约束条件 (18)2.约束规则的匹配 (19)3.差分的设置 (20)2.间距规则设置 (20)3.区域规则设置 (21)4.差分对等长设置 (24)5.等长设置 (24)6.相同网络规则设置 (26)8.布线操作 (28)9.敷铜 (28)1.动态铜皮与静态铜皮 (28)2.铺铜方法 (29)3.进行铜皮绘制 (29)4. 优化铜皮 (30)5.删除铜皮孤岛 (30)6.合并铜皮 (30)7.编辑铜皮连接方式 (30)10. 电源层分割 (31)1.给不同网络的电源标颜色 (31)2.添加分割线 (32)3.创建铜皮 (33)11.调整字符 (34)1.显示字符 (34)2.设置字体大小 (35)3.改变字体大小 (36)4.移动字符 (36)12. DRC及布线后处理 (37)1. 在进行DRC检查前,先进行Database Check (37)2. DRC检查界面 (38)3.清除断线头 (38)4. 各种类型DRC报错 (39)5.添加Mark点 (40)6.添加层标识 (41)7.添加泪滴 (42)13.Cadence工具栏的启动 (44)设计目的:根据原理图设计PCB板实现RS232转换RS4221.打开软件2.创建电路板File----New1.设置图纸大小Setup----Design Parameters2.创建板框1.Add------Line添加线在下方命令窗口进行板框坐标的定义x空格0空格0表示第一个点的位置坐标ix空格10,iy空格10表示相对于第一个坐标值的下一个位置xy 方向的增量2.板框倒角Manufacture------Dimension/Draft--------Chamfer倒45度角Manufacture------Dimension/Draft--------Fillet 倒圆弧角设置倒角圆弧半径点击需要倒角的两边,完成倒角3.设置允许摆放区域Setup--------Areas------Package Keepin在命令窗口输入允许摆放区域的坐标完成,区域绘制x空格10空格10表示第一个点的位置坐标ix空格10,iy空格10表示相对于第一个坐标值的下一个位置xy方向的增量4.设置允许布线区域Setup--------Areas------Route Keepin在命令窗口输入允许布线区域的坐标完成,区域绘制x空格10空格10表示第一个点的位置坐标ix空格10,iy空格10表示相对于第一个坐标值的下一个位置xy 方向的增量5.设置禁止布线区域Setup--------Areas------Route Keepout在命令窗口输入禁止布线区域的坐标完成,区域绘制x空格10空格10表示第一个点的位置坐标ix空格10,iy空格10表示相对于第一个坐标值的下一个位置xy 方向的增量6.添加安装孔Place-----Manually3.输入网络表File----Import-------Logic单击Import Cadence,命令窗口出现如下即表示成功若有错误,查看记录文件“netin.Log”保存文件单击File-----Save as1.设置格点Setup------Grids2.电路板显示设置Setup----Design Parameters4.摆放元件Place-----Manually5.摆放元件操作镜像Edit------mirror旋转器件Edit------Move(移动器件)提起器件,鼠标右击选择Rotate,然后鼠标进行旋转移动器件Edit------Move1.器件对齐操作1.设置工作状态为Placement Edit2.选中要对齐的元件,并在其中的某个对象上右键,选择aligncomponents2.模块复用先进入placement edit1. 框选你已经布局完毕的模块,然后右键=> place replicate create,然后再右键选择done,在空白的地方点左键(命令窗口里会有提示的)2. 接下来出现保存模块的对话框,随便取个名字,自己要能区分开就行,点保存,这样复用模块就好了3.接下来就是重用刚才的模块了选中另一个未布局的模块的所有器件,右键=>place replicate apply,选择你刚才保存的模块名,如果顺利的话就会按照刚才布局好的模块一样布局了如果你选择的器件少了,那么会出对话框提示未匹配,自己查下看看缺少的添加进去就行了3.器件交换命令Place-----Swap------Components交换器件6.设置层叠结构Setup------Cross-section鼠标右击层名称处添加层Add Layer Above在你选中的层的上面加一层Add Layer Below 在你选中的层的下面加一层Remove Layer删除所选的层(删除层时必须该层没有任何东西)7.规则设置注:打开约束管理器前先取消任何操作命令Setup------Constraints---------Constraint Manager1.设置线宽,差分间距,选择过孔规则1.新增约束条件2.约束规则的匹配创建Class组进行规则匹配3.差分的设置2.间距规则设置3.区域规则设置区域设置主要针对板上局部区域需要以较小或较大的线宽、线间距进行布线的设计。
allegro 中关于xnet 的等长设置
![allegro 中关于xnet 的等长设置](https://img.taocdn.com/s3/m/8fc0d25b58eef8c75fbfc77da26925c52cc591ba.png)
Allegro 中关于 XNET 的等长设置近年来,随着科技的不断进步和信息技术的快速发展,人们对于数据传输和网络通讯的需求越来越高。
在这样的背景下,Allegro 这款优秀的软件在 XNET 方面的等长设置备受关注。
下文将针对这一主题展开论述,以便读者更深入地了解这个问题。
一、XNET 简介XNET 是一种用于数据传输和网络通讯的现代化技术,它采用了一系列的协议和标准,可以实现设备之间的信息交换和通讯。
在工业自动化和车辆电子等领域,XNET 扮演着非常重要的角色。
二、Allegro 中的 XNET在 Allegro 中,XNET 技术得到了广泛的应用。
作为高性能的电子设计自动化工具,Allegro 对于 XNET 的支持非常完善,用户可以通过Allegro 对 XNET 进行灵活、高效的配置和管理。
三、等长设置的重要性等长设置在 XNET 技术中起着非常重要的作用。
通过等长设置,可以保证数据在传输过程中不发生失真和变形,确保通讯的质量和可靠性。
合理的等长设置是 XNET 技术中的关键环节,影响着整个系统的性能和稳定性。
四、Allegro 中关于 XNET 的等长设置在 Allegro 中,用户可以通过一系列的操作和设置来对 XNET 进行等长设置。
具体来说,可以从以下几个方面进行配置:1. 等长线路的设计在进行 XNET 的等长设置时,首先需要考虑的是等长线路的设计。
通过合理的布线和线路设计,可以尽量减少信号传输中的时延和失真,保证数据的准确性。
2. 信号调整和校准在 Allegro 中,用户可以对 XNET 的信号进行调整和校准,以确保各个信号的等长性。
通过精确的校准,可以让信号在传输过程中保持稳定和一致,提高通讯的可靠性。
3. 参数优化和实时监控除了静态的等长设置外,Allegro 还提供了参数优化和实时监控的功能。
用户可以根据实际情况对 XNET 进行动态调整,及时发现和处理通讯中的问题,保证系统的稳定运行。
PCB设计十大误区-绕不完的等长
![PCB设计十大误区-绕不完的等长](https://img.taocdn.com/s3/m/eaaccfb519e8b8f67c1cb98c.png)
1、关于等长第一次听到“绕等长工程师”这个称号的时候,我和我的小伙伴们都惊呆了。
每次在研讨会提起这个名词,很多人也都是会心一笑。
不知道从什么时候起,绕等长成了一种时尚,也成了PCB设计工程师心中挥不去的痛。
需要等长设计的总线越来越多,等长的规则越来越严格。
5mil已经不能满足大家的目标了,精益求精的工程师们开始挑战1mil,0.5mil……还听过100%等长,没有误差的要求。
为什么我们这么喜欢等长?打开PCB设计文件,如果没有看到精心设计的等长线,大家心中第一反应应该是鄙视,居然连等长都没做。
也有过在赛格买主板或者显卡的经验,拿起板子先看看电容的设计,然后再看看绕线,如果没有绕线或者绕线设计不美观,直接就Pass换另一个牌子。
或许在我们的心中,等长做的好,是优秀PCB设计的一个体现。
做过一个非正规的统计(不过一博每年上万款PCB设计,我们的采样基本上也可以算做大数据了),稍微复杂一点的高速板子,绕等长要占据总设计时间的20%~30%。
如果等长规则更严格,或者流程控制不好,做了等长之后再反复修改,这个时间还会更多。
2、那些年,我们一起绕过的等长培训的时候,我们经常会玩一个游戏,游戏的名字叫做:那些年,我们一起绕过的等长……说到等长要求,先说说什么是“裕量”哈。
“裕量”是设计时保留的安全间距,百度百科的解释更简单:多出来一部分,就称之为裕量。
到底要多多少,什么才是安全,那就见仁见智了。
每个人的安全感不同,对“裕量”的定义就不一样。
但是在时序设计的时候,有一个现象比较普遍,那就是裕量层层放大,比如产品经理可能要求等长范围是±100mil,项目经理可能就会更严格到±50mil,然后到具体的实施工程师,可能就变成±5mil了。
碰到一些“安全感”不足的工程师,那就恨不得是完全等长,没有偏差。
所以,后面的讨论里面,我们不会太多纠结在等长到底是10mil还是±5mil,我们集中精力来看看哪些等长是没有必要的,哪些等长反而破坏了系统的时序设计要求。
cadence等长规则设置
![cadence等长规则设置](https://img.taocdn.com/s3/m/b2ea138167ec102de3bd896f.png)
cadence等长规则设置提到绕等长的问题,就不得不说一下等长约束规则的设置了。
在allegro的规则管理器里,只有你想不到的规则,没有设置不了的。
正是因为其五花八门,所以经常有很多的BUG出现,对于很多人来说,建规则会成为比较难跨越的高山。
等长规则的设置有多种不同的方法,有傻白甜型,有端方君子型,有腹黑高冷型,总有一款适合你的。
1、做人从傻白甜开始望文生义,傻白甜就是操作简单,结果尽如人意的意思了。
这种方法几乎是一步到位的,选中目标网络,单击右键,直接创建Match Group,然后取个好听又好记的名字,如下图。
至此,我们的万里长征就要成功了,只剩下最后一步了,添加等长范围。
在Match Group 行,tolerance那里改成想要的等长范围,然后回车,等长规格就这么简单粗暴的设置好了。
2、端方君子,心之所向对于简单的点对点的拓扑,傻白甜能起到相应的作用,但是对于一些比较复杂的拓扑结构,可能就收效甚微了,这时候就需要我们的君子登场了。
为什么说这种方法是端方君子型呢,主要是因为它一步一步,有理有据,按照步骤试一下的话,就会觉得,原来如此,建等长规则还是比较简单的。
下面就是动作分解了,首先选中目标网络,建立net group。
建立net group后,选中建立的net group,单击右键,选择SigXploer命令,打开SigXploe,也可以选择单个网络打开SigXploe,网络的拓扑显示如下。
是感觉真的很美好呢?3、腹黑高冷才是真绝色然而,也有君子搞不定的时候,因为毕竟不是所有的BUG都是光明正大的阳谋,让你可以知道怎么去改正,就像拓扑连接不正确时,可以通过给阻容器件赋模型来解决。
有的BUG就像避无可避的阴谋诡计,比如无法打开SigXploer,器件模型出问题等,无处着手时,这时候就需要剑走偏锋,腹黑的方法才能够一招致胜。
这次直接选择网络建立pin Pair,不管什么拓扑错误或是其他,直接避过,建立点对点的连接,这也正是高冷风范,不管什么BUG,都是“我不听,我不听”。
cadence规则设置介绍
![cadence规则设置介绍](https://img.taocdn.com/s3/m/9b4bc783daef5ef7ba0d3ccd.png)
PROPAGATION_DELAYPROPAGATION_DELAY这个设定主要用来对Net绝对长度的设定,如要求设定一组Net的长度要在Min Mil到Max Mil之间的话,就可以用这种设定来完成.设定值的写法如果一个Net只有连接两个Pin就可以用下面这种语法:L : S : min : max , L:S 是固定格式就可以了,后面的min是Net长度的最小值,max 是最大值如果只要求Net长度在多少之内就可以省略min值,如: L : S : : max相反如果只有求在多少以上就可以省略max值,如:L : S : min :如果一个Net连接多个Pin,而只要求某个Pin到某个Pin的走线长度在多少范围内就可以,这种情况的设定就相对复杂些,具体要写出连接的Pin,语法见下面:Ux1.Piny1 : Ux2: Piny2: min: max, 就是前面要写出具体从那个零件的哪个pin到哪个零件的哪个pin.例子:PROPAGATION_DELAY = L:S:1200 MIL:1400 MIL 后面蓝色部分就是要在设置是输入的,其实MIL可以省略会自动产生,设定走线长度要求在1200Mil到1400Mil间PROPAGATION_DELAY = L:S:1200: 设定走线大于1200Mil就可以了PROPAGATION_DELAY = L:S: :1400 设定走线小于1400Mil就可以了PROPAGATION_DELAY = U1.2:R1.1:500:600 设定U1的Pin2到R1的Pin1的走线长度在500Mil与600Mil之间RELATIVE_PROPAGATION_DELAYRELATIVE_PROPAGATION_DELAY这个设定主要用来对一组Net做等长设定,如要求设定一组Net的长度误差要在Tolerance Mil之间的话,就可以用这种设定来完成. 这里会多一个基准线的概念,就是其它设定的走线需要和这基准线来比较,如果比它长多少,短多少都在Tolerance之内就是达到要求的,语法:Group : G : L : S : Delta : ToleranceGroup :等长组名,不要和以定义的BUS_NAME的值相同,建议可以在原来值前面加R_定义Delta :这个值可能有点难理解,就是设定的这个走线的长度要比基准线长还是短多少,一般都是要求和基准线一样长,那就是这里的为0, 如果要长就用+Delta,短就用-Delta,+可以省略Tolerance :与基准线之间的误差,可以是具体值(xx Mil) 也可以用百分比(xx%),注意:Tolerance的值为+/-多少,如果写50,就是误差为+/- 50Mil, 其实误差就是100Mil另外对一组设定好等长的走线还要指定基准线, 基准线的值和前面一般的一样,就是Delta和Tolerance项省略,那样系统就默认为这组等长线的基准线例:要设定一组Data线等长, 误差为+/-25Mil, 如果没有特别要求特定线为基准,可以自己选择基准线先设定所有走线:RELATIVE_PROPAGATION_DELAY=R_DATA:G:L:S:0:25再特定设基准线: RELATIVE_PROPAGATION_DELAY=R_DATA:G:L:S::如果有根线要比基准线长50Mil则设定为:RELATIVE_PROPAGATION_DELAY=R_DATA:G:L:S:50:25IMPEDANCE_RULEIMPEDANCE_RULE=A:B:C:DA:起点PINB:终点PINC:阻抗的数值大小D:阻抗的误差大小例如:(1).IMPEDANCE_RULE=ALL:ALL:50ohm:10ohm设定走线的阻抗是50ohm,误差值是正负10ohm(2).IMPEDANCE_RULE=U1.1:R1.1:50ohm:20%设定走线在U1.1 到R1.1 之间的阻抗是50ohm,误差是正负20%SWITCH/SETTLE_DELAY在约束管理器界面的“NET”栏部分打开timing,点击switch/settle delay, 在min 和max栏分别设置网络的信号上升沿和下降沿,输入方法为min:“0.25:0.26”,max:“3.25 3.25”即表示网络的信号上升沿和下降沿分别为0.25ns和0.26ns。
Cadence-使用参考手册
![Cadence-使用参考手册](https://img.taocdn.com/s3/m/40065bc26037ee06eff9aef8941ea76e58fa4a5c.png)
Cadence 使用参考手册邓海飞微电子学研究所设计室20XX7月目录概述11.1 Cadence概述11.2 ASIC设计流程1第一章Cadence 使用基础52.1 Cadence 软件的环境设置52.2 Cadence软件的启动方法102.3库文件的管理122.4文件格式的转化132.5 怎样使用在线帮助132.6 本手册的组成14第二章Verilog-XL 的介绍153. 1 环境设置153.2 Verilog-XL的启动153.3 Verilog-XL的界面173.4 Verilog-XL的使用示例183.5 Verilog-XL的有关帮助文件19第四章电路图设计与电路模拟214.1 电路图设计工具Composer (21)4.1.1 设置214.1.2 启动224.1.3 用户界面与使用方法224.1.4 使用示例244.1.5 相关在线帮助文档244.2 电路模拟工具Analog Artist (24)4.2.1 设置244.2.2 启动254.2.3 用户界面与使用方法254.2.5 相关在线帮助文档25第五章自动布局布线275.1 Cadence中的自动布局布线流程275.2 用AutoAbgen进行自动布局布线库设计28第六章版图设计与其验证306.1 版图设计大师Virtuoso Layout Editor (30)6.1.1 设置306.1.2 启动306.1.3 用户界面与使用方法316.1.4 使用示例316.1.5 相关在线帮助文档326.2 版图验证工具Dracula (32)6.2.1 Dracula使用介绍326.2.2 相关在线帮助文档33第七章skill语言程序设计347.1 skill语言概述347.2 skill语言的基本语法347.3 Skill语言的编程环境347.4面向工具的skill语言编程35附录1 技术文件与显示文件示例60附录2 Verilog-XL实例文件721.Test_memory.v (72)2.SRAM256X8.v (73)3.ram_sy1s_8052 (79)4.TSMC库文件84附录3 Dracula 命令文件359概述作为流行的EDA工具之一,Cadence一直以来都受到了广大EDA工程师的青睐。
Cadence等长处理
![Cadence等长处理](https://img.taocdn.com/s3/m/8aea165d33687e21af45a9c5.png)
Cadence等长处理对于时序处理而言,在板上实现的手段就是绕等长。
作为一个合格的layout工程师,首先必须得是一个合格的"绕等长"工程师,毕竟一切从助手做起。
一般来说,我们绕等长在allegro软件就只有一个命令Delay Tune,感觉有点不够用。
现在给大家安利一下allegro16.6关于绕等长推出的新功能,所有命令如下图所示。
首先是Timing Vision,个人觉得这真是一个实用的技能,很人性化。
以前绕等长的时候,哪一根最长,哪一根最短,绕到最后,哪一根没有绕好等等,都需要一个个去板子上找,或者去规则管理器里头选择,简直是神烦。
这个功能直接让比基准长的显示一种颜色,比基准短的显示一种颜色,绕好的显示一种颜色,一目了然,直接绕就好,不需要再去规则管理器里面查看了。
接着是期待已久的自动绕等长了——Auto-interactive Delay Tune。
想当年,刚开始学习layout的时候,就是从绕等长开始,一块又一块的板子,能做的只有绕等长,当时就想,要是有一天机器可以自动绕等长就好,今天这个愿望果然实现了。
自动等长的步骤很简单,设置好等长规则后,只需要选择Auto-interactive Delay Tune命令,然后框选想要等长的线就好,机器就可以自己运算,然后就可以看到已经绕好的等长了,真是简单粗暴到极点了。
不说了,有图有真相。
有了单线的自动等长,那就肯定不会放过板上随处可见的差分了,看大招——Auto-interactive Phase Tune。
现在板子的速率越来越高,板上的差分线也就跟着越来越多,对内等长的工作量自然就加大了。
但是自从有了绕线新功能,就再也不担心绕等长费时多啦。
步骤和单线绕等长一样,简单明了。
单线等长和差分等长,在用Timing Vision命令来判断线是否等长的时候,设置有细微区别。
如图所示,Timing mode有四种。
单线和差分的区别,就是选择timing(时序),还是phase(相位)。
Allegro中等长设置方法
![Allegro中等长设置方法](https://img.taocdn.com/s3/m/54a6b576cc7931b764ce1543.png)
创建模型:
如果排阻PinNumber顺序是这样的,则:
注:Pin Number与Pin Number之间有空格
创建模型:
d)完成模型设置后,查看这个排阻的Net属性,在Net name下面会多 一个Net名字,这表示Xnet已经创建好了。
导入PACAGE长度:
1、File->Import->Pin Delay:
2、Pin Delay File是芯片厂提供的 文件,因没有这一文件,暂时没法演示。
等长规则应用:
i)完成的效果,如下图:
总结
这是通过模型来设置等长规则的一种 方法,如果Xnet已经创建好了,则在 Constraint Manager一样可以设置,会 更方便,之所以提出这种方法,只是多 一种选择,当匹配比较复杂的时候,模 型创建就相对复杂
设置等长规则:
设置等长规则:
设置等长规则:
c)选择菜单Set->Constraints,出现如下窗体:
设置等长规则:
Rule Name:等长规则名字,这里可以随便输入,不过最好方便辨认 From:开始Pin To:结束Pin Scope:规则适应范围
Local:适用本网络 Global:适用所有网络 Bus:适用所在Bus Class: 适用所在Class Delta Type:Delta匹配类型,Delta为与基准线对比值,如果一组线要 求等长,我们可以把Delta设为None,或把Delta值设为0 Delay: 延迟 Length:长度,一般都设长度 Delta: 设定值 Tol Type: 误差类型 Tolerance: 误差范围。
f)在Constraint Manager中就有更新提示:
Allegro线宽、间距、等长、差分
![Allegro线宽、间距、等长、差分](https://img.taocdn.com/s3/m/7e82f714fad6195f312ba678.png)
A llegro 中的约束规则设置Allegrophan 刚好五个字w w w .pc b b b s .c o m修订记录日期版本描述作者2008-12V1.0初版,学完的总结。
适用于Cadence 15.5版本。
Allegrophan 2009-09-08V1.1小改,修改部分措辞Allegrophan 2009-10-14V1.2小改,更正、修改几个错漏之处。
添加一些说明性文字。
感谢群里的佳猪、梦姑娘等朋友的指正!Allegrophanw w w .p c b b b s .c o m目录一:Physical (Line/vias )rule 物理特性(线宽和过孔)约束设置:.............41)“Set values”设置约束特征值....................................................................52)“Attach property ”绑定约束.....................................................................63)“Assignment table ”约束规则分配........................................................8二“Spacing rule”间距约束设置...........................................................................91)“Set values ”设置约束特征值................................................................92)“Attach property ”绑定约束.................................................................103)“Assignment table ”约束规则分配......................................................11三Constraint areas 区域约束设置......................................................................12四Allegro 中走线长度的设置............................................................................131)差分线等长设置......................................................................................132)一组Net 等长..........................................................................................163)XNet 等长................................................................................................17w w w .p c b b b s .c o m线宽、线距、区域的约束主要在“Constraints Sys ”中设置,点击“Setup/Constraints ”或点击图标打开“Constraints Sys ”窗口,如下:“Constraints Sys ”窗口分两个级别,第一级别有两类:Standard design rules 和Exte Extended nded design rules 。
Cadence约束设置
![Cadence约束设置](https://img.taocdn.com/s3/m/6ca1e00276c66137ee06195a.png)
Allegro16.3约束设置/content/13/0729/21/13333829_303434335.shtmlHUANXIA.XU@ HUANXIA7892013-07-29 | 阅:1 转:31 | 分享修改Allegro16.3约束设置差分对的约束设置第一步,差分对的设置差分对的设置有很多方法,下面介绍两种最常用的方法。
1.点击菜单Logic→Assign Differential Pair... 弹出以下对话框。
点击你想要创建差分对的Net1和Net2,填入差分的名字,点击Add后就成功创建了差分对。
点击Auto Generate按钮后,弹出以下对话框:在第一个输入框填入Net的主要名字后,在下面的框中填入差分线的标志如N,P。
点击Generate即可自动产生差分对。
2.在约束管理器中设置差分对。
在DSN上点击右键,在菜单中选择Create→Differential Pair。
即可弹出下面的对话框。
和上一种方法的设置差不多,这里就不再叙述了。
第二步差分对约束规则的设置差分对各项约束可以在约束管理器中的Electric→Net→routing→Differential Pair中直接在各差分对上填入各项约束数值就可生效,但更好的方法是创建约束规则后赋给各个差分对。
在DSN上点击右键,在菜单中选择Create→Electrical CSet后,弹出下面的对话框;输入规则名后点Ok,在Electric→constraimt set→outing→Differential Pair中可以看到新规则。
在表格中输入各项数值即可完成新规则的设置。
如图所示差分对约束参数主要有以下几个:1coupling paramaters 主要包括了Primary Gap 差分对最优先线间距(边到边间距)。
Primary Width 差分对最优先线宽。
Neck Gap 差分对Neck模式下的线间距(边到边间距),用于差分对走线在布线密集区域时切换到Neck值。
Cadencen-allegro走DDR设置
![Cadencen-allegro走DDR设置](https://img.taocdn.com/s3/m/b74e347e9b6648d7c1c746bd.png)
Allegro 16.3 DDR2 XNET 等长设置,以 1G DDR2 HY5PS1G1631CFP-S6 为例。 • DDR2 信号线分组 • (1). Data Group: LDQS, #LDQS, LDM, DQ(0:7); UDQS, #UDQS, UDM, DQ(8:15) (2). Address/Command Group: BA(0:2), A(0:15), RAS, CAS, WE (3). Control Group: CS, CKE, ODT (4). Clock Group: CK, #CK •
设置完成后就可以选择布线工具 Delay tune 绕等长了。
DDR2 走线顺序 • 1) Data Group, 2) Address/Command Group, 3) Control Group, 4) Clocks Group, 最 后走电源 •
DDR2 走线规则 • CK, #CK,LDQS, #LDQS, UDQS, #UDQS 为差分信号,其余为单端信号。单端阻抗 50-60Ω, 差分阻抗 100–120 Ω,一般单端线宽 5mil,线距 10mil,差分线宽 10mil,线距 5mil. 实际 中线宽线距会因为板子层数材质厚度不同而不同,需具体计算。 (1). Data Group: 组内 DQ,DM 与 DQS 长度差控制在 20 mil 內,组间信号长度差控制在 500mil 内,DQS, #DQS 走线误差在 10mil 内。数据组到其他组间距离 25mil。 (2). Address/Command Group:
3)在 Net—Routing—Relative propagation delay,可以看见设置好的差分网络
等长线绕线skill用法
![等长线绕线skill用法](https://img.taocdn.com/s3/m/54512fc3b14e852458fb579f.png)
(路径可以修改)
6. 再启动allegr
o,就可以点击菜单执行对应的skill啦。
总结:修改三个文件,
一个是环境变量文件(env),
一个是添加菜单文件(allegro.men),
一个是装载skill文件(allegro.ilinit)。
MENUITEM "mea","mea"
END
// FPM_END
这个不用多解释了,照本宣科,添加 MENUITEM "mea","mea"
启动allegro,可以看到fpm菜单下多了mea一项,但点击并不出现任何动作,这是因为没有装载mea.il文件。
mea在 15.5的用法:
安装方法:
1. 搜索到 allegro.ilinit (就在安装目录下C:\Cadence\SPB_15.5\share\pcb\etc\skill),
用记事本或者打开ultraedit打开这个文件,
MENUITEM "Quick &View","qview"
MENUITEM "&Boundary view","bv"
MENUITEM "scal&pel","scalpel"
==================================================================================================
如何再 Candence 设置XNET
![如何再 Candence 设置XNET](https://img.taocdn.com/s3/m/0f6fc92943323968011c92b4.png)
如何在Allegro16.3里设置Xnet并进行等长设置发布时间:2012-07-05 11:45:12技术类别:PCB个人分类:Cadence附件是一篇网上找到的文章,此文详细介绍了如何设置Xnet以及进行等长设置走线。
本人的应用相对更简单,由于不是经常画板子,所以对于如何使用Xnet常常忘记,而本文介绍的相对复杂,为了在每次画板子的时候相对快速的使用Xnet,特记录本人使用Xnet的过程于此。
首先,介绍本人为何要使用Xnet。
本人使用Xnet的场合主要有两种场合,一种是走线路径阻抗匹配,所以走线中串接了一个匹配电阻,如果需要等长,所以要给这一组走线设置Xnet;另一种是高速差分走线以及像Altera的高速Transciever的差分走线一般都需要对高速差分线进行AC耦合,所以每根线上串接了一个0.1uF的电容,而差分走线都需要进行等长,所以需要计算电容两端走线之和来进行等长控制。
如果没有建立Xnet,如图1所示的差分走线的每一根就会分为2段net。
那么在Allegro的约束管理器中进行等长设置的时候需要首先建立差分对(Diff pair),这时候你会发现有图2所示的情况出现。
从图2能发现什么呢?即RX1_T_N和RX2_T_N的“type”是不一样的,显然RX1_T_N的type是net而RX2_T_N的type是Xnet,也就是在建立差分对约束的时候前者只是约束了一部分,而后者是约束了整根线。
图1 Altera的GXB高速接收通道图2 在Allegro16.3的约束管理器中建立建立差分对根据文章介绍,第一步是要建立Xnet,建立Xnet的过程如下所示第1步,在Allegro的PCB Editor的Analyze菜单下选择SI/EMI Sim->Model Assignment命令,如图3所示图3 启动开始建立Xnet第2步,进去以后会看到如图4所示的界面,由于差分线中串接的是0402封装的0.1uF的电容,所以选择此项。
cadence布线前-线长约束仿真
![cadence布线前-线长约束仿真](https://img.taocdn.com/s3/m/d54972a50029bd64783e2ca7.png)
在cadence设计里面约束很重要,我觉得比较重要和常用就是线长约束,等长约束,还有那个差分约束。
先看看线长约束,其实线长约束如何设置我不多说了,网上有于博士的视频教程,你也可以购买于博士写的那本书来读读,那里面说的很清楚,可以说是手把手了。
我这篇文章主要是说明一下,在于博士视频教程中,为何在线长设置界面,线长约束是2600mil--3600mil,于博士说,这个需要信号仿真,然后选择一个数值的。
这和信号的延时,反射有关的,也就是信号完整性方面有关,我也就是用于博士的电路板说一下,如何在布线前仿真,进而确定最长线长。
当然了从DSP到RAM的数据线是越短越好,但是你是PCB板,不可能靠的很近,肯定有个最小距离的,当然了最大距离也是有限制的,主要就是最大距离,如果你确定了最大线长,那么最小线长也确定了。
假设说明一下,你现在确定了最大线长是3600mil,2跟信号见最大延时时间是0.2ns,可以允许的延时时间,2条线的延时时间小于0.2ns,不会影响数据准确性,而且我们知道PCB板上的信号传输距离和时间关系是:6inch/ns。
这是个经验值。
转换成线长数据就是6000*0.2=1200mil。
那就是说,最小线长是3600-1200=2400mil,就可以了,这样的走线,使得DSP和RAM中间的数据信号在延时方面没有问题。
下面具体说明一下,看图操作。
于博士,视频教程里面设置的线长约束是2600--3600.下面看看怎么样得到这样的最大线长数据。
启动cadence15.7里面的那个PCB SI 软件,不是PCB EDITOR,这点很重要,不然里面有些菜单的功能没有。
打开DSPsystem电路板,然后设置IBS的仿真模型。
启动constraint manager 。
我们定义了BUS_DATA,然后启动sigxplorer。
我们移动一下器件符号,如下图。
是T型拓扑结构。
我们这里不说T型,我们只说U6-U7,或者U6-U8的线长。
allegro 16.3等长规则设置
![allegro 16.3等长规则设置](https://img.taocdn.com/s3/m/223046a3f705cc1754270938.png)
1、点击CM
2、在左边选择Electrical—>Net—>Routing—>Reห้องสมุดไป่ตู้ative Propagation Delay
3、选中工程名,点右键选择creat—>match group
4、这个“0”和上图的“flash_b0”是一样的。选中之后点右键如下图所示:
5、之后选择你要做等长的那组数据线。
6、选择pinpair
7、然后再选中工程名,点击右键,
选中工程名,点右键选择creat—>match group
这步同步骤3操作是一样的,但是不要命同样的名字。(我命的名字是B0)
8、
最后就是这个样子,箭头指向的地方就是这组数据线的误差范围。
高速PCB设计中的差分等长处理及仿真验证
![高速PCB设计中的差分等长处理及仿真验证](https://img.taocdn.com/s3/m/cf5c120458eef8c75fbfc77da26925c52cc59106.png)
高速PCB设计中的差分等长处理及仿真验证杨章平【摘要】在进行高速PCB(Printed Circuit Board)设计时,通常需要对差分信号线的相对时延进行控制,以满足信号完整性要求,因此,如何处理差分线的等长,是需要解决的一个问题.通过分析不同相对时延对差分及共模信号波形的影响,得出相对时延对信号的影响及与信号的上升/下降时间有关,并给出了确定信号上升/下降时间的方法,最后对DSP(Digital Signal Processor)和DDR3(Double Data Rate Tree)内存之间的信号进行了仿真分析,验证了前述分析结果的正确性.【期刊名称】《通信技术》【年(卷),期】2015(048)005【总页数】5页(P626-630)【关键词】差分信号;共模信号;相对时延;上升/下降时间;仿真【作者】杨章平【作者单位】中国电子科技集团公司第三十研究所,四川成都610041【正文语种】中文差分线对是指一对存在耦合的传输线。
差分信号的传输是利用两个输出驱动来驱动差分线对,一根携带信号,另一根携带它的互补信号。
实际需要的就是差分线对间的电压差,它携带着要传输的信息[1]。
差分发送器两个单端发送的信号大小相同,相位相反,如果两个信号同时到达接收端,那么信号将得到正确的接收。
但是,信号在传输线上传输时,会产生时延,如果某一单端信号的传输距离较长,其时延也会较大,两个信号之间就存在相对时延,这相当于其中一个信号发生了相移,接收端接收到的差分信号就会在一定程度上产生失真。
如果失真幅度过大,可能出现信号在接收端无法正常接收等问题,使得电路功能无法正常实现。
因此,要尽量减小差分对的两个单端信号之间的相对时延。
PCB Layout工程师在进行PCB设计时,由于元器件的密集度和布局布线的复杂性,走线中不可避免的会出现拐角,拐角的存在使得差分信号线两线长度出现不一致,差分信号对之间产生相位差[2],因此通常需要对差分线对进行等长处理。
allegro等长设置方法
![allegro等长设置方法](https://img.taocdn.com/s3/m/2a5aa014227916888486d794.png)
前言Manager是一交互式平台,在Cadence PCB设计中它是基于对电子表格操作的 Constraints管理高速电气规则的工具,Constraints Manager可以让设计者定义、察看和验证规则并可以利用SigXplorer expert研究电路的拓扑结构和设置对应的约束条件并反馈到Constraints Manager中。
第1章 Constraints Manager界面第2章 Constraints Manager组成1.Object Type Folder:(1)ECSet:在这文件夹可看到你在板中设定的部分规则,如Signal Integrity、Timing、Max/Min Propagation Delays、Relative Propagation Delays等等。
(2)Net:在这文件夹可实现信号的约束条件的操作,如Signal Integrity、Timing、Max/Min Propagation Delays、Relative Propagation Delays、Bus、Pin Pair等。
2.Workbooks:展开Object Type Folder,其下的Workbooks主要有(1)Signal Integrity:信号完整性规则设定;(2)Timing:建立时间等设置;(3)Routing:布线约束规则设定,如阻抗、绝对长度、相对长度等。
3.Worksheet:展开Workbooks,其下都有相应的Worksheet,如Routing下有:Impedance、Max/Min Propagation Delays、Relative Propagation Delays等。
其上三者关系如下:4.Worksheet中Object的层次SystemDesignBus、Diff pairNet、XnetMatch GroupPin pair从上往下优先级递减,即System级别最高,Pin pair级别最低第3章 Constraints Manager常用命令1.Import/Export:规则的导入/导出2.Analysis Modes:分析内容的选择开关3.Select/Deselect:选中/取消选中Bus、Net、Pin pair等4.Expand/Collapse:展开/闭合选中的内容(Bus、Net、Pin pair等)5.Bus Membership:添加Net、Xnet到已有的Bus中6.Match Group Membership:追加Pin pair、Net、Xnet到已有的Match group名中7.Electrical Cset reference:给Bus、Pin pair、Net、Xnet等附上已设定好的规则8.SigXplorer:进入SigXplorer expert界面,研究拓扑结构及定义约束规则第4章 使用Constraints Manager必须注意的几个概念1.Pin pair指一对有逻辑连接关系的管脚,通常是驱动与接收间的连接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cadence等长处理
对于时序处理而言,在板上实现的手段就是绕等长。
作为一个合格的layout工程师,首先必须得是一个合格的"绕等长"工程师,毕竟一切从助手做起。
一般来说,我们绕等长在allegro软件就只有一个命令Delay Tune,感觉有点不够用。
现在给大家安利一下allegro16.6关于绕等长推出的新功能,所有命令如下图所示。
首先是Timing Vision,个人觉得这真是一个实用的技能,很人性化。
以前绕等长的时候,哪一根
最长,哪一根最短,绕到最后,哪一根没有绕好等等,都需要一个个去板子上找,或者去规则管理
器里头选择,简直是神烦。
这个功能直接让比基准长的显示一种颜色,比基准短的显示一种颜色,
绕好的显示一种颜色,一目了然,直接绕就好,不需要再去规则管理器里面查看了。
接着是期待已久的自动绕等长了——Auto-interactive Delay Tune。
想当年,刚开始学习layout
的时候,就是从绕等长开始,一块又一块的板子,能做的只有绕等长,当时就想,要是有一天机器
可以自动绕等长就好,今天这个愿望果然实现了。
自动等长的步骤很简单,设置好等长规则后,只
需要选择Auto-interactive Delay Tune命令,然后框选想要等长的线就好,机器就可以自己运算,然后就可以看到已经绕好的等长了,真是简单粗暴到极点了。
不说了,有图有真相。
有了单线的自动等长,那就肯定不会放过板上随处可见的差分了,看大招——Auto-interactive Phase Tune。
现在板子的速率越来越高,板上的差分线也就跟着越来越多,对内等长的工作量自然就加大了。
但是自从有了绕线新功能,就再也不担心绕等长费时多啦。
步骤和单线绕等长一样,简单明了。
单线等长和差分等长,在用Timing Vision命令来判断线是否等长的时候,设置有细微区别。
如图所示,Timing mode有四种。
单线和差分的区别,就是选择timing(时序),还是phase(相位)。
对于DRC和Smart的区别,就是能否根据线长改变基准。
但是最终都能达到完
成等长的效果。
问题来了
如果差分线源同步需要做组内等长,例如mipi,应该怎么处理?
cadence等长规则设置
提到绕等长的问题,就不得不说一下等长约束规则的设置了。
在allegro的规则管理器里,只
有你想不到的规则,没有设置不了的。
正是因为其五花八门,所以经常有很多的BUG出现,对于
很多人来说,建规则会成为比较难跨越的高山。
等长规则的设置有多种不同的方法,有傻白甜型,有端方君子型,有腹黑高冷型,总有一款适
合你的。
1、做人从傻白甜开始
望文生义,傻白甜就是操作简单,结果尽如人意的意思了。
这种方法几乎是一步到位的,选中
目标网络,单击右键,直接创建Match Group,然后取个好听又好记的名字,如下图。
至此,我们的万里长征就要成功了,只剩下最后一步了,添加等长范围。
在Match Group行,tolerance那里改成想要的等长范围,然后回车,等长规格就这么简单粗暴的设置好了。
2、端方君子,心之所向
对于简单的点对点的拓扑,傻白甜能起到相应的作用,但是对于一些比较复杂的拓扑结构,可
能就收效甚微了,这时候就需要我们的君子登场了。
为什么说这种方法是端方君子型呢,主要是因为它一步一步,有理有据,按照步骤试一下的话,就会觉得,原来如此,建等长规则还是比较简单的。
下面就是动作分解了,首先选中目标网络,建
立net group。
建立net group后,选中建立的net group,单击右键,选择SigXploer命令,打开SigXploe,也可以选择单个网络打开SigXploe,网络的拓扑显示如下。
拓扑正确之后,就可以按照下图步骤,建立想要的等长规则了。
一步步完成之后,是不是感觉
真的很美好呢?
3、腹黑高冷才是真绝色
然而,也有君子搞不定的时候,因为毕竟不是所有的BUG都是光明正大的阳谋,让你可以知道
怎么去改正,就像拓扑连接不正确时,可以通过给阻容器件赋模型来解决。
有的BUG就像避无可避
的阴谋诡计,比如无法打开SigXploer,器件模型出问题等,无处着手时,这时候就需要剑走偏锋,腹黑的方法才能够一招致胜。
这次直接选择网络建立pin Pair,不管什么拓扑错误或是其他,直接
避过,建立点对点的连接,这也正是高冷风范,不管什么BUG,都是“我不听,我不听”。
然后再选择目标pin Pair,直接建立Match Group。
建立Match Group之后的步骤,就要问傻白甜了。
建立等长规则的方法有多种,不管遇上什么样的BUG,都会有方法去解决。
问题来了
在上面拓扑图中,U100、U101、U102、U103、U104除了举例中的等长约束规则,为了达到相同的等长目的,还可
以设置什么样的等长约束规则(举例中是U100-U101,控±20mil;U100-U102,控±30mil;U100-U103,控±40mil;U100-U104,控±50mil)?。