Boolean Cebri ve Lojik Kapılar 1 Cebirsel Sistem Cebrin Anlamı Nedir? Matematik Sistem Bir dizi eleman Bir dizi işlem Aksiyomlar ve Kanunlar Niçin önemlidir? Hesaplama kurallarını tanımlar Örnek: Doğal Sayılar üzerinde Aritmetik İşlemler Eleman dizisi : N = {1,2,3,4,…} İşlem Operatörü +, –, * Aksiyomlar : Birleşme, Dağılma, Kapalılık, Birim Eleman özellikleri ….. Binary : İki girişli işlem operatörü Unary Bir girişli işlem operatörü 2 TEMEL TANIMLAMALAR Küme : Aynı özelliğe sahip elemanlar topluluğu S: küme , x ve y: eleman Örnek: S = {1, 2, 3, 4} x = 2 ise o halde xS. y = 5 ise o halde y S. S kümesi elemanları üzerinde tanımlanan İkili operatör S kümesinden alınan herbir eleman çiftini S kümesindeki bir tek elemana dönüştüren kuraldır. Örneğin: Verilen bir S kümesinde a*b = c işlemi düşünelim * bir ikili işlem operatörü gösterir. Eğer (a, b) eleman çiftine * işlemi uygulandığında c elemanı elde ediliyor ise, (a, b, cS,) o halde * S kümesinin bir ikili operatörüdür. Diğer yandan. * S in bir ikili operatörü değil ise (a, bS,) o halde c S. July 19, 2017 3 TEMEL TANIMLAMALAR Çeşitli cebirsel yapıları formüle etmek için kullanılan en çok bilinen kanunlar şunlardır: 1. Kapalılık (Closure): S kümesinden alınan her eleman çifti için bir ikili operatör S nin tek bir elemanını elde etme kuralını belirliyorsa bu S kümesi ikili operatöre göre kapalıdır. Örneğin: Doğal sayılar N={1,2,3,...} + operatörüne göre kapalıdır. a+b = c Her a,bN için bir cN dönüşümü tanımlıdır. – operatörü ise doğal sayılar kümesi için kapalılık özelliğini sağlamaz. 2-3 = -1 2, 3 N, ancak (-1)N. 2. Birleşme Kanunu (Associative law): S kümesi üzerinde tanımlı * ikili operatörü birleşme kanunu sağlaması için: (x * y) * z = x * (y * z) her x, y, zS (x+y)+z = x+(y+z) + işlemi de bu özelliği sağlar… 3. Değişme Kanunu (Commutative law) :S kümesi üzerinde tanımlı * ikili operatörü değişme kanununu sağlaması için: x * y = y * x for all x, yS July 19, 2017 x+y = y+x 4 TEMEL TANIMLAMALAR 4. Birim eleman (Identity element): Bir S kümesi elemanı eS aşağıdaki özelliği sağlarsa, * operatörüne göre bu küme bir birim elemana sahiptir. e*x=x*e=x her xS 0+x = x+0 =x her xI . 1*x = x*1 =x her xI. I = {…, -3, -2, -1, 0, 1, 2, 3, …}. I = {…, -3, -2, -1, 0, 1, 2, 3, …}. 5. Ters Eleman (Inverse element) : Aşağıda tanımlı özelliği sağlayan her xS için bir yS mevcutsa, bu S kümesi * operatörüne göre bir ters elemana sahiptir. x*y=e + operatörü I üzerinde, (e = 0), ters eleman özelliği gösterir a elemanın tersi (-a), (a+(-a) = 0). 6. Dağılma Kanunu (Distributive law): * ve . operatörleri S kümesi üzerinde tanımlı olsunlar. * operatörü . operatörü üzerinde dağılma özelliği göstermesi için: x * (y.z) = (x * y).(x * z) Her x, y, z S July 19, 2017 5 Boolean Cebirsel Sistemi İkili değerler için cebri tanımlamak gerekmektedir. George Boole 1854 yılında ilk defa ortaya atmıştır. Boolean Cebri için Huntington Postulaları (1904): B = {0, 1} ve iki ikili işlem, + ve. operator + ve operator · için Kapalılık Özelliği operator + için birim eleman 0 and operator · için 1 + ve · operatörleri için Değişim özelliği x+y = y+x, x·y = y·x + operatörünün . üzerine ve . operatörünün + üzerine dağılma özelliği x·(y+z) = (x·y)+(x·z) and x+(y·z) = (x+y)·(x+z) Her x elemanının tümleyeni x’ olsun x+x’=1, x·x’=0 En az 2 ayrık eleman x ve y vardır ki x≠y July 19, 2017 6 Boolean Cebri Terminoloji: Literal: Bir değişken veya tümleyeni x, y, x’ , y’ Çarpım Terimi (Product term): • ile bağlanmış değişken grubu x.y x.y’ x’.y x’.y’ Toplam Terimi (Sum term): + ile bağlanmış değişken grubu x+y July 19, 2017 x+y’ x’+y x’+y’ 7 İki-değerli Boolean Cebri Postulaları B = {0, 1} ve iki ikili işlemler + ve. İşlem kuralları : AND、OR ve NOT. AND OR NOT x y x.y x y x+y x x' 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1. Kapalılık (+ ve‧) 2. Birim elemanlar (1) (2) +: 0 .: 1 July 19, 2017 8 İki-değerli Boolean Cebri Postulaları 3. Değişim kanunları 4. Dağılma kanunları x y z y+z x.(y+z) x.y x. z (x.y)+(x.z) 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 July 19, 2017 9 İki-değerli Boolean Cebri Postulaları 5. Tümleme x+x'=1 → 0+0'=0+1=1; 1+1'=1+0=1 x.x'=0 → 0.0'=0.1=0; 1.1'=1.0=0 6. İki ayrık eleman varlığı 1 ve 0, 0 ≠ 1 Not İki elemanlı bir küme + : OR işlemi; .: AND işlemi Tümleme operatörü NOT işlemi İkili Mantık iki değerli Boolean cebridir. July 19, 2017 10 İkililik Prensibi ‘Duality’ İkilik prensibi önemli bir kavramdır. Bir ifade Boolaen Cebrinde tanımlı ise, bu ifadenin ikili karşılığıda tanımlı bir ifadedir. Bir ifadenin ikili karşılığını bulmak için, orijinal ifadede + yerine . , . yerine +, 0 yerine 1, 1 yerine 0 konulur. İfadenin duali a + (bc) = (a + b)(a + c) a(b + c) = ab + ac July 19, 2017 11 Temel Teoremler July 19, 2017 12 Boolean Teoremleri Huntington’un postulaları bazı kuralları tanımlar. Post. Post. Post. Post. 1: 2: 3: 4: closure (a) x+0=x, (b) x·1=x (a) x+y=y+x, (b) x·y=y·x (a) x(y+z) = xy+xz, (b) x+yz = (x+y)(x+z) Post. 5: (a) x+x’=1, (b) x·x’=0 Cebirsel ifadeleri değiştirmek için daha fazla kural gerekir. Teoremler postulalardan türetilir. Teorem Nedir? Postulalardan türetilen bir formül yada ifade (veya diğer ispatlanmış teoremler) Boolean cebri temel teoremleri Teorem 1 (a): x + x = x (b): x · x = x July 19, 2017 13 İspat: x+x=x Sadece Huntington postulaları Huntington postulaları kullanarak Post. 2: (a) x+0=x, (b) x·1=x Post. 3: (a) x+y=y+x, (b) x·y=y·x Post. 4: (a) x(y+z) = xy+xz, (b) x+yz = (x+y)(x+z) Post. 5: (a) x+x’=1, (b) x·x’=0 x+x=x olduğunun gösterimi. x+x = (x+x)·1 = (x+x)(x+x’) = x+xx’ = x+0 =x 2(b) 5(a) 4(b) 5(b) 2(a) Teorem 1(a) yı ileriki ispatlarda kullanacağız. July 19, 2017 14 İspat : x·x=x Huntington postulates: Post. 2: (a) x+0=x, (b) x·1=x Post. 3: (a) x+y=y+x, (b) x·y=y·x Post. 4: (a) x(y+z) = xy+xz, (b) x+yz = (x+y)(x+z) Post. 5: (a) x+x’=1, (b) x·x’=0 Th. 1: (a) x+x=x x·x = x olduğunun gösterimi. x·x July 19, 2017 = xx+0 = xx+xx’ = x(x+x’) = x·1 =x 2(a) 5(b) 4(a) 5(a) 2(b) 15 İspat: x+1=1 Huntington postulaları: Teorem 2(a): x + 1 = 1 x + 1 = 1.(x + 1) =(x + x')(x + 1) = x + x' 1 = x + x' =1 2(b) Post. 2: (a) x+0=x, (b) x·1=x 5(a) Post. 3: (a) x+y=y+x, (b) x·y=y·x Post. 4: (a) x(y+z) = xy+xz, 4(b) (b) x+yz = (x+y)(x+z) 2(b) Post. 5: (a) x+x’=1, (b) x·x’=0 5(a) Th. 1: (a) x+x=x Teorem 2(b): x.0 = 0 ikililik prensibi Teorem 3: (x')' = x Postula 5, x tümleyeni tanımlar, x + x' = 1 ve x x' = 0 x' tümleyeni x =(x')' July 19, 2017 16 Kapsama Özelliği (Covering) Huntington postulaları: Teorem 6(a): x + xy = x x + xy = x.1 + xy = x (1 + y) = x (y + 1) = x.1 =x 2(b) 4(a) 3(a) 2(a) 2(b) Post. 2: (a) x+0=x, (b) x·1=x Post. 3: (a) x+y=y+x, (b) x·y=y·x Post. 4: (a) x(y+z) = xy+xz, (b) x+yz = (x+y)(x+z) Post. 5: (a) x+x’=1, (b) x·x’=0 Th. 1: (a) x+x=x Teorem 6(b): x (x + y) = x İkililik Özelliği Doğruluk Tablosu kullanark (diğer bir ispat yolu ) July 19, 2017 x y xy x+xy 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 17 DeMorgan Teorem Teorem 5(a): (x + y)’ = x’y’ Teorem 5(b): (xy)’ = x’ + y’ Doğruluk Tablosu yardımıyla ispat x y x’ y’ x+y (x+y)’ x’y’ xy x’+y' (xy)’ 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 July 19, 2017 18 Yutma Teoremi xy + x’z + yz = xy + x’z 2. (x+y)•(x’+z)•(y+z) = (x+y)•(x’+z) -- (dual) İspatı: xy + x’z + yz = xy + x’z + (x+x’)yz = xy + x’z + xyz + x’yz = (xy + xyz) + (x’z + x’zy) = xy + x’z (İkililik prensibi ile diğer teoremi (2) ispatlayınız ). 1. July 19, 2017 19 Boolean İfadelerini değerlendirmek için kullanılır: Parantez NOT AND OR Örnekler: x y' + z (x y + z)' July 19, 2017 20 Boolean Fonksiyonları: Bir Boolean Fonksiyonu İkili Değişkenler İkili Operatörler OR ve AND Tekil Operatör NOT Parentezler Örnekler: F1= x y z' F2 = x + y'z F3 = x' y' z + x' y z + x y' F4 = x y' + x' z July 19, 2017 21 Boolean Fonksiyonları 2n girişli Doğruluk Tablosu (truth table) x y z F1 F2 F3 F4 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 İki Boolean fonksiyonu aynı doğruluk tablosuna sahipse bu fonksiyonların cebirsel ifadeleri de aynıdır. F3 = F4 22 Boolean Fonksiyonları Lojik kapılarla gerçekleme F4 çok daha ekonomiktir. F2 = x + y'z F3 = x' y' z + x' y z + x y' F4 = x y' + x' z 23 Cebirsel Manüplasyon Boolean ifadelerini minimize etmek için, Literal: Tek değişken (bir kapının bir girişi) Term: Bir kapılı gerçekleme Literal veya term sayısını minimize etmek→ daha az kapılı bir devre Belirli bir kuralı yok Example 2.1 1. x(x'+y) = xx' + xy = 0+xy = xy 2. x+x'y = (x+x')(x+y) = 1 (x+y) = x+y 3. (x+y)(x+y') = x+xy+xy'+yy' = x(1+y+y') = x 4. xy + x'z + yz = xy + x'z + yz(x+x') = xy + x'z + yzx + yzx' = xy(1+z) + x'z(1+y) = xy +x'z 5. (x+y)(x'+z)(y+z) = (x+y)(x'+z), ikililik prensibi (duality). Yutma teoremi July 19, 2017 24 Bir Fonksiyonun Tümleyeni By DeMorgan's theorem (A+B+C)' = (A+X)' = A'X' = A'(B+C)' = A'(B'C') = A'B'C' let B+C = X by theorem 5(a) (DeMorgan's) substitute B+C = X by theorem 5(a) (DeMorgan's) by theorem 4(b) (associative) Genelleştirme: Bir fonksiyon ifadesinde AND ve OR operatörleri yerdeğiştirilerek ve her değişkenin tümleyeni alınarak fonksiyonun tümleyeni bulunur. (A+B+C+D+ ... +F)' = A'B'C'D'... F' (ABCD ... F)' = A'+ B'+C'+D' ... +F' July 19, 2017 25 Örnekler Örnek 2.2 F1' = (x'yz' + x'y'z)' = (x'yz')' (x'y'z)' = (x+y'+z) (x+y+z') F2' = [x(y'z'+yz)]' = x' + (y'z'+yz)' = x' + (y'z')' (yz)‘ = x' + (y+z) (y'+z') = x' + yz‘+y'z Örnek 2.3: daha basit bir prosedür Fonksiyonun dualini al ve her değişkeni tümleyenini koy. 1. F1 = x'yz' + x'y'z. Dual F1 (x'+y+z') (x'+y'+z). Değişken tümleme : (x+y'+z)(x+y+z') = F1' 2. F2 = x(y' z' + yz). Dual F2 x+(y'+z') (y+z). Değişken tümleme : x'+(y+z)(y' +z') = F2' July 19, 2017 26 2.6 Kanonik ve Standard Formlar Standart Çarpımlar (Minterms) ve Standart Toplamlar (Maxterms) Minterm: Normal veya tümleme formunda bulunan tüm değişkenleri içeren bir AND terimidir. Örnek, 2 ikili değişken x ve y ile oluşturulan mintermler xy, xy', x'y, x'y‘ n değişken ile 2n minterm oluşturulabilir. Maksterm : Bir OR terimi Örnek, 2 ikili değişken x ve y ile oluşturulan makstermler x+y, x+y', x‘+y, x‘+y‘ n değişken ile 2n maksterm oluşturulabilir. July 19, 2017 27 Minterm ve Makstermler Her maksterm ona karşı gelen mintermin tümleyenidir ve tersi de doğrudur. July 19, 2017 28 Minterm ve Makstermler Bir Boolean fonksiyonu doğruluk tablosu veya minterm (veya maksterm) cinsinden ifade edilebilir: Minterm toplamları f1 = x'y'z + xy'z' + xyz = m1 + m4 +m7 f2 = x'yz+ xy'z + xyz'+xyz = m3 + m5 +m6 + m7 July 19, 2017 29 Minterm ve Makstermler Bir Boolean fonksiyonun tümleyeni fonksiyonu 0 yapan mintermler f1' = m0 + m2 +m3 + m5 + m6 = x'y'z'+x'yz'+x'yz+xy'z+xyz' f1 = (f1')' = (x+y+z)(x+y'+z) (x+y'+z') (x'+y+z')(x'+y'+z) = M0 M2 M3 M5 M6 f2 = (x+y+z)(x+y+z')(x+y'+z)(x'+y+z)=M0M1M2M4 Bir Boolean fonksiyonu aşağıdaki şekilde ifade edilebilir: Mintermlerin toplamı. (toplama OR işlemi anlamında) Makstermlerin çarpımı (çarpım AND işlemi anlamında). Bu durumdaki Boolean Fonksiyonları Kanonik Formdadırlar. July 19, 2017 30 Mintermlerin Toplamı n Boolean değişkenli fonksiyon 2n minterm ile ifade edilebilir. Örnek 2.4: F = A+BC’ fonksiyonunu. F = A+B'C = A (B+B') + B'C = AB +AB' + B'C = AB(C+C') + AB'(C+C') + (A+A')B'C = ABC+ABC'+AB'C+AB'C'+A'B'C F = A'B'C +AB'C' +AB'C+ABC'+ ABC = m1 + m4 +m5 + m6 + m7 F(A, B, C) = S(1, 4, 5, 6, 7) Yada doğruluk tablosu yapılarak aynı ifade doğrudan elde edilir. July 19, 2017 31 Makstermlerin çarpımı Dağılma özelliğini kullanarak: x + yz = (x + y)(x + z) = (x+y+zz')(x+z+yy') = (x+y+z)(x+y+z')(x+y'+z) Örnek 2.5: F = xy + x‘z F = xy + x'z = (xy + x')(xy +z) = (x+x')(y+x')(x+z)(y+z) = (x'+y)(x+z)(y+z) x'+y = x' + y + zz' = (x'+y+z)(x'+y+z') F = (x+y+z)(x+y'+z)(x'+y+z)(x'+y+z') = M0M2M4M5 F(x, y, z) = P(0, 2, 4, 5) July 19, 2017 32 Kanonik Formlar arasındaki dönüşüm Minterm toplamı olarak ifade edilen bir fonksiyonun tümleyeni orijinal fonksiyonda görünmeyen mintermlerin toplamına eşittir: F(A, B, C) = S(1, 4, 5, 6, 7) Buradan , F'(A, B, C) = S(0, 2, 3) DeMorgan teoremi ile F(A, B, C) = P(0, 2, 3) F'(A, B, C) =P (1, 4, 5, 6, 7) mj' = Mj Mintermlerin toplamı = Makstermlerin çarpımı S ve P sembolleri değiştirilerek fonksiyon tümleyeni bulunabilir S fonksiyonu 1 yapan mintermlerden P fonksiyonu o yapan makstermlerden July 19, 2017 33 Örnek F = xy + xz F(x, y, z) = S(1, 3, 6, 7) F(x, y, z) = P (0, 2, 4, 6) July 19, 2017 34 Standart Formlar Kanonik formlar minterm veya maksterm formunda ifadedir. Standard formlar: 1, 2 veya herhangi sayıda değişkenden oluşan fonksiyon terimlerini içerir. Çarpımların Toplamı: F1 = y' + xy+ x'yz' Toplamların Çarpımı : F2 = x(y'+z)(x'+y+z') F3 = A'B'CD+ABC'D' July 19, 2017 35 Gerçekleme F1 = y' + xy+ x'yz' July 19, 2017 F2 = x(y'+z)(x'+y+z') 36 2.7 Diğer Lojik İşlemler n değişkenli doğruluk tablosunda 2n satır n 2 2 fonksiyon tanımlanabilir n=2 için 16 fonksiyon July 19, 2017 37 Boolean İfadeleri July 19, 2017 38 2.8 Dijital Lojik Kapılar Boolean ifadeleri: AND, OR ve NOT işlemleri Diğer lojik işlemlerin kapılarını oluşturulması Ekonomik ve gerçeklenebilirlik Kapı girişlerini genişletmek imkanı; İkili işlemlerin temel özellikleri (değişme ve birleşme); Boolean fonksiyonunu gerçeklemek için kapı yeteneği. July 19, 2017 39 Standart Kapılar 16 adet fonksiyonu hatırlayın (38 nolu slayt) Sabit fonksiyonlar(F0 ve F15). 2 kez tekrarlı fonksiyonlar (F4, F5, F10 and F11). F4 ile F2, F5 F3 , F10 F12 , F11 ile F13 (F2) ve (F13) değişme ve birleşme özelliğine uymuyor. (F2 ) x.y' ≠ y.x' Standart Kapılar: Tümleme (F12), transfer (F3), AND (F1), OR (F7), NAND (F14), NOR (F8), XOR (F6), ve eşdeğerlik (XNOR) (F9) Transfer: buffer (kapının diğer kapıları sürme yeteneğini artırır.). . July 19, 2017 40 Lojik Kapı Özet July 19, 2017 41 Lojik Kapı Özet July 19, 2017 42 Çoklu Girişler Çoklu giriş genişletme Bir kapı çoklu girişlere genişletilebilir: İkili işlemleri değişme ve birleşme özelliklerini sağlıyorsa; AND ve OR değişme ve birleşme özelliklerini sağlar OR x+y = y+x (x+y)+z = x+(y+z) = x+y+z AND xy = yx (x y)z = x(y z) = x y z July 19, 2017 43 Çoklu Girişler NAND ve NOR değişme özelliğini sağlar fakat birleşme özelliğine uymaz → Genişletilemez NOR işlemi birleşme özelliğini sağlamaz (x ↓ y) ↓ z ≠ x ↓(y ↓ z) July 19, 2017 44 Çoklu Girişler Çok girişli NOR = OR kapısının tümleyeni Çok girişli NAND =AND kapısının tümleyeni Kaskad NAND = çarpımların toplamı Kaskad NOR = toplamların çarpımı Çok girişli ve Kaskad NOR ve NAND kapıları July 19, 2017 45 Çoklu Girişler XOR ve XNOR kapıları değişme ve birleşme özelliklerini sağlarlar. Çok girişli XOR gerçeklenebilir XOR bir teklik belirleme fonksiyonudur.: Girişleri tek sayıda 1 içeriyorsa çıkış 1 July 19, 2017 3-girişli XOR kapısı 46 Pozitif ve Negatif Lojik Pozitif ve Negatif Lojik İki işaret değeri <=> iki lojik seviye Pozitif lojik H=1; L=0 Negatif lojik H=0; L=1 Lojik Seviyeler July 19, 2017 47 Pozitif ve Negatif Lojik TTL kapı düşünelim Bir pozitif lojik AND kapısı Bir negatif lojik OR kapısı Bu derste pozitif lojik kullanılacaktır. July 19, 2017 48 2.9 Entegre Devreler Tümleştirme Seviyesi IC (a chip) Örnekler Küçük çapta tümleştirme Small-scale Integration (SSI): < 10 kapı Orta çapta tümleştirme Medium-scale Integration (MSI): 10 ~ 100 kapı Büyük çapta tümleştirme Large-scale Integration (LSI): 100 ~ xk kapı Çok büyük çapta tümleştirme Very Large-scale Integration (VLSI): > xk kapı VLSI Küçük boyut Düşük güç tüketimi Düşük fiyat Yüksek güvenirlik Low power consumption Yüksek hız July 19, 2017 49 Dijital Lojik Aileler Kullandıkları Devre teknolojisi TTL: transistor-transistor logic ECL: emitter-coupled logic (high speed, high power consumption) MOS: metal-oxide semiconductor (NMOS, high density) CMOS: complementary MOS (low power) BiCMOS: high speed, high density July 19, 2017 50 Dijital Lojik Aileler KARAKTERİSTİKLERİ Çıkış Yelpazesi: (Fan-out ) Tipik bir kapı çıkışının sürebileceği kapı girişi sayısı Güç tüketimi (Power dissipation) İletim Gecikmesi (propagation delay): işaretin girişten çıkışa ortalama iletim süresi Gürültü Bağışıklığı (Noise margin): Devre çıkışında istenmeyen değişime neden olan dış kaynaklı minumum gürültü gerilimi July 19, 2017 51 CAD CAD – Computer-Aided Design Millions of transistors Computer-based representation and aid Automatic the design process Design entry Schematic capture HDL – Hardware Description Language Verilog, VHDL Simulation Physical realization July 19, 2017 ASIC, FPGA, PLD 52 Chip Design Why is it better to have more gates on a single chip? Easier to build systems Lower power consumption Higher clock frequencies What are the drawbacks of large circuits? Complex to design Chips have design constraints Hard to test Need tools to help develop integrated circuits Computer Aided Design (CAD) tools Automate tedious steps of design process Hardware description language (HDL) describe circuits VHDL (see the lab) is one such system July 19, 2017 53