利用Cadence Allegro進行PCB級的信號完整性仿真 |
摘要:在高速PCB設計過程中僅僅依靠個人經驗布線,往往存在巨大的局限性.利用Cadence的Allegro軟件包對電路進行PCB級的仿真,可以最優化線路布局,極大地提高電路設計質量,從而縮短設計周期,本文結合作者的實際設計經驗.介紹使用Cadence的一般步驟并列舉在使用過程中所發現的一些問題. 隨著信息寬帶化和高速化的發展,以前的低速PCB已完全不能滿足日益增長信息化發展的需要,而高速PCB的出現將對硬件人員提出更高的要求,僅僅依靠自己的經驗去布線,會顧此失彼,造成研發周期過長,浪費財力物力, 生產出來的產品不穩定,一般認為高速PCB是指其數字信號邊沿上升時間小于4倍信號傳輸時延,這種高速PCB的信號線必須按照傳輸線理論去設計,否則將會嚴重影響信號的完整性.Cadence公司針對PCB Design Studio發布一個功能非常實用的高速電路設計及信號完整性分析的工具選件-Allegro PCB.利用這個仿真軟件能夠根據疊層的排序,PCB的介電常數,介質的厚度,信號層所處的位置以及線寬等等來判斷某一PCB線條是否屬于微帶線,帶狀線,寬帶耦合帶狀線,并且根據不同的計算公式自動計算出信號線的阻抗以及信號的反射、串繞、電磁干擾等等,從而可以對布線進行約束以保證PCB的信號完整性.下面根據我們的具體實踐,介紹其基本使用方法. 由于我們在實際設計過程中,通常使用ORCAD進行電路前期設計,得到的是電路的max文件為了利用Cadence進行電路仿真,首先需要將ORCAD的max文件轉換為Allegro 的brd文件.完成這一轉換的工具是Cadence公司提供的一組附件,該附件包含4個文件,分別是Layout.ctl,Layout.fnt,layout.ini和Toallegro.exe. 使用時需要設置好路徑和環境變量然后運行Toallegro.exe文件,在提示下輸入所要轉換的max文件名就可以將max文件轉換為bsd文件.但是需要特別注意的是 ,轉換后的brd文件與原來的文件相比有一些隱蔽性的問題,列舉如下: 首先,元件的焊盤名和封裝名會出現問題,在ORCAD中合法的命名規則在ALLEGRO中則可能不合法.例如:在ORCAD中可這樣定義一個封裝名"SBGA \1.27M\K31\W31\P304",但是在轉換至Allegro的bsd文件時會轉變為"SBGA127ML31W31P304";而在ORCAD中定義的焊盤名 "9DT I0.038X0.032"在轉換至ALLEGRO的brd文件時會轉變為"9DTI0_038X0_032".即它將封裝名的"\"刪掉 而將焊盤名的"."改為"_"有的焊盤名如果與ALLEGRO 中的一些關鍵字重名,必須將其改名才能轉換成功. 第二,它會給PCB自動加上默認疊層,然而ORCAD中沒有疊層的選項. 第三,它不能將原來的各種線寬、間距帶到allegro中. 第四,在將ORCAD的max文件轉換至ALLEGRO的brd文件后,有時會發現轉換后的brd文件在ALLEGRO中雖然能夠正常打開,但是卻不能正常存盤,它只能將PCB的brd文件存為*.SAV文件.解決的方法是在dos環境下執行dbfix命令糾正該錯誤. 第五,轉換至ALLEGRO的brd文件的裝焊層有些元件值沒有帶過來,因此不能在allegro的brd文件中輸出裝焊圖. 第六,也是最重要的一點,在ALLEGRO中自動加上疊層后,將原來的通孔焊盤按照默認疊層結構自動改變, 如果要調整疊層結構,就必須對每一個通孔焊盤進行修改,否則會出現很嚴重的后果.因為在ALLEGRO中每一層都定義了各種焊盤,根據不同的層進行選擇,相比之下,ORCAD只在平面層上才定義熱焊盤. 在成功轉到ALLEGRO之后還需要做些仿真前的準備. 首先是根據器件的Datasheet對器件的IBIS進行檢查, 檢查的內容包括: 做完準備工作后,就可以抽取網線的拓撲結構進行信號完整性仿真了.仿真分為2種:一種是數據線仿真, 一種是時鐘線仿真,這都是在同步電路下進行的.仿真時應該從器件的Datasheet中查找以下的參數:Tco.min,Tco.max,Tcycle,Tsetup.min,Thold.min;從所提供的時鐘的Datasheet中查找以下參數Tskew.clk,Tjit;;另外還需要估計PCB的Tskew.pcb,給出余量Tmargin. 然后根據以下兩個計算公式計算兩個參數Tsettledelay.max和Tswitchdelay.min.這兩個算式分別為: 經過仔細分析,發現該公式確實已考慮得非常周全,把上升和下降沿的細微時間以及沿的細小抖動也,包含在內,這可能也是Cadence的PCB軟件中最核心最精華的部分.通過公式算出Tsettledelay.max,Tswitchdelay.min后,需要和根據拓撲結構仿真出來的Tsettledelay.max,Tswitchdelay.min值進行比較以便用來調整參數這些參數包括:布線長度、線阻抗、線速、增加減電阻、電容、節點的位置以及線的連接方式等,時鐘線還需考慮它的單調性,參數調節是不能隨心所欲的,不僅要找一定的規律,還要考慮到PCB疊層的參數設置及一些現實所允許的值.這樣才能找到適合實際PCB的,比較理想的拓撲結構.否則如果在自動布線完成后才發現拓撲結構有問題,就需要來回進行修改.還要注意一點,就是所有以上參數都必須在最壞情況下找出它們的最大范圍. 所謂最壞情況是指,在仿真Tsettledelay.max數據時, 必須是在slow的環境下;而仿真Tswitchdelay.min數據時,必須在fast的環境下進行.在我們仿真的過程中,還發現有些器件的Tco.min和Tco.max是在不同的測試條件下測試的,在仿真時還要改變dml庫的測試環境值,才能測出更準確的值.調整好拓撲結構后,千萬別忘了填寫拓撲結構的限制表,限制表里頭才是最終起作用的限制條件,接下來只要將填好限制后的拓撲結構加在同類網線上,然后轉到SPECTRA中進行自動布線,SPECTRA會盡量根據限制自動布線,但是,最后在ALLEGRO 中做檢查時會發現有一些DRC報告是因為沒有按照限制完成布線,它會提示限制是多長,而實際只布了多長,這時,一種解決方法是刪除所有線,改變器件位置,重新自動布線;再一種就需要改變拓撲結構.如果兩種方法都失敗了就要考慮到換性能更好的器件.按照以上方法 一塊高質量信號完整性的高速PCB就已基本完成. 通過使用Cadence軟件進行信號完整性的仿真,我們體會到該軟件具有很強的實用性,對于硬件設計人員來說,是一種不可多得的設計工具,對高速PCB來說尤為如此.當然,對于這樣一個高智能仿真軟件,使用起來也并不那么容易,如果對它的內部計算不甚了解, 很有可能會因為一兩個參數或選項的錯誤而導致仿真結果失敗,希望本文能夠起到一定的幫助作用. |
推薦課程
-
7套中文視頻教程,2本教材,樣樣經典
-
國內最權威、經典的ADS培訓教程套裝
-
最全面的微波射頻仿真設計培訓合集
-
首套Ansoft Designer中文培訓教材
-
矢網,頻譜儀,信號源...,樣樣精通
-
與業界連接緊密的課程,學以致用...
-
業界大牛Les Besser的培訓課程...
-
Allegro,PADS,PCB設計,其實很簡單..
-
Hyperlynx,SIwave,助你解決SI問題
-
現場講授,實時交流,工作學習兩不誤