Protel到Allegro /CCT格式转换

protel到allegro /cct格式转换
当今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,%s\n, # allegro script);
fprintf(fp2,%s\n, version 13.6);
fprintf(fp2,%s\n, 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, rotate\n);
fprintf(fp2, iangle %f\n, rotation);
};
char yy=tb[0];
if (yy!='t') fprintf(fp2, pop mirror\n);
fprintf(fp2, pick %f %f \n, padx,pady);
fprintf(fp2, next \n);
};
fprintf(fp2, done);
fclose(fp1);
fclose(fp2);
以上简单介绍了protel到allegro转化的方法,希望能对读者的设计工作有所帮助。

5G手机信号屏蔽器技术工作原理
三星:考虑剥离液晶面板业务,转战OLED
XMOS扩展远场拾音解决方案产品组合
长期使用耳机的注意了,别让耳机毁了你
国网福州供电公司联合铁塔公司顺利建设福州市区首座“共享铁塔”
Protel到Allegro /CCT格式转换
谷歌云服务专注于为组织提供基于稳健计算基础设施的行业特定解决方案
小米MIX Alpha已具备量产能力 实现量产还得多部门协调
5G手机如何选购,需注意哪些重要事项
科锐GaN-on-SiC功率放大器结合MaxLinear线性化技术,高效赋能新型超宽带5G
澎湃微携PT32S038和PT32X003系列MCU产品亮相ELEXCON展会
小米MIX皓月白评测 值不值得买
关于122GHz雷达套装系统和芯片性能分析和介绍
vivo推出新品iQOO Neo 855版,搭载高通旗舰新品骁龙855
iphone8小尺寸、大电池,而续航更彪悍?
转载|当高能物理遇上数字技术:华为超融合以太网络赋能科学探索
7000 系列 (XC7Z015) 电源解决方案
Vicor DC-DC 转换器模块新增25款新产品 低至-55°C仍可以工作
还是原来的坚固?诺基亚:Nokia6可承受150牛的压力
工业互联网+危化安全生产分享