Boole Cebri İşlemleri

advertisement
Boole Cebri
(Boolean Algebra)
Boole Cebri İşlemleri
•
3 temel işlem bulunmaktadır:
İşlem:
VE
(AND)
VEYA
(OR)
TÜMLEME
(NOT)
İfadesi:
xy, x•y
x+y
x’
Doğruluk
tablosu:
x
y
xy
x
y
x+y
x
x’
0
0
0
0
0
0
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 2n tanedir.
Tablodaki 2n 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)
f(0,0,1)
f(0,1,0)
f(0,1,1)
f(1,0,0)
f(1,0,1)
f(1,1,0)
f(1,1,1)
= (0 + 1)0 + 1
= (0 + 1)1 + 1
= (0 + 0)0 + 1
= (0 + 0)1 + 1
= (1 + 1)0 + 0
= (1 + 1)1 + 0
= (1 + 0)0 + 0
= (1 + 0)1 + 0
=1
=1
=1
=1
=0
=1
=0
=1
x
y
z
f(x,y,z)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
1
0
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:
Lojik Kapı:
VE
VEYA
TÜMLEME
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 23=8 satırlık bir doğruluk tablosu
oluşturulmalıdır.
x
y
z
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
f
•
•
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
1
1
1
0
0
0
x
y
z
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
f
1
Doğruluk tablosu tamamlanır…
x
y
z
f
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
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
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
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ı
•
1.
3.
5.
7.
9.
10.
12.
14.
16.
Boole Cebri Aksiyomları aşağıdaki liste ile özetlenebilir.
x+0=x
x+1=1
x+x=x
x + x’ = 1
(x’)’ = x
x+y=y+x
x + (y + z) = (x + y) + z
x(y + z) = xy + xz
(x + y)’ = x’y’
2.
4.
6.
8.
11.
13.
15.
17.
x
x
x
x
•1=x
•0=0
•x=x
• x’ = 0
xy = yx
x(yz) = (xy)z
x + yz = (x + y)(x + z)
(xy)’ = x’ + y’
Değişme
Birleşme
Dağılma
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.
3.
5.
7.
9.
10.
12.
14.
16.
x+0=x
x+1=1
x+x=x
x + x’ = 1
(x’)’ = x
x+y=y+x
x + (y + z) = (x + y) + z
x(y + z) = xy + xz
(x + y)’ = x’y’
2.
4.
6.
8.
11.
13.
15.
17.
x
x
x
x
•
•
•
•
1=x
0=0
x=x
x’ = 0
xy = yx
x(yz) = (xy)z
x + yz = (x + y)(x + z)
(xy)’ = x’ + y’
Değişme
Birleşme
Dağılma
DeMorgan
Aksiyomlar yardımıyla Fonksiyonların Basitleştirilmesi
Aşağıdaki fonksiyonu basitleştirelim:
x’y’ + xyz + x’y
= x’(y’ + y) + xyz
= x’•1 + xyz
= x’ + xyz
= (x’ + x)(x’ + yz)
= 1 • (x’ + yz)
= x’ + yz
1.
3.
5.
7.
9.
10.
12.
14.
16.
x+0=x
x+1=1
x+x=x
x + x’ = 1
(x’)’ = x
x+y=y+x
x + (y + z) = (x + y) + z
x(y + z) = xy + xz
(x + y)’ = x’y’
[ Dağılma; x’y’ + x’y = x’(y’ + y) ]
[ Aksiyom 7; y’ + y = 1 ]
[ Aksiyom 2; x’•1 = x’ ]
[ Dağılma]
[ Aksiyom 7; x’ + x = 1 ]
[ Aksiyom 2 ]
2.
4.
6.
8.
11.
13.
15.
17.
x
x
x
x
•
•
•
•
1=x
0=0
x=x
x’ = 0
xy = yx
x(yz) = (xy)z
x + yz = (x + y)(x + z)
(xy)’ = x’ + y’
Değişme
Birleşme
Dağılma
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.
2.
3.
•
x + xy = x
xy + xy’ = x
x + x’y = x + y
4.
5.
6.
x(x + y) = x
(x + y)(x + y’) = x
x(x’ + y) = xy
Bu kuralların ispatını iki yol ile yapabiliriz:
1. Doğruluk tablosu ile:
x y x’ x’y
0
0
1
1
2. Aksiyomlar yardımıyla:
x + x’y
0
1
0
1
x + x’y = (x + x’)(x + y)
= 1 • (x + y)
=x+y
x
y
x+y
0
0
1
1
0
1
0
1
0
1
1
1
[ Dağılma ]
[ x + x’ = 1 ]
[ 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)
x
y
z
f’(x,y,z)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
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 2n minterim yazılabilir.
•
Örnek: 3 değişkenli f(x,y,z) fonksiyonunda 23 = 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
m0
x’y’z
x=0, y=0, z=1
m1
x’yz’
x=0, y=1, z=0
m2
x’yz
x=0, y=1, z=1
m3
xy’z’
x=1, y=0, z=0
m4
xy’z
x=1, y=0, z=1
m5
xyz’
x=1, y=1, z=0
m6
xyz
x=1, y=1, z=1
m7
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
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
f = x’y’z’ + x’y’z + x’yz’ + x’yz + xyz’
= m0 + m1 + m2 + m3 + m6
= Σ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
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
f = x’y’z’ + x’y’z + x’yz’ + x’yz + xyz’
= m0 + m1 + m2 + m3 + m6
= Σm(0,1,2,3,6)
f’ = xy’z’ + xy’z + xyz
= m4 + m5 + m7
= Σ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 2n makterim yazılabilir.
•
Örnek: 3 değişkenli f(x,y,z) fonksiyonunda 23 = 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.
Eğer, …
x+y+z
x=0, y=0, z=0
x + y + z’
x=0, y=0, z=1
x + y’ + z
x=0, y=1, z=0
x + y’ + z’
x=0, y=1, z=1
x’ + y + z
x=1, y=0, z=0
x’ + y + z’
x=1, y=0, z=1
x’ + y’ + z
x=1, y=1, z=0
x’ + y’ + z’
x=1, y=1, z=1
Kısa
gösterimi:
M0
M1
M2
M3
M4
M5
M6
M7
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
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
f = (x’ + y + z)(x’ + y + z’)(x’ + y’ + z’)
= M4 M5 M7
= ∏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
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
f = (x’ + y + z)(x’ + y + z’)(x’ + y’ + z’)
= M4 M5 M7
= ∏M(4,5,7)
f’ = (x + y + z)(x + y + z’)(x + y’ + z)
(x + y’ + z’)(x’ + y’ + z)
= M0 M1 M2 M3 M6
= ∏ M(0,1,2,3,6)
Not: f’, f de olmayan tüm makterimleri içerir.
Minterim – Makterim ilişkisi
•
Herhangi bir minterim mi nin tümleyeni karşılık gelen Makterim Mi ye eşittir.
Minterim Kısa göst.
x’y’z’
m0
x’y’z
m1
x’yz’
m2
x’yz
m3
xy’z’
m4
xy’z
m5
xyz’
m6
xyz
m7
•
Makterim Kısa göst.
x+y+z
M0
x + y + z’
M1
x + y’ + z
M2
x + y’ + z’
M3
x’ + y + z
M4
x’ + y + z’
M5
x’ + y’ + z
M6
x’ + y’ + z’
M7
Örneğin, m4’ = M4 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
f’
= Σm(0,1,2,3,6)
= Σm(4,5,7)
= m4 + m5 + m7
(f’)’ = (m4 + m5 + m7)’
f = m4’ m5’ m7’
[ DeMorgan Kuralı ]
[ mi’ = Mi ]
= M4 M5 M7
= ∏ 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
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
m0
m1
m2
m3
m4
m5
m6
m7
m8
m9
m10
m11
m12
m13
m14
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')
= m15 + m13 + m14 + m12 + m7 + m6
= Σ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)
Download