1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. Protel到Allegro轉化的方法

        時間:2024-08-11 20:44:39 EDA技術培訓 我要投稿
        • 相關推薦

        Protel到Allegro轉化的方法

          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在注入第三方網表時還需要每種類型器件的設備描述文件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);

        【Protel到Allegro轉化的方法】相關文章:

        Protel原理圖、PCB轉化到Cadence平臺上的方法09-09

        轉化“潛能生”的方法07-04

        allegro的reuse功能操作步驟08-06

        Protel 2004基礎是什么07-20

        pcb layout學習中關于Allegro的誤區07-28

        將seo轉化成營銷思維的方法08-11

        提高網站轉化率的方法技巧總結09-23

        ADS版圖轉換到到Protel的步驟09-06

        Javascript到PHP加密通訊的簡單實現方法07-04

        2017年淘寶提高爆款轉化率方法10-10

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>