MANTIK DEVRELERİsaitdemir.net/mantik/H5_BLM221.pdfMantık problemleri çoğu zaman bir yada daha...
Transcript of MANTIK DEVRELERİsaitdemir.net/mantik/H5_BLM221.pdfMantık problemleri çoğu zaman bir yada daha...
KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
BLM 221 MANTIK DEVRELERİ
Prof Dr Mehmet AKBABA
5. HAFTA
Temel Kavramlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2
Boole Fonksiyonlarının Minterm ve
Maxterm İfadeleri 1. Cümlelerin Boolean Cebirine Dönüştürülmesi
2. Doğruluk Tabloları Kullanılarak
Kombinasyonel Devre Tasarımı
3. Minterm ve Maxterm Genişletilmesi
4. Genel Minterm ve Maxterm İfadeler
5. Tamamlanmamış (Eksik Tanımlanmış)
Fonksiyonlar
6. Doğruluk Tablosu Oluşturma Örnekleri
7. İkili Toplayıcı ve Çıkarıcıların Tasarımı
Cümlelerin Boolean Cebirine
Dönüştürülmesi
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 3
4.1 Cümlelerin Boolean Cebirine
Dönüştürülmesi
Tek çıkışlı kombinasyonel bir devre tasarımı için gerekli 3
ana adım aşağıda verilmiştir:
1. İstenilen davranışı sergileyen bir devrenin Boole
(switching) fonksiyonunu veya ifadesini oluştur.
2. Elde edilen Boole fonksiyonunun (ifadesinin)
sadeleştirilmiş cebirsel ifadesini bul.
3. Sadeleştirilmiş haldeki devreyi uygun mantık
kapılarıyla gerçekleştir.
Cümlelerin Boolean Cebirine
Dönüştürülmesi
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 4
Mantık problemleri çoğu zaman bir yada daha çok
cümle ile ifade edilir.
Mantık Devrelerinin tasarımındaki ilk adım bu cümleleri
Boole ifadelerine çevirmektir.
Aşağıda bu kavram birkaç örnek verilerek
açıklanmaktadır.
ÖRNEK 1: Eğer Pazartesi gecesi ise ve ödevlerini
bitirmişse Meryem TV izler. (ödevlerini bitirmemişse ve
Pazartesi gecesi olsa bile TV izleyemez)
(Meryem watches TV if it is Monday night, and, she has
finished her homework)
Cümlelerin Boolean Cebirine Dönüştürülmesi
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 5
Burada «eğer» ve «ve» bağlaçları hiçbir ifadeye dahil
değildir; bu bağlaçlar ifadeler arasındaki ilişkiyi
gösterir.
Bir ifadenin doğru yada yanlış olduğunu gösteren bir
değişken ile ifadeleri inceleyelim:
F = 1 Eğer «Meryem TV izlerse» doğru;
değilse, F =0 («Meryem TV izlemezse»).
A = 1 Eğer «Pazartesi gecesi ise» doğru; değilse, A = 0.
B = 1 Eğer «eğer Meryem ödevini bitirmişse» doğru;
değilse B = 0.
F doğruyken eğer A ve B ifadelerinin ikisi de doğruysa
cümle şu şekilde Boole ifadeye çevrilebilir:
F = A·B
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 6
Cümlelerin Boolean Cebirine Dönüştürülmesi
ÖRNEK 2: Aşağıdaki örnek bir cümleden cebirsel bir
ifadeye nasıl geçiş yapılabileceğini göstermektedir. Bir
alarm devresi aşağıda tanımlanan biçimde tasarlanmak
isteniyor:
Alarm çalacaktır; eğer ve ancak (Ancak ve Ancak) alarm
anahtarı açıksa ve kapı kapalı değilse, veya saat 18:00
den sonra ise ve pencere kapalı değilse.
İlk adım yukarıdaki cümlenin cebirsel karşılığını, her bir
ifadeye bir değişken verilerek yazılması işlemidir.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 7
Cümlelerin Boolean Cebirine Dönüştürülmesi
Z= Alarm çalacak/ çalmayacak: Z=1 Eğer alarm çalarsa, Z’=1 (F=0) Eğer alarm çalmazsa A=Alarm anahtarı açık/kapalı: A=1 Eğer alarm anahtarı açık ise, A’=1 (A=0) Eğer alarm anahtarı açık değilse(kapalı ise) B=Kapı açık/kapalı B=1 Eğer kapı kapalı ise, B’=1 (B=0) Eğer kapı açık ise (Kapalı değilse) C=Saat 18:00 den önce/sonra C=1 Eğer 18:00den sonra ise. C’=1 (C=0) 18:00den sonra değilse D= Pencere açık/kapalı, D=1 Eğer pencere kapalı ise, D’=1 (D=0) Eğer pencere kapalı değilse Bu tanımlardan sonra F nin Boole (lojik) İfadesi aşağıdaki gibi olur:
Z=A.B’+C.D’
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 8
Cümlelerin Boolean Cebirine Dönüştürülmesi
Z=Alarm çalacaktır= Eğer ve ancak (if) alarm anahtarı
açık ise (A) VE Kapı kapalı değilse (B’) VEYA Saat
18:00den sonra ise (C) VE pencere kapalı değilse (D’).
Z=A.B’+C.D’
Bu lojik fonksiyonu (Boole ifadesini) gerçekleştirecek
lojik devre aşağıda verilmiştir.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 9
Cümlelerin Boolean Cebirine Dönüştürülmesi
Z=A.B’+C.D’
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 10
Cümlelerin Boolean Cebirine Dönüştürülmesi
Ahmet araba alacak, mezun olduğu zaman ve, ya
babasından para alacak yada bankadan kredi.
(Ahmed will buy a car when he will graduate, and if
either his father gives him loan or he gets bank loan.)
Z=Araba alacak(buy car)
A=Babasından para alacak(father gives loan)
B=Bankadan kredi alacak (get bank loan)
C=Mezun olma (graduate)
Z=C(A+B)
Örnek 3:
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 11
4.2 Doğruluk Tabloları Kullanılarak
Kombinasyonel Devre Tasarımı
Kombinasyonel (Tümleşik) devreler belleği olmayan, geçmişi hatırlayamayan, lojik kapıların bileşiminden oluşan devrelerdir. Amaç: Belli bir işi yapan mantık fonksiyonunu elde etme Aşağıdaki örnekte doğruluk tablosu verilen tasarının
mantık devresi tasarımı gösterilecektir. 3-giriş 1- çıkışlı
devre Şekil 6-1’de gösterilmiştir. Yapılacak iş:
Devrenin çıkış değişkeni f nin aşağıdaki şartları
sağlaması isteniyor:
f = 1 eğer N ≥ 0112 (Giriş: 3 Değişken: A, B, C. N: f’in
Değeri)
Ve f= 0 eğer N < 0112.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 12
Doğruluk Tabloları Kullanılarak Kombinasyonel Devre Tasarımı
Şekil 6-1(b)de f fonksiyonu için
doğruluk tablosu gösterilmiştir.
Şekil 6-1: Kombinasyonel Devre ve Doğruluk Tablosu
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 13
Doğruluk Tabloları Kullanılarak Kombinasyonel Devre Tasarımı
Doğruluk tablosunu kullanarak f’nin cebirsel ifadesini 1
yapacak A, B, ve C değişkenlerinin kombinasyonlarını
kullanmamız gerekiyor. Bu Kombinasyonlar:
011 100 101 110 111
A’BC AB’C’ AB’C ABC’ ABC
F çarpımların toplamı (SoP) şeklinde şu şekilde
yazılabilir: (Doğruluk tablosunda f yi 1 yapan
kombşnasyonlar)
f= A'BC + AB'C' + AB'C + ABC' + ABC ( 6-1)
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 14
Doğruluk Tabloları Kullanılarak Kombinasyonel Devre Tasarımı
f= A'BC + AB' + AB = A'BC + A=(A+A’)(A+BC)
= A + BC (6-2)
Eşitlik 6-2’nin Devre Şeması aşağıdaki gibi gösterilir:
Eşitlik 6-1, A+A’=1 kullanılarak aşağıdaki şekilde sadeleştirilebilir:
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 15
Doğruluk Tabloları Kullanılarak Kombinasyonel Devre Tasarımı
F’nin 1 olduğu ifadeleri yazmak yerine F’nin 0 olduğu
ifadelerle de fonksiyon tekrar yazılabilir fakat bu sefer f
fonksiyonu toplamların çarpımı(PoS) şeklinde
ifadelerden oluşmalıdır. F fonksiyonu aşağıdaki A, B, C
değişkenlerinin kombinasyonları için sıfır olur.
000 001 010
A+B+C A+B+C’ A+B’+C
Bu yüzden:
f = (A + B + C)(A + B + C')(A + B' + C) (6.3)
VEYA f’ çarpımların toplamı(SOP) şeklinde ifade edilip
tersi alınarak toplamların çarpımına(POS)
dönüştürülebilir:
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 16
Doğruluk Tabloları Kullanılarak Kombinasyonel Devre Tasarımı
f’=A’B’C’+A’B’C+A’BC’ ve bunun tersini alirsak;
f=(A + B+ C)(A + B + C’)(A + B’ + C)
Bu iki ifadenin birbirine eşitliğini şu şekilde
kanıtlayabiliriz:
f=(A+B+C)(A+B+C’)(A+B’+C)
f= (B + A)(B' + A + C) = B(A+C) + AB’ = A + BC (6.4)
Çıkan sonuç eşitlik (6-2) ile aynı, dolayısıyla birbirine
eşit ifadelerdir.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 17
4.3 Minterm ve Maxterm Genişletilmesi
Eşitlik 6-1 deki terimlerin herbiri minterm ifadeleridir.
Genelde, n değişkenli bir ifadenin mintermleri n tane
harfin kendisi veya değili kullanılarak bir kez gözükmesi
ile oluşturulur. Değişkenin hem kendisi hem değili aynı
minterm içinde bulunamaz. Tablo 6-1 A, B, C
değişkenlerinin oluşturduğu tüm mintermleri
göstermektedir. Mintermler aşağıdaki gibi gösterilir:
m0 m1 m2 m3 m4 m5 v.s…
000 001 010 011 100 101
A’B’C’ A’B’C A’BC’ A’BC AB’C’ AB’C
Dikkat edilecek olursa mintermler çarpımların toplamı
şeklinde yazılmıştır (SOP).
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 18
Minterm ve Maxterm Genişletilmesi
Tablo 6-1 Üç Değişkenli İfadenin Minterm ve
Maxterm’leri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 19
Minterm ve Maxterm Genişletilmesi
F çarpımların toplamı(SoP) şeklinde ifade edilirse, bu tip
yazılımlara minterm açılımı (expansions) ya da standart
çarpımların toplamı ifadesidir denir. (Bakınız eşitlik 6-1).
Doğruluk tablosundaki f=1’i sağlayacak her bir satırdaki
değerin minterm olma zorunluluğu vardır çünkü mi = 1
değeri sadece değişkenlerin olası kombinasyonu
sağlandığı zaman 1 olur.
Mintermler doğruluk tablosunda 1-1(one to one) özelliği
taşır, her bir satır tek bir minterme tekabül eder.
Dolayısıykar eşitlik 6-1 minterm numaralarıyla da ifade
edilebilir:
f(A, B, C) = m3 + m4 + m5 + m6 + m7 (6.5)
[ f= A'BC + AB'C' + AB'C + ABC' + ABC (6.1) ]
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 20
Minterm ve Maxterm Genişletilmesi
Daha kısa bir formda sadece sayılar kullanılarak küçük m
harfi ile aşağıdaki gibi de kısaltılarak gösterilebilir.
Eşitlik 6-3 teki her bir terim maxterm olarak ifade edilir.
Genelde, n değişkenli bir ifadenin maxtermleri n tane harfin kendisi
veya değili kullanılarak bir kez gözükmesi ile oluşturulur.
Değişkenin hem kendisi hem değili aynı maxterm içinde
bulunamaz. Tablo 6-1 A, B, C değişkenlerinin oluşturduğu tüm
maxtermler gösterilmektedir. Eğer A = B = C = 0, ise maxterm
ifadesi: A + B + C = 0;
Eğer A = B = 0 ve C = 1, ise maxterm ifadesi A + B + C' = 0; şeklinde
olur. Maxtermler sıklıkla büyük M harfi ile kısaltılarak gösterilir.
1’inci satırdaki maxterm Mi şeklinde ifade edilir. Her bir maxterm
ifadesi minterm ifadelerinin değili şeklindedir (Mi = mi' )
(6.5.a)
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 21
Minterm ve Maxterm Genişletilmesi
F fonksiyonu eşitlik 6-3 deki gibi
maxtermler cinsinden yazılırsa,
bu tip fonksiyon ifadelerine
maxterm açılımı veya standart
toplamların çarpımı denilir.
Eşitlik 6-3 M- notasyonu ile şu
şekilde tekrar yazılabilir:
[ f = (A + B + C)(A + B + C')(A + B' + C)]
(6.6)
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 22
Minterm ve Maxterm Genişletilmesi
Daha kısa bir ifade ile maxtermler cinsinden yazmak
gerekirse :
Eşitlik (6-6a) direkt olarak eşitlik 6-5a ifadesinden elde
edilebilir:
(6.6a)
(6.5a)
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 23
Minterm ve Maxterm Genişletilmesi
Verilen maxterm veya mintermler ile f fonksiyonunun
değilinin minterm veya maxtermleri kolaylıkla
oluşturulabilir. F’ =1 iken f=0, yani minterm olarak f’in
içinde bulunmayacak. Dolayısıyla f’ bulunurken, f de
olmayan mintermler direk olarak yazılır.Bu yüzden
Eşitlik (6-5)’den f’:
Aynı şekilde maxtermlerin elde edilmesinde f’
bulunurken f de bulunmayan maxtermlere bakılır.
Eşitlik (6-6) yı kullanarak:
(6.7)
(6.8)
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 24
Minterm ve Maxterm Genişletilmesi
Çünkü mintermlerin değili ilgili maxterme karşılık
gelir. Eşitlik 6-5’in değilini alarak eşitlik 6-8’i elde
edebiliriz.
Aynı şekilde Eşitlik 6-6’nın değili alınarak eşitlik 6-7
oluşturulablilir:
f' = (MOM1M2)' = Mo’ + M1’ + M2 ‘ = mo + m1+ m2
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 25
Minterm ve Maxterm Genişletilmesi
Genel bir Boole (lojik) ifadesi minterm veya maxtermler
cinsinden doğruluk tablosu kullanılarak veya cebirsel
olarak elde edilebilir. Eğer doğruluk tablosu kullanılarak
bütün değişkenlerin farklı kombinasyonları ele alınırsa,
mintermler ve maxtermler daha önce anlatıldığı gibi
bulunur. (Yani minterm numaraları fonksiyonun değerini
1 yapan satırlardır).
Diğer bir yöntem ise fonksiyonu çarpımların
toplamı(SoP) şeklinde yazıp, eksik değişkenlerin her biri
için X + X' = 1 teoremi kullanılır ve eksik değişkenler
tamamlanır.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 26
Minterm ve Maxterm Genişletilmesi
Example1: f(a,b,c)=ab+c+ac mintermlerini bulunuz.
Yöntem: Eksik değişkenleri x+x’=1 ile çarpıyoruz:
f=ab (c+c’)+c (a+a’)(b+b’)+ac (b+b’)
= abc+abc’+c(ab+ab’+a’b+a’b’)+abc+ab’c
=abc+abc’+abc+ab’c+a’bc+a’b’c+abc+ab’c
=abc+abc’+ab’c+a’bc+a’b’c=Σm(1,3,5,6,7)
111 110 101 011 001
Örnek 2: Aynı fonksiyonun maxtermlerini bulunuz.
Yöntem: x+yz=(x+y)(x+z) (tekrarlayın) ve xx’=0
Teoremini eksik olan değişkenler için kullanın.
f=(a+c)(b+c)+ac=(a+c+ac)(b+c+ac)=(a+c)(b+c)
=(a+c+ bb’ )(b+c+ aa’ )=(a+b+c)(a+b’+c) (a+b+c) (a’+b+c)
=(a+b+c)(a+b’+c)(a’+b+c)=M(0,2,4)
m0’ m2’ m4’
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 27
Minterm ve Maxterm Genişletilmesi Örnek 1: Çarpımların toplamı (SoP) şeklinde çevirirken : Eksik değişkenleri (x+x’)=1 ifadesi ile tamamlayınız. f(a.b.c.d) = a'(b' + d) + acd' ifadesinin mintermlerini
bulunuz.
Tekrarlayan ifadeler çıkartılır çünkü X + X = X dir. Kalan
ifadeler çevrilerek mintermler bulunabilir: (Decimal notation)
f=a’b’+a’d+acd’ =a’b’(c+c’)(d+d’)+a’d(b+b’)(b+c’)+acd’(b+b’) =a’b’c’d’+ a’b’c’d + a’b’cd’ + a’b’cd + a’b’c’d + a’b’cd +a’bc’d+a’bcd+ab’cd’
f= a’b’c’d’+ a’b’c’d + a’b’cd’ + a’b’cd + a’bc’d + a’bcd 0000 0001 0010 0011 0101 0111 + ab’cd’ (1010), f=m(0,1,2,3,5,7,9)
(6.9)
(6.10)
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 28
Minterm ve Maxterm Genişletilmesi
Maxterm ifadelerinin numaraları 4 değişkenli bir işlem
için 0 ile 15 arasında değişebilir ve maxterm ifadesinin
terim numaralari aynı fonksiyon için asla minterm
numaralarina karşılık gelmezler. Mintermlerde olmayan
numaralar maxtermlerde, veya tersi olur.
Maxterm ifadelerini bulabilmenin alternatif bir yolu ise
eksik değişkenleri XX' = 0 teoremini kullanarak
tamamlamaktır. Eşitlik (6-9) için :
(f=m(0,1,2,3,5,7,10,14)) Mintermler
Maxtermler (f=M(4,6,8,9,11,12,13,15))
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 29
Minterm ve Maxterm Genişletilmesi
f = a'(b'+d) + acd'
(6-11)
Örnek 2: f fonksiyonun maxtermlerini bulunuz.
Maxterm şeklinde ifade ediniz. Eksik değişkenleri XX’=0 ekleyerek bulunuz.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 30
Minterm ve Maxterm Genişletilmesi
Maxterm ifadeleri decimal notation’a çevirirken önce
değillenmiş değişken 1 ile ve değillenmemiş değişken de
0 değiştirilir.
İki fonksiyonun doğruluk tablosunda aynı mitermler
fonksiyon değerleri aynı ise bu iki fonksiyon eşdeğer
fonksiyonlardır. Aşağıdaki örnek bu kavramı
açıklamaktadır:
Örnek
a'c + b'c' + ab = a'b' + be + ac’ eşitliğini gösterin Eksik olan değişkenler tamamlanarak her iki tarafın
minterm ifadesi bulunur. Sol taraf için
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 31
Minterm ve Maxterm Genişletilmesi
a'c + b'c' + ab = a'b' + be + ac’ (Sol taraf için)
Sağ taraf için
Her iki fonksiyonun minterm ifadeleri aynı olduğundan
eşitlik doğrulanmıştır.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 32
4.4 Genel Minterm ve Maxterm İfadeler
Tablo 6-2 üç değişkenli genel bir fonksiyon için bir
doğruluk tablosunu temsil eder.
Her bir «a», 0 veya 1 değerine sahip bir sabittir.
Fonksiyonu belirtmek için, tüm ai’lere değer atamak
gereklidir. Çünkü her bir «a» iki yolla belirtilebilir,
doğruluk tablosunda F sütununu doldurmak için 28 yol
vardır; bundan dolayı üç değişkenin 256 farklı fonksiyonu
tanımlanabilir. (bu dejenere durumları da içerir, F aynen 0
a ve 1'e eşittir). n değişkenli bir fonksiyon için, doğruluk
tablosunda 2n satır vardır ve her satır için F değeri 0 ya da
1 olabileceğinden n değişkenli 2n kadar olası fonksiyon
vardır.
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 33
Genel Minterm ve Maxterm İfadeler
Tablo 6.2: Üç değişkenli fonksiyon
için Doğruluk Tablosu
Genel Minterm ve Maxterm İfadeler
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 34
Tablo 6-2’den, üç değişkenli minterm ifadesi aşağıdaki
şekilde yazılabilir:
Not: Eğer a = 1 ise minterm m ifade edilebilir 0 ise minterm
olarak ifade edilemez. Üç değişkenli genel fonksiyon için
maxterm ifadesi
F=(a0+M0)(a1+M1)(a2+M2)….(a7+M7)=(ai+Mi)
Not: Eğer ai = 1, ai + Mi = 1, ve Mi
ifadeden düşer;
fakat, ai = 0 ise Mi ifadede bulunmalıdır.
(6-13)’deki ifadeden, F‘ in minterm ifadesi
(6.12)
(6.13)
Genel Minterm ve Maxterm İfadeler
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 35
F fonksiyonunda olmayan mintermler, f’ fonksiyonunda
bulunmalıdır. Eşitlik (6-12)’den, F' maxterm ifadesi:
F fonksiyonunda olmayan maxtermler, f’ fonksiyonunda
bulunmalıdır. (6-12), (6-13), (6-14), ve (6-15) eşitliklerini n
değişkenli bir forma genellemek gerekirse;
(6.14)
(6.15)
(6.16)
Genel Minterm ve Maxterm İfadeler
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 36
(6.17)
N değişkenli iki farklı minterm verilirse:mi, ve mj ; en az bir
değişken mintermlerde değili alınmış ve diğerlerinde
alınmamış şekilde bulunur. Bu yüzden i ≠ j olursa, mimj = 0
olur. Örneğin, n = 3 için,
m1m3 = (A'B'C)(A'BC) = 0.
Aşağıda iki farklı fonksiyon mintermler cinsinden
verilmiştir. (6.18)
Sonuç:
Genel Minterm ve Maxterm İfadeler
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 37
(6.19)
(i ≠j) eşitliğini sağlayan tüm mintermler
düşürülür(silinir). Böylece f1f2 fonksiyonunda sadece
ortak (aynı mintermler) terimler kalır. Örnek:
6.5 Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 38
Dijital sistemler genellikle bir çok alt devrelere
bölünmüştür. Örneğin aşağıdaki devrede N1 devresinin
çıkışlarının N2 devresi için giriş olarak kullanıldığı
görülmektedir.
Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 39
NJ nin çıkışı A, B ve C değerlerinin olası tüm
kombinasyonlarından oluşmadığını varsayalım,
özellikle, A, B ve C nin 001 veya 110 değerlerini
sağlayacak bir w, x, y, ve z kombinasyonu
olmadığını varsayalım. Böyle bir tasarımda N2
için bu değerlere (001 veya 110) bakılmaksızın
N2 tasarımı yapılabilir çünkü N2 için 001 veya
110 asla girdi olarak üretilemeyecektir.
Örneğin, Tablo 6-4 ile f fonksiyonu belirlenebilir.
Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 40
Tablodaki X’lerin anlamı şudur: X değerlerin 0
veya 1 olacağı önemsenmemektedir. Örnek
için ABC = 001 veya 110 değerleri için F’in
alacağı değer dikkate alınmamıştır çünkü o
değerler girdi olarak gelemeyecektir. F
fonksiyonu bu yüzden eksik olarak belirtilir. A'
B' C ve A BC' mintermleri «dikkate alma(don’t
care)» ifadeleri olarak isimlendirilir. Bu
nedenle bu mintermlerin ifadede olmaması ya
da olmaması bizim için önemli değildir.
Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 41
Tablo 6.3: Dikkate Alınmayan İfadeler İçeren Doğruluk Tablosu
Don’t care
Don’t care
Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 42
Bir fonksiyonu gerçekleştirirken, dikkate alınmayacak
ifadeleri belirtmemiz gerekir. Bu durum fonksiyonu
basitleştirmede yardımcı olaracak değerlerin seçilmesi
açısından tercih edilebilir bir durumdur. İki X’e 0 değeri
atanırsa:
İlk X’e 1 ikinci X’e 0 atanırsa
İki X’e 1 değeri atanırsa,
İkinci seçenek en sade çözümü vermektedir.
Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 43
Tamamlanmamış belirli fonksiyonları oluşturmak için bir
yol gördük ve bundan başka birçok yol mevcuttur.
Önceki örnekte, bazı kombinasyonların girdi olarak
gelemeyecek olduğunu ve dikkate alınmadığını gösterdik.
Diğer durumlarda için bütün giriş kombinasyonları
oluşabilir fakat çıkış sinyalinde dikkate alınmayan
ifadeler bulunduğunda çıkışın 0 veya 1 olması o giriş
kombinasyonları için önemli değildir.
Tamamlanmamış belirli fonksiyonlar için minterm
ifadeleri yazılırken, m gerekli mintermler için ve d dikkate
alınmayan mintermler için kullanılır. Tablo 6-3 için
minterm yazılım örneği:
Tamamlanmamış (Eksik Tanımlanmış) Fonksiyonlar
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 44
Her dikkate alınmayan minterm karşılığında dikkate
alınmayacan maxterm vardır. Örneğin, Eğer F = X
(dikkate alınmayacan) 001 giriş kombinasyonu için, m1
dikkate alınmayan minterm ve M1 dikkate alınmayan
maxtermdir. «D » yi dikkate alınmayacan maxterm olarak
kullanıyoruz, Tablo 4-5 maxterm ifadeler olarak yazılırsa
M2 ,M4 , ve M5 F içinde olan maxtermler ve M1 ve M6 maxtermleri dikkate alınmayan(opsiyonel) maxtermlerdir.
6.6 Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 45
Örnek 1 1-bitlik sayı ile 1-bitlik sayıyı toplayıp (a ve b) sonuçta 2-
bitlik sayı veren basit toplayıcı dizayn edelim. Nümerik
değerler ve çıkışlar şu şekilde olur:
A ve B giriş ve X, Y 2- bitlik toplam sonucunu gösteren
değişkenler olmak üzere doğruluk tablosunu şöyle
oluşturabiliriz:
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 46
A B X Y
Numerik 0’lar mantıksal 0 ile, numerik 1’ler de
mantıksal 1 ile gösterildiğinden, 0’lar ve 1’ler doğruluk
tablosunda da önceki tablodaki gibi yerleştirilir.
Doğruluk tablosundan,
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 47
Örnek 2
(N3=N1+N2)
A B C D X Y Z X: carry (elde) Y Z: sum (toplam)
+
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 48
A ve B girişleri birlikte N1 ikilik (binary) sayısını, C ve D
beraber N2 ikilik (binary) sayısını, çıkışlar X, Y ve Z birlikte N3
ikilik (binary) sayısını temsil etsin. N3 = N1 + N2 (Sıradan
toplama işlemi)
Bu örnekte A, B, C, ve D hem nümerik hem de mantıksal
değerleri temsil etmek için kullanılmıştır fakat numerik ve
mantıksal değerlerin aynı olması herhangi bir karışıklığa yol
açmamalıdır. Doğruluk tablosunu oluşturulurken değişkenler
ikilik(binary) sayılar gibi işlem görür. Şimdi çıkış fonksiyonları
için anahtar fonksiyonu türetelim. Bunu yaparken A, B, C, D, X,
Y ve Z gibi anahtar değişkenler numerik olmayan 0 ve 1 ler ile
gösterelim. (Hatırlanacak olursa 0 ve 1 alçak ve yüksek voltaj
değerini veya açık ve kapalı gibi değerleri gösterir)
Tablodan oluşturulan çıkış ifadesi
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 49
Örnek 3: 6-3-1-1 ikili-kodlanmış-onluk-dijitler için bir hata
dedektörü dizayn edelim. Dört giriş(A, B, C, D) hatalı kod
kombinasyonunu temsil ediyorsa çıkış (F) ifadesi 1
olmalıdır. Geçerli 6-3-1-1 kod kombinasyonları Bölüm 2 de
listelenmişti. Başka bir kombinasyon var ise bu geçerli bir
kombinasyon olarak sayılmayacaktır ve devre çıkışı F = 1
olarak temsil edilip hatanın meydana geldiğini
gösterilecektir. Bunu gösteren doğruluk tablosu:
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 50
(2)
(6)
(10)
(13)
(14) (15)
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 1 0 0
4 0 1 0 1
5 0 1 1 1
6 1 0 0 0
7 1 0 0 1
8 1 0 1 1
9 1 1 0 0
6-3-1-1 code
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 51
İlgili çıkış ifadesi
Ve ve VEYA kapısı kullanılarak gerçekleştirilen devre:
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 52
Bir devredeki dört giriş (A, B, C, D) 8-4-2-1 ikili-
kodlanmış-onluk-dijitleri temsil etmektedir. (Z) çıkışı olan
bir devre tasarlayın ve temsil edilen onluk sayı giriş
tarafından 3 ile tam bölünebilir ise Z =1 olsun. Yalnızca
geçerli BCD dijitleri giriş olarak geldiğini varsayalım. 0,3,6
ve 9 sayıları 3'e tam olarak bölünebilir yani ABCD = 0000,
0011, 0110, ve 1001 kombinasyonları için Z = 1 olur. 1010,
1011, 1100,1101,1110 ve 1111 kombinasyonları geçerli BCD
dijitleri olarak temsil edilemezler ve Z bu kombinasyonlar
için dikkate alınmaz. Buna göre doğruluk tablosu:
Örnek 4
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 53
Doğruluk Tablosu Oluşturma Örnekleri
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 54
Buna uygun çıkış ifadesi
Z yi gerçekleştirecek en basit devreyi bulmak için 0
ya da 1 olan bazı dikkate alınmayan (don’t care)
(X'ler) terimler seçilmelidir. Bunun en kolay yolu
Karnaugh haritası kullanmaktır.
4.7 İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 55
Bu bölümde, iki tane 4-bitlik işaretsiz ikili sayıları toplayan ve
4-bitlik toplamının giriş ve çıkışının eldesini veren paralel
toplayıcı tasarlayacağız. (Bknz Şekil 6-2). Bu yaklaşım dokuz
giriş ve beş çıkışı olan bir doğruluk tablosunu
oluşturmaktadır ve daha sonra bu beş çıkış ifadesini türetme
ve sadeleştirme işlemi uygulanır. Çünkü her eşitlik
sadeleşmeden önceki dokuz değişkenin ifadesini içerir, bu
yaklaşım bayağı zordur ve sonuçtaki mantıksal devre
kompleks bir yapıya bürünür. Mantıksal modulü tasarlayacak
en iyi yol iki biti ve eldeyi eklemek ve daha sonra bu dört
modülü bağlayarak 6-3'deki gibi 4-bit toplama formuna
dönüştürmektir. Her bir modül tam toplayıcı olarak
adlandırılır. Elde çıkışı ilk tam toplayıcıdan çıkış olarak ikinci
tam toplayıcıya giriş olarak temsil edilir ve böyle devam eder.
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 56
Şekil 6-2: 4-bit Paralel Toplayıcı
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 57
Şekil 6-3: Dört Tam Toplayıcı ile Oluşturulan
Paralel Toplayıcı
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 58
Şekil 6-4: Tam Toplayıcı ve Doğruluk Tablosu
X Y Cin Cout Sum
0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 59
Şekil 6-4’de X, Y, ve Cin girişleri ile tam toplayıcı için
doğruluk tablosu verilmiştir. Çıkışlar her satır için (X + Y
Cin) girişleri ile işlem yapılarak bulunur ve sonuç
ayrıştırılarak elde (C i+ 1) ve toplam biti (Si) elde edilir.
Örneğin, 101 içeren satırda
1 + 0 + 1 = 102 ise Ci+ 1 = 1 veSi =0. Şekil 6-5’te kapılar
ile tam toplayıcı gerçekleştirilmesi gösterilmiştir.
Doğruluk tablosundan türetilen tam toplayıcı mantıksal
ifadeler şunlardır:
(6.20)
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 60
(6.21)
XYCin terimi Cout u basitleştirmek için üç kez kullanılmıştır. Şekil 6-5’de eşitlik (6-20) ve (6-21) ifadelerine karşılık gelen mantıksal devre gösterilmiştir.
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 61
Şekil 6-5: Tam Toplayıcı Devresinin Gerçekleştirimi
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 62
İşaretsiz ikilik sayıları toplayan paralel bir devre
tasarlanmasına rağmen, şekil 6-3’deki paralel toplayıcı
complement formda olan negatif sayıları toplamak için
de kullanılabilir. 2’s complement kullanıldığında, son
elde biti (C4) atılır, ve en başta elde biti olmaz. Co = 0
olduğunda ilk hücredeki elde biti aşağıdaki formda
sadeleştirilebilir:
1’s complement kullanıldığında, elde biti C4’ün Co ‘a
bağlanması ile elde edilir. (Şekil 6-3’de kesikli çizgiler ile
bu durum gösterilmiştir.)
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 63
Tümleyen (complement) formdaki negatif işaretli sayıları
toplarken, taşma(overflow) meydana gelirse toplamın işaret
biti hatalı olur. Bu taşma iki pozitif sayının toplanıp negatif
sonuç vermesi ve ya iki negatif sayı toplanıp pozitif sonuç
vermesi ile meydana gelir. Taşma olduğunda 1 sonucunu
atayacak bir V sinyali tanımlayacağız. Şekil 6-3’de V değerini
belirlemek için A, B, ve S (the sum) için işaret bitlerini
kullanabiliriz:
(6.22)
Bit sayısı fazla ise, Şekil 6-4 teki paralel toplayıcı türü yavaş
olabilir çünkü ilk hücrede oluşan elde son hücreye kadar
dağıtılarak gelecektir. Diğer türlerdeki toplayıcılar, örneğin
carry-Iook-ahead toplayıcısı elde dağıtımını hızlandırmak için
kullanılabilir.
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 64
İkilik tabandaki sayılarda çıkarma işlemi, çıkarılacak sayıya
tümleyeni eklenerek kolay bir şekilde gerçekleştirilir. A-B yi
hesaplamak için, B'nin tümleyeni A'ya eklenir. Bu bize
doğru sonucu verir çünkü A + (- B) = A - B'dir. 1'in ya da
2'nin tümleyeni bu işlemler için kullanılabilir.
Şekil 6-6 daki devre A-B formunu negatif sayılar için 2'ye
tümleyen kullanılarak yapılmıştır. B'nin 2 tümleyeni, önce 1
tümleyeni bulunup çıkan sonuca 1 eklenerek bulunabilir. 1’e
tümleyeni bulmak için ise B'nin her bitinin tersi alınır. Daha
sonra gerekli çıkarma işlemi gerçekleştirilebilir.
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 65
Şekil 6-6: Tam Toplayıcı Kullanılmış İkili
Çıkarıcı
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 66
Örnek
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 67
Alternatif olarak, direk çıkarma işlemi tam toplayıcıya
benzer şekilde tam çıkarıcı ile gerçekleştirilebilir. Şekil 6-
7'de X'den Y yi çıkaran bir çıkarıcı gösterilmiştir. İlk iki bit
sağdan başlanarak çıkarılır, d1 aradaki farkı verir, gerekli ise
diğer sütundan bir borç alınarak borç sinyali oluşturulur.
(b2 =1). Olağan hücre (i hücresi) Xi,Yi, ve bi girişleri ve bi+1
ve di çıkışlarını içerir. bi=1 girişi o hücredeki Xi den 1 borç
aldığında gerçekleşir, borç alınan 1 ise Xi den çıkarılan 1'e
eşittir. i hücresinde, bi ve Yi, Xi den çıkarılır, d farkı oluşur,
(bi+1 = 1) borç sinyali ise gerekli olursa diğer sütundan
alınır.
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 68
Şekil 4-7: Paralel Çıkarıcı
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 69
Tablo 6.6: Tam Çıkarıcının
Doğruluk Tablosu
İkili Toplayıcı ve Çıkarıcıların Tasarımı
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 70
Tablo 6-6’da ikilik (binary) tam çıkarıcının doğruluk
tablosu verilmiştir. Buna göre, Xi = 0, olduğunda Yi = 1
ve b1 = 1:
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 71
İkili Toplayıcı ve Çıkarıcıların Tasarımı
i sütununda Xi den Yi ve bi yi direk olarak
çıkaramayız. Dolayısıyla i+1 sütundan borç
almamız gerekir. Alınan 1 Xi ye 10 (210) eklenen 1
ve bi+1 'i set eden 1 ile eşdeğerdir. Daha sonra di
= 10 - 1 - 1 = 0 olur. 6-6 tablosunu diğer giriş
kombinasyonları için ikilik(binary) çıkarmayı
kullanılarak doğrulayın.
Kaynakça
• M. Akbaba, Mantık Devreleri Notları
• Hüseyin EKİZ, Mantık Devreleri, Değişim Yayınları, 4. Baskı, 2005
• Thomas L. Floyd, Digital Fundamentals, Prentice-Hall Inc. New Jersey, 2006
• M. Morris Mano, Michael D. Ciletti, Digital Design, Prentice-Hall, Inc.,New Jersey, 1997
KBUZEM Karabük Üniversitesi
Uzaktan Eğitim Uygulama ve Araştırma Merkezi 72