如何将Protel平台的设计数据转化到Cadence平台上去.doc

上传人:白大夫 文档编号:3427011 上传时间:2019-08-24 格式:DOC 页数:6 大小:25.50KB
返回 下载 相关 举报
如何将Protel平台的设计数据转化到Cadence平台上去.doc_第1页
第1页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《如何将Protel平台的设计数据转化到Cadence平台上去.doc》由会员分享,可在线阅读,更多相关《如何将Protel平台的设计数据转化到Cadence平台上去.doc(6页珍藏版)》请在三一文库上搜索。

1、如何将Protel平台的设计数据转化到Cadence平台上去随着PCB设计的复杂程度和高速PCB设计需求的不断增加,越来越多的PCB设计者、设计团队选择Cadence的设计平台和工具。但是,由于没有Protel数据到Cadence数据直接转换工具,长期以来如何将现有的基于Protel平台的设计数据转化到Cadence平台上来一直是处于平台转化期的设计者所面临的难题。在长期实际的基础上,结合现有工具的特点,提供一种将Protel原理图、PCB转化到Cadence平台上的方法。1 使用的工具a) Protel DXP SP2b) Cadence Design Systems, Inc. Captu

2、re CISc) Cadence Design Systems, Inc. Orcad Layoutd) Cadence Design Systems, Inc. Layout2allegroe) Cadence Design Systems, Inc. Allegrof) Cadence Design Systems, Inc. Specctra2 Protel 原理图到Cadence Design Systems, Inc. Capture CIS在Protel原理图的转化上我们可以利用Protel DXP SP2的新功能来实现。通过这一功能我们可以直接将Protel的原理图转化到Capt

3、ure CIS中。这里,我们仅提出几点通过实践总结出来的注意事项。1) Protel DXP在输出Capture DSN文件的时候,没有输出封装信息,在Capture中我们会看到所以元件的PCB Footprint属性都是空的。这就需要我们手工为元件添加封装信息,这也是整个转化过程中最耗时的工作。在添加封装信息时要注意保持与Protel PCB设计中的封装一致性,以及Cadence在封装命名上的限制。例如一个电阻,在Protel中的封装为AXIAL0.4,在后面介绍的封装库的转化中,将被修改为AXIAL04,这是由于Cadence不允许封装名中出现“。”;再比如DB9接插件的封装在Protel

4、中为DB9RA/F,将会被改为DB9RAF。因此我们在Capture中给元件添加封装信息时,要考虑到这些命名的改变。2) 一些器件的隐藏管脚或管脚号在转化过程中会丢失,需要在Capture中使用库编辑的方法添加上来。通常易丢失管脚号的器件时电阻电容等离散器件。3) 在层次化设计中,模块之间连接的总线需要在Capture中命名。即使在Protel中已经在父设计中对这样的总线命名了,还是要在Capture中重新来过,以确保连接。4) 对于一个封装中有多个部分的器件,要注意修改其位号。例如一个74ls00,在protel中使用其中的两个门,位号为U8A,U8B。这样的信息在转化中会丢失,需要重新添加

5、。基本上注意到上述几点,借助Protel DXP,我们就可以将Protel的原理图转化到Capture中。进一步推广,这也为现有的Protel原理图符号库转化到Capture提供了一个途径。3 Protel 封装库的转化长期使用Protel作PCB设计,我们总会积累一个庞大的经过实践检验的Protel封装库,当设计平台转换时,如何保留这个封装库总是令人头痛。这里,我们将使用Orcad Layout,和免费的Cadence工具Layout2allegro来完成这项工作。1) 在Protel中将PCB封装放置到一张空的PCB中,并将这个PCB文件用Protel PCB 2.8 ASCII的格式输出

6、出来;2) 使用Orcad Layout导入这个Protel PCB 2.8 ASCII文件;3) 使用Layout2allegro将生成的Layout MAX文件转化为Allegro的BRD文件;4) 接下来,我们使用Allegro的Export功能将封装库,焊盘库输出出来,就完成了Protel封装库到Allegro转化。4 Protel PCB到Allegro的转化有了前面两步的基础,我们就可以进行Protel PCB到Allegro的转化了。这个转化过程更确切的说是一个设计重现过程,我们将在Allegro中重现Protel PCB的布局和布线。1) 将第二步Capture生成的Alleg

7、ro格式的网表传递到Allegro BRD中,作为我们重现工作的起点;2) 首先,我们要重现器件布局。在Protel中输出Place 3) 布线信息的恢复,要使用Specctra作为桥梁。首先,从Protel中输出包含布线信息的Specctra DSN文件。对于这个DSN文件我们要注意以下2点:4) Protel中的层命名与Allegro中有所区别,要注意使用文本编辑器作适当的修改,例如Protel中顶层底层分别为Toplayer和Bottomlayer,而在Allegro中这两层曾称为TOP和BOTTOM;5) 注意在Specctra中查看过孔的定义,并添加到Allegro的规则中。在all

8、egro中定义过孔从Specctra中输出布线信息,可以使用session, wires, 和route文件,建议使用route文件,然后将布线信息导入到我们以及重现布局的Allegro PCB中,就完成了我们从Protel PCB到Allegro BRD的转化工作。Protel到Allegro转化的方法当今IT产业的发展日新月异,对硬件设备的要求也越来越高,硬件设计师们面临如何设计高速高密度PCB的难题。常言道,工欲善其事,必先利其器,这也是越来越多的设计师放弃低端的PCB设计工具,进而选择Cadence等公司提供的高性能PCB EDA软件的原因。但是这种变革必然会带来这样或那样的问题。由于

9、接触和使用较早等原因,国内的Protel用户为数众多,他们在选择Cadence高速PCB解决方案的同时,都面临着如何将手头的Protel设计移植到Cadence PCB设计软件中的问题。在这个过程当中碰到的问题大致可分为两种:一是设计不很复杂,设计师只想借助Cadence CCT的强大自动布线功能完成布线工作;二是设计复杂,设计师需要借助信噪分析工具来对设计进行信噪仿真,设置线网的布线拓扑结构等工作。对于第一种情况,要做的转化工作比较简单,可以使用Protel或Cadence提供的Protel到CCT的转换工具来完成这一工作。对于第二种情况,要做的工作相对复杂一些,下面将这种转化的方法作一简单

10、的介绍。Cadence信噪分析工具的分析对象是Cadence Allegro的brd文件,而Allegro可以读入合乎其要求的第三方网表,Protel输出的Telexis格式的网表满足Allegro对第三方网表的要求,这样就可以将Protel文件注入Allegro。这里有两点请读者注意。首先,Allegro第三方网表在$PACKAGE段不允许有“”;其次,在Protel中,我们用BasName0:N的形式表示总线,用BasNamex表示总线中的一根信号,Allegro第三方网表中总线中的一根信号的表示形式为Bas NameX,读者可以通过直接修改Protel输出的Telexis网表的方法解决这

11、些问题。Allegro在注入第三方网表时还需要每种类型器件的设备描述文件Device.txt文件,它的格式如下:Package: package typeClass: classtypePincount: total pinnumberPinused: 。.其中常用的是PACKAGE,CLASS,PINCOUNT这几项。PACKAGE描述了器件的封装,但Allegro在注入网表时会用网表中的PACKAGE项而忽略设备描述文件中的这一项。CLASS确定器件的类型,以便信噪分折,Cadence将器件分为IC,IO,DISCRETE三类。PINCOUNT说明器件的管脚数目。对于大多数器件,Devic

12、e.txt文件中包含有这三项就足够了。有了第三方网表和设备描述文件,我们就可以将Protel中原理图设计以网表的形式代入到Cadence PCB设计软件中,接下来,设计师就可以借助Cadence PCB软件在高速高密度PCB设计方面的强大功能完成自己的设计。如果已经在Protel作了PCB布局的工作,Allegro的script功能可以将Protcl中的布局在Allegro中重现出来。在Protel中,设计师可以输出一个Place FILE *fp1, *fp2;:AfxMessageBox(“hello”);fp1=fopen(“pick.txt”, “rt”);if (fp1=NULL)

13、:AfxMessageBox(“Can not open the file!”);fp2=fopen(“place.txt”,“wt”);if (fp2=NULL) :AfxMessageBox(“Can not create the file!”);char refdes5, Pattern5;float midx,midy,refx,refy,padx,pady,rotation;char tb1;char tmp=“;fprintf(fp2,”%sn“, ”# Allegro script“);fprintf(fp2,”%sn“, ”version 13.6“);fprintf(fp2,

14、”%sn“, ”place refdes“);while (!feof(fp1) fscanf(fp1,”%s“, refdes);fscanf(fp1,”%s“, Pattern);fscanf(fp1,”%f“, fscanf(fp1,”%f“, fscanf(fp1,”%f“, fscanf(fp1,”%f“, fscanf(fp1,”%f“, fscanf(fp1,”%f“, fscanf(fp1,”%s“, tb);fscanf(fp1,”%f“, fprintf(fp2, ”fillin %c%s%c n“,tmp,refdes,tmp);if (rotaTIon!=0) fprintf(fp2, ”rotaten“);fprintf(fp2, ”iangle %fn“, rotaTIon);char yy=tb0;if (yy!=T) fprintf(fp2, ”pop mirrorn“);fprintf(fp2, ”pick %f %f n“, padx,pady);fprintf(fp2, ”next n“);fprintf(fp2, ”done“);fclose(fp1);fclose(fp2);以上简单介绍了Protel到Allegro转化的方法,希望能对读者的设计工作有所帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1