根據(jù)課題需要,我們要搭建一個(gè)雷達(dá)信號(hào)處理的硬件平臺(tái)。在此平臺(tái)上,有4個(gè)DSP(C’6203)及多個(gè)高速同步RAM,總線頻率100Mhz。我們選用我所新近購買的Mentor公司的PCB工具作為設(shè)計(jì)手段,目的是熟悉使用該軟件,進(jìn)行必要的仿真,使設(shè)計(jì)能夠盡可能一次成功。經(jīng)過3個(gè)多月的工作,我們最終完成了兩塊10層板的設(shè)計(jì)工作。這段時(shí)間中,對(duì)Mentor的DxDesigner及ExpediTIon PCB進(jìn)行了熟悉使用,現(xiàn)將這段工作的設(shè)計(jì)體會(huì)進(jìn)行簡單的總結(jié)。
關(guān)于Expedition的設(shè)計(jì)思想
對(duì)于大部分硬件工程師來講,PCB設(shè)計(jì)使用最多的恐怕就是protel,因此在使用Expedition做PCB設(shè)計(jì)時(shí)不自覺的就會(huì)把兩者設(shè)計(jì)思想進(jìn)行比較,從本質(zhì)上來講,兩者并無什么不同,都是符號(hào),封裝,互連關(guān)系,但是在具體形式上,Expedition比起Protel要更為細(xì)致。Protel在設(shè)計(jì)時(shí)只需要兩個(gè)庫:符號(hào)庫及封裝庫,原理圖設(shè)計(jì)時(shí)在元件的屬性中進(jìn)行兩者的對(duì)應(yīng),然后生成網(wǎng)表文件,就可以帶入到PCB中進(jìn)行布局布線,如圖1所示。

與此不同,Expedition中引入了中心庫(Central library)的概念,符號(hào)(Symbol)與封裝(Cell)的對(duì)應(yīng)是在中心庫中完成,形成器件(Part)。可以說,中心庫是整個(gè)設(shè)計(jì)的基礎(chǔ),從焊盤定義,封裝制作、符號(hào)與封裝的對(duì)應(yīng),都在中心庫中完成。在進(jìn)行原理圖設(shè)計(jì)時(shí),可以從中心庫中調(diào)符號(hào),當(dāng)然也可以自己建立本地符號(hào)庫,但是在進(jìn)行編譯之前,要用中心庫中的符號(hào)代替自己建立的符號(hào),并在符號(hào)的屬性中指定與中心庫中Part的對(duì)應(yīng)關(guān)系,同時(shí)指定中心庫路徑,這樣才可以完成編譯,進(jìn)入下一步 PCB的流程(圖2)。

前端輸入工具(DxDesigner)
我所購置的Mentor軟件的前端管理工具是DxDesigner。由于我們手中沒有現(xiàn)成的中心庫可用,時(shí)間又比較緊張,在設(shè)計(jì)之初,我們采用的是兩個(gè)人分頭進(jìn)行的設(shè)計(jì)方法:一個(gè)人負(fù)責(zé)建立符號(hào)庫及原理圖設(shè)計(jì),另一個(gè)人則負(fù)責(zé)作封裝庫,到基本完成后再整合在一起。
原理圖設(shè)計(jì)工具是viewdraw,在viewdraw的環(huán)境中也可以編輯制作符號(hào),符號(hào)(symbol)創(chuàng)建有導(dǎo)航,在編輯時(shí)比較方便,也可以用 VHDL或Verilog語言作為輸入源,由于現(xiàn)在器件公司網(wǎng)站上一般都會(huì)提供語言的描述,所以有時(shí)候會(huì)比較快,但是用這種方式做出來的符號(hào)往往管腳排列不規(guī)則,需要改動(dòng),有時(shí)并不比手動(dòng)輸入時(shí)方便多少;元器件的屬性種類比較豐富,但常用的基本屬性就幾個(gè),只要填寫正確一般也不會(huì)出大問題;他的路徑設(shè)定比較麻煩,若想把在別的機(jī)器上的設(shè)計(jì)拷過來,必須先進(jìn)行歸檔(Archive)操作,把庫、設(shè)計(jì)數(shù)據(jù)進(jìn)行打包,這樣的工程才能在新的機(jī)器上打開;原理圖編輯功能也都大同小異,總的感覺,它的原理圖輸入工具沒什么優(yōu)勢可言,輸入的方便性及直觀性都比較一般。
庫管理工具(Library Manager)主要用于中心庫的創(chuàng)建及管理工作,它主要包括四個(gè)部分:焊盤堆(Padstack),符號(hào)(Symbol),封裝(Cell),元件 (Part),分別由各自編輯器來完成編輯工作。此外,中心庫管理器還提供了導(dǎo)入導(dǎo)出功能,可以與別的中心庫進(jìn)行較為方便的數(shù)據(jù)交換。
焊盤是封裝的基礎(chǔ),因此一般先建焊盤,焊盤堆編輯器中提供的焊盤種類很豐富,能滿足各種需求,除非特殊需要,一般情況下都選用通孔和表貼焊盤,只是孔徑有所區(qū)別。封裝建立時(shí)有導(dǎo)航器,可以根據(jù)需要選擇不同的封裝種類,然后選擇管腳間距,確定焊盤,較快的生成封裝。符號(hào)部分可以由符號(hào)編輯器完成,我們由于大部分符號(hào)在畫原理圖時(shí)已經(jīng)建好,因此可以直接導(dǎo)入。最后一步就是生成元件(Part),這個(gè)過程雖然比較簡單,只需在編輯器中導(dǎo)入相應(yīng)的符號(hào)及封裝進(jìn)行對(duì)應(yīng),但是對(duì)于管腳比較多的器件來講,非常容易出錯(cuò),如果在原理圖里管腳定義有問題,在建元件(Part)時(shí)并不容易檢查出來,但在進(jìn)行原理圖編譯時(shí)就會(huì)報(bào)錯(cuò),提示為原理圖的符號(hào)與中心庫里的元件不匹配(Dismatch), 因?yàn)榻o的提示信息太少,這樣的錯(cuò)誤非常難找。我們?cè)谠O(shè)計(jì)時(shí)就碰到了這樣的困難,花了很多的時(shí)間和精力來解決原理圖中的符號(hào)與中心庫的元件不匹配的問題。
PCB設(shè)計(jì)工具(Expedition PCB)
當(dāng)原理圖編譯成功,數(shù)據(jù)進(jìn)入公共數(shù)據(jù)庫,選擇合適的PCB模板,就可以進(jìn)行PCB設(shè)計(jì)。相比與原理圖設(shè)計(jì)工具,Mentor的PCB工具(Expedition PCB)優(yōu)勢還是相當(dāng)明顯,從布局、布線到調(diào)線功能都非常強(qiáng)大。
在進(jìn)入PCB設(shè)計(jì)環(huán)境后,先指定中心庫,進(jìn)行前標(biāo)(Forward Annotate),將公共數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到PCB的設(shè)計(jì)環(huán)境中,這時(shí)候元器件的封裝及互連關(guān)系就已經(jīng)確定,就可以開始著手進(jìn)行布局的工作了。如果是從頭開始的話,可以將所有器件一下全部放到PCB板上,也可以一個(gè)一個(gè)放,我們使用的方法則是與原理圖連接的交互布局方法,就是把原理圖和PCB進(jìn)行連接 (Connection),根據(jù)原理圖來選擇放什么器件,這樣的好處是比較關(guān)鍵器件位置一開始就做到心里有數(shù),等大的、比較關(guān)鍵的器件放完之后,再可以把剩下的器件都放在板子上進(jìn)行調(diào)整。
在布局之前最好進(jìn)行仿真確定拓?fù)浣Y(jié)構(gòu),這需要仿真軟件的支持,我們選用的是Hyperlynx,在后面將對(duì)仿真做專門的討論。在確定了拓?fù)浣Y(jié)構(gòu),完成器件的布局,定義了PCB的分層情況后,就可以開始布線的操作,Expedition PCB為布線提供的功能非常豐富,從手動(dòng)到自動(dòng),選擇很多,設(shè)置也就很多。作為初學(xué)者,并根據(jù)需要,我們沒有做太多的選項(xiàng)設(shè)置,除了線寬、線間距、焊盤、過孔等基本設(shè)置外,主要在網(wǎng)絡(luò)分類、線長控制上作了必要的設(shè)置,為將來的后仿真做準(zhǔn)備。
在進(jìn)行布線之前,一般對(duì)管腳比較多、比較密的封裝(如 BGA)先進(jìn)行管腳扇出操作,這樣的好處除了使過孔對(duì)的比較整齊外,也省去了從焊盤進(jìn)行拉線的步驟,當(dāng)然,選擇每個(gè)管腳都向同一方向扇出并打孔可能會(huì)占用一些布線資源,這可以在布線之前進(jìn)行一些整合,把一些相鄰較近的電源、地管腳進(jìn)行合并。
開始進(jìn)行布線后,先進(jìn)行了一次試探性的自動(dòng)布線,確定各元件附近線的密度情況,從自動(dòng)布線情況看,布通率還是很高。根據(jù)我們的具體情況,我們選擇以手動(dòng)方式為主對(duì)關(guān)鍵器件(如DSP)進(jìn)行布線。 Expedition PCB提供了一個(gè)總線布線的方法(multi-plow),對(duì)于總線眾多的數(shù)字電路來講,要方便快捷很多,同時(shí)也很大程度上避免了走線不等長的問題。在比較關(guān)鍵的部分用手動(dòng)完成后,剩下的要求不高的部分可以由自動(dòng)布線來完成,除非走線太密,一般情況下布通率還是很高,剩下的不多的幾根線再用手動(dòng)完成,難度也不會(huì)太大。在完成布線后,難免要進(jìn)行一定的調(diào)線,Expedition PCB調(diào)線非常方便,線之間的推擠,線與過孔之間的位置互換都很靈活,另外,如果有些線之間不等長,他的tune功能可以比較方便的幫助實(shí)現(xiàn)??傊诓季€的靈活性及方便性來講,確實(shí)感覺原來用的protel要高出不少。
在完成布線工作后,還有一個(gè)比較重要的工作就是電源層的生成,電源層網(wǎng)絡(luò)的指定及劃分都比較方便。電源層需要處理(planes processor),在那里定義電源的正、負(fù)片、熱焊盤的形式,處理過的電源層才會(huì)有對(duì)應(yīng)的電源層數(shù)據(jù),要注意的一點(diǎn)是一旦設(shè)計(jì)有改動(dòng),必須要重新進(jìn)行電源層處理,比方說有焊盤的位置移動(dòng)過,那么在電源層對(duì)應(yīng)位置的阻焊不會(huì)跟著移動(dòng),必須要重新進(jìn)行電源層處理后才能和移動(dòng)過的新焊盤位置對(duì)應(yīng)上。
再往下的工作就是進(jìn)行規(guī)則檢查(DRC),Expedition PCB提供的規(guī)則檢查種類很多,要根據(jù)具體情況選擇,關(guān)鍵的是未連通、電源孤島、懸線、環(huán)形線等,根據(jù)檢查結(jié)果改動(dòng)設(shè)計(jì),當(dāng)DRC沒有報(bào)錯(cuò)時(shí),這個(gè)PCB 的設(shè)計(jì)也就基本完成了。當(dāng)設(shè)計(jì)檢查基本完成后,可以根據(jù)需要對(duì)PCB板上的元件標(biāo)號(hào)重新定義,按照從左至右或從上到下的順序?qū)υ雌骷M(jìn)行重新編號(hào),還可以根據(jù)要求給器件標(biāo)號(hào)加前綴,方便將來歸檔和元件的焊裝查找。當(dāng)然,這一步完成后,要對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行反標(biāo)(Back Annotate),然后,用數(shù)據(jù)庫中的數(shù)據(jù)對(duì)原理圖再進(jìn)行反標(biāo),才能使原理圖與PCB對(duì)應(yīng)上。反標(biāo)結(jié)束后,可以根據(jù)情況修改絲印層字體的大小及位置,并用工具(silkscreen generator)處理一下,才能生成絲印層的數(shù)據(jù)。
最后一步,就是制板數(shù)據(jù)的生成,Expedition PCB中輸出gerber文件,而且有g(shù)erber tool來對(duì)觀察生成的gerber文件,在gerber tool中看到的數(shù)據(jù)與生產(chǎn)廠家看到的數(shù)據(jù)是一樣的,在這里可以對(duì)你的設(shè)計(jì)進(jìn)行最后一步的控制。制板需要的最少文件需要兩個(gè):gerber文件和打孔 (NC Drill)文件。
仿真工具(ICX及Hyperlynx)
仿真一般包括兩個(gè)部分:前仿及后仿。前仿用來確定器件的拓?fù)浣Y(jié)構(gòu)及走線距離,后訪可以對(duì)整板進(jìn)行仿真,對(duì)器件的信號(hào)完整性、時(shí)序配合進(jìn)行觀察,防止一些錯(cuò)誤情況的出現(xiàn),使得信號(hào)時(shí)序盡可能完成要求。當(dāng)然,仿真只能是參考性的,具體的結(jié)果還要根據(jù)調(diào)試情況而定。
選擇什么樣的拓?fù)浣Y(jié)構(gòu)與PCB的最后完成情況密切相關(guān),因此,在進(jìn)行拓?fù)洳季智?,有必要進(jìn)行前期仿真工作,初步確定元件的拓?fù)湫螤罴熬嚯x遠(yuǎn)近。 Mentor提供的仿真工具Hyperlynx可以完成這項(xiàng)工作,它是以器件的IBIS模型為基礎(chǔ),確定線長及阻抗,對(duì)不同拓?fù)淝闆r下對(duì)某些關(guān)鍵信號(hào)進(jìn)行仿真,觀察不同拓?fù)湎碌男盘?hào)完整性情況,從中選取一個(gè)最好的方案。當(dāng)然,它的作用并不僅限于此,在PCB完成后,也可以根據(jù)實(shí)際走線情況進(jìn)行具體信號(hào)的仿真,這對(duì)分析解決調(diào)試中的一些問題也會(huì)有一定的參考作用。在經(jīng)過不同拓?fù)涞姆抡姹容^,我們最終確定了DSP與高速同步存儲(chǔ)器之間采用菊花鏈的連接方式。
后仿真用于在完成布線后對(duì)信號(hào)完整性及總線時(shí)序配合進(jìn)行仿真,我們用ICX對(duì)某些關(guān)鍵信號(hào)做了必要的仿真,ICX仿真的基礎(chǔ)也是器件的IBIS模型,不同的是,它已經(jīng)考慮到了PCB的具體布線情況、走線長度、相鄰線的串?dāng)_、終端匹配情況、PCB板的材料等,對(duì)我們來說,比較感興趣的就是一組總線到達(dá)高速同步存儲(chǔ)器時(shí)的時(shí)序配合情況,ICX可以看出一個(gè)網(wǎng)絡(luò)類中不同信號(hào)到達(dá)終端時(shí)的時(shí)間,通過這種方式可以判斷布線能否滿足時(shí)序要求。
本文小結(jié)
從使用的情況看,總的感覺Mentor的這套PCB設(shè)計(jì)工具前端設(shè)計(jì)輸入比較麻煩,后端布線則比較方便。尤其是中心庫,如果要從無到有的建立,是個(gè)非常艱苦的過程,可以說,沒有一個(gè)強(qiáng)有力的中心庫支持,這套軟件的推廣使用就會(huì)步履維艱。從外面公司對(duì)這套軟件的使用情況看,Mentor一般適于團(tuán)隊(duì)化設(shè)計(jì)方式:建庫人員負(fù)責(zé)專門建庫,并負(fù)責(zé)庫的及時(shí)更新,這樣中心庫的器件制作會(huì)比較規(guī)范,使用起來也會(huì)得心應(yīng)手;工程設(shè)計(jì)人員只負(fù)責(zé)進(jìn)行原理設(shè)計(jì),可以把主要的精力放在方案的建立和提出時(shí)序要求;PCB人員根據(jù)設(shè)計(jì)人員的要求,專門負(fù)責(zé)布線,ExpediTIon PCB功能強(qiáng)大,設(shè)置很多,沒有長時(shí)間的使用經(jīng)驗(yàn),很難完全掌握,因此有專門的人員從事這樣工作才能充分發(fā)揮該工具的優(yōu)勢;仿真部分可以由專門的仿真人員,也可以由設(shè)計(jì)人員來完成,仿真也是一個(gè)工作量很大的工作,從器件模型的查找到建立,非常耗時(shí),而且仿真對(duì)設(shè)計(jì)人員的要求也比較高,如何根據(jù)仿真結(jié)果進(jìn)行判斷,合適的修改設(shè)計(jì),也需要一個(gè)經(jīng)驗(yàn)積累的過程。
我所目前的組合設(shè)計(jì),是以型號(hào)為主線,設(shè)計(jì)人員從設(shè)計(jì)到調(diào)試全部完成,好處是設(shè)計(jì)人員對(duì)自己的東西比較了解,但對(duì)于Mentor這樣的大型軟件來講,后果可能是設(shè)計(jì)人員對(duì)這套工具中的每個(gè)軟件了解的都不是很透徹,發(fā)揮工具的優(yōu)勢就會(huì)打不少折扣。另外以目前的方式,要推廣使用該套軟件進(jìn)行設(shè)計(jì),從實(shí)現(xiàn)角度來講,首先要有一個(gè)比較完備的中心庫,省去設(shè)計(jì)人員艱苦的建庫、修改工作,能投入更多的精力到設(shè)計(jì)中去,這樣才可能會(huì)比較快的上手使用。總的來說,自我感覺Mentor的這套PCB工具是比較完備和先進(jìn)的產(chǎn)品,比起目前我們的設(shè)計(jì)工具要上了一個(gè)層次。從長遠(yuǎn)的角度看,數(shù)字產(chǎn)品的速度越來越高,信號(hào)完整性的問題越來越突出,因此該套工具在我所使用前景很廣泛。雖然以我所目前的設(shè)計(jì)方式,完全熟悉整套軟件,對(duì)設(shè)計(jì)人員的要求比較高,把這套軟件的優(yōu)勢完全發(fā)揮出來尚需時(shí)日,但是相信隨著今后任務(wù)要求的不斷提高,大家會(huì)不斷努力嘗試用更先進(jìn)的軟件來做設(shè)計(jì),在使用的人越來越多后,使用水平一定也會(huì)水漲船高。
評(píng)論