Protel到Allegro转化的方法
来源:才华咖 本文已影响2.68W人
来源:才华咖 本文已影响2.68W人
PROTEL较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,下面小编为大家整理了关于Protel到Allegro转化的方法,一起来看看吧:
由于接触和使用较早等原因,国内的Protel用户为数众多,他们在选择Cadence高速PCB解决方案的同时,都面临着如何将手头的Protel设计移植到Cadence PCB设计软件中的问题。
在这个过程当中碰到的问题大致可分为两种:
一是设计不很复杂,设计师只想借助Cadence CCT的强大自动布线功能完成布线工作;二是设计复杂,设计师需要借助信噪分析工具来对设计进行信噪仿真,设置线网的布线拓扑结构等工作。
对于第一种情况,要做的转化工作比较简单,可以使用Protel或Cadence提供的Protel到CCT的转换工具来完成这一工作。对于第二种情况,要做的工作相对复杂一些,下面将这种转化的方法作一简单的介绍。
Cadence信噪分析工具的分析对象是Cadence Allegro的brd文件,而Allegro可以读入合乎其要求的第三方网表,Protel输出的Telexis格式的网表满足Allegro对第三方网表的要求,这样就可以将Protel文件注入Allegro。
这里有两点请读者注意。首先,Allegro第三方网表在$PACKAGE段不允许有“.”;其次,在Protel中,我们用BasName[0:N]的形式表示总线,用BasName[x]表示总线中的一根信号,Allegro第三方网表中总线中的'一根信号的表示形式为Bas NameX,读者可以通过直接修改Protel输出的Telexis网表的方法解决这些问题。
Allegro在注入第三方网表时还需要每种类型器件的设备描述文件文件,它的格式如下:
Package: package type
Class: classtype
Pincount: total pinnumber
Pinused: ...
其中常用的是PACKAGE,CLASS,PINCOUNT这几项。PACKAGE描述了器件的封装,但Allegro在注入网表时会用网表中的PACKAGE项而忽略设备描述文件中的这一项。CLASS确定器件的类型,以便信噪分折,Cadence将器件分为IC,IO,DISCRETE三类。PINCOUNT说明器件的管脚数目。对于大多数器件,文件中包含有这三项就足够了。
有了第三方网表和设备描述文件,我们就可以将Protel中原理图设计以网表的形式代入到Cadence PCB设计软件中,接下来,设计师就可以借助Cadence PCB软件在高速高密度PCB设计方面的强大功能完成自己的设计。
如果已经在Protel作了PCB布局的工作,Allegro的script功能可以将Protcl中的布局在Allegro中重现出来。在Protel中,设计师可以输出一个Place & Pick文件,这个文件中包含了每个器件的位置、旋转角度和放在PCB顶层还是底层等信息,可以通过这个文件很方便的生成一个Allegro的script文件,在Allegro中执行这个script就能够重现Protel中的布局了,下面给出了完成Place & Pick文件到Allegro Script文件转化的C++代码,笔者使用这段代码,仅用了数分钟就将一个用户有800多个器件的PCB板布局在Allegro重现出来。
FILE *fp1, *fp2;
::AfxMessageBox("hello");
fp1=fopen("", "rt");
if (fp1==NULL) ::AfxMessageBox("Can not open the file!!!");
fp2=fopen("","wt");
if (fp2==NULL) ::AfxMessageBox("Can not create the file!!!");
char refdes[5], Pattern[5];
float midx,midy,refx,refy,padx,pady,rotation;
char tb[1];
char tmp='"';
fprintf(fp2,"%sn", "# Allegro script");
fprintf(fp2,"%sn", "version 13.6");
fprintf(fp2,"%sn", "place refdes");
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, "rotaten");
fprintf(fp2, "iangle %fn", rotation);
};
char yy=tb[0];
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);
The Unforgettable School Trip英语作文
大学英语四级作文College Graduates Work
评教研课Unit One Will people have robots?范文
pcb layout学习中关于Allegro的误区
英语阅读范文参考:LovePeopleInAllKindsOfWeather
A Letter to the Editor of a Newspaper英语四级作文
To be really happy and really safe优秀英语作文
Covering the ears to steal the bell高中英语作文
Jolie drops battle over perfume named Shilohy英语作文
英语短文Do Old Folks Still Appreciate Humor?
Will Robot Take the Place of Men英语作文
英语阅读:Welcome to Our Village
英语作文:大学生村官 College Graduates Work as Village Offic
Diaspora Finance Powers Global Development美文欣赏
英语新闻阅读:For the love of Earth, stop traveling
The world Cup Football Final英语作文
ad转换方法
Protel原理图、PCB转化到Cadence平台上的方法
The Role of Migrant Workers英语作文
如何理解Javascript的caller,callee,call,apply区别
Letters of Apologies 英语作文
描写飞机的英语作文:the largest carbon footprint
英语作文Let the Surprise Speak of Your Love
人教版八年级上册英语Unit7Willpeoplehaverobots随堂检测题
英语阅读:Covergirl unveils empowering brand update
Letters of Apologies英语作文
Little Pigs,the Crane and a Wolf英语故事短文
人教PEP版小学五年级英语下册Unit3Myschoolcalender.ALet’stalk
Illustrator与CorelDRAW操作的对比
从菜鸟到精英,三种玩转职场的方法
如何理解Javascript的caller,callee,call,apply区别
To Be a Good Talker and Listener初中英语作文
从网格化治理到网格化普法
如何理解Javascript的caller,callee,call,apply区别
Protel到Allegro转化的方法
学个词Learn a Word:allegation
英语作文范文the sample of cover letter
旅游使我成长Travel Helps Me Grow Up大学英语作文
Advice for Good Little Girls大学英语作文
新目标八年级英语下册Unit 1 Will people have robots教案