Genel Eşzamanlı ( Senkron ) Ardışıl Devreler Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.1 http://akademi.itu.edu.tr/buzluca Eşzamanlı (Senkron) Ardışıl Devreler (Synchronous Sequential Circuits) Ardışıl (sequential) devrelerde çıkış değeri, hem girişlerden gelen değerlere hem de devrenin "durumuna" bağlıdır. Sonlu durumlu makine (finite state machine) modeline göre oluşturulan bu devrelerde durum bilgileri belleklerde (flip-floplarda) tutulur. Tüm flip-floplar aynı saat işareti ile eşzamanlı tetiklenirler (senkron) . Buna göre makine sadece saat işaretinin etkin geçişlerinde durum değiştirebilir. Eşzamanlı ardışıl devreler iki farklı modele göre tasarlanabilir. a) Mealy Modeli (George H. Mealy, bilgisayar bilimleri, ABD) F G girişler (I) saat işareti flip-flop sürme sonraki durum belirleme şimdiki durum (S) çıkışlar (O) sonraki durum lojiği durum belleği saat girşi çıkış lojiği şimdiki durum (S) (I) Bu modelde çıkışlar hem o andaki girişlerin hem de o andaki durumun fonksiyonudur. O = G(S,I) Ders Notlarının Creative Commons lisansı Feza BUZLUCA’ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.2 http://akademi.itu.edu.tr/buzluca b) Moore Modeli F G flip-flop sürme sonraki durum belirleme şimdiki durum (S) çıkışlar (O) sonraki durum lojiği durum belleği saat girşi çıkış lojiği girişler (I) saat işareti şimdiki durum (S) Bu modelde çıkışlar sadece durumların bir fonksiyonudur. Girişlerdeki değerler sadece sonraki durumu belirler. Durum bilgisi de çıkıştaki değeri belirler. Bir modele göre tasarlanmış olan bir devreyi diğer modele dönüştürmek mümkündür. Bir çok devreyi hem Mealy hem de Moore modeline göre tasarlamak mümkündür. O = G(S) Edward Forrest Moore (1925-2003) Matematik, bilgisayar bilimleri, ABDSayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.3 http://akademi.itu.edu.tr/buzluca Eşzamanlı ardışıl devrelerin çözümlenmesi (Analiz) Bir ardışıl devrenin tasarlanıp gerçeklenmesi konusundan önce tasarlanmış olan bir devrenin nasıl çözümleneceği incelenecektir. Hatırlatma: Mealy modelinde bir devrenin gerçeklenmesi aşağıda gösterilmiş olan F (sonraki durum) ve G (çıkış) fonksiyonlarının gerçeklenmesi anlamına gelmektedir. (Bkz. 7.1) S + = F(S,I) S: Şimdiki durumlar (State), S + : Sonraki durumlar O = G(S,I) I: Girişler (Input), O : Çıkışlar (Output) Bir ardışıl devrenin çözümlenmesi (analiz edilmesi) demek, F ve G fonksiyonları şeklinde verilmiş bir devrenin "ne yaptığının" belirlenmesi demektir. Çözümleme 3 adımdan oluşur: 1. Devrenin çiziminden F (sonraki durum) ve G (çıkış) fonksiyonlarının ifadeleri bulunur. 2. F ve G fonksiyonları kullanılarak olası tüm girişler ve şimdiki durumlar için makinenin hangi durumlara geçeceği (sonraki durumlar) ve hangi çıkışları üreteceği bir tablo halinde yazılır. Bu tabloya durum/çıkış tablosu denir. 3. Makinenin işlevini daha iyi görebilmek için durum geçişlerini ve çıkışları grafik olarak gösteren durum geçiş diyagramı çizilir. Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.4 http://akademi.itu.edu.tr/buzluca Gelen giriş değerlerine göre flip-flopun içeriğinin nasıl değişeceğini hesaplamak için flip-flopların karakteristik fonksiyonlarını bilmek gerekir. Flip-flopların karakteristik fonksiyonları: SR FF: Q(t+1) = S + R'•Q(t), SR=0 JK FF: Q(t+1) = J•Q(t)' + K'•Q(t) D FF : Q(t+1) = D T FF : Q(t+1) = T ¯ Q(t) F fonksiyonu, flip-flopların girişlerine gelecek olan sürücü değerleri belirler. Bu giriş değerleri ise bir saat darbesi sonra flip-flopun içeriğinin hangi değeri alacağını (sonraki durumu) belirler. Sonraki Durumların Bulunması:Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.5 http://akademi.itu.edu.tr/buzluca şimdiki durum çıkış giriş F sonraki durum lojiği saat işareti durum belleği G çıkış lojiği Örnek: Aşağıda çizimi verilmiş olan eşzamanlı ardışıl devreyi çözümleyiniz. S={Q0(t),Q1(t)} S + ={Q0(t + ), Q1(t + )} = ff(D0,D1) I={X} O={Z} flipflop sürme X CL K D0 Q0 D1 Q1 Z D Q Q C L K D Q Q C L K X' X Q0' Q0 Q 1' Q1 Mealy O=G(S,I) Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.6 http://akademi.itu.edu.tr/buzluca 1. F fonksiyonunun ifadesi belirlenir. D 0 = Q 0 •X' + Q 0 '•X D 1 = Q 1 •X' + Q 1 '•Q 0 •X + Q 1 •Q 0 '•X 00 00 01 01 01 10 10 10 11 11 11 00 X 0 1 Q1 + Q0 + Q1Q0 A A B B B C C C D D D A 0 1 X S + S Tabloyu daha anlaşılır hale getirmek için durum kodla- rına simgeler karşı düşürülür. 00: A 01: B 10: C 11: D S: Şimdiki durum S + : Sonraki durum Q1 ve Q0: Durum değişkenleri 2. Sonraki durumlar S + ={Q0(t + ), Q1(t + )} hesaplanır Q0 + = D0 (D tipi FF karakteristik fonksiyonu) Q1 + = D1 (D tipi FF karakteristik fonksiyonu) Q0 + = Q0•X' + Q0'•X Q1 + = Q1•X' + Q1'•Q0•X + Q1•Q0'•X 3. Durum geçiş tablosu (State transition table) oluşturulur. Girişler Sonraki Durumlar Şimdiki DurumlarSayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.7 http://akademi.itu.edu.tr/buzluca 4. Çıkış fonksiyonunu G'nin ifadesi belirlenir. Z = Q1•Q0•X (Mealy modeli, çünkü çıkış hem duruma hem de girişe bağlı) A A,0 B,0 B B,0 C,0 C C,0 D,0 D D,0 A,1 0 1 X S + ,Z S 5. Durum/Çıkış tablosu oluşturulur. Bu tablo sonlu durumlu makinenin davranışını göstermektedir. Bu davranış görsel olarak durum diyagramları ile de gösterilebilir. A B X=1 Z=0 D X=1 Z=0 X=0 Z=0 X=0 Z=0 X=1 Z=1 X=0 Z=0 X=0 Z=0 C X=1 Z=0 Makinenin davranışının sözle ifade edilmesi: A durumu başlangıç durumu olarak ele alınıp diyagram incelendiğinde, bu devrenin girişine 4’ün katları kadar “1” geldiğinde devrenin çıkışının “1” olduğu, aksi durumlarda ise “0” olduğu görülür. Tablonun Okunması: Makine A durumundayken girişten 1 gelirse çıkış 0 olur, saat işaretinden sonra makine B durumuna geçer. Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.8 http://akademi.itu.edu.tr/buzluca JK Flip-flopları ile tasarlanmış bir senkron ardışıl devrelerin çözümlenmesi Bir önceki örnekten farklı olarak, burada sonraki durum değerleri Q i + belirlenirken JK flip-flopunun karakteristik fonksiyonu kullanılacaktır. Hatırlatma: Q + = J•Q' + K'•Q Q 0 Q 1 J 0 K 0 J 1 K 1 X Y CLK Z J Q Q K CL K J Q Q K CL K Q 1 X X X Q 0 Q 1 Q 0 ' Q 1 ' Y X Y' Y' Y Y Y Q 0 Q0 Q 0 ' Örnek: Mealy O=G(S,I)Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.9 http://akademi.itu.edu.tr/buzluca 1. Flip-flopların girişlerini süren F fonksiyonu: J0 = X•Y' K0 = X•Y' + Y•Q1 J1 = X•Q0 + Y K1 = Y•Q0' + X•Y'•Q0 2. Sonraki durumlar S + ={Q0(t + ), Q1(t + ) } hesaplanır. Q0 + = J0•Q0' + K0'•Q0 (JK tipi FF karakteristik fonksiyonu) Q0 + = X•Y'•Q0' + (X•Y' + Y•Q1 )'•Q0 Q0 + = X•Y'•Q0' + X'•Y'•Q0 + X'•Q1'•Q0 + Y•Q1'•Q0 Q0 + = X•Y'•Q0' + X'•Y'•Q0 + Y•Q1'•Q0 (sadeleştirme) Q1 + = J1•Q1' + K1'•Q1 (JK tipi FF karakteristik fonksiyonu) Q1 + = (X•Q0 + Y)•Q1' + (Y•Q0' + X•Y'•Q0)'•Q1 Q1 + = X•Q1'•Q0 + Y•Q1' + X'•Y'•Q1 + Y'•Q1•Q0' + X'•Q1•Q0 + Y•Q1•Q0 Q1 + = X•Q1'•Q0 + Y•Q1' + Y•Q0 + X'•Q1•Q0 + Y'•Q1•Q0' (sadeleştirme) 3. Çıkış fonksiyonunun ifadesi belirlenir. Z = X•Q1•Q0 + Y•Q1'•Q0' Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.10 http://akademi.itu.edu.tr/buzluca Durum/Çıkış Tablosu: 00 00,0 10,1 01,0 10,1 01 01,0 11,0 10,0 11,0 10 10,0 00,0 11,0 00,0 11 11,0 10,0 00,1 10,1 Q1Q0 00 01 10 11 XY Q1 + Q0 + ,Z A A,0 C,1 B,0 C,1 B B,0 D,0 C,0 D,0 C C,0 A,0 D,0 A,0 D D,0 C,0 A,1 C,1 S 00 01 10 11 XY S + ,Z X' · Y X · Y A B C D X · Y' X · Y' X · Y' X · Y' Y X' · Y' X' · Y' X' · Y' X' · Y' Y Y /1 /1 /0 /0 /0 /0 /0 /0 /0 /0 /0 /0 /1 Bazı giriş simgelerinin anlamları: X' Y' anlamı X=0, Y=0 Y anlamı X=F , Y=1 Aslında bu simge iki farklı giriş kombinezo- nuna karşı düşmektedir: X=0, Y=1 and X=1, Y=1Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.11 http://akademi.itu.edu.tr/buzluca Moore modeline göre tasarlanmış bir ardışıl devrenin çözümlenmesi: Önceki örneklerde çözümlenen devreler Mealy modeline göre tasarlanmıştı. Aşağıdaki örnekte verilen devre ise Moore modeline göre tasarlanmıştır. Görüldüğü gibi Z çıkışı sadece durumlara (Q1,Q0) bağlıdır. X CL K D0 Q0 D 1 Q 1 Z D Q Q C L K D Q Q C L K şimdiki durum X' X Q0' Q0 Q1' Q1 çıkış sürme giriş saat işareti Moore O=G(S) Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.12 http://akademi.itu.edu.tr/buzluca 1. Flip-flopları süren F fonksiyonunun ifadesi belirlenir. D0 = Q0•X' + Q0'•X D1 = Q1•X' + Q1'•Q0•X + Q1•Q0'•X 00 00 01 01 01 10 10 10 11 11 11 00 0 1 X Q1 + Q0 + Q1Q0 A A B B B C C C D D D A 0 1 X S + S Durum kodlarına simgeler karşı düşürülür. S: Şimdiki durum S + : Sonraki durum Q1 ve Q0: Durum değişkenleri 2. Sonraki durumlar S + ={Q0(t + ), Q1(t + )} hesaplanır Q0 + = D0 Q1 + = D1 Q0 + = Q0•X' + Q0'•X Q1 + = Q1•X' + Q1'•Q0•X + Q1•Q0'•X 3. Durum geçiş tablosu oluşturulur. Moore modeline göre tasarlanmış makinelerin çözümlenmesi Mealy modeli ile büyük ölçüde aynıdır. Sadece çıkış tablosu ve durum geçiş diyagramının oluşturulması farklıdır.Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.13 http://akademi.itu.edu.tr/buzluca 4. Çıkış fonksiyonunun ifadesi belirlenir. Z = Q1•Q0 (Moore modeli; çıkış sadece durum değişkenlerine bağlı) 5. Durum/Çıkış tablosu oluşturulur. Moore modelinde çıkış sadece durumların bir fonksiyonu olduğu için tablonun her satırına bir çıkış değeri yazılır. Bu değer, makinenin çıkışının, o satırdaki duruma gelindiğinde alacağı değerdir. A,0 B,0 X=1 D,1 X=1 X=0 X=0 X=1 X=0 X=0 C,0 X=1 A A B 0 B B C 0 C C D 0 D D A 1 0 1 Z X S + S Moore modelinde durum geçiş diyagramı çizilirken çıkış değer- leri durumların içine yazılır. Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.14 http://akademi.itu.edu.tr/buzluca Mealy ve Moore Modellerinde Çıkışların Yorumlanması Mealy ve Moore modellerinde çıkıştaki değerin hangi anda geçerli olacağı (çıkışın ne zaman örnekleneceği) farklılık göstermektedir. Mealy Modeli: Mealy modelinde çıkış girişlere de bağlı olduğundan girişteki değer değiştiği anda çıkıştaki değer de değişir. Buna göre Mealy modeli ile tasarlanan bir makine şu şekilde çalışır: 1. Girişlere (I) değer verilir. 2. Çıkışların değeri, giriş ve o andaki durumun bir fonksiyonu olarak belirlenir. O=G(S,I) 3. Saat işareti etkin olur. Örneğin çıkan kenar oluşur. 4. Yeni duruma geçilir. Yeni durum, girişin ve o andaki durumun fonksiyonu olarak belirlenir. S + =F(S,I)Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.15 http://akademi.itu.edu.tr/buzluca Örnek: Yanda durum geçiş diyagramı verilen ve Mealy mode- line göre tasarlanmış olan ardışıl devrenin zamanlama diyagramı aşağıda gösterilmiştir. SAAT X Q1 Q0 Z DURUM D A A C D D A A B C C 0 0 0 0 Giriş değiştiği anda çıkış da değişmektedir. Durum Kodlaması: Q 1 Q 0 0 0 : A 0 1 : B 1 0 : C 1 1 : D A B X=1 Z=0 D X=1 Z=0 X=0 Z=0 X=0 Z=0 X=1 Z=1 X=0 Z=0 X=0 Z=0 C X=1 Z=0 Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.16 http://akademi.itu.edu.tr/buzluca Moore modelinde çıkışın değeri sadece durum değişkenlerine bağlı ol- duğundan girişteki değerin değişimi çıkışı hemen etkilemez. Girişteki değerin çıkış üzerindeki etkisi ancak durum değiştikten sonra görülür. Buna göre Moore modeli ile tasarlanan bir makine şu şekilde çalışır: 1. Girişlere (I) değer verilir. 2. Saat işareti etkin olur. Örneğin çıkan kenar oluşur. 3. Yeni duruma geçilir. Yeni durum, girişin ve o andaki durumun fonk- siyonu olarak belirlenir. S + =F(S,I) 4. Çıkışların değeri, yeni durumun bir fonksiyonu olarak belirlenir. O=G(S) Görüldüğü gibi bu modelde girişlerdeki değişimin çıkıştaki etkisi bir saat darbesi sonra görülür. Moore Modeli:Sayısal Devreler (Lojik Devreleri) ©2000-2011 Yrd.Doç.Dr. Feza BUZLUCA 7.17 http://akademi.itu.edu.tr/buzluca Girişteki değişim çıkışı doğrudan etkilemez. Örnek: Yanda durum geçiş diyagramı verilen ve Moore modeline göre tasarlanmış olan ardışıl devrenin zamanlama di- yagramı aşağıda gösterilmiştir. A,0 B,0 X=1 D,1 X=1 X=0 X=0 X=1 X=0 X=0 C,0 X=1 X Q1 Q0 D A A C D D A A B C C Z DURUM SAAT