歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> 轉到linux下做PCB

轉到linux下做PCB

日期:2017/2/27 12:09:05   编辑:Linux文化

SPB15.5的安裝 cd cdrom1/E024_SPB155_ln86_1of5 ./SETUP.SH 出現 Specify path of install directory [OR type [RETURN] to exit]: 輸入/opt/spb 出現 Directory /opt/spb does not exist. Create? [y/n]: y Do you want to use InstallScape [y/n]:n Specify path of install directory [OR type [RETURN] to exit]: 回車 cd /opt/spb/install/bin.lnx86 ./softload 開始安裝 選1-1-2-cdrom1/E024_SPB155_ln86_1of5 出現 Please press y (yes) or n (no) : no 選 4) Cadence Catalog 再選a 再選y 出現 Your package selections require SPB155 lnx86 P/N 356-73303-0102 CDROM # 2. 1) 2) 3) SPB155 lnx86 P/N 356-73303-0102 CDROM # 2 already mounted on /home/chenqs/cdrom1/E024_SPB155_ln86_1of5, continue.

4) Change CD-ROM mount point.

m) Main Menu

Type your choice: 選責4出現 You must now identify where the CD-ROM is mounted.

1) Local (mounted to this machine) 在選1出現 Specify the CD-ROM mount point

1) /cdrom 2) Other 選2寫入你2盤的位置就ok了。裝好後 cd /opt/spb/install ln -s tools.lnx86 tools 以候運行 空格 .空格 bashrc就可以了 allegro &allegro_design_entry_HDL &projmgr &用於起動程序.

Cadence.Allegro.v13.6 之後就改名叫PSD了,後來又改名叫SPB. fc4 的tar和安裝不兼容會出The following tar errors were detected: 裝過程是 ./SETUP.SH 1)裝載可供使用的產品 你必須現在識別CD-ROM在什麼地方被安裝。 1)本地(安裝到這台機器) 2)遠程(安裝到另一個機器) m)主要的菜單 h)幫助 打出你的選擇: [ 1 ] 規定CD-ROM安裝點 1) / cdrom 2)其它 m)主要的菜單 p)以前的菜單 h)幫助 打出你的選擇: [ 2 ] 2 從CD#1摘錄安裝信息。

你想要察看自述文件嗎?

請壓y (是)或者n (沒有): n 安裝信息是在什麼地方? 1) (難以獲得的選擇)工作秩序 2)電子郵件文件 3)磁帶 4)計算機輔助設計目錄 5)文件目錄 h)幫助 p)以前的菜單 q)退出 打出你的選擇: [ 4 ] a)所有上述 n)沒有上述 p)以前的菜單 打出你的選擇( a,n,p,1-3,2 5 9 ... ):a 你不有選擇任何產品。 正確的這嗎? [ y與n ]請壓y (是)或者n (沒有): 你的選擇是正確的嗎? [ y與n ] 請壓y (是)或者n (沒有) :y 產生詳盡的設施數據...

確定可供使用的盤空間 確定需要的盤空間

如果出SL-13是:安裝選擇的不足的盤空間。 裝好後 ln -s tools.lnx86 tools /opt/psb/tools/pcb/bin/allegro.exe

我的bashrc如下 # Cadence PSD environment icq 111290069 export CDS_INST_DIR=/opt/psb export CDS_LIC_FILE=$CDS_INST_DIR/share/cadence.license export CDS_DIR=$CDS_INST_DIR export CONCEPT_INST_DIR=$CDS_DIR export CDS_SITE=$CDS_DIR/share/local/ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONCEPT_INST_DIR/tools/lib export CDSDOC_PROJECT=/CDS_INST_DIR/doc PATH=/opt/spb/tools/jre/bin:$CONCEPT_INST_DIR/tools/bin:$CONCEPT_INST_DIR/tools/pcb/bin:$CONCEPT_INST_DIR/tools/fet/bin:$PATH

由於接觸和使用較早等原因,國內的Protel用戶為數眾多,他們在選擇Cadence高速PCB解決方案的同時,都面臨著如何將手頭的Protel設計移植到Cadence PCB設計軟件中的問題。 轉到linux下做PCB 由於接觸和使用較早等原因,國內的Protel用戶為數眾多,他們在選擇Cadence高速PCB解決方案的同時,都面臨著如何將手頭的Protel設計移植到Cadence PCB設計軟件中的問題。   在這個過程當中碰到的問題大致可分為兩種:一是設計不很復雜,設計師只想借助Cadence CCT的強大自動布線功能完成布線工作;二是設計復雜,設計師需要借助信噪分析工具來對設計進行信噪仿真,設置線網的布線拓撲結構等工作。   對於第一種情況,要做的轉化工作比較簡單,可以使用Protel或Cadence提供的Protel到CCT的轉換工具來完成這一工作。對於第二種情況,要做的工作相對復雜一些,下面將這種轉化的方法作一簡單的介紹。 [email][email protected][/email]   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 ", "# Allegro script"); fprintf(fp2,"%s ", "version 13.6"); fprintf(fp2,"%s ", "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 ",tmp,refdes,tmp); if (rotation!=0) { fprintf(fp2, "rotate "); fprintf(fp2, "iangle %f ", rotation); }; char yy=tb[0]; if (yy!='T') fprintf(fp2, "pop mirror "); fprintf(fp2, "pick %f %f ", padx,pady); fprintf(fp2, "next "); }; fprintf(fp2, "done"); fclose(fp1); fclose(fp2); 以上簡單介紹了Protel到 SPB152轉化的方法,希望能對讀者的設計工作有所幫助。'


Copyright © Linux教程網 All Rights Reserved