allegro学习问题总结日志.docx
《allegro学习问题总结日志.docx》由会员分享,可在线阅读,更多相关《allegro学习问题总结日志.docx(24页珍藏版)》请在冰豆网上搜索。
![allegro学习问题总结日志.docx](https://file1.bdocx.com/fileroot1/2023-1/26/79eb85f9-513c-4fe0-af69-a763edd5bf9c/79eb85f9-513c-4fe0-af69-a763edd5bf9c1.gif)
allegro学习问题总结日志
Allegro初学习问题总结
1.0基本功能及常应用2
1.1制作一个板子,对于边框要考虑实际的应用,这时需要将边框做成弧形,以免伤手。
如图下2
1.2分割覆铜图解3
1.3ALLEGROPCB制版,遇到的问题?
5
1.3.1焊盘制作5
1.3.2原点定义6
1.4.1布局与布线以及细节问题7
1.5快捷键设置。
9
1.6z-cope覆铜11
1.7网络属性的修改12
1.71引脚网络属性的修改。
12
1.72shape网络属性的修改。
12
1.9DRC处理13
1.91对于outofdateshape错误如何修改14
1.10BGA布线设置规则14
2.0Cadencelayout布局布线常见问题详解18
丁辉---2010.6.4--
1.0基本功能及常应用
1.1制作一个板子,对于边框要考虑实际的应用,这时需要将边框做成弧形,以免伤手。
如图下
可以吧直角转换为圆弧角!
选择后点击两边即可。
选择Fillet之后,在画的长方形两边,点击下就可以形成一个弧形,弧形的大小在OPTION里面设置。
1.2分割覆铜图解
1.3ALLEGROPCB制版,遇到的问题?
1.3.1焊盘制作
1.制作焊盘时要根据具体尺寸来,在命名时要能够一看就知道什么样的焊盘。
2.在制作封装时候:
a)如果要引用自己的做的焊盘,一定要在建packagesysbol的面板中设置好自己焊盘以及封装的路径,焊盘和封装各用一个文件夹装起来,避免混乱不清。
(这个路径一定要设置对,如果你做了一个封装,用了别个库的焊盘,此时也应该把另一个库的焊盘路径设置出来)
b)封装做完后:
一个要确定做的器件的名称,
不然你在PCB调入网络表的时候就调不进去。
在这里面设置焊盘的路径,以及封装的路径。
有热风焊盘的时候,也需要添加到里面去。
1.3.2原点定义
还有要对说做的期间进行定位,就是确定原点。
若没确定原点就会在PCB调入时,点击器件就会跑的很远。
下面的是原点,
如何确定原点,就是已经做好的封装的中心左边值是多少,就在上面的填入坐标值。
做封装的时候在放焊盘的时候,一定要从编号1放,也不能缺号,不然你就在调入网络表的时候就会显示没有发现焊盘的号码!
1.4.1布局与布线以及细节问题
1.在布局前设置层次板时,根据需求设置层次,若有多个电源或者信号干扰很大时就采用多层。
2.在画封装时,用ADDline画丝网印。
不要用shapeadd。
。
。
如图
3.
这样做的后果会把封装看不清楚。
这在覆铜的时候用。
4.设置过孔、定位孔、
要选择通孔类型,做过孔的时候钻孔需要灌锡(plated)。
在做定位孔(non-plated)时不要要灌锡。
过孔做好后,在setup里面选择constrains
将才做的过孔添加进来,放在右边。
在画PCB板得时候,双击两下,就会出现通孔!
在布线的时候,线进入焊盘一定要只要从口进入。
还有如果,板子上出现小三角形符号,说明top与bottom这两层的导线就是布得线没有分top与bottom。
布线时顶层与底层的线要设置的不一样。
便于查看。
1.5快捷键设置。
将
快捷键脚本或者颜色脚本添加到文件夹,D:
\Cadence\SPB_15.5.1\share\pcb\text\script中后,在flie里面选择script
在library里面选择才添加的文件。
Replay,Ok就可以运行了。
1.6z-cope覆铜
方法如下,
(1)
选择方框
控制栏选择要覆铜的层次,再选择solid.画好后,选择地GND1就完成覆铜。
(2)
选择createdynamicshape采用动态覆铜。
1.7网络属性的修改
1.71引脚网络属性的修改。
1.72shape网络属性的修改。
1.8布线完成后工作准备。
器件重新排列序号
Logic-autorenamerefdes-rename
器件标号字体大小设置
Setup-textsize
删除孤岛
Shape-deleteisland
坐标文件输出
File-export-placement
机械图输出
File-export-Dxf
Gerber文件生成
(1)设置图纸大小
(2)设置属性
(3)设置动态覆铜参数及artworkformat
Shape–globaldynamicshapeparameters中选择smooth自动填充挖空viodcontrol里面选择Gerber类型里面选择gerberrs274
】
1.9DRC处理
对于一般出现的错误,需要去查找错误的一些信息,用
然后在控制面板选择DRC,这工具范围很广,也可以看元件以及管教网络等属性。
对于ic封装放置后出现很多DRC
引起这种原因是,间距设置规则的问题!
需要在setSMDTOSMD间距大小。
1.91对于outofdateshape错误如何修改
1.10BGA布线设置规则
1.首先得设置线间距
2.
3.还得选择shape
给BGA画一个外框,画框时得在
这个SUBclass,画好BGA的外区域框后,惦记edit
里面的properties,要选择shape
4.
设置布线规则后,在回到设置规则里面。
选择ASSIGNMENTTABLE选择
就OK了。
布线的时候,电源层需要画一条分割线,讲内部电源包起来,还要与底层保持一个间距形成电压差,能够有效去除电磁干扰
2.0Cadencelayout布局布线常见问题详解
1.怎样建立自己的元件库?
建立了一个新的project后,画原理图的第一步就是先建立自己所需要的库,所采用的工具就是partdeveloper.首先在建立一个存放元件库的目录(如mylib),然后用写字板打开cds.lib,定义:
Definemylibd:
\board\mylib(目录所在路径).这样就建立了自己的库。
在Concept_HDL的component->add,点击searchstack,可以加入该库。
2.保存时Saveview和Saveallview以及选择Changedirectory和不选择的区别?
建立好一个元件库时,首先要先保存,保存尽量选择saveview。
在concept-HDL中,我们用鼠标左键直接点击器件后,便可以对器件的外形尺寸进行修改,这时如果你再进入partdeveloper做一些修改后,如果选择saveallview会回到原来的外形尺寸,而选saveview
会保留改动后的外形。
3.如何建part库,怎么改变symbol中pin脚的位置?
在projectmanager中tools/partdeveloper可建立,选择库并定义partname,在symbol中addsymbol,package中addpackage/addpin,依次输入pin:
package中:
a,Name:
pin’slogicalname不能重复
b,pin:
pin的标号,原理图中backannotate后相应的标号
c,pintype:
pin脚的类型(input,output等,暂可忽略)
d,active:
pin的触发类型high(高电平),low(低电平)
e,nc:
填入空脚的标号
f,total:
此类型的所有pin脚数
g,以下暂略
symbol中:
a,logicalname:
对应package中的name
b,type:
对应package中的type
c,position:
pin脚在器件中位置(left,right,top,bottom)
d,pintext:
pin在器件中显示的name(对应package中的pin,但可重复,比如package中
的gnd1和gnd2都可设为gnd)
e,active:
对应package中的active
修改:
用partdeveloper打开要修改的器件,*选择edit/restrictchanges(若不选择,则器件被保护,修改后存盘无效),一般修改:
a,package中相应pin的标号和name
b,pin的active类型
c,symbol中各pin脚的顺序(pin脚的顺序在第一次存盘后再次打开会被改变,对于较多
pin脚的器件,如232pins,修改较繁琐,故尽力保证的一次的成功率。
pin脚在器件中的排列顺序是根据symbol中的顺序而定,故symbol中pin脚的顺序一定要正确,若有错需修改,选中pin按ctrl键配合上下键标可移动pin脚位置。
4.画电原理图时为什么Save及打包会出错?
当保存时出错,主要原因可能是:
所画的信号线可能与元件的pin脚重合,或信号线自身重合;信号线重复命名;信号线可能没有命名;在高版本中(版本14.0以上)中,自己所创建的库不能与系统本身带有的库名字相同;建库时,封装原件的管脚个数与原件库的管脚个数不同。
打包时会出错的原因则有可能是所做的封装类型与元件不匹配(如pin脚的个数,封装的类型名等。
5.在电原理图中怎样修改器件属性及封装类型?
在菜单Text下拉菜单中选择Attribute特性,然后点击器件,则弹出一Attribute窗口,点击Add按钮,则可以加入name,value,JEDEC_TYPE(封装类型)等属性。
6.如何在PadDesign中定义Pad/via?
及如何调用*.pad?
在paddesign中,建立pad时,type选single类型,应该定义下面几层的尺寸:
beginlayer(有时是endlayer),soldermask和pastemask。
建立Via时,type一般选through,定义drillhole的尺寸和所有的layer层(注意定义thermalrelief和antipad)以及soldermask。
一般Pastemask和Regular一样大,soldmask比layer的尺寸大几个Mil,而thermalrelief和antipad比regularpad的尺寸大10Mil以上。
7.做封装库要注意些什么?
做封装既可以在Allegro中File->New->packagesymbol,也可以使用Wizard(自动向
导)功能。
在这个过程中,最关键的是确定pad与pad的距离(包括相邻和对应的pad之间),以确保后期封装过程中元器件的Pin脚能完全的无偏差的粘贴在Pad上。
如果只知道Pin的尺寸,在设计pad的尺寸时应该比Pin稍大,一般width大1.2~1.5倍,length长0.45mm左右。
除了pad的尺寸需特别重视外,还要添加一些层,比如SilkScreen_top和Bottom,因为在以后做光绘文件时需要(金手指可以不要),RefDes也最好标注在Silkscreen层上,同时注意丝印层不要画在Pad上。
还应标志1号pin脚的位置,有一些特殊的封装,比如金手指,还可以加上一层Viakeepout,或者routekeepout等等,这些都可以根据自己的要求来添加。
操作上要注意的是建好封装后,一定不要忘了点击Createsymbol,不然没有生成*.psm文件,在Allegro就无法调用。
8.为什么无法Import网表?
在Allegro中File选项中选Import―――>logic,在importlogictype选HDL-concept,注意在Importfrom栏确认是工作路径下的packaged目录,系统有可能自动默认为是physical目录。
9.怎么在Allegro中定义自己的快捷键?
在allegro下面的空白框内,紧接着command>提示符,打入aliasF4(快捷键)roomout(命令)。
或者在Cadence安装目录/share/pcb/text里有个env文件,用写字板打开,找到Alias定义的部分,进行手动修改既可。
10.怎么进行叠层定义?
在布线完成之后如何改变叠层设置?
Cross-section。
如果想添加层,在Edit栏选Insert,删除为del,材料型号,绝缘层一般为FR-4,Etch层为Copper,层的类型,布线层选Conductor,铺铜层为Plane,绝缘层为Dielectric,Etch在Allegro中,选Setup-SubclassName分别为Top,Gnd,S1,S2,Vcc,Bottom。
FilmType一般选择Positive,plane层选择Negative。
如果布线完成之后,发现叠层设置需要改动。
比如原来设置的为3,4层是plane层,现在需要改为2,5层,不能简单的通过重命名来改变,可先在2,5层处添加两层plane层,然后将原来的plane层删除。
11.为什么在Allegro布局中元器件在列表中不显示或者显示而调不出来?
draw首先确定Psmpath,padpath的路径有没有设置,如果没有设置可以在Partdevelop里设置,或者在env文件中手动添加。
也有可能器件在列表中存在,但是无法调出,可检查该器件所用到的*.pad文件及封装库文件*.dra,*.psm是否存在于你的工作目录×××/physical里。
另外还有一种可能就是页面太小,不够摆放器件,可以在setup-size中调整。
12.为什么器件位置摆放不准确,偏移太大?
主要是因为Grids设置的问题,可在setup-grids中将每一层的Etch及Non-etch的grids的X、Y的spacing间隔调小。
对于一些对位置要求比较严格的器件,比如插槽,金手指等用于接口的元器件,则应该严格按照设计者给定的位置尺寸,在命令行里用坐标指令进行定位。
如:
x12003000。
13.怎样做一个Mechanicalsymbol,以及如何调用?
new,在drawingtype中选择MechanicalAllegro中File-symbol。
主要是为了生成PCB板的外框模型,在这里面虽然也可以添加pad,但是没有管脚对应关系。
Mechanicalsymbol完成以后,生成*.dra文件。
在Allgro中调用时,选择bysymbol―>mechanical。
注意右下角的library前面的勾打上。
14.在布局后如何得到一个整理后的所有元件的库?
如果嫌physical目录下各类文件过分繁冗,想删除一些无用的文件,或者只有一个*.brd文件,想获取所有的元件及pad封装库的信息,可以采用这种办法:
将*.brd另存在一个新的目录下,在File->选export->libraries,点中所有选项,然后export,即可在你的新目录下生成所有的*.pad,*.psm,*.dra文件。
15.如何定义线与线之间距离的Rule?
我们以定义CLK线与其它信号线之间的距离为例:
在Allegro中:
setup->constraints,在spacingruleset中点setvalues。
首先add一个constraintsetname,比如我们取名为CLOCK_NET,然后就在下面定义具体需要遵守的规则。
比如linetoline我们定义为10mil。
接着在allegro主窗口的edit菜单下选择properties,会跳出你的Control工具栏,在findbyname中选择net,在右下角点击more。
在新弹出的窗口的列表中选择你所想规定的CLK线,如CK0、CK1、CK2等等,确定右边的selectedobjects中以选中所有的线,点Apply。
又会出现一个新窗口,在左边的availableproperties中选择NET_SPACING_TYPE,在左边给它赋值(名字随意),比如CLK。
回到setup->constraints,
在刚才setvalues的下面点击Assignmenttable,即可将所定义的规则赋给所选用的net。
在Specctra中,可先选中所要定义间距的信号线(select—>nets->bylist),然后在rules中选selectednet->clearance,在该窗口可定义一系列的布线规则,比如要定义线与线之间的间距,可在wire-wire栏定义,注意,当点Apply或者OK之后,该栏仍然显示-1(意思是无限制),只要看屏幕下方的空白栏,是否有定义过的信息提示。
16.为什么在Allegro中画线不能走45度角?
在control控制栏的linelock中,可将90改为45,如果想画弧线,可以将line改为Arc。
17.如何在CCT中定义走线最大最小距离?
同上面定义间距的方法类似,在选中所要定义的线之后,rules->selectednet->timing,则可以在minimumlength和maximumlength中定义走线的最长最短长度限制,也可以用时间延迟为限制来定义。
还有一种方法就是在SpecctraQuest中提取某一根信号线的拓补结构作为模型,在里面定义各段导线的长度限制,然后生成rule文件,可以约束相同类型信号线的走线。
18.在CCT中如何进行一些保存读盘操作(颜色设置、规则保存)?
在Specctra里,可用file->write->session来保存当前布线,用file->write->rulesdidfiles来保存规则文件,调用时均使用file->executedofile,然后打需要调用的存盘文件,如Initial.ses或rules.rul。
在colorpalette中使用writecolormap和来loadcolormap来保存和读取颜色设置。
19.在CCT中怎么大致定义自动打孔的位置,怎么打一排过孔及定义其排列形状?
CCT中有自动打过孔的功能,在Autoroute->PreRoute->Fanout。
可以指定过孔的方向,比如想把过孔都打在Pad的内部,则可以在location中选inside。
其中也可以定义一些其他限制。
另外有时我们可以选择一组线进行平行走线,这时就可能同时打一排过孔,右击鼠标选择setviapattern,可选择其排列形状。
在窗口的右下方也有快捷按钮可以选择。
20.为什么提示的最大最小距离不随走线的长度变化而改变?
我们在定义了最长最短走线的规则之后,在布线时会有数字显示,随时告诉你如果按当前走向布线会离所定义的规则有多大的偏差。
一般在规则长度以内的用绿色字体显示,超过了或长度不够会有红色字体显示,并用+/—提示偏差量。
但是这个提示的偏差量并不是简单的随你走线的长度变化而变化。
它是根据你的布线方向,软件自动计算按此方向走线的长度与规定长度的比较,如果变换走线方向,它也会重新计算。
21.怎么铺设Plane层?
铺好后怎么修改?
铺铜这一步骤一定要在Allegro中进行,Add->shapes->SolidFill,同时注意在Control工具栏中ActiveClass选Etch,Subclass选所要铺设的Plane层,如VCC或者GND。
然后即可画外框,注意离outline有20Mil左右的间距。
Done之后会进入铺铜的操作界面,选Edit->Changenet(byname)给Plane层命名。
在shape—>parameters确定是否使用了AntiPad和Thermalrelief,接着选Void->Auto,软件会自动检测Thermalrelief,完成之后会有log汇报,如果没有任何错误既可铺设shape,shape->Fill。
如果铺好之后又有过孔的改动,需要重新铺铜,则应选Edit->shape,点在shape上,然后右击鼠标选done,这样就会自动将连接在shape上的Thermalrelief删除,不能硬删铺铜的shape层,否则那些Thermalrelief将遗留在Plane层上。
22.怎么定义thermal-relief中过孔与shape连线的线宽?
在Allegro的Setup->constraints里的setstandardvalues中可定义每一层走线的宽度,比如,可以定义VCC和GND的线宽为10Mil。
在铺铜时注意shape->parameters里一些线宽的定义是否设置成DRCValue。
23.如何优化布线而且不改变布线的总体形状?
布线完成之后,需要对其进行优化,一般采用系统自动优化,主要是将直角变为45度,以及线条的光滑性。
Route->gloss->parameters,在出现的列表中,选Linesmoothing,进行Gloss即可,但有时布线中为了保证走线距离相等,故意走成一些弯曲的线,优化时,点击LineSmoothing左边的方块,只选择convert90’sto45’s,把其他的勾都去掉,这样进行优化时就不会将设计者故意弯曲的走线拉直或变形。
24.如何添加泪滴形焊盘以及加了之后如何删除?
在优化的parameters选项中只选择倒数第二个,PadAndTConnectionFillet,并去掉其中的Pin选项,进行优化即可。
想要删除的话,则只选Linesmoothing中的danglingLines进行优化。
注意:
如无特殊要求,现在我们不再进行此项优化。
25.布线完成之后如果需要改动封装库该如何处理?
在器件摆放结束后,如果封装库有改动,可以Place->updatesymbols,如果是pad有变化,注意要在updatesymbolpadstacks前打勾。
布线完成之后尽量避免封装库的改动,因为如果update,连接在Pin上的连线会随Symbol一起移动,从而导致许多连线的丢失,具体解决办法有待于研究。
26.为什么*.brd无法存盘?
遇到这种情况注意看屏幕下方的空白栏的提示,有可能是硬盘空间不够,还有一种可能是因为数据库出错,软件会自动存盘为*.SAV文件,这时可以重新进入Cadence(可能需要重起动),打开*.SAV,再另存为*.brd。
或在Dos下运行DBFix.SAV,会自动将其转换为
*.brd文件,然后即可调用。
27.Allegro有哪些在Dos下的数据库修正命令?
有时Allegro会出现一些非法超作,导致一些数据出错,我们可以在Dos方式下,在工作目录下(即physical目录下),运行一些修正命令,如Dbcheck*.brd,或Dbfix*.brd。
不过实际中这些命令好像效果不大。
28.如何生成*.DML模型库?
在dos模式,工作目录下,敲入brd2dml*.brd命令,这样在该目录下会生成对应brd文件的模型库dml文件。
29.如何在SpecctraQuest里使用IBIS模型进行仿真?
首先将IBIS模