ers Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/ Eşzamanlı (Senkron) Ardışıl evreler (Synchronous Sequential Circuits) Ardışıl (sequential) devrelerde çıkış değeri, hem girişlerden gelen değerlere hem de devrenin "una" bağlıdır. Sonlu lu makine (finite machine) modeline göre oluşturulan bu devrelerde 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 değiştirebilir. Eşzamanlı ardışıl devreler iki farklı modele göre tasarlanabilir. a) Mealy Modeli (George H. Mealy, bilgisayar bilimleri, AB) Bu modelde çıkışlar hem o andaki girişlerin hem de o andaki un fonksiyonudur. girişler (I) şimdiki (S) sonraki lojiği F flip-flop sürme sonraki belirleme belleği saat girşi (I) şimdiki (S) çıkış lojiği G çıkışlar (O) O = G(S,I) saat işareti 2000-2013 rd.oç.r. Feza BUZLUCA 7.1 b) Moore Modeli Edward Forrest Moore (1925-2003) Matematik, bilgisayar bilimleri, AB Bu modelde çıkışlar sadece ların bir fonksiyonudur. Girişlerdeki değerler sadece sonraki u belirler. urum bilgisi de çıkıştaki değeri belirler. girişler (I) şimdiki (S) sonraki lojiği F flip-flop sürme sonraki belirleme belleği saat girşi şimdiki (S) çıkış lojiği G çıkışlar (O) O = G(S) saat işareti 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. 2000-2013 rd.oç.r. Feza BUZLUCA 7.2
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 ) ve G (çıkış) fonksiyonlarının gerçeklenmesi anlamına gelmektedir. (Bkz. 7.1) S + = F(S,I) S: Şimdiki lar (urum), S + : Sonraki lar O = G(S,I) I: Girişler (Input), O : Çıkışlar (Çıkış) 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. evrenin çiziminden F (sonraki ) ve G (çıkış) fonksiyonlarının ifadeleri bulunur. 2. F ve G fonksiyonları kullanılarak olası tüm girişler ve şimdiki lar için makinenin hangi lara geçeceği (sonraki lar) ve hangi çıkışları üreteceği bir tablo halinde yazılır. Bu tabloya /çıkış tablosu denir. 3. Makinenin işlevini daha iyi görebilmek için geçişlerini ve çıkışları grafik olarak gösteren geçiş diyagramı çizilir. 2000-2013 rd.oç.r. Feza BUZLUCA 7.3 Sonraki urumların Bulunması: 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 u) belirler. 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) FF : Q(t+1) = T FF : Q(t+1) = T Q(t) 2000-2013 rd.oç.r. Feza BUZLUCA 7.4
Örnek: Aşağıda çizimi verilmiş olan eşzamanlı ardışıl devreyi çözümleyiniz. sonraki lojiği F belleği çıkış lojiği G çıkış giriş ' 0 flipflop sürme Q Q Z Mealy O=G(S,I) 1 Q Q ' saat işareti ' şimdiki S={(t),(t)} S + ={(t + ), (t + )} = ff(0,1) I={} O={Z} 2000-2013 rd.oç.r. Feza BUZLUCA 7.5 1. F fonksiyonunun ifadesi belirlenir. 0 = Q 0 ' + Q 0 ' 1 = Q 1 ' + Q 1 ' Q 0 + Q 1 Q 0 ' 2. Sonraki lar S + ={(t + ), (t + )} hesaplanır + = 0 ( tipi FF karakteristik fonksiyonu) + = 1 ( tipi FF karakteristik fonksiyonu) + = ' + ' + = ' + ' + ' 3. urum geçiş tablosu (urum transition table) oluşturulur. + + 0 1 00 00 01 01 01 10 10 10 11 11 11 00 Girişler Tabloyu daha anlaşılır hale getirmek için kodlarına simgeler karşı düşürülür. 00: A 01: B 10: C 11: S + S 0 1 A A B B B C C C A Sonraki Şimdiki urumlar urumlar S: Şimdiki S + : Sonraki ve : urum değişkenleri 2000-2013 rd.oç.r. Feza BUZLUCA 7.6
4. Çıkış fonksiyonunu G'nin ifadesi belirlenir. Z = (Mealy modeli, çünkü çıkış hem a hem de girişe bağlı) 5. urum/çıkış tablosu oluşturulur. S +,Z S 0 1 A A,0 B,0 B B,0 C,0 C C,0,0,0 A,1 Bu tablo sonlu lu makinenin davranışını göstermektedir. Bu davranış görsel olarak diyagramları ile de gösterilebilir. A B Tablonun Okunması: Makine A undayken girişten 1 gelirse çıkış 0 olur, saat işaretinden sonra makine B una geçer. Z=1 C Makinenin davranışının sözle ifade edilmesi: A u başlangıç u 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 larda ise 0 olduğu görülür. 2000-2013 rd.oç.r. Feza BUZLUCA 7.7 JK Flip-flopları ile tasarlanmış bir senkron ardışıl devrelerin çözümlenmesi Bir önceki örnekten farklı olarak, burada sonraki değerleri Q i + belirlenirken JK flip-flopunun karakteristik fonksiyonu kullanılacaktır. Hatırlatma: Q + = J Q' + K' Q Örnek: ' J 0 K 0 J Q K Q Q 0 Q 0 ' ' J 1 K 1 J Q K Q Q 1 Q 0 Q 1 Q 0 ' Q 1 ' Z Mealy O=G(S,I) 2000-2013 rd.oç.r. Feza BUZLUCA 7.8
1. Flip-flopların girişlerini süren F fonksiyonu: J0 = ' K0 = ' + J1 = + K1 = ' + ' 2. Sonraki lar S + ={(t + ), (t + ) } hesaplanır. + = J0 ' + K0' (JK tipi FF karakteristik fonksiyonu) + = ' ' + ( ' + )' + = ' ' + ' ' + ' ' + ' + = ' ' + ' ' + ' (sadeleştirme) + = J1 ' + K1' (JK tipi FF karakteristik fonksiyonu) + = ( + ) ' + ( ' + ' )' + = ' + ' + ' ' + ' ' + ' + + = ' + ' + + ' + ' ' (sadeleştirme) 3. Çıkış fonksiyonunun ifadesi belirlenir. Z = + ' ' 2000-2013 rd.oç.r. Feza BUZLUCA 7.9 urum/çıkış Tablosu: + +,Z 00 01 10 11 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 S +,Z S 00 01 10 11 A A,0 C,1 B,0 C,1 B B,0,0 C,0,0 C C,0 A,0,0 A,0,0 C,0 A,1 C,1 ' ' /0 ' ' /0 A /0 /1 C ' /0 ' /0 ' /0 /1 ' /0 ' /1 B /0 ' ' /0 ' ' /0 Bazı giriş simgelerinin anlamları: ' ' anlamı, =0 anlamı =Φ, =1 Aslında bu simge iki farklı giriş kombinezonuna karşı düşmektedir:, =1 and, =1 2000-2013 rd.oç.r. Feza BUZLUCA 7.10
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 lara (,) bağlıdır. giriş ' 0 sürme Q Q çıkış Z Moore O=G(S) ' 1 Q Q ' saat işareti şimdiki 2000-2013 rd.oç.r. Feza BUZLUCA 7.11 Moore modeline göre tasarlanmış makinelerin çözümlenmesi Mealy modeli ile büyük ölçüde aynıdır. Sadece çıkış tablosu ve geçiş diyagramının oluşturulması farklıdır. 1. Flip-flopları süren F fonksiyonunun ifadesi belirlenir. 0 = ' + ' 1 = ' + ' + ' 2. Sonraki lar S + ={(t + ), (t + )} hesaplanır + = 0 + = 1 + = ' + ' + = ' + ' + ' 3. urum geçiş tablosu oluşturulur. + + 0 1 00 00 01 01 01 10 10 10 11 11 11 00 urum kodlarına simgeler karşı düşürülür. S + S 0 1 A A B B B C C C A S: Şimdiki S + : Sonraki ve : urum değişkenleri 2000-2013 rd.oç.r. Feza BUZLUCA 7.12
4. Çıkış fonksiyonunun ifadesi belirlenir. Z = (Moore modeli; çıkış sadece değişkenlerine bağlı) 5. urum/çıkış tablosu oluşturulur. S + S 0 1 Z A A B 0 B B C 0 C C 0 A 1 Moore modelinde çıkış sadece ları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 a gelindiğinde alacağı değerdir. A,0 B,0 Moore modelinde geçiş diyagramı çizilirken çıkış değerleri ların içine yazılır.,1 C,0 2000-2013 rd.oç.r. Feza BUZLUCA 7.13 Mealy ve Moore Modellerinde Çıkışların orumlanması 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 un bir fonksiyonu olarak belirlenir. O=G(S,I) 3. Saat işareti etkin olur. Örneğin çıkan kenar oluşur. 4. eni a geçilir. eni, girişin ve o andaki un fonksiyonu olarak belirlenir. S + =F(S,I) 2000-2013 rd.oç.r. Feza BUZLUCA 7.14
Örnek: anda geçiş diyagramı verilen ve Mealy modeline göre tasarlanmış olan ardışıl devrenin zamanlama diyagramı aşağıda gösterilmiştir. urum Kodlaması: Q 1 Q 0 0 0 : A 0 1 : B 1 0 : C 1 1 : Z=1 A B C SAAT 0 0 URUM A A B C C C A A Z 0 0 Giriş değiştiği anda çıkış da değişmektedir. 2000-2013 rd.oç.r. Feza BUZLUCA 7.15 Moore Modeli: Moore modelinde çıkışın değeri sadece değişkenlerine bağlı olduğundan girişteki değerin değişimi çıkışı hemen etkilemez. Girişteki değerin çıkış üzerindeki etkisi ancak 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. eni a geçilir. eni, girişin ve o andaki un fonksiyonu olarak belirlenir. S + =F(S,I) 4. Çıkışların değeri, yeni un 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. 2000-2013 rd.oç.r. Feza BUZLUCA 7.16
Örnek: anda geçiş diyagramı verilen ve Moore modeline göre tasarlanmış olan ardışıl devrenin zamanlama diyagramı aşağıda gösterilmiştir. A,0 B,0,1 C,0 SAAT URUM A A B C C C A A Z Girişteki değişim çıkışı doğrudan etkilemez. 2000-2013 rd.oç.r. Feza BUZLUCA 7.17 Saat İşaretinin (Clock Signal) İşlevi ış Girişler I 0 -I m urum Q 0 -Q n F Sonraki lojiği (kombinezonsal) Flip-flopların girişleri 0 - n Flipfloplar Q 0 -Q n Bu devrenin propagasyon gecikmesi vardır. Çıkış değerleri her zaman geçerli değildir. Ayrıca (hazard) sorunları da oluşabilir. Saat işaretinin hızı (periyodu) F devresindeki en büyük gecikmeye (en uzun yol) göre belirlenir. Saat işareti etkin olmadan önce (örneğin çıkan kenar gelmeden önce) F devresi işini bitirmeli ve flip-flopların girişleri kararlı ve geçerli olmalı. F devresindeki olası kazalar da (hazards) saat işareti etkin olmadan önce sonlanmış olmalıdır. Ortak saat işareti Saat işareti etkin olduğunda (örneğin çıkan kenar) bu değerler kararlı ve geçerli olmalı Flip-flopların da iç gecikmeleri vardır. Kurma zamanı, tutma zamanı 2000-2013 rd.oç.r. Feza BUZLUCA 7.18
Saat işaretinin hızının (periyot) belirlenmesi Saat işaretinin periyodu (P) Kurma süresi Tutma süresi KurmaTutma süresi süresi Flip-flopun gecikmesi Flip-flopun çıkışı ( değişkeni) geçerli ış giriş değerleri verildi. (kararlı, geçerli) F devresi çalışıyor. F'nin gecikmesi F devresi işini tamamlamış olmalı P min = Tutma Sür. + F'deki maks gecikme + Kurma Sür. Gerçek uygulamalarda bu süre daha uzun seçilir çünkü girişler anında hazır olamaz. 2000-2013 rd.oç.r. Feza BUZLUCA 7.19