cadence佈局佈線常見問題詳解

cadence佈局佈線常見問題詳解

1.怎樣建立自己的元件庫?

建立了一個新的project後,畫原理圖的第一步就是先建立自己所需要的庫,所採用的工具就是part developer. 首先在建立一個存放元件庫的目錄(如mylib),然後用寫字板打開cds.lib,定義:Define mylib  d:\board\mylib(目錄所在路徑). 這樣就建立了自己的庫。在Concept_HDLcomponent>add,點擊search stack,可以加入該庫。

2.保存時Save viewSave all view 以及選擇Change directory 和不選擇的區別?

建立好一個元件庫時,首先要先保存,保存儘量選擇 save view。在concept-HDL中,我們用鼠標左鍵直接點擊器件後,便可以對器件的外形尺寸進行修改,這時如果你再進入part developer做一些修改後,如果選擇save all view會回到原來的外形尺寸,而選save view

會保留改動後的外形。

3.如何建part庫,怎麼改變symbolpin腳的位置?

project managertools/part developer可建立,選擇庫並定義part name,在symboladd symbolpackageadd package/addpin,依次輸入pin

package中:

a, Name : pins logical name不能重複

b, pin : pin的標號,原理圖中backannotate後相應的標號

c, pin type: pin腳的類型(inputoutput等,暫可忽略)

d, activepin的觸發類型 high(高電平)low(低電平)

e, nc:填入空腳的標號

f, total:此類型的所有pin腳數

g, 以下暫略

symbol中:

a, logical name:對應package中的name

b, type:對應package中的type

c, positionpin腳在器件中位置(left , right , top , bottom

d, pintextpin在器件中顯示的name(對應package中的pin,但可重複,比如package

gnd1gnd2都可設爲gnd

e, active:對應package中的active

修改:用part developer打開要修改的器件,*選擇edit/restrict changes(若不選擇,則器件被保護,修改後存盤無效),一般修改:

a, package中相應pin的標號和name

b, pinactive類型

c, symbol中各pin腳的順序(pin腳的順序在第一次存盤後再次打開會被改變,對於較多

pin腳的器件,如232pins,修改較繁瑣,故盡力保證的一次的成功率。pin腳在器件中的排列順序是根據symbol中的順序而定,故symbolpin腳的順序一定要正確,若有錯需修改,選中pinctrl鍵配合上下鍵標可移動pin腳位置。

4. 畫電原理圖時爲什麼Save及打包會出錯?

當保存時出錯,主要原因可能是:所畫的信號線可能與元件的pin腳重合,或信號線自身重合;信號線重複命名;信號線可能沒有命名;在高版本中(

版本14.0以上)中,自己所創建的庫不能與系統本身帶有的庫名字相同;建庫時,封裝原件的管腳個數與原件庫的管腳個數不同。打包時會出錯的原因則有可能

是所做的封裝類型與元件不匹配(如pin腳的個數,封裝的類型名等。

5. 在電原理圖中怎樣修改器件屬性及封裝類型?

在菜單Text下拉菜單中選擇Attribute特性,然後點擊器件,則彈出一Attribute 窗口,點擊Add按鈕,則可以加入name ,value,JEDEC_TYPE (封裝類型等屬性。

6. 如何在Pad Design中定義Pad/via?及如何調用*.pad

pad design中,建立pad 時,typesingle類型,應該定義下面幾層的尺寸:begin layer(有時是end layer, soldermask和 pastemask 。建立Via時,type一般選through,定義drill hole 的尺寸和所有的layer層(注意定義thermal reliefanti pad)以及soldermask。一般PastemaskRegular一樣大,soldmasklayer的尺寸大幾個Mil,而thermal reliefanti padregular pad的尺寸大10Mil以上。

7. 做封裝庫要注意些什麼?

做封裝既可以在AllegroFile>New>package symbol,也可以使用Wizard(自動向

導)功能。在這個過程中,最關鍵的是確定padpad的距離(包括相鄰和對應的pad之間),以確保後期封裝過程中元器件的Pin腳能完全的無偏差的粘貼在Pad上。如果只知道Pin的尺寸,在設計pad的尺寸時應該比Pin稍大,一般width1.2~1.5倍,length0.45mm左右。除了pad的尺寸需特別重視外,還要添加一些層,比如SilkScreen_topBottom,因爲在以後做光繪文件時需要(金手指可以不要),Ref Des也最好標註在Silkscreen層上,同時注意絲印層不要畫在Pad上。還應標誌1pin腳的位置,有一些特殊的封裝,比如金手指,還可以加上一層Via keep out,或者route keep out等等,這些都可以根據自己的要求來添加。操作上要注意的是建好封裝後,一定不要忘了點擊Create symbol,不然沒有生成*.psm文件,在Allegro就無法調用。

8.爲什麼無法Import網表?

AllegroFile選項中選Import―――>logic,在import logic typeHDLconcept,注意在Import from欄確認是工作路徑下的packaged目錄,系統有可能自動默認爲是physical目錄。

9.怎麼在Allegro中定義自己的快捷鍵?

allegro下面的空白框內,緊接着command>提示符,打入alias F4(快捷鍵) room

out(命令)。或者在Cadence安裝目錄/share/pcb/text裏有個env文件,用寫字板打開,找到Alias定義的部分,進行手動修改既可。

10.怎麼進行疊層定義?在佈線完成之後如何改變疊層設置?

Allegro中,選Setup-?Cross-section。如果想添加層,在Edit欄選Insert,刪除爲del,材料型號,絕緣層一般爲FR-4Etch層爲Copper,層的類型,佈線層選Conductor,鋪銅層爲Plane,絕緣層爲DielectricEtch Subclass Name分別爲TopGndS1S2VccBottom

Film Type一般選擇Positiveplane層選擇Negative。如果佈線完成之後,發現疊層設置需要改動。比如原來設置的爲34層是plane層,現在需要改爲25層,不能簡單的通過重命名來改變,可先在25層處添加兩層plane層,然後將原來的plane層刪除。

11.爲什麼在Allegro佈局中元器件在列表中不顯示或者顯示而調不出來?

首先確定Psmpathpadpath的路徑有沒有設置,如果沒有設置可以在Partdevelop裏設置,或者在env文件中手動添加。也有可能器件在列表中存在,但是無法調出,可檢查該器件所用到的*.pad文件及封裝庫文件*.dra,*.psm是否存在於你的工作目錄×××/physical裏。另外還有一種可能就是頁面太小,不夠擺放器件,可以在setup-?draw size中調整。

12.爲什麼器件位置擺放不準確,偏移太大?

主要是因爲Grids設置的問題,可在setupgrids中將每一層的EtchNonetchgridsXYspacing間隔調小。對於一些對位置要求比較嚴格的器件,比如插槽,金手指等用於接口的元器件,則應該嚴格按照設計者給定的位置尺寸,在命令行裏用座標指令進行定位。如:x

1200 3000 

13.怎樣做一個Mechanical symbol,以及如何調用?

Allegro中File-?new,在drawing type中選擇Mechanical

symbol。主要是爲了生成PCB板的外框模型,在這裏面雖然也可以添加pad,但是沒有管腳對應關係。Mechanical symbol完成以後,生成*.dra文件。在Allgro中調用時,選擇by symbol>mechanical。注意右下角的library前面的勾打上。

14.在佈局後如何得到一個整理後的所有元件的庫?

如果嫌physical目錄下各類文件過分繁冗,想刪除一些無用的文件,或者只有一個*.brd文件,想獲取所有的元件及pad封裝庫的信息,可以採用這種辦法:將*.brd另存在一個新的目錄下,在File>export>libraries,點中所有選項,然後export,即可在你的新目錄下生成所有的*.pad,*.psm,*.dra文件。

15.如何定義線與線之間距離的Rule

我們以定義CLK線與其它信號線之間的距離爲例:

Allegro中:setup>constraints,在spacing rule set中點set values。首先add一個constraint set name,比如我們取名爲CLOCK_NET,然後就在下面定義具體需要遵守的規則。比如line to line 我們定義爲10mil。接着在allegro主窗口的edit菜單下選擇properties,會跳出你的Control工具欄,在find by name中選擇net,在右下角點擊more。在新彈出的窗口的列表中選擇你所想規定的CLK線,如CK0CK1CK2等等,確定右邊的selected

objects中以選中所有的線,點Apply。又會出現一個新窗口,在左邊的availableproperties中選擇NET_SPACING_TYPE,在左邊給它賦值(名字隨意),比如CLK。回到setup>constraints,在剛纔set values的下面點擊Assignment table,即可將所定義的規則賦給所選用的net

Specctra中,可先選中所要定義間距的信號線(select >nets>by list),然後在rules中選selected net>clearance,在該窗口可定義一系列的佈線規則,比如要定義線與線之間的間距,可在wirewire欄定義,注意,當點Apply或者OK之後,該欄仍然顯示-1(意思是無限制),只要看屏幕下方的空白欄,是否有定義過的信息提示。

16.爲什麼在Allegro中畫線不能走45度角?

control控制欄的line lock中,可將90改爲45,如果想畫弧線,可以將line改爲Arc

17.如何在CCT中定義走線最大最小距離?

同上面定義間距的方法類似,在選中所要定義的線之後,rules>selected net>timing,則可以在minimumlengthmaximum length中定義走線的最長最短長度限制,也可以用時間延遲爲限制來定義。還有一種方法就是在Specctra Quest中提取某一根信號線的拓補結構作爲模型,在裏面定義各段導線的長度限制,然後生成rule文件,可以約束相同類型信號線的走線。

18.在CCT中如何進行一些保存讀盤操作(顏色設置、規則保存)?

Specctra裏,可用file>write>session來保存當前佈線,用file>write>rules

did files來保存規則文件,調用時均使用file>execute do file,然後打需要調用的存盤文件,如Initial.sesrules.rul 。在color palette中使用write colormap和來load colormap來保存和讀取顏色設置。

19.在CCT中怎麼大致定義自動打孔的位置,怎麼打一排過孔及定義其排列形狀?

CCT中有自動打過孔的功能,在Autoroute>Pre Route>Fanout。可以指定過孔的方向,比如想把過孔都打在Pad的內部,則可以在location中選inside。其中也可以定義一些其他限制。另外有時我們可以選擇一組線進行平行走線,這時就可能同時打一排過孔,右擊鼠標選擇set via pattern,可選擇其排列形狀。在窗口的右下方也有快捷按鈕可以選擇。

20.爲什麼提示的最大最小距離不隨走線的長度變化而改變?

我們在定義了最長最短走線的規則之後,在佈線時會有數字顯示,隨時告訴你如果按當前走向佈線會離所定義的規則有多大的偏差。一般在規則長度以內的用綠色字體

顯示,超過了或長度不夠會有紅色字體顯示,並用+/—提示偏差量。但是這個提示的偏差量並不是簡單的隨你走線的長度變化而變化。它是根據你的佈線方向,軟件自動計算按此方向走線的長度與規定長度的比較,如果變換走線方向,它也會重新計算。

21.怎麼鋪設Plane層?鋪好後怎麼修改?

鋪銅這一步驟一定要在Allegro中進行,Add>shapes>Solid Fill,同時注意在Control工具欄中Active ClassEtchSubclass選所要鋪設的Plane層,如VCC或者GND。然後即可畫外框,注意離outline20Mil左右的間距。Done之後會進入鋪銅的操作界面,選Edit>Change netby name)給Plane層命名。在shape>parameters確定是否使用了Anti PadThermal relief,接着選Void>Auto,軟件會自動檢測Thermal relief,完成之後會有log彙報,如果沒有任何錯誤既可鋪設shapeshape>Fill。如果鋪好之後又有過孔的改動,需要重新鋪銅,則應選Edit>shape,點在shape上,然後右擊鼠標選done,這樣就會自動將連接在shape上的Thermal relief刪除,不能硬刪鋪銅的shape層,否則那些Thermal relief將遺留在Plane層上。

22.怎麼定義thermal-relief 中過孔與shape連線的線寬?

AllegroSetup>constraints裏的set standard values中可定義每一層走線的寬度,比如,可以定義VCCGND的線寬爲10Mil。在鋪銅時注意shape>parameters裏一些線寬的定義是否設置成DRC Value

23.如何優化佈線而且不改變佈線的總體形狀?

佈線完成之後,需要對其進行優化,一般採用系統自動優化,主要是將直角變爲45度,以及線條的光滑性。Route>gloss>parameters,在出現的列表中,選Line smoothing,進行Gloss即可,但有時佈線中爲了保證走線距離相等,故意走成一些彎曲的線,優化時,點擊Line Smoothing左邊的方塊,只選擇convert 90s to 45s,把其他的勾都去掉,這樣進行優化時就不會將設計者故意彎曲的走線拉直或變形。

24.如何添加淚滴形焊盤以及加了之後如何刪除?

在優化的parameters選項中只選擇倒數第二個,Pad And T Connection Fillet,並去掉其中的Pin選項,進行優化即可。想要刪除的話,則只選Line smoothing中的dangling Lines進行優化。注意:如無特殊要求,現在我們不再進行此項優化。

25.佈線完成之後如果需要改動封裝庫該如何處理?

在器件擺放結束後,如果封裝庫有改動,可以Place>update symbols,如果是pad有變化,注意要在update symbolpadstacks前打勾。佈線完成之後儘量避免封裝庫的改動,因爲如果update,連接在Pin上的連線會隨Symbol一起移動,從而導致許多連線的丟失,具體解決辦法有待於研究。

26.爲什麼*.brd 無法存盤?

遇到這種情況注意看屏幕下方的空白欄的提示,有可能是硬盤空間不夠,還有一種可能是因爲數據庫出錯,軟件會自動存盤爲*.SAV文件,這時可以重新進入Cadence(可能需要重起動),打開*.SAV,再另存爲*.brd 。或在Dos下運行DBFix .SAV,會自動將其轉換爲*.brd文件,然後即可調用。

27Allegro有哪些在Dos下的數據庫修正命令?

有時Allegro會出現一些非法超作,導致一些數據出錯,我們可以在Dos方式下,在工作目錄下(即physical目錄下),運行一些修正命令,如Dbcheck *.brd , Dbfix *.brd 。不過實際中這些命令好像效果不大。

28.如何生成*.DML模型庫?

dos模式,工作目錄下,敲入brd2dml *.brd 命令,這樣在該目錄下會生成對應brd文件的模型庫dml文件。

29.如何在Specctra Quest裏使用IBIS模型進行仿真?

首先將IBIS模型轉化爲*.dml文件。在Specctra Quest SI expertAnalyze>Si/EMI

SI>library,在出現的新窗口的右下角,點擊translate>ibis2signoise,然後在browse裏選

*.ibs文件,將其轉化爲*.dml文件。然後在Analyze>SI/EMI SI>model Assign中將所有的器件加載對應的模型。然後就可以用probe提取信號線進行仿真了。

30.生成Gerber file要哪些文件?如何產生?

PCB佈線完成以後,所做的最後一項工作就是產生生產廠家所需要的光繪文件,具體步驟在Allegro工具下完成。在Manufacture菜單下點擊Artwork 選項, 則出現一個artwork control form窗口。所提供的光繪文件除了包括已產生的TOP, GND,S1, S2, VCC, BOTTOM6,還應包括silkscreen_top, silkscreen_botom, soldermask_top, soldermask_bottom, pastemask_top, pastemask_bottom, drill drawing file, drill hole。我們以製作Silkscreentop層爲例。

1)在Allegro窗口中,點擊color 圖標,在產生的窗口中,global visibility 選擇

all invisibility, 關掉所有的顯示。

2)在group 選擇Geometry. 然後選中所有的subclass(Board_Geometry , package

Geometry)下的silkscreen_top 

3)同樣在Group/ manufacture 中選擇Autosilk_top 。 在Group/components subclass REF DES 中選擇 silkscreen

4)選擇OK按鈕 ,則在Allegro窗口中出現 silkscreen_top層 。

5)在artwork control form 窗口,右鍵點擊Bottom ,在下拉菜單中選擇add ,則在出現的窗口中輸入:silkscreen_top, 點擊O.K , 則在avilibity films中出現了新加的silkscreen_top。注意:在FILM opition選中Use Aperure Rotation, Underined line width 中填寫5(或10) ,來定義還沒有線寬尺寸的線的寬度。

按照上面的步驟,產生silkscreen_bottom層。soldermask_top和 soldermask_bottom 層分別在 :

Gemoetry 組和 Stackup 組(選擇PIN VIA子集);Pastemask_top Pastemask_bottom分別在Stackup組(選擇PIN VIA子集);DrillDraw 包括Group/Board

Geometry中的outlineDimension Manufacturing 中的Ncdrill_Legend。這樣,按照上面的步驟,分別添加上述各層。然後在 Artwork control form 窗口中,點擊Select All 選中所有層,再點擊 Apertures.按鈕, 出現一新的窗口EditAperture Wheels, 點擊EDIT, 在新出現的窗口中點擊AUTO>按鈕,選擇with rotation,則自動產生一些Aperture文件。然後點擊O.K。在 Artwork control form 中點擊 Creatartwork ,則產生了13art文件。 回到 Allegro 窗口, 在 Manufacture 菜單下點擊NC 選項中的Drill tape 菜單,產生一個*.tap 文件。到此,就產生了所有的14個光繪文件。

31.如何調看光繪文件?及如何製作NegtivePlane層光繪文件?

新建一個空白layout文件,File>import>Artwork,然後就可以在browse中選擇*.art文件,Manual中選gerber 6×00。注意不要點OK,點擊Load File。在調用Soldermask 時要在display padtargets前打勾。 調用silkscreen層時,可能會發現沒有器件名標誌。這是因爲在上面製作光繪文件時,Underined linewidth沒有定義寬度,而在以前製作封裝庫時,silk_screen層時標註的Ref也沒有定義寬度,則在調用時會不顯示。另外如果想製作Negtive的光繪文件。在製作光繪文件時,GndVcc層的Plot mode選爲Negative就行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章