Boole Cebri (Boolean Algebra)
3 temel işlem bulunmaktadır: Boole Cebri İşlemleri İşlem: VE (AND) VEYA (OR) TÜMLEME (NOT) İfadesi: xy, x y x + y x Doğruluk tablosu: x y xy 0 0 0 x y x+y 0 0 0 x x 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1
Boole Fonksiyonu Tanımlanmış olan 3 temel işlem kullanılarak elde edilen fonksiyonlardır. Örnek: f(x,y,z) = (x + y )z + x Burada: f: fonksiyonun adı x, y ve z: giriş değişkenleri x, y, z ve x : terim (giriş değişkenlerinin kendileri veya tümleyenleri birer terimi oluşturur. Örneğin bu fonksiyonda 4 terim bulunmaktadır.
Doğruluk Tablosu (Truth table) Bir doğruluk tablosu giriş değişkenlerinin alabileceği tüm olası değerlere karşılık fonksiyonun alacağı değeri veren tablodur. Her bir giriş değişkeni 1 veya 0 değeri alabilir. Bu durumda eğer n tane giriş değişkeni var ise, giriş değişkenlerinin alabileceği değerler toplam 2 n tanedir. Tablodaki 2 n tane satır binary olarak sıralanır. Örneğin, 3 değişkenli bir fonksiyon için 000 dan 111 e doğru... f(x,y,z) = (x + y )z + x f(0,0,0) = (0 + 1)0 + 1 = 1 f(0,0,1) = (0 + 1)1 + 1 = 1 f(0,1,0) = (0 + 0)0 + 1 = 1 f(0,1,1) = (0 + 0)1 + 1 = 1 f(1,0,0) = (1 + 1)0 + 0 = 0 f(1,0,1) = (1 + 1)1 + 0 = 1 f(1,1,0) = (1 + 0)0 + 0 = 0 f(1,1,1) = (1 + 0)1 + 0 = 1 x y z f(x,y,z) 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1
Fonksiyonlar ve Devreleri Herhangi bir Boole fonksiyonu temel lojik kapılar kullanılarak bir devreye dönüşebilir. İşlem sırasının doğru sırada olmasına dikkat edilmelidir! Temel İşlemlere ait Kapılar: İşlem: VE VEYA TÜMLEME Lojik Kapı:
Fonksiyonlar ve Devreleri (x + y )z + x
Devre Analizi Devre Analizi sonucunda devrenin karşılığı olan lojik fonksiyonun ifadesi veya doğruluk tablosu elde edilir. İlk adım olarak giriş değişkenleri ve çıkış belirlenir. Örnek: Bu devrede üç tane giriş değişkeni vardır: x, y, z. Çıkış ise yani fonksiyonun adı: f.
Cebirsel ifadelerin yazılması Ardından, girişlerden başlayarak çıkışa kadar adım adım kapıların çıkışındaki ifadeler yazılır. Böylece, en son kapıda çıkış ifadesi ortaya çıkar: f(x,y,z) = xz + y z + x yz
... veya doğruluk tablosu yapılması Fonksiyonun ifadesini bulmadan doğrudan doğruluk tablosu da yapılabilir. 3 değişkenli bu devre için 2 3 =8 satırlık bir doğruluk tablosu oluşturulmalıdır. x y z f 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Her bir satır için değişkenlerin değerlerini yerlerine yazarak çıkışın değeri hesaplanır. Örneğin, xyz = 101 olduğunda, kapıların çıkışlarınki değerler aşağıdaki gibi yazılabilir. Sonunda çıkış hesaplanır: f(1,0,1) = 1 1 0 1 1 0 0 1 1 0 1 x y z f 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1
Doğruluk tablosu tamamlanır x y z f 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1
Fonksiyonların ifadeleri ve Doğruluk Tabloları Bir fonksiyonun doğruluk tablosu zaten elimizde var ise, devre üzerinden hesaplamak yerine fonksiyonun ifadesi üzerinden hesaplama yaparak tablo oluşturmak daha kolaydır. Örneğin, f(x,y,z) = xz + y z + x yz fonksiyonu için: x y z xz y z x yz f 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1
Devre Analizi - Özet Devrenin giriş ve çıkışlarının bulunması Devrenin çıkışı için Boole fonksiyonunun elde edilmesi Devrenin doğruluk tablosunun bulunması
Fonksiyonların Basitleştirilmesi Boole Cebri, Binary sayı sistemi üzerine kurulu olan cebirdir. Normal cebirden farkı Değişkenler sadece 0 ve 1 değerlerini alır. VE, VEYA ve TÜMLEME olmak üzere 3 temel işlem üzerine kuruludur. Üzerine tanımlanmış olan aksiyomlar vardır:
Boole Cebri Aksiyomları Boole Cebri Aksiyomları aşağıdaki liste ile özetlenebilir. 1. x + 0 = x 2. x 1 = x 3. x + 1 = 1 4. x 0 = 0 5. x + x = x 6. x x = x 7. x + x = 1 8. x x = 0 9. (x ) = x 10. x + y = y + x 11. xy = yx Değişme 12. x + (y + z) = (x + y) + z 13. x(yz) = (xy)z Birleşme 14. x(y + z) = xy + xz 15. x + yz = (x + y)(x + z) Dağılma 16. (x + y) = x y 17. (xy) = x + y DeMorgan
Boole Cebri Kuralları Sağ sütundaki eşitlikler sol sütundakilerin eşleniği (dual) dir. Eşlenik (dual) den kastedilen: Eşitlikte VEYA yerine VE, VE yerine VEYA 1 yerine 0 0 yerine 1 yazılmaktadır. 1. x + 0 = x 2. x 1 = x 3. x + 1 = 1 4. x 0 = 0 5. x + x = x 6. x x = x 7. x + x = 1 8. x x = 0 9. (x ) = x 10. x + y = y + x 11. xy = yx Değişme 12. x + (y + z) = (x + y) + z 13. x(yz) = (xy)z Birleşme 14. x(y + z) = xy + xz 15. x + yz = (x + y)(x + z) Dağılma 16. (x + y) = x y 17. (xy) = x + y DeMorgan
Aksiyomlar yardımıyla Fonksiyonların Basitleştirilmesi Aşağıdaki fonksiyonu basitleştirelim: x y + xyz + x y = x (y + y) + xyz [ Dağılma; x y + x y = x (y + y) ] = x 1 + xyz [ Aksiyom 7; y + y = 1 ] = x + xyz [ Aksiyom 2; x 1 = x ] = (x + x)(x + yz) [ Dağılma] = 1 (x + yz) [Aksiyom7; x + x = 1 ] = x + yz [Aksiyom2] 1. x + 0 = x 2. x 1 = x 3. x + 1 = 1 4. x 0 = 0 5. x + x = x 6. x x = x 7. x + x = 1 8. x x = 0 9. (x ) = x 10. x + y = y + x 11. xy = yx Değişme 12. x + (y + z) = (x + y) + z 13. x(yz) = (xy)z Birleşme 14. x(y + z) = xy + xz 15. x + yz = (x + y)(x + z) Dağılma 16. (x + y) = x y 17. (xy) = x + y DeMorgan
İki devrenin karşılaştırılması Daha basit ve daha hızlıdır; Daha az enerji harcar.
Bir başka örnek F= X YZ+ X YZ +XZ = X Y(Z+Z )+XZ (14) = X Y. 1 + XZ (7) = X Y+ XZ (2)
Alıştırma Soruları -1 Aşağıdaki Boole fonksiyonlarını aksiyomlar yardımıyla basitleştiriniz. Fonksiyon kaç terimden oluşuyordu. Siz kaç terime indirgediniz? a. A'C' + A'BC + B'C b. (A+B)'(A' + B') c. ABC + A'C d. BC + B(AD + C'D) e. (D'E + C' + ED'C')(D'EC + A(D+E') + AC) Çözümleri bir hafta sonra www.yildiz.edu.tr/~bataslar adresinde Lojik Devre Temelleri linkinin altında bulabilirsiniz.
Birkaç Yeni Kural Boole Cebrinde tanımlı birkaç kural aşağıda verilmiştir. Burada da sağ ve sol sütunlar arasında dual lik söz konusudur! 1. x + xy = x 4. x(x + y) = x 2. xy + xy = x 5. (x + y)(x + y ) = x 3. x + x y = x + y 6. x(x + y) = xy Bu kuralların ispatını iki yol ile yapabiliriz: 1. Doğruluk tablosu ile: x y x x y x + x y x y x + y 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 1 1 1 2. Aksiyomlar yardımıyla: x + x y = (x + x )(x + y) [ Dağılma ] = 1 (x + y) [ x + x = 1 ] = x + y [ Aksiyom 2 ]
Consensus Teoremi XY + X Z + YZ = XY + X Z ve (X+Y)(X +Z)(Y+Z) = (X+Y)(X +Z) İspatı: XY + X Z + YZ = XY + X Z + YZ(X + X ) = XY + X Z + XYZ + X YZ = XY + XYZ + X Z + X YZ = XY(1 + Z) + X Z(1 + Y) = XY + X Z
Bir fonksiyonun Tümleyeni Bir fonksiyonun tümleyeni alınırsa, fonksiyon değerinin 0 olduğu yerlerde 1; 1 olduğu yerlerde ise 0 değerini alır. Doğruluk tablosu açısından 0 ların yerine 1; 1 lerin yerine ise 0 yazmak yeterlidir. f(x,y,z) = x(y z + yz) x y z f(x,y,z) 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 x y z f (x,y,z) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1
Bir fonksiyonun tümleyeninin cebirsel olarak bulunması DeMorgan kurallından yararlanabiliriz: f(x,y,z) = x(y z + yz) f (x,y,z) = ( x(y z + yz) ) [ eşitliğin iki tarafının da tümleyeni ] = x + (y z + yz) [ çünkü (xy) = x + y ] = x + (y z ) (yz) [çünkü (x + y) = x y ] = x + (y + z)(y + z ) [çünkü (xy) = x + y ]
İfadelerin standart gösterimi Bir Boole fonksiyonu birden fazla şekilde ifade edilebilir. Sonuç değişmez. Ancak, bazı gösterimler daha kullanışlıdır. Bir Çarpımlar Toplamı (Sum of products (SOP)) gösterimi: Terimlerin çarpımı şeklindeki ifadelerin toplamıdır. f(x,y,z) = y + x yz + xz Bu gösterimin avantajı iki-seviyeli devre ile gerçeklenmeleridir. Terimler ve tümleyenleri: Sıfırıncı seviye VE kapıları: Birinci seviye Bir tek VEYA kapısı: İkinci seviyeyi oluşturmaktadır. Bu durumda diyagram biraz basitleştirilerek çizilirse (Tümleme kapıları gösterilmemiştir ve terimler birden fazla yerde gösterilmiştir.) :
Minterim (minterm) Bir minterim özel bir terimler çarpımıdır. Özelliği ise, her bir minterimde fonksiyonda var olan değişkenlerin hepsi bir kez yer almaktadır. Yalnız herbir değişken ya kendisi yada tümleyeni olarak yer alabilir. n tane değişkene sahip bir fonksiyon için 2 n minterim yazılabilir. Örnek: 3 değişkenli f(x,y,z) fonksiyonunda 2 3 = 8 minterim vardır: x y z x y z x yz x yz xy z xy z xyz xyz Her bir minterim girişlerin bir kombinasyonunda 1 değerini alır: Minterim 1 değerini alır. Kısa Eğer, gösterimi: x y z x=0, y=0, z=0 m 0 x y z x=0, y=0, z=1 m 1 x yz x=0, y=1, z=0 m 2 x yz x=0, y=1, z=1 m 3 xy z x=1, y=0, z=0 m 4 xy z x=1, y=0, z=1 m 5 xyz x=1, y=1, z=0 m 6 xyz x=1, y=1, z=1 m 7
Minterimler Toplamı Gösterimi Her bir fonksiyon minterimler toplamı şeklinde yazılabilir ve bu gösterim tek tir. Minterimler toplamı fonksiyonun doğruluk tablosundan kolaylıkla yazılabilir. Fonksiyonun değerinin 1 olduğu satırlara karşılık gelen minterimler alınıp bunların bir toplamı şeklinde yazılabilir. x y z f(x,y,z) 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 f = x y z + x y z + x yz + x yz + xyz = m 0 + m 1 + m 2 + m 3 + m 6 = Σm(0,1,2,3,6)
Minterimler Toplamı Gösterimi f(x,y,z) fonksiyonunun tümleyeni minterimler toplamı şeklinde yazılmak istenirse: x y z f(x,y,z) f (x,y,z) 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 f = x y z + x y z + x yz + x yz + xyz = m 0 + m 1 + m 2 + m 3 + m 6 = Σm(0,1,2,3,6) f = xy z + xy z + xyz = m 4 + m 5 + m 7 = Σm(4,5,7) Not: f, f de olmayan tüm minterimleri içerir.
Toplamlar Çarpımı Bir Toplamlar Çarpımı (Product of Sums (POS)) gösterimi: Terimlerin toplamı şeklindeki ifadelerin çarpımıdır. f(x,y,z) = y (x + y + z ) (x + z) Bu gösterimin avantajı iki-seviyeli devre ile gerçeklenmeleridir. Terimler ve tümleyenleri: Sıfırıncı seviye VEYA kapıları: Birinci seviye Bir tek VE kapısı: İkinci seviyeyi oluşturmaktadır.
Makterim (Maxterm) Bir makterim özel bir terimler toplamıdır. Özelliği ise, her bir makterimde fonksiyonda var olan değişkenlerin hepsi bir kez yer almaktadır. Yalnız herbir değişken ya kendisi yada tümleyeni olarak yer alabilir. n tane değişkene sahip bir fonksiyon için 2 n makterim yazılabilir. Örnek: 3 değişkenli f(x,y,z) fonksiyonunda 2 3 = 8 makterim vardır: x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z Her bir makterim girişlerin bir kombinasyonunda 0 değerini alır: Makterim 0 değerini alır. Kısa Eğer, gösterimi: x + y + z x=0, y=0, z=0 M 0 x + y + z x=0, y=0, z=1 M 1 x + y + z x=0, y=1, z=0 M 2 x + y + z x=0, y=1, z=1 M 3 x + y + z x=1, y=0, z=0 M 4 x + y + z x=1, y=0, z=1 M 5 x + y + z x=1, y=1, z=0 M 6 x + y + z x=1, y=1, z=1 M 7
Makterimler Çarpımı Gösterimi Her bir fonksiyon makterimler çarpımı şeklinde yazılabilir ve bu gösterim tek tir. Makterimler çarpımı fonksiyonun doğruluk tablosundan kolaylıkla yazılabilir. Fonksiyonun değerinin 0 olduğu satırlara karşılık gelen makterimler alınıp bunların bir çarpımı şeklinde yazılabilir. x y z f(x,y,z) 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 0 f = (x + y + z)(x + y + z )(x + y + z ) = M 4 M 5 M 7 = M(4,5,7)
Makterimler Çarpımı Gösterimi f(x,y,z) fonksiyonunun tümleyeni makterimler çarpımı şeklinde yazılmak istenirse: x y z f(x,y,z) f (x,y,z) 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 f = (x + y + z)(x + y + z )(x + y + z ) = M 4 M 5 M 7 = M(4,5,7) f = (x + y + z)(x + y + z )(x + y + z) (x + y + z )(x + y + z) = M 0 M 1 M 2 M 3 M 6 = M(0,1,2,3,6) Not: f, f de olmayan tüm makterimleri içerir.
Minterim Makterim ilişkisi Herhangi bir minterim m i nin tümleyeni karşılık gelen Makterim M i ye eşittir. Minterim x y z m 0 x y z m 1 x yz m 2 x yz m 3 xy z m 4 xy z m 5 xyz m 6 xyz m 7 Kısa göst. Makterim x + y + z M 0 x + y + z M 1 x + y + z M 2 x + y + z M 3 x + y + z M 4 x + y + z M 5 x + y + z M 6 x + y + z M 7 Kısa göst. Örneğin, m 4 = M 4 dir. Çünkü: (xy z ) = x + y + z
Standart Formlar arasında dönüşüm Minterimler toplamını Makterimler çarpımına dönüştürebiliriz: f = Σm(0,1,2,3,6) f = Σm(4,5,7) = m 4 + m 5 + m 7 (f ) = (m 4 + m 5 + m 7 ) f = m 4 m 5 m 7 [ DeMorgan Kuralı ] = M 4 M 5 M 7 [m i = M i ] = M(4,5,7) Sonuç olarak, sadece fonksiyonda bulunmayan minterim numaralarına karşılık gelen makterimleri yazmak yeterli olmaktadır. f = Σm(0,1,2,3,6) = M(4,5,7) Aynı dönüşüm makterimler çarpımından minterimler toplamına dönüşüm için de geçerlidir.
Örnek F(A,B,C,D) = (AB+C)(B+C'D) fonksiyonu için a. DeMorgan kuralını uygulayarak F fonksiyonunu elde ediniz. b. F fonksiyonunu minterimler toplamı şeklinde ifade ediniz. c. F fonksiyonunu makterimler çarpımı şeklinde ifade ediniz. d. F' fonksiyonunu makterimler çarpımı şekline dönüştürünüz.
F(A,B,C,D) = (AB+C)(B+C'D) a. DeMorgan kuralını uygulayarak F fonksiyonunu elde ediniz. F(A,B,C,D) = (AB+C)(B+C'D) F (A,B,C,D) = ((AB+C)(B+C'D))' = ((AB+C)' + (B+C'D)' = ((AB)'C' + B'(C + D') = (A'+B')C' + B'(C+D')
F(A,B,C,D) = (AB+C)(B+C'D) b. F fonksiyonunu minterimler toplamı şeklinde ifade ediniz. F(A,B,C,D) = (AB+C)(B+C'D) = ABB + ABC'D + BC + CC'D [ Dağılma ] =AB + ABC'D + BC [ xx = x; x'x = 0; x+0=x] =AB + BC [ x + xy = x ] Bu aşamada iki seçenek söz konusudur: 1. Doğruluk tablosu yapılarak minterimler çıkarılır. 2. Cebirsel olarak fonksiyon genişletilir.
F(A,B,C,D) = (AB+C)(B+C'D) 1. Doğruluk tablosu yapılarak minterimler çıkarılır: F(A,B,C,D) = AB + BC A B C D F 0 0 0 0 0 m0 0 0 0 1 0 m1 0 0 1 0 0 m2 0 0 1 1 0 m3 0 1 0 0 0 m4 0 1 0 1 0 m5 0 1 1 0 1 m6 0 1 1 1 1 m7 1 0 0 0 0 m8 1 0 0 1 0 m9 1 0 1 0 0 m10 1 0 1 1 0 m11 1 1 0 0 1 m12 1 1 0 1 1 m13 1 1 1 0 1 m14 1 1 1 1 1 m15 F(A,B,C,D) = Σm(6,7,12,13,14,15)
F(A,B,C,D) = (AB+C)(B+C'D) 2. Cebirsel olarak fonksiyon genişletilir: F(A,B,C,D) = AB + BC = AB(C+C') (D+D') + BC(A+A') (D+D') = (ABCD + ABC'D + ABCD + ABC'D ) +(ABCD + A'BCD + ABCD' + A'BCD') = ABCD + ABC'D + ABCD + ABC'D + A'BCD + A'BCD') = m 15 + m 13 + m 14 + m 12 + m 7 + m 6 = Σm(6,7,12,13,14,15)
F(A,B,C,D) = (AB+C)(B+C'D) c. F fonksiyonunu makterimler çarpımı şeklinde ifade ediniz F(A,B,C,D) = Σm(6,7,12,13,14,15) F(A,B,C,D) = ПM(0,1,2,3,4,5,8,9,10,11)
F(A,B,C,D) = (AB+C)(B+C'D) d. F' fonksiyonunu makterimler çarpımı şekline dönüştürünüz. F(A,B,C,D) = ПM(0,1,2,3,4,5,8,9,10,11) F'(A,B,C,D) = ПM (6,7,12,13,14,15)