Füüsikalise taseme projekteerimine Kompleksete süsteemide iseärasused  J.F. Wakerly “Digital Design: Principles and Practices” - 1.5, 1.8-12  L18.

Download Report

Transcript Füüsikalise taseme projekteerimine Kompleksete süsteemide iseärasused  J.F. Wakerly “Digital Design: Principles and Practices” - 1.5, 1.8-12  L18.

Füüsikalise taseme projekteerimine
Kompleksete süsteemide iseärasused
 J.F. Wakerly “Digital Design: Principles and Practices” - 1.5, 1.8-12
 L18. Digitaalsüsteemide automaatprojekteerimine, sünteesi etapid.
 L19. Süsteemi- ja kõrgtasemesüntees.
 L20. Füüsikalise taseme
projekteerimine. Kompleksete
süsteemide iseärasused.
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
1
Füüsiline realiseerimine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
2
Füüsiline realiseerimine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
3
Pakendamine
Kristall  kiip  trükkplaat  kapp
Tavamured: ühendused (viited)
Lisaks: toide, jahutamine, hooldamine, jne.
Pakendamistase
1. tase
2. tase
Kristall
MCM / Kiip
Trükkplaat
3. tase
4. tase
© Peeter Ellervee
Emaplaat
Kast
I207 - Digitaalloogika ja -süsteemid - L20
4
Kiipide/korpuste näited
DIP
PPGA (Intel)
© Peeter Ellervee
PLCC
FCBGA (Intel)
SOIC
SEPP (Intel)
I207 - Digitaalloogika ja -süsteemid - L20
5
Pakendamise näited
hübriidmikroskeem
prototüüpimine
ruumiline montaaž
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
IBM POWER5
6
Pakendamine – korpused
 Füüsilised nõuded ja piirangud
 mõõtmed, liidesed
 vastupidavus - tolm, vibratsioon
 Termilised nõuded ja piirangud
 töötemperatuuri vahemik
 jahutamine / küte
 Elektrilised nõuded ja piirangud
 elektritoide
 kaitse - liigpinge,
elektromagnetväljad
 Ergonoomilised nõuded ja
piirangud
 väljanägemine, kasutajaliides, müra
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
7
Füüsikalise taseme süntees
Loogikalülid 
transistorid / traadid
Transistorid / traadid 
polügonid (maskid)
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
8
Mikroskeemide valmistamine
 maskid – ilmutamine
 söövitamine / lisamine
 pakendamine
 testimine
Brown University
Robert Richmond, 2003
AMD
Wikipedia
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
9
Mikroskeemide valmistamine
sammud söövitamisel
CMOS transistorid
sammud valmistamisel (inverter)
2-NAND
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
10
Mikroskeemide valmistamine
2-NAND
2-NOR
2-2-AND-NOR
flip-flop
http://www.vlsitechnology.org/
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
11
Füüsikalise taseme süntees
 Tükeldamine
 partitioning
A
 Pinnaplaneering
 floorplanning
 Paigaldamine
 placement
C
4
3
1
B
D
2
3
variandid
3
1
4
2
3
1
2
4
2
1
1
A
B
C
© Peeter Ellervee
D
2
I207 - Digitaalloogika ja -süsteemid - L20
4
3
12
Füüsikalise taseme süntees
 Ruutimine e. trasseerimine
 routing
 Labürindi läbimine
 maze running
 1, 2 või N korraga
 1 või enam kihte
 mälumaht!
 Joone otsimine
 lõikejoon
 Globaalne ja detailne
 Optimeerimine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
13
Trükkplaadid
 Valmistamine ja projekteerimine
 töökindlus, maksumus, jõudlus (töökiirus)
 PCB (Printed Circuit Board)
 Komponendid
 mikroskeemid, transistorid, takistid, kondensaatorid jne.
 Ühendused
 Liidesed
 Kinnitused
 Trükkplaadi valmistamine
 Komponentide paigaldamine (ja kinnitamine)
 Elektriliste ühenduste loomine (nt. jootmine)
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
14
Trükkplaatide valmistamine
 Vasega (Cu) kaetud
tekstoliit ( klaasriie &
epoksüvaik)
 Ühekihiline trükkplaat
ühekihiline
kahekihiline
 ühendusrajad (alumine pool)
 Kahekihiline trükkplaat
 ühendusrajad
 metalliseeritud läbiviigud
mitmekihiline
 Mitmekihiline trükkplaat
 mitu kahekihilist plaati
 läbiviikude asukohad!
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
15
Trükkplaatide valmistamine
 Väikeseeriad / üksikeksemplarid
 Täielikult vasega kaetud plaat (1- või 2-kihiline)
 Läbiviikude puurimine (drilling)
 Läbiviikude galvaaniline metalliseerimine
 Ühendusradade loomine == liigse vase eemaldamine
 liigse metalli söövitamine (etching)
1) kaitsekihi peale kandmine (radade positiivkujutis)
a) kaitselaki / -värvi joonistamine / siiditrükk
b) printimine (fototundlik materjal, termokiled jne.)
2) söövitamine (FeCl3, HNO3 jne.)
 liigse metalli välja freesimine (milling)
 Komponentide paigaldamine
 vajaduse korral ka kinnitamine (nt. liimimine)
 Jootmine
 mehhaniseeritud (tinalaine) või käsitsi
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
16
Trükkplaatide valmistamine
 Suurseeriad
 Läbiviikude puurimine (metalliga katmata plaat)
 Ühendusradade loomine == vasekihi galvaaniline
kasvatamine
 keemiliselt kantakse peale õhuke vasekiht
 radade asukohtade trükkimine (fotolitograafia)
 galvaaniline radade kasvatamine vajaliku paksuseni
(tagab ka läbiviikude metalliseerimise)
 liigse vase eemaldamine (söövitamine)
 Kaitsekihi (-laki) ja jootevedeliku/-tinaga katmine
 Komponentide (mehhaniseeritud) paigaldamine
 vajaduse korral ka kinnitamine (nt. liimimine)
 Jootmine
 mehhaniseeritud
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
17
Trükkplaatide valmistamine
 Valmistamine
 komponentide kinnitamine
 jootmine
jootevedelik / -tina
 termilised probleemid
suured vasepinnad
komponentide
ülekuumenemine
 kvaliteedi kontroll
Through-hole Wave Soldering
Gigabyte Factory Tour (PCSTATS.com)
visuaalne
 lõppviimistlus
puhastamine
kaitselakkimine
 lõpptestimine
funktsionaalsuse kontroll
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
18
Trükkplaatide valmistamine
SMD Wave Soldering
SMD Reflow Soldering
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
19
Trükkplaatide valmistamine
 Praktilisi nõuandeid (mõõtühik on mil – 1/1000 tolli, st. 0,0254 mm)
 Augud
 mida väiksem auk, seda kallim plaat
 väikseimad augud võiksid olla 0,5 mm või suuremd
 mida paksem plaat, seda suuremad augud
 2 mm plaat → mitte alla 0,4 mm augud
 Ühendusrajad
 liiga kitsad rajad ja radadevahed tekitavad probleeme
 soovitav laius 0,25 mm (10 mil)
 Polügonid (suured pinnad, nt. maakiht)
 kasutatakse ekraaniks, jahutamiseks jne.
 väikseim vahe polügoni ja radade vahel vähemalt 0,25 mm
 Jootemask
 jooteplatsi jaoks peaks olema jootemaskis (kaitselakk) vastav auk
 Markeering
 ei tohi sattuda jootekohtadele, täpsus ~0,5 mm
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
20
Trükkplaatide projekteerimine
 Skeemist moodulini
 Skeemi sisestamine
 Komponentide paigaldamine
 siinide asukohad
 tugikomponendid
 Ruutimine
 harakapesa (rat-nest)
asendamine traatidega
 toiteühendused
 Kontroll (DRC)




 PCB Design Tutorial
 David L. Jones
 http://www.alternatezone.com/
 Mõningaid soovitusi
 Toite ühendamine
 filterkondensaatorid
 Siinide ühendamine
 Mitmekihilised plaadid
 läbiviikude tüübid – läbi terve
plaadi, (osaliselt) peidetud
 läbiviikude asukohad –
sünkroniseerimine
radade mõõtmed
radadevahelised kaugused
aukudevahelised kaugused
jne.
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
toide
siinid
21
Protsessorseadmed
 Protsessor toas – lambid, transistorid
 Protsessor kapis – integraalskeemid (SSI)
 IBM 360/370, PDP-7/11
 Protsessor plaadil – LSI, RISC
 silp-protsessorid, lisaplaadid mälu, jms. Jaoks
 Protsessor kiibil – VLSI
 i8080, z80, m6800, …
 Üldotstarbelised mikroprotsessorid





täisarv- ja ujukoma-aritmeetika
paindlikud aadresseerimisviisid
OS riistvaraline toetus
mitmeastmeline konveier
VLIW – Very Long Instruction Word
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
22
Protsessorseadmed
 Signaalitöötlusprotsessorid
 DSP – Digital Signal Processor
 püsikoma-aritmeetika, piiratud aadresseerimisviisid
 väga lihtne sise-ehitus
 Mikrokontrollerid
 piiratud aritmeetika ja aadresseerimisviisid
 loogikatehted ja bititöötlus; s/v ja juhtimise organiseerimiseks
 Süsteem kiibil [SoC e. kiipsüsteem]
 protsessorid kiibil (aga mitte ainult)
 ARM, PowerPC jne. tuumad
 eri protsessoritüübid erisugustele ülesannetele
 mälu- ja siinisüsteemid
 Liidesprotsessorid
 andmevahetus (protokollid), loogikaoperatsioonid ja mälupöördused
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
23
Mälusüsteemid, -hierarhia
 Üldotstarbelised (mikro)protsessorid
 nähtavuse alusel
 registrid, pinumälu, põhimälu, kõvaketas, CD, lindid jne.
 hierarhia alusel
 registrifail, peidikmälud – põhimälu, kõvaketta jne. jaoks
 Digitaalsüsteemid
 nähtavuse alusel
 registrid, vahemälud (peidikmälud), põhimälu
 arhitektuuri alusel
 ühine mälu (jaotatud mälu)
• registrifail, ühine põhimälu, ...
 hajutatud mälu
• üksikud registrid, võrk, ...
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
24
Mälusüsteemid, -hierarhia
 SoC – mudel
 SoC – arhitektuur
 funktsionaalne mudel
 protsessorseade
 PE – protsessorseade
(CPU, DSP, ASIC)
 LM - lokaalne mälu
 FIFO - puhvermälu
 peidikmälu (L1)
 lokaalne mälu
 osa ühisest mälust
 eraldi mälu (L2)
 puhvermälu
FIFO
PE
LM
© Peeter Ellervee
FIFO
PE
FIFO
LM
I207 - Digitaalloogika ja -süsteemid - L20
25
Digitaalsüsteemide siinid
 Arvutisiinid
 protsessori sisesiinid
 mälusiinid
 s/v siinid
 Protokollid
 otsene seos arhitektuuriga
 peidikmälu ploki sünkroniseerimine põhimäluga
 nt. ARM-7/9
• peidikmälu plokk (cache line) - 8*32 bitti
• põhimälu pöördus - 11 tsüklit, 8*32 bitti
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
26
Digitaalsüsteemide siinid
 SoC
 siinide hierarhia
 moodulite sisesiinid
 moodulitevahelised siinid
 üks siin hierarhias
 mitu siini hierarhias
 hajutatud siinid
 homogeensed siinid
 heterogeensed siinid
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
27
Digitaalsüsteemide siinid
 NoC – Network-on-a-Chip
 siinide hierarhia
 moodulite sisesiinid
 moodulitevaheline siinide võrk
 võrgu arhitektuurid
 ühine siin mõne mooduli vahel
 andmevahetus - teadete edastamine
 teadete marsruteerimine
 kommunikatsioonisõlmed
 isehäälestuv andme-edastus
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
28
S/V alamsüsteemid
 Digitaalsisendid, -väljundid
 s/v kontrollerid ja protsessorid
 s/v puhvrid ja võimendid
 voolu-, pinge- ja võimsusvõimendid
 Analoogsisendid, -väljundid
 digitaal-analoog muundurid (DAC)
 analoog-digitaal muundurid (ADC)
 analoogskeemid digitaalsel kiibil
 mürad, tehnoloogia, ...
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
29
Sardtarkvara
 99% protsessoritest sardsüsteemide turul
 Sardtarkvara arhitektuur
 riistvara
 draiverid
 reaalaja opsüsteem (RTOS)
 rakendusprogrammid
 RTOS
 mitu programmi, igal omad tähtajad
 väike mälutarve (~10KB)
 välismälu (kettad jms.) puudumine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
30
Testitavus
 Hästitestitavate süsteemide disain
 DFT - Design for Testability
 Funktsionaalsest testimisest ei piisa
 Diagnostiline testimine lihtsam, kui testitavus
on projekteerimisel arvesse võetud
 Testide genereerimine oluliselt lihtsam
 Kombinatoorsete süsteemide testimine
 Mäluga skeemide testimine
 Vähesed punktid otseselt jälgitavad
 Täiendavate mõõtepunktide loomine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
31
Töökindlus
 Tõrke tõenäosus komponendi kohta
 Mida rohkem komponente,
seda väiksem on töökindlus
 päästab dubleerimine
 veakindel kodeerimine kasutab sama trikki!
 Suurem integratsiooniaste
 rohkem elemente kristallil - suurem töökindlus
 väiksemad elemendid - väiksem töökindlus
 mürad, elektromagnetkiirgus, kosmilised osakesed
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
32
Töökindlus
 Rikke tõenäosus
 sissetöötamisel, normaaltöös, lõpus...
 Komponendid süsteemis
 töökindluste tõenäosuste korrutis
 r = r1 * r2 * r3 * . . . * rN
 r1 = 0,99; r2 = 0,95 --
r = 0,94
 Dubleeritud komponendid
 rikete tõenäosuste korrutis
 r = 1 - (1- r1) * (1-r2) * (1-r3) * ... * (1-rN)
 r1 = 0,99; r2 = 0,95 -- 0,9995
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
33
Asünkroonsed süsteemid
 J.F. Wakerly “Digital Design: Principles and Practices” – 8.8
 Asünkroonne andmevahetus
 mitu taktsignaali, pikad siinid jne.
 Isetakteeruvad moodlid
 signaalide võistlus (signal race)
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
34
Pikad liinid
 Ülekandeliinid
 Mahtuvused
 transmission lines
 Valguse kiirus
 Parameetrid
 traat-kristall & traat-traat
 Induktiivsused
 traat antennina & traat-traat
 L - traadi pikkus
 W - traadi laius
 Cw ~ L · hw / d
 Ci ~ L · W / hi
 Mw ~ L / d2
 pikkus  takistus,
induktiivsus, mahtuvus
 Sobitus
 peegeldused!
hw
hi
Mw
d
d
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
35
Sidestus - ülekostvus
 Pikad ühendustraadid - lahendusi
 varjestamine (koaksiaal)
 keerutatud paar
maa
info
maa
info
/info
 Arhitektuursed lahendused
 info pakkimine
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
36
Homne päev?
mälu suurus
transistore cm2-l
sisemine taktsagedus
välimine taktsagedus
väljaviike
2000. a.
2010. a.
2020. a.
2 Gbit
8·106
1.5 GHz
0.5 GHz
2000
256 Gbit
160·106
10 GHz
1.5 GHz
6000
1024 Gbit
480·106
40 GHz
2.5 GHz
10000
kristalli pindala
800 mm2
traadi laius
140 nm
toitepinge
1.5 V
võimsustarve
100 W
võimsustarve (akutoide)
0.5 W
© Peeter Ellervee
1300 mm2 1800 mm2
40 nm
10 nm
0.6 V
0.5 V
170 W
300 W
1.5 W
2.5 W
I207 - Digitaalloogika ja -süsteemid - L20
37
Tulevik?
 Nano-tehnoloogiad?
CMOL = CMOS + nano
© Peeter Ellervee
QCA – Quantum-dot
Cellular Automata
I207 - Digitaalloogika ja -süsteemid - L20
38
Eksam
 Kestus – 2 tundi
 40 punkti 54-st on 100%
 ~1/3 - Teooria
 Elektroonikasüsteemide modelleerimine
 Boole’i funktsioonide esitusviisid ja süntees
 Automaatide esitusviisid ja süntees
 Standartsed loogikaelemendid ja moodulid
 Digitaalsüsteemide projekteerimine
 Kompleksete süsteemide iseärasused
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
39
Eksam
 ~1/2 - Loogika ja automaadid
 automaadi realiseerimine
 tabeli ja funktsioonide süntees ja minimeerimine
 paar pisiülesannet
 kindla lahendusmeetodi nõue
 ~1/10 - VHDL
 väiksema mooduli/süsteemi modelleermine
 väiksemad süntaksi vead on lubatud
 Materjalide kasutamine on lubatud
© Peeter Ellervee
I207 - Digitaalloogika ja -süsteemid - L20
40