Dijital Elektronik -9- Birleşik Mantık Devreleri

Daha öncesinde mantık devreleri olarak mantık kapılarını görmüştük. Bu mantık kapıları tek başına kullanılabildiği gibi birden çok mantık kapısı bir araya gelerek karmaşık bir mantık devresini kurar. Mantık kapılarının birleşimi ile meydana gelmiş devrelere birleşik mantık devreleri demekteyiz. Birleşik mantık devreleri giriş ve çıkışlardan oluşur ve bu girişlerin durumuna göre çıkış değeri elde edilir. Bir birleşik mantık devresini genel bir diyagramı şu şekildedir.

Burada n kadar giriş ve m kadar çıkış olabilir. Muhtemel girişler ise iki üzeri n kadardır. Örneğin 8 adet giriş olduğunda 2 üzeri 8 yani 256 kadar muhtemel giriş diziliminden söz edebiliriz. Birleşik mantık devresi kurarken bir makinayı tasarlar gibi önce problemi belirler, sonra giriş ve çıkış değerlerini tanımlar, giriş ve çıkış değerleri arasındaki bağlantıyı kurar, doğruluk tablosunu hazırlar, boolean aritmetiğinde işlemleri yapar ve bunu devreye uygularız. Fakat biz burada mantık kapılarıyla farklı devreler kurmak yerine gömülü sistemleri anlamak için gerekli hazır devreleri inceleyerek yazımıza devam edeceğiz.

Aritmetik Devreler

Mikroişlemci ve mikrodenetleyicileri anlatırken bunların yaptığı aritmetik işlemlerden size bahsetmiştik. Fakat bu aritmetik işlemlerin mantık kapılarıyla nasıl olduğunu ve mikroişlemcinin içerisindeki mantık devrelerini size anlatmamıştık. Burada daha alt bir seviyeye iniyoruz ve bir mikroişlemci tasarlarsak burada nasıl bir devre kurmamız gerektiğine bakıyoruz.

Yarım Toplayıcı (Half-Adder)

Yarım toplayıcı bir toplama devresinin en basit halidir. Yarım toplayıcı iki adet biti toplar ve sonuç olarak toplam çıkışından verir. Ayrıca elde durumunda elde çıkışının verildiği bir hat da mevcuttur. İki bitin toplanması ikilik tabanda olup önceden bahsettiğimiz gibi gerçekleşmektedir. 1 ile 1 toplandığında ise sonuç 0 olup elde biti 1 diye  “Carry” hattı üzerinden dijital 1 sinyali olarak verilir. Yarım toplayıcının devre şeması şu şekildedir.

Burada XOR ve AND kapılarını görmekteyiz. İki kapının birleşiminin nasıl toplama işlemi yaptığı konusunda kafanızda soru işareti olabilir. Aslında burada mantık kapılarıyla bir “toplama hilesi” yapılmaktadır. Yani toplama işlemi doğrudan değil dolaylı olarak gerçekleştirilir. Bunun size nasıl olduğunu şimdi açıklayalım;

XOR kapısının doğruluk tablosuna baktığımızda birbirinin aynı olan iki girişte 0 çıkışını ve birbirinden farklı olan girişlerde 1 çıkışını verdiğini görmekteyiz.

Şimdi ise daha önce anlattığımız ikilik sayıları toplama işlemlerindeki alacağımız sonuçlara bir bakalım.

0 + 0 = 0

0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 (Elde var 1) 
1 + 1 + 1 = 1 (Elde var 1)

XOR kapısının doğruluk tablosu ile bu toplama işleminin sonuçları arasında bir benzerlik var değil mi?  Örneğin ilk topladığımız değere A diyelim, ikinci topladığımız değer de B olsun. A ve B 0 olup toplandığında sonuç da 0 olacaktır. XOR işlemine tabi tutulan 0 değerli A ve B girişlerinin çıkışı ise 0 olmaktadır. Kısacası XOR kapısı bize aslında ikilik tabanda iki sayının toplamını vermektedir. Burada elde değerinin oluşması için iki sayının 1 olması gereklidir. İki sayı 1 olunca sonucun 1 olduğu kapının AND kapısı olduğunu biliyoruz. Buna paralel olarak bir AND kapısı bağladığımızda giriş değerine göre elde sonucunu da elde etmiş oluruz. Yalnız bu devrenin elde değeri ürettiğini fakat elde ederini alarak toplama işlemi yapamadığını görmüş olmalısınız. Bu yüzden kendisine “yarım toplayıcı” adı verilmiştir. Çünkü elde değeri alınmadan tam anlamıyla toplama işlemi yapılamamaktadır.

Tam Toplayıcı (Full-Adder)

Yarım toplayıcı devresinin geliştirilmişi olan tam toplayıcı devresi hem elde değerini alabilmekte hem de elde çıkışı verebilmektedir. İkilik tabanda tek basamakta toplama yapmak çoğu zaman pek bir işe yaramaz. Bu devreler her basamak için yan yana sırayla dizilip istediğimiz kadar basamakta toplama işlemi yapmak için kullanılır. Her devre birbirinden bağımsız işlemi yapsa da ortadaki bir devrenin elde girişi ve elde çıkışı yanlarındaki devrelerin elde giriş ve çıkışlarına bağlanması gereklidir. Tam toplayıcı devresini aşağıda görmekteyiz.

Burada işlerin daha da karıştığını görmekteyiz. A ve B girişleri önce tek bir XOR kapısına girip bu kapının çıkışı ve elde giriş hattı ile beraber tekrar bir XOR kapısına girer ve buradan sonuç çıkışı elde edilir. Örneğin A ve B değerleri 1 olursa ve ilk XOR kapısından 0 çıkışı elde edilir. Burada toplama işlemi yapılsa da elde değerini bu basamağa yazdırmak için Cin hattındaki elde değeri ile A ve B değerlerinin sonucu tekrar toplanır ve S değeri olarak yazdırılır. A ve B 1 ise ve Cin 0 ise S yani sonuç değeri 0 olacaktır. Buraya kadar toplama işlemini yapsak da Cout yani elde çıkışını elde etmek için ayrı bir devreye gideriz. Bu devre iki adet AND kapısı ve bir adet OR kapısından oluşmaktadır. AND kapısının birincisi Cin ve A + B değerini AND işlemine tabi tutmaktadır. Burada Cin dışarıdan gelen elde ve A + B sonucu ise basamak değeridir. Örneğin 1 + 0 + Elde =  0 (Elde var 1)  işlemini burada yapmak istiyorsak A + B’nin toplamına ve Cin adındaki elde değerine bakarız. İkisi 1 ise bu durumda elde var demektir ve AND kapısının çıkışı 1 olur ve Cout 1 olarak elde çıkışı verir.

İkinci ihtimal ise alt taraftaki AND kapısının bağlı olduğu hatlar üzerinde gerçekleşir. Eğer A ve B 1 ise elde değeri çıkış olarak verilir. Gelen eldenin olması toplama işlemini etkileyecektir. Tam toplayıcı ile bu devrelerin çıkışını birbirine bağlayarak tam anlamıyla bir toplama işlemi gerçekleştirebiliriz.

Bunu boolean aritmetiğinde ve karnaugh haritasında da gösterebilsek de sizin anlamanız için basitleştirerek anlatıyoruz.

Yarım Çıkarıcı (Half-Subtractor)

Çıkarma işlemini yapan devreye baktığımızda toplayıcıdan çok da farklı olmadığını göreceksiniz. Fakat ikilik tabanda yaptığımız bu işlem doğru sonucu vermektedir. Yine XOR kapılarıyla yaptığımız devrenin şeması ve doğruluk tablosu şu şekildedir.

Buradaki devreye baktığımızda yarım toplayıcıdan tek farkının B0 yani ödünç çıkışının bir girişindeki NOT kapısı olduğunu görüyoruz. Bu NOT kapısı 0’dan 1 çıktığında ödünç basamak olduğunu hesaplatmaktadır. Burada XOR kapısının aynı şekilde toplama işlemini yaptığını görmekteyiz. Yalnız elde edilen sonuç bu sefer çıkarma işlemine uyarlanabilmekte ve elde yerine sinyalleri değiştirerek ödünç değerini ortaya çıkarmaktadır. Böylelikle bir devre ufak bir değişiklikle hem toplayıcı hem de çıkarıcı olarak kullanılabilir. Biz 2’nin tümleyeni metodu ile nasıl toplama işlemi yaparken çıkarma işlemi yapıldığını görmüştük. Buna da pek şaşırmamak gerekir.

Tam Çıkarıcı (Full-Subtractor)

Tam çıkarıcı devre aynı tam toplayıcı gibi iki değeri almanın yanı sıra dışarıdan ödünç değerini de almaktadır. Böylelikle çok basamaklı  ikilik sayıları çıkarma imkanımız olur. Tam çıkarıcı devrenin devre şeması şu şekildedir.

Burada iki adet yarım çıkarıcı devrenin beraber kullanıldığını fakat NOT kapısının farklı girişlerde uygulandığını görmekteyiz. Tam çıkarıcının doğruluk tablosu şu şekildedir.

Bu çıkarıcı ve toplayıcı devrelerin farklı biçimleri de olsa bu kadarı temeli öğrenmeniz için yeterlidir. Bir sonraki yazıda farklı bir konuya giriş yapacağız.

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

UYARI!!

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.