1. 使用pads软件打开PCB文件,然后执行菜单命令:File->Export->弹出的对话框中点击“保存”。然后按下图设置后点击“OK”按钮,会在当前目录下生成一个前面保存的asc文件;如果点击OK后有弹出其它提示就点击“确定”就好了。
2. 使用allegro打开一个空的PCB文件,然后执行菜单命令:File->Import->CAD Translators->PADS,弹出如下对话框:
PADS ASCII input file:选择前面由PADS保存的asc文件(建议放在brd当前目录下);
Output Design:转换后输出的brd文件的命名及保存路径,此项无需选择,会根据PADS ASCII input file的选择自动定义;
Options File:选择allegro安装目录下cadence/SPB_16.6/tools/pcb/bin/pads_in.ini文件;
注意:文件和路径中都不能有非法字符或空格存在,否则会转换失败!
Show options dialog:勾选此选项后,点击”Translate”按钮后可对转换后2D Line、铜箔、text、封装丝印框、焊盘以及过孔对应到allegro的层面进行设置,同时还可以设置转换后焊盘阻焊和钢网的外扩值,钢网默认与焊盘一致,阻焊默认比焊盘大4mil,还可以设置是否创建动态铜箔,是否生成泪滴。如下图所示:
如果没有勾选Show options dialog选项,点击”Translate”按钮后就不会弹出以上图片的设置界面,而是直接进行转换。
3. 设置完成后点击“OK”按钮开始进行转换,转换完成后会在前面设置的ASCII input file定义的路径下生成brd文件,此文件便是转换完成后的allegro文件了;
4. 如果转换后发现有的封装的丝印框丢失了,则需要在PADS上将对应的封装的丝印框改到TOP层去,然后保存,再导出asc文件后重新转换。或者试试在PADS上查看该类封装的丝印框所在的层面,然后在转换设置里面将对应的封装的丝印框的层面对应到allegro的封装丝印框的层面去,然后再进行转换。以下是在PADS上将封装的丝印框修改到TOP层面的详细操作:
1) 在PADS上右键选择“Select Components”,然后点击需要编辑的器件,然后再右键选择“Edit Decal”,进入封装编辑界面后右键选择“Select Shapes”,然后框选整个封装的丝印框,再右键选择“Properties”,在弹出的对话框中将Layer层改为TOP,然后点击OK。
2) 然后关闭封装编辑界面(点击右上角的X),回到PCB界面上,在弹出的对话框中,点击“All”按钮,将修改更新到所有此类封装的器件上。
再保存PCB文件即可!
5. 如果转换后出现网络丢失和没有器件位号的情况,则需要在转换前,先将allegro的库路径设置到当前的工作目录下,然后再重新进行转换,这样转换后的网络和位号就不会丢失了;(注意:软件的转换原理图是:根据asc文件在当前目录下生成allegro第三方网表和封装库,然后导入第三方网表、布局和布线等信息而完成转换的,这跟allegro导入网表是一样的,需要先指定库路径和网表路径,否则转换的时候软件就找不到网表文件以及封装库,网表导不进去转过去网络和器件位号自然就没有了!)
6. PCB转换完成后,接下来的工作便是处理封装。需要处理的事项主要以下几点:
1)Pad重新命名。玩过PADS转Allegro的朋友都知道,每个板子转过来的封装的焊盘名称都是pad1、pad2、pad3···,如果同一个项目需要同时提取到多个PADS文件里面的封装,那么转换后不同文件里面的封装的焊盘命名就可能相同,这样的封装用在同一个项目里面就会导致相同名称的焊盘被替换掉,造成封装焊盘出错,为避免这种隐患的存在,建议转换后对焊盘进行重新规范命名。焊盘命名可以根据焊盘的类型以及尺寸进行命名,这部分的工作量是最大的,得手动一个一个焊盘去处理,当然有这方面的skill就方便多了,一个命令就可以批量自动规范处理完;
2)异形焊盘处理。异形焊盘转换后会丢失,焊盘会PACKAGE GEOMETRY\SILKSCREEN_TOP的一块铜箔。因此,需要对有异形焊盘的封装里面的异形焊盘进行处理:可以打开该封装,然后根据丝印层的shape进行zcopy到TOP层走线层去,然后以该shape上的焊盘的中心点坐标将TOP层的shape导出sub-drawing,然后新建一个shape symbol封装,以0 0点坐标导入该shape即可完成该shape symbol的制作,而阻焊的shape symbol可以直接利用zcopy直接对shape进行外扩即可。当然这部分的处理有skill也可以利用skill进行处理;
3)封装各个层面文字的添加(丝印层、装配层和value层)。如下图,转过来的封装里面只有RDF DES\SILKSCREEN_TOP和RDF DES\ASSEMBLY_TOP层的文字,可以根据需要或自己的规范重新添加每个层面的文字。此部分需要逐个编辑每个封装,有skill的话就方便点,可以让程序对整个库批量自动处理,没有skill的话可以将各个层面的文字导出一个sub-drawing,然后逐个处理的时候直接导入sub-drawin,适当提高效率。
如下图,自己重新添加的文字:
4) 如果是使用15.x版本导入的pads,则还需要对椭圆形的钻孔焊盘进行处理,因为15.x的转过来的椭圆形钻孔会变成圆形的,16.x的就不会。15.x的需要根据PADS上椭圆形钻孔焊盘的尺寸新建好焊盘后在封装里面替换该焊盘。
5)PLACE_BOUND_TOP高度添加,这个不一定需要做的,根据自己的需求选择,如果后期需要导出3D结构文件,那么器件的高度信息就必须在封装里面的PLACE_BOUND_TOP中加进去,如果没这个需求或封装规范没这个限制要求可以不做处理;
6) 如果是在转换的PCB基础上做设计,为保证设计得正确性,需要再更新一下网表,以防转换过来的PCB有网络或者器件丢失的情况。
7. 如果转过来的PCB出现叠孔的问题,则执行下菜单命令:Tools->Database Check->全部勾选后点击“Check”按钮运行下即可;
8. 如果转过来的PCB有的走线与焊盘或走线与过孔有一点点误差而没连接上,可以执行下图菜单命令跑一下!