当前位置:首页 > EDA > 电子设计自动化
[导读]当今IT产业的发展日新月异,对硬件设备的要求也越来越高,硬件设计师们面临如何设计高速高密度PCB的难题。常言道,工欲善其事,必先利其器,这也是越来越多的设计师放弃低端的PCB设计工具,进而选择Cadence等公司提供

当今IT产业的发展日新月异,对硬件设备的要求也越来越高,硬件设计师们面临如何设计高速高密度PCB的难题。常言道,工欲善其事,必先利其器,这也是越来越多的设计师放弃低端的PCB设计工具,进而选择Cadence等公司提供的高性能PCB EDA软件的原因。

  但是这种变革必然会带来这样或那样的问题。由于接触和使用较早等原因,国内的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在注入第三方网表时还需要每种类型器件的设备描述文件Device.txt文件,它的格式如下:

  Package: package type

  Class: classtype

  Pincount: total pinnumber

  Pinused: ...

  其中常用的是PACKAGE,CLASS,PINCOUNT这几项。PACKAGE描述了器件的封装,但Allegro在注入网表时会用网表中的 PACKAGE项而忽略设备描述文件中的这一项。CLASS确定器件的类型,以便信噪分折,Cadence将器件分为IC,IO,DISCRETE三类。 PINCOUNT说明器件的管脚数目。对于大多数器件,Device.txt文件中包含有这三项就足够了。

  有了第三方网表和设备描述文件,我们就可以将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("pick.txt", "rt");

  if (fp1==NULL) ::AfxMessageBox("Can not open the file!!!");

  fp2=fopen("place.txt","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);

  使用的工具

  a) PROTEL DXP SP2

  b) Cadence Design Systems, Inc. Capture CIS

  c) Cadence Design Systems, Inc. Orcad Layout

  d) Cadence Design Systems, Inc. Layout2ALLEGRO

  e) Cadence Design Systems, Inc. Allegro

  f) Cadence Design Systems, Inc. Specctra

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

硬件工程师离不开的那些电路设计工具,你会有几个呢

关键字: EDA IC设计软件 Protel

一直认为Protel 99SE没有仿真功能,不知道是什么强化了这个概念,早上翻了一本关于如何搞毕业设计的书,上面有一个小例子,是关于99SE的仿真,小试了一下,看到网上说99SE的仿真功能没有专门的仿真软件Mutisim...

关键字: Protel 仿真

上篇电路设计软件文章中,小编对如何将protel 99se电路设计软件的设计转换为DXP的PCB项目做了初步讲解。本文为下篇,同样基于该电路设计软件对此予以介绍。

关键字: 电路设计软件 软件 Protel

为增进大家对电路设计软件以及protel的认识,本文将基于该款电路设计软件介绍如何将protel 99se设计转化到DXP中的PCB项目。

关键字: 电路设计软件 指数 Protel

为继续增进大家对电路设计软件的认识,本文将基于protel电路设计软件讲解如何设计高速PCB。

关键字: 电路设计软件 指数 Protel

为帮助大家解决电路设计软件难点,本文将对protel电路设计软件中protel转allegro的方法予以介绍。

关键字: Protel 指数 电路设计软件

为增进大家对电路设计软件的了解,本文讲对protel电路设计软件予以介绍,主要内容为如何将protel格式的文件转换为autocad格式并打印以及如何设置打印操作。

关键字: Protel 指数 电路设计软件

关于“过孔盖油”和“过孔开窗”此点(VIA和PAD的用法区分),许多客户和设计工程师在系统上下单时经常会问这是什么意思,我的文件该选哪一个选项?现就此问题点说明如下:

关键字: PCB Protel

为帮助大家使用这款电路设计软件,本文将对protel相关难点进行解答。如果你对本文内容具有兴趣,不妨继续往下阅读哦。

关键字: Protel 指数 电路设计软件

为增进大家对电路设计软件的了解,本文将对一些protel电路设计软件相关问题加以讲解。如果你对本文内容具有兴趣,不妨继续往下阅读哦。

关键字: Protel 指数 电路设计软件

电子设计自动化

21238 篇文章

关注

发布文章

编辑精选

技术子站

关闭