信號完整性(Signal Integrity, SI)是指信號在信號線上的質量,即信號在電路中以正確的時序和電壓作出響應的能力。如果電路中信號能夠以要求的時序、持續時間和電壓幅度到達接收器,則可確定該電路具有較好的信號完整性。反之,當信號不能正常響應時,就出現了信號完整性問題。
隨著高速器件的使用和高速數字系統設計越來越多,系統數據率、時鐘速率和電路密集度都在不斷地增加。在這種設計中,系統快斜率瞬變和工作頻率很高,電纜、互連、印制板(PCB)和硅片將表現出與低速設計截然不同的行為,即出現信號完整性問題。信號完整性問題能導致或者直接帶來諸如信號失真,定時錯誤,不正確的數據,地址、控制線和系統誤差等,甚至使系統崩潰,這已成為高速產品設計中非常值得注意的問題。本文首先介紹了PCB信號完整性的問題,其次闡述了PCB信號完整性的步驟,最后介紹了如何確保PCB設計信號完整性的方法。
PCB信號完整性的問題包括
PCB的信號完整性問題主要包括信號反射、串擾、信號延遲和時序錯誤。
1、反射:信號在傳輸線上傳輸時,當高速PCB上傳輸線的特征阻抗與信號的源端阻抗 或負載阻抗不匹配時,信號會發生反射,使信號波形出現過沖、下沖和由此導致的振鈴現象。過沖(Overshoot)是指信號跳變的第一個峰值(或谷值),它是在電源電平之上或參考地電平之下的額外電壓效應;下沖(Undershoot)是指信號跳變的下一 個谷值(或峰值)。過大的過沖電壓經常長期性地沖擊會造成器件的損壞,下沖會降低噪聲容限,振鈴增加了信號穩定所需要的時間,從而影響到系統時序。
2、 串擾:在PCB中,串擾是指當信號在傳輸線上傳播時,因電磁能量通過互容和互感耦合對相鄰的傳輸線產生的不期望的噪聲干擾,它是由不同結構引起的電磁場在同一區域里的相互作用而產生的。互容引發耦合電流,稱為容性串擾;而互感引發耦合電壓,稱為感性串擾。在PCB上,串擾與走線長度、信號線間距,以及參考地平面的狀況等有關。
3、信號延遲和時序錯誤:信號在PCB的導線上以有限的速度傳輸,信號從驅動端發出到達接收端,其間存在一個傳輸延遲。過多的信號延遲或者信號延遲不匹配可能導致時序錯誤和邏輯器件功能混亂。
基于信號完整性分析的高速數字系統設計分析不僅能夠有效地提高產品的性能,而且可以縮短產品開發周期,降低開發成本。在數字系統向高速、高密度方向發展的情況下,掌握這一設計利器己十分迫切和必要。在信號完整性分析的模型及計算分析算法的不斷完善和提高上,利用信號完整性進行計算機設計與分析的數字系統設計方法將會得到很廣泛、很全面的應用。
PCB信號完整性的步驟
1、設計前的準備工作
在設計開始之前,必須先行思考并確定設計策略,這樣才能指導諸如元器件的選擇、工藝選擇和電路板生產成本控制等工作。就SI而言,要預先進行調研以形成規劃或者設計準則,從而確保設計結果不出現明顯的SI問題、串擾或者時序問題。(微信:EDA設計智匯館)
2、電路板的層疊
某些項目組對PCB層數的確定有很大的自主權,而另外一些項目組卻沒有這種自主權,因此,了解你所處的位置很重要。
其它的重要問題包括:預期的制造公差是多少?在電路板上預期的絕緣常數是多少?線寬和間距的允許誤差是多少?接地層和信號層的厚度和間距的允許誤差是多少?所有這些信息可以在預布線階段使用。
根據上述數據,你就可以選擇層疊了。注意,幾乎每一個插入其它電路板或者背板的PCB都有厚度要求,而且多數電路板制造商對其可制造的不同類型的層有固定的厚度要求,這將會極大地約束最終層疊的數目。你可能很想與制造商緊密合作來定義層疊的數目。應該采用阻抗控制工具為不同層生成目標阻抗范圍,務必要考慮到制造商提供的制造允許誤差和鄰近布線的影響。
在信號完整的理想情況下,所有高速節點應該布線在阻抗控制內層(例如帶狀線)。要使SI最佳并保持電路板去耦,就應該盡可能將接地層/電源層成對布放。如果只能有一對接地層/電源層,你就只有將就了。如果根本就沒有電源層,根據定義你可能會遇到SI問題。你還可能遇到這樣的情況,即在未定義信號的返回通路之前很難仿真或者仿真電路板的性能。
3、串擾和阻抗控制
來自鄰近信號線的耦合將導致串擾并改變信號線的阻抗。相鄰平行信號線的耦合分析可能決定信號線之間或者各類信號線之間的“安全”或預期間距(或者平行布線長度)。比如,欲將時鐘到數據信號節點的串擾限制在100mV以內,卻要信號走線保持平行,你就可以通過計算或仿真,找到在任何給定布線層上信號之間的最小允許間距。同時,如果設計中包含阻抗重要的節點(或者是時鐘或者專用高速內存架構),你就必須將布線放置在一層(或若干層)上以得到想要的阻抗。(微信:EDA設計智匯館)
4、重要的高速節點
延遲和時滯是時鐘布線必須考慮的關鍵因素。因為時序要求嚴格,這種節點通常必須采用端接器件才能達到最佳SI質量。要預先確定這些節點,同時將調節元器件放置和布線所需要的時間加以計劃,以便調整信號完整性設計的指針。
5、技術選擇
不同的驅動技術適于不同的任務。信號是點對點的還是一點對多抽頭的?信號是從電路板輸出還是留在相同的電路板上?允許的時滯和噪聲裕量是多少?作為信號完整性設計的通用準則,轉換速度越慢,信號完整性越好。50MHZ時鐘采用500PS上升時間是沒有理由的。一個2-3NS的擺率控制器件速度要足夠快,才能保證SI的品質,并有助于解決象輸出同步交換(SSO)和電磁兼容(EMC)等問題。(微信:EDA設計智匯館)
在新型FPGA可編程技術或者用戶定義ASIC中,可以找到驅動技術的優越性。采用這些定制(或者半定制)器件,你就有很大的余地選定驅動幅度和速度。設計初期,要滿足FPGA(或ASIC)設計時間的要求并確定恰當的輸出選擇,如果可能的話,還要包括引腳選擇。
在這個設計階段,要從IC供貨商那里獲得合適的仿真模型。為了有效的覆蓋SI仿真,你將需要一個SI仿真程序和相應的仿真模型(可能是IBIS模型)。
最后,在預布線和布線階段你應該建立一系列設計指南,它們包括:目標層阻抗、布線間距、傾向采用的器件工藝、重要節點拓撲和端接規劃。
6、預布線階段
預布線SI規劃的基本過程是首先定義輸入參數范圍(驅動幅度、阻抗、跟蹤速度)和可能的拓撲范圍(最小/最大長度、短線長度等),然后運行每一個可能的仿真組合,分析時序和SI仿真結果,最后找到可以接受的數值范圍。
接著,將工作范圍解釋為PCB布線的布線約束條件。可以采用不同軟件工具執行這種類型的“清掃”準備工作,布線程序能夠自動處理這類布線約束條件。對多數用戶而言,時序信息實際上比SI結果更為重要,互連仿真的結果可以改變布線,從而調整信號通路的時序。
在其它應用中,這個過程可以用來確定與系統時序指針不兼容的引腳或者器件的布局。此時,有可能完全確定需要手工布線的節點或者不需要端接的節點。對于可編程器件和ASIC來說,此時還可以調整輸出驅動的選擇,以便改進SI設計或避免采用離散端接器件。
7、布線后SI仿真
一般來說,SI設計指導規則很難保證實際布線完成之后不出現SI或時序問題。即使設計是在指南的引導下進行,除非你能夠持續自動檢查設計,否則,根本無法保證設計完全遵守準則,因而難免出現問題。布線后SI仿真檢查將允許有計劃地打破(或者改變)設計規則,但是這只是出于成本考慮或者嚴格的布線要求下所做的必要工作。(微信:EDA設計智匯館)
8、后制造階段
采取上述措施可以確保電路板的SI設計品質,在電路板裝配完成之后,仍然有必要將電路板放在測試平臺上,利用示波器或者TDR(時域反射計)測量,將真實電路板和仿真預期結果進行比較。這些測量數據可以幫助你改進模型和制造參數,以便你在下一次預設計調研工作中做出更佳的(更少的約束條件)決策。
9、模型的選擇
關于模型選擇的文章很多,進行靜態時序驗證的工程師們可能已經注意到,盡管從器件數據表可以獲得所有的數據,要建立一個模型仍然很困難。SI仿真模型正好相反,模型的建立容易,但是模型數據卻很難獲得。本質上,SI模型數據唯一的可靠來源是IC供貨商,他們必須與設計工程師保持默契的配合。IBIS模型標準提供了一致的數據載體,但是IBIS模型的建立及其品質的保證卻成本高昂,IC供貨商對此投資仍然需要市場需求的推動作用,而電路板制造商可能是唯一的需方市場。
確保信號完整性的PCB設計方法
通過總結影響信號完整性的因素,在PCB設計過程較好地確保信號完整性,可以從以下幾個方面來考慮。
(1)電路設計上的考慮。包括控制同步切換輸出數量,控制各單元的最大邊沿速率(dI/dt和dV/dt),從而得到最低且可接受的邊沿速率;為高輸出功能塊(如時鐘驅動器)選擇差分信號;在傳輸線上端接無源元件(如電阻、電容等),以實現傳輸線與負載間的阻抗匹配。
(2)最小化平行布線的走線長度。
(3)元件擺放要遠離I/O互連接口和其他易受干擾及耦合影響的區域,盡量減小元件間的擺放間隔。
(4)縮短信號走線到參考平面的距離間隔。
(5)降低走線阻抗和信號驅動電平。
(6)終端匹配。可增加終端匹配電路或者匹配元件。
(7)避免相互平行的走線布線,為走線間提供足夠的走線間隔,減小電感耦合。