串?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ì)于工程師來(lái)說(shuō)了解這么多就可以了,不過(guò)這樣的解釋有點(diǎn)循環(huán)論證的感覺(jué),因?yàn)轳詈想娙菥褪且驗(yàn)閮啥私饘倬€互相影響而抽象出來(lái)的概念。
最根本的原因就是一條信號(hào)線的跳變會(huì)造成周圍空間電磁場(chǎng)的變化,而變化的電磁場(chǎng)會(huì)在周圍的導(dǎo)線感應(yīng)出電流。
十幾年前老的工藝可能還可以忽略寄生電容,現(xiàn)在的先進(jìn)工藝下寄生電容已經(jīng)到了萬(wàn)萬(wàn)不可忽略的地步了,不過(guò)對(duì)于電感好像還是不會(huì)過(guò)多考慮。
兩段很近的導(dǎo)線發(fā)生串?dāng)_時(shí),假設(shè)一段導(dǎo)線從0跳變?yōu)?,會(huì)影響另一段導(dǎo)線電勢(shì)小幅上升一點(diǎn),再回落下來(lái)。我們稱產(chǎn)生跳變的導(dǎo)線為attacker,受影響的導(dǎo)線為victim,那一小段電勢(shì)的變化稱為glitch。
相應(yīng)的,如果attacker從1變0,victim會(huì)有一個(gè)電勢(shì)下降的glitch。如果這個(gè)glitch過(guò)大,就可能產(chǎn)生一個(gè)錯(cuò)誤的邏輯信號(hào)出來(lái),這個(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的跳變方向一致,比如說(shuō)都從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也可以說(shuō)是由SI帶來(lái)的。但是一般這種violation不如glitch來(lái)的嚴(yán)重。
一種比較嚴(yán)重的violation叫做DS(double switch),也是由于串?dāng)_帶來(lái)的邏輯錯(cuò)誤。
就是說(shuō)attacker和victim同時(shí)跳變并且方向相反,假設(shè)attacker從1到0,victim從0到1,假設(shè)某個(gè)時(shí)刻victim已經(jīng)過(guò)了邏輯1的電壓閾值,后面的cell已經(jīng)可以捕捉到信號(hào)1了,但之后由于crosstalk,victim的電勢(shì)會(huì)有一個(gè)向下(邏輯0方向)的glitch。
而這個(gè)glitch可能導(dǎo)致后級(jí)cell捕捉到信號(hào)0,之后victim電勢(shì)再升高為邏輯1,所以總的來(lái)說(shuō)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分開(kāi),距離越遠(yuǎn)越好,具體做法可以把很直的一段shape讓它拐一下,做個(gè)detour出來(lái)。
第三種就是把其中一個(gè)net換到另一層去,因?yàn)槲覀僲etal layer的preferred routing direction都是一層橫的一層豎的,換層之后能有效減少耦合電容。
-
芯片設(shè)計(jì)
+關(guān)注
關(guān)注
15文章
1015瀏覽量
54877 -
信號(hào)完整性
+關(guān)注
關(guān)注
68文章
1404瀏覽量
95458 -
寄生電容
+關(guān)注
關(guān)注
1文章
292瀏覽量
19225 -
電磁場(chǎng)
+關(guān)注
關(guān)注
0文章
791瀏覽量
47260 -
感應(yīng)電流
+關(guān)注
關(guān)注
0文章
88瀏覽量
11936
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論