Genel Lojik Devreler YILDIZ TEKNİ K ÜNİ VERSİ TESİ Elektronik ve Haberleş me Mühendisliğ i Bölümü LOJİ K DEVRELER DERS NOTLARI Prof. Dr. Ertuğ rul ERİŞ Devreler ve Sistemler Anabilimdalı İ STANBUL, 2001i BÖLÜM 1 SAYISAL Dİ ZGELER ...............................................................................1 1.1 Sayısal Dizgelerin (sistem) Temel Kavramları .......................................................................1 1.2 Bilginin İ letilmesi ......................................................................................................................4 1.3 Bilginin Saklanması..................................................................................................................4 1.4 Bilginin İş lenmesi .....................................................................................................................5 1.5 Konumsal Sayı Dizgeleri ..........................................................................................................6 1.5.1 Taban dönüş türülmesi........................................................................................................7 1.5.2 Aritmetik .............................................................................................................................9 BÖLÜM 2 BOOLE CEBRİ NE Gİ RİŞ .......................................................................1 2 2.1 Matematiksel Genel Kavramlar..............................................................................................1 2 2.2 Boole Cebri..............................................................................................................................1 4 2.3 Sonlu Kümeler Arasında Tanımlanan Fonksiyonlar ...........................................................1 8 2.4 Boole ve Boole Olmayan Fonksiyonlar ................................................................................1 9 2.5 İ ki Değ erli Boole Cebri ve Anahtar Fonksiyonları ...............................................................25 2.6 Özet ..........................................................................................................................................27 BÖLÜM 3 SAYISAL Dİ ZGELER VE BOOLE CEBRİ ..............................................28 3.1 Giriş ..........................................................................................................................................28 3.2 Önermeler Cebri ve İ ki Değ erli Boole Cebri ....................................................................28 3.3 Kapı Elemanlarından Oluş an Devreler ve İ ki Değ erli Boole Cebri..............................29 3.4 Özet ..........................................................................................................................................38 BÖLÜM 4 KOMBİ NEZONSAL DEVRE SENTEZİ ...................................................39 4.1 Giriş ..........................................................................................................................................39 4.2 Tablo Yöntemiyle Minimal Fonksiyonların Bulunması .......................................................41 4.2.1 Tablo yöntemi...................................................................................................................41 4.2.2 Asal Bileş enlerin Bulunması.............................................................................................42 4.2.3 Asal bileş enler tablosu ve minimal fonksiyonların bulunması....................................44 4.2.4 Bütün İ ndirgenemeyen ve minimal fonksiyonların belirlenmesi...................................45 4.3 Karnaugh Diyagramlarıyla Fonksiyonların minimalleş tirilmesi.........................................50 4.3.1 Karnaugh diyagramları.....................................................................................................50 4.3.2 Karnaugh diyagramlarında küpler ve bunlara karş ı düş en çarpımlar(toplamlar) terimleri52 4.3.3 Karnaugh diyagramlarıyla minimal fonksiyon(ların) bulunması .......................................53 4.3.4 Kısmen belirlenmiş fonksiyonlar ve karnaugh diyagramlarıyla minimalleş tirilmeleri .......56ii 4.4 Kombinezonsal devre sentezi .............................................................................................58 4.4.1 Paralel toplayıcının sentezi ............................................................................................59 4.4.2 Kod dönüş türücü sentezi................................................................................................61 BÖLÜM 5 KOMBİ NEZONSAL MSI VE LSI ELEMANLARI ..................................63 5.1 Gİ RİŞ ........................................................................................................................................63 5.2 Paralel toplayıcı.......................................................................................................................63 5.3 Karş ılaş tırma devresi..............................................................................................................68 5.4 Çözücüler (Decoders).............................................................................................................69 5.5 Multiplexer (Çoğ ullayıcı) devreler .........................................................................................72 5.6 Read-Only Memory (ROM) .....................................................................................................75 5.7 PLA (Programable Logic Array) ............................................................................................77 BÖLÜM 6 ARDIŞ IL MANTIK DEVRELERİ .............................................................81 6.1 Giriş ..........................................................................................................................................81 6.2 Ardış ıl Makinelerin Modellendirilmesi ..................................................................................82 6.3 Ardış ıl Makinelerin Sınıflandırılması....................................................................................85 6.4 Bellek Elemanları ....................................................................................................................86 6.5 Bellek elemanlarının tetiklenmesi .........................................................................................91 6.6 Tüm devre olarak bellek elemanları yardımcı giriş leri........................................................98 BÖLÜM 7 ARDIŞ IL DEVRELERİ N ANALİ Zİ ..........................................................99 7.1 Saatli ardış ıl devrelerin analizi ..............................................................................................99 7.2 Örnek bir Moore makinesi analizi..........................................................................................99 7.2.1 Matematiksel model ve analiz........................................................................................1 00 7.2.2 Durum tablosu ve analiz..............................................................................................1 01 7.2.3 Durum diyagramı ve analiz ............................................................................................1 02 7.2.4 Zaman diyagramı (Timing diagram)...............................................................................1 02 7.3 Örnek bir Mealy makinesi analizi ........................................................................................1 03 BÖLÜM 8 ARDIŞ IL DEVRELERİ N SENTEZİ .......................................................1 07 8.1 Sentez yönteminin genel adımları.......................................................................................1 07 8.2 Modulo 8 ileri sayıcı..............................................................................................................11 0 8.3 Özel bir sayıcı devresi ..........................................................................................................11 2 8.4 Dizi detektörü ........................................................................................................................11 5iii BÖLÜM 9 ARDIŞ IL DEVRELERDE DURUM İ NDİ RGENMESİ VE DURUM KODLAMASI .............................................................................................................11 8 9.1 Durum indirgemesi (state reduction)..................................................................................11 8 9.1.1 Eş leş tirme tablosu ile durum indirgemesi yöntemi.........................................................1 20 9.1.2 Eş değ er durum sınıfları ile durum indirgemesi yöntemi.................................................1 22 9.2 Durum kodlaması (state assignment).................................................................................1 24 9.2.1 Kod sayısı ve eş değ er durum kodları ............................................................................1 24 9.2.2 Durum kodlaması...........................................................................................................1 27 BÖLÜM 10 YAZMAÇLAR, SAYICILAR, BELLEKLER..........................................1 30 10.1 Yazmaçlar..........................................................................................................................1 30 10.1.1 Paralel yüklemeli yazmaçlar...........................................................................................1 30 10.1.2 Ötelemeli yazmaçlar.......................................................................................................1 33 10.2 Sayıcılar (Counters).........................................................................................................1 36 10.2.1 İ kili Asenkron Sayıcılar (Binary ripple counter) ..............................................................1 36 10.2.2 İ kili kodlanmış onlu asenkron sayıcı (BCD binary coded decimal ripple counter) .........1 37 10.2.3 İ kili senkron sayıcılar......................................................................................................1 39 10.2.4 Paralel yüklemeli ikili senkron sayıcılar..........................................................................1 40 10.3 Sayıcıların uygulaması olarak, zamanlama dizileri üreten devreler............................1 42 1.1.1 Kelime-zamanı darbesinin üretilmesi .............................................................................1 43 10.3.2 Sayısal sistemlerde zaman iş aretleri .............................................................................1 43 10.3.3 Johnson sayıcılar ve 8 li zaman iş areti üreteçleri.....................................................1 45 10.4 Bellek birimi ......................................................................................................................1 46 EKLER ..............................................................................................................1 48 EK 1 Kaynakça...........................................................................................................................1 48 EK 2 Örnek Sınav Soruları........................................................................................................1 491 B BÖ ÖL LÜ ÜM M 1 1 S SA AY YI IS SA AL L D Dİİ Z ZG GE EL LE ER R 1.1 Sayısal Dizgelerin (sistem) Temel Kavramları Bilgi saklanır, iletilir veya iş lenirken çeş itli fiziksel yapılarda görülür: harfler (yazaçlar), sayılar, elektriksel büyüklükler, ış ık, duman, kimyasal yapılar gibi. Biz elektriksel yapıda (akım, gerilim) olan iş aretlerle ilgileneceğ iz. Bu iş aretlerin zamana göre değ iş imi üç farklı biçimde görülebilir. a. Sürekli iş aretler: R reel sayılar kümesi olmak üzere f:R›R ye tanımlanan fonksiyonlardır. Her bir t anına belli bir reel sayı karş ı düş er (Ş ekil.1 .1 .a). b. Ayrık zamanlı (discrete) iş aretler: N doğ al sayılar kümesi olmak üzere f:N› R ye tanımlanan fonksiyonlardır. Yalnızca belli t ler için fonksiyon tanımlanmış tır. Sayısal süzgeçlerdeki örneklenmiş iş aret, ayrık zamanlı iş arete bir örnektir. (Ş ekil.1 .1 b) f(t) f(t) f(t) t t t a)Sürekli iş aret b)Ayrık zamanlı iş aret c)Sayısıal iş aret Ş ekil 1 .1 Farklı biçimlerde görülen iş aretler c. Sayısal (digital) iş aretler: S, N nin sonlu bir alt kümesi olmak koş uluyla f:N› S ye tanımlanan fonksiyonlardır. Bu fonksiyonların ayrık olan fonksiyonlardan farkı, değ er kümesinin, R reel sayılar kümesi yerine, N doğ al sayılar kümesinin sonlu bir alt kümesi olmasıdır (Ş ekil.1 .1 .c). S kümesindeki eleman sayısı (m), kullanılan mantığ ı belirler, m- li mantık gibi. Sayısal dizgelerde S=(0,1 ) ikili mantığ ı yaygın bir biçimde kullanılmaktadır. Yarıiletken elemanların güvenilir çalış ması olan iletimde ve kesimde çalış ma 0,1 simgelerine karş ı düş ürülür. Bu dersin kapsamı içinde yalnızca ikili mantıkla ilgileneceğ iz. Günlük yaş antımızda bilgi alış veriş ini (saklama, iletme ve iş leme) harfler (yazaçlar), noktalama iş aretleri, rakamlar gibi simgeler aracılığ ıyla yapmaktayız. Bu farklı simgelerden oluş an kümeye abece (alfabe), abecenin her bir elemanına da sayamak (digit) diyeceğ iz. Alış ılagelen abecenin, sayısal dizgeye iliş kin sayısal iş aretin değ er kümesi olan, S=( 0,1 ) abecesine dönüş türülmesine kodlama (düğ ümleme) denir. Biliş im kuramında bilgi birimi ikili (bit) dir. Bir soruya iliş kin sorana göre aynı olasılıklı iki yanıta, bir bitlik bilgi taş ıyor denir. Örneğ in (evet, hayır); (var, yok); (1 ,0) abeceleri2 birer bitlik bilgi taş ırlar. Buna göre m sayamaklı bir abecenin her bir sayamağ ı (log 2 m) bitlik bilgi taş ır. Bir baş ka deyiş le m sayamaklı abecenin her bir sayamağ ına, (0,1 ) li simgeler karş ı düş ürürsek (kodlarsak), k?log 2 m bağ ıntısını sağ layan en küçük tam sayı olan k tane (0,1 ) simgesine gereksinim vardır. Örneğ in m=4 sayamaklı (A,.B,C,D) abecesinin her bir elemanı log 2 4=2 bitlik bilgi taş ır, yani A=00 B=01 C=1 0 D=11 biçiminde kodlanabilir ve her bir sayamağ a (0,1 ) li iki tane simge karş ı düş ürülmüş olur. Bu da bit sayısına eş ittir. Yani bu abece 2 bitlik bilgi taş ır. Pratikte kullanılan, harfler, rakamlar ve noktalama iş aretlerinden oluş an alış tığ ımız abeceyi, ikili abaceye dönüş türen en yaygın alphanumeric (abece ve sayılar) kod, ASCII ( American Standard Code for Information Interchange) kodudur. Alış tığ ımız abecedeki her bir sayamak 7 bitle temsil edilebilir. Aş ağ ıdaki Tablo 1 .1 de bu kod verilmiş tir. Örneğ in A ve a için kodlar b 7 b 6 b 5 b 4 b 3 b 2 b 1 A 1 0 0 0 0 0 1 a 1 1 0 0 0 0 1 dır. Tablo 1 .1 ASCII kodu b 7 b 6 b 5 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 b 4 b 3 b 2 b 1 00000N U LD L ES P0@P, p 00011 SOH DC1 ! 1 AQaq 001 0 2 STX DC2 " 2 B R b r 0011 3 ETX DC3 # 3 C S c s 0 1 004E O TD C 4$4DTdt 0 1 0 1 5 ENQ NAK % 5 E U e u 0 11 06A C KS Y N&6FVf v 0 111 7 BEL ETB , 7 G W g w 1 0008B SC A N( 8HXhx 1 001 9H TE M) 9 I Y ı y 1 0 1 0AL FS U B .:JZjz 1 0 11 B VT ESC + ; K [ k { 11 0 0 C FF FS , < L \ l | 11 0 1 DC RG S- = M ] m } 111 0ES OR S. >N^n~ 1111 FS IU S/ ? O ş oD E L ASCII koduna alternatif olarak kullanılan EBCDIC (Extended Binary Coded Decimal Interchange Code) kodu vardır, genellikle IBM bilgisayarlarda kullanılır. Yalnızca nümerik olan kodlar da vardır. 1 0 lu abecedeki sayamakların ikili abecedeki karş ılıklarını veren kodlar, genellikle BCD (Binary Coded Decimal) olarak anılırlar. log 2 1 0 = 3 ile 4 arasında bir sayı olduğ undan, bu kodlamada 4 bit'e gereksinim vardır. Bu durumda 1 0 kod kullanılacak diğ er 6 kod ise atıl kalacaktır. Aş ağ ıdaki Tablo 1 .2 de BCD kodlar verilmiştir. Koyu bölmedeki rakamlar konumların ağ ırlıklarını3 göstermektedir. Örneğ in 7421 kodunda 8 rakamı 1 .7+0.4+0.2+1 .1 olarak bulunur. Son sütunda ki kodlama 8421 koduna 3 eklenerek bulunur. 1 . sütundaki kod yaygın bir biçimde kullanılır ve BCD kod dendiğ i zaman bu kod anlaş ılır. Tablo 1 .2 Değ iş ik BCD kodlar Tablo 1 .2 Gray kodu Onlu ayamak 8421 odu 5421 odu 7421 odu Excess kodu 8421 5421 7421 8421 0 0000 0000 0000 0011 0 000 1 0001 0001 0001 01 00 1 001 20 0 100 0 100 0 100 1 01 20 11 30 0 11 0011 0011 011 0 3 0 1 0 40 1 00 01 00 01 00 0111 4 11 0 50 1 01 01 01 01 011 000 5 111 60 1100 1100 11 0 1 001 6 1 01 70 111 0111 1 000 1 01 0 7 1 00 8 1 000 1 011 1 0011 011 9 1 0011 1 00 1 01 0 11 00 Gray kodu bir baş ka sıkça kullanılan koddur. Bu koda dönüş türülecek abecedeki sıralı elemanların ikili kodlanmasında komş u sıralardaki kodlarda yalnızca bir bitte değ iş iklik vardır. Örneğ in yukarıda Tablo 1 .3 te verilen 3 bitli Gray kodunda 3 ve 4 gibi komş u elemanlara verilen kodlarda, (01 0, 11 0) yalnızca en soldaki bit değ iş miş diğ erleri değ iş memiş tir. Ş imdiye kadar, Ş ekil 1 .2 de canlandırıldığ ı gibi, sayısal dizgenin giriş ine gelen (0,1 ) abeceli sayısal iş aretin, alış ılagelen abece'den kodlama ile nasıl üretildiğ ini gördük. Ş imdide sayısal dizgenin iç yapısını, alt dizgelerini görelim. Sayısal dizge bilginin iletimine yarayan iletim elemanları, bilginin saklanmasına yarayan bellek elemanları ve bilginin iş lenmesi, yeni bilgi üretilmesine yarayan iş lem elemanlarından oluş ur (Ş ekil.1 .2). Bu elemanlar arasında eş güdümü sağ layan komut iş aretleri, neredeki bilginin ne kadar saklanacağ ı veya ne zaman neredeki bilginin nasıl iş leneceğ ini belirler.4 Alış tığ ımız abece (0,1 ) abecesi kodlama Bellek elemanları İş lem elemanları Iletim elemanları Sayısal iş aret Ş ekil.1 .2. Sayısal dizge ve iç yapısı. 1.2 Bilginin İ letilmesi Bilginin iletilmesi iletim elemanlarıyla olur: İletken tel, elektromagnetik alan gibi. Tellerle yapılan iletimde kodlama sonucu elde edilen n bitlik bilginin her biti bir telle iletilebilir, buna paralel iletim denir. Ya da bilgiye iliş kin bitler bir tel üzerinde zaman içinde sıralı olarak iletilebilir, buna da seri iletim denir. Paralel iletimin daha hızlı olacağ ı açıktır, bedeli tel maliyetidir. Bu nedenle uzak mesafelerdeki iletimde, genellikle seri iletim; kısa mesafelerdeki iletimde ise paralel iletim seçilir. 1.3 Bilginin Saklanması Bilgi, devingen (dinamik) bellek elemanlarıyla tekrarlanarak saklandığ ı gibi, durağ an (statik) bellek elemanlarıyla da uzun süreler saklanabilir. Örneğ in disketler, compact diskler (CD) , hard diskler gibi Devingen bellek elemanları, yeni bir komut gelene kadar bir bitlik bir bilgiyi saklayan elemanlardır. Çeş itli türleri vardır. Ş ekil.1 .3 de bir bellek elemanına iliş kin giriş ve çıkış lar gösterilmiş tir. C komut darbelerinin giriş ucudur, bu darbeler geldiğ inde bellek elemanı D giriş ini kabul eder. Q çıkış tır. Q', Q nun tümleyeni diye adlandırılır ve Q=0 iken Q'=1 , Q=1 iken Q'=0 olur. Gecikme elemanı olarak bilinen bu eleman, komut iş areti varken giriş ine gelen sayısal iş areti çıkış ına ötelenmiş olarak vermektedir. Giriş le çıkış arasındaki iliş kiyi Q(i+1 )=D(i) biçiminde D Q Q C D Q Q' C t 1 t 2 Ş ekil.1 .3 Gecikme bellek elemanı ve giriş çıkış iliş kisine bir örnek.5 ifade edebiliriz. Bu da i anındaki giriş in (i+1 ) anında çıkış ta görülmesidir. Ş ekil.1 .3 de t = t 1 ve t=t 2 anlarında, aynı giriş ler için çıkış ların farklı olduğ u gözlemlenir. Çıkış , giriş ler cinsinden yegane olarak belirlenememektedir. Bu özellik bellek elemanlı devrelerde görülen genel bir özelliktir. Böyle elemanları içeren mantık devrelerine ardış ıl (sequential) devreler denir. Ş ekil.1 .4 te verilen gecikme elemanlarından oluş muş mantık devresi, bilginin depolanmasına iliş kin bir örnek devredir. Baş ka elemanların çıkış ları olan X Y Z uçlarındaki bilgi, komuta iş aret geldiğ inde gecikme elemanlarının çıkış larında görülecektir. Komuta yeni bir iş aret gelene kadar çıkış aynı kalacak, yani bilgi depolanmış olacaktır . Bu devreye yazmaç (register) devresi denir. Gecikme1 Gecikme2 Gecikme3 x y z t=i Komut t=i t> i+1 Q Q Q 1 2 3 = x = y = z Ş ekil.1 .4. Bir yazmaç devresi. 1.4 Bilginin İş lenmesi Bilginin iş lenmesi iş lem elemanlarıyla yapılır. Basit ikili iş lem elemanları kapılardır (Gate). Belli baş lı iş lem elemanları ve giriş çıkış bağ ıntıları Ş ekil.1 .5 de verilmiş tir. AC A B C A B C A B C 0 0 0 0 1 0 1 0 0 1 1 1 A B C 0 0 0 0 1 1 1 0 1 1 1 1 A C 0 1 1 0 Tümleyen Kapısı VE- Kapısı VEYA - Kapısı Ş ekil.1 .5.Yaygın biçimde kullanılan iş lem elemanları. Tümleyen kapısı ç ıkış ında giriş inin zıddını verir. VE (AND) kapısında A giriş ine, kapıyı yöneten iş aret gözüyle bakılabilir. Ş öyle ki A=1 iken B=C yani kapı açık ve A=0 iken C=0 yani kapı kapalıdır. VEYA(OR) kapısı da giriş lerden en az biri veya ikisi birlikte 1 olduğ unda çıkış 1 olur, aksi halde 0 olur. Konuş ma dilinde ve / veya' ya karş ı düş er. Bu iş lem elemanları yeni bilgi üretirler, yani çıkış bilgileri giriş bilgilerinden farklıdır ve çıkış lar giriş ler cinsinden yegane olarak belirlenir. Böyle elemanlardan oluş an mantık devrelerine kombinezonsal (combinational) devreler denir.6 Kombinezonsal bir devre örneğ i olarak bir alarm devresi tasarlayalım. Görevli birinin kasayı açmasında bir zilin çalmamasını, yabancı birinin aynı kasayı açmasında ise zilin çalmasını sağ layan basit bir anahtarlı devre Ş ekil.1 .6 da verilmiş tir. AB Ş ekil.1 .6. Kombinezonsal bir alarm devresi. A ve B anahtarlarının kapalı olması mantık 1 'e, açık olması mantık 0'a, zilin çalması mantık 1 'e çalmaması da mantık 0'a karş ı düş sün. A anahtarı görevlinin iş e geldiğ inde açtığ ı (0) ve gidiş inde kapadığ ı (1 ) bir anahtar olsun. B anahtarı da birinin kasayı açmasında 1 , aksi halde 0 olsun. Olası bütün durumlar: A=0 (görevli var), B=0 (kasa kapalı) ise Z=0 dır. zil çalmaz; A=0 (görevli var), B=1 (kasa açılmış ) ise Z=0 dır, zil çalmaz -görevli varken yabancının gelmeyeceğ ini varsayalım- A=1 (görevli yok), B=0 (kasa kapalı) ise Z=0 dır, zil çalmaz; A=1 (görevli yok), B=1 (kasa açılmış ) ise Z=1 dir, zil çalar. Sözünü ettiğ imiz bütün giriş kombinezonları ve çıkış Ş ekil.1 .6 da ki tabloda verilmiş tir. Görüldüğ ü gibi VE kapısının giriş çıkış iliş kisi ile bu tablo aynıdır. A ve B bilgileri zilin çalıp çalmamasına komuta eden bilgiyi (Z), ya ş ekildeki devre ile veya bir VE kapısıyla üretirler. 1.5 Konumsal Sayı Dizgeleri On tabanlı bilinen abecenin, ilgilendiğ imiz iki tabanlı (0,1 ) abecesine dönüş türülmesi ve bu abecede aritmetik iş lemlerin yapılış ını sırasıyla inceleyelim. Sayı dizgelerindeki sayamaklara "rakam"da denir. Kullanıla gelen sayı dizgeleri, taban (radix) denen bir pozitif R tam sayısı ile, R sayamaklı (rakamlı) sıralı bir abeceden oluş an konumsal sayı dizgeleridir. Örneğ in onlu sistemde R=1 0 olup sıralı abece R= 0,1,2,3, 4,5,6,7, 8,9 {} kümesidir. Her konumun (basamağ ın) R ile belirlenen bir ağ ırlığ ı vardır. Simgesel olarak R tabanlı bir konumsal sayı dizgesinde N = d m .....d 2 d 1 d 0 .d -1 .d -2 .....d m ile ifade edilen N sayısının 1 0 tabanındaki karş ılığ ı N| R =? ? ? ? d i R i = d m R m +..... + d 2 R 2 + d 1 R 1 + d 0 R 0 +.d -1 R -1 +.d -2 R -2 +.....d m R m .....(1 ) formülüyle belirlenir, d i ? R olup iş lemler on tabanında yapılır. Görüldüğ ü gibi sayamakların bulundukları konumların tabana bağ lı ağ ırlıkları vardır. Bu nedenle bu dizgelere konumsal sayı dizgeleri denilmektedir. Örneğ in R=1 0 R= 0,1,2,3, 4,5,6,7, 8,9 {} için 1 0 tabanındaki 547 sayısı 547| 1 0 =5 1 0 2 +4 1 0 1 +7 1 0 0 =547| 1 0 dur. Öte yandan R=2 R=(0,1 ) için 2 tabanındaki 11 01 sayısı 11 01 | 2 = 1 .2 2 + 0 2 1 + 1 2 0 = 1 3| 1 0 dur. Bir sayamağ ın bir ilerletilmesi: sıralı abecede bir sonraki sayamaktır. Örneğ in 1 in bir ilerletilmiş i 2, 9 un bir ilerletilmiş i 0 dır. Konumsal sayı dizgelerinde pozitif tam sayıların yazılması yöntemi 1 ) ilk tam sayı (0) dır7 2) ikinci ve sonraki sayılar ş öyle yazılır: En küçük ağ ırlıklı basamaktaki sayamak bir ilerletilir. Eğ er ilerletme sonucu yeni sayamak (0) oluyorsa bu basamağ a (konuma) (0) yazılır ve bir soldaki basamaktaki sayamak bir ilerletilir. Böyle devam edilir. Tam sayıların bu biçimde yazılması saymaya karş ı düş er. 1.5.1 Taban dönüş türülmesi Yaygın biçimde kullanılan tabanlar onlu, ikili , sekizli (octal) ve 1 6 tılı (hexagonal) tabanlardır. Herhangi bir tabandaki bir sayının on-tabanına dönüş türülmesi (1 ) formülüyle yapılır. On tabanında verilen herhangi bir sayıyı R tabanındaki sayıya dönüş türmek için tutulan yol ise; verilen sayıyı R ye (on-tabanında) bölüp kalanı tutmak, çıkan bölümü tekrar R ye bölmek kalanı tutmak ve bu iş leme bölüm sıfır oluncaya kadar (N i+1 =0) devam etmektir. Kalanlar geriye doğ ru ard arda yazıldığ ında, R tabanındaki sayı elde edilir. Çünkü yukarıdaki (1 ) ifadesindeki d i ler burada kalanlara karş ı düş mektedir. Tanıt: N 1 0 : 1 0 tabanındaki sayı; R: istenen taban (bölen); N i :Bölüm; d: kalan olsun. İş lemler 1 0 tabanında yapılmaktadır. ( ) 0 R 0 d ... 2 i R 2 i d 1 i R 1 i d i R i d i N 10 N __________ __________ __________ __________ 1 + i R 0 d ... 3 R 2 i d 2 R 1 i d R i d ) 0 ( 1 i N i R 0 d ... 3 R 2 i d 2 R 1 i d R i N 1 i R 10 N i R 0 d ... 2 R 2 i d R 1 i d i N i R 10 N . . 2 R 0 d R 1 d 2 N 2 R 0 d R 1 N 2 R 10 N R 0 d 1 N R 10 N + + - - + - - + = = + + - + - + + = + = + + - + - + = + + + - + - + = + + = + = + = Bu açınımda d i en çok ağ ırlıklı bit MSB (Most Significant Bit) d 0 ise en az ağ ırlıklı bit LSB(Least Significant Bit) olarak adlandırılırlar. Aş ağ ıda 1 0 tabanındaki 3545 sayısının 6 tabanında karş ılığ ının bulunması bir örnek olarak verilmiş tir.8 3545:6 = 590 + 5 6 590:6 = 98 + 2 6 98:6 = 16 + 2 6 16:6 = 2 + 4 6 2:6 = 0 + 2 6 ? ? ? ? ? ? ? ? ? ? ? ? 10 3545 = 6 24225 On tabanında ondalıklı bir sayının herhangi bir R tabanında karş ılığ ının bulunması: Sayı R ile çarpılır (1 0 tabanında), tam kısmı tutulur ; bulunan yeni ondalıklı sayı tekrar R ile çarpılır ve tam kısmı tutulur. Böyle istenildiğ i kadar devam edilir. Tutulan rakamlar ondalıklı olarak ard arda yazılarak istenilen R tabanındaki ondalıklı sayı bulunur. Tanıt bir önceki tanıta benzer biçimde yapılır. Aş ağ ıda ondalıklı on tabanındaki 0.8906 sayısının 6 tabanına karş ılığ ının bulunması bir örnek olarak verilmiş tir. 0.8906 × 6 = 5.3436 0.3436 × 6 = 2.0616 0.0616 × 6 = 0.3696 0.3696 × 6 = 2.2176 ? ? ? ? ? ? 10 0.8906 = ? 6 0.5202 Tam ve ondalıklı k ısmı olan bir sayı için dönüş üm tam ve ondalıklı k ısmı ayrı ayrı düş ünülerek iki adımda yapılır. 1 0 tabanında 1 6 ya kadar sayıların diğ er bazı tabanlardaki karş ılıkları aş ağ ıda Tablo 1 .3 te verilmiş tir. 1 6 tabanında gerekli olan ilave sayamaklar yazaç(harf) olarak kullanılır. Tablo 1 .3 Yaygın tabanlar arası dönüş ümler 1 0 tabanı 2 tabanı 8 tabanı 1 6 tabanı 0 0000 00 0 1 0001 011 20 0 100 22 30 0 11 03 3 40 1 00 04 4 50 1 01 05 5 60 1100 66 70 111 07 7 8 1 000 108 9 1 0011 1 9 1 0 1 01 0 12A 11 1 011 13B 1 2 11 00 14C 1 3 11 0115D 1 4 111 0 16E 1 5 1111 1 7F9 Görüldüğ ü gibi taban dönüş türürken, her hangi bir tabandan 1 0 tabanına dönüş ü (1 ) ifadesini kullanarak hemen yapabiliriz. 1 0 tabanından herhangi bir tabana dönüş ümde ise bölme iş lemleri yapmamız ve kalanları saptamamız gerekir. Herhangi bir tabandan herhangi bir bir baş ka tabana dönüş ümü ise önce 1 0 tabanına, sonra varmak istediğ imiz tabana, dönüş türme iş lemleri yapmak gerekmektedir. Örneğ in 7 tabanından 11 tabanına dönüş üm yapmak için önce 7 tabanındaki sayıyı 1 0 tabanına. sonrada bulunan 1 0 tabındaki sayıyı 11 tabanına dönüş türmek gerekir. 2 tabanından 8 ve 1 6 tabanlarına geçiş ler için kısa yollar verilebilir. İ ki tabanındaki sayı LSB ten baş layarak üçer üçer gruplandırılır ve her üçlü grubun 8 tabanındaki karş ılığ ı yazılırsa 8 tabanındaki sayı bulunur. Tersi taban dönüş ümünde 8 tabanındaki her bir sayamağ a karş ı gelen üç bitlik iki tabanındaki sayılar yan yana yazılarak bulunur. Tanıtını düş ününüz. Örneğ in 1 01 001 111 01 0| 2 = 51 72| 8 dir. Benzer biçimde 1 6 tabanına geçiş te de, dörtlü gruplar yapmak gerekir, örneğ in 1 01 0.0111 1 01 0| 2 = A7A| 1 6 dır. 1.5.2 Aritmetik Herhangi bir tabanlı konumsal sayı dizgesinde aritmetik iş lemler, onlu sistemdekine benzer biçimde yapılır. Toplama: P ve Q tam sayılarının toplamı (P+Q): P tam sayısının, en küçük basamağ ındaki rakamından baş layarak -bulunulan tabanda- Q defa ilerletilmesidir. Buda sayma iş lemidir. Ancak ilgili tabana iliş kin toplama tablosu kullanılarak, bu iş lem daha basit yapılabilir. İ ki ve sekiz tabanlı sayı dizgeleri için toplama tablosu Tablo.1 .4 de verilmiş tir. Tablo.1 .4. İ ki ve sekiz tabanı için toplama tabloları. + 0 1 0 1 00 01 01 1 0 elde + 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 2 3 4 3 4 5 6 4 5 6 7 1 0 5 6 7 1 0 11 1 2 6 7 1 0 11 1 2 1 3 1 4 7 1 0 11 1 2 1 3 1 4 1 5 1 6 Tablolarda görüldüğ ü gibi toplam iki basamaklı bir sayı olabilir. Soldaki basamaktaki sayamağ a (rakama) "elde" denir. Herhangi bir tabanda iki sayı toplanırken, önce en küçük ağ ırlıklı basamaktaki rakamların toplamından baş lanır. Eğ er bu rakamların toplamı, tabloda tek basamaklı ise, bu rakam toplamda ki aynı ağ ırlıklı basamak yerine konur. Elde nin 0 olduğ u düş ünülmüş tür. Eğ er en küçük ağ ırlıklı basamaktaki rakamlar1 0 toplamı, tabloda iki basamaklı ise, birinci basamaktaki rakam toplamda ki en küçük ağ ırlıklı basamağ a yazılır, ikinci basamaktaki rakam ise "elde" olarak bir soldaki basamaktaki rakamlar toplamına eklenir. Bu iş leme sola doğ ru devam edilir. Sonuç toplam, toplanan sayılardan bir basamak daha sola kayabilir. İ ki örnek aş ağ ıda verilmiş tir. 11 01 ,01 | 2 1 3,25| 1 0 772| 8 506| 1 0 +1 011 ,11 | 2 +11 ,75| 1 0 +647| 8 +423| 1 0 11 001 ,00| 2 25,00| 1 0 1 641 | 8 929| 1 0 Çıkarma: Çıkarma iş lemi çıkarma tablosundan yararlanarak yapılır. Tablo.1 .5 de iki tabanı için verilen tabloda iki rakamın farkı olan sayılar iki basamaklıdır. Sağ daki farkı, soldaki ise çıkarılan sayıda bir önceki basamaktan alınan ödüncü gösterir. Böylece ödünç alınan basamaktaki rakam bir küçültülmüş olur. Tablo.1 .5. İ ki tabanı için çıkarma tablosu 0 1 0 1 00 01 11 00 a-b farkı ödünç a b Bir örnek aş ağ ıda verilmiş tir. 11 01 0| 2 772| 8 - 111 | 2 -647| 8 1 0011 | 2 1 23| 8 Çarpma: Bu iş lem tekrarlanmış toplama iş lemidir. Çarpma tablosundan yararlanarak daha çabuk sonuca varılır. Tablo.1 .6 da iki ve sekiz tabanı için çarpma tabloları verilmiş tir. İki rakamın çarpımında bulunan, iki basamaklı sayının -tek basamaklı ise soldaki basamağ ında (0) olduğ u düş ünülür - birinci basamağ ındaki rakam çarpımda ilgili basamağ a yazılır, ikinci basamaktaki rakam ise çarpımda bir soldaki basamağ a elde olarak aktarılıp, eklenir. Bu iş lemlere on tabandakine benzer biçimde devam edilir. Tablo.1 .6. İ ki ve sekiz tabanları için çarpım tabloları X 0 1 0 1 0 0 0 1 x 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 00 1 0 2 4 0 3 6 11 0 4 1 0 1 4 20 0 5 1 2 1 7 24 31 0 6 1 4 22 30 36 44 0 7 1 6 25 34 43 52 6111 Çarpmaya iliş kin bir örnek aş ağ ıda verilmiş tir. 11 01 | 2 772| 8 x1 011 | 2 x647| 8 11 01 6726 11 01 3750 0000 +5734 + 11 01 642026| 8 1 0001111 Bölme: Herhangi bir tabandaki bölme iş lemi, on tabanındakine benzer biçimde yukarıda anlatılan çarpma ve çıkarma iş lemleriyle yapılır. İki tabanı için iki örnek aş ağ ıda verilmiş tir. 11 01 | 1 011 111 0| 1 0 -1 011 1 ,001 -1 0 111 1 4: 2 = 7 001 0000 11 -1 011 -1 0 01 01 1 0 -1 0 .. Sorular 1 . Bir konumsal sayı dizgesindeki sayamak sayısının fazla olmasının olumlu ve olumsuz birer yönünü tartış ınız. 2. 1 .5.1 bölümünde anlatılan 8 ve 1 6 tabanları ile iki tabanı arasındaki geçiş kolaylığ ının neden öyle olduğ unu kanıtlayınız. 3. Bilgi iletiş im sistemleri ile teknoloji arasındaki iliş kiyi tartış ınız. 4. İ kili mantık yerine daha üst değ erde bir mantıkla çalış an sayısal sistemde bilgi iletiş iminde ne yarar sağ lanabilir açıklayınız. 5. Analog ve sayısal iş aretlerin saklanabildiğ i ortamları tartış ınız.1 2 B BÖ ÖL LÜ ÜM M 2 2 B BO OO OL LE E C CE EB BR Rİİ N NE E G Gİİ R Rİİ ŞŞ Boole cebrinin aksiyomatik tanımına geçmeden önce kullanacağ ımız matematiksel kavramların tanımlarını anımsayalım. 2.1 Matematiksel Genel Kavramlar Tanım 2.1 . Kartezyen çarpım: A ve B kümelerinin kartezyen çarpımı AxB; x?A, y?B olmak üzere bütün (x, y) sıralı çiftlerinden oluş an kümedir. Örneğ in A={a 1 a 2 }, B={b 1 b 2 b 3 }olmak üzere AxB={(a 1 b 1 ) (a 1 b 2 ) (a 1 b 3 ) (a 2 b 1 ) (a 2 b 2 ) (a 2 b 3 )}dür. Tanım 2.2. Bağ ıntı (Relation): A dan B ye bağ ıntı < A, B, R > üçlüsüdür. Öyle ki A tanım kümesi (domen), B değ er kümesi, R bağ ıntı olmak üzere R?AxB dir. Hemen görülüyor ki R bir sıralı çiftler kümesidir. R : A›B ile gösterilir. Örneğ in A ve B yukarıdaki örnekte verilen kümeler olmak üzere, R={(a 1 b 2 ) (a 2 b 3 )} kümesi bir bağ ıntıdır. Tanım 2.3. Tamamen belirlenmiş bağ ıntı (Completely specified relation) : R bağ ıntısında, tanım kümesindeki elemanların tamamı görünüyorsa bu bağ ıntıya tamamen belirlenmiş denir. Yukarıdaki örnekte verilen R bağ ıntısı tamamen belirlenmiş tir. Tanım 2.4. Fonksiyonel bağ ıntı (functional relation): R bağ ıntısı tanım kümesindeki bir elemana değ er kümesinde bir ve yalnız bir eleman karş ı düş üyorsa bu bağ ıntıya fonksiyoneldir denir. A={a 1 a 2 a 3 } ve B={b 1 b 2 } kümeleri için R={(a 1 b 1 ) (a 1 b 2 ) (a 3 b 2 )} bağ ıntısı fonksiyonel değ il, fakat R = { (a 1 b 2 ) (a 2 b 3 ) (a 3 b 2 ) bağ ıntısı fonksiyoneldir. Tanım 2.5. Fonksiyon: Tamamen belirlenmiş fonksiyonel bağ ıntıya fonksiyon denir. F : A›B ile gösterilir. Yukarıda verilen ikinci bağ ıntı bir fonksiyondur. Tanım 2.6. n-lik iş lem (n-ary operation) : A n , A nın kendi üzerinden n defa kartezyen çarpımı olan küme olmak üzere : A n ›A ya olan fonksiyona n-lik iş lem denir. Yada n-değ iş kenli fonksiyon denir. Ş ekil.2.1 de verilen diyagramla gösterilen fonksiyon bir 2-li iş lemdir.1 3 A A f A 2 a 1 a 1 a 1 a 1 a 1 a 1 a 1 a 2 a 1 a 3 a 2 a 1 a 2 a 2 a 2 a 3 a 3 a 1 a 3 a 2 a 3 a 3 a 1 a 2 a 3 a 1 a 2 a 3 a 1 a 2 , a 1 a 1 a 1 , a 1 a 1 a 2 , a 1 a 1 a 3 , a 3 a 2 a 1 , a 1 a 2 a 2 , a 1 a 2 a 3 , a 3 a 3 a 1 , a 2 a 3 a 2 , a 2 a 3 a 3 , a 2 Ş ekil.2.1 . 2-li iş leme (iki değ iş kenli bir fonksiyona) örnek. Tanım 2.7. Eş değ erlik bağ ıntısı (equivalence relation): R:A›A ya bir bağ ıntı aş ağ ıdaki özelliklerin üçünü birden sağ lıyorsa bu bağ ıntıya eş değ erlik bağ ıntısı denir, ve " = "` simgesi ile gösterilir. 1 .Yansıma (refleksive) özelliğ i: ?a ? A için (a,a) ? R dir. 2.Simetri özelliğ i: (a,b) ? R ise (b,a) ? R dir. 3.Geçiş lilik (transitive) özellik: (a,b) ? R ve (b,c)? R ise (a,c) ? R dir. Böyle bir R bağ ıntısının özellikleri a = a; a = b ise b = a; a = b, b = c ise a = c biçiminde de ifade edilebilir. Örneğ in A = {a 1 a 2 a 3 } kümesi için R = {(a 1 a 1 ) (a 2 a 2 ) (a 3 a 3 )) (a 1 a 2 ) (a 2 a 1 ) } bir eş değ erlik bağ ıntısıdır. Tanım 2.8. Sıra bağ ıntısı (order relation): A›A ya bir bağ ıntı yalnızca yansıma ve geçiş lilik özelliklerini sağ lıyor ve (a,b) ? R, (b,a) ? R için a = b ise bu bağ ıntıya sıra bağ ıntısı denir ve " < " simgesi ile gösterilir. Örneğ in A= {(a 1 a 2 a 3 } kümesi için R= {(a 1 a 1 ) (a 2 a 2 ) (a 3 a 3 ) (a 1 a 2 ) (a 2 a 3 ) (a 1 a 3 )} bir sıra bağ ıntısıdır.1 4 2.2 Boole Cebri Tanım 2.9. Boole Cebri: Boole cebri M = (S,R,A) üçlüsü ile verilen bir matematiksel sistemdir. Öyle ki S: Sonlu sayıda elemandan oluş an bir kümedir. R: 'Toplama' ve 'çarpma' denen ve tanımlanan iki 2-Ii iş lem ile 'tümleyen' denen ve tanımlanan bir 1 -li iş lemden oluş an kümedir. A: S nin elemanlarıyla R deki iş lemlere iliş kin aksiyomlar kümesidir. Toplama, çarpma ve tümleyen iş lemleri sırasıyla ? , ? , ' simgeleriyle gösterilir. İş lem tanımı uyarınca bu matematiksel sistem kapalıdır. Boole cebri aksiyomları A.1 Yer değ iş tirme (comutative) aksiyomu: a,b?S için 1 . a? b = b? a 2. a? b = b? a dır. A.2. Dağ ılma (distributive) aksiyomu a,b,c?S için 1 . a? (b? c) = (a? b)? (a? c) 2. a? (b? c) = (a? b)? (a? c) dir. A.3. Birim elemanları aksiyomu ?a?S için geçerli olan öyle bir 0 elemanı vardır ki a ile toplandığ ında a nın kendisini verir. Yine ? a ? S için öyle bir 1 elemanı vardır ki a ile çarpıldığ ında a nın kendisini verir. Yani 1 . a? 0 = 0? a = a 2. a?1 = 1 ? a = a dır. A.4. Tümleyen elemanı aksiyomu ? a? için öyle bir tümleyen denen a' elemanı vardır ki 1 . a? a' = a'? a = 1 2. a? a' = a'? a = 0 dır. Bundan sonra ? , ? simgeleri yerine sırasıyla alış agelen (+), (.) simgelerini kullanacağ ız. Teorem 2.1 . Boole cebri aksiyomlarından çıkarılan bir teorem veya cebirsel eş itlikten (+) ile (.) nın ve 1 ile 0 ın yer değ iş tirmeleriyle, yani (+) görülen yere (.), (.) görülen yere (+) ve 1 görülen yere 0, 0 görülen vere 1 koyarak, geçerli olan ve dual denen ikinci bir teorem veya cebirsel eş itlik bulunur. Tanıt: Her aksiyomun 1 . ve 2. adımlarından birinden diğ erine yukarıda sözü edilen yer değ iş tirmelerle geçilir. Bunlara dual aksiyomlar da denir. Öyleyse var olan teorem veya cebirsel eş itlik dual aksiyomlar kullanılarak tanıtlanır. Tanım 2.1 0. Sabit (değ iş mez): Boole cebrindeki S kümesinin her bir elemanı bir sabittir. Tanım 2.11 . Değ iş ken: S kümesindeki herhangi bir elemanı simgeleyebilen bir simgedir.1 5 Tanım 2.1 2. Üreysel (generic) değ iş ken: Aksiyomlarda kullanılan değ iş kenler olup, hem herhangi bir eleman (değ iş mez veya değ iş ken) hem de cebirsel ifade olabilirler. Teorem 2.2. Tümleyen elemanı tektir. Tanıt: Varsayalım ki a ya iliş kin farklı iki tümleyen elemanı a' 1 ve a' 2 olsun. Yani a+a' 1 =1 , a.a' 1 =0 ve a+a' 2 =1 , a.a' 2 =0 olsun. a' 1 = 1 .a' 1 A.3.2 = (a+a' 2 ). a' 1 A.4.1 = a' 1 . (a+a' 2 )A . 1 .2 = a' 1 . a+a' 1 . a' 2 A.2.2 = 0+a' 1 . a' 2 A.4.2 =a.a' 2 +a' 1 . a' 2 varsayımımızdan =a' 2 . (a+a' 1)A . 1 .2 ve A.2.1 =a' 2 . 1 A.4.1 =a' 2 A.3.2 a’nın tümleyeni farklı iki a 1 ve a 2 olamaz, çünkü eş ittirler. Yani a' tektir. Tanıt olmayana ergi yöntemiyle yapılmış tır. Teorem 2.3. 1.a + 1 = 1 2. a. 0 = 0 dır. Tanıt: a+1 = 1 .(a+1 ) A.3.2 = (a+a' ) (a+1 )A . 4 . 1 = a+a'.1 A.2.2 = a+a' A.3.2 = 1 A.4.1 2.eş itlik düalite teoremince tanıtlanır. Teorem 2.4. Birim elemanlarının tümleyenleri 0'=1 ve 1 '=0 dır. Tanıt: A.4.1 aksiyomunda a elemanını 0 olarak alırsak 0+0'=1 dır. A.3.1 gereğ ince sol taraf 0' dür, o halde 0'=1 dir. 1 '=0 olduğ u dual aksiyomlardan yararlanarak tanıtlanır. Teorem 2.5. Eş değ er kuvvet (idempotent) teoremi a+a = a ve a.a = a dır. Tanıt: a+a = 1 .(a+a) A.3.2 = (a+a') (a+a) A.4.1 = a+a'.a A.2.2 = a+0 A.4.2 = a A.3.1 dual eş itlik benzer biçimde tanıtlanır. Teorem 2.6. Herhangi bir a elemanının tümleyeninin tümleyeni, kendisine eş ittir. Yani (a' )'=a dır.1 6 Tanıt: (a')' = (a' )'.1 A.3.2 = (a' )' (a+a' ) A.4.1 = (a' )'.a+(a' )'.a' A.2.1 = (a' )'.a+0 A. 4.2 = (a' )'.a+a'.a A.4.2 = a. [(a' )'+ a' ] A.2.2 = a.1 A.4.1 = a A.3.2 Teorem 2.7. Yutma teoremi: a, b Boole cebrinin elemanları olmak üzere a+a.b = a a.(a+b) = a eş itlikleri geçerlidir. Tanıt: a+a.b = a.1 +a.b A.3.2 = a(1 +b) A.2.2 = a.1 Teorem 2.3 = a A.3.2 Diğ er eş itlik dualite teoremince tanıtlanır. Teorem 2.8. Boole cebrinin herhangi iki elemanı arasında a+a' b = a+b a.(a'+b) = ab eş itlikleri sağ lanır. Tanıt: a+a'b = (a+a') (a+b) A.2.1 = 1 .(a+b) A.4.1 = a+b A.3.2 ikinci eş itlik, yukarıda tanıtladığ ımız eş itliğ in duali alınarak yapılır. Teorem 2.9. Boole cebri (+) ve(.) iş lemleri için gruplandırılabilir, yani associative dir. a+(b+c) = (a+b)+c a.(b.c) = (a.b) .c dir. Tanıt: X=a+(b+c) Y=(a+b)+c olsun. X = Y olduğ unu tanıtlayacağ ız. aX = aX = a[a+(b+c)] = a Teorem 2.7 ve aY = aY = a [(a+b)+c] = a (a+b)+a.c A. 2.2 = a+a.c Teorem 2.7 = a dır O halde eş değ erlik bağ ıntısının geçiş lilik özelliğ i gereğ ince aX=aY=a (1 ) dır.1 7 Diğ er taraftan a' X = a' [a+ (b+c) = a' a+a' (b+c) A.2.2 = 0+a' (b+c) A.4.2 = a' (b+c) A.3.1 ve a' Y = a' [(a+b)+c) = a' (a+b)+a' c A.2.2 = a' a+a' b+a' c A. 2.2 = 0+a' (b+c) A.4.2 ve A.2.2 = a' (b+c) A.3.1 geçiş lilik özelliğ iyle a' X = a' Y = a' (b+c) (2) dır. 1 ve 2 eş itliklerinden aX+a' X = aY+a' Y (a+a' )X = (a+a' )Y A.2.2 X = Y A.4.1 Yani a+(b+c) = (a+b)+c dir. Dual eş itlik benzer biçimde tanıtlanır. Teorem 2.1 0. De Morgan teoremi: Boole cebrinin birer elemanı olan a ve b arasında (a+b)' = a' b' (ab)' = a'+b' bağ ıntıları vardır. Tanıt: (a+b)+a' b' = [(a+b)+a' ] [(a+b)+b' ] A.2.a = [(a+a' )+b] [a+ (b+b' )] Teorem 2.9 = (1 +b) (a+l) A.4.1 = 1 .1 Teorem 2.3 = 1 Teorem 2.5 Diğ er taraftan (a+b) . (a' b' ) = aa' b'+ba' b' A.2.a = 0 b'+a'0 A.4.b = 0 dır. O halde aksiyom 4 gereğ ince (a+b)' = a' b' dür. Dual olan ikinci ifade benzer biçimde tanıtlanır. De Morgan teoremi, matematiksel tümevarımla (a 1 +a 2 +.. .+a 3 )' = (a' 1 -a' 2 a 3 .a' n ) ve (a 1 .a 2 . a n ) ' = a' 1 + a' 2 +. .+a' n biçiminde genelleş tirilebilir. Teorem 2.11 . Consensus teoremi a.b + a' c + b.c = a.b + a'.c Tanıt: a.b + a' c + b.c = a.b + a' c + b.c.11 8 = a.b + a' c + b.c.( a + a' ) = a.b + a' c + a b c + a' b c = a b (1 + c ) + a' c (1 + b) = a.b + a'.c Teorem 2.2. m-elemanlı bir I kümesinin bütün alt kümelerinden oluş an bir kuvvet kümesi S, kümeler kuramının (?) birleş im, (?) kesiş im, tümleyen iş lemleriyle bir Boole cebri oluş turur. Tanıt kümeler teorisinin aksiyomları ile Boole Cebri aksiyomları arasındaki karş ılılıktan yararlanarak yapılabilir. Örnek 2.1 . Z={A,B} kümesinin alt kümelerinden oluş an S= { (ø), (A),(B),(AB)} kümesi, kümeler kuramının kesiş im, birleş im, tümleyen iş lemleriyle bir Boole cebri oluş turur. S kümesinin elemanları için birleş in, kesiş im ve tümleyen iş lemlerine iliş kin tanım tabloları aş ağ ıda verildiğ i gibidir. (Tablo 2.1 ). 1 ve 0 birim elemanları sırasıyla (A,B) ve ø kümeleri alınarak, bağ ımsız aksiyomların sağ landığ ı görülür Tablo 2.1 . S kümesine iliş kin iş lemlerin tanım bağ ıntıları. ? (ø) (A) (B) (A,B) ? (ø) (A) (B) (A,B) ' (ø) (ø) (A) (B) (A,B) (ø) (ø) (ø) (ø) (ø) (ø) (A,B) (A) (A) (A) (A,B) (A,B) (A) (ø) (A) (ø) (A,) (A) (B) (B) (B) (A,B) (B) (A,B) (B) (ø) (ø) (B) (B) (B) (A) (A,B) (A,B) (A,B) (A,B) (A,B) (A,B) (ø) (A) (B) (A,B) (A,B) (ø) a) Birleş im iş lemi b) Kesiş im iş lemi c)Tümleyen 2.3 Sonlu Kümeler Arasında Tanımlanan Fonksiyonlar Teorem 2.1 3. f : A›B tanımlanan farklı fonksiyon sayısı, A’nın kardinalitesi #A=p ve B nin kardinalitesi #B=N, olduğ una göre, N farklı i ş aretin tekrarlanabilir p li permütasyonları (devş irim) sayısı olan N p dir. Yani her bir permütasyon bir fonksiyona karş ı düş er. Tanıt tekrarlanabilen elemanlı permütasyon tanımıyla kolayca yapılır. Örnek 2.2. A = (a 1 ,a 2 ,a 3 ) ve B = (b 1 ,b 2 ) olsun. #A = p = 3 ve #B = N = 2 dir. fonksiyon sayısı N p = 2 3 = 8 dir. Bütün fonksiyonlar aş ağ ıda verilmiş tir. f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 a 1 b 1 b 2 b 1 b 2 b 2 b 2 b 1 b 1 a 2 b 1 b 2 b 2 b 1 b 2 b 1 b 2 b 1 a 3 b 1 b 2 b 2 b 2 b 1 b 1 b 1 b 2 Teorem 2.1 4. S n ›S ya tanımlanabilen farklı n-değ iş kenli fonksiyon sayısı, S in kardinalitesi (#S = N) N olmak üzere N ( N n ) dir. Tanıt: Tanım 2.6 da verilen n-değ iş kenli fonksiyon tanımı uyarınca, S in n kez kartezyen çarpımı olan S n = SxSx....xS kümesindeki eleman sayısı N n yani N1 9 tekrarlanabilen farklı elemanın n li permütasyonları sayısı kadardır (#S n =N n ). Öyleyse Teorem 2.1 2 den dolayı S n ›S'e fonksiyon sayısı N (N n ) dir. Örnek 2.3. S = (S 1 ,S 2 ,S 3 ) olduğ una göre f:S 2 ›S e tanımlanan iki değ iş kenli fonksiyon sayısı, N = 3, n = 2 olduğ undan N (N n ) = 3 (3 2 ) =3 9 = 1 9683 dür. S 2 kümesinde N n = 3 2 = 9 eleman vardır ve tablo 2.2. de gösterilmiş tir. İ lk iki sütun sırasıyla x 1 , x 2 bağ ımsız değ iş kenlerinin aldığ ı değ erlere karş ı düş er. Diğ er sütunlardan her biri bir fonksiyona karş ı düş er. Tablo 2.2. Üç elemanlı bir kümeye iliş kin tanımlanabilen iki değ iş kenli fonksiyonlar. x 1 x 2 f 1 (x 1 x 2 ) f 2 (x 1 x 2 ) f 3 (x 1 x 2 ).f 1 9683 (x 1 x 2 ) a 1 a 1 a 1 a 1 ...a 3 a 1 a 2 a 1 a 1 ...a 3 a 1 a 3 a 1 a 1 ...a 3 a 2 a 1 a 1 a 1 ...a 3 a 2 a 2 a 1 a 1 ...a 3 a 2 a 3 a 1 a 1 ...a 3 a 3 a 1 a 1 a 1 ...a 3 a 3 a 2 a 1 a 1 ...a 3 a 3 a 3 a 1 a 2 ...a 3 2.4 Boole ve Boole Olmayan Fonksiyonlar Tanım 2.1 3. n-değ iş kenli Boole fonksiyonu: x 1 , x 2 ,...x n değ iş kenlerine (+), (.), (‘) iş lemleri uygulayarak, S n kümesindeki her bir elemana S kümesinde bir eleman karş ı düş üren fonksiyona denir. Bir baş ka yaklaş ımla formül biçiminde ifade edilebilen S n ›S e fonksiyonlardır. Boole olan fonksiyonların dış ındaki bütün fonksiyonlara Boole olmayan fonksiyon denir. Tanım 2.1 4. Boole fonksiyonunun uzunluğ u: Boole fonksiyonunun formülle verilen ifadesinde tekrarlanmış veya tekrarlanmamış sabitler, tekrarlanmış veya tekrarlanmamış değ iş kenler ile tekrarlanmış veya tekrarlanmamış iş lemlerin toplam sayısıdır. F = a, f = x 1 1 uzunluklu fonksiyona, f=x’ i 2 uzunluklu, f = x 1 +x 2 ise 3 uzunluklu fonksiyona birer örnektir. Bir fonksiyon, yazılış biçimine göre farklı uzunlukta olabilir. Örneğ in f 1 = (x 1 +x 2 )' ve f 2 = x' 1 .x' 2 fonksiyonları eş değ er olup birincisi 4 uzunluklu ikincisi ise 5 uzunlukludur.20 Teorem 2.1 5. f(x 1 x 2 . x i ...x n ) | x i = 0 = f(x 1 ,x 2 . .a. x n )olmak üzere n-değ iş kenli bir Boole fonksiyonu, f(x 1 . . .x n ) = f(x 1 ...x i ....x n ) | x i = 0 x' i + f (x 1 ...x i ...x n ) | x i =1 x i (1 ) veya duali f(x 1 . . .x n )= [(x 1 ...x i ....x n ) | x i =1 +x' i ] [ f (x 1 ...x i ...X n ) | x i =0 + x i ] (2) biçimlerinde yazılabilir. Tanıt: Önce ilk ifadeyi matematiksel tümevarımla sonra ikinci ifadeyi dual alarak tanıtlayalım. L=1 uzunluklu Boole fonksiyonları için (1 ) ifadesi geçerlidir. L=1 uzunluklu Boole fonksiyonları f(x 1 . . .x n )=a, f(x 1 . . .x n )= x i dir. f(x 1 . . .x n )=a için f(x 1 ...x i ....x n ) | x i =0 = a, f(x 1 ...x i ....x n ) | x i =1 =a olup f(x 1 ...x i ....x n ) | x i =0 x' i + f (x 1 ...x i ...x n ) | x i = 1 x i = a x' i +a x i = a(x' i + x i ) = a.1 = a dır. f(x 1 . . .x n )= x i için f(x 1 ...x i ....x n ) | x i =0 =0, f(x 1 ...x i ....x n ) | x i =1 =1 olup f(x 1 ...x i ....x n ) | x i =0 x' i + f (x 1 ...x i ...x n ) | x i =1 x i = 0 x' i +1 x i = 0 + x i = x i dir. f(x 1 . . .x n )= x J için f(x 1 ...x i ....x n ) | x i =0 = x J , f(x 1 ...x i ....x n ) | x i =1 = x J olup f(x 1 ...x i ....x n ) | x i =0 x' i + f (x 1 ...x i ...x n ) | x i =1 x i = x J x' i +x J x i = x J (x' i + x i ) = x J 1 = x J dir. Ş imdi L ? .k için (1 ) ifadesinin geçerli olduğ unu varsayalım ve L = k+1 uzunluklu bir Boole fonksiyonu için bu ifadenin geçerliliğ ini tanıtlayalım. (k+1 ) uzunluklu bir Boole fonksiyonu k veya daha küçük uzunluklu g ve h fonksiyonları cinsinden ancak aş ağ ıdaki üç farklı biçimde yazılabilir. a) f(x 1 ..x n ) = g(x 1 ..x n ) .h(x 1 ..x n ) b) f(x 1 . .x n ) = g(x 1 ..x n )+h(x 1 ..x n ) c) f(x 1 . .x n )=[g(x 1 ..x n ) ]' Bu olası üç farklı durumu ayrı ayrı inceleyelim. a) g ve h nın uzunlukları L veya daha küçük uzunluklu olduklarına göre g(x 1 . . .x n )=g(x 1 ...x i ....x n ) | x i =0 x' i + g (x 1 ...x i ...x n ) | x i =1 x i h(x 1 . . .x n )=h(x 1 ...x i ....x n ) | x i =0 x' i + h (x 1 ...x i ...x n ) | x i =1 x i21 yazılabilir. Öyleyse g(x 1 ...x i .x n ) .h(x 1 ...x i ... x n ) = g(x 1 ...x i ....x n ) | x i =0 h(x 1 ...x i ....x n ) | x i =0 x' i +g (x 1 ...x i ...x n ) | x i =1 h (x 1 ...x i ...x n ) | x i =1 x i =f(x 1 ...x i ....x n ) | x i = 0 x' i + f (x 1 ...x i ...x n ) | x i =1 x i b) g(x 1 ...x i .x n ) +h(x 1 ...x i ... x n ) = [ g(x 1 ...x i ....x n ) | x i =0 + h(x 1 ...x i ....x n ) | x i =0 ]x' i + [ g (x 1 ...x i ...x n ) | x i =1 + h (x 1 ...x i ...x n ) | x i =1 ] x i =f(x 1 ...x i ....x n ) x i =0 | x' i + f (x 1 ...x i ...x n ) | x i =1 x i c) [g(x 1 ..x n ) ]' = [ g(x 1 ...x i ....x n ) | xi =0 x' i + g (x 1 ...x i ...x n ) | xi =1 x i ]' = [ (g' (x 1 ...x i ....x n ) | x i =0 + x i ) . (g' (x 1 ...x i ...x n ) | x i =1 + x' i ) ] = g' (x 1 ...x i ....x n ) | x i =0 g' (x 1 ...x i ...x n ) | x i =1 + g'(x 1 ...x i ....x n ) | x i =0 x' i + g'(x 1 ...x i ...x n ) | x i =1 x i Consensus teoremi gereğ ince = g' (x 1 ...x i ....x n ) | x i =0 . x' i + g' (x 1 ...x i ...x n ) | x i =1 x i = f(x 1 ...x i ....x n ) | x i =0 x' i + f (x 1 ...x i ...x n ) | x i =1 x i L = k+1 uzunluklu f fonksiyonu için de verilen bağ ıntı geçerli olduğ una göre her zaman geçerlidir. (2) eş itliğ i (1 ) eş itliğ inin duali olduğ undan, geçerlidir. Teorem 2.1 5. Boole fonksiyonlarının birinci tip kanonik açınımı: f : S n ›S e n- değ iş kenli bir Boole fonksiyonu "çarpımlar terimleri toplamı" f(x 1 . . .x n ) = f (0,0,...,0) x' 1 . x' 2 .. x' n + f (0,0,...0,1 ) x' 1 . x' 2 .. x n + f (1 ,1 ,...,1 ) x 1 x 2… x n biçiminde ifade edilebilir. Tanıt: Verilen fonksiyonun, teorem 2.1 5 e göre açınımı ard ardına n kez uygulanarak f(x 1 . . .x n ) = x' 1 f (0, x 2 ....x n ) + x 1 f (1 , x 2 . x n ) = x' 1 f(0, x 2 ....x n ) + x 1 f (1 , x 2 . x n ) = x' 1 [ x' 2 f (0, 0,...x n ) + x 2 f (0, 1 , x n ) ]+x 1 [ x' 2 f (1 , 0,...x n ) + x 2 f (1 , 1 , x n ) ] = --- = f (0,0,...,0) x' 1 . x' 2 x' n + f (0,0,...,1 ) x' 1 . x' 2 x n + f (1 ,0,.1 ..,1 ) x 1 x' 2 x 3 x n + ........... ............+ f (1 ,1 ,...,1 ) x 1 . x 2 x n bulunur.22 1 . tip kanonik açınım bir baş ka biçimde fx 1 x 2 ....x n () = f(i) i= 0 2 n -1 ? m i (x 1 x 2 ..x n ) yazılabilir, öyle ki f(0) ? = f(0,0,. . ,0) f(1 ) ? = f(0,0, . .,1 ) . f(2 n -1 ) = f(1 ,1 , . .,1 ) ve m 0 (x 1 x 2 . . x n ) ? = x' 1 x' 2 . . x' n m 1 (x 1 x 2 . . x n ) ? = x' 1 x' 2 . . x n . . . m 2 n -1 (x 1 x 2 . . x n ) ? = x 1 x 2 . . x n dır. f(i) ve m i deki i, 0 < i < 2 n -1 olan 1 0 tabanında bir sayıdır. f(i) ye iliş kin eş itliğ in sağ ında fonksiyonun değ iş kenlerinin aldıkları değ erlerin saptanması: i sayısının iki tabanındaki karş ılığ ında, basamaklar değ işkenlere karş ı düş ürüldüğ ünde, basamaklarda ki sayamaklar ilgili değ iş kenlerin aldıkları değ erlerdir. m i lere iliş kin eş itliğ in sağ ındaki çarpım terimlerindeki değ iş kenlerin saptanması: i sayısının iki tabanındaki karş ılığ ında, basamaklar değ işkenlere karş ı düş ürüldüğ ünde, bir basamaktaki sayamak 0 ise ilgili değ iş ken tümleyen (x') olarak, sayamak 1 ise ilgili değ iş ken kendi (x) olarak çarpımlar teriminde görülür. Tanım 2.1 5 Minterim: Bir Boole fonksiyonuna iliş kin 1 .tip kanonik açınımda çarpımlar terimlerine minterim denir Teorem 2.1 6 Boole Fonksiyonunun ikinci tip kanonik açınımı: f:S n ›S e n- değ iş kenli bir Boole fonksiyonu "toplamlar terimleri çarpımı" f(x 1 ., x 2 x n ) = =[ f (0,0,.. ,0) + x 1 +x 2 +. . +X n )] [ f (0,0,. .1 )+x 1 +x 2 +. .+x' n ] ..[ f(1 ,1 ,..1 )+x' 1 +x' 2 +. .+x' n ] biçiminde ifade edilebilir. Tanıt: Teorem 2.1 5 in duali alınarak tanıt yapılır.23 2. tip kanonik açınım bir baş ka biçimde fx 1 x 2 ....x n () = f(i)+.M i (x 1 x 2 ..x n ) [] i = 0 2 n -1 ? yazılabilir, öyle ki f(i) 1 . tip kanonik açınımda tanımlandığ ı gibidir M i ler ise M 0 (x 1 x 2 . . x n ) ? = x 1 + x 2 +. . +x n M 1 (x 1 x 2 . . x n ) ? = x 1 + x 2 +. . + x' n . . . M 2 n - 1 (x 1 x 2 . . x n ) ? = x' 1 + x' 2 +. . + x' n dır. M i deki i 0 < i <2 n -1 olan 1 0 tabanında bir sayıdır. M i ye iliş kin eş itliğ in sağ ındaki toplam terimlerindeki değ iş kenlerin saptanması: i sayısının iki tabanındaki karş ılığ ında basamaklar değ iş kenlere karş ı düş ürüldüğ ünde, bir basamaktaki sayamak 0 ise ilgili değ iş ken kendi (x) olarak, sayamak 1 ise ilgili değ iş ken tümleyen (x') olarak toplamlar terimlerinde görülür. Tanım 2.1 6 Makterim: Bir Boole fonksiyonuna iliş kin 2. tip kanonik açınımda toplamlar terimlerine Makterim denir. Teorem 2.1 7.Bir Boole fonksiyonuna iliş kin 1 . ve 2. tip açınımlar yeganedir. Tanıt: Varsayalım ki bir Boole fonksiyonun farklı iki 1 . tip açınımı X ve Y olsun. X ve Y farklı olduğ una göre, en az bir minterimin katsayısı X ve Y de farklı olmak zorundadır. Bu demektir ki fonksiyonun aynı bir tanım elemanına farklı iki değ er elemanı karş ı düş er, fonksiyon tanımıyla çeliş ir. O halde farklı iki 1 . tip açınım olamaz. 2. tip açınım içinde benzer tanıt yapılır. Sonuç 2.1 . Herhangi bir n-değ iş kenli Boole fonksiyonuna iliş kin 0,1 simgelerinin n-li permütasyonları sayısı (2 n ) kadar olan tanım elemanına karş ı düş en değ er elemanları biliniyorsa, bu fonksiyon yegane olarak belirlenmiş olur. Bir baş ka deyiş le herhangi bir Boole fonksiyonu 2 n özel değ eriyle yegane olarak belirlenir. Bu sonuç 1 . ve 2. tip kanonik açınımlardan hemen görülmektedir. Örnek 2.4. Örnek 2.1 de verilen S kümesi için f:S 2 ›S e tanımlanan iki değ erli bir Boole fonksiyonun 2 n =2 2 = 4 adet 0,1 simgelerinden oluş an tanım elemanı için aldığ ı değ erler f(0,0) = A; f(0,1 ) = 1 ; f(1 ,0) = 0; f(1 ,1 ) = B olsun. Bu Boole fonksiyonuna iliş kin 1 . tip kanonik açınım: f(x 1 x 2 ) = f (0,0)x' 1 x' 2 +f (0,1 )x' 1 x 2 +f(1 ,0)x 1 x' 2 +f (1 ,1 )x 1 x 2 = Ax 1 x 2 , +x 1 x 2 +Bx 1 x 2 dir. 2. tip kanonik açınım24 f(x 1 x 2 ) = [f(0,0)+x 1 +x 2 ] [f(0,1 )+x 1 +x' 2 ] [f(1 ,0)+x' 1 +x 2 ] [f(1 ,1 )+x' 1 +x' 2 ] = (A+x 1 +x 2 ) (x' 1 +x 2 ) (B+x ' 1 +x' 2 ) dür. S 2 kümesindeki diğ er tanım elemanları için Boole fonksiyonunun aldığ ı değ er elemanları yukarıdaki herhangi bir açınım formülünden hesaplanarak bulunabilir. Bu fonksiyon tablo biçiminde tablo 2.3 de verilmiş tir. Örneğ in x 1 x 2 = AB domen elemanı için Boole fonksiyonunun aldığ ı değ er. örnek 2.1 deki iş lem tanım tablolarından yararlanarak f(x 1 x 2 ) | =Ax 1 x 2 +x' 1 x 2 +B x 1 x 2 = A A' B' +A' B + B A B = 0.B' + B.B+0.B=B x 1 = B x 1 = A, x 2 = B bulunur. Tablo2.3. Örnek Boole fonksiyonu için S 2 ›S iliş kisi S 2 00 0110 11 0A 0B A0 B0 1 A 1BA 1 B1 AA AB BA BB SA1 0BA1 0A0BB1 0BA1 Sonuç 2.2. Verilen bir fonksiyonun Boole olup olmadığ ına, 1 . veya 2. tip kanonik açınımlardan yararlanarak, karar verilebilir. Verilen f:S 2 ›S fonksiyon Boole varsayılarak, 0,1 den oluş muş 2 n tanım elemanı için fonksiyonun aldığ ı değ erden yararlanarak 1 . (2.) tip kanonik açınım yazılır. n: değ iş ken sayısı N=#S olduğ una göre, tanım kümesinde arta kalan (N n -2 n ) tanım elemanı için fonksiyonun aldığ ı değ er, 1 (2.) tip kanonik açınım formülüyle bulunan değ erlerden farklı ise fonksiyon Boole olmayan fonksiyon, aynı ise fonksiyon Boole fonksiyonudur. Örnek 2.5. Örnek 2.1 de yerilen S={(Ø) , (A) , (B) , (AB) } kümesi ile (+) , ( . ) , ( ' ) iş lemlerinin oluş turduğ u Boole cebrinde S 2 ›S e tanımlanan 2 değ iş kenli iki fonksiyon tablo 2.4 te verilmiş tir. N=4, n=2 dir f 1 fonksiyonu örnek 2.4 te verilen fonksiyon olup bir Boole fonksiyonudur. Çünkü tablo 2.4 te çift çizgi ile ayrılan birinci bölgedeki verilerle f 1 e iliş kin kanonik açınımlar, ikinci bölgedeki f 1 e iliş kin verileri sağ lar. f 2 fonksiyonu ise 0-1 den oluş muş 2 n =2 2 =4 tanım elemanı için f 1 in aldığ ı değ erleri almaktadır. f 2 , Boole fonksiyonu olsaydı f 1 in aynı olacaktı. Oysa f 1 (0,A)=A olduğ u halde f 2 (0,A)=0 dır. O halde f 2 Boole fonksiyonu olamaz, Boole olmayan bir fonksiyondur. Tablo 2.4 te, çift çizgi ile ayrılan 1 . bölgede f 1 in aldığ ı değ erleri alan, fakat ikinci bölgede en az bir yerde f 1 den farklı olan Boole olmayan çok sayıda fonksiyon verilebilir. Tablo.2.4. Boole olan ve olmayan fonksiyonlara örnek. S 2 00 0110 11 0A 0B A0 B0 1 A 1BA 1 B1 AA AB BA BB f 1 A 1 0BA 1 0A0BB1 0BA1 f 2 A 1 0B0 1 0A0BB1 0BA125 Sonuç 2.3. # S = N olduğ una göre f:S n ›S n-değ iş kenli Boole fonksiyonu sayısı N (2 n ) dir. f:S n ›S e n-değ iş kenli Boole olmayan fonksiyon sayısı ise [N (N n ) - N (2 n ) ] dir. 1 .veya 2. kanonik açınımlar gereğ ince, Boole fonksiyonları için 0,1 den oluş muş 2 tanım elemanına karş ı düş en değ er elemanları bağ ımsız olarak seçilebilir. Farklı seçim sayısı, N (N n ) dir. -N farklı iş aretin 2 n Ii permütasyonları sayısı- Diğ er tanım elemanlarına karş ı düş en değ er elemanları bağ ımsız seçilemez, çünkü açınım formülüyle yegane olarak belirlenirler. O halde Boole fonksiyonu sayısı N (2 n ) dir. S n ›S e toplam fonksiyon sayısı, teorem 2.1 3 uyarınca N (N n ) olduğ una göre Boole olmayan fonksiyon sayısı [N (N n ) - N (2 n ) ] dir. Sonuç 2.4. S = {0,1 } kümesi için tanımlanan S n ›S e n-değ iş kenli fonksiyonların tamamı Boole fonksiyonudur. N (N n ) = N (2 n ) = 2 (2 n ) dir. 2.5 İ ki Değ erli Boole Cebri ve Anahtar Fonksiyonları Tanım 2.1 7. İ ki değ erli Boole Cebri: 0 ve 1 birim elemanlarından oluş an S={0,1 } kümesinin, Tablo 2.5 te verilen toplama, çarpma, tümleyen iş lemleriyle oluş turduğ u Boole cebrine iki değ erli Boole cebri denir. Tablo 2.5. S={0,1 } kümesi için tanımlanan toplama,çarpma, tümleyen iş lemleri. +01 .01 ' 001 000 01 111 1 011 0 İ leride ki konularda iki değ erli Boole cebrinin bir matematiksel model olarak temsil ettiğ i fiziksel sistemler üzerinde duracağ ız. Tanım 2.8 . Anahtar fonksiyonları: İki değ erli Boole cebrinde tanımlanan fonksiyonlara anahtar fonksiyonları denir. Sonuç 2.4 uyarınca ikili Boole cebrinde tanımlanan bütün fonksiyonlar Boole fonksiyonu olduğ una göre, bütün anahtar fonksiyonları Boole fonksiyonu olup formül biçiminde ifade edilebilirler. Tanım 2.1 9. Doğ ru ve yanlış minterimler: İ kili Boole cebrinde tanımlanan anahtar fonksiyonlarının 1 . tip kanonik açınımında katsayısı 1 olan minterimlere doğ ru, 0 olan minterimlere ise yanlış minterim denir. Tanım 2.20. Doğ ru ye yanlış makterimler: İ kili Boole cebrinde tanımlanan anahtar fonksiyonlarının 2. tip kanonik açınımında katsayısı 1 olan makterimlere yanlış , 0 olan makterimlere ise doğ ru makterim denir. Anahtar fonksiyonlarının 1 . tip kanonik açınımlarında yalnızca doğ ru minterimleri, 2. tip kanonik açınımda yalnızca doğ ru makterimlerin düş ünülmesi yeter. Çünkü 1 . tip26 açınımda 1 , 2. tip açınımda 0 olurlar ve fonksiyonun ifadesinde görülmezler. O nedenle 1 . ve 2. tip kanonik açınımları f(x 1 ,x 2 .. .x n ) = ? ? ? ? Doğ ru minterimler veya f(x 1 ,x 2 .. .x n ) = ? ? ? ? Doğ ru makterimler biçiminde yazılabilir. Anahtar fonksiyonlarının bir gösterilimi de f(x 1 ,x 2 .. .x n ) = ? ? ? ? Doğ ru minterimlerin 1 0 tabanındaki indisleri, veya f(x 1 ,x 2 .. .x n ) = ? ? ? ? Doğ ru makterimlerin 1 0 tabanındaki indisleri biçiminde olur. Örneğ in f(x 1 x 2 x 3 ) = ? ? ? ? 2,4,5,7 ile gösterilen anahtar fonksiyonu f(01 0) =f (1 00) = f (1 01 ) = f (111 ) =1 ve f(000) = f (001 ) = f(011 ) =f (11 0) = 0 olan bir fonksiyondur. Tanım 2.21 Doğ ruluk tablosu: İ ki değ erli Boole cebrinde bir fonksiyona iliş kin tanım ve değ er kümesi elemanlarını gösteren tabloya doğ ruluk tablosu denir. Örnek 2.6. Aş ağ ıdaki Tablo 2.6 da bir anahtar fonksiyonuna iliş kin doğ ruluk tablosu ve minterim ve makterimler verilmiş tir. Tablo 2.6.Bir Boole fonksiyonuna iliş kin doğ ruluk tablosu. ve fonksiyona iliş kin minterim ve makterimler. i x 1 x 2 x 3 f(x 1 x 2 x 3 ) Minterimler makterimler 2 2 2 1 2 0f ( i )M i M i 00000 m 0 =x' 1 x' 2 x' 3 M 0 =x 1 +x 2 +x 3 1 001 0 m 1 =x' 1 x' 2 x 3 M 1 =x 1 +x 2 +x' 3 201 0 1 m 2 =x' 1 x 2 x' 3 M 2 =x 1 +x' 2 +x 3 3011 0 m 3 =x' 1 x 2 x 3 M 3 =x 1 +x' 2 +x' 3 4 1 001 m 4 =x 1 x' 2 x' 3 M 4 =x' 1 +x 2 +x 3 5 1 0 11 m 5 =x 1 x' 2 x 3 M 5 =x' 1 +x 2 +x' 3 6 1100 m 6 =x 1 x 2 x' 3 M 6 =x' 1 +x' 2 +x 3 7 1111 m 7 =x 1 x 2 x 3 M 7 =x' 1 +x' 2 +x' 3 Örnek fonksiyonun 1 . tip kanonik açınımı f (x 1 x 2 x 3 ) = ? ? ? ? 2,4,5,7 = f(0)m 0 +f(1 )m 1 +f(2)m 2 +f(3)m 3 +f(4)m 4 +f(5)m 5 + f(6)m 6 +f(7)m 7 = 0.m 0 +0 m 1 +1 m 2 +0 m 3 +1 m 4 +1 m 5 +0 m 6 + 1 m 7 = m 2 +m 4 +m 5 +m 7 = x' 1 x 2 x' 3 +x 1 x' 2 x' 3 +x 1 x' 2 x 3 +x 1 x 2 x 3 dır. 2.tip kanonik açınım ise f (x 1 x 2 x 3 )=? 0,1 ,3,6 =[f(0)+M 0 ] [f(1 )+M 1 ] [f(2)+M 2 )] [f(3)+M 3 ] [f(4)+M 4 ] [f(5)+M 5 ]+[f(6)+M 6 ] +f[(7)+M 7 ] =[0+M 0 ] [0+M 1 ] [1 +M 2 ] [0+M 3 ] [l+M 4 ] [l+M 5 ] [0+M 6 ] [1 +M 7 ]27 =M 0 .M 1 .M 3 .M 6 =(x 1 +x 2 +x 3 ) (x 1 +x 2 +x' 3 ) (x 1 +x' 2 +x' 3 ) (x' 1 +x' 2 + x 3 ) dır 2.6 Özet Bu bölümde en genel anlamda Boole cebri ve bu cebirde tanımlanan Boole olan fonksiyonlarla Boole olmayan fonksiyonlar incelenmiş tir. Boole olan fonksiyonlara iliş kin genel 1 . ve 2. tip kanonik açınımlar verilmiş tir. Son olarak ta ikili Boole cebri, bu cebirde tanımlanan anahtar fonksiyonları ve bu fonksiyonların minterim ve makterimler cinsinden nasıl yazıldığ ı gösterilmiş tir. Bundan sonraki bölümlerde yalnızca ikili Boole cebri kullanılacaktır.28 B BÖ ÖL LÜ ÜM M 3 3 S SA AY YI IS SA AL L D Dİİ Z ZG GE EL LE ER R V VE E B BO OO OL LE E C CE EB BR Rİİ 1.1 Giriş Bu bölümde sırasıyla önermeler cebrinin ve kapı elemanlarından oluş an sayısal dizgelerin,ikili Boole cebri ile matematiksel olarak nasıl modellendirileceğ i incelenecektir. Boole cebrindeki {S} kümesinin 1 ve 0 elemanları, fiziksel dizgelerdeki elektriksel büyüklüklerin (akım veya gerilim) olup olmamasına karş ı düş ürüleceklerdir. Tanım 3.1 . Akım mantığ ı: Bir ikili sayısal dizgede 1 ve 0 simgeleri akımın olup olmamasını simgeliyorsa, bu dizge akım mantığ ı ile çalış ıyor denir. Tanım 3.2. Gerilim mantığ ı: Bir ikili sayısal dizgede 1 ve 0 simgeleri gerilimin olup olmamasını simgeliyorsa, bu dizge gerilim mantığ ı ile çalış ıyor denir. Tanım 3.3. Pozitif mantık: İ kili sayısal dizgede herhangi bir noktada 1 in simgelediğ i gerilim (akım) 0 ın simgelediğ i gerilimden (akımdan) büyükse dizge pozitif mantıkla çalış ıyor denir. Tanım 3.4. Negatif mantık: İkili sayısal dizgede herhangi bir noktada 1 in simgelediğ i gerilim (akım) 0'ın simgelediğ i gerilimden (akımdan) küçükse dizge negatif mantıkla çalış ıyor denir. 3.2 Önermeler Cebri ve İ ki Değ erli Boole Cebri Bilindiğ i gibi önermeler cebri dilin matematiksel betimlemesinde kullanılır. Bu betimlemede önermelerin özelliğ i ya doğ ru ya da yanlış olmasıdır. Buna göre "Bu gün Gümüş suyunda yağ mur yağ abilir" bir önerme değ ildir ama "Bugün Gümüş suyunda yağ mur yağ dı” bir önermedir. Dilde kullandığ ımız bazı cümleler, önermeler cebrinin (? ) birleş im, (?) kesiş im, (`) olumsuz iş lemleriyle aş ağ ıdaki tablo 3.1 deki gibi betimlenebilirler. X ve Y önerme değ iş kenleri olup D(doğ ru) ve Y(yanlış ) değ erlerinden birini alırlar. Tablo 3.1 . Dildeki cümleler, önermeler cebri ve Boole cebri karş ılaş tırması. Dildeki ifade Önermeler Cebrinde Boole Cebrinde olumsuz x -x Olumsuz x' x veya y veya ikisi de x? y Birleş im x+y x ve y x?yK e s i ş im x.y Eğ er x öyleyse y x›y x,y' yi gerektirir x'+y x eğ er ve yalnız y x=y xy+x'y' Teorem 3.1 . S={ D(doğ ru), Y(yanlış ) } kümesi ve aş ağ ıda tablo 3.2 te tanımlanan toplama(? ), çarpma(? ), olumsuz(-) iş lemleri, bir Boole cebri oluş turur.29 Tablo 3.2. Önermeler cebri iş lemlerinden toplama, çarpma ve olumsuz iş lemlerinin tanım tablosu. xyX ?YX ?Y- x DDDDY DYDYY YDDYD YYYYD Tanıt: D›1 , Y›0 a karş ı düş ürülüp, Boole cebri aksiyomları sağ latılarak tanıt yapılabilir. Önerme fonksiyonu bir Boole fonksiyonu ile temsil edilebilir. Örneğ in aş ağ ıdaki koş ullardan en az biri ( VE/VEYA) sağ landığ ında doğ ru(D), aksi halde yanlış (Y) olan bir F önerme fonksiyonu düş ünelim. Bu fonksiyon bir asansörün güvenilir çalış abilmesi için uyarı iş areti üreten fonksiyonda olabilir. F önermesi, a) Asansör çalış makta, içi boş ve çağ rılmamış sa ve/veya b) Asansör çalış makta ve kapısı açık koş ulları altında doğ ru aksi halde yanlış olsun. Ş imdi sırasıyla U,V,Y,Z değ iş kenlerini aş ağ ıdaki önermelerle tanımlayalım. U: Asansör çalış ıyor V: Asansör boş Y: Asansör çağ rılmış ; Y': Asansör çağ rılmamış z: Kapı açık ; z': Kapı kapalı Koş ullardan herhangi biri sağ landığ ında F = 1 , sağ lanmadığ ında ise F=0 olacaktır. Bu lojik toplama iş lemidir. Yani F, koş ulların toplamı biçiminde görülecektir. Herhangi bir koş ul ise belli değ iş kenlerin birlikte 1 değ eri almalarında (1 ); herhangi bir değ iş kenin istenmeyen bir değ er almasında (0) olacaktır. Bu iş lem lojik çarpma iş lemine karş ı düş er. Netice olarak F önerme fonksiyonu, değ iş kenlerin çarpımıyla elde edilen koş ulların, toplamı biçiminde görülecektir. Buna göre F önermesi: F = UVY'+UZ biçiminde bir Boole fonksiyonu ile ifade edilebilir. Bu Boole fonksiyonu üzerinde yapılacak çeş itli iş lemler sonucu sözle anlatım farklı biçimlerde ifade edilebilir. Örneğ in yukarıdaki fonksiyondaki terimler U parantezine alınabilir. 3.3 Kapı Elemanlarından Oluş an Devreler ve İ ki Değ erli Boole Cebri Önce yaygın biçimde kullanılan kapı elemanlarını tanıyalım. 1 .VE kapısı (AND gate): Ş ekil 3. 1 de giriş ç ıkış iliş kisinin doğ ruluk tablosu ve gösteriliş i verilmiş tir.30 Ş ekil 3.1 VE kapısının doğ ruluk tablosu ve gösteriliş i 2. VEYA kapısı (OR gate): Ş ekil 3.2 de giriş ç ıkış iliş kisinin doğ ruluk tablosu ve gösteriliş i verilmiş tir. x y x+y x y x+y 0 0 0 0 1 1 1 0 1 1 1 1 Ş ekil 3.2 VEYA kapısının doğ ruluk tablosu ve gösteriliş i 3. TÜMLEYEN kapısı (NOT gate): Ş ekil 3.3 te giriş çıkış iliş kisinin doğ ruluk tablosu ve gösteriliş i verilmiş tir. Ş ekil 3.3. Tümleyen kapısının doğ ruluk tablosu ve gösteriliş i 4. TÜVE kapısı (NAND Gate): Ş ekil 3.4 te giriş çıkış iliş kisinin doğ ruluk tablosu ve gösteriliş i verilmiş tir. x y (xy) ' 0 0 1 0 1 1 1 0 1 1 1 0 x y (xy) ' Ş ekil 3.4. TÜVE kapısının doğ ruluk tablosu ve gösteriliş i 5.TÜVEYA kapısı (NOR gate): Ş ekil 3.5 te giriş çıkış iliş kisinin doğ ruluk tablosu ve gösteriliş i verilmiş tir. x y (x+y) ' 0 0 1 0 1 0 1 0 0 1 1 0 x y (x+y) ' Ş ekil3.5. TÜVEYA kapısının doğ ruluk tablosu ve gösteriliş i. 6.Ayrıcalı-VEYA kapısı (Exclusive-OR gate): Ş ekil 3.6 da giriş ç ıkış iliş kisinin doğ ruluk tablosu ve gösteriliş i verilmiş tir. x x' 0 1 1 0 xx ' x y xy x y xy 0 0 0 0 1 0 1 0 0 1 1 131 x y x ?y 0 0 0 0 1 1 1 0 1 1 1 0 x y ? xy Ş ekil 3.6 Ayrıcalı-VEYA kapısına iliş kin doğ ruluk tablosu ve gösteriliş i. Bir kombinezonsal devreye iliş kin Boole fonksiyonu, kapılara iliş kin giriş - çıkış bağ ıntısı (tanım bağ ıntısı) formül biçiminde yazılarak ta kolayca bulunabilir. Ayrıcalı-VEYA kapısının VEYA kapısından ayrılması 11 giriş i için de çıkış ın 0 olmasıdır. Yani Ayrıcalı-VEYA kapısı giriş ler farklı iş aretli ise 1 çıkış ını, aynı iş aretli ise 0 çıkış ını verir. Kapıların çıkış ında, tümleyen iş lemi için kullanılan küçük yuvarlak (o) iş areti; kapıların giriş lerinde, değ iş kenlerin tümleyenleri için de kullanılabilir. Tanım 3.1 4. Giriş yelpazesi (Fan in) Bir kapı elemanına uygulanabilecek maksimum giriş sayısına denir. Tanım 3.5. Çıkış yelpazesi (Fan out) Bir kapı elemanından alınabilecek maksimum çıkış sayısına denir. Tanım 3.6. Mantık devresi: Sonlu sayıda kapı elemanlarından oluş an ve aynı bir giriş ine birden fazla çıkış ın bağ lı olmadığ ı birleş ik devreye denir. Mantık devreleri, pozitif (negatif) akım (gerilim) mantıkları S={ 0,1 } kümesine VE, VEYA, TÜMLEYEN kapıları çarpma, toplama, tümleyen iş lemlerine karş ı düş ürülerek, iki değ erli bir Boole cebri ile matematiksel olarak modellendirilebilirler. Bu dersin kapsamı içerisinde kapı elemanları, giriş -çıkış ilişkisi verilerek tanımlanmış tır. Her bir kapı elemanının gerçekleş tirilmesi için transistörlerden yararlanılır. Transistörlerle yapılan gerçekleştirilmelerde çeşitli teknolojiler kullanılmaktadır ( TTL, MOS, CMOS gibi ) Bu teknolojiler ve kapı elemanlarının iç yapısı bu dersin kapsamı dış ında tutulmuş tur. Kapı elemanları yukarıda gösterildiğ i gibi tek baş larına ticari olarak satılmazlar, tümleş tirilmiş devre olarak satılırlar. Lojik devrelerde kullanılan tümleş tirilmiş devreleri dört gruba ayırmak mümkündür. SSI (Single Scale Integrated Circuits) Küçük ölçekli tümleş ik devreler. SSI elemanlar içlerinde 1 0 kadar kapı elemanı bulunduran devrelerdir. İ ki giriş ve bir çıkış lı kapı elemanlarından bir SSI elemanda normal olarak dört tane bulunur. Ş ekil 3.7 de iki SSI elemanı örneğ i verilmiş tir. Tek giriş ve tek çıkış ı olan tümleyen elemanından ise 8 tanesi ticari bir tümleş ik devrede görülür.32 v cc grd v cc : besleme gerilimi grd:toprak v cc grd 1234567 10 9 8 11 12 13 14 1234567 8 9 10 11 12 13 14 Ş ekil 3.7 Pratikte kullanılan iki SSI tümleş ik devre ş eması MSI (Medium Scale Integrated Circuits) Orta ölçekli tümleş ik devreler, içersinde 1 0- 1 00 kadar kapı elemanı bulunduran devrelerdir ve bu dersin kapsamında incelenecektir. LSI (Large Scale Integrated Circuits) Büyük ölçekli tümleş ik devrelerde, 1 00-1 000 kadar kapı elemanı bulunabilir, yine bu dersin kapsamında incelenecektir. VLSI (Very Large Scale Integrated Circuits) Büyük ölçekli tümleş ik elemanlar binlerce kapı elemanını kapsayan devrelerdir bu dersin kapsamında incelenmeyecektir. Örneğ in mikroiş lemciler bir VLSI elemandır. Tanım 3.7. Kombinezonsal devre: ç ıkış ları, giriş leriyle yegane olarak belirlenen mantık devrelerine denir. Buna göre aynı giriş e, farklı ç ıkış lar veren mantık devresi kombinezonsal değ ildir. İ lerde göreceğ imiz gibi bu devreler ardış ıldır. Her bir kombinezonsal devreye bir Boole fonksiyonu (analiz), her bir Boole fonksiyonuna da en az iki kombinezonsal devre (sentez) karş ı düş ürülebilir. Verilen bir kombinezonsal devreye karş ı düş en Boole fonksiyonunun bulunması, devrenin analiz edilmesine karş ı düş er (Giriş /çıkış iliş kisinin analitik ifadesi). Analiz iş lemi, bilindiğ i gibi, devreler teorisinde, çeş itli yöntemlerle yapılmaktadır- örneğ in çevre, düğ üm yöntemleri gibi- Oysa lojik devrelerde analiz iş lemi, her bir çıkış a iliş kin bir Boole fonksiyonun bulunmasıyla yapılabilir. Bu fonksiyonların bulunması devreler teorisindekine göre çok daha basit ve kolaydır. Analizi yapılacak devre giriş ve çıkış ları belirlenmiş bir kapalı kutu olarak verilmiş olsun. Kombinezonsal devrenin çıkış ı, tanım gereğ ince giriş ler cinsinden yegane olarak belirlendiğ ine göre, her bir giriş e bir bağ ımsız değ iş ken karş ı düş ürülüp fonksiyon olarak bulunur. Her bir giriş permütasyonu ve buna iliş kin çıkış , devrede gözlenerek bir doğ ruluk tablosu oluş turulur. Bu tabloya karş ı düş en Boole fonksiyonu, analiz için aranan fonksiyondur. Örneğ in ş ekil 3.8 de üç giriş li ve tek çıkış lı bir kombinezonsal devre ve buna iliş kin doğ ruluk tablosu verilmiş tir. İ leride nasıl elde edebileceğ imizi göreceğ imiz gibi, bu fonksiyon f = x 1 x 2 + x' 3 Boole fonksiyonuna eş değ erdir. x 1 x 2 x 3 f Kombinezonsal devre33 Giriş ler bağ ımsız egiş kenler Bağ ımlı değ iş kenler x1 x2 x3 fx 1xx 3’x 1 x2+x 3’ 000 1 0 11 001 0000 0 1 0 1 0 11 0 11 0000 1 00 1 0 11 1 0 1 0000 11 0 1111 11111 0 1 Ş ekil 3.8 Örnek kombinezonsal devreye iliş kin doğ ruluk tablosu ve karş ı düş en Boole fonksiyonu. Analizi yapılacak kombinezonsal devre, bir kapalı kutu biçiminde değ il de, kapı elemanları ve bağ lantılarıyla verilmiş olsun. Bu durumda analiz için gerekli olan fonksiyon, doğ ruluk tablosuna gerek olmadan, formül biçiminde bulunabilir. Tutulacak yol, her kapının tanım bağ ıntısını kullanarak, kapı çıkış ının giriş leri cinsinden yazılması ve bu iş leme devrenin çıkış ına gelinceye kadar devam edilmesidir. Ş ekil 3.9 de bir örnek verilmiş tir. x' 3 x 1 x 2 f =x 1 x 2 +x 3 ' x 1 x 3 x 2 Ş ekil 3.9 Bir kombinezonsal devreye karş ı düş ün Boole fonksiyonunun bulunmasına örnek Giriş ve çıkış ları belli (doğ ruluk tablosu veya fonksiyonu belli) bir kutuya iliş kin, kapı elemanlarında oluş muş devrenin bulunması, sentez iş lemi, lojik devrelerde en az iki çözümlüdür. n-değ iş kenli bir Boole fonksiyonuna, 1 . ve 2. tip kanonik açınımlardan yararlanarak, her birine birer tane olmak üzere, en az iki kombinezonsal devre karş ı düş ürülebilir. 1 . tip kanonik açınım için çarpımlar terimleri, n-giriş li VE kapılarıyla; çarpımlar terimlerinin toplamı olan fonksiyon da, n-giriş li VE kapılarının çıkış larının bir VEYA kapısının giriş ine verilmesiyle, VEYA kapısının çıkış ında, iki seviyeli olarak elde edilir. Sonuç çarpımlar terimlerinin toplamı VE-VEYA devresidir. VE kapıları 1 ., VEYA kapısı 2. Seviye ye karş ı düş er.34 f f 1.seviye 1. seviye 1.seviye 2. seviye 2. seviye . . . . . . . . . . . . . . (a) çarpımlar terimlerinin toplamı (b)toplamlar terimlerinin çarpımı Birinci tip Kanonik açınım İ kinci tip kanonik açınım f = f (i )m i ? f = (f (i ) + M i ? ) Ş ekil 3.1 0 Bir Boole fonksiyonuna iliş kin iki iki-seviyeli en genel biçimde kombinezonsal devre. 2. tip kanonik açınım için de, benzer biçimde, önce VEYA kapıları sonra VE kapısı kullanılarak, iki seviyeli bir kombinezonsal devre elde edilir. Sonuç toplamlar terimlerinin çarpımı VEYA-VE devresidir. VEYA kapıları 1 ., VE kapısı 2. Seviye ye karş ı düş er. Ş ekil 3.1 0 a da bir Boole fonksiyonunun 1 . tip kanonik açınımına iliş kin, ş ekil 3.1 0 b de de aynı fonksiyonun 2. tip kanonik açınımına iliş kin iki seviyeli kombinezonsal devreler en genel biçimde verilmiş tir. Ş ekilde görüldüğ ü gibi, İki-seviyeli gerçekleş tirilmelerde devrenin cevap verme süresinin, iki-kapı elemanı gecikmesinin toplamı kadar olduğ u, genel olarak söylenebilir. Örneğ in f(x 1 x 2 x 3 ) = ? 5,6,7 = x 1 x' 2 x 3 +x 1 x 2 x' 3 +x 1 x 2 x 3 = ? 0,1 ,2,3,4 = (x 1 +x 2 +x 3 ) (x 1 +x 2 +x' 3 ı (x 1 +x' 2 +x 3 ) (x 1 +x' 2 +x' 3 )(x 1 +x 2 +x 3 ) fonksiyonuna iliş kin iki iki seviyeli kombinezonsal devre Ş ekil 3.11 de verilmiş tir.35 x 1 x 2 x ' 3 x 1 x ' 2 x 3 x 1 x 2 x 3 x 1 x 2 x 3 x 1 x 2 x ' 3 x 1 x ' 2 x 3 x 1 x ' 2 x ' 3 x ' 1 x 2 x 3 ff Ş ekil 3.11 . Bir örnek Boole fonksiyonuna iliş kin iki iki-seviyeli kombinezonsal devre. Tanım 3.8. Bütün iş lemler (elemanlar): Herhangi bir Boole fonksiyonu, belli iş lemlerle (elemanlarla) ifade edilebiliyorsa (gerçekleş tirilebiliyorsa), bu iş lemler (elemanlar) bir bütün oluş turuyor denir. Örneğ in toplama, çarpma, tümleme iş lemleri (VE, VEYA, TÜMLEYEN kapı elemanları) bir bütün oluş tururlar. Bütün Boole fonksiyonlarının 1 . ve 2. kanonik açınımları vardır ve bu açınımlar toplama, çarpma, tümleme iş lemleriyle ifade edilirler. Teorem 3.3. Toplama ve tümleyen iş lemleri (VEYA, TÜMLEYEN elemanları) ile çarpma ve tümleyen (VE, TÜMLEYEN iş lemleri) bir bütün oluş tururlar. Tanıt: İ lki için, eksik olan çarpma iş lemi, tümleyen ve toplama iş lemleriyle xy = ( x' + y' )' biçiminde elde edilir. Burada yalnız toplama ve tümleyen iş lemleri vardır. İ kincisi için, eksik olan toplama iş lemi, tümleyen ve çarpma iş lemleriyle x + y = ( x'.y' )' biçiminde elde edilir. Burada yalnız çarpma ve tümleyen iş lemleri vardır. O nedenle bu iş lemler birer bütün oluş tururlar. Tanım 3.9. Minimal bütün iş lemler (elemanlar): Bütün iş lemlerin (elemanların) sayısı minimum ise bu iş lemler (elemanlar) bir minimal bütün oluş turuyor denir. Teorem 3.4. TÜVE veya TÜVEYA iş lemleri (elemanları) birer minimal bütün oluş tururlar. Tanıt: x.y = [ (xy)' (xy)' ]' x + y = [ (xx)' (yy)' ]' x' = (xx)' olduğ undan TÜVE iş lemi bir minimal bütün oluş turur. TÜVEYA iş leminin minimal bütünlüğ ü, benzer biçimde tanıtlanabilir. Ş öyle ki x.y = [ (x+x)' + (y+y)' ]' x + y = [ (x+y)' (x+y)' ]' x' = (x+x)' dır.36 Ş ekil 3.8 a da verilen iki seviyeli devrede, VE kapılarının çıkış larının tümleyenlerini ve VEYA kapılarının giriş lerinin de tümleyenlerini aldığ ımızı düş ünsek, giriş ç ıkış açısından sonuç değ iş meyecektir. Teorem gereğ ince tümleyenin tümleyeni kendisine eş ittir. Öte yandan bütün giriş leri tümleyen olan bir VEYA kapısı bir TVE kapısına eş değ erdir, çünkü De Morgan teoremi gereğ ince (x' 1 + x' 2 + x' 3 +...+ x' n ) = (x 1 .x 2 .x 3 ....x n )' dir. Bu sonuca göre 1 .tip kanonik açınıma karş ı düş en iki-seviyeli gerçeklemede, bütün kapıları TVE kapılarıyla yer değ iş tirdiğ imizde; elde edilen devre ilk devreye eş değ er, üstelik bütün elemanları aynı tip kapı elemanlıdır. Bakınız Ş ekil 3.1 2. f f 1.seviye 1. seviye 2. seviye 2. seviye f 1.seviye 2. seviye == Ş ekil 3.1 2 Yalnızca TVE kapıları kullanılarak bir Boole fonksiyonunun en genel gerçekleş tiriliş i Benzer biçimde 2 kanonik açınım için de yalınızca TVEYA kapılarıyla ( bütün kapıları TVEYA kapılarıyla değ iş tirerek) en genel bir devre verilebilir. Görülüyor ki bütün Boole fonksiyonlarını, gerektiğ inde aynı tip kapı elemanlarıyla gerçekleş tirmek olasıdır. Tümleş ik devre teknolojisi açısından bu sonuç yararlıdır. Tanım 3.1 0. Bir mantık devresine iliş kin graf (çizge): Her bir kapı elemanına bir düğ üm, her bir giriş ve çıkış a da iş aretin akış ına göre yönlendirilmiş bir topolojik eleman karş ı düş ürülerek, elde edilen çizgeye denir. Örneğ in ş ekil 3.1 2a daki mantık devresine iliş kin çizge, Ş ekil 3.1 2 b de verilmiş tir. B AC x 1 x 2 x 3 x 1 x 1 x 2 x 3 ABC f f a)Örnek mantık devresi. b) Örnek mantık devresine iliş kin çizge Ş ekil.3.1 2. Bir mantık devresi ve çizgesi.37 Tanım 3.11 . Yol: Bir çizgeye iliş kin bir A düğ ümünden hareketle, topolojik elemanların yönleri doğ rultusunda ilerleyerek, bir B düğ ümüne varılıyorsa, A ve B düğ ümleri arasında bir yol vardır denir. Tanım 3.1 2. Çevre: İ ki ucu birleş ik yola çevre denir. Tanım 3.1 3. İ leri beslemeli mantık devresi: Çizgesi, bir çevre içermeyen mantık devresine denir. Örneğ in Ş ekil 3.1 2 b de verilen mantık devresi ileri beslemelidir. Teorem 3.5. İ leri beslemeli bir mantık devresi kombinezonsaldır. Tanıt: Önce "ileri beslemeli bir mantık devresinde, yalnızca devre giriş lerini veya bir alt kümesini giriş kabul eden, en az bir kapı elemanı vardır" önermesinin doğ ru olduğ unu tanıtlayalım. Varsayalım ki bu önerme yanlış . Herhangi bir kapı elemanı seçelim, giriş lerinden en az biri, varsayım gereğ ince, bir baş ka kapı elemanının çıkış ıdır. Bu yeni kapı elemanı da, varsayım gereğ ince, bir baş ka kapı elemanının çıkış ından beslenmek zorundadır. Böylece devam edilirse, kapı elemanları sonlu ve devre birleş ik olduğ undan, aynı bir devre elemanı iki defa hesaba katılmak zorundadır. Bu devrenin ileri beslemeli olmadığ ını gösterir, varsayımla çeliş ir. O halde varsayım yanlış , yani ileri beslemeli bir mantık devresinde, giriş leri yalnızca devrenin giriş leri olan, en az bir kapı elemanı vardır. Yukarıda sözü edilen kapılara 1 kapıları diyelim. Öyle kapılar vardır ki giriş leri x 1 . .x n ve 1 kapılarının çıkış ları olsun. Bunlara da 2 kapıları diyelim. 1 ve 2 kapı ç ıkış ları yalnızca x 1 . .x n giriş leri cinsinden ifade edilebilir. Böyle devam edilerek devrenin çıkış larına varılır. Her bir kapı ç ıkış ı daha öncesine giderek yegane olarak x 1 . . x n giriş leriyle belirlendiğ ine göre, çıkış ta x 1 . .x n le yegane olarak belirlenir. O halde devre kombinezonsaldır. Tanım 3.24. Geri beslemeli mantık devresi: Bir mantık devresine iliş kin çizge, bir çevre içeriyorsa, bu devreye geri beslemeli devre denir. Teorem 3.6. Geri beslemeli mantık devreleri, kombinezonsal veya kombinezonsal olmayan (ardış ıl) olabilir. Tanıtı bir örnek üzerinden yapabiliriz. Ş ekil 3.1 3 de verilen geri beslemeli mantık devresi kombinezonsaldır. f çıkış fonksiyonu, giriş ler cinsinden yegane olarak belirlenir ve f= [(x' 1 + f ) x 2 + x 1 ]x 3 = [(x' 1 + f + x 1 ) (x 2 + x 1 ) ] x 3 = ( x 1 +x 2 )x 3 dür f x 2 x 3 x 1 x ' 1 Ş ekil 3.1 3. Kombinezonsal olan bir geri beslemeli mantık devresi.38 Ş ekil 3.1 4 de verilen, geri beslemeli devre; kombinezonsal değ il, ardış ıldır. f=x 1 x 3 +x 2 x 3 f olup sırasıyla t 0 ,t 1 ,t 2 ,t 3 anları için x 1 x 2 x 3 = 000, 011 , 111 , 011 giriş leri uygulandığ ında, çıkış lar 0,0,1 ,1 dir. Aynı 011 giriş i için çıkış lar farklı olduğ undan, devre kombinezonsal olamaz. Uygulanan giriş dizisi ayrıca tablo biçiminde verilmiş tir. f x 2 x 3 x 1 x 1 [] f x x x x x f) x (x x ) x (x f) (x x x + x f) + (x = f 3 2 3 1 3 2 1 3 2 1 1 3 1 2 1 + = + = + + = x 1 x 2 x 3 f t 0 0000 t 1 0 11 0 t 2 1111 t 3 0 111 Ş ekil 3. 1 4.Kombinezonsal olmayan (ardış ıl) bir geri beslemeli mantık devresi. 3.4 Özet Bu bölümde iki değ erli Boole cebrinin uygulandığ ı önermeler cebri ve kapı elemanlarından oluş an mantık devreleri incelenmiş tir. Bu devrelerin davranış larının Boole fonksiyonlarıyla temsil edilebileceğ i gösterilmiş tir. Belli bir davranış biçimi betimleyen Boole fonksiyonlarının, kapı elemanlarından oluş an devrelerle nasıl gerçekleş tirilebileceğ i konuları ele alınmış tır.39 B BÖ ÖL LÜ ÜM M 4 4 K KO OM MB Bİİ N NE EZ ZO ON NS SA AL L D DE EV VR RE E S SE EN NT TE EZ Zİİ Önceki bölümde, kapı devrelerine iliş kin Boole fonksiyonlarının bulunması, analiz sorunu incelenmiş ti. Ayrıca bir Boole fonksiyonuna iliş kin, kapı devresinin bulunması, sentez sorunu da ele alınmış ; 1 . ve 2. tip kanonik açınımlara iliş kin genel iki seviyeli devreler verilmiş tir. Bu bölümde ise sentezin, daha az sayıda kapı elemanlarıyla, gerçekleştirilmesi üzerinde durulacaktır. Bundan sonraki adım da, pratikte kombinezonsal devre sentezinin, nasıl yapılacağ ı örneklerle incelenecektir. 4.1 Giriş Amaç, verilen bir fonksiyona eş değ er, fakat karmaş ıklığ ı daha az olan, fonksiyonların bulunmasıdır. Bir Boole fonksiyonunun karmaş ıklığ ı veya ona karş ı gelen devrenin karmaş ıklığ ı, tanımlanması oldukça zor bir kavramdır. Değ iş ik kriterlere göre bir fonksiyonun veya devrenin karmaş ıklığ ı değ işmektedir. Örneğ in fonksiyonun karmaş ıklığ ı, gerçekleş tirilmesinde kullanılan toplam eleman sayısına göre, eleman giriş leri sayısına (giriş yelpazesi), kolay onarılabilir olmasına, hata saptamasının kolaylığ ına, farklı eleman grupları kullanılmasına göre farklı biçimlerde tanımlanabilir. İ deal olanı, bütün kriterlere cevap yerebilen, bir karmaş ıklık tanımıdır. Oysa çeş itli kriterler için, gerçekleş tirilen fonksiyonların devreleri, birbiriyle çeliş en sonuçlar verebilir. Örneğ in eleman sayısı az olan basit bir devre, hata saptanması bakımından karmaş ık olabilir, İ stenen ideal tanımın yapılmasındaki güçlük nedeniyle, tutulan yol, belli koş ullar altında, minimal karmaş ıklık tanımının verilmesidir. Tanım 4.1 . Minimal (indirgenmiş ) fonksiyon: Bir g fonksiyonu, f fonksiyonuna eş değ er, çarpımlar toplamı (toplamlar çarpımı) biçiminde, minimum sayıda minimum değ iş kenli terimden oluş uyorsa; g ye f in minimal fonksiyonu denir. f(x 1 x 2 x 3 ) = ? 0,1 ,5,6,7 f(x 1 x 2 x 3 ) = x' 1 x' 2 x' 3 + x' 1 x' 2 x 3 + x 1 x' 2 x 3 + x 1 x 2 x' 3 + x 1 x 2 x 3 fonksiyonuna eş değ er g 1 (x 1 x 2 x 3 ) = x 1 x 2 +x 1 x 3 + x' 1 x' 2 fonksiyonu tanıma uygun bir minimal fonksiyondur. Oysa g 2 (x 1 x 2 x 3 ) = x 1 (x 2 + x 3 ) + x' 1 x' 2 biçiminde yazılan, g 2 eş değ er fonksiyonu, çarpımlar toplamı biçiminde olmadığ ından, tanım gereğ ince minimal değ ildir. Her bir fonksiyona iliş kin devreler Ş ekil.4.1 de verilmiş tir.40 x 1 x 2 x 3 f x 1 x 2 x 2 x 3 x 1 x 2 x 1 x 1 x 2 x 3 x 2 x 1 x 1 g g a b c (a) f = x 1 'x 2 'x 3 ' + x 1 'x 2 'x 3 + x 1 x 2 x 3 ' + x 1 x 2 x 3 + x 1 x 2 'x 3 (b) g = x 1 x 2 + x 1 x 3 + x' 1 x' 2 (c) g = x 1 (x 2 + x 3 ) + x' 1 x' 2 Ş ekil.4.1 .Tanıma uygun minimal ve minimal olmayan fonksiyonlar ve devreleri. Minimal fonksiyona iliş kin devre, genel gerçekleş tirmeye göre hem kapı sayısı hem de kapılara iliş kin giriş yelpazeleri bakımından daha basittir. Gerçekleş tirmede terimler kapı elemanlarına ve terimlerdeki değ iş ken sayısı da giriş yelpazelerine karş ı düş er. 2. seviyedeki elemanın giriş yelpazesi terim sayısı kadardır. Tanım 4.2. İndirgenemeyen ( irreducible, irredundant) fonksiyon: Bir f fonksiyonuna eş değ er indirgenemeyen g fonksiyonu, çarpımlar toplamı biçiminde olan ve herhangi bir değ iş keni kaldırıldığ ında f le eş değ erliğ i bozulan fonksiyondur. Örneğ in f(x 1 x 2 x 3 ) = ? 0,2,3,4,5,7 f(x 1 x 2 x 3 ) = x' 1 x' 2 x' 3 + x' 1 x 2 x' 3 + x' 1 x 2 x 3 + x 1 x' 2 x' 3 + x 1 x' 2 x 3 + x 1 x 2 x 3 fonksiyonuna eş değ er g 1 (x 1 x 2 x 3 )= x' 1 x' 3 +x' 2 x' 3 +x 2 x 3 +x 1 x 3 fonksiyonu indirgenemeyendir, fakat minimal değ ildir. Sonuç 1 . Her minimal fonksiyon indirgenemeyendir, karş ıtı doğ ru değ ildir. Sonuç 2. Aynı bir fonksiyona iliş kin birden fazla minimal veya indirgenemeyen fonksiyon olabilir. Bir baş ka deyiş le minimal veya indirgenemeyen fonksiyonlar yegane değ ildir. Önceki örnekteki f e eş değ er g 2 (x 1 x 2 x 3 )= x' 1 x' 3 +x 1 x' 2 +x 2 x 3 ile g 3 (x 1 x 2 x 3 ) =x' 1 x 2 +x' 2 x' 3 +x 1 x 3 fonksiyonları hem indirgenemeyen hem de minimal fonksiyonlardır.41 1 tip açınım için, verilen minimal fonksiyona iliş kin devrede, VE kapılarının sayısı, VE kapılarının giriş yelpazesi, VEYA kapısının giriş yelpazesi azalır. Benzer biçimde 2. tip açınım için verilen minimal fonksiyona iliş kin devrede, VEYA kapılarının sayısı, VEYA, kapılarının giriş yelpazesi ve VE kapısının giriş yelpazesi azalır. Minimal fonksiyonların bulunmasına iliş kin iki yöntem verilecektir. Birincisi, Quine Mc- Cluskey yöntemi diye de bilinen, tablo yöntemi olup, genel ve bilgisayar programlamasına elveriş lidir. İkincisi Karnaugh diyagramı yöntemidir. Bu yöntem, bağ ımsız değ iş ken sayısı az olan (3,4,5, gibi) fonksiyonların minimalleş tirilmesinde, kolaylık sağ lar. 4.2 Tablo Yöntemiyle Minimal Fonksiyonların Bulunması Bu bölümde önce yöntemi tanıtıp, sonra adımlarını ayrı ayrı inceleyeceğ iz. 4.2.1 Tablo yöntemi Önce 1 . tip sonra benzer yolla 2. tip kanonik açınım için minimalleş tirmeyi inceleyeceğ iz. Tanım 3.4. Örten (cover) fonksiyon: g fonksiyonun 1 değ erini aldığ ı her giriş için f fonksiyonu da 1 değ erini alıyorsa, g ye f için gerekir veya f, g yi örtüyor denir. Sırasıyla g›f veya f ? g ile gösterilir. Tablo 4 1 de.verilen h = x' 1 x' 2 + x 1 x 2 x 3 fonksiyonu f = x 1 +x' 2 için gerekir (h›f), veya f , h yı örter (f? h). Tablo 4.1 . Gerekir veya örten fonksiyonlara örnek (f? h, h›f) x 1 x 2 x 3 hf 00011 00111 0 1 000 0 1100 1 0001 1 0 1 0 1 11 0 11 111 0 1 Tanım 4.4. Asal bileş en (prime implicant) Eğ er p çarpımlar terimi, f tarafından örtülüyor (p›f) ve p deki herhangi bir değ iş ken kaldırıldığ ında f, p yi örtmüyorsa; p ye f in asal bileş enidir denir. Örneğ in f(x 1 x 2 x 3 ) = x' 1 x 2 + x 1 x 3 + x' 2 x' 3 fonksiyonu için p = x' 1 x 2 bir asal bileş endir. Çünkü p = x' 1 x 2 de , x' 1 ve x 2 kaldırıldığ ında, sırasıyla geriye kalan x 2 ve x' 1 , f tarafından örtülmemektedir. Teorem 4.1 . Bir fonksiyona iliş kin, indirgenemeyen fonksiyondaki çarpımlar terimleri asal bileş enlerdir. Tanıt: f e eş değ er ve indirgenemeyen bir fonksiyon f* olsun. (?) da, f in asal bileş eni olmayan, bir çarpımlar terimi olsun ve f* da görülsün. (?) asal bileş en olmadığ ından en42 azından bir değ iş ken silindiğ inde, f* ile f in eş değ erliğ i bozulmaz, fakat f* indirgenemez olmaktan çıkar. Varsayımımızla çeliş iyor o halde (?) asal bileş en olmak, zorundadır. Bir baş ka deyiş l e f * d a k i b ü t ü n ç a r p ımlar terimleri, f in bir asal bileş eni olmak zorundadır. Bu teoremden, bir fonksiyonun minimalleş tirilmesinde önce bütün asal bileş enlerin bulunması gerektiğ i ortaya çıkmaktadır. Sonra da bulunan asal bileş enlerden, toplamları minimal fonksiyonu veren, minimum sayıda asal bileş enler, alt kümesinin bulunması gerekecektir. Tanım 4.5. Temel asal bileş en (Essential prime implicant) Bir asal bileş en, bir doğ ru minterimi örtüyor ve baş ka hiçbir asal bileş en aynı doğ ru minterimi örtmüyorsa, bu asal bileş ene Temel asal bileş en denir. f fonksiyonunun bütün doğ ru minterimlerinin, f e eş değ er indirgenemeyen veya minimal g fonksiyonu tarafından örtülmesi gerektiğ inden, f in bütün temel asal bileş enleri, g de görülmek zorundadır. Yukarıdaki açıklamaların ış ığ ında, tablo yöntemiyle bir fonksiyonun minimalleş tirilmesini üç adımda özetleyebiliriz. 1 . Bütün temel asal bileş enler bulunup, minimal fonksiyona hepsi birlikte alınır. 2. Temel asal bileş enlerin örttüğ ü asal bileş enler, minimal fonksiyonda görülmezler, yani atılırlar. 3. Birinci adımda, f in bütün doğ ru minterimleri temel asal bileş enler tarafından örtülüyorsa; minimal fonksiyon yeganedir ve temel asal bileş enler toplamına eş ittir. 4. Aksi halde bulunan temel asal bileş enlere, öyle minimum sayıda asal bileş en eklemeliyiz ki temel asal bileş enler ve seçilen bu asal bileş enler birlikte, f fonksiyonunu örtsünler ve ona eş it olsunlar. Bu dördüncü adım, direkt olarak hemen yapılamayabilir, sistematik, kuralı ileride verilecektir. 4.2.2 Asal Bileş enlerin Bulunması Belli koş ullar altında, k değ iş kenli iki çarpımlar terimi, (k-1 ) değ iş kenli bir çarpımlar terimine dönüş ebilir. (k) değ iş kenli iki çarpımlar teriminde, (k-1 ) değ iş ken, değ iş kenler ve tümleyenleri bakımından tamamen aynı ve yalnızca bir değ iş ken terimlerden birinde kendisi, diğ erinde tümleyeni biçiminde görülüyorsa; bu iki terim birleş ir. Bu birleş me sonunda, farklı olan değ iş ken kaybolur. Geriye, her iki terimde ortak ve aynı (k-1 ) değ iş kenlerden oluş an, bir terim kalır. Matematiksel olarak Aa' + Aa = A (a+a ' ) = A.1 =A bağ ıntısı düş ünülmektedir. Öyle ki A, (k-1 ) tane, değ iş kenler ve tümleyenleri bakımından tamamen aynı, değ iş kenden oluş ur. (a) ise yalnızca bir değ iş kendir. Bu iş leme "birleş tirme iş lemi" diyeceğ iz. Birleş me sonucu, iki tane k değ iş kenli çarpımlar terimi yerine, bir tane, (k-1 ) değ iş kenli, bir çarpımlar terimi bulunur. Örneğ in x' 1 x 2 x 3 x' 4 + x' 1 x 2 x 3 x 4 = = x' 1 x 2 x 3 ( x 4 + x' 4 ) = x' 1 x 2 x 3 .143 = x' 1 x 2 x 3 dür. (x' 1 x 2 x 3 x' 4 ) ve ( x' 1 x 2 x' 3 x 4 ) çarpımlar terimleri, yukarıda açıklandığ ı anlamda birleş tirilmeye uygun değ ildir. Çünkü x 3 x 4 gibi, iki değ iş ken, her iki terimde farklı biçimler de görülmektedir: birinde x' 3 x 4 diğ erinde x 3 x' 4 biçimindedir. Doğ ru minterimler üzerinden yapılan birleş tirme iş lemi, doğ ru minterimlerin ikili tabanda temsil ediliş lerinden yararlanarak, daha kolay yapılabilir. Örneğ in x' 1 x 2 x 3 x' 4 minteriminin iki tabanındaki temsili 011 0 ile x' 1 x 2 x 3 x 4 minteriminin iki tabanındaki temsili 0111 ile yapıldığ ında (bakınız bölüm 2.5. Anahtar fonksiyonlarının kanonik açınımları) görülüyor ki yalnız en az ağ ırlıklı basamaktaki sayamaklar farklı, diğ er basamaklardaki sayamaklar ise aynıdır. O halde birleş tirme sonucu (011 -)e karş ı gelen terim x' 1 x 2 x 3 çıkar, (-) kaybolan değ iş kenin bulunduğ u basamakta görülür. Sonuç olarak, 1 sayısı (0 sayısı) yalnızca bir fark eden, iki tabanındaki sayıların temsil ettiğ i doğ ru minterimler karş ılaş tırılmadır. Birleş tirme iş lemi, ard arda yapılarak, değ iş ken ve terim sayısı daha da azaltılabilir. Örneğ in aş ağ ıdaki dört çarpımlar terimine, birleş me iş lemi ard arda uygulanarak, 2 değ iş kenli, bir çarpımlar terimi elde edilir. x 1 x 2 x' 3 x' 4 + x 1 x 2 x 3 x' 4 + x 1 x 2 x' 3 x 4 + x 1 x 2 x' 3 x' 4 = x 1 x 2 x' 3 (x' 4 +x 4 ) + x 1 x 2 x 3 (x' 4 +x 4 ) = x 1 x 2 (x' 3 + x 3 ) = x 1 x 2 Bu iş lemlerin sistematik, bir biçimde yapılabilmesi için tutulacak yol adım adım aş ağ ıdaki gibi özetlenebilir: 1 . Doğ ru minterimler öyle gruplandırılır ki aynı grupta olan doğ ru minterimlerin, ikili tabanda temsili olan sayılardaki 1 sayıları aynı olsun. Bulunan gruplar, içerlerindeki 1 sayısına göre, dizinlenerek (indislenerek) sıralandırılır. 2. En küçük dizinli (indisli) gruptaki her bir iki tabanlı sayı, bir sonraki dizinli grupta ki her bir sayı ile karş ılaş tırılır. Birleş tirilmeye uygun çiftler varsa birleş tirilir. Bu iş leme, i. dizinli gruptaki her bir iki tabanlı sayı ile (i+1 ) dizinIi gruptaki her bir iki tabanlı sayı, teker teker karş ılaş tırılıp, olası olanlar birleş tirilerek, bütün gruplar bitinceye kadar devam edilir. Komşu gruplardan, iki tabanında temsil edildiklerinde, yalnızca bir basamaktaki sayamağ ı fark eden, terimler birleş tirilir. Elde edilen sonuç terimde, birleş tirilen iki terimin, karş ılıklı basamaklardaki ortak sayamaklar, aynen saklanır, farklı olan sayamakların bulunduğ u basamağ a (-) konur. Böyle birleş meye giren terimler ? ile iş aretlenir. Aynı bir terimin birden fazla birleş meye girebileceğ i gözden kaçırılmamalıdır. Sonuçta yine aynı dizinli gruplar oluş turulur. 3. Bu adımda yapılan iş lem öz olarak ikinci adımdakinin aynıdır. Komş u gruplardaki terimler, yalnızca bir basamaktaki sayamakları farklı ve aynı basamaklarda (-) iş areti taş ıyorlarsa, birleş tirilebilir. İ kinci adımdaki iş lemler tekrarlanır. İş leme yeni bir birleş tirilebilen terim bulunamayana kadar devam edilir. ? ile iş aretlenmiş terimler asal bileş enlerdir. Çünkü her biri f için gerekir ve baş ka bir çarpımlar terimi tarafından örtülmezler. f = ? 0,1 ,2,5,7,8,9,l0,1 3,1 5 fonksiyonunun asal bileş enlerini bulalım. 1 . adıma iliş kin tablo, Tablo 4.2a da ve sonraki adımlara iliş kin tablolarda Tablo 4.2.b c de verilmiş tir.44 Tablo 4.2. Örnek fonksiyona iliş kin asal bileş enlerin bulunmasındaki tablolar. x 1 x 2 x 3 x 4 x 1 x 2 x 3 x 4 G 1 ?0 0000 ?0,1 000- ?1 0001 G' 1 ?0,2 00-0 G 2 ?2 001 0 ?0,8 -000 ?8 1 000 ?1 ,5 0-01 ?5 0 1 0 1 ?1 ,9 -001 G 3 ?9 1 001 G' 2 ?2,1 0 -01 0 ?1 0 1 0 1 0 ?8,9 1 00- ?7 0 111 ?8,1 0 1 0-0 G 4 ?1 3 11 0 1 ?5,7 0 1 - 1 G 5 ?1 5 1111 G' 3 ?5,1 3 - 1 0 1 ?9,1 3 1 -01 G' 4 ?7,1 5 - 111 ?1 3,1 5 11 - 1 (a) (b) x 1 x 2 x 3 x 4 G" 1 0,1, 8 , 9 -00- 0,2,8,10-0-0 G" 2 1 ,5,9,13--01 G" 3 5,7,1 3,15- 1 - 1 (c) Örneğ in Tablo 4.2a da gruplaş malar yapıldıktan sonra G 2 deki 1 ile G 3 deki 5 birleş tirilmiş , (0-01 ) bulunmuş , Tablo 4.2b deki tabloya (1 ,5) (0-01 ) olarak aktarılmış , 1 . ve 5. terimler ? ile iş aretlenmiş tir. Kaybolan 2. basamaktaki sayamak yerine (-) gelmiş tir. İş leme benzer biçimde devam edilmiş tir. sonuçta ? ile iş aretlenmemiş (-00-), (-0-0), (- -01 ), (-1 -1 ) lere yani sırasıyla x' 2 x' 3 ; x' 2 x' 4 ; x' 3 x 4 ; x 2 x 4 asal bileş enlerine varılmış tır. 4.2.3 Asal bileş enler tablosu ve minimal fonksiyonların bulunması Sütunlarında, fonksiyona iliş kin doğ ru minterimlerin, satırlarında ise asal bileş enlerin bulunduğ u tabloya, asal bileş enler tablosu diyeceğ iz. Eğ er bir satırdaki asal bileş en, bir sütundaki doğ ru minterimi örtüyorsa, bu satır ve sütunun kesiş tiğ i yere x iş areti konur. Örneğ in Tablo 4.2. de asal bileş enlerini bulduğ umuz fonksiyona iliş kin, asal bileş enler tablosu Tablo 4.3. de verilmiş tir. Bulunan asal bileş enlerin öyle bir minimal alt kümesi seçilmelidir ki bütün doğ ru minterimler örtülsün. Yani tablodaki her bir sütun, seçilen asal bileş enlere iliş kin satırlarda, en az bir x iş areti bulundurmalı ve asal bileş enlerdeki değ iş ken sayısı olabildiğ ince minimal olmalıdır.45 Asal bileş enler tablosunun bir sütununda, yalnızca bir x iş areti varsa, bu iş aretin bulunduğ u satıra iliş kin asal bileş en, temel asal bileş endir. Çünkü sütundaki doğ ru minterim, yalnızca bu asal bileş en tarafından örtülmektedir. Temel asal bileş enin bulunduğ u satıra temel satır denir. Temel asal bileş enleri ayırt etmek için, x iş areti, ? biçimine dönüş türülüp, ilgili temel asal bileş en ? ile iş aretlenir. Temel asal bileş enler saptandıktan sonra, bunların örttükleri bütün minterimler ? ile iş aretlenir. Örneğ in x 2 x 4 ve x' 2 x' 4 temel asal bileş eni; 0,2,8 ve 1 0 sütunlarının temsil ettikleri doğ ru minterimleri örter. Eğ er temel asal bileş enler doğ ru minterimlerin tamamını örtmüyorsa, baş ka asal bileş enler eklemek gerekecektir. örneğ imizde x 2 x 4 ve x' 2 x' 4 temel asal bileş enleri 0,2,5,7,8,1 0,1 3,1 5 doğ ru mintermlerini örter, fakat 1 ve 9 doğ ru mintermlerini örtmezler. Temel asal bileş enlere ek olarak x' 3 x 4 veya x' 2 x' 3 asal bileş enlerini alırsak bütün doğ ru minterimler örtülmüş olur. O halde iki minimal fonksiyon Tablo 4.3. Örnek fonksiyona iliş kin asal bileş enler tablosu. x' 1 x' 2 x' 3 x' 4 0 ? ? ? ? x' 1 x' 2 x' 3 x 4 1 x' 1 x' 2 x 3 x' 4 2 ? ? ? ? x' 1 x 2 x' 3 x 4 5 ? ? ? ? x' 1 x 2 x 3 x 4 7 ? ? ? ? x 1 x' 2 x' 3 x' 4 8 ? ? ? ? x 1 x' x' x 4 9 x 1 x' 2 x 3 x' 4 1 0 ? ? ? ? x 1 x 2 x' 3 x 4 1 3 ? ? ? ? x 1 x 2 x 3 x 4 1 5 ? ? ? ? 0,1 ,8,9 x' 2 x' 3 xx xx Temel satır 0,2,8,1 0 ? ? ? ? x' 2 x' 4 x ? x ? 1 ,5,9,1 3 x' 3 x 4 xxxx Temel satır 5,7,1 3,1 5 ? ? ? ? x 2 x 4 x ? x ? f = x 2 x 4 + x' 2 x' 4 +x' 3 x 4 ve f = x 2 x 4 + x' 2 x' 4 +x' 2 x' 3 dür. 4.2.4 Bütün İ ndirgenemeyen ve minimal fonksiyonların belirlenmesi Asal bileş enler tablosunda, temel asal bileş enlerin örttükleri doğ ru minterimlerin bulunduğ u sütunlar ile temel asal bileş enlerin bulunduğ u satırların silinmesiyle bulanan tabloya indirgenmiş asal bileş enler tablosu diyeceğ iz. Tablo 4.4 te f = ? 0,1 ,3,4,7,1 3,1 5,1 9,20,22,23,29,31 fonksiyonu için asal bileş enler tablosu verilmiş tir. MSB (En çok ağ ırlıklı bit) x 1 değ iş kenine, LSB (En az ağ ırlıklı bit) ise x 5 değ iş kenine karş ı düş ürülmüş tür.46 Tablo.4.4 Örnek fonksiyona iliş kin asal bileş enler tablosu. 0 1 3 ? ? ? ? 47 ? ? ? ? 1 3 ? ? ? ? 1 5 ? ? ? ? 1 9 ? ? ? ? 20 22 23 ? ? ? ? 29 ? ? ? ? 31 ? ? ? ? A=x 2 x 3 x 5 ? x ? x B=x 3 x 4 x 5 xx xx C=x' 2 x 4 x 5 xx ? x D=x 1 x' 2 x 3 x 4 xx E=x 1 x' 2 x 3 x' 5 xx F=x' 2 x 3 x' 4 x' 5 xx G=x' 1 x' 2 x' 3 x 5 xx H=x' 1 x' 2 x' 4 x' 5 xx I=x' 1 x' 2 x' 3 x' 4 xx Görüldüğ ü gibi bu tabloda A ve C temel asal bileş enlerdir, Temel asal bileş enlerin örttükleri doğ ru minterimler ise 3, 7, 1 3, 1 5, 1 9, 23, 29, 31 dir. Temel asal bileş enlerin bulundukları satırların, bu temel asal bileş enlerin örttükleri doğ ru minterimleri bulundukları sütunların, silinmesiyle bulunan, indirgenmiş asal bileş enler tablosu Tablo 4.5 te verilmiş tir. Tablo.4.5.Örnek fonksiyona iliş kin indirgenmiş asal bileş en tablosu. 0 1 42 0 2 2 D x E x x F x x G X H X x I x x İ ndirgenmiş asal bileş enler tablosundan, minimal fonksiyonların bulunmasının genel bir yolu, indirgenmiş tabloda, asal bileş enleri değ iş ken alan, bir önermeler fonksiyonunun tanımlanmasıdır. 3. Bölümde, belli koş ulların sağ lanmasına karş ı düş en, çarpımlar toplamı biçiminde olan, örnek bir önerme fonksiyonu görmüş tük. Burada ise, toplamlar çarpımı biçiminde görünen, bir p önerme fonksiyonunu elde edeceğ iz. İ ndirgenmiş asal bileş enler tablosundaki, f indirgeyeceğ iz fonksiyona ait bir doğ ru minterimin, asal bileş enler tarafından örtülmesini, toplamlar terimi olarak düş ünebiliriz. Öyle ki ilgilenilen doğ ru minterimin, sütunundaki (x) lara karş ı düş en, bir ve/veya daha fazla asal bileş en değ iş keninin (1 ) olması, bu doğ ru minterimin örtüldüğ ünü gösterir. Örneğ in Tablo 4.5 teki (0) doğ ru minteriminin örtülmesini, (H+I) ile ifade edebiliriz. Bu demektir ki H ve I dan herhangi biri veya ikisi de (1 ) olduğ unda, (0) doğ ru minterimi örtülür, aksi taktirde H+I=0 olur ve (0) doğ ru minterimi örtülmez. İ ndirgenmiş asal bileş enler tablosundaki, bütün doğ ru minterimler için benzer toplamlar terimleri oluş turulur. Minimal fonksiyonda bulunan asal bileş enleri belirleyen p önerme fonksiyonunun, söz konusu edilen toplamlar terimlerinin çarpımı biçiminde olması gerekir. Ancak o zaman, indirgenmiş asal bileş enler tablosundaki, bütün doğ ru minterimler örtülmüş olur.47 Buna göre Tablo 4.5 teki indirgenmiş asal bileş enler tablosu için p önerme fonksiyonu P = (H+I) (G+I) (F+H) (E+F) (D+E) bulunur. p önerme fonksiyonu çarpımlar toplamı biçiminde düzenlenirse p = EHI+EFI+DFI+EGH+DFGH olur. Bu ifadeden indirgenmiş asal bileş enler tablosunun kapsanabilmesi için en az üç satıra gereksinim olduğ u anlaş ılmaktadır. Örneğ in E,H,I, satırlarındaki asal bileş enler, tablodaki bütün doğ ru minterimleri kapsar. p deki her bir çarpımlar terimini, aradığ ımız asal bileş en grubu alarak, A ve C temel asal bileş enlerini de ekleyip 5 farklı, indirgenemeyen fonksiyon bulunur. p nin ifadesindeki sonuncu terimdeki değ iş ken sayısı diğ erlerinden farklı olduğ u için, indirgenemeyen 5 fonksiyon arasından aş ağ ıdaki 4 tanesi minimaldir. f(x 1 x 2 x 3 x 4 x 5 ) = A+C+E+H+I = x 2 x 3 x 5 + x' 2 x 4 x 5 + x 1 x' 2 x 3 x' 5 + x' 1 x' 2 x' 4 x' 5 + x' 1 x' 2 x' 3 x' 4 f(x 1 x 2 x 3 x 4 x 5 ) = A+C+E+F+I = x 2 x 3 x 5 + x' 2 x 4 x 5 + x 1 x' 2 x 3 x' 5 + x' 2 x 3 x 4 x' 5 + x' 1 x' 2 x' 3 x' 4 f(x 1 x 2 x 3 x 4 x 5 ) = A+C+D+F+I = x 2 x 3 x 5 + x' 2 x 4 x 5 + x 1 x' 2 x 3 x 4 + x' 1 x' 2 x' 4 x' 5 + x' 1 x' 2 x' 3 x' 4 f(x 1 x 2 x 3 x 4 x 5 ) = A+C+E+G+H = x 2 x 3 x 5 + x' 2 x 4 x 5 + x 1 x' 2 x 3 x' 5 +x' 1 x' 2 x' 3 x 5 + x' 1 x' 2 x' 4 x' 5 Bu yöntemle bütün minimal fonksiyonlar ve indirgenemeyen fonksiyonlar bulunmaktadır. Göz önünde tutulması gereken bir konu, minimal fonksiyonu, önermeler fonksiyonundan yararlanarak bulurken, seçilen asal bileş enlerdeki değ iş ken sayısı minumum olmalıdır. Örneğ in D, E, H, I, G asal bileş enlerinden, varsayalım G nin değ iş ken sayısı 4 değ ilde 3 olsaydı, yukarıda bulduğ umuz 4 minimal fonksiyondan, yalnızca sonuncusu minimal olurdu, diğ erleri olmazdı. Ş imdiye kadar, asal bileş en tablosunun incelenerek, bütün minimal fonksiyonların nasıl bulunacağ ı bir örnek üzerinde verildi. Ş imdi de asal bileş en tablosu karmaş ık olduğ u zaman ve bütün minimal fonksiyonları değ il de, yalnızca bir tanesinin bulunması istendiğ inde kullanılabilecek bir yöntem vereceğ iz. Bu amaçla tutulacak sistematik bir yol, örnek üzerinden verilecektir. Örnek fonksiyonumuz: f(x 1 x 2 x 3 x 4 x 5 ) = ? 1 ,3,4,5,6,7,1 0,11 ,1 2,1 3,1 4,1 5,1 8,1 9,20,21 ,22,23,25,26,27 ve buna iliş kin asal bileş en tablosu Tablo 4.6a da verilmiş tir.48 Tablo 4.6 Örnek fonksiyon ve ona iliş kin asal bileş en ve indirgenmiş asal bileş en tabloları 1 ? ? ? ? 3 ? ? ? ? 4 ? ? ? ? 5 ? ? ? ? 6 ? ? ? ? 7 ? ? ? ? 1 0 11 1 2 ? ? ? ? 1 3 ? ? ? ? 1 4 ? ? ? ? 1 5 ? ? ? ? 1 8 192 0 ? ? ? ? 21 ? ? ? ? 22 ? ? ? ? 23 ? ? ? ? 25 ? ? ? ? 26 27 ? ? ? ? ? ? ? ?A=x' 2 x 3 xxxx ??xx ? ? ? ?B=x' 1 x 3 xxxx ??xx C=x 1 x' 3 x 4 xx xx D=x 1 x' 2 x 4 xx xx E=x 2 x' 3 x 4 xx xx F=x' 1 x 2 x 4 xx xx G=x' 3 x 4 x 5 xx x x H=x' 2 x 4 x 5 xx xx I=x' 1 x 4 x 5 xxxx ? J=x' 1 x' 2 x 5 ?xxx ? K=x 1 x 2 x' 3 x 5 ? x a) Asal bileş enler tablosu. 1 0 11 1 8 192 6 C xxx Dx x Exx x Fxx 1 0 11 1 8 192 6 Gxx C x x x Hx E x x Ix Gxx b) İ ndirgenmiş asal bileş enler tablosu. c) Satır indirgemesi yapılmış asal bileş enler tablosu Temel asal bileş enler A,B,J ve K olup, bunların örttüğ ü minterimler ? ile iş aretlenmiş tir. Temel asal bileş enlere iliş kin satırlar ve örttükleri doğ ru minterim sütunlarının kaldırılmasıyla elde edilen indirgenmiş tablo Tablo 4.6 b de verilmiş tir. Bu tabloda temel asal bileş en satırı yoktur ama, bazı satırları kaldırmak olasıdır. örneğ in H satırı yalnız 1 9 da x bulundururken G satırı 11 ve 1 9 da x bulundurmaktadır. H ve G nin uzunlukları aynı olduğ una ve yalnızca bir minimal fonksiyon bulmak istendiğ ine göre H satırını kaldırabiliriz. Çünkü G asal bileş eni K nın örttüğ ü 1 9 doğ ru mintermini de örtmektedir. Genel olarak, bir V asal bileş eninin örttüğ ü, bütün doğ ru minterimler; bir U asal bileş enince de örtülüyorsa, U asal bileş enine karş ı gelen satır, V asal bileş enine karş ı gelen satırı örtüyor denir. Gereksiz olan V asal bileş enine iliş kin satır kaldırılır. Tersi doğ ru değ ildir. Örnekte G, H' yı; E, F ve I' yı; C, D' yi kapsadığ ından ve hepsi de aynı değ iş ken sayısında olduğ undan H, F, I ve D satırları kaldırılarak, Tablo 4.6 c deki, sonuç indirgenmiş asal bileş enler tablosu bulunur. Bu tabloda C ve E temel asal bileş enlerdir, ve minimal ifade de görülmek zorundadır. Bütün (1 0,11 ,1 8,1 9,26) doğ ru minterimler C ve E tarafından örtüldüğ ünden minimal fonksiyon, daha önce bulduğ umuz temel asal bileş enlerle f (x 1 x 2 x 3 x 4 x 5 ) = x' 2 x 3 +x' 1 x 3 +x' 1 x' 2 x 5 +x 1 x 2 x' 3 x 5 +x 1 x' 3 x 4 +x 2 x' 3 x 4 dür.49 İ ndirgenmiş asal bileş enler tablosunda, sütunların da indirgenmesi söz konusudur. örnekte 1 0. sütunundaki doğ ru minterimin örtülmesi için E veya F asal bileş enleri seçilmek zorundadır. 11 . sütunundaki doğ ru minterim de E ve F tarafından örtüldüğ ünden, 11 sütunu silinebilir. Bir asal bileş enler tablosunun i. sütununda x olan her yerde, j sütununda da x varsa j sütunu i sütununu örter denir. Bu i ve j sütunlarının birlikte bulunduğ u bir tablodan elde edilen minimal fonksiyon ile, yalnızca i. sütununu bulunduran indirgenmiş tablodan elde edilen minimal fonksiyon aynıdır. Çünkü i. sütundaki doğ ru minterim düş ünülürken, aynı zamanda j. sütundaki doğ ru minterim de düş ünülmüş olmaktadır. O halde j sütunu silinebilir. İ ndirgenmiş asal bileş enler tablosunda bir örten sütunlar varsa, bu sütun silinebilir. Satır veya sütun indirgemesinin sırasının değ iş mesi, bir minimal fonksiyonun bulunması açısından, sonucu etkilemez. O nedenle, satır sütun indirgemeleri (silmeleri) yaparak, basitleş en asal bileş en tablosunda, doğ ru minterimnleri örten minimum sayıda asal bileş en seçimi kolayca yapılabilir. Tablo yöntemiyle bir minimal fonksiyonun bulunması adım adım aş ağ ıdaki gibi özetlenebilir. 1. Doğ ru olan mintermlere iliş kin iki tabanındaki sayılar, bulundurdukları 1 sayısına göre gruplandırılır. Aynı sayıda 1 bulunduran iki tabanındaki sayılar aynı gruptadırlar. Bu gruplar içerlerindeki 1 sayısına göre sıralandırılırlar. 2. i. gruptaki iki tabanındaki herhangi bir sayı, (i+1 ) gruptaki herhangi bir sayıyla sıra ile karş ılaş tırılır. Bu karş ılaş tırılan sayılar birleş tirilebiliyorsa, birleş tirilir ve ? ? ? ? ile iş aretlenir. Kaybolan değ iş ken yerine - iş areti konulur. Karş ılaş tırmaya artık birleş tirmenin olası olmadığ ı duruma kadar devam edilir. 3. Sonuçta birleş tirilmemiş ? ? ? ? ile iş aretli olmayan bütün terimler asal bileş enlerdir. Bunlara göre asal bileş enler tablosu düzenlenir. 4. Sütununda yalnızca bir tane x iş areti bulunan doğ ru minterimleri örten asal bileş enler, temel asal bileş enlerdir. Bunların örttükleri bütün doğ ru minterimler ? ? ? ? ile iş aretlenir. 5. Temel asal bileş enlerin örttükleri doğ ru minterimlerin dış ında kalan doğ ru minterimleri (? ? ? ? ile iş aretlenmemiş olanlar), örten minimum sayıda asal bileş en, hemen görülüyorsa, bunlar seçilerek minimal fonksiyon(lar) bulunur. 6. Aksi halde yukarıda anlatılan önermeler cebri kullanılarak bütün minimal fonksiyonlar bulunur. 7. Yalnızca bir minimal fonksiyonun bulunması yeterli oluyorsa, satır ve sütün indirgemesi yaparak minimal fonksiyon bulmaktır. • ? ile iş aretli doğ ru minterimlerin bulunduğ u sütunlar ve temel asal bileş en satırları silinerek indirgenmiş asal bileş enler tablosu bulunur. • İ ndirgenmiş asal bileş enler tablosunda, bir satır bir baş ka satırı örtüyorsa, örtülen satır silinir.50 • İ ndirgenmiş asal bileş enler tablosunda, bir sütunun örttüğ ü bir baş ka sütun varsa, örten sütun silinerek sonuç indirgenmiş tablo bulunur. • Sonuç tabloda bulunan doğ ru minterimlerin tamamını örten, minimum sayıda ve minimum değ iş kenli asal bileş enler seçilir. 8. 7. adımda seçilen asal bileş enlerle, 4. adımda bulunan temel asal bileş enlerin toplamı minimal fonksiyonu verir. Her ne kadar bu bölümde, yalnızca 1 . tip kanonik açınımı verilen fonksiyonların, minimalleş tirilmesi esas alınmış sa da, benzer akıl yürütme, 2. tip kanonik açınımı verilen fonksiyonlar için de yapılabilir. Bu durumda doğ ru olan maxterimler düş ünülür. Birleş tirme iş lemi ise (A+a) (A+a') = A+aa' = A olarak alınır. Örneğ in Tablo 4.6 da verilen fonksiyon g = ?1 ,3,4,5,6,7,1 0,11 ,1 2,1 3,1 4,1 5,1 8,1 9,20,21 ,22,23,25,26,27 biçiminde verilseydi, örnekteki A,B,J,K temel asal bileş enler ve C,E asal bileş enlerine, sırasıyla (x 2 + x' 3 ), (x' 2 + x 3 ), (x 1 +x 2 +x' 5 ), (x' 1 +x' 2 +x 3 +x' 5 ), (x' 1 +x 3 +x' 4 ), (x' 2 +x 3 +x' 4 ) toplamlar terimleri karş ı düş ecekti. Minimal fonksiyon da bu terimlerin çarpımı yani g = (x 2 +x' 3 ). (x' 2 +x 3 ). (x 1 +x 2 +x' 5 ). (x' 1 +x' 2 +x 3 +x' 5 ). (x' 1 +x 3 +x' 4 ). (x' 2 +x 3 +x' 4 ) olacaktı. Burada dikkat edilmelidir ki toplamlar çarpımı biçiminde bulunan g fonksiyonu , daha önce çarpımlar toplamı biçiminde bulunan f fonksiyonunun tümleyenidir. Baş langıçta verilen f fonksiyonunun 2. tip kanonik açınımına iliş kin minimal fonksiyonu bulmak için f = ?0,2,8,9,1 6,1 7,24,28,29,30,31 (=? ? ? ?1 ,3,4,5,6,7,1 0,11 ,1 2,1 3,1 4,1 5,1 8,1 9,20,21 ,22,23,25,26,27) düş ünmek gerekirdi. 4.3 Karnaugh Diyagramlarıyla Fonksiyonların minimalleş tirilmesi Daha öncede belirtildiğ i gibi, az değ iş kenli fonksiyonlar için, minimal ifadelerin daha hızlı bulunması yöntemi, Karnaugh diyagramı yöntemidir. Ş imdi bu yöntemi inceleyelim. 4.3.1 Karnaugh diyagramları Dört veya beş değ iş kenliye kadar fonksiyonların minimalleş tirilmesini hızlandıran bir yöntem, Karnaugh diyagramı yöntemidir. Karnaugh diyagramı, Boole fonksiyonun doğ ruluk tablosunun, amaca yardımcı olacak biçimde, düzenlenmesidir. Üç ve dört değ iş kenli fonksiyonlar için Karnaugh diyagramları Tablo 4.7 de verilmiş tir. Tablo 4.7 Üç ve dört değ iş kenli fonksiyonlara iliş kin Karnaugh diyagramları. x 1 x 2 x 3 00 01 11 10 0 1 x 3 x 4 00 01 11 10 00 01 11 10 00 x 1 x 2 6 02 4 5 7 3 1 0 2 2 3 1 4 4 5 7 6 8 9 11 10 12 13 14 1551 Üç değ işkenli fonksiyonlara ilişkin diyagramlarda, sütunlar x 1 x 2 bağ ımsız değ iş kenlerinin ikili değ er permütasyonlarını (00, 01 , 11 , 1 0), satırlar ise x 3 bağ ımsız değ iş keninin değ erlerini (0,1 ) göstermektedir. i. satır ile j. sütunun kesiş tiğ i kareye, sütun ve satırlar permütasyonlarının oluş turduğ u tanım elemanına karş ı düş en, fonksiyonun değ eri yazılır. örneğ in 3. sütun ve 2. satırın kesiş tiğ i yere f(x 1 x 2 x 3 ) = f(1 ,1 ,1 ) için fonksiyonun aldığ ı değ er yazılır. 4 değ iş kenli diyagramın da, bir fonksiyonu temsil etmesi, benzer biçimde yapılır. Fonksiyonun, diyagrama taş ınmasında kolaylık olsun diye, karelerin içine, sütun satır permütasyonu olan, iki tabanındaki sayının, on tabanındaki karş ılığ ı geçici olarak yazılmış tır. Bu sayılar her zaman yazılmaz, karelere yalnızca fonksiyonun aldığ ı değ erler yazılır. örneğ in Tablo 4.8 de doğ ruluk tablosu ile verilen fonksiyonlar, yanlarında Karnaugh diyagramlarıyla temsil edilmiş lerdir. Tablo 4.8 a)Üç değ iş kenli f(x 1 x 2 x 3 ) = ?1 ,2,3,7 =x' 1 x' 2 x 3 +x' 1 x 2 x' 3 +x' 1 x 2 x 3 +x 1 x 2 x 3 fonksiyonun Karnaugh diyagramında gösteriliş i. x 1 x 2 x 3 00 01 11 10 0 1 00 6 02 4 5 7 3 1 24 x 1 x 2 x 3 f 0 0 0 0 0 1 0 0 1 1 2 0 1 0 1 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1 1 1 11 Tablo 4.8.b) Dört değ iş kenli f(x 1 x 2 x 3 x 4 )=?2,3,7,11 ,1 2,1 5=x' 1 x' 2 x 3 x' 4 +x' 1 x' 2 x 3 x 4 +x' 1 x 2 x 3 x 4 +x 1 x' 2 x 3 x 4 +x 1 x 2 x' 3 x' 4 +x 1 x 2 x 3 x 4 Fonksiyonunun doğ ruluk tablosu ve Karnaugh diyagramı x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 0 2 3 1 4 5 7 6 8 9 11 10 12 13 14 15 x 1 x 2 x 3 x 4 f 0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 0 6 0 1 1 0 0 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 0 14 1 1 1 0 0 15 1 1 1 1 1 1 1 11 1 1 x' 1 x' 2 x 3 x' 4 Görüldüğ ü gibi 1 . Fonksiyonun, 1 olduğ u (1 ,2,3,7) karelerine 1 , diğ erlerine 0 konmuş ; 2. fonksiyonun da, 1 olduğ u (2,3,7, 11 ,1 2,1 5) karelerine 1 , diğ er karelere de 0 konmuş tur. Yaygın kullanılan biçim, fonksiyonun 1 olduğ u karelerin doldurulması ve 0 olduğ u karelerin boş bırakılmasıdır.52 Karnaugh diyagramlarındaki kare sayısı, f : S n ›S e bir fonksiyon için, S n kümesindeki eleman sayısı (2 n ) kadardır. Örneğ in 3 değ iş kenli fonksiyonlara iliş kin Karnaugh diyagramlarında bu sayı, 2 3 = 8, 4 değ iş kenli için 2 4 =1 6 dır. Doğ ruluk tablosu verilen bir fonksiyonu, Karnaugh diyagramına aktarmak kolay olduğ u gibi; diyagramdan, fonksiyona veya doğ ruluk tablosuna geçmekte kolaydır. Ş öyle ki diyagramda fonksiyonun 1 değ erini aldığ ı, doğ ru minterimler, bulundukları kareye iliş kin permütasyonlardan (satır, sütun) yararlanılarak bulunur: Eğ er bir basamakta 1 sayamağ ı varsa; o basamağ a, ilgili değ iş kenin kendisi, aksi halde tümleyeni yazılır. Bu doğ ru minterimlerin toplamı fonksiyonu verir (Tablo 4.8). Karnaugh diyagramlarının sütun ve satırlarının kodlanmasındaki sıra önemlidir. Ortak kenarları olan karelere iliş kin mintermlerde, bütün değ iş kenler, bir değ iş ken dış ında aynıdır, birleş tirilebilirler. Böyle karelere “komş u kareler” denir. Diyagramın kenar karelerinin komş uları, diyagramı önce bir silindir biçimine dönüş türüp sonra alt ve üst tabanları birleş tirerek elde edilen tor yüzeyi düş ünülerek, daha kolayca görülebilir. Bu nedenledir ki, komş u sütunların kodlarında, yalnızca bir basamaktaki sayamaklar farklıdır, diğ erleri aynıdır. Tablo 4. 9 a, b ve c de sırasıyla m 7 , m 6 , ve m 1 0 a komş u minterimler ( kareler) gösterilmiş tir. Diyagramdaki bir kareye, komş u kareler sayısı, değ iş ken sayısı kadardır. örnekte görüldüğ ü gibi m 7 , m 6 , m 1 0 a komş u kareler sırasıyla m 3 , m 5 , m 6 , m 1 5 ; m 2 , m 4 , m 7 , m 1 4 ; m 2 , m 8 , m 11 , m 1 4 dür. Tablo 4.9.Dört değ iş kenli fonksiyona iliş kin Karnaugh diyagramındaki komş u karelere örnekler. x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 m 3 x 1 x 2 x 1 x 2 x 1 x 2 m 7 m 15 m 5 m 6 m 7 m 6 m 2 m 14 m 4 m 10 m 11 m 8 m 14 m 2 4.3.2 Karnaugh diyagramlarında küpler ve bunlara karş ı düş en çarpımlar(toplamlar) terimleri Komş u iki karede, fonksiyon 1 değ erini alıyorsa, bu doğ ru minterimler birleş tirilerek kısaltılırlar. örneğ in m 6 ve m 7 de fonksiyon 1 değ erini alıyorsa, iki doğ ru minterim yerine x' 1 x 2 x 3 x' 4 + x' 1 x 2 x 3 x 4 = x' 1 x 2 x 3 bir çarpımlar terimi yazılabilir. Tanım 4.6. m-mertebeden alt küp: Her biri m tane kareye komş u, 1 ( 0) değ erini alan karelerden oluş muş , 2 m kareye m. mertebeden alt küp denir Örneğ in Tablo 4.1 0 a da 1 'lerden oluş muş her bir kare, iki ayrı kareyle komş udur ve 4 (2 m = 2 2 = 4) tanedir. O nedenle bu dört 1 , 2. mertebeden alt küp oluş turur.53 Her m. mertebeden alt küp, n bağ ımsız değ iş ken sayısı olmak üzere, (n-m) değ iş kenli bir çarpımlar terimiyle ifade edilebilir. Çünkü alt küpte bulunan 2 m terimde, ortak (n-m) değ iş ken parçası ile m değ iş kenin bütün permütasyonları görülür. Tablo 4.1 0 a da Karnaugh diyagramı ile verilen fonksiyon için, x 1 ve x 4 değ iş kenleri bütün karelere iliş kin terimlerde ortaktır. x 2 ve x 3 ün bütün permütasyonları da söz konusu terimlerde görülür. Yani x' 1 x' 2 x' 3 x 4 + x' 1 x' 2 x 3 x 4 + x' 1 x 2 x' 3 x 4 + x' 1 x 2 x 3 x 4 = x' 1 x 4 (x' 2 x' 3 + x' 2 x 3 + x 2 x' 3 + x 2 x 3 ) = = x' 1 x 4 dür. Parantez içindeki ifade, sanki bütün minterimleri doğ ru olan, bir 2 değ iş kenli fonksiyon -1 .tip kanonik açınımında bütün terimleri 1 olan- gibi düş ünülebilir. Bu 2 değ iş kenli fonksiyon, 1 e eş it, bir sabittir. Bir alt küpe karş ı düş en çarpılar terimlerinin bulunması: Alt küpe iliş kin doğ ru minterimler için i. x i değ iş keninin aldığ ı değ erler, hem 0 hem de 1 olabiliyorsa, x i değ iş keni çarpımlar teriminde görülmez. ii. x i değ iş keninin aldığ ı değ erler değ iş meyip, hep 1 kalıyorsa, bu değ iş ken x i olarak çarpımlar teriminde görülür. iii. x i değ iş keninin aldığ ı değ erler değ iş meyip, hep 0 kalıyorsa, bu değ iş ken x’ i olarak çarpımlar teriminde görülür. Örneğ in Tablo 4.1 0. daki 1 . Karnaugh diyagramındaki alt küpteki doğ ru minterimler için x 1 değ iş keni, hep 0 değ erini almaktadır ve x’ 1 , çarpımlar terimi x’ 1 x 4 te görülür. x 2 ve x 3 değ iş kenleri, bu alt küpteki doğ ru minterimler için, hem 0 hem de 1 değ erini aldıkları için, kaybolurlar, yani çarpımlar teriminde görülmezler. x 4 değ iş keni ise, söz konusu alt küpteki doğ ru minterimler için, yalnızca 1 değ erini almaktadır ve çarpımlar teriminde, x 4 olarak görülür. Tablo 4.1 0 a, b, c de 2, 1 ve 3 mertebeden küpler ve ilgili çarpımlar terimleri gösterilmiş tir. Tablo 4.1 0. Çeş itli mertebeden alt küpler ve onlara karş ı gelen çarpımlar terimlerine örnekler. x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 x 1 x 2 x 1 x 2 1 1 1 1 x' 1 x 4 11 1 1 x' 2 x 3 x 4 x' 1 x 2 x' 3 1 1 1 1 1 1 1 11 1 1 1 x 1 x' 2 4.3.3 Karnaugh diyagramlarıyla minimal fonksiyon(ların) bulunması Karnaugh diyagramıyla verilen bir fonksiyona eş değ er, minimal fonksiyon, seçilmiş çeş itli alt küplerden yararlanılarak bulunabilir. Örneğ in Tablo 4.11 de karnaugh diyagramıyla verilen f = x' 1 x' 2 x 3 + x' 1 x' 2 x' 3 + x 1 x' 2 x' 3 fonksiyonu, iki 1 . mertebeden alt küp54 için f = x' 1 x' 2 + x' 2 x' 3 minimal fonksiyonuna dönüş ür. Çünkü a+ a = a özelliğ inden yararlanılarak f = x' 1 x' 2 x 3 + x' 1 x' 2 x' 3 + x 1 x' 2 x' 3 = x' 1 x' 2 x 3 + x' 1 x' 2 x' 3 + x' 1 x' 2 x' 3 + x 1 x' 2 x' 3 = x' 1 x' 2 (x 3 + x' 3 )+ x' 2 x' 3 (x 1 + x' 1 ) = x' 1 x' 2 + x' 2 x' 3 olur. Tablo.4.11 . Örnek fonksiyon. x 1 x 2 x 3 01 11 10 0 1 00 1 11 x' 2 x' 3 x' 2 x' 3 x' 1 x' 2 Aynı bir doğ ru minterimin birden fazla alt küpte görülmesi, a+a=a teoremi dolayısıyla, olasıdır ve yararlı olabilir. Görüldüğ ü gibi eş değ er bir fonksiyon , 1 lerden oluş an alt küplere karş ı düş en çarpımlar terimleri toplamı biçiminde yazılabilir. Çarpımlar terimleri sayısı, seçilen alt küpler sayısı kadardır. Her bir çarpımlar terimindeki değ iş ken sayısı da, ilgili alt küpün mertebesiyle belirlenir. O halde minimal fonksiyon, minimum sayıda, olası en büyük mertebeden, bütün 1 li kareleri örten alt küpler seçilerek bulunur. Daha büyük bir alt küp tarafından kapsanan, bir alt küp, hiç bir zaman, minimal fonksiyon için seçilmemelidir. Karnaugh diyagramlarından yararlanılarak minimal fonksiyonun bulunması i ş lemi adım adım ş öyle özetlenebilir. 1 . Hiç bir alt küpe veya 0. Mertebeden altküpe giren, kendisi) girmeyen doğ ru minterimler temel asal bileş enlerdir ve minimal ifadeye alınırlar. 2. Bir doğ ru minterimin, birinci mertebeden yalnızca bir alt küpe girdiğ ini varsayalım. Ayrıca bu doğ ru minterim, daha büyük mertebeden bir baş ka alt küp tarafından örtülmesin. Böyle doğ ru minterimlere iliş kin, 1 . Mertebe alt küpe karş ı düş en, birleş tirilmiş çarpımlar terimleri, bir temel asal bileş endir ve minimal fonksiyona alınırlar. 3. Bir doğ ru minterimin, ikinci mertebeden yalnızca bir alt küpe girdiğ ini varsayalım. Ayrıca bu doğ ru minterim, daha büyük mertebeden bir baş ka alt küp tarafından örtülmesin. Böyle doğ ru minterimlere iliş kin, 2. Mertebe alt küpe karş ı düş en, birleş tirilmiş çarpımlar terimleri, bir temel asal bileş endir ve minimal fonksiyona alınırlar. 4. Üçüncü ve dördüncü mertebeden alt küplere iliş kin temel asal bileş enler varsa ,minimal fonksiyona, 2 ve 3. adımlarda olduğ u gibi, alınırlar. 5. Temel asal bileş enlere karş ı düş en alt küplerin alınmasından sonra, henüz örtülmemiş doğ ru minterimleri örten , minimum sayıda, maksimum mertebeli asal bileş enler ilave edilerek minimal fonksiyon bulunur. Fonksiyonun bütün doğ ru minterimlerinin, ilave asal bileş enlerle, örtülmüş olması gerekir; aksi taktirde bulunan minimal fonksiyon, verilen fonksiyona eş değ er olmaz.55 Yöntemin daha iyi anlaş ılabilmesi için aş ağ ıda iki örnek verilmiş tir. Tablo 4.1 2 de Karnaugh diyagramıyla verilen fonksiyon, ilk diyagramda seçilen alt küpler için Tablo.4.1 2. Aynı bir fonksiyona iliş kin farklı indirgemeler. x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 x 1 x 2 1 1 1 x 2 x 4 x 1 x' 2 x' 3 x' 1 x' 3 x' 4 1 1 1 1 1 x' 2 x' 3 x' 4 x' 1 x 2 x' 3 x 1 x' 3 x 4 1 1 1 1 1 1 1 1 1 x 2 x 4 f = x' 2 x' 3 x' 4 +x' 1 x 2 x' 3 +x 1 x' 3 x 4 +x 2 x 4 f = x' 1 x' 3 x' 4 +x 1 x' 2 x' 3 +x 2 x 4 aş ağ ıdaki biçimde f = x' 2 x' 3 x' 4 +x' 1 x 2 x' 3 +x 1 x' 3 x 4 +x 2 x 4 yazılabilir. Aynı fonksiyon 2. tabloda gösterilen alt küpler için minimal olarak f = x' 1 x' 3 x' 4 +x 1 x' 2 x' 3 +x 2 x 4 biçiminde elde edilir. Adım adım tutulacak yolla da bu sonuca varılabilir. Örneğ in f(0111 ) = 1 ve f(1111 ) = 1 doğ ru minterimleri yalnızca (x 2 x 4 ) ikinci mertebeden alt küpü tarafından örtülmektedir ve baş ka daha yüksek mertebeden bir alt küp tarafından örtülmemektedir. O nedenle (x 2 x 4 ) temel asal bileş endir ve minimal fonksiyonda görülmelidir. Bu temel asal bileş ene ilave etmemiz gereken, minimum sayıdaki, en yüksek mertebeden alt küplere karş ı düş en asal bileş enler x' 1 x' 3 x' 4 , x 1 x' 2 x' 3 dür. Tablo.4.1 3. Örnek fonksiyon. x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 1 1 1 1 1 1 1 x 2 x 3 x' 4 x' 1 x 2 x' 1 x 3 x 4 1 x 2 x' 3 x 4 x' 1 x' 3 x' 4 Tablo 4.1 3 deki örnekte de hemen büyük mertebeli alt küplerin seçilmemesi gerektiğ i gösterilmektedir. Adım adım gidildiğ inde çizikli olarak gösterilen alt küpten gelen x 1 x 2 teriminin gereksiz oluğ u anlaş ılır. Yalnızca temel asal bileş enlerden minimal fonksiyon f = x' 1 x' 3 x' 4 +x 2 x' 3 x 4 +x' 1 x 3 x 4 + x' 1 x 3 x 4 olarak bulunur. Bir fonksiyonun, çarpımlar toplamı için verilen bu yöntem, benzer biçimde, toplamlar çarpımına da uygulanabilir. Bu halde fonksiyonun 0 değ erini aldığ ı doğ ru maxterimler56 için alt küpler düş ünülür. Tablo 4.1 4 de verilen fonksiyon, gösterilen alt küpler için toplamlar çarpımı biçiminde minimal olarak f = (x' 1 +x 2 '+x 4 ) (x 1 +x 2 +x' 4 ) (x 2 +x' 3 ) (x' 3 +x 4 ) elde edilir. İ kinci tip kanonik açınıma iliş kin minimal fonksiyon bulunurken, (0) lardan oluş an bir alt küpe karş ı gelen toplamlar çarpımı, birinci tip kanonik açınım dakine benzerdir. Alt küpe iliş kin kareler için değ iş ken (0) olarak sabit kalıyorsa, toplamlar teriminde bu değ iş kenin kendisi, (1 ) olarak sabit kalıyorsa, toplamlar teriminde bu değ iş kenin tümleyeni görünür. Birici kanonik açınım için durum tersi idi. Tablo.4.1 4. 2. tip açınıma iliş kin minimal fonksiyona örnek. x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 0 x' 1 +x' 2 +x 4 0 0 0 0 0 0 0 x 1 +x 2 +x' 4 x 2 +x' 3 +x' 4 x' 3 +x 4 1 . ve 2. Tip kanonik açınımlara iliş kin minimal fonksiyonlarının hangisinin tercih edileceğ i genelleş tirilemez. 4.3.4 Kısmen belirlenmiş fonksiyonlar ve karnaugh diyagramlarıyla minimalleş tirilmeleri Tanım 4.7. Kısmen belirlenmiş fonksiyonlar (Don't care functions): S n › S e bir fonksiyon, tanım kümesi S n deki bazı elemanlar için, S kümesindeki herhangi bir elemanı alabiliyorsa, bu fonksiyona kısmen belirienmiş tir denir. Bir baş ka deyiş le fonksiyon bazı tanım elemanı için keyfi (0 da 1 de olabiliyorsa) ise, bu fonksiyona kısmen belirlenmiş tir denir. İ kinci bölümde tanımlanan tamamen belirlenmiş bağ ıntı ile bu tanım karış tırılmamalıdır. Kısmen belirlenmiş fonksiyon dememize rağ men fonksiyon tamamen belirlenmiş bir bağ ıntıdır ancak bazı domen elemanları için fonksiyonun aldığ ı değ er 0 da 1 de olabilir( keyfi); bir baş ka deyiş le keyfi sayısı k ise kısmen belirlenmiş fonksiyondan, olası 2 k fonksiyonlardan herhangi biri kastedilmektedir. Kısmen belirlenmiş fonksiyonlar, belirlenmiş doğ ru mintermlerle, keyfi minterimler ayrı iki grupta belirtilerek gösterilir. örneğ in f 1 = ? 1 , 3, 5 + ? k 7, 8, 1 2, 1 4 ve f 2 = ? 3, 7, 9 . ? k 5, 1 3, 1 4, 1 5 ile verilen fonksiyonlara iliş kin Karnaugh diyagramları Tablo.4.1 5 de verildiğ i gibidir.57 Tablo.4.1 5. Kısmen belirlenmiş fonksiyonlara örnek. x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 x 1 x 2 1 0 1 k k k k k k k k 0 0 k f 1 = 1 ,3,5 ?+ 7,8 ,1 2,1 4 k ? f 2 = 3, 7,9 ? 5,1 3,1 4,1 5 k ? k keyfi değ er sayısı olmak üzere, kısmen belirlenmiş bir fonksiyon gerçekte 2 k fonksiyonu temsil eder. Örneğ in Tablo .1 5 te 2 5 = 32 tane fonksiyon temsil edilmektedir. Minimal ifadenin bulunmasında keyfi değ erler belirlenerek 2 k lık gruptan minimal olan seçilmiş olur. örnek: 1 0 tabanında (0-9) a kadar rakamlara iliş kin ikili kodu (BCD), +3 koduna dönüş türen 4 giriş li, 4 çıkış lı bir kombinezonsal devreyi temsil eden fonksiyonlara iliş kin doğ ruluk tablosu Tablo 4.1 6 da verilmiş tir. Tablo.4.1 6. Kısmen belirlenmiş fonksiyonlara iliş kin örnek. x 1 x 2 x 3 x 4 f 1 f 2 f 3 f 4 0 00000011 3 1 0001 0 1 00 4 2 001 001 0 1 5 3 0011 0 11 06 4 0 1 000111 7 5 0 1 0 11 0008 6 0 11 0 1 001 9 7 0 1111 0 1 0 1 0 8 1 0001 0 111 1 9 1 00111 001 2 1 0 1 0 1 0kkkkk 11 1 0 11 kkkkk 1 2 11 00kkkkk 1 3 11 0 1 kkkkk 1 4 111 0kkkkk 1 5 1111 kkkkk Çıkış fonksiyonları sırasıyla f 1 = 5,6, 7, 8, 9 ?+ 10,11,12,13,14,15 k ? f 2 = 1,2,3,4, 9 ?+ 10,11,12,13,14,15 k ? f 3 = 0,3, 4,7,8 ?+ 10,11,12,13,14,15 k ? f 4 = 0,2,4, 6,8 ?+ 10,11,12,13,14,15 k ? Karnaugh diyagramında uygun alt küplerin seçimi sonucu varılan minimal fonksiyonlar Tablo 4.1 7 de verilmiş tir.58 Tablo.4.1 7.Kısmen belirlenmiş fonksiyonların Karnaugh diyagramında minimalleş tirilmesi. x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 x 1 x 2 1 1 x 2 x 4 x' 2 x 4 x 2 x' 3 x' 4 k=1 1 1 x 2 x 3 x 1 1 1 1 1 1 x' 2 x 3 1 k=1 k=1 k=1 k=1 k=1 k=1 k=1 k=1 k k k f 1 =x 1 +x 2 x 4 +x 2 x 3 f 2 =x 2 x' 3 x' 4 +x' 2 x 4 +x' 2 x 3 x 3 x 4 00 01 11 10 00 01 11 10 x 3 x 4 00 01 11 10 00 01 11 10 x 1 x 2 x 1 x 2 1 1 x 3 x 4 x' 4 k=1 1 1 1 1 1 1 1 1 k k=1 kk k=1 k=1 k k k x' 3 x' 4 1 k=1 f 3 =x' 3 x' 4 +x 3 x 4 f 4 =x' 4 Alt küplerin seçimi maksimum mertebeli minimum sayıda küp oluş turabilmek için keyfi olan değ erler saptanarak yapılmış tır. Artık bu minimal fonksiyonlar tamamen belirlenmiş fonksiyonlardır. 4.4 Kombinezonsal devre sentezi Bu bölümün baş langıcında, bir Boole fonksiyonuna eş değ er minimal fonksiyonun -ki gerçeklendiğ inde minimal sayıda kapı elemanı içerir- bulunmasına iliş kin yöntemler üzerinde duruldu. Oysa sentez iş lemi indirgeme iş leminin dış ında baş ka adımları da içerir. Bir kombinezonsal devrenin sentezine iliş kin adımları ş öyle sıralayabiliriz. • Problemin sözle tanımı, giriş çıkış iliş kisinden yararlanarak giriş değ iş kenlerinin ve çıkış değ iş ken(leri)nin [fonksiyon(ları)nun] sayısının saptanması, • Her bir çıkış değ iş keninin (fonksiyonunun), bağ ımsız giriş değ iş kenlerince belirlenen, doğ ruluk tablosunun bulunması, • Doğ ruluk tablosuyla belirlenen fonksiyon(lar)un indirgenmesi ve minimal fonksiyon (lar)un bulunması, • Minimal fonksiyon(lara) a karş ı düş en devrenin çizilmesi. Sentezi istenen devreden beklenen, baş langıçta da değ inildiğ i gibi, yalnızca kapı sayısının minimum olması değ ildir. Bu nedenle, önce minimal eş değ er fonksiyona karş ı düş en minimum elemanlı devreler gerçekleş tirilip, sonra diğ er gereksinimleri de59 olabildiğ ince karş ılayabilecek biçimde, ilaveler yapılması gerekir. Ş imdi iki örneğ i, paralel toplayıcı ve kod dönüş türücülerinin minimal elemanlı sentezini inceleyelim. Göreceğ iz ki seçeceğ imiz devreler, yukarıda açıkladığ ımız minimal fonksiyona karş ı düş en devreye daha iyi birer alternatif olacaklardır. 4.4.1 Paralel toplayıcının sentezi İki tabanında iki sayının toplamı seri veya paralel gerçekleş tirilebilir. Paralel toplayıcıda bütün bitler aynı anda uygulanır ve çıkış a iliş kin bütün bitler aynı anda görülür(devrenin gecikme süresi kadar sonra). Seri toplayıcıda ise, iki tabanındaki sayıların önce en az ağ ırlıklı bitleri devrenin giriş ine gelir ve bunların toplamı olan bit çıkış ta görülürken, bir sonraki ağ ırlıklı bitlere eklenecek olan elde de bir baş ka çıkış olanak görülür. Bu nedenle seri toplama yapabilmek için, her bir bite iliş kin elde' nin bir yerde tutularak, bir sonraki bitlerin toplamına eklenmesi gerekir. Bu tutma iş i bellek elemanı ile yapılır. O nedenle seri toplayıcılar ardış ıl devre olarak gerçekleş tirilebilir. Paralel toplamada, bitlerin toplanmasını, ayrı birer hücre olarak düş ünebiliriz. En az ağ ırlıklı bitlerin toplanmasında, iki giriş iki çıkış vardır. Giriş ler, toplanacak sayıların en az ağ ırlıklı bitleri; çıkış lar ise, bu bitlere iliş kin toplam ve bir sonraki bitlerin toplamında kullanılacak eldedir. Ara bitlerin toplamını ise, hücresel olarak üç giriş li ve iki çıkış lı düş ünebiliriz. Giriş ler, ilgilenilen ağ ırlıklı bitler ve bir evvelki bitten gelen eldedir. Çıkış lar ise, ilgilenilen bitlerin toplamı ve bir sonraki bitlerin toplamında kullanılacak eldedir. Birinci olarak düş ündüğ ümüz hücre yarı toplayıcı (half adder) ikinci düş ündüğ ümüz hücre ise tam toplayıcı (full adder) olarak adlandırılır. Göreceğ iz ki tam toplayıcıları yarı toplayıcılardan elde edebilir. Yarı toplayıcı Yukarıda tanımlandığ ı gibi iki giriş ve iki çıkış lı olan yarı toplayıcının doğ ruluk tablosu aş ağ ıdaki Tablo 4.1 8 deki gibidir. Tablo 4.1 8 Yarı toplayıcının doğ ruluk tablosu xySC 0000 0 11 0 1 0 1 0 11 0 1 Bu tabloya göre çıkış fonksiyonları S = x' y + xy' C = xy dir. Bu fonksiyonların gerçekleş tiren beş alternatif devre Ş ekil 4.2 de verilmiş tir. Görüldüğ ü gibi en basit bir devrenin gerçekleş tirilmesinde, tasarımcı için çeş itli alternatifler ortaya çıkabilmektedir.60 x x x' y y y' S C x x x' y y S C x x x' y y' S C x x x' y y S C a. S ve C için birinci tip açınım S=xy’+x’y b. S için ikinci tip açınım S=(x+y)(x’+y’) C=xy C için birinci tip açınım C=xy y y' S x x' yC x x' y' x x' y S C c. S ve C ortaklığ ı S=(C+x’y’)’ d. S ve C ortaklığ ı S=(x+y)(x’+y’) C=xy C=(x’+y’)’ x y S C e. S=x?y, C=xy Ş ekil 4.2 Yarı toplayıcı için birbirinin alternatifi olabilecek dört devre Ş ekil 4.2 a da fonksiyonların 1 . tip açınımları, b de S nin ikinci C nin birinci tip açınımı düş ünülerek gerçekleme yapılmış tır. (c) de S ve C nin ortaklığ ı, S' = (x'y+xy')' = x'y'+xy bağ ıntısından yararlanılmış tır. (d) de yine S ve C nin ortak kısımları değ erlendirilmiş tir. (e) de ise en basit yapı görülmektedir. Fonksiyonları farklı biçimlerde ifade ederek daha fazla alternatif gerçekleş tirmeler yapmak mümkündür. Hangileri olabileceğ ini düş ününüz. Görüldüğ ü gibi bu gerçekleş mede yukarıda iş lediğ imiz minimal fonksiyona karş ı gelen devre seçilmemiş tir. Tam toplayıcı Üç giriş li iki çıkış lı tam toplayıcının ne olduğ unu daha önce tanımlamış tık, buna göre bir sonraki basamağ a için elde ve toplam çıkış fonksiyonlarına iliş kin doğ ruluk tablosu aş ağ ıda Tablo 4.1 9 da verilmiş tir. x ve y toplanacak bitler z te bu bitlere iliş kin elde yi göstermektedir. S toplanacak bitlerin toplamı, C ise bir sonraki bitlerin toplamında kullanılacak eldeyi gösterir.61 Tablo 4.1 9. Tam toplayıcının çıkış fonksiyonlarına iliş kin doğ ruluk tablosu xyzSC 00000 0011 0 0 1 0 1 0 0 11 0 1 1 001 0 1 0 1 0 1 11001 11111 S ve C fonksiyonlarına iliş kin Karnaugh diyagramları ve indirgenmiş fonksiyonlar Tablo 4.20 de verilmiş tir. Tablo 4.20 Tam toplayıcıya iliş kin indirgenmiş çıkış fonksiyonları xy z 01 11 10 0 1 00 1 1 1 xy z 01 11 10 0 1 00 1 1 1 xz xy yz 1 1 S=x’y’z+x’yz’+xy’z’+xyz C=xy+xz+yz Bulduğ umuz fonksiyonlar iki seviyeli olarak gerçekleş tirilebilir. S için üç giriş li dört VE kapısına ve dört giriş li bir VEYA kapısı gerekir. C için ise, iki giriş li üç VE kapısı ile üç giriş li bir VEYA kapısına gereksinimi vardır. Oysa aynı fonksiyonları a ş ağ ıdaki bağ ıntılardan yararlanarak iki yarı toplayıcı ve iki giriş li bir VEYA kapısıyla Ş ekil 4.3 teki gibi elde etmek mümkündür. S= z'(xy'+x'y)+z(xy'+x'y)'= z'(xy'+x'y)+z(x'y'+xy)= xy'z'+x'yz'+xyz+x'y'z=(x? y)? z C= zxy'+zx'y+xy = z(xy'+x'y)+xy= (x? y)z+xy x y S C z yarı toplayıcı yarı toplayıcı x y z S C Ş ekil 4.3 İ ki yarı toplayıcı ve bir VEYA kapısı ile gerçekleş tirilen tam toplayıcı 4.4.2 Kod dönüş türücü sentezi Kısmen belirlenmiş Boole fonksiyonların indirgenmesine iliş kin verdiğ imiz örnek ikili kodlanmış ondalıklı sayıları +3 koduna dönüş türüyordu. Doğ ruluk tablosu ve indirgenmiş çıkış fonksiyonları aş ağ ıdaki gibi bulunmuş tu.62 f 1 = x 1 + x 2 x 4 + x 2 x 3 f 2 = x 2 x' 3 x' 4 + x' 2 x 4 + x' 2 x 3 f 3 = x' 3 x' 4 + x 3 x 4 f 4 = x' 4 Bu fonksiyonların gerçekleş tirilmesi, ortak olabilecek kapı elemanları da düş ünülerek, Ş ekil 4.4 te verilmiş tir. x 1 x 2 x 4 x 3 f 1 f 2 f 3 f 4 Ş ekil 4.4 BCD kodunu +3 koduna dönüş türen devre63 B BÖ ÖL LÜ ÜM M 5 5 K KO OM MB Bİİ N NE EZ ZO ON NS SA AL L M MS SI I V VE E L LS SI I E EL LE EM MA AN NL LA AR RI I Bundan önceki bölümde, bir Boole fonksiyonun minimum sayıda kapı elemanıyla, iki seviyeli gerçekleş tirilmesine iliş kin yöntem üzerinde durmuş tuk. Kullanılan kapı elemanları, piyasada, SSI (Single Scale Integrated circuits) yongalar (chip) olarak satılmaktadır. VE, VEYA gibi kapı elemanlarından bir yongada 4 tane TÜMLEYEN kapısından ise 8 tane bulunmaktadır. Bunların dış ında piyasada MSI (Medium Scale Integrated circuits) ve LSI (Large Scale Integrated circuits) olarak sırasıyla 1 0-1 00 ve 1 00-1 000 kapı elemanı içeren yongalarda vardır. MSI ve LSI elemanları sayısal sistemlerin tasarımında kullanılırlar. MSI elemanlarından beklenen, minimum sayıda kapı elemanı içirmesinden ziyade dış bağ lantıların minimum olmasıdır, Çünkü yongaların maliyetine tesir eden en önemli öğ elerden biri bacak (uç) sayısıdır. Giriş değ iş kenleri fazla olan Boole fonksiyonların tasarımının daha önce anlatılan klasik yöntemlerle yapılması pratik olmamaktadır, Çünkü 8 değ iş kenli bir Boole fonksiyonunun doğ ruluk tablosu 2 8 = 256 satır gerektirir. O nedenle bu gibi fonksiyonların gerçekleş tirilmesi bir algoritmaya dayandırılır ve tasarımcının yaratıcılığ ına bağ lı olarak alternatif devreler oluş turulabilir. Yegane olabilecek bir yöntemden bahsedilemez. MSI devre tasarımı genellikle algoritmalara dayandırılarak yapılır. 5.1 G İ RİŞ Bu bölümde, pratikte kullanılan MSI ve LSI elemanların lojik devrelerinin, tasarımına iliş kin algoritmalar incelenecek ve bu devrelerin istenileni yapıp yapmadığ ı, analiz edilerek, gösterilecektir. MSI elemanı olarak paralel giriş li toplama devreleri, karş ılaş tırma devreleri, kod çözücü (decoder) devreler, Çoğ ullayıcı (multiplexer) devreler, demultiplexer devreleri ele alınacaktır. LSI elemanları olarak ta ROM (Read Only Memory) devreleri ve PLA (Programmable Lojik Array) devreleri incelenecektir. 5.2 Paralel toplayıcı Bundan önceki bölümde, bir bitlik tam toplayıcı devresinin, SSI elemanları kullanarak nasıl gerçekleş tirildiğ ini görmüş tük. Bu devreyi bir hücre olarak kullanarak tasarlanan, 4 bitlik bir MSI tam toplayıcı devresi Ş ekil 5.1 de verilmiş tir. Pratikte kullanılan 74283 dört bitlik bir MSI tam toplayıcıdır. Toplanacak sayıların aynı ağ ırlıklı bitleri birer hücre giriş i olarak alınmış tır. Çıkış lar her bir hücre giriş lerinin toplamı ve bir sonraki hücrenin giriş i olacak eldeler dir. Birinci hücrenin elde giriş i 0 dır. Bir MSI elamanı içine sığ dırılabilen dört tam toplayıcı ile 4 bitlik sayıların toplamı yapılabilmektedir. Daha fazla biti olan sayıların toplamı için burada verilen MSI elemanlarının kaskad bağ lanması gereklidir. C 5 B 4 S 4 A 4 C 4 B 3 S 3 A 3 C 2 B 1 S 1 A 1 C 3 B 2 S 2 A 2 c 1 Ş ekil 5.1 Dört bitlik MSI toplayıcı lojik devresi64 Daha önce incelediğ imiz BCD den +3 koda dönüş türücüyü, burada anlattığ ımız MSI toplayıcı ile, hiçbir ilave kapı elemanı kullanmadan, kolayca gerçekleyebiliriz. Böyle bir gerçeklemeyle kazancımız, bağ lantıları yapma iş leminin olmayış ı, yani iş çilik ve bacak sayısının az olması yani maliyettir. Sözünü ettiğ imiz kod dönüş türücünün MSI toplayıcı ile gerçekleniş i Ş ekil 5.2 de verilmiş tir. A 4 A 3 A 2 A 1 B 4 0 B 3 0 B 2 1 B 1 1 S 4 S 3 S 2 S 1 BCD giriş +3 çıkış C 1 0 Ş ekil 5.2 BCD den +3 e dönüş türücünün MSI toplama devresi ile gerçekleş tiriliş i Eldenin yayılması Yukarıda incelediğ imiz paralel toplayıcının, belli bir giriş e iliş kin çıkış ını görebilmek için, c 5 elde sinin ne olduğ unu bilmek gerek. Buda C 5 in elde edilmesine kadar geçen süre olan, yayılma zamanına denktir. Ş imdi bu zamanın ne olduğ unu saptamaya çalış alım. C 5 çıkış ının görülebilmesi için C 4 ün dolayısıyla C 3 ,C 2 nin belirlenmesi gerektiğ ini Ş ekil 5.1 deki MSI toplayıcıdan görebiliriz. Ş ekil 5.3 te, daha önce incelediğ imiz, tam toplayıcı devresinin lojik devresi görülmektedir. C i+1 elde edilmesi için gerekli süre VE ve VEYA kapılardakini gecikme ile, P i ve G i çıkış larını veren yarı toplayıcıdaki gecikmenin toplamı kadardır. Kaskad bağ lı dört tam toplayıcılı MSI elemanındaki gecikme ise bir yarı toplayıcı gecikmesi ile, 8 kapı elemanındaki gecikme toplamı kadardır. Nedeni Yarı toplayıcıların paralel, eldelerin ise seri bağ lı kaskad bir yapı göstermesidir. Sözünü ettiğ imiz gecikme süresi, bit sayısı daha fazla olan sayıların toplamında, her bir bit için iki kapı elemanı gecikmesi kadar artacaktır. Bu nedenle gecikme süresini azaltmak için " hızlı elde (look ahead carry)" denen ilave devre kullanılır. Ş imdi bu devreyi inceleyelim. A i B i C i C i+1 S i P i G i yarı toplayıcı Ş ekil 5.3 Tam toplayıcı devresi Ş ekil 5.3 teki yarı toplayıcının çıkış larını P (carry propagation) elde yayılması, G yi ise elde üreticisi (carry generate) olarak isimlendirelim. P ve G çıkış ları, MSI toplayıcıya, giriş ler uygulanır uygulanmaz, yarı toplayıcı gecikme süresi sonunda hemen oluş ur. Bundan sonraki amacımız, bütün elde çıkış larının, yarı toplayıcı yayılma süresine ilave olarak, yalnızca iki kapı elemanı gecikme süresi sonunda, oluş masını sağ lamaktır. Buda ş ekil 5.2 de verilen, MSI devredeki 8 kapılık gecikmenin, 2 kapılık gecikmeye inmesi, yani 1 /4 üne inmesi demektir.65 P 3 G 3 P 2 G 2 P 1 G 1 C 1 C 2 C 3 C 4 P 4 G 4 C 5 Ş ekil 5.4 İ leri bakmalı elde devresi P i = A i ? B i G i = A i . B i biçiminde genel olarak yazılabilir. Diğ er yandan çıkış l a r , b u t a n ımlanan P i , G I değ iş kenleri ve elde cinsinden genel olarak S i = P i ? C i C i+1 = G i + P i C i biçiminde yazılabilir. Bir önceki C i ler cinsinden eldeler C 2 = G 1 + P 1 C 1 C 3 = G 2 + P 2 C 2 = G 2 + P 2 ( G 1 + P 1 C 1 ) = G 2 + P 2 G 1 + P 2 P 1 C 1 C 4 = G 3 + P 3 C 3 = G 3 + P 3 G 2 + P 3 P 2 G 1 + P 3 P 2 P 1 C 1 C 5 = G 4 + P 4 C 4 = G 4 + P 4 G 3 + P 4 P 3 G 2 + P 4 P 3 P 2 G 1 +P 4 P 3 P 2 P 1 C 1 dir. Çarpımlar toplamı biçiminde olan bu ifadeler, iki seviyeli gerçekleş tirilerek, iki kapı elemanı gecikmesi ile, sonucu verirler. Buda bizim varmak istediğ imiz sonuç idi. Devre Ş ekil 5.4 te verilmiş tir.66 Ş imdi ileri bakmalı paralel toplayıcı(Look ahead carry) MSI in lojik devresini Ş ekil 5.4 teki devre ile birlikte oluş turabiliriz Bu yapı, uygulamadaki 741 82 tümleş ik devresinin temelidir ve Ş ekil 5.5 te verilmiş tir. A 1 B 1 G 1 P 1 A 2 B 2 G 2 P 2 A 3 B 3 G 3 P 3 A 4 B 4 G 4 P 4 C 1 S 1 S 2 S 3 S 4 C 5 P 1 P 2 P 3 P 4 C 2 C 3 C 4 İ leri Bakma Devresi Ş ekil 5.5 İ leri bakmalı bir paralel toplayıcı lojik devresi İ kili kodlanmış onlu toplayıcılar (Binary coded decimal adder) Toplama iş lemi, her zaman iki tabanında yapılıp, sonra on tabanına dönüş biçiminde olmaz. Alternatif olarak, on tabanındaki bir sayının, her bir sayamağ ı (dijiti) iki tabanında ( ikili kodlanmış onlu, binary coded decimal) toplanıp, elde si de bulunarak yapılır. Bu durumda iki sayamağ ın (dijitin) toplamı 1 0 dan fazla ise sonuçtan 1 0 çıkarıp elde oluş turmak gerekir. Bu yöntemin seçilmesinin nedeni BCD ve iki tabanındaki sayıların birbirine dönüş türülmesinin, on ve iki tabanlarının dönüş türülmesine göre çok daha kolay olmasıdır. Örneğ in 999 sayısı iki tabanındaki karş ılığ ı, birinci bölümde anlatıldığ ı gibi, ard arda 2 ye bölme iş lemi yapıp kalanların yazılması sonucunda, 11111 001 00 biçiminde bulunur. Oysa 999 BCD karş ılığ ı 9 un iki tabanındaki karş ılığ ı olan 1 001 in yan yana üç defa yazılmış ı 1 001 1 001 1 001 d ır. Görüldüğ ü gibi BCD için dönüş üm iş leminin kolaylaş masına karş ılık bit sayısı iki fazladır. BCD sonuçların on tabanında gösterilmesi, her bir dijit için yedi bölümlü gösterici (seven segment display) kullanılarak yapılır. BCD iki sayının toplamı en fazla 9+9+1 =1 9 sonucu verebilir. Sonuncu 1 , bir önceki sayamaktan (dijitten) gelebilecek elde için konulmuş tur. Ş imdi daha önce gördüğ ümüz MSI toplayıcının giriş lerine BCD sayılar uyguladığ ımızda çıkış larının 0 dan 1 9 kadar olabileceğ ini düş ünerek, çıkış sayısının BCD sayıya nasıl dönüş türülebileceğ ini inceleyelim. Yani iki sayamağ ın (dijitin) toplamı 1 0 dan fazla ise, sonuçtan 1 0 çıkarıp kalanı toplam sayamak olarak yazıp, bir sonraki sayamağ a elde (1 ) taş ımak gerekir. Bu dönüş üm aş ağ ıda tablo biçiminde verilmiş tir. ikili çıkış lar toplam Z , elde K ile, BCD çıkış lar toplam S ve elde C ile gösterilmiş tir. 9 a kadar çıkış lar ikili ve BCD de aynıdır ve67 çift çizgi ile ayrılmış tır. 1 0 ve daha yukarı olan çıkış larda BCD nin aldığ ı değ erlerden 1 0 çıkarılmış sonuç yazılmış ve elde 1 olmuş tur. Amaca ulaş mamız için C=1 olduğ u durumları, K ve Z ler cinsinden ifade etmek ve bu durumda Z ten 1 0 çıkarmaktır. En büyük sayı en fazla 1 9 olabileceğ ine göre, (20-31 ) arasındaki girişler hiç uygulanmayacaktır. O nedenle bu giriş lere karş ı düş en çıkış lar K (keyfi) alınmış tır. KZ 4 Z 3 Z 2 Z 1 CS 4 S 3 S 2 S 1 Desimal 00000000000 00001 00001 1 0001 00001 0 2 0001100011 3 001 00001 004 001 0 1 001 0 1 5 001100011 0 6 00111 00111 7 0 1 00001 0008 0 1 001 0 1 001 9 0 1 0 1 0 1 00001 0 Z+6 0 1 0 111 0001 11 Z+6 0 11001 001 0 1 2 Z+6 0 11 0 110011 1 3 Z+6 0 111 0 1 0 1 001 4 Z+6 0 11111 0 1 0 1 1 5 Z+6 1 00001 0 11 0 1 6 Z+6 1 00011 0 111 1 7 Z+6 1 001 0 110001 8 Z+6 1 001111 001 1 9 Z+6 Görüldüğ ü gibi K=1 iken C=1 dir. Bunun dış ında Z=1 0-1 5 arasında da C=1 olmalıdır. Z'ler bağ ımsız değ iş kenler olmak üzere, 1 0-1 5 te (1 ) olan diğ er yerlerde (0) olan bir fonksiyon düş ünsek, bu fonksiyonun indirgenmiş hali Z 4 Z 3 +Z 4 Z 2 olur. O halde C = K+Z 4 Z 3 +Z 4 Z 2 dir. Bu sonucu beş değ iş kenli bir Karnaugh diyagramıyla da görebilirdik. C=1 iken toplamdan 1 0 çıkarma iş lemi, S çıkış larına 6 ilave etme iş lemine denktir; yani aynı sonucu verir. 6 ilave etme için ayrıca bir ikili toplayıcı kullanılabiliriz. Ş ekil 5.6 da iki ikili toplayıcı ve elde yi veren üç kapı elemanı ile bir BCD toplayıcı devrenin lojik devresi verilmiş tir. A 4 A 3 A 2 A 1 B 4 B 3 B 2 B 1 Z 4 Z 3 Z 2 Z 1 K S 4 S 3 S 2 S 1 0 0 C Ş ekil 5.6 BCD toplayıcı68 Yukarıda incelediğ imiz temel alınarak, ikinci ikili toplayıcı daha da basitleş tirilerek, tek bir tümleş ik devre, 74283 tasarlanmış tır. Yani yukarıda verilen gibi iki MSI elemanı ve üç kapı elemanı tek bir MSI olarak oluş turulmuş tur. Burada incelediğ imiz BCD toplama devresini, klasik yöntemle yapmaya kalksaydık, 9 giriş li (dördü bir sayıyı, diğ er dördü diğ er sayıyı ve biride elde ) devreler gerçekleş tirecektik. Buna karş ı gelen Boole fonksiyonların doğ ruluk tablosu 2 9 = 51 2 satırdan oluş acaktı. O nedenle algoritmik hücresel çözümler daha avantajlıdır. 5.3 Karş ılaş tırma devresi Karş ılılaş tırma devresi, sekiz giriş indeki 4 bitlik iki sayıyı karş ılaş tırarak, üç çıkış ında küçük, büyük ve eş itlik durumlarını belirlerler. Giriş ler A=A 1 A 2 A 3 A 4 v e B= B 1 B 2 B 3 B 4 karş ılaş tırılacak dörder bitlik sayılar, çıkış lar da (A > B) için Ç 1 = 1 Ç 2 = 0 Ç 3 = 0; (A < B) için Ç 1 = 0 Ç 2 = 1 Ç 3 = 0; ve A = B iken Ç 1 = 0 Ç 2 = 0 Ç 3 = 1 dır. Klasik anlamda probleme bakarsak 2 8 =256 farklı giriş vardır, ve bildiğ imiz yöntemlerle bu devreye karş ı düş en fonksiyonun indirgemesini elle yapmak pratik değ ildir. Bilgisayarla yapmak mümkün olsa bile , algoritmik olan hücresel yapı tüm devre üretimine daha uygun olacaktır. A ve B sayılarının eş itliğ ini yakalayabilmek için X i = A i B i + A' i B' i i = 1 ,2,3,4 ile tanımlanan x değ iş kenlerini incelemek yeter. Çünkü A ve B ye iliş kin karş ılıklı bitlerin eş it olması durumunda bu ifade 1 , aksi halde 0 değ erini alır. (x) lerin dördünün birden 1 olması A = B olduğ unu gösterir Yani Ç 3 = x 1 x 2 x 3 x 4 = 1 ise A=B dir. Üçüncü çıkış belirlenmiş oldu. A > B için ise önce en ağ ırlıklı bitleri karş ılaş tırmalıyız, eğ er A nınki 1 , B ninki 0 ise (A 4 B' 4 = 1 ) A > B dir. En ağ ırlıklı bitler birbirine (x 4 = 1 ) eş it ve (A 3 B' 3 =1 ) ise yine A > B dir. Bu yapı en kötü ihtimalle, benzer biçimde, en az ağ ırlıklı bitlerin karş ılaş tırılmasına kadar devam eder. Yani Ç 1 = A 4 B' 4 + x 4 A 3 B' 3 + x 4 x 3 A 2 B' 2 + x 4 x 3 x 2 A 1 B' 1 ifadesi 1 ise A > B dir. Bir baş ka deyiş le A > B nin sağ lanması için i. A 4 = 1 , B 4 = 0 (A 4 B' 4 =1 ) veya ii. A 4 = B 4 ve A 3 = 1 , B 3 = 0(A 3 B' 3 = 1 ) veya iii A 4 = B 4 ve A 3 = B 3 ve A 2 = 1 , B 2 = 0(A 2 B' 2 = 1 ) veya. iv. A 4 = B 4 ve A 3 = B 3 ve A 2 = B 2 ve A 1 = 1 , B 1 = 0(A 2 B' 2 = 1 ) dır. Benzer akıl yürütme ile A < B çıkış ı için Ç 2 = A' 4 B 4 + x 4 A' 3 B 3 + x 4 x 3 A' 2 B 2 + x 4 x 3 x 2 A' 1 B 1 ifadesi bulunabilir. Ş ekil 5.7 de yukarıda ifadelere karş ı düş en devre verilmiş tir.69 A 4 B' 4 A' 4 X 4 B 4 A 3 B' 3 A' 3 X 3 B 3 A 2 B' 2 A' 2 X 2 B 2 A 1 B' 1 A' 1 X 1 B 1 Ç 1 Ç 2 Ç 3 AB A=B Ş ekil 5.7 Karş ılaş tırma devresi 5.4 Çözücüler (Decoders) Çözücüler n giriş li 2 n çıkış lı devrelerdir. n giriş in alabileceğ i her bir giriş permütasyonu için çıkış lardan yalnızca biri 1 , diğ erleri ise 0 olur. Bir baş ka deyiş le çıkış lar mintermleri belirlemektedir. Ş ekil 5.8 de 3x8 (3x2 3 ) lik bir çözücü devresi verilmiş tir.70 m 0 =x' 1 x' 2 x' 3 m 1 =x' 1 x' 2 x 3 m 2 =x' 1 x 2 x' 3 m 3 =x' 1 x 2 x 3 m 4 =x 1 x' 2 x' 3 m 5 =x 1 x' 2 x 3 m 6 =x 1 x 2 x' 3 m 7 =x 1 x 2 x 3 x 3 x 1 x 2 Ş ekil 5.8 3X8 çözücü devresi Boole fonksiyonlarının çözücüler kullanılarak gerçekleş tirilmesi n x2 n lik bir çözücü, olabilecek bütün 2 n minterimi oluş turacağ ına göre; herhangi bir n değ iş kenli Boole fonksiyonu, iki seviyeli olarak çözücülerle gerçekleş tirilebilir. n değ iş kenli, doğ ru minterm sayısı k olan bir Boole fonksiyonu, n x 2 n lik bir çözücü ve k giriş yelpazesi olan bir VEYA kapısıyla gerçekleş tirilebilir. Hatta genelleş tirme yapılarak, n değ iş kenli m tane Boole fonksiyonu bir tane n x 2 n çözücü ve m tane VEYA kapısıyla gerçekleş tirilebilir. Bir örnek olarak üç değ iş kenli, iki Boole fonksiyonunu bir MSI çözücü ile gerçekleş tirelim. Fonksiyonlar f 1 = ? 1 , 2, 4, 5 f 2 = ? 0, 2, 5,7 olsun. Her birinde 4 doğ ru minterm olduğ una göre dört giriş li iki VEYA kapısına gerek vardır. Ş ekil 5.9 da devre verilmiş tir. x 1 x 2 x 3 f 1 f 2 2 0 2 1 2 2 0 1 2 3 4 5 6 7 3x8 Çözücü Ş ekil 5.9 İ ki fonksiyonun bir çözücü kullanılarak gerçekleş tirilmesi71 Fonksiyonların çözücüler kullanılarak gerçekleş tirilmesinde bir indirgeme sorunu yoktur. Buna karş ılık çözücünün içinde kapı ve giriş / çıkış yelpazesi açısından da hiçbir tasarruf yapılmamış tır. SSI elemanlarıyla yapılacak sentezde ise, indirgeme ile, sözü edilen tasarruflar göz önünde tutulmuş tur. SSI veya MSI elemanlarından hangisinin tercih edilerek gerçekleş tirilme yapılacağ ı koş ullara bağ lıdır. Örneğ in aynı fonksiyondan çok sayıda üretilecekse, SSI sentezdeki indirgeme yapılarak bulunan lojik devrenin, tüm devre olarak gerçekleş tirilmesi daha uygun olur. Eğ er yalnızca üç beş tane fonksiyon gerçekleş tirmesi söz konusu ise, mevcut MSI elemanlarını kullanmak hem zaman hem de iş çilik tasarrufu sağ lanır. Yanlış minterim sayısı doğ ru minterm sayısından az ise, f ' ( f in tümleyeni) gerçekleş tirilip VEYA yerine TÜVEYA kapısı kullanılarak; VEYA kapısı giriş yelpazesinde tasarruf sağ lanabilir. Pratikte kullanılan MSI çözücülerin, bir de kontrol giriş i "enable" vardır ve MSI elemanının çalış masını kontrol eder. Bu giriş 0 iken minterm çıkış larının hepsi 0 olur, aksine bu giriş 1 iken ise çözücü normal çalış ma iş levini yerine getirir. Devrede bütün VE kapılarının giriş lerine bu kontrol giriş i bağ lanarak istenen iş lev yerine getirilebilir. Ş ekil 5.1 0 da böyle bir çözücü ve doğ ruluk tablosu verilmiş tir. E x 1 x 2 m 0 m 1 m 2 m 3 0 k k 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 m 0 m 1 m 2 m 3 x 1 x 2 E 2x4 çözücü m 0 m 1 m 2 m 3 x 1 x 2 E 1x4 demux Ş ekil 5.1 0 Kontrol giriş li bir çözücü ve alternatif yorumu: demultiplekser Bu çözücüyü, sanki E normal giriş , x 1 ve x 2 giriş leri de sanki kontrol giriş leriymiş gibi de düş ünebiliriz. Bu durumda kontrol giriş inin karş ı düş tüğ ü minterm çıkış ı E giriş inin değ erini alır. Bir baş ka diyiş le E giriş ine gelen bilgi dört çıkış tan istenenine verilebilmektedir. Bu iş lev haberleş mede kullanılan demultiplekser (demultiplexer) iş levidir. Çözücülerdeki kontrol giriş i, giriş sayısı az olanlar çözücüler kullanarak, giriş sayısı daha fazla olan çözücülerin elde edilmesine de yarar. Ş ekil 5.11 de iki tane 3x8 lik çözücü kullanılarak gerçekleş tirilen, 4x1 6 lık bir çözücü devresi verilmiş tir. x 4 = 0 iken yukarıdaki çözücü çalış ır ve m 0 dan m 7 ye kadar mintermler çıkış ında gözlenir. Bu sırada alttaki çözücü çalış maz ve bütün çıkış ları 0 dır. x 4 = 1 olduğ unda ise alttaki çözücü çalış ır ve m 8 den m 1 5 e kadar minterimler, bu çözücü çıkış ında gözlenir. Bu sırada üstteki çözücü çalış maz ve çıkış ları 0 dır.72 3x8 çözücü x 1 m 0 m 7 x 2 x 3 3x8 çözücü m 8 m 15 x 4 Ş ekil 5.11 İ ki 3x8 lik çözücüden elde edilen 4x1 6 lık çözücü devresi Kod çözücünün tersi iş levi yerine getiren devrelere kodlayıcı (encoder) denir. Bu devrelerin giriş sayısı 2 n , çıkış sayısı ise n dir. Giriş lerden biri 1 iken, diğ erleri 0 olmak zorundadır. Hangi giriş e (1 ) gelmiş se on giriş in iki tabanındaki karş ılığ ı ç ıkış ta görülür. Örneğ in 6. giriş e 1 gelmiş se, çıkış 11 0 dır. Böyle bir devreyi bir uygulama olarak gerçekleyiniz. 5.5 Multiplexer (Çoğ ullayıcı) devreler Genel olarak çoğ ullayıcılar, birden fazla fiziksel bilgi kaynağ ındaki bilgiyi, istenen sırada, tek bir fiziksel bilgi kanalına aktarmaya yararlar. Lojik devre kapsamı içinde çoğ ullayıcı 2 n giriş teki bilgiyi n kontrol giriş i (select) ile istenen sırada tek çıkış a aktarmaya yarayan kombinezonsal devrelerdir. Kısaca mux diye bilinirler. Ş ekil 5.1 2 de 4x1 (2 2 x1 ) lik bir mux'ın lojik devresi verilmiş tir. seçme giriş lerinin her bir permütasyonu VE kapılarıyla oluş turulurken bu kapıların giriş lerine 2 n mux giriş leri ayrı ayrı bağ lanmış tır. Görüldüğ ü gibi bu yapıda n x 2 n (n = 2)lik bir dekoderin , 2 n sayıdaki VE kapısına n tane bağ ımsız giriş bağ lanmış tır. 2 n tane VE çıkış ı, mux ın tek bir çıkış ına, bir VEYA kapısıyla alınmış tır. I 0 I 1 I 2 I 3 S 1 S 0 Z Z 0 1 2 3 4x1 mux S 0 S 1 S 0 S 1 Z 0 0 I 0 0 1 I 1 1 0 I 2 1 1 I 3 I 0 I 1 I 2 I 3 Ş ekil 5.1 2 4x1 mux lojik devresi, blok diyagramı ve doğ ruluk tablosu Pratikte kullanılan mux ların, dekoderler de olduğ u gibi, çalış mayı kontrol eden bir enable giriş i (strobe da denir) vardır. Enable'ın belli bir giriş değ eri için çıkış ların hepsi 0 (bazen 1 ) olur, diğ er giriş değ eri için ise mux normal çalış ma iş levini yerine getirir. Bu kontrol giriş i bir üst mertebeden mux ın bir alt mertebeden iki mux kullanılarak elde edilmesini de sağ lar. Söz konusu yapı decoderler de olduğ u gibidir. Örneğ in 8x1 lik bir73 mux, 2 tane 4x1 lik mux ın enable giriş leri kullanılarak elde edilebilir. Çıkış a gelecek kapının ne olması gerektiğ ini düş ününüz. Pratikte birden fazla mux ın, seçme ve enable giriş leri ortak olmak üzere aynı MSI elemanında kullanıldığ ı görülür. Örneğ in içersinde dört tane 2x1 mux ın bulunduğ u MSI elemanları (741 57) ticari olarak vardır. Ş ekil 5.1 3 te böyle bir MSI elemanının lojik devresi verilmiş tir. A ve B giriş lerini farklı kaynaklardan gelen dörder bitlik enformasyon olarak düş ünürsek, sanki bu devre, A veya B enformasyonundan birini isteğ i bağ lı olarak seçip aynı bir yoldan (bus) bir baş ka yere göndermektedir. Böyle bir iş lev bilgisayarların alt birimleri arasında veri alış veriş inin, ortak bir hat üzerinde yapılmasında faydalı olur. A 0 A 1 A 2 A 3 B 0 B 1 B 2 B 3 (select) S (Enable) E Z 0 Z 1 Z 2 Z 3 E S Z 1 x hepsi 0 0 0 A 0 1 B Ş ekil 5.1 3 dört 2x1 lik mux tan oluş an lojik devre Mux larla Boole fonksiyonlarının gerçekleş tirilmesi Bundan önceki bölümlerde gördüğ ümüz gibi, dekoder ve mux larda mintermler oluş turulmakta, dekoderlerde ayrıca bir VEYA kapısı kullanılarak, herhangi bir fonksiyon gerçekleş tirilmekteydi. Mux larda ise bu VEYA kapısı tümleş ik devrenin içinde bulunmaktadır. Amacımız mux ları kullanarak bir Boole fonksiyonunun nasıl gerçekleş tirilebileceğ ini göstermek. n seçicili 2 n x1 lik bir mux ile n değ iş kenli bir fonksiyonu gerçekleş tirelim. Değ iş kenleri seçiciler seçelim. Seçicilerin alacağ ı her bir değ er permütasyonu bir minterimi belirler ve buna karş ı düş en mux ta bir giriş vardır. Eğ er gerçekleş tireceğ imiz fonksiyon, bu minterm için 1 ise (doğ ru minterm) buna karş ı düş en giriş e 1 , 0 ise (yanlış minterm) bu giriş e 0 uygulayalım. Aynı iş lev bütün giriş değ er permütasyonları için tekrarlandığ ında mux çıkış ında istediğimiz fonksiyonu gerçekleş tirmiş oluruz. Yukarıda açıklanandan bir adım daha ileri giderek, (n+1 ) değ iş kenli bir fonksiyon n seçicili 2 n x1 lik bir mux la gerçekleş tirilebilir. Bunun için n değ iş ken seçiciler olarak alınıp, giriş lere de 0, 1 , x n veya x' n den biri uygulanır. Bir örnek üzerinden gerçekleş tirmenin nasıl yapılacağ ını görelim. Ş ekil 5.1 3 te bir örnek fonksiyon ve devresi verilmiş tir. Fonksiyon üç değ iş kenli f = ? 1 , 2, 6, 7 olduğ una göre 4x1 lik iki seçicili bir mux a gereksinim vardır. X 1 , x 2 değ iş kenlerini seçiciler olarak seçelim. Doğ ruluk tablosundan görüldüğ ü gibi x 1 , x 274 değ iş kenlerinin bir değ er permütasyonu için x 3 in aldığ ı 0 ve 1 olmak üzere iki değ er vardır. Bu değ erler için fonksiyonun aldığ ı değ erler 0, 1 , x 3 veya x' 3 olabilir. Buna göre tabloyu tekrar düzenlersek (Ş ekil 5.1 3 te gölgelendirilerek belirtildi). , mux giriş lerine ne bağ layacağ ımız ortaya çıkar. Bu tablodaki sonuca, bir baş ka düzenlemeyle daha çabuk ulaş abiliriz. Öyle ki sütunları, seçicilerin belirlediğ i mintermlere karş ı düş en giriş ler; satırları da x 3 değ iş keni ve tümleyenini gösterecek biçimde bir tablo oluş turulsun. Bu durumda satır ve sütunlara karş ı gelen yerler, olabilecek bütün minterimlerdir. Doğ ru minterimleri bir yuvarlak içine alalım, yuvarlak içinde olmayanlar yanlış mintermler olsun. Buna göre i bir sütundaki (bir seçici giriş ini belirler) mintermler yuvarlak içinde değ ilse, bu sütuna iliş kin giriş 0, ii. bir sütundaki (bir seçici giriş ini belirler) mintermler yuvarlak içindeyse, bu sütuna iliş kin giriş 1 , iii. bir sütundaki (bir seçici giriş ini belirler) mintermlerden x 3 satırına karş ı gelen yuvarlak içinde x' 3 satırına karş ı gelen yuvarlak içinde değ ilse bu sütuna iliş kin giriş x 1 , iv (iii) durumun tersi ise ilgili giriş x' 1 olmalıdır. (Ş ekil 5.1 3) minter m x 1 x 2 x 3 f 0 0000 1 0011 f = x 3 2 0 1 0 1 3 0 1 1 0 f = x' 3 4 1 0 0 0 5 1 0 1 0 f = 0 6 11 0 1 7 11 1 1 f = 1 Z 0 1 4x1 mux x 1 x 2 00 01 10 11 I 0 I 1 I 2 I 3 x 1 x 2 (0)x' 3 (1)x 3 x 3 x' 3 0 1357 6 4 2 01 I 0 I 1 I 2 I 3 x 3 x' 3 x 1 x 2 Ş ekil 5.1 3 dört değ iş kenli bir fonksiyonun 4x1 mux la gerçekleş tirilmesi75 f 0 1 8x1 mux 000 001 010 011 I 0 I 1 I 2 I 3 x 1 x 2 x 3 (0)x' 4 (1)x 4 1 0 1357 6 4 2 0 I 0 I 1 I 2 I 3 x 4 x' 4 x 1 x 3 x 4 100 101 110 111 I 4 I 5 I 6 I 7 1 8 91 11 31 5 14 12 10 0 x' 4 x 4 0 I 4 I 5 I 6 I 7 x 2 Ş ekil 5.1 4 f=? 0,1 ,3,4,8,9,1 5 fonksiyonunun 8x1 mux kullanarak gerçekleş tirilmesi Ş ekil 5.1 4 te dört değ iş kenli bir örnek fonksiyonun 8x1 lik bir mux ile gerçekleş tirilmesi gösterilmiş tir. Yukarıda örnek üzerinde açıklanan gerçekleş tirme yöntemi genelleş tirilebilir. Burada en çok ağ ırlıklı bitlere karş ı gelen değ iş kenlerin dış ındaki değ iş enler seçici giriş leri olarak seçilmiş tir, mux giriş lerine de 0,1 veya en ağ ırlıklı değ iş kenin kendisi veya tümleyeni gelmektedir. halbuki herhangi n-1 değ iş ken seçici, kalan değ iş ken giriş seçilerek te, benzer akıl yürütmeyle gerçekleş tirme yapılabilirdi. 5.6 Read-Only Memory (ROM) Bu ve bundan sonraki kısımda, ROM (Read Only Memory) ve PLA (Programmable Logic Array) elemanları göreceğ iz. Bu elemanlar içinde 1 00-1 000 civarında kapı elemanları bulunduran LSI ( Large Scale Integrated Circuits) devrelerdir. ROM elemanlarını, gördükleri iş levler açısından, iki farklı biçimde inceleyebiliriz. Birincisi birden fazla Boole fonksiyonunun, bir tümleş ik devre ile gerçekleş tirilmesini sağ larlar. ROM LSI elemanının içinde bir dekoder ile gerçekleş tirilecek fonksiyon sayısı kadar VEYA kapısı vardır. VEYA kapısı sayısı m olsun. nx2 n lik dekoderde 2 n VE kapısının çıkış ını her bir VEYA kapısına bağ layan, mx2 n tane bağ lantı vardır. Bu bağ lantılar, isteğ e göre, açık veya kısa devre yapılabilirler. Diyelim m tane Boole fonksiyonu gerçekleş tireceğ iz. 1 . fonksiyonda hangi doğ ru minterimler varsa, onlara iliş kin VE kapılarının çıkış ları, 1 . VEYA kapısının giriş lerine, bağ lantılar kısa devre yapılarak birleş tirilir. Yanlış mintermlere karş ı gelen VE kapılarının çıkış ları ise açık devre yapılarak VEYA kapısının giriş ine bağ lanmaz. Böylece 1 . fonksiyon gerçekleş tirilmiş olur. Diğ er fonksiyonlar da benzer biçimde gerçekleş tirilir. Bağ lantıların açık veya kısa devre yapılmaları, üretici firmanın belirlediğ i yöntemle özel aletler kullanılarak yapılır. n giriş değ iş kenli m çıkış lı bir ROM elemanın iç yapısı Ş ekil 5.1 5 te verildiğ i gibidir. Böyle bir ROM 2 n xm lik ROM olarak adlandırılır.76 Ş ekil 5.1 5 Genel bir ROM elemanının devresi Yukarı açıkladığ ımız ROM' u, yalnızca okunabilen bellek iş levini yerine getiren bir eleman olarak ta görebiliriz. Yalnızca okunabilen bellek elemanından kastedilen, adres bitleri dediğ imiz giriş değ iş kenlerinin belli bir permütasyonuna karş ı gelen belli bir yerde, kelime (word) dediğ imiz m bitlik belli bir bilginin tutulmasıdır. 2 n xm lik ROM da n giriş değ iş keni ile 2 n farklı adres tanımlanabilir, bu adreslere de m bitlik kelimeler (word) saklanabilir. Yukarıda açıkladığ ımız ROM da, giriş ler sanki adresleri (minterimleri) vermekte; giriş lere karş ı gelen m fonksiyonun aldığ ı değ er de, çıkış ları sanki o adresteki bilgi(word)yi vermektedir diye düş ünülebilir (Ş ekil 5.1 5). Ş imdi bir örnek üzerinde ROM un iki farklı yorumunu yapalım. Ele alacağ ımız örnek, çizim ve anlatım kolaylığ ı açısından iki giriş ve iki çıkış lı seçilmiş tir. Pratikte 7-8 giriş ve 8 çıkış değ iş kenliler yaygındır. Ş ekil 5.1 6 da verilen örnek ROM, iki iki-değ iş kenli fonksiyon olarak düş ünülebilir. Aynı ROM, dört adresinde, iki bitlik dört kelimenin bulunduğ u, bir bellek elemanı olarak ta düş ünülebilir. x 2 x 1 2x4 Dekoder m 0 F 1 m 1 m 2 m 3 F 2 Ş ekil 5.1 6 Örnek bir ROM ve iki yorumu Ş imdi pratik bir örnek yapalım. Sıfırdan yediye kadar sayıların karelerini alan bir kombinezonsal devreyi ROM kullanarak gerçekleyelim. Yedi ye kadar sayıları temsil edebilmemiz için üç giriş değ iş kenine, sıfırdan kırk dokuza kadar sayıları temsil edebilmemiz için de altı çıkış fonksiyonuna gereksinim vardır ( 2 5 = 32, 2 6 =6 4). Doğ ruluk tablosu ve ROM devresi Ş ekil 5.1 7 verilmiş tir. Doğ ruluk tablosundan görüldüğ ü gibi; 5. çıkış her giriş için 0, 6. çıkış ise 3. giriş le aynıdır o nedenle ayrıca bir ROM çıkış ı adres x 1 x 2 F 1 F 2 kelime 000011 1 0 11 02 2 1 0 11 3 3 111 02 x 4 x 3 x 2 x 1 nx2 n Dekoder m 0 a d r e s k e l i m e F 1 F 2 F m Açık veya kısa devre yapılabilecek bağ lantılar m 2 n -177 gerektirmezler. 3 adres bitli 4 çıkış lı bir ROM, 0 dan 7 ye kadar sayıların karelerini almak için yeterli olur. x 1 x 2 x 3 F 1 F 2 F 3 F 4 F 5 F 6 00000000000 1 001 0000011 201 00001 004 3011 001 001 9 4 1 0001 00001 6 5 1 0 1 0 11 001 25 6 11 0 1 001 003 6 7 11111 0001 49 x 1 x 2 x 3 F 1 F 2 F 3 F 4 8x4 ROM F 5 F 6 F 5 0 Ş ekil 5.1 7 Kare alma iş lemi yapan bir ROM devresi ROM türleri ROM' lardaki bağ lantılar iki biçimde yapılabilir: mask ve programlama. Mask bağ lantılar üretim sırasında direkt olarak yapılır. Programlama da ise üretimden sonra; kullanıcı tarafından, özel cihazlarda katalog bilgisine göre programlanarak "PROM", yapılır. Her ne kadar programlanarak yapılıyor denirse de bağ lantılar hardware olarak sağ lanmaktadır. ROM lara konan bilgiler, ROM'un türüne göre, ya bir daha hiç değ iş tirilemezler veya silinip yeni bilgilerlerle değ iş tirilebilirler. İ kinci tür olanlara "silinebilir PROM " EPROM (Erasable PROM) denir. Silme iş lemi elektronik olarak yapılanlara "elektronik olarak silinebilen ROM"( EAROM:Electronically alterable ROM) denir. Silme iş lemi mor ötesi ış ınla yapılanlara ise "silinebilen ROM" EPROM (erasable ROM) denir. ROM lar genel olarak çok giriş li bir çok fonksiyonun gerçekleş mesinde yaygın olarak kullanılabilirler, örneğ in ASCII kodundan EBIDIC koduna dönüş türücüler gibi. Diğ er taraftan ROMlar yalnızca okunan bellek elemanları olarak software kontrol birimlerinde yaygın biçimde kullanılırlar. 5.7 PLA (Programable Logic Array) Bundan önceki kısımda ROM larla fonksiyon gerçekleş tiriken gördük ki, fonksiyonun 1 değ erini aldığ ı doğ ru minterimler için, ROM un içinde n giriş li bir VE kapısı vardır. Yani ROM larda 2 n VE kapısı varken, gerçekleş tirmede biz bunlardan yalnız fonksiyondaki 178 sayısı kadar olanını kullanmaktayız. Sağ lanan avantaj, indirgeme düş ünmeden gerçekleş meye geçilebilmesi oldu. Buna karş ılık ROM daki bir çok VE kapısı da kullanılmadı. Oysa biliyoruz ki indirgeme yaptığ ımızda kullanacağ ımız VE kapısı sayısı fonksiyondaki 1 sayısından çok daha az olacaktır. İş te bu olumsuzluğ a cevap verebilmek için PLA (Programable Logic Array) LSI elemanları geliş tirilmiş tir. PLA' in yapısı ROM yapısına benzerdir. ROM lu gerçeklemelerde fonksiyondaki her bir 1 e karş ılık ROM daki 2 n kapıdan biri seçilir. ROM larda n giriş değ iş keni sayısı olmak üzere n giriş yelpazeli 2 n VE kapısı varken; PLA de 2 n den çok daha küçük sayıda n giriş yelpazeli VE kapısı vardır. İ kinci seviyedeki VEYA kapılarının giriş yelpazesi, ROM larda 2 n iken PLA de 2 n den çok daha küçük VE kapısı sayısı kadardır. Örneğ in Pratikte kullanılan bir PLA de n = 1 6 giriş değ iş keni , 46 n-giriş li VE kapısı ( ROM olsa idi bu sayının 2 1 6 = 256 olması gerekirdi) ve 8 çıkış ( 8 bitlik kelimeler) vardır. 82S1 00 PLA nin yapısı bu yapıdadır k tane n giriş li VE kapısı m tane kxm giriş li VEYA kapısı n giriş nxk bağ lantı nxk bağ lantı kxm bağ lantı m bağ lantı m çıkış Ş ekil 5.1 8 Bir PLA elemanın blok diyagramı Ş ekil 5.1 8 de genel olarak bir PLA elemanının blok diyagramı gösterilmiş tir. Giriş sayısı n dir. k << 2 n olan k tane VE kapısı vardır . Öyle ki her bir kapının giriş yelpazesi n dir; ancak 2n bağ lantı vardır. (n) tanesi değ iş kenin kendisi diğ er (n) tanesi ise değ iş kenin tümleyeni için gereklidir. Gerçekleş tirilecek fonksiyona göre, bu VE kapılarının giriş lerine iliş kin 2n x k bağ lantının açık devre yapılması veya kısa devre olarak tutulması gerekir. Çıkış sayısı m kadar, VEYA kapısı vardır. Bu kapılara k tane VE kapısı, k x m bağ lantı ile bağ lanmış tır. Gerçekleş tirilecek fonksiyonda kaç çarpımlar terimi varsa, onlara iliş kin bağ lantılar kısa devre olarak tutulmalı, diğ erlerine iliş kin bağ lantılar ise açık devre kılınmalıdır. (m) tane çıkış ta fonksiyonun kendisi veya tümleyeni elde edilebilir. Bir çıkış fonksiyonunun kendisi çıkış a aktarılmak isteniyorsa ona iliş kin bağ lantı kısa devre olarak bırakılmalı, tümleyeni elde edilmek isteniyorsa ilgili bağ lantı açık devre yapılmalıdır. Çıkış ta ki m bağ lantı bize çıkış fonksiyonlarının kendileri veya tümleyenlerini çıkış a almamızı sağ lar. Bunun faydasını bundan sonraki bölümde PLA in programlanmasında göreceğ iz. Ş imdi bir örnek olarak basit iki fonksiyonun PLA ile gerçekleş tirilmesinde, bağ lantıların nasıl seçileceğ ini inceleyelim. Pratikte böyle bir gerçekleş tirme PLA elemanıyla yapılmaz, anlaş ılması kolay olsun diye bu örnek yapılmaktadır. Pratikte PLA elemanları çok sayıda fonksiyonların tek bir elemanla gerçekleş tirilmesinde yaygın olarak kullanılır. Gerçekleş tirilecek İ ki-değ iş kenli iki fonksiyonun doğ ruluk tablosu ve Karnaugh diyagramları Ş ekil 5.1 9 da verilmiş tir. Görüldüğ ü gibi gerçekleş tirilecek fonksiyonlarda ortak olan çarpımlar terimi için aynı VE kapısı kullanılmaktadır. Bir amaç ta böyle ortak olan çarpımlar terimleri sayısını maksimize etmektir.79 x 1 x 2 x 3 F 1 F 2 Çarpım terimleri Giriş ler çıkış l ar 00000 xxx FF 001 00 1 x 1 x’ 2 1 0-1 - 0 1 000 2 x 1 x 3 1 - 111 0 11 0 1 3 X 2 X 3 - 11 - 1 1 001 0 1 0 111 PLA program tablosu 11 000 11111 x 1 x 2 x 3 01 11 10 0 1 00 1 1 1 x 1 x 2 x 3 01 11 10 0 1 00 1 1 1 F 1 = x 1 x’ 2 +x 1 x 3 F 2 =x 1 x 3 +x 2 x 3 Ş ekil 5.1 9 PLA elemanıyla gerçekleş tirilecek örnek iki değ iş kenli iki fonksiyon Bu örnek fonksiyonların PLA ile gerçekleş tirilmesinde, hangi bağ lantıların açık devre yapılacağ ı, hangi bağ lantıların ise kısa devre olarak bırakılacağ ı, Ş ekil 5.20 de gösterilmiş tir. Ş ekil 5.20 Örnek iki fonksiyonun PLA gerçekleş tirilmesi PLA program tablosu Yukarıda örnek fonksiyonunun PLA elemanı ile gerçekleş tirilmesinde önce fonksiyonlar indirgendi. ROM larla gerçeklemede fonksiyonlar indirgenmemiş ti. Ondan sonra bağ lantıların açık/kısa devre yapılmasına geçildi. Bağ lantıların sistematik bir biçimde nasıl yapılacağ ını gösteren tabloya PLA program tablosu denir. Bu tabloda satırlarda, indirgenmiş fonksiyonlardaki farklı çarpımlar terimleri gösterilir. Birinci sütunda her bir çarpımlar terimi için seçilen VE kapılara numaralandırılarak gösterilir. Bundan sonraki sütunlarda değ iş kenlere ayrılmış tır. 1 . satırdaki VE kapısının giriş leri için değ iş kenin kendisi varsa 1 , tümleyeni varsa 0, değ iş ken yoksa (-) konulur. Bu iş lem bütün VE x 2 F 1 x 3 1 x 1 3 2 1 2 F 280 kapıları için tekrarlanır. Ş ekil 5.1 8 deki blok diyagramında 2n x k bağ lantının açık devre mi, kısa devre mi yapılacağ ı belirlenmiş olur. Son sütunlarda ise çıkış fonksiyonlarının her biri temsil edilir. Bir çıkış fonksiyonunda hangi VE kapıları varsa ilgili yere 1 , olmayan VE kapılarına iliş kin yere ise (-) konur. Ş ekil 5.1 8 deki blok diyagramında k x m bağ lantılarından hangilerinin açık hangilerinin kısa devre yapılacağ ı belirlenmiş olur. Bundan önceki örneğ e iliş kin PLA program tablosu Ş ekil 5.1 9 da verilmiş tir. PLA lerde fonksiyonun kendiside tümleyeni de gerçekleş tirilebilmektedir. O nedenle ortak çarpımlar terimleri sayısını maksimumlaş tırabilmek için gerçekleş tirilmesini istediğ imiz fonksiyonların tümleyenlerini de düş ünebiliriz.81 B BÖ ÖL LÜ ÜM M 6 6 A AR RD DI IŞŞ I IL L M MA AN NT TI IK K D DE EV VR RE EL LE ER Rİİ Ş imdiye kadar ki beş bölümde, çıkış ları giriş leriyle yegane olarak belirlenebilen kombinezonsal mantık devrelerinin, analiz ve sentezini inceledik. Bu bölümde de çıkış ları giriş değ iş kenlerinden baş ka, durum değ iş kenleri dediğ imiz bellek elemanlarına iliş kin değ iş kenlerle birlikte ancak belirlenebilen ardış ıl mantık devrelerini inceleyeceğ iz. Ardış ıl mantık devreleri kısaca ardış ıl devreler olarak adlandırılır. Yaygın olarak bu devrelere ardış ıl makineler da denir. Ardış ıl makine incelememizde sırasıyla ardış ıl makinelerin modellendirilmesi, sınıflandırılması, analiz ve sentezi ile sentezde karş ılaş ılan sorunları ele alacağ ız. Daha sonra kombinezonsal devrelerde olduğ u gibi, ardış ıl MSI ve LSI elemanlarının yapı ve iş levlerini inceleyeceğ iz. 6.1 Giriş Ş ekil 6.1 deki seri toplayıcı devresini düş ünelim. x 1 , x 2 giriş leri en az ağ ırlıklı basamaktan en çok ağ ırlıklı basamağ a doğ ru, zamanda sıralı, iki tabanındaki iki sayıyı göstersin. z çıkış ı da bu iki tabanındaki sayıların toplamı olan sayıyı, basamak ağ ırlığ ına göre zamanda sıralı olarak göstersin. varsayalım ki x 1 =1 2 ve x 2 =1 4 sayıları toplanacak. Giriş ve çıkış aş ağ ıdaki Ş ekil 6.1 deki gibidir. Seri toplayıcı x 1 x 2 z = x 1 + x 2 (1 2)011 00 (1 4)0111 0 (26)11 01 0 Ş ekil.6.1 . Seri toplayıcı. 2 4 2 3 2 2 2 1 2 0 t 4 t 3 t 2 t 1 t 0 (1 2) x 1 0 1100 (1 4) x 2 0 1 1 1 0 (26) z 11 0 1 0 t 0 ve t 4 anlarındaki giriş ler (00) aynı olduğ u halde çıkış lar farklıdır. Benzer biçimde t 2 ve t 3 anlarındaki giriş ler (11 ) aynı olduğ u halde çıkış lar farklıdır. Görülüyor ki çıkış yalnızca giriş ler tarafından belirlenememektedir. O halde devre kombinezonsal değ il, ardış ıldır. Çıkış ın belirlenebilmesi için her t i anında, bir evvelki t i-1 anına iliş kin toplamın "elde" sinin bilinmesi gerekmektedir. Bu "elde"yi, makinenin herhangi bir t anındaki durumunu belirleyen bir değ iş ken (y) olarak düş ünelim. Öyle ki değ iş kenin t i anında aldığ ı değ er (Y), t i - 1 anında bu değ iş kenle (y), giriş değ iş kenlerinin aldığ ı değ erler tarafından belirlenmiş olsun. Yani Y = f (x 1 ,x 2 ,y). (y) ye ş imdiki durum, (Y) ye de bir sonraki durum, y değ iş kenine de durum değ iş keni denir. Örneğ imiz için toplam elde(y)11000 x 1 0 1100 x 2 0 111 0 z 11 0 1 082 biçiminde bulunur. Artık çıkış değ iş keni giriş değ iş kenleri ve 0 andaki durum değ iş keni tarafından yegane olarak belirlenmiş tir. 6.2 Ardış ıl Makinelerin Modellendirilmesi Ardış ıl makineler matematiksel, tablo ve diyagram olmak üzere üç farklı biçimde modellendirilebilirler. Matematiksel model : Yukarıda örnekteki seri giriş li toplama devresi gibi, sonlu durumlu ardış ıl makineleri, M = (G,Ç,D,Y,Z,D 0 ) ile verilen bir matematiksel modelle temsil edebiliriz. G: Makinenin farklı giriş lerinden oluş an giriş kümesidir. #G = p ise giriş leri temsil edebilmek için gerekli olan giriş değ iş keni sayısı n; n ? log 2 p eş itsizliğ ini sağ layan en küçük tam sayıdır. X = {x 1 , x 2 . .x n } bağ ımsız giriş değ iş kenleri kümesi olsun. Ç: Makinenin çıkış ında görülen, farklı ç ıkış lardan oluş an çıkış kümesidir. #Ç = g ise, çıkış ları temsil edebilmek için gerekli olan çıkış değ iş keni sayısı m; m ? log 2 g eş itsizliğ ini sağ layan en küçük tam sayıdır. Z = {z l ,z 2 ,.. ,z m } çıkış değ iş kenleri kümesidir. D: Makinenin farklı durumlarından oluş an kümedir. #D = µ ise, gerekli olan durum değ iş keni sayısı r, r ? log 2 µ eş itsizliğ ini sağ layan en küçük tam sayıdır. y = {y 1 ,y 2 ,.. ,y r } bağ ımsız durum değ iş kenleri kümesidir. Y = {Y 1 ,Y 2 ,.. Y r } bir sonraki durum değ iş kenleri kümesidir. Bu küme elemanları her biri Y i t+1 = Y i (x t 1 , x t 2 ..., x t n , y t 1 , y t 2 ,....y t r ) = Y i ( X t , y t ) : S n+ r › S , S = {0,1 } i = 1 ,2,..r biçiminde tanımlanan r tane bir sonraki durum fonksiyonudur. t ş imdiki anı, t+1 bir sonraki anı göstermektedir. Z = {z l , z 2 ,.. , z m } bağ ımlı çıkış değ iş kenleri kümesidir. Bu küme elemanlarının her biri Z i t = Z i ((x t 1 , x t 2 ..., x t n , y t 1 , y t 2 ,....y t r ) = Z i ( X t , y t ): S n+ r › S , S = {0,1 } i =1 ,2, ..m biçiminde tanımlanan m tane çıkış fonksiyonudur. Z i fonksiyonları x 1 ..x n bağ ımsız giriş ve y 1 ,..,y r bağ ımsız durum değ iş kenlerinin fonksiyonu ise makineye "Mealy makinesi", Z i fonksiyonları yalnızca, y 1 ,..y r durum değ iş kenlerinin fonksiyonu ise makineye "Moore makinesi " denir. Y fonksiyonlarında, fonksiyonların aldığ ı değ er (t+1 ) anındaki değ er; bağ ımsız değ iş kenlerin aldığ ı değ er ise, t anındaki değ erlerdir. Z fonksiyonlarında ise değ iş kenler ve fonksiyonların aldığ ı değ erler aynı t anı için geçerlidir. Bundan sonra fonksiyonların t ile iliş kisi ayrıca simgelenmeyecektir. D 0 : Baş langıç durumudur. Yani bağ ımsız durum değ iş kenlerinin t 0 anındaki aldıkları değ erlere karş ı gelen (y 0 1 ,. .y 0 2 ,.....y 0 r ) durumudur. Örnek 6.1 . Seri toplayıcı için M matematiksel modelini çıkaralım. G giriş kümesi ve değ iş kenleri: G = {G 1 (x 1 = 0, x 2 = 0); G 2 (x 1 = 0, x 2 = 1 ) ; G 3 (x 1 = 1 , x 2 = 0) ; G 4 (x 1 = 1 , x 2 = 1 )} dir. Ç çıkış kümesi ve değ iş kenleri Ç={(Ç 1 (z 1 = 0), Ç 2 (z 1 = 1 )}dir. D durum kümesi ve değ iş kenleri D={D 1 (y=0) elde 0, D 2 (y=1 ) elde 1 } dir. (y) bağ ımsız durum değ iş kenidir. Y bir sonraki durum ve Z çıkış fonksiyonları Tablo 6.1 . de doğ ruluk tablosuyla verilen83 Y t+1 = y' x 1 x 2 +y x' 1 x 2 +y x 1 x' 2 , +y x 1 x 2 ve Z = y' x' 1 , x 2 +y' x 1 x' 2 , +y x' 1 x' 2 +y x 1 x 2 fonksiyonlarıdır. Tablo.6.1 .Seri toplayıcıya iliş kin bağ ımsız değ iş kenler ve bir sonraki durum ve çıkış fonksiyonlarının doğ ruluk tablosu. bağ ımsız değ iş kenler giriş x 1 giriş x 2 durum y Y bir sonraki durum onksiyonu. Z çıkış fonksiyonu 0000 0 00 1 0 1 0 1 00 1 0 111 0 1 000 1 1 0 11 0 11 0 1 0 1111 1 Matematiksel olarak M = (G, Ç, D, Y, Z, D 0 ) ile verilen bir ardış ıl makine, genel olarak Ş eki1 .6.2.deki bir devreye karş ı düş ürülebilir. Devre iki temel parçadan oluş ur. Ş ekil.6.2. Bir ardış ıl makinenin en genel yapısı. Birincisi kombinezonsal parça ikincisi ise bellek parçasıdır. Kombinezonsal parçanın giriş leri, sistemin giriş değ iş kenleri (x 1 x 2 . .x n ) ile bağ ımsız durum değ iş kenleri (y 1 y 2 . .y r ) dir. Kombinezonsal parçanın çıkış ları da makinenin çıkış değ iş kenleri (Z 1 Z 2 . .Z m ) ile bellek elemanlarının giriş fonksiyonlarıdır. Kombinezonsal devre Bellek r.bellek elemanı 1. bellek elemanı x 1 y r x 2 y r (Y r ) y 1 (Y 1 ) y 1 z 1 z m Bellek elemanlarının çıkış ları: durum değ iş kenleri bellek elemanlarının giriş leri giriş değ iş kenleri çıkış değ iş kenleri t 0 (t 1 ) saat giriş i84 Bellek elemanlarının çıkış ları olan iletkenlerde, zaman ekseninde önce y bağ ımsız değ iş kenlerinin sonra bağ ımlı bir sonraki durum değ iş kenlerinin aldığ ı değ erler gözlenir. Ard arda gelen iki giriş ten, ikincisine iliş kin ş imdiki durum, birinci giriş e iliş kin bir sonraki durumdur. Seri toplayıcı örneğ inde t 0 anındaki giriş ler için olan bir sonraki durum 0, t 1 anındaki giriş ler için ş imdiki durumdur. Benzer biçimde t 2 anındaki ş imdiki durum 0; bir sonraki durum (elde) ise 1 dir. Bu yeni elde t 3 anındaki giriş ler için ş imdiki durumdur. Bellek elemanları bundan sonraki alt bölümde detaylı olarak incelenecektir. Matematiksel olarak temsil edilen ardış ıl makine, durum diyagramları veya durum tablolarıyla da temsil edilebilir. Durum tablosu (Geçiş tablosu, transition table): Satırlarında durumlar (D kümesinin elemanları), sütunlarında giriş lerin (G kümesinin elemanları) bulunduğ u matristir. i. satır ve j. sütunun kesiş tiğ i yerde; makinenin i. satıra iliş kin durumunda (D i ), j. sütuna iliş kin giriş (G j ) geldiğ inde ki bir sonraki durum (D k ) ile o andaki çıkış (Ç k ) yazılıdır (Tablo 6.2a). Özel olarak örnek 6.1 deki seri toplayıcı için durum tablosu Tablo 6.2b de verilmiş tir. Bu tabloda giriş ler ve durumlar ilgili değ iş kenler cinsinden ifade edilmiş tir. Tablo.6.2. Ardış ıl makineye iliş kin durum tablosu. G 1 G 2 G j G p D 1 D 2 D i D k , Ç k D µ (a) Bir ardış ıl makineye iliş kin genel durum tablosu x 1 x 2 00 giriş X 1 x 2 01 giriş x 1 x 2 11 giriş x 1 x 2 1 0 giriş y=0 ş imdiki durum Y,Z 0,0 Y,Z 0,1 Y,Z 1 ,0 Y,Z 0,1 y=1 ş imdiki durum Y,Z 0,1 Y,Z 1 ,0 Y,Z 1 ,1 Y,Z 1 ,0 (b) Seri toplayıcıya iliş kin durum tablosu Durum diyagramı, düğ ümler ve topolojik elemanlardan oluş muş bir diyagramdır. Düğ ümler durumlara karş ı düş er. Makine D i durumunda iken G i giriş i altında D J bir sonraki durumuna gidiyor ve çıkış z m ise, D i düğ ümünden D J düğ ümüne yönlendirilmiş bir topolojik eleman çizilir ve üzerine G i / z m yazılır. Ş ekil 6.3 a da durum diyagramının tipik85 bir parçası gösterilmiş tir. Örnek 6.1 deki seri toplayıcı için durum diyagramı Ş ekil 6.3b de verildiğ i gibidir. Giriş ler ve durumlar ilgili değ iş kenler cinsinden verilmiş tir. D i D j G i / Z m D i D j 00 / 0 1 0 / 1 01 / 1 11 / 0 00 / 1 01 / 1 01 / 0 1 0 / 0 11 / 1 (a) Genel olarak durum diyagramı (b) Toplayıcıya iliş kin durum diyagramı Ş ekil.6.3. Durum diyagramları. 6.3 Ardış ıl Makinelerin Sınıflandırılması Ardış ıl makineler senkron (saatli) ve asenkron (saatsiz) makineler olmak üzere iki ana sınıfa toplanırlar. Senkron makinelerde periyodik saat darbeleri üreten bir merkezi saat (master-clock generator) vardır. Bütün bellek elemanlarının saat giriş lerine, bu merkezi saat çıkış ı bağ lanmış tır (bakınız Ş ekil 6.2). Makinenin durum değ iş tirmesi, saat darbesi geldiğ i zaman mümkündür. Yeni bir saat darbesi gelene kadar, makinenin durumunda bir değ iş iklik olmaz. Makinenin kombinezonsal kısmı ise saat darbesinden bağ ımsız çalış ır. Her bir giriş için bir saat darbesi uygulanmalıdır. Makinenin çalış ma hızı saat darbelerinin periyoduyla sınırlanmış tır. örneğ in seri toplayıcı devre bir senkron ardış ıl makinedir. Asenkron makinelerde saat darbeleri yoktur. Temel modda (fundemental mode) ve darbe modunda (pulse mode) çalış anlar olmak üzere iki farklı türden olabilirler. Temel modda çalış an asenkron makinelerde giriş ler seviye biçimindedir, yani yeni bir giriş gelene kadar eski giriş ler durarak sistemin kararlı (stabil) bir duruma gelmesini sağ lar. Yarış problemi olmaması için birden fazla giriş değ iş keni aynı anda değ iş mez. Darbe modunda çalış an makinelere gelince, giriş leri darbe biçimindedir. Herhangi bir anda giriş değ iş kenlerinden yalnız biri 1 olur, diğ erleri 0 olmak zorundadır. Farklı giriş ler arasında bütün girişler birlikte 0 olmak zorundadırlar.Ş ekil 6.4 de ardış ıl makinelerin sınıflandırılması gösterilmiş tir. Bu dersin kapsamı içinde bilgisayarlarda kullanılan senkron makineler ağ ırlıklı olarak incelenecek, çoğ unlukla kontrol sistemlerinde kullanılın asenkron makineler ise incelenmeyecektir.86 ARDIŞ IL MAKİ NA ASENKRON MAKİ NA SENKRON MAKİ NA ARDIŞ IL MAKİ NA Darbe modunda çalış an makina Temel modda çalış an makina Ş ekli.6.4. Ardış ıl makinelerin sınıflandırılması. 6.4 Bellek Elemanları Ardış ıl devrede her bir durum değ iş kenine iliş kin bir bellek (flip flop) elemanı vardır. Bundan dolayı bellek elemanları 1 bitlik bir bilginin saklanmasını sağ larlar. Çıkış ş imdiki durum değ iş keni y ve aynı zamanda bir sonraki durum fonksiyonu olan Y dir. Ayrıca durum değ iş kenin veya bir sonraki durum değ iş keninin tümleyeni de çıkış olarak vardır. Ş imdi belli baş lı bellek elemanlarını teker teker inceleyelim. SR bellek elemanı: iki giriş li S(set), R(reset) ve iki çıkış lıdır (y,y' ) y' f devrenin yapısı dolayısıyla doğ rudan elde edildiğ inden, ikinci bir çıkış değ erlendirilmiş tir. Bütün diğ er bellek elemanlarında da durum aynıdır, yani y ve y' çıkış ları vardır. SR bellek elemanın tanımı bir sonraki durum fonksiyonu, durum tablosu ve durum diyagramı olarak ş ekil 6.5 te verilmiş tir. (11 ) giriş inin hiçbir zaman uygulanmayacağ ı varsayılarak çıkış lar k=keyfi olarak alınmış tır. SR bellek elemanının çalış ması, giriş ler birbirinin zıttı iken 'S nin dediğ ini yapıyor' biçiminde de yorumlanabilir. 0 1 01/0 01/0 10/1 00/0 10/1 00/1 Y = S + R ' y SR y 00 01 11 10 0 1 00K1 10K1 s R y (Y) y ' (Y ') Ş ekil 6.5 SR bellek elemanı Ş imdi Ş ekil 6.6 te verilen devreyi analiz ederek, Ş ekil 6.5 te tanımlanan SR flip flopuna karş ı düş tüğ ünü gösterelim. Ş ekil 6.6 teki devrenin çıkış larını, baş langıçta sanki biri diğ erinin tümleyeni değ ilmiş gibi düş ünüp, sonra bu çıkış ların birbirlerinin tümleyeni olduklarını gözleyelim87 R(reset) S(set) t (T) v (V) a) TÜVEYA kapılarıyla gerçekleş tirilen SR flip flopu tvSRTV 00000 1 1 0 TÜVEYA kapılarının gecikmelerine bağ lı olarak iki hal (01 veya 1 0) olabilir, belirsizlik var 0001 0 1 001 0 1 0 0011 00 11 000 1 1 0 TV(00) ara durumundan sonra TÜVEYA kapılarının gecikmelerine bağ lı olarak iki hal (01 veya 1 0) olabilir, belirsizlik var 11 0 1 0 1 111 0 1 0 1111 00 0 1 0001 0 1 0 1 0 1 0 11 0 1 0 0 111 00 1 0001 0 1 001 0 1 1 0 1 0 1 0 1 0 11 00 b) Devrenin en genel durumda analizi tvSRTV 0 1 0001 0 1 0 1 0 1 0 11 0 1 0 1 0001 0 1 001 0 1 1 0 1 0 1 0 c) Devrenin giriş lerine 11 gelmeyeceğ i koş ulu altında sadeleş miş doğ ruluk tablosu ySRYY ' 00001 001 0 1 0 1 0 1 0 1 001 0 1 0 1 0 1 11 0 1 0 d) Sonuçta varılan doğ ruluk tablosu Ş ekil 6.6 SR belek elemanın devresi88 Ş ekil 6.6 b deki tabloda devrenin giriş ine hiçbir zaman SR (11 ) uygulanmayacağ ı düş ünülürse TV nin hiçbir zaman TV(00) durumuna gelmeyeceğ i görülür. Bu varsayım altında, tablodaki ilk dört satır silinebilir. Diğ er taraftan TV sütunlarında 11 durumu hiç görünmemektedir. O nedenle TV(11 ) e karş ı gelen, tablodaki ikinci dörtlü satır da silinebilir. Giriş ine hiçbir zaman 11 gelmeme koş ulu altında basitleş tirilmiş tablo Ş ekil 6.6 c de verilmiş tir. Bu tabloda ki çıkış ların her biri biri diğ erinin tümleyenidir. O halde V=T' dür. Ş ekil 6.6 d de varılan sonuç tablo, SR flip flopunun tanım bağ ıntısına denktir. SR belek elemanının çalış ması, giriş ler birbirinin zıttı iken S nin dediğ ini yapıyor biçiminde de yorumlanabilir. TÜVEYA kaplarıyla gerçekleş tirilen devreye benzer TÜVE kapılarıyla gerçekleş tirilen bir devre Ş ekil.6.7 de verilmiş tir. TÜVEYA' lı devredekine benzer bir analizle, ş ekilde görülen doğ ruluk tablosuna varılır. Yalnızca TÜVEYA'lı devredeki 11 giriş inin özelliğ i TÜVE li devrede 00 giriş i altında oluş ur ve S ile R yer değ iş tirmiş gibi görülür. Bu elemanı S*R* ile gösterelim. S*R* bellek elemanının çalış ması, giriş ler birbirinin zıttı iken 'R nin dediğ ini yapıyor' biçiminde de yorumlanabilir. TÜVE' li devre ilerde tanımlayacağ ımız gecikme (Delay) bellek elemanın gerçekleş tirilmesinde kullanılacaktır. Ş ekil 6.5 ve 6.7 de verilen devrelere temel bellek elemanları denir. R*(reset) S*(set) y (Y) y ' (Y ' ) S*R* y 00 01 11 10 0 1 K100 K110 Y Ş ekil 6.7 TÜVE kapılarıyla gerçekleş tirilen bir temel bellek elemanı Saatli SR bellek elemanı: Yukarıda tanıttığ ımız SR bellek elemanı asenkron makinelerde kullanılır. Saatli (Senkron) makinelerde ise saatli bellek elemanları kullanılır. Ş imdi saatli SR bellek elemanını inceleyelim. SR giriş lerini birer uçları saat darbesine bağ lı VE kapılarından geçirdiğ imizde, Ş ekil 6.8 görülen ve tanım tablosu verilen, saatli SR bellek elemanını elde ederiz. Saat giriş i 0 olduğ unda VE kapılarının çıkış ları 0 olacak ve bellek elemanı bulunduğ u durumunu koruyacaktır. Saat giriş i 1 olduğ unda ise SR giriş leri VE kapılarının çıkış larına aktarılır. Bellek elemanı giriş lerin ve durumun aldığ ı değ erlere bağ lı olarak çalış ır. R S(set) y (Y) y ' (Y ' ) Saat(CLK) S S y y R SR y 00 01 11 10 0 1 00K1 10K1 Y = S + R ' y S R= 0 R(reset) Grafik gösterim Bir sonraki durum fonksiyonu Saat y (Y) y (Y') Ş ekil 6.8 Saatli SR bellek elemanı devresi, grafik gösterimi ve tanım tablosu89 Tanım fonksiyonundaki y, saatten önceki ş imdiki durumu; Y ise saatten sonraki bir sonraki durumu göstermektedir. O nedenle tanım fonksiyonunda t değ iş ken olarak görülmemektedir. Tanım fonksiyonun ifadesi SR=11 girişlerinin hiçbir zaman uygulanmayacağ ı varsayımıyla bulunmuş tur. SR=0 bağ ıntısı bu koş ulu ifade etmektedir. Pratikte saatli SR bellek elemanı nadiren üretilir, ilerde göreceğ imiz saatli D ve JK bellek elemanları daha yaygın bir biçimde üretilmektedir. Saatli Gecikme D ( delay) bellek elemanı: TÜVE kapılarıyla daha önce oluş turduğ umuz devreyi temel alarak Ş ekil 6.9 da oluş turulan devre, D bellek elemanıdır. Giriş ine gelen iş areti, iki saat darbesi aralığ ında çıkış ında tutar. Bir baş ka deyiş le giriş geciktirilerek, çıkış ta tutulur. Birinci saat darbesinden sonra gelen giriş ler çıkış a etkili olmaz. Saat darbesi yokken (0) geri beslemeli TÜVE kapılarının giriş leri 11 olup durum değ iş mez, yani bellek elemanı çalış maz. Saat darbesi varken (1 ) D = 1 ise çıkış da 1 , D = 0 ise çıkış 0 olur. Ş ekil 6.9 de Gecikme bellek elemanın devresi tanım tablosu (bir sonraki durum fonksiyonu) ve durum diyagramı verilmiş tir. R* y (Y) y ' (Y ' ) Saat(CLK) S* D D y 01 0 1 01 01 Y = D Grafik gösterim Bir sonraki durum fonksiyonu Saat y (Y) y' (Y') y y D 0 1 1 0 01 Durum diyagramı Ş ekil.6.9. Gecikme bellek elemanı devresi, grafik gösterilimi, tanım tablosu ve durum diyagramı Saatli JK bellek elemanı: SR bellek elemanı gibidir; yalnızca JK=11 giriş i altında belirsizlik olmayıp, ş imdiki durum zıddına dönüş ür. Ş ekil 6.1 0 da devresi tanım tablosu, grafik gösterimi, ve durum diyagramı verilmiş tir. Görüldüğ ü gibi TÜVEYA kapılarının çıkış ları 11 , biri diğ erinin tümleyeni, olamayacağ ı için TÜVEYA kapılarının giriş leri de hiçbir zaman 11 olmayacaktır, yani SR de görülen belirsizlik burada görülmeyecektir.90 R y (Y) y ' (Y ' ) Saat(CLK) S K J J y y K JK y 00 01 11 10 0 1 0011 1001 Y = J y' + K' y Grafik gösterim Bir sonraki durum fonksiyonu Saat y (Y) y (Y') 0 1 01 01 10 00 10 00 11 11 Durum diyagramı Ş ekil 6.1 0 JK bellek elemanı devresi, tanım tablosu, grafik gösterilimi, durum diyagramı Saatli T tetikleme bellek elemanı Tek giriş li bir bellek elamanıdır. Giriş ine 0 geldiğ inde durumunu korur, 1 geldiğ inde ise durumunu zıddına dönüş türür (togling). Bu elemana iliş kin bilgiler Ş ekil 6.11 da verilmiş tir. R y (Y) y ' (Y ' ) Saat(CLK) S T y y T y 01 0 1 01 0 Y = T y' + T ' y T Grafik gösterim Bir sonraki durum fonksiyonu Saat y (Y) y (Y') 0 1 0 1 1 00 Durum diyagramı 1 Ş ekil 6.11 . T tekikleme bellek elemanı devresi ,tanım tablosu, grafik gösterimi ve durum diyagramı91 6.5 Bellek elemanlarının tetiklenmesi Bellek elemanlarının durumunun değ iş mesi, giriş lerindeki anlık değ iş imlerle olmaktadır. Bu durum değ iş melerine belek elemanın tetiklenmesi (trigering) denir. Asenkron belleklede bu değ iş imler seviye biçimindedir, giriş seviyesindeki değ iş imler durum değ iş imlerine neden olurlar. Saatli bellek elemanlarında ise tetikleme saat darbeleriyle sağ lanır. Yani giriş iş aretlerine bağ lı olarak, ancak saat darbesi varken durum değ iş imi olabilir. Saatli bellek elemanlarında (makinelerde) tetikleme iki türlüdür. Saat iş areti 1 değ erini aldığ ında tetikleme (durum değ iş imi) olur, 0 değ erini aldığ ında ise giriş ler değ iş se bile tetikleme olmaz. Böyle çalış an saatli bellek elemanlarına latch denir. ikinci tür tetikleme, kenar tetiklemesidir. Saatli bellek elemanlarında (makinelerde) saat darbesinin yükselen veya alçalan kenarında tetikleme (durum değ iş imi) olur, bunun dış ındaki bütün aralıklarda ( 0 veya 1 ) ise giriş ler değ iş se bile tetikleme olmaz. Saat darbesi Ş ekil 6.1 2 de görüldüğ ü gibi pozitif veya negatif olabilir. Pozitif darbenin 0 dan 1 e geçiş kenarına yükselen veya pozitif kenar (leading , positive edge), 1 den 0 a geçiş kenarına da düş en veya negatif kenar (trailing, negative edge) denir. Benzer biçimde negatif darbenin 0 dan 1 e geçiş kenarına yükselen veya pozitif kenar (leading , positive edge), 1 den 0 a geçiş kenarına da düş en veya negatif kenar (trailing, negative edge) denir. Bir saatli kenar tetiklemeli bellek elemanı, ya yükselen kenarda yada düş en kenarda tetiklenebilir. Ş ekil 6 1 2 de pozitif ve negatif saat darbeleri için tetikleme kenarları gösterilmiş tir. Pozitif darbe Düş en (negatif) kenar Yükselen (pozitif) kenar 1 0 Pozitif darbe yükselen kenar Değ iş im yok Değ iş im yok Değ iş im olabilir 0 1 Pozitif darbe düş en kenar Değ iş im yok Değ iş im yok Değ iş im olabilir 0 1 Negatif darbe Düş en (negatif) kenar Yükselen (pozitif) kenar Negatif darbe düş en kenar Değ iş im yok Değ iş im yok Değ iş im olabilir 0 1 Negatif darbe yükselen kenar Değ iş im yok Değ iş im yok Değ iş im olabilir 0 1 1 0 Ş ekil 6.1 2 Saat darbeleri ve tetikleme kenarları Ş imdi saatsiz, saatli bellek elemanları ve saatli ardış ıl devrelerde karş ılaş ılan tetikleme sorunlarını inceleyelim. İ ki giriş li bellek elemanlarında, ard arda iki giriş uygulandığ ını düş ünelim. Öyleki iki giriş değ iş kenin de değ iş mesini gereksin. Örneğ in 01 -1 0 giriş leri gibi. Pratikte bu giriş lerin ard92 arda uygulanması mümkün olmaz, çünkü herhangi bir giriş değ iş kenindeki gecikme 1 0- 00-1 0 veya 01 -11 -1 0 dizisinin uygulanması sonucunu doğ urur. Yani istemediğ imiz halde arada 00 veya 11 giriş i uygulanmış olur. Ş ekil 6.6 ve 6.7 asenkron temel bellek elemanları için sırasıyla 11 ve 00 giriş lerinin uygulanmaması gereken giriş ler olduğ u belirtilmiş ti. Ortaya bir sorun çıkmaktadır. Çözüm Ş ekil 6.6 daki asenkron bellek elemanı için her bir giriş ten sonra 00 giriş inin uygulanmasıdır. 01 -1 0 giriş dizisi yerine 01 -00-1 0 giriş dizisini uygularsak giriş değ iş kenlerinin ikisi birden aynı anda değ iş mek zorunda kalmaz ve istenmeyen 11 giriş i arada gelemez. Diğ er taraftan bu bellek elemanı için 00 giriş i altında durum değ iş memektedir, sanki 01 den sonra 1 0 uygulanmış gibi olmaktadır. Ş ekil 6.7 deki asenkron temel bellek elemanı için benzer çözüm her bir giriş ten sonra 11 giriş inin uygulanmasıdır. Asenkron bellek elemanlarında tetikleme süresince durumun devamlı değ iş mesi de bir tetikleme sorunu yaratır. Örneğ in asenkron JK bellek elemanı 11 giriş i altında 0 ve 1 durumları arasında devamlı durum değ iş tirir. Bu olaya çevrim ( cycling) denir. O nedenle uygulamada iki giriş li asenkron bellek elemanı olarak JK değ il SR bellek elemanı kullanılır. Yukarıda asenkron bellek elemanlarında istenmeyen giriş ler ve çevrim için tetikleme sorunlarını inceledik, ş imdi de senkron bellek elemanları için inceleyelim. istenmeyen giriş ler saat darbelerinin olmadığ ı aralığ a düş ürülürse , saat darbeleri olmadığ ında bellek elemanı çalış mayacağ ından çözüme ulaş ılır. Ş ekil 6.1 3 te bu çözüm canlandırılmış tır. S R 1 1 11 0 0 11 0 saat Ş ekil 6.1 3 Senkron SR bellek elemanı için istenmeyen giriş lere iliş kin tetikleme sorununu çözümü Senkron JK bellek elemanında 11 giriş i altında görülen çevrimin oluş masını önlemek için saat darbesinin yükselen veya düş en kenarında tetikleme yapılır. Tetikleme anlık olacağ ından, durum ancak bir defa değ işebilecektir. Kenar tetiklemeli bellek elemanlarının yapısını ilerde ayrıca göreceğ iz. Bellek elemanlarında karş ılaş ılan tetikleme sorunlarının benzerleri en genel hali Ş ekil 6.2 de verilen ardış ıl devreler içinde söz konusudur. Asenkron ardış ıl devreler (makineler) bu dersin kapsamı d ış ında tutulduğ undan incelenmeyecek yalnızca senkron makineler incelenecektir.93 ? t c ? t b ? t c ? t s ? t s > ? t b +? t c bir saat darbesi süresinde 1 durum değ iş mesi ? t s ? t s < ? t b +? t c bir saat darbesi süresinde 2 durum değ iş mesi Ş ekil 6.1 4 Senkron ardış ıl devrede saat darbe uzunluğ u Senkron ardış ıl devrelerde saat darbe uzunluğ u ( ? t s ), bellek elemanları gecikmesinden ( ? t b ) daha fazla, bellek ( ? t b ) ve kombinezonsal devredeki gecikmesi ( ? t c ) toplamından ( ? t b +? t c ) daha küçük olmalıdır. Yani ? t b < ? t s < ? t b +? t c olmalıdır. Bellek elemanlarının çıkış ında yeni bir durumu gözleyebilmek için ? t b < ? t s olmalıdır. ? t s > ? t b +? t c olursa ise bellek elemanları 1 saat darbesi zaman aralığ ında iki veya daha fazla çalış mış olur (Ş ekil 6.1 4). Oysa istenen her bir saat darbesi için, belli bir giriş altında, yalnızca bir durum değ iş ikliğ inin olasıdır. Bu bağ ıntının sağ lanması için senkron bellek elemanlarını, kenar tetiklemeli yapmak uygun olur. Tetikleme darbenin bir kenarında olacağ ından, ? t s süresi minimuma inecek ve ? t s < ? t b +? t c eş itsizliğ i her zaman sağ lanacaktır. Kenar tetiklemeli D belek elemanı için ? t b < ? t s iliş kisi, bir örnek olarak, bu bölümde ayrıca incelenecektir. Senkron ardış ıl devrelerde karş ılaş ılan bir baş ka tetikleme sorunu da, birden fazla durum değ iş keninin aynı anda değ er değ iş tirmesidir. Bellek elemanın çıkış ının gecikmelerindeki farklılıklar dolayısıyla devre istenmeyen durumlardan geçebilir. Örneğ in iki durum değ iş kenli bir makinede 01 durumundan 1 0 durumuna geçerken arada 00 (veya 11 ) istenmeyen durumundan geçilebilir. Kenar tetiklemeli bellek elemanları kullanıldığ ında bu sorunla karş ılaş ılmaz. Nedeni istenmeyen durum oluş tuğ unda tetikleme iş leminin tamamlanmış olmasıdır. Bellek elemanları, yeni bir tetikleme oluncaya kadar (yeni bir darbe kenarına kadar) çalış mazlar. Bellek elemanlarının saat darbelerinin kenarlarında tetiklenmesi, üç farklı biçimde yapılabilir. Birincisi bir RC devresiyle keskin darbeler (spike) elde etmektir. ikincisi ana ve bağ ımlı (master slave) , üçüncüsü ise kenar tetiklemeli bellek elemanlarıdır. Son ikisini ayrı ayrı inceleyeceğ iz. Saat darbelerinin kenarında tetiklenen bellek elemanların bulunduğ u ardış ıl devrelerin daha hızlı çalış tığ ı söylenemez. Devrenin çalış ma hızına tesir eden saat darbesinin 1 olma süresi değ il, saat darbelerinin frekansıdır.94 Ana-bağ ımlı (Master slave) bellek elemanı: Ana-bağ ımlı bellek elemanları, ardarda bağ lı iki bellek elemanı ve bir tümleyen kapısından oluş ur. Birinci bellek elemanına aa, ikincisine ise bağ ımlı bellek elemanları denir. SR nin ana-bağ ımlı yapısı Ş ekil 6.1 5 de verilmiş tir. S y y R S R CLK Y Y' Ana bellek Bağ ımlı bellek 0 1 1 0 Eş ik gerilimi:: eş ik altı saat geriliminin 0, eş ik üstü saat geriliminin 1 algılandığ ı deger Anabelleğ in çalış madığ ı, bağ ımlı belleğ in çalış tığ ı zamanı gösterir Anabelleğ in çalış tığ ı, bağ ımlı belleğ in çalış madığ ı zamanı gösterir S Q Q R Ş ekil 6.1 5 Ana-bağ ımlı (master-slave) SR bellek elemanı Bellek elemanları, saat giriş lerini, saat darbesinin yükselen ve düş en kenarlarında, belli bir eş ik geriliminin altında 0, üstünde ise 1 olarak algılanırlar (Ş ekil 6.1 5). Ana- bağ ımlı bellek elemanının saat giriş indeki pozitif saat darbesi, tümleyen kapısı nedeniyle bağ ımlı bellek elemanının saat giriş inde negatif darbe oluş turur. Buna göre giriş teki saat darbesi 0 dan 1 e geçtiğ inde ve 1 olduğ unda (ş ekilde ince çizgi) bağ ımlı bellek elemanı çalış maz, çünkü bağ ımlı bellekteki saat giriş i (ş ekilde ince çizgi) 0 olmuş tur. Ana bellek elemanı ise çalış ır, giriş lerine bağ lı olarak, SR tanımına uygun çıkış ları verir. Giriş teki saat darbesi 1 den 0 a düş erken ve 0 olduğ unda (ş ekildeki kalın çizgi) ana bellek çalış maz. Bağ ımlı bellek çalış ır çünkü bağ ımlı bellek giriş indeki darbe 0 dan 1 e yükselir ve 1 değ erini alır (ş ekildeki kalın çizgi). Bağ ımlı bellek giriş i Q, Q' olduğ undan tanım gereğ ince Y = Q ve Y' = Q' olur. Ş imdi ana-bağ ımlı bellek devresinin çalış masını düş ündüğ ümüzde; giriş teki saat darbesinin yükselen kenarında, tanım uyarınca SR giriş lerine göre ana bellek elemanın çıkış ları oluş ur . Bu çıkış bağ ımlı bellek elemanın giriş inde kalır çünkü ikinci bellek elemanı çalış mamaktadır. Saat darbesinin düş en kenarında ise ikinci bellek elemanın giriş leri aynen Y, Y' çıkış larında birlikte görülecektir, çünkü SR için giriş ler birbirinden farklı ise tanım gereğ ince Y=S dir. Yani ana-bağ ımlı bellek elemanı saat darbesinin düş en kenarında, giriş ler için SR bellek elemanı tanımına uygun çıkış ları vermektedir. Ana-bağ ımlı bellek elemanının saat darbesinin yükselen kenarında çalış masını saat giriş ine ilave bir tümleyen kapısı bağ layarak sağ lamak mümkündür. Bu durumda saat darbeleri negatif darbeler olarak düş ünülmelidir (Ş ekil 6.1 2); düş en kenarda ana bellek elemanı yükselen kenarda ise bağ ımlı bellek elemanı ve dolayısıyla SR ana-bağ ımlı bellek elemanı çalış acaktır. Yukarıda SR bellek elemanı için incelediğ imiz ana-bağ ımlı yapı, diğ er tip bellek elemanları için de benzer biçimde gerçekleş tirilir. Örneğ in D bellek elemanının çıkış larını bir SR bellek elemanı giriş lerine bağ layarak ana-bağ ımlı bir D bellek elemanı elde edilebilir. Ancak JK için benzer iş lem yapılamaz çünkü J = K = 1 giriş i için saatin 1 olduğ u sürece ana bellek elemanı çevirime girer. O nedenle ana-bağ ımlı JK bellek elemanı için çözüm olacak bir devre Ş ekil 6.1 6 te verilmiş tir. Bu devrenin saat darbesinin95 düş en kenarında tetiklenen bir JK bellek elemanı olarak çalış tığ ını S*R* tanımından yararlanarak gösteriniz. Ş ekil 6.1 6 Saat darbesinin düş en kenarında tetiklenen JK bellek elemanı Kenar tetiklemeli bellek elemanları: Belek elemanlarının saat darbelerinin geçiş lerinde çalış masını sağ layan üçüncü alternatif, kenar tetiklemeli bellek elemanlarıdır. Saat darbesinin seviyesi belli bir eş ik değ erini aş arken bellek elemanı çalış ır ; ondan sonra aynı eş ik değ ere aynı yönden (yükselen veya düş en) ikinci defa gelene kadar bellek elemanları, giriş lere karş ılık vermezler, çalış mazlar. Darbe kenarı ile tetiklenen gecikme bellek elemanına iliş kin lojik devre Ş ekil 6.1 7 te verilmiş tir. Bu devrede temel bellek elemanı (ikinci seviye) giriş lerine birer temel bellek elemanı (birinci seviye) bağ lanmış tır. Birinci seviyedeki temel bellek elemanları, darbenin düş en kenarında, ikinci seviyedeki temel belleğ in durumunu koruyucu giriş leri (11 ) sağ lar. Aynı bellek elemanları darbenin yükselen kenarında ise; ikinci seviyedeki temel belleğ in giriş inin, çıkış ına aktarılmasını sağ lar. 1 R* 2 3 4 6 5 s* CLK D y(Y) y ' (Y') Birinci seviye temel bellek elemanları İ kinci seviye temel bellek elemanı Ş ekil 6.1 7 Kenar tetiklemeli gecikme bellek elemanın lojik devresi Ş imdi devrenin analizini yapalım. Saat darbesi 0 iken D = 0 ve D = 1 giriş leri için birinci seviyedeki temel bellek elemanlarının çıkış ları ş ekil 6.1 8 a ve b de verilmiş tir. ikinci seviyedeki (çıkış taki) temel bellek elemanı gösterilmemiş tir. R* y (Y) y ' (Y ' ) Saat(CLK) S* J R* S* K96 1 R* 2 3 4 s* CLK=0 D=0 1 R* 2 3 4 s* CLK=0 D=1 0 1 1 1 1 1 1 0 a. CLK=0, D=0 analizi b. CLK=0, D=1 analizi aa c saat b saat b d 1 R* 2 3 4 s* CLK=1 D=0 1 R* 2 3 4 s* CLK=1 D=1 0 1 0 1 1 0 1 0 c. CLK=1, D=0 analizi d. CLK=1, D=1 analizi Ş ekil 6.1 8 Darbe kenarı tetiklemeli gecikme bellek elemanı lojik devresinin analizi Saat = 0 iken D giriş i ne olursa olsun S* = R* = 1 dir. Buda çıkış taki ikinci seviye temel bellek elemanın durumunu değ iş tirmemesi yani çalış maması demektir . 4 kapısı D ' yi gösterirken, 1 kapısı D yi gösterir (Ş ekil 6.1 8 a ve b). Ş ekil 6.1 8 a da saat darbesi 0 dan 1 e çıkarıldığ ında, Ş ekil 6.1 8 c görülen değ erler gözlenir. Üç kapısının çıkış ı 0 olacak, diğ er kapı çıkış ları ise eski değ erlerini koruyacaktır. S*R* = 1 0 giriş i için çıkış taki temel belek elemanı çıkış ı, R* = 0 olduğ undan, D = 0 olan giriş e eş it olacaktır. Benzer biçimde Ş ekil 6.1 8 b deki devrenin 0 olan saat giriş i, 1 kılındığ ında; Ş ekil 6.1 8 d deki değ erler gözlenir. Bu sefer 2 kapısının çıkış ı 0 olacak, ama diğ er kapıların çıkış ları değ iş meyecektir. S*R* = 01 giriş i için çıkış taki temel belek elemanı çıkış ı, R* = 1 olduğ undan, D=1 olan giriş e eş it olacaktır. Sonuç olarak, Ş ekil 6.1 7 te verilen kenar tetiklemeli bellek elemanı, saat darbesinin yükselen kenarında, D bellek elemanın tanımına uygun çıkış lar verir. Yani saat darbesinin yükselen kenarında giriş çıkış a aktarılmaktadır. Ş ekil 6.1 8 c de saat darbesi 1 den 0 a düş tüğ ünde; Ş ekil 6.1 8 a daki değ erler gözlenir. 3 kapısının çıkış ı 1 olacak, diğ er kapı çıkış ları ise eski değ erlerini koruyacaktır. S*R* = 11 olduğ undan, çıkış taki temel bellek elemanı . Benzer biçimde Ş ekil 6.1 8 d de saat97 darbesi 1 den 0 a düş tüğ ünde; Ş ekil 6.1 8 b daki değ erler gözlenir. 2 kapısının çıkış ı 1 olacak, diğ er kapı ç ıkış ları ise eski değ erlerini koruyacaktır. S*R* = 11 olduğ undan, çıkış taki temel bellek elemanı çalış mayacak yani durumu değ iş meyecektir. Sonuç olarak, Ş ekil 6.1 7 te verilen kenar tetiklemeli bellek elemanı, saat darbesinin düş en kenarında çalış mayacaktır. Yani ş ekil 6.1 7 de verilen devre, saat darbesinin yükselen kenarda tetiklenen bir D bellek elemanınıdır. Ş imdi de saat darbesinin yükselme süresinde, çalış ma koş ullarını daha detaylı olarak analiz edelim. Ş ekil 6.1 8 a daki devrede D = 0 iken saat darbesini 1 ’e çıkarırsak; 4 ve 1 kapılarının çıkış ları değ iş mezken, S* = 1 ve R* = 0 olur (Ş ekil 6.1 7 c). Buda Ş ekil 6.1 7 teki devrede Y=0 olması, yani çıkış ın D giriş ine eş it olması ve saat darbesinin yükselen kenarında tetiklenmesi demektir. Saat darbesi 0 dan 1 e yükselirken belli bir süre önce, ki ona oturma zamanı (set up time) denir, D giriş inin değ iş memesi gerekir. Oturma zamanı 4 ve 1 kapılarındaki toplam gecikme kadardır. Bu süre D = 0 giriş i için 1 kapı çıkış ının 0 da kalma süresidir ve ancak o zaman saat 0 dan 1 e geçerken D = 0 giriş i algılanabilir. Bir baş ka deyiş le D bellek elemanı tarafından D = 0 giriş inin algılanması isteniyorsa; tetikleme eş iğ inden önce, en az oturma süresi kadar bir zaman için, D = 0 giriş inin giriş te tutulması gerekir. Oturma süresi içinde D = 1 yapılırsa, bu algılama gerçekleş mez( Bakınız Ş ekil 6.1 9). Oturma zamanı Tutma zamanı Giriş in değ iş memesi gereken zaman aralığ ı Tetikleme eş iğ i zaman saat gerilimi Ş ekil 6.1 9 Yükselen kenarda tetikleyen darbenin değ iş imi ve giriş sınırlaması D giriş i, saat darbesi tetikleme eş iğ ini aş tıktan sonra da, tutma süresi (holding time) denen zaman aralığ ında , değ iş memelidir. Bu tutma süresi, 3 kapı çıkış ı (R*) nin 1 den 0 a geçme süresidir ve ancak o zaman saat 0 dan 1 e geçerken D = 0 giriş i algılanabilir. Bir baş ka deyiş le D = 0 giriş inin D bellek elemanı tarafından algılanması isteniyorsa ; D = 0 giriş inin, tetikleme eş iğ inden sonra en az tutma süresi kadar, giriş te tutulması gerekir. Tutma süresi içinde D =1 yapılırsa, bu algılama gerçekleş mez (Bakınız Ş ekil 6.1 9). Sonuç olarak D=0 giriş inin, D bellek elemanı tarafından algılanabilmesi için en az oturma +tutma zamanı kadar bir zaman aralığ ında, giriş te tutulması zorunludur. (Bakınız Ş ekil 6.1 9) Yukarıda D=0 giriş i için saat darbesinin yükselen kenarındaki durumu inceledik, benzer biçimde, D=1 giriş inde de zamanlama koş ulları aynıdır. Yani oturma ve tutma süreleri toplam süresince D=1 değ eri değ iş memelidir.98 Burada yalnızca D belek elemanın kenar tetiklemeli lojik devresi verilmiş ve analiz edilmiş tir. Diğ er bellek elemanları için de benzer biçimde çalış an devreleri vardır ve genellikle kataloglarda verilir. 6.6 Tüm devre olarak bellek elemanları yardımcı giriş leri Bir ardış ıl devrenin baş langıç durumunun (D 0 ) istenildiğ i gibi seçilebilmesi gerekir. Buda her bir bellek elemanına karş ı düş en, bağ ımsız durum değ iş keni (y) nin, baş langıçta istenildiğ i gibi seçilebilmesi demektir. Bir baş ka değ iş le bellek elemanlarının baş langıç durumunu, 0 veya 1 den herhangi birine getirebilmemiz gerekir. O nedenle baş langıç durumunu 0 a getiren bir Clear ile, baş langıç durumunu 1 e getiren bir preset yardımcı giriş lerine gereksinim vardır. Bu giriş ler asenkron olarak çalış ırlar, yani saat ve giriş değ iş kenlerinden bağ ımsız olarak baş langıç durumunu 0 veya 1 e getirirler. Bellek elemanları, iki tanesini bir arada bulunduran, küçük ölçekli (SSI) tümleş ik devreler olarak satılırlar. Yardımcı giriş leri de içeren bir JK bellek elemanı tümleş ik devresinin ş ematik gösterilimi ve tanım tablosu Ş ekil 6.20 da verilmiş tir. Clear ve Preset giriş lerinde bir yuvarlak varsa; bu giriş lerin 0 olması halinde, clear ve preset iş levleri yerine getirilir. Clear ve Preset giriş lerinde bir yuvarlak yoksa; bu giriş lerin 1 olması halinde, clear ve preset iş levinin yerine getirilir. Saat darbesinde aş ağ ıya doğ ru bir ok düş en kenarda tetiklenen bir bellek elemanını, yukarıya doğ ru bir ok ise yükselen kenarda tetiklenen bir bellek elemanını gösterir. Bir 7476 JK tümleş tirilmiş devresindeki bağ lantılar ve uçların ne oldukları Ş ekil 6.20 da verilmiş tir. Normal olarak bu tüm devreler 5 veya 1 0 voltluk (V CC ) doğ ru gerilimle beslenirler. Clear ve preset giriş li olan bellek elemanları olduğ u gibi yalnızca clear veya yalnızca preset giriş leri olan bellek elemanları da piyasada bulunabilir. y yy ' J CLK K preset clear Giriş ler Çıkış lar clear preset CLK J K yy ’ 0 0 x x x kararsız 01xxx01 10xxx10 11^ 00yy ’ 11^ 0101 11^ 1010 11^ 11y ’y J Q Q K J Q Q K CLK 1 CLK 6 Preset 2 Preset 7 Clear 3 Clear 8 J a 4 12 J b 16 K a 15 Y a 11 Y 13 to 10 Y 14 Y 16 K b Besleme5 Ş ekil 6.20 Belek elemanlarının çeş itli giriş leri ve bir JK tümleş tirilmiş devresi99 B BÖ ÖL LÜ ÜM M 7 7 A AR RD DI IŞŞ I IL L D DE EV VR RE EL LE ER Rİİ N N A AN NA AL Lİİ Z Zİİ Bundan önceki bölümde ardış ıl devrelerin senkron(saatli) ve asenkron olarak sınıflandırıldığ ını gördük, bu ve bundan sonraki bölümlerde yalnızca saatli (senkron) ardış ıl devreler üzerinde duracağ ız. 7.1 Saatli ardış ıl devrelerin analizi Bilindiğ i gibi analiz, elemanlar ve bağ lantılar belli iken, giriş lere karş ı düş en çıkış ların ne olduğ unu bulmaktır. Bir baş ka deyiş le devrenin giriş lere cevabını belirlemektir. Üç analiz yöntemini inceleyeceğ iz, öyle ki her biri daha önce verdiğ imiz bir modele iliş kin olacak. Birinci yöntem, matematiksel model olarak tanıtılan, bir sonraki durum ve çıkış fonksiyonlarının bağ ımsız değ iş kenler (giriş ve ş imdiki durum değ iş kenleri) cinsinden bulunmasıdır. iki ve üçüncü yöntemler, daha önce tanıtılan durum tablosu ve durum diyagramına dayandırılan yöntemlerdir. Bu üç yöntemden birinden diğ erine kolayca geçilebilir. Üç farklı yöntemin kullanılması, analizin amacına bağ lı olarak birinin diğ erinden daha çabuk sonuç verebilmesidir. Örneğ in bir sonraki durum ve çıkış fonksiyonları ile analiz yöntemi, bir lojik devrenin bilgisayar simulasyonu açısından, diğ erlerine göre daha uygundur. Diğ er taraftan belli bir giriş dizisi için çıkış dizisinin ne olduğ u isteniyorsa, durum diyagramı veya durum tablosu yöntemleri daha kolay sonuca götüreceğ inden tercih edilir. Bu yöntemleri Moore ve Mealy makineleri üzerinde birer örnekle inceleyelim. 7.2 Örnek bir Moore makinesi analizi Daha önce tanımladığ ı gibi Moore makinesinde çıkış lar yalnızca durum değ iş kenlerinin fonksiyonudur. Tek giriş ve tek çıkış lı bir Moore makinesi örneğ i Ş ekil 7.1 de verilmiş tir. Görüldüğ ü gibi çıkış yalnızca bir durum değ iş kenin fonksiyonudur, giriş değ iş kenine doğ rudan bağ lı değ ildir, yani Moore makinesidir. Moore Makinası x CLK z J y y K J y y K 1 1 1 1 2 2 2 2 x CLK z Ş ekil 7.1 Analizi için örnek olarak seçilmiş bir Moore makinesi1 00 1.1.1 Matematiksel model ve analiz Ş ekilden görüldüğ ü gibi Z= y 2 dir. Birinci JK bellek elemanına iliş kin bir sonraki durum fonksiyonunu, JK nın tanım bağ ıntısından yararlanarak bulabiliriz. Birinci bellek elemanın tanım bağ ıntısı Y 1 = y 1 K' 1 + y' 1 J 1 dır. Diğ er taraftan birinci bellek elemanına iliş kin giriş ler J 1 = x K 1 = x y' 2 dir. Bunları birinci bellek elemanının yukarıdaki tanım bağ ıntısında yerine korsak; birinci bellek elemanına iliş kin bir sonraki durum fonksiyonunu, bağ ımsız giriş ve durum değ iş kenleri cinsinden ifade etmiş oluruz. Y 1 = y 1 (x y' 2 )' + y' 1 (x) = y 1 (x'+ y 2 ) + y' 1 x Y 1 (x, y 1 ,y 2 ) = y 1 x' + y 1 y 2 + y' 1 x Benzer biçimde ikinci bellek elemanına iliş kin bir sonraki durum fonksiyonunu da Y 2 = y 2 K' 2 + y' 2 J 2 dır. J 2 = x K 2 = x? y' 1 = x' y' 1 + x y 1 Y 2 = y 2 (x? y' 1 )' + y' 2 x Y 2 (x, y 1 , y 2 )= x' y 1 y 2 + xy' 1 y 2 + x y' 2 biçiminde buluruz. Görüldüğ ü gibi iki bellek elemanı olduğ u için iki bir sonraki durum fonksiyonu vardır. Olabilecek durumlar: 00 (Y 1 = 0, Y 2 = 0 ), 01 (Y 1 = 0, Y 2 = 1 ), 1 0 (Y 1 = 1 , Y 2 = 0 ), 11 (Y 1 = 1 , Y 2 = 1 ) olmak üzere dört tanedir. Örneğ imizdeki Moore makinesinin matematiksel modeli M = { G = {0,1 }, Ç = { 0,1 } , D = {00,01 ,1 0,11 }, Y = {Y 1 = y 1 x' + y 1 y 2 + y' 1 x , Y 2 = x' y 1 y 2 + xy' 1 y 2 + x y' 2 }, Z = { z = y 2 } , D 0 ={ bağ ımsız seçilebilen 00,01 ,1 0,11 den biridir}} dir. Bu matematiksel modelden yararlanarak D 0 = 00 baş langıç durumunda x = 1 01 giriş dizisi için devrenin analizini yapalım. 1 . saat darbesi düş en kenarından önce: x = 1 , ş imdiki durum ( D 0 ) = 00 (y 1 = 0, y 2 =0) , z=0 dır. 1 .saat darbesinin düş en kenarından sonra: x = 1 , bir sonraki durum = 11 , Y 1 (x = 1 , y 1 = 0, y 2 = 0 ) = 1 , Y 2 (x =1 , y 1 = 0, y 2 = 0 ) = 1 , z =1 dır. 2. saat darbesinin düş en kenarından önce x = 0, ş imdiki durum =11 (1 . saat darbesi için bir sonraki durum), z = 1 dir. 2.saat darbesinin düşen kenarından sonra: x=0, bir sonraki durum = 11 , Y 1 (x=0,y 1 =1 ,y 2 =1 ) = 1 , Y 2 (x = 0, y 1 = 1 , y 2 = 1 ) =1 , z =1 dır. 3. saat darbesinin düş en kenarından önce x = 1 , ş imdiki durum =11 (2. saat darbesi için bir sonraki durum), z = 1 dır. 3.saat darbesinin düş en kenarından sonra: x = 1 , bir sonraki durum =1 0, Y 1 (x = 1 , y 1 = 1 , y 2 = 1 ) = 1 , Y 2 (x = 1 , y 1 = 1 , y 2 = 1 ) = 0, z = 0 dır. Buna göre x =1 01 dizisine karş ılık, çıkış ta 11 0 dizisi gözlenecektir.1 01 7.2.2 Durum tablosu ve analiz Durum tablosu satırlarında ş imdiki durumlar, sütunlarında bütün olabilecek giriş ler, elemanlarında da bir sonraki durum ve çıkış ların bulunduğ u bir matristir. Satır ve sütunlardaki durum ve giriş leri, Karnaugh diyagramı s ırasında almak kolaylıklar sağ lar. Buna göre Moore makinesi örneğ imizdeki durum tablosunu, daha önce bulduğ umuz, bir sonraki durum ve çıkış fonksiyonlarını tabloya taş ıyarak elde edebiliriz. Durum değ iş keni sayısı iki olduğ undan, olabilecek bütün durumlar dört tanedir yani dört satır vardır. Giriş değ iş keni de bir tane olduğ undan, iki farklı giriş yani iki sütun vardır. Önce bütün durumları Karnaugh diyagramındaki sıralanış a uygun olarak satırlara , bütün giriş leri de benzer biçimde sütunlara Ş ekil 7.2 deki gibi yerleş tirelim. Tabloyu Karnaugh diyagramı biçimde oluş turduğ umuzdan, taş ıyacağ ımız fonksiyonların her bir çarpımlar teriminin kaçıncı mertebeden bir küp oluş turduğ una bakıp, gerekli olan doğ ru minterimleri uygun yerlere koyarak durum tablosunu bulabiliriz. Bu amaçla, daha kolay görülsün diye Y 2 Y 1 fonksiyonlarını önce ayrı ayrı düş ünüp, sonra birleş tirebiliriz (Ş ekil 7.2). Örnek olarak Y 1 fonksiyonunu tabloya taş ıyalım. Y 1 fonksiyonundaki birinci terim y 1 x', y 2 değ iş kenini eleyen birinci mertebeden bir alt küp oluş turur ve üçüncü ile dördüncü satırlarla birinci sütunun kesiş tikleri yerlerde birer doğ ru mintermi içerir. Diğ er çarpımlar terimleri için aynı iş lem tekrarlanarak Y 1 ve Y 2 ayrı ayrı bulunabilir. Doğ ru olmayan minterimler 0 alınarak; bulduğ umuz Y 1 ve Y 2 fonksiyonları, yan yana durum tablosuna ş ekilde görüldüğ ü gibi taş ınırlar. Çıkış fonksiyonu direkt olarak y 2 ye eş it olduğ undan hemen yazılabilir. Moore makinesinin çıkış ları yalnızca durum değ iş kenlerinin fonksiyonu olduğ undan, durum tablosunda belli bir satıra karş ı gelen satırların hepsinde çıkış lar aynıdır. Nedeni belli satır için durum değ iş kenleri değ iş mez dolayısıyla Moore makinesinin çıkış ı değ iş mez. Bu belli satıra karş ı gelen farklı sütunlar için giriş değ iş kenleri değ iş se bile Moore makinesi çıkış ına etki etmezler. Bu nedenle Moore makinesinin çıkış ları Ş ekil 7.2 deki gibi ayrı bir sütunda gösterilirler. 01 x y 1 y 2 00 01 11 10 0 0 1 1 1 1 1 0 Y 1 01 x y 1 y 2 00 01 11 10 0 0 1 0 1 1 0 1 01 x 00 01 11 10 00 00 11 10 11 11 10 01 Y 1 Y 2 , z Y 2 10 z 0 1 1 0 Ş ekil 7.2 Örnek Moore makinesine iliş kin durum tablosunun çıkarılış ı Ş imdi x = 1 01 giriş dizisine karş ılık çıkış dizisini , 00 baş langıç durumunda, durum diyagramından bulalım. Durum tablosunun 1 . satırından görüldüğ ü gibi 00 durumunda1 02 çıkış , giriş ten bağ ımsız, 0 dır. Ş imdiki 00 durumunda giriş 1 iken, 1 . saat darbesinin düş en kenarında bir sonraki durum, tablonun 1 . satır ve 2. sütunundan görüldüğ ü gibi, 11 dir. Bu durumda, tablodaki 3. satır , çıkış 1 dir. 11 durumunda giriş 0 iken, 2.saat darbesinin düş en kenarında, bir sonraki durum ve çıkış değ iş mez. Bir sonraki durum 11 (Tablodaki 3. satır 1 . sütun.), çıkış ise 1 dir. (Tablodaki 3. satır.) Ş imdiki 11 durumunda giriş 1 iken, 3. saat darbesinin düş en kenarında, bir sonraki durum 1 0 olur. Tablodaki 3. satır 2. sütun. Çıkış ise 0 dır. Tablodaki 4. satır . O halde çıkış dizisi 11 0 dır. 7.2.3 Durum diyagramı ve analiz Durum tablosu bulunduktan sonra, durum diyagramına geçiş kolaydır. Önce her bir durum için, birer çember biçiminde daire çizilir. Sonra her bir durum için; bütün giriş ler altında gidilen yeni durum , yönlendirilmiş topolojik elemanlarla belirtilir. Eksiklik olmaması için; her bir durumdan, giriş sayısı kadar okun çıkması kontrol edilebilir. Birden fazla giriş için bir sonraki durum aynıysa, bu giriş lere iliş kin oklar bazen birleş tirilerek te gösterilir. Moore makinesinde çıkış lar yalnız durum değ iş kenlerine bağ lı olduğ u için çıkış lar durumlara iliş kin çember düğ ümün içine yazılır. incelediğ imiz örneğ e iliş kin durum diyagramı Ş ekil 7.3 de verilmiş tir. 00 01 11 10 0 01 1 1,2 3 0 1 1 1 0 0 Giriş Durum Çıkış Ş ekil 7.3 Örnek Moore makinesine iliş kin durum diyagramı Ş imdi 00 baş langıç durumu ve x = 1 01 giriş dizisi için örnek Moore makinesinin analizini yapalım. Ş ekil 7.3 teki durum diyagramında gözlenecek çıkış ların üzerine kaçıncı saat darbesinden sonra gözleneceğ i yazılmış tır. Yani çıkış dizisi z = 11 0 dır. 7.2.4 Zaman diyagramı (Timing diagram) Analog devrelerde giriş ler ve çıkış lar zamana bağ lı birer fonksiyondur. Sayısal sistemlerde ise giriş ve çıkış lar zamana bağ lı olarak birer dizi oluş turmaktadırlar. Lojik devrelerde, giriş dizisi ve baş langıç durumu verildiğ inde, bir sonraki durum ve çıkış fonksiyonların zamana göre değ iş imini gösteren diyagramlara zaman diyagramı (timing diagram) denir. İ ncelemekte olduğ umuz Moore makinesi içib Baş langıç durumu 00, giriş dizisi de 01 01 01 olsun. Giriş dizisinin ilk elemanının 0 olduğ unu, yani dizinin zamana göre soldan sağ a sıralandığ ını varsayalım. Bellek elemanları saat darbesinin negatif kenarında tetiklendiğ i için durum değ iş iklikleri yalnızca bu düş en kenarda olabilecektir. incelediğ imiz makine Moore makinesi olduğ undan, yani çıkış lar yalnızca durum değ iş kenlerinin fonksiyonu olduğ undan, çıkış lar da yalnızca saat darbelerinin düş en kenarında1 03 değ iş ecektir. Mealy makinesinde bundan sonraki bölümde göreceğ imiz gibi böyle olmamaktadır. Önce ş imdiki durum ve giriş altında, bir sonraki durum ve çıkış , durum diyagramı veya tablosundan yararlanılarak bulunur. Bulunan değ erler, ard arda iki saat darbesinin düş en kenarları arasındaki zaman aralığ ına, yerleş tirilir. Bu iş lem her saat darbesi için tekrarlanarak zaman diyagramı çizilir. (i). saat darbesi için bir sonraki durum (i+1 ). saat darbesi için ş imdiki durumdur. Örneğ imizde birinci saat darbesinin düş en kenarından hemen önceki durum (baş langıç durumu) y 1 y 2 = 00, giriş ise 0 dır. Bir sonraki durumun Y 1 Y 2 = 00 olduğ u, Durum tablosundan, görülmektedir. O nedenle. Ş ekil 7.4 teki zaman diyagramında, birinci ve ikinci saat darbelerinin düş en kenarları arasına Y 1 ve Y 2 değ iş kenleri 0 genlikli olarak çizilmiş lerdir. Yeni durum Y 1 Y 2 =00, ikinci saat darbesi için ş imdiki durum, yani y 1 y 2 =00 dır. ikinci saat darbesi için giriş 1 dir. Birinci saat darbesi için yapılan iş lemler ikinci ve daha sonraki saat darbeleri için tekrarlanarak zaman diyagramı Ş ekil 7.4 teki gibi tamamlanır. Görüldüğ ü gibi giriş değ iş keninin aldığ ı değ er, iki saat darbesinin düş en kenarları arasında değ iş se bile; bir sonraki durum değ iş kenlerine ve çıkış a etkimez. Çünkü bellek elemanları kenar tetiklemelidir ve makine Moore makinesidir. x CLK y 1 (Y 1 ) z = y 2 (Y 2 ) t t t t Ş ekil 7.4 Örnek Moore makinesine iliş kin bir zaman diyagramı Zaman diyagramının çiziminde, durum tablosu veya diyagramından yararlandık. Matematiksel modeli (Bir sonraki durum fonksiyonları ve çıkış fonksiyonlarını) kullanarak ta, aynı sonuca varabilirdik ama daha zor olurdu. 7.3 Örnek bir Mealy makinesi analizi Mealy makinesinin analizi de Moore Makinesi analizi gibidir. Mealy makinesinde çıkış fonksiyonları, yalnızca durum değ iş kenleri değ il fakat giriş değ iş kenlerine de bağ lıdır. Bir kombinezonsal devrenin çıkış ı olan bu fonksiyonlar, saat darbeleriyle değ iş en durum değ iş kenlerinden etkilendiğ i gibi, saat darbelerinin dış ında değ iş en giriş değ iş kenlerinden de, etkilenirler. O nedenle çıkış ta hatalı ç ıkış diye adlandırılan istenmeyen çıkış lar1 04 görülebilir. Ş imdi Ş ekil 7.5 de verilen bir Mealy makinesi örneğ inde bir sonraki durum fonksiyonları ve çıkış fonksiyonunun, zaman diyagramlarını inceleyerek hatalı ç ıkış ları görelim. Mealy makinası D y y J y y K 2 2 2 2 1 1 x x y 1 y ' 1 x x' x' y 2 z z x CLK CLK Ş ekil 7.5 Analizi için örnek olarak seçilmiş bir Mealy makinesi Bir sonraki durum fonksiyonları ve çıkış fonksiyonu Y 1 = D = (x+y 1 ).y 2 Y 2 = y 2 K' 2 + y' 2 J 2 = y 2 (x' ) '+ y' 2 (x?y 1 ' ) = y 2 x + y' 2 x y 1 + y' 2 x' y' 1 = x y 2 + x y 1 + x' y' 1 y' 2 Z = x' y 2 + x y 1 dır. 01 x y 1 y 2 00 01 11 10 01, 0 00, 1 10, 1 00, 0 00, 0 11, 0 11, 1 01, 1 Y 1 Y 2 , z 00 01 11 10 1 / 0 0 / 0 0 / 1 1 / 1 0 / 1 1 / 0 0 / 0 1 / 1 Ş ekil 7.6 Örnek Mealy makinesinin analizi için durum tablo ve diyagramı Ş ekil 7.6 da örnek Mealy makinesinin durum tablo ve diyagramı, Moore makinesinde anlatılan biçimiyle bulunarak, verilmiş tir. Ş imdi durum tablosu ve diyagramından yararlanarak zaman diyagramlarını ç ıkaralım. Bir sonraki durum fonksiyonlarına iliş kin zaman diyagramları, saat darbesinin düş en kenarında değ iş ecektir ve Moore makinesinde olduğ u gibi çizilebilir. Çıkış fonksiyonu, durum değ iş keninin değ iş tiğ i saat darbelerinin düş en kenarları dış ında, giriş değ iş keninin değ iş mesiyle de değ iş ebilir. O nedenle çıkış fonksiyonuna1 05 iliş kin zaman diyagramını çizerken, Ş ekil 7.6 da görüldüğ ü gibi, saat darbesinin düş en kenarı (durumların değ iş ebileceğ i an) ve giriş değ iş keninin değ iş tiğ i anları ayrı ayrı incelemek gerekmektedir. Çıkış fonksiyonları için saat darbesinin düş en kenarı ile giriş in değ iş tiğ i zaman aralığ ı, kritik bir zaman aralığ ıdır. Çünkü bu kritik zaman aralığ ında yeni gelinen durumda, birinci saat darbesine iliş kin giriş , etkisini sürdürerek çıkış ı değ iş tirebilir. Bu istenmeyen bir durumdur, çünkü her bir giriş için 1 saat darbesi uygulanmalı ve yeni gidilen durumda ( saat darbesinin düş en kenarından hemen sonra) yeni giriş ideal olarak hemen uygulanmalıdır. Bu sağ lanamadığ ından, sanki yeni gidilen durumda eski giriş uygulanmış gibi olur. Örnek Mealy makinesinin durum ve çıkış (kritik zaman aralığ ı da göz önüne alınarak) değ iş kenlerine iliş kin zaman diyagramları Ş ekil 7.7 da verilmiş tir. Önce durum değ iş kenlerine iliş kin zaman diyagramları Moore makinesinde olduğ u gibi kolayca çizilebilir. 121 34567 x t t t t t CLK z y 1 (Y 1 ) y 2 (Y 2 ) zararsız hatalı çıkış hatalı 0 hatalı 1 zararsız hatalı çıkış kritik zman aralıkları Ş ekil 7.7 Örnek Mealy makinesine iliş kin bir zaman diyagramı ve hatalı çıkış lar Ş imdi çıkış fonksiyonuna iliş kin zaman diyagramını adım adım detaylı olarak inceleyelim. 00 baş langıç durumu ve 0 giriş i için, durum diyagramı veya tablosundan1 06 görüldüğ ü gibi, çıkış 0 dır. Kritik zaman aralığ ında, yeni durum 01 ve eski giriş 0 halen devam ettiğ i için çıkış 1 dir. Kritik zaman aralığ ından sonra 01 durumu devam ederken giriş değ iş ip 1 olduğ undan çıkış 0 olmuş tur. 00 durumu ve 0 giriş i altında 0 olan çıkış , saat darbesinden sonra 01 durumu ve 1 giriş i altında 0 değ erindedir ama kritik zaman aralığ ında kısa bir süre 1 değ erini almış tır. Bu istenmeyen hatalı bir çıkış tır çünkü eski ve yeni durumlarda 0 çıkış ını vermesi gereken makine kısa bir süre içinde olsa 1 ç ıkış ı vermiş tir. Kritik zaman aralığ ında çıkış ın aldığ ı değ er, bu zaman aralığ ının dış ında alınan değ erlerden birini alsaydı farkına varılmayacak, yani zararsız bir hatalı çıkış olacaktı. Bu olayın nedeni, giriş in saat darbesinin düş en kenarından sonra değ iş mesidir. Benzer akıl yürütme aynen diğ er saat darbeleri içinde tekrarlanarak ş ekil 7.6 daki zaman diyagramı bulunur. Görüldüğ ü gibi 2, 5, 6. saat darbelerinden sonraki kritik zaman aralıklarındaki hatalı çıkış lar zararsızdır. 1 . saat darbesinden sonraki kritik zaman aralığ ına iliş kin hatalı çıkış 1 iken, 3. ve 4. saat darbelerinden sonraki hatalı çıkış lar 0 dır. Genel olarak doğ ru çıkış lar saat darbelerinden hemen önceki çıkış lardır. Bu nedenle 01 01 01 0 giriş dizisine iliş kin çıkış dizisi 00111 00 dır. Z çıkış ında yalnızca doğ ru çıkış ların gözlenmesi isteniyorsa, Z çıkış ın bir D bellek elemanın giriş ine bağ lanır ve D bellek elemanın saati de devrenin saatinden beslenir. Bu durumda D bellek elemanının çıkış ında yalnızca doğ ru çıkış lar gözlenir, nedenini düş ününüz. Hatalı çıkış lar ancak Mealy makinesinde gözlenebilir.1 07 B BÖ ÖL LÜ ÜM M 8 8 A AR RD DI IŞŞ I IL L D DE EV VR RE EL LE ER Rİİ N N S SE EN NT TE EZ Zİİ Sentez bilindiğ i gibi giriş leri ve çıkış ları sözel olarak tanımlanan bir makinenin yaptığ ı iş i yapan devrenin, yani elemanlar ve aralarındaki bağ lantıların, bulunmasıdır. Ş ekil 6.2 de bir ardış ıl devrenin genel yapısının ne olduğ u verilmiş ti. Bu genel yapıdan görüldüğ ü gibi, sentezde bellek elemanlarının sayısını saptayıp, kombinezonsal devreyi oluş turursak ardış ıl devreyi gerçekleyebiliriz. Bu bölümde önce ardış ıl devrelerin sentezinde tutulacak yola iliş kin adımları sonra bu adımların uygulamasını çeş itli örnekler üzerinde göreceğ iz. 8.1 Sentez yönteminin genel adımları Sentez yönteminin 6 genel adımı aş ağ ıda veriliş tir. 1 . istenen makinenin sözle tanımlamasından (word description), uygun durum seçimleri yaparak, durum tablosu veya diyagramı çıkarılır. Bu adım için tutulacak yolun bir yöntemi yoktur, sezgisel olarak yapılır. Seçilen durumların ne anlama geldikleri saptanmalıdır. Durumların seçimi bazen kolay bazen ise zor olabilir. Genel olarak durumlar, istenen iş levi yerine getirebilmesi için, makinenin belleğ inde tutması gereken bilgilerdir diye düş ünülebilir. Durumlar seçildikten sonra sözle tanımlamaya uygun olarak durum tablosu ve diyagramı çizilir. 2. Birinci adımda durumları sezgisel olarak saptadığ ımızdan, gereğ inden fazla durum seçmiş olabiliriz. Durum sayısını, durum değ iş kenlerinin sayısını belirler. Bu nedenle durum tablosunda eş değ er durumlar varsa, bunların indirgenmesi (state reduction) yapılır. Durum sayısının azalması, durum değ iş kenlerinin ve dolayısıyla bellek elemanlarının sayısının ve kapı elemanlarının giriş yelpazesinin azalmasına yol açabilir . Farklı durumların sayısı µ ve farklı durum değ iş kenleri sayısı da r ise r, r ? log 2 µ olan en küçük tam sayıdır. Durum değ iş keni sayısı aynı zamanda bellek elemanları sayısıdır. Durum değ iş kenlerinin sayısının minimumlaş tırılması, kombinezonsal devreye iliş kin bağ ımsız değ iş kenlerin sayısının azalmasıdır. Durum indirgemesi sonucu durum değ iş keni sayısı azalmasa bile kullanılmayacak durumlar ortaya çıkacaktır. Kullanılmayan durumlarda, gerçekleş tireceğ imiz fonksiyonların aldığ ı değ erler keyfi olacaktır. Bu keyfi değ erler de, dolaylı olarak , kombinezonsal devrenin basitleş mesini mümkün kılar. Durum indirgeme kuralları geliş tirilmiş tir ve ayrı bir baş lık altında incelenecektir. 3. Seçilen durumların kodlanması (state assignment): Durumlar birinci ve ikinci adımlarda sözle tanımlanmış lardı. "Durumlara hangi kodlar verilirse gerçekleş tirilecek kombinezonsal devre daha basit olur problemine" bu adımda cevap verilir. Farklı yöntemler geliş tirilmiş tir, fakat birinin diğ erlerine göre üstünlükleri olabildiğ inden ideal genel bir yöntem verilememiş tir. Bu notların kapsamı içinde basit bir iki yöntem ayrı bir bölümde incelenecektir. (r) durum değ iş keniyle belirlenen bir durum, birbirinden farklı 2 r sayıda kodlanabilir 4. Kodlama sonucu bir sonraki durum ve çıkış fonksiyonları, bağ ımsız değ iş kenler olan giriş ve durum değ iş kenlerinin fonksiyonu olarak, durum tablosunda belirlenirler. Bu adıma kadar bellek elemanlarının sayısı ve her bir bellek elemanına iliş kin bir sonraki1 08 durum değ erinin, belli giriş ler ve ş imdiki durum değ iş kenleri için ne olduğ u belirlenmiş oldu. Ş ekil 6.2 deki genel yapıda görüldüğ ü gibi kombinezonsal devrenin çıkış larının bir kısmı bellek elemanlarının giriş fonksiyonlarıdır. Bu fonksiyonlar saptandığ ında kombinezonsal devrenin bir kısmı gerçekleş tirilebilecektir. Kombinezonsal devrenin diğ er kısmı, çıkış fonksiyonlarıdır. Bellek elemanlarının giriş fonksiyonlarını saptayabilmek için seçilecek bellek elemanlarının ters tanım (excitation functions) bağ ıntılarından yararlanılır. Bellek elemanlarının ters tanım bağ ıntıları: Bellek elemanlarının ters tanım bağ ıntıları; bellek giriş lerinin, belleğ in ş imdiki ve bir sonraki durum değ erleri belli iken, alması gereken değ erleridir. Ş imdi her bir bellek elemanına iliş kin ters tanım bağ ıntılarını, tanım bağ ıntılarından yararlanarak teker teker çıkaralım. Gecikme bellek elemanın ters tanım bağ ıntısı: Tanım bağ ıntısında y = 0 iken Y = 0 olması için giriş in zorunlu olarak 0 olması gerektiğ i hemen görülür. Benzer biçimde y = 0 iken Y = 1 , y = 1 iken Y = 0 ve y = 1 iken Y=1 olması için giriş in sırasıyla 1 ,0 ve 1 olması gerektiğ i görülür. Sonuç Ş ekil 8.1 .a da gösterilmiş tir. Ters tanım tablosunun sütunlarına önce y sonra Y değ erleri yazılmış , bunlara iliş kin giriş değ erleri ise bir altlarındaki karelerde gösterilmiş tir. Tetikleme bellek elemanın ters tanım bağ ıntısı: Gecikme bellek elemanında yapılanlar burada da tekrarlanarak Ş ekil 8.1 b de görülen ters tanım bağ ıntısı bulunur. SR bellek elemanın ters tanım bağ ıntısı: y = 0 dan Y = 0 a geçebilmek için, bu elemanın tanım bağ ıntısından görüldüğ ü gibi iki alternatif giriş vardır: S = 0 R = 0, S = 0 R = 1 . Bu iki giriş i S = 0, R = K (keyfi, ) biçiminde ifade edebiliriz. Çünkü durumun 0 dan 0 a geçiş ini sağ lamak için S = 0 olması zorunludur, R ise 0 da 1 de olabilir yani K dir. Benzer biçimde diğ er geçiş lerde saptanarak Ş ekil 8.1 c deki ters tanım tablosu bulunur. Bu ters tanım tablosundan, giriş lerin hiçbir zaman 11 olmadığ ı görülür, hatırlanacağ ı gibi SR bellek elemanının tanımını verirken 11 giriş lerinin hiçbir zaman uygulanılmayacağ ı varsayılmış tı. Yani tanım ve ters tanım bağ ıntıları uyumludur. JK bellek elemanın ters tanım bağ ıntısı: Ş ekil.8.1 d de görüldüğ ü gibi, SR bellek elemanına benzer biçimde, JK bele elemanının ters tanım bağ ıntısı da bulunabilir. D y y D y 01 0 1 01 0 Y = D a. D gecikme elemanın ters tanım bağ ıntısı Saat y (Y) y (Y') 1 00 01 11 10 00 11 D y Y T y y T y 01 0 1 01 0 Y = T y' + T ' y b. T tetikleme elemanın ters tanım bağ ıntısı Saat y (Y) y (Y') 1 00 01 11 10 00 11 T y Y1 09 S y y R Y = S + R' y c. SR bellek elemanının ters tanım bağ ıntısı Saat y (Y) y' (Y') 00 01 11 1 0 SR 0K 10K 00 1 SR y 00 01 11 10 0 1 00k1 10k1 y Y J y y K JK y 00 01 11 10 0 1 0011 1001 Y = J y' + K' y d. JK bellek elemanının ters tanım bağ ıntısı Saat y (Y) y (Y') 00 01 11 1 0 JK y 00 01 11 10 0 1 0011 1001 JK y 00 01 11 10 0 1 0011 1001 JK y 00 01 11 10 0 1 0011 1001 JK 0K 1KK 0K 1 JK y 00 01 11 10 0 1 0011 1001 y Y Ş ekil 8.1 Bellek elemanlarına iliş kin ters tanım bağ ıntıları Üçüncü adımda bir sonraki durum fonksiyonlarının doğ ruluk tablosu, durum tablosunda oluş turulmuş tu. Bellek elemanlarının giriş fonksiyonlarının doğ ruluk tablosu da, durum tablosundaki durum değ iş keninin y ve Y değ erleri ve bellek ters tanım bağ ıntısından yararlanarak, bulunur. 5. Çıkış fonksiyonları da, durum tablosundan, bağ ımsız giriş ve durum değ iş kenlerinin fonksiyonu olarak bulunur. 6. Bellek elemanlarının giriş fonksiyonları ve çıkış fonksiyonları minimalleş tirilir. Bu minimal fonksiyonlara karş ı gelen devre Ardış ıl devrenin kombinezonsal kısmını oluş turur. Seçilen bellek elemanlarıyla bellek kısmı gerçekleş tirilerek ardış ıl devrenin sentezi tamamlanır. Ş imdi adım adım anlattığ ımız sentez iş leminin, çeş itli örneklere uygulamasını görelim. Seri toplayıcı: Ş ekil 6.1 de verilen seri toplayıcı için, durum tablosu ve diyagramı sırasıyla Ş ekil 6.2 b ve Ş ekil 6.3 b de çıkarılmış tı. Durumlar iki tane olup elde 0 ve 1 i göstermektedir, bir durum değ iş keni yeterlidir (log 2 2=1 ). Sentez iş leminin ilk üç adımı daha önce yapıldığ ından dördüncü adımdan baş layacağ ız. Ş ekil 8.2 de, durum tablosu veya durum diyagramından yararlanarak, bir sonraki durum ve çıkış fonksiyonlarının doğ ruluk tablosu gösterilmiş tir. Bellek elemanı olarak SR elemanını seçelim, bir durum değ iş keni olduğ una göre bir bellek elemanı yeterlidir. Bu bellek elemanının ters tanım bağ ıntısından SR giriş fonksiyonlarının doğ ruluk tablosu Ş ekil 8.2 daki gibi bulunur. Ş imdi artık S, R ve Z fonksiyonlarını, Karnaugh diyagramlarına taş ıyıp, indirgeyerek, ardış ıl devreyi Ş ekil 8.3 deki gibi gerçekleyebiliriz.11 0 elde 0 elde 1 00 / 0 1 0 / 1 01 / 1 11 / 0 00 / 1 01 / 1 01 / 0 1 0 / 0 11 / 1 Ş ekil 8.2. Seri toplayıcı için, bellek giriş lerine ve çıkış a iliş kin fonksiyonların doğ ruluk tablosu. 00 011 11 0 x 1 x 2 y 0 1 00 011 11 0 x 1 x 2 y 0 1 00 011 11 0 x 1 x 2 y 0 1 1 11 1 1 1 S = x 1 x 2 kk kk k=1 k=1 1 R = x' 1 x' 2 z = y x 1 x 2 ?? R y y S x 1 x 2 CLK z Ş ekil 8.3 Bellek elemanı giriş fonksiyonları, çıkış fonksiyonları, indirgenmiş ifadeleri ve seri toplayıcının lojik devresi Genel olarak Sayıcılar, giriş ine gelen darbelerle daha önce belirlenen durumlardan geçen devrelerdir. Giriş darbeleri saat darbeleri olabileceğ i gibi, ayrı bir giriş te olabilir. Sayıcının bir özel hali de saymayı iki tabanında yapanlardır. 8.2 Modulo 8 ileri sayıcı x giriş ine gelen darbeleri iki tabanında sayan, sekizinci darbe ile baş langıç durumu olan 0 a dönen bir sayıcı, modulo 8 ileri sayıcı, tasarlayalım. 1 .Sözle tanım : Tek giriş li ve üç çıkış lı bir makinedir. Giriş ine gelen darbeleri iki tabanında sayar. Her 8 darbeden sonra 0 baş langıç durumuna geçer. Bu iş i yapacak 8 durumlu bir ardış ıl devre düş ünelim öyle ki S 0 , S 1 , S 2 , S 3 , S 4 , S 5 , S 6 S 7 , durumları sırasıyla makinenin 8, 1 , 2, 3, 4, 5, 6, 7 darbe almış olduğ unu göstersinler. Buna göre makineye iliş kin durum tablo ve diyagramı ş ekil 8.4 deki gibi bulunur. Bir sonraki durum fonksiyonlarının aynı zamanda çıkış fonksiyonları olarak alıp, bir Moore makinesi oluş turabiliriz. 2. Durum indirgemesi Durum indirgemesini bundan sonraki anlatacağ ız, varsayalım ki indirgeme iş lemini yaptık ve eş değ er durumlar yok. O halde sekiz durum olduğ una göre x 1 x 2 yYZSR 000000K 001 0 1 0 1 0 1 001 0K 0 111 0K0 1 0001 0K 1 0 11 0K0 11 0 1 0 1 0 11111 K0111 üç durum değ iş kenine ve dolayısıyla üç bellek elemanına gereksinim vardır. Bellek elemanı olarak ta tetikleme elemanını seçelim. 6. Durum kodlaması Sekiz durumu S 0 , S 1 , S 2 , S 3 , S 4 , S 5 , S 6 S 7 , sırasıyla 000, 001 , 01 0,011 , 1 00, 1 01 , 11 0, 111 biçiminde kodlayalım. MSB (en çok ağ ırlıklı bit) bit y 1 , en az ağ ırlıklı bit te (LSB) y 3 olsun. Bu biçimde kodlama bellek elemanları çıkış larının, aynı zamanda sayıcının çıkış ları olmasını sağ lar. Kodlanmış durum tablosu Ş ekil 8.4 te verilmiş tir. S 0 x = 0 S 1 0 S 2 0 S 3 0 S 4 0 S 7 0 S 6 0 S 5 0 x =1 1 1 1 1 1 1 1 s 0 000 s 1 001 s 2 010 s 0 000 s 3 011 s 4 100 s 5 101 s 7 111 s 6 110 x = 0 x = 1 s 1 001 s 1 001 s 2 010 s 2 010 s 3 011 s 3 011 s 4 100 s 4 100 s 5 101 s 5 101 s 5 101 s 6 110 s 6 110 s 7 111 s 7 111 s 0 000 x CLK y 3 y 2 y 3 Ş ekil 8.4 Modulo 8 ileri sayıcının durum diyagramı ve tablosu 4, 5.Bellek elemanları giriş fonksiyonlarının ve çıkış fonksiyonlarının bulunması ve indirgenmesi Tetikleme bellek elemanlarının giriş fonksiyonları ve makinenin çıkış fonksiyonları, durum diyagramı veya tablosu ile tetikleme elemanının ters tanım bağ ıntılarından yararlanarak, Ş ekil 8.5 deki gibi elde edilir. Ters tanım bağ ıntıları kullanılırken, belek elemanı giriş fonksiyonu, y ve Y indislerinin aynı olmasına dikkat edilmelidir. T belek elemanlarının giriş fonksiyonlarının Karnaugh diyagramında indirgenmiş ifadeleri, Ş ekil 8.5 te verilmiş tir. xy 1 y 2 y 3 Y 1 Y 2 Y 3 T 1 T 2 T 3 0000000000 0001 001 000 001 001 0000 0011 0 11 000 0 1 001 00000 0 1 0 11 0 1 000 0 11 0 11 0000 0 111111 00011 2 1 000001 001 1 001 0 1 0011 1 0 1 0011 001 1 0 111 00111 11 001 0 1 001 11 0 111 0011 111 0 111 001 1111 000111 xy 1 y 2 y 3 00 01 11 10 00 01 11 10 y 2 y 3 00 01 11 10 00 01 11 10 y 2 y 3 00 01 11 10 00 01 11 10 11 11 1 1 1 1 1 11 1 1 1 T 1 = xy 2 y 3 T 2 = xy 3 T 2 = x Ş ekil 8.5 Bellek elemanları giriş fonksiyonlarının indirgenmiş ifadeleri 6.Lojik devrenin gerçekleş tirilmesi Son adımda bulduğ umuz indirgenmiş fonksiyonlarla, modulo 8 ileri sayıcı devreyi, Ş ekil 6 2 de verilen genel ardış ıl devre yapısında, Ş ekil 8.6 a daki gibi çizebiliriz. Ş ekil 8.6 Modulo 8 sayıcıya iliş kin lojik devreler Yukarıda incelediğ imiz sayıcı x giriş ine gelen darbeleri değ il de doğ rudan saat giriş ine gelen darbeleri sayabilirdi. O zaman x giriş leri kaybolacak ve bir sonraki durum fonksiyonlarında ki bağ ımsız değ iş ken sayısı bir azalmış olacaktı. Bu durum da bulunacak devre Ş ekil 8.6 b de verilmiş tir. 8.3 Özel bir sayıcı devresi Saat giriş ine gelen, saat darbeleriyle 0, 2, 4, 7 ve tekrar 0, 2.. sayan bir sayıcı tasarlayalım. Böyle bir makineyi iki biçimde düş ünebiliriz. Birincisi üç durum değ iş kenli 8 T y y T y y T y y y 1 y 2 y 3 x CLK 2 1 3 y 1 y 2 y 3 T y y T y y T y y y 1 y 2 y 3 1 CLK 2 1 3 y 1 y 2 y 311 3 durumlu ve çıkış ları durum değ iş kenleri olan makinedir. ikincisi iki durum değ iş kenli dört durumlu ayrıca üç çıkış ı olan bir makinedir. ilk makineye iliş kin durum tablosu Ş ekil 8.7 deki gibidir. JK bellek elemanlarıyla gerçekleş tirme yapmak istersek; bu bellek elemanlarının ters tanım bağ ıntılarından yararlanarak bulunan bellek elemanları giriş fonksiyonları da Ş ekil 8.7 de verilmiş tir. Görüldüğ ü gibi 0, 2, 4, 7 durumlarının dış ındaki 1 , 3, 5, 6 durumlarına makine hiç gelmemektedir. O halde hiç gelinmeyen durumlara ilişkin bir sonraki durum fonksiyonlarının aldığ ı değ erler ve dolayısıyla bellek elemanları giriş fonksiyonlarının aldığ ı değ erler keyfidir, 0 veya 1 seçilebilir. Bulunan fonksiyonların indirgemesi ve bunlara karş ı düş en devre ş ekil 8.7 de verilmiş tir. Görülüyor ki çıkış lar doğ rudan bellek elemanlarının çıkış ları olarak alınmış tır. Örneğ imizde kullanılmayan durumlar için bir sonraki durumlar ve çıkış lar keyfi alındı. Bu durum ile genelde de karş ılaş ılabilir. Eğ er gerekli olan durum değ iş keni sayısı n, durum sayısı m ise 2 n < m koş ulu altında (2 n - m) durum için bir sonraki durum ve çıkış lar keyfi alınır. Örneğ in m = 6 durumlu bir makine gerçeklemek için, n = 3 durum değ iş kenine gereksinim vardır, o halde (2 3 - 6 ) = 2 durum için bir sonraki durum ve çıkış fonksiyonları keyfi alınmalıdır. y 1 y 2 y 3 Y 1 Y 2 Y 3 J 1 K 1 J 2 K 2 J 3 K 3 00001 00k1 k0k 0 1 0 1 001 kk1 0k 1 00111 k01 k 1 k 111 000k1 k 1 k 1 001 kkkkkkkkk 0 11 kkkkkkkkk 1 0 1 kkkkkkkkk 11 0kkkkkkkkk 00 011 11 0 y 1 y 2 y 3 0 1 00 011 11 0 y 1 y 2 0 1 00 011 11 0 y 1 y 2 0 1 k 1 1 J 1 = y 2 kk k k k 1 1 k k kk k k k k k k k J 2 = 1 J 3 = y 1 00 0 y 3 y 3 00 011 11 0 y 1 y 2 y 3 0 1 00 011 11 0 y 1 y 2 0 1 k 1 K 1 = y 2 kk kk k 1 1 k k kk k k K 2 = 1 K 3 = 1 0 y 3 y 3 00 011 11 0 y 1 y 2 0 1 1 kk kk k k k11 4 J y y K J y y K J y y K 1 1 2 2 3 3 y 1 y 2 y 3 1 CLK Ş ekil 8.7 (0-2-4-7) sayan bir sayıcının Moore makinesi olarak gerçekleş tirilmesi Yukarıdaki örnekte (0-2-4-7) sayan sayıcıyı, bellek elemanı sayısını minimum tutarak ta gerçekleş tirebiliriz. Bu makinenin, bir önceki durumunu (çıkış ı) hatırlaması, yeni saat darbesi ile de istenen çıkış ı vermesi yeter. Durumları A durumu (kodu 00):: Daha önceki saat giriş i ile (111 ) çıkış ının görüldüğ ü durum B durumu (kodu 01 ):: Daha önceki saat giriş i ile (000) çıkış ının görüldüğ ü durum C durumu (kodu 1 0):: Daha önceki saat giriş i ile (01 0) çıkış ının görüldüğ ü durum D durumu (kodu 11 ):: Daha önceki saat giriş i ile (1 00) çıkış ının görüldüğ ü durum biçiminde tanımlarsak, dört durumlu (iki durum değ iş kenli) dolayısıyla iki bellek elemanlı, istediğ imiz sayıcı gerçekleş tirilebilir. Oysa aynı sayıcı için yukarıda üç bellek elemanı kullanmış tık. Tanımladığ ımız durumlar için durum diyagramı, tablosu, ters tanım bağ ıntısından yararlanarak JK bellek elemanlarının giriş fonksiyonları ve bunlara karş ı düş en devre aş ağ ıdaki Ş ekil 8.8 de verilmiş tir. y 1 y 2 Y 1 Y 2 Z 1 Z 2 Z 3 J 1 K 1 J 2 K 2 0001 0000k1 k 0 11 00 1 0 1 kk 1 1 0 111 00k01 k 11 00111 k 1 k 1 Z 1 =y 1 Z 2 =y 2 Z 3 =y 1 y 2 J 1 =y 2 K 1 =y 2 J 2 =1 K 2 =1 CLK=0 000 A=00 CLK=0 010 B=01 CLK=0 100 C=10 CLK=0 111 D=11 1 1 1 CLK CLK=1 Z 1 Z 2 Z 3 J 1 y y K 1 J 2 y y K 2 CLK Z 1 Z 2 Z 3 y 1 y 2 Ş ekil 8.8 dört durumlu 0,2,4,7 sayan sayıcı11 5 8.4 Dizi detektörü Tek giriş li tek çıkış lı bir makinedir. Giriş ine 01 01 (0 ilk gelen ) dizisi geldiğ ince çıkış ında 1 , aksi halde 0 verir. örneğ in 01 01 01 giriş i için çıkış 0001 01 dir. Makinenin çıkış ı, son 4 giriş ine gelen iş arete göre, belirlenmektedir (Ş ekil.8.9). Yani iç içe girmiş diziler de değ erlendirilmektedir. Dizi Detektörü 101010 101000 XZ X t t Ş ekil.8.9. Dizi detektörü. Dört durumlu bir durum diyagramı düş ünelim. A baş langıç durumu, B makineye 0 gelmiş durumu, C makineye 01 gelmiş durumu ve D makineye 01 0 gelmiş durumu olsun. Buna göre A durumunda makineye 1 gelirse makine yine A ya dönmelidir. Çünkü makinenin diziyi tanıması için giriş ine önce 0 gelmelidir. Makine A dayken 0 geldiğ inde B ye geçer. B de 0 gelirse, makine durumunu korur, çünkü son gelen 0 dır. B de 1 giriş i gelirse son iki giriş 0 1 olacağ ından C durumuna geçer. C de 1 gelirse dizi bozulacağ ından A baş langıcına, 0 geldiğ inde ise son üç giriş 01 0 olacağ ından D ye gider. Makine D durumundayken 0 gelirse son gelen 0 olduğ undan B ye, 1 geldiğ inde ise 1 çıkış ı verip, son gelen iki giriş 01 olduğ undan C durumuna gider. Durum diyagramı Ş ekil 8.1 0 da verildiğ i gibidir. AB C D 1 / 0 0 / 0 1 / 0 0 / 0 1 / 1 0 / 0 1 / 0 0 / 0 A: Baş langıç durumu B: 0 gelmiş durumu C: 01 gelmiş durumu D: 010 gelmiş durumu Ş ekil 8.1 0. Dizi detektörü için durum diyagramı. Makine 4 durumlu olduğ una göre iki durum değ iş keni vardır. Durumları A = 00, B = 01 , C = 11 , D = 1 0 biçiminde kodlayalım. Bellek elemanı olarak, gecikme elemanını seçelim. Diyagramdan yararlanarak bağ ımsız değ iş kenler, bağ ımlı bir sonraki durum değ iş kenleri ve çıkış fonksiyonunu doğ ruluk tablosu biçiminde verebiliriz (Ş ekil 8.11 ). xy 1 y 2 Y 1 Y 2 Z 00001 0 001 0 1 0 0 1 001 0 0 111 00 1 0000011 6 1 0 111 0 11 0 111 111 000 Ş ekil 8.11 . Dizi detektörü için bir sonraki durum ve çıkış fonksiyonlarının doğ ruluk tablosu. Gecikme elemanın bir sonraki durum fonksiyonu giriş fonksiyonuna eş it olduğ undan D 1 = Y 1 ve D 2 = Y 2 dir Bu fonksiyonlara iliş kin Karnaugh diyagramları, indirgenmiş fonksiyonlar ve dizi detektörünün lojik devresi Ş ekil 8.1 2 de verilmiş tir. D 1 ve D 2 fonksiyonları birlikte düş ünüldüğ ünde, üç-giriş li üç VE, iki-giriş li üç VE, üç-giriş li iki VEYA kapısı yerine, iki-giriş li bir AYRICALI VEYA, iki-giriş li iki VE, üç-giriş li bir VE, iki -giriş li iki VEYA kapısıyla gerçekleş tirilebileceğ inin tartış ınız. 00 011 11 0 y 1 y 2 x 0 1 00 011 11 0 y 1 y 2 0 1 00 011 11 0 y 1 y 2 0 1 1 1 D 1 =Y 1 = x 'y 1 y 2 +x y' 1 y 2 +x y 1 y' 2 1 x x 111 1 1 1 D 2 =Y 2 = x 'y' 1 +y' 1 y 2 + y 1 y' 2 Z = x y 1 y' 2 D y y D y y x' y 1 y 2 x y' 1 y 2 x y 1 y' 2 x' y' 1 y 1 y' 2 y' 1 y 2 CLK D 1 D 2 Z Ş ekil 8.1 2 Dizi detektörü için bir sonraki durum ve çıkış fonksiyonlarının Karnaugh diyagramları, indirgenmiş fonksiyonlar ve dizi detektörünün lojik devresi Yukarıda incelediğ imiz dizi detektöründe gözlemlediğ imiz diziler birbirinin içine girebilmektedir. Örneğ in 01 01 01 giriş i için 0001 01 ç ıkış ı elde edileceğ ine göre birinci11 7 gözlemlenen dizinin son iki elemanı ikinci gözlemlenen dizinin ilk iki elemanı olmaktadır. O nedenle çıkış ta ilk 1 gözlemledikten sonra 0 ve tekrar 1 gözlemlenmektedir. Giriş ine gelen belli uzunluktaki dizileri, birbirinin içine girmeyen ayrı ayrı paketler olarak algılayan dizi detektörü de olabilirdi. Yani makine bir diziyi detekte ettikten sonra baş langıç durumuna dönüp yeni bir dizi detekte etmeye baş layabilirdi. Bu durumda örnek makinede giriş 01 01 01 01 ise çıkış ta 0001 0001 veya giriş 01 01 011 0 01 01 ise çıkış ta 0001 0000 0001 gözlenecekti. Dizi detektörü sentezi yapılırken, istenenin hangisine uyduğ u göz önünde tutulmalıdır. ikinci anlattığ ımız dizi detektörüne iliş kin durum diyagramı Ş ekil 8.1 3 te verilmiş tir. Görüldüğ ü gibi bu yeni dizi detektörü için D durumunda, 1 giriş i altında makine C durumuna gideceğ i yerde A durumuna dönmekte ve 1 çıkış ı vermektedir. AB C D 1 / 0 0 / 0 1 / 0 0 / 0 1 / 1 0 / 0 1 / 0 0 / 0 A: Baş langıç durumu B: 0 gelmiş durumu C: 01 gelmiş durumu D: 010 gelmiş durumu Ş ekil 8.1 3 Birbirinin içine giriş meyen 01 01 dizilerini detekte eden bir makineye iliş kin durum diyagramı Üç uzunluklu bir dizi detektörü tasarlasaydık, üç durum fakat iki durum değ iş keni gerekecekti. O zamanda gereksiz olan durum için bir sonraki durum ve dolayısıyla bellek elemanları giriş fonksiyonları k alınabilecekti. Bu dizi detektörü bir Mealy makinesidir. Acaba gereksiz olan durumu da kullanarak, istediğ imiz üç uzunluklu diziyi detekte eden makineyi, bir Moore makinesi olarak nasıl gerçekleş tirebiliriz, düş ününüz.11 8 B BÖ ÖL LÜ ÜM M 9 9 A AR RD DI IŞŞ I IL L D DE EV VR RE EL LE ER RD DE E D DU UR RU UM M İİ N ND Dİİ R RG GE EN NM ME ES Sİİ V VE E D DU UR RU UM M K KO OD DL LA AM MA AS SI I Sentez bölümünde sentezin adımlarını incelerken detayına inmeden iki temel problemden söz etmiş tik. Ş imdi bu problemlerin çözüm yollarının arayacağ ız. Durum indirgemesi problemi iyi tanımlanmış ve yöntemleri geliş tirilmiş tir. Durum kodlaması problemi ise bizi Boole fonksiyonlarının karmaş ıklığ ının tanımına götürür. Bütün gereksinimleri karş ılayabilecek Boole fonksiyonları karmaş ıklığ ı tanımlanamamış tır. O nedenle çeş itli karmaş ıklık tanımları için çeş itli yöntemler verilmiş tir. Bu dersin kapsamı içinde basit fakat sınırlı bir yöntem üzerinde durulacaktır. 1.1 Durum indirgemesi (state reduction) Bir ardış ıl makinede eş değ er durumların saptanıp elenmesinin, bu makinenin gerçekleş tirilmesinde iki yararı olabilir: 1 . Durum indirgemesi, durum değ iş kenlerinin sayısının ve dolayısıyla bellek elemanı sayısının azalmasına neden olabilir. Örneğ in üç durum değ iş keni (dolayısıyla üç bellek elemanı) gerektiren beş durumlu bir makinede, bir eş değ er durum olsun. Eş değ er durum elendiğ inde makine dört durumlu olur ve iki durum değ iş keni gerektirir. Bu makine üç bellek elemanı yerine iki bellek elemanı ile gerçekleş tirilebilir. 2. Durum indirgemesi sonucunda durum değ iş keni azalmasa bile eş değ er durum sayısı kadar durum için, bir sonraki durumlar ve çıkış lar keyfi olur. Bu eş değ er durumlara iliş kin bir sonraki durumların keyfi olması, eş değ er durumlarda bellek elemanları giriş fonksiyonlarının keyfi değ er alması demektir. Buda makinenin gerçekleş tirilmesinde, kombinezonsal kısmın daha basitleş mesine neden olabilir. Ayrıca eş değ er durumlar için çıkış fonksiyonlarının keyfi değ er alması da benzer biçimde makinenin kombinezonsal devre kısmının basitleş mesine katkıda bulunur. Örneğ in üç durum değ iş keni gerektiren sekiz durumlu bir makinede üç durum eş değ er olsun. Eş değ er durumlar elendiğ inde beş durumlu bir eş değ er makine bulunur. Durum değ iş keni sayısı ve dolayısıyla bellek elemanı sayısı üçtür, değ iş mez. Ama üç eş değ er durum için bir sonraki durum keyfi olacağ ından, bellek elemanları giriş fonksiyonları da bu eş değ er durumlar için keyfi değ erler alacaktır. Ayrıca çıkış fonksiyonları da söz konusu eş değ er durumlar için keyfi değ er olacaktır. Bellek elemanları giriş fonksiyonlarının ve çıkış fonksiyonlarının gerçekleş tirilmesine karş ı düş en ardış ıl devrenin kombinezonsal kısmı, keyfi değ erlerin istenildiğ i gibi seçilebilmesi dolayısıyla basitleş ecektir. Yukarıda sözü edilen faydalardan dolayı durum indirgemesi dediğ imiz eş değ er durumların saptanması ve elenmesi, ardış ıl devre sentezinin ağ ırlıklı bir adımıdır. Önce eş değ er durum tanımı verip sonra bu durumların bulunması için yöntemler verelim. Eş değ er durum tanımı: Birbirinin aynı veya farklı N ve N* gibi iki ardış ıl devre ve bunlara iliş kin A ve B durumlarını düş ünelim (Ş ekil 9.1 ). X herhangi bir uzunluktaki giriş dizisi , Z ve Z* da sırasıyla A durumundaki N ve B durumundaki N* makinelerinin X giriş dizisine karş ı düş en çıkış olsun. X ,Bölüm 5.2 de tanıtılan G kümesinin elemanlarından oluş an dizidir. Z ve Z* dizileri, Bölüm 5.2 de tanıtılan Ç kümesinin11 9 elemanlarından oluş an dizidir. Olabilecek bütün X giriş dizileri için Z ve Z* dizileri aynı ise A ve B durumları eş değ erdir denir. Yani Z = f (A, X ) Z* = f* (B, X ) dizileri aynıdır. f ve f* birer çıkış fonksiyon grubunu gösterirler ve aynı makineye iliş kin iseler f = f* dır. Bu tanıma uygun olarak iki durumun eş değ erliğ ini göstermek, sonsuz giriş dizisi için deneme yapıp çıkış ları gözlemeyi gerektirir. O nedenle tanımı uygulayarak eş değ er durumları bulmak pratik olarak mümkün değ ildir. Aş ağ ıdaki teorem eş değ er durumların bulunmasına iliş kin yöntemlerin temelini oluş turur. N Makinesi A durumu N* Makinesi B durumu X Z Z* Ş ekil 9.1 Eş değ er durumların belirlenmesi Teorem: Aynı bir ardış ıl devreye iliş kin A ve B durumlarının eş değ er olması için gerek ve yeter koş ul, bir uzunluklu bütün X giriş leri için çıkış ların aynı olması ve bir sonraki durumların eş değ er olmasıdır. Buna göre A ve B durumlarına iliş kin bütün 1 uzunluklu X giriş dizileri için hem bir uzunluklu Z çıkış ları f (A, X) = f (B, X) hem de g (A, X) ? g (B, X) olmalıdır. (g) ler bir sonraki durumu simgelemektedir. Gerek ve yeter koş ulları iki giriş li, iki çıkış lı ve sekiz durumlu bir makine örneğ i için yazarak anlaş ılmasının kolaylaş tıralım. f i (A,00) = f i (B,00) i=1 ,2 g (A,00) = g (B,00) f i (A,01 ) = f i (B,01 ) i=1 ,2 g (A,01 ) = g (B,01 ) f i (A,1 0) = f i (B,1 0) i=1 ,2 g (A,1 0) = g (B,1 0) f i (A,11 ) = f i (B,11 ) i=1 ,2 g (A,11 ) = g (B,11 ) Tanıt: Önce gerek koş ul kanıtlayalım. A, B ye eş değ erse f (A, X) = f* (B, X) (1 ) g (A, X) ? g (B, X) (2) bağ ıntıları vardır . A nın B ye eş değ erliğ i tanım bağ ıntısından Y herhangi bir uzunlukta giriş dizisi olmak üzere f (A, Y) = f (B, Y) dır. Bu bağ ıntı Y = X özel hali için (1 ) bağ ıntısını verir. Öte yandan Y dizisi önce X sonra X olarak seçilirse f [g( A, X), X] = f [g( B, X), X] bulunur , buda g (A, X) ve g (B, X) in eş değ erlik tanım bağ ıntısıdır. (2) bağ ıntısını verir.1 20 Ş imdi (1 ) ve (2) bağ ıntıları varken A ? B yani f (A, Y ) = f (B, Y) olduğ unu gösterelim. (2) bağ ıntısı f [g( A, X), X] = f [g( B, X), X] dır. (1 ) bağ ıntısıyla birlikte düş ünüldüğ ünde Y nin önce X sonra X den oluş tuğ u varsayılırsa f (A, Y ) = f (B, Y) bulunur. 9.1.1 Eş leş tirme tablosu ile durum indirgemesi yöntemi Eş leş tirme tablosuyla durum indirgeme yöntemini, Ş ekil 9.2 de durum tablosunu verilen Mealy makinesi örneğ i üzerinden, adım adım inceleyelim. 1 . Durumları ikiş er ikiş er eş leş tirmemize yardımcı olacak Ş ekil 9.3 deki tablo çizilir. Satırlarında a durumu dış ında bütün durumlar, sütunlarında ise g durumu dış ında bütün durumlar vardır. Bulduğ umuz tabloda bir satır ile sütunun kesiş tiğ i kare için, satıra iliş kin durum P sütuna iliş kin durum Q olmak üzere, aş ağ ıdaki iş lemleri yapalım. i. bir uzunluklu en az bir giriş için, P ve Q durumları farklı çıkış lar veriyorsa, ilgili kareye X iş areti koyalım. Bu iş aretin anlamı; P ve Q nun, teoremin birinci koş ulu nedeniyle, eş değ er olamayacağ ıdır. Örneğ imizde birinci satır ve sütunun kesiş tiğ i kareye X konmuş tur çünkü a ve b durumları x = 1 giriş i için sırasıyla 0 ve 1 farklı çıkış larını vermektedir. ii. Bir uzunluklu bütün giriş ler için P ve Q durumları, aynı ç ıkış ları ve aynı bir sonraki durumları veriyorsa ilgili kareye ? koyalım. Anlamı teorem gereğ ince P ve Q durumlarının eş değ er olduğ udur. Örneğ imizde dördüncü satır ile birinci sütunun kesiş tiğ i kareye ? konmuş tur. Çünkü ilgili a ve e durumları x = 0 giriş i için aynı a durumuna, x = 1 için ise aynı b durumuna gitmektedir. iii. Bir uzunluklu herhangi bir giriş için aynı çıkış ı veren (PQ) durum çiftinin, gittiğ i bir sonraki durum çiftindeki durumlar farklı ise, PQ karesine gidilen durum çifti yazılır. iş lem bütün 1 uzunluklu giriş ler için tekrarlanır. Amaç teoremin iki koş ulunun sağ lanmasıdır. Bunun anlamı teorem gereğ ince, PQ durum çiftinin eş değ er olması için gidilen bir sonraki durum çiftinin eş değ er olması gerektiğ idir. Örneğ imizde üçüncü satır ile birinci sütunun kesiş tiğ i kareye (ag) ve (bf) konmuş tur. Çünkü ilgili durumlar a ve d x = 0 giriş i için aynı 0 çıkış ı ve (ag) bir sonraki durumlarını, x =1 giriş i için ise aynı 0 çıkış ını ve (bf) bir sonraki durumlarını vermektedir. Tablodaki bütün kareleri yukarıdaki kurallara göre dolduralım (Ş ekil 9.3). a x=1 b c d e f g x=0 a, 0 d, 0 e, 0 g, 0 a, 0 d, 0 d, 0 b, 0 e, 1 b, 1 f, 0 b, 0 g, 1 f, 1 a b b c c d d e e f f a g b f e g e f a g b f d e e b e d b g e d b f g a b f g g f Ş ekil 9.2 Durum indirgemesi uygulanacak tablo ve eş leş tirme tablosu ilk adımı1 21 2. Bu adımda Ş ekil 9.2 de bir durum çiftinin eş değ er olması için, eş değ er olması gereken durumların bulunduğ u kareler incelenir. Örneğ in üçüncü satır ve birinci sütunun kesiş tiğ i kare ye iliş kin a ve d durumlarının eş değ er olması için ag ve bf durumlar ının eş değ er olması gerekir ve yeter. Bakalım öylemi? a ve g, kesiş tiğ i karede X olduğ undan, eş değ er değ ildir. O halde a ve d de eş değ er olamaz, a ve d nin kesiş tiğ i kareye X konulmalıdır (Ş ekil 9.3). ag ve bf nin incelenmesi sonucunda bunların kendi aralarında eş değ er olduğ unu görseydik, a ve d nin de eş değ er olduğ unu söyleyebilecek ve ? ile iş aretleyecektik. Bu iş leme bütün kareler X veya ? ile iş aretlene kadar devam edilir. Örneğ imizde ae ve fg durum çiftlerinin eş değ er olduğ u Ş ekil 9.3 görülmektedir. 3. Ş ekil 9.2 te verilen durum tablosunda, a ya eş değ er e durumunun bulunduğ u satır ve f ye eş değ er g durumunun bulunduğ u satırlar atılarak, eş değ er makineye iliş kin durum tablosu bulunur. Satır atıldıktan sonra bulunan yeni tabloda g görülen yere f, e görülen yere a yazarak, durum indirgemesi yapılmış makinenin durum tablosuna geçilebilir (Ş ekil 9.3). a x=1 b c d f g x=0 a, 0 d, 0 a, 0 f, 0 d, 0 b, 0 a, 1 b, 1 f, 0 f, 0 a b b c c d d e e f f a g b f e g e f a g b f d e e b e d b g e d b f g a b f Ş ekil 9.3 Örnek durum tablosu için eş leş tirme yöntemiyle varılan tablo ve buna karş ı düş en indirgenmiş durum tablosu Ş imdide bir Moore makinesine iliş kin durum indirgeme örneğ i yapalım. Ş ekil 9.4 de örnek Moore makinesi ve eş leş tirme tablosu verilmiş tir. Eş leş tirme tablosundaki X ikinci ve daha sonraki adımlarda elde edilen eş değ er olmayan durum çiftlerini göstermektedir. Görüldüğ ü gibi (ad) ve (ce) çiftleri birbirlerinin eş değ er olmalarını gerektirmektedirler. Eş değ er olamadıkları kanıtlanamayan bu durum çiftleri eş değ er olmak zorundadır. Bu sonuca göre indirgenmiş durum diyagramı Ş ekil 9.4 da verilmiş tir.1 22 a x=1 b c d e f g x=0 d f e a c f b c g d e a b a a b b c c d d e e f f c e a d e f d b a d b f d f e g g z 0 0 1 0 1 1 0 a f e g b d a c a b a e b f a g c f a b a x=1 b c f g x=0 a f c f b c g a b a z 0 0 1 0 1 Ş ekil 9.4 Bir Moore makinesine iliş kin durum indirgeme örneğ i 9.1.2 Eş değ er durum sınıfları ile durum indirgemesi yöntemi Durum indirgemesi için kullandığ ımız eş leş tirme tablosu yönteminden baş ka eş değ er durum sınıfları yöntemi vardır. Bu yöntem, giriş dizisi uzunluklarına bağ lı olarak, ayırt edilemeyen durumları aynı sınıfa ve ayırt edilebilen durumları da ayrı sınıflara toplamaya dayanır. Son örneğ imizde bu yöntemi açıklayalım. Hiç bir giriş dizisi uygulanmadığ ında, durumları birbirinden ayırt edemeyiz. Onun için hepsini bir S 0 sınıfın içine koyalım , S 0 = {(abcdefg). } Ş ekil 9.4 teki durum tablosundan, (abdg) durumlarının, bir uzunluklu giriş ler altında, çıkış ı gözleyerek, birbirlerinden ayırt edilemeyeceğ ini söyleyebiliriz. Çünkü hepsi aynı 0 çıkış ını verirler. Benzer biçimde (cef) durumlarını da, bir uzunluklu bir giriş dizisiyle birbirinden ayırt edemeyiz. Çünkü her biri için çıkış 1 dir. (abdg) ve (cef) bir uzunluklu giriş ler için eş değ er durum sınıflarıdır. Biri (abdg) diğ eri (cef) sınıflarından olan durum çiftlerinin 1 uzunluklu giriş dizisiyle ayırt edilebileceklerini söyleyebiliriz çünkü 1 uzunluklu giriş için birinci sınıf 0, ikinci sınıf ise 1 çıkış ı verir. Buna göre bir bölmeleme yapabiliriz S 1 = {(cef) (abdg) }. Ş imdi (cef) sınıfını düş ünelim x = 0 giriş i altında cef (c›e, e›c, f›f gider) ye ; x = 1 giriş i altında ise dab (c›d, e›a, f›b) ye gitmektedir. Bir sonraki durumlar (ecf) ve (dab) aynı eş değ er sınıfındadır, yani iki uzunluklu giriş ler içinde cef durumları ayırt edilemez. (abdg) sınıfı x=0 giriş i altında dfab (a›d, b›f, d›a, g›b) ye gitmektedir. Burada (b) nin gittiğ i (f) in bulunduğ u sınıf ile (adg) nin gittiğ i (dab) bulunduğ u sınıflar farklıdır. Yani iki giriş uzunluklu bir dizi x = 0 (veya 1 ) uygulanıp z = 0 gözlendikten sonra x = 0 uygulandığ ında z = 0 gözleniyorsa makine (adg) durumlarından birindedir, z = 1 gözleniyorsa (b) durumundadır. O halde iki uzunluklu bir dizi (00 veya 1 0)ile (b) (adg) den ayırt edilebilir, farklı sınıflarda olması gerekir. Diğ er taraftan x =1 giriş i için abdg cgea (a›c, b›g, d›e, g›a= ya gitmektedir, yani bir kısmı bir sınıfa diğ er kısmı diğ er sınıfa gitmektedir. a ve d , c ve e ye; b ve g, g ve a ya gittikleri için (ad) ve (bg) durumları iki giriş uzunluğ unda bir dizi (01 veya 11 ) ile ayırt edilebilirler. O halde (abdg) sınıfı iki defa bölünerek, S 2 = {(cef) (ad) (b)(g)} bölmelemesini elde edilir. Bu bölmeleme ş u anlama gelmektedir: (cef) (ad) (b) ve (g) sınıflarının kendi içlerindeki durumlar birbirlerinden iki uzunluklu giriş ler tarafından ayırt edilemezler. Fakat biri bir sınıftan diğ eri diğ er bir sınıftan olmak üzere oluş turulan durum çiftleri, iki uzunluklu giriş dizileriyle ayırt edilebilirler.1 23 Örneğ in (a) ya 1 0 (önce 1 ) veya 11 uygulandığ ında çıkış 01 (önce 0) dir oysa (b) ye aynı 1 0 veya 11 giriş leri uygulandığ ında çıkış 00 dır. Üçüncü adımda x = 1 giriş i altında (cef) sınıfı sırasıyla c›d, e›a, f›b gitmektedir (b)ve (ad) farklı sınıflarda olduğ undan (cef) sınıfı (ce) ve (f) olarak bölmelenir. Yani bu sınıflar üç giriş dizisiyle ayırt edilebilirler. (ad) x = 0 ve x = 1 giriş leri altında aynı s ınıf içindeki durumlara gittiğ inden üç giriş dizisiyle ayırt edilemezler. Buna göre S 3 = {(ce) (f) (ad) (b)(g) } bölmelemesi elde edilir. Bölmeleme iş lemi, ard arda gelen S eş değ er sınıflar kümeleri eş it olduğ unda, durdurulur. Bizim örneğ imizde S 3 = {(ce) (f) (ad) (b) (g)} bölmelemesi, S 3 = S 4 olduğ undan, son varılan bölmelemedir. Buda gösteriyor ki (ce) ve (ad) durum çiftleri olabilecek bütün giriş uzunlukları için birbirinden ayırt edilemezler, yanı eş değ erdirler. Eş leş tirme tablosuyla da bu sonuca varmış tık. Açıkladığ ımız bölmeleme adımlarına iliş kin bir tablo Ş ekil 9.5 da verilmiş tir. Belli bir giriş altında farklı sınıflara giden bir sınıfın, nasıl bölmelenmesi gerektiğ ini göstermek için o sınıftaki durumlar koyu veya italik yazılarak farklandırılmış tır. S 0 ={(a b c d e f g )} z= 0 0 1 0 1 1 0 S 1 = {( c e f ) (a b d g )} S 1 = {( c e f ) (a b d g )} x=0 ( e c f ) (d. f. a. b ) x=1 ( d a b) (c g e a ) S 2 = {( c e f ) (b) (a d) (g)} S 2 = {( c e f ) (b) (a d) (g)} x=0 ( e c f ) (f) (d a). (b) x=1 ( d a b) (g) (c e) (a) S 3 = {(c e) (f) (b) (a d) (g)} x=0 (e c) (f) (f) (d a). (b) x=1 (d a) (b) (g) (c e) (a) S 3 = S 4 Ş ekil 9.5 Örnek makinenin durum indirgemesinin eş değ er durum sınıfları yöntemindeki bölmeleme adımları Farklı s ınıflarda bulunan durumları ayırt edebilmek için uygulanacak giriş dizisini, sondan baş a doğ ru bulabiliriz. Örneğ in (c) yi (f) den ayırt etmek için 1 kk ( önce gelen giriş 1 , k = 0 veya 1 i gösterir) dizisini uygulamak gerekir. S 3 te c ve f ayrı sınıflardadır. Bunun için s 2 de 1 uygulamak gerekir, bir sonraki durumlar ise d, b dir. Bunları ayırt etmek için S 1 de x = 0 veya 1 uygulamak gerek, bir sonraki durumlar (a,f) veya (eg) yi ayırt etmek1 24 için ise S 0 da herhangi bir giriş i uygulamak yeter. Ş ekil 9.6deki tablo, uygulanacak giriş dizisini özetlemektedir. durum f b f giriş1 0(1 ) 1 (0) çıkış 1 0 1 durum c d a giriş1 0(1 ) 1 (0) çıkış 1 00 Ş ekil 9.6 Örnek makinenin c ve f durumlarının ayırt etmek için uygulanması gereken giriş dizisinin bulunması Burada eş değ er durum sınıfları yöntemi Moore makinesi üzerinde incelendi, Mealy makinesi içinde tutulacak yöntem aynıdır. Genel olarak göstermek mümkündür ki durum sayısı m olan bir makine için en fazla m- 1 bölmeleme adımıyla sonuç bölmelemeye varılır. 9.2 Durum kodlaması (state assignment) Ardış ıl devre sentezinin durum indirgemesinden sonraki adımı, durum kodlamasıdır. Durumları öyle kodlayalım ki bir sonraki durum fonksiyonları, dolayısıyla bellek elemanları giriş fonksiyonları ve çıkış fonksiyonları gerçeklemesi, olabildiğ ince basit yani düş ük maliyetli olsun. Bu iş leme durum kodlaması diyoruz. Durum kodlaması problemi, farklı kodlar için elde edilecek fonksiyonların (bir sonraki durum ve çıkış fonksiyonları) karmaş ıklığ ının karş ılaş tırılması problemine dönüş ür. O halde Boole fonksiyonlarının karmaş ıklığ ı tanımı yapılmalıdır. Her zaman geçerli olan bir karmaş ıklık tanımı verilemediğ inden, farklı tanımlar verilmiş ve bunlara iliş kin farklı yöntemler geliş tirilmiş tir. Genel tanımın verilemeyiş i, bu problemin tek bir çözümünün olmaması demektir. O nedenle farklı yöntemler uygulayıp sonuçları karş ılaş tırarak seçim yapmak gerekmektedir. Ayrıca seçilen bellek elemanın tipine göre, bir sonraki durum fonksiyonu karmaş ıklığ ının, bellek elemanının giriş fonksiyonu karmaş ıklığ ına yansımasının da saptanması gerekmektedir. Genel olarak bunu bellek elemanları ters tanım bağ ıntılarından göstermek mümkündür. Önce durum sayısı belli iken, verilebilecek farklı kod sayısının ne olduğ unu, bunlar arasında hangilerinin gerçekleş tirme açısından eş değ er olduklarını inceleyeceğ iz. Bu incelemenin sonucu görülecek ki 4 duruma kadar seçebileceğ imiz farklı kodlar sayısı 3 dür. O nedenle bu üç koda iliş kin gerçekleş tirmelerin hepsinin yapılıp, sonuçlar karş ılaş tırılarak, en uygun durum kodlaması seçilebilir. Durum sayısı 4 ten fazla olduğ unda, seçilebilecek farklı kodlar sayısı hızla artacağ ından baş ka çözümler aranmalıdır. Bunun içinde bir sonraki durum fonksiyonlarındaki 1 lerin, olabildiğ ince komş u olmasını sağ layacak kodun seçilme yöntemi verilecektir. 9.2.1 Kod sayısı ve eş değ er durum kodları (µ) durumlu bir makine için r ? log 2 µ bağ ıntısını sağ layan en küçük tam sayı r (aynı zamanda durum değ iş keni sayısı) olmak üzere 2 r farklı kod vardır. (µ) duruma verebileceğ imiz kodların sayısı da 2 r ! / (2 r -µ)! dür. Örneğ in µ = 3 durumlu makine için r = 2 ve kod sayısı 2 2 =4 (00, 01 ,1 0,11 ) tür. Üç duruma vereceğ imiz 4! / (4-3)! = 24 farklı durum kodu Ş ekil 9.6 da verilmiş tir.1 25 y 1 y 2 1 234567. . .192 02 1 22 23 24 a 0 00 00 00 00 00 00 1 1 11 11 11 11 11 1 b0 1 0110 1 0 11 11 00 00 00 01 0110 1 0 c 1 0 11 011 1 0110 100 1100 0100 00 1 Ş ekil 9.6 Üç durumlu makinenin durum kodlamasına iliş kin olabilecek 24 alternatif durum kodu Görüldüğ ü gibi her bir durum kodlaması iki sütundan oluş uyor, birinci sütun bir bellek elemanına diğ eri de diğ er bellek elemanına iliş kindir. Tabloda bir koda iliş kin sütunların yer değ iş tirmesiyle bulunan yeni durum kodu, ayrı bir durum kodu gibi görünür, oysa gerçekleştirme bakımından bunlar eş değerdir. Bu iki kod için yapılan gerçekleş tirmelerde, yalnızca bellek elemanları yer değ iş tirdiğ i görülecektir (y 1 -y 2 , Y 1 -Y 2 ). O nedenle bu kod çiftinden biri atılabilir. Örneğ in 1 kodunda sütunlar yer değ iş tirirse 3 kodu bulunur. Bir koddaki değ iş kenlerden biri, bir baş ka kodun değ iş keninin tümleyeni biçiminde olsun. Bu kodlara karş ı düş en gerçekleş tirilmelerde her bir bellek elemanı için aş ağ ıdaki farklılıklar saptanır. i. SR, JK bellek elemanları için giriş fonksiyonları ve Y, Y' çıkış ları yer değ iş tirir (sonuçta ilave bir maliyet gelmez) ii. T bellek elemanı için yalnızca Y, Y' yer değ iş tirir (sonuçta ilave bir maliyet gelmez) iii. D bellek elemanı için giriş fonksiyonun tümleyenin alınması gerektiğ inden ilave bir tümleyen kapısı gelir ve Y, Y' çıkış ları yer değ iş tirir. Bu sonuca nasıl varıldığ ını görmek için bellek elemanlarının ters tanım bağ ıntılarındaki simetriye bakalım. Ş ekil 9.7 de, Bir A durum kodu ile tümleyen A kodu verildiğ inde, ş imdiki ve bir sonraki durumlardaki değ iş iklikler ilk iki satırda görülmektedir. Diğ er satırlarda ise bu iki koda iliş kin giriş fonksiyonlarını alacağ ı değ erler görülmektedir. (y i ) lerdeki değ iş iklikler dış ında, giriş fonksiyonlarında görülecek değ iş iklikler aş ağ ıdaki gibidir. i. JK ve SR için giriş fonksiyonlarının aldıkları değ erlerin yer değ iş tirmiş tir. Yani gerçekleş tirmede (J) ile (K) ve (R) ile (S) yer değ iş tirecektir. ii T için bir değ iş iklik yoktur. Yani gerçeklemede aynı giriş fonksiyonu bulunacaktır. iii. D için ise giriş fonksiyonunun aldığ ı değ er diğ erindekinin tümleyenidir. Yani gerçekleş tirmede, bir tümleyen kapısı ilave etmek gerekir. A kodu y›Y0 ›0 1 ›1 0›11 ›0 TümleyenA kodu y'›Y' 1 ›1 0›0 1 ›00 ›1 A kodu JK 0K K0 1KK 1 Tümleyen A kodu JK K0 0K K11 K A kodu SR 0K K0 100 1 Tümleyen A kodu SR K0 0K 011 0 A kodu T 0 0 11 Tümleyen A kodu T 0 0 11 A kodu D 0 11 0 Tümleyen A kodu D 1 001 Ş ekil 9.7 Bellek elemanlarının ters tanım bağ ıntılarının tümleyen kodlar için karş ılaş tırılması Ş imdi daha önce gerçekleş tirdiğ imiz dizi detektörü örneğ i üzerinde, eş değ er olan durum kodlamalarını görelim (Ş ekil 9.8). (II) durum kodlaması (I) kodlamasındaki sütunların yer1 26 değ iş iminden, (III) kodlaması da (I) kodlamasındaki sütunların tümleyeninden elde edilmiş tir. Dizi detektörünün durum tablosu ve üç durum kodu Ş ekil 9.8 de verilmiş tir. Durum odu (I) Durum odu (II) Durum odu (III) Ş imdik durum x=0 x=1 00 00 11 AB , 0A , 0 011 0 10BB , 0 C , 0 11 11 00 C D,0 A,0 100 1 01 DB , 0C , 1 Ş ekil 9.8 Dizi detektörünün kodlanmasındaki eş değ er kodlara örnek (I), (II) ve (III) durum kodları için JK bellek ve D bellek elemanlarının giriş fonksiyonları ve çıkış fonksiyonları, aş ağ ıda Ş ekil 9.9 da verildiğ i gibidir. Yani kod sütunlarının yer değ iş tirmesi belek elemanlarının adlarının değ iş mesidir. Bir baş ka deyiş le bellek elemanları giriş fonksiyonlarında ve çıkış fonksiyonlarında 1 ?2 indis dönüş ümü yapılır. Devrede ise bellek elemanlarının indisleri değ iş tirilir. Kod sütunlarının tümleyenlerinin alınması JK bellek elemanlarının giriş lerinin yer değ iş tirmesine, D bellek elemanı giriş inin ise tümleyenin alınmasına denk olmaktadır. (I) durum kodu için (II) durum kodu için (III) durum kodu için J 1 =x y 2 J 1 =x' + y 2 J 1 =x' y 2 +x y' 2 K 1 =x'' y' 2 +x y 2 K 1 =y 2 K 1 =x y' 2 J 2 =x' + y 1 J 2 =x y 1 J 2 =y' 1 K 2 =y 1 K 2 =x' y' 1 +x y 1 K 2 =x' + y' 1 D 1=x' y 1 y 2 +x y' 1 y 2 +x y 1 y' 2 D 1 =x' y' 2 +y' 1 y 2 +y 1 y' 2 D 1=x y' 1 y' 2 +x' y 1 +x' y 2 +y 1 y 2 D 2 =x' y' 1 +y' 1 y 2 +y 1 y' 2 D 2 =x' y 1 y 2 +x y' 1 y 2 +x y 1 y' 2 D 2 =x y' 1 y' 2 +y 1 y 2 Z=x y 1 y' 2 Z=x y' 1 y 2 Z=x y' 1 y 2 Dönüş üm: 1 ? 2 Dönüş üm: y i ? y' i , J i ?K i D i ? D' i Ş ekil 9.9 Eş değ er kodların, gerçekleş tirilecek fonksiyonlara etkisi Yukarıda açıkladığ ımız gibi birbirine eş değ er durum kodları elendiğ inde, görülür ki 3 veya 4 durumlu makineler için, gerçekleş tirilecek devre üzerinde etkin olan, birbirinde farklı durum kodlaması sayısı 3 tür.(Ş ekil 9.1 0) Üç durum için kod Dört durum için kod Durumla r I II III I II III A 0 00 00 00 00 00 0 B0 1 011 1 01 011 1 C 1 0 11 011 0 11 01 D 11 1 0 1 0 Ş ekil 9.1 0 Üç ve dört durumlu bir makine için verilebilecek farklı durum kodlamaları1 27 Dört duruma kadar verilebilecek eş değ er durum kodu üç tane olduğ undan, her bir kodlama için elde edilecek devreler karş ılaş tırılarak, en uygunu seçilebilir. Dört durumdan daha fazla durumlu ardış ıl devrelerde, Ş ekil 9.11 deki tabloda görüldüğ ü gibi, durum kodlaması sayısı hızla artmaktadır. O nedenle her bir kodlama için devreleri gerçekleyip karş ılaş tırma yapmak, pratik değ ildir. Bu amaçla durum sayısı 7-8 civarında olan ardış ıl devrelere için bir yöntem, bundan sonraki bölümde incelenecektir. Ayrıca bu dersin kapsamı içine alınmayan ve Boole fonksiyonunun karmaş ıklık tanımına bağ lı olarak geliş tirilmiş genel yöntemler vardır. Durum sayısı durum eğ iş keni sayısı eş değ er lmayan kodlar 2 11 323 423 53 1 40 6 3 420 7 3 840 8 3 840 94 1 081 0800 ... 164 5.5 1 0 1 0 Ş ekil 9.11 Durum sayısına bağ lı olarak seçilebilecek, farklı durum kodlaması sayısını gösteren tablo 9.2.2 Durum kodlaması Yöntemin hedefi kodlama ile bir sonraki durum fonksiyonlarında, dolayısıyla bellek elemanları giriş fonksiyonlarında, komş u doğ ru (yanlış ) minterimleri maksimize etmektir. Durum kodlamasını öyle yapalım ki bellek elemanlarının giriş fonksiyonlarına iliş kin 1 (0) ler karnaugh diyagramında mümkün olduğ unca komş u karelere gelsin. İ ki duruma verilen kod, yalnızca bir değ iş kende fark ediyorsa; bu iki koda komş u kod denir. Örneğ in 001 , 000 a komş udur ama 01 0 e komş u değ ildir. Benzer biçimde komş u giriş ler de tanımlanabilir. Kodlama iş lemini, aş ağ ıdaki kurallara göre adım adım yapabiliriz. 1 . Belli bir giriş altında, aynı bir sonraki duruma giden durum çiftlerine komş u kodlar verelim. Bu demektir ki bir sonraki duruma hangi kod verilirse verilsin, onu temsil eden bir sonraki durum fonksiyonlarının hepsinde, birer 1 . mertebeden 1 ve/veya 0 alt küpü kesinlikle vardır. Belli bir giriş altında öyle 4 durum varsa ki bir sonraki durumları aynı; o zaman bu 4 durumdan her biri en az diğ er ikisi ile komş u kodlandırılarak, bir sonraki durum fonksiyonlarının hepsinde, 2. mertebeden 1 ve/veya 0 alt küpleri elde edilir. Örneğ in Ş ekil 9.2 deki durum tablosunda ACEG durumlarının hepsi x = 0 giriş i altında B durumuna gitmektedir. ACEG durumlarına komş u kodlar verirsek bir sonraki durum fonksiyonlarının hepsinde, 2. mertebeden birer alt küp oluş acaktır. Benzer biçimde 2 k l ık alt küpler oluş turma kuralları saptanabilir.1 28 2. Bir durumun komş u giriş ler için gittiğ i bir sonraki durum çiftine, komş u kodlar verilir. Bu demektir ki söz konusu durum çiftini temsil eden bir sonraki durum fonksiyonlarının, birisi dış ında, hepsinde 1 . mertebeden 1 ve/veya 0 alt küpü kesinlikle vardır. ikiş er ikiş er komş u dört giriş için ( örneğ in 00,01 ,11 ,1 0), bir durumun gittiğ i dört durum, kendi aralarında ikiş er ikiş er komş u olacak biçimde kodlanabilirler. Bu halde iki tane bir sonraki durum fonksiyonu dış ındaki bütün bir sonraki durum fonksiyonlarında, 2. mertebeden birer 1 ve/veya 0 alt küpü kesinlikle oluş ur. 3. Belli bir giriş altında aynı çıkış ı veren durumlara birbirinin komş usu kodlar verilmelidir. Bu adım 1 . adımdaki iş lemin, bir sonraki durum fonksiyonu yerine, çıkış fonksiyonu için uygulanmasıdır. Söz konusu komş u kodlu durum çifti , komş u giriş ler için de aynı çıkış ı veriyorsa, tercih edilmelidir. Yukarıdaki adımlardan anlaş ıldığ ı gibi, yöntem belli koş ulları sağ layan durumlara komş u kodlar verilmesine dayanmaktadır. Kuralların getirdikleri yararlar küçükten büyük numaralıya doğ ru azalmaktadır. O nedenle durum kodlamasına 1 . kurala iliş kin kümelerden baş lamakta yarar vardır. Komş u kodların verilmesini, en iyi Karnaugh diyagramı üzerinde yapabiliriz. Ş imdi yöntemi Ş ekil 9.1 2 te verilen örnek durum tablosu üzerinde inceleyelim Komş u kodlar verilmesi gereken durum kümeleri her bir adım için aş ağ ıdaki gibidir: 1 . x = 0 için (D,F), (A,C,E,G) [veya (AC),(AE),(AG),(CE),(CG),(EG)]; x = 1 için (A,B,D,F) [veya (AB),(AD),(AF),(BD),(BF),(DF)], (E,G) durumları komş u kodlandırılabilir. 2. x = 0 ve x = 1 komş u giriş leri için (B,C); (C,D); (B,E); 2*(C,F) ; 2*(B,G) durum çiftleri komş u kodlandırılabilir. 3. x = 0 giriş i için (A,B,C,D,E,G) grubundaki durumlar , x=1 giriş i için (ABCDEF) grubundaki durumlar ikiş er ikiş er komş u kodlandırılabilir. Komş u kod verilmesi gereken durumlar sayısı 4 veya 8 elemanlı kümeler oluş turuyorsa bunların iki ve üçüncü mertebeden küpler oluş turacak ş ekilde kodlanması indirgeme iş lemine daha fazla katkıda bulunur Bizim örneğ imizde bu özellikte iki küme vardır: (A, B, D, F), (A, C, E, G). Ayrıca tekrarlanan kümeler tercih edilmelidir bizim örneğ imiz de (EG), (D,F), (C,F), (B,G) ikiş er defa komş u kodlanması istenen durum çiftleridir. Ş ekil 9.1 2 verilen kodlamanın seçimini adım adım inceleyelim. (ACEG) ve (ABDF) kümelerinin diğ er kümelerle ortaklığ ı aynı olduğ undan rasgele bir tanesi (ACEG) yi seçelim. Bu küme Ş ekil 9.1 2 teki Karnaugh diyagramındaki gibi komş u kodlanırsa Y 1 ,Y 2 ,Y 3 bir sonraki durum fonksiyonlarının her birinde birer 2. mertebeden küp görülür. Bu küp Z çıkış fonksiyonunda da , 3. kurala iliş kin kümeden dolayı, görünecektir. Artık (ABDF) kümesindeki durumların 2. Mertebeden bir alt küp olarak komş u kodlanması mümkün değ ildir. 1 . kuralda iki defa görülen (DF) çiftine, komş u kodlar Ş ekil 9.1 2 teki gibi verilsin. Y 1 ,Y 2 ,Y 3 bir sonraki durum fonksiyonlarının her birinde ikiş er tane 1 . mertebeden alt küp görülür. (DF) nin Karnaugh diyagramındaki yerleş iminden (AD) ve(CF) komş ulukları da sağ lanmış olur. (AD) çifti 1 . kuralı sağ ladığ ından Y 1 ,Y 2 ,Y 3 bir sonraki durum fonksiyonlarının her birinde birer tane 1 .mertebeden alt küp görülür. (CF) çifti ise 2. kuralı 2 defa sağ ladığ ından Y 2 ,Y 3 bir sonraki durum fonksiyonlarının her birinde ikiş er tane 1 . mertebeden alt küp görülür.1 29 Geriye B nin kodlanması kalmaktadır. B Ş ekil 9.2 te verildiğ i gibi kodlansın. (BG) komş uluğ u 2. kuralı iki defa sağ ladığ ından Y 2 ,Y 3 bir sonraki durum fonksiyonlarının her birinde ikiş er tane 1 . mertebeden alt küp görülür. Diğ er taraftan (BD) çifti 1 . kuralı sağ ladığ ından Y 1 ,Y 2 ,Y 3 bir sonraki durum fonksiyonlarının her birinde 1 . mertebeden birer alt küp görülür. Ş ekil 9.2 te bütün sonuçlar gösterilmiş tir. 01 y 2 y 3 00 01 11 10 A C E G D F B y 1 y 1 y 2 y 3 A = 0 0 0 B = 1 1 0 C = 0 0 1 D = 1 0 0 E = 0 1 1 F = 1 0 1 G = 0 1 0 A x=1 x=0 B, 0 D, 0 B, 0 F, 0 B, 0 F, 1 C, 0 C, 0 E, 0 C, 0 G, 0 C, 0 B, 0 G, 1 B C D E F G 00 01 11 10 00 01 11 10 xy 1 y 2 y 3 A- B 110 C- B 110 E- B 110 G- B 110 D- F 101 F- F 101 B- D 100 D- C 001 A- C 001 C- E 011 F- C 001 E- G 010 G- G 010 B- C 001 y 1 y 2 y 3 y 4 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 10 0 1 1 1 Y 1 y 1 y 2 y 3 y 4 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 00 0 0 ACEG DF BD EG AD 000 00 00 Y 2 11 ACEG DF BD EG AD FC 00 01 11 10 00 01 11 10 1 0 0 y 1 y 2 y 3 y 4 0 0 0 0 111 11 01 Y 3 ACEG DF BD EG AD Ş ekil 9.1 2 Durum kodlaması örneğ i1 30 B BÖ ÖL LÜ ÜM M 1 10 0 Y YA AZ ZM MA AÇ ÇL LA AR R, , S SA AY YI IC CI IL LA AR R, , B BE EL LL LE EK KL LE ER R MSI (Medium Scale Intgrated) devreler birinci bölümde gördüğ ümüz kombinezonsal oldukları gibi ardış ıl da olabilirler. Ardış ıl MSI devrelerde yalnız bellek elemanları olabildiğ i gibi bellek ve kapı elemanları da olabilir. Ardış ıl MSI devreler üç ana grupta toplanabilirler: Yazmaçlar (Registers) sayıcılar (Counters) ve rastgele eriş imli bellek, RAM ler (Random Access Memory) Bu elamanları ayrı ayrı inceleyeceğ iz. Yazmaçlar, her biri birer bitlik bilgi tutan bellek elemanları ile bilginin iş lenmesini denetleyen kapı elemanlarından oluş ur. Sayıcılar ard arda gelen saat darbeleriyle daha önce belirlenmiş durumlara sırasıyla geçen ardış ıl devrelerdir. Sayıcıları, kapı elemanlarıyla durum geçiş leri sağ lanan bir yazmaç gibi düş ünmek mümkündür. Buna rağ men sayıcılar ayrı bir grup olarak incelenecektir. Rastgele eriş imli bellekler ,RAM (Random Access Memory) ler, hem bellekteki bilginin okunmasını (read) hem de belleğ e bir bilginin yazılmasını (write) sağ larlar. Bunlara okuyan ve yazan bellek elemanları da (read-write memory) denir. Burada sözünü edeceğ imiz bellek elemanları bilgisayar tasarımında ve ardış ıl devre tasarımında yaygın bir biçimde kullanılırlar. 10.1 Yazmaçlar En basit bir yazmaç devresi Ş ekil 1 0.1 de görüldüğ ü gibi yalnızca dört D tipi bellek elemanlarından oluş ur. Saat giriş i geldiğ inde giriş teki dört bitlik bir bilgi belleğ e yazılmış olur ve bir sonraki saat darbesi gelene kadar bu bilgi saklanır. Yazmaçlarda kullanılan bellek elemanları genellikle kenar tetiklemelidirler. D y y D y y D y y D y y I 1 I 2 I 3 I 1 y 1 y 2 y 3 y 4 CLK Ş ekil 1 0.1 Dört bitlik basit bir yazmaç devresi 10.1.1 Paralel yüklemeli yazmaçlar Paralel yükleme, bir saat darbesiyle giriş bilgisinin çıkış a aktarılmasıdır. Örneğ in dört bitlik bir bilgiyi, paralel yüklemeli bir yazmaçta bir saat darbesiyle, seri toplayıcıda ise ancak dört saat darbesiyle yüklemek mümkündür. Sayısal sistemlerde sistemin bir ana saati (master clock) vardır ve bütün bellek elemanlarının saat giriş ine bağ lıdır. Oysa bazen belli bellek elemanlarının belli zamanlarda çalış tırılması gereksinimi doğ ar. Bu nedenle ayrı bir kontrol giriş i (load) kullanılır. Ş ekil 1 0.2 de load giriş li, RS bellek elemanlı, dört bitlik bir paralel yüklemeli1 31 yazmacın lojik devresi verilmiş tir. Load giriş i saat darbe giriş i ile VE lendirilip bellek elemanlarının saat giriş lerine bağ lanabilirdi. Sayısal sistemlerde saat giriş lerinin doğ rudan bellek giriş lerine bağ lanması uygundur, çünkü aksi halde alt sistemlerin birbiriyle senkron çalış amama sorunu çıkabilir. Load giriş indeki, tümleyen almayan giriş i çıkış ı ile aynı olan (noninverting buffer) kapı, çıkış yelpazesi (fanout)ni arttırmak içindir. Yani bu kapı 8 VE kapısının giriş ine yeterli akımı sağ lar. S Q Q R I 1 S Q Q R I 2 S Q Q R I 3 S Q Q R I 4 Load Saat Clear y 1 y 2 y 3 y 4 Ş ekil 1 0.2 Paralel yüklemeli RS bellek elemanlı yazmaçnın lojik devresi Clear giriş i, load giriş i gibi, bir buffer kapısından bellek elemanlarının giriş ine bağ lıdır Giriş 0 olduğ unda (bellek elemanlarının giriş inde ki küçük yuvarlak bunu göstermek içindir) yazmaçta 0000 bilgisi oluş ur. Saat giriş i bir tümleyen elemanı üzerinden bellek elemanlarına bağ lanmış tır. Tümleyen elemanı, hem gerekli çıkış yelpazesini (fanout) arttırır hem de saat darbesinin düş en kenarında tetiklemeyi sağ lar. Ş imdi Ş ekil 1 0. 3 te doğ ruluk tablosu verilen paralel yüklemeli yazmacın çalış masının inceleyelim. clear Load Saat I 1 I 2 I 3 I 4 Y 1 Y 2 Y 3 Y 4 0 x x xxXx0000 1 0xxxXxy 1 y 2 y 3 y 4 11 v I 1 I 2 I 3 I 4 I 1 I 2 I 3 I 4 Ş ekil 1 0.3 Paralel yüklemeli yazmaçnın doğ ruluk tablosu Clear giriş i, diğ er bütün giriş lerden bağ ımsız olarak, çıkış ı s ıfırlamaktadır. Clear 1 ve load 0 iken çıkış durumunu korumaktadır. Bu iş lem bütün VE kapılarının çıkış larını dolayısıyla SR bellek elemanlarının giriş lerini 00 yapar, SR bellek elemanı tanımı uyarınca da saat darbesi gelse bile çıkış lar değ iş mez. Clear ve Load 1 iken saat1 32 darbesinin düş en kenarında ise paralel yükleme iş lemi olur. Bütün bellek elemanlarının giriş leri S i =I i ve R i =I' i bu durumda SR bellek elemanı tanımı gereğ ince çıkış ları S i = I i dir. Yukarıda incelediğimiz paralel yüklemeli yazmaç SR bellek elemanlarıyla gerçekleş tirilmiştir, diğer bellek elemanlarıyla da paralel yüklemeli yazmaç gerçekleştirmek mümkündür. Çeşitli firmaların kataloglarında paralel yüklemeli yazmaçların hem lojik devreleri hem de doğ ruluk tabloları verilmiş tir. Paralel yüklemeli yazmaçlarla ardış ıl devre tasarımı:Paralel yüklemeli yazmaçların iyi bir uygulaması ardış ıl devre sentezidir. Daha önce gördüğ ümüz gibi ardış ıl devreler bellek ve kombinezonsal olmak üzere iki parçadan oluş uyordu. Bellek parçası yerine yazmaçlar kullanarak ta sentez Ş ekil 1 0.4 te görüldüğ ü gibi de yapılabilir. Kombinezonsal kısım, kapı elemanlarından oluş turulabileceğ i gibi ROM larla da gerçekleş tirilebilir. Yazmacın çıkış ları, saat darbesi öncesi için ş imdiki durum değ iş kenlerine; saat darbesi sonrası için bir sonraki durum değ iş kenlerine karş ı gelir ve kombinezonsal devre giriş ine bağ lanmış tır. Diğ er giriş ler ise ardış ıl devrenin bağ ımsız giriş leridir. Kombinezonsal devrenin bir kısım çıkış ları, bağ ımlı bir sonraki durum değ iş kenlerine karş ı gelmektedir ve bir geri besleme ile yazmacın giriş lerine bağ lanmış tır. Diğ er çıkış lar ardış ıl devrenin çıkış larıdır. Bir MSI yazmaç devresinde 4 bellek elemanının düş ünürsek, böyle bir yazmaç ile 1 6 durumlu bir ardış ıl devre gerçeklenebilir. Paralel yüklemeli yazmaç Kombinezonsal devre y 0 1 ...y 0 r 1 Y 1 1 ...Y 1 r y 1 1 ...y 1 r 2 ş imdiki (bir sonraki) durum değ iş kenleri bir sonraki durum değ iş kenleri giriş değ iş kenleri çıkış değ iş kenleri Ş ekil 1 0.4 Paralel yüklemeli yazmaçlı ardış ıl devrenin genel yapısı Beş inci bölümdeki dizi detektörünün yazmaç ile gerçekleş tirilmesi Ş ekil 1 0.5 te verilmiş tir.1 33 YAZMAÇ y 1 y 2 CLK X Z Y 1 Y 2 Ş ekil 1 0.5 Dizi detektörünün paralel yüklemeli yazmaç ile gerçekleş tirilmesi 10.1.2 Ötelemeli yazmaçlar içerisindeki bilgiyi her saat darbesi geldiğ inde, bir bit öteye kaydıran ve seri giriş inden de bir bitlik bilgiyi içine alabilen yazmaçlara ötelemeli yazmaçlar denir. En basit bir ötelemeli yazmaç, çıkış ları giriş lerine kaskad bağ lı D tipi bellek elemanlarından oluş ur (Ş ekil 1 0.6). Bu devrede her bir saat darbesi geldiğ inde bilgi soldan sağ a doğ ru ötelenir. Yazmacın saat darbelerini kontrol eden ikinci bir giriş , load giriş i, kullanılabilir. Bunun için saat darbeleri ile load giriş i VE elemanı üzerinden saat giriş ine bağ lanır. Load giriş i yazmacın bit kapasitesi kadar bir zaman aralığ ında çalış masını sağ lar. Seri bilgi kelime (word) denilen ard arda bit gruplarından oluş ur. Kelimeler 4, 8, 1 6, 32 bit uzunluklarında olabilirler. Örneğ in dört bitlik bir kelime uzunluğ u olan yazmacın kapasitesi dört bit yani bir kelimedir. Her seferinde bir kelimelik bilginin ötelenmesi isteniyorsa load giriş inin 1 olma uzunluğ u, kelime zamanı (word time) . dört saat darbesini kapsayacak kadar olmalıdır (Ş ekil 1 0.6). D 1 y y D 1 y y D 1 y y D 1 y y seri giriş seri çıkış saat load kelime zamanı saat load c c1 34 serigiriş D 1 D 2 D 3 D 4 baş langıç0 1010 1.saat darbesi 1 0 1 0 1 2.saat darbesi 0 1 0 1 0 3.saat darbesi 1 0 1 0 1 4.saat darbesi 0 1 0 1 0 Ş ekil 1 0.6 Ötelemeli kaydedici Bir kelime zamanında saat darbeleri ve giriş çıkış larda gözlenen iş aretler Ş ekil 1 0.6 da verilmiş tir. Bilgisayarlarda bilgi seri, Paralel veya ikisinin de olduğ u biçimlerde iş lenebilir. Seri iş lemede her bir saat darbesiyle bir bit iş lenirken, paralel iş lemede her bir saat darbesiyle bir kelimelik bilgi iş lenir. Genellikle bilgisayarlarda paralel iş leme söz konusudur. Uzağ a bilginin gönderilmesinde ise bilgi, transmisyon ortamının maliyetini azaltmak için, genellikle seri gönderilir. Çift yönlü seri ve paralel yüklemeli ötelemeli kaydediciler Bundan önce söz ettiğ imiz yazmaçlarda bütün kontrol giriş leri birlikte yoktu. Ş imdi inceleyeceğ imiz de ise sağ a, sola öteleme ve paralel yükleme kontrol giriş leri olacak. Yazmaçlar sağ a sola kaydırma ve paralel yükleme kontrol giriş leriyle çok amaçlı olarak kullanılabilirler. Örneğ in verinin seriden paralele veya paralelden seriye dönüş türülmesi mümkündür. Ş ekil 1 0.7 de dört farklı çalış ma modu olan 741 94 tipi bir yazmacın lojik devresi verilmiş tir. D y D y D y D y 4X1 mux 3 2 1 0 3 2 1 0 4X1 mux 3 2 1 0 4X1 mux 3 2 1 0 3 2 1 0 4X1 mux 3 2 1 0 A 1 A 2 A 3 A 4 I 1 I 2 I 3 I 4 paralel çıkış lar paralel giriş ler s 1 s 0 sağ a kayma seri giriş sola kayma seri giriş clr clk Ş ekil 1 0.7 Kaydırmalı ve paralel yüklemeli yazmaç lojik devresi Yazmacın s 0 , s 1 giriş leriyle kontrol edilen dört çalış ma modu vardır: s 0 s 1 = 00 ise çıkış ta hiçbir değ iş iklik olmaz, s 0 s 1 = 01 ise çıkış sağ a ötelenir ve sağ a öteleme giriş indeki bit A 4 te görülürken A 1 deki bit kaybolur,1 35 s 0 s 1 = 1 0 ise çıkış sola ötelenir ve sola öteleme giriş indeki bit A 1 de görülürken A 4 teki bit kaybolur, s 0 s 1 = 11 ise paralel giriş ler çıkış ta görülür. Bu dört çalış ma modunu 4X1 lik MUX ların kontrol giriş leriyle sağ lamak mümkündür. MUX'ların 0 giriş leri bağ lı oldukları bellek elemanlarının giriş lerine bağ lıdır, yani 00 modunda çıkış lar değ iş mez. MUX'ların 1 giriş lerine bir soldaki bellek elemanlarının çıkış ları, sağ a ötelemeyi sağ lamak üzere bağ lanmış tır. MUX'ların 2 giriş lerine ise bir sağ daki bellek elemanlarının çıkış ları, sola ötelemeyi sağ lamak için bağ lanmış tır. Nihayet MUX'ların 3 giriş lerine paralel giriş ler bağ lanmış tır, öyle ki saat darbesi geldiğ in de bu paralel giriş ler çıkış ta görülürler. Böyle bir yazmaçta seri giriş lere gelecek 4 bitlik kelimeler dört saat darbesiyle çıkış ta paralel olarak görülürler veya çıkış taki 4 bitlik paralel veri üç saat darbesiyle A 1 veya A 4 ten seri olarak alınabilir. Bir uygulama olarak yazmaçları, daha önce gördüğ ümüz (Ş ekil 7.7) seri toplayıcının giriş ve çıkış verisini toplamada kullanalım. Toplanacak sayılar dört kelime uzunluklu olsun ve birer yazmaçta tutulsunlar. A ve B Yazmaçlarına toplanacak sayılar paralel girilebilir. Çıkış taki toplam sayıyı da kullandığ ımız A yazmaçsına seri olarak kaydedelim. Bu durumda çıkış ın yazıldığ ı A yazmacının, üzerindeki toplanacak sayı silinmiş olur. Lojik devre Ş ekil 1 0.8 de verilmiş tir. Yazmaç A paralel giriş ler Yazmaç B paralel giriş ler S y y R seri giriş seri giriş saat sağ a kaydırma modu A B Z Ş ekil 1 0.8 Kaydedicili seri toplayıcı Paralel yükleme modunda toplayacağ ımız dört bitlik A ve B sayılarının A ve B yazmaçlarına yüklediğ imizi varsayalım. SR belek elemanının baş langıç durumu 0 olsun A ve B sayılarının en az ağ ırlıklı bitlerinin toplamı z çıkış ında ve dolayısıyla A yazmacının seri giriş inde görülecektir. Yazmaçlar öteleme modunda iken, saat darbesi geldiğ inde, en az ağ ırlıklı bitlerin toplamı A yazmaçının en sol bitine girer. A ve B sayılarının ikinci ağ ırlıklı bitleri ise seri toplayıcının giriş lerine de gelir. En az ağ ırlıklı bitlerden gelen elde ise SR bellek elemanının çıkış ı y de olacaktır. Böylece z çıkış ı, ikinci bitler ile birinci bitlerin eldesinin toplamı olur ve A yazmacının seri giriş ine gelir. Bu iş lem dört saat darbesi boyunca devam ettiğ inde A ve B sayılarının toplamı A yazmacında görülür. Bu arada B yazmacına üçüncü bir sayı girilmiş olsun. Bu halde A + B nin üçüncü sayı ile toplamı, yeni bir dört saat darbelik sürede, A yazmacında elde edilebilir.1 36 10.2 Sayıcılar (Counters) MSI sayıcılar iki ana grupta toplanabilir: asenkron sayıcılar (ripple counters) ve senkron sayıcılar. Asenkron sayıcılarda birinci bellek elemanı hariç diğ er bellek elemanlarının saat giriş leri diğ er bellek elemanlarının çıkış larından beslenir. Senkron sayıcılarda ise sayıcıdaki bütün bellek elemanlarının saat giriş leri aynı bir saat kaynağ ından doğ rudan beslenir. Asenkron sayıcılarda bellek elemanlarının durum değ iş imi diğ er bellek elemanlarının durum değ iş imiyle ancak mümkün olur. Senkron sayıcılarda bütün bellek elemanlarının durum değ iş imi aynı anda olur. Sayma biçimi olarak sayıcılar ikili (binary) ve onlu (binary coded decimal BCD) olarak iki türlüdür. ikili sayıcılarda sayma iki tabanındadır ve durum sayısı kadar sayma iş lemi, ardarda saat darbeleriyle yapılır. Örneğ in 1 6 sayıcısı, 1 6 durumlu olup 0 dan 1 5 e kadar sayar sonra tekrar 0 a gelir. ikili kodlu onlu BCD sayıcılarda ise sayıcı iki tabanında 0 dan 9 a kadar iki tabanında her bir saat darbesi geldiğ inde sayma yapar, 9 dan sonra 0 a dönüş ür. Bu iki türü hem asenkron hem de senkron sayıcılarda göreceğ iz. 10.2.1 İ kili Asenkron Sayıcılar (Binary ripple counter) Genellikle Bir MSI sayıcı içinde dört bellek elemanı bulunur. ikili asenkron sayıcılarda ise T ve JK tipi bellek elemanları vardır. ikili asenkron bir MSI sayıcının lojik devresi Ş ekil 1 0.9 da verilmiş tir. Sayma iş lemi yaptıran darbeler en az ağ ırlıklı biti temsil eden bellek elemanının giriş ine bağ lanmış tır. Birinci bellek elemanının çıkış ı ikinci bellek elemanının saat giriş ine girer. Bütün bellek elemanlarının giriş leri 1 (Eğ er JK kullanılıyorsa J=1 , K=1 ; T bellek elemanı kullanılıyorsa T=1 ) de tutulur. Bilindiğ i gibi bu giriş ler altında JK ve T bellek elemanları bulundukları durumların zıtlarına dönüş ürler (toggle). Bu yapı üçüncü ve dördüncü bellek elemanlarında tekrarlanır. Saat giriş lerindeki yuvarlak çember, saat iş aretinin düş en kenarında tetiklemenin olduğ unu gösterir. J y y K 1 1 J y y K 1 1 J y y K 1 1 J y y K 1 1 A 1 A 2 A 3 A 4 sayma darbeleri Ş ekil 1 0.9 Asenkron ikili bir sayıcı devresi Baş langıç durumunda A 1 A 2 A 3 A 4 çıkış larının hepsi 0 olsun. Birinci bellek elemanının saat giriş ine gelen darbenin düş en kenarında J = K = 1 olduğ undan A 1 ç ıkış ı 0›1 e geçer. Bu geçiş ikinci bellek elemanına etki etmez, çünkü 1 ›0 geçiş i gereklidir. Bundan dolayı A 2 A 3 A 4 çıkış ları değ iş mez. ikinci saat darbesinin düş en kenarında ise A 1 çıkış ı J = K = 1 olduğ undan1 ›0 e geçerken ikinci bellek elemanı tetiklenir ve A 2 çıkış ı 0›1 e geçer. Üçüncü bellek elemanı etkilenmemiş tir. A 1 A 2 A 3 A 4 = 001 0 olup on tabanındaki 2 dir. Üçüncü saat darbesinin düş en kenarında A 1 ç ıkış ı 0 ›1 e geçer, ikinci üçüncü ve dördüncü belek elemanları etkilenmez. A 1 A 2 A 3 A 4 = 0011 olup on tabanındaki 3 dür. Dördüncü sayma saat darbesinin düş en kenarında iki ve üçüncü bellek elemanları etkilenir çünkü A 1 ç ıkış ı J = K = 1 olduğ undan1 ›0 e geçerken ikinci bellek elemanı tetiklenir ve A 2 çıkış ı 1 ›0 e geçer. Üçüncü bellek elemanı etkilenir ve A 3 çıkış ı 0›1 e geçer. A 1 A 2 A 3 A 4 = 01 00 olup on tabanındaki 4 dür. Bu iş leme devam edildiğ inde görülür ki bir bellek elemanın 0›1 geçiş i, ancak kendinden önceki bellek elemanlarının tümünün 1 olması halinde mümkündür, zaten iki tabanında saymada böyle olmaktadır. A 1 A 2 A 3 A 4 =1 37 1111 yani 1 5 olduktan sonra 1 6. sayma darbesinin düş en kenarında A 1 A 2 A 3 A 4 = 0000 olur. A 4 çıkış ı, J = K = 1 olduğ undan, 1 ›0 e geçerken bir sonraki MSI sayıcının birinci bellek elemanını tetikleyerek, saymanın daha büyük sayılara devam ettirilmesini sağ lar. Yukarıda anlattığ ımız sayıcının geriye sayması isteniyorsa i.Yükselen kenarda tetiklenen bellek elemanları kullanmak, ii. Bellek elemanlarının tümleyen çıkış larını sayıcı çıkış ı almak, iii. Çıkış ları Q lardan almak fakat 2,3,ve 4. bellek elemanlarının saat giriş lerini bir önceki bellek elemanlarının Q' çıkış larından beslemek, yeterli olur. Bu üç yolu, ilgili lojik devreleri analiz ederek, deneyebilirsiniz. 10.2.2 İ kili kodlanmış onlu asenkron sayıcı (BCD binary coded decimal ripple counter) Asenkron sayıcıların sentezi için adım adım takip edilebilecek genelleş tirilmiş bir yöntem yoktur. Senkron sayıcılarda ise daha önce adım adım verdiğ imiz ardış ıl devre sentezi yöntemi kullanılabilir. Asenkron sayıcılar sezgisel olarak sentezi yapıldığ ından, ikili kodlanmış asenkron sayıcının önce lojik devresini vereceğ iz sonra istenen iş i yapıp yapmadığ ını analiz edeceğ iz. ikili kodlanmış asenkron sayıcının durum diyagramı Ş ekil 1 0.1 0 da verilmiş tir. 0000 0001 001 0 0011 01 00 01 01 011 0 0111 1 000 1 001 Ş ekil 1 0.1 0 ikili kodlamalı decimal asenkron sayıcı Ş ekil 1 0.1 0 da durum diyagramı verilen ikili kodlamalı onlu asenkron sayıcının lojik devresi ve zaman diyagramı sırasıyla Ş ekil 1 0.11 ve Ş ekil 1 0.1 2 de verilmiş tir. J 1 y y K 1 1 1 J 2 y y K 2 1 J 3 y y K 3 1 1 J 4 y y K 4 1 A 1 A 2 A 3 A 4 sayma darbeleri Ş ekil 1 0.11 ikili kodlanmış decimal asenkron sayıcının lojik devresi1 38 1234567891 01 1 A 1 saat ? t 1 ? t 1 ? t 1 +? t 4 J 2 ? t 1 +? t 2 A 2 A 3 ? t 1 +? t 2 +? t 3 ? t 1 +? t 2 +? t m J 4 A 4 ? t 1 +? t 2 0 1 00000 11111 1 00 1 11 11 00 00 000011 1 10 0 0000000011 0 0 0 0 0 0 01 3 2 4567890 A' 4 Ş ekil 1 0.1 2 ikili kodlanmış decimal asenkron sayıcının zaman diyagramı Saat darbelerinin düş en kenarları ile 1 ., 2., 3. ve 4. bellek elemanlarının çıkış ları arasındaki gecikme sırasıyla ? t 1 , ? t 2 , ? t 3 , ? t 4 olsun. VE kapısının giriş çıkış gecikmesi ise ? t m olsun. Saat darbesinin düş en kenarına göre A 1 deki değ iş imin gecikmesi ? t 1 dir. Saat darbesinin düş en kenarına göre J 2 deki değ iş imin gecikmesi ? t 1 + ? t 4 dir. Saat darbesinin düş en kenarına göre A 2 ün tetiklenme anı ? t 1 , A 2 deki değ iş imin gecikmesi ise ? t 1 + ? t 2 dir. Saat darbesinin düş en kenarına göre A 3 ün tetiklenme anı ? t 1 + ? t 2 , A 3 deki değ iş imin gecikmesi ise ? t 1 + ? t 2 + ? t 3 dir. Saat darbesinin düş en kenarına göre J 4 teki değ iş imin gecikmesi ise ? t 1 + ? t 2 + ? t m dır. Saat darbesinin düş en kenarına göre A 4 ün tetiklenme anı ? t 1 , A 4 deki değ iş imin gecikmesi ise ? t 1 + ? t 2 dir. Buna göre Ş ekil 1 0.1 2 de görüldüğ ü gibi 9 dan sonra 0 olarak sayma yapılmaktadır. Yukarıda anlatılan sayıcılar yan yana kaskad bağ lanarak daha yüksek dijitlere kadar sayma iş lemi yapılabilir. Ş ekil 1 0.1 3 te Üç tane kaskad bağ lı sayıcı ile 000 dan 999 e kadar saymak mümkün olur . En az ağ ırlıklı sayıcıya 1 0 darbe geldiğ inde bir sonraki dijitin en az ağ ırlıklı biti 1 olur, ilk iki sayıcı 99 gösterirken 1 00 cü darbe geldiğ inde de üçüncü sayıcının en az ağ ırlıklı biti 1 olur ve böyle devam ederek 999 a kadar sayma mümkün olur.1 39 BCD sayıcı A 4 A 3 A 2 A 1 3. dijit BCD sayıcı A 4 A 3 A 2 A 1 2. dijit BCD sayıcı A 4 A 3 A 2 A 1 1. dijit sayma darbeleri Ş ekil 1 0.1 3 Kaskad bağ lı üç dijit li bir sayıcı 10.2.3 İ kili senkron sayıcılar Senkron sayıcılarda saat darbeleri, bütün bellek elemanlarının saat giriş lerine aynı anda gelirler. Bu nedenle sentezi klasik ardış ıl devre sentezi gibi yapılabilir. ikili sayıcılarda sayma her hangi bir bellek elemanının, kendinden önceki bellek elemanlarının hepsi 1 iken, konum değ iş tirmesi esasına dayanmaktadır. Bu özelliğ i kullanarak Ş ekil 1 0.1 4 te görüldüğ ü gibi hücresel yapıda sentez kolayca yapılabilir. Sayma enable 0 iken T=0 olacağ ından sayma iş lemi saat darbeleri gelse bile yapılmaz. Sayma enable 1 iken bir bellek elemanın durum değ iş tirmesi, ancak kendinden önceki bellek elemanların 1 durumunda olması VE kapılarıyla sağ landığ ında, mümkündür. Aksi halde bu bellek elemanının giriş i T=0 olacağ ından durumunu değ iş tirmez. Bellek elemanı olarak her ne kadar T seçilmiş se de JK bellek elemanlarıyla da aynı devre gerçekleş tirilebilir, öyle ki VE kapıları çıkış ları J ve K giriş lerine bağ lansın. Bilindiğ i gibi JK bellek elemanın 00 ve 11 giriş leri için davranış ı T bellek elemanının 0 ve 1 giriş leri için olan davranış ıyla aynıdır. Saat giriş i yükselen veya düş en kenarın her hangi birinde tetiklenebilir, asenkron sayıcılarda olduğ u gibi düş en kenarda tetiklenme zorunluluğ u yoktur. T y y A 1 T y y A 2 T y y T y y A 4 A 3 clk sayma enable bir sonraki sayıcı Ş ekil 1 0.1 4 ikili senkron sayıcının lojik devresi ileri sayıcı gibi geriye sayan sayıcıların yapısı birbirine benzerdir. Geriye sayıcıda bir bellek elemanının durum değ iş tirmesi, kendinden önceki bütün bellek elemanlarının 0 olması esasına dayanmaktadır. Örneğ in 01 00 durumunda olan sayıcının geriye sayması halinde A 3 , A 2 , A 1 bellek elemanlarının durum değ iş tirmesi gerekir ki buda 0011 sonucunu verir. Yani geriye sayma yapılmaktadır. Geriye saymada bellek elemanlarını giriş lerindeki VE kapıları, bir önceki bellek elemanlarının Q çıkış ları yerine Q' çıkış larıyla beslenir. Hem ileri hem de geri sayma iş lemini yapan bir senkron sayıcı lojik devresi Ş ekil 1 0.1 5 te verilmiş tir. Aynı devre VEYA kapı ç ıkış larını, JK bellek elemanları yerine, T bellek elemanlarının giriş lerine bağ layarak ta gerçekleş tirilebilir. ileri ve geri sayma giriş leri1 40 birlikte 0 ise sayıcı durumunu korur. İ leri ve geri sayma giriş leri sırasıyla 1 ,0 ise sayıcı ileri sayar; giriş ler sırasıyla 0,1 ise sayıcı geriye sayar. J y y K J y y K A 4 A 3 J y y K J y y K A 2 A 1 Geri sayma İ leri sayma CLK İ leri sayma Bir sonraki sayıcı Ş ekil 1 0.1 5 ileri geri sayabilen senkron sayıcı lojik devresi 10.2.4 Paralel yüklemeli ikili senkron sayıcılar ikili kodlanmış desimal senkron sayıcıların lojik devreleri, daha önce gördüğ ümüz ardış ıl devre sentezi yöntemiyle kolayca yapılabilir. Bu nedenle burada ayrıca incelenmeyecektir. Uygulamada kullanılan MSI senkron sayıcıların, paralel yükleme özelliğ iyle, istenen sayıdan baş layarak istenen sayıya kadar saymaları kolayca gerçeklenebilir. Sayma, load (yükleme), clear ve saat olmak üzere dört kontrol, dört bitlik paralel giriş , dört bitlik sayı çıkış ı, ve bir bitlik elde çıkış ı olan 741 61 benzeri bir senkron sayıcı devresi Ş ekil 1 0.1 7 de verilmiş tir. Kontrol giriş lerine göre devrenin davranış ına iliş kin doğ ruluk tablosu aş ağ ıdaki gibidir: Clear saat load sayma çıkış 0 X X X hepsi 0 1 X00d e ğ iş iklik yok 1 v 1 X paralel yükleme 1 v 0 1 sayma1 41 Clear 0 iken diğ er kontrol giriş leri ve paralel giriş ler ne olursa olsun, çıkış dört bitte de 0 dır. Load ve sayma 0 ise çıkış ta hiçbir değ iş me gözlenmez, çünkü bellek elemanlarının JK giriş leri 00 olmuş tur. Clear ve load 1 iken saat darbesinin yükselen kenarında, J = A, K = A' olduğ undan, çıkış larda A olacak , yani paralel giriş ler aynen çıkış ta görülecektir. Clear 1 ve load 0 ve sayma 1 iken, bellek elemanlarının JK giriş leri 11 olacak yani sayma yapılacaktır. Bir sonraki sayıcı J Q Q K J Q Q K J Q Q K J Q Q K Enable Load I 1 I 2 A 1 I 4 Clear Saat A 2 A 3 A 4 Ş ekil 1 0.1 6 Paralel yüklemeli senkron sayıcının lojik devresi Yukarıda lojik diyagramı verilen MIS sayıcı ile istenen sırada sayma iş lemi yapmak mümkündür. Örneğ in modulo N sayıcılar yani 0 dan N-1 e kadar sayan, N inci darbe geldiğ inde ise tekrar 0 konumuna dönen sayıcılar tasarlanabilir. Dört bitlik bir Modulo 1 6 sayıcı 0 dan 1 5 e kadar sayar 1 6. darbe geldiğ inde 0 a dönüp yeni gelecek darbelerle saymaya devam eder. Daha da genelleş tirilerek, istenen bir sayıdan baş layarak N-1 darbe ile sayma iş leri yapıp N. darbe ile baş langıç sayısına dönen modulo-N sayıcılar da tasarlanabilir. Ş ekil 1 0.1 7 da sırasıyla 0-7, alternatif 0-7, 8-1 5 ve 3-1 0 sayan modulo-8 sayıcıların lojik devreleri verilmiş tir. Ş ekil 1 0.1 7 a da 0-7 sayan sayıcıda 7 den sonra 0 a1 42 dönüş load giriş iyle, paralel giriş ler üzerinden sağ lanmış tır. Ş ekil 1 0.1 7 b de ise aynı sayıcının 7 den 0 a dönüş ü clear giriş i ile paralel yükleme kullanılmaksızın sağ lanmış tır. Ş ekil 1 0.1 7 c deki 8-1 5 sayıcıda 1 5 ten 0 a geçiş , son varılan sayı dört bit için maksimum olan 1 5 olduğ undan, elde çıkış ının load giriş ine bağ lanması ve 8 in paralel yüklenmesiyle sağ lanmış tır. Ş ekil 1 0.1 7 d deki 3-1 0 sayıcıda 1 0 dan 3 e geçiş , çıkış ta varılması istenen sayı 8 ulaş ıldığ ında, load giriş i uyarılarak 3 baş langıcının paralel yüklenmesiyle sağ lanmış tır. Paralel yüklemeli ikili kodlanmış onlu 0-9 sayan incelediğ imiz sayıcılarla tasarlayabilirsiniz. Ş ekil 1 0.1 7 Çeş itli Modulo sayıcıların senkron sayıcılarla gerçekleş tirilmesi Yukarıda incelediğ imiz senkron sayıcı genel olarak ardış ıl devre sentezinde de bir alternatif olarak kullanılabilir. Öyle ki ard arda gelmeyen durumlar paralel giriş lerde oluş turulacak bir sonraki durum fonksiyonları ve load giriş leriyle sağ lanabilir. Ard arda gelen durumlar ise sayma komutu ile sağ lanabilir. 10.3 Sayıcıların uygulaması olarak, zamanlama dizileri üreten devreler Zaman dizileri özellikle seri çalış an sayısal sistemlerde, bir kelime uzunluğ unca çalış mayı sağ layan darbeler olabilirler. Ayrıca sayısal sistemlerde genel olarak görülen zaman dizileri vardır. Sayısal sistemlerdeki alt devrelerin veya elemanlarının çalış ma aralıklarını kontrol eden kontrol birimleri vardır. Bu birimler ana saatin ürettiğ i darbelerin belli zaman aralıklarında belli alt devrelerde etkin olmasını sağ larlar. Böylece bir iş leve iliş kin iş lemler, belli sırada belli alt devrelerin çalış masıyla tamamlanmış olur. Kontrol Senkron paralel yüklmeli sayıcı A 4 A 3 A 2 A 1 Clear=1 Sayma=1 Load CLK I 4 I 3 I 2 I 1 a) 0-7 sayıcı Senkron paralel yüklmeli sayıcı A 4 A 3 A 2 A 1 Load= 0 Sayma=1 Clear CLK I 4 I 3 I 2 I 1 b) Alternatif 0-7 sayıcı Senkron paralel yüklmeli sayıcı A 4 A 3 A 2 A 1 Clear=1 Sayma=1 Load CLK I 4 I 3 I 2 I 1 c) 8-15 sayıcı Senkron paralel yüklmeli sayıcı A 4 A 3 A 2 A 1 Sayma=1 CLK I 4 I 3 I 2 I 1 d) 3-10 sayıcı Elde 1 000 Clear=1 Load 00111 43 biriminin iş levini yerine getirebilmesi için yazmaçlar veya sayıcılar kullanılabilir. Önce seri çalış an sistemlere iliş kin kelime-zamanı darbesini üreten devreyi inceleyeceğ iz. Sonra seri veya paralel çalış an sistemlerde, sözünü ettiğ imiz kontrol iş levinin yapılması için gerekli olan zaman dizilerini üreten devreleri inceleyeceğ iz. 10.3.1 Kelime-zamanı darbesinin üretilmesi Kelime zamanının ne olduğ unu ötelemeli yazmaçları da tanıtmış tık. Kelime zaman uzunluklu bir darbenin oluş turulabilmesi için bir baş lama iş areti geldikten sonra otomatik olarak üretilebilmeli . Ş ekil 1 0.1 8 de 8 bitlik kelime uzunluklu bir darbe üreten devrenin, bir sayıcı, bir belek elemanı ve bir VE kapısı kullanılarak nasıl gerçekleş tirildiğ i gösterilmiş tir. Baş langıçta sayıcı 000, R giriş i 0 ve baş lama iş areti 1 iken ilk saat darbesi geldiğ inde, bellek elemanın çıkış ı 1 olur ve sayıcı uyarılır sayma iş lemi baş lar. 8. saat darbesine kadar S = R = 0 olacağ ından bellek elemanın çıkış ı 1 de kalır. 8. saat darbesi geldiğ inde sayıcı 111 olacağ ından R = 1 olur, S = 0 olduğ undan bellek çıkış ı 0 olacak, sayma duracaktır. Bellek elemanının çıkış ı 8 saat darbelik süre içinde 1 olarak istenen kelime zamanını verir. ilgili zaman diyagramları ş eklin altında verilmiş tir. S Q Q R Sayıcı Saat Baş lama iş areti Sayma Kelime zamanıdarbesi 12345678 saat Baş lama iş areti VE kapısı çıkış ı Kelime zamanı Bellek elemanı çıkış ı S R Q Ş ekil 1 0.1 8 Seri çalış an sayısal sistemlerde 8 bitlik kelime zamanlı darbe üretimi 10.3.2 Sayısal sistemlerde zaman iş aretleri Paralel çalış an sistemlerde seri sistemlerde olduğ u gibi kelime zamanı devresi üretmek gibi bir sorun olmaz. Çünkü her saat darbesi bir kelimelik bilgiyi aynı anda iş leyecektir. Ama her iki sistemde de yapılacak iş leme bağ lı olarak alt sistemlerin çalış masını kontrol eden zaman iş aretlerine (timing signal) gereksinim vardır. Bu amaçla Ş ekil 1 0.1 9 da verilen yazmaçlı veya sayıcılı devreler kullanılabilir. Yazmaç devrenin baş langıç durumu 0001 , 001 0, 01 00, 1 000 durumlarından biri olsun. Her bir saat darbesi geldiğ inde yazmaçtaki bilgi bir sağ a öteleneceğ i yerde, son bit seri1 44 giriş e bağ lı olduğ undan bu iş lem dairesel (ring counter) olarak devam edecektir. Yazmacın çıkış ları, biri dış ında 0 olur. Yazmacın her bir çıkış ının bir alt devreyi kontrol ettiğ ini düş ündüğ ümüzde, görülür ki bir alt devre çalış ırken diğ erleri çalış mayacaktır. Bu çözümde 0000 durumu hiç gözlenmeyecektir, ancak ek devrelerle bu sağ lanabilir. Dört bitlik bir yazmacı kullanarak gerçekleş tirdiğ imiz bu devrenin iş levini, iki bitlik bir sayıcı ve 2X4 lük bir kod çözücü (dekoder) ile de gerçekleyebiliriz. Kod çözücü, sayıcıdaki sayıya bağ lı olarak, yalnızca bir çıkış ında 1 diğ er çıkış larında 0 verir. Her iki devreye iliş kin çıkış ların zaman diyagramları ş ekilde gösterilmiş tir. Ş ekil 1 0.1 9 4 bitlik zaman dizileri üreten devreler ve zaman diyagramları Seri giriş A 1 A 2 A 3 A 4 Çıkış lar Çıkış lar Yazıcı 4 lü Yazıcılı zaman iş aretiüreticisi Sayma A 1 A 2 A 3 A 4 Çıkış lar Çıkış lar 2x4 dekoder 2-bitlik sayıcı 4 lü Yazıcılı zaman iş aretiüreticisi A 1 A 2 A 3 A 4 A 4 Saat 4 lü zaman iş areti1 45 2 n alt devre için kontrol giriş leri ( zaman iş aretleri) üretmek istensin. Yukarıda verilen iki devrenin eleman gereksinimlerini genel olarak ş öyle özetleyebiliriz: 1 . 2 n bitlik bir ötelemeli yazmaç 2. n-bitlik bir sayıcı ile nx2 n lik bir kod çözücüye ( n giriş li 2 n tane VE kapısı) gereksinim vardır. Kontrol edilecek alt devre sayısı arttığ ında karmaş ıklık hızla artmaktadır. Bu nedenle daha az elemanla bu iş levi yerine getirebilecek Johnson sayıcılar kullanılır. 10.3.3 Johnson sayıcılar ve 8 li zaman iş areti üreteçleri Ş ekil 1 0.20 de bir Johnson sayıcı devresi verilmiş tir. iki kısımdan oluş maktadır: sayıcı ve bu sayıcıdan zaman iş areti üreten kod çözücü. Sayıcı çıkış ları öyledir ki ardarda gelen saat darbeleri sonucunda elde edilen çıkış larda yalnızca bir değ iş ken değ iş mekte diğ erleri değ iş memektedir. ilk yazmaçlı devreden farklı olarak burada baş langıç durumu 0000 alınmış ve 4. bitin tümleyen çıkış ı seri giriş e bağ lanmış tır. Baş langıç ve ardarda gelen sekiz darbenin ilk üçünde A 4 çıkış ı 0 diğ er dördünde ise 1 dir. Diğ er bellek elemanlarının çıkış ları bir sonrakine bağ lıdır. Bu sayıcıyı bildiğ imiz sentez yöntemi ile de gerçekleş tirebilirdik. Ş ekil 1 0.20 Johnson sayıcı devresi ile 8 bitlik kelime-zaman darbesi üretilmesi Çıkış ta ki kod çözücü; sayıcı çıkış ı bağ ımsız giriş ler, çıkış ları da zaman iş aretleri olan kombinezonsal devreler düş ünülerek gerçekleş tirilebilir. 8 VE kapısının çıkış larından yalnız 1 tanesi 1 iken diğ er hepsi 0 dır. O nedenle 8 alt devreyi ayrı ayrı kontrol etmek mümkündür. D Q Q D Q Q D Q Q D Q Q A 1 A' 1 A' 4 A 1 A' 2 A 2 A' 3 A 3 A' 4 A 1 A 4 A' 1 A 2 A' 2 A 3 A' 3 A 4 saat Bellek çıkış ları Dizi sayısı 0000 1000 1100 1110 1111 0111 0011 0001 1 2 3 4 5 6 7 8 A 2 A 3 A 41 46 Görüldüğ ü gibi Johnson sayıcıda 4 bellek ve iki-giriş li8 VE kapısıyla yapılan zamanlama devresi, yazmaç ile yapılsaydı 8 bellek elemanı, sayıcıyla yapılsaydı 3 bellek elemanı ve üç giriş li 8 VE kapısı gerekecekti. 10.4 Bellek birimi Bir sisteme iliş kin bellek birimi, belli uzunluktaki (kelime uzunluğ u) verinin belli adreslere (belli yazmaçlara) kaydedilmesi veya daha önce kaydedilmiş verinin okunması iş levini görürler. Bellek elemanları mağ netik core, disk veya ardış ıl devre olarak oluş turulabilirler. Biz burada ardış ıl olan, okuma yazmalı bellek (Read write memory), rastgele eriş imli bellek, RAM (Random Access Memory) , bellek birimini inceleyeceğ iz. Uygulamada kullanılan bellek birimleri 8 den 64 bite kadar çeş itli kelime uzunlukları olan binlerce veriyi saklayabilme özelliğ ine sahiptirler. Burada önce bir hücre tanıtacağ ız, sonra göstereceğ iz ki bu hücrelerin uygun bağ lanmasıyla istenilen kapasitede bellek birimleri oluş turulabilir. ikili hücre (binary cell): Ş ekil 1 0.21 de verildiğ i gibi üç giriş li bir çıkış lı bir ardış ıl devredir. Giriş ler giriş (input), oku-yaz (read-write) ve seç (select) tir. Giriş belleğ e yazılacak veya bellekten okunacak bir bitlik veridir. Oku-yaz aldığ ı 0 veya 1 değ erine göre belekten okumamı yoksa belleğ e yazmamı yapılacağ ını belirler. Seç ise bu ikili hücredeki bir bitlik veriye iliş kin, bir iş lem yapılıp yapılmayacağ ını belirler. Yazma yapılırken giriş teki bir bitlik bilgi belleğ e, Q ya aktarılır. Okuma yapılırken ise Q belleğ indeki bir bitlik bilgi çıkış a aktarılır. Bu ikili hücreye için giriş ç ıkış iliş kisi aş ağ ıdaki tabloda özetlenmiş tir. Q ş imdiki durumu, Q + bir sonraki durumu, I ise giriş teki veriyi göstermektedir. Seç Oku / yaz Giriş Q +Ç ıkış 0xxq0 1 0 (yaz) I I 0 11 (oku) I Q Q S Q Q R Giriş Oku/yaz Çıkış Seç BC Seç BC(Binary cell) İ kili hücre Giriş Oku/yaz Ş ekil 1 0.21 Bir ikili hücrenin lojik devresi ve blok diyagramı Ş ekil 1 0.22 de dört farklı adreste, üç bitlik dört kelime bulunduran bir bellek birimi verilmiş tir. 2X4 lük kod çözücü giriş indeki iki değ iş kenin aldığ ı değ ere göre yalnızca bir çıkış ı 1 olur. Bu çıkış , üç bitlik bir kelime oluş turan üç ikili hücrenin, seç giriş lerine bağ lanmış tır. Oku /yaz giriş i (0) ile Kod çözücünün hangi çıkış ındaki kelime uyarılmış sa,1 47 o kelimeyi oluş turan ikili hücrelere giriş verisi aktarılır. Oku/Yaz giriş i (1 ) ile ise Kod çözücünün hangi çıkış ındaki kelime uyarılmış sa, o kelimeyi oluş turan ikili hücrelerdeki veri, çıkış verisi olarak dış arı aktarılır. Burada her bir adresinde üç bitlik veri bulunan dört adresli bir bellek birimi incelendi. Aynı akıl yürütme ile istenilen adres ve kelime uzunluklu bellek birimleri oluş turulabilir. Uygulamada kullanılan bellek birimleri, genellikle binlerce adresi olan ve her bir adresinde 8, 1 6, 32, 64 kelime uzunluklu veri olabilen, MSI elemanlardır. Ş ekil 1 0.22 MSI bellek biriminin lojik devresi BC BC BC BC BC BC BC BC BC BC BC BC Veri Giriş i Veri Çıkış ı Kelime 0 Kelime 1 Kelime 2 Kelime 3 2x4 DEKODER Adres giriş i Bellek aktif Oku / yaz1 48 E EK KL LE ER R EK 1 Kaynakça Almaini A.: ‘Electronic Logic systems’, Prentice-Hall, 1 986. Davio M., Deschams J., Thayse A.: ‘Digital Systems with Algorirtm Imlementation, John Wiley, 1 979. Dietmeyer, D.: ‘Logic Desgn of Digital Systems’, Allyn and Bacon, 1 971 . Fletcher W.: ‘An Engineering Approach to Digital Design’, Prentice-Hall, 1 980. Givone, D.: ‘Introduction to Switching Circuit Theory’, McGraw-Hill, 1 970. Katz R.H.: 'Contemporary Logic Design' Benjamin/Cummings, 1 994 Kohavi Z.: ‘Switching and Automata Theory’ 1 974. Lee S.: ‘Modern Switching Theory and Digital Design’, Prentice-Hall 1 978. Mano M.: ‘Sayısal Tasarım’, MEB Yayınları, 1 994. Mano M.: ‘Dgital Logic and Computer Design’, Prentice-Hall, 1 990. Pertman J.: ‘Digital Hardware Design’, McGraw-Hill, 1 980. Roth C.: ‘Fundemantals of Logic Design’, West Publishing, 1 987. Sankur B., Stefanopulos, Y.:‘Bilgisayar ve Mantık Devreleri’, Boğ aziçi Üniversitesi, 1 994. Wakerly J.F.: 'Digital Design' Prentice Hall, 2000 Wood, P. : ‘Switching Theory’, McGraw-Hill, 1 968.1 49 EK 2 Örnek Sınav Soruları Elektronik ve Haberleş me Bölümü Doç. Dr. Ertuğ rul Eriş Devreler ve Sistemler Anabilimdalı 6 Aralık 1 996 Lojik Devreler Vize Sınavı 1 . Aş ağ ıda verilen bir giriş ve bir çıkış lı ardış ıl devrenin analizi için a. matematiksel modeli çıkarınız. b. Durum diyağ ramını çıkarınınz. c. (00) baş lanğ ıç durumunda 1 01 01 01 01 giriş dizisi için çıkış dizisini durum diyağ ramında çıkış ları numaranlandırarak veriniz. D 3 y 3 D 1 y 1 D 2 y 2 X z CLK 2. Durum diyagramı yandaa verilen ardış ıl devreyi D tipi bellek elemanları kullanarak gerçekleyiniz. 3. Aş ağ ıdaki ş ekilde görülen bir giriş ve iki çıkış lı kontrol devresine iliş kin durum diyagramı çiziniz. Kontrol devresinin sözle tanımı aş ağ ıda verilmiş tir. a. Trafik lambaları ilgili olduğ u z çıkış değ iş keni 1 olduğunda kırmızı yanacak, 0 olduğ unda ise yeş il yanacaktır. b. Yayalar karş ıdan karş ıya geçmek istediklerinde x giriş i 1 olacak, istemediklerinde ise 0 olacak. Bu iş lem yaya butonu ile sağ lanacaktır. c. Yayalardan bir talep gelmedikçe ( x giriş i 0), yol 1 dakika süreyle dönüş ümlü olarak kuzey- güney ve doğ u-batı doğ rultusunda araç trafiğ ine açık tutulacaktır. Saat iş aretinin periyodunun 1 dakika olduğ unu varsayınız. d. Yayalardan bir talep geldiğ inde ( x giriş i 1 ) , yol 1 dakika süreyle yaya trafiğ ine açık tutulacaktır. Bu durumda bütün trafik lambaları kırmızı yanmalıdır (z 1 =z 2 =1 ). Süre:1 .5 saattir. Kitap ve notlara bakılmaz. Puanlar 1 ) 35 2)35 3)30 Baş arılar dilerim. Z 1 Z 2 x Kontrol devresi Trafik Yaya butonu Batı Doğ u Kuzey Güney 01 10 00 X=0 X=0 X=0 X=1 X=11 50 X 1 Devreler ve Sistemler Anabilim dalı Doç.Dr.Ertuğ rul Eriş 23 Ocak 1 997 Lojik Devreler Final Sınavı 1 . x 1 x 2 x 3 000 001 011 01 0 11 0 111 1 011 00 A,0 A,1 B,0 A,1 B,0 B,1 B,0 A,1 A,1 B,0 B,1 B,0 B,1 C,0 B,1 B,0 Y 1 y 2 A B C B,0 B,1 C,0 B,1 C,0 C,1 C,0 B,1 a) Durum tablosu yukarıda verilen üç giriş li seri toplama devresini D tipi bellek elemanları kullanarak gerçekleyiniz. Durum kodlamasını A=00, B=01 , C=1 0 alınız. Durum tablosu 5 li Karnaugh diyagramına uygun biçimde verilmiş tir. b) X 1 =7, X 2 =1 4, X 3 =1 5 sayılarının toplamına iliş kin saat X 1 , X 2 , X 3 , y 1 ,y 2 , ve S nin zaman diyagramlarını çiziniz. Baş langıç durumunu 00 seçiniz. 2. 1 -7-4-5-1 .... biçiminde sayan bir sayıcıyı JK bellek elemanları kullanarak a) İ ki bellek elemanıyla gerçekleyiniz. b) Üç bellek elemanıyla gerçekleyiniz. c) Sonuçları karş ılaş tırınız. 3. a) Gördüğ ünüz MSI ardış ıl devreleri yazınız. b) Senkron Ardış ıl devre sentezinin adımlarını yazınız. c) Durum indirgemesi yapılmadan gerçekleş tirilen devre çalış ır mı? Neden? d) Durum indirgemesi yapmamakla kaybımız neler olabilir? Neden? e) Rastgele Durum kodlaması yapılarak gerçekleş tirilen devre çalış ır mı? Neden? f) Rastgele durum kodlaması yaptığ ımızda kaybımız ne olabilir? Neden? Kitap ve notlara bakılmaz. Süre 2 saattir. Puanlar 1 )40 , 2)40, 3)20. BAŞ ARILAR Dİ LERİ M. Üç giriş li Seri Toplama devresi X 2 X 3 saat S1 51 1 9.6.1 998 Elektronik ve Haberleş me Mühendisliğ i Devreler ve Sistemler Anabilim Dalı Doç.Dr. Ertuğ rul Eriş Lojik Devre Temelleri Final Sınavı 1 .a) f = ? 0,2,4,5,6,11 ,1 3,1 5,1 8,1 9,21 ,22,23,24,26,28,29,30 fonksiyonuna iliş kin çarpımlar toplamı biçimindeki bütün minimal fonksiyonları bulunuz. b) Bulduğ unuz minimal fonksiyonlardan birini iki seviyeli gerçekleyiniz c) f = ? 1 ,5,6,7,11 ,1 5 + ? k 2,3,4,1 0,1 3 fonksiyonuna iliş kin bir minimal fonksiyon bulunuz d) Bulduğ unuz minimal fonksiyonu yalnızca TVE kapılarıyla gerçekleyiniz. 2. f = x 1 ( x 2 + x 3 ) ( x 2 + x 4 + x 5 ) a) fonksiyonu 1 tane 1 6x1 lik mux ile gerçekleyiniz. b) bu fonksiyonu 8x1 lik bir mux ın enable giriş ini de kullanarak gerçekleyebilir misiniz? Neden? Nasıl? c) Aynı fonksiyonu kaçlık bir dekoderle gerçekleyebilirsiniz? Neden? Nasıl? 3. A 1 , B 1 en çok ağ ırlıklı 4 er biti temsil etmek üzere 1 2 bitlik iki sayı A=A 1 A 2 A 3 ve B=B 1 B 2 B 3 olsun. Bu iki sayıyı a ş ağ ıda verilen karş ılaş tırma devresinden 3 tane kullanarak gerçekleyiniz. Süre:1 .5 saattir. Kitap ve notlara bakılmaz. Puanlar: 1 )30, 2)40, 3)30 . BAŞ ARILAR Dİ LERİ M Karş ılaş tırma devresi A i B i x i y i z i x i 1 A i = B i 0 A i ? B i x i 1 A i = B i 0 A i ? B i y i 1 A i > B i 0 A i ? B i z i 1 A i < B i 0 A i ? B i1 52 Devreler ve Sistemler Anabilim dalı Doç.Dr.Ertuğ rul Eriş 29 Ocak 1 999 Lojik Devreler Final Sınavı 1 . T 1 y 1 y 1 x y 2 y 3 saat z T 2 y 2 y 2 x' y 1 y 3 T 3 y 3 y 3 x y 2 y 3 y 1 x c) Yukarıda verilen ardış ıl devre daha az sayıda bellek elemanı ile gerçeklenebilir mi? durum indirgemesi yaparak gösteriniz? d) a daki sonuca göre, gerekiyorsa kotlama yaparak, aynı devreyi D bellek elemanları kullanarak gerçekleyiniz. e) Verilen devre ile bulduğ unuz devreyi karş ılaş tırınız. 2. Durum diyagramı verilen senkron ardış ıl devreyi A B C 11 /00 11 /00 01 /1 0 1 0/01 00/11 01 /00 00 1 0 1 0 01 1 0 01 00 1 0 00 11 00 Ardış ıl devre x 1 x 2 z 1 z 2 d) Durum kotlaması yaparak , JK bellek elemanları ile gerçekleyiniz. e) X 1 = 001 011 X 2 = 001 011 Giriş dizisi için çıkış dizisinin zaman diyagramını çiziniz. Zararlı zararsız çıkış ları gösteriniz. Kitap ve notlara bakılmaz. Süre 2 saattir. Puanlar 1 )60 , 2)40 BAŞ ARILAR Dİ LERİ M. 26 Mart 1 9991 53 Doç.Dr.Ertuğ rul Eriş Lojik Devre Temelleri Vize 1 sınavı a. Boole cebrini tanımlayınız. b. Boole cebri aksiyomlarını yazınız . S kümesi P = {a,b} kümesinin alt kümelerinden oluş an S = {0, 1 , A, B} olsun. 0 = ?, 1 = {a,b}, A= {a}, B = {b}. Bu kümeler arasında kümeler teorisinin birleş im ve kesiş im ikili iş lemleri ile, tümleyen küme birli iş lemi. Bu iş lemler ve kümeler teorisinin aksiyomları bir Boole cebri oluş tursun. f(0,0) = a, f(0,1 ) = b, f(1 ,0) = 0, f(0,b) = 1 olmak üzere kaç tane Boole fonksiyonu vardır? Neden? Bu fonksiyonları veriniz. 3 tane Boole olmayan fonksiyon örneğ i veriniz. S = {0, 1 } Boole cebrinde tanımlanan dört değ iş kenli fonksiyon f(0000)= f(0001 )= f(01 00)= f(011 0)= f(1 000)= f(1 011 )= f(1111 )=1 diğ er tanım kümesi elemanları için ise 0 olsun Bu fonksiyonun 1 . Tip kanonik açınımını yazınız? Doğ ru ve yanlış minterimleri belirtiniz. Bu fonksiyonun 2. Tip kanonik açınımını yazınız? Doğ ru ve yanlış maxterimleri belirtiniz. 4. f 1 = x’ 1 x’ 3 x 4 + x 2 x 3 x 4 , f 3 = x’ 1 x 4 olduğ una göre f 1 ? f 2 = f 3 bağ ıntısını sağ layan f 2 fonksiyon(larını) nunu bulunuz. f 1 =? 1 ,4 ; f 2 =? 2,5,6 ve f 4 =? 1 ,4,2,5,6 olduğ una göre f 1 + f 2 f 3 = f 4 bağ ıntısını sağ layan f 3 fonksiyonlarının sayısı kaçtır? Neden? 1 tanesini veriniz. 1 ) 1 5 puan, 2) 30 puan, 3) 20 puan, 4)35 puan Süre 2 saattir. Kitap ve notlara bakılmaz. Baş arılar ve iyi bayramlar dilerim.1 54 Devreler ve Sistemler Anabilim dalı Prof. Dr. Ertuğ rul Eriş 4 Ş ubat 2000 Lojik Devreler Final Sınavı 1 . Aş ağ ıda verilen ardış ıl devre için Matematiksel modeli veriniz. Durum tablosunu veriniz Durum diyagramını veriniz. (00) baş langıç durumu için 01 01 01 0 giriş dizisi için çıkış dizisi ve bir sonraki durumlar için zaman diyagramlarını veriniz, hatalı çıkış ları da gösteriniz. 2. a. Aş ağ ıda durum tablosu verilen ardış ıl devreyi D tipi bellek elemanı kullanarak gerçekleyiniz. Durum kodlaması için A=00, B=01 , C=1 0 ve D=11 alınız. x 1 x 2 00 011 11 0 A D, 0 A, 0 B, 1 D, 0 BD , 1 A, 1 C, 0 D, 1 C B, 0 B, 0 C, 1 B, 0 D D, 0 A, 0 B, 1 D, 0 A=00 baş langıç durumunda x 1 = 01111 0 x 2 = 01 001 0 Giriş dizisi için çıkış dizisini, durum tablosunda çıkış ları numaralandırarak, yazınız. X 2 giriş i ile z çıkış ı arasındaki iliş ki dört temel aritmetik iş lemden hangisidir, belirtiniz. 3. Aş ağ ıdaki durum tablosu için durum indirgemesi yapınız, indirgenmiş durum tablosunu çiziniz. x 1 x 2 00 011 0 AE , 1 C, 0 B, 1 B C, 0 F, 1 E, 1 CB , 1 A, 0 D, 1 D C, 0 F, 1 E, 1 E A, 0 F, 1 B, 1 F C, 0 E, 1 C, 1 Bu indirgemenin senteze getireceğ i yararlar var ise nedenini de açıklayarak belirtiniz. Bu indirgemenin dış ında, bellek elemanları giriş fonksiyonlarına keyfiler gelir mi? Gelirse nedenini de açıklayarak yazınız. Kitap ve notlara bakılmaz. Süre 1 ,5 saattir. Puanlar 1 )40 , 2)40, 3)20 BAŞ ARILAR Dİ LERİ M. saat z y' 1 x D y 1 y 1 J y 2 y 2 K y 1 y 2 x x' x x' x z JK 00 01 11 1 0 y 000 00 11 11 1 saat1 55 YTÜ Elektronik ve Haberleş me Mühendisliğ i Bölümü Prof. Dr. Ertuğ rul ERİŞ Lojik Devreler 1 .Vize Sınavı 24.11 .2000 (30P) 1 ) ikili iş lemi (S 2 -S) aş ağ ıdaki gibi tanımlanmış tır: ABA B 001 0 1 0 1 0 1 111 Aş ağ ıdaki ifadelerin doğ ru olup olmadığ ını kanıtlayınız. (1 A) (A 0) = 1 A B = 1 ise (A + C) (B + C) = 1 dir. A B = B A F=? 0,1 ,7,8,9,1 0,11 ,1 3,1 4,1 5 olmak üzere, (35P) F‘e iliş kin çarpımlar toplamı ş eklindeki minimal fonksiyon(ları) karnaugh öntemi ile bulunuz. Bir minimal fonksiyonu iki seviyeli biçimde gerçekleyiniz. (35P) F‘e iliş kin toplamlar çarpımı ş eklindeki minimal fonksiyon(ları) tablo yöntemi ile bulunuz. Bir minimal fonksiyonu TVEYA (NOR) kapıları kullanarak iki seviyeli erçekleyiniz. Süre, 1 saat 1 5 dakikadır. Kitap ve notlara bakılmaz. BAŞ ARILAR Dİ LERİ M1 56 YTÜ Elektronik ve Haberleş me Mühendisliğ i Bölümü Prof. Dr. Ertuğ rul ERİŞ Lojik Devreler 2.Vize Sınavı 5.1 .2001 1 .(50 Puan) Verilen durum tablosunda eş değ er durumlar olup olmadığ ını inceleyiniz. Varsa alfabetik olarak daha sonra gelen durumları indirgeyerek indirgenmiş durum tablosunu oluş turunuz. Durum diyagramını çiziniz. Durumlara aş ağ ıdaki gibi kodlar verilmesi halinde oluş acak devreyi JK bellek elemanları kullanarak minimum elemanla gerçekleyiniz. a = 01 0 , b=1 00 , c=11 0 , d=1 01 , e=001 , f=011 , g=000 , h=111 Durum indirgemesi yapmamız bir fayda sağ ladı m ı? Devreyi durum indirgemesi yapmadan gerçekleseydik, ne gibi değ iş iklikler olurdu? Açıklayınız. Bu devrede hatalı çıkış lar gözlenebilir mi? Nedenleriyle açıklayınız. S D z 1 z 2 ab0 0 bd0 1 ch0 1 dg0 0 ea1 0 fb0 0 ge0 1 hg0 0 SD:sonraki durum 2.(50 Puan) Aş ağ ıdaki devrenin analizini yaparak durum tablosunu oluş turunuz, durum diyagramını çiziniz (MUX’un ağ ırlıksız seçim ucu a’dır). Devreye 00 baş langıç durumunda aş ağ ıdaki giriş lerin uygulanması halinde, çıkış ların ve durum değ iş kenlerinin alacağ ı değ erleri zaman diyagramı üzerinde gösteriniz, zararlı hatalı çıkış var mıdır, açıklayınız. Süre, 1 saat 1 5 dakikadır. Kitap ve notlara bakılmaz. BAŞ ARILAR Dİ LERİ M JK y0 0 0 11 11 0 00011 11 001 yY 00 011 11 0 JK 0k 1 kk 0k 11 57 Durum kodları: A : 00 B : 11 C : 01 D : 1 0 YTÜ Elektronik ve Haberleş me Mühendisliğ i Bölümü Prof. Dr. Ertuğ rul ERİŞ Lojik Devreler Final Sınavı 2.2.2001 1 .(40 Puan) Yanda durum tablosu verilen ardış ıl makinada eş değ er durumları indirgeyiniz Durum kodlaması yapınız. 2.(40 Puan) Aş ağ ıda durum diyagramı verilen devreyi JK tipi bellek elemanları ile gerçekleyiniz. 3.(20 Puan) Bilgi yarış malarında, sorulan soruya sadece düğmesine ilk basanın cevap vermesine olanak tanıyacak bir sistem tasarlanacaktır. Cevap verme hakkına sahip olan yarış macının lambası yandıktan sonra, bu yarış macı da dahil hiçbirinin uygulayacağ ı giriş durumu değ iş tirmeyecektir. Sistem herbir yarış macı için aynı olan birimlerin (yarış macı devresi) yandaki ş ekildeki gibi kaskad bağ lanması ile oluş turulur. i.birim (yarış macı devresi) için ; Düğ me (D): i. yarış macının kullandığ ı giriş (düğ meye basıldığ ında :1 ; Basılmadığ ında :0) Komş u Giriş (KG): Herhangi bir düğ meye basıldığ ı bilgisinin iletildiğ i giriş . Komş u Çıkış (KÇ): Herhangi bir düğ meye basıldığ ı bilgisinin iletildiğ i çıkış . Lamba (L): i. Yarış macının cevap verme hakkı olduğ unu gösteren çıkış . (Yanıt verme hakkı var:1 ; yok : 0) Yarış macı devresine ait durum diyagramını çiziniz. NOT: Yukarıdaki sistem yapısı d ış ında herhangi bir sistem yapısı da tasarlayabilirsiniz. Süre, 2 saattir. Kitap ve notlara bakılmaz. BAŞ ARILAR Dİ LERİ M 0/00 A B 1 /11 0/01 1 /1 0 0/01 1 /1 0 C0 / 10D 1 /00 JK ters tanım bağ ıntısı: yY 00 011 11 0 jk 0k 1kk 0k 1 x=0 x=1 AB , 0 0C , 11 BH , 0 1 E,11 CC , 0 1 F,1 0 DH , 0 1 E,11 EE , 11 A,1 0 F G,00 F,01 GD , 0 0C , 11 HA , 10B , 1 01 58 abece, 1 Akım mantığ ı, 28 alphanumeric (abece sayısal), 2 Ana-bağ ımlı, 94 Anahtar fonksiyonları, 25 analiz, 32 ardış ıl (sequential) devreler, 5 ardış ıl devreler, 81 ardış ıl makinalar, 81 ardış ıl mantık, 81 Asal bileş en (prime implicant), 41 asal bileş enler tablosu, 44 ASCII, 2 asenkron sayıcılar, 1 36 Asenkron makinalar, 85 associative, 1 6 Ayrıcalı-VEYA kapısı, 30 Ayrık zamanlı (discrete) iş aret, 1 Bağ ıntı (Relation), 1 2 BCD (Binary Coded Decimal), 2 bellek, 86 binary cell, 1 46 Birim eleman, 1 4 birinci tip kanonik açınım, 21 birleş im, 1 8 birleş tirme iş lemi, 42 Boole Cebri, 1 4 Boole fonksiyonu, 1 9 Boole fonksiyonunun uzunluğ u:, 1 9 Boole olmayan fonksiyon, 1 9 Bütün iş lemler, 35 carry generate, 64 carry propagation, 64 cebrine iki değ erli Boole cebri, 25 Clear, 98 Consensus teoremi, 1 7 Counters), 1 36 Ç.ıkış yelpazesi (Fan out), 31 çarpımlar terimleri toplamı, 21 Çevre, 37 çevrim ( cycling), 92 Çoğ ullayıcı, 72 Dağ ılma (distributive), 1 4 darbe modu, 85 De Morgan teoremi, 1 7 Decoders, 69 değ er kümesi, 1 2 Değ iş ken, 1 4 devingen (dinamik) bellek eleman, 4 Devingen bellek elemanl, 4 Doğ ru ve yanlış minterimler, 25 Doğ ru ye yanlış makterimler, 25 Doğ ruluk tablosu, 26 Don't care functions, 56 dual, 1 4 durağ an (statik) bellek eleman, 4 Durum diyagramı, 84 Durum tablosu, 84 durumların kodlanması, 1 07 EAROM, 77 EBCDIC, 2 Electronically alterable ROM, 77 elektronik olarak silinebilen ROM, 77 enable, 72 encoder), 72 EPROM, 77 EPROM, 77 Erasable PROM, 77 erasable ROM, 77 Eş deger durum, 11 8 Eş değ er kuvvet (ıdempotent), 1 5 Eş değ erlik bağ ıntısı (equivalence relation), 1 3 flip flop, 86 Fonksiyon, 1 2 Fonksiyonel bağ ıntı (functional relation), 1 2 full adder, 59 fundemenlal mode, 85 Geçiş tablosu, 84 Geçiş lilik (transitive) özellik, 1 3 Geri beslemeli mantık devresi, 37 Gerilim mantığ ı, 28 Giriş yelpazesi (Fan in), 31 Gray kod, 3 hızlı elde (look ahead carry), 64 ikili (bit), 1 ikili hücre, 1 46 ikili kodlanmış onlu toplayıcılar, 66 ikili mantık, 1 ikinci tip kanonik açınımı, 22 ileri bakmalı paralel toplayıcı, 66 ileri beslemeli bir mantık devresi, 37 indirgenemeyen fonksiyon, 40 indirgenme, 1 07 irreducible, 40 irredundant, 40 JK bellek elemanı, 89 kapı, 5 kardinalite, 1 8 Karnaugh diyagramı, 41 Kartezyen çarpım:, 1 2 Kenar tetiklemeli bellek elemanları, 95 kesiş im, 1 8 Kısmen belirlenmiş fonksiyonlar, 56 kodlama(düğ ümleme), 1 kodlayıcı, 72 kombinezonsal (combinational) devreler, 5 Kombinezonsal devre, 32 komş u kareler, 52 konumsal sayı dizgeleri, 6 kuvvet kümesi, 1 8 latch, 91 Look ahead carry), 66 LSB(Least Significan Bit), 7 LSI, 63 LSI(Large Scale Integrated Circuits), 32 m. mertebeden alt küp, 52 Makterim, 23 Mantık devresi:, 31 mantık devresine iliş kin graf (çizge), 36 Master slave, 94 Matematiksel model, 82 Mealy makinesi, 82 Minimal (indirgenmiş ) fonksiyon, 39 Minimal bütün iş lemler, 35 Minterim, 22 Moore makinesi, 82 MSB(Most Significant Bit), 7 MSI, 631 59 MSI (Medium Scale Integrated Circuits), 32 mux, 72 negatif kenar, 91 Negatif mantık, 28 negative edge, 91 n-lik iş lem (n-ary operation), 1 2 önermeler cebri, 28 Örten (cover) fonksiyon, 41 paralel iletim, 4 Paralel yüklemeli ikili senkron sayıcılar, 1 40 permütasyonları (devş irim), 1 8 PLA (Programmable Lojik Array), 63 positive edge, 91 pozitif kenar, 91 Pozitif mantık, 28 preset, 98 PROM, 77 pulse mode, 85 Qulne Mc- Cluskey yöntemi, 41 ripple counters, 1 36 ROM, 75 ROM (Read Only Memory), 63 Saatli SR bellek elemanı, 88 Sabit (değ iş mez), 1 4 sayamak (digit), 1 Sayısal (digital) iş aret, 1 Senkron makinalar, 85 sentez iş lemi, 33 seri iletim, 4 seven segment display, 66 Sıra bağ ıntısı (order relation), 1 3 siliebilen ROM, 77 silinebilir PROM, 77 Simetri özelliğ i, 1 3 sistem, 1 sözle tanımlama, 1 07 SR bellek elemanı, 86 SSI elemanlar, 31 state assignment, 1 07 state reduction, 1 07 strobe, 72 Sürekli iş aretl, 1 T tetikleme bellek elemanı, 90 taban (radix), 6 tablo yöntemi, 41 tam toplayıcı, 59 Tam toplayıcı, 60 Tamamen belirlenmiş bağ ıntı (Completely specified relation), 1 2 tanım kümesi(domen), 1 2 Temel asal bileş en (Essential prime implicant), 42 temel bellek elemanları, 88 Temel mod, 85 temel satır, 45 ters tanım bağ ıntıları, 1 08 toplamlar terimleri çarpımı, 22 transition table), 84 tümleş tirilmiş devre, 31 Tümleyen kapısı, 5 TÜMLEYEN kapısı, 30 TÜVE kapısı, 30 TÜVEYA kapısı, 30 Üreysel (generic) değ iş ken, 1 5 VE kapısı, 29 VE(AND) kapısı, 5 VEYA kapısı, 30 VEYA(OR) kapısı, 5 VLSI(Very Large Scale Integrated Circuits), 32 word description, 1 07 Yansıma (refleksive), 1 3 Yarı toplayıcı, 59 yazmaç (register), 5 yedi bölümlü gösterici, 66 Yer değ iş tirme (comutative), 1 4 Yol, 37 Yutma teoremi, 1 6KAYNAKÇA Almaini A.: ‘Electronic Logic systems’, Prentice-Hall, 1986. Davio M., Deschams J., Thayse A.: ‘Digital Systems with Algorirtm Imlementation, John Wiley, 1979. Dietmeyer, D.: ‘Logic Desgn of Digital Systems’, Allyn and Bacon, 1971. Fletcher W.: ‘An Engineering Approach to Degital Design’, Prentice-Hall, 1980. Givone, D.: ‘Introduction to Switching Circuit Theory’, McGraw-Hill, 1970. Katz R.H.: 'Contemporary Logic Design' Benjamin/Cummings, 1994 Kohavi Z.: ‘Switching and Automata Theory’ 1974. Lee S.: ‘Modern Switching Theory and Digital Design’, Prentice-Hall 1978. Mano M.: ‘Sayısal Tasarım’, MEB Yayınları, 1994. Mano M.: ‘Dgital Logic and Computer Design’, Prentice-Hall, 1990. Pertman J.: ‘Digital Hardware Design’, McGraw-Hill, 1980. Roth C.: ‘Fundemantals of Logic Design’, West Publishing, 1987. Sankur B., Stefanopulos, Y.:‘Bilgisayar ve Mantık Devreleri’, Boğ aziçi Üniversitesi, 1994. Wakerly J.F. 'Digital Design' Prentice Hall, 2000 Wood, P. : ‘Switching Theory’, McGraw-Hill, 1968.