串?dāng)_是芯片后端設(shè)計(jì)中非常普遍的現(xiàn)象闲孤,它會(huì)造成邏輯信號(hào)的預(yù)期之外的變化谆级。消除串?dāng)_的影響是后端的一個(gè)重要課題。
首先讼积,什么是串?dāng)_哨苛?它是如何產(chǎn)生的?芯片的信號(hào)線之間會(huì)存在耦合電容币砂,因此一條信號(hào)線的變化會(huì)影響周圍的線(信號(hào)線之間的耦合電感一般可以忽略)。對(duì)于工程師來說了解這么多就可以了玻侥,不過這樣的解釋有點(diǎn)循環(huán)論證的感覺决摧,因?yàn)轳詈想娙菥褪且驗(yàn)閮啥私饘倬€互相影響而抽象出來的概念。最根本的原因就是一條信號(hào)線的跳變會(huì)造成周圍空間電磁場的變化凑兰,而變化的電磁場會(huì)在周圍的導(dǎo)線感應(yīng)出電流掌桩。十幾年前老的工藝可能還可以忽略寄生電容,現(xiàn)在的先進(jìn)工藝下寄生電容已經(jīng)到了萬萬不可忽略的地步了姑食,不過對(duì)于電感好像還是不會(huì)過多考慮波岛。
兩段很近的導(dǎo)線發(fā)生串?dāng)_時(shí),假設(shè)一段導(dǎo)線從0跳變?yōu)?音半,會(huì)影響另一段導(dǎo)線電勢小幅上升一點(diǎn)则拷,再回落下來。我們稱產(chǎn)生跳變的導(dǎo)線為attacker曹鸠,受影響的導(dǎo)線為victim煌茬,那一小段電勢的變化稱為glitch。相應(yīng)的彻桃,如果attacker從1變0坛善,victim會(huì)有一個(gè)電勢下降的glitch。如果這個(gè)glitch過大,就可能產(chǎn)生一個(gè)錯(cuò)誤的邏輯信號(hào)出來眠屎,這個(gè)時(shí)候就發(fā)生了glitch的violation剔交。Attacker和victim的角色是可以互相轉(zhuǎn)化的,一個(gè)victim在需要翻轉(zhuǎn)的時(shí)候就成為了attacker改衩,attacker信號(hào)保持不變的時(shí)候就是victim岖常。如果兩段信號(hào)線同時(shí)反轉(zhuǎn),他們就都既是attacker又是victim燎字。
Glitch violation也是信號(hào)完整性(SI腥椒,signal integrity)violation的一種,SI據(jù)我所知也就只和crosstalk有關(guān)候衍。
另一種情況笼蛛,如果attacker和victim同時(shí)跳變,如果attacker和victim的跳變方向一致蛉鹿,比如說都從0變?yōu)?滨砍,victim受attacker的影響跳變速度會(huì)更快一些,也就是transition/slew time更小妖异。注意這個(gè)時(shí)候兩者都既是attacker也是victim惋戏,所以兩根導(dǎo)線的transition都會(huì)變快。相反地他膳,如果attacker和victim跳變方向不同响逢,transition會(huì)變慢。Transition的變化可能會(huì)產(chǎn)生timing的violation棕孙,這一類violation也可以說是由SI帶來的舔亭。但是一般這種violation不如glitch來的嚴(yán)重。
一種比較嚴(yán)重的violation叫做DS(double switch)蟀俊,也是由于串?dāng)_帶來的邏輯錯(cuò)誤钦铺。就是說attacker和victim同時(shí)跳變并且方向相反,假設(shè)attacker從1到0肢预,victim從0到1矛洞,假設(shè)某個(gè)時(shí)刻victim已經(jīng)過了邏輯1的電壓閾值,后面的cell已經(jīng)可以捕捉到信號(hào)1了烫映,但之后由于crosstalk沼本,victim的電勢會(huì)有一個(gè)向下(邏輯0方向)的glitch。而這個(gè)glitch可能導(dǎo)致后級(jí)cell捕捉到信號(hào)0锭沟,之后victim電勢再升高為邏輯1擅威,所以總的來說victim的信號(hào)傳播就從0、1變?yōu)?冈钦、1郊丛、0李请、1.這就叫做double switch violation。
消除SI violation的方法還是要從繞線著手厉熟。第一就是加shielding net导盅,就是在attacker旁邊加一段地線,稱為shielding揍瑟,減弱attacker與victim的耦合電容白翻。一般的時(shí)鐘trunk都會(huì)加一定比例的shielding。第二種就是把發(fā)生violation的兩段shape分開绢片,距離越遠(yuǎn)越好滤馍,具體做法可以把很直的一段shape讓它拐一下,做個(gè)detour出來底循。第三種就是把其中一個(gè)net換到另一層去巢株,因?yàn)槲覀僲etal layer的preferred routing direction都是一層橫的一層豎的,換層之后能有效減少耦合電容熙涤。
這是我的第31篇文章阁苞。微信公眾號(hào):偉醬的芯片后端之路