allegro 群组布线
ALLEGRO DDR布线规则

ALLEGRO约束规则设置步骤(以DDR为例)Dyyxh@pcbtechtzyhust@本文是我对约束规则设置方面的一些理解,希望对新手能有所帮助.由于本人水平有限,错误之处难免,希望大家不吝赐教!在进行高速布线时,一般都需要进行线长匹配,这时我们就需要设置好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就可以了.。
Allegro操作说明(中文) Word 文档

26、非电气引脚零件的制作1、建圆形钻孔:(1)、parameter:没有电器属性(non-plated)(2)、layer:只需要设置顶层和底层的regular pad,中间层以及阻焊层和加焊层都是null。
注意:regular pad要比drill hole大一点27、Allegro建立电路板板框步骤:1、设置绘图区参数,包括单位,大小。
2、定义outline区域3、定义route keepin区域(可使用Z-copy操作)4、定义package keepin区域5、添加定位孔28、Allegro定义层叠结构对于最简单的四层板,只需要添加电源层和底层,步骤如下:1、Setup –> cross-section2、添加层,电源层和地层都要设置为plane,同时还要在电气层之间加入电介质,一般为FR-43、指定电源层和地层都为负片(negtive)4、设置完成可以再Visibility看到多出了两层:GND和POWER5、铺铜(可以放到布局后再做)6、z-copy –> find面板选shape(因为铺铜是shape)–> option面板的copy to class/subclass选择ETCH/GND(注意选择create dynamic shape)完成GND层覆铜7、相同的方法完成POWER层覆铜Allegro生成网表1、重新生成索引编号:tools –> annotate2、DRC检查:tools –> Design Rules Check,查看session log。
3、生成网表:tools –> create netlist,产生的网表会保存到allegro文件夹,可以看一下session log内容。
29、Allegro导入网表1、file –> import –> logic –> design entry CIS(这里有一些选项可以设置导入网表对当前设计的影响)2、选择网表路径,在allegro文件夹。
Allegro原理图和PCB设计流程学习指南

Allegro原理图和PCB设计流程学习指南一、非电气引脚零件的制作1、建圆形钻孔:1)、parameter:没有电器属性(non-plated)2)、layer:只需要设置顶层和底层的regular pad,中间层以及阻焊层和加焊层都是null。
注意:regular pad要比drill hole大一点。
二、Allegro建立电路板板框步骤:1、设置绘图区参数,包括单位,大小。
2、定义outline区域3、定义route keepin区域(可使用Z-copy操作)4、定义package keepin区域5、添加定位孔三、Allegro定义层叠结构对于最简单的四层板,只需要添加电源层和底层,步骤如下:1、Setup –> cross-section2、添加层,电源层和地层都要设置为plane,同时还要在电气层之间加入电介质,一般为FR-43、指定电源层和地层都为负片(negtive)4、设置完成可以再Visibility看到多出了两层:GND和POWER5、铺铜(可以放到布局后再做)6、z-copy –> find面板选shape(因为铺铜是shape)–> option面板的copy to class/subclass选择ETCH/GND(注意选择create dynamic shape)完成GND 层覆铜7、相同的方法完成POWER层覆铜四、Allegro生成网表1、重新生成索引编号:tools –> annotate2、DRC检查:tools –> Design Rules Check,查看session log。
3、生成网表:tools –> create netlist,产生的网表会保存到allegro文件夹,可以看一下session log内容。
五、Allegro导入网表1、file –> import –> logic –> design entry CIS(这里有一些选项可以设置导入网表对当前设计的影响)2、选择网表路径,在allegro文件夹。
Allegro使用技巧

Allegro使用技巧这几个分别是通用,布局,布线。
右键不一样,注意区别,最后一个是修剪直角。
Allegro技巧有太多了,就先选择我们会用到的10个类型。
Allegro封装神器FPM,写进教科书的网友作品。
快速生成封装。
•快速丝印丝印摆放总共分三步。
第一步调整统一大小先打开丝印层。
选择Edit-change,在find中只选择text,options中只选择text block并设置成自己需要的字体。
框选左右丝印。
第二步全部居中Manufacture-label Tune弹出label tune:配置如上,框选所有字体。
字体自动对齐器件中心。
如果没有label Tun选型,选择file-change edit勾选allegro productivity toolbox第三步放到合适位置可以第二步中的Center text设置好便宜距离之后,框选对应字体,对于0603元件通常短边60,长边110。
对于不规则或者密集器件,只能手动摆放。
•器件对齐除了选择大个网格摆放对齐外,对于高密度板,我们可以利用allegro的对齐功能进行器件对齐1.选择第二个placementedit2.框选需要对齐器件后,右键选择Align components 根据需要选择对齐模式,同时可以通过equal spaceing选择间距。
•Env文件Env可以快速的配置快捷键,比如实现AD里面的“空格”旋转器件(这里设置的是R)。
我们通常配置为全局量。
位置在...\Cadence\SPB_Data\pcbenv 下,直接替换即可。
替换前注意保存原来的set padpath等路径。
不然替换后还要重新设置路径。
快捷键有两种alias和funckey,Alias对于字母、数字类快捷键需要回车才会执行,Funckey则无需回车。
部分设置如下:funckey A slide #修线funckey B unrats net #关掉网络飞线funckey C change #改变属性funckey D shape select #修改铜皮funckey E add line #添加没有电气属性的线funckey F Delay Tune #等长蛇形线funckey G define grid #格点设置funckey H hilight #高亮funckey I zoom in #放大funckey J dehilight #取消高亮funckey K swap components #器件位置交换funckey L mirror #镜像funckey M move #移动funckey N show element #查看属性funckey O zoom out #缩小funckey P show measure #测距funckey Q done #完成funckey R angle 90 #旋转90funckey S shape add #添加铜皮funckey T text edit #文本编辑funckey U Assign Color #用颜色高亮funckey V rats net #打开网络飞线funckey W add connect #走线funckey Y Shape Edit Boundary #切割铜皮funckey Z align components #对齐使用注意事项,1.大小写匹配,2.输入快捷键前没有输入其他字母,可以在cmmand栏查看•增加组同样在placementedit下选中需要设置为同一组的元件,右键add to group,这样在移动的时候在find中选中groups,就可以一起移动了•相似布局对于具有相似的元件特别是电源电路,我们可以利用allegro的相似布局功能,快速布局1.先补好一组布局,右键place replicate create,再次右键选择done。
Allegro对BGA封装布线

Allegro对BGA封装布线Allegro对BGA封装布线由于S3C2410或者2440是采用的BGA封装,看了网上专门有BGA封装的电子资料,是介绍规则的,但是我感觉做起来非常麻烦,所以就觉得是否可以采用最直接的办法使用allegro的扇出功能呢?首先是设置通孔,这个在约束条件管理器中设置点击物理规则(physical rule set)设置中的Set values一定注意这个地方的设置如果你想采用的过孔没有出现在左边的方框内,请查看是否正确设置了user preference设置中的Design_paths中的psmpath和padpath,我是把自己放置通孔的路径增加进去了。
这种方式是最直接修改过孔的办法,另一种是在过孔以后使用tools->padstack->replace 功能来替换,那个比较麻烦。
还是设置约束规则比较好。
设置好了通孔我们就用扇出功能,在Route点击Fanout By Pick,这时可以右键鼠标选择setup 对扇出进行设置,然后选中s3c2410/2440,此时就会看到扇出后的效果了感觉很漂亮而且符合BGA布线的规则,即发射形状,不过最外边的那一排不需要扇出,所以在菜单Edit->delete,然后在过滤Find中只选择Clines和Vias,一般是把四周最外边的三排全部删除了,也可以在布线的同时修整扇出,现在开始对其进行布线了,不过根据布线的走向和密度我决定先从通孔引出到封装外部再进行群组走线,点击Route-Connect,一定要注意右边Options中的Bubble选择正确,如果是Shove preferred(推挤前面的)就会把相邻的布线给挤掉了,如果选择Hug preferred(拥抱前面的)就会在邻近的布线时出现合并现象,这也是不允许的,如果是Off就不会自动避开相近的布线,而Hug only就只是靠近或者拥抱相邻的布线不会出现合并,所以在这里选择Hug preferred。
ALLEGRO常见问题大全解析

ALLEGRO常见问题大全Q: Allegra中颜色设置好以后,应该可以导出相关设置文件,下次碰到不同设置的板子,看着难受就可以直接读入自己的文件改变设置了A:16.2版本的可以这样做:file->export->parameters,选中颜色就行了,其它的参数一样可以保存。
Q:ALLEGRO 自动布线后,为直角.如何调整成45度角走线A: ROUTE --GLOSS---PARAMETERS---CONVERT CORNET TO ARC一、群组布线;群组布线包括总线布线和一次布多外Trance.1.一次布多个Trance .鼠标左键进行选择多外PIN,或VIA. 同时可以在布线过程中用右键切换到单线模式。
群组布线只能在一个层中,不允许打过孔。
也可以在群组布线过程中,右键,“CHANGE Control Trace”Cadence CIS即原理图中,放大缩小缩小的快捷键按住CTRL键+鼠标中间滚轮)5. ALLEGRO 出光绘文件前,最好加个PHOTO_OUTLINE,确认输出光绘文件的范围Class: manufacture — Subclass: photoplot outline6. 光绘设置详解/bbs/viewthread.php?tid=28&page=1ALLEGRO 标注 1. dimension linear : 对于比较规则,简单的板子,通常采用.2.dimension datum :对于较复杂的板子可以采用。
先确定一个基准点,接下来对每个点所标注的数据都是相对基准点的坐标值。
Manufacture------dimension/draft -----dimension linear / dimension datum2.表层铺铜时,由于铺铜和PIN 的间距问题,在PIN 和PIN 之间经常产生一些尖角。
产生这种原因的解决办法:一。
一个一个修改Boundary二。
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多人合作PCB布局走线步骤

allegro多人合作PCB布局走线步骤allegro具有多人合作的灵活性,一块比较复杂的PCB可以多人分模块设计,然后通过简单的几个步骤就可以将各个模块衔接起来。
这样可以提高工作效率和缩短PCB开发时间。
下面以一块PCB为实例向你介绍操作方法。
Allegro 版本:16.31.多人布局如上图,假如A同事布局好了一块功能模块,现B同事需要调用A同事完成好的布局。
点击File->Export->Placement默认Export就可以了。
下是B同事没有布局空白区域,现导入A同事的布局File->Import->Placement和A同事的布局就一模一样了注意:A和B同事的文件必须是同一文件,原点必须在同一位置。
2.多人布线。
Allegro的多人布线是通过sub-drawing来实现的,多人合作最好是分模块分区域设计,各同事走线尽量不要进入其他同事的区域。
首先设置下allegro的环境参数中sub-drawing路径,Setup->User preference->Paths->config->clippath 双击现在路径指定到你想存入的位置。
OK两次关闭对话框。
下图是B同事完成的走线。
现需要将它粘贴到A同事的文件中。
点击File->Export->sub-drawing在Find面板中勾选你想要输出的东西,在options面板中保留你想要的输出然后按住鼠标左键拖出你想输出的PCB部分选中的部分会高亮在命令栏中输入x 0 0,它代表你输出是以原点为参考点的。
然后会弹出对话框记住这个路径很重要,一定要是我们先前设置环境参数时你所定义的路径,要不导入时你会找不到这个输出的文件。
A同事没有走线图如下选中File->Import->sub-drawing双击standard后,鼠标上会粘附这一个小方块,在命令栏输入x 0 0看看B同事完成的内容是不是就到A同事中间了,多人完成的步骤和两人合作的道理是一样的,以此类推。