????????隨著光刻和集成電路制造工藝的不斷進步,以及芯片的特征尺寸從深亞微米到納米的迅速采用,人們一方面因為芯片的功能極大提高而受益,另一方面,當邏輯門的溝道長度減小時,門的開關時間會減小,這意味著輸出驅動器上升時間變短,或者說時鐘頻率可以更高。同時,所有與信號完整性SI(signal integrity)相關的問題都變得更加嚴重。
????????提起串擾,人們通常會首先想到PCB板級信號線相互作用和影響,事實也是如此,串擾往往和電磁干擾EMI聯系在一起。信號完整性分析和研究包括宏觀范圍的物理互連(例如,IC封裝、電路板、接插件、電纜等)如何影響信號和電源分布的質量,并采取新策略,例如,采用新的信號完整性設計技術,對設計用新的建模、仿真和測量工具進行驗證。雖然芯片設計技術已經采用了 SiP并考慮了從芯片到封裝的信號完整性,但是,實際上封裝與芯片的分析是分別單獨處理。在芯片的電學特性中,時序、串擾和功耗是三項相互相關的重要分析內容。因此,需要了解芯片在物理設施過程中的串擾產生和現象、產生的因素、對芯片引起的危害及其預防,即對串擾的分析和實際解決方案。
一、信號串擾與功能故障
1、串擾的產生
????????芯片上的串擾是由互連線之間的寄生耦合引起的噪聲,這種耦合反映了物理世界非理想化的特性。隨著芯片特征尺寸的細化,互連線的物理尺寸以及間距變小,從而導致互連線之間的耦合效應增大,串擾隨之產生并增強。
????????串擾會導致信號延遲和毛刺兩類問題,從而影響芯片的時序性能以及正常功能。在分析串擾時,我們將產生串擾信號源的網絡稱為侵害網絡(aggressor net或attacker),受到串擾的網絡稱為受害網絡(victom net)。當侵害網絡上的信號在0 和1電平之間變換時,受害網絡上會產生相應的串擾噪聲,這種轉換噪聲能使受害網絡的信號轉換變慢、變快或出現非單調轉換等現象,從而干擾或破壞信號。如果噪聲使信號出現非單調轉換,便將產生一個偽脈沖,叫做毛刺(glitch)。毛刺干擾有多種類型,主要分為(1)過沖,受害節點上的信號超過電源電壓;(2)下沖,指受害節點上的信號低于接地電壓。這些脈沖破壞了門電路所保存的狀態,使門電路不起作用,或者起錯誤作用,從而引起帶有門電路輸入的觸發器和鎖存器出現功能故障,如下圖所示。
2、噪聲容限
?????????CMOS電路單元可以承受一定程度的噪聲,而不會導致單元輸出故障,這種特性稱為噪聲抵抗能力,我們通過噪聲容限來對其說明。根據電壓轉換特征VTC(Voltage transfer characteristic)曲線,當處于單位增益(unity gain)點時,信號變化率最大,這時,噪聲容限有兩種定義方法:單源噪聲容限(SSNM,single-source noise margin)和多源噪聲容限(MSNM,multiple-source noise margin)。在工程中的實際噪聲會來自電路中中的任意一級或多級。
????????侵害網絡的信號可以是強型(例如,上升時間短或轉換率高,high slew rate),或者是弱型(例如,上升時間長或轉換率低)。信號串擾可以是相加性,也可以是相減性的,侵害網絡和受害網絡之間的相對信號極性決定它們之間的耦合或串擾效應,即常說的米勒效應。
二、串擾信號分析
????????串擾會導致信號延遲和毛刺兩類問題,從而影響芯片的時序性能以及正常功能。目前工業界用于串擾分析采用的工具包括Cadence公司的CeltIC或Synopsys公司的PT分析串擾脈沖和串擾延遲。
1、串擾分析
????????串擾分析的內容主要分成兩個方面,即串擾脈沖的分析和串擾延遲的分析,分別體現為電壓敏感值的計算以及延遲的計算。串擾的分析可以在芯片設計的各個階段進行,它們都同時分析兩種不同類型的噪聲問題。
????????分析噪聲時,需要考慮的因素有:時序窗(timing window)、噪聲閾值設定、噪聲庫以及噪聲模型的選擇和耦合電容的過濾等。
? ? ? ? (1)時間窗(TWF,timing window format)文檔的應用是噪聲分析中一個重要工具,它可以比較實時地反映芯片實際工作時的信號翻轉情況,從而真實地分析噪聲影響,避免過于悲觀的噪聲分析結果,從而降低設計的難度。
?
????????如圖所示,圖中的兩條相互影響的信號線O1和O2是經過I1和I2兩個門電路傳輸過來的信號,假設I1的信號轉變窗是在2ns和6ns之間,而I2的信號轉換窗在5ns和9ns之間,則兩個信號只在5ns和6ns之間的時間域內相遇,故只需在該范圍內分析噪聲即可,如果的時間窗在2ns和5ns之間,而I2信號的時間窗在6ns和9ns之間,則這兩個信號沒有交錯的時間,故可以忽略其相互之間的噪聲影響。EDA工具一般假設沒有時間窗,計算出噪聲問題,過濾低噪聲網絡,然后讀入時間窗,對高噪聲網絡進行分析,從而降低分析的復雜性和時間。
? ? ? ? (2)在分析毛刺時,需要制定噪聲閾值的大小,CeltIC的處理較為保守,一般為20% Vdd ,在Astro中一般默認為35% Vdd。也就是說在供電電壓的多少百分比以內的噪聲是安全的。
? ? ? ? (3)噪聲庫和噪聲模型的選擇影響EDA工具進行噪聲分析的精確性和時間,在初步評估階段一般選擇精確度較為粗糙的算法,從而完成噪聲的快速評估,在最后的sign-off階段則需要選用精確度較高的算法,從而精確地定義噪聲問題所在。
????????對于延遲的計算,先要考慮由侵害網絡與受害網絡之間的耦合電容和受害網絡對地電容
產生的瞬態電壓
,根據下式決定受害網絡的影響。?
????????參數過濾也是減少計算復雜度的一種方法,主要的參數有:絕對耦合電容、相對耦合電容、單個峰值耦合噪聲及累計峰值耦合噪聲。當兩條信號線之間的耦合電容小于一定值時,便忽略計算其噪聲。當兩條信號之間的耦合噪聲小于一定的值,也認為是沒有噪聲影響,延遲計算主要有以下3種狀況:
- 最大可能延時:假設所有侵害網絡靜止,用保持電阻計算。
- 最小延時:侵害網絡與受害網絡同向,用最快slew和最快vector計算。
- 最大延時:侵害網絡與受害網絡反向,用最慢slew和最慢vector計算。
2、串擾與延遲
????????耦合噪聲也會改變關鍵路徑延時,導致電路建立或保持時間的違例。當串擾使信號轉換變慢或變快時叫做串擾延遲,通過增量延時分析可以捕捉到。
????????如上圖所示,所示輸入in2從高電平變為低電平,通過反相器后導線in2_x 電平由低變高。同時,與之相臨近的互連線a1,a2電平下降,由于耦合電容的存在導致in2_x由低向高的翻轉過程中出現短暫的電平下降過程,使得上升時間增加。當a1的下降沿作用到受害網絡,該信號的轉換變慢,延遲明顯增大,會導致產生setup的時序違例。
3、電壓降與串擾
????????電壓降對于串擾的影響體現在兩個方面:毛刺的傳播和延遲的變化。根據噪聲容限的定義,其中毛刺的傳播會產生電路的誤操作,而延遲的變化則會產生setup和hold的時序違例。很多噪聲sign-off的工具,基本上都支持這種帶IR Drop的噪聲分析,其中IR Drop文件有一定的格式,它可以是EDA工具輸出的文件,也可以根據格式自己編寫。
4、串擾與低功耗
????????隨著低功耗指標的深入,降低電壓、多閾值單元、多電壓區域等技術的應用,以及工藝的發展和演變,伴隨低功耗而產生的一系列串擾問題也不可忽視。
????????單一通過降低電壓實現的低功耗技術主要有自適應電壓調變技術,芯片的工作電壓能夠在一定范圍內調整。從上面的分析得出,降低電壓則晶體管的噪聲容限閾值變小,可能會導致串擾脈沖的傳播以及由不同路徑上串擾延遲的增加而產生的setup和hold的時序違例,這種情況下對于噪聲的分析和優化相對比較簡單,只要解決最壞情況下的噪聲問題即能保證芯片的穩定工作。
????????當采用多閾值多電壓的技術時,噪聲分析難度在于每種不同類型的噪聲庫的建立,以及EDA工具對于工藝變化影響的考慮。所以在低功耗條件下,需要定義多種工藝條件進行分析。
三、信號串擾的預防與修復
????????解決串擾問題主要從預防串擾和修復串擾兩個方面著手,方法有:提高受害網絡驅動器的驅動強度、在受害網絡中插入緩沖器、降低侵害網絡驅動器的驅動強度、將受害網絡從主要侵害網絡處移開等。?
1、串擾預防
1)保護受害網絡
????????串擾產生在信號的轉變過程中,而時鐘信號的翻轉概率最高,故合理的設計時鐘網絡可以有效地預防串擾的產生。時鐘網絡及其他高扇出網絡包含許多級邏輯電路,時鐘樹網絡中的每一個接收器都可能引起一個小的串擾增量,這些由時鐘源至目的地的延遲之和(即總增量)足可以引起一個很大的定時擾亂。將時鐘網絡布線間隔增加1倍或2倍,再將時鐘網絡布線限制在擁擠程度不高的頂部金屬層內,可以有效消除時鐘網絡的串擾延遲。屏蔽時鐘網絡布線是另一種方法,不過這種方法有一個缺點,那就是時鐘等待時間會因接地電容增大而增加。雖然增加間隔、采用屏蔽及利用保留金屬層這3種方法適用于時鐘和其他高扇出網絡,但它們都會占用額外的布線空間和資源。
2)增強受害網絡對串擾的免疫力
????????在串擾噪聲干擾具有極強破壞性的異步網絡上,應盡量使用高驅動單元。在復位網絡的結構中使用髙驅動單元可提髙潛在侵害網絡的門限,從而降低受害網絡的受害程度和數量。
????????在時鐘樹綜合階段使用高驅動單元,可降低串擾量,減少時鐘樹和復位樹上的受害網絡。減少時鐘樹的插入延遲也意味著沿啟動時鐘和捕獲時鐘路徑上累加的遞增串擾增最更少。
2、串擾修復
1)增強驅動器單元能力
????????通過對受害增強網絡上的驅動器的單元驅動能力可以修復最大延遲擾亂。在不產生新擾亂的情況下修復受害網絡,我們可以根據串擾增量的大小來選擇新驅動器強度,由此確定單元擴容的程度。
2)在受害網絡上插入緩沖器
????????插入緩沖單元是處理信號完整性時一項有效的修復技術,它可以解決因功能性故障、延遲和競爭條件(race condition)等現象造成的電容串擾噪聲脈沖、過壓與電壓過低等問題。加入緩沖器的數量必須盡可能地少,因為插入大量的緩沖器可能造成電路布局上的額外擁擠或混亂,必須重新計算電路的寄生效應及時序信息,從而延長設計的周期時間。此外,若加入過多緩沖器,反而會增加受害網絡的數量。
3)插入延遲單元
????????通過延遲單元插入可以修復最小延遲擾亂。該方法十分有效,實現起來也很簡單。在失效路徑上,將總的負slack除以延遲單元延遲值的保護間隔估計值,取四舍五入的結果作為插入單元的數量,便是在路徑的兩端點應該增加的延遲單元數量。
4)調整布線
????????通過分析可以知道,合理地利用互斥的網絡,不僅可以減少串擾,還可以減小延遲,從而提高芯片的功能。
????????為了自動執行網絡排斥修復,需要將網絡隔離文件裝入布線器中,啟用定時驅動的間隔,并執行搜索和修復。也可以通過手工實現網絡排斥來消除少量的擾亂。當受害網絡處于擁擠區域時,需檢查信號環境并實施可能難以自動完成的定制修復。
????????網絡排斥通常會減小失效路徑上串擾增量值,但是很多情況下,這種減小的幅度還不足以修復擾亂。為了提高導線排斥一次通過的成功率,可以利用最小比率變量來確定哪條擾亂路徑包含在一組必定要通過網絡排斥來修復的路徑中。可將這一組路徑傳遞給一個定制程序,以便為布線器生成串擾制約條件。
3、虛擬串擾與靴值分析
????????我們這里介紹的虛擬串擾是噪聲分析中采用的一種簡捷方案。在一個具有百萬門的SoC設計中,總的網絡(net)數目大約也是一百萬條。為了分析一個受害網絡受周圍若干條侵害網絡的作用,總的噪聲分析數量是很龐大的。過高或過低地處理侵害網絡的作用都不是科學的方法。在CeltIC噪聲分析中,人們采用了統計學計算法,將多條小信號侵害網絡編輯成組,并用一條虛擬侵害網絡作為代表,這樣就極大地減小了動態計算工作量。
????????靴值(bootstrap,也稱鞋值)分析是低噪聲電子學中常用的一種分析方法,靴值噪聲是作用于地線上的地沖或作用于電源上的上沖噪聲干擾信號。
?????????以上圖中鎖存器中的NMOS為例,考慮其輸入端并將它作為受害網絡進行分析,當它的數據輸入端d 端口缺少buffer相連時,盡管時鐘信號clk為0,靴值地沖噪聲足夠大時也會引起鎖存器的錯誤導通。對于PMOS,類似的靴值上沖噪聲足夠大時也會引起它的錯誤導通。
四、噪聲數據庫
????????噪聲模型與噪聲庫是完成信號完整性分析的基礎。不同的EDA工具提供商,在建立噪聲模型和噪聲庫時,存在一定的差異。在0. 18um及以上工藝,噪聲問題并不嚴重,用戶一般用廠家提供的時序庫. lib以及晶體管的SPICE模型,定義電壓及電壓波動值,通過make_cdb仿真建立cdB噪聲庫,分析噪聲問題。在0. 18um及以下工藝,很多廠家都提供了相應EDA工具所使用的噪聲模型和與其相對應的庫。
1、噪聲模型
????????噪聲模型是建立噪聲庫時所用的模型,模型決定了噪聲分析的準確性。噪聲模型分為標準單元噪聲模型以及互連線的噪聲模型?。
????????單元噪聲模型是以標準單元為基礎,其建立的思想是以最簡單的方法模擬晶體管的工作特性。晶體管的傳統模型有BSIM3和BSIM4模型以及工業界通用的SPICE模型,單元噪聲模型的準確性一般與SPICE模型比較衡量。
????????用戶可以自定義噪聲(UDN,user-defined noise)模型,它是在數模混合設計中,針對于模擬的器件提出的一種模型。它只有邏輯單元層次(cell-level view)上的(模型)視窗,沒有晶體管級的視窗。它包含輸人輸出管腳的電容、輸入噪聲容限和非線型驅動輸出傳輸曲線。
2、噪聲數據庫
????????目前工業界的噪聲數據庫主要有兩個,一是Cadence公司在2000年推出并應用廣泛的?cdB庫,另一個是Synopsys公司在2006年推出基于CCSM的外延. lib庫。
3、互連線噪聲模型
? ? ? ? 做噪聲分析也要做互連線的RC提取,尤其要關注互連線的耦合電容所產生的耦合噪聲電壓信號的大小。
????????基于噪聲數據庫的信號完整性分析還有許多內容,這里僅簡單介紹,有興趣可以查找資料深入了解。
????????