Deeds –Dijital Elektronik Eğitim ve Dizayn S..
Transkript
Deeds –Dijital Elektronik Eğitim ve Dizayn S..
Deeds Digital Electronics Education and Design Suite - Dijital Elektronik Eğitimi ve Dizayn Seti - Kullanım Kılavuzu (Şubat 2004) Edited by Giuliano Donzellini and Domenico Ponta Çeviri, Duygu Öztemir (Aralık, 2007) Exegi monumentum aere perennius egalique situ pyramidum altius uod non imber edax, non Aquilo impotens ossit diruere, aut innumerabilis nnorum series et fuga temporum. o Orazio Flacco Deeds – Dijital Elektronik Eğitim ve Dizayn Seti Kullanım Kılavuzu İçindekiler Önsöz Giriş S. 8 S. 9 Dijital elektronik öğrenim ortamı olarak Deeds Deeds’in teorik öğrenimde kullanımı Deeds’in egzersiz çözümlerinde kullanımı Deeds’in elektronik sistemler tasarımında kullanımı Deeds simülasyon araçları S. 10 S. 10 S. 10 S. 11 S. 12 Deeds: Ana Tarayıcı Deeds: Ana tarayıcı menüsü S. 13 S. 16 Deeds: Yardımcı Tarayıcı (d-AsT) Deeds: Yardımcı tarayıcı menüsü S. 22 S. 23 Deeds: Dijital Devre Simülatörü d-DcS Giriş Basit bir örnek Deeds tarayıcıları ve d-DcS etkileşimiyle ilgili basit bir örnek d-DcS: Menü Komutları S. 25 S. 26 S. 27 S. 30 S. 35 Deeds: Sonlu Durum Makinesi Simülatörü d-FsM Giriş Sonlu Durum Makineleri FSM tanım dilleri: ASM çizelgeleri Durum Bloğu Karar Bloğu Durumsal Çıkış Bloğu ASM Grafikleri ve Durum Çizgeleri FSM tanım dilleri: durum geçiş tablosu FSM tanım dilleri: donanım tanım dili FSM’yi öğrenmek: metodlar ve problemler FSM bileşenlerini tekrar kullanmak: d-DcS içinde içeri aktarılabilirler Basit bir örnek Deeds tarayıcıları ve d-FsM etkileşimlerine basit bir örnek Zamanlama çizgesi penceresi d-FsM: Menü Komutları S. 48 S. 49 S. 50 S. 50 S. 51 S. 51 S. 51 S. 51 S. 53 S. 53 S. 55 S. 55 S. 56 S. 60 S. 67 S. 68 Deeds: Mikrobilgisayar Emülatörü d-McE Giriş Basit bir örnek Deeds tarayıcıları ve d-McE etkileşimlerine basit bir örnek d-McE: Menü Komutları S. 77 S. 78 S. 80 S. 84 S. 91 DMC8 Eğitim Seti Komutları Yükleme (8 bit) Komutları Yükleme (16 bit) (ilk bölüm) Komutları Yükleme (16 bit) (ikinci bölüm) Aritmetik ve Mantık Komutları (8 bit) Aritmetik Komutları (16 bit) CPU Kontrol Komutları Atlama Komutları Arama ve Geri Dönme Komutları Döndürme ve Kaydırma Komutları Bit İşleme Komutları Giriş ve Çıkış Komutları S. 100 S. 100 S. 101 S. 102 S. 103 S. 104 S. 104 S. 105 S. 105 S. 106 S. 107 S. 107 DMC8 Komutları (alfabetik sırayla) S. 108 DMC8 Komutları (sayısal sırayla) S. 112 Ek: Deeds önemli sürüm notları S. 116 Şekil Dizini Sayfa # Şekil 1: Deeds’in ana tarayıcısında gösterilen laboratuar raporlarına bir örnek 11 Şekil 2: Deeds Ortamı: ana ve yardımcı tarayıcılar (sol üstte) ve üç simülasyon gereci: Dijital Devre Simülatörü (sağ üstte), Sonlu Durum Makinesi simülatörü (sol altta) ve Mikrobilgisayar Emülatörü (sağ altta). 12 Şekil 3: Deeds’in ana tarayıcısı, Deeds web sayfasına bağlanmayı ve on-line öğrenme materyallerine ulaşımı sağlar. 13 Şekil 4: Deeds’in web sitesindeki “Ekran Görüntüsü (Screen Shot)” sayfasına bağlı Ana Tarayıcı. 14 Şekil 5: Deeds web sitesindeki yükleme sayfası. 14 Şekil 6: Ana tarayıcıda açılan öğrenim materyalleri sayfası (Deeds web sitesinde). 15 Şekil 7: Ana tarayıcıdaki “Dosya” (File) menüsü. 16 Şekil 8: Açık Sayfa dialog penceresi. 16 Şekil 9: Ana tarayıcı “Çalıştır” (Run) menüsü. 18 Şekil 10: Ana tarayıcı “Araçlar (Tools) menüsü. 19 Şekil 11: Ana tarayıcı “Seçenekler” (Options) menüsü. 20 Şekil 12: Ana tarayıcı “Yardım” (Help) menüsü. 21 Şekil 13: Ödev olarak bir problem içeren bir sayfa gösteren yardımcı tarayıcı (Yardımcı) , -ana tarayıcının yanında açılır-. 22 Şekil 14: Araç çubuğuna iliştirilmiş Yardımcı ana menüsü. 23 Şekil 16: Dijital Devre Simülatörünün (d-DcS) devre editörü. 26 Şekil 17a: Dijital devre editörünün çizim aşaması: bileşenlerin eklenmesi. 27 Şekil 17b: Çalışmanın bir sonraki aşaması: tellerle bileşenlerin bağlantılandırılması. 27 Şekil 17c: Çalışmadaki canlandırma: kullanıcı girişleri anahtarlar ve devrenin çıkışlarında değişiklik görülür. 28 Şekil 18: Zamanlama Çizeneği simülasyon penceresi. 28 Şekil 19:, Zamanlama Çizeneği penceresinde gösterilen Zamanlama Çizeneği simülasyonu sonuçları 29 Şekil 20: Deeds Ana Tarayıcıda açılan laboratuar ödevleri listesi. 30 Şekil 21: Yardımcı tarayıcıda açılan özel laboratuar ödevi. 31 Şekil 22: Web sayfasından bir tıklamayla açılan Dijital Devre Simülatörü, Devre şablonu otomatik olarak eğitim yazılımı sitesinden yüklenir. 32 Şekil 23: Öğrenci tarafından tamamlanmış, devrenin zamanlama simülasyonu. 32 Şekil 24: Öğrenci rapor şablonunu yükleyerek derlemeyi ve teslim etmeyi hızlandırabilir. 33 Şekil 25: Bu laboratuar ödevi için rapor şablonu. 34 Şekil 26a: d-DcS “Dosya“ (File) menüsü. 35 Şekil 26b: Sayfa ayarları dialog penceresi. 36 Şekil 27: d-DcS “Düzen” (Edit) menüsü. 37 Şekil 28: d-DcS “Görünüm“ (View) menüsü. 38 Şekil 29: d-DcS “Araçlar“ (Tools) menüsü. 39 Şekil 30: d-DcS “Devre“ (Circuit) menüsü. 40 Şekil 31: d-DcS “Simulasyon“ (Simulation) menüsü. 44 Şekil 32: d-DcS “Deeds“ menüsü. 45 Şekil 33: d-DcS “Seçenekler“ (Options) menüsü. 46 Şekil 34: d-DcS “Yardım“ (Help) menüsü. 47 Şekil 35: Sonlu Durum Makinesi Simülatörünün (d-FsM) ASM editörü. 49 Şekil 36: Sonlu Durum Makinesi Simülatörünün (d-FsM) ASM editörü. 50 Şekil 37: Basit bir Algoritmik Durum Makinesi (ASM) çizimi. 50 Şekil 38a: Durum Bloğu 51 Şekil 38b: Karar Bloğu 51 Şekil 38c: Koşutlu Çıkış Bloğu 51 Şekil 39a: Bir SR flip-flop’unun Durum Çizim gösterimi 51 Şekil 39b: Bir SR flip-flop’unun ASM Grafik gösterimi. 52 Şekil 40a: Aynı algoritmayı gösteren ASM grafik ve Durum Çizimleri: FSM ‘a’ durumunda x girişi bire gidene kadar bekler. 52 Şekil 40b: ASM grafiğinin ve Durum çizgesinin aynı algoritmayı temsil ettiği başka bir örnek. 53 Şekil 41: d-FSM’nin oluşturduğu haliyle yukarıdaki örneğin durum geçiş tablosu. 53 Şekil 42: Şekil 37’deki ASM çizgesinin (d-FsM tarafından oluşturulmuş) VHDL eşdeğeri 54 Şekil 43: Bu örnekte, d-FsM’yle tasarlanmış bileşenlerden biri, d-DcS’ye aktarılmıştır. 55 Şekil 44a: Öğrenci özelliklerini ayarlayarak durum bloklarını yerleştirir. 56 Şekil 44b: Öğrenci özelliklerini ayarlayarak koşullu blokları yerleştirir. 56 Şekil 44c: Öğrenci mantık yolunu (yeşil çizgiler, özelliklerin ayarlanmasına gerek yoktur) yerleştirir. Çizgi oklarının otomatik olarak eklendiğine dikkat ediniz. 57 Şekil 45: Yukarıda nitelendirilen kenar algılayıcının simülasyon sonuçları. 57 Şekil 46a,b: Solda bileşeni tanımlayan ASM geçiş tablosu, ve sağda oluşturulan simge. 58 Şekil 47: Bileşenin iki durumu, d-DcS’de, standart kapılardan oluşan bir devrede bağlanmıştır. 58 Şekil 48: d-DcS’yle elde edilen, önceki ağın zamanlama simülasyonu. 59 Şekil 49: Deeds’in ana tarayıcısında d-FsM kullanılarak açılan laboratuar ödevleri listesi. 60 Şekil 50a: Yardımcı tarayıcıda açılan özel laboratuar ödevi (ilk sayfa). 61 Şekil 50b: Yardımcı tarayıcıda açılan özel laboratuar ödevi (ikinci sayfa). 62 Şekil 51: Çözümün şablonu, yüklenmiş ASM çizgesi. 62 Şekil 52a,b,c: Giriş, çıkış ve durum değişkenlerini tanımlamak için kullanılan Giriş/Çıkış dialog penceresinin üç sayfası, 63 Şekil 53: ‘a’ durumunun özelliklerini gösteren özellikler penceresi. 63 Şekil 54: bir koşullu bloğun özelliklerini gösteren özellikler penceresi. 64 Şekil 55: Sonuçlanmış ASM çizgesi ve d-FsM’deki zamanlama simülasyonu. 64 Şekil 56: Sonuçlanmış d-DcS taslağı ve d-DcS’de bileşenin zamanlama simülasyonu. 65 Şekil 57: Bu durumda da öğrenci rapor şablonunu yükleyerek derleme ve sunumu hızlandıracaktır. 66 Şekil 58: Bu laboratuar ödevi için rapor şablonu. 66 Şekil 59: d-FsM’nin Zamanlama Çizeneği penceresi. 67 Şekil 60: ASM Tablo penceresi. 67 Şekil 61: d-FsM “Dosya“ menüsü. 68 Şekil 62: VHDL kod penceresi. 69 Şekil 63: Sayfa ayarları dialog penceresi. 69 Şekil 64: d-FsM “Düzen“ menüsü. 71 Şekil 65: Giriş, çıkış ve durum değişkenlerini tanımlamak için kullanılan Giriş/Çıkış dialog penceresinin üç sayfası 71 Şekil 66: d-FsM “Görüntü” menüsü. 72 Şekil 67: Durum, koşul ve koşullu çıkış bloklarını tanımlamak için kullanılan Görüntü Penceresinin dört sayfası. 72 Şekil 68: d-FsM “Simülasyon“ menüsü. 73 Şekil 69: d-FsM “Pencere “ menüsü. 74 Şekil 70: d-FsM “Deeds“ menüsü. 75 Şekil 71: d-FsM 76 Şekil 72: Mikrobilgisayar emülatörünün (d-McE) assembler kod editörü. 78 Şekil 73: Mikrobilgisayar emülatörünün assembler-düzeyinde hata ayıklayıcısı (debugger). 79 Şekil 74: Miktobilgisayar emülatöründe gösterilen emüle edilmiş kart. 79 Şekil 75: Bir Assembly (dönüştürme dili) programının, d-McE’de düzenleme aşaması. 80 Şekil 76: Yardım sistemi tarafından gösterilen DMC8 “yapılandırması” 81 Şekil 77: On-line komut seti belgelemelerine bir örnek: Aritmetik ve Mantık Komutları 81 Şekil 78: ‘on-line’ komut seti belgelemelerine bir başka örnek: Kaydırma ve Döndürme komutları. 82 Şekil 79: Assembler modülü kaynak kodunda bir hata rapor eder. 82 Şekil 80: Hata ayıklayıcı modül sınanan programı, bellek, CPU kayıtları, I/O kapılarını gösterir. 83 Şekil 81: Deeds ana tarayıcıda açılan laboratuar ödevleri listesi. 84 Şekil 82a: Yardımcı tarayıcıda açılan özel lab ödevi (ilk kısım). 85 Şekil 82b: Yardımcı tarayıcıda açılan özel lab ödevi (ikinci kısım). 86 Şekil 83: Web sayfasından tıklanarak açılan Mikrobilgisayar Emülatörü. Editör eğitim yazılımı sitesinden yüklenen çözümün izini gösterir. 87 Şekil 84: d-McE’nin etkileşimli hata ayıklayıcısındaki sınanan program: kullanıcıya bir uyarı mesajı gönderilmiştir. 88 Şekil 85: Bağlantı noktası (port) adresleri “I/O Ports Address Decoding” (I/O bağlantısı adres kod çözme) dialog penceresinden değiştirilebilir. 89 Şekil 86: Bağlantı noktası adresleri simüle edilen (benzetilen) ‘on board’ (kart üzeri) DIP anahtarlarına fareyle tıklayarak değiştirilebilir. 89 Şekil 87: Derleme ve sunumu hızlandırmak için öğrencinin yükleyebileceği şablon. Şekil 88: Web sayfasında öğrencinin yükleyebileceği basit bir şablon. Şekil 89: Öğrencinin sunacağı sonuç raporuna kısmi bir bakış. Şekil 90: d-McE “Dosya“ (file) . Şekil 91: d-McE “Düzen“(Edit) menüsü. Şekil 92: d-McE “Proje“ (project) menüsü. Şekil 93: “Kaynak Bilgisi” (Source Information) dialog penceresi. Şekil 94: “I/O Bağlantı Noktası Adresleri Kod Çözme” (I/O Ports Address Decoding) dialog penceresi. Şekil 95: d-McE “Öykünüm“ (Emulation) menüsü. Şekil 96: d-McE “Deeds“ menüsü. Şekil 97: d-McE “Seçenekler“ (Options) menüsü. Şekil 98: d-McE “Görünüm“ (View) menüsü. Şekil 99: Simge Tablosu penceresi (Sıkışık Görünüm ya da Genişletilmiş Görünüm). Şekil 100: d-McE “Yardım“ (Help) menüsü. 89 90 90 91 93 94 94 94 95 96 97 98 98 99 Önsöz Deeds ; “Digital Electronics Education and Design Suite…”, kısaltmasıdır. “Deeds” (edimler) gibi iyi mi kötü mü olacaklarından emin değilim … tıpkı açılış ekranındaki The Deeds of Gallant Knights ‘ın (Yiğit Şövalyelerin Edimleri) hatırlattığı gibi… “The Deeds of Gallant Knights" … G. David’in bir resminden, XVI. Yüzyıl - Paris, Musèe de l'Armèe DEEDS (Digital Electronics Education and Design Suite) Dijital Elektronik, Eğitim ve Dizayn Seti Giriş Deeds, dijital elektronik sistemleri için araç ve öğrenim materyali sunan bir simulatör setidir. Deeds öğrencinin tüm konu başlıklarıyla ilgili teorik temelleri, analiz yeteneklerini, sorun çözme yetisini pratik sentez ve tasarım becerilerini kazanmasını sağlar. “Yaparak öğrenme” kavramı, yaklaşımı karakterize etmektedir. Dijital elektroniğin aşağıda listelenen alanlarını kapsamaktadır: • Kombinasyonlu mantık ağları (basit mantık kapılarından dekoder, kodlayıcı (enkoder), çoklayıcı(multiplexer) ve demultiplexerlere); • Dizinsel mantık ağları (basit flip-floplardan kaydedici(register) ve sayaçlara); • Sonlu durum makinası tasarımı; • Mikrobilgisayar programlaması (assembly –dönüştürme diliseviyesinde) ve arayüz oluşturma; Deeds’in içerdiği başlıca araçlar şunlardır: • Öğrencilerin derslere, egzersiz ve laboratuar ödevlerine ulaşacağı bir HTML tarayıcısı; • Öğrencilerin çalışmalarını destekleyecek ikinci bir HTML tarayıcısı; • Taslak bir dijital devre editörü (bileşen kataloğu desteğiyle birlikte); • Etkileşimli devre “canlandırıcısı” (bileşenlerle ve basit ağlarla doğrudan taslak üzerinde denemeler yapma amaçlı) • Etkileşimli mantık simülatörü (mantık ağlarındaki olayları analiz etmek ve devreyle aşamalı olarak etkileşimde bulunmak için bir zaman çizgesi); • Sonlu durum makinası editörü / simülatörü (algoritma bir Algoritmik Durum Makinası grafik editörü kullanılarak tanımlanmıştır); • Bir mikrobilgisayar kartı emülatörü (kart 8 bit CPU, ROM, RAM, I/O çıkışları); • Çevirici (assembler) düzeyi / etkileşimli hata ayıklayıcı (debugger) modülü. Deeds araçları birbirleriyle etkileşimdedir: • Ana ve yardımcı HTML tarayıcıları diğer araçları çalıştırmayı ve onlarla etkileşimde bulunmayı mümkün kılar; • Tarayıcı, metinler ve deneyler arasında gerçek anlamda bir etkileşim oluşturmak için editörleri ve simülatörleri kontrol edebilir; • Taslak editörü bilindik mantık devrelerini kullanıcının sonlu durum makinesi editörlerinin ve mikrobilgisayar emülatörünün yardımıyla belirlediği yan sistemlerle bağlar. • Durum makinelerinin kontrol ettiği dijital siystemlerle deneyler yapmak olasıdır. Deeds’in yapısı derslere, egzersizlere ve laboratuar oturumlarına “ölçeklendirilebilir” bir yaklaşım sağlar İçerikteki araçların bütünü, ya başlangıç aşamasındakiler için basitleştirilmiş bir senaryo ya da daha ilerlemiş öğrenciler için zorlaştırılmış ve tam bir ortam sunmaktadır. Dijital Elektronik Eğitim Ortamı olarak olarak Deeds Deeds dijital elektronik için bir eğitim ortamı olarak oluşturulmuştur. Bu terimi araç ve metinlerden oluşan eğitim gereçlerinin bütünü bağlamında kullanıyoruz. Bunlar öğrencinin: • konunun teorik temellerini; • analiz yetileri • konu başlıklarının tamamındaki sorunları çözme becerisi; • pratik sentez ve tasarım becerilerini kazanmasını sağlar. Deeds dijital elektronikteki bütün başlangıç dersleri için genel bir kaynak olarak düzenlenmiştir. Böylelikle, farklı öğrenci seviyelerine sunmak için farklı teknik konular, farklı pedagojik formatlar (dersler, egzersizler, lab ödevleri vb.) içerir. Deeds bu sebepten dolayı öğretmenlerin “ders alanı”na kendi malzemeleriyle katkıda bulunarak pedagojik gereksinimlerine bağlı olarak tamamlayıp uyarlayabilecekleri (yukarıda listelenen) araçlar olarak doğmuştur. Özel bir yazma gerecine ihtiyaç yoktur, çünkü ders alanı herhangi bir HTML editörüyle editör ve simülatörlerin komutlarını ders metnine aktaran bir yardımcı uygulamayla oluşturulabilir. Deeds’i teorik öğretim için kullanmak Deeds temelli bir “ders” metin ve şekillerden oluşan HTML sayfaları olarak görünür. Sayfa görünüşü ve biçimi tamamen yazara bağlıdır. Bu düzeyde, öğrenciler “normal” bir online kitap ya da belge görürler. Ancak metin ve şekillerin çoğu “hareketli”dir, çünkü Deeds’in düzeltme ve simülasyon gereçleriyle ilişkilidir. Örneğin taslağı bir (imge?)resim olarak görüntülenen teorik bir devreyi ele alalım. Kullanıcı resmin üzerine tıkladığında, Deeds ilişkili simülatörü çalıştırararak o taslağı, devrenin adım adım nasıl inceleneceğini ve deneneceğini anlatan yönergeler içeren diğer pencerelerle (Helper – yardımcı) birlikte açar. Bu tip bir prosedür genelde basit bileşenlerle ya da oldukça karmaşık konulala ilgili kavramları anlatmak için eşit derecede kullanışlıdır. İlk durumda, simülatörler devreleri “canlandırma”yı (animate) sağlar (ör. etkileşimli olarak incelemeyi). İkinci durumda ise, sinyalleri zamanında ve veri alanında izleme yetenekleri ağın eksiksiz bir biçimde sınanmasını sağlar. Deeds’i egzersizleri çözmek için kullanmak Alışılagelmiş egzersizlerin hedefi teorinin anlaşılmasına yardımcı olmak, teoriyi basit durumlara uygulamak ve çözümlerin sunuluş biçiminden öğretmene geri bildirim sağlamaktır. Sistemimizde egzersizler ödevlerin metin ve şekillerini içeren HTML sayfaları olarak sunulmuştur. Deeds’in rolü, öğrencilere manuel olarak buldukları çözümlerin doğruluğunu kontrol etme olanağı verir aynı zamanda raporları içeren web sayfasında düzeltmeler yapmaları için grafik gereçler sağlar. Çalışmalarından tatmin oldukları zaman Deeds’i kullanarak raporlarını ağdan gönderebilirler. Deeds’in kullanımı aynı zamanda egzersizlerin yapısına da değişik bir yaklaşım göstermektedir. Aslında, simülatör kullanımının cazibesi öğrenciler manuel analizi atlamaya yöneltebilir. Bu yüzden egzersizler tekrarlamalı görevlerin yürütülmesindense konuların gerçekten anlaşılmasına yönelik olmalıdır. Deeds’in elektronik sistemlerin tasarımını öğrenmek için kullanımı Bir dijital tasarım projesinin geliştirilmesi, Deeds’in tam anlamıyla kullanılabileceği alandır. Aslında, etkileşimli mantık simülatörü, sonlu durum makinesi modülü ve mikrobilgisayar kartı emülatörü; standart dijital bileşenlerin bir durum makinesi tarafından kontrol edildiği çağdaş dijital tasarımlarda olduğu gibi, eşzamanlı olarak çalışabilir. Açıkça görüldüğü üzere, modüller sistemin kısımlarını sınamak için birbirinden bağımsız olarak kullanılabilir. Öğrenci assembly (dönüştürme dili) seviyesinde iş programlamasını mikrobilgisayar kartında tamamlayabilir. Öğrenciler Deeds kullanarak web sayfasından ödevi indirirler. Ödev; işlevsel betimlemeler ve öğrencinin tasarlaması gereken sistem belirtimlerinden oluşur. Bu yaklaşım, eğitimsel amaçlar tarafından belirlenen yol gösterici ilkelerle profesyonel bir ortamın özelliklerinin aynısını oluşturmak içindir. Proje gelişim aşamaları Yardımcı Tarayıcının sağladığı yardım ve komutlarla yönlendirilir. Bu tip yönergeler adım adım ya da basit yönergelerle verilebilir: simülasyon araçlarının kullanımı az çok ödevin metni tarafından yönlendirilebilir (yaratıcılık ve düşlemi kullanıcının inisiyatifine bırakmak için). Şekil 1’de, ana tarayıcıda bir laboratuar raporu örneği gösterilmektedir. Şekil 1: Deeds ana tarayıcısında gösterilen örnek laboratuar ödevi. Deeds simülasyon araçları Üç tane simülasyon aracı vardır: bir Dijital Devre Simülatörü (d-DcS), bir Sonlu Durum Makinesi Simülatörü (d-FsM) ve bir Mikro Bilgisayar Kart Emülatörü (d-McE). Bütün simülasyon araçları “yaparak öğrenme” yaklaşımıyla karakterize edilmiştir. Birbirleriyle bütünleşiktirler: standart mantık ve durum makinelerini birleştiren karmaşık ağların tasarımı ve simülasyonu olasıdır. Şekil 2’de Deeds araçlarının birkaç tane ekran resmi görülmektedir. Şekil 2: Deeds ortamı: ana ve yardımcı tarayıcılar (sol üst), ve üç Simülasyon Aracı : Dijital Devre Simülatörü (sağ üst), Sonlu Durum Makinesi Simülatörü (sol alt)ve Mikrobilgisayar Emülatörü (sağ alt). Deeds Ana Tarayıcı Simülatörler iki HTML tarayıcısının etrafından birleştirilmiştir ve İnternette aktif olarak dolaşmayı, öğrencilerin dersler, egzersizler ve laboratuar ödevlerinin bulunduğu sayfalara ulaşmasını sağlar. Deeds’in ana tarayıcısı etkinleştirildiğinde Deeds web sitesine bağlanmayı ve DIBE’de (Genoa Üniversitesi) geliştirilmiş ‘online’ (çevrimiçi) öğrenim materyallerine ulaşmayı sağlar. Ana tarayıcı (Şekil 3) Microsoft Internet Explorer’ın ® da kullandığı standart Microsoft WebBrowser ® bileşeni etrafında geliştirilmiştir ve Deeds ortamındaki bütün gerekli işlevleri desteklemek için genişletilmiştir. Temelde öğrenim materyallerini içeren sitelere bağlanmak için kullanılmaktadır. Tarayıcı, kullanıcının bulmayı beklediği bütün özellikleri desteklemektedir, bunların arasında JAVA Sanal Aygıtı (JAVA Virtual Machine ®), JAVA Yazı Dili (JavaScript ®), VB yazı dili (VBscript), XML desteği bulunmaktadır. Şekil 3: Deeds ana tarayıcısı, Deeds web sitesine ve on-line öğrenim materyallerine bağlanmayı sağlayan HTML sayfasını göstermektedir. Kullanıcı Deeds ortamını başlattığında, ana tarayıcı açılır. Diğer bütün araçlar menü ve/veya araç çubuğu komutları tarafından etkinleştirilebilir. Ana tarayıcı uygulama setinin ‘ana penceresi’ görevi görür. Deeds’le kullanıcı doğrudan Öğrenme Gereçlerinin (Learning Material) bulunduğu Deeds’in kendi web sitesinde dolaşabilir. Şekil 4’te web sitesinin bu sayfalarının ‘ekran görüntüleri’ görebilirsiniz. Şekil 4: Ana tarayıcı; Deeds web sitesindeki ‘ekran görüntüleri’ (screen shots) sayfasına bağlanmış Kullanıcı aynı zamanda Deeds setinin en son sürümünü de çıktığı anda indirip yükleyebilir (Şekil 5). Şekil 5: Deeds web sitesindeki yükleme sayfası. Deeds, Dijital Tasarım üzerine kurslar yürüten çeşitli kurumlarda yararlanılıp paylaşılmak üzere genel bir simülasyon aracı ve Elektronik Mühendisliği alanında NetPro projesi etkinliklerine destek olma amacıyla geliştirilmiştir. NetPro, Leonardo DaVinci’ye dahil bir Avrupa projesidir ve İnternet üzerinden proje temelli eğitim geliştirir. İletişimi ve birbirinden uzakta bulunan öğrencilerin birlikte çalışmasını kolaylaştıran ve sunulacak projelerin erişimini ve kontrolünü düzenleyen modeller, araçlar ve hizmetler yaratmıştır. NetPro metodolojisi ve araçlarını pilot projeler yürüterek sınamaktayız. Pilot kursların önemli bir özelliği proje gruplarının farklı ülkelerde ve akademik kuruluşlarda dağıtımının mümkün olmasıdır. Bir pilot kursun ekipleri birden fazla enstitüden ya da ülkeden olabileceği gibi, ekiplerin kendisi enstitüler arası ya da uluslar arası olabilir. Pilot sitelerin arasındaki işbirliğinin şu anki hedefi, yerel düzenlemelerden bağımsız olarak bütün öğrenciler için önemli olan öğrenim görevlerini sağlamaktır. Ekiplerin aynı dili kullanması (pilot kursların bütün bileşenleri, iletişim ve öğrencilerin teslim ettikleri projeler de dahil olmak üzere, İngilizce’dir) ve ekipteki sınıfların hepsinin yılın aynı zamanında aynı konuyu işlemesi durumunda grup çalışması mümkündür. Üretilen tüm belgeler on-line web sitesi çıktıları ve yüklenebilir dosyalar olarak kullanıma hazırdır. Şekil 6’da, ana tarayıcıyla açılmış olarak, Deeds web sitesindeki öğrenim gereçleri içeriği sayfası görülmektedir. Şekil 6: ana tarayıcıyla açılmış öğrenim gereçleri sayfası (Deeds web sitesinde bulunmaktadır) Deeds: Ana tarayıcı menüsü Ana tarayıcı web sayfasında dolaşma, simülatör ve araçları çalıştırma, açılmış araçlar arasında geçiş yapma ve kullanıcı seçeneklerini özelleştirme imkanı sağlar. Dosya Menüsü Şekil 7: Ana tarayıcı dosya (file) menüsü. Ana Sayfa Ana tarayıcıda ana sayfaya gitmek için komut. Kullanıcı tarafından belirlenebilir. Open Page – Sayfa Aç Sayfa açma dialoğunu açınız (Şekil 8). Bu dialog penceresinde kullanıcı doğrudan bir URL adresini yazabilir ya da bir yerel ağ ya da diske göz atabilir. Seçilen web sayfası Ana Sayfa olarak belirlenebilir. Daha önce açılan sayfaların kısa tarihi saklanır. Şekil 8: Sayfa Aç (Open Page) Dialog Penceresi. Back (Geri) Önceki sayfaya dönmek için standart tarayıcı komutu. Forward (İleri) ‘Geri’ komutunu kullandıktan sonra, sonraki sayfaya gitmek için standart tarayıcı komutu. Stop (Dur) Yürürlükteki sayfanın yüklenmesini durdurmak için kullanılan standart tarayıcı komutu. Refresh (Yenile) Yürürlükteki sayfanın tekrar yüklenmesi için kullanılan standart tarayıcı komutu. Print Preview (Baskı Önizleme) Yürürlükteki sayfanın baskı öncesi önizlenmesi için standart tarayıcı komutu. Print Page (Baskı) Yürürlükteki sayfayı yazdırmak için kullanılan standart tarayıcı komutu. Exit (Çıkış) Ana tarayıcıyı kapamak için kullanılan standart komut. Run Menu – Çalıştırma Menüsü Şekil 9: Ana tarayıcı “çalıştır (run)” menüsü. Assistant Browser – Yardımcı Tarayıcı Yardımcı tarayıcı nesnelerinden birini açmak için komut. Digital Circuit Simulator – Dijital Devre Simülatörü Dijital Devre Simülatörünün (d-DcS) nesnelerinden birini açmak için komut. Finite State Machine Designer – Sonlu Durum Makinesi Tasarlayıcısı Sonlu Durum Makinesi Tasarlayıcısı/Simülatörünün –Finite State Machine Designer/Simulator- (d-FsM) nesnelerinden birini açmak için komut. Micro Computer Board Emulator – Mikro Bilgisayar Kart Emülatörü Mikro Bilgisayar Kartı Emülatörünün (d-McE) bir nesnesinin manuel olarak açmak için kullanılan komut. Tools Menu – Araçlar Menüsü Şekil 10:Ana tarayıcı “Araçlar” (tools) menüsü. İlk Öğe Grubu Seçilen araca geçiş yapma komutları. Açılan tüm araçlar burada –varsakendilerine karşılık gelen açık dosyayla birlikte dizilmiştir. Kullanıcı öğelerden birine tıkladığında, seçilen araç ‘üstte’ olacaktır. Switch to Next Deeds Application – Sonraki Deeds Uygulamasına Geç Sonraki açık Deeds aracı ya da tarayıcısına geçme komutu. Switch to Tool on Top – Üstteki Araca Geç Ana tarayıcıya geçiş yapmadan önce üstte olan araca geçiş yapma komutu. Close All Tools – Tüm Araçları Kapat Açık araçların tamamını kapatma komutu. Eğer araçların içinde açılan dosyalardan biri kaydedilmemişse, kullanıcı bir soru mesajıyla uyarılır ve kapatma işlemi durur. Options Menu – Seçenekler Menüsü Şekil 11: Ana tarayıcı “Options“(seçenekler) menüsü.. Configuration – Yapılandırma Uygulandırma yapılandırmasını değiştirme komutu (bu sürümde etkisizdir). ToolBars – Araç Çubukları Araç Çubuklarının görüntüsünü değiştirme komutu. Browser ToolBar – Tarayıcı Araç Çubuğu Tarayıcı Araç Çubuğunu gizleme ya da gösterme komutu. Status Bar – Durum Çubuğu Durum Çubuğunu gösterme ya da gizleme komutu. Show and Dock All ToolBars – Araç Çubuklarını Göster / Dokta Simge Durumuna Getir Araç çubuklarını göstermek ya da simge durumuna getirme komutu. Dockable ToolBars – Doklanabilir Araç Çubukları Araç çubuklarının doklanma biçimini geçerli ya da geçersiz kılma komutu. Help Menu – Yardım Menüsü Şekil 12: Ana tarayıcıda “Help“(yardım)menüsü. Index - Dizin Deeds Yardım Sistemini açma komutu. License Agreement – Lisans Anlaşması Lisans Anlaşmasını ekrana getirme komutu. Version Notes – Sürüm Notları Sürüm Notları dosyasını ekrana getirme komutu About - Hakkında Deeds’in ilk açılma pencere dialoğunu ekrana getiren komut. Deeds: Yardımcı Tarayıcı (d-AsT) “Yardımcı” HTML tarayıcısının ana tarayıcınınkilere benzer özellikleri vardır, ama öğrencilere çalışmalarında yardım etmek için ana tarayıcıyla yan yana (şekil 13) çalışır. Bu tarayıcı dersleri, egzersizleri ve laboratuar ödevlerini açmak için kullanılan tarayıcıdır. Ana tarayıcı gibi Yardımcı da standart Microsoft WebBrowser ® bileşeni çerçevesinde oluşturulmuştur. Şekil 13’te Yardımcı tarayıcı ana tarayıcının yanında açılmış ve ekranında bir problem ödevi (ESD1 NetPro kursundan) gösterilmektedir. Bir ödevi açmak için, kullanıcı ana tarayıcıdaki listede istediği konuya tıklar: Yardımcı otomatik olarak yan tarafta açılacaktır. Şekil 13: Yardımcı ana tarayıcının kenarında, yazılı bir ödevle birlikte açılır. Web sayfasının gösterdiği bütün objeler etkinleştirilebilir. Örneğin, taslakları gösteren şekil üzerine tıklayarak, Dijital Devre Simülatörü başlatılabilir ve sınanmaya hazır olarak devre yüklenir (bu önemli özellikten daha sonra ayrıntılı olarak bahsedilecektir). Deeds: Assistant browser Menu – Yardımcı tarayıcı menüsü Yardımcı menüsü kullanıcı işletimini basitleştirmek için temel komutlara indirgenmiştir. (Şekil 14). Görsel şekli pencere boyutunu en küçük boyuta indirmek için seçilmiştir ve bu haliyle Yardımcı’nın çok yer kaplamadan simülasyon aracının yanında konumlandırılmasını sağlar. Şekil 14: Yardımcı’nın ana menüsü, araç çubuğuna iliştirilmiş. Home Page – Ana Sayfa Yardımcı’nın yerel ana sayfasına gitme komutu. Open Page – Sayfa Aç Sayfa aç dialoğunu açınız. (Şekil 15) Bu dialog penceresinde kullanıcı doğrudan bir URL adresi yazabilir, yerel ağı ya da diski tarayabilir. Seçilen web sayfası Ana Sayfa olarak belirlenebilir. Önceden açılan sayfaların kısa tarihi saklanır. Şekil 15: Sayfa Aç dialog penceresi. Back (Geri) Önceki sayfaya dönmek için standart tarayıcı komutu. Forward (İleri) ‘Geri’ komutunu kullandıktan sonra, sonraki sayfaya gitmek için standart tarayıcı komutu. Stop (Dur) Yürürlükteki sayfanın yüklenmesini durdurmak için kullanılan standart tarayıcı komutu. Refresh (Yenile) Yürürlükteki sayfanın tekrar yüklenmesi için kullanılan standart tarayıcı komutu. Print Preview (Baskı Önizleme) Yürürlükteki sayfanın baskı öncesi önizlenmesi için standart tarayıcı komutu. Print Page (Baskı) Yürürlükteki sayfayı yazdırmak için kullanılan standart tarayıcı komutu. Exit (Çıkış) Yardımcı’yı kapamak için kullanılan standart komut. Deeds: The Digital Circuit Simulator – Dijital Devre Simülatörü d-DcS Tapestry of Bayeux’den bir görüntü, Bayeux Katedrali, Fransa Giriş Dijital Devre Simülatörü d-DcS kullanıcıya, pedagojik gereksinimlere bağlı olarak özelleştirilmiş ve belli bazı ticari ürünlerin niteliklerine değinmeyen; basit mantık bileşenleri kitaplığına sahip görsel bir taslak editörü olarak görünür (Şekil 16). Daha önce tanımlandığı üzere taslak editörü, kapılar, flipfloplar, önceden belirlenmiş kombinasyonel ve dizinsel devrelerden ve kullanıcı tarafından belirlenen bileşenlerden oluşan (Sonlu durum makinesi olarak tanımlanır) basit dijital ağlar yapmayı sağlar. Şekil 16: Dijital Devre Simülatörünün (d-DcS) devre editörü (circuit editor). Simülasyon etkileşimli ya da zamanlama kipinde olabilir. İlk kipte, öğrenci girişleri kontrol ederek ve sonuçları gözlemleyerek, dijital sistemi editörde canlandırabilir. Bu bir dijital ağı incelemek için en basit kiptir, ve bu şekilde başlangıç aşamasındakiler için işletimi kullanışlı kılar. Zamanlama kipinde, devrenin davranışı bir zamanlama çizeneği penceresiyle analiz edilebilir. Bu pencerede kullanıcı grafik olarak bir giriş sinyal sırasını tanımlayıp simülasyon sonuçlarını gözlemleyebilir. Bu kip, profesyonel simülatörlerin kullandığına en yakın olandır. Basit Bir Örnek Aşağıdaki ekran görüntülerinde (Şekil 17a,b,c) çizim aşamasında ve daha sonra canlandırılmış bir devreyi görebilirsiniz. a) öğrenci Bileşen Araç Çubuğu’ndaki (Component Tool Bar) seleden bileşenleri toplar, sonra b) Telleri (Wires) kullanarak birbirlerine bağlar. Bittiğinde, c) öğrenci canlandırmayı (animation) etkinleştirir. Şekil 17a: Dijital devre editörünün çizim aşaması: bileşenlerin yerleştirilmesi. Şekil 17b: Uygulamanın sonraki aşaması: bileşenlerin tellerle birbirine bağlanması. Şekil 17c: Canlandırma çalışırken: kullanıcı Girişleri açar ve devre Çıkışlarında farklılık ortaya çıkar. Kullanıcı canlandırma moduna girmek için, kullanıcı üçgen şekilli ‘play’ (oynat) düğmesine tıklar. Canlandırma sırasında düzenleme (editing) komutları etkisizdir ve devre değiştirilemez; kullanıcı Giriş Anahtarlarının üzerine tıkladığında (bkz. Şekil 17c), Çıkışlar simülasyon sonuçlarına göre değişir, ‘0’ , ‘1’ ya da ‘bilinmeyen’ değerler gösterirler. Canlandırma kipinden çıkmak için, kare şeklindeki ‘stop’ (dur) düğmesinin üzerine tıklamak gerekmektedir. Bunun yerine, zamanlama simülasyonu gerçekleştirilecekse, kullanıcı “Timing Simulation” (Zamanlama Simülasyonu) düğmesinin üzerine tıklamalıdır. Bu, dijital elektronikte kullanılan profesyonel araçlardakilere çok benzeyen Zamanlama Çizeneği simülasyon penceresini gösterecektir (Şekil 18). Şekil 18: Zamanlama Çizeneği Simülasyon Penceresi Bu pencerede ilk başta kullanıcı giriş sinyallerini çizelgenin üzerinde fareyle çizerek zamanlamalarını belirler. Dikey bir çizgi imleci simülasyonun ‘bitiş zamanı’nı belirlemeyi sağlar. Kullanıcı araç çubuğunun üzerindeki üçgen şekilli ‘play’ (oynat) aynı pencerede gösterilir (Şekil 19). düğmesine tıkladığında, simülasyon yürütülür ve sonuçlar Şekil 19: Zamanlama Çizeneği penceresinde gösterilen zamanlama simülasyonunun sonuçları. Öğrenci sınanmakta olan ağın davranışının doğruluğunu, simülasyon sonuçlarını tümevarım ve teorik kavramlarla karşılaştırarak doğrulayabilir. Deeds tarayıcıları ve d-DcS arasındaki etkileşimlere basit bir örnek Şekil 20’de Deeds ana tarayıcısıyla bir ödev listesi açılmıştır. Öğrencinin ödev # 2.1’i “Analysis of a demultiplexer (1 to 2)” (Bir sayısal çoğullama çözücünün analizi) yaptığını varsayalım. Şekil 20: Deeds ana tarayıcısıyla açılan laboratuar ödevlerinin bir listesi. Ardından bağlantının üzerini tıklar ve ödevin olduğu sayfa Yardımcı’da açılır (bkz. Şekil 21) Şekil 21: Yardımcı’yla açılmış, belirtilen laboratuar ödevi Ödev, kullanıcıya şekilde gösterilen 1-> 2 sayısal çoğullama çözücünün davranışını Deeds Dijital Devre Simülatörü kullanarak doğrulanmasını sormaktadır. Metinde şeklin üzerine tıklanarak ağ taslağının kopyasının d-DcS’de açılması ve ardından tamamlanması önerilmektedir. Bu örnekte, simülatörü etkinleştirmek için yalnızca basit bir tıklama ve web sayfasından çözümün ‘şablon’unun yüklenmesi gerektiğini görüyorsunuz. Bu yaklaşım işlemi kolaylaştırmayı hedeflemektedir böylece gereksiz ve dikkat dağıtıcı işlerle zaman kaybedilmesini engeller. Kullanıcı Dijital Devre Simülatörünü ve içinde yüklenen dosyayı şekil 22’de görüldüğü gibi görecektir. Şekil 22: Dijital Devre Simülatörü, web sayfasından tek bir tıklamayla açılır. Devre şablonu eğitim yazılımı sitesinden otomatik olarak yüklenmiştir. Ödev bu aşamada çizimi tamamlamayı önerir, aynı zamanda web sitesindeki birkaç kullanışlı simülatör komutunu, basit bir tıklamayla etkinleştirir. Taslak tamamlandığında simülasyon da doğrudan Deeds web sitesinden başlatılabilir. Şekil 23’te öğrencinin çalışmasından beklenen sonuçlar görülebilir. Şekil 23: Öğrencinin tamamladığı şekliyle, devrenin zamanlama simülasyonu. Şimdi öğrencinin iyi bir rapor derleyip teslim etme zamanıdır. Deeds ödev sayfasında rapor şablonunu yüklemek ve düzenlemek için bir link (köprü) bulunmaktadır (Şekil 24). Şekil 24: Derleme ve sunumu hızlandırmak için, öğrenci rapor şablonunu yükleyebilir. Rapor şablonu, rapor stillerini bir örnek yapma amacıyla önizlenir, özellikle öğrenci sayısı çok olduğunda bu öğretmenin işi kolaylaştıracaktır. Ancak rapor şablonunun varlığı öğrenci için de oldukça kullanışlıdır, çünkü öğrencinin işini hızlandırır ve öğrenilecek argümanlara yoğunlaşması için zaman kazandırır. Şekil 25: Bu laboratuar ödevi için rapor şablonu. d-DcS: Menü Komutları Dijital Devre Simülatörünün menüsü kullanıcının uygulamanın bütün işlevlerine erişmesini sağlar. Araç Çubukları kullanıcı işlemlerini hızlandırmak için menüde bulunan komutların çoğunun bir kopyasını içerir. File Menu- Dosya Menüsü Şekil 26a: d-DcS “File”(dosya) menüsü. New – Yeni Yeni devre dosyası açma komutu. Open – Aç Varolan bir devre dosyasını açma komutu. Dosya aynı şekilde bir web sitesinden de yüklenebilir. Save – Kaydet Yürürlükteki devre dosyasını kaydetme komutu. Save as – Farklı Kaydet Yürürlükteki devre dosyasını değişik bir adla ya da değişik bir konuma kaydetme komutu. Print – Yazdır Devre dosyasını yazdırma komutu. Paper Setup – Sayfa Düzeni Sayfanın biçimi ve yönlendirmesini tanımlamak için kullanılan komut. Sayfa düzeni dialog penceresini açar (Şekil 26b). Şekil 26b: Sayfa düzeni dialog penceresi. Recent Files List – Son kullanılan Dosyalar Listesi Son kullanılan dosyaları açma komutu. En çok 8 son kullanılan dosya bu listeden açılabilir. Dosya adının sol tarafında görüntülenen simgelerin anlamları: Bu dosyayı kullanıcı yerel disk ya da ağ üzerinde depolamıştır. Bu dosya bir web sayfasından yüklenmiş, ancak (henüz) yerel disk ya da ağ üzerinde kaydedilmemiştir. Bu dosya, yalnız okunur olarak yerel bir eğitim yazılımından yüklenmiş ancak (henüz) yerel disk ya da ağ üzerine kaydedilmemiştir. Exit – Çıkış Uygulamayı kapatmak için standart komut. Edit Menu – Düzen Menüsü Şekil 27: d-DcS “Edit“ (Düzen) menüsü. Undo – Geri Al Önceki işlemi geri alma komutu. Redo – Tekrar Yap Önceden ‘Geri Al’ komutuyla iptal edilmiş işlemi tekrar yapma komutu (komut geçici olarak ketlenmiştir). Cut – Kes Devrenin seçili kısmını panoya kopyalamak üzere kesme komutu (komut geçici olarak ketlenmiştir). Copy – Kopyala Seçili devre kısmını panoya kopyalama komutu (komut geçici olarak ketlenmiştir). Paste – Yapıştır Pano içeriğini devreye yapıştırma komutu (komut geçici olarak ketlenmiştir). Select All – Tümünü Seç Çizim objesinin tümünü seçme komutu. Copy Image – İmgeyi Kopyala Seçili öğeyi bitmap imgesi olarak kopyalama ve panoya koyma komutu. Delete – Sil Seçili bileşenlerin tümünü silme komutu. View Menu – Görünüm Menüsü Şekil 28: d-DcS “View“ Görünüm menüsü. Zoom In – Yakınlaştır Çizimi yakınlaştırma komutu. Zoom Out – Uzaklaştır Çizimi uzaklaştırma komutu. Zoom – Yakınlaştırma 1,2,3,4,5 Yakınlaştırma boyutunu değişik düzeylerde görüntülemek için komut. Standart düzeyi ‘3’ tür. Normal Çizim alanının “normal görüntü”sünü belirleme komutu. (örn. yalnız çizim sınırları belli olan, bir örnek ve sürekli bir arka plan). Page Layout – Sayfa Yapısı Çizim alanını sayfa yaprağı gibi yapılandırma komutu (örn. görünür sayfa sınırları ve gölgeleri ve çizim sınırlarıyla birlikte). Tools Menu – Araçlar Menüsü Şekil 29: d-DcS “Tools“ (araçlar) menüsü. Select One – Birini Seç Tek bir objeyi seçme komutu (nokta ve tıklama ile). Select by Area – Alana Bağlı Seç Dikdörtgen bir alandaki obje grubunu seçme komutu. Select and Move – Seç ve Taşı Tek bir objeyi seçme ve taşıma komutu (nokta ve tıklama ile). Select and Delete – Seç ve Sil Tek bir objeyi seçme ve silme komutu (nokta ve tıklama ile). Label – Etiketle Seçili objenin etiketini yerleştirme (ya da düzenleme) komutu (etiketleri yalnızca Giriş/Çıkış blokları ve Sonlu Durum Makinesi bileşenleriyle ilişkilendirmek mümkündür). Rotate – Döndür Objeyi (yerleştirme sırasında) döndürme komutları grubu. Right, Down Left, Up – Sağ, Aşağı, Sol, Yukarı Objeyi (yerleştirme sırasında) istenilen yönde döndürmek için dört komut. Toggle – Geçiş Yap Bir objenin yönünü (yerleştirme sırasında) değiştirmeye geçiş yapma komutu. Circuit Menu – Devre Menüsü Şekil 30: d-DcS “Circuit“ (devre) menüsü. Clock Generator – Saat Üreteci Devrenin içine Saat Üreteci bileşeni ekleme komutu. Input – Giriş Devrenin içine Giriş Anahtarı bileşeni ekleme komutu. High Level – Yüksek Düzey Devrenin içine bir Yüksek Düzey Giriş bileşeni (mantık ‘1’) ekleme komutu. Low Level – Düşük Düzey Devrenin içine bir Düşük Düzey Giriş bileşeni (mantık ‘0’) ekleme komutu. Wire – Tel Devrenin içine bir tel kesimi ekleme komutu. Tel sistemi tellerden biri diğerine bağlı olduğunda, ‘tel düğümleri’nin (wire nodes) kendiliğinden eklenmesini destekler. Output – Çıkış Devreye ikili Çıkış Görüntüleme bileşeni ekleme komutu (‘0’ , ‘1’ veya ‘bilinmeyen’ simgelerini görüntüler). Display – Görüntüle Devreye Onaltılı Çıkış Görüntüleme bileşeni ekleme komutu (‘0’dan ‘F’ye kadar olan onaltılı basamakları ya da ‘bilinmeyen’ simgesini görüntüler). Input – Giriş Devrenin içine Giriş Anahtarı bileşeni ekleme komutu Error Check List – Hata Denetim Listesi Devrenin tel bağlantılarını denetleme komutu. Pencerenin alt tarafında tel bağlantılarının bir “hata denetim listesi”ni gösterir ya da saklar. Components – Bileşenler Alt menüden kullanıcı tarafından seçilen bir bileşenin devreye eklenmesi için kullanılan komut. Alt menülerin tanımları aşağıda verilmiştir. Not – Olumsuz ’OLUMSUZ’ bileşeni ekleme komutları. ANDs – (VE)ler ‘VE’ bileşenleri ekleme komutları. NANDs – Olumsuz ve Evetler (OVE) ‘OLUMSUZ VE EVET’ bileşenleri ekleme komutları. ORs – ‘Ya Da’lar ‘YA DA’ bileşenleri ekleme komutları. NORs – Olumsuz Ya (OYA) lar ‘OYA’ bileşenleri ekleme komutları. EXORs – Dışlamalı Ya (D-YA) lar (D-YA) ve (D-YA ağacı) bileşenleri ekleme komutları. Decoders – Kod Çözücüler ‘Kod Çözücü’ bileşenleri ekleme komutları. Encoders – Kodlayıcılar “Öncelik Kodlayıcısı” bileşeni ekleme komutu. Multiplexers – Sayısal Çoğullayıcılar ‘Sayısal Çoğullayıcı’ bileşenleri ekleme komutları. Demultiplexers – Sayısal Çoğullama Çözücüleri ‘Sayısal Çoğullama Çözücü’ bileşenleri ekleme komutları. Flip-Flop ‘Flip-Flop’ bileşenleri ekleme komutu. Registers – Kayıtlar ‘Register’ (kayıt) bileşenleri ekleme komutu. Counters – Sayaçlar ‘Counter’ (sayaç) bileşenleri ekleme komutu. Finite State Machine – Sonlu Durum Makinesi ‘Sonlu Durum Makinesi’ bileşenleri ekleme komutu. ‘New’ (yeni) komutu Sonlu Durum Makinesi Simülatörünü (d-FsM) etkinleştirir, böylece kullanıcıya sıfırdan yeni bir bileşen yaratma olanağı verir. ‘Load’ (yükle) komutu kullanıcıya önceden tasarlanmış bir bileşeni açma olanağı verir. Simulation Menu – Simülasyon Menüsü Şekil 31: d-DcS “Simülasyon“ menüsü. Mode – Kip Simülasyon kipini belirlemek için komut grubu. Interactive Animation – Etkileşimli Canlandırma Simülasyon için Etkileşimli Canlandırma Kipini belirleme komutu. Etkinleştirildiğinde simülasyon hemen başlamaz. Eğer Zamanlama Çizeneği penceresi açıksa, kapanacaktır. Düzenleme komutları etkisiz haldedir ve kullanıcıya taslak editöründeki dosyayı kaydetmemişse kaydetmesi hatırlatılır. Timing Diagram Simulation – Zamanlama Çizeneği Simülasyonu Simülasyon için Zamanlama Çizeneği Kipini belirleme komutu. Etkinleştirildiğinde simülasyon hemen başlamaz, onun yerine Zamanlama Çizeneği penceresi açılır. Düzenleme (editing) komutları etkisiz durumdadır ve kullanıcıya taslak editöründeki dosyayı kaydetmemişse kaydetmesi hatırlatılır. Start Animation – Canlandırmayı Başlat Yürürlükteki kip ‘canlandırma’ olduğunda simülasyonu başlatma komutu. Stop Animation – Canlandırmayı Durdur Yürürlükteki kip ‘canlandırma’ olduğunda simülasyonu durdurma komutu. Deeds Menüsü Şekil 32: d-DcS “Deeds“ menüsü. Switch to Deeds – Deeds’e Geçiş Yap Deeds ana tarayıcısına geçiş yapma komutu. Switch to Last – Sonuncuya Geçiş Yap d-DcS’nin açık olan durumuna geçiş yapmadan önceki ‘en son üstte olan’ araca geçiş yapma komutu. Switch to Next – Bir Sonrakine Geçiş Yap Tüm etkin Deeds uygulamaları arasında etkinleştirilme sırasına göre geçiş yapma komutu. Options Menu – Seçenekler Menüsü Şekil 33: d-DcS “Options“ (seçenekler) menüsü. Configuration - Yapılandırma Uygulamanın yapılandırmasını değiştirme komutu (bu sürümde etkisizleştirmiştir). ToolBars – Araç Çubukları Araç Çubukları görünümünü denetleyen komutlar. Standard ToolBar – Standart Araç Çubuğu Standart Araç Çubuğunu (üst taraftaki) gösterme ya da gizleme komutu. Component ToolBar – Bileşen Araç Çubuğu Bileşen Araç Çubuğunu (alt taraftaki) gösterme ya da gizleme komutu. Show and Dock All ToolBars – Tüm Araç Çubuklarını Göster / Dokla Tüm Araç Çubuklarını gösterme / doklama komutu. Dockable ToolBars – Doklanabilir Araç Çubukları Araç Çubuklarının doklama kipliklerinin etkinleştirilmesi/seçilemez hale getirilmesi komutu. Status Bar – Durum Çubuğu Durum Çubuğunu gizleme ya da gösterme komutu. Help Menu – Yardım Menüsü Şekil 34: d-DcS “Yardım “menüsü. Index - İçindekiler d-DcS Yardım Sistemini açma komutu (bu sürümde etkisizleştirilmiştir). Data sheets – Veri Sayfaları Veri Sayfaları yardım sistemini açma komutu (bu sürümde etkisizleştirilmiştir). License Agreement – Lisans Anlaşması Lisans Anlaşmasını görüntüleme komutu. Version Notes – Sürüm Notları Deeds “Sürüm Notları” dosyasını görüntüleme komutu. About – Hakkında d-DcS başlangıç pencere dialoğunu görüntüleme komutu. Deeds: Finite State Machine Simulator – Sonlu Durum Makinesi Simülatörü d-FsM Tapestry of Bayeux’den bir görüntü, Bayeux Katedrali, Fransa Giriş Sonlu Durum Makinesi Simülatörü d-FsM Sonlu Durum Makinesi bileşenlerinin görsel düzenleme ve simülasyonunun ASM (Algoritmik State Machine – Algoritmik Durum Makinesi) paradigması (Şekil 35) kullanılarak yapılmasına olanak verir. Bu araçla, kullanıcı tarafından tasarlanan sonlu durum makinelerinin, durum ve zaman evrimindeki ilişkilerin yürütüm süresi görüntülenerek yerel işlevsel simülasyonu yapılabilir (Şekil 36). Şekil 35: Sonlu Durum Makinesi Simülatörünün (d-FsM) ASM editörü. d-FsM’nin oluşturduğu bileşenler doğrudan d-DcS’de kullanılabilir ve herhangi bir dijital devreye eklenebilir. Ayrıca, VHDL dilinde dışa aktarılabilir (export). Sonlu Durum Makinesi yazılım simülasyonunun genel amaçlarından biri öğrencilerin tasarım becerilerinin arttırılmasıdır. Aynı zamanda CAD metodolojilerine başlatılarak pedagojik alandan profesyonel alana geçişin sağlanmasıdır. Şekil 36: Sonlu Durum Makinesi Simülatörünün (d-FsM) ASM editörü. Sonlu Durum Makineleri Sonlu Durum Makineleri (FSM), bir dijital sıralı devre sınıfı tasarlamak için bir modeli temsil etmektedir. Sıralı bir sistem, çıkışları yalnızca yürürlüktekilerin değil aynı zamanda önceki girişlerin bir fonksiyonu olan bir bloktur. Diğer bir deyişle, mantığın önceki girişlerin tarihini kaydeden bir tür “hafıza”sı vardır, böylece önceki girişlere o anda yanıt verebilir. Bu tanım verildikten sonra, sırasal devreler önceki tüm girişleri kaydedebilmek için muazzam bir belleğe gereksinim duyuyormuş gibi görünebilir. Ancak, gerçek anlamda herhangi bir mantık tasarım görevinde, önceki giriş kombinasyonlarının sonlu sayıda çıkış sınıfları oluşturduğu göz önünde bulundurularak, bellek gereksinimi kullanışlı boyutlara indirgenebilir. Bu tür tasarıma bir Sonlu Durum Makinesi, ya da yalnızca durum makinesi denir. Çağdaş dijital devre tasarımı kaçınılmaz olarak Sonlu Durum Makineleri temellidir. Bir durum makinesinin tasarımı, sentez ve belge işlemi formal bir yaklaşım gerektirir. Günümüzde, durum makinesinin temelindeki algoritmayı grafik, çizelge halinde ya da metinsel temelli gösteren birkaç farklı tasarım yöntemi kullanılmaktadır. FSM tanım dilleri: ASM tabloları Bir FSM’yi tanımlamak için en yaygın kullanılan grafiksel yöntem Moore ve Mealy Durum Diagramları’dır. Simülatörümüzde bunların yerine ASM (Algoritmik Durum Makinesi) yöntemini kullanıyoruz. Tipik bir ASM tablosu (ya da çizelgesi), akış çizeneği (flowchart) simgelemine Şekil 37: Basit bir Algorimik Durum Makinesi (ASM) çizimi (notasyon) benzer (Şekil 37). Bir durum makinesinin durum akışını, çıkış fonksiyonlarını ve sonraki durum fonksiyonlarını tanımlar. ASM tablolarının Moore and Mealy Durum Diagramlarıyla işlevleri aynıdır: sonlu durum makinelerinin davranışını tasarımcı tarafından açıkça anlaşılacak biçimde betimlerler. Aynı zamanda ASM tabloları denetim algoritmasının donanımsal bir gerçekleşimine doğrudan çevirimi destekler.?? Bir ASM tablosu üç temel öğeden oluşur, Durum Bloğu (dikdörtgen kutu), Karar Bloğu (karo biçiminde) ve Koşullu Çıkış Kutusu. Bir durum kutusu, karar blokları ve koşullu çıkış bloklarından oluşan bir sete ASM Bloğu denir. Bir ASM Bloğunun tek giriş noktası vardır ama her biri başka bir durum kutusuna bağlanan herhangi bir sayıda çıkış yolu olabilir. FSM her saat döngüsünde bir durumdan diğerine hareket eder; her durumun bir durum çıkışı olabilir; koşullu bloklar giriş değerlerinin bir fonksiyonu olarak yöne seçimini sağlar; koşullu çıkışlar yalnızca durumlara değil, aynı zamanda giriş değerlerine de bağlıdır. Durum Bloğu (State Block) Bir ASM tablosunda, bir durum, durum kutusu tarafından gösterilir, bu da yanında durumun adı yuvarlak içine alınmış olarak gösterilen bir dikdörtgendir. (Şekil 38a). Çıkış sinyalinin belli bir durumda koşulsuz olarak etken olduğunu, çıkış sinyalinin adını ilişkin durum kutusunun içine yazarak belirleyebilirsiniz. Durum kutularının içine yazılan çıkış sinyalleri durum çıkışları ya da Moore çıkışları olarak bilinir. Karar Bloğu (Decision Block) Koşulsuz geçişler iki durum bloğunun arasına çizilmiş düz ve etiketlenmemiş bir okla gösterilebilirken, koşullu geçişler daha özel bir simgeyle gösterilir. Buna da karar karosu denir (decision diamond). Karonun içinde yazan ifadenin değerine bağlı olarak, makine karodan çıkan iki etiketli geçiş okundan birini takip edecektir. Bir karonun her zaman dışarı çıkan iki oku olur ve içerideki boolean ifadeye denk düşecek şekilde, biri “1” (ya da DOĞRU) ve diğeri de “0” (ya da YANLIŞ) olarak etiketlenmiştir. Koşullu Çıkış Bloğu Bazen bir çıkış sinyalini yalnızca girişlerin bellibir durumu yerine getirilecek şekilde etkinleştirmeye gereksinim duyabilirsiniz (bu tip çıkış sinyalleri koşullu çıkışlar ya da Mealy çıkışları olarak bilinir). Bu durumda koşullu çıkış bloğunu kullanmanız gerekir. Elipsi bir karar karosundan çıkan geçiş okunun üzerine koyun ve elipsin içine karonun içindeki ifade doğru olduğu takdirde etkinleştirmek istediğiniz çıkış sinyalininin adını yazın. Koşullu bloğun bir durumu belirtmediğine lütfen dikkat ediniz; bunun yerine bir çıkışı aktive eder böylece sinyal geldiği durumun içinde aktif olur. Şekil 38a: Durum Bloğu Şekil 38b: Karar Bloğu Şekil 38c: Koşullu Çıkış Bloğu ASM Tabloları & Durum Çizelgeleri Bir Durum Çizelgesini ASM tablosunun içinde dönüştürmek –ya da tam tersi- kolaydır. Şekil 39a’da bir Durum Çizelgesinin basit bir örneği gösterilmiştir: Şekil 39a: SR flip-flop’unun Durum Çizelgesiyle gösterimi. Aşağıdaki ASM çizelgesi (Şekil 39b) tam olarak aynı davranışı modellemek için kullanılabilir. Şekil 39b: Bir SR flip-flop’unun ASM Çizelge gösterimi. İlk göreceğiniz şey, iki modelde de makinenin durumlarını gösteren birer obje bulunmaktadır. Durumlar Durum Çizelgesinde (1,2) olarak numaralandırılmıştır ve ASM çizelgesinde (a,b) harfleriyle etiketlenmiştir, ancak aralarındaki 1:1 ilişki açıktır. • durum 1 = durum a = flip-flop çıkışı "0" • durum 2 = durum b = flip-flop çıkışı "1" Dikkat edilecek bir başka şey, iki modelin biçimsel olarak benzer olmasıdır. İki modelde de her durumun iki geçişinin –biri durumun üzerindeki kapalı devre diğeri de öteki duruma giden olmak üzere- olduğunu gözlemleyebilirsiniz. ASM Tabloları ve Durum Çizelgeleri arasında dönüşüm yaparsanız benzerlik her zaman geçerlidir, yalnızca ASM Tablolarında koşullu geçişlerin durum olmayan (ancak geldikleri duruma aittirler) karar karolarından çıktığını hatırlayınız. ASM Tablolarındaki koşullu geçişleri gösteren yöntem, Durum Çizelgesi sentaksından daha az teferruatlı ve daha çok algoritma yönlü olan akış şeması sentaksıdır. Örneğin bu durumda okuyucunun durum a’nın yalnızca S girişinin değerine bağlı olduğunu anlamasına yardımcı olur. Durum b’yi takip eden geçişle ilgili benzer şekilde düşünülebilir: yalnızca R girişinin değeri bu durumla bağlantılıdır. Aşağıdaki çizimler ASM tablosu <-> Durum Çizelgesi dönüşümü örnekleridir (Şekil 40a ve 40b). Şekil 40a: Aynı algoritmayı gösteren ASM tablosu ve Durum Çizelgesi: FSM durum ‘a’da x girişi bire gidene kadar bekler. Şekil 40b: Aynı algoritmayı gösteren ASM tablosu ve Durum Çizelgesine bir başka örnek . FSM tanım dilleri : durum geçişi tablosu Durum geçiş tablosu (şekil 41) bir FSM’yle ilgili en özlü betimlemedir ve bilgisayar yazılımı arayüzü olarak kullanılmak için ve donanımın mantıksal sentezinin temeli olarak kullanışlıdır. Tabii ki, tablo geçerli bir FSM tasarım aracı değildir, çünkü FSM algoritmasını kavramak için yardımcı olmaz. Bu yüzden kullanışlı olmasının asıl nedeni, yapay gösterimindeki kullanımının yukarıda belirtilen iki dilde de ortak olmasıdır. Şekil 41: Yukarıdaki örneğin d-FsM tarafından oluşturulmuş durum geçiş tablosu. FSM tanım dilleri: donanım tanım dili Sonlu durum makinelerini göstermek için devre tanım dillerinin kullanımı (HDL, VHDL, Verilog) oldukça yaygınlaşmış ve pek çok durumda grafik dillerinin yerini almıştır. Durum makinesinin tanımı, bu durumda yüksek düzey bir yazılım programının formatını alır. Sonlu Durum Makinesi Simülatörü FSM bileşenlerini VHDL (Very High speed integrated circuits Hardware Description Language – çok yüksek hızda birleştirilmiş devre donanım tanım dili) formatına aktarır. Şekil 42’de, Şekil 37’deki ASM çizelgesinin Sonlu Durum Makinesi Simülatörü tarafından oluşturulan VHDL eşdeğerini görebilirsiniz. Listenin başındaki “Entity” (varlık) FSM’nin giriş ve çıkışlarıyla bir blok olarak tanımıdır. Ardından varlığın bir objesi (Architecture) örneklenmiştir. Bir varlık üç farklı yolla betimlenebilir: yapısal, veri akışı, işlevsel. Yapısal betimleme varlığı temel dijital bileşenleri ve onların bağlantıları bakımından ayrıştırır. Veri akışı betimlemesi FSM’yi sinyaller ve üzerlerindeki işlemler bakımından gösterir. İşlevsel tanım ise daha güçlüdür, çünkü donanım devresini giriş ve çıkış değişkenleri olan bir yazılım programı olarak görmeyi sağlar. FSM bu sebeplerden dolayı –bizim durumumuzda, saat ve yeniden başlat (reset) sinyalleriyleetkinleştirilmiş bir süreç olarak betimlenmektedir. Her durum içsel bir değişken olarak kodlanmıştır. Her durumdaki bir giriş “olay”ı (case) çıkışların etkinleşmesi ve bir sonraki durumu tanımlar. ------------------------------------------------------------- DEEDS (Digital Electronics Education and Design Suite) -- VHDL Code generated -- by Finite State Machine Simulator (d-FsM) -- Copyright © 2001-2004 DIBE, University of Genoa, Italy -- Web Site: http://esng.dibe.unige.it/netpro/Deeds -----------------------------------------------------------LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY Deriv_UC IS PORT( ------------------------>Clock & Reset: Ck: IN std_logic; Reset: IN std_logic; ------------------------>Inputs: IIN: IN std_logic; ------------------------>Outputs: OOUT: OUT std_logic ); END Deriv_UC; ARCHITECTURE behave OF Deriv_UC IS -- (Behavioral Description) TYPE states is ( state_a, state_b ); SIGNAL State, Next_State: states; BEGIN -- Next State Combinational Logic ---------------------------------FSM: process( State, IIN ) begin CASE State IS when state_a => if (IIN = '1') then Next_State <= state_b; else Next_State <= state_a; end if; when state_b => if (IIN = '1') then Next_State <= state_b; else Next_State <= state_a; end if; END case; end process; -- State Register -------------------------------------------------REG: process( Ck, Reset ) begin if (Reset = '0') then State <= state_a; elsif rising_edge(Ck) then State <= Next_State; end if; end process; -- Outputs Combinational Logic ----------------------------------OUTPUTS: process( State, IIN ) begin -- Set output defaults: OOUT <= '0'; -- Set output as function of current state and input: CASE State IS when state_a => if (IIN = '1') then OOUT <= '1'; end if; when state_b => if (IIN = '0') then OOUT <= '1'; end if; END case; end process; END behave; Şekil 42: Şekil 37’deki ASM çizelgesinin d-FsM tarafından oluşturulmuş VHDL eşdeğeri. FSM’yi Öğrenmek: yöntem ve problemler FSM tanım dilini seçmek pedagojik bakış açısından bakıldığında çok önemlidir. Durum makinesine başlangıç yapıldığında, temel kavramların eksiksiz öğrenilmesinin ve durum makinesinin davranışına dair bir sezgi geliştirilmesinin elzem olduğuna inanıyoruz. Bu yüzden bu seviyede makine algoritmalarının görsel yöntemlerle, bizim durumumuzda ASM tablolarıyla gösterilmesinin uygun olduğuna inanıyoruz. Öğrenci tasarım yöntemine aşina olduğunda ve bir dizi belirtimle betimlenmiş standart-dışı dijital yapılar oluşturmaya hazır olduğunda donanım tanım diline geçiş yapması soyutlama becerilerini geliştirecek ve profesyonel tasarıma giriş yapmasını sağlayacaktır. VHDL export (dışa aktarım) özelliği ASM tanım yönteminden HDL temelli dünyaya geçişi kolaylaştırmak için geliştirilmiştir. FSM bileşeninin tekrar kullanımı: d-DcS’te içe aktarılabilir Daha önce söylendiği üzere, d-FsM’nin ürettiği bileşen doğrudan d-DcS’de kullanılabilir ve herhangi bir dijital devreye eklenebilir. Şekil 43’teki ekran görüntüsünde (önceden gösterilen) basit bileşenin d-DcS’e aktarımı gösterilmekte ve ağ simüle edilmektedir. Şekil 43: Bu örnekte, d-FsM’yle tasarlanmış bir bileşen d-DcS’nin içine aktarılmıştır. d-DcS’de FSM yorumlayıcısı simülatör çekirdeğiyle birlikte çalışarak fonksiyonel sonuçlar üretir. FSM 64 duruma kadar tasarlanabilir ve simüle edilebilir. Görsel ve pratik nedenlerden dolayı 8 giriş ve 8 çıkışla sınırlanan bir başlangıç yapılmıştır. Bu tip sınırlamalar çoğunlukla simülatörün öğrenim hedefleriyle uyumludur. FSM yorumlayıcısı eşzamanlı FSM’yi koşullu çıkışlarla simüle edebilmektedir. d-DcS’de öğrenci girişleri sürebilir ve FSM bloklarının çıkışlarını ve aynı zamanda FSM’nin içsel durumunu da gözlemleyebilir (Şekil 43’te, bileşenle aynı addaki sıra: ‘deriv.fsm’). Kullanıcı standart dijital bileşenleri FSM bloklarına bağlayabilir ve böylece yapı ve denetimci –ikincisi sonlu durum makinesi tarafından oluşturulmuş- arasındaki işlevsel ayrımla tanımlanmış sistemleri simüle edebilir. Eğer öğrenci sonuçlarını bilindik sentez yöntemleriyle elde edilen sonuçlarla karşılaştırmak isterse, manüel olarak geçiş tablosunu ya da ASM tablosunu kullanarak flip-flop’ların oluşturduğu bir durum kaydı ve kombinasyonel ağ temelli mantık kapıları içeren klasik bir yapı elde edebilir. Basit bir örnek d-FsM’in aşağıda görülen ekran görüntülerinde (Şekil 44a,b,c), bir ASM çizelgesi ve ardından içsel zamanlama simülatörünün içinde ön doğrulama görebilirsiniz. d) öğrenci Araç Çubuğundaki seleden (bin) durum bloklarını toplar (Şekil 44a), sonra e) koşullu blokları ekler (Şekil 44b) ve son olarak f) hatlar kullanarak onları mantıksal olarak bağlar (Şekil 44c). Her adımda, gerek duyduğunda öğrenci konulan her bloğun özelliklerini belirler. Şekil 44a: Öğrenci durum bloklarını özelliklerini belirleyerek yerleştirir. Şekil 44b: Öğrenci koşullu blokları özelliklerini belirleyerek yerleştirir. Şekil 44c: Öğrenci mantıksal yolu (yeşil çizgiler, herhangi bir özelliği belirlemeye gerek yoktur) yerleştirir. Çizgi oklarının otomatik olarak eklendiğine dikkat ediniz. Bu çizelge bir kenar algılayıcısını betimlemektedir. Giriş ‘IN’ in bir geçişi (transition) ortaya koyduğu her seferde (‘0’dan ‘1’e ya da ‘1’den ‘0’a), bir saat döngüsü süresinin çıkış vurumu (output pulse) oluşturulur. Davranışını doğrulamak için d-FsM’yle simüle etmek mümkündür. d-FsM’nin zamanlama simülasyonu yalnızca işlevseldir: sözgelimi, bileşen gecikmelerini göz önüne almaz çünkü ağı kapılar ve flip-floplar bakımından sentezlemeden, doğrudan algoritmayı simüle etmektedir. Şekil 45 simülasyon sonuçlarını göstermektedir. Beklendiği gibi, çıkış hattı OUT, giriş hattı IN’in bir düzey geçişi ortaya koyduğu her bir saat döngüsü için ‘high’ (yüksek) olur. Şekil. 45: Yukarıda tanımlanan kenar algılayıcısının simülasyon sonuçları. Şekil 46’daki ASM geçiş tablosunda tasarlanmış FSM’nin tanımı rapor edilmiştir ve aynı zamanda yeni bileşenin otomatik olarak oluşan simgesi önizlenebilir. Şekil 46: Bileşeni tanımlayan ASM geçiş tablosu (solda), ve oluşturulan simge (sağda) Şimdi bileşen d-DcS’nin içine aktarılmaya hazırdır. Bileşeni çok basit bir şekilde, bir dosyadan yükleyerek ekliyoruz. Bu bileşenin kullanımının bir örneği Şekil 47’de gösterilmiştir, burda bileşenin iki durumu yine standart kapılardan oluşan bir devrede bağlanmıştır. Şekil 47: Bileşenin iki durumu standart kapılardan oluşan devrede, d-DcS’nin içinde bağlanmıştır. Öğrenci artık ağı sınayarak davranışın doğruluğunu d-DcS simülasyonunun sonuçlarını beklenenlerle, özellikle d-FsM tarafından üretilen fonksiyonel simülasyonla karşılaştırarak sağlayabilir. Şekil 48’te d-DcS’yle elde edilen bir zamanlama simülasyonunun ekran görüntüsü görülmektedir. Şekil 48: Önceki ağın zamanlama simülasyonu, d-DcS’yle elde edilmiştir. Tapestry of Bayeux’den bir görüntü, Bayeux Katedrali, Fransa Deeds tarayıcıları ve d-FsM aralarındaki etkileşime basit bir örnek Deeds’e d-DcS’yle uygulanan örnekteki gibi, Şekil 49’da laboratuar ödevlerinin listesi Deeds ana tarayıcısında açılmıştır. Şekil 49: Laboratuar ödevleri listesi, d-FsM kullanımıyla Deeds ana tarayıcısında açılmış. Öğrenci ödev #8.1’i uygular : “Eşzamanlı mod-5 yukarı/aşağı sayacının tasarımı” (“Design of a synchronous mod-5 up/down counter”). d-DcS’ye ilişkin örnekte olduğu gibi, kullanıcının bağlantıya tıklamasıyla ödev Yardımcı’da açılacaktır (Şekil 50a ve 50b). Şekil 50a: Yardımcı tarayıcıda açılan laboratuar ödevi (ilk sayfa). Ödevde kullanıcıdan Sonlu Durum Makinesi Simülatörüyle eşzamanlı bir mod-5 yukarı/aşağı sayacı tasarlaması istenmektedir. Laboratuar ödevinde (Şekil 50a) sayacın QC, QB ve QA çıkışlarının üzerinde EN ve DIR hat girişlerine bağlı olarak bir sayısal sıra oluşturması gerektiği anlatılmıştır. Sayac saat CK ile eşzamanlıdır ve eşzamanlı olmayan Reset girişi tarafından başlatılır. Özellikle DIR girişi sayma yönünü (yukarı ya da aşağı) belirler, ve EN girişi her pozitif saat ayrıtında (her saat vurusunda - clock positive edge) sayma işlemi gerçekleşmesini mümkün kılar. Şekil 50b’de ödev bir öneriyle devam eder: ASM çizelgesi şablonunu yükeleyerek çözüme doğru yönlendirilme. Eğer öğrenci bu seçeneği kullanırsa; çözümü sıfırdan yaratmak, simülatör detaylarıyla uğraşmak ve gereksiz, dikkat dağıtıcı işlerle vakit kaybetmek yerine argümanın üzerine daha iyi yoğunlaşabilir. Bu zorunlu bir seçenek değildir ve öğrenci simülatörü şablonu kullanmadan da serbestçe etkinleştirebilir. Şekil 50b: Yardımcı tarayıcıda (ikinci sayfa) açılan özel laboratuar ödevi. Şablonu yüklemek için metnin üzerindeki köprüye (link’e) tıklamak yeterlidir. d-FsM etkinleşecek ve dosya web sitesinden otomatik olarak yüklenecektir. Şekil 51’de önerilen şablonu, simülatörde yüklendiği şekliyle görüyorsunuz. Şekil 51: Yüklenmiş ASM çizelgesi, çözüm şablonu. Şablonda ödev metninin açıkladığı üzere, öğrenci önceden belirlenmiş bazı önemli tanımları bulacaktır: durum değişkenleri X,Y,Z, çıkışlar QC, QB, QA ve girişler DIR ve EN. Gerekli beş durum bloğu önceden çizilmiştir. Şekil 52a,b,c’de önceden belirlenen özellikler kullanıcının Giriş/Çıkış dialog pencerelerinde görüntülenmiştir. araç çubuğu komutuyla etkinleştirdiği Şekil 52a,b,c: Giriş/Çıkış dialog penceresinin üç sayfası; giriş, çıkış ve durum değişkenlerini tanımlamak için kullanılır. Belirtimin ‘a’ durumunun ‘Reset’ durumu olmasını gerektirdiğine dikkat ediniz, örn. bileşenin ‘başlangıç’ durumunun eşzamanlı olmayan !Reset etkinleştirilmesinde. Bu özellik şablonda da –‘a’ durumu çizimde üzerinde küçük bir karoyla birlikte göründüğünde- ön tanımlanmıştır. Aslında, bütün durum özellikleri şablonda ön tanımlanmıştır. Kullanıcı bu özellikleri Özellik Penceresini (Property Window) açarak değiştirebilir. İşlemler sırasında bu iş editöre de bırakılabilir (açmak için araç çubuğundaki düğmesine basınız). Şekil 53’te Özellik Penceresini görüyorsunuz. Kullanıcı ‘a’ durum bloğunu fareyle üzerine tıklayarak seçtiğinde görünür. Şekil 53: Özellik Penceresi, ‘a’ durumunun özelliklerini görüntüler. Bir durum bloğu için, kullanıcı simgesel adı (mevcut durumda ‘a’), durum kodunu (burda ‘000’), ve etkin çıkışları (örnekte hiç biri seçili değildir) belirleyebilir ya da değiştirebilir. Soldaki kontrol kutusu bu durumu ‘Reset State’ (ilk durum) olarak uygulamaya koymuştur. Kullanıcıdan ASM çizelgesini tamamlaması ve d-FsM’deki zamanlama simülasyonunu kullanarak çıkış değerlerinin ve durum kodlarının doğru sırasını sağlaması istenmektedir. Kullanıcı işlevselliğin gerektirdiği biçimde çizime başlayacak, yol hatlarını ve karoları ekleyecektir. Şekil 54’te Özellik Penceresi’ni görüyorsunuz. Kullanıcı bir koşullu blok seçtiğinde görünür. Kullanıcı, giriş değişkenlerinin (bu örnekte ‘DIR’) arasından seçilen karo bağlantılar ve koşulun yönlendirmesini değiştirebilir. Şekil 54: Bir koşullu bloğun özelliklerini görüntüleyen Özellik Penceresi. Öğrenci tasarımı bitirdiğinde, bir sonraki adım sayacın davranışını d-FsM’in kendi zamanlama simülatörünü kullanarak sağlamaktır (Şekil 55). Şekil 55: Tamamlanmış ASM çizelgesi ve d-FsM’de çizelgenin zamanlama simülasyonu. Kullanıcı ‘Clock’ (Saat) düğmesini tıkladığında, dahili simülatör bir sonraki durumu ve çıkışları (mevcut giriş değerlerine göre) değerlendirir ve sonuçları zaman çizelgesinde görüntüler. Aynı anda, editör penceresinde ilişkin yeni durum vurgulanır (etrafında renkli bir çerçeveyle, bkz. Şekil 55). Bu önemli bir özelliktir, çünkü yeni başlayan biri için en büyük zorluklardan biri durumlar ve olayların zaman dizini arasındaki bağdaşmayı anlamaktır. Son olarak, bileşenin davranışı bütün gerekli özellikleri yerine getirdiğinde bileşen d-DcS’nin içine aktarılabilir (bkz. Ödev, Şekil 50b). Bu durumda da basit bir d-DcS taslak şablonu işlemleri hızlandırmak için hazırdır; metindeki bir hyperlinkle kolayca yüklenebilir ve d-DcS’de açılır. Taslak tamamlandığında sayacın simülasyonu d-DcS zamanlama simülatöründe tekrarlanabilir (Şekil 56). Şekil 56: Tamamlanmış d-DcS taslağı,ve d-DcS’de bileşenin zaman simülasyonu. d-DcS’ye ilişkin örnekte olduğu gibi, bu noktada öğrenci çalışmasıyla ilgili bir raporu derleyip sunar. Önceden görüldüğü üzere, ödev sayfasında rapor şablonunu yüklemek için bir link bulunmaktadır (Şekil 57). Şekil 57: Bu durumda da öğrenci, raporun derlemesi ve teslim işlemlerini hızlandırmak amacıyla rapor şablonunu yükler. Şekil 58’de bu laboratuar ödeviyle ilgili rapor şablonu yüklenmiş ve düzenlemeye (editing) hazır biçimde görüntülenmektedir. Şekil 58: Bu lab ödevi için rapor şablonu. Zamanlama Çizeneği Penceresi Bu pencerede (Şekil 59) tüm sinyallerin Zamanlama Çizeneği simülasyon sırasında etkileşimli bir kipte yapılandırılmıştır. Zamanlama Çizeneği Giriş ve Çıkış sinyallerini ve altta mevcut Durumu simgesel bir ad ve kodla gösterir. Şekil 59: d-FsM’nin Zamanlama Çizeneği penceresi. Varsayılan kipte, kullanıcı ‘Clock’ (saat) düğmesinin ilerletir (bir saat döngüsü). Eğer araç çubuğu düğmelerinden üzerine tıklayarak simülasyonu bir adım işaretlenirse, simülasyon zamanı imleciyle denetlenir). Giriş sinyal değerlerini otomatikleşir (uygulama hızı araç çubuğundaki geçiş yaptırmak (toggle) için kullanıcı ‘Clock’ düğmesinin altındaki Giriş sinyal düğmelerine tıklar. Şekil 59’daki örnekte düğme : düğmesi simülasyonu yeniden başlatır (zaman= 0’dan). düğmesi ASM Tablo penceresini etkinleştirir (Şekil 60). Bu tabloda Girişler, Çıkışlar ve mevcut ve sonraki Durumlar derlitoplu (kompakt) ve tablo formunda gösterilmiştir Şekil 60: ASM Tablo penceresi. d-FsM: Menü Komutları Sonlu Durum Makinesi Simülatörünün menüsü kullanıcının uygulamanın bütün işlevlerine erişimini sağlar. Araç çubukları menüde bulunan komutlarının çoğunun bir kopyasını bulundurarak kullanıcı işlemlerini hızlandırır. File Menu – Dosya Menüsü Şekil 61: d-FsM “File“ (Dosya) menüsü. New – Yeni Yeni bir Sonlu Durum Makinesi yaratma komutu. Open – Aç Bir Sonlu Durum Makinesi dosyası açma komutu. Dosya doğrudan bir web sitesinden de indirilebilir. Save – Kaydet Mevcut Sonlu Durum Makinesi dosyasını kaydetme komutu. Save as – Farklı Kaydet Mevcut Sonlu Durum Makinesi dosyasını farklı bir adla ya da başka bir konuma kaydetme komutu. Close – Kapat Mevcut Sonlu Durum Makinesini kapatma komutu. Export VHDL – VHDL’ye Aktar Sonlu Durum Makinesi ASM çizeneğini VHDL diline aktarma (export) komutu. Dahili veritabanından oluşturulmuş eşdeğer VHDL kodunu içeren bir sayfa gösterir (Şekil 62). Şekil 62: VHDL kod penceresi. Oluşturulmuş kodu bir dosyaya kaydetmek isterseniz, ‘Save’ (kaydet) düğmesine tıklayın: dosya kaydolmadan önce bir dosya adı seçmeniz hatırlatılacaktır. Eğer VHDL kodunu başka bir metin dosyası içeriğinde kullanmak isterseniz, ‘Copy’ düğmesine tıklayarak VHDL kodunun tamamını ‘clipboard’a (Pano) geçirip seçtiğiniz herhangi bir editörde yapıştırılmaya hazır duruma getirebilirsiniz. Print – Yazdır Sonlu Durum Makinesi ASM çizeneğini yazdırma komutu. Paper Setup – Sayfa Düzeni Mevcut sayfa biçimi ve yönlendirmesini belirleme komutu. Sayfa Düzeni dialog penceresini görüntüler (Şekil 63). Şekil 63: Sayfa Düzeni dialog penceresi. Recent Files List – Son Kullanılan Dosya Listesi Son kullanılan dosyaları tekrar açma komutu. En çok 8 tane son kullanılan dosya bu listeyle tekrar açılabilir. Dosyanın sol tarafında görünen simgenin anlamı : Bu dosyayı kullanıcı yerel disk ya da ağ üzerinde depolamıştır. Bu dosya bir web sayfasından yüklenmiş, ancak (henüz) yerel disk ya da ağ üzerinde kaydedilmemiştir. Bu dosya, yalnız okunur olarak yerel bir eğitim yazılımından yüklenmiş ancak (henüz) yerel disk ya da ağ üzerine kaydedilmemiştir. Exit – Çıkış Uygulamayı kapatmak için standart komut. Edit Menu – Düzen Menüsü Şekil 64: d-FsM “Edit“ (düzen) menüsü. Undo – Geri Al Önceki işlemi geri alma komutu. (komut geçici olarak ketlenmiştir). Cut – Kes ASM çizeneğinin seçili kısmını panoya kopyalamak üzere kesme komutu (komut geçici olarak ketlenmiştir). Copy Image – İmgeyi Kopyala Seçili öğeyi bitmap dosyası olarak panoya kopyalama komutu. Paste – Yapıştır Pano içeriğini devreye yapıştırma komutu (komut geçici olarak ketlenmiştir). Select All – Tümünü Seç Çizim objesinin tümünü seçme komutu. Define In / Out – Giriş / Çıkış Tanımla Giriş, Çıkış ve Durum Değişkenlerini tanımlama komutu. Kipsel (modal) bir dialog penceresini etkinleştirir (bkz. Şekil 65). Burda kullanıcı Giriş ve Çıkış hatları (en çok 8 tane) ve Durum Değişkenleri (en çok 6) için ekleme, yeniden adlandırma ve silme gibi işlemleri gerçekleştirebilir. Dialog özelleşmiş sayfalara ayrılmıştır (Input, Output and State Vars – Giriş, Çıkış ve Durum Değişkenleri). Şekil 65: Giriş/Çıkış dialog penceresinin üç sayfası, girişleri, çıkışları ve durum değişkenlerini tanımlamakta kullanılır. View Menu – Görüntü Menüsü Şekil 66: d-FsM “View“ (görüntü) menüsü. Zoom In, Out – Yakınlaştır, Uzaklaştır Çizimi ‘yakınlaştır’ ve ‘uzaklaştır’ komutu Property ToolBox – Özellikler Araç Kutusu “Property Window” (Özellik Penceresi) etkinleştirme komutu; kullanıcının Durum Bloğu ya da Koşullu Çıkış Bloğunun özelliklerini belirlemesini ve değiştirmesini sağlar. Bağlama göre dört değişik “property pages” (özellik sayfası) gösterir (Şekil 67). Şekil 67: Özellikler Penceresinin dört sayfası; durum bloğu, koşullu blok ve koşullu çıkış bloklarını tanımlamak için kullanılır. Normal Çizim alanının normal görüntüsünü belirleme komutu. (örn. (örn. yalnız çizim sınırları belli olan, bir örnek ve sürekli bir arka plan). Page Layout – Sayfa Yapısı Çizim alanını sayfa yaprağı gibi yapılandırma komutu (örn. görünür sayfa sınırları ve gölgeleri ve çizim sınırlarıyla birlikte). Tools Menu – Araçlar Menüsü Şekil 29: d-DcS “Tools“ (Araçlar) menüsü. Start Simulation – Simülasyonu Başlat ASM çizeneğinin belirttiği sonlu durum makinesinin işlevsel simülasyonunu başlatma komutu. Simülasyon sırasında, editör komutları ketlenir ve Zamanlama Çizeneği penceresi görüntülenir (Şekil 59). Stop Simulation – Simülasyonu Durdur Simülasyonu durdurma ve ASM çizeneğini düzenleme kipine dönme komutu. Belirtilen yönde objeyi döndürmek için (yerleştirme sırasında) dört komut bulunur. Window Menu – Pencere Menüsü Şekil 69: d-FsM “Window” (Pencere) menüsü. Tile Vertical – Dikey Döşe Açık pencereleri dikey döşeme komutu (görsel editörü -graphic editor-, zamanlama çizeneği, ASM tablosu) Tile Horizontal – Yatay Döşe Açık pencereleri yatay döşe (yukarıdakilerle aynı). Cascade – Basamakla Açık pencereleri diagonal olarak basamaklama komutu (yukarıdakilerle aynı). Arrange Icons – Simgeleri Düzenle Ana pencerenin alt tarafındaki ikonlaştırılmış pencerelerin simgelerini yeniden düzenleme komutu. Opened Windows List – Açık pencere listesi Ana penceredeki açık pencereler arasında odak değiştirme komutu. Deeds Menüsü Şekil 70: d-FsM “Deeds“ menüsü. Switch to Deeds – Deeds’e Geçiş Yap Deeds ana tarayıcısına geçiş yapma komutu. Switch to Last – Sonuncuya Geçiş Yap d-DcS’in mevcut durumda açık olayından ‘en son üstte’ olan bir önceki araca geçiş yapma komutu. Switch to Next – Bir Sonrakine Geçiş Yap Etkin Deeds uygulamaları arasında etkinleştirme zamanına göre sırayla odak değiştirme komutu. Help Menu – Yardım Menüsü Şekil 71: d-FsM “Yardım “menüsü. Index - İçindekiler d-FsM Yardım Sistemini açma komutu (bu sürümde etkisizleştirilmiştir). License Agreement – Lisans Anlaşması Lisans Anlaşmasını görüntüleme komutu. Version Notes – Sürüm Notları Deeds “Sürüm Notları” dosyasını görüntüleme komutu. About – Hakkında d-FsM başlangıç pencere dialoğunu görüntüleme komutu. Deeds: The Micro Computer Emulator – Mikro Bilgisayar Emülatörü d-McE Antik (ve gizemli) Piri Reis haritasından bir görüntü (1513) Giriş Mikro Bilgisayar Emülatörü d-McE ile, kullanıcı assembly dili düzeyinde programlama çalışmaları yapabilir (Şekil 72). d-McE bir CPU; ROM ve RAM bellekleri; paralel I/O kapıları; reset devresi ve basit kesilme mantığı içeren bir kartı işlevsel olarak emüle eder. DMC8 adındaki özel 8 bit CPU eğitimsel gereksinimlerimize uygun olarak ve bilinen ‘Z80-CPU’ işlemcisinin basit bir versiyonunu temel alarak tasarlanmıştır. Şekil 72: Mikro Bilgisayar Emülatörü’nün (d-McE) assembler kod editörü. Tümleşik (entegre) kaynak kodu editörü kullanıcının assembly programlarına girebilmesini sağlar ve basit bir komut assembly programlarını birleştirmesini, bağlamasını ve emüle edilmiş sistem belleğine bunları yüklemesini mümkün kılar. Programlar etkileşimli hata ayıklayıcıda adım adım çalıştırılabilir (Şekil 73). Hata ayıklayıcıda, profesyonel araçlarda olduğu gibi, kullanıcı bu şekilde donanım / yazılım sistemindeki bütün yapıların içeriğini değerlendirebilir. Şekil 73: Mikro Bilgisayar emülatörünün assembler düzeyi hata ayıklayıcısı (debugger). Şekil 74: Mikro Bilgisayar Emülatöründeki emüle edilmiş kart. Basit bir örnek Aşağıdaki ekran görüntülerinde (Şekil 75) d-McE kodunda düzenlenmiş bir assembly programını görebilirsiniz. Kod editörü sentaks vurgulamasını destekler. DMC8 mikroişlemcisi dönüştürme dilinin kodu genel olarak bilinen ‘Z80-CPU’ işlemcisininkiyle aynıdır, ancak bazı yönergeleri, yönerge setini sadeleştirmek ve ‘çizgiselleştirmek’ için çıkarılmıştır. Şekil 75: d-McE’de bir assembly programının düzenleme aşaması. Yardım sisteminde mikroişlemcinin yapısı belgelenmiştir. Kullanıcıya yardım konularını “çok sayfalı” bir pencere olarak sunar (Şekil 76). Yönerge seti kullanıcıya assembly programları yazması konusunda yardımcı olması için ‘on line’ olarak belgelenmiştir (örnekler Şekil 77 ve 78de). Şekil 76: Yardım sistemi tarafından görüntülenen DMC8 “mimarisi. Şekil 77: ‘on line’ yönerge seti belgelerine bir örnek: Aritmetik ve MantıkYönergeleri . Şekil 78: ‘on line’ yönerge seti belgelerine bir örnek: Kaydırma ve Döndürme Yönergeleri. Kullanıcı yazılı kodun doğruluğunu sağlamak istediğinde ya da kodlama tamamlandığına araç düğmesini kullanarak Assembler modülünü başlatabilir. Şekil 79’da hata oluştuğu çubuğundaki takdirde assembling raporuna bir örnek gösterilmektedir (bilinmeyen bir etiket bulunmuştur ve hatalı çizgi küçük bir simge ile gösterilir.) Şekil 79: Assembler modülü kaynak kodundaki bir hatayı rapor ediyor. Kod temizlendiğinde ve herhangi bir sentaks hatası rapor edilmiyor ise, program hata ayıklayıcıda sınanabilir (Şekil 80). Şekil 80: Hata Ayıklayıcı (Debugger) modülü programı, belleği, CPU kayıtlarını, I/O kapılarını test altındayken gösteriyor. Penceredeki ilk ‘pencere gözü’ (pane) CPU dahili kayıtlarını gösteriyor. Örneğin program yürütmesinin bu noktasında, Program Sayacı kaydı 003Ah değerini içerir (aynı zamanda sonuncu pencere gözünde yürütülecek mevcut yönergenin aslında bu adreste olduğu görülüyor). İkinci penceresi bellek içeriklerini görüntülemektedir. Kullanılan bellek konumları vurgulanmıştır: yürütülmekte olan objeye karşılık gelmektedirler. Kullanıcı her bir bellek konumunu manüel olarak değiştirebilir. Üçüncü pencere gözü Giriş / Çıkış kapısı içeriklerini gösterir. Kullanıcı bu kapılarla etkileşimde bulunabilir, yuvarlak düğmelere (kapı ikillerine karşılık gelen) tıklayarak ya da değeri yandaki alana (onluk ya da onaltılık kodlamayla) yazarak giriş değerlerini değiştirebilir. Son pencere gözü kullanıcıya yürütülmekte olan obje kodunu bellekte yüklü olduğu haliyle nümerik formatta (solda) ve assembly kaynak formatında (sağda) gösterir. Öğrenci programı adım adım ya da canlandırmayla –gerçek yürütmeye benzeyen ancak ‘bir insanın okuyabileceği’ hızda- yürütebilir. Bir imleçle testin gereksinimine göre canlandırma hızı ayarlanabilir. Deeds tarayıcıları ve d-McE arasındaki etkileşime basit bir örnek Şekil 81’de laboratuar ödevleri listesi Deeds ana tarayıcısıyla açılmıştır. Öğrenci Mikrobilgisayar kursunun # 4.1 ödevi “Eşzamanlı olmayan dizisel iletişim”i (“Asynchronous serial communication”) yapmak durumundadır. Şekil 81: Deeds ana tarayıcısında açılan laboratuar ödevleri listesi. Link’e tıklandığında ödev Yardımcı’da açılacaktır (Şekil 82a ve 82b). Şekil 82a: Yardımcıda açılan spesifik laboratuar ödevi (ilk kısım). Bu ödevde (Şekil 82a) öğrencinin d-McE’deki paralel kapıları kullanarak eşzamanlı olmayan bilgiyi alıp tekrar iletecek bir program yazmasını istiyoruz. Program verileri serialize ve deserialize edecek işlemi yapmalıdır (SerDes : Serializer/Deserializer = dizisel veriler ve paralel arayüzler arasında verileri dönüştüren bloklar ç.n. kaynak: wikipedia). Aynı zamanda tekrar iletimden önce verilere basit bir kriptografik (şifrelemeyle ilgili) yöntem uygulanır. Ödevde dizisel veri paketinin (standart 8 bit eşzamanlı olmayan dizisel iletişim, eşlik denetimi (parity control) yapılmadan) formatı betimlenmektedir. Bu protokol, başlangıç bitini ‘1’de, sekiz veri bitini b7..b0 (b7 önde), ‘0’da durma bitini önizler. Düşük bir bit hızında (saniyede 100 bit) tanımlanmıştır, böylece kullanıcının basit görevlere konsantre olması ve zamanlama problemleriyle uğraşmaması sağlanır. Metinin devamında, kullanıcıya giriş ve çıkış seri hatlarını giriş ve çıkış kapılarındaki (INPORT ve OUTPORT) spesifik bitlere bağlaması önerilir. Bu basit kriptografik işlem, programın önceden iletilen byte’ı hatırlaması ve bir byte-wise EXOR işleminde şimdiki alınanla birleştirmesini gerektirir. Şekil 82b: Yardımcıda açılan spesifik laboratuar ödevi (ikinci kısım). Konu olası bir çözüm için yönergelerle devam eder bu sırada öğrenci, laboratuarın bu noktasında, ilk kez bu tip problemlerle karşılaşmaktadır (Şekil 82b). Deeds, spesifik linke tıklanarak çözüm için bir örneğe ulaşılmasını sağlar. Otomatik olarak yüklenerek d-McE’nin kaynak kodu editöründe açılacaktır (Şekil 83). Alışıldığı üzere, bu yaklaşım kullanıcının ‘gerçek anlamda’ uğraşlarına başlaması için yapması gereken işlemleri sadeleştirir. Şekil 83: Mikro Bilgisayar Emülatörü, web sayfasından bir tıklamayla açılır. Editör, eğitim yazılımı sitesinden indirilen çözümün bir örneğini göstermektedir. Editör sayfasının üstündeki simgeye dikkat ediniz: . Bu durumda, simge dosyanın web’den indirildiğine işaret eder. Kullanıcı bunu yerel diske kaydettiğinde simge halini alacaktır. Programın assembly kodlaması tamamlandığında öğrenci derlemeyi yapacaktır. Hiçbir sentaks hatası bulunmadığı takdirde programın işlevselliğinin sağlaması başlayabilir (Şekil 84). Şekil 84: d-McE’deki etkileşimli hata ayıklayıcısında programın sınanması : kullanıcıya bir Uyarı gönderilmiştir. Şekil 84’te program öğrenci tarafından ‘Canlandırılır’, örn. otomatik olarak adım adım ‘bir insanın okuyabileceği’ hızda yürütülür. Hız araç çubuğunda görünen imleç tarafından denetlenir (“Animation Speed” , Canlandırma Hızı) Bu örnekte hata ayıklayıcı tarafından tipik bir uyarı mesajı oluşturulmuştur. Herhangi bir gerçek durumda, eğer bir kapı donanım adresi program kodunda doğru olarak örneklenmemişse, sonuçta beklenmedik olaylarla karşılaşılınır. Öğrenen kişinin gözünden sistemde gerçekte ne olduğunu anlamak oldukça güç olabilir. d-McE hata ayıklayıcısı, pek çok yaygın hatayı bularak öğrenciye istenmeyen sonuçlar oluşmadan ve programın hatalı davranışının anlaşılmasını karmaşık hale getirmeden önce rapor eder. Mevcut durumda (Şekil 84), işlemci OUT yönergesini adres 011Dh’de yürütmelidir. Ancak yönerge tarafından örneklenen adres 35h’deyken bu adrese yanıt verecek herhangi bir kapı belirlenmemiştir. Bu durumda öğrencinin elinde iki olasılık vardır: editöre dönerek kaynak kodunu değiştirmek ve kart kurulumuyla (board setup) uyumlu hale getirmek ya da kart kurulumunu değiştirmek. Kart kurulumunu değiştirmek için, örneğin, “I/O Ports Address Decoding” (I/O kapıları adres kod çözümü) dialog penceresini port pane’e sağ tıklayarak etkinleştirmek mümkündür. (Şekil 85). Şekil 85: Port adresleri “I/O Ports Address Decoding” dialog penceresinden değiştirilebilir. Gerçek duruma benzeyen başka bir olasılık, yürürlükteki d-McE “sayfa”sına geçiş yapmak ve şekil 74’te görüldüğü gibi fiziksel kartı izlemektir. Şimdi fareyle tıklayarak donanım adres kod çözümünü sağlayan ‘dip-switches’ adresine geçiş yapmak (toggle) mümkündür (Şekil 86). IA, IB, IC ve ID kartın üzerinde bulunan dört paralel giriş kapısının adresleridir; OA, OB, OC and OD de bu dört çıkış kapısıdır. Şekil 86: Port adresleri simüle edilen ‘on board’ (kart üstündeki) dip switch’lerine fareyle tıklayarak değiştirilebilir. Tamamlandığına, öğrenci raporu derlemeli ve teslim etmelidir. Rapor için bir şablon dosyası ödev sayfasında bulunmaktadır (bkz. Şekil 87). Şekil 87: Öğrenci rapor şablonunu yükleyerek derleme ve teslim etme işlerini hızlandırabilir. Bu durumda, şablon öğretmenin işini kolaylaştırmak adına rapor stillerinin bir örnek olması için yalnızca bir başlık içermektedir (Şekil 88). Şekil 88: Web sayfasından sağlanan, öğrencinin indirebileceği basit şablon. Bir sonraki şekilde, tam bir rapor örneği görüntülenmektedir (Şekil 89). Şekil 89: Öğrencinin ‘final’ raporunun bir kısmı. d-McE: Menü Komutları Mikro Bilgisayar Emülatörünün menüsü kullanıcının uygulamanın bütün işlevlerine erişmesini sağlar. Araç Çubukları kullanıcı işlemlerini hızlandırmak için menüde bulunan komutların çoğunun bir kopyasını içerir. File Menu – Dosya Menüsü Şekil 90: d-McE “File“ (dosya) menüsü. New – Yeni Yeni (boş) kaynak dosyası yaratma komutu. Eğer bir veya daha fazla boş olmayan dosya halihazırda editörde ise, yeni bir editör sayfası yaratılır. Open – Aç Bir kaynak dosyasını açma komutu. Eğer bir veya daha fazla dosya zaten editördeyse, yeni bir editör sayfası yaratılır ve de dosya bu sayfada açılır. Dosya doğrudan bir web sayfasından da yüklenebilir. Save – Kaydet Yürürlükteki kaynak dosyasını kaydetme komutu. Save as – Farklı Kaydet Yürürlükteki kaynak dosyasını farklı bir adla ya da başka bir konuma kaydetme komutu. Print – Yazdır Kaynak dosyasını yazdırma komutu. Recent Files List – Son Kullanılanlar Listesi Son kullanılan dosyaları açma komutu. En çok 8 son kullanılan dosya bu listeden açılabilir. Dosya adının sol tarafında görüntülenen simgelerin anlamları: Bu dosyayı kullanıcı yerel disk ya da ağ üzerinde depolamıştır. Bu dosya bir web sayfasından yüklenmiş, ancak (henüz) yerel disk ya da ağ üzerinde kaydedilmemiştir. Bu dosya, yalnız okunur olarak yerel bir eğitim yazılımından yüklenmiş ancak (henüz) yerel disk ya da ağ üzerine kaydedilmemiştir. Exit – Çıkış Uygulamayı kapatmak için standart komut. Edit Menu – Düzen Menüsü Şekil 91: d-McE “Edit“ (düzen) menüsü. Undo – Geri Al Önceki işlemi geri alma komutu. (Komut geçici olarak ketlenmiştir). Cut – Kes Metinin seçili kısmını panoya kopyalamak üzere kesme komutu (komut geçici olarak ketlenmiştir). Copy – Kopyala Metinin seçili kısmını panoya kopyalama komutu. Paste – Yapıştır Panodan metini yapıştırma komutu Delete – Sil Metinin seçili kısmını silme komutu. Select All – Tümünü Seç Metinin tümünü seçme komutu. Find – Bul Editörde açılmış bir metin dosyasındaki dizgeleri aramak için standart komut. Project Menu – Proje Menüsü Şekil 92: d-McE “Proje“ menüsü. Assemble – Birleştir Editörde açılan assembly kaynağını editörde derleme komutu. Informations - Bilgiler Önceki derleme işleminin istatistiki bilgilerini gösterme komutu. “Source Info” (Kaynak Bilgileri) dialog penceresini görüntüler (Şekil 93). Şekil 93: “Source Info” (Kaynak Bilgileri) dialog penceresi. I/O Ports Address Decoding – I/O Kapıları Adres Kod Çözümü “I/O Ports Address Decoding” (I/O kapıları Adres Kod Çözümü) dialog penceresini görüntüleme komutu. Kullanıcının Giriş / Çıkış kapılarının adreslerini belirlemesini sağlar (Şekil 94). Şekil 94: “I/O Kapıları Adres Kod Çözümü” dialog penceresi. Emülasyon Menüsü Şekil 95: d-McE “Emülasyon“ menüsü. Animate – Canlandır Hata Ayıklayıcısının programın yürütülmesini “Canlandırma” komutu. Pause – Duraklat Hata Ayıklayıcısının “Canlandırma”yı duraklatma komutu. Step – Adım At Hata Ayıklayıcısının bir yönergeyi (Program Sayacı tarafından işaret edilen) yürütme komutu. Step Over – Üstünden Adım At Bu hata ayıklayıcısı komutunun etkisi bir öncekiyle (Adım At) aynıdır, yalnızca CALL yürütümü için bir istisna söz konusudur. Program Sayacı bir CALL yönergesine işaret ettiğinde, Step Over komutu ona karşılık gelen RET (return) yönergesi bulunana dek programın yürütümünü zorlar. Reset Board – Kartı Yeniden Başlat Hata Ayıklayıcının, Donanım Yeniden Başlat (Hardware Reset) etkisini simüle etmek için komutu. Interrupt Request – İsteği Kes Hata Ayıklayıcının ‘İsteği Kes’ etkisi yaratmak için komutu. Partial Timer Reset – Kısmi Zaman Sayacını Yeniden Başlat Hata ayıklayıcının ‘Kısmî’ saat döngüsünü yeniden başlatmak için komutu. Deeds Menüsü Şekil 96: d-McE “Deeds“ menüsü. Switch to Deeds – Deeds’e Geçiş Yap Deeds’ ana tarayıcısına geçiş yapma komutu Switch to Last – Sonuncuya Geçiş Yap d-McE’nin açık olan durumuna geçiş yapmadan önceki ‘en son üstte olan’ araca geçiş yapma komutu. Switch to Next – Bir Sonrakine Geçiş Yap Tüm etkin Deeds uygulamaları arasında etkinleştirilme sırasına göre geçiş yapma komutu. Options Menu – Seçenekler Menüsü Şekil 97: d-McE “Options“ (seçenekler) menüsü. Configuration – Yapılandırma Uygulama yapılandırmasını değiştirme komutu (bu sürümde etkisizleştirilmiştir). , View Menu – Görüntü Menüsü Şekil 98: d-McE “View“ (görüntü) menüsü. Assembler Output – Çevirici Çıkışı “Assembler Output” iletisini gizleme / gösterme komutu (altta). Directory browser – Dizin Tarayıcısı Dizin tarayıcısını gizleme / gösterme komutu (ana pencerenin sol tarafında). Symbol Table – Simge Tablosu Çevirici (assembler) Simge Tablosu penceresini gizle / göster komutu (Şekil 99). Şekil 99: Simge Tablo penceresi. Registers – Kayıtlar Kullanıcı kayıtlarının sayısal formatını değiştirme komutu (onaltılı ya da onlu). Object Code – Obje Kodu Hata ayıklayıcının Object Code (obje kodu) pencere gözünün görüntüsünü değiştirme komutu (Derlitoplu ya da Genişletilmiş Görünüm). Help Menu – Yardım Menüsü Şekil 100: d-McE “Help“ (yardım) menüsü. Index - İçindekiler d-McE Yardım Sistemini açma komutu (bu sürümde etkisizleştirilmiştir). DMC8 Short Guide – DMC8 Kısa Rehber DMC8 kısa programlama rehberini açma komutu. License Agreement – Lisans Anlaşması Lisans Anlaşmasını görüntüleme komutu. Version Notes – Sürüm Notları Deeds “Sürüm Notları” dosyasını görüntüleme komutu. About – Hakkında d-McE başlangıç pencere dialoğunu görüntüleme komutu. DMC8 Yönerge Seti Bu bölümde DMC8 mikroişlemcisinde uygulamaya konan tüm yönergeler listelenmiştir. Load Instructions – Yükleme Yönergeleri (8 bit) Load Instructions – Yükleme Yönergeleri (16 bit) (ilk kısım) (devamı aşağıda) Load Instructions – Yükleme Yönergeleri (16 bit) (ikinci kısım) Aritmetik ve Mantık Yönergeleri (8 bit) Arithmetic Instructions – Aritmetik Yönergeleri (16 bit) CPU Control Instructions – CPU Kontrol Yönergeleri Jump Instructions – Atlama Yönergeleri Call and Return Instructions – Arama ve Geri Dönüş Yönergeleri Rotate and Shift Instructions – Döndürme ve Kaydırma Yönergeleri Bit Handling Instructions – Bit İşleme Yönergeleri Input and Output Instructions – Giriş ve Çıkış Yönergeleri DMC8 Yönergeleri (alfabetik sırada) Bütün olası varyasyonlar göz önüne alındığında, yönergeler 659dur. DMC8 Yönergeleri (sayısal sırayla) Ek: Deeds önemli sürüm notları (Notlar tarih olarak yeniden eskiye göre dizilmiştir). 20 - 01 - 2004 d-McE • • • “Save As” (Farklı Kaydet) komutundaki bir hata (bug) giderilmiştir : şimdi, ‘Save As’ standart dialoğundaki ‘cancel’ (iptal) düğmesine basıldığında yürürlükte olan kapanma işlemi beklendiği gibi durdurulur. RRCA yönergesinin yürütümü düzeltilmiştir. Ekran kartı ayarı düşük çözünürlükte bulunan bilgisayarlarda “I/O Port Address” dialoğu görünmemekteydi. Problem düzeltilmiştir, dialog her zaman ana pencerenin merkezinde görünmektedir. 11 - 11 - 2003 Deeds, d-AsT • Artık, Deeds’in yeni bir versiyonu kurulduğunda, Deeds sürümleri arasında kafa karışıklığı olmaması için tarayıcı ana sayfaları varsayılanlara ayarlanmaktadır. Bununla beraber, kullanıcının önceki ana sayfası kayıp değildir: ‘açık’ pencerede, açılmış sayfaların tarih listesinde bulunmaktadır. d-DcS • • • • • Sonlu durum makinesinin simülasyonundaki bir hata düzeltildi (FSM Reset girişi zaman=0’da etkinleştirildiğinde ağın gerçekleştirdiği davranış). Artık, ‘etkileşimli’ simülasyonu başlattığınızda, giriş anahtarları atanan isimlerine göre başlamaktadır: ‘timing’ simülasyon kipinde olduğu gibi, başlangıç değeri eğer isim ‘aktif düşük’ sinyal gösteriyorsa (örn. isim olumsuzlandıysa), ‘bir’e ayarlanacaktır. Sonuçta, örneğin (düşük etkinleştirilmiş) bir yeniden başlatmaya gereksinim duyan bütün bileşenler artık ilklendirilmemiş (un-initialized) olarak başlayacak ve kullanıcı onları açıkça sıfırlamadığında ‘bilinmeyen’ çıkışlar gösterecek. ‘Etkileşimli’ simülasyondan çıktığınızda bütün girişler ve çıkışlar varsayılan durumlarına geçeceklerdir. Artık ‘zamanlama’ simülasyonu sırasında, editördeki devre giriş ve çıkış değerlerini simülasyon sonuçlarıyla tutarlı olarak göstermektedir. Editördeki devrenin giriş/çıkış durumunu her simülasyon aşamasından önce ve sonra gözlemleyebilirsiniz. Artık decreyi yazdırdığınızda ya da panoya imge olarak kopyaladığınızda, ortaya çıkan resim, editörde o sırada görüntülenen giriş/çıkış değerleriyle tutarlıdır. Simülasyon için maksimum süre düzeltildi, artık 32678 nS. ‘yle sınırlı değil. d-FsM • • Artık, zamanlama simülasyonu penceresi simge haline getirildiğinde ve simülasyon kapatıldığında, çubuk düğmelerinin seçilir hale gelmesi ve güncellemelerinin yapılması düzeltildi. Artık, simge durumunda ya da ekranı kaplar boyutta olduğunda kullanıcı editör ve zamanlama pencerelerini kaparsa, mevcut durumdaki değil de ‘normal’ boyutları kaydedilmektedir. Bu şekilde kullanıcı pencereleri tekrar açtığında ‘normal’ durumlarında ekrana gelecekler. Düzeltme ekrandaki pencerelerin kırpışmasını ve yanıp sönmesini azaltmak için yapıldı. 04 - 11 - 2003 d-DcS • Kod çözücü bileşenlerinin simülasyonundaki bir hata düzeltildi. d-McE • • Hata ayıklayıcıda OBJECT CODE (obje kodu) çerçevesinde, bellek ‘extended view’ (genişletilmiş görüntü) komutu düzeltildi: artık bu kipteyken tüm mikro işlemci bellek alanı gösterilmekte. On-line Yardımda ASCII tablosu sayfası, düzeltildi. 15 - 10 - 2003 d-McE • • • • • • • Deeds’e yeni bir simülasyon aracı eklendi: Mikro-Bilgisayar Emülatörü (d-McE) İşlevsel olarak emüle edilen kart bir CPU, ROM ve RAM belleği, paralel I/O portları, sıfırlama devresi ve basit kesme mantığı içeriyor. Özel 8 bit CPU (adı DMC8) eğitim gereksinimlerimizi karşılamak için üretildi ve yapımında ünlü işlemci ‘Z80’in sadeleştirilmiş bir versiyonu temel alındı. d-McE bir Kod Editörü, bir Assembler (çevirici) ve makine-düzeyinde etkileşimli Hata Ayıklayıcıyı birleştirmektedir. Tümleşik kaynak kodu editörü kullanıcıya assembly programlarına giriş sağlar ve basit bir komutla emüle edilmiş sistem belleğinde bunları birleştirmek, bağlantılamak ve yüklemek mümkündür. Programların yürütümü etkileşimli hata ayıklayıcısında adım adım yapılabilir, burada kullanıcı donanım/yazılım sistemindeki bütün yapıları gözlemleyebilir. Şu ana dek bu araç ve Deeds bütünleşmesi tamam değildi: kart (henüz) d-DcS’ye yerleştirilemez. d-DcS • • • Simülasyon çekirdek kodu tamamen gözden geçirildi ve kodu yürütülebilir (executable) ile bağlantılanabilir. Mevcut sürüm, önceki sürümlerde ihtiyaç duyulan ActiveX kurulumunu gerektirmez, böylece karmaşık bileşenlerin simülasyonundaki bazı hatalar düzeltilmiştir. Seçili öğelerin silinmesi (Delete) komutu düzeltildi. Başka bazı ufak tefek hatalar düzeltildi. 11 - 07 - 2003 d-FsM • • • • • • Artık d-FsM aracı sonlu durum makinesini VHDL biçiminde dışa aktarabilmektedir. Bu komut ‘File’ (dosya) menü öğesinde bulunuyor. Kullanıcı VHDL kodunu görüntüleyebilir, panoya kopyalayabilir veya bir metin dosyasında kaydedebilir (‘.vhd’). ‘State at Reset’ (ilk durum), durum bloğunun sol-üstündeki küçük bir karoyla vurgulanmıştır. Bir başlangıç durum bloğu onaylanır (örn. üzerinde bağlantı olmayan bir durum ‘başlangıç durumu’ olarak, ya da FSM’yi kullanılmayan durumlardan ‘güvenli’ bir duruma doğru sürmek için kullanılır.) Görsel editör kökten değiştirilmiştir. Artık bloklar ve çizgiler diğer blokların ya da çizgilerin üzerinden yerleştirilemiyor: bu gerektiğinde editörde kırmızı bir ‘reddedildi’ sinyaliyle vurgulanır. Artık ‘Seçim’ dikdörtgeninin boyutu değiştirilebiliyor, ‘tutma noktaları’ fareyle dört tarafa hareket ettirilebilir. ‘Çizim ızgarası’nı göstermek/gizlemek (bu komut ‘View’ (görüntü) menü öğesinin altındadır) artık mümkün. Editörde kullanıcı yeni Yakınlaştırma komutlarını kullanabilir; ASM çizeneklerinin düzenlenmesini kolaylaştırırlar (komutlar ‘View’ (görüntü) menü öğesinin altında ve araç çubuğundadır). • • • • • • Editörün yeni bir özelliği çizgilerin yerleştirilmesinin, taşınmasının ve düzenlenmesinin kontrolüne izin verir. Bu özellik çizgileri yerleştirilme, taşınma ya da düzenleme sırasında otomatik olarak keser (ya da birbirine bağlar). Bu ölçütler çizgi parçalarını yalnızca noktalarından birbirine bağlar. Bu şekilde çizgilerin arasındaki yanal (T şeklinde) bağlantıyla ilgili hatalar düzeltildi. ‘Yeni yaratılan’ duruma otomatik olarak kodu atayan algoritma değiştirildi. Artık ilk kullanılmayan kodu duruma (bulunan en düşük koddan denetleyerek) atıyor. Eğer hiçbir durum silinmediyse, bu işlem kipi yukarı düzende kod atamaya eşdeğerdir. Eğer bir durum silindiyse, kodu tekrar kullanılacaktır. Eğer kod değeri artık kullanılabilir değilse, kullanıcı yeni bir durum bloğu yerleştirmeye çalışırken durum kaydına başka bir değişken eklemesi konusunda uyarılacaktır. ASM bloklarının ve çizgilerinin eklenmesi, taşınması ya da düzenlenmesi sırasında kullanıcı <escape> tuşuna basarsa, yürürlükteki işlem otomatik olarak durdurulur. <delete> tuşu artık yalnızca ‘key-down’ (tuşa basıldığında) işlemektedir, tuş bırakıldığında (key up) çalışmıyor (tüm Windows uygulamalarına bu davranışı uyumlandırır). IN/OUT dialoğunda, <Return>e basıldığında duyulan bıkkınlık verici bip sesi artık yok; ayrıca aynı dialogda artık, beklendiği gibi, sekizinci Giriş (ya da Çıkış) düzenlenebiliyor. Artık giriş sinyali olmayan bir FSM tasarlamak mümkün (örneğin, basit bir ikili sayaç). d-DcS • Önceki sürümde, yeni bir Sonlu Durum Makinesi yaratmak istediğinizde çıkan ileti dialoğunda ‘iptal’e tıklandığında d-DcS’i askıya alıyordu. Bu sorun düzeltildi. 13 - 05 - 2003 d-FsM • • • • • • • • İkiden fazla koşullu bloğun ‘Döşeli’ bağlantısı artık programı askıya almıyor: bu hata düzeltildi. Artık program koşullu bloklar alakasız bir şekilde bağlansa da düzgün işlemeye devam ediyor. Programın algoritmasında optimizasyon yapılarak program hızlandırıldı (örn. büyük bir çizim söz konusu olduğunda). Özellikler penceresi artık tüm ekran çözünürlüklerinde doğru gösteriyor. Artık kullanıcı görünürlüğünü kontrol edebilir ve görünürlük çalışma oturumları arasında hatırlanır. In/Out dialoğu artık çalışma oturumları arasında, en son açılan sayfayı hatırlıyor. Zamanlama penceresi artık herhangi bir simülasyon açılmadığında kullanıcıya sormuyor, onun yerine program, verilerin yitirilmesi söz konusuysa, kullanıcıya “clear diagram” (çizelgeyi sil) isteğini sorgulatıyor. Durum bloklarında ve koşullu bloklarda çıkış isimlerinin çizimi geliştirildi. İki çizgi halinde soldan sağa doğru görüntüleniyorlar. Eğer bir çıkış adı alan yokluğundan görüntülenemiyorsa sonuncudan sonra ikinci çizgide (satırda?) bir ‘+’ işareti görünerek kullanıcıya bloğa daha fazla çıkışın atandığını ancak görüntülenemediğini bildirmektedir. Zaten, kullanıcı ilgilendiği bloğun üzerine fareyi getirdiğinde çıkış listesinin tamamı altta durum çubuğunda görünür duruma gelir. Çizgiler üzerindeki okları gösteren algoritma geliştirildi ve ok şekli değiştirildi. Karar bloklarındaki giriş adının çizimi yatay olarak ortalandı. d-DcS • FSM bileşenlerindeki giriş ve çıkış pin isimleri geliştirildi. ‘Uzun’ isimlerin üst üste gelmesini engellemek için, uzun isimler kısaltıldı (görüntü düzeyinde). 24 - 02 - 2003 d-AsT • Yardımcı Tarayıcıyı yüklerken sayfada ortaya çıkan küçük bir hata düzeltildi. 20 - 02 - 2003 Bütün • • Deeds ve Assistant browsers (Yardımcı Tarayıcılar) geçerli hale getirildi ve Deeds öğrenim materyalini ‘çalıştırmak’ için özelleştirildi (düzgün HTML sayfaları halinde). İşlem sırasında bu tarayıcılar bir dersin (ya da laboratuarın) otörünün HTML sayfası ve setteki her bir Deeds aracı arasındaki etkileşimi geçerli hale getirmek için HTML sayfasına eklediği Deeds Komutları denilen komutların kodlarını çözer. Artık bir dosyayı internetten indirmek ve açmak mümkün. Bu komut kullanıcı etkin bir linke tıklayarak bir dosyayı açmak istediğinde Deeds tarayıcısı tarafından sürülme niyetindedir. Deeds • • • Artık bir Araç çalıştırıldığında “Başlangıç Sayfası” yalnızca ilk defada görüntüleniyor. Deeds’i Uygulama Çubuğu’ndan çalıştırdığınızda ortaya çıkan ‘Çifte çalıştırma’ sorunu çözüldü. Hata ayıklamayla ilgili nedenlerden dolayı “hard close” (hard close: uygulama yalnızca aç tuşuyla tekrar açılabilir ç.n.) komutu eklendi. Gerekirse Deeds ana uygulamasını (diğer araçları kapamadan) kapayıp, olağan “File/Close” komutunu aynı anda <Shift> ve <Control> tuşlarına basarak etkinleştirebilirsiniz. d-DcS • • • • Artık Zamanlama Çizeneği penceresi yürürlükteki zamanlama simülasyon kipini gösteriyor (şu ana kadar geçerli durumdaki kipler: Incremental Interactive Simulation (Artımlı Etkileşimli Simülasyon) kipi [IIS] ve Timing Interval Simulation (Zamanlama Aralık Simülasyon) kipi [TIS].) Artık bir dosyayı internetten indirmek ve açmak mümkün. Bu komut kullanıcı etkin bir linke tıklayarak bir dosyayı açmak istediğinde Deeds tarayıcısı tarafından sürülme niyetindedir.ü Simülatörün uyarı iletileri, gerektiğinde liste halinde (canlandırma kipindeyken) ana pencerenin alt kısmında, ya da (zamanlama kipindeyken) zamanlama çizeneği penceresinin alt kısmında görüntüleniyor. Bu şekilde, daha önce dialog kutularında gösterilen iletiler kullanıcıya daha kolay ulaşır. Son durum çubuğu iletisi artık çubuğun üzerinde mouse’la geçerken görüntüleniyor. Zamanlama Çizeneğinde, belirli bir işarete bağlı olarak geçişlerin vurgulanması geliştirildi. Belirli bir işarete karşılık gelen düğmeye tıklayarak dört vurgulama modu arasında geçiş yapabilirsiniz: a) dikey çizgiler; yalnızca 0→1 geçişlerinde b) dikey çizgiler; yalnızca 1→0 geçişlerinde c) dikey çizgiler; bütün geçişlerde d) vurgu yok. d-FsM • FSM dosyalarını dosya yöneticisinden Sürükleme ve Bırakma işlevi geçerli hale getirildi. 10 - 05 - 2002 d-DcS • Sonlu Durum Makinesi bileşenleri tamamlanmadığında d-DcS’de yüklenemiyordu. Bu çok ciddi bir sorun olmamakla beraber bazı durumlarda dosyanın tamamlanmadığını anlatan mesaj görünmüyordu. Bu sorun düzeltildi. d-FsM • Yazdır komutu düzeltildi, ASM çizelgelerini sayfaya yazdırmak artık mümkün. * Bazı file/save (dosya/kaydet) file/open (dosya/aç) hataları düzeltildi. * Dosya “Kaydet” komutları otomatik dosya yedeklemeyle tamamlandı: örn. dosyayı dosyaadı.fsm olarak kaydetmeden önce, eğer dosyanın önceki versiyonu varsa, bu dosyaadı.”fsm” olarak tekrar adlandırılıyor. * File/Close (dosya/kapat) komutu düzeltildi: artık herhangi bir dosya açık değilken işlevsel değil. * Bilinen bir problem henüz düzeltilmedi: bazı koşullar altında ‘büyük boyutlu’ ASM çizelgeleri pencerenin tekrar boyanması sırasında hissedilebilir bir yavaşlama gösteriyor. 22 - 03 - 2002 d-DcS • • • • • • • • • • • • • • Artık taslak editöründe bileşenlerin etiketlenmesi yalnızca Giriş/Çıkış bileşenleri için geçerli. Başka bir tip bileşeni etiketleme denemesi, pencerenin durum çubuğunda bir hata mesajının ortaya çıkmasıyla sonuçlanır. Giriş/Çıkış bileşenleri etiketlerinin üzerine etiket dizgisinin önüne bir ‘!’ yerleştirerek bir olumsuzlama çubuğu belirleyebilirsiniz. Editör aynı zamanda başta olan ‘/’ veya ‘\’ da kabul eder ancak ‘!’ tercih edilmelidir. Dahası, artık olumsuzlama çubuğu aynı zamanda, zamanlama çizeneği penceresindeki sinyal adının üzerinde de görüntülenmektedir. Sonlu Durum Makinesi bileşenlerinin çizimi (kısmen) “aşağı” ve “yukarı” yönelimli bileşenler için düzeltildi. Bu düzeltmeden önce giriş ve çıkışların görüntülenen adları yanlış konuyordu. Zaten, Sonlu Durum Makinesinde “aşağı” ve “yukarı” yönelimli bileşenler kullanılmamasını öneriyoruz, çünkü isim dizgileri kolaylıkla çakışabilir. Zamanlama Çizeneği’nde, artık sinyal adları düzgün oymalı ve renkli “düğmeler” şeklinde ve olumsuzlama sinyali yukarı-çizgili görünmektedir. Belirli bir sinyalin geçişini isim düğmesine tıklayarak vurgulayabilirsiniz (bu şekilde, sinyalin geçişlerini simülasyon altındaki ağ ile bağdaştırabilirsiniz). Eğer fareyle bir sinyal adına sağ klik yaparsanız, bağlam (context) menüsünü etkinleştirirsiniz. Örneğin, saat periodunu ve saat girişleri için başlangıç değerini değiştirebilir, olağan giriş sinyalleri için başlangıç değeri belirleyebilirsiniz. Zamanlama Çizeneğinde, simülasyon ve/veya sinyal düzenlemesini “Time Stop” imlecini bırakmadan etkinleştirmek engellenmiştir, böylece imlecin kaybolduğu hata ortadan kalkar. “F8” kısayolu yalnızca Zamanlama Çizeneği Simülasyon kipini belirlemiyor, aynı zamanda Zamanlama Çizeneği penceresini en üste yerleştiriyor. Bunun yerine, artık eğer Zamanlama Çizeneği penceresi üstteyse, F8 kısayolu ana pencereyi tekrar en üste getiriyor. Zamalnlama çizeneğindeki imleçler olarak kullanılan dikey çizgilerin tekrar çizimindeki sorun giderildi (önceden düğmelerin “ipucu” mesajları görüntülendiğinde ve fare ekrandan uzaklaştığında ekranda bazı çizgi parçaları kalıyordu). Zamanlama simülasyonu etkinleştiğinde, devrenin düzenlenmesi engellendi (“out of bound” (sınır dışında) hatası giderildi). Simülasyondan önce uygulama kullanıcıya devre dosyasını, eğer dosyada değişiklik yapıldıysa, kaydetmek isteyip istemediğini sorar. Dahili “simülasyon döngüsü” geliştirilerek zamanlama simülasyonu hızlandırıldı. Artık simülasyonu sonuçlanmasını uzun süre boyunca beklemek zorunda kalmadan Stop düğmesine basarak yarıda kesebilirsiniz. Kesme işlemini onaylamanız istenecektir. Uzun simülasyonlar sırasında, durum çubuğunun üzerinde işin yüzdesi –alt taraftagörüntülenir. Sonlu Durum Makinesi simülasyonu düzeltildi ve geliştirildi: artık, beklendiği gibi simülasyon başlangıcında, durumu Reset sinyali etkinleştirilene kadar “tanımsız” kabul ediliyor. Ancak, kullanılan modeldeki sınırlamalar yüzünden, şu ana kadar çıkışlar girişlerdeki koşulları göz önüne almadan hep “bilinmez” olarak kabul ediliyordu. d-FsM • • Artık, uygulama pencerelerini ekranı kaplar haldeyken kapattıktan sonra, doğru biçimde geri yüklemek mümkün. Bazı komutların açık pencerelerin yokluğunda etkinleştirildiklerinde yarattıkları hatalar artık yok. • • • Bazı hata mesajları düzeltildi, bazıları İngilizceye çevirildi. Yazdır komutu yazdırma modülündeki büyük çapta bir düzeltme yapılana kadar geçersiz hale getirildi. Bazı ufak tefek hatalar düzeltildi. Deeds • Ana tarayıcı hala tamamen kullanıma hazır değil, ancak Deeds Web Sitesi’ne giden bir link demo sayfasına eklendi. 01 - 03 - 2002 d-DcS • • • Zaman Çizeneğinin yürürlükteki görüntüsünü panoya kopyalama özelliği eklendi. Artık, Zamanlama Çizeneği’nde belirli sinyallerin geçişlerini düğmesine tıklayarak vurgulayabilirsiniz; bu şekilde zamanlama çizeneği ve simülasyondaki ağın geçişlerini bağdaştırabilirsiniz. Bazı ufak tefek hatalar düzeltildi. 22 - 02- 2002 (and before) • Dahili beta test sürümü yayımlandı.