5. PREKLOPNE STRUKTURE ALI PREKLOPNI NOGOPOLI 5. atrično opisovanje preklopnih vezij in struktur 5.. Osnovna simbolika Vektor: an vodoravni vektor a m navpični vektor atrika: A :m :n :n - matrika reda m x n A :m - matrika reda n x m Opredelimo najprej tri osnovne nize matrik: :t.t :t :(m+n) = :m.n C A B - vodoravni niz matrik A in B C :(m+n) :t = :t A :n :n B :t T :n :m i j :m = :n j = i - navpični niz matrik A in C A ; c a - transpozicija matrike C Spremenljivke A, B, C so matrike z razsežnostmi: t x n ter m x t. B stran:
5..2 Operacije nad vektorji in matrikami Redukcija vektorja k skalarju: c = a n ; c = a m, kjer je: - splošni znak za operator, c = a a 2 a 3 a 4... a n vodoravna redukcija vektorja k skalarju, c = a a 2 a 3 a 4... a m navpična redukcija vektorja k skalarju. :n :n.t :m = :t :m C A B ( ) i i :t j :t i c = a b Negacija: C m m i i n An; c j aj Konjunkcija: C = = = i ; i m m m i i i n An Bn c j =aj bj stran: 2
Disjunkcija: m m m i i i n = n + n; c j = a j+ b j C A B Izključna ALI operacija: m m m i i i n = An Bn j j j C ; c = a b 5.2 Popolna disjunktivna normalna oblika vektorske preklopne funkcije 2 n - f(x x 2,..., x n) = f i m i i = x = [x,x 2,...,x n ], ; m,,... = m m m 2 n Funkcijske vrednosti pa: f f,f,...f = (2 n ) T Skalarna preklopna funkcija je v novi simbolični izražavi: y = f(x) = m f Vektor m je z vektorjem x povsem določen. stran: 3
intermski vektor m je dan z operacijo konjunkcije in ekvivalence: m(x) = x W T, y = f(x) = [ x W T ] f Pravilnostna tabela dobi obliko: x y = f (x) f(x) preide v vektorsko funkcijo y, z njo pa preide tudi vektor f v matriko D. W f Torej: y = f(x) = [ x W T ] D matrična popolna disjunktivna normalna x W y = f (x) D To obliko vektorske preklopne funkcije, včasih imenujemo tudi strukturna popolna disjunktivna normalna oblika (SPDNO). stran: 4
5.3 Standardna mnogopolna preklopna vezja 5.3. Kodirna vezja kodirniki (encoder-ji) i y = m Σ K ; k j = konstanta K m m m... m 2 n -............ f f 2 f 3 f 4 V konstantah matrike K je zapisano kodirno pravilo. y m K y stran: 5
5.3.2. Dekodirna vezja dekodirniki (decoder-ji) x x x 2 x n m... x m m D K m...... T m= x W ; w ij = konstanta m 2 n - stran: 6
5.3.3 ultipleksor (ultiplexer) 5.3.3.. Skalarni neadresni multipleksor k 2 n - k........... k k m m m 2 n - i m.......... y = m Σ k ; k = spremenljivka... k m y y stran: 7
5.3.3.2 Vektorski neadresni multipleksor K k k k 2 n - m m m n 2 - m......... y = m Σ K ; k = spremenljivke, ki tvorijo vektorje k i i j y y 2 y m K m y y stran: 8
K k m k m k m 2 n - k m- k m- 2 n - k m- 2 k n - k k m m m 2 n - y y m- y m stran: 9
5.3.3.3 Skalarni adresni multipleksor x k k D K m x T y y i y = ( x W ) Σ k ; k = spremenljivka - skalarna 4. 3. 3. 4 Vektorski adresni multipleksor x K K D K m x y y T i y = ( x W ) Σ K ; k = spremenljivke, ki tvorijo vektorje k i j stran:
5.3.3.4 Vektorski adresni multipleksor x K K D K m x y y T i y = ( x W ) Σ K ; k = spremenljivke, ki tvorijo vektorje k i j stran:
k 4 k 2 k 3 k 3 k 4 y 3 y 4 k k 2 y 2 k k 2 y k 3 D k x x 2 stran: 2
5.3.4 Demultipleksor (Demultiplexer) 5.3.5. Neadresni skalarni demultipleksor y y m k m D D k m m k k T k = m Σ y - y je skalarna funkcija m 2 n - k 2 n - stran: 3
stran: 4 5.3.5.2 Adresni skalarni demultipleksor y x D k T T k = ( x W ) Σ y - y je še vedno skalarna funkcija
5.3.5.3 Neadresni vektorski demultipleksor m y y y 2 n - y m D K... k m m K... k m n 2 -... T K = m Σ y - y je sedaj vektorska vhodna funkcija k 2 n - stran: 5
5.3.5.4 Adresni vektorski demultipleksor y x D K T T K = (x W ) Σ y - y je vektorska vhodna funkcija 5.3.5 Programibilna preklopna vezja Osnovna ideja programibilnih preklopnih vezij je prilagodljivost standardizirane preklopne strukture za opravljanje čim večjega števila funkcij odločanja in pomnjenja, ki jih lahko uporabnik sam določi; to je brez pomoči proizvajalca. T ) i j y = ( x W Σ K ; k = spremenljivka - skalarna T ) i j y = ( x W Σ K ; k = konstanta - programibilna stran: 6
Programibilno preklopno vezje ali strukturo lahko sedaj definiramo, kot kombinacijo dekodirnika in kodirnika, pri katerem lahko uporabnik sam določa povezave v poljih AND in/ali OR. Tip vezja Polje - AND Polje - OR Programibilni bralni pomnilnik Programibilne logične mreže - PLA Programibilna logična polja - PAL Fiksno Programibilno Programibilno Programibilno Programibilno Fiksno stran: 7
5. 3. 6. Bralni pomnilnik (Read Only emory - RO) Naslavljanje pomnilnika: T i i i j j j m = x W ; w = kons tanta; W D; w d Čitanje pomnilnika y = m Σ K ; k = kons tanta i j x D k m T i j y = ( x D ) Σ K ; k = kons tanta, ki je bila sprogramirana K y stran: 8
Podrobno vezje bralnega pomnilnika A 2 A A Kodirnik m m m 2 m 3 m 4 Dekodirnik m 5 m 6 m 7 D 3 D 2 D D stran: 9
stran: 2 5.3.6.2 PLA vezja Ta vezja imajo, kot že vemo, programibilni obe polji dekodirno in kodirno polje. x PLA y = ( x D T ) Σ K ; k = kons tanta i j y
Podroben simbolični diagram PLA vezij x 2 x Programibilno vezje PLA Programibilne povezave Programibilne povezave < f 2 f < stran: 2
5.3.6.3 PAL vezja: x 4 x 3 x 2 x atrika K je torej določena Programibilno vezje - PAL < f 4 f 3 < x PAL y stran: 22
5. 4 Realizacija skalarnih in vektorskih preklopnih funkcij s preklopnimi strukturami 5. 5. ultipleksor g g g f(x) g x x 2 x = {x, x 2,...,x n }. stran: 23
Podatkovne in adresne spremenljivke: X d = {x d, x d2,...,x dd } X, X a = {x a, x a2,...,x aa }. X, razdelimo na takšen način, da vedno velja: X a X d = X X a X d = a = 2. Torej bo: x a = x in x aa = x 2. f (x, x 2,... x n ) = x x 2 g + x x 2 g + x x 2 g + x x 2 g kjer je na primer: g = f (,,x 3,...x n ). Funkcije g, g, g, g so funkcijski ostanki, ki jih kot vemo, lahko obravnavamo na enak način kot izhodiščno funkcijo, dokler ne začnejo nastopati konstante ali posamične neodvisne spremenljivke. stran: 24
f f 2 f 4 f 6 f 8 f f 2 f 4 x 4 x 4 x 4 x 4 x 4 x 4 x 4 x 4 x 3 x 3 x 3 x 3 N Nn i= x 2 N n = n N n je število realiz. nivojev x x 2 f(x,x 2,x 3,x 4,x 5 ) i = 2 ; kjer je N - število vseh potrebnih multipleksorjev stran: 25
Pri vseh vmesnih kombinacijah, ko je < a < n bo število vseh multipleksorjev odvisno od»a«pri čemer morata biti obe števili celi števili. Po tem premisleku zlahka ugotovimo, da je : in Nn (n )/a N n +(n )/a N = 2 i= ai V prvem primeru je bil a = n, celo število iz neenačbe je, vsota pa ima tudi samo en člen, to je 2 =. V drugem primeru, ko je a = multipleksorjev je: Nn n 2 3 i i i 2 3 i= i= i= je celo število iz neenačbe n N = 2 = 2 = 2 = 2 + 2 + 2 + 2 = + 2+ 4+ 8 = 5 in število vseh Kadar pa je < a < n pa ni več vseeno kako razporedimo adresne spremenljivke, ker lahko prinese poenostavljanje znaten prihranek vezja. stran: 26
Število vseh možnih minimizacijskih postopkov je enako številu kombinacij n spremnljivk s po a elementov. n! N k = ; kjer je N k število vseh možnih kombinacij. a!(n a)! Število vseh Veitchevih diagramov za vsak minimizacijski postopek je potem 2 a. Vsak posamezen diagram pa ima n-a neodvisnih spremenljivk Redundanca pri adresnih spremenljivkah Kadar število n- ni deljivo z a se število adresnih spremenljivk ne ujema s številom adresnih vhodov. To pa pomeni, da se določene adresne spremenljivke ponovijo na različnih nivojih drevesne strukture. Takšno adresno spremenljivko lahko nadomestimo kar s konstanto. stran: 27
d 3 d 2 d d d 3 d 2 d d x x 2 d 7 d d 7 d x x 2 x 3 f f =... + xx 2x3d 6 +... x x 2 x 3 f =... + xx 2x 3(xxd 2 + xxd 2 + xxd 2 2 + xxd) 2 3 +... f =... + xx 2x 3(d + d + d2 + d 3) +... f =... + xx 2x 3(d 3) +... f stran: 28
5. 5. 2 Uporaba bralnih pomnilnikov y = x D T Σ K = i ( ) ; k j kons tanta x x 2 x 3 f f 2 f 3 f 4 f= xx2x3 + xx2x3 + xx2x3 + xx2x3 + xx2x3 + xx2x3 = + f x x 2 3 stran: 29
Pri uporabi bralnega pomnilnika za realizacijo preklopnih funkcij pa moramo opozoriti še na eno slabost. Vzemimo obširnejši primer funkcije s šestimi neodvisnimi spremenljivkami, ki zavzame vrednost pri mintermih z indeksi: 4, 5, 5, 2, 29, 4, 42, 45, 47, 53, 58, 6, 63. 6 ( ) f = 4,5,5,2,29,4,42,45,47,53,58,6,63 Neposredno realizacijo te funkcije bi lahko izvedli na primer 64 x 4 RO vezjem, oziroma štirimi 6 x 4 RO vezji. stran: 3
stran stran: 3 intermski indeks Spremenljivki Spremenljivke x x2 x3 x4 x5 x6 4 5 5 2 29 4 42 45 47 53 58 6 63 Poiščemo vse enake konjunkcije dolžine: x 3 x 4 x 5 x 6.
spremenljivke kodirane spremenljivke x 3 x 4 x 5 x 6 z z 2 z 3 Na drugem nivoju potrebujemo RO velikosti 32 x, kar praktično pomeni 32 x 4. x 3 x 4 x 5 x 6 RO 6X4 x x 2 RO 32X4 F F 2 F 3 F 4 stran: 32
stran stran: 33 Vhodi Spremenljivke Izhodi x x 2 Z Z 2 Z 3 f f 2 f 3 f 4 Opisani postopek lahko uporabimo tudi v primeru, ko moramo realizirati več različnih funkcij, kjer je prihranek prostora v pomnilniku lahko še večji. Pri vsem tem pa ne smemo pozabiti, da smo s kaskadno vezavo zmanjšali hitrost odziva vezja.
Vzemimo vektorsko funkcijo iz prvega primera Posamezne funkcijske vrednosti te funkcije: f, f 2, f 3, f 4 ; naj bodo biti besede: d, d 2, d 3, d 4, ki jo naslavlja mintrem m ; A, A, A 2. A 2 A A D 3 D 2 D D stran: 34
Sprogramirano RO vezje za obravnavano vektorsko preklopno funkcijo A 2 A A Kodirnik m m m 2 m 3 m 4 Dekodirnik m 5 m 6 m 7 D 3 D 2 D D stran: 35
Realizacija vektorskih preklopnih funkcij s PLA in PAL strukturami Njihova obsežnost je poleg števila vhodov odvisna tudi od števila konjunkcij, ki jih je možno programirati ter od števila izhodov. Primerjava: FPLA v TTL izvedbi 6 vhodov, 48 konjunkcij in 8 izhodov. Kompleksnost se odraža pri realizaciji funkcij, ker je na razpolago le omejeno število konjunkcij. Upoštevati moramo tudi to, da izolirana spremenljivka še vedno zahteva svojo konjunkcijo. Velikost vezja vedno določa najdaljša konjunkcija ne glede na položaj v vektorski funkciji. Najprej izvedemo klasično minimizacijo. Od tu dalje pa postopek zavisi od izbranega tipa vezja PLA oziroma PAL Pri PLA nas omejuje število konjunkcij in število spremenljivk v konjunkcijah Pri PAL pa še dodatno število konjunkcij v posamični komponenti vektorske preklopne funkcije, ki so povezane disjunktivno. stran: 36
Primer realizacije s PLA y = x+ x2x3 y2 = xx3 + xx2 y3 = x2x3 + xx2 y4 = x2x3 + x Vemo, da je potrebno število spremenljivk 3: x, x 2, x 3. število različnih konjunkcij (x,x 2x 3,xx 3,xx 2,x2x 3) število izhodnih funkcij elementov vektorske funkcije 4 x x 2 x 3 Potrebujemo torej vezje z najmanj tremi vhodi, petimi konjunkcijami in štirimi izhodi. > > > > y y 2 y 3 y 4 stran: 37
Povezovalna tabela za PLA: Konjunkcije VHODI IZHODI x x 2 x 3 f f 2 f 3 f 4 x x 2 - x 2 x 3 - x x 3 - x 2 x 3 - x - - - originalna spremenljivka - komplementirana spremenljivka - spremenljivka ne nastopa v konjunkciji - konjunkcijo si deli več komponent stran: 38
Sprogramirana mreža stran: 39 > > > > y y 2 y 3 y 4 x 3 x 2 x
Uporaba kodiranja Neodvisne spremenljivke pri tem razdelimo v skupine npr. po dve y = xx3 + xx2x4 + x2x3x4 y2 = xxx 2 3 + xxx 2 3 + xxx 2 3 + xxx 3 4 + xxxx 2 3 4 + xxxx 2 3 4 y3 = x2x4 + x2x4 Faktorizacija prinese: y = xx 3 + (x+ x 3)x2x4 y = (xx + xx )(x + x ) + (xx + xx )xx = 2 3 3 2 4 3 3 2 4 = (x + x )(x + x )(x + x ) + (x + x )(x + x )x x 3 3 2 4 3 3 2 4 y = (x + x )(x + x ) 3 2 4 2 4 Namesto enajst AND elementov, kolikor bi jih potrebovali pri elementarni minimizaciji, jih sedaj potrebujemo samo še pet. stran: 4
Za realizacijo te funkcije potrebujemo PLA vezje z najmanj tremi vhodi, petimi konjunkcijami in tremi izhodi x x 3 x 2 x 4 x +x 3 x 2 +x 2 x x 3 x 2 x 4 x 3 D x +x 3 x x 3 x 4 D 2 x 2 +x 4 x 2 x 4 x +x 3 x 2 +x 4 x x 3 x 2 x 3 x +x 3 x 2 +x 4 x V neki skalarni funkciji f(x,x 2,x 3,x 4 ) lahko nastopa na primer skupina spremenljivk x,x 2 akstermi teh dveh spremenljivk so: (x+ x 2),(x+ x 2),(x+ x 2),(x+ x 2) x 2 stran: 4
Pri realizaciji s PAL vezji nas omejuje še število konjunkcij v posamezni komponeti funkcije. To število je praviloma manjše od števila AND elementov. Posamezne izvedbe teh vezij se po kompleksnosti lahko zelo razlikujejo med seboj. Tako imajo na primer PAL vezja s šestnajstimi vhodi in šestnajstimi konjunkcijami štiri OR elemente s po štirimi vhodi ali dva OR elementa s po osmimi vhodi. Od tu izvira tudi glavna razlika glede realizacije funkcij s PAL vezji v primerjavi s PLA. edtem, ko je pri PLA mogoče izkoristiti skupne konjunkcije, tu tega ni mogoče. Tipičen primer uporabe PAL vezja je na primer primerjalnik in naj bo le 2-biten Posamezne komponente njegove vektorske preklopne funkcije so: A= B:y = AA BB + AA BB + A A BB + A A BB A B:y = AB + AB + AB + AB 2 A < B:y = AB + A A B + A BB 3 A > B:y = AB + A A B + A BB 4 stran: 42
Primerno PAL vezje bo torej edino: A A B B 4 x 6 x 4 A A B B A A B B A A B B A A B B A B A B A B A B A B A A B y > y 2 > y 3 > y 4 > A B B - A B A A B A B B - stran: 43