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ı.

Benzer belgeler