elektronska vezja: zgradba in delovanjenepovezana celica in1 in2 in3 in4 izhod povezana celica...
TRANSCRIPT
1
Mikroelektronska vezja
• Elektronska vezja: zgradba in delovanje– Delitev digitalnih vezij
– Primeri naročniških in polnaročniških vezij
– Programirljiva vezja (osnove, arhitektura)
Digitalna vezja Delitev digitalnih vezij
2
Zasnova in izvedba vezij
• Postopek zasnove in izvedbe elektronskih vezij – Ciljna tehnologija: standardne celice
– Cilja tehnologija: FPGA vezja
Digitalna vezja Standardne celice
3
Delitev digitalnih vezij
Standardnavezja
Specialnavezja
• mikroprocesorji• pomniliki• logična vrata
• grafični procesor• komunikacijski
vmesnik
Digitalna vezja Tehnologija specialnih vezij
• namenjena za uporabo v različnih napravah– univerzalna– poceni– lahko dostopna
• narejena za točno določen namen– so boljša kot standardna– zelo draga v majhnih
količinah– dolgotrajna izdelava
4
Tehnologja specialnih vezij
Specialnavezja
Digitalna vezja Specialna vezja
• Kako lahko izdelamo specialno vezje?
Naročniškavezja
• izdelamo vsak detajl
Polnaročniškavezja
• uporabimo žepripravljene dele
Programirljivavezja
• uporabimo že narejenovezje, ki ga le šeprogramiramo
Zmogljivost vezja, cena, čas izdelave
5
Specialna vezja
Digitalna vezja Naročniška vezja
Naročniška vezja
Standardne c.Generirane c. Makro celice
Osnova: Celice
Polja vrat FPGA vezja
Osnova: Polje
Delno nar. vez.
I Izvedba specialnih vezij
7
Zasnova naročniških vezij
Digitalna vezja Snovanje na abstraktnem nivoju
Programski paketMagic
(J. Ousterhout, UC Berkeley)
8
Snovanje na abstraktnem nivoju
Digitalna vezja Primeri naročniških vezij
- Brez dimenzij- Važna je le topologija- Končna geometrija vezja jegenerirana programsko(ChipWise)
UDD
1
3Vhod Izhod
Gnd
9
Primeri naročniških vezij
Digitalna vezja Standardne celice
Intel 4004 (‘71)Intel 4004 (‘71)Intel 8080Intel 8080 Intel 8085Intel 8085
Intel 8286Intel 8286 Intel 8486Intel 8486
10
Standardne celice
Programirljiva vezja
Prevezave Logična celica
Vrsticecelice
Povezovalni kanal
Funkcijskimodul
Standardne celice (primer)
12
Primer standardne celice
Programirljiva vezja Avtomatsko generirane celice
3-vhodna NE-IN celica(ST Microelectronics):C = Bremenska kapacitivnostT = vhodni čas naraščanje/padanja
13
Avtomatsko generirane celice
Programirljiva vezja Avtomatsko generirane celice
Programski paket CLEO(Digital)
14
Avtomatsko generirane celice
Programirljiva vezja Avt. gener. celice (primer)
Makrocelice
VodilaGeometrija vezja:Osredotočamo sena globalno topologijovezja: makrocelice,vodila, napajalnavodila in ure.
15
Avt. gener. celice (primer)
Programirljiva vezja Polja vrat (Gate Arrays)
Podatkovna vodilaSRAM
SRAM
Pov
ezov
alni
kana
l
Video-enkoder čip
Standardne celice
16
Polja vrat (Gate Arrays)
Programirljiva vezja Polja vrat (Gate Arrays)
VDD
GND
polisilicij
kovina
možni spoj
Nepovezanacelica
In1 In2 In3 In4
Izhod
Povezanacelica(4-vh. NE-ALI)
Vrsticenepovezanih celic
Povezovalnikanal
17
Polja vrat (Gate Arrays)
Programirljiva vezja Programirljiva vezja
Pomnilniškovezje
Polja vrat
LSI Logic LEA300K(0.6 µm CMOS)
18
Načrtovanje digitalnih vezij
• Za načrtovanje kompleksnih digitalnih vezij potrebujemo visokonivojski pristop
• Pomagamo si s programsko opremo za načrtovanje digitalnih vezij
Načrtovanje digitalnih vezij Prototipni sistem za izdelavo vezij
19
Postopek načrtovanja celice
Načrtovanje digitalnih vezij Postopek načrtovanja
Specifikacija
Opis funkcijskegadelovanja vezja
Prevajanjeopisa delovanja
Logična sinteza
Simulacija
20
Postopek načrtovanja
Načrtovanje digitalnih vezij Opis delovanja vezja
Sintezageometrije vezja
Simulacijageometrije vezja
Izdelava vezja
Testiranjevezja
21
Opis delovanja vezja
Načrtovanje digitalnih vezij Primer opisa vezja
Primerjalnik dveh dvobitnih števil:
Zapis v jeziku za opis delovanja vezja(HDL, Hardware Description Language)- VHDL- Verilog- jeziki v raznih akademskih okoljih
22
Primer opisa vezja
Načrtovanje digitalnih vezij Prevajanje opisa delovanja
CIRCUIT PRIMERJALNIK
VAR:A ARRAY[0..1] OF INPUT;B ARRAY[0..1] OF INPUT;Q ARRAY[0..1] OF OUTPUT;
BEGINIF (A==B) THEN Q=0;ELSE BEGIN
IF (A > B) THEN Q=1ELSE
Q=2;END;
END.
23
Prevajanje opisa delovanja
Načrtovanje digitalnih vezij Logična sinteza
- za kombinacijska vezja dobimo opis v obliki pravilnostne tabele- sekvenčna vezja v obliki enačb za prehod med posameznimi stanji.
Za dani primer:a1 a0 b1 b0 q1 q0
0 0 0 0 0 0
0 0 0 1 1 0
0 0 1 1 1 0
0 1 0 0 0 1
.. .. .. .. .. ..
.. .. .. .. .. ..
1 1 1 1 0 1
1 1 1 1 0 0
24
Logična sinteza
Načrtovanje digitalnih vezij Večnivojska logična sinteza
1. Logična minimizacija (2-nivojska oblika) 2. Večnivojska logična sinteza3. Tehnološka preslikava
Logična minimizacija- minimizirati donivojsko logično funkcijo- NP zahteven problem- obstaja vrsta izpolnjenih programskih orodij (ESPRESSO)
q1 = a’1a’
0b’1b0 + a’
1a’0b1b’
0 + a’1a’
0b1b0 + a’1a0b1b’
0 + a’1a0b1b0 + a1a’
0b1b0q0 = a’
1a0b’1b’
0 + a1a’0b’
1b’0 + a1a’
0b’1b0 + a1a0b’
1b’0 + a1a0b1b’
0 + a1a0b1b’0
q1 = a’1b1 + a’
1a’0b0 + a’
0b1b0
q0 = a1b’1 + a1a0b’
0 + a0b’1b’
0
25
Večnivojska logična sinteza
Načrtovanje digitalnih vezij Tehnološka preslikava
1. Funkcijo predstavimo v večnivojski obliki 2. Obstajajo različne metode (algebraični, boolove, programski paket SIS)
- 8 2-vhodnih logičnih vrat na 5 logičnih nivojih,- 6 razvejitvenih vozlišč,- največje število razvejitev je 2.
q1
q0
a1a0
b1
b0
26
Tehnološka preslikava
Načrtovanje digitalnih vezij Podatki za načrtovalca
1. Logično vezje želimo predstaviti z elementi iz knjižnice 2. Omejeni smo z naborom elementov3. Elementi (standardne celice) so vnaprej definirane (CMOS proces)4. Vsi podatki za posamezne celice (zakasnitve, površina) so podani v knjižnici
Primer knjižnice standardnih celic:
Logične celice:IN015 InverterAA025 2- vhodna IN vrata…AO035 3-vhodna ALI vrata
Periferne celice:IB01C5 vhodna celica
OB03C5 izhodna celica
PP01C napajalna UDD celica
PP02C napajalna GND celica
27
Podatki za načrtovalca
Načrtovanje digitalnih vezij Tehnološko preslikano vezje
Primer 2-vhodnih IN vrat
ab q
a b q
a b q
AA025
Funkcija:q = a & b
Širina: 12µmVišina: 30 µm
Vhodne kapacitivnosti:Ca = 0.12pFCb = 0.11pF
Zakasnitev celice:t(CL) = 2.3ns + 2.7ns/pF * CL[pF]
28
Tehnološko preslikano vezje
Načrtovanje digitalnih vezij Simulacija vezja
a1
q0
b0
b1
a0
q1
- 8 logičnih celic 5 logičnih nivojih- 6 razvejitvenih vozlišč- največje število razvejitev je 2.
29
Simulacija vezja
Načrtovanje digitalnih vezij Funkcijska simulacija
Program zasimulacijo vezja
Testni vzorci
Relativno enostaven problem, linearna odvisnost od velikosti vezjaDanes v glavnem vzporedna simulacija.
2 vrsti simulacij:- funkcijska simulacija- časovna simulacija
Opis vezja(stand. celic)
Rezultati(opozorila)
30
Funkcijska simulacija
Načrtovanje digitalnih vezij Izvedba simulacije
- Najenostavnejši način simulacije.- Za izbrani testni vzorec simulator poskuša ugotoviti stanje na izhodu vezja.
- Simulacija se konča, ko so znane vse vrednosti.
a1
q0
b0
b1
a0
q10
0
0
0
1
1
1
1
1
1
0 0
0
31
Izvedba simulacije
Načrtovanje digitalnih vezij Načrtovanje geometrije vezje
a1
q0
b0
b1
a0
q10
0
0
0-1
1
1
1-0
1
1-0
1
0 0
0-1
a1
q0
b0
b1
a0
q10
0
0
1
1
11
0 0
0-11-0
0-1
1-0
32
Načrtovanje geometrije vezja
Načrtovanje digitalnih vezij Načrtovanje geometrije vezja
Celice obsegajo:- logične celice (logična vrata, flip-flopi) - periferne celice (vhodno-izhodne celice, napajalne celice)- testne celice (kontrola tehnološkega procesa)
Glavna lastnost:- vse celice imajo enako višino, - priključki za povezave so na obeh robovih celice,- napajalna vodila za UDD in USS so na točno določeni višini.
33
Načrtovanje geometrije vezja
Načrtovanje digitalnih vezij Načrtovanje geometrije vezja
a b q
a b qAA025
a b q
a b qAO025
a b q
a b q
AA035
c
c
a b q
a b qAA025
a b q
a b qAO025
a b q
a b q
AO035
c
c
35
Načrtovanje s standardnimi celicami
Načrtovanje digitalnih vezij Načrtovanje FPGA vezij
- Predstavlja ugodno razmerje med ceno vezja (stroški načrtovanjain izdelave) in lastnosti delovanja vezja.
- Večina orodij (akademskih in profesionalnih) za načrtovanje integriranih vezij podpira načrtovanje v arhitekturi standardnih celic.
- Postopek načrtovanja je relativno enostaven.
- Odvisnost od proizvajalca integriranega vezja - uporabimo lahkole standardne celice, ki jih določi proizvajalec.
36
Programirljiva vezja
Programirljiva vezja
Programirljivavezja
EnostavnaPAL, GAL
KompleksnaCPLD FPGA
Programirljivavezja
Razvoj programirljivih vezij
• Poznamo več vrst programirljivih vezij
FPGA
• FPGA vezja so najbolj zmogljiva– z njimi lahko naredimo celo mikroprocesorje po
lastni zamisli ipd.
37
Razvoj programirljivih vezij
“Klasična PLD vezja” - PAL, GAL(PALCE)• Programirljiva IN - ALI matrika, na izhodih
funkcij so lahko flip-flopi• Omejena zmogljivost, ker ne moremo
poljubno povečevati PLD strukturo– površina vezja se veča s kvadratom števila
vhodov in logika postane počasnejša
Enostavna programirljiva vezjaProgramirljiva vezja
39
Vključitev makrocelic
Programirljiva vezja Kompleksna PLD vezja
MakroceliceVhodi vezja
Altera Corp.
40
Kompleksna PLD vezja
“Kompleksna PLD vezja” - CPLD• Vsebujejo več PLD gradnikov z relativno
majhnim številom povezav• Potrebujemo programsko opremo za delitev
vezja na manjše PLD gradnike
Programirljiva vezja FPGA vezja
41
FPGA vezja
“Električno programirljiva polja vrat” - FPGA(električno programirljiva matrika vrat)
• Pojavila so se istočasno s CPLD vezji• V primerjavi s CPLD vezji imajo več
povezovalnih virov • Zelo veliko programirljivih blokov, ki imajo
manjše število vhodov in 1 ali 2 flip-flopa
Programirljiva vezja FPGA vezja (Actel)
42
FPGA vezja (Actel)
Programirljiva vezja Programirljivi stik
Arhitektura kot pristandardnih celicah
V/I Celice
Programiranje/Test/Diagnoza
V/I Celice
Navpične povezave
Vrstice logičnih celicPovezovalni kanal
V/I C
elic
e
V/I C
elic
e
43
Programirljivi stik
Programirljiva vezja FPGA vezja (Actel)
polisilicij dielektrik
n+ difuzijska plast
Ni stika najprej, s tokovnim pulzom ustvarimo kratek stik.
44
FPGA vezja (Actel)
Programirljiva vezja Konfiguracija celice
Cell
Vhodno/izhodni pin
Vodoravnepovezave
Navpične povezave
Varovalka
Programirljive povezave
45
Konfiguracija celice
Programirljiva vezja Konfiguracije celice (primer)
FA 0
B
S
1
KonfiguracijaA B S F=0 0 0 00 X 1 X0 Y 1 Y0 Y X XYX 0 YY 0 XY 1 X X + Y1 0 X1 0 Y1 1 1 1
XYXY
XY
46
Konfiguracija celice (primer)
Programirljiva vezja FPGA vezja (osnova RAM)
A0
B0
S0
A1
B1
S1
0
10
0
1
1
Izh
SASB
Gnd
UDD
x
y
UDD
Gnd
Gnd
x
A0
B0
S0
A1
B1
S1
0
10
0
1
1
Izh
SASB
Izh = x EX-ALI y
47
FPGA vezja (osnova RAM)
Programirljiva vezja FPGA vezja (osnova RAM)
CLB CLB
CLBCLB
povezovalna matrika
spojna točka
Vodoravnepovezave {
Navpični povezovalni kanal
48
FPGA vezja (osnova RAM)
Programirljiva vezja Tehnologija FPGA vezij
RQ1D
CE
RQ2D
CE
F
G
F
G
F
G
RD in
Clock
CE
F
G
AB/Q1/Q 2C/Q1/Q 2
D
AB/Q1/Q 2C/Q1/Q 2
D
E
Kombinacijska logika Pomnilni element
Poljubnafunkcija
4 spremenlj.
Poljubnafunkcija
4 spremenlj.
Xilinx
49Programirljiva vezja FPGA vezja proizvajalca Xilinx
FPGA vezja
• Povezovalno polje vsebuje veliko število povezav
• Konfiguracijski pomnilni elementi določajo povezave in vsebino logičnih blokov
• Sestavljena so iz matrike logičnih blokov
50
FPGA vezja proizvajalca Xilinx
CLB - konfiguracijski logični bloki
vhodno / izhodni bloki
povezovalno polje
Zgradba Xilinx FPGA vezij
Programirljiva vezja FPGA vezja Xilinx Spartan
Npr. FPGA vezje Spartan XCS40 vsebuje:• matriko 28 x 28 CLB-jev
• 224 vhodno / izhodnih blokov
51
FPGA vezja Xilinx Spartan
prenos
CLB
enoj
ne
dvoj
ne
glob
alne
dolg
e
dolge
dolge
dvojne
enojne
matrikastikalna
Programirljiva vezja MOS tranzistor
• Med logičnimi bloki (CLB) je veliko povezovalno polje, ki vsebuje stikalne matrike na križiščih povezav
Na križiščih povezav so MOS tranzistorji, ki delujejo kot stikala
52
MOS tranzistor• Tranzistorji v digitalnih vezjih delujejo kot stikala
Napetost 0V(logična ničla) 0V
Stikalo jerazklenjeno
5V
Napetost 5V(logična enica)
Stikalo jesklenjeno
Programirljiva vezja Določanje povezav
53
Določanje povezav• Vsak povezovalni tranzistor je priključen na svoj
konfiguracijski pomnilni element
če je v element vpisana logičnaenica, je tranzistorodprt in povezavaje vzpostavljena
Programirljiva vezja Logični bloki (CLB)
54
Logični bloki (CLB)
Programirljiva vezja Načrtovanje digitalnih vezij
prenos
CLB
enoj
ne
dvoj
ne
glob
alne
dolg
e
dolge
dolge
dvojne
enojne
matrikastikalna
• Logični bloki vsebujejo tabele, s katerimi naredimo enostavne logične funkcije (IN, ALI …)
flip-flop
flip-flop
D
D
CE
CE
CLK
CLK
Q
Q
Tabela
Tabela
Tabela
SR
SR
56
Načrtovanje FPGA vezij
Načrtovanje digitalnih vezij
Specifikacija
Izdelavastrukture
Izdelavagradnikov
• Današnji način načrtovanja vezij je neodvisen od končnega postopka izdelave (tehnologije)
Izdelava vezja
Simulacija
• Programsko opremo za izdelavo vezij dobimo od proizvajalca FPGA vezij
Načrtovanje FPGA vezij
57
Načrtovanje FPGA vezij
Prevajanjeali sinteza
• Razčlenitev vezja na osnovne gradnike (logične funkcije, flip-flope…)
Izdelava vezja
Tehnološkapreslikava
• Preslikava gradnikov v logične bloke
Razmeščanjein povezovanje
• Izdelava načrta povezav znotraj FPGA vezja
Konfiguracijskadatoteka
Programiranje
FPGA
Načrtovanje digitalnih vezij