MANTIK DEVRELERİsaitdemir.net/mantik/H5_BLM221.pdfMantık problemleri çoğu zaman bir yada daha...

72
KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM 221 MANTIK DEVRELERİ Prof Dr Mehmet AKBABA [email protected] 5. HAFTA

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

[email protected]

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