doğruluk tablolarını boole İfadelerine dönüştürme

18
Doğruluk Tablolarını Boole İfadelerine Dönüştürme Sayısal devre tasarımında, tasarımcı çoğunlukla devrenin ne olduğunu tanımlayan doğruluk tablosu ile başlar. Tasarım işi, doğruluk tablosunda tanımlanan fonksiyonu hangi devre türünün gerçekleştireceğ ine büyük ölçüde karar verir. Bazı insanlar doğruluk tablosuna bakmak için ve hemen bu iş için gerekli mantık geçidi yada röle mantık devresini planlamaya doğal yeteneğe sahip görünürken, bizler için mevcut olan prosedürsel teknikler vardır. Burada Boole cebri çok dramatik bir yolla faydasını kanıtlar. Bu prosedürle ilgili metodu örneklemek için, gerçek bir tasarım problemi ile başlamalıyız. Bize zehirli atık yakma fırını için alev algılama devresi tasarımlama görevi verildiğini varsayın. Ateşin güçlü ısısı, yakma fırını içerisinde ortaya çıkan gazın zehirliliğini etkisiz hale getirmek amaçlanmıştır. Böyle tutuşma-tabanlı teknikler, öldürücü virüsler yada bakteri bulaşmış olabilen medikal atığı etkisiz hale getirmede çoğunlukla kullanılır: Sadece ve sadece alev, yakıcı fırın içerisinde korunur, etkisiz hale getirilecek atığı içerisine enjekte etmek güvenlidir. Bununla birlikte eğer alev söndürülürse, yanma odasına gaz enjekte etmeye devam etmek güvensiz olacaktır, etkisiz hale getirilmemiş egzoz çıkacağı ve egzoza yakın herhangi birinde sağlık tehlikesi ortaya çıkartabileceği gibi. Bu sistemde ihtiyacımız olan şey, alevin varlığını algılamanın ve sadece alev algılama sistemi tarafından "ispatlandığında" enjekte edilebilecek atığın izin verilmesinden emin olmaktır. Optiksel (ışığın algılanması), termal (yüksek sıcaklığın algılanması) ve elektriksel iletim (alev yolundaki iyonize parçacıkların algılanması), her biri benzersiz avantaj ve dezavantaj ile birçok farklı alev-algılama teknolojisi vardır. Potansiyel olarak etkisiz hale gelmemiş atığın yakıcı fırının egzozundan çıkması ile kuşatılmış tehlikenin büyüklüğünü düşünelim, tek sensör bozukluğunun toksinlerin emisyonuna egzozdan çıkması için yol göstermesin diye, alev algılama sisteminin gerekenden fazla yapılmış olmasına karar verildi (çoklu sensörler). Her bir sensör, mantık sisteminin girişlerini aktive etmede kullanacağımız normalde-ık kontak (eğer alev yoksa açılır, eğer alev algılanmışsa kapanır) ile birlikte gelir:

Upload: ineboluu

Post on 27-Feb-2018

244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 1/18

Doğruluk Tablolarını Boole İfadelerine Dönüştürme

Sayısal devre tasarımında, tasarımcı çoğunlukla devrenin ne olduğunu tanımlayan doğruluk tablosu

ile başlar. Tasarım işi, doğruluk tablosunda tanımlanan fonksiyonu hangi devre türünün

gerçekleştireceğine büyük ölçüde karar verir. Bazı insanlar doğruluk tablosuna bakmak için ve

hemen bu iş için gerekli mantık geçidi yada röle mantık devresini planlamaya doğal yeteneğe sahip

görünürken, bizler için mevcut olan prosedürsel teknikler vardır. Burada Boole cebri çok dramatik

bir yolla faydasını kanıtlar.

Bu prosedürle ilgili metodu örneklemek için, gerçek bir tasarım problemi ile başlamalıyız. Bize

zehirli atık yakma fırını için alev algılama devresi tasarımlama görevi verildiğini varsayın. Ateşin

güçlü ısısı, yakma fırını içerisinde ortaya çıkan gazın zehirliliğini etkisiz hale getirmek

amaçlanmıştır. Böyle tutuşma-tabanlı teknikler, öldürücü virüsler yada bakteri bulaşmış olabilen

medikal atığı etkisiz hale getirmede çoğunlukla kullanılır:

Sadece ve sadece alev, yakıcı fırın içerisinde korunur, etkisiz hale getirilecek atığı içerisine enjekte

etmek güvenlidir. Bununla birlikte eğer alev söndürülürse, yanma odasına gaz enjekte etmeye

devam etmek güvensiz olacaktır, etkisiz hale getirilmemiş egzoz çıkacağı ve egzoza yakın herhangi

birinde sağlık tehlikesi ortaya çıkartabileceği gibi. Bu sistemde ihtiyacımız olan şey, alevin varlığını

algılamanın ve sadece alev algılama sistemi tarafından "ispatlandığında" enjekte edilebilecek atığın

izin verilmesinden emin olmaktır.

Optiksel (ışığın algılanması), termal (yüksek sıcaklığın algılanması) ve elektriksel iletim (alev

yolundaki iyonize parçacıkların algılanması), her biri benzersiz avantaj ve dezavantaj ile birçok

farklı alev-algılama teknolojisi vardır. Potansiyel olarak etkisiz hale gelmemiş atığın yakıcı fırının

egzozundan çıkması ile kuşatılmış tehlikenin büyüklüğünü düşünelim, tek sensör bozukluğunun

toksinlerin emisyonuna egzozdan çıkması için yol göstermesin diye, alev algılama sisteminin

gerekenden fazla yapılmış olmasına karar verildi (çoklu sensörler). Her bir sensör, mantık

sisteminin girişlerini aktive etmede kullanacağımız normalde-açık kontak (eğer alev yoksa açılır,

eğer alev algılanmışsa kapanır) ile birlikte gelir:

Page 2: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 2/18

 

Şimdi görevimiz, sadece ve sadece iyi alev sensörler tarafından ispatlandığında atık vanasını açacak

mantık sisteminin devresini tasarımlamaktır. İlk önce bu kontrol sisteminin mantıksal davranışınınne olması gerektiğine karar vermeliyiz. Sadece üç sensörden birinin alevi algılamasıyla açılacak bir

vana mı istiyoruz? Muhtemelen hayır çünkü bu çoklu sensöre sahip olma amacını bozguna

uğratacaktır. Eğer bu sensörlerden herhangi biri alev yokken alevin varlığını hatalı bir şekilde

gösterdiği gibi bir şekilde hata verse, "üç sensörden herhangi biri alevi gösteriyor" ilkesine bağlı

mantık sistemi tek-sensörlü sistemle aynı hatayı verecektir. Daha iyi bir çözüm, sadece ve sadece

tüm üç sensör  iyi alev algıladığında vanayı açma emri versin diye sistemi tasarlamak olacaktır. Bu

yolla alevi hatalı bir şekilde algılamış herhangi bir tek sensör vanayı açık pozisyonda tutamaz;

aksine, tüm üç sensörün aynı tarzda hatalı olmasını gerektirecektir -- fazlaca inanılmaz bir senaryo-

- bu meydana gelecek tehlikeli koşul için.

Böylece, doğruluk tablomuz şu şekilde görünecektir:

Page 3: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 3/18

 

Bu fonksiyonelliğin üç-girişli AND geçidiyle üretilmiş olduğunu fark etmek çok kavrama

gerektirmez: devrenin çıkışı, sadece ve sadece giriş A AND(ve) giriş B AND(ve) giriş C nin tümü

"yüksek" olduğunda "yüksek" olacaktır:

Page 4: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 4/18

Eğer röle devresi kullanılıyorsa, öyle ki sadece tüm üç sensörün alevi algılamasıyla atık vanasının

açılması için elektriksel güç gönderilmiş olacağı, bu AND fonksiyonunu üç röle kontağını seri yada

basitçe üç sensör kontağını seri bağlayarak oluşturabiliriz:

Bu tasarım stratejisi güvenliği artırırken, sistemi sensör hatalarına karşı çok duyarlı yapar. Üç

sensörden birinin, yakıcı fırının tutuşma odasında gerçekte iyi alev olduğunda alev yok gösterdiği

bir şekilde hata verdiğini varsayın. Bu tekil hata, atık vanasını üretim zaman kaybına ve boşa

harcanmış yakıta (besleme ateşi atık yakmak için kullanılamadı) neden olarak istenmeyen bir

şekilde kapatacaktır.

Bu şekilde bir hata ile sistemin gereksiz bir şekilde kapatılmadığı ve hala herhangi bir sensör

"yüksek" hatası verdiğinde güvenliği sürdürecek çoklu sensör sağlayan bir mantık sistemine sahip

olman iyi olacaktır (algılanacak bir tane olup olmamasına bağlı olmaksızın her zaman alevi

gösteren). Her iki ihtiyacı karşılayacak strateji, üç sensörden en az ikisinin iyi alev göstermesiyle

açılacak atık vanası şeklinde "üçün ikisi" sensör mantığı olacaktır. Böyle bir sistem için doğruluk

tablosu şuna benzer:

Page 5: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 5/18

 

Burada ne tür bir mantık devresinin doğruluk tablosunu tamamlayacağının belli olması gerekli

değildir. Bununla birlikte böyle bir devreyi tasarımlamak için basit bir metot, Çarpımlar -ın-Toplamı,

yada SOP  formu olarak adlandırılan Boole ifadesinin standart formunda bulunur.

Şüphelenebileceğiniz gibi, Çarpımlar-ın-Toplamı Boole ifadesi tam olarak, her bir terim Boole

değişkenlerinin çarpımsal kombinasyonu olan toplanmış Boole terimlerinin bir setidir. SOP ifadesinin

bir örneği şunun gibi bir şey olacaktır: ABC + BC + DF, "ABC", "BC" ve "DF" çarpımlarının toplamı.

Çarpımlar-ın-Toplamı ifadesinin doğruluk tablosundan üretilmesi kolaydır. Tüm yapmamız gereken,

çıkışın "yüksek" (1) olduğu herhangi bir satır için doğruluk tablosunu incelemektir ve verilen bu

giriş koşullarının 1 değerine eşit olacağı Boole çarpım terimini yazmaktır. Örneğin, üç-ün-ikisi

mantık sistemimiz için doğruluk tablosundaki A=0, B=1 ve C=1 olduğu dördüncü satırda terimin

çarpımı A'BC olacaktır, böylece bu terim sadece ve sadece A=0, B=1 ve C=1 ise 1 değerine sahip

olacaktır:

Page 6: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 6/18

Doğruluk tablosunun diğer üç satırı 1 çıkış değerine sahiptir, bu nedenle bu satırlarda onları ifade

etmek için Boole çarpım ifadelerine ihtiyaç duyar:

Son olarak, bu dört Boole çarpım ifadesini doğruluk tablosunu tanımlayan tek bir Boole ifadesi

oluşturmak için toplamayla bir araya getiririz:

Şimdi doğruluk tablosunun fonksiyonu için Boole Çarpımları-nın-Toplamı ifadesine sahibiz, bu

ifadeye bağlı olarak kolaylıkla bir mantık geçidi yada röle mantık devresi tasarımlayabiliriz:

Page 7: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 7/18

 

Page 8: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 8/18

 

Ne yazık ki bu devrelerin her ikisi de oldukça komplekstir ve sadeleştirilmesi yararlıdır. Boole cebri

tekniklerini kullanarak ifade anlamlı bir şekilde sadeleştirilebilir:

Page 9: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 9/18

 

Sadeleştirme sonucunda aynı fonksiyonu gerçekleştiren geçit yada röle formunda daha basit mantık

devreleri inşa edebiliriz:

Page 10: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 10/18

 

Bu devrelerden biri, üç alev sensöründen ikisinin alev doğrulamasına bağlı olarak yakıcı fırın atık

vanasını çalıştırma görevini yeterli derecede gerçekleştirecektir. Minimum seviyede bu ihtiyacımız

olan güvenli bir yakıcı fırın sistemidir. Bununla birlikte biz, sensörlerden herhangi birinin diğer iki

sensörle anlaşamadığı durumda algılamak için tasarlanmış mantık devresini ona ekleyerek sistemin

fonksiyonelliğini artırabiliriz.

Page 11: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 11/18

Eğer tüm üç sensör uygun bir şekilde çalışıyorsa, alevi eşit doğrulukla algılamalılar. Böylece tüm

yazmaçları ya "düşük" (000: alev yok) yada "yüksek" (111: alev iyi) olmalıdır. Herhangi bir başka

çıkış kombinasyonu (001, 010, 011, 100, 101 veya 110) sensörler arasında uyumsuzluk oluşturur

ve bu yüzden potansiyel bir sensör hatası göstergesine hizmet edebilir. Eğer altı "sensör

uyumsuzluk" koşulundan birini devreye eklersek, bu devrenin çıkışını alarmı aktive ettirmek için

kullanmalıyız. Yakıcı fırını görüntüleyen kim olursa olsun, muhtemel hatalı sensör ile çalışmaya

devam edeceğine (girişler: 011, 101 veya 110) yada tamamen güvenli olması için yakıcı fırını

kapatacağına karar verecektir. Aynı zamanda, yakıcı fırın kapatıldığında (alev yok), diğeri(leri) alev

yok gösteriyor(lar)ken hala sensörlerden biri veya bir kaçı alev gösteriyorsa (001, 010, 011, 100,

101 veya 110), kesin sensör problemi olduğu bilinebilecektir.

Bu "sensör uyuşmazlık" algılama devresi tasarımındaki ilk adım, onun davranışını tanımlayan

doğruluk tablosunu yazmaktır. "İyi alev" mantık devresinin çıkışını tanımlayan doğruluk tablosuna

sahip olduğumuzdan, tabloya ikinci devreyi ifade etmek için kolaylıklar başka bir çıkış sütunuekleyebiliriz ve mevcut mantık sistemini gösteren bir tablo yapabiliriz:

Bu yeni doğruluk tablosu sütunu için Çarpımlar-ın-Toplamı ifadesini üretmek mümkün iken, üç

değişkenin her biri için altı terim gerekecektir! Böyle bir Boole ifadesi, birçok hata yapmaya müsait

çok sayıda sadeleştirme adımı gerektirecektir:

Page 12: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 12/18

 

Doğruluk tablosundaki tüm "yüksek" (1) çıkış koşullarını hesaplamak için Çarpımlar-ın-Toplamı

ifadesini üretmeye bir alternatif, tüm "düşük" (0) çıkış koşullarını hesaplamak için Toplamlar-ın-

Çarpımı, yada POS ifadesini üretmektir. Son doğruluk tablosu sütununda daha az sayıda "düşük"

çıkış durumu olduğundan, elde edilen Toplamlar-ın-Çarpımı ifadesi daha az terim içerebilir. İsminde

olduğu gibi Toplamlar-ın-Çarpımı ifadesi çarpılanların toplandığı bir settir. POS ifadesine bir örnek,

"A + B" ile "C +D" nin toplamının çarpımı (A + B)(C + D) olacaktır.

Başlamak için, son doğruluk tablosu sütunundaki hangi satırların "düşük" (0) çıkışa sahip olduğunu

ve girişlerin koşulları için 0 a eşit olacak Boole toplam terimini saptarız. Örneğin, A=0, B=0 ve C=0

olan doğruluk tablosunun ilk satırında toplam terimi (A + B + C) olacaktır, böylece bu terim sadece

ve sadece A=0, B=0 ve C=0 olduğunda 0 değerine sahip olacaktır:

Page 13: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 13/18

 

Son doğruluk tablosunda sadece başka bir adet satır "düşük" (0) çıkışına sahiptir, böylece

Toplamlar-ın-Çarpımı ifademizi tamamlamak için tek ihtiyacımız olan şey bir tane daha toplam

terimidir. Bu son toplam terimi, A=1, B=1 ve C=1 giriş koşulu için 0 çıkış gösterir. Bu yüzden terim

(A' + B'+ C') olarak yazılmalıdır çünkü sadece tümlenmiş giriş değişkenlerinin toplamı sadece bu

koşul için 0 a eşit olacaktır:

Page 14: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 14/18

 

Elbette tamamlanmış Toplamlar-ın-Çarpımı ifadesi bu iki toplam teriminin çarpımsal

kombinasyonudur:

Page 15: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 15/18

 

Çarpımlar-ın-Toplamı ifadesi, çıkışlarının tek bir OR geçidine bağlanmasıyla AND geçidinin bir seti

biçiminde yürütülebilirken, Toplamlar-ın-Çarpımı ifadesi tek bir AND geçidini besleyen OR geçidinin

bir seti gibi yürütülebilir:

Buna karşılık, çarpımlar-ın-Toplamı ifadesi seri-bağlı röle kontaklarının paralel bir koleksiyonu gibi

yürütülebilirken, Toplamlar-ın-Çarpımı ifadesi paralel-bağlı röle kontaklarının seri bir koleksiyonu

olarak yürütülebilir:

Page 16: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 16/18

 

Önceki iki devre, "iyi alev" altılama devresi(leri) değil sadece "sensör uyuşmazlık" mantık

devresinin farklı bir versiyonlarını gösterir. Mevcut mantık sistemi, aynı diyagram üzerinde

gösterilen "iyi alev" ve "sensör uyuşmazlık" devrelerinin bir kombinasyonu olacaktır.

Programlanabilir Mantık Kontrolcüsünde (PLC) yürütülen mevcut mantık sistemi şunun gibi bir şeye 

benzeyebilir:

Page 17: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 17/18

 

Gördüğünüz gibi, her iki Çarpımlar-ın-Toplamı ve Toplamlar-ın-Çarpımı standart Boole formu,

doğruluk tablosuna uygulandığında etkilidir. Onlar Boole ifadesini türetmemize izin verir -- ve

sonuçta, gerçek bir mantık devresi -- bir mantık devresinin yapmasını istediğimiz şey için yazılmış

tanımlama olan doğruluk tablosunda başka bir şey değildir. Basit, belirleyici prosedürleri kullanarak

mevcut devreye yazılmış tanımlamadan ilerleyerek gitmenin anlamı şudur; bir sayısal devre için

tasarım işlemi otomasyonu uygulamak mümkündür. Başka bir ifadeyle, bir bilgisayar doğruluk

tablosu tanımlamasından özel bir mantık devresi tasarımlamak için programlanabilir olmalıdır!

Doğruluk tablosundan son devreye kadar izlenecek adımlar, onları idame ettirmek için eğer varsa

yaratıcılık yada diğer orijinal düşüncelerden bir miktar gerektiren çok belirsiz olmayan ve direkt

olanlardır.

Page 18: Doğruluk Tablolarını Boole İfadelerine Dönüştürme

7/25/2019 Doğruluk Tablolarını Boole İfadelerine Dönüştürme

http://slidepdf.com/reader/full/dogruluk-tablolarini-boole-ifadelerine-doenuestuerme 18/18

•  ÖZET: 

•  Çarpımlar -ın-Toplamı, yada SOP  Boole ifadeleri, tablonun hangi satırlarının 1 çıkışına sahip

olduğunu belirleyip, her bir satır için bir çarpım terimi yazarak ve sonunda bu çarpım

terimlerinin hepsini toplayarak doğruluk tablolarından oldukça kolay bir şekilde üretilebilir. Bu

doğruluk tablosunu gösteren bir Boole ifadesi oluşturur.

•  Çarpımlar-ın-Toplamı ifadeleri kendilerini, tek bir OR geçidini (toplam) besleyen bir AND geçidi

(çarpımlar) seti gibi yürütülmek için iyi bir şekilde verir.

•  Toplamlar-ın-Çarpımı, yada POS Boole ifadeleri de, tablonun hangi satırının 0 çıkışına sahip

olduğu belirlenip, her bir satır için bir toplam terimi yazılarak ve sonunda tüm toplam terimleri

çarpılarak doğruluk tablosundan oldukça kolay bir şekilde üretilebilirler. Bu doğruluk tablosunu

gösteren bir Boole ifadesi oluşturur.

•  Toplamlar-ın-Çarpımı ifadeleri kendilerini, tek bir AND geçidini (çarpım) besleyen bir OR geçidi

(toplamlar) seti gibi yürütülmek için iyi bir şekilde verir.