II. Összeköttetések
2 ÖSSZEKÖTTETÉSEK Kicsit eltúlozva mondható, hogy a modern elektronikai részegység tervezésben fontosabbak az összeköttetések, mint a funkcionális elemek. Különösen igaz ez akkor, ha a "súlyozott" összeköttetéseket, az ú.n. mesterséges szinapszisokat is figyelembe vesszük. Miért van ez? Egyrészt, mert számuk gyorsabban nő, mint a funkcionális elemeké, másrészt mert sebesség- és felület-korlátozó hatásuk egyre nagyobb. Az emberi agyban a mintegy 100 milliárd idegsejtet tízezerszer ennyi összeköttetés köti össze. Nyomtatott lapon szerelt félvezető integrált áramkörökkel kialakított részegységekkel foglalkozunk. Ahhoz, hogy az összekötő vezetékek hatását elemezzük, szükségünk van az elemi funkcionális elem alapműködésének az ismeretére. Ezen az úton ugyanis - a félvezető lapka és a nyomtatott lap technológia felbontóképességének, a vezetékek fizikai paramétereinek ismeretében - globális korlátok és lehetőségek számíthatók ki a konkrét funkció ismerete nélkül.
2.1 Az összekötő huzalok hatása az alapeszközök kapcsolási paramétereire Time – enegry – dissipation Vizsgáljuk az elemi műveletet: félvezető hordozón egy MOS tranzisztor átkapcsol. G (poly)
W
Forrás
Diffúzió
D
csatorna
Nyelõ
Diffúzió
L
2-1. ábra Az elemi művelet paraméterei
21
II. Összeköttetések Az alapeffektus: kapcsoló tranzisztorok vezeték- és félvezető- kapacitásokat töltenek és kisütnek. L, W minimális értéke 2λ, ahol λ a minimális távolság tetszőleges két alakzat között. Egy elektron áthaladási ideje az L hosszú csatornán (τ: transit time):
τ= ahol
L L L2 = = , sebesség µE µVDS
µ [
cm 2 ] a mozgékonyság, Vs
E [
V ] az elektromos térerő. cm
µ értéke MOS (felületi) esetén 800
cm 2 cm 2 , BIP (bulk) esetén 1300 Vs Vs
Példa: L=6µm (2λ), VDS=2V → τ=0,23 nsec. Vizsgáljuk meg – vázlatosan – mi történik, ha egy inverter kapcsol: Vin VDD pu out t in
Vout
pd
GND
τinv
t
2-2. ábra Egy inverter kapcsol Az elengedhetetlen környezet miatt az átkapcsolási idő a τ többszöröse lesz. Elemi számítások után kapjuk ([101]):
τ inv = (1 + k )τ
k=
Z pu Z pd
k = (1 − 8) (CMOS − nál
;
Z=
L W
k = 1)
Ezt kiegészíti a belső és a terhelő kapacitás hatása
22
II. Összeköttetések Belső kapacitások (terhelés nélkül)
τ inv = (1 + k )τ (
Ctot ), Cg
ahol Cg az elemi gate-channel kapacitás, C g = Tipikus érték:
εA D
Ctot = 2 ⇒ τ inv (CMOS ) ~ 4τ Cg
=
εWL D
.
(2λ = 6µm − nél ~ 1ns) .
Terhelő kapacitás – vezetékek
Tegyük fel, hogy a terhelő kapacitás Cg valahányszorosa
C L = YC g , ahol CL terhelő kapacitás. Ekkor:
τ 'inv = (1 + k )τ inv . Több fokozatta illesztve az optimum [101]: Ha Y >> 1 , akkor min τ ' ' inv = e ln(Y )τ ' inv .
n-bemenetű NAND kapu esetén τ ' NAND = nτ ' inv . Bufferekre: k = 4-8. Kombinációs logika: diffúzió inverter
inverter
poliszilícium
G1
G2
...
Gn
Egy kétfázisú logikában a minimális logikai fázisidő ~50τ. Ennek oka, hogy ha maximum 30 a Fanout a vezérlő logikában, akkor e ln 30 = 9 , és ha k=7 a két buffer inverternél, akkor tehát 2 × 8 × 2τ + 9τ = 41τ . Hozzáadva egy biztonsági tartalékot kapjuk a ~50τ értéket. A 2 fázisra
kapjuk a 100τ értéket (1. részletesebben MeadConway [101], valamint a 2.4 gyakorlat 1. példáját). Gyakorlati adatok: 1978, 6µ: τ ~ 0.3 ns, órajel: 30-100 ns. A minimális kapcsolási energia: ESWO
CMOS : E SWO = C 0V 2
(V = VDD ; C 0 = min .2C g ) 23
II. Összeköttetések Példa: 6µ, 3.3V, 0.1pF → 1 pJ 0.3 µ, 3.3V, 0.01fF → 10-4 pJ, kT = 10-9 pJ. Mivel az elvi korlát E SWO > 0.7 kT (Szilárd Leó), ezért láthatóan még óriási tartalékaink vannak. A kapcsolási teljesítmény, ha F (frekvencia) = 1/τ0, a következő:
PSWO =
C 0V 2
τ0
, τ 0 = 2τ
Példa: 6µ, 3.3V → 2mW. Ahhoz, hogy ne legyen gondunk a hűtéssel, a chip disszipációnak PD ~ 1 W-nak kell lenni. Ez a korlát szabja meg a chip-en lévő kapuk számát: NMOS:
PD : összes kapuk száma PSWO
CMOS:
PD : egyszerre működő kapuk száma (PSTANDBY=0). PSWO
Ez a korlát adja éppen a CMOS technológia nagy sűrűségét. "Scaling down"
Ha minden méret α -ad részére csökken, azaz λ =
W '=
W
α
; L' =
L
α
; D' =
D
α
λ , akkor α
.
Az elemsűrűség α2-el nő, a három kritikus elektromos paraméter pedig exponenciálisan csökken:
τ '=
P E τ . ; P ' SWO = SWO ; E ' SWO = SWO 2 α α α3
Mindez változatlan ár mellett! Tehát: az IDŐ - TELJESÍTMÉNY- ENERGIA viszonyokban
• meghatározóak az alapgeometria, és a vezetékkapacitások, • és a vezetékek működési sebesség; korlátozó hatása nagyon fontos. Elméleti következmények: paralel működés csak késleltetések beiktatásával lehet ("Model of computation": Chazelle-Monier, [105]).
24
II. Összeköttetések A fentiek okozták azt is, --hogy a komplexitás növekedésével a tokozás is megváltozott. Egy kivezetés a chip-ről közelítőleg min 75µm × 75µm nagyságú. Tekintsük a kétféle tokozást: DIP (dual in-line package)
LCC (leadless chip carrier)
1 mil = 25µm ~100 mil
20-50 mil
2-3. ábra Kivezetések a DIP és LCC tokozáson Érdemes megfigyelni a felület és vezetékhossz arányt: Felületarány DIP/LCC lábszám 18 40 64
2,7/1 5,2/1 5,6/1
Leghosszabb/legrövidebb vezetékek aránya DIP LCC 6/1 1,5/1 5,2/1 1,5/1 7/1 1,5/1
Amint a lábszám tovább nő (több száz is lehet!), az ú.n. PGA (pin grid array) lép előtérbe.
2.2 Az összeköttetések fizikai paraméterei, vezetékek a nyomtatott lapon és félvezetőn - ekvivalens kapcsolási hossz Láttuk tehát, hogy a sebesség szempontjából a vezetékek kapacitása meghatározó (1. [101] 1. fejezetét). Vizsgáljuk meg, lehetséges-e egyszerű szabályokat találni a vezetékek hatásának figyelembevételére, ismét a funkciótól függetlenül. d=2λ szigetelés vezetõ
2-4. ábra Vezeték geometria
25
II. Összeköttetések Tekintsünk egy szigetelőn futó lemez alakú vezetéket. Adott a vezetékszélesség, az anyagok és a technológia, meghatározandó a CL terhelő kapacitás (a vezetékvastagságot beleértjük az anyag és technológia adottságaiba). C L = l ⋅ cU ; cU [
pF ] , ahol cU az egységnyi hosszra eső kapacitás. µm
Tipikus adatok: IC: 2λ = 6µm , akkor egy fém-channel cU = 1,8 ⋅ 10 − 4
pF pF . = 1,8 µm cm
Nyomtatott lap (PCB): RO-2500 típus esetén (igen jó anyag) az alábbi adatokat kapjuk: 2λ = d = 8mil (~ 200µm), cU = 2
pF cm
Érdekes, hogy szinte ugyanazt az értéket kaptuk. A különbség csak az, hogy IC-n a hossz (~ néhányszor 10µm, PCB-n pedig néhány centiméter. Tápvonali terjedésnél illesztett esetben v = 2
dm l ; t= . ns v
Így IC-n egy l0µ-os vezeték és PCB-n egy 1 cm-es vezeték kapacitásaránya: C L : C O = 1000 : 1
Következmény: IC ről PCB-re lépni nagy időveszteség! Példa:
C L = 20 − 25 pF -ra illesztett kimenetnél optimális illesztés esetén 2µ-os (2λ)
technológiánál (Cg=10-3pF) az időveszteség K-szoros, ahol K = e ⋅ ln(
CL ) ~ 30 . CO
Egyszerű szabályok a tervezéshez
A vezetékek hatásának figyelembevételére tekintsük először a nyomtatott lapon szerelt IC alkatrészek idő-teljesítmény viszonyait. Adott egy alkatrész katalógus adataival: Cin = 2 ⋅ C g + szerelés; C out = C PD az ú.n. ekvivalens kimenő kapacitás az alábbi összefüggéssel definiálva:
PD = V 2 F (C PD + C L ) + PSTANDBY .
26
II. Összeköttetések
T0 [ ns ], t v [ ps ], t c [
ps ] , melyekkel a pF
l (+ ∑ ) , v v
T (müveleti idő ) = T0 + k v k t + C L t c
ahol kv az egyszerre változó kimenetek száma, CL: terhelő kapacitás, (∑ l i cu ), i
∑l
i
az
i
összvezetékhossz és v a terjedési sebesség. Példa: Fairchild (FACT: Fast. Advanced CMOS Technology) 1986-87 (2λ) = 2µ típus: "1 of 8 decoder". Katalógus adatok:
V=3V, ESWO = 0.01 pJ TO=5ns, tv = 250 ps, tc =30 ps/pF CPD=25 pF; Fmax= 50 MHz
(2µ ) 2 Számítás: Az elemi inverter adatai: τ = cm 2 800 V sec
( 3V ) = 16 . 6 ps ;
2τ = τ 0 = 33 ps ;
PSWO =
E SWO
τ0
= 0.3mW
A teljes IC adatai: Ha CL = 0, kv = 4, F = 50 MHz, akkor T = 6 ns; PD = 12.5 mW. Vezeték hatása a nyomtatott lapon összekötött alkatrészek esetén: PD CL : ∑ li cuPCB i
T Például: ha cuPCB= 2 pF/cm és egy csomópontra, a fenti példabeli IC outputra, 10 db kb. 5 cm-es vezeték kapcsolódik, akkor ez a kapacitás 100pF. Ennek hatása: a teljesítménydisszipáció 5-szörös, a késleltetési idő 1.5-szeres lesz. A (CPD+CL) ugyanis 25 pF-ról 125 pF-ra nő, illetve a 100 pF terhelő kapacitás CLtc = 3 ns addicionális késleltetést ad a 6 ns-hoz. A vezetékek tehát nem tekinthetők ideális összeköttetésnek és hosszuk az alkatrészmérettel összefüggésben is meghatározó. Ennek következménye az alábbi egyszerű számítási modell. 1
Elemi kapu:
1
A=1
27
II. Összeköttetések Egységnyi hosszon, a késleltetési idő T = 1 és lineáris (vagy más közelítésű) a hossz függvényében. E modell egyik érdekes következménye az alábbi tétel. Definíció: Tranzitív függvény (N-edrendű): a ( z1 ,..., z n ) = F ( x1 ,..., x n , s1 ,..., sb ) függvény tranzitív, ha rögzített s1 ,..., sb mellett az output az input permutációja. Tétel: Bármely áramkörnek, amely N-edrendű tranzitív Boolean függvényt számol ki T=Ω(N)
idő alatt, az átmérője (kerülete) Ω(N) nagyságrendű (Ω: nagyságrend, 1.[105]). Példák: • 2 darab p-bites szám szorzása: N=2p; • DFT N darab k-bites számon: ehhez kell A = Ω( N ), T = Ω( N
k ).
Becslés a huzalok hatásának figyelembevételére Az alábbiakban módszert adunk arra, hogyan lehet kiszámítani a huzalok terhelő hatását részletes számítás nélkül. Jóllehet ezek nem pontos értékek, mégis a tervező számára könnyen becsülhető, jól használható eredményt adnak. Adott C O , E SWO , τ 0 , cu
→ PSWO
Az „ekvivalens kapcsolási hossz” (lSWE) definíciója l SWE =
C0 , cu
tehát C 0 = l SWE ⋅ cu . Egyszerűen fogalmazva, az lSWE, az a hossz, amelyet az adott huzalból véve éppen a terhelendő kimenettel azonos kapacitást kapunk. Következmények: IC-n: C 0 ~ (min 2 ⋅ C g ) Ha Nl SWE hosszú összhuzal terhel, úgy (N+1) vagy optimális illesztéskor ~ (e ⋅ ln N ) ⋅ τ 0 időkésleltetés többlet lép fel. Nyomtatott lapon (PCB): C 0 ~ C PD
Ha Nl SWE hosszú összhuzal terhel, úgy (N+1)-szeresére nő a disszipált teljesítmény és az időkésleltetés növekedése NC 0 t c
(+
Nl SWE ). v
28
II. Összeköttetések Példa: az előző példákbeli 2µ-os FACT technológiával készült dekóder esetén a chipen belüli (driver előtti) kimenő kapacitás C 0 = 10 −3 pF C; 1.8
pF -es cu értékkel számolva a vezetékre cm
l SWE = 5,5µm .
Az előzőleg ismertetett RO-2500 típusú nyomtatott lap 200µ-os vezetékei esetén pedig: C PD = 25 pF ; cu = 2
pF ; → l SWE = 12,5cm , cm
így T = ... + N ⋅ 750 ps + N ⋅ 625 ps = ... ~ + N ⋅ 1.4ns . Ha tehát 10 db 5 cm-es huzal van rákötve, ami 50 cm, azaz 4lSWE ( N = 4) , úgy +5.6ns a hozzáadott késleltetés. Összefoglalva tehát azt mondhatjuk, hogy ha ismerjük az ekvivalens kapcsolási vezetékhosszat, akkor ha ezen hossz N-szerese a terhelő vezetékrendszer hossza, úgy az időkésleltetési többlet is a jellemző időérték N-szerese. A kivezetések száma logikai áramkör esetén (tapasztalat)
(E. F.Rent, IBM, 1960) A VLSI áramkörök tervezői régóta foglalkoznak azzal a kérdéssel, hogy egy chip-en mi az optimális integrációs sűrűség (vagyis a logikai kapuk száma a chip-en). A kérdésre azért nehéz a válasz, mert ez a sűrűség olyan, egymással is összefüggő tervezési paraméterek függvénye, mint a ciklusidő, ciklusok/utasítás arány, teljesítmény disszipáció, költségek és a számítógép fizikai mérete. Ezzel kapcsolatban E.F. Rent az IBM cégnél 1960-ban publikált két belső tanulmányt, amely logikai áramkörökre diagram formájában megadta a kivezetések (lábak) számát a kapuk számának függvényében. Az adatok a logaritmikus koordinátarendszerben egyeneshez tendáltak, így az alábbi összefüggést eredményezték (Rent-szabály):
N p = K p ⋅ N gβ ahol Np egy logikai blokk kivezetéseinek száma, Ng a blokkban lévő kapuk száma, β Rent-konstans és Kp arányossági tényező. A tanulmány szerint különféle logikai áramkörökre különböző Kp és β konstansok adódtak, melyeket az alábbi táblázat tartalmazza. A 2-5. ábra (Figure 9.12 [206]-ban) megadja a Rent-görbéket különböző rendszer- és chip típusokra. 29
II. Összeköttetések
N U M B E R
10
O 10 F
statikus memória mikroprocesszor
β 0,12 0,45
Kp 6 0,82
gate array mainframe dig. & modul
0,50 0,63
1,9 1,4
NYÁK és rendszer
0,25
82
4 . High performance computer + Bipolar gate arrays CMOS gate arrays Module . Mikroprocessors Static RAM . Dynamic RAM
Board .
3
S I G N A 10 2 L
. . Chip
+
+
.
P I N S 10 1 10
2
10
3
10
4
10
5
10
6
NUMBER OF GATES OR BITS
2-5. ábra Rent-görbék különböző rendszer- és chip típusokra Az ábráról leolvasható, hogy a memória eszközöknek a legkisebb a kivezetés (pin) számuk, amint az várható is. Ezen belül a statikus RAM-oknak azért van több kivezetésük, mert itt minden cím-bit külön kivezetés (ellentétben a dinamikus RAM-okkal). A következő csoportot a kommersz mikroprocesszorok jelentik, amelyeknél az adat bemenet, adat kimenet és alkalomszerűen a címzés is ugyanazokat a kivezetéseket használja. Több kivezetéssel rendelkeznek a gate-array áramkörök, ennek oka a kapuk merev elrendezése. Legnagyobb kivezetésszáma a nagyteljesítményű számítógépeknek van, mivel jelentős párhuzamos információátvitel történik egy időben. 30
II. Összeköttetések
2.3 Rögzített és programozott összeköttetésrendszerek Az emberi agyban lévő közel 1011 neuron mindegyike átlagosan 10000 másikkal van összekötve és a két félteke között mintegy 200 millió összeköttetés van. Elektronikus összeköttetésrendszerek számban és funkcióban sokkal szerényebbek és főleg primitívebbek. Ezek • rögzítettek (on-off vagy egy ellenállásérték) vagy • programozhatók (on-off: fémes vagy impulzus (1,0) átvitel vagy néhány (változó) ellenállás érték). PÉLDÁK összeköttetésrendszert megvalósító alkatrészekre: Rögzített hardware: Multiplexer 8,16,32
1
Demultiplexer 1
8,16,32
Kapcsolómátrix- rögzített 22 × 22 ellenállás, max. sűrűség: 4 kereszteződés/µm2, a „scaling down” nem szab határt. Technológiai határ: max. 400 millió kereszteződés /chip – probléma a kivezetések. Programozott hardware • Pl: egy AT&T gyártmányú chip; ellenállás
kód
R
01
-R
10
végtelen
00
Technológia: CMOS 1.5µ, 100µ × 100µ egy cella; 54 × 54 elem, 75 ezer tranzisztor ( 1989: 128 × 128 );
31
II. Összeköttetések •
Intel 80170, analóg újraprogramozható "ellenállás" mátrix: 160 × 64 = 10240 elem. Érdekes, hogy az egyik leginkább összekötött alkatrész a memória.
Programozott software összeköttetésrendszer (memóriában): y[0, N − 1], u[0, N − 1], Wij : k „gray levels” ( k = 2 b ) xi , y i : p bites, Wij: b bites;
wij : y[i ] := Wij u[ j ] ; Wij memóriában N × N darab b bites szám van. Példa: N = 256, b = 4, W : 256 kbit.
2.4 Gyakorlat: Összeköttetések 1. Példa: Kétfázisú logika minimális fázisideje Tetszőlegesen bonyolult digitális rendszerek tervezhetők alapvető rendszerépítő blokkok segítségével, ahol ez az alapelem a regiszter-regiszter adatátvitel kombinációs logikán keresztül (2-6. ábra). Az adatátvitelt áteresztő (pass) tranzisztorokkal és invertáló logikai fokozatokkal lehet megvalósítani. 1. fázis
R
2. fázis
Kombinációs logika
R
R: Regiszter
2-6. ábra Regiszter-regiszter adatátvitel Az így megvalósított áramkörök kétfázisú nemátlapoló órajelet használnak (2-7. ábra). Az első órajel-fázis alatt az adatok az egyik regiszterből átkerülnek a másik regiszterre kombinációs logikai fokozatokon és áteresztő tranzisztorokon keresztül. A második órajel-fázis alatt az adatok a második regiszterből újabb logikai fokozatokon és áteresztő tranzisztorokon keresztül egy harmadik regiszterbe kerülnek (esetleg vissza az elsőbe). Az adattároló regiszterek azon az elven
32
II. Összeköttetések működnek, hogy töltések tárolódnak az invertáló logikai kapuk bemenő gate-jein, a töltéseket áteresztő tranzisztorok izolálják, amelyeket órajelek vezérelnek. 1. fázis (t)
T
t
2. fázis (t)
t
2-7. ábra Kétfázisú nemátlapoló órajelek A legegyszerűbb kétfázisú logikai áramkör a soros shift regiszter, amelyben szint-helyreállító invertereket kapcsolnak össze áteresztő tranzisztorok (2-8. ábra). 1. fázis
VDD
2. fázis
VDD
3. fázis
VDD
X
(a) 1. fázis
2. fázis
3. fázis
X (b)
2-8. ábra (a) Shift regiszter áramkör (b) Shift regiszter vegyes jelöléssel Egy kombinációs logikai áramkör alapeleme az áteresztő (pass) tranzisztorral csatolt inverterek. Egy ilyen áramkört mutat a 2-9. ábra (Fig. 1.32 [101]-ben).
33
II. Összeköttetések
VDD
VDD
VDD
Vin=0 VDD
VDD-thp
2-9. ábra Áteresztő tranzisztorral csatolt inverterek Egy inverterpár átlagos kapcsolási ideje
τ inv = (1 + k )τ ahol τ az átviteli idő (az az átlagos idő, amely alatt egy elektron a drain-rőI a source-ra jut) és k = ( L pu / W pu ) /( L pd / W pd ) az inverter arány nevű geometriai konstans. Egymással kapcsolt inverterek esetén k ~ 4, áteresztő tranzisztorral kapcsolt inverterekre k ~ 8. Ha a regisztereket csatoló kombinációs hálózat csak áteresztő tranzisztorokkal van megvalósítva, és ha az áteresztő tranzisztorok késleltetéseit gondosan az invertáló logikai fokozatok késleltetéseihez illesztjük, akkor a teljes késleltetés kétszerese lesz az egyszerű k = 8-as inverterének. A szórt kapacitásokat figyelmen kívül hagyva k = 8 esetén az inverter késleltetése 9τ így az inverter és logika késleltetése együtt ~ 18τ. Mindazonáltal a legtöbb esetben a szórt kapacitások azonos nagyságrendűek, mint a rendszer inherens kapacitásai. Így a minimális kapcsolási idő τl ~ 36 τ. A kombinációs logika vezérlő adatvonalai és az áteresztő tranzisztorok mindegyike kb. 10-30 tranzisztort hajt meg. Tehát figyelembe kell venni a fan-out tényezőt (2-10. ábra).
2-10. ábra Fan-out 34
II. Összeköttetések Legyen Cg egy inverter gate kapacitása, CL a terhelő kapacitás. Legyen Y = CL/Cg. Egy nagy terhelő kapacitást nyilván úgy optimális meghajtani, hogy először az elemi inverterrel meghajtunk egy nagyobb invertert, majd ezzel egy még nagyobbat, míg végül közvetlenül meg tudjuk hajtani a terhelő kapacitást. Használjunk egy olyan inverter-sort, ahol mindegyik tranzisztor f-szer nagyobb méretű az előzőnél. Ez nyilvánvalóan f-szeres késleltetést okoz. Legyen N fokozatú az inverter-sor, ekkor a teljes késleltetés Nfτ és fN = Y. Kérdés, hogy adott Y esetén milyen f minimalizálja a teljes késleltetést. Mivel fN = Y, lnY = Nlnf, így a teljes késleltetés Nfτ = ln Y (
f )τ . ln f
Ez akkor minimális, ha f /ln f minimális. Ennek minimuma f=e-nél e. Tehát a teljes késleltetés
t min = eτ ln
CL . Cg
Y=30 esetén t min ~ 9τ . Figyelembe kell még vennünk a különböző meghajtók működésének idejét is. Ez kb. τ dri = 8τ késleltetést jelent. Így a kétfázisú logika minimális késleltetési ideje egy óraciklusra
τ fázis = τ l + t min + τ dri
36τ + 9τ + 8τ
50τ
A kétfázisú órajel miatt τ fázis ~ 100τ . 1µ-os technológia esetén τ = 6ps, τ fázis = 0.6ns , ami megfelel 1.6GHz fázissebességnek. 2. Példa: A sebesség korlátozó hatása a vezetékeken történő jelterjedésre A digitális integrált áramkörök két alapelemet tartalmaznak: tranzisztorokat és összekötő vezetékeket. Alacsony integráltság esetén (SSI és MS1 áramkörök) az áramkör sebességét, az alkatrészek sűrűségét a tranzisztorok határozzák meg. De ahogy egyre több és több alkatrészt integrálnak ugyanarra a chip-re, az összekötő vezetékek hatása egyre nagyobb lesz. A VLSI áramkörök összeköttetései fontos szerepet játszanak a sebesség, felület, megbízhatóság és teljesítmény meghatározásában. Az összeköttetések teljesítmény-korlátozó hatásának egyik fő oka a vezetékek kapacitása. Növekvő chip-méretek esetén a vezetékek parazita kapacitásai adják a tranzisztorok bemenő (gate)
kapacitásának
nagy
részét,
és
a
méretcsökkenésből
(scaling-down)
várható
sebességnövekedés nem érvényes hosszú kommunikációs vezetékeket meghajtó áramköri
35
II. Összeköttetések elemekre. Példa: 7µ-os nMOS technológia esetén (MSI chip) egy tipikus tranzisztor bemenő kapacitása (200 fF) megfelel l mm-es vezeték kapacitásának. Egy MSI chip mérete néhány mm, így a vezetékek hossza jóval l mm alatt van. Azt várnánk, hogy 10-szeres méretcsökkenés esetén, tehát 0.7µ-os technológiánál, a tranzisztorok bemenő kapacitása ugyanilyen arányban csökken. Ebben az esetben azonban egy átlagos tranzisztor bemenő kapacitása 0.l mm vezeték kapacitásának felel meg, és egy 10x10 mm-es chip-en az összeköttetések jelentős része ebbe a kategóriába esik, és így a vezetékek kapacitása nagy szerepet játszik. Ha megkíséreljük modellezni az integrált áramköri vezetékeket, akkor lassú és kis méretű IC-k esetén a legegyszerűbb modell a koncentrált paraméterű kapacitív terhelés. Ha azonban az összeköttetések elegendően hosszúak vagy az áramkörök annyira gyorsak, hogy a négyszögjelek felfutó éle összemérhető a jelterjedési idővel (amit a fénysebesség határoz meg), akkor az induktanciák szerepe fontossá válik és a vezetékeket tápvonalként kell modellezni. Ez érvényes az összes IC technológia tok szintiére. Ahhoz, hogy pontos chip-to-chip késleltetéseket nyerjünk, az IC tok-kivezetéseket és a kártya vezetékeket tápvonalként kell modellezni. Kártya szinten jelentős hullámvisszaverődéseket okoznak a vezetékvégek, konnektorok, tok-kivezetések és a vezetékek hajlatai. A chip-méretek növekedésével és a jel hullámhosszak csökkenésével a chin-en belüli (on-chip) vezetékekre is egyre fontosabb lesz a tápvonal hatás. Jelenleg a CMOS chip-ek nem elég nagyok és gyorsak ahhoz, hogy az on-chip vezetékekre is szükséges lenne tápvonal-analízist alkalmazni. A 100 ps felfutási idejű GaAs integrált áramkörök viszont már megkívánják ezt. A 2-11. ábra egy tápvonal elektromos modelljét ábrázolja. Ha a vonal rövid vagy a jel felfutási ideje hosszú, akkor a tápvonalhatás nem jelentős. Ekkor az induktancia elhanyagolható, és a vonal közelíthető egy koncentrált paraméterű kapacitással. Az induktancia akkor válik fontossá, amikor a vonal hosszú vagy a felfutási idő rövid és így
LdI nő. Az induktancia miatt a dt
vonalban áramló áramot nem lehet a végtelenségig növelni az ellenállás csökkentésével és ez jelent alapvető korlátot egy feszültség/áram hullám terjedési sebességében.
36
II. Összeköttetések
R
L
G
C
2-I1. ábra Tápvonal elektromos modellje. A paraméterek: soros ellenállás R, soros induktancia L; sönt konduktancia G; és sönt kapacitás C, mindegyik egységnyi hosszra vonatkoztatva. Mikor kell tápvonal analízist használni? A tápvonathatás akkor válik jelentőssé, amikor egy jel felfutási ideje tr kisebb vagy összemérhető a tápvonal jelterjedési idejével (tl). Itt a felfutási idő az az idő, amely alatt a jel a végértékének 10%-áról 90%-ára nő, és a jelterjedési idő tf =
l , v
ahol l a vonal hossza és v a terjedési sebesség. Egyszerű szabályként azt mondhatjuk, hogy a tápvonal-hatás akkor jelentős, ha t r < 2.5 ⋅ t f és a vonal koncentrált paraméterű kapacitásként viselkedik, ha tr > 5 ⋅ t f . A kettő között, tehát, ha 2.5 ⋅ t f < t r < 5 ⋅ t f , mindkét számítási mód használható. Ennek alapján definiálható egy lkrit kritikus hossz l krit =
v ⋅ tr . Tehát ha egy technológiánál ismerjük a tipikus 2.5
felfutási időt, akkor abból ki tudjuk számolni, hogy milyen vezetékhosszak fölött kell tápvonalanalízist végezni. Az alábbi táblázatok megadnak néhány kritikus hosszt a felfutási idők függvényében, néhány IC technológia esetén a tipikus felfutási időket, valamint a különböző komponensek tipikus méreteit (a táblázatok [206] 6. fejezetében találhatók).
37
II. Összeköttetések
Kritikus vonalhosszak a felfutási idõ függvényében (v0=15cm/ns)
Tipikus felfutási idõk néhány IC technológiára On-Chip felfutási idõk
Off-Chip felfutási idõk
Felfutási idõ tr (ps)
Kritikus hossz lkrit=vtr/2.5 (cm)
Technológia CMOS 0.5
2 nsec
4 nsec
50
0.3
100
0.6
Bipoláris GaAs
50 - 100 psec 20 - 100 psec
200 - 400 psec 100 - 250 psec
250
1.5
500
4.5
Alkatrész
Méretek
1000
6.0
1500
9.0
Die Chip carrier (single chip) Modul (multichip)
1 cm 3 cm 10 cm
8000
48.0
PCB Board
50 cm
Tipikus chip- és tokméretek
A táblázatokból kiolvasható, hogy nyomtatott áramköri lap szinten (50 cm) a tápvonalhatás akkor jelentős, ha a jel felfutási idő kisebb 8 ns-nál. Multichip modulra (10 cm) a felfutási időnek 1.5 ns-nál kell kisebbnek lenni. Single-chip hordozók (3 cm) tápvonal analízist igényelnek, ha a felfutási idő 0.5 ns vagy kisebb, és az on-chip összeköttetések koncentrált paraméterű elemekkel modellezhetők, ha a felfutási idő nagyobb, mint 150 ps. A jelenlegi CMOS rendszerekre a tápvonal-hatás csak modul- és kártya szinten jelentős; a bipoláris áramkörök tápvonal-analízist igényelnek chip-carrier szinten és lejjebb; a GaAs technológia viszont már az on-chip vezetékekre is szükségessé teszi a tápvonalként való modellezést. 3. Példa: Az átlagos összeköttetési hossz számítása becslés alapján A Rent-szabály (1. a 2.2 fejezetben) alapján ki lehet számolni a chip-szintű átlagos összeköttetési hosszat. Ez úgy történik, hogy a logikai áramkört hierarchikus blokkokra bontjuk és a blokkok közötti összeköttetések számát kiszámoljuk a Rent-szabály alapján. Két blokk között a maximális összeköttetési hossz a hierarchiában egy szinttel följebb lévő blokk mérete. Egy blokk méretét a blokkban lévő kapuk számának négyzetgyöke és a logikai kapu méretének szorzata adja. A logikai blokk és a maradék rendszer közötti összeköttetések száma kiszámolható a Rent-szabályból és a logikai kapuk számából. A kapuk száma négyszeresére nő szintről-szintre. Először a kapukat négyes csoportokba kell osztani és összekötni. Ezután a csoportokból újabb négyeseket alkotni stb. A számítást elvégezve az átlagos összeköttetési hosszra egy felső határt kapunk: 38
II. Összeköttetések
l av
p − 0.5 1 − N gp −1.5 ⎤ 1 − 4 p −1 2 ⎡ Ng 7 ⋅ d g , ha p ≠ 0.5 = ⎢ p −0.5 − ⎥⋅ 9 ⎣⎢ 4 − 1 1 − 4 p −1.5 ⎦⎥ 1 − N gp −1
l av
1 − N gp −1.5 ⎤ 1 − 4 p −1 2⎡ ⋅ d g , ha p = 0.5 = ⎢7 ⋅ log 4 N g − ⎥⋅ 9 ⎣⎢ 1 − 4 p −1.5 ⎦⎥ 1 − N gp −1
ahol p a Rent-konstans on-chip vezetékekre, Ng a kapuk száma és dg a logikai kapu fizikai dimenziója (pl. mikronban). Ha p < 0.5 és N g >> 1 , akkor l av
14 1 − 4 p −1 = ⋅ ⋅dg 9 1 − 4 p −0.5
és ha p = 0.2, akkor l av = 3 ⋅ d g .
Példa: Adott egy logikai kapukból álló áramkör p = 0.2 Rent-konstanssal. Számoljuk ki azt a kritikus jel-felfutási időt, amely esetén az on-chip összeköttetéseket tápvonallal kell modellezni! Megoldás: A chip-en az átlagos vezetékhossz l av = 3 ⋅ d g , ahol dg egy kapu mérete. lµ-os technológiánál d g = 20 µm , tehát l av = 60 µm . Az előző példából a kritikus hossz és a felfutási idő viszonya l krit = v ⋅ t r / 2.5 (cm) , v = 15cm / n sec . lav -t behelyettesítve t l = 1 ps . Az előző példa
táblázataiból kiolvashatjuk, hogy még a leggyorsabb GaAs áramkör felfutási ideje is csak 20ps, tehát itt nem kell tápvonal-analízist alkalmazni. Példa: Adott az előző példában szereplő logikai áramkör. A chip-en a vezetékek fajlagos kapacitása legyen cu = 1.8 pF / cm , C 0 = 2 ⋅ C g = 2 ⋅ 10 −3 pF . Tegyük fel, hogy egy tranzisztor 10 másikat hajt meg átlagos hosszú vezetékeken keresztül. Mekkora sebességveszteséget jelent ez optimális illesztés esetén (csak a vezetékeket tekintjük terhelésnek)? Megoldás: Optimális
illesztés
esetén
a
sebességveszteség
C L = N ⋅ l av ⋅ cu = 10 ⋅ 60 µm ⋅ 1.8 pF / cm = 1.08 ⋅ 10 −1 pF .
Tehát
K = e ⋅ ln(C L / C O ) . C L / C O = 54 CL
és
Itt így
K = e ⋅ ln 54 ~ 10 .
39