99
Logi Logi čko projektovanje čko projektovanje Bulova algebra Digitalna logička kola Minimizacija Bulovih funkcija Tehnološko mapiranje

Logicko Projektovanje

  • Upload
    i

  • View
    64

  • Download
    5

Embed Size (px)

DESCRIPTION

Logicko Projektovanje

Citation preview

  • Logiko projektovanjeBulova algebraDigitalna logika kolaMinimizacija Bulovih funkcijaTehnoloko mapiranje

    Arhitektura mikrosistema

  • Bulova algebraAlgebarska struktura: (B={0,1}, +, ), + - logiko ILI (OR), - logiko I (AND)Aksioma 1 (Zatvorenosti) Aksioma 2 (Jedinini element) x+0=0+x=xx1=1x=xAksioma 3 (Komutativnost)x+y=y+xxy=yxAksioma 4 (Distributivnosti)x(y+z)=xy+xzx+yz=(x+y) (x+z)Aksioma 5 (Komplementarni element) x+x=1xx'=0Aksioma 6 (Kardinalnost)

    Arhitektura mikrosistema

  • Operatori Bulove algebreBulova algebra: (B={0,1}, AND, OR, NOT) praktina definicija

    Arhitektura mikrosistema

  • Teoreme Bulove algebre

    Arhitektura mikrosistema

  • Asocijativnost + komutativnostU logikoj sumi ili proizvodu proizvoljnog broja promenljivih redosled promenljivih i raspored zagrada nije od znaaja

    Arhitektura mikrosistema

  • Apsorpcija + saimanjeOsnova za pojednostavljenje (minimizaciju) prekidaih funkcijaApsorpcija smanjuje broj literala za 2yx + x =x(y+x)x =xSaimanje smanjuje broj literala za 3x y + x y = x(x + y) (x + y) = x

    Arhitektura mikrosistema

  • DeMorganova teorema(x + y) = x y(x y) = x + y

    Arhitektura mikrosistema

  • Pozitivna i negativna logikaPozitivna logika:LOW 0HIGH 1Negativna logika:LOW 1HIGH 0

    Arhitektura mikrosistema

  • Princip dualnosti(x y) + x = x

    (y + x) x = x

    x 1 = x

    x + 0 = x

    Neka je E(x1,x2xn) Bulov izraz, a Ed(x1,x2xn)njegov dualni izraz. Tada vai:E(x1,x2xn) = Ed(x1,x2xn)

    Generalizovana De Morganova pravila:(x1+x2++xn)=x1x2xn(x1x2xn)= x1+x2++xn

    Arhitektura mikrosistema

  • Bulove funkcijeBulova funkcija: algebarski izraz sainen od binarnih promenljivih, Bulovih operatora AND, OR i NOT, zagrada i znaka jednakostiTabela istinitosti:

    AND lanoviF1 = xy+xyz+xyz OR lan literaliKomplement funkcije: - Primenom De Morganovih pravila: F1 = (xy+xyz+xyz) = (xy)(xyz)(xyz) = (x+y)(x+y+z)(x+y+z) - Primenom principa dualnosti: F1 = (xy+xyz+xyz) = (x+y)(x+y+z)(x+y+z)

    Redni broj vrsteVrednosti promenljivihVrednosti funkcijaxyzF1F1000001100101201001301110410001510110611010711110

    Arhitektura mikrosistema

  • Algebarske manipulacijeReenje:xy+xyz+xyz = xy+xyz+xyz+xyzapsorbcija = xy+x(y+y)z+xyzdistributivnost = xy+x1z+xyzkomplement = xy+xz+xyzidentitet = xy+xyz+xz+xyzapsorpcija = xy+xz+(x+x)yzdistributivnost = xy+xz+1yzkomplement = xy+xz+yzidentitetProblem: Pokazati da su sledea dva izraza ekvivalentna:F1 = xy+xyz+xyz (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 sloenost (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 kombinacijeZa funkciju od n promenljivih postoji 2n minterma, mi, i =0,...,2n-1.Svaki minterm se moe predstaviti u obliku AND lana od n literalaMintermi od tri promenljive:maksterm Bulova funkcija koja ima vrednost 0 samo za jednu kombinaciju vrednosti promenljivih, a vrednost 0 za sve ostale kombinacijeZa funkciju od n promenljivih postoji 2n maksterma, Mi, i =0,...,2n-1.Svaki maksterm se moe predstaviti u obliku OR lana od n literalaMakstermi od tri promenljive:

    Arhitektura mikrosistema

  • Kanonske formeF = m3+m5+m6+m7 = xyz+xyz+xyz+xyz = (3,5,6,7) - suma 1-mintermaF = M0M1M2M4 = (x+y+z)(x+y+z)(x+y+z)(x+y+z) = (0,1,2,4) - proizvod 0-makstermaF = m0+m1+m2+m4 = xyz+xyz+xyz+xyz = (0,1,2,4) - suma 0-mintermaF = 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- proirenje -suma mintermax+yz = x(y+y)(z+z) + (x+x)yz = xyz+xyz+xyz+xyz+xyz+xyz = xyz+xyz+xyz+xyz+xyz = (3,4,5,6,7) 15 literalaproizvod makstermax+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 moe proiriti na oblik suma minterma ili proizvod makstermaKanonske forme su jedinstvene i lako se izvode, ali, obino, sadre vei broj literala u odnosu na izraze nekog drugog oblika

    Arhitektura mikrosistema

  • Standardne formeSuma-proizvoda:F1=xy+xyz+xyzimplikant AND lan od jednog ili vie literalaProizvod-suma:F1=(x+y)(x+y+z)(x+y+z)implikat OR lan od jednog ili vie literalaStandardne forme nisu jedinstveneKanonaska forma -> standardna forma:xyz+xyz = xy(z+z) = xy xyz+xyz+xyz+xyz = (xyz+xyz)+(xyz+xyz)+(xyz+xyz) = xy(z+z) + x(y+y)z + (x+x)yz 1-mintermi = xy+xz+yz

    primarni implikanti (dalja redukcija nije mogua)Svaki primarni implikant obuhvata jedan ili vie 1-mintermaSvaki 1-minterm je ukljuen u jedan ili vie primarnih implikanataAko je 1-minterm sadran samo u jednom primarnom implikantu, takav implikant se zove esencijalni primarni implikant

    Arhitektura mikrosistema

  • Nestandardne formeBulovi izrazi koji sadre zagradeDobijaju se faktorizacijom kanonskih i standardnih formi xy+xyz+xyz = x(y+yz+yw) = x(y+y(z+w)) 5 literala Omoguavaju dalju redukciju broja literalaNisu jedinstvene F1 = xy+xz+yz = xy+(x+y)zvarijanta 1 = x(y+z)+yzvarijanta 2 = xz+y(x+y) varijanta 3Vee kanjenje (due vreme izraunavanja): prvo se izrauna izraz u zagradi, a onda...

    Arhitektura mikrosistema

  • Logike operacije

    Ime operacijeSimbol operatoraVrednosti funkcije za x,z=Algebarski izrazKomentar00011011Zero0000F0=0Binarna konstanta 0ANDxy0001F1=xyx i yInhibicijax/y0010F2=xyx, ali ne yTransfer0011F3=xxInhibicijay/x0100F4=xyy, ali ne xTransfer0101F5=yyXORx y0110F6=xy+xyx ili y ali ne obaORx+y0111F7=x+yx ili yNORx y1000F8=(x+y)NOT-OREkvivalencijax y1001F9=xy+xyx jednako yKomplementy1010F10=yNOT yImplikacijax y1011F11=x+yAko y, tada xKomplementx1100F12=xNOT xImplikacijax y1101F13=x+yAko x, tada yNANDx y1110F14=(xy)NOT-ANDOne1111F15=1Binarna konstanta 1

    Arhitektura mikrosistema

  • Digitalna logika kolaLogiko kolo ili gejt - digitalno kolo koje obavlja jednu ili vie standardnih Bulovih operacija.Biblioteka gejtova - kolekcija logikih kola koje koristimo za konstrukciju kombinacionih mrea.Standardni gejtovi - gejtovi koji pripadaju biblioteci.Bibiloteke gejtova sadre manji broj gejtova koji se biraju u skladu sa sledeim kriterijumima:Frekvencija korienja u tipinom dizajnu, definisana kao sposobnost gejta da u kombinaciji sa drugim gejtovima iz biblioteke realizuje raznorodne Bulove funkcije.Proirljivost operatora na vie od dve promenljive. Preduslov za proirljivost operatora je posedovanje osobine komutativnosti i asocijativnosti.Jednostavnost konstrukcije, koja se definie brojem tranzistora potrebih za realizaciju gejta kao i vreme potrebno da se promena na ulazu gejta prenese na izlaz gejta.

    Arhitektura mikrosistema

  • Osnovna logika biblioteka

    ImeGrafiki simbolFunkcijaCena (broj tranzistora)Kanjenje (ns)InvertorF = x21DrajverF = x42ANDF = xy62.4ORF = x + y62.4NANDF = (xy)'41.4NORF = (x + y)'41.4XORF = x y144.2NXORF= x y123.2

    Arhitektura mikrosistema

    1

    x

    F

    1

    x

    F

    x

    y

    F

    x

    y

    F

    x

    y

    F

    x

    y

    F

    x

    y

    F

    x

    y

    F

  • Primer:Sinteza potpunog sabiraa si = xiyici+xiyici+xiyici+xiyici = (xiyi+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

    xi

    yi

    ci+1

    ci

    si

    Putanja Kanjenjeulaz-izlaz (ns)

    ci -> ci+1 4.8ci -> si 4.2xi,yi -> ci+1 9.0xi,yi -> si 8.4

    4.2

    4.2

    2.4

    2.4

    2.4

    Cena = 46 tran.

  • Primer:Sinteza potpunog sabiraa(realizacija pomou 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+xiyi = ((xiyi)'(xi'yi')')' = ((xiyi)'(xi+yi))

    Arhitektura mikrosistema

    2.4

    2.4

    1.4

    1.4

    1.4

    1.4

    1.4

    1.4

    xi

    yi

    ci

    ci+1

    si

    Putanja Kanjenjeulaz-izlaz (ns)

    ci -> ci+1 2.8ci -> si 3.8xi,yi -> ci+1 5.2xi,yi -> si 7.2

    Cena = 36 tran.

  • Gejtovi sa vie ulaza

    Ime gejtaGrafiki simbolFunkcijaCena (broj tranzistora)Kanjenje (ns)3-ulazni ANDF = xyz82.84-ulazni ANDF = xyzw103.23-ulazni ORF = x+ y+z82.84-ulazni ORF = x+y+z+w103.23-ulazni NANDF = (xyz)'81.84-ulazni NANDF = (xyzw)'102.23-ulazni NORF = (x+y+z)'81.84-ulazni NORF = (x+y+z+w)'102.2

    Arhitektura mikrosistema

    x

    y

    z

    F

    x

    y

    z

    F

    w

    x

    y

    z

    F

    w

    x

    y

    z

    F

    x

    y

    z

    F

    w

    x

    y

    z

    F

    x

    y

    z

    F

    w

    x

    y

    z

    F

  • Primer:Realizacija potpunog sabiraa pomou vie-ulaznih gejtova ci+1 = xiyi+cixi+ciyi = ((xiyi)(cixi)(ciyi))si = xiyici+xiyici+xiyici+xiyici = ((xi'yi'ci)'(xi'yici')'(xiyi'ci')'(xiyici)')'

    Arhitektura mikrosistema

    1

    xi

    yi

    zi

    ci+1

    si

    1.4

    1.4

    1.4

    1.8

    1.8

    1.8

    1.8

    1.8

    2.2

    Putanja Kanjenjeulaz-izlaz (ns)

    ci -> ci+1 3.2ci -> si 5.0xi,yi -> ci+1 4.2xi,yi -> si 5.0

    Cena = 56 tran.

  • Vie-operatorski gejtovi(kompleksni gejtovi)

    Ime gejtaGrafiki simbolFunkcijaCena (broj tranzistora)Kanjenje (ns)dvostruki 2-ulazni AOIF = (wx+yz)82.0trostruki 2-ulazni AOIF = (uv+wz+yz)'122.4dvostruki 3-ulazni AOIF = (uvw+xyz)122.2dvostruki 3-ulazni OAIF = ((w+x)(y+z)')'82.0trostruki 2-ulazni OAIF = ((u+v)(w+x)(y+z))'122.2dvostruki 3-ulazni OAIF = ((u+v+w)(x+y+z))'122.4

    Arhitektura mikrosistema

    F

    x

    w

    z

    y

    F

    u

    v

    w

    x

    y

    z

    u

    v

    w

    x

    y

    z

    F

    F

    x

    w

    z

    y

    F

    w

    x

    z

    y

    u

    v

    u

    v

    F

    x

    w

    z

    y

  • Primer:Realizacija potpunog sabiraa pomou vie-operatorskih gejtovasi = xiyici+xiyici+xiyici+xiyici = ((xi'yi'ci+xi'yici)(xiyi'ci'+xiyici)')'ci+1 = xiyi+cixi+ciyi = ((xiyi)(cixi)(ciyi)) = ((xi+yi)(ci+xi)(ci+yi)) = ((xiyi+cixi+ciyi)

    Arhitektura mikrosistema

    1

    xi

    yi

    zi

    si

    ci+1

    Putanja Kanjenjeulaz-izlaz (ns)

    ci -> ci+1 3.4ci -> si 4.4xi,yi -> ci+1 3.4xi,yi -> si 4.4

    (b)

    (a)

    2.4

    2.0

    2.0

    1.4

    Cena = 46 tran.

  • Minimizacija Bulovih funkcijaCilj: optimizacija cene i kanjenja logikih mrea.Osobine logike mree direktno zavise od osobina algebarskog izraza (broj i tipovi operatora) na osnovu koga je mrea 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 raspoloive bibiloteke gejtova i osobina implementacione tehnologije.

    Arhitektura mikrosistema

  • Bulove kockemintermi2-kub1-podkubyizixizixiyiPrimarni implikant (PI) - podkub koji nije sadran ni u jednom drugom podkubuEsencijalni primarni implikant (EPI) je podkub koji sadri 1-minterm koji nije sadran ni u jednom drugom podkubu.

    Arhitektura mikrosistema

    ci xi yi ci+1 si

    0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1

    (a)

    0

    1

    (a)

    00

    01

    11

    10

    (b)

    000

    001

    101

    100

    010

    011

    111

    110

    (c)

    0000

    0001

    0101

    0100

    0010

    0011

    0111

    0110

    1100

    1101

    1001

    1000

    1110

    1111

    1011

    1110

    (d)

    000

    001

    101

    100

    010

    011

    111

    110

  • Karnoove mapeDvodimenzionalna forma Bulove kocke (n-kuba)Ukazuju na susedstvo binarnih kombinacija to olakava identifikaciju podkubova

    Arhitektura mikrosistema

    x

    0

    1

    x

    y

    0

    1

    1

    0

    m0

    m2

    m3

    m1

    1

    0

    m0

    m4

    m5

    m1

    m3

    m7

    m6

    m2

    x

    yz

    00

    01

    11

    10

    m0

    m4

    m5

    m1

    m3

    m7

    m6

    m2

    m12

    m8

    m9

    m13

    m15

    m11

    m10

    m14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

  • Karnoova mapa za dve promenljive

    Arhitektura mikrosistema

    x y AND OR XOR0 0 0 0 00 1 0 1 11 0 0 1 11 1 1 1 0

    1

    x

    y

    0

    1

    1

    0

    AND: xy

    1

    1

    1

    x

    y

    0

    1

    1

    0

    OR: x+y

    1

    1

    x

    y

    0

    1

    1

    0

    XOR: xy+xy

  • Karnoova mapa za tri promenljive

    Arhitektura mikrosistema

    x'yz

    x'yz

    xy'z

    xy'z

    x

    yz

    1

    0

    x'yz

    x'yz

    xyz

    xyz'

    00

    01

    11

    10

    x

    yz

    1

    0

    00

    01

    11

    10

    z

    z'

    x

    x

    yz

    1

    0

    00

    01

    11

    10

    x'y

    yz

    xz'

    ci xi yi ci+1 si0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1

    1

    x

    yz

    1

    0

    1

    1

    1

    00

    01

    11

    10

    ci+1=xiyi+cixi+ciyi

    1

    1

    x

    yz

    1

    0

    1

    1

    00

    01

    11

    10

    si=xiyici+xiyici+xiyici+xiyici

  • Karnoova mapa za etiri promenljive

    Arhitektura mikrosistema

    x'yzw

    x'yzw

    x'yzw

    x'yzw

    0

    4

    5

    1

    x'yzw

    x'yzw

    x'yzw

    x'yzw

    3

    7

    6

    2

    xyz'w

    xyz'w

    xy'zw

    xy'zw

    12

    8

    9

    13

    xyzw

    xyzw'

    xy'zw

    xy'zw

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    0

    4

    5

    1

    3

    7

    6

    2

    12

    8

    9

    13

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    y'w

    x'y

    xz

    0

    4

    5

    1

    3

    7

    6

    2

    12

    8

    9

    13

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    x'

    w`

    x1 x0 y1 y0 G E L0 0 0 0 0 1 00 0 0 1 0 0 10 0 1 0 0 0 10 0 1 1 0 0 10 1 0 0 1 0 00 1 0 1 0 1 00 1 1 0 0 0 10 1 1 1 0 0 11 0 0 0 1 0 01 0 0 1 1 0 01 0 1 0 0 1 01 0 1 1 0 0 11 1 0 0 1 0 01 1 0 1 1 0 01 1 1 0 1 0 01 1 1 1 0 1 0

    1

    0

    4

    5

    1

    3

    7

    6

    2

    1

    1

    1

    1

    12

    8

    9

    13

    1

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    1

    0

    4

    5

    1

    1

    1

    1

    1

    3

    7

    6

    2

    12

    8

    9

    13

    1

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    G=x1y1'+x0y1'y0'+x1x0'y0

    L=x1'y1+x1'x0'y0+x0'y1y0

    X vee od Y

    X manje od Y

  • Karnoova mapa za pet promenljivih

    Arhitektura mikrosistema

    Text

    m0

    m4

    m5

    m1

    m3

    m7

    m6

    m2

    m12

    m8

    m9

    m13

    m15

    m11

    m10

    m14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    m16

    m20

    m21

    m17

    m19

    m23

    m22

    m18

    m28

    m24

    m25

    m29

    m31

    m27

    m26

    m30

    00

    01

    11

    10

    v=0

    v=1

    Text

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    00

    01

    11

    10

    v=0

    v=1

    zw'

    xz'

    x'

    vw

  • Minimizacija Bulovih funkcija pomou Karnoovih mapa(procedura)Korak Kreiranje minimalnog pokrivanja nije egzaktan. Greedy algoritam: u listi primarnih implikanata pronalaze se implikanti koji pokrivaju najvei broj nepokrivenih 1-miterma i prebacuju u listu pokrivanja. Ako dva ili vie implikanata pokrivaju isti broj nepokrivenih 1-minterma, na sluajan nain, bira se jedan. Ova procedura se ponavlja sve dok svi mintermi ne postanu pokriveni.

    Arhitektura mikrosistema

    Formiranje Karnoove mape

    Odreivanje primarnih implikanata

    Izbor esencijalnih primarnih implikanata

    Kreiranje minimalnog pokrivanja

    Tabela istinitosti, kanonska forma, standardna forma

    Standardna forma

  • Minimizacija Bulovih funkcija pomou Karnoovih mapa(primer)Korienjem Karnoove mape pojednostaviti Bulovu funkciju:F=wyz+wz+xyz+wy Oba reenja sadre isti broj operatora

    Arhitektura mikrosistema

    1

    1

    0

    4

    5

    1

    1

    1

    1

    1

    3

    7

    6

    2

    1

    1

    12

    8

    9

    13

    1

    1

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    (a)

    1

    w'yz

    1

    wz

    xyz

    w'y

    0

    4

    5

    1

    1

    1

    1

    1

    3

    7

    6

    2

    1

    1

    12

    8

    9

    13

    1

    1

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    (b)

    w'z

    wz

    yz

    w'y

    PI lista: wz, wz, yz, wyEPI lista: wz, wzListe pokrivanja: (1) wz, wz, yz(2) wz, wz, wy

    (c)

    (1) F = wz+ wz+yz(2) F = wz+ wz+wy

    (d)

  • Minimizacija Bulovih funkcija pomou Karnoovih mapa(primer neoptimalnosti procedure)Minimizovati Bulovu funkciju: F=wxyz+wxy+wxz+wxy+wxyz Primarni implikanti imaju istu veliinu => sadraj liste pokrivanja zavisi od sluajnog redosleda izbora primarnih implikanata

    Arhitektura mikrosistema

    1

    0

    4

    5

    1

    1

    1

    1

    3

    7

    6

    2

    1

    1

    1

    12

    8

    9

    13

    1

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    (a)

    PI lista: wxz, wxy, wxz, wxy, xyz, wyz, xyz, wyzEPI lista: {}Liste pokrivanja: (1) wxz, wxy, wxz, wxy(2) xyz, wyz, xyz, wyz

    (b)

  • Minimizacija nepotpuno definisanih funkcija(primer) Problem: Izvesti Bulov izraz za funkciju koja odreuje komplement najvee cifre BCD 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

  • Minimizacija nepotpuno definisanih funkcija(reenje)

    Arhitektura mikrosistema

    1

    1

    0

    4

    5

    1

    3

    7

    6

    2

    X

    X

    12

    8

    9

    13

    X

    X

    X

    X

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    y3=x3'x2'x1'

    1

    1

    0

    4

    5

    1

    1

    1

    3

    7

    6

    2

    X

    X

    12

    8

    9

    13

    X

    X

    X

    X

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    y2=x2

    +

    x1

    0

    4

    5

    1

    1

    1

    1

    1

    3

    7

    6

    2

    X

    X

    12

    8

    9

    13

    X

    X

    X

    X

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    y1=x1

    1

    1

    0

    4

    5

    1

    1

    1

    3

    7

    6

    2

    X

    X

    1

    12

    8

    9

    13

    X

    X

    X

    X

    15

    11

    10

    14

    00

    01

    11

    10

    00

    01

    11

    10

    xy

    zw

    y0=x0'

  • VLSI tehnologijaNivoi integracije:Nizak nivo integracije (SSI Small Scale Integration) - do 10 nezavisnih gejtovaSrednji nivo integracije (MSI - Medium-Scale Integration) 10 do 100 gejtova: registri, brojai i sabirai.Visoki nivo integracije (LSI - Large-Scale Integration) izmeu 100 i nekoliko stotina gejtova: kontroleri, memorijski ipovi manjeg kapaciteta i programabilne logike komponente. Veoma visok nivo integracije (VLSI Very-large-scale Integration) vie stotina hiljada gejtova: memorije velikog kapaciteta, mikroprocesori, mikroraunari na ipu i razliiti hardverski akceleratori.Custom - kola potpuno po narudbiSemi-custom kola po narudbiProgramabilna kola

    Arhitektura mikrosistema

  • Standardna digitalna integrisana kola IC fiksne funkcije koja se proizvode u masovnim serijama za nepoznatog kupcaStandardizovana funkcija i pakovanje komponente sa istom oznakom, proizvedene od strane razliitih proizvoaa poseduju identino pakovanje, raspored pinova, logiku funkciju i pribline elektrine karakteristike.Serije i familije:Serija 7400. Familije: 74LS (TTL), 74HC (CMOS), 74HCT (BiCMOS), ... Serija 4000 (CMOS)

    Arhitektura mikrosistema

  • Standardna digitalna IC (serija 7400) IC niskog i srednjeg nivoa integracije (do 100 logikih kola u jednom ipu) Vie od 100 tipova kola: osnovna logika kola, digitalna kola sloenije funkcije (npr. 4-bitni broja, dekoder 3-u-8, 4-bitni komparator, 8-bitni sabira)

    Arhitektura mikrosistema

  • Standardna digitalna IC (realizacija sloenijih funkcija) f = x1x2 + x2`x3

    Arhitektura mikrosistema

  • Klasifikacija IC prema nivou integracijeKlasina podelaSSI (Small-Scale Integration), IC niskog nivoa integracije. Do 10 logikih kola.MSI (Medium-Scale Integration), IC srednjeg nivoa integracije. Od 10 do 100 logikih kola.LSI (Large-Scale Integration), IC velikog nivoa integracije. 100 - 1000 logikih kola.VLSI (Very Large Scale Integration), IC veoma velikog nivoa integracije. Vie od 100.000 logikih kola.

    Arhitektura mikrosistema

  • Savremena digitalna ICSavremena IC su VLSI. Stariji tipovi ipova koriste se retko ili samo kao rezervni delovi za starije ureaje.Koncept sistem na ploi zamenjen je konceptom sistem na ipu.

    Arhitektura mikrosistema

  • Programabilne logike komponente PLD (Programmable Logic Device)Digitalna IC opte namene.Sadre mnotvo nepovezanih logikih kola, metalnih veza i prekidaa. Programiranjem prekidaa ostvaruje se eljeno povezivanje logikih kola i tako realizuje data funkcija.Reprogramiranje jednom programirano PLD kolo se moe programirati novom funkcijom.

    Arhitektura mikrosistema

  • PLABolova algebra: Svaka logika funkcija se moe predstaviti u vidu zbira logikih proizvoda. Npr.f1 = x1x2x3 + x2x4 + x1x4PLA: dve programabilne mree: AND realizuje logike proizvodeOR sumira logike proizvode

    Arhitektura mikrosistema

  • PLA (unutranja struktura)f1= x1x2 + x1x3` + x1`x2`x3. f2 = x1x2 + x1`x2`x3 + x1x3Simboliki prikaz

    Arhitektura mikrosistema

  • PALAND mrea programabilna, OR mrea fiksna

    f1 = x1x2x3` + x1`x2x3 f2 = x1`x2` + x1x2x3

    Arhitektura mikrosistema

  • PAL 16L8 (kombinacioni izlazi)

    Arhitektura mikrosistema

  • PAL 16R8 (registarski izlazi)

    Arhitektura mikrosistema

  • ROMAND mrea fiksna, OR mrea programabilnaAND matrica ima funkciju binaranog dekodera n/2n (generator minterma)Mogunost realizacije proizvoljen funkcije n promenljvih

    Arhitektura mikrosistema

  • Programiranje SPLD kola

    Arhitektura mikrosistema

  • CPLDSadri vie logikih blokova (PAL ili PLA strukture) meusobno povezanih programabilnom prekidakom matricom.U/I blokovi za spregu sa pinovima kola.

    Arhitektura mikrosistema

  • CPLD (strukturni detalji)

    Arhitektura mikrosistema

  • Programiranje CPLD kolaISP (In-System-Programming) - mogunost programiranja ipa u sistemu.

    Arhitektura mikrosistema

  • CPLD (Altera Max 7000 - arhitektura)

    Arhitektura mikrosistema

  • Logiki kapacitetMera sloenosti (veliine) digitalnog sistema.Izraava se brojem ekvivalentnih gejtova procenjeni broj jednostavnih logikih kola (najee dvoulaznih NI kola) potrebnih za realizaciju funkcije sistema. Tipino SPLD kolo = 160 ekvivalentnih gejtova.Vee CPLD komponete (1000 makroelija) = oko 20.000 ekvivalentnih gejtova.Sistemi sloenosti 20.000 gejtova smatraju se srednje sloenim sistemima.

    Arhitektura mikrosistema

  • FPGAPLD kola najveeg logikog kapaciteta (od 10K do 1M ekvivalentnih gejtva)Zasnovani na logikim blokovima (a ne na prekidakim mreama)Dodatno sadre ugraenu RAM memoriju i specijalizovane module, kao to su mnoai, komunikacioni kontroleri i sl.Omoguavaju realizaciju sistema na ipu (zasnovanih na mikroprocesoru)

    Arhitektura mikrosistema

  • FPGA (logiki blok)Logiki blok:LUT - univerzalni logiki blok sa malim brojem ulaza (n = 4-6) i jednim izlazom. Realizuje se kao RAM 2nx1. Sadraj RAM-a definie logiku funkciju.

    Dvoulazni LUT moe da realizuje proizvoljnu funkciju dve promenljive

    Arhitektura mikrosistema

  • FPGA (LUT realizacija funkcije)

    Arhitektura mikrosistema

  • FPGA (logiki blok)Logiki blok = LUT + flip-flop

    Arhitektura mikrosistema

  • FPGA (realizacija sloenijih funkcija)f = f1 + f2 = x1x2 + x2x3.

    Arhitektura mikrosistema

  • FPGA (tehnolgija programiranja)SRAM tehnologija:LUT Statiki RAM (SRAM) blokPrekida - kombinacija pass tranzistora i SRAM memorijske elijeSve SRAM elije sadrane u FPGA su redno povezane u pomeraki registar.

    Programiranje - serijski upis (bit-po-bit) niza konfiguracionih bita u niz SRAM elijaIskljuenje napajanja => gubitak konfiguracije. Neophodnost konfigurisanja nakon ukljuenja napajanjaMogunost dinamike rekonfiguracije.

    Arhitektura mikrosistema

  • FPGA (logiki blok Xilinx XC 4000)

    Arhitektura mikrosistema

  • Klasifikacija IC prema stilu projektovanjaIC projektovana za datu primenu

    Arhitektura mikrosistema

  • IC po narudbiPLD stil projektovanjaIC po narudbi

    Arhitektura mikrosistema

    Projektant

    Proizvodjac

    Fabrikacija

    Proizvodna dokumentacija

    Projektovanje

    (1)

    IC

    (2)

    (3)

    (4)

    Projektant

    Projektovanje + implementacija

    Proizvodjac

    PLD

    (1)

    (2)

  • IC po narudbi (klasifikacija)Metodologije projektovanja IC po narudbi:IC potpuno po narudbiStandardne elijeGejtovska polja

    Arhitektura mikrosistema

  • IC potpuno po narudbiEng. full-customIC se projektuje iz poetka za konkretnu promenuProjektant bira veliinu ipa, broj i raspored tranzistora i metalnih vezaRezultat projektovanja: layout definie tane pozicije tranzistora i metalnih veza na ipuPrednosti:Mogunost optimizacije povrine i performansiNiska cena po komadu fabrikovanih ICNedostaci:Veliki utroak projektantskog vremenaVisoki jednokratni trokovi pripreme proizvodnjePrimena:IC visokih performansiIC za masovnu proizvodnju (amortizacija trokova 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 sloenijih struktura na ipu.Dostupne projektantu u vidu biblioteke standardnih elijaSve 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 smetaju u kanale izmeu redova.Horizontalne i vertikalne metalne veze se izvode na dva ili vie nivoa koji su postavljeni iznad standardnih elija.

    Arhitektura mikrosistema

    Standardna celija

  • Standardne elije (3/5)Realizacija potputnog sabiraa (tri reda sa po etiri standardne elije)

    Arhitektura mikrosistema

  • Standardne elije (4/5)Osim biblioteke bazinih standardnih elija na raspolaganju su i elije sloenije funkcije (sabirai, komparatori, registari, ...) realizovane pomou bazinih elija:Makro-elije (hard-makroi). Layout elije je fiksiran.Makro-funkcije. Layout nije fiksiran.

    Arhitektura mikrosistema

    Standardne celije

    Makro-celije

    .

    .

  • Standardne elije (5/5)Prednosti:Skraeno vreme projektovanja (projektovanje na nivou logikih kola, a ne na nivou tranzistora)Projektant ne projektuje layout elija, ve definie raspored elija i metalnih veza. (automatizovana procedura)Nedostaci:Nii nivo korisnog iskorienja povrine 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 identinih, nepovezanih gejtova (tipino NI ili NILI kola) rasporeenih na silicijumskoj ploici u vidu regularne dvodimenzione matriceNaknadnom doradom, kreiranje metalnih veza, gejtovi se povezuju na nain koji diktira konkretna primena

    Arhitektura mikrosistema

  • Gejtovska polja (2/3)Logike funkcije se moraju transformisati oblik prilagoen realizaciji pomou raspoloivog tipa logikog kola. Npr.ci+1 = xiyi+yici+xici = ((xiyi)(yici)(xici))

    Realizacija potpunog sabriaa u gejtovskom polju

    Arhitektura mikrosistema

  • Gejtovska polja (3/3)Prednosti:Nii trokovi pripreme proizvodnje. Kreiraju se samo maske za povezivanje.Nia cena gotovih IC. (amortizovana masovnom proizvodnjom polufabrikovanih, identinih ploica gejtovskih polja).Nedostaci:Nizak nivo iskorienja povrine silicijuma (broj korisnih gejtova 4-10 puta manji u odnosu na full-custom).Zbog ogranienja u povezivanju nije uvek mogue iskoristiti sve raspoloive gejtove iz polja (iskorienje 70-90%).

    Arhitektura mikrosistema

  • Realizacija potpunog sabiraa u tehnologiji gejtovskih poljaTehnoloko mapiranje:

    ci+1 = xiyi+yici+xici = ((xiyi)(yici)(xici))

    si = xiyici+xiyici+xiyici+xiyici =(xiyici+xiyici+xiyici)+xiyici =((xiyici+xiyici+xiyici)(xiyici)) =((((xiyici)(xiyici)(xiyici)))(xiyici))

    Arhitektura mikrosistema

    xi

    yi

    ci

    xi'

    ci'

    yi'

    si

    ci+1

    (xi'yici)

    (xiyici)

    (xiyici)

    (yici)

    (xiyi)

    (xici)

    (xi'yici)

  • Tehnoloko mapiranje za gejtovska poljaProjektovanje na bazi gejtovskih polja zahteva transformaciju izraza ili logikih ema koje sadre AND, OR i NOT gejtove u oblik koji sadri iskljuivo m-ulazne (najee 3-ulazne) NAND (NOR) gejtove. Pravila za konverziju:Pravilo 1: xy = ((xy))Pravilo 2: x+y = ((x+y)) = (xy)Pravilo 3: xy = ((xy)) = (x+y)Pravilo 4: x+y = ((x+y)) pravilo za optimizacijuPrimenom pravila 1 i 2 (3 i 4) svako AND i OR kolo zameniti NAND (NOR) kolom, a zatim, svuda gde je to mogue, eliminisati duple invertore.

    Arhitektura mikrosistema

    1

    Pravilo 1:

    Pravilo 2:

    Pravilo 3:

    Pravilo 4:

    Pravilo 5:

  • Konverzija formi tipa "suma proizvoda" i "proizvod suma" u NAND i NOR mree

    Tip formeStandardne realizacija formeNAND realizacijaNOR realizacijasuma proizvodaproizvod suma

    Arhitektura mikrosistema

    1

    1

  • Primer konverzije u NAND (NOR) mreu Projektovati NAND i NOR logike mree za funkciju carry (ci+1) potpunog sabiraa.1. Karnoova mapa:2. Analitiki izrazi u obliku sume proizvoda (proizvod suma):3(a). AND-OR mrea:3(b). OR-AND mrea:4(a). Konverzija u NAND mreu (pravila 1 i 2):4(a). Konverzija u NOR mreu (pravila 3 i 4):

    Arhitektura mikrosistema

    1

    1

    1

    1

    00

    01

    11

    10

    0

    1

    xiyi

    ci

    ci+1=xiyi+xici+yici

    ci+1=(xi+yi)(xi+ci)(yi+ci)

    2.4

    2.4

    2.4

    2.8

    ci+1

    xi

    yi

    ci

    1.4

    1.4

    1.4

    1.8

    ci+1

    xi

    yi

    ci

    2.4

    2.4

    2.4

    2.8

    ci+1

    xi

    yi

    ci

    1.4

    1.4

    1.4

    1.8

    ci+1

    xi

    yi

    ci

    cena=24 tran.kanjenje=5.6ns

    cena=24 tran.kanjenje=5.6ns

    cena=16 tran.kanjenje=3.2ns

    cena=16 tran.kanjenje=3.2ns

  • Dekompozicija AND (OR) lanova Transformacija n-ulaznog AND (OR) kola u stablo m-ulaznih AND (OR) gejtova, gde je m
  • Dekompozicija AND lana(primer)Razloiti AND lan od 10 promenljivih na stablo tro-ulaznih AND gejtova Reenje 1:Reenje 2:Reenja 1 i 2 imaju istu cenu, ali se razlikuju po progacionom kanjenju od nekih ulaza do izlaza.

    NivoBroj ulazaBroj gejtova11023

    Arhitektura mikrosistema

    2.8

    2.8

    2.8

    2.8

    2.8

    2.8

    2.8

    2.8

    2.8

    2.8

  • Tehnoloko mapiranje za gejtovska polja(primer) Realizovati funkciju sum (si) potpunog sabiraa pomou tro-ulaznih NAND gejtova.1. Karnoova mapa:2. Izraz suma proizvoda:si = xiyici+xiyici+xiyici+xiyici3. AND-OR mrea:4. Dekompozicija OR gejta:Problem!

    Arhitektura mikrosistema

    1

    1

    1

    1

    00

    01

    11

    10

    0

    1

    xiyi

    ci

    1

    ci

    xi

    yi

    si

    1

    ci

    xi

    yi

    si

  • Tehnoloko mapiranje za gejtovska polja(primer - nastavak)5. Konverzija:6. Optimizacija:Kao posledica dekompozicije veih AND i OR gejtova, u NAND (NOR) mrei se javljaju stabla gejtova, zbog ega razliite putanje kroz mreu mogu imati razliita kanjenja.

    Arhitektura mikrosistema

    1

    ci

    xi

    yi

    si

    1

    ci

    xi

    yi

    si

  • RetimingRetiming - optimizacija performansi (kanjenja) logike mree.Obavlja se nakon dekompozicije, konverzije i eliminacije invertora, onda kada se precizno mogu izraunati razliita kanjenja kroz logiku mreu.Koristi osobinu stabla gejtova da razliite putanje kroz stablo imaju razliita kanjenja:Putanjama kroz stablo koje imaju najkrae kanjenje dodeljuju se signali koji imaju najvee kaenjenje kroz celokupnu logiku mreuNakon retiming-a, esto je potrebno jednom ili vie puta, ponoviti konverziju i eliminaciju duplih gejtova.

    Arhitektura mikrosistema

  • Retiming(primer)Polazna AND-OR mrea:Dekompozicija:Konverzija:Kritina putanja 8.2ns

    Arhitektura mikrosistema

    p3

    g2

    p3

    p2

    g1

    p3

    p2

    p1

    g0

    p3

    p2

    p1

    c0

    g3

    c4

    p0

    1

    p3

    g2

    p3

    p2

    g1

    p3

    p2

    p1

    g0

    p3

    p2

    p1

    c0

    p0

    g3

    c4

    p3

    g2

    p3

    p2

    g1

    p3

    p2

    p1

    g0

    p3

    p2

    p1

    c0

    p0

    g3

    c4

    1.4

    1.8

    1.8

    1.8

    1.4

    1.8

    1.8

    1.8

  • Retiming(primer - nastavak)Retiming:Konverzija:Polazna dekompozicija:OR stablo2 D1 D0 D1 D2 DOR stablo4 D1 D2 D0 D1 D2 D3 DKritina putanja 6.4ns

    Arhitektura mikrosistema

    p3

    g2

    p3

    p2

    g1

    p3

    p2

    p1

    g0

    p3

    p2

    p1

    c0

    p0

    g3

    c4

    1

    p3

    g2

    p3

    p2

    g1

    p3

    p2

    p1

    g0

    p3

    p2

    p1

    c0

    p0

    g3

    c4

    1.8

    1.8

    1.8

    1.4

    1.8

    1.8

    1.8

    1.4

    p3

    g2

    p3

    p2

    g1

    p3

    p2

    p1

    g0

    p3

    p2

    p1

    c0

    p0

    g3

    c4

  • Tehnoloko mapiranje za gejtovska polja(opta procedura)

    Arhitektura mikrosistema

    Dekompozicija

    Konverzija

    Eliminacija invertora

    U/I kanjenje zadovoljava

    Retiming

    Poetak

    Kraj

    Da

    Ne

  • Tehnoloko mapiranje za custom biblioteke(primer)Problem: Transformisati izraz wz+z(w+y) u logiku mreu, korienjem gejtova iz biblioteke definisane tabelama 2.10 i 2.11 (slajdovi 18 i 20).

    Arhitektura mikrosistema

    1

    2.4

    2.4

    2.4

    2.4

    1

    1

    y

    w

    z

    F

    cena = 28kanjenje = 7.2ns

    1

    1.4

    1.4

    1.4

    1.4

    1

    1

    y

    w

    z

    F

    1

    cena = 22kanjenje =5.2ns

    1

    1.4

    1.4

    1.4

    1.4

    1

    1

    y

    w

    z

    F

    1

    B

    A

    1

    2.0

    1

    F

    1

    1

    1

    y

    w

    z

    1.4

    cena = 20kanjenje =5.4ns

    1

    2.0

    1.4

    1

    1

    y

    w

    z

    F

    1.4

    cena = 20kanjenje =3.8ns

    2.0

    2.4

    y

    w

    z

    F

    1.4

    cena = 18kanjenje =3.8ns

  • Tehnoloko mapiranje za custom biblioteke(opta procedura)Na raspolaganju je vei broj razliitih gejtova, kako osnovnih tako i kompleksnih => Sloen kombinatorni problemKompromis cena-performanse: najpre se minimizuje cena (konverzija u NAND mreu), a zatim se minimizuje kanjenje, pokrivanjem gejtova sa kritine putanje preostalim standardnim i kompleksnim gejtovima.

    Arhitektura mikrosistema

    Konverzija u NAND mreu

    Poetak

    Izbor najdue putanje

    Izbor gejta

    Izbor biblioteke komponente

    Odreivanje i pamenje dobitka

    Ispitane su sve komponente

    Pokriveni su svi gejtovi

    Izbor pokrivanja sa najveim dobitkom

    Preraunavanje kanjenja

    Pokrivene su sve putanje

    Kraj

    Da

    Da

    Da

    Ne

    Ne

    Ne

  • Pitanja i zadaci

    Arhitektura mikrosistema

  • Pitanja i zadaci

    Arhitektura mikrosistema

  • Pitanja i zadaci

    Arhitektura mikrosistema

  • Pitanja i zadaci

    Arhitektura mikrosistema

  • Zadatak

    Arhitektura mikrosistema

  • Reenje

    Arhitektura mikrosistema

  • Konverzija u NAND mreu

    Arhitektura mikrosistema

  • Eliminacija invertora

    Arhitektura mikrosistema

  • Uvoenje kompleksnih gejtova

    Arhitektura mikrosistema

  • Uvoenje kompleksnih gejtova

    Arhitektura mikrosistema

    Sve do sredine 80tih godina prolog veka, digitalni sistemi su realizovani povezivanjem digitalnih integrisanih kola (IC) relativno jednostavne funkcije. Za tu namenu na raspolaganju je irok asoriman, komercijalno dostupni, tzv. standardnih digitalnih integrisanih kola fiksne funkcije. Serija 7400 predstavlja industrijski standard u smislu da komponente sa istom oznakom, proizvedene od strane razliitih proizvoaa poseduju identino pakovanje, raspored pinova, logiku funkciju i pribline elektrine karakteristike. Unutar serije 7400 razvijeno je vie familija zasnovanih na razliitim tehnologijama. Na primer, familija 74LS se realizuje u tehnologiji poznatoj kao tranzistorsko-tranzistorska logika ili TTL (prema engleskom terminu transistor-transistor logic), dok familija 74HC koristi CMOS tehnologiju. Serija najpopularnih komponenti ovog tipa poznata je pod nazivom serija 7400. Oznake svih ipova iz ove serije poinju ciframa 74. Na Sl. 21(a) prikazana je fotografija tipine komponente iz serije 7400. Na fotografiji se vidi pakovanje ipa sa izvedenim spoljanjim prikljucima, tzv. pinovima. Tip pakovanja sa dva reda pinova izvednih na suprotnim stranama pakovanja poznat je pod nazivom DIP (skraenica od engleskog pojama dual-in parallel). Sa Sl. 21(b) se vidi da komponenta sadri est NOT logikih kola. Oznaka ovog kola je 7404. Dva krajnja, meusobno dijagonalno postavljena pina slue za napajanja kola, VDD i Gnd, dok se preostalih 12 koriste za vezu sa NOT kolima. Serija 7400 obuhvata veliki broj razliitih komponenti, iji se opis moe nai u katalozima proizvoaa ovakvih ipova.Na Sl. 22 je prikazano kako bi se pomou ipova iz serije 7400 realizovala logika funkcija f = x1x2 + x2`x3. Za realizaciju funkcije f potrebno je jedno NE, dva I i dva ILI logika kola. Kao to se moe videti sa Sl. 22, iskoriene su tri komponente iz serije 7400. Uoimo da su iskoriena samo pet od ukupno 14 raspoloivih logikih kola. Neiskoriena kola mogu biti upotrebljena za realizaciju neke druge funkcije. Vremenom tehnologija integrisanih kola je napredovala. Uporedo sa napretkom tehnologije evoluirao je i nain za klasifikaciju integrisanih kola prema njihovoj veliini. Integrisana kola starijih generacija, kao to su jednostavniji ipovi iz serije 7400, sadrala su tek nekoliko logikih kola. Za takve ipove se kae da su realizovani u tehnologiji niskog nivoa integracije ili SSI (od engleskog termina Small-Scale Integration). ipovi sa neto veim brojem logikih kola, tipino 10 do 100, svrstavaju se u srednji nivo integracije ili MSI (Medium-Scale Integration). Do sredine 80`tih godina prolog veka, ipovi koji su bili previe veliki da bi se klasifikovali kao MSI, svrstavani su kategoriju kola velikog nivoa integracije ili LSI (Large-Scale Integration). Poslednjih godina, koncept klasifikacije integrisanih kola prema veliini izgubio je praktini znaaj. Veina savremenih digitalnih integrisani kola sadri izmeu vie hiljada do vie desetina miliona tranzistora! Bez obzira na taan broj integrisanih tranzistora, za ovako velike ipove kae se da su realizovani u tehnologiji veoma visokog nivoa integracije ili VLSI (Very Large Scale Integration). Danas je trend u digitalnoj elektronici da se na jedan ip integrie to je mogue vei broj tranzistora. Veina integrisanih kola koja su danas u upotrebi svrstavaju se u VLSI tehnologiju. Stariji tipovi ipova koriste se retko ili samo kao rezervni delovi za starije ureaje. Mala veliina i niska cena VLSI ipova proizvela je revoluciju u oblasti digitalnog projektovanja. Sa VLSI tehnologijom na raspolaganju, projektati su dobili priliku da kreiraju jeftina, aplikaciono-specifina kola (ASIC) visokih performansi, optimizovna za efikasno obavljanje pojedinih zadataka. Danas, VLSI komponente predstavljaju jedine komponente koje su u upotrebi. Integrisana kola tipa SSI, MSI i LSI bila su aktuelna 70 i 80 godina, dok se danas najee koriste samo kao rezervni delovi za starije ureaje Standardna digitalna integrisana kola, kao to su komponente iz serije 7400, poseduju fiksnu (tj. nepromenljivu) funkciju. Zbog ove injenice i ogranienja da svaki ip sadri mali broj logikih kola, digitalna kola standardne funkcije su nepodesna za konstrukciju sloenijih digitalnih sistema. Meutim, mogue je proizvesti integrisana kola, sa relativno velikim brojem logikih elemenata, ija funkcija nije fiksna. Takva kola pojavila su se sredinom 70`tih godina prolog veka i poznata su pod nazivom programabilne logike komponente ili PLD (prema engleskom terminu Programmable Logic Device).Za PLD se moe rei da predstavljaju digitalna integrisana kola opte namene, tj. komponente koja se mogu konfigurisati, odnosno programirati, od strane krajnjeg korisnika da bi ispunila zahteve konkretne primene. Na PLD kolo se moe gledati kao na crnu kutiju koja sadri mnotvo logikih kola, veza i programabilnih prekidaa (Sl. 23). Programabilni prekidai omoguavaju da logika kola unutar PLD komponente budu povezana na odgovarajui nain kako bi se ostvarila eljena funkcija. Danas postoji vie razliitih tipova, komercijalno dostupnih tipova PLD komponenti. Istorijski gledano, prva takva kola bila su programabilna logika polja ili PLA (Programmable Logic Array). Principijelna blok ema PLA kola prikazana je na Sl. 24. Koncept strukture PLA kola zasnovan je na injenici da se bilo koja logika funkcija moe realizovati u vidu zbira logikih proizvoda. S toga glavni deo PLA kola ine dve logike mree: AND mrea u kojoj se formiraju logiki proizvodi i OR mrea na ijim izlazima se dobijaju logike sume. Kao to je prikazano na Sl. 24, ulazi PLA x1, , xn prolaze kroz skup bafera i invertora kako bi se za svaki ulaz pored njegove prave generisala komplementarna vrednost. U AND mrei generie se skup proizvoda P1, , Pk. Svaki od ovih proizvoda moe se konfigurisati tako da realizuje bilo koju AND funkciju promenljivih x1, , xn i njihovih komplemenata. Formirani proizvodi su ulazi u OR mreu koja generie izlaze f1, , fm. Svaki izlaz moe biti konfigurisan tako da realizuje bilo koju sumu proizvoda P1, , Pk. Na Sl. 25(a) prikazana je detaljnija blok ema jednog PLA kola malog obima. PLA sa Sl. 25(a) ima tri ulaza, etiri proizvoda i dva izlaza. Svako AND kolo u AND mrei ima est ulaza, od kojih svaki odgovara pravoj ili komplementarnoj vrednosti jednog od tri ulaza. Ulazne veze AND kola su programabilne u smislu da se po potrebi mogu raskinuti. Talasasta linija ukazuje da izmeu AND kola i odgovarajueg ulaznog signala postoji veza, a prekinuta linija da veza ne postoji. Ulazi AND kola koji su nepovezani deluju kao logike 1-ce i tako ne utiu na funkciju kola. U PLA kolu sa Sl. 25(a), AND kolo koje generie proizvod P1 spojeno je sa ulazima x1 i x2. Stoga vai P1=x1x2. Slino, P2=x1x3`, P3=x1`x2`x3 i P4=x1x3. Programabilne veze takoe postoje i u OR mrei. Izlaz f1 spojen je sa proizvodima P1, P2 i P3 i zbog toga realizuje funkciju f1= x1x2 + x1x3` + x1`x2`x3. Slino, vai f2 = x1x2 + x1`x2`x3 + x1x3. Drugaijim programiranjem prekidaa, PLA kolo je moglo da realizuje i neku drugu funkciju promenljivih x1, x2 i x3. Pri tome, jedino ogranienje potie od veliine AND mree koja, za komponentu sa Sl. 25(a) sadri etiri AND kola i zato moe da generie samo etiri razliita proizvoda. Dakle, PLA sa Sl. 25(a) moe da realizuje bilo koju funkciju tri promenljive koja se moe izraziti u obliku sume najvie etiri proizvoda. Komercijalno dostupna PLA kola poseduju vee dimenzije od kola sa Sl. 25(a). Tipini parametri su komponente sa 16 ulaza, 32 proizvoda i 8 izlaza.Sl. 25(a) jasno ilustruje funkcionalnu strukturu PLA kola. Meutim, ovakav nain crtanja nije podesan za vee PLA strukture. U tehnikoj literaturi uobiajeno je da se struktura PLA kola prikazuje na nain kao na Sl. 25(b). Svako AND logiko kolo predstavljeno je jednom horizontalnom linijom spojenom sa simbolom AND kola. Vertikalne linije simboliu mogue ulaze u AND kola, a znak X oznaava postojanje veze na odgovarajuem ulazu AND kola. Koristei ovu simboliku, AND mrea u PLA kolu sa Sl. 25(b) realizuje iste proizvode kao i AND mrea sa Sl. 25(a). OR logiko kolo predstavlja se na slian nain: vertikalna linija u spoju sa simbolom OR kola. U preseku ovih linija i izlaza AND kola mogu se formirati programabilne veze. Raspored programabilnih veza u PLA strukturi sa Sl. 25(b) odgovara funkcijama f1 i f2 sa Sl. 25(a). Kod PLA strukture obe mree, AND i OR, su programabilne. U poetnom periodu razvoja PLD kola, glavni problemi u fabrikaciji ovakvih struktura ticali su se implementacje programabilnih prekidaa. Na tadanjem nivou razvoja tehnologije, nije bilo lako realizovati programabilne prekidae. Oni su takoe znaajno poveavali kanjenje signala kroz kolo. Ovi nedostaci doveli su do razvoja sline programabilne strukture kod koje je AND mrea programabilna, a OR fiksna. Takva struktura poznata je pod skraenicom PAL (Programmable Array Logic Programabilni logiki niz). Zbog manjeg broja programabilnih prekidaa, proizvodnja PAL-a bila je jednostavnija, a time i jeftinija, pa su u praktinim primenama PAL kola brzo postala popularna. Na Sl. 26 prikazan je PAL sa tri ulaza, etiri proizvoda i dva izlaza. Proizvodi P1 i P2 fuksno su povezani na jedno, a proizvodi P3 i P4 na drugo OR kolo. PAL sa Sl. 26 je tako programiran da realizuje funkcije f1 = x1x2x3` + x1`x2x3 i f2 = x1`x2` + x1x2x3. U poreenju sa PLA sa Sl. 25, PAL poseduje manju fleksibilnost: dok PLA dozvoljava do etiri proizvoda po OR kolu, OR kola kod PAL imaju samo dva ulaza. Smanjena fleksibilnost donekle je kompenzovana dostupnou PAL kola sa razliitim brojem ulaza i izlaza i razliitim brojem ulaza u OR kola. Struktura PAL16L8 kola prikazana je na Sl. 12. Kolo poseduje 10 ulaznih, 2 izlazna i 6 ulazno/izlaznih (U/I) pinova. Svaki od 6 U/I pinova se moe koristiti bilo kao ulaz ili izlaz, tako da u krajnjim sluajevima kolo moe da ima 16 ulaza i 2 izlaza, ako se svi U/I pinovi koriste kao ulazi, odnosno 10 ulaza i 8 izlaza, ako se svi U/I pinovi koriste kao izlazi. Programabilna AND matrica je dimenzija 32x64, to znai da ima 32 ulaza i generie 64 logikih produkta. Logiki produkti su grupisani u 8 grupa od po 8 produkata. Sedam produkta iz svake grupe se sumira pomou jednog OR kola, dok osmi produkt upravlja trostatikim baferom koji povezuje izlaz OR kola sa pripadajuim pinom. Da bi se U/I pin koristio kao ulaz potrebno je da izlaz odgovarajueg trostatikog bafera bude postavljen u stanje visoke impedanse. Treba uoiti da u sluaju konfiguracije U/I pina kao ulaza, logiki produkti pridrueni toj poziciji ostaju neiskorieni. Logike funkcije koje se generiu na pozicijama U/I pinova koji su konfigurisani kao izlazi se vraaju u AND matricu, gde se mogu kombinovati sa drugim ulazima u cilju formiranja sloenijih logikih funkcija. Struktura kola PAL 16R8 je prikazana na Sl. 13. Komponenta ima 8 dvosmernih prikljuaka, dva ulaza posedbne namene (CLK i OE) i 8 izlaza. Fiksna OR matrica se sastoji od 8 OR kola koja sumiraju po 8 logikih proizvoda. Izmeu OR matrice i izlaznih pinova ugraen je 8-bitni registar sainjen od D flip-flopova. Taktovanje registra se vri signalom CLK, a upravljanje tro-statikim baferima signalom OE. S obzirom da se izlazi D flip-flopova vraaju u AND matricu, pomou PAL16R8 je mogue realizovati i sekvencijalna kola ROM je programabilno AND-OR polje kod koga je AND mrea fiksna, a OR programabilna. Realizacija logikih funkcija pomou ROM-a zasnovana je na poznatom stavu iz Bool-ove algebre da se svaka logika funkcija moe predstaviti u vidu sume potpunih proizvoda (tj. minterma). Kod ROM-a sa n ulaza, fiksna AND mrea generie sve mogue minterme n promenljivih, dok se u OR mrei, programiranjem prekidaa, sumiraju samo oni mintermi koji ulaze u izraz za sumu minterma konkretne logike funkcije. Na taj nain, ROM sa n ulaza i m izlaza moe da realizuje bilo koji sistem od m logikih funkcija od n promenljivih. Struktura ROM-a sa 3 ulaza i 2 izlaza prikazana je na Sl. 28. Fiksni spojevi u AND matrici naznaeni su kvadratima, a programabilni prekidai u OR matrici krstiima. Raspored zatvorenih prekidaa u OR mrei je takav da ROM realizuje identine funkcije, f1 i f2, kao i PLA sa Sl. 25(b) U optem sluaju, kod ROM-a sa n ulaza i m izlaza fiksna AND mrea se sastoji od 2n n-ulaznih AND kola, a OR mrea od m 2n-ulaznih OR kola. Svako AND kolo u AND mrei je u fiksnom spoju sa jednom kombinacijom ulaza i njihovih komplemenata, formirajui tako jedan minterm. Drugim reima, AND matrica ima funkciju binranog dekodera n/2n. Konfigurabilnost PLD kola omoguena je postojanjem internih programabilnih taka koje, u sutini, predstavljaju prekidake elemente koji se mogu programirati tako da se ponaaju kao kratko-spojeni ili otvoreni prekidai. U fazi programiranja kola, signali koji se dovode na ulaz kola otvaraju i zatvaraju programabilne take (elektronske prekidae) i na taj nain ostvaruju eljene oblike povezivanja internih komponenta.Kod prvih PLD kola za realizaciju programabilnih prekidaa korieni su poluprovodniki osigurai. Inicijalno svi osigurai su "nesagoreni". Pobuivanje kola neto viim naponima od radnih uslovljava da kroz PLD protiu velike struje. Kao posledica, veze koje formiraju osigurai se raskidaju. Treba pri ovome naglasiti da ne postoji metod za rekonstrukciju (obnavljanje) stanja prekidaa, tj. njegovo sagorevanje je trajno ili bespovratno. Tipian predstavnik ovakvih kola je programabilni ROM ili PROM.Danas, kod SPLD, za realizaciju programabilnih prekidaa, preovladavaju tehnologije zasnovane na tranzistorima sa izolovanim gejtom (floating-gate) EPROM ili EEPROM tipa. Radi se o istoj tehnologiji koja se sree kod EPROM i EEPROM memorija. Programabilni prekida je tranzistor sa izolovanim gejtom (EPROM tranzistor), koji se, programiranjem, moe permanentno zakoiti. EPROM tehnologija omoguava reprogramiranje PLD kola, odnosno prua mogunost da se p Komercijalno dostupne SPLD komponente sadre i do vie hiljada programabilnih prekidaa. Zbog toga je praktino nemogue da korisnik pojedinano definie stanje svakog prekidaa, ve se za tu namenu koriste specijalizovani CAD alati. Korisnik najpre kreira izvorni PLD fajl koji sadri tekstualni opis eljene funkcije, u vidu logikih funkcija, tabela istinitosti, tabela stranja (Sl. 29(a)). Dodatne konstrukcije omoguavaju korisniku da definie i druge progamabilne opcije kola, kao to je tip izlaz (registarski ili kombinacioni). Izvorni PLD fajla se obrauje CAD alatom, koji koristi bazu informacija sa detaljima o internoj strukturi razliitih tipova SPLD kola. Nakon to je korisnik izabrao tip komponente koju eli da koristi, alat analizira izvorni fajl i obavlja logiku minimizaciju kako bi se osiguralo optimalno iskorienje raspoloivih resursa komponente. Kao izlaz, alat generie izlaznu datoteku, tzv. datoteku za programiranje, koja sadri mapu osiguraa, sa upisanim stanjem svakog prekidaa u kolu (Sl. 29(b)). Raunar na kome se izvrava CAD alat povezan je kablom sa ureajem koji se zove programator (Sl. 29(c)). SPLD komponenta se postavlja u programator, a datoteka za programiranje se iz raunara preko kabla prenosi u programator. Programator postavlja SPLD u reim programiranja i pojedinano konfigurie svaki prekida. Proces programiranja moe da traje i do nekoliko minuta. Obino, nakon zavrenog programiranja programator automatski oitava stanja svih prekidaa i proverava da li je ip ispravno programiran. Nakon verifikacije, SPLD ip je spreman za ugradnju u ciljni sistem, najee na tampanu plou. SPLD kola se obino ne leme direktno na tampanu plou ve se postavljaju u posebno kuite, tzv soket, kako bi naknadno, ako se javi potreba, mogli lako da se reprogramiraju nekom drugom funkcijom. Primena SPLD kola ograniena je na realizaciju relativno jednostavnih digitalnih sistema. Ukupan broj ulaza i izlaza kod komercijalno dostupnih PLA i PAL nije vei od 32. Ako digitalni sistem zahteva vei broj ulaza i izlaza, ili ako je njegova funkcija isuvie sloena da bi se realizovati u jednom PLA/PAL ipu, projektant moe da postupu na jedan od sledea dva naina: (1) podeli sistem na vie jednostavnijih delova i svaki deo realizuje jednim PLA/PAL kolom, ili (2) upotrebi dugaiji tip PLD kola, poznat pod nazivom sloena PLD kola ili CPLD (od Complex PLD).CPLD je integrisano kolo koje sadri vei broj programabilnih logikih blokova meusobno povezanih preko zajednike programabilne prekidake matrice. Svaki programabilni logiki blok po strukturi je slian PLA ili PAL. Na Sl. 210 je prikazan primer CPLD strukture koja se sastoji od etiri programabilna logika bloka (PLB). Svaki PLB je, sa jedne strane, povezan na programabilnu prekidaku matricu (PPM), a sa druge na U/I blok preko koga se ostvaruje sprega sa ulazim i izlaznim pinovima ipa Sprega PLB-ova radi formiranja sloenijih funkcija ostvaruje se posredstvom PPM koja je po strukturi slina programabilnim AND i OR mreama. PPM sadri veliki broj horizontalnih i vertikalnih metalnih linija koje se spajaju programabilnim prekidaima. Kao to se moe uoiti svaka horizontalna linija povezana je samo sa nekim, ali ne svim vertikalnim linijama. Broj prekidaa i njihov raspored u PPM predstavlja kompromis izmeu, sa jedne strane, potrebe za to veom fleksibilnou u povezivanju PLB-ova i, sa druge strane, zahtevom za utedom u broju ugraenih prekidaa. Treba obratiti panju na jo jedan detalj. Kada se pin koristi kao ulaz, makroelija pridruena pinu, postaje neupotrebljiva jer njen izlaz ne moe biti sprovede ni na izlaz ipa niti na ulaz neke druge makroelije. Iz tog razlog, kod nekih tipova CPLD kola, postoje dodatne linije izmeu makroelija i PPM koje omoguavaju da se i u takvim situacijama makroelija moe korisno upotrebiti. Veliina komercijalnih CPLD kola se kree od 2 do preko 100 PLB-ova, a dostupna su u pakovanjima sa 100 do 200 pinova.Na Sl. 211 je dat detaljniji prikaz dela unutranje strukture CPLD kola. Kod ovog kola, PLB sadri tri makroelije (komercijalna CPLD kola obino imaju 16 makroelija po jednom PLB). Svaka makroelija sadri jedno etvoro-ulazno OR kolo (OR kola kod komercijalnih CPLD obino imaju od 5 do 20 ulaza). Izlaz OR kola povezan je na ulaza XOR logikog kola. Funkcija XOR kola je slina OR kolo s tom razlikom da za obe 1-ce na ulazu umesto 1 na izlazu generie 0. Jedan od ulaza XOR kola programski se moe povezati na 1 ili 0; za 1 XOR kolo komplementira izlaz OR kola, dok za 0 nema efekta, tj. na svoj izlaz prenosi izlaz OR kola. Makroelija takoe sadri po jedan flip-flop, multiplekser i trostatiki bafer za spregu sa pinom CPLD ipa. Trostatiki bafer omogueva da se svaki pin moe koristiti bilo kao ulaz bilo kao izlaz. Pin se pobuuje signalom iz nekog spoljanjeg izvora, koji putem PPM moe biti sproveden do ulaza neke druge makroelije. Kod veine CPLD kola, za realizaciju programabilnih prekidaa koristi se ista tehnolgija kao kod SPLD kola. Prekidai se mogu programirati korienjem programatora, na nain koji je opisan u sekciji 2.2.5. Meutim, ova metoda programiranja nije pogodna za vea CPLD kola iz sledea dva razloga. Prvo, vea CPLD kola mogu imati i preko 200 pinova na ipu, koji su malih dimenzija i mogu se lako otetiti. Drugo, za postavljanje ipa u programator potreban je poseban soket, prilagoen kuitu ipa. Soketi za vea pakovanja su skupi, a nekada i skuplji od samog CPLD ipa. Iz ovih razloga, CPLD kola obino podravaju tzv. ISP tehniku programiranja. ISP (eng. In-System-Programming) se odnosi na mogunost programiranja ipa u sistemu. Na tampanoj ploi koja sadri CPLD kolo postavljen je konektor za prikljuenje kabla za vezu sa raunarem. CPLD se programira tako to se iz raunara, preko kabla direktno u CPLD kolo prenose podaci za programiranje prehodno generisani od strane CAD sistema. U samom CPLD ipu ugraen je sklop koji prihvata ove podatke i na osnovu njih programira pojedinane prekidae. Nain programiranja i oblik informacije koja se alje CPLD kolu propisani su standardom koji se zove JTAG port. Na slici je ilustrovan primena JTAG porta za programiranje dva CPLD na istoj tampanoj ploi. CPLD kola su meusobno povezana tako da se oba mogu programirati preko istog konektora. Nakon to je CPLD kolo programirano, ono zadrava programirano stanje ak i poto je napajanje iskljueno. Ova osobina se zove postojano (eng. nonvolatile) programiranje. Jednom programirano CPLD kolo se naknadno moe obrisati i ponovo programirati nekom drugom funkcijom (tj. reprogramirati). Arhitektura serije Max 7000 je prikazana na Sl. 19. Broj LAB blokova se kree od 2 do 16, to zavisi od tipa kola. LAB blokovi imaju strukturu proirenog PAL-a i sadre po 16 makroelija svrstanih u dve grupe od po 8 makroelija. Kolo poseduje etiri pina posebne namene (globalni takt - GCLK, globalni reset - GCLR, dozvola izlaza OE1 i OE2). Preostali pinovi su bidirekcioni (U/I) i po potrebi se mogu konfigurisati bilo kao ulazi bilo kao izlazi. Svaki U/I pin je preko U/I bloka povezana sa jednom makroelijom, kao to je to prikazano na Sl. 20. Kada se pin koristi kao izlaz, kontrola izlaznog tro-statikog bafera se ostvaruje pomou jednog od dva globalna signala OE1 ili OE2. Kada se U/I pin koristi kao ulaz, izlaz tro-statikog bafera je permanento postavljen u stanje visoke impedanse, a signal doveden na pin se vodi u PIA matricu, preko koje se moe proslediti bilo kom LAB bloku. S obzirom da se izlaz svake makroelije direktno vraa u PIA matricu, u sluajevima kada se U/I pin koristi kao ulaz odgovarajua makroelija ne ostaje neiskoriene ve se moe upotrebiti za formiranje neke interne funkcije. Prethodno opisani tipovi digitalnih integrisanih kola, serija 7400, SPLD i CPLD, mogu se koristit za realizaciju irokog sprektra digitalnih kola i sistema. Meutim, izuzev CPLD, radi se o malim komponentama za relativno jednostavne primene. ak i sa CPLD na raspolaganju, projektanti su u mogunosti da pomou jednog ipa realizuju sisteme, po dananjim merilima, niske do srednje sloenosti. Sloenosti ili veliina digitalnog sistema moe se izraziti procenjenim brojem jednostavnih logikih kola (najee dvoulaznih NI kola) potrebnih za realizaciju njegove funkcije. Ova mera sloenosti se zove logiki kapacitet i izraava se broj ekvivalentnih gejtova. Po ovom kriterijumu, veliina tipinog PAL kola je oko 160 gejta. Vee CPLD komponete, sa 1000 makroelija, mogu da realizuju kola sloenosti do oko 20.000 ekvivalentnih gejtova. Digitalni sistemi sa 20.000 gejtova danas se ne smatraju sloenim. Za realizaciju vei sistema, uobiajeno se koristi drugaiji tip PLD komponenti sa daleko veim logikim kapacitetom poznate pod nazivom FPGA (Field Programmable Gate Array). Arhitektura FPGA kola nije zasnovana na prekidakim mream, ako to je to sluaj sa drugim tipovima programabilnih komponenti. Umesto toga, kod FPGA se za ralizaciju logikih funkcija koriste logiki blokovi. Na Sl. 212 je prikazana uoptena struktura FPGA kola, koju ine tri glavana tipa resursa: (1) logiki blokovi, (2) U/I (ulazno/izlazni) blokovi za spregu sa pinovima i (3) veze i programabilni prekidai. Logiki blokovi su rasporeeni u dvodimenziono polje, dok su veze i prekidai smeteni u horizonatalnim i vertikalnim kanalima za povezivanje. Kanali sadre veze i programabilne prekidae putem kojih se ostvaruje eljeno interno povezivanje logikih blokova. Progamabilni prekidai su grupisani u blokove (oznaeni na Sl. 212 kao zatamljeni kvadrati). etiri bloka prekidaa koji okruuju logiki blok, slue za spregu ulaznih i izlaznih prikljuaka logikog bloka sa vezama iz vertikalnih i horizontalnih kanala (veze nisu prikazane na Sl. 212). Blokovi prekidaa pozicionirani dijagonalno u odnosu na logike blokove slue za meusobno povezivanje horizontalnih i vertikalnih veza. Programabilne veze takoe postoje i izmeu U/I blokova i internih veza.FPGA kola omoguavaju realizaciju digitalnih sistema sloenosti od nekoliko desetina hiljada do nekoliko miliona ekvivalentnih gejtova. Sa tako velikim logikim kapacitetom na raspolaganju, primena FPGA kola nije ograniena samo na realizaciju relativno jednostavnih digitalnih struktura, kao to je to sluaj kod SPLD i CPLD, ve pruaju mogunost realizacije kompletnih sistema na jednom ipu zasnovanih na mikroporocesoru. Takoe, savremena FPGA kola poseduju ugraenu RAM memoriju i specijalizovane module, kao to su mnoai, komunikacioni kontroleri i sl. Dva primera FPGA kola su komponente FLEX 10K, firme Altera, i XC4000, firme Xilinx. FPGA kola su dostupna u pakovanjima sa po nekoliko stotina pinova. Logiki blok FPGA kola tipino ima manji broj ulaza i jedan izlaz. Mada postoje i drugaija reenja, najee korieni logiki blok je tipa look up tabela (tabela pretraivanja), ili LUT. LUT sadri memorijske elije i moe da realizuje samo jednostavne funkcije. Svaka memorijska elija sadri jednu logiku vrednost, 0 ili 1. LUT blokovi se razlikuju po veliini, gde se pod veliinom podrazumeva broj ulaza. Na Sl. 213(a) je prikazana struktura jednostavnog LUT bloka, sa samo dva ulaza x1 i x2 i jednim izlazom f. Ovaj LUT blok moe da realizuje bilo koju logiku funkciju dve promenljive. S obzirom da tabela istinitosti za dve promenljive ima etiri vrste, LUT ima etiri memorijske elije. Svaka memorijska elija odgovara jednoj vrsti tabele istinitosti. Ulazne promenljive x1 i x2 se koriste kao selekcioni ulazi tri multipleksera, koji zavisno od vrednosti x1 i x2 na izlaz f prosleuju sadraj jedne od etiri elije. Realizaciju logikih funkcija u LUT bloku, razmotriemo na primeru funkcije f1 definisanu tabelom istinitosti sa Sl. 213(b). Funkcija f1 se moe zapamtiti LUT bloku na nain kao na Sl. 213(c). Kada je x1=x2=0, na izlaz LUT bloka prenosi se sadraj prve gornje elije, koja odgovara prvoj vrsti tabele istinitosti (x1x2=0). Slino, za svaku kombinaciju vrednosti promenljivih x1 i x2, logika vrednost zapaena u memorijskoj eliji koja definie izlaz LU-a, identina je izlaznoj vrednosti odgovarajue vrste tabele istinitosti.Osim LUT strukture, logiki blok moe sardi i dodatne resurse. Na Sl. 215 je prikazano kako se u logiki blok moe uvrstiti flip-flop. Sa svakim taktnim imulsom, u flip-flop se memorie trenutni izlaz LUT-a. Multiplekser omoguava da se na izlaz logikog bloka postavi vrednost sa izlaza LUT-a ili sa izlaza flip-flopa. Na Sl. 216 je prikazna deo FPGA kola programiran tako da realizuje neku konkretnu funkciju. FPGA sadri dvo-ulazne logike blokove i kanale za povezivanje sa po etiri veze u svakom. Slika, takoe prikazuje programirani sadraj LUT blokova i programirana stanja prekidaa. Programabilni prekidai su prikazani znakom X. Crni prekidai su otvoreni, a sivi zatvoreni, tj. ine spoj izmeu vertikalne i horizontalne veze. Tabele istinitosti programirane u LUT blokove iz gornjeg reda odgovaraju funkcijama: f1 = x1x2 i f2 = x2x3. Logiki blok desno u donjoj vrsti, programiran je tako da realizuje funkciju: f = f1 + f2 = x1x2 + x2x3. Memorijske elije FPGA kola su tipa statiki RAM (SRAM) i koriste se ne samo za realizaciju LUT blokova ve i za upravljanje programabilnim prekidaima. Na Sl. 217 je prikazan deo FPGA kola sa slike. Prikazani logiki blok generie izlaz f1 koji pobuuje horizonatalu vezu. Ova veza se moe povezati sa nekima od vertikalnih veza sa kojima se see. Horizontalna i vertikalne veze nisu kartkospojene, ve se spajaju pomou NMOS tranzistora iji gejt se pobuuje izlazom SRAM elije. Tranzistor funkcionie kao prekida, koji se u datoj konfiguraciji zove pass prekida. Ako SRAM elija sadri 0, odgovarajui NMOS tranzistor e biti zakoen i signal sa horizontalne nee moi da pree na vertikalnu vezu. Meutim, ako je u eliji zapamena 1-ca, NMOS tranzistor e biti provodan, odnosno ukljuen (sivi tranzistor sa Sl. 217), to e omoguiti da se signal sa horizontalne prenese na vertikalnu vezu. Da bi se omoguilo programiranje, sve SRAM elije sadrane u FPGA (kako one iz LUT, tako i one koje upravljaju programabilnim prekidaima) su meusobno redno povezane tako da ine strukturu pomerakog registra. Na taj nain, programiranje se ostvaruje serijskim upisom (bit-po-bit) niza konfiguracionih bitava u niz SRAM elija. CLB = logiki blok:Struktura CLB blokova iz serije XC4000 je prikazana na slici. CLB blok ima 9 ulaza i 4 izlaz i moe da realizuje kako kombinacione tako i sekvencijalne funkcije. Za realizaciju kombinacioni funkcija koriste se tabele pretraivanja (Look-Up Table - LUT). LUT tabele se realizuju kao SRAM memorije kapaciteta 2Kx1. Promenljive se dovode na adresne ulaze memorije, a na izlazu memorije se generie vrednost funkcije za datu kombinaciju ulaznih promenljivih. Direktnim upisom tabele istinitosti u memoriju, korisik moe da realizuje bilo koju kombinacionu funkciju od K promenljivih, dok se sloenije funkcije mogu realizovati povezivanjem vie LUT tabela. CLB blokovi iz serije XC4000 sadre tri LUT tabele, dve etvoroulazne (F i G) i jednu troulaznu (H). Promenljive za LUT tabele F i G se dovode sa odgovarajuih ulaza CLB bloka, a njihovi izlazi se direktno povezuju sa ulazima LUT tabele H, kako je to prikazano na Sl. 25. Takva organizacija omoguava da se u CLB bloku moe formirati irok spektar kombinacionih funcija. Neke od varijanti su: bilo koje dve funkcije od 4 promenljve, jedna bilo koja funkcija od 5 promenljivih, jedna bilo koja funkcija od 4 promenljive zajedno sa jo jednom funkcijom od 5 promenljivih, neke od funkcija od 9 promenljivih, i td. Mogunost realizacije kombinacionih funkcija sa veim brojem promenljivih u jednom CLB bloku je znaajna, jer se tako smanjuje broj iskorienih CLB blokova i ukupno propagaciono kanjenje. LUT tabelama F i G je pridruena logika za brzo generisane prenosa i pozajemice (Carry Logic), to bitno poboljava performanse aritmetikih kola kao to su: sabrai, odzimai i komparatori. Carry Logic (nije prikazana na Sl. 25) se aktivira odgovarajuom konfiguracijom CLB bloka. U takvoj konfiguraciji, LUT tabele F i G funkcioniu kao 2-bitni sabirai sa ugraenim generatorom paralelnog prenosa. Povezivajem vie CLB blokova mogue je formrati sabirae sa veim brojem bitova, bez znaajnog poveanja propagacionog kanjenja. Takoe, svaki CLB blok se moe konfigurisati kao SRAM blok kapaciteta 16x2 ili 32x1. Dostupnost RAM memorije u samom FPGA kolu omoguava ekonominu realizaciju memorijskih struktura kao to su registarska polja, FIFO baferi, LIFO stekovi i sl..Za realizaciju sekvencijalnih funkcija, CLB blok sadri dva D flipflopa sa zajednikim signalom takta, K, i signalom za dozvolu taktovanja, EC. Trei zajedniki signal je S/R koji moe biti programiran nezavisno za svaki flipflop, kao signal za asinhrono setovanje ili resetovanje. Ulazni podaci flipflopova se formiraju preko multipleksera i to mogu biti ili podaci sa ulaza CLB bloka ili izlazne vrednosti LUT tabela. Na Sl. 218 je prikazana klasifikacija integrisanih kola prema stilu projektovanja. Na prvom nivou klasifikacije nalaze se standardna IC i aplikaciono-specifina integrisana kolim ili ASIC (od Application-Specific Integrated Circuit). IC fiksne funkcije, kao to su komponente iz serije 7400 su primer standardnih IC. Za razliku od standardnih IC, iju funkciju definie proizvoa, funkciju ASIC kola definie projektant. Napomenimo da se PLD kola mogu svrstati u obe kategorije. Sa jedne strane, PLD su standardne komponente, jer se proizvode u masovnim serijama za unapred nepoznatog kupca. Sa druge strane, PLD se mogu klasifikovati i kao vrsta ASIC kola, zbog mogunosti projektanta da definie njihovu funkciju. Kljuni faktor koji ograniava veliinu kola koje se moe realizovati u PLD tehnologiji je postojanje programabilnih prekidaa. Zahvaljujui programabilnim prekidaima, projektant je u mogunosti da samostalno, uz pomo softverskih alata, realizuje integrisano kolo prilagoeno njegovim potrebama. Meutim, prekidai zauzimaju znaajnu povrinu PLD ipa i usporavaju rad kola. Naravno, mogue je proizvesti IC bez prekidaa, koja e sadrati samo one sklopove koji su neophodni da bi se ostvarila zadata funkcija. Meutim, bez mogunosti programiranja, projektanti vie nisu u mogunosti da samostalno okonaju proces razvoja integrisanog kola. Projektanti razrauju projekta do nivoa proizvodne dokumentacije, a zatim od proizvoaa poluprovodnikih komponenti naruuju izradu IC po tim specifikacijama. Postoji vie metodologija projektovanja IC po narudbi, koje se razlikuju u pogledu nivoa detaljnosti i oblika proizvodne dokumentacije koju projektant isporuuje proizvoau integrisanih kola. U nastavku ove sekcije razmotriemo tri pristupa projektovanju IC po narudbi: IC potpuno po narudbi, standardne elije i gejtovaska polja.Metodologija projektovanja potpuno po narudbi (full-custom) omoguavaju integraciju najveeg broja tranzistora i realizaciju IC-a najvee brzine rada. Projektovanje ovom metodom podrazumeva da se IC iz poetka, do nivoa pojedinanih tranzistora i veza, projektuju i proizvodi za tanu definisanu primenu. Pri tome, projektant poseduje punu slobodu u izboru veliine ipa, broja i rasporeda tranzistora i metalnih veza na ipu. Ogranienja koja postoje uslovljena su jedino ciljnom poluprovodnikom tehnologijiom, koja definie parametre koje se odnose na geometriju tranzistora i metalnih veza, minimalno rastojanje izmeu dve metalne veze i slino. Proces definisanje tanih pozicija tranzistora i veza na ipu naziva se kreiranje layout-a ipa. Kod IC po narudbi, projektant kreira sve detalje layout-a, a proizvoa koristi specifikaciju layout najpre za izradu foto-litografkih maski koje potom koristi za fabrikaciju komponenti. Cena projektovanja i proizvodnje IC potpuno po narudbi je visoka. Sa jedne strane, projektovanje layout-a IC-a, ak i sa relativno malim brojem tranzistora, zahteva puno vremena i veliki napor projektanta. Takoe, trokovi izrade maski, mada jednokratni, su izuzetno visoki (reda veliine 100K$). Sa druge strane, cena pojedinanih IC je nia u odnosu na druge pristupe projektovanju, u zbog najmanjeg zauzea povrine na ipu. Iz tog razloga, projektovanje potpuno po narudbi se koristi samo onda kada su visoke preformanse imperativ ili kada se planira proizvodnja integrisanih kola u masovnim serijama (vie miliona komada) kako bi se amortizovali visoki jednokrati trokovi. Primeri komponeti koje se obino projektuju potpuno po narudbi su mikroprocesori i memorijski ipovi.Deo trokova koji prati projektovanje IC potpuno po narudbi moe se izbei ako se koristi tehnologija standardnih elija (standard cell). Standardne elije su unapred projektovani moduli, jednostavne fukcije, koje se u vidu gradivnih blokova koriste za konstrukciju sloenijih struktura na ipu. Po pravilu, svaka standardna elija sadri jedno logiko kolo (tipa NOT, AND, OR, NAND i sliana) ili flip-flop. Standardne elije su raspoloive projektantu u u vidu biblioteke standardnih elija. Za realizaciju svog projekta, projektant moe da koristi samo elije iz biblioteke. Sve standardne elije iz iste biblioteke imaju istu visinu, a razlikuju se po irini. Ulazi i izlazi elije uvek su postavljeni du gornje i donje ivice elije. Standardne elije se pakuju u horizontalne redove, jedna do druge, a povezuju vezama koje se smetaju u kanale izmeu redova. Horizontalne i vertikalne veze se izvode na dva ili vie nivoa koji su postavljeni iznad standardnih elija, kao to je prikazano na Sl. 219(a). Na Sl. 219(b) je prikazana realizacija potpunog sabiraa na bazi standardnih elija. Uoimo da raspored elija, kako je dat na ovoj slici, zahteva etiri horizontalne staze za povezivanje u gornjem i pet u donjem kanalu.

    Osim bazinih bibliotekih elija (gejtova i flip-flopova) proizvoai ASIC komponenti obino nude projektantima i biblioteke sloenijih logikih elemenata, tzv. hard-makroa (ili makro-elija) i soft-makroa (ili makro-funkcija), kao to su sabirai, komparatori, pomeraki registari, brojai i druge strukture slinog nivoa sloenosti. Makro-elije i makro-funkcije se realizuju korienjem elija iz bazine biblioteke. U sluaju makro-elija, proizvoa ASIC kola unapred odreuje kako e veze izmeu elija biti realizovane, dok u sluaju makro-funkcija raspored elija i veza sloenog elementa nije unapred fiksiran, ve se odreuje u toku procesa rasporeivanja i rutiranja zajedno (i u isto vreme) sa ostalim bazinim elijama koje je definisao projektant. Postie se dvostruka uteda. Prvo, projektovanje se obavlja na viem nivou apstrakcije (na nivou gejtova, a ne na nivou tranzistora), to znaajno skrauje vreme projektovanja. Drugo, vreme i napor koji treba uloiti za kreiranje layout-a ipa su znaajno manji. Projektant ne kreira layout standardnih elije, jer je on unapred projektovan i fiksiran, ve samo rasporeuje i povezuje standardne elije. S obzirom na regularni raspored standardnih elija i veza na ipu, za kreiranje layout-a ipa mogu se koristiti CAD alati za rasporeivanje i povezivanje koji ovaj zadatak obavljaju automatski, na osnovu netliste (eme veze) standardnih elija. CAD alat za rasporeivanje tei da elije distribuira po povrini ipa tako da minimizuje rastojanje izmeu meusobno povezanih elija. CAD alat za povezivanje odreuje optimalan nain za povezivanje prethodno rasporeenih elija teei da minimizuje duinu veza. Na osnovu kreiranog rasporeda elija i veza, a uz pomo odgovarajuih CAD alata, kreiraju se maske implementaciju ipa. Dakle, za razliku od projektovanja potpuno po narudbi, gde se i projektovanje i proizvodnja IC-a obavljaju iz poetka, kod projektovanja u tehnologiji standardnih elija, projektovanje je ubrzano zahvaljujui dostupnosti pretprojektovanih struktura, dok proizvodnja i dalje startuje iz poetka. Tehnologija gejtovskih polja zasnovana je na korienju polu-fabrikovanih integrisanih kola. U gejtovskom polju, pojedini delovi ipa su unapred fabrikovani dok se preostali dorauju shodno zahtevima konkretne primene. Koncept iskoriava injenicu da se proces fabrikacije integrisanih kola sastoji od niza koraka. Na primer, u nekim koracima se kreiraju tranzistori, a u drugim metalne veze za povezivanje tranzistora. Kod tehnologije gejtovskih polja, proizvoai sprovode najvei broj koraka, tipino one koji se tiu kreiranja tranzistora, unapred, nezavisno od ciljen primene. Rezultat je silicijumska ploica nedovrenog ipa. Tipino, gejtovsko polje ini veliki broj identinih gejtova rasporeenih na silicijumskoj ploici u vidu regularne dvodimenzione matrice (Sl. 220(a)). Gejtovi su obino 3- ili 4-ulazna NI ili NILI kola, a na jednoj ploici ih moe biti i do vie miliona. Naknadnom doradom, koja podrazumeva kreiranje metalnih veza, gejtovi se povezuju na nain koji diktira konkretna primena. Proces projektovanja zasnovan na gejtovskim poljima je slian onome koji se koristi za projektovanje zasnovano na standardnim elijma. Razlika je u tome to sada projektant za realizaciju svog kola na raspolaganji ima samo jedan tip logikog kola. To podrazumera da se sve logike funkcije prisutne u projektu moraju transformisati oblik prilagoen realizaciji pomou raspoloivog tipa logikog kola.

    Cena ovakve dorade je znaajno nia u odnosu na projektovanje potpuno po narudbi, gde se celokupan ip projektuje iz poetka. Uteda u proizvodnji se postie zato to proizvoa moe da amortizuje cenu fabrikacije gotovih ipova masovnom proizvodnjom polufabrikovanih, identinih ploica gejtovskih polja. Sa druge strane, gustina gejtovskih polja je znaajno manja u odnosu na IC projektovane potpuno po narudbi. Tipino, broj raspoloivih gejtova u gejtovskom polju je od etiri i deset puta manji od broja gejtova koji se mogu realizovati na IC projektovanom potpuno po narudbi iste povrine. Dodatno, zbog ogranienog prostora u kanalima za povezivanje esto nije mogue iskoristiti sve raspoloive gejtove. Tipino, procenat iskorienja iznosi 70-90%.