ALLEGRO DDR布线规则

合集下载

allegro教程之基本规则设置布线规则设置线宽及线间距的设置

allegro教程之基本规则设置布线规则设置线宽及线间距的设置

A l l e g r o教程之基本规则设置布线规则设置线宽及线间距的设置-CAL-FENGHAI.-(YICAI)-Company One1在PCB设计过程中,需要通过设置各种规则,以满足各种信号的阻抗。

比如,常用的高速差分线,我们常控的100欧姆,那么到底走多宽的线以及差分线之间的间距到底是多少,才能满足设计要求的100欧姆阻抗呢本文就对 Allegro 种的基本规则设置做一个详细的讲解。

注:本文是基于 Allegro 15 版本的。

对于16版本不适用。

首先需要打开规则管理器,可通过以下三种方式打开:一、点击工具栏上的图标。

二、点击菜单Setup->Constraints三、在命令栏内输入 "cns" 并回车打开的规则管理器如下:在最上面一栏有一个On-line DRC,这是对画板过程中不停检测是否违反规则,并可产生DRC。

一般我们都默认开启。

可以实时查看产生的 DRC 错误,并加以修正。

接下来的 Spacing rule set 是对走线的线间距设置。

比如对于时钟线、复位线、及高速查分线。

我们可以再这里面加一规则,使其离其它信号线尽可能的远。

Physical(lines/vias)rule set 是针对各种物理规则设置,比如线宽,不同信号线的过孔等。

例如我们可通过电源网络的设置,使其默认线宽比普通信号走线更粗,已满足走线的载流能力。

现针对一个时钟及电源,分别设置间距规则和物理规则。

首先筛选网络,对于需要设置线间距规则的网络赋上 Net_Spacing_Type 属性、而对于需要设置线宽规则的网络赋上 Net_Physical_type 。

而对于即要线间距和线宽规则约束的网络,可将Net_Spacing_Type 及Net_Physical_type 属性同时赋上。

本例针对的时钟网络,只需要对其赋上Net_Spacing_Type ,方法如下:点击菜单 Edit->Properties然后在右侧 Find 一栏中选择 Nets 。

DDR布线规则与过程

DDR布线规则与过程

DDR布线规则与过程DDR(Double Data Rate)是一种高速数据传输技术,广泛应用于计算机内存和图形显示等高性能系统中。

DDR布线规则是为了确保高速信号传输的稳定性和可靠性而制定的一系列设计准则和规定。

本文将详细介绍DDR布线规则及其过程。

一、DDR布线规则的重要性DDR技术的高速性质意味着信号传输时间短,信号噪声和衰减问题更加严重。

因此,DDR布线规则的设计是十分关键的,可以有效地降低信号间干扰、串扰、反射等问题的发生,提高系统的稳定性和可靠性。

二、DDR布线规则的要求1.电源稳定性:要求供电电源电压稳定,电源噪声小。

这可以通过良好的电源布线和滤波电容选择来实现。

2.信号路径长度匹配:DDR数据总线的信号路径要尽可能保持长度一致,以确保数据到达目标时的同步性。

为了实现这一点,可以通过合理的排布布线,尽量减少信号的走向差距。

3.数据总线的分层:DDR需要同时传输数据和控制信号,为了减少信号间的干扰和串扰,可以将数据总线、地址总线和控制总线进行分层布线。

4.阻抗匹配:DDR布线需要保证布线阻抗与驱动器输出阻抗和信号链路阻抗匹配,这可以通过合理选择布线宽度和参数来实现。

一般DDR总线要求的阻抗为50欧姆。

5.信号噪声和干扰控制:DDR信号传输速率较高,因此对信号噪声和干扰的要求也比较高。

可以通过地线的合理设计和布线的分隔来降低信号之间的干扰和串扰。

6.信号层间过渡:DDR布线需要在信号层之间进行适当的过渡,以保证信号在不同层之间的传输质量。

三、DDR布线规则的过程1.系统规划:根据设计要求和系统需求进行布线规划。

包括信号的传输速率、总线宽度、电源供应,以及寄存器、驱动器和接收器等元器件的选择。

2.PCB布局:设计合理的PCB布局,合理安排器件和信号线的位置,减少信号线走向差距。

可以使用CAD软件进行布局,避免布线时出现冲突。

3.信号层划定:根据信号层的需要,对PCB进行分层划定。

数据总线、地址总线和控制总线等可以分层进行布线,以减少干扰和串扰。

Allegro布线重要事项

Allegro布线重要事项

1:零件制作1.1:smd PAD单边加大0.3MM,两边加大0.3*21.2:dip pad单边加大0.3MM,两边加大0.3*21.3:dip pad上下层都需要soldermask1.4: smd PAD TOP层soldermask&pastemask1.5:smd PAD&dip pad需要有1PIN表示1.6:dip pad 1PIN需要做方型1.7:金手指需要全部开窗1.8:零件的高度:机构中会告诉你零件的高度位置,如果没有零件高度,那么机壳就会碰到,所以需要零件高度1.9:零件摆放的重要性:零件摆放的决定电源的流向性是否通常,以及线路信号的连接性是否干净整洁2.0:文字表达:文字的表达,方便焊接工人的焊接,以及后续修理工的维修2:走线规则2.1走直线,并且拐弯用45度,2.2:不可以从零件的肚子中间穿线,如电容,电阻,IC,等,(电源或PAD间距比较小的)2.3:不要有多余线头或VIA2.4:电源线需要都比常规线宽2.5:VIA不可以打在PAD上面3:LAYOUT 步骤3.1:按照SPEC制作零件3.2:按照客户提供的XLS,PDF,DXP等制作DSN(网路信号)3.3:导入客户提供的DXP(机构),部分可能只是提供长宽尺寸(金手指部分用0.2圆角)ROUTE KEEPIN ALL请做0.2MM3.4:打开一个新的ALLGERO,将路径(SETUP)指向需要的零件位置3.5:IMPORT (NET.TXT或ALLEGRO文件)3.6:PLACE MANULLY 拿出菜单中所有NETIN进去的零件3.7:将零件放进客户所提供的固定位置,(需要看清楚放在TOP还是BOT)3.8:rule设置,将客户提供的线宽,线距提前设置进去,(杂线一般使用0.15MM),LOGIC-ASSIGN DIFFERENTIAL PAIR设置配对走线3.9:请优先将重要线LAYOUT,如:(DIFF,CLK,USB,SATA,PCIE,等。

allegro经验总结

allegro经验总结

Layout注意事项1,走线尽量走直线,少弯折Better poor 2,走线拒绝直角或锐角Better poor3,T型线的走法:Better poor4,信号线请不要无故绕远走,这样会增加走线的长度5,换层via不易过多(高速信号线via以不大于2个为佳,普通信号线via数尽量不要大于pin数),且换层不宜过快。

(下图跳层太快)Poor6,高速信号线在换层时要伴GND via(如下图)Better7,differential pair 一对线之间的间距要始终保持一致BetterpoorBetter poor5mil 5mil 5mil 5mil8mil5mil8, 小型电阻电容两pin之间不要穿线Poor9,一般每个GND pin要打一个gnd via,不要几个pin共享一个via,大pin要打两个以上Better poor10,转电压时: 1via(big)=2via(small)=40mil(shape)=1A.且在电压转换时,GND via数量要取决于power via,两都要大致相当。

Gnd via=power via11,shape 要铺的平整美观,且shape不要离其它pin太近,以防短路。

Better poor12,电源要先过Bypass电容再过IC pin脚Better poor13,GND via 要靠近pin脚打,不要拉的太远Better poor14,IC相邻两pin如有相连关系,则应拉出pin再连,不可在两pin 内侧直接相连Better poor 15,多条走线一起换层via要打的整齐美观Better poor16,打via时要照顾到内层plane的宽度要求Better poor17,非大电流之power和GND走线宽20mil以上。

如果IC pin的宽度小于20,则与pin同宽即可。

18,讯号线要先经过电阻电容再到connector pinBetter poor19,BGA打via要有技巧,不要堵塞其它层的走线或打碎内层plane, 如下图OK20,重要信号线不能走在转电压器件(如大电感、chock)等零件下方,这些零件下方也不要打其它viaBetter poor21,Crystal要包地,并打gnd via,如下图OK22,Audio 区域不允许穿插其它信号线(任何一层都不允许)23,当boardfile中有铺动态shape时,记得Dynamic fill这个选项一定要选中smooth,不然即使短路也不会产生drc24, 走线注意不要让防焊造成短路(下图蓝色为防焊)且线距防焊、防焊距防焊至少3mil以上。

allegro 布线

allegro 布线

1.怎样建立自己的元件库?建立了一个新的project后,画原理图的第一步就是先建立自己所需要的库,所采用的工具就是part developer. 首先在建立一个存放元件库的目录(如mylib),然后用写字板打开cds.lib,定义: Define mylib d:\board\mylib(目录所在路径). 这样就建立了自己的库。

在Concept_HDL的component->add,点击search stack,可以加入该库。

2.保存时Save view和Save all view 以及选择Change directory 和不选择的区别?8建立好一个元件库时,首先要先保存,保存尽量选择 save view。

在concept-HDL中,我们用鼠标左键直接点击器件后,便可以对器件的外形尺寸进行修改,这时如果你再进入part developer做一些修改后,如果选择save all view会回到原来的外形尺寸,而选save view! e$ c& u3 W( V5 x. Y2 U会保留改动后的外形。

3.如何建part库,怎么改变symbol中pin脚的位置?在project manager中tools/part developer可建立,选择库并定义part name,在symbol中add symbol,package中add package/addpin,依次输入pinpackage中a, Name : pin’s logical name不能重复b, pin : pin的标号,原理图中backannotate后相应的标号c, pin type: pin脚的类型(input,output等,暂可忽略)d, active:pin的触发类型 high(高电平),low(低电平)e, nc:填入空脚的标号f, total:此类型的所有pin脚数:g,以下暂略0symbol中:a, logical name:对应package中的name2b, type:对应package中的type6c, position:pin脚在器件中位置(left , right , top , bottom)d, pintext:pin在器件中显示的name(对应package中的pin,但可重复,比如package中"的gnd1和gnd2都可设为gnd)e, active:对应package中的active修改:用part developer打开要修改的器件,*选择edit/restrict changes(若不选择,则器件被保护,修改后存盘无效),一般修改:a, package中相应pin的标号和name)b, pin的active类型c, symbol中各pin脚的顺序(pin脚的顺序在第一次存盘后再次打开会被改变,对于较多pin脚的器件,如232pins,修改较繁琐,故尽力保证的一次的成功率。

Allegro线宽、间距、等长、差分

Allegro线宽、间距、等长、差分

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 。

allegro绕线规则

allegro绕线规则

Ddr3的走线及绕线规则On board1:时钟线(一)走线时钟线要走菊花链的形式拓扑图:(二)绕线Clk to fist sdram<=6000mil (clk 到第一个 SDRAM走线的长度<=6000MIL)Clk to last sdram<=12000mil(clk 到第一个 SDRAM走线的长度<=12000MIL)Clk pair to each sdram matched within<=2mil(时钟线到每一个SDRAM差分对间的误差<=2mil)550MIL<=L5-L11<=750MILL5-L11 matched within<=5mil(在做等长时,最好将clk的L5-L11做成同一个数值,小数点后面的值可以忽略)L4(A…H)是指top和bottom层的走线。

2:数据线(一):拓扑结构(二):绕线的规则Length to sdram<=6500milStrobe pair matched within<=2milStrobe to clk last sdram matched within :clk-5350<=dqs<=CLK-3850(strobe与clk到last SDRAM长度的匹配关系为:clk-5350<=dqs<=CLK-3850)DQ(指的是数据线)matched dqs+/- within<=10mil(在绕线的时候要选dqs作为基准)每个网络数据线从顶底层出来的走线要等长(指的是L4要等长)3:COMMAND线(一)走线拓扑结构(二)绕线规则Length to fist sdram<=6000mil (cmd到第一个 SDRAM走线的长度<=6000MIL)Length to last sdram<=12000mil(cmd到第一个 SDRAM走线的长度<=12000MIL)与时钟的关系Cmd to clk+/- to fist sdram:clk-500<=CMD<=CLK+500Cmd to clk+/- to last sdram:clk-500<=CMD<=CLK+500550MIL<=L5-L11<=750MIL(在设置规则时应将COM的同一网络的L5-L11与clk的L5_L11设置在同一个match group内,因为COM有22根网络,所以要设置22个match group,在设置tolerance时设置成下面的数值:0:2.5MIL)L4(a…h)<=200mil,同一个网络的L4(a…h)要等长,误差为0mil。

DDR布线规则与过程

DDR布线规则与过程

[转]D D R布线规则与过程硬件设计,?高频高速PCB设计?by?xfireDDR高速电路设计DDR布线通常是一款硬件产品设计中的一个重要的环节,也正是因为其重要性,网络上也有大把的人在探讨DDR布线规则,有很多同行故弄玄虚,把DDR布线说得很难,我在这里要反其道而行之,讲一讲DDR布线最简规则与过程。

如果不是特别说明,每个步骤中的方法同时适用于DDR1,DDR2和DDR3。

PCB设计软件以为例。

文章目录?[显示]第一步,确定拓补结构(仅在多片DDR芯片时有用)首先要确定DDR的拓补结构,一句话,DDR1/2采用星形结构,DDR3采用菊花链结构。

拓补结构只影响地址线的走线方式,不影响数据线。

以下是示意图。

星形拓补就是地址线走到两片DDR中间再向两片DDR分别走线,菊花链就是用地址线把两片DDR“串起来”,就像羊肉串,每个DDR都是羊肉串上的一块肉,哈哈,开个玩笑。

第二步,元器件摆放确定了DDR的拓补结构,就可以进行元器件的摆放,有以下几个原则需要遵守:原则一,考虑拓补结构,仔细查看CPU地址线的位置,使得地址线有利于相应的拓补结构原则二,地址线上的匹配电阻靠近CPU原则三,数据线上的匹配电阻靠近DDR原则四,将DDR芯片摆放并旋转,使得DDR数据线尽量短,也就是,DDR芯片的数据引脚靠近CPU原则五,如果有VTT端接电阻,将其摆放在地址线可以走到的最远的位置。

一般来说,DDR2不需要VTT端接电阻,只有少数CPU需要;DDR3都需要VTT端接电阻。

原则六,DDR芯片的去耦电容放在靠近DDR芯片相应的引脚以下是DDR2的元器件摆放示意图(未包括去耦电容),可以很容易看出,地址线可以走到两颗芯片中间然后向两边分,很容易实现星形拓补,同时,数据线会很短。

以下是带有VTT端接电阻的DDR2元器件摆放示意图,在这个例子中,没有串联匹配电阻,VTT端接电阻摆放在了地址线可以到达的最远距离。

以下是DDR3元器件摆放示意图,请注意,这里使用的CPU支持双通道DDR3,所以看到有四片(参考设计是8片)DDR3,其实是每两个组成一个通道,地址线沿着图中绿色的走线传递,实现了菊花链拓补。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ALLEGRO约束规则设置步骤(以DDR为例)
Dyyxh@pcbtech
tzyhust@
本文是我对约束规则设置方面的一些理解,希望对新手能有所帮助.由于本人水平有限,
错误之处难免,希望大家不吝赐教!
在进行高速布线时,一般都需要进行线长匹配,这时我们就需要设置好constraint规则,并
将这些规则分配到各类net group上.下面以ddr为例,具体说明这些约束设置的具体步骤.
1. 布线要求
DDR时钟: 线宽10mil,内部间距5mil,外部间距30mil,要求差分布线,必需精确匹
配差分对走线误差,允许在+20mil以内
DDR地址,片选及其他控制线:线宽5mil,内部间距15mil,外部间距20mil,应走成
菊花链状拓扑,可比ddrclk线长1000-2500mil,绝对不能短
DDR数据线,ddrdqs,ddrdm线:线宽5mil,内部间距15mil,外部间距20mil,最好在
同一层布线.数据线与时钟线的线长差控制在50mil内.
2. 根据上述要求,我们在allegro中设置不同的约束
针对线宽(physical),我们只需要设置3个约束:DDR_CLK, DDR_ADDR,
DDR_DATA
设置好了上述约束之后,我们就可以将这些约束添加到net上了.点击physical rule set
中的attach……,再点击右边控制面板中的more,
弹出对话框
如上图所示,找到ckn0和ckp0,点击apply,则弹出
选中左边列表中的NET_PHYSICAL_TYPE, 在右边空格内输入DDR_CLK, 点击apply,
弹出
即这两个net已经添加上了NET_PHYSICAL_TYPE属性,且值为DDR_CLK. 类似的,可以将DDR数据线,数据选通线和数据屏蔽线的NET_PHYSICAL_TYPE设
为DDR_DATA, DDR地址线,片选线,和其他控制线的NET_PHYSICAL_TYPE设为
DDR_ADDR.
上述步骤完成后,我们就要将已经设好的约束分配到这些net group上. 如下图点击assignment table……
弹出对话框
如下图所示,我们对不同的信号组选择各自的physical约束
有人可能会问,为什么你这还有area0,area1啊这是因为你的这些约束有的地方不可
能达到的,比如在bga封装的cpu内,你引线出来,线间距不可能达到
30,20甚至10
个mil.在这些地方,如果你也按照这个约束那么你的pcb中的drc就不可能消的掉.这
时一个解决办法就是把这些地方划为一个room,然后给他加上room 属性(即为room
的名字area0,1等等).针对这些room内,设定合适的约束(同上).
针对线间距,由于每个都分为组内间距和组外间距,所以共有6个约束: DDR_CLK_INNER,DDR_CLK_OUTER,…………………………
我们只要对这六个约束设置line to line 和line to shape就可以,分别按上述要求设置就
可以了.
剩下的步骤和physical中设置是一样的.不过这时assignment table变成了下面这样.
下面就是设置线的等长.这个需要我们到Ecset中设置.这些高速线一般都需要端接匹
配(数据线由于是双向的,两端都有匹配电阻),所以你的整个etch被分成了好几个net,
这时候这些net的长度计算就比较麻烦.一种情况就是你设置XNET,然后对Xnet计算长
度,我认为这是最省事也是最好的一种办法,还有就是你不管什么Xnet,分别将各段的
长度加起来,算等长.
注: 这个时候有个很矛盾的事情,就是你的时钟线如果想定义为来走,即让
allegro自己等间距的一次拉,你就不能将之定义为Xnet,我自己用的时候是这样
的,我在将时钟线对应的xnet删除后,时钟线就可以成对的拉,而之前尽管设置好了差
分属性,系统也是不认的.不知道大家有没有这个经验.
下面我就讲讲如何设置这些约束,并将这些约束加到对应的xnet上. 点击或setup》electrical constraint spreadsheet,弹出
点击electrical constraint set》routing》total etch length,右边如上图所示出现brd名字,
右键点击brd名字,弹出如下右键菜单
如上图点击create ECset,则弹出
输入DDR_ADDR, 点击ok,则brd名字前出现+号,打开之,可以见到设置好的
DDR_ADDR.
现在针对DDR_ADDR,就可以设定具体的参数了.比如,你可以将最小长度设定为
1600mils, 最大长度设为2500mils.
这个参数的取得其实取决于你的时钟走线拓扑,因为按照走线要求,数据线,地址线等
等都是以时钟线为基准的,所以,你必须先把时钟线布好,至少以后不
能做大的改动,
除非你能保证时钟线走线长度不变.这里我们假设你的时钟线长为1550mil+10mils,则
显然你的地址线不能短于1560mils,我们取为1600mils.
同时我们也可以得到数据线的走线范围为1525+25mils.
类似我们设置好时钟和数据线的约束.
至此,我们设置好了线长约束规则.下面的问题就是如何应用这些规则到net上去.
设定好了Xnet以后,我们就可以在约束管理器中给这些Xnet添加约束. 这时,打开net》routing》total etch length,将右边brd名前+打开,下面则是所有的net
名,拖动鼠标选中需要设置约束的那组信号,点击右键,弹出邮件菜单,选中菜单中的
ECset Reference ,见下图.
弹出对话框
选中下拉列表中的DDR_ADDR,则对刚才选中的哪些xnet添加上了DDR_ADDR约束.
类似的可以添加DDR_DATA,DDR_CLK约束.
设置Xnet主要就是给相关的电阻加上model就可以了.。

相关文档
最新文档