新聞中心

        EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > PCB文件PROTEL到ALLEGRO的轉(zhuǎn)換技巧

        PCB文件PROTEL到ALLEGRO的轉(zhuǎn)換技巧

        作者: 時(shí)間:2013-01-23 來(lái)源:網(wǎng)絡(luò) 收藏

        Allegro在注入第三方網(wǎng)表時(shí)還需要每種類型器件的設(shè)備描述文件Device.txt文件,它的格式如下:

        Package: package type

        Class: classtype

        Pincount: total pinnumber

        Pinused: ...

        其中常用的是PACKAGE,CLASS,PINCOUNT這幾項(xiàng)。PACKAGE描述了器件的封裝,但Allegro在注入網(wǎng)表時(shí)會(huì)用網(wǎng)表中的PACKAGE項(xiàng)而忽略設(shè)備描述文件中的這一項(xiàng)。CLASS確定器件的類型,以便信噪分折,Cadence將器件分為IC,IO,DISCRETE三類。PINCOUNT說(shuō)明器件的管腳數(shù)目。對(duì)于大多數(shù)器件,Device.txt文件中包含有這三項(xiàng)就足夠了。

        有了第三方網(wǎng)表和設(shè)備描述文件,我們就可以將Protel中原理圖設(shè)計(jì)以網(wǎng)表的形式代入到Cadence 設(shè)計(jì)軟件中,接下來(lái),設(shè)計(jì)師就可以借助Cadence 軟件在高速高密度設(shè)計(jì)方面的強(qiáng)大功能完成自己的設(shè)計(jì)。

        如果已經(jīng)在Protel作了PCB布局的工作,Allegro的script功能可以將Protcl中的布局在Allegro中重現(xiàn)出來(lái)。在Protel中,設(shè)計(jì)師可以輸出一個(gè)Place Pick文件,這個(gè)文件中包含了每個(gè)器件的位置、旋轉(zhuǎn)角度和放在PCB頂層還是底層等信息,可以通過(guò)這個(gè)文件很方便的生成一個(gè)Allegro的script文件,在Allegro中執(zhí)行這個(gè)script就能夠重現(xiàn)Protel中的布局了,下面給出了完成Place Pick文件到Allegro Script文件轉(zhuǎn)化的C++代碼,筆者使用這段代碼,僅用了數(shù)分鐘就將一個(gè)用戶有800多個(gè)器件的PCB板布局在Allegro重現(xiàn)出來(lái)。

         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);


        上一頁(yè) 1 2 下一頁(yè)

        關(guān)鍵詞: ALLEGRO PROTEL PCB 轉(zhuǎn)換技

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 泌阳县| 平顶山市| 镇安县| 汉沽区| 买车| 德兴市| 新巴尔虎右旗| 闽侯县| 治县。| 延长县| 嘉义县| 南开区| 伊通| 大荔县| 龙泉市| 南城县| 阳信县| 西平县| 邹城市| 弋阳县| 浦城县| 彩票| 和硕县| 武宣县| 塔河县| 历史| 雷山县| 三明市| 札达县| 临猗县| 定日县| 长治县| 宜阳县| 澄城县| 大石桥市| 阳信县| 古蔺县| 拉孜县| 唐山市| 东丽区| 贵南县|