Mantıksal Tasarım Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.1. Devre Türleri, Fiziksel Değişkenler, Mantık Türleri Sayısal devrelerin iki temel türü vardır. 1. Birleşimsel devre (combinational circuit) 2. Dizisel devre (sequential circuit) y1 = f1(x1, x2, …. , xn) y2 = f2(x1, x2, …. , xn) …………………….. yk = fk(x1, x2, …. , xn) Dizisel devreler de kendi içinde ikiye ayrılır: 1. Zamanuyumlu dizisel devreler (synchronous sequential circuits) 2. Zamanuyumsuz dizisel devreler (asynchronous sequential circuits) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Zamanuyumlu Devre Çıkışı Örneği Zamanuyumsuz Devre Çıkışı Örneği Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Pozitif ve Negatif Mantık Fiziksel gerilim değerleri ile mantıksal 0 ve 1 değerleri arasındaki eşleme iki türlü yapılabilir: 1. Pozitif mantık : alçak gerilim değerine 0, yüksek gerilim değerine ise 1 mantıksal değeri eşlenir. 2. Negatif mantık: alçak gerilim değerine 1, yüksek gerilim değerine ise 0 mantıksal Pozitif Mantık, Örnek Değer Aralıkları Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.2. Geçitler ve Özellikleri Mantıksal olarak AND, OR, NOT, NAND, XOR, .. gibi Boole işlemlerini gerçekleştiren sayısal devre elemenlarına geçit (gate) adı verilir. Geçitler sayısal devrelerin yapı taşları olarak düşünülebilir. Sayısal devrelerde kullanılan başlıca geçitler aşağıdakilerdir: a. Temel geçitler: AND (VE) geçidi OR (YADA) geçidi NOT (DEĞİL) geçidi b. Diğer Geçitler: NAND (VE-DEĞİL) geçidi NOR (YADA-DEĞİL) XOR (EXCLUSIVE-OR, DIŞLAYAN-YADA) geçidi XNOR (EQUIVALENCE, EŞDEĞERLİK) geçidi c. Yükselteç: Fan-out değerini yükseltmek için kullanılan işlevsiz geçit (Bkz Fan-out Değeri). Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Geçitler İçin Kullanılan Gösterimler Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
RTL (Resistor – Transistor Logic) DTL (Diode – Transistor Logic) Üretim teknolojileri RTL (Resistor – Transistor Logic) DTL (Diode – Transistor Logic) TTL (Transistor – Transisor Logic) Standard TTL Low-power TTL High Speed TTL Low-Power Shottky TTL Advanced Shottky TTL Advanced Low-Power Shottky TTL, …vb. ....................................................................... ECL (Emitter Coupled Logic) MOS (Metal – Oxid Semiconductor) CMOS (Complementary Metal – Oxid Semiconductor) ......................................................................................... Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Yayılma Gecikmesi (Propagation Delay) Bir geçidin yayılma gecikmesi, girişlerden birinde çıkışın değişmesini gerektiren bir değişiklik olduğunda, girişteki değişikliğin gerçekleştiği an ile çıkıştaki değişikliğin gerçekleştiği an arasındaki süredir. Geçitlerin yayılma gecikmesinin tipik değerleri 100 ps (piko saniye) ile 100 ns arasında değişen değerlerdir (1 ps = 10-12 saniye, 1 ns = 10–9 saniye). NOT Geçidinin Yayılma Gecikmesi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
değiştiği söylenebilir. Güç tüketimi Geçit başına tüketilen tipik güç değerlerinin 0,01 W – 0,1 mW arasında değiştiği söylenebilir. Kullanılan teknolojide geçit başına tüketilen gücün değerine göre, bir yonganın tüketeceği toplam güç örnekleri: Tekn-1 Tekn-2 Tekn-3 Güç Tüketimi/Geçit 0,01 W 0,1 W 1 W Yonga-1 (103 Geçit) 10 W 100 W 1 mW Yonga-2 (106 geçit) 10 mW 100 mW 1 W Yonga-3 (109 geçit) 10 W 100 W 1 kW Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Yayılma Gecikmesi, Güç Tüketimi Çarpımı Yoğunluk ve güç tüketimi ilişkisi. Yayılma gecikmesi (hız) ve güç tüketimi ilişkisi. Yayılma gecikmesi, güç tüketimi çarpımı : tipik değerleri 0,01 – 10 pJ Fan-out Değeri Tipik değerler : 10-20 Fan-out değerini arttırmak için yükselteç (amplifier) geçitler kullanılır. Besleme Gerilim Değeri Teknolojiye göre değişir. Çok kullanılan değerler arasında 0-5V ve 0-12V sayılabilir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Temel Geçitlerden Oluşan Örnek Bir Devrenin Çözümlenmesi 4.3. Temel Geçitlerle Çözümleme ve Tasarım 4.3.1. Temel Geçitlerden Oluşan Devrelerin Çözümlenmesi Temel Geçitlerden Oluşan Örnek Bir Devrenin Çözümlenmesi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
y6 = y1 + y3 = ab + c(a + b) = ab + ac + bc y3 = cy2 = c(a + b) y4 = y2 + c = a + b + c y5 = cy1 = abc y6 = y1 + y3 = ab + c(a + b) = ab + ac + bc y7 = y6’ = (ab + ac + bc)’ = (ab)’ (ac)’ (bc)’ = (a’ + b’)(a’ + c’)(b’ + c’) = a’b’ + a’c’ + b’c’ y8 = y4y7 = (a + b + c)(a’b’ + a’c’ + b’c’) = ab’c’ + a’bc’ + a’b’c y9 = y5 + y8 = abc + ab’c’ + a’bc’ + a’b’c Sonuç: f1 = y6 = ab + ac + bc f2 = y9 = abc + ab’c’ + a’bc’ + a’b’c Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.3.2. Temel Geçitlerle Devre Tasarımı Devrenin gerçekleştireceği işlev ya da işlevlerin sözlü olarak tanımlanması. Eğer sözlü tanımda belirtilmemisse, ya da sözlü tanım yeterince belirgin değilse, devrenin giriş ve çıkışlarının, kullanılacak giriş ve çıkış değişkenlerinin ve değişkenlerin anlamlarının belirlenmesi. Çıkış işlevlerinin bulunması. Eğer devrenin gerçekleştireceği işlev basit ise, sözlü tanımdan hareketle, çıkış işlevleri doğrudan yazılabilir. Eğer çıkış işlevlerini doğrudan yazmak mümkün değilse, doğruluk çizelgesi, harita gibi araçlardan bir ya da birkaçı kullanılarak çıkış işlevleri bulunur. Çıkış işlevlerinin yalınlaştırılması ve istenilen biçime sokulması. Çıkış işlevlerinin genellikle çarpımlar toplamı ya da toplamlar çarpımı biçimine sokulması istenir. Eğer isteniyorsa, devre şemasının çizilmesi. Devre şeması kullanılacak geçit türüne göre değişir. Bu nedenle, kullanılacak geçitlerin türüne göre, önce çıkış işlevlerinin uygun biçime dönüştürülmesi gerekir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Örnek: Dört üyeli bir kurulda, a, b, c ve d ile gösterilen kurul üyelerinin oylarının ağırlıkları, ortaklık payları ile orantılı olarak 2, 3, 4 ve 6’dır. Üyelerin oylarından kurul kararını (kabul/ret) elde etmeyi sağlayan birleşimsel devre tasarlanacak. a b c d Kab Oyl. (2) (3) (4) (6) Ağ. Top. y 0 0 0 0 0 0 0 0 0 1 6 0 0 0 1 0 4 0 0 0 1 1 10 1 0 1 0 0 3 0 0 1 0 1 9 1 0 1 1 0 7 0 0 1 1 1 13 1 1 0 0 0 2 0 1 0 0 1 8 1 1 0 1 0 6 0 1 0 1 1 12 1 1 1 0 0 5 0 1 1 0 1 11 1 1 1 1 0 9 1 1 1 1 1 15 1 a b Birleşimsel y = f(a,b,c,d) c Devre d Giriş (a, b, c, ve d) değerlerinin anlamı: 1 : Üye kabul oyu kullandı 0 : Üye ret oyu kullandı. Çıkış (y) değerinin anlamı: 0 : Red kararı alındı 1 : Kabul kararı alındı Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Çıkış işlevi: f(a,b,c,d) = (3, 5, 7, 9, 11, 13, 14, 15) Çıkış işlevinin harita yöntemiyle indirgenmesi: Çarpımlar toplamı biçiminde en küçük çıkış işlevi: f(a,b,c,d) = ad + bd + cd + abc Bu örnek için yukarıda sistematik yöntemle bulunan en küçük çıkış işlevini, düşünerek doğrudan yazmak da mümkündür. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Devre Şeması: Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
birleşimsel devreyi tasarlamaya çalışalım. Örnek: x3x2x1x0 onaltılı (hexa decimal) kod sözcüğünün çift eşlik bitini bulan birleşimsel devreyi tasarlamaya çalışalım. a b Birleşimsel y = f(a,b,c,d) c Devre d Devrenin çıkış işlevini standart çarpımlar toplamı biçiminde yazabiliriz. f(x3,x2,x1,x0) = (1, 2, 4, 7, 8, 11, 13, 14) Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Çıkış İşlevinin harita yöntemiyle indirgenmesi: Çıkış işlevi indirgenemez. Çıkış işlevinin en küçük biçimi: f(x3,x2,x1,x0) = x3’x2’x1’x0 + x3’x2’x1x0’ + x3’x2x1’x0’ + x3’x2x1x0 + x3x2’x1’x0’ + x3x2’x1x0 + x3x2x1’x0 + x3x2x1x0’ Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.4. NAND ve NOR Geçitleri ile Çözümleme ve Tasarım Örnek Bir Geçit İçin Olası Bir Elekronik Şema Fiziksel Değerlere Göre Geçidin Giriş-Çıkış İlişkileri a b c y 0 Volt 0 Volt 0 Volt 5 Volt 0 Volt 0 Volt 5 Volt 5 Volt 0 Volt 5 Volt 0 Volt 5 Volt 0 Volt 5 Volt 5 Volt 5 Volt 5 Volt 0 Volt 0 Volt 5 Volt 5 Volt 0 Volt 5 Volt 5 Volt 5 Volt 5 Volt 0 Volt 5 Volt 5 Volt 5 Volt 5 Volt 0 Volt Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Geçidin Mantıksal Özellikleri (Pozitif Mantığa Göre) (Negatif Mantığa Göre) a b c y 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 a b c y 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 y = (abc)’ = a’ + b’ + c’ NAND Geçidi y = (a + b + c)’ = a’b’c’ NOR Geçidi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
NAND işlemi Birleşmeli Değildir Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.4.1. NAND ve NOR Geçitlerinden Oluşan Devrelerin Çözümlenmesi NAND ve NOR Geçitleri İçin Farklı Gösterimler 4.4.1. NAND ve NOR Geçitlerinden Oluşan Devrelerin Çözümlenmesi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
NAND Geçitleri ile örnek devre: Devrenin çıkış işlevi f(x1,x2) = ((x1’ + x1x2) (x2’ + x1x2))’ = (x1’ + x1x2)’ + (x2’ + x1x2)’ = x1(x1x2)’ + x2(x1x2)’ = x1(x1’ + x2’) + x2(x’1 + x2’) = x1x2’ + x2x1’ Devrenin gerçekleştirdiği işlev DIŞLAYAN-YADA (XOR) işlevidir. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
NOR Geçitleri ile örnek devre: y1 = (x4 + x1’x4’)(x4 + x2’x3’) = x4 + x1’x2’x3’x4’ = x4 + x1’x2’x3’ y2 = (x4 + x1)(x4 + x2’x3’) = x4 + x1x2’x3’ Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.4.2. NAND ve NOR Geçitleriyle Devre Tasarımı Örnek: y = f(x1,x2,x3,x4,x5) = x1 + (x2 + x3’)(x4 + x3x5 ) işlevini gerçekleştiren devrenin NAND geçitleri ile oluşturulması Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
y = f(x1,x2,x3,x4) = (x1 + x2x3)(x2 + x3’(x1 + x4))(x1 + x3’ + x4’) işlevini gerçekleştiren devrenin NOR geçitleri ile oluşturulması Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.5. İki ve Çok Düzeyli Devreler Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Mantıksal Tasarım – Prof. Dr Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
Çok Düzeyli Devrelerde Gürültü Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6. Birleşimsel Devre Örnekleri 4.6.1. Yarım-Toplayıcı (Half-Adder) a b Doğruluk Çizelgesi a b s c Çıkış İşlevleri: c HA 0 0 0 0 s = ab’ + a’b (elde) 0 1 1 0 = a b 1 0 1 0 c = ab s (toplam) 1 1 0 1 Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.2. Tam-Toplayıcı (Full-Adder) Doğruluk Çizelgesi ai bi ai bi ci si ci+1 0 0 0 0 0 0 0 1 1 0 ci+1 FA ci 0 1 0 1 0 (çıkış eldesi) (giriş eldesi) 0 1 1 0 1 1 0 0 1 0 si (toplam) 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Çıkış İşlevleri: si = aibici + ai’bi’ci + ai’bici’ + aibi’ci’ ci+1 = aibi + aici + bici Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.3. Yarım-Çıkarıcı (Half-Substractor) x y Doğruluk Çizelgesi x y d b Çıkış İşlevleri: b HS 0 0 0 0 d = xy’ + x’y (ödünç 0 1 1 1 = x y alınan) 1 0 1 0 c = x’y d (fark) 1 1 0 0 Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.4. Tam-Çıkarıcı (Full-Substractor) Doğruluk Çizelgesi xi yi xi yi bi di bi+1 0 0 0 0 0 0 0 1 1 1 bi+1 FS bi 0 1 0 1 1 (çıkış ödünç (giriş ödünç ) 0 1 1 0 1 alınan) alınan) 1 0 0 1 0 di (fark) 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 Çıkış İşlevleri: di = xiyibi + xi’yi’bi + xi’yibi’ + xiyi’bi’ di+1 = xi’yi + xi’bi + yibi Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.5. Eşlik Bit’i Üretimi Doğruluk Çizelgesi a b c p 0 0 0 0 0 0 0 0 a 0 0 1 1 b Birleşimsel p 0 1 0 1 c Devre 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 p = abc + a’b’c + a’bc’ + ab’c’ p = a b c Genelde n bit’lik x1x2x3….xn sözcüğünün çift eşlik bit’i: p = x1 x2 x3 ….. xn olarak bulunur. Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.6. Eşlik Bit’iDenetimi Doğruluk Çizelgesi a b c p y 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 a b Birleşimsel y (0 : doğru c Devre 1 : yanlış) p ab cp 00 01 11 10 00 1 1 01 1 1 11 1 1 10 1 1 y = a b c p Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.7. İkiye Tümler Hesaplayan Devre A = an-1an-2 … a1a0 n bit’lik ikili bir sayı olsun. A sayısının ikiye tümleri olan B = bn-1bn-2 … b1b0 sayısını üreten devreyi tasarlamak istiyoruz: B = (A’)2 n bit’lik sözcükler üzerinde işlem yapan bu tür devreler genellikle çok karmaşıktır. Bu tür devreler genellikle bir bütün olarak tasarlanmaz. Devre modüler yapıda düşünülür ve devrenin bir modülü tasarlanır. İkiye tümler algorilmasına göre, devrenin i. modülünün ai girişi ile bi çıkışı arasındaki bağlantı aşağıdaki gibidir: Eğer i. basamağın sağındaki basamaklarda hiç 1 yoksa: bi = ai Eğer i. basamağın sağındaki basamaklarda en az bir tane 1 varsa: bi = ai’ Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
kn Mn-1 kn-1 Mn-2 kn-2 ….. ki+1 Mi ki …. k1 M0 k0 ai Çıkış İşlevleri: bi = ki’ai + kiai’ ki+1 Mi ki ki+1 = ki + ai bi an-1 an-2 ai a0 kn Mn-1 kn-1 Mn-2 kn-2 ….. ki+1 Mi ki …. k1 M0 k0 bn-1 bn-2 bi b0 Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
4.6.8. BCD - Artık-3 Kod Dönüştürücü BCD Kod Söz. Artık-3 Kod Söz. x3 y3 x3 x2 x1 x0 y3 y2 y1 y0 x2 Kod y2 0 0 0 0 0 0 1 1 x1 Dönüştürücü y1 0 0 0 1 0 1 0 0 x0 y0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 yi=fi(x3,x2,x1,x0) i = 3, 2, 1, 0 0 1 0 1 1 0 0 0 işlevleri eksik tanımlanmış 0 1 1 0 1 0 0 1 işlevlerdir. 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 Çıkış İşlevleri: 1 0 0 1 1 1 0 0 y3 = (5,6,7,8,9)+(10,11,12,13,14,15) 1 0 1 0 - - - - y2 = (1,2,3,4,9)+(10,11,12,13,14,15) 1 0 1 1 - - - - y1 = (0,3,4,7,8)+(10,11,12,13,14,15) 1 1 0 0 - - - - y0 = (0,2,4,6,8)+(10,11,12,13,14,15) 1 1 0 1 - - - - 1 1 1 0 - - - - 1 1 1 1 - - - - Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü
y3 = x3 + x2x1 + x2x0 y2 = x2’x1 + x2’x0 + x2x1’x0’ y1 = x1’x0’ + x1x0 Mantıksal Tasarım – Prof.Dr. Ünal Yarımağan – HÜ Bilgisayar Mühendisliği Bölümü