logičko projektovanje - es.elfak.ni.ac.rses.elfak.ni.ac.rs/ams/materijal/2_...
TRANSCRIPT
LogiLogiččko projektovanjeko projektovanje
Bulova algebraDigitalna logička kola
Minimizacija Bulovih funkcijaTehnološko mapiranje
Arhitektura mikrosistema
Bulova algebra
Algebarska struktura: (B={0,1}, +, ·), + - logičko ILI (OR), · - logičko I (AND)• Aksioma 1 (Zatvorenosti) • Aksioma 2 (Jedinični element)
x+0=0+x=xx·1=1·x=x
• Aksioma 3 (Komutativnost)x+y=y+xx·y=y·x
• Aksioma 4 (Distributivnosti)x·(y+z)=x·y+x·zx+y·z=(x+y) ·(x+z)
• Aksioma 5 (Komplementarni element) x+x’=1x·x'=0
• Aksioma 6 (Kardinalnost)
Arhitektura mikrosistema
Operatori Bulove algebre
111111
101001
01110010
10000000
x'xx+yyxx·yyx
NOTORAND
Bulova algebra: (B={0,1}, AND, OR, NOT) – praktična definicija
Arhitektura mikrosistema
Teoreme Bulove algebre
x’y’=(x+y)(x+y’)(a)Teorema 7(Zakon sažimanja) x=xy + xy’(b)
x’ + y’=(xy)’(b)
x’y’=(x+y)’(a)Teorema 6(De Morganovo pravilo)
(xy)z=x(yz)(b)
x+(y+z)=(x+y)+z(a)Teorema 5(asocijativnost)
x=(x’)’Teorema 4(involucija)
x=(y+x)x(b)
x=yx + x (a)Teorema 3(absorpcija)
0=x·0(b)
1=x+1(a)Teorema 2
x=x·x(b)
x =x+x (a)Teorema 1(idenpotencija)
Arhitektura mikrosistema
• U logičkoj sumi ili proizvodu proizvoljnog broja promenljivih redosled promenljivih i raspored zagrada nije od značaja
Asocijativnost + komutativnost
Arhitektura mikrosistema
Apsorpcija + sažimanje
• Osnova za pojednostavljenje (minimizaciju) prekidačih funkcija
• Apsorpcija smanjuje broj literala za 2– yx + x = x– (y+x)x = x
• Sažimanje smanjuje broj literala za 3– x · y + x · y’ = x– (x + y) · (x + y’) = x
Arhitektura mikrosistema
Pozitivna i negativna logika
Pozitivna logika:
LOW → 0
HIGH → 1
Negativna logika:
LOW → 1
HIGH → 0
Arhitektura mikrosistema
Princip dualnosti
(x · y) + x = x
(y + x) · x = x
x · 1 = x
x + 0 = x
Neka je E(x1,x2…xn) Bulov izraz, a Ed(x1,x2…xn)njegov dualni izraz. Tada važi:E’(x1,x2…xn) = Ed(x1’,x2’…xn’)
Generalizovana De Morganova pravila:(x1+x2+…+xn)’=x1’x2’…xn’(x1x2…xn)= x1’+x2’+…+xn’
Arhitektura mikrosistema
Bulove funkcije
• Bulova funkcija: algebarski izraz sačinen od binarnih promenljivih, Bulovih operatora AND, OR i NOT, zagrada i znaka jednakosti
• Tabela istinitosti:AND članovi
F1 = xy+xy’z+x’yz
OR član literali
011117
010116
011015
100014
011103
100102
101001
100000
F1’F1zyx
Vrednosti funkcija
Vrednosti promenljivihRedni broj
vrste
Komplement funkcije:
- Primenom De Morganovih pravila:F1’ = (xy+xy’z+x’yz)’
= (xy)’(xy’z)’(x’yz)’= (x’+y’)(x’+y+z’)(x+y’+z’)
- Primenom principa dualnosti:F1’ = (xy+xy’z+x’yz)’
= (x’+y’)(x’+y+z’)(x+y’+z’)
Arhitektura mikrosistema
Algebarske manipulacije
Rešenje:xy+xy’z+x’yz = xy+xyz+xy’z+x’yz apsorbcija
= xy+x(y+y’)z+x’yz distributivnost= xy+x1z+x’yz komplement= xy+xz+x’yz identitet= xy+xyz+xz+x’yz apsorpcija= xy+xz+(x+x’)yz distributivnost= xy+xz+1yz komplement= xy+xz+yz identitet
Problem: Pokazati da su sledeća dva izraza ekvivalentna:F1 = xy+xy’z+x’yz (8 literala)F1 = xy+xz+yz (6 literala)
Broj AND i OR operatora jednak je broju literala umanjenom za 1.
Manji broj literala => Manji broj AND i OR operatora => Manja hardverska složenost (cena)
Arhitektura mikrosistema
Kanonske forme- mintermi i makstermi -
• minterm – Bulova funkcija koja ima vrednost 1 samo za jednu kombinaciju vrednosti promenljivih, a vrednost 0 za sve ostale kombinacije
• Za funkciju od n promenljivih postoji 2n
minterma, mi, i =0,...,2n-1.• Svaki minterm se može predstaviti u
obliku AND člana od n literala• Mintermi od tri promenljive:
m7xyz111
m6xyz’011
m5xy’z101
m4xy’z’001
m3x’yz110
m2x’yz’010
m1x’y’z100
m0x’y’z’000
OznačavanjeMintermzyx
• maksterm – Bulova funkcija koja ima vrednost 0 samo za jednu kombinaciju vrednosti promenljivih, a vrednost 0 za sve ostale kombinacije
• Za funkciju od n promenljivih postoji 2n
maksterma, Mi, i =0,...,2n-1.• Svaki maksterm se može predstaviti u
obliku OR člana od n literala• Makstermi od tri promenljive:
M7x’+y’+z’111
M6x’+y’+z011
M5x’+y+z’101
M4x’+y+z001
M3x+y’+z’110
M2x+y’+z010
M1x+y+z’100
M0x+y+z000
OznačavanjeMakstermzyx
Arhitektura mikrosistema
Kanonske forme
011117
010116
011015
100014
011103
100102
101001
100000
F1’F1zyx
Vrednosti funkcijaVrednosti promenljivihRedni broj vrste
F = m3+m5+m6+m7 = x’yz+xy’z+xyz’+xyz = ∑(3,5,6,7) - suma 1-minterma
F = M0M1M2M4 = (x+y+z)(x+y+z’)(x+y’+z)(x’+y+z) = ∏(0,1,2,4) - proizvod 0-maksterma
∑∑
F’ = m0+m1+m2+m4 = x’y’z’+x’y’z+x’yz’+xy’z’ = ∑(0,1,2,4) - suma 0-minterma
F’ = M3M5M6M7 = (x+y’+z’)(x’+y+z’)(x’+y’+z)(x’+y’+z’) = ∏(3,5,6,7) - proizvod 1-maksterma
Arhitektura mikrosistema
Transformisati izraz F=x+yz (3 literala) u oblik:
Kanonske forme- proširenje -
suma minterma
x+yz = x(y+y’)(z+z’) + (x+x’)yz
= xyz+xyz’+xy’z+xy’z’+xyz+x’yz
= xyz+xyz’+xy’z+xy’z’+x’yz
= ∑(3,4,5,6,7) – 15 literala
proizvod maksterma
x+yz = (x+y)(x+z)
= (x+y+zz’)(x+yy’+z)
= (x+y+z)(x+y+z’)(x+y+z)(x+y’+z)
= (x+y+z)(x+y+z’)(x+y’+z)
= ∏(0,1,2) - 9 literala
∑(3,4,5,6,7) = ∏(0,1,2)
• Svaki Bulov izraz se može proširiti na oblik suma minterma ili proizvod maksterma
• Kanonske forme su jedinstvene i lako se izvode, ali, obično, sadrže veći broj literala u odnosu na izraze nekog drugog oblika
Arhitektura mikrosistema
Standardne forme
Suma-proizvoda:F1=xy+x’yz+xy’z
implikant – AND član od jednog ili više literala
Proizvod-suma:F1’=(x’+y’)(x+y’+z’)(x’+y+z’)
implikat – OR član od jednog ili više literala
• Standardne forme nisu jedinstvene
• Kanonaska forma -> standardna forma:
1. xyz+xyz’ = xy(z+z’) = xy
2. xyz+xyz’+xy’z+x’yz = (xyz+xyz’)+(xyz+xy’z)+(xyz+x’yz)= xy(z+z’) + x(y+y’)z + (x+x’)yz
1-mintermi = xy+xz+yz
primarni implikanti (dalja redukcija nije moguća)
• Svaki primarni implikant obuhvata jedan ili više 1-minterma• Svaki 1-minterm je uključen u jedan ili više primarnih implikanata• Ako je 1-minterm sadržan samo u jednom primarnom implikantu, takav
implikant se zove esencijalni primarni implikant
Arhitektura mikrosistema
Nestandardne forme
• Bulovi izrazi koji sadrže zagrade• Dobijaju se faktorizacijom kanonskih i standardnih formi
xy+xy’z+xy’z = x(y+y’z+y’w)= x(y+y’(z+w)) – 5 literala
• Omogućavaju dalju redukciju broja literala• Nisu jedinstvene
F1 = xy+xz+yz= xy+(x+y)z varijanta 1= x(y+z)+yz varijanta 2= xz+y(x+y) varijanta 3
• Veće kašnjenje (duže vreme izračunavanja): prvo se izračuna izraz u zagradi, a onda...
Arhitektura mikrosistema
Logičke operacije
⊕
↓
⊗
⊂
⊃
↑
Binarna konstanta 1F15=11111One
NOT-ANDF14=(xy)’0111x yNAND
Ako x, tada yF13=x’+y1011x yImplikacija
NOT xF12=x’0011x’Komplement
Ako y, tada xF11=x+y’1101x yImplikacija
NOT yF10=y’0101y’Komplement
x jednako yF9=xy+x’y’1001x yEkvivalencija
NOT-ORF8=(x+y)’0001x yNOR
x ili yF7=x+y1110x+yOR
x ili y ali ne obaF6=xy’+x’y0110x yXOR
yF5=y1010Transfer
y, ali ne xF4=x’y0010y/xInhibicija
xF3=x1100Transfer
x, ali ne yF2=xy’0100x/yInhibicija
x i yF1=xy1000x·yAND
Binarna konstanta 0F0=00000Zero
11100100KomentarAlgebarski
izrazVrednosti funkcije za x,z=Simbol
operatoraIme operacije
Arhitektura mikrosistema
Digitalna logička kola
• Logičko kolo ili gejt - digitalno kolo koje obavlja jednu ili više standardnih Bulovih operacija.
• Biblioteka gejtova - kolekcija logičkih kola koje koristimo za konstrukciju kombinacionih mreža.
• Standardni gejtovi - gejtovi koji pripadaju biblioteci.• Bibiloteke gejtova sadrže manji broj gejtova koji se biraju u skladu sa
sledećim kriterijumima:– Frekvencija korišćenja u tipičnom dizajnu, definisana kao sposobnost gejta da u
kombinaciji sa drugim gejtovima iz biblioteke realizuje raznorodne Bulove funkcije.
– Proširljivost operatora na više od dve promenljive. Preduslov za proširljivost operatora je posedovanje osobine komutativnosti i asocijativnosti.
– Jednostavnost konstrukcije, koja se definiše brojem tranzistora potrebih za realizaciju gejta kao i vreme potrebno da se promena na ulazu gejta prenese na izlaz gejta.
Arhitektura mikrosistema
Osnovna logička biblioteka
⊗ 3.212F= x yNXOR
4.214F = x yXOR
1.44F = (x + y)'NOR
1.44F = (xy)'NAND
2.46F = x + yOR
2.46F = xyAND
24F = xDrajver
12F = x’Invertor
Kašnjenje (ns)
Cena (broj tranzistora)FunkcijaGrafički
simbolIme
⊕
Arhitektura mikrosistema
Primer:Sinteza potpunog sabirača
11111
01011
01101
10001
01110
10010
10100
00000
sici+1ciyixi
si = xi’yici+xi’yici+xiyi’ci’+xiyici= (xi’yi+xiyi’)ci’+(xiyi)ci= (xiyi)ci’+(xiyi)’ci= (xi yi)ci
Varijanta 1:
ci+1 = (xiyi)+ci(xi+yi)
Varijanta 2:ci+1 = xiyici'+xiyici+xi'yici+xiyi'ci
= xiyi(ci'+ci)+ci(xi'yi+xiyi')= xiyi+ci(xi yi)
⊕
⊕
Arhitektura mikrosistema
Primer:Sinteza potpunog sabirača
(realizacija pomoću NAND gejtova)
ci+1 = xiyi+ci(xi+yi)= ((xiyi)’(ci(xi+yi))’)’
si = (xi yi)ci’+(xi yi)ci= (xi yi)'ci'+(xi yi)ci= (xi yi) ci
gde je:
xi yi = xiyi+xi’yi’= ((xiyi)'(xi'yi')')'= ((xiyi)'(xi+yi))’
⊗⊕
⊗ ⊗
⊗ ⊗
⊗
2.4
2.4
1.4
1.4
1.4
1.41.4
1.4
xi yi
ci
ci+1
si
Putanja Kašnjenjeulaz-izlaz (ns)
ci -> ci+12.8ci -> si 3.8xi,yi -> ci+1 5.2xi,yi -> si 7.2
Cena = 36 tran.
Arhitektura mikrosistema
Gejtovi sa više ulaza
2.210F = (x+y+z+w)'4-ulazni NOR
1.88F = (x+y+z)'3-ulazni NOR
2.210F = (xyzw)'4-ulazni NAND
1.88F = (xyz)'3-ulazni NAND
3.210F = x+y+z+w4-ulazni OR
2.88F = x+ y+z3-ulazni OR
3.210F = xyzw4-ulazni AND
2.88F = xyz3-ulazni AND
Kašnjenje (ns)
Cena (broj tranzistora)FunkcijaGrafički simbolIme gejta
Arhitektura mikrosistema
Primer:Realizacija potpunog sabirača pomoću više-ulaznih gejtova
ci+1 = xiyi+cixi+ciyi
= ((xiyi)’(cixi)’(ciyi)’)’si = xi’yici+xi’yici+xiyi’ci’+xiyici
= ((xi'yi'ci)'(xi'yici')'(xiyi'ci')'(xiyici)')'
Arhitektura mikrosistema
Više-operatorski gejtovi(kompleksni gejtovi)
2.412F = ((u+v+w)(x+y+z))'
dvostruki 3-ulazni OAI
2.212F = ((u+v)(w+x)(y+z))'
trostruki 2-ulazni OAI
2.08F = ((w+x)(y+z)')'dvostruki 3-ulazni OAI
2.212F = (uvw+xyz)’dvostruki 3-ulazni AOI
2.412F = (uv+wz+yz)'trostruki 2-ulazni AOI
2.08F = (wx+yz)’dvostruki 2-ulazni AOI
Kašnjenje (ns)
Cena (broj tranzistora)FunkcijaGrafički simbolIme gejta
Arhitektura mikrosistema
Primer:Realizacija potpunog sabirača pomoću više-operatorskih gejtova
si = xi’yici+xi’yici+xiyi’ci’+xiyici
= ((xi'yi'ci+xi'yici)(xiyi'ci'+xiyici)')'
ci+1 = xiyi+cixi+ciyi= ((xiyi)’(cixi)’(ciyi)’)’= ((xi’+yi’)(ci’+xi’)(ci’+yi’))’= ((xi’yi’+ci’xi’+ci’yi’)’
xi
yi
zi
si
ci+1
Putanja Kašnjenjeulaz-izlaz (ns)
ci -> ci+13.4ci -> si 4.4xi,yi -> ci+1 3.4xi,yi -> si 4.4
(b)(a)
2.42.0 2.0
1.4
Cena = 46 tran.
Arhitektura mikrosistema
Minimizacija Bulovih funkcija
• Cilj: optimizacija cene i kašnjenja logičkih mreža.• Osobine logičke mreže direktno zavise od osobina algebarskog
izraza (broj i tipovi operatora) na osnovu koga je mreža konstruisana =>
• Neophodne su sistematske tehnike za transformaciju Bulovih izraza obilka standardne i nestandardne forme u oblik koji će garantovati optimalnu realizaciju.
• Ne postoji univerezalna metoda za minimizaciju Bulovih funkcija, jer kriterijumi optimalnosti zavise od sastava raspoložive bibiloteke gejtova i osobina implementacione tehnologije.
Arhitektura mikrosistema
Bulove kocke
mintermi
2-kub
1-podkubyizi
xizixiyi
Primarni implikant (PI) - podkub koji nije sadržan ni u jednom drugom podkubu
Esencijalni primarni implikant (EPI) je podkub koji sadrži 1-minterm koji nije sadržan ni u jednom drugom podkubu.
Arhitektura mikrosistema
Karnoove mape
• Dvodimenzionalna forma Bulove kocke (n-kuba)
• Ukazuju na susedstvo binarnih kombinacija što olakšava identifikaciju podkubova
Arhitektura mikrosistema
Minimizacija Bulovih funkcija pomoću Karnoovih mapa(procedura)
Korak Kreiranje minimalnog pokrivanja nije egzaktan.
Greedy algoritam: u listi primarnih implikanata pronalaze se implikanti koji pokrivaju najveći broj nepokrivenih 1-miterma i prebacuju u listu pokrivanja. Ako dva ili više implikanata pokrivaju isti broj nepokrivenih 1-minterma, na slučajan način, bira se jedan. Ova procedura se ponavlja sve dok svi mintermi ne postanu pokriveni.
Arhitektura mikrosistema
Minimizacija Bulovih funkcija pomoću Karnoovih mapa(primer)
• Korišćenjem Karnoove mape pojednostaviti Bulovu funkciju:F=w’y’z’+wz+xyz+w’y
Oba rešenja sadrže isti broj operatora
Arhitektura mikrosistema
Minimizacija Bulovih funkcija pomoću Karnoovih mapa(primer neoptimalnosti procedure)
Minimizovati Bulovu funkciju: F=w’x’yz’+w’xy+wxz+wx’y’+w’x’y’z’
Primarni implikanti imaju istu veličinu => sadržaj liste pokrivanja zavisi od slučajnog redosleda izbora primarnih implikanata
Arhitektura mikrosistema
Minimizacija nepotpuno definisanih funkcija(primer)
Problem: Izvesti Bulov izraz za funkciju koja određuje komplement najveće cifre BCD cifre.
0000010019
1000100018
0100211107
1100301106
0010410105
1010500104
0110611003
1110701002
0001810001
1001900000
y0y1y2y3x0x1x2x3
BCD
Decimalno
BCD
Decimalno
Komplement najveće cifreDekadne Cifre
Funkcije y3, y2, y1 i y0 nisu definisane za sve kombinacije ulaznih promenljivih x3, x2, x1 i x0 koje nisu navedene u tabeli istinitosti.
Arhitektura mikrosistema
VLSI tehnologija• Nivoi integracije:
– Nizak nivo integracije (SSI – Small Scale Integration) - do 10 nezavisnih gejtova
– Srednji nivo integracije (MSI - Medium-Scale Integration) 10 do 100 gejtova: registri, brojači i sabirači.
– Visoki nivo integracije (LSI - Large-Scale Integration) između 100 i nekoliko stotina gejtova: kontroleri, memorijski čipovi manjeg kapaciteta i programabilne logičke komponente.
– Veoma visok nivo integracije (VLSI – Very-large-scale Integration) više stotina hiljada gejtova: memorije velikog kapaciteta, mikroprocesori, mikroračunari na čipu i različiti hardverski akceleratori.
• Custom - kola potpuno po narudžbi• Semi-custom – kola po narudžbi• Programabilna kola
Arhitektura mikrosistema
Standardna digitalna integrisanakola
• IC fiksne funkcije koja se proizvode u masovnimserijama za nepoznatog kupca
• Standardizovana funkcija i pakovanje– komponente sa istom oznakom, proizvedene od
strane različitih proizvođača poseduju identično pakovanje, raspored pinova, logičku funkciju i približne električne karakteristike.
• Serije i familije:– Serija 7400. Familije: 74LS (TTL), 74HC (CMOS),
74HCT (BiCMOS), ... – Serija 4000 (CMOS)
Arhitektura mikrosistema
Standardna digitalna IC (serija7400)
7404 - Raspored pinovaDIP pakovanje
o IC niskog i srednjeg nivoa integracije (do 100 logičkih kola u jednom čipu)o Više od 100 tipova kola: osnovna logička kola, digitalna kola složenije funkcije (npr. 4-bitni brojač, dekoder 3-u-8, 4-bitni komparator, 8-bitni sabirač)
Arhitektura mikrosistema
Standardna digitalna IC (realizacija složenijih funkcija)
o f = x1x2 + x2`x3
Arhitektura mikrosistema
Klasifikacija IC prema nivou integracije
• Klasična podela– SSI (Small-Scale Integration), IC niskog nivoa
integracije. Do 10 logičkih kola.– MSI (Medium-Scale Integration), IC srednjeg nivoa
integracije. Od 10 do 100 logičkih kola.– LSI (Large-Scale Integration), IC velikog nivoa
integracije. 100 - 1000 logičkih kola.– VLSI (Very Large Scale Integration), IC veoma
velikog nivoa integracije. Više od 100.000 logičkih kola.
Arhitektura mikrosistema
Savremena digitalna IC
• Savremena IC su VLSI. Stariji tipovi čipova koriste se retko ili samo kao rezervni delovi za starije uređaje.
• Koncept ˝sistem na ploči˝ zamenjen je konceptom ˝sistem na čipu˝.
Arhitektura mikrosistema
Programabilne logičkekomponente
• PLD (Programmable Logic Device)• Digitalna IC ˝opšte namene˝.• Sadrže mnoštvo nepovezanih logičkih kola, metalnih veza i
prekidača. • Programiranjem prekidača ostvaruje se željeno povezivanje
logičkih kola i tako realizuje data funkcija.• Reprogramiranje – jednom programirano PLD kolo se može
programirati novom funkcijom.
Arhitektura mikrosistema
PLA• Bolova algebra: Svaka
logička funkcija se može predstaviti u vidu zbira logičkih proizvoda. Npr.f1 = x1’x2x3’ + x2x4’ + x1x4
• PLA: dve programabilne mreže: – AND – realizuje logičke proizvode– OR – sumira logičke proizvode
Arhitektura mikrosistema
PLA (unutrašnja struktura)
• f1= x1x2 + x1x3` + x1`x2`x3. • f2 = x1x2 + x1`x2`x3 + x1x3
Simbolički prikaz
Arhitektura mikrosistema
PAL
• AND mreža programabilna, OR mreža fiksna
f1 = x1x2x3` + x1`x2x3 f2 = x1`x2` + x1x2x3
Arhitektura mikrosistema
ROM• AND mreža fiksna, OR mreža
programabilna• AND matrica ima funkciju
binaranog dekodera n/2n
(generator minterma)• Mogućnost realizacije
proizvoljen funkcije npromenljvih
Arhitektura mikrosistema
CPLD• Sadrži više logičkih
blokova (PAL ili PLA strukture) međusobno povezanih programabilnom prekidačkom matricom.
• U/I blokovi za spregu sa pinovima kola.
U/I
blok ...
U/I
blok ...
U/I
blok...
U/I
blok...
Arhitektura mikrosistema
CPLD (strukturni detalji)
D Q
...
D Q
D Q
...
Programabilni logički blok(PLB)
PLB(detalji nisu prikazani)
Arhitektura mikrosistema
Programiranje CPLD kola
• ISP (In-System-Programming) -mogućnost programiranja čipa ˝u sistemu˝.
Arhitektura mikrosistema
Logički kapacitet• Mera složenosti (veličine) digitalnog sistema.• Izražava se brojem ekvivalentnih gejtova
– procenjeni broj jednostavnih logičkih kola (najčešće dvoulaznih NI kola) potrebnih za realizaciju funkcije sistema.
• Tipično SPLD kolo = 160 ekvivalentnih gejtova.• Veće CPLD komponete (1000 makroćelija) =
oko 20.000 ekvivalentnih gejtova.• Sistemi složenosti 20.000 gejtova smatraju se
srednje složenim sistemima.
Arhitektura mikrosistema
FPGA
• PLD kola najvećeg logičkog kapaciteta (od 10K do 1M ekvivalentnih gejtva)
• Zasnovani na logičkim blokovima (a ne na prekidačkim mrežama)
• Dodatno sadrže ugrađenu RAM memoriju i specijalizovane module, kao što su množači, komunikacioni kontroleri i sl.
• Omogućavaju realizaciju sistema na čipu (zasnovanih na mikroprocesoru)
U/I
blok
U/I
blok
Arhitektura mikrosistema
FPGA (logički blok)
• Logički blok:– LUT - univerzalni logički
blok sa malim brojem ulaza (n = 4-6) i jednim izlazom.
– Realizuje se kao RAM 2nx1. Sadržaj RAM-a definiše logičku funkciju.
0/1
0/1
0/1
0/1
x1
x2
f
Dvoulazni LUT – može da realizuje proizvoljnu
funkciju dve promenljive
Arhitektura mikrosistema
FPGA (tehnolgija programiranja)
• SRAM tehnologija:– LUT – Statički RAM
(SRAM) blok– Prekidač - kombinacija pass
tranzistora i SRAM memorijske ćelije
• Sve SRAM ćelije sadržane u FPGA su redno povezane u pomerački registar.
• Programiranje - serijski upis (bit-po-bit) niza konfiguracionih bita u niz SRAM ćelija
• Isključenje napajanja => gubitak konfiguracije. – Neophodnost konfigurisanja nakon uključenja napajanja– Mogućnost dinamičke rekonfiguracije.
Arhitektura mikrosistema
IC “po narudžbi” (klasifikacija)
• Metodologije projektovanja IC ˝po narudžbi˝:– IC ˝potpuno po narudžbi˝– Standardne ćelije– Gejtovska polja
Arhitektura mikrosistema
IC ˝potpuno po narudžbi˝• Eng. full-custom• IC se projektuje ˝iz početka˝ za konkretnu promenu• Projektant bira veličinu čipa, broj i raspored tranzistora i metalnih veza• Rezultat projektovanja: layout – definiše tačne pozicije tranzistora i metalnih
veza na čipu• Prednosti:
– Mogućnost optimizacije površine i performansi– Niska cena po komadu fabrikovanih IC
• Nedostaci:– Veliki utrošak projektantskog vremena– Visoki jednokratni troškovi pripreme proizvodnje
• Primena:– IC visokih performansi– IC za masovnu proizvodnju (amortizacija troškova pripreme proizvodnje)– Mikroprocesori i memorijska IC
Arhitektura mikrosistema
Standardne ćelije (1/5)• Unapred projektovani (full-
custom) moduli, jednostavne fukcije (AND, OR, flip-flop, ...), koji se koriste za konstrukciju složenijih struktura na čipu.
• Dostupne projektantu u vidu biblioteke standardnih ćelija
• Sve standardne ćelije iz iste biblioteke imaju istu visinu, a razlikuju se po širini.
Arhitektura mikrosistema
Standardne ćelije (2/5)
• Standardne ćelije se pakuju u horizontalne redove, a povezuju vezama koje se smeštaju u kanale između redova.
• Horizontalne i vertikalne metalne veze se izvode na dva ili više nivoa koji su postavljeni iznad standardnih ćelija.
Arhitektura mikrosistema
Standardne ćelije (3/5)
• Realizacija potputnog sabirača (tri reda sa po četiri standardne ćelije)
Arhitektura mikrosistema
Standardne ćelije (4/5)• Osim biblioteke bazičnih
standardnih ćelija na raspolaganju su i ćelije složenije funkcije (sabirači, komparatori, registari, ...) realizovane pomoću bazičnih ćelija:– Makro-ćelije (hard-makroi).
Layout ćelije je fiksiran.– Makro-funkcije. Layout nije
fiksiran.
Standardne celije
Makro-celije
.
.
Arhitektura mikrosistema
Standardne ćelije (5/5)
• Prednosti:– Skraćeno vreme projektovanja (projektovanje na
nivou logičkih kola, a ne na nivou tranzistora)– Projektant ne projektuje layout ćelija, već definiše
raspored ćelija i metalnih veza. (automatizovana procedura)
• Nedostaci:– Niži nivo korisnog iskorišćenja površine čipa u odnosu
na full-custom.– Neophodno kreiranje svih maski kao i kod full-custom
Arhitektura mikrosistema
Gejtovska polja (1/3)• Polu-fabrikovana IC:
– Veliki broj identičnih, nepovezanih gejtova (tipično NI ili NILI kola) raspoređenih na silicijumskoj pločici u vidu regularne dvodimenzione matrice
• Naknadnom doradom, kreiranje metalnih veza, gejtovi se povezuju na način koji diktira konkretna primena
Arhitektura mikrosistema
Gejtovska polja (2/3)• Logičke funkcije se moraju
transformisati oblik prilagođen realizaciji pomoću raspoloživog tipa logičkog kola. Npr.
ci+1 = xiyi+yici+xici= ((xiyi)’(yici)’(xici)’)’
Realizacija potpunog sabriača u gejtovskom polju
Arhitektura mikrosistema
Gejtovska polja (3/3)• Prednosti:
– Niži troškovi pripreme proizvodnje. Kreiraju se samo maske za povezivanje.
– Niža cena gotovih IC. (amortizovana masovnom proizvodnjom polufabrikovanih, identičnih pločica gejtovskih polja).
• Nedostaci:– Nizak nivo iskorišćenja površine silicijuma (broj
korisnih gejtova 4-10 puta manji u odnosu na full-custom).
– Zbog ograničenja u povezivanju nije uvek moguće iskoristiti sve raspoložive gejtove iz polja (iskorišćenje 70-90%).
Arhitektura mikrosistema
Realizacija potpunog sabirača u tehnologiji gejtovskih polja
Tehnološko mapiranje:
ci+1 = xiyi+yici+xici= ((xiyi)’(yici)’(xici)’)’
si = xi’yici+xi’yici+xiyi’ci’+xiyici=(xi’yici+xi’yici+xiyi’ci’)+xiyici=((xi’yici+xi’yici+xiyi’ci’)’(xiyici)’)’=((((xi’yici)’(xi’yici)’(xiyi’ci’)’)’)’(xiyici)’)’
Arhitektura mikrosistema
Tehnološko mapiranje za gejtovska polja
• Projektovanje na bazi gejtovskih polja zahteva transformaciju izraza ili logičkih šema koje sadrže AND, OR i NOT gejtove u oblik koji sadrži isključivo m-ulazne (najčešće 3-ulazne) NAND (NOR) gejtove.
• Pravila za konverziju:– Pravilo 1: xy = ((xy)’)’– Pravilo 2: x+y = ((x+y)’)’ = (x’y’)’– Pravilo 3: xy = ((xy)’)’ = (x’+y’)’– Pravilo 4: x+y = ((x+y)’)’
pravilo za optimizaciju
Primenom pravila 1 i 2 (3 i 4) svako AND i OR kolo zameniti NAND (NOR) kolom, a zatim, svuda gde je to moguće, eliminisati duple invertore.
Arhitektura mikrosistema
Konverzija formi tipa "suma proizvoda" i "proizvod suma" u NAND i NOR mreže
proizvod suma
suma proizvoda
NOR realizacijaNAND realizacijaStandardne realizacija formeTip forme
Arhitektura mikrosistema
Primer konverzije u NAND (NOR) mrežu
• Projektovati NAND i NOR logičke mreže za funkciju carry (ci+1) potpunog sabirača.
1. Karnoova mapa:
2. Analitički izrazi u obliku sume proizvoda (proizvod suma):
3(a). AND-OR mreža: 3(b). OR-AND mreža:
4(a). Konverzija u NAND mrežu (pravila 1 i 2):
4(a). Konverzija u NOR mrežu (pravila 3 i 4):
Arhitektura mikrosistema
Dekompozicija AND (OR) članova
• Transformacija n-ulaznog AND (OR) kola u stablo m-ulaznih AND (OR) gejtova, gde je m<n:– Stablo ima nivoa sa ukupno m-ulaznih gejtova.– Prvi nivo sadrži gejta– Izlazi gejtova sa prvog nivoa zajedno sa preostalih
ulaza čine ulaze u drugi nivo.– Prethodna procedura se ponavlja za svaki nivo.
nmlog )1/()1( −− mn
mn / mn / )/( mnn −
Arhitektura mikrosistema
Dekompozicija AND člana(primer)
• Razložiti AND član od 10 promenljivih na stablo tro-ulaznih AND gejtova
3
2
101
Broj gejtovaBroj ulazaNivo
33/10 =
4))3/10(310(3 =−+ 13/4 =
2))3/4(34(1 =−+ 13/2 =
Rešenje 1: Rešenje 2:Rešenja 1 i 2 imaju istu cenu, ali se razlikuju po progacionom kašnjenju od nekih ulaza do izlaza.
Arhitektura mikrosistema
Tehnološko mapiranje za gejtovska polja(primer)
• Realizovati funkciju sum (si) potpunog sabirača pomoću tro-ulaznih NAND gejtova.
1. Karnoova mapa: 2. Izraz suma proizvoda:
si = xi’yici+xi’yici+xiyi’ci’+xiyici
3. AND-OR mreža:4. Dekompozicija OR gejta:
Problem!
Arhitektura mikrosistema
Tehnološko mapiranje za gejtovska polja(primer - nastavak)
5. Konverzija: 6. Optimizacija:
Kao posledica dekompozicije većih AND i OR gejtova, u NAND (NOR) mreži se javljaju stabla gejtova, zbog čega različite putanje kroz mrežu mogu imati različita kašnjenja.
Arhitektura mikrosistema
Retiming
• Retiming - optimizacija performansi (kašnjenja) logičke mreže.• Obavlja se nakon dekompozicije, konverzije i eliminacije invertora, onda
kada se precizno mogu izračunati različita kašnjenja kroz logičku mrežu.• Koristi osobinu stabla gejtova da različite putanje kroz stablo imaju različita
kašnjenja:– Putanjama kroz stablo koje imaju najkraće kašnjenje dodeljuju se signali
koji imaju najveće kašenjenje kroz celokupnu logičku mrežu• Nakon retiming-a, često je potrebno jednom ili više puta, ponoviti konverziju
i eliminaciju duplih gejtova.
Arhitektura mikrosistema
Retiming(primer)
Polazna AND-OR mreža:
Dekompozicija: Konverzija:
Kritična putanja – 8.2ns
Arhitektura mikrosistema
Retiming(primer - nastavak)
Retiming:Konverzija:
Polazna dekompozicija:
OR stablo
2 D
1 D0 D
1 D
2 D
OR stablo
4 D
1 D
2 D
0 D
1 D
2 D
3 D
Kritična putanja – 6.4ns
Arhitektura mikrosistema
Tehnološko mapiranje za custom biblioteke(primer)
• Problem: Transformisati izraz w’z’+z(w+y) u logičku mrežu, korišćenjem gejtova iz biblioteke definisane tabelama 2.10 i 2.11 (slajdovi 18 i 20).
Arhitektura mikrosistema
Tehnološko mapiranje za custom biblioteke(opšta procedura)
Na raspolaganju je veći broj različitih gejtova, kako osnovnih tako i kompleksnih => Složen kombinatorni problem
Kompromis cena-performanse: najpre se minimizuje cena (konverzija u NAND mrežu), a zatim se minimizuje kašnjenje, pokrivanjem gejtova sa kritične putanje preostalim standardnim i kompleksnim gejtovima.
Arhitektura mikrosistema
Zadatak
2. Za logičku funkciju:
f = wx’y’ + y(w’z’ + x(z + w)) a. nacrtati AND-OR mrežu
b. konvertovati AND-OR mrežu u homogenu mrežu 2-ulaznih NAND kola
c. ispitati mogućnost smanjenja kašenjena kroz NAND mrežu zamenom pojedinih delova mreže odgovarajućim kompleksnim gejtovima.