Altium中导入ALLEGRO的brd文件.docx
- 文档编号:10241978
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:17
- 大小:27.33KB
Altium中导入ALLEGRO的brd文件.docx
《Altium中导入ALLEGRO的brd文件.docx》由会员分享,可在线阅读,更多相关《Altium中导入ALLEGRO的brd文件.docx(17页珍藏版)》请在冰豆网上搜索。
Altium中导入ALLEGRO的brd文件
Altium 中导入ALLEGRO的brd文件
一步一步教你如何在Altium Designer中导入ALLEGRO的brd文件
[本文由 Hiber 发表在
课题组其他人都用ALLEGRO,我一个人死撑着用AD。
共享设计时原理图还方便导入,PCB文件麻烦了,于是一直在找如何从AD中导入ALLEGRO的brd文件的方法,一直未果(曾经找了个CAMCAD Pro,号称可以,但不会用--呵呵,也可能是不可以)。
AD不支持导入ALLEGRO的brd文件,orcad的layout的max文件倒是支持,可是同为cadence的产品,居然layout不能导入brd。
我算是一个准超级AD fans,经过自己的摸索,找到一些实现的曲线实现方法。
我用Altium Designer 6.6,下面以6.6为例讲讲如何将ALLEGRO的brd板子导入Protel (DXP)中。
基本思想是用CAM文件,具体步骤:
1、从ALLEGRO PCB Editor中导出Gerber文件和IPC网表文件(不要IPC网表也可以,不过那样导入的PCB网络名是AD随机命名的)。
也可以导出ODB++文件(可能还是需要IPC网表),我觉得这个比Gerber方便。
ALLEGRO需要安装第三方软件才能输出ODB++,这个在导出时会提示下载的(软件是free的)。
2、在AD中新建一个CAM文件。
3、通过AD的File/Import导入ALLEGRO输出的Gerber/ODB++,(可选)通过File/Import/Net List导入IPC网表。
4、使用Tool/Netlist/Extract提取导入的Gerber/ODB++的网络(将相连的Track视为同一网络,网络名随机生成)。
5、(可选)通过File Import/NetList导入IPC网表。
如果3中已导入,忽略本步。
6、通过Tool/NetList/Campare将Extrat的网表和IPC网表进行比较,从而将网络(大部分)命名为ALLEGRO中原来的网络名。
7、通过File/Export/Export to PCB,将CAM文件导出到PCB。
至此基本完成了导入功能,但是所有的元件已经分解成了Pad,overlay上的Designator也已经不再是Text型。
8、元件的“恢复”:
选中一个元件的所有primitive,将其作为一个Union,然后使用准备好的封装进行替换。
这个可能比较费时了:
-)其实也可以不准备封装,直接选中一个元件的所有primitive,复制到PCB library的新建空元件中,就制成了一个和原来一样的封装了。
9、也可以这样恢复元件:
建一个不包括任务元素的PCB封装,放置到要恢复的元件附近,然后将元件的primitive加入到这个元件中(右键菜单中找)。
总结:
通过1-7步可以完成在Altium Designer中打开ALLEGRO的brd文件,也可以用来提取ALLEGRO的封装(不过AD画封装已经够容易了,估计不会有人需要这么做吧),通过手动元件恢复,可以重建原brd文件。
P.S.:
1、如果AD支持通过选定内容创建元件就好了,哪位写一个插件(Altium Designer的脚本支持还是够好的,肯定可以做到)。
2、其实可以通过这种方式从Gerber和ODB++等CAM文件中Reverse Engine出PCB来。
3、抛砖引玉,哪位有更好的方法请告诉我!
点击此处下载 ourdev_335863.rar(文件大小:
3.23M) (原文件名:
c2_dsp_b.rar)
从PROTEL到ALLEGRO的过渡!
ProtelSCH/PCB到Cadence的数据转换
随着PCB设计的复杂程度和高速PCB设计需求的不断增加,越来越多的PCB设计者、设计团队选择Cadence的设计平台和工具。
但是,由于没有Protel数据到Cadence数据直接转换工具,长期以来如何将现有的基于Protel平台的设计数据转化到Cadence平台上来一直是处于平台转化期的设计者所面临的难题。
在长期实际的基础上,结合现有工具的特点,提供一种将Protel原理图、PCB转化到Cadence平台上的方法。
1.使用的工具a)ProtelDXPSP2b)CadenceDesignSystems,Inc.CaptureCISc)CadenceDesignSystems,Inc.OrcadLayoutd)CadenceDesignSystems,Inc.Layout2allegro(可到ftp个人临时区lwh中下载)e)CadenceDesignSystems,Inc.Allegrof)CadenceDesignSystems,Inc.Specctra
2.Protel原理图到CadenceDesignSystems,Inc.CaptureCIS在Protel原理图的转化上我们可以利用ProtelDXPSP2的新功能来实现。
通过这一功能我们可以直接将Protel的原理图转化到CaptureCIS中。
这里,我们仅提出几点通过实践总结出来的注意事项。
1)ProtelDXP在输出CaptureDSN文件的时候,没有输出封装信息,在Capture中我们会看到所以元件的PCBFootprint属性都是空的。
这就需要我们手工为元件添加封装信息,这也是整个转化过程中最耗时的工作。
在添加封装信息时要注意保持与ProtelPCB设计中的封装一致性,以及Cadence在封装命名上的限制。
例如一个电阻,在Protel中的封装为AXIAL0.4,在后面介绍的封装库的转化中,将被修改为AXIAL04,这是由于Cadence不允许封装名中出现“.”;再比如DB9接插件的封装在Protel中为DB9RA/F,将会被改为DB9RAF。
因此我们在Capture中给元件添加封装信息时,要考虑到这些命名的改变。
2)一些器件的隐藏管脚或管脚号在转化过程中会丢失,需要在Capture中使用库编辑的方法添加上来。
通常易丢失管脚号的器件时电阻电容等离散器件。
3)在层次化设计中,模块之间连接的总线需要在Capture中命名。
即使在Protel中已经在父设计中对这样的总线命名了,还是要在Capture中重新来过,以确保连接。
4)对于一个封装中有多个部分的器件,要注意修改其位号。
例如一个74ls00,在protel中使用其中的两个门,位号为U8A,U8B。
这样的信息在转化中会丢失,需要重新添加。
基本上注意到上述几点,借助ProtelDXP,我们就可以将Protel的原理图转化到Capture中。
进一步推广,这也为现有的Protel原理图符号库转化到Capture提供了一个途径。
3.Protel封装库的转化长期使用Protel作PCB设计,我们总会积累一个庞大的经过实践检验的Protel封装库,当设计平台转换时,如何保留这个封装库总是令人头痛。
这里,我们将使用OrcadLayout,和免费的Cadence工具Layout2allegro来完成这项工作。
1)在Protel中将PCB封装放置到一张空的PCB中,并将这个PCB文件用ProtelPCB2.8ASCII的格式输出出来;2)使用OrcadLayout导入这个ProtelPCB2.8ASCII文件;3)使用Layout2allegro将生成的LayoutMAX文件转化为Allegro的BRD文件;4)接下来,我们使用Allegro的Export功能将封装库,焊盘库输出出来,就完成了Protel封装库到Allegro转化。
4.ProtelPCB到Allegro的转化有了前面两步的基础,我们就可以进行ProtelPCB到Allegro的转化了。
这个转化过程更确切的说是一个设计重现过程,我们将在Allegro中重现ProtelPCB的布局和布线。
1)将第二步Capture生成的Allegro格式的网表传递到AllegroBRD中,作为我们重现工作的起点;2)首先,我们要重现器件布局。
在Protel中输出Place&Pick文件,这个文件中包含了完整的器件位置,旋转角度和放置层的信息。
我们通过简单的手工修改,就可以将它转化为Allegro的Placement文件。
在Allegro中导入这个Placement文件,我们就可以得到布局了。
3)布线信息的恢复,要使用Specctra作为桥梁。
首先,从Protel中输出包含布线信息的SpecctraDSN文件。
对于这个DSN文件我们要注意以下2点:
4)Protel中的层命名与Allegro中有所区别,要注意使用文本编辑器作适当的修改,例如Protel中顶层底层分别为Toplayer和Bottomlayer,而在Allegro中这两层曾称为TOP和BOTTOM;5)注意在Specctra中查看过孔的定义,并添加到Allegro的规则中。
在allegro中定义过孔从Specctra中输出布线信息,可以使用session,wires,和route文件,建议使用route文件,然后将布线信息导入到我们以及重现布局的AllegroPCB中,就完成了我们从ProtelPCB到AllegroBRD的转化工作。
Protel到Allegro转化的方法
当今IT产业的发展日新月异,对硬件设备的要求也越来越高,硬件设计师们面临如何设计高速高密度PCB的难题。
常言道,工欲善其事,必先利其器,这也是越来越多的设计师放弃低端的PCB设计工具,进而选择Cadence等公司提供的高性能PCBEDA软件的原因。
但是这种变革必然会带来这样或那样的问题。
由于接触和使用较早等原因,国内的Protel用户为数众多,他们在选择Cadence高速PCB解决方案的同时,都面临着如何将手头的Protel设计移植到CadencePCB设计软件中的问题。
在这个过程当中碰到的问题大致可分为两种:
一是设计不很复杂,设计师只想借助CadenceCCT的强大自动布线功能完成布线工作;二是设计复杂,设计师需要借助信噪分析工具来对设计进行信噪仿真,设置线网的布线拓扑结构等工作。
对于第一种情况,要做的转化工作比较简单,可以使用Protel或Cadence提供的Protel到CCT的转换工具来完成这一工作。
对于第二种情况,要做的工作相对复杂一些,下面将这种转化的方法作一简单的介绍。
Cadence信噪分析工具的分析对象是CadenceAllegro的brd文件,而Allegro可以读入合乎其要求的第三方网表,Protel输出的Telexis格式的网表满足Allegro对第三方网表的要求,这样就可以将Protel文件注入Allegro。
这里有两点请读者注意。
首先,Allegro第三方网表在$PACKAGE段不允许有“.”;其次,在Protel中,我们用BasName[0:
N]的形式表示总线,用BasName[x]表示总线中的一根信号,Allegro第三方网表中总线中的一根信号的表示形式为BasNameX,读者可以通过直接修改Protel输出的Telexis网表的方法解决这些问题。
Allegro在注入第三方网表时还需要每种类型器件的设备描述文件Device.txt文件,它的格式如下:
Package:
packagetypeClass:
classtypePincount:
totalpinnumberPinused:
... 其中常用的是PACKAGE,CLASS,PINCOUNT这几项。
PACKAGE描述了器件的封装,但Allegro在注入网表时会用网表中的PACKAGE项而忽略设备描述文件中的这一项。
CLASS确定器件的类型,以便信噪分折,Cadence将器件分为IC,IO,DISCRETE三类。
PINCOUNT说明器件的管脚数目。
对于大多数器件,Device.txt文件中包含有这三项就足够了。
有了第三方网表和设备描述文件,我们就可以将Protel中原理图设计以网表的形式代入到CadencePCB设计软件中,接下来,设计师就可以借助CadencePCB软件在高速高密度PCB设计方面的强大功能完成自己的设计。
如果已经在Protel作了PCB布局的工作,Allegro的script功能可以将Protcl中的布局在Allegro中重现出来。
在Protel中,设计师可以输出一个Place&Pick文件,这个文件中包含了每个器件的位置、旋转角度和放在PCB顶层还是底层等信息,可以通过这个文件很方便的生成一个Allegro的script文件,在Allegro中执行这个script就能够重现Protel中的布局了,下面给出了完成Place&Pick文件到AllegroScript文件转化的C++代码,笔者使用这段代码,仅用了数分钟就将一个用户有800多个器件的PCB板布局在Allegro重现出来。
FILE*fp1,*fp2;:
:
AfxMessageBox("hello");fp1=fopen("pick.txt","rt");if(fp1==NULL):
:
AfxMessageBox("Cannotopenthefile!
!
!
");fp2=fopen("place.txt","wt");if(fp2==NULL):
:
AfxMessageBox("Cannotcreatethefile!
!
!
");charrefdes[5],Pattern[5];floatmidx,midy,refx,refy,padx,pady,rotation;chartb[1];chartmp='"';fprintf(fp2,"%s\n","#Allegroscript");fprintf(fp2,"%s\n","version13.6");fprintf(fp2,"%s\n","placerefdes");while(!
feof(fp1)){fscanf(fp1,"%s",refdes);fscanf(fp1,"%s",Pattern);fscanf(fp1,"%f",&midx);fscanf(fp1,"%f",&midy);fscanf(fp1,"%f",&refx);fscanf(fp1,"%f",&refy);fscanf(fp1,"%f",&padx);fscanf(fp1,"%f",&pady);fscanf(fp1,"%s",tb);fscanf(fp1,"%f",&rotation);fprintf(fp2,"fillin%c%s%c\n",tmp,refdes,tmp);if(rotation!
=0){fprintf(fp2,"rotate\n");fprintf(fp2,"iangle%f\n",rotation);};charyy=tb[0];if(yy!
='T')fprintf(fp2,"popmirror\n");fprintf(fp2,"pick%f%f\n",padx,pady);fprintf(fp2,"next\n");};fprintf(fp2,"done");fclose(fp1);fclose(fp2);以上简单介绍了Protel到Allegro转化的方法,希望能对读者的设计工作有所帮助。
Protel99软件PCB图库向PWS图库的转换方法
proteltoallegro的placement文件转换器
本转换器是跟据下文中的c源码编译成功的,但是在导入protel的文件时由于格式和抬头的问题,根本无法得到正确的目标文件,而且,所生成的script文件由于版本问题,allegro根本无法识别该文件中的script命令,所以偶花了一点时间改写了大部分源码,使其能够读入protel99se的pick&place文件,并生成allegro15.0的script,在这两个软件相应的版本测试通过。
使用时注意两点:
1,protel99se的文件中,footprint和Comment两项数据中不能带有空格,否则生成目标文件将会不正确。
2,allegro中的原点设置一定要和protel一致。
源文件见下帖。
作者:
bigcat 2005-9-1415:
11:
00
回复1 <转贴>707531
<转贴>
从PROTEL到ALLEGRO的过渡!
ProtelSCH/PCB到Cadence的数据转换
随着PCB设计的复杂程度和高速PCB设计需求的不断增加,越来越多的PCB设计者、设计团队选择Cadence的设计平台和工具。
但是,由于没有Protel数据到Cadence数据直接转换工具,长期以来如何将现有的基于Protel平台的设计数据转化到Cadence平台上来一直是处于平台转化期的设计者所面临的难题。
在长期实际的基础上,结合现有工具的特点,提供一种将Protel原理图、PCB转化到Cadence平台上的方法。
1.使用的工具
a)ProtelDXPSP2
b)CadenceDesignSystems,Inc.CaptureCIS
c)CadenceDesignSystems,Inc.OrcadLayout
d)CadenceDesignSystems,Inc.Layout2allegro(可到ftp个人临时区lwh中下载)
e)CadenceDesignSystems,Inc.Allegro
f)CadenceDesignSystems,Inc.Specctra
2.Protel原理图到CadenceDesignSystems,Inc.CaptureCIS
在Protel原理图的转化上我们可以利用ProtelDXPSP2的新功能来实现。
通过这一功能我们可以直接将Protel的原理图转化到CaptureCIS中。
这里,我们仅提出几点通过实践总结出来的注意事项。
1)ProtelDXP在输出CaptureDSN文件的时候,没有输出封装信息,在Capture中我们会看到所以元件的PCBFootprint属性都是空的。
这就需要我们手工为元件添加封装信息,这也是整个转化过程中最耗时的工作。
在添加封装信息时要注意保持与ProtelPCB设计中的封装一致性,以及Cadence在封装命名上的限制。
例如一个电阻,在Protel中的封装为AXIAL0.4,在后面介绍的封装库的转化中,将被修改为AXIAL04,这是由于Cadence不允许封装名中出现“.”;再比如DB9接插件的封装在Protel中为DB9RA/F,将会被改为DB9RAF。
因此我们在Capture中给元件添加封装信息时,要考虑到这些命名的改变。
2)一些器件的隐藏管脚或管脚号在转化过程中会丢失,需要在Capture中使用库编辑的方法添加上来。
通常易丢失管脚号的器件时电阻电容等离散器件。
3)在层次化设计中,模块之间连接的总线需要在Capture中命名。
即使在Protel中已经在父设计中对这样的总线命名了,还是要在Capture中重新来过,以确保连接。
4)对于一个封装中有多个部分的器件,要注意修改其位号。
例如一个74ls00,在protel中使用其中的两个门,位号为U8A,U8B。
这样的信息在转化中会丢失,需要重新添加。
基本上注意到上述几点,借助ProtelDXP,我们就可以将Protel的原理图转化到Capture中。
进一步推广,这也为现有的Protel原理图符号库转化到Capture提供了一个途径。
3.Protel封装库的转化
长期使用Protel作PCB设计,我们总会积累一个庞大的经过实践检验的Protel封装库,当设计平台转换时,如何保留这个封装库总是令人头痛。
这里,我们将使用OrcadLayout,和免费的Cadence工具Layout2allegro来完成这项工作。
1)在Protel中将PCB封装放置到一张空的PCB中,并将这个PCB文件用ProtelPCB2.8ASCII的格式输出出来;
2)使用OrcadLayout导入这个ProtelPCB2.8ASCII文件;
3)使用Layout2allegro将生成的LayoutMAX文件转化为Allegro的BRD文件;
4)接下来,我们使用Allegro的Export功能将封装库,焊盘库输出出来,就完成了Protel封装库到Allegro转化。
4.ProtelPCB到Allegro的转化
有了前面两步的基础,我们就可以进行ProtelPCB到Allegro的转化了。
这个转化过程更确切的说是一个设计重现过程,我们将在Allegro中重现ProtelPCB的布局和布线。
1)将第二步Capture生成的Allegro格式的网表传递到AllegroBRD中,作为我们重现工作的起点;
2)首先,我们要重现器件布局。
在Protel中输出Place&Pick文件,这个文件中包含了完整的器件位置,旋转角度和放置层的信息。
我们通过简单的手工修改,就可以将它转化为Allegro的Placement文件。
在Allegro中导入这个Placement文件,我们就可以得到布局了。
3)布线信息的恢复,要使用Specctra作为桥梁。
首先,从Protel中输出包含布线信息的SpecctraDSN文件。
对于这个DSN文件我们要注意以下2点:
4)Protel中的层命名与Allegro中有所区别,要注意使用文本编辑器作适当的修改,例如Protel中顶层底层分别为Toplayer和Bottomlayer,而在Allegro中这两层曾称为TOP和BOTTOM;
5)注意在Specctra中查看过孔的定义,并添加到Allegro的规则中。
在allegro中定义过孔从Specctra中输出布线信息,可以使用session,wires,和route文件,建议使用route文件,然后将布线信息导入到我们以及重现布局的AllegroPCB中,就完成了我们从ProtelPCB到AllegroBRD的转化工作。
Protel到Allegro转化的方法
当今IT产业的发展日新月异,对硬件设备的要求也越来越高,硬件设计师们面临如何设计高速高密度PCB的难题。
常言道,工欲善其事,必先利其器,这也是越来越多的设计师放弃低端的PCB设计工具,进而选择Cadence等公司提供的高性能PCBEDA软件的原因。
但是这种变革必然会带来这样或那样的问题。
由于接触和使用较早等原因,国内的Protel用户为数众多,他们在选择Cadence高速PCB解决方案的同时,都面临着如何将手头的Protel设计移植到CadencePCB设计软件中的问题。
在这个过程当中碰到的问题大致可分为两种:
一是设计不很复杂,设计师只想借助CadenceCCT的强大自动布线功能完成布线工作;二是设计复杂,设计师需要借助信噪分析工具来对设计进行信噪仿真,设置线网的布线拓扑结构等工作。
对于第一种情况,要做的转化工作比较简单,可以使用Protel或Cadence提供的Protel到CCT的转换工具来完成这一工作。
对于第二种情况,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Altium 导入 ALLEGRO brd 文件