国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

Protel到Allegro/CCT格式轉換

發布時間:2010-6-9 16:29    發布者:vinda
關鍵詞: allegro , CCT , protel , 格式轉換
當今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轉化的方法,希望能對讀者的設計工作有所幫助。
本文地址:http://m.qingdxww.cn/thread-12498-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 為何選擇集成電平轉換?
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 無線充電基礎知識及應用培訓教程2
  • 無線充電基礎知識及應用培訓教程3
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一级黄色大片 | 色综合久久中文色婷婷 | 国产一区二区三区在线观看精品 | 亚洲性爰视频 | 亚色在线| 欧美亚洲综合另类成人 | 精品国产第一国产综合精品 | 国产偷国产偷亚洲高清午夜 | 国产日韩欧美中文字幕 | 午夜探花在线观看 | 最新99热 | 日韩大片免费看 | 久久精品一区二区三区中文字幕 | 日韩精品一区二区三区中文在线 | 狠狠做狠狠做综合日日 | 成年午夜视频 | 四虎8848永久在线 | 黄色网页在线看 | 久久久精品久久久久久 | 成人免费视频一区二区 | 青青草华人在线视频 | 99热这里有免费国内精品 | 免费大香伊蕉在人线国产 | 亚洲视频1区 | 日韩视频在线观看一区 | 欧美日韩视频一区三区二区 | 亚洲欧美国产精品专区久久 | 亚洲欧美成人影院 | 日韩视频网址 | 日日夜夜噜噜噜 | 免费在线观看一区二区 | 四虎影视884a精品国产四虎 | 日韩在线黄色 | 一区二区三区视频在线 | 亚洲欧美日韩在线观看二区 | 久久国产片 | 亚洲欧美中文字幕高清在线一 | 正在播放国产精品 | 91tv官网 | 成人在线一区二区三区 | 在线综合网 |