Proje #2 - Lojik Devre Benzetimi

Benzer belgeler
KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLM209 PROGRAMLAMA LAB. I PROJE 3 PROJE SÜRESİ:

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

SAYISAL UYGULAMALARI DEVRE. Prof. Dr. Hüseyin EKİZ Doç. Dr. Özdemir ÇETİN Arş. Gör. Ziya EKŞİ

DENEY FÖYÜ8: Lojik Kapıların Elektriksel Gerçeklenmesi

2. HTML Temel Etiketleri

Seri Takibi Yenilikleri

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ SAYISAL ELEKTRONİK LABORATUVAR DENEY RAPORU

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

IML-322 İMALATTA OTOMASYON Bahar Yarıyılı. Lab Uygulaması-3

DENEY 5: KOD DÖNÜŞTÜRÜCÜLERİN TASARIMI

Deney 7: Aritmetik ve Lojik İşlem Birimi(ALU)

PROGRAMLAMAYA GİRİŞ DERSİ II. ÖDEVİ

İNTERNET PROGRAMCILIĞI - II

IML-322 İMALATTA OTOMASYON Bahar Yarıyılı. Deney 3

1. Web Sitesine Giriş 1. Giriş Yapmak için tıklayın tıklanır.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Elbistan MYO Güz Dönemi Öğr.Gör. Murat KEÇECİOĞLU

4. Bölüm Programlamaya Giriş

Deney 8: ALU da Aritmetik Fonksiyonlar

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

T.C. DÜZCE ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BMT103 ELEKTRİK DEVRE TEMELLERİ DERSİ LABORATUVARI DENEY NO: 4

Güz Y.Y. Lojik Devre Laboratuvarı Laboratuvar Çalışma Düzeni

NECMETTİN ERBAKAN ÜNİVERSİTESİ MÜHENDİSLİK MİMARLIK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY FÖYÜ

5. LOJİK KAPILAR (LOGIC GATES)

1. PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR PROGRAMLAMA MATLAB

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

ANKARA ÜNİVERSİTESİ GAMA MESLEK YÜKSEKOULU

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ SAYISAL TASARIM LABORATUVARI DENEY RAPORU. Deney No: 3 TTL Entegre Karakteristiği

Internet Programming II

Fen ve Mühendislik Uygulamaları ile MATLAB

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM223 SAYISAL MANTIK TASARIMI : QUARTUS II TASARIM ORTAMI: TEMEL VHDL KULLANIMI

ENROUTEPLUS TA YAPILMASI GEREKENLER

BİL-142 Bilgisayar Programlama II

1. Temel lojik kapıların sembollerini ve karakteristiklerini anlamak. 2. Temel lojik kapıların karakteristiklerini ölçmek.

NETSİS PAKETLERİNİ ORTAK UYGULAMA İLE ÇALIŞTIRMA

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

BLM 210 PROGRAMLAMA LABORATUVARI II PROJELERİ

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

İM 205-İnşaat Mühendisleri için MATLAB. Irfan Turk Fatih Üniversitesi,

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY RAPORU. Deney No: 1 7 Parçalı Gösterge

ENTEGRELER (Integrated Circuits, IC) Entegre nedir, nerelerde kullanılır?...

Mekanik Oyuncak Bebek

WEB TASARIMI. Đnternet Nedir?

T.C. DÜZCE ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BMT103 ELEKTRİK DEVRE TEMELLERİ DERSİ LABORATUVARI DENEY NO: 3

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

SAYISAL DEVRE TASARIMI LABORATUVARI DENEY 1: TEMEL LOJİK KAPI KARAKTERİSTİKLERİNİN ÖLÇÜMÜ

ZTerminal KULLANMA KILAVUZU. yazılımı. USB Terminal

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Uygulama İş Akış Kaydında Koşul Tanımlamaları

Programlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

BLM 221 MANTIK DEVRELERİ

Algoritma ve Akış Diyagramları

İçerik. TBT 1003 Temel Bilgi Teknolojileri

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

VERİ TABANI YÖNETİM SİSTEMLERİ I

Yarı İletkenler ve Temel Mantıksal (Lojik) Yapılar. Bilgisayar Mühendisliğine Giriş 1

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

pfrintf fonksiyonu: Çıkışın formatlı olması ve bunun bir dosyaya yazdırılması durumlarında kullanılır. fprintf fonksiyonunun genel yazım biçimi,

TEMEL BİLGİTEKNOLOJİLERİ

DOĞRULUK TABLOLARI (TRUTH TABLE)

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

(VEYA-DEĞİL kapısı) (Exlusive OR kapısı) (Exlusive NOR kapısı)

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Digital Design HDL. Dr. Cahit Karakuş, February-2018

Mikroçita. Mikroçita Rapor 2:

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Yaz.Müh.Ders Notları #6 1

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Veri Yapıları Laboratuvarı

MEB YÖK MESLEK YÜKSEKOKULLARI PROGRAM GELİŞTİRME PROJESİ. 1. Tipik bir mikrobilgisayar sistemin yapısı ve çalışması hakkında bilgi sahibi olabilme

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

PASCAL PROGRAMLAMA DİLİ YAPISI

C PROGRAMLAMA DİLİNE GİRİŞ

E-Netsis.Net Yenilikleri

Android Studio TextView ve EditText Öğr.Gör. Utku SOBUTAY

ELK2016 SAYISAL TASARIM DERSİ LABORATUVARI DENEY NO: 2

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

SIMAN KULLANIM KILAVUZU

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

Bu deney çalışmasında kombinasyonel lojik devrelerden decoder incelenecektir.

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

Personel Programında Bordro Zarfı İçin Dizayn Desteği

Sınav Merkezi Yönetim Sistemi. Tulpar Yazılım ve Danışmanlık 1

B.Ç. / E.B. MİKROİŞLEMCİLER

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Kargo Modülü. Diğer modüller ile entegre çalışan Kargo modülü ile satış irsaliyesifaturasıoluşturduktan

Diziler İndisli Değişkenler

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

18. FLİP FLOP LAR (FLIP FLOPS)

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Transkript:

Kocaeli Universitesi Bilgisayar Mühendisliği Programlama Laboratuvarı I BLM 209 Proje #2 - Lojik Devre Benzetimi Dosya Operasyonları Üzerine Uygulama Geliştirme Arş. Gör. Süleyman Eken & Arş. Gör. Furkan Göz BAŞLANGIÇ: 29 Ekim 2018 BITIŞ : 16 Kasım 2018 PROBLEM TANIMI Bu projede, basit devre elemanlarından oluşan mantıksal bir devre kapı yayılım gecikmeleri de dikkate alınarak simule edilecektir. Entegreler (Integrated Circuit IC); elektronik elemanların bir paket haline getirilmesidir. Sayısal entegrelerin veriföylerinde (datasheet) bazı parametreler verilir: Lojik gerilim/akım seviyelerinin tanımlanması, Yükleme (çıkış) kapasitesi, Gürültü bağışıklığı, Yayılım Gecikmesi ve Yayılım Hızı, Güç Harcaması, Hız-Güç Üretimi, Akım kaynağı ve Akım yutumu, Besleme gerilimi ve Çalışma Isısı gibi. Bunlardan yayılım gecikmesi (propagation delay), dijital devrenin veya lojik kapının girişindeki değişme ile buna bağlı olarak

çıkışta meydana gelecek değişme arasındaki zaman farkına karşılık gelir ve nanosaniye (nsn) cinsinden ifade edilir. Şekil 1 de yayılma gecikmeleri temsil edilmiştir 1. Şekil 1: Yayılma gecikmesi gosterimi. DEVRE TANIMLAMA FORMATI Şekil 2: Dosya içinde devre tanımlama formatı. Bütün devreler giriş/çıkış uçlarını bildiren.giris ve.cikis keyword (anahtar kelimeleri) ile başlamalı..giris <giris listesi>.cikis <çıkış listesi> devre.txt dosyasında tanımlanan devre giriş/çıkış yapan bütün uçlar/keyword ler/rakamlar arasında tab boşluk karakteri olmalı. Her bir 1 content.lms.sabis.sakarya.edu.tr/uploads/69575/28659/bölüm_7.ppt 2

giriş/çıkış ucu ismi karakter ile başlamalı(büyük-küçük harf farketmez), içinde rakam ve underscore karakteri bulundurabilir. IN, d3, b_giris gibi. Bütün yorumlar diyez(#) karakteri ile başlar. Tek satırlık yorum vardır. Yorumlar program tarafından dikkate alınmamalı. Kapılar şu şekilde tanımlanır:.kapi <kapı tipi> <giriş sayısı> <çıkış> <giriş listesi> <kapının girişlere cevap verme süresi> Kullanılacak kapı tipleri: AND, OR, XOR, NOT, NAND, NOR Devre tanımlamaları.son anahtar kelimesi ile biter. Bir dosyanın içinde.include <baska_dosya.txt> yazılarak başka bir devre baska_dosya.txt dosyasından okunabilmelidir. Bu durumda ana devre tanımlamasının yapıldıgı dosya icine başka bir tanımlama dahil edilmiş olur. Dikkat edilmesi gereken her iki dosyadaki giris çıkış uçlarının aynı isimlendirilmesi (örnein burada b girişi) aynı giriş veya çıkışa karşı geleceğidir. Not: Dosya tipi olarak düz text dosyası (.txt uzantılı) yerine YAML (YAML Ain t Markup Language) 2 dili gibi hiyerarşik bir dosya formatı da kullanılabilir. Dikkat edilmesi gereken husus, anahtar kelimeler ve dosya içindeki akışın.txt dosyalarında olduğu gibi kalacağıdır. Şekil 3: Dosya içinde başka devre tanımlama örneği. 2 https://en.wikipedia.org/wiki/yaml 3

KULLANICI ARAYÜZÜ Mantık devresi benzetimi konsoldan çalışmalı. Kullanıcı programı ilk çalıştırdığında programınız devre.txt içindeki satırları yorumlayıp komut çalıştırabilir hale gelmelidir. Kullanıcı konsolda prompt(uyarı) karakterini > görmeli. Yani kullanıcıdan komut almaya hazır olduğunu gösteriyor. Kullanıcı aşağıdaki komutlardan birini yaptığında o komuta bağlı işlem icra edildikten sonra yeni komut için prompt(uyarı) karakterini > konsolda görmeli.(c-çıkış- komutu girilene kadar.) Komutların büyük harf veya küçük harf olması fark etmez.(not case sensitive) Bir takım komut dizisi "komut.txt dosyası içinde alt alta yer alabilir. Devre yükleme (Y) ve ilklendirme (I) komutlarından sonra H, L, S, G, G*, K, C komutları aktif olmalıdır. Tablo 1: Komut ve neyi icra edecekleri. Komut İcrası Y <devre.txt> devre.txt dosyasından devreyi yükler I deger.txt icindeki degerlerle devre ilklendirilir H <giriş ucundan biri/birileri> İlgili uç/uçları Lojik-1 yapar L <giriş ucundan biri/birileri> İlgili uç/uçları Lojik-0 yapar S Devreyi simüle eder G <giriş/çıkış ucundan biri/birileri> İlgili uç/uçların seviyesini (0 veya 1) konsolda gösterir G* Tüm uçların seviyesini (0 veya 1) konsolda gösterir K <komut.txt> komut.txt dosyası içindeki komutları konsoldan oldugu gibi icra eder C Benzetimden çıkış yapar PROGRAM NASIL ÇALIŞIYOR? Şekil 2 deki devre için "deger.txt" içindeki ilk değerler a=0, b=0, c=1, d=1, e=1, f=0 ise >Y devre.txt >I deger.txt >h b komutlarından sonra arka planda aşağıdaki olaylar meydana gelir (Şekil 4 e bakınız). 0. nsn de b-girişi 0 dan 1 e setlenmiş olur. G1(NOR) ve G2(NAND) kapıları bu olaydan etkilenir; çünkü b her iki kapı için de giriştir. G2 hesaplanır ve e çıkışı 1. nsn de 1 den 0 a setlenir. G1 in yayılım gecikmesi G3(XOR) ün yayılım gecikmesinden büyük olduğu için çıkışı 2. nsn de f çıkışı 0 dan 1 e setlenir. 4

G1 hesaplanır ve d çıkışı 3. nsn de 1 den 0 a setlenir. G1 kapısı G3 ü tetiklediği icin 4. nsn de f çıkışı 1 den 0 a setlenir. Şekil 4: Olay akış sırası. > S komutu ile yukarıdaki olaylar kullanıcıya gösterilmiş olur. 0ns: b 0->1 1ns: e 1->0 2ns: f 0->1 3ns: d 1->0 4ns: f 1->0 > G* komutu ile tüm girdi ve çıktıların son durumları gösterilir. a: 0 b: 1 c: 1 d: 0 e: 0 f: 0 Puanlama Tablo 2 de ozetlenmistir. PUANLAMA TABLOSU Tablo 2: Puanlama Kriterleri. İster devre.txt içindekilere göre komutları icra etme devre.txt içinde baska_dosya.txt varlığında komutları icra etme C komutu calıştırılana kadar konsolda yazılan komutlar ve bunlara karşılık gelen tüm çıktıların log.txt dosyasına tarih-saat-dk-sn seklinde kaydedilmesi Rapor (her şey tam ise) Puan 40 puan 60 puan 20 puan 20 puan Not 1: Puanlama tablosunda ilk iki satırdan biri puan olarak alınabilir. Proje C veya C++ dilleri kullanılarak gerçekleştirilecektir. Not 2: Proje teslimi ile ilgili hususlar: Proje sunum gününde rapor (hard copy) teslim edilmesi gerekmektedir. Rapor IEEE formatında (önceki yıllarda verilen formatta) akış diyagramı veya yalancı kod içeren, özet, giriş, yöntem, örnek sonuçlar ve kaynakça bölümünden oluşmalıdır. 5

Dersin takibi projenin teslimi dahil edestek.kocaeli.edu.tr sistemi üzerinden yapılacaktır. edestek.kocaeli.edu.tr sitesinde belirtilen tarihten sonra getirilen projeler kabul edilmeyecektir. Proje ile ilgili sorular edestek.kocaeli.edu.tr sitesindeki forum üzerinden Arş. Gör. Süleyman Eken veya Arş. Gör. Furkan Göz e sorulabilir. Demo tarihleri daha sonra duyurulacaktır. Demo sırasında algoritma, geliştirdiğiniz kodun çeşitli kısımlarının ne amaçla yazıldığı ve geliştirme ortamı hakkında sorular sorulabilir. Kullandığınız herhangi bir satır kodu açıklamanız istenebilir. Bu proje de daha önce oluşturmuş olduğunuz grup arkadaşınızla devam edeceksiniz (eğer grup yaptı iseniz). 6