Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.1. Enküçük Deyim Yinelemesiz deyim: Çarpımlar toplamı biçimindeki bir deyimde ne çarpım terimlerinin herhangi biri, ne de çarpım terimlerindeki çarpanların herhangi biri artık değilse bu deyim yinelemesizdir. Örnek: (a + a’b) = (a + b) Yinelemesiz değil (a’b’ + b’c + ac) = (a’b’ + ac) Yinelemesiz değil (a’b’ + a’c’ + ab + ac) Yinelemesiz Bir deyimin en küçük olabilmesi için: Öncelikle çarpım (ya da toplam) terimi sayısının en küçük olması, Çarpım (ya da toplam) terimi sayısı en küçük deyimler arasında da literal sayısının (çarpan ya da toplanan sayısının) en küçük olması gereklidir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.2. Cebirsel Yalınlaştırma Sistematik olmayan sezgisel bir yöntemdir. Cebirsel yöntemle en küçük deyimin çok kısa sürede bulunması mümkün olduğu gibi, çok uzun uğraşlara rağmen en küçük deyimin bulunamaması da mümkündür. Ayrıca belirli indirgemelerden sonra elde edilen bir deyimin en küçük olup olmadığını anlamak için kullanılabilecek bir yöntem de yoktur. Bu nedenle Boole işlevlerinin yalınlaştırılmasında genellikle sistematik yöntemleri kullanmak gerekir. f(a,b,c,d,e) = (ab(c’d+cd’)’+ab(c’+de’))’ = (ab(c’d+cd’)’)’ (ab(c’+de’))’ = (a’+b’+(c’d+cd’))(a’+b’+(c’+de’)’) = (a’+b’+c’d+cd’)(a’+b’+c(de’)’) = (a’+b’+c’d+cd’)(a’+b’+c(d’+e)) = (a’+b’+c’d+cd’)(a’+b’+cd’+ce) = a’+ b’+cd’ Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.3. Harita Yöntemiyle Yalınlaştırma Harita yönteminde Karnaugh haritaları kullanılarak sistematik yöntemle en küçük deyim ya da deyimler bulunur. Haritalar doğruluk çizelgelerinin çok boyutlu gösterimleri olarak da görülebilir. Haritalarda, minterm ya da maxterm’lere karşı gelen hücreler bulunur. Harita yöntemi 2, 3 ve 4 değişkenli Boole işlevlerinin yalınlaştırılması için çok kullanışlı bir yöntemdir. Bu yöntem 5 ve 6 değişkenli işlevlerin yalınlaştırılmasında ise, biraz güçlükle de olsa kullanılabilir. Değişken sayısı daha çok olan işlevlerin yalınlaştırılması için, harita yöntemi kullanılabilir bir yöntem değildir. Haritalar, yalınlaştırma dışında birden çok Boole işlevinin eşdeğer olup olmadığının araştırılması; verilen bir işlev için, istenilen yapıdaki deyimlerin uluşturulması; verilen bir işlev için, çarpımlar toplamı ya da toplamlar çarpımı biçimindeki en küçük deyimlerin tümünün bulunması gibi işlemlerde kullanılabileck yararlı bir araçtır. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.3.1. İki Değişkenli Haritalar Örnek f1(a,b) = a + a’b = (1, 2, 3) Örnek f 2(a,b) = a’b’ + a’b + ab’= (0, 1, 2) En küçük deyim: f2(a,b) = a’ + b’ En küçük deyim: f1(a,b) = a + b Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.3.2. Üç Değişkenli Haritalar Örnek f3(a,b,c) = (2, 3, 4, 6, 7) Örnek f4(a,b,c) = (0, 1, 2, 5) En küçük deyim: f3(a,b,c) = b + ac’ En küçük deyim: f4(a,b,c) = a’c’ + b’c Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.3.3. Dört Değişkenli Harita Örnek : f5(a,b,c,d) = (0, 1, 2, 3, 5, 6, 7, 8, 13, 15) En küçük deyim: f5(a,b,c,d) = a’d + a’c + bd + b’c’d’ Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
En küçük deyim: f6(a,b,c,d) = ac’ + ad’ + a’bc + b’c’d Örnek : f6(a,b,c,d) = (0, 6, 7, 8, 9, 10, 12, 13, 14) En küçük deyim: f6(a,b,c,d) = ac’ + ad’ + a’bc + b’c’d Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.3.4. Beş Değişkenli Harita Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
f7(a,b,c,d,e) = ae + ab’c’d’ + a’be’ + bde Örnek. f7(a,b,c,d,e) = (8, 10, 11, 12, 14, 15, 16, 17, 19, 21, 23, 25, 27, 29, 31) En küçük deyimler: f7(a,b,c,d,e) = ae + ab’c’d’ + a’be’ + bde = ae + ab’c’d’ + a’be’ + a’bd Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.3.5. En Küçük Deyimlerin Toplamlar Çarpımı Biçiminde Bulunması Örnek: f9(a,b,c) = a’(b’ + c’) + b’(a’ + c) = a’b’ + a’c’ + b’c = (0, 1, 2, 5) = (3, 4, 6, 7) Örnek: f8(a,b,c) = a’b + a’c + a(bc + b’c’)’ = a’b + a’c + a(b’c + bc’) = a’b + a’c + abc’ + ab’c = (1, 2, 3, 5, 6) = (0, 4, 7) En küçük deyim : f9(a,b,c) = (a’ + c)(b’ + c’) En küçük deyim : f8(a,b,c) = (b + c)(a’ + b’ + c’) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
En küçük deyim: f10(a,b,c,d) = (b’ + d)(a’ + b + c’)(a + b + c + d’) Örnek : f10(a,b,c,d) = (0, 2, 3, 5, 7, 8, 9, 13, 15) = (1, 4, 6, 10 , 11, 12, 14) En küçük deyim: f10(a,b,c,d) = (b’ + d)(a’ + b + c’)(a + b + c + d’) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Örnek: f11(a,b,c,d) = abd’ + (a + b’ + c)(bc’ + a’d + c’d’) = abd’ + abc’ + ac’d’ + a’b’d + b’c’d’ + a’cd = (0, 1, 3, 7, 8, 12, 13, 14) = (2, 4, 5, 6, 9, 10, 11, 15) En küçük deyimler: f11(a,b,c,d) = (a + b’ + c)(a’ + c’ + d’)(a’ + b + d’)(a’ + b + c’)(a + c’ + d) = (a + b’ + c)(a’ + c’ + d’)(a’ + b + d’)(b + c’ + d)(a + c’ + d) = (a + b’ + c)(a’ + c’ + d’)(a’ + b + d’)(b + c’ + d)(a + b’ + d) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.4. Eksik Tanımlanmış İşlevlerin Yalınlaştırılması Eğer değişkenler birbirinden tam bağımsız değilse, normal çalışma koşullarında kimi birleşimlerin oluşması mümkün değildir ve bu birleşimler için işlevin değeri önem taşımamaktadır. Ya da değişkenler birbirinden bağımsız olmasına rağmen, kimi birleşimler için işlevin değeri önemsiz, belirsiz ya da tanımsızdır. Bu tür işlevlere eksik tanımlanmış işlev denir. Eksik tanımlanmış işlevler için, n değişkenin 2n birleşiminden bir ya da birkaçı önemsiz birleşimlerdir (don’t care conditions). Örnek: f12(a,b,c) = a’b’c + a’bc’ Üç değişkenli f12(a,b,c) işlevinde, birden çok değişkenin değerinin aynı anda 1 olamıyacağını varsayalım. Buna göre 3, 5, 6, ve 7 numaralı birleşimler önemsiz birleşimlerdir. En küçük deyim : f12(a,b,c) = b’ + c’ Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
f13(a,b,c,d) = cd + ad’ + a’b’c’ Örnek: f13(a,b,c,d) = 1 (0, 1, 3, 7, 8) + (10, 11, 12, 13, 14, 15) En küçük deyim: f13(a,b,c,d) = cd + ad’ + a’b’c’ En küçük deyim: f13(a,b,c,d) = (b’ + c)(a’ + d’)(c’ + d) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.5. En Küçük Deyimlerin Özellikleri Örtme: f(a,b,c, ….) ve g(a,b,c, ….) aynı değişkenler üzerinde tanımlı iki Boole işlevi olsun. Eğer g işlevinin değerinin 1 olduğu tüm birleşimler için f işlevinin değeri de 1 ise, f işlevi g işlevini örter denir. İçerik (implicant): Eğer g bir çarpım terimi ise ve f g yi örüyorsa, g f nin bir içeriğidir denir. Asal içerik (prime implicant): Eğer p f nin bir içeriği ise ve p nin çarpanlarından biri atılarak elde edilecek çarpım terimlerinden hiç biri f nin içeriği değilse, p f nin bir asal içeriğidir denir. Asıl Asal İçerik (essential prime implicant): Eğer p f nin bir asal içeriği ise ve p nin örttüğü minterm’lerden en az biri, f nin asal içeriklerinden yalnız p tarafından örtülüyorsa, p f için bir asıl asal içeriktir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İşlevin harita gösterimi: Örnek: f14(a,b,c,d) = (2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15) İşlevin harita gösterimi: İşlevin asal içerikleri (7 tane): ab’, ac’, ad, b’c, bc’d’, a’cd’, a’bd’ 3 ve 15 numaralı minterm’leri örten asal içerik sayısı birdir. Bu yüzden asal içeriklerden ikisi (b’c ve ad) asıl asal içeriklerdir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
deyimlerin bulunması: Bir Boole işlevine eşdeğer çarpımlar toplamı biçimindeki en küçük deyim ya da deyimlerin bulunması: 1. İşlevin içerdiği tüm minterm’ler bulunur. 2. İşlevin tüm asal içerikleri ve asal içeriklerden hangilerinin asıl asal içerik olduğu bulunur. 3. Asıl asal içerikler enküçük deyime alınır. Asıl asal içerikler tarafından örtülmeyen minterm’leri örten en az sayıda asal içerik belirlenir ve enküçük deyime eklenir. Bir Boole işlevine eşdeğer toplamlar çarpımı biçimindeki en küçük deyim ya da deyimlerin bulunması: 1. İşlevin içerdiği tüm maxterm’ler bulunur. 2. İşlevin tüm asal içerikleri ve asal içeriklerden hangilerinin asıl asal içerik olduğu bulunur. 3. Asıl asal içerikler enküçük deyime alınır. Asıl asal içerikler tarafından örtülmeyen maxterm’leri örten en az sayıda asal içerik belirlenir ve enküçük deyime eklenir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İşlevin harita gösterimi: Örnek. f15(a,b,c,d) = (0, 1, 2, 5, 7, 10, 11, 12, 13, 14, 15) İşlevin harita gösterimi: İşlevin toplam terimi biçimindeki asal içerikleri (7 tane) (a’ + b’), (a’ + c’), (b’ + d’), (a + b + c), (a + b + d), (b + c’ + d), (a + c + d’) İşlevin asal içeriklerinden üç tanesi asıldır : (a’ + b’), (a’ + c’), (b’ + d’) Asıl asal içerikler tarafından örtülmeyen maxterm’ler: 0, 1 ve 2 numaralı maxterm’ler. Bunları örtmek için enküçük deyime iki asal içerik eklemek gerekir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
3.6. Çizelge Yöntemiyle Yalınlaştırma İki adımda gerçekleştirilir: 1. Adım: Asal içeriklerin bulunması 2. Adım: Asıl asal içeriklerin bulunması ve en küçük deyimin oluşturulması. Örnek: f16(a,b,c,,d) = (0, 1, 2, 8, 10, 11, 14, 15) Asal içerikler: a’b’c’ b’d’ ac Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Asal İçerikler Çizelgesi En küçük deyim: f16(a,b,c,d) = a’b’c’ + b’d’ + ac Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İşlevin asal içerikleri (9 tane): a’c’ b’c’ a’d’ b’d’ c’d Örnek: f17(a,b,c,d) = (0, 1, 2, 6, 9, 11, 13 ) + (4, 5, 7, 8, 10, 15) İşlevin asal içerikleri (9 tane): a’c’ b’c’ a’d’ b’d’ c’d a’b ab’ bd ad Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Asal İçerikler Çizelgesi Asal içeriklerden hiçbiri asıl değil. En küçük deyimi bulmak için satır sütun üstünlüklerinden yararlanılır. En küçük deyimler: f17(a,b,c,d) = a’d’ + a d + b’c’ = a’d’ + a d + c’d Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
İşlevin asal içerikleri (7 tane): (a + c + d) (b + c + d) (a + b’ + d) Örnek: f18(a,b,c,d) = (0, 4, 6, 7, 8, 9, 13, 14, 15 ) En küçük deyimin toplamlar çarpımı biçiminde bulumak istendiği düşünelim. İşlevin asal içerikleri (7 tane): (a + c + d) (b + c + d) (a + b’ + d) (a’ + b + c) (a’ + c + d’) (a’ + b’ + d’) (b’ + c’) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Asal İçerikler Çizelgesi En küçük deyimler: f18(a,b,c,d) = (b’+c’)(a+c+d)(a’+b+c)(a’+c+d’) = (b’+c’)(a+c+d)(a’+b+c)(a’+b’+d’) = (b’+c’)(a+c+d)(b+c+d)(a’+c+d’) = (b’+c’)(b+c+d)(a+b’+d)(a’+c+d’) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü