Cadence布線常見問題
1. 怎樣建立自己的元件庫?
本文引用地址:http://butianyuan.cn/article/189511.htm建立了一個新的project后,畫原理圖的第一步就是先建立 自己所需要的庫,所采用的工具就是part developer. 首先在建立一個存放元件庫的目錄(如mylib),然后用寫字板打開cds.lib,定義: Define mylib d:boardmylib(目錄所在路徑). 這樣就建立了自己的庫。在Concept_HDL的component->add,點擊search stack,可以加入該庫。
2. 保存時Save view和Save all view 以及選擇Change directory 和不選擇的區(qū)別?
建 立好一個元件庫時,首先要先保存,保存盡量選擇 save view。在concept-HDL中,我們用鼠標(biāo)左鍵直接點擊器件后,便可以對器件的外形尺寸進行修改,這時如果你再進入part developer做一些修改后,如果選擇save all view會回到原來的外形尺寸,而選save view會保留改動后的外形。
3. 如何建part庫,怎么改變symbol中pin腳的位置?
在project manager中tools/part developer可建立,選擇庫并定義part name,在symbol中add symbol,package中add package/addpin,依次輸入pin:
package中:
a, Name : pin’s logical name不能重復(fù)
b, pin : pin的標(biāo)號,原理圖中backannotate后相應(yīng)的標(biāo)號
c, pin type: pin腳的類型(input,output等,暫可忽略)
d, active:pin的觸發(fā)類型 high(高電平),low(低電平)
e, nc:填入空腳的標(biāo)號
f, total:此類型的所有pin腳數(shù)
g, 以下暫略
symbol中:
a, logical name:對應(yīng)package中的name
b, type:對應(yīng)package中的type
c, position:pin腳在器件中位置(left , right , top , bottom)
d, pintext:pin在器件中顯示的name(對應(yīng)package中的pin,但可重復(fù),比如package中
的gnd1和gnd2都可設(shè)為gnd)
e, active:對應(yīng)package中的active修改:用part developer打開要修改的器件,*選擇edit/restrict changes(若不選擇,則器件被保護,修改后存盤無效),一般修改:
a, package中相應(yīng)pin的標(biāo)號和name
b, pin的active類型
c, symbol中各pin腳的順序(pin腳的順序在第一次存盤后再次打開會被改變,對于較多pin腳的器件,如232pins,修改較繁瑣,故盡力保證的一次的成功率。pin腳在器件中的排列順序是根據(jù)symbol中的順序而定,故symbol中pin腳的順序一定要正確,若有錯需修改,選中pin按ctrl鍵配合上下鍵標(biāo)可移動pin腳位置。
4. 畫電原理圖時為什么Save及打包會出錯?
當(dāng)保存時出錯,主要原因可能是:所畫的信號線可能與元件的pin腳重合,或信號線自身重合;信號線重復(fù)命名;信號線可能沒有命名;在高版本中(版本 14.0以上)中,自己所創(chuàng)建的庫不能與系統(tǒng)本身帶有的庫名字相同;建庫時,封裝原件的管腳個數(shù)與原件庫的管腳個數(shù)不同。打包時會出錯的原因則有可能是所 做的封裝類型與元件不匹配(如pin腳的個數(shù),封裝的類型名等)。
5. 在電原理圖中怎樣修改器件屬性及封裝類型?
在菜單Text下拉菜單中選擇Attribute特性,然后點擊器件,則彈出一Attribute 窗口,點擊Add按鈕,則可以加入name,value,JEDEC_TYPE (封裝類型) 等屬性。
6. 如何在Pad Design中定義Pad/via?及如何調(diào)用*.pad?
在pad design中,建立pad 時,type選single類型,應(yīng)該定義下面幾層的尺寸:begin layer(有時是end layer), soldermask和 pastemask 。建立Via時,type一般選through,定義drill hole 的尺寸和所有的layer層(注意定義thermal relief和anti pad)以及soldermask。一般Pastemask和Regular一樣大,soldmask比layer的尺寸大幾個Mil,而thermal relief和anti pad比regular pad的尺寸大10Mil以上。
7. 做封裝庫要注意些什么?
做封裝既可以在Allegro中File->New->package symbol,也可以使用Wizard(自動向?qū)? 功能。在這個過程中,最關(guān)鍵的是確定pad與pad的距離(包括相鄰和對應(yīng)的pad之間),以確保后期封裝過程中元器件的Pin腳能完全的無偏差的粘貼在 Pad上。如果只知道Pin的尺寸,在設(shè)計pad的尺寸時應(yīng)該比Pin稍大,一般width大1.2~1.5倍,length長0.45mm左右。除了 pad的尺寸需特別重視外,還要添加一些層,比如SilkScreen_top和Bottom,因為在以后做光繪文件時需要(金手指可以不要),Ref Des也最好標(biāo)注在Silkscreen層上,同時注意絲印層不要畫在Pad上。還應(yīng)標(biāo)志1號pin腳的位置,有一些特殊的封裝,比如金手指,還可以加上 一層Via keep out,或者route keep out等等,這些都可以根據(jù)自己的要求來添加。操作上要注意的是建好封裝后,一定不要忘了點擊Create symbol,不然沒有生成*.psm文件,在Allegro就無法調(diào)用。
8.為什么無法Import網(wǎng)表?
在Allegro中File選項中選ImportDDD>logic,在import logic type選HDL-concept,注意在Import from欄確認(rèn)是工作路徑下的packaged目錄,系統(tǒng)有可能自動默認(rèn)為是physical目錄。
9.怎么在Allegro中定義自己的快捷鍵?
在 allegro下面的空白框內(nèi),緊接著command>提示符,打入alias F4(快捷鍵) room out(命令)?;蛘咴?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/Cadence">Cadence 安裝目錄/share/pcb/text里有個env文件,用寫字板打開,找到Alias定義的部分,進行手動修改既可。
10.怎么進行疊層定義?在布線完成之后如何改變疊層設(shè)置?
在 Allegro中,選Setup-?Cross-section。如果想添加層,在Edit欄選Insert,刪除為del,材料型號,絕緣層一般為 FR-4,Etch層為Copper,層的類型,布線層選Conductor,鋪銅層為Plane,絕緣層為Dielectric,Etch Subclass Name分別為Top,Gnd,S1,S2,Vcc,Bottom。
Film Type一般選擇Positive,plane層選擇Negative。如果布線完成之后,發(fā)現(xiàn)疊層設(shè)置需要改動。比如原來設(shè)置的為3,4層是plane 層,現(xiàn)在需要改為2,5層,不能簡單的通過重命名來改變,可先在2,5層處添加兩層plane層,然后將原來的plane層刪除。
11.為什么在Allegro布局中元器件在列表中不顯示或者顯示而調(diào)不出來?
首 先確定Psmpath,padpath的路徑有沒有設(shè)置,如果沒有設(shè)置可以在Partdevelop里設(shè)置,或者在env文件中手動添加。也有可能器件在 列表中存在,但是無法調(diào)出,可檢查該器件所用到的*.pad文件及封裝庫文件*.dra,*.psm是否存在于你的工作目錄×××/physical里。 另外還有一種可能就是頁面太小,不夠擺放器件,可以在setup-?draw size中調(diào)整。
12.為什么器件位置擺放不準(zhǔn)確,偏移太大?
主要是因為Grids設(shè)置的問題,可在setup-grids中將每一層的Etch及Non-etch的grids的X、Y的spacing間隔調(diào)小。對 于一些對位置要求比較嚴(yán)格的器件,比如插槽,金手指等用于接口的元器件,則應(yīng)該嚴(yán)格按照設(shè)計者給定的位置尺寸,在命令行里用坐標(biāo)指令進行定位。如:x 1200 3000 。
13.怎樣做一個Mechanical symbol,以及如何調(diào)用?
Allegro 中File-?new,在drawing type中選擇Mechanical symbol。主要是為了生成PCB板的外框模型,在這里面雖然也可以添加pad,但是沒有管腳對應(yīng)關(guān)系。Mechanical symbol 完成以后,生成*.dra文件。在Allgro中調(diào)用時,選擇by symbolD>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,比如我們?nèi)∶麨镃LOCK_NET,然后就在下面定義具體需要遵守的規(guī)則。
比如line to line 我們定義為10 mil。接著在allegro主窗口的edit菜單下選擇properties,會跳出你的Control工具欄,在find by name 中選擇net,在右下角點擊more。在新彈出的窗口的列表中選擇你所想規(guī)定的CLK線,如CK0、CK1、CK2等等,確定右邊的selected objects中以選中所有的線,點Apply。又會出現(xiàn)一個新窗口,在左邊的available properties中選擇NET_SPACING_TYPE,在左邊給它賦值(名字隨意),比如CLK?;氐? setup->constraints,在剛才set values的下面點擊Assignment table,即可將所定義的規(guī)則賦給所選用的net。
在 Specctra中,可先選中所要定義間距的信號線(select —>nets->by list),然后在rules中選selected net->clearance,在該窗口可定義一系列的布線規(guī)則,比如要定義線與線之間的間距,可在wire-wire欄定義,注意,當(dāng)點 Apply或者OK之后,該欄仍然顯示-1(意思是無限制),只要看屏幕下方的空白欄,是否有定義過的信息提示。
17.如何在CCT中定義走線最大最小距離?
同上面定義間距的方法類似,在選中所要定義的線之后,rules->selected net->timing,則可以在minimum length和maximum length中定義走線的最長最短長度限制,也可以用時間延遲為限制來定義。還有一種方法就是在Specctra Quest中提取某一根信號線的拓補結(jié)構(gòu)作為模型,在里面定義各段導(dǎo)線的長度限制,然后生成rule文件,可以約束相同類型信號線的走線。
18.在CCT中如何進行一些保存讀盤操作(顏色設(shè)置、規(guī)則保存)?
在 Specctra里,可用file->write->session來保存當(dāng)前布線,用file->write->rules did files來保存規(guī)則文件,調(diào)用時均使用file->execute do file,然后打需要調(diào)用的存盤文件,如Initial.ses或rules.rul 。在color palette中使用write colormap和來load colormap來保存和讀取顏色設(shè)置。
19.在CCT中怎么大致定義自動打孔的位置,怎么打一排過孔及定義其排列形狀?
CCT 中有自動打過孔的功能,在Autoroute->Pre Route->Fanout ??梢灾付ㄟ^孔的方向,比如想把過孔都打在Pad的內(nèi)部,則可以在location中選inside。其中也可以定義一些其他限制。另外有時我們可以選擇 一組線進行平行走線,這時就可能同時打一排過孔,右擊鼠標(biāo)選擇set via pattern,可選擇其排列形狀。在窗口的右下方也有快捷按鈕可以選擇。
20.為什么提示的最大最小距離不隨走線的長度變化而改變?
我 們在定義了最長最短走線的規(guī)則之后,在布線時會有數(shù)字顯示,隨時告訴你如果按當(dāng)前走向布線會離所定義的規(guī)則有多大的偏差。一般在規(guī)則長度以內(nèi)的用綠色字體 顯示,超過了或長度不夠會有紅色字體顯示,并用+/—提示偏差量。但是這個提示的偏差量并不是簡單的隨你走線的長度變化而變化。它是根據(jù)你的布線方向,軟 件自動計算按此方向走線的長度與規(guī)定長度的比較,如果變換走線方向,它也會重新計算。
評論